一种卫星数据广播系统自动告警算法研究

2020-07-07 06:23安卫士张云彪郭士鑫胡永亮
现代计算机 2020年15期
关键词:积压日志阈值

安卫士,张云彪,郭士鑫,胡永亮

(浙江省气象信息网络中心,杭州310000)

0 引言

随着气象观测技术的不断发展,气象数据种类不断增多、传输方式多种多样、时效要求越来越高。CMACast[1]即中国气象新一代卫星数据广播系统,它整合了原有的PCVSAT[2]、DVB-S[3]和FENGYUNCast[4]三套卫星数据广播业务系统,实现各类气象观测数据及其他资源的统一管理,国内国际小站数据的整合下发,提高了气象观测数据传输时效性、稳定性。卫星数据广播系统的信号传输容易受到极端恶劣天气的影响,如大雪、冰雹、大雾等,数据下发过程中信噪比降低,大量丢包,造成数据接收不全甚至无法接收数据。本文从业务系统运维人员角度出发,基于C#设计CMACast系统可视化[5]自动告警系统,及时通知业务值班人员对出现的问题进行处理,保证气象数据的完整性,提高数据传输的可靠性。

1 算法描述

系统基于C#[6]编写,借助CMACast 系统自带日志文件及状态文件,分析日志文件和状态文件,判断CMACast 系统是否出现信号失锁、无文件接收、丢包、积压等问题,通过短信告警方式通知业务值班人员,并将本次告警内容写入日志文件,方便以后查询。

程序一:系统整体思路

系统流程图如图1 所示,程序首先读取系统配置文件,主要内容包括CMACast 日志文件位置、告警电话发送号码、告警时间间隔、扫描时间间隔、文件积压的阈值;将日志文件下载到本地,分析日志文件内容,确定信号传输情况,如果信号失锁则直接发出告警短信,进而判断是否有文件接收,若无也发送告警短信,若接收文件有积压,向值班人员发送告警短信,若都正常则此次程序运行结束,经过一个扫描时间后进行第二次检查。

图1 系统流程图

2 算法具体实现

2.1 参数设置

系统主要参数及其意义如表1 所示。

表1

系统主要参数有两种配置方式:修改系统配置文件App.config,重启程序;在可视化界面上进行修改,修改之后点击“开始监控”按钮,系统会重新读取参数配置。

2.2 失锁检查

主要思路如程序二所示,首先根据系统参数,计算当前检测周期的最早时间LowTime:当前时间减去扫描时间,报警阈值bound=Alerttime*20;解析CMACast系统日志文件,文件记录格式如下:2020-0311004934025-[mediarecv.cpp 7650]:No data decode last 2 second,20200311004934025 为该条记录的时间戳(世界时),取时间戳的前12 位,存放到ListLogList 中。若LogList 为空,则直接结束,否则倒序遍历该列表,将列表中字符串转化为时间logdate,logdate>lowDate,则count++,否则跳出此次循环。若count>bound,则发送告警短信,否则不发送。

程序二:失锁检查函数

2.3 文件接收检查

主要思路如程序三所示,首先根据系统参数,计算当前检测周期的最早时间LowTime:当前时间减去扫描时间,报警阈值bound=Alerttime*20;解析CMACast系统日志文件,文件记录格式为:04:20:09 18748 RADA_BENJ/DOR/Z9250 Z_RADR_I_Z9250_202001150-41800_P_DOR_SA_R_20_460_5.250.bin,04:20:09 为该条记录的时间戳(世界时),将其存放到ListLogList 中。若LogList 为空,则直接结束,否则倒序遍历该列表,将列表中字符串转化为时间logdate,logdate>lowDate,则count++,否则跳出此次循环。若count>bound,则发送告警短信,否则不发送。

程序三:文件接收检查

2.4 文件积压检查

文件积压主要是因为文件接收过程中,接收到的文件未转到指定的存储地址,造成系统目录下文件积压,积压严重时将导致系统无法接收新的文件,造成数据丢失。主要实现思路为:遍历系统指定文件目录,读取对应目录下文件个数,若文件个数大于设定阈值,则发出文件积压告警,否则不告警。关键代码如下:int fileNum=ftpHelp.GetDirFileNum(Ldir+filename+"/");获取当前目录下文件个数。

2.5 短信告警

告警信息分为三类:卫星信号失锁、无数据接收、数据丢失严重、文件积压。主要实现思路为:根据自动告警算法对卫星数据接收系统日志进行分析判断,若文件接收出现异常,调用移动云平台[7]信息发送接口将告警短信发送到值班手机。首先,根据检查程序,检测文件接收系统是否正常,若异常生成告警信息,通过自动化生成SQL 语句,将告警信息插入到移动云平台数据库中,调用信息发送模块将信息发送到指定的接收号码。

3 系统运行情况

系统部署在Windows Server 2012R2 的虚拟机上,程序设置为开机自启动。当CMACast 系统文件接收异常时,发出告警短信,提醒业务值班人员检查处理。系统自部署后,运行良好,多次及时发现CMACast 系统文件接收问题,及时通知值班业务人员,保证了文件接收的完整性,为气象预测提供了数据支持。图中显示3月11 号和12 号中午出现信号失锁以及数据丢失情况,经与中国气象局联系发现原因是每天中午受日棱影响,出现2-8 分钟短暂失锁,之后又自动恢复。

图2 告警信息及日志记录

4 结语

基于C#编写的CMACast 告警系统上线部署后运行情况良好,可视化配置功能实现根据业务实际动态更改系统参数,实时监控CMACast 系统文件接收情况,发现文件接收异常自动告知业务值班人员,大大的减

避免了因系统故障发现不及时,造成气象观测数据接收不完整、数据零接收的情况,提高了CMACast 系统文件接收的完整性和稳定性,使得预报员可以得到完整的气象观测数据,一定程度上提高了工作效率和天气预测的准确率。

猜你喜欢
积压日志阈值
改进的软硬阈值法及其在地震数据降噪中的研究
土石坝坝体失稳破坏降水阈值的确定方法
一名老党员的工作日志
基于小波变换阈值去噪算法的改进
读扶贫日志
改进小波阈值对热泵电机振动信号的去噪研究
波音的烦恼
雅皮的心情日志
雅皮的心情日志
档案管理工作中存在的积压问题和解决对策