宋靖東,湯友華,李 秀,馬 輝
(清華大學(xué)深圳研究生院 信息學(xué)部,廣東 深圳 518055)
基于科學(xué)工作流的海量海底觀測數(shù)據(jù)處理研究
宋靖東,湯友華,李 秀,馬 輝
(清華大學(xué)深圳研究生院 信息學(xué)部,廣東 深圳 518055)
近些年來,在處理由海底觀測網(wǎng)站收集到的龐大觀測數(shù)據(jù)的研究中,需引入新的科學(xué)工具來支持所需的高性能分布式計(jì)算環(huán)境。而科學(xué)工作流在先進(jìn)信息基礎(chǔ)設(shè)施研究中得到廣泛重視,成為未來科研環(huán)境的具體實(shí)現(xiàn)工具。針對這一問題,提出了基于Kepler科學(xué)工作流的海量海底觀測數(shù)據(jù)處理解決方案,并且研究了系統(tǒng)調(diào)用Hadoop集群進(jìn)行海量數(shù)據(jù)處理的兩種方式及其優(yōu)缺點(diǎn);通過實(shí)驗(yàn),對比分析了該兩種方式與傳統(tǒng)Java編程模式調(diào)用Hadoop集群進(jìn)行數(shù)據(jù)處理的效率問題,證明了Kepler調(diào)用集群的高效性。
科學(xué)工作流;Hadoop集群;Kepler
隨著科學(xué)技術(shù)的進(jìn)步,現(xiàn)代大型海底觀測網(wǎng)的數(shù)據(jù)采集能力遠(yuǎn)遠(yuǎn)超于傳統(tǒng)的海底采集方式,在海底電纜的電力保障下可以長期不間斷地進(jìn)行數(shù)據(jù)采集與傳輸,單個大型的海底觀測網(wǎng)每日獲取的數(shù)據(jù)量就已達(dá)到GB級,年管理數(shù)據(jù)達(dá)到TB級,成為不可忽視的海量數(shù)據(jù)資源。海量的觀測數(shù)據(jù)為科學(xué)研究提供了新的機(jī)遇,為更多的未解問題提供了探索依據(jù),但是同樣面臨著大數(shù)據(jù)處理帶來的急需新的科學(xué)工具的問題。雖然硬件技術(shù)在不斷發(fā)展,但是單純的單節(jié)點(diǎn)計(jì)算機(jī)完全不可能完成海量數(shù)據(jù)的運(yùn)行處理,集群技術(shù)、分布式計(jì)算技術(shù)成為人們的研究重點(diǎn)。同時海洋科學(xué)家更需要一種可以屏蔽底層計(jì)算設(shè)計(jì)、直接方便調(diào)用的計(jì)算工具完成其專業(yè)領(lǐng)域內(nèi)的相關(guān)研究的工具。
目前研究者針對海洋領(lǐng)域內(nèi)各個方向的數(shù)據(jù)處理研究工作較多。如文獻(xiàn) [1]基于SOA(service oriented architecture)的概念,通過在設(shè)計(jì)中引入本體技術(shù)完成對異構(gòu)數(shù)據(jù)的統(tǒng)一描述,從而實(shí)現(xiàn)海洋領(lǐng)域的信息集成與共享。文獻(xiàn)[2]通過在臺風(fēng)海洋網(wǎng)絡(luò)氣象信息系統(tǒng)中引入時空數(shù)據(jù)模型實(shí)現(xiàn)對多源異構(gòu)氣象數(shù)據(jù)的一致描述與集成融合。文獻(xiàn)[3]基于大型網(wǎng)絡(luò)數(shù)據(jù)庫Oracle構(gòu)建了一個ARGO(array for real-time geostrophic oceanography)海洋觀察數(shù)據(jù)存儲模型,并結(jié)合GIS(geographical information system)和遙感技術(shù)實(shí)現(xiàn)了海量ARGO數(shù)據(jù)的高效存儲、管理和分析。文獻(xiàn)[4]基于改進(jìn)的卡爾曼平滑器,通過檢潮儀的海平面測量數(shù)據(jù)估計(jì)冰川的融化速度。文獻(xiàn)[5]設(shè)計(jì)了一個逐步校正的模型用于融合SWAN (simulating waves nearshore)模型產(chǎn)生的海浪預(yù)測數(shù)據(jù)和部分實(shí)測的海浪數(shù)據(jù),從而提高對海面狀況估計(jì)的準(zhǔn)確率。這些研究工作促進(jìn)了針對海洋某一領(lǐng)域的研究或小范圍數(shù)據(jù)處理的進(jìn)步,但不能滿足對海洋大數(shù)據(jù)進(jìn)行處理的相關(guān)要求。本文針對海底觀測所遇到的海量數(shù)據(jù)處理問題,通過對目前科學(xué)工作流系統(tǒng)的研究,提出了基于科學(xué)工作流的數(shù)據(jù)處理方案,并且研究了在科學(xué)工作流平臺上進(jìn)行Hadoop集群調(diào)用的具體方式以及對比傳統(tǒng)集群調(diào)用的效率問題。
1.1 科學(xué)工作流
科學(xué)工作流(Scientific Workflow,SWF)借鑒于傳統(tǒng)業(yè)務(wù)工作流的思想進(jìn)化而來[6],針對目前新的科研環(huán)境,將科學(xué)研究過程中數(shù)據(jù)下載、分析、計(jì)算、可視化等流程步驟組合在一起實(shí)現(xiàn)數(shù)據(jù)的處理與計(jì)算,它可以簡化科研調(diào)用流程,減少科研人員在復(fù)雜計(jì)算相關(guān)工作上的精力消耗。如文獻(xiàn)[7]構(gòu)建了一個基于科學(xué)工作流的鐵路行車安全評價系統(tǒng),在行車數(shù)據(jù)自動收集融合的基礎(chǔ)上建立了一個模糊綜合評價的科學(xué)工作流程,實(shí)現(xiàn)自動對狀態(tài)不佳的列車進(jìn)行跟蹤和評價,對有安全隱患的列車進(jìn)行預(yù)警,并為管理者提供決策支持。文獻(xiàn)[8]針對渦度相關(guān)技術(shù)獲取的碳通量觀測數(shù)據(jù)體量大、計(jì)算復(fù)雜、算法的更新和共享難以實(shí)現(xiàn)等問題開發(fā)了一個基于web service和科學(xué)工作流技術(shù)的碳通量數(shù)據(jù)處理系統(tǒng),用以實(shí)現(xiàn)數(shù)據(jù)的整合、算法的共享、重用以及通量數(shù)據(jù)的自動化計(jì)算。文獻(xiàn)[9]將科學(xué)工作流引入到月球數(shù)據(jù)預(yù)處理中,通過改進(jìn)工作流定義元模型并詳細(xì)設(shè)計(jì)數(shù)據(jù)模型和過程模型,解決了數(shù)據(jù)預(yù)處理的流程靈活配置和中間結(jié)果展示等問題,方便了科研人員對算法進(jìn)行設(shè)計(jì)和改進(jìn)。
經(jīng)過十幾年的發(fā)展,目前各大科研組織在各自的實(shí)際應(yīng)用中設(shè)計(jì)和開發(fā)了很多成熟的科學(xué)工作流管理系統(tǒng),其中Kepler[10]由UC Berkeley和San Diego超級計(jì)算中心聯(lián)合開發(fā)的一套科學(xué)工作流系統(tǒng),它基于Ptolemy II系統(tǒng),以Java為底層語言,將要執(zhí)行的過程步驟進(jìn)行可視化的表達(dá),從而使科研人員只需通過簡單地拖拽各個功能模塊就可以組成實(shí)驗(yàn)所需的科學(xué)工作流,大大減輕了研究人員的負(fù)擔(dān)。各個功能模塊之間通過各自的輸入輸出接口進(jìn)行連接,用戶可以很清晰地看到整個流程的執(zhí)行順序,而且Kepler提供了多種引導(dǎo)器如串行引導(dǎo)器、并行引導(dǎo)器等來決定整個流程的執(zhí)行順序。同時Kepler系統(tǒng)是一個開源的系統(tǒng),可以方便地調(diào)用web服務(wù)和遠(yuǎn)程數(shù)據(jù)服務(wù)從而可以針對特定的領(lǐng)域進(jìn)行二次開發(fā)。
1.2 Kepler的通用數(shù)據(jù)讀取轉(zhuǎn)換模塊
Kepler提供了比較全面的數(shù)據(jù)讀取轉(zhuǎn)換模塊actor供科研人員進(jìn)行科學(xué)工作流的搭建。目前,Kepler支持 EML(Ecological Metadata Language)、 Darwin Core等元數(shù)據(jù)規(guī)范,可以使用相應(yīng)的actor對數(shù)據(jù)集進(jìn)行元數(shù)據(jù)的解析及輸出。對于沒有采用元數(shù)據(jù)描述的數(shù)據(jù),如EXCEL表格數(shù)據(jù)、Web頁面表格數(shù)據(jù)等,Kepler提供了Binary File Reader,URL To Local File,Line Reader,F(xiàn)ile To Array Convert等多種數(shù)據(jù)讀取轉(zhuǎn)換模塊。此外,Kepler可以獲取與DAP(data access protocol)2.0兼容數(shù)據(jù)資源;擁有DataTurbine actor可以從DataTurbine服務(wù)器上獲取數(shù)據(jù);支持FTP文件傳輸協(xié)議,可以實(shí)現(xiàn)文件的上傳和下載;支持Oracle、MySQL以及本地與遠(yuǎn)程MS Access等數(shù)據(jù)庫,可以使用相應(yīng)的actor實(shí)現(xiàn)對這些關(guān)系型數(shù)據(jù)庫的訪問、查詢和檢索;對于圖像數(shù)據(jù),可以使用ImageJ actor等圖像數(shù)據(jù)進(jìn)行讀取編輯等操作。
1.3 MapReduce與Hadoop
MapReduce是由美國谷歌公司提出的一種并行化用于處理和生成海量數(shù)據(jù)的編程模型[11],由于其簡單易用性、容錯能力等特點(diǎn)已經(jīng)在各領(lǐng)域普遍得到應(yīng)用。MapReduce框架最大的特點(diǎn)并不是計(jì)算程序并行化而是數(shù)據(jù)并行化,從而達(dá)到縮短時間的目的,與MapReduce框架相配套使用的是分布式文件系統(tǒng),數(shù)據(jù)被分布到不同存儲節(jié)點(diǎn),而且計(jì)算節(jié)點(diǎn)與存儲節(jié)點(diǎn)是同一節(jié)點(diǎn),使得計(jì)算程序可以直接調(diào)用在本地的數(shù)據(jù)進(jìn)行運(yùn)行,減少了跨節(jié)點(diǎn)的IO傳輸開銷。MapReduce框架的簡易操作在于其提供了兩個函數(shù)即map函數(shù)和reduce函數(shù),如公式(1)~(2),編程人員只需要簡單修改操作就可以實(shí)現(xiàn)并行化應(yīng)用。
map函數(shù)和 reduce函數(shù)對數(shù)據(jù)都采用鍵/值對,即key/value對的形式進(jìn)行處理的,作業(yè)執(zhí)行時,數(shù)據(jù)被分割成若干數(shù)據(jù)塊分布到各個節(jié)點(diǎn),map函數(shù)并行地處理這些數(shù)據(jù)塊,從中提取key/value對作為輸入并產(chǎn)生中間key/value對存儲到本地磁盤,然后框架對中間key/value對進(jìn)行混洗(Shuffle)、排序(sort),具有相同key的中間結(jié)果聚集在一起,最后將結(jié)果傳輸給reduce函數(shù),map函數(shù)與reduce函數(shù)都需要事前自定義完成指定的計(jì)算功能。MapReduce框架的數(shù)據(jù)處理流程圖如圖1所示。
圖1 MapReduce框架的數(shù)據(jù)處理流程
Hadoop是Apache基金會下的一個開源項(xiàng)目,它實(shí)現(xiàn)了谷歌公司提出的分布式文件系統(tǒng)以及MapReduce計(jì)算框架,其分布式文件系統(tǒng)稱之為HDFS(Hadoop Distributed Filesystem)。該項(xiàng)目具備高可靠性、高擴(kuò)展性、高效性以及成本低、操作簡單等特點(diǎn),已經(jīng)被國內(nèi)外多家大型公司采用,用于處理海量客戶與產(chǎn)品數(shù)據(jù)。如文獻(xiàn)[12-14]通過在各自的研究領(lǐng)域利用MapReduce將大量計(jì)算并行化,從而顯著提高了算法的運(yùn)行效率。
Hadoop可以方便地在價格低廉的計(jì)算硬件上進(jìn)行部署,實(shí)現(xiàn)條件簡單,同時MapReduce分布式編程模型將復(fù)雜并行化程序設(shè)計(jì)簡化為兩個函數(shù)的編寫過程,允許沒有分布式系統(tǒng)開發(fā)經(jīng)驗(yàn)的人員進(jìn)行并行開發(fā)。但是對專業(yè)領(lǐng)域的科學(xué)家,如海洋學(xué)科學(xué)研究人員來說,參照MapReduce分布式編程模型的說明文檔編寫出正確的計(jì)算機(jī)程序是非常困難的,而采用科學(xué)工作流的方式屏蔽底層代碼為專業(yè)領(lǐng)域科學(xué)家使用Hadoop集群提供了便利途徑。以下將詳細(xì)介紹科學(xué)工作流與Hadoop集群相結(jié)合的方法。
2.1 MapReduce Actor應(yīng)用方式
文獻(xiàn)[15]提出了一個Kepler+Hadoop的通用架構(gòu),使得用戶利用MapReduce編程模型可以方便地表示以及高效地執(zhí)行各自領(lǐng)域內(nèi)的專業(yè)分析。MapReduce模型控件現(xiàn)在已經(jīng)在Kepler科學(xué)工作流系統(tǒng)中使用,其實(shí)際應(yīng)用框架如圖2所示。Kepler科學(xué)工作流系統(tǒng)底層開發(fā)人員將MapReduce的相關(guān)復(fù)雜程序進(jìn)行封裝,留出操作數(shù)據(jù)的輸入輸出地址供終端用戶使用,同時該actor給出map函數(shù)與reduce函數(shù)的輸入輸出接口,而兩個函數(shù)的具體實(shí)現(xiàn)可以根據(jù)不同的專業(yè)領(lǐng)域內(nèi)的知識進(jìn)行開發(fā),從而構(gòu)造出各種不同類型的專業(yè)領(lǐng)域并行化actor。而科學(xué)工作流開發(fā)者根據(jù)底層人員開發(fā)的各類基于MapReduce模型的actor構(gòu)造出不同的專業(yè)工作流。
在該框架下,首先設(shè)計(jì)了一個名為MapReduce的復(fù)合控件/actor,其與整個計(jì)算過程中的其余工作流相連,而map函數(shù)與reduce函數(shù)的功能實(shí)現(xiàn)為其兩條子工作流。在每條子工作流中又設(shè)計(jì)有專門的actor與map函數(shù)、reduce函數(shù)的接口相對應(yīng),分別為 MapInput,MapOutput與 ReduceInput,Reduce-Output。map函數(shù)、reduce函數(shù)需要在這兩條子工作流中完成自定義。具體設(shè)計(jì)如圖3所示,圖為Kepler提供的單詞計(jì)數(shù)操作。
圖2 MapReduce應(yīng)用框架
圖3 MapReduce actor的使用
2.2 Web服務(wù)應(yīng)用方式
Web服務(wù)技術(shù)具有高度的互操作性,并且根據(jù)它所實(shí)現(xiàn)的應(yīng)用可以在任意的機(jī)器或者平臺上不需借助第三方的幫助就可實(shí)現(xiàn)數(shù)據(jù)的交換或者應(yīng)用的集成。利用MapReduce編程模型的代碼開發(fā)者只需要將所寫源代碼發(fā)布成Web服務(wù)即可。目前主流的Web服務(wù)開源框架有Apache Axis1,Apache Axis2,Codehaus XFire,Apache CXF,JWS等,其中Axis2與CXF最為常用。
還以單詞計(jì)數(shù)為例,采用Kepler科學(xué)工作流系統(tǒng)提供的WebService actor,右擊打開屬性填入Web服務(wù)地址就可調(diào)用該程序功能,添加輸入、輸出以及流程引導(dǎo)器director即可構(gòu)成完整工作流,實(shí)現(xiàn)海量數(shù)據(jù)分析,完成單詞計(jì)數(shù),流程圖與結(jié)果如圖4所示。
圖4 單詞計(jì)數(shù)Web服務(wù)調(diào)用與結(jié)果
采用該種方式調(diào)用Hadoop集群,對于專業(yè)領(lǐng)域的科學(xué)家來說,操作簡便,只需知道所需功能的Web服務(wù)地址,添加輸入輸出即可,但是要求處理機(jī)與Web服務(wù)器在同一網(wǎng)絡(luò)環(huán)境內(nèi),同時因?yàn)榉?wù)已被封裝,用戶不能再做任何的修改。
本文已經(jīng)研究了如何在Kepler科學(xué)工作流系統(tǒng)進(jìn)行Hadoop集群的調(diào)用,進(jìn)一步需要研究在所開發(fā)的系統(tǒng)上進(jìn)行調(diào)用的效率問題。相比于傳統(tǒng)的在Hadoop集群上直接執(zhí)行Java程序,系統(tǒng)調(diào)用Hadoop集群必然存在各種軟件調(diào)用與初始化開支,單論在執(zhí)行上花費(fèi)時間也必然要比傳統(tǒng)方法多。文獻(xiàn)[9]已經(jīng)研究了采用MapReduce actor的方式調(diào)用Hadoop集群進(jìn)行數(shù)據(jù)分析的效率問題,通過與傳統(tǒng)方法的對比,得出如下三個結(jié)論:(1)使用MapReduce actor的方式比傳統(tǒng)方法所花費(fèi)的執(zhí)行時間多數(shù)倍,主要的花費(fèi)開支在于Kepler引擎系統(tǒng)的初始化以及Map和Reduce兩個子工作流的調(diào)用,但是隨著集群節(jié)點(diǎn)的增加,兩種方式所花費(fèi)的時間都會減少,系統(tǒng)調(diào)用方式與傳統(tǒng)方式的耗時時間差成倍下降;(2)當(dāng)Map任務(wù)的輸入數(shù)據(jù)逐漸增加時,兩種方式處理速度都會變快,當(dāng)輸入過大時則又逐漸變慢。輸入變大則意味著Map階段處理時間長,開支占用的百分比減少,當(dāng)過大時即所需Map任務(wù)數(shù)減少,并行度下降;(3)當(dāng)Map和Reduce兩個子工作流的處理非常復(fù)雜時,在引擎初始化以及工作流調(diào)用上的開支占總花費(fèi)時間的比例隨著其復(fù)雜度的增加逐漸下降。本文主要分析第二種Web服務(wù)方式進(jìn)行Hadoop集群調(diào)用的效率問題,同樣采用實(shí)驗(yàn)對比的方式進(jìn)行。
3.1 實(shí)驗(yàn)環(huán)境
實(shí)驗(yàn)環(huán)境為在100 Mbps的局域網(wǎng)中配置的五節(jié)點(diǎn)的Hadoop集群,操作系統(tǒng)皆為64位的Centos6.4版本。主節(jié)點(diǎn)master處理器為四核3.3 GHz Intel Xeon CPU,8 GB內(nèi)存,500 GB硬盤;從節(jié)點(diǎn)1/slave1與從節(jié)點(diǎn)2/slave2的處理器為四核3.1 GHz Intel i5 CPU,4 GB內(nèi)存,250 GB硬盤;從節(jié)點(diǎn)3/slave3與從節(jié)點(diǎn)4/slave4的處理器為四核3.1 GHz Intel i5 CPU,4 GB內(nèi)存,500 GB硬盤。
3.2 效率對比實(shí)驗(yàn)結(jié)果與分析
實(shí)驗(yàn)對比了Web服務(wù)方式與傳統(tǒng)Java編程兩種方式在大規(guī)模海底圖像分割問題上的時間消耗。所采用的圖像分割方法為基于MapReduce的快速模糊C均值算法FFCM[16],模糊C均值算法采用隸屬度將圖像的像素點(diǎn)進(jìn)行聚類,但由于面臨數(shù)據(jù)量過大的問題,采用灰度直方圖進(jìn)行改進(jìn),加快目標(biāo)函數(shù)的收斂即為FFCM,而基于MapReduce的FFCM則為算法的進(jìn)一步改進(jìn),將圖像數(shù)據(jù)在多個節(jié)點(diǎn)分割,實(shí)現(xiàn)并行化算法執(zhí)行。實(shí)驗(yàn)采用的是fish4knowledge項(xiàng)目提供的海底視頻圖像,使用Hadoop的MapReduce框架處理圖像數(shù)據(jù)需要使用到專門的圖像處理庫HIPI(Hadoop Image Processing Library),其提供了將大量圖像存儲到分布式文件系統(tǒng)HDFS上的方法,一個HIB(Hipi Image Bundle)文件即為存儲在HDFS上一個圖片集合。
圖5 五節(jié)點(diǎn)Hadoop集群處理時間
實(shí)驗(yàn)中構(gòu)造了若干圖像文件,每個文件所含圖片張數(shù)由4 000到16 000張不等,文件大小從240 MB到970 MB不等,首先圖像文件安排到五節(jié)點(diǎn)的Hadoop集群上運(yùn)行,實(shí)驗(yàn)對比結(jié)果如圖5所示,可以得到類似的結(jié)果,采用Kepler科學(xué)工作流系統(tǒng)調(diào)用Web服務(wù)使用Hadoop集群執(zhí)行花費(fèi)的時間約比傳統(tǒng)Java編程直接在集群上運(yùn)行多1~3倍的時間,系統(tǒng)調(diào)用的花費(fèi)開支(包括網(wǎng)絡(luò)傳輸)占了主要部分。實(shí)驗(yàn)中采用單獨(dú)一臺主機(jī)調(diào)用Web服務(wù),Web服務(wù)代碼存放在Hadoop集群的主節(jié)點(diǎn)上。
考慮科學(xué)工作流的可擴(kuò)展性,將原任務(wù)重新安排到3個節(jié)點(diǎn)的Hadoop集群上運(yùn)行,并且與上一實(shí)驗(yàn)五節(jié)點(diǎn)結(jié)果進(jìn)行對比,得到表1。由表可知,節(jié)點(diǎn)的增加,可以加速運(yùn)算的進(jìn)行,但是系統(tǒng)調(diào)用的開支在總的執(zhí)行時間中仍占較大部分,主要因?yàn)閷?shí)驗(yàn)中所用分割算法較為簡單。
表1 Hadoop集群運(yùn)算對比結(jié)果
同時本文比較了兩種Kepler系統(tǒng)調(diào)用方式的效率,仍舊采用單詞計(jì)數(shù)程序,集群節(jié)點(diǎn)為3個,兩種方式的具體工作流設(shè)計(jì)如圖3與圖4所示。HDFS默認(rèn)的一個文件塊大小為64 MB,所以實(shí)驗(yàn)設(shè)計(jì)文件大小從96.6 MB到782 MB不等,所得實(shí)驗(yàn)結(jié)果如圖6所示。
由圖可知,采用MapReduce actor的方式花費(fèi)的時間最長,Kepler引擎的初始化與多次Map/Reduce子工作流的調(diào)用占用了絕大部分,采用Web服務(wù)調(diào)用的方式花費(fèi)時間相對較小,沒有子工作流的調(diào)用,程序執(zhí)行過程與傳統(tǒng)Java編程方式基本相同,耗時大約是傳統(tǒng)方式的2~3倍,但是采用MapReduce actor的方式用戶只需在Hadoop集群直接運(yùn)行工作流程序即可,不關(guān)心集群的啟動等問題,而采用Web服務(wù)調(diào)用的方式,用戶需要首先人工啟動Hadoop集群,需要了解基本的Hadoop集群運(yùn)行規(guī)則以及會使用命令行輸入命令。兩種Kepler系統(tǒng)調(diào)用的方式雖然比傳統(tǒng)方式用時偏長,但是省去了大量的程序構(gòu)建時間,用戶可以簡單地采用Kepler科學(xué)工作流系統(tǒng)提供的圖形化操作界面直接進(jìn)行領(lǐng)域知識分析。
圖6 3種方式集群處理時間比較
海洋觀測數(shù)據(jù)的處理具有數(shù)據(jù)處理規(guī)模大,數(shù)據(jù)處理性能要求高、數(shù)據(jù)處理流程復(fù)雜以及協(xié)同工作等特點(diǎn),因此研究能夠有效利用和處理海洋觀測的大數(shù)據(jù),對整個海洋觀測資源的有效整合和管理,實(shí)現(xiàn)數(shù)據(jù)處理無縫協(xié)同工作的數(shù)據(jù)處理工具是十分必要的。本文提出了基于科學(xué)工作流Kepler系統(tǒng)的海洋觀測大數(shù)據(jù)處理方法,能夠?qū)崿F(xiàn)幫助海洋領(lǐng)域?qū)I(yè)科學(xué)家乃至其他專業(yè)領(lǐng)域科學(xué)家有效使用先進(jìn)大數(shù)據(jù)處理技術(shù),提高其工作效率。
[1]楊鵬,王文俊,董存祥.海洋領(lǐng)域信息集成與共享研究[J].計(jì)算機(jī)工程與應(yīng)用,2010,26:194-197.
[2]陳鉆,李海勝.新型臺風(fēng)海洋網(wǎng)絡(luò)氣象信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].應(yīng)用氣象學(xué)報(bào),2012,23(2):245-250.
[3]劉南,劉仁義,尹勁峰,等.ARGO海洋衛(wèi)星觀測數(shù)據(jù)處理方法及應(yīng)用[J].中國圖象圖形學(xué)報(bào):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]杜彥華,吳秀麗,錢程,等.基于科學(xué)工作流的鐵路行車安全評價系統(tǒng)研究[J].鐵道學(xué)報(bào),2012,34(12):76-82.
[8]劉敏,何洪林,吳楠,等.基于Web Service和科學(xué)工作流技術(shù)的碳通量數(shù)據(jù)處理系統(tǒng)實(shí)現(xiàn)研究 [J].科研信息化技術(shù)與應(yīng)用, 2013(2):50-58.
[9]譚旭,劉建軍,李春來.月球數(shù)據(jù)預(yù)處理工作流模型的構(gòu)建及應(yīng)用[J].吉林大學(xué)學(xué)報(bào):工學(xué)版,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算法的研究與應(yīng)用[J].科技通報(bào),2013(6):68-70.
[13]張曉強(qiáng).MapReduce在Web日志挖掘中的應(yīng)用[D].成都:電子科技大學(xué),2011.
[14]吳文忠,易平.MapReduce在分布式搜索引擎中的應(yīng)用[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,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
國家高技術(shù)研究發(fā)展計(jì)劃(863計(jì)劃)重大項(xiàng)目資助(2012AA09A408);國家自然科學(xué)基金資助項(xiàng)目(71171121);深圳市基礎(chǔ)研究及技術(shù)開發(fā)項(xiàng)目資助(JCYJ20151117173236192);基于傳感網(wǎng)的海洋觀測集成平臺的研發(fā)項(xiàng)目資助(CXZZ20140902110505864);海底觀測網(wǎng)岸基控制運(yùn)行與數(shù)據(jù)管理系統(tǒng)配套項(xiàng)目資助(GJHS20120702113257111)
宋靖東(1991-),男,碩士,主要研究方向?yàn)槊芗?jì)算、大數(shù)據(jù)處理。E-mail:tyhcjf@163.com
李秀(1971-),女,教授,主要研究方向?yàn)楹Q笮畔?。E-mail:li.xiu@sz.tsinghua.edu.cn