基于一致性哈希算法的抽奖方法及计算机可读存储介质技术

技术编号:36185024 阅读:20 留言:0更新日期:2022-12-31 20:47
本发明专利技术公开了一种基于一致性哈希算法的抽奖方法及计算机可读存储介质,方法包括:根据预设的值域,生成环形队列;根据预设的各奖项的奖项数据,计算各奖项对应的哈希值,并分别根据各奖项对应的哈希值,在所述环形队列中增加各奖项对应的节点;根据抽奖者的用户数据和抽奖时间戳,计算所述抽奖者对应的哈希值,并将所述抽奖者对应的哈希值在所述环形队列的顺时针方向上最近的节点对应的奖项,作为所述抽奖者抽中的奖项。本发明专利技术可在高并发的情况下保证抽奖服务的处理能力。下保证抽奖服务的处理能力。下保证抽奖服务的处理能力。

【技术实现步骤摘要】
基于一致性哈希算法的抽奖方法及计算机可读存储介质


[0001]本专利技术涉及抽奖
,尤其涉及一种基于一致性哈希算法的抽奖方法及计算机可读存储介质。

技术介绍

[0002]抽奖业务应对高并发抽奖时,特别是在奖品和奖券总数相等的场景下,需要保障用户每次抽奖均有对应的中奖情况,且在奖品扣减的时候需要避免奖品的超中。一般情况下面向高并发的抽奖业务,采用分布式服务应对大流量,根据奖项及其个数和中奖机率定义一个奖品概率数组,并采用使用redis存储缓存管理员配置的抽奖相关数据及数组,用户进行抽奖时,若随机数落在概率数组上,则抽中对应的奖项。
[0003]但上述方法存在几个问题,1、业务上,抽奖业务在高并发下实现复杂,当用户中某个奖品,可能存在奖品为空的场景,需要递归地进行奖品获取(例如,有2个用户同时抽中三等奖,进行扣减的时候发现三等奖只有1个,此时第二个用户需要进行四等奖判断,如果四等奖也无奖品了,需要再次递归),可能引发超时、死锁等现象,影响抽奖的处理能力,导致业务处理失败;2,运维上,当流量超过单台redis流量时,还需考虑架构上的升级本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于一致性哈希算法的抽奖方法,其特征在于,包括:根据预设的值域,生成环形队列;根据预设的各奖项的奖项数据,计算各奖项对应的哈希值,并分别根据各奖项对应的哈希值,在所述环形队列中增加各奖项对应的节点;根据抽奖者的用户数据和抽奖时间戳,计算所述抽奖者对应的哈希值,并将所述抽奖者对应的哈希值在所述环形队列的顺时针方向上最近的节点对应的奖项,作为所述抽奖者抽中的奖项。2.根据权利要求1所述的基于一致性哈希算法的抽奖方法,其特征在于,所述奖项数据为加盐后的奖项对象字符串。3.根据权利要求1所述的基于一致性哈希算法的抽奖方法,其特征在于,所述根据抽奖者的用户数据和抽奖时间戳,计算所述抽奖者对应的哈希值,并将所述抽奖者对应的哈希值在所述环形队列的顺时针方向上最近的节点对应的奖项,作为所述抽奖者抽中...

【专利技术属性】
技术研发人员:刘德建李勤陈明永郑坦陈宏
申请(专利权)人:福建天泉教育科技有限公司
类型:发明
国别省市:

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

1