一种集群化消息同步方法技术

技术编号:39601267 阅读:6 留言:0更新日期:2023-12-03 20:01
本申请公开一种集群化消息同步方法

【技术实现步骤摘要】
一种集群化消息同步方法、装置、计算机设备及存储介质


[0001]本申请属于大数据
及产险金融领域,具体涉及一种集群化消息同步方法

装置

计算机设备及存储介质


技术介绍

[0002]在现代的
Web
应用程序中,
Websocket
已经成为了一种非常重要的协议,它可以实现实时的双向通信

然而,在多台服务器的情况下,
Websocket
的集群化消息同步方案仍然存在一些问题

具体来说,当后台推送的消息到达的
Websocket
不在的服务器上时,消息不能在多个会话窗口同时被接收,导致某些客户端将无法接收到消息,这将导致消息不可达,影响用户的使用体验,例如,在产险销售系统中,产险消息无法在多个会话窗口同时推送,导致某些客户端将无法及时接收到最新的产险消息,使得客户错处一些符合自己需求的保险产品

[0003]目前,解决这个问题的方法往往是通过技术手段计算出当前
Websocket
所在的服务器,并将消息投递到该服务器上,但是这个方法会消耗服务器的一些计算资源

或者实现一个相对复杂的链接信息管理系统,但是这个方法会使系统变得复杂,提高系统开发和维护的难度


技术实现思路

[0004]本申请实施例的目的在于提出一种集群化消息同步方法

装置

计算机设备及存储介质,以解决现有
Websocket
的集群化消息同步方案存在的需要消耗服务器的一些计算资源和容易使系统变得复杂,提高系统开发和维护的难度的技术问题

[0005]为了解决上述技术问题,本申请实施例提供一种集群化消息同步方法,采用了如下所述的技术方案:
[0006]一种集群化消息同步方法,包括:
[0007]部署消息广播服务组件,并建立消息广播服务组件与每一个
WebSocket
服务器之间的通信通道;
[0008]监控每一个
WebSocket
服务器的消息接口,确定存在接口响应信号的第一
WebSocket
服务器;
[0009]从第一
WebSocket
服务器中获取接口响应信号对应的待推送消息;
[0010]通过预设的开发工具包将待推送消息上传至消息广播服务组件;
[0011]通过消息广播服务组件将待推送消息广播至第二
WebSocket
服务器,其中,第二
WebSocket
服务器为当前时刻未接收到接口响应信号的
WebSocket
服务器;
[0012]判断第二
WebSocket
服务器当前时刻是否存在
WebSocket
会话,若存在,则将待推送消息推送至
WebSocket
会话,若不存在,则将待推送消息进行第一丢弃处理

[0013]进一步地,部署消息广播服务组件,并建立消息广播服务组件与每一个
WebSocket
服务器之间的通信通道,具体包括:
[0014]基于消息队列封装消息广播服务组件;
[0015]将消息广播服务组件部署到
WebSocket
服务器集群中;
[0016]建立消息广播服务组件与每一个
WebSocket
服务器之间的通信通道

[0017]进一步地,监控每一个
WebSocket
服务器的消息接口,确定存在接口响应信号的第一
WebSocket
服务器,具体包括:
[0018]部署消息监控组件,并以心跳机制通过息监控组件对每一个
WebSocket
服务器的消息接口进行实时监测;
[0019]当识别到消息接口存在接口响应信号时,确定存在接口响应信号的消息接口对应的
WebSocket
服务器,得到第一
WebSocket
服务器

[0020]进一步地,通过消息广播服务组件将待推送消息广播至第二
WebSocket
服务器,具体包括:
[0021]启动第二
WebSocket
服务器的消息监听器,通过消息监听器监听消息广播服务组件发出的广播消息;
[0022]当消息监听器监听到广播消息后,对广播消息进行响应,并返回响应反馈信息;
[0023]根据响应反馈信息将待推送消息从消息广播服务组件广播至第二
WebSocket
服务器

[0024]进一步地,判断第二
WebSocket
服务器当前时刻是否存在
WebSocket
会话,若存在,则将待推送消息推送至
WebSocket
会话,若不存在,则将待推送消息进行第一丢弃处理,具体包括:
[0025]基于第二
WebSocket
服务器的会话逻辑判断述第二
WebSocket
服务器当前时刻是否存在
WebSocket
会话;
[0026]若存在
WebSocket
会话,则将待推送消息推送至
WebSocket
会话上进行显示;
[0027]若不存在
WebSocket
会话,则将待推送消息进行第一丢弃处理

[0028]进一步地,在通过预设的开发工具包将待推送消息上传至消息广播服务组件之后,还包括:
[0029]对待推送消息进行查重处理,以判断待推送消息是否重复;
[0030]若待推送消息是重复消息,则对待推送消息进行第二丢弃处理;
[0031]若待推送消息不是重复消息,则将待推送消息已移送至消息广播服务组件的待广播队列

[0032]进一步地,在判断第二
WebSocket
服务器当前时刻是否存在
WebSocket
会话,若存在,则将待推送消息推送至
WebSocket
会话,若不存在,则将待推送消息进行第一丢弃处理之后,还包括:
[0033]触发第一日志程序,获取第一丢弃处理过程中产生的事件日志,得到第一事件日志;
[0034]将第一事件日志存储至预设的日志库中;
[0035]在若待推送消息是重复消息,则对待推送消息进行第二丢弃处理之后,还包括:
[0036]触发第二日志程序,获取第二丢弃处理过程中产生的事件日志,得到第二事件日志;
[0037]将第二事件日志存储至预设的日志库中

[0038]为了解决上述技术问题,本申请实施例还提供一种集群化消本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种集群化消息同步方法,其特征在于,包括:部署消息广播服务组件,并建立所述消息广播服务组件与每一个
WebSocket
服务器之间的通信通道;监控每一个
WebSocket
服务器的消息接口,确定存在接口响应信号的第一
WebSocket
服务器;从所述第一
WebSocket
服务器中获取所述接口响应信号对应的待推送消息;通过预设的开发工具包将所述待推送消息上传至所述消息广播服务组件;通过所述消息广播服务组件将所述待推送消息广播至第二
WebSocket
服务器,其中,所述第二
WebSocket
服务器为当前时刻未接收到所述接口响应信号的
WebSocket
服务器;判断所述第二
WebSocket
服务器当前时刻是否存在
WebSocket
会话,若存在,则将所述待推送消息推送至所述
WebSocket
会话,若不存在,则将所述待推送消息进行第一丢弃处理
。2.
如权利要求1所述的集群化消息同步方法,其特征在于,所述部署消息广播服务组件,并建立所述消息广播服务组件与每一个
WebSocket
服务器之间的通信通道,具体包括:基于消息队列封装所述消息广播服务组件;将所述消息广播服务组件部署到
WebSocket
服务器集群中;建立所述消息广播服务组件与每一个
WebSocket
服务器之间的通信通道
。3.
如权利要求1所述的集群化消息同步方法,其特征在于,所述监控每一个
WebSocket
服务器的消息接口,确定存在接口响应信号的第一
WebSocket
服务器,具体包括:部署消息监控组件,并以心跳机制通过所述息监控组件对每一个
WebSocket
服务器的消息接口进行实时监测;当识别到消息接口存在所述接口响应信号时,确定存在所述接口响应信号的消息接口对应的
WebSocket
服务器,得到所述第一
WebSocket
服务器
。4.
如权利要求1所述的集群化消息同步方法,其特征在于,所述通过所述消息广播服务组件将所述待推送消息广播至第二
WebSocket
服务器,具体包括:启动所述第二
WebSocket
服务器的消息监听器,通过所述消息监听器监听所述消息广播服务组件发出的广播消息;当所述消息监听器监听到所述广播消息后,对所述广播消息进行响应,并返回响应反馈信息;根据所述响应反馈信息将所述待推送消息从所述消息广播服务组件广播至所述第二
WebSocket
服务器
。5.
如权利要求4所述的集群化消息同步方法,其特征在于,所述判断所述第二
WebSocket
服务器当前时刻是否存在
WebSocket
会话,若存在,则将所述待推送消息推送至所述
WebSocket
会话,若不存在,则将所述待推送消息进行第一丢弃处理,具体包括:基于所述第二
WebSocket
服务器的会话逻辑判断述第二...

【专利技术属性】
技术研发人员:林勇
申请(专利权)人:中国平安财产保险股份有限公司
类型:发明
国别省市:

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

1