【摘 要】自2012年4月正式運行至今3年多來,水情信息交換系統充分利了計算機網絡優勢,使信息報送方式和效率得到改善和提高,為防汛抗旱提供了及時、科學的依據,在防汛抗旱中發揮了重要作用。本文介紹水情信息交換系統的結構,分析了報汛數據收發流程,對日常工作中出現的交換異常問題進行分析,提出水情信息交換系統的故障處理方法。
【關鍵詞】水情信息交換 原理 故障 處理
1 概述
水情信息收集傳輸是水文情報預報工作重要環節,要充分研究和利用數據庫和網絡技術,努力采用信息交換方式實現各級水情部門數據與數據庫之間水情信息傳輸和共享,提高水情信息收集傳輸技術整體水平,為進一步推進水文情報預報工作奠定堅實基礎。
以往報汛時人員投入大、占用時間多、解決問題慢,錯報、漏報、遲報現象,沒有充分利用計算機網絡優勢,無法實時報送基本信息、預報信息、統計信息,沒有統一譯電軟件等報汛問題。水利部水文局于2010年開發研制水情信息交換系統。菏澤水文局于2011年12月1日至2012年3月31日試運行水情信息交換系統,水情信息交換系統不再采用《水情信息編碼標準》(SL330-2005)進行數據交換,而是直接基于數據庫進行水情數據交換。省去了編碼、譯電過程,交換效率明顯提升,故障率大為減少。
自2012年4月正式運行至今3年多來,水情信息交換系統充分利了計算機網絡優勢,使信息報送方式和效率得到改善和提高,為防汛抗旱提供了及時、科學的依據,在防汛抗旱中發揮了重要作用。
2 水情信息交換系統介紹
2.1系統結構
水情信息交換系統基于DotNet Framework技術框架,采用Web Service技術,實現 “實時雨水情數據庫表結構與標識符標準”(SL323-2011)中基本信息類、實時信息類、預報信息類、統計信息類表單中數據的實時交換功能。利用Ajax技術,實現良好的界面交互效果。
由于系統沒有采用第三方軟件,避免了實施過程中的額外支出。軟件系統架構采用了MVC三層結構設計,層次和邏輯清晰,降低了系統開發和維護的成本,同時提高了系統的可擴展性(見圖1)。
2.2 系統特點
2.2.1 部署簡便易行
系統需要在分中心、省(市、區)中心、流域、中央多級部署,在推廣實施過程中做到低成本、易安裝、易維護。
2.2.2 業務覆蓋全面
當前全國范圍實時雨水情數據庫存在Oracle、SQL Server、Sybase三種不同類型的數據庫,所以系統具備在三種不同數據庫之間進行數據交互的功能。系統具有實時監控、統計分析的功能,同時能夠應對網絡故障、大數據量傳輸等特殊情況。
2.2.3 畫面直觀,操作簡單
系統需要在全國范圍內部署,系統盡可能簡化操作步驟,做到簡單易行。
2.2.4 運行穩定可靠
系統保證7*24小時不間斷運行,確保數據的正常發送。采用統一面向方面的框架,統一的異常處理、錯誤隔離、報警、容錯和恢復機制,盡可能地保證一個進程故障都不會引起系統的癱瘓,同時也允許系統對部分服務做升級和維護而不影響系統繼續提供核心的服務。
2.3 數據交換處理過程
外部系統對發送節點實時雨水情數據庫中基本信息類、實時信息類、預報信息類、統計信息類的數據進行插入(修改、刪除)操作時,啟動數據庫表的觸發器;觸發器將發生變動的數據記錄保存到待交換信息記錄表中;系統定時對待交換信息記錄表進行輪詢檢查,發現有待發送數據后,根據系統設置的轉發關系,為各接收單位生成相應的數據文件,并啟動發送模塊;發送模塊負責把數據文件,分別發送給各接收節點;接收節點通過Web Service接口,接收上傳的文件,并啟動入庫模塊;入庫模塊負責解讀數據文件,并把數據記錄插入到已接收信息記錄表中,同時插入(修改、刪除)相應的基本類、實時類、預報類和統計類信息(如圖2)。
2.4網絡拓撲結構
水情信息交換系統運行環境的網絡設備主要由水情信息交換系統應用服務器、數據庫服務器、監控終端組成。系統應用服務器在運行數據輪詢程序時,可同時通過IIS提供數據接收Web服務。通過軟件的配置,信息交換節點可以同時作為發送節點和接收節點(見圖3)。
3常見錯誤分析
3.1系統不能相連
正常網絡相通的情況下,系統不能相連的原因多數是因為沒有將對方的IP地址寫進自己的路由信息里面去。有時也會因為信息接受單位的服務器故障、更換了IP地址等未進行告知而導致與信息接受單位無法進行聯通。
3.2文件不能正常發送
如遇到交換系統不對外發送文件的情況,請按照以下步驟檢查:
(1)查看交換系統監控頁面是否有待處理信息,可進一步從數據庫中查看待發送信息記錄表中是否有數據(ST_SENWAIT_E)(select * from st_sendwait_e)。
①若沒有待發送信息,首先檢查交換站點和表單是否發生變動,再檢查觸發器是否被禁用;②若有待發送信息,但監控頁面顯示為0,系統統計待發送信息線程可能停止,重啟IIS服務(服務中World Wide Web Publishing Service)。
(2)監控頁面顯示有待處理信息時,可檢查數據庫表單中的待發送信息記錄表(ST_SENWAIT_E)中的發送流水號是否和已處理信息記錄表(ST_SENDO_E)、信息配發記錄表(ST_SENTO_E)中的發送流水號重復,查到有流水號相同的記錄數,直接刪除即可。(數據庫異常會導致待發送信息記錄表中的發送流水號字段的序列異常(oracle)或者發送流水號字增停止(SQL server),生成相同的流水號)
查看是否有流水號相同的記錄數:
select * from st_senddo_e where slsh in (select slsh from st_sendwait_e)
select * from st_sendto_e where slsh in (select slsh from st_sendwait_e)
刪除記錄數:
delete from st_senddo_e where slsh in (select slsh from st_sendwait_e)
delete from st_sendto_e where slsh in (select slsh from st_sendwait_e)
(3 )數據庫故障。這種故障一般是服務器崩潰導致數據庫丟失,或因數據庫空間爆滿、硬盤損壞、核心配置參數被誤操作等造成,這就要求管理人員應做好數據庫日常備份和維護。不僅要本機備份,而且為了防止本服務器崩潰,同時進行異地備份。
3.3 IIS 故障
(1)文件過多過大導致磁盤空間溢出。在C:\Windows\sys32\LogFiles\W3svc1 目錄下每天都會產生大量日志文件,如不及時作刪除處理,會占用大量有磁盤空間導致C盤空間暴滿,IIS無法正常運轉。
(2)Asp.net損壞導致交換系統無法啟動。Asp.net損壞會導致交換系統出現“無法連接到Web Service,請重新連接測試”等報錯信息。處理辦法:重新安裝Asp.net,并通“Aspnet_regiis”命令進行重新注冊。
3.4 數據告警處理
交換系統每日會統計前一日發送/接收信息,并根據系統設置時間(保留7天詳細信息)自動刪除已處理信息記錄表(ST_SENDO_E)、信息配發記錄表(ST_SENTO_E)、接收信息記錄表(ST_RECVINF_E)三張表中已統計的詳細信息,因為數據庫中會出現一些無法統計的垃圾數據,累計過多會影響入庫效率。當出現數據警告后,需要從數據庫中手工刪除該表單中的垃圾數據(統計涉及ST_SENDO_E和ST_RECVINF_E 2張表單),或者數據庫入庫較慢時,刪除一些已統計的數據,減少表單的數據量。
3.5 密碼遺忘問題
長時間沒登錄交換系統,忘記數據庫密碼事情常有發生。通過操作系統超級用戶登錄后,解除密碼鎖定,然后重新設置密碼。也可進入數庫據,找到保存密碼的表單進行修改。
4 結語
該系統自投入運行以來,改善了菏澤水情分中心與省中心的水情信息傳輸效率,能夠準確及時的交換、入庫各報汛站的水情信息,為水情人員及時了解實時水、雨情提供了技術保障,為防汛抗旱決策提供了及時、科學的依據,在防汛抗旱中發揮了重要作用。
但作為水情信息交換系統的管理人員,必須熟悉交換系統的原理和數據流程及重要控制的表結構內容,才能有效地分析故障,查找問題、解決問題。要加強日常管理,自動清除主要控制表項過大的記錄;制作系統腳本,通過計劃任務刪除過期的收發文件,以保障系統支行運行足夠的空間,并定期進行數據庫性能優化。另外,要做好應急備份交換系統,在復雜故障短時間內不能解決時,可啟用備份交換系統,以保證報汛數據的時效性和完整性。
參考文獻:
[1]水利部水文局.水情信息交換系統使用手冊[S].北京:水利部水文局,2011:70-77
[2]水利部水文局.SL323-2011實時雨水情數據庫表結構和標識符標準[S].北京:水利部水文局,2011;28-69
作者簡介:王捷音(1978—),女,漢族,山東菏澤人,本科,工程師,研究方向:水文水資源。