利用映射缩减集成事件处理的制作方法

文档序号:8516055阅读:222来源:国知局
利用映射缩减集成事件处理的制作方法
【专利说明】利用映射缩减集成事件处理
[0001]对相关申请的交叉引用
[0002]本申请根据35U.S.C.119(e)要求于2012年12月5日提交的标题为“A METHODFOR INTEGRATING EVENT PROCESSING WITH MAP REDUCE” 的美国临时申请 N0.61/733,844的优先权,其全部内容通过引用被结合于此,用于任何目的。本申请根据35U.S.C.119(e)还要求于 2013 年 3 月 29 日提交的标题为 “INTEGRATING EVENT PROCESSING WITH MAPREDUCE”的美国临时申请N0.61/806,744的优先权,其全部内容通过引用被结合于此,用于任何目的。本申请根据35U.S.C.119(e)还要求于2013年11月13日提交的标题为“INTEGRATING EVENT PROCESSING WITH MAP-REDUCE”的美国非临时申请N0.14/079,538 的优先权,其全部内容通过引用被结合于此,用于任何目的。
【背景技术】
[0003]连续事件处理器能够接收连续的事件流并且通过对其中包含的每个事件应用连续事件处理(CEP)查询来处理每个事件。这种CEP查询可以被格式化为符合CEP查询语言的语法,其中CEP查询语言诸如连续查询语言(CQL),它是结构化查询语言(SQL)的扩展。SQL查询通常对已存储在关系型数据库的表中的数据(每个用户请求)应用一次,而CQL查询随着到来事件流中的事件被连续事件处理器接收被重复地应用到那些事件。
[0004]例如,数据流可以指定各种公司的股票价格。随着时间的流逝,那些公司的最新股票价格可以被添加到数据流中。连续事件处理器可以接收每个这种股票价格,并且在那个股票价格到达时对那个股票价格应用CQL查询。CQL查询可以指定各种操作,潜在地包括过滤和聚合操作。连续事件处理器然后可以向各种感兴趣的监听者输出CQL查询的应用结果O
【附图说明】
[0005]图1是根据本发明的实施例说明用于利用映射缩减算法工具和CEP的组合计算相对于大量数据的实时查询结果的技术的流程图。
[0006]图2是根据本发明的实施例说明用于利用映射缩减算法工具和CEP的组合计算相对于大量数据的实时查询结果的系统的框图。
[0007]图3是说明可以根据本发明的实施例使用的系统环境的组件的简化框图。
[0008]图4是可以根据本发明的实施例使用的计算机系统的简化框图。
[0009]图5是根据本发明的实施例说明用于基于单个查询生成连续和批处理组件的技术的例子的流程图。
[0010]图6是根据本发明的实施例说明用于基于查询生成功能上等效的运算符的技术的例子的流程图。
[0011]图7是根据本发明实施例的电子设备700的简化框图。
【具体实施方式】
[0012]本发明的实施例涉及连续事件处理领域。本发明的实施例包括用于利用连续事件处理和映射缩减(Map-Reduce)算法工具的组合相对快速地处理或查询大量数据的技术。在实施例中,连续事件处理器通过合并(a)来自自从当前执行的映射缩减作业启动以后接收到的事件的CQL查询结果和(b)由最近完成的映射缩减作业产生的最近的查询结果连续地产生实时结果。当当前执行的映射缩减作业完成时,存储它的查询结果且使得该查询结果对于连续事件处理器是可访问的,并且相对于自从上一个映射缩减作业执行之后大小已增长的事件数据启动新的映射缩减作业。映射缩减算法工具为分析和处理大量数据提供了方便的机制。这种大量的数据有时被称为“大数据”。
[0013]大数据是由信息技术媒体和供应商使用的术语。企业正在积累巨大量的数据--
兆兆(terabytes)字节,甚至拍字节(petabytes)的数据--并且具有竞争欲望来得到对市场趋势和公司业绩的更深入了解。公司正面临着管理和分析大数据的愿望。现代的应用处理极大量的数据。这些巨大的量使得难以利用常规的处理机制迅速地处理数据。
[0014]作为大数据处理的例子,可以考虑其中销售经理想要识别公司在其中产品能够在延长的时间段(诸如上个月)被购买的每个主要市场的最畅销产品的情况。完成这项任务的挑战是要为这种分析所处理的数据量。该数据量可能会在数千、百万、甚至数十亿的销售交易之间不等。诸如关系型数据库和可视化软件的一般工具通常不会伸展到如此大量的数据。此外,数据可以是结构化的和非结构化的,这可能不是由数据管理和分析工具所处理的特征。常规的关系型数据库系统不能及时地处理如此大量的数据。
[0015]因此,为了管理大数据,可以进行一些尝试。一种潜在的处理大量异构数据的方法是跨不同的服务器划分和复制数据,以创建更易管理的数据集。但是,创建数据的多个拷贝使得更难以维护信息的一致性,因为对一个数据集的更新可能不会拷贝到其它的数据集。
[0016]这种一致性缺乏会导致,例如,如果使用数据的应用更新销售数据中的条目,但是那个更新然后未能拷贝到另一个复制的站点。如果访问该数据的其它应用已经在其它交易中使用了一些该数据,那么情况会变得复杂。当数据改变时,数据的重新划分可能是合适的,但是其中这种重新划分应该被执行的方式通常是不清楚的。
[0017]—种可能的用于处理这些复杂性的方法可以包括将数据分布(distributing)为受保护的、不可改变的数据。例如,销售交易可以如它们发生的那样存储在某个可持续存储装置中。可以防止应用改变那个存储的原始数据。使数据保持不可改变避免了一致性问题,并且分布缓和了量的问题。但是,使数据不可改变会使得现有的数据处理工具不能以期望的方式处理分布式(distributed)数据。
[0018]特定的分布式算法工具可以与不可改变的分布式输入结合工作,并且可以相对于分布式系统执行类似于以上销售例子中描述的查询。这种特定的算法工具是映射缩减算法工具。存在映射缩减算法工具各种不同的实现方式。例如,一种实现方式可以在开源代码Apache Hadoop中找到。利用Apache Hadoop,可以创建使用大数据销售交易作为输入并且然后返回最畅销产品作为结果的映射缩减作业。
[0019]映射缩减算法工具相对于分布式数据工作。数据可以被划分(partit1n)到单独的节点中,并且每个节点可以在单独的计算机器上被维护为单独的文件。每个这种机器可以相对于在那个机器上维护的数据与其它机器平行地执行查询。因此,每个机器能够产生有关其特定数据划分的单独的查询结果。接着,这些单独的结果能够被缩减成单个统一的结果。映射缩减算法工具可以完成这种缩减。对于数据中的每个条目,映射缩减算法工具能够将那个条目映射到结果。例如,如果数据条目表示产品,则映射缩减算法工具可以将每个产品映射到指示那个产品相对于其它产品的销售排名的结果。然后,映射缩减算法工具可以将所有这些结果合并成单个统一的结果。这种合并被称为缩减(reduct1n)。
[0020]对于映射缩减算法工具如何能够相对于数据操作的例子,可以考虑涉及在大量单独的网页中计算特定单词的出现数量的例子。第一个网页可能包括10个对特定单词的引用。第二个网页可能也包括10个对特定单词的引用。第三个网页可能只包括单个对特定单词的引用。第四个网页可能包括两个对特定单词的引用。由映射缩减算法工具执行的映射过程可以将每个网页映射到那个网页内的特定单词的出现数量。在这个例子中,由映射缩减算法工具执行的缩减过程仅仅包括将映射到每个网页的所有数量在一起求和,以产生最终的结果,在这个例子中,结果是特定单词的23次出现。
[0021]由于映射缩减算法工具在其上操作的数据的分布式性质,并且取决于输入数据的大小,映射缩减作业可能(参考以上讨论的销售例子)每η分钟,或者,更可能地,每η个小时以批结果返回最畅销项。在一些情况下,数分钟或数小时对于查询结果而言太长而不能等待。例如,一些欺诈检测应用要求在交易进行时的立即结果,而不是在数千个欺诈交易已完成之后。例如另一个例子,零售商可能希望具有对最差销售产品的最新了解,以便商店可以通过当客户进入商店时给那些客户发放优惠卡来促销那些产品。随着等待那个知识所花费的时间量增加,那个知识的可能不相关性也增加。典型的映射缩减算法的实现方式并不产生实时查询结果。
[0022]根据本发明的实施例,连续事件处理(CEP)技术可以与映射缩减算法工具结合使用,以便为针对大型分布式数据集执行的查询产生更快速的查询结果。利用CEP,连续事件处理器从数据流中实时地接收事件,并且随着它们被接收到,相对于那些事件执行分析处理。例如,随着销售交易在公司的商店里发生,那些交易中的每一笔交易可以在那些交易的时刻作为事件被加入到数据流中。放置在数据流中的事件可以被对接收那些事件感兴趣的实体(诸如应用程序)监听。这些实体可以向连续事件处理器注册以接收这种事件。此外,随着这种销售交易在公司的商店里发生,那些交易中的每一笔交易可以被添加到诸如关系型数据库的持久性数据存储区中,其可以跨多个独立的站点按照某种划分模式进行分布。
[0023]随着那些事件到达连续事件处理器,该连续事件处理器可以连续地将CEP查询应用到来自事件流的事件。例如,处理器可以向代表销售交易的事件应用确定在具有指定持续时间的时间窗口上的最畅销产品的查询。为了这样做,处理器可以在计算存储器中维护关于处理器在具有那个持续时间的最近发生的时间窗口内从数据流中接收到的所有事件的数据。但是,这个时间窗口的长度会受对连续事件处理器可用的计算存储器的量限制。通常,连续事件处理器将不会有足够的存储器以把时间窗口延长到包括所有曾经发生的销售交易,例如,尤其如果发生了非常大量的销售交易。同样,取决于量,连续事件处理器甚至可能没有足够的存储器以把时间窗口延长到包括所有在去年发生的销售交易。此外,随着时间窗口大小的增加,连续事件处理器相对于落入该窗口内的所有事件执行查询所花的时间量也增加。CEP机制传统上被用于计算关于在具有相对有限的持续时间的时间窗口内发生的事件的结果,有时仅仅是数小时或数分钟的量级。
[0024]为了克服以上讨论的一些限制,本发明的实施例将CEP的能力与映射缩减算法工具的能力合并在一起。映射缩减算法工具可以用于为事件数据最近累积的批次计算查询结果。例如,可以调度映射缩减作业来计算相对于已在分布式关系型数据库中存储的事件数据的查询结果;这种数据可以已被以持久性的、非易失性地方式,通常在诸如硬盘驱动器的磁介质上存储。这种作业可能花费相对较长的时间来完成。例如,取决于已在分布式数据存储装置中累积的事件数据的量,作业可能花费一天来完成。在本发明的实施例中,一旦映射缩减作业开始在计划的时间执行,映射缩减算法工具就只考虑已在分布式数据存储装置中存储的不晚于计划时间的事件数据;映射缩减作业不包括当映射缩减算法工具在处理作业时当前到达数据流中的事件;根据实施例,映射缩减作业包括截至该映射缩减作业开始被执行时已经从数据流中接收到并存储在分布式数据存储装置中的事件。
[0025]每个映射缩减作业都是批技术的例子。假定映射缩减作业花费指定量的时间完成,那么在指定量的时间期间到达数据流中并且存储在分布式数据存储装置中的事件将在随后执行的映射缩减作业中
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1