面向海上战术云的信息资源服务架构设计∗
2019-03-01
(中国舰船研究院 北京 100101)
1 引言
随着多云、移动云、边缘云等云基础设施技术的发展,云架构正支撑向战术前沿延伸应用[1]。前沿部署的、可发现的战术云可以托管在车辆等战术移动平台上,为边缘设备提供高度响应的云服务、提供基础设施来卸载计算任务,并为应用提供数据暂存与分级、执行数据收集和过滤[2]。2014年,美国海军研究局提出了数据集中的海军战术云概念,通过位于战术边缘的云进行实时任务规划和执行,提高海战场的数据采集、处理、分析能力,从根本上提高海军作战效能[3]。将云计算技术和海上战术特点结合,形成海上战术云,支持岸海一体化、机固一体化集成接入,支持在实际战术行动中实现对岸基、海上、空中、水下等各类平台的资源服务有机集成、灵活调度,具备根据战术需求灵活重组、高可用抗毁、按需共享、高效协同,提供战术信息服务支撑能力,能够解决前沿作战信息服务的“最后一公里”问题。
战场信息和数据共享是网络中心战的重要特征,各战场节点对于数据信息在实时性、持久性、可靠性和优先级等方面均有不同要求,此外,由于战场环境的特殊性,使得各节点的组成总处于动态变化中[4]。随着多元化跨域应用、移动应用及物联网应用等发展需求,传统以数据中心为核心的单一云计算基础设施,正在向多云、边缘计算、移动云、异构云等融合演化发展,面向各类应用场景提供计算资源协同运用,支撑移动平台、物联网终端等集成接入,为海上战术云构建提供可参考的技术路线与基础。目前,在多云、移动云及边缘计算环境下,通过消息中间件等信息服务实现分布式系统中的应用解耦、异步消息、流量销锋、消息通讯等处理场景,屏蔽了网络硬件平台的差异性和操作系统与网络协议的异构性,为分布式应用系统提供了透明的通信服务,确保了分布式环境下可靠、高效、便捷的跨平台信息传输[5]。
本文重点围绕海上战术云信息服务体系化构建,在充分借鉴多云计算、边缘计算、消息中间件等技术的基础上,提出海上战术云信息资源服务架构,并重点研究战术云环境下信息总线构建、信息资源调度管理、信息服务高可用集群、信息共享访问等关键技术,支撑海上战术云信息服务实现,并通过典型场景对海上战术云信息服务进行组织运用验证。
2 海上战术云信息资源服务架构
2.1 海上战术云节点组织
海上战术云涵盖范围包括岸基云节点、海上移动平台、空中平台、水下平台等多元化平台节点,整体形成“云—边—端”三级组织架构[6],如图1所示。
图1 海上战术云组织架构
云骨干节点:由编队指挥舰、海上预警机、航母、岸基指挥所等战术行动核心指挥平台节点组成,依托舰载云、机载云和岸基云数据中心等多云环境,在逻辑层面形成战术云骨干节点,支持对海上战术行动提供完备的作战资源服务及数据全集承载,为各类作战活动提供全局信息资源池和服务。
云边缘节点:由单舰艇平台、作战飞机平台等节点组成,是位于战术前沿的舰载云,支持将平台内各类探测感知终端、指控终端、无人设备等资源引接到战术云体系中,支持与云节点进行计算服务协同调度。
端设备:由平台内部各类探测感知终端、指控终端等平台内端设备,以及无人机、无人艇、UUV等小型平台设备组成,是战术云终端资源构成。
2.2 信息资源服务架构
海上战术云面向海上作战空间移动平台战术级作战需求,以舰载、艇载、机载等平台内计算服务资源为主体,以岸基数据中心为支撑,提供无线信道下跨平台协同信息资源服务,支持移动平台间服务即插即用、灵活组配,确保信息快速按需共享。如图2所示,海上战术云信息资源服务整体分为资源层、服务层和应用层[7]。
图2 信息资源服务架构
1)资源层
资源层由战术云各类平台内各类资源组成,包括系统资源池和作战资源池。系统资源包括分布在各个平台的计算资源、存储资源、数据资源和通信资源,作战资源池包括各平台传感器、电子对抗、武器、指挥控制等系统所提供的应用服务资源。
2)服务层
服务层包括基础资源服务以及协同支撑服务组成。其中,基础资源服务提供平台内基础服务支撑;协同支撑服务重点建立战术云节点间信息服务基础设施,支持跨平台间战术应用服务协同、数据信息协同等支撑。
基础资源服务提供节点内资源虚拟化及基础资源支撑管理服务。在虚拟化资源池的基础上,支持节点内计算存储服务、安全运维服务,对资源进行监控并实现调度管理,实现信息接入、信息传输管理,支持底层信息交换。
协同支撑服务主要实现对战术云跨平台信息资源的集成支撑,主要包括信息服务总线、节点控制管理服务、服务支撑环境、数据支撑环境等组成。信息服务总线提供有线无线融合的消息通信基础环境,为战术云信息资源服务集成提供基础信息交换通道,同时支持对信息的传输、组织、内容、集群、路由等方面的管理功能。节点控制管理服务实现跨平台的信息资源集成管理,形成分布式资源目录,对各节点的信息资源进行分布式注册和访问,并进行统一的节点组织管理和资源按需调度。服务支撑环境提供服务实例的生命周期支撑和管理功能,支持软件开发、发布、部署、运行等。数据支撑环境提供节点数据的管理功能,支持大规模数据处理、数据分析及数据检索。
3)应用层
应用层面向战术应用,在协同支撑服务的基础上,提供支撑战术行动的指挥控制、态势感知、武器控制等应用服务,支持海上作战任务。
资源层以及基础资源服务重点实现对战术云各节点资源进行虚拟化、服务化;协同支撑服务及战术应用层实现将分布式各类资源服务进行有效集成,形成战术云分布式全局资源服务,构成战术云协同共享交互环境。
3 信息服务总线构建技术
信息服务总线借鉴RabbitMQ、ActiveMQ等消息中间件(MOM)技术思路,结合有线无线通信手段,形成分布式信息交换基础支撑。对于战术云节点,支持将各类节点内应用端、小型无人平台节点终端等接入,建立信息绑定、信息交换、信息路由等系列处理环节,提供信息服务总线整体支撑,支持点对点、组播/广播、发布订阅等基础支撑方式。信息服务总线构建如图3所示。
图3 信息服务总线
在物理层面,代理服务器用于提供和维护消息传递的路线,保证数据能够依照定义的方式从消息生产者传递到消费者。
战术云信息服务总线支持多种有线无线的客户端接入方式,能够为各类应用客户端提供消息服务,包括为小型应用及无人平台提供轻量级的无线通信支持,兼容MQTT、CoAP等协议[8];为节点平台内部的一些应用提供实时通信支持,包含HTTP/REST调用等方式;为外部平台接入及内部应用提供异步通信支持,包括支持JMS、AMQP等协议[9];同时,为其他固有的大型应用系统提供企业服务总线接入方式。
信息服务总线的资源层可以划分为交换层和绑定层[10]。交换层主要由主题构成,对传入的信息进行高效处理和组织划分,决定消息的路由,实现信息交换;绑定层主要由消息队列构成,实现主题与队列、消息与接收客户端的绑定,根据路由信息将各个主题的消息传递到指定队列,接受客户端从绑定的队列中依次取出消息进行处理。
在逻辑层面,信息服务总线支持多种消息传输方式,包括点对点模式、组播/广播模式和发布/订阅模式,能够实现消息的一对一、一对多、多对多传输。针对信息的不同应用场景,提供灵活路由、按需调整传递范围及传输效率的支持。
4 信息服务高可用集群技术
在战术云的实际应用场景中,需要部署多个消息代理服务器以实现信息服务的高可用性、保证消息的传递效率。目前,消息代理服务器的高可用组织模式包括集群模式、主从模式和代理网络模式三种。
4.1 集群模式
集群模式将多个消息服务器节点连接在一起,形成一个单一的逻辑代理,可用来提供高可用性和增加吞吐量。消息服务器集群为对等结构,所有节点都是相等的对等点,没有特殊节点,单个节点的故障或重启不会对使用造成影响。
消息服务器操作所需的所有数据和状态都会被自动复制到集群的所有节点中,同步内容包括主题、用户、权限等。集群中的队列较为特殊,在默认情况下位于单个节点上,但是对连接到集群中的任何节点的客户端都是可见的,并且可以从所有节点访问。
集群模式的优点是在所有模式中性能最高,缺点是在单个节点故障期间,未被消费的消息可能会丢失,或消息的实时性将会受到影响。消息丢失问题可以使用消息持久化方法来解决,通过同步刷盘保证消息不会丢失;通过将队列镜像分布在集群中的各个节点,使得在某节点故障时消息仍然能够被消费,保证实时性[11]。
队列镜像允许跨多个集群节点复制队列内容,集群队列因此提高了可用性。每个镜像队列由一个主队列和一个或多个镜像组成。主队列托管在一个主节点上,每个队列都有自己的主节点。无论用户连接到哪个节点,都与主队列连接在一起,对给定队列的所有操作(包括入队发布、向消费者传递消息、跟踪消费者的确认信息等)首先应用于队列的主节点,然后传播到镜像。发布到队列的消息被复制到所有的镜像,而镜像则会删除在主队列上已被确认的消息。如果承载队列主队列的节点失败,则同步程度最高的镜像将被提升为新的主队列。队列通过策略启用镜像,并且策略可以随时改变和应用。镜像策略有三种模式,分别是镜像到所有节点、设置镜像数量限制以及镜像到列出的节点。
集群的组成可以动态地改变,集群形成方式包括静态配置方式和动态发现方式两类。静态配置方式使用手动编辑配置文件列出集群节点;动态发现方式采用对等发现方法,可以借助其它工具,如基于DNS的发现、使用AWS(EC2)实例发现、使用Kubernetes发现、基于Consul的发现、基于etcd的发现等方式。所有的对等发现机制都假设新加入的节点能够与集群中的对等节点进行联系,并成功地与它们进行身份验证。
4.2 主从模式
独立消息代理服务器可能带来的问题是,消息只由一个物理代理所拥有,如果该代理发生故障,只有在配置了消息持久化并且等待代理重新启动后,才能进行消费,而如果消息没有持久化,则通常会丢失消息。
主从模式使得每个主代理节点都有至少一个从节点,消息使用同步或异步的方式复制到从节点上。主节点可以进行读写操作,而从节点只能进行消息读取。如果主节点发生故障,将会立即故障转移到从节点。
这种模式能够在主节点故障的情况下保证消息的实时性,在同步双写的模式下避免消息丢失;与多主代理组成的集群相比,多主多从的消息代理集群性能几乎不受影响。存在的问题是,使用异步复制的同步方式仍然有可能导致消息丢失;同步双写方式则会导致发送单个消息的往返时延会略长,性能将会有所下降[12]。
在一些消息中间件中,主从模式精简为通道方式,不再是实现主代理节点所有内容的备份,而是只实现某些关键主题或队列的备份,提高性能。通道方式能够可靠地、持续地将消息从一个代理或集群中的源(主题或队列)转移到另一个代理或集群中的目标(主题或队列)。可以通过指定每个通道的多个源和/或目标URI来确保通道可以在源或目标集群的不同节点上故障转移。
其主要优势在于:1)松耦合,在不同的管理域中,通道可以在代理或集群之间移动消息,它们可能有不同的用户和虚拟主机、运行在不同版本上、甚至可能是不同的代理产品;2)广域网友好,通道插件使用客户端连接来在代理之间进行通信,并且设计为能够容忍断断续续的连接,而不会有消息丢失;3)高度可裁减;4)支持多种协议。
4.3 代理网络模式
将多个消息代理服务器连接成代理网络,基于客户端数量和需求运行任意数量的消息代理并组成任意网络拓扑结构,不仅可以避免单点故障,还能够为大型消息系统提供极大的可伸缩性。
消息客户端可以连接到任何代理,并进行故障转移。代理网络提供消息的存储与转发功能,能够将消息从生产者较多的代理传递到消费能力更强的代理,实现分布式主题和队列。代理网络连接默认为单向的,也可以实现双向连接。
这种模式的优势在于:1)节点或集群的松耦合,可以在不同的管理域之间传输代理(或集群)之间的消息;2)广域网友好,并且能够容忍断断续续的连接;3)特殊性,代理可以包含网络连接内容的和仅限本地的内容;4)具有连接节点数的可伸缩性,联合不需要n个代理之间的O(n2)连接,可以更好地扩展;5)可以灵活实现各种拓扑结构,如完整双向图、扇出和环。
在一些消息中间件中,代理网络可以划分为联合连接,允许一个代理或集群上的主题或队列接收来自一个或多个代理或集群的主题或队列上的消息。联合包括联合发布和联合队列两类。
1)联合发布通过一种单向点对点链接互相连接。如图4所示,发布到上游交换的消息被复制到下游,可以将上游发布的消息复制并路由到本地队列。
2)联合队列提供了一种方法来平衡单个队列在节点或集群上的负载,能够比单个队列具有更高的容量。如图5所示,联合队列允许本地消费者从上游队列接收消息,消息将在联合队列之间移动任意次数,以跟随消费者移动到空闲消费能力所在的位置。如果消息在到达联合交换后不会被路由到队列,那么它将不会在第一时间被转发,以确保消息只在需要时在联合队列之间传输。
图4 联合发布
图5 联合队列
1)使用联合需要配置两项内容:
2)上游或上游集:定义到其他节点的联合连接;
策略:用于匹配一个或多个主题、队列,并将单个上游或上游集应用于这些对象。
集群可以像单个代理一样使用联合链接在一起。如果集群为下游:在集群任意节点上定义的策略和参数,将应用于所有节点;联合发布链接将从下游集群中的任何节点开始,并能够故障转移;队列联合链接将从与下游队列相同的节点开始,如果下游队列被镜像,将从与主节点相同的节点开始,并且如果现有主节点在运行时崩溃或停止,将在与新的主节点相同的节点上重新创建。如果集群为上游:可以在单个上游指定多个URI,联合链接过程将在每次尝试连接时随机选择其中一个URI。
5 典型战术云组织应用
战术云信息服务总线组织应用如图6所示。每个骨干云节点内部包括两个集群,分别为全局集群和本地集群。全局集群用于与其他外部节点进行信息交换,数据共享;本地集群用于收集和处理本地传感器和应用的消息,管理本地资源。两个集群通过代理网络连接进行信息交换。集群内部的消息代理服务器采用主从模式,形成多主多备集群,最大程度保证信息服务的高可用性和容灾能力。
图6 战术云组织应用
在各骨干云节点的全局集群之间建立双向代理网络连接,目的是集群内的信息资源可以随时匹配上游进行信息交互共享,形成一体化信息资源池及全局数据支撑服务。边缘云节点与附近的骨干云节点动态建立代理网络连接,支持边缘作战节点与编队中心及时进行信息共享及数据交换,接收指挥控制消息。无人机、无人艇等资源受限的端节点作为消息客户端,按需与边缘云消息集群或骨干云消息集群建立连接,处理计算存储任务,接收行动控制消息。
图7 战术云信息服务总线应用
战术云节点内部的信息服务总线应用如图7所示。在各集群内部按照所需功能如指挥决策、态势感知、作战行动等划分主题,为每个接收客户端分配队列资源并按需绑定相关主题。节点内各作战资源、作战系统应用与云资源的监控服务作为消息客户端,与本地消息集群中的主题建立订阅/发布关系、与队列建立绑定关系。同时,为保证一些作战指挥信息的实时性与安全性,允许节点内的各作战系统与各类作战资源进行点对点连接;允许外部端节点消息客户端进行点对点连接。为及时发布告警信息并保证各类消息客户端能够及时接收并响应,支持探测资源、电子对抗资源、各作战系统以及外部边缘节点客户端进行消息广播。
6 结语
海上作战环境节点组织灵活多变、网络带宽受限、信息类型多样,传统的数据共享方法,难以实现异构信息系统之间的互操作,阻碍了数据信息在海战场各单位间的共享程度。本文基于边缘计算、云计算等技术,围绕海上战术云信息服务体系化构建,提出了“云—边—端”三层组织结构,对海上移动平台节点进行组织划分;设计了海上战术云信息资源服务架构,为信息服务提供高效可靠的支撑环境,支持分布式移动节点间信息服务即插即用、灵活组配,确保信息快速按需共享;基于消息中间件技术进行战术云信息服务总线构建设计,形成分布式信息交换基础支撑,支持各种有线无线通信接入;重点研究了信息服务高可用集群技术,通过划分三种不同的信息服务器节点组织模式,实现信息服务的按需调度、容灾备份、抗毁接替;最后对战术云信息资源服务的典型组织应用场景进行了演示。
海上战术云是基于联合作战的网络信息体系面向海上作战的落地与延伸,海上战术云的信息资源服务架构具有“灵活解耦、跨域融入、一体化调度、全分布式共享、健壮抗毁、柔性应变”等特征,对于未来海上战术云的体系结构设计和实际应用具有参考和借鉴意义,能够为一体化作战提供支持。今后的研究工作将集中在海上战术云演示验证环境搭建、资源协同调度设计与实现、战术云信息服务与微服务的结合等方面。