李曉峰,張金鑫,馬國忠,劉松濤
(1.黑龍江省氣象局,黑龍江 哈爾濱 150001;2.黑龍江省氣象信息中心,黑龍江 哈爾濱150030;3.黑龍江省氣象臺(tái),黑龍江 哈爾濱 150030)
在經(jīng)濟(jì)飛速發(fā)展的今天,氣象服務(wù)已不能僅僅局限在粗線條、大尺度的框架內(nèi),人們對(duì)氣象服務(wù)提出了更高的要求,期望氣象部門能提供在時(shí)間和空間上更為精細(xì)、量級(jí)上更為準(zhǔn)確、要素上更為多樣化的天氣預(yù)報(bào)產(chǎn)品。因此進(jìn)一步開展數(shù)值預(yù)報(bào)模式解釋應(yīng)用技術(shù)研究,并在此基礎(chǔ)上開發(fā)和完善基于數(shù)值預(yù)報(bào)模式解釋應(yīng)用技術(shù)的精細(xì)化的氣象要素及其它客觀氣象預(yù)報(bào)系統(tǒng)是當(dāng)前面臨的一個(gè)十分重要的問題。黑龍江省單站數(shù)值預(yù)報(bào)時(shí)序圖服務(wù)系統(tǒng)就是建設(shè)一套基于單站精細(xì)化綜合時(shí)序圖的生成,顯示和分析的系統(tǒng)。單站氣象要素天氣預(yù)報(bào)是現(xiàn)代氣象業(yè)務(wù)體系發(fā)展的需要,此科研成果可直接投入省級(jí)制作和發(fā)布指導(dǎo)預(yù)報(bào)產(chǎn)品,各市地縣都可推廣使用。
C/S(Client/Server)結(jié)構(gòu),即大家熟知的客戶機(jī)和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到Client端和Server端來實(shí)現(xiàn),優(yōu)勢是降低了系統(tǒng)的通訊開銷,數(shù)據(jù)的儲(chǔ)存管理功能較為透明,劣勢是高昂的維護(hù)成本且投資大。
因?yàn)楸鞠到y(tǒng)是在氣象系統(tǒng)內(nèi)部使用,數(shù)據(jù)安全性要求比較高,數(shù)據(jù)也不需要在互聯(lián)網(wǎng)上共享,因此采用Client/Server結(jié)構(gòu)。
本系統(tǒng)采用三層構(gòu)架,包括用戶服務(wù)層、應(yīng)用功能層、數(shù)據(jù)服務(wù)層三個(gè)部分。用戶服務(wù)層:包括省客戶端軟件、市縣的客戶端軟件、數(shù)據(jù)處理客戶端;應(yīng)用功能層:主要是利用現(xiàn)有的計(jì)算機(jī)網(wǎng)絡(luò)傳輸相關(guān)數(shù)據(jù);數(shù)據(jù)服務(wù)層:主要用于數(shù)據(jù)存儲(chǔ)。
本系統(tǒng)包括省客戶端客戶機(jī)、市縣客戶端客戶機(jī)、數(shù)據(jù)庫服務(wù)器、數(shù)據(jù)處理客戶端計(jì)算機(jī)四部分。
省客戶端客戶機(jī):和市縣客戶端客戶機(jī)功能一樣,多一個(gè)可以輸入任意經(jīng)緯度點(diǎn)生成時(shí)序圖的功能。
市縣客戶端客戶機(jī):該軟件主要完成數(shù)值預(yù)報(bào)時(shí)序圖檢索顯示保存等功能??蛻魴C(jī)將從預(yù)報(bào)員收集來的查詢條件提交給數(shù)據(jù)庫服務(wù)器,并將數(shù)據(jù)庫服務(wù)器返回的圖像資料顯示出來,供預(yù)報(bào)員查看和保存。
數(shù)據(jù)庫服務(wù)器:主要是數(shù)據(jù)庫管理軟件運(yùn)行用機(jī)。主要負(fù)責(zé)數(shù)據(jù)收集和保存,為統(tǒng)計(jì)查詢提供數(shù)據(jù)基礎(chǔ)。
數(shù)據(jù)處理客戶端:是自動(dòng)運(yùn)行的軟件。管理員設(shè)定好時(shí)間表后,程序定時(shí)按照參數(shù)文件設(shè)定的各種參數(shù)將各種數(shù)值預(yù)報(bào)的格點(diǎn)文件調(diào)用GEADS,生成83個(gè)臺(tái)站的時(shí)序圖,并將這些圖形文件按照二進(jìn)制方式存入數(shù)據(jù)庫。
數(shù)據(jù)庫采用SQL-SERVER2008,開發(fā)環(huán)境采用VS2010,基于TCP/IP的網(wǎng)絡(luò)構(gòu)架,并利用INTERNET上細(xì)網(wǎng)格數(shù)值預(yù)報(bào)產(chǎn)品制作黑龍江省縣站及任意經(jīng)緯度點(diǎn)的單站綜合時(shí)序圖。
數(shù)據(jù)庫設(shè)計(jì)采用第三范式設(shè)計(jì),即要求一個(gè)數(shù)據(jù)庫表中不包含其它表中已包含的非主關(guān)鍵字信息,保證作業(yè)數(shù)據(jù)冗余度最小。
數(shù)據(jù)表分為二類,第一類是用于存儲(chǔ)系統(tǒng)相關(guān)信息的表,如 TabStations;tab_dish;mod等。 它存儲(chǔ)系統(tǒng)運(yùn)行時(shí)一些重要參數(shù),是維護(hù)系統(tǒng)正常運(yùn)行的關(guān)鍵。第二類是用于存儲(chǔ)時(shí)序圖信息的表,如EC、T639、WRF、NCEP、JP等。它存儲(chǔ)用戶記錄的報(bào)文缺測或逾限信息,是進(jìn)行數(shù)據(jù)統(tǒng)計(jì)分析的基礎(chǔ)。表1是系統(tǒng)主要表和視圖的名稱及相關(guān)說明。
表1 數(shù)據(jù)表說明
客戶端軟件分為數(shù)據(jù)處理客戶端、市縣客戶端、省客戶端三個(gè)部分。
本程序是24 h運(yùn)行,根據(jù)設(shè)定的時(shí)間,進(jìn)行生成最新的節(jié)目表,定時(shí)按照參數(shù)文件設(shè)定的各種參數(shù)將各種數(shù)值預(yù)報(bào)的格點(diǎn)文件調(diào)用GEADS,生成83個(gè)臺(tái)站的時(shí)序圖,并將這些圖形文件按照二進(jìn)制方式存入數(shù)據(jù)庫。本程序采用時(shí)間片運(yùn)行機(jī)制,因此不需要人工干預(yù)。為了防止機(jī)器意外關(guān)機(jī),將程序添加到啟動(dòng)組中,隨著windows一起啟動(dòng)。
本程序主要是市縣級(jí)預(yù)報(bào)員使用,預(yù)報(bào)員選擇數(shù)值預(yù)報(bào)模式,起報(bào)時(shí)間,臺(tái)站名稱等信息,點(diǎn)擊查詢按鈕。程序收集這些查詢信息并將它發(fā)送給數(shù)據(jù)庫服務(wù)器,將服務(wù)器端發(fā)送過來的二進(jìn)制單站數(shù)值預(yù)報(bào)時(shí)序圖給預(yù)報(bào)員進(jìn)行分析預(yù)報(bào),同時(shí)提供圖形的保存及編輯功能。
本程序和市縣的程序基本功能差不多,增加了一個(gè)任意點(diǎn)時(shí)序圖的生成功能。預(yù)報(bào)員通過目錄選擇數(shù)值預(yù)報(bào)文件,然后輸入任意點(diǎn)的經(jīng)緯度信息,點(diǎn)擊查詢。程序會(huì)收集這些信息生成參數(shù)文件并調(diào)用GEADS在臨時(shí)目錄下生成任意點(diǎn)的時(shí)序圖,并顯示給預(yù)報(bào)員。
本系統(tǒng)是完全按照軟件工程理論設(shè)計(jì)實(shí)現(xiàn)的,具有很好的接口和良好的可擴(kuò)展性,能夠適應(yīng)預(yù)報(bào)人員的需要,并可以根據(jù)日后業(yè)務(wù)需求的擴(kuò)展進(jìn)行擴(kuò)展。本系統(tǒng)文檔齊全,幫助系統(tǒng)詳細(xì),使用人員經(jīng)過簡單的培訓(xùn)即可使用。本課題歷時(shí)一年時(shí)間,經(jīng)歷了前期調(diào)研需求分析,中期開發(fā)調(diào)試及試運(yùn)行,后期課題驗(yàn)收三個(gè)階段,已經(jīng)投入正常的業(yè)務(wù)運(yùn)行,取得了很好的效果。