一种消息通知方法、装置、电子设备及存储介质制造方法及图纸

技术编号:36956795 阅读:11 留言:0更新日期:2023-03-22 19:17
本申请提供了一种消息通知方法、装置、电子设备及存储介质,该方法包括:接收客户端发送的连接请求,并根据连接请求建立客户端与推送服务器之间的长连接,其中,推送服务器是服务器集群中处于空闲状态的服务器;将各个目标服务器发送的通知消息关联存储至消息队列中;其中,消息队列是推送服务器根据该推送服务器的属性信息预先创建的,目标服务器是服务器集群中除了推送服务器之外的其中一个;通知推送服务器将从消息队列中读取到的通知消息发送至客户端。本申请能够通过客户端与推送服务器之间建立长连接的方式来实现消息实时通知,同时降低服务器的压力。时降低服务器的压力。时降低服务器的压力。

【技术实现步骤摘要】
一种消息通知方法、装置、电子设备及存储介质


[0001]本申请涉及通信
,具体而言,涉及一种消息通知方法、装置、电子设备及存储介质。

技术介绍

[0002]目前,给客户端通知消息时,常见的实现方式是通过定时拉取通知或者通过前端点击触发去拉取通知的方式实现消息通知,但这些方式均无法达到实时通知的效果;另外,拉取通知调用的频率不好控制,频率过高会对服务器产生负荷,频率过低会导致通知滞后。

技术实现思路

[0003]有鉴于此,本申请的目的在于提供一种消息通知方法、装置、电子设备及存储介质,能够通过客户端与推送服务器之间建立长连接的方式来实现消息实时通知,同时降低服务器的压力。
[0004]第一方面,本申请实施例提供了一种消息通知方法,所述方法包括:
[0005]接收客户端发送的连接请求,并根据所述连接请求建立所述客户端与推送服务器之间的长连接,其中,所述推送服务器是服务器集群中处于空闲状态的服务器;
[0006]将各个目标服务器发送的通知消息关联存储至消息队列中;其中,所述消息队列是所述推送服务器根据该推送服务器的属性信息预先创建的,所述目标服务器是服务器集群中除了所述推送服务器之外的其中一个;
[0007]通知所述推送服务器将从所述消息队列中读取到的通知消息发送至所述客户端。
[0008]在本申请的一种可选实施例中,将各个目标服务器发送的通知消息关联存储至消息队列中的步骤,包括:
[0009]将所述消息队列与通知交换机进行绑定;
[0010]将各个目标服务器发送的通知消息通过广播形式发送至所述通知交换机,并通过所述通知交换机将所述通知消息关联存储至消息队列中。
[0011]在本申请的一种可选实施例中,通知所述推送服务器将从所述消息队列中读取到的通知消息发送至所述客户端的步骤,包括:
[0012]通知所述推送服务器将从所述消息队列中读取到的通知消息发送至与所述推送服务器建立长连接的所有客户端。
[0013]在本申请的一种可选实施例中,通知所述推送服务器将从所述消息队列中读取到的通知消息发送至所述客户端的步骤,包括:
[0014]在建立所述客户端与推送服务器之间的长连接时,记录长连接通道与客户端之间的关联关系;
[0015]根据指定客户端以及所述关联关系,确定目标长连接通道;
[0016]通知所述推送服务器将从所述消息队列中读取到的通知消息通过所述目标长连接通道发送至指定客户端。
[0017]在本申请的一种可选实施例中,所述方法还包括:
[0018]通知推送服务器定时给客户端发送第一探活请求,所述第一探活请求用于查看所述客户端是否处于存活状态;
[0019]若检测到所述客户端异常退出,则通知推送服务器断开该长连接通道,并删除该推送服务器与客户端之间的关联关系。
[0020]在本申请的一种可选实施例中,所述方法还包括:
[0021]定时接收所述客户端发送的第二探活请求,其中,所述第二探活请求用于查看所述推送服务器是否处于存活状态。
[0022]在本申请的一种可选实施例中,所述方法还包括:
[0023]接收客户端发送的退出连接请求,断开所述推送服务器与所述客户端之间的长连接。
[0024]第二方面,本申请实施例还提供了一种消息通知装置,所述装置包括:
[0025]连接建立模块,用于接收客户端发送的连接请求,并根据所述连接请求建立所述客户端与推送服务器之间的长连接,其中,所述推送服务器是服务器集群中处于空闲状态的服务器;
[0026]消息存储模块,用于将各个目标服务器发送的通知消息关联存储至消息队列中;其中,所述消息队列是所述推送服务器根据该推送服务器的属性信息预先创建的,所述目标服务器是服务器集群中除了所述推送服务器之外的其中一个;
[0027]消息通知模块,用于通知所述推送服务器将从所述消息队列中读取到的通知消息发送至所述客户端。
[0028]第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行如上述的消息通知方法的步骤。
[0029]第四方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的消息通知方法的步骤。
[0030]本申请实施例提供了一种消息通知方法、装置、电子设备及存储介质,该方法包括:接收客户端发送的连接请求,并根据连接请求建立客户端与推送服务器之间的长连接,其中,推送服务器是服务器集群中处于空闲状态的服务器;将各个目标服务器发送的通知消息关联存储至消息队列中;其中,消息队列是推送服务器根据该推送服务器的属性信息预先创建的,目标服务器是服务器集群中除了推送服务器之外的其中一个;通知推送服务器将从消息队列中读取到的通知消息发送至客户端。与现有技术中通过定时拉取通知或者通过前端点击触发去拉取通知的方式实现消息通知但均无法达到实时通知的方式相比,本申请能够通过客户端与推送服务器之间建立长连接的方式来实现消息实时通知,同时降低服务器的压力。
[0031]为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0032]为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0033]图1为本申请实施例所提供的一种消息通知方法的流程图;
[0034]图2为本申请实施例所提供的一种消息通知装置的结构示意图;
[0035]图3为本申请实施例所提供的另一种消息通知装置的结构示意图;
[0036]图4为本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
[0037]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本申请保护的范围。
[0038]经研究发现,给客户端通知消息时,常见的实现方式是通过定时拉取通知或者通过前端点击触发去拉取通知的方式实现消息通知,但这些方式均无法达到实时通知的效果;外,拉取通知调用的频率不好控制,频率过高本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种消息通知方法,其特征在于,所述方法包括:接收客户端发送的连接请求,并根据所述连接请求建立所述客户端与推送服务器之间的长连接,其中,所述推送服务器是服务器集群中处于空闲状态的服务器;将各个目标服务器发送的通知消息关联存储至消息队列中;其中,所述消息队列是所述推送服务器根据该推送服务器的属性信息预先创建的,所述目标服务器是服务器集群中除了所述推送服务器之外的其中一个;通知所述推送服务器将从所述消息队列中读取到的通知消息发送至所述客户端。2.根据权利要求1所述的方法,其特征在于,将各个目标服务器发送的通知消息关联存储至消息队列中的步骤,包括:将所述消息队列与通知交换机进行绑定;将各个目标服务器发送的通知消息通过广播形式发送至所述通知交换机,并通过所述通知交换机将所述通知消息关联存储至消息队列中。3.根据权利要求1所述的方法,其特征在于,通知所述推送服务器将从所述消息队列中读取到的通知消息发送至所述客户端的步骤,包括:通知所述推送服务器将从所述消息队列中读取到的通知消息发送至与所述推送服务器建立长连接的所有客户端。4.根据权利要求1所述的方法,其特征在于,通知所述推送服务器将从所述消息队列中读取到的通知消息发送至所述客户端的步骤,包括:在建立所述客户端与推送服务器之间的长连接时,记录长连接通道与客户端之间的关联关系;根据指定客户端以及所述关联关系,确定目标长连接通道;通知所述推送服务器将从所述消息队列中读取到的通知消息通过所述目标长连接通道发送至指定客户端。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:通知推送服务器定时给客户端发送第一探活请求...

【专利技术属性】
技术研发人员:雷成杨学磊秦立丰李锦泉章翠
申请(专利权)人:明度智云浙江科技有限公司
类型:发明
国别省市:

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

1