一种活动信息匹配方法及设备的制造方法

文档序号:9471129阅读:146来源:国知局
一种活动信息匹配方法及设备的制造方法
【技术领域】
[0001]本申请涉及通信技术领域,特别涉及一种活动信息匹配方法。本申请同时还涉及一种活动信息匹配设备。
【背景技术】
[0002]分布式缓存指的是通过集群的一组服务器提供分布式信息存储的解决方案,能够通过对一致性要求不高,查询量很大的数据进行缓存提升响应时间,减少对数据库的访问压力。与分布式缓存相对应的为本地缓存,其为机器本地的一份内存空间,用于保存常用的数据信息,减少对数据库的访问压力,提升整体响应时间。
[0003]为了提高人们的购物体验,现有技术中创建了实时优惠产品系统,主要提供用户在网络收银台付款时查询可以参加的所有立减优惠活动信息的功能,每次查询时会从数据库活动信息表中获取所有线上正在运行的活动模型信息和每个活动的规则模型信息,进行规则匹配,将规则匹配通过的活动返回给网络收银台系统,展示给用户。例如:用户在购物平台购物后,到支付宝收银台付款时,有3个运行中的活动:商品商户的优惠活动(减I元),支付银行的信用卡的优惠活动(减I元)和购物平台商品类目的优惠活动(减6元)。假设用户的该次购物满足这三个活动中的两个的话,用户在网络收银台上可以同时看到2个活动:商品商户的优惠活动和支付银行的信用卡的优惠活动,用户选择支付银行的信用卡付款则可以享受减2元的优惠。
[0004]为了实现以上方案,需要建立活动模型以及规则模型,其中活动模型代表一个营销活动的数据模型,包括活动基本信息,规则信息和预算信息等;而规则模型则代表一个规则的描述信息,比如类目规则,商户规则等。随后进行规则匹配,即进行业务规则判断,如果业务数据信息和规则配置的信息一致,则匹配通过;否则匹配不通过。例如.类目规则,配置女装类目,如果用户订单信息是男装类目,则规则匹配不通过。
[0005]在上述匹配过程中,当前线上同时运行的活动可能有100-200个,每一个活动可能关联着1-10个规则(视具体的活动场景而定);因此一次查询并做规则验证的执行时间会随着活动和活动关联的规则增多而增多,其具体示意图如图1所示。举例来说,I个活动,I个规则的执行时间如果是10ms,当线上同时存在100个活动,每个活动关联5个规则的时候,I次查询的耗时可能是100*5*10 = 5000ms ;网络收银台系统给实时优惠系统的超时时间是450ms,因此所有的请求基本都是因为超时导致失败,即出现系统超时。
[0006]发明人在实现本发明的过程中发现,针对用户在购物平台的电子支付行为,现有技术中尚不存在其他可替代的活动信息匹配方案,因此如何提高活动信息的匹配效率,减少由于活动信息过多而带来的匹配过慢等问题,成为本领域技术人员亟待解决的技术问题。

【发明内容】

[0007]本申请提供了一种活动信息匹配方法,用以提升规则匹配的执行效率,减少整体的响应时间。
[0008]为达到以上技术目的,本申请一方面提供了一种活动信息匹配方法,包括:
[0009]按照预先设定的分组数量或设备的可同时执行的线程数,将当前活动均匀划分为多个子任务组;
[0010]为各所述子任务组分配执行线程,并设置计数值与所述多个子任务组的数量相一致的计数器;
[0011]对所述多个子任务并行执行活动规则匹配,并将各所述子任务的执行结果合并至指定的结果集中;
[0012]根据所述计数器判断所述多个子任务组是否均已完成所述活动规则匹配;
[0013]当确认所述多个子任务组全部完成所述活动规则匹配后,将所述结果集中的执行结果作为活动信息匹配结果。
[0014]另一方面,本申请实施例还提供了一种活动信息匹配设备,包括:
[0015]分组模块,用于按照预先设定的分组数量或设备的可同时执行的线程数,将当前活动均匀划分为多个子任务组;
[0016]分配模块,用于为各所述子任务组分配执行线程,并设置计数值与所述多个子任务组的数量相一致的计数器;
[0017]匹配模块,用于对所述多个子任务并行执行活动规则匹配,并将各所述子任务的执行结果合并至指定的结果集中;
[0018]判断模块,用于根据所述计数器判断所述多个子任务组是否均已完成所述活动规则匹配;
[0019]处理模块,用于当所述判断模块确认所述多个子任务组全部完成所述活动规则匹配后,将所述结果集中的执行结果作为活动信息匹配结果。
[0020]与现有技术相比,本申请实施例所提出的技术方案具有以下优点:
[0021]通过应用本申请实施例的技术方案,在将当前活动划分为多个子任务组后为各子任务组分配执行线程,并同时设置计数值与所述多个子任务组的数量相一致的计数器。令多个子任务并行执行活动规则匹配,并将各子任务的执行结果合并至指定的结果集中。通过对大量的业务数据进行拆分和并行执行,达到提升执行效率的目的,减少了大量的数据规则匹配整体的耗时时间。
【附图说明】
[0022]图1为现有技术中串行执行活动规则匹配及查询的序列图;
[0023]图2为本申请提出的一种活动信息匹配方法的流程示意图;
[0024]图3为本申请具体实施例所提出的活动信息匹配流程序列图;
[0025]图4为应用了本申请所提出方案后的实现效果示意图;
[0026]图5为本申请提出的一种活动信息匹配设备的结构示意图。
【具体实施方式】
[0027]如【背景技术】所述,现有技术中的活动信息匹配都是串行执行的,规则匹配的执行效率低,整体的响应时间长,从而造成用户的体验不佳。
[0028]针对上述问题,本申请实施例提出了一种活动信息匹配方法,在规则的执行引入并行执行的概念,替代原有的串行执行的方式,这样理论上执行时间是最长的执行时间+线程上下文切换时间;能够取得很大的效率提升。
[0029]如图2所示,为本申请实施例所提出的一种活动信息匹配方法的流程示意图,该方法具体包括以下步骤:
[0030]S201,按照预先设定的分组数量或设备的可同时执行的线程数,将当前活动划分为多个子任务组。
[0031]由于本申请中子任务组可以与设备的可同时执行的线程数是一致的,因此在划分分组之前可灵活根据当前的使用环境来确定以哪个为主,针对任务拆分子任务的分解策略,本申请采用了一种内部动态切换的方式来支持,现有的策略有两类:
[0032](I)基于机器的CPU个数进行配置,启动机器时代码中获取了机器CPU的核数,假设CPU为8核,则默认分解为8个子任务(每个子任务对应一个线程),按活动个数/子任务个数分配每个子任务的活动数量(每个子任务的活动数量不能小于I),此方式的优势在于因为最好的状态就是每一个子任务的线程都同时在并行的执行,所以该状态下拆分策略性能最优。
[0033](2)根据执行每一个分组的活动个数进行拆分,可以指定按10个活动拆分子任务,则拆分策略为活动总数/10得到分组的组数,不足10个的请求只拆分为一组。
[0034]具体地,在该步骤之前,首先将接收优惠咨询请求,并确定活动信息匹配环境;若所述活动信息匹配环境为活动数量稳定状态,则按照预先设定的分组数量将当前活动均匀划分为多个子任务组;若所述活动信息匹配环境为设备
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1