一种基于图卷积对抗神经网络和追踪数据的故障诊断方法技术

技术编号:36808366 阅读:31 留言:0更新日期:2023-03-09 00:29
本发明专利技术公开了一种基于图卷积对抗神经网络和追踪数据的故障诊断方法,其可以充分利用追踪数据的信息以增强分布式系统故障诊断的准确性和鲁棒性,利用图卷积对抗神经网络结构。本技术方案拥有更强大的追踪数据特征提取能力,因此,会在包括但不限于故障诊断的任务中取得更优异的结果。中取得更优异的结果。中取得更优异的结果。

【技术实现步骤摘要】
一种基于图卷积对抗神经网络和追踪数据的故障诊断方法


[0001]本专利技术涉及故障诊断方法
,特别是一种基于图卷积对抗神经网络和追踪数据的故障诊断方法。

技术介绍

[0002]分布式软件系统规模庞大,组成复杂,极易出现系统故障,且故障难以发现和诊断。系统追踪技术是分析和理解分布式系统请求执行路径和程序逻辑和关键技术,是系统故障诊断的关键数据源之一。然而,由于追踪数据规模庞大、信息密度低、数据间关联关系复杂,基于追踪数据的故障诊断十分困难。现有基于追踪数据的故障诊断方法往往采用人工定义异常规则的方法,通过在线检测追踪链路是否满足异常规则,从而诊断故障请求和位置。这种方法需要耗费大量人力构件规则库,同时规则定义方式对复杂的追踪数据的适应性差,难以扩展,导致故障诊断精准程度不佳。
[0003]现有的追踪数据故障诊断方案主要可以分为两类——基于人工定义异常规则的方案、和基于深度学习的方案。前者是根据追踪数据本身的调用函数类别、调用函数持续时间、所在服务器等特征的统计量去筛选统计意义上的极端值,外加一些人工定义的其他规则,并以此来筛选异常;而后者则是将追踪数据输入到神经网络,利用深度学习技术去提取相关的时序特征并筛选异常。
[0004]虽然存在两类已有的追踪数据故障诊断实现方案,但这两类方案都有各自的缺点。
[0005]对于第一类方案,虽然其实现简单且易于理解,但是往往不能够有效提取到追踪数据的深度信息,无法面对大型系统的复杂追踪数据;同时人工成本过大,需要耗费大量人力构造规则库,而构造完成的规则库也并不能用在其他系统上,可扩展性很差。不过,我们一般使用这类方案作为基线方案,以检查所提其他方案的性能。
[0006]对于第二类方案,已有的算法主要基于LSTM(长短时记忆网络,Long

Short Term Memory Network)和Tree

CNN(树状卷积网络,Tree Convolutional Neural Network)。然而,LSTM的主要用武之地是在自然语言等时序特征上,与此同时Tree

CNN是为AST抽象语法树而设计,两类网络都在追踪数据集上没有很好的表现。虽然Tree

CNN也是提取树状结构特征的网络,但其需要输入的树状结构具有比较高的平衡性(近似于完全二叉树的结构),而追踪数据集的树状结构则是高度不平衡的,因此算法的表现不尽人意。
[0007]基于上述情况,一种基于图卷积对抗神经网络和追踪数据的故障诊断方法成为整个社会亟待解决的技术问题。

技术实现思路

[0008]鉴于此,本专利技术提出了一种基于图卷积对抗神经网络和追踪数据的故障诊断方法,包括以下故障诊断步骤,
[0009](1)首先对追踪数据集进行读取和预处理,将无用特征筛除,并将有用特征转化为
标准的数据类型;
[0010](2)读取并还原追踪数据的树状结构,以多叉树作为数据结构来存储追踪数据,计算每一条追踪数据对应的多叉树的节点特征和邻接矩阵;
[0011](3)然后将其输入到GCN中,利用GCN来充分提取追踪数据的结构特征;
[0012](4)使用GAN借助真实的追踪数据生成虚假的追踪数据,并迭代优化生成器和判别器的网络参数;
[0013](5)借助GAN的判别器对原始的追踪数据集进行判别,若某一条追踪数据被判定为“虚假数据”,则视作该追踪数据出现了某种程度的异常,将被判定为异常的追踪数据收集起来,以满足故障诊断的需求。
[0014]进一步地,所述追踪数据集包括以下特征:
[0015](1)Span的编号信息,Span所在Trace的编号、Span本身的编号、其父进程的编号,如果这条Span是根进程,那么其父进程的编号为NaN;
[0016](2)Span的内容特征,Span对应的被调用的函数名、Span对应的被调用的函数请求类型、Span从开始到结束时的总时间;
[0017](3)Span发生的时间和位置,Span调用时的时间戳、Span调用时所在的服务器编号。
[0018]进一步地,在上述特征中,利用第一类“Span的编号信息”,我们可以用原始数据集还原出Trace的树状结构;利用第二类“Span的内容特征”,我们可以对Span的异常情况以及其所在Trace的异常情况进行评估,而利用第三类“Span发生的时间和位置”,我们则可以对异常进行定位,判断异常发生的时间和位置。
[0019]进一步地,所述GAN网络的训练过程如下:
[0020](1)初始化判别器D和生成器G的网络参数;
[0021](2)从真实数据集中采样m个样本,并从先验分布噪声中采样m个噪声样本,并通过生成器获取m个生成样本,固定生成器G,训练判别器D尽可能准确地判别真实样本和生成样本,并更新判别器D的网络参数;
[0022](3)固定判别器D,仅训练生成器G使其能够生成更加逼真的生成样本让判别器D判断错误;
[0023](4)循环2和3,交替训练判别器D和生成器G以提高两者的性能。
[0024]进一步地,所述判别器由卷积层(指图卷积)、下采样层、全连接层组成,所述生成器由反卷积层、上采样层、全连接层组成,其目的是在输入“真实Trace数据”的情况下,让判别器经过训练后能够自己生成以假乱真的“生成Trace数据”。
[0025]采用上述技术方案,具有如下有益效果:
[0026]本技术方案可以充分利用追踪数据的信息以增强分布式系统故障诊断的准确性和鲁棒性,利用图卷积对抗神经网络结构,本技术方案拥有更强大的追踪数据特征提取能力,因此会在包括但不限于故障诊断的任务中取得更优异的结果。
附图说明
[0027]图1是本专利技术的训练过程流程图;
[0028]图2是本专利技术使用过程流程图;
[0029]图3是GCN的结构图;
[0030]图4是GAN网络的结构图。
具体实施方式
[0031]下面对本专利技术作进一步的说明。
[0032]一种针对追踪数据集的故障诊断方法。该方法针对追踪数据集的特殊数据结构而设计,充分利用了其中包含的分布式系统的状态信息,从而达到了提高系统故障诊断算法精度的目的。
[0033]本专利技术的技术方案为:
[0034]首先对追踪数据集进行读取和预处理,将无用特征筛除,并将有用特征转化为标准的数据类型;其次,读取并还原追踪数据的树状结构,以多叉树作为数据结构来存储追踪数据。计算每一条追踪数据对应的多叉树的节点特征和邻接矩阵,然后将其输入到GCN(Graph Convolutional Network,图卷积网络)中,利用GCN来充分提取追踪数据的结构特征;然后,使用GAN(Generative Adversarial Network,生成对抗网络)借助真实的追踪数据生成虚假的追踪数据,并迭代优化生成器和判别器的网络参数。最后,借助GAN的判别器对原始本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于图卷积对抗神经网络和追踪数据的故障诊断方法,其特征在于,包括以下故障诊断步骤,(1)首先对追踪数据集进行读取和预处理,将无用特征筛除,并将有用特征转化为标准的数据类型;(2)读取并还原追踪数据的树状结构,以多叉树作为数据结构来存储追踪数据,计算每一条追踪数据对应的多叉树的节点特征和邻接矩阵;(3)然后将其输入到GCN中,利用GCN来充分提取追踪数据的结构特征;(4)使用GAN借助真实的追踪数据生成虚假的追踪数据,并迭代优化生成器和判别器的网络参数;(5)借助GAN的判别器对原始的追踪数据集进行判别,若某一条追踪数据被判定为“虚假数据”,则视作该追踪数据出现了某种程度的异常,将被判定为异常的追踪数据收集起来,以满足故障诊断的需求。2.根据权利要求1所述的一种基于图卷积对抗神经网络和追踪数据的故障诊断方法,其特征在于,所述追踪数据集包括以下特征:(1)Span的编号信息,Span所在Trace的编号、Span本身的编号、其父进程的编号,如果这条Span是根进程,那么其父进程的编号为NaN;(2)Span的内容特征,Span对应的被调用的函数名、Span对应的被调用的函数请求类型、Span从开始到结束时的总时间;(3)Span发生的时间和位置,Span调用时的时间戳、Span调用时所在的服务器编号。3.根据权利要求2所述的一种基...

【专利技术属性】
技术研发人员:汪一帆请求不公布姓名贾统杨好颖朱品燕
申请(专利权)人:北京云集智造科技有限公司
类型:发明
国别省市:

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

1