复杂事件处理(Complex Event Processing,CEP)是一种新兴的基于事件流的技术,它将系统数据看作不同类型的事件,通过分析事件间的关系,建立不同的事件关系序列库,利用过滤、关联、聚合等技术,最终由简单事件产生高级事件或商业流程。CEP适合的场景包括实时风险管理、实时交易分析、网络诈欺、网络攻击、市场趋势分析等等。

想要利用CEP技术解决遇到的问题,首先需要知道什么是事件,什么是复杂事件,如何构建复杂事件,事件之间的关系是什么,下面将对什么是事件,以及事件之间的时间与因果关系进行介绍。

1.什么是事件

在日常生活中,一个“事件”表示事情的发生,在CEP中,“事件”是一个指向计算机处理的对象,它标志或者记录某个发生的活动。简言之,事件是系统中某一活动记录 的对象。事件标志着活动,一个事件可能和其他事件间存在关联。

一个事件包含了三个方面。

形式:事件的形式是一个对象,它由特定属性和数据组成。一个形式可以是简单的一个字符串或者更经常是一个多种数据组成的逻辑元组。一个事件的数据组成可以包含对该事件意义和关系的描述,比如活动的时间、地点、执行人员等。

意义:一个事件标志着一项活动,把这个活动称之为事件的意义。一个事件的形式中,经常包含描述该事件所标志的活动的数据。

相对性:一个活动可以通过时间、因果关系和集合与其他事件关联。事件和其他事件之间和他们所指的活动一样,也存在着联系,一个事件和其他事件之间的关系合起来称为事件的相对性。一个事件的形式中经常包含事件关系的编码,也就是包含了可以被调用的函数,用以重构该事件与其他事件的关系集合。

如以下事件:

Class InputEvent{
Name NewOrder;
Event_Id E_Id;
Customer Id;
OrderNo O_Id;
Order (CD x,Book.....);
Timer T;
Causality (Id1,Id2,...);
}

每一个事件都有一个唯一的标示域,即Event_Id。时间域是时间戳或者大多数情况下是时间间隔,当活动发生时通过读取系统时钟获取。因果关系属性提供了跟踪事件因果历史的方法。这个例子中,我们认为是直接导致本事件发生的其他事件Id的链表。当引起本事件的其他事件不知道的时候,这个链表可以为空。在本例中,Name域描述了本事件指向的活动。结合其他的数据域,如时间域可以确定实际的活动。其他的数据元素是消息中的数据。

2.时序、因果和聚合

事件之间有事件、因果和聚合三个最普遍最基础最重要的关系。

1)时间:时间是事件之间的顺序关系。例如事件A发生在事件B之前。事件之间的关系依赖于时钟。一般来说,当一个事件的活动发生时,这个事件就会产生并且从时钟读取信息作为该事件的时间戳。

2)因果:如果A事件所指向的活动发生之后B事件发生,那么A导致了B。这里定义的因果关系是系统中活动的依赖关系。如果一个活动发生仅以别的其它活动发生为条件,该活动便依赖于这些活动。在这个意义上,我们说如果活动B依赖活动A,那么A导致了B,相反,如果A和B互不影响,那么A和B是独立的。

3)聚合:如果事件A指向的活动包含了一系列事件B1,B2,B3,...的活动,那么A就是所有事件Bi的一个聚合,相反地,事件Bi是事件A的成员。聚合是一种抽象的关系。一般来说,当事件集合{Bi}发生的时候,事件A产生。事件A是一个高级别的事件,它对应着一个复杂的活动,这个活动包含了系统中聚合事件所指向的所有活动,称A为复杂事件,它的成员{Bi}导致了事件 A的发生,A事件是一个和Bi事件都不相同的事件。

3.事件中最基础的参数

子CEP中,一个事件和其他事件的关系被编码成事件中的数据。特殊的数据参数被添加到事件中用于编码事件的时间和与其他事件的关系。这些参数称为遗传参数,因为它们包含了事件的时间信息和因果历史,也就是事件是什么时间产生的,是由哪些事件导致的。

遗传参数:

1)时间戳:给出了事件的开始和结束的时间间隔。一般的,只有一个时间戳给出了活动发生的时候,时间上的一个单一的点。

2)因果向量:它是一个事件的集合,包含了导致本事件的所有事件。

复杂事件处理(CEP)——事件、时序以及因果关系相关推荐

  1. 论文浅尝 | 时序与因果关系联合推理

    论文笔记整理:李昊轩,南京大学硕士,研究方向为知识图谱.自然语言处理. 来源:ACL2018 链接:https://www.aclweb.org/anthology/P18-1212 动机 理解事件之 ...

  2. 【flink】flink 复杂事件处理 CEP

    @[ 1.概述 转载:Flink系列 13. 复杂事件处理 CEP 请到原文查看... 1. 什么是 CEP? CEP 是 Flink 中实现的复杂事件处理库,(Complex Event Proce ...

  3. 事件处理-注册时间 // 事件处理-修饰符 // 事件处理-键盘事件的修饰符 // 事件处理-系统修饰符 // 事件处理-鼠标修饰符

    事件处理-注册事件 <!DOCTYPE html> <html lang="en"><head><meta charset="U ...

  4. linux input子系统分析--子系统核心.事件处理层.事件传递过程

    linux input子系统分析--子系统核心.事件处理层.事件传递过程 一.  输入子系统核心分析. 1.输入子系统核心对应与/drivers/input/input.c文件,这个也是作为一个模块注 ...

  5. 【Vue2.0】—事件处理和事件修饰符(二)

    [Vue2.0]-事件处理和事件修饰符(二) <div id="root"><h2>{{name}},加油!</h2><!-- 阻止默认事 ...

  6. js事件处理、事件对象

    事件类型分类: 1 添加在html结构中的事件 <div id="div1" onclick="alert('append click event in html' ...

  7. java实用教程——组件及事件处理——ActionEvent事件

    事件源: 文本框,按钮,菜单项,密码框,单选按钮 注册监视器: 能够触发ActionEvent事件的组件使用方法 addActionListener(ActionListener listener) ...

  8. jQuery学习笔记系列(三)——事件注册、事件处理、事件对象、拷贝对象、多库共存、jQuery插件、toDoList综合案例

    day03 - jQuery 学习目标: 能够说出4种常见的注册事件 能够说出 on 绑定事件的优势 能够说出 jQuery 事件委派的优点以及方式 能够说出绑定事件与解绑事件 能够说出 jQuery ...

  9. 论文浅尝 | 通过共享表示和结构化预测进行事件和事件时序关系的联合抽取

    论文笔记整理:邓淑敏,浙江大学在读博士,研究方向为低资源条件下知识图谱自动化构建关键技术研究. Rujun Han, Qiang Ning, Nanyun Peng. Joint Event and ...

最新文章

  1. 汇总Javascript各种判断脚本(javascript经典例子)
  2. Primavera 6.0
  3. ppi 各代iphone_算算你的手机 高PPI屏幕显示强机推荐
  4. Docker技术笔记:Docker入门浅尝
  5. 一致性算法- Paxos
  6. virtualbox+vagrant学习-2(command cli)-20-vagrant suspend命令
  7. 【数据结构与算法】之深入解析“石子游戏III”的求解思路与算法示例
  8. jca使用_使用JCA的密码学–提供者中的服务
  9. Support for the experimental syntax 'dynamicImport' isn't currently enabled
  10. Windows平台下MySQL常用操作与命令
  11. python基本判断语句_python两种简洁的条件判断语句写法
  12. java开发工具比较(16个工具修订版)
  13. 数据结构-----平衡二叉树
  14. Linux下创建和删除软、硬链接(ln)
  15. 不能使用泛型的形参创建对象_泛型就这么简单
  16. 简易学生管理系统(C语言)
  17. 质量流量计测量液体与气体介绍
  18. 构架高性能的InterBase/FireBird系统
  19. 东大22春大学语文X《大学语文》在线平时作业1_100分资料非答案
  20. 声音信号基音提取算法基频和谐波处理分析

热门文章

  1. 智能手环功能模块设计_智能手环设计方案
  2. 怎么打开本地连接呢?
  3. 20:django中的安全问题
  4. 如何写公式爬取网页数据之船舶定位
  5. 关于JavaStream的一些小练习
  6. 利用牛顿迭代法求平方根 .
  7. nodejs html多语言切换,利用 nodejs 自动生成 Android 语言包实现应用内切换多语言的方案...
  8. Android 电话的反射调用机制实现自动接听电话
  9. 从0到1开发可视化数据大屏
  10. Android 开机流程