CN109450908A - 基于分布式消息的通信方法 - Google Patents
基于分布式消息的通信方法 Download PDFInfo
- Publication number
- CN109450908A CN109450908A CN201811405601.5A CN201811405601A CN109450908A CN 109450908 A CN109450908 A CN 109450908A CN 201811405601 A CN201811405601 A CN 201811405601A CN 109450908 A CN109450908 A CN 109450908A
- Authority
- CN
- China
- Prior art keywords
- publisher
- subscriber
- health status
- information
- heartbeat
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/165—Combined use of TCP and UDP protocols; selection criteria therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种基于分布式消息的通信方法,发布者向信息库发送它的发布主题信息、订阅者向信息库发送它所感兴趣的订阅主题信息,信息库匹配发布主题信息和订阅主题信息及QoS,如匹配,则告之对它的主题感兴趣的订阅者,之后发布者将相应的数据发送给对应的订阅者;发布者、订阅者同时兼容UDP协议和TCP协议,根据网络实时的健康状况,自主选择传输层采用UDP协议或TCP协议传输数据。本发明所提出的方法可灵活调整通信协议,更好地兼顾实时性和可靠性。
Description
技术领域
本发明涉及网络通信领域,具体涉及一种基于分布式消息的通信方法。
背景技术
在分布式消息分发***中,中间件技术是重要技术之一。中间件在运行过程中,不仅有功能上的要求,而且还有实时性、可靠性等方面的约束。在有的通信环境中,信息的实时交换最为重要,***中的实时和关键性应用要求能做到“在正确的时间、正确的地点获取正确的数据”;而有的通信环境中,则信息的可靠传输最为重要。
对传统中间件来说,如果实时性要求较高,则往往在传输层采用UDP协议,通信双方在进行数据交换前无需事先建立网络连接,大大减少了连接开销,数据传输效率高,实时性好,但此类中间件可靠性不高。如果对可靠性要求较高,则大多基于TCP协议,虽然充分考虑了对实时性的支持,但效率不高,对一些实时性要求很高的领域,会导致灾难性的后果。
随着分布式消息分发技术的广泛应用,在很多特定通信环境中,对中间件的实时性和可靠性均提出了较高要求,因而传统中间件无法很好地满足该需求。
发明内容
为了解决背景技术所提及的上述问题,本发明提供一种基于分布式消息的通信方法,本发明的分布式消息分发***包括发布者、订阅者和信息库,发布者向信息库发送它的发布主题信息、订阅者向信息库发送它所感兴趣的订阅主题信息,信息库匹配发布主题信息和订阅主题信息及QoS,如匹配,则告之对它的主题感兴趣的订阅者,之后发布者将相应的数据发送给对应的订阅者;
该***中的发布者、订阅者同时兼容UDP协议和TCP协议,根据网络实时的健康状况,自主选择传输层采用UDP协议或TCP协议传输数据,即当***处于“健康状态”时,发布者和订阅者之间的数据传输采用UDP协议;当***处于“非健康状态”时,发布者和订阅者之间的数据传输采用TCP协议。
可选地,引入心跳检测机制,心跳检测机制通过周期性地给其他节点发送心跳包并等待响应的方式来检测***的健康状况。
可选地,所述心跳检测机制是推模型或拉模型。
可选地,周期性进行心跳检测,计算心跳包成功接收的比例,根据该比例判断***的健康状况。
可选地,包括以下具体步骤:
步骤101:周期性进行心跳检测,计算心跳包成功接收的比例;
步骤102:根据心跳包成功接收的比例确定***的“健康状况”;
步骤103:判断***是否处于“健康状态”,如果是,进入步骤104;如果否,进入步骤105;
步骤104:***处于“健康状态”,发布者和订阅者之间的数据传输采用UDP协议;
步骤105:***处于“非健康状态”,发布者和订阅者之间的数据传输采用TCP协议。
可选地,在步骤102中,提前设置一阈值,当心跳包成功接收的比例大于或等于该阈值时,将***视为“健康状态”;当心跳包成功接收的比例小于该阈值时,将***视为“非健康状态”。
本发明所提出的方法可灵活调整通信协议,更好地兼顾实时性和可靠性。
附图说明
图1为本发明的基于分布式消息的通信方法流程图。
具体实施方式
下文将详细参考附图描述本发明的技术方案以及优选实施例,借此对本发明如何应用技术手段来解决技术问题,并达到技术效果的实现过程能充分理解并据以实施。为了全面理解本发明,在以下详细描述中提到了诸多细节,但本领域技术人员应该理解,本发明可以无需这些具体细节而实现。在其他实施例中,不详细描述公知的方法、过程,以免不必要地使实施例模糊。
本发明的分布式消息分发***包括发布者、订阅者和信息库,发布者向信息库发送它的发布主题信息、订阅者向信息库发送它所感兴趣的订阅主题信息,信息库匹配发布主题信息和订阅主题信息及QoS,如匹配,则告之对它的主题感兴趣的订阅者,之后发布者将相应的数据实例发送给对应的订阅者。
发布者和订阅者之间通过主题来关联,发布者只需发布它所能提供的数据主题,订阅者只需订阅它所感兴趣的数据主题,匹配之后进行点对点的数据传输,无需借助信息库节点。如果为提高数据的传输速率,则传输层宜采用UDP协议;如果更看重可靠性,则传输层宜一般采用TCP协议。
在本发明中,为了兼顾实时性和可靠性,各网络设备同时兼容UDP协议和TCP协议,根据网络实时的健康状况,自主选择传输层采用UDP协议或TCP协议。为了能实时地监控***的“健康状况”,引入心跳检测机制,心跳检测机制通过周期性地给其他节点发送心跳包并等待响应的方式来检测***中各个节点的状态。本发明中使用的心跳检测机制可以是推模型,也可以是拉模型。
下面结合附图1,详细描述本发明的实施例。
步骤101:周期性进行心跳检测,计算心跳包成功接收的比例;
步骤102:根据心跳包成功接收的比例确定***的“健康状况”;
优选地,提前设置一阈值,当心跳包成功接收的比例大于或等于该阈值时,将***视为“健康状态”;当心跳包成功接收的比例小于该阈值时,将***视为“非健康状态”。
步骤103:判断***是否处于“健康状态”,如果是,进入步骤104;如果否,进入步骤105;
步骤104:***处于“健康状态”,发布者和订阅者之间的数据传输采用UDP协议;
步骤105:***处于“非健康状态”,发布者和订阅者之间的数据传输采用TCP协议。
在本发明中,通过心跳检测,确定网络状况比较好时,此时可靠性比较好,为提高网络传输效率,采用UDP协议;通过心跳检测,确定网络状况不太好时,此时可靠性比较差,首要的要解决可靠性问题,因而采用TCP协议。
以上所述仅为本发明的较佳实施例,并不用于限制本发明,凡在本发明精神和原则之内所做的任何修改、等同替换和改进等,均包含于本发明的保护范围之内。
Claims (6)
1.一种基于分布式消息的通信方法,其特征在于,分布式消息分发***包括发布者、订阅者和信息库,发布者向信息库发送它的发布主题信息、订阅者向信息库发送它所感兴趣的订阅主题信息,信息库匹配发布主题信息和订阅主题信息及QoS,如匹配,则告之对它的主题感兴趣的订阅者,之后发布者将相应的数据发送给对应的订阅者;
该***中的发布者、订阅者同时兼容UDP协议和TCP协议,根据网络实时的健康状况,自主选择传输层采用UDP协议或TCP协议传输数据,即当***处于“健康状态”时,发布者和订阅者之间的数据传输采用UDP协议;当***处于“非健康状态”时,发布者和订阅者之间的数据传输采用TCP协议。
2.根据权利要求1所述的方法,其特征在于,引入心跳检测机制,心跳检测机制通过周期性地给其他节点发送心跳包并等待响应的方式来检测***的健康状况。
3.根据权利要求2所述的方法,其特征在于,所述心跳检测机制是推模型或拉模型。
4.根据权利要求2-3中任一项所述的方法,其特征在于,周期性进行心跳检测,计算心跳包成功接收的比例,根据该比例判断***的健康状况。
5.根据权利要求4所述的方法,其特征在于包括以下具体步骤:
步骤101:周期性进行心跳检测,计算心跳包成功接收的比例;
步骤102:根据心跳包成功接收的比例确定***的“健康状况”;
步骤103:判断***是否处于“健康状态”,如果是,进入步骤104;如果否,进入步骤105;
步骤104:***处于“健康状态”,发布者和订阅者之间的数据传输采用UDP协议;
步骤105:***处于“非健康状态”,发布者和订阅者之间的数据传输采用TCP协议。
6.根据权利要求5所述的方法,其特征在于,在步骤102中,提前设置一阈值,当心跳包成功接收的比例大于或等于该阈值时,将***视为“健康状态”;当心跳包成功接收的比例小于该阈值时,将***视为“非健康状态”。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811405601.5A CN109450908A (zh) | 2018-11-23 | 2018-11-23 | 基于分布式消息的通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811405601.5A CN109450908A (zh) | 2018-11-23 | 2018-11-23 | 基于分布式消息的通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109450908A true CN109450908A (zh) | 2019-03-08 |
Family
ID=65553648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811405601.5A Pending CN109450908A (zh) | 2018-11-23 | 2018-11-23 | 基于分布式消息的通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109450908A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110049058A (zh) * | 2019-04-25 | 2019-07-23 | 深圳市云语科技有限公司 | 一种传输***底层传输协议选择方法 |
CN110086636A (zh) * | 2019-04-17 | 2019-08-02 | 平安科技(深圳)有限公司 | 一种基于mqtt的消息分发方法、服务器及存储介质 |
CN111935308A (zh) * | 2020-09-17 | 2020-11-13 | 中国人民解放军国防科技大学 | 空间动态网络中时空频资源数据订阅发布方法和装置 |
CN112468375A (zh) * | 2021-01-26 | 2021-03-09 | 奥特酷智能科技(南京)有限公司 | 一种针对数据分发服务的传输性能评估数据的获取方法 |
CN113449234A (zh) * | 2021-05-11 | 2021-09-28 | 中国人民解放军63729部队 | 一种数据多级订阅与发布的方法 |
CN114616815A (zh) * | 2019-11-12 | 2022-06-10 | 西门子股份公司 | 用于传输订阅数据的方法以及数据提供组件、数据消费组件、网络和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103078831A (zh) * | 2011-10-26 | 2013-05-01 | 新太科技股份有限公司 | 一种流媒体支持tcp和udp传送的自适应的方法 |
CN103166974A (zh) * | 2013-03-28 | 2013-06-19 | 浙江理工大学 | 一种基于tcp/udp混合协议的流媒体无线传输方法 |
WO2016049321A1 (en) * | 2014-09-25 | 2016-03-31 | Microsoft Technology Licensing, Llc | Managing classified network streams |
US20160285923A1 (en) * | 2015-03-27 | 2016-09-29 | At&T Intellectual Property I, Lp | Method and system for providing media services in a communication system |
CN106452841A (zh) * | 2016-09-13 | 2017-02-22 | 中国电子科技集团公司第三十二研究所 | 在机器人操作***中使用传输服务质量的方法 |
CN107104819A (zh) * | 2017-03-23 | 2017-08-29 | 武汉邮电科学研究院 | 基于sdn的自适应自协调统一通信***及通信方法 |
CN108040034A (zh) * | 2017-11-15 | 2018-05-15 | 中国航空无线电电子研究所 | 分布式实时通信中间件 |
-
2018
- 2018-11-23 CN CN201811405601.5A patent/CN109450908A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103078831A (zh) * | 2011-10-26 | 2013-05-01 | 新太科技股份有限公司 | 一种流媒体支持tcp和udp传送的自适应的方法 |
CN103166974A (zh) * | 2013-03-28 | 2013-06-19 | 浙江理工大学 | 一种基于tcp/udp混合协议的流媒体无线传输方法 |
WO2016049321A1 (en) * | 2014-09-25 | 2016-03-31 | Microsoft Technology Licensing, Llc | Managing classified network streams |
US20160285923A1 (en) * | 2015-03-27 | 2016-09-29 | At&T Intellectual Property I, Lp | Method and system for providing media services in a communication system |
CN106452841A (zh) * | 2016-09-13 | 2017-02-22 | 中国电子科技集团公司第三十二研究所 | 在机器人操作***中使用传输服务质量的方法 |
CN107104819A (zh) * | 2017-03-23 | 2017-08-29 | 武汉邮电科学研究院 | 基于sdn的自适应自协调统一通信***及通信方法 |
CN108040034A (zh) * | 2017-11-15 | 2018-05-15 | 中国航空无线电电子研究所 | 分布式实时通信中间件 |
Non-Patent Citations (1)
Title |
---|
屈军锁,左佳丽: "一种可靠数据传输技术的设计与实现", 《西安邮电大学学报》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110086636A (zh) * | 2019-04-17 | 2019-08-02 | 平安科技(深圳)有限公司 | 一种基于mqtt的消息分发方法、服务器及存储介质 |
CN110086636B (zh) * | 2019-04-17 | 2022-03-25 | 平安科技(深圳)有限公司 | 一种基于mqtt的消息分发方法、服务器及存储介质 |
CN110049058A (zh) * | 2019-04-25 | 2019-07-23 | 深圳市云语科技有限公司 | 一种传输***底层传输协议选择方法 |
CN114616815A (zh) * | 2019-11-12 | 2022-06-10 | 西门子股份公司 | 用于传输订阅数据的方法以及数据提供组件、数据消费组件、网络和装置 |
CN111935308A (zh) * | 2020-09-17 | 2020-11-13 | 中国人民解放军国防科技大学 | 空间动态网络中时空频资源数据订阅发布方法和装置 |
CN112468375A (zh) * | 2021-01-26 | 2021-03-09 | 奥特酷智能科技(南京)有限公司 | 一种针对数据分发服务的传输性能评估数据的获取方法 |
CN112468375B (zh) * | 2021-01-26 | 2021-04-23 | 奥特酷智能科技(南京)有限公司 | 一种针对数据分发服务的传输性能评估数据的获取方法 |
CN113449234A (zh) * | 2021-05-11 | 2021-09-28 | 中国人民解放军63729部队 | 一种数据多级订阅与发布的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109450908A (zh) | 基于分布式消息的通信方法 | |
CN104363407B (zh) | 一种视频会议***通讯方法及相应装置 | |
US8892759B2 (en) | Method and system for pacing, acking, timing, and handicapping (path) for simultaneous receipt of documents having trader markups | |
CN101699786A (zh) | 一种丢包检测的方法、装置和*** | |
US8565095B2 (en) | Context controlled data tap utilizing parallel logic for integrated link monitoring | |
CN106209915A (zh) | 一种实时流媒体无线传输方法及其*** | |
CN102859921A (zh) | 用于实现加速的吞吐量的***和方法 | |
CN101731014A (zh) | 支持群通信的方法和装置 | |
CN101690363A (zh) | 支持利用设备标识符进行群通信的方法和装置 | |
CN101690279A (zh) | 用于支持群通信连同数据重传支持的方法和装置 | |
CN102106113A (zh) | 用于时变容量的连接的流速率适应 | |
CN104660708A (zh) | 一种基于http的移动应用消息推送方法及*** | |
CN103634203B (zh) | 消息异步传输方法、装置和*** | |
CN101404599A (zh) | 网络故障检测的方法、主设备、从设备、控制终端和*** | |
CN106464510A (zh) | 高效地混合voip数据 | |
CN111585776B (zh) | 数据传输方法、装置、设备及计算机可读存储介质 | |
CN102484616B (zh) | 发送终端及频带估计方法 | |
CN101073237A (zh) | 用于传送多媒体文件的方法 | |
CN102111608A (zh) | 一种视频监控***的通信方法及其设备 | |
CN103369296A (zh) | 一种基于sip协议的地图视频监控***及视频传输方法 | |
CN110493658A (zh) | 一种网络带宽侦测方法、设备及存储设备 | |
CN110012051A (zh) | 通知推送方法、装置、终端设备、服务器及*** | |
US8224940B2 (en) | Strategies for compressing information using bloom filters | |
CN101548514B (zh) | 在一个移动无线电***中交换消息的方法和设备 | |
US7453812B1 (en) | Method for detecting and correcting publish-subscribe looping in a messaging network |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190308 |