可变持续时间非事件模式匹配的制作方法

文档序号:9221657阅读:323来源:国知局
可变持续时间非事件模式匹配的制作方法
【专利说明】
[0001] 相关申请的交叉引用
[0002] 本申请要求2013年1月15日提交的美国临时申请No.61/752,855,"VARIABLE DURATIONNONEVENTPATTERNMATCHING"的优先权。本申请还要求2013年3月15日提交 的美国非临时申请No. 13/839, 288,"VARIABLEDURATIONNON-EVENTPATTERNMATCHING" 的优先权,该申请要求美国临时申请No. 61/752, 855的优先权。61/752, 855和13/839,288 的全部内容通过引用包含于此。
技术领域
[0003] 公开的实施例涉及数据处理系统,更具体地,涉及利用可变持续时间功能,对连续 的事件流进行非事件模式匹配的技术。
【背景技术】
[0004] 在传统的数据库系统中,数据被保存在通常呈表格形式的一个或多个数据库中。 随后利用诸如SQL之类的数据管理语言,查询和处理保存的数据。例如,可以定义和执行 SQL查询,以从保存在数据库中的数据中识别有关的数据。从而对保存在数据库中的一组有 限的数据执行SQL查询。此外,当执行SQL查询时,对有限的数据集执行一次SQL查询,并 产生有限的静态结果。数据库从而最好被配备成在保存的有限数据集上进行查询。
[0005] 不过,许多现代的应用和系统以连续数据或事件流(而不是有限数据集)的形式, 生成数据。这种应用的例子包括(但不限于)传感器数据应用,金融报价机,网络性能监测 工具(例如,网络监测和流量管理应用),点击流分析工具,汽车交通量监测等。例如,温度 传感器可被配置成发送温度读数。这种应用已导致对能够处理数据流的新型应用的需求。
[0006] 为这些类型的基于事件流的应用管理和处理数据涉及建立具有强时间关注的 数据管理和查询能力。需要一种不同类型的查询机制,所述查询机制包含在连续的无限 (unbounded)数据集内的长时间查询。尽管一些厂商现在提供适合于事件流处理的产品套 件,不过,这些产品仍然缺乏处理现今的事件处理需求所需的处理灵活性。

【发明内容】

[0007] 公开了利用可变持续时间,对连续事件流进行非事件模式匹配的一些实施例。实 施例可以利用各种技术,例如,利用作用于事件数据流的计算机实现的方法,处理事件数据 流的计算装置、系统或设备,保存可由一个或多个处理单元执行的多个指令的计算机可读 存储器,等等实现的技术。
[0008] 在事件处理引擎的模式匹配功能的上下文中,非事件检测指的是当应在特定时间 范围中发生的某个事件未在该时间范围中发生时的情形的检测。例如,在当事件按特定顺 序发生时的情况下,非事件检测可用于检测其中在特定时间范围中,按照所述顺序接下来 应该发生的特定事件在所述时间范围内未发生的情形。
[0009] 在基于非事件的模式匹配中,事件的到来会导致模式匹配候选者(有时称为绑 定)被启动。计算持续时间,并使之与新创建的绑定关联,其中所述持续时间识别在其之后 所述绑定满期的时期。在非事件模式匹配的上下文中,例如,所述持续时间可识别应该发生 预期的下一个事件的时间范围。本发明的一些实施例允许所述持续时间对于不同的绑定是 可变的。
[0010] 例如,经由事件流接收的第一事件可使第一模式匹配候选者(即,第一绑定)被启 动。经由相同的事件流接收的第二事件可使第二模式匹配候选者(即,第二绑定)被启动。 按照本发明的实施例,第一绑定的持续时间可不同于第二绑定的持续时间。按照这种方式, 在非事件模式匹配的上下文中使用的不同绑定可具有与之相关的不同或可变的持续时间。
[0011] 在一些实施例中,绑定的持续时间可基于启动所述绑定的事件的属性的值。例如, 持续时间可用数学表达式表示,其中所述表达式基于导致所述绑定被启动的事件的一个或 多个事件属性值。由于对不同的事件来说,属性的值可不同,因此对于由不同事件启动的绑 定计算的持续时间可不同。这在进行非事件模式匹配方面提供更大的灵活性,使处理能够 适用于几种不同的现实生活情形,在所有绑定都具有固定或不变的持续时间的过去,这是 不可能的。
[0012] 在一些实施例中,可经由事件流,接收第一事件和第二事件。第一事件可导致对于 模式,启动第一模式匹配候选者。第二事件可导致对于所述模式,启动第二模式匹配候选 者。可对于第一模式匹配候选者,计算第一持续时间,对于第二模式匹配候选者,计算第二 持续时间,其中第二持续时间不同于第一持续时间。按照这种方式,不同的事件可具有与之 关联的不同的持续时间。
[0013] 在某个实施例中,可根据事件的属性的值,计算在第一和第二事件启动的模式匹 配的持续时间。例如,可确定第一事件的第一属性的第一值,可确定第二事件的第一属性的 第二值,第二值不同于第一值。随后可利用第一值计算归因于第一事件而被启动的模式匹 配的持续时间,可利用第二值计算因第二事件而被启动的模式匹配的持续时间。
[0014] 在一些实施例中,可根据表达式(例如,算术表达式)的评估,计算在第一和第二 事件启动的模式匹配的持续时间。例如,可确定第一事件的第一属性的第一值,可确定第二 事件的第一属性的第二值,第二值不同于第一值。随后可利用第一值评估算术表达式,以计 算由第一事件产生的模式匹配的持续时间,可利用第二值评估所述算术表达式,以计算由 第二事件产生的模式匹配的第二持续时间。
[0015] 在一些实施例中,在第一模式匹配候选者的第一持续时间过去之后,可判定第一 模式匹配候选者是否匹配模式。当判定第一模式匹配候选者匹配模式时,可输出表示与第 一模式匹配候选者对应的非事件发生的信息。
[0016] 在一些实施例中,可根据与第一事件相关的事件时间戳,和计算的第一持续时间, 对于第一模式匹配候选者确定满期时间。随后可使该满期时间与第一模式匹配候选者关 联。可根据与第二事件相关的事件时间戳,和计算的第二持续时间,对于第二模式匹配候选 者确定满期时间。随后可使该满期时间与第二模式匹配候选者关联。在一个实施例中,通 过相加对于模式匹配候选者计算的持续时间,和与启动所述模式匹配候选者的事件相关的 事件时间戳,确定所述模式匹配候选者的满期时间。
[0017] 在一些实施例中,在确定了满期时间,并使之与模式匹配候选者关联之后,在与所 述模式匹配候选者相关的满期时间之际或之后,可判定模式匹配候选者是否匹配模式。当 判定模式匹配候选者匹配模式时,可输出表示与模式匹配候选者对应的非事件发生的信 息。
[0018] 按照本公开的一个方面,提供一种计算设备。所述计算设备包括第一确定单元,所 述第一确定单元被配置成确定计算设备经由事件流接收的第一事件导致对于模式启动第 一模式匹配候选者,第一计算单元,所述第一计算单元被配置成对于第一模式匹配候选者, 计算第一持续时间,第二确定单元,所述第二确定单元被配置成确定经由事件流接收的第 二事件导致对于所述模式启动第二模式匹配候选者,和第二计算单元,所述第二计算单元 被配置成对于第二模式匹配候选者,计算第二持续时间。第二持续时间不同于第一持续时 间。
[0019] 在一些实施例中,第一确定单元被配置成确定第一事件的属性的第一值。第一计 算单元被配置成利用第一值计算第一持续时间。第二确定单元被配置成确定第二事件的属 性的第二值。第二值不同于第一值。第二计算单元被配置成利用第二值计算第二持续时间。
[0020] 在一些实施例中,计算设备还包括第一评估单元和第二评估单元。第一确定单元 被配置成确定第一事件的属性的第一值。第一评估单元被配置成利用第一值评估表达式, 以计算第一持续时间。第二确定单元被配置成确定第二事件的属性的第二值。第二值不同 于第一值。第二评估单元被配置成利用第二值评估表达式,以计算第二持续时间。
[0021] 在一些实施例中,计算设备还包括输出单元。第一确定单元被配置成在第一事件 的第一持续时间过去之后,判定第一模式匹配候选者是否匹配模式。当判定第一模式匹配 候选者匹配模式时,输出单元被配置成输出表示与第一模式匹配候选者对应的非事件发生 的信息。
[0022] 在一些实施例中,计算设备还包括第一关联单元和第二关联单元。第一确定单元 被配置成根据与第一事件相关的第一时间,和第一持续时间,对于第一模式匹配候选者确 定第一满期时间。第一关联单元被配置成使第一满期时间与第一模式匹配候选者关联。第 二确定单元被配置成根据与第二事件相关的第二时间,和第二持续时间,对于第二模式匹 配候选者确定第二满期时间。第二关联单元被配置成使第二满期时间与第二模式匹配候选 者关联。
[0023] 在一些实施例中,第一确定单元被配置成通过相加第一持续时间和与第一事件相 关的第一时间,确定第一满期时间。第二确定单元被配置成通过相加第二持续时间和与第 二事件相关的第二时间,确定第二满期时间。
[0024] 在一些实施例中,计算设备还包括输出单元。第一确定单元被配置成在与第一模 式匹配候选者相关的第一满期时间之际或之后,判定第一模式匹配候选者是否匹配模式。 当判定第一模式匹配候选者匹配模式时,输出单元被配置成输出表示与第一模式匹配候选 者对应的非事件发生的信息。
[0025] 按照本公开的一个方面,可提供一种系统或设备。所述系统或设备可包括:确定计 算设备经由事件流接收的第一事件导致对于模式启动第一模式匹配候选者的装置;对于第 一模式匹配候选者,计算第一持续时间的装置;确定经由事件流接收的第二事件导致对于 所述模式启动第二模式匹配候选者的装置;和对于第二模式匹配候选者,计算第二持续时 间的装置,第二持续时间不同于第一持续时间。
[0026] 在一些实施例中,第一事件和第二事件包括属性。计算第一持续时间的装置包括: 确定第一事件的属性的第一值的装置;和利用第一值计算第一持续时间的装置。计算第二 持续时间的装置包括:确定第二事件的属性的第二值的装置,第二值不同于第一值;和利 用第二值计算第二持续时间的装置。
[0027] 在一些实施例中,第一事件和第二事件包括属性。计算第一持续时间的装置包括: 确定第一事件的属性的第一值的装置;和利用第一值评估表达式,以计算第一持续时间的 装置。计算第二持续时间的装置包括:确定第二事件的属性的第二值的装置,第二值不同于 第一值;和利用第二值评估表达式,以计算第二持续时间的装置。
[0028] 在一些实施例中,系统或设备还包括:在第一事件的第一持续时间过去之后,判定 第一模式匹配候选者是否匹配模式的装置;和当判定第一模式匹配候选者匹配模式时,输 出表示与第一模式匹配候选者对应的非事件发生的信息的装置。
[0029] 在一些实施例中,系统或设备还包括:根据与第一事件相关的第一时间,和第一持 续时间,对于第一模式匹配候选者确定第一满期时间的装置;使第一满期时间与第一模式 匹配候选者关联的装置;根据与第二事件相关的第二时间,和第二持续时间,对于第二模式 匹配候选者确定第二满期时间的装置;和使第二满期时间与第二模式匹配候选者关联的装 置。
[0030] 在一些实施例中,系统或设备还包括:在与第一模式匹配候选者相关的第一满期 时间之际或之后,判定第一模式匹配候选者是否匹配模式的装置;和当判定第一模式匹配 候选者匹配模式时,输出表示与第一模式匹配候选者对应的非事件发生的信息的装置。
【附图说明】
[0031]图1是可具体体现本发明的实施例的事件处理系统的简化高级示图;
[0032] 图2是描述按照本发明的实施例,当收到事件时进行的处理的简化流程图;
[0033] 图3是描述按照本发明的实施例,当收到关于现有绑定的事件时进行的处理的简 化流程图;
[0034] 图4描述按照本公开的实施例,可用于利用可变持续时间窗口,实现非事件检测 的模块和数据结构;
[0035] 图5描述按照本发明的实施例,当指定ALLMATCHES语句时会发生的可能情形;
[0036] 图6描述按照本发明的实施例,当指定分区和SKIPPASTLASTROW语句时会发生 的可能情形;
[0037]图7是图解说明按照本发明的实施例,可使用的系统环境的组件的简化方框图;
[0038] 图8是按照本发明的一些实施例,可使用的计算机系统的简化方框图;
[0039] 图9是按照本发明的一些实施例,可使用的计算设备的简化方框图。
【具体实施方式】
[0040] 在下面的说明中,为了解释起见,记载了具体细节,以便透彻理解本发明的实施 例。然而,显然可在没有这些具体细节的情况下实践本发明。附图和说明并不是限制性的。
[0041] 公开了利用可变持续时间,对连续的事件流进行非事件模式匹配的一些实施例。
[0042] 在事件处理引擎的模式匹配功能的上下文中,非事件检测指的是当应在特定时间 范围中发生的某个事件未在该时间范围中发生时的情形的检测。例如,在当事件按特定顺 序发生时的情况下,非事件检测可用于检测其中在特定时间范围中,按照所述顺序接下来 应该发生的特定事件在所述时间范围内未发生的情形。
[0043]在基于事件的模式匹配中,事件的到来会导致模式匹配候选者(有时称为绑定) 被启动。计算持续时间,并使之与新创建的绑定关联,其中所述持续时间识别在其之后所述 绑定满期的一段时间。在非事件模式匹配的上下文中,例如,所述持续时间可识别应该发生 预期的下一个事件的时间范围。
[0044]过去,与归因于模式匹配而启动的各个绑定相关的持续时间总是不变或者固定 的。例如,用于指定绑定的持续时间的DURATION语句仅仅取不变或固定值作为参数,例如 "DURATION10"。利用这种语句,每次新的模式匹配绑定启动时,该绑定的持续时间总是被 设定为10个时间单位(10秒),并且对所有绑定来说都相同。这大大限制了利用非事件模 式匹配模拟现实生活情形的能力。
[0045] 本发明的一些实施例提供允许与绑定相关的持续时间对不同绑定来说可变的所 需灵活性。例如,经由事件流接收的第一事件可导致第一模式匹配候选者(即,第一绑定) 被启动,经由事件流接收的第二事件可导致第二模式匹配候选者(即,第二绑定)被启动。 按照本发明的一些实施例,第一绑定的持续时间不同于第二绑定的持续时间。按照这种方 式,一个绑定的持续时间可不同于另一个绑定的持续时间。在非事件模式匹配的上下文中 使用的不同绑定从而可具有与之相关的不同或可变的持续时间。
[0046] 在一些实施例中,绑定的持续时间可基于启动所述绑定的事件的属性的值。例如, 持续时间可用数学表达式表示,其中所述表达式基于导致所述绑定被启动的事件的一个或 多个事件属性值。由于对不同事件来说,属性的值可不同,因此对于由不同事件启动的绑定 计算的持续时间可不同。这在进行非事件模式匹配方面提供更大的灵活性,使处理能够适 用于几种不同的现实生活情形,在所有绑定都具有固定或不变的持续时间的过去,这是不 可能的。
[0047] 如上所述,本发明的实施例可适用于事件流(也称为连续数据流)的处理。连续 数据流或事件流(或事件数据流)是无明确结尾的在本质上连续或无限的一连串数据或事 件。逻辑上,事件或数据流是一连串的数据元素(也称为事件),每个数据元件具有相关的 时间戳。连续事件流可被逻辑地表示成一包或一组元素(s,T),其中"s"表示数据部分,"T" 在时间域中。"s"部分通常被称为元组或事件。事件流从而是一连串带时间戳记的元组或 事件。
[0048] 在一些实施例中,与流中的事件相关的时间戳可等同于时钟时间。不过,在其它实 施例中,与事件流中的事件相关的时间可由应用域定义,并可不对应于时钟时间,而是改为 用序列号表示。从而,与事件流中的事件相关的时间信息可用数字、时间戳、或者表示时序 概念的任何其它信息表示。对接收输入的事件流的系统来说,事件按照递增的时间戳的顺 序到达所述系统。具有相同时间戳的事件可不止一个。
[0049] 在一些实施例中,事件流中的事件可表示某个世俗事件的发生(例如,当温度传 感器把值改变成新的值时,当股票代码的价格变动时),与事件相关的时间信息可指示由数 据流事件表示的世俗事件发生的时间。
[0050] 对于经由事件流接收的事件,与事件相关的时间信息用于确保事件流中的事件按 照递增的时间戳值的顺序到达。这使得能够根据其相关的时间信息,排序和处理在事件流 中接收的事件。为了能够实现这种排序,按稍后生成的事件具有晚于较早生成的事件的时 间戳的非递减方式,关联时间戳和事件流中的事件。再例如,如果利用序列号作为时间信 息,那么与稍后生成的事件相关的序列号大于与较早生成的事件相关的序列号。通常按照 利用相关的时间信息施加于事件的顺序,处理属于相同事件流的事件,较早的事件在稍后 的事件之前被处理。在一些实施例中,多个事件可与相同的时间戳或序列号关联,例如,当 在相同时间发生由数据流事件表示的世俗事件时。在这些情况下,按照接收顺序,处理事 件。
[0051] 与事件流中的事件关联的时间信息(时间戳)可由所述流的来源设定,或者可由 接收所述流的系统设定。例如,在一些实施例中,可在接收事件流的系统上维持心跳,与事 件相关的时间可以基于利用心跳测量的事件到达系统的时间。事件流中的两个事件可能具 有相同的时间信息。注意,尽管时间戳排序要求特定于一个事件流,不过,不同流的事件可 被任意交织。
[0052] 事件流具有相关的方案(schema) "S",所述方案包含时间信息和一组一个或 多个指定的属性。属于特定事件流的所有事件遵守与该特定事件流相关的方案。从而, 对于事件流(s,T),事件流可具有如(<time_stamp>,〈attribute(s)>)的方案"S",其中 〈attributes〉
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1