计算机科学2008V01.35NQ.10A
数据流上复杂事件处理系统Eagle的设计与实现*)
魏永超陈立军
(北京大学计算机科学与技术系
北京100871)
摘要近年来,随着传感器网络和RFID技术的发展,基于数据流的应用已经无所不在。数据流上的应用大多是
监控型的,并且这些监控任务一般是简单事件的组合,但简单的数据流处理系统(DSMS)般只能处理简单事件的
过滤和聚合,缺乏复杂事件概念的支持,因此需要构建数据流上的复杂事件处理系统(CEP)来满足这类需求。本
文将介绍基于数据流处理系统Argus的复杂事件处理系统Eagle的设计与实现。我们提出了事件代数来描述复杂
事件,并基于此事件代数提出了复杂事件查询语言。我们使用基于查询计划的方式来进行事件探测,并采用了一
些优化策略来提高复杂事件探测的效率。
关键词复杂事件处理,事件代数,事件探测,数据流
Eagle:A
Complex
Event
Processing
System
over
Data
Streams
WEI
Yong-chao
CHEN
Li-jun
(Department
of
Computer
Science&Technology,Peking
University,Beijing
100871,Chim)
Al嘲et
Recently,with
the
development
of
sensor
network
and
RFⅡ)technology,data
stream
processing
technolo-
gY
is
bein.g
applied
in
many
fields.The
task of
such
application
is
monitoring
the
complex
events
which
are
combina—
tion
of
simple
events.But
simple
data
stream
processing
system(D:SP)can
only
deal
with
simple
filtering
and
aggre-
gation.Being
lack of
support
for
detection
of
complex
events
make
it
necessary
to
build
the
complex
event
processing
system(CEP).We
will
present
the
design
and
implementation
of the
complex
event
processing
system-Eagle,which
is
hased
on
the
data
stream
processing
systera-Argus.First,we
design
complex
event
algebra
to
express
complex
e-
vent,and
propose
complex
events
query
language
based
on
it.Then
we
describe
a
query
plan-based
approach
to
detect
complex
event
efficiently.We
also
design
sOme
optimization
strategies
to
improve
the
efficiency
of
complex
event
de-
tection.
Keywords
Complex
event
processing,Event
algebra,Event
detection,Data
stream
1
简介
对实时数据的监控在金融、电信和工业界有着
广泛的应用。这些数据通常具有实时、无限、有序、
时变等流的特征,因此称为数据流。传统的数据库
管理系统对这类应用束手无策,为了处理这类需求,
数据流处理系统应运而生了。
近年来,随着传感器网络和RFID技术的发展,
越来越多的领域使用它们进行称为事件监测的实时
监视[1],对应的数据流称为事件流。这些应用通常
包括供应链管理[8|、图书馆中的追踪L10]、环境监
测一1等。在这类应用中,人们关心的不再是简单事
件[2],而是它们的组合一复杂事件[2|,从这些组合中
用户能够探测到他们需要的信息。由于复杂事件是
简单事件组成的序列,会包含时序、不发生等各种情
况,传统的数据流处理系统不能够处理这类应用。
因此,需要开发数据流上的复杂事件处理系统来支
持此类应用。
目前,不少研究机构对数据流上的复杂事件处
理展开了研究,并取得了很多成果。SASE[']提出了
复杂事件处理语言,能够支持事件流上的滑动窗口,
使用基于查询计划的方式来探测复杂事件,并提出
了一些优化策略。Cayuga[1]提出了Cayuga事件代
数,并提出了Cayuga自动机,使用Cayuga自动机
来进行复杂事件探测,并通过合并状态来实现性能
优化。RCEDA[5]提出了针对RFID事件流这个特
殊应用领域的复杂事件处理,采用事件图的方式进
行复杂事件探测。
Argus[3]是北京大学数据库实验室自主研发的
数据流处理系统。目前它能够支持数据流上的类
*)本文受到国家高技术研究发展计划(863计划)“基于蜜场技术的大规模网络主动安全防护系统”课题资助(课题编号2006AA012445)。
·27·