基于层次化体系的武器系统大数据管理研究*
2021-03-24高健杨富学汪保龙
高健,杨富学,汪保龙
(北京电子工程总体研究所,北京 100854)
0 引言
武器系统是指在军事作战中由火力杀伤装备和辅助应用装备构成的综合系统,用于打击来自地面、空中、水下等区域的目标[1]。在防空领域,武器系统包括探测装备、指挥装备、火力装备、通信装备、保障装备等。武器系统在作战过程中往往需要完成一系列过程,包括目标搜索、目标跟踪、目标识别、威胁评估、火力分配、火力打击、效果评估等,复杂的过程链条能够产生大量的数据,服务于武器系统作战能力。
武器系统数据特点是多源、海量、异构。首先,武器系统首先需要装订大量的数据,这些数据一是需要带动内部及上下级各类装备,二是作为参数带动作战过程中模型运转[3];其次,武器系统在作战过程中产生大量实时数据,如雷达扇区、目标信息、作战指令等,支撑系统的高效运转;再者,大量的通信数据、作战数据需要被记录下来,以分析武器系统内各装备的运行状态[2]。特别是在现代体系化、网络化作战中,数据呈现出指数级增长的趋势。
传统的武器系统在数据管理方面相对较弱,设计师缺少数据分类管理的理念,缺少可视化、集中化、服务化的数据管理思想。如对于需要事先装订的作战参数数据,多使用配置文件的形式,越复杂的武器系统,配置文件数量就越庞大,准备工作也越复杂。对于实时动态类数据,则是放在内存中存储,流转于内部软件之间,与软件拥有相同的生命周期。对于事后分析类数据,往往是使用工具现用现解析,这种即用即解的模式无法做到数据的持续积累以及深层次的大数据服务。
因此,面对日益增加的武器系统数据,需要有体系化、分层次的数据管理思想,对武器系统内各类数据进行数据差异化分类,并配以不同的数据管理方法和技术。这样做的好处有:一是可以为武器系统构建统一的数据服务中心,并形成全时域的数据管理服务,通过数据驱动实现武器系统各装备的高速运转;二是可以简化武器系统的数据配置复杂度,降低武器系统的准备时间,提升武器系统战前快速响应能力;三是可以形成数据积累,并以此实现武器系统的大数据管理与分析,精准定位武器系统内部存在的问题,进一步优化提升武器系统的作战效能[4]。
1 管理方法体系
1.1 武器系统数据分类研究
武器系统可以按照不同的维度进行数据分类,典型内容如表1所示。
表1 武器系统数据分类表Table 1 Table of weapon system data clarification
1.2 冷温热数据分层管理思想
冷、温、热3层体系的数据管理思想是根据武器系统内数据的分类及特点、使用频率和更新频率,将数据管理分成冷数据、温数据、热数据3种形态。热数据是指武器系统内数据使用频率较高的数据,要求数据读写具有较高的实时性,数据保鲜要求较高;冷数据是指使用频率较低的数据[5],数据不需要具有较高的实时性,但数据积累会导致数据体量的庞大;温数据处于两者之间,既不像热数据一样具有较高的访问实时性需求,也没有冷数据庞大的体量。因此,由于3类数据特点不同,需要采用不同的技术进行元数据构建、主数据的维护管理[6]。
数据分层管理思想首先需要约束数据分类条件,这里采用数据使用周期和数据更新周期2个指标进行数据分层,指标区间划分如下表2所示。
表2 数据层次区间划分指标Table 2 Indicators for data section stratified
(1) 数据使用周期
武器系统内各类数据拥有不同的使用频率,因此数据使用周期成为区分冷、温、热数据的关键指标。
对于使用周期小于1 s的数据可以定义为热数据,以目标数据为例,当雷达搜索到某目标后,目标的数据从雷达送到指控系统、再到下级指控系统,可能还需要送到友邻部队,目标数据在各装备内流转时要经过单一航迹计算、综合航迹计算、目标关联、目标融合、目标识别、目标下发等一系列复杂的过程,而这一系列过程需要在短短几s之内完成,因此数据具有很高的使用频率,使用频率基本在ms级或μs级。
对于使用周期在1 s~10 min的数据可以定义为温数据,以武器系统内各作战单元的数据为例,作战的过程中不需要对其进行频繁的使用,但是当动态接入外部作战力量时需要及时将部队和装备信息进行接入。
超过10 min使用周期的数据可称为冷数据,冷数据往往是历史数据,或者是半结构化和非结构化的语音、视频等数据,这些数据有可能超过一个月才使用一次,多用于事后分析。
(2) 数据更新周期
数据的更新周期是另外一项指标,数据更新的频率是数据分层参考的关键因素。
数据更新小于10 s的数据可以定义为热数据,这与数据使用周期指标类似,具有较高更新频率的数据意味着其在武器系统内需要被不断的使用,以装备状态类为例,各类装备状态需要不断地上报更新,以支持高一层级的指挥系统做出正确的作战指令。
更新周期在10 s~1 h之间的数据可以定义为温数据,这类数据一般来说没有实时更新需求,但是在一次作战任务中仍然可能需要去调整更新,如果当识别地方进攻战术意图后,需要调整各级作战单位的阵地部署位置、雷达责任扇区方向等,这些数据需要在武器系统内动态更新。
更新周期超过1 h的数据可以定义为冷数据,冷数据一旦持久化后多用于加工和分析,一般不会再被频繁更新。
(3) 数据读写速率要求
数据读写速率要求往往是伴随前2类指标的,同时是区分数据层次的重要因素,对于热数据来说,数据的读写速率要求在ms级,高速率的读写能力才能支撑武器系统运转的高实时性。对于温数据来说,读写速率要求s级,不能有明显的数据读写延迟。对于冷数据,10 s以上的读写速率也能满足需求。
依照以上3个指标,基本可以将武器系统内各类数据进行层次化分类,如表3所示。
表3 各类数据层次化分类Table 3 Hierarchical classification of various types of data
1.3 数据体系动态运转
冷、温、热的数据体系思想将数据进行了层次化分类,但是各类数据之间并不是割裂的、也不是一成不变的,3类数据组成了动态的有机整体,互相支撑、互相转化,整个体系是随着武器系统运转而动态运转的。数据体系的运转关系如图1所示。
图1 数据动态运转体系Fig.1 Data dynamic operation system
热数据和温数据之间存在着相互作用关系,温数据为热数据提供数据的初始化数值支撑,热数据则为温数据提供最新的数据更新。热数据与冷数据存在着互相转化关系,热数据可以冷却成冷数据,即热数据在不断的更新过程中将历史数据进行数据归档,形成历史的冷数据,同时冷数据可以反馈优化热数据的结构设计。温数据和冷数据之间存在着相互转化关系,在武器系统持续的使用过程中,温数据可以归档到冷数据范畴,同时冷数据的加工分析可以优化温数据的结构设计。
数据体系的动态运转能力强化了武器系统的数据生产力和生命力,三类数据为武器系统提供着不同的作用域。热数据内各类数据的使用可以加速武器系统的体系运转能力,热数据的设计和使用性能决定着武器系统的各项能力和性能,如对空中目标数据的读取和解析速率影响武器系统对空中目标的探测和打击能力;温数据内数据结构设计可以优化武器系统的设计,这里主要指武器系统内软件的设计,通过软件的优化设计优化武器系统能力。冷数据的分析和挖掘可以改进系统能力,如提升武器系统的单装作战边界、评估武器系统的作战战术战法缺陷等。
2 层次化体系数据管理设计思想
2.1 热数据管理
基于现代部队的作战需求,武器系统往往具备较高的时效性要求,热数据作为武器系统内高速流转的数据,具有处理频率高、更新频率高、使用频率高、数据量小等特点。一般来说,武器系统不会对热数据做大量的存储,而是对其及时处理,数据使用完迅速归档或释放,或立刻被下一帧的数据替换掉。热数据在使用处理后会分发给内部各系统和外部系统,如目标信息类、指令类、状态类数据都具备这样的特点。
传统的武器系统没有对各类数据进行分层归类和管理,因此对热数据没有一套系统的管理机制,传统武器系统中热数据管理一般是在软件中定义数据结构体,并在内存中进行数据的动态维护和使用。这种方式有2个缺点:一是数据无法可视化,传统软件的热数据维护在本机内存中,只能在研发调试时查看数据的状态,或者通过日志的方式对数据进行实时记录,但是这种方式影响软件运行性能;二是数据的安全性不高,数据依赖软件载体的生命周期,一旦软件崩溃,数据随着内存的释放而释放。
因此在本文研究的热数据管理设计方案中,通过分布式内存数据库的方式可以实现以上几个要求,使用内存数据库Redis实现武器系统的热数据管理。Redis是一个高性能的Nosql数据库,数据存储方式是Key-Value,并支持多种类型的value数据存储[7]。Redis支持分布式、主从等多种部署配置,并依赖于集群的内存容量可以实现海量数据的横向扩展,数据存储在内存中,可以支持高速的数据读写能力[8]。
由于Redis的数据存储格式是Key-Value,因此需要对武器系统数据进行哈希结构设计。武器系统在作战准备之前需要进行系统校时,国内现在多使用北斗卫星实现时统,武器系统内热数据的产生和传输都需要打一个或多个时间戳(天文时间、作战时间等),因此热数据往往都是时序性数据。对于热数据的设计,Key值设计为数据类型+时间戳+其他关键元素,Value设计成为Json格式的数据结构体,可以实现热数据的内存数据库存储。也可以将数据设计成双层嵌套键值对,即将数据类型设计成Key值,将Value设计成键值对,将时间戳和其他关键元素放在里面,这2种结构设计适用于绝大多数的武器系统热数据。以目标航迹数据为例,其数据结构设计如表4所示。
表4 热数据存储结构设计Table 4 Storage structure design of hot data
而关于使用哪种内存数据库部署方式,则需要针对不同层级的武器系统进行不同的设计。对于武器系统战术级以下的数据管理,软件的运行多搭载于机动装备上,单装机动装备上的席位不多,同时数据量也没有那么大,可以考虑使用主从方式实现数据库部署。而对于高级指挥系统的数据管理,多部署在指挥所或条件较好的机动装备上,该种情况下装备席位较多、热数据管理量较大,可以考虑使用分布式集群部署方式扩大存储容量,如图2所示。
图2 Redis部署方式图Fig.2 Redis deployment diagram
2.2 温数据管理
一般来说,武器系统的温数据多用于战前准备,温数据一旦装订完毕后,基本是处在稳态,只有少量会在战中进行更新。传统的温数据管理一般使用配置文件,这种管理方式的缺点在于配置极其繁琐,准备时间较长,特别是还需要对不同席位不同软件分别维护修改,这对操作员的要求较高,不利于武器系统的快速学习熟练掌握。
这里设计使用关系型数据库对温数据进行存储管理,适用于实时操作系统和非实时操作系统。关系型数据库设计包括元数据设计、编码设计、主数据设计等方面。系统参数类数据是需要动态维护的,内部具有较高关联性,需要通过武器装备等主表进行串联;通信参数类数据一般依赖于武器系统内部硬件装备和软件,因此需要内部各分系统进行串联管理;模型参数类数据主要依赖于武器系统内部功能和能力,依赖于武器系统模型设计,一般装订后不会修改;基础参数类主要是各类基础数据字典,装订成为字典表后也不会频繁修改。
以某型武器装备为例,其温数据的管理包括若干数据表,如表5所示,敌方武器履历参数数据如图3 所示。
图3 温数据的自轮询监控机制Fig.3 Self-polling monitoring mechanism for warm data
表5 某型武器装备温数据Table 5 Warm data storage of a certain type of weapon
在作战过程中,温数据也需要根据作战任务进行动态维护更改。如根据作战需要,需要组织下级若干部队进行组网作战,在作战过程中需要动态对不同作战单位进行编组接入,作战单位的接入需要具有实时性,且在不改变武器系统软件状态的前提下实时推送通知给所有分系统和外部系统,因此需要一种机制对温数据进行变化的实时推送通知。这里设计了一种自轮询的机制实现对温数据的实时推送,如图4所示。
设计一个数据监听表,表中存储所有温数据表的名称和上次更新的时间戳。对温数据中所有表设置触发器,对表数据操作进行实时监听,当数据管理软件对温数据进行增、改、删的操作后,触发器触发监听操作,修改数据监听表中的时间戳。当某一表的时戳出现数值变化时,数据代理软件查询相关数据表数据,并通过消息中间件服务发布出去。
2.3 冷数据管理
对于功能越复杂的武器系统,内部交互的协议越多,各分系统之间定义的协议类型往往达到上百个甚至更多,某些数据产生的频率很高,往往可以达到ms级,因此会产生庞大的数据量。由于对数据价值的认识度不够,传统的大多数武器系统并不注重对此类数据的收集和分析。
当前,有一部分武器系统开始注重对冷数据的分析,绝大多数采用的方式是文件系统管理,即当需要采集哪类数据时,对固定的数据协议进行拦截,以表格文件的形式保存在本地,进而查阅数据。这种方式的缺点有三:一是数据没有唯一管理节点和出口,数据管理非常离散,数据容易丢失;二是各类协议数据独立存在,难以进行跨协议的数据分析,不适合进行大规模的跨域大数据分析;三是各类武器系统设计师只能各自为战,无法进行协同的在线数据分析。种种缺点制约了武器系统对于数据价值的使用,亟需新的解决方案对冷数据进行高效管理。
针对于冷数据的管理,需要考虑2个方面:一是要考虑冷数据本身数据量大、实时性低的特点;二是要考虑冷数据与热数据之间数据转换的需求。因此考虑使用列式数据的存储方式对冷数据进行管理,关系型数据库由于单表容量限制,对于大规模数据的管理需要进行分表操作,管理不便。在冷数据存储的设计上,根据数据协议类型进行分表,每一张表存储一种协议数据,并设计冷数据映射表实现数据调用的映射。行表和列表的设计如表6和表7所示。
表6 冷数据表的映射表Table 6 Mapping table of cold data table
表7 冷数据列式存储表Table 7 Cold data line type storage
本文设计使用HBase分布式列式数据库解决海量冷数据的存储管理问题,HBase是使用Key-Value模式的分布式数据库[9-10],可以使负载均衡的分布在若干个节点上,数据的存储和查询效率很高,海量实时数据和非实时数据可以持续性进行注入,数据可以保存每一个区间节点上。HBase存储数据原理如图4所示。
图4 基于HBase列数据库的数据存储设计Fig.4 Data storage design based on HBase
在列式数据库的设计中,采用协议分区的机制实现对不同数据协议的分区管理,如图5所示,当前HBase中存储了200多种协议数据,每种数据独自使用一个分区,通过开始键值和结束键值实现协议的分区管理。
图5 HBase列数据库存储历史内部协议数据Fig.5 Historical inner protocol data storage in HBase
3 应用系统设计
3.1 系统总体设计
图6展示了武器系统数据管理平台的总体设计,实现对于冷、温、热数据的管理,数据管理平台实现对3类数据库的接入、3类数据的管理功能。
图6 数据管理平台总体设计Fig.6 Overall design of data management platform
武器系统数据管理平台整体设计主要分为3个部分:数据管理平台、数据库、数据代理。武器系统数据管理平台主要功能包括战场态势感知、基础数据维护、模型参数管理、系统缺陷分析、作战效能分析等上百项功能,其中不同的功能细分需要不同类型的数据做支撑[11]。如战场态势感知主要使用目标航迹、战场天气环境等热数据;基础数据维护、模型参数管理等功能主要使用温数据实现数据的动态维护;系统缺陷分析、作战效能分析主要使用冷数据进行大规模的数据训练、挖掘和指标检验。热数据通过内存数据库设计成主从模式,数据可以实现热备份及快速的磁盘恢复,针对机动作战席位设计成单节点模式,针对固定席位设计成分布式模式;温数据通过关系型数据库进行构建,通过建立数据索引实现数据库快速查找。针对固定席位和机动席位皆可设计成主备模式实现数据的高可靠性;冷数据通过多个节点构建分布式列式数据库,也可以设计成行列混合存储[12],实现PB量级以上的可扩展能力[13],针对机动席位可以考虑设计成单点模式,并定时将数据迁移到指挥所数据服务中心。
3.2 软件平台设计
软件平台设计采用单页面开发技术,总体包括数据存储层、后端服务层、数据传输层、数据展示层、可视化层。软件平台的架构图如图7所示。
图7 软件平台架构设计Fig.7 Design of software platform structure
后端应用服务通过SpringBoot框架进行实现,并通过Jedis,SpringBoot JPA,HBase Java Api分别实现与热、温、冷数据库的交互。后端服务由上至下分为3层:控制层、服务层和持久化层。其中,控制层负责接收前端发送的指令并回复相应的内容,服务层负责处理内部逻辑,持久化层负责对接数据库的数据交互。
前端展示层主要使用VUE架构进行实现,采用Element UI实现主要的样式设计,并基于Nodejs实现前端服务功能。前端和后端的通信方式主要包括两种:Restful和Websocket。其中前端的所有对于温数据和冷数据的指令通过Rest协议实现下达,并接收回复。后端热数据通过WebSocket实现实时向各客户端节点进行推送。
4 应用举例
4.1 基于层次化大数据管理体系的战备值班软件的设计实现
图8展示了基于层次化大数据管理体系的战备值班软件的设计,下图为基于B/S架构的空情识别能力,目标(我方、敌方、友邻等)实时空情信息通过雷情网发到指控软件系统中,目标经过降频处理存储在Redis内存数据库中,并每隔3 s实时将内存数据库中的数据推送给前端显示,同时设定30 s的判丢周期,判丢后清除内存数据库数据,航迹消失。敌方目标飞入我方一等线内实现报警功能,可从数据库中动态显示目标的相关信息。
图8 基于层次化大数据管理体系的战备值班软件设计Fig.8 Combat readiness software design based on hierarchical data management system
4.2 基于层次化大数据管理体系的数据管理软件的设计实现
图9展示了基于层次化大数据管理体系的战术级指控系统数据管理软件的界面设计,目前数据管理软件设计了70余项功能,管理上万条地面武器和作战相关数据。图9截取了敌方武器履历参数管理界面。
图9 数据管理平台敌方武器履历界面Fig.9 Interface of enemy weapon resume in the data management platform
4.3 基于层次化大数据体系的武器系统战果统计的设计实现
图10展示了基于层次化大数据管理体系的武器系统战果统计的界面设计,大数据平台实时接收、解析、存储指控系统内部协议,将战中作战数据实时记录存储在HBase分布式列式数据库中,战后将作战过程中的数据解析分析,生成作战战果统计,包括武器系统跟踪目标数、拦截目标数、杀伤目标数、综合杀伤概率,也可以通过AR图查看作战过程中各火力单元的杀伤目标情况等。
图10 战果统计分析Fig.10 Statistical analysis of combat results
5 结束语
本文提出的基于冷、温、热3层体系的武器系统数据管理方法,是根据数据的使用周期、更新周期、读写速率要求等指标,将武器系统内的数据分成了冷数据、温数据、热数据3个层次,形成立体的数据存储和管理体系。对于热数据,使用分布式内存数据库进行存储管理,对于温数据,使用关系型数据库进行存储管理,对于冷数据,使用分布式列数据库进行存储管理,3种数据存在着动态转化关系,形成统一整体的数据服务,并基于此,设计研制了一套数据管理系统。
所提方法和所研系统与传统方法相比取得了显著的效果。与传统的方式相比,该方法在数据的管理类型、数据服务能力、数据分析能力、数据安全性、以及其他武器系统性能方面得到了显著的提升,该数据管理方法和数据管理系统可推广至其他领域使用。