复杂事件模式检测策略小结

文中大部分中心思想来源于Event Processing In Action一书的9.4节。

模式识别器的基本策略是:所有时间窗内的事件被称为候选事件(Participant Events),再由候选事件根据规则产生匹配集(Matching Set)

 

1. 计算策略 Evaluation Policy

即何时产生匹配集。主要有两种:

· 立即 Immediate  每个事件到来时都试图去产生匹配集。大多数情况下,都需要使用这种策略,以即时判断复杂事件的产生。

· 搁置 Deferred 在时间窗关闭时产生匹配集。当规则涉及时间限制,或者需要对指定时间内的事件做统计时往往需要使用此种策略。例如 5分钟不发生错误 一个月内的平均值小于30 这样的规则。使用这种策略时,往往需要用户显式地指定时间窗,即指定间隔多久判断事件是否发生。

 

2. 势策略 Cardinality Policy

名字太玄乎,其实就是用于控制在一段时间内可产生的匹配集个数。

· 单个 Single 仅产生一个匹配集。在产生一个匹配集后,时间窗关闭前,不会再产生其他匹配集。

· 不限 Unbounded 可以不限量地产生匹配集。

· 有限 Bounded 仅可以产生指定个数的匹配集。

 

3. 事件选择策略 Repeated Type Policy

在产生匹配集时,往往有多个同类事件候选,这是决定选取哪个事件的策略。

· 覆盖 Override 同类型的新事件到来时,会把旧事件踢出候选集,占山为王。

· 全部 Every 所有的事件都被用来产生匹配集。这样就会一次产生许多匹配集。显然,在势策略为Single时,该选项不可用。

· 首个 First / 末个 Last 只选取第一个/最后一个事件。

· 由属性值决定 With max/min value <attribute_name>

 

4. 消费策略 Consumption Policy

此策略决定在产生匹配集后,匹配集的成员是否需要从候选集中被删除。亦即决定了一个事件可否属于多个匹配集。

如果势策略为Single,消费策略无意义。

· 消费 Consume 就是产生匹配集后,其成员从候选集中消失。

· 重用 Reuse 不消失

· 有限重用 Bounded Reuse 顾名思义,一个事件只能属于有限个匹配集。 

 

5. 顺序策略 Order Policy

事件处理中一个很重要的基础,就是事件必须是有序的。此策略决定事件按何排序。可用的选项包括产生时间、到达时间、指定的属性值等。

posted @ 2011-03-03 22:57  Midnightcat  阅读(207)  评论(0编辑  收藏  举报