消息推送方法、装置、存储介质及电子设备制造方法及图纸

技术编号:38148319 阅读:7 留言:0更新日期:2023-07-13 09:12
本申请实施例公开了一种消息推送方法、装置、存储介质及电子设备。该方法包括:消息接入层通过MQTT长链接接收不同类型客户端发送的请求消息,并向消息分发层转发所述请求消息;当消息分发层接收到请求消息,将请求消息投递至目标业务服务端;目标业务服务端根据请求消息匹配对应的推送消息,并通过消息分发层将推送消息转发至消息接入层;消息接入层基于MQTT长链接,将接收到的推送消息投递至对应的目标客户端。本方案通过长链接实现统一的MQTT协议的消息服务端,可同时兼顾不同网络使用场景的客户端的性能要求。客户端的性能要求。客户端的性能要求。

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


[0001]本申请涉及电子设备
,尤其涉及一种消息推送方法、装置、存储介质及电子设备。

技术介绍

[0002]移动互联网的时代,消息推送功能变得普及以及智能化,推送能力基本上是APP(Application)的一个标准化配置。
[0003]目前服务端推送消息至客户端常用的方式有轮训、Websocket及第三方服务平台等。其中,轮训包括段轮训或者长轮训,客户端通过不断向服务端发送请求获得响应的方式来获取服务端的数据。Websocket是一种在单个TCP(Transmission Control Protocol,传输控制协议)连接上进行全双工通信的协议,Websocket约定了一个通信的规范,通过握手机制,在客户端和服务器之间建立一个类似TCP的连接。基于第三方服务平台推送消息,在客户端不启动的情况下设备系统也可以收到消息推送。
[0004]由于客户端系统的种类较多,每种客户端的网络使用场景也不太一样,目前的服务端消息推送方式,无法同时兼顾到不同网络使用场景的客户端。

技术实现思路

[0005]本申请实施例提供一种消息推送方法、装置、存储介质及电子设备,可同时兼顾不同网络使用场景的客户端的性能要求。
[0006]第一方面,本申请实施例提供一种消息推送方法,包括:
[0007]消息接入层通过MQTT长链接接收不同类型客户端发送的请求消息,并向消息分发层转发所述请求消息;
[0008]当所述消息分发层接收到所述请求消息,将所述请求消息投递至目标业务服务端;
[0009]所述目标业务服务端根据所述请求消息匹配对应的推送消息,并通过所述消息分发层将所述推送消息转发至所述消息接入层;
[0010]所述消息接入层基于MQTT长链接,将接收到的推送消息投递至对应的目标客户端。
[0011]第二方面,本申请实施例提供了一种消息推送装置,包括:
[0012]第一接收单元,用于通过MQTT长链接接收不同类型客户端发送的请求消息,以及基于MQTT长链接,将接收到的推送消息投递至对应的目标客户端;
[0013]第一发送单元,用于接收所述接入单元发送的请求消息;
[0014]业务处理单元,用于接收所述分发单元转发的请求消息,并根据接收到的请求消息匹配对应的推送消息;
[0015]第二接收单元,用于接收所述业务处理单元发送的推送消息;
[0016]第二发送单元,用于接收第二接收单元转发的推送消息,并通过MQTT长链接,将接
收到的推送消息投递至对应的目标客户端。
[0017]在一实施方式中,消息推送装置,还包括:
[0018]建立单元,用于在通过MQTT长链接接收不同类型客户端发送的请求消息之前,建立不同类型客户端与第一接收单元及第二发送单元之间的MQTT长链接。
[0019]在一实施方式中,消息推送装置,还包括:
[0020]订阅单元,用于在建立不同类型客户端与第一接收单元及第二发送单元之间的MQTT长链接之后,通过MQTT长链接接收不同类型客户端发送的请求消息之前,订阅指定消息主题;
[0021]确定单元,用于确定所述消息主题的重要等级;
[0022]发布单元,用于根据所述重要等级向第一接收单元发布对应的服务质量等级。
[0023]在一实施方式中,所述请求消息至少包括所述消息主题和所述消息主题的重要等级;第二发送单元,具体用于:
[0024]根据所述消息主题的重要等级确定推送消息的优先级;
[0025]当网络传输速率低于预设值时,根据所述优先级调整推送消息的投递顺序;
[0026]基于调整后的投递顺序,通过MQTT长链接将推送消息投递至对应的目标客户端。
[0027]在一实施方式中,在客户端与第一接收单元及第二发送单元保持通信连接期间,客户端通过向第一接收单元及第二发送单元发送心跳包维持连接状态。
[0028]在一实施方式中,消息推送装置,还包括:
[0029]断开单元,用于在基于MQTT长链接,将接收到的推送消息投递至对应的目标客户端之后,断开所述目标客户端与第一接收单元及第二发送单元之间的MQTT长链接。
[0030]第三方面,本申请实施例还提供了一种计算机可读存储介质,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行上述消息推送方法。
[0031]第四方面,本申请实施例还提供了一种电子设备,包括处理器及存储器,所述处理器与所述存储器电性连接,所述存储器用于存储指令和数据,处理器用于执行以下方法:
[0032]通过MQTT长链接向服务器发送不同类型客户端的请求消息;以及,
[0033]接收服务器通过MQTT长链接发送给目标客户端的推送消息。
[0034]本申请实施例中,消息接入层通过MQTT长链接接收不同类型客户端发送的请求消息,并向消息分发层转发所述请求消息;当消息分发层接收到请求消息,将请求消息投递至目标业务服务端;目标业务服务端根据请求消息匹配对应的推送消息,并通过消息分发层将推送消息转发至消息接入层;消息接入层基于MQTT长链接,将接收到的推送消息投递至对应的目标客户端。本方案通过长链接实现统一的MQTT协议的消息服务端,可同时兼顾不同网络使用场景的客户端的性能要求。
附图说明
[0035]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036]图1是本申请实施例提供的消息推送方法的一流程示意图。
[0037]图2是本申请实施例提供的消息推送方法的系统架构示意图。
[0038]图3是本申请实施例提供的消息推送装置的一结构示意图。
[0039]图4是本申请实施例提供的电子设备的一结构示意图。
[0040]图5是本申请实施例提供的电子设备的另一结构示意图。
具体实施方式
[0041]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0042]随着科技的发展,越来越多行业(如货运行业)对消息推送服务的即时性、实时性以及稳定性有着严格的要求,所有的订单状态扭转都依赖于推送服务。
[0043]目前服务端推送消息至客户端常用的方式有轮训、Websocket及第三方服务平台等。其中,轮训包括段轮训或者长轮训,客户端通过不断向服务端发送请求获得响应的方式来获取服务端的数据;然而,这种方式比较浪费带宽和服务器资源。Websocket是一种在单个TCP(Transmission 本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种消息推送方法,其特征在于,包括:消息接入层通过MQTT长链接接收不同类型客户端发送的请求消息,并向消息分发层转发所述请求消息;当所述消息分发层接收到所述请求消息,将所述请求消息投递至目标业务服务端;所述目标业务服务端根据所述请求消息匹配对应的推送消息,并通过所述消息分发层将所述推送消息转发至所述消息接入层;所述消息接入层基于MQTT长链接,将接收到的推送消息投递至对应的目标客户端。2.根据权利要求1所述的消息推送方法,其特征在于,在消息接入层通过MQTT长链接接收不同类型客户端发送的请求消息之前,还包括:建立不同类型客户端与所述消息接入层之间的MQTT长链接。3.根据权利要求2所述的消息推送方法,其特征在于,在建立不同类型客户端与所述消息接入层之间的MQTT长链接之后,消息接入层通过MQTT长链接接收不同类型客户端发送的请求消息之前,还包括:订阅指定消息主题;确定所述消息主题的重要等级;根据所述重要等级向所述消息接入层发布对应的服务质量等级。4.根据权利要求3所述的消息推送方法,其特征在于,所述请求消息至少包括所述消息主题和所述消息主题的重要等级;所述消息接入层基于MQTT长链接,将接收到的推送消息投递至对应的目标客户端,包括:根据所述消息主题的重要等级确定推送消息的优先级;当网络传输速率低于预设值时,根据所述优先级调整推送消息的投递顺序;所述消息接入层基于调整后的投递顺序,通过MQTT长链接将推送消息投递至对应的目标客户端。5.根据权利要求2所述的消息推送方法,其特征在于,在客户端与所述消息接入层保持通信连接期间,客户端通过向所述消息接入层发送心跳包维...

【专利技术属性】
技术研发人员:王维奇赵明鲜刘俊良
申请(专利权)人:深圳依时货拉拉科技有限公司
类型:发明
国别省市:

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

1