999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于科學工作流的海量海底觀測數據處理研究

2017-05-12 11:29:13宋靖東湯友華
海洋技術學報 2017年2期
關鍵詞:數據處理科學

宋靖東,湯友華,李 秀,馬 輝

(清華大學深圳研究生院 信息學部,廣東 深圳 518055)

基于科學工作流的海量海底觀測數據處理研究

宋靖東,湯友華,李 秀,馬 輝

(清華大學深圳研究生院 信息學部,廣東 深圳 518055)

近些年來,在處理由海底觀測網站收集到的龐大觀測數據的研究中,需引入新的科學工具來支持所需的高性能分布式計算環境。而科學工作流在先進信息基礎設施研究中得到廣泛重視,成為未來科研環境的具體實現工具。針對這一問題,提出了基于Kepler科學工作流的海量海底觀測數據處理解決方案,并且研究了系統調用Hadoop集群進行海量數據處理的兩種方式及其優缺點;通過實驗,對比分析了該兩種方式與傳統Java編程模式調用Hadoop集群進行數據處理的效率問題,證明了Kepler調用集群的高效性。

科學工作流;Hadoop集群;Kepler

隨著科學技術的進步,現代大型海底觀測網的數據采集能力遠遠超于傳統的海底采集方式,在海底電纜的電力保障下可以長期不間斷地進行數據采集與傳輸,單個大型的海底觀測網每日獲取的數據量就已達到GB級,年管理數據達到TB級,成為不可忽視的海量數據資源。海量的觀測數據為科學研究提供了新的機遇,為更多的未解問題提供了探索依據,但是同樣面臨著大數據處理帶來的急需新的科學工具的問題。雖然硬件技術在不斷發展,但是單純的單節點計算機完全不可能完成海量數據的運行處理,集群技術、分布式計算技術成為人們的研究重點。同時海洋科學家更需要一種可以屏蔽底層計算設計、直接方便調用的計算工具完成其專業領域內的相關研究的工具。

目前研究者針對海洋領域內各個方向的數據處理研究工作較多。如文獻 [1]基于SOA(service oriented architecture)的概念,通過在設計中引入本體技術完成對異構數據的統一描述,從而實現海洋領域的信息集成與共享。文獻[2]通過在臺風海洋網絡氣象信息系統中引入時空數據模型實現對多源異構氣象數據的一致描述與集成融合。文獻[3]基于大型網絡數據庫Oracle構建了一個ARGO(array for real-time geostrophic oceanography)海洋觀察數據存儲模型,并結合GIS(geographical information system)和遙感技術實現了海量ARGO數據的高效存儲、管理和分析。文獻[4]基于改進的卡爾曼平滑器,通過檢潮儀的海平面測量數據估計冰川的融化速度。文獻[5]設計了一個逐步校正的模型用于融合SWAN (simulating waves nearshore)模型產生的海浪預測數據和部分實測的海浪數據,從而提高對海面狀況估計的準確率。這些研究工作促進了針對海洋某一領域的研究或小范圍數據處理的進步,但不能滿足對海洋大數據進行處理的相關要求。本文針對海底觀測所遇到的海量數據處理問題,通過對目前科學工作流系統的研究,提出了基于科學工作流的數據處理方案,并且研究了在科學工作流平臺上進行Hadoop集群調用的具體方式以及對比傳統集群調用的效率問題。

1 相關技術

1.1 科學工作流

科學工作流(Scientific Workflow,SWF)借鑒于傳統業務工作流的思想進化而來[6],針對目前新的科研環境,將科學研究過程中數據下載、分析、計算、可視化等流程步驟組合在一起實現數據的處理與計算,它可以簡化科研調用流程,減少科研人員在復雜計算相關工作上的精力消耗。如文獻[7]構建了一個基于科學工作流的鐵路行車安全評價系統,在行車數據自動收集融合的基礎上建立了一個模糊綜合評價的科學工作流程,實現自動對狀態不佳的列車進行跟蹤和評價,對有安全隱患的列車進行預警,并為管理者提供決策支持。文獻[8]針對渦度相關技術獲取的碳通量觀測數據體量大、計算復雜、算法的更新和共享難以實現等問題開發了一個基于web service和科學工作流技術的碳通量數據處理系統,用以實現數據的整合、算法的共享、重用以及通量數據的自動化計算。文獻[9]將科學工作流引入到月球數據預處理中,通過改進工作流定義元模型并詳細設計數據模型和過程模型,解決了數據預處理的流程靈活配置和中間結果展示等問題,方便了科研人員對算法進行設計和改進。

經過十幾年的發展,目前各大科研組織在各自的實際應用中設計和開發了很多成熟的科學工作流管理系統,其中Kepler[10]由UC Berkeley和San Diego超級計算中心聯合開發的一套科學工作流系統,它基于Ptolemy II系統,以Java為底層語言,將要執行的過程步驟進行可視化的表達,從而使科研人員只需通過簡單地拖拽各個功能模塊就可以組成實驗所需的科學工作流,大大減輕了研究人員的負擔。各個功能模塊之間通過各自的輸入輸出接口進行連接,用戶可以很清晰地看到整個流程的執行順序,而且Kepler提供了多種引導器如串行引導器、并行引導器等來決定整個流程的執行順序。同時Kepler系統是一個開源的系統,可以方便地調用web服務和遠程數據服務從而可以針對特定的領域進行二次開發。

1.2 Kepler的通用數據讀取轉換模塊

Kepler提供了比較全面的數據讀取轉換模塊actor供科研人員進行科學工作流的搭建。目前,Kepler支持 EML(Ecological Metadata Language)、 Darwin Core等元數據規范,可以使用相應的actor對數據集進行元數據的解析及輸出。對于沒有采用元數據描述的數據,如EXCEL表格數據、Web頁面表格數據等,Kepler提供了Binary File Reader,URL To Local File,Line Reader,File To Array Convert等多種數據讀取轉換模塊。此外,Kepler可以獲取與DAP(data access protocol)2.0兼容數據資源;擁有DataTurbine actor可以從DataTurbine服務器上獲取數據;支持FTP文件傳輸協議,可以實現文件的上傳和下載;支持Oracle、MySQL以及本地與遠程MS Access等數據庫,可以使用相應的actor實現對這些關系型數據庫的訪問、查詢和檢索;對于圖像數據,可以使用ImageJ actor等圖像數據進行讀取編輯等操作。

1.3 MapReduce與Hadoop

MapReduce是由美國谷歌公司提出的一種并行化用于處理和生成海量數據的編程模型[11],由于其簡單易用性、容錯能力等特點已經在各領域普遍得到應用。MapReduce框架最大的特點并不是計算程序并行化而是數據并行化,從而達到縮短時間的目的,與MapReduce框架相配套使用的是分布式文件系統,數據被分布到不同存儲節點,而且計算節點與存儲節點是同一節點,使得計算程序可以直接調用在本地的數據進行運行,減少了跨節點的IO傳輸開銷。MapReduce框架的簡易操作在于其提供了兩個函數即map函數和reduce函數,如公式(1)~(2),編程人員只需要簡單修改操作就可以實現并行化應用。

map函數和 reduce函數對數據都采用鍵/值對,即key/value對的形式進行處理的,作業執行時,數據被分割成若干數據塊分布到各個節點,map函數并行地處理這些數據塊,從中提取key/value對作為輸入并產生中間key/value對存儲到本地磁盤,然后框架對中間key/value對進行混洗(Shuffle)、排序(sort),具有相同key的中間結果聚集在一起,最后將結果傳輸給reduce函數,map函數與reduce函數都需要事前自定義完成指定的計算功能。MapReduce框架的數據處理流程圖如圖1所示。

圖1 MapReduce框架的數據處理流程

Hadoop是Apache基金會下的一個開源項目,它實現了谷歌公司提出的分布式文件系統以及MapReduce計算框架,其分布式文件系統稱之為HDFS(Hadoop Distributed Filesystem)。該項目具備高可靠性、高擴展性、高效性以及成本低、操作簡單等特點,已經被國內外多家大型公司采用,用于處理海量客戶與產品數據。如文獻[12-14]通過在各自的研究領域利用MapReduce將大量計算并行化,從而顯著提高了算法的運行效率。

2 科學工作流調用方式

Hadoop可以方便地在價格低廉的計算硬件上進行部署,實現條件簡單,同時MapReduce分布式編程模型將復雜并行化程序設計簡化為兩個函數的編寫過程,允許沒有分布式系統開發經驗的人員進行并行開發。但是對專業領域的科學家,如海洋學科學研究人員來說,參照MapReduce分布式編程模型的說明文檔編寫出正確的計算機程序是非常困難的,而采用科學工作流的方式屏蔽底層代碼為專業領域科學家使用Hadoop集群提供了便利途徑。以下將詳細介紹科學工作流與Hadoop集群相結合的方法。

2.1 MapReduce Actor應用方式

文獻[15]提出了一個Kepler+Hadoop的通用架構,使得用戶利用MapReduce編程模型可以方便地表示以及高效地執行各自領域內的專業分析。MapReduce模型控件現在已經在Kepler科學工作流系統中使用,其實際應用框架如圖2所示。Kepler科學工作流系統底層開發人員將MapReduce的相關復雜程序進行封裝,留出操作數據的輸入輸出地址供終端用戶使用,同時該actor給出map函數與reduce函數的輸入輸出接口,而兩個函數的具體實現可以根據不同的專業領域內的知識進行開發,從而構造出各種不同類型的專業領域并行化actor。而科學工作流開發者根據底層人員開發的各類基于MapReduce模型的actor構造出不同的專業工作流。

在該框架下,首先設計了一個名為MapReduce的復合控件/actor,其與整個計算過程中的其余工作流相連,而map函數與reduce函數的功能實現為其兩條子工作流。在每條子工作流中又設計有專門的actor與map函數、reduce函數的接口相對應,分別為 MapInput,MapOutput與 ReduceInput,Reduce-Output。map函數、reduce函數需要在這兩條子工作流中完成自定義。具體設計如圖3所示,圖為Kepler提供的單詞計數操作。

圖2 MapReduce應用框架

圖3 MapReduce actor的使用

2.2 Web服務應用方式

Web服務技術具有高度的互操作性,并且根據它所實現的應用可以在任意的機器或者平臺上不需借助第三方的幫助就可實現數據的交換或者應用的集成。利用MapReduce編程模型的代碼開發者只需要將所寫源代碼發布成Web服務即可。目前主流的Web服務開源框架有Apache Axis1,Apache Axis2,Codehaus XFire,Apache CXF,JWS等,其中Axis2與CXF最為常用。

還以單詞計數為例,采用Kepler科學工作流系統提供的WebService actor,右擊打開屬性填入Web服務地址就可調用該程序功能,添加輸入、輸出以及流程引導器director即可構成完整工作流,實現海量數據分析,完成單詞計數,流程圖與結果如圖4所示。

圖4 單詞計數Web服務調用與結果

采用該種方式調用Hadoop集群,對于專業領域的科學家來說,操作簡便,只需知道所需功能的Web服務地址,添加輸入輸出即可,但是要求處理機與Web服務器在同一網絡環境內,同時因為服務已被封裝,用戶不能再做任何的修改。

3 實驗分析

本文已經研究了如何在Kepler科學工作流系統進行Hadoop集群的調用,進一步需要研究在所開發的系統上進行調用的效率問題。相比于傳統的在Hadoop集群上直接執行Java程序,系統調用Hadoop集群必然存在各種軟件調用與初始化開支,單論在執行上花費時間也必然要比傳統方法多。文獻[9]已經研究了采用MapReduce actor的方式調用Hadoop集群進行數據分析的效率問題,通過與傳統方法的對比,得出如下三個結論:(1)使用MapReduce actor的方式比傳統方法所花費的執行時間多數倍,主要的花費開支在于Kepler引擎系統的初始化以及Map和Reduce兩個子工作流的調用,但是隨著集群節點的增加,兩種方式所花費的時間都會減少,系統調用方式與傳統方式的耗時時間差成倍下降;(2)當Map任務的輸入數據逐漸增加時,兩種方式處理速度都會變快,當輸入過大時則又逐漸變慢。輸入變大則意味著Map階段處理時間長,開支占用的百分比減少,當過大時即所需Map任務數減少,并行度下降;(3)當Map和Reduce兩個子工作流的處理非常復雜時,在引擎初始化以及工作流調用上的開支占總花費時間的比例隨著其復雜度的增加逐漸下降。本文主要分析第二種Web服務方式進行Hadoop集群調用的效率問題,同樣采用實驗對比的方式進行。

3.1 實驗環境

實驗環境為在100 Mbps的局域網中配置的五節點的Hadoop集群,操作系統皆為64位的Centos6.4版本。主節點master處理器為四核3.3 GHz Intel Xeon CPU,8 GB內存,500 GB硬盤;從節點1/slave1與從節點2/slave2的處理器為四核3.1 GHz Intel i5 CPU,4 GB內存,250 GB硬盤;從節點3/slave3與從節點4/slave4的處理器為四核3.1 GHz Intel i5 CPU,4 GB內存,500 GB硬盤。

3.2 效率對比實驗結果與分析

實驗對比了Web服務方式與傳統Java編程兩種方式在大規模海底圖像分割問題上的時間消耗。所采用的圖像分割方法為基于MapReduce的快速模糊C均值算法FFCM[16],模糊C均值算法采用隸屬度將圖像的像素點進行聚類,但由于面臨數據量過大的問題,采用灰度直方圖進行改進,加快目標函數的收斂即為FFCM,而基于MapReduce的FFCM則為算法的進一步改進,將圖像數據在多個節點分割,實現并行化算法執行。實驗采用的是fish4knowledge項目提供的海底視頻圖像,使用Hadoop的MapReduce框架處理圖像數據需要使用到專門的圖像處理庫HIPI(Hadoop Image Processing Library),其提供了將大量圖像存儲到分布式文件系統HDFS上的方法,一個HIB(Hipi Image Bundle)文件即為存儲在HDFS上一個圖片集合。

圖5 五節點Hadoop集群處理時間

實驗中構造了若干圖像文件,每個文件所含圖片張數由4 000到16 000張不等,文件大小從240 MB到970 MB不等,首先圖像文件安排到五節點的Hadoop集群上運行,實驗對比結果如圖5所示,可以得到類似的結果,采用Kepler科學工作流系統調用Web服務使用Hadoop集群執行花費的時間約比傳統Java編程直接在集群上運行多1~3倍的時間,系統調用的花費開支(包括網絡傳輸)占了主要部分。實驗中采用單獨一臺主機調用Web服務,Web服務代碼存放在Hadoop集群的主節點上。

考慮科學工作流的可擴展性,將原任務重新安排到3個節點的Hadoop集群上運行,并且與上一實驗五節點結果進行對比,得到表1。由表可知,節點的增加,可以加速運算的進行,但是系統調用的開支在總的執行時間中仍占較大部分,主要因為實驗中所用分割算法較為簡單。

表1 Hadoop集群運算對比結果

同時本文比較了兩種Kepler系統調用方式的效率,仍舊采用單詞計數程序,集群節點為3個,兩種方式的具體工作流設計如圖3與圖4所示。HDFS默認的一個文件塊大小為64 MB,所以實驗設計文件大小從96.6 MB到782 MB不等,所得實驗結果如圖6所示。

由圖可知,采用MapReduce actor的方式花費的時間最長,Kepler引擎的初始化與多次Map/Reduce子工作流的調用占用了絕大部分,采用Web服務調用的方式花費時間相對較小,沒有子工作流的調用,程序執行過程與傳統Java編程方式基本相同,耗時大約是傳統方式的2~3倍,但是采用MapReduce actor的方式用戶只需在Hadoop集群直接運行工作流程序即可,不關心集群的啟動等問題,而采用Web服務調用的方式,用戶需要首先人工啟動Hadoop集群,需要了解基本的Hadoop集群運行規則以及會使用命令行輸入命令。兩種Kepler系統調用的方式雖然比傳統方式用時偏長,但是省去了大量的程序構建時間,用戶可以簡單地采用Kepler科學工作流系統提供的圖形化操作界面直接進行領域知識分析。

圖6 3種方式集群處理時間比較

4 結束語

海洋觀測數據的處理具有數據處理規模大,數據處理性能要求高、數據處理流程復雜以及協同工作等特點,因此研究能夠有效利用和處理海洋觀測的大數據,對整個海洋觀測資源的有效整合和管理,實現數據處理無縫協同工作的數據處理工具是十分必要的。本文提出了基于科學工作流Kepler系統的海洋觀測大數據處理方法,能夠實現幫助海洋領域專業科學家乃至其他專業領域科學家有效使用先進大數據處理技術,提高其工作效率。

[1]楊鵬,王文俊,董存祥.海洋領域信息集成與共享研究[J].計算機工程與應用,2010,26:194-197.

[2]陳鉆,李海勝.新型臺風海洋網絡氣象信息系統的設計與實現[J].應用氣象學報,2012,23(2):245-250.

[3]劉南,劉仁義,尹勁峰,等.ARGO海洋衛星觀測數據處理方法及應用[J].中國圖象圖形學報:A輯,2005,9(11):1386-1391.

[4]HayC C,MorrowE,Kopp R E,et al.Estimatingthe sources ofglobal sea level rise with data assimilation techniques[J].Proceedings of the National AcademyofSciences,2013,110(Supplement 1):3692-3699.

[5]Butunoiu D,Rusu E.Wave modeling with data assimilation to support the navigation in the Black Sea close to the Romanian ports[C]//Proceedingofthe International Conference on Traffic and Transport Engineering,2014:27-28.

[6]Deelman E,Gannon D,Shields M,et al.Workflows and e-Science:An overviewofworkflowsystemfeatures and capabilities[J].Future Generation Computer Systems,2009,25(5):528-540.

[7]杜彥華,吳秀麗,錢程,等.基于科學工作流的鐵路行車安全評價系統研究[J].鐵道學報,2012,34(12):76-82.

[8]劉敏,何洪林,吳楠,等.基于Web Service和科學工作流技術的碳通量數據處理系統實現研究 [J].科研信息化技術與應用, 2013(2):50-58.

[9]譚旭,劉建軍,李春來.月球數據預處理工作流模型的構建及應用[J].吉林大學學報:工學版,2015,45(6):2007-2013.

[10]Altintas I,Berkley C,Jaeger E,et al.Kepler:An extensible system for design and execution of scientific workflows[C]//Proceedingsofthe16thInternationalConferenceonScientificandStatisticalDatabaseManagement,SantoriniIsland,2004:423-424.

[11]Dean J,Ghemawat S.MapReduce:simplified data processing on large clusters[J].Communications of the ACM,2008,51(1): 107-113.

[12]胡愛娜.基于MapReduce的分布式EM算法的研究與應用[J].科技通報,2013(6):68-70.

[13]張曉強.MapReduce在Web日志挖掘中的應用[D].成都:電子科技大學,2011.

[14]吳文忠,易平.MapReduce在分布式搜索引擎中的應用[J].計算機系統應用,2012,21(2):249-251.

[15]Wang J,Crawl D,Altintas I.Kepler+Hadoop:a general architecture facilitating data-intensive applications in scientific workflow systems[C]//Proceedings ofthe 4th Workshop on Workflows in Support ofLarge-Scale Science.ACM,2009:12.

[16]Li X,Song J,Zhang F,et al.MapReduce-based fast fuzzy c-means algorithm for large-scale underwater image segmentation[J]. Future Generation Computer Systems,2016,65:90-101.

Research on Massive Seafloor Observation Data Processing Based on Scientific Workflow

SONG Jing-dong,TANG You-hua,LI Xiu,MA Hui
Division of Information Science&Technology,Graduate School at Shenzhen,Tsinghua University,Shenzhen 518055,Guangdong Province,China

In recent years,faced with the problem of processing massive observing data collected by the seafloor observatory networks,new scientific tools are needed to be introduced to support the high-performance and distributed computing environment.Scientific workflow has been widely attached great importance to research advanced information infrastructure,and it has become a concrete realization tool for the future research environment.To solve this problem,this paper puts forward a new solution for processing massive seafloor observing data based on the Kepler scientific workflow,and studies the advantages and drawbacks of the two methods applying for massive data processing with the use of Hadoop clusters.Compared with the traditional Java programming mode,the experiment results prove that the efficiency of the two methods using Hadoop cluster is higher,and the Kepler scientific workflow will result in high efficiency.

scientific workflow;Hadoop clusters;Kepler

TP311.5

A

1003-2029(2017)02-0065-06

10.3969/j.issn.1003-2029.2017.02.011

2016-05-27

國家高技術研究發展計劃(863計劃)重大項目資助(2012AA09A408);國家自然科學基金資助項目(71171121);深圳市基礎研究及技術開發項目資助(JCYJ20151117173236192);基于傳感網的海洋觀測集成平臺的研發項目資助(CXZZ20140902110505864);海底觀測網岸基控制運行與數據管理系統配套項目資助(GJHS20120702113257111)

宋靖東(1991-),男,碩士,主要研究方向為密集計算、大數據處理。E-mail:tyhcjf@163.com

李秀(1971-),女,教授,主要研究方向為海洋信息。E-mail:li.xiu@sz.tsinghua.edu.cn

猜你喜歡
數據處理科學
認知診斷缺失數據處理方法的比較:零替換、多重插補與極大似然估計法*
心理學報(2022年4期)2022-04-12 07:38:02
ILWT-EEMD數據處理的ELM滾動軸承故障診斷
水泵技術(2021年3期)2021-08-14 02:09:20
點擊科學
點擊科學
科學大爆炸
小小藝術家(2019年6期)2019-06-24 17:39:44
科學
MATLAB在化學工程與工藝實驗數據處理中的應用
科學拔牙
Matlab在密立根油滴實驗數據處理中的應用
基于POS AV610與PPP的車輛導航數據處理
主站蜘蛛池模板: 亚洲最新网址| 天天爽免费视频| 色哟哟精品无码网站在线播放视频| 九九九精品成人免费视频7| 999在线免费视频| 九九久久精品国产av片囯产区| 丁香六月激情综合| 91精品福利自产拍在线观看| 国产欧美日韩资源在线观看| 亚洲一级毛片在线播放| swag国产精品| 26uuu国产精品视频| 亚洲人成高清| 91无码人妻精品一区二区蜜桃| 成人噜噜噜视频在线观看| 制服丝袜 91视频| 在线观看精品国产入口| 亚洲人成在线免费观看| 久久亚洲国产最新网站| 综合久久五月天| 欧美中文字幕在线播放| 久久精品国产91久久综合麻豆自制| 一本久道久久综合多人| 亚洲成年人片| 四虎亚洲精品| 色偷偷一区| 伊人久久大线影院首页| 香蕉久久国产超碰青草| 国产成人精品视频一区二区电影| 国产av色站网站| 国产美女在线观看| 国产一区三区二区中文在线| 黄色网址免费在线| 国产欧美亚洲精品第3页在线| 久久久精品久久久久三级| P尤物久久99国产综合精品| 99re在线免费视频| 人妻精品久久无码区| 欧美激情视频一区| 不卡视频国产| 亚洲综合极品香蕉久久网| 亚洲国产午夜精华无码福利| 国产91精品最新在线播放| 国产欧美日韩专区发布| 亚洲天堂成人在线观看| 成人精品午夜福利在线播放| 国产视频欧美| 久久青草视频| 日韩国产精品无码一区二区三区 | 蝴蝶伊人久久中文娱乐网| 手机永久AV在线播放| 日韩一区二区在线电影| 538国产视频| 伊人婷婷色香五月综合缴缴情| 色欲国产一区二区日韩欧美| 亚洲欧美国产视频| 欧美激情,国产精品| 一级毛片免费的| 91视频国产高清| 成人一区在线| 香蕉伊思人视频| 国产情侣一区二区三区| 国产日韩精品欧美一区灰| 88av在线| 国产精品分类视频分类一区| 一级毛片免费高清视频| 日本不卡视频在线| 中国毛片网| 国产精品久久久免费视频| 国产成人精品亚洲77美色| 强奷白丝美女在线观看| 亚洲日韩精品伊甸| 亚洲精品午夜无码电影网| 播五月综合| 精品国产黑色丝袜高跟鞋| 国产精品不卡片视频免费观看| 夜夜操天天摸| 在线播放精品一区二区啪视频| 欧洲免费精品视频在线| a毛片免费看| 久久伊人久久亚洲综合| 亚洲国产综合自在线另类|