商家券库存智能分配方法、系统、电子设备及存储介质与流程

文档序号:19421153发布日期:2019-12-14 01:29阅读:166来源:国知局
商家券库存智能分配方法、系统、电子设备及存储介质与流程

本发明涉及计算机网络技术领域,具体涉及商家券库存智能分配方法、系统、电子设备及存储介质。



背景技术:

在当今互联网行业中,随着计算机网络技术的发展,电商业务也在不断的拓展,商家经常会通过发放各种优惠券来吸引顾客,在此,商家券也可以认为是一种商品,而交易商品有适量的库存,变得越来越重要。为此,很多电商已经提供一个单独的系统来对外提供商家券的领取或发放服务。

由于商家券库存本身的特性,更新频率特别高,不断的访问数据库,给数据库带来了很大的压力,在业务高峰期容易频频报警,并产生宕机风险。而数据库本身又是一种贵重的资源,怎么合理的利用数据库就成为了一个新的课题。

目前,对于商家券库存的解决方案基本有以下两种:

第一种:在数据库前面加一层高速缓存,来减缓商家券发放或领取的高流量对数据库的冲击,当缓存异常时,流量压力直接加载到数据库上。

第二种:数据库+双缓存方案,当缓存1异常时,可以用缓存2进行替代,避免上层缓存异常时把高速流量压力直接加载到数据库上。

现有方案使用高速缓存和数据库方式来保证库存高频的访问。虽然高速缓存可以缓解数据库压力,但是由于数据库同时作为上层缓存异常时的降级方案,那么就需要保证二者之间的数据一致性,也就是说,高速缓存和数据库的写访问频率近似相同,但是,高速缓存本身可以抗住高频写的压力,而数据库则不能,在业务高峰期容易频频报警,一旦报警量超过某阈值,最终可能导致数据库宕机,无法提供服务。而且,如果高速缓存一旦出现故障不可用,业务降级到数据库上风险也很高。



技术实现要素:

为了改进库存数据库的传统解决方案的方法的缺点,本发明拟提供商家券库存智能分配方法、系统、电子设备及存储介质,采用动态分配策略,在高速缓存和数据库之间合理分配商家券库存,以缓解系统压力,保证商家券业务正常进行。

本发明提供一种商家券库存智能分配方法,包括以下步骤:

在商家券创建完成后,采用动态分配策略,把商家券首次分配到高速缓存和数据库;

进行商家券发放业务时,通过所述高速缓存提供商家券,如果所述高速缓存的商家券库存值小于设定值a,则再次采用动态分配策略,进行商家券在所述高速缓存和所述数据库的分配。

进一步地,所述动态分配策略包括以下策略的一种或几种的组合:

临界值策略,如果所述数据库的商家券库存值大于所述设定值a,则把商家券在所述高速缓存和所述数据库重新进行分配;如果所述数据库的商家券库存值小于所述设定值a,则所述数据库的商家券全部分配到所述高速缓存,所述数据库的商家券库存值清零;

绝对值策略,如果所述高速缓存的商家券库存值增加绝对值x,则所述数据库的商家券库存值就减小绝对值x;

相对值策略,以所述高速缓存的最大商家券库存值为基数,由所述数据库转移至所述高速缓存的商家券数量为所述基数的百分数y%;

精准值策略,离线计算每个商家高峰期需要商家券库存值z,则所述高速缓存的商家券库存值增加z×加权值,所述数据库的商家券库存值减小z×加权值。

进一步地,在商家券发放业务低峰期,采用所述临界值策略和所述相对值策略的组合策略,进行商家券在所述高速缓存和所述数据库的分配;

在商家券发放业务高峰期,采用所述临界值策略和所述精准值策略的组合策略,进行商家券在所述高速缓存和所述数据库的分配。

进一步地,所述方法还包括以下步骤:

在所述高速缓存不可用时,采用降级策略,把所述高速缓存的商家券分配到所述数据库,通过所述数据库提供商家券来进行商家券发放业务。

进一步地,所述降级策略应用时,通过商家业务量和信誉度从高到低对商家进行等级细分,根据商家等级的高低顺序,优先处理高等级商家的商家券发放业务。

本发明还提供一种商家券库存智能分配系统,所述系统包括高速缓存、数据库,其特征在于,还包括动态策略分配单元,其中:

所述动态策略分配单元,用于利用动态分配策略在所述高速缓存和所述数据库中分配商家券;

所述高速缓存,用于在所述动态策略分配单元的控制下,获得商家券,并在商家券发放业务时提供商家券;

所述数据库,用于在所述动态策略分配单元的控制下,获得商家券,或向所述高速缓存转出商家券。

进一步地,所述动态分配策略单元包括临界值策略模块、绝对值策略模块、相对值策略模块、精准值策略模块,在不同的业务时期,采用一个策略模块或一个以上策略模块组合进行商家券在所述高速缓存和所述数据库的分配;

所述临界值策略模块提供临界值策略:如果所述数据库的商家券库存值大于设定值a,则把商家券在所述高速缓存和所述数据库重新进行分配;如果所述数据库的商家券库存值小于所述设定值a,则所述数据库的商家券全部分配到所述高速缓存,所述数据库的商家券库存值清零;

所述绝对值策略模块提供绝对值策略:如果所述高速缓存的商家券库存值增加绝对值x,则所述数据库的商家券库存值就减小绝对值x;

所述相对值策略模块提供相对值策略:以所述高速缓存的最大商家券库存值为基数,由所述数据库转移至所述高速缓存的商家券数量为所述基数的百分数y%;

所述精准值策略模块提供精准值策略:离线计算每个商家高峰期需要商家券库存值z,则所述高速缓存的商家券库存值增加z×加权值,所述数据库的商家券库存值减小z×加权值。

进一步地,所述系统还包括离线计算单元,所述离线计算单元用于依据订单和历史数据进行商家券的业务量计算,并把计算结果送到所述精准值策略模块,所述精准值策略模块根据所述计算结果进行商家券在所述高速缓存和所述数据库的分配。

进一步地,所述系统还包括降级策略单元,所述降级策略单元用于在所述高速缓存不可用时,控制所述数据库代替所述高速缓存提供商家券。

进一步地,所述降级策略单元通过商家业务量和信誉度从高到低对商家进行等级细分,根据商家等级的高低顺序,优先处理高等级商家的商家券发放业务。

本发明还提供一种电子设备,包括存储器、处理器及存储在该存储器上并可在该处理器上运行的计算机程序,其特征在于,该程序被该处理器执行时实现上述所述的商家券库存智能分配方法。

本发明还提供一种计算机可读存储介质,其上存储有处理器程序,其特征在于,该处理器程序用于执行上述所述的商家券库存智能分配方法。

本发明取得了以下有益效果:

采用动态分配策略分配商家券,无需考虑缓存和数据库的数据一致性;使得数据库不需要和高速缓存一样承受高频率写访问,甚至在访问高峰期,数据库写可以降到零,极限提高数据库的稳定性。

附图说明

图1是本发明智能分配系统示意图。

图2是本发明智能分配方法流程示意图。

图3是本发明实施例动态分配策略应用示意图。

图4是本发明实施例1智能分配方法流程示意图。

图5是本发明实施例2智能分配方法流程示意图。

图6是本发明电子设备组成示意图。

具体实施方式

以下是通过附图和具体实施例来说明本发明所公开有关“商家券库存智能分配方法、系统、电子设备及存储介质”的实施方式,本领域技术人员可由本说明书所公开的内容了解本发明的优点与效果。本发明可通过其他不同的具体实施例加以施行或应用,本说明书中的各项细节也可基于不同观点与应用,在不悖离本发明的构思下进行各种修改与变更。另外,本发明的附图仅为简单示意说明,并非依实际尺寸的描绘,事先声明。以下的实施方式将进一步详细说明本发明的相关技术内容,但所公开的内容并非用以限制本发明的保护范围。

本发明使用高速缓存和数据库方式来保证库存高频的访问,在不同的业务时期,在高速缓存和数据库之间采用动态分配策略,合理分配商家券,并且,在高速缓存异常时,采用降级策略,把高速缓存的商家券分配到数据库,按照商家级别优先级顺序来减少数据库的写访问量,逐级保证商家券领取或发放业务正常进行。

图1是本发明实施例分配系统示意图。如图1所示,商家券库存智能分配系统包括高速缓存2、数据库3,还包括动态策略分配单元11,所述动态策略分配单元11,用于利用动态分配策略在所述高速缓存2和所述数据库3中分配商家券;所述高速缓存2,用于在所述动态策略分配单元11的控制下,获得商家券,并在商家券发放业务时提供商家券;所述数据库3,用于在所述动态策略分配单元11的控制下,获得商家券或向所述高速缓存2转出商家券。

在考虑构建高性能框架的时候使用高速缓存,来提供整体的查询效率和数据的吞吐量。tair高速缓存是高性能、高扩展、高可靠的产品,支持分布式集群部署;而redis高速缓存,其具有非常丰富的数据结构,而且都是原子性操作、高速读写、支持事务、操作性好。在本发明中,高速缓存的类型不以此为限。

数据库(database)是按照数据结构来组织、存储和管理数据的仓库,随着信息技术和市场的发展,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。

所述动态分配策略单元11包括临界值策略模块111、绝对值策略模块112、相对值策略模块113、精准值策略模块114,在不同的业务时期,采用一个策略模块或一个以上策略模块组合进行商家券在所述高速缓存2和所述数据库3的分配;所述临界值策略模块111提供临界值策略:如果所述数据库3的商家券库存值大于设定值a,则进行商家券在所述高速缓存2和所述数据库3的分配;如果所述数据库3的商家券库存值小于所述设定值a,则所述数据库3的商家券全部分配到所述高速缓存2,所述数据库3的商家券库存值清零;所述绝对值策略模块112提供绝对值策略:如果所述高速缓存2的商家券库存值增加绝对值x,则所述数据库3的商家券库存值就减小绝对值x;所述相对值策略模块113提供相对值策略:以所述高速缓存2的最大商家券库存值为基数,由所述数据库3转移至所述高速缓存2的商家券数量为所述基数的百分数y%;所述精准值策略模块114提供精准值策略:离线计算每个商家高峰期需要商家券库存值z,则所述高速缓存2的商家券库存值增加z×加权值,所述数据库3的商家券库存值减小z×加权值。

所述系统还包括离线计算单元13,所述离线计算单元13用于依据订单和历史数据进行商家券的业务量计算,并把计算结果送到所述精准值策略模块114,所述精准值策略模块114根据所述计算结果进行商家券在所述高速缓存2和所述数据库3的分配。

所述系统还包括降级策略单元12,所述降级策略单元12用于在所述高速缓存2不可用时,控制所述数据库3代替所述高速缓存2为商家券发放业务提供商家券。所述降级策略单元12通过商家业务量和信誉度从高到低对商家进行等级细分,根据商家等级的高低顺序,优先处理高等级商家的商家券发放业务。商家等级细分的种类和方式可以根据业务量大小采用不同的细分方式,在此不做限制。

图2是本发明分配方法流程示意图。如图2所示,商家券库存智能分配方法具体实施步骤说明如下。

在商家券创建完成后,采用动态分配策略,把商家券首次分配到高速缓存2和数据库3;首次分配商家券的动态分配策略一般采用绝对值策略或者相对值策略;

进行商家券发放时,通过所述高速缓存2提供商家券,如果所述高速缓存2的商家券库存值小于设定值a,则再次采用动态分配策略,进行商家券在所述高速缓存2和所述数据库3的分配。

其中设定值a,是根据历史经验值或者是高速缓存2的处理能力综合情况设置的,a的值不是固定不变的,而是可以根据不同的业务时期进行调整设置的。

所述动态分配策略包括以下策略的一种或几种的组合:

临界值策略,如果所述数据库3的商家券库存值大于所述设定值a,则把商家券在所述高速缓存2和所述数据库3重新进行分配;如果所述数据库3的商家券库存值小于所述设定值a,则所述数据库3的商家券全部分配到所述高速缓存2,所述数据库3的商家券库存值清零;

绝对值策略,如果所述高速缓存2的商家券库存值增加绝对值x,则所述数据库3的商家券库存值就减小绝对值x;

相对值策略,以所述高速缓存2的最大商家券库存值为基数,由所述数据库3转移至所述高速缓存2的商家券数量为所述基数的百分数y%;

精准值策略,离线计算每个商家高峰期需要商家券库存值z,则所述高速缓存2的商家券库存值增加z×加权值,所述数据库3的商家券库存值减小z×加权值。

图3是本发明动态分配策略应用示意图。如图3所示,所述动态分配策略包括临界值策略、绝对值策略、相对值策略、精准值策略,在不同的业务时期,动态分配策略单元11采用不同的策略或策略组合进行商家券在所述高速缓存2和数据库3的分配。

所述的不同的业务时期,分为业务高峰期、业务低峰期,一般是按照历史数据根据时间维度对业务量进行预测,也可以是根据实际情况由于具体事件的影响,出现的不同业务时期。例如业务活跃的时间段,把一个月的某几天划分为业务高峰期,其他几天划分为业务低峰期。也可以把一天的某几个时段划分为业务高峰期,另外的某几个时段划分为业务低峰期。但是其业务时期划分方法也不以此为限,可以根据不同情况进行调整。

优选地,在商家券发放业务低峰期,采用所述临界值策略和所述相对值策略的组合策略,进行商家券在所述高速缓存2和所述数据库3的分配;在商家券发放业务高峰期,采用所述临界值策略和所述精准值策略的组合策略,进行商家券在所述高速缓存2和所述数据库3的分配。

在此,不同的时期,根据商家券业务量,按时间纬度灵活组合的动态分配策略,也可以在访问高峰期时,将数据库写降到零,极限提高数据库3的稳定性。采用的策略可以灵活调整及组合,不以本发明实施例所叙述的应用为限。

需要说明的是,此处的相对值策略也可以用绝对值策略来代替,比较来说,相对值策略比绝对值策略更加简单,用百分比的设置去代替具体的数量,在商家众多的情况下,应用更加简单合理。

在所述高速缓存2不可用时,采用降级策略,把所述高速缓存2的商家券分配到所述数据库3,进行商家券发放业务时通过所述数据库3来提供商家券。所述降级策略应用时,通过商家业务量和信誉度从高到低对商家进行等级细分,根据商家等级的高低顺序,优先处理高等级商家的商家券发放业务。商家等级细分的种类和方式可以根据业务量大小采用不同的细分方式,在此不做限制。

在高速缓存2出现异常时,根据降级策略,要用数据库3来承受所有的优惠券领取或发放的流量,这对数据库3来说,也是严格的考验。此时,如果对商家进行分类,按照优先级逐步处理各个级别的商家的优惠券业务,就会很大程度缓解数据库3的压力,减少数据库3故障。

一种电子设备,如图6所示,图6是本发明电子设备组成示意图。

所述电子设备100包括存储器101、处理器102及存储在存储器101上并可在处理器102上运行的计算机程序,该计算机程序包含用于执行本发明流程图所述的方法的程序代码,所述处理器102执行所述计算机程序时实现如上所述本发明的方法。存储器101、处理器102通过总线与通信接口103彼此相连。

本发明还提供一种计算机可读存储介质,其上存储有处理器程序,其特征在于,该处理器程序用于执行上述所述的商家券库存智能分配方法。其中,计算机可读存储介质可以是只读存储器(rom)、随机存取存储器(ram)、光盘只读存储器(cd-rom)、磁带、软盘和光数据存储设备等。

实施例1

实施例1提供了商家券发放业务低峰期动态分配策略的实施例。如图3、图4所示,图3是本发明实施例动态分配策略应用示意图。图4是本发明实施例1分配方法流程示意图。

如图3所示,根据日期设计了动态分配策略的应用示意图。例如,其中每月的0-9日,13-15日,19-23日属于商家券发放业务的低峰期,在商家券发放业务的低峰期,动态分配策略采用了临界值策略和相对值策略的组合策略一。

所述系统包括动态分配策略单元11、高速缓存2、数据库3;所述动态分配策略单元11包括临界值策略模块111和相对值策略模块113。

商家券库存智能分配方法包括如下步骤:

如图4所示,在商家券创建完成时,所述动态分配策略单元11,按照相对值策略,把商家券库存分配到高速缓存2和数据库3。在首次分配商家券时,所述相对值策略也能被绝对值策略代替。

在所述商家券领取或发放时,所述动态分配策略单元11采用临界值策略判断,如果所述高速缓存2的商家券库存值小于设定值a,就需要采用动态分配策略进行库存分配,这时分两种情况。

一种情况是如果数据库3的商家券库存值也小于设定值a,那么所述处理器1采用临界值策略,所述数据库3的商家券库存全部分配到高速缓存2,所述数据库3的商家券库存值清零。

另一种情况是如果数据库3的商家券库存值不小于设定值a,由于此时是业务低峰期,高速缓存2和数据库3都有冗余处理能力,所以,所述动态分配策略单元11控制高速缓存2的库存增加和数据库3的库存减少,采用相对简单的相对值策略,所述相对值策略模块113提供相对值策略:以所述高速缓存2的最大商家券库存值为基数,由所述数据库3转移至所述高速缓存2的商家券数量为所述基数的百分数y%。例如高速缓存2的商家券库存最大值为基数,由所述数据库3转移至所述高速缓存2的商家券数量为所述基数的百分数y%,不需要进行复杂的数量计算或加权计算。

需要说明的是,当众多商家都采用相对值测略,但是每一个商家的设定值百分数y%可以不同,可以根据实际情况进行调整。例如a商家的商家券每次高速缓存2的库存值增加20%,b商家的商家券每次高速缓存2的库存值增加10%,而c商家的商家券每次高速缓存2的库存值增加10%。以满足各商家在具体活动中的实际需求。

此处,相对值策略也可以用绝对值策略来代替,比较来说,相对值策略比绝对值策略更加简单,用百分比的设置去代替具体的数量,在商家众多的情况下,应用更加简单合理。

本实施例没有涉及到的部分,同具体实施方式描述相同,在此不再赘述。

实施例2

实施例2提供了本发明商家券发放业务高峰期动态分配策略的实施例。如图3、图5所示,图3是本发明实施例动态分配策略应用示意图。图5是本发明实施例2分配方法流程示意图。

如图3所示,根据日期设计了动态分配策略的应用示意图。其中每月的10-12日,16-18日属于商家券发放业务的高峰期,在商家券发放业务的高峰期,动态分配策略采用了临界值策略和精准值策略的组合策略二。

所述系统包括动态分配策略单元11、高速缓存2、数据库3、离线计算单元13;所述动态分配策略单元11包括绝对值策略模块112、临界值策略模块111和精准值策略模块114。

如图5所示,在商家券创建完成时,所述动态分配策略单元11,按绝对值策略,把商家券首次分配到高速缓存2和数据库3。在首次分配商家券时,可以采用相对值策略或绝对值策略。

在所述高速缓存2进行商家券领取或发放时,所述动态分配策略单元11先采用临界值策略判断,如果所述高速缓存2的商家券库存值小于设定值a,就需要再次采用动态分配策略进行库存分配,这时分两种情况。

一种情况是如果数据库3的商家券库存值也小于设定值a,那么采用临界值策略,所述数据库3的商家券库存全部分配到高速缓存2,所述数据库3的商家券库存值清零。

另一种情况是如果数据库3的商家券库存值不小于设定值a,由于此时是业务高峰期,高速缓存2和数据库3处理量都比较大,所以,高速缓存2的库存增加和数据库3的库存减少,需要采用相对准确的精准值策略。

所述离线计算单元13离线计算商家历史活动高峰期需要的商家券库存值z,则每次所述高速缓存2的商家券库存值增加z×加权值,所述数据库3的商家券库存值减z×加权值。其中,加权值是根据商家历史活动高峰期需要的商家券z,对下期商家券库存值进行预估、调整的一个系数。

例如某商家3月发放或领取了10000张商家券,而在预估4月的商家券活动比3月更活跃,那么加权值取1.1,则该商家需要的商家券库存值为z×1.1,而每次所述高速缓存2的商家券库存值增加z×1.1。

本实施例没有涉及到的部分,同具体实施方式描述相同,在此不再赘述。

实施例3

实施例3提供本发明降级策略的实施例。如图3所示,本发明的一个实施例,根据日期设计了动态分配策略的应用示意图。

在所述高速缓存2不可用时,所述降级策略单元采用降级策略,把数据库3作为高速缓存2的降级方案,所述高速缓存2的商家券库存值分配到数据库3,所述降级策略单元控制所述数据库提供商家券。

为了避免数据库3在业务高峰期压力太大,频频报警,超过阈值,导致数据库3宕机,所述降级策略应用时,通过业务量或信誉度从高到低对商家进行细分为:vip商家、优质商家、普通商家,根据vip、优质商家、普通商家等级的优先顺序,来优先处理高等级商家的商家券发放业务,逐级保证商家券发放业务正常进行。

例如高速缓存2出现异常,不可用时,共有100家商家,但是如果100家商家的所有商家券业务都分配到数据库3进行处理,超过数据库3的处理能力,容易发生数据库3故障,那么此时,通过业务量或者信誉度从高到低进行分类,10家商家是vip商家,30家商家是优质商家,60家商家是普通商家,优先进行10家vip的商家券发放,然后再进行30家优质商家的商家券发放,再进行60家普通商家的商家券发放;也可以优先进行10家vip和30家优质商家的优惠商家券发放,再进行60家普通商家的商家券发放,逐步完成所有商家的优惠券业务。

本实施例没有涉及到的部分,同具体实施方式描述相同,在此不再赘述。

实施例4

实施例4提供本发明降级策略单元对商家进行等级细分的实施例。

在所述高速缓存2不可用时,所述降级策略单元采用降级策略,把数据库3作为高速缓存2的降级方案,所述高速缓存2的商家券库存值分配到数据库3,所述降级策略单元控制所述数据库提供商家券。

为了避免数据库3在业务高峰期压力太大,频频报警,超过阈值,导致数据库3宕机,所述降级策略应用时,通过业务量和信誉度从高到低对商家进行细分,根据商家等级的优先顺序,来优先处理高等级商家的商家券发放业务,逐级保证商家券发放业务正常进行。

所述商家等级细分主要依据商家的业务量和信誉度作为主要参考指标,例如商家业务量和信誉度评分在前10%的商家划分为vip(veryimportantperson(贵宾))商家;评分在前10%到40%的商家划分为优质商家;剩下的划分为普通商家,为了减小降级策略应用时数据库的压力,根据商家等级的高低顺序,优先处理vip商家、优质商家等高等级商家的商家券发放业务,然后再处理普通商家的商家券发放业务。

也可以另一个实施在业务量大时,通过商家业务量和信誉度的综合评价,从高到低分为五星级商家到一星级商家,根据商家等级的高低顺序,优先处理五星级商家、四星级商家等高等级商家的商家券发放业务,然后再处理其他商家的商家券发放业务。

所述商家等级细分的种类和参考指标不以此为限,可以根据实际情况灵活应用。

实施例5

实施例5提供商家券发放高峰期时,将数据库3的写访问降到零的实施例。动态分配策略可以按照时间纬度灵活组合,在本发明的一个实施例里,也可以在访问高峰期时,将数据库3写降到零,极限提高数据库3的稳定性。

例如在商家券发放高峰期,需要通过高速缓存2发放或领取的商家券是10000张,如果高速缓存2的商家券库存量设置为1000张,那么如果运用绝对值策略,每次高速缓存2增加1000张商家券,这样就要访问10次数据库3。

为了更加合理、高效的应用高速缓存2和节省数据库3的资源,在这样的高峰期,动态分配策略单元11也可以将高速缓存2的商家券库存量设置为11000张,满足高峰期时通过高速缓存2发放商家券的数量,又将数据库3写降到零,极限的提高了效率,也提高了数据库3的稳定性。

本实施例没有涉及到的部分,同具体实施方式描述相同,在此不再赘述。

需要说明的是,以上参照附图所描述的各个实施例仅用以说明本发明而非限制本发明的范围,本领域的普通技术人员应当理解,在不脱离本发明的精神和范围的前提下对本发明进行的修改或者等同替换,均应涵盖在本发明的范围之内。此外,除上下文另有所指外,以单数形式出现的词包括复数形式,反之亦然。另外,除非特别说明,那么任何实施例的全部或一部分可结合任何其它实施例的全部或一部分来使用。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1