CN107566251A - 消息传输方法、存储设备及服务器 - Google Patents
消息传输方法、存储设备及服务器 Download PDFInfo
- Publication number
- CN107566251A CN107566251A CN201710754451.8A CN201710754451A CN107566251A CN 107566251 A CN107566251 A CN 107566251A CN 201710754451 A CN201710754451 A CN 201710754451A CN 107566251 A CN107566251 A CN 107566251A
- Authority
- CN
- China
- Prior art keywords
- server
- group
- terminal
- different groups
- cryptographic hash
- 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
Abstract
本发明提供了一种消息传输方法、存储设备及服务器,其中消息传输方法,包括:在多个服务器中确定至少一个中心服务器;所述中心服务器接收来自不同终端的订阅请求;所述中心服务器根据订阅组别将所述不同终端分成不同组,并选取多个服务器分别用于服务所述不同组内的终端。本发明实施例能够减少消息的广播次数,提高消息传输效率,增强系统稳定性。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及消息传输方法、存储设备、服务器。
背景技术
在分布式消息系统中,每一个客户端(client)可能连接不同的节点node,很多client属于同一个组,当client向一个节点发送广播消息后,在由此节点向集群内其他所有节点推送该消息,然后由其他节点向各自的client推送消息。如果节点很多的话,由于系统并不知道组内有多少节点node和client。需要向节点内先广播消息,再由各个节点向组内广播消息。节点内消息广播时会产生很多节点内的消息通讯。浪费流量,增加服务器压力,同时增加网络延迟,且随着节点node的添加,广播的次数线性增长。
发明内容
有鉴于此,根据本发明实施例的一个方面,一种消息传输方法,包括:在多个服务器中确定至少一个中心服务器;所述中心服务器接收来自不同终端的订阅请求;所述中心服务器根据订阅组别将所述不同终端分成不同组,并选取多个服务器分别用于服务所述不同组内的终端。
根据本发明实施例的另一方面,还提出了一种存储设备,其中存储有多条指令,所述指令适于由处理器加载并执行,包括:在多个服务器中确定至少一个中心服务器;所述中心服务器接收来自不同终端的订阅请求;所述中心服务器根据订阅组别将所述不同终端分成不同组,并选取多个服务器分别用于服务所述不同组内的终端。
根据本发明实施例的另一方面,还提供了一种服务器,包括:处理器,适于实现各指令;存储设备,适于存储多条指令,所述指令适于由所述处理器加载并执行:接收来自不同终端的订阅请求;根据订阅组别将所述不同终端分成不同组,并选取多个服务器分别用于服务所述不同组内的终端。
为了解决节点内消息广播时会产生很多节点内的消息通讯,浪费流量的问题,本发明实施例在多个服务器中确定至少一个中心服务器;所述中心服务器接收来自不同终端的订阅请求;所述中心服务器根据订阅组别将所述不同终端分成不同组,并选取多个服务器分别用于服务所述不同组内的终端,从而减少了消息的广播次数,减少了网络延迟,提高了消息传输效率。
附图说明
图1示出了根据本发明的一个实施例的消息传输方法的流程图;
图2示出了根据本发明的一个实施例的节点分配图;
图3示出了根据本发明的一个实施例的节点图;
图4示出了根据本发明的一个实施例的服务器的框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的一个实施例的消息传输方法的流程图。
如图1所示,根据本发明实施例的一种消息传输方法,包括:
步骤102,在多个服务器中确定至少一个中心服务器。
步骤104,所述中心服务器接收来自不同终端的订阅请求。
步骤106,所述中心服务器根据订阅组别将所述不同终端分成不同组,并选取多个服务器分别用于服务所述不同组内的终端。
订阅请求中包含订阅组别信息,中心服务器可根据订阅请求中的订阅组别信息将这些终端分成不同组别。不同的服务器分别服务不同的组别内的终端。
选取多个服务器分别用于服务所述不同组内的终端,包括:
根据各组别的标识生成对应于各组别的哈希值;
根据各组别的哈希值所处的哈希值区间以及各哈希值区间对应的服务器,将所述各哈希值区间对应的服务器作为分别服务所述不同组内的终端的服务器。
每一个哈希值区间对应一个服务器,根据每一组别的标识能够生成各组别各自的哈希值,基于哈希值所处的哈希值区间,可为每一组终端分配对应的服务器。
通过快速选举算法确定所述中心服务器。其中,所述快速选举算法包括:
计算出所述多个服务器中压力最小的服务器,将所述压力最小的服务器作为所述中心服务器,或者将接收到最新消息的服务器作为所述中心服务器。
在服务所述不同组内的终端的多个服务器中的一个服务器失效时,将失效的服务器所服务的终端归属至与所述失效的服务器相邻的服务器,其中,所述相邻的服务器是哈希值区间相邻的服务器。
这样,当其中任意一个服务器失效时,不会导致数据传输的中断或其他处理任务的中断,或者数据的丢失,从而增强了系统的稳定性。
如图2所示,首先选择一个服务器作为中心服务器(leader),通过leader将Client1,Client2分配为第一组,通过leader将Client3,Client4分配为第二组。
参考图3,根据哈希算法,将订阅group1所有的client都分配至node2服务器节点,订阅group2所有的client都分配至node4服务器节点。如果节点服务器node2拓机,则group1的所有client都指向node3节点。
图4示出了根据本发明的一个实施例的服务器的框图。
如图4所示,根据本发明的实施例的一种服务器包括:
处理器402,适于实现各指令;
存储设备404,适于存储多条指令,所述指令适于由所述处理器加载并执行:
接收来自不同终端的订阅请求;
根据订阅组别将所述不同终端分成不同组,并选取多个服务器分别用于服务所述不同组内的终端。
为了解决节点内消息广播时会产生很多节点内的消息通讯,浪费流量的问题,本发明实施例在多个服务器中确定至少一个中心服务器;所述中心服务器接收来自不同终端的订阅请求;所述中心服务器根据订阅组别将所述不同终端分成不同组,并选取多个服务器分别用于服务所述不同组内的终端,从而减少了消息的广播次数,减少了网络延迟,提高了消息传输效率。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种消息传输方法,其特征在于,包括:
在多个服务器中确定至少一个中心服务器;
所述中心服务器接收来自不同终端的订阅请求;
所述中心服务器根据订阅组别将所述不同终端分成不同组,并选取多个服务器分别用于服务所述不同组内的终端。
2.根据权利要求1所述的方法,其特征在于,选取多个服务器分别用于服务所述不同组内的终端,包括:
根据各组别的标识生成对应于各组别的哈希值;
根据各组别的哈希值所处的哈希值区间以及各哈希值区间对应的服务器,将所述各哈希值区间对应的服务器作为分别服务所述不同组内的终端的服务器。
3.根据权利要求1所述的方法,其特征在于,通过快速选举算法确定所述中心服务器。
4.根据权利要求3所述的方法,其特征在于,所述快速选举算法包括:
计算出所述多个服务器中压力最小的服务器,将所述压力最小的服务器作为所述中心服务器,或者
将接收到最新消息的服务器作为所述中心服务器。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在服务所述不同组内的终端的多个服务器中的一个服务器失效时,将失效的服务器所服务的终端归属至与所述失效的服务器相邻的服务器,其中,所述相邻的服务器是哈希值区间相邻的服务器。
6.一种存储设备,其中存储有多条指令,所述指令适于由处理器加载并执行,其特征在于,包括:
在多个服务器中确定至少一个中心服务器;
所述中心服务器接收来自不同终端的订阅请求;
所述中心服务器根据订阅组别将所述不同终端分成不同组,并选取多个服务器分别用于服务所述不同组内的终端。
7.根据权利要求6所述的存储设备,其特征在于,选取多个服务器分别用于服务所述不同组内的终端,包括:
根据各组别的标识生成对应于各组别的哈希值;
根据各组别的哈希值所处的哈希值区间以及各哈希值区间对应的服务器,将所述各哈希值区间对应的服务器作为分别服务所述不同组内的终端的服务器。
8.根据权利要求6所述的存储设备,其特征在于,通过快速选举算法确定所述中心服务器。
9.根据权利要求8所述的存储设备,其特征在于,所述快速选举算法包括:
计算出所述多个服务器中压力最小的服务器,将所述压力最小的服务器作为所述中心服务器,或者
将接收到最新消息的服务器作为所述中心服务器。
10.根据权利要求6至9中任一项所述的存储设备,其特征在于,在服务所述不同组内的终端的多个服务器中的一个服务器失效时,将失效的服务器所服务的终端归属至与所述失效的服务器相邻的服务器,其中,所述相邻的服务器是哈希值区间相邻的服务器。
11.一种服务器,其特征在于,包括:
处理器,适于实现各指令;
存储设备,适于存储多条指令,所述指令适于由所述处理器加载并执行:
接收来自不同终端的订阅请求;
根据订阅组别将所述不同终端分成不同组,并选取多个服务器分别用于服务所述不同组内的终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710754451.8A CN107566251A (zh) | 2017-08-29 | 2017-08-29 | 消息传输方法、存储设备及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710754451.8A CN107566251A (zh) | 2017-08-29 | 2017-08-29 | 消息传输方法、存储设备及服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107566251A true CN107566251A (zh) | 2018-01-09 |
Family
ID=60977373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710754451.8A Pending CN107566251A (zh) | 2017-08-29 | 2017-08-29 | 消息传输方法、存储设备及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107566251A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127942A (zh) * | 2006-08-18 | 2008-02-20 | 华为技术有限公司 | 提供移动业务的方法、系统及管理中心服务器 |
EP2008204A1 (en) * | 2006-03-23 | 2008-12-31 | Nokia Corporation | Method and apparatuses for retrieving messages |
CN103841206A (zh) * | 2014-03-17 | 2014-06-04 | 北京京东尚科信息技术有限公司 | 一种订阅和发布主题消息的方法 |
CN104539662A (zh) * | 2014-12-12 | 2015-04-22 | 小米科技有限责任公司 | 信息传输方法及装置 |
CN105959410A (zh) * | 2016-06-29 | 2016-09-21 | 深圳中兴网信科技有限公司 | 服务器集群的负载均衡方法及负载均衡系统 |
CN106572146A (zh) * | 2015-10-13 | 2017-04-19 | 腾讯科技(深圳)有限公司 | 消息发送方法及消息发送装置 |
-
2017
- 2017-08-29 CN CN201710754451.8A patent/CN107566251A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2008204A1 (en) * | 2006-03-23 | 2008-12-31 | Nokia Corporation | Method and apparatuses for retrieving messages |
CN101127942A (zh) * | 2006-08-18 | 2008-02-20 | 华为技术有限公司 | 提供移动业务的方法、系统及管理中心服务器 |
CN103841206A (zh) * | 2014-03-17 | 2014-06-04 | 北京京东尚科信息技术有限公司 | 一种订阅和发布主题消息的方法 |
CN104539662A (zh) * | 2014-12-12 | 2015-04-22 | 小米科技有限责任公司 | 信息传输方法及装置 |
CN106572146A (zh) * | 2015-10-13 | 2017-04-19 | 腾讯科技(深圳)有限公司 | 消息发送方法及消息发送装置 |
CN105959410A (zh) * | 2016-06-29 | 2016-09-21 | 深圳中兴网信科技有限公司 | 服务器集群的负载均衡方法及负载均衡系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102377686B (zh) | 一种消息订阅系统、消息订阅方法及装置 | |
CN108881354B (zh) | 一种推送信息存储方法、装置、服务器和计算机存储介质 | |
US20110138046A1 (en) | Arrangement And Method Relating To Load Distribution | |
US10637794B2 (en) | Resource subscription method, resource subscription apparatus, and resource subscription system | |
CN109672711B (zh) | 一种基于反向代理服务器Nginx的http请求处理方法及系统 | |
CN105227602A (zh) | 一种负载均衡的方法、客户端、注册服务器和系统 | |
WO2020155293A1 (zh) | 一种推流方法、系统及服务器 | |
US20120096136A1 (en) | Method and apparatus for sharing contents using information of group change in content oriented network environment | |
CN103312593B (zh) | 一种消息分发系统及方法 | |
CN111444018B (zh) | 请求处理方法以及装置 | |
CN107689878A (zh) | 基于命名调度的tcp长连接负载均衡系统 | |
CN105721328B (zh) | 一种vrrp负载均衡的方法、装置和路由器 | |
EP2514173B1 (en) | Localization of peer to peer traffic | |
CN103731286A (zh) | 聚合端口id分配方法及装置 | |
CN105577561A (zh) | 实现虚拟化网元间负载均衡的方法及系统和虚拟化网元 | |
CN113014672A (zh) | 一种消息推送方法、装置、电子设备及存储介质 | |
CN112613919A (zh) | 一种信息处理方法和相关装置 | |
US9083620B2 (en) | Network group management system | |
CN109257448B (zh) | 一种会话信息同步的方法及装置、电子设备、存储介质 | |
CN111737029A (zh) | 一种服务端、数据推送方法、数据推送系统 | |
CN107566251A (zh) | 消息传输方法、存储设备及服务器 | |
Kim et al. | A scalable pub/sub system for ndn | |
KR100435985B1 (ko) | 투표를 활용한 무정지 서비스 시스템 및 그 시스템에서의정보 갱신 및 제공 방법 | |
CN110474781B (zh) | 一种组播数据转发的方法及装置 | |
CN113315704B (zh) | 报文转发方法、sdn控制器、交换机及系统 |
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 |
Application publication date: 20180109 |
|
RJ01 | Rejection of invention patent application after publication |