CN109714391A - 分布式消息分发系统 - Google Patents
分布式消息分发系统 Download PDFInfo
- Publication number
- CN109714391A CN109714391A CN201811405633.5A CN201811405633A CN109714391A CN 109714391 A CN109714391 A CN 109714391A CN 201811405633 A CN201811405633 A CN 201811405633A CN 109714391 A CN109714391 A CN 109714391A
- Authority
- CN
- China
- Prior art keywords
- message
- node
- theme
- subscription
- value
- 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
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种分布式消息分发系统,在该系统中,根据消息类型和主题,将消息分为三个优先级,即重要、一般、不重要三级;对于重要级别的消息类型,全部采用预分发机制;对于普通级别的消息类型,要周期性地进行订阅端需求预测,根据预测结果确定是否进行预分发;对于不重要级别的消息类型,禁止进行预分发。对于普通级别的消息类型,对订阅消息的历史情况进行统计进而计算出各主题的订阅可能性值,该值越大,订阅端未来订阅该主题消息的可能性越大,该值越小,订阅端未来订阅该主题消息的可能性越小。本发明所提出的分布式消息分发系统能够有效缓解网络压力,大大提高消息分发的速度和质量。
Description
技术领域
本发明涉及网络通信领域,具体涉及一种分布式消息分发系统。
背景技术
网络数据通信的关键技术包括消息分发机制,消息分发机制要从实时性、可靠性等多个方面满足网络数据通信日益增长的需求。消息分发机制分为集中式消息分发和分布式消息分发两种,其中集中式消息分发系统中存在一个服务器节点,远程网络节点通过服务器提供的服务注册、查询发布/订阅信息;分布式消息分发系统中的所有节点是完全对等的,系统中的每一个节点都有一个发布/订阅信息的副本,所有的消息类型、主题、发布/订阅信息都是在本地注册的,然后由消息分发服务网络中间件完成这些信息的组播分发,以保证系统中所有节点信息的一致性和完整性。当进行消息的发布时,发布者应用端通过“写”操作将消息保存到本地,然后根据该系统特定的QoS需求实时地将消息分发、传输给系统中对该消息感兴趣地订阅者应用端。
对于分布式消息分发机制,现有技术中存在的问题是:消息的分发通常按照实时分布、实时订阅、实时分发的原则进行,但是随着系统中需要分发的消息的种类和数量越来越多,网络的结构愈发复杂多样,这都给网络的正常运行带来越来越大的压力,以往的“随定随发”模式有时难以适应海量数据的分发需求。传统方法中通常是依靠提升系统、网络自身的硬件性能来解决这个问题,但这种传统解决方法一方面成本高,另一方面也不能完全解决该问题。因而,亟需一种缓解网络压力,提高消息分发速度和质量的方法。
发明内容
为了解决背景技术所提及的上述问题,本发明提供一种分布式消息分发系统,在该系统中,按照一定的逻辑关系将整个网络划分成若干各节点组,在每个节点组中有一个管理节点,在管理节点处有一个预分发基本信息表和一个本节点组订阅信息表,基本信息表中包含了预分发的消息的基本信息;订阅信息表中则是本节点组所有节点的订阅信息,以被查询、统计和使用;管理节点在有其它节点向该节点组预分发消息时担负预分发消息的缓存和管理职责,当本节点组节点订阅的消息有已经预分发到管理节点的,管理节点会根据订阅信息表和基本信息表的匹配情况将预分发消息由管理节点直接发送至本节点组中的节点;当没有预分发消息到达时,则管理节点与普通节点完全相同;该网络结构中的每个节点既是消息的发布节点,也是消息的订阅节点,担负着消息采集上传、指令分发下发的任务。
在该系统中,根据消息类型和主题,将消息分为三个优先级,即重要、一般、不重要三级;对于重要级别的消息类型,全部采用预分发机制;对于普通级别的消息类型,要周期性地进行订阅端需求预测,根据预测结果确定是否进行预分发;对于不重要级别的消息类型,禁止进行预分发。
对于普通级别的消息类型,进行订阅端需求预测可采用如下方法:对订阅消息的历史情况进行统计进而计算出各主题的订阅可能性值,该值越大,订阅端未来订阅该主题消息的可能性越大,该值越小,订阅端未来订阅该主题消息的可能性越小。
其中,当预分发到管理节点的消息直至失效都没有被订阅时,则该管理节点将该消息丢弃。
优选地,在一定时间段内将所丢弃消息的主题列为不重要级别;或者,在一定时间段内将所丢弃消息的主题其“订阅可能性值”打折,根据打折后的值确定是否进行预分发。
优选地,网络节点组是一个松散的结构,在没有消息预分发时所有节点都是普通节点,节点可以随时随地加入或退出。
优选地,各节点组的管理节点由用户自行设置,并能够根据需要进行更改。
优选地,所述优先级的设置固定不变;或者,所述优先级周期性地根据一定规则重新设置,和/或,人为地任意时间点进行设置。
优选地,对于重要级别的消息类型,采用建模、仿真的方法来设置合适的重要级别消息数量,根据所确定的数量来选择一定量的消息类型作为重要级别。
优选地,对于普通级别的消息类型,订阅数少于一定阈值的消息主题不对其进行计算,直接认定为不需要预分发。
优选地,订阅可能性值的计算方法采用如下步骤:
第一步,从当前时间点开始,将过去一段时间等长划分成互不重叠的若干时间段,而后确定订阅端在各时间段内所订阅的主题的种类以及订阅该主题消息的订阅方的数量,以这些参数为指标对其权值进行计算,而后以时间段为单位对各主题的已订阅值进行计算,最后相加算出过去一段时间内各主题的“已订阅值”;
第二步,以过去一段时间内各主题的“已订阅值”为输入,预测未来一段时间订阅端订阅某一主题的“订阅可能性值”大小;以预测出的“订阅可能性值”大小为依据,值越大,订阅端将要订阅的可能性越大,值越小,订阅端订阅的可能性越小;
第三步,判断某一主题的“订阅可能性值”是否大于设定的阈值,如大于,则当该主题的消息发布时,订阅端就要求将该消息预分发值订阅端节点组的管理节点缓存;
第四步,若节点组有节点订阅已预分发的消息时,则直接由管理节点将消息发送至订阅节点。
优选地,采用熵值法对所述参数权值进行计算,从而得到各主题的“已订阅值”。
优选地,采用基于时间序列的模型预测“订阅可能性值”大小。
本发明所提出的分布式消息分发系统能够有效缓解网络压力,大大提高消息分发的速度和质量。
附图说明
图1为本发明的分布式消息分发系统的网络结构图。
具体实施方式
下文将详细参考附图描述本发明的技术方案以及优选实施例,借此对本发明如何应用技术手段来解决技术问题,并达到技术效果的实现过程能充分理解并据以实施。为了全面理解本发明,在以下详细描述中提到了诸多细节,但本领域技术人员应该理解,本发明可以无需这些具体细节而实现。在其他实施例中,不详细描述公知的方法、过程,以免不必要地使实施例模糊。
在现有的分布式消息发布/订阅系统中,消息的分发通常按照实时发布、实时订阅、实时分发的原则进行,但随着系统中需要分发的消息的种类和数量越来越多,网络的结构愈发复杂多样,这都给网络的正常运行带来越来越大的压力,以往的“随定随发”模式有时难以适应海量消息的分发需求。本发明主要针对该问题,提出了一种利用预分发技术来解决上述问题的分布式消息分发系统。
在本发明的系统中,网络结构如附图1所示,即按照一定的逻辑关系(例如地理位置、订阅关系等)将整个网络划分成若干各节点组,例如附图1中的节点组一、二和三,在每个节点组中有一个管理节点,例如附图1中的节点1、2和3,在管理节点处有一个预分发基本信息表和一个本节点组订阅信息表,基本信息表中包含了预分发的消息的基本信息,如消息主题等;订阅信息表中则是本节点组所有节点的订阅信息,以被查询、统计和使用。管理节点在有其它节点向该节点组预分发消息时担负预分发消息的缓存和管理职责,当本节点组节点订阅的消息有已经预分发到管理节点的,管理节点会根据订阅信息表和基本信息表的匹配情况将预分发消息由管理节点直接发送至本节点组中的节点;当预分发到管理节点的消息直至失效都没有被订阅时,则该管理节点将该消息丢弃,并可选地在一定时间段内禁止该主题的消息被预分发;当没有预分发消息到达时,则管理节点与普通节点完全相同。该网络结构中的每个节点既是消息的发布节点,也是消息的订阅节点,担负着消息采集上传、指令分发下发的任务。
网络节点组是一个松散的结构,在没有消息预分发时所有节点都是普通节点,节点同样可以随时随地加入或退出;各节点组的管理节点可由用户自行设置,也可以根据需要进行更改;节点组内部各节点之间的网络拓扑结构可以采用现有技术中常见的网络拓扑结构,各节点之间不一定一定要能互相连接到,特殊节点在转发消息时也可以通过其他节点进行中继传输。
本发明中的预分发的机制如下:根据消息类型和主题,将消息分为三个优先级,即重要、一般、不重要三级。对于重要级别的消息类型,全部采用预分发机制。对于普通级别的消息类型,要周期性地进行订阅端需求预测,根据预测结果确定是否进行预分发。对于不重要级别的消息类型,禁止进行预分发。上述优先级地设置可以固定不变,也可以周期性地根据一定规则重新设置,也可以人为地任意时间点进行设置。
对于重要级别的消息类型,注意要控制该类型的消息数量,否则会加大网络负担,可采用建模、仿真的方法来设置合适的重要级别消息数量,根据所确定的数量来选择一定量的消息类型作为重要级别。
对于普通级别的消息类型,进行订阅端需求预测可采用如下方法:对订阅消息的历史情况进行统计进而计算出各主题的订阅可能性值,该值越大,订阅端未来订阅该主题消息的可能性越大,该值越小,订阅端未来订阅该主题消息的可能性越小。优选地,订阅数少于一定阈值的消息主题不计算,直接认定为不需要预分发。订阅可能性值的计算方法可采用如下步骤:
第一步,从当前时间点开始,将过去一段时间等长划分成互不重叠的若干时间段,而后确定订阅端在各时间段内所订阅的主题的种类以及订阅该主题消息的订阅方的数量,以这三个参数为指标采用熵值法对这三个参数的权值进行计算,而后以时间段为单位对各主题的已订阅值进行计算,最后相加算出过去一段时间内各主题的“已订阅值”;
第二步,以过去一段时间内各主题的“已订阅值”为输入,采用基于时间序列的模型预测未来一段时间订阅端订阅某一主题的“订阅可能性值”大小。以预测出的“订阅可能性值”大小为依据,值越大,订阅端将要订阅的可能性越大,值越小,订阅端订阅的可能性越小。
第三步,判断某一主题的“订阅可能性值”是否大于设定的阈值,如大于,则当该主题的消息发布时,订阅端就要求将该消息预分发值订阅端节点组的管理节点缓存;
第四步,若节点组有节点订阅已预分发的消息时,则直接由管理节点将消息发送至订阅节点;若没有节点订阅已预分发的消息,待该消息失效(消息有效期已过),管理节点将未发出去的消息丢弃。可选地,可在一定时间段内将该主题的消息列为不重要级别,也可在一定时间段内将其“订阅可能性值”打折,将打折后的值与设定的阈值相比。
以上所述仅为本发明的较佳实施例,并不用于限制本发明,凡在本发明精神和原则之内所做的任何修改、等同替换和改进等,均包含于本发明的保护范围之内。
Claims (10)
1.一种分布式消息分发系统,其特征在于,在该系统中,按照一定的逻辑关系将整个网络划分成若干各节点组,在每个节点组中有一个管理节点,在管理节点处有一个预分发基本信息表和一个本节点组订阅信息表,基本信息表中包含了预分发的消息的基本信息;订阅信息表中则是本节点组所有节点的订阅信息,以被查询、统计和使用;管理节点在有其它节点向该节点组预分发消息时担负预分发消息的缓存和管理职责,当本节点组节点订阅的消息有已经预分发到管理节点的,管理节点会根据订阅信息表和基本信息表的匹配情况将预分发消息由管理节点直接发送至本节点组中的节点;当没有预分发消息到达时,则管理节点与普通节点完全相同;该网络结构中的每个节点既是消息的发布节点,也是消息的订阅节点,担负着消息采集上传、指令分发下发的任务;
在该系统中,根据消息类型和主题,将消息分为三个优先级,即重要、一般、不重要三级;对于重要级别的消息类型,全部采用预分发机制;对于普通级别的消息类型,要周期性地进行订阅端需求预测,根据预测结果确定是否进行预分发;对于不重要级别的消息类型,禁止进行预分发;
对于普通级别的消息类型,进行订阅端需求预测可采用如下方法:对订阅消息的历史情况进行统计进而计算出各主题的订阅可能性值,该值越大,订阅端未来订阅该主题消息的可能性越大,该值越小,订阅端未来订阅该主题消息的可能性越小。
2.根据权利要求1所述的系统,其特征在于,当预分发到管理节点的消息直至失效都没有被订阅时,则该管理节点将该消息丢弃。
3.根据权利要求2所述的系统,其特征在于,在一定时间段内将所丢弃消息的主题列为不重要级别;或者,在一定时间段内将所丢弃消息的主题其“订阅可能性值”打折,根据打折后的值确定是否进行预分发。
4.根据权利要求1-3中任一项所述的系统,其特征在于,网络节点组是一个松散的结构,在没有消息预分发时所有节点都是普通节点,节点可以随时随地加入或退出。
5.根据权利要求1-4中任一项所述的系统,其特征在于,各节点组的管理节点由用户自行设置,并能够根据需要进行更改。
6.根据权利要求1-5中任一项所述的系统,其特征在于,所述优先级的设置固定不变;或者,所述优先级周期性地根据一定规则重新设置,和/或,人为地任意时间点进行设置。
7.根据权利要求1-6中任一项所述的系统,其特征在于,对于重要级别的消息类型,采用建模、仿真的方法来设置合适的重要级别消息数量,根据所确定的数量来选择一定量的消息类型作为重要级别。
8.根据权利要求1-7中任一项所述的系统,其特征在于,对于普通级别的消息类型,订阅数少于一定阈值的消息主题不对其进行计算,直接认定为不需要预分发。
9.根据权利要求1-8中任一项所述的系统,其特征在于,订阅可能性值的计算方法采用如下步骤:
第一步,从当前时间点开始,将过去一段时间等长划分成互不重叠的若干时间段,而后确定订阅端在各时间段内所订阅的主题的种类以及订阅该主题消息的订阅方的数量,以这些参数为指标对其权值进行计算,而后以时间段为单位对各主题的已订阅值进行计算,最后相加算出过去一段时间内各主题的“已订阅值”;
第二步,以过去一段时间内各主题的“已订阅值”为输入,预测未来一段时间订阅端订阅某一主题的“订阅可能性值”大小;以预测出的“订阅可能性值”大小为依据,值越大,订阅端将要订阅的可能性越大,值越小,订阅端订阅的可能性越小;
第三步,判断某一主题的“订阅可能性值”是否大于设定的阈值,如大于,则当该主题的消息发布时,订阅端就要求将该消息预分发值订阅端节点组的管理节点缓存;
第四步,若节点组有节点订阅已预分发的消息时,则直接由管理节点将消息发送至订阅节点。
10.根据权利要求1-9中任一项所述的系统,其特征在于,采用熵值法对所述参数权值进行计算,从而得到各主题的“已订阅值”;采用基于时间序列的模型预测“订阅可能性值”大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811405633.5A CN109714391A (zh) | 2018-11-23 | 2018-11-23 | 分布式消息分发系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811405633.5A CN109714391A (zh) | 2018-11-23 | 2018-11-23 | 分布式消息分发系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109714391A true CN109714391A (zh) | 2019-05-03 |
Family
ID=66254516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811405633.5A Pending CN109714391A (zh) | 2018-11-23 | 2018-11-23 | 分布式消息分发系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109714391A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113839987A (zh) * | 2021-08-24 | 2021-12-24 | 广州市瑞立德信息系统有限公司 | 一种基于消息队列的消息分发方法、门禁系统及存储介质 |
CN115514616A (zh) * | 2022-07-12 | 2022-12-23 | 北方信息控制研究院集团有限公司 | 一种异地试验训练仿真系统间集成互联可靠传输方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9264886B1 (en) * | 2015-06-15 | 2016-02-16 | International Business Machines Corporation | Scaling storage capability for subscriber data across multiple devices and device types in a mobile data network |
CN106453495A (zh) * | 2016-08-31 | 2017-02-22 | 北京邮电大学 | 一种基于内容流行度预测的信息中心网络缓存方法 |
-
2018
- 2018-11-23 CN CN201811405633.5A patent/CN109714391A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9264886B1 (en) * | 2015-06-15 | 2016-02-16 | International Business Machines Corporation | Scaling storage capability for subscriber data across multiple devices and device types in a mobile data network |
CN106453495A (zh) * | 2016-08-31 | 2017-02-22 | 北京邮电大学 | 一种基于内容流行度预测的信息中心网络缓存方法 |
Non-Patent Citations (1)
Title |
---|
冷枫麒: "基于发布/订阅的分布式数据分发技术的研究与实现", 《中国优秀硕士论文全文数据库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113839987A (zh) * | 2021-08-24 | 2021-12-24 | 广州市瑞立德信息系统有限公司 | 一种基于消息队列的消息分发方法、门禁系统及存储介质 |
CN113839987B (zh) * | 2021-08-24 | 2024-04-30 | 广州市瑞立德信息系统有限公司 | 一种基于消息队列的消息分发方法、门禁系统及存储介质 |
CN115514616A (zh) * | 2022-07-12 | 2022-12-23 | 北方信息控制研究院集团有限公司 | 一种异地试验训练仿真系统间集成互联可靠传输方法 |
CN115514616B (zh) * | 2022-07-12 | 2023-08-22 | 北方信息控制研究院集团有限公司 | 一种异地试验训练仿真系统间集成互联可靠传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Paschalidis et al. | Congestion-dependent pricing of network services | |
US20030120764A1 (en) | Real-time monitoring of services through aggregation view | |
US7099879B2 (en) | Real-time monitoring of service performance through the use of relational database calculation clusters | |
FI106420B (fi) | Palvelun ohjaus tietoliikenneverkossa | |
US6665262B1 (en) | Distributed fault management architecture | |
US8099488B2 (en) | Real-time monitoring of service agreements | |
CA2350817C (en) | Accounting and billing based on network use | |
CN103997725B (zh) | 用于抽象和编排网络环境中的移动数据网络的系统和方法 | |
US7860973B2 (en) | Data center scheduler | |
CN102907065B (zh) | 用于管理对等网络中的数据传递的系统和方法 | |
CN103283191B (zh) | 信息系统、控制装置、通信方法 | |
CN108605032A (zh) | 用于针对无线通信网络进行客户服务管理的方法和设备 | |
CN101098306A (zh) | 在流处理系统中控制何时发送消息的方法和系统 | |
CN109194718A (zh) | 一种区块链网络及其任务调度方法 | |
US20030046426A1 (en) | Real time traffic engineering of data-networks | |
CN109787915A (zh) | 网络访问的流量控制方法、装置、电子设备及存储介质 | |
CN109714391A (zh) | 分布式消息分发系统 | |
CN110839069A (zh) | 一种节点数据部署方法、部署节点、系统及介质 | |
CN117424638B (zh) | 基于星地融合的网络切片管理方法、装置及存储介质 | |
CN108833294A (zh) | 面向数据中心广域网的低带宽开销的流量调度方法 | |
CN106651453A (zh) | 面向网络平台的自动推广方法、系统和计算设备 | |
CN104871499A (zh) | 通信节点、控制装置、控制信息条目的管理方法以及程序 | |
CN104270466B (zh) | 数据上报方法及相关设备 | |
Nicolaescu et al. | Edge data repositories-the design of a store-process-send system at the edge | |
US8452869B2 (en) | System and method for managing customized service level agreement monitoring |
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 |
Application publication date: 20190503 |
|
WD01 | Invention patent application deemed withdrawn after publication |