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