安 覓,李 瑤
(1.水利部南京水利水文自動化研究所,江蘇 南京 210012;2.江蘇南水科技有限公司,江蘇 南京 210012)
據《2020年全國水利發展統計公報》,我國已建成各類水庫98566座,總庫容9306億m3[1],水庫的安全運行管理不僅關系到水資源優化配置更緊系下游人民生命財產安全。經過幾十年的實踐,我國水庫的管理模式逐步從粗放模式向精細化管理模式轉變,基礎監測設施從完成電量轉換發展到完成光信號轉換,點監測完成向線、面監測轉換,管理策略和方式方法由依賴人工向智能化、信息化、現代化轉變。通過建立大壩安全體系責任制,強化大壩安全管理模式更新、升級,我國水庫安全運行狀態已明顯改善[2],但目前仍存在大量超期服役水庫和大壩,它們普遍存在基礎監測設施不完善、自動化程度待提高、更多地依賴于人工觀測、缺少統一的信息化管理平臺等,不能實時監測大壩安全運行狀況,欠缺預警預報功能,因此,開發建設水庫信息化系統具有十分重要的意義[3]。
本文依托于錦江水庫,建設符合該水庫安全運行需求的大壩安全監測系統。由于原大壩安全監測系統建設于2009年,大部分設備已經老化,屬于超期運行狀態,各系統運行不正常,監測不準確,經常出現數據無法采集和接收的現象。為實現水庫實時水位、異常氣象預警、綜合統計、大壩監測與模型統計等信息的自動采集,因此,通過建設信息化系統,實現實時掌握水庫大壩安全運行狀態。
本文基于三維建模以及信息融合,充分利用WebGis技術,將信息化基礎設施、通信網絡、軟件系統及數據采集融合構建錦江水庫統一信息化平臺,為水庫的防洪、大壩安全監測以及推動水庫管理智能化、現代化提供全新的綜合管理模式[4]。
平臺總體架構如圖1所示,主要分為感知層、數據層、基礎服務層、業務應用層、展示層及基礎平臺服務,實現水庫大壩全量數據采集,促進各業務系統數據的融合,消除數據孤島,實現數據共享及上層數據分析、三維可視化等高級應用[5]。

圖1 平臺總體架構
本文研究建設的大壩安全監測平臺是在調查評價的基礎上,結合各區非工程措施建設現狀,建設完善自動監測站網、監測預警平臺等內容。
系統軟件采用模塊化設計和開發,軟件總體采用B/S模式,并結合C/S模式進行開發,基于WebGis技術實現動態圖形的空間監視和資料查詢,依托水質監測、相關資料查詢及信息服務實現水庫信息的自動化監測,由計算機網絡、數據庫、應用系統組成,主要包括信息匯集和信息服務。為了系統功能的結構清晰,重點突出,簡潔明了,確保用戶操作快捷方便,信息安全可靠,現將業務應用和數據管理進行分離,分為業務應用系統和數據管理系統兩大子系統。另外,在系統架構方面將數據服務和業務功能進行分層架構,通過數據存儲、數據服務、接口服務和業務處理的多層架構模式實現系統的業務應用和數據管理。如圖2所示。

圖2 應用架構
本文采用無人機傾斜攝影對水庫大壩進行三維建模,基于物理模型、地理信息,運用影像匹配、彩色點云數據技術和三維網格優化算法,對水庫基礎建筑物比如大壩、溢洪道、閘門等進行三維實景建模,建設壩上、尾水、岑洞、黃角、陣灣、三甲、牛朗、竹洞等站點信息,為構建可視化平臺提供數據底板。通過三維數據在網絡環境下的傳輸和解析,提供基礎三維場景和三維數據的互操作,實現數字孿生。使監測信息更直觀便捷的展示出來、實現故障定位,減少故障查找與各系統切換對比的時間,使得水庫大壩管理精益化[6]。
為降低上層業務應用間數據傳輸的復雜性,提高數據利用率,平臺構建了統一數據底座,并提供標準化數據訪問接口。標準化數據接口適用于讀取底層傳感器的實時監測數據、歷史數據、報警數據、文件數據及視頻訪問接口。
以實時監測數據為例,實時數據使用redis緩存,交互時采用JSON格式定義,業務應用與平臺約定存儲鍵名。平臺采用lpush方法從左側寫入實時數據,業務應用使用rpop方法,讀取指定鍵的消息內容,同步獲取實時監測數據。REDIS隊列的鍵命名為:傳感類型:數據類型:測點編號,字段說明見表1。

表1 實時數據格式
水庫大壩安全監測平臺依托三維精細化建模,將三維模型與水利業務數據結合,基于模型ID與信號ID的唯一性,將水庫設備、信息、重點工程等多尺度對象的數字映射,實現二三維一體化沉浸式交互。傳統信息化一張圖的升級,全面展示綜合運行狀態。在三維模型中對工程安全、水雨情監測、大壩的滲流、滲漏項目的實時測值相關設備進行定位,并將其坐標、實時監測數據在三維模型中進行數據綁定映射,自動查找該測點所屬對應的三維模型,并調用該模型的高亮動畫效果。三維界面自動對焦到該設備模型,并在右側顯示詳細告警信息,精確定位信息來源[7]。
3.4.1線程同步機制
每個水庫大壩往往同時接入多個通訊終端數據,在突發異常情況下數據量突增,需要平臺對實時數據處理具有高并發和同步能力[8]。平臺的數據采集采用多線程處理。假設線程A取決于線程B的條件。線程A獲得對共享區域的互斥訪問,并確定條件是否滿足。如果條件不滿足,則調用wait方法以等待條件得到滿足。當條件準備好時,線程A將被線程B發送的信號喚醒。避免對平臺共享資源的同時讀寫造成異常。
3.4.2數據存儲高可用
數據存儲采用可擴展的分布式存儲結構,利用多臺存儲服務器分擔存儲負荷,有較高的可靠性、可用性和存取效率,且易于擴展。平臺數據存儲采用mysql高可用集群方案,通過haproxy應用代理實現負責均衡、mycat實現讀寫分離、mysql主機實現雙主雙從設置并自動同步,保障數據安全及備份。
HAProxy負責將請求分發到mycat上,起到負載均衡的作用,同時HAProxy也能通過xinetd服務檢測到mycat是否存活,HAProxy只會將請求轉發到存活的mycat上。如圖3所示,master-主1及master-主2互為主備,且雙主機各有1臺從機用來同步主機數據,在應用訪問時,通過mycat設置讀寫分離,僅在主機上寫操作,從機上進行讀操作。

圖3 mysql高可用集群
為測試數據上送并發性能,搭建測試環境:1臺CAN仿真裝置用于模擬100臺傳感裝置,每臺挑2個模擬量,總計200個,間隔500ms,連續變化20次,總計4000個測點。同時配置1個數據接收通道,觀察變化數據接收情況。1套水庫大壩三維可視化安全監測平臺用于實現全域數據采集,同時配置數據轉發通道將采集的數據轉發給仿真。在雪崩數據發生時,使用sar-u命令對平臺服務器CPU負荷進行采樣[9],結果如圖4所示。

圖4 雪崩時平臺服務器CPU負載
通過以上測試方法,觀測到模擬量數據緩存超過4000點。連續測試超過50次,尚未出現瞬時雪崩丟數據情況。且雪崩時CPU負荷不超過50%。穩定可靠,完全滿足水庫大壩安全運維需求。
使用sysbench1.0.20對單臺MySQL主機和MySQL高可靠負載均衡集群進行模擬數據測試對比??紤]網絡影響,將sysbench運行服務器單獨掛接在網絡中,測試模式統一為complex,表數量為20,每張表數據50萬條,執行時間為600s。經過集群性能調優后,改變并發連接數測試對比見表2。

表2 存儲可靠性測試
對比表2測試結果發現單獨訪問數據庫主機及集群代理,隨著并發訪問的增加,查詢數及事務數并無明顯變化,但平均響應時間逐漸增大,在大規模并發訪問且同時修改數據情況下響應會卡頓。對比haproxy主機與master-1主機發現使用集群代理后,數據庫讀寫響應延遲雖略有增加,但4臺主備機數據實現數據同步,具有較高的安全可靠性,符合業務需求。
通過仿真傳感層數據變化,在運維監測頁面查看數據變化,檢查頁面數據準確,從仿真變化到頁面數據刷新的時間小于500ms。仿真數據變化并長期運行,數據查詢模塊中儀器按監測項目分類,選擇日期后,查詢指定時間段內歷史數據數據與仿真一致且顯示正常。
本文建設的水庫大壩三維可視化安全監測平臺已在錦江水庫成功部署應用,實現了已建水雨情數據的接入,提供了大壩安全監測、查詢報表、站點配置、系統設置、接口管理等功能,符合錦江水庫大壩安全運行監測的要求,大大提升了水庫的信息化程度、智慧化水平,但是對比數字孿生大壩安全監測平臺還存在差距,后續還待加強研究。