王建國(guó) 王曉陽(yáng)
(西安工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 西安 710021)
?
水文監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)*
王建國(guó)王曉陽(yáng)
(西安工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院西安710021)
摘要論文分析了水文監(jiān)測(cè)的主要特點(diǎn),構(gòu)建了一種基于GPRS通信的水文監(jiān)測(cè)硬件系統(tǒng)組成,提高了水文監(jiān)測(cè)系統(tǒng)的時(shí)效性以及在偏遠(yuǎn)山區(qū)的適用性;設(shè)計(jì)和開發(fā)一套應(yīng)用于水文監(jiān)測(cè)的軟件系統(tǒng)。該軟件系統(tǒng)采用三層架構(gòu)模式,相比于傳統(tǒng)的兩層C/S結(jié)構(gòu),提高了系統(tǒng)的靈活性和可擴(kuò)展性。實(shí)際應(yīng)用結(jié)果表明,該系統(tǒng)可以較好地滿足水文監(jiān)測(cè)系統(tǒng)的應(yīng)用需求。
關(guān)鍵詞水文; 三層架構(gòu); 自動(dòng)監(jiān)測(cè)
Class NumberTP391
1引言
水文監(jiān)測(cè)技術(shù)是水文水利信息化的重要基礎(chǔ),它是水文傳感器技術(shù)與采集、存儲(chǔ)、傳輸、處理技術(shù)的集成[1]。近四十年來,我國(guó)水文自動(dòng)監(jiān)測(cè)系統(tǒng)的建設(shè)和應(yīng)用技術(shù)有了巨大進(jìn)步,所建系統(tǒng)采集的數(shù)據(jù),為防汛和水利調(diào)度的決策提供了依據(jù)和參考,但整體水平與西方發(fā)達(dá)國(guó)家相比較還存在著很大的差距,其中信息采集、傳輸手段和技術(shù)比較落后,信息時(shí)效性差,不能滿足對(duì)水文數(shù)據(jù)實(shí)時(shí)、快速、準(zhǔn)確監(jiān)測(cè)的要求[3]。
目前我國(guó)水文監(jiān)測(cè)系統(tǒng)的建設(shè)中,有些地區(qū)還在使用傳統(tǒng)的撥號(hào)和專線的固定網(wǎng)絡(luò)接入等方式進(jìn)行數(shù)據(jù)傳輸,時(shí)效性較差。在這種情況下,使用GPRS無線通信是一種很好的選擇。
而且傳統(tǒng)水文監(jiān)測(cè)軟件系統(tǒng)大多采用傳統(tǒng)的兩層C/S結(jié)構(gòu),當(dāng)系統(tǒng)版本迭代,新增功能模塊時(shí),可擴(kuò)展性較差,時(shí)間周期長(zhǎng)。
2水文監(jiān)測(cè)的主要特點(diǎn)
要開發(fā)一套實(shí)用且有效的水文監(jiān)測(cè)系統(tǒng),首先要對(duì)水文監(jiān)測(cè)的特點(diǎn)有深入的理解。由于水文監(jiān)測(cè)關(guān)乎流域的防汛抗洪,水資源管理,生態(tài)環(huán)境的保護(hù)以及人民群眾的生命安全[2]。所以水文監(jiān)測(cè)系統(tǒng)有如下特點(diǎn):
1) 水文監(jiān)測(cè)系統(tǒng)的實(shí)時(shí)性非常強(qiáng)
水文監(jiān)測(cè)系統(tǒng)可以進(jìn)行在線數(shù)據(jù)傳輸,并且還能夠滿足系統(tǒng)對(duì)數(shù)據(jù)采集和傳輸實(shí)時(shí)性的要求。
2) 水文監(jiān)測(cè)系統(tǒng)的可靠性非常高
水文監(jiān)測(cè)系統(tǒng)應(yīng)該可以避免數(shù)據(jù)包的丟失,能夠保證數(shù)據(jù)進(jìn)行安全的傳輸。即使由于設(shè)備或網(wǎng)絡(luò)原因丟失部分?jǐn)?shù)據(jù),也應(yīng)該有相應(yīng)的召測(cè)功能。
3) 水文監(jiān)測(cè)系統(tǒng)的監(jiān)控范圍很廣
由于監(jiān)測(cè)對(duì)象是河流,所以監(jiān)控點(diǎn)的分布相對(duì)較廣泛,測(cè)點(diǎn)會(huì)分布在山區(qū)或鄉(xiāng)鎮(zhèn)等。
3水文監(jiān)測(cè)系統(tǒng)的概要設(shè)計(jì)
3.1硬件系統(tǒng)設(shè)計(jì)方案
根據(jù)水文監(jiān)測(cè)的三大特點(diǎn),將水文監(jiān)測(cè)硬件部分分為監(jiān)測(cè)中心和前端監(jiān)測(cè)設(shè)備。其中監(jiān)測(cè)中心放置服務(wù)器并連接公網(wǎng)或?qū)>€;前端監(jiān)測(cè)設(shè)備則以RTU為核心,在RTU上連接如雨量計(jì),水位計(jì),流速計(jì)等監(jiān)測(cè)設(shè)備。水文監(jiān)測(cè)系統(tǒng)的物理架構(gòu)如圖1所示。
圖1 物理架構(gòu)圖
1) 前端監(jiān)測(cè)設(shè)備
前端監(jiān)測(cè)設(shè)備由RTU和傳感器設(shè)備組成。RTU中文名稱為遠(yuǎn)程測(cè)控終端,用于監(jiān)視、控制與數(shù)據(jù)采集的應(yīng)用。具有遙測(cè)、遙信、遙調(diào)、遙控功能。RTU集數(shù)據(jù)采集、傳輸、存儲(chǔ)功能于一體,采用低功耗設(shè)計(jì),具有通訊距離較長(zhǎng)、適用于各種環(huán)境惡劣的工業(yè)現(xiàn)場(chǎng)、模塊結(jié)構(gòu)化設(shè)計(jì)、便于擴(kuò)展等優(yōu)點(diǎn)。
傳感器主要包括水位傳感器,雨量傳感器和流速傳感器。
2) 傳輸網(wǎng)絡(luò)
水文監(jiān)測(cè)系統(tǒng)的傳輸網(wǎng)絡(luò)由GPRS/短消息,Internet公網(wǎng)組成。RTU通過GPRS或者短信的方式將監(jiān)測(cè)數(shù)據(jù)發(fā)送給服務(wù)器或負(fù)責(zé)人,客戶端通過公網(wǎng)從服務(wù)器獲取數(shù)據(jù)。
3) 監(jiān)測(cè)中心
監(jiān)測(cè)中心由服務(wù)器和客戶端組成,服務(wù)器有一固定公網(wǎng)IP,同時(shí)接收采集到的水文數(shù)據(jù)并保存在數(shù)據(jù)庫(kù)中。客戶端可以通過固定的公網(wǎng)IP訪問服務(wù)器,獲得水文數(shù)據(jù),進(jìn)行一定的統(tǒng)計(jì)分析計(jì)算在界面上呈獻(xiàn)給客戶。
3.2系統(tǒng)功能概述
水文監(jiān)測(cè)系統(tǒng)軟件是對(duì)水文監(jiān)測(cè)點(diǎn)數(shù)據(jù)進(jìn)行接收、匯總、統(tǒng)計(jì)、分析的一個(gè)平臺(tái),該軟件具備動(dòng)態(tài)實(shí)時(shí)監(jiān)測(cè)、歷史數(shù)據(jù)查詢、報(bào)警數(shù)據(jù)查詢、時(shí)段統(tǒng)計(jì)、曲線分析、用戶管理、測(cè)站管理、歷史數(shù)據(jù)召測(cè)等多項(xiàng)功能。
水文監(jiān)測(cè)系統(tǒng)軟件采用C/S結(jié)構(gòu)設(shè)計(jì),具有操作權(quán)限的管理人員,只要安裝訪問客戶端即可登入該系統(tǒng),保證了系統(tǒng)的安全性。該軟件給用戶提供了一個(gè)直觀、簡(jiǎn)單的信息化操作平臺(tái)。水文監(jiān)測(cè)系統(tǒng)的主要功能模塊如圖2所示。
圖2 水文監(jiān)測(cè)系統(tǒng)的功能模塊圖
1) 全局顯示:可顯示所有監(jiān)測(cè)站當(dāng)前信息及現(xiàn)場(chǎng)設(shè)備運(yùn)行狀態(tài)。
2) 采集功能:采集或者接收RTU設(shè)備上報(bào)的監(jiān)測(cè)點(diǎn)水位,降雨量等水文數(shù)據(jù)。
3) 數(shù)據(jù)處理:將采集到的數(shù)據(jù)根據(jù)要求進(jìn)行運(yùn)算處理后,存入數(shù)據(jù)庫(kù)并發(fā)送到前端顯示。
4) 數(shù)據(jù)查詢:用戶可任意設(shè)定查詢條件,對(duì)測(cè)站歷史數(shù)據(jù)、測(cè)站報(bào)警數(shù)據(jù)進(jìn)行查詢。
5) 統(tǒng)計(jì)分析:用戶可設(shè)定統(tǒng)計(jì)時(shí)間段,系統(tǒng)可按日、月、年生成監(jiān)測(cè)站的時(shí)段匯總報(bào)表和時(shí)段趨勢(shì)曲線。
6) 用戶管理:系統(tǒng)管理員可更改系統(tǒng)密碼,添加或刪除系統(tǒng)用戶,并可對(duì)其他系統(tǒng)用戶分配相應(yīng)的操作權(quán)限。各系統(tǒng)用戶可在自己權(quán)限下對(duì)系統(tǒng)進(jìn)行相應(yīng)操作。
7) 測(cè)站管理:具備權(quán)限的系統(tǒng)用戶可添加、刪除測(cè)站信息或?qū)y(cè)站信息進(jìn)行編輯,當(dāng)現(xiàn)場(chǎng)監(jiān)測(cè)站或監(jiān)測(cè)設(shè)備變更時(shí)可方便地在監(jiān)控系統(tǒng)軟件上對(duì)測(cè)站信息做相應(yīng)的修改。
8) 歷史數(shù)據(jù)召測(cè):系統(tǒng)支持手動(dòng)召測(cè)歷史記錄功能。當(dāng)測(cè)站設(shè)備發(fā)生故障未能及時(shí)上報(bào)水文數(shù)據(jù)時(shí),可通過該功能進(jìn)行某一時(shí)段數(shù)據(jù)的召測(cè),保障水文監(jiān)測(cè)數(shù)據(jù)的連貫性和完整性。
9) 設(shè)備配置:可以對(duì)RTU設(shè)備以及雨量計(jì),水位計(jì)等監(jiān)測(cè)設(shè)備的參數(shù)進(jìn)行遠(yuǎn)程配置,并將配置信息存庫(kù)。
10) 告警功能:水位、降雨量、流量、電壓等數(shù)據(jù)超過告警閾值時(shí),進(jìn)行告警處理。
4水文監(jiān)測(cè)系統(tǒng)的詳細(xì)設(shè)計(jì)
系統(tǒng)采用三層架構(gòu)設(shè)計(jì),把系統(tǒng)的界面、業(yè)務(wù)、數(shù)據(jù)分離,各個(gè)層次各司其職。這樣做的優(yōu)點(diǎn)是使項(xiàng)目結(jié)構(gòu)更清楚。系統(tǒng)能夠高效、靈活地修改業(yè)務(wù)邏輯,添加新的設(shè)備類型、修改界面等。即實(shí)現(xiàn)了“高內(nèi)聚,低耦合”的思想[4]。圖3為三層架構(gòu)圖。
圖3 系統(tǒng)三層架構(gòu)圖
4.1UI表示層
表示層也就是用戶界面,承擔(dān)著向用戶顯示問題模型、接受用戶操作、I/O交互的作用。圖4為水文監(jiān)測(cè)系統(tǒng)主界面截圖。
圖4 系統(tǒng)主界面圖
用戶界面層應(yīng)該盡可能地與業(yè)務(wù)邏輯分離、與數(shù)據(jù)模型分離。也就是說比較好的UI層在更換業(yè)務(wù)邏輯以及數(shù)據(jù)模型時(shí)不用做過多的修改就可以使用。
圖5 MVP模式結(jié)構(gòu)圖
基于這種理念,參考MVP設(shè)計(jì)模式(結(jié)構(gòu)圖如圖5)將UI層通過WPF框架再次劃分為View層和Presenter層兩個(gè)部分,分別對(duì)應(yīng)MVP模式中的V和P(M其實(shí)就是三層結(jié)構(gòu)中的BLL層和Model實(shí)體類)。其中View層通過xaml語言實(shí)現(xiàn)僅僅負(fù)責(zé)實(shí)現(xiàn)界面布局及美工,Presenter層則實(shí)現(xiàn)顯示邏輯[5]。這樣做的優(yōu)點(diǎn)是在UI層把美工界面和顯示邏輯分離,從而可以以最小的代價(jià)來更換一套系統(tǒng)的UI,并且在開發(fā)過程中便于美工人員和開發(fā)人員合作。
4.2BLL業(yè)務(wù)邏輯層
業(yè)務(wù)邏輯層在體系架構(gòu)中的位置很關(guān)鍵,它處于數(shù)據(jù)訪問層與表示層中間,起到了數(shù)據(jù)交換中承上啟下的作用[8]。
業(yè)務(wù)邏輯層負(fù)責(zé)對(duì)用戶界面層輸入的數(shù)據(jù)進(jìn)行有效性的驗(yàn)證,處理數(shù)據(jù),根據(jù)業(yè)務(wù)邏輯生調(diào)用數(shù)據(jù)訪問層相應(yīng)的方法?;蛘邚腢I層接收數(shù)據(jù),處理后再送回UI層。
在水文監(jiān)測(cè)系統(tǒng)中,考慮到系統(tǒng)的可擴(kuò)展性,易維護(hù)性,將一些功能相似的算法單獨(dú)抽取出來使用策略模式進(jìn)行封裝。這樣做也有利于在開發(fā)過程中分工合作。BLL層的主要結(jié)構(gòu)如圖6所示。
圖6 業(yè)務(wù)邏輯層類圖
基類BllBase中定義了通用的數(shù)據(jù)驗(yàn)證方法,來處理數(shù)據(jù)合法性的業(yè)務(wù)邏輯,例如判斷輸入是否為數(shù)字,是否為站號(hào),是否為中文等。
用戶類Uses和測(cè)站類Station類繼承基類,并且分別擁有自己的業(yè)務(wù)邏輯處理方法,例如用戶信息的增刪改查,用戶權(quán)限及登錄的控制。
從測(cè)站類繼承出五個(gè)設(shè)備類,它們分別有自己的對(duì)相應(yīng)數(shù)據(jù)的操作方法,在數(shù)據(jù)分析和處理時(shí)可以方便的對(duì)某種設(shè)備的數(shù)據(jù)進(jìn)行操作。
同時(shí)測(cè)站類中定義了一個(gè)類型為Count的接口countflow來進(jìn)行流量計(jì)算,而接口Count不實(shí)現(xiàn)任何功能,只定義了方法名CountFlow,具體的計(jì)算過程由一個(gè)具體的算法類繼承該接口實(shí)現(xiàn),例如在GLSCount類和LadderCount類中的CountFlow方法中實(shí)現(xiàn)了具體的計(jì)算過程。
例如計(jì)算顯示流量時(shí),首先實(shí)例化一個(gè)Flow類的對(duì)象flow,flow可以通過父類獲取和操作站信息(站址,所屬區(qū)域等)當(dāng)需要使用算法時(shí),可以通過父類的Set_Count()實(shí)例化某一個(gè)特定的算法接口,并且通過Get_Count()得到接口的返回值。
這樣將算法封裝起來,并且使他們可以互相替換。實(shí)現(xiàn)了一種替代繼承的方法,既保持了繼承的優(yōu)點(diǎn)(代碼重用),還比繼承更靈活(算法獨(dú)立,可以任意擴(kuò)展)。而且避免程序中使用多重條件轉(zhuǎn)移語句,使系統(tǒng)更靈活,并易于擴(kuò)展。
4.3DAL數(shù)據(jù)庫(kù)訪問層
數(shù)據(jù)訪問層主要是定義、維護(hù)數(shù)據(jù)的完整性、安全性,它影響邏輯層的請(qǐng)求,負(fù)責(zé)對(duì)所有數(shù)據(jù)庫(kù)訪問的操作。
DAL層主要分為兩部分,一部分是屏蔽數(shù)不同數(shù)據(jù)庫(kù)操作差異,另一部分就是數(shù)據(jù)庫(kù)訪問。在這里通過簡(jiǎn)單工廠的方法來實(shí)現(xiàn)不同數(shù)據(jù)庫(kù)連接的操作。其類圖如圖7所示。
圖7 數(shù)據(jù)訪問層類圖
首先,定義一個(gè)接口AbstractDbFactory,其中定義了各種數(shù)據(jù)庫(kù)操作的方法,但不實(shí)現(xiàn)。
具體的實(shí)現(xiàn)過程在繼承自此接口的具體的數(shù)據(jù)庫(kù)類中。例如SqlFactory中就實(shí)現(xiàn)了對(duì)SqlServer數(shù)據(jù)庫(kù)專用的建立連接,增刪改查等方法。
最后通過一個(gè)工廠類dbFactory的CreatConnect方法根據(jù)不同的數(shù)據(jù)庫(kù)類型返回不同的對(duì)象。
5結(jié)語
本文針對(duì)水文監(jiān)測(cè)系統(tǒng)的特點(diǎn)及需求,構(gòu)建了一種靈活、高實(shí)時(shí)性和方便工程部署的基于GPRS的水文監(jiān)測(cè)硬件系統(tǒng)物理架構(gòu),并且設(shè)計(jì)和實(shí)現(xiàn)了一個(gè)基于三層架構(gòu)的水文監(jiān)測(cè)軟件系統(tǒng)。該系統(tǒng)已經(jīng)在陜西省多個(gè)流域安裝使用,使用效果良好,能夠很好地滿足水文監(jiān)測(cè)的需要。
參 考 文 獻(xiàn)
[1] 李正明,侯佳佳,潘天紅,等.基于ZigBee與GPRS的無線水文監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].排灌機(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] 張洋洋,趙建平,徐娟娟.基于物聯(lián)網(wǎng)技術(shù)的水文監(jiān)測(cè)系統(tǒng)研究[J].通信技術(shù),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] 馬祖長(zhǎng),孫怡寧,梅濤.無線傳感器網(wǎng)絡(luò)綜述[J].通信學(xué)報(bào),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] 趙靜,喻曉紅,黃波,等.物聯(lián)網(wǎng)的機(jī)構(gòu)體系與發(fā)展[J].通信技術(shù),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] 許春紅,張杰,周彤.基于無線通信網(wǎng)絡(luò)的水文監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].水利水文自動(dòng)化,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. 實(shí)時(shí)雨水情數(shù)據(jù)庫(kù)表結(jié)構(gòu)與標(biāo)識(shí)符標(biāo)準(zhǔn)[S].
SL 323-2005. Standard for Structure and Identifier in Real-time Hydrological Information Database[S].
[7] SL 324-2005. 基礎(chǔ)水文數(shù)據(jù)庫(kù)表結(jié)構(gòu)及標(biāo)識(shí)符標(biāo)準(zhǔn)[S].
SL 324-2005. Standard for Structure and Identifier in Fundamental Hydrological Database[S].
[8] 謝新民,蔣云鐘,閆繼軍,等.流域水資源實(shí)時(shí)監(jiān)控管理系統(tǒng)研究[J].水科學(xué)進(jìn)展,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] 曹衛(wèi),董航飛,李宗寶.GPRS技術(shù)在水利監(jiān)測(cè)系統(tǒng)中的應(yīng)用[J].排灌機(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] 李麗娜,石高濤,廖明宏.傳感器網(wǎng)絡(luò)操作系統(tǒng)Tiny-OS關(guān)鍵技術(shù)分析[J].哈爾濱商業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,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日
作者簡(jiǎn)介:王建國(guó),男,博士,教授,碩士生導(dǎo)師,研究方向:無線傳感器網(wǎng)絡(luò)、智能檢測(cè)與控制。王曉陽(yáng),男,碩士研究生,研究方向:無線傳感器網(wǎng)絡(luò)。
中圖分類號(hào)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