[发明专利]一种面向海量数据流的哈希结构复杂事件检测方法在审
| 申请号: | 201410609118.4 | 申请日: | 2014-10-31 |
| 公开(公告)号: | CN104361058A | 公开(公告)日: | 2015-02-18 |
| 发明(设计)人: | 程良伦;王建华;刘军 | 申请(专利权)人: | 广东工业大学 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 林丽明 |
| 地址: | 510006 广东省广*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 面向 海量 数据流 结构 复杂 事件 检测 方法 | ||
技术领域
本发明涉及大数据处理领域,更具体地,涉及一种面向海量数据流的哈希结构复杂事件检测方法。
背景技术
RFID技术,传感网技术等技术的广泛发展产生了海量的实时数据流。如何帮助企业或人们从海量的实时数据流中发现感兴趣或有意义的事件,是当前处理海量数据处理中面临的一个重要问题。复杂事件检测技术,作为数据库领域中的一个新兴热点技术,由于能够利用事件属性之间的关联,通过匹配规则或代数操作不断过滤连续到达的海量事件流,找出需要的符合某种关联约束的事件序列,近年来得到日益广泛的关注。
目前关于复杂事件检测方法的研究,主要有基于自动机,基于Petri网,基于匹配树和基于有向图方法方面的检测方法。基于自动机的检测方法,主要根据形式语言与自动机理论,正则表达式可以由自动机来表示。基于Petri网检测方法,主要以输入位置结点为基本事件,输出位置结点为复合事件。通过输入令牌(Token),使用令牌的迁移来描述事件检测的动态过程,计算跃迁守护函数,引发跃迁并标记位置结点,当序列中的最后一个位置结点被标记后,检测到复杂事件发生。基于匹配树的检测方法,主要通过匹配树的结构来实现复杂事件过滤。基于有向图检测方法,主要使用一个有向无环图DAG的数据结构来表示复杂事件,用有向图的节点来表示事件,用有向图的边来表示复杂事件的合成规则,节点通过对相关事件的引用进行标记,从而实现检测。然而由于其本身设计过程面向对象限制,当前的这些方法并没有考虑到监测大规模事件流的实时和高密度特点,上述方法检测大规模事件流时,存在反应速度较慢,吞吐率下降的不足,故上述检测方法无法有效检测高速海量的数据流。随着数据流技术日益发展,研究出能够高效检测和处理海量数据的事件检测方法是非常有必要的。
作为当前使用最为广泛的SASE方法,其主要通过采用有限自动机(NFA)和动态实例堆栈动态实例堆栈联合作用,通过六种基本的查询计划操作:序列扫描和构造、选择操作、窗口操作、Negation非操作和转换操作实现对实时数据流上的事件序列进行查询和检测操作,是目前存在的较优一种复杂事件检测方法。但由于SASE方法检测过程中存在如下问题:(1)需要在序列扫描时同时创建分区以及为每个分区建造一系列动态实例堆栈,当数据流中数量很多时,导致需要巨大的开销;(2)SASE在利用非确定有限自动机进行状态跃迁时,存在大量的回溯操作,导致了巨大的开销和时间;(3)SASE在利用滑动窗口约束机制删除过期数据时需要遍历每个动态实例堆栈,也需要消耗巨大的开销和时间。特别是海量数据流中,数据事件源源不断到来,且需要实时处理时,这种需求会导致SASE检测方法检测效率会更加低下。
发明内容
本发明主要针对现在SASE方法在检测海量事件流中的复合事件时出现检测时间长,响应速度慢,检测效率低的问题,提出了一种面向海量数据流的哈希结构复杂事件检测方法,是使用有限自动机(NFA)联合哈希表技术实现海量数据流的复杂事件的检测方法。改进了常规的NFA序列扫描和序列过程,扩展了现有复杂事件检测技术,大大提高了海量数据流中复杂事件检测能力。
为实现上述目的,本发明采用了如下技术方案:
一种面向海量数据流的哈希结构复杂事件检测方法,包括以下步骤:
A.计算给定的模式匹配表达式长度,并按照给定的模式匹配表达生成相应的NFA,创建新Hash表并进行初始化操作;
B.从原子事件流中进行读取一个原子事件操作;
C.判断该原子事件是否被NFA接收;若接收则转向步骤D,不接收则转向步骤B;
D.利用哈希表函数将被该原子事件映射到对应的数组上,并判断该数组是否存在该项,若不存在,则在该数组相应位置增加一个该原子类型的主链节点(包括该原子事件类型,该类型原子最小时间戳和计数器)再在主链节点上插入一个该原子类型的子链节点(包括该原子事件类型和该原子发生时间戳),同时更新主链节点中最小时间戳为该原子事件发生的最小时间戳,并使主链节点中计数器数值加1;若存在,则在子链上节点上插入一个该原子类型的子链节点,同时主链节点中计数器数值进行加1;
E.判断计数器数值是否等于给定的模式匹配表达式长度,若否,则转向步骤B进行;若是,转向步骤F进行,
F.判断该子键上原子事件发生的最小时间戳+TW(滑动窗口时间)>此时原子事件发生时间戳,若是,则输出哈希表中该原子事件对应数组中所有选项,得到检测结果,若否,则相转向步骤B进行。
在步骤A中首先需要根据模式匹配表达式建立相对应的XFA,并计算给定的模式匹配表达式长度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东工业大学,未经广东工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410609118.4/2.html,转载请声明来源钻瓜专利网。





