微服务的故障诊断方法、系统、存储介质及电子设备

专利2025-10-21  7


本发明涉及计算机,尤其涉及一种微服务的故障诊断方法、系统、存储介质及电子设备。


背景技术:

1、随着云原生技术的繁荣发展,微服务架构相比于传统的结构有着更为包容的特性,允许更多样的技术栈的开发和更松耦合的组合形式。这使得其在数据中心、5g等新场景中运用越来越广泛。然而微服务架构通过服务解耦使得微服务数量显著增长,这对微服务的故障诊断带来了很大的挑战。为了能在海量的微服务中快速定位故障实例、诊断故障原因、从而快速恢复系统、减少损失,现代微服务系统亟需一种自动且高效的故障诊断方法。

2、可观测性是微服务架构的重要特性之一,提供了丰富的观测数据用于描述微服务系统当前的运行状态,如时序指标数据、日志数据、调用链数据等,此外运维人员还可通过自定义的指令主动获取所需的系统信息。

3、从所使用数据来说,现有技术分为如下几类:

4、(1)日志数据异常检测:用于通过提取日志模板、检测日志变量、模板序列所存在的异常,从而达到发现异常的效果。

5、(2)时序指标数据异常检测:用于从时序异常检测的角度出发,旨在发现时序指标数据中存在的异常点。

6、(3)调用链数据异常检测:用于通过发现微服务间的调用时延异常,定位故障服务。

7、由于同一种微服务可能部署到不同的物理机上,且不同的微服务之间通过网络通讯进行互相调用,因此微服务系统往往构成了复杂的拓扑关系。为了能有效利用这种拓扑关系,现有技术大多使用图方法来建模微服务系统:

8、(1)物理拓扑图:用于将微服务实例视作图节点,实例间的网络连接视作图关系,从而构建出物理拓扑图。

9、(2)逻辑拓扑图:用于将微服务系统中可能发生的各类事件视作图节点,事件发生的因果关系视作图关系,从而构建出逻辑拓扑图。

10、微服务的故障诊断指利用至少一种观测数据,指出发生故障的微服务系统中可能的故障原因。现有技术分为如下两类:

11、(1)有监督模型方法:用于从大量含有故障标注的数据中进行学习、训练故障诊断模型。

12、(2)无监督模型方法:无需大量故障标注数据,而是依赖先验知识构建如概率图等模型,从而实现故障诊断。

13、现有的微服务故障诊断方法主要存在以下三个问题:

14、(1)多源异构数据融合不足:微服务的观测数据通过不同的形式展现,如时序数据、文本数据等。不同的观测数据从不同的角度刻画了微服务系统的运行状态。然而现有技术大多仅使用一种或两种数据来进行故障诊断,数据的使用限制导致现有技术很难全面地检测不同故障。

15、(2)建模关系单一:尽管现有技术使用图方法来构建微服务之间的关系,但是仅使用物理拓扑难以说明微服务在运行过程中的时序状态以及所触发的事件先后顺序;仅使用时序关系难以描述微服务的部署关系以及调用关系。现有技术缺少对微服务之间的时序关系、空间关系的同时建模,因而故障诊断效果准确率较低。

16、(3)缺乏可解释性:现有技术只关注使用深度学习模型提升故障诊断的准确率,忽略了模型本身缺乏可解释性,难以被运维人员所理解。即使模型给出了诊断结果也难以进一步的完成有效的根因分析和排障过程。

17、综上可知,现有技术在实际使用上显然存在不便与缺陷,所以有必要加以改进。


技术实现思路

1、针对上述的缺陷,本发明的目的在于提供一种服务的故障诊断方法、系统、存储介质及电子设备,其能够对微服务器实现自动、全面、准确的故障诊断,提升运维人员的排障效率。

2、为了解决上述技术问题,本发明是这样实现的:

3、第一方面,本发明实施例提供了一种微服务的故障诊断方法,包括:

4、获取微服务的多源异构的观测数据,所述观测数据至少包括时序数据和空间数据;

5、利用所述时序数据和所述空间数据构建所述微服务的故障时空异构图;

6、通过时空图神经网络对所述故障时空异构图进行故障的分析和诊断,得出故障诊断结果。

7、根据本发明所述的方法,所述观测数据至少包括时序指标数据、日志数据和调用链数据;

8、所述利用所述时序数据和所述空间数据构建所述微服务的故障时空异构图的步骤进一步包括:

9、根据预设的提取机制对所述日志数据进行提取,并使用日志解析器将提取后的所述日志数据转换为时序数据格式;

10、从所述调用链数据中提取物理拓扑信息;

11、根据所述时序指标数据、所述物理拓扑信息和格式转换后的所述日志数据,构建所述微服务的所述故障时空异构图;

12、所述故障时空异构图中节点为所述微服务;所述节点的隐藏特征为所述微服务的所述时序指标数据和所述日志数据。

13、根据本发明所述的方法,所述获取微服务的多源异构的观测数据的步骤之前包括:

14、当所述微服务出现故障时,根据所述观测数据检测出的异常,触发异常检测告警;

15、所述获取微服务的多源异构的观测数据的步骤包括:

16、当所述微服务出现故障时,获取所述微服务在当前时间片下的多源异构的观测数据;

17、所述利用所述时序数据和所述空间数据构建所述微服务的故障时空异构图的步骤进一步包括:

18、根据所述微服务在当前时间片下的所述时序数据和所述空间数据,构建所述微服务在当前时间片下的所述故障时空异构图。

19、根据本发明所述的方法,所述通过时空图神经网络对所述故障时空异构图进行故障的分析和诊断,得出故障诊断结果的步骤进一步包括:

20、通过时空图卷积神经网络和门控线性单元,对所述故障时空异构图中微服务的时序特征进行分析;

21、通过时空图卷积神经网络,对所述故障时空异构图中微服务的空间特征进行分析;

22、将分析后的所述时序特征和所述空间特征进行聚合和学习,并输出所述故障诊断结果。

23、根据本发明所述的方法,所述通过时空图卷积神经网络和门控线性单元,对所述故障时空异构图中微服务的时序特征进行分析的步骤进一步包括:

24、将所述故障时空异构图中的所述时序数据进行归一化;

25、使用二维卷积核逐一捕捉所述时序数据之间和所述时序数据内部的时序关系,二维卷积的计算公式如下:

26、

27、其中x为输入特征,q(x)为卷积过程,p⊙σ(q(x))表示卷积后的结果和加入非线性变换的卷积后的结果做哈达玛积,表示输出结果的矩阵尺寸,由于卷积对τ个时间帧下的特征进行学习,卷积核尺寸为kt,卷积输出通道数量为co,卷积输出结果大小为(τ-kt+1)*co;

28、将二维卷积后的结果经过门控线性单元进行处理。

29、根据本发明所述的方法,所述通过时空图卷积神经网络,对所述故障时空异构图中微服务的空间特征进行分析的步骤进一步包括:

30、通过时空图卷积神经网络对所述故障时空异构图中微服务的所述空间特征进行学习,包括:

31、给出一个有向图g=(v,e),其中v表示所有的微服务,e表示微服务之间的调用关系;

32、通过卷积计算对微服务的所述空间特征进行学习,所述卷积计算的公式如下:

33、

34、其中θ(l)代表图卷积过程,为输入特征,l表示拉普拉斯矩阵,θijk为图卷积核,cin表示总的输入通道数量,k为调节系数,通过调节系数k来调节模型的聚合层数。

35、根据本发明所述的方法,所述将分析后的所述时序特征和所述空间特征进行聚合和学习,并输出所述故障诊断结果的步骤进一步包括:

36、通过全连接层和激活函数,对所述时序特征和所述空间特征进行聚合学习,并输出所述故障诊断结果。

37、根据本发明所述的方法,所述通过时空图神经网络对所述故障时空异构图进行故障的分析和诊断,得出故障诊断结果的步骤之后还包括:

38、通过基于扰动的解释器对所述故障诊断结果进行解释性分析,通过软掩码分析所述故障诊断结果中的关键时空信息,根据所述关键时空信息生成并呈现结果分析表格。

39、根据本发明所述的方法,所述故障诊断结果中包括每个故障分类的分类概率值;

40、所述通过软掩码分析所述故障诊断结果中的关键时空信息,根据所述关键时空信息生成并呈现结果分析表格的步骤进一步包括:

41、通过所述软掩码对所述故障诊断结果中的原始特征进行遮掩,通过赋予每个特征不同的权重,来确定哪些特征在低权重下仍能保证原始的分类概率值,以此确定不重要的特征信息;

42、通过互信息化方式计算遮掩前后结果的偏差,通过计算损失和梯度下降的方式完成对特征掩码的更新和分析,得出特征重要性排序,其计算公式如下:

43、

44、其中mg为图掩码,用来分析关键节点、空间特征对结果的影响,σ(.)表示对矩阵做sigmoid计算,使权重取值被约束在0~1的范围内;logpφ(y=y|g=a⊙σ(mg),x=x⊙σ(mf))表示经过掩码矩阵遮掩后的特征输出的概率取值的结果;i[y=c]为指示函数表示当y取值为c时,该项为1,否则为0;mf代表特征掩码,用来分析关键特征、时序信息对结果的影响;

45、根据所述特征重要性排序分析出所述关键时空信息,并根据所述关键时空信息生成并呈现结果分析表格。

46、第二方面,本发明实施例提供了一种微服务的故障诊断系统,该系统包括:

47、数据获取模块,用于获取微服务的多源异构的观测数据,所述观测数据至少包括时序数据和空间数据;

48、图形构建模块,用于利用所述时序数据和所述空间数据构建所述微服务的故障时空异构图;

49、故障诊断模块,用于通过时空图神经网络对所述故障时空异构图进行故障的分析和诊断,得出故障诊断结果。

50、第三方面,本发明实施例提供了一种存储介质,该装置包括:用于存储一种用于执行任一项所述微服务的故障诊断方法的计算机程序。

51、第四方面,本发明实施例提供了一种电子设备,包括存储介质、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现任一项所述微服务的故障诊断方法。

52、在本发明实施例中,首先分别建立作物识别模型、作物器官识别模型和虫害目标检测模型,技术方案。借此,本发明基于计算机视觉的人工智能的多模型检测和算法,能够准确识别出作物发生的虫害。

53、本发明利用微服务的多源异构的观测数据,包括时序数据和空间数据来记录故障发生的时序关系和空间关系,以此构建微服务的故障时空异构图,并使用时空图神经网络对故障时空异构图进行分析和诊断,得出故障诊断结果。首先,本发明通过多源异构的观测数据丰富了故障时空异构图的表示,能够自动、全面地诊断微服务的不同故障;其次,本发明同时利用微服务之间的时序关系、空间关系进行建模得到故障时空异构图,再通过时空图神经网络对微服务进行故障的时空推理,从而能更准确地诊断出微服务的故障。另外,本发明使用基于扰动的解释器对故障诊断结果进行解释性分析,并输出容易理解的结果分析表格,可协助运维人员尽快理解和排除故障,提升运维人员的排障效率。


技术特征:

1.一种微服务的故障诊断方法,其特征在于,包括:

2.根据权利要求1所述的微服务的故障诊断方法,其特征在于,所述观测数据至少包括时序指标数据、日志数据和调用链数据;

3.根据权利要求1所述的微服务的故障诊断方法,其特征在于,所述获取微服务的多源异构的观测数据的步骤之前包括:

4.根据权利要求1所述的微服务的故障诊断方法,其特征在于,所述通过时空图神经网络对所述故障时空异构图进行故障的分析和诊断,得出故障诊断结果的步骤进一步包括:

5.根据权利要求4所述的微服务的故障诊断方法,其特征在于,所述通过时空图卷积神经网络和门控线性单元,对所述故障时空异构图中微服务的时序特征进行分析的步骤进一步包括:

6.根据权利要求4所述的微服务的故障诊断方法,其特征在于,所述通过时空图卷积神经网络,对所述故障时空异构图中微服务的空间特征进行分析的步骤进一步包括:

7.根据权利要求4所述的微服务的故障诊断方法,其特征在于,所述将分析后的所述时序特征和所述空间特征进行聚合和学习,并输出所述故障诊断结果的步骤进一步包括:

8.根据权利要求1所述的微服务的故障诊断方法,其特征在于,所述通过时空图神经网络对所述故障时空异构图进行故障的分析和诊断,得出故障诊断结果的步骤之后还包括:

9.根据权利要求8所述的微服务的故障诊断方法,其特征在于,所述故障诊断结果中包括每个故障分类的分类概率值;

10.一种基于权利要求1~9任一项所述的方法构建的微服务的故障诊断系统,其特征在于,包括:

11.一种存储介质,其特征在于,用于存储一种用于执行权利要求1~9中任一项所述微服务的故障诊断方法的计算机程序。

12.一种电子设备,包括存储介质、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1~9中任一项所述微服务的故障诊断方法。


技术总结
本发明提供了一种微服务的故障诊断方法,包括:获取微服务的多源异构的观测数据,所述观测数据至少包括时序数据和空间数据;利用所述时序数据和所述空间数据构建所述微服务的故障时空异构图;通过时空图神经网络对所述故障时空异构图进行故障的分析和诊断,得出故障诊断结果。本发明还提供一种微服务的故障诊断系统、存储介质及电子设备。借此,本发明能够对微服务器实现自动、全面、准确的故障诊断,提升运维人员的排障效率。

技术研发人员:任锐,王阳,李振宇,关洪涛,谢高岗
受保护的技术使用者:中国科学院计算技术研究所
技术研发日:
技术公布日:2024/6/26
转载请注明原文地址:https://doc.8miu.com/read-1824246.html

最新回复(0)