CN110740182A - 一种基于dds技术的动态数据通信方法及设备 - Google Patents
一种基于dds技术的动态数据通信方法及设备 Download PDFInfo
- Publication number
- CN110740182A CN110740182A CN201910999675.4A CN201910999675A CN110740182A CN 110740182 A CN110740182 A CN 110740182A CN 201910999675 A CN201910999675 A CN 201910999675A CN 110740182 A CN110740182 A CN 110740182A
- Authority
- CN
- China
- Prior art keywords
- communication
- theme
- node
- routing table
- dds
- 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
Images
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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/028—Dynamic adaptation of the update intervals, e.g. event-triggered updates
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请属于实时嵌入式网络通信领域,特别涉及一种基于DDS技术的动态数据通信方法及设备。方法包括:步骤一:根据DDS通信过程中动态产生的主题ID,生成通信通道;步骤二:根据主题路由表判断通信数据是否需要路由,并通过所述通信通道进行所述通信数据的传输;步骤三:通信结束后,释放主题内存资源,更新所述主题路由表。本申请的基于DDS技术的动态数据通信方法,用户无须配置通信过程中的主题,即可适应各节点的点对点通信要求;通信的各节点只收到控制信息,不会收到与自身节点无关的信息,避免了冗余信息,同时保证了数据的安全。
Description
技术领域
本申请属于实时嵌入式网络通信领域,特别涉及一种基于DDS技术的动态数据通信方法及设备。
背景技术
实时网络应用程序根据应用场景会选择相应的通信协议,目前,对于利用DDS技术进行通信的应用程序,存在通信效率低下问题,这主要是由于以下几个方面的缺点造成的:a)DDS的主题过多场合占用系统内存,增加了应用程序内存占用率;b)DDS的主题过少场合通信效率低,占用网络流量,增大了应用程序CPU占用率;c)按需配置主题场合,对通信双方限定过多,缺乏通信灵活性,降低了软件的可维护性。若实时网络应用程序不使用DDS技术进行通信时,使用UDP协议进行通信也能够满足通信要求,使用UDP协议进行通信存在以下几个方面的缺点:a)使用UDP协议在网络上收发信息,网络的顺序受环境影响较大,容易出现乱序状况;b)使用UDP单播通信,对于有多个接收端场合,通信效率低且收信时间不同步;c)使用UDP组播通信,对于通信两端经常变化场合,不能够灵活配置组播组,通信范围受限;d)使用UDP广播通信,通信安全性难以保证,且通信效率低下。
因此,希望有一种技术方案来克服或至少减轻现有技术的至少一个上述缺陷。
发明内容
本申请的目的是提供了一种基于DDS技术的动态数据通信方法及设备,以解决现有技术中存在的至少一个问题。
本申请的技术方案是:
本申请的第一个方面提供了一种基于DDS技术的动态数据通信方法,包括:
步骤一:根据DDS通信过程中动态产生的主题ID,生成通信通道;
步骤二:根据主题路由表判断通信数据是否需要路由,并通过所述通信通道进行所述通信数据的传输;
步骤三:通信结束后,释放主题内存资源,更新所述主题路由表。
可选地,步骤一中,所述根据DDS通信过程中动态产生的主题ID,生成通信通道包括:
S11、获取DDS通信过程中动态产生的主题,并根据字符串映射成主题ID;
S12、发起端向各节点发送通信建立指令,请求建立通信通道,所述通信建立指令包含源节点ID和目的节点ID;
S13、各节点接收及解析所述通信建立指令,匹配所述源节点ID和所述目的节点ID,并在匹配成功场合根据所述主题ID建立通信通道,同时增加主题路由表中的主题。
可选地,S13中,所述根据所述主题ID建立通信通道包括:
创建服务质量策略类对象,设定服务质量策略;
创建域参与者对象,设定域ID;
注册通信数据类型;
根据字符串标识判断主题是否重名;
创建发送和接收消息的对象,包括创建发布或订阅主题;
创建相应的读写类,在订阅场合,创建监听器和创建读数据类对象,在发布场合,创建写数据类对象和写数据通道;
设定创建标识。
可选地,S13中,在匹配所述源节点ID和所述目的节点ID时,与自身匹配的节点在建立通信通道后,通过交互消息判断所述通信通道是否建立成功,交互消息未建立成功场合不能通信。
可选地,步骤三中,所述传输结束后,释放主题内存资源,更新所述主题路由表包括:
S31、通信结束后,发起端向各节点发送通道销毁指令,所述通道销毁指令信息包含源节点ID和目的节点ID,同时更新主题路由表;
S32、所述主题路由表间通过周期心跳完成主题路由表的同步。
可选地,S31中,所述更新主题路由表包括:
每个节点收到其他节点信息时,自身节点表决出具有最新的主题列表的节点,所述主题列表中数据最多的为最新主题列表;
各节点判断自身是否为最新主题列表,若否,则在最新的节点中取得最新主题列表。
可选地,S31中,所述主题路由表中只增加主题,不删除主题,对于删除的主题,首先增加主题路由表条目,再修改相应主题的属性。
可选地,S32中,所述主题路由表间通过周期心跳完成主题路由表的同步具体为:
各节点周期上报自身主题路由表信息条目,各节点均进行比对,根据最新节点的主题路由表更新自身的主题路由表。
本申请的第二个方面提供了一种基于DDS技术的动态数据通信设备,包括:
通信通道生成模块,用于根据DDS通信过程中所产生的主题ID,生成通信通道;
数据传输模块,用于根据主题路由表判断通信数据是否需要路由,并通过所述通信通道进行所述通信数据的传输;
内存释放模块,用于通信结束后,释放主题内存资源,更新所述主题路由表。
发明至少存在以下有益技术效果:
本申请的基于DDS技术的动态数据通信方法,用户无须配置通信过程中的主题,即可适应各节点的点对点通信要求;通信的各节点只收到控制信息,不会收到与自身节点无关的信息,避免了冗余信息,同时保证了数据的安全。
附图说明
图1是本申请一个实施方式的基于DDS技术的动态数据通信方法流程图;
图2是本申请一个实施方式的主题路由表更新流程图;
图3是本申请一个实施方式的通信通道生成流程图;
图4是本申请另一个实施方式的主题路由表更新流程图。
具体实施方式
为使本申请实施的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本申请一部分实施例,而不是全部的实施例。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。下面结合附图对本申请的实施例进行详细说明。
在本申请的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请保护范围的限制。
下面结合附图1至图4对本申请做进一步详细说明。
本申请的第一个方面提供了一种基于DDS技术的动态数据通信方法,包括:
步骤一:根据DDS通信过程中动态产生的主题ID,生成通信通道;
步骤二:根据主题路由表判断通信数据是否需要路由,并通过通信通道进行通信数据的传输;
步骤三:通信结束后,释放主题内存资源,更新主题路由表。
在本申请的一个实施方式中,根据DDS通信过程中动态产生的主题ID,生成通信通道包括:
S11、获取DDS通信过程中动态产生的主题,并根据字符串映射成主题ID;
S12、发起端向各节点发送通信建立指令,请求建立通信通道,通信建立指令包含源节点ID和目的节点ID;
S13、各节点接收及解析通信建立指令,匹配源节点ID和目的节点ID,并在匹配成功场合根据主题ID建立通信通道,同时增加主题路由表中的主题。
本实施例中,S13中,根据主题ID建立通信通道包括:
创建服务质量策略类对象,设定服务质量策略;
创建域参与者对象,设定域ID;
注册通信数据类型;
根据字符串标识判断主题是否重名;
创建发送和接收消息的对象,包括创建发布或订阅主题;
创建相应的读写类,在订阅场合,创建监听器和创建读数据类对象,在发布场合,创建写数据类对象和写数据通道;
设定创建标识。
有利的是,S13中,在匹配源节点ID和目的节点ID时,与自身匹配的节点在建立通信通道后,通过交互消息判断所述通信通道是否建立成功,交互消息未建立成功场合不能通信。
在本申请的一个实施方式中,步骤三中,传输结束后,释放主题内存资源,更新主题路由表包括:
S31、通信结束后,发起端向各节点发送通道销毁指令,通道销毁指令信息包含源节点ID和目的节点ID,同时更新主题路由表中的主题;
S32、主题路由表间通过周期心跳完成主题路由表的同步,即各节点通过周期心跳完成主题路由表不同步问题。
为防止通信节点异常情况导致主题路由表不同步情况,所有节点需要周期更新主题路由表,并且整个网络只有一份主题路由表,最新的路由表由最近的通信请求决定。为完成此要求,设计节点周期处理逻辑,S31中,更新主题路由表具体步骤包括:
每个节点收到其他节点信息时,自身节点表决出具有最新的主题列表的节点,主题列表中数据最多的为最新主题列表;
各节点判断自身是否为最新主题列表,若否,则在最新的节点中取得最新主题列表。
有利的是,S31中,主题路由表中只增加主题,不删除主题,对于删除的主题,首先增加主题路由表条目,再修改相应主题的属性。
S32中,主题路由表间通过周期心跳完成主题路由表的同步具体为:
各节点周期上报自身主题路由表信息条目,各节点均进行比对,根据最新节点的主题路由表更新自身的主题路由表。
本申请的基于DDS技术的动态数据通信方法,对DDS通信的原生接口的封装以及主题路由表接口的封装如下:
a、通信实体的生成,可以根据默认的服务质量策略生成通信实体,也可以根据指定的服务质量策略生成通信实体;
b、通信实体销毁,要求销毁后实体及实体所关联的对象均销毁;
c、通信实体不能重名,要求所有节点生成的通信实体都是唯一的,否则不能生成通信实体;
d、通信实体成对生成,不能生成不能参与通信的通信实体,要求参与通信的2个节点分别生成发布和订阅2种类型的实体。
e、主题路由表保持节点间同步,要求各个节点间的通信实体配置信息保持同步,即增加或减少任意节点场合,其通信实体配置信息要同步变化。
在本申请的一个实施方式中,主题路由表设计如下:
序号 | 主题 | 属性 | 是否删除 |
1 | S_11_01_E_12_01 | 发布 | 否 |
2 | S_12_01_E_11_01 | 订阅 | 否 |
3 | S_11_01_E_12_01 | 发布 | 是 |
4 | S_12_01_E_11_01 | 订阅 | 是 |
… | … | … | … |
根据上述的基于DDS技术的动态数据通信方法,本申请的第二个方面提供了一种基于DDS技术的动态数据通信设备,设备包括:通信通道生成模块,用于根据DDS通信过程中所产生的主题ID,生成通信通道;数据传输模块,用于根据主题路由表判断通信数据是否需要路由,并通过通信通道进行通信数据的传输;内存释放模块,用于通信结束后,释放主题内存资源,更新主题路由表。
本申请的基于DDS技术的动态数据通信方法及设备,在传输数据时,通信节点根据通信双方节点的标识,动态生成主题,按照主题索引并维护主题路由表,完成数据的通信,通信结束后回收相应的主题,终止通信;通信开始时,发起方向各节点发送传输命令,所有节点接收到传输双方的标识,与自身无关的节点接收命令后不处理,与自身有关的节点接收命令后各自建立发布主题和订阅主题,同时更新主题路由表;通信结束后,所有节点接收通信结束命令,通信双方销毁主题,同时更新主题路由表。本申请能够在传输节点不确定场合,确保在正确的时间,将正确的信息发送到正确的地点。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种基于DDS技术的动态数据通信方法,其特征在于,包括:
步骤一:根据DDS通信过程中动态产生的主题ID,生成通信通道;
步骤二:根据主题路由表判断通信数据是否需要路由,并通过所述通信通道进行所述通信数据的传输;
步骤三:通信结束后,释放主题内存资源,更新所述主题路由表。
2.根据权利要求1所述的基于DDS技术的动态数据通信方法,其特征在于,步骤一中,所述根据DDS通信过程中动态产生的主题ID,生成通信通道包括:
S11、获取DDS通信过程中动态产生的主题,并根据字符串映射成主题ID;
S12、发起端向各节点发送通信建立指令,请求建立通信通道,所述通信建立指令包含源节点ID和目的节点ID;
S13、各节点接收及解析所述通信建立指令,匹配所述源节点ID和所述目的节点ID,并在匹配成功场合根据所述主题ID建立通信通道,同时增加主题路由表中的主题。
3.根据权利要求2所述的基于DDS技术的动态数据通信方法,其特征在于,S13中,所述根据所述主题ID建立通信通道包括:
创建服务质量策略类对象,设定服务质量策略;
创建域参与者对象,设定域ID;
注册通信数据类型;
根据字符串标识判断主题是否重名;
创建发送和接收消息的对象,包括创建发布或订阅主题;
创建相应的读写类,在订阅场合,创建监听器和创建读数据类对象,在发布场合,创建写数据类对象和写数据通道;
设定创建标识。
4.根据权利要求2所述的基于DDS技术的动态数据通信方法,其特征在于,S13中,在匹配所述源节点ID和所述目的节点ID时,与自身匹配的节点在建立通信通道后,通过交互消息判断所述通信通道是否建立成功,交互消息未建立成功场合不能通信。
5.根据权利要求2所述的基于DDS技术的动态数据通信方法,其特征在于,步骤三中,所述传输结束后,释放主题内存资源,更新所述主题路由表包括:
S31、通信结束后,发起端向各节点发送通道销毁指令,所述通道销毁指令信息包含源节点ID和目的节点ID,同时更新主题路由表;
S32、所述主题路由表间通过周期心跳完成主题路由表的同步。
6.根据权利要求5所述的基于DDS技术的动态数据通信方法,其特征在于,S31中,所述更新主题路由表包括:
每个节点收到其他节点信息时,自身节点表决出具有最新的主题列表的节点,所述主题列表中数据最多的为最新主题列表;
各节点判断自身是否为最新主题列表,若否,则在最新的节点中取得最新主题列表。
7.根据权利要求6所述的基于DDS技术的动态数据通信方法,其特征在于,S31中,所述主题路由表中只增加主题,不删除主题,对于删除的主题,首先增加主题路由表条目,再修改相应主题的属性。
8.根据权利要求7所述的基于DDS技术的动态数据通信方法,其特征在于,S32中,所述主题路由表间通过周期心跳完成主题路由表的同步具体为:
各节点周期上报自身主题路由表信息条目,各节点均进行比对,根据最新节点的主题路由表更新自身的主题路由表。
9.一种基于DDS技术的动态数据通信设备,其特征在于,包括:
通信通道生成模块,用于根据DDS通信过程中所产生的主题ID,生成通信通道;
数据传输模块,用于根据主题路由表判断通信数据是否需要路由,并通过所述通信通道进行所述通信数据的传输;
内存释放模块,用于通信结束后,释放主题内存资源,更新所述主题路由表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910999675.4A CN110740182B (zh) | 2019-10-21 | 2019-10-21 | 一种基于dds技术的动态数据通信方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910999675.4A CN110740182B (zh) | 2019-10-21 | 2019-10-21 | 一种基于dds技术的动态数据通信方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110740182A true CN110740182A (zh) | 2020-01-31 |
CN110740182B CN110740182B (zh) | 2022-05-06 |
Family
ID=69270316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910999675.4A Active CN110740182B (zh) | 2019-10-21 | 2019-10-21 | 一种基于dds技术的动态数据通信方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110740182B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400228A (zh) * | 2020-02-24 | 2020-07-10 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | DDS通信中间件集成RapidIO传输的方法及系统 |
CN114553657A (zh) * | 2022-02-09 | 2022-05-27 | 北京润科通用技术有限公司 | 一种数据管理方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102891797A (zh) * | 2012-07-02 | 2013-01-23 | 上海交通大学 | 支持消息持久化的发布订阅方法 |
EP2933972A1 (en) * | 2014-04-17 | 2015-10-21 | Thomson Licensing | Publish/subscribe network enabled for multimedia signaling control, method for initiating a session within the network, respective network device and computer readable storage medium |
CN107976916A (zh) * | 2017-11-24 | 2018-05-01 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于以太网的arinc429总线仿真方法 |
CN108924183A (zh) * | 2018-05-31 | 2018-11-30 | 北京百度网讯科技有限公司 | 用于处理信息的方法及装置 |
CN109783066A (zh) * | 2018-11-21 | 2019-05-21 | 南京华讯方舟通信设备有限公司 | 一种dds内部实体数据关联和处理的实现方法 |
CN109814871A (zh) * | 2018-12-29 | 2019-05-28 | 中国科学院空间应用工程与技术中心 | 基于dds总线的节点管理方法及系统 |
-
2019
- 2019-10-21 CN CN201910999675.4A patent/CN110740182B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102891797A (zh) * | 2012-07-02 | 2013-01-23 | 上海交通大学 | 支持消息持久化的发布订阅方法 |
EP2933972A1 (en) * | 2014-04-17 | 2015-10-21 | Thomson Licensing | Publish/subscribe network enabled for multimedia signaling control, method for initiating a session within the network, respective network device and computer readable storage medium |
CN107976916A (zh) * | 2017-11-24 | 2018-05-01 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于以太网的arinc429总线仿真方法 |
CN108924183A (zh) * | 2018-05-31 | 2018-11-30 | 北京百度网讯科技有限公司 | 用于处理信息的方法及装置 |
CN109783066A (zh) * | 2018-11-21 | 2019-05-21 | 南京华讯方舟通信设备有限公司 | 一种dds内部实体数据关联和处理的实现方法 |
CN109814871A (zh) * | 2018-12-29 | 2019-05-28 | 中国科学院空间应用工程与技术中心 | 基于dds总线的节点管理方法及系统 |
Non-Patent Citations (1)
Title |
---|
谷青范等: ""动态自适应DDS实时中间件的研究与实现"", 《计算机科学》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400228A (zh) * | 2020-02-24 | 2020-07-10 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | DDS通信中间件集成RapidIO传输的方法及系统 |
CN114553657A (zh) * | 2022-02-09 | 2022-05-27 | 北京润科通用技术有限公司 | 一种数据管理方法及装置 |
CN114553657B (zh) * | 2022-02-09 | 2024-01-30 | 北京润科通用技术有限公司 | 一种数据管理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110740182B (zh) | 2022-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200089489A1 (en) | Online upgrade method and apparatus for bluetooth cluster | |
CN104317765B (zh) | 一种基于串口通讯的一对多通讯系统和实现方法 | |
CN110366153B (zh) | 一种蓝牙自组网的方法 | |
JPH06125347A (ja) | メッセージ交換方法 | |
CN107342925B (zh) | 一种报文传输方法及装置 | |
CN104320459A (zh) | 一种节点管理方法和装置 | |
JP2003501881A (ja) | マルチキャストする方法および装置 | |
CN110740182B (zh) | 一种基于dds技术的动态数据通信方法及设备 | |
CN109168150B (zh) | 一种蓝牙快速组网方法 | |
WO2017193622A1 (zh) | 数据传输方法、装置及计算机存储介质 | |
CN109672632A (zh) | Fc-ae-asm网络数据通讯方法及系统 | |
CN113992603A (zh) | 冗余路径的资源预留方法、网络设备和存储介质 | |
CN110417876B (zh) | 会话方法、分布式系统中的节点服务器及主控设备 | |
US20060209774A1 (en) | Wireless base station, wireless mobile device, and wireless access network | |
US20080137638A1 (en) | Communication Network System Of Bus Network Structure And Message Routing Method Using The System | |
CN104038557B (zh) | 一种光纤连接的树形网络结构中设备软件批量升级方法 | |
US20080201403A1 (en) | Maintaning a View of a Cluster's Membership | |
US20220286877A1 (en) | Redundant session establishment method and apparatus, radio bearer establishment method and apparatus, and nodes, terminal, and medium | |
US20080130577A1 (en) | Wireless multicasting service method using relayed transmission scheme | |
CN115766829A (zh) | 通信处理方法和通信节点 | |
CN112235340B (zh) | 一种分布式区块链组网方法、装置、系统及存储介质 | |
CN101494587B (zh) | 一种分组网络隧道处理方法及通讯系统以及相关设备 | |
CN101510901B (zh) | 一种分布式设备间的通信方法、通信设备和通信系统 | |
CN108809840B (zh) | 一种用于控制和管理子网中组播组的方法 | |
CN111064622B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |