气象信息上行资料监控系统

2018-05-08 13:20仲崇文宋永鹏
电子技术与软件工程 2018年22期
关键词:监控

仲崇文 宋永鹏

摘要 信息中心网络运行监控岗位担负着全省气象信息资料收集上传工作,国家站、区域站、高空资料、城镇报等资料实时性、准确性、及时性要求高,传统人工查询方式工作量大且易漏忘,为了简化工作量,提高上行资料传输的可靠性、准确性开发了本系统。本系统的开发使用Delphi语言和Mysql数据库的开发环境,能够及时准确的提醒值班人员对各类上行资料进行监控。

【关键词】气象信息 上行资料 监控

目前,各类气象资料种类日益增多,每个时次均有十几种资料需要监控,特别是国家站、高空报、城镇报等资料,实时性、可靠性、准确性要求高,依靠人工监控工作繁琐,因此急需开发一套能够自动对各类气象上行资料进行监控的系统。

1 界面和功能设计

Asm代表土壤水分资料;Dqcf代表大气成分资料;Aws代表国家站资料;Caws代表区域站资料;Gps代表GPS资料;18Up代表高空资料2ISpce代表凌晨5点的城镇报资料Radar代表雷达资料。

如果想查询某种资料的到报情况,直接点击该资料的按钮即可显示。当某种资料告警时,点击“关闭”按钮即可关闭该告警。

2 系统实现的流程

2.1 国家站数据的监控

国家站数据监控流程:Timer控件每分钟执行一次,当时间指向每小时(世界时)的08分时,自动触发国家站数据监控函数AwsCheck,并将AwsCheck函数的执行结果取否返回给国家站数据监控的Bo01类型变量AwsBooI,这个Bo01类型的变量就是决定监控系统是否给出声音报警的变量。

AwsCheck函数实现了如下功能:数据库连接、Sql语句查询、判断到报数量、判断是否达到声音报警、将AwsCheck函数的结果返回给AwsBoo1变量、系统文本框提示到报情况等功能。

2.1.1数据库的连接

CTS数据库使用的是Mysql数据库,ADO连接Mysql数据库是微软提供的最有效和直接的方式。

连接在Open的时候会先执行一个exception,如果连接失败,说明系统和数据库的连接出现了问题,就会终止AwsClleck函数后续的执行,直接将AwsCheck函数的返回值设为False,进行声音的报警提示;如果连接成功才会执行函数体后面的步骤。

2.1.2 数据库的查询

数据库连接成功后,下一步骤就是编写Sql语句对数据库进行查询。国家站数据的Sql语句的编写要实现的查询条件包括:报文类型编码、发报目的地和发报时间。对应到数据库表的字段就是DATA TYPE C字段、SENDUSER字段和DETAIL HOUR字段。

2.1.3 到报数的判断

数据库查询控件ADOQuery的RecordCount属性的值,是符合Sql查询语句条件的全部数据的数量。山東省考核的国家站是123个站,如果当前时次的全部国家站数据都正常上传国家局,经由Sql语句返回的RecordCount的值就是123,通过RecordCount的值确定上传国家局的台站数;但是并不只是通过这个值确定监控系统是否需要声音报警,有时个别气象台站会因为出现机器故障或网络故障,而在一段时间无法上传气象数据,考虑到这些突发情况,就需要监控系统做出提前的配置,监控系统在初始化的时候会读取ini.txt配置文件。

2.1.4 声音报警的启动和关闭

Aws后面的数字3代表当数据库中符合条件的数据数量比全部考核站数少3个以上,就会发出声音报警的提示。监控系统在启动的时候会读取ini.txt配置文件中的参数,是在启动进程FormCreate中编写代码实现的,其中国家站的mi参数是3,为方便程序的使用,将国家站的参数赋值给count Aws。当返回的RecordCount值和全部考核站数差值大于count Aws时,AwsCheck函数会返回False,监控系统就会启动声音报警。

2.2 除国家站外多种数据的监控

本系统除了国家站数据外,还对土壤水分、大气成分、雷达、区域站、高空报、城镇报和GPS数据进行实时监控。

2.2.1 土壤水分、区域站、大气成分、高空报和城镇报数据的数据库查询语句

2.1.2 小节中提出过,不同的数据有不同的报文类型编码,土壤水分、城镇报、大气成分和区域站数据的报文类型编码分别是E.0001.0003.ROO1、M.0012.0002.ROO1、G.0002.0008.ROOI年口A.0001.0028.ROO1,SEND__ USER。发报目的地字段和DETAILHOUR发报时间字段与国家站数据的数据库查询语句相同,也即上述数据的数据库查询Sql语句与国家站数据的查询语句相比较,只是DATA TYPE C报文类型编码字段的差别。

2.2.2 雷达和GPS数据的数据库查询语句

这两种数据查询的数据表不同于上述数据,使用的不是站号级的发送表,而是文件级的发送表TB SEND FILE;文件级发送表表结构不同于站号级发送表TB SEND REPT,因此Sql查询语句的编写也不同于上述数据,需要FILE NAME文件名字段和SEND__ USER发报目的地字段为查询条件。其中SENDUSER发报目的地字段依然是国家局BABJ,FILE NAME文件名字段需要系统在编写Sql查询语句之前就进行赋值操作。

FILE NAME文件名是在系统启动初始化时进行的赋值,在FormCreate进程中进行的编写,考核的雷达站和GPS站数分别为8和25个。

雷达数据和GPS数据的文件名分别赋值给了两个数组,编写Sql查询语句时,使用For循环分别对这两种数据的每一个站进行数据库查询。GPS数据根据不同的台站文件名分别进行了25次数据库查询。相应的,雷达数据需要进行8次数据库查询。

参考文献

[1]兰旭辉,基于MySQL的应用程序设计[J].计算机工程与设计,2004 (03).

[2]郭骅麟,浅论基于Delphi的数据库开发[J].信息与电脑,2010 (01).

猜你喜欢
监控
The Great Barrier Reef shows coral comeback
手机能监控疾病了
你被监控了吗?
Zabbix在ATS系统集中监控中的应用
监控软件预案策略控制在海底隧道监控中的应用
模糊监控图像视频的清晰化处理
立体化监控在广东省路网监控中的应用
基于IEC61850/61970的光伏并网监控系统
PDCA循环法在多重耐药菌感染监控中的应用
科学训练监控新趋势——适时监控