分布式即时服务器推送方案架构设计方法、装置、存储介质制造方法及图纸

技术编号:35008928 阅读:14 留言:0更新日期:2022-09-21 15:00
本发明专利技术提供了一种分布式即时服务器推送方案架构设计方法、装置、存储介质,属于服务器技术领域。现有技术无法实现集群部属。步骤S1:服务器接收起始用户端的消息以及需发送到的目标用户集,目标用户集包含至少一个目标用户端;步骤S2:服务器在zookeeper集群上找到目标用户端的地址;步骤S3:判断目标用户端与起始用户端是否位于同一服务器:

【技术实现步骤摘要】
分布式即时服务器推送方案架构设计方法、装置、存储介质


[0001]本专利技术属于服务器
,涉及一种分布式即时服务器推送方案架构设计方法、装置、存储介质,特别涉及一种基于Websocket+zookeeper分布式即时服务器推送方案架构设计方法、装置、存储介质。

技术介绍

[0002]WebSocket是HTML5开始提供的一种在单个TCP连接上进行全双工通讯的协议。
[0003]WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
[0004]在WebSocket API中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。
[0005]现在,很多网站为了实现推送技术,所用的技术都是Ajax轮询。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽等资源。
[0006]HTML5定义的WebSocket协议,能更好的节省服务器资源和带宽,并且能够更实时地进行通讯。
[0007]HTTP协议有一个缺陷:通信只能由客户端发起,做不到服务器主动向客户端推送信息。
[0008]WebSocket协议它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种
[0009]WebSocket的弊端:由于是长连接多机之间的用户无法通信,无法实现集群部属。

技术实现思路

[0010]本专利技术的目的是针对现有技术中存在的上述问题,提供了一种基于 Websocket+zookeeper分布式即时服务器推送方案架构设计方法、装置、存储介质。
[0011]本专利技术的第一个目的可通过下列技术方案来实现:一种分布式即时服务器推送方案架构设计方法,其特征在于,用户端包括起始用户端和目标用户端,包括以下步骤:
[0012]步骤S1:服务器接收起始用户端的消息以及需发送到的目标用户集,所述的目标用户集包含至少一个目标用户端;
[0013]步骤S2:服务器在zookeeper集群上找到目标用户端的地址;
[0014]步骤S3:判断目标用户端与起始用户端是否位于同一服务器:
[0015]‑
当目标用户端与起始用户端位于同一服务器时,执行步骤S5;
[0016]‑
当目标用户端与起始用户端位于不同服务器时,执行步骤S4;
[0017]步骤S4:调用目标用户端所在服务器的消息转发接口,消息转发接口在目标用户端所在服务器的连接列表中寻找目标用户端,执行步骤S5;
[0018]步骤S5:向目标用户端转发消息。
[0019]本专利技术的工作原理:用户之间相互发消息时找到对方的服务器并发送就可解决长连接多机之间的用户通信问题,实现集群部属。
[0020]在上述的分布式即时服务器推送方案架构设计方法中,所述的目标用户端数量大于一时,每一需发送到的目标用户端分别执行步骤S2至步骤5。
[0021]在上述的分布式即时服务器推送方案架构设计方法中,所述的目标用户集预包括预先存储的目标用户集,输入预先存储的目标用户集编号能够获取目标用户端。
[0022]在上述的分布式即时服务器推送方案架构设计方法中,所述的用户端以用户唯一标识hash进行存储。
[0023]在上述的分布式即时服务器推送方案架构设计方法中,所述的zookeeper 集群包含zookeeper节点,所述的zookeeper节点按省市县划分。
[0024]在上述的分布式即时服务器推送方案架构设计方法中,当所述的用户端与服务器连接时,zookeeper集群记录用户端的地址。
[0025]在上述的分布式即时服务器推送方案架构设计方法中,还设置有连接时长阈值,当用户端的连接时长大于连接时长阈值时,zookeeper集群记录用户端的地址。
[0026]本专利技术的第二个目的可通过下列技术方案来实现:一种分布式即时服务器推送方案架构设计装置,包括输入端、输出端、服务器、一个或多个处理器、存储器以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行上述的分布式即时服务器推送方案架构设计方法。
[0027]本专利技术的第三个目的可通过下列技术方案来实现:一种计算机可读存储介质,存储有计算机程序,所述计算机程序可被处理器执行以完成上述的分布式即时服务器推送方案架构设计方法。
[0028]与现有技术相比,本专利技术具有解决长连接多机之间的用户通信问题,实现集群部属优点。
附图说明
[0029]图1是本专利技术的逻辑流程示意图。
[0030]图2是本专利技术中WebSocket协议结构示意图。
[0031]图3是本专利技术中服务器与zookeeper集群连接结构示意图。
具体实施方式
[0032]以下是本专利技术的具体实施例并结合附图,对本专利技术的技术方案作进一步的描述,但本专利技术并不限于这些实施例。
[0033]如图1

图3所示,本分布式即时服务器推送方案架构设计方法,用户端包括起始用户端和目标用户端,包括以下步骤:
[0034]步骤S1:服务器接收起始用户端的消息以及需发送到的目标用户集,所述的目标用户集包含至少一个目标用户端;
[0035]步骤S2:服务器在zookeeper集群上找到目标用户端的地址;
[0036]步骤S3:判断目标用户端与起始用户端是否位于同一服务器:
[0037]‑
当目标用户端与起始用户端位于同一服务器时,执行步骤S5;
[0038]‑
当目标用户端与起始用户端位于不同服务器时,执行步骤S4;
[0039]步骤S4:调用目标用户端所在服务器的消息转发接口,消息转发接口在目标用户端所在服务器的连接列表中寻找目标用户端,执行步骤S5;
[0040]步骤S5:向目标用户端转发消息。
[0041]在上述的分布式即时服务器推送方案架构设计方法中,所述的目标用户端数量大于一时,每一需发送到的目标用户端分别执行步骤S2至步骤5。
[0042]在上述的分布式即时服务器推送方案架构设计方法中,所述的目标用户集预包括预先存储的目标用户集,输入预先存储的目标用户集编号能够获取目标用户端。
[0043]在上述的分布式即时服务器推送方案架构设计方法中,所述的用户端以用户唯一标识hash进行存储。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式即时服务器推送方案架构设计方法,其特征在于,用户端包括起始用户端和目标用户端,包括以下步骤:步骤S1:服务器接收起始用户端的消息以及需发送到的目标用户集,所述的目标用户集包含至少一个目标用户端;步骤S2:服务器在zookeeper集群上找到目标用户端的地址;步骤S3:判断目标用户端与起始用户端是否位于同一服务器:

当目标用户端与起始用户端位于同一服务器时,执行步骤S5;

当目标用户端与起始用户端位于不同服务器时,执行步骤S4;步骤S4:调用目标用户端所在服务器的消息转发接口,消息转发接口在目标用户端所在服务器的连接列表中寻找目标用户端,执行步骤S5;步骤S5:向目标用户端转发消息。2.根据权利要求1所述的一种分布式即时服务器推送方案架构设计方法,其特征在于,所述的目标用户端数量大于一时,每一需发送到的目标用户端分别执行步骤S2至步骤5。3.根据权利要求1所述的一种分布式即时服务器推送方案架构设计方法,其特征在于,所述的目标用户集预包括预先存储的目标用户集,输入预先存储的目标用户集编号能够获取目标用户端。4.根据权利要求1所述的一种分布式即时服务器推送方案架构设计方法,其特征在于...

【专利技术属性】
技术研发人员:叶金飞曹杭平李新奎林强余芳园王莉丽徐亦萍
申请(专利权)人:浙江省标准化研究院金砖国家标准化浙江研究中心浙江省物品编码中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1