多源异构海量训练数据实时处理技术研究
2019-09-10李德伟黄高明
李德伟 黄高明
摘要:为加强部队训练能力,客观、合理评估训练效果,联合训练需对海情、空情、水文、气象、指挥指令以及装备产生的报文、音视频等多源异构海量数据进行实时处理。通过传输服务、协议适配和实时消息处理等模块的构建,实现多源异构海量数据的互联互通和实时数据接入控制,设计基于Hadoop与分布式并行存储数据库,提高海量數据的实时存储和访问效率,通过海量数据预处理、数据融合和高性能计算等设计实现海量数据实时性处理能力。实践证明系统运行稳定、信息处理及时,为训练效果裁决评估提供了实时可靠的数据依据。
关键词:云计算;作战数据;框架
中图分类号:TP391文献标志码:A文章编号:1008-1739(2019)11-58-4
0引言
随着训练任务与组训规模的不断扩大及训练样式的不断创新,训练准备和实施阶段不仅需要大量的海情、空情、水文和气象等信息支持,而且需要各参训系统产生的大量过程数据(实装状态采集信息等)的支撑。但当前数据处理系统存在多源异构海量信息采集接入压力大、存储资源紧张、处理效率低下、分发逻辑复杂、信息孤岛林立及数据产出受限等问题,在一定程度上影响了训练效率与效果。为强化部队训练能力,必须建立与不同作战训练信息系统之间的协同关系,引接指挥控制、情报支援、测绘导航、军用授时及频谱管控等信息,并大幅度提高数据的实时处理效率和存储能力,为数据生产服务。
1总体架构
多源异构训练数据实时综合处理技术架构如图1所示。由于当前实战化训练方式下,要有大量的实装和保障设备参与训练,为客观合理评价训练效果,要采集大量数据,并接入各类信息。从信息形式看,主要包括实时报文、音频、视频、数据包及办公文件等,由于大量非结构化数据产生,为提高数据快速处理,不能采用传统的数据库进行存储,而应采用分布式大数据Hadoop与结构化数据库(Oracle)混合方式进行存储和提取。
1.1传输服务
联合作战训练数据的传输,具有跨网络、有线无线并存、多协议UDP/TCP及本地多网卡等复杂运行环境特点。实时数据传输服务主要选择数据分发服务(Data Distribution Service,DDS)通信中间件,采用以数据为中心的信息交互模式,实现系统内部数据交互以及外部多源异构数据的汇集分发。基于DDS的数据-订阅分发技术提供了一种高效灵活的数据交换和汇集手段,基于这种技术开发的数据订阅分发服务可实现网络环境下不同资源间的信息动态交换共享,为多源异构海量数据能实时处理、低延迟和可靠高效分发提供了前提和保障。
1.2协议适配
为解决各系统之间互联互通的问题,要为各种异构网络通信提供协议适配服务,用以实现多源异构训练数据信息地转译和封装。基于训练数据的标准规范,识别各系统之间传输的数据信息并进行封装,实现双向适配。同时,将外部引接数据和信息接入汇集的数据信息转译为可识别的数据来源,实现各系统之间数据信息的互联互通,协议适配如图2所示。
1.3实时消息处理
联合作战各训练业务系统产生的数据需实时、低延迟地不停流转,整个实时数据处理系统一方面解决数据传输服务问题,另一方面需解决传输通信和数据处理之间实时、高效交互的问题。引入高性能跨语言分布式发布/订阅消息队列系统,作为整个系统高速数据总线,解决系统间耦合、数据安全不丢失、系统扩展性、峰值处理能力、可恢复性、顺序保证、缓冲及异步通信等问题。
实时消息处理通过数据发布和订阅提供数据的高吞吐量和高并发量,并将消息持久化到磁盘,可进行持久化操作以防止数据丢失,再采用分布式结构,以实现易于数据存储设备的向外扩展。另外,消息被处理的状态是在消费端维护,而不是由服务端维护,这样当消息处理失败时,可实现消息处理任务的自动平衡。
2数据实时处理
2.1数据预处理
训练过程中大量的训练数据由系统平台汇总收集,这些海量数据格式各异,形式多样,主要包括文档、图片、扫描件及音频视频等格式,这些非结构化数据的收集和处理存在一定的效率瓶颈,为确保训练数据可用性和预处理过程的高效性,系统引入多种技术手段对训练数据预处理过程进行保障,基本流程如图3所示。
①数据抽取:根据各业务系统对数据的需要,将订阅分发的数据在接入的海量数据报文中挑选、抽取出来,以备后续处理。
②数据清洗:将数据抽取的原始数据通过移除空的数据行或重复的数据行、过滤数据行、聚集或转换数据值及分开多值单元等,以修复采集的原始数据中的错误数据。
③数据转换:主要实现各类数据的量纲统一、坐标转换和数据整合。量纲统一模块完成相同测量参量的量纲统一,如辐射特性测量输出的目标辐射强度和温度等,因此要根据参数配置模块的要求进行量纲统一。坐标转换是将各类测量数据统一到规定的坐标系,为数据综合处理提供基础。数据整合是针对训练数据按统一规范进行整合、归类,为数据挖掘与分析提供支撑。
④数据加载:主要是把预处理的数据进行相应的入库处理。
2.2数据融合
数据融合模块主要是将雷达、遥测、GPS和光电等设备所测的同一目标轨迹数据按照相关算法进行融合,进一步减小误差、提高目标轨迹精度。数据融合模块接收各设备处理后的轨迹数据,采用SF算法融合,生成目標融合轨迹数据,流程如图4所示。
①优先融合:根据各测量设备特性,在不同的空域对目标的定位精度不同。试验时根据目标距离选择优先级最高的单路测量数据作为融合数据输出,融合数据的精度与当前空域内优先级最高的测量设备相同。
②简单融合:软件中采用的滤波算法是交互式多模型滤波(IMM滤波)算法,在每次滤波后滤波器会根据3个模型生成3个协方差矩阵,而简单融合所使用的协方差矩阵就是将这3个矩阵进行输出交互后的结果。
2.3高性能计算
为了应对数据规模增加、数据处理需求不断增加的现状,高性能计算采用了可灵活扩展的分布式Share-Nothing架构,可通过增加服务器来提升系统的计算能力。同时,系统提供Storm实时计算引擎,Stream流计算引擎和SQL交互式查询引擎,可针对文件数据进行实时在线计算,其高性能计算架构如图5所示。
①任务执行模块:任务执行模块称为Worker,进程管理模块称为WorkerManager,一个Worker与一个WorkerManager组成了一个进程,一个进程中运行多个处理任务,每个处理任务对应一个线程,任务执行模块主要负责数据处理。
②进程管理模块:每一个进程都配有一个进程管理线程,该线程负责进程注册、任务获取、任务监控,另外,如果多个分布式进程同时运行,将选举出一个主进程leader,所有其他的进程成为子进程follower,leader将承担额外的工作,主要包括任务分配、子进程follower的监控与follower出现故障时做任务的负载均衡,follower监听leader的状态,当leader故障时,follower重新选举出一个leader并做一次任务的负载均衡。
③数据配置与管理模块:数据配置与管理模块体现为开发平台的几个服务,用于处理模型的配置、任务配置以及任务处理流程的配置,配置好的处理模型可以动态发布到组件中、配置好的任务可通过注册、启动停止等操作在组件中实现相应的操作。
④Web监控模块:监控模块提供一个UI用于监控各进程的分布情况、运行状态以及任务执行情况,同时可以在UI界面上操作进程的启停及添加操作,添加操作首先在服务器集群中选择要启动进程的服务器节点,然后在该节点上添加进程。
⑤元数据存储与分布式协调通知模块:主要用于存储各个进程的元数据、共享数据以及集群的运行所需的其他基础数据,负责进程间的通信、RPC远程调用等。
3系统应用
该系统建成后,已参与多次大型训练任务保障,在使用过程中,系统运行稳定、处理信息及时,为有效评估训练效果提供了可靠依据,主要应用界面如图6所示。
多源异构海量训练数据的实时综合处理技术应用于训练基地的训练数据综合处理中心,该中心面向训练系统整体,提供海量信息接入分发、信息协议适配、外部数据引接、数据集中存储、数据汇聚整编、数据服务生产及业务综合集成等高性能服务,基本形成基地军事训练数据采集、引接、存储、管理、加工、应用和更新的完整链条,大大提高了训练效率,并为训练效果评估提供了及时可靠的数据支撑。
4结束语
通过对多源异构海量数据实时处理技术的研究与应用,为大规模联合训练提供了先进的技术保障手段和方法,不仅实现了海情、空情、水文、气象、指挥指令以及装备产生的报文、音视频等数据的实时接入存储与高效数据整编,而且真正实现了各个复杂业务系统之间的互联互通以及对数据的实时需求。因此,该技术具有广泛的应用价值,不仅为各军兵种开展大规模训练提供借鉴价值和依据,还为其他技术领域提供相关的参考与帮助。
参考文献
[1]皮霄林.基于云计算技术的电力大数据预处理属性简约方法[J].科技创新导报,2017,14(12):158-159.
[2]姜建华,洪年松,张广云.一种多源异构数据融合方法及其应用研究[J].电子设计工程,2016,24(12):33-36.
[3]贺雅琪.多源异构数据融合关键技术研究及其应用[D].成都:电子科技大学,2018.
[4]耿焕同,黄涛,薛丰昌.多源异构海量数据实时处理平台研究与应用[J].计算机应用与软件,2014,31(1) 43-46,61.
[5]朱丹.外侧数据实时处理软件设计与实现[D].大连:大连理工大学,2008.
[6]程豪.基于Hadoop的交通大数据计算应用研究[D].西安:长安大学,2014.