李遠(yuǎn)芳 白毅平
(1、國家海洋局南海預(yù)報中心,廣東 廣州 510300 2、中國海洋大學(xué)環(huán)境科學(xué)與工程學(xué)院,山東 青島 266003)
南海區(qū)域,地處廣闊,又是我國經(jīng)濟(jì)發(fā)展的前沿,因此該區(qū)域海洋預(yù)報尤為受到社會各界關(guān)注,日本,香港,臺灣及澳門地區(qū)都特別關(guān)注南海地區(qū)的海洋預(yù)報,這里由于受地理位置和地形條件的影響,極易受到大風(fēng)、巨浪、臺風(fēng)以及風(fēng)暴潮等災(zāi)害的影響。隨著我國對南海區(qū)域維權(quán)的開展,漁業(yè)等生產(chǎn)活動的不斷擴(kuò)大,為了長期系統(tǒng)的對南海沿岸進(jìn)行海洋環(huán)境監(jiān)測,南海區(qū)域中心每天接收分布在南海29個海洋監(jiān)測站的監(jiān)測資料,通過專線傳輸已經(jīng)形成了南海海洋環(huán)境實時監(jiān)測系統(tǒng),并在此基礎(chǔ)上開發(fā)了一個對資料控制、數(shù)據(jù)顯示、統(tǒng)計下載、容災(zāi)備份、自動報警的web應(yīng)用平臺,監(jiān)視海洋水文氣象變化,為南海區(qū)域海洋預(yù)報及防汛指揮部門提供實況數(shù)據(jù),同時積累了豐富的海洋氣象觀測資料,使之成為氣象決策服務(wù)的重要依據(jù),為防災(zāi)抗災(zāi)發(fā)揮積極作用。
2.1 南海海洋環(huán)境監(jiān)測系統(tǒng)組成
南海海洋環(huán)境監(jiān)測系統(tǒng)主要由南海海洋環(huán)境監(jiān)測站、中心數(shù)據(jù)庫、業(yè)務(wù)化數(shù)據(jù)應(yīng)用平臺三部分組成。安裝在南海區(qū)域沿岸及平臺上的海洋環(huán)境監(jiān)測站,并設(shè)立顯示和數(shù)據(jù)采集、接收、保存的計算機(jī)終端,實時監(jiān)測海洋環(huán)境觀測數(shù)據(jù),通過海洋岸站與南海區(qū)域中心之間的數(shù)據(jù)專線或GPRS無線傳輸網(wǎng)絡(luò)將數(shù)據(jù)發(fā)送到南海區(qū)域中心數(shù)據(jù)庫,不同用戶通過web瀏覽器可以交互查詢調(diào)閱單個或多個、實況或歷史各類監(jiān)測資料以及統(tǒng)計下載數(shù)據(jù),管理人員還可以通過其應(yīng)用平臺進(jìn)行設(shè)備監(jiān)控和授權(quán)管理。
2.2 數(shù)據(jù)庫設(shè)計
中心數(shù)據(jù)庫采用SQLServer2003,是典型的關(guān)系型數(shù)據(jù)庫,具有簡單、方便、易用、管理功能強(qiáng)等特點,特別是其應(yīng)用開發(fā)接口簡單。主要數(shù)據(jù)庫表包括站點信息表、運行日志表、原始記錄表、觀測要素資料表、日資料統(tǒng)計表等。站點信息表保存南海區(qū)域各個海洋監(jiān)測站的序號、地理位置、監(jiān)測項目、風(fēng)速風(fēng)向儀高度、維護(hù)人員聯(lián)系電話等資料數(shù)據(jù)。運行日志表主要是記錄保存系統(tǒng)運行狀態(tài),包括站點序號、開始時間、結(jié)束時間、維修維護(hù)項目描述等由子站程序和主站程序在遇到特殊事件時填寫。原始記錄表保存海洋環(huán)境監(jiān)測站的實時定時數(shù)據(jù),包括全部各類海洋水文及氣象要素,根據(jù)各個站點的觀測項目選擇使用,將所有自動站整合在一個數(shù)據(jù)庫表中,用時間和站點代號及數(shù)據(jù)類型作為主鍵。
記錄大風(fēng)數(shù)據(jù),起止時間及風(fēng)向風(fēng)速。
日資料統(tǒng)計表記錄當(dāng)天(20時~20時)的高潮時間、低潮時間、水位、平均風(fēng)速、天氣性質(zhì)、浪高、波高、增減水等。
2.3 數(shù)據(jù)保存及通訊程序
通過對海洋環(huán)境監(jiān)測站數(shù)據(jù)采集接收軟件進(jìn)行修改,使之能輸出實時資料。實時資料文件采用固定名稱,時間在文件內(nèi)部指定。子站通過基于TCP/IP協(xié)議的ODBC數(shù)據(jù)源接口,使用Microsoft ActiveX數(shù)據(jù)對象(ADO)來快速建立與助戰(zhàn)數(shù)據(jù)庫連接,將數(shù)據(jù)添加到中心數(shù)據(jù)庫。
海洋環(huán)境監(jiān)測站資料傳輸主要有兩個功能模塊組成:備份和入庫。根據(jù)備份和入庫程序具有時間性和重復(fù)性的特定,采用通過Windows系統(tǒng)自帶的定時任務(wù)功能,調(diào)度各模塊運行,并監(jiān)視其運行狀況。針對不同模塊設(shè)置不同參數(shù),如啟動時間、時間間隔、最大運行時間等。
由于南海海洋環(huán)境監(jiān)測系統(tǒng)涉及整個南海區(qū)域的海岸線觀測、涉及四個海洋環(huán)境中心站、多個生產(chǎn)單位、百萬漁民、資料應(yīng)用范圍廣,而且用戶需求也不一樣,這就要求資料平臺具有多用戶、操作簡單快捷、數(shù)據(jù)顯示直觀的特點。采用ASP及ASP.NET動態(tài)網(wǎng)頁進(jìn)行數(shù)據(jù)發(fā)布既滿足范圍廣用戶多的需求,也滿足用戶圖象話瀏覽的要求,且操作簡單。
3.1 功能簡介
3.1.1 查詢功能
水文氣象海洋監(jiān)測數(shù)據(jù)顯示主要有兩種方式:文本和圖象。
文本數(shù)據(jù)查詢。文本數(shù)據(jù)是直接可以讀出的要素數(shù)值,如實時資料和定時資料。這類資料用戶關(guān)心的瞬時狀態(tài),需要精確的數(shù)值,且要素全面,一般采用表格形式。主要有多站實時、單站實時、單站定時等頁面,用戶可以通過頁面的向前向后一月、一周、一天導(dǎo)航鏈接進(jìn)行查詢,也可以通過快速日歷(公歷或農(nóng)歷)進(jìn)行直接定位,可以直接切換到圖形查詢方式。
動態(tài)圖象查詢。對于時間序列資料,如潮位、風(fēng)力、氣溫、氣壓等,用戶需要了解某一時間段內(nèi)的變化趨勢,以尋找其規(guī)律性,這時采用文本資料列表往往不夠直接明了。另外,對于某些非專業(yè)用戶,對于精確的數(shù)據(jù)往往不能全面了解,如風(fēng)向的方位等,通過圖示的方法就較容易理解。圖象資料顯示同樣通過時間進(jìn)行導(dǎo)航,可以任意指定起止時間,根據(jù)需要選擇時間長度。
3.1.2 監(jiān)控功能
監(jiān)控功能包括設(shè)備運行狀況和沿岸海況的監(jiān)視。設(shè)備運行狀況的監(jiān)視是通過查詢運行日志表實現(xiàn),對于設(shè)備故障可以直接發(fā)現(xiàn),如果沒有最新運行日志記錄則表明網(wǎng)絡(luò)故障。沿岸海況監(jiān)視是定時根據(jù)預(yù)先設(shè)定的報警條件對原始記錄表進(jìn)行檢查。監(jiān)控功能運行在預(yù)報平臺后臺運行,只在需要報警時彈出窗口。
3.1.3 統(tǒng)計功能
一般常規(guī)統(tǒng)計資料可以直接查詢?nèi)召Y料統(tǒng)計表,對于特殊需要可以統(tǒng)計頁面實現(xiàn)。通過與用戶交互,可以指定資料類型、站點名稱、要素名稱及范圍、時間標(biāo)記以及返回類型(最大、最小、平均、合計、出現(xiàn)次數(shù))等等。
3.1.4 下載功能
由于原始資料以數(shù)據(jù)庫的形式進(jìn)行保存,為了方便用戶將資料用于研究等用途,應(yīng)用平臺還特意編制了資料下載頁面。用戶可以選擇單個站,也可選擇多個站,分別進(jìn)行小時資料和日資料下載,平臺會將下載的資料保存保存在剔除了所有裝飾頁面中,通過瀏覽器另存為本地文本文件。
3.2 主要技術(shù)方法
ASP動態(tài)網(wǎng)頁技術(shù)。ASP(Active Server Pages)是在服務(wù)器端嵌入腳本語言實現(xiàn)動態(tài)可交互的網(wǎng)頁制作技術(shù)。利用服務(wù)器端腳本可以建立數(shù)據(jù)庫連接,并將根據(jù)特定條件從數(shù)據(jù)庫中檢索得到的數(shù)據(jù)結(jié)果放到普通的HTML代碼中,且這些服務(wù)器端腳本不依賴于任何瀏覽器和用戶使用的平臺。
ASP.NET動態(tài)網(wǎng)頁圖象技術(shù)。網(wǎng)頁上的圖象一般是靜態(tài)的,以文件形式存在,對于潮位曲線等根據(jù)數(shù)據(jù)動態(tài)生成的圖象無法事先生成文件,即使按給定時間段生成圖象,不但查詢不方便,而且隨著數(shù)據(jù)增加,圖片文件數(shù)量不斷增加,進(jìn)而影響系統(tǒng)整體性能。
首先在Microsoft Developer Studio開發(fā)環(huán)境下建立一個Visual C#下的ASP.NET WEB應(yīng)用程序項目,將頁面改名保存為云圖頁面tideline.aspx,該頁面負(fù)責(zé)根據(jù)時間及站點序號從數(shù)據(jù)庫中導(dǎo)出潮位數(shù)據(jù),再利用GDI+類庫中的Bitmap子類初始化函數(shù)生成Bitmap子類的實例,根據(jù)潮位數(shù)據(jù)進(jìn)行繪制潮位曲線,最后調(diào)用Bitmap子類的Save方法把圖象字節(jié)流傳遞給與Page關(guān)聯(lián)的HttpResponse對象,進(jìn)而實現(xiàn)潮位數(shù)據(jù)圖象的瀏瀏覽器查閱。
用戶管理。用戶管理采用IP和用戶名+密碼兩種論證方式。當(dāng)用戶開始瀏覽時,首先檢查終端計算機(jī)ip地址是否已經(jīng)注冊成為擁護(hù),并根據(jù)注冊信息顯示相應(yīng)站點、種類數(shù)據(jù);如果沒有注冊,進(jìn)入登陸也面,登陸成功后,再根據(jù)用戶信息顯示相應(yīng)數(shù)據(jù);如果登陸不成功,也可以進(jìn)行資料查詢,只能查詢當(dāng)前水文氣象實況,無權(quán)查詢歷史及水文氣象數(shù)據(jù),對于注冊用戶根據(jù)其級別只能再預(yù)先設(shè)定范圍內(nèi)查詢資料。
南海海洋環(huán)境監(jiān)測數(shù)據(jù)庫及WEB應(yīng)用平臺自2008年投入使用以來,以其友好明了的界面、簡單通用的操作、全面豐富的數(shù)據(jù)、特別是動態(tài)潮汐、風(fēng)況等要素演變曲線,極大方便預(yù)報員的日常預(yù)報及工程設(shè)計管理人員使用,不但拓寬了資料應(yīng)用范圍,而且實現(xiàn)多站數(shù)據(jù)集中發(fā)布,多單位共享,滿足了用戶不同需求,在海洋環(huán)境預(yù)報,及防災(zāi)減災(zāi)等方面發(fā)揮了重要作用。
[1]蔡新國。通用環(huán)境監(jiān)測數(shù)據(jù)庫軟件 EDS[J].江蘇環(huán)境科技,1993.
[2]海洋監(jiān)測質(zhì)量保證手冊[M].北京:海洋出版社,2000.
[3]asp3程序員參考手冊(英)Richard Anderson,機(jī)械工業(yè)出版社,2001.
[4]VISUAL C#案例教程。北京希望電子出版社,2002.