面向制造物联海量数据流哈希b+树结构复杂事件检测方法

文档序号:6636433阅读:124来源:国知局
面向制造物联海量数据流哈希b+树结构复杂事件检测方法
【专利摘要】本发明公开了一种面向制造物联海量数据流哈希B+树结构复杂事件检测方法,主要针对当前复杂事件检测方法在检测制造物联海量数据流上复杂事件时出现检测时间长,响应速度慢,检测效率低等问题,提出了一种使用自动机(NFA)联合哈希表B+树技术实现制造物联海量数据流中的复杂事件检测方法,大大提高在制造物联海量数据流上复杂事件检测能力。本发明改进了当前基于自动机的复杂事件模式检测方法,对现有的复杂事件检测技术做了扩展,使其能够比较高效地在制造业海量数据流上完成复杂事件的检测。
【专利说明】面向制造物联海量数据流哈希B+树结构复杂事件检测方法

【技术领域】
[0001]本发明涉及制造物联数据处理领域,更具体地,涉及一种面向制造物联海量数据流哈希B+树结构复杂事件检测方法。

【背景技术】
[0002]制造物联技术是一种基于互联网以及嵌入式系统、RFID和传感网等技术,通过计算、通信、控制技术的有机融合与深度协作,实现制造业中大型复杂过程的实时感知、动态控制和信息服务,从而协调制造业复杂物理过程,达到过程优化与系统节能目的技术。在现代制造物联中,由于制造生产规模日益扩大,制造过程日益复杂,生产环境恶劣,大量的RFID,传感器节点被部署到生产现场去实时监测生产现场的人,物料,设备,工艺过程,产品,服务等现状,上述RFID,传感器节点产生了大量的关于制造现场中“人、物料、设备、关键工艺、产品、服务”等动态数据,这些数据以自动快速方式形成海量数据流,导致了制造物联中海量数据处理面临着以下问题:难以及时处理的特点,加上制造物联规模非常宏大,生产过程存在广泛时空性,网络数据传输存在动态时延性,使得现有数据处理方法难以支撑制造物联海量数据流的高效处理,研制出一种高效海量数据智能处理方法,以适应智能制造物联中海量数据处理的发展是非常有必要的。
[0003]复杂事件检测技术,由于其能够利用事件属性之间的关联,通过匹配规则或代数操作不断过滤连续到达的海量制造数据流,找出需要的符合某种关联约束的事件序列,因而近年在制造业中来得到日益广泛的关注。
[0004]目前关于在制造物联环境中开展复杂事件检测方法的研究,主要有基于自动机,基于Petri网,基于匹配树和基于有向图方法方面的检测方法。基于自动机的检测方法,主要根据形式语言与自动机理论,正则表达式可以由自动机来表示。基于Petri网检测方法,主要以输入位置结点为基本事件,输出位置结点为复合事件。通过输入令牌(Token),使用令牌的迁移来描述事件检测的动态过程,计算跃迁守护函数,并引发跃迁并标记位置结点,当序列中的最后一个位置结点被标记后,检测到复杂事件发生。基于匹配树的检测方法,主要通过匹配树的结构来实现复杂事件过滤。基于有向图检测方法,主要使用一个有向无环图DAG的数据结构来表示复杂事件,用有向图的节点来表示事件,有向图的边来表示复杂事件的合成规则,节点通过对相关事件的引用进行标记,从而实现检测。然而由于其本身设计过程面向对象限制,当前的制造物联环境中复杂事件检测方法没有考虑到大规模事件流的实时,高密度和海量性特点,导致使用上述检测方法检测制造物联大规模海量数据流时存在检测时间长,反应速度较慢,吞吐率低等问题,故无法适应于制造物联海量数据流中检测。
[0005]随着数据流技术日益发展,需要能够研究出一种高效适合制造物联海量数据流中复杂事件检测方法。


【发明内容】

[0006]本发明主要针对上述当前复杂事件检测方法在检测制造物联海量事件流上的复合事件时出现检测时间长,响应速度慢,检测效率低的问题,提出了一种面向制造物联海量数据流哈希B+树结构复杂事件检测方法,是使用自动机(NFA)联合哈希表B及树结构技术实现制造物联海量事件流中复杂事件检测方法,该方法改进了当前基于自动机序列扫描和序列过程的复杂事件模式检测方法,对现有的复杂事件检测技术进行扩展,使其能够比较高效地在制造物联海量数据上完成复杂事件的检测,大大提高了海量数据流中复杂事件检测能力。
[0007]为了实现上述目的,本发明的技术方案为:
[0008]一种面向制造物联海量数据流中复杂事件检测方法,包括以下步骤:
[0009]A.计算给定的模式匹配表达式长度,并按照给定的模式匹配表达生成相应的NFA,创建新Hash表和B+树并进行初始化;
[0010]B.从原子事件流中进行读取一个原子事件;
[0011]C.判断上述读取到的原子事件是否被NFA接收;若接收则转向步骤D,不接收则转向步骤B ;
[0012]D.利用哈希表函数将该原子事件映射到相对应的数组上,采用哈希表结构或B+树结构存储对应的映射值;
[0013]E.判断该原子事件在哈希结构或B+树结构中是否存在上述原子事件映射值,若不存在,则在相应结构的对应位置增加一个该原子类型的主链节点,再在主链节点上插入一个该原子类型的子链节点,同时更新主链节点中最小时间戳为该原子事件发生的最小时间戳,并使主链节点中计数器数值加I ;若存在,则在子链上节点上插入一个该原子类型的子链节点,同时主链节点中计数器数值进行加I;
[0014]F.判断计数器数值是否等于给定的模式匹配表达式长度,若否,则转向步骤B ;若是,转向步骤G ;
[0015]G.判断该原子事件发生的最小时间戳加上滑动窗口时间TW是否大于此时原子事件发生时间戳,若是,则利用哈希查找技术或B+树查找技术输出相关事件,得到最终复杂事件检测结果,若否,则相转向步骤B。
[0016]本发明利用自动机(NFA)和哈希表B+树结构联合作用,实现一种面向制造物联海量数据流复杂事件检测方法,克服了现在方法在检测海量数据流上事件时存在检测时间长,响应速度慢,检测效率低等的问题,扩展了现有的复杂事件检测技术,提高了基于自动机NFA的复合事件在海量事件流上的检测能力。
[0017]本发明是利用哈希表和B+树结构中计数器数值是否等于给定的模式匹配表达式长度且主键上原子事件发生的最小时间戳+TW(滑动窗口时间)是否大于此时原子事件发生时间戳共同判断复杂事件检测是否完成。只有同时满足计数器数值等于给定的模式匹配表达式长度和该子键上原子事件发生的最小时间戳+滑动窗口时间TW大于此时原子事件发生时间戳时,才会利用哈希表或B+树查找技术输出最终检测结果。
[0018]当完成复杂事件检测时,利用哈希表查找技术和B+树查找技术分别对存储哈希表结构和B+树中巨大中间结果进行查找,输出相应复杂事件检测结果,加速复杂事件查找速度,减少查找时间的消耗,从而提高制造物联海量数据流上复杂事件检测能力和处理速度。
[0019]只有同时满足计数器数值等于给定的模式匹配表达式长度和该子键上原子事件发生的最小时间戳+滑动窗口时间TW大于此时原子事件发生时间戳时,才会利用哈希表或B+树查找技术输出最终检测结果。据模式匹配表达式建立相对应的XFA,并计算给定的模式匹配表达式长度;
[0020]进一步的,根据哈希表函数映射结果值选择哈希表结构或B+树结构进行存储,即所述步骤D利用哈希表函数将该原子事件映射到相对应的数组上后,判断映射值是否唯一,如果唯一,则使用哈希表结构对其进行存储,否则使用B+树结构对其存储,实现了利用哈希表B+树结构对海量事件流上检测复杂事件时产生的巨大中间结果进行快速存储目的。
[0021]进一步的,所述步骤E中主链节点包括该原子事件类型,该类型原子最小时间戳和计数器,子链节点包括该原子事件类型和该原子发生时间戳。
[0022]在上述步骤E中,需要对该原子事件在哈希结构或B+树结构是否存在该原子事件项进行不同的查找,插入和处理操作。
[0023]与现有技术相比,本发明的有益效果是:一种面向制造物联海量数据流哈希B+树结构复杂事件检测方法,采用了基于自动机(NFA)和哈希表B+树技术相结合的方法共同去检测海量事件流中复杂事件,克服现当前复杂事件检测方法在检测制造物联海量事件流上复杂事件时出现检测时间长,响应速度慢,检测效率低等缺点,大大提高了事件在海量数据流上的检测能力。本发明改进了当前基于自动机的复杂事件模式检测方法,对现有的复杂事件检测技术做了扩展,使其能够比较高效地在海量数据上完成复杂事件的检测。

【专利附图】

【附图说明】
[0024]图1是本发明的方法组成过程图。
[0025]图2是本发明的方法工作原理示意图。
[0026]图3是本发明方法与SASE方法在查找时间方面比较示意图。
[0027]图4是本发明方法与SASE方法在响应速度消耗方面比较示意图
[0028]图5是本发明方法与SASE方法在吞吐量方面比较示意图。

【具体实施方式】
[0029]附图仅用于示例性说明,不能理解为对本专利的限制;
[0030]为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
[0031]对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
[0032]实施例1
[0033]本实施例对一种面向制造物联海量数据流哈希B+树结构复杂事件检测方法的具体匹配过程进行详细的说明。在本实例中,利用数据发生器模块去产生事件流,通过控制数据发生器模块参数生成事件类型的个数,事件流的概率分布等,以实现本实施例所需参数控制的需求。本实施例所需工具:Visual C++6.0,测试指标为:查找时间,响应速度和吞吐量三方面,实验比较方法为=SASE方法。
[0034]本实施例的组成过程图如图1所示,它包含了:从海量原子数件流读取原子事件,非确定有限自动机(NFA)匹配原子事件,利用哈希表B+树结构存储相关原子事件和利用哈希表B+树查找技术查找相关事件四大功能部分。
[0035]当假设模式匹配表达式为SEQ(A,B, C)时,其具体检测过程工作原理如图2所示,归纳其具体实现步骤可分为如下几步:
[0036](I)计算给定的模式匹配表达式SEQ(A,B, C)的长度为3,并根据模式匹配表达SEQ(A,B, C)生成相应的NFA(见图2),创建新Hash表并对其进行初始化操作;
[0037](2)从原子事件流(见图2)中进行读取一个原子事件操作af ;
[0038](3)原子事件af能够被NFA接收;转向步骤(4)执行;
[0039](4)利用哈希表函数映射该原子事件af映射到相对应的数组上,由于af映射值不唯一,使用B+树结构对其存储;
[0040](5)由于该原子事件af在B+树结构不存在,则利用B+树插入方法在该结构对应位置增加一个该原子类型的主链节点(包括该原子事件类型,该类型原子最小时间戳和计数器),再在主链节点上插入一个该原子类型的子链节点(包括该原子事件类型和该原子发生时间戳),同时更新主链节点中最小时间戳为该原子事件发生的最小时间戳,并使主链节点中计数器数值加I ;若存在,则在子链上节点上插入一个该原子类型的子链节点,同时主链节点中计数器数值进行加I ;
[0041](6)由于主链节点中计数器数值为1,不等于给定的模式匹配表达式长度3,则转向步骤(2)继续进行检测;从原子事件流中读取下一个原子事件操作bf,然后进行与原子事件af进行相同的检测工作;
[0042](7)当检测进程到Cf时,由于主链节点中计数器数值3等于给定的模式匹配表达式SEQ(A,B,C)的长度3,且该主键上原子事件af发生的最小时间戳+滑动窗口时间TW大于此时原子事件Cf发生时间戳,所以利用B+树查找技术查找存储B+树结构中事件,查找并输出检测结果afbfCf。接下来a,,bq, (V..等原子事件检测,检测方法与上述相类似。
[0043]当检测ap,bp,(V..等原子事件检测,检测方法与上述检测基本相同,不同之处在于由于其映射值唯一,需要使用哈希表结构进行存储,当插入原子事件操作时,需要调用哈希表的插入功能;而当输出复杂事件时,需要使用哈希表的查找功能即可输出最终检测结果afbfcf0
[0044]图3是采用本发明方法与现有SASE方法在检测时间方面比较示意图。从图3可以看到,在相同测试条件下,相比SASE方法,本发明所提出的方法可以极大减少事件检测时间。分析其主要原因在于本发明方法在检测过程中使用哈希表结构和B+树结构存储和查找事件流检测时产生中间结果,节省了 SASE方法中利用动态实例堆栈存储和查找时存在大量的回溯操作,从而节省了其查找时间。
[0045]图4是采用本发明方法与现有SASE方法在响应速度消耗方面比较示意图。从图4可以看到,在相同测试条件下,相比SASE方法,本发明所提出的方法可以极大提高事件检测响应速度。分析其主要原因在于本发明方法在使用哈希表结构和B+树结构去存储检测中间结果和利用哈希表查找技术去查找相关事件,节省SASE方法在利用动态实例堆栈存储和查找时存在大量的回溯操作,因而提高了整体响应速度。
[0046]图5是采用本发明方法与现有SASE方法在吞吐量方面比较示意图。从图5可以看到,在相同测试条件下,相比SASE方法,本发明所提出的方法可以提高事件处理量。分析其主要原因在于本发明方法使用哈希表B+树结构存储检测中间结果和利用哈希表B+树查找技术去查找相关事件,实现相关事件的快速插入存储和快速查找操作,减少事件的存储和查找的消耗时间,进而提高了系统整体处理速度。
[0047]相同或相似的标号对应相同或相似的部件;
[0048]附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制;
[0049]显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
【权利要求】
1.一种面向制造物联海量数据流哈希8+树结构复杂事件检测方法,其特征在于,包括以下步骤: 八.计算给定的模式匹配表达式长度,按照给定的模式匹配表达生成相应的研4,创建新他也表和8+树并进行初始化; 8.从原子事件流中进行读取一个原子事件; 0.判断上述读取到的原子事件是否被研%接收;若接收则转向步骤0,不接收则转向步骤8; 0.利用哈希表函数将该原子事件映射到相对应的数组上,采用哈希表结构或8+树结构存储对应的映射值; £.判断该原子事件在哈希结构或8+树结构中是否存在该原子事件的映射值,若不存在,则在相应结构的对应位置增加一个该原子类型的主链节点,再在主链节点上插入一个该原子类型的子链节点,同时更新主链节点中最小时间戳为该原子事件发生的最小时间戳,并使主链节点中计数器数值加1 ;若存在,则在子链上节点上插入一个该原子类型的子链节点,同时主链节点中计数器数值进行加1 ; 判断计数器数值是否等于给定的模式匹配表达式长度,若否,则转向步骤8;若是,转向步骤 6.判断该原子事件发生的最小时间戳+滑动窗口时间II是否大于此时原子事件发生时间戳,若是,则利用哈希查找技术或8+树查找技术输出相关事件,得到最终复杂事件检测结果,若否,则相转向步骤8。
2.根据权利要求1所述的面向制造物联海量数据流哈希8+树结构复杂事件检测方法,其特征在于,所述步骤0利用哈希表函数将该原子事件映射到相对应的数组上后,判断映射值是否唯一,如果唯一,则使用哈希表结构对其进行存储,否则使用8+树结构对其存储。
3.根据权利要求1所述的面向制造物联海量数据流哈希8+树结构复杂事件检测方法,其特征在于,所述步骤2中主链节点包括该原子事件类型,该类型原子最小时间戳和计数器,子链节点包括该原子事件类型和该原子发生时间戳。
【文档编号】G06F17/30GK104391950SQ201410708219
【公开日】2015年3月4日 申请日期:2014年11月28日 优先权日:2014年11月28日
【发明者】程良伦, 王建华 申请人:广东工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1