论文部分内容阅读
摘 要: 目前我国海域监管手段单一,缺乏早期预警识别和连续跟踪监视能力,严重制约我国海洋强国战略的深入实施。本系统基于卫星、航空平台、通信终端产品等现有硬件基础,采用微服务技术架构,构建天空基协同广域目标识别与监视平台,对我国管辖海域内海上移动目标、海域利用活动和岛礁变化等典型目标识别与监视需求,构建“天、空、地”一体化监视体系,形成具有大范围早期预警和连续跟踪能力的海上目标识别与监视系统。
关键词: 微服务;天空基;海上目标识别
【Abstract】: At present, China's maritime monitoring means are single, lack of early warning identification and continuous tracking and monitoring ability, which seriously restricts the in-depth implementation of China's maritime power strategy.This system based on the existing hardware, such as satellite, aerial platform and communication terminal products. Using microservice technical architecture building space target recognition and monitoring platform together, for the typical target identification and monitoring requirements in the sea areas under China's jurisdiction, such as moving targets at sea, utilization activities in sea areas and changes of islands and reefs, build an integrated "sky, air and ground" surveillance system, form a maritime target identification and surveillance system with large-scale early warning and continuous tracking capabilities.
【Key words】: Microservice; Space-sky; Maritime target identification
0 引言
目前我國管辖的大部分海域尚未全面监控,只能通过执法船巡航、卫星遥感等手段予以事后应对,监管手段单一,时效性差,缺乏早期预警识别和连续跟踪监视能力,严重制约我国海洋强国战略的深入实施。本系统基于天基卫星数据应用基础、航空平台基础、通信终端产品等现有硬件基础,构建天空基广域监视平台感知体系,对我国管辖海域内海上移动目标(船只等)、海域利用活动(围填海、海上石油平台等构筑物用海)和岛礁变化等典型目标识别与监视需求,构建“天、空、地”一体化监视体系,形成具有大范围早期预警和连续跟踪能力的海上目标识别与监视系统。
本系统业务需求复杂,可靠性要求较高,如果采用单体应用系统在业务需求变更时工作较为复杂,导致系统无法持续工作,为满足项目敏捷开发、持续交付、高可靠、易维护等需求,系统采用Spring Cloud微服务架构,将系统分解为多个服务组件,通过Spring Boot构建服务组件,服务之间采用REST API方式完成服务调用与数据交互(JSON格式),在响应速度和稳定性等方面较传统模式有明显提升。
1 微服务设计思想
传统应用采用单体式架构,在异构平台互操作、接口统一描述等方面存在的局限,会导致集成系统缺乏可扩展性、异构平台间的互操作性差等不足,随着SOA、微服务及分布式数据库等技术体系的发展,基于SOA等技术体系的软件设计架构成为主流,但整体架构不支持异构,无法有效利用资源。由于本系统业务复杂性较高,涉及与中心多个业务系统、现场指控系统和多个外部支持系统之间的交互,传统模式下会导致服务部署与维护异常复杂,一个问题可能会引起整个应用的崩溃,而且随着复杂度的增加,代码耦合度越来越高,牵一发而动全身,后期代码很难修改和重构,导致系统的扩展性较差。在本系统设计之初综合考虑以上问题,提出了基于微服务技术的软件架构设计,将应用拆分为多个高内聚、低耦合的小型服务,每个小服务运行在独立进程,由不同的团队开发和维护,服务间采用轻量级通信机制,独立自动部署,形成一种动态、可扩展的架构,实现跨平台、跨系统、跨语言的应用系统的集成[1-2]。微服务的松耦合、去中心化等特性,有利于服务的扩展和便捷运行维护,可以实现自动部署,某个服务的更新和部署不会影响其他的服务,此外,微服务采用的都是轻量级的协议(如REST)和数据格式(如JSON),非常易于扩展,极大提升了系统的可靠性、可扩展性和维护性[3]。
2 系统架构设计
海上目标识别与监视以面向早期大范围预警、海上目标识别和多基协同连续跟踪的业务服务为目标,借助大数据的分布式存储、分布式处理、并行计算技术,针对实时态势等大数据的特点和具体使用情况,采用微服务架构,支撑“天、空、地”多元异构感知数据接入处理能力、并发写入能力、存储与管理能力、高效查询能力、并行分析计算能力以及对外服务能力等需求,支撑海量海洋感知数据存储、支持态势业务系统长时间动态运行、支持数据并行的计算、分析、挖掘、支持对历史数据快速查询访问、支持历史态势数据快速回放[4-5],系统架构如图1所示。 本系统功能复杂,涉及到与多个外部系统的交互,从整个业务流程及后期部署维护灵活性等方面进行充分考虑,该系统在架构设计方面采用微服务架构设计理念,将系统划分为功能相对独立的多个服务,从封装形式、接口设计、灵活性、扩展性等方面提供了技术方法。
本系统遵循模块化分层设计思想,采用BS与CS混合的架构设计,基于 Docker 服务集群对微服务进行部署,便于服务的扩展和伸缩[6-7]。系统各后端服务模块均采用Springboot的Java技术框架,使用Netflix完成服务组件注册管理,API网关封装了系统内部微服务架構,为每个服务调用者提供一个定制的API,统一完成身份验证、监控、负载均衡、缓存等处理,通过服务调用限流、熔断机制、负载均衡等措施,各个服务都可以单独开发、部署,最终通过服务之间组合与调用对外完成系统功能。各服务之间采用JS对象标记(JavaScript Object Notation,JSON)封装的符合表述性状态传递(Representational State Transfer,REST)的接口设计风格,为第三方应用提供统一的调用服务。通过对服务模块的最大限度的拆分,体现了微服务化的设计理念,大幅提高系统部署灵活性、可扩展性和可维护性,保证系统的健壮性[8-10]。
接口层通过Nignx和NodeJS应用来实现负载均衡和接口控制,从而实现在线升级过程中应用服务的自动切换,应急条件下的系统备份。消息中间件支持大规模连接和分布式集群,完整支持MQTTV3.1版本协议规范,并扩展支持WebSocket、Stomp、CoAP、MQTT-SN或私有TCP协议,具有出色的软实时、低延时、分布式等特性。
3 系统组成
空天协同目标识别与监视系统包括天空基地面处理系统和空基现场指挥与数据快速处理系统两部分,具体内容如下:
天空基地面处理系统部署在指挥中心,采用B/S架构设计,综合分析天基和空基覆盖能力,通过多星协同推演特定时间、特定地点的卫星覆盖情况以及航空平台所在地区航空遥感能力覆盖情况等,形成空天协同数据资源任务规划最优方案,实现遥感卫星与航空平台数据获取任务的全面规划和实时监视。同时,结合固定目标识别算法,实现基于可见光、合成孔径雷达、红外的海上固定目标(岛礁、大陆岸线、海域开发利用)的识别与提取,对天空基获取的实时数据进行处理、高效存储、检索等管理,实现对海域开发利用活动和岛礁变化的监测,将识别出的固定目标与权属信息对比,生成监测结果,对超出警戒范围情况生成预警信息,提供给综合业务管理平台进行决策,所有成果数据统一发布于二三维GIS平台进行可视化展示。
空基现场指挥与数据快速处理系统部署于空基作业现场,采用C/S架构设计,主要功能包括数据传输链路监控、载荷监控、实时视频播放与处理、数据处理与管理、航迹规划等无人机指挥测控系统通用性功能,实现对现场任务执行前、中、后三个阶段的全程监管以及天基、空基遥感数据的融合处理,结合移动目标识别算法,对船只的非法捕捞、非法测绘、非法闯入、异常停泊等行为进行实时监视,结合AIS等外部支援数据,对动态目标进行分析,对入侵的非法船只生成预警信息,提供给综合业务管理平台进行用户决策。
4 结论
随着微服务架构和 Docker 容器技术的持续火热,很多公司的系统架构走向微服务化已经成为趋势,本文通过分析传统单体式架构的不足,结合系统业务特点,提出了基于微服务的系统架构,对天空基目标识别与监视平台体系架构设计和系统功能组成进行介绍,通过将微服务架构引入平台设计,实现了平台中各个服务的低耦合、易扩展、可伸缩,为平台的升级和维护提供了便利,极大提升了系统各项性能指标,为管辖海域内海上目标识别与监视实现业务化运行提供了坚实基础。
参考文献
[1]欧阳荣彬, 王倩宜, 龙新征. 基于微服务的数据服务框架设计[J]. 华中科技大学学报(自然科学版), 2016, (S1): 143-147.
[2]杜圣东, 杨燕, 滕飞. 交通大数据: 一种基于微服务的敏捷处理架构设计[J]. 大数据, 2017, 3(3): 53-67.
[3]洪华军, 吴建波, 冷文浩. 一种基于微服务架构的业务系统设计与实现[J]. 计算机与数字工程, 2018, 46(1): 149: 154.
[4]黄超, 唐子蛟. 基于云计算技术的智慧校园平台建设研究[J]. 软件, 2018, 39(5): 27-30.
[5]尹航, 杨欢, 崔海斌, 等. 基于大数据应用的虚拟化云平台建设方法研究[J]. 软件, 2018, 39(4): 201-207.
[6]高礼, 高昕. Docker 技术在软件开发过程中的应用研究[J]. 软件, 2016, 37(3): 110-113.
[7]马越, 黄刚. 基于Docker 的应用软件虚拟化研究[J]. 软件, 2015, 36(3): 10-14.
[8]王方旭. 基于Spring Cloud 实现业务系统微服务化的设计与实现[J]. 电子技术与软件工程, 2018(4): 60-61.
[9]黄沛. 基于RESTful架构的科技信息共享接口系统的设计[J]. 软件, 2018, 39(7): 170-172.
[10]王二伟, 姚文斌. 一种基于REST 的物联网资源模型和分布策略[J]. 软件, 2015, 36(12): 128-131.
关键词: 微服务;天空基;海上目标识别
【Abstract】: At present, China's maritime monitoring means are single, lack of early warning identification and continuous tracking and monitoring ability, which seriously restricts the in-depth implementation of China's maritime power strategy.This system based on the existing hardware, such as satellite, aerial platform and communication terminal products. Using microservice technical architecture building space target recognition and monitoring platform together, for the typical target identification and monitoring requirements in the sea areas under China's jurisdiction, such as moving targets at sea, utilization activities in sea areas and changes of islands and reefs, build an integrated "sky, air and ground" surveillance system, form a maritime target identification and surveillance system with large-scale early warning and continuous tracking capabilities.
【Key words】: Microservice; Space-sky; Maritime target identification
0 引言
目前我國管辖的大部分海域尚未全面监控,只能通过执法船巡航、卫星遥感等手段予以事后应对,监管手段单一,时效性差,缺乏早期预警识别和连续跟踪监视能力,严重制约我国海洋强国战略的深入实施。本系统基于天基卫星数据应用基础、航空平台基础、通信终端产品等现有硬件基础,构建天空基广域监视平台感知体系,对我国管辖海域内海上移动目标(船只等)、海域利用活动(围填海、海上石油平台等构筑物用海)和岛礁变化等典型目标识别与监视需求,构建“天、空、地”一体化监视体系,形成具有大范围早期预警和连续跟踪能力的海上目标识别与监视系统。
本系统业务需求复杂,可靠性要求较高,如果采用单体应用系统在业务需求变更时工作较为复杂,导致系统无法持续工作,为满足项目敏捷开发、持续交付、高可靠、易维护等需求,系统采用Spring Cloud微服务架构,将系统分解为多个服务组件,通过Spring Boot构建服务组件,服务之间采用REST API方式完成服务调用与数据交互(JSON格式),在响应速度和稳定性等方面较传统模式有明显提升。
1 微服务设计思想
传统应用采用单体式架构,在异构平台互操作、接口统一描述等方面存在的局限,会导致集成系统缺乏可扩展性、异构平台间的互操作性差等不足,随着SOA、微服务及分布式数据库等技术体系的发展,基于SOA等技术体系的软件设计架构成为主流,但整体架构不支持异构,无法有效利用资源。由于本系统业务复杂性较高,涉及与中心多个业务系统、现场指控系统和多个外部支持系统之间的交互,传统模式下会导致服务部署与维护异常复杂,一个问题可能会引起整个应用的崩溃,而且随着复杂度的增加,代码耦合度越来越高,牵一发而动全身,后期代码很难修改和重构,导致系统的扩展性较差。在本系统设计之初综合考虑以上问题,提出了基于微服务技术的软件架构设计,将应用拆分为多个高内聚、低耦合的小型服务,每个小服务运行在独立进程,由不同的团队开发和维护,服务间采用轻量级通信机制,独立自动部署,形成一种动态、可扩展的架构,实现跨平台、跨系统、跨语言的应用系统的集成[1-2]。微服务的松耦合、去中心化等特性,有利于服务的扩展和便捷运行维护,可以实现自动部署,某个服务的更新和部署不会影响其他的服务,此外,微服务采用的都是轻量级的协议(如REST)和数据格式(如JSON),非常易于扩展,极大提升了系统的可靠性、可扩展性和维护性[3]。
2 系统架构设计
海上目标识别与监视以面向早期大范围预警、海上目标识别和多基协同连续跟踪的业务服务为目标,借助大数据的分布式存储、分布式处理、并行计算技术,针对实时态势等大数据的特点和具体使用情况,采用微服务架构,支撑“天、空、地”多元异构感知数据接入处理能力、并发写入能力、存储与管理能力、高效查询能力、并行分析计算能力以及对外服务能力等需求,支撑海量海洋感知数据存储、支持态势业务系统长时间动态运行、支持数据并行的计算、分析、挖掘、支持对历史数据快速查询访问、支持历史态势数据快速回放[4-5],系统架构如图1所示。 本系统功能复杂,涉及到与多个外部系统的交互,从整个业务流程及后期部署维护灵活性等方面进行充分考虑,该系统在架构设计方面采用微服务架构设计理念,将系统划分为功能相对独立的多个服务,从封装形式、接口设计、灵活性、扩展性等方面提供了技术方法。
本系统遵循模块化分层设计思想,采用BS与CS混合的架构设计,基于 Docker 服务集群对微服务进行部署,便于服务的扩展和伸缩[6-7]。系统各后端服务模块均采用Springboot的Java技术框架,使用Netflix完成服务组件注册管理,API网关封装了系统内部微服务架構,为每个服务调用者提供一个定制的API,统一完成身份验证、监控、负载均衡、缓存等处理,通过服务调用限流、熔断机制、负载均衡等措施,各个服务都可以单独开发、部署,最终通过服务之间组合与调用对外完成系统功能。各服务之间采用JS对象标记(JavaScript Object Notation,JSON)封装的符合表述性状态传递(Representational State Transfer,REST)的接口设计风格,为第三方应用提供统一的调用服务。通过对服务模块的最大限度的拆分,体现了微服务化的设计理念,大幅提高系统部署灵活性、可扩展性和可维护性,保证系统的健壮性[8-10]。
接口层通过Nignx和NodeJS应用来实现负载均衡和接口控制,从而实现在线升级过程中应用服务的自动切换,应急条件下的系统备份。消息中间件支持大规模连接和分布式集群,完整支持MQTTV3.1版本协议规范,并扩展支持WebSocket、Stomp、CoAP、MQTT-SN或私有TCP协议,具有出色的软实时、低延时、分布式等特性。
3 系统组成
空天协同目标识别与监视系统包括天空基地面处理系统和空基现场指挥与数据快速处理系统两部分,具体内容如下:
天空基地面处理系统部署在指挥中心,采用B/S架构设计,综合分析天基和空基覆盖能力,通过多星协同推演特定时间、特定地点的卫星覆盖情况以及航空平台所在地区航空遥感能力覆盖情况等,形成空天协同数据资源任务规划最优方案,实现遥感卫星与航空平台数据获取任务的全面规划和实时监视。同时,结合固定目标识别算法,实现基于可见光、合成孔径雷达、红外的海上固定目标(岛礁、大陆岸线、海域开发利用)的识别与提取,对天空基获取的实时数据进行处理、高效存储、检索等管理,实现对海域开发利用活动和岛礁变化的监测,将识别出的固定目标与权属信息对比,生成监测结果,对超出警戒范围情况生成预警信息,提供给综合业务管理平台进行决策,所有成果数据统一发布于二三维GIS平台进行可视化展示。
空基现场指挥与数据快速处理系统部署于空基作业现场,采用C/S架构设计,主要功能包括数据传输链路监控、载荷监控、实时视频播放与处理、数据处理与管理、航迹规划等无人机指挥测控系统通用性功能,实现对现场任务执行前、中、后三个阶段的全程监管以及天基、空基遥感数据的融合处理,结合移动目标识别算法,对船只的非法捕捞、非法测绘、非法闯入、异常停泊等行为进行实时监视,结合AIS等外部支援数据,对动态目标进行分析,对入侵的非法船只生成预警信息,提供给综合业务管理平台进行用户决策。
4 结论
随着微服务架构和 Docker 容器技术的持续火热,很多公司的系统架构走向微服务化已经成为趋势,本文通过分析传统单体式架构的不足,结合系统业务特点,提出了基于微服务的系统架构,对天空基目标识别与监视平台体系架构设计和系统功能组成进行介绍,通过将微服务架构引入平台设计,实现了平台中各个服务的低耦合、易扩展、可伸缩,为平台的升级和维护提供了便利,极大提升了系统各项性能指标,为管辖海域内海上目标识别与监视实现业务化运行提供了坚实基础。
参考文献
[1]欧阳荣彬, 王倩宜, 龙新征. 基于微服务的数据服务框架设计[J]. 华中科技大学学报(自然科学版), 2016, (S1): 143-147.
[2]杜圣东, 杨燕, 滕飞. 交通大数据: 一种基于微服务的敏捷处理架构设计[J]. 大数据, 2017, 3(3): 53-67.
[3]洪华军, 吴建波, 冷文浩. 一种基于微服务架构的业务系统设计与实现[J]. 计算机与数字工程, 2018, 46(1): 149: 154.
[4]黄超, 唐子蛟. 基于云计算技术的智慧校园平台建设研究[J]. 软件, 2018, 39(5): 27-30.
[5]尹航, 杨欢, 崔海斌, 等. 基于大数据应用的虚拟化云平台建设方法研究[J]. 软件, 2018, 39(4): 201-207.
[6]高礼, 高昕. Docker 技术在软件开发过程中的应用研究[J]. 软件, 2016, 37(3): 110-113.
[7]马越, 黄刚. 基于Docker 的应用软件虚拟化研究[J]. 软件, 2015, 36(3): 10-14.
[8]王方旭. 基于Spring Cloud 实现业务系统微服务化的设计与实现[J]. 电子技术与软件工程, 2018(4): 60-61.
[9]黄沛. 基于RESTful架构的科技信息共享接口系统的设计[J]. 软件, 2018, 39(7): 170-172.
[10]王二伟, 姚文斌. 一种基于REST 的物联网资源模型和分布策略[J]. 软件, 2015, 36(12): 128-131.