通过事件相关来进行根本原因问题标识的制作方法

文档序号:6355641阅读:96来源:国知局
专利名称:通过事件相关来进行根本原因问题标识的制作方法
技术领域
本发明涉及自动化根本原因标识技术。
背景技术
根本原因标识是解决问题领域中用于标识问题或事件的根本原因的一类方法。一 般而言,能够通过解决问题的根本原因,而不是通过解决不断从该问题导出的症状来对问 题求解。理想地,当解决了根本原因时,随着该根本原因而来的症状就会消失。传统的根本 原因分析是以系统性方式执行的,其中结论和根本原因得到证据以及根本原因和问题之间 建立的因果关系的支持。然而,在根本原因标识期间,很难区分需要服务/产品的工作团队 的手动干预的事件以及不需要手动干预的事件。这一区分在例如软件服务和企业IT部门 中是重要的,因为服务的正在进行的运行成本与系统发出的支持权证(support ticket)的 数量是成比例的。一些现有系统通过假设发生在进程的分析窗口执行期间的第一个或最后一个错 误事件是根本原因来检测进程中的错误。然而,这一方法缺乏精确性,并且可能产生假警报 (例如,如果错误事件并不严重,或者只是临时的,或者如果事件能自我解决)。此外,通过 追踪代码路径来理解每次失败的原因是困难和费时的。

发明内容
本发明的各个实施方式提供了自动化根本原因标识。一些实施方式从在计算设备 上执行的进程接收活动事件数据,其中每个活动事件具有与其相关联的相关标识符、解决 状态以及发生时间值。基于所述相关标识符和活动的类型将所述多个活动事件中的每一个 分配至多个事件组中的一个。将一个事件组标识为指示进程的失败,并且选择来自所标识 的事件组的一个活动事件并向用户标识该活动事件作为根本原因活动事件。提供本发明内容是为了以简化的形式介绍将在以下具体实施方式
中进一步描述 的一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨 在用于帮助确定所要求保护的主题的范围。


图1是监视多个设备上的多个进程的系统的示例性框图。图2是示出与活动事件相关联的数据的示例性框图。图3是示出用于标识问题的根本原因的过程的示例性流程图。图4是示出将活动事件选为问题的根本原因的示例性流程图。在附图中,对应的附图标记指示对应的部分。
具体实施例方式参见附图,本发明的实施方式提供了用于监视多个受监视计算设备(例如,受监视计算设备#1至受监视计算设备#N)上的多个进程(例如,进程#1至进程#N)的系统100。 本发明的实施方式提供了通过将活动事件(例如,诸如“连接至数据库失败”之类的低级原 因事件与系统级失败事件(例如登记活动在一预定时间段中95%的尝试失败))相关来自 动确定根本原因标识的能力。具有了将低级原因事件与系统级失败事件相关的能力,可以 更有效地提供支持权证和故障诊断以最小化发出的支持权证的数量以及花费在故障诊断 上的时间,并由此降低成本。进程被分成多个活动事件(例如,活动/进程开始、活动/进程结束(失败)、活 动/进程结束(成功)、以及错误事件)。用唯一的相关标识符以及其他活动事件标识符来 标记作为错误事件或活动/进程结束(失败)的活动事件。相关标识符被用于跟踪并相关 每个活动事件。相关标识符在差错第一次出现时创建并被附加到该差错。例如,相关标识 符被“标记”给产生错误事件的第一活动事件。因此,每个由于产生错误的第一活动事件而 产生错误的活动事件都被用与产生错误事件的第一活动事件相同的相关标识符来标记。具 有相同相关标识符的活动事件都被视为在同一事件组内。用解决状态来标识每个事件组, 例如,“失败“、”成功”或“从错误中成功恢复”(例如,系统100自动解决了导致错误的问 题)。使用这一技术,系统100能够“忽略”系统100成功从中恢复的活动事件(例如,具有 “成功恢复”解决状态的事件组)并且专注于系统100未能成功从中恢复的、导致失败的事 件组。本发明的各个实施方式还提供了区分系统100中指示本地或内部组件的问题的 差错以及指示远程或外部组件的问题的差错(例如,当系统由于外部组件故障而不工作 时)的能力。通过确定失败的位置/范围来进行区分。例如,本发明的各方面可将后端确 定为失败场所,尽管失败是从前端发生过来的。再次参见图1,提供了系统100的示例性框图。该系统包括计算设备112、一个或 多个网络110、以及受监视计算设备102(例如,受监视计算设备#1至受监视计算设备#N)。 计算设备112被配置为通过一个或多个网络110与受监视计算设备102通信。尽管参考作为服务器计算设备的计算设备112示出并且描述了本发明的一些实 施方式,但本发明的各方面可用于执行本文示出并且描述的功能的任何设备或其等价物。 例如,本发明的实施方式可用于上网本、台式计算设备、膝上型计算机、以及其他计算设备。 在这些实施方式中,数据可由云服务来存储并可由实现本发明的功能的任何计算设备来访 问。此外,在一些实施方式中,受监视计算机设备102、网络110以及计算设备112可位于同 一物理机器上。在这一拓扑结构下,可能存在多个系统,每个系统负责单独地报告各自系统 的失败。由于以上讨论的本地化/范围,在这些实施方式中消除了对来自数个系统的失败 的重复报告。因此,第一次遭遇失败的系统报告该失败。再次参考图1,示例性框图示出了具有存储器区域116的计算设备112,所述存储 器区域116用于存储用于自动标识根本原因活动事件的组件。计算设备112还包括显示器 115和至少一个处理器114。显示器115可以是例如电容式触摸屏显示器,该电容式触摸屏 显示器被集成到计算设备112中的、外置于计算设备112或者是保存设备112上的失败的 历史以便进一步处理的任何种类的日志。在显示器115中提供用户输入功能,其用作为用 户输入选择设备以及向用户提供根本原因活动事件的标识的装置。在各实施方式中,显示 器115被配置为响应于显示器115上的用户按压接触以选择性地执行功能。因此,用户可通过接触显示器115的表面来操作对于计算设备112可用的所需故障诊断功能以及在此所 提供的其它功能。存储器区域116存储活动事件数据118以及一个或多个计算机可执行组件。示例 性组件包括但不限于接口组件120、相关组件122、定位组件124、过滤组件126、以及显示组 件128。虽然活动事件数据118和组件120-1 被示为存储在存储器区域116中,但活动事 件数据118和组件120-1 可被存储在远离计算设备112的存储器区域中并从中执行。例 如,活动事件数据118可被存储在云服务、数据库或可由计算设备112访问的其他存储器区 域中。这些实施方式减轻了计算设备112上的计算和存储负担。处理器114执行用于实现本发明的各方面的计算机可执行指令。在某些实施方 式中,处理器114通过执行计算机可执行指令或通过以其他方式编程来变换成专用微处理 器。例如,接口组件120在由处理器114执行时使处理器114接收活动事件数据118。活动 事件数据118对应于多个活动事件(例如,活动/进程开始、活动/进程结束(失败)、活动 /进程结束(成功)、以及错误事件)。参考图2,示出了例示与活动事件数据118相关联的数据的示例性框图。示例性数 据包括用于追踪和相关活动事件的相关标识符202、用于将活动事件标识为“失败”、“成功” 或“成功从错误中恢复”的解决状态204、用于将活动事件与具体进程相关联的进程标识符 206、以及用于确定活动事件的时间顺序的发生时间值208,该数据随后被用于标识根本原 因活动事件。例如,发生时间值是时间戳或者从时间戳导出的值。在一些实施方式中,受监视计算设备102提供活动事件数据118。在其它实施方式 中,其它设备或应用程序提供、计算、或分配活动事件118的一个或多个元素。重新参考图1,相关组件112当由处理器114执行时使处理器114基于活动事件的 相关标识符202来将多个活动事件中的每一个分配给多个事件组中的一个。在一个实施方 式中,相关组件122将相关标识符标记到被标识为错误事件的第一活动事件,并将同一相 关标识符标记到被标识为由被标识为错误事件的第一活动事件所导致的错误事件的任何 活动事件。在各实施方式中,相关标识符202将具有同一相关标识符的活动事件中的每一 个分配到一个事件组中。进程可具有构成该进程的一个或多个事件组,其中每个事件组代 表具有同一相关标识符的一个或多个活动事件。定位组件IM在由处理器114执行时使处理器114标识多个事件组中的至少一 个,该至少一个事件组具有分配给其的、具有指示进程失败的解决状态的至少一个活动事 件,该进程由该至少一个活动事件的进程标识符来标识。因此,具有指示失败的解决状态的 事件组被审阅,而具有指示成功解决的解决状态的事件组被忽略。在实施方式中,在预定义 的时间段之间对具有“成功”解决状态的事件组进行审阅以确定每个事件组在预定义时间 段内出现了错误事件但成功恢复的次数。将这一次数与阈值次数或阈值百分比相比较,以 确定错误事件/成功解决是否在足够频繁的基础上发生(例如,在每个五分钟的三个预定 义时间段内登记活动在95%的尝试中失败),以引发支持权证、故障诊断或用户的进一步 审阅。过滤组件1 在由处理器114执行时使处理器114基于每个活动事件的发生时间 值来将来自所标识的事件组中的至少一个活动事件中的一个选为根本原因活动事件。例 如,进程中将被标识为错误事件的第一活动事件被分配发生时间值“ 1 ”。之后,被标识为错误事件的下一活动事件被分配发生时间值“2”,以此类推因此,可假设每个事件组中最小发 生时间值就是根本原因活动事件。在实施方式中,过滤组件126还确定多个活动事件的重 要性级别,并基于所确定的多个活动事件的重要性级别发出服务权证。多个活动事件的重 要性级别基于事件组类型、或者基于事件组类型和根本原因活动事件两者。显示组件1 在由处理器114执行时使处理器114向用户呈现与根本原因活动事件相关联的活动事件数 据118。另外,处理器114还可用如此处参考图3和图4所描述的指令编程。接着参考图3,示例性流程图示出了用于根本原因活动事件标识的过程。在302, 从在受监视计算设备(例如,受监视计算设备102中的一个)上执行的进程接收活动事件 数据(例如,活动事件数据118)。活动事件数据对应于多个活动事件(例如,活动/进程 开始、活动/进程结束(失败)、活动/进程结束(成功)、以及错误事件)。每个活动事件 包括以下各项中的一个或多个活动类型(例如,存储器访问、数据操作、数据通信等等)、 活动实例标识符、相关标识符、解决状态、以及发生时间值。在各实施方式中,基于事件组类 型、或者基于事件组类型和根本原因活动事件两者、或者基于事件组类型和活动类型两者 来确定多个活动事件的重要性级别,因此,被认为被其他活动事件更重要和/或更紧急的 活动事件能够在被认为没有这么重要和/或紧急的其它活动事件之前被解决。在306,基于活动事件的相关标识符来将多个活动事件中的每一个分配到多个事 件组中的一个。在一个实施方式中,相关标识符被标记/分配给被标识为错误事件的第一 活动事件,并且同一相关标识符被标记/分配给被标识为由此产生的错误事件的任何活动 事件,并且具有相同相关标识符的每个活动事件被分配给同一事件组。进程可具有构成该 进程的一个或多个事件组,其中每个事件组代表具有相同相关标识符的一个或多个活动事 件。在308,标识多个事件组中的至少一个,该至少一个事件组含有分配给其的、具有 指示进程失败的解决状态的至少一个活动事件。在实施方式中,确定在一预定义时间段中 进程失败的次数以及进程失败的时间段的量,并且提供服务权证。然而,这一审阅过程不限 于已经失败并且没有恢复的进程,具有“成功”解决状态的进程或事件组也可在预定义时间 段之间被审阅,以确定每个事件组在预定义时间段之间发生错误但成功恢复的次数。如上 所述,将这一次数与阈值次数或阈值百分比相比较,以确定错误事件/成功解决是否在足 够频繁的基础上发生(例如,在一个星期的预定时间段内登记活动95%的尝试失败),以引 发支持权证、故障诊断或用户的进一步审阅。在312,基于发生时间值从所标识的事件组中选择至少一个活动事件中的一个作 为根本原因活动事件。在其中所标识的事件组中的第一错误事件被分配发生时间值“1”,且 之后同一事件组中的下一错误事件被分配发生时间值“2”,以此类推的实施方式中,具有最 低发生时间值的错误事件被标识为根本原因活动事件。在其中发生时间值是时间戳的实施 方式中,所标识的事件组中具有最早的时间戳值的错误事件被标识为根本原因活动事件。在314,向计算设备的用户标识根本原因活动事件。在各实施方式中,根据重要性 顺序将每个错误事件呈现给用户,并且每个事件组与解决状态一起被呈现。在其它实施方 式中,根本原因活动事件被存储在日志中以供后续访问。接着参考图4,示出了例示用于根本原因活动事件标识的过程400的示例性流程 图。过程400开始于被标识为“活动/进程开始”的活动事件402。过程400继续到其中标识错误事件的活动事件404。因此,活动事件404被标记为“错误事件”。由于活动事件 404是过程400中的第一个错误事件,因此相关标识符“X”被分配给活动事件404。此外, 活动事件404被分配发生时间值“1”,因为活动事件404是过程400中的第一个错误事件。 过程400继续,并且在活动事件406指示附加错误事件,且活动事件406被标记为“错误事 件”。然而,因为活动事件406的所指示的错误事件是从活动事件404的所指示的错误事件 生成的,所以406处的活动事件被分配与分配给活动事件404的相关标识符相同的相关标 识符(例如,相关标识符“X”)。活动事件406还被分配发生时间值“2”,因为活动事件406 是过程400中的第二个错误事件。过程400继续到活动事件408。活动事件408被标识为“错误被解决”活动事件。 因此,由于起始于活动事件404的错误被解决,因此活动事件408不被分配相关标识符或发 生标识符值(在一些实施方式中)。然而,被标识为是错误事件的下一活动事件被分配与当 前过程之前提供的任何其它相关标识符不同的相关标识符。例如,当过程400继续时,活动 事件410被标识为错误事件。因此,由于活动事件410是解决了前一错误事件后的第一个 错误事件,因此分配不同的相关标识符“Y”。相关标识符“Y”还与分配给该进程(或被监视 的进程组)的任何其它相关标识符不同。活动事件410还被分配发生时间值“3”,因为活动 事件410是过程400中的第三个错误事件。过程400前进到被标识为错误事件的活动事件412。然而,因为活动事件412的所 指示的错误事件是从活动事件410的所指示的错误事件生成的,所以活动事件412被分配 与分配给活动事件410的相关标识符相同的相关标识符(例如,相关标识符“Y”)。活动事 件412还被分配发生时间值“4”,因为活动事件412是过程400中的第四个错误事件。进程400继续到活动事件414,在那里确定过程400以“失败”结束。活动事件414 被标识为错误事件,并且因为活动事件414的所指示的错误事件是从活动事件412和410 的所指示的错误事件生成的,所以活动事件414被分配与分配给活动事件412和410的相 关标识符相同的相关标识符(例如,相关标识符“Y”)活动事件414还被分配发生时间值 “5”,因为活动事件414是过程400中的第五个错误事件。过程400可被分为两个事件组。包括具有相关标识符“X”的每个活动事件的第一 事件组,以及包括具有相关标识符“Y”的每个活动事件的第二事件组。在确定过程400的 根本原因事件时,第一事件组被忽略,因为第一事件组被标识为“成功恢复”,而第二事件组 被审阅,因为第二事件组被标识为“失败”。使用结合图3所述的规则,第二事件组中的最低 发生时间值是过程400的根本原因活动事件。因此,具有发生时间值“3”的活动事件410 是过程400的失败的根本原因活动事件。示例性操作环境诸如此处所描述的计算机或计算设备具有一个或多个处理器或处理单元、系统存 储器和某种形式的计算机可读介质。作为示例而非限制,计算机可读介质包括计算机存储 介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序 模块或其它数据的信息的任何方法或技术实现的易失性与非易失性、可移动与不可移动介 质。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、 数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括 在计算机可读介质的范围之内。
计算机可使用至一个或多个远程计算机,如远程计算机的逻辑连接在网络化环境 中操作。尽管结合示例性计算系统环境进行了描述,但本发明的各实施方式可用于众多其 它通用或专用计算系统环境或配置。计算系统环境并非旨在对本发明的任何方面的使用范 围或功能提出任何限制。此外,计算机环境也不应被解释成对于示例性操作环境中所示出 的任一组件或其组合有任何依赖或要求。适用于本发明的各方面的公知的计算系统、环境 和/或配置的示例包括,但不仅限于个人计算机、服务器计算机、手持式或膝上型设备、多 处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、移动电话、网络PC、小型 计算机、大型计算机、包括上面的系统或设备的中的任何一种的分布式计算环境等等。可以在由一台或多台计算机或其他设备执行的诸如程序模块之类的计算机可执 行的指令的一般上下文中来描述本发明的各实施方式。计算机可执行指令可以被组织成一 个或多个计算机可执行组件或模块。一般而言,程序模块包括,但不限于,执行特定任务或 实现特定抽象数据类型的例程、程序、对象、组件,以及数据结构。可以利用任何数量的这样 的组件或模块及其组织来实现本发明的各方面。例如,本发明的各方面不仅限于附图中所 示出并且在此处所描述的特定计算机可执行指令或特定组件或模块。本发明的其他实施方 式可以包括具有比此处所示出和描述的功能更多或更少功能的不同的计算机可执行指令 或组件。本发明的各方面也可以在其中任务由通过通信网络链接的远程处理设备执行的分 布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内 的本地和远程计算机存储介质中。本发明的各方面当被配置成执行此处所描述的指令时将通用计算机变换成专用 计算设备。此处所示出并描述的实施方式以及此处没有详细描述但是属于本发明范畴内的 实施方式构成了用于确定根本原因活动事件的示例性手段。此处所示出和描述的本发明的各实施方式中的操作的执行或实现的顺序不是必 需的,除非另外指定。即,除非另外指定,否则操作可以按任何顺序执行,且本发明的各实施 方式可以包括比此处所公开的操作更多或更少的操作。例如,构想了在一个操作之前、同时 或之后执行另一个操作是在本发明的各方面的范围之内的。当介绍本发明的各方面的元素或其实施方式时,冠词“一”、“一个”、“该”、“所述”
旨在表示有元素中的一个或多个。术语“包括”、“包含”以及“具有”旨在是包含性的,并意 味着除所列出的元素以外还可以有额外的元素。已经详细地描述了本发明的各方面,显然,在不偏离所附权利要求书所定义的本 发明的各方面的范围的情况下,可以进行各种修改和变化。在不偏离本发明的各方面的范 围的情况下,可以对上面的构造、产品以及方法作出各种更改,上面的描述中所包含的和各 个附图中所示出的所有主题应该解释为说明性的,而不是限制性的。
权利要求
1.一种用于自动化根本原因标识的系统;所述系统包括用于储存活动事件数据(118)的存储器区域(116),所述活动事件数据(118)接收自至 少一个正在执行的进程(106),所述活动事件数据(118)对应于多个活动事件,所述活动事 件中的每一个都具有与其相关联的活动类型、活动实例标识符、相关标识符(20 、解决状 态004)、以及发生时间值Q08);处理器(114),所述处理器被编程为基于所述活动事件的所述相关标识符(20 和活动类型将所述多个活动事件中的每 一个分配至多个事件组中的一个;标识所述多个事件组中的至少一个,所述至少一个事件组具有分配给其的、具有指示 所述正在执行的进程(106)的失败的解决状态O04)的至少一个活动事件;基于所述发生时间值(208)从所标识的事件组中选择所述至少一个活动事件中的一 个作为根本原因活动事件;以及修改存储在所述存储器区域(116)中的活动事件数据(118)以指示所述根本原因活动 事件。
2.如权利要求1所述的系统,其特征在于,所述根本原因活动事件是包括具有指示所 述正在执行的进程的失败的解决状态的至少一个活动事件的事件组中的第一个活动事件。
3.如权利要求1所述的系统,其特征在于,所述处理器还被编程为确定所述多个活动 事件的重要性级别。
4.如权利要求3所述的系统,其特征在于,所述多个活动事件的重要性级别基于事件 组类型、或者基于事件组类型和根本原因活动事件两者。
5.如权利要求1所述的系统,其特征在于,从其它活动事件生成的活动事件用相同的 相关标识符来标记。
6.如权利要求1所述的系统,其特征在于,在不具有之前相关联的错误事件的情况下 生成的错误事件用新相关标识符来标记。
7.一种方法,包括从在计算设备(10 上执行的进程(106)接收活动事件数据(118),所述活动事件数 据(118)对应于多个活动事件,所述活动事件中的每一个都具有与其相关联的相关标识符 (202)、解决状态(204)、以及发生时间值(208);基于所述活动事件的相关标识符(20 将所述多个活动事件中的每一个分配至多个 事件组中的一个;标识所述多个事件组中的至少一个,所述至少一个事件组具有分配给其的、具有指示 所述进程(106)的失败的解决状态O04)的至少一个活动事件;基于所述发生时间值(208)从所标识的事件组中选择所述至少一个活动事件中的一 个作为根本原因活动事件;以及向所述计算设备(10 的用户标识所述根本原因活动事件。
8.如权利要求7所述的方法,其特征在于,一个或多个事件组对应于动作。
9.如权利要求8所述的方法,其特征在于,还包括基于分配给对应于进程的一个或多 个事件组的一个或多个活动事件来确定所述进程是否失败。
10.如权利要求9所述的方法,其特征在于,还包括确定在预定义时间段期间进程失败的次数。
11.如权利要求10所述的方法,其特征在于,还包括基于所确定的在预定义时间段期 间进程失败的次数来提供服务权证。
12.如权利要求7所述的方法,其特征在于,还包括将所述根本原因活动事件呈现给用户。
13.如权利要求7所述的方法,其特征在于,还包括确定所述多个活动事件的重要性级 别,并且其中所述多个活动事件的重要性级别基于事件组类型、或者基于事件组类型和根 本原因活动事件两者。
14.如权利要求7所述的方法,其特征在于,所述根本原因活动事件是包括不能自动恢 复的一个或多个活动事件的事件组中的第一个活动事件。
15.如权利要求7所述的方法,其特征在于,一种或多种计算机可读介质具有计算机可 执行组件,所述组件包括接口组件,所述接口组件在由至少一个处理器执行时使所述至少一个处理器接收活动 事件数据,所述活动事件数据对应于多个活动事件,所述活动事件中的每一个都具有与其 相关联的相关标识符、解决状态、进程标识符、以及发生时间值,其中至少两个活动事件具 有相同的相关标识符和不同的进程标识符;相关组件,所述相关组件在由至少一个处理器执行时使所述至少一个处理器基于所述 活动事件的相关标识符将所述多个活动事件中的每一个分配至多个事件组中的一个;定位组件,所述定位组件在由至少一个处理器执行时使所述至少一个处理器标识所述 多个事件组中的至少一个,所述至少一个事件组具有分配给其的、具有指示进程的失败的 解决状态的至少一个活动事件,所述进程由所述至少一个活动事件的进程标识符来标识;过滤组件,所述过滤组件在由至少一个处理器执行时使所述至少一个处理器基于发生 时间值从所标识的事件组中选择所述至少一个活动事件中的一个作为根本原因活动事件; 以及显示组件,所述显示组件在由至少一个处理器执行时使所述至少一个处理器向用户呈 现与所述根本原因活动事件相关联的活动事件数据。
全文摘要
提供了通过事件相关来进行根本原因问题标识的各个实施例。将活动事件相关以标识进程失败的根本原因。从在计算设备上执行的进程接收活动事件数据。活动事件数据对应于多个活动事件。每个活动事件具有与其相关联的相关标识符、解决状态、以及发生时间值。基于活动事件的相关标识符为每个活动事件分配多个事件组中的一个。之后,将至少一个事件组确定为含有具有指示进程失败的解决状态的活动事件。基于发生时间值将所确定的事件组中的活动事件之一选为根本原因活动事件。在一些实施方式中,向计算设备的用户标识根本原因活动事件。
文档编号G06F9/44GK102129372SQ201110055059
公开日2011年7月20日 申请日期2011年2月28日 优先权日2010年3月1日
发明者A·斯劳特斯凯, I·弗兰可, R·E·D·兹夫, Y·奥林, Z·卡斯皮 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1