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