牛智星,嵇海祥,崔彥萍,陳宇飛,胡春杰
(1.水利部南京水利水文自動化研究所,江蘇 南京 210012;2.江蘇南水科技有限公司,江蘇 南京 210012;3.南京水利科學研究院,江蘇 南京 210029;4.江蘇省水文水資源勘測局,江蘇 南京 210029)
近年來,隨著中小河流水文監測系統、山洪災害監測預警系統、國家地下水監測工程、國家防汛抗旱指揮系統二期工程等項目的實施,大量的水文監測站點建設完成,其中大多數站點都實現了自動測報,在防洪抗旱、興利、水文基礎資料收集方面起到了巨大支撐作用[1- 5]。
但由于參與項目建設的廠家較多,數據接收和存儲不統一,不僅在系統的使用、管理等方面存在諸多不便,影響到后續業務開發應用,也造成了基礎軟硬件設施資源的浪費[6- 7],并且智慧水利建設、水文現代化建設也對水文數據監測匯集提出了更高的要求[8- 9]。因此,建設一套水文監測數據統一接收軟件,整合各類水文監測系統數據統一接收入庫,統一原始監測數據存儲,對于提高用戶對系統和數據的管理效率,將各類水文監測數據更好服務于各類水利信息化應用,具有重要意義。
王美玲等[10]研究制定了省級數據傳輸規約,開發了數據采集平臺,在此基礎上建設了GPRS/CDMA雙信道的江蘇省水文自動測報系統,實現了全省已建水文系統的整合;胡波等[6]分析了武漢市水文局水雨情自動測報系統在數據接收和處理等方面存在的弊端,對統一接收平臺軟件所具備的功能進行了設想;許亮[11]論述了將廣東省各分局分散水雨情遙測數據接收改造為基于云平臺的省局統一接收模式,在省水情中心部署了接收處理軟件,取得了一定成效;王志飛等[12]基于微服務架構,設計了智慧水文綜合監測平臺,其中包含了水文數據接收整合平臺,具有一定的先進性。以上研究或應用對水文監測數據統一接收進行了大致的論述,但缺乏較為詳細的功能設計和應用實踐,文章聚焦數據接收環節,參考相關規范[13- 14]要求,設計開發了統一接收軟件,并在云南省水文系統中成功運用。
在水利信息化建設中,包含了水文監測數據的采集、傳輸、接收、處理、共享、應用等多個環節,其中數據接收是屬于基礎而又關鍵的環節。在低耦合的設計模式下,數據接收的核心任務是把水文監測數據及時、準確和完整地接收、存儲下來,建立起高質量的原始數據資源,在此基礎上可開發豐富的數據處理服務和水利業務應用,數據接收流程如圖1所示。

圖1 數據接收流程圖
為滿足數據統一接收和存儲的要求,水文監測數據統一接收軟件應重點滿足以下幾個功能:
(1)在通信規約方面,軟件應能兼容多種數據通信規約,特別是能支持行業標準通信規約如SL 651—2014《水文監測數據通信規約》,并可通過模板化設計靈活擴展以兼容其他通信規約;
(2)在通信信道方面,應能支持GPRS/4G/5G、北斗衛星、GSM短信、超短波等多種信道的數據接收;
(3)在監測要素方面,軟件應能支持接收雨量、水位、流量、蒸發、墑情、地下水、氣象、視頻圖像、測站設備狀態信息等多種監測要素;
(4)在數據解析處理方面,軟件應能根據設定的規則分析出異常值,并進行數據過濾、異常記錄等工作,確保數據的準確性和可追溯性;
(5)軟件應能對測站進行遠程管理;
(6)需設計完整的數據庫表結構,用來存儲原始監測數據。
基于以上分析,通過歸納總結,軟件詳細分為測站信息管理、測站遠程管理、數據查詢、測站運行監視、Z-Q/V曲線管理、系統設置、日志管理、權限管理等功能模塊,如圖2所示。軟件使用C/S架構,采用C#.NET語言開發。
測站信息管理分為測站基本信息管理和測站監測要素管理。
2.1.1測站基本信息管理
測站基本信息包括RTU站碼、水文編碼、站名、站類、分組、報文頭、測站位置、DTU卡號及其他功能設置。其中,RTU站碼指的是遙測終端設置的站碼,水文編碼指的是測站標準的八位水文編碼,因為可能存在同一水文編碼的測站的多個參數由不同遙測終端來監測;分組是便于對遙測站進行管理,可根據行政區劃、流域、建設項目來區分;報文頭指代了該測站所用的數據通信規約,不同通信規約有不同的代號;DTU卡號用來存儲通信模塊中通信卡的卡號,如SIM卡號或北斗衛星卡號。測站基本信息管理包括增加、修改、刪除等操作。
2.1.2測站監測要素管理
測站監測要素定義了測站含有哪些傳感器,即監測了哪些水文要素或設備運行參數,一般包含雨量、水位、流速、蒸發、墑情、氣象、終端蓄電池電壓等,每種監測要素都對應一個唯一的編碼值。此外,還定義了在解析這些監測要素數據時對應的計算分析參數,如計算系數、基值、奇異值過濾參數(上下限及允許跳變)等。測站監測要素管理包括對測站的監測參數進行增加、修改、刪除等操作。

圖2 水文監測數據統一接收軟件功能結構圖
測站遠程管理即軟件通過傳輸信道和測站進行遠程交互,包括讀取/修改測站工作參數、校對測站時鐘、查詢測站實時數據、測站固態存儲下載等功能。
2.2.1測站工作參數
測站工作參數一般包括測站工作模式(自報式、查詢-應答式、兼容式)、自報間隔、水位/雨量加報閾值、雨量計分辨率、水位基值等,軟件可遠程讀取或修改測站工作參數。
2.2.2校對測站時鐘
校對測站時鐘即以服務器時間為準對測站時鐘進行校對,一般包含自動校時和手動校時兩種模式:①自動校時,軟件根據測站來報計算測站時鐘與服務器時鐘差值,若差值超過設定閾值時自動發送校時指令完成測站時鐘校對;②手動校時,人工操作發送校時指令完成測站時鐘校對。
2.2.3查詢測站實時數據
查詢測站實時數據是軟件發送指令查詢測站某監測要素或全部監測要素實時數據,此功能一般要求測站的工作模式處于查詢-應答式的工作模式,即測站通信模塊實時在線。
2.2.4固態存儲下載
固態存儲下載是指軟件可發送指令下載測站終端存儲的某監測參數在某個時間段內的數據,用于彌補中心站缺報數據,下載的數據可選擇單獨存放在文件系統或入數據庫。
數據查詢主要包括對測站原始報文、原始監測數據進行查詢。
測站原始報文可對某站在選定的開始和結束時間內的來報情況進行查詢,內容包括報文接收時間、數據時間、來報信道類型、報文解析結果、報文類型、報文正文等。
原始監測數據查詢可查看不同監測要素的原始編碼、處理后數值等,以圖表形式展現,通過原始監測數據可查看監測要素數據處理過程,當數據異常時便于溯源。
對測站運行狀態進行監視,如通過判斷測站來報是否正常對測站狀態做出警示,若測站超過一定時間不來報,則認為該測站出現異常,軟件界面上該測站顯示為醒目紅色,同時將相關警示信息記錄入數據庫。
此外,還可對測站監測數據的完整度進行監視,如每天特定時刻檢查前一天數據是否完整,若有缺報情況,軟件可自動發送指令進行固態存儲數據下載以彌補缺失數據。
Z-Q/V曲線管理可為有水位監測的河道站或水庫站導入水位流量或水位庫容關系曲線,軟件即可根據來報的水位實時推算出流量或庫容。
系統設置包括信道設置和數據庫設置。
2.6.1信道設置
信道設置可增加、刪除、修改通信信道信息,通信信道接口一般有兩類:網絡端口(如GPRS/4G/5G)和串口(如北斗衛星、GSM短信、超短波等),軟件支持多個信道同時接收數據。
2.6.2數據庫設置
數據庫設置主要是設置數據庫連接參數,包括數據庫類型(SQL Server或Oracle)、數據庫服務器、數據庫服務端口、數據庫名、用戶名、密碼等數據庫連接參數的設置。
軟件運行日志、錯誤日志等都按照時間、類型存放于數據庫中,可進行查詢。
權限管理分為管理員和一般用戶兩種角色,管理員可進行軟件的所有操作;一般用戶只可進行數據查詢、瀏覽,不能進行增加、刪除、修改等操作。
原始數據庫參考SL 323—2011《實時雨水情數據庫表結構與標識符》進行設計,根據需要在原有數據庫表結構基礎上添加字段或新增庫表。文章主要介紹以下新增的數據庫表結構:
(1)測站監測要素表,存儲測站監測哪些水文要素或測站運行狀態要素,以及每個監測要素在解析時所用的相關計算參數、要素合理數值范圍等;
(2)測站遠程管理任務表,存儲對測站進行讀取/修改工作參數、固態存儲下載等任務的庫表結構;
(3)測站原始報文表,存儲測站原始報文相關情況的庫表,如來報時間、報文類型、報文內容、來報信道等;
(4)測站設備運行狀態表,存儲測站設備電壓、信號強度、報警信息等實時運行狀態信息;
(5)接收信道信息表,存儲接收信道相關的IP地址、協議(如TCP或UDP)、端口號、串口號、波特率等信息;
(6)視頻圖像路徑表,存儲接收的視頻或圖像數據在文件系統內的路徑。
利用開發的水文監測數據統一接收軟件在云南多個地市水文分局進行了部署應用,在分局層面統一整合接收了多個廠家的不同通信規約的遙測設備數據,采用了4G網絡、北斗衛星、GSM短信等多種信道,涉及水雨情監測、地下水監測、墑情監測、流量在線監測等系統,各類數據在分局接收入庫,再通過水利專網將數據轉發共享至省水文局相關業務數據庫。
該軟件實現了各分局軟件、數據、遙測設備的統一管理,提高了相關人員工作效率,顯著地提升了測站數據報送暢通率,有效地支撐了各分局各項水文業務應用,特別是報汛和在線整編兩大核心業務,取得了優異的效果。
文章從實用角度出發設計開發了水文監測數據統一接收軟件并在云南水文系統成功應用,軟件功能全面、運行穩定,可在多廠商各類水文監測系統的數據統一整合接收中推廣應用,改善智慧水利和水文現代建設中的數據匯集體系。此外,根據應用實踐經驗,建議在進行統一整合接收時,重視通信規約的統一標準問題,盡量使用行業標準通信規約如SL 651—2014,必要時還可在規約框架下作一些具體的規定,方便軟件開發和統一數據標準。