周月阳,高墨韵,石远东
(中国船舶集团有限公司第七二三研究所,江苏 扬州 225101)
随着战场电磁环境的日趋复杂和认知雷达的快速发展,传统基于先验知识的雷达对抗系统已无法适应现代电子对抗需求[1]。一方面,传统雷达对抗系统的干扰方依赖固定的干扰策略和人为操作,无法根据雷达状态和对抗环境的变化,改变其干扰策略。因此,干扰方的干扰效率较低,干扰措施缺乏自适应性[2]。另一方面,各种新体制雷达的成功研制和认知雷达的研究,使得雷达的抗干扰能力有了显著增强。另外,新体制雷达结构复杂,存在很多不同的工作模式,这些工作模式在非战时状态下可能一直被隐藏。传统雷达对抗系统无法应对这些未知的雷达状态[3]。
认知雷达对抗系统采用了“感知→识别→决策→行动→感知”的闭环学习过程[4],干扰方先通过对感知的雷达进行参数测量,识别雷达所处的状态,然后用强化学习算法决策产生干扰样式及参数[5],干扰发射器根据干扰样式及参数发射相应的干扰波形,最后对干扰后的雷达状态进行感知,评估干扰效能,形成闭环。因此,认知雷达对抗系统是一种具有通过先验知识和自主学习来识别和干扰敌方雷达能力的智能、动态的闭环系统,可在实时感知雷达状态的基础上,高效自主地调整干扰样式及参数以适应雷达状态的变化,使干扰更具有主动性和针对性。传统雷达对抗系统和认知雷达对抗系统的实现框架如图1所示[6]。
图1 传统雷达对抗系统和认知雷达对抗系统的实现框架
相比于传统雷达对抗系统,认知雷达对抗系统对数据交换的要求显著提升。由图1可知,认知雷达对抗系统功能模块更复杂,增加了雷达状态识别、干扰效能评估和基于强化学习的干扰决策模块,从而使得各个模块产生的数据量更多。此外,认知雷达对抗系统需要快速适应雷达状态的变化,整个闭环对抗过程的延时越低越好,而闭环对抗过程存在顺序性,从而要求各个模块数据交换的速度更快。更为重要的是,认知雷达对抗系统更加灵活多态,传统基于TCP/IP、UDP等协议的数据交换难以满足其重构需求。
基于RocketMQ存在高可靠性、安全性、低延时、分布式、易扩展、保证严格的消息顺序、实时的消息消费机制、亿级的消息堆积能力等优点[7],本文提出了一种基于RocketMQ的认知雷达对抗数据交换系统。
RocketMQ是阿里巴巴开发的一种基于队列模型的消息中间件,能够提供多样化的消息获取模式、严格的消息顺序、实时的消息消费机制和亿级的消息堆积能力,具有高可靠、安全性、低延时、分布式等优点。发送消息时,Producer依次发送消息到各个队列,队列的集合称为Topic。Consumer有2种消费模式:广播模式和集群模式。广播模式中的Consumer实例可以消费一个Topic下所有的队列,而在集群模式中,一个Topic对应的队列集合要给多个Consumer实例平均消费[8]。消费模式如图2所示。
图2 RocketMQ消费模式
图3展示了RocketMQ的物理部署结构图。如图3所示,RocketMQ由4种角色的集群组成,分别为NameServer集群、Broker集群、Producer集群和Consumer集群。NameServer集群是注册中心,存储活跃的Broker列表,记录完整的路由信息,提供等效的读写服务;Broker集群是具体提供业务的服务器,通过提供轻量级的Topic和Queue机制来处理消息存储,同时支持推和拉模式以及主从结构的容错机制;Producer集群产生消息的实例,通过与一个随机选择的NameServer节点建立长连接来获取Topic的路由信息,再通过路由信息,与提供该Topic服务的Broker主节点建立长连接,并定期发送心跳,维护自己的连接状态;Consumer集群接收消息的实例,与Producer集群在节点属性上基本相同,不同的是Consumer集对Broker主节点和Broker从节点都要建立长连接并发送心跳。
图3 RocketMQ物理部署图[7]
本文所设计的认知雷达对抗数据交换系统结构如图4所示。整个结构以图1中的认知雷达对抗系统实现框架为基础,认知雷达对抗系统各个模块间的数据交换主要由RocketMQ总线负责,由于RocketMQ的可重构特点,可快速更新模块以满足变化的认知雷达对抗需求。模块中的Producer节点发送数据到RocketMQ总线,Consumer节点从RocketMQ总线上接收数据。各个模块交换的数据类型包括脉冲描述字(PDW)、辐射源描述字(EDW)、抗干扰状态描述字(EPDW)、干扰效能和干扰样式及参数[6]。以基于强化学习的干扰决策模块为例,该模块中的Consumer节点接收雷达状态识别模块发送的EDW、EPDW和干扰效能评估模块发送的干扰效能,这些数据作为干扰决策算法的输入,训练后算法输出的干扰样式及参数由该模块中的Producer节点负责发送到RocketMQ总线上。
图4 认知雷达对抗数据交换系统结构
基于RocketMQ的认知雷达对抗数据交换系统的功能主要包括集群管理、消息队列管理、客户端连接和消息监控。如图5所示,集群管理包括集群信息管理和节点管理。集群信息管理负责显示本系统中的所有集群信息,包括集群名、集群内节点、集群生产/消费的吞吐量、节点地址等;节点管理负责显示和修改Broker节点及NameServer节点中的信息。消息队列管理包括注册队列、修改队列、查询队列和删除队列,负责对消息队列(Topic)的信息进行注册、修改、查询和删除,消息队列信息包括Topic名称、Toipc数量、Topic权限等。客户端连接包括生产者连接和消费者连接。生产者连接负责ProducerGroup的注册及删除和节点网络连接信息(IP 地址,组名,Topic等)的查询;消费者连接的内容与生产者连接类似。消息监控包括终端查询和Web界面监控。终端查询采用RocketMQ自带的命令行管理工具,可基于时间、key、消息ID等属性来查询特定的消息;Web界面监控负责监控集群、Topic、Producer和Consumer等的状态。
图5 认知雷达对抗数据交换系统功能
数据交换系统提供的服务依赖于 RocketMQ,因此实现数据交换系统首先要部署 RocketMQ 集群,集群部署方案采用双主双从,保证系统的高可用性。集群架构的角色分配如表1所示。物理部署如图3所示,此处不再赘述。
表1 集群角色分配表
数据交换功能是该系统最基本的功能,因此需要首先实现消息传递的功能,包括产生消息实例的生产者Producer节点和接收指定Topic下消息的消费者Consumer节点。Producer和Consumer节点的工作流程如图6所示。
图6 Producer和Consumer节点的工作流程图
为了便于监控整个集群的运行状态,该系统使用Web界面来查询各个节点和指定的消息。由于篇幅有限,本文只展示了其中的消息查询功能,能够选择按 Topic、Message Key和Message ID来查询指定的消息。如图7所示,指定Topic和时间段,则可以查询到满足条件的所有消息。
为了在实验条件下构建一个贴近实战的认知雷达对抗模拟环境,雷达方和干扰方采用半实物模拟系统。为满足基于强化学习的干扰决策算法的训练和自主学习需求,数据交换系统需要在保证可靠性的前提下,能够实时处理雷达对抗过程中产生的海量数据流。因此,本文从性能和可靠性2个角度对数据交换系统进行测试,并成功应用于工程实际。
对于系统测试所需的硬件开发环境,由于采用了双主双从的集群部署方案,需要至少4台机器。为了保证RocketMQ的高效运行,系统内存至少需要16 GByte。对于软件开发环境,考虑到系统稳定性,RocketMQ中的机器需要安装Ubuntu16.04操作系统。
为了选取在认知雷达对抗系统中性能更好的消息中间件,本文选取了2种当前常用的消息中间件RabbitMQ[9]和Kafka[10],在多Topic多消费端的认知雷达对抗场景下,与RocketMQ对比单位时间内的消息处理能力。由于认知雷达对抗系统中的干扰决策算法训练需要长时间运行,需要构建消息持久化场景。本文在系统正常运行1 h后,不断增加Producer端发送的数据量,直到系统吞吐量不再上升,而响应时间拉长。这时Consumer端已出现性能瓶颈,从而可以得到相应的系统最佳吞吐量。将系统最佳吞吐量作为消息处理能力的指标,3个消息中间件的消息处理能力对比如图8所示。
图8 消息处理能力对比
从图7可以看出,RabbitMQ的吞吐量最低,只有3.35×104/s,这是由于它为了保证消息的可靠性,在吞吐量上做了取舍。Kafka和RocketMQ的吞吐量较为接近,分别为6.79×104/s和6.93×104/s,RocketMQ在消息持久化、多Topic多消费端的认知雷达对抗场景下,消息处理能力略优于Kafka。
系统的可靠性是指在极端情况下,如宿主宕机、应用程序闪退等,系统有相应的保护和应对措施。对于数据交换系统,可靠性的标准是消息在传递过程中不会丢失、消息不重复投递和集群支持多主多从等。Broker进程是RocketMQ的核心,本文通过杀死Broker进程来查看在极端情况下,该数据交换系统的可靠性。
在该系统中的消息收发保持正常的情况下,于Broker节点的宿主机终端上执行了“Kill-9”命令,则可以杀死RocketMQ框架下的Broker进程。重新启动该系统后,分析得到的系统可靠性数据如表2所示。在RocketMQ采用异步刷盘、单位时间内发送的数据量陡增、Broker进程中断的极端情况下,依然能够保证消息不丢失,消息不重复,证明了该系统的可靠性。
表2 Broker进程中断后的系统可靠性
综合考虑上述系统性能和可靠性测试,RocketMQ在消息处理能力上优于其它消息中间件,满足可靠性要求。因此,本文选择RocketMQ为基础构建认知雷达对抗数据交换系统。
考虑到雷达对抗外场试验费用高昂、试验装备困难、试验场地要求高且布阵复杂、受天气和环境影响大等不利因素,在实验室条件下搭建了一个贴近实战的认知雷达对抗系统。其中,雷达方和干扰方采用半实物模拟系统,雷达方能够逼真模拟典型多功能雷达的功能和信息处理流程,并能发射雷达射频信号波形;干扰方能够逼真模拟电子战系统的侦察和干扰流程,并能依据干扰决策算法输出的干扰样式及参数发射对应的干扰波形。
本文提出的数据交换系统作为认知雷达对抗系统中的分系统,主要负责在保证可靠性的前提下,实时处理雷达对抗过程中产生的海量数据流。如图9所示,该界面可实时显示数据交换系统传输过程中的各类数据,从而保障了数据交换系统的正常运行。
图9 侦察与干扰信息显控界面
本文在认知雷达对抗系统实现框架的基础上,设计并实现了一种基于RocketMQ的认知雷达对抗数据交换系统。认知雷达对抗系统各个模块间的数据交换主要由RocketMQ总线负责,由于RocketMQ的可重构特点,可快速更新模块以满足变化的认知雷达对抗需求。数据交换系统的功能主要包括集群管理、消息队列管理、客户端连接和消息监控,对数据交换系统的性能和可靠性进行测试,根据测试结果可以看出,RocketMQ在消息处理能力上优于其它消息中间件,满足可靠性要求,验证了该系统的优越性。