基于云原生的开放式指挥控制平台构建技术
作者: 樊良优 姚小强 王刚 刘伟 何晟
摘 要:针对传统指挥控制系统存在的系统封闭、人机协同效率低、扩展性差等问题,提出基于云原生技术构建开放式指挥控制系统的方法。首先,基于博伊德环(OODA)和业务流程模型注解(BPMN)相结合的方法研究了指挥员作战意图的表达模型,实现多意图并行执行和多策略解冲突,使得指挥员作战意图同指挥控制系统运行深度耦合。然后,基于微服务、服务网格、消息中间件等技术搭建基于云原生理论的基础框架,实现基础服务的快速、安全扩展。为使构成指挥员决策的原子服务能够快速扩展,基于开发运维一体化(DevOps)设计了服务的快速开发、部署和交付系统。最后,以集火射击案例来对系统可行性和可靠性进行了验证。相对于传统指挥控制系统,开放式指挥控制平台能够实现快速灵活的系统扩展,支持作战流程及战术战法的灵活编辑,为指挥控制系统由封闭走向开放提供了解决方案。
关键词:指挥控制系统;云原生;OODA; BPMN;DevOps;微服务;作战流程;战术
中图分类号:TJ760;E83
文献标识码:A
文章编号:1673-5048(2022)04-0026-07
DOI:10.12132/ISSN.1673-5048.2022.0036
0 引 言
博伊德环(Boyd’s Loop,OODA)理论表明,无论采用多么先进的传感器,战场迷雾都不可能完全消除。由于对抗的存在,作战更是在各种不确定的环境下进行最优判断和决策的过程。因此,如何优化判断模型成为重中之重。随着作战理念、战术战法、武器系统的持续更新,传统固定流程指挥控制系统无法适应变化,指挥员不得不耗费巨大的精力应对复杂局面,从而造成决策效率低下[1]。当需要集火射击等复杂精准控制时,靠人工实施效果不佳。实际中,面对同等复杂度的战场环境,指挥员的经验对作战成败产生了巨大的影响。因此,如何有效架起指挥员和系统执行之间的桥梁,实现针对不同场景指挥员意图的灵活表达,并使其可以被系统识别和执行,成为指挥控制系统亟待解决的问题。
李德毅院士提出的知识模型和情境数据双驱动的“OODA+环”理论,指明指挥员意图和系统的紧密协同是指挥控制系统的重要发展方向,但并未给出具体解决方案。随着微服务技术的发展,特别是云原生技术的成熟,构建灵活、开放、流程可定制的业务系统,已在互联网领域取得了巨大的成功[2-4]。本文正是将OODA作战理论和云原生技术相结合,实现了指挥员意图的灵活表达和被系统执行。此模式下,参谋人员可在战前录入作战策略集,战中指挥控制系统自动依据态势信息匹配策略执行条件,并由指挥员确认后自动执行策略。这样,指挥控制系统实质上充当了“智能参谋”的角色。当面对复杂战场环境时,指挥员仅需完成“选择题”,无需做“综述题”,从而达到解放指挥员的目的。同时,经过实践检验的处理策略,可以在同类系统间灵活流转,保证“判断”模型的持续更新。另外,系统本身提供的基础服务不足时,技术人员可依托云原生平台的弹性,实现服务的快速扩展。基于云原生技术的指挥控制系统从使用和技术两个维度实现了平台的开放性。
1 开放式指挥控制设计
1.1 开放式指挥控制设计原理
开放式指挥控制系统的设计原理如图1所示。指挥员在战前首先对作战方案进行构想,对不同作战场景下的作战策略进行设计;然后,通过业务流程建模语言对作战策略进行编排,确保作战策略能够以流程化的语言输入指挥控制平台;最后,针对实际作战场景匹配作战策略,并通过开放式指挥控制平台来执行策略。而开发人员则需要对平台进行开发和测试,基于云原生理论构建微服务化的指挥控制平台架构,能够保证服务间松耦合并且独立部署和运行,为指挥员策略执行提供原子服务调用。同时,开发人员还需要开发一站式的部署、交付和运维系统,实现原子服务的快速灵活扩展,并保障开放式指挥控制平台能够稳定运行和升级维护。
基于云原生理论设计的开放式指挥控制平台具备以下特点:
(1)准确表达指挥员作战意图
指挥员每次作战意图表达都是对OODA环的执行过程,OODA环各部分是对指挥员作战思路的充分体现。构建开放式指挥控制平台能够实现对指挥员意图的灵活表达,能够将意图准确映射到指挥控制平台,实现意图的流转和被执行。
(2)指挥员意图流程化航空兵器
指挥员作战意图能够被映射为指挥控制系统识别和处理的语言或流程,是指挥员作战意图进入系统的关键环节。构建开放式指挥控制平台能够以脚本或者图形化方式提供战术战法的规则化输入支持,构建战法库,从而将指挥员意图以流程化的语言输入指挥控制系统,系统执行相应流程实现作战意图全流程流转和表达,同时还能够支持对多意图的并行执行和多策略解冲突。
(3)按需快速实现服务扩容
开放式指挥控制平台要求能够对意图以流程化的形式进行编辑,需要对服务进行灵活调用,对其功能模块按照细粒度进行服务划分。其架构必定是微服务化的,且能够对构成意图的原子服务实现灵活扩充,需要借助云原生技术构建开放式指挥控制平台。
(4)保证服务稳定可靠运行
微服务化的指挥控制平台能够实现灵活扩展、便捷开发、服务独立无依赖,但服务化的架构也带来运维难度的提升、服务成本增加等问题。为满足业务需求频繁变动和系统快速迭代,需要搭建高可用、高性能、高并发的一站式开发、部署和运维系统,以确保系统快速部署、可靠升级、稳定运行。
1.2 基于OODA环的意图表达方法
OODA环理论是一种处理不确定性的方法和赢得冲突的策略,能够帮助飞行员在瞬息万变的空战环境中迅速做出决策,从而赢得战场主动权[5-6]。战场环境中充斥着各种不确定因素,而且指挥员精确观察环境的能力有限,依赖过时的思维模式来应对不断变化的环境时,得出的结果往往不尽人意。指挥员只有根据不断变化的环境信息,借助开放的思维模式及时调整作战意图,才能从复杂的对战中脱颖而出[7]。
判断是OODA环的关键环节,通常受到文化传统、基因遗传、前期经验等因素的影响。为进行准确而有效的判断,指挥员首先需要建立判断模型库,将各领域的多种模型包含进去;然后将观察得到的碎片化信息通过重新组合与判断模型库进行匹配,找出与之适应的判断模型。但由于信息和判断模型之间无法完美匹配,指挥员还需要根据判断做出决策,并在行动中检验决策的正确性。
因此,在任何战场环境下,指挥员每次作战意图的表达都可以体现在OODA的循环过程上。以飞行员驾驶战机为例,其OODA环示意图如图2所示。通常飞行员在战前预先制定判断模型,飞行途中存在没有出现飞机、突然出现飞机以及敌机突然发射导弹等情况,飞行员会进入相应的判断环节来对当前环境进行判断。如当空中突然出现飞机时,飞行员此时的心理活动可能为是否是敌机、我机是否被发现、是否对我机构成威胁以及飞机来袭意图等,需要对其进行判断。在作战中,飞行员时刻对空域环境做出观察,当出现不同空情时,根据模型匹配结果做出不同的判断并付诸行动。战后飞行员根据行动结果对判断模型库进行调整与更新,从而实现作战经验的积累。通过OODA循环的快速迭代实现作战理念和模型的持续更新,实时性表达指挥员的作战意图和思考过程。
通常单次执行OODA环并不能得出期望结果,需要指挥员在下一轮循环中对战场环境重新进行观察和判断。通过反馈机制,指挥员及时对判断模型进行调整和更新,以适应不断变化的外部环境[8]。本文通过对OODA循环的观察、判断和部分行动环节进行流程化描述的方法,对指挥员意图进行灵活表达,提高OODA循环的执行速度和决策效率,从而比对手更快地、连续地完成OODA循环,来“重置”对手的OODA循环,进而在复杂的作战环境中赢得主动。
1.3 基于BPMN的意图映射执行方法
本文基于业务流程模型注解(Business Process Modeling Notation,BPMN)的工作流模型,将指挥员的作战思路转化为系统可以理解的语言和符号,将OODA的意图表达方法映射到可以被系统执行的流程或脚本[9-10]。
BPMN是用一组描述业务流程中发生的各种事件的符号,通过在这些符号之间连线来描述一个完整的业务流程。BPMN2.0提供的建模元素及符号主要包括流对象、连接对象、泳道和人工信息四类[11]。
BPMN流程图能够将OODA意图表达模型映射到流程流转上来,可以实现指挥员作战意图通过BPMN被执行。BPMN建模按照细粒度将任务流程分解成多个不同层次任务,将任务分解为多个子任务,直到最后不能够被分解,也可以对不同子任务进行组合。开始事件通常被映射为OODA环中的观察环节,用来实现对BPMN流程的触发。流程可以通过网关并行运行多个任务,被映射为判断环节;还可以由排他网关对流程流向进行选择,映射为决策环节,其决策规则可以按照策略优先级执行或者由人工进行决策。结束事件通常被映射为行动环节。整个OODA环则可以被映射为一个循环事件,用来实现对OODA的循环执行。BPMN中的子流程可以表示为OODA环中的内环,这样循环流程和子流程结合便可以表示为嵌套的OODA环。其中,BPMN中的消息发送和接收事件可以被映射为向下级发送指令或向上级征求意见。用户任务被映射为指挥员对判断进行决策,手工任务被映射为人为参与的一些环节。通过池与道还可以实现不同作战单位共同参与流程的执行。OODA环中对意图进行表达的各个环节,在BPMN中均能找到相对应的流程符号来实现其功能。
按照细粒度划分对作战流程进行BPMN建模,流程图如图3所示,在流程中,每一个任务被拆分成多个细小的子任务,每一个子任务或者组合任务就是一个微服务,都会调用其相关的原子服务或者组合服务,来实现流程的流转。开放式指挥控制平台能根据需要及时对原子服务进行补充,并且保证能够为流程流转持续稳定地提供服务。
BPMN工作流程能够辅助指挥员在信息处理过程中迅速、精准地做出决策建议。开放式指挥控制平台可以将战术战法按照BPMN流程的规则模式进行存储,利用作战指挥数据库信息丰富的优势扩充BPMN流程库,也支持对流程库存储的战术战法进行读取以用于辅助决策。
1.4 开放式指挥控制平台设计
随着业务流程的不断复杂化,流程流转需要调用的服务也在动态变化。为了实现对原子服务进行扩充,保证能够为流程流转持续稳定地提供服务,需搭建基于云原生理论的基础框架供BPMN流程流转运行。云原生应用通常有微服务架构、敏捷基础设施、公共基础服务三个要素[12-13]。
(1)微服务架构
为解决单体应用耦合性强、部署效率低、系统开发维护困难等问题,对平台进行微服务改造。开发一个包含通用功能的微服务基础框架,依据细粒度来对服务进行划分,并支持二次开发和复用,为后续扩展多个微服务应用提供基础能力;同时,还包含注册中心和配置中心、认证中心、网关服务、服务调用等基础模块[14]。
(2)敏捷基础设施
为使部署简单快速,基础设施按需伸缩、弹性扩展,需要利用Docker技术实现容器自动化部署。Docker技术的可移植性、迅速启动、隔离特性等特点,有利于降低应用开发的复杂度,提升应用研发的效率。通过Kubernetes实现服务滚动升级和弹性扩缩容功能,支持应用和服务的滚动升级、版本回滚和扩缩容,允许服务在镜像更新时自动升级,支持多实例的滚动升级,能够通过手动和自动的策略实现容器实例的扩缩容[15]。
(3)公共基础服务
为使平台安全稳定运行,需要基于平台化的思想,提供一系列公共的、无关于业务的通用服务,包括服务监控、链路跟踪、系统监控、日志采集等模块[16]。