全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 20221082762 2.6 (22)申请日 2022.07.13 (71)申请人 福建天晴数码有限公司 地址 350000 福建省福州市君竹路83号科 技发展中心大楼第四层Q476室 (自贸 试验区内) (72)发明人 刘德建 叶伟 李佳  (74)专利代理 机构 福州旭辰知识产权代理事务 所(普通合伙) 35233 专利代理师 程勇 (51)Int.Cl. G06Q 30/02(2012.01) (54)发明名称 一种使用分布式队列进行抽奖的方法及其 系统 (57)摘要 本发明提供了一种使用分布式队列进行抽 奖的方法, 该方法为: 步骤S1、 将奖池分成n份元 素, 每份的值对应一个奖品等级 id或者谢谢参与 0, 把n份元素随机打散后按抽奖服务器个数分成 s份列表list, 分别按关键字key值存入不同的 redis分布式队列中; 步骤S2、 抽奖程序根据所在 服务器编号s预先读取n份关键字key值的redis 分布式队列的元素到内存中, 并且定时检测内存 中的元素个数是否充足, 来判断是否需要从其他 编号的redis分布式队列上读取元素进行补充; 步骤S3、 用户抽奖时, 抽奖程序从内存中拿取第 一个元素, 根据元素对应的值来判断用户是否中 奖, 并读取奖品信息, 返回中奖信息。 本发明提升 了抽奖系统的性能, 提高服 务器的处 理能力。 权利要求书2页 说明书5页 附图1页 CN 115204951 A 2022.10.18 CN 115204951 A 1.一种使用分布式队列进行抽奖的方法, 其特 征在于: 所述方法包括如下步骤: 步骤S1、 将奖池分成n份元素, 每份的值对应一个奖品等级id或者谢谢参与0, 把n份元 素随机打散后按抽奖服务器个数分成s份列表list, 分别按关键字key值存入不同的redis 分布式队列中; 步骤S2、 抽奖程序 根据所在服务器编号s预先读取n份关键字key值的redis分布式队列 的元素到内存中, 并且定时检测内存中的元素个数是否充足, 来判断是否需要从其他编号 的redis分布式队列上读取 元素进行补充; 步骤S3、 用户抽奖时, 抽奖程序从内存中拿取第 一个元素, 根据 元素对应的值来判断用 户是否中奖, 并读取 奖品信息, 返回中奖信息 。 2.根据权利要求1所述的一种 使用分布式队列进行抽奖的方法, 其特征在于: 所述步骤 S2进一步具体为: 抽奖程序根据所在服务器编号s预先读取n份 关键字key值的redis分布式 队列的元素到内存中, 并且定时检测内存中的元素个数, 如果元素个数小于设定阈值则重 新从redis分布式队列拉取x份元素到内存中; 如果当前关键字key值的redis分布式队列元 素为空则尝试从其他编号的redis分布式队列上读取元素; 如果其他编号的redis分布式队 列也没有元素可取则继续读取下一个redis分布 式队列, 以此类推, 直到所有的redis分布 式队列都被取完 。 3.根据权利要求1所述的一种 使用分布式队列进行抽奖的方法, 其特征在于: 所述步骤 S3进一步具体为: 由于有多台服务器, 则用户的抽奖行为会随机落在 任意一服务器上, 命中 一服务器后, 抽奖程序会从内存中拿去第一个元素, 如果元素的值等于0则表示用户抽了 “谢谢参与 ”, 如果内存都没元素可取了, 也视为没有中奖, 也返回 “谢谢参与 ”; 如果获得的 元素值大于0则表示用户中奖了, 根据元素值中存储的是奖品等级id, 读取奖品信息, 根据 奖品等级id返回相应的中奖信息 。 4.一种使用分布式队列进行抽奖的系统, 其特征在于: 所述系统包括奖池分配模块、 队 列数据读取模块、 以及获奖判定模块; 所述奖池分配模块, 将奖池分成n份元素, 每份的值对应一个奖品等级id或者谢谢参与 0, 把n份元素随机打散后按抽奖服务器个数分成s份列表list, 分别按关键字key值存入不 同的redis 分布式队列中; 所述队列数据读取模块, 通过抽奖程序根据所在服务器编号s预先读取n份关键字key 值的redis分布式队列的元素到内存中, 并且定时检测内存中的元素个数是否充足, 来判断 是否需要从其 他编号的redis 分布式队列上读取 元素进行补充; 所述获奖判定模块, 在用户抽奖时, 通过抽奖程序从内存中拿取第一个元素, 根据 元素 对应的值 来判断用户是否中奖, 并读取 奖品信息, 返回中奖信息 。 5.根据权利要求4所述的一种 使用分布式队列进行抽奖的系统, 其特征在于: 所述队列 数据读取模块的实现方式进一步具体为: 抽奖程序根据所在服务器编号s预先读取n份关键 字key值的redis分布 式队列的元素到内存中, 并且定时检测内存中的元素个数, 如果元素 个数小于设定阈值则重新从redis分布式队列拉取x份元素到内存中; 如果当前关键字key 值的redis分布式队列元素为空则尝试从其他编号的redis分布式队列上读取元素; 如果其 他编号的redis分布式队列也没有元素可取则继续读取下一个redis分布式队列, 以此类 推, 直到所有的redis 分布式队列都被取完 。权 利 要 求 书 1/2 页 2 CN 115204951 A 26.根据权利要求4所述的一种 使用分布式队列进行抽奖的系统, 其特征在于: 所述获奖 判定模块的实现方式进一步具体为: 由于有多台服务器, 则用户的抽奖行为会随机落在任 意一服务器上, 命中一服务器后, 抽奖程序会从 内存中拿去第一个元素, 如果元素的值等于 0则表示用户抽了 “谢谢参与 ”, 如果内存都没元素可取了, 也视为没有中奖, 也返回 “谢谢参 与”; 如果获得的元素值大于0则表示用户中奖了, 根据元素值中存储的是奖品等级id, 读取 奖品信息, 根据奖品等级id返回相应的中奖信息 。权 利 要 求 书 2/2 页 3 CN 115204951 A 3

.PDF文档 专利 一种使用分布式队列进行抽奖的方法及其系统

文档预览
中文文档 9 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共9页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种使用分布式队列进行抽奖的方法及其系统 第 1 页 专利 一种使用分布式队列进行抽奖的方法及其系统 第 2 页 专利 一种使用分布式队列进行抽奖的方法及其系统 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 06:26:19上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。