孫朝隨,劉 青,胡 桐,郭忠文
(中國海洋大學(xué) 1.信息科學(xué)與工程學(xué)院; 2.圖書館,山東 青島 266100)
?
海洋大數(shù)據(jù)處理軟件體系結(jié)構(gòu)設(shè)計?
孫朝隨1,劉 青2,胡 桐1,郭忠文1
(中國海洋大學(xué) 1.信息科學(xué)與工程學(xué)院; 2.圖書館,山東 青島 266100)
針對海洋數(shù)據(jù)格式與海洋信息應(yīng)用系統(tǒng)的異構(gòu)性,提出一種基于移動代碼(Mobile code)的海洋大數(shù)據(jù)處理軟件體系結(jié)構(gòu)。首先,利用統(tǒng)一的網(wǎng)絡(luò)服務(wù)接口與數(shù)據(jù)交換格式,規(guī)范海洋信息應(yīng)用系統(tǒng)之間的數(shù)據(jù)訪問與共享。其次,通過移動代碼將海洋大數(shù)據(jù)的處理過程移至云端,提高信息處理效率。應(yīng)用示例實現(xiàn)了異構(gòu)海洋信息應(yīng)用系統(tǒng)間的互操作,并且縮短了海量數(shù)據(jù)的處理時間,驗證了該體系結(jié)構(gòu)在海洋大數(shù)據(jù)處理中的通用性與有效性。
海洋大數(shù)據(jù); 軟件體系結(jié)構(gòu); 移動代碼
大數(shù)據(jù)處理技術(shù)是當(dāng)前和未來一段時間內(nèi)計算機領(lǐng)域的重要研究課題之一,在物聯(lián)網(wǎng)、云計算及軍事安全方面具有重要作用。大數(shù)據(jù)具有數(shù)據(jù)量大、數(shù)據(jù)結(jié)構(gòu)多樣、查詢分析復(fù)雜等特點[1]。目前,大數(shù)據(jù)處理在互聯(lián)網(wǎng)方面已經(jīng)取得了較好的研究成果[2]。
在“數(shù)字海洋”及國家海洋公益項目建設(shè)成果基礎(chǔ)上,中國的海洋信息化水平有了長足的發(fā)展,涉及到海洋物理、海洋生物、海洋化學(xué)、海洋氣象、海洋經(jīng)濟、海岸帶等多個研究領(lǐng)域。然而,不同領(lǐng)域數(shù)據(jù)采集的方法與設(shè)備各異,并且數(shù)據(jù)存儲與處理也形式多樣,主要體現(xiàn)在:(1)海洋數(shù)據(jù)格式多樣,存在很多海洋行業(yè)專業(yè)文件格式標(biāo)準(zhǔn);(2)不同海洋觀測平臺的觀測設(shè)備、通信協(xié)議、數(shù)據(jù)質(zhì)控及預(yù)處理方法各不相同;(3)用戶需求的復(fù)雜多樣性,包括海洋數(shù)據(jù)管理、海洋業(yè)務(wù)管理、海洋科學(xué)研究及海洋管理決策等;(4)已有各類海洋信息應(yīng)用系統(tǒng)存在異構(gòu)性:在國家海洋局等相關(guān)涉海業(yè)務(wù)部門,已經(jīng)存在多個海洋數(shù)據(jù)管理及業(yè)務(wù)應(yīng)用信息系統(tǒng),這些系統(tǒng)面向不同業(yè)務(wù),各自相對獨立、結(jié)構(gòu)各異,互操作困難。隨著大量結(jié)構(gòu)化或非結(jié)構(gòu)化的海洋數(shù)據(jù)不斷累積,各類海洋信息應(yīng)用系統(tǒng)對海洋數(shù)據(jù)交換與共享的需求日漸顯著,系統(tǒng)間的互操作性與海量數(shù)據(jù)的處理速度成為海洋大數(shù)據(jù)處理的2個重要問題。
本文根據(jù)海洋數(shù)據(jù)格式多樣的特點,提出了一種基于移動代碼(Mobile code)的海洋大數(shù)據(jù)處理軟件體系結(jié)構(gòu),在滿足海洋大數(shù)據(jù)處理性能需求的同時為各類海洋信息應(yīng)用系統(tǒng)之間的互操作提供支持。
隨著人類海洋活動的拓展,綜合性海洋觀測網(wǎng)絡(luò)已經(jīng)在構(gòu)建之中,包括部署在岸基的各類海洋臺站、錨定和漂流的各類海洋觀測平臺、海洋科學(xué)調(diào)查作業(yè)、海底觀測網(wǎng)和航空遙感等。綜合性海洋觀測網(wǎng)絡(luò)通過長期、定點、連續(xù)、多要素的海洋觀測獲取到海量的觀測數(shù)據(jù)。
1.1 海洋大數(shù)據(jù)的特點
1.1.1 高實時性與動態(tài)變化 海洋觀測目前以長期連續(xù)監(jiān)測和階段連續(xù)監(jiān)測為主,監(jiān)測時間長,部屬范圍廣,產(chǎn)生的數(shù)據(jù)量大。由于綜合性海洋觀測網(wǎng)絡(luò)的任務(wù)需求與天氣變化等原因,海洋數(shù)據(jù)流具有高實時性特點。各類綜合性海洋觀測網(wǎng)絡(luò)的互聯(lián)和協(xié)作也將產(chǎn)生動態(tài)變化的大數(shù)據(jù)流。
1.1.2 多源異構(gòu)性 由于海洋觀測涉及的學(xué)科較多,包括物理海洋、海洋氣象、海洋生物、海洋化學(xué)、海洋地質(zhì)、海洋遙感等,資料內(nèi)容多樣,年限跨度大且數(shù)據(jù)格式不統(tǒng)一。另外,由于存在多種海洋觀測手段,數(shù)據(jù)的存儲方式和語義描述也不一致,沒有統(tǒng)一的標(biāo)準(zhǔn)規(guī)范。在不同的應(yīng)用場景中,數(shù)據(jù)處理和使用的方式不同也給海洋數(shù)據(jù)的檢索和分析帶來了困難。
1.1.3 交互服務(wù)模型復(fù)雜 海洋觀測數(shù)據(jù)往往被應(yīng)用于各類不同的海洋信息應(yīng)用系統(tǒng)中[3],實踐的應(yīng)用需求差異決定了各應(yīng)用系統(tǒng)中組件之間的交互接口各異。當(dāng)新的應(yīng)用需求產(chǎn)生時,開發(fā)人員需要對數(shù)據(jù)庫進(jìn)行重新設(shè)計與代碼重構(gòu)。隨著海洋觀測網(wǎng)絡(luò)的大規(guī)模接入,對各類海洋信息應(yīng)用系統(tǒng)的集成難度越來越大。
1.1.4 數(shù)據(jù)處理分析模型普適性差 對于海洋觀測采集到的大量高維數(shù)據(jù)的不同應(yīng)用場景,參與計算的參數(shù)、計算任務(wù)以及計算結(jié)果的內(nèi)容存在較大差別,使得構(gòu)建具有普適性的大規(guī)模海洋數(shù)據(jù)處理應(yīng)用較為困難。面對龐大的數(shù)據(jù)量,海洋大數(shù)據(jù)處理的高實時性需求也給數(shù)據(jù)的處理分析方法提出了更高要求。
1.2 海洋大數(shù)據(jù)的處理過程
1.2.1 數(shù)據(jù)采集與傳輸 海洋環(huán)境觀測利用多種儀器或觀測平臺對海域進(jìn)行高密度高頻率的立體觀測[4](包括岸站觀測、浮標(biāo)觀測、船舶觀測、衛(wèi)星遙感、航空遙感、雷達(dá)監(jiān)測等),以便獲得有關(guān)要素的數(shù)據(jù)資料。目前,海洋觀測數(shù)據(jù)由集中、間斷性傳輸逐漸向?qū)崟r、連續(xù)性傳輸發(fā)展。海洋數(shù)據(jù)的采集與傳輸過程見圖1,監(jiān)測對象即各類海洋要素。監(jiān)測儀器或平臺采集到的時間序列數(shù)據(jù)在經(jīng)過格式轉(zhuǎn)換與質(zhì)量控制后,通過有線或者無線的方式由網(wǎng)絡(luò)服務(wù)接口進(jìn)行錄入并存儲。統(tǒng)一的網(wǎng)絡(luò)服務(wù)接口(Web service interfaces)提供規(guī)范的數(shù)據(jù)獲取與傳輸功能,通過Web發(fā)現(xiàn)、訪問獲得實時的數(shù)據(jù)資源,后文將介紹各類網(wǎng)絡(luò)服務(wù)接口的概要設(shè)計。
圖1 數(shù)據(jù)采集與傳輸Fig.1 Data acquisition and transmission
1.2.2 數(shù)據(jù)存儲與檢索 由網(wǎng)絡(luò)服務(wù)接口錄入的大量海洋數(shù)據(jù)一般采用分布式數(shù)據(jù)庫(如Hbase[5])或分布式文件系統(tǒng)(如GFS[6]、HDFS[5])進(jìn)行存儲,由主服務(wù)器負(fù)責(zé)維護(hù)海洋數(shù)據(jù)的元數(shù)據(jù)與系統(tǒng)日志,而由塊服務(wù)器存儲實際數(shù)據(jù)。在數(shù)據(jù)處理過程中采用MapReduce編程模型[7]對任務(wù)進(jìn)行調(diào)度以便提高海量數(shù)據(jù)處理能力(見圖2)。
元數(shù)據(jù)庫的主要作用是存儲各種異構(gòu)海洋數(shù)據(jù)的描述信息,以便在構(gòu)建各類海洋信息應(yīng)用系統(tǒng)時實現(xiàn)互操作。采用統(tǒng)一的元數(shù)據(jù)存儲格式也有利于對各類異構(gòu)海洋數(shù)據(jù)進(jìn)行查詢檢索。
1.2.3 數(shù)據(jù)集成 統(tǒng)一的網(wǎng)絡(luò)服務(wù)接口使得海洋數(shù)據(jù)集成得到簡化,并且能同時提供實時與非實時的數(shù)據(jù)集成功能。數(shù)據(jù)集成主要包含兩個方面,一是對監(jiān)測數(shù)據(jù)的元數(shù)據(jù)按照統(tǒng)一格式進(jìn)行整合,二是將產(chǎn)品數(shù)據(jù)按照服務(wù)接口規(guī)范進(jìn)行發(fā)布,避免信息孤島的形成。
圖2 數(shù)據(jù)存儲與檢索Fig.2 Data storage and retrieval
2.1 系統(tǒng)框架
本文提出的海洋大數(shù)據(jù)處理軟件體系結(jié)構(gòu)的整體框架見圖3,該框架結(jié)構(gòu)在面向服務(wù)框架基礎(chǔ)上將各類異構(gòu)的海洋信息應(yīng)用系統(tǒng)無縫集成,然后利用移動代碼(Mobile code)實現(xiàn)海洋大數(shù)據(jù)的云端處理,縮短海量數(shù)據(jù)的處理時間。
圖3 系統(tǒng)框架
該框架中,各層之間采用統(tǒng)一的網(wǎng)絡(luò)服務(wù)接口進(jìn)行數(shù)據(jù)交換,包括在數(shù)據(jù)采集過程中,通過注冊服務(wù)在元數(shù)據(jù)庫中添加相應(yīng)的數(shù)據(jù)描述,并將采集所得的數(shù)據(jù)以文件或數(shù)據(jù)集的形式存儲到分布式文件系統(tǒng)或分布式數(shù)據(jù)庫中。數(shù)據(jù)訪問層主要由維護(hù)元數(shù)據(jù)庫的主服務(wù)器與存儲實際數(shù)據(jù)的塊服務(wù)器組成,應(yīng)用服務(wù)層包括各類異構(gòu)的海洋信息應(yīng)用系統(tǒng)。來自應(yīng)用服務(wù)層的數(shù)據(jù)訪問請求根據(jù)元數(shù)據(jù)庫中的描述信息被重定向到存儲實際數(shù)據(jù)的塊服務(wù)器。應(yīng)用服務(wù)層在獲得數(shù)據(jù)后,根據(jù)元數(shù)據(jù)庫中的描述對數(shù)據(jù)格式進(jìn)行解析??紤]到客戶端的處理能力相對較弱并且傳輸海量數(shù)據(jù)所需時間較長,該框架通過移動代碼將海洋大數(shù)據(jù)的處理過程由客戶端移至云端(即應(yīng)用服務(wù)層),由具有較高運算能力的應(yīng)用服務(wù)器進(jìn)行處理之后將結(jié)果返回至用戶,從而使得數(shù)據(jù)的處理與傳輸時間顯著降低。另外,采用移動代碼方式在云端處理數(shù)據(jù)也避免了系統(tǒng)的重復(fù)開發(fā),用戶通過網(wǎng)絡(luò)服務(wù)接口完成代碼的上傳與更新。
2.2 網(wǎng)絡(luò)服務(wù)接口 基于面向服務(wù)框架的網(wǎng)絡(luò)服務(wù)接口是構(gòu)成海洋大數(shù)據(jù)處理軟件體系結(jié)構(gòu)的核心組成部分。由于采用統(tǒng)一的服務(wù)接口名稱(圖4為部分目錄服務(wù)接口列表)與數(shù)據(jù)交換格式,諸多復(fù)雜的異構(gòu)海洋信息應(yīng)用系統(tǒng)之間能夠?qū)崿F(xiàn)彼此透明與互操作,并且能夠提供實時數(shù)據(jù)的集成功能。各網(wǎng)絡(luò)服務(wù)接口按照功能劃分為以下幾個類別:
(1)目錄服務(wù)接口:提供數(shù)據(jù)目錄的注冊訪問與數(shù)據(jù)查新功能。
(2)基礎(chǔ)數(shù)據(jù)訪問服務(wù)接口:提供海洋基礎(chǔ)數(shù)據(jù)的錄入與查詢獲取功能。
(3)產(chǎn)品數(shù)據(jù)訪問服務(wù)接口:提供產(chǎn)品數(shù)據(jù)的查詢獲取與發(fā)布功能。
(4)實時海洋數(shù)據(jù)獲取服務(wù)接口:提供海洋環(huán)境要素實時觀測數(shù)據(jù)的自動發(fā)現(xiàn)與傳輸功能。
(5)數(shù)據(jù)轉(zhuǎn)換服務(wù)接口:提供文件格式轉(zhuǎn)換與數(shù)據(jù)抽稀功能。
(6)移動代碼管理服務(wù)接口:提供移動代碼的上傳、更新與下載功能。
圖4 部分目錄服務(wù)接口列表Fig.4 Category service interfaces(partial)
在實際的海洋數(shù)據(jù)處理應(yīng)用的開發(fā)過程中,基于本文提出的海洋大數(shù)據(jù)處理軟件體系結(jié)構(gòu),構(gòu)建并部署了一個海洋數(shù)據(jù)集成與應(yīng)用系統(tǒng),并以此檢驗該體系結(jié)構(gòu)在海洋數(shù)據(jù)集成過程中的通用性與有效性。該項目包括2個實際的子任務(wù):海洋調(diào)查與區(qū)域數(shù)值模擬。海洋調(diào)查按照規(guī)劃的站位進(jìn)行了定時定點觀測,采集大量海洋要素數(shù)據(jù)。區(qū)域數(shù)值模擬用于動態(tài)模擬調(diào)查海域的海洋要素物理變化特征,包括溫度、鹽度、潮流、波浪等變量。這兩類數(shù)據(jù)主要以文件格式為主。海洋調(diào)查數(shù)據(jù)的錄入首先通過目錄訪問接口進(jìn)行注冊,然后通過基礎(chǔ)數(shù)據(jù)訪問服務(wù)接口存儲至分布式文件系統(tǒng),并將元數(shù)據(jù)錄入至元數(shù)據(jù)庫。區(qū)域數(shù)值模擬則首先通過基礎(chǔ)數(shù)據(jù)訪問服務(wù)接口獲取所需的海洋調(diào)查數(shù)據(jù),然后將數(shù)值模擬結(jié)果通過產(chǎn)品數(shù)據(jù)訪問服務(wù)接口進(jìn)行發(fā)布。客戶端通過移動代碼將本地的數(shù)據(jù)可視化處理推至應(yīng)用服務(wù)器,由特定的應(yīng)用服務(wù)器對解析后的基礎(chǔ)數(shù)據(jù)與產(chǎn)品數(shù)據(jù)進(jìn)行處理,將可視化結(jié)果傳回客戶端顯示。圖5(a)顯示了可視化的系統(tǒng)用戶接口,通過選取感興趣的調(diào)查航次查看相應(yīng)觀測站位的儀器與要素信息。圖5(b)為數(shù)值模擬數(shù)據(jù)查詢界面,用于即時查看指定要素在某一時間的可視化輸出。由于采用了統(tǒng)一的基礎(chǔ)數(shù)據(jù)與產(chǎn)品數(shù)據(jù)網(wǎng)絡(luò)服務(wù)接口,該應(yīng)用示例在數(shù)據(jù)集成過程中的測試難度被顯著降低。并且,采用移動代碼方式在云端處理海量數(shù)據(jù)不僅提高了系統(tǒng)性能,也維持了較低的開發(fā)成本,縮短了開發(fā)周期。圖6顯示了由客戶端下載數(shù)據(jù)并進(jìn)行可視化與采用本文提出的海洋大數(shù)據(jù)處理軟件體系結(jié)構(gòu)由云端進(jìn)行可視化的系統(tǒng)性能對比結(jié)果,采用本文提出的海洋大數(shù)據(jù)處理軟件體系結(jié)構(gòu)顯著縮短了平均任務(wù)完成時間。
圖5 用戶接口示例
圖6 系統(tǒng)性能對比
本文針對諸多海洋數(shù)據(jù)格式與各類海洋信息應(yīng)用系統(tǒng)的異構(gòu)特點,提出了一種基于移動代碼(Mobile code)的海洋大數(shù)據(jù)處理軟件體系結(jié)構(gòu),其主要設(shè)計思想是:利用統(tǒng)一的網(wǎng)絡(luò)服務(wù)接口與數(shù)據(jù)交換格式,規(guī)范海洋信息應(yīng)用系統(tǒng)之間的數(shù)據(jù)訪問與共享行為,實現(xiàn)異構(gòu)海洋信息應(yīng)用系統(tǒng)間的互操作;通過移動代碼將海洋大數(shù)據(jù)的處理過程移至云端,利用云端處理能力縮短海量數(shù)據(jù)的處理時間。本文通過應(yīng)用示例實現(xiàn)了異構(gòu)海洋信息應(yīng)用系統(tǒng)之間的互操作,并且縮短了海量數(shù)據(jù)的處理時間,證明了該體系結(jié)構(gòu)在海洋大數(shù)據(jù)處理中的通用性與有效性。今后將對已有的網(wǎng)絡(luò)服務(wù)接口進(jìn)行細(xì)化并根據(jù)實際的應(yīng)用需求添加系統(tǒng)安全服務(wù)接口與管理接口。
[1] 倪明選, 羅吳蔓. 數(shù)據(jù)爆炸時代的技術(shù)變革 [J].中國計算機學(xué)會通訊, 2011, 7(7): 12-20.
[2] Sakr Sherif, Liu Anna, Daniel M, et al. A survey of large scale data management approaches in cloud environments [J]. IEEE Communications Surveys & Tutorials, 2011, 13(3): 61-65.
[3] Guo Zhongwen, Chen Pengpeng, Zhang Hao, et al. IMA: an integrated monitoring architecture with sensor networks [J]. IEEE Transactions on Instruments and Measurement, 2012: 61(5): 1287-1295.
[4] 馬毅.我國海洋預(yù)報觀測系統(tǒng)概述 [J]. 海洋預(yù)報, 2008, 1: 56-62.
[5] Shvachko K, Huang H, Radia S, et al. The hadoop distributed file system [C]. Incline v: Proceedings of the 26th IEEE Symposium on Massive Storage Systems and Technologies(MSST2010), 2010.
[6] Ghemawat S, Gobioff H, Leung ST. The Google file system [C]. Proceedings of the 19th ACM Symp on Operating Systems Principles, New York: ACM Press, 2003: 29-43.
[7] Dean, Jeffrey, Sanjay Ghemawat. MapReduce: Simplified Data Processing on Large Clusters [C]. Sam Fran cisco: Proceedings of the 6th conference on Symposium on Operating Systems Design & Implementation (OSDI 2004), 2004: 1-13.
責(zé)任編輯 陳呈超
Software Architecture for Oceanographic Big Data Processing
SUN Chao-Sui1, LIU Qing2, HU Tong1, GUO Zhong-Wen1
(1. College of Information Science and Engineering; 2. Library, Ocean University of China, Qingdao 266100, China)
This paper presented software architecture for oceanographic big data processing to address the integration problem among heterogeneous marine-oriented information systems. The proposed software architecture firstly took advantage of unified exchanging data format and web service interfaces to regulate the access and sharing behavior between heterogeneous marine-oriented information systems, and then pushed data processing procedure to cloud computing by means of mobile code in order to improve data processing efficiency. Application examples prove that such software architecture has a set of advantages on scalability and versatility, and significantly shortens the time of massive data processing.
oceanographic big data;software architecture;mobile code
國家海洋公益項目(200905030-4)資助
2013-08-20;
2014-02-20
孫朝隨(1965-),男,博士生。E-mail: guozhw@ouc.edu.cn
TP393
A
1672-5174(2015)02-134-04
10.16441/j.cnki.hdxb.20130193