库存扣减方法、装置、终端设备以及存储介质制造方法及图纸

技术编号:39409694 阅读:11 留言:0更新日期:2023-11-19 16:01
本发明专利技术公开了一种库存扣减方法、装置、终端设备以及存储介质,所述方法包括:响应于库存扣减请求指令,获取目标库存扣减阈值,并从数据库中获取本地库存数据;判断所述本地库存数据是否大于或等于所述目标库存扣减阈值;若是,则对所述本地库存数据进行库存扣减,得到第一处理结果;若否,则获取分布式库存数据,并对所述分布式库存数据进行库存扣减,得到第二处理结果。本发明专利技术实施例通过结合本地库存扣减与分布式库存扣减,降低了对分布式库存扣减方案的依赖程度,从而提高了库存扣减效率。从而提高了库存扣减效率。从而提高了库存扣减效率。

【技术实现步骤摘要】
库存扣减方法、装置、终端设备以及存储介质


[0001]本专利技术涉及数据处理
,尤其涉及一种库存扣减方法、装置、终端设备以及存储介质。

技术介绍

[0002]库存扣减是指更新库存数量以反映销售或使用产品的过程。库存扣减通常用于跟踪库存的实时状态,并确保库存数据的准确性和一致性。一般的库存扣减可以通过中心化库存扣减来实现,中心化系统会实时更新库存数量,并确保库存数据在各个操作环节的一致性。但中心化库存扣减需要大量的网络IO(Input/Output,输入/输出)资源消耗。因此,目前业内通过分布式库存扣减降低消耗并提升性能。分布式库存扣减是指在分布式系统中对库存进行减少操作的过程,其库存数据可能分布在多个节点上。
[0003]然而,目前业内的分布式库存扣减的方案会造成对分布式锁的过度依赖,异常处理机制不完善,从而导致库存扣减效率低下。

技术实现思路

[0004]本专利技术的主要目的在于提供一种库存扣减方法、装置、终端设备以及存储介质,旨在改进分布式库存扣减方案,提高库存扣减效率。
[0005]为实现上述目的,本专利技术提供一种库存扣减方法,所述方法应用于库存扣减系统,所述库存扣减方法包括如下步骤:
[0006]响应于库存扣减请求指令,获取目标库存扣减阈值,并从数据库中获取本地库存数据;
[0007]判断所述本地库存数据是否大于或等于所述目标库存扣减阈值;
[0008]若是,则对所述本地库存数据进行库存扣减,得到第一处理结果;
[0009]若否,则获取分布式库存数据,并对所述分布式库存数据进行库存扣减,得到第二处理结果。
[0010]可选地,所述响应于库存扣减请求指令,获取库存扣减目标值和本地库存数据值的步骤之前包括:
[0011]通过执行库存初始化,生成所述本地库存数据和所述分布式库存数据,并保存在所述数据库中。
[0012]可选地,所述对本地库存以及分布式库存执行库存初始化,生成所述本地库存数据和所述分布式库存数据,并保存在所述数据库中的步骤包括:
[0013]将请求负载均衡策略设置为轮询模式,并基于所述轮询模式对服务器集群的所有服务实例进行访问,得到原始库存数据;
[0014]对所述原始库存数据进行平均发放,生成所述本地库存数据和所述分布式库存数据,并保存在所述数据库中。
[0015]可选地,所述对所述本地库存数据进行库存扣减,得到第一处理结果的步骤包括:
[0016]基于本地锁对所述本地库存数据进行加锁,得到加锁后的本地库存数据;
[0017]对所述加锁后的本地库存数据进行库存扣减,并释放本地锁,得到所述第一处理结果。
[0018]可选地,所述获取分布式库存数据,并对所述分布式库存数据进行库存扣减,得到第二处理结果的步骤包括:
[0019]获取分布式库存数据,并计算得到锁过期时间;
[0020]基于所述锁过期时间对所述分布式库存数据进行加锁,得到加锁后的分布式库存数据;
[0021]对所述加锁后的分布式库存数据进行库存扣减,并释放分布式锁,得到所述第二处理结果。
[0022]可选地,所述基于所述锁过期时间对所述分布式库存数据进行加锁,得到加锁后的分布式库存数据的方法包括:
[0023]判断是否已经有分布式锁存在;
[0024]若是,则基于所述锁过期时间重置所述分布式锁,并基于重置结果对所述分布式库存数据进行加锁,得到所述加锁后的分布式库存数据;
[0025]若否,则获取分布式锁,对所述分布式库存数据进行加锁,得到所述加锁后的分布式库存数据。
[0026]可选地,所述方法还包括:
[0027]若发生库存扣减异常,则基于预设的回退逻辑将发生库存扣减异常的数据回退到所述分布式库存数据中,得到第三处理结果。
[0028]此外,为实现上述目的,本专利技术还提供一种库存扣减装置,所述装置包括:
[0029]数据获取模块,用于响应于库存扣减请求指令,获取目标库存扣减阈值,并从数据库中获取本地库存数据;
[0030]判断模块,用于判断所述本地库存数据是否大于或等于所述目标库存扣减阈值;
[0031]库存扣减模块,用于若是,则对所述本地库存数据进行库存扣减,得到第一处理结果;若否,则获取分布式库存数据,并对所述分布式库存数据进行库存扣减,得到第二处理结果。
[0032]可选地,所述数据获取模块还用于:
[0033]通过执行库存初始化,生成所述本地库存数据和所述分布式库存数据,并保存在所述数据库中。
[0034]可选地,所述库存扣减模块还用于:
[0035]将请求负载均衡策略设置为轮询模式,并基于所述轮询模式对服务器集群的所有服务实例进行访问,得到原始库存数据;
[0036]对所述原始库存数据进行平均发放,生成所述本地库存数据和所述分布式库存数据,并保存在所述数据库中。
[0037]可选地,所述库存扣减模块还用于:
[0038]基于本地锁对所述本地库存数据进行加锁,得到加锁后的本地库存数据;
[0039]对所述加锁后的本地库存数据进行库存扣减,并释放本地锁,得到所述第一处理结果。
[0040]可选地,所述库存扣减模块还用于:
[0041]获取分布式库存数据,并计算得到锁过期时间;
[0042]基于所述锁过期时间对所述分布式库存数据进行加锁,得到加锁后的分布式库存数据;
[0043]对所述加锁后的分布式库存数据进行库存扣减,并释放分布式锁,得到所述第二处理结果。
[0044]可选地,所述库存扣减模块还用于:
[0045]判断是否已经有分布式锁存在;
[0046]若是,则基于所述锁过期时间重置所述分布式锁,并基于重置结果对所述分布式库存数据进行加锁,得到所述加锁后的分布式库存数据;
[0047]若否,则获取分布式锁,对所述分布式库存数据进行加锁,得到所述加锁后的分布式库存数据。
[0048]可选地,所述库存扣减模块还用于:
[0049]若发生库存扣减异常,则基于预设的回退逻辑将发生库存扣减异常的数据回退到所述分布式库存数据中,得到第三处理结果。
[0050]此外,为实现上述目的,本专利技术还提供一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的库存扣减程序,所述库存扣减程序被所述处理器执行时实现如上所述的库存扣减方法。
[0051]此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有库存扣减程序,所述库存扣减程序被处理器执行时实现如上所述的库存扣减方法。
[0052]本专利技术实施例提出的一种库存扣减方法、装置、终端设备以及存储介质,通过响应于库存扣减请求指令,获取目标库存扣减阈值,并从数据库中获取本地库存数据;判断所述本地库存数据是否大于或等于所述目标库存扣减阈值;若是,则对所述本地库存数据进行库存扣减,得到第一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种库存扣减方法,其特征在于,所述方法应用于库存扣减系统,所述库存扣减方法包括以下步骤:响应于库存扣减请求指令,获取目标库存扣减阈值,并从数据库中获取本地库存数据;判断所述本地库存数据是否大于或等于所述目标库存扣减阈值;若是,则对所述本地库存数据进行库存扣减,得到第一处理结果;若否,则获取分布式库存数据,并对所述分布式库存数据进行库存扣减,得到第二处理结果。2.如权利要求1所述的库存扣减方法,其特征在于,所述响应于库存扣减请求指令,获取库存扣减目标值和本地库存数据值的步骤之前包括:通过执行库存初始化,生成所述本地库存数据和所述分布式库存数据,并保存在所述数据库中。3.如权利要求2所述的库存扣减方法,其特征在于,所述对本地库存以及分布式库存执行库存初始化,生成所述本地库存数据和所述分布式库存数据,并保存在所述数据库中的步骤包括:将请求负载均衡策略设置为轮询模式,并基于所述轮询模式对服务器集群的所有服务实例进行访问,得到原始库存数据;对所述原始库存数据进行平均发放,生成所述本地库存数据和所述分布式库存数据,并保存在所述数据库中。4.如权利要求1所述的库存扣减方法,其特征在于,所述对所述本地库存数据进行库存扣减,得到第一处理结果的步骤包括:基于本地锁对所述本地库存数据进行加锁,得到加锁后的本地库存数据;对所述加锁后的本地库存数据进行库存扣减,并释放本地锁,得到所述第一处理结果。5.如权利要求1所述的库存扣减方法,其特征在于,所述获取分布式库存数据,并对所述分布式库存数据进行库存扣减,得到第二处理结果的步骤包括:获取分布式库存数据,并计算得到锁过期时间;基于所述锁过期时间对所述分布式库存数据进行加锁,得到加锁后的分布式库存数据;...

【专利技术属性】
技术研发人员:刘奇陈晓周刚
申请(专利权)人:招商银行股份有限公司
类型:发明
国别省市:

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

1