CN118449995A - 基于微服务架构的可扩展仿真服务框架系统 - Google Patents
基于微服务架构的可扩展仿真服务框架系统 Download PDFInfo
- Publication number
- CN118449995A CN118449995A CN202410904586.8A CN202410904586A CN118449995A CN 118449995 A CN118449995 A CN 118449995A CN 202410904586 A CN202410904586 A CN 202410904586A CN 118449995 A CN118449995 A CN 118449995A
- Authority
- CN
- China
- Prior art keywords
- service
- simulation
- module
- management
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 255
- 230000003993 interaction Effects 0.000 claims abstract description 68
- 230000006870 function Effects 0.000 claims abstract description 26
- 238000000034 method Methods 0.000 claims description 41
- 230000008569 process Effects 0.000 claims description 27
- 230000002452 interceptive effect Effects 0.000 claims description 20
- 230000000737 periodic effect Effects 0.000 claims description 16
- 239000003795 chemical substances by application Substances 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 11
- 238000012423 maintenance Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 7
- 238000011161 development Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000002347 injection Methods 0.000 claims description 3
- 239000007924 injection Substances 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 163
- 238000012217 deletion Methods 0.000 description 12
- 230000037430 deletion Effects 0.000 description 12
- 239000008186 active pharmaceutical agent Substances 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000002071 nanotube Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种基于微服务架构的可扩展仿真服务框架系统,所述系统包括:仿真服务实例管理模块、仿真服务注册与发现模块、仿真服务调用与交互模块、仿真服务状态管理模块以及云平台统一接口模块。该系统将可扩展仿真服务作为仿真引擎的主要组件,提供服务管理与统一调用的功能,基于微服务架构实现仿真服务具体业务的轻量化、解耦化、集中化管理,支撑包括服务注册、服务发现、服务访问、服务卸载的全生命周期治理。
Description
技术领域
本申请涉及计算机仿真技术领域,特别是涉及一种基于微服务架构的可扩展仿真服务框架系统。
背景技术
仿真过程中,除了计算调度、交互等核心功能外,仿真平台在运行时还需要向模型以及其他应用终端提供一些辅助功能。扩展仿真服务一方面统一管理基础的仿真服务,另一方面为引擎功能提供一种功能扩展机制。
仿真平台需要提供兼容互通、滚动更新、按需共享的仿真资源,要在统一纳管、边云协同的基础上,对基础设施资源、模型数据资源和仿真平台功能进行服务化共享,实现无缝伸缩、便捷融合、透明访问的高效服务共享能力。
仿真引擎可扩展仿真服务要面向仿真服务提供管理与接入支持,需要着重解决以下问题:对于基于微服务的仿真服务;统一交互对象数据交互格式;支持多种类型云资源;统一服务接入形式;统一接口生成。现有研究成果在这些方法的效果较差,因此有必要研发一个基于微服务架构的可扩展仿真服务框架系统。
发明内容
基于此,有必要针对上述技术问题,提供一种基于微服务架构的可扩展仿真服务框架系统。该系统实现了仿真引擎分系统公共计算服务模块,采用服务化架构,定义服务交互流程与交互格式,支持仿真服务的统一接入与正常运行,满足仿真服务的监测与预警需求,同时实现仿真服务的本地和云化支撑,为引擎提供仿真服务生命周期管理能力。
一种基于微服务架构的可扩展仿真服务框架系统,系统包括:仿真服务实例管理模块、仿真服务注册与发现模块、仿真服务调用与交互模块、仿真服务状态管理模块以及云平台统一接口模块。
仿真服务实例管理模块,用于以服务包的形式管理仿真服务,按照命名空间-服务包两级结构管理虚拟机形式的服务实例,根据预设的服务开发的规范和标准约束服务的接入。
仿真服务注册与发现模块,用于采用预定服务治理框架和消息中间件对扩展仿真服务进行服务注册;还用于给仿真引擎或模型实体提供服务发现功能。
仿真服务调用与交互模块,用于通过指定命名空间与服务名称,获取仿真服务注册、调用与卸载所需的参数及其类型,并获取仿真服务计算结果;还用于通过提供统一交互对象,与引擎内存黑板或内存数据库、模型进行数据交互。
仿真服务状态管理模块,用于在仿真服务端提供服务状态管理方案,采用服务代理模型实现服务状态的周期性更新。
云平台统一接口模块,用于通过抽象不同云平台的差异,生成统一的管理和监测接口,向模型提供统一的服务访问接口。
上述基于微服务架构的可扩展仿真服务框架系统,所述系统包括:仿真服务实例管理模块、仿真服务注册与发现模块、仿真服务调用与交互模块、仿真服务状态管理模块以及云平台统一接口模块。该系统将可扩展仿真服务作为仿真引擎的主要组件,提供服务管理与统一调用的功能,基于微服务架构实现仿真服务具体业务的轻量化、解耦化、集中化管理,支撑包括服务注册、服务发现、服务访问、服务卸载的全生命周期治理。
附图说明
图1为一个实施例中基于微服务架构的可扩展仿真服务框架系统的逻辑结构图;
图2为另一个实施例中基于微服务架构的可扩展仿真服务框架系统的流程示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种基于微服务架构的可扩展仿真服务框架系统,该系统包括:仿真服务实例管理模块10、仿真服务注册与发现模块20、仿真服务调用与交互模块30、仿真服务状态管理模块40以及云平台统一接口模块50。
仿真服务实例管理模块10,用于以服务包的形式管理仿真服务,按照命名空间-服务包两级结构管理虚拟机形式的服务实例,根据预设的服务开发的规范和标准约束服务的接入。
具体的,服务包含有一个或者多个仿真服务,支持基于微服务架构的仿真服务管理需要。提供服务实例的创建、查询、更新、删除等服务实例管理能力,同时提供服务开发的规范和标准,以约束服务的接入。
仿真服务注册与发现模块20,用于采用预定服务治理框架和消息中间件对扩展仿真服务进行服务注册;还用于给仿真引擎或模型实体提供服务发现功能。
具体的,仿真服务注册与发现模块20采用主流服务治理框架和消息中间件支撑服务注册、发现等服务生命周期管理,遵循HTTP等通用通信协议,基于多种性能优化的消息发布订阅模式支持服务管理。
对于基于微服务的仿真服务,本申请实现HTTP服务器,用于挂载DLL形式的服务包,并将HTTP、消息总线等调用转换为对服务包入口的调用,并基于面向仿真引擎其它模块提供的服务统一接口,实现HTTP与消息总线调用,提供云端服务支持。
仿真服务调用与交互模块30,用于通过指定命名空间与服务名称,获取仿真服务注册、调用与卸载所需的参数及其类型,并获取仿真服务计算结果;还用于通过提供统一交互对象,与引擎内存黑板或内存数据库、模型进行数据交互。
具体的,服务调用是通过指定命名空间与服务名称,获取仿真服务注册、调用与卸载所需的参数及其类型,获取仿真服务计算结果;服务交互提供统一交互对象,与引擎内存黑板或内存数据库、模型进行数据交互。
在仿真服务管理子模块中提供服务统一调用交互组件,面向模型提供服务调用功能。根据服务负载与响应需求,支持直接调用服务的同步模式与基于消息队列的异步模式。
仿真服务状态管理模块40,用于在仿真服务端提供服务状态管理方案,采用服务代理模型实现服务状态的周期性更新。
具体的,仿真服务状态管理模块40支持有状态服务,允许服务保存调用者信息与上一次访问状态,允许模型周期性更新仿真服务保持的状态信息。
云平台统一接口模块50,用于通过抽象不同云平台的差异,生成统一的管理和监测接口,向模型提供统一的服务访问接口。
具体的,云平台统一接口模块50基于微服务的仿真服务运行在云平台上,需要通过接口封装,隔离模型调用不同云平台服务的具体过程,向模型提供统一、轻便、易使用的服务访问接口。
基于静态语法树和反射的方式对云平台SDK进行解析,能够快速解析出云平台的API信息。基于这些信息,本申请使用模板和启发式规则生成统一接口,基于元模版实现API信息的快速匹配,快速完成统一接口的生成适配。
引入自建云平台调用模块,为云平台CPU、内存、磁盘、网络4种资源的管理功能提供统一接口,面向各个云平台不同API版本进行统一接口生成与调用映射,实现对于云平台资源的支持。
基于微服务架构的可扩展仿真服务框架系统的工作流程如图2所示。具体步骤包括:
步骤101:创建命名空间及相关参数。
具体的,根据提供的命名空间名称,创建命名空间以及相关参数(如描述等),若命名空间已存在,则报告错误,以保证命名空间在全局中的唯一性。
步骤102:通过调用自建云平台统一接口模块创建服务镜像。
具体的,通过调用自建云平台统一接口调用模块创建服务镜像,接收到服务实例管理请求后,通过命名空间-服务包-实例名称在数据库中查询服务实例信息,不存在则创建。
步骤103:通过调用自建云平台统一接口模块创建虚拟机。
具体的,服务开发团队构建服务镜像,指定对应服务包的命名空间与名称,通过用户界面将镜像上传到服务实例管理组件中。服务实例管理组件通过自建云平台统一调用模块调用虚拟机创建接口,并将上传结果返回到用户界面。同时,提供基于命名空间与服务包名称的服务实例查询、更新与删除功能。
步骤104:通过自建云平台统一调用模块提供的资源管理接口,实现对服务实例资源创建、查询、更新、删除。
具体的,仿真平台管理人员可通过用户界面,向服务实例管理组件发送实例资源查询和修改请求。仿真服务管理子模块命名空间-服务包-服务实例名称在数据库中查询对应服务实例的IP等信息,然后根据服务的资源需求,通过自建云平台统一调用模块提供的资源管理接口,实现对虚拟机资源创建、查询、更新、删除资源,并将这些资源安装到虚拟机,或从虚拟机卸载资源,实现服务实例的资源调整。最后,自建云平台统一调用模块会将资源状态信息返回到服务实例管理组件,并最终展示在用户界面。
步骤105:服务实例启动后,通过服务注册接口注册。
具体的,服务实例启动后,本申请提供的服务器实现将调用Nacos服务注册接口,主动发送服务实例信息(命名空间、服务包内所有服务名称、IP、端口号等),Nacos更新服务注册信息,将服务注册结果返回给服务实例。
步骤106:通过服务命名空间和名称,查询服务实例并返回。
具体的,仿真引擎其它模块或仿真模型调用服务时,提供服务命名空间与服务名称,Nacos将查询当前的服务实例,并将服务包中某一实例的IP地址与端口号返回给服务发现的调用者,进而实现对服务实例的访问。
步骤107:本地服务和云端服务统一接口请求。
具体的,对于运行在云平台的仿真服务,服务统一调用功能提供HTTP客户端与服务进行交互。
步骤108:转换引擎、服务和服务管理之间的交互为统一格式。
具体的,在仿真引擎/模型进行相关调用时,服务统一调用交互组件通过HTTP客户端向服务网关发出请求,并获取服务响应结果。
其中,交互组件实现仿真引擎内存黑板或者内存数据库、仿真模型与仿真服务交互的JSON格式统一交互对象。在服务生命周期管理的服务包挂载/调用/卸载阶段,通过统一交互对象返回此服务包内所有服务生命周期管理与调用所需的参数信息。
步骤109:通过建立会话的方式维持服务状态。
具体的,仿真服务在处理服务请求时,检查请求中是否包含会话标识,如果不包含会话标识,则创建会话并存储;如果包含会话标识,则根据仿真请求中的会话标识对状态缓存数据库进行读写。以此维护请求调用过程中的服务状态,包括服务生命周期状态和服务业务状态。
步骤110:通过服务代理模型周期性更新服务状态。
具体的,服务状态的周期性更新是通过服务代理模型实现。当仿真引擎向有状态服务发起调用时,会创建服务代理模型,用于更新服务状态,支持仿真引擎通过服务代理模型查询服务状态,当有状态服务调用结束时,仿真引擎可以请求删除服务代理模型。
步骤111:云平台生成对外统一接口代码。
具体的,云平台仿真服务启动时,云平台统一接口生成子模块会自动地对云平台API进行分析,抽取其中的关键信息。借助这些特征,可以通过反射和语法树的方法,分析出云服务API和其相关操作的参数的元数据信息,基于元模板生成统一接口代码。
步骤112:云平台统一接口调用模块。
具体的,当调用这些统一接口时,首先通过准备调用请求文件,接口参数解析,其次通过自建的哈希映射表,根据特定云平台和接口类型,查询特定云平台的调用方法名称,基于反射的方式进行接口功能调用,最后基于反射机制,传递参数并实际调用特定云平台的接口,获取返回结果。对于组合调用的情况,确保组合中所有接口调用均调用成功,并汇总返回结果。
上述基于微服务架构的可扩展仿真服务框架系统中,所述系统包括:仿真服务实例管理模块、仿真服务注册与发现模块、仿真服务调用与交互模块、仿真服务状态管理模块以及云平台统一接口模块。该系统将可扩展仿真服务作为仿真引擎的主要组件,提供服务管理与统一调用的功能,基于微服务架构实现仿真服务具体业务的轻量化、解耦化、集中化管理,支撑包括服务注册、服务发现、服务访问、服务卸载的全生命周期治理。
在其中一个实施例中,仿真服务实例管理模块包括命名空间管理子模块、服务镜像管理子模块、虚拟机管理子模块和实例资源管理子模块。
命名空间管理子模块,用于根据预设规则,将服务包逻辑上进行划分,确定命名空间,并采用命名空间管理规则对服务和资源命名空间进行管理;命名空间管理规则包括:命名空间在仿真系统内不得重名,同一命名空间内的服务包与服务不得重名;服务包名称仅在服务包挂载/卸载阶段中使用;在服务挂载/卸载/调用时,指定命名空间与服务名称,能唯一指定某一服务。
具体的,命名空间管理子模块用于服务和资源命名空间管理。根据一定规则,将服务包逻辑上进行划分,例如将同一单位开发的若干服务包,可以组织在同一命名空间下。
仿真服务实例管理模块中命名空间管理子模块的工作过程为:
(1)仿真引擎用户调用仿真服务管理子模块的命名空间创建/查询/更新/删除接口,操作命名空间。
(2)服务包管理模块获取命名空间信息。
(3)判断命名空间是否已存在,如果命名空间存在,则进行命名空间的创建/查询/更新/删除操作。
(4)如果命名空间不存在,则创建命名空间或者返回异常结果给用户。
(5)完成命名空间的创建/查询/更新/删除操作。
仿真服务实例管理模块中命名空间管理子模块的工作流程具体包括如下步骤:
步骤301:用户开始执行命名空间操作。
步骤302:仿真服务管理获取命名空间名称。
步骤303:查询命名空间。
步骤304:判断命名空间是否存在。
步骤305:若命名空间存在,判断是否为创建命名空间操作,如果是创建命名空间操作,则跳到步骤309。
步骤306:如果不是创建命名空间操作,则执行查询/更新/删除命名空间操作,记录命名空间操作结果并返回。
步骤307:若命名空间不存在,判断是否为创建命名空间操作,如果不是创建命名空间操作,则跳到步骤309。
步骤308:如果是创建命名空间操作,则执行创建命名空间操作。
步骤309:记录命名空间操作结果并返回。
步骤310:完成命名空间操作。
服务镜像管理子模块,用于提供服务镜像管理功能,以服务包为单位管理仿真服务镜像,以支持仿真服务实例管理需求。
具体的,服务镜像管理子模块用于基于服务包的镜像管理,提供本地与云端两种服务形式。根据一定划分标准,将所有服务实现在一个动态库文件中,例如将天气预测服务、路径规划服务、地形服务根据仿真业务的相关性,组织为某场景环境服务包。
服务镜像管理子模块包括服务统一入口,仿真引擎通过此统一入口可以获得此服务包管理对象,并基于此对象进行服务生命周期管理与服务调用。服务包实现基类,服务开发团队需要继承此基类,将服务添加到此服务包中,完成服务包的实现。服务实现基类,服务开发人员继承基类,以实现服务的业务逻辑。
仿真服务实例管理模块中服务镜像管理子模块的工作过程为:
(1)仿真引擎用户调用仿真服务管理子模块的服务镜像创建/查询/更新/删除接口,操作服务镜像。
(2)服务包管理模块获取服务镜像信息。
(3)判断服务镜像是否已存在,若服务镜像存在,则进行服务镜像的创建/查询/更新/删除操作。
(4)若服务镜像不存在,则创建服务镜像或者返回异常结果给用户。
(5)完成服务镜像的创建/查询/更新/删除操作。
服务镜像管理子模块的工作流程具体包括如下步骤:
步骤401:用户开始执行服务镜像操作。
步骤402:调用服务镜像操作接口。
步骤403:仿真服务管理获取服务镜像信息,包括命名空间名称、服务包名称、服务镜像与对应平台等信息。
步骤404:仿真服务管理调用云平台统一接口调用模块。
步骤405:对应接口执行相关服务镜像操作逻辑。
步骤406:记录服务镜像状态。
步骤407:获取服务镜像操作结果并返回。
步骤408:完成服务镜像操作。
虚拟机管理子模块,用于按照命名空间-服务包两级结构管理服务实例;服务实例管理过程包括:仿真平台管理人员通过命名空间-服务包-服务实例名称访问某一服务实例,并通过自建云平台调用子模块调用云平台虚拟机相关接口,实现服务实例的虚拟机管理;仿真服务在虚拟机中运行,将虚拟机称为服务实例,并按照命名空间-服务包两级结构管理服务实例。
具体的,虚拟机管理子模块用于服务实例管理。对于服务实例管理,仿真平台管理人员通过命名空间-服务包-服务实例名称访问某一服务实例,并通过自建云平台调用子模块调用云平台虚拟机相关接口,实现服务实例的虚拟机管理。
仿真服务实例管理模块中虚拟机管理子模块的工作过程为:
(1)用户根据指定服务镜像、服务实例资源配置,调用创建/查询/更新/删除虚拟机接口。
(2)虚拟机与实例资源管理模块获取命名空间、服务包和服务实例等信息。
(3)查询服务实例,判断虚拟机是否存在,若虚拟机不存在,则创建或者返回异常结果给用户。
(4)若虚拟机存在,则调用创建/查询/更新/删除虚拟机接口,并返回操作结果。
(5)完成服务实例的创建/查询/更新/删除操作。
仿真服务实例管理模块中虚拟机管理子模块的工作流程具体包括如下步骤:
步骤501:用户开始执行虚拟机操作。
步骤502:仿真服务管理获取命名空间名称和服务实例名称。
步骤503:查询虚拟机。
步骤504:判断虚拟机是否存在。
步骤505:若虚拟机存在,则判断是否为创建虚拟机操作,如是创建虚拟机操作,则跳到步骤510。
步骤506:若不是创建虚拟机操作,则执行查询/更新/删除虚拟机操作。
步骤507:更新数据库中虚拟机状态。
步骤508:若虚拟机不存在,则判断是否为创建虚拟机操作,若不是创建虚拟机操作,则跳到步骤510。
步骤509:若是创建虚拟机操作,则执行创建虚拟机操作,跳到步骤507。
步骤510:记录虚拟机操作结果并返回。
步骤511:完成虚拟机操作。
实例资源管理子模块,用于管理服务实例资源,服务实例资源是指运行仿真服务的虚拟机的资源;服务实例资源包括虚拟机硬盘和网卡。
具体的,实例资源管理子模块,服务实例在虚拟机中运行服务,将虚拟机称为服务实例,用于服务实例资源管理。对于资源管理,仿真平台管理人员可以通过自建云平台调用子模块调用云平台资源相关接口,创建、查询、更新与删除磁盘、网卡等资源,并通过调用虚拟机管理接口调整虚拟机的资源配置。最终保障多机想定中对于仿真服务的需求。
仿真服务实例管理模块中实例资源管理子模块的工作过程为:
(1)用户根据硬盘、网卡等资源,调用创建/查询/更新/删除虚拟机资源接口。
(2)虚拟机与实例资源管理模块获取资源名称等信息。
(3)查询虚拟机资源,判断资源是否存在,若资源不存在,则创建或者返回异常结果给用户。
(4)若资源存在,则调用创建/查询/更新/删除虚拟机资源接口,并返回操作结果。
(5)完成虚拟机资源的创建/查询/更新/删除操作;
仿真服务实例管理模块中实例资源(即虚拟机资源)管理子模块的工作流程具体包括如下步骤:
步骤601:用户开始执行虚拟机资源操作。
步骤602:仿真服务管理获取资源名称和服务资源配置信息。
步骤603:查询虚拟机资源。
步骤604:判断虚拟机资源是否存在。
步骤605:若虚拟机资源存在,则判断是否为创建虚拟机资源操作,若是创建虚拟机资源操作,则跳到步骤610。
步骤606:若不是创建虚拟机资源操作,则执行查询/更新/删除虚拟机资源操作。
步骤607:更新数据库中虚拟机资源状态。
步骤608:若虚拟机资源不存在,则判断是否为创建虚拟机资源操作,若不是创建虚拟机资源操作,则跳到步骤610。
步骤609:若是创建虚拟机资源操作,则执行创建虚拟机资源操作,跳到步骤607。
步骤610:记录虚拟机资源操作结果并返回。
步骤611:完成虚拟机资源操作。
在其中一个实施例中,仿真服务注册与发现模块包括:服务注册子模块和服务发现子模块;服务注册子模块,用于对扩展仿真服务进行服务注册。
具体的,服务注册子模块用于向扩展仿真服务进行服务注册。在多机想定场景中,实时维护各服务当前可用的服务实例信息,保障仿真引擎与仿真服务的交互。仿真服务管理的服务实例管理组件提供服务注册,维护当前所有仿真服务信息。仿真服务通过服务注册,将自身信息发送到服务注册与发现中心,提供的信息包括命名空间、服务包名称、服务实例IP、端口号等。基于这些信息,将服务实例关联到命名空间与服务包。
仿真服务注册与发现模块中服务注册子模块的工作过程为:
(1)启动服务。
(2)初始化服务实例信息。
(3)调用服务注册接口。
(4)仿真服务管理模块保存服务实例信息。
(5)仿真服务管理模块返回服务注册结果给服务。
(6)完成服务注册。
仿真服务注册与发现模块中服务注册子模块的工作流程具体包括如下步骤:
步骤701:开始执行服务注册。
步骤702:启动仿真服务。
步骤703:仿真服务管理获取服务实例信息,包括虚拟机IP、服务端口号、命名空间与服务包名称。
步骤704:查询服务实例是否存在,若存在查询服务实例,则跳至步骤707。
步骤705:若不存在查询服务实例,则创建服务。
步骤706:保存服务实例信息。
步骤707:调用服务注册接口。
步骤708:保存服务实例注册信息。
步骤709:记录服务注册结果并返回。
步骤710:完成服务注册;
服务发现子模块,用于仿真引擎通过服务发现机制,基于服务命名空间与服务名称,访问此服务的某一实例。
具体的,服务发现子模块,面向仿真引擎或模型实体提供服务发现功能。支持发现同一服务包的多个不同仿真服务,支持多个服务包中同名仿真服务的可选择性。主要根据服务发现请求,获取命名空间、服务包名称等信息;调用服务发现接口,仿真服务管理模块查询服务实例信息,将仿真服务实例IP、端口号等信息返回。
服务发现子模块的工作过程为:
(1)挂载服务。
(2)获取命名空间、服务包名称等信息。
(3)调用服务发现接口。
(4)仿真服务管理模块查询服务实例信息。
(5)仿真服务管理模块返回服务实例信息给服务。
(6)完成服务发现。
仿真服务注册与发现模块中服务发现子模块的工作流程具体包括如下步骤:
步骤801:开始执行服务发现。
步骤802:挂载仿真服务。
步骤803:获取服务实例命名空间与服务包名称。
步骤804:仿真服务管理查询所有关联的虚拟机实例列表,查询服务实例是否存在。
步骤805:若不存在查询服务实例,则报告异常,跳至步骤809。
步骤806:若存在查询服务实例,则调用服务发现接口。
步骤807:获取服务实例信息。
步骤808:返回服务发现结果。
步骤809:完成服务发现。
在其中一个实施例中,服务注册子模块的工作过程包括:在多机想定场景中,实时维护各服务当前可用的服务实例信息,保障仿真引擎与仿真服务的交互;仿真服务管理的服务实例管理组件提供服务注册,维护当前所有仿真服务信息;仿真服务通过服务注册,将自身信息发送到服务注册与发现中心,仿真服务的信息包括命名空间、服务包名称、服务实例IP、端口号;基于仿真服务的命名空间、服务包名称、服务实例IP以及端口号,将服务实例关联到命名空间与服务包。
在其中一个实施例中,仿真服务调用与交互模块包括:服务统一调用子模块和服务统一交互子模块;服务统一调用子模块,用于面向仿真引擎与仿真模型提供服务统一接口。
具体的,服务统一调用子模块,面向仿真引擎与模型提供统一服务接口。包括服务生命周期管理,提供服务包挂载、服务挂载、服务卸载和服务包卸载服务生命周期管理功能;支持服务同步与异步的调用模式,同步调用为将服务请求发送给对应服务,并阻塞等待返回结果,异步调用为将服务请求加入对服务请求队列中,通过回调接口返回结果。
优选地,服务统一调用子模块的工作过程为:
(1)仿真服务管理处理服务请求。
(2)将服务调用信息转换为统一交互对象。
(3)判断是本地服务还是云端服务。
(4)若是本地服务,则直接调用服务函数接口,并返回服务结果。
(5)若是云端服务,则判断是否是HTTP服务,若是HTTP服务,则发送HTTP请求,根据请求参数调用对应服务接口,返回服务结果。
(6)若不是HTTP服务,则发布服务调用消息,订阅服务调用消息,返回服务结果。
(7)完成服务调用。
仿真服务调用与交互模块中服务统一调用子模块的工作流程具体包括如下步骤:
步骤901:开始执行服务调用。
步骤902:仿真服务管理处理服务请求。
步骤903:将服务调用信息转换为统一交互对象。
步骤904:判断调用的服务是否为云端服务。
步骤905:若不为云端服务,则直接调用本地服务接口,调用结束跳至步骤911。
步骤906:若为云端服务,判断是否为HTTP请求。
步骤907:若不是HTTP请求,则发布服务调用消息。
步骤908:订阅服务调用,收到服务调用消息并返回。
步骤909:若为HTTP请求,则向服务发送HTTP请求。
步骤910:对应服务响应请求。
步骤911:返回请求结果。
步骤912:完成服务调用。
服务统一交互子模块,用于定义实现仿真引擎、仿真模块与仿真服务之间统一交互对象;当服务挂载时,将服务参数及参数类型通过统一交互对象传入给仿真服务管理;调用服务时,调用的参数及参数类型,返回的值和参数类型也通过统一交互对象进行传递;服务卸载时,将卸载参数及参数类型通过统一交互对象传入给仿真服务管理。
服务统一交互子模块,用于仿真引擎、模型与仿真服务间提供统一的调用接口与交互规范。当服务挂载时,将服务参数及参数类型通过统一交互对象传入给仿真服务管理;调用服务时,调用的参数及参数类型,返回的值和参数类型也统一交互对象进行传递;服务卸载时,将卸载参数及参数类型通过统一交互对象传入给仿真服务管理。
服务统一交互子模块的工作过程为:
(1)仿真引擎/模型提供服务交互信息。
(2)仿真引擎/模型构建交互对象,服务填充交互字段。
(3)服务获取交互对象,判断交互格式是否为统一交互对象,若是统一交互对象,则填充交互字段。
(4)若不是统一交互对象,则调用转换函数,将交互转换为统一交互对象,填充交互字段。
(5)完成统一交互对象的使用。
仿真服务调用与交互模块中服务统一交互子模块的具体包括如下步骤:
步骤1001:开始执行统一交互对象生成。
步骤1002:仿真模型发送服务交互。
步骤1003:服务接收到交互,获取服务信息。
步骤1004:开始构建统一交互对象。
步骤1005:根据服务信息,向交互对象填充字段。
步骤1006:校验统一交互对象。
步骤1007:判断校验规则是否执行完成。
步骤1008:若执行完成,则加载校验通过状态码和通过消息。
步骤1009:若未执行完成,则执行校验。
步骤1010:获取校验结果,若通过则跳至步骤1007,判断是否执行完成。
步骤1011:若未通过,则加载校验错误状态码和错误消息。
步骤1012:返回统一校验对象校验结果。
步骤1013:生成统一交互对象。
步骤1014:完成。
在其中一个实施例中,仿真服务状态管理模块包括:服务状态维持子模块和服务状态周期性更新子模块;服务状态维持子模块,用于在仿真服务端提供服务状态管理方案;服务状态包括:服务生命周期状态和服务业务状态。
具体的,服务状态维持子模块,用于在仿真服务端提供服务状态管理方案;服务状态包括服务生命周期状态和服务业务状态两类。
仿真服务在处理仿真请求时,检查请求是否包含会话标识,若不包含会话标识,则创建并存入缓存数据库,若包含会话标识,则从数据库中查询会话标识并返回;会话标识会不断读写至缓存数据库;会话删除,包括数据库删除会话标识以及会话失效自动删除。
仿真服务状态管理模块中服务状态维持子模块的工作过程为:
(1)仿真引擎/模型调用有状态服务。
(2)提交服务管理/服务调用请求。
(3)服务接收请求,基于会话加载状态信息。
(4)仿真服务管理模块基于会话返回服务状态信息。
(5)服务处理请求。
(6)服务和仿真服务管理模块基于会话存储状态信息。
(7)服务返回请求结果。
(8)完成服务状态维持操作;
仿真服务状态管理模块中服务状态维持子模块,服务生命周期状态管理具体包括如下步骤:
步骤11-101:模型开始调用有状态服务。
步骤11-102:模型获取服务管理/调用参数。
步骤11-103:模型设置会话字段。
步骤11-104:模型提交服务管理/调用请求。
步骤11-105:仿真服务管理收到请求,根据会话加载服务状态信息。
步骤11-106:仿真服务管理返回服务状态信息。
步骤11-107:服务处理请求。
步骤11-108:处理完成,将服务状态信息存储到请求结果中。
步骤11-109:返回有状态服务请求结果。
步骤11-1010:完成服务生命周期状态管理。
仿真服务状态管理模块中服务状态维持子模块,服务业务状态管理具体包括如下步骤:
步骤11-201:模型开始调用有状态服务。
步骤11-202:模型发送服务交互。
步骤11-203:模型创建心跳信号。
步骤11-204:模型设置会话字段,包括心跳信号。
步骤11-205:模型发送服务请求。
步骤11-206:仿真服务管理收到服务请求。
步骤11-207:判断会话是否包括心跳信号。
步骤11-208:若包含心跳信号,则更新服务业务状态。
步骤11-209:若不包含心跳信号,则终止服务与模型的连接。
步骤11-2010:记录连接终止。
步骤11-2011:请求完成返回请求结果和服务状态。
步骤11-2012:完成服务连接状态管理。
服务状态周期性更新子模块,用于采用服务代理模型实现服务状态的周期性更新。
具体的,服务状态周期性更新子模块,使用服务代理模型实现服务状态的周期性更新。服务代理模型以线程的方式实现,运行在仿真引擎和仿真服务之间,当仿真引擎向有状态服务发起调用时,会创建服务代理模型,根据仿真引擎的时序约束,周期性从调用请求中获取服务状态,并通过服务代理模型更新和查询服务状态。服务代理模型和仿真模型之间通过交互传递状态数据。
仿真服务状态管理模块中服务状态周期性更新子模块具体包括如下步骤:
步骤1201:开始执行服务状态周期性更新操作。
步骤1202:服务代理模型收到请求交互。
步骤1203:判断请求是否为本地服务。
步骤1204:若是本地服务,则检索本地服务实例列表。
步骤1205:若不是本地服务,则由服务代理模型发布更新消息。
步骤1206:服务实例订阅更新消息。
步骤1207:通过服务代理模型发送服务交互给仿真服务管理。
步骤1208:服务管理收到更新请求,完成服务状态更新。
步骤1209:完成。
在其中一个实施例中,服务状态维持子模块的工作过程包括:仿真服务在处理仿真请求时,检查仿真请求是否包含会话标识;如果不包含会话标识,则终止服务与模型的连接;如果存在会话标识,则更新服务业务状态。
在其中一个实施例中,服务状态周期性更新子模块的工作过程包括:服务代理模型以线程的方式实现,运行在仿真引擎和仿真服务之间;当仿真引擎向有状态服务发起调用时,会创建服务代理模型,根据仿真引擎的时序约束,周期性从调用请求中获取服务状态,并通过服务代理模型更新和查询服务状态;其中,服务代理模型和仿真模型之间通过交互传递状态数据。
服务状态周期性更新子模块的工作过程为:
(1)仿真引擎/模型发送交互。
(2)产生心跳信号,并设置会话字段。
(3)向服务发送心跳信号。
(4)服务是否接收到心跳信号,若没收到心跳信号,则断开与引擎/模型的连接,完成服务连接状态管理。
(5)若收到心跳信号,则更新服务连接状态。
(6)完成服务连接状态管理。
在其中一个实施例中,云平台统一接口模块包括:云平台统一接口生成子模块和云平台统一接口调用子模块。
云平台统一接口生成子模块,用于通过抽象不同云平台的差异,生成统一的管理和监测接口;统一的管理和监测接口包括:虚拟机镜像管理接口、虚拟机管理接口、存储管理接口、网卡管理接口、弹性伸缩接口和服务接口。
具体的,云平台统一接口生成子模块,用于抽象不同云平台的差异,提供统一的管理和监测接口。统一的接口包括虚拟机镜像管理接口、虚拟机管理接口、存储管理接口、网卡管理接口、弹性伸缩接口和服务接口,面向特定云平台的具体接口生成适配。通过元模板自动生成接口映射与参数映射方案。通过反射的方式填充参数值,其请求参数为以request结尾的结构体,其中封装了请求所需的所有参数,并在调用底层API时进行解耦。而底层API返回的结果也会被封装在对应以response结尾的结构体中,并通过编码成结构化数据的方式发送给用户。
云平台统一接口生成子模块的工作过程为:
(1)用户发起统一接口生成操作,上传指定云平台软件开发包。
(2)云平台解析软件开发包中接口信息。
(3)云平台生成统一接口。
(4)用户端获取统一接口。
(5)完成统一接口生成。
云平台统一接口模块中云平台统一接口生成子模块具体包括如下步骤:
步骤1301:开始执行云平台统一接口生成。
步骤1302:用户发起统一接口生成操作。
步骤1303:上传云平台软件开发包。
步骤1304:云平台统一调用模块对软件开发包中的接口进行分析,获取接口信息。
步骤1305:云平台统一调用模块基于接口信息和元模板生成统一接口。
步骤1306:由虚拟机管理生成的接口。
步骤1307:完成云平台统一接口生成。
云平台统一接口调用子模块,用于提供统一调用接口,通过调用某个云平台接口,或组合多个云平台接口,进行虚拟机管理、虚拟机资源管理以及虚拟机资源状态获取。
具体的,云平台统一接口调用子模块,提供统一调用接口,通过调用某个云平台接口,或组合多个云平台接口,实现虚拟机管理,虚拟机资源管理,虚拟机资源状态获取等功能。首先用JSON或YAML格式的文件描述云平台类型、调用接口名称(如负载均衡接口)及对应参数;统一接口调用模块内置JSON、YAML类型的编/解码器,解析在特定路径下的参数名称和值;通过自建的哈希映射表,根据特定云平台和接口类型,查询特定云平台的调用方法名称,基于反射的方式进行接口功能调用;在获取到特定云平台调用方法和参数后,基于反射机制,传递参数并实际调用特定云平台的接口,获取返回结果。
统一接口调用子模块的工作过程为:
(1)仿真服务管理和仿真服务监测向自建云平台发送统一接口调用请求。
(2)云平台加载接口调用方案。
(3)云平台转换接口名称与参数。
(4)判断是否为组合调用,若不为组合调用,则直接调用云平台对应接口。
(5)若为组合调用,则组合调用云平台接口,直至调用完成。
(6)返回接口调用结果给仿真服务管理和仿真服务监测。
(7)统一接口调用完成。
云平台统一接口模块中云平台统一接口调用子模块具体包括如下步骤:
步骤1401:开始执行云平台统一接口调用。
步骤1402:仿真服务管理向云平台调用模块发送虚拟机管理统一接口调用请求。
步骤1403:云平台调用模块获取虚拟机管理统一接口调用的调用参数。
步骤1404:云平台调用模块将虚拟机管理统一接口调用映射到具体云平台的虚拟机管理接口调用。
步骤1405:云平台调用模块转换接口名称和参数。
步骤1406:云平台调用模块判断调用是否为组合调用。
步骤1407:若不为组合调用,则只接调用对应的云平台接口,跳至步骤1410。
步骤1408:若为组合调用,则依次调用组合调用中包含的云平台接口。
步骤1409:判断是否调用完成,若未调用完成,则跳至步骤1408。
步骤1410:若调用完成,则虚拟机资源管理统计调用结果,并返回。
步骤1411:完成统一接口调用;
在其中一个实施例中,云平台统一接口生成子模块的工作过程包括:采用JSON或YAML格式的文件描述云平台类型、调用接口名称以及对应参数;统一接口调用模块内置JSON、YAML类型的编/解码器,解析在特定路径下的参数名称和值;通过自建的哈希映射表,根据特定云平台和接口类型,查询特定云平台的调用方法名称,基于反射的方式进行接口功能调用;在获取到特定云平台调用方法和参数后,基于反射机制,传递参数并实际调用特定云平台的接口,获取返回结果。
具体的,本申请基于主流JSON构建统一交互对象,并提供与引擎内部数据黑板对象间的转换函数。对于JSON字符串,本申请基于主流JSON实现的统一交互对象可以序列化为字符串,或通过符合JSON规范的字符串构建统一交互对象。对于引擎内部数据黑板对象,本申请提供从统一交互对象转换到引擎内部数据黑板对象的函数,与从引擎内部数据黑板对象转换到统一交互对象的函数,实现高效转换。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于微服务架构的可扩展仿真服务框架系统,其特征在于,所述系统包括:仿真服务实例管理模块、仿真服务注册与发现模块、仿真服务调用与交互模块、仿真服务状态管理模块以及云平台统一接口模块;
所述仿真服务实例管理模块,用于以服务包的形式管理仿真服务,按照命名空间-服务包两级结构管理虚拟机形式的服务实例,根据预设的服务开发的规范和标准约束服务的接入;
所述仿真服务注册与发现模块,用于采用预定服务治理框架和消息中间件对扩展仿真服务进行服务注册;还用于给仿真引擎或模型实体提供服务发现功能;
所述仿真服务调用与交互模块,用于通过指定命名空间与服务名称,获取仿真服务注册、调用与卸载所需的参数及其类型,并获取仿真服务计算结果;还用于通过提供统一交互对象,与引擎内存黑板或内存数据库、模型进行数据交互;
所述仿真服务状态管理模块,用于在仿真服务端提供服务状态管理方案,采用服务代理模型实现服务状态的周期性更新;
所述云平台统一接口模块,用于通过抽象不同云平台的差异,生成统一的管理和监测接口,向模型提供统一的服务访问接口。
2.根据权利要求1所述的系统,其特征在于,所述仿真服务实例管理模块包括命名空间管理子模块、服务镜像管理子模块、虚拟机管理子模块和实例资源管理子模块;
所述命名空间管理子模块,用于根据预设规则,将服务包逻辑上进行划分,确定命名空间,并采用命名空间管理规则对服务和资源命名空间进行管理;所述命名空间管理规则包括:命名空间在仿真系统内不得重名,同一命名空间内的服务包与服务不得重名;服务包名称仅在服务包挂载/卸载阶段中使用;在服务挂载/卸载/调用时,指定命名空间与服务名称,能唯一指定某一服务;
所述服务镜像管理子模块,用于提供服务镜像管理功能,以服务包为单位管理仿真服务镜像,以支持仿真服务实例管理需求;
所述虚拟机管理子模块,用于按照命名空间-服务包两级结构管理服务实例;服务实例管理过程包括:仿真平台管理人员通过命名空间-服务包-服务实例名称访问某一服务实例,并通过自建云平台调用子模块调用云平台虚拟机相关接口,实现服务实例的虚拟机管理;仿真服务在虚拟机中运行,将虚拟机称为服务实例,并按照命名空间-服务包两级结构管理服务实例;
所述实例资源管理子模块,用于管理服务实例资源;所述服务实例资源是指运行仿真服务的虚拟机的资源;服务实例资源包括虚拟机硬盘和网卡。
3.根据权利要求1所述的系统,其特征在于,所述仿真服务注册与发现模块包括:服务注册子模块和服务发现子模块;
所述服务注册子模块,用于对扩展仿真服务进行服务注册;
所述服务发现子模块,用于仿真引擎通过服务发现机制,基于服务命名空间与服务名称,访问此服务的某一实例。
4.根据权利要求3所述的系统,其特征在于,所述服务注册子模块的工作过程包括:
在多机想定场景中,实时维护各服务当前可用的服务实例信息,保障仿真引擎与仿真服务的交互;
仿真服务管理的服务实例管理组件提供服务注册,维护当前所有仿真服务信息;
仿真服务通过服务注册,将自身信息发送到服务注册与发现中心,仿真服务的信息包括命名空间、服务包名称、服务实例IP、端口号;
基于仿真服务的命名空间、服务包名称、服务实例IP以及端口号,将服务实例关联到命名空间与服务包。
5.根据权利要求1所述的系统,其特征在于,所述仿真服务调用与交互模块包括:服务统一调用子模块和服务统一交互子模块;
所述服务统一调用子模块,用于面向仿真引擎与仿真模型提供服务统一接口;
所述服务统一交互子模块,用于定义实现仿真引擎、仿真模块与仿真服务之间统一交互对象;当服务挂载时,将服务参数及参数类型通过统一交互对象传入给仿真服务管理;调用服务时,调用的参数及参数类型,返回的值和参数类型也通过统一交互对象进行传递;服务卸载时,将卸载参数及参数类型通过统一交互对象传入给仿真服务管理。
6.根据权利要求1所述的系统,其特征在于,所述仿真服务状态管理模块包括:服务状态维持子模块和服务状态周期性更新子模块;
所述服务状态维持子模块,用于在仿真服务端提供服务状态管理方案;服务状态包括:服务生命周期状态和服务业务状态;
所述服务状态周期性更新子模块,用于采用服务代理模型实现服务状态的周期性更新。
7.根据权利要求6所述的系统,其特征在于,所述服务状态维持子模块的工作过程包括:
仿真服务在处理仿真请求时,检查所述仿真请求是否包含会话标识;
如果不包含会话标识,则终止服务与模型的连接;
如果存在会话标识,则更新服务业务状态。
8.根据权利要求6所述的系统,其特征在于,所述服务状态周期性更新子模块的工作过程包括:
服务代理模型以线程的方式实现,运行在仿真引擎和仿真服务之间;
当仿真引擎向有状态服务发起调用时,会创建服务代理模型,根据仿真引擎的时序约束,周期性从调用请求中获取服务状态,并通过服务代理模型更新和查询服务状态;其中,服务代理模型和仿真模型之间通过交互传递状态数据。
9.根据权利要求1所述的系统,其特征在于,所述云平台统一接口模块包括:云平台统一接口生成子模块和云平台统一接口调用子模块;
所述云平台统一接口生成子模块,用于通过抽象不同云平台的差异,生成统一的管理和监测接口;统一的管理和监测接口包括:虚拟机镜像管理接口、虚拟机管理接口、存储管理接口、网卡管理接口、弹性伸缩接口和服务接口;
所述云平台统一接口调用子模块,用于提供统一调用接口,通过调用某个云平台接口,或组合多个云平台接口,进行虚拟机管理、虚拟机资源管理以及虚拟机资源状态获取。
10.根据权利要求9所述的系统,其特征在于,所述云平台统一接口生成子模块的工作过程包括:
采用JSON或YAML格式的文件描述云平台类型、调用接口名称以及对应参数;
统一接口调用模块内置JSON、YAML类型的编/解码器,解析在特定路径下的参数名称和值;
通过自建的哈希映射表,根据特定云平台和接口类型,查询特定云平台的调用方法名称,基于反射的方式进行接口功能调用;
在获取到特定云平台调用方法和参数后,基于反射机制,传递参数并实际调用特定云平台的接口,获取返回结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410904586.8A CN118449995B (zh) | 2024-07-08 | 2024-07-08 | 基于微服务架构的可扩展仿真服务框架系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410904586.8A CN118449995B (zh) | 2024-07-08 | 2024-07-08 | 基于微服务架构的可扩展仿真服务框架系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118449995A true CN118449995A (zh) | 2024-08-06 |
CN118449995B CN118449995B (zh) | 2024-09-13 |
Family
ID=92320091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410904586.8A Active CN118449995B (zh) | 2024-07-08 | 2024-07-08 | 基于微服务架构的可扩展仿真服务框架系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118449995B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101840129B1 (ko) * | 2016-10-10 | 2018-03-19 | 인하대학교 산학협력단 | 모의 개체의 계층형 위탁 구조를 통한 동적 확장형 국방 모의 서비스 시스템 및 방법 |
US20180288087A1 (en) * | 2017-04-03 | 2018-10-04 | Netskope, Inc. | Simulation and visualization of malware spread in a cloud-based collaboration environment |
CN111124286A (zh) * | 2019-12-04 | 2020-05-08 | 山东超越数控电子股份有限公司 | 一种基于Libcloud的多云管理实现方法 |
CN116455972A (zh) * | 2023-06-16 | 2023-07-18 | 中国人民解放军国防科技大学 | 基于消息中心通信的仿真中间件的实现方法及系统 |
CN116450090A (zh) * | 2023-03-17 | 2023-07-18 | 中国电子科技集团公司第二十九研究所 | 一种集中式作战仿真系统及其服务的组件化构建方法 |
CN116502437A (zh) * | 2023-04-26 | 2023-07-28 | 中国人民解放军92942部队 | 一种基于云+端架构的信号级仿真平台云化方法 |
CN116822135A (zh) * | 2023-04-20 | 2023-09-29 | 上海机电工程研究所 | 实时仿真平台系统及仿真系统构建方法 |
US20230327973A1 (en) * | 2022-04-11 | 2023-10-12 | University Of Electronic Science And Technology Of China | Network emulation system supporting flexible and efficient dynamic experiment |
-
2024
- 2024-07-08 CN CN202410904586.8A patent/CN118449995B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101840129B1 (ko) * | 2016-10-10 | 2018-03-19 | 인하대학교 산학협력단 | 모의 개체의 계층형 위탁 구조를 통한 동적 확장형 국방 모의 서비스 시스템 및 방법 |
US20180288087A1 (en) * | 2017-04-03 | 2018-10-04 | Netskope, Inc. | Simulation and visualization of malware spread in a cloud-based collaboration environment |
CN111124286A (zh) * | 2019-12-04 | 2020-05-08 | 山东超越数控电子股份有限公司 | 一种基于Libcloud的多云管理实现方法 |
US20230327973A1 (en) * | 2022-04-11 | 2023-10-12 | University Of Electronic Science And Technology Of China | Network emulation system supporting flexible and efficient dynamic experiment |
CN116450090A (zh) * | 2023-03-17 | 2023-07-18 | 中国电子科技集团公司第二十九研究所 | 一种集中式作战仿真系统及其服务的组件化构建方法 |
CN116822135A (zh) * | 2023-04-20 | 2023-09-29 | 上海机电工程研究所 | 实时仿真平台系统及仿真系统构建方法 |
CN116502437A (zh) * | 2023-04-26 | 2023-07-28 | 中国人民解放军92942部队 | 一种基于云+端架构的信号级仿真平台云化方法 |
CN116455972A (zh) * | 2023-06-16 | 2023-07-18 | 中国人民解放军国防科技大学 | 基于消息中心通信的仿真中间件的实现方法及系统 |
Non-Patent Citations (1)
Title |
---|
黄志兰;刘京松;关天强;陈楠;: "基于LibCloud的云代理系统设计与实现", 广东通信技术, no. 08, 15 August 2016 (2016-08-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN118449995B (zh) | 2024-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10664331B2 (en) | Generating an application programming interface | |
US7627671B1 (en) | Monitoring and performance management of component-based applications | |
US7254814B1 (en) | Methods and apparatus for managing plug-in services | |
US20120047239A1 (en) | System and Method for Installation and Management of Cloud-Independent Multi-Tenant Applications | |
US7856517B2 (en) | Data management interface with configurable plugins that determines whether to monitor for configuration data | |
KR101863398B1 (ko) | 다중-서버 예약 시스템 상의 동기화 메커니즘 시스템 및 방법 | |
CN113301116B (zh) | 微服务应用跨网络通信方法、装置、系统及设备 | |
US9626223B2 (en) | Provisioning IaaS services | |
CN112698921A (zh) | 一种逻辑代码运行方法、装置、计算机设备和存储介质 | |
CN112073448B (zh) | 一种双系统终端的服务隔离方法和装置 | |
US20050216917A1 (en) | Method and system for data object transformation | |
CN113127343A (zh) | 一种基于微服务架构的电网代码测试分析系统 | |
CN112685020A (zh) | 动态创建服务接口的方法、装置、电子设备及存储介质 | |
US10534640B2 (en) | System and method for providing a native job control language execution engine in a rehosting platform | |
JP5046161B2 (ja) | ネットワーク・エッジ・コンピューティング向けのアプリケーション分割 | |
US20070011275A1 (en) | Multi-environment document management system access | |
CN118449995B (zh) | 基于微服务架构的可扩展仿真服务框架系统 | |
CN114546563A (zh) | 一种多租户页面访问控制方法和系统 | |
CN117950628A (zh) | 一种基于grpc的插件构建方法及系统 | |
CN115033290A (zh) | 一种基于指令集的微服务拆分方法、装置及终端设备 | |
CN115037757A (zh) | 一种多集群服务管理系统 | |
US20240214257A1 (en) | Dynamic application of schema framework for inventory management | |
CN113791775B (zh) | 元数据的流程编排方法与装置、存储介质和电子设备 | |
US20240248776A1 (en) | Inventory management system for managing functions, resources and services of a telecommunications network | |
US20240205099A1 (en) | Dynamic creation of schema framework for inventory management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |