宋苗苗,李文慶,王文彥,劉世萱,王曉燕,苗斌
(齊魯工業(yè)大學(xué)(山東省科學(xué)院),山東省科學(xué)院海洋儀器儀表研究所,山東省海洋監(jiān)測(cè)儀器裝備技術(shù)重點(diǎn)實(shí)驗(yàn)室,國家海洋監(jiān)測(cè)設(shè)備工程技術(shù)研究中心,山東 青島 266001)
海洋監(jiān)測(cè)是環(huán)境監(jiān)測(cè)的重要組成部分,包括傳感器數(shù)據(jù)采集、數(shù)據(jù)傳輸、數(shù)據(jù)接收與存儲(chǔ)、數(shù)據(jù)發(fā)布與共享等,經(jīng)過數(shù)十年的積累,產(chǎn)生了大量的時(shí)空監(jiān)測(cè)數(shù)據(jù),但是普遍存在數(shù)據(jù)共享程度不高、甚至是無共享的問題,嚴(yán)重影響了相關(guān)組織和部門的協(xié)作和面向國際、公眾的社會(huì)化服務(wù)能力。廣義的數(shù)據(jù)共享包括數(shù)據(jù)的開放式訪問、網(wǎng)絡(luò)發(fā)布、下載、互操作、引用、語義關(guān)聯(lián)等,李國慶等[1]提出了基于數(shù)據(jù)開放、交換、互聯(lián)三個(gè)層次的數(shù)據(jù)共享概念體系。在分布式數(shù)據(jù)共享與集成系統(tǒng)[2]中,數(shù)據(jù)表達(dá)和數(shù)據(jù)傳輸是關(guān)鍵,數(shù)據(jù)表達(dá)指面向網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)編碼式表達(dá)。海洋時(shí)空監(jiān)測(cè)數(shù)據(jù)的分布式共享對(duì)于擴(kuò)大海洋監(jiān)測(cè)活動(dòng)的社會(huì)化效益、促進(jìn)海洋科學(xué)領(lǐng)域大數(shù)據(jù)化分析技術(shù)的發(fā)展具有重要意義。
開放地理空間聯(lián)盟(open geospatial consortium, OGC)國際標(biāo)準(zhǔn)化組織致力于全球地理信息的共享與互操作,先后推出了地理標(biāo)記語言(geography markup language, GML)、keyhole標(biāo)記語言(keyhole markup language, KML)[3]、觀察與測(cè)量(observations and measurements, O&M)數(shù)據(jù)模型[4]、GeoJSON[5]等數(shù)據(jù)編碼標(biāo)準(zhǔn),以一種自描述且支持語義的方式定義了地理信息數(shù)據(jù)概念結(jié)構(gòu)與模型,促進(jìn)了分布式時(shí)空數(shù)據(jù)服務(wù)系統(tǒng)中的數(shù)據(jù)互操作式共享。OGC采用面向服務(wù)的思想和技術(shù),在全球范圍里建立數(shù)據(jù)共享的方案和思路,提供了可調(diào)用的網(wǎng)絡(luò)數(shù)據(jù)服務(wù)[6]實(shí)現(xiàn)數(shù)據(jù)共享,如已建立的網(wǎng)絡(luò)地圖服務(wù)(web map service,WMS)、網(wǎng)絡(luò)要素服務(wù)(web feature service,WFS)、網(wǎng)絡(luò)覆蓋服務(wù)(web coverage service,WCS)、網(wǎng)絡(luò)處理服務(wù)(web processing service, WPS),均在經(jīng)濟(jì)、氣象觀測(cè)、環(huán)境、城市規(guī)劃、土地利用、農(nóng)業(yè)、海洋觀測(cè)等領(lǐng)域[7-9]得到廣泛應(yīng)用。遵循統(tǒng)一的標(biāo)準(zhǔn)建立和發(fā)布的數(shù)據(jù)共享服務(wù),能夠更好地支持跨平臺(tái)、異構(gòu)數(shù)據(jù)的無縫集成。目前,在CyberGIS[10]系統(tǒng)中,GML、GeoJSO、KML表達(dá)矢量數(shù)據(jù)已經(jīng)非常普遍。雖然各類的開源軟件(如GeoServer、Openlayers、leaflet、GDALOGR、GeoTools、D3等)中通常也支持這幾種數(shù)據(jù)編碼格式,但是其表達(dá)空間數(shù)據(jù)所產(chǎn)生的數(shù)據(jù)量卻相差很大。Li等[11]在通過實(shí)驗(yàn)證明表達(dá)線數(shù)據(jù)時(shí),發(fā)現(xiàn)采用GML格式 與 GeoJSON格式產(chǎn)生的數(shù)據(jù)量較小,而對(duì)于點(diǎn)數(shù)據(jù)則相反,GeoJSON格式的數(shù)據(jù)量要遠(yuǎn)遠(yuǎn)小于GML。數(shù)據(jù)格式的選擇不僅受到數(shù)據(jù)類型的影響,還與數(shù)據(jù)構(gòu)成密切相關(guān),數(shù)據(jù)的幾何信息和屬性信息所占的比重不同,各種數(shù)據(jù)格式所表現(xiàn)出的優(yōu)勢(shì)也不同。Chen[12]在信息基礎(chǔ)設(shè)施 Portal中集成了地理空間Web服務(wù),建立了精準(zhǔn)農(nóng)業(yè)輔助決策系統(tǒng),但是數(shù)據(jù)量較大的情況下,數(shù)據(jù)實(shí)時(shí)網(wǎng)絡(luò)傳輸會(huì)成為性能瓶頸,在分布式環(huán)境下運(yùn)行將直接影響客戶端的數(shù)據(jù)總體響應(yīng)時(shí)間。黃冬梅等[13]采用金字塔模型對(duì)海洋空間數(shù)據(jù)進(jìn)行分層和分塊處理,建立柵格瓦片地圖,提高了海洋大數(shù)據(jù)的顯示速度,但是此方法展示的空間數(shù)據(jù)不具有空間和屬性信息,亦不支持查詢監(jiān)測(cè)時(shí)序數(shù)據(jù)。時(shí)空矢量數(shù)據(jù)實(shí)時(shí)壓縮[14]成為提高數(shù)據(jù)傳輸性能的有效途徑,但是已有的模式將數(shù)據(jù)的解壓縮放在Web Server端進(jìn)行,并沒有直接有效地提高客戶端的數(shù)據(jù)響應(yīng)效率。
本文從分布式數(shù)據(jù)在線共享與協(xié)同查詢分析的需求出發(fā),針對(duì)海洋時(shí)空數(shù)據(jù)的特點(diǎn),研究高效穩(wěn)定的數(shù)據(jù)編碼方式和快速高質(zhì)量的數(shù)據(jù)壓縮方法,建立海洋時(shí)空數(shù)據(jù)表達(dá)與傳輸模式,實(shí)現(xiàn)面向海洋監(jiān)測(cè)的分布式GIS系統(tǒng),并通過實(shí)驗(yàn)對(duì)比和定量分析,驗(yàn)證和評(píng)價(jià)海洋時(shí)空數(shù)據(jù)表達(dá)與傳輸模式的適用性。
在地理空間網(wǎng)絡(luò)基礎(chǔ)設(shè)施環(huán)境下構(gòu)建面向服務(wù)的分布式海洋時(shí)空監(jiān)測(cè)數(shù)據(jù)Web GIS 系統(tǒng),邏輯上分為4個(gè)層次(圖1),自底向上分別是數(shù)據(jù)層、Web 服務(wù)層、應(yīng)用系統(tǒng)Portal 層、客戶端瀏覽器層。數(shù)據(jù)層定義了數(shù)據(jù)的組織形式和物理存儲(chǔ)結(jié)構(gòu),包括基礎(chǔ)地理數(shù)據(jù)、電子海圖數(shù)據(jù)、海洋監(jiān)測(cè)數(shù)據(jù)(如臺(tái)站數(shù)據(jù)、船舶報(bào)數(shù)據(jù)、斷面數(shù)據(jù)、浮標(biāo)數(shù)據(jù))等原始時(shí)空數(shù)據(jù),以及經(jīng)過規(guī)整化處理后的預(yù)處理數(shù)據(jù),支持?jǐn)?shù)據(jù)庫和文件兩種存儲(chǔ)方式。在Web服務(wù)層,數(shù)據(jù)訪問接口被設(shè)計(jì)成表述性狀態(tài)表達(dá)(representational state transfer, REST) Web服務(wù),向應(yīng)用層提供海洋時(shí)空監(jiān)測(cè)數(shù)據(jù)的讀寫改刪操作,并建立時(shí)空索引策略和查詢優(yōu)化策略,以提高數(shù)據(jù)的訪問效率。 Web服務(wù)層的設(shè)計(jì)使得系統(tǒng)可以進(jìn)行分布式部署,且具有松散耦合性、高度可擴(kuò)展性,為數(shù)據(jù)共享、數(shù)據(jù)開放式訪問提供了有力的技術(shù)支撐。應(yīng)用系統(tǒng)層,建立Web GIS應(yīng)用程序,提供統(tǒng)一的門戶,實(shí)現(xiàn)海洋監(jiān)測(cè)信息管理、查詢、可視化、分析、統(tǒng)計(jì)等功能,用以輔助決策和預(yù)警預(yù)報(bào)等。最后,用戶可通過瀏覽器訪問系統(tǒng),數(shù)據(jù)在瀏覽器中實(shí)時(shí)解析和渲染。
在分布式的應(yīng)用場(chǎng)景中,Web服務(wù)層用于提供統(tǒng)一的數(shù)據(jù)訪問接口,應(yīng)用系統(tǒng)層負(fù)責(zé)提供交互式操作界面和數(shù)據(jù)可視化繪制。數(shù)據(jù)層和Web服務(wù)層位于同一網(wǎng)絡(luò)中,可部署于不同的計(jì)算節(jié)點(diǎn)上。應(yīng)用系統(tǒng)可以集成本節(jié)點(diǎn)或其他分布式節(jié)點(diǎn)的Web服務(wù),通過網(wǎng)絡(luò)訪問應(yīng)用系統(tǒng)的任何一臺(tái)計(jì)算機(jī)均可作為客戶端。數(shù)據(jù)實(shí)時(shí)傳輸是系統(tǒng)的性能瓶頸,存在于兩個(gè)階段:(1)實(shí)時(shí)查詢數(shù)據(jù)從Web服務(wù)層傳輸?shù)綉?yīng)用系統(tǒng)層;(2)數(shù)據(jù)從應(yīng)用系統(tǒng)層傳輸?shù)娇蛻舳?。因此,涉及兩個(gè)關(guān)鍵問題需要解決:(i)數(shù)據(jù)的編碼格式直接影響數(shù)據(jù)的大小,采用何種格式對(duì)數(shù)據(jù)進(jìn)行編碼表達(dá)產(chǎn)生的數(shù)據(jù)量最?。?ii)采用何種數(shù)據(jù)傳輸策略使得系統(tǒng)的總體響應(yīng)速度最快。
圖1 面向服務(wù)的海洋時(shí)空數(shù)據(jù)分布式共享服務(wù)框架Fig. 1 Service-oriented distributed sharing framework for ocean observing spatio-temporal data
GML、KML、GeoJSON編碼方式能夠有效表達(dá)地理要素的空間位置和屬性等,解決了異構(gòu)Web GIS系統(tǒng)中數(shù)據(jù)編碼多樣化、可重用性差、交換困難等問題。表1給出了3種編碼格式的對(duì)比, GML、KML采用XML結(jié)構(gòu)編碼,每個(gè)數(shù)據(jù)元素都包裹在開始標(biāo)記和結(jié)束標(biāo)記之間,可讀性強(qiáng),但是字符冗余度較高;GeoJSON采用鍵值對(duì)(key-value pairs)文本標(biāo)記結(jié)構(gòu),對(duì)數(shù)據(jù)進(jìn)行編碼,具有簡(jiǎn)潔的特點(diǎn),但是依賴于輔助字符(如:大括號(hào)、中括號(hào)、雙引號(hào))建立數(shù)據(jù)分層結(jié)構(gòu)。
時(shí)空數(shù)據(jù)表達(dá)的復(fù)雜性,體現(xiàn)在給定實(shí)體的空間和非空間屬性在不同時(shí)間以不同頻率發(fā)生變化。海洋浮標(biāo)監(jiān)測(cè)數(shù)據(jù)以站位為基本單位進(jìn)行物理劃分,包括監(jiān)測(cè)站點(diǎn)的位置信息、水文氣象監(jiān)測(cè)參數(shù)等信息,數(shù)據(jù)隨時(shí)間變化具有時(shí)序特性。采用關(guān)系模型和面向?qū)ο蟮乃枷雽?duì)海洋監(jiān)測(cè)數(shù)據(jù)進(jìn)行組織與存儲(chǔ),建立空間、屬性和時(shí)間綜合集成的時(shí)空數(shù)據(jù)模型,基于GML、KML、GeoJSON實(shí)現(xiàn)模型的編碼表達(dá)。表1列出的3種海洋監(jiān)測(cè)數(shù)據(jù)共享式編碼方式,增加"stationID"擴(kuò)展屬性信息,將海洋監(jiān)測(cè)數(shù)據(jù)的空間、屬性和時(shí)間信息關(guān)聯(lián)在一起,體現(xiàn)時(shí)空過程特性,具有開放、共享、松散耦合的優(yōu)勢(shì)。
表1 3種海洋監(jiān)測(cè)數(shù)據(jù)共享式編碼方式
文本數(shù)據(jù)不同于視頻、音頻數(shù)據(jù),對(duì)數(shù)據(jù)的真實(shí)性要求較高,要求數(shù)據(jù)壓縮后信息無損失,經(jīng)過解壓能夠還原全部原始信息,基于這一原則,文件壓縮多采用無損壓縮算法[15]。根據(jù)算法原理不同,無損數(shù)據(jù)壓縮算法分為基于字典的壓縮算法和基于統(tǒng)計(jì)的壓縮算法兩類。基于字典的壓縮算法采用一個(gè)滑動(dòng)的窗口向前向后遍歷數(shù)據(jù),選取重復(fù)出現(xiàn)的字符串建立字典,用代碼表示字典中字符串,達(dá)到壓縮數(shù)據(jù)減少數(shù)據(jù)量的目的,匹配越長,壓縮效果越好,陸續(xù)發(fā)展起來的有LZ77算法、LZ78算法、LZSS算法、LZMA算法、LZMA2算法等?;诮y(tǒng)計(jì)的數(shù)據(jù)壓縮算法對(duì)每個(gè)字符出現(xiàn)次數(shù)進(jìn)行統(tǒng)計(jì)得到字符概率,建立統(tǒng)計(jì)模型,采用二進(jìn)制對(duì)數(shù)據(jù)重新編碼,典型的算法有Shannon-Fano 編碼算法,huffman編碼算法、動(dòng)態(tài)自適應(yīng)huffman算法、算術(shù)算法等。字典壓縮算法壓縮速度較快、壓縮率較低;統(tǒng)計(jì)壓縮算法理論上更能夠接近熵的極值,壓縮率較高、壓縮速度較慢。壓縮效果的好壞不僅依賴于壓縮算法,也依賴于壓縮數(shù)據(jù)的特點(diǎn),不同的數(shù)據(jù)最適應(yīng)的壓縮算法可能不同。實(shí)際中,通常結(jié)合各原始算法的優(yōu)勢(shì),進(jìn)行組合和改進(jìn),設(shè)計(jì)出綜合性較強(qiáng)、性能較高的壓縮算法,表2對(duì)比分析了國內(nèi)外比較成熟的幾種改進(jìn)的無損壓縮算法。
表2 國內(nèi)外幾種改進(jìn)的無損壓縮算法對(duì)比分析
數(shù)據(jù)實(shí)時(shí)壓縮傳輸機(jī)制的基本原理是在數(shù)據(jù)傳輸?shù)拈_始端對(duì)數(shù)據(jù)進(jìn)行壓縮,在數(shù)據(jù)傳輸?shù)慕K端對(duì)數(shù)據(jù)進(jìn)行解壓縮,在分布式系統(tǒng)下,根據(jù)壓縮與解壓位置的不同,將其歸納分為4種模式,如圖2所示。
圖2 分布式WebGIS系統(tǒng)中的數(shù)據(jù)壓縮傳輸模式Fig. 2 Data transmission mode based on data compression in distributed WebGIS system
模式a:無壓縮模式,數(shù)據(jù)以GML、KML、GeoJSON編碼格式進(jìn)行傳輸;
模式b:在web服務(wù)層對(duì)數(shù)據(jù)進(jìn)行壓縮,在web應(yīng)用系統(tǒng)收到數(shù)據(jù)后進(jìn)行解壓縮,該模式減少了第一個(gè)階段的數(shù)據(jù)傳輸量,在該模式中數(shù)據(jù)的壓縮/解壓縮均在服務(wù)器上執(zhí)行;
模式c:在Web應(yīng)用系統(tǒng)層對(duì)數(shù)據(jù)進(jìn)行壓縮,在客戶端瀏覽器層對(duì)數(shù)據(jù)進(jìn)行解壓縮,該模式減少了第二階段的數(shù)據(jù)傳輸量;
模式d:在web服務(wù)層對(duì)數(shù)據(jù)進(jìn)行壓縮,在客戶端瀏覽器層對(duì)數(shù)據(jù)進(jìn)行解壓縮,該模式中,第一階段和第二階段的數(shù)據(jù)傳輸量均減少了,但是在客戶端的計(jì)算能力較弱的情況下,解壓縮的速度會(huì)較慢,進(jìn)而影響整體響應(yīng)時(shí)間。
當(dāng)web服務(wù)與web應(yīng)用系統(tǒng)在同一臺(tái)服務(wù)器上時(shí),模式b的壓縮/解壓縮在同一臺(tái)機(jī)器上進(jìn)行,其實(shí)質(zhì)等同于無壓縮模式。模式c等同于模式d,可以簡(jiǎn)單地歸納成在服務(wù)器端進(jìn)行壓縮數(shù)據(jù),在瀏覽器端對(duì)數(shù)據(jù)解壓縮。在完全分布式環(huán)境下,即web服務(wù)、web應(yīng)用系統(tǒng)、web瀏覽器分布位于不同的機(jī)器上,模式d可以最大程度地減少數(shù)據(jù)的實(shí)時(shí)傳輸量。系統(tǒng)響應(yīng)時(shí)間,通過以下方式計(jì)算:
Ttotal=TI/0+Tcom+Ttrans+Tdecom
,
(1)
式中,Ttotal為總時(shí)間,TI/0為數(shù)據(jù)讀寫時(shí)間,Tcom為數(shù)據(jù)壓縮時(shí)間,Ttrans為數(shù)據(jù)傳輸時(shí)間,Tdecom為數(shù)據(jù)解壓縮時(shí)間。
Ttrans=m*s′,
(2)
式(2)中,m為網(wǎng)絡(luò)數(shù)據(jù)讀取速率的倒數(shù),s′為壓縮后的數(shù)據(jù)大小。
s′=s*r,
(3)
式中,r為壓縮比,s為原始數(shù)據(jù)字節(jié)數(shù)。
所以,Ttotal最終由式(4)計(jì)算得出:
Ttotal=TI/0+Tcom+m*s*r+Tdecom。
(4)
對(duì)于相同的空間區(qū)域和時(shí)間范圍,采用不同的文件格式表達(dá)數(shù)據(jù),產(chǎn)生的原始數(shù)據(jù)字節(jié)數(shù)不同,不同壓縮/解壓縮算法的Tcom,Tdecom及壓縮比不同。壓縮時(shí)間、解壓縮時(shí)間,與壓縮比往往是成反比的,壓縮比較高的,往往壓縮/解壓縮時(shí)間比較長;相反,壓縮/解壓縮速度較快的,往往壓縮比較高。當(dāng)網(wǎng)絡(luò)狀況較穩(wěn)定的情況下,m可以看做是常量,但是由于每個(gè)終端用戶所處的網(wǎng)絡(luò)位置不同、網(wǎng)絡(luò)傳輸速度也千差萬別,直接影響m的值。當(dāng)網(wǎng)絡(luò)數(shù)據(jù)讀取速度較快時(shí),m的值較?。划?dāng)網(wǎng)絡(luò)數(shù)據(jù)讀取速率較慢時(shí),m的值較大。當(dāng)m的值較小時(shí),會(huì)消減壓縮比,使得壓縮比對(duì)總時(shí)間的貢獻(xiàn)削弱,那么可以采取犧牲壓縮比,換取壓縮/解壓縮時(shí)間的策略,即用較短的時(shí)間壓縮出一個(gè)較大的數(shù)據(jù),但是網(wǎng)絡(luò)數(shù)據(jù)讀取速率較快,可以完全抵消多出的壓縮/解壓縮時(shí)間。反之,當(dāng)m的值較大時(shí),則應(yīng)考慮盡量使傳輸?shù)臄?shù)據(jù)量小。
基于開源GIS軟件工具(PostgreSQL/PostGIS、GeoServer 和Openlayers),采用圖1所示分布式框架,集成矢量數(shù)據(jù)共享式編碼格式、數(shù)據(jù)壓縮算法、數(shù)據(jù)壓縮傳輸模式,建立面向海洋監(jiān)測(cè)的分布式GIS系統(tǒng),實(shí)現(xiàn)了海洋浮標(biāo)監(jiān)測(cè)數(shù)據(jù)的實(shí)時(shí)在線接收、解析、入庫、發(fā)布和共享。該系統(tǒng)支持完全分布式部署,為云計(jì)算環(huán)境下的海洋時(shí)空大數(shù)據(jù)表達(dá)與傳輸模型實(shí)驗(yàn)提供軟件平臺(tái)。該系統(tǒng)采用PostgreSQL/PostGIS時(shí)空數(shù)據(jù),存儲(chǔ)和管理海洋監(jiān)測(cè)時(shí)空數(shù)據(jù),使用GeoServer搭建Web服務(wù)引擎將海洋浮標(biāo)監(jiān)測(cè)數(shù)據(jù)發(fā)布為REST服務(wù),提供實(shí)時(shí)/歷史數(shù)據(jù)查詢服務(wù),利用OpenLayers實(shí)現(xiàn)圖形化顯示界面與數(shù)據(jù)的可視化顯示,有效融合谷歌影像數(shù)據(jù)、天地圖地名和道路網(wǎng)數(shù)據(jù)等多源空間信息數(shù)據(jù)服務(wù),對(duì)海洋浮標(biāo)的實(shí)時(shí)和歷史位置進(jìn)行準(zhǔn)確標(biāo)定,實(shí)現(xiàn)了浮標(biāo)路徑顯示和軌跡回放,支持實(shí)時(shí)和歷史監(jiān)測(cè)數(shù)據(jù)的查詢、顯示和分析。數(shù)據(jù)發(fā)布與共享支持采用主動(dòng)推送數(shù)據(jù)和被動(dòng)響應(yīng)索要數(shù)據(jù)請(qǐng)求兩種方式,浮標(biāo)監(jiān)測(cè)數(shù)據(jù)采用GML、KML、GeoJSON數(shù)據(jù)格式表達(dá),對(duì)于大數(shù)據(jù)采用數(shù)據(jù)實(shí)時(shí)壓縮傳輸策略,以保證系統(tǒng)的穩(wěn)定性和時(shí)效性,在實(shí)際應(yīng)用中該系統(tǒng)可容納的海洋浮標(biāo)個(gè)數(shù)達(dá)到200多個(gè),數(shù)據(jù)更新頻率支持10、20、30 min/次 等。圖3、4展示了面向海洋監(jiān)測(cè)的分布式GIS系統(tǒng)可視化界面及時(shí)空查詢分析結(jié)果。
圖3 面向海洋監(jiān)測(cè)的分布式GIS系統(tǒng)界面Fig. 3 Graphical user interface of a distributed GIS system for marine monitoring
圖4 海洋監(jiān)測(cè)數(shù)據(jù)時(shí)空查詢分析Fig. 4 Spatio-temporal query & analysis results of marine monitoring data
通過構(gòu)建系統(tǒng)化的實(shí)驗(yàn),揭示GML、KML、GeoJSON用于表達(dá)海洋時(shí)空監(jiān)測(cè)數(shù)據(jù)時(shí)的性能優(yōu)劣,以及Deflate、GZIP、XZ、LZ4、Snappy 5種壓縮算法對(duì)于海洋時(shí)空監(jiān)測(cè)數(shù)據(jù)的適應(yīng)性。選取Argo剖面浮標(biāo)數(shù)據(jù)為實(shí)驗(yàn)數(shù)據(jù),時(shí)間范圍為2010—2017年,空間區(qū)域?yàn)樘窖蠛S?,觀測(cè)量為溫度、鹽度、海水壓力。在阿里云平臺(tái),搭建分布式系統(tǒng)軟件,運(yùn)行第3節(jié)所述海洋監(jiān)測(cè)GIS系統(tǒng)進(jìn)行實(shí)測(cè)分析。
通過改變監(jiān)測(cè)記錄的條數(shù)來使數(shù)據(jù)遞增,進(jìn)而觀測(cè)KML、GML、GeoJSON3種數(shù)據(jù)編碼格式產(chǎn)生的數(shù)據(jù)量大小。采用7組數(shù)據(jù)進(jìn)行實(shí)驗(yàn),分別為2 000、4 000、8 000、16 000、32 000、64 000、128 000條記錄。實(shí)驗(yàn)結(jié)果如圖5所示,12.8萬條監(jiān)測(cè)記錄,KML產(chǎn)生的數(shù)據(jù)量最大,為180 MB;GML 次之,為 169 MB;GeoJSON最小,為145 MB。 且隨著監(jiān)測(cè)記錄條數(shù)的增加,GeoJSON的增幅最小。對(duì)比分析3種矢量數(shù)據(jù)編碼格式,GeoJSON具有較突出的性能優(yōu)勢(shì)。
壓縮算法的壓縮性能差異表現(xiàn)為壓縮比、壓縮時(shí)間、解壓縮時(shí)間的不同。本實(shí)驗(yàn)中選用GeoJSON數(shù)據(jù)編碼格式對(duì)比分析各壓縮算法對(duì)性能。
壓縮比是衡量壓縮算法性能的一個(gè)重要指標(biāo)。如圖6所示,隨著監(jiān)測(cè)記錄條數(shù)的成倍增加,數(shù)據(jù)量也是成倍增加的。采用GeoJSON格式表達(dá)12.8萬條監(jiān)測(cè)記錄,產(chǎn)生的數(shù)據(jù)量大約是146 MB。XZ壓縮后是27 MB,Deflate-6和GZIP壓縮后是39.7 MB左右,Snappy壓縮后是73 MB,LZ4壓縮后是83 M字節(jié)。從壓縮后的數(shù)據(jù)量比較,XZ具有較好的壓縮效果, 采用XZ 壓縮后的數(shù)據(jù)量約是LZ4的1/3, Deflate-6和GZIP壓縮后數(shù)據(jù)量約為LZ4和Snappy的1/2。進(jìn)一步對(duì)壓縮比進(jìn)行統(tǒng)計(jì)得出(見圖7),Deflate-6與GZIP的壓縮比均為27%,壓縮比最高是的XZ,達(dá)到了15%,壓縮比最低的是LZ4,保持在57%左右,Snappy的壓縮比為50%,略高于LZ4。壓縮比由高到低的排序結(jié)果是XZ、Deflate-6/GZIP、Snappy、LZ4,并且隨著數(shù)據(jù)量的增加,壓縮比基本保持穩(wěn)定。
另一衡量壓縮性能的指標(biāo)是壓縮和解壓縮時(shí)間,表示壓縮算法的時(shí)間效率。5種壓縮算法的時(shí)間效率差別較大。從圖8可以看出,XZ壓縮算法耗時(shí)最長,并且隨著數(shù)據(jù)量的不斷增加,壓縮和解壓縮時(shí)間也不斷增加,而且增幅較大。相比之下,Deflate-6和GZIP,LZ4和Snappy的時(shí)間效率較高,壓縮和解壓縮時(shí)間遠(yuǎn)遠(yuǎn)低于XZ。壓縮16 000條以下的數(shù)據(jù),Deflate-6和GZIP所需時(shí)間僅為毫秒級(jí),壓縮16 000條數(shù)據(jù)只需0.5 s左右的時(shí)間(圖8中的第4組數(shù)據(jù))。另外,LZ4和Snappy壓縮32 000條數(shù)據(jù)僅需1 s(圖8中的第5組數(shù)據(jù)),隨著數(shù)據(jù)量的增加,壓縮與解壓縮時(shí)間增幅較小。壓縮/解壓縮128 000條記錄,Deflate-6和GZIP耗時(shí)16 s,XZ耗時(shí)135 s,LZ4和Snappy耗時(shí)1.5 s(圖8中的第7組數(shù)據(jù))。盡管XZ算法的壓縮比擁有絕對(duì)的優(yōu)勢(shì),但是過長的壓縮時(shí)間使其在網(wǎng)絡(luò)實(shí)時(shí)壓縮傳輸中并不占據(jù)優(yōu)勢(shì)。
圖5 采用GML、KML、GeoJSON 3種格式產(chǎn)生的數(shù)據(jù)量對(duì)比Fig. 5 Comparison of data size using three encoding formats, including GML, KML and GeoJSON
圖6 壓縮前后的數(shù)據(jù)量對(duì)比 Fig. 6 Comparison of data size before and after compression
圖7 5種壓縮算法的壓縮比 Fig. 7 Comparison of compression ratio of five algorithms
圖8 5種壓縮算法的壓縮/解壓縮時(shí)間對(duì)比Fig.8 Compression/decompression time of five algorithms
在阿里云平臺(tái)選取華北(青島)區(qū)域和華南(深圳)區(qū)域搭建兩個(gè)計(jì)算節(jié)點(diǎn),分別部署海洋監(jiān)測(cè)GIS系統(tǒng)的Web服務(wù)器和客戶端,針對(duì)10 Mbit/s、100 Mbit/s兩種差別較大網(wǎng)絡(luò)帶寬條件,對(duì)2.3節(jié)所述數(shù)據(jù)壓縮傳輸模式d進(jìn)行測(cè)試,分別記錄數(shù)據(jù)I/O時(shí)間、壓縮時(shí)間、網(wǎng)絡(luò)傳輸時(shí)間、解壓縮時(shí)間,得到圖9所示結(jié)果。
圖9 分布式環(huán)境下的數(shù)據(jù)總體響應(yīng)時(shí)間Fig.9 The overall data response time in a distributed environment
海洋浮標(biāo)監(jiān)測(cè)數(shù)據(jù)經(jīng)過壓縮傳輸后總體響應(yīng)時(shí)間縮短,隨著數(shù)據(jù)量的增加,壓縮傳輸?shù)膬?yōu)勢(shì)更突出。5種壓縮算法,按照總體響應(yīng)時(shí)間從大到小的順序排列為Deflat-6(GZIP)、Snappy、LZ4、XZ。總體響應(yīng)時(shí)間由數(shù)據(jù)庫I/O時(shí)間、壓縮時(shí)間、網(wǎng)絡(luò)傳輸時(shí)間、解壓縮時(shí)間組成,數(shù)據(jù)庫I/0時(shí)間基本維持在一個(gè)恒定值(約11 s),不因數(shù)據(jù)量的增加而增長。所有壓縮算法的解壓縮時(shí)間較小可忽略不計(jì)??傮w響應(yīng)時(shí)間主要由網(wǎng)絡(luò)傳輸時(shí)間和壓縮時(shí)間決定,因此公式(4)可以進(jìn)一步優(yōu)化為:
Ttotal≈Tcom+m×s×r+B
,
(5)
式中,m為網(wǎng)絡(luò)數(shù)據(jù)讀取速率的倒數(shù),r為壓縮比,s為原始數(shù)據(jù)量大小,B表示數(shù)據(jù)I/O讀取時(shí)間,為常量。
針對(duì)海洋監(jiān)測(cè)時(shí)空數(shù)據(jù),在10 Mbit/s、100 Mbit/s網(wǎng)速帶寬條件下分別進(jìn)行分布式測(cè)試,結(jié)果均表明,除XZ外,壓縮比對(duì)總體響應(yīng)時(shí)間起主要作用,壓縮比高的總體響應(yīng)時(shí)間則快??傮w響應(yīng)時(shí)間可以由公式(5)估算。XZ壓縮算法,由于其過長的壓縮時(shí)間(壓縮時(shí)間大于網(wǎng)絡(luò)傳輸時(shí)間),不適合在分布式環(huán)境下的數(shù)據(jù)實(shí)時(shí)壓縮傳輸模型中使用;Deflate-6/GZIP壓縮算法,在數(shù)據(jù)實(shí)時(shí)壓縮傳輸模型中表現(xiàn)出較好的性能;Snappy、LZ4算法的性能相對(duì)較差。相比無壓縮模式,采用Deflate-6/GZIP實(shí)時(shí)壓縮模式能夠獲得4~5倍的時(shí)間效率提升。采用該模式后在深圳、青島兩地實(shí)時(shí)按需共享12.8萬條Argo浮標(biāo)數(shù)據(jù)的時(shí)間從490 s降到123 s,表現(xiàn)出較突出的性能優(yōu)勢(shì)。
本文建立的基于共享式編碼與實(shí)時(shí)壓縮的時(shí)空數(shù)據(jù)表達(dá)與傳輸模式,在分布式共享與集成系統(tǒng)中表現(xiàn)出較強(qiáng)的適用性和較突出的性能優(yōu)勢(shì)。該研究對(duì)于促進(jìn)分布式計(jì)算環(huán)境下海洋時(shí)空數(shù)據(jù)的高效共享與互操作具有重要的意義,能夠有效提高海洋時(shí)空大數(shù)據(jù)的實(shí)時(shí)在線查詢效率與空間分析的性能,并且可以向更廣闊的領(lǐng)域提供智能高效空間信息服務(wù)。
參考文獻(xiàn):
[1]李國慶,張紅月,張連翀,等.地球觀測(cè)數(shù)據(jù)共享的發(fā)展和趨勢(shì)[J].遙感學(xué)報(bào),2016,20(5):979-990.
[2]蔣永國.面向傳感網(wǎng)的海洋觀測(cè)數(shù)據(jù)集成關(guān)鍵技術(shù)研究[D].青島:中國海洋大學(xué), 2010.
[3]曾建剛,苗放,葉成名.基于GML/KML的空間數(shù)據(jù)庫研究[J].計(jì)算機(jī)與數(shù)字工程,2009,37(2):51-54.
[4]COX S. An explicit OWL representation of ISO/OGC observations andmeasurements[EB/OL].[2017-10-12]. http://ontolog.cim3.net/file/work/OntologyBasedStandards/2013-10-17_Ontologies-for-Geospatial-Standards/wip/Cox_OM-OWL_20131017b1.pdf.
[5]ATKINSON S C, JUPITE S D, INGRAM J C, et al. Fiji mapped mangrove ecosystem service rankings in GeoJSON format[J]. PLoS ONE, 2016, 11(3): e0151992.
[6]程華兵. 基于Web服務(wù)的水文時(shí)空數(shù)據(jù)集成方法研究[D].武漢:華中科技大學(xué), 2013.
[7]GORDOV E, OKLADNIKOV I, TITOV A. Development of Web GIS for complex processing and visualization of climate geospatial datasets as an integral part of dedicated Virtual Research Environment[EB/OL]. [2017-10-12].http://adsabs.harvard.edu/abs/2017EGUGA..19.2100G.
[8]CANNATA M, ANTONOVIC M, MOLINARI M E. Load testing of HELIDEM geo-portal: an OGC open standards interoperability example integrating WMS, WFS, WCS and WPS[EB/OL]. [2017-10-12]. https://www.researchgate.net/publication/266086638_Load_testing_of_HELIDEM_geo-portal_an_OGC_open_standards_interoperability_example_integrating_WMS_WFS_WCS_and_WPS.
[9]SONG M M, ZHOU B, ZHOU Z. The interoperation framework of ocean observation data using spatial information service[M]// 2012 2nd International Conference on Computer Science and Network Technology.[S.l.]:IEEE, 2012.
[10]WANG S W. A CyberGIS framework for the synthesis of cyberinfrastructure, GIS, and spatial analysis[J]. Annals of the Association of American Geographers, 2010,100(3):535-557.
[11]LI W W, SONG M M, ZHOU B, et al. Performance improvement techniques for geospatial web services in a cyberinfrastructure environment - A case study with a disaster management portal[J]. Computers Environment & Urban Systems, 2015,54:314-325.
[12]CHEN N C, ZHANG X, WANG C. Integrated open geospatial web service enabled cyber-physical information infrastructure for precision agriculture monitoring[J]. Computer and Electronic in Agriculture, 2015, 111:78-91.
[13]黃冬梅,季麗偉,袁小華,等. 基于時(shí)空一體化的海洋大數(shù)據(jù)快速展示平臺(tái)[J]. 海洋環(huán)境科學(xué),2015,34(5):743-748.
[14]JANET J, BALAKRISHNAN S, PRASAD E R. Optimizing data movement within cloud environment using efficient compression techniques[M]//2016 International Conference on Information Communication and Embedded Systems. [S.l.]:IEEE, 2016.
[15]鄭翠芳.幾種常用無損數(shù)據(jù)壓縮算法研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,21(9):73-76.