CN109788044A - 一种基于rti dds驱动的通信中间件 - Google Patents
一种基于rti dds驱动的通信中间件 Download PDFInfo
- Publication number
- CN109788044A CN109788044A CN201811624410.8A CN201811624410A CN109788044A CN 109788044 A CN109788044 A CN 109788044A CN 201811624410 A CN201811624410 A CN 201811624410A CN 109788044 A CN109788044 A CN 109788044A
- Authority
- CN
- China
- Prior art keywords
- data
- theme
- rti
- subject
- communication middleware
- 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.)
- Pending
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种基于RTI DDS驱动的通信中间件。通过初始化RTI DDS通信环境,注册并建立发布主题,定义待发布的数据和发布数据四个步骤实现发送功能,通过初始化RTI DDS通信环境,注册并建立订阅主题,实现订阅到的主题的处理函数和处理订阅的数据四个步骤实现接收功能。本发明简化了数据流程。
Description
技术领域
本发明属于网络通信技术领域,具体涉及一种基于RTI DDS驱动的通信中间件。
背景技术
DDS采用以数据为中心的发布-订阅模型(Data-Centric Publish-Subscribe,DCPS),提供了一个与平台无关的数据传输模型。DDS实现的目标是:在正确的时间里,把正确的信息传输给正确的使用者。它允许应用程序实时发布其拥有的信息,并订阅其需要的信息,较好地处理了不可靠网络通信中数据的自动发现、可靠性和冗余性等问题。
DDS是基于RTPS协议,具有通用的API接口,可以嵌入vxWorks等实时系统的程序中实现数据实时通信,也可以运行在Windows和UNIX平台的不同主机上传输数据。
基于RTPS之上的DDS具有如下特点:
1)以数据为中心
在通信服务中,无论是进行消息传递还是使用服务器,用户最终需要的都是数据,在传统的消息通信中,数据附在消息队列中,用户需要从消息中发现自己需要的数据。而DDS完全是以数据为中心的,在域中用“主题”标识用户想要发布/订阅的数据的类型,发送者和接收者通过主题关联后直接进行数据传输。
2)服务质量(QoS)控制
QoS控制对资源的可用情况、提供方对资源的占有程度及请求方对资源的期待程度分别程序化为主题QoS、发布者QoS和订阅者QoS。QoS参数虚拟了底层和整个通信机制,包括带宽限制、可靠性、等待时间和资源限制等等。发布方发布数据,订阅者订阅数据,中间件负责检查两者之间的QoS是否兼容,从而来建立连接或提示异常。
3)动态配置
客户/服务器模式和点对点消息传递机制都需要在发送数据前知道要将数据发送到哪里、何时发送数据,但是DDS是在订阅者订阅数据的时候就已经选择了与哪个连接器进行连接,当数据准备好的时候,该节点就已经知道向哪里发送该数据。DDS具有高效的动态配置能力,可以方便地增加节点,并快速发现新增加的节点及其主题。
武汉数字工程研究所的赵恒博士发表的文章《基于DDS模型的数据分发中间件的设计与实现》中设计并实现了一个数据分发中间件系统。其根据OMG发布的数据分发服务规范,通过设计和实现下面6个过程来完成中间件的开发。
(1)用户数据资源的发布与订阅;
(2)数据资源的发现与识别;
(3)配对节点选择与数据链路建立;
(4)数据传输;
(5)传输过程中节点状态监控;
(6)用户取消发布,订阅,数据链路释放与重建。
在实现过程中,用户将要实现的操作步骤多,参数配置与接口定义较为复杂,实用性差。
发明内容
本发明的目的在于提供一种基于RTI DDS驱动的通信中间件。
为了解决上述技术问题,本发明提供一种基于RTI DDS驱动的通信中间件,包括发送端、RTI DDS驱动以及接收端:
在发送端:
初始化RTI DDS驱动通信环境;
注册并建立发布主题;
定义待发布的数据;
发布主题数据;
在接收端:
初始化RTI DDS驱动通信环境;
注册并建立订阅主题
实现订阅到的主题的处理函数;
处理订阅的主题数据。
进一步,初始化RTI DDS驱动通信环境时,获取RTI DDS驱动域实例,配置域策略,创建域参与者。
进一步,注册并建立发布主题时,注册主题类型,创建主题实体,配置主题参数;同时,创建数据写入器用于发布主题数据。
进一步,将已注册主题与数据写入器关联,每个已注册主题配置一个数据写入器,通过数据写入器来发布主题数据。
进一步,定义待发布的主题数据时,对已创建的主题实体赋值,在每次发布主题数据前进行赋值操作。
进一步,发布主题数据时,调用主题对应的数据写入器,将主题实体数据发送出去,与主题实体数据一并发送的数据还包含主题相关配置信息,用于接收端进行主题匹配。
进一步,注册并建立订阅主题时,创建数据读取器用于读取从网络上接收到的主题数据;创建监听器用于监听网络数据的到达,网络到达时通知数据读取器读取数据。
进一步,主题处理函数用于处理订阅到的主题数据,为回调函数或虚函数,处理函数中包含用户对数据的处理需求。
进一步,实现处理函数后,将函数指针与通信中间件提供的接口相关联。
本发明与现有技术相比,其显著优点在于,
1)通用性广泛,通信中间件可在多个平台中运行,如桌面操作系统windows,
linux,unix,嵌入式操作系统vxworks等。
2)简单易实现,通信中间件通过对RTI DDS的使用流程和配置过程进行简化,只需要几个步骤即可实现发送和接收功能。通信中间件的实现过程与传统的网络通信TCP和UDP的实现过程类似,方便了使用
附图说明
图1是本发明实际应用结构框图。
图2是本发明通信过程示意图。
具体实施方式
容易理解,依据本发明的技术方案,在不变更本发明的实质精神的情况下,本领域的一般技术人员可以想象出本发明的多种实施方式。因此,以下具体实施方式和附图仅是对本发明的技术方案的示例性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限制或限定。
通信中间件的实际应用框图如图1所示。本发明所述基于RTI DDS驱动的通信中间件,包括以下步骤:
1.发送端实施方式
1)通信中间件初始化RTI DDS驱动通信环境
通信中间件获取RTI DDS驱动域工厂实例,配置域工厂策略,创建域参与者(RTIDDS驱动只支持8个域参与者,在定义域参与者时,先检测驱动中是否有已经存在的,如果没有再创建,设置域参与者策略,设置域参与者编码和名称,以作为与其他域参与者的区别。
2)注册并建立发布主题
通信中间件注册主题类型,创建主题实体,配置主题参数。主题实体包含主题名称和组成元素,是通信中间件的数据支撑。主题实体实例如下所示。
通信中间件创建数据写入器用于发布主题数据,将已注册主题与数据写入器关联。每个主题应配置一个数据写入器,通过数据写入器来发布数据。
3)定义待发布的数据
通信中间件对已创建的主题实体赋值,赋值过程可由使用者自定义。在每次发布数据前进行赋值操作。
4)发布数据
通信中间件通过调用主题对应的数据写入器,将主题实体数据发送出去,发出的数据除主题实体数据外还包含了主题相关配置信息,用于接收端进行主题匹配。
2.接收端实施方式
1)初始化RTI DDS通信环境
同发送端初始化RTI DDS通信环境。
2)注册并建立订阅主题
注册方式同发送端注册方式。
通信中间件创建数据读取器用于读取从网络上接收到的主题数据;通信中间件创建实例化监听器用于监听网络数据的到达,数据到达时通知数据读取器读取数据;将读取器、监听器和主题关联在一起实现订阅主题。每个主题应配置一个数据读取器和监听器。
3)实现订阅到的主题的处理函数(回调函数或者虚函数)
处理函数用于处理订阅到的主题数据,形式内容为回调函数或是虚函数,处理函数中包含用户对数据的处理需求,由用户自定义。用户实现处理函数后,将函数指针与通信中间件提供的接口关联实现主题的处理功能。
4)处理订阅的数据
通信中间件调用处理函数处理订阅到的数据。
如图2所示,本发明简化了RTI DDS中间件的使用方法,通过初始化RTI DDS通信环境,注册并建立发布主题,定义待发布的数据和发布数据四个步骤实现发送功能,通过初始化RTI DDS通信环境,注册并建立订阅主题,实现订阅到的主题的处理函数(回调函数或者虚函数)和处理订阅的数据四个步骤实现接收功能。
本发明通信中间件通过对RTI DDS的使用流程和配置过程进行简化,只需要几个步骤即可实现发送和接收功能。通信中间件的实现过程与传统的网络通信TCP和UDP的实现过程类似,方便了使用。通信中间件可在多个平台中运行,如桌面操作系统windows,linux,unix,嵌入式操作系统vxworks等。
Claims (9)
1.一种基于RTI DDS驱动的通信中间件,其特征在于,包括发送端、RTI DDS驱动以及接收端:
在发送端:
初始化RTI DDS驱动通信环境;
注册并建立发布主题;
定义待发布的数据;
发布主题数据;
在接收端:
初始化RTI DDS驱动通信环境;
注册并建立订阅主题
实现订阅到的主题的处理函数;
处理订阅的主题数据。
2.如权利要求1所述的基于RTI DDS驱动的通信中间件,其特征在于,初始化RTI DDS驱动通信环境时,获取RTI DDS驱动域实例,配置域策略,创建域参与者。
3.如权利要求1所述的基于RTI DDS驱动的通信中间件,其特征在于,注册并建立发布主题时,注册主题类型,创建主题实体,配置主题参数;同时,创建数据写入器用于发布主题数据。
4.如权利要求3所述的基于RTI DDS驱动的通信中间件,其特征在于,将已注册主题与数据写入器关联,每个已注册主题配置一个数据写入器,通过数据写入器来发布主题数据。
5.如权利要求1所述的基于RTI DDS驱动的通信中间件,其特征在于,定义待发布的主题数据时,对已创建的主题实体赋值,在每次发布主题数据前进行赋值操作。
6.如权利要求1所述的基于RTI DDS驱动的通信中间件,其特征在于,发布主题数据时,调用主题对应的数据写入器,将主题实体数据发送出去,与主题实体数据一并发送的数据还包含主题相关配置信息,用于接收端进行主题匹配。
7.如权利要求1所述的基于RTI DDS驱动的通信中间件,其特征在于,注册并建立订阅主题时,创建数据读取器用于读取从网络上接收到的主题数据;创建监听器用于监听网络数据的到达,网络到达时通知数据读取器读取数据。
8.权利要求1所述的基于RTI DDS驱动的通信中间件,其特征在于,主题处理函数用于处理订阅到的主题数据,为回调函数或虚函数,处理函数中包含用户对数据的处理需求。
9.利要求8所述的基于RTI DDS驱动的通信中间件,其特征在于,实现处理函数后,将函数指针与通信中间件提供的接口相关联。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811624410.8A CN109788044A (zh) | 2018-12-28 | 2018-12-28 | 一种基于rti dds驱动的通信中间件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811624410.8A CN109788044A (zh) | 2018-12-28 | 2018-12-28 | 一种基于rti dds驱动的通信中间件 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109788044A true CN109788044A (zh) | 2019-05-21 |
Family
ID=66497985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811624410.8A Pending CN109788044A (zh) | 2018-12-28 | 2018-12-28 | 一种基于rti dds驱动的通信中间件 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109788044A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112491624A (zh) * | 2020-11-30 | 2021-03-12 | 江苏极鼎网络科技有限公司 | 一种分布式数据分发方法 |
CN115664974A (zh) * | 2022-10-14 | 2023-01-31 | 南京芯传汇电子科技有限公司 | 仿真通讯方法、装置、电子设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130055423A (ko) * | 2011-11-18 | 2013-05-28 | 한국전자통신연구원 | 데이터 분배 서비스를 위한 미들웨어에서의 QoS를 지원하기 위한 장치 및 방법 |
CN103166975A (zh) * | 2013-04-03 | 2013-06-19 | 上海航天测控通信研究所 | 一种dds通信系统 |
CN104243606A (zh) * | 2014-09-29 | 2014-12-24 | 浙江大学 | 一种c/s模式的dds通信系统及方法 |
CN105138339A (zh) * | 2015-09-10 | 2015-12-09 | 中国航空无线电电子研究所 | 一种基于dds规范的分布式通信中间件开发方法 |
CN108040034A (zh) * | 2017-11-15 | 2018-05-15 | 中国航空无线电电子研究所 | 分布式实时通信中间件 |
-
2018
- 2018-12-28 CN CN201811624410.8A patent/CN109788044A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130055423A (ko) * | 2011-11-18 | 2013-05-28 | 한국전자통신연구원 | 데이터 분배 서비스를 위한 미들웨어에서의 QoS를 지원하기 위한 장치 및 방법 |
CN103166975A (zh) * | 2013-04-03 | 2013-06-19 | 上海航天测控通信研究所 | 一种dds通信系统 |
CN104243606A (zh) * | 2014-09-29 | 2014-12-24 | 浙江大学 | 一种c/s模式的dds通信系统及方法 |
CN105138339A (zh) * | 2015-09-10 | 2015-12-09 | 中国航空无线电电子研究所 | 一种基于dds规范的分布式通信中间件开发方法 |
CN108040034A (zh) * | 2017-11-15 | 2018-05-15 | 中国航空无线电电子研究所 | 分布式实时通信中间件 |
Non-Patent Citations (1)
Title |
---|
杜涛涛等: "面向实时数据分发服务的DDS性能研究", 《微计算机信息》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112491624A (zh) * | 2020-11-30 | 2021-03-12 | 江苏极鼎网络科技有限公司 | 一种分布式数据分发方法 |
CN112491624B (zh) * | 2020-11-30 | 2023-05-23 | 江苏极鼎网络科技有限公司 | 一种分布式数据分发方法 |
CN115664974A (zh) * | 2022-10-14 | 2023-01-31 | 南京芯传汇电子科技有限公司 | 仿真通讯方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105721512B (zh) | 一种采用远程过程调用系统的方法 | |
JP4707714B2 (ja) | 通信制御方法、コンピュータ・システム、会議管理サーバ、通信方法及び携帯端末 | |
EP0812089A2 (en) | Network-independent connection management | |
CN102523287A (zh) | 具有基础结构和直接模式的无线网络接口 | |
CN102685206A (zh) | 在对等网络中漫游群组 | |
CN106797400A (zh) | 用于使得能够经由服务层访问第三方服务的系统和方法 | |
CN110808948B (zh) | 远程过程调用方法、装置及系统 | |
CN109788044A (zh) | 一种基于rti dds驱动的通信中间件 | |
CN101485173A (zh) | 远程更新存在服务器上的用户状态 | |
CN108390950A (zh) | 一种消息推送方法、装置及设备 | |
KR20100027288A (ko) | 모바일 커뮤니티 서비스를 위한 시스템, 방법 및 장치 | |
US9986039B2 (en) | Network for multimedia control comprising functional entities having publisher and/or subscriber functionality, and method for initiating a multimedia session | |
CN112134915B (zh) | 一种应用层协议解耦合的通用网络处理系统 | |
CN106254206A (zh) | 一种信息处理方法和设备 | |
KR20160145030A (ko) | 멀티미디어 시그널링 제어 가능한 공시/가입 네트워크, 이 네트워크 내의 세션을 개시하기 위한 방법, 및 각각의 네트워크 디바이스 | |
KR101157039B1 (ko) | Ddsb 통신 시스템 및 방법 | |
CN109857572A (zh) | 实现远程调用的方法、装置、设备及计算机可读存储介质 | |
CN107835445A (zh) | 基于mqtt协议的电视控制方法、移动终端及电视 | |
US8224975B1 (en) | Web service initiation protocol for multimedia and voice communication over internet protocol | |
JP2007013353A (ja) | 文字/データ送受信システム、端末管理装置及びそれらに用いる文字/データ送受信方法並びにそのプログラム | |
CN112422609A (zh) | 一种编程装置、业务请求连接方法 | |
US20150365133A1 (en) | Touch and Talk Auto-Configuring of Video Conferences Using Near Field Communication (NFC) | |
CN108605222A (zh) | 用于在电信网络与电信终端设备之间传输参数数据且用于在电信终端设备上激活和/或改变和/或停用通过参数数据限定或表示的通信配置文件的方法、用于传输参数数据的系统、用于传输参数数据的电信终端设备、计算机程序以及计算机程序产品 | |
CN106330744B (zh) | 基于网络的主题订阅系统 | |
CN114731302B (zh) | 信息传输方法以及相关设备 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190521 |