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