APP下载

三维雷电探测数据接收处理软件设计与实现

2022-08-15甘少明

吉林大学学报(信息科学版) 2022年2期
关键词:探测仪子系统排序

李 力, 李 俊, 陈 星, 甘少明

(1. 湖北省气象局 湖北省气象信息与技术保障中心, 武汉 430074; 2. 宜昌市气象局 宜昌市气象信息与技术保障中心, 湖北 宜昌 443000)

0 引 言

雷电监测定位系统通过监测雷电活动范围和频度对重点目标进行类似于台风的监测预报。目前, 雷电探测仪已广泛应用于气象、 电力、 电信、 部队等关系国民安全的骨干行业, 在气象防灾减灾、 雷击故障点查巡、 森林雷击火灾定点监测、 火箭卫星发射雷电预警等方面发挥着重要作用。美国于1986年研发了基于时间差的雷电定位系统, 并在美国东部、 日本等地组网[1]。随着GPS(Global Positioning System)等技术的快速发展, 目前在原有测向系统基础上发展出时差测向混合系统, 其定位精度与探测效率得到明显提升[2]。而目前通用的二维雷电探测仪不能测量云内闪电, 只能探测云地闪和二维定位, 且二维时差法雷电监测定位系统中心站软件处理数据量较小, 定位算法较为简单, 系统功能单一, 显示结果刷新速度较慢。

针对三维雷电探测仪组网后, 新系统接收处理的探测数据量约为二维雷电监测定位系统的3~5倍, 而且三维时差定位算法比二维定位算法复杂很多。为此, 笔者采用C/S架构和C++builder编程, 研发三维雷电监测数据处理中心系统, 重点设计数据接收处理软件的功能模块和关键算法, 通过实际业务开展应用分析[3-4]。以期开发出界面友好、 集成度高、 功能齐全、 运行流畅、 面向用户的三维雷电监测定位数据处理中心站软件系统。

1 数据处理中心系统

中心站软件是三维雷电监测系统的核心部分, 主要由数据处理、 存储和服务中心组成[5-6]。软件接收组网探测仪发送的实时雷电数据, 进行定位解析与存储, 同时将三维定位结果发送至各数据用户。

1.1 功能结构

根据雷电监测定位系统(FMLS: Flashing Monitoring Location System)的任务需求和运行环境, 将系统划分为数据接收处理(DAPS: Data Accepting and Processing Subsystem)、 系统监视(SMS: System Monitoring Subsystem)、 数据存储(DSS: Data Storage Subsystem)和数据再处理子系统(DRS: Data Reprocessing Subsystem), 系统结构如图1所示。

图1 雷电监测定位系统结构设计

雷电监测定位系统有实时和再处理两种运行模式。实时运行模式时, 数据接收处理子系统使用广域网接收各探测仪发送的回击数据和状态数据。数据处理软件将回击数据进行实时排序, 再定时查询排序后的数据, 提取同一雷电的回击数据解算得到三维定位结果, 再将结果发送给数据存储子系统, 丢弃过时数据; 将运行状态和接收统计信息发送至监视子系统。数据存储子系统接收到回击数据、 状态数据与定位结果后, 存储回击数据与定位结果至数据库; 通过状态数据与库中探测仪的当前状态对比, 判断探测仪的状态是否发生变化。若变化, 录入新的状态数据至数据库; 若未变化, 状态数据不入库。数据存储软件将定位结果统计信息发送至监视子系统, 并由其分类显示探测仪和软件的运行状态、 数据统计信息和相应的计算机资源信息[7-8]。雷电监测定位系统实时运行流程如图2所示。

图2 雷电监测定位系统实时运行流程图

再处理运行模式由数据再处理软件独立完成, 通过软件操作界面选择需要再处理的回击数据, 并设定必要的参数进行数据再处理, 处理结果发送给数据存储软件, 属于事后处理模式。

1.2 系统组成

雷电监测定位系统通过千兆以太网组成局域网, 其数据接收处理子系统需要双网卡连接公共广域网与局域网, 系统的网络结构如图3所示。

图3 雷电监测定位系统网络结构

根据系统功能需求与结构设计, 雷电监测定位系统中心站软件、 对应的硬件服务器与实现的功能如表1所示。

表1 雷电监测定位系统软硬件对应功能表

表1的5个子软件共同组成中心站软件, 接收雷电探测仪回击数据和状态数据, 处理计算出定位结果, 并将回击和状态数据与定位结果存储于数据库和数据文件中, 其他系统和数据用户则通过数据库获取定位结果。

2 数据接收处理软件

DAPS接收三维雷电探测仪通过公共广域网发送的回击数据、 状态数据与检测信息[9-10],对收到的数据按日期分类存储为回击和状态数据文件; 通过回击数据排序提取同一雷电信息, 计算定位结果后再存储为定位文件; 将状态数据发送至监视子系统与存储子系统; 将回击数据统计信息、 状态数据统计信息, DAPS运行状态发送给监视子系统[11], 数据接收处理软件功能运行流程如图4所示。

图4 接收处理软件功能运行图

2.1 功能模块设计

根据接收处理软件的功能需求, 软件的实现可分为以下6个模块, 软件模块组成如图5所示。

图5 接收处理软件模块组成图

1) 数据收发模块。接收从探测仪发送的回击数据和状态数据, 将接收数据转发给处理软件内部的对应模块, 并接收软件内部模块发送的信息, 再转发给其他软件。

2) 数据存储模块。将回击数据和状态数据分别按日期存储为二进制格式文件。

3) 回击数据排序模块。将收到的回击数据按时间实时排序, 形成排序后的回击数据。

4) 回击数据处理模块。在排序后的回击数据中, 按照定义的同一雷电回击数据窗口, 查找同一雷电回击数据, 并进行三维定位计算。

5) 定位结果确认模块。对没有经过确认的三维定位结果进行可信度判断分析, 发送确认可信的三维定位结果。

6) 日志模块。接收数据收发子功能发送的运行日志, 并储存为文件形式。接收处理软件的数据流程如图6所示。

图6 接收处理软件数据流图

2.2 数据收发模块

数据收发模块接收探测仪通过公共广域网以用户数据包协议(UDP: User Datagram Protocol)方式发送的状态数据和回击数据, 提取UDP包中的有效数据, 形成接收数据流, 将接收的回击数据和状态数据存储到数据存储模块; 将状态数据通过内部传输控制协议(TCP: Transmission Control Protocol)发送给SMS(Short Messaging Service)和DSS(Decision Support System), 进行系统监视和状态数据入库; 将回击数据发送给回击数据排序模块; 统计接收状态数据和回击数据, 形成回击数据统计信息和状态数据统计信息, 并将这些信息发送至SMS; 收集DAPS的各个子功能运行状态, 形成DAPS运行状态发给SMS; 收集DAPS各子功能的运行日志, 发送给日志模块, 形成运行日志文件; 接收定位结果确认模块发送的三维定位结果, 将其发送给SMS和DSS。

模块输入回击数据、 状态数据和三维定位结果, 关键处理过程为: 从配置的UDP接收端口接收数据; 当接收到一个UDP数据包后, 根据定义的数据格式, 判断是回击数据还是状态数据; 对回击数据和状态数据分别统计; 将回击数据发送给数据存储模块和回击数据排序模块, 状态数据发送给数据存储模块, 并通过内部TCP连接发送至DSS; 将得到的回击数据统计和状态数据统计通过内部TCP发送给SMS; 收集DAPS子功能的运行状态, 形成DAPS运行状态, 通过内部TCP网络发给SMS; 接收排序后的回击数据和三维定位结果, 通过内部TCP发送至SMS和DSS。输出为回击数据、 状态数据、 三维定位结果、 回击数据统计信息、 状态数据统计信息、 DAPS运行状态和运行日志。

2.3 数据存储模块

数据存储模块将回击数据和状态数据分别按日期存储为二进制格式文件。输入回击数据和状态数据, 其处理过程为: 接收回击(状态)数据, 判断系统时间是否是跨天, 如果是则取系统时间的年月日, 形成新的文件名称, 关闭旧文件、 打开新文件, 并将回击(状态)数据存储到文件中。输出为回击数据与状态数据文件。数据存储模块仅在系统启动时设置记录时间为当时的时间, 其关键算法如下:

取当前时间

if(数据文件指针为NULL){

创建二进制数据文件

在文件头填写探测站信息

if(需要存储文本文件){

创建文本数据文件

在文件头填写标题行信息。

}

}

else {

if(当前时间与记录时间不是同一天){

if(二进制数据文件指针存在){

关闭二进制数据文件。

}

创建二进制数据文件

在文件头填写探测站信息

if(需要存储文本文件){

if(文本数据文件指针存在){

关闭文本数据文件。

}

创建文本数据文件

在文件头填写标题行信息。

}

}

更新记录时间为当前时间。

}

if(二进制文件指针不为NULL){

将数据写入二进制文件。

}

if(文本文件指针不为NULL){

将数据信息转化为可见字符, 按格式写入文本文件。

}

2.4 回击数据排序模块

回击数据排序模块将接收到的回击数据按时间实时排序, 形成排序后的回击数据, 排序算法设计如下:

FData_Sort( )

{

获取当前时间;

获取当前时间前Ns的回击数据;

对获取的回击数据进行排序, 得到排序后回击数据;

发送排序后的回击数据;

}

2.5 回击数据处理模块

回击数据处理模块在排序后的回击信息中, 按同一雷电回击数据窗口查找与解算同一雷电的回击数据。输入排序后的回击数据, 其处理过程为: 使用定义的同一雷电回击数据窗口, 在排序后的回击数据中查找同一雷电回击数据; 检查所获取的同一雷电回击数据, 包括删除同一探测仪发送的回击数据, 每个探测仪只保留一条回击数据, 删除强度饱和的回击数据, 将所有回击数据中闪的极性变为一致, 删除距离第1个回击数据超过600 km的探测仪回击数据, 如果回击数据大于5个, 则只取前5个数据; 根据回击数据数量, 使用相应定位算法进行三维定位计算, 得到还未确认的三维定位结果; 将参与定位计算的回击数据探测仪编号记录在三维定位结果中; 发送获取的同一雷电回击数据[12]。输出为未确认的三维定位结果和排序后的回击数据, 主流程关键处理设计如下:

DATA_PRO()

{

While(未结束)

{

获取接收数据队列中回击数据;

将新获取的回击数据和剩余的回击数据合并;

对回击数据排序;

While(还有多个回击数据, 而且这些回击数据不是同一雷电回击数据)

{

用同一雷电时间窗口查找同一雷电回击数据;

if(找到同一雷电回击数据)

{

使用回击数据挑选策略, 挑选回击数据;

将挑选后回击数据进行定位处理, 得到三维定位结果;

使用三维定位结果质量控制策略, 确定三维定位结果的可信度

将可信的三维定位结果发送;

}

删除已经查找过的回击数据;

}

保留剩余回击数据;

}

}

回击数据挑选算法是在已找到的同一雷电回击数据中, 去除一些不适用的回击数据, 其具体算法如下:

Data_Check()

{

依次查找回击数据, 删除同一探测站来的1个以上回击数据;

依次查找回击数据, 删除强度饱和的回击数据;

依次查找回击数据, 将回击数据的极性统一;

依次查找回击数据, 将回击数据中与第1个回击数据探测仪距离大于600 km的回击数据删除;

如果回击数据数量大于5, 则只使用前5个回击数据进行定位计算;

}

2.6 定位结果确认模块

定位结果确认模块对未经确认的三维定位结果进行可信性分析和确认, 发送确认、 可信的三维定位结果。输入未确认的定位结果, 处理过程为: 计算三维定位结果和各个回击数据探测仪之间的距离, 如果与某个探测仪距离大于800 km, 则该三维定位结果不可信; 通过内部TCP网络发送可信的三维定位结果, 再存储为定位结果文件, 输出三维定位结果。

定位结果质量检查是将算法生成的定位结果进行可行性分析与检查, 根据质量检查结果排除不可信的定位结果。定位结果质量检查的算法设计如下:

Result_Check( )

{

检查三维定位结果各计算值是否在合理范围内, 如果某个测量值不在合理范围, 将该三维定位结果设置为不可信;

检查三维定位结果和参与定位的各回击数据对应探测仪之间的距离, 如果出现与某个探测仪之间的距离大于 800 km, 将该三维定位结果设置为不可信;

将不可信的三维定位结果显示但不发送, 将可信的三维定位结果显示并且发送;

}

3 软件系统应用分析

开发友好直观、 面向用户的雷电监测和综合分析系统界面, 与数据接收处理、 系统监视、 数据存储和数据再处理子系统构成的雷电监测定位系统进行数据关联, 从而完成了软件系统的用户界面和综合分析, 以及其他功能模块的集成应用[13-14], 验证了上述软件系统开发方法的可行性。下面给出雷电监测定位系统的几个典型功能子界面。

将雷电监测定位系统部署于省级平台, 用于接收处理湖北省三维雷电定位仪的探测数据。各探测站的名称、 IP地址、 端口号、 回击数据和设备状态都直观显示在界面左部; 各探测站的实时回击与定位数据, 探测结果可信与否分别用黑色和红色字体标注, 并显示于界面右部, 如图7所示。

图7 软件接收处理回击与定位数据

数据接收处理软件将各探测仪的实时状态信息发送给监视子系统, 显示在雷电监测系统的右部区域, 如图8所示。

图8 软件接收处理探测仪状态信息

数据接收处理软件将各探测站的运行情况发送到日志模块, 显示在雷电监测系统左部的日志面板上, 如图9所示。

图9 软件接收处理探测仪日志信息

4 结 语

针对组网升级后的三维雷电探测数据接收处理需求, 开发了三维雷电监测数据处理中心系统, 设计了数据接收处理、 系统监视、 数据存储和数据再处理4个软件子系统, 接收各探测仪发送的实时雷电信息, 进行定位处理与存储, 同时给各数据用户发送三维定位结果。其核心的数据接收处理软件结合三维时间差定位算法解决了二维中心站软件算法较为简单和三维雷电接收处理探测数据量较大的问题, 实现了按日期分类存储接收数据, 解算三维定位结果存储为定位文件, 给监视子系统和存储子系统发送状态数据, 将各类统计信息发送给监视子系统等功能。利用湖北省三维雷电监测网搭建实验平台, 进行了系统运行和软件功能测试, 验证上述设计开发方法的有效性。结果表明, 数据接收处理软件算法设计准确、 数据处理流畅, 数据处理中心系统功能齐备、 界面友好、 移植性高, 符合三维雷电监测系统的功能需求, 并对其他探测设备数据接收处理中心站软件的设计开发也提供了借鉴意义。

猜你喜欢

探测仪子系统排序
作者简介
危险探测仪
恐怖排序
日本查酒驾不许再闻
节日排序
网络空间供应链中入侵检测及防御子系统的投资机制研究
网络空间供应链中入侵检测及防御子系统的投资机制研究
嫦娥四号将载4台外国设备登月
团队与知识管理的关系研究
浅谈中职学校新型模块化机房建设