掌桥专利:专业的专利平台
掌桥专利
首页

基于图神经网络模型的微服务系统根因定位方法及装置

文献发布时间:2024-04-18 20:01:23


基于图神经网络模型的微服务系统根因定位方法及装置

技术领域

本发明涉及服务器系统故障定位领域,尤其涉及一种基于图神经网络模型的微服务系统根因定位方法及装置。

背景技术

随着互联网、云计算和计算机行业的发展,越来越多的系统采用微服务架构设计和搭建,微服务架构广泛应用于各种实际场景中,例如:大型企业应用、物联网应用和云服务。微服务架构能够给系统带来高可用性、高扩展性和弹性伸缩的能力,以更好地适应当前大型软件应用的需求。近些年来,云原生软件架构的概念方兴未艾,作为一种构建和运行应用程序的方法,它使得应用程序在设计时即需考虑到云环境的运行场景。微服务是云原生核心要点之一,云原生软件架构要求应用程序以微服务的形式进行设计和构建,服务与服务之间通过RESTful API进行通信和交互,而云原生软件架构能够充分利用云高可用、高容纳的能力,使得应用程序以容器的形式最终能被云所装载和支持。在微服务的基础上,云原生软件架构能够进行超大规模的横向拓展,且兼具高可用性和安全性。但是如何更好地保障大型微服务系统的可靠性和可观测性,在异常发生时更好地定位服务根因,当前还面临着诸多困难。设计一个有效的方法来自动化帮助运维人员进行故障根因定位具有重要的意义。

目前,微服务根因定位问题的挑战有:1)定位粒度过大:当前的微服务根因定位方法基本只能定位到微服务粒度,不能定位到微服务实例粒度,但真实场景中通常是某个微服务实例或微服务实例所在的容器异常最终导致出现抖动,当微服务有多个实例时,不能很好地知晓应该进行排查或重启的微服务实例。2)监控指标多:监控系统能够收集到的指标数据不仅包含微服务级别指标数据,还包含微服务实例、微服务实例所在容器、容器所在宿主机的指标数据,可以充分利用微服务系统的多维度数据进一步定位到更细粒度的微服务异常根因,即服务实例级别。3) 异常根因类型不明确:根因定位是微服务系统发生异常时的第一步,更好地甄别根因异常类型,能为后续的维护和修复过程提供关键信息,当前的根因定位方法较少涉及该角度的研究和讨论。

在微服务系统中,服务是服务实例的集合,服务实例是承载和运行实际业务流程的最小单位。服务接收到请求后,通过多种不同的负载均衡策略,将请求路由到指定服务实例上。服务实例的动态变化频繁且难以预知,加上受到系统资源、流量大小和承载能力的约束,不同实例受到的不同资源约束通常是单个或多个服务实例发生异常的根本原因。

发明内容

为了解决现有技术问题,本发明提出了一种基于图神经网络模型的微服务系统根因定位方法,包括以下步骤:

S1、收集微服务系统的历史故障多维度时序性能指标;

S2、构建图神经网络模型;利用所述历史故障多维度时序性能指标训练所述图神经网络模型,得到训练完成的图神经网络模型;

S3、通过收集到的实时微服务拓扑结构和调用关系构建实例级别的微服务系统异质拓扑图;

S4、结合服务请求链路调整各微服务节点的异常权重;

S5、将根因候选集和异常时间窗口实时指标特征数据输入图神经网络模型,进行特征加权后得出最终根因和根因异常类型。

一种基于图神经网络模型的微服务系统根因定位装置,包括:处理器及存储设备;所述处理器加载并执行存储设备中的指令及数据,用于实现所述的一种基于图神经网络模型的微服务系统根因定位方法。

本发明提供的有益效果是:本发明的基于时序节点采样图神经网络模型结合随机游走算法的微服务系统异常根因定位方法,1) 微服务系统出现的异常能够快速准确地检测,将定位粒度缩小至实例级别;2)通过将机器学习模型与动态图计算方法进行有效结合,很好地适应微服务系统的动态变化。

附图说明

图1是本发明方法流程示意图;

图2是本发明实施例的图神经网络模型设计的示意图;

图3是本发明实施例的异质拓扑图示意图;

图4是本发明装置结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地描述。

请参考图1,图1是本发明方法流程的示意图;本发明提供的一种基于图神经网络模型的微服务系统根因定位方法,具体包括以下步骤:

S1、收集微服务系统的历史故障多维度时序性能指标;

需要说明的是,步骤S1中所述多维度时序性能指标包括:微服务级别的指标、微服务实例级别的指标和宿主机级别的指标。

作为一种实施例,微服务级别的指标,包括:服务级别的istio服务网格网络延时故障和网络丢包故障;

服务实例级别的指标,包括:实例级别的CPU高负载故障、内存高负载故障、实例网络延时故障和实例异常终止故障;

宿主机级别的指标,包括:宿主机级别的CPU高负载故障、内存高负载故障和文件读写高负载故障等。

S2、构建图神经网络模型;利用所述历史故障多维度时序性能指标训练所述图神经网络模型,得到训练完成的图神经网络模型;

请参考图2,图2是本发明实施例的图神经网络模型设计的示意图。

需要说明的是,步骤S2具体如下:

S21、将所述多维度时序性能指标按照固定时间间隔进行数据采样,得到采样点;将采样点输入至图神经网络模型的编码器,得到采样点的指标数据特征;

输入至编码器之前,每个采样点的多维度指标数据归一化为(0,1)之间的数值。编码器参考词嵌入模型思想,接收一定数量的节点指标数据,节点数量类比于词汇数量,每个时序节点的微服务多维指标数据,类比于词汇的特征向量,由于微服务指标数据维度受到当前时刻微服务拓扑结构影响,还需要进行维度转化,转化为统一的特征维度表示每个时序节点的特征以供后续图神经网络模型进行训练。

S22、将同一异常区间采样点的指标数据特征作为图网络的节点;将同一异常区间的节点按照时间顺序连线,构成图网络同一异常区间节点的边;

需要说明的是,对于相同异常类型的不同异常时间区间节点之间,按照异常注入的时间推移,彼此之间形成连线,构成图网络相似异常特征区间的边;

S23、将每个节点的特征向量与邻接节点的特征向量按照固定采样数输入至图神经网络模型的聚合器采用卷积层进行聚合;

需要说明的是,将每个节点的特征向量与邻接节点的特征向量按照固定采样数

需要说明的是,在第

S24、选择合适的卷积层数量,给不同异常时间窗口打上相应故障类型标签,并进行图神经网络模型的训练,当分类损失函数收敛至期望值时,输出训练完成的图神经网络模型。

在同一异常区间内的所有时序节点之间,随机选取固定数量n个构成邻接节点集合

S3、通过收集到的实时微服务拓扑结构和调用关系构建实例级别的微服务系统异质拓扑图;

需要说明的是,步骤S3具体如下:

S31、在故障发生时,根据微服务系统拓扑结构和调用链路数据构建实时拓扑图;

S32、结合步骤S1中收集到的微服务级别的指标,给第

S33、结合步骤S1中收集到的微服务实例级别的指标,给第

S34、结合步骤S1中收集到的宿主机级别的指标,给第

皮尔逊相关系数的计算公式如下:

其中

S4、结合服务请求链路调整各微服务节点的异常权重;

需要说明的是,步骤S4具体如下:

S41、给服务节点

S42、给实例节点

S43、给宿主机节点

S44、采用个性化随机游走算法在异质拓扑图上对所有节点的异常程度进行降序排序产生初步的根因候选集。

其中个性化随机游走的计算方法采用如下公式进行计算:

其中

S5、将根因候选集和异常时间窗口实时指标特征数据输入图神经网络模型,进行特征加权后得出最终根因和根因异常类型。

步骤S5具体如下:

S51、在微服务系统实时运行并发生故障时,收集异常时间窗口内整个集群的多维度指标数据;

S52、将多维度指标数据输入步骤S2中训练完成的图神经网络模型,得到该实时异常区间内不同类型根因的分类权值;

S53、步骤S4中得出的根因候选集与步骤S52中的分类权值进行乘积运算,得出最终根因排名和异常类型,排名越高则越有可能是根因。

作为一种实施例,本发明以Hipster Shop作为实施例;

实验前期准备:实验环境为三台Ubuntu物理机,物理机上均安装了Kubernetes、istio,Node Exporter还有Prometheus。Hipster Shop微服务系统作为实施例:其中Hipster Shop是一个微服务商城演示应用,包含12个微服务。该应用是一个基于Web的电子商务应用,用户可以在应用中浏览商品,将商品加入购物车,并进行购买。其中包括8个业务微服务和4个模拟微服务来实现购物过程。具体环境的硬件和软件信息如表1所示。

注入的故障类型和数据集大小表2所示。

为模拟真实的用户场景,实施例使用Locust作为模拟并发生成器,针对不同的业务场景生成不同的工作负载模拟用户并发行为。同时为了模拟真实环境的性能问题,采用混沌工程工具ChaosMesh注入了以下常用的异常。1)延迟;2)容器实例CPU负载;3)容器实例内存负载;4)容器实例网络丢包;5)容器进程停止。收集上述异常发生的历史多维度指标数据;

表1 本发明实施例环境的硬件和软件信息表

表2 注入的故障类型和数据集大小

实例上报的指标数据如表3所示。

本发明中训练的图神经网络模型的训练参数如表4所示。

表3 实例上报的指标数据

表4 图神经网络模型的训练参数

请参考图3,如图3所示,在实时故障发生时,构建出包含所有微服务节点、实例节点和宿主机节点的异质拓扑图,并结合该时间区间内的集群多维度指标数据对异质拓扑图的节点和边赋予权值。

计算出每个节点的个性化数组值,执行个性化随机游走算法得出最终根因排名列表。

最终经过实施例的20个根因定位准确率结果,Rank1、Rank3、Rank5分别表示能否在前1、3、5个定位至真实根因,1表示能成功定位,0表示不能成功定位。结果如表5所示。

表5 本发明最终结果

请参考图4,图4是本发明装置结构示意图。

所述装置401具体包括:处理器402及存储设备403。

一种基于图神经网络模型的微服务系统根因定位装置401:所述一种基于图神经网络模型的微服务系统根因定位装置401实现所述一种基于图神经网络模型的微服务系统根因定位方法。

处理器402:所述处理器402加载并执行所述存储设备403中的指令及数据用于实现所述一种基于图神经网络模型的微服务系统根因定位方法。

存储设备403:所述存储设备403存储指令及数据;所述存储设备403用于实现所述一种基于图神经网络模型的微服务系统根因定位方法。

综合来看,本发明的有益效果是:本发明的基于时序节点采样图神经网络模型结合随机游走算法的微服务系统异常根因定位方法,1) 微服务系统出现的异常能够快速准确地检测,将定位粒度缩小至实例级别;2)通过将机器学习模型与动态图计算方法进行有效结合,很好地适应微服务系统的动态变化。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 生物质成型活性炭负载三维纳米多孔贵金属复合材料及其制备方法和应用
  • 亲油疏水高活性负载微生物活性污泥多孔材料的制备与应用
  • 亲油疏水高活性负载微生物沥青多孔材料的制备与应用
技术分类

06120116553919