货物库存预占方法和装置及货物库存系统制造方法及图纸

技术编号:31920256 阅读:11 留言:0更新日期:2022-01-15 13:03
本公开提出一种货物库存预占方法和装置及货物库存系统,涉及计算机领域。本公开将一级库存中的货物的一条第一库存记录拆分形成二级库存中的该货物的多条第二库存记录;根据调用方请求的所述货物的数量,基于行锁预占二级库存中的所述货物的至少一条第二库存记录并减扣库存;持久化二级库存中的所述货物的各条第二库存记录的库存数据,然后释放被预占的第二库存记录的行锁;根据二级库存中的所述货物的库存减少量,异步减扣一级库存中的所述货物的第一库存记录的库存数据。每条第二库存记录可以分别加行锁进行库存预占,从而减少行锁竞争,提高库存预占的并发性能和吞吐量,提高用户体验。用户体验。用户体验。

【技术实现步骤摘要】
货物库存预占方法和装置及货物库存系统


[0001]本公开涉及计算机领域,特别涉及一种货物库存预占方法和装置及货物库存系统。

技术介绍

[0002]针对销售订单的货物出库环节,库存系统需要加行锁预占该货物的库存记录,并按照销售订单中的货物数量,减扣库存记录中该货物的库存量,释放行锁之后,才能处理该货物的下一个销售订单。
[0003]经研究发现,当某种货物的多个销售订单同时到来时,存在行锁竞争问题,库存系统利用行锁只能依次地预占该货物的库存记录,库存预占吞吐量受限,造成销售订单的处理超时,影响用户体验。

技术实现思路

[0004]本公开实施例所要解决的一个技术问题是:减少行锁竞争,提高库存预占吞吐量。
[0005]本公开实施例将一级库存中的货物的一条第一库存记录拆分形成二级库存中的该货物的多条第二库存记录,每条第二库存记录可以分别加行锁进行库存预占,从而减少行锁竞争,提高库存预占的并发性能和吞吐量,提高用户体验。
[0006]本公开一些实施例提出一种货物库存预占方法,包括:
[0007]将一级库存中的货物的第一库存记录拆分形成二级库存中的所述货物的多条第二库存记录;
[0008]根据调用方请求的所述货物的数量,基于行锁预占二级库存中的所述货物的至少一条第二库存记录并减扣库存;
[0009]持久化二级库存中的所述货物的各条第二库存记录的库存数据,然后释放被预占的第二库存记录的行锁;
[0010]根据二级库存中的所述货物的库存减少量,异步减扣一级库存中的所述货物的第一库存记录的库存数据。
[0011]在一些实施例中,根据调用方请求的所述货物的数量,基于行锁预占二级库存中的所述货物的至少一条第二库存记录并减扣库存,包括:
[0012]从二级库存中选择所述货物的库存量大于0的一条第二库存记录;
[0013]根据调用方请求的所述货物的数量,基于行锁预占所述货物当前被选择的第二库存记录并减扣库存;
[0014]计算所述货物当前被选择的第二库存记录的剩余库存量;
[0015]如果所述剩余库存量大于或等于0,确定所述货物当前被选择的第二库存记录实际被扣减的库存量为调用方请求的所述货物的数量,并标记预占成功。
[0016]在一些实施例中,如果所述剩余库存量小于0,且所述剩余库存量的绝对值小于调用方请求的所述货物的数量,将所述货物当前被选择的第二库存记录的剩余库存量更新为
0,并确定所述货物当前被选择的第二库存记录实际被扣减的库存量为调用方请求的所述货物的数量与更新前的剩余库存量的绝对值的差值,并确定还需要二级库存提供数量为更新前的剩余库存量的绝对值的货物,返回到第二库存记录选择步骤选择另一条第二库存记录继续执行。
[0017]在一些实施例中,根据二级库存中的所述货物的库存减少量,异步减扣一级库存中的所述货物的第一库存记录的库存数据,包括:根据二级库存中的所述货物的库存减少量,基于行锁预占一级库存中的所述货物的第一库存记录并减扣库存,减扣成功后,释放被预占的第一库存记录的行锁。
[0018]在一些实施例中,还包括:
[0019]对二级库存中的所述货物的所有第二库存记录的剩余库存量的均衡程度进行监控;
[0020]如果监控到的均衡程度表明所述货物的各个第二库存记录的剩余库存量不均衡,对所述货物的所有第二库存记录加行锁,并将所述货物的所有第二库存记录的剩余库存总量在所述货物的各个第二库存记录中进行平均分配,然后释放所述货物的所有第二库存记录的行锁。
[0021]本公开一些实施例提出一种货物库存预占方法,包括:
[0022]将一级库存中的货物的第一库存记录拆分形成二级库存中的所述货物的多条第二库存记录;
[0023]根据库存增加任务指示的货物的需要增加的库存量,基于行锁预占二级库存中的所述货物的至少一条第二库存记录并增加库存;
[0024]持久化二级库存中的所述货物的各条第二库存记录的库存数据,然后释放被预占的第二库存记录的行锁;
[0025]根据库存增加任务指示的货物的需要增加的库存量,同步增加一级库存中的所述货物的第一库存记录的库存数据。
[0026]在一些实施例中,根据库存增加任务指示的货物的需要增加的库存量,基于行锁预占二级库存中的所述货物的至少一条第二库存记录并增加库存包括:根据所述库存增加任务指示的货物的需要增加的库存量,判定所述货物的需要增加的库存量是否小于所述货物的第二库存记录的数量,如果不小于,对所述货物的所有第二库存记录加行锁,并按照预设的均衡策略,将所述货物的需要增加的库存量均衡地增加到所述货物的各个第二库存记录,然后释放所有第二库存记录的行锁。
[0027]在一些实施例中,如果小于,对所述货物的其中一个第二库存记录加行锁,将所述货物的需要增加的库存量增加到加行锁的第二库存记录,然后释放所述第二库存记录的行锁。
[0028]在一些实施例中,所述按照预设的均衡策略,将所述货物的需要增加的库存量均衡地增加到所述货物的各个第二库存记录包括:
[0029]将所述货物的需要增加的库存量对所述货物的第二库存记录的数量进行取模运算;
[0030]如果取模运算结果等于0,将所述货物的需要增加的库存量平均增加到所述货物的各个第二库存记录;
[0031]如果取模运算结果不等于0,所述货物的其中一个第二库存记录的库存增加第一数值,所述货物的其他第二库存记录的库存分别增加第二数值,其中,第二数值等于所述货物的需要增加的库存量除以所述货物的第二库存记录的数量的商,第一数值等于第二数值与取模运算结果的和值。
[0032]在一些实施例中,还包括:利用一级库存中的所述第一库存记录的库存数据,记录库存操作流水。
[0033]本公开一些实施例提出一种货物库存预占装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行各实施例的货物库存预占方法。
[0034]本公开一些实施例提出一种货物库存预占装置,包括:
[0035]拆分模块,被配置为将一级库存中的货物的第一库存记录拆分形成二级库存中的所述货物的多条第二库存记录;
[0036]二级预占及减扣模块,被配置为根据调用方请求的所述货物的数量,基于行锁预占二级库存中的所述货物的至少一条第二库存记录并减扣库存;
[0037]持久化模块,被配置为持久化二级库存中的所述货物的各条第二库存记录的库存数据,然后释放被预占的第二库存记录的行锁;
[0038]异步减扣模块,被配置为根据二级库存中的所述货物的库存减少量,异步减扣一级库存中的所述货物的第一库存记录的库存数据。
[0039]本公开一些实施例提出一种货物库存预占装置,包括:
[0040]拆分模块,被配置为将一级库存中的货物的第一库存记录拆分形成二级库存中的所述货物的多条第二库存记录;
[0041]二级预占及增加模块,被配置为根据库存增加本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种货物库存预占方法,其特征在于,包括:将一级库存中的货物的第一库存记录拆分形成二级库存中的所述货物的多条第二库存记录;根据调用方请求的所述货物的数量,基于行锁预占二级库存中的所述货物的至少一条第二库存记录并减扣库存;持久化二级库存中的所述货物的各条第二库存记录的库存数据,然后释放被预占的第二库存记录的行锁;根据二级库存中的所述货物的库存减少量,异步减扣一级库存中的所述货物的第一库存记录的库存数据。2.根据权利要求1所述的方法,其特征在于,根据调用方请求的所述货物的数量,基于行锁预占二级库存中的所述货物的至少一条第二库存记录并减扣库存,包括:从二级库存中选择所述货物的库存量大于0的一条第二库存记录;根据调用方请求的所述货物的数量,基于行锁预占所述货物当前被选择的第二库存记录并减扣库存;计算所述货物当前被选择的第二库存记录的剩余库存量;如果所述剩余库存量大于或等于0,确定所述货物当前被选择的第二库存记录实际被扣减的库存量为调用方请求的所述货物的数量,并标记预占成功。3.根据权利要求2所述的方法,其特征在于,如果所述剩余库存量小于0,且所述剩余库存量的绝对值小于调用方请求的所述货物的数量,将所述货物当前被选择的第二库存记录的剩余库存量更新为0,并确定所述货物当前被选择的第二库存记录实际被扣减的库存量为调用方请求的所述货物的数量与更新前的剩余库存量的绝对值的差值,并确定还需要二级库存提供数量为更新前的剩余库存量的绝对值的货物,返回到第二库存记录选择步骤选择另一条第二库存记录继续执行。4.根据权利要求1所述的方法,其特征在于,根据二级库存中的所述货物的库存减少量,异步减扣一级库存中的所述货物的第一库存记录的库存数据,包括:根据二级库存中的所述货物的库存减少量,基于行锁预占一级库存中的所述货物的第一库存记录并减扣库存,减扣成功后,释放被预占的第一库存记录的行锁。5.根据权利要求1所述的方法,其特征在于,还包括:对二级库存中的所述货物的所有第二库存记录的剩余库存量的均衡程度进行监控;如果监控到的均衡程度表明所述货物的各个第二库存记录的剩余库存量不均衡,对所述货物的所有第二库存记录加行锁,并将所述货物的所有第二库存记录的剩余库存总量在所述货物的各个第二库存记录中进行平均分配,然后释放所述货物的所有第二库存记录的行锁。6.一种货物库存预占方法,其特征在于,包括:将一级库存中的货物的第一库存记录拆分形成二级库存中的所述货物的多条第二库存记录;根据库存增加任务指示的货物的需要增加的库存量,基于行锁预占二级库存中的所述货物的至少一条第二库存记录并增加库存;持久化二级库存中的所述货物的各条第二库存记录的库存数据,然后释放被预占的第
二库存记录的行锁;根据库存增加任务指示的货物的需要增加的库存量,同步增加一级库存中的所述货物的第一库存记录的库存数据。7.根据权利要求6所述的方法,其特征在于,根据库存增加任务指示的货物的需要增加的库存量,基于行锁预占二级库存中的所述货物的至少一条第二库存记录并增加库存包括:根据所述库存增加任务指示的货物的需要增加的库存量,判定所述货物的需要增加的库存量是否小于所述货物的第二库存记录的数量,如果不小于,对所述货物的所有第二库存记录加行锁,并按照预设的均衡策略,将所述货物的需要增加的库存量均衡地增加到所述货物的各个第二库存记录,然后释放所有第二库存记录的行锁。8.根据权利要求7所述的方法,其特征在于,如果小于,对所述货物的其...

【专利技术属性】
技术研发人员:李佳华
申请(专利权)人:北京京东振世信息技术有限公司
类型:发明
国别省市:

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

1