CN115185736A - 基于图卷积神经网络的微服务调用链异常检测方法及装置 - Google Patents

基于图卷积神经网络的微服务调用链异常检测方法及装置 Download PDF

Info

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
Application number
CN202211098648.8A
Other languages
English (en)
Other versions
CN115185736B (zh
Inventor
时宽治
李静
董小菱
尹晓宇
宫帅
程航
李明
马永
张攀
陈新鹏
葛冰玉
常雨竹
李伟良
来风刚
刘月灿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Aeronautics and Astronautics
State Grid Corp of China SGCC
State Grid Information and Telecommunication Co Ltd
Information and Telecommunication Branch of State Grid Anhui Electric Power Co Ltd
Original Assignee
Nanjing University of Aeronautics and Astronautics
State Grid Corp of China SGCC
State Grid Information and Telecommunication Co Ltd
Information and Telecommunication Branch of State Grid Anhui Electric Power Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University of Aeronautics and Astronautics, State Grid Corp of China SGCC, State Grid Information and Telecommunication Co Ltd, Information and Telecommunication Branch of State Grid Anhui Electric Power Co Ltd filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN202211098648.8A priority Critical patent/CN115185736B/zh
Publication of CN115185736A publication Critical patent/CN115185736A/zh
Application granted granted Critical
Publication of CN115185736B publication Critical patent/CN115185736B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0706Error 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/0709Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning 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得到节点间可学习的节点嵌入表示;
步骤S13:通过微服务节点之间的调用关系构造有向边,有向边构造微服务调用 链,通过微服务调用链之间的依赖关系得到微服务调用之间的邻接矩阵
Figure 946819DEST_PATH_IMAGE001
Figure 395118DEST_PATH_IMAGE002
表示
Figure 581380DEST_PATH_IMAGE003
阶矩阵,邻接矩阵定义如下:
Figure 773327DEST_PATH_IMAGE004
其中,
Figure 492759DEST_PATH_IMAGE005
表示微服务调用之间边的集合,
Figure 987326DEST_PATH_IMAGE006
Figure 785517DEST_PATH_IMAGE007
分别表示节点a和节点b,
Figure 656521DEST_PATH_IMAGE008
表 示调用之间的邻接矩阵
Figure 856559DEST_PATH_IMAGE009
的第
Figure 256447DEST_PATH_IMAGE010
行、第
Figure 181415DEST_PATH_IMAGE011
列的值;
步骤S14:根据微服务调用之间的邻接矩阵
Figure 449586DEST_PATH_IMAGE012
和节点嵌入表示,构建微服务节点 之间的属性依赖图。
其中,步骤S12中,使用BiLSTM从节点表示的正向和反向双向挖掘滑动窗口内的重 要历史信息生成节点间可学习的节点嵌入表示
Figure 379496DEST_PATH_IMAGE013
Figure 606078DEST_PATH_IMAGE014
其中,Concat表示连接函数,
Figure 254228DEST_PATH_IMAGE015
为正向长短时记忆网络的隐藏层的最后时刻输 出,
Figure 201455DEST_PATH_IMAGE016
为反向长短时记忆网络的隐藏层的最后时刻输出,隐藏层状态由BiLSTM的输出门 和单元状态共同计算。
进一步的,步骤S2具体包括如下子步骤:
步骤S21:将步骤S1中得到的节点嵌入表示,通过自注意力机制学习得到节点嵌入 表示之间的相关性,生成自注意力映射矩阵
Figure 376085DEST_PATH_IMAGE017
Figure 881890DEST_PATH_IMAGE002
表示
Figure 141970DEST_PATH_IMAGE003
阶矩阵:
Figure 627309DEST_PATH_IMAGE018
其中,
Figure 797390DEST_PATH_IMAGE019
Figure 100196DEST_PATH_IMAGE020
分别表示自注意机制中的权重矩阵,
Figure 722938DEST_PATH_IMAGE021
Figure 136602DEST_PATH_IMAGE022
表示偏置向量,
Figure 394146DEST_PATH_IMAGE023
表示节点嵌入表示,
Figure 867852DEST_PATH_IMAGE003
表示节点嵌入表示个数,softmax是激活函数;
步骤S22:根据自注意力映射矩阵
Figure 977891DEST_PATH_IMAGE024
和节点嵌入表示,构建微服务节点之间的自 注意力映射图;
步骤S23:采用正交正则化器对自注意力映射图约束,设置正交正则化器,计算自 注意力映射矩阵
Figure 805032DEST_PATH_IMAGE025
和自注意力映射矩阵转置
Figure 74340DEST_PATH_IMAGE026
之间的Frobenius范数,使自注意力 映射矩阵正交,再将Frobenius范数除以对应微服务调用链节点嵌入表示个数
Figure 859893DEST_PATH_IMAGE003
标准化 Frobenius范数
Figure 690184DEST_PATH_IMAGE027
Figure 445650DEST_PATH_IMAGE028
其中,
Figure 179251DEST_PATH_IMAGE029
是单位矩阵,下标
Figure 994760DEST_PATH_IMAGE030
表示Frobenius范数。
进一步的,步骤S3具体包括如下子步骤:
步骤S31:通过调用对偶图卷积互注意力神经网络中的依赖图卷积神经网络单元 CDGCN,基于调用邻接矩阵
Figure 813812DEST_PATH_IMAGE009
的真实依赖关系使用逐层传播的多层图卷积神经网络聚合 属性依赖图中节点嵌入表示之间的全局信息;
步骤S32:通过调用对偶图卷积互注意力神经网络中的自适应图卷积神经网络单 元SAGCN,基于自注意力映射矩阵
Figure 513914DEST_PATH_IMAGE025
中不同邻居的不同权重结合逐层传播的多层图卷积 神经网络,自适应的捕捉自注意力映射图中每个节点嵌入表示之间的信息,以捕获CDGCN单 元无法提取的额外信息;
步骤S33:通过调用对偶图卷积互注意力神经网络中的互注意力单元,CDGCN和SAGCN之间节点嵌入表示的特征交换,实现属性依赖图中节点嵌入表示的属性依赖特征和自注意力映射图中自注意力节点映射特征之间的有效融合,生成微服务调用链的有效特征嵌入表示。
其中,步骤S31中调用CDGCN具体过程公式如下:
Figure 492235DEST_PATH_IMAGE031
其中,
Figure 852547DEST_PATH_IMAGE032
表示带有自连接的对称归一化邻接矩阵,
Figure 158894DEST_PATH_IMAGE033
Figure 256163DEST_PATH_IMAGE009
对应图的度矩阵,
Figure 964356DEST_PATH_IMAGE034
是单位矩阵,
Figure 121668DEST_PATH_IMAGE035
表示CDGCN第
Figure 915312DEST_PATH_IMAGE036
层的节点属性依赖特征表示矩 阵,
Figure 455752DEST_PATH_IMAGE037
表示维矩阵,
Figure 143085DEST_PATH_IMAGE038
Figure 346665DEST_PATH_IMAGE013
为步骤S12中BiLSTM生成的节点嵌入表示,
Figure 486659DEST_PATH_IMAGE039
是第
Figure 66676DEST_PATH_IMAGE036
层的可训练权重矩阵,
Figure 749461DEST_PATH_IMAGE040
是非线性激活函数ReLU。
其中,步骤S32中调用SAGCN具体过程公式如下:
Figure 248576DEST_PATH_IMAGE041
其中,
Figure 515347DEST_PATH_IMAGE042
表示带有自连接的对称归一化邻接矩阵,
Figure 899055DEST_PATH_IMAGE033
Figure 701926DEST_PATH_IMAGE009
对应图的度矩阵,
Figure 371941DEST_PATH_IMAGE034
是单位矩阵,
Figure 361894DEST_PATH_IMAGE043
表示SAGCN第
Figure 142768DEST_PATH_IMAGE036
层的节点特征表示矩阵,
Figure 298681DEST_PATH_IMAGE044
Figure 139598DEST_PATH_IMAGE013
为步骤S12中BiLSTM生成的节点嵌入表示,
Figure 616847DEST_PATH_IMAGE039
是第
Figure 342357DEST_PATH_IMAGE036
层的可训练权重矩阵,
Figure 978875DEST_PATH_IMAGE040
是非线性激活函数ReLU。
其中,步骤S33中,节点属性依赖特征和自注意力节点映射特征之间的有效融合具 体过程公式如下:
Figure 866060DEST_PATH_IMAGE045
Figure 689659DEST_PATH_IMAGE046
Figure 451817DEST_PATH_IMAGE047
其中,
Figure 83786DEST_PATH_IMAGE048
Figure 266506DEST_PATH_IMAGE049
代指两个需要进行特征融合的矩阵,
Figure 983926DEST_PATH_IMAGE050
表示
Figure 785660DEST_PATH_IMAGE051
维矩阵,
Figure 865611DEST_PATH_IMAGE052
是CDGCN的输出,
Figure 124292DEST_PATH_IMAGE053
是SAGCN的输出,
Figure 922484DEST_PATH_IMAGE054
Figure 793488DEST_PATH_IMAGE055
Figure 603312DEST_PATH_IMAGE056
是权重矩阵,
Figure 393414DEST_PATH_IMAGE057
表 示可学习向量的转置,
Figure 819847DEST_PATH_IMAGE058
表示经过互注意力单元信息融合后的CDGCN输出,
Figure 88017DEST_PATH_IMAGE059
表示经过 互注意力单元信息融合后的SAGCN输出,通过
Figure 516462DEST_PATH_IMAGE060
Figure 477465DEST_PATH_IMAGE053
之间互注意力操作,实现CDGCN和 SAGCN之间的信息融合。
进一步的,步骤S4具体包括:微服务调用链的有效特征嵌入表示,通过多层感知机 MLP实现对微服务异常的检测,通过将对偶图卷积神经网络之间的多层迭代结果进行连接 得到最终微服务调用链的节点嵌入表示特征表示,输入多层感知机MLP进行异常检测,MLP 过程如下:
Figure 125615DEST_PATH_IMAGE061
其中
Figure 72843DEST_PATH_IMAGE062
Figure 513051DEST_PATH_IMAGE063
分别为MLP中的权重和偏置参数,
Figure 254742DEST_PATH_IMAGE064
是经过
Figure 154303DEST_PATH_IMAGE036
次迭 代互注意力单元的有效特征嵌入表示,通过softmax激活函数
Figure 29855DEST_PATH_IMAGE040
,输出第i个节点的异常概 率
Figure 934357DEST_PATH_IMAGE065
,以此实现微服务异常检测,再通过交叉熵损失函数、正交正则化函数和微分正则化函 数产生的正则化损失函数,对神经网络参数进行优化。
本发明还提供了基于图卷积神经网络的微服务调用链异常检测方法的装置,包括对偶图构建模块、对偶图卷积互注意力信息融合模块和异常检测模块;
其中,对偶图构建模块用于获取微服务调用链的节点表示并通过双向长短时记忆网络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)可表示为
Figure 971583DEST_PATH_IMAGE066
,其中
Figure 594326DEST_PATH_IMAGE067
表 示数据集中的第i个trace,
Figure 148935DEST_PATH_IMAGE068
代表
Figure 32577DEST_PATH_IMAGE069
中第
Figure 145764DEST_PATH_IMAGE070
个调用(span),M表示调用链的个数,
Figure 114857DEST_PATH_IMAGE070
表示
Figure 207578DEST_PATH_IMAGE069
的 长度,对响应时间做Min-max normalization处理,其他非数值型字段使用one-hot编码转 化为数值型数据。将上述数据表示为节点表示
Figure 86673DEST_PATH_IMAGE071
Figure 465701DEST_PATH_IMAGE072
表示d维向量。同时为了建模当前 span与历史数据的关系,对每条trace进行了滑动窗口划分,划分后trace表示为
Figure 63036DEST_PATH_IMAGE073
,其中,
Figure 481421DEST_PATH_IMAGE074
表示一个滑动窗口数据,
Figure 339655DEST_PATH_IMAGE075
为节点表示,
Figure 296110DEST_PATH_IMAGE076
表示滑动窗口大小。
根据调用链span节点表示,使用BiLSTM从节点嵌入表示的正向和反向双向挖掘滑 动窗口内的历史信息生成节点间的可学习的节点嵌入表示特征;
Figure 239795DEST_PATH_IMAGE014
其中,Concat表示连接函数,
Figure 408739DEST_PATH_IMAGE015
为正向LSTM的隐藏层的最后
Figure 121480DEST_PATH_IMAGE077
时刻输出,
Figure 248836DEST_PATH_IMAGE016
为 反向LSTM的隐藏层的最后t时刻输出,隐藏层状态由BiLSTM的输出门和单元状态共同计算 而来。
S2,基于调用关系的属性依赖图构建。
根据微服务调用链之间的依赖关系,得到调用之间的邻接矩阵
Figure 53719DEST_PATH_IMAGE001
;邻 接矩阵定义如下:
Figure 150988DEST_PATH_IMAGE004
其中,
Figure 859181DEST_PATH_IMAGE005
表示调用之间边的集合,
Figure 16493DEST_PATH_IMAGE006
Figure 810137DEST_PATH_IMAGE007
分别表示节点a和节点b,
Figure 586463DEST_PATH_IMAGE008
表示调用 之间的邻接矩阵
Figure 273796DEST_PATH_IMAGE009
的第
Figure 975911DEST_PATH_IMAGE010
行、第
Figure 381484DEST_PATH_IMAGE011
列的值。
结合调用链中的span ID、调用之间的依赖关系和节点嵌入表示构建属性依赖图
Figure 961501DEST_PATH_IMAGE078
,其中,V表示由调用序号组成的顶点集,
Figure 503341DEST_PATH_IMAGE009
表示由调用之间关系形成 的邻接矩阵,
Figure 877822DEST_PATH_IMAGE079
表示节点嵌入表示,其中
Figure 646057DEST_PATH_IMAGE080
表示图G中第
Figure 623241DEST_PATH_IMAGE070
个节点的节点嵌入 表示。
S3,基于自注意力机制的自注意力映射图构建。
通过自注意力机制学习得到节点嵌入表示之间的相关性,生成自注意力映射矩阵
Figure 659068DEST_PATH_IMAGE025
,模型描述如下:
Figure 594663DEST_PATH_IMAGE018
其中,
Figure 584615DEST_PATH_IMAGE019
Figure 365489DEST_PATH_IMAGE020
分别表示自注意机制中的权重矩阵,
Figure 757288DEST_PATH_IMAGE021
Figure 739150DEST_PATH_IMAGE022
表示偏置向量,
Figure 341033DEST_PATH_IMAGE023
表示节点嵌入表示,
Figure 565078DEST_PATH_IMAGE003
表示节点嵌入表示个数。结合span ID、自注意力映射矩阵和可学习 的节点嵌入表示构建属性依赖图
Figure 936017DEST_PATH_IMAGE081
,其中,V表示由调用序号组成的顶 点集,
Figure 823202DEST_PATH_IMAGE025
表示由自注意力机制生成的自注意力映射矩阵,
Figure 646801DEST_PATH_IMAGE082
表示节点嵌入 表示,其中
Figure 910423DEST_PATH_IMAGE080
表示图G中第
Figure 276814DEST_PATH_IMAGE070
个节点的节点嵌入表示。
同时,引入了正交正则化,通过计算自注意力映射矩阵
Figure 459533DEST_PATH_IMAGE025
和自注意力映射矩阵 转置
Figure 409910DEST_PATH_IMAGE083
之间的Frobenius范数来尽可能地保证自注意力映射矩阵正交。再通过将 Frobenius范数除以对应调用链节点嵌入表示个数
Figure 336277DEST_PATH_IMAGE084
标准化Frobenius范数
Figure 557174DEST_PATH_IMAGE027
Figure 176374DEST_PATH_IMAGE028
其中,
Figure 115511DEST_PATH_IMAGE029
是单位矩阵,下标
Figure 455357DEST_PATH_IMAGE030
表示Frobenius范数。
S4,基于对偶图卷积互注意力神经网络的信息融合,
1)CDGCN单元。基于调用之间的邻接矩阵
Figure 920973DEST_PATH_IMAGE009
的真实依赖关系通过CDGCN,使用逐 层传播的多层图卷积神经网络来聚合属性依赖图中节点嵌入表示之间的全局信息,以增强 精准捕获节点嵌入表示之间依赖关系的能力,其过程如公式所示:
Figure 84976DEST_PATH_IMAGE031
其 中,其中,
Figure 245830DEST_PATH_IMAGE032
表示带有自连接的对称归一化邻接矩阵,
Figure 779580DEST_PATH_IMAGE033
Figure 709490DEST_PATH_IMAGE009
对应 图的度矩阵,
Figure 670493DEST_PATH_IMAGE034
是单位矩阵,
Figure 318643DEST_PATH_IMAGE035
表示CDGCN第
Figure 29984DEST_PATH_IMAGE036
层的节点属性依赖特征表示矩阵,
Figure 939035DEST_PATH_IMAGE037
表示维矩阵,
Figure 946305DEST_PATH_IMAGE038
Figure 206385DEST_PATH_IMAGE013
为步骤S12中BiLSTM生成的节点嵌入表示,
Figure 957303DEST_PATH_IMAGE039
是第
Figure 986439DEST_PATH_IMAGE036
层的 可训练权重矩阵,
Figure 164611DEST_PATH_IMAGE040
是非线性激活函数ReLU。
2)SAGCN单元。基于自注意力映射矩阵
Figure 285888DEST_PATH_IMAGE025
中不同邻居的不同权重得分通过 SAGCN,结合逐层传播的多层图卷积神经网络,自适应的捕捉自注意力映射图中每个节点嵌 入表示之间的信息,以捕获CDGCN单元无法提取的额外信息。其过程如公式所示:
Figure 699552DEST_PATH_IMAGE041
其中,
Figure 458561DEST_PATH_IMAGE042
表示带有自连接的对称归一化邻接矩阵,
Figure 932267DEST_PATH_IMAGE033
Figure 776727DEST_PATH_IMAGE025
对应图的度矩阵,
Figure 135027DEST_PATH_IMAGE034
是单位矩阵,
Figure 873176DEST_PATH_IMAGE043
表示SAGCN第
Figure 891685DEST_PATH_IMAGE036
层的节点特征表示矩阵,
Figure 613653DEST_PATH_IMAGE044
Figure 510065DEST_PATH_IMAGE013
为步骤S12中BiLSTM生成的节点嵌入表示,
Figure 243666DEST_PATH_IMAGE039
是第
Figure 59175DEST_PATH_IMAGE036
层的可训练权重矩阵,
Figure 612647DEST_PATH_IMAGE040
是非线性激活函数ReLU。
3)互注意力单元。通过互注意力单元交换CDGCN和SAGCN之间节点嵌入表示特征,实现节点属性依赖和自注意力节点映射特征之间的有效融合。该单元使得CDGCN中的孤立节点嵌入表示可随多层互注意力进行更新,而且CPGCN和SAGCN可以依据对方的信息进行自适应调整。互注意力过程如公式所示:
Figure 437384DEST_PATH_IMAGE045
Figure 789606DEST_PATH_IMAGE046
Figure 651382DEST_PATH_IMAGE047
其中,
Figure 347943DEST_PATH_IMAGE048
Figure 320578DEST_PATH_IMAGE049
代指两个需要进行特征融合的矩阵,
Figure 28771DEST_PATH_IMAGE050
表示
Figure 186083DEST_PATH_IMAGE051
维矩阵,
Figure 212683DEST_PATH_IMAGE052
是CDGCN的输出,
Figure 379222DEST_PATH_IMAGE053
是SAGCN的输出,
Figure 941921DEST_PATH_IMAGE054
Figure 411080DEST_PATH_IMAGE055
Figure 551074DEST_PATH_IMAGE056
是权重矩阵,
Figure 131091DEST_PATH_IMAGE057
表 示可学习向量的转置,
Figure 312411DEST_PATH_IMAGE058
表示经过互注意力单元信息融合后的CDGCN输出,
Figure 811526DEST_PATH_IMAGE059
表示经过 互注意力单元信息融合后的SAGCN输出,通过
Figure 314183DEST_PATH_IMAGE060
Figure 556945DEST_PATH_IMAGE053
之间互注意力操作,实现CDGCN和 SAGCN之间的信息融合。
最后,为了使SAGCN和CDGCN具有差异化的特征表示,本发明引入了微分正则化器, 使用Frobenius范数计算
Figure 359816DEST_PATH_IMAGE025
Figure 170777DEST_PATH_IMAGE009
之间的差异,同时为了保障Frobenius范数越大损失 值越小,取Frobenius范数的倒数作为最终的微分正则化项
Figure 285364DEST_PATH_IMAGE085
Figure 971298DEST_PATH_IMAGE086
其中,
Figure 363096DEST_PATH_IMAGE025
是自注意力映射矩阵,
Figure 469592DEST_PATH_IMAGE009
是调用之间的邻接矩阵,下标
Figure 681262DEST_PATH_IMAGE087
表示Frobenius范数,
Figure 265827DEST_PATH_IMAGE088
表 示节点嵌入表示的个数。
S5,基于多层感知机的异常检测模块。
将多层对偶图卷积神经网络的最后一层CDGCN和SAGCN的迭代结果进行连接得到 调用链节点嵌入表示特征表示:
Figure 512132DEST_PATH_IMAGE089
其中,
Figure 163431DEST_PATH_IMAGE090
Figure 518189DEST_PATH_IMAGE091
是经过
Figure 781811DEST_PATH_IMAGE036
次迭代互注意力单元的最终输出。然后将
Figure 148201DEST_PATH_IMAGE092
输入到 多层感知机MLP中实现异常检测。MLP过程如下:
Figure 596500DEST_PATH_IMAGE061
其中,
Figure 48341DEST_PATH_IMAGE062
Figure 348610DEST_PATH_IMAGE063
分别为MLP中的权重和偏置参数。
本发明首先采用监督学习中广泛使用的交叉熵损失函数,定义为:
Figure 694141DEST_PATH_IMAGE093
其中,
Figure 923128DEST_PATH_IMAGE094
表示span样本的真实标签,
Figure 986899DEST_PATH_IMAGE095
表示样本预测为正类的概率,
Figure 857903DEST_PATH_IMAGE096
表示样本 的总数。然后综合
Figure 933306DEST_PATH_IMAGE097
、对偶图构建模块中
Figure 723408DEST_PATH_IMAGE098
和信息融合模块中
Figure 406235DEST_PATH_IMAGE099
定义损失函数
Figure 80930DEST_PATH_IMAGE100
,表示 如下:
Figure 135473DEST_PATH_IMAGE101
其中
Figure 706263DEST_PATH_IMAGE102
Figure 479047DEST_PATH_IMAGE103
表示正则化系数,
Figure 426274DEST_PATH_IMAGE098
Figure 335324DEST_PATH_IMAGE099
分别是正交正则化函数和微分正则化函 数。
实验过程由两个步骤组成。第一步是训练对偶图卷积互注意力神经网络模型。第二步是使用学习到的模型对测试集进行异常检测。
在训练过程中,选择Adam作为训练优化算法,参数
Figure 372288DEST_PATH_IMAGE104
Figure 242155DEST_PATH_IMAGE105
分别设置为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 各数据集特征表示
Figure 117707DEST_PATH_IMAGE106
将本发明与基准方法TLFD、Multimodal LSTM和Deeplog进行了性能比较。对于所 有数据集,参数设置如下:滑动窗口
Figure 22210DEST_PATH_IMAGE107
,累积步长
Figure 325015DEST_PATH_IMAGE108
,学习 率
Figure 682178DEST_PATH_IMAGE109
,对偶图卷积神经网络层数
Figure 735322DEST_PATH_IMAGE110
,正则化系数
Figure 618965DEST_PATH_IMAGE111
性能评价主要从精确率(Precision)、召回率(Recall)和F1-score三个指标进行。
(1)精确率。查准率表示在检测出的异常中真异常的比例。
(2)召回率。表示在所有真异常中被模型标记为异常的比例。
(3)F1-score。F1-score为综合考虑查准率和查全率的性能衡量指标。
Figure 968038DEST_PATH_IMAGE112
主要目标是验证本发明所提取的微服务调用链异常检测是否与功能和模块化的独立性有关,同时,测试结果的评价指标主要是精确率、召回率和F1-score。与其他方法的实验性能对比,结果如表2到表4所示。在所有数据集上,本发明取得了非常具有前景的结果。
表2 在TTFI上的整体性能结果
Figure 937131DEST_PATH_IMAGE113
表3 在AIOps上的整体性能结果
Figure 29852DEST_PATH_IMAGE114
表4 在MPFI上的整体性能结果
Figure 33580DEST_PATH_IMAGE115
从总体性能上比较,表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 本发明异常检测结果在根因定位算法上的表现
Figure 553554DEST_PATH_IMAGE117
为了更好的展示本发明在根因定位上的表现,通过绘制散点图展示了在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得到节点间可学习的节点嵌入表示;
步骤S13:通过微服务节点之间的调用关系构造有向边,有向边构造微服务调用链,通过微服务调用链之间的依赖关系得到微服务调用之间的邻接矩阵
Figure 337943DEST_PATH_IMAGE001
Figure 148904DEST_PATH_IMAGE002
表示
Figure 466753DEST_PATH_IMAGE003
阶矩阵,邻接矩阵定义如下:
Figure 716468DEST_PATH_IMAGE004
其中,
Figure 498480DEST_PATH_IMAGE005
表示微服务调用之间边的集合,
Figure 542659DEST_PATH_IMAGE006
Figure 613383DEST_PATH_IMAGE007
分别表示节点a和节点b,
Figure 338894DEST_PATH_IMAGE008
表示调用之间的邻接矩阵
Figure 913094DEST_PATH_IMAGE009
的第
Figure 190492DEST_PATH_IMAGE010
行、第
Figure 482933DEST_PATH_IMAGE011
列的值;
步骤S14:根据微服务调用之间的邻接矩阵
Figure 74451DEST_PATH_IMAGE009
和节点嵌入表示,构建微服务节点之间的属性依赖图。
3.根据权利要求2所述的基于图卷积神经网络的微服务调用链异常检测方法,其特征在于,所述的步骤S12中,使用BiLSTM从节点表示的正向和反向双向挖掘滑动窗口内的重要历史信息生成节点间可学习的节点嵌入表示
Figure 440842DEST_PATH_IMAGE012
Figure 92403DEST_PATH_IMAGE013
其中,Concat表示连接函数,
Figure 872140DEST_PATH_IMAGE014
为正向长短时记忆网络的隐藏层的最后时刻输出,
Figure 64087DEST_PATH_IMAGE015
为反向长短时记忆网络的隐藏层的最后时刻输出,隐藏层状态由BiLSTM的输出门和单元状态共同计算。
4.根据权利要求1所述的基于图卷积神经网络的微服务调用链异常检测方法,其特征在于,所述的步骤S2具体包括如下子步骤:
步骤S21:将步骤S1中得到的节点嵌入表示,通过自注意力机制学习得到节点嵌入表示之间的相关性,生成自注意力映射矩阵
Figure 612880DEST_PATH_IMAGE016
Figure 435343DEST_PATH_IMAGE002
表示
Figure 368620DEST_PATH_IMAGE003
阶矩阵:
Figure 301941DEST_PATH_IMAGE017
其中,
Figure 705241DEST_PATH_IMAGE018
Figure 760922DEST_PATH_IMAGE019
分别表示自注意机制中的权重矩阵,
Figure 249672DEST_PATH_IMAGE020
Figure 986684DEST_PATH_IMAGE021
表示偏置向量,
Figure 182173DEST_PATH_IMAGE022
表示节点嵌入表示,
Figure 346438DEST_PATH_IMAGE003
表示节点嵌入表示个数,softmax是激活函数;
步骤S22:根据自注意力映射矩阵
Figure 322484DEST_PATH_IMAGE023
和节点嵌入表示,构建微服务节点之间的自注意力映射图;
步骤S23:采用正交正则化器对自注意力映射图约束,设置正交正则化器,计算自注意力映射矩阵
Figure 659925DEST_PATH_IMAGE023
和自注意力映射矩阵转置
Figure 37816DEST_PATH_IMAGE024
之间的Frobenius范数,使自注意力映射矩阵正交,再将Frobenius范数除以对应微服务调用链节点嵌入表示个数
Figure 372983DEST_PATH_IMAGE003
标准化Frobenius范数
Figure 774008DEST_PATH_IMAGE025
Figure 587243DEST_PATH_IMAGE026
其中,
Figure 85221DEST_PATH_IMAGE027
是单位矩阵,下标
Figure 388026DEST_PATH_IMAGE028
表示Frobenius范数。
5.根据权利要求1所述的基于图卷积神经网络的微服务调用链异常检测方法,其特征在于,所述的步骤S3具体包括如下子步骤:
步骤S31:通过调用对偶图卷积互注意力神经网络中的依赖图卷积神经网络单元CDGCN,基于调用邻接矩阵
Figure 338665DEST_PATH_IMAGE009
的真实依赖关系使用逐层传播的多层图卷积神经网络聚合属性依赖图中节点嵌入表示之间的全局信息;
步骤S32:通过调用对偶图卷积互注意力神经网络中的自适应图卷积神经网络单元SAGCN,基于自注意力映射矩阵
Figure 893274DEST_PATH_IMAGE023
中不同邻居的不同权重结合逐层传播的多层图卷积神经网络,自适应的捕捉自注意力映射图中每个节点嵌入表示之间的信息,以捕获CDGCN单元无法提取的额外信息;
步骤S33:通过调用对偶图卷积互注意力神经网络中的互注意力单元,CDGCN和SAGCN之间节点嵌入表示的特征交换,实现属性依赖图中节点嵌入表示的属性依赖特征和自注意力映射图中自注意力节点映射特征之间的有效融合,生成微服务调用链的有效特征嵌入表示。
6.根据权利要求5所述的基于图卷积神经网络的微服务调用链异常检测方法,其特征在于,所述的步骤S31中调用CDGCN具体过程公式如下:
Figure 245758DEST_PATH_IMAGE029
其中,
Figure 922727DEST_PATH_IMAGE030
表示带有自连接的对称归一化邻接矩阵,
Figure 157399DEST_PATH_IMAGE031
Figure 578016DEST_PATH_IMAGE009
对应图的度矩阵,
Figure 785006DEST_PATH_IMAGE032
是单位矩阵,
Figure 304981DEST_PATH_IMAGE033
表示CDGCN第
Figure 230211DEST_PATH_IMAGE034
层的节点属性依赖特征表示矩阵,
Figure 188940DEST_PATH_IMAGE035
表示维矩阵,
Figure 516016DEST_PATH_IMAGE036
Figure 597105DEST_PATH_IMAGE012
为步骤S12中BiLSTM生成的节点嵌入表示,
Figure 744052DEST_PATH_IMAGE037
是第
Figure 178576DEST_PATH_IMAGE034
层的可训练权重矩阵,
Figure 360158DEST_PATH_IMAGE038
是非线性激活函数ReLU。
7.根据权利要求5所述的基于图卷积神经网络的微服务调用链异常检测方法,其特征在于,所述的步骤S32中调用SAGCN具体过程公式如下:
Figure 549831DEST_PATH_IMAGE039
其中,
Figure 246392DEST_PATH_IMAGE040
表示带有自连接的对称归一化邻接矩阵,
Figure 812502DEST_PATH_IMAGE031
Figure 583012DEST_PATH_IMAGE023
对应图的度矩阵,
Figure 881270DEST_PATH_IMAGE032
是单位矩阵,
Figure 268389DEST_PATH_IMAGE041
表示SAGCN第
Figure 107032DEST_PATH_IMAGE034
层的节点特征表示矩阵,
Figure 59944DEST_PATH_IMAGE042
Figure 856999DEST_PATH_IMAGE012
为步骤S12中BiLSTM生成的节点嵌入表示,
Figure 200255DEST_PATH_IMAGE037
是第
Figure 45852DEST_PATH_IMAGE034
层的可训练权重矩阵,
Figure 56533DEST_PATH_IMAGE038
是非线性激活函数ReLU。
8.根据权利要求5所述的基于图卷积神经网络的微服务调用链异常检测方法,其特征在于,所述的步骤S33中,节点属性依赖特征和自注意力节点映射特征之间的有效融合具体过程公式如下:
Figure 758910DEST_PATH_IMAGE043
Figure 651779DEST_PATH_IMAGE044
Figure 97804DEST_PATH_IMAGE045
其中,
Figure 962992DEST_PATH_IMAGE046
Figure 773953DEST_PATH_IMAGE047
代指两个需要进行特征融合的矩阵,
Figure 91802DEST_PATH_IMAGE048
表示
Figure 341518DEST_PATH_IMAGE049
维矩阵,
Figure 123529DEST_PATH_IMAGE050
是CDGCN的输出,
Figure 433288DEST_PATH_IMAGE051
是SAGCN的输出,
Figure 238433DEST_PATH_IMAGE052
Figure 963943DEST_PATH_IMAGE053
Figure 538144DEST_PATH_IMAGE054
是权重矩阵,
Figure 18804DEST_PATH_IMAGE055
表示可学习向量的转置,
Figure 107983DEST_PATH_IMAGE056
表示经过互注意力单元信息融合后的CDGCN输出,
Figure 699501DEST_PATH_IMAGE057
表示经过互注意力单元信息融合后的SAGCN输出,通过
Figure 393788DEST_PATH_IMAGE058
Figure 717453DEST_PATH_IMAGE051
之间互注意力操作,实现CDGCN和SAGCN之间的信息融合。
9.根据权利要求1所述的基于图卷积神经网络的微服务调用链异常检测方法,其特征在于,所述的步骤S4具体包括:微服务调用链的有效特征嵌入表示,通过多层感知机MLP实现对微服务异常的检测,
通过将对偶图卷积神经网络之间的多层迭代结果进行连接得到最终微服务调用链的节点嵌入表示特征表示,输入多层感知机MLP进行异常检测,MLP过程如下:
Figure 497190DEST_PATH_IMAGE059
其中
Figure 892399DEST_PATH_IMAGE060
Figure 237930DEST_PATH_IMAGE061
分别为MLP中的权重和偏置参数,
Figure 60392DEST_PATH_IMAGE062
是经过
Figure 999529DEST_PATH_IMAGE034
次迭代互注意力单元的有效特征嵌入表示,通过softmax激活函数
Figure 667271DEST_PATH_IMAGE038
,输出第i个节点的异常概率
Figure 336150DEST_PATH_IMAGE063
,以此实现微服务异常检测,再通过交叉熵损失函数、正交正则化函数和微分正则化函数产生的正则化损失函数,对神经网络参数进行优化。
10.基于图卷积神经网络的微服务调用链异常检测方法的装置,其特征在于,包括对偶图构建模块、对偶图卷积互注意力信息融合模块和异常检测模块;
所述的对偶图构建模块用于获取微服务调用链的节点表示并通过双向长短时记忆网络BiLSTM生成可学习的节点嵌入表示,基于节点嵌入表示和微服务之间调用依赖关系构建微服务调用链的属性依赖图;并使用自注意力机制计算所述节点嵌入表示的相关性,生成节点嵌入表示的自注意力映射矩阵,基于节点嵌入表示和自注意力映射矩阵构建自注意力映射图;
所述的对偶图卷积互注意力信息融合模块,用于实现节点属性依赖特征和节点映射特征之间的有效融合,通过统一建模框架生成微服务调用链的有效特征嵌入表示;
所述的异常检测模块通过多层感知机MLP对最终的微服务调用链的有效特征嵌入表示进行异常检测。
CN202211098648.8A 2022-09-09 2022-09-09 基于图卷积神经网络的微服务调用链异常检测方法及装置 Active CN115185736B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
于庆洋等: "基于调用链控制流分析的大型微服务系统性能建模与异常定位", 《软件学报》 *

Cited By (8)

* Cited by examiner, † Cited by third party
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