库存扣减控制方法、装置、电子装置及介质制造方法及图纸

技术编号:36755749 阅读:13 留言:0更新日期:2023-03-04 10:46
本发明专利技术公开了一种库存扣减控制方法、装置、电子装置及介质,涉及智能家居/智慧家庭技术领域,旨在解决现有库存管理模块在高并发情况下库存数据库的性能会降低,严重时甚至会造成库存数据库崩溃的问题。为此目的,本发明专利技术通过响应于预占请求,对缓存数据库中的缓存库存进行扣减并将扣减信息存入库存数据库占库队列表,其中预占请求为用户端发起;基于库存数据库占库队列表和消息队列,对库存数据库中的实际库存进行相应的扣减,其中消息队列在扣减信息的传送中,对扣减信息进行存储。这样的设置能够减少库存数据库的查询,减轻了库存数据库的压力,同时消息队列的使用能够有效地实现库存数据库中实际库存的扣减,从而有效地应对较高的并发量。较高的并发量。较高的并发量。

【技术实现步骤摘要】
库存扣减控制方法、装置、电子装置及介质


[0001]本专利技术涉及智能家居/智慧家庭技术
,具体提供一种库存扣减控制方法、装置、电子装置及介质。

技术介绍

[0002]在平时的库存管理中,扣减库存往往依赖于库存数据库来实现,例如使用mysql数据库扣减实现的方案,这种方案是基于乐观锁的方式实现了扣减的一致性。这种方式在低并发的环境下可能不会出现问题,但是在促销或者秒杀活动时往往会出现高并发。例如当用户只买一个商品的时候,库存检验通过,而在实际扣减时另一个并发进来,这时会出现库存数据库幻读,从而在实际扣减时才会失败。这样就造成都查一次库存数据库的情况,而在高并发环境下会加大都查一次库存数据库的概率,这样直接降低了库存数据库的性能,情况严重的甚至会造成库存数据库的崩溃。
[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]图1是根据本专利技术实施例的一种智能设备的交互方法的硬件环境示意图;
[0035]图2是根据本专利技术实施例的库存扣减控制方法的主要步骤流程图;
[0036]图3是根据本专利技术实施例的判断预占请求是否为有效请求的主要步骤流程图;
[0037]图4是根据本专利技术实施例的对库存数据库中的实际库存进行相应的扣减的主要步骤流程图;
[0038]图5是根据专利技术实施例的库存扣减控制装置的主要结构框图;
[0039]图6是用于执行本专利技术实施例的库存扣减控制方法的电子装置的主要结构框图。...

【技术保护点】

【技术特征摘要】
1.一种库存扣减控制方法,其特征在于,所述方法包含以下步骤:响应于预占请求,对缓存数据库中的缓存库存进行扣减并将扣减信息存入库存数据库占库队列表,其中所述预占请求为用户端发起;基于所述库存数据库占库队列表和消息队列,对库存数据库中的实际库存进行相应的扣减,其中所述消息队列在所述扣减信息的传送中,对所述扣减信息进行存储。2.根据权利要求1所述的库存扣减控制方法,其特征在于,所述对缓存数据库中的缓存库存进行扣减并将扣减信息存入库存数据库占库队列表包括:基于异步思想对所述缓存数据库中的缓存库存进行扣减并将所述扣减信息存入所述库存数据库占库队列表。3.根据权利要求1所述的库存扣减控制方法,其特征在于,所述缓存数据库为远程字典服务数据库,所述响应于预占请求,对缓存数据库中的缓存库存进行扣减包括:判断所述预占请求是否为有效请求;当判断所述预占请求为所述有效请求后,对所述远程字典服务数据库中的缓存库存进行扣减。4.根据权利要求3所述的库存扣减控制方法,其特征在于,所述判断所述预占请求是否为有效请求包括:判断所述远程字典服务数据库中的缓存库存是否大于等于所述预占请求中的预占数量;当所述远程字典服务数据库中的缓存库存大于等于所述预占数量时,判定所述预占请求为所述有效请求,否则,判定所述预占请求为无效请求。5.根据权利要求1所述的库存扣减控制方法,其特征在于,所述基于所述库存数据库占库队列表和消息队列,对库存数据库中的实际库存进行相应的扣减之前,所述方法还包括:查询所述库存数据库占库队列表中是否包含所述库存数据库未处理的扣减信息;当包含所述库存数据库未处理的扣减信息时,对所述库存数...

【专利技术属性】
技术研发人员:陈文洁
申请(专利权)人:青岛海尔科技有限公司海尔智家股份有限公司
类型:发明
国别省市:

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

1