预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)国家知识产权局(12)发明专利申请(10)申请公布号CN115358854A(43)申请公布日2022.11.18(21)申请号202210939190.8(22)申请日2022.08.05(71)申请人上海浦东发展银行股份有限公司地址200002上海市黄浦区中山东一路12号(72)发明人王玉冬俞秋琳磨柑竹魏鹏汪昕(74)专利代理机构上海科盛知识产权代理有限公司31225专利代理师廖程(51)Int.Cl.G06Q40/04(2012.01)G06Q10/08(2012.01)G06F16/2455(2019.01)权利要求书1页说明书3页附图1页(54)发明名称一种高并发多线程数据处理方法(57)摘要本发明涉及一种高并发多线程数据处理方法,包括以下步骤:预置活动商品总库存;用户参加活动,即按顺序给该用户分发对应的占位编号;获取用户购买记录信息,以确定已售商品数量;结合当前参加活动的用户总数、已售商品数量、当前占位编号以及总库存,确定出当前剩余库存;判断当前剩余库存是否大于或等于设定阈值,若判断为是,则输出信息告知用户可参加活动、购买商品;否则输出信息告知用户商品已售罄。与现有技术相比,本发明能够在高并发多线程情况下提高当前剩余库存计算的准确性,避免发生商品超卖、已售商品重复计算、商品无法全部售罄等问题。CN115358854ACN115358854A权利要求书1/1页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缓存有效时间进行。2CN115358854A说明书1/3页一种高并发多线程数据处理方法技术领域[0001]本发明涉及多线程数据处理技术领域,尤其是涉及一种高并发多线程数据处理方法。背景技术[0002]在金融交易业务场景下,当发生线上商品交易行为时,往往存在多个用户同时请求购买同一商品的情形,此时后台需要针对这种情况进行多线程数据处理。现有技术在进行多线程处理时,当发生多个线程共享同一份资源,由于多线程对于资源的获取是以一种竞态方式,所以在购物下单类似的场景中容易出现超卖的线程安全问题。[0003]目前,通用做法是简单地将商品直接分发,比如每卖出一个商品,就将商品库存自动减少一个,直至商品库存减为0为止、停止售卖。具体做法是:预先将活动商品可售数量初始化,即为总库存;当用户参加活动时获取总库存,并在此基础上减去用户购买的商