?

基于XML的海洋環境基礎數據格式轉換的研究

2018-01-09 01:14溫玉波黃全中
海洋通報 2017年6期
關鍵詞:數據格式臺站觀測

溫玉波,黃全中

(國家海洋局南海信息中心,廣東廣州510310)

基于XML的海洋環境基礎數據格式轉換的研究

溫玉波,黃全中

(國家海洋局南海信息中心,廣東廣州510310)

針對當前海洋科學研究、海洋預報、海洋環境保護等工作中遇到的海洋環境基礎數據格式不一致的問題,通過對數據語義、語法、結構的分析,建立數據之間格式轉換模型,在此基礎上提出基于可擴展標記語言(XML)轉換模板的數據格式轉換體系,并以臺站觀測溫鹽數據為例,設計編寫程序成功實現數據間的格式轉換。

海洋環境數據;格式轉換;元數據映射;可擴展標記語言(XML);數據建模

當前我國各項海洋事業高速發展,作為海洋科學研究與應用的重要基礎,海洋環境基礎數據的地位越來越高。然而海洋環境基礎數據的學科眾多、種類復雜,數據格式和存儲方法差異較大;另一方面海洋環境基礎數據來源不同和中間環節缺失,導致海洋環境信息數據的準確性、完整性、一致性無法得到保證。這些問題加重了海洋科技人員的工作負擔,阻礙了海洋研究的可持續發展。因此,如何解決數據格式不一致的問題成為了當前研究的重點。

目前國內的研究還多集中在海洋數據傳輸和數據交換等領域:如姬鵬等(2006)構建了基于XML的實時海洋數據傳輸網絡系統;秦艷(2009)用XML技術進行海洋數據交換;袁立成等(2009)研究了海洋環境信息存儲與交換的數據網格;田友強等(2005)討論了海洋XML數據集成系統原型的設計與實現。而對于海洋數據格式轉換的研究還較少,這主要是由于海洋數據種類繁雜、不同時期數據標準不一致、沒有形成統一的數據標準格式而造成的。目前這方面的研究主要有:夏登文等(2005)分析了海洋數據的特點,并綜述了XML在海洋信息中的應用及其意義,分析適合我國海洋信息的XML應用技術;李彥等(2011)利用XML技術統一數據格式定義,說明了XML技術在應對跨學科、跨平臺的海洋環境數據處理方面具有廣泛的應用價值??梢娔壳拔覈诤Q蟓h境數據格式轉換領域研究的數量不足且以理論分析居多,缺乏整體設計和真實案例說明。在當前實際工作中常用的數據格式轉換方法主要有以下兩方面:

(1)利用記事本、Excel、EditPlus等軟件人工進行數據格式轉換,這種方式對數據規整性要求高,且人工操作效率低下易出錯。

(2)采用定制開發軟件實現數據格式轉換,這在一定程度上實現數據格式轉換的高效性和準確性,提高工作效率。但對于海洋環境數據來說由于其數據類型眾多,需對每一類的數據單獨進行定制開發,使得軟件無法復用,造成采用此方法的成本高,性價比低。

基于上述本文通過對數據結構和映射關系的分析,創新性地提出基于XML轉換模板的數據格式轉換體系,實現海洋環境基礎數據格式間的相互轉換。優點是:針對不同數據類型,只需對模板編程,就可實現新的映射關系,而無需對整個軟件架構進行重構,降低了成本和工作量。文章最后以臺站觀測溫鹽數據為例進行驗證,實驗結果表明本文所提出的研究方法是可行的。

1 方法

1.1 XML特點分析

XML中文意為可擴展標記語言(Extensible Markup Language),它定義了一套語言標記的規則,可被設計用來傳輸或存儲數據。

XML語言最大的特點就是復用性和擴展性,使用者可以根據自己的需要創建相應的XML語言,它是可變的、可維護的。一方面由于它的可擴展性使得信息的顯示與處理分離,如果需要改動信息的表現方式,無須改動信息本身,XML文檔制定者可以根據數據自身的邏輯定義文檔結構;另一方面XML遵循嚴格的語法要求,結構清晰,可讀性好,容易編制,便于不同系統之間信息的傳輸。因此,采用XML來描述數據,就可以很方便的在相同的或是不同的系統中對這些數據進行互操作。

由于海洋環境基礎數據格式類型繁雜,且它們之間存在大量重復部分,如何降低重復數據所帶來的工作量,是數據格式轉化之前所要解決的問題。本文利用了XML的復用性和擴展性來解決這個問題:即先定義好一類海洋要素片段,當其它數據集也包含此類海洋要素,我們只需要將之前定義好的要素片段加載到數據集之后,就可實現數據片段的復用,降低工作量。

1.2 數據互操作的研究

在實際應用中可能存在大量異構格式數據,對于用戶來說這些數據無法被快速解析從而造成使用上的困難,數據互操作的作用是分析并轉換異構數據間的差異,保證數據格式對外的一致性,實現異構格式數據的復用。

數據互操作的核心是數據格式映射(即格式轉換),映射可以是一對一關系也可以是一對多關系,從本質上來說映射就是將某個數據集進行拆分,根據描述含義從另一個數據集中找到與之相對應的元素,然后根據新的數據格式對數據進行重構,以達到數據從一種格式轉換為另一種格式的目的。映射的核心是對照關系表,可以實現不同數據格式互相比較、查詢、校驗。因此通過映射能夠實現數據格式相互轉換(圖1)。

圖1 數據格式映射

另外可以采用建立標準資源描述框架來實現數據互操作,框架本身并不復雜,可以由點和線構成二元關系,點與點間由線相連。其中點表示數據本身,線表示數據的屬性或描述信息,它們間是1對多關系,即一個點可以連接多條線。通過這樣的簡單的點線我們可以對數據對象進行描述,甚至通過擴展方式還可以對復雜的數據進行描述。并且框架本身是可以復用的,提升我們分析數據的效率。

2 基于XML轉換模板的數據格式轉換體系的實現

海洋環境基礎數據格式轉換體系可分為數據預處理、數據質量控制、數據格式轉換3個部分(圖2),其中的核心是數據間的映射。經過分析我們可以得出圖1所述方法并不完善,原因如下:

(1)可維護性差。通過大量的實驗證明在現實數據處理與應用中,很難找到完全一致的數據描述項,很多情況下是彼此元素相互混雜,甚至找不到對應數據描述項,需要在建模過程中不斷修改和完善映射關系,而其中一組映射的改變會導致與其它相關的映射關系也需要做相應變更,使得整體維護成本高。

圖2 基于XML轉換模板的數據格式轉換體系

(2)通用性差、效率低。如果數據的格式較為復雜,有眾多的描述信息項,需要對這些元素進行一一映射,在這過程中存在大量重復定義,代碼復用性差,使得最后所需的映射關系是巨大的。

為了解決上述問題,經過分析對比提出二次映射的設想來對方法進行改進,如圖3所示,這種設想核心是設計一個通用的中間模板,在實際映射過程中,它以XML轉換模板為映射中心,轉換格式之間不直接進行匹配映射,先是將原格式同中間模板進行第一次映射,然后將模板與目標格式進行二次映射,以此實現原格式和目標格式之間的轉換。改進后的數據格式映射與圖1所述方式相比優點有:

(1)后續易維護。當數據格式映射關系發生變化,只需要調整模板,就可實現新的映射關系,且由于模板間相互獨立,對其修改不會影響其它模板的使用。

(2)模板可復用性。在數據格式映射關系中可能存在大量重復部分(如數據表頭、說明信息等),通過模板定義這部分通用數據并在模板間對其引用,可提升代碼的復用性。

(3)XML具有可擴展性和復用性。采用XML來對數據格式進行編碼:在制作完成一類數據格式模板后,我們以它為基礎進行參數的微調來匹配其它類型數據格式。

(4)程序高效性。在開發應用程序時候只需要對模板編程,而無需關注具體的數據格式,從而提高效率,縮短程序開發周期。

圖3 改進后數據格式映射

3 應用實例

3.1 轉換模板設計

現以1995年前后臺站觀測溫鹽數據格式轉換為例,說明其應用思路和方法。首先依據上述理論制定數據格式轉換結構模型。如圖4所示,結構模型分為3個部分:格式A對應1995年前溫鹽數據,包括數據集的基本信息(含元素字段的名稱、類型、順序、起止位置、長度、取值范圍等)、數據層次結構、項目信息、其它相關說明等;格式B對應1995年后溫鹽數據,是最終我們要得到的結果;轉換模板是A→B格式轉換依據,它提供A→B數據間格式說明和映射關系。數據映射包含結構映射、語法映射、語義映射3方面:

(1)結構映射從整體上描述了數據格式轉換前后在排列順序、層次結構(行、列、組)等方面的對應關系,解決了數據在整體上的排列問題。

(2)語法映射描述了每類元素轉換前后在載體、編碼、順序、對齊方式、說明等方面的對應關系,反映了數據格式結構規律本身。

(3)語義映射描述了每類元素轉換前后在數據類型(數字型、字符型等)、轉換規則(按照一定規則對元素進行轉化)、統計計算(按照一定規則對前后元素內容進行匯總或、合并、計算)等方面的對應關系,消除了轉換前后在語義方面的沖突。

圖4 臺站觀測溫鹽數據格式轉換模型

接著通過結構模型生成轉換模板,其本質就是將抽象的數據結構模型表象化,生成簡單易懂的標準化模板。這里將采用XML語言來生成標準化模板,模板可分為結構映射、語法映射、語義映射3部分。模板部分內容如下所示:

圖7 95年前后臺站觀測溫鹽數據格式轉換模板部分內容(語義映射)

3.2 人機交互設計

系統前臺界面采用Microsoft Visual Studio 2008平臺進行開發,核心算法采用C++進行編程,顯示界面采用操作和顯示分離的設計方式,如圖8所示。系統界面布局分為上下兩層,頂部為操作區,橫向排列相關功能按鈕。功能按鈕下方是顯示區域,這里又分為兩部分,上半部分為數據格式轉換基礎信息,包括格式轉換類型(即指明從原格式轉換為目標格式)、當前模板、加載文件等;下半部分為數據轉換實時監控窗口,包括處理狀態、消耗時間、正在處理數據、完成情況等。

圖8 轉換程序運行截圖

圖8為進行批量數據格式轉換時程序運行截圖,正在進行1995年前后臺站觀測數據格式轉換,最終顯示成功完成60個文件的格式轉換,共計使用5 s時間。

通過程序實現了數據格式轉換的可視化和人機交互,結果證明利用計算機程序高速運算能力處理海洋環境數據,能夠更加高效的實現數據格式轉換。

3.3 實驗結果

為驗證該程序的實用性,導入數據進行實驗,圖9所示為臺站觀測溫鹽數據原始文件格式(1995年前標準格式),圖10所示為轉換后的文件格式(2006年標準海濱觀測規范格式),經過比較可得到以下實驗結果:

(1)轉換后的文件格式完全符合2006年標準海濱觀測規范格式,包括了文件命名規則、元素的相對位置和長度、數據層次結構等。其中數據層次結構是重點難點(注:轉換前每行包含2個連續觀測日數據,轉換后每行只包含1個觀測日數據),圖9、圖10所示的實驗結果表明了數據層次結構由轉換前的5×2(行數×每行觀測日數)轉變為轉換后的10×1,完全符合轉換后的標準要求。

(2)元素值轉換前后保持一致。例如新標準中的海洋觀測臺站代碼長度為4位,而舊標準中的長度為8位,因此需要對臺站代碼進行位數轉換,實驗結果表明臺站代碼在轉換前后能保持一致。

(3)元素符合多“補”少“棄”原則(多出的元素用空格補齊位置,缺失的元素直接丟棄)。從實驗數據可知轉換后數據集中多出了表層溫鹽觀測方法和儀器代碼2個元素,由于轉換前的數據集中沒有這2項元素,因此這里用空格將其所占位置補齊;另外,轉換后數據集中沒有海面能見度這個元素,因此在轉換后將此元素丟棄。

綜合上述實驗結果可得本次格式轉換實例測試是成功的。

圖9 臺站觀測溫鹽數據(轉換前)

圖10 臺站觀測溫鹽數據(轉換后)

4 結論與展望

本文根據海洋環境基礎數據格式轉換的要求及內容,以格式轉換的準確性、高效性、可擴展性為評估內容,建立了基于XML轉換模板的數據格式轉換體系,并以臺站觀測溫鹽數據的格式轉換為例驗證了數據格式轉換體系是可行的。轉換體系創新之處在于通過設計相應模板就可將格式轉換應用范圍擴展到其他海洋基礎數據類型,不僅能夠高效地實現數據格式轉換,而且對海洋環境基礎數據應用的相關規范制定也有一定的參考和促進作用。

另一方面,由于海洋環境基礎數據體系格式結構復雜、學科眾多,以至無法對所有格式進行分析和模板設計,這就局限格式轉換的應用范圍。因此,下一步主要研究方向是利用計算機人工智能實現數據類型自動抓取和分析,并將分析結果加入轉換規則庫,當需要對某類數據進行格式轉化時,只要通過查找規則庫便能自動匹配生成轉換模板,從而快速高效的實現數據格式轉換。

Williamson H,2002.XML技術大全.北京:機械工業出版社.

陳虹濤,李志俊,2005.元數據的標準規范及其互操作性.情報雜志,(7):94-95.

陳繼香,2004.XML在海洋數據服務領域的應用研究.海洋通報,23(2):56-50.

崔新會,何志強,2015.基于XML的海洋信息索引服務系統構建研究.艦船科學技術,(5):148-151.

胡芒谷,2008.基于檢索協議的元數據互操作研究.科學技術與工程,8(12):3 201-3 205.

蔣永國,劉克,盧蓮英,等,2009.基于XML的海洋遙感衛星數據規范化研究.海洋通報,28(4):9-16.

孔慶杰,宋丹輝,2007.元數據互操作問題技術解決方案研究.情報科學,25(5):754-756.

李彥,王宇飛,王鑫,等,2011.基于XML的海洋環境數據處理技術研究.海洋通報,30(6):697-701.

劉海行,周玉斌,2004.剖面數據的XML格式設計.海洋科學,28(10):1-5.

劉嘉,2002.元數據導論.北京:華藝出版社.

申曉娟,高紅,2006.從元數據映射出發談元數據互操作問題.國際圖書館學刊,(4):51-54.

夏登文,石綏祥,姜巖,等,2005.XML海洋信息應用分析.海洋通報,24(1):84-86.

肖瓏,陳凌,馮項云,等,2001.中文元數據標準框架及其應用.數字圖書館壇,2001(5):34-37.

袁立成,秦勃,洪鋒,等,2009.海洋網格——海洋環境信息存儲與交換的數據網格.計算機應用,29(6):188-190.

張明華,黃冬梅,熊中敏,等,2012.多源異構海量海洋數據綜合管理平臺構建研究.海洋科學,36(2):110-115.

張曉林,2002.元數據研究與應用.北京:圖書館出版社.

Research on the data format conversion of marine environmental data based on Extensible Markup Language

WEN Yu-bo,HUANG Quan-zhong

(The Information Center of South China Sea,State Oceanic Administration,Guangzhou 510310,China)

This article is aimed at solving the problem of marine environmental information data format inconsistencies which appeared in marine science research,marine forecasts,and marine environmental protection work.Conversion model was built by analyzing of metadata semantics,syntax and structure,and the method of format conversion was put forward based on Extensible Markup Language(XML).At last,the article introduces how to design the process to achieve conversion between the two formats by giving an example of marine station observation data.

marine environmental data;heterogeneous data;metadata mapping;Extensible Markup Language(XML);data templates

TP391

A

1001-6932(2017)06-0700-08

10.11840/j.issn.1001-6392.2017.06.013

2016-03-28;

2016-09-27

國家海洋局南海分局局長基金(1344)。

溫玉波(1983-),碩士,工程師,主要從事海洋數據分析與應用。電子郵箱:wenyupo@163.com。

袁澤軼)

猜你喜歡
數據格式臺站觀測
中國科學院野外臺站檔案工作回顧
一種適用于高鐵沿線的多臺站快速地震預警方法
天文動手做——觀測活動(21) 軟件模擬觀測星空
2018年18個值得觀測的營銷趨勢
基于RFID的戶外廣告監管系統的設計與實現
一種融合多業務的信息化系統框架研究
可觀測宇宙
基層臺站綜合觀測業務管理之我見
高分辨率對地觀測系統
MDOS平臺臺站級使用方法及技巧
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合