体系任务仿真平台架构设计

2020-02-22 03:10周隆亮徐云鹏邓宗平
现代信息科技 2020年17期

周隆亮 徐云鹏 邓宗平

摘  要:面向装备体系化运用研究亟须统一共用、开放共享的仿真环境需求,文章提出一种基于云计算的仿真环境构建方案,采用云计算领域最新的Docker容器虚拟化技术,按资源层、基础服务层、应用服务层、应用层分层构建云仿真环境,设计便于部署运维的仿真应用微服务架构,形成可一致访问、按需服务的体系任务仿真平台,最后给出了体系任务仿真平台的优化建议。

关键词:体系仿真;Docker;微服务架构

中图分类号:TP391.9      文献标识码:A 文章编号:2096-4706(2020)17-0082-04

Abstract:The unified and open sharing of simulation environment is in urgent need,which is used to research on the systemic application of equipment. This paper proposes a simulation environment construction scheme based on cloud computing,which used the latest Docker container virtualization technology,The cloud simulation environment is construct according the resource layer,the basic service layer,the application service layer and the application layer. The micro-service architecture is designed to facilitate the deployment of operation and maintenance,so as to form a uniform access and on-demand service systems mission simulation platform. Finally,some optimization suggestions of systems mission simulation platform are given.

Keywords:systems simulation;Docker;micro-service architecture

0  引  言

近年来,随着美军的Suter、NIFC-CA等体系化作战系统的建设,并逐步应用于实战,大幅提升了作战能力,装备的体系化运用起到了作战效能倍增器的作用,正逐步成为联合作战不可或缺的关键要素。

与单装的作战应用研究相比,装备的体系化运用必然面临要素多样化、规模扩大化、关系复杂化等问题,需要装备论证、装备研制、装备试验鉴定、装备作战应用研究等相关方参与进来,基于统一的环境开展联合研究,如图1所示。

采用实装试验的方式进行装备体系化运用研究面临着组织协调难、周期长、成本高以及影响因素不可控等诸多问题。而在数字空间构建装备的仿真模型开展仿真试验,有助于快速掌握集成运用能力底数、验证战术战法、支撑作战效能评估,是装备体系化运用重要的研究手段。

传统的仿真模式一般基于局域网构建仿真验证环境,仿真引擎和仿真模型等都独立建设,数据格式和集成规范都自成体系,模型、数据资源的复用难度大,难以满足跨地域、多家单位开展联合研究的需求,亟须寻求新的仿真模式,统一联合研究环境,建立模型和数据的共建共享机制。

近年来,云计算技术已在互联网领域广泛应用,它将計算、数据存储、应用软件等资源作为服务通过网络提供给用户,这些资源能够快速被发现,呈现出按需分配、弹性计算和资源池化的特性,形成了基础架构即服务、平台即服务、软件即服务等多种服务模式。

借鉴云计算的理念,基于专用网络搭建云计算环境,部署体系任务仿真应用,为用户提供仿真服务,并在云上建立具有访问权限控制的数据中心,建立数据共享机制,形成统一共用的装备体系任务云仿真平台,可有效解决装备体系化运用联合研究面临的问题。

笔者在工作中亟须构建一个支持多方参与,可按需获取仿真服务,且具备模型共享能力的仿真环境,为装备体系化运用提供仿真研究环境,传统的基于局域网构建的仿真系统已难以适应新的需求,而云计算的技术优势恰恰可以较好地满足应用需求,笔者创造性地将仿真技术和云计算技术结合,基于云计算最新一代的Docker容器虚拟化技术,遵循微服务架构设计原则,开展体系任务仿真平台的架构设计,并搭建了原型系统,验证了技术可行性。

1  Docker虚拟化技术

虚拟化技术是云计算的基础技术,是实现资源抽象、隔离、解耦、封装的基础。传统的虚拟机虚拟化方式,仅能实现操作系统级粒度的虚拟化,而近年来以Docker为代表的容器虚拟化技术,可以实现更为细粒度的软件应用级虚拟化。

如图2所示,传统方式在硬件层面实现虚拟化需要有额外的虚拟机管理应用和虚拟机操作系统层;如图3所示,Docker容器是在操作系统层面上实现虚拟化,直接复用宿主机的操作系统,因此更加轻量级。

Docker虚拟化与传统方式的虚拟化特性[1]对比如表1所示。

正是由于Docker虚拟化技术突出的优点,使云计算从传统方式虚拟化条件下以操作系统为中心,重点关注硬件自动化管理,人与机器的解耦合,提高资源利用率发展到了以应用为中心的新阶段。重点解决应用的自动化管理,应用与操作系统的解耦;基础设施、应用交付、运维管理的标准化;获得弹性扩展、弹性伸缩、负载均衡、故障迁移、敏捷开发、持续交付、持续集成等问题,提升用户体验。

2  微服务架构

微服務架构是软件架构朝着灵活动态伸缩和分布式架构发展的一个重要方向,而容器虚拟化的日趋成熟,大大降低了微服务实施的成本,能最大限度地发挥微服务架构的优势。

微服务架构相比传统的单体应用架构的优势主要体现在单个服务复杂度可控、技术选型灵活、不同的服务可选择适合的技术体制,各服务部署环境独立,容错性好,便于扩展[2]。微服务架构的劣势在于微服务架构的应用是分布式应用,各微服务独立运行在不同的进程中,需要有进程间通信机制来支撑服务间通信,较之于单体应用架构,会增加大量的信息交互成本,加大部署集成的问题追踪难度;随着微服务数量增加,应用系统的管理复杂性也将增加,服务的多实例部署时,还需要额外的服务发现机制,使服务可被准确访问。

所以,需根据应用需求合理划分微服务,并不是划分的越多越好、越细越好,而是在发挥微服务架构的优势情况下,将微服务的规模控制在合理的范围,减小服务间的信息交互成本,降低服务集成的复杂度。

3  体系任务仿真平台设计

3.1  体系任务仿真平台体系架构

体系任务仿真平台主要包括云基础设施、云管理环境和仿真应用三个部分。其中,云基础设施是计算服务器、磁盘阵列、网络交换机等硬件资源;云管理环境可理解为云操作系统,提供云环境可正常运行的资源管理、用户管理以及应用管理等基础环境,为用户隔离底层具体实现,提供管理和运维的平台;仿真应用面向用户具体的任务需求,在云环境中部署、运行,为用户提供仿真验证服务。

体系任务仿真平台遵循分层构建的思路[3,4],如图4所示,划分为资源层(IaaS),基础服务层(IPaaS)、应用服务层(APaaS)和应用层(SaaS)。

资源层(IaaS):实现对计算资源、存储资源、网络资源、模型资源、数据资源的抽象和统一管理,便于被上层服务发现和使用。

基础服务层(IPaaS):云环境中的公共基础业务,包括用户管理、鉴权服务、负载均衡、通信服务等,是云环境可正常运行的基础。

应用服务层(APaaS):面向特定的用户应用需求,定制开发的应用,典型包括:用户管理中心、资源管理中心、应用管理中心、仿真应用服务。

应用层(SaaS):面向用户定制的人机交互工具,体系仿真平台考虑构建统一的平台门户,让各类用户以统一的方式使用仿真服务,针对不同类别的用户定制特定的仿真应用工具,满足用户的差异化需求。

3.2  仿真应用的微服务架构

体系任务仿真平台的基础设施和云管理环境的构建均可采用互联网领域成熟的解决方案,大量的基础服务均可采用开源软件。因此,体系任务仿真平台建设关键是要对仿真应用进行微服务改造,满足在Docker容器云环境部署运行要求,降低运维难度。

体系任务仿真软件在业务流程上可以划分为:模型维护、想定生成、系统部署、仿真推演和监视控制几个阶段,如图5所示。模型维护阶段,主要开展模型入库、模型组装,为想定编辑提供模型库信息、模型描述信息、兵力信息支撑;想定生成阶段,用户基于特定的仿真任务,制作想定文件或实验方案;系统部署阶段,根据待推演想定,部署模型计算调度系统;仿真推演阶段,按照仿真想定,驱动模型状态解算;监视控制阶段,查看实时态势,分析对抗过程。

结合体系任务仿真平台业务功能划分,遵循不同功能独立解耦,相似功能聚合的原则,将业务流程中的功能项,映射为具体的服务,实现仿真应用的微服务划分,如表2所示。

微服务的划分没有统一的标准,需综合考虑业务特点、运维难度、集成规模等因素,甚至可能在系统使用后,再次重构,迭代优化。

3.3  体系任务仿真平台运行架构

各类用户访问体系仿真服务都通过统一的平台门户登录,用户登录时,根据用户信息完成鉴权,确定各类用户的访问权限。

在云环境中为每一个用户分配独立的资源空间,用户可维护私有的仿真模型和用户数据,保证用户数据的安全隔离,同时也支持用对数据设定一定的共享权限,实现不同级别的共享访问控制。

用户通过访问云环境的应用管理中心,在云上部署运行仿真系统实例,用户退出登录后,销毁用户相关的仿真资源。

体系任务仿真平台的运行原理如图6所示。

用户访问仿真前端后,进行想定编辑等操作生成仿真想定,仿真想定统一由场景设计服务进行管理;用户在下发仿真运行的仿真控制命令后,任务推演服务向场景设计服务请求需要运行的仿真想定,并分发给模型管理调度服务完成仿真模型加载等初始化工作,任务推演服务作为仿真引擎,按节拍周期驱动仿真计算;模型管理调度服务将实时解算的模型状态数据推送至态势生成服务,由态势生成服务分析处理,形成态势数据,刷新仿真前端的态势显示。

4  体系任务仿真平台优化建议

(1)构建完善的安全体系,保证数据的安全。云计算给用户提供资源共享、灵活便利的访问服务、按需获取资源的能力,体现出开放性和共享性的特点,同时也面临诸如数据丢失、泄露、服务窃取等安全问题。不仅要保证物理设施安全,包括机房环境、通信线路、设备和电源等,具有灾难备份和恢复的能力;还要建立完善的用户认证和访问管理机制,用户在访问服务和数据时必须首先鉴权,鉴权通过才能执行访问,保证用户具有独立的数据资源空间。

(2)构建对等的离线集成联试环境,保证仿真模型开发联试效率。体系任务仿真平台遵循微服务架构进行服务划分,并在云环境中部署,运行状态监控依赖运行日志,因此,利用云环境进行仿真模型的集成联试不具可操作性。为保证仿真模型的开发集成效率,必须构建对等的离线集成联试环境,支持模型的断点跟踪调试,提升效率。

(3)持续推进模型优化。模型是仿真系统的灵魂,设计开发体系任务仿真平台的初衷就是要打破仿真系统独立设计、仿真模型独立开发,模型资源和仿真结果无法共享,难以构建联合研究机制的现状,所以,必须建立完善的仿真模型的注册、更新、退出、模型发现机制,持续优化模型,才具有生命力。

(4)持续提升云平台的性能,除了关注仿真应用本身的功能丰富完善,还需要持续改进高并发访问、负载均衡、资源分配调度、广域访问性能,提升用户体验。

5  结  论

本文面向装备体系集成化运用的仿真推演需求,结合云计算的技术优势,设计了支持云化部署的体系任务仿真平台,解决装备体系化运用联合研究无统一环境,模型数据无共享机制的问题,探索数字仿真的新模式。目前已构建原型系统,验证了技术可行性,基于实践给出了后续的优化建议。云仿真是未来仿真的发展的趋势,也是一项需要投入精力持续研究的事业。

参考文献:

[1] 杨保华,戴王剑,曹亚仑.Docker技术入门与实战 [M].北京:机械工业出版社,2015:6-8.

[2] 黄小锋,张晶.微服务框架介绍与实现 [J].电脑与信息技术,2016,24(6):14-16.

[3] 李潭,李伯虎,柴旭东.面向云仿真的层次化仿真服务描述框架 [J].计算机集成制造系统,2012,18(9):2091-2098.

[4] 李伯虎,柴旭东,侯宝存,等.一种基于云计算理念的网络化建模与仿真平台——“云仿真平台” [J].系统仿真学报,2009(17):5292-5299.

作者简介:周隆亮(1987—),男,汉族,四川达州人,工程师,硕士研究生,主要研究方向:装备系统仿真;徐云鹏(1992—),男,汉族,江苏溧阳人,助理工程师,硕士研究生,主要研究方向:仿真及态势展现;邓宗平(1988—),男,汉族,四川成都人,助理工程师,硕士研究生,主要研究方向:云计算、云仿真技术。