[发明专利]消息句柄的创建方法、消息推送方法及相关装置和系统在审
| 申请号: | 202210331159.6 | 申请日: | 2022-03-30 |
| 公开(公告)号: | CN114979249A | 公开(公告)日: | 2022-08-30 |
| 发明(设计)人: | 赵福建;张美平 | 申请(专利权)人: | 阿里巴巴(中国)有限公司 |
| 主分类号: | H04L67/55 | 分类号: | H04L67/55;H04L67/568;H04L67/146;H04L69/22;H04L69/28 |
| 代理公司: | 北京思格颂知识产权代理有限公司 11635 | 代理人: | 潘珺 |
| 地址: | 310027 浙江省杭州市滨江*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 消息 句柄 创建 方法 推送 相关 装置 系统 | ||
1.一种消息句柄的创建方法,其特征在于,包括:
响应于接收到的消费者客户端发送的对队列的订阅请求,从预先保存的所述订阅请求对应的队列中读取消息;
为读取的所述消息创建消息句柄和对应的定时任务,所述定时任务用于在所述消息对应的预设的消息重试间隔到达时,触发服务端删除所述消息对应的消息句柄,以使得服务端能够重新推送所述消息。
2.如权利要求1所述的方法,其特征在于,从预先保存的所述订阅请求对应的队列中读取消息之后,还包括:
为读取的所述消息创建唯一的消息标识,所述消息标识包括:连接标识、通道标识和传送标签。
3.如权利要求2所述的方法,其特征在于,为读取的所述消息创建消息句柄,包括:
创建消息句柄的数据内容,并将消息句柄的数据内容存储于预设的堆外区域;
将所述消息句柄的数据内容在所述堆外区域的存储地址作为所述消息句柄的索引;
将所述消息标识和所述消息句柄的索引,存储于预设的堆内区域。
4.如权利要求3所述的方法,其特征在于,所述创建消息句柄的数据内容,包括:
创建下述任一项或多项数据:
所述消息持久化存储所在队列的队列标识;
所述消息所在的定时任务的标识;
所述消息在持久化存储所在队列中的逻辑位移信息;
所述消息的标识;
所述消息的重试次数。
5.如权利要求3所述的方法,其特征在于,为读取的所述消息创建对应的定时任务,包括:
将当前时间戳和所述消息对应的预设消息重试间隔作为所述消息对应的定时任务标识;
根据所述当前时间戳和预设的消息重试间隔,创建对应的定时任务;所述消息重试间隔为所述定时任务的所述超时时间;
若多个消息的当前时间戳和预设消息重试间隔均相同,则所述多个消息共享同一定时任务。
6.如权利要求5所述的方法,其特征在于,还包括:
若所述消息对应的定时任务的超时时间到达,则删除所述堆内区域所述消息对应的消息标识和消息句柄的索引,以及所述堆外区域中所述消息句柄的数据内容。
7.一种消息的推送方法,其特征在于,包括:
将消息队列中消费者客户端订阅的消息发送给消费者客户端;
若接收到消费者客户端发送的确认报文,则查看是否存在所述消息所对应的消息句柄;所述消息句柄对应定时任务,所述定时任务用于在所述消息对应的预设的消息重试间隔到达时,触发服务端删除所述消息对应的消息句柄,以使得服务端能够重新推送所述消息;
若不存在,则确定所述确认报文无效;
若存在,则确定所述确认报文有效。
8.如权利要求7所述的方法,其特征在于,确定所述确认报文有效之后,还包括:
删除预设堆内区域缓存的所述消息对应的消息标识和消息句柄的索引,以及预设的堆外区域缓存的所述消息句柄的数据内容;
删除所述消息句柄对应的所述定时任务,或者删除多个消息句柄共享的所述定时任务中所述消息句柄对应的信息;
将所述消息的消费位点提交至所述消息队列所在的持久化存储空间,以使得所述消息不再被消费者客户端消费。
9.如权利要求7或8所述的方法,其特征在于,还包括:
若所述定时任务的超时时间到达,则删除预设堆内区域缓存的所述消息对应的消息标识和消息句柄的索引,以及预设的堆外区域缓存的所述消息句柄的数据内容;
向所述消费者客户端重新发送所述消息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴(中国)有限公司,未经阿里巴巴(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210331159.6/1.html,转载请声明来源钻瓜专利网。





