掌桥专利:专业的专利平台
掌桥专利
首页

一种动态式填充独立缓存池库存的方法

文献发布时间:2023-06-19 10:27:30


一种动态式填充独立缓存池库存的方法

技术领域

本发明涉及计算机领域,具体涉及一种动态式填充独立缓存池库存的方法。

背景技术

随着电子卡券的推广及普及,越来越多的销售平台进行电子卡券的销售发放,针对不同的销售平台会同时进行同一商品进行销售,同一个卡券平台可能会同时维护这销售同一商品的多个销售渠道,针对库存的管理,通常来说卡券平台会创建一个统一的一个商品库存库,多个销售渠道可以同时从这个商品库中获取库存券码,在使用过程中可以向这个商品库中添加库存,如果这个商品库无库存了,相关的销售渠道都会返回一个库存不足。

同一个商品设置一个库存,对于多个销售渠道获取同一个商品的库存会发生库存争抢问题,库存出库获取效率低。在库存很少的情况不能有效的分配不同销售渠道的一个库存量,同一个库存会被多个销售渠道占用,不能避免某些销售渠道不能断货的问提。

发明内容

本发明的目的旨在解决现有技术中的上述问题,提供了一种动态式填充独立缓存池库存的方法,该方法通过设置多个专用库存池有效的保证各渠道的库存占用隔离,减少了商品总库存池的库存变更频繁的压力,在库存很少的情况可以有效的保证某个销售渠道的库存输出,防止被其他销售渠道占用,避免有些销售渠道不能断货的问题。

本发明的目的是通过以下技术方案实现的:

一种动态式填充独立缓存池库存的方法,其特征在于,包括如下步骤:

步骤一、针对同一商品P为各销售渠道建立单独的专用库存池,并预先设定各专用库存池的填充阈值KL、最大库存值CT和库存偏移量PL;

步骤二、初始化时一次性将各专用库存池的库存填充至最大库存值CT,并增加一个库存定时填充任务,设定该任务的执行频率;

步骤三、执行库存定时填充任务,实时获取各专用库存池的以下配置参数,包括:过去N小时的销量NT、最大库存值CT、当前库存量ST、填充阈值KL和库存偏移量PL;

步骤四、根据上述配置参数计算各专用库存池的未来N小时库存剩余率NL,计算方法如下:

未来N小时库存剩余率(NL)= [(当前库存量(ST)-过去N小时销量(NT)÷最大库存值(CT))] * 100%;

步骤五、计算未来N小时库存剩余率NL与填充阈值KL的差值SL,计算公式如下:

SL= NL-KL,

若SL>0则不进行库存填充,否则进行库存填充,并更新填充后的当前库存量ST。

进一步的,步骤五中,计算专用库存池填充量(MT)=最大库存值(CT)–当前库存量(ST),并将该库存量MT放入到异步队列进行顺序填充更新库存。

进一步的,所述库存定时填充任务的初始化执行频率为1分钟/次。

进一步的,还包括步骤六:

计算更新库存这段时间内的销售出库量占比,并与销售渠道商品这时的库存偏移量进行比较:

最新库存偏移量NPL = [(最大库存值CT -当前库存量ST)÷最大库存值 CT ] *100%

最新库存偏移量比%(ML) = 最新库存偏移量(NPL)–库存偏移量(PL);

若ML< 0,则库存变化正常,修改系统设置过去N小时销量的N为默认值24小时,库存定时填充任务修改为默认值1分钟执行;

若ML≥10%,则根据ML的值的大小调整库存定时填充任务的频率。

进一步的,如果20% >ML ≥ 10% ,则更新库存定时填充任务执行频率为50秒执行一次,过去N小时销量的N设置为12小时。

进一步的,如果30% > ML ≥20%,则更新库存定时填充任务执行频率为40秒执行一次,过去N小时销量的N设置为6小时。

进一步的,如果50% >ML ≥ 30%,则更新库存定时填充任务执行频率为30秒执行一次,过去N小时销量的N设置为3小时。

进一步的,如果ML≥50%,则库存定时填充任务立即触发,直接向专库库存池补充库存量至最大库存值CT。

本技术方案的有益效果如下:

1、本发明所述方法,采用的是一个缓存池的技术,通过定时任务(Schedule)来定时从商品总库存池中加入到不同销售渠道的一个缓存池,分散存储,再通过一个异步队列(MQ)方式来单线程来进行库存更新库存操作。使用异步队列可以保证库存的一个更新最终一致性,不影响当前库存定时填充任务的执行,既保证了效率问题又保证了库存最终一致性问题;

2、本发明所述方法,为单个商品总库存池创建了多个专用库存池,并列分成了多个单渠道单独独立库存池,多线程并行出库,分散了一个总库存池的压力,并减小了库存出错几率,避免了多个销售渠道取争抢同一个库存导致某个渠道出现库存不足或造成库存变更的效率问题;

3、本发明所述方法,在销售渠道上预先设置单个商品的填充阈值和专用库存池的一个最大库存值,并针对该专用库存池创建并设置库存定时填充任务(每分钟执行)来处理该专用库存池的填充,并设置辅助上限参数值;根据各渠道的过去N个小时的出库速率比动态实时从商品总库存池到各独立的专用库存池,保证单销售渠道单专用库存池的库存充足,从而隔离了各销售渠道相互争抢库存的问题;

4、本发明所述方法,库存定时填充任务执行频率随销售渠道的销售速度时间比来动态变更。如果销售速度越快则定时填充任务则执行得越快,保证填充速度跟上库存减少速度。

附图说明

本发明的前述和下文具体描述在结合以下附图阅读时变得更清楚,附图中:

图1是本发明的流程图。

具体实施方式

下面通过几个具体的实施例来进一步说明实现本发明目的技术方案,需要说明的是,本发明要求保护的技术方案包括但不限于以下实施例。

实施例1

本实施例提供了一种动态式填充独立缓存池库存的方法,其主要采用的是一个缓存池的技术,通过定时任务(Schedule)来定时从商品总库存池中加入到不同销售渠道的一个缓存池,分散存储,再通过一个异步队列(MQ)方式来单线程来进行库存更新库存操作。

参考图1所示,其处理流程包括以下步骤:

步骤一、系统配置:

针对存储在一个总库存池里的同一商品P,为各销售渠道建立单独的专用库存池,本实施例中设有若干个销售渠道,一个销售渠道对应一个单独的专用库存池,各个专用库存池中的库存均由商品总库存池进行填充。

预先设置各专用库存池的填充阈值KL、最大库存值CT和库存偏移量PL,再增加一个库存定时填充任务。

填充阈值是指低于这个值就进行库存填充,默认值为最大库存值的20%;

最大库存值是指是指专用库存池的库存量的一个上限;

库存偏移量是指在一定时间内专用库存池的库存变化值,在这个值内视为正常库存变化,无大量库存减少情况,一般默认值为5%偏移量;

该库存定时填充任务的初始化执行频率为“1分钟/次”,初始化时一次性将各专用库存池的库存填充至最大库存值。

步骤二、执行库存定时填充任务,并实时获取以下配置参数:

各专用库存池过去N小时的销量NT,一般默认N=24h;

各专用库存池的最大库存值CT,也就是专用库存池的总量;

各专用库存池的当前库存量ST,也就是库存剩余量;

各专用库存池的填充阈值KL;

各专用库存池的库存偏移量PL。

步骤三、根据各专用库存池过去N小时的销量NT、当前库存量ST以及库存量CT,计算各专用库存池未来N小时的库存剩余率,这两个时间段N相等,计算公式如下:

未来N小时库存剩余率(NL)= [(当前库存量(ST)-过去N小时销量(NT)÷最大库存值(CT))] * 100%(1)

根据填充阈值KL和式(1)得到的未来N小时库存剩余率NL,预估各专用库存池未来N小时的库存是否满足未来N小时的销量,这两个时间段N相等,判断方式如下:

计算未来N小时库存剩余率NL与填充阈值KL的差值SL=NL-KL,若SL > 0则不需要进行库存填充,如果SL ≤0则需要填充库存池,并进入下一步骤。

步骤四、为了减少存储空间的浪费和消耗按需填充库存数,根据各专用库存池的最大库存值CT和当前库存量ST,计算出最大填充数:

计算公式:专用库存池填充量(MT)= 最大库存值(CT)–当前库存量(ST)。

步骤五、将需要填充的库存量MT放入到异步队列进行顺序填充更新专用库存池的库存,填充完库存之后返回一个当前最新的一个当前库存量ST。使用异步队列可以保证库存更新的最终一致性,不影响当前库存定时填充任务的执行,既保证了效率问题又保证了库存最终一致性问题。异步队列根据更新后的数据进行判断,如果满足条件则及时更新库存定时填充任务的执行频率。

步骤六:计算最新填充了库存后的各专用库存池变化了多少,即在更新库存这段时间销售出库量占比,也就是最新库存偏移量NPL,并与销售渠道商品初始化时设置的库存偏移量值PL进行对比:

计算公式1:最新库存偏移量NPL = [(最大库存值(CT)-当前库存量(ST))÷最大库存值(CT)] * 100% ;

计算公式2:最新库存偏移量比%(ML)=最新库存偏移量(NPL)–库存偏移量(PL);

如果ML < 10% :则库存变化正常,修改系统设置过去N小时销量的N为默认值24小时,定时任务修改为默认值1分钟执行;

如果20%>ML≥10%:则更新库存定时填充任务执行频率为50秒执行一次,过去N小时销量的N设置为12小时;

如果30%>ML≥20%:则更新库存定时填充任务执行频率为40秒执行一次,过去N小时销量的N设置为6小时;

如果50%>ML≥30%:则更新库存定时填充任务执行频率为30秒执行一次,过去N小时销量的N设置为3小时;

如果ML≥50%:则库存定时填充任务立即触发,直接向专用库存池补充库存量至最大库存值CT。即直接执行计算当前专库库存填充量,不用等待任务定时执行(定时任务立即执行)。

库存定时填充任务执行频率随销售渠道的销售速度时间比来动态变更,如果销售速度越快则定时填充任务则执行得越快,保证填充速度跟上库存减少速度。

以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。

相关技术
  • 一种动态式填充独立缓存池库存的方法
  • 一种动态对象缓存池分配方法
技术分类

06120112554153