掌桥专利:专业的专利平台
掌桥专利
首页

根因元素的定位方法、装置、计算机设备及存储介质

文献发布时间:2023-06-19 13:46:35


根因元素的定位方法、装置、计算机设备及存储介质

技术领域

本申请涉及互联网技术领域,尤其涉及一种根因元素的定位方法、装置、计算机设备及存储介质。

背景技术

在互联网服务运维中,当某个总指标发生异常时,需要快速定位到是哪个交叉维度的细粒度组合的异常导致的,进而达到快速止损。相关技术中,通常是依赖运维的经验规则,沿着服务的调用链,逐一排查故障的根因元素。

这种方式下,对于不在同一条调用链上的根因元素,则无法有效排查。

发明内容

本申请旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本申请的目的在于提出一种根因元素的定位方法、装置、计算机设备及存储介质,能够有效提升服务调用链的故障根因的定位准确性和定位效率,提升故障根因的定位效果,实现全链路的根因定位。

为达到上述目的,本申请第一方面实施例提出的根因元素的定位方法,包括:从服务对应的调用链路空间中确定出第一搜索空间,所述第一搜索空间包括:多个节点,所述节点中包括:至少一个元素,不同的所述元素之间具有相同的属性维度;确定所述第一搜索空间的第一根因元素集合,所述第一根因元素集合包括:至少一个第一根因元素,所述第一根因元素是所述至少一个元素之中与所述服务的故障相关的元素;从第二搜索空间中确定出多个候选的根因元素,所述第一搜索空间和所述第二搜索空间共同构成所述调用链路空间,所述第一搜索空间的元素和所述第二搜索空间的元素之间的属性维度不相同;根据所述第一根因元素,从所述至少一个候选的根因元素选取出至少一个第二根因元素,所述第二根因元素是所述第二搜索空间内与所述服务的故障相关的元素;其中,所述至少一个第一根因元素和所述至少一个第二根因元素被共同作为定位到的根因元素。

本申请第一方面实施例提出的根因元素的定位方法,通过从服务对应的调用链路空间中确定出第一搜索空间,第一搜索空间包括:多个节点,节点中包括:至少一个元素,不同的元素之间具有相同的属性维度,确定第一搜索空间的第一根因元素集合,第一根因元素集合包括:至少一个第一根因元素,第一根因元素是至少一个元素之中与服务的故障相关的元素,并从第二搜索空间中确定出多个候选的根因元素,第一搜索空间和第二搜索空间共同构成调用链路空间,第一搜索空间的元素和第二搜索空间的元素之间的属性维度不相同,以及根据第一根因元素,从至少一个候选的根因元素选取出至少一个第二根因元素,第二根因元素是第二搜索空间内与服务的故障相关的元素,其中,至少一个第一根因元素和至少一个第二根因元素被共同作为定位到的根因元素,能够有效提升服务调用链的故障根因的定位准确性和定位效率,提升故障根因的定位效果,实现全链路的根因定位。

为达到上述目的,本申请第二方面实施例提出的根因元素的定位装置,包括:第一确定模块,用于从服务对应的调用链路空间中确定出第一搜索空间,所述第一搜索空间包括:多个节点,所述节点中包括:至少一个元素,不同的所述元素之间具有相同的属性维度;第二确定模块,用于确定所述第一搜索空间的第一根因元素集合,所述第一根因元素集合包括:至少一个第一根因元素,所述第一根因元素是所述至少一个元素之中与所述服务的故障相关的元素;第三确定模块,用于从第二搜索空间中确定出多个候选的根因元素,所述第一搜索空间和所述第二搜索空间共同构成所述调用链路空间,所述第一搜索空间的元素和所述第二搜索空间的元素之间的属性维度不相同;选取模块,用于根据所述第一根因元素,从所述至少一个候选的根因元素选取出至少一个第二根因元素,所述第二根因元素是所述第二搜索空间内与所述服务的故障相关的元素;其中,所述至少一个第一根因元素和所述至少一个第二根因元素被共同作为定位到的根因元素。

本申请第二方面实施例提出的根因元素的定位装置,通过从服务对应的调用链路空间中确定出第一搜索空间,第一搜索空间包括:多个节点,节点中包括:至少一个元素,不同的元素之间具有相同的属性维度,确定第一搜索空间的第一根因元素集合,第一根因元素集合包括:至少一个第一根因元素,第一根因元素是至少一个元素之中与服务的故障相关的元素,并从第二搜索空间中确定出多个候选的根因元素,第一搜索空间和第二搜索空间共同构成调用链路空间,第一搜索空间的元素和第二搜索空间的元素之间的属性维度不相同,以及根据第一根因元素,从至少一个候选的根因元素选取出至少一个第二根因元素,第二根因元素是第二搜索空间内与服务的故障相关的元素,其中,至少一个第一根因元素和至少一个第二根因元素被共同作为定位到的根因元素,能够有效提升服务调用链的故障根因的定位准确性和定位效率,提升故障根因的定位效果,实现全链路的根因定位。

本申请第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如本申请第一方面实施例提出的根因元素的定位方法。

本申请第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请第一方面实施例提出的根因元素的定位方法。

本申请第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行如本申请第一方面实施例提出的根因元素的定位方法。

本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1是本申请一实施例提出的根因元素的定位方法的流程示意图;

图2是本申请实施例中调用链路空间示意图;

图3是本申请另一实施例提出的根因元素的定位方法的流程示意图;

图4是本申请另一实施例提出的根因元素的定位方法的流程示意图;

图5为本申请实施例中的应用示意图;

图6是本申请一实施例提出的根因元素的定位装置的结构示意图;

图7是本申请另一实施例提出的根因元素的定位装置的结构示意图;

图8示出了适于用来实现本申请实施方式的示例性计算机设备的框图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。相反,本申请的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。

图1是本申请一实施例提出的根因元素的定位方法的流程示意图。

其中,需要说明的是,本实施例的根因元素的定位方法的执行主体为根因元素的定位装置,该装置可以由软件和/或硬件的方式实现,该装置可以配置在电子设备中,电子设备可以包括但不限于终端、服务器端等。

如图1所示,该根因元素的定位方法包括:

S101:从服务对应的调用链路空间中确定出第一搜索空间,第一搜索空间包括:多个节点,节点中包括:至少一个元素,不同的元素之间具有相同的属性维度。

其中,服务可以例如是互联网服务,服务例如用于支持互联网功能的一些硬件和/或软件服务,具体例如应用程序服务、小程序服务、搜索引擎服务等等,对此不做限制。

可以理解的是,在互联网服务中,通常会基于信息接收、接口调用、算法处理、信息识别等等的服务方式来对外提供互联网服务,从而在采用各个服务方式对外提供互联网服务时,会存在一条或者多条的调用链路,本申请中将一条或者多条的调用链路形成的空间,称为调用链路空间,当硬件设备对外提供互联网服务时,可以被视为基于该调用链路空间之中的一条或者多条的调用链路上的服务方式来实现相应的互联网服务。

本申请实施例中,可以从服务对应的调用链路空间中确定出第一搜索空间,第一搜索空间包括:多个节点,节点中包括:至少一个元素,不同的元素之间具有相同的属性维度。

第一搜索空间可以被视为服务的整体的调用链路空间中的局部空间,该第一搜索空间之中包含:多个节点,节点中包括:至少一个元素,不同的元素之间具有相同的属性维度,其中第一搜索空间中的多个节点,可以是整体的调用链路空间中的部分节点,各个节点可以对应一种服务方式,节点中包括的元素可以对应该服务方式下的属性,一个元素可以对应一个或者多个属性,属性维度指的是属性的数量,例如一个元素如果对应两个属性,则其属性维度可以是二维,一个元素如果对应三个属性,则其属性维度可以是三维。

如图2所示,图2是本申请实施例中调用链路空间示意图,调用链路空间可以包括四层节点(仅是示例,对此不做限制),相同层节点的属性维度是相同的,各个节点对应包括多个元素,节点可以例如对应一种服务方式,节点中包括的元素可以对应该服务方式下的属性(属性例如,“省份”、“城市”),而节点,可以被视为元素的集合,可以具有相同或者相近属性值的元素划分至一类节点之中。

一并参见图2,也即是说,本申请中的调用链路空间可以具有以下特征:将具有相同属性维度(即属性数量)的元素称为同层元素,属性数量表示层数,同层元素根据其所包含的属性值划分为不同的集合,将划分出的这些集合当作一个节点,每一个高层元素(包含更多属性数量的元素)的集合,可以是由其上层节点中的元素结合得到的。

而本申请中的第一搜索空间,可以是图2中所示的调用链路空间中的局部的调用链路空间,第一搜索空间包括:多个节点,节点中包括:至少一个元素,不同的元素之间具有相同的属性维度,例如,第一搜索空间中所包含的元素,可以是图2所示的调用链路空间中的同层的元素。

本申请实施例中,考虑到服务的关键绩效指标(Key Performance Indicator,KPI)通常会受到很多维度属性的影响,每个属性维度包含的元素数目繁多,从而造成定位根因的搜索空间巨大,由此,通过从服务对应的调用链路空间中确定出第一搜索空间,从而实现有效地缩小搜索空间,能够辅助提升服务调用链的故障根因的定位效率。

可选地,一些实施例中,如图3所示,图3是本申请另一实施例提出的根因元素的定位方法的流程示意图,从服务对应的调用链路空间中确定出第一搜索空间,包括:

S301:确定服务对应的多种属性维度。

其中,属性维度指的是属性的数量,例如一个元素如果对应两个属性,则其属性维度可以是二维,一个元素如果对应三个属性,则其属性维度可以是三维,则相应的,多种属性维度,可以例如是二维、三维、四维,对此不做限制。

S302:从多种属性维度之中确定出目标属性维度。

也即是说,本实施例中考虑到相对于总的属性值的数量,而实际上对服务总体的关键绩效指标KPI的异常变化产生较大影响的属性值数量比较少,因此,本实施例中,可以先对各属性维度进行筛选,确定出目标属性维度,目标属性维度所属的元素,可以例如是对服务总体的关键绩效指标KPI的异常变化产生的影响相对较大的元素。

可选地,一些实施例中,可以确定多种属性维度所分别关联的多个元素;确定与多个元素分别对应的多个真实值分布指标和多个预测值分布指标;确定多个真实值分布指标和对应的多个预测值分布指标之间的多个距离指标值;从多个距离指标值之中选取出目标距离指标值,目标距离指标值,指示对应的目标元素对服务的关键绩效指标KPI的影响程度,大于其它元素对服务的关键绩效指标KPI的影响程度,目标元素和其它元素共同组成关联的多个元素;将目标元素的属性维度,作为目标属性维度,从而实现将各个元素对总体的服务的关键绩效指标KPI的影响程度,和各个元素对于真实值分布指标和预测值分布指标之间的距离的贡献程度均纳入目标属性维度的选取考量指标,以辅助确定第一搜索空间,能够有效提升根因元素的定位范围的准确性。

上述可以确定各个元素服务的关键绩效指标KPI的影响程度,并将多个影响程度进行排序,选取出影响程度最大的元素作为目标元素。

举例而言,假设多种属性维度,可以例如是二维、三维、四维,则多种属性维度所分别关联的多个元素,可以是属性维度是二维的元素、属性维度是三维的元素,以及属性维度是四维的元素,而后,分别确定各维元素对应的真实值分布指标和多个预测值分布指标。

其中,与元素对应的真实值,可以例如互联网服务中该元素对应的服务方式的真实的输出值,例如假设整体的互联网服务是A,则互联网服务A映射至各个元素对应的服务方式的真实的输出值可以是A1、A2、A3等,各个调用链路上的元素的输出值共同作用与整体的互联网服务A,与元素对应的预测值,可以例如互联网服务中该元素对应的服务方式的预测的输出值,例如假设整体的互联网服务是A,则互联网服务A映射至各个元素对应的服务方式的预测的输出值可以是A1’、A2’、A3’等,各个调用链路上的元素的输出值共同作用与整体的互联网服务A,通常受限于实际的环境,预测值和真实值会存在一定的偏差。

上述获取真实值时,可以直接根据各元素的输出情况来识别得到,而获取预测值时,可以是采用相关技术中的二阶指数平滑方法来得到当前时间点各元素的预测值,对此不做限制。

上述真实值分布指标,则可以是用于评价指真实的输出值的分布情况,而预测值分布指标,则可以是用于评价预测的输出值的分布情况,对此不做限制。

上述在确定与多个元素分别对应的多个真实值分布指标和多个预测值分布指标之后,可以针对每个元素,确定其对应的真实值分布指标和预测值分布指标之间的相似程度,比如可以确定多个真实值分布指标和对应的多个预测值分布指标之间的多个距离指标值;从多个距离指标值之中选取出目标距离指标值,从而使得目标距离指标值,指示对应的目标元素对服务的关键绩效指标KPI的影响程度,大于其它元素对服务的关键绩效指标KPI的影响程度,目标元素和其它元素共同组成关联的多个元素。

上述在确定多个真实值分布指标和对应的多个预测值分布指标之间的多个距离指标值时,可以具体是确定多个真实值分布指标和对应的多个预测值分布指标之间的多个詹森香农(Jensen-Shannon Divergence,JS散度)散度,并将多个詹森香农JS散度作为对应的多个距离指标值。

例如,可以针对各个元素对应的真实值分布指标和预测值分布指标,计算二者之间的JS散度,将JS散度作为与该元素对应的距离指标值。

本申请实施例中,通过采用JS散度作为距离指标的度量值,是考虑到预测值较小的元素发生较大异常变化所包含的信息量,要大于本身预测值较大的元素发生相同异常变化的信息量,通常针对这种情况,依据波效应假设,预测值较小的元素被分配得到的异常值会比较小,会增大分母,由此本申请实施例中采用JS散度作为距离指标的度量值,能够有效减小由于假设带来的误差,能够有效提升目标距离指标值确定的准确性,从而在辅助缩小搜索空间的同时,辅助确定出最为合适的根因元素定位范围。

S303:从调用链路空间之中,确定目标属性维度所关联元素对应的节点。

S304:根据至少一个节点形成第一搜索空间。

假设确定出的目标属性维度是三维,则可以将属性维度是三维的元素所属的节点作为目标属性维度所关联元素对应的节点,而后,根据这些节点之间的局部的调用链路形成上述的第一搜索空间。

S102:确定第一搜索空间的第一根因元素集合,第一根因元素集合包括:至少一个第一根因元素,第一根因元素是至少一个元素之中与服务的故障相关的元素。

上述在从服务对应的调用链路空间中确定出第一搜索空间,第一搜索空间包括:多个节点,节点中包括:至少一个元素,不同的元素之间具有相同的属性维度之后,可以确定第一搜索空间的第一根因元素集合,也即是说,可以在第一搜索空间中进行根因元素的定位搜索,从而确定出可能对服务的故障产生影响的元素作为第一根因元素,将第一根因元素所涉及的局部的调用链路上的元素,均可以作为相关的元素,对此不做限制。

S103:从第二搜索空间中确定出多个候选的根因元素,第一搜索空间和第二搜索空间共同构成调用链路空间,第一搜索空间的元素和第二搜索空间的元素之间的属性维度不相同。

上述在从服务对应的调用链路空间中确定出第一搜索空间,并从第一搜索空间中确定出第一根因元素集合之后,可以从第二搜索空间中确定出多个候选的根因元素。

其中,服务的整体的调用链路空间中,除第一搜索空间之外的搜索空间,可以被称为第二搜索空间,第二搜索空间中相应的包含多个节点,各个节点包含对应的一个或者多个元素,第二搜索空间的组织架构方式可以是和第一搜索空间的组织架构方式相同,第一搜索空间的元素和第二搜索空间的元素之间的属性维度不相同。

例如,假设第一搜索空间中元素的属性维度是三维,则第二搜索空间中元素的属性维度可以是二维或者四维,或者除三维之外的其它任意可能的维度,对此不做限制。

在实际的应用场景中,服务的关键绩效指标(Key Performance Indicator,KPI)通常会受到很多维度属性的影响,并且KPI具有可加性,不同属性的元素的组合对应的KPI是相互关联的,比如KPI总和等于属性A下所有元素对应的KPI值之和,而不同属性之间的属性值也会互相影响,比如“省份”属性对应的属性值为“北京”的元素的KPI发生异常时,属性值为“北京移动”、“北京联通”的KPI也会发生异常,从而导致“运行商”属性对应的属性值为“移动”和“联通”的KPI也会发生异常,由此可见,包含不同属性的元素之间存在比较复杂的关系。

正是考虑到上述应用场景中,包含不同属性的元素之间存在比较复杂的关系,本申请实施例中,可以将相同属性维度的元素构成的集合作为搜索空间(第一搜索空间),而后在第一搜索空间中应用蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)算法,得到这一属性维度下的最可能的根因元素的集合(第一根因元素集合),而后,再比较不同属性维度的根因元素(第二根因元素)所属节点的节点潜在评分Potential Score,从而得到目标根因元素集合,该目标根因元素结合是包含第一根因元素和第二根因元素的集合。

S104:根据第一根因元素,从至少一个候选的根因元素选取出至少一个第二根因元素,第二根因元素是第二搜索空间内与服务的故障相关的元素。

也即是说,上述在第一搜索空间中定位出第一根因元素集合之后,可以在不同属性维度的第二搜索空间中进行搜索,定位出至少一个候选的根因元素,而后,可以根据各个候选的根因元素所属节点的节点潜在评分Potential Score来筛选出第二根因元素。

本申请实施例中,在第一搜索空间中定位出第一根因元素集合方法可以具体参见下述实施例,而在第二搜索空间中定位出多个候选的根因元素的方法可以参见在第一搜索空间中定位根因元素的方法。

本实施例中,通过从服务对应的调用链路空间中确定出第一搜索空间,第一搜索空间包括:多个节点,节点中包括:至少一个元素,不同的元素之间具有相同的属性维度,确定第一搜索空间的第一根因元素集合,第一根因元素集合包括:至少一个第一根因元素,第一根因元素是至少一个元素之中与服务的故障相关的元素,并从第二搜索空间中确定出多个候选的根因元素,第一搜索空间和第二搜索空间共同构成调用链路空间,第一搜索空间的元素和第二搜索空间的元素之间的属性维度不相同,以及根据第一根因元素,从至少一个候选的根因元素选取出至少一个第二根因元素,第二根因元素是第二搜索空间内与服务的故障相关的元素,其中,至少一个第一根因元素和至少一个第二根因元素被共同作为定位到的根因元素,能够有效提升服务调用链的故障根因的定位准确性和定位效率,提升故障根因的定位效果,实现全链路的根因定位。

图4是本申请另一实施例提出的根因元素的定位方法的流程示意图。

如图4所示,该根因元素的定位方法包括:

S401:从服务对应的调用链路空间中确定出第一搜索空间,第一搜索空间包括:多个节点,节点中包括:至少一个元素,不同的元素之间具有相同的属性维度。

S401的描述说明可以具体参见上述实施例,在此不再赘述。

S402:确定与多个节点分别对应的多个节点潜在评分和多个调用次数,调用次数,是服务的调用链路经过对应的节点的次数。

本实施例首先在第一搜索空间中应用蒙特卡洛树搜索MCTS算法,得到这一属性维度下的最可能的根因元素的集合(第一根因元素集合)。

举例而言,可以在根因元素定位方法中,将蒙特卡洛树搜索MCTS算法应用到同维度属性的元素构成的集合中,比如可以将第一搜索空间记为C,第一搜索空间C中每个节点的状态s(可以被称为对应的节点状态)对应第一搜索空间中该节点下的元素的有序集合G(s),本申请实施例中可以将Potential Score算法函数作为蒙特卡洛树搜索MCTS算法的评价函数,对于每个节点,采用Potential Score算法函数对该节点的节点状态进行评分,得到该节点的节点潜在评分Q(s),以及确定该节点的调用次数,调用次数,是服务的调用链路经过对应的节点的次数N(s),Q(s)的值通常等于当前节点所有子节点中节点潜在评分最大的值,公式如下:

其中,Q(s)表示当前节点的节点潜在评分,a表示子节点的元素,Q(s,a)表示子节点的节点潜在评分,A(s)表示节点状态的集合,ps(G(s))表示该节点下的元素的有序集合G(s)中各个元素,对其所属节点所贡献的潜在评分。

S403:根据多个节点潜在评分和多个调用次数,结合蒙特卡洛树搜索MCTS算法构建与多个节点分别对应的多个搜索树,搜索树包括:根节点和基于根节点衍生得到的预测节点,根节点是与搜索树对应的节点。

上述在确定与多个节点分别对应的多个节点潜在评分和多个调用次数之后,可以结合蒙特卡洛树搜索MCTS算法构建与多个节点分别对应的多个搜索树。

举例而言,可以以各个节点作为根节点,经过蒙特卡洛树搜索MCTS进行至少一次的迭代,根据蒙特卡洛树搜索MCTS的原理,在每次迭代之后,搜索树都会增加一个节点,本申请实施例中可以将各个节点分别作为对应的根节点,参考各个节点的节点潜在评分和调用次数来对该根节点进行衍生,预测可能调用其的节点作为预测节点,从而将迭代多次得到的搜索树,作为与该节点对应的搜索树。

其中,当且仅当迭代次数到达设定的最大值M,或者整个搜索树不存在未被开辟的新节点,则可以确定迭代结束,根据MCTS的迭代过程,根节点的节点潜在评分Q值始终等于整个搜索树中最大的Q值,当迭代完成后,可以查找与根节点Q值相等的节点,此节点对应的元素集合即为第一搜索空间里最可能是故障根因的根因元素集合。

S404:从多个搜索树包括的预测节点之中确定出目标节点,目标节点的节点潜在评分和其所属根节点的节点潜在评分相同,且目标节点所属的层数是多个搜索树之间最低的层数。

举例而言,假设与各个节点分别对应一个搜索树,则可以从各个搜索树中确定出与根节点的节点潜在评分相同的预测节点,并确定预测节点对应于搜索树中的层数,将所在层数最低的预测节点作为目标节点。

通过确定与多个节点分别对应的多个节点潜在评分和多个调用次数,并根据多个节点潜在评分和多个调用次数,结合蒙特卡洛树搜索MCTS算法构建与多个节点分别对应的多个搜索树,以及从多个搜索树包括的预测节点之中确定出目标节点,目标节点的节点潜在评分和其所属根节点的节点潜在评分相同,且目标节点所属的层数是多个搜索树之间最低的层数,能够准确地、快速地识别出第一搜索空间中最可能是故障根因的根因元素集合,从而提升根因元素的定位效果。

S405:根据目标节点包含的元素形成第一根因元素集合。

在实际应用场景中,目标节点的数量还可以是一个或者多个,从而本申请实施例中,还为了使得根因元素的定位方法能够有效地适配实际的应用场景,如果目标节点的数量是多个,则确定多个目标节点分别对应的元素数量,并根据第一目标节点包含的元素形成第一根因元素集合,第一目标节点,是多个目标节点之中的元素数量最少的目标节点。

也即是说,本申请实施例中采用奥卡姆剃刀算法对根因进行修正,奥卡姆剃刀算法示例:当两个目标节点具有相同的潜在评分时,确定出元素数量最少的目标节点,从而根据第一目标节点包含的元素形成第一根因元素集合,从而进一步提升了根因元素确定的准确性。

S406:从第二搜索空间中确定出多个候选的根因元素,第一搜索空间和第二搜索空间共同构成调用链路空间,第一搜索空间的元素和第二搜索空间的元素之间的属性维度不相同。

上述在第二搜索空间中定位出多个候选的根因元素的方法可以参见在第一搜索空间中定位第一根因元素的方法,也即是说,本申请实施例中的第二搜索空间可以是一个或者多个,而第二搜索空间对应的属性维度和第一搜索空间的属性维度是不相同的,如果第二搜索空间的数量为多个,则不同的第二搜索空间之间的属性维度也可以是不相同的,则本实施例中,可以实现针对相同属性维度的搜索空间来采用上述的蒙特卡洛树搜索MCTS算法确定出多个根因元素作为候选的根因元素,而后,采用上述第一搜索空间中的第一根因元素,来辅助从多个候选的根因元素之中定位出第二根因元素。

由于第一根因元素是对服务的关键绩效指标KPI的影响程度较大的元素,从而参考第一根因元素确定出的第二根因元素,也通常会是较为关键的根因元素,从而本实施例中的采用上述第一搜索空间中的第一根因元素,来辅助从多个候选的根因元素之中定位出第二根因元素,不仅仅能够提升相同属性维度的根因元素的定位准确性,还能够有效地提升不同属性维度之间的根因元素定位的准确地性。

S407:确定第一根因元素所属节点的第一节点潜在评分。

比如,可以采用上述的Potential Score算法函数来计算第一根因元素所属节点的第一节点潜在评分。

S408:确定候选的根因元素所属节点的第二节点潜在评分。

比如,可以采用上述的Potential Score算法函数来计算候选的根因元素所属节点的第二节点潜在评分。

S409:将第一根因元素、候选的根因元素、第一节点潜在评分,以及第二节点潜在评分输入至预训练的强化学习模型之中,以得到强化学习模型输出的至少一个第二根因元素。

其中,第二根因元素是第二搜索空间内与服务的故障相关的元素,其中,至少一个第一根因元素和至少一个第二根因元素被共同作为定位到的根因元素。

上述在确定第一根因元素所属节点的第一节点潜在评分,并确定候选的根因元素所属节点的第二节点潜在评分之后,可以将第一根因元素、候选的根因元素、第一节点潜在评分,以及第二节点潜在评分输入至预训练的强化学习模型之中,以得到强化学习模型输出的至少一个第二根因元素。

上述的强化学习模型可以是预先基于海量的训练数据训练得到的,可以基于该强化学习模型学习到多个候选的根因元素之中,与第一根因元素的第一节点潜在评分相关程度最大的根因元素,从而将该潜在评分相关程度最大的根因元素作为第二根因元素,对此不做限制。

本申请实施例中提供的根因元素的定位方法,通过采用adtributor算法来确定目标维度属性,而后将adtributor算法与蒙特卡洛树搜索MCTS算法相结合,将基于目标维度属性确定的第一搜索空间中的节点作为蒙特卡洛树搜索MCTS算法的初始搜索,使得根因元素定位的时效性提高至1.4秒,根因定位范围较准确。

本申请实施例中,还可以结合运维专家经验库及运维知识图谱,将蒙特卡洛树搜索MCTS算法的定位结果中包含的第一根因元素和第二根因元素的标识,与其所关联的应用所对应的告警模板进行实时匹配,以验证根因元素定位结果的准确性,还可以结合相关技术中的热点分析算法,进行高频告警邮件关联应用识别,从而实现多维搜索的全链路根因定位。

本实施例中,能够有效提升服务调用链的故障根因的定位准确性和定位效率,提升故障根因的定位效果,实现全链路的根因定位。并且使得根因元素的定位方法能够有效地适配实际的应用场景。另外,由于第一根因元素是对服务的关键绩效指标KPI的影响程度较大的元素,从而参考第一根因元素确定出的第二根因元素,也通常会是较为关键的根因元素,从而本实施例中的采用上述第一搜索空间中的第一根因元素,来辅助从多个候选的根因元素之中定位出第二根因元素,不仅仅能够提升相同属性维度的根因元素的定位准确性,还能够有效地提升不同属性维度之间的根因元素定位的准确地性。

如图5所示,图5为本申请实施例中的应用示意图。

图6是本申请一实施例提出的根因元素的定位装置的结构示意图。

如图6所示,该根因元素的定位装置60,包括:

第一确定模块601,用于从服务对应的调用链路空间中确定出第一搜索空间,第一搜索空间包括:多个节点,节点中包括:至少一个元素,不同的元素之间具有相同的属性维度;

第二确定模块602,用于确定第一搜索空间的第一根因元素集合,第一根因元素集合包括:至少一个第一根因元素,第一根因元素是至少一个元素之中与服务的故障相关的元素;

第三确定模块603,用于从第二搜索空间中确定出多个候选的根因元素,第一搜索空间和第二搜索空间共同构成调用链路空间,第一搜索空间的元素和第二搜索空间的元素之间的属性维度不相同;

选取模块604,用于根据第一根因元素,从至少一个候选的根因元素选取出至少一个第二根因元素,第二根因元素是第二搜索空间内与服务的故障相关的元素;

其中,至少一个第一根因元素和至少一个第二根因元素被共同作为定位到的根因元素。

在本申请的一些实施例中,第二确定模块602,具体用于:

确定与多个节点分别对应的多个节点潜在评分和多个调用次数,调用次数,是服务的调用链路经过对应的节点的次数;

根据多个节点潜在评分和多个调用次数,结合蒙特卡洛树搜索MCTS算法构建与多个节点分别对应的多个搜索树,搜索树包括:根节点和基于根节点衍生得到的预测节点,根节点是与搜索树对应的节点;

从多个搜索树包括的预测节点之中确定出目标节点,目标节点的节点潜在评分和其所属根节点的节点潜在评分相同,且目标节点所属的层数是多个搜索树之间最低的层数;

根据目标节点包含的元素形成第一根因元素集合。

在本申请的一些实施例中,目标节点的数量是至少一个,第二确定模块602,具体用于:

如果目标节点的数量是多个,则确定多个目标节点分别对应的元素数量;

根据第一目标节点包含的元素形成第一根因元素集合,第一目标节点,是多个目标节点之中的元素数量最少的目标节点。

在本申请的一些实施例中,选取模块604,具体用于:

确定第一根因元素所属节点的第一节点潜在评分;

确定候选的根因元素所属节点的第二节点潜在评分;

将第一根因元素、候选的根因元素、第一节点潜在评分,以及第二节点潜在评分输入至预训练的强化学习模型之中,以得到强化学习模型输出的至少一个第二根因元素。

在本申请的一些实施例中,如图7所示,第一确定模块601,包括:

第一确定子模块6011,用于确定服务对应的多种属性维度;

第二确定子模块6012,用于从多种属性维度之中确定出目标属性维度;

第三确定子模块6013,用于从调用链路空间之中,确定目标属性维度所关联元素对应的节点;

生成子模块6014,用于根据至少一个节点形成第一搜索空间。

在本申请的一些实施例中,第二确定子模块6012,具体用于:

确定多种属性维度所分别关联的多个元素;

确定与多个元素分别对应的多个真实值分布指标和多个预测值分布指标;

确定多个真实值分布指标和对应的多个预测值分布指标之间的多个距离指标值;

从多个距离指标值之中选取出目标距离指标值,目标距离指标值,指示对应的目标元素对服务的关键绩效指标KPI的影响程度,大于其它元素对服务的关键绩效指标KPI的影响程度,目标元素和其它元素共同组成关联的多个元素;

将目标元素的属性维度,作为目标属性维度。

在本申请的一些实施例中,第二确定子模块6012,具体用于:

确定多个真实值分布指标和对应的多个预测值分布指标之间的多个詹森香农JS散度,并将多个詹森香农JS散度作为对应的多个距离指标值。

与上述图1至图5实施例提供的根因元素的定位方法相对应,本申请还提供一种根因元素的定位装置,由于本申请实施例提供的根因元素的定位装置与上述图1至图5实施例提供的根因元素的定位方法相对应,因此在根因元素的定位方法的实施方式也适用于本申请实施例提供的根因元素的定位装置,在本申请实施例中不再详细描述。

本实施例中,通过从服务对应的调用链路空间中确定出第一搜索空间,第一搜索空间包括:多个节点,节点中包括:至少一个元素,不同的元素之间具有相同的属性维度,确定第一搜索空间的第一根因元素集合,第一根因元素集合包括:至少一个第一根因元素,第一根因元素是至少一个元素之中与服务的故障相关的元素,并从第二搜索空间中确定出多个候选的根因元素,第一搜索空间和第二搜索空间共同构成调用链路空间,第一搜索空间的元素和第二搜索空间的元素之间的属性维度不相同,以及根据第一根因元素,从至少一个候选的根因元素选取出至少一个第二根因元素,第二根因元素是第二搜索空间内与服务的故障相关的元素,其中,至少一个第一根因元素和至少一个第二根因元素被共同作为定位到的根因元素,能够有效提升服务调用链的故障根因的定位准确性和定位效率,提升故障根因的定位效果,实现全链路的根因定位。

为了实现上述实施例,本申请还提出一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现如本申请前述实施例提出的根因元素的定位方法。

为了实现上述实施例,本申请还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请前述实施例提出的根因元素的定位方法。

为了实现上述实施例,本申请还提出一种计算机程序产品,当计算机程序产品中的指令处理器执行时,执行如本申请前述实施例提出的根因元素的定位方法。

图8示出了适于用来实现本申请实施方式的示例性计算机设备的框图。图8显示的计算机设备12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图8所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。

总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。

计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图8未显示,通常称为“硬盘驱动器”)。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read OnlyMemory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read OnlyMemory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。

具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。

计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的根因元素的定位方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

技术分类

06120113804856