根本原因发现方法及系统转让专利

申请号 : CN201880026150.6

文献号 : CN110574338B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 哈里什·多达拉卜添泰吉·雷德卡尔

申请人 : 思科技术公司

摘要 :

所公开的技术涉及标识观察到的结果的原因。系统被配置为接收用户体验问题的指示,其中,用户体验问题与观察到的操作数据相关联,该观察到的操作数据包括观察到的结果。系统基于观察到的操作数据,根据模型生成预测结果,确定观察到的结果在预测结果的范围内,以及当观察到的结果在预测结果的范围内时,标识用户体验问题的候选原因集合。

权利要求 :

1.一种计算机实现的方法,包括:

从多个联网代理接收操作数据;

将所述操作数据存储在历史数据存储中;

使用所述历史数据存储和依赖性图构建机器学习模型;

接收用户体验问题的指示,其中所述用户体验问题与观察到的操作数据相关联;

将所述观察到的操作数据转换为观察到的特征集合和观察到的结果;

基于所述观察到的特征集合,根据所述机器学习模型生成第一预测结果;

确定所述观察到的结果在所述第一预测结果的范围内;

当所述观察到的结果在所述第一预测结果的范围内时,标识所述用户体验问题的候选原因集合;

在所述候选原因集合内标识权重最大的候选原因;

将所述观察到的操作数据中与所标识的候选原因相对应的度量相对应的值替换为基于所述历史数据存储中的操作数据计算出的所述度量的历史值;

基于替换后的值,根据所述机器学习模型生成第二预测结果;以及当所述第二预测结果与所述第一预测结果不同时,将所述候选原因标识为所述用户体验问题的实际原因。

2.根据权利要求1所述的计算机实现的方法,其中,所述操作数据包括度量和事件。

3.根据权利要求1所述的计算机实现的方法,还包括:经由网络将所述候选原因集合提供给管理员机。

4.根据权利要求1所述的计算机实现的方法,其中,所述候选原因集合中的候选原因对应于与所述用户体验问题相关的度量。

5.根据权利要求1所述的计算机实现的方法,还包括:经由网络将所述实际原因提供给管理员机。

6.根据权利要求1所述的计算机实现的方法,其中,所述度量的历史值是平均值。

7.根据权利要求1所述的计算机实现的方法,还包括:当所述第二预测结果与所述第一预测结果相同时,将所述候选原因标识为不是所述用户体验问题的实际原因。

8.一种包括指令的非暂时性计算机可读介质,这些指令在由计算系统执行时使得所述计算系统进行以下操作:接收用户体验问题的指示,其中所述用户体验问题与观察到的操作数据相关联;

将所述观察到的操作数据转换为观察到的特征集合和观察到的结果;

基于所述观察到的特征集合,根据机器学习模型生成第一预测结果;

确定所述观察到的结果在所述第一预测结果的范围内;

当所述观察到的结果在所述第一预测结果的范围内时,标识所述用户体验问题的候选原因集合;

在所述候选原因集合内标识权重最大的候选原因;

将所述观察到的操作数据中与所标识的候选原因相对应的度量相对应的值替换为基于历史数据存储中的操作数据计算出的所述度量的历史值;

基于替换后的值,根据所述机器学习模型生成第二预测结果;以及当所述第二预测结果与所述第一预测结果不同时,将所述候选原因标识为所述用户体验问题的实际原因。

9.根据权利要求8所述的非暂时性计算机可读介质,其中,所述指令还使得所述计算系统进行以下操作:从多个联网代理接收操作数据;

将所述操作数据存储在历史数据存储中;以及使用所述历史数据存储和依赖性图构建所述机器学习模型。

10.根据权利要求9所述的非暂时性计算机可读介质,其中,所述候选原因集合中的候选原因对应于与所述用户体验问题相关的度量。

11.根据权利要求10所述的非暂时性计算机可读介质,其中,所述指令还使得所述计算系统进行以下操作:经由网络将所述实际原因提供给管理员机。

12.一种系统,包括:

处理器;以及

存储有指令的非暂时性计算机可读介质,这些指令在由所述系统执行时使得所述系统执行操作,所述操作包括:接收用户体验问题的指示,其中所述用户体验问题与观察到的操作数据相关联,所述观察到的操作数据包括观察到的结果;

基于所述观察到的操作数据,根据模型生成预测结果;

确定所述观察到的结果在所述预测结果的范围内;

当所述观察到的结果在所述预测结果的范围内时,标识所述用户体验问题的候选原因集合;

在所述候选原因集合内标识权重最大的候选原因;

将所述观察到的操作数据中与所标识的候选原因相对应的度量相对应的值替换为基于历史数据存储中的操作数据计算出的所述度量的历史值;

基于替换后的值,根据机器学习模型生成第二预测结果;以及当所述第二预测结果与第一预测结果不同时,将所述候选原因标识为所述用户体验问题的实际原因。

13.根据权利要求12所述的系统,其中,所述模型是机器学习模型。

14.根据权利要求12所述的系统,其中,根据所述模型生成所述预测结果包括将所述观察到的操作数据转换成观察到的特征集合和所述观察到的结果。

15.根据权利要求12所述的系统,其中,所述操作还包括:从多个联网代理接收操作数据;

将所述操作数据存储在历史数据存储中;以及使用所述历史数据存储和依赖性图构建所述模型。

16.根据权利要求12所述的系统,其中,所述操作还包括:经由网络将所述候选原因集合提供给管理员机。

说明书 :

根本原因发现方法及系统

技术领域

[0001] 本公开的主题一般涉及联网实体,并且更具体地,涉及标识对特定事件的贡献因素。

背景技术

[0002] 信息技术(IT)基础设施可以包含分布在网络上的大量实体。这些实体包括,例如,节点、端点、服务器机、用户机、虚拟机、容器(基于容器的虚拟化实例)和应用。这些实体可以被组织并彼此交互以执行一个或多个功能,提供一个或多个服务和/或支持一个或多个应用。
[0003] 对IT基础设施的透彻了解对于确保平稳IT操作,管理故障排除问题,检测IT基础设施中的异常活动(例如,网络攻击和误配置),应用和基础设施安全性(例如,防止网络违规和减少漏洞)或资产管理(例如,监控、容量规划、合并、迁移和连续性规划)至关重要。由于实体之间相互关系的复杂性,用于管理大型IT基础设施的传统方法要求高度专业的人工操作员具备全面的知识。当遇到网络中的问题时,这些人工操作员会手动尝试大型数据集,以找出可能的原因,并将它们逐一消除,直到找到实际的原因。

附图说明

[0004] 为了描述可以获得本公开的上述和其他优点和特征的方式,将通过参考在附图中示出的特定实施例来对以上简要描述的原理进行更具体的描述。要理解这些附图仅描绘了本公开的实施例,因此不应被认为是对其范围的限制,通过使用附图,以附加的特征和细节来描述和解释本文的原理,其中:
[0005] 图1是根据本技术的各个方面,示出用于标识结果的一个或多个原因的示例IT环境的概念框图;
[0006] 图2是根据本技术的各个方面,示出示例依赖性图的图示;
[0007] 图3是根据本技术的各个方面,示出候选原因集合的图表;
[0008] 图4是根据本技术的各个方面,示出示例界面的图示;
[0009] 图5是根据本技术的各个方面,示出示例界面的图示;
[0010] 图6根据本技术的各个实施例,示出了用于标识用户体验问题的原因的示例过程;
[0011] 图7根据本技术的各个实施例,示出了用户体验问题的原因的示例过程;以及[0012] 图8A和8B根据一些实施例,示出了系统的示例。

具体实施方式

[0013] 以下阐述的详细描述意在作为对实施例的各种配置的描述,而不意在代表可以实施本公开的主题的唯一配置。附图被并入本文并且构成详细描述的一部分。为了提供对本公开的主题的更彻底的理解,详细描述包括具体细节。然而,清楚并且显而易见的是,本公开的主题不限于本文阐述的具体细节,并且可以在没有这些细节的情况下实施。在一些实例中,以框图形式示出了结构和组件,以避免使本公开的主题的概念模糊。
[0014] 概述
[0015] 实体的网络通常被配置为彼此交互以执行一个或多个功能,提供一个或多个服务和/或支持一个或多个应用。当发生关于这些复杂的IT基础设施的问题时,通常需要全面了解实体之间的复杂性和相互关系的高度专业的人工操作员(例如,IT管理员),以标识相关因素。例如,当网络中发生问题时,管理员可能需要筛选大量数据并搜索问题的根本原因。只有确定了原因后,才能采取动作来解决问题。此外,随着网络的复杂性增加以及诸如微服务和分布式或云环境之类的技术被使用,执行根本原因分析变得越来越困难。
[0016] 所公开的技术解决了本领域对于标识针对观察到的结果(例如,由联网代理检测到的问题、关键性能指标或其他状况)的根本原因或贡献因素的更有效的方式的需求。所公开的技术的各个方面涉及根本原因发现引擎,该根本原因发现引擎被配置为基于操作数据和/或依赖性图来生成机器学习模型,以找到某些度量、事件和/或状况之间的相关性。这些相关性可以基于时间(例如,如果它们在同一时间窗口内发生)、共现(例如,它们一起发生的频率)和/或因果关系(例如,如果一个可能对另一个做出了贡献)。
[0017] 当诸如由联网代理检测到的问题之类的结果发生时,与该结果相关联的数据可以与机器学习模型一起被使用以标识该结果的一个或多个原因或因素。可以将结果的一个或多个原因或因素提供给管理员,以使得管理员基于所提供的信息来行动。例如,在发生问题的情况下,管理员可以采取动作以解决问题的一个或多个原因。在某些方面,根本原因发现引擎可以自动采取动作来解决问题。
[0018] 尽管本文描述的一些方面涉及问题的根本原因,但是这些和其他方面可以类似地应用于标识其他结果的原因或因素。这些结果可以包括其他类型的问题,并且也可以包括其他测量到的度量、检测到的事件、或其他可观察的状况。
[0019] 详细描述
[0020] 下面详细讨论本公开的各个方面。虽然讨论了具体的实现方式,但是应该理解,这仅仅是出于说明的目的而进行的。相关领域的技术人员将认识到,在不脱离本公开的精神和范围的情况下,可以使用其他组件和配置。
[0021] 本公开的各方面涉及一种根本原因发现引擎,其被配置为基于操作数据来标识结果的一个或多个原因。该一个或多个原因可以与关于可采取的动作的指导或关于结果或一个或多个原因的附加上下文一起提供给用户。
[0022] 图1是根据本技术的各个方面,示出用于标识结果的一个或多个原因的示例IT环境100的概念框图。虽然图1示出了客户端‑服务器IT环境 100,但是本技术的其他实施例可以包括其他配置,包括例如对等环境或单个系统环境。
[0023] 示出了IT环境100,其包括至少一个联网代理105、管理员机110和根本原因发现引擎115。每个联网代理105可以安装在主机网络实体上,并被配置为观察和收集与主机网络实体相关联的数据,并将收集到的数据报告给根本原因发现引擎115。网络实体包括,例如,网络节点、端点、服务器机、用户机、虚拟机、容器(基于容器的虚拟化实例)和应用。网络实体可以被组织并且彼此交互以执行一个或多个功能,提供一个或多个服务和/或支持一个或多个应用。
[0024] 由联网代理105收集的数据可以包括各种度量,例如,与主机实体性能有关的数据,诸如CPU使用率、存储器使用率、各种硬件组件的状态、对于各种类型的请求或调用的响应时间、各种类型的请求或调用的计数、各种类型的错误的计数、或其他度量。度量可以与特定事件或特定机器或机器组相关联。联网代理105还可以收集与主机实体有关的其他数据,例如,实体名称、功能、部门、操作系统、实体接口信息、文件系统信息、或者已安装或正在运行的应用或进程。与网络流量有关的数据,例如,网络吞吐量,强制执行的网络策略数量,失败的连接,被允许、丢弃、转发、重定向或复制的数据包数量,或与网络流量有关的任何其他数据。
[0025] 联网代理105还可以收集与关于网络实体或它们所支持的产品、服务或功能的各种事件相关联的数据。这些事件可以包括例如,成功登录、失败登录尝试、数据更改、各种警告、各种通知或对某些组件或模块的更新。这些事件可以基于联网代理105所提供的产品、服务或功能的类型而不同。例如,对于电子商务平台,事件可以包括交易、添加待售物品、移除待售物品、编辑待售物品、价格更改、用户简档创建或更改。
[0026] 由联网代理105收集的数据可以是时间序列数据或与时间戳相关联的数据。时间戳可以帮助联网代理105或根本原因发现引擎115生成可以用于标识结果的原因或因素的附加数据(例如,度量或事件)。例如,联网代理105或根本原因发现引擎115可以基于初始收集的信息在各种时间尺度上生成各种计数、平均值、最大值、最小值、中值或其他值。联网代理 105或根本原因发现引擎115也可以对数据执行附加分析。例如,可以将数据与其他数据进行比较以确定趋势、模式或其他见解。
[0027] 联网代理105可以将收集到的数据发送到根本原因发现引擎115。在图1中示出了根本原因发现引擎115,包括接口120、建模引擎125、相关性引擎130和历史数据存储135。在其他实施例中,根本原因发现引擎 115可以包括附加组件、较少组件或替代组件。根本原因发现引擎115可被实现为单个机器或分布在网络中的多个机器上。
[0028] 接口120被配置为与IT环境100中的各个实体进行通信。例如,接口 120可以从联网代理105接收收集到的数据(包括操作数据),并将收集到的数据存储在历史数据存储135中。操作数据可以包括由联网代理105 跨信息技术(IT)栈检测或收集的任何数据。例如,操作数据可以包括针对在与联网代理105相关联的实体上运行的一个或多个应用的应用数据,由联网代理检测到的网络数据,数据库操作数据,虚拟机数据,安全性数据或与跟联网代理105相关联的实体的物理组件相关联的数据。在某些情况下,存储在历史数据存储135中的收集数据可能会增长到难以存储且处理读取和写入操作效率低下的程度。
[0029] 各个实施例涉及为这些技术问题提供技术解决方案。在一些实施例中,历史数据存储135可以被实现为分布式文件系统,诸如Hadoop分布式文件系统(HDFS)。在HDFS存储设备实现方式中,网络策略可以被分为多个大块,这些大块然后被分布在数据存储中。HDFS存储设备能够处理非常大数量的数据,可扩展(因为可以容易地将附加数据存储添加到该框架中),并且易于故障恢复。
[0030] 然而,在整个HDFS存储中进行搜索以查找特定的数据片段可能是麻烦、费时和消耗资源的。可以基于关联的网络实体、功能或类型将数据分组在一起并将数据存储到单独的文件中以提高效率,但是,这可能会导致产生大量较小的文件,这对于HDFS实现方式而言很难处理并且效率不高,因为这导致许多查找操作以及在节点之间的跳转以检索每个小文件。因此,在一些实施例中,分布式文件系统可以使用索引来高效地处理对历史数据存储TM135的读取和写入。该索引可以是任何类型的数据库,例如像 MongoDB 这样的NoSQL数据库。
[0031] 建模引擎125被配置为访问历史数据存储135中的收集数据并基于收集数据构建模型。例如,建模引擎125可以使用各种机器学习技术来构建机器学习模型。机器学习模型可以被配置为标识收集数据中不同信号之间的相关性,并且可以被用于标识特定结果(例如,用户体验问题)的一个或多个原因或贡献因素。根据一些方面,建模引擎125还可以使用依赖性图来构建机器学习模型。
[0032] 图2是根据本技术的各个方面,示出示例依赖性图200的图示。依赖性图200提供了各种实体、事件和度量之间的关联的图,并且可以基于关于环境的域知识,其可以由管理员提供。根据本技术的各个方面,在某些情况下可以使用依赖性图200来过滤出用于生成机器学习模型的数据,从而使得彼此相关联的信号(例如,实体、事件和度量)被用于构建机器学习模型并且不关联的信号不被使用。在一些方面,可以在模型被构建之后使用依赖性图200来去除可能彼此不依赖的相关性(例如,作为问题的巧合或症状而不是原因的相关性)。
[0033] 在图2中,依赖性图200示出了电子商务环境中的关系。例如,IT环境中的网络实体可以被配置为提供电子商务平台。例如,网络实体可以被配置为提供电子商务网站、处理交易、存储项目信息、存储用户信息、提供计费服务、跟踪货运、支持移动应用或提供支持该电子商务平台的其他功能或服务。
[0034] 图2的依赖性图200示出了电子商务环境中涉及的部分关系。特别地,依赖性图200示出了与电子商务平台中的交易205相关联的关系。交易205可以与以下各项有关:各种度量210(例如,吞吐量212、响应时间213和每分钟的错误214)、错误215、标签220、相关交易225或其他节点230(例如,包括操作事件240和安全事件245的事件235、主机 250、与主机相关联的性能数据(例如,CPU使用率255、网络使用率260 或存储器使用率265、或其组合)。
[0035] 相关性引擎130被配置为使用由建模引擎125生成的模型来标识结果或观察到的状况的一个或多个原因或因素。例如,接口120可以从管理员机110接收问题的指示或者基于从联网代理105接收的数据来检测问题。
[0036] 由联网代理105检测到的问题(也被称为用户体验问题)可以来自IT 栈中的任何位置和/或基于由联网代理105收集的操作数据。例如,用户体验问题可以在IT栈中的应用层、网络层、数据库层、虚拟机层、安全层或物理层中检测到。用户体验问题可以与在用户体验问题发生时或前后观察到的操作数据相关联。相关性引擎130可以将观察到的操作数据转换为观察到的特征的集合和观察到的结果(例如,与用户体验问题相关联的关键性能指标或状况)。
[0037] 相关性引擎130可以将观察到的特征输入到模型中并生成预测结果。该模型可以进一步输出预测结果的一个或多个候选原因或因素。将预测结果与观察到的结果进行比较,如果预测结果在观察到的结果的范围内,则模型通过验证。如果模型未通过验证,则该模型可能无法确定用户体验问题的一个或多个候选原因或因素,除非对该模型进行额外设置或更改。
[0038] 如果模型通过验证,则预测结果的一个或多个候选原因或因素很可能是导致观察到的结果(例如,用户体验问题)的候选原因或因素。因此,可以提供该一个或多个候选原因或因素作为导致用户体验问题的候选原因或因素。
[0039] 图3是根据本技术的各个方面,示出候选原因集合的图表300。该图表在左侧示出了结果(例如,用户体验问题)的多个候选原因,并且在右侧示出了表示每个候选原因是实际原因的可能性的它们的对应权重。可以经由接口120将候选原因中的一个或多个提供给用户(例如,管理员)。这些候选原因基于存储在历史数据存储135中的数据表示最可能的候选原因。另外,或替代地,相关性引擎130可以执行附加分析以标识用户体验问题的实际原因。
[0040] 机器学习模型所提供的每个候选原因可以对应于根据机器学习模型与用户体验问题相关的度量或事件。根据本技术的一些方面,相关性引擎 130可以将观察到的操作数据中与候选原因相对应的度量或事件与基于历史数据存储中的操作数据计算出的度量的历史值进行比较。度量的历史值可以是基于历史操作数据计算出的该度量的平均值、中位数或范围。
[0041] 如果观察到的度量不在范围内,则候选原因可能是用户体验问题的实际原因,并且相关性引擎130可以将候选原因标识为用户体验问题的实际原因。如果观察到的度量在范围内,则候选原因可能不是用户体验问题的实际原因。
[0042] 在一些情况下,相关性引擎130可以按照最有可能(例如,权重最重)到最不可能的顺序来处理候选原因的集合。此外,当发现一个实际原因时,相关性引擎130可以停止,或者继续处理候选原因并标识多于一个的实际原因。然后可以经由接口120将实际原因提供给用户。
[0043] 管理员机110可以向用户(例如,管理员)提供一种与根本原因发现引擎115进行交互的方式。尽管在IT环境100中管理员机110被示出为单独的实体,但在其他方面,管理员机110可以是根本原因发现引擎115或联网代理105的一部分。管理员机110可以提供这样的界面:该界面向用户提供操作数据的视图,标识用户体验问题或被警报用户体验问题。可以向操作数据提供关于各种度量和各种度量的历史值的上下文信息。
[0044] 用户还可以选择某些度量、事件或用户体验问题,以更深入地了解与这些度量、事件或问题相关联的数据。例如,界面可以通知用户已经发生了用户体验问题。用户可以选择用户体验问题以查看与该用户体验问题相关联的更多数据。管理员机110可以将用户体验问题的指示发送到根本原因发现引擎115,其中根本原因发现引擎115可以标识一个或多个候选原因或实际原因。根本原因发现引擎115可以将一个或多个原因发送回管理员机110,其中可以将它们与可以帮助用户理解信息的任何上下文信息一起在界面中显示给用户。该界面还可以提供针对如何解决一个或多个原因和/或解决用户体验问题的指导。
[0045] IT环境100中的各种实体可以经由网络150彼此通信。网络150可以是任何类型的网络,并且可以包括例如以下各项中的任何一个或多个:蜂窝网络、卫星网络、个域网(PAN)、局域网(LAN)、广域网 (WAN)、宽带网络(BBN)、因特网等。此外,网络150可以包括但不限于以下网络拓扑中的任何一个或多个:包括总线网络、星形网络、环形网络、网状网络、星形总线网络、树形或分层式网络等。
[0046] 网络150可以是公共网络、专用网络或其组合。可以使用与一个或多个服务提供商相关联的任何数量的通信链路来实现通信网络150,包括一个或多个有线通信链路、一个或多个无线通信链路或其任意组合。另外,网络150可以被配置为支持使用任何数量的协议进行格式化的数据的传输。
[0047] 图4是根据本技术的各个方面,示出示例界面400的图示。界面400 可以由管理员机110显示,并且包括关于以下各项的信息:用户体验问题405,与用户体验问题相关联的各种度量410、415和420,与用户体验问题相关联的各种事件425,以及用户体验问题的一个或多个原因430。用户可以选择一个或多个显示的原因,以查看有关所选原因的额外信息。
[0048] 例如,图5是根据本技术的各个方面,示出示例界面500的图示。用户已在界面组件505中选择了3个原因。对每个原因的选择导致在界面 500中显示有关每个原因的信息。例如,界面组件510包括随时间推移每秒发送的字节的图表,其对应于第一选择原因。界面组件515包括随时间推移检测到的事件数量的图表,其对应于第三选择原因。在图5中未示出用于第二选择原因的界面组件,但是可以在界面500中更下面的地方。
[0049] 图6根据本技术的各个实施例,示出了用于标识用户体验问题的原因的示例过程600。应当理解,对于本文所讨论的任何过程,除非另有说明,否则在各种实施例的范围内可以有以相似或替代顺序或并行执行的附加、较少或替代步骤。过程600可以由诸如图1的根本原因发现引擎115 或类似的网络实体之类的系统执行。
[0050] 在操作605,系统可以从IT环境中的一个或多个联网代理接收操作数据,并在操作610将操作数据存储在历史数据存储中。通过使用存储在历史数据存储中的操作数据,系统可以在操作615构建机器学习模型。
[0051] 机器学习模型可以被配置为标识操作数据中的不同信号之间的相关性,使得该模型可以被用于标识结果(例如用户体验问题)的一个或多个原因。根据本技术的一些方面,系统可以使用各种回归分析或统计分析技术来确定各种度量、事件或状况之间的关系。回归分析技术可以包括线性回归、最小二乘回归、非参数回归、非线性回归或各种技术的组合。替代地或另外地,系统还可以使用各种机器学习技术来标识操作数据中不同信号之间的相关性。这些技术可以包括但不限于关联规则学习、人工神经网络、贝叶斯网络、聚类、监督学习、无监督学习或各种技术的组合。
[0052] 根据一些方面,可以从操作数据中提取特征集合。可以将操作数据转换成以二进制值形式的特征,使得生成操作数据中不同信号之间的相关性变成二进制分类过程。例如,可以将一个或多个度量与适当的阈值进行比较。如果度量大于或等于阈值,则可以将该度量转换为特征值1。如果度量小于阈值,则可以将度量转换为特征值0。
[0053] 还可以基于事件是否发生或事件是否在特定时间段内发生而将事件转换为二进制特征值。如果事件发生,则对应于事件的特征值为1。如果事件未发生,则对应于事件的特征值为0。事件也可以首先被转换为度量,与阈值进行比较,然后转换为特征值。例如,可以对在某时间段内发生的特定类型事件的数量进行计数,并将其与阈值数进行比较。如果事件数量大于或等于阈值数,则度量可以被转换为特征值1。如果事件数量小于阈值数,则度量可以被转换为特征值0。
[0054] 用于提取特征值的各种阈值可以是平均值、移动平均值、最大允许值、最小允许值或通过某些其他方式计算。尽管各个方面讨论了将操作数据转换为二进制特征值,但在其他方面,可以使用其他非二进制特征值和其他分类过程。
[0055] 各种机器学习技术可以使用提取的特征值来生成被配置为标识特征值之间的相关性的机器学习模型。根据各个方面,依赖性图也可以用于滤除可能不是相关特征的原因或因素的相关性。
[0056] 在操作620,系统可以接收用户体验问题的指示。用户体验问题的指示可以经由例如管理员机上的界面来从用户接收,或者通过由该系统或IT 环境中的其他网络实体检测而接收。用户体验问题可以与观察到的操作数据相关联,该观察到的操作数据包括在用户体验问题发生的相同或附近时间段观察到的操作数据。
[0057] 在操作625,观察到的操作数据可以由系统转换成观察到的特征的集合和观察到的结果。观察到的特征的集合和观察到的结果可以对应于从操作数据中提取的特征。此外,观察到的结果可以对应于用户体验问题。例如,一个用户体验问题可以是电子商务网站的响应时间很慢,并且更具体地被定义为电子商务网站的响应时间大于500ms。如果检测到网站的响应时间很慢,则系统可以访问观察到的操作数据,并将数据转换为观察到的特征和观察到的结果,其包括观察到的实际响应时间。如果在这种情境下实际响应时间是842ms,则系统可以将数据转换为对应的观察到的结果值 1,这表示响应时间大于500ms的阈值。
[0058] 在操作630,系统可以将观察到的特征的集合输入到机器学习模型中,并生成第一预测结果,该第一预测结果表示根据模型观察到的结果应该是什么。机器学习模型还可以输出用户体验问题的候选原因的集合以及每个候选原因的对应权重。在操作635,可以将第一预测结果与观察到的结果进行比较以验证模型是否正确地预测了观察到的结果。
[0059] 如果观察到的结果不在第一预测结果的范围内,则该模型错误地预测了结果。这表明发生了超出常规的事情,发生了在历史数据存储中所存储的操作数据中之前从未遇到的事情,或者发生了模型无法解释的事情。因此,在操作640,系统可以通知用户该模型无法标识用户体验问题的原因,或者依靠其他根本原因分析方法来确定原因。
[0060] 如果观察到的结果等于或在第一预测结果的范围内,则模型通过验证并正确地预测了结果。因此,在操作645,可以将由模型提供的候选原因集合标识为用户体验问题的候选原因集合。可以例如在管理员机上的界面中向用户提供一个或多个候选原因。可以提供候选原因及其对应权重。根据一些方面,系统可以执行附加步骤以标识用户体验问题的最佳或实际原因。
[0061] 图7根据本技术的各个实施例,示出了用于用户体验问题的原因的示例过程700。在过程700中,系统可以根据机器学习模型执行附加步骤来标识用户体验问题的实际原因。
根据一些方面,过程700可以在系统已经在图6的操作645中使用机器学习模型标识出了用户体验问题的候选原因集合之后开始。
[0062] 机器学习模型所提供的每个候选原因可以对应于根据机器学习模型与用户体验问题相关的度量或事件。此外,机器学习模型为每个候选原因分配权重。在操作705,系统可以标识权重最重的候选原因。
[0063] 在操作710,在机器学习模型中,将观察到的操作数据中对应于权重最重的候选原因的度量的值替换为基于历史数据存储中的操作数据计算出的该度量的历史值。该度量的历史值可以是基于该度量的平均值、中位数或范围计算出的该度量的归一化值,其中该度量的平均值、中位数或范围是基于历史操作数据计算出的。例如,归一化值可以是在类似于与观察到的操作数据相关联的时间和日期的时间和日期的度量的平均值。
[0064] 在操作715,系统根据机器学习模型,基于修改后的观察到的操作数据生成第二预测结果,该修改后的观察到的操作数据包括历史值代替度量的观察值。在操作720,系统基于替换值确定预测结果是否已经更改,或者换句话说,第二预测结果是否与第一预测结果不同。
[0065] 如果第二预测结果与第一预测结果不同,则候选原因可能是用户体验问题的实际原因。换句话说,如果将该度量的值从观察值更改为归一化值导致模型预测出不同的结果,则该度量的观察值最可能是观察到的结果的原因。因此,在操作725,当第二预测结果不同于第一预测结果时,系统将候选原因标识为用户体验问题的实际原因。
[0066] 如果第二预测结果与第一预测结果没有不同,则候选原因可能不是用户体验问题的实际原因。因此,在操作730,系统将候选原因标识为不是用户体验问题的实际原因。
[0067] 可以在管理员机上的界面中向用户提供实际原因以及与实际原因和/或用户体验问题相关的信息,有关如何基于实际原因解决用户体验问题的指导,和/或有关如何处理用户体验问题或减少将来发生用户体验问题的建议或资源。
[0068] 根据本技术的一些方面,为了提高机器学习模型的准确性和鲁棒性,可以将观察到的操作数据添加到历史数据存储中,并将其用于更新和强化机器学习模型。
[0069] 根据本技术的各个方面,机器学习模型还能够产生对于用户体验问题的贡献因素的一个或多个排名列表。每个排名列表可用于标识IT栈中的问题区域、标识要修复的区域或标识用于投入额外资源的区域。
[0070] 例如,用于产生用户体验问题的原因的排名列表的过程可以包括,从 IT环境中的一个或多个联网代理接收操作数据,并将操作数据存储在历史数据存储中。通过使用存储在历史数据存储中的操作数据,系统可以构建机器学习模型。
[0071] 机器学习模型可以被配置为标识操作数据中的不同信号之间的相关性,使得该模型可以被用于标识结果(例如,用户体验问题)的一个或多个原因。根据一些方面,可以从操作数据中提取特征集合。可以将操作数据转换成以二进制值形式的特征,使得生成操作数据中不同信号之间的相关性变为二进制分类过程。例如,可以将一个或多个度量与适当的阈值进行比较。如果度量大于或等于阈值,则该度量可以被转换为特征值1。如果度量小于阈值,则该度量可以被转换为特征值0。
[0072] 还可以基于事件是否发生或事件是否在特定时间段内发生而将事件转换为二进制特征值。如果事件发生,则对应于事件的特征值为1。如果事件未发生,则对应于事件的特征值为0。事件也可以首先被转换为度量,与阈值进行比较,然后被转换为特征值。例如,可以计数在某时间段内发生的特定类型事件的数量,并将其与阈值数进行比较。如果事件数量大于或等于阈值数,则度量可以被转换为特征值1。如果事件数量小于阈值数,则度量可以被转换为特征值0。
[0073] 各种机器学习技术可以使用提取的特征值来生成被配置为标识特征值之间的相关性的机器学习模型。这些相关性可以被加权并用于针对任何目标特征生成相关特征的排名列表,其中目标特征可以被定义为用户体验问题。
[0074] 图8A和图8B示出了根据各种实施例的系统。在实施各种实施例时,更合适的系统对于本领域普通技术人员将是显而易见的。本领域普通技术人员还将容易意识到,其他系统也是可能的。
[0075] 图8A示出了常规总线计算系统800的示例架构,其中,系统的组件使用总线805彼此电通信。计算系统800可以包括处理单元(CPU或处理器)810和系统总线805,其可以将各种系统组件(例如,存储设备中的只读存储器(ROM)820和随机存取存储器(RAM)825),包括系统存储器815,耦合到处理器810。计算系统800可以包括高速存储器的缓存 812,其直接与处理器810相连、靠近处理器810或集成作为处理器810的一部分。计算系统800可以将数据从存储器815和/或存储设备830复制到缓存812,以供处理器810快速访问。以这种方式,缓存812可以提供性能提升,其避免了在等待数据时处理器延迟。这些模块和其他模块可以控制或被配置为控制处理器810执行各种动作。其他系统存储器815也是可用的。存储器815可以包括具有不同性能特性的多种不同类型的存储器。处理器810可以包括任何通用处理器和硬件模块或软件模块(例如存储在存储设备830中的模块1 832、模块2 834和模块3 836),其被配置为控制处理器810,以及专用处理器,其中软件指令被合并到实际处理器设计中。处理器810本质上可以是完全自包含的计算系统,包含多个核或处理器、总线、存储器控制器、缓存等。多核处理器可以是对称的或者是非对称的。
[0076] 为了使用户能够与计算系统800交互,输入设备845可以表示任意数量的输入机制,例如用于语音的麦克风、用于手势或图形输入的触摸保护的屏幕、键盘、鼠标、运动输入、语音等。输出设备835也可以是本领域技术人员已知的许多输出机制中的一个或多个。在一些实例中,多模式系统可以使用户能够提供多种类型的输入以与计算系统800进行通信。通信接口840可以管控和管理用户输入和系统输出。可能没有对任何特定硬件部署上的操作的限制,因此,随着它们被开发,此处的基本功能可以容易地被替换为改进的硬件或固件部署。
[0077] 存储设备830可以是非易失性存储器,并且可以是硬盘或其他类型的计算机可读介质,其可以存储可由计算机访问的数据,例如磁带盒、闪存卡、固态存储器设备、数字通用盘、盒、随机存取存储器(RAM)825、只读存储器(ROM)820及其混合。
[0078] 存储设备830可以包括用于控制处理器810的软件模块832、834、 836。可以设想其他硬件或软件模块。存储设备830可以连接到系统总线 805。在一方面,执行特定功能的硬件模块可以包括存储在与必要的硬件组件(例如,处理器810、总线805、输出设备835等)相连的计算机可读介质中的软件组件,以执行该功能。
[0079] 图8B示出了可以根据一个实施例使用的常规芯片组计算系统850的示例架构。计算系统850可以包括处理器855,其代表能够执行被配置为执行所标识的计算的软件、固件和硬件的任何数量的物理上和/或逻辑上不同的资源。处理器855可以与芯片组860通信,该芯片组860可以控制到处理器855的输入和从处理器855的输出。在该示例中,芯片组860可以将信息输出到诸如显示器之类的输出设备865,并且可以将信息读取和写入存储设备870,其例如可以包括磁性介质和固态介质。芯片组860还可以从RAM 875读取数据并将数据写入RAM 875。可以提供用于与各种用户接口组件885接口的桥880,以用于与芯片组860接口。用户接口组件 885可以包括键盘、麦克风、触摸检测和处理电路、指示设备(例如鼠标)等。对计算系统850的输入可以来自多种来源中的任何来源,机器生成的和/或人工生成的。
[0080] 芯片组860还可以与可以具有不同物理接口的一个或多个通信接口 890进行接口。通信接口890可以包括用于有线和无线LAN,用于宽带无线网络以及个域网的接口。用于生成、显示和使用本文公开的GUI的方法的一些应用可以包括通过物理接口接收排序的数据集,或者可以由机器本身通过处理器855分析存储在存储设备870或RAM 875中的数据来生成。此外,计算系统800可以通过用户接口组件885接收来自用户的输入,并通过使用处理器855解释这些输入来执行适当的功能,例如浏览功能。
[0081] 应当理解,计算系统800和850可以分别具有一个以上的处理器810 和855,或者可以是联网在一起以提供更大处理能力的一组或一簇计算设备的一部分。
[0082] 为了清楚解释,在某些情况下,各种实施例可以被表示为包括单独的功能块,其包括包括设备,设备组件,以软件、或硬件和软件的组合实施的方法中的步骤或例程的功能块。
[0083] 在一些实施例中,计算机可读存储设备、介质和存储器可以包括包含比特流等的电缆或无线信号。然而,当被提及时,非暂时性计算机可读存储介质明确地排除诸如能量、载波信号、电磁波和信号本身之类的介质。
[0084] 可以使用存储在计算机可读介质中或以其他方式可从计算机可读介质中获得的计算机可执行指令来实现根据上述示例的方法。这样的指令可以包括例如,使得或以其他方式配置通用计算机、专用计算机或专用处理设备以执行特定功能或功能组的指令和数据。使用的一部分计算机资源可以通过网络访问。计算机可执行指令可以是例如二进制指令、中间格式指令 (例如汇编语言)、固件或源代码。可以用来存储指令、所使用的信息和/ 或在根据所描述的示例的方法期间创建的信息的计算机可读介质的示例包括磁盘或光盘、闪存、具有非易失性存储器的USB设备、联网存储设备等等。
[0085] 实现根据这些公开内容的方法的设备可以包括硬件、固件和/或软件,并且可以采用多种形状因子中的任何形状因子。这样的形状因子的典型示例包括膝上型计算机、智能电话、小型个人计算机、个人数字助理、机架安装设备、独立设备等。本文所描述的功能也可以实现在外围设备或附加卡中。作为进一步的示例,这种功能还可以在单个设备中执行的不同芯片或不同过程之间的电路板上实现。
[0086] 指令、用于传达这样的指令的介质、用于执行它们的计算资源以及用于支持这样的计算资源的其他结构是用于提供这些公开内容中描述的功能的构件。
[0087] 尽管使用各种示例和其他信息来解释所附权利要求的范围内的各个方面,但是不应基于这样的示例中的特定特征或部署而暗示对权利要求的限制,因为本领域的普通技术人员将能够使用这些示例来导出各种各样的实现方式。此外,尽管可能已经以特定于结构特征和/或方法步骤的示例的语言描述了一些主题,但是应当理解,所附权利要求中限定的主题不一定限于这些所描述的特征或动作。例如,这种功能可以不同地分布或在除本文所标识的组件之外的组件中执行。更确切地说,所描述的特征和步骤被公开为在所附权利要求的范围内的系统和方法的组件的示例。