基于微服务的海上目标综合业务管理平台的设计与实现
2021-09-10李丹王厚军曹海
李丹,王厚军,曹海
(国家海洋技术中心 天津 300112)
0 引言
自21世纪以来,人类进入大规模开发利用海洋的时期,海洋在国家经济发展和对外开放中的作用更加重要。我国是海洋大国,党中央、国务院高度重视海洋事业的发展,党的十八大提出建设海洋强国的重大部署,党的十九大明确提出“坚持陆海统筹,加快建设海洋强国”。
近年来,随着大数据和物联网技术的飞速发展[1],我国海洋监视监测的信息化水平不断提升,已逐步形成对管辖海域的“天、空、船、岸”一体化综合监视监测体系。在此基础上,构建海上目标识别与监视监测综合业务管理平台可满足对海上移动目标、岛礁变化和海洋开发利用活动等大范围的早期预警和连续跟踪监视监测需求,对深入实施海洋强国战略具有重大意义。
微服务是近年来受关注度较高且较受开发者青睐的系统架构模式,其采用面向服务化的拆分原则,将1个系统拆分为多个微小的服务应用。这些服务应用可独立进行设计、开发和维护,彼此之间通过通信协议进行调用与配合,从而实现复杂的整体系统功能[2]。与传统的系统开发模式相比,微服务架构具有系统模块间耦合度低、易于扩展和维护、可靠性高以及便于开发等特点。本研究基于微服务架构设计海上目标综合业务管理平台,系统组件全部采用微服务架构,从而降低系统组件间的耦合度、提高系统的可靠性和开发效率以及易于后期系统功能的扩容。
1 微服务体系
传统的系统开发主要采用单体式的架构模式,其特点是所有的功能模块都在同一个工程下,导致开发过程受开发技术栈的限制,同时不利于业务模块的纵向扩展;随着时间的推移和人员的更迭,代码会变得越来越晦涩难懂,不利于系统的后期维护[3]。
微服务架构的核心思想是根据业务需求的独立性和重复使用的频率,将大型和复杂的应用分解为多个微小的服务应用[4]。各应用之间功能独立,可采用不同的技术栈独立开发与部署,且随着系统业务的不断深入,可根据业务发展的实际需求进行功能扩展与优化[5-6]。不同的微小服务应用之间通过轻量级的交互方式通信(如RPC 和HTTP)。微服务架构就是通过这种方式将各种微小服务应用组合成复杂的业务系统。
微服务架构主要具有5个优势特性[7]:①技术异构性,即在由多个服务相互协作的系统中,可在不同的服务中使用最适合该服务的技术;②弹性,即如系统中的某个组件不可用,其他组件还可正常运行,而不会导致级联故障;③扩展性,即可仅对需要扩展的服务进行扩展;④部署简化性,即各服务的部署是相互独立的,可更快地对特定部分的代码进行部署,如果在部署中出现问题也只会影响某一个服务,且容易快速回滚;⑤可组合性,即可根据不同的需求和通过不同的方式使用同一个功能。
2 系统架构
2.1 业务需求
海上目标综合业务管理平台是能够接收并分析“天、空、船、岸”多元异构感知数据,采用深度融合和数据挖掘等关键技术,实现海上目标行为预测的综合性管理平台。该系统的业务需求复杂,涉及的监视监测设备类型多样,对数据分析的深度和广度要求较高,因此须针对3项难点问题提出合适的解决方案。
2.1.1 系统集成和扩展
针对海上目标识别的业务需求,综合业务管理平台须具备从“天、空、船、岸”多个监视监测平台获取数据的能力,还须综合考虑多源异构数据的获取方式。同时,为最大限度地实现数据共享,综合业务管理平台须与天空基广域监视分系统、船基前指监视分系统和岸基联合监视分系统等多个外部系统进行交互,实现对典型海上目标的早期预警、识别和跟踪,多基协同连续监控以及多源异构数据的深度融合和行为分析预测。
2.1.2 数据融合和分析
海上目标综合业务管理平台获取的数据类型多样,包括遥感影像数据、可见光视频数据、雷达数据、AIS数据和电磁侦测数据等。根据数据类型,融合方式可为协同式与非协同式相结合的模式。在协同式目标数据的融合过程中,如将AIS与雷达相结合,提高对协同式目标的识别和跟踪能力;在非协同式目标数据的融合过程中,如将电磁侦测数据与视频数据和行为分析等相结合,提高对非协同式目标的识别和跟踪能力。
2.1.3 协同监视监测和跟踪
多传感器协同连续监视监测充分利用多源异构传感器的特性,同时充分挖掘多传感器协同感知的潜力,实现相互引导和优势互补。根据综合业务管理平台的任务需求和区域态势的变化情况,结合重点监视监测目标的运动趋势和行为意图等信息,规划各类感知资源的探测任务和协同时机等。
2.2 微服务架构的选择
通过对目前主流开源微服务架构进行对比分析,并结合海上目标识别与监视监测业务的实际需求,本研究采用Spring Cloud 作为微服务系统架构。Spring Cloud可提供分布式系统解决方案,包含丰富和完整的框架和开发组件,使开发人员能够快速开发和部署系统,其中核心组件包括服务网关(Zuul)、服务注册(Eureka)、服务配置(Spring Config)、负载均衡(Ribbon)和熔断机制(Hystrix)。
Spring Boot[8]框架在继承Spring框架优势的基础上进一步优化,采用特定的配置方式,简化Spring应用的初始搭建以及整个系统开发过程,使开发人员摆脱繁琐的配置和依赖管理工作,而将更多的精力放在业务逻辑开发上。应用Spring Boot架构及其核心组件可将数据融合和协同监视监测等功能模块微服务化,并对各模块进行独立开发和部署,同时使系统具有快速集成的能力,实现与“天、空、船、岸”多个分系统的业务集成,并为后期其他业务功能的扩展预留接口。
2.3 微服务的划分
根据综合业务管理平台的业务需求和功能边界,可划分出11个独立运行的微服务。①数据管理微服务,主要负责与“天、空、船、岸”平台数据模块之间的通信,包括多源异构传感器的数据接收、数据解析、数据校验和数据库操作等;②图表展示微服务,主要负责将雷达和AIS等原始数据以及大数据分析、数据挖掘和遥感影像处理等后期处理数据通过图形和表格的方式面向用户展示,数据源由数据管理和行为分析微服务提供;③地图管理微服务,主要负责与天地图、ArcGIS 和Skyline等地图服务之间的通信,包括地图图层、事件、控件、配置和坐标变换等;④工作流管理微服务,主要负责多传感器协同连续监控,在目标协同探测方面分为共视区协同、跨区同类手段接力协同和异类手段引导协同3种工作模式,在区域联合协同方面分为早期发现、搜索跟踪、识别监视和调查取证4 种工作模式;⑤任务管理微服务,主要负责根据任务类型实现监视监测计划制定和资源调度等;⑥数据融合微服务,主要负责综合运用模糊匹配特征识别算法、时间片联合树推理算法、权重分析算法以及特征选择和分析算法等进行异构数据融合;⑦行为分析微服务,主要负责利用决策树和聚类等算法,从海量历史数据中探寻有关目标行为的模式或知识,发现潜在和隐含的海上目标行为特征;⑧固定目标管理微服务,主要负责对海洋开发利用活动和岛礁变化等固定目标进行管理,主要包括目标位置、目标属性和变化情况;⑨移动目标管理微服务,主要负责对海上船只进行管理,主要包括目标位置、目标属性以及实时和历史监视监测信息;⑩权限控制微服务,主要负责对系统各功能模块的访问权限进行管理;○1用户管理微服务,主要负责对系统用户类型和用户功能进行分组管理。
每个微服务均具有独立的服务接口,仅实现单一的业务功能,从而降低各服务之间的解耦度,便于系统的开发和部署。同时,对通用配置项进行统一管理,从而降低系统开发和维护的成本,以便进行系统整体的扩展和调试[9-10]。
2.4 总体架构设计
本系统采用Spring Boot的Java 技术框架,总体架构设计如图1所示。
图1 系统架构
当用户调用综合业务管理平台的服务时,服务请求经过Zuul API服务网关将系统内部的微服务架构进行封装,并统一向外系统提供REST API;Ribbon完成服务的调用和负载均衡;Eureka 完成服务的注册和订阅,并根据服务请求从已注册的服务列表中找到相应服务;Spring Config完成服务有关配置项的统一配置和管理,实现服务解耦;当系统应用中的某个服务出现异常时,Hystrix 的熔断机制使系统保持最低的可用性,而不会导致系统整体崩溃。
为缓解数据库的压力和提升服务运行的速度,采用REDIS作为数据缓存方案。将移动目标实时数据存储在内存中并设置失效时间,实现实时数据的快速查询和显示。
3 系统功能
海上目标综合业务管理平台与“天、空、船、岸”分系统相互配合,通过数据综合处理、目标识别和监视监测业务管理以及指挥调度等核心功能模块,共同完成海上目标预警、识别、跟踪、综合研判和产品制作等业务(图2)。
图2 系统功能
3.1 数据综合处理
天空基数据处理模块、船基数据处理模块和岸基数据处理模块通过信源激励接收雷达、AIS、电磁侦测、可见光/红外和遥感影像等原始数据。调用数据管理和数据融合微服务,对原始数据进行预处理、关联去重和初级识别等初级处理。再次调用数据融合和行为分析微服务,对初级处理结果进行综合识别、行为预测、异常发现和规则告警等数据综合处理。
3.2 目标识别和监视监测业务管理
通过业务驱动接收数据综合处理生成的辅助决策信息,调用固定目标管理和移动目标管理微服务,进行海洋开发利用活动监视监测、岛礁变化监视监测以及海上移动目标识别和监视监测,并通过图表展示和地图管理微服务将识别和监视监测结果进行界面化显示。
3.3 指挥调度
根据目标识别和监视监测业务管理的内容,调用任务管理微服务,制订指挥调度任务计划,并下发至天空基指挥调度模块、船基指挥调度模块和岸基指挥调度模块。各指挥调度模块调用工作流管理微服务,完成无人机、有人机、卫星影像、船载无人机、船载无人艇、临近浮台、雷达、电磁侦测和光电设备等资源的协同调度,实现对目标的有效监控与跟踪。
4 结语
本研究针对海上目标识别和监视监测的业务需求,分析传统的单体式系统开发模式的不足以及微服务架构的优势。基于微服务架构开发海上目标综合业务管理平台,可快速建立高内聚、可伸缩、易扩展和低耦合的业务系统。目前该平台已在海洋系统应用,为实现我国管辖海域内海上目标识别和监视监测业务的全面开展提供技术支撑,具有较高的应用价值。