利索能及
我要发布
收藏
专利号: 201910007206X
申请人: 平安科技(深圳)有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于MQTT协议的离线消息分发方法,应用于服务器,其特征在于,所述方法包括:S1、接收第一客户端发布的消息,根据该消息的属性信息确定该消息对应的消息队列,并基于第一预设规则将该消息保存在该消息队列中;

S2、接收第二客户端的连接指令,获取所述第二客户端的上线时间及上一次离线时间,确定离线时间段;

S3、分别确定所述第二客户端对应的一个或多个消息队列,分别从所述一个或多个消息队列中找出所述第二客户端在离线时间段内的消息,生成所述第二客户端的离线消息列表;及S4、基于第二预设规则将所述离线消息列表中的消息分发至所述第二客户端。

2.根据权利要求1所述的离线消息分发方法,其特征在于,所述“根据第一预设规则将该消息保存在该消息队列中”,包括:从所述消息的属性信息中获取时间戳,根据所述时间戳从早到晚的顺序,依次将所述消息保存在该消息对应的消息队列的头部。

3.根据权利要求1所述的离线消息分发方法,其特征在于,所述“分别从所述一个或多个消息队列中找出所述第二客户端在离线时间段内的消息,作为所述第二客户端的离线消息”,包括:获取一个消息队列的第一条消息,从所述第一条消息的属性信息中获取时间戳,判断该时间戳是否在离线时间段内;

若是,则判断该第一条消息是离线消息,并依次获取该消息队列中的下一条消息重复执行判断步骤;

若否,则判断该第一条消息不是离线消息,判断该消息队列中不存在所述第二客户端的离线消息。

4.根据权利要求3所述的离线消息分发方法,其特征在于,所述第二预设规则包括:根据所述离线消息列表中各离线消息的排序,依次将离线消息发送至第二客户端。

5.根据权利要求4所述的离线消息分发方法,其特征在于,所述第二预设规则还包括:当所述第二客户端对应多个离线消息列表时,确定各离线消息列表对应的主题的订阅时间,按照订阅时间从早到晚的顺序,依次分发各离线消息列表中的离线消息。

6.根据权利要求3所述的离线消息分发方法,其特征在于,所述“根据第一预设规则将该消息保存在该消息队列中”,包括:当所述消息队列中消息数量为第一预设阈值时,每接收一条新的消息时,移除所述消息队列尾部的一条消息,并将所述新的消息放置在消息队列的头部。

7.根据权利要求6所述的离线消息分发方法,其特征在于,所述“根据第一预设规则将该消息保存在该消息队列中”,还包括:当所述消息队列中消息数量达到第二预设阈值时,生成预警信息发送至预设终端,并接收该预设终端发出的对所述第一预设阈值进行更新的指令,响应该指令并执行第一预设阈值更新操作。

8.一种服务器,其特征在于,该服务器包括:存储器、处理器,所述存储器上存储有可在所述处理器上运行的离线消息分发程序,所述离线消息分发程序被所述处理器执行时,可实现如下步骤:A1、接收第一客户端发布的消息,根据该消息的属性信息确定该消息对应的消息队列,并基于第一预设规则将该消息保存在该消息队列中;

A2、接收第二客户端的连接指令,获取所述第二客户端的上线时间及上一次离线时间,确定离线时间段;

A3、分别确定所述第二客户端对应的一个或多个消息队列,分别从所述一个或多个消息队列中找出所述第二客户端在离线时间段内的消息,生成所述第二客户端的离线消息列表;及A4、基于第二预设规则将所述离线消息列表中的消息分发至所述第二客户端。

9.根据权利要求8所述的服务器,其特征在于,所述离线消息分发程序被所述处理器执行时,还实现如权利要求2至7中任意一项所述的离线消息分发方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括离线消息分发程序,所述离线消息分发程序被处理器执行时,可实现如权利要求1至7中任意一项所述的离线消息分发方法的步骤。