一种库存管理的方法及装置制造方法及图纸

技术编号:18426296 阅读:18 留言:0更新日期:2018-07-12 01:59
本发明专利技术实施例公开了一种库存管理的方法及装置,涉及互联网技术领域,能够缓减系统性能严重下滑的问题。本发明专利技术包括:获取并解析业务请求消息,得到解析结果,其中,业务请求消息指示的操作类型至少包括:对于指定库存的扣减;根据解析结果,生成对应业务请求消息的日志表,并将日志表中每条库存数据的状态设置为待处理;当日志表中的至少一条库存数据所对应的库存扣减失败时,对日志表对应的库存中,已被成功扣减的部分执行加库,并对日志表中的每条库存数据进行处理,得到处理结果,其中,日志表对应的全部库存包括:日志表中的每一条库存数据在指定库存中对应的库存;根据处理结果更改每条库存数据的状态。本发明专利技术适用于管理库存的过程。

A method and device for inventory management

The embodiment of the invention discloses a method and device for inventory management, which relates to the technical field of the Internet, and can slow down the serious decline of the system performance. The invention includes: obtaining and parsing the business request message and obtaining the analytical results, in which the operation type of the service request message indicates at least: the deduction of the specified inventory; the log table of the corresponding business request message is generated according to the parse result, and the state of each inventory data in the log table is set to be treated. When the inventory subtraction of at least one inventory data in the log table is failed, the database that has been successfully deducted from the log table is executed, and each inventory data in the log table is processed to get the result, in which all the inventory of the log table includes every one in the log table. The corresponding inventory of the inventory data in the specified inventory; the state of each inventory data is changed according to the result of the processing. The invention is applicable to the process of managing inventory.

【技术实现步骤摘要】
一种库存管理的方法及装置
本专利技术涉及互联网
,尤其涉及一种库存管理的方法及装置。
技术介绍
随着库存系统的发展,库存系统需要管理的仓库数量越来越多、区域范围也越来越大,这就需要库存系统还需要保证数据的一致性。比如,销售场景中若存在同一订单内包括多个子订单,即一单多行的情况,则需要每个子订单都成功;调拨场景中通常有几百甚至上千行需要完成加库、减库操作,也同样需要上述并行的几百甚至上千行调拨操作中每行都成功;交货场景中若存在一单多行的情况,为了确保收货人可以在同一时间收到完整订单,则需要该单内的每行所对应的数量的商品统一发货等。目前,若想满足上述各场景需求,则需要多个数据库节点之间进行协调。但是,考虑到当前库存系统的分布式处理情况,若要保证跨库数据一致性,各个节点对被锁资源的释放,需要等到本次订单事务最终提交,即在一次订单事务被处理完后,才统一释放被锁资源,这样一来就需要耗费大量时间等待事务的最终提交。尤其是对于一些涉及大规模促销的应用场景,不仅需要耗费大量时间进行等待,同时当请求并发数量达到一定数量时,就会产生大量积压的事务,甚至出现死锁,即库存系统报错,和/或一定数量的商品虽然在库却无法进行销售,这样就会导致系统性能的严重下滑。
技术实现思路
本专利技术实施例提供一种库存管理的方法及装置,能够缓减系统性能严重下滑的问题。为达到上述目的,本专利技术实施例采用如下技术方案:第一方面,本专利技术实施例提供的方法,包括:获取并解析业务请求消息,得到解析结果,其中,业务请求消息指示的操作类型至少包括:对于指定库存的扣减;根据所述解析结果,生成对应所述业务请求消息的日志表,并将所述日志表中每条库存数据的状态设置为待处理;当所述日志表中的至少一条库存数据所对应的库存扣减失败时,对所述日志表对应的库存中,已被成功扣减的部分执行加库,并对所述日志表中的每条库存数据进行处理,得到处理结果,其中,所述日志表对应的全部库存包括:所述日志表中的每一条库存数据在所述指定库存中对应的库存;根据所述处理结果更改每条库存数据的状态。结合第一方面,在第一方面的第一种可能的实现方式中,所述对所述日志表对应的库存中,已被成功扣减的部分执行加库,并对所述日志表中的每条库存数据进行处理,得到处理结果,具体包括:将所述日志表中所有数据进行分组,得到减库存集合,所述减库存集合中每条库存数据的处理类型为对于指定库存的扣减;处理所述减库存集合中的每条数据,得到减库存处理结果;在完成减库存操作后,若存在所述加库存集合,则处理所述加库存集合中的每条库存数据,得到加库存处理结果,所述加库存集合中每条库存数据的处理类型为对于指定库存的加库。结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,在所述得到减库存处理结果之后,所述方法还包括:释放临时锁,所述临时锁对应所述日志表中减库存处理结果为成功的库存数据。结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,在所述释放临时锁之后,所述方法还包括:若所述减库存处理结果为全部成功,则为所述减库存处理结果对应的库存数据设置正式锁。结合第一方面的第一种可能的实现方式,在第四种可能的实现方式中,在所述处理结果为所述减库存处理结果时,所述根据所述处理结果更改每条库存数据的状态,具体包括:若所述减库存处理结果为全部成功,则将所述减库存集合中的每条库存数据的状态修改为成功;若所述减库存处理结果为部分成功,则将所述减库存集合中的每条库存数据的状态修改为减库存处理结果不一致。结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,在所述将所述减库存集合中的每条库存数据的状态修改为减库存处理结果不一致之后,所述方法还包括:将已完成扣减操作的库存数据进行加库,并将所述减库存集合中的每条库存数据的状态修改为失败,其中,扣减操作对应的扣减数量与加库对应的数量相同。结合第一方面的第一种可能的实现方式,在第六种可能的实现方式中,在所述处理结果为所述加库存处理结果时,所述根据所述处理结果更改每条库存数据的状态,具体包括:若所述加库存处理结果为全部成功,则将所述加库存集合中的每条库存数据的状态修改为成功;若所述加库存处理结果为部分成功,则将所述加库存集合中的每条库存数据的状态修改为加库存处理结果不一致。结合第一方面的第六种可能的实现方式,在第七种可能的实现方式中,在所述根据所述处理结果更改每条库存数据的状态之后,所述方法还包括:再次执行加库操作,直至所述加库存集合中的每条库存数据处理成功,并将所述加库存集合中的每条库存数据的状态修改为成功。第二方面,本专利技术实施例提供的装置,包括:获取模块,用于获取并通过解析模块解析业务请求消息,得到解析结果,其中,业务请求消息指示的操作类型至少包括:对于指定库存的扣减;生成模块,用于根据所述解析模块得到的所述解析结果,生成对应所述业务请求消息的日志表,并通过状态设置模块将所述日志表中每条库存数据的状态设置为待处理;处理模块,用于当所述日志表中的至少一条库存数据所对应的库存扣减失败时,对所述日志表对应的库存中,已被成功扣减的部分执行加库,并对所述日志表中的每条库存数据进行处理,得到处理结果,其中,所述日志表对应的全部库存包括:所述日志表中的每一条库存数据在所述指定库存中对应的库存;所述状态设置模块,还用于根据所述处理模块得到的所述处理结果更改每条库存数据的状态。结合第二方面,在第二方面的第一种可能的实现方式中,所述处理模块,具体用于:将所述日志表中所有数据进行分组,得到减库存集合,所述减库存集合中每条库存数据的处理类型为对于指定库存的扣减;处理所述减库存集合中的每条数据,得到减库存处理结果;所述装置还包括:释放模块,用于释放临时锁,所述临时锁对应所述日志表中减库存处理结果为成功的库存数据;锁设置模块,用于若所述减库存处理结果为全部成功,则为所述减库存处理结果对应的库存数据设置正式锁。结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,在所述处理结果为所述减库存处理结果时,所述状态设置模块,具体用于:若所述减库存处理结果为全部成功,则将所述减库存集合中的每条库存数据的状态修改为成功;若所述减库存处理结果为部分成功,则将所述减库存集合中的每条库存数据的状态修改为减库存处理结果不一致;所述处理模块,还用于将已完成扣减操作的库存数据进行加库,并通过所述状态设置模块将所述减库存集合中的每条库存数据的状态修改为失败,其中,扣减操作对应的扣减数量与加库对应的数量相同。结合第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,在所述处理结果为所述加库存处理结果时,所述状态设置模块,具体用于:若所述加库存处理结果为全部成功,则将所述加库存集合中的每条库存数据的状态修改为成功;若所述加库存处理结果为部分成功,则将所述加库存集合中的每条库存数据的状态修改为加库存处理结果不一致;所述处理模块,还用于再次执行加库操作,直至所述加库存集合中的每条库存数据处理成功,并通过所述状态设置模块将所述加库存集合中的每条库存数据的状态修改为成功。本专利技术实施例提供的一种库存管理的方法及装置,相比较于现有技术中,因请求并发数量达到一定数量而导致系统性能的严重下滑,本专利技术实施例能够根据得到的解析结果本文档来自技高网...

【技术保护点】
1.一种库存管理的方法,其特征在于,所述方法包括:获取并解析业务请求消息,得到解析结果,其中,业务请求消息指示的操作类型至少包括:对于指定库存的扣减;根据所述解析结果,生成对应所述业务请求消息的日志表,并将所述日志表中每条库存数据的状态设置为待处理;当所述日志表中的至少一条库存数据所对应的库存扣减失败时,对所述日志表对应的库存中,已被成功扣减的部分执行加库,并对所述日志表中的每条库存数据进行处理,得到处理结果,其中,所述日志表对应的全部库存包括:所述日志表中的每一条库存数据在所述指定库存中对应的库存;根据所述处理结果更改每条库存数据的状态。

【技术特征摘要】
1.一种库存管理的方法,其特征在于,所述方法包括:获取并解析业务请求消息,得到解析结果,其中,业务请求消息指示的操作类型至少包括:对于指定库存的扣减;根据所述解析结果,生成对应所述业务请求消息的日志表,并将所述日志表中每条库存数据的状态设置为待处理;当所述日志表中的至少一条库存数据所对应的库存扣减失败时,对所述日志表对应的库存中,已被成功扣减的部分执行加库,并对所述日志表中的每条库存数据进行处理,得到处理结果,其中,所述日志表对应的全部库存包括:所述日志表中的每一条库存数据在所述指定库存中对应的库存;根据所述处理结果更改每条库存数据的状态。2.根据权利要求1所述的方法,其特征在于,所述对所述日志表对应的库存中,已被成功扣减的部分执行加库,并对所述日志表中的每条库存数据进行处理,得到处理结果,具体包括:将所述日志表中所有数据进行分组,得到减库存集合,所述减库存集合中每条库存数据的处理类型为对于指定库存的扣减;处理所述减库存集合中的每条数据,得到减库存处理结果。3.根据权利要求2所述的方法,其特征在于,在所述得到减库存处理结果之后,所述方法还包括:释放临时锁,所述临时锁对应所述日志表中减库存处理结果为成功的库存数据。4.根据权利要求3所述的方法,其特征在于,在所述释放临时锁之后,所述方法还包括:若所述减库存处理结果为全部成功,则为所述减库存处理结果对应的库存数据设置正式锁。5.根据权利要求2所述的方法,其特征在于,在所述处理结果为所述减库存处理结果时,所述根据所述处理结果更改每条库存数据的状态,具体包括:若所述减库存处理结果为全部成功,则将所述减库存集合中的每条库存数据的状态修改为成功;若所述减库存处理结果为部分成功,则将所述减库存集合中的每条库存数据的状态修改为减库存处理结果不一致。6.根据权利要求5所述的方法,其特征在于,在所述将所述减库存集合中的每条库存数据的状态修改为减库存处理结果不一致之后,所述方法还包括:将已完成扣减操作的库存数据进行加库,并将所述减库存集合中的每条库存数据的状态修改为失败,其中,扣减操作对应的扣减数量与加库对应的数量相同。7.根据权利要求2所述的方法,其特征在于,在所述处理结果为所述加库存处理结果时,所述根据所述处理结果更改每条库存数据的状态,具体包括:若所述加库存处理结果为全部成功,则将所述加库存集合中的每条库存数据的状态修改为成功;若所述加库存处理结果为部分成功,则将所述加库存集合中的每条库存数据的状态修改为加库存处理结果不一致。8.根据权利要求7所述的方法,其特征在于,在所述根据所述处理结果更改每条库...

【专利技术属性】
技术研发人员:李文司孝波孙迁叶国华钱津津亓培标
申请(专利权)人:苏宁云商集团股份有限公司
类型:发明
国别省市:江苏,32

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

1