首页> 中国专利> 使用实时处理器的大规模事件评估

使用实时处理器的大规模事件评估

摘要

本发明涉及使用实时处理器的大规模事件评估。大规模事件处理系统通常被设计成通过在大型数据库中存储大的事件集,向事件的记录应用复杂查询以及生成报告和通知,来执行数据挖掘操作。然而,由于此类查询在非常大的数据集上执行,因此查询的处理通常在事件的发生及其报告或通知之间引入显著的延迟。相反,大规模事件处理系统可被设计成根据评估计划组织的大型状态机,其包括实时地评估事件流中的各个事件以更新事件处理器的内部状态并在满足响应条件时执行响应的事件处理器的图。因此,对事件流的连续监控和评估可使事件处理系统能够提供对复杂查询的实时响应和通知。

著录项

  • 公开/公告号CN102609435A

    专利类型发明专利

  • 公开/公告日2012-07-25

    原文格式PDF

  • 申请/专利权人 微软公司;

    申请/专利号CN201110431361.8

  • 申请日2011-12-20

  • 分类号G06F17/30(20060101);

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人刘佳

  • 地址 美国华盛顿州

  • 入库时间 2023-12-18 06:17:12

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-08-12

    专利权的转移 IPC(主分类):G06F17/30 变更前: 变更后: 登记生效日:20150720 申请日:20111220

    专利申请权、专利权的转移

  • 2015-05-20

    授权

    授权

  • 2012-09-26

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20111220

    实质审查的生效

  • 2012-07-25

    公开

    公开

说明书

技术领域

本发明涉及事件评估,尤其涉及使用实时处理器的大规模事件评估。

背景技术

在计算领域中,许多场景涉及要通过数据挖掘评估的一组事件。作为第一 示例,事件可包括一组消费者与商店、网站、产品或服务交互的动作,并且可 评估动作以标识消费者趋势。作为第二示例,事件可包括构成人口统计、团体 或组织的个体的动作,并且可评估动作以标识个体之间行为的行为模式。作为 第三示例,事件可包括希望接收其可能感兴趣的服务和信息的用户的动作。作 为第四示例,事件可包括诸如机器或环境的系统的测量,评估这些测量以代表 管理员监视系统的状态。作为第五示例,事件可包括在技术或科学研究中执行 的测量,并且可执行评估以标识相关的信息。

许多这种处理系统以大型数据库为中心,并且评估存储在其中的数据。例 如,许多这种处理系统被设计为服务器场,包括大量的作为分布式数据库来互 操作的数据库服务器,并被配置成生成要应用于其中存储的非常大的数据集的 各种查询。可存储该信息,例如作为包括互相关记录的大的表集合,其中这种 表和记录可跨构成服务器场的诸数据库服务器分布。作为这种大规模处理的示 例,许多这种数据处理系统利用基于MapReduce(映射化简)的框架,其中中央 协调系统可通过标识各个查询组件、将各个查询组件分发至存储与该查询组件 相关信息的数据库服务器、并合成由各个数据库服务器生成的查询结果以生成 查询响应来评估查询。这种数据库通常被设计成存储在一段时间内收集的大量 数据,并将大且复杂的查询应用于大量记录(可能包括在较长一段时间内收集的 数十亿记录),且对这种查询的评估最终可产生包括满足查询准则的一部分记录 的结果集。

发明内容

提供本发明内容以便以简化形式介绍在以下具体实施方式中进一步描述 的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键因素或必要 特征,也不旨在用于限定所要求保护的主题的范围。

以存储在数据库中的记录为中心设计的事件处理系统可呈现许多优点,如 详细评估在较长一段时间内检测到的事件的细微差别。然而,这种数据库系统 可包括一些缺点。首先,对大数据集的查询的应用可花费一段时间来针对大数 据集执行。例如,基于各种查询的报告可周期性地生成,但是这种报告的频率 可在时间出现与报告结果之间引入延迟,从而限制接收该报告的接收者(如个 人和过程)对最近事件的响应性。作为第二示例,大量历史信息的管理存储可 能成本很高,涉及获取和维护大存储系统的管理和成本。作为第三示例,报告 的接收者可能对数据库中存储的事件的细粒度细节几乎不感兴趣,而只对通过 评估产生的高级报告感兴趣。然而,由于在存储信息之后执行计算,因此管理 员可能无法在不丢失在影响报告结果的事件记录中捕获的细节的情况下减少 数据占位。因此,许多存储的记录可能太具体使得对于管理员而言直接值太多 (同时也施加了显著的管理成本),但是管理员可能必须捕获信息以便于接收利 用这种记录的分析结果。

本文中呈现的是用大规模处理器改进对事件的评估的技术。根据这些技 术,对这种事件的评估不是主要通过在数据库中存储这种事件的记录并且然后 向数据库应用查询以生成表示有用信息的查询结果来执行。相反,处理系统可 被规划成大型状态机,包括作为单独状态机进行操作并与其它事件处理器进行 通信的实时事件处理器的图。可提供评估计划(例如,评估事件集合的逐步逻辑 过程),并且对于评估计划的各个评估阶段,可实例化一个或多个事件处理器, 每个事件处理器具有在响应条件被满足时使事件处理器执行响应的响应条件 集合。当接收到事件时,事件处理器可对事件执行某些处理,更新其内部状态, 并且如果满足其响应条件则执行响应(如生成报告或通知,或者将事件或处理结 果传送至另一事件处理器)。因此,事件和处理结果的结果和效果不是存储在数 据库中,而是存储在状态机的内部状态中。此外,对事件流的监视和处理基于 状态机的当前内部状态产生对查询的通知和响应,这些当前内部状态已从事件 流的历史生成并反映事件流的历史。结果,基于较长历史的累积知识的通知和 报告可在检测到事件或接收到查询之后迅速生成。

为实现上述和相关目的,以下描述和附图阐述了各个说明性方面和实现。 这些方面和实现仅指示可使用一个或多个方面的各种方式中的一些。结合附图 考虑以下详细描述,则本发明的其他方面、优点、以及新颖特征将变得显而易 见。

附图描述

图1是表征使用事件处理数据库处理从事件源接收的事件的示例性场景的 图示。

图2是表征根据本文所呈现的技术使用实时事件处理集合处理从事件源接 收的事件的示例性场景的图示。

图3是示出用于评估从事件源接收的事件的示例性方法的流程图。

图4是示出用于评估从事件源接收的事件的示例性系统的组件框图。

图5是包括被配置成实现本文中所阐述的各种措施中的一个或多个的处理 器可执行指令的示例性计算机可读介质的图示。

图6示出了其中可实现本文中所阐述的各种措施中的一个或多个的示例性 计算环境。

具体实施方式

现在参考附图来描述所要求保护的主题,所有附图中使用相同的附图标记 来指代相同的元素。在以下描述中,为解释起见,阐明了众多具体细节以提供 对所要求保护的主题的全面理解。然而,很明显,所要求保护的主题可以在没 有这些具体细节的情况下实施。在其它情况下,以框图形式示出了各种结构和 设备以便于描述所要求保护的主题。

在计算领域中,许多场景涉及处理从事件源接收的大的事件集合。事件可 包括例如个体的动作、物理特性的测量或由自动过程生成的报告。作为第一示 例,可检测一组消费者的事件以观察消费者趋势,如产品和服务的流行度、用 户体验、和消费者决策。作为第二示例,可检测一组个体(如社团或组织的成员) 的事件以标识行为模式,如评估在社交网络中发生的交互和讨论。作为第三示 例,终端用户可利用计算机跟踪其动作以标识兴趣,呈现与之相关的信息,并 代表终端用户采取动作。作为第四示例,可记录对系统(如自然环境、机器或加 工厂)的测量以评估、分析并监控该系统的状态。作为第五示例,事件可发生在 技术或科学研究领域中,如社团中个体的医学事件,并且可评估这些事件以生 成研究领域内的新信息。在这些和其它场景中,关于事件的大的数据集可以生 成并报告给用于经由数据挖掘技术进行处理的处理系统。评估可以是受指导 的,例如由管理员规划为响应于特定查询来检索信息,和/或是未受指导的,例 如自动标识事件中的管理员可能感兴趣的重要模式,如群集相似类型的数据或 规划关于事件的信息域的知识或试探法。

许多这种系统被设计成计算机集合,如服务器场,其一起管理被配置成存 储大量记录(可能共计为数十亿)的大且复杂的数据库。例如,数据库可分布在 大量数据库服务器上,每个数据库服务器被配置成存储数据库的一部分(如数据 库的表的子集和/或一个或多个表的记录的子集),并向其中存储的记录应用各 个查询。数据库也可被构造为一系列的层,如第一服务器集合作为配置成存储 数据的数据存储层操作,而第二服务器集合作为配置成访问数据并执行对数据 的复杂评估的事务逻辑层操作。这些服务器可支持许多类型的操作,如对数据 的复杂和历史分析、监视特定兴趣的事件,提供以各种方式总结数据的报告、 以及数据挖掘以标识数据库中所表示的模式和知识。

常用于这种事件处理系统的一种此类技术是在数据库服务器集合上分布 查询。MapReduce框架常用于该任务,并通过提供具有关于其它数据库服务器 (包括该事件处理系统)的信息的主节点来这样做。一旦接收到查询,主节点就 可设法将查询分解成各个子查询,每个子查询关于存储在特定数据库服务器子 集上的数据子集。例如,如果查询涉及三个表的组合评估,则主节点可设法找 到当前存储各个表的一个或多个数据库服务器,并可将子查询发送到各个数据 库服务器从而查询其所存储的数据。一旦从各个数据库服务器接收到查询评估 的结果,则主节点可将诸结果合成为响应于该查询的结果集合,并可将其提供 给提交此查询的个体或进程。

图1呈现表征作为事件处理数据库16一起操作的计算机集合的示例性场 景10的图示。在该示例性场景10中,事件源12生成一系列事件14,事件14 被报告给事件处理数据库16用于评估。事件处理数据库16的查询处理器18 可接受事件14、标识存储事件14的一个或多个数据库服务器20,并将事件14 提供给所标识的数据库服务器20用于在数据库中存储。此外,当用户22提交 查询24时,查询处理器18可接收查询24并评估它以标识涉及数据库的各个 部分的各个子查询26(如指定从第一表选择和从第二表选择的连接查询)以及存 储这些部分的数据库服务器20。查询处理器18然后可将子查询26发送到一个 或多个数据库服务器20用于评估。每个数据库服务器20可接收子查询26,针 对本地存储的数据库的一部分来处理该子查询,并返回响应28,如数据的选择 或投影。查询处理器18然后可接收响应28并合成查询结果集合30以返回给 用户22。以此方式,事件处理数据库16可扩大以处理大量记录(例如各种事件 14的数十亿条记录)的存储和复杂查询的应用以获得复杂的分析。此外,数据 挖掘技术可应用于标识事件中表示的新信息,如事件14的模式、事件14的分 类和群集、以及试探法。

虽然图1的示例性场景10中的事件处理数据库16呈现某些优点,但是围 绕大数据库的处理系统的设计也引起某些缺点。作为第一示例,大数据库的存 储涉及获得存储和处理硬件以及配置和管理事件处理系统16中相当高的成本。 例如,管理员可能花费相当大的关注来设计、实现、保护和维护数据存储、其 中包含的数据库、以及查询处理器18和数据库服务器20的相互关系。此外, 具有高粒度水平的大量事件14的存储可能是不成本合算的。例如,对数据库 应用的复杂查询可从数据库中存储的低级记录生成高级结果(如宏分析和提取 的知识),但是另一方面,海量低级数据的存储可施加相当高的管理成本,但没 有显著的益处。但是,剔除海量的低级数据可能是不可行的,因为如果将来查 询24的执行没有对较旧事件14以及较新事件14应用的话,该执行可能偏斜。

作为第二示例,针对数据库中存储的大量记录的任何查询24的处理可涉 及相当大的计算资源,因为查询可能在大量的和/或复杂的记录上执行。结果, 每个查询24的处理可涉及相当大的计算资源开销和相当大的延迟。因此,复 杂查询24通常只是周期性地执行,如一周一次。此外,事件处理数据库16可 能无法连续监视事件12的更新和改变。结果,事件处理数据库16可能无法响 应于新接收的事件14提供连续、实时的报告和通知。在接收事件12与向用户 22通知或报告查询结果30之间施加的延迟可减小其价值。例如,如果复杂查 询每周执行一次,则可能不向用户22通知事件14直至事件出现后长达一周。 在快速响应性可能有重要价值的环境中该延迟可能是高代价的。

作为第三示例,事件处理数据库16可能无法以连续方式针对事件14继续 评估查询24。在某些场景中,事件处理数据库16在评估查询24并生成查询结 果30后,可将查询24应用于之后接收的事件14并用基于这些事件14新生成 的记录补充结果。然而,该补充方法没有针对整个数据库全盘地重新评估查询 24。例如,在涉及将事件14群集为不同类型的数据挖掘技术中,查询24的第 一评估可标识事件14的某些群集,而新接收事件14的继续评估可将事件14 分类到先前标识的群集中,并且也可标识包括事件14的新群集,该新群集明 显不同于先前标识的群集。然而,新事件的补充评估不能在没有针对整个数据 库全盘地重新评估查询24的情况下鉴于新事件14重新评价先前标识的群集。

该低效主要可由重新评估各个查询24时事件处理数据库16的无状态性 (statelessness)引起。例如,查询24的处理涉及当前记录集合和查询24中指定 的操作,但是不包括先前生成的查询24引起的知识或先前计算。例如,对数 据库重复执行相同的查询24涉及收集相同的记录和对其执行相同的评估。相 反,事件处理数据库16对于每个查询16从头重新评估所引用的数据集。虽然 高速缓存技术可改进查询24的吞吐量,但是一个查询24的结果没有有意义地 通知进一步查询24的结果。一般而言,事件处理数据库16存储信息并单纯地 评估查询24,但是不捕获或利用知识。此外,数据库中已被评估的细粒度数据 可能必须被保留,以实现对于将来查询24的一致结果,因为查询14的评估只 能通过重新处理先前评估的事件14以及后续接收的事件14来利用先前发现的 知识。例如,在涉及事件14的群集的场景中,查询24可基于在查询24期间 揭示的试探法将事件14区分成群集。然而,当查询24终止时,试探法可被丢 弃,例如数据库可保留查询结果30(如所标识的群集和与之相关的事件14),但 是不保留选择群集的原理。因此,在评估后续接收的事件14时,这些原理可 能对于事件处理数据库16是不可用的。重新评估可能只能通过针对整个数据 库重新执行整个查询24而获得。事件14的评估的该单纯性()可呈现事 件处理系统的能力中的显著限制。例如,对于涉及大量数据库记录和/或这些记 录的复杂处理的复杂查询24,连续和实时评估或者甚至是频繁评估可能是不成 本合算的或者仅仅是不可实现的。这些或其它缺点可由使用大数据库评估事件 14中的隐含低效引起。

本文呈现用于评估从事件源12接收的事件14的替代技术。这些技术涉及 不是将事件处理系统建模为数据库以针对每个查询24单纯查询,而是相反建 模为状态机。在这些技术中,提供包括事件14的评估中所涉及的一个或多个 评估阶段的评估计划。评估计划可由用户22(如管理员)借助于计算机或不借助 于计算机生成。使用该评估计划,可生成事件处理器集合,包括配置成针对评 估计划的每个评估阶段执行事件14的评估的诸事件处理器。每个事件处理器 可具有内部状态,并且一旦完成事件14的评估,它就可用评估的结果来更新 其内部状态。事件处理器因此可存储从事件14的评估提取的知识,并且可在 评估后续的事件14时保留并利用该知识。因此,通过在评估每个事件14时比 较其内部状态并作出调节,每个事件处理器可保留在每个评估期间提取的知 识,并可在处理将来事件14时重新使用和重新检查该知识。此外,每个事件 处理器也可基于事件处理器的状态是否与特定响应条件匹配来执行一个或多 个响应。例如,在标识出可表示知识或重要信息的事件处理器的状态的重要改 变时,事件处理器可通知用户22或管理员。此外,事件处理器可与例如事件 处理器互连,以响应于事件14的评估而互通信。最后,事件处理器集合可连 接到事件源以发起对由其生成的事件14的监控。因为每个事件14的评估(包括 新提交的查询24)涉及检查事件处理器的内部状态,而不是单纯地应用查询至 存储在数据库中的整个集合的事件14,所以事件处理器能够以快速方式评估和 响应事件14。因此,这种评估可对事件流连续执行。这可产生可实时传递的通 知、报告和查询结果30,包括鉴于从所有先前事件14的评估中提取的知识的 最近事件14。

作为一个这种示例,事件处理器集合可被配置成标识电影的个人偏好模 式,其可通过包括个体与电影库的交互的事件14来展现。在这种交互中个体 可执行各种动作,包括搜索电影、浏览电影的标题和描述、对电影的推荐作出 响应、和选择用于观看的电影,以及在观看电影时执行的动作,如暂停、向前 跳跃或向后跳跃、再次观看、和在没有完成电影观看的情况下终止。因此,一 个个体在观看会话期间可生成许多这类事件14,并且成千上万的个体可产生海 量的这类事件14的流。根据本文呈现的技术,评估计划可被设计成(例如由事 件处理系统的管理员借助于计算机或不借助于计算机)包括可应用于该任务的 各个评估阶段。此类评估阶段可包括例如:从电影的搜索和选择中推断个体的 兴趣;基于人口统计、推断的兴趣和观看历史来群集和分类个体;以及标识可 指示兴趣的试探法,如与兴趣高或兴趣不高高度相关的动作。该评估计划然后 可通过自动生成一个或多个事件处理器来实现,每个事件处理器分派有执行用 于特定评估阶段的部分或全部评估的任务。这些事件处理器然后可互连以生成 覆盖评估计划的诸评估阶段的事件处理器集合。最后,事件处理器集合可连接 至事件源,事件源可开始将事件14的连续流传递至事件处理器集合。每个事 件14的评估是快速的,例如这是因为事件处理器集合中的每个事件处理器可 基于事件14及其当前状态执行相对简单的评估。结果,事件处理器集合可以 可接受的性能缩放以处理大量和连续量的事件14,由此响应于事件14流中标 识的新信息和知识(如异常和发展趋势),实现报告、通知和查询结果30的实时 生成。

图2呈现根据本文呈现的技术的表征为配置成评估从事件源12接收的事 件14流的事件处理器集合44的示例性场景40的图示。在该示例性场景40中, 可提供包括要应用于事件的评估阶段的集合的评估计划42。这些技术的一个实 施例可利用评估计划42来生成用于事件计划各个事件阶段的一个或多个事件 处理器46,每个事件处理器维护可鉴于从事件14的连续评估中提取的信息和 知识来调节的状态48。事件处理器46可互连以形成反映评估计划42中实施的 评估的事件处理器集合44。事件处理器集合44然后可连接到事件源12,并可 开始连续评估由事件源12生成的事件14流。在评估事件14时,各个事件处 理器46可更新其中维护的状态48,并且如果状态48满足响应条件,则可生成 响应。例如,事件处理器46可响应于用户22提交的查询24来生成并传递查 询结果,或可生成并向用户22发送通知50(例如事件14之间的新标识趋势、 或可表示重要新信息或知识的事件处理器46的状态48的显著改变的通知50)。 事件处理器46还可执行其它响应,如生成报告52或在数据库54中存储信息(如 在数据库中记录重要事件14使之然后可经历传统事件挖掘技术)。由于对来自 事件源12的事件14的连续评估以及评估之间知识的持续性,这些和其它响应 可实时地实现,并且由于通过将事件处理器集合44实现为状态机而可获得的 快速评估,这些和其它响应可缩放以处理大量和连续量的事件14。这些和其它 优点可通过应用本文所呈现的技术来获得。

图3呈现这些技术的第一实施例,其示为根据评估计划42评估从事件源 12接收的事件14的示例性方法60。示例性方法60可被实现为例如存储在具 有处理器的设备的存储器组件(例如,系统存储器电路、硬盘驱动器的盘、固 态存储设备、或者磁盘或光盘)中的一组软件指令,当这些指令由设备的处理 器执行时,使处理器执行本文呈现的技术。示例性方法60始于62并涉及在处 理器上执行64指令。更具体地,指令被配置成针对评估计划42的各个评估阶 段,生成66具有状态48的事件处理器46和具有响应条件的至少一个响应。 事件处理器46还被配置成在接收到事件14时,更新68事件处理器46的状态; 以及在事件处理器44的状态48满足响应条件时,执行70该响应。指令还被 配置成互连72事件处理器46以生成覆盖评估计划42的事件处理器集合44。 指令还被配置成将事件处理器集合44连接到事件源12,从而发起事件14的评 估。以此方式,该示例性方法60根据本文呈现的技术实现事件14的评估,且 在76处结束。

图4呈现这些技术的第二实施例,示为被配置成评估从事件源12接收的 事件14的示例性系统86。示例性系统86可被实现为例如软件体系结构,它包 括一组组件,各组件包括存储在具有处理器84的设备82的存储器组件(例如, 系统存储器电路、硬盘驱动器的盘、固态存储设备、或者磁盘或光盘)中的一 组软件指令,从而当这些指令由设备82的处理器84(并发或连续地)执行时, 使处理器84执行本文呈现的技术的一个或多个任务。示例性系统86包括指定 事件14的评估的至少一个评估阶段的评估计划88。示例性系统86还包括事件 处理器生成组件90,其被配置成针对评估计划88的评估阶段,生成具有状态 48和具有响应条件的至少一个响应的事件处理器46。事件处理器46还被配置 成在接收到事件14时,更新事件处理器46的状态48;以及在事件处理器46 的状态48满足响应条件时,执行该响应。示例性系统86还包括事件处理器集 合生成组件92,其被配置成互连事件处理器46以生成覆盖评估计划88的事件 处理器集合44,并将事件处理器集合44连接至事件源12。以该方式,图4的 示例性系统88根据评估计划88实现对从事件源12接收的事件14的评估。

又一实施例涉及包括被配置成应用本文所呈现的技术的处理器可执行指 令的计算机可读介质。这种计算机可读介质可包括例如计算机可读存储介质,这 些计算机可读存储介质涉及有形设备,诸如存储器半导体(例如,利用静态随机存 取存储器(SRAM)、动态随机存取存储器(DRAM)、和/或同步动态随机存取 存储器(SDRAM)技术的半导体)、硬盘驱动器的盘片、闪存设备、或磁盘或 光盘(诸如CD-R、DVD-R或软盘),编码有一组计算机可读指令,当由设备 的处理器执行这些指令时,使设备实现本文中所提出的技术。这些计算机可读 介质还可包括(根据与计算机可读存储介质不同的一类技术)各种类型的通信 介质,诸如可通过各种物理现象(例如,电磁信号、声波信号、或光学信号) 以及在各种有线场景(例如,经由以太网或光纤)和/或无线场景(例如,诸如 WiFi等无线局域网(WLAN)、诸如蓝牙等私域网(PAN)、或蜂窝或无线电 网络)中传播的信号,并且该通信介质编码有一组计算机可读指令,当设备的 处理器执行这些指令时,使设备实现本文中提出的技术。

可以用这些方式设计的一种示例性计算机可读介质在图5中示出,其中实 现100包括其上编码有计算机可读数据104的计算机可读介质102(例如, CD-R、DVD-R、或硬盘驱动器的盘)。该计算机可读数据104又包括被配置 成根据此次阐述的原理来操作的一组计算机指令106。在一个这样的实施例中, 处理器可执行指令106可被配置成执行评估从事件源接收的事件的方法,诸如 图3的示例性方法60。在另一这样的实施例中,处理器可执行指令106可被配 置成实现用于评估从事件源接收的事件的系统,诸如图4的示例性系统86。此 计算机可读介质的一些实施例可包括非临时性计算机存储介质(例如,硬盘驱动 器、光盘、或闪存设备),它被配置成存储以此方式配置的处理器可执行指令。 本领域普通技术人员可以设计可被配置成根据此处描述的技术操作的许多这 样的计算机可读介质。

此处所讨论的技术可被设计成在许多方面具有变型,并且某些变型可呈现 出相对于这些和其他技术的其他变型的附加优点和/或减少缺点。此外,某些变 型可组合实现,并且某些组合能以通过相互协作而得到的附加优点和/或减少的 缺点为特征。各种变型可被合并到各实施例中(例如,图3的示例性方法60 和图4的示例性系统86)中,以向这些实施例赋予单独和/或相互促进的优点。

可在这些技术的实施例之间变化的第一方面涉及其中可利用这些技术的 场景。作为第一示例,这些技术可用于评估许多类型的事件14,如个体、组织 或自动过程生成的事件。作为第二示例,这些技术可与传统数据挖掘技术组合。 例如,除了执行响应,事件处理器46还可在各个数据库中存储数据,传统数 据处理技术可用于对该数据库提取附加信息和知识。进而,该信息和知识可用 于例如通过添加或变更其中的一个或多个评估阶段来更新一个或多个事件处 理器46的状态48,和/或更新评估计划42。作为第三示例,许多体系结构可用 于实现这些技术。例如,各个事件处理器46可实现为单独的机器,和/或在一 个或多个此类机器上执行的两个或更多个软件进程。本领域普通技术人员可设 计其中可利用本文所呈现技术的许多场景。

可在这些技术的各实施例之间变化的第二方面涉及评估计划42的生成。 评估计划42可完全由一个或多个用户(如事件处理器集合44的管理员)生成, 并提供给这些技术的实施例(如图4的示例性系统86)以生成事件处理器集合44 和其中的事件处理器46。然而,在其它场景中,评估计划42可借助于这些技 术的实施例来生成。在第一个这样的变型中,实施例可提出用户可能希望结合 的评估计划42的诸方面。例如,数据挖掘技术可应用于事件14的数据库(由另 一技术生成或由事件处理器集合44生成)以提取可向管理员提出以包括在评估 计划42中的知识和试探法。作为一个这样的示例,在提供事件处理器集合44 以评估对电影的个人兴趣的场景中,应用于表示个体与电影库交互的动作的事 件14的数据库的数据挖掘技术可指示:观看电影超过两次是个人兴趣的强指 示符,并且可有利地包括这种类型的事件14作为评估计划42中的评估阶段。

作为该第二方面的第二变型,这些技术的实施例可尽力使评估计划42的 生成部分自动化。具体而言,用户可标识评估计划42的一个或多个评估目标, 例如用户用事件处理器集合44尽力生成的信息、知识和试探法的类型,并且 这些技术的实施例可自动生成评估计划42的一些部分以促进这些评估目标。 作为第一个这种示例,用户可指定特定主题(如社交网络中电影明星的流行度), 并且这些技术的实施例可自动生成标识与该主题相关联的事件14的评估计划 42的一些部分(例如,标识在社交网络中发布的关于该电影明星的消息、至关 于该电影明星的网站的照片和文章的链接、以及该电影明星的电影的评论,以 及对该主题的每个类型事件14的相关加权的评估)。作为第二个这种示例,用 户可指定主题(如产品),并且这些技术的实施例可自动生成标识与该主题相关 的其它主题的评估计划42的部分(例如,监控商业市场以标识竞争产品和此类 竞争产品在用户中的流行度)。作为第三个这种示例,用户可指定要从事件14 得出的评估结果(例如,报告或事件集的类型,如社交网络中所讨论主题的一般 概述),并且这些技术的实施例可自动生成被事件处理器46用于生成评估结果 的评估计划42的部分。在这些和其它变型中,这些技术的实施例可根据本文 呈现的技术尽力帮助个体生成评估计划44。

可在这些技术的各实施例之间变化的第三方面涉及事件处理器集合44的 事件处理器46的评估事件14的操作。作为第一变型,事件处理器46可被配 置成例如根据要由事件处理器46所在的评估阶段实现的特定任务来评估各个 事件14(例如通过将传入数据转换成更有用的传出数据,诸如通过将社交网络 中的外语消息翻译成当地语言以便由其它事件处理器46更容易地处理)。或者, 事件处理器46可被配置成通过事件处理器集合44定制事件14的评估。作为 一个这样的示例,事件处理器46可被配置成实现分类化简,例如通过过滤或 概括事件14以使事件处理器46接收并评估的传入事件集中的事件14的数量 大于事件处理器46发送(例如,至另一事件处理器46,至报告或通知中,或至 数据库中)的传出事件集中的事件14的数量,从而减少交换的数据量并改进此 类数据的重要性。

作为该第三方面的第二变型,事件处理器46所执行的响应的类型可变化。 作为第一示例,事件处理器46可提供从事件14收集的信息的实时通知50、报 告52、和/或用户22提交的一个或多个查询24的实时查询结果30。或者或另 外,事件处理器46可以非实时的方式(例如,通过周期性地评估延时帧中的事 件集)生成这种通知、报告、和/或查询结果30。作为第二示例,一个或多个事 件处理器46的响应可涉及在传统数据存储(如数据库)中存储至少一个事件14 的记录(或已评估此类事件14的处理结果),用于由用户22和/或其它进程作进 一步评估。

该第三方面的第三变型涉及保存事件处理器集合42的状态的方式。例如, 事件处理器集合42的一个有趣特性是从事件14的评估收集的信息被存储在各 个事件处理器46的状态46中;然而,该特性也引起丢失此类信息的潜在弱点, 例如在机器或软件进程崩溃时。因此,合乎需要的是,捕获事件处理器集合44 的事件处理器46的状态48的快照,例如以便于评估事件处理器集合44中包 含的信息和/或使事件处理器集合44在以后能够被恢复到该状态。此外,可能 合乎需要的是,在捕获快照时阻止事件处理器集合44停止评估事件14,尤其 在事件源12提供连续和重大事件14流的情况下。因此,这些技术的实施例可 存储事件处理器集合快照,其包括事件处理器集合44的各个事件处理器46的 状态48,同时事件处理器集合44继续操作。

该第三方面的第四变型涉及允许用户22与事件处理器集合44交互的方 式。例如,在事件处理器集合44用于评估和报告用户22的动作的情况下,将 任何特定用户22的个人标识信息(PII)包括在任何这种报告中从而可能危及用 户22和其他人的隐私和信任可能不是合乎需要的。为此,允许用户22检查已 捕获的关于用户22的信息以及如何在各个报告52中使用此类信息可能是有利 的。因此,当这些技术的实施例接收到用于呈现涉及用户22的各个处理器44 的状态46的呈现请求时,实施例可被配置成标识这种事件处理器46并将其状 态48呈现给用户22。此外,如果用户22提交用于调节一个或多个事件处理器 46的状态48的调节请求(例如,请求去除某些敏感或个人标识信息),实施例可 相应地变更事件处理器46的状态48。以此方式,实施例可将对所收集和报告 的个人信息的检查和/或控制的测量提供给事件处理器集合44监控的用户22。 本领域普通技术人员可以根据本文所呈现的技术设计调节事件处理器集合44 的执行的许多方式。

可在这些技术的各实施例之间变化的第四方面涉及对可影响事件处理器 集合44的配置的评估计划46的更新,如对一个或多个事件处理器46的添加、 移除、重新定位、和/或重新配置。例如,诸如管理员的用户22可请求变更评 估计划46,以调节事件14的评估的细节以及由此类事件处理器46生成的响应。 或者,评估计划46可由评估结果通知;例如,被标识为在事件14的评估中可 能有价值的新试探法可作为新的或改进的事件处理器46被结合。因此,这些 技术的实施例可被配置成在接收到更新的评估计划时,重新配置事件处理器集 合44以与更新的评估计划匹配。然而,可能合乎需要的是,减小重新配置对 事件处理器集合44的继续操作的影响,例如以允许事件处理器集合44在重新 配置期间继续评估事件14。因此,作为该第四方面的第一变型,这些技术的实 施例可被配置成标识受更新的评估计划46影响的一个或多个经更新的事件处 理器,并且在事件处理器集合44保持连接到事件源12并继续评估事件14的 同时,只更新经更新的事件处理器。

该第四方面的第二变型涉及用经更新的评估计划42更新事件处理器集合 44以评估新信息的方式。在事件处理器46可能还未被通知如何执行评估(还未 以此方式评估事件14)的场景中可引起特定问题,因此在这种事件处理器46的 状态48适用于经更新的评估计划中所表达的新评估之前无法生成准确的结果。 例如,事件处理器集合44可新分派到标识社交网络中一个或多个主题的流行 度趋势的任务,但是在还未被通知此类主题的当前流行度的情况下,在建立这 样的熟悉度之前事件处理器集合44可生成异常结果。例如通过将该事件处理 器集合44连接到包括先前已被捕获的历史事件集合的历史事件集,可减轻该 “冷启动”问题。例如,事件14的数据存储可在更新评估计划之前的时段中 被捕获,并且可遍历事件处理器集合44(例如,在抑制结果的输出直至获得可 接受的输出时),以获得生成可接受结果的事件处理器46的状态48。

然而,用历史事件集来训练事件处理器集合44可能是高成本的,例如大 的且变化的历史事件集可能是可用的(例如,如果此类历史事件已被捕获在数据 仓库中,如在传统数据挖掘场景中),并且用大的历史事件集来训练事件处理器 集合44可能造成事件处理的可用性的延迟。因此,可能合乎需要的是,减小 历史事件集的大小以实现以高效率和/或降低的成本来训练事件处理器46。作 为第一个这样的示例,在来自历史事件源的大量历史事件可用的情况下(例如, 大数据库或历史事件的捕获),可只选择历史事件集中与评估计划42的更新方 面相关的历史事件,例如,只包括可能要由一个或多个更新的事件处理器46 评估的历史事件42。作为第二个这样的示例,这些技术的实施例可将历史事件 集限制到选择与一个或多个历史事件参数匹配的历史事件(例如,在指定时段内 发生的历史事件(如在更新事件处理器集合44之前的一周),或者涉及一个或多 个用户22和/或主题的历史事件)。这种历史事件参数可由诸如管理员的用户22 标识,或者可由这些技术的实施例自动选择,例如通过标识可能标识对于事件 处理器集合46具有高训练价值的历史事件的历史事件参数。

作为附加变型,这些技术的实施例可能能够估计将事件处理器集合46连 接到特定历史事件集所引起的计算成本(例如,应用事件处理器集合来评估历史 事件集将涉及的时间量,或者用于这种训练的存储空间或带宽的量)。计算成本 可被呈现给诸如管理员的用户22,以估计用所选历史事件集的训练对事件处理 器集合44的功能的影响(例如可由训练造成的事件处理器集合44的停机时间 量)。因此,实施例可等待用户22以鉴于估计的计算成本来验证历史事件集的 使用。此外,可允许用户22调节历史事件集参数(例如,从历史事件源检索的 历史事件的时段和/或范围),以查看用不同历史事件集训练的估计计算成本, 并选择提供训练价值与计算成本之间的可接受折衷的历史事件集。以此方式, 这些技术的实施例可便于管理员或其它用户22实现用历史事件集来训练更新 的事件处理器集合44,从而减小“冷启动”问题对评估结果的效用的影响,同 时也管理这种训练的计算成本。本领域普通技术人员可以根据本文所呈现的技 术设计更新事件处理器集合44的许多方式。

尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所 附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述 具体特征和动作是作为实现权利要求的示例形式公开的。

如在本申请中所使用的,术语“组件”、“模块”、“系统”、“接口”等一般旨 在表示计算机相关的实体,该实体可以是硬件、硬件和软件的组合、软件、或 者执行中的软件。例如,组件可以是,但不限于,在处理器上运行的进程、处 理器、对象、可执行码、执行的线程、程序和/或计算机。作为说明,运行在控 制器上的应用程序和控制器都可以是组件。一个或多个组件可驻留在进程和/ 或执行的线程内,并且组件可位于一个计算机上和/或分布在两个或更多的计算 机之间。

此外,所要求保护的主题可以使用产生控制计算机以实现所公开的主题的 软件、固件、硬件或其任意组合的标准编程和/或工程技术而被实现为方法、装 置或制品。如这里所使用的术语“制品”可以包含可以从任何计算机可读的设备、 载体或介质进行访问的计算机程序。当然,本领域的技术人员将会认识到,在 不背离所要求保护的主题的范围或精神的前提下可以对这一配置进行许多修 改。

图6和以下讨论提供了对用于实现此处所阐述的原理中的一个或多个实施 例的合适计算环境的简要、概括描述。图6的操作环境只是合适的操作环境的 一个示例,并不旨在对该操作环境的使用范围或功能提出任何限制。示例计算 设备包括但不限于个人计算机、服务器计算机、手持式或膝上型设备、移动设 备(诸如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系 统、消费电子产品、小型计算机、大型计算机、包括任何以上系统或设备的分 布式计算环境等等。

尽管并非必需,但各实施例在由一个或多个计算设备执行的“计算机可读 指令”的一般上下文中描述。计算机可读指令可通过计算机可读介质来分发(在 以下讨论)。计算机可读指令可被实现为执行特定任务或实现特定抽象数据类 型的程序模块,如函数、对象、应用程序编程接口(API)、数据结构等等。 通常,计算机可读指令的功能可按需在各个环境中组合或分布。

图6示出了包括被配置成实现此处所提供的一个或多个实施例的计算设备 112的系统110的示例。在一种配置中,计算设备112包括至少一个处理单元 116和存储器118。取决于计算设备的确切配置和类型,存储器118可以是易 失性的(如RAM)、非易失性的(如ROM、闪存等)或是两者的某种组合。 该配置在图6中由虚线114来示出。

在其他实施例中,设备112可以包括附加特征和/或功能。例如,设备112 还可以包括附加存储(例如,可移动和/或不可移动),其中包括但不限于磁存 储、光存储等等。这样的附加存储在图6中由存储120示出。在一个实施例中, 用于实现此处所提供的一个或多个实施例的计算机可读指令可以在存储120 中。存储120还可以储存实现操作系统、应用程序等其他计算机可读指令。可 以在存储器118中加载计算机可读指令以便由例如处理单元116来执行。

此处所使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介 质包括以用于存储诸如计算机可读指令或其他数据等信息的任何方法或技术 来实现的易失性和非易失性、可移动和不可移动介质。存储器118和存储120 都是计算机存储介质的示例。计算机存储介质包括但不限于,RAM、ROM、 EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他 光存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或者可用于存储所需信 息并且可由设备112访问的任何其他介质。任何这样的计算机存储介质可以是 设备112的一部分。

设备112还可包括允许该设备112与其他设备进行通信的通信连接126。 通信连接126可包括但不限于,调制解调器、网络接口卡(NIC)、集成网络 接口、射频发射机/接收机、红外线端口、USB连接、或用于将计算设备112 连接到其他计算设备的其他接口。通信连接126可以包括有线连接或无线连接。 通信连接126可以发送和/或接收通信媒体。

术语“计算机可读介质”可以包括通信介质。通信介质通常以诸如载波或其 他传输机制等“已调制数据信号”来体现计算机可读指令或其他数据,并包括任 何信息传送介质。术语“已调制数据信号”可以包括以对信号中的信息进行编码 的方式设置或改变其一个或多个特征的信号。

设备112可包括输入设备124,诸如键盘、鼠标、笔、语音输入设备、触 摸输入设备、红外照相机、视频输入设备和/或任何其他输入设备。设备112中 还可包括输出设备122,诸如一个或多个显示器、扬声器、打印机和/或任何其 他输出设备。输入设备124和输出设备122可以通过有线连接、无线连接或其 任何组合来连接到设备112。在一个实施例中,来自另一计算设备的输入设备 或输出设备可用作计算设备112的输入设备124或输出设备122。

计算设备112的组件可通过多种互连来连接,例如总线。这样的互连可以 包括诸如PCIExpress之类的外围部件互连(PCI)、通用串行总线(USB)、 火线(IEEE1384)、光学总线结构等等。在另一实施例中,计算设备112的组 件可以通过网络互连。例如,存储器118可由位于通过网络互连的不同物理位 置的多个物理存储器单元组成。

本领域技术人员会认识到,用于存储计算机可读指令的存储设备可分布在 网络上。例如,可以通过网络128访问的计算设备130可以存储实现此处所提 供的一个或多个实施例的计算机可读指令。计算设备112可以访问计算设备130 并下载部分或全部计算机可读指令来执行。或者,计算设备112可以按需下载 计算机可读指令的片断,或者某些指令可以在计算设备112处执行而某些则在 计算设备130处执行。

此处提供了各实施例的各种操作。在一个实施例中,所描述的操作中的一 个或多个可以组成储存在一个或多个计算机可读介质上的计算机可读指令,这 些指令如果被计算设备执行则使得计算设备执行所描述的操作。描述一些或全 部操作的顺序不应被解释为暗示了这些操作必须要依赖于顺序。从本说明书获 益的本领域技术人员应理解替换的排序。此外,应该理解并非所有的操作都必 须存在于此处所提供的每一实施例中。

此外,在此使用词语“示例性”意指用作示例、实例或说明。在此被描述为“示 例性”的任何方面或设计并不一定被解释为比其他方面或设计有利。相反,使用 词语“示例性”旨在以具体的方式呈现各个概念。如本申请中所使用的,术语“或” 意指包括性“或”而非互斥性“或”。即,除非另有指定或从上下文可以清楚,否 则“X使用A或B”意指任何自然的包括性排列。即,如果X使用A;X使用B; 或X使用A和B两者,则在任何以上情况下,都满足“X使用A或B”。另外, 本申请中和所附权利要求书中所使用的冠词“一”和“一个”一般可被解释为是指 “一个或多个”,除非另有指定或从上下文可以清楚指的是单数形式。

同样,虽然参考一个或多个实现示出并描述了本发明,但本领域的其他技 术人员基于对本说明书和附图的阅读和理解可以想到各种等效替换和修改。本 发明包括所有这些修改和替换并且只由所附权利要求书的范围来限定。特别 地,对于由上述组件(例如,元素、资源等)执行的各种功能,除非另外指明, 否则用于描述这些组件的术语旨在对应于执行所描述的执行此处在本发明的 示例性实现中所示的功能的组件的指定功能(例如,功能上等效)的任何组件, 即使这些组件在结构上不等效于所公开的结构。另外,尽管可相对于若干实现 中的仅一个实现来公开本发明的一个特定特征,但是这一特征可以如对任何给 定或特定应用所需且有利地与其它实现的一个或多个其它特征相组合。此外, 就在说明书或权利要求书中使用术语“包含”、“具有”、“含有”和“带有”及其变 体而言,这些术语旨在以与术语“包括”相似的方式为包含性的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号