[发明专利]一种基于缓存有序集合实现延时队列的方法在审
申请号: | 202111464807.7 | 申请日: | 2021-12-02 |
公开(公告)号: | CN114385725A | 公开(公告)日: | 2022-04-22 |
发明(设计)人: | 陈小云;杜博 | 申请(专利权)人: | 天翼电子商务有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F16/2455;G06F9/46;G06F11/14 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 102200 北京市昌平*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 缓存 有序 集合 实现 延时 队列 方法 | ||
1.一种基于缓存有序集合实现延时队列的方法,其特征在于,包括以下步骤:
S1、通过Elasticjob向Redis的Zset有序集合插入数据:
1).通过Elasticjob使用zookeepr协调节点,实现数据分片,为每个节点分配不同的Zset,例如节点A对应zset_1,节点B对应zset_2;
2).计算插入的zset的数据score值计算公式
score=当前系统时间+延迟时间;
3).通过redis的zdd将数据插入Redis的Zset有序集合;
S2、每个节点的轮询任务通过zookeepr分片,从Redis对应的zset拉取数据:
每个节点通过zrangebyscore从zset获取数据;
zrangebyscore key min max withscores limit offset count:返回分数min到max的成员并按照分数从小到大排序,limit是从offset开始展示几个元素;
S3、每个节点在拉取到数据后,进行支付结果通知:
(1)如果通知成功,则删除掉zset的对应的元素;
(2)如果通知失败,重复步骤S1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天翼电子商务有限公司,未经天翼电子商务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111464807.7/1.html,转载请声明来源钻瓜专利网。