王建國 王曉陽
(西安工業大學計算機科學與工程學院 西安 710021)
?
水文監測系統的設計與實現*
王建國王曉陽
(西安工業大學計算機科學與工程學院西安710021)
摘要論文分析了水文監測的主要特點,構建了一種基于GPRS通信的水文監測硬件系統組成,提高了水文監測系統的時效性以及在偏遠山區的適用性;設計和開發一套應用于水文監測的軟件系統。該軟件系統采用三層架構模式,相比于傳統的兩層C/S結構,提高了系統的靈活性和可擴展性。實際應用結果表明,該系統可以較好地滿足水文監測系統的應用需求。
關鍵詞水文; 三層架構; 自動監測
Class NumberTP391
1引言
水文監測技術是水文水利信息化的重要基礎,它是水文傳感器技術與采集、存儲、傳輸、處理技術的集成[1]。近四十年來,我國水文自動監測系統的建設和應用技術有了巨大進步,所建系統采集的數據,為防汛和水利調度的決策提供了依據和參考,但整體水平與西方發達國家相比較還存在著很大的差距,其中信息采集、傳輸手段和技術比較落后,信息時效性差,不能滿足對水文數據實時、快速、準確監測的要求[3]。
目前我國水文監測系統的建設中,有些地區還在使用傳統的撥號和專線的固定網絡接入等方式進行數據傳輸,時效性較差。在這種情況下,使用GPRS無線通信是一種很好的選擇。
而且傳統水文監測軟件系統大多采用傳統的兩層C/S結構,當系統版本迭代,新增功能模塊時,可擴展性較差,時間周期長。
2水文監測的主要特點
要開發一套實用且有效的水文監測系統,首先要對水文監測的特點有深入的理解。由于水文監測關乎流域的防汛抗洪,水資源管理,生態環境的保護以及人民群眾的生命安全[2]。所以水文監測系統有如下特點:
1) 水文監測系統的實時性非常強
水文監測系統可以進行在線數據傳輸,并且還能夠滿足系統對數據采集和傳輸實時性的要求。
2) 水文監測系統的可靠性非常高
水文監測系統應該可以避免數據包的丟失,能夠保證數據進行安全的傳輸。即使由于設備或網絡原因丟失部分數據,也應該有相應的召測功能。
3) 水文監測系統的監控范圍很廣
由于監測對象是河流,所以監控點的分布相對較廣泛,測點會分布在山區或鄉鎮等。
3水文監測系統的概要設計
3.1硬件系統設計方案
根據水文監測的三大特點,將水文監測硬件部分分為監測中心和前端監測設備。其中監測中心放置服務器并連接公網或專線;前端監測設備則以RTU為核心,在RTU上連接如雨量計,水位計,流速計等監測設備。水文監測系統的物理架構如圖1所示。

圖1 物理架構圖
1) 前端監測設備
前端監測設備由RTU和傳感器設備組成。RTU中文名稱為遠程測控終端,用于監視、控制與數據采集的應用。具有遙測、遙信、遙調、遙控功能。RTU集數據采集、傳輸、存儲功能于一體,采用低功耗設計,具有通訊距離較長、適用于各種環境惡劣的工業現場、模塊結構化設計、便于擴展等優點。
傳感器主要包括水位傳感器,雨量傳感器和流速傳感器。
2) 傳輸網絡
水文監測系統的傳輸網絡由GPRS/短消息,Internet公網組成。RTU通過GPRS或者短信的方式將監測數據發送給服務器或負責人,客戶端通過公網從服務器獲取數據。
3) 監測中心
監測中心由服務器和客戶端組成,服務器有一固定公網IP,同時接收采集到的水文數據并保存在數據庫中。客戶端可以通過固定的公網IP訪問服務器,獲得水文數據,進行一定的統計分析計算在界面上呈獻給客戶。
3.2系統功能概述
水文監測系統軟件是對水文監測點數據進行接收、匯總、統計、分析的一個平臺,該軟件具備動態實時監測、歷史數據查詢、報警數據查詢、時段統計、曲線分析、用戶管理、測站管理、歷史數據召測等多項功能。
水文監測系統軟件采用C/S結構設計,具有操作權限的管理人員,只要安裝訪問客戶端即可登入該系統,保證了系統的安全性。該軟件給用戶提供了一個直觀、簡單的信息化操作平臺。水文監測系統的主要功能模塊如圖2所示。

圖2 水文監測系統的功能模塊圖
1) 全局顯示:可顯示所有監測站當前信息及現場設備運行狀態。
2) 采集功能:采集或者接收RTU設備上報的監測點水位,降雨量等水文數據。
3) 數據處理:將采集到的數據根據要求進行運算處理后,存入數據庫并發送到前端顯示。
4) 數據查詢:用戶可任意設定查詢條件,對測站歷史數據、測站報警數據進行查詢。
5) 統計分析:用戶可設定統計時間段,系統可按日、月、年生成監測站的時段匯總報表和時段趨勢曲線。
6) 用戶管理:系統管理員可更改系統密碼,添加或刪除系統用戶,并可對其他系統用戶分配相應的操作權限。各系統用戶可在自己權限下對系統進行相應操作。
7) 測站管理:具備權限的系統用戶可添加、刪除測站信息或對測站信息進行編輯,當現場監測站或監測設備變更時可方便地在監控系統軟件上對測站信息做相應的修改。
8) 歷史數據召測:系統支持手動召測歷史記錄功能。當測站設備發生故障未能及時上報水文數據時,可通過該功能進行某一時段數據的召測,保障水文監測數據的連貫性和完整性。
9) 設備配置:可以對RTU設備以及雨量計,水位計等監測設備的參數進行遠程配置,并將配置信息存庫。
10) 告警功能:水位、降雨量、流量、電壓等數據超過告警閾值時,進行告警處理。
4水文監測系統的詳細設計
系統采用三層架構設計,把系統的界面、業務、數據分離,各個層次各司其職。這樣做的優點是使項目結構更清楚。系統能夠高效、靈活地修改業務邏輯,添加新的設備類型、修改界面等。即實現了“高內聚,低耦合”的思想[4]。圖3為三層架構圖。

圖3 系統三層架構圖
4.1UI表示層
表示層也就是用戶界面,承擔著向用戶顯示問題模型、接受用戶操作、I/O交互的作用。圖4為水文監測系統主界面截圖。

圖4 系統主界面圖
用戶界面層應該盡可能地與業務邏輯分離、與數據模型分離。也就是說比較好的UI層在更換業務邏輯以及數據模型時不用做過多的修改就可以使用。

圖5 MVP模式結構圖
基于這種理念,參考MVP設計模式(結構圖如圖5)將UI層通過WPF框架再次劃分為View層和Presenter層兩個部分,分別對應MVP模式中的V和P(M其實就是三層結構中的BLL層和Model實體類)。其中View層通過xaml語言實現僅僅負責實現界面布局及美工,Presenter層則實現顯示邏輯[5]。這樣做的優點是在UI層把美工界面和顯示邏輯分離,從而可以以最小的代價來更換一套系統的UI,并且在開發過程中便于美工人員和開發人員合作。
4.2BLL業務邏輯層
業務邏輯層在體系架構中的位置很關鍵,它處于數據訪問層與表示層中間,起到了數據交換中承上啟下的作用[8]。
業務邏輯層負責對用戶界面層輸入的數據進行有效性的驗證,處理數據,根據業務邏輯生調用數據訪問層相應的方法。或者從UI層接收數據,處理后再送回UI層。
在水文監測系統中,考慮到系統的可擴展性,易維護性,將一些功能相似的算法單獨抽取出來使用策略模式進行封裝。這樣做也有利于在開發過程中分工合作。BLL層的主要結構如圖6所示。

圖6 業務邏輯層類圖
基類BllBase中定義了通用的數據驗證方法,來處理數據合法性的業務邏輯,例如判斷輸入是否為數字,是否為站號,是否為中文等。
用戶類Uses和測站類Station類繼承基類,并且分別擁有自己的業務邏輯處理方法,例如用戶信息的增刪改查,用戶權限及登錄的控制。
從測站類繼承出五個設備類,它們分別有自己的對相應數據的操作方法,在數據分析和處理時可以方便的對某種設備的數據進行操作。
同時測站類中定義了一個類型為Count的接口countflow來進行流量計算,而接口Count不實現任何功能,只定義了方法名CountFlow,具體的計算過程由一個具體的算法類繼承該接口實現,例如在GLSCount類和LadderCount類中的CountFlow方法中實現了具體的計算過程。
例如計算顯示流量時,首先實例化一個Flow類的對象flow,flow可以通過父類獲取和操作站信息(站址,所屬區域等)當需要使用算法時,可以通過父類的Set_Count()實例化某一個特定的算法接口,并且通過Get_Count()得到接口的返回值。
這樣將算法封裝起來,并且使他們可以互相替換。實現了一種替代繼承的方法,既保持了繼承的優點(代碼重用),還比繼承更靈活(算法獨立,可以任意擴展)。而且避免程序中使用多重條件轉移語句,使系統更靈活,并易于擴展。
4.3DAL數據庫訪問層
數據訪問層主要是定義、維護數據的完整性、安全性,它影響邏輯層的請求,負責對所有數據庫訪問的操作。
DAL層主要分為兩部分,一部分是屏蔽數不同數據庫操作差異,另一部分就是數據庫訪問。在這里通過簡單工廠的方法來實現不同數據庫連接的操作。其類圖如圖7所示。

圖7 數據訪問層類圖
首先,定義一個接口AbstractDbFactory,其中定義了各種數據庫操作的方法,但不實現。
具體的實現過程在繼承自此接口的具體的數據庫類中。例如SqlFactory中就實現了對SqlServer數據庫專用的建立連接,增刪改查等方法。
最后通過一個工廠類dbFactory的CreatConnect方法根據不同的數據庫類型返回不同的對象。
5結語
本文針對水文監測系統的特點及需求,構建了一種靈活、高實時性和方便工程部署的基于GPRS的水文監測硬件系統物理架構,并且設計和實現了一個基于三層架構的水文監測軟件系統。該系統已經在陜西省多個流域安裝使用,使用效果良好,能夠很好地滿足水文監測的需要。
參 考 文 獻
[1] 李正明,侯佳佳,潘天紅,等.基于ZigBee與GPRS的無線水文監測系統設計[J].排灌機械,2009,27(3):184-189.
LI Zhengming, HOU Jiajia, PAN Tianhong, et al. Design of wireless hydrological monitoring system based on ZigBee[J]. Drainage and Irrigation Machinery,2009,27(3):184-189.
[2] 張洋洋,趙建平,徐娟娟.基于物聯網技術的水文監測系統研究[J].通信技術,2012,45(4):108-111.
ZHANG Yangyang, ZHAO Jianping, XU Juanjuan. Research of IoT-based Hydrology Monitoring System[J]. Communications Technology,2012,45(4):108-111.
[3] 馬祖長,孫怡寧,梅濤.無線傳感器網絡綜述[J].通信學報,2004,25(4):114-124.
MA Zuchang, SUN Yining, MEI Tao. Survey on wireless sensors network[J]. Journal of China Institute of Communications,2004,25(4):114-124.
[4] 趙靜,喻曉紅,黃波,等.物聯網的機構體系與發展[J].通信技術,2010,43(9):106-108.
ZHAO Jing, YU Xiaohong, HUANG Bo, et al. Architecture and Development of IOT[J]. Communications Technology,2010,43(9):106-108.
[5] 許春紅,張杰,周彤.基于無線通信網絡的水文監測系統的設計與實現[J].水利水文自動化,2008(4):34-37.XU Chunhong, ZHANG Jie, ZHOU Tong. design and implementation on hydrological monitoring system based on wireless communication network[J]. Automation in Water Resources and Hydrology,2008(4):23-38.
[6] SL 323-2005. 實時雨水情數據庫表結構與標識符標準[S].
SL 323-2005. Standard for Structure and Identifier in Real-time Hydrological Information Database[S].
[7] SL 324-2005. 基礎水文數據庫表結構及標識符標準[S].
SL 324-2005. Standard for Structure and Identifier in Fundamental Hydrological Database[S].
[8] 謝新民,蔣云鐘,閆繼軍,等.流域水資源實時監控管理系統研究[J].水科學進展,2003,14(3):255-259.
XIE Xinmin, JIANG Yunzhong, YAN Jijun, et al. Study on real-time monitoring and management system for water resources in river basin[J]. Advances in Water Science,2003,14(3):255-259.
[9] 曹衛,董航飛,李宗寶.GPRS技術在水利監測系統中的應用[J].排灌機械,2007,25(5):39-42.
CAO Wei, DONG Hangfei, LI Zongbao. Application of GPRS technology in hydraulic monitoring system[J]. Drainage and Irrigation Machinery,2007,25(5):39-42.
[10] 李麗娜,石高濤,廖明宏.傳感器網絡操作系統Tiny-OS關鍵技術分析[J].哈爾濱商業大學學報:自然科學版,2005,12(6):724-727.
LI Lina, SHI Gaotao, LIAO Minghong. Analysis of key techniques for Tiny-OS in sensor network[J]. Journal of Harbin University of Commerce: Natural Science Edition,2005,12(6):724-727.
收稿日期:2016年1月15日,修回日期:2016年2月18日
作者簡介:王建國,男,博士,教授,碩士生導師,研究方向:無線傳感器網絡、智能檢測與控制。王曉陽,男,碩士研究生,研究方向:無線傳感器網絡。
中圖分類號TP391
DOI:10.3969/j.issn.1672-9722.2016.07.019
Design and Implementation of Hydrological Monitoring System
WANG JianguoWANG Xiaoyang
(School of Computer Science and Engineering, Xi’an University of Technology, Xi’an710021)
AbstractThis paper analyzes the main features of hydrological monitoring, and constructs a hardware system of hydrological monitoring based on GPRS communication, which can improve the timeliness and applicability of the hydrological monitoring system in the remote mountainous areas, develops and designs a software system for hydrological monitoring. The software system uses 3-tier architecture pattern. Compared with the traditional 2-tier C/S structure, it can improve the flexibility and extensibility of the system. The practical application shows that the system can meet the needs of the application of hydrological monitoring system.
Key Wordshydrological, 3-tier architecture, automatic monitoring