李彥,王宇飛,王鑫 ,朱銳
(1.國(guó)家海洋技術(shù)中心,天津 300112;2.University of Nottingham,NOTTINGHAM,NG8 1AD)
基于XML的海洋環(huán)境數(shù)據(jù)處理技術(shù)研究
李彥1,王宇飛2,王鑫1,朱銳1
(1.國(guó)家海洋技術(shù)中心,天津 300112;2.University of Nottingham,NOTTINGHAM,NG8 1AD)
海洋環(huán)境數(shù)據(jù)是海洋科學(xué)研究、應(yīng)用、發(fā)展的重要基礎(chǔ),然而由于獲取手段的不同,導(dǎo)致各類(lèi)數(shù)據(jù)格式不一,為數(shù)據(jù)交換帶來(lái)一定難度。因此,本文主要針對(duì)海洋環(huán)境數(shù)據(jù)交換能力差這一問(wèn)題,利用XML技術(shù)統(tǒng)一數(shù)據(jù)格式定義,并通過(guò)對(duì)小浮標(biāo)獲取數(shù)據(jù)的解析處理,說(shuō)明XML技術(shù)在應(yīng)對(duì)跨學(xué)科、跨平臺(tái)的海洋環(huán)境數(shù)據(jù)交換方面具有廣泛的應(yīng)用價(jià)值。
XML;海洋環(huán)境數(shù)據(jù);互操作
海洋環(huán)境數(shù)據(jù)是海洋科學(xué)研究、應(yīng)用、發(fā)展的重要基礎(chǔ),是維護(hù)海洋權(quán)益、保障海洋安全、保護(hù)海洋環(huán)境、促進(jìn)海洋可持續(xù)發(fā)展的重要支撐。
海洋環(huán)境立體監(jiān)測(cè)系統(tǒng)[1]是海洋環(huán)境數(shù)據(jù)獲取的基本手段,核心是由以遙感衛(wèi)星組成的天基海洋環(huán)境監(jiān)測(cè)平臺(tái),以海洋巡航飛機(jī)、有人/無(wú)人航空遙感飛機(jī)組成的空基海洋環(huán)境監(jiān)測(cè)平臺(tái),以固定海洋環(huán)境監(jiān)測(cè)站和高頻地波雷達(dá)站組成的岸基海洋環(huán)境監(jiān)測(cè)平臺(tái),以浮標(biāo)、潛標(biāo)、漂流浮標(biāo)、水下移動(dòng)潛器、船舶等組成的海基海洋環(huán)境監(jiān)測(cè)平臺(tái),以水下固定監(jiān)測(cè)站、水下水聲探測(cè)陣等組成的海底海洋環(huán)境監(jiān)測(cè)平臺(tái)等構(gòu)成的多平臺(tái)、長(zhǎng)時(shí)序的海洋環(huán)境立體監(jiān)測(cè)系統(tǒng)。
因此,海洋環(huán)境數(shù)據(jù)根據(jù)獲取手段的不同而格式各異[1,2],由于缺乏統(tǒng)一標(biāo)準(zhǔn)無(wú)法實(shí)現(xiàn)在不同平臺(tái)、系統(tǒng)中的交互,這為包括管理部門(mén)、科研機(jī)構(gòu)、企業(yè)、教育界以及公眾在內(nèi)的廣大用戶(hù)對(duì)數(shù)據(jù)的使用帶來(lái)了很大不便。XML技術(shù)的出現(xiàn)恰恰可以解決這一問(wèn)題。
聯(lián)合國(guó)教科文組織(UNESCO)的政府間海洋學(xué)委員會(huì)(IOC)的國(guó)際海洋資料與情報(bào)交換委員會(huì)(IODE)一直致力于標(biāo)準(zhǔn)數(shù)據(jù)格式、簡(jiǎn)化數(shù)據(jù)交換的研究。2000年, IODE前任主席Ben Searle創(chuàng)建了marineXML聯(lián)盟從事marineXML標(biāo)準(zhǔn)的開(kāi)發(fā)。國(guó)際海洋勘探理事會(huì)(ICES)與IOC聯(lián)合成立了SG-XML(Study Group on the Development of Marine Data Exchange Systems Using XML)。并在2002年4月召開(kāi)的第一次會(huì)議上,提出了SGXML的職責(zé)和主要工作內(nèi)容,提出了提出最佳的海洋數(shù)據(jù)元數(shù)據(jù)定義。英國(guó)的國(guó)家海洋資料中心、HR WALLINGFORD LTD和政府機(jī)構(gòu)共同發(fā)起的長(zhǎng)達(dá)兩年的EU MarineXML項(xiàng)目,以改進(jìn)涉海用戶(hù)系統(tǒng),特別是海洋觀測(cè)系統(tǒng)的數(shù)據(jù)交互性為目的,開(kāi)發(fā)了一個(gè)基于XML的海洋標(biāo)記語(yǔ)言原型,以推動(dòng)數(shù)據(jù)標(biāo)準(zhǔn)的制定。
本文主要以研究適用我國(guó)海洋環(huán)境數(shù)據(jù)交換的統(tǒng)一格式需求為目的,通過(guò)參考國(guó)際現(xiàn)有成果,利用XML技術(shù)進(jìn)行數(shù)據(jù)處理,為海洋用戶(hù)提供具有可操作性的數(shù)據(jù)共享服務(wù)。
XML是eXtensible Markup Language(可擴(kuò)展的標(biāo)記語(yǔ)言)的縮寫(xiě)[3,4],是W3C組織于1998年2月發(fā)布的一種標(biāo)記語(yǔ)言標(biāo)準(zhǔn),其目的和作用是提供一種國(guó)際統(tǒng)一的規(guī)范,進(jìn)行Intenet上各種信息數(shù)據(jù)的統(tǒng)一表示和交換。XML解決了在不同系統(tǒng)之間的數(shù)據(jù)結(jié)構(gòu)差異,使得數(shù)據(jù)層在XML技術(shù)的支持下得到統(tǒng)一。在國(guó)際互聯(lián)網(wǎng)上,服務(wù)器與服務(wù)器之間、服務(wù)器與瀏覽器之間有大量的數(shù)據(jù)需要交換,特別是在電子商務(wù)、公共衛(wèi)生、遠(yuǎn)程教育、電子金融等領(lǐng)域中。這些被交換的數(shù)據(jù),都被要求對(duì)數(shù)據(jù)的內(nèi)容和表現(xiàn)方式進(jìn)行說(shuō)明,用XML標(biāo)記語(yǔ)言處理這類(lèi)工作最為合適。因此在互聯(lián)網(wǎng)世界XML的用途主要有兩個(gè),一是作為元標(biāo)記語(yǔ)言,定義各種領(lǐng)域相關(guān)的標(biāo)記語(yǔ)言標(biāo)準(zhǔn);二是作為標(biāo)準(zhǔn)交換語(yǔ)言,擔(dān)負(fù)起描述交換數(shù)據(jù)的作用。
XML本身是一種開(kāi)放性技術(shù),是連接不同系統(tǒng)、不同平臺(tái)的數(shù)據(jù)橋梁,目前XML技術(shù)受到了行業(yè)的廣泛關(guān)注和認(rèn)同,支持XML的軟件和開(kāi)發(fā)工具越來(lái)越多,功能也越來(lái)越強(qiáng)大,許多XML工具還提供了開(kāi)放的源代碼,以方便在此基礎(chǔ)之上進(jìn)行移植和二次開(kāi)發(fā)。
XML起源于SGML(Standard Generalized Markup Language),它是SGML的一個(gè)簡(jiǎn)化版本,從來(lái)源上看,XML和HTML都是由SGML派生而來(lái)的,但是,HTML是一種特殊化的標(biāo)記語(yǔ)言,而XML是開(kāi)放的標(biāo)記語(yǔ)言。HTML的優(yōu)勢(shì)是連接文本和顯示內(nèi)容,但在動(dòng)態(tài)信息處理仍有很多問(wèn)題;由于HTML具有固定的格式,缺少了靈活性,只能描述有限的數(shù)據(jù)類(lèi)型,若使HTML包含了所有的數(shù)據(jù)類(lèi)型,那么HTML將變得非常復(fù)雜。而XML是一種元語(yǔ)言(Meta Language),它本身不提供預(yù)定義標(biāo)記,而提供了一個(gè)定義標(biāo)準(zhǔn),用戶(hù)根據(jù)該準(zhǔn)則制定適合需要的標(biāo)記體系。可以說(shuō)XML是“基于信息描述的、能夠體現(xiàn)數(shù)據(jù)信息之間邏輯關(guān)系的、可以確保文件的易讀性和易搜索性的自定義標(biāo)記。
在XML安全方面,XML語(yǔ)言自身的結(jié)構(gòu)化特征,以及XML廣泛和深入的應(yīng)用,給XML數(shù)據(jù)的安全帶來(lái)了新特性,比如保護(hù)XML文檔的存儲(chǔ)安全、保護(hù)XML消息長(zhǎng)期的確認(rèn)性、保護(hù)XML文檔局部數(shù)據(jù)的安全等。W3C和IETF于1999年提出了XML數(shù)字簽名標(biāo)準(zhǔn)(XML Digital Signature Syntax and Processing),該標(biāo)準(zhǔn)在2002年2月12日成為W3C的推薦標(biāo)準(zhǔn)(W3C Recommendation)。W3C還于2000年4月開(kāi)始制定XML加密標(biāo)準(zhǔn)(XML Encryption Syntax and Processing),并于2001年10月18日發(fā)布工作草案(W3C Working Draft)。
XML語(yǔ)言具有如下特點(diǎn):
(1)XML不但是標(biāo)記語(yǔ)言,而且是可擴(kuò)展的(eXtensible)標(biāo)記語(yǔ)言。不同個(gè)人、不同行業(yè)和應(yīng)用都可以根據(jù)實(shí)際需要定義新的標(biāo)記語(yǔ)言。準(zhǔn)確的說(shuō),XML是一種元語(yǔ)言,基于它提供的規(guī)則,可以制定各種各樣的標(biāo)記語(yǔ)言;
(2)信息的顯示與處理分離:在XML中,文檔內(nèi)容以什么樣的形式顯示由可擴(kuò)展樣式語(yǔ)言(eXtensible Style Language,簡(jiǎn)稱(chēng)XSL)和層疊樣式表(Cascading Style Sheets,簡(jiǎn)稱(chēng)CSS)加以控制。這樣,如果需要改動(dòng)信息的表現(xiàn)方式,無(wú)須改動(dòng)信息本身;XML中數(shù)據(jù)搜索可以簡(jiǎn)單高效地進(jìn)行;XML文檔制定者可以根據(jù)數(shù)據(jù)自身的邏輯定義文檔結(jié)構(gòu);顯示與內(nèi)容分離,極大地拓寬了XML的應(yīng)用領(lǐng)域;
(3)XML遵循嚴(yán)格的語(yǔ)法要求,結(jié)構(gòu)清晰,可讀性好,容易編制,便于不同系統(tǒng)之間信息的傳輸。
因此,采用XML來(lái)描述數(shù)據(jù),就可以很方便的在相同的或是不同的系統(tǒng)中對(duì)這些數(shù)據(jù)進(jìn)行互操作。例如,一位開(kāi)發(fā)者可以使用來(lái)自另一個(gè)系統(tǒng)的數(shù)據(jù),只要那些數(shù)據(jù)是用XML描述的,開(kāi)發(fā)者在考慮軟件的互操作性時(shí)就不必?fù)?dān)心諸如平臺(tái)、操作系統(tǒng)、語(yǔ)言、或是數(shù)據(jù)存儲(chǔ)等各方面的不同了。
但是,XML并不關(guān)心數(shù)據(jù)是如何具體描述的、數(shù)據(jù)是否正確。這一問(wèn)題需要XML schema來(lái)解決。
XML Schema就是描述信息結(jié)構(gòu)的模型,可以用來(lái)對(duì)XML文檔內(nèi)容的合法性進(jìn)行驗(yàn)證,包括2個(gè)方面:一方面是語(yǔ)法結(jié)構(gòu)的驗(yàn)證,即元素類(lèi)型、元素嵌套格式、屬性類(lèi)型、屬性值數(shù)據(jù)類(lèi)型、屬性值是否可選等相關(guān)文檔對(duì)象單元本身及其結(jié)構(gòu)的合法性;另一方面是語(yǔ)義的驗(yàn)證,只有真正理解了XML文檔的含義才能算是實(shí)現(xiàn)了信息交互,否則僅是結(jié)構(gòu)上正確但意義模糊的信息,對(duì)于接收方來(lái)說(shuō)一樣是無(wú)用的,有時(shí)甚至?xí)a(chǎn)生誤解,起到相反的作用。
驗(yàn)證步驟如下:
(1)定義一份XML schema為同一類(lèi)型的所有文檔的結(jié)構(gòu)標(biāo)準(zhǔn);
(2)應(yīng)用XML schema,一般由文檔的作者制定schema,這樣接收方可以很快地根據(jù)說(shuō)明對(duì)文檔進(jìn)行驗(yàn)證;
(3)運(yùn)行解析器進(jìn)行驗(yàn)證,解析器在裝載文檔的同時(shí)掃描結(jié)構(gòu),遇到任何錯(cuò)誤都會(huì)終止裝載過(guò)程,并做出適當(dāng)?shù)捻憫?yīng)。
XML Schema共有8種元素:
(1)〈Schema〉元素
XML Schema文件與其他的XML文檔結(jié)構(gòu)非常相似,根元素為〈Schema〉,表明文檔類(lèi)型:
其中屬性name指定Schema名稱(chēng),xmlns指定所屬名稱(chēng)空間。第一個(gè)xmlns指定全文的缺省名稱(chēng)空間,第二個(gè)定義了文檔中可使用的數(shù)據(jù)類(lèi)型的名稱(chēng)空間。
在XML中引用Schema的方法是在XML文檔的根元素中使用名稱(chēng)空間指明Schema文件的URL地址,在URL前加上“x-schema”前綴:
Content屬性規(guī)定聲明的元素是否為空,是否包含文本或子元素,還是兩者都有;order指定子元素的排列順序;model規(guī)定了元素中是否可以包含未在Schema定義的元素或?qū)傩裕籨t:type則指定了元素的數(shù)據(jù)類(lèi)型。
對(duì)于其它6個(gè)元素,本文不再一一列舉說(shuō)明。
本文對(duì)海洋環(huán)境數(shù)據(jù)的分類(lèi)定義,主要依據(jù)獲取手段的不同,針對(duì)數(shù)據(jù)管理者為不同用戶(hù)提供數(shù)據(jù)共享服務(wù),滿(mǎn)足數(shù)據(jù)交換需求。對(duì)每一類(lèi)平臺(tái)獲取的海洋環(huán)境數(shù)據(jù)進(jìn)行的XML定義,主要包括一般數(shù)據(jù)信息和工作數(shù)據(jù)信息。一般工作信息主要包括平臺(tái)信息、工作狀態(tài)、布放位置/獲取數(shù)據(jù)區(qū)域范圍、以及在位時(shí)間等;工作數(shù)據(jù)信息主要包括平臺(tái)監(jiān)測(cè)數(shù)據(jù)。以小浮標(biāo)為例,一般工作信息包括小浮標(biāo)信息、工作狀態(tài)、布放位置、在位時(shí)間等,工作數(shù)據(jù)信息包括小浮標(biāo)所搭載的各類(lèi)傳感器監(jiān)測(cè)數(shù)據(jù),主要為溫、鹽、波、流和氣象等測(cè)量數(shù)據(jù)。數(shù)據(jù)結(jié)構(gòu)如圖1所示:
圖 1 小浮標(biāo)系統(tǒng)觀測(cè)的海洋環(huán)境數(shù)據(jù)結(jié)構(gòu)Fig.1 Marine environment data framework of buoy
上述數(shù)據(jù)結(jié)構(gòu)定義為各類(lèi)監(jiān)測(cè)數(shù)據(jù)提供了統(tǒng)一的XML格式定義,數(shù)據(jù)管理者可通過(guò)對(duì)數(shù)據(jù)的解析方便實(shí)現(xiàn)不同用戶(hù)間基于瀏覽器的數(shù)據(jù)交換。本文通過(guò)XML解析器msxmlchs實(shí)現(xiàn)對(duì)小浮標(biāo)獲取的海洋環(huán)境數(shù)據(jù)XML的格式解析,同時(shí)顯示以供用戶(hù)查看和使用。代碼如下:
將上述解析結(jié)果提取后,通過(guò)JFreechart這一插件進(jìn)行圖形處理,以曲線(xiàn)形式顯示在瀏覽器上。代碼如下:
至此,用戶(hù)可通過(guò)瀏覽器方便查看數(shù)據(jù)信息,如圖2所示,也可以通過(guò)下載XML格式數(shù)據(jù)源文件對(duì)數(shù)據(jù)進(jìn)行進(jìn)一步處理,如產(chǎn)品開(kāi)發(fā)等。
圖 2 海流剖面數(shù)據(jù)XML解析曲線(xiàn)顯示結(jié)果Fig.2 Current profile data XML curve show
隨著海洋環(huán)境數(shù)據(jù)獲取手段的不斷更新和海洋環(huán)境數(shù)據(jù)量的不斷增加,如何有效綜合利用各類(lèi)海洋環(huán)境測(cè)量數(shù)據(jù)、提供統(tǒng)一的數(shù)據(jù)交換標(biāo)準(zhǔn)格式,已成為海洋學(xué)者和海洋管理者面臨的迫切問(wèn)題。本文通過(guò)參考國(guó)際現(xiàn)有Marine XML研究成果,并結(jié)合我國(guó)海洋環(huán)境數(shù)據(jù)實(shí)際情況,通過(guò)利用XML技術(shù)對(duì)海洋環(huán)境數(shù)據(jù)的處理,用戶(hù)利用瀏覽器可方便的實(shí)現(xiàn)對(duì)數(shù)據(jù)的操作,實(shí)現(xiàn)了數(shù)據(jù)的可使用性、易用性,保證了不同系統(tǒng)、不同學(xué)科間數(shù)據(jù)的互操作性。因此,XML技術(shù)在應(yīng)對(duì)我國(guó)海洋領(lǐng)域中跨學(xué)科、跨平臺(tái)的海洋環(huán)境數(shù)據(jù)交換方面具有廣泛的應(yīng)用價(jià)值。
[1]羅續(xù)業(yè), 周智海, 曹東, 等.海洋環(huán)境立體監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)方法[J].海洋通報(bào), 2006, 25(4): 69-77.
[2]李彥.基于Web Service 的系統(tǒng)集成技術(shù)在海洋監(jiān)測(cè)系統(tǒng)中的應(yīng)用 [J].海洋技術(shù), 2004, 23(3):55-58.
[3]Heather Williamson.XML 技術(shù)大全 [M].北京: 機(jī)械工業(yè)出版社, 2002.
[4]Charles F G.XML手冊(cè) [M].北京: 電子工業(yè)出版社, 2005.
Research of XML based processing technology for marine environment data
LI Yan1, WANG Yu-fei2, WANG Xin1, ZHU Rui1
(1.National Ocean Technology Center, Tianjin 300112, China; 2.University of Nottingham, NOTTINGHAM, NG8 1AD, England)
Marine environment data is the basis of ocean science research, application and development.But data sharing is difficult because of the different data format coming from different platforms.Thus, this paper aims to solve the problem that the exchanging-capability for the marine environment data is relatively poor.In this paper, we unify the format of the data by using the XML technology.By analyzing the data of buoy, this paper shows that the XML technology will be applied widely in the exchanging of marine environment data in cross-platform.
XML; marine environment data; interoperability
TP393
A
1001-6932(2011)06-0697-05
2011-06-06;
2011-08-15
海洋公益性項(xiàng)目(200905024)。
李彥(1980-),女,碩士,工程師,從事海洋監(jiān)測(cè)數(shù)據(jù)集成管理、海上試驗(yàn)檢測(cè)與評(píng)價(jià)研究工作,電子郵箱:haqiu.li@gmail.com。