[发明专利]消息存储方法、装置、设备和计算机可读介质在审
| 申请号: | 202011349702.2 | 申请日: | 2020-11-26 |
| 公开(公告)号: | CN112346891A | 公开(公告)日: | 2021-02-09 |
| 发明(设计)人: | 李诗莹;韩龙 | 申请(专利权)人: | 北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54 |
| 代理公司: | 北京卫智畅科专利代理事务所(普通合伙) 11557 | 代理人: | 陈佳 |
| 地址: | 101116 北京市北京经济技术*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 消息 存储 方法 装置 设备 计算机 可读 介质 | ||
本公开的实施例公开了消息存储方法、装置、电子设备和计算机可读介质。该方法的一具体实施方式包括:响应于接收到待存储消息,确定待存储消息的过期时间与当前时间的时间差;基于时间差与拟存储待存储消息的环形消息队列的凹槽的总数,确定待存储消息对应的目标圈数;基于时间差、凹槽的总数和环形消息队列的指针当前指向的位置,确定待存储消息在环形消息队列的插入位置;根据目标圈数和插入位置,将待存储消息存入环形消息队列,以使待存储消息响应于指针指向插入位置且已转过的圈数与目标圈数匹配被消费。该实施方式实现了优先消费过期时间较近的消息。
技术领域
本公开的实施例涉及计算机技术领域,具体涉及消息存储方法、装置、设备和计算机可读介质。
背景技术
消息队列可以对庞大的实现系统解耦,具有提高系统的可扩展性、灵活性和峰值处理能力等等优势。因此,被广泛应用于各种业务场景。然而,相关的消息队列往往存在以下技术问题:
过期消费问题。也就是说,消息队列中的某条消息已经过了过期时间,但是还没有被消费,那么,该条消息会被丢弃,从而可能造成数据丢失。
发明内容
本公开的内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本公开的内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。本公开的一些实施例提出了消息存储方法、装置、电子设备和计算机可读介质,来解决以上背景技术部分提到的技术问题。
第一方面,本公开的一些实施例提供了一种消息存储方法,该方法包括:响应于接收到待存储消息,确定待存储消息的过期时间与当前时间的时间差;基于时间差与拟存储待存储消息的环形消息队列的凹槽的总数,确定待存储消息对应的目标圈数;基于时间差、凹槽的总数和环形消息队列的指针当前指向的位置,确定待存储消息在环形消息队列的插入位置;根据目标圈数和插入位置,将待存储消息存入环形消息队列,以使待存储消息响应于指针指向插入位置且已转过的圈数与目标圈数匹配被消费。
可选的,环形消息队列的每个凹槽对应一个消息链表;以及根据目标圈数和插入位置,将待存储消息存入环形消息队列,包括:确定插入位置对应的目标凹槽;根据目标圈数,确定待存储消息在目标凹槽对应的消息链表中的存储位置;将述待存储消息存储在存储位置。
可选的,目标凹槽对应的消息链表中的各个消息按照对应的圈数的大小排列;以及根据目标圈数,确定待存储消息在目标凹槽对应的消息链表中的存储位置,包括:将目标圈数与目标凹槽对应的消息链表的各个消息对应的圈数进行比较,确定目标圈数在各个消息按照对应的圈数序列中的排序位置以及将排序位置确定为存储位置。
可选的,基于时间差、凹槽的总数和环形消息队列的指针当前指向的位置,确定待存储消息在环形消息队列的插入位置,包括:确定时间差被凹槽的总数除的余数;确定余数与指针当前指向的位置对应的凹槽的编号的数量和;将数量和对应的凹槽确定为插入位置。
第二方面,本公开的一些实施例提供了一种消息存储装置,装置包括:时间差确定单元,被配置成响应于接收到待存储消息,确定待存储消息的过期时间与当前时间的时间差;圈数确定单元,被配置成基于时间差与拟存储待存储消息的环形消息队列的凹槽的总数,确定待存储消息对应的目标圈数;插入位置确定单元,被配置成基于时间差、凹槽的总数和环形消息队列的指针当前指向的位置,确定待存储消息在环形消息队列的插入位置;存储单元,被配置成根据目标圈数和插入位置,将待存储消息存入环形消息队列,以使待存储消息响应于指针指向插入位置且已转过的圈数与目标圈数匹配被消费。
可选的,环形消息队列的每个凹槽对应一个消息链表;以及存储单元进一步被配置成:确定插入位置对应的目标凹槽;根据目标圈数,确定待存储消息在目标凹槽对应的消息链表中的存储位置;将述待存储消息存储在存储位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司,未经北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011349702.2/2.html,转载请声明来源钻瓜专利网。





