陳俊寧
海洋數(shù)據(jù)管理與可視化平臺設計
陳俊寧
陳俊寧1胡乃軍2劉 青3
1.中國海洋大學信息科學與工程學院;2.青島市工商局信息中心;3.中國海洋大學圖書館
陳俊寧(1989-)男,碩士研究生,研究領域為軟件工程;胡乃軍(1964-)男,本科, 高級工程師,研究領域為信息管理;劉青(1974-)女, 碩士研究生。
海洋數(shù)據(jù)復雜多樣,海洋數(shù)據(jù)的管理與可視化困難。針對這些問題,提出數(shù)據(jù)管理及可視化軟件設計方案,平臺各模塊采用基于組件的軟件開發(fā)技術進行了詳細設計,提高了系統(tǒng)的可擴展性和模塊重用性。實際應用表明,該設計方案有效、可行,同時為其他海洋數(shù)據(jù)管理與可視化平臺設計提供了借鑒。
目前在對海洋資源開發(fā)利用之前,需要對試驗場區(qū)海域的環(huán)境進行長時間的調查,海上試驗場提供場區(qū)的環(huán)境調查數(shù)據(jù)主要包括溫度、鹽度、風向、風速、濕度、波高、波向、潮汐等海洋數(shù)據(jù)。通過海上試驗場能夠充分掌握整個試驗場的環(huán)境狀況。對于大量來之不易的海洋數(shù)據(jù),如何快速而有效地進行海洋數(shù)據(jù)的存儲、管理、分析、處理和共享,是海洋觀測資料管理的一個極其重要的任務。為此建立一套以海洋數(shù)據(jù)為對象,集海洋數(shù)據(jù)管理、數(shù)據(jù)分析處理和數(shù)據(jù)發(fā)布共享為一體的數(shù)據(jù)管理與可視化系統(tǒng),是海洋防災減災、海洋工程開發(fā)、海洋環(huán)境保護、海洋國防安全等一系列涉海事業(yè)發(fā)展的重要基礎之一。國家海洋908專項開展了數(shù)字海洋可視化系統(tǒng)的相關研究工作,研究內容包括海洋數(shù)據(jù)采集、處理、分析計算、數(shù)據(jù)庫管理以及集成應用,其重點和核心是海洋數(shù)據(jù)的可視化集成應用。
海洋數(shù)據(jù)管理與可視化平臺采用分層結構設計,分為數(shù)據(jù)接收層、數(shù)據(jù)管理層、數(shù)據(jù)應用層。每一層采用組件開發(fā)模式,采用組件開發(fā)模式有助于開發(fā)效率,提高代碼的重用性。首先平臺將海洋數(shù)據(jù)存儲到數(shù)據(jù)庫服務器中,同時對外提供數(shù)據(jù)服務接口。平臺調用數(shù)據(jù)服務接口,對數(shù)據(jù)庫中的數(shù)據(jù)進行訪問,通過可視化手段對海洋數(shù)據(jù)進行顯示。
體系結構
海洋數(shù)據(jù)管理與可視化平臺總體結構采用分層結構,由數(shù)據(jù)接收層模塊、數(shù)據(jù)管理層模塊、數(shù)據(jù)應用層模塊組成,各層之間具有較強的獨立性??傮w結構如圖1所示。
圖1 系統(tǒng)總體結構
其中數(shù)據(jù)接收層負責對海洋原始數(shù)據(jù)進行接收、預處理,并將海洋數(shù)據(jù)存儲到數(shù)據(jù)服務器中。數(shù)據(jù)管理層負責對數(shù)據(jù)庫進行設計,對外提供WebService接口服務,為數(shù)據(jù)應用層提供海洋原始數(shù)據(jù)。數(shù)據(jù)應用層負責對用戶請求進行處理,對海洋數(shù)據(jù)進行曲線顯示、玫瑰圖顯示、剖面圖顯示、數(shù)據(jù)比較顯示等,使用戶能夠直觀的觀察到數(shù)據(jù)變化。
功能結構
平臺的功能包括地圖導航模塊、數(shù)據(jù)管理模塊、數(shù)據(jù)預處理模塊、可視化模塊、用戶管理模塊五部分。系統(tǒng)的功能結構如圖2所示。
1)地圖導航模塊對平臺以及平臺上的儀器進行顯示,用戶能夠直觀的觀察到平臺以及平臺儀器的基本信息。單擊相應的圖標可以進入該平臺下海洋數(shù)據(jù)可視化界面。
2)數(shù)據(jù)管理模塊主要提供數(shù)據(jù)列表和數(shù)據(jù)下載功能,系統(tǒng)將海洋數(shù)據(jù)以列表的形式提供給用戶。用戶可以根據(jù)自己的需要對海洋數(shù)據(jù)進行下載,以CSV格式保存到本地。
3)數(shù)據(jù)預處理模塊將原始海洋數(shù)據(jù)文件,解析并存儲到數(shù)據(jù)庫中,對外提供WebService接口服務。
圖2 系統(tǒng)功能結構
4)可視化模塊將最近一段時間內海洋數(shù)據(jù)繪制成曲線形式進行顯示??梢暬@示主要有數(shù)據(jù)曲線顯示、數(shù)據(jù)玫瑰圖顯示、數(shù)據(jù)剖面圖顯示、數(shù)據(jù)比較顯示、參數(shù)關聯(lián)曲線顯示。數(shù)據(jù)曲線顯示將各種海洋數(shù)據(jù)隨時間變化趨勢以曲線形式進行顯示,同時提供曲線放大、拖放、標注功能,以方便用戶分析數(shù)據(jù)。玫瑰圖組件顯示玫瑰圖所處的極坐標系,在每個方向上顯示當前頻率和數(shù)值。數(shù)據(jù)剖面顯示對某個儀器不同深度的傳感器監(jiān)測的數(shù)據(jù)以曲線形式顯示,可以直觀的顯示不同的深度的觀測要素數(shù)值變化。數(shù)據(jù)比較顯示將同一類型儀器監(jiān)測到的數(shù)據(jù)進行比較。參數(shù)關聯(lián)顯示將兩種具有關聯(lián)關系的觀測要素進行可視化顯示,使用戶直觀的觀察到二者之間的聯(lián)系。
5)用戶管理模塊主要是控制對系統(tǒng)的操作權限,分為管理員用戶和普通用戶。管理員用戶擁有系統(tǒng)的最高權限,可以為可視化平臺添加、修改海洋平臺和海洋儀器信息和對海洋數(shù)據(jù)進行錄入,同時可以創(chuàng)建管理員和普通用戶。普通用戶可以查看海洋平臺跟海洋儀器下數(shù)據(jù)的可視化,同時可以對海洋數(shù)據(jù)進行下載等。
接口設計
數(shù)據(jù)訪問接口為應用層組件提供數(shù)據(jù)訪問通道, 客戶端通過調用WebService接口對數(shù)據(jù)庫進行數(shù)據(jù)訪問。數(shù)據(jù)服務接口以JASON對象形式返回,JASON比傳統(tǒng)XML更具有輕量級,傳輸數(shù)據(jù)量少,傳輸比XML經濟,因此將數(shù)據(jù)編碼成JASON形式進行數(shù)據(jù)傳輸。JSON是一種輕量級的數(shù)據(jù)交換格式規(guī)范,適用于多種異構環(huán)境之間進行數(shù)據(jù)傳輸。一個WebService就是一個應用程序,它可以通過與廠商無關的通信協(xié)議(如HTTP)從其他系統(tǒng)跨網絡接受XML格式的請求,同時,WebService也是一種松耦合、面向服務的架構,服務之間通過定義良好的接口聯(lián)系起來,其獨立于操作系統(tǒng)、硬件平臺、編程語言的實現(xiàn)方式,以及基于XML的數(shù)據(jù)封裝,使WebService廣泛地應用與Web開發(fā)中。系統(tǒng)中常用的服務接口如下。
AddPlatFormInfo():該接口功能用于用戶添加平臺信息。
GetPlatFormInfo():該接口功能用于獲取所有的平臺信息。
DeletePlatFormInfoById():該接口功能用于刪除特定的平臺信息。
AddInstrumentInfo():該接口功能用于添加平臺儀器信息。
GetInstrumentInfoById():該接口功能是根據(jù)平臺ID返回所有的儀器信息。
DeleteInstrumentInfoById():該接口功能用于刪除指定的儀器信息。
AddSensorInfo():該接口用于添加儀器的傳感器信息。
sGetSensorById():該接口功能是根據(jù)儀器的ID返回該儀器下所有的觀測要素信息。
GetData():該接口功能返回指定時間段之間的所有海洋數(shù)據(jù)。
GetUserInfo():該接口功能獲取平臺所有的用戶信息。
AddUserInfo():該接口功能用于添加平臺用戶信息。
DeleteUserInfo():該接口功能用于刪除平臺用戶信息。
AddSensorData():該接口用于添加傳感器數(shù)據(jù)信息。
JSON技術
JSON是一種輕量級的數(shù)據(jù)傳輸格式,易于閱讀和編寫,同時易于與機器解析和生成。相比XML,JSON可以減少解析帶來的性能和兼容性問題。JSON主要有兩種主要形式。一種是“名稱/值”對的集合,一個對象以“{”開始,以“}”結束,每個“名稱”后跟一個“:”,“名稱/值”對之間使用“,”分隔。一種是值的有序集合,通常稱為數(shù)組,一個數(shù)組以“ [”開始,以“]”結束,值之間用“,”分隔。
組件技術
組件技術是面向對象技術的核心,系統(tǒng)的各個模塊進行組件設計,可以實現(xiàn)模塊的復用。目前的主要組件標準有CORBA、EJB 、COM和CLR等。組件提供一些標準的接口,用戶可以將多個組件組合起來,快速構建一個應用程序。組件區(qū)別于一般軟件的主要特點,是其重用性、可定制性、自包容性和互操作性,可以簡單方便的利用可視化工具來實現(xiàn)組件的集成,也是組件技術的一個重要優(yōu)點。當這些組件開發(fā)完成后,將他們組合到一起便得到一個系統(tǒng),系統(tǒng)中所有組件通過接口通過實現(xiàn)數(shù)據(jù)交互。
數(shù)據(jù)庫訪問采用客戶端、服務器、數(shù)據(jù)庫三層結構,服務器內部通過數(shù)據(jù)庫連接池技術連接數(shù)據(jù)庫,數(shù)據(jù)庫連接池可以有效解決高負載數(shù)據(jù)庫訪問造成的數(shù)據(jù)庫性能問題,能夠提高數(shù)據(jù)庫的使用效率,節(jié)約系統(tǒng)資源??蛻舳送ㄟ^調用服務器提供的Webservice接口對數(shù)據(jù)庫進行操作。海洋數(shù)據(jù)管理與可視化平臺采用ORACLE數(shù)據(jù)庫存儲海洋數(shù)據(jù),其中數(shù)據(jù)庫主要的數(shù)據(jù)表有傳感器信息表(Sensor)、監(jiān)測數(shù)據(jù)表(TestData)、坐標系表(Coordinate)、平臺表(Site)、窗口表(Window)、子窗口表(SubWindow)。數(shù)據(jù)表關系圖如3所示。
圖3 數(shù)據(jù)表關系圖
其中傳感器信息表主要存儲平臺的傳感器信息,主要包括傳感器編號、傳感器單位、傳感器名稱、傳感器坐標系編號等。平臺表主要存儲所有的平臺信息,主要包括平臺編號、平臺名稱、平臺經度、平臺緯度等。窗口表跟子窗口表主要存儲傳感器界面顯示的窗口信息。坐標系表存儲傳感器在曲線繪制時的坐標系信息,主要包括坐標系編號、平臺編號、坐標系名稱、坐標系單位。監(jiān)控數(shù)據(jù)表存儲所有平臺的監(jiān)測數(shù)據(jù)值,主要包括平臺編號、監(jiān)測時間、監(jiān)測數(shù)據(jù)等。
圖4 系統(tǒng)主界面
海洋數(shù)據(jù)管理與可視化平臺的實現(xiàn)界面如圖4所示,該平臺實現(xiàn)海洋數(shù)據(jù)的管理,提供數(shù)據(jù)列表和數(shù)據(jù)下載功能,同時能夠對海洋數(shù)據(jù)進行可視化,讓用戶直觀的觀察到海洋數(shù)據(jù)變化,方便用戶對海洋數(shù)據(jù)進行分析。
1)平臺導航功能界面右側顯示了所有的平臺以及平臺儀器信息,通過選定指定的儀器,進入該儀器下觀測要素的可視化界面。
2)數(shù)據(jù)可視化功能選定界面右側觀測儀器后,界面左側顯示該儀器下的所有觀測要素,界面中間以曲線的形式顯示海洋數(shù)據(jù)的變化情況。數(shù)據(jù)曲線允許用戶對曲線進行放大、拖動、是否顯示瞬時值等功能。可視化顯示方式包含數(shù)據(jù)曲線顯示、數(shù)據(jù)比較顯示、玫瑰圖顯示、參數(shù)關聯(lián)顯示、剖面圖顯示五種曲線顯示功能。用戶可以通過選定不同的按鈕,可以將數(shù)據(jù)以不同的可視化手段進行顯示。通過點擊標注工具可以對曲線進行標注,添加用戶所需要的信息。用戶通過點擊打印預覽和打印曲線按鈕打印曲線。
3)數(shù)據(jù)錄入功能用戶以管理員身份登錄后,選定界面上的數(shù)據(jù)錄入,對平臺和平臺儀器信息進行錄入,以及對海洋數(shù)據(jù)進行批量導入。
4)數(shù)據(jù)管理功能數(shù)據(jù)文件管理主要包括數(shù)據(jù)列表功能和數(shù)據(jù)下載功能,用戶可以對海洋數(shù)據(jù)進行瀏覽和下載海洋數(shù)據(jù)。數(shù)據(jù)列表功能將選定平臺儀器下所有的數(shù)據(jù)以列表的形式展示給用戶,數(shù)據(jù)下載功能能夠讓用戶根據(jù)實際情況有選擇的下載特定的數(shù)據(jù)。
5)用戶管理功能普通用戶登錄后,選定用戶管理可以進行密碼修改功能,可以查看海洋數(shù)據(jù)的各種可視化顯示,同時還可以對海洋數(shù)據(jù)進行瀏覽和下載。管理員用戶除了普通用戶的權限外,可以創(chuàng)建新用戶、對平臺以及儀器信息進行錄入、刪除以及海洋數(shù)據(jù)的錄入等功能。
本文對海洋數(shù)據(jù)管理與可視化平臺進行功能分析的基礎上,采用組件技術對系統(tǒng)的各個模塊進行了設計,提高了系統(tǒng)的可重用性,具有較高的可靠性。平臺對海洋數(shù)據(jù)進行可視化顯示,提供數(shù)據(jù)曲線顯示、數(shù)據(jù)比較、剖面顯示、玫瑰圖、參數(shù)關聯(lián)顯示諸多手段,同時提供數(shù)據(jù)列表和數(shù)據(jù)下載功能。該平臺提高了用戶分析海洋數(shù)據(jù)的效率,為海洋資源開發(fā)提供了數(shù)據(jù)支持。
專項資金:海上試驗場綜合測試與評價集成系統(tǒng)一期建設(No.GHME2012ZC02); 國家公益項目:數(shù)據(jù)接收與展示系統(tǒng)(No.2011418030);儀器設備接口測試技術規(guī)程研究與制定(No.201305033-6)
10.3969/j.issn.1001-8972.2015.02.047