陸明 張玨 張瑋瑋* 朱占云
(1.浙江省氣象局,浙江 杭州 310002;2.浙江省氣象服務(wù)中心,浙江 杭州 310017)
近年來(lái)隨著氣象科技水平的提高和專業(yè)氣象服務(wù)的發(fā)展,水文氣象服務(wù)在業(yè)務(wù)范圍、服務(wù)深度等方面不斷得到拓展,在專業(yè)氣象服務(wù)中占據(jù)了越來(lái)越重要的地位。
目前浙江省水文氣象服務(wù)主要包括省內(nèi)6大水庫(kù)流域內(nèi)月、季、年氣候概況,水庫(kù)流域旬、月、季雨量預(yù)報(bào)服務(wù),0~15 d內(nèi)水庫(kù)流域客觀化面雨量預(yù)報(bào)服務(wù)等內(nèi)容,服務(wù)內(nèi)容涵蓋各主要水庫(kù)不同需求時(shí)段的實(shí)況概況和預(yù)報(bào)等內(nèi)容,服務(wù)廣度、深度都有突破,服務(wù)產(chǎn)品繁多而雜亂。與此同時(shí),人工制作產(chǎn)品仍然是水文氣象服務(wù)的主流,為了提高服務(wù)質(zhì)量,業(yè)務(wù)人員往往需要通過(guò)各種途徑來(lái)獲取最新氣象信息,缺乏一個(gè)集查詢、預(yù)報(bào)和服務(wù)產(chǎn)品生成等功能于一體的業(yè)務(wù)服務(wù)系統(tǒng),只能依賴傳統(tǒng)的水庫(kù)服務(wù)制作流程,以致于無(wú)法滿足日益增加的業(yè)務(wù)需求,工作效率及準(zhǔn)確率都大打折扣,嚴(yán)重制約了水文氣象服務(wù)的持續(xù)健康發(fā)展。
本文基于業(yè)務(wù)痛點(diǎn)設(shè)計(jì)與開發(fā)了面向?qū)I(yè)氣象服務(wù)業(yè)務(wù)人員日常服務(wù)的水文氣象服務(wù)業(yè)務(wù)系統(tǒng)。業(yè)務(wù)人員可實(shí)時(shí)、便捷地獲取水庫(kù)流域內(nèi)各個(gè)模式的雨量預(yù)報(bào)信息、實(shí)時(shí)面雨量信息及其他相關(guān)信息,并實(shí)現(xiàn)流域中長(zhǎng)期氣候概況的自動(dòng)生成,為水文評(píng)估、水文服務(wù)提供了統(tǒng)一的業(yè)務(wù)環(huán)境,提高了水文氣象服務(wù)工作的實(shí)效性、準(zhǔn)確性和規(guī)范性,為水庫(kù)用戶的防災(zāi)減災(zāi)提供了科學(xué)有力的保障。
浙江省水文氣象服務(wù)業(yè)務(wù)系統(tǒng)基于Microsoft Visual Studio平臺(tái)利用C#語(yǔ)言和C/S架構(gòu)進(jìn)行開發(fā),利用Photoshop圖形處理軟件進(jìn)行界面設(shè)計(jì)。后臺(tái)使用了SQL Server作為信息產(chǎn)品數(shù)據(jù)庫(kù),配合FORTRAN語(yǔ)言實(shí)現(xiàn)水庫(kù)流域客觀化面雨量產(chǎn)品和雨量評(píng)估產(chǎn)品的制作和統(tǒng)計(jì)。系統(tǒng)服務(wù)器端由基于Win2008的Web服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器、數(shù)據(jù)備份服務(wù)器組成,可根據(jù)系統(tǒng)負(fù)載情況動(dòng)態(tài)增加,實(shí)現(xiàn)各類氣象數(shù)據(jù)資料的整合入庫(kù)和加工處理;客戶端主要面向業(yè)務(wù)人員,要求設(shè)備具備.NET 4.0運(yùn)行環(huán)境。安全方面,對(duì)核心數(shù)據(jù)區(qū)的數(shù)據(jù)庫(kù)服務(wù)器和綜合服務(wù)網(wǎng)站服務(wù)器采用訪問(wèn)控制增強(qiáng)技術(shù)和網(wǎng)絡(luò)安全技術(shù),實(shí)施網(wǎng)絡(luò)入侵檢測(cè)并設(shè)置安全通道,對(duì)網(wǎng)絡(luò)資源訪問(wèn)或與網(wǎng)絡(luò)服務(wù)進(jìn)行安全保護(hù)。整個(gè)平臺(tái)軟件采用模塊化程序設(shè)計(jì),層次清楚,兼容性強(qiáng)。
系統(tǒng)在開發(fā)模式上采用基于C/S的應(yīng)用層、技術(shù)支撐層、數(shù)據(jù)層、基礎(chǔ)軟件層及基礎(chǔ)設(shè)施層5層體系結(jié)構(gòu)。
應(yīng)用層統(tǒng)一集成各個(gè)處理功能,直接和業(yè)務(wù)數(shù)據(jù)進(jìn)行交互,滿足所有用戶對(duì)系統(tǒng)的使用要求;技術(shù)支撐層包括系統(tǒng)的開發(fā)框架、第三方功能組件、通信協(xié)議等;數(shù)據(jù)層為系統(tǒng)中各種數(shù)據(jù)提供存儲(chǔ)服務(wù),主要包含系統(tǒng)配置庫(kù)、水文信息庫(kù)、氣象資料庫(kù)、氣候資料庫(kù)及地理數(shù)據(jù)庫(kù);基礎(chǔ)軟件層包括軟件開發(fā)包、數(shù)據(jù)庫(kù)、運(yùn)行所需的應(yīng)用軟件;基礎(chǔ)設(shè)施層為系統(tǒng)提供各種運(yùn)行所需的硬件環(huán)境,包括主機(jī)及存儲(chǔ)設(shè)備,為系統(tǒng)最終的實(shí)現(xiàn)及運(yùn)行提供基礎(chǔ)硬件環(huán)境支撐,系統(tǒng)總體開發(fā)結(jié)構(gòu)如圖1所示。
水文氣象業(yè)務(wù)服務(wù)系統(tǒng)是面向一線業(yè)務(wù)人員的日常業(yè)務(wù)系統(tǒng),確定了整體框架后,通過(guò)對(duì)功能和流程的分析,將整個(gè)系統(tǒng)平臺(tái)分為短臨監(jiān)控、客觀化面雨量預(yù)報(bào)、預(yù)報(bào)服務(wù)制作、面雨量預(yù)報(bào)效果評(píng)估、系統(tǒng)管理等5大功能模塊。模塊設(shè)計(jì)上以簡(jiǎn)化水庫(kù)服務(wù)材料制作流程、提高工作效率為基本原則,實(shí)現(xiàn)服務(wù)材料的一鍵式制作、預(yù)覽、保存、發(fā)布(圖2)。
圖2 浙江省水文氣象業(yè)務(wù)服務(wù)系統(tǒng)模塊示意圖
短臨監(jiān)控模塊:由ArcGIS地圖及水庫(kù)水雨情分析兩部分構(gòu)成,方便業(yè)務(wù)人員在強(qiáng)降水過(guò)程中及時(shí)響應(yīng)開展服務(wù)。通過(guò)接入實(shí)時(shí)更新的水庫(kù)實(shí)況面雨量和水庫(kù)實(shí)時(shí)水位,實(shí)現(xiàn)30 min更新一次PUP模式未來(lái)6 h面雨量預(yù)報(bào)(汛期15 min更新一次),1 h更新一次ZJINCA模式未來(lái)12 h面雨量預(yù)報(bào),以及3 h更新一次ZJWARRS模式未來(lái)24 h面雨量預(yù)報(bào)。同時(shí),模塊提供基于GIS地圖的水庫(kù)雨情查詢、簡(jiǎn)要統(tǒng)計(jì)信息智能化顯示、面雨量趨勢(shì)分析等功能。
客觀服務(wù)產(chǎn)品模塊:提供基于GIS技術(shù)的郵票圖、地圖分布、中期降水趨勢(shì)3大功能。通過(guò)對(duì)各水庫(kù)基于行政區(qū)域、水庫(kù)類型等進(jìn)行分類,接入OCF、ECMWF、JMA、GFS、GRAPES等多家數(shù)值預(yù)報(bào)資料,為專業(yè)預(yù)報(bào)員開展全省水庫(kù)中短期面雨量預(yù)報(bào)提供決策參考。
氣象預(yù)報(bào)服務(wù)模塊:以簡(jiǎn)化水庫(kù)服務(wù)材料制作流程、提高工作效率為基本原則,實(shí)現(xiàn)服務(wù)材料的一鍵式制作、預(yù)覽、保存、發(fā)布。
預(yù)報(bào)評(píng)估模塊:針對(duì)ECF、JMA、GFS、GRAPES及OCF模式對(duì)各個(gè)水庫(kù)的逐24 h客觀面雨量預(yù)報(bào)開展實(shí)時(shí)評(píng)估,提供評(píng)估指標(biāo)查詢,可將圖像及數(shù)據(jù)結(jié)果輸出至Word文檔,滿足臨時(shí)服務(wù)的需要。
系統(tǒng)管理模塊:針對(duì)整個(gè)平臺(tái)的用戶信息、水庫(kù)信息、數(shù)據(jù)信息的基本維護(hù)進(jìn)行配置。用戶授權(quán)基于RBAC(Role-Based Access Control)角色訪問(wèn)控制模型,可對(duì)系統(tǒng)用戶進(jìn)行分類并配置相應(yīng)模塊權(quán)限。
系統(tǒng)界面秉持簡(jiǎn)潔直觀、布局合理、美觀協(xié)調(diào)、簡(jiǎn)單易用的基本原則,按照Windows界面規(guī)范(即包含“菜單條、工具欄、工具廂、狀態(tài)欄、滾動(dòng)條及右鍵快捷菜單”的標(biāo)準(zhǔn)格式),利用Photoshop來(lái)進(jìn)行設(shè)計(jì)開發(fā)。用戶交互界面主要以WPF頁(yè)面為主,各頁(yè)面按照模塊、部件、功能單元進(jìn)行分類組織。頁(yè)面布局采用左右分欄的設(shè)計(jì)方式,左側(cè)為控制面板,右側(cè)為功能展示欄,控制面板可折疊到最左側(cè),同時(shí)右側(cè)功能欄可占據(jù)下方全部面積,以方便功能展示的可用面積最大化。用戶交互界面如圖3所示。
圖3 用戶交互界面示意圖
系統(tǒng)入庫(kù)產(chǎn)品數(shù)據(jù)由水庫(kù)基礎(chǔ)信息、基礎(chǔ)服務(wù)數(shù)據(jù)、中間服務(wù)數(shù)據(jù)、文件服務(wù)材料數(shù)據(jù)等構(gòu)成?;赟QL Server數(shù)據(jù)庫(kù),實(shí)現(xiàn)歷史水文數(shù)據(jù)、不同時(shí)段的客觀化面雨量預(yù)報(bào)數(shù)據(jù)、中長(zhǎng)期預(yù)報(bào)、服務(wù)文檔產(chǎn)品等數(shù)據(jù)的整合入庫(kù)存儲(chǔ),并允許跨庫(kù)、跨表的聯(lián)合查詢,最終結(jié)合相應(yīng)算法得出分析處理結(jié)果。針對(duì)水文氣象服務(wù)系統(tǒng)需求及功能實(shí)現(xiàn)過(guò)程中對(duì)數(shù)據(jù)的要求,設(shè)計(jì)出4個(gè)子庫(kù)近40張數(shù)據(jù)表,產(chǎn)品數(shù)據(jù)庫(kù)結(jié)構(gòu)如圖4所示。
圖4 產(chǎn)品數(shù)據(jù)庫(kù)結(jié)構(gòu)圖
其中,水庫(kù)基礎(chǔ)信息子庫(kù)存儲(chǔ)了水文站信息、流域內(nèi)氣象站信息、集水區(qū)域數(shù)據(jù)、流域內(nèi)地理信息數(shù)據(jù)及水庫(kù)經(jīng)緯度水位等基本信息。
基礎(chǔ)服務(wù)數(shù)據(jù)子庫(kù)包含多水庫(kù)流域多模式多時(shí)間尺度的面雨量歷史及預(yù)報(bào)評(píng)估類產(chǎn)品、面雨量實(shí)況及水位信息、雙周天氣趨勢(shì)預(yù)測(cè)產(chǎn)品與氣候統(tǒng)計(jì)信息。
中間服務(wù)數(shù)據(jù)子庫(kù)包含水庫(kù)過(guò)程雨量預(yù)報(bào),旬、月、季、年、汛期及枯水期等時(shí)間尺度水庫(kù)雨量預(yù)測(cè)數(shù)據(jù),雙周雨量預(yù)報(bào)數(shù)據(jù)等。
文件服務(wù)材料子庫(kù)包含不定期服務(wù)材料、水庫(kù)短期天氣預(yù)報(bào)、雙周天氣預(yù)報(bào)、旬、月、季、年及汛期等時(shí)間尺度短期氣候預(yù)測(cè)和各類氣象總結(jié)、關(guān)鍵期天氣服務(wù)等專業(yè)服務(wù)人員加工制作的近20種專業(yè)氣象服務(wù)產(chǎn)品。
為保障系統(tǒng)安全,對(duì)關(guān)鍵的業(yè)務(wù)數(shù)據(jù)如用戶密碼、數(shù)據(jù)庫(kù)連接字符串等信息進(jìn)行加密,用戶密碼使用MD5算法進(jìn)行加密,數(shù)據(jù)庫(kù)連接字符串使用DES對(duì)稱加密算法進(jìn)行加密。數(shù)據(jù)庫(kù)安全方面,數(shù)據(jù)庫(kù)操作采取授權(quán)限制,對(duì)表一級(jí)及其以上級(jí)別的數(shù)據(jù)庫(kù)操作授權(quán)不對(duì)應(yīng)用服務(wù)器開放,通過(guò)權(quán)限配置使各用戶對(duì)業(yè)務(wù)表有不同的操作權(quán)限,如統(tǒng)計(jì)分析子系統(tǒng)對(duì)統(tǒng)計(jì)相關(guān)的表只有讀取權(quán)限,而不能進(jìn)行修改、新增、刪除操作。同時(shí)開發(fā)中杜絕SQL拼接,在WEB API層過(guò)濾用戶輸入來(lái)防止SQL注入和腳本,通過(guò)系統(tǒng)配置Filter來(lái)過(guò)濾全局的表單參數(shù)(包括URL傳參),用戶請(qǐng)求后,先通過(guò)Filter攔截請(qǐng)求,獲取用戶所有提交的參數(shù)判斷是否包含非法字符串,若發(fā)現(xiàn)存在非法字符串,直接跳轉(zhuǎn)到非法訪問(wèn)提醒頁(yè)面。系統(tǒng)容災(zāi)方面,同時(shí)備份文件目錄和數(shù)據(jù)庫(kù),文件備份只針對(duì)工作目錄,采用文件壓縮的方式備份,年度目錄和歷史目錄每年備份一次;數(shù)據(jù)庫(kù)備份分為全量備份和增量備份,全量備份每周一次,增量備份每天一次,歷史庫(kù)的備份每月一次,備份方式采用全量備份方式。數(shù)據(jù)庫(kù)的恢復(fù)可通過(guò)執(zhí)行數(shù)據(jù)庫(kù)恢復(fù)命令實(shí)現(xiàn)。
用戶權(quán)限分級(jí):由于系統(tǒng)面向省級(jí)不同單位業(yè)務(wù)人員和部分市級(jí)業(yè)務(wù)人員,每種用戶服務(wù)對(duì)象不同,其所能訪問(wèn)的數(shù)據(jù)和模塊也不同,因此需要建立對(duì)用戶權(quán)限訪問(wèn)的管理機(jī)制。該系統(tǒng)用戶授權(quán)基于RBAC模型通過(guò)角色的方式將權(quán)限授予用戶,而不是直接將權(quán)限授予用戶。在用戶訪問(wèn)系統(tǒng)時(shí),系統(tǒng)根據(jù)數(shù)據(jù)庫(kù)中用戶角色字段控制用戶對(duì)數(shù)據(jù)的訪問(wèn),保障數(shù)據(jù)的安全。同時(shí)限制用戶賬戶多次登錄嘗試請(qǐng)求次數(shù),超過(guò)一定次數(shù)(可靈活配置),便鎖定該賬戶,防止系統(tǒng)被暴力破解,有效提升安全性。
郵票圖設(shè)計(jì):以水庫(kù)點(diǎn)填色的方式設(shè)計(jì)了郵票圖,模塊提供多模式對(duì)比、預(yù)報(bào)調(diào)整分析及單模式形勢(shì)演變3部分。郵票圖上每個(gè)圓點(diǎn)代表一個(gè)水庫(kù),其中大點(diǎn)為大型水庫(kù),小點(diǎn)為中型水庫(kù),圓點(diǎn)所在位置為該水庫(kù)大壩站所在的地理位置,同時(shí)隱去水庫(kù)名稱、雨量值等干擾分析全省庫(kù)區(qū)降水演變的信息,采用江河流域常用雨量級(jí)劃分標(biāo)準(zhǔn),根據(jù)水庫(kù)雨量值進(jìn)行填色(圖5)。
圖5 水庫(kù)流域降水預(yù)報(bào)郵票圖展示
該系統(tǒng)自2018年7月開始投入使用,在2019年2月18—22日的湯浦水庫(kù)年度首次泄洪服務(wù)中,業(yè)務(wù)人員17日便開始跟進(jìn),利用該系統(tǒng)每日為水庫(kù)用戶制作延伸期水庫(kù)雨量預(yù)測(cè),直至其關(guān)閘完成泄洪。在該次泄洪工作中,充分發(fā)揮了氣象科技服務(wù)的支撐作用,幫助庫(kù)方及時(shí)掌握過(guò)程天氣變化趨勢(shì),并及時(shí)調(diào)整泄洪方案,做到科學(xué)合理調(diào)度。隨后,2月26日值班人員利用平臺(tái)多模式?jīng)Q策系統(tǒng),又較準(zhǔn)確地預(yù)測(cè)出庫(kù)區(qū)未來(lái)10 d降水過(guò)程,并進(jìn)行跟蹤訂正。在精確的氣象預(yù)報(bào)信息服務(wù)支撐下,湯浦水庫(kù)于3月4—5日順利完成第二次開閘泄洪。準(zhǔn)確及時(shí)的水文氣象預(yù)報(bào)服務(wù)得到用戶極大肯定。
1)整合了浙江省水庫(kù)基本信息數(shù)據(jù)。將省內(nèi)服務(wù)對(duì)象水庫(kù)基本信息(水庫(kù)名稱、簡(jiǎn)稱、水庫(kù)類型、水庫(kù)功能、大壩站經(jīng)緯信息、所屬市、縣(市、區(qū))、集水面積、庫(kù)容、汛限水位、正常水位及壩頂高程等)、水庫(kù)集水區(qū)域電子地圖、流域內(nèi)格點(diǎn)化地理信息數(shù)據(jù)及流域內(nèi)氣象站地理信息數(shù)據(jù)、流域內(nèi)水文站地理信息數(shù)據(jù)進(jìn)行整合,并分別建庫(kù)存儲(chǔ),同時(shí)設(shè)立名片庫(kù),實(shí)現(xiàn)了實(shí)時(shí)調(diào)用任意水庫(kù)地理信息數(shù)據(jù)進(jìn)行服務(wù)產(chǎn)品制作。
2)開發(fā)的“標(biāo)簽頁(yè)式”材料制作以及“一鍵式”發(fā)布等功能大大簡(jiǎn)化了預(yù)報(bào)員提取素材的流程,可自動(dòng)統(tǒng)計(jì)輸出雨量、雨日、氣溫統(tǒng)計(jì)值,并與常年對(duì)比分析。通過(guò)切換“分布圖”標(biāo)簽頁(yè),自動(dòng)調(diào)取氣象站降水和氣溫?cái)?shù)據(jù),生成相應(yīng)水庫(kù)流域降水和氣溫形勢(shì)圖至Word文檔,保證了每部分內(nèi)容的科學(xué)性和嚴(yán)謹(jǐn)性,避免低級(jí)錯(cuò)誤的產(chǎn)生,顯著提升預(yù)報(bào)員工作效率。
3)系統(tǒng)以水文氣象業(yè)務(wù)上下游需求為紐帶,通過(guò)模塊間的有機(jī)融合,實(shí)現(xiàn)了水文氣象業(yè)務(wù)的一體化“無(wú)縫銜接”,體現(xiàn)了氣象業(yè)務(wù)組織“一體化、集約化、精細(xì)化”。通過(guò)配置用戶角色類型實(shí)現(xiàn)了系統(tǒng)的省、市兩級(jí)業(yè)務(wù)人員共用,縮短了查看資料的時(shí)間,加快了材料類產(chǎn)品的發(fā)布速度。
4)系統(tǒng)有效整合了現(xiàn)有省級(jí)各單位的氣象信息產(chǎn)品,將多源頭獲取的產(chǎn)品統(tǒng)一預(yù)處理后進(jìn)行分類入庫(kù),簡(jiǎn)化了提取、加工、生成水文氣象服務(wù)產(chǎn)品的中間過(guò)程,有助于提高各類氣象信息的利用率和傳播速度,為水文氣象高效開展服務(wù)提供了基礎(chǔ)平臺(tái)。