处理无序事件的设备、方法和计算机程序的制作方法

文档序号:9240024阅读:304来源:国知局
处理无序事件的设备、方法和计算机程序的制作方法
【专利说明】处理无序事件的设备、方法和计算机程序
[0001]本发明的实施方式一般地涉及数据网络,并且具体地,涉及处理无序事件(即,没有按照它们原先的时间顺序接收到的后续事件)的设备和方法。
[0002]传感器网络(诸如,例如无线传感器网络)具有广泛的应用。例如,各种技术的无线传感器网络可以被用于定位目的,诸如定位人类和/或其它对象。这里,“定位”意指地理定位或位置的检测或确定。一些专门的定位或位置跟踪系统可以被用于在体育事件中定位选手和其它对象(例如球),所述体育事件诸如例如英式足球、美式足球、橄榄球、网球等。
[0003]在使用收集的选手和/或球的地理定位或定位数据情况下,能够得到与整个体育事件(例如英式足球比赛)有关的或与单独队伍或选手有关的统计信息。这样得到的统计信息可能因各种原因而是有趣的。一方面,存在各种商业利益,因为特定统计量和它们的分析对于在体育场中和/或在家里的电视机前面的观众来说可以是特别相关的。因此,提供特定统计量可以提高对体育事件的更大兴趣。另一方面,从原始定位数据得到的统计数据也可以被用于训练目的。这里,可以分析自己的队伍的对手和/或行为以及单独选手的表现和/或健康状况。
[0004]前述的定位或位置跟踪系统可以基于各种技术。例如,可以基于无线无线电信号和/或磁场的评估来确定定位信息。出于这种目的,可以将通常还被表示为传感器的发送器和/或接收器放置在要由系统定位的单独对象(例如选手、球等)处。还可以将对应的接收和/或发送装置安装到在感兴趣的地理区域(如例如,英式足球场)附近的预定定位。信号强度、信号传播时间和/或信号相位等几个可能的技术另选方案的评估然后可以导致指示单独选手或对象在不同时刻的地理位置的传感器数据流。通常,地理定位数据样本与指示在哪一个时刻对象位于在哪一个地理位置处的时间戳相关联。采用这种组合的信息除包括例如X坐标、I坐标和Z坐标的定位数据之外也可以提供运动数据(例如速率(速度)、加速度等)。在本说明书的续篇中,由定位传感器系统传送的定位和运动数据还将被称为(原始)传感器数据。
[0005]在无线跟踪系统的特定示例中人们或对象可以装配有微型发送器,所述微型发送器可以被嵌入在鞋袜、制服和球中并且其信号被放置在观测下的区域附近的许多天线拾取。接收器单元处理所收集的信号并且确定它们的到达时间(ToA)值。基于传播延迟差的计算,然后连续地确定了各个发送器的位置。另外,与无线跟踪系统一起集成的计算机网络可以分析位置或传感器数据以便检测特定事件。在2.4或5GHz波段下操作,跟踪系统是全世界免授权的。
[0006]基于从定位或位置跟踪系统输出的原始传感器数据流可以检测到所称的“事件”。从而事件或事件类型可以被定义为在一时间点的感兴趣的瞬时发生并且可以由唯一事件ID定义。一般而言,事件与能够被感测到的相关量的分布中的改变相关联。事件实例是事件类型在不同时间点的瞬时发生。事件可以是简单事件或复合事件,所述简单事件直接基于跟踪系统的传感器数据(运动数据),所述复合事件替代地基于先前检测到的其它事件。也就是说,复合事件不直接取决于原始传感器数据而是取决于其它事件。在球赛应用中,事件例如可以是“选手X击中球”或“选手X占有球”。更复杂的事件例如可以是“越位”或“犯规”。各个事件实例可以具有三个时间戳:发生时间戳、检测时间戳和到达时间戳。所有时间戳在相同的离散时域中。发生时间戳ts是当事件实际上已发生时的时间,检测时间戳dts是当事件已由事件检测器检测到时的时间,并且到达时间戳ats是当事件由特定事件处理系统(EPS)节点接收到时的时间。发生时间戳和检测时间戳对于在任何接收节点处的事件实例来说是固定的,然而到达时间戳可以在网络中的不同节点处变化。
[0007]在过去几年里基于底层传感器数据流的事件的检测(复杂事件处理,CEP)已经提高增加了对数据库和分布式系统社区的兴趣。现今广泛且数目日益增长的应用(包括如网络监控、电子商务、保健、金融分析和安全或前述体育事件监视的应用)依赖处理对理想地采取事件的时间排序系列的形式的数据流的查询的能力。如在大量供应的传感器数据和/或事件不再能够被人类捕获或处理的许多应用中一样,事件检测表示原始传感器数据和/或事件在无需人为干预的情况下的完全自动化的处理。例如,如果选手和运动对象(例如,球)的高速变化将被预期到,则原始传感器(定位或位置跟踪)数据必须由底层(无线)传感器网络以足够高的数据速率确定。另外,如果存在大量的选手和/或对象(例如,在存在22个选手和一球的英式足球中)要被跟踪,则具体地相对于实时事件处理要求,每秒总体地理定位和运动数据样本的数量可能变得过高。
[0008]因此,即使原始传感器和/或事件数据流被完全自动化地分析并且用信号发送,也可能仍然存在多得太多的信息,其全面可能甚至不是任何感兴趣的。在将来这个问题将甚至变坏,因为越来越多的装置将装配有传感器以及将它们确定的传感器数据提供给诸如因特网的公用网络(例如,由像智能电话这样的无线装置确定的天气或温度数据)的可能性。由于这个原因要进一步处理为感兴趣的特定事件的传感器数据的数量将迅速地增长。自动化事件检测可以通过设法逐条地聚合原始传感器数据并且设法确定更抽象的且相互依赖的事件来为此提供补救,这可以转移比原始传感器数据它本身多得多的信息。例如,除前述的英式足球相关示例之外,这样确定的事件能够包括“汽车X位于路口 Y处”或“交通在道路X上堵塞”。
[0009]在自动化事件检测中出现的问题是用于对可能整体地并行的传感器和/或事件数据流执行事件检测的所需计算能力-并且这一切都在至少准实时处理要求下。这个问题可以通过事件检测器的并行化来解决,所述事件检测器例如可以在计算机网络的不同的(即分布式)网络节点(其例如可以经由以太网进行通信)上运行。从而事件检测器根据用户的事件规范从事件或传感器数据流中自动地提取感兴趣的特定事件。单独的事件检测器可以分布在数据网络的不同的网络节点之上,其中,不同的事件检测器使用事件和/或传感器数据进行通信从而通过网络使用不同的网络路线和分支而行进。从而,可以根据像例如UDP (用户数据报协议)、TCP (传输控制协议)/IP (网际协议)等这样的一些传输协议在数据分组中传输原始传感器数据和/或事件。然而,这个构思相对于在不同的网络节点当中可能不均衡的计算负荷并且相对于网络内的事件数据流的同步引起新的问题。在没有适合的对策的情况下,在不同的网络节点当中的计算负荷是不均衡的并且网络中的单独的传感器和/或事件数据流对于彼此而言不是时间同步的,这意味着单独的事件可以不按照它们原先的时间顺序到达事件检测器并且从而导致假检测结果。
[0010]让我们考察示例性英式足球场景,其中多个并行自动地操作的事件检测器被假定检测到从选手A到选手B的传球。为了检测所述“传球”事件,以下前面的事件序列是要求的:
[0011]1.“选手A占有球”,
[0012]2.“选手A踢球”,
[0013]3.“球离开选手A”,
[0014]4.“球来到选手B附近”,
[0015]5.“选手B击中球”。
[0016]对于事件“选手X踢球”的事件检测可以基于事件序列“选手X靠近球”和检测到的球的加速度峰值。存在用于为所述事件“选手X踢球”建立自动化事件检测器的以下另选方案。
[0017]我们可以等待单独要求的事件-一个接着一个。如果我们已按照正确的(时间)顺序看到所有所要求的事件(这里,为了简单起见任何中止准则被忽视),则我们能够说我们已看到或经历了传球。然而,对于复杂的应用所有所要求的事件的检测由于事件检测器的并行化而未必在单个网络节点或CPU(中央处理单元)上发生。由于这个原因未必保证单独要求的事件按照正确要求的顺序到达事件检测器。这例如可能是由于网络抖动、变化的和/或不均衡的CPU负荷或增加的网络负荷而导致的。例如,考虑包括其中ek.ats〈ek+1.ats (I ( k〈n)的事件实例ep e2、…、en的事件,即,事件流中的事件是按照它们的到达时间以降序排序的。如果存在其中I ( i〈j ( η的任何事件%和e P使得e1.ts>ej.ts,则事件&被表示为无序事件。
[0018]因此,我们能够设法缓冲事件并且然后搜索缓冲器以得到正确的事件模式。但是应该使用哪一个缓冲大小呢?如果我们说传球必须在最大5个时间单位(例如秒)内发生,则我们将必须考虑在第一相关事件之后在最大5个时间单位的时间段内的事件,直到我们已检测到传球为止或直到我们中止为止。然而,最后相关事件是计算上相当复杂的也是可能的,这要求小规模的附加缓冲器。但是这个附加缓冲器的大小是什么呢?并且与要求“传球”事件作为输入事件的复合事件检测器有关的缓冲器大小是什么呢?
[0019]S.Babu, U.Srivastava 和 J.Widom, “Exploiting k-constraints to reducememory overhead in continuous queries over data streams,,,ACM Trans.DatabaseSystems,第29卷,第545 - 580页,2004的K-slack算法是用于在事件检测中处理无序事件的公知解决方案。K-slack使用长度K的缓冲器来来确保能够使事件ei延迟达至多K个时间单位(K必须为已知先验的)。然而,在分布式系统中事件信令延迟依赖于是整个系统/网络配置(即,事件检测器的分布)以及网络负荷和CPU负荷。最终系统配置和负荷场景均不可以在编码时被预见。
[0020]通过2007年第27届分布式计算系统国际会议研讨会(华盛顿,DC)会刊第67 - 74页中的 M.Li, M.Liu, L.Ding, E.A.Rundensteiner 和 M.Mani, “Event stream processingwith out-of-order data arrival ” 的方法缓冲事件 Gi至少和 e ” ts+K elk 一样长。因为在分布式系统中没有全局时钟,所以各个节点通过将它设定为迄今看到的最大发生时间戳来使它的本地时钟同步。
[0021]实现K-slack方法的排序单元对输入流应用具有给定K的滑窗,根据它们的时间戳使事件延迟,并且产生事件的有序输出流。然而,单个固定先验K不适合于分布式分层事件检测器。因为K-slack花费K个时间单位生成复合事件,所以在高层上还缓冲达K个单位并且等待复合事件的事件检测器错过所述事件。等待时间沿着事件检测器层次累计。
[0022]2009年第25届数据工程国际会议(中国上海)会刊第784 - 795页的M.Liu,M.Li, D.Golovnya, Ε.Rundensteiner 和 K.Claypool, “Sequence pattern query processingover out-of-order event streams”通过为各个事件检测器指定单独的K而避免了这样的问题。必须将各个Kn(η表示层次级别)设定为大于max (Klri)即大于所有订阅事件的最大延迟的值。从而订阅事件是对相应的事件检测器感兴趣的事件。层次级别η的事件检测器订阅较低层次级别的事件以便将它用作输入来检测更高层次事件。尽管这乍一看听起来不错,但是为所有&选取适当的值是困难的、应用且拓扑特定的,并且仅能够在仔细测量之后完成。保守且过大的Kj导致具有高存储器需求的大缓冲器并且对于分层CEP导致长延迟(因为延迟累计)。必须避免太大的K」。理论上,对于通用系统仅能够借助于运行时测量找到最小的/最好的I,因为等待时间取决于事件检测器的分布并且取决于具体的底层网络拓扑。而且,当检测器迀移时最好的Kj值在运行时改变。
[0023]如已经说明的,可以在许多应用领域(诸如监视、体育、股票交易、RFID系统和各种区域中的欺诈检测)中将基于事件的系统(EBS)用作对于数据流的准实时反应性分析的选择的方法。EBS可以将高数据负荷变成事件并且将它们过滤、聚合和变换成更高级别事件,直到它们达到适于终端用户应用或适于触发某个动作的粒度级别为止。常常,性能要求是如此高以致事件处理需要分布在分布式计算系统的数个计算节点上。许多应用还要求具有最小事件延迟的事件检测。例如,分布式EBS可以检测用于把自主相机控制系统引向感兴趣点的事件。在图1中示意性地例示了这样的系统。
[0024]图1示出了耦接至包括无线电发送器112的跟踪系统110(例如RTLS)的EBS100,所述无线电发送器112可以附接至一个或更多个感兴趣对象。由发送器112发出并且携带原始传感器数据的无线电信号可以经由
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1