学习因果关系制造技术

技术编号:36653236 阅读:18 留言:0更新日期:2023-02-18 13:17
提供了一种计算机实现的方法,其包括:学习两个或更多个应用微服务之间的因果关系,以及应用所学习的因果关系以动态地定位应用故障。收集与选择性注入的错误相对应的第一微服务错误日志数据。基于所收集的第一微服务错误日志数据,生成所学习的因果图。收集与所检测到的应用相对应的第二微服务错误日志数据,并使用所学习的因果图和第二微服务错误日志数据建立祖先矩阵。利用祖先矩阵识别错误的源,并且与所识别的错误源相关联的微服务也受到识别。还提供了一种计算机系统和计算机程序产品。品。品。

【技术实现步骤摘要】
学习因果关系


[0001]本公开的实施例涉及用于利用因果干预来经由主动因果学习而推断应用微服务之间的因果图并利用所学习的因果图来执行故障定位的系统、计算机程序产品和计算机实现的方法。

技术介绍

[0002]在本领域理解,单体应用是独立于其他应用的自包含应用。微服务或微服务架构通常是指一种计算机环境,在该计算机环境中,应用基于功能定义而被构建为一套模块化组件或服务,并且每一个应用运行它自己的进程并通过轻量级机制进行通信。在某些微服务架构中,数据被存储在服务外部,并因此,服务是无状态的,并且这些服务或组件通常被称为“原子服务”。每个原子服务是用于独立执行模块化服务的轻量级组件;每个原子服务支持特定任务,并使用所定义的接口(诸如应用编程接口(API))来与其他服务通信。微服务架构支持并实现混合网络中的可扩展性。
[0003]通常,微服务是一种架构方法,通常是云原生的,其中单个应用由多个松散耦合且可独立部署的较小组件或服务(被称为微服务)组成。微服务通常(但不一定)使它们自己的栈(包括数据库和数据模型)通过表述性状态转移(REST)应用程序接口(API)的组合来彼此通信,并且微服务由商业实体组织。工业微服务应用具有数百个或更多的微服务,其中一些微服务具有依赖关系。随着应用微服务数量增加,微服务之间的依赖关系也越来越复杂。应用的微服务的拓扑可以是固定的,但通常是未知的。
[0004]微服务依赖关系的复杂性以及通常未知的微服务拓扑导致故障定位的复杂性和低效。开发可以执行应用微服务的故障定位的系统、计算机程序产品和计算机实现的方法会是重大的进步。在具体的示例性实施例中,该系统、计算机程序产品和计算机实现的方法可在生产环境中以最小的观测数据来操作。

技术实现思路

[0005]实施例包括一种用于学习应用微服务之间的因果关系并动态地利用所学习的因果关系以用于故障定位的系统、计算机程序产品和方法。本
技术实现思路
被提供为以简化形式介绍在以下具体实施方式中进一步描述的代表性概念的选择。本
技术实现思路
并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于以任何方式限制所要求保护的主题的范围。
[0006]在一方面,一种计算机系统被配备有:处理器,其可操作地耦合到存储器;以及人工智能(AI)平台,其与处理器和存储器通信。AI平台包括预发布(staging)管理器,并且生产管理器和引导器可操作地耦合到AI平台。预发布管理器被配置为学习两个或更多个应用微服务之间的因果关系。收集与一个或多个选择性注入的错误相对应的第一微服务错误日志数据,并且基于所收集的第一微服务错误日志数据生成所学习的因果图。所学习的因果图表示受选择性错误注入影响的应用微服务的依赖性。可操作地耦合到预发布管理器的生
产管理器被配置为动态地定位应用错误的源。收集与应用错误相对应的第二微服务错误日志数据,并且基于所学习的因果图和所收集的第二微服务错误日志数据来建立祖先矩阵。利用祖先矩阵来识别错误的源。可操作地耦合到生产管理器的引导器被配置为识别与所识别的错误源相关联的微服务。
[0007]在另一方面,提供了一种用于学习两个或更多个应用微服务之间的因果关系的计算机实现的方法。收集与一个或多个选择性注入的错误相对应的第一微服务错误日志数据,并基于所收集的第一微服务错误日志数据生成所学习的因果图。所学习的因果图表示受选择性错误注入影响的应用微服务的依赖性。动态地定位应用错误的源,该定位表现为收集与应用错误相对应的第二微服务错误日志数据以及基于所学习的因果图和所收集的第二微服务错误日志数据建立祖先矩阵。利用祖先矩阵以识别错误源和与所标识的错误源相关联的微服务。
[0008]在又一方面,提供一种计算机程序产品。该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质包含有程序代码。程序代码可由处理器执行以学习两个或更多个应用微服务之间的因果关系。提供用于收集与一个或多个选择性注入的错误相对应的第一微服务错误日志数据并基于所收集的第一微服务错误日志数据生成所学习的因果图的程序代码。所学习的因果图表示受选择性错误注入影响的应用微服务的依赖性。进一步提供用于动态地定位应用错误的源的程序代码。收集与应用错误相对应的第二微服务错误日志数据,并基于所学习的因果图和所收集的第二微服务错误日志数据来建立祖先矩阵。利用祖先矩阵以识别错误的源和与所识别的错误源相关联的微服务。
[0009]在进一步的方面,提供了一种用于训练人工智能模型的计算机实现的方法。收集与一个或多个选择性注入的微服务故障相对应的第一错误日志数据,并基于所收集的错误日志数据(在实施例中被称为第一错误日志数据)学习因果图。因果图表示受影响的应用微服务的依赖性。动态地定位应用故障,其包括收集与应用故障的检测相对应的第二错误日志数据。利用第二错误日志数据和所学习的因果图以识别应用故障的源。
[0010]在又进一步的方面,一种计算机系统被配备有:处理器,其可操作地耦合到存储器;以及人工智能(AI)平台,其与处理器和存储器通信。AI平台包括预发布管理器。提供生产管理器,并且生产管理器可操作地耦合到AI平台。预发布管理器被配置为训练AI模型。收集与一个或多个选择性注入的微服务故障相对应的第一错误日志数据,并基于所收集的第一错误日志数据学习因果图。因果图表示受影响的应用微服务的依赖性。可操作地耦合到预发布管理器的生产管理器被配置为动态地定位应用故障。收集与应用故障的检测相对应的第二错误日志数据。利用第二错误日志数据和所学习的因果图来识别应用故障的源。
[0011]根据以下结合附图对示例性实施例的详细描述,这些和其他特征和优点将变得显而易见,附图描述并示出了附加方面的各种系统、子系统、设备、装置、模型、过程和方法。
附图说明
[0012]在此所引用的附图形成说明书的一部分,并且通过引用被结合。除非另外指明,否则附图中所示的特征意味着仅说明一些实施例,而不是所有实施例的说明。
[0013]图1示出在预发布环境中支持和启用主动学习以学习因果图并在生产环境中利用所学习的因果图来定位应用故障的计算机系统的示意图。
[0014]图2示出描绘如图1所示和描述的AI平台工具及其相关联的应用程序接口(API)的框图。
[0015]图3示出用于学习微服务之间的因果关系的流程图。
[0016]图4示出描绘示例性干预模式的框图。
[0017]图5示出描述示例性干预矩阵的框图。
[0018]图6示出使用来自图3的输出的传递简约(transitive reduction)因果图以用于生产环境中的故障定位的流程图。
[0019]图7示出描绘用于实现以上关于图1至图6描述的系统和过程的基于云的支持系统的计算机系统/服务器的实例的框图。
[0020]图8示出描绘云计算机环境的框图。
[0021]图9示出描绘由云计算环境提供的一组功能抽象模型层的框图。
具体实施方式
[0022]将容易理解的是,如在本文的附图中一般描述和示出的这些示例性本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种计算机系统,包括:计算机处理器,其可操作地耦合到存储器;与所述计算机处理器和存储器通信的人工智能AI平台,所述AI平台包括:预发布管理器,其被配置为学习两个或更多个应用微服务之间的因果关系,所述学习包括:收集与一个或多个选择性注入的错误相对应的第一微服务错误日志数据;以及基于所收集的第一微服务错误日志数据,生成所学习的因果图,所述所学习的因果图表示受所述选择性错误注入影响的应用微服务的依赖性;生产管理器,其可操作地耦合到所述预发布管理器,所述生产管理器被配置为动态地定位应用错误的源,所述定位包括:收集与所述应用错误相对应的第二微服务错误日志数据;基于所述所学习的因果图和所收集的第二微服务错误日志数据,建立祖先矩阵;以及利用所述祖先矩阵来识别所述错误的所述源;以及引导器,其可操作地耦合到所述生产管理器,被配置为识别与所识别的错误源相关联的微服务。2.根据权利要求1所述的计算机系统,其中,两个或更多个应用微服务之间的所述因果关系的学习还包括:所述预发布管理器过滤所收集的第一微服务错误日志数据以选择性地移除第一错误日志数据的子集。3.根据权利要求1所述的计算机系统,其中,应用微服务之间的所述因果关系的学习和所述因果图的生成离线发生。4.根据权利要求1所述的计算机系统,其中,故障定位实时在线发生。5.根据权利要求1所述的计算机系统,还包括:所述预发布管理器,所述预发布管理器被配置为将传递简约应用于所述所学习的因果图。6.根据权利要求1所述的计算机系统,其中,利用所述祖先矩阵包括:所述生产管理器识别所述错误的多个潜在源,并且所述计算机系统进一步包括:所述生产管理器,其被配置为应用距离度量以估计所述错误源,其中,所述距离度量包括汉明距离或余弦相似度。7.一种计算机实现的方法,包括:学习两个或更多个应用微服务之间的因果关系,其包括:收集与一个或多个选择性注入的错误相对应的第一微服务错误日志数据;以及基于所收集的第一微服务错误日志数据,生成所学习的因果图,所述所学习的因果图表示受所述选择性错误注入影响的微服务的依赖性;以及动态地定位应用错误的源,其包括:收集与所述应用错误相对应的第二微服务错误日志数据;基于所述所学习的因果图和所收集的第二微服务错误日志数据,建立祖先矩阵;以及利用所述祖先矩阵来识别所述错误的所述源;以及识别与所识别的错误源相关联的微服务。8.根据权利要求7所述的方法,其中,学习两个或更多个应用微服务之间的因果关系还包括:过滤所收集的第一微服务日志数据以选择性地移除第一错误日志数据的子集。9.根据权利要求7所述的方法,其中,学习两个或更多个应用微服务之间的因果关系和
...

【专利技术属性】
技术研发人员:王卿K
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1