【技术实现步骤摘要】
基于图神经网络和对比学习的分布式系统调用链表示学习方法
[0001]本专利技术属于软件工程与云计算
,具体涉及分布式系统调用链表示学习方法。
技术介绍
[0002]现代应用软件往往采用分布式架构,将应用程序分解为多个独立的服务,每个服务具有单独的进程和运行环境,进程间通过远程过程调用或消息等方式进行通信。这样的软件架构可以帮助实现服务独立开发、部署、运维的目标,从而支持现代应用软件对于可靠性、可扩展性、性能等的要求。
[0003]随着系统规模的增大,为了观察理解分布式系统的交互行为、及时发现异常调用并诊断,许多企业采用分布式追踪技术采集系统中不同进程间的交互行为。分布式追踪技术将由请求产生的调用链表示为一组结构化的日志,运维和开发人员可以分析调用链从而理解系统行为,但随着系统规模和用户规模的增大,系统产生的调用链数量也随之增大,且调用链具有复杂的因果结构,人工对调用链分析具有极大困难,如何自动化的分析海量调用链数据成为运维人员需要解决的一大问题。
技术实现思路
[0004]本专利技术的目的在于提供一种能够将复杂的调用链数据转化为低维向量表示的分布式系统调用链表示学习方法,从而支持多种自动化、智能化调用链分析场景。
[0005]本专利技术提供的分布式系统调用链表示学习方法,采用图神经网络和对比学习技术,使用分布式系统运行时产生的调用链数据,将每个调用链表示为操作调用图,图中节点和边上的属性描述了调用链的具体行为信息;通过收集历史调用链数据,使用数据增强和对比学习训练图神经网络模型; ...
【技术保护点】
【技术特征摘要】
1.一种基于图神经网络和对比学习的分布式系统调用链表示学习方法,其特征在于,使用分布式系统运行时产生的调用链数据,将每个调用链表示为操作调用图,图中节点和边上的属性描述了调用链的具体行为信息;通过收集历史调用链数据,使用数据增强和对比学习训练图神经网络模型;在生产系统使用时,将操作调用图输入该图神经网络模型,产生对应的低维向量,运维及开发人员使用聚类、异常检测算法对产生的调用链低维向量进行分析,从而帮助系统运维和架构理解应用;具体步骤如下:(一)操作调用图构建;调用链由一组日志组成,每个日志对应一次服务调用称为一个span,根据不同span间的因果关系,调用链可以被表示为一个有向无环图;本步骤解析原始span日志,并将每个调用链表示为一个操作调用图;(二)操作表示;操作是指分布式系统中每个服务对外暴露的操作接口,调用链中每个span都对应于调用了某个操作;本步骤解析历史调用链数据,根据操作依赖图生成操作表示向量;并将对应操作的向量表示作为每个操作调用图中每个节点的属性;(三)调用特征提取;调用特征表示一次服务调用时产生的状态和对应的指标,对于每次调用定义10种特征,如下表所示;为每个调用计算得到的调用特征作为对应操作调用图中对应调用边的属性;(四)调用链数据增强;调用链数据增强生成粗粒度的异常trace近似加入训练数据,以减少对比学习中类别冲突和过平均带来的影响,也使得模型在线部署时可以降低系统变更、异常调用带来的影响;(五)图神经网络模型训练;将历史数据构造的操作调用图输入图神经网络以训练调用链表示模型;具体使用图神经网络和图对比学习进行调用链表示模型训练;每个mini
‑
batch中的步骤包括:随机选择N
个训练数据;随机选择训练数据中的一部分执行调用链数据增强并替换增强前的数据;为所有训练数据生成两个对比视图,并将相同训练数据生成的对比视图视为正例,不同训练数据生成的视图视为反例;将所有视图输入图神经网络获得对应的向量表示,并计算对比损失函数优化模型参数;(六)在线部署使用;训练完成的模型部署在系统中,每当有新调用链产生,依次执行步骤(一)
‑
(三)获得对应的操作调用图,将图输入图神经网络模型中得到该图的向量表示;该向量可用于下游任务,包括异常检测、调用链采样。2.根据权利要求1所述的分布式系统调用链表示学习方法,其特征在于,步骤(一)所述操作调用图构建,具体包括以下子步骤:(1)通过分布式追踪系统采集系统运行时调用链;(2)根据调用的客户端类型创建一个节点,表示web调用、移动端调用或第三方调用,并添加一条由该节点指向根span节点的边;(3)对其余每一个span,创建一个节点表示该span,并添加一条由其父span节点指向该节点的边。3.根据权利要求2所述的分布式系统调用链表示学习方法,其特征在于,步骤(二)所述操作表示,具体包括以下子步骤:(1)构建操作依赖图;对历史调用链数据中出现过的所有操作,为每个操作创建一个节点,对出现过的客户端类型,为每种客户端类型创建一个节点;对于每个操作,如果其在历史调用链数据中调用过另一个操作,则添加一条由该节点指向另一个操作节点的边;(2)生成节点向量表示;基于上一步构建的操作依赖图,使用DeepWalk算法训练节点表示模型,为每个节点生成向量表示。4.根据权利要求3所述的分布式系统调用链表示学习方法,其特征在于,步骤(三)所述调用特征提取,具体包括以下子步骤:(1)调用模式特征计算;根据该次调用对应span的类型和开始结束时间判断是否异步调用和并行调用;(2)关键指标特征计算;根据该次调用对应的客户端span和服务端span计算处理时间和网络延迟,处理时间等于服务端span的持续时间,网络延迟等于客户端span的持续时间减去服务端span的持续时间;处理时间占比使用持续时间除以整个调用链持续时间获得;处理时间偏差和网络延迟偏差使用以下公式计算:其中,v
i
表示当前调用的持续时间或网络延迟,μ
i
和σ
i
分别表示历史数据中与该次调用的调用操作和被调用操作相同的调用的持续时间或网络延迟的均值和标准差;(3)外...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。