复杂事件,社会学专有名词。
基本概念
复杂事件处理(Complex Event Processing,CEP)
事件
从字面上理解事件可以认为是发生的一件事情,包括事物状态和事物之间的某些动作。在信息系统中,事件可以是一些事物对象的状态属性,也可以是事物之间动作的记录。 对于动作的完整描述可以用状态机模型描述,即对初始状态的事物做某些动作,事物由初始状态迁移到动作后的新状态。在事物动作过程中,可以构造三个事件信息,事物初始状态事件,作用于事物的动作的事件,事物结果状态事件。
图1为事物态机模型示意图
事件的关系
事件的关系主要有5种:
1.时间顺序关系
动作事件和动作事件之间,动作事件和状态变化事件之间,都存在时间顺序。
2.聚合关系
动作事件和动作事件之间,状态事件和状态事件之间都存在聚合关系。即个体的聚合形成整体集合。
3.层次关系
动作事件和动作事件之间,状态事件和状态事件之间都存在层次关系,即父类事件和子类事件的层次关系,从父类到子类是具体化,从子类到父类是泛化。
4. 依赖关系
事物的状态属性之间彼此的依赖关系和约束关系。
5.因果关系
对于完整的动作过程,结果状态为果,初始状态和动作都可以视为原因。类比哲学上论述事物如何发展也是有两个因素的,一是内部本质,二是外部作用.
事件的处理
在应用系统里,事件处理实现的功能有几类模式。
推断
主要利用事物状态之间的约束关系,从一部分状态属性值可以推断出另一部分的状态属性值。例如当三角形1个角为90度,另一个角为45度,则推断出第三个角为45度。
查因
当出现结果状态,并且知道初始状态,可以查明某个动作是原因,同样当出现结果状态,并且知道之前发生了什么动作,可以查明初始状态是原因。当然反向的推断要求原因对结果来说必须是必要条件。
决策
想得到某个结果状态,知道初始状态,决定采用什么动作。 预测 知道初始状态,以及将要做的动作,预测结果状态
处理的功能
事件更适合包含用于监控的内容,复杂事件处理的功能更适合做企业应用系统的监测和决策控制。一般来说,数据流中的业务数据是企业应用需要做处理的数据,这些处理包括获取更新,传输转换,存储,计算,展现等等。业务数据代表现实世界中的事物及其状态,对这些数据的处理代表对这些事物的处理。 通常这些处理都是用过程式语言描述的,由企业应用开发者在设计时编排确定。而事件包括事物状态和事物之间的某些动作,即数据流中的数据和流程中对这些数据做了哪些操作,通过事件可以及时了解事物的状态和对事物的所做的操作。 获取这些事件后,可以按上篇中提到的事件处理模式来处理事件:
(1) 对事物的状态进行推断或者判断,得到一些结论。这属于监测的范畴。
(2) 当出现一些结果时,反向推断出导致这些结果的原因。反向推断要求原因对结果来反向推断,要求原因对结果来说必须是必要条件。这也属于监测的范畴。
(3) 基于当前事物的状态,根据需要的结果,决定采取接下来采用什么动作。这属于决策范畴。
(4) 根据当前事物的状态和对事物的动作,预测事物将来的状态。这个有点模糊,我把它依然归为监测范畴。 事件处理得到的结论,原因,动作决策,预测状态,又会反作用于处理数据的流程,控制流程的分支选择。事件处理和普通数据处理的关系如图3所示。