掌桥专利:专业的专利平台
掌桥专利
首页

异构仿真平台中间件的实现方法

文献发布时间:2023-06-19 10:54:12


异构仿真平台中间件的实现方法

技术领域

本申请涉及仿真技术领域,特别是涉及一种异构仿真平台中间件的实现方法。

背景技术

随着仿真应用的不断深入,仿真规模越来越大,仿真模型越来越精细,各大机构已经使用特定的仿真平台构建自己的仿真体系。为了更好拓展仿真平台,合理利用各家资源,异构仿真的需求越来越高。

中间件是一种独立的系统软件或服务程序,分布式应用软件,借助这种软件在不同的技术之间共享资源。在中间件模式的集成系统中,通常利用统一的全局数据模型来对异构的仿真系统以及其它的Web资源进行访问。该方法对上层,提供统一的访问接口,屏蔽底层的技术细节;对下层,提供了多种异构数据库接入方式,实现对数据库的操作,形成一个三层模式。

当前异构中间件实现的技术路线主要依托于三种技术。第一种基于XML技术,含有不同模式的XML数据源之间很难进行相互操作,这给XML数据检索带来了更大的不便,且XML本身结构臃肿,大数据描述的有效性低;第二种基于CORBA,CORAB的复杂性以及没有对象回收机制让CORAB应用系统的开发难度相对提高了许多,其资源浪费多,学习成本高;第三种基于WebService等技术的数据集成,需要数据库厂商提供一些技术层面的投入,短时间内难以实现。

发明内容

基于此,有必要针对上述技术问题,提供一种能够目前异构中间件实现复杂问题的异构仿真平台中间件的实现方法。

一种异构仿真平台中间件的实现方法,所述方法包括:

接收异构系统的注册请求,将所述异构系统注册至异构仿真平台;

将工程文件发送至所述异构仿真平台中的异构系统,以使异构系统中构建仿真环境;

向所述异构仿真平台中的异构系统发送仿真指令,以使异构仿真平台根据所述仿真指令进行仿真;

其中,所述异构仿真平台中的异构系统之间

通过中间件进行仿真数据交互;

所述中间件在链路层上采用TCP传输协议,所述中间件在协议层上采用序列化数据结构和标准化协议头组成,所述序列化数据结构用于描述所述仿真数据的内容,所述中间件在数据层上通过适配器实现所述仿真数据与标准数据之间的转换。

在其中一个实施例中,所述序列化数据结构为Protobuf格式,用于实现仿真数据的序列化和反序列化。

在其中一个实施例中,还包括:通过接口接收异构系统的注册请求,将所述异构系统的名称、类型、协议方式注册至异构仿真平台。

在其中一个实施例中,还包括:接收异构系统反馈的系统状态信息,根据所述系统状态信息确定所述仿真数据是否真实。

在其中一个实施例中,还包括:向所述异构仿真平台中的异构系统发送暂停指令。

在其中一个实施例中,还包括:向所述异构仿真平台中的异构系统发送仿真配置修改指令,以使所述异构仿真平台中的异构系统根据所述仿真配置修改指令修改仿真配置,并生效。

在其中一个实施例中,还包括:向所述异构仿真平台中的异构系统发送停止指令。

在其中一个实施例中,还包括:接收异构系统的系统状态改变信息;所述系统状态改变信息包括:异构系统掉线、屏蔽异构系统、加入新异构系统;根据所述系统状态改变信息,确定异构系统的交互关系,根据所述交互关系,通过中间件进行仿真数据交互。

上述异构仿真平台中间件的实现方法,分别从链路层、协议层以及数据层定义中间件,使得异构系统可以接入异构仿真平台中,由于中间件的跨平台、多语言的能力,从而通过中间件可以实现异构系统之间的数据交互,使得仿真平台的效率更高。

附图说明

图1为一个实施例中异构仿真平台中间件的实现方法的流程示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

在一个实施例中,如图1所示,提供了一种异构仿真平台中间件的实现方法,包括以下步骤:

步骤102,接收异构系统的注册请求,将异构系统注册至异构仿真平台。

步骤104,将工程文件发送至异构仿真平台中的异构系统,以使异构系统中构建仿真环境。

步骤106,向异构仿真平台中的异构系统发送仿真指令,以使异构仿真平台根据仿真指令进行仿真。

其中,异构仿真平台中的异构系统之间通过中间件进行仿真数据交互;

中间件在链路层上采用TCP传输协议,中间件在协议层上采用序列化数据结构和标准化协议头组成,序列化数据结构用于描述仿真数据的内容,中间件在数据层上通过适配器实现仿真数据与标准数据之间的转换。

上述异构仿真平台中间件的实现方法中,分别从链路层、协议层以及数据层定义中间件,使得异构系统可以接入异构仿真平台中,由于中间件的跨平台、多语言的能力,从而通过中间件可以实现异构系统之间的数据交互,使得仿真平台的效率更高。

在其中一个实施例中,序列化数据结构为Protobuf格式,用于实现仿真数据的序列化和反序列化。

具体的,标准协议头用于数据在系统内的识别,由于多异构系统只需维护一套protobuf的对象协议文件,在互操作上很方便,维护成本低。同时,protobuf可兼容多种平台和语言,自带编译器,实现自动序列化和反序列化,学习成本低、使用简单、序列化速度快,同时不存在对象回收问题。另外,protobuf序列化后体积小,承载相同内容时比XML和JSON体积小、传输速度快、加密性好,具备很强的拓展性。

具体的,协议头如表1所示,固定大小为16字节,低位在前。

表1通信协议头

具体的,各个部分的定义如下:

Proc:协议类型

第1位保留为1,0-8:保留

9:异构中间件与B端通信协议

10:异构中间件与异构系统通信协议

(11:异构中间件与异构中间件通信协议)

Type:通信类型

0:Oneway一次单向性,接收方不需要回应

1:Req请求包

2:Ack响应包

Opt:通信附加选项

0:Protobuf格式数据

1:原始二进制数据

2:Json格式数据

Ver:协议版本标示

1:当前为第一版本

n:根据后期需求升级

Timeout:超时时间,由请求方填写

0:不超时

n:具体超时时间,单位秒

Status:响应返回状态码,由响应方填写

0:正常状态

1:一般错误

2:未知错误

3:数据解析错误

n:其它状态,内容由具体协议约定

NameLength:名称长度,可为0,当前主要用于描述Protobuf格式数据的消息名全称

DataLength:数据长度,不包含包头,可为0

SerialNumber:包序列号,由1开始递增,对于请求类型的包,响应时序列号需与请求包对应一致

Unused:保留4字节,用于扩展

Name:具体名称数据,数据长度由NameLength描述

Data:具体数据内容,数据长度由DataLength描述。

对于数据协议,仿真模型的数据流协议头如表2所示,具体如下:

表2仿真模型的数据流协议头

各部分具体含义如下:

Proc:协议类型

第1位保留为1,0-128:保留

129:仿真模型数据协议

Type:数据包类型

0:保留

1:模型数据包

2:系统注册包(Out)

3:系统注册包(In)

Opt:通信附加选项

0:Protobuf格式数据

1:原始二进制数据

2:Json格式数据

3:xml格式数据

Ver:协议版本标示

1:当前为第一版本

n:根据后期需求升级

Dst:发送目标类型

0:其他异构系统

1:数据采集模块

2:可视化模块

Src:作为发送者标示,先不填写

JsonLength:协议头后面Json的数据长度

DataLength:Protobuf数据长度

JsonData:指定格式的Json数据

Data:具体数据内容,数据长度由DataLength描述,格式为protobuf。

在其中一个实施例中,通过接口接收异构系统的注册请求,将异构系统的名称、类型、协议方式注册至异构仿真平台。

值得说明的是,接口处于等待状态,等待状态下的接口可以接收异构系统的注册请求,因此在任意状态下,可以实现异构仿真平台中异构系统的拓展。

在其中一个实施例中,接收异构系统反馈的系统状态信息,根据所述系统状态信息确定所述仿真数据是否真实。

值得说明的是,接收系统状态信息,可以有效的反馈系统的状态,例如,系统状态已不利于系统的运行,从而导致生成仿真数据不可靠。从而通过接收系统状态信息,可以实现对异构系统进行有效监控管理。

在其中一个实施例中,向异构仿真平台中的异构系统发送暂停指令。

值得说明的是,暂停指令是同时下发给所有的异构系统,从而可以使仿真暂停在同一个时间步。

在向异构仿真平台中的异构系统发送暂停指令之后,在其中一个实施例中,向异构仿真平台中的异构系统发送仿真配置修改指令,以使异构仿真平台中的异构系统根据仿真配置修改指令修改仿真配置,并生效。

本实施例中,可以实现任意时刻的仿真暂停修改,从而提高仿真时的容错率。

在其中一个实施例中,向异构仿真平台中的异构系统发送停止指令。

在其中一个实施例中,接收异构系统的系统状态改变信息;系统状态改变信息包括:异构系统掉线、屏蔽异构系统、加入新异构系统;根据系统状态改变信息,确定异构系统的交互关系,根据交互关系,通过中间件进行仿真数据交互。

值得说明的是,本发明中各个异构系统之间可以直接通过中间件进行仿真数据交互,而不依赖于中心服务器的转发,从而实现去中心化,一般来说,在进行仿真时,根据异构系统之间的连接关系,确定了交互关系,交互关系之后,可以根据交互关系进行仿真数据的交互,本实施例中,当系统状态改变时,原有的交互关系已经被修改,因此需要重新确定交互关系,从而根据新确定的交互关系进行数据交互。

对于中间件,各个网络层的介绍如下:

链路层:以去中心化的思想,通过最短路径的方式解决异构仿真数据在节点与节点之间的交互处理;此处的节点指的是异构系统或者异构仿真平台。

控制层:制定标准的接口和协议规范,从而实现异构仿真系统控制流的统一;值得说明的是,协议规范包括两个部分,协议头和协议体,协议头采用的是标准化协议,为了确保数据的正确性,协议体采用的是Protobuf格式,用于描述数据具体内容,实现数据的序列化和反序列化。

数据层:通过适配器的方式进行异构系统仿真数据和标准数据之间的转换,从而真正实现异构仿真平台在同一个仿真中的数据交换。

在具体仿真推进过程中,异构仿真平台的中间件获取异构系统的仿真数据,并根据协议进行初步解析,获得数据目标系统,将数据发送到目标系统。目标系统的中间件利用协议将数据解析,并根据数据进行计算。采用严格的时间同步管理,保障系统内数据在时间上的一致性。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 异构仿真平台中间件的实现方法
  • 一种基于IBM中间件实现异构数据库连接方法
技术分类

06120112722959