一种多概率rfid事件流上复杂事件检测方法

文档序号:8381314阅读:435来源:国知局
一种多概率rfid事件流上复杂事件检测方法
【技术领域】
[0001]本发明涉及射频数据处理领域,更具体地,涉及一种多概率RFID事件流上复杂事件检测方法。
【背景技术】
[0002]射频识别(Rad1 Frequency Identificat1n, RFID)技术是一种利用射频通信实现的非接触自动识别技术。由于RFID技术极易受环境影响和干扰,RFID阅读器本身的漏读、脏读和多读现象以及对RFID数据处理过程中带来的主观不确定性,造成了 RFID应用整个生命周期中数据的不确定性。不确定性成为RFID数据普遍具有一个重要特性。随着RFID技术日益广泛的应用,这就引发了学术界和工业界对具有不确定数据的RFID事件检测技术特别是RFID复合事件检测技术产生了浓厚的研宄兴趣。
[0003]为了能够从实时到达的事件流的海量事件中进行有效复杂事件检测,目前已开展了很多研宄。虽然SASE,Cayuga和Esper等传统复杂事件处理原型系统能够比较完整地提供了复杂事件处理的基本功能,但由于它们没有考虑输入数据流中RFID数据的不确定性,只能处理确定的RFID数据。对于不确定的RFID数据,不具备高效的处理能力,不能处理带有概率信息的数据流,更不能从中检测出所有可能的复杂事件。一些传统通用的复杂事件检测方法,如基于Petri网、基于树、基于图和基于自动机等检测方法,由于其设计目的主要针对确定性数据,故无法有效检测带有不确定性数据的事件。随着RFID技术日益发展,需求研宄出现能够检测和处理不确定性数据的事件检测系统和方法。
[0004]目前关于RFID不确定数据检测或处理的问题,主要开展了 Cascadia及Lahar和其他一些相关的研宄项目。但由于它们主要关注从原始RFID数据上建立概率数据模型,并在此模型上做相关查询,对不确定数据流上复杂事件处理阶段的研宄较少,也没有针对概率事件流在复杂事件检测过程中做详细讨论与优化。当前使用最为广泛的基于列举可能世界实例的Naive方法,主要通过根据数据的不确定性,将每个数据取不同值的情况进行组合,列出所有可能的组合,对这些可能的组合再根据检测模式表达式去匹配和检测出符合条件复杂事件。当事件流中的事件较多时,可能的组合数量非常大,呈指数增长,且对每个可能的数据流实例进行扫描和模式匹配的开销非常巨大,导致这种方法检测效率不高,难以满足实际应用的需求。特别是当RFID事件流中事件是由多个可能发生的事件组成,存在多概率事件流模型时,上述这种Naive检测方法检测效率会更加低下。

【发明内容】

[0005]本发明一种多概率RFID事件流上复杂事件检测方法,该方法使用自动机NFA结合多个有向无环图DAG去实现多概率RFID事件流上的复杂事件检测,改进了常规的NFA序列扫描和序列过程,扩展了现有复杂事件检测技术,大大提高了事件在不确定RFID数据流上的检测能力。
[0006]为了达到上述技术目的,本发明的技术方案如下: 一种多概率RFID事件流上复杂事件检测方法,包括以下步骤:
51:按照复杂事件检测模式表达式建立相应的NFA,建立并初始化活动状态集合s(Active);
52:循环扫描活动状态集合S (Active)中每一个状态,判断自动机NFA处在活动状态集合S(Active)中该状态时,接收了检测模式表达式中每一种事件类型(a,b,c)中每一个可能选项事件(a(i),b(i),c(i))后,自动机NFA的状态是否会发生转移,如果发生转移,记录转移后状态,接着执行步骤S3 ;如果没有发生转移,则跳到步骤S4执行;
53:判断自动机NFA发生状态转移前活动状态集合S(Active)中状态是否为初态,若是初态,则建立一个新的有向无环图DAG,给该DAG添加一个由初始状态转移接收事件的实例和接收该事件后转移到新状态组成的新节点和一条由上述新节点指向初态点的有向边,并在活动状态集合S(Active)上增加转移变换后新状态和删除活动状态集合S(Active)中变换前的状态;若不是初态,就给该DAG建立一个由初始状态转移接收事件的实例和接收该事件后转移到新状态组成的新节点,并在该新建节点和DAG上所有状态转移前的节点之间建立以该新建节点为起点有向边,加入转移变换后的状态到活动状态集合S(Active)中,并删除转移变换前的状态;
54:循环扫描活动状态集合S (Active)中的下一个状态;
55:循环扫描接收事件SEQ (a,b[],c)中的下一个可能选项事件;
56:对于活动状态集合s (Active)中的每一个状态为终态节点,以该节点为起点,对其所在的DAG进行深度优先搜索,如果能够到达初态O,则该路径上的所有节点的事件就构成一个匹配结果序列,该匹配结果序列也即是检测出的复杂事件。
[0007]本发明中,使用NFA(Nondeterministic Finite Automaton)去匹配概率 RFID 事件流中满足条件事件,扩展了传统的NFA应用范围,实现了概率RFID事件流中事件快速匹配方法;利用DAG(Directed Acyclic Graph)结构去存储概率事件流中海量事件检测结果,实现了概率事件流中事件检测结果的快速存储和查找功能;利用NFA和DAG联合作用,实现了一种可以高效检测概率RFID事件流的复杂事件方法,克服了现在常用Naive方法在检测概率RFID事件流中复杂事件时出现检测时间长,内存开销大,检测效率低的问题,扩展了现有的复杂事件检测技术,提高了事件在不确定RFID数据流上的检测能力。
[0008]进一步地,所述活动状态集合S (Active)在建立自动机NFA阶段中的初始值仅包含自动机NFA的初态。
[0009]进一步地,在所述步骤S6中,当检测结束时,以逆序方式即从活动状态集合s (Active)中的终态节点向最初态节点方式沿着有向图搜索,构造输出结果序列。
[0010]与现有技术相比,本发明技术方案的有益效果是:本发明所提出的一种多概率RFID事件流上复杂事件检测方法,采用了基于自动机(NFA)和多个有向无环图(DAG)相结合的方法共同去检测多概率RFID事件流中复杂事件,克服现在常用Naive方法上存在数据组合数量大,数据扫描和模式匹配的开销多,检测效率非常低的缺点,大大提高了事件在不确定RFID数据流上的检测能力。本发明改进了当前基于自动机的复杂事件模式检测方法,对现有的复杂事件检测技术做了扩展,使其能够比较高效地在多概率不确定数据上完成复杂事件的检测。
【附图说明】
[0011]图1是本发明的算法组成图;
图2是本发明的算法工作流程图;
图3是本发明算法检测过程图;
图4是本发明算法在不同可选事件数目下检测时间示意图;
图5是本发明算法在不同可选事件数目下事件内存消耗示意图;
图6是本发明算法在不同可选事件数目下事件吞吐量示意图。
【具体实施方式】
[0012]附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
[0013]下面结合附图和实施例对本发明的技术方案做进一步的说明。
[0014]实施例1
本实施例对一种多概率RFID事件流上复杂事件检测方法的具体检测过程进行详细的说明。在本实例中使用VC+6.0软件开发一个数据发生器,然后使用数据发生器产生模拟的RFID概率事件流,通过控制数据发生器参数生成不同类型个数的事件,可能选项事件的个数,事件的概率分布等。为了考察本发明提算法在处理多概率事件流时的性能,实验从检测时间,内存消耗和事件吞吐量三个方面进行估;实验对比方法为传统Naive算法。实验检测的复杂事件表达式为SEQ(a,b[],c),其中b[]表示有一个或多个b事件。实验中滑动窗口大小统一设置的为4000。
[0015]本实例算法组成结构图如图1所示,算法检测流程图按照图2所示进行,图3是本发明算法具体检测过程图,按其具体检测步骤可将其分为如下:
A、按照复杂事件检测模式表达式SEQ(a,b[],c)建立相应的NFA (见图3),建立并初始化活动状态集合s (Active)为O。
[0016]B、依次读取多概率RFID事件流中事件(见图3)。
[0017]C、由于活动状态集合S (Active)的当前状态为0,当自动机NFA在O状态,时间戳为I时,接收了检测模式表达式中事件a (II)或b(ll)的实例,根据NFA来转移状态,当接收事件为a(n),自动机NFA会发生转移,状态转移为1,建立新图,添加一个新节点(a(ll),I)和边指向状态为O的节点;当事件为b(ll),根据NFA可知状态不转移,更新活动状态为O和I;接着循环扫描活动状态集合S(Activ
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1