CN114006938A - 分布式集群的消息路由下发方法、装置、设备及存储介质 - Google Patents
分布式集群的消息路由下发方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114006938A CN114006938A CN202111126602.8A CN202111126602A CN114006938A CN 114006938 A CN114006938 A CN 114006938A CN 202111126602 A CN202111126602 A CN 202111126602A CN 114006938 A CN114006938 A CN 114006938A
- Authority
- CN
- China
- Prior art keywords
- user
- message
- target
- online
- issuing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000004891 communication Methods 0.000 claims abstract description 27
- 230000002457 bidirectional effect Effects 0.000 claims description 18
- 238000012360 testing method Methods 0.000 claims description 18
- 238000012216 screening Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及消息下发技术领域,公开了一种分布式集群的消息路由下发方法、装置、设备及存储介质,所述方法包括:获取消息下发的用户,根据消息下发的用户和目标终端服务器确定在线用户;根据消息下发的用户和预设标识散列表得到在线用户标识信息;根据在线用户或在线用户标识信息确定目标在线用户;根据目标在线用户的预设通信接口将待下发消息发送至目标用户终端,以实现对消息的下发;由于本发明是通过在线用户或在线用户标识信息确定目标在线用户;根据目标在线用户的预设通信接口将待下发消息发送至目标用户终端,相较于现有技术通过用户终端订阅主题实现消息的下发,能够有效提高消息下发效率以及消息下发场景的通用性。
Description
技术领域
本发明涉及消息下发技术领域,尤其涉及分布式集群的消息路由下发方法、装置、设备及存储介质。
背景技术
随着信息技术的逐渐发展,消息系统如今已经被广泛应用于多种情况下的消息传输,目前消息系统的实现方式有多种,常见的是基于双向网络TCP长连接模式下,由服务端主动将消息推送给用户端消息的方式,目前最常见的就是公众号的订阅,在消息系统下发消息的过程中,发布者和订阅者都不是直接和对方联系,而是通过一个中间代理来转发消息,即在订阅成功后,用户即可接收到该公众号推送的消息,但是上述消息系统需要用户有明确的操作且用户主题数较少,如果订阅公众号的数量过于庞大,则会导致消息下发效率较低,以及对于高并发的很多场景不适用。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种分布式集群的消息路由下发方法、装置、设备及存储介质,旨在解决现有技术无法有效提高消息下发效率以及消息下发场景的通用性的技术问题。
为实现上述目的,本发明提供了一种分布式集群的消息路由下发方法,所述分布式集群的消息路由下发方法包括以下步骤:
获取消息下发的用户,根据所述消息下发的用户和目标终端服务器确定在线用户;
根据所述消息下发的用户和预设标识散列表得到在线用户标识信息;
根据所述在线用户或在线用户标识信息确定目标在线用户;
根据所述目标在线用户的预设通信接口将待下发消息发送至目标用户终端,以实现对消息的下发。
可选地,所述根据所述消息下发的用户和目标终端服务器确定在线用户,包括:
在所述消息下发的用户的数量大于预设用户数量阈值时,获取预设路由指令;
将所述预设路由指令发送至目标终端服务器,以使所述目标终端服务器根据所述预设路由指令生成对应的在线测试请求信息,将所述在线测试请求信息发送至所述目标用户终端,若接收到目标用户终端反馈的确认在线信息,则确定并反馈对应的在线用户。
可选地,根据所述在线用户或在线用户标识信息确定目标在线用户,包括:
接收目标终端服务器反馈的在线用户;
通过预设正则表达式将所述消息下发的用户和所述在线用户进行匹配;
根据匹配结果确定目标在线用户。
可选地,所述根据所述消息下发的用户和预设标识散列表得到在线用户标识信息,包括:
在所述消息下发的用户的数量小于或等于预设用户数量阈值时,提取所述消息下发的用户的标识信息;
根据所述消息下发的用户的标识信息与预设标识散列表得到在线用户标识信息。
可选地,所述根据所述消息下发的用户的标识信息与预设标识散列表得到在线用户标识信息,包括:
提取预设标识散列表中的在线用户标识信息集合;
根据所述消息下发的用户的标识信息对所述在线用户标识信息集合进行筛选;
根据筛选结果得到在线用户标识信息。
可选地,所述获取消息下发的用户之前,还包括:
获取当前用户信息,根据所述当前用户信息得到对应的用户属性;
根据预设维度划分策略对所述用户属性进行划分,得到目标维度用户集合;
在目标用户终端与目标终端服务器连接成功时,获取与目标终端服务器连接的第一用户;
获取待下发消息对应的第二用户,根据所述第一用户和第二用户确定消息下发的用户。
可选地,所述在目标用户终端与目标终端服务器连接成功时,获取与目标终端服务器连接的第一用户,包括:
获取目标终端服务器与目标用户终端的双向连接信息和目标用户终端的标识信息;
根据所述双向连接信息和所述目标用户终端的标识信息构建目标连接标识集合;
根据所述目标终端服务器的特征信息和所述目标用户终端的标识信息构建目标用户会话集合;
根据预设消息下发请求信息、所述目标连接标识集合以及所述目标用户会话集合得到与目标终端服务器连接的第一用户。
此外,为实现上述目的,本发明还提出一种分布式集群的消息路由下发装置,所述分布式集群的消息路由下发装置包括:
获取模块,用于获取消息下发的用户,根据所述消息下发的用户和目标终端服务器确定在线用户;
所述获取模块,还用于根据所述消息下发的用户和预设标识散列表得到在线用户标识信息;
确定模块,用于根据所述在线用户或在线用户标识信息确定目标在线用户;
消息下发模块,用于根据所述目标在线用户的预设通信接口将待下发消息发送至目标用户终端,以实现对消息的下发。
此外,为实现上述目的,本发明还提出一种分布式集群的消息路由下发设备,所述分布式集群的消息路由下发设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的分布式集群的消息路由下发程序,所述分布式集群的消息路由下发程序配置为实现如上文所述的分布式集群的消息路由下发方法。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有分布式集群的消息路由下发程序,所述分布式集群的消息路由下发程序被处理器执行时实现如上文所述的分布式集群的消息路由下发方法。
本发明提出的分布式集群的消息路由下发方法,通过获取消息下发的用户,根据所述消息下发的用户和目标终端服务器确定在线用户;根据所述消息下发的用户和预设标识散列表得到在线用户标识信息;根据所述在线用户或在线用户标识信息确定目标在线用户;根据所述目标在线用户的预设通信接口将待下发消息发送至目标用户终端,以实现对消息的下发。由于本发明是通过消息下发的用户、目标终端服务器以及预设标识散列表确定的在线用户或在线用户标识信息确定目标在线用户,基于目标在线用户的预设通信接口将待下发消息发送至目标用户终端,相较于现有技术通过用户终端订阅主题实现消息的下发,能够有效提高消息下发效率以及消息下发场景的通用性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的分布式集群的消息路由下发设备的结构示意图;
图2为本发明分布式集群的消息路由下发方法第一实施例的流程示意图;
图3为本发明分布式集群的消息路由下发方法第二实施例的流程示意图;
图4为本发明分布式集群的消息路由下发方法第三实施例的流程示意图;
图5为本发明分布式集群的消息路由下发装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的分布式集群的消息路由下发设备结构示意图。
如图1所示,该分布式集群的消息路由下发设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,Wi-Fi)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对分布式集群的消息路由下发设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及分布式集群的消息路由下发程序。
在图1所示的分布式集群的消息路由下发设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明分布式集群的消息路由下发设备中的处理器1001、存储器1005可以设置在分布式集群的消息路由下发设备中,所述分布式集群的消息路由下发设备通过处理器1001调用存储器1005中存储的分布式集群的消息路由下发程序,并执行本发明实施例提供的分布式集群的消息路由下发方法。
基于上述硬件结构,提出本发明分布式集群的消息路由下发方法实施例。
参照图2,图2为本发明分布式集群的消息路由下发方法第一实施例的流程示意图。
在第一实施例中,所述分布式集群的消息路由下发方法包括以下步骤:
步骤S10,获取消息下发的用户,根据所述消息下发的用户和目标终端服务器确定在线用户。
需要说明的是,本实施例的执行主体为分布式集群的消息路由下发设备,还可为其他可实现相同或相似功能的设备,例如推送引擎等,本实施例对此不作限制,在本实施例中,以推送引擎为例进行说明。
应当理解的是,消息下发的用户指的是已连接且接收待下发消息的用户,例如,待下发消息为爱看电视的消息,此时需要将待下发消息发送至爱看电视的用户,此时的爱看电视的用户即为消息下发的用户。
可以理解的是,在线用户指的是正在使用目标应用程序的用户,例如,移动端用户正在打开目标应用程序,电脑端用户正在通过网址进入目标应用程序,而在线用户的确认是通过消息下发的用户与目标终端服务器,即目标终端服务器向目标用户终端发送在线测试请求信息,根据目标用户终端反馈的信息确定在线用户。
进一步地,步骤S10之前,还包括:获取当前用户信息,根据所述当前用户信息得到对应的用户属性;根据预设维度划分策略对所述用户属性进行划分,得到目标维度用户集合;在目标用户终端与目标终端服务器连接成功时,获取与目标终端服务器连接的第一用户;获取待下发消息对应的第二用户,根据所述第一用户和第二用户确定消息下发的用户。
应当理解的是,当前用户信息指的是当前用户的个人信息,用户属性指的是当前用户所属的属性信息,例如爱看电视、爱购物以及爱打游戏等,预设维度划分策略指的是划分用户属性的策略,例如,用户1、2以及3都是属于爱看电视的用户,用户4和5是属于爱购物的用户,用户6和7是属于爱打游戏的,同于用户1和2也爱打游戏,用户4也喜欢购物。
可以理解的是,第二用户指的是待下发消息所需要下发的用户,例如,待下发消息为打游戏消息,则下发的用户应为用户1、2、6以及7,第一用户为与目标终端服务器已连接的用户,用户连接并不代表用户在线,而此时连接的用户为用户1、2、3、4、5以及6,则消息下发的用户为用户1、2以及6。
进一步地,在目标用户终端与目标终端服务器连接成功时,获取与目标终端服务器连接的第一用户,包括:获取目标终端服务器与目标用户终端的双向连接信息和目标用户终端的标识信息;根据所述双向连接信息和所述目标用户终端的标识信息构建目标连接标识集合;根据所述目标终端服务器的特征信息和所述目标用户终端的标识信息构建目标用户会话集合;根据预设消息下发请求信息、所述目标连接标识集合以及所述目标用户会话集合得到与目标终端服务器连接的第一用户。
应当理解的是,双向连接信息指的是目标终端服务器与目标用户终端之间的连接信息,即目标终端服务器与目标用户终端均可主动向对方发送信息,目标用户终端的标识信息指的是能够唯一识别目标终端用户的标号信息,预设消息下发请求信息为请求查询与目标终端服务器连接用户的请求信息,如果能够成功将预设消息下发请求信息发送,则表明该目标用户终端与目标服务器已建立连接。
进一步地,步骤S10,包括:在所述消息下发的用户的数量大于预设用户数量阈值时,获取预设路由指令;将所述预设路由指令发送至目标终端服务器,以使所述目标终端服务器根据所述预设路由指令生成对应的在线测试请求信息,将所述在线测试请求信息发送至所述目标用户终端,若接收到目标用户终端反馈的确认在线信息,则确定并反馈对应的在线用户。
应当理解的是,预设路由指令为路由目标终端服务器与推送引擎之间的指令,在将预设路由指令发送至目标终端服务器,需要判断消息下发的用户的数量是否大于预设用户数量阈值,该预设用户数量阈值可以设置为十万,也可以为其他数量,本实施例对此不作限制,以十万为例进行说明。
可以理解的是,在接收到推送引擎发送的预设路由指令后,目标终端服务器根据预设路由指令生成对应的在线测试指令,并将在线测试指令发送至目标用户终端,此时如果接收到了目标用户终端反馈的确认在线信息时,表明该用户处于在线状态,反之,则该用户处于离线状态。
应当理解的是,将目标用户集大于预设用户数量阈值时,避开小组策略计算在线用户集合与目标用户集合的交集算法耗时,将消息下发任务与消息策略发到双向服务系统上,由双向服务系统直接根据正在匹配消息策略与当前双向服务的在线用户,进行筛选下发,而且实际中推送引擎的部署个数会少于双向服务系统的个数,将筛选任务下沉到双向服务系统可以起到任务分级处理、并且将来系统可以通过横向扩展,即加服务器的方式,扩展计算能力。
步骤S20,根据所述消息下发的用户和预设标识散列表得到在线用户标识信息。
应当理解的是,预设标识散列表指的是存储已上线用户标识信息与预设接口标识的散列表,已上线用户标识信息与预设接口标识为一对一关系,该预设接口标识可以为socket Id,根据消息下发的用户的标识在预设标识散列表中查询对应的在线用户标识信息。
步骤S30,根据所述在线用户或在线用户标识信息确定目标在线用户。
应当理解的是,在得到在线用户和在线用户标识信息,在消息下发的用户的数量大于预设用户数量阈值时,根据在线用户确定目标在线用户,例如,在线用户为A、B、C、D以及E,而消息下发的用户为A和F,则此时目标在线用户为A,在消息下发的用户的数量小于或等于预设用户数量阈值时,根据在线用户的标识信息确定目标在线用户,例如,在线用户的标识信息为X、Y以及Z,而消息下发的用户的标识信息为X、M以及N,则此时目标在线用户为X。
步骤S40,根据所述目标在线用户的预设通信接口将待下发消息发送至目标用户终端,以实现对消息的下发。
可以理解的是,在得到目标在线用户后,通过目标在线用户对应的目标用户终端与目标终端服务器之间的预设通信接口将待下发消息进行下发,该预设通信接口为socketIO,socket IO是将WebSocket、AJAX以及其它的通信方式进行统一封装的通信接口,该预设通信接口兼容所有浏览器。
本实施例通过获取消息下发的用户,根据所述消息下发的用户和目标终端服务器确定在线用户;根据所述消息下发的用户和预设标识散列表得到在线用户标识信息;根据所述在线用户或在线用户标识信息确定目标在线用户;根据所述目标在线用户的预设通信接口将待下发消息发送至目标用户终端,以实现对消息的下发。由于本实施例是通过消息下发的用户、目标终端服务器以及预设标识散列表确定的在线用户或在线用户标识信息确定目标在线用户,基于目标在线用户的预设通信接口将待下发消息发送至目标用户终端,相较于现有技术通过用户终端订阅主题实现消息的下发,能够有效提高消息下发效率以及消息下发场景的通用性。
在一实施例中,如图3所述,基于第一实施例提出本发明分布式集群的消息路由下发方法第三实施例,所述步骤S20,包括:
步骤S201,在所述消息下发的用户的数量小于或等于预设用户数量阈值时,提取所述消息下发的用户的标识信息。
可以理解的是,在获取到消息下发的用户后,需要判断消息下发的用户的数量是否小于或等于预设用户数量阈值,若小于或者等于,则提取到消息下发的用户的标识信息,提取到的标识信息能够唯一识别消息下发的用户。
步骤S202,根据所述消息下发的用户的标识信息与预设标识散列表得到在线用户标识信息。
可以理解的是,在得到消息下发的用户的标识信息,通过消息下发的用户的标识信息在预设标识散列表进行筛选,在筛选完成后,即得到在线用户标识信息。
进一步地,步骤S202,包括:提取预设标识散列表中的在线用户标识信息集合;根据所述消息下发的用户的标识信息对所述在线用户标识信息集合进行筛选;根据筛选结果得到在线用户标识信息。
应当理解的是,在线用户标识信息集合指的是由预设标识散列表中各在线用户标识信息组成的集合,而筛选的具体策略是根据消息下发的用户的标识信息遍历在线用户标识信息集合,筛选出与消息下发的用户的标识信息对应的标识信息,该标识信息即为在线用户标识信息。
本实施例在所述消息下发的用户的数量小于或等于预设用户数量阈值时,通过提取所述消息下发的用户的标识信息;根据所述消息下发的用户的标识信息与预设标识散列表得到在线用户标识信息。由于本实施例是通过在消息下发的用户的数量小于或等于预设用户数量阈值时,根据提取的消息下发的用户的标识信息与预设标识散列表得到在线用户标识信息,从而能够有效提高得到在线用户标识信息的准确性。
在一实施例中,如图4所述,基于第一实施例提出本发明分布式集群的消息路由下发方法第二实施例,所述步骤S30,包括:
步骤S301,接收目标终端服务器反馈的在线用户。
应当理解的是,在目标终端服务器确认在线用户后,会将确认的在线用户反馈至推送引擎,即推送引擎接收目标终端服务器反馈的在线用户。
步骤S302,通过预设正则表达式将所述消息下发的用户和所述在线用户进行匹配。
可以理解的是,预设正则表达式指的是匹配同类型对象的表达式,在接收到消息下发的用户和在线用户后,将消息下发的用户与在线用户进行依次匹配,例如,在线用户为A、B、C、D以及E,而消息下发的用户为A和F,将在线用户A、B、C、D以及E与消息下发的用户A和F进行匹配。
步骤S303,根据匹配结果确定目标在线用户。
应当理解的是,匹配结果包括匹配成功的目标在线用户和未匹配成功的非目标在线用户,在匹配完成时,目标在线用户为A。
本实施例通过接收目标终端服务器反馈的在线用户;通过预设正则表达式将所述消息下发的用户和所述在线用户进行匹配;根据匹配结果确定目标在线用户。由于本实施例是通过预设正则表达式将目标终端服务器反馈的在线用户与消息下发的用户进行匹配,根据匹配结果确定目标在线用户,从而能够有效提高确定目标在线用户的准确性。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有分布式集群的消息路由下发程序,所述分布式集群的消息路由下发程序被处理器执行时实现如上文所述的分布式集群的消息路由下发方法的步骤。
由于本存储介质采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
此外,参照图5,本发明实施例还提出一种分布式集群的消息路由下发装置,所述分布式集群的消息路由下发装置包括:
获取模块10,用于获取消息下发的用户,根据所述消息下发的用户和目标终端服务器确定在线用户。
应当理解的是,消息下发的用户指的是已连接且接收待下发消息的用户,例如,待下发消息为爱看电视的消息,此时需要将待下发消息发送至爱看电视的用户,此时的爱看电视的用户即为消息下发的用户。
可以理解的是,在线用户指的是正在使用目标应用程序的用户,例如,移动端用户正在打开目标应用程序,电脑端用户正在通过网址进入目标应用程序,而在线用户的确认是通过消息下发的用户与目标终端服务器,即目标终端服务器向目标用户终端发送在线测试请求信息,根据目标用户终端反馈的信息确定在线用户。
进一步地,步骤S10之前,还包括:获取当前用户信息,根据所述当前用户信息得到对应的用户属性;根据预设维度划分策略对所述用户属性进行划分,得到目标维度用户集合;在目标用户终端与目标终端服务器连接成功时,获取与目标终端服务器连接的第一用户;获取待下发消息对应的第二用户,根据所述第一用户和第二用户确定消息下发的用户。
应当理解的是,当前用户信息指的是当前用户的个人信息,用户属性指的是当前用户所属的属性信息,例如爱看电视、爱购物以及爱打游戏等,预设维度划分策略指的是划分用户属性的策略,例如,用户1、2以及3都是属于爱看电视的用户,用户4和5是属于爱购物的用户,用户6和7是属于爱打游戏的,同于用户1和2也爱打游戏,用户4也喜欢购物。
可以理解的是,第二用户指的是待下发消息所需要下发的用户,例如,待下发消息为打游戏消息,则下发的用户应为用户1、2、6以及7,第一用户为与目标终端服务器已连接的用户,用户连接并不代表用户在线,而此时连接的用户为用户1、2、3、4、5以及6,则消息下发的用户为用户1、2以及6。
进一步地,在目标用户终端与目标终端服务器连接成功时,获取与目标终端服务器连接的第一用户,包括:获取目标终端服务器与目标用户终端的双向连接信息和目标用户终端的标识信息;根据所述双向连接信息和所述目标用户终端的标识信息构建目标连接标识集合;根据所述目标终端服务器的特征信息和所述目标用户终端的标识信息构建目标用户会话集合;根据预设消息下发请求信息、所述目标连接标识集合以及所述目标用户会话集合得到与目标终端服务器连接的第一用户。
应当理解的是,双向连接信息指的是目标终端服务器与目标用户终端之间的连接信息,即目标终端服务器与目标用户终端均可主动向对方发送信息,目标用户终端的标识信息指的是能够唯一识别目标终端用户的标号信息,预设消息下发请求信息为请求查询与目标终端服务器连接用户的请求信息,如果能够成功将预设消息下发请求信息发送,则表明该目标用户终端与目标服务器已建立连接。
进一步地,步骤S10,包括:在所述消息下发的用户的数量大于预设用户数量阈值时,获取预设路由指令;将所述预设路由指令发送至目标终端服务器,以使所述目标终端服务器根据所述预设路由指令生成对应的在线测试请求信息,将所述在线测试请求信息发送至所述目标用户终端,若接收到目标用户终端反馈的确认在线信息,则确定并反馈对应的在线用户。
应当理解的是,预设路由指令为路由目标终端服务器与推送引擎之间的指令,在将预设路由指令发送至目标终端服务器,需要判断消息下发的用户的数量是否大于预设用户数量阈值,该预设用户数量阈值可以设置为十万,也可以为其他数量,本实施例对此不作限制,以十万为例进行说明。
可以理解的是,在接收到推送引擎发送的预设路由指令后,目标终端服务器根据预设路由指令生成对应的在线测试指令,并将在线测试指令发送至目标用户终端,此时如果接收到了目标用户终端反馈的确认在线信息时,表明该用户处于在线状态,反之,则该用户处于离线状态。
所述获取模块10,还用于根据所述消息下发的用户和预设标识散列表得到在线用户标识信息。
应当理解的是,预设标识散列表指的是存储已上线用户标识信息与预设接口标识的散列表,已上线用户标识信息与预设接口标识为一对一关系,该预设接口标识可以为socket Id,根据消息下发的用户的标识在预设标识散列表中查询对应的在线用户标识信息。
确定模块20,用于根据所述在线用户或在线用户标识信息确定目标在线用户。
应当理解的是,在得到在线用户和在线用户标识信息,在消息下发的用户的数量大于预设用户数量阈值时,根据在线用户确定目标在线用户,例如,在线用户为A、B、C、D以及E,而消息下发的用户为A和F,则此时目标在线用户为A,在消息下发的用户的数量小于或等于预设用户数量阈值时,根据在线用户的标识信息确定目标在线用户,例如,在线用户的标识信息为X、Y以及Z,而消息下发的用户的标识信息为X、M以及N,则此时目标在线用户为X。
消息下发模块30,用于根据所述目标在线用户的预设通信接口将待下发消息发送至目标用户终端,以实现对消息的下发。
可以理解的是,在得到目标在线用户后,通过目标在线用户对应的目标用户终端与目标终端服务器之间的预设通信接口将待下发消息进行下发,该预设通信接口为socketIO,socket IO是将WebSocket、AJAX以及其它的通信方式进行统一封装的通信接口,该预设通信接口兼容所有浏览器。
本实施例通过获取消息下发的用户,根据所述消息下发的用户和目标终端服务器确定在线用户;根据所述消息下发的用户和预设标识散列表得到在线用户标识信息;根据所述在线用户或在线用户标识信息确定目标在线用户;根据所述目标在线用户的预设通信接口将待下发消息发送至目标用户终端,以实现对消息的下发。由于本实施例是通过消息下发的用户、目标终端服务器以及预设标识散列表确定的在线用户或在线用户标识信息确定目标在线用户,基于目标在线用户的预设通信接口将待下发消息发送至目标用户终端,相较于现有技术通过用户终端订阅主题实现消息的下发,能够有效提高消息下发效率以及消息下发场景的通用性。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的分布式集群的消息路由下发方法,此处不再赘述。
在一实施例中,所述获取模块10,还用于在所述消息下发的用户的数量大于预设用户数量阈值时,获取预设路由指令;将所述预设路由指令发送至目标终端服务器,以使所述目标终端服务器根据所述预设路由指令生成对应的在线测试请求信息,将所述在线测试请求信息发送至所述目标用户终端,若接收到目标用户终端反馈的确认在线信息,则确定并反馈对应的在线用户。
在一实施例中,所述获取模块10,还用于在所述消息下发的用户的数量小于或等于预设用户数量阈值时,提取所述消息下发的用户的标识信息;根据所述消息下发的用户的标识信息与预设标识散列表得到在线用户标识信息。
在一实施例中,所述获取模块10,还用于提取预设标识散列表中的在线用户标识信息集合;根据所述消息下发的用户的标识信息对所述在线用户标识信息集合进行筛选;根据筛选结果得到在线用户标识信息。
在一实施例中,所述获取模块10,还用于获取当前用户信息,根据所述当前用户信息得到对应的用户属性;根据预设维度划分策略对所述用户属性进行划分,得到目标维度用户集合;在目标用户终端与目标终端服务器连接成功时,获取与目标终端服务器连接的第一用户;获取待下发消息对应的第二用户,根据所述第一用户和第二用户确定消息下发的用户。
在一实施例中,所述获取模块40,还用于获取目标终端服务器与目标用户终端的双向连接信息和目标用户终端的标识信息;根据所述双向连接信息和所述目标用户终端的标识信息构建目标连接标识集合;根据所述目标终端服务器的特征信息和所述目标用户终端的标识信息构建目标用户会话集合;根据预设消息下发请求信息、所述目标连接标识集合以及所述目标用户会话集合得到与目标终端服务器连接的第一用户。
在一实施例中,所述确定模块30,还用于接收目标终端服务器反馈的在线用户;通过预设正则表达式将所述消息下发的用户和所述在线用户进行匹配;根据匹配结果确定目标在线用户。
本发明所述分布式集群的消息路由下发装置的其他实施例或具有实现方法可参照上述各方法实施例,此处不在赘余。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种分布式集群的消息路由下发方法,其特征在于,所述分布式集群的消息路由下发方法包括以下步骤:
获取消息下发的用户,根据所述消息下发的用户和目标终端服务器确定在线用户;
根据所述消息下发的用户和预设标识散列表得到在线用户标识信息;
根据所述在线用户或在线用户标识信息确定目标在线用户;
根据所述目标在线用户的预设通信接口将待下发消息发送至目标用户终端,以实现对消息的下发。
2.如权利要求1所述的分布式集群的消息路由下发方法,其特征在于,所述根据所述消息下发的用户和目标终端服务器确定在线用户,包括:
在所述消息下发的用户的数量大于预设用户数量阈值时,获取预设路由指令;
将所述预设路由指令发送至目标终端服务器,以使所述目标终端服务器根据所述预设路由指令生成对应的在线测试请求信息,将所述在线测试请求信息发送至所述目标用户终端,若接收到目标用户终端反馈的确认在线信息,则确定并反馈对应的在线用户。
3.如权利要求1所述的分布式集群的消息路由下发方法,其特征在于,所述根据所述在线用户或在线用户标识信息确定目标在线用户,包括:
接收目标终端服务器反馈的在线用户;
通过预设正则表达式将所述消息下发的用户和所述在线用户进行匹配;
根据匹配结果确定目标在线用户。
4.如权利要求1所述的分布式集群的消息路由下发方法,其特征在于,所述根据所述消息下发的用户和预设标识散列表得到在线用户标识信息,包括:
在所述消息下发的用户的数量小于或等于预设用户数量阈值时,提取所述消息下发的用户的标识信息;
根据所述消息下发的用户的标识信息与预设标识散列表得到在线用户标识信息。
5.如权利要求4所述的分布式集群的消息路由下发方法,其特征在于,所述根据所述消息下发的用户的标识信息与预设标识散列表得到在线用户标识信息,包括:
提取预设标识散列表中的在线用户标识信息集合;
根据所述消息下发的用户的标识信息对所述在线用户标识信息集合进行筛选;
根据筛选结果得到在线用户标识信息。
6.如权利要求1所述的分布式集群的消息路由下发方法,其特征在于,所述获取消息下发的用户之前,还包括:
获取当前用户信息,根据所述当前用户信息得到对应的用户属性;
根据预设维度划分策略对所述用户属性进行划分,得到目标维度用户集合;
在目标用户终端与目标终端服务器连接成功时,获取与目标终端服务器连接的第一用户;
获取待下发消息对应的第二用户,根据所述第一用户和第二用户确定消息下发的用户。
7.如权利要求6所述的分布式集群的消息路由下发方法,其特征在于,所述在目标用户终端与目标终端服务器连接成功时,获取与目标终端服务器连接的第一用户,包括:
获取目标终端服务器与目标用户终端的双向连接信息和目标用户终端的标识信息;
根据所述双向连接信息和所述目标用户终端的标识信息构建目标连接标识集合;
根据所述目标终端服务器的特征信息和所述目标用户终端的标识信息构建目标用户会话集合;
根据预设消息下发请求信息、所述目标连接标识集合以及所述目标用户会话集合得到与目标终端服务器连接的第一用户。
8.一种分布式集群的消息路由下发装置,其特征在于,所述分布式集群的消息路由下发装置包括:
获取模块,用于获取消息下发的用户,根据所述消息下发的用户和目标终端服务器确定在线用户;
所述获取模块,还用于根据所述消息下发的用户和预设标识散列表得到在线用户标识信息;
确定模块,用于根据所述在线用户或在线用户标识信息确定目标在线用户;
消息下发模块,用于根据所述目标在线用户的预设通信接口将待下发消息发送至目标用户终端,以实现对消息的下发。
9.一种分布式集群的消息路由下发设备,其特征在于,所述分布式集群的消息路由下发设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的分布式集群的消息路由下发程序,所述分布式集群的消息路由下发程序配置有实现如权利要求1至7中任一项所述的分布式集群的消息路由下发方法。
10.一种存储介质,其特征在于,所述存储介质上存储有分布式集群的消息路由下发程序,所述分布式集群的消息路由下发程序被处理器执行时实现如权利要求1至7中任一项所述的分布式集群的消息路由下发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111126602.8A CN114006938A (zh) | 2021-09-24 | 2021-09-24 | 分布式集群的消息路由下发方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111126602.8A CN114006938A (zh) | 2021-09-24 | 2021-09-24 | 分布式集群的消息路由下发方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114006938A true CN114006938A (zh) | 2022-02-01 |
Family
ID=79921654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111126602.8A Pending CN114006938A (zh) | 2021-09-24 | 2021-09-24 | 分布式集群的消息路由下发方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114006938A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277618A (zh) * | 2022-07-25 | 2022-11-01 | 每日互动股份有限公司 | 一种消息发送的数据处理系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468265A (zh) * | 2014-11-19 | 2015-03-25 | 北京国双科技有限公司 | 局域网终端在线状态的检测方法和装置 |
CN110213380A (zh) * | 2019-06-11 | 2019-09-06 | 深圳市思迪信息技术股份有限公司 | 一种消息推送方法、装置、计算机设备及存储介质 |
CN110300050A (zh) * | 2019-05-23 | 2019-10-01 | 中国平安人寿保险股份有限公司 | 消息推送方法、装置、计算机设备及存储介质 |
CN111083193A (zh) * | 2019-11-11 | 2020-04-28 | 厦门网宿有限公司 | 长连接消息发送方法、服务器及存储介质 |
CN111859132A (zh) * | 2020-07-21 | 2020-10-30 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及智能设备、存储介质 |
CN112367684A (zh) * | 2020-10-13 | 2021-02-12 | 北京健康之家科技有限公司 | 流量控制方法、装置、存储介质及计算机设备 |
CN113032682A (zh) * | 2021-04-22 | 2021-06-25 | 中国平安人寿保险股份有限公司 | 基于协同过滤的产品推荐方法、装置、设备及存储介质 |
-
2021
- 2021-09-24 CN CN202111126602.8A patent/CN114006938A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468265A (zh) * | 2014-11-19 | 2015-03-25 | 北京国双科技有限公司 | 局域网终端在线状态的检测方法和装置 |
CN110300050A (zh) * | 2019-05-23 | 2019-10-01 | 中国平安人寿保险股份有限公司 | 消息推送方法、装置、计算机设备及存储介质 |
CN110213380A (zh) * | 2019-06-11 | 2019-09-06 | 深圳市思迪信息技术股份有限公司 | 一种消息推送方法、装置、计算机设备及存储介质 |
CN111083193A (zh) * | 2019-11-11 | 2020-04-28 | 厦门网宿有限公司 | 长连接消息发送方法、服务器及存储介质 |
CN111859132A (zh) * | 2020-07-21 | 2020-10-30 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及智能设备、存储介质 |
CN112367684A (zh) * | 2020-10-13 | 2021-02-12 | 北京健康之家科技有限公司 | 流量控制方法、装置、存储介质及计算机设备 |
CN113032682A (zh) * | 2021-04-22 | 2021-06-25 | 中国平安人寿保险股份有限公司 | 基于协同过滤的产品推荐方法、装置、设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277618A (zh) * | 2022-07-25 | 2022-11-01 | 每日互动股份有限公司 | 一种消息发送的数据处理系统 |
CN115277618B (zh) * | 2022-07-25 | 2024-01-30 | 每日互动股份有限公司 | 一种消息发送的数据处理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10326715B2 (en) | System and method for updating information in an instant messaging application | |
US9686329B2 (en) | Method and apparatus for displaying webcast rooms | |
US10198238B2 (en) | Data transmission method, and relevant device and system | |
WO2014183427A1 (en) | Method and apparatus for displaying webcast rooms | |
CN103890808A (zh) | 用于提供接收确认的对话型短讯服务运作方法 | |
CN107147945B (zh) | 多媒体资源播放系统、方法及装置 | |
US20170277526A1 (en) | Software categorization method and electronic device | |
CN110609970B (zh) | 用户身份识别方法、装置、存储介质及电子设备 | |
CN106487655B (zh) | 一种消息交互方法、装置及处理服务器 | |
CN111130986B (zh) | 消息发送方法、装置、设备及存储介质 | |
CN104125485A (zh) | 一种用户信息共享的方法、设备及系统 | |
CN111432228A (zh) | 匹配主播的方法、装置、设备及存储介质 | |
WO2014176896A1 (en) | System and method for updating information in an instant messaging application | |
CN108197210B (zh) | 基于好友关系的用户交互阅读方法及计算设备 | |
CN104699795A (zh) | 一种推送视频的方法及装置 | |
CN113300933A (zh) | 会话内容的管理方法、装置、计算机设备和可读存储介质 | |
CN114006938A (zh) | 分布式集群的消息路由下发方法、装置、设备及存储介质 | |
CN106487653B (zh) | 一种消息处理方法及服务器 | |
CN106209584A (zh) | 基于互联网的用户信息处理方法、客户端及服务器 | |
CN114157627B (zh) | 群组处理方法、装置、电子设备、介质 | |
CN115563160A (zh) | 数据处理方法、装置、计算机设备和计算机可读存储介质 | |
CN112162961B (zh) | 消息处理方法、装置、计算机设备和存储介质 | |
CN114095463B (zh) | 基于即时通讯的数据处理方法、装置、设备及介质 | |
CN114282913A (zh) | 一种多主体线上签约的方法及装置 | |
CN110661789B (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 |