CN102937895A - 一种基于tao的虚拟试验中间件系统 - Google Patents

一种基于tao的虚拟试验中间件系统 Download PDF

Info

Publication number
CN102937895A
CN102937895A CN201210433660XA CN201210433660A CN102937895A CN 102937895 A CN102937895 A CN 102937895A CN 201210433660X A CN201210433660X A CN 201210433660XA CN 201210433660 A CN201210433660 A CN 201210433660A CN 102937895 A CN102937895 A CN 102937895A
Authority
CN
China
Prior art keywords
time
module
event channel
readjustment
message
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
Application number
CN201210433660XA
Other languages
English (en)
Other versions
CN102937895B (zh
Inventor
廖建
彭健
郭爱民
蔡斐华
王国庆
赵雯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Academy of Launch Vehicle Technology CALT
Original Assignee
China Academy of Launch Vehicle Technology CALT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Academy of Launch Vehicle Technology CALT filed Critical China Academy of Launch Vehicle Technology CALT
Priority to CN201210433660.XA priority Critical patent/CN102937895B/zh
Publication of CN102937895A publication Critical patent/CN102937895A/zh
Application granted granted Critical
Publication of CN102937895B publication Critical patent/CN102937895B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

一种基于TAO的虚拟试验中间件系统,包括:时间推进模块、运行管理模块、交互管理模块、回调管理模块及应用程序接口API;时间推进模块、运行管理模块、交互管理模块、回调管理模块均通过事件通道传送数据,所述事件通道是指TAO的ORB中的事件通道对象。本发明解决了虚拟试验系统执行期间试验对象和试验资源间的实时通信和调度问题,实现虚拟试验应用逻辑和通信解耦,使基于该中间件开发的虚拟试验系统具有互操作性、跨平台等特性。

Description

一种基于TAO的虚拟试验中间件系统
技术领域
本发明涉及一种虚拟试验通信的中间件系统,尤其涉及基于TAO构建虚拟试验中间件系统,属于虚拟试验技术领域。
背景技术
随着政治、经济等因素的制约和军事发展的需要,在国防工业领域中,进行虚拟试验至关重要。虚拟试验是利用计算机建模仿真技术结合测试技术、通信技术和计算机网络技术,为武器装备的性能试验、技术指标考核、综合效能评估开发的一种试验新技术。虚拟试验正朝着“虚实结合”和“综合集成”的方向发展。虚拟试验中间件能很好的解决试验期间试验对象、试验资源互联互通,实现虚拟试验系统的互操作。美国国防部提出的高层体系结构(High Level Architecture,简称HLA)标准及其实现RTI很好的解决了虚拟试验中试验对象间的集成问题。而RTI在实时性方面有所欠缺,不能满足试验中的实时性需求。现有虚拟试验通信平台大都是针对特有平台设计不具备跨平台特性。
目前,国内外对虚拟试验中间件技术展开了一些研究,如《测控技术》第28卷第3期发表的“基于RT-TCP/IP的虚拟试验通信平台研究”使用RT-TCP/IP协议设计并实现了实时以太网虚拟共享内存中间件,但其是在RTX平台下实现,不具备跨平台、可移植能力。赵正伟的“基于组件的分布虚拟试验软件研究与应用”,分析了基于ACE/TAO搭建分布虚拟试验软件的优势,但没有涉及实现的具体技术途径;介绍的中间件实现方法中可以提供实时通信服务、调度管理服务、时间同步服务、程序配置管理服务,但其服务组件使用VMIC来实现,不具备互操作性、跨平台等特性。
发明内容
本发明技术解决问题:克服现有技术的不足,提供一种基于TAO的虚拟试验中间件系统,解决了虚拟试验系统执行期间试验对象和试验资源间的实时通信和调度问题,实现虚拟试验应用逻辑和通信解耦,使基于该中间件开发的虚拟试验系统具有互操作性、跨平台等特性。
本发明技术解决方案如下:一种基于TAO的虚拟试验中间件系统,所述TAO(The ACE ORB)是基于ACE按照实时CORBA(Common ObjectRequest Broker Architecture)标准实现的ORB(Object Request Broker),ACE指自适应通信环境,即Adaptive Communication Environment,其特征在于:所述中间件系统包括:时间推进模块、运行管理模块、交互管理模块、回调管理模块及应用程序接口API;时间推进模块、运行管理模块、交互管理模块、回调管理模块均通过事件通道传送数据,所述事件通道是指TAO的ORB中的事件通道对象;
时间推进模块,负责整个虚拟试验应用系统的时间推进,时间推进模块分为时间客户端和时间服务端两部分;时间客户端调用运行管理模块的命名服务获取事件通道,利用事件通道将虚拟试验应用程序需要发送的时间请求发送给时间服务端;时间客户端还利用事件通道从时间服务端接收推进时间,并通知虚拟试验应用系统中的应用程序;时间服务端提供逻辑时间推进和实时时间推进两种服务,逻辑时间推进为全数学模型搭建的虚拟试验应用系统接入提供推进服务,实时时间推进为有半实物或实物设备搭建的虚拟试验应用系统接入提供服务,时间服务端通过读取配置文件确定时间推进方式;逻辑时间推进时,时间服务端通过事件通道接收来自应用程序发送的时间推进请求,存储在以优先级队列实现的时间队列中,定时从队列中取最小的时间通过事件通道发送给应用程序;实时时间推进时,定时将从实时操作系统或实时设备(实物设备或半实物设备)获取的精确的真实时间通过事件通道发送给应用程序;
运行管理模块,为时间推进模块、交互管理模块提供命名服务;创建与销毁事件通道;创建与销毁试验域,并对试验域内的应用程序的加入和退出进行管理;所述试验域为虚拟试验应用程序的集合;
交互管理模块,调用运行管理模块的命名服务获取事件通道,维护虚拟试验应用系统中的对象交互和消息传递,保证对象和消息的正确交互,并提供远程方法调用功能;对象交互包括对象发布、对象订阅和对象更新,消息传递包括消息发布、消息订阅和消息发送;
回调管理模块,接收事件通道推送的数据,根据数据类型构建不同的回调对象,在不同时刻唤醒回调对象,执行回调对象相应的方法触发回调,调用虚拟试验应用系统中的应用程序的应用逻辑代码;
应用程序接口API,对上述四个模块中时间推进模块的时间客户端功能,运行管理模块中的试验域管理功能,交互管理模块的对象交互和消息传递功能,回调管理模块中的回调唤醒功能进行封装,为虚拟试验应用系统中的应用程序提供使用接口。
所述运行管理模块包括命名服务模块、事件通道管理模块和试验域管理模块,分别提供命名服务、事件通道和试验域管理;
命名服务模块通过TAO的命名服务实现,为时间推进模块、交互管理模块提供命名服务,提供名字到对象的查找和定位服务。
事件通道管理模块,管理事件通道的创建与销毁,事件通道的创建流程为:首先读取配置文件中连接命名服务的通信方式,初始化ORB,并获取命名服务;设置事件通道属性参数,调用构造函数创建事件通道对象;调用命名服务的绑定操作,将事件通道对象绑定到命名服务,供时间推进模块、交互管理模块、回调管理模块引用;事件通道的销毁通过调用析构函数实现;
试验域管理模块包含试验域的创建、销毁,试验域内应用程序的加入和退出功能,通过命名服务创建不同的名字空间实现试验域的创建,当该试验域不再使用或要强制销毁该试验域时,通过调用试验域的析构函数来实现试验域的销毁;试验域管理模块为每个域维护一个应用程序集合,应用程序加入域时在对应域的应用程序集合中添加应用程序名称,应用程序退出域时,删除对应域的应用程序集合中的应用程序名称。
所述交互管理模块包括关系表模块、对象交互模块、消息传递模块、远程方法调用模块。关系表模块为对象交互模块和消息传递模块提供查询服务,存储了虚拟试验应用系统中的对象和消息的名称到对应ID的映射关系;对象交互管理模块通过应用程序接口API得到需发布或订阅的对象名称,查找关系表模块中对应的ID,通过运行管理模块中的命名服务找到事件通道,调用事件通道对象的接口设置过滤条件,并重新连接事件通道完成对象的发布或订阅;对象交互管理模块通过应用程序接口API得到需更新的对象数据,并对数据的类型进行转换,调用事件通道的推送接口更新数据;消息传递管理模块通过应用程序接口API得到需发布或订阅的消息名称,查找关系表模块中对应的ID,通过运行管理模块中的命名服务找到事件通道,调用事件通道对象的接口设置过滤条件,并重新连接事件通道完成消息的发布或订阅;消息传递模块通过应用程序接口API得到需发送的消息数据,并对数据的类型进行转换,调用事件通道的推送接口发送消息;对象数据缓存一直到试验对象被销毁,消息为瞬间数据,发送完成后被销毁,不缓存;远程方法调用模块通过CORBA实现。
所述回调管理模块中构建的回调对象分为四种类型:发现回调、销毁回调、状态改变回调和消息回调;当虚拟试验应用系统中应用程序调用交互管理模块提供的发布对象应用程序接口API时,立即触发发现回调;当虚拟试验应用系统应用程序调用交互管理模块提供的取消对象发布应用程序接口API时,立即触发销毁回调;当虚拟试验应用程序调用交互管理模块提供的对象更新应用程序接口API时,且应用程序调用唤醒回调应用程序接口API时,触发状态改变回调;当事件通道接收到消息时,立即触发消息回调。
本发明与现有技术相比的有益效果:
(1)本发明同时具备逻辑时间和实时时间推进的能力,既能满足全数学模型的虚拟试验应用推进需求,又能满足半实物、实物设备接入的虚拟试验应用推进需求。
(2)本发明基于ACE/TAO实现,使虚拟试验应用具备跨平台、可移植、实时等特性,能满足复杂大规模虚拟试验的需求。
(3)本发明利用安全可靠的应用程序接口构建虚拟试验应用的方式,提供分布式对象通信能力,实现虚拟试验应用逻辑和通信解耦,实现了互操作,提高虚拟试验的开发效率,缩短开发周期,降低试验系统开发成本。
附图说明
图1为本发明的系统组成结构框图;
图2为本发明的时间推进服务模块实现图;
图3为本发明的时间客户端和服务端的启动流程图;
图4为本发明的事件通道创建流程图;
图5为本发明交互管理服务模块实现图;
图6为本发明的对象发布更新流程图;
图7为本发明回调服务相关类设计图;
图8为本发明回调服务回调对象执行流程图;
图9为本发明应用程序接口调用流程图。
具体实施方式
在叙述本发明具体实施方式之前,对本发明用到的技术术语进行说明:ACE(Ada ptive Communication Environment,自适应通信环境)将操作系统的通信、调度、并发服务以优秀的设计模式进行封装,支持多种操作系统,包括Windows、UNIX、Linux、VxWorks。TAO是基于ACE遵循实时CORBA标准实现的ORB。
如图1所示,本发明所述的中间件系统是基于开源项目ACE/TAO实现。
本发明在ACE/TAO基础上构建四个模块,包括时间推进模块、运行管理模块、交互管理模块、回调管理模块,并将四个模块的功能封装成易用的应用程序接口API供试验人员使用。
时间推进模块主要用于向虚拟试验应用提供同步推进策略,保证整个试验正确有序的进行。时间推进模块提供逻辑时间推进和实时时间推进两种服务。如图2所示,时间推进模块分为时间客户端和时间服务端两部分。时间客户端由初始化模块、发送端、接收端和时间服务接口四个模块组成。时间服务端由初始化模块、发送端、接收端、实时时钟获取、时间队列、和时间推进策略六个子模块。时间对象由IDL文件定义。
其中,时间客户端和服务端的启动流程类似,在初始化模块中实现,读取配置文件中连接命名服务的通信方式完成ORB初始化,连接命名服务,连接事件通道并运行ORB。具体流程如图3所示。首先初始化ORB;获得命名服务对象,并通过命名服务找到不同域对应的事件通道对象;发送端获取Consumer代理,接收端获取Supplier代理;设置Qos表达发布订阅信息,客户端和服务端设置的Qos信息必须一致;连接事件通道;接收端启动线程并运行ORB,等待接收数据。
时间客户端的功能以DLL(动态链接库)的形式封装,供应用程序调用。发送端模块将应用程序需要发送的时间对象转换成CORBA::Any类型,调用Consumer代理的push函数发送时间;当有时间对象到达时,事件通道调用接收端的push回调函数。push函数在接收端实现,主要完成从事件集中提取事件并将CORBA::Any类型数据转换成时间对象类型,并存储,同时通知应用程序可以读取时间。时间客户端主要提供三个时间服务接口:SendTime(),向时间服务端发送请求时间;WaitTimeForward(),等待时间服务器允许推进;GetTime(),时间服务器允许推进后,调用此接口获取当前时间。
时间服务端的发送端和接收端的实现方式与时间客户端一致。时间服务端提供逻辑时间推进和实时时间推进两种策略。初始化时,时间服务端读取配置文件,确定时间推进方式。逻辑时间推进时,时间服务端通过接收端接收来自应用程序发送的时间,并存储在时间队列中。时间队列采用优先级队列实现,时间服务器根据设置好的时间步长定时从队列中取最小的时间通过发送端发送给应用程序。实时时间推进时,维护一个精确定时器,定时通过实时时钟获取模块从操作系统或实时设备(半实物/实物设备)获得精确的真实时间,并将时间通过发送端发送给应用程序。
运行管理模块为时间推进模块、交互管理模块中的分布式对象提供名字到对象引用的映射的命名服务;创建与销毁事件通道;创建与销毁试验域,并对虚拟试验应用系统中的试验域内应用的加入和退出进行管理;由命名服务和事件通道管理、试验域管理三个模块组成。
上述的命名服务由命名服务模块实现。在命名服务中,通过将对象赋予唯一标识来确定服务对象。通过指定对象的名字,解析命名服务,实现对服务对象的查找和定位。命名服务通过封装TAO的命名服务实现,提供初始化、运行、绑定、取消绑定,关闭等操作。
上述的创建与销毁事件通道由实现事件通道管理模块实现。事件通道的创建流程如图4所示。首先读取配置文件中连接命名服务的通信方式初始化ORB,并获取命名服务;设置时间通道属性参数,将consumer_reconnect和supplier_reconnect置为1,支持事件通道重连,调用TAO_EC_Event_Channel构造函数创建事件通道对象;调用命名服务的绑定操作,将事件通道对象绑定到命名服务,供其它服务引用。事件通道的销毁通过调用TAO_EC_Event_Channel析构函数实现。
试验域管理模块包含试验域的创建、销毁,试验域内应用的加入和退出等功能。试验域拥有不同的试验域名称,通过在命名服务下创建不同的名字空间实现。每个试验域调用事件通道管理创建本试验域的事件通道。当该试验域不再使用或要强制销毁该试验域时,通过调用试验域的析构函数来实现试验域的销毁,并调用事件通道的销毁操作。试验域管理模块为每个域维护一个应用程序集合。应用程序以试验域名称为参数调用加入试验域函数,若该试验域已经存在,则返回试验域名称对应的试验域,并在对应域的应用程序集合中添加应用程序名称;若该试验域不存在,则创建新的试验域,同时并在对应域的应用程序集合中添加应用程序名称。试验域的加入主要通过查找试验域集合来完成,试验域集合是一个Map<string,Domain>,查找试验域时,匹配Map的第一个关键字,若匹配成功,则返回TRU E;若匹配不成功,则创建新的试验域,并将试验域名称与新的试验域的pair对加入到试验域集合中。应用程序退出域时,删除对应域的应用程序集合中的应用程序名称。
交互管理模块主要负责维护整个分布式系统中的对象与消息传递,保证对象的正确交互和兴趣管理,并提供远程方法调用功能。如图5所示,交互管理服务分为:关系表模块、对象交互模块、消息传递模块、远程方法调用四大子模块。关系表模块包括类型仓库、对象仓库;对象交互模块包括对象发布、状态更新、对象订阅;消息传递模块包括消息发布、消息发送、消息订阅。
关系表模块维护发布者和订阅者之间的类层次关系,为试验系统中的订阅提供支持。为了实现发布者和订阅者类型和对象的一致性,通过维护类型仓库和对象仓库来实现发布者和订阅者的类型和对象的关联,保证类型和对象在试验域内的全局唯一性。在一个试验域内,类型仓库和对象仓库供试验域全局使用。类型仓库使用两张表分别记录对象类型和消息类型的名字到ID的映射,其中类型名字为字符串主要用于接口参数的传递,而类型ID则在设置Qos信息表达发布订阅关系时使用。为保证实现类型标识符到类型ID的一一映射,每一种类型分配一个库中唯一的ID。同时,类型仓库维护一个继承关系表表示类的层次结构,使用邻接链表实现存储。表中每个元素代表一种类型,元素的内容是一张记录该类型所有子类类型的表。对象仓库与类型仓库类似,使用两张表分别记录类型实例对象和消息对象的名字到ID的映射。
对象交互模块负责对象的发布/订阅和更新如图6所示。对象更新首先需要发布对象。对象的发布是通过在连接事件通道前,修改事件通道Qos信息来实现。将对象的类型名和实例名通过类型仓库和对象仓库转化为ID,再将类型ID和实例ID传递给ORB中ACE_ConsumerQOS_Factory类的insert方法,修改Qos信息实现对象的发布。对象发布后,先将对象数据转化为CORBA::Any,调用Consumer代理的push函数完成对象更新。对象的订阅通过修改Qos信息向事件通道表达订阅兴趣实现,订阅完成后,等待时间通道回调PushConsumer接口的push回调函数。
消息传递模块的实现方式与对象交互模块一致。对象和消息的区别在于对象数据会在系统中缓存一直到试验对象被销毁,消息为瞬间数据,发送完成后就被销毁,不会在系统中缓存。
远程方法调用的实现通过CORBA的RMI实现,由Stub和Skeleton两部分完成的,在远程方法调用的过程中,订阅者端通过Stub与CORBA的ORB进行交互,发布者通过CORBA的Skeleton与ORB进行交互,这样订阅者就可以通过Stub和Skeleton实现对发布者的方法调用。
回调管理模块接收事件通道推送的数据,根据数据类型构建不同的回调对象,在不同时刻执行回调对象相应的方法触发回调,调用应用程序的应用逻辑代码。回调模块提供四种类型的回调:发现回调、销毁回调、状态改变回调和消息回调。当第一次发布对象时,回调管理模块会立即触发发现回调;当取消发布对象时,回调管理模块会立即触发销毁回调;当更新对象时,且应用程序调用evokeCallback应用程序接口时,回调管理模块会触发状态改变回调;当接收到消息时,回调管理模块会立即触发消息回调。回调的相关类图设计如图7所示。Callback为回调对象的基类,其定义了抽象接口execute。DiscoveryCallbacklmpl、DestructionCallbacklmpl、StateChangeCallbacklmpl和MessageCallbacklmpl都继承接口Callback,它们的execute方法由应用程序人员填写回调处理逻辑。Proxy为远程服务对象的代理,其维护一个Callback回调队列,并提供evokeCallback函数唤醒回调并执行回调函数。
如图8所示,当事件通道的Push回调函数接收到所订阅的数据后,将该数据类型与订阅的数据类型进行匹配,然后利用匹配成功的数据更新本地代理对象的值。同时判断收到数据的事件头标志位,如果对象第一次发布,则调用发现回调对象的回调函数execute,如果是取消发布,则调用销毁回调对象的回调函数execute,如果不是发现或销毁回调,则利用本地代理对象构建状态改变或消息回调对象,并存入回调队列。当应用程序调用evokeCallback服务时,回调管理模块判断回调队列是否为空,如果不为空则取出回调队列队头回调对象并调用其回调方法execute。
为方便虚拟试验人员使用,将四个模块的功能封装成应用程序接口API,主要分为四类:
1)运行管理
(1)JoinDomain,加入试验域;
(2)ExitDomain,退出试验域。
2)交互管理
(1)PublishVIO,发布对象;
(2)UnPublishVIO,取消发布对象;
(3)SubscribeToVIO,订阅对象;
(4)UnSubscribeVIO,取消订阅对象;
(5)UpdateVIO,更新对象
(6)PublishMessage,发布消息;
(7)UnPublishMessage,取消发布消息;
(8)SubscribeToMessage,订阅消息;
(9)UnSubscribeMessage,取消订阅消息;
(10)SendMessage,发送消息。
3)时间模块
(1)SendTime,向时间服务器发送请求推进时间;
(2)WaitTimeForward,等待时间服务器允许推进;
(3)GetTime,获得当前推进时间。
4)回调管理模块
(1)evokeCallback,唤醒状态改变或消息回调。
应用程序调用API的流程如图9所示:
1)应用程序调用运行管理模块的接口加入试验域;
2)应用程序调用交互管理模块接口发布对象或消息,订阅对象或消息;
3)应用程序调用时间推进模块接口请求时间推进;
4)应用程序调用时间推进模块接口等待时间推进,时间推进模块允许应用程序推进;
5)应用程序调用时间管理模块接口得到当前系统时间;
6)应用程序调用回调管理模块接口唤醒回调,回调管理模块触发回调,调用应用程序的应用逻辑代码;
7)应用程序调用交互管理模块接口更新对象;
8)应用程序调用交互管理模块接口发送消息;
9)重复执行3~8;
10)应用程序退出时,调用交互管理模块接口取消发布对象或消息,取消订阅对象或消息;
11)应用程序调用运行管理模块接口退出域。
通过某领域的虚拟试验证明本发明的中间件系统具有互操作性、可重用性、跨平台、实时等特性,提高了系统的开发效率,降低了系统的开发费用。
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。

Claims (4)

1.一种基于TAO的虚拟试验中间件系统,所述TAO(The ACE ORB)是基于ACE按照实时CORBA(Common Object Request BrokerArchitecture)标准实现的ORB(Object Request Broker),ACE指自适应通信环境,即Adaptive Communication Environment,其特征在于:所述中间件系统包括:时间推进模块、运行管理模块、交互管理模块、回调管理模块及应用程序接口API;时间推进模块、运行管理模块、交互管理模块、回调管理模块均通过事件通道传送数据,所述事件通道是指TAO的ORB中的事件通道对象;
时间推进模块,负责整个虚拟试验应用系统的时间推进,时间推进模块分为时间客户端和时间服务端两部分;时间客户端调用运行管理模块的命名服务获取事件通道,利用事件通道将虚拟试验应用程序需要发送的时间请求发送给时间服务端;时间客户端还利用事件通道从时间服务端接收推进时间,并通知虚拟试验应用系统中的应用程序;时间服务端提供逻辑时间推进和实时时间推进两种服务,逻辑时间推进为全数学模型搭建的虚拟试验应用系统接入提供推进服务,实时时间推进为有半实物或实物设备搭建的虚拟试验应用系统接入提供服务,时间服务端通过读取配置文件确定时间推进方式;逻辑时间推进时,时间服务端通过事件通道接收来自应用程序发送的时间推进请求,存储在以优先级队列实现的时间队列中,定时从队列中取最小的时间通过事件通道发送给应用程序;实时时间推进时,定时将从实时操作系统或实时设备包括实物设备或半实物设备获取的精确的真实时间通过事件通道发送给应用程序;
运行管理模块,为时间推进模块、交互管理模块提供命名服务;创建与销毁事件通道;创建与销毁试验域,并对试验域内的应用程序的加入和退出进行管理;所述试验域为虚拟试验应用程序的集合;
交互管理模块,调用运行管理模块的命名服务获取事件通道,维护虚拟试验应用系统中的对象交互和消息传递,保证对象和消息的正确交互,并提供远程方法调用功能;对象交互包括对象发布、对象订阅和对象更新,消息传递包括消息发布、消息订阅和消息发送;
回调管理模块,接收事件通道推送的数据,根据数据类型构建不同的回调对象,在不同时刻唤醒回调对象,执行回调对象相应的方法触发回调,调用虚拟试验应用系统中的应用程序的应用逻辑代码;
应用程序接口API,对上述四个模块中时间推进模块的时间客户端功能,运行管理模块中的试验域管理功能,交互管理模块的对象交互和消息传递功能,回调管理模块中的回调唤醒功能进行封装,为虚拟试验应用系统中的应用程序提供使用接口。
2.根据权利要求1所述的基于TAO的虚拟试验中间件系统,其特征在于:所述运行管理模块包括命名服务模块、事件通道管理模块和试验域管理模块,分别提供命名服务、事件通道和试验域管理;
命名服务模块通过TAO的命名服务实现,为时间推进模块、交互管理模块提供命名服务,提供名字到对象的查找和定位服务。
事件通道管理模块,管理事件通道的创建与销毁,事件通道的创建流程为:首先读取配置文件中连接命名服务的通信方式,初始化ORB,并获取命名服务;设置事件通道属性参数,调用构造函数创建事件通道对象;调用命名服务的绑定操作,将事件通道对象绑定到命名服务,供时间推进模块、交互管理模块、回调管理模块引用;事件通道的销毁通过调用析构函数实现;
试验域管理模块包含试验域的创建、销毁,试验域内应用程序的加入和退出功能,通过命名服务创建不同的名字空间实现试验域的创建,当该试验域不再使用或要强制销毁该试验域时,通过调用试验域的析构函数来实现试验域的销毁;试验域管理模块为每个域维护一个应用程序集合,应用程序加入域时在对应域的应用程序集合中添加应用程序名称,应用程序退出域时,删除对应域的应用程序集合中的应用程序名称。
3.根据权利要求1所述的基于TAO的虚拟试验中间件系统,其特征在于:所述交互管理模块包括关系表模块、对象交互模块、消息传递模块、远程方法调用模块:关系表模块为对象交互模块和消息传递模块提供查询服务,存储了虚拟试验应用系统中的对象和消息的名称到对应ID的映射关系;对象交互管理模块通过应用程序接口API得到需发布或订阅的对象名称,查找关系表模块中对应的ID,通过运行管理模块中的命名服务找到事件通道,调用事件通道对象的接口设置过滤条件,并重新连接事件通道完成对象的发布或订阅;对象交互管理模块通过应用程序接口API得到需更新的对象数据,并对数据的类型进行转换,调用事件通道的推送接口更新数据;消息传递管理模块通过应用程序接口API得到需发布或订阅的消息名称,查找关系表模块中对应的ID,通过运行管理模块中的命名服务找到事件通道,调用事件通道对象的接口设置过滤条件,并重新连接事件通道完成消息的发布或订阅;消息传递模块通过应用程序接口API得到需发送的消息数据,并对数据的类型进行转换,调用事件通道的推送接口发送消息;对象数据缓存一直到试验对象被销毁,消息为瞬间数据,发送完成后被销毁,不缓存;远程方法调用模块通过CORBA实现。
4.根据权利要求1所述的基于TAO的虚拟试验中间件系统,其特征在于:所述回调管理模块中构建的回调对象分为四种类型:发现回调、销毁回调、状态改变回调和消息回调;当虚拟试验应用系统中应用程序调用交互管理模块提供的发布对象应用程序接口API时,立即触发发现回调;当虚拟试验应用系统应用程序调用交互管理模块提供的取消对象发布应用程序接口API时,立即触发销毁回调;当虚拟试验应用程序调用交互管理模块提供的对象更新应用程序接口API时,且应用程序调用唤醒回调应用程序接口API时,触发状态改变回调;当事件通道接收到消息时,立即触发消息回调。
CN201210433660.XA 2012-10-31 2012-10-31 一种基于tao的虚拟试验中间件系统 Active CN102937895B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210433660.XA CN102937895B (zh) 2012-10-31 2012-10-31 一种基于tao的虚拟试验中间件系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210433660.XA CN102937895B (zh) 2012-10-31 2012-10-31 一种基于tao的虚拟试验中间件系统

Publications (2)

Publication Number Publication Date
CN102937895A true CN102937895A (zh) 2013-02-20
CN102937895B CN102937895B (zh) 2016-08-10

Family

ID=47696794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210433660.XA Active CN102937895B (zh) 2012-10-31 2012-10-31 一种基于tao的虚拟试验中间件系统

Country Status (1)

Country Link
CN (1) CN102937895B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103399541A (zh) * 2013-07-22 2013-11-20 苏州有色金属研究院有限公司 铝板带轧制工艺过程控制系统的通讯方法
CN103605556A (zh) * 2013-10-23 2014-02-26 中国运载火箭技术研究院 虚拟试验对象一体化构建系统及方法
CN107851045A (zh) * 2015-07-23 2018-03-27 微软技术许可有限责任公司 跨平台的协调动作
CN108958958A (zh) * 2018-07-25 2018-12-07 哈尔滨工业大学 一种基于tao的rs422通讯模块远程访问的方法
CN110677268A (zh) * 2018-07-03 2020-01-10 中国电信股份有限公司 Nfv自动编排调度方法、装置和系统
CN111381983A (zh) * 2020-03-06 2020-07-07 西安理工大学 虚拟试验靶场验证系统的轻量级消息中间件系统及方法
CN114296809A (zh) * 2021-12-24 2022-04-08 深圳航天科技创新研究院 一种基于操作系统的对象模型构建方法及其系统调用接口

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6839748B1 (en) * 2000-04-21 2005-01-04 Sun Microsystems, Inc. Synchronous task scheduler for corba gateway
CN101923485A (zh) * 2009-06-17 2010-12-22 大唐软件技术股份有限公司 Corba系统中的java远程调用方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6839748B1 (en) * 2000-04-21 2005-01-04 Sun Microsystems, Inc. Synchronous task scheduler for corba gateway
CN101923485A (zh) * 2009-06-17 2010-12-22 大唐软件技术股份有限公司 Corba系统中的java远程调用方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王鹏杰: "CORBA核心服务的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 4, 15 December 2004 (2004-12-15) *
赵正伟: "基于组件的分布虚拟试验软件研究与应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 6, 15 June 2007 (2007-06-15) *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103399541A (zh) * 2013-07-22 2013-11-20 苏州有色金属研究院有限公司 铝板带轧制工艺过程控制系统的通讯方法
CN103399541B (zh) * 2013-07-22 2016-04-06 苏州有色金属研究院有限公司 铝板带轧制工艺过程控制系统的通讯方法
CN103605556A (zh) * 2013-10-23 2014-02-26 中国运载火箭技术研究院 虚拟试验对象一体化构建系统及方法
CN107851045A (zh) * 2015-07-23 2018-03-27 微软技术许可有限责任公司 跨平台的协调动作
US11050818B2 (en) 2015-07-23 2021-06-29 Microsoft Technology Licensing, Llc Coordinating an action between devices
CN110677268A (zh) * 2018-07-03 2020-01-10 中国电信股份有限公司 Nfv自动编排调度方法、装置和系统
CN108958958A (zh) * 2018-07-25 2018-12-07 哈尔滨工业大学 一种基于tao的rs422通讯模块远程访问的方法
CN111381983A (zh) * 2020-03-06 2020-07-07 西安理工大学 虚拟试验靶场验证系统的轻量级消息中间件系统及方法
CN111381983B (zh) * 2020-03-06 2022-09-20 西安理工大学 虚拟试验靶场验证系统的轻量级消息中间件系统及方法
CN114296809A (zh) * 2021-12-24 2022-04-08 深圳航天科技创新研究院 一种基于操作系统的对象模型构建方法及其系统调用接口
CN114296809B (zh) * 2021-12-24 2023-05-05 深圳航天科技创新研究院 一种基于操作系统的对象模型构建方法及其系统调用接口

Also Published As

Publication number Publication date
CN102937895B (zh) 2016-08-10

Similar Documents

Publication Publication Date Title
CN102937895A (zh) 一种基于tao的虚拟试验中间件系统
CN102945165B (zh) 虚拟试验支撑平台
CN111381983B (zh) 虚拟试验靶场验证系统的轻量级消息中间件系统及方法
US20040068479A1 (en) Exploiting asynchronous access to database operations
CN109677465B (zh) 用于轨道交通综合监控系统的分布式实时系统架构
CN106484321A (zh) 一种数据存储方法及数据中心
CN110309231A (zh) 一种跨机房的数据同步方法及系统
CN103763353A (zh) 一种水利数据交换模型及方法
CN103677983A (zh) 应用的调度方法及装置
US20080271055A1 (en) Protocol for communication of data structures
CN112416980B (zh) 数据业务处理方法、装置及设备
CN103763325B (zh) 构建ip安防产品开发环境的方法
CN104765644A (zh) 基于智能体Agent的资源协作演化系统及方法
CN103312623B (zh) 任务协作装置及方法
CN202798801U (zh) 一种用于实现分布式数据交互的通用性通讯系统
CN101924768A (zh) 一种分布式rfid中间件的通信控制方法
Ai et al. AGV scheduling system based on MQTT protocol
Heng et al. Research on LVC real-time integration based on DDS
CN116418811A (zh) 一种分布式事件发布订阅方法、装置、系统及存储介质
CN116804949B (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN102143181B (zh) 网格环境中获取资源的方法及装置
Kunkelmann et al. Interoperability of distributed transaction processing systems
CN102065133A (zh) 支持Portlet协作构建复杂业务逻辑的方法和系统
Su et al. Army Tactical Information System Software Framework Based on SOA Design
Hao et al. Distributed Message Processing System Based for Internet of Things

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant