复杂事件处理(CEP)——事件模式,规则及约束

从大量执行中的事件里找出感兴趣的事件集合的能力是观察和控制事件驱动系统的基础。我们需要能够描述我们感兴趣事件的模式并能快速发现匹配这类模式的事件集合。

1.事件模式

事件模式是一个模板,用来匹配期望找出的特定事件的集合。它准确的描述了事件和事件之间的因果依赖,时间关系、数据参数和上下文。一些事件模式的例子如下:

a.客户C上个月的所有订单;

b.常客上个月所有的订单

第一个模式匹配来自一个特定客户C发生在一个月内的所有订单事件。要确定一个订单是否匹配该模式,必须检查订单,判断客户是不是C而且满足时间约束。这是一个内容敏感模式。

第二个模式类似于第一个模式,只是不是检查订单中的数据判断其客户是否为C,而是需要检查客户的上下文——例如,通过查询数据库以确定一个客户是不是常客。这是个上下文敏感模式,其上下文则是匹配操作发生时事件状态的一部分。

2.事件模式规则

事件模式规则是当事件模式被匹配时指定执行某一动作的反应式规则。一个事件规则定义了一种因果关系,模式匹配时触发的事件触发规则执行动作产生的事件。

一个反应式规则由两部分组成:

1)触发器:一个事件模式。

2)动作:当触发器被匹配时所产生的事件。

因果含义是指只要一个事件模式被一个事件偏序集所触发,那么被产生的事件就是由触发该模式的事件集合所引起的。这个事件集合就是新事件的因果祖先。

3.事件约束

一个约束表示系统中被观察到的事件的一个必须满足的情况。约束不仅可以用来指定目标系统的行为,而且可以用来指定其用户怎样使用它。

本质上,一个约束检查其模式的事件从不发生于系统中。它是一个看门狗。这些约束不强制行为发生或者保证行为不发生,它们只是简单的检查行为。

猜你喜欢

转载自blog.csdn.net/qq_28044241/article/details/79840913