美章网 资料文库 雨量信息共享软件开发范文

雨量信息共享软件开发范文

本站小编为你精心准备了雨量信息共享软件开发参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。

雨量信息共享软件开发

1雨量信息共享软件开发的设计思路

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结语

雨量信息共享软件的开发和应用解决了两个不同管理单位的雨量信息共享问题,减少了雨量站的重复建设。将雨量信息共享的思路,推广到整个涉及雨量信息产业的资源整合,有利于信息使用多元化的需求,同时带来的安全、管理和标准等问题还需要进一步探索,传统的管理体制也需要进一步的改革。

作者:宋峥 单位:嫩江尼尔基水利水电有限责任公司