本站小編為你精心準備了雨量信息共享軟件開發參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
1.1雨量信息交換報文設計雨量信息共享的雙方都已經建設了自己獨立的系統,不僅具有信息采集、存儲、處理和查詢等功能,還有完善的數據定義和不同的數據庫結構。為了將共享的雨量信息融合到對方的系統,便于信息的存儲和查詢,結合FTP文件傳輸協議的形式,雨量信息交換采用報文交換的方式。雨量信息報文交換的前提是確定報文編碼和譯碼的標準,定義報文雨量信息要素,包括站碼、時間、時段標示和雨量值。站碼是每個雨量測站的編碼,必須具有唯一性,雙方系統按照自己的測站編碼規定,對新增的測站進行編制。時間是降雨量值的截止時間,這里規定每小時進行一次雨量信息交換;時段標示是區分小時數據和日數據的標志,日數據按8時來分界。雨量值是時段內將雨量的累計值,如果時段內沒有降雨按0處理,這樣處理的好處是根據系統有無數據來判斷共享測站是否正常運行,在實踐應用過程中更加準確地處理雨量數據。
1.2雨量信息共享軟件模塊功能設計雨量信息共享軟件共設計了4個模塊,分別為:雨量信息交換模塊即主程序模塊、系統基本參數設置模塊、測站參數設置模塊和補數模塊。雨量信息交換模塊主要完成程序運行控制和雨量信息自動交換功能;系統基本參數設置模塊主要完成FTP和數據庫相關信息的配置功能;測站參數設置模塊主要完成共享測站相關信息的設置功能,對于此模塊還設計有獨立的數據庫表結構,便于程序的實現;補數模塊主要完成規定時間內雨量信息的補傳功能。
1.3雨量信息交換流程設計雨量信息交換是雨量信息共享軟件的核心部分,主要包括:報文上傳和下載、報文生成和分解、SQL生成、雨量信息提取和入庫以及定時器的設定等環節,各個環節在程序執行過程中要清晰、嚴謹。程序設計的基本思路見圖1。
2雨量信息共享軟件開發
雨量信息共享軟件采用Java語言開發,Java是一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言,正是基于Java面向對象程序設計的本質,將軟件所需要的報文上傳和下載、報文生成和分解等實體抽象出來,封裝或繼承為信息上傳、信息下載、報文形成等抽象類,圍繞程序的數據(對象)和針對該對象而嚴格定義的接口來組織程序,按照程序設計的模塊、流程逐步完成程序代碼的編譯和程序的調試。
3雨量信息共享軟件關鍵問題的解決
3.1雨量信息交換a.雨量信息FTP上傳和下載是通過引進sun.net.ftp.FtpClient類來實現的。FtpClient類涵蓋了幾乎所有的FTP功能,利用這些類的方法,可以遠程登錄到FTP服務器,列舉該服務器上的目錄,設置傳輸協議,以及傳送文件。b.雨量信息交換的時間配合。考慮到各種系統雨量信息采集的時間差和上傳、下載的時間差,分別限定了上傳和下載的時刻并可修改,在一定的條件下保證雨量信息的真實性和時效性。c.保證雨量信息無漏報。造成信息漏報的有網絡、硬件保障以及誤操作等多種因素。為了避免此問題,程序設定了記錄上傳、下載信息時刻的臨時變量,記錄程序上次完成信息交換的時間,保證雨量信息的連續性,同時也編寫了雨量信息補傳功能模塊。
3.2軟件運行的穩定性處理雨量信息共享軟件是實時運行系統,保證其穩定運行十分重要。在軟件測試過程中發現,由于網絡不穩定等原因會造成上傳或下載數據超時,從而導致程序“假死”現象。經過測試,設置FTPClient中setDe-faultTimeout()、setConnectTimeout()、setDataTimeout()方法的超過限定時間,消除了程序“假死”現象。另外,對于因數據庫讀取、數據轉換等非正常情況下的錯誤而造成的程序中斷,采用了捕捉異常實現程序跳轉保證其正常運行。捕捉程序異常日志見圖2。
4雨量信息共享軟件應用
經過兩年的實際運行,共享軟件滿足了程序開發的需求,對運行過程中出現的BUG也及時做了修正,能夠完成雨量信息的共享,并且能夠保證數據傳輸的準確性和時效性。共享的雨量信息對等雨量面圖的制作提供了更多的信息支持,便于流域降雨特點的分析。雨量信息共享軟件運行圖見圖3。
5結語
雨量信息共享軟件的開發和應用解決了兩個不同管理單位的雨量信息共享問題,減少了雨量站的重復建設。將雨量信息共享的思路,推廣到整個涉及雨量信息產業的資源整合,有利于信息使用多元化的需求,同時帶來的安全、管理和標準等問題還需要進一步探索,傳統的管理體制也需要進一步的改革。
作者:宋崢 單位:嫩江尼爾基水利水電有限責任公司