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