文|李文豪 張阮玲子
水文數(shù)據(jù)采集是指監(jiān)測河流、湖泊、水庫等的降水、流量、水位等水文基礎(chǔ)要素的變化情況,水情數(shù)據(jù)的及時性、時效性都極大的影響著防汛抗旱的指揮。該研究采用MINA框架實現(xiàn)數(shù)據(jù)采集服務(wù),RTU協(xié)議分布式部署服務(wù),集群部署接收服務(wù),解決了前期數(shù)據(jù)采集存在的前端采集傳輸數(shù)據(jù)缺乏規(guī)范化、數(shù)據(jù)缺乏邏輯整合、維護(hù)管理困難等問題,將原17個地市分中心升級為省中心統(tǒng)一接收。統(tǒng)一數(shù)據(jù)庫管理提高了數(shù)據(jù)傳輸效率,保證了數(shù)據(jù)的安全性、可靠性,全面提升湖北省水文報汛的質(zhì)量,為防災(zāi)減災(zāi)提供了有力支撐。本文詳細(xì)介紹了統(tǒng)一接收平臺系統(tǒng)設(shè)計原則、總體架構(gòu)、技術(shù)框架、數(shù)據(jù)信息流程、總體功能和安全管理,以期為相關(guān)研究提供借鑒。
近年來受厄爾尼諾現(xiàn)象的影響,短時間集中性強暴雨頻發(fā),形成災(zāi)害,對人們的生活、人身及財產(chǎn)安全造成很大的影響。水文數(shù)據(jù)采集是監(jiān)測河流,湖泊,水庫等的降水、流量、水位等水文基礎(chǔ)要素的變化情況,水情數(shù)據(jù)的及時性、時效性都極大的影響著防汛抗旱的指揮。2012年開始湖北省開始大面積建設(shè)水文遙測自動測報站點。由于測站建設(shè)是分批分項目建設(shè),設(shè)備廠家眾多,加上《水文監(jiān)測數(shù)據(jù)通信規(guī)約》(SL-651)和《水資源監(jiān)測數(shù)據(jù)傳輸規(guī)約》(SL/T 427-2021)等多種協(xié)議在采集傳輸階段使用,數(shù)據(jù)采集、發(fā)送缺乏規(guī)范化,導(dǎo)致不同品牌廠家與接收軟件互不兼容,資源浪費較為嚴(yán)重,故障維護(hù)需要多個廠家支持,后期成本高,數(shù)據(jù)之間缺乏關(guān)聯(lián),數(shù)據(jù)之間的關(guān)系無法挖掘,數(shù)據(jù)邏輯不集中等一系列問題。
本文在解決目前數(shù)據(jù)采集存在的前端采集傳輸數(shù)據(jù)缺乏規(guī)范化、數(shù)據(jù)缺乏邏輯整合、系統(tǒng)安全性差、維護(hù)管理困難等問題的基礎(chǔ)上,將原17個地市局接收數(shù)據(jù)升級為省中心統(tǒng)一接收,接收平臺代碼重構(gòu),統(tǒng)一數(shù)據(jù)庫管理,將SQL server遙測數(shù)據(jù)庫改為Oracle數(shù)據(jù)庫,查詢系統(tǒng)修改為前后分離架構(gòu),并添加行政區(qū)劃表,按照行政區(qū)劃分配管理權(quán)限。滿足各地市水文局各廠家不同協(xié)議設(shè)備的遙測數(shù)據(jù)接收的要求,建立一個統(tǒng)一接收平臺,實現(xiàn)各類設(shè)備數(shù)據(jù)的統(tǒng)一接收。
(一)實用性和可行性
主要技術(shù)架構(gòu)必須具有成熟、穩(wěn)定的特點;同時,綜合全面的考慮客戶需求,應(yīng)提高系統(tǒng)的實用性,既要便于用戶使用,又要便于系統(tǒng)管理。
(二)先進(jìn)性和成熟性
既要采用先進(jìn)的技術(shù),又要注意思維的合理性,技術(shù)的可行性,方法的正確性。先進(jìn)性與成熟性并重。
(三)開放性與標(biāo)準(zhǔn)化
接收平臺應(yīng)是一個開放的且符合業(yè)界主流技術(shù)標(biāo)準(zhǔn)的系統(tǒng)平臺,并使網(wǎng)絡(luò)的硬件環(huán)境、軟件環(huán)境、通信環(huán)境、操作平臺之間的相互依賴小。
(四)可靠性和穩(wěn)定性
從系統(tǒng)結(jié)構(gòu),技術(shù)措施,系統(tǒng)管理等方面著手,確保系統(tǒng)運行的可靠性和穩(wěn)定性。
(五)可擴展性及易升級性
為適應(yīng)應(yīng)用不斷拓展的需要,應(yīng)用平臺的軟硬件環(huán)境必須有良好的可擴充性。
(六)安全性和保密性
既要充分考慮信息資源的共享,更要注意信息資源的保護(hù)和隔離,應(yīng)分別針對不同的應(yīng)用和不同的網(wǎng)絡(luò)通信環(huán)境,采取不同的措施,包括系統(tǒng)安全機制、數(shù)據(jù)存取的權(quán)限控制等。
(七)可管理性和可維護(hù)性
整個系統(tǒng)是由多個子系統(tǒng)組成,為了便于系統(tǒng)的日常運行維護(hù)和管理,要求所選系統(tǒng)應(yīng)用體系結(jié)構(gòu)具有良好的可管理性和可維護(hù)性。
遙測終端RTU發(fā)送的報文通過楚天云防火墻端口映射發(fā)送到指定IP和端口號;接收節(jié)點需三臺應(yīng)用服務(wù)器分布式部署,提高數(shù)據(jù)接收效率和系統(tǒng)可靠性;報文通過負(fù)載均衡服務(wù)器發(fā)送至三臺接收服務(wù)器;Redis集群服務(wù)可部署在接收服務(wù)器上;采用一臺應(yīng)用服務(wù)器部署入庫軟件;監(jiān)控系統(tǒng)采用前后分離的架構(gòu),分布式部署在兩臺應(yīng)用服務(wù)器上;數(shù)據(jù)庫采用兩臺高配置服務(wù)器作Oracle RAC集群,用于存放遙測數(shù)據(jù)和5分鐘數(shù)據(jù)。
(一)使用MINA框架實現(xiàn)數(shù)據(jù)采集服務(wù),RTU協(xié)議分布式部署服務(wù),提高采集效率,解決因連接不釋放導(dǎo)致的端口阻塞問題。
(二)集群部署接收服務(wù),保證數(shù)據(jù)可靠性,高可用,防止報文丟失和因服務(wù)器故障導(dǎo)致整個系統(tǒng)癱瘓。
(三)中間數(shù)據(jù)庫集群部署,提高寫入和查詢數(shù)據(jù)的性能,防止大數(shù)據(jù)量高并發(fā)造成的數(shù)據(jù)庫崩塌。
(四)數(shù)據(jù)庫及時歸檔處理。
(五)使用多臺服務(wù)器集群部署查詢平臺,進(jìn)行服務(wù)器壓力分流,保證系統(tǒng)高可用。實現(xiàn)前后端分離,使用JQuery+Css+Html+Ajax構(gòu)建前端應(yīng)用,SpringBoot+Mybatis構(gòu)建后端服務(wù)應(yīng)用,兼容手機端訪問。所有的平臺管理系統(tǒng)和配置工具確保使用BS架構(gòu),使用瀏覽器進(jìn)行訪問控制,兼容最新版谷歌瀏覽器。
(六)使用Nginx中間件進(jìn)行前后端服務(wù)負(fù)載均衡,提高系統(tǒng)性能。搭配Nginx插件進(jìn)行后端集群健康檢查,提高系統(tǒng)可用性。
(七)全平臺開發(fā)采用SpringBoot、Java、Oracle數(shù)據(jù)庫、Ngnix等通用技術(shù)工具開發(fā),技術(shù)選型種類統(tǒng)一,支持linux部署,保證安全可靠。
(八)開發(fā)完成壓力測試,確保系統(tǒng)運行安全可靠,防止意外情況發(fā)生。
數(shù)據(jù)報文從遙測終端發(fā)送到中心,中心通過報文頭判斷是哪種協(xié)議并進(jìn)行解析,將報文體的內(nèi)容存入Redis緩存數(shù)據(jù)庫,定時任務(wù)取緩存報文解析入遙測數(shù)據(jù)庫,入庫軟件針對遙測數(shù)據(jù)庫中的臨時數(shù)據(jù)進(jìn)行計算,分別將5分鐘數(shù)據(jù)和小時數(shù)據(jù)錄入水文標(biāo)準(zhǔn)數(shù)據(jù)庫和5分鐘數(shù)據(jù)庫,監(jiān)控系統(tǒng)分別對遙測數(shù)據(jù)庫、5分鐘數(shù)據(jù)庫、水文標(biāo)準(zhǔn)數(shù)據(jù)庫進(jìn)行查詢監(jiān)控,可對RTU發(fā)送召測指令,系統(tǒng)將召測指令存入Redis緩存數(shù)據(jù)庫,定時任務(wù)取召測指令向RTU發(fā)送,RTU收到指令向中心發(fā)送召測報文。
數(shù)據(jù)統(tǒng)一接收平臺,根據(jù)各子系統(tǒng)的規(guī)劃和設(shè)計,將各系統(tǒng)功能劃分如下幾個部分,總體功能如下:
數(shù)據(jù)查詢模塊查詢監(jiān)控實時數(shù)據(jù)、到報統(tǒng)計等。即可查看水文標(biāo)準(zhǔn)數(shù)據(jù)到報情況,又可查看臨時庫數(shù)據(jù)到報情況,以此分析數(shù)據(jù)遲報未報原因。
遠(yuǎn)程控制功能給RTU發(fā)送命令,進(jìn)行校時、召測、修改密碼、恢復(fù)出廠設(shè)置等操作。
配置管理模塊主要配置臨時庫中測站管理表,可配置管理測站是否接收數(shù)據(jù)和接收后是否寫入實時庫。
系統(tǒng)管理即用戶、權(quán)限管理。系統(tǒng)權(quán)限通過行政區(qū)劃劃分,用戶可以查看所有站點數(shù)據(jù),各地市用戶只能新增和修改自己轄區(qū)內(nèi)站點的數(shù)據(jù)。菜單管理功能配置管理遙測運維平臺展示的菜單。
(一)利用防火墻技術(shù)防止惡意攻擊和病毒入侵。
(二)分布式部署保證系統(tǒng)運行安全,不會因為任何一臺主機掛掉丟失網(wǎng)絡(luò)數(shù)據(jù)。
(三)通過權(quán)限管理保證數(shù)據(jù)安全。
(四)新增操作日志功能,做到溯源查詢。
本文詳細(xì)介紹了湖北省水文數(shù)據(jù)統(tǒng)一接收平臺系統(tǒng)設(shè)計原則、總體架構(gòu)、技術(shù)框架、數(shù)據(jù)信息流程、總體功能和安全管理。該系統(tǒng)采用使用MINA框架實現(xiàn)數(shù)據(jù)采集服務(wù),RTU協(xié)議分布式部署服務(wù),集群部署接收服務(wù),實現(xiàn)前后端分離,使用JQuery+Css+Html+Ajax構(gòu)建前端應(yīng)用,SpringBoot+Mybatis構(gòu)建后端服務(wù)應(yīng)用,兼容手機端訪問。解決了前期數(shù)據(jù)采集存在的前端采集傳輸數(shù)據(jù)缺乏規(guī)范化、數(shù)據(jù)缺乏邏輯整合、系統(tǒng)安全性差、維護(hù)管理困難等問題,將原17個地市局接收數(shù)據(jù)升級為省中心統(tǒng)一接收,接收平臺代碼重構(gòu),統(tǒng)一數(shù)據(jù)庫管理提高了數(shù)據(jù)傳輸效率,保證了數(shù)據(jù)的安全性、可靠性,全面提升湖北省水文報汛的質(zhì)量和速度,為防災(zāi)減災(zāi)提供了有力支撐。