事件流的偏差检测系统和/或方法

文档序号:6442185阅读:272来源:国知局
专利名称:事件流的偏差检测系统和/或方法
技术领域
本发明实施例涉及一种事件流的偏差检测系统和/或方法。进一步地,本发明实施例涉及一种复杂事件处理(Complex event processing, CEP)中的事件流可被分析和检测偏差。在本发明的实施例中,CEP发动机接收一个或多个事件流,并利用基于密度的偏差检测检测事件流中的偏差。本发明实施例涉及到复杂事件处理、事件流处理、数据流处理和数据流挖掘等情况下的流向、异常值和/或偏向检测。
背景技术
复杂事件处理(Complex event processing, CEP) 一般适用于处理每个高效率情况下的瞬时事件数据。CEP发动机通过过滤、聚集、相关性等方式连续分析进来的事件流,从
而实时传递相关的业务模式。通常CEP应用中的事件流随着时间的推移不具备稳定性和连续性。在对应的CEP应用中,事件流的偏差可能为一个时机或一个威胁。相应地,早期的为与事件流紧密相关的或通过其他某种方式依赖或依靠事件流的业务的事件流探测可能是有利的(例如,高价值)。基于事件流处理的要求,希望基于事件流偏差的检测提供理由充分的分析结果。同样,也希望可以这种联机方式(例如,实时,正在处理以及非存储等等)的结果。在一些例子中,被处理的流的特性可能无法预先知道,该探测可能不具备流的特性等的适用的预备知识。现有技术中,包括多种用于探测一连串给定的数据的不规则性的传统技术。其中一个传统的方式是利用数据库探测置于数据中的数据的特性和不规则性。利用编程语言例如SQL或数据库上的数据挖掘算法,数据被设置且其相应的特性被分析。然而,不幸的是,对于大容量低延时的事件流处理的情况下,数据库方式并不是一直可行的。另外,由于典型的高计算机要求,数据挖掘方式也可能不可行。数据挖掘算法需要对数据多次起下作业,通常不适用于CEP场景中,该场景中事件流往往潜能无限地并连续地流入。CEP应用往往推行硬性处理要求例如单通道流和限制的计算机资源。因此,CEP发动机通常逐步处理近来的事件。通常地,CEP发动机通常依照SQL、基于规则的或基于状态的方式,并通过瞬时条款被扩展。这些条款可能允许事件流分析被限制或限定到一个瞬时窗口。例如,这允许每隔10分钟或其他时间间隔计算股价。因此,依赖时间窗口的建立,用户可以注重分析更多的最新数据。基于SQL的CEP发动机可以利用特定的SQL功能进行偏差检测。SQL提供包括例如MIN、MAX、VAR以及AVG等的集合。为了检测偏差,一个连续的SQL查询能够,例如,通过布林线计算最新值的偏差。布林线可以限定一个接近平均值的两个标准偏差的envelope。如果一个新值在布林线外,则归类为一个偏差。然而,这种方法具有限制,需要数据排布正常以获得可靠的分析结果。另外,标准的SQL集合表示有限。比如,它们仅提供基础分布的根据经验的摘要测量,但无法容易地检测不规则或多样模式的分布。例如,上述的这种利用布林线的方式,假设一个事件流的标准分布,以及无法支持随意的流的假设。因而,非标准分布的结果可能为低质量的,因为它们包括不规则的或多样模式的分布。基于规则的或基于状态的CEP发动机也可能提供简单的集合例如上述的SQL功能。那么规则或状态可能也利用这些集合从平均性能检测偏差。因此,利用基于规则的或基于状态的CEP发动机,基于SQL的CEP发动机的相关问题也仍然会发生在基于规则的或基于状态的CEP发动机上。一般标准集合只提供摘要测量,这些摘要测量不检测不规则的或多样模式的分布。另一个相关的新技术在流挖掘算法上毫无希望。流挖掘算法分析事件流是一种实时的行为。然而,这领域的成果只是发展初期,还需要更多的成果。因此,本领域需要一种提高的系统和/或方法以检测事件流的偏差,例如,提供一种CEP应用或类似的东西。

发明内容
本发明实施例的一个目的是能够在至少两个时间窗口内计算事件流的偏差。在某些实施例中,其中的一个时间可能围绕整个事件流。本发明实施例的另一个目的是通过使用核密度估计(KDEs)估算事件流的偏差。本发明实施例的再一个目的是一旦产生一个事件流的偏差,就会发送通知。本发明实施例的另一个目的是在事件流的理想性能和事件流性能的短期计算之间计算一个偏差。本发明实施例的再一个目的是比对一个长期时间窗口的偏差和短期时间窗口的偏差。本发明实施例的再一个目的是对比事件流的偏差和阀值。在本发明实施例中,提供了一种适用于处理系统如至少包括一个处理器上的偏差检测方法。处理系统接收至少一个事件流数据,其中该事件流数据包括至少一个属性。计算一个长期统计量,这个长期统计量相应于在第一个时间窗口中的至少一个事件流数据的至少一个监测属性的概率密度函数(PDF)的第一次估算。计算一个短期统计量,这个统计量相应于在第二个时间窗口中的至少一个事件数据流的至少一个监测属性的概率密度函数(HF)的第二次估算。分别计算理想的密度分布和长、短期统计量之间的第一和第二距离。至少基于第一、第二距离计算最新的偏差。最新的偏差与阀值比较。如果更多的监测事件通过至少一个事件数据流被传递,重复上述步骤。在本发明的实施例中,提供一种适用于处理系统如至少包括一个处理器上的偏差检测方法。处理系统接收至少一个事件流数据。在第一时间段中,为至少一个事件数据流的至少一个监测事件,需要提供一个短期的核密度估计(KDE)。在第二时间段中,为至少一个事件数据流的至少一个监测事件,需要提供一个长期的核密度估计(KDE)。依靠短期的、长期的核密度估计(KDE)计算一个至少预设定的概率密度函数(HF)的偏差。偏差与阀值比较以检测一个事件流偏差。本发明实施例也包括稳定的计算机易读存储介质,当在至少一个处理器上根据存储指令明白处理时,也执行上述和/和其他的方法。
同样地,本发明实施例提供的系统也使用上述方法,包括用于接收至少一个事件数据流的适配器和执行上述和/或其他方法的处理器。某些实施例中提供数据存储以用于测井有关检测偏差的信息。这些信息包括,例如偏差的时间/日期,期待值或值的范围,实测值或值的范围等。这些方面的实施例可以单独使用和/或形成不同组合以获得更多的实施例。


在图中至少实质上与功能符合的部件在这种情况下可以用同样的标记指出,这些部件不需要在所有图中指出或解释。在图中图I是根据本发明实施例的偏差检测方法的流程图。图2显示了根据本发明实施例的偏差检测方法得到的图表和基于密度的偏差计
晳奸里图3是根据本发明实施例的偏差检测方法的用于偏差检测的程序用户界面。图4为根据本发明实施例的执行CEP处理的处理系统的结构框图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。在本发明的实施例中,提供一种计算机执行程序从期待的流属性中检测运行中的实值数据流的偏差(例如,检测事件流的属性)。实施例中可能使用非参数领域的技术,例如密度估计器,去估算提供的事件流的值分布。这种技术提供的分布可能传递一个压缩简要的实值数据流的统计模型和/或一个流的属性。在某些实施例中,根据各个不同时间域计算的多密度组合估计量,在细微的时间分辨率上检测流的偏差。另外,在某些实施例中,依照CEP处理程序,偏差能够在线(如在运行中,实时)检测并直接回复给用户(例如,通过通知或用户界面)。另外,或可替代地,某些实施例中提供了更直观形象化的偏差检测的具体情况。在某实施例中,偏差检测包括实值事件流的属性的值分布。在某些实施例中,该值分布为概率密度函数(PDF)以及提供全部的或基本全部的给定的数据集的特性。换句话说,一个实值事件流数据的基础属性的密度可能不知道,但可以被估算。相应地,在一些实施例中,可能使用核密度估计(KDE)。如所知道的,核是一种用于估算的加权函数,而核密度估计(KDE)为非参数统计的形式,可以估算随机变量的概率密度函数(PDF)。这样,核密度估计(KDE)的一个功能为可自由假设,例如,不需要估算的流的公知常识。这样,某些执行实施例中的核密度估计(KDEs)能够为随意的实值事件流的属性提供定义明确的估算。在某些实施例中,事件流的偏差检查可能基于三个连续保持的KDEs。首先,用户(例如操作者)可能定义一个理想密度,用于将流的理想性能模型化。第二,一个长期KDE可以对应完整的流(或者一个流的实质性部分)进行连续计算。另外,长期KDE可以将流的长期倾向模型化。第三,短期KDE可以对应一个(相关的)短时间窗口进行连续计算。与长期KDE相似,短期KDE也可以将流的短期倾向连续地或基本上连续地模型化。在某些实施例中,所述时间窗口可能接近一个小时,但也可能根据使用要求、用户选择和监测参数的类型等而改变。示例的时间窗口和它们的实施会在下面进一步进行详细讨论。在某些实施例中,一个应用程序中的运行时间能够连续地或者基本上连续地监测长期、短期KDE与给定的事件流的理想密度之间的不同。长期KDE和理想密度的区别为流的预期和惯有的偏差。而短期KDE与理想密度间的区别可能为流的当前的偏差。这样,如果预期的和当前的偏差之间的区别过高,该应用会报告一个善意的偏差或涉及的偏差。在一些实施例中,用户可以通过为一个 可接纳的偏差设定一个阀值以控制应用的灵敏度,例如,使用一个合适的用户界面。相应地,偏差监测的应用可以通过在线(例如,实时或在运行中)方式运行。这样,当一个新的时间流进应用程序时,估算量可以逐步提高,KDEs间的差别被计算出来,以及检测到的偏差会报告给用户或外部应用等。进一步的,在某些实施例执行中,KDEs可能直观地并连续地或基本连续地向用户提供由应用程序监测的流的当前性能的一个简明实时或基本实时的视图。这个实时或基本实时的视图能够有助提供用户一个调整阀值和时间域等直观基础。上述的应用程序运行算法规则(或任何适合的算法规则)能够通过在线方式计算计算KDEs,例如,基于一个时间窗口的KDE和基于完整流(或完整流的较大部分,相比于小部分)的KDE。一般,一个KDE包括核功能和宽带等地参数。一个KDE基于一串数值(例如事件流)被计算和传递一个有充分根据的值分布的估算值。在某些实施例中,一个KDE算法规则可以利用Epanechnikov kernel作为一个核功能以及利用Normal Scale Rule作为一个宽带。可以理解地,除了这些设置外,其他实施例中还可以利用其他的核/宽带设置方式代替,例如,均值(uniform),三角形的(triangle),四次式(quartic),三次方的(tricube),高斯的(gaussian)以及余弦的(cosine)核功能。核功能的方程式如下设定Epanechnikov K(U) = 3/4 (l_u2) I {μ < 1}UniformK(U) = 1/21 {|u| ^ 1}TriangleK (u) = (I-1 u |) I {|u| 在 1}QuarticK(U) = (15/16) (l_u2)2l{|u| <1}TricubeK(u) = (35/32) (l~u2)3I{|u| ^ 1}GaussianK (u) = I/ V (2 π ) e_1/2u2CosineK(U) = ( π /4) cos (( π /2)u) I{|u| ^ 1}表I在这些公式中,K(U)代表核功能,而I {......}代表指示功能。在一些实施例中,一个KDE的估计要求接入对应的数据集(如事件流)的所有值。例如,在CEP情况下的KDE的估算要求接入所有连续流进的值/事件。同样在CEP情况下,随着时间流逝,连续的事件流可能进一步提供对应的KDE的计算数据。可以理解地,上述的存储完整的事件流的长期KDE为可行或不可行的。相应地,在一些实施例中,应用程序中的算法规则可能使用聚类核(Cluster kernel)。Clusterkernel可能连续或基本连续地保持事件流的分区总和并利用该总和重采样分区事件。在整个事件处理过程中,分区事件的重采样的估算进一步接近KDE。相应地,Cluster kernel由于较低的近似错误值而更利于接近KDEs。同样,Cluster kernel能够逐渐更新。例如,最新的事件的估算量能够更新,而不需要重新计算抓取的数据。在一些实施例中,为了排除旧数据,Cluster kernel会定期重置。例如,Cluster kernel每月重置一次。关于基于时间窗口的短期KDE,这种KDE基于窗口的时间量度内的当前事件。相应地,一个新的事件进入窗口,而旧事件从特定时间框架中下降以从窗口中删除。KDE也会类似地以逐渐的方式进行更新,例如,旧时间可能从KDE的内状态中删除而离开窗口,而新事件插入到KDE中。在一些实施例中,可以设置四次以限定一个应用程序使用的算法规则的操作因素,以检测事件流的偏差。第一个设置可为事件流的理想值分布。在一些实施例中,这可能为表示理想值和非常小的标准偏差的一般分布,能够作为最大允许偏差的模型。这样,这个分布可为一个peek的形式。可替换地,或除此之外,可以使用多种理想值。带多种值的理想分布可能被限 定为带这些值和改变小的一般分布的总和。在一些实施例中,多种理性值可能具有不同的权重。在这种理想值带不同权重的情况下(例如,值I同值2 —样发生两次),那么一般分布的权重总和能够与相应的设置的权重一起使用。第二个设置关于短期估算量(例如短期KDE)的时间窗口。在一些实施例中,还需要额外考虑流率,因此流率的结果和时间窗口的尺寸会等同于窗口中的事件平均数。如果窗口中的事件平均数太高,用于更新和估计KDE的时间可能大于两个事件之间的到达时间。第三个设置为偏差的尺度。在一些实施例中,可以使用任意的(例如,预设定的,用户自定义的,或等等)的距离尺度表示实值功能的属性。该值从整体上表示两种功能完全不同。例如,由于KDEs为密集的从而集合为1,这种尺度利用区间0,2内的值传达KDEs距离。因此,当前的偏向也在区间0,2内。第四个设置为偏差测量的阀值。在一些实施例中,算法规则的灵敏度被这个因素控制。例如,当设置一个低的阀值,更多的偏差会被报告。可以理解地,这种设置可能依赖应用(例如,适用于真实的流事件数据)。在一些实施例中,偏差检测算法规则可能扩展到检查设置的不同的阀值以及让用户确定偏差。在一些实施例中,一种学术算法规则可能适用到这些阀值/偏差组合中。因此,使主要的算法规则和相关的应用程序适用于用户提供给定的应用方案和明确的阀值。下面限定了上述实施例中的用于随后算法规则的因素
权利要求
1.一种适用于处理系统上的偏差检测方法,所述处理系统包括至少一个处理器,其特征在于,所述偏差检测方法包括步骤 (a)从处理系统中接收至少一个事件流数据,所述事件流数据包括至少一个属性; (b)通过至少一个处理器,更新一个长期统计量,所述长期统计量相对于在第一个时间窗口的至少一个事件流数据里的至少一个监测属性的概率密度函数的第一次估算; (C)通过至少一个处理器,更新一个短期统计量,所述长期统计量相对于在第二个时间窗口的至少一个事件流数据里的至少一个监测属性的概率密度函数的第二次估算,且所述第二个时间窗口持续的时间短于所述第一个时间窗口; (d)通过至少一个处理器,分别计算理想的密度分布和长、短期统计量之间的第一和第二距离; (e)通过至少一个处理器,至少基于所述第一、第二距离计算当前的偏差; (f)将当前的偏差与阀值进行比较; (g)对至少一个事件流数进一步提供的检测事件重复步骤(a) (f)。
2.根据权利要求I所述的方法,其特征在于,所述事件流数据的理想密度分布基于多种理想值。
3.根据权利要求I所述的方法,其特征在于,所述短期统计量为短期的核密度估计,所述长期统计量为长期的核密度估计。
4.根据权利要求I所述的方法,其特征在于,所述第二时间窗口基本围绕整个所述至少一个事件流数据。
5.根据权利要求I所述的方法,其特征在于,所述阀值由用户设定。
6.根据权利要求I所述的方法,其特征在于,所述阀值由处理系统自动决定。
7.根据权利要求I所述的方法,其特征在于,所述计算长期统计量包括使用聚类核。
8.根据权利要求I所述的方法,其特征在于,进一步包括步骤在显示屏上显示当前的偏差与阀值比较的结果,所述显示屏与处理系统连接。
9.根据权利要求I所述的方法,其特征在于,进一步包括步骤在数据存储器或外部应用上输出当前的偏差与阀值比较的结果。
10.根据权利要求I所述的方法,其特征在于,进一步包括步骤当所述当前的偏差超过阀值时发出通知。
11.一种适用于处理系统上的偏差检测方法,所述处理系统包括至少一个处理器,其特征在于,所述偏差检测方法包括步骤 从处理系统中接收至少一个事件流数据; 在第一时间段中,维持一个短期的核密度估计,用于至少一个事件流数据里的至少一个监测事件; 在第二时间段中,维持一个长期的核密度估计,用于至少一个事件流数据里的至少一个监测事件; 通过依靠所述短期的和长期的核密度估计的至少一个概率密度函数计算一个偏差; 将所述偏差与阀值比较,从而检测所述至少一个事件流数据的偏差。
12.一种用于事件处理的偏差检测系统,其特征在于包括 一适配器,用于接收至少一个事件流数据;和至少一个处理器,所述处理器被设置为 更新一个长期统计量,所述长期统计量相对于在第一个时间窗口的至少一个事件流数据里的至少一个监测属性的概率密度函数的第一次估算; 更新一个短期统计量,所述长期统计量相对于在第二个时间窗口的至少一个事件流数据里的至少一个监测属性的概率密度函数的第二次估算,且所述第二个时间窗口持续的时间短于所述第一个时间窗口; 分别计算理想的密度分布和长、短期统计量之间的第一和第二距离; 至少基于所述第一、第二距离计算当前的偏差 将当前的偏差与阀值进行比较; 对至少一个事件流数进一步接收的检测事件进行重复更新、计算和比较。
13.根据权利要求12所述的系统,其特征在于,所述短期统计量为短期的核密度估计,所述长期统计量为长期的核密度估计。
14.根据权利要求12所述的系统,其特征在于,所述第二时间窗口基本围绕整个所述至少一个事件流数据。
15.根据权利要求12所述的系统,其特征在于,所述阀值由用户设定。
16.根据权利要求12所述的系统,其特征在于,所述阀值由处理系统自动决定。
17.根据权利要求12所述的系统,其特征在于,所述计算长期统计量包括使用聚类核。
18.根据权利要求12所述的系统,其特征在于,还包括用户界面,用于显示当前的偏差与阀值比较的结果。
19.根据权利要求12所述的系统,其特征在于,还包括数据存储器,用于记录检测到的偏差有关的息。
20.一种非短暂的计算机可读存储媒介,当由至少一个处理器进行存储指令处理时,执行如权利要求I所述的方法。
全文摘要
本发明公开了一种事件流的偏差检测系统和/或方法。更具体地,本发明实施例涉及到更新进来的事件流数据的短期和长期的统计量。在一些实施例中,至少基于所述长、短期统计量计算当前的偏差。然后将当前的偏差与阀值进行比较。在某些实施例中,所述统计量需求的估算通过核密度估计完成。
文档编号G06F17/30GK102902699SQ20111042863
公开日2013年1月30日 申请日期2011年12月19日 优先权日2010年12月17日
发明者迈克尔·卡马特, 克斯利多夫·海因茨, 尤尔根·克雷默, 托拜厄斯·里门施奈德 申请人:德商赛克公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1