会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 复杂事件处理 / 复杂事件处理方法、装置及存储介质

复杂事件处理方法、装置及存储介质

申请号 CN202210672152.0 申请日 2022-06-14 公开(公告)号 CN115145744A 公开(公告)日 2022-10-04
申请人 厦门稿定股份有限公司; 稿定(厦门)科技有限公司; 发明人 赖春江; 欧阳贤;
摘要 本公开的实施例提供一种复杂事件处理方法、装置及存储介质,属于计算机技术领域。所述方法包括:订阅与预设运营计划中的事件定义对应的用户事件;根据用户标识以及所述预设运营计划中的事件条件,预处理所述用户事件;将预处理后的所述用户事件与所述预设运营计划中的匹配规则进行匹配,并输出匹配成功的所述用户事件对应的用户标识以及所述预设运营计划。本公开实施例适用于运营计划的实现过程。
权利要求

1.一种复杂事件处理方法,其特征在于,所述方法包括:订阅与预设运营计划中的事件定义对应的用户事件;

根据用户标识以及所述预设运营计划中的事件条件,预处理所述用户事件;

将预处理后的所述用户事件与所述预设运营计划中的匹配规则进行匹配,并输出匹配成功的所述用户事件对应的用户标识以及所述预设运营计划。

2.根据权利要求1所述的复杂事件处理方法,其特征在于,所述根据用户标识以及所述预设运营计划中的事件条件,预处理所述用户事件包括:提取所述用户事件中的用户标识;

将具有相同所述用户标识的所述用户事件归为同一组用户事件;

在分组后的所述用户事件中,过滤不满足所述预设运营计划中的事件条件的用户事件。

3.根据权利要求1所述的复杂事件处理方法,其特征在于,当所述匹配规则为无时间窗口限制的事件匹配规则时,所述将预处理后的所述用户事件与所述预设运营计划中的匹配规则进行匹配包括:将预处理后的所述用户事件与所述无时间窗口限制的事件匹配规则中的设定事件进行匹配;

当预处理后的所述用户事件与所述设定事件匹配时,将预处理后的所述用户事件进行计数累加,并判断是否达到所述无时间窗口限制的事件匹配规则中的所述设定事件的发生次数;

若达到所述设定事件的发生次数,确定匹配成功。

4.根据权利要求1所述的复杂事件处理方法,其特征在于,当所述匹配规则为自然时间窗口限制的事件匹配规则时,所述将预处理后的所述用户事件与所述预设运营计划中的匹配规则进行匹配包括:将预处理后的所述用户事件与所述自然时间窗口限制的事件匹配规则中的预设事件进行匹配;

当预处理后的所述用户事件与所述预设事件匹配时,将预处理后的所述用户事件进行计数累加,并判断在当前时间是否达到所述自然时间窗口限制的事件匹配规则中所述预设事件的发生次数;

若在所述当前时间达到所述预设事件的发生次数,确定匹配成功。

5.根据权利要求1所述的复杂事件处理方法,其特征在于,当所述匹配规则为非自然时间窗口限制的事件匹配规则时,所述将预处理后的所述用户事件与所述预设运营计划中的匹配规则进行匹配包括:将预处理后的所述用户事件与所述非自然时间窗口限制的事件匹配规则中的指定事件进行匹配;

当预处理后的所述用户事件与所述指定事件匹配时,判断所述用户事件是否为所述指定事件中的起始事件;

当所述用户事件为所述起始事件时,启动指定时间窗口,并将预处理后的所述用户事件进行计数累加;

当所述指定时间窗口到达所述非自然时间窗口限制的事件匹配规则中的结束时间时,判断是否达到所述非自然时间窗口限制的事件匹配规则中所述指定事件的发生次数;

若达到所述指定事件的发生次数,确定匹配成功。

6.根据权利要求1所述的复杂事件处理方法,其特征在于,在所述输出匹配成功的所述用户事件对应的用户标识以及所述预设运营计划之后,所述方法还包括:将所述预设运营计划对应的触达信息发送至所述用户事件对应的用户。

7.一种复杂事件处理装置,其特征在于,所述装置包括:订阅模块,用于订阅与预设运营计划中的事件定义对应的用户事件;

预处理模块,用于根据用户标识以及所述预设运营计划中的事件条件,预处理所述用户事件;

匹配模块,用于将预处理后的所述用户事件与所述预设运营计划中的匹配规则进行匹配,并输出匹配成功的所述用户事件对应的用户标识以及所述预设运营计划。

8.根据权利要求7所述的复杂事件处理装置,其特征在于,当所述匹配规则为自然时间窗口限制的事件匹配规则时,所述匹配模块还用于:将预处理后的所述用户事件与所述自然时间窗口限制的事件匹配规则中的预设事件进行匹配;

当预处理后的所述用户事件与所述预设事件匹配时,将预处理后的所述用户事件进行计数累加,并判断在当前时间是否达到所述自然时间窗口限制的事件匹配规则中所述预设事件的发生次数;

若在所述当前时间达到所述预设事件的发生次数,确定匹配成功。

9.根据权利要求7所述的复杂事件处理装置,其特征在于,当所述匹配规则为非自然时间窗口限制的事件匹配规则时,所述匹配模块还用于:将预处理后的所述用户事件与所述非自然时间窗口限制的事件匹配规则中的指定事件进行匹配;

当预处理后的所述用户事件与所述指定事件匹配时,判断所述用户事件是否为所述指定事件中的起始事件;

当所述用户事件为所述起始事件时,启动指定时间窗口,并将预处理后的所述用户事件进行计数累加;

当所述指定时间窗口到达所述非自然时间窗口限制的事件匹配规则中的结束时间时,判断是否达到所述非自然时间窗口限制的事件匹配规则中所述指定事件的发生次数;

若达到所述指定事件的发生次数,确定匹配成功。

10.一种机器可读存储介质,其特征在于,该机器可读存储介质上存储有指令,该指令用于使得机器执行权利要求1‑6中任意一项所述的复杂事件处理方法。

说明书全文

复杂事件处理方法、装置及存储介质

技术领域

[0001] 本公开的实施例涉及计算机技术领域,具体地涉及一种复杂事件处理方法、装置及存储介质。

背景技术

[0002] 目前的互联网运营是通过大数据技术对用户进行精准营销。通过对用户的实时行为进行分析,快速地反应并投放和用户使用场景相关的营销内容,以便达到精准营销的效果。目前对于运营过程中的用户事件匹配,一般采用CEP(Complex Event Processing,复杂事件处理)解决方案,但是CEP存在以下问题:CEP引擎不支持无序事件序列的匹配;CEP引擎不支持超时事件作为时间匹配链结束节点;CEP引擎不支持滚动时间窗口的事件序列匹配。

发明内容

[0003] 本公开的实施例的目的是提供一种复杂事件处理方法、装置及存储介质,实现了对于无序事件、超时事件以及非自然时间窗口限制事件的匹配,以便达到更加精准的营销。
[0004] 为了实现上述目的,本公开实施例的第一方面提供一种复杂事件处理方法,所述方法包括:订阅与预设运营计划中的事件定义对应的用户事件;根据用户标识以及所述预设运营计划中的事件条件,预处理所述用户事件;将预处理后的所述用户事件与所述预设运营计划中的匹配规则进行匹配,并输出匹配成功的所述用户事件对应的用户标识以及所述预设运营计划。
[0005] 进一步地,所述根据用户标识以及所述预设运营计划中的事件条件,预处理所述用户事件包括:提取所述用户事件中的用户标识;将具有相同所述用户标识的所述用户事件归为同一组用户事件;在分组后的所述用户事件中,过滤不满足所述预设运营计划中的事件条件的用户事件。
[0006] 进一步地,当所述匹配规则为无时间窗口限制的事件匹配规则时,所述将预处理后的所述用户事件与所述预设运营计划中的匹配规则进行匹配包括:将预处理后的所述用户事件与所述无时间窗口限制的事件匹配规则中的设定事件进行匹配;当预处理后的所述用户事件与所述设定事件匹配时,将预处理后的所述用户事件进行计数累加,并判断是否达到所述无时间窗口限制的事件匹配规则中的所述设定事件的发生次数;若达到所述设定事件的发生次数,确定匹配成功。
[0007] 进一步地,当所述匹配规则为自然时间窗口限制的事件匹配规则时,所述将预处理后的所述用户事件与所述预设运营计划中的匹配规则进行匹配包括:将预处理后的所述用户事件与所述自然时间窗口限制的事件匹配规则中的预设事件进行匹配;当预处理后的所述用户事件与所述预设事件匹配时,将预处理后的所述用户事件进行计数累加,并判断在当前时间是否达到所述自然时间窗口限制的事件匹配规则中所述预设事件的发生次数;若在所述当前时间达到所述预设事件的发生次数,确定匹配成功。
[0008] 进一步地,当所述匹配规则为非自然时间窗口限制的事件匹配规则时,所述将预处理后的所述用户事件与所述预设运营计划中的匹配规则进行匹配包括:将预处理后的所述用户事件与所述非自然时间窗口限制的事件匹配规则中的指定事件进行匹配;当预处理后的所述用户事件与所述指定事件匹配时,判断所述用户事件是否为所述指定事件中的起始事件;当所述用户事件为所述起始事件时,启动指定时间窗口,并将预处理后的所述用户事件进行计数累加;当所述指定时间窗口到达所述非自然时间窗口限制的事件匹配规则中的结束时间时,判断是否达到所述非自然时间窗口限制的事件匹配规则中所述指定事件的发生次数;若达到所述指定事件的发生次数,确定匹配成功。
[0009] 进一步地,在所述输出匹配成功的所述用户事件对应的用户标识以及所述预设运营计划之后,所述方法还包括:将所述预设运营计划对应的触达信息发送至所述用户事件对应的用户。
[0010] 相应地,本公开实施例的第二方面提供一种复杂事件处理装置,所述装置包括:订阅模块,用于订阅与预设运营计划中的事件定义对应的用户事件;预处理模块,用于根据用户标识以及所述预设运营计划中的事件条件,预处理所述用户事件;匹配模块,用于将预处理后的所述用户事件与所述预设运营计划中的匹配规则进行匹配,并输出匹配成功的所述用户事件对应的用户标识以及所述预设运营计划。
[0011] 进一步地,所述预处理模块还用于:提取所述用户事件中的用户标识;将具有相同所述用户标识的所述用户事件归为同一组用户事件;在分组后的所述用户事件中,过滤不满足所述预设运营计划中的事件条件的用户事件。
[0012] 进一步地,当所述匹配规则为无时间窗口限制的事件匹配规则时,所述匹配模块还用于:将预处理后的所述用户事件与所述无时间窗口限制的事件匹配规则中的设定事件进行匹配;当预处理后的所述用户事件与所述设定事件匹配时,将预处理后的所述用户事件进行计数累加,并判断是否达到所述无时间窗口限制的事件匹配规则中的所述设定事件的发生次数;若达到所述设定事件的发生次数,确定匹配成功。
[0013] 进一步地,当所述匹配规则为自然时间窗口限制的事件匹配规则时,所述匹配模块还用于:将预处理后的所述用户事件与所述自然时间窗口限制的事件匹配规则中的预设事件进行匹配;当预处理后的所述用户事件与所述预设事件匹配时,将预处理后的所述用户事件进行计数累加,并判断在当前时间是否达到所述自然时间窗口限制的事件匹配规则中所述预设事件的发生次数;若在所述当前时间达到所述预设事件的发生次数,确定匹配成功。
[0014] 进一步地,当所述匹配规则为非自然时间窗口限制的事件匹配规则时,所述匹配模块还用于:将预处理后的所述用户事件与所述非自然时间窗口限制的事件匹配规则中的指定事件进行匹配;当预处理后的所述用户事件与所述指定事件匹配时,判断所述用户事件是否为所述指定事件中的起始事件;当所述用户事件为所述起始事件时,启动指定时间窗口,并将预处理后的所述用户事件进行计数累加;当所述指定时间窗口到达所述非自然时间窗口限制的事件匹配规则中的结束时间时,判断是否达到所述非自然时间窗口限制的事件匹配规则中所述指定事件的发生次数;若达到所述指定事件的发生次数,确定匹配成功。
[0015] 进一步地,所述装置还包括:传输模块,用于将所述预设运营计划对应的触达信息发送至所述用户事件对应的用户。
[0016] 通过上述技术方案,订阅与预设运营计划中的事件定义对应的用户事件,并根据用户标识以及所述预设运营计划中的事件条件,预处理所述用户事件,之后,将预处理后的所述用户事件与所述预设运营计划中的匹配规则进行匹配,并输出匹配成功的所述用户事件对应的用户标识以及所述预设运营计划。本公开实施例实现了对于无序事件、超时事件以及非自然时间窗口限制事件的匹配,以便达到更加精准的营销。
[0017] 本公开的实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

[0018] 附图是用来提供对本公开的实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开的实施例,但并不构成对本公开的实施例的限制。在附图中:
[0019] 图1是本公开实施例提供的一种复杂事件处理方法的流程示意图;
[0020] 图2是本公开实施例提供的一种复杂事件处理装置的结构示意图。

具体实施方式

[0021] 为了使本公开的实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本公开的实施例的技术方案进行清楚、完整的描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域技术人员在无需创造性劳动的前提下所获得的所有其它实施例,也都属于本公开保护的范围。
[0022] 除非另外定义,否则在此使用的所有术语(包括技术和科学术语)具有与本公开主题所属领域的技术人员所通常理解的相同含义。进一步将理解的是,诸如在通常使用的词典中定义的那些的术语应解释为具有与说明书上下文和相关技术中它们的含义一致的含义,并且将不以理想化或过于正式的形式来解释,除非在此另外明确定义。
[0023] 对本公开实施例进行进一步详细描述之前,对本公开实施例中涉及的术语进行说明。
[0024] 自然时间窗口:指时间窗口的开始时间与用户事件无关,按照一个特定的规则计算出时间窗口的开始与结束时间。例如每天0点开始,每1个小时作为一个自然时间窗口。
[0025] 非自然时间窗口:指根据用户事件动态开启的时间窗口。例如,当订阅到“发起订单”的用户事件后的15分钟内,该“15分钟”就属于非自然时间窗口。
[0026] 预设运营计划:是指预先设定好的运营的匹配规则和触达信息。例如,订阅到5分钟内访问某商品页面达到3次的用户事件,则向该用户下发满100减10优惠券。其中“5分钟内访问某商品页面达到3次”为匹配规则,“下发满100减10优惠券”为触达信息。
[0027] 本公开实施例采用Flink实时数据计算引擎框架,利用Flink作为规则引擎处理用户事件。另外,在预设运营计划与规则引擎之间通过DSL(Dynamic Script Language,动态脚本语言)格式进行动态打通。其中,在创建预设运营计划时,其中的匹配规则采用DSL格式进行保存。在执行预设运营计划时,将DSL格式的匹配规则作为启动参数传入规则引擎,规则引擎通过DSL格式的数据初始化匹配模式并进行用户事件的实时匹配。
[0028] 其中,对于DSL格式所包括的数据,可包含下述信息:
[0029] 时间窗口信息:包含时间窗口类型、时间窗口值和时间单位等信息。其中,时间窗口类型包括自然时间窗口、非自然时间窗口以及无时间窗口;
[0030] 回调信息:包含匹配用户事件成功之后的回调接口和参数。其中参数可包括用户事件对应的用户标识以及匹配成功的预设运营计划;
[0031] 匹配事件集合:包含完成事件集合A和未完成事件集合B,事件集合中的每个事件包含了事件定义、事件条件、事件匹配目标等信息。例如,用户访问会员购买页面达到3次,其中事件定义为“访问页面事件”,事件条件为“页面路径为会员购买页面”,事件匹配目标为“事件匹配次数等于3”。
[0032] 在本公开实施例中,通过DSL格式的定义,规则引擎只需要解析DSL格式数据,无需关心上游系统的状态和行为,从而达到预设运营计划和规则引擎的解耦。下面将描述本公开实施例中对于复杂事件的处理过程。
[0033] 图1是本公开实施例提供的一种复杂事件处理方法的流程示意图。如图1所示,所述方法包括如下步骤:
[0034] 步骤101,订阅与预设运营计划中的事件定义对应的用户事件。
[0035] 其中,在规则引擎工作之前,可根据DSL格式数据初始化规则引擎中的规则解析器,包括:DSL格式数据的参数解码、DSL格式数据的参数合法性判断、初始化事件匹配模式、时间窗口类型、事件集合等参数,主要是规则引擎启动的一些前置准备逻辑。
[0036] 其中,根据匹配事件集合中的完成事件集合A和未完成事件集合B所包含的事件定义,例如,访问页面事件。
[0037] 步骤102,根据用户标识以及所述预设运营计划中的事件条件,预处理所述用户事件。
[0038] 其中,每个用户事件中均携带有用户标识,提取所述用户事件中的用户标识,将具有相同所述用户标识的所述用户事件归为同一组用户事件,以确保后续事件匹配过程中,所匹配的用户事件为同一用户所产生的。
[0039] 另外,在分组后的所述用户事件中,由于仅是针对事件定义订阅了对应的用户事件,但是并不是所有与事件定义对应的用户事件均满足要求,因此,需要过滤不满足所述预设运营计划中的事件条件的用户事件。由于规则解析器解析了每种用户事件的具体条件,例如:访问页面事件的页面路径值、订单事件的订单类型、订单状态等条件。只有符合上述事件条件的用户事件才会进入规则引擎的下一步处理。
[0040] 步骤103,将预处理后的所述用户事件与所述预设运营计划中的匹配规则进行匹配,并输出匹配成功的所述用户事件对应的用户标识以及所述预设运营计划。
[0041] 其中,在本公开实施例中,所述匹配规则包括无时间窗口限制的事件匹配规则、自然时间窗口限制的事件匹配规则以及非自然时间窗口限制的事件匹配规则。下面将逐一进行描述。
[0042] 当所述匹配规则为无时间窗口限制的事件匹配规则时,将预处理后的所述用户事件与所述无时间窗口限制的事件匹配规则中的设定事件进行匹配,当预处理后的所述用户事件与所述设定事件匹配时,将预处理后的所述用户事件进行计数累加,并判断是否达到所述无时间窗口限制的事件匹配规则中的所述设定事件的发生次数,若达到所述设定事件的发生次数,确定匹配成功。例如,以匹配事件集合中的完成事件集合A中的“访问M商品2次”为例,若是所述用户事件为“访问M商品”,且发生次数已经达到2次,那么说明该用户事件与所述预设运营计划中的匹配规则匹配成功。若是所述用户事件与所述设定事件未匹配成功,则继续匹配其他事件。若是还未达到所述设定事件的发生次数,则继续等待下一个设定事件。
[0043] 当所述匹配规则为自然时间窗口限制的事件匹配规则时,将预处理后的所述用户事件与所述自然时间窗口限制的事件匹配规则中的预设事件进行匹配,当预处理后的所述用户事件与所述预设事件匹配时,将预处理后的所述用户事件进行计数累加,并判断在当前时间是否达到所述自然时间窗口限制的事件匹配规则中所述预设事件的发生次数,若在所述当前时间达到所述预设事件的发生次数,确定匹配成功。在该实施方式中,所述预设事件包括两种事件,一种是“完成事件集合A”中的第一事件,另一种是“未完成事件集合B”中的第二事件。这两种事件在所述自然时间窗口限制的事件匹配规则中存在两种组合形式,一种形式是“完成事件集合A”中的第一事件,另一种形式是“完成事件集合A”中的第一事件组合“未完成事件集合B”中的第二事件。
[0044] 对于第一种形式,以第一事件为“访问会员购买页面次数达到3次”以及自然时间窗口为从每天0点开始的每一个小时为例。当所述用户事件与“访问会员购买页面”匹配时,将所述用户事件进行计数累加,并判断在当前时间“访问会员购买页面”是否达到3次,若是达到3次,则确定匹配成功。若是未达到3次,则继续等待下一个用户事件。
[0045] 对于第二种形式,以第一事件为“访问M商品3次”、第二事件为“下单购买M商品”以及自然时间窗口为从每天0点开始的每一个小时为例。当所述用户事件与“访问会员购买页面”匹配时,将所述用户事件进行计数累加,并判断在当前时间“访问会员购买页面”是否达到3次且“购买M商品”的累计次数等于0,若是满足,则确定匹配成功。若是未达到3次,则继续等待下一个用户事件。或者,当所述用户事件与“下单购买M商品”匹配时,将所述用户事件进行计数累加,并判断在当前时间“访问会员购买页面”是否达到3次且“购买M商品”的累计次数等于0,可见在该示例中,“购买M商品”的累计次数不等于0,则确定匹配不成功。
[0046] 当所述匹配规则为非自然时间窗口限制的事件匹配规则时,将预处理后的所述用户事件与所述非自然时间窗口限制的事件匹配规则中的指定事件进行匹配。当预处理后的所述用户事件与所述指定事件匹配时,判断所述用户事件是否为所述指定事件中的起始事件。当所述用户事件为所述起始事件时,启动指定时间窗口,并将预处理后的所述用户事件进行计数累加。当所述指定时间窗口到达所述非自然时间窗口限制的事件匹配规则中的结束时间时,判断是否达到所述非自然时间窗口限制的事件匹配规则中所述指定事件的发生次数,若达到所述指定事件的发生次数,确定匹配成功。
[0047] 同样的,在该实施方式中,所述指定事件也包括两种事件,一种是“完成事件集合A”中的第一事件,另一种是“未完成事件集合B”中的第二事件。这两种事件在所述非自然时间窗口限制的事件匹配规则中存在两种组合形式,一种形式是“完成事件集合A”中的第一事件,另一种形式是“完成事件集合A”中的第一事件组合“未完成事件集合B”中的第二事件。另外,所述起始事件为“完成事件集合A”中的第一事件。下面分别以两个示例对上述两种形式进行说明。
[0048] 针对第一种形式,以第一事件为“访问会员购买页面次数达到3次”以及指定时间窗口为15分钟为例。当所述用户事件与“访问会员购买页面”匹配时,判断所述用户事件是否为起始事件,即是否为第一次“访问会员购买页面”,若是,则启动指定时间窗口,即15分钟计时开始,同时将所述用户事件进行计数累加。当15分钟结束时,判断“访问会员购买页面”是否达到3次,若达到,则确定匹配成功。若未达到,则继续等待下一个用户事件。
[0049] 针对第二种形式,以第一事件为“访问会员购买页面次数达到3次”、第二事件为“下单购买商品”以及指定时间窗口为15分钟为例。当所述用户事件与“访问会员购买页面”匹配时,判断所述用户事件是否为起始事件,即是否为第一次“访问会员购买页面”,若是,则启动指定时间窗口,即15分钟计时开始,同时将所述用户事件进行计数累加。当15分钟结束时,判断“访问会员购买页面”是否达到3次且“下单购买商品”次数为0次。若是满足,则确定匹配成功。当所述用户事件不是起始事件,则直接将所述用户事件进行计数累加,并在15分钟结束时,判断“访问会员购买页面”是否达到3次且“下单购买商品”次数为0次。
[0050] 对于上述匹配成功的所述用户事件,输出对应的用户标识以及所述预设运营计划。另外,可调用预设的回调接口,以便向所述用户事件对应的用户发送触达信息。
[0051] 在本公开实施例中的一种实施方式中,在所述输出匹配成功的所述用户事件对应的用户标识以及所述预设运营计划之后,将所述预设运营计划对应的触达信息发送至所述用户事件对应的用户。例如,当所述用户事件满足“5分钟内访问某商品页面达到3次”,则将对应的触达信息“下发满100减10优惠券”发送至所述用户事件对应的用户。
[0052] 另外,对于本公开实施例中的用户事件在进行匹配时,可能一个用户事件可参与多个预设运营计划中的匹配规则的匹配,实际应用时可根据预设运营计划的匹配规则的具体设计而定,在本公开中不做限定。
[0053] 通过上述实施例,实现了从用户事件收集、用户事件匹配到运营触达的完整数据流程解决方案,通过DSL格式数据实现运营计划灵活、动态的转换为计算引擎,提供了自然时间、非自然时间、完成事件、未完成事件等多种时间、事件组合模式的事件序列匹配能力。
[0054] 相应地,图2是本公开实施例提供的一种复杂事件处理装置的结构示意图。如图2所示,所述装置20包括:订阅模块21,用于订阅与预设运营计划中的事件定义对应的用户事件;预处理模块22,用于根据用户标识以及所述预设运营计划中的事件条件,预处理所述用户事件;匹配模块23,用于将预处理后的所述用户事件与所述预设运营计划中的匹配规则进行匹配,并输出匹配成功的所述用户事件对应的用户标识以及所述预设运营计划。
[0055] 进一步地,所述预处理模块还用于:
[0056] 提取所述用户事件中的用户标识;
[0057] 将具有相同所述用户标识的所述用户事件归为同一组用户事件;
[0058] 在分组后的所述用户事件中,过滤不满足所述预设运营计划中的事件条件的用户事件。
[0059] 进一步地,当所述匹配规则为无时间窗口限制的事件匹配规则时,所述匹配模块还用于:
[0060] 将预处理后的所述用户事件与所述无时间窗口限制的事件匹配规则中的设定事件进行匹配;
[0061] 当预处理后的所述用户事件与所述设定事件匹配时,将预处理后的所述用户事件进行计数累加,并判断是否达到所述无时间窗口限制的事件匹配规则中的所述设定事件的发生次数;
[0062] 若达到所述设定事件的发生次数,确定匹配成功。
[0063] 进一步地,当所述匹配规则为自然时间窗口限制的事件匹配规则时,所述匹配模块还用于:
[0064] 将预处理后的所述用户事件与所述自然时间窗口限制的事件匹配规则中的预设事件进行匹配;
[0065] 当预处理后的所述用户事件与所述预设事件匹配时,将预处理后的所述用户事件进行计数累加,并判断在当前时间是否达到所述自然时间窗口限制的事件匹配规则中所述预设事件的发生次数;
[0066] 若在所述当前时间达到所述预设事件的发生次数,确定匹配成功。
[0067] 进一步地,当所述匹配规则为非自然时间窗口限制的事件匹配规则时,所述匹配模块还用于:
[0068] 将预处理后的所述用户事件与所述非自然时间窗口限制的事件匹配规则中的指定事件进行匹配;
[0069] 当预处理后的所述用户事件与所述指定事件匹配时,判断所述用户事件是否为所述指定事件中的起始事件;
[0070] 当所述用户事件为所述起始事件时,启动指定时间窗口,并将预处理后的所述用户事件进行计数累加;
[0071] 当所述指定时间窗口到达所述非自然时间窗口限制的事件匹配规则中的结束时间时,判断是否达到所述非自然时间窗口限制的事件匹配规则中所述指定事件的发生次数;
[0072] 若达到所述指定事件的发生次数,确定匹配成功。
[0073] 进一步地,所述装置还包括:传输模块24,用于将所述预设运营计划对应的触达信息发送至所述用户事件对应的用户。
[0074] 本公开实施例提供的复杂事件处理装置的具体工作原理及益处与本公开实施例提供的复杂事件处理方法的具体工作原理及益处相似,这里将不再赘述。
[0075] 此外,本公开实施例的另一方面还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行上述实施例所述的复杂事件处理方法。
[0076] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0077] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0078] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0079] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0080] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0081] 存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
[0082] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD‑ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0083] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0084] 以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。