基于图同构网络模型的微服务调用链异常检测方法
- 国知局
- 2024-08-02 14:47:00
本发明涉及图同构网络异常检测的,尤其是指一种基于图同构网络模型的微服务调用链异常检测方法。
背景技术:
1、随着异常检测技术的不断进步,各种异常检测算法应运而生,为海量数据中的快速异常定位提供了可行方案。传统异常检测方法主要用于检测结构化数据中的异常,而非结构化数据异常检测尚缺乏有效手段。因此,针对微服务调用链等非结构化数据的异常检测成为一个迫切需求。
2、目前基于图同构网络的异常检测框架主要分为三类:基于生成的方法、基于预测的方法和基于对比自监督的方法。基于生成的方法主要通过学习正常数据并使得自编码器能够准确重建图结构和特征,从而在异常数据通过自编码器时由于重建困难而获得较高的异常分数。基于预测的方法则通过预测未来数据来识别异常,即当实际数据与预测数据存在显著偏差时,当前数据被视为异常。基于对比自监督的方法利用子图生成技术产生不同子图,并通过最大化图嵌入差异来识别异常数据。这三类端到端的异常检测模型均通过反向传播进行训练,并在异常检测阶段通过异常评分函数评估异常可能性。总体而言,现有的异常检测模型均采用无监督训练的方式,该训练方法尚未充分利用少量异常数据来提升检测精度。另一方面,目前的模型尚未在类似微服务调用链这类多重图数据上进行异常检测的尝试。
技术实现思路
1、本发明的目的在于解决分布式调用链数据作为图数据而言是相较于简单图更加复杂的多重图、以及现有模型没有考虑使用少量异常数据提升模型效果的问题。提出了一种基于图同构网络模型的微服务调用链异常检测方法,可有效地对分布式调用链数据进行异常检测,并解决了由于异常检测模型对异常特征学习严重不足而造成模型的泛化能力和鲁棒性不足的问题。
2、为实现上述目的,本发明所提供的技术方案为:基于图同构网络模型的微服务调用链异常检测方法,包括以下步骤:
3、1)使用公开的trainticket微服务调用链数据集,该数据集格式为结构化的csv格式数据,将结构化的csv格式数据转化为非结构化的图数据,转化后的非结构化的图数据的图类型为多重图;
4、2)将步骤1)得到的非结构化的图数据作为输入,使用设计的图特征表示算法将非结构化的图数据的图类型由多重图转化为简单图,其中,所述图特征表示算法是将多重图的节点之间的多条边合并成一条边;经过这个步骤,得到能够对图同构网络模型进行训练的非结构化的简单图数据集;
5、3)使用步骤2)中获得的非结构化的简单图数据集训练图同构网络模型,将图级嵌入中心向量与图同构网络模型生成的图级嵌入向量的距离作为模型训练的损失函数,图级嵌入中心向量是衡量数据是否异常的基准,图级嵌入向量与图级嵌入中心向量的差异越大,就越有可能异常;其中,所述图同构网络模型是将一个图同构网络扩展为两个分别用于学习图数据的正常特征的图同构网络和学习图数据的异常特征的图同构网络,该两个图同构网络分别被称为正常特征学习图同构网络和异常特征学习图同构网络,正常特征学习图同构网络使用正常的数据进行训练,异常特征学习图同构网络使用异常的数据进行训练;图同构网络模型最终输出结果有两个,分别是正常特征学习图同构网络所得出的正常图级向量表示和异常特征学习图同构网络所得出的异常图级向量表示;
6、4)在应用阶段,将非结构化的待测图数据输入训练好的图同构网络模型,使用该图同构网络模型计算出正常图级向量表示和异常图级向量表示,然后将正常图级向量表示和异常图级向量表示作为输入,使用设计好的异常评分函数计算各个图数据的异常评分,异常分数越大,越有可能异常。
7、进一步,在步骤1)中,从本地读取csv格式的结构化数据,所述结构化数据包括服务器节点编号、下一跳服务器节点编号、请求类型、响应状态码、响应时间以及网络传输时间服务器调用信息;
8、将结构化的csv格式数据转化为非结构化的图数据的步骤为:首先,将结构化数据依照微服务调用链编号进行分类,同一编号的数据属于一个图,然后,依照服务器节点编号和下一跳服务器节点编号确定单个微服务调用链数据的节点结构和边结构,最后,将结构化数据中的其它参数整合为向量,用于表示节点特征或边特征。
9、进一步,在步骤2)中,所述图特征表示算法包括以下步骤:
10、首先,将多重图中两个节点之间的多条边特征转化为不定长的向量表示,对于一个包含m条边的边特征矩阵y,每条边具有r个特征,由此能得边特征矩阵y的第p条边到第q条边的第t列特征yt,p,q,有如下表示:
11、yt,p,q=(fp,fp+1,fp+2,fp+3,...,fq)t,t∈[1,r]
12、式中,fp表示第p条边的第t个特征,fp+1表示第p+1条边的第t个特征,fq表示第q条边的第t个特征;
13、然后,对多条边的第t个特征分别计算最大值、最小值和平均值这三个特征值,并将这三个特征值作为节点之间的边的新特征,由于多条边的第t个特征能够通过这三个特征值代表,使用这三个特征值就能将多条边的特征转化为一个固定长度的特征,如果转化成一个固定长度的特征向量,那么这个固定长度的特征向量就是转化后的一条边的特征,因而多条边的第t个特征被转化为一条边的特征,有如下表示:
14、
15、
16、
17、
18、式中,平均特征值通过对yt,p,q向量中的多个特征进行求平均值后得出,最大特征值通过对yt,p,q向量中的多个特征值进行求最大值后得出,最小特征值通过对yt,p,q向量中的多个特征值进行求最小值后得出,fu表示不同特征求取特征值后所构成的特征向量。
19、进一步,在步骤3)中,所述图同构网络模型包括正常特征学习图同构网络和异常特征学习图同构网络,其中:
20、所述正常特征学习图同构网络和异常特征学习图同构网络共同使用图同构网络作为主体结构,用于生成图级向量表示:
21、
22、式中,为节点v的第l层的向量表示,为节点v的第l-1层的向量表示,为节点u的第l-1层的向量表示,节点u代表节点v的相邻节点,mlp表示多层感知机,n(v)表示节点v的直接邻居,ε(l)是网络的超参数;
23、所述正常特征学习图同构网络和异常特征学习图同构网络在训练阶段的目标均是最小化如下损失函数:
24、
25、式中,gin表示图同构网络;在初始化gin后,将第一批训练数据作为网络的输入,并计算出图级嵌入中心向量,第一批的图级嵌入拼接而成的向量作为图级嵌入中心向量c;l表示网络的层数;wl为第l层图同构网络的参数,w={w1,w2,...,wl,...,wl}表示l层图同构网络的所有参数;m表示同一批训练数据中图的个数;gi表示同一批训练数据中的第i个图;λ是超参数;
26、所述正常特征学习图同构网络和异常特征学习图同构网络的不同点在于两个网络的复杂度不同,正常特征学习图同构网络使用数据量更大的训练集,而异常特征学习图同构网络仅需要少量的异常数据用于训练。
27、进一步,在步骤4)中,将非结构化的待测图数据集输入训练好的图同构网络模型,计算出正常图级向量表示和异常图级向量表示后,使用如下异常评分函数计算异常评分score(x1,x2):
28、score(x1,x2)=||gin(x1;wunlabel)-c1||2-μ||gin(x2;wanomaly)-c2||2
29、式中,gin表示图同构网络,x1是输入的正常图级向量表示,x2是输入的异常图级向量表示,wunlabel是正常特征学习图同构网络的参数,c1是正常特征学习图同构网络的图级嵌入中心向量,wanomaly是异常特征学习图同构网络的参数,c2是异常特征学习图同构网络的图级嵌入中心向量,μ是超参数。
30、本发明与现有技术相比,具有如下有点与有益效果:
31、1、本发明将多重图转化为简单图,这种转化使得现有的仅能在简单图上进行异常检测的神经网络具备了检测多重图的能力。
32、2、本发明在将多重图转化为简单图时,采用特征值选取的方式对多条边特征进行压缩,这一操作完美保留了多条边的特征。
33、3、本发明的图同构网络模型可以同时学习正常特征和异常特征,从多角度对数据进行学习,进一步提升图同构网络的学习能力。
34、4、本发明的图同构网络模型中的正常特征学习图同构网络和异常特征学习图同构网络在训练阶段可以并行训练,这确保图同构网络模型在复杂度提升的情况下训练耗时没有大增长。
35、5、本发明所设计的异常评分函数能同时评估正常图级向量表示和异常图级向量表示,可以更加全面地评估数据异常的可能性。
本文地址:https://www.jishuxx.com/zhuanli/20240801/243878.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表