预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于JAVA的气象站数据监控平台的设计与实现吴吉哲张蕊摘要:本文综合运用Java桌面应用开发技术,SQLServer技术,采用Eclipse作为开发工具,同时利用气象数据统一服务接口(MUSIC)在业务内网环境下利用全国综合气象信息共享平台(CIMISS)数据,构建一个县级气象站数据监控平台。该系统的开发与应用可以很好地实现区域内大风、暴雨、高温预警信号的监测报警、在用站和备份站的数据对比监测、乡镇区域站的故障预警、雨情汇报自动生成的功能,界面友好美观、性能稳定,方便业务值班员更快、更好、更准确的提供气象服务。关键词:监控平台;Java;预警信号;气象服务通过计算机技术开发气象站数据监控平台,解决在实际气象业务中经常出现的大监站某要素值缺测,区域站掉线等故障现象;同时对大风、高温、暴雨三种预警信号达标监控,及时提醒值班员发报预警信息;自动统计生成雨情汇报短信,提高对外雨情发布效率。SQLServer是由Microsofi开发和推广的,便于同各种数据库建立联系,进行沟通的数据库管理系统(DBMS),它拥有豐富的图形化用户界面,以及适用多开发平台的编程接口工具。经过几个版本的更新,现在已经成为商业智能的一个重要数据工具。MUSIC:MeteorologicalUnifiedServiceInterfaceCommunity,是气象数据统一服务接口,基于国省统一的数据环境(CIMISS),面向气象业务和科研,提供全国统一、标准、丰富的数据访问服务和应用编程接口(API),为国、省、地、县各级应用系统提供唯一权威的数据接入服务。1总体设计本系统一共分为大监站数据对比、区域站故障预警、预警信号监测和雨量统计四个模块。主程序由JavaTimer定时器启动并定时运行各个功能。JavaTimer是一种Java定时器工具类,线程类(thread)用其控制后台线程中执行定期的任务。实际上是运用线程,定时调度所拥有的TimerTasks。各功能模块如图3.1所示,在设计该平台时,为了避免数据未入库引起的读取错误,在0、5分钟后延迟一段时间后再执行数据读取操作。在此次设计中作者使用1、6分时执行大监站数据对比模块;2、7分钟执行区域站故障监测模块以及预警信号监测模块。2各功能模块程序设计2.1大监站数据对比模块此功能模块实现主要依赖于通过两台电脑之间的数据交流,来实现在用站和备份站数据的对比,首先使用在用站数据发送端软件获取每五分钟产生一次的Z数据文件,通过TCP/IP协议发送到指定计算机(备份站计算机),数据接收端同时获取本地的备份站Z数据文件,进行对比分析,将异常数据及时报警。在该模块中,如何实现两台计算机通信传输是关键。本平台利用TCP/IP技术实现两台工作站之间的通信。在后台设计时分为客户端和服务器端,使用的Java对象分别是Socket和ServerSocket。首先,数据接收端建立连接的申请,生成一个socket对象,ServerSocketsockeFnewServerSocket(9001);赋予一个服务器端的文件地址(之后在写数据的时候如果文件不存在,则自动创建文件并写数据,若存在文件,则会覆盖原文件),fos-newFileOutputStream(file);运行socket.accept0函数,等待数据发送端的连接。在到达指定时间时,发送端通过服务器的IP地址和端口号实现和服务器的连接,socket-newSocket(local,9001);获取本地的文件的地址,建立java和文件的连接,获取文件输入流和数据输出流(输入和输出都是指对于Java.文件输入流的对象名可以为fis,数据输出流的对象名可以为dos;反之,文件输出流fos,数据输入流dis,即和前者相反的过程)。fis-newFilelnputStream(file);dos-newDataOutputStream(socket.getOutputStream0);sendByte-newbyte[1024];while《length-fis.read(sendByte》>0){dos.write(sendByte.0,length);)在发送端写完文件后,数据接收端开始获取数据输入流和文件输出流。InputStreamiFsocket.getlnputStream0;while《length-ir.read(getByte》!一一1){fos.write(getByte.0,length);)在接收完文件后,将本地两个Z文件进行解析。根据新型观测站数据格式规范,将气象站各项要素逐一显示出来,并计算两套气象站数据差异,判断误差的差异度,进行数据合理性分析,如果数据差异过大则可以判断数据异常,进行报警。数据的差异范围确定经由相关文献查出,利用2019年两套气象站的观测