CN115185736A - 基于图卷积神经网络的微服务调用链异常检测方法及装置 - Google Patents
基于图卷积神经网络的微服务调用链异常检测方法及装置 Download PDFInfo
- Publication number
- CN115185736A CN115185736A CN202211098648.8A CN202211098648A CN115185736A CN 115185736 A CN115185736 A CN 115185736A CN 202211098648 A CN202211098648 A CN 202211098648A CN 115185736 A CN115185736 A CN 115185736A
- Authority
- CN
- China
- Prior art keywords
- node
- graph
- attention
- self
- representation
- 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.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 73
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 57
- 238000013507 mapping Methods 0.000 claims abstract description 67
- 238000000034 method Methods 0.000 claims abstract description 64
- 230000009977 dual effect Effects 0.000 claims abstract description 39
- 230000004927 fusion Effects 0.000 claims abstract description 33
- 230000007246 mechanism Effects 0.000 claims abstract description 18
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 13
- 238000010276 construction Methods 0.000 claims abstract description 10
- 239000011159 matrix material Substances 0.000 claims description 88
- 230000006870 function Effects 0.000 claims description 42
- 230000008569 process Effects 0.000 claims description 15
- 230000005856 abnormality Effects 0.000 claims description 14
- 230000015654 memory Effects 0.000 claims description 13
- 230000004913 activation Effects 0.000 claims description 9
- 230000001419 dependent effect Effects 0.000 claims description 6
- 230000000644 propagated effect Effects 0.000 claims description 6
- 241000669618 Nothes Species 0.000 claims description 5
- 230000002457 bidirectional effect Effects 0.000 claims description 5
- 230000002776 aggregation Effects 0.000 claims description 2
- 238000004220 aggregation Methods 0.000 claims description 2
- 238000005065 mining Methods 0.000 claims description 2
- 230000001568 sexual effect Effects 0.000 claims 1
- 230000004044 response Effects 0.000 abstract description 22
- 238000012545 processing Methods 0.000 abstract description 10
- 230000002159 abnormal effect Effects 0.000 abstract description 6
- 230000005540 biological transmission Effects 0.000 abstract description 3
- 230000009467 reduction Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 15
- 238000002474 experimental method Methods 0.000 description 12
- 230000003044 adaptive effect Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 238000002347 injection Methods 0.000 description 3
- 239000007924 injection Substances 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000002679 ablation Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 241000529895 Stercorarius Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000009901 attention process Effects 0.000 description 1
- 238000013531 bayesian neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/0709—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Geometry (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于图卷积神经网络的微服务调用链异常检测方法及装置,包括基于BiLSTM的属性依赖图构建、自注意力映射图构建、基于对偶图卷积互注意力神经网络的信息融合和基于多层感知机的异常检测。本发明通过为微服务间调用响应时间和执行路径构建属性依赖图和自注意力映射图,实现微服务调用链响应时间和执行路径的有效处理和统一建模,再通过多层对偶图卷积神经网络的传递和基于互注意力机制的信息融合,生成调用链数据的有效特征嵌入表示,同时该模型可有效处理调用链执行路径缺失而导致性能降低的问题,提升了微服务调用链异常检测的精度和鲁棒性。
Description
技术领域
本发明属于人工智能和软件工程领域,具体涉及一种基于图卷积神经网络的微服务调用链异常检测方法及装置。
背景技术
伴随信息技术和云计算的快速发展,微服务因具有灵活性、可伸缩性和敏捷性等优点,已成为云环境中开发大规模应用程序的流行模式。但基于微服务的系统通常由数百或数千个共享有限的硬件和软件资源的服务组成,微服务间通过轻量级消息传递协议进行通信。在这样一个复杂动态的环境中,特定微服务的不稳定性能等问题,可能使得故障在系统内大范围传播。因此迫切需要一种自动化和鲁棒的微服务异常检测方法,为系统根因定位和故障修复等下游任务提供基础。在已有基于性能指标、日志和调用链基础上进行的异常检测方法中,调用链数据因能很好体现微服务之间的调用依赖关系,使得基于调用链的微服务异常检测方法受到越来越广泛的关注,成为该领域研究的热点问题。在已有的调用链微服务异常检测方法中,主要包括基于调用链响应时间的异常检测、基于调用链执行路径的异常检测和基于调用链响应时间和执行路径的异常检测,有以下几种方式:(1)基于有监督学习的异常检测模型Seer,使用卷积神经网络(CNN)和长短时记忆网络(LSTM)推断每个微服务发生服务质量下降时的概率,该模型只专注响应时间异常,不能处理执行路径异常;(2)基于深度贝叶斯网络模型AEVB来检测调用链响应时间的异常,此方法需要每个微服务训练一个模型,训练开销成本较大;(3)基于自监督学习的方法,通过训练自编码器对输入调用链中随机遮蔽的事件进行重构,异常检测时根据重构结果预测调用链中每个位置上可能出现的事件;(4)使用Deeplog方法,使用下个模板预测代替重构方法进行异常检测,但该方法仅能检测微服务调用路径异常;(5)基于多模态LSTM调用链异常检测方法,该方法忽略了调用链中事件序列的上下文关系,模型结构往往不能有效学习到微服务调用路径与性能之间的关联关系;(6)基于调用路径和响应时间的两阶段建模方法TLFD,通过计算调用链和正常调用链的相似度来检测是否存在执行路径异常,如果存在异常,则使用统计方法来判断是否存在响应时间异常,但该方法没有考虑响应时间与调用路径的关系,无法检测到应用程序延迟导致某些请求的响应时间意外增加的异常;(7)基于深度贝叶斯网络的异常检测方法TraceAnomaly,通过构建了正常调用路径的知识库,手工设计了调用链的向量化表示,在使用深度贝叶斯神经网络实现了调用路径异常和响应时间异常检测,但该方法依赖于专家知识;(8)通过调用链数据和日志事件构建调用链事件图(TEG),将门控图神经网络应用于基于调用链和日志的异常检测中,使得该网络可有效融合调用链数据和日志数据的信息进行异常检测。
综上所述,近几年伴随人工智能技术的发展,调用链微服务异常检测工作取得了很大的进展,尽管进行了大量的研究,但目前仍缺乏对响应时间和执行路径的有效统一建模方式,使得异常检测模型检测性能略低,较难适应微服务故障根因定位等下游任务,为此本发明提出了解决上述技术问题的基于图卷积神经网络的微服务调用链异常检测方法及装置。
发明内容
本发明针对上述问题提出了一种可对微服务调用响应时间和执行路径进行有效处理和统一建模的方法。
一种基于图卷积神经网络的微服务调用链异常检测方法,包括以下步骤:
步骤S1:获取微服务调用链的节点表示并通过双向长短时记忆网络BiLSTM生成可学习的节点嵌入表示,基于节点嵌入表示和微服务之间调用依赖关系构建微服务调用链的属性依赖图;
步骤S2:使用自注意力机制计算步骤S1中各节点嵌入表示的相关性,生成节点嵌入表示的自注意力映射矩阵,基于节点嵌入表示和自注意力映射矩阵构建自注意力映射图;
步骤S3:利用对偶图卷积互注意力神经网络实现属性依赖图中节点嵌入表示的属性依赖特征和自注意力映射图中自注意力节点映射特征之间的融合,通过统一建模框架生成微服务调用链的有效特征嵌入表示;
步骤S4:将步骤S3中的有效特征嵌入表示通过多层感知机实现对微服务异常的检测。
进一步的,步骤S1具体包括如下子步骤:
步骤S11:通过对微服务调用链数据的解析,获得微服务调用链的节点表示;
步骤S12:根据各个节点表示,通过BiLSTM得到节点间可学习的节点嵌入表示;
进一步的,步骤S2具体包括如下子步骤:
步骤S23:采用正交正则化器对自注意力映射图约束,设置正交正则化器,计算自
注意力映射矩阵和自注意力映射矩阵转置之间的Frobenius范数,使自注意力
映射矩阵正交,再将Frobenius范数除以对应微服务调用链节点嵌入表示个数标准化
Frobenius范数:
进一步的,步骤S3具体包括如下子步骤:
步骤S32:通过调用对偶图卷积互注意力神经网络中的自适应图卷积神经网络单
元SAGCN,基于自注意力映射矩阵中不同邻居的不同权重结合逐层传播的多层图卷积
神经网络,自适应的捕捉自注意力映射图中每个节点嵌入表示之间的信息,以捕获CDGCN单
元无法提取的额外信息;
步骤S33:通过调用对偶图卷积互注意力神经网络中的互注意力单元,CDGCN和SAGCN之间节点嵌入表示的特征交换,实现属性依赖图中节点嵌入表示的属性依赖特征和自注意力映射图中自注意力节点映射特征之间的有效融合,生成微服务调用链的有效特征嵌入表示。
其中,表示带有自连接的对称归一化邻接矩阵,是
对应图的度矩阵,是单位矩阵,表示CDGCN第层的节点属性依赖特征表示矩
阵, 表示维矩阵,,为步骤S12中BiLSTM生成的节点嵌入表示, 是第
层的可训练权重矩阵,是非线性激活函数ReLU。
其中,表示带有自连接的对称归一化邻接矩阵,是对应图的度矩阵,是单位矩阵,表示SAGCN第层的节点特征表示矩阵,,为步骤S12中BiLSTM生成的节点嵌入表示,是第层的可训练权重矩阵,
是非线性激活函数ReLU。
其中,和代指两个需要进行特征融合的矩阵,表示维矩阵,是CDGCN的输出,是SAGCN的输出,、和是权重矩阵, 表
示可学习向量的转置,表示经过互注意力单元信息融合后的CDGCN输出,表示经过
互注意力单元信息融合后的SAGCN输出,通过和之间互注意力操作,实现CDGCN和
SAGCN之间的信息融合。
进一步的,步骤S4具体包括:微服务调用链的有效特征嵌入表示,通过多层感知机
MLP实现对微服务异常的检测,通过将对偶图卷积神经网络之间的多层迭代结果进行连接
得到最终微服务调用链的节点嵌入表示特征表示,输入多层感知机MLP进行异常检测,MLP
过程如下:其中和分别为MLP中的权重和偏置参数,是经过次迭
代互注意力单元的有效特征嵌入表示,通过softmax激活函数,输出第i个节点的异常概
率,以此实现微服务异常检测,再通过交叉熵损失函数、正交正则化函数和微分正则化函
数产生的正则化损失函数,对神经网络参数进行优化。
本发明还提供了基于图卷积神经网络的微服务调用链异常检测方法的装置,包括对偶图构建模块、对偶图卷积互注意力信息融合模块和异常检测模块;
其中,对偶图构建模块用于获取微服务调用链的节点表示并通过双向长短时记忆网络BiLSTM生成可学习的节点嵌入表示,基于节点嵌入表示和微服务之间调用依赖关系构建微服务调用链的属性依赖图;并使用自注意力机制计算所述节点嵌入表示的相关性,生成节点嵌入表示的自注意力映射矩阵,基于节点嵌入表示和自注意力映射矩阵构建自注意力映射图;
其中,对偶图卷积互注意力信息融合模块,用于实现节点属性依赖特征和节点映射特征之间的有效融合,通过统一建模框架生成微服务调用链的有效特征嵌入表示,包括依赖图卷积神经网络单元CDGCN单元、自适应图卷积神经网络单元SAGCN单元和互注意力单元,所述的依赖图卷积神经网络单元CDGCN单元用于接收属性依赖图并获得对应的节点属性依赖特征,所述的自适应图卷积神经网络单元SAGCN单元用于接收自注意力映射图并获得对应的节点映射特征,所述的互注意力单元分别与依赖图卷积神经网络单元CDGCN单元、自适应图卷积神经网络单元SAGCN单元连接,用于将节点属性依赖特征和节点映射特征融合;
其中,异常检测模块通过多层感知机MLP对最终的微服务调用链的有效特征嵌入表示进行异常检测,并基于交叉熵损失函数、正交正则化函数和微分正则化函数产生的正则化损失函数,对神经网络的参数进行优化。
与现有技术相比,本发明所具有的优点:
1、本发明提出了一种基于BiLSTM的节点嵌入表示方式,通过为微服务间调用响应时间和执行路径构建属性依赖图和自注意力映射图,实现微服务调用链响应时间和执行路径的有效处理和统一建模。
2、本发明首次将对偶图卷积神经网络应用于微服务异常检测中,通过多层对偶图卷积神经网络的传递和基于互注意力机制的信息融合,生成调用链数据的有效特征嵌入表示,同时使得该模型可有效处理调用链执行路径缺失而导致性能降低的问题,提升了微服务调用链异常检测的精度和鲁棒性。
3、在云环境构建的MPFI微服务追踪数据集的测试中,验证了本发明提出的异常检测算法的泛化性和实用性,达到了非常具有前景的结果。
4、本发明采用了端到端的方式设计网络模型,使得模型可以根据总体损失函数通过反向传播来优化网络,使得整体网络达到最佳效果。
附图说明
图1为本发明基于图卷积神经网络的微服务调用链异常检测方法的流程图;
图2为本发明基于图卷积神经网络的微服务调用链异常检测方法的装置模型框架图;
图3为本发明根因定位实验结果图;
图4为本发明的消融实验结果图。
具体实施方式
以下结合附图对本发明的实施例作进一步详细描述。
如图1所示,本发明公开了一种基于注意力机制和图卷积神经网络的微服务调用链异常检测方法,依次包括基于BiLSTM的属性依赖图构建、基于自注意力机制的自注意力映射图构建、基于对偶图卷积神经网络的信息融合和基于多层感知机的异常检测。首先使用BiLSTM生成微服务调用链的节点嵌入表示,并结合微服务调用节点之间的依赖关系构建微服务调用链的属性依赖图;再根据生成的节点嵌入表示之间的权值构建可学习的节点嵌入表示的自注意力映射图,实现微服务响应时间和执行路径的有效处理和统一建模;然后通过多层的对偶图卷积神经网络的传递和基于互信息注意力的信息融合,生成微服务调用链的有效特征嵌入表示;最后通过带有Softmax的多层感知机实现微服务的异常检测。
如图2所示为本发明的装置结构图,从图上可以看出,对偶图构建模块中左边微服务调用链数据所示,微服务调用链数据作为微服务监测指标可直接反映出微服务间的调用关系和响应时间,可用于微服务异常检测,调用链数据由多条trace组成,每个trace是一组调用树,由span数据块构成,跟踪了微服务系统运行时单个事务的执行路径,其中,Span作为一种数据结构,用于存储操作名称、时间戳、Span ID、响应时间和状态码等信息。本发明将微服务调用链异常检测建模为多维数据二分类问题,定位trace中的异常span。
S1,基于BiLSTM的动态节点嵌入表示生成。
带有时间戳的调用链数据(trace)可表示为,其中表
示数据集中的第i个trace,代表中第个调用(span),M表示调用链的个数,表示的
长度,对响应时间做Min-max normalization处理,其他非数值型字段使用one-hot编码转
化为数值型数据。将上述数据表示为节点表示,表示d维向量。同时为了建模当前
span与历史数据的关系,对每条trace进行了滑动窗口划分,划分后trace表示为,其中,表示一个滑动窗口数据,为节点表示,
表示滑动窗口大小。
S2,基于调用关系的属性依赖图构建。
结合调用链中的span ID、调用之间的依赖关系和节点嵌入表示构建属性依赖图,其中,V表示由调用序号组成的顶点集,表示由调用之间关系形成
的邻接矩阵,表示节点嵌入表示,其中表示图G中第个节点的节点嵌入
表示。
S3,基于自注意力机制的自注意力映射图构建。
其中,和分别表示自注意机制中的权重矩阵,和表示偏置向量,
表示节点嵌入表示,表示节点嵌入表示个数。结合span ID、自注意力映射矩阵和可学习
的节点嵌入表示构建属性依赖图 ,其中,V表示由调用序号组成的顶
点集,表示由自注意力机制生成的自注意力映射矩阵,表示节点嵌入
表示,其中表示图G中第个节点的节点嵌入表示。
同时,引入了正交正则化,通过计算自注意力映射矩阵和自注意力映射矩阵
转置之间的Frobenius范数来尽可能地保证自注意力映射矩阵正交。再通过将
Frobenius范数除以对应调用链节点嵌入表示个数标准化Frobenius范数:
S4,基于对偶图卷积互注意力神经网络的信息融合,
1)CDGCN单元。基于调用之间的邻接矩阵的真实依赖关系通过CDGCN,使用逐
层传播的多层图卷积神经网络来聚合属性依赖图中节点嵌入表示之间的全局信息,以增强
精准捕获节点嵌入表示之间依赖关系的能力,其过程如公式所示:其
中,其中,表示带有自连接的对称归一化邻接矩阵,是对应
图的度矩阵,是单位矩阵,表示CDGCN第层的节点属性依赖特征表示矩阵, 表示维矩阵,,为步骤S12中BiLSTM生成的节点嵌入表示, 是第层的
可训练权重矩阵,是非线性激活函数ReLU。
2)SAGCN单元。基于自注意力映射矩阵中不同邻居的不同权重得分通过
SAGCN,结合逐层传播的多层图卷积神经网络,自适应的捕捉自注意力映射图中每个节点嵌
入表示之间的信息,以捕获CDGCN单元无法提取的额外信息。其过程如公式所示:
其中,表示带有自连接的对称归一化邻接矩阵,是对应图的度矩阵,是单位矩阵,表示SAGCN第层的节点特征表示矩阵,,为步骤S12中BiLSTM生成的节点嵌入表示,是第层的可训练权重矩阵,
是非线性激活函数ReLU。
3)互注意力单元。通过互注意力单元交换CDGCN和SAGCN之间节点嵌入表示特征,实现节点属性依赖和自注意力节点映射特征之间的有效融合。该单元使得CDGCN中的孤立节点嵌入表示可随多层互注意力进行更新,而且CPGCN和SAGCN可以依据对方的信息进行自适应调整。互注意力过程如公式所示:
其中,和代指两个需要进行特征融合的矩阵,表示维矩阵,是CDGCN的输出,是SAGCN的输出,、和是权重矩阵, 表
示可学习向量的转置,表示经过互注意力单元信息融合后的CDGCN输出,表示经过
互注意力单元信息融合后的SAGCN输出,通过和之间互注意力操作,实现CDGCN和
SAGCN之间的信息融合。
最后,为了使SAGCN和CDGCN具有差异化的特征表示,本发明引入了微分正则化器,
使用Frobenius范数计算和之间的差异,同时为了保障Frobenius范数越大损失
值越小,取Frobenius范数的倒数作为最终的微分正则化项:其中,是自注意力映射矩阵,是调用之间的邻接矩阵,下标表示Frobenius范数,表
示节点嵌入表示的个数。
S5,基于多层感知机的异常检测模块。
实验过程由两个步骤组成。第一步是训练对偶图卷积互注意力神经网络模型。第二步是使用学习到的模型对测试集进行异常检测。
在训练过程中,选择Adam作为训练优化算法,参数和分别设置为0.9和
0.999,初始学习率设置为10-4,并使用在验证集上使用带有早停法的网格搜索来调整模型
的参数,对BiLSTM编码器、自注意力机制、对偶图卷积互注意力神经网络和多层感知机参数
进行迭代优化,得到最终的参数。首先将预处理的调用链数据输入到对偶图构建模块生成
对偶图,再将对偶图输入信息融合模块,经过模型训练,获得调用链的有效特征嵌入表示,
使用多层感知机对节点进行分类,得到异常检测结果,计算总体损失函数。通过最小化总体
损失函数反向传播训练整体网络。
在检测阶段,使用训练好的对偶图卷积互注意力神经网络模型计算测试集中每个微服务节点异常的概率,对微服务进行异常检测。
到此,本发明的微服务异常检测已经计算完成。实施在一台运行Windows 10(64位)、配备NVIDIA GeForce GTX 1660 Ti图形处理单元(GPU)和16GB内存的服务器上进行了所有的实验。使用PyTorch和Python实现。为了评估本发明,使用TTFI、AIOps2020两个公开数据集以及本发明自己构建的数据集MPFI进行测试。TTFI来自于对Train Ticket微服务应用进行的模拟故障实验收集的调用链数据,TTFI按照注入故障类别和目标不同分八个故障文件。注入故障的类型包括容器JVM故障,容器CPU利用率故障以及微服务或容器网络类型故障等。AIOps2020数据集来自于国际AIOps挑战赛提供的某大型运营商真实生产数据,AIOps2020调用链数据记录了该微服务架构的业务系统中各微服务之间的调用关系和性能指标,并按日期分为多个故障文件。注入故障的类型包括容器CPU利用率故障,容器内存利用率故障,数据库类型故障以及主机或容器网络类型故障等,与TTFI数据集相比,AIOps2020数据集中故障分布更具有随机性和多样性。MPFI是本发明在云环境下通过Kubernetes部署Train Ticket微服务应用收集而来,使用Chaosblade工具对微服务和微服务所在容器进行故障注入,主要包括增加微服务之间通信延迟、提高微服务随机丢包概率、意外删除微服务、挂起微服务所在容器以及耗尽微服务所在节点池负载资源等模拟微服务应用在真实生产坏境下可能出现的异常,最后使用基于OpenTracing协议的开源分布式追踪系统Jaeger收集原始的trace数据,将其保存在Elasticsearch数据库以构建MPFI。在表1中总结各个数据集的特征。
表1 各数据集特征表示
性能评价主要从精确率(Precision)、召回率(Recall)和F1-score三个指标进行。
(1)精确率。查准率表示在检测出的异常中真异常的比例。
(2)召回率。表示在所有真异常中被模型标记为异常的比例。
(3)F1-score。F1-score为综合考虑查准率和查全率的性能衡量指标。
主要目标是验证本发明所提取的微服务调用链异常检测是否与功能和模块化的独立性有关,同时,测试结果的评价指标主要是精确率、召回率和F1-score。与其他方法的实验性能对比,结果如表2到表4所示。在所有数据集上,本发明取得了非常具有前景的结果。
表2 在TTFI上的整体性能结果
表3 在AIOps上的整体性能结果
表4 在MPFI上的整体性能结果
从总体性能上比较,表2到表4列举了不同方法在三个数据集上的精确率、召回率和F1-score值。根据表2发现,与基线方法TLFD、Multimodal LSTM和Deeplog相比,本发明在TTFI上拥有最高的精确率、召回率和F1-score,产生了更好的结果。本发明在数据集TTFI的8个故障文件上整体性能高于基线最优方法Multimodal LSTM 6.6%,验证了本发明基于统一建模的方法在微服务异常检测上的优越性。表3给出了本发明和基线方法在AIOps2020数据集上的性能对比,可以看出Multimodal LSTM和Deeplog由于未能的性能较差,而本发明在各项指标上均优于基线方法,验证了本发明的泛化性。为了验证本发明的鲁棒性,在发明在自己构建的具有多点故障的MPFI上进行了进一步的实验。由表4可以看出,本发明在该复杂数据集上仍然取得了0.856的平均性能,优于其他方法。
为了评估本发明的微服务异常检测的结果对下游故障定位任务的影响,采用Pagerank算法,并结合相关性概率模型的根因定位算法来验证本发明异常检测结果在根因定位上表现,其实验结果如表5所示。
表5 本发明异常检测结果在根因定位算法上的表现
为了更好的展示本发明在根因定位上的表现,通过绘制散点图展示了在AIOps2020下不同故障发生时间段各个微服务异常检测的结果在根因定位算法下的得分,根因定位得分如图3所示。
为了检验微服务异常检测算法各组成部分的必要性,进行了消融实验研究,本发明设置了本方法的两种变体方法Only-BiLSTM和Only-BiLSTM&CDGCN并进行了实验,其中Only-BiLSTM相对于本发明仅利用调用链中的节点嵌入表示信息进行异常检测,Only-BiLSTM&CDGCN相对于本发明仅使用属性依赖图进行异常检测。实验结果如图4所示。实验结果表明Only-BiLSTM会使得模型召回率和F1-score下降,验证了基于执行路径和响应时间统一建模的必要性。Only-BiLSTM&CDGCN性能低于本发明,验证了自注意力映射图可以捕获属性依赖图之外的特征信息及对偶图神经网络在本发明中的必要性。
综上,本发明针对调用链微服务异常检测问题,对微服务的响应时间和执行路径进行有效的统一建模,提出了一种基于对偶图卷积互注意力神经网络的异常检测方法,首先使用对调用链数据经过预处理后,使用BiLSTM生成节点嵌入表示,并结合微服务调用之间的依赖关系构建属性依赖图,再根据生成的节点嵌入表示之间的权值构建自适应的自注意力节点映射图实现微服务响应时间和执行路径的有效处理和统一建模,然后通过多层对偶图卷积神经网络的传递和基于互注意力单元的信息融合,生成调用链的有效特征嵌入表示,再通过多层感知机实现微服务的异常检测。最后,在两个公开的数据集上的大量实验表明基于执行路径和响应时间的统一建模方式使本发明能够对微服务异常检测具有更好的表现力,并通过本发明构建的微服务调用链异常检测数据集实验和故障根因定位实验展示了本发明的微服务异常检测方法的鲁棒性和泛化能力。大量实验表明,本发明的微服务异常检测方法在各项指标优于现有方法。
本发明提供的基于图卷积神经网络的微服务调用链异常检测方法的装置,包括对偶图构建模块、对偶图卷积互注意力信息融合模块和异常检测模块;
其中,对偶图构建模块用于获取微服务调用链的节点表示并通过双向长短时记忆网络BiLSTM生成可学习的节点嵌入表示,基于节点嵌入表示和微服务之间调用依赖关系构建微服务调用链的属性依赖图;并使用自注意力机制计算所述节点嵌入表示的相关性,生成节点嵌入表示的自注意力映射矩阵,基于节点嵌入表示和自注意力映射矩阵构建自注意力映射图;
其中,对偶图卷积互注意力信息融合模块,用于实现节点属性依赖特征和节点映射特征之间的有效融合,通过统一建模框架生成微服务调用链的有效特征嵌入表示,包括依赖图卷积神经网络单元CDGCN单元、自适应图卷积神经网络单元SAGCN单元和互注意力单元,所述的依赖图卷积神经网络单元CDGCN单元用于接收属性依赖图并获得对应的节点属性依赖特征,所述的自适应图卷积神经网络单元SAGCN单元用于接收自注意力映射图并获得对应的节点映射特征,所述的互注意力单元分别与依赖图卷积神经网络单元CDGCN单元、自适应图卷积神经网络单元SAGCN单元连接,用于将节点属性依赖特征和节点映射特征融合;
其中,异常检测模块通过多层感知机MLP对最终的微服务调用链的有效特征嵌入表示进行异常检测,并基于交叉熵损失函数、正交正则化函数和微分正则化函数产生的正则化损失函数,对神经网络的参数进行优化。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言Java和直译式脚本语言JavaScript等。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.基于图卷积神经网络的微服务调用链异常检测方法,其特征在于,包括以下步骤:
步骤S1:获取微服务调用链的节点表示并通过双向长短时记忆网络BiLSTM生成可学习的节点嵌入表示,基于节点嵌入表示和微服务之间调用依赖关系构建微服务调用链的属性依赖图;
步骤S2:使用自注意力机制计算所述节点嵌入表示的相关性,生成节点嵌入表示的自注意力映射矩阵,基于节点嵌入表示和自注意力映射矩阵构建自注意力映射图;
步骤S3:利用对偶图卷积互注意力神经网络实现属性依赖图中节点嵌入表示的属性依赖特征和自注意力映射图中自注意力节点映射特征之间的融合,通过统一建模框架生成微服务调用链的有效特征嵌入表示;
步骤S4:将所述有效特征嵌入表示通过多层感知机实现对微服务异常的检测。
2.根据权利要求1所述的基于图卷积神经网络的微服务调用链异常检测方法,其特征在于,所述的步骤S1具体包括如下子步骤:
步骤S11:通过对微服务调用链数据的解析,获得微服务调用链的节点表示;
步骤S12:根据各个节点表示,通过BiLSTM得到节点间可学习的节点嵌入表示;
4.根据权利要求1所述的基于图卷积神经网络的微服务调用链异常检测方法,其特征在于,所述的步骤S2具体包括如下子步骤:
步骤S23:采用正交正则化器对自注意力映射图约束,设置正交正则化器,计算自注意力映射矩阵和自注意力映射矩阵转置之间的Frobenius范数,使自注意力映射矩阵正交,再将Frobenius范数除以对应微服务调用链节点嵌入表示个数标准化Frobenius范数:
5.根据权利要求1所述的基于图卷积神经网络的微服务调用链异常检测方法,其特征在于,所述的步骤S3具体包括如下子步骤:
步骤S32:通过调用对偶图卷积互注意力神经网络中的自适应图卷积神经网络单元SAGCN,基于自注意力映射矩阵中不同邻居的不同权重结合逐层传播的多层图卷积神经网络,自适应的捕捉自注意力映射图中每个节点嵌入表示之间的信息,以捕获CDGCN单元无法提取的额外信息;
步骤S33:通过调用对偶图卷积互注意力神经网络中的互注意力单元,CDGCN和SAGCN之间节点嵌入表示的特征交换,实现属性依赖图中节点嵌入表示的属性依赖特征和自注意力映射图中自注意力节点映射特征之间的有效融合,生成微服务调用链的有效特征嵌入表示。
10.基于图卷积神经网络的微服务调用链异常检测方法的装置,其特征在于,包括对偶图构建模块、对偶图卷积互注意力信息融合模块和异常检测模块;
所述的对偶图构建模块用于获取微服务调用链的节点表示并通过双向长短时记忆网络BiLSTM生成可学习的节点嵌入表示,基于节点嵌入表示和微服务之间调用依赖关系构建微服务调用链的属性依赖图;并使用自注意力机制计算所述节点嵌入表示的相关性,生成节点嵌入表示的自注意力映射矩阵,基于节点嵌入表示和自注意力映射矩阵构建自注意力映射图;
所述的对偶图卷积互注意力信息融合模块,用于实现节点属性依赖特征和节点映射特征之间的有效融合,通过统一建模框架生成微服务调用链的有效特征嵌入表示;
所述的异常检测模块通过多层感知机MLP对最终的微服务调用链的有效特征嵌入表示进行异常检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211098648.8A CN115185736B (zh) | 2022-09-09 | 2022-09-09 | 基于图卷积神经网络的微服务调用链异常检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211098648.8A CN115185736B (zh) | 2022-09-09 | 2022-09-09 | 基于图卷积神经网络的微服务调用链异常检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115185736A true CN115185736A (zh) | 2022-10-14 |
CN115185736B CN115185736B (zh) | 2023-01-31 |
Family
ID=83522843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211098648.8A Active CN115185736B (zh) | 2022-09-09 | 2022-09-09 | 基于图卷积神经网络的微服务调用链异常检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115185736B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115359870A (zh) * | 2022-10-20 | 2022-11-18 | 之江实验室 | 一种基于层次图神经网络的疾病诊疗过程异常识别系统 |
CN115373374A (zh) * | 2022-10-26 | 2022-11-22 | 山东省计算中心(国家超级计算济南中心) | 基于图神经和门控循环网络的工控异常检测方法及系统 |
CN115455438A (zh) * | 2022-11-09 | 2022-12-09 | 南昌航空大学 | 一种程序切片漏洞检测方法、系统、计算机及存储介质 |
CN117952966A (zh) * | 2024-03-26 | 2024-04-30 | 华南理工大学 | 基于Sinkhorn算法的多模态融合生存预测方法 |
CN118038231A (zh) * | 2024-04-12 | 2024-05-14 | 山东工商学院 | 小样本场景下融合多维信息的脑网络构建及特征提取方法 |
CN118093439A (zh) * | 2024-04-23 | 2024-05-28 | 南京航空航天大学 | 一种基于一致图聚类的微服务提取方法和系统 |
CN118132327A (zh) * | 2024-05-07 | 2024-06-04 | 东莞巨正源科技有限公司 | 应用于化塑产业平台的电子商城运行数据分析方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111341445A (zh) * | 2020-02-05 | 2020-06-26 | 网宿科技股份有限公司 | 微服务调用链的健康检测方法和健康检测系统 |
US20200364035A1 (en) * | 2019-05-16 | 2020-11-19 | Citrix Systems, Inc. | Systems and methods for using a call chain to identify dependencies among a plurality of microservices |
CN112817785A (zh) * | 2019-11-15 | 2021-05-18 | 亚信科技(中国)有限公司 | 一种微服务系统的异常检测方法及装置 |
US20220043699A1 (en) * | 2020-08-06 | 2022-02-10 | International Business Machines Corporation | Intelligent scaling in microservice-based distributed systems |
-
2022
- 2022-09-09 CN CN202211098648.8A patent/CN115185736B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200364035A1 (en) * | 2019-05-16 | 2020-11-19 | Citrix Systems, Inc. | Systems and methods for using a call chain to identify dependencies among a plurality of microservices |
CN112817785A (zh) * | 2019-11-15 | 2021-05-18 | 亚信科技(中国)有限公司 | 一种微服务系统的异常检测方法及装置 |
CN111341445A (zh) * | 2020-02-05 | 2020-06-26 | 网宿科技股份有限公司 | 微服务调用链的健康检测方法和健康检测系统 |
US20220043699A1 (en) * | 2020-08-06 | 2022-02-10 | International Business Machines Corporation | Intelligent scaling in microservice-based distributed systems |
Non-Patent Citations (1)
Title |
---|
于庆洋等: "基于调用链控制流分析的大型微服务系统性能建模与异常定位", 《软件学报》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115359870A (zh) * | 2022-10-20 | 2022-11-18 | 之江实验室 | 一种基于层次图神经网络的疾病诊疗过程异常识别系统 |
CN115373374A (zh) * | 2022-10-26 | 2022-11-22 | 山东省计算中心(国家超级计算济南中心) | 基于图神经和门控循环网络的工控异常检测方法及系统 |
CN115455438A (zh) * | 2022-11-09 | 2022-12-09 | 南昌航空大学 | 一种程序切片漏洞检测方法、系统、计算机及存储介质 |
CN115455438B (zh) * | 2022-11-09 | 2023-02-07 | 南昌航空大学 | 一种程序切片漏洞检测方法、系统、计算机及存储介质 |
CN117952966A (zh) * | 2024-03-26 | 2024-04-30 | 华南理工大学 | 基于Sinkhorn算法的多模态融合生存预测方法 |
CN118038231A (zh) * | 2024-04-12 | 2024-05-14 | 山东工商学院 | 小样本场景下融合多维信息的脑网络构建及特征提取方法 |
CN118093439A (zh) * | 2024-04-23 | 2024-05-28 | 南京航空航天大学 | 一种基于一致图聚类的微服务提取方法和系统 |
CN118132327A (zh) * | 2024-05-07 | 2024-06-04 | 东莞巨正源科技有限公司 | 应用于化塑产业平台的电子商城运行数据分析方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115185736B (zh) | 2023-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115185736B (zh) | 基于图卷积神经网络的微服务调用链异常检测方法及装置 | |
CN111914873A (zh) | 一种两阶段云服务器无监督异常预测方法 | |
Hou et al. | Deep learning and data augmentation based data imputation for structural health monitoring system in multi-sensor damaged state | |
CN113344700B (zh) | 一种基于多目标优化的风控模型构建方法、装置和电子设备 | |
Singh et al. | Software defect prediction tool based on neural network | |
Dou et al. | Pc 2 a: predicting collective contextual anomalies via lstm with deep generative model | |
CN116361059B (zh) | 一种银行业务异常根因诊断方法及诊断系统 | |
CN115309575A (zh) | 基于图卷积神经网络的微服务故障诊断方法、装置及设备 | |
CN114615019A (zh) | 基于微服务拓扑关系生成的异常检测方法与系统 | |
Silva et al. | Assets predictive maintenance using convolutional neural networks | |
CN116776270A (zh) | 一种基于Transformer的微服务性能异常检测方法和系统 | |
Yeh et al. | Application of LSTM based on the BAT-MCS for binary-state network approximated time-dependent reliability problems | |
Malhotra et al. | On the applicability of evolutionary computation for software defect prediction | |
You et al. | sBiLSAN: Stacked bidirectional self-attention lstm network for anomaly detection and diagnosis from system logs | |
CN116909788A (zh) | 一种任务导向和视角不变的多模态故障诊断方法及系统 | |
US20230409460A1 (en) | System and method for optimizing performance of a process | |
Guan et al. | GAMA: A multi-graph-based anomaly detection framework for business processes via graph neural networks | |
Xu et al. | TraceLingo: Trace representation and learning for performance issue diagnosis in cloud services | |
Sun et al. | Aledar: An attentions-based encoder-decoder and autoregressive model for workload forecasting of cloud data center | |
Mangi et al. | Pm2pmc: A probabilistic model checking approach in process mining | |
Ren et al. | Triple: the interpretable deep learning anomaly detection framework based on trace-metric-log of microservice | |
CN114510431B (zh) | 一种工作量感知智能合约缺陷预测方法、系统及设备 | |
Chen et al. | CGMBL: Combining GAN and Method Name for Bug Localization | |
Li et al. | On Testing and Evaluation of Artificial Intelligence Models | |
Feng et al. | Efficient anomaly intrusion detection using Transformer based GAN network |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |