□張路杰
2021年10月,水利部發(fā)布的《“十四五”智慧水利建設(shè)規(guī)劃》明確,水情預(yù)警發(fā)布要主動適應(yīng)社會公眾對水情預(yù)警精細化服務(wù)的需求,拓寬水情預(yù)警信息發(fā)布渠道,利用微信、廣播、電視、網(wǎng)站以及廣電部門、通信運營商等,及時向社會公眾發(fā)布水情預(yù)警信息,精準定位預(yù)警發(fā)布對象,實現(xiàn)影響范圍內(nèi)預(yù)警信息全覆蓋,解決水情預(yù)警“最后一公里”問題?;诖吮尘?,結(jié)合當(dāng)前省內(nèi)水情測報系統(tǒng)應(yīng)用現(xiàn)狀,進行深入研究設(shè)計。
目前,經(jīng)調(diào)查省內(nèi)已建的水庫水情測報系統(tǒng)已實現(xiàn)了系統(tǒng)內(nèi)的實時水情預(yù)報預(yù)警功能,對水庫的防汛調(diào)度決策發(fā)揮了至關(guān)重要的作用。然而,系統(tǒng)主要在內(nèi)部進行預(yù)報預(yù)警,預(yù)警目標對象主要為水庫下屬防汛調(diào)度部門工作人員,受眾范圍相對較小,暫未實現(xiàn)直接向庫區(qū)周邊群眾或其他責(zé)任群體直接通報的功能,當(dāng)汛期險情初現(xiàn)時,防汛值班小組第一時間主要通過電話或視頻會商,實現(xiàn)上傳下達,具有一定優(yōu)勢,但相對比較費時,在緊急或特殊情況下,一定程度上可能影響最終用戶獲得水情信息的時效性、準確性。短信服務(wù)作為一種傳統(tǒng)的通信方式,因其時效性強、覆蓋面廣、精準性高,在天氣預(yù)報等自然災(zāi)害預(yù)警領(lǐng)域具有不可或缺的優(yōu)勢。水庫水情短信預(yù)報預(yù)警系統(tǒng)的設(shè)計能夠利用信息化手段有效補充現(xiàn)有系統(tǒng)的短板,具有較強的現(xiàn)實意義。
水位預(yù)報預(yù)警可使用《水庫淹沒實物調(diào)查報告》《水庫防汛應(yīng)急預(yù)案》等資料作為決策依據(jù)制定預(yù)警方案,報汛模板要求通俗易懂。例如水庫汛限水位115m,征地高程為120m,移民高程為125m,按高程區(qū)間1m進行分區(qū),可分為5個區(qū),當(dāng)遭遇洪水通過上下游調(diào)洪仍然超過征地高程時,可根據(jù)分區(qū)針對不同庫區(qū)周邊淹沒實物責(zé)任單位或個人精準發(fā)布預(yù)報預(yù)警提醒。
庫區(qū)周邊超限水位短信提醒模板:【__水庫防汛指揮部辦公室】提醒您:__水庫__月__日__時__分,實時水位為__米,預(yù)計__小時內(nèi)即將超過__米,經(jīng)上級決定為確保人民群眾生命財產(chǎn)安全決定以下范圍人員立即轉(zhuǎn)移:__。請收到短信的群眾相互轉(zhuǎn)告,水庫值班電話__。
流量預(yù)報預(yù)警可參考相關(guān)歷史水文資料和關(guān)系曲線模型制定流域內(nèi)重要河道流量預(yù)報預(yù)警方案,報汛模板要求通俗易懂。
關(guān)鍵河道水文站短信提醒模板:【__水庫防汛指揮部辦公室】提醒您:__水庫__月__日__時__分,__河道水文站實時水位為__米,流量__立方米/秒,已超限,屆時__路段將禁止行人和車輛通過,請相關(guān)部門按職責(zé)落實防御措施。
雨量預(yù)警可依據(jù)《河北省暴雨災(zāi)害防御辦法》制定暴雨預(yù)報預(yù)警方案,可依據(jù)《防汛搶險應(yīng)急預(yù)案》等制定防汛負責(zé)人、搶險隊、巡查員等群組。
流域內(nèi)宏觀短信提醒模板:【 __水庫防汛指揮部辦公室】提醒您:從__年__月__日__時至__年__月__日__時,__流域平均雨量__毫米,最大降雨測站:__站(__毫米)超警測站__個,藍色預(yù)警__個,黃色預(yù)警__個,橙色預(yù)警__個,紅色預(yù)警__個,請相關(guān)部門按職責(zé)落實防御措施。
關(guān)鍵雨量站短信提醒模板:【 水庫防汛指揮部辦公室】提醒您:從__年__月__日__時至__年__月__日__時,__站累計雨量__毫米,最近小時降雨量__毫米(__色預(yù)警),請相關(guān)部門按職責(zé)落實防御措施。
當(dāng)前自測報系統(tǒng)采用B/S架構(gòu),基于.net開發(fā)運行環(huán)境,使用Web技術(shù)框架ASP.NET、C#編程語言,部署在IIS Web應(yīng)用服務(wù)器,數(shù)據(jù)庫使用SQL Server2008,服務(wù)器使用WindowServer2008,本系統(tǒng)以水情自測報系統(tǒng)數(shù)據(jù)為基礎(chǔ),采用數(shù)據(jù)集成技術(shù)數(shù)據(jù)庫擴展支撐本系統(tǒng)必要的數(shù)據(jù)庫表用于數(shù)據(jù)存儲和數(shù)據(jù)交換,系統(tǒng)基于J2EE平臺,采用主流Web技術(shù)框架SpringMVC Mybatis,可獨立部署,也可通過統(tǒng)一認證集成到其他應(yīng)用系統(tǒng),系統(tǒng)功能結(jié)構(gòu)圖見圖1所示。
圖1 系統(tǒng)功能結(jié)構(gòu)圖
2.1.1 目標用戶群組管理
目標用戶群管理模塊的主要功能是維護預(yù)警發(fā)布對象信息實現(xiàn)預(yù)警對象分眾管理。第一,支持添加、編輯、刪除、查詢短信目標用戶必要信息,包括用戶姓名、手機號碼、詳細地址、人員類別、備注說明等信息。第二,支持組建、編輯、刪除、查詢目標用戶群組,目標群組組建后可作為短信下行的預(yù)警發(fā)布對象。發(fā)布對象可根據(jù)庫區(qū)淹沒高程區(qū)間分區(qū)管理,另外,按人員類別將相關(guān)的運行管理和組織保障人員納入系統(tǒng)。
2.1.2 預(yù)警短信模板管理
預(yù)警短信模板管理主要功能是根據(jù)預(yù)警類別和預(yù)警水文要素預(yù)制多種短信提醒模板,支持模板的添加、編輯、刪除、查詢操作。模板的主要屬性包括模板編號、模板名稱、模板內(nèi)容、備注說明等。模板內(nèi)容包括兩部分內(nèi)容,一部分為已明確的信息,另一部分為標簽信息,標簽信息最終需在后臺引擎組建短信內(nèi)容時根據(jù)實際數(shù)據(jù)進行替換。
表1 系統(tǒng)業(yè)務(wù)數(shù)據(jù)表清單
2.1.3 水情預(yù)警規(guī)則管理
水情預(yù)警規(guī)則管理主要功能是為產(chǎn)生預(yù)警提供系統(tǒng)所需的內(nèi)在決策機制,支持規(guī)則的添加、編輯、刪除、查詢操作。預(yù)警規(guī)則的主要內(nèi)容包括規(guī)則編碼、規(guī)則名稱、預(yù)警類別、采用的短信模板、短信發(fā)送方式、目標群組、是否啟用、啟用開始時間、啟用結(jié)束時間、是否預(yù)演狀態(tài)、預(yù)演默認發(fā)送群組、產(chǎn)生預(yù)警判斷條件。判斷條件支持通過系統(tǒng)界面進行多種運算符配置,發(fā)送方式支持手動和自動發(fā)送,自動則直接發(fā)送到目標群組,手動則需在短信發(fā)送記錄管理模塊選擇后手動下發(fā),手動模式一般為先報備審核后發(fā)送。預(yù)演狀態(tài)下產(chǎn)生預(yù)警后只發(fā)送給預(yù)演默認的預(yù)警發(fā)布對象,預(yù)演情況一般為正式發(fā)布前進行模擬發(fā)送。
2.1.4 短信發(fā)送記錄管理
短信發(fā)送記錄管理的主要功能包括3方面:第一,支持查看短信發(fā)送記錄和狀態(tài),編輯處理發(fā)送失敗、待發(fā)送記錄,刪除無效記錄等操作。第二,發(fā)送方式采用手動時,支持通過“批量發(fā)送”操作通過調(diào)用短信服務(wù)平臺API批量下發(fā)到對應(yīng)群組。第三,可以添加自定義短信內(nèi)容發(fā)送到對應(yīng)的群組。短信發(fā)送記錄主要包括記錄編碼、短信內(nèi)容、創(chuàng)建時間、創(chuàng)建方式(人工、系統(tǒng)生成)、發(fā)送方式、發(fā)送時間、發(fā)送狀態(tài)、接收對象、預(yù)警類別、是否預(yù)演等。
2.1.5 水情調(diào)度資料管理
水情調(diào)度資料管理的主要功能是支持相關(guān)規(guī)程、規(guī)范文件上傳、下載、預(yù)覽、刪除等操作,上傳后可供相關(guān)工作人員查閱,為系統(tǒng)準確平穩(wěn)運行提供輔助決策依據(jù)。維護人員可將調(diào)度規(guī)程、調(diào)度計劃、應(yīng)急預(yù)案、淹沒實物調(diào)查情況報告、歷史水文資料、常用關(guān)系曲線模型等文件上傳到資料管理模塊。
2.1.6 后臺預(yù)警規(guī)則引擎
后臺預(yù)警規(guī)則引擎的主要功能是在預(yù)警規(guī)則啟用的時間區(qū)間內(nèi),通過規(guī)則內(nèi)在判斷邏輯加載、轉(zhuǎn)換、分析、比較自測報數(shù)據(jù)庫表對應(yīng)監(jiān)測數(shù)據(jù)并生成短信預(yù)報預(yù)警內(nèi)容,生成預(yù)警內(nèi)容后自動發(fā)送狀態(tài)下可在后臺調(diào)用短信服務(wù)平臺API將短信發(fā)送到對應(yīng)的預(yù)警發(fā)布對象。技術(shù)上規(guī)則引擎支持根據(jù)預(yù)警類別、輪詢周期啟動多個進程進行實時處理。引擎通過Java語言編寫,啟動后實時運行在系統(tǒng)服務(wù)器,支持在國產(chǎn)、Linux、Window等操作系統(tǒng)下平穩(wěn)運行。
圖2 水庫網(wǎng)絡(luò)結(jié)構(gòu)圖
系統(tǒng)業(yè)務(wù)數(shù)據(jù)主要包括9張表,分別為目標用戶表、目標用戶群組表、短信模板表、短信模板標簽表、短信預(yù)警規(guī)則表、預(yù)警規(guī)則預(yù)警條件表、預(yù)警條件變量口徑表、短信發(fā)送記錄表、水情調(diào)度資料表,重點說明預(yù)警規(guī)則預(yù)警條件表中每行數(shù)據(jù)中多個條件之間關(guān)系為邏輯或,最多支持5個條件,多行之間關(guān)系為邏輯與,各數(shù)據(jù)表字段見表1。
2.3.1 網(wǎng)絡(luò)安全設(shè)計
為了保證網(wǎng)絡(luò)系統(tǒng)的安全性,降低系統(tǒng)部署實施帶來的安全風(fēng)險,在系統(tǒng)部署過程中按“最小服務(wù)原則”配置網(wǎng)絡(luò)策略,基于圖2水庫網(wǎng)絡(luò)結(jié)構(gòu)圖,根據(jù)系統(tǒng)網(wǎng)絡(luò)資源需求,要求能夠訪問互聯(lián)網(wǎng)短信服務(wù)平臺,因此部署在水庫園區(qū)網(wǎng)LAN區(qū)域,通過物理隔離網(wǎng)閘將自測報系統(tǒng)服務(wù)器IP及數(shù)據(jù)庫訪問端口通過代理IP和端口僅賦予給本系統(tǒng)服務(wù)器接入權(quán)限,另外本系統(tǒng)服務(wù)器不開放到互聯(lián)網(wǎng)僅支持在園區(qū)訪問。
2.3.2 應(yīng)用安全設(shè)計
應(yīng)用安全設(shè)計方面,首先,通過在服務(wù)端底層過濾器編寫敏感字符轉(zhuǎn)義代碼,實現(xiàn)防XSS攻擊、防SQL注入攻擊;其次,登錄驗證設(shè)置密碼驗證次數(shù)限制或設(shè)置動態(tài)驗證碼防止暴力破解攻擊;再次,編寫防止通過低權(quán)限賬號利用cookie、功能Url越權(quán)訪問到高權(quán)限賬號的功能模塊。
2.3.3 數(shù)據(jù)安全設(shè)計
用戶賬號按照“崗位需要、權(quán)責(zé)對等、統(tǒng)一授權(quán)”的原則進行分類分級管理,明確用戶職責(zé),控制賬號權(quán)限范圍;針對敏感數(shù)據(jù)信息進行匿名化處理授權(quán)訪問;制定密碼過期策略,定時強制要求更新登錄用戶密碼;制定硬盤備份策略,定時巡檢服務(wù)器硬盤工作狀態(tài),定期進行數(shù)據(jù)備份。
現(xiàn)以《“十四五”智慧水利建設(shè)規(guī)劃》為背景,以完善水庫水情預(yù)報預(yù)警體系為目的,利用水利信息化技術(shù)手段,設(shè)計實現(xiàn)水庫水情短信預(yù)報預(yù)警系統(tǒng),系統(tǒng)設(shè)計具有良好的通用性,可根據(jù)水庫運行管理過程中實際場景,制定更豐富的預(yù)報預(yù)警內(nèi)容?!?/p>