standard download
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210974174.2 (22)申请日 2022.08.15 (71)申请人 上海唯都市场营销策划股份有限公 司 地址 201100 上海市闵行区古美路1582号C 座5楼 (72)发明人 段相海 师成江  (74)专利代理 机构 上海乐泓专利代理事务所 (普通合伙) 31385 专利代理师 王瑞 (51)Int.Cl. G06Q 30/02(2012.01) G06F 16/2455(2019.01) G06F 16/2458(2019.01) G06F 16/25(2019.01)G06F 9/54(2006.01) G06F 8/30(2018.01) (54)发明名称 一种支持高并发且动态可调可配置的实时 抽奖方法及系统 (57)摘要 本发明涉及一种支持高并发且动态可调可 配置的实时抽奖方法及系统, 该方法, 包括以下 步骤: S1: 从数据库中读取奖池配置信息, 将奖池 配置信息以键值对方式保存到内存数据库中; S2: 从内存数据库中实时读取奖池配置信息, 或 在获得有效抽奖结果后, 实时更新奖品库存信息 并回写内存数据库; S3: 在产生有效抽奖结果时, 抽奖结果信息会实时保存到消息队列; S4: 按先 进先出原则从消息队列中读取待处理消息; S5: 将抽奖结果写入 数据库进行持久化保存。 其优点 在于: 该方法实现了可动态配置奖池规则、 限定 单用户最大抽奖次数、 按照时间预设不同的中奖 概率等服务; 降低系统响应延迟, 适应高并发场 景需求, 满足互联网时代多样化的抽奖服务需 求。 权利要求书2页 说明书7页 附图2页 CN 115330451 A 2022.11.11 CN 115330451 A 1.一种支持高并发且动态可调可配置的实时抽奖 方法, 其特 征在于, 包括以下步骤: S1: 从数据库中读取奖池配置信息, 将奖池配置信息以键值对方式保存到内存数据库 中; S2: 从内存数据库中实时读取奖池配置信 息, 或在获得有效抽奖结果后, 实时更新奖品 库存信息并回写内存数据库; S3: 在产生有效抽奖 结果时, 抽奖 结果信息会实时保存到消息队列; S4: 按先进先 出原则从消息队列中读取待处 理消息; S5: 将抽奖 结果写入数据库进行持久化保存。 2.根据权利要求1所述的支持高并发且动态可调可配置的实时抽奖方法, 其特征在于, 所述步骤S1包括: S11: 从数据库中读取 各类配置信息, 并缓存到内存数据库中; S12: 根据管理端的配置, 生成奖池配置信息 。 3.根据权利要求1所述的支持高并发且动态可调可配置的实时抽奖方法, 其特征在于, 所述步骤S2包括: S21: 接收抽奖请求, 并完成请求的基本业 务有效性验证; S22: 根据抽奖请求中请求的活动代码参数、 奖池代码参数、 当前系统时间, 选择确定本 次抽奖的奖池信息; S23: 当管理端调整了奖池规则后, 奖池规则实时更新保存在内存数据库中, 并确保在 下次抽奖请求到 达时, 可以立即获取到最 新调整后的奖池配置; S24: 根据抽奖请求参数中活动代码和用户唯一标识, 从内存数据库中查询出该用户在 本活动中已经发生的抽奖次数, 同时比对请求参数中传入的最大抽奖次数, 如果已发生抽 奖次数小于最大抽奖次数, 则可以进入下一抽奖步骤, 否则直接返回步骤S21, 报告该用户 已超过最大抽奖次数; S25: 基于步骤S2 2确定的奖池参数, 确定 本次抽奖命中哪个奖品; S26: 将不同活动奖品的库存保存到内存数据库中, 当步骤S25指示抽中指定奖品时, 系 统首先获取针对当前奖品的分布式锁, 从内存数据库中通过活动代码、 奖池代码和奖品代 码提取奖品的当前库存数量S; S27: 判断当前库存数量S是否大于零, 若S>0, 则更新s=s ‑1并回写内存数据库, 释放 分布式锁; 若S≤0, 则将中奖奖品设置为当前奖池中下一顺位的奖品, 并重复本步骤S26和 步骤S27; 若S≤ 0, 并且本奖品是当前 奖池中最后一个奖品, 则反馈调用端奖品库存不足; S28: 当管理端调整奖池中某奖品的数量时, 通过分布式锁获得该奖品库存的控制权, 然后按设定调整该 奖品的库存数量, 最后释放分布式锁。 4.根据权利要求1所述的支持高并发且动态可调可配置的实时抽奖方法, 其特征在于, 所述步骤S3包括: 将抽奖 结果写入消息队列中, 同时反馈调用端最终的抽奖 结果。 5.根据权利要求2所述的支持高并发且动态可调可配置的实时抽奖方法, 其特征在于, 所述步骤S12中奖池配置信息包括已经按照配置排序的奖品代码、 中奖概率信息、 累计中奖 概率。 6.根据权利要求3所述的支持高并发且动态可调可配置的实时抽奖方法, 其特征在于, 所述步骤S25包括以下步骤:权 利 要 求 书 1/2 页 2 CN 115330451 A 2S251: 实时生成一个介于 0到1的随机数r; S252: 按照 奖池中各奖品的排序, 依次提取第i个奖品的累 计中奖概率Ri, 如果随机数r 小于当前累计中奖概 率r<Ri, 则表明抽中第i 顺位的奖品; S252: 按照中奖概 率设置规则, 最后一个奖品的累计中奖概 率为1。 7.一种支持高并发且动态可调可配置的实时抽奖系统, 其特征在于, 应用于权利要求 1‑6中任意一项所述的支持高并发且动态可调可配置的实时抽奖 方法。 8.根据权利要求7所述的支持高并发且动态可调可配置的实时抽奖系统, 其特征在于, 包括系统初始化模块(1)、 抽奖服 务模块(2)及抽奖 结果输出模块(3); 所述系统初始化模块(1)在系统启动时执行, 用于负责从数据库中读取奖池配置信息, 并以键值对方式保存到内存数据库中; 所述抽奖服务模块(2)用于在抽奖服务模块(2)中的不同控制步骤节点中或从内存数 据库实时读取奖池配置信息, 或在获得有效抽奖结果后实时更新奖品库存信息并回写内存 数据库, 在产生有效抽奖 结果时, 抽奖 结果信息会实时保存到消息队列; 所述抽奖结果输出模块(3)用于处理消息队列中的消息, 按先进先出原则从消息队列 中读取待处 理消息, 并将抽奖 结果写入数据库进行持久化保存。 9.根据权利要求8所述的支持高并发且动态可调可配置的实时抽奖系统, 其特征在于, 所述抽奖服务模块(2)包括奖池配置控制模块(21)、 抽奖请求处理模块(22)、 奖池控制模块 (23)、 抽奖次数控制模块(24)、 中奖概率控制模块(25)、 奖品库存控制模块(26)、 对外API服 务模块(27)、 奖池规则动态调整模块(28)及奖品数量动态调整模块(2 9); 所述奖池配置控制模块(21)用于根据管理端的配置, 生成奖池配置信息; 所述抽奖请 求处理模块(22)用于接收所述对外API服务模块(27)发送的抽奖请求, 并完成请求的基本 业务有效性验证; 所述奖池控制模块(23)用于根据抽奖请求中请求的活动代码参数、 奖池代码参数、 当 前系统时间, 选择确定 本次抽奖的奖池信息; 所述抽奖次数控制模块(24)用于根据抽奖请求参数中活动代码和用户唯一标识, 从内 存数据库中查询出该用户在本活动中已经发生的抽奖次数, 同时比对请求参数中传 入的最 大抽奖次数; 所述中奖概率控制模块(25)用于基于步骤S22确定的奖池参数, 确定本次抽奖命中哪 个奖品; 所述奖品库存控制模块(26)用于在系统初始化 时, 将不同活动奖品的库存保存的内存 数据库中; 所述对外API 服务模块(27)用于通过API方式向外 部应用暴露其核心抽奖功能; 所述奖池规则动态调整模块(28)用于实时更新保存在内存数据库中的奖池规则, 并确 保在下次抽奖请求到 达时, 可以立即获取到最 新调整后的奖池配置; 所述奖品数量动态调整模块(29)用于通过分布式锁获得该奖品库存的控制权, 然后按 设定调整该 奖品的库存数量, 最后释放分布式锁。权 利 要 求 书 2/2 页 3 CN 115330451 A 3

PDF文档 专利 一种支持高并发且动态可调可配置的实时抽奖方法及系统

文档预览
中文文档 12 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共12页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种支持高并发且动态可调可配置的实时抽奖方法及系统 第 1 页 专利 一种支持高并发且动态可调可配置的实时抽奖方法及系统 第 2 页 专利 一种支持高并发且动态可调可配置的实时抽奖方法及系统 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-24 00:59:35上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。