CN112817786A - 故障定位方法及装置、计算机系统和可读存储介质 - Google Patents

故障定位方法及装置、计算机系统和可读存储介质 Download PDF

Info

Publication number
CN112817786A
CN112817786A CN201911126084.2A CN201911126084A CN112817786A CN 112817786 A CN112817786 A CN 112817786A CN 201911126084 A CN201911126084 A CN 201911126084A CN 112817786 A CN112817786 A CN 112817786A
Authority
CN
China
Prior art keywords
node
bayesian network
nodes
micro
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201911126084.2A
Other languages
English (en)
Inventor
李雨霜
薛韬
罗超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201911126084.2A priority Critical patent/CN112817786A/zh
Publication of CN112817786A publication Critical patent/CN112817786A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开提供了一种故障定位方法,应用于由多个节点组成的有向无环的微服务架构,微服务架构中的每个节点用于提供对应的预定服务,该方法包括:获取微服务架构中第一节点的属性数据,其中,第一节点的节点属性已知;配置微服务架构中第二节点的属性数据为空值,其中,第二节点的节点属性未知;利用与微服务架构对应的贝叶斯网络处理第一节点的属性数据和第二节点的空值,得到对应的处理结果;以及基于处理结果,确定微服务架构中第二节点的节点属性,以定位微服务架构中的故障节点。本公开还公开了一种故障定位装置、一种计算机系统和一种计算机可读存储介质。

Description

故障定位方法及装置、计算机系统和可读存储介质
技术领域
本公开涉及互联网技术领域,更具体地,涉及一种故障定位方法、一种故障定位装置、一种计算机系统和一种计算机可读存储介质。
背景技术
微服务架构是如今广泛应用于大型企业级别应用的一种新型服务架构,有别于传统的单体应用架构及SOA(Service-Oriented Architecture)架构,微服务架构依赖于新兴的云技术、容器技术,不需要服务总线,核心理念是低耦合、小组件的应用及服务,每一个微服务与其满足的业务需求相匹配。
微服务架构可以看作多个服务节点(以下简称节点)组成的有向无环图(以下简称有向图),节点之间存在父子逻辑关系。因此,当有向图中某一节点发生故障时,可能引起下游的连锁反应,最终导致整个微服务架构可用性降低。而反映出故障,或是发出失效警告的,可能并不是故障发生的源头,而是故障链的末端,此时,需要人工进行溯源、排查,费时费力,也无法快速恢复架构的可用性。如图1所示,服务1发生故障时,并不知道是服务1自身发生故障,还是服务3故障引起服务1故障,或是服务4故障引起服务1故障,或是其他复合原因导致,这些都需要人工排查。
微服务架构日常应用场景中的两个重要问题,即故障发生时寻找故障原因,实际上是故障诊断(Fault Diagnosis),而故障还未发生时预测故障,实际上是故障预测(FaultPrediction)问题,在此归纳为微服务架构的优化问题。
以Azure、AWS、Netflix为例,业界目前主要有以下几种技术方案:
(1)Azure故障诊断组件
微软开发的Azure使用云服务监视和部署诊断组件的方式支持微服务架构的故障诊断。Azure可以启用监视服务,每5分钟采样和收集CPU使用率、网络使用率等指标值,存储进用户账户,以便用户随时查看。
Azure提供的故障诊断组件,实际上是一个区分来源的日志收集器。它将异常发生时的应用程序日志、Windows应用日志、.NET事件源等信息记录综合起来,向开发者反馈一些统计信息,例如请求连接数、实例重启次数等,并将这些信息绘制成报表,在开发者希望开始分析时展现。因此,Azure故障诊断组件其实并不具备推理分析能力,而只是监控记录收集器。
(2)AWS Cloudwatch
AWS(Amazon Web Service)是亚马逊提供的云计算服务平台,AWS提供与Azure类似的故障侦测手段,即使用云监视器监控容器的CPU使用率等指标值。与Azure不同的是,AWS还提供用户自定义的触发器来保持微服务架构的高可用性。用户可以使用Lamda函数和EC2 Run Command设置触发器,当某个AWS发生故障时,自动启动新的实例替代故障实例,或者进行自动扩容(Auto Scaling),来避免服务的失效。同样地,AWS目前也没有提供利用机器学习或其他方案来自动生成故障诊断报告的手段。
(3)Netflix空间聚类算法
Netflix作为著名的流媒体互联网企业,已经将微服务架构完全应用于整个应用体系中,因此,Netflix也在微服务架构的维护与优化方面做了很多研究。Netflix的目标是发现处于“亚健康”或者“次优”状态下的服务器,也就是说,在服务器指标正常时,发现服务器表现异常的倾向,这就类似于一个故障预测问题。
Netflix采用了一种无监督学习方法,即基于密度的空间聚类方法DBSCAN来自动识别可能发生异常的服务器,这种方法本质上是一种聚类算法,即在一个失效服务器附近发现其他可能将要失效的集群,这种方法需要两个参数,一个是距离,一个是最小集群大小。更进一步地,Netflix采用了模拟退火算法,来避免人为调参的工作,这系列故障侦测的工作是完全自动化的。
目前,Netflix公布的数据显示,这种方案的准确率为93%,召回率为87%。Netflix仍在着手优化此方案。
然而,在实现本公开实施例的过程中,发明人发现上述相关技术中至少存在以下缺陷:
Azure故障诊断组件其实并不具备推理分析能力,而只是简单的监控记录收集器,而故障发生是具备时序性、连锁性的,很难进行根本性的问题定位,仍然依赖发生报警后的人工解决。
以AWS为代表的触发器类型,则是在报警器的基础上增加了条件函数,虽然使得系统具备了一定伸缩性,但仍然停留在问题的最表层现象,而不能解决故障源头,也不能在故障发生前就进行预测。
采用聚类等机器学习算法的故障诊断、故障预测方法过于依赖数据集,当数据集量级较小或者质量较差时,诊断/预测结果非常不稳定,也难于进行干预和操控。
发明内容
有鉴于此,本公开提供了一种故障定位方法、一种故障定位装置、一种计算机系统和一种计算机可读存储介质。
本公开的一个方面提供了一种故障定位方法,应用于由多个节点组成的有向无环的微服务架构,上述微服务架构中的每个节点用于提供对应的预定服务,上述方法包括:获取上述微服务架构中第一节点的属性数据,其中,上述第一节点的节点属性已知;配置上述微服务架构中第二节点的属性数据为空值,其中,上述第二节点的节点属性未知;利用与上述微服务架构对应的贝叶斯网络处理上述第一节点的属性数据和上述第二节点的空值,得到对应的处理结果;以及基于上述处理结果,确定上述微服务架构中上述第二节点的节点属性,以定位上述微服务架构中的故障节点。
根据本公开的实施例,上述方法还包括:在利用上述贝叶斯网络处理之前,预处理上述第一节点的属性数据和上述第二节点的空值,分别得到满足预定格式的属性数据和空值。
根据本公开的实施例,上述利用上述贝叶斯网络处理上述第一节点的属性数据和上述第二节点的空值,得到对应的处理结果,包括:利用上述贝叶斯网络处理满足上述预定格式的属性数据和空值,并预测满足上述预定格式的空值的可能值,其中,每个节点的不同可能值对应于该节点的不同节点属性。
根据本公开的实施例,上述方法还包括:构建上述贝叶斯网络的拓扑结构;以及确定上述拓扑结构中包括的每个节点的条件概率分布,从而形成上述贝叶斯网络。
根据本公开的实施例,上述构建上述贝叶斯网络的拓扑结构,包括:确定上述贝叶斯网络所包含的节点的边界;确定上述边界内各节点间的父子逻辑关系;以及在具有父子逻辑关系的任意两个节点之间构建一条有向边,从而形成上述贝叶斯网络的拓扑结构。
根据本公开的实施例,上述确定上述边界内各节点间的父子逻辑关系,包括:确定上述边界内各节点间的业务逻辑关系和/或依赖关系;以及基于上述业务逻辑关系和/或上述依赖关系,确定上述边界内各节点间的父子逻辑关系。
本公开的另一个方面提供了一种故障定位装置,应用于由多个节点组成的有向无环的微服务架构,上述微服务架构中的每个节点用于提供对应的预定服务,上述装置包括:获取模块,用于获取上述微服务架构中第一节点的属性数据,其中,上述第一节点的节点属性已知;配置模块,用于配置上述微服务架构中第二节点的属性数据为空值,其中,上述第二节点的节点属性未知;处理模块,用于利用与上述微服务架构对应的贝叶斯网络处理上述第一节点的属性数据和上述第二节点的空值,得到对应的处理结果;以及第一确定模块,用于基于上述处理结果,确定上述微服务架构中上述第二节点的节点属性,以定位上述微服务架构中的故障节点。
根据本公开的实施例,上述处理模块还包括:在利用上述贝叶斯网络处理之前,预处理上述第一节点的属性数据和上述第二节点的空值,分别得到满足预定格式的属性数据和空值。
根据本公开的实施例,上述处理模块用于:利用上述贝叶斯网络处理满足上述预定格式的属性数据和空值,并预测满足上述预定格式的空值的可能值,其中,每个节点的不同可能值对应于该节点的不同节点属性。
根据本公开的实施例,上述装置还包括:构建模块,用于构建上述贝叶斯网络的拓扑结构;以及第二确定模块,用于确定上述拓扑结构中包括的每个节点的条件概率分布,从而形成上述贝叶斯网络。
根据本公开的实施例,上述构建模块包括:第一确定单元,用于确定上述贝叶斯网络所包含的节点的边界;第二确定单元,用于确定上述边界内各节点间的父子逻辑关系;以及构建单元,用于在具有父子逻辑关系的任意两个节点之间构建一条有向边,从而形成上述贝叶斯网络的拓扑结构。
根据本公开的实施例,上述第二确定单元用于:确定上述边界内各节点间的业务逻辑关系和/或依赖关系;以及基于上述业务逻辑关系和/或上述依赖关系,确定上述边界内各节点间的父子逻辑关系。
本公开的另一个方面提供了一种计算机系统,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
本公开的另一个方面提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
通过本公开的实施例,针对微服务架构中已经发生的服务故障或失效,或者即将出现服务故障或失效的服务节点,可以通过基于贝叶斯网络的故障定位方法进行故障诊断和预测,减少了人力成本、提高了运维效率。同时,由于贝叶斯网络的特性之一是可以适应数据缺失情况,因此,基于贝叶斯网络,可以适应未知服务节点的概率分布无法统计的问题,使得能够对已经发生故障或预测即将发生故障的服务节点进行定位。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了由多个服务节点组成的微服务架构示意图;
图2示意性示出了根据本公开实施例的贝叶斯网络的示意图;
图3示意性示出了根据本公开另一实施例的贝叶斯网络的示意图;
图4示意性示出了根据本公开实施例的构建贝叶斯网络的流程图;
图5示意性示出了根据本公开实施例的构建贝叶斯网络的拓扑结构的流程图;
图6示意性示出了根据本公开实施例的拓扑结构的示意图;
图7示意性示出了根据本公开实施例的故障定位方法的流程图;
图8示意性示出了根据本公开实施例的故障定位装置的框图;以及
图9示意性示出了根据本公开实施例的适于实现故障定位方法的计算机系统的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
贝叶斯网络是基于贝叶斯方法的一种概率图模型(Probabilistic GraphicalModels PGM)。贝叶斯方法指的是基于贝叶斯公式计算假设概率的一种方法。贝叶斯公式表述可以是如下公式:
Figure BDA0002275463420000071
其中A1∪A2∪...∪Am=1且A1∩A2∩...∩Am=0,即A1...Am为某一必然事件的m个不相交子事件。因此,贝叶斯公式是根据已有数据的样本概率和假设的先验概率,计算出事件的后验概率。贝叶斯方法是利用贝叶斯公式进行后验概率计算,从而得到未知参数的值的分析方法。
图2示意性示出了根据本公开实施例的贝叶斯网络的示意图。
贝叶斯网络是关于概率的有向无环图,每一个节点都是一个随机变量,拥有一个节点自身的条件概率分布表(Conditional Probability Distribution,CPD),节点之间的有向边,代表了随机变量间的逻辑关系,子节点的条件概率代表了父节点对它的影响强度。
如图2所示,该贝叶斯网络包括节点A~E、每个节点对应的条件概率分布、有向边,并且整个图无环存在。其中,每个节点的TRUE的概率可以表征该节点正常的概率,每个节点的FALSE的概率可以表征该节点可能发生故障的概率。节点A~E可以是单一服务部署所在的一台机器,一个Docker或一台虚拟机等。每个节点可以提供对应的预定服务,预定服务可以是一个或一组同类功能接口的独立程序。根据本公开的实施例,使用同一个部署方案、同一个集群、在业务上处理关联紧密逻辑的一组服务可以称之为服务系统。将各个关联的服务系统组合起来,对外部依赖少或不依赖外部的体系可以称之为应用。
在相关技术中,例如,Azure故障诊断组件不具备推理分析能力,只是简单的监控记录收集器,而故障发生是具备时序性、连锁性的,很难进行根本性的问题定位,仍然依赖发生报警后的人工解决。以AWS为代表的触发器类型,则是在报警器的基础上增加了条件函数,虽然使得系统具备了一定伸缩性,但仍然停留在问题的最表层现象,而不能解决故障源头,也不能在故障发生前就进行预测。采用聚类等机器学习算法的故障诊断、故障预测方法过于依赖数据集,当数据集量级较小或者质量较差时,诊断/预测结果非常不稳定,也难于进行干预和操控。
有鉴于此,为了定位微服务架构中已经发生的服务故障(Fault)或失效(Failure),或者即将出现服务故障或失效的服务节点,本公开的实施例提供了一种故障定位方法,通过获取微服务架构中第一节点的属性数据,其中,第一节点的节点属性已知;配置微服务架构中第二节点的属性数据为空值,其中,第二节点的节点属性未知;利用与微服务架构对应的贝叶斯网络处理第一节点的属性数据和第二节点的空值,得到对应的处理结果;以及基于处理结果,确定微服务架构中第二节点的节点属性,以定位微服务架构中的故障节点。
本公开通过基于贝叶斯网络的故障定位方法进行故障诊断和预测,减少了人力成本、提高了运维效率。同时,由于贝叶斯网络的特性之一是可以适应数据缺失情况,因此,基于贝叶斯网络,可以适应未知服务节点的概率分布无法统计的问题,使得能够对已经发生故障或预测即将发生故障的服务节点进行定位。
为了理解本公开的技术构思,以下将解释如何使用贝叶斯网络进行故障诊断和故障预测。
图3示意性示出了根据本公开另一实施例的贝叶斯网络的示意图。
如图3所示,贝叶斯网络是关于概率的有向无环图,包括节点A、B、C。其中,节点A的故障(error)概率为10%,警告(warning)概率为20%,正常(normal)概率为70%。而A到B、C的有向线段,代表了B、C是A的下游服务,会受到A的状态的影响,所以B、C的概率表是条件概率表,即:在A发生故障的概率下,B发生故障的概率是100%;在A发生警告的概率下,B有15%可能发生故障,有45%的可能发生警告。因此,根据这张贝叶斯网络图,可以实时地根据对节点A、B、C的观测,推测其余节点的状态。
例如,当前发现节点B发生故障,则B当前状态为error,可以根据条件概率表反向推断,此时A发生故障的概率是90%,即有90%的可能性,A是B的故障源头(故障诊断场景)。相反地,如果此时是观测到A发生故障,那么通过图3所示的条件概率,A发生故障时,B、C发生故障的概率是100%,因此A的故障必然导致B、C的故障(故障预测场景)。通过这个例子,可以看出贝叶斯网络是如何应用于架构中的故障诊断和故障预测的。
应该理解,图3中的节点数目仅仅是示意性的。根据实现需要,可以具有任意数目的节点。
下面参考图4和图5,结合具体实施例对贝叶斯网络的构建流程进行说明。
图4示意性示出了根据本公开实施例的构建贝叶斯网络的流程图。
如图4所示,该方法包括操作S410~S420。
在操作S410,构建贝叶斯网络的拓扑结构。
根据本公开的实施例,构建贝叶斯网络的拓扑结构是创建贝叶斯网络的第一步,也是较为重要的一步。贝叶斯网络的节点决定了参与概率的推断有哪些变量,节点的属性和条件概率决定了变量的表现和变化方式,节点间的有向边则反映了变量间的影响关系。
在操作S420,确定该拓扑结构中的每个节点的条件概率分布,从而形成贝叶斯网络。
根据本公开的实施例,在贝叶斯网络的拓扑结构建立完成之后,重要的工作是完成各节点的条件概率表,即贝叶斯网络的参数设定。
在贝叶斯网络中,每一个节点的条件概率分布可以使用一个条件概率表(Conditional Probability Table,CPT)来表示。CPT中需要定义该节点有哪些取值可能。在本公开的实施例中,将每个节点的取值范围定为(normal,warning,error),即节点的表现状态有正常状态、警告状态、失效/故障状态。节点表现不同取值状态对应的物理意义,可以根据实际情况由专业人士决定。
根据本公开的实施例,每一个节点的条件概率分布可以是基于大量的历史数据统计获得。
对于可观测节点,可以简单得到这些节点各种状态的频次,进一步计算出该节点各种取值的频次,将这一组频次作为该节点的CPT中的条件概率。
例如,对于服务A,在100次观测中,发生error的次数为2次,则P(error)=2/100=2%;发生warning的次数为15次,则P(warning)=15/100=15%;剩下的情况即为normal,P(normal)=83/100=83%。
对于不可观测节点,指无法直接对该服务节点所在容器的各项物理指标进行直接的观察记录的节点,或是只能够进行不完全的观测和纪录的节点,此时无法使用频率来替代条件概率,需要通过建模来推测未知节点的条件概率分布。这一步需要对未知节点的表现模式具备了解,可以通过专家领域知识进行指导,来尽量从先验角度得到合适的模型。
例如,以高斯模型
Figure BDA0002275463420000101
为不可观测节点的概率模型,借助该节点与其他节点间的父子逻辑关系,设节点x的父节点为z,σ为z的概率分布情况。通过观察高斯模型的特性,可以发现高斯模型的值随着x增加而变小,在实际情况中,节点normal的概率远大于error的概率,所以取出现error的概率为f(x=3,σ),warning为f(x=2,σ),normal为f(x=1,σ)。以此保证了当前节点受到父节点的状态影响的同时,与实际情况(normal概率更大)能保持一致。
因此,可以将不能直接观测的节点(即不可观测节点)概率建模为:
Figure BDA0002275463420000111
Figure BDA0002275463420000112
Figure BDA0002275463420000113
最终得到每一个节点的条件概率分布可以参考图3所示,在此不再赘述。
下面参考图5,结合具体实施例对构建贝叶斯网络的拓扑结构进行说明。
图5示意性示出了根据本公开实施例的构建贝叶斯网络的拓扑结构的流程图。
如图5所示,构建贝叶斯网络的拓扑结构包括操作S510~S530。
在操作S510,确定贝叶斯网络所包含的节点的边界。
在操作S520,确定边界内各节点间的父子逻辑关系。
根据本公开的实施例,在确定边界内各节点间的父子逻辑关系时,需要确定边界内各节点间的业务逻辑关系和/或依赖关系,基于业务逻辑关系和/或依赖关系,确定边界内各节点间的父子逻辑关系。
在操作S530,在具有父子逻辑关系的任意两个节点之间构建一条有向边,从而形成贝叶斯网络的拓扑结构。
在实际工程中,属于同一个大型应用体系的子系统之间难以避免地存在着依赖关系,在形成贝叶斯网络的过程中,需要明确研究对象,并且尽量划分出数据依赖、服务依赖的边界,使得图中所包含的服务节点都属于同一个数据闭环中,服务间的依赖以内部依赖为主,而外部依赖的数量是可以忽略的。如果将多个团队所建立、维护的子系统拆分重组来构成推理网络,这种推理是不可靠的,而且也是难以得到相关数据、本团队也不具备权限进行操作修改的。
因此,首先需要确定贝叶斯网络所属节点的边界。
如上所述,需要明确业务流程中的数据流方向,将数据流流经的各个服务整理归纳,总结出需要被贝叶斯网络纳入的变量。
例如,某团队处理机票预订服务,业务流程包含查询机票、填入信息、生成订单、支付流程、确认订单、库存扣减、查询订单等,业务逻辑链完整,用户订单信息也在此形成闭环,那么机票查询服务、信息写入服务、订单生成服务……都应该被纳入贝叶斯网络节点范围内,而付款时需要调用其他团队的优惠券服务,则可以认为不属于贝叶斯网络节点范围内,因为优惠券接口的失效不会导致用户下单的失败。
其次,需要确定节点间的逻辑关系,也就是节点间的父子关系。
节点间的父子逻辑关系决定了进行概率推断时,一定是父节点的因,导致子节点的果,在此基础上,才能进行因果模型的分析。
节点间的逻辑关系,可以通过业务逻辑流程和接口依赖来形成。
业务逻辑流程需要依靠架构师进行设计和决策,例如,架构师决定先生成订单,在用户下单时再将订单信息填入,分配给用户,那么生成订单服务就是订单信息写入服务的父节点;相反,如果架构师决定先写回订单信息到数据库,再通过消息队列从数据库取信息生成订单回显页面,那么订单信息写入服务就是生成订单服务的父节点了。
接口依赖,则是程序实际逻辑关系的体现,例如,查询流程虽然不直接与库存扣减存在业务上下游关系,但是库存扣减服务中实际使用了查询服务提供的API,那么在这两个节点之间就也应该存在一条有向边,因为查询服务提供API的能力直接决定了库存扣减服务的服务能力正常与否。
在确定好贝叶斯网络需要的节点和有向边之后,就形成了初始的贝叶斯网络结构。其中,贝叶斯网络结构可以参考图1~图3所示,在此不再赘述。
根据本公开的实施例,在构成可用的贝叶斯网络之后,可以基于历史数据,确定贝叶斯网络中的部分或全部节点的属性取值,即确定贝叶斯网络中的部分或全部节点的条件概率分布。
以下将介绍用于构建贝叶斯网络的数据,尤其是属性学习的数据的构成形式与输入过程,包括训练集如何生成、训练数据与测试数据如何分割等问题。
在贝叶斯网络中,一条符合格式的输入称为一条案例(Case),每一条Case都是一行节点取值,数据结构形如表1所示。
表1
序号 节点1 节点2 节点3 节点n
0 节点1取值 节点2取值 节点3取值 节点n取值
图6示意性示出了一种贝叶斯网络结构的示意图,对于如图6所示的贝叶斯网络结构,如果出现由A、B导致D发生故障的情况,形成的输入CASE行如表2所示。
表2
序号 A B C D E
0 error error normal error normal
如果出现由C导致D发生故障的情况,形成的输入CASE行如表3所示。
表3
序号 A B C D E
0 normal normal error error normal
由实际观测的各种情况记录得到的多条CASE,最终形成了贝叶斯网络的训练集合。例如,有1000条这样的观测数据,其中A节点为error的有40条,那么A节点的error概率就是4%;在A节点为error的情况下(40条记录),B节点的故障条数是10条,那么P(B=error|A=error)=10/40=25%。依此计算网络中各个节点的条件概率,可以得到完整的贝叶斯网络。
贝叶斯网络所接收的作为预测数据的输入,形式与上述训练数据相同,都是离散型的CASE,只是将待预测或诊断的节点属性置为空,这样的一条记录,称之为当前的发现(Finding)。预测数据的输入格式形如表4,其中,节点k是被观测节点,已知节点k的取值为枚举值1,其中,枚举值1可以表征一种属性,例如,可以是故障或正常,NaN表示属性置为空。
表4
序号 节点1 节点2 节点k 节点n
0 NaN NaN NaN 节点k取值1 NaN
图7示意性示出了根据本公开实施例的故障定位方法的流程图。
该故障定位方法应用于由多个节点组成的有向无环的微服务架构,微服务架构中的每个节点用于提供对应的预定服务,如图7所示,该方法包括操作S710~S740。
在操作S710,获取微服务架构中第一节点的属性数据,其中,第一节点的节点属性已知。
根据本公开的实施例,第一节点的数量可以是一个或多个。在实际情况中,如果针对预测故障场景,可以预先确定第一节点的数量,第一节点可以是可观测节点。其中,第一节点的属性数据可以是基于历史数据训练得到的不同属性的概率值,其中,属性类型包括但不限于故障,警告和正常。
在操作S720,配置微服务架构中第二节点的属性数据为空值,其中,第二节点的节点属性未知。
根据本公开的实施例,第二节点的数量可以是一个或多个。在实际情况中,第二节点可以是不可观测节点。
在利用贝叶斯网络处理之前,可以预处理第一节点的属性数据和第二节点的空值,分别得到满足预定格式的属性数据和空值。
在操作S730,利用与微服务架构对应的贝叶斯网络处理第一节点的属性数据和第二节点的空值,得到对应的处理结果。
利用贝叶斯网络处理满足预定格式的属性数据和空值,并预测满足预定格式的空值的可能值,其中,每个节点的不同可能值对应于该节点的不同节点属性。例如,故障属性对应一个可能值,正常属性也对应一个可能值。该可能值可以用概率值表示。
在操作S740,基于处理结果,确定微服务架构中第二节点的节点属性,以定位微服务架构中的故障节点。
根据本公开的实施例,以如图6所示的贝叶斯网络结构为例,例如,观测到节点D发生故障,需要追溯节点D发生故障的原因。即第一节点为D,第二节点A、B、C和E的节点属性未知,需要利用贝叶斯网络确定第二节点A、B、C和E的属性。形成的输入CASE行如表5所示。
表5
序号 A B C D E
0 NaN NaN NaN error NaN
输入这条除被观测节点D之外其他节点的属性数据均为空值的记录,贝叶斯网络将会预测出置空节点的可能值,其中,节点D是已知的被观测节点,节点D属性1的概率是1,节点D属性2的概率是0,其中,属性1可以是指故障error,属性2可以是指正常normal。预测的结果格式形如表6,其余节点的各属性对应的概率值(即空值的可能值)都会被分别输出。
表6
Figure BDA0002275463420000151
根据本公开的实施例,其余节点的各属性对应的概率值可以作为处理结果,通过其余节点的各属性对应的概率值确定微服务架构中第二节点的节点属性,以定位微服务架构中的故障节点。例如,通过其余节点的各属性对应的概率值,可以确定各个节点属于正常状态,还是故障状态。根据各个节点的状态信息可以确定出造成第一节点故障的真正故障节点。
通过本公开的实施例,提出了一种与业界现有方案不同的新型方案来解决微服务架构的维护与优化问题,由于贝叶斯网络具有适应数据缺失(即空值)的特性,因此利用贝叶斯网络进行故障定位,克服了相关技术中诊断或预测结果不稳定的缺陷,且能够提高诊断/预测的正确率。
通过本公开的实施例,区别于传统的监控代理法,本方案加入了机器学习方法,减少了人的工作量;也区别于纯机器学习的方案,例如空间聚类算法、决策树算法等,可以结合专家领域知识,提高了正确率。
图8示意性示出了根据本公开实施例的故障定位装置的框图。
故障定位装置应用于由多个节点组成的有向无环的微服务架构,微服务架构中的每个节点用于提供对应的预定服务,如图8所示,故障定位装置800包括获取模块810、配置模块820、处理模块830和第一确定模块840。
获取模块810用于获取微服务架构中第一节点的属性数据,其中,第一节点的节点属性已知。
配置模块820用于配置微服务架构中第二节点的属性数据为空值,其中,第二节点的节点属性未知。
处理模块830用于利用与微服务架构对应的贝叶斯网络处理第一节点的属性数据和第二节点的空值,得到对应的处理结果。
第一确定模块840用于基于处理结果,确定微服务架构中第二节点的节点属性,以定位微服务架构中的故障节点。
通过本公开的实施例,针对微服务架构中已经发生的服务故障(Fault)或失效(Failure),或者即将出现服务故障或失效的服务节点,可以通过基于贝叶斯网络的故障定位方法进行故障诊断和预测,减少了人力成本、提高了运维效率。同时,由于贝叶斯网络的特性之一是可以适应数据缺失情况,因此,基于贝叶斯网络,可以适应未知服务节点的概率分布无法统计的问题,使得能够对已经发生故障或预测即将发生故障的服务节点进行定位。
根据本公开的实施例,处理模块820还用于在利用贝叶斯网络处理之前,预处理第一节点的属性数据和第二节点的空值,分别得到满足预定格式的属性数据和空值。
根据本公开的实施例,处理模块820用于利用贝叶斯网络处理满足预定格式的属性数据和空值,并预测满足预定格式的空值的可能值,其中,每个节点的不同可能值对应于该节点的不同节点属性。
根据本公开的实施例,故障定位装置800还包括构建模块和第二确定模块。
构建模块用于构建贝叶斯网络的拓扑结构。
第二确定模块用于确定拓扑结构中包括的每个节点的条件概率分布,从而形成贝叶斯网络。
根据本公开的实施例,构建模块包括:第一确定单元,用于确定贝叶斯网络所包含的节点的边界;第二确定单元,用于确定边界内各节点间的父子逻辑关系;以及构建单元,用于在具有父子逻辑关系的任意两个节点之间构建一条有向边,从而形成贝叶斯网络的拓扑结构。
根据本公开的实施例,第二确定单元用于确定边界内各节点间的业务逻辑关系和/或依赖关系;以及基于业务逻辑关系和/或依赖关系,确定边界内各节点间的父子逻辑关系。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,获取模块810、配置模块820、处理模块830和第一确定模块840中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,获取模块810、配置模块820、处理模块830和第一确定模块840中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或同件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块810、配置模块820、处理模块830和第一确定模块840中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
需要说明的是,本公开的实施例中装置部分实施方式与本公开的实施例中方法部分实施方式对应相同或类似,装置部分实施方式的描述具体请参考方法部分实施方式的描述,在此不再赘述。
图9示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的框图。图9示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,根据本公开实施例的计算机系统900包括处理器901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。处理器901例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器901还可以包括用于缓存用途的板载存储器。处理器901可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 903中,存储有系统900操作所需的各种程序和数据。处理器901、ROM 902以及RAM 903通过总线904彼此相连。处理器901通过执行ROM 902和/或RAM 903中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 902和RAM 903以外的一个或多个存储器中。处理器901也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,系统900还可以包括输入/输出(I/O)接口905,输入/输出(I/O)接口905也连接至总线904。系统900还可以包括连接至I/O接口905的以下部件中的一项或多项:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被处理器901执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 902和/或RAM 903和/或ROM 902和RAM 903以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (14)

1.一种故障定位方法,应用于由多个节点组成的有向无环的微服务架构,所述微服务架构中的每个节点用于提供对应的预定服务,所述方法包括:
获取所述微服务架构中第一节点的属性数据,其中,所述第一节点的节点属性已知;
配置所述微服务架构中第二节点的属性数据为空值,其中,所述第二节点的节点属性未知;
利用与所述微服务架构对应的贝叶斯网络处理所述第一节点的属性数据和所述第二节点的空值,得到对应的处理结果;以及
基于所述处理结果,确定所述微服务架构中所述第二节点的节点属性,以定位所述微服务架构中的故障节点。
2.根据权利要求1所述的方法,其中,所述方法还包括:
在利用所述贝叶斯网络处理之前,预处理所述第一节点的属性数据和所述第二节点的空值,分别得到满足预定格式的属性数据和空值。
3.根据权利要求2所述的方法,其中,所述利用所述贝叶斯网络处理所述第一节点的属性数据和所述第二节点的空值,得到对应的处理结果,包括:
利用所述贝叶斯网络处理满足所述预定格式的属性数据和空值,并预测满足所述预定格式的空值的可能值,其中,每个节点的不同可能值对应于该节点的不同节点属性。
4.根据权利要求1所述的方法,其中,所述方法还包括:
构建所述贝叶斯网络的拓扑结构;以及
确定所述拓扑结构中包括的每个节点的条件概率分布,从而形成所述贝叶斯网络。
5.根据权利要求4所述的方法,其中,所述构建所述贝叶斯网络的拓扑结构,包括:
确定所述贝叶斯网络所包含的节点的边界;
确定所述边界内各节点间的父子逻辑关系;以及
在具有父子逻辑关系的任意两个节点之间构建一条有向边,从而形成所述贝叶斯网络的拓扑结构。
6.根据权利要求5所述的方法,其中,所述确定所述边界内各节点间的父子逻辑关系,包括:
确定所述边界内各节点间的业务逻辑关系和/或依赖关系;以及
基于所述业务逻辑关系和/或所述依赖关系,确定所述边界内各节点间的父子逻辑关系。
7.一种故障定位装置,应用于由多个节点组成的有向无环的微服务架构,所述微服务架构中的每个节点用于提供对应的预定服务,所述装置包括:
获取模块,用于获取所述微服务架构中第一节点的属性数据,其中,所述第一节点的节点属性已知;
配置模块,用于配置所述微服务架构中第二节点的属性数据为空值,其中,所述第二节点的节点属性未知;
处理模块,用于利用与所述微服务架构对应的贝叶斯网络处理所述第一节点的属性数据和所述第二节点的空值,得到对应的处理结果;以及
第一确定模块,用于基于所述处理结果,确定所述微服务架构中所述第二节点的节点属性,以定位所述微服务架构中的故障节点。
8.根据权利要求7所述的装置,其中,所述处理模块还用于:
在利用所述贝叶斯网络处理之前,预处理所述第一节点的属性数据和所述第二节点的空值,分别得到满足预定格式的属性数据和空值。
9.根据权利要求8所述的装置,其中,所述处理模块用于:
利用所述贝叶斯网络处理满足所述预定格式的属性数据和空值,并预测满足所述预定格式的空值的可能值,其中,每个节点的不同可能值对应于该节点的不同节点属性。
10.根据权利要求7所述的装置,其中,所述装置还包括:
构建模块,用于构建所述贝叶斯网络的拓扑结构;以及
第二确定模块,用于确定所述拓扑结构中包括的每个节点的条件概率分布,从而形成所述贝叶斯网络。
11.根据权利要求10所述的装置,其中,所述构建模块包括:
第一确定单元,用于确定所述贝叶斯网络所包含的节点的边界;
第二确定单元,用于确定所述边界内各节点间的父子逻辑关系;以及
构建单元,用于在具有父子逻辑关系的任意两个节点之间构建一条有向边,从而形成所述贝叶斯网络的拓扑结构。
12.根据权利要求11所述的装置,其中,所述第二确定单元用于:
确定所述边界内各节点间的业务逻辑关系和/或依赖关系;以及
基于所述业务逻辑关系和/或所述依赖关系,确定所述边界内各节点间的父子逻辑关系。
13.一种计算机系统,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至6中任一项所述的方法。
14.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至6中任一项所述的方法。
CN201911126084.2A 2019-11-15 2019-11-15 故障定位方法及装置、计算机系统和可读存储介质 Pending CN112817786A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911126084.2A CN112817786A (zh) 2019-11-15 2019-11-15 故障定位方法及装置、计算机系统和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911126084.2A CN112817786A (zh) 2019-11-15 2019-11-15 故障定位方法及装置、计算机系统和可读存储介质

Publications (1)

Publication Number Publication Date
CN112817786A true CN112817786A (zh) 2021-05-18

Family

ID=75852220

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911126084.2A Pending CN112817786A (zh) 2019-11-15 2019-11-15 故障定位方法及装置、计算机系统和可读存储介质

Country Status (1)

Country Link
CN (1) CN112817786A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7720779B1 (en) * 2006-01-23 2010-05-18 Quantum Leap Research, Inc. Extensible bayesian network editor with inferencing capabilities
CN105069467A (zh) * 2015-07-28 2015-11-18 北京通博科技有限公司 车辆油位数据的筛选方法和装置
CN107248003A (zh) * 2017-08-03 2017-10-13 浙江大学 基于带滑动窗口贝叶斯网络的自适应软测量预测方法
CN109116834A (zh) * 2018-09-04 2019-01-01 湖州师范学院 一种基于深度学习的间歇过程故障检测方法
CN109270461A (zh) * 2018-10-15 2019-01-25 四川长虹电器股份有限公司 基于贝叶斯网络的故障检测方法
CN110032463A (zh) * 2019-03-01 2019-07-19 阿里巴巴集团控股有限公司 一种基于贝叶斯网络的系统故障定位方法和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7720779B1 (en) * 2006-01-23 2010-05-18 Quantum Leap Research, Inc. Extensible bayesian network editor with inferencing capabilities
CN105069467A (zh) * 2015-07-28 2015-11-18 北京通博科技有限公司 车辆油位数据的筛选方法和装置
CN107248003A (zh) * 2017-08-03 2017-10-13 浙江大学 基于带滑动窗口贝叶斯网络的自适应软测量预测方法
CN109116834A (zh) * 2018-09-04 2019-01-01 湖州师范学院 一种基于深度学习的间歇过程故障检测方法
CN109270461A (zh) * 2018-10-15 2019-01-25 四川长虹电器股份有限公司 基于贝叶斯网络的故障检测方法
CN110032463A (zh) * 2019-03-01 2019-07-19 阿里巴巴集团控股有限公司 一种基于贝叶斯网络的系统故障定位方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
朱金林等: "基于动态贝叶斯网络的缺失数据系统故障辨识", 信息与控制, vol. 42, no. 04, 15 August 2013 (2013-08-15), pages 499 - 504 *

Similar Documents

Publication Publication Date Title
US10769007B2 (en) Computing node failure and health prediction for cloud-based data center
US11354131B2 (en) Determining problem dependencies in application dependency discovery, reporting, and management tool
US11379292B2 (en) Baseline modeling for application dependency discovery, reporting, and management tool
US10929278B2 (en) Intelligent services for application dependency discovery, reporting, and management tool
US12039415B2 (en) Debugging and profiling of machine learning model training
US20220300397A1 (en) Discovery crawler for application dependency discovery, reporting, and management tool
US10585773B2 (en) System to manage economics and operational dynamics of IT systems and infrastructure in a multi-vendor service environment
US11221854B2 (en) Dependency analyzer in application dependency discovery, reporting, and management tool
US11334831B2 (en) Predictive risk assessment in system modeling
US10915428B2 (en) Intelligent services and training agent for application dependency discovery, reporting, and management tool
US11093378B2 (en) Testing agent for application dependency discovery, reporting, and management tool
US11222296B2 (en) Cognitive user interface for technical issue detection by process behavior analysis for information technology service workloads
WO2017011708A1 (en) Apparatus and method of leveraging machine learning principals for root cause analysis and remediation in computer environments
US20200089533A1 (en) Methods and systems for cloud application optimization
CN114064196A (zh) 用于预测性保障的系统和方法
US11531539B2 (en) Automated compliance and testing framework for software development
US11468365B2 (en) GPU code injection to summarize machine learning training data
US11418411B1 (en) Data center issue resolution prioritization
Avritzer et al. Scalability testing automation using multivariate characterization and detection of software performance antipatterns
WO2021067385A1 (en) Debugging and profiling of machine learning model training
US11748184B2 (en) Data center issue impact analysis
US12001920B2 (en) Generating a global snapshot of a quantum computing device
US20230071119A1 (en) Change monitoring and displaying change activity for a cloud computing environment
CN112817786A (zh) 故障定位方法及装置、计算机系统和可读存储介质
Milanovic Models, methods and tools for availability assessment of it-services and business processes

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination