李 力,陈 城,彭 军,甘少明
(湖北省气象局 a.湖北省气象信息与技术保障中心;b.湖北省气象学会,武汉 430074)
闪电是气象领域中的一种强放电现象,不仅在每年夏季频繁发生,而且还会造成人员伤亡,因此开展闪电定位探测数据分析应用能有效减少闪电灾害造成的重大损失[1-2]。闪电定位探测系统是闪电研究、监测与防护的核心,现代闪电定位探测系统起源于Krider等[3]成功地改进了双阴极示波器闪电定位仪[4]。闪电定位仪大面积部署于气象、军队、电力等关系国计民生安全的骨干行业,组网后探测系统通过监测闪电活动的范围与频度对重点区域进行预警预报。传统二维闪电探测系统只能探测云地闪,不能探测云内闪电;只能二维定位,无法探测闪电高度实现三维定位。
三维闪电探测系统由三维闪电定位仪、定位数据处理中心与数据库、图形显示与产品制作子系统组成。探测系统应用全球定位系统精确测量雷暴(云地闪、云闪)放电生成的甚低频、低频电磁脉冲到达时间,使用多站探测仪时差定位方法同时结合现代通信网络技术实时测量云地回击、云内闪电发生的时间、高度、极性、强度、平面位置等参数进行闪电监测和三维定位[5-7]。目前,国外相同领域的软件功能设计较为复杂,程序运行和算法更新速度较慢;国内闪电信号处理领域相似功能的软件极少。针对三维闪电探测系统接收处理的数据量相比二维闪电探测系统增加数倍,定位、回击、状态数据入库情况相较二维系统复杂许多的情况,使用Oracle数据库和PL(Procedural Language)/SQL(Structured Quevy Language) developer集成开发环境设计三维闪电探测数据处理存储系统。笔者将重点阐明系统的模块结构设计与关键处理算法,并结合湖北省三维闪电探测网进行实际运行验证,期望开发出模块功能完备、处理算法合理、运行稳定顺畅的三维闪电探测数据处理存储系统。
三维闪电探测系统数据处理中心根据任务需求和运行环境可分为数据接收处理(DAPS:Data Accepting and Processing Subsystem)、系统监视、数据存储(DSS:Data Storage Subsystem)和数据再处理4个子系统[8],三维闪电探测系统数据处理中心的设计结构如图1所示。
图1 数据处理中心结构设计Fig.1 Structure design of data processing center
数据存储子系统接收DAPS发送的三维定位结果、回击与状态数据,以及经数据广播子系统(DBS:Data Broadcasting Subsystem)发送标注地理信息的定位结果,将所有接收数据存储于数据库中[9-10];读取定位结果数据库里对应的三维定位信息,将其地理信息标注为定位结果中的值发送给DBS;接收系统监视软件定时监控,将运行状态统计数据发送给系统监视子系统[11-12]。数据存储子系统与DAPS、DBS、系统监视子系统的运行环境关系如图2所示。
图2 数据存储系统运行环境图Fig.2 Data storage system environment diagram
根据三维闪电探测系统数据存储功能的需求,数据存储子系统由数据接收与发送、定位数据入库、回击数据入库、状态数据入库和日志模块组成,系统模块组成如图3所示。
图3 数据存储系统模块组成图Fig.3 Module diagram of data storage system
1) 数据接收与发送模块。通过内部传输控制协议(TCP:Transmission Control Protocol)接收来自DAPS发送的三维定位结果、回击与状态数据;通过TCP接收经地理信息标注和DBS发送的定位结果;将接收数据发送至对应子功能后形成数据接收信息,再发送到日志模块。
2) 定位数据入库模块。接收来自DAPS的三维定位结果和DBS发送标注地理信息的定位结果,并将收到的所有定位结果存入数据库。
3) 回击数据入库模块。接收闪电回击数据,将收到的回击数据存入数据库。
4) 状态数据入库模块。根据接收的状态数据判断某个探测仪状态是否发生改变。若状态改变,则将该状态数据存入数据库;若状态没有改变,则该状态数据不存入数据库。
5) 日志模块。接收生成的数据接收信息,并存储为日志文件;接收系统监视软件定时监控,将运行状态统计数据发送给系统监视子系统。数据存储系统的信息传输流程如图4所示。
图4 数据存储系统信息传输流程图Fig.4 Flow chart of data transmission in data storage system
数据接收与发送模块通过TCP协议将标注地理信息的定位结果和三维定位结果发送至定位数据入库模块[13-14];将接收的状态和回击数据分别发送到状态数据入库模块与回击数据入库模块。数据接收与发送模块还需要统计各类数据的接收情况,形成数据接收信息后发送至日志模块。
定位数据入库模块接收三维定位结果后,将三维定位结果存储至数据库,并将该三维定位结果的地理信息标注为特定值;接收DBS发送的定位结果,在数据库中找到对应的三维定位结果,再将其地理信息标注为定位结果中的值[15-16],其关键处理算法如下:
while(消息队列中有待处理的数据)
{
if(是定位数据)
{
读取一条数据,进行大端、小端的转换处理
将定位数据库中与该数据对应的条目加上地理信息,形成定位数据
写入每日定位数据库
}
else if(是初始定位数据)
{
读取一条数据,进行大端、小端的转换处理
定位算法和描述换算:1~7分别对应
“二站算法”,“二站时差法”,“三站算法”,“三站时差法”,
“三站时差测向法”,“四站算法”,“二站振幅定位法”;
写入数据库
}
}
回击数据入库模块将接收的回击数据存储至回击数据日表(每天一个)和回击数据总表(每年一个),其关键处理算法如下:
while(消息队列中有待处理的数据)
{
读取一条数据,进行大端、小端的转换处理
写入每日定位数据库
}
状态数据入库模块根据接收的状态数据判断某个探测仪状态是否正常,并根据数据库中现有的状态信息判断此探测仪状态是否改变。若发生改变,则将接收的状态数据存储到数据库中;若没有改变,则此数据不存入数据库,其关键处理设计如下:
while(消息队列中有待处理的数据)
{
读取一条数据,进行大端、小端的转换处理
从数据库中读取该探测仪的最近一条记录
if(该记录不存在)
将当前数据入库
else
{
计算数据库记录中的设备状态
记录当前数据的设备状态
如果两者不一致,则入库
}
}
计算三维闪电定位仪设备状态信息的算法如下:
if((msg->result of selftest==1 024)
&&(msg->longitude>0)
&&(msg->latitude>0)
&&(msg->dop >=0)
&&(msg->dop <=10)
&&(abs(msg->frequency error)<10)
&&(msg->threshold<=800)
&&(msg->threshold>0))
{
return STATE_OK;
}
else
return STATE_ERROR;
三维闪电探测数据处理存储系统使用Oracle数据库,通过专门针对Oracle数据库存储程序单元的集成开发环境PL/SQL developer连接数据库。将三维闪电探测系统部署于省级平台,用于处理存储湖北省三维闪电定位仪探测数据,验证上述数据处理存储系统设计方法的可行性[17-19]。湖北省三维闪电定位仪站点信息表,表内存储了站点的名称、编号、经纬度、IP地址和端口号等基本信息,如图5所示。
图5 站点信息表Fig.5 Site information table
三维闪电探测系统将数据处理后的定位和回击结果存储于数据库中,闪电定位结果信息表如图6所示。
图6 定位结果信息表Fig.6 Location result information table
数据库还设计了三维闪电探测站点的最新状态信息表,用于存储设备的最新一条状态信息,通过数据可判断闪电定位仪的状态是否正常,如图7所示。
图7 最新状态信息表Fig.7 Latest status information table
针对笔者所述的三维闪电探测数据处理存储系统,开发了面向用户的雷电监测和综合分析系统界面,并与数据接收处理、系统监视、数据存储和数据再处理子系统构成的省级台站闪电探测系统进行数据关联,数据处理存储系统可接收处理后的湖北省三维闪电定位仪回击与定位结果,如图8所示。
图8 系统接收回击与定位结果Fig.8 System receives return and location results
数据处理存储系统将湖北省三维闪电定位仪的最新状态信息通过雷电监测和综合分析系统界面显示,如图9所示。
图9 探测仪最新状态数据显示Fig.9 Latest status data display of detector
笔者针对组网后三维闪电探测系统数据存储功能需求开发了三维闪电探测数据处理存储系统,包含了数据接收与发送、定位数据入库、回击数据入库、状态数据入库和系统日志5个模块。使用Oracle数据库和PL/SQL Developer集成开发环境设计三维闪电定位仪站点信息表,用于存储站点的基本信息;设计闪电定位结果信息表,用于存储处理后的定位数据和回击数据;设计最新状态信息表,用于存储定位仪的最近一条状态信息,通过此信息可以判断设备状态是否正常。将三维闪电探测系统部署于湖北省级平台,测试验证数据处理的流畅性与存储系统的稳定性,利用省级台站雷电监测和综合分析系统进行数据监视。结果表明,数据处理存储系统满足了三维闪电探测系统数据处理与存储的技术要求,对其他类型探测设备数据处理存储系统设计开发具有普遍和重要的参考价值。