System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于分布式的实时消息推送系统及方法技术方案_技高网

基于分布式的实时消息推送系统及方法技术方案

技术编号:41199902 阅读:3 留言:0更新日期:2024-05-07 22:26
本发明专利技术提供了一种基于分布式的实时消息推送系统及方法,包括:客户端子系统、业务应用子系统、云存储子系统和消息中心子系统;其中,客户端子系统与业务应用子系统连接,消息中心子系统分别与客户端子系统、业务应用子系统和云存储子系统连接;消息中心子系统用于通过分布式消息队列集群通信获取业务应用子系统待推送的消息,并通过WebSocket协议和实时的消息推送机制将待推送的消息发送至目标客户端,以及将待推送的消息保存至云存储子系统。本发明专利技术能够实现实时的消息传递和即时通信,满足了用户对快速响应和实时交互的需求。

【技术实现步骤摘要】

本专利技术涉及计算机网络,尤其是涉及一种基于分布式的实时消息推送系统及方法


技术介绍

1、随着社会的发展和科技水平的提升,人们对通信质量的要求也在逐渐的提高,特别是进入5g时代以来,智能终端在生活中出现的越来越频繁,逐渐的走入了人们的生活。通过智能终端的使用,人们生活的便捷性得到了很大提升,人们可以在智能终端上购物、娱乐以及进行视频通讯等。网络技术的发展给人们的生活带来了巨大的变化特别是信息的接收方面,从之前的被动接受到现在的主动接受,这一接受的方式转变对技术的要求和挑战也随之而来。

2、服务器的主动行为需要客户端和服务端建立tcp长连接通道并且不能被关闭,即长连接。与普通的短连接相比较长连接是持续保持客户端和服务端的畅通,例如http这种一次请求一次响应然后连接关闭,如果进行下次通信需要重新建立连接。通过长连接这种方式,服务器端想要发送消息的时候才能找到对应客户端的通道。短连接的通信方式不能满足服务器主动推送的场景。但是,长连接在解决了服务器主动推送消息的问题也会带来一些问题。例如,不能关闭的通道对客户端来说只是一个连接而已,但是对于服务器而言就是一种资源消耗,在大量连接的场景下,单机由于资源的限制,不能满足高并发的性能需要,在消息传递方面存在延迟,无法提供实时的通信和即时的消息推送。


技术实现思路

1、有鉴于此,本专利技术的目的在于提供一种基于分布式的实时消息推送系统及方法,能够实现实时的消息传递和即时通信,满足了用户对快速响应和实时交互的需求。

2、为了实现上述目的,本专利技术实施例采用的技术方案如下:

3、第一方面,本专利技术实施例提供了一种基于分布式的实时消息推送系统,包括:客户端子系统、业务应用子系统、云存储子系统和消息中心子系统;其中,客户端子系统与业务应用子系统连接,消息中心子系统分别与客户端子系统、业务应用子系统和云存储子系统连接;消息中心子系统用于通过分布式消息队列集群通信获取业务应用子系统待推送的消息,并通过websocket协议和实时的消息推送机制将待推送的消息发送至目标客户端,以及将待推送的消息保存至云存储子系统。

4、在一种实施方式中,消息中心子系统为分布式集群子系统,包括:负载均衡模块、服务接入模块、安全验证模块、消息接收模块、消息路由模块、消息发送模块、在线管理模块和数据可视化模块。

5、在一种实施方式中,负载均衡模块用于将消息推送请求分发到分布式集群中的各个节点上;还用于检测各个节点的健康状态,当节点发生故障或者不可用时,将消息推送请求自动转发至其他可用节点。

6、在一种实施方式中,服务接入模块用于接收客户端子系统发送的连接请求,并基于连接请求建立客户端子系统与消息中心子系统的通信连接。

7、在一种实施方式中,安全验证模块用于在客户端子系统与消息中心子系统建立连接时,对客户端子系统的用户身份信息和权限进行验证。

8、在一种实施方式中,消息接收模块用于通过分布式消息队列集群通信获取业务应用子系统待推送的消息;消息路由模块用于根据待推送的消息的目标标识或者订阅关系将待推送的消息路由到对应的目标客户端或者订阅者。

9、在一种实施方式中,消息发送模块用于根据待推送的消息的用户标识或者订阅关系确定接收消息的目标用户,并通过websocket通道将待推送的消息发送至目标用户对应的目标客户端;其中,目标用户根据安全验证模块验证的客户端子系统与用户的映射关系确定。

10、在一种实施方式中,在线管理模块用于对当前连接到消息中心子系统的客户端子系统的连接状态进行管理;数据可视化模块用于对消息中心子系统的数据进行可视化展示和监控。

11、在一种实施方式中,云存储子系统包括:关系型数据库mysql和非关系型数据库redis;消息中心子系统还用于将待推送的消息以结构化的方式存储在关系型数据库mysql和非关系型数据库redis中。

12、第二方面,本专利技术实施例提供了一种基于分布式的实时消息推送方法,该方法应用于上述第一方面提供的任一项的基于分布式的实时消息推送系统;该方法包括:消息中心子系统通过分布式消息队列集群通信获取业务应用子系统待推送的消息;通过websocket协议和实时的消息推送机制将待推送的消息发送至目标客户端;将待推送的消息保存至云存储子系统。

13、本专利技术实施例带来了以下有益效果:

14、本专利技术实施例提供的上述基于分布式的实时消息推送系统及方法,包括:客户端子系统、业务应用子系统、云存储子系统和消息中心子系统;其中,客户端子系统与业务应用子系统连接,消息中心子系统分别与客户端子系统、业务应用子系统和云存储子系统连接;消息中心子系统用于通过分布式消息队列集群通信获取业务应用子系统待推送的消息,并通过websocket协议和实时的消息推送机制将待推送的消息发送至目标客户端,以及将待推送的消息保存至云存储子系统。上述系统的消息中心系统通过websocket协议和实时的消息推送机制将将待推送的消息发送至目标客户端,能够实现实时的消息传递和即时通信,满足了用户对快速响应和实时交互的需求;同时采用分布式消息队列集群,能够确保消息的可靠传递,实现消息的持久性存储和查询,提升了用于体验和消息传递效率。

15、本专利技术的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

16、为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

本文档来自技高网...

【技术保护点】

1.一种基于分布式的实时消息推送系统,其特征在于,包括:客户端子系统、业务应用子系统、云存储子系统和消息中心子系统;其中,所述客户端子系统与所述业务应用子系统连接,所述消息中心子系统分别与所述客户端子系统、所述业务应用子系统和所述云存储子系统连接;

2.根据权利要求1所述的系统,其特征在于,所述消息中心子系统为分布式集群子系统,包括:负载均衡模块、服务接入模块、安全验证模块、消息接收模块、消息路由模块、消息发送模块、在线管理模块和数据可视化模块。

3.根据权利要求2所述的系统,其特征在于,所述负载均衡模块用于将消息推送请求分发到分布式集群中的各个节点上;还用于检测各个节点的健康状态,当所述节点发生故障或者不可用时,将所述消息推送请求自动转发至其他可用节点。

4.根据权利要求2所述的系统,其特征在于,所述服务接入模块用于接收所述客户端子系统发送的连接请求,并基于所述连接请求建立所述客户端子系统与所述消息中心子系统的通信连接。

5.根据权利要求2所述的系统,其特征在于,所述安全验证模块用于在所述客户端子系统与所述消息中心子系统建立连接时,对所述客户端子系统的用户身份信息和权限进行验证。

6.根据权利要求2所述的系统,其特征在于,所述消息接收模块用于通过分布式消息队列集群通信获取所述业务应用子系统待推送的消息;

7.根据权利要求2所述的系统,其特征在于,所述消息发送模块用于根据所述待推送的消息的用户标识或者订阅关系确定接收消息的目标用户,并通过WebSocket通道将所述待推送的消息发送至所述目标用户对应的目标客户端;其中,所述目标用户根据所述安全验证模块验证的所述客户端子系统与用户的映射关系确定。

8.根据权利要求2所述的系统,其特征在于,所述在线管理模块用于对当前连接到所述消息中心子系统的客户端子系统的连接状态进行管理;

9.根据权利要求1所述的系统,其特征在于,所述云存储子系统包括:关系型数据库MySQL和非关系型数据库Redis;

10.一种基于分布式的实时消息推送方法,其特征在于,所述方法应用于权利要求1至9任一项所述的基于分布式的实时消息推送系统;所述方法包括:

...

【技术特征摘要】

1.一种基于分布式的实时消息推送系统,其特征在于,包括:客户端子系统、业务应用子系统、云存储子系统和消息中心子系统;其中,所述客户端子系统与所述业务应用子系统连接,所述消息中心子系统分别与所述客户端子系统、所述业务应用子系统和所述云存储子系统连接;

2.根据权利要求1所述的系统,其特征在于,所述消息中心子系统为分布式集群子系统,包括:负载均衡模块、服务接入模块、安全验证模块、消息接收模块、消息路由模块、消息发送模块、在线管理模块和数据可视化模块。

3.根据权利要求2所述的系统,其特征在于,所述负载均衡模块用于将消息推送请求分发到分布式集群中的各个节点上;还用于检测各个节点的健康状态,当所述节点发生故障或者不可用时,将所述消息推送请求自动转发至其他可用节点。

4.根据权利要求2所述的系统,其特征在于,所述服务接入模块用于接收所述客户端子系统发送的连接请求,并基于所述连接请求建立所述客户端子系统与所述消息中心子系统的通信连接。

5.根据权利要求2所述的系统,其特征在于,所述安全验证模块用于在所述客...

【专利技术属性】
技术研发人员:苏杰
申请(专利权)人:苏州创旅天下信息技术有限公司
类型:发明
国别省市:

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

1