说明:收录全网最新的团体标准 提供单次或批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210939190.8 (22)申请日 2022.08.05 (71)申请人 上海浦东发展银行股份有限公司 地址 200002 上海市黄浦区中山 东一路12 号 (72)发明人 王玉冬 俞秋琳 磨柑竹 魏鹏  汪昕  (74)专利代理 机构 上海科盛知识产权代理有限 公司 312 25 专利代理师 廖程 (51)Int.Cl. G06Q 40/04(2012.01) G06Q 10/08(2012.01) G06F 16/2455(2019.01) (54)发明名称 一种高并发多 线程数据处 理方法 (57)摘要 本发明涉及一种高并发多线程数据处理方 法, 包括以下步骤: 预置活动商品总 库存; 用户参 加活动, 即按顺序给该用户分发对应的占位编 号; 获取用户购买记录信息, 以确定已售商品数 量; 结合当前参加活动的用户 总数、 已售商品数 量、 当前占位编号以及总库存, 确定出当前剩余 库存; 判断当前剩余库存是否大于或等于设定阈 值, 若判断为是, 则输出信息告知用户可参加活 动、 购买商品; 否则输出信息告知用户商品已售 罄。 与现有技术相比, 本发明能够在高并发多线 程情况下提高当前剩余库存计算的准确性, 避免 发生商品超卖、 已售商品重复计算、 商品无法全 部售罄等问题。 权利要求书1页 说明书3页 附图1页 CN 115358854 A 2022.11.18 CN 115358854 A 1.一种高并发多 线程数据处 理方法, 其特 征在于, 包括以下步骤: S1、 预置活动商品总库存; S2、 用户参加活动, 即按顺序给 该用户分发对应的占位编号; S3、 获取用户购买记录信息, 以确定已售商品数量; S4、 结合当前参加活动的用户总数、 已售商品数量、 当前占位编号以及总库存, 确定出 当前剩余库存; S5、 判断当前剩余库存是否大于或等于设定阈值, 若判断为是, 则输出信息告知用户可 参加活动、 购买商品; 否则输出信息告知用户商品已售罄。 2.根据权利要求1所述的一种高并发多线程数据处理方法, 其特征在于, 所述步骤S1具 体是将总库存数量预 先存储于数据库中。 3.根据权利要求2所述的一种高并发多线程数据处理方法, 其特征在于, 所述步骤S3 中 已售商品数量实时更新存 储于数据库中。 4.根据权利要求1所述的一种高并发多线程数据处理方法, 其特征在于, 所述步骤S4具 体包括以下步骤: S41、 根据当前参加活动的用户总数、 已售商品数量、 当前占位编号以及总库存, 计算得 到第一剩余库存; S42、 根据已售商品对应订单的支付状态, 结合第一剩余库存, 确定出第二剩余库存; S43、 将第二剩余库存 减去当前占位编号, 得到当前剩余库存。 5.根据权利要求4所述的一种高并发多线程数据处理方法, 其特征在于, 所述步骤S41 中第一剩余库存的计算公式具体为: 第一剩余库存=总库存—当前用户占位时的占位总 数—已售商品数量+当前占位编号。 6.根据权利要求4所述的一种高并发多线程数据处理方法, 其特征在于, 所述步骤S42 具体包括以下步骤: S421、 通过对已记录的购买订单进行支付有效性判断, 以确定出 未支付商品数量; S422、 将未支付商品数量与第一剩余库存相加, 得到第二剩余库存。 7.根据权利要求6所述的一种高并发多线程数据处理方法, 其特征在于, 所述步骤S421 具体是根据设定的订单状态时间周期, 查询所有已记录的购买订单是否在订单状态时间周 期内完成支付, 若查询到该购买订单已完成支付, 则判断该购买订单为有效; 否则为无效; 统计所有无效订单对应的商品数量, 即为未支付商品数量。 8.根据权利要求2或3所述的一种高并发多线程数据处理方法, 其特征在于, 所述数据 库具体为Redis数据库。 9.根据权利要求8所述的一种高并发多线程数据处理方法, 其特征在于, 所述步骤S2具 体是通过Redis数据库的API接口, 以按顺序分配占位编号给参加活动的用户。 10.根据权利要求8所述的一种高并发多线程数据处理方法, 其特征在于, 所述步骤S4 的执行过程为实时进行, 或基于设定的Redis缓存有效时间进行。权 利 要 求 书 1/1 页 2 CN 115358854 A 2一种高并发多线 程数据处理 方法 技术领域 [0001]本发明涉及多线程数据处理技术领域, 尤其是涉及一种高并发多线程数据处理方 法。 背景技术 [0002]在金融交易业务场景下, 当发生线上商品交易行为时, 往往存在多个用户同时请 求购买同一商品的情形, 此时后台需要针对这种情况进行多线程数据 处理。 现有技术在进 行多线程处理时, 当发生多个线程共享同一份资源, 由于多线程对于资源的获取是以一种 竞态方式, 所以在 购物下单类似的场景中容 易出现超 卖的线程 安全问题。 [0003]目前, 通用做法是简单地将商品直接分发, 比如 每卖出一个商品, 就将商品库 存自 动减少一个, 直至商品库存减为0为止、 停止售卖。 具体做法是: 预先将活动商品可售数量初 始化, 即为总库存; 当用户参加活动时获取总库存, 并在此基础上减去用户购买的商品数 量, 同时更新总库存值; 最后会获取当前总库存、 并判断值是否小于0, 以此判断后续逻辑, 即小于0时表示商品售罄, 并告知用户; 反 之继续后续相关流 程。 [0004]然而上述处理方式在实际应用中还存在以下问题: 若当前购买的用户虽然购买了 商品, 但是存在很多用户仅仅是将商品添加到购物车, 而没有立即支 付, 这样会导致商品库 存被完全占用, 但实际上又没有销售出去; 此外, 当用户长期占用库存不支付, 也会导致后 续客户无法购买; 若在购买后一段时间内没有支 付, 也无法将占用库存返还。 这些问题导致 无法保证线上商品的可靠交易, 难以满足 实际业务场景需求。 发明内容 [0005]本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种高并发多线程 数据处理方法, 能够准确、 可靠地实现线上商品交易活动。 [0006]本发明的目的可以通过以下技术方案来实现: 一种高并发多线程数据处理方法, 包括以下步骤: [0007]S1、 预置活动商品总库存; [0008]S2、 用户参加活动, 即按顺序给 该用户分发对应的占位编号; [0009]S3、 获取用户购买记录信息, 以确定已售商品数量; [0010]S4、 结合当前参加活动的用户总数、 已售商品数量、 当前占位编号以及总库存, 确 定出当前剩余库存; [0011]S5、 判断当前剩余库 存是否大于或等于设定阈值, 若判断为是, 则输出信息告知用 户可参加活动、 购买商品; 否则输出信息告知用户商品已售罄。 [0012]进一步地, 所述步骤S1具体是将总库存数量预 先存储于数据库中。 [0013]进一步地, 所述步骤S3中已售商品数量实时更新存 储于数据库中。 [0014]进一步地, 所述步骤S4具体包括以下步骤: [0015]S41、 根据当前参加活动的用户总数、 已售商品数量、 当前占位编号以及总库 存, 计说 明 书 1/3 页 3 CN 115358854 A 3

.PDF文档 专利 一种高并发多线程数据处理方法

文档预览
中文文档 6 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共6页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种高并发多线程数据处理方法 第 1 页 专利 一种高并发多线程数据处理方法 第 2 页 专利 一种高并发多线程数据处理方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-17 23:24:54上传分享
交流群
  • //public.wenku.github5.com/wodemyapi/22.png
-->
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。