陳俊寧
海洋數據管理與可視化平臺設計
陳俊寧


陳俊寧1胡乃軍2劉 青3
1.中國海洋大學信息科學與工程學院;2.青島市工商局信息中心;3.中國海洋大學圖書館
陳俊寧(1989-)男,碩士研究生,研究領域為軟件工程;胡乃軍(1964-)男,本科, 高級工程師,研究領域為信息管理;劉青(1974-)女, 碩士研究生。
海洋數據復雜多樣,海洋數據的管理與可視化困難。針對這些問題,提出數據管理及可視化軟件設計方案,平臺各模塊采用基于組件的軟件開發技術進行了詳細設計,提高了系統的可擴展性和模塊重用性。實際應用表明,該設計方案有效、可行,同時為其他海洋數據管理與可視化平臺設計提供了借鑒。
目前在對海洋資源開發利用之前,需要對試驗場區海域的環境進行長時間的調查,海上試驗場提供場區的環境調查數據主要包括溫度、鹽度、風向、風速、濕度、波高、波向、潮汐等海洋數據。通過海上試驗場能夠充分掌握整個試驗場的環境狀況。對于大量來之不易的海洋數據,如何快速而有效地進行海洋數據的存儲、管理、分析、處理和共享,是海洋觀測資料管理的一個極其重要的任務。為此建立一套以海洋數據為對象,集海洋數據管理、數據分析處理和數據發布共享為一體的數據管理與可視化系統,是海洋防災減災、海洋工程開發、海洋環境保護、海洋國防安全等一系列涉海事業發展的重要基礎之一。國家海洋908專項開展了數字海洋可視化系統的相關研究工作,研究內容包括海洋數據采集、處理、分析計算、數據庫管理以及集成應用,其重點和核心是海洋數據的可視化集成應用。
海洋數據管理與可視化平臺采用分層結構設計,分為數據接收層、數據管理層、數據應用層。每一層采用組件開發模式,采用組件開發模式有助于開發效率,提高代碼的重用性。首先平臺將海洋數據存儲到數據庫服務器中,同時對外提供數據服務接口。平臺調用數據服務接口,對數據庫中的數據進行訪問,通過可視化手段對海洋數據進行顯示。
體系結構
海洋數據管理與可視化平臺總體結構采用分層結構,由數據接收層模塊、數據管理層模塊、數據應用層模塊組成,各層之間具有較強的獨立性??傮w結構如圖1所示。

圖1 系統總體結構
其中數據接收層負責對海洋原始數據進行接收、預處理,并將海洋數據存儲到數據服務器中。數據管理層負責對數據庫進行設計,對外提供WebService接口服務,為數據應用層提供海洋原始數據。數據應用層負責對用戶請求進行處理,對海洋數據進行曲線顯示、玫瑰圖顯示、剖面圖顯示、數據比較顯示等,使用戶能夠直觀的觀察到數據變化。
功能結構
平臺的功能包括地圖導航模塊、數據管理模塊、數據預處理模塊、可視化模塊、用戶管理模塊五部分。系統的功能結構如圖2所示。
1)地圖導航模塊對平臺以及平臺上的儀器進行顯示,用戶能夠直觀的觀察到平臺以及平臺儀器的基本信息。單擊相應的圖標可以進入該平臺下海洋數據可視化界面。
2)數據管理模塊主要提供數據列表和數據下載功能,系統將海洋數據以列表的形式提供給用戶。用戶可以根據自己的需要對海洋數據進行下載,以CSV格式保存到本地。
3)數據預處理模塊將原始海洋數據文件,解析并存儲到數據庫中,對外提供WebService接口服務。

圖2 系統功能結構
4)可視化模塊將最近一段時間內海洋數據繪制成曲線形式進行顯示??梢暬@示主要有數據曲線顯示、數據玫瑰圖顯示、數據剖面圖顯示、數據比較顯示、參數關聯曲線顯示。數據曲線顯示將各種海洋數據隨時間變化趨勢以曲線形式進行顯示,同時提供曲線放大、拖放、標注功能,以方便用戶分析數據。玫瑰圖組件顯示玫瑰圖所處的極坐標系,在每個方向上顯示當前頻率和數值。數據剖面顯示對某個儀器不同深度的傳感器監測的數據以曲線形式顯示,可以直觀的顯示不同的深度的觀測要素數值變化。數據比較顯示將同一類型儀器監測到的數據進行比較。參數關聯顯示將兩種具有關聯關系的觀測要素進行可視化顯示,使用戶直觀的觀察到二者之間的聯系。
5)用戶管理模塊主要是控制對系統的操作權限,分為管理員用戶和普通用戶。管理員用戶擁有系統的最高權限,可以為可視化平臺添加、修改海洋平臺和海洋儀器信息和對海洋數據進行錄入,同時可以創建管理員和普通用戶。普通用戶可以查看海洋平臺跟海洋儀器下數據的可視化,同時可以對海洋數據進行下載等。
接口設計
數據訪問接口為應用層組件提供數據訪問通道, 客戶端通過調用WebService接口對數據庫進行數據訪問。數據服務接口以JASON對象形式返回,JASON比傳統XML更具有輕量級,傳輸數據量少,傳輸比XML經濟,因此將數據編碼成JASON形式進行數據傳輸。JSON是一種輕量級的數據交換格式規范,適用于多種異構環境之間進行數據傳輸。一個WebService就是一個應用程序,它可以通過與廠商無關的通信協議(如HTTP)從其他系統跨網絡接受XML格式的請求,同時,WebService也是一種松耦合、面向服務的架構,服務之間通過定義良好的接口聯系起來,其獨立于操作系統、硬件平臺、編程語言的實現方式,以及基于XML的數據封裝,使WebService廣泛地應用與Web開發中。系統中常用的服務接口如下。
AddPlatFormInfo():該接口功能用于用戶添加平臺信息。
GetPlatFormInfo():該接口功能用于獲取所有的平臺信息。
DeletePlatFormInfoById():該接口功能用于刪除特定的平臺信息。
AddInstrumentInfo():該接口功能用于添加平臺儀器信息。
GetInstrumentInfoById():該接口功能是根據平臺ID返回所有的儀器信息。
DeleteInstrumentInfoById():該接口功能用于刪除指定的儀器信息。
AddSensorInfo():該接口用于添加儀器的傳感器信息。
sGetSensorById():該接口功能是根據儀器的ID返回該儀器下所有的觀測要素信息。
GetData():該接口功能返回指定時間段之間的所有海洋數據。
GetUserInfo():該接口功能獲取平臺所有的用戶信息。
AddUserInfo():該接口功能用于添加平臺用戶信息。
DeleteUserInfo():該接口功能用于刪除平臺用戶信息。
AddSensorData():該接口用于添加傳感器數據信息。
JSON技術
JSON是一種輕量級的數據傳輸格式,易于閱讀和編寫,同時易于與機器解析和生成。相比XML,JSON可以減少解析帶來的性能和兼容性問題。JSON主要有兩種主要形式。一種是“名稱/值”對的集合,一個對象以“{”開始,以“}”結束,每個“名稱”后跟一個“:”,“名稱/值”對之間使用“,”分隔。一種是值的有序集合,通常稱為數組,一個數組以“ [”開始,以“]”結束,值之間用“,”分隔。
組件技術
組件技術是面向對象技術的核心,系統的各個模塊進行組件設計,可以實現模塊的復用。目前的主要組件標準有CORBA、EJB 、COM和CLR等。組件提供一些標準的接口,用戶可以將多個組件組合起來,快速構建一個應用程序。組件區別于一般軟件的主要特點,是其重用性、可定制性、自包容性和互操作性,可以簡單方便的利用可視化工具來實現組件的集成,也是組件技術的一個重要優點。當這些組件開發完成后,將他們組合到一起便得到一個系統,系統中所有組件通過接口通過實現數據交互。
數據庫訪問采用客戶端、服務器、數據庫三層結構,服務器內部通過數據庫連接池技術連接數據庫,數據庫連接池可以有效解決高負載數據庫訪問造成的數據庫性能問題,能夠提高數據庫的使用效率,節約系統資源。客戶端通過調用服務器提供的Webservice接口對數據庫進行操作。海洋數據管理與可視化平臺采用ORACLE數據庫存儲海洋數據,其中數據庫主要的數據表有傳感器信息表(Sensor)、監測數據表(TestData)、坐標系表(Coordinate)、平臺表(Site)、窗口表(Window)、子窗口表(SubWindow)。數據表關系圖如3所示。

圖3 數據表關系圖
其中傳感器信息表主要存儲平臺的傳感器信息,主要包括傳感器編號、傳感器單位、傳感器名稱、傳感器坐標系編號等。平臺表主要存儲所有的平臺信息,主要包括平臺編號、平臺名稱、平臺經度、平臺緯度等。窗口表跟子窗口表主要存儲傳感器界面顯示的窗口信息。坐標系表存儲傳感器在曲線繪制時的坐標系信息,主要包括坐標系編號、平臺編號、坐標系名稱、坐標系單位。監控數據表存儲所有平臺的監測數據值,主要包括平臺編號、監測時間、監測數據等。

圖4 系統主界面
海洋數據管理與可視化平臺的實現界面如圖4所示,該平臺實現海洋數據的管理,提供數據列表和數據下載功能,同時能夠對海洋數據進行可視化,讓用戶直觀的觀察到海洋數據變化,方便用戶對海洋數據進行分析。
1)平臺導航功能界面右側顯示了所有的平臺以及平臺儀器信息,通過選定指定的儀器,進入該儀器下觀測要素的可視化界面。
2)數據可視化功能選定界面右側觀測儀器后,界面左側顯示該儀器下的所有觀測要素,界面中間以曲線的形式顯示海洋數據的變化情況。數據曲線允許用戶對曲線進行放大、拖動、是否顯示瞬時值等功能。可視化顯示方式包含數據曲線顯示、數據比較顯示、玫瑰圖顯示、參數關聯顯示、剖面圖顯示五種曲線顯示功能。用戶可以通過選定不同的按鈕,可以將數據以不同的可視化手段進行顯示。通過點擊標注工具可以對曲線進行標注,添加用戶所需要的信息。用戶通過點擊打印預覽和打印曲線按鈕打印曲線。
3)數據錄入功能用戶以管理員身份登錄后,選定界面上的數據錄入,對平臺和平臺儀器信息進行錄入,以及對海洋數據進行批量導入。
4)數據管理功能數據文件管理主要包括數據列表功能和數據下載功能,用戶可以對海洋數據進行瀏覽和下載海洋數據。數據列表功能將選定平臺儀器下所有的數據以列表的形式展示給用戶,數據下載功能能夠讓用戶根據實際情況有選擇的下載特定的數據。
5)用戶管理功能普通用戶登錄后,選定用戶管理可以進行密碼修改功能,可以查看海洋數據的各種可視化顯示,同時還可以對海洋數據進行瀏覽和下載。管理員用戶除了普通用戶的權限外,可以創建新用戶、對平臺以及儀器信息進行錄入、刪除以及海洋數據的錄入等功能。
本文對海洋數據管理與可視化平臺進行功能分析的基礎上,采用組件技術對系統的各個模塊進行了設計,提高了系統的可重用性,具有較高的可靠性。平臺對海洋數據進行可視化顯示,提供數據曲線顯示、數據比較、剖面顯示、玫瑰圖、參數關聯顯示諸多手段,同時提供數據列表和數據下載功能。該平臺提高了用戶分析海洋數據的效率,為海洋資源開發提供了數據支持。
專項資金:海上試驗場綜合測試與評價集成系統一期建設(No.GHME2012ZC02); 國家公益項目:數據接收與展示系統(No.2011418030);儀器設備接口測試技術規程研究與制定(No.201305033-6)
10.3969/j.issn.1001-8972.2015.02.047