APP下载

基于C++的三维闪电回击数据再处理系统设计

2024-03-07李力蓝天飞郭越凡甘少明

湖北大学学报(自然科学版) 2024年2期
关键词:数据文件日志数据处理

李力,蓝天飞,郭越凡,甘少明

(1.湖北省气象信息与技术保障中心,湖北 武汉 430074;2.十堰市气象局,湖北 十堰 442011;3.重庆市气象信息与技术保障中心,重庆 401147)

0 引言

闪电是气象领域里的一种强放电现象,不但每年灾害频发,而且会造成不同程度的国家人民生命财产损失。闪电定位探测仪广泛部署应用于气象、航空、航天、军队、电力等重点行业,组网的闪电定位探测系统可以有效监测活动范围、峰值强度、发生频次等雷电信息,实现重点区域的雷电观测与预警预报[1-2]。闪电定位探测系统起源于Krider等改进的双阴极示波器闪电定位仪[3-5],是闪电研究、监测、防护领域的核心。

闪电放电过程的观测研究表明:不仅云地闪回击过程辐射甚低频、低频脉冲信号,云内闪电正负电荷中和过程也产生较强的甚低频、低频脉冲[6-7]。三维闪电探测系统不仅能实时测量云地回击,还能测量云内闪电发生的时间、高度、极性、强度、平面位置等重要参数,从而进行三维定位[8-10]。田彩霞等实现了江苏省三维闪电定位系统算法仿真,利用江苏建立的三维闪电监测定位试验网开展试验,该算法的水平及高度定位误差均较小[11],但缺乏不同省份闪电探测定位数据联合仿真应用。赵生昊等开发了基于ArcGIS Engine的闪电定位资料查询系统,通过监控以及批量方式将闪电定位资料存储于数据库中,使用网络地图作为显示地图,设计了比较完善的闪电信息查询方式[12],但缺少闪电定位数据的信息处理功能。回击数据再处理系统能提供准确的三维闪电探测定位结果,尤其是云内闪电高度值[13],故亟需设计开发出三维闪电回击数据再处理系统。

三维闪电探测系统数据处理算法改进时需要重新定位回击数据,而且接收处理的数据量相比二维闪电探测系统增加数倍,回击数据、定位结果、日志信息等文件更加复杂[14-15],同时省级三维闪电探测系统的原始回击数据保存更加完整。针对这些情况,使用C/S架构和C++ builder编程设计开发三维闪电回击数据再处理系统,并与Oracle数据库运行于同一局域网内。本文中重点阐明程序模块组成与软件设计流程,并将系统部署于国家级平台,查询处理全国组网的三维闪电历史回击数据,通过实际运行验证系统功能,期望开发出功能清晰、友好直观的三维闪电回击数据再处理系统,满足将多个省份探测站点回击数据合并以后需重新定位处理的任务要求。

1 数据再处理系统

三维闪电探测系统数据处理中心由数据接收处理(data accepting and processing subsystem,DAPS)、系统监视(system monitoring subsystem,SMS)、数据存储(data storage subsystem,DSS)、数据再处理(data reprocessing subsystem,DRS)四个子系统组成[16-17]。结合三维闪电探测系统任务要求与运行环境,数据处理中心的组成架构如图1所示。

图1 数据处理中心架构设计

数据再处理子系统开发了回击数据查询界面以便用户选择需要再处理的回击数据文件,通过设定相应处理参数后,系统对符合条件的回击数据进行排序,在排序后的回击数据中提取同一闪电相关信息,通过定位计算得到三维定位结果,再将处理结果发送到数据存储子系统。数据再处理子系统与回击数据文件、数据存储子系统的运行环境关系如图2所示。

图2 数据再处理子系统运行环境图

2 模块功能组成

根据三维闪电探测系统数据再处理功能的需求,数据再处理系统由回击数据查询界面模块、回击数据处理模块、数据处理过程监视与控制模块、三维定位结果数据入库模块和数据文件存储模块五部分组成,系统组成模块如图3所示。

图3 数据再处理系统模块组成图

1)回击数据查询界面模块:根据使用需求选定要查询的回击数据时间段,从数据库(存储目录)中获取符合查询条件的回击数据文件,结合配置文件设定的相关参数信息开展回击数据处理[18-19]。

2)回击数据处理模块:对符合设定要求的回击数据进行实时排序,提取回击数据排序后的同一闪电相关信息,通过定位计算得到三维定位结果[20]。

3)数据处理过程监视与控制模块:数据处理过程中,以列表形式实时显示经过处理的三维定位结果信息和数据处理日志信息,以进度条的方式实时展示数据处理进度。此外,模块还设计了定位处理中止和定位数据归档功能,对处理过程进行监视和控制[21-23]。

4)三维定位结果数据入库模块:将回击数据经过再处理后生成的三维定位结果存储至数据库。

5)数据文件存储模块:回击数据经过再处理后,系统将三维定位结果信息存储成二进制格式的三维定位结果文件,将数据处理日志信息存储为文本格式的日志文件。数据再处理系统的信息传输流程如图4所示。

图4 回击数据再处理系统信息传输流程图

3 软件系统设计

三维闪电回击数据再处理系统使用C++ builder和C/S架构设计开发,且与Oracle数据库运行于同一局域网内[24-25],其程序设计的主流程如下:

DRS()

{

if(读取配置文件信息失败)//包含查找回击数据文件的目录位置、默认处理参数等;

{

提示读取配置文件失败及其失败原因;

进程退出;

}

While(未退出)

{

/*搜集用户输入的回击数据查询条件、数据再处理需要的处理参数,对用户输入内容的合法性进行判断*/

if(根据用户输入的查询条件获取符合条件的回击数据文件列表成功)

{

for(int i=0;i<用户选择的回击数据文件个数;i++)

{

创建三维定位结果文件;

创建数据处理日志文件;

打开回击数据文件;

逐条读取回击数据文件中的回击数据;

对回击数据实时排序,在排序后的回击数据中提取同一闪电信息,进行定位计算;

将三维定位结果信息写入三维定位结果文件;

将数据处理日志信息写入数据处理日志文件;

显示三维定位结果信息;

关闭三维定位结果文件;

关闭数据处理日志文件;

关闭回击数据文件;

}

根据用户操作确定是否需要把生成的三维定位结果数据写入数据库;

}

else

{

提示用户数据查询失败及其失败原因;

}

}

}

3.1 回击数据查询界面模块

数据再处理系统提供回击数据查询界面,通过设置回击数据时间段等条件信息在指定回击数据文件数据库(存储目录)中获取符合条件的数据文件,并以列表形式显示。系统还设计了回击数据选择界面,用户可在查询结果中选取需要再处理的回击数据文件。查询界面模块的详细设计如下。

1)回击数据文件查询条件包括:回击数据文件时间段信息(开始与结束的年份日期及具体时间)。

2)数据处理需要设定的内容包括:选择参与闪电回击数据再处理的省域站点;在配置文件中,设定单站最远探测距离与最大探测高度,以及联合探测站点的有效定位范围。

3)显示符合条件的回击数据文件,其文件字段包括:文件名称、创建时间、文件大小等信息。回击数据查询模块的界面设计如图5所示。

图5 回击数据查询界面设计图

3.2 回击数据处理模块

处理模块对某一回击数据文件中的回击数据进行排序,在排序后的回击数据中提取同一闪电信息,通过定位计算得出三维定位结果,然后再将三维定位结果信息和数据处理日志一面传输至数据处理过程监视与控制模块进行显示,另一面经过数据存储功能模块分别保存为二进制数据文件和文本格式文件。回击数据文件读取和处理流程设计如下:

1)打开回击数据文件;

2)逐条读取回击数据文件中的回击信息;

3)对回击数据实时排序;

4)在排序后的回击数据中提取同一闪电信息,并进行定位计算;

5)将三维定位结果信息、数据处理日志、数据处理进度信息传至数据处理过程监视与控制功能模块进行显示;

6)将三维定位结果信息经过存储功能模块保存为二进制格式的三维定位结果文件,同时将数据处理日志通过存储功能模块保存为文本格式的日志文件;

7)在接收到三维定位结果数据入库命令后,把三维定位结果信息通过数据入库功能模块存入数据库;

8)在接收到数据处理终止命令后,模块停止处理数据。

3.3 数据处理过程监视与控制模块

在数据处理过程中,监视与控制模块对单个回击数据文件的处理进度、处理日志、处理结果信息进行显示,并提供数据处理控制功能(主要是终止功能),模块的功能设计如下:

1)以列表形式展示回击数据处理模块生成的三维定位结果(闪电类型、发生时间、发生位置、峰值强度、最大陡度、误差、定位方式、处理标志、定位站点基础数据等信息)。

2)以列表方式显示数据处理日志(日志内容、文件大小、生成时间等信息)。

3)以进度条的形式显示数据处理进度。

3.4 三维定位结果数据入库模块

将回击数据处理后生成的三维定位结果信息存入数据库,入库模块的数据处理流程设计如下:

1)链接数据库;

2)删除数据库中某一时间段的三维定位结果信息;

3)插入最新处理生成的三维定位结果信息;

4)关闭数据库。

3.5 数据文件存储模块

将回击数据处理后生成的三维定位结果文件和数据处理日志文件保存至存储模块,数据文件的存储流程设计如下:

1)使每类文件名称与输入回击数据文件之前保持一致,日志文件后缀名为log,定位结果文件后缀名为pos;

2)每种文件的目录位置与回击数据文件目录位置保持一致;

3)回击数据再处理程序开始运行时,创建三维定位结果文件和日志文件;

4)将最新处理生成的三维定位结果信息和日志信息分别写入三维定位结果文件与数据处理日志文件。

4 系统应用实现

针对三维闪电探测系统显示监测和综合分析的任务需求,开发了功能清晰、友好直观的三维闪电回击数据再处理系统监视与控制界面,并同闪电回击文件数据库(存储目录)进行数据关联,使系统具有三维闪电历史回击数据查询、选择、处理、监视、控制、入库、存储等相关功能,完成了软件系统各组成模块的集成运用[22-24],验证了前文所述设计内容的可行性,以下是回击数据再处理系统的主要功能及应用。

4.1 查询处理功能

首先设置需要查询的闪电历史回击数据详细时间段,通过指定文件数据库(存储目录)获取符合查询条件的原始回击数据文件(后缀名为bin);再设定配置文件中的单站最远探测距离、单站最大探测高度、联合探测站点有效定位范围等相关参数;然后选择查询到的原始数据文件,以及参与回击数据再处理的省域站点;点击定位处理启动按键进行回击数据再处理,处理结果以列表形式显示。将三维闪电回击数据再处理系统部署于国家级平台可以查询处理参与全国组网的闪电历史回击数据,如图6所示。

图6 回击数据查询再处理

由图6可见,设置2022年4月至2023年5月为查询时间段,通过选定查询时间段内的原始回击数据文件和闪电探测站点信息,并设定配置文件中的单站最远探测距离为760 km、单站最大探测高度为30 km、联合探测站点有效定位范围为500 km之后,启动回击数据再处理功能可以进行闪电探测数据重新定位。

4.2 监视控制功能

在回击数据再处理过程中,系统以列表形式展示生成的闪电类型、发生时间、空间位置、峰值强度、最大陡度、定位误差、定位方式、站点编号、处理标志等三维定位结果信息,并且提供详细的数据处理步骤以及直观的处理进度显示功能,如图7所示。

图7 数据处理监视与控制

从图7可知,回击数据再处理系统还提供了定位处理启动、定位处理终止、定位数据归档等控制功能。

5 总结

本研究针对三维闪电数据处理算法改进调整以后需重新定位回击数据,以及省级三维闪电探测系统回击数据通常更加完整,应用时要将多个省份闪电回击数据合并后重新处理出准确的云内闪电高度值等问题,基于C/S架构与C++ builder编程开发出三维闪电回击数据再处理系统。系统设计了回击数据查询处理界面,实现了运行监视及操作控制功能,与Oracle数据库运行于同一局域网内。系统需要查询选择再处理的回击数据文件,设定配置文件的相应参数,然后运行软件系统对符合条件的回击数据展开排序,在完成排序的回击数据中提取同一闪电相关信息,通过计算处理得到重新定位的三维闪电探测结果,最后发送结果文件、日志文件到数据存储系统。将三维闪电回击数据再处理系统部署于国家级平台,查询处理全国组网的三维闪电历史回击数据,测试系统的功能性与稳定性。结果表明,系统查询简便、显示清晰、操控直观、功能齐全、移植性强,满足了三维闪电回击数据再处理系统的任务要求,为其他类型的数据处理系统设计研发提供了参考借鉴,具有广阔的应用前景。

猜你喜欢

数据文件日志数据处理
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
一名老党员的工作日志
ILWT-EEMD数据处理的ELM滚动轴承故障诊断
扶贫日志
数据文件恢复专题问答
数据文件安全管控技术的研究与实现
SQL数据文件恢复工具
游学日志
基于希尔伯特- 黄变换的去噪法在外测数据处理中的应用
Tekla Structure数据文件交互格式分析