CN104580456A - 一种用于分布式系统的动态消息分发方法及系统 - Google Patents
一种用于分布式系统的动态消息分发方法及系统 Download PDFInfo
- Publication number
- CN104580456A CN104580456A CN201410853956.6A CN201410853956A CN104580456A CN 104580456 A CN104580456 A CN 104580456A CN 201410853956 A CN201410853956 A CN 201410853956A CN 104580456 A CN104580456 A CN 104580456A
- Authority
- CN
- China
- Prior art keywords
- cluster
- packet
- dynamic message
- node
- server
- 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
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012545 processing Methods 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 19
- 238000013480 data collection Methods 0.000 claims description 15
- 238000004891 communication Methods 0.000 claims description 8
- 238000012986 modification Methods 0.000 abstract 1
- 230000004048 modification Effects 0.000 abstract 1
- 230000006872 improvement Effects 0.000 description 16
- 230000008859 change Effects 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种用于分布式系统的动态消息分发方法及系统通过采用分发逻辑表,使得当数据包的需求出现增加或变更时,不需要修改数据包发出者的信息,只需对分发逻辑表进行修改即可接收更多数据或改变数据包的发送路径,并且正在运行的服务器不会受到任何影响,有效提高系统的稳定性。而且本发明可根据实际需要增加数据采集功能,且不需要对服务器进行停机,不会干扰用户的正常使用,大大方便用户的使用。本发明作为一种用于分布式系统的动态消息分发方法及系统可广泛应用于分布式系统中。
Description
技术领域
本发明涉及通信领域,尤其涉及一种用于分布式系统的动态消息分发方法及系统。
背景技术
针对智能硬件领域的云服务,传统的消息路由方案,对集群的支持不好,对大数据的支撑不好,一旦需要接收更多的数据或者项目中需要新增数据收集功能, 一般都要求对服务器停机, 重新部署新软件,这样会导致影响到正在运行的服务器模块,不仅会影响系统稳定性,也为后期的维护带来了极大的不便。
发明内容
为了解决上述技术问题,本发明的目的是提供一种能适用于数据增加和变更,且不需重新部署服务器的一种用于分布式系统的动态消息分发方法及系统。
本发明所采用的技术方案是:
一种用于分布式系统的动态消息分发方法,包括以下步骤:
A、根据数据包的匹配信息和预设的匹配规则,在分发逻辑表中查找出对应节点;
B、获取对应节点的子节点中的集群;
C、根据预设的转发规则,将所述数据包转发至对应的处理服务器进行处理,并在处理后返回结果至通讯服务器。
作为所述的一种用于分布式系统的动态消息分发方法的进一步改进,还包括有数据采集步骤,其具体包括:
D1、在对应节点下增设用于数据采集的集群;
D2、根据数据包的匹配信息和预设的匹配规则,在分发逻辑表中查找出对应节点;
D3、获取对应节点的子节点中用于数据采集的集群;
D4、根据预设的转发规则,将数据包转发至对应的数据采集服务器进行数据收集。
作为所述的一种用于分布式系统的动态消息分发方法的进一步改进,所述数据包的格式包括有四个属性,其具体为消息标识、功能、操作动作和发送对象。
作为所述的一种用于分布式系统的动态消息分发方法的进一步改进,还包括:当需要对集群进行扩容时,则在另一服务器上启动该集群的镜像,并在该集群的节点下增加处理服务器,进而将数据包转发至新增的处理服务器进行处理。
作为所述的一种用于分布式系统的动态消息分发方法的进一步改进,所述集群中还设置有负载均衡策略,所述数据包可按照集群中的负载均衡策略转发至对应的处理服务器进行处理。
本发明所采用的另一技术方案是:
一种用于分布式系统的动态消息分发系统,包括:
查找模块,用于根据数据包的匹配信息和预设的匹配规则,在分发逻辑表中查找出对应节点;
获取模块,用于获取对应节点的子节点中的集群;
转发模块,用于根据预设的转发规则,将所述数据包转发至对应的处理服务器进行处理,并在处理后返回结果至通讯服务器。
作为所述的一种用于分布式系统的动态消息分发系统的进一步改进,还包括有数据采集模块,其具体包括:
集群增设单元,用于在对应节点下增设用于数据采集的集群;
节点查找单元,用于根据数据包的匹配信息和预设的匹配规则,在分发逻辑表中查找出对应节点;
集群获取单元,用于获取对应节点的子节点中用于数据采集的集群;
数据收集单元,用于根据预设的转发规则,将数据包转发至对应的数据采集服务器进行数据收集。
作为所述的一种用于分布式系统的动态消息分发系统的进一步改进,所述数据包的格式包括有四个属性,其具体为消息标识、功能、操作动作和发送对象。
作为所述的一种用于分布式系统的动态消息分发系统的进一步改进,还包括:
扩容模块,用于当需要对集群进行扩容时,则在另一服务器上启动该集群的镜像,并在该集群的节点下增加处理服务器,进而将数据包转发至新增的处理服务器进行处理。
作为所述的一种用于分布式系统的动态消息分发系统的进一步改进,所述集群中还设置有负载均衡策略,所述数据包可按照集群中的负载均衡策略转发至对应的处理服务器进行处理。
本发明的有益效果是:
本发明一种用于分布式系统的动态消息分发方法及系统通过采用分发逻辑表,使得当数据包的需求出现增加或变更时,不需要修改数据包发出者的信息,只需对分发逻辑表进行修改即可接收更多数据或改变数据包的发送路径,并且正在运行的服务器不会受到任何影响,有效提高系统的稳定性。而且本发明可根据实际需要增加数据采集功能,且不需要对服务器进行停机,不会干扰用户的正常使用,大大方便用户的使用。
附图说明
下面结合附图对本发明的具体实施方式作进一步说明:
图1是本发明一种用于分布式系统的动态消息分发方法的步骤流程图;
图2是本发明一种用于分布式系统的动态消息分发方法数据采集步骤的步骤流程图;
图3是本发明一种用于分布式系统的动态消息分发系统的模块方框图。
具体实施方式
参考图1,本发明一种用于分布式系统的动态消息分发方法,包括以下步骤:
A、根据数据包的匹配信息和预设的匹配规则,在分发逻辑表中查找出对应节点;
B、获取对应节点的子节点中的集群;
C、根据预设的转发规则,将所述数据包转发至对应的处理服务器进行处理,并在处理后返回结果至通讯服务器。
参考图2,作为所述的一种用于分布式系统的动态消息分发方法的进一步改进,还包括有数据采集步骤,其具体包括:
D1、在对应节点下增设用于数据采集的集群;
D2、根据数据包的匹配信息和预设的匹配规则,在分发逻辑表中查找出对应节点;
D3、获取对应节点的子节点中用于数据采集的集群;
D4、根据预设的转发规则,将数据包转发至对应的数据采集服务器进行数据收集。
作为所述的一种用于分布式系统的动态消息分发方法的进一步改进,所述数据包的格式包括有四个属性,其具体为消息标识、功能、操作动作和发送对象。
作为所述的一种用于分布式系统的动态消息分发方法的进一步改进,还包括:当需要对集群进行扩容时,则在另一服务器上启动该集群的镜像,并在该集群的节点下增加处理服务器,进而将数据包转发至新增的处理服务器进行处理。此时会重新计算哈希值, 部分数据包将会转发到新增的镜像中来处理。之前启动的两台服务器的负载会减轻。最终三个数据包大约每台承担三分之一的业务。
作为所述的一种用于分布式系统的动态消息分发方法的进一步改进,所述集群中还设置有负载均衡策略,所述数据包可按照集群中的负载均衡策略转发至对应的处理服务器进行处理。
参考图3,本发明一种用于分布式系统的动态消息分发系统,包括:
查找模块,用于根据数据包的匹配信息和预设的匹配规则,在分发逻辑表中查找出对应节点;
获取模块,用于获取对应节点的子节点中的集群;
转发模块,用于根据预设的转发规则,将所述数据包转发至对应的处理服务器进行处理,并在处理后返回结果至通讯服务器。
作为所述的一种用于分布式系统的动态消息分发系统的进一步改进,还包括有数据采集模块,其具体包括:
集群增设单元,用于在对应节点下增设用于数据采集的集群;
节点查找单元,用于根据数据包的匹配信息和预设的匹配规则,在分发逻辑表中查找出对应节点;
集群获取单元,用于获取对应节点的子节点中用于数据采集的集群;
数据收集单元,用于根据预设的转发规则,将数据包转发至对应的数据采集服务器进行数据收集。
作为所述的一种用于分布式系统的动态消息分发系统的进一步改进,所述数据包的格式包括有四个属性,其具体为消息标识、功能、操作动作和发送对象。
作为所述的一种用于分布式系统的动态消息分发系统的进一步改进,还包括:
扩容模块,用于当需要对集群进行扩容时,则在另一服务器上启动该集群的镜像,并在该集群的节点下增加处理服务器,进而将数据包转发至新增的处理服务器进行处理。
作为所述的一种用于分布式系统的动态消息分发系统的进一步改进,所述集群中还设置有负载均衡策略,所述数据包可按照集群中的负载均衡策略转发至对应的处理服务器进行处理。
本发明的具体实施例如下:
比如服务器收到如下一个数据包:
{
“header”:{
“send_to”:”monica”,
“module”:”switch”,
“action”:”set”,
“msg_id”:” 89028430e3a044ebb60fa940cf7bcead”
},
“body”:{
…………
}
}
那么该数据包的匹配信息为:monica.switch.set。然后尝试匹配分发逻辑表中的节点“annie.*.*”、“emily.*.*”、“victoria.*.*”、“jennifer.*.*”、“monica.*.*”。按照预设的匹配规则,仅有“monica.*.*”符合条件。那么取出“monica.*.*”的子节点,子节点中含有“monica-controller”集群。其中monica-controller有两台服务器提供该服务,分别为“c56641d5-6aa9-4d50-ab5f-d802d15079c4”和“74c74fb2-f487-47a6-8186-37bedd019935”。根据转发规则,会将数据包按照“monica-controller”配置的负载均衡策略而转发给monica-controller中的其中一台服务器,如转发给“74c74fb2-f487-47a6-8186-37bedd019935”。该数据包由“74c74fb2-f487-47a6-8186-37bedd019935”处理该数据包后返回结果给通讯服务器。
当用于数据采集的集群增设在节点“monica.switch.set”中,则在匹配查找时,“monica.switch.set”符合条件,那么取出“monica.switch.set”的子节点, 子节点中含有“data-collector”集群。根据转发规则,会将消息按照“data-collector”配置的负载均衡策略而转发data-collector中的其中一台服务器,如转发给“b3db097e-fac4-86cf-ec43b898b618” 。由于此处仅仅做数据收集,因此data-collector收到报文后不需要返回给发送者。
采用本发明的技术方案后,当数据包需求出现增加或者变更时,不需要修改数据包的发出者,仅需要修改分发信息表即可使某个模块收到更多的数据。比如以上的实施例中,当需要增加一个新的数据分析模块。这个模块需要获取到所有的module为“switch”的数据包。那么就可以新增一个“*.switch.*”的分发节点,并在这个节点下增加一个新模块的名称节点,并配置负载均衡规则,那么即可在分发所有的module为“switch”的数据包时也会收到一个相同的数据包。这样即可完成新的数据分析模块的添加,同时目前正在运行的模块不会受到任何影响。而不使用本发明描述的方法时则需要重新修改数据包发出者的代码并重新启动该程序才能够完成同样的功能,既影响系统稳定性,也为后期的维护带来了极大的不便。
从上述内容可知,本发明通过采用分发逻辑表,使得当数据包的需求出现增加或变更时,不需要修改数据包发出者的信息,只需对分发逻辑表进行修改即可接收更多数据或改变数据包的发送路径,并且正在运行的服务器不会受到任何影响,有效提高系统的稳定性。而且本发明可根据实际需要增加数据采集功能,且不需要对服务器进行停机,不会干扰用户的正常使用,大大方便用户的使用。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种用于分布式系统的动态消息分发方法,其特征在于,包括以下步骤:
A、根据数据包的匹配信息和预设的匹配规则,在分发逻辑表中查找出对应节点;
B、获取对应节点的子节点中的集群;
C、根据预设的转发规则,将所述数据包转发至对应的处理服务器进行处理,并在处理后返回结果至通讯服务器。
2.根据权利要求1所述的动态消息分发方法,其特征在于,还包括有数据采集步骤,其具体包括:
D1、在对应节点下增设用于数据采集的集群;
D2、根据数据包的匹配信息和预设的匹配规则,在分发逻辑表中查找出对应节点;
D3、获取对应节点的子节点中用于数据采集的集群;
D4、根据预设的转发规则,将数据包转发至对应的数据采集服务器进行数据收集。
3.根据权利要求1所述的动态消息分发方法,其特征在于,所述数据包的格式包括有四个属性,其具体为消息标识、功能、操作动作和发送对象。
4.根据权利要求1所述的动态消息分发方法,其特征在于,还包括:当需要对集群进行扩容时,则在另一服务器上启动该集群的镜像,并在该集群的节点下增加处理服务器,进而将数据包转发至新增的处理服务器进行处理。
5.根据权利要求1所述的动态消息分发方法,其特征在于,所述集群中还设置有负载均衡策略,所述数据包可按照集群中的负载均衡策略转发至对应的处理服务器进行处理。
6.一种用于分布式系统的动态消息分发系统,其特征在于,包括:
查找模块,用于根据数据包的匹配信息和预设的匹配规则,在分发逻辑表中查找出对应节点;
获取模块,用于获取对应节点的子节点中的集群;
转发模块,用于根据预设的转发规则,将所述数据包转发至对应的处理服务器进行处理,并在处理后返回结果至通讯服务器。
7.根据权利要求6所述的动态消息分发系统,其特征在于,还包括有数据采集模块,其具体包括:
集群增设单元,用于在对应节点下增设用于数据采集的集群;
节点查找单元,用于根据数据包的匹配信息和预设的匹配规则,在分发逻辑表中查找出对应节点;
集群获取单元,用于获取对应节点的子节点中用于数据采集的集群;
数据收集单元,用于根据预设的转发规则,将数据包转发至对应的数据采集服务器进行数据收集。
8.根据权利要求6所述的动态消息分发系统,其特征在于,所述数据包的格式包括有四个属性,其具体为消息标识、功能、操作动作和发送对象。
9.根据权利要求6所述的动态消息分发系统,其特征在于,还包括:
扩容模块,用于当需要对集群进行扩容时,则在另一服务器上启动该集群的镜像,并在该集群的节点下增加处理服务器,进而将数据包转发至新增的处理服务器进行处理。
10.根据权利要求6所述的动态消息分发系统,其特征在于,所述集群中还设置有负载均衡策略,所述数据包可按照集群中的负载均衡策略转发至对应的处理服务器进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410853956.6A CN104580456B (zh) | 2014-12-31 | 2014-12-31 | 一种用于分布式系统的动态消息分发方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410853956.6A CN104580456B (zh) | 2014-12-31 | 2014-12-31 | 一种用于分布式系统的动态消息分发方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104580456A true CN104580456A (zh) | 2015-04-29 |
CN104580456B CN104580456B (zh) | 2017-12-29 |
Family
ID=53095613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410853956.6A Expired - Fee Related CN104580456B (zh) | 2014-12-31 | 2014-12-31 | 一种用于分布式系统的动态消息分发方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104580456B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107615247A (zh) * | 2015-06-24 | 2018-01-19 | 株式会社日立制作所 | 分布式系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090171909A1 (en) * | 2005-11-23 | 2009-07-02 | Marcel Bank | Computer-Implemented System for Producing, Processing and Managing Structured Data Sets |
CN101534298A (zh) * | 2009-03-23 | 2009-09-16 | 民航数据通信有限责任公司 | 航空器下传数据链电报的分发方法和装置 |
CN103024051A (zh) * | 2012-12-17 | 2013-04-03 | 北京奇虎科技有限公司 | 一种进行服务器分发的装置、方法和相应系统 |
CN103064899A (zh) * | 2012-12-17 | 2013-04-24 | 北京奇虎科技有限公司 | 一种分发信息数据库 |
CN103368777A (zh) * | 2013-07-11 | 2013-10-23 | 曙光信息产业股份有限公司 | 一种数据包处理板及处理方法 |
-
2014
- 2014-12-31 CN CN201410853956.6A patent/CN104580456B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090171909A1 (en) * | 2005-11-23 | 2009-07-02 | Marcel Bank | Computer-Implemented System for Producing, Processing and Managing Structured Data Sets |
CN101534298A (zh) * | 2009-03-23 | 2009-09-16 | 民航数据通信有限责任公司 | 航空器下传数据链电报的分发方法和装置 |
CN103024051A (zh) * | 2012-12-17 | 2013-04-03 | 北京奇虎科技有限公司 | 一种进行服务器分发的装置、方法和相应系统 |
CN103064899A (zh) * | 2012-12-17 | 2013-04-24 | 北京奇虎科技有限公司 | 一种分发信息数据库 |
CN103368777A (zh) * | 2013-07-11 | 2013-10-23 | 曙光信息产业股份有限公司 | 一种数据包处理板及处理方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107615247A (zh) * | 2015-06-24 | 2018-01-19 | 株式会社日立制作所 | 分布式系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104580456B (zh) | 2017-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109996307B (zh) | 一种数据路由方法以及终端 | |
CN100471162C (zh) | 一种发布及处理虚线路信息的方法和供应商边缘设备 | |
CN110113264B (zh) | 一种命名数据网络的缓存和路由实现方法 | |
CN106921578B (zh) | 一种转发表项的生成方法和装置 | |
CN107547346B (zh) | 一种报文传输方法和装置 | |
EP4033731A1 (en) | Service processing method, device, and system | |
JP2019536369A (ja) | Nfコンポーネントの例外を処理するための方法およびシステム、ならびにデバイス | |
CN110138663B (zh) | 一种以数据为中心的新一代网络实现方法 | |
CN104301238A (zh) | 一种报文处理方法、装置及系统 | |
CN105721328B (zh) | 一种vrrp负载均衡的方法、装置和路由器 | |
CN104753789A (zh) | 一种转发报文的方法及系统 | |
CN104980368A (zh) | 软件定义网络中的带宽保障方法及装置 | |
US8819295B2 (en) | Information communication system, first information processing device, method for processing information, and computer readable storage medium | |
EP2981036B1 (en) | Multicast communication method and aggregation switch | |
US10374899B2 (en) | Method and device for reporting OpenFLow switch capability | |
CN109743250B (zh) | 组播报文的传输方法、第一网络设备和第二网络设备 | |
CN104734930B (zh) | Vlan接入vf网络的实现方法及装置、fcf | |
US9300529B2 (en) | Communication system and network relay device | |
US10498637B2 (en) | Switch processing method, controller, switch, and switch processing system | |
CN107872387B (zh) | 发送vpn路由的方法和系统 | |
CN104717640A (zh) | 一种基于定位的无线网络通信的实现方法 | |
CN104580456A (zh) | 一种用于分布式系统的动态消息分发方法及系统 | |
CN108632125B (zh) | 一种组播表项管理方法、装置、设备及机器可读存储介质 | |
US20220263794A1 (en) | Method, apparatus, and system for generating forwarding information | |
CN114666279B (zh) | 一种5g系统中pcc会话管理策略下发的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 518000 Nanshan Medical Instrument Industrial Park 1019, Nanhai Road, Nanshan District, Shenzhen, Guangdong, A211-A213 Patentee after: Shenzhen Hai Yun new energy Co.,Ltd. Address before: 518052 Nanshan Medical Instrument Industrial Park 1019, Nanhai Road, Nanshan District, Shenzhen, Guangdong, A211-A213 Patentee before: SHENZHEN LANDING TECHNOLOGY Co.,Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171229 |