基于链路数据的根因定位方法技术

技术编号:39843243 阅读:8 留言:0更新日期:2023-12-29 16:34
本发明专利技术公开了一种基于链路数据的根因定位方法

【技术实现步骤摘要】
基于链路数据的根因定位方法、装置、电子设备及存储介质


[0001]本专利技术实施例涉及分布式跟踪运维领域,尤其涉及一种基于链路数据的根因定位方法

装置

电子设备及存储介质


技术介绍

[0002]随着企业信息化程度的提升,系统运维面临着越来越大的挑战

微服务架构的引入也使得系统维护难度进一步增大

[0003]当微服务架构的系统出现异常时,会对获取到的链路追踪数据进行单事务分析

然而,目前的链路分析耗时较长,如何提高微服务的调用链分析速度成为亟待解决的问题


技术实现思路

[0004]本专利技术提供一种基于链路数据的根因定位方法

装置

电子设备及存储介质,以实现提高微服务的调用链分析速度

[0005]第一方面,本专利技术实施例提供了一种基于链路数据的根因定位方法,包括:
[0006]获取调用链数据,所述调用链数据包括多个跨度的源数据;
[0007]根据所述源数据得到每个跨度的预处理数据,所述预处理数据包括跨度关联的入口服务信息;
[0008]遍历调用链中的跨度,根据所述入口服务信息和所述源数据确定根因跨度;
[0009]根据所述根因跨度输出根因告警信息

[0010]第二方面,本专利技术实施例还提供了一种基于链路数据的根因定位装置,包括:
[0011]调用链获取模块,用于获取调用链数据,所述调用链数据包括多个跨度的源数据;
[0012]预处理模块,用于根据所述源数据得到每个跨度的预处理数据,所述预处理数据包括跨度关联的入口服务信息;
[0013]根因分析模块,用于遍历调用链中的跨度,根据所述入口服务信息和所述源数据确定根因跨度;
[0014]告警模块,用于根据所述根因跨度输出根因告警信息

[0015]第三方面,本专利技术实施例还提供了一种计算机设备,包括存储器

处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本专利技术实施例所示的基于链路数据的根因定位方法

[0016]第四方面,本专利技术实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本专利技术实施例所示的基于链路数据的根因定位方法

[0017]本专利技术实施例提供的基于链路数据的根因定位方法,获取调用链数据,所述调用链数据包括多个跨度的源数据;根据所述源数据得到每个跨度的预处理数据,所述预处理数据包括跨度关联的入口服务信息;遍历调用链中的跨度,根据所述入口服务信息和所述源数据确定根因跨度;根据所述根因跨度输出根因告警信息

相对于目前每次进行根因分
[0028][0029]步骤
102、
根据所述源数据得到每个跨度的预处理数据,所述预处理数据包括跨度关联的入口服务信息

[0030]每个跨度的元数据进行预处理,通过关联计算确定每个跨度对应的入口服务信息以及每个节点的子节点的异常状态等

具体可通过下述方式进行预处理:
[0031]可选的,根据所述源数据进行预处理,包括:
[0032]根据入口跨度确定入口服务信息,将所述入口服务信息进行左连接数据缓存,作为子跨度的关联源头;
[0033]根据跟踪
ID、
跨度
ID
和父级跨度
ID
确定每个跨度关联的入口服务信息,所述入口服务信息包括入口状态和入口服务标识

[0034]可选的,根据所述源数据进行预处理,还包括:
[0035]获取跨度的子跨度状态,所述子跨度状态用于标识所述子跨度的异常是否被捕获;
[0036]将所述子跨度状态进行左连接数据缓存,作为父跨度异常检测的参考;
[0037]根据跟踪
ID、
跨度
ID
和父级跨度
ID
确定每个跨度关联的子跨度状态

[0045][0046]步骤
103、
遍历调用链中的跨度,根据所述入口服务信息和所述源数据确定根因跨度

[0047]经过与处理后的数据中,每个跨度具有入口状态

父节点状态以及入口服务标识

在进行根因分析时,从入口跨度开始,依次遍历调用链,直至查找到根因节点

[0048]可选的,判断入口服务标识对应入口状态是否异常;
[0049]若所述入口状态为异常,根据根子
ID
和跨度
ID
依次遍历调用链,判断每个跨度
ID
中子跨度是否异常;
[0050]若子跨度异常,则继续遍历调用链,直至遍历到最深层异常跨度;
[0051]若子跨度正常,则将所述子跨度关联的子跨度状态判断关联的子跨度异常是否已被捕获;
[0052]若已被捕获,则排除已被捕获的关联子跨度的根因分析;若未被捕获,则继续遍历所述调用链,直至遍历到最深层异常跨度;
[0053]根据所述最深层异常跨度进行根因跨度分析

[0054]如图2所示,假设调用链包括跨度
A
至跨度
J。
其中跨度
A、
跨度
C、
跨度
F、
跨度
H
以及跨度
J
的状态为异常

在进行依次遍历调用链时,跨度
A、
跨度
C、
跨度
F、
跨度
H
具有父子承接关系,确定跨度
H
为从最深层异常跨度

跨度
J
虽然比跨度
H
层级更深,但是由于跨度
I
正常,因此可确定跨度
J
的异常已被铺货

[0055]步骤
104、
根据所述根因跨度输出根因告警信息

[0056]本专利技术实施例提供的基于链路数据的根因定位方法,获取调用链数据,所述调用链数据包括多个跨度的源数据;根据所述源数据得到每个跨度的预处理数据,所述预处理数据包括跨度关联的入口服务信息;遍历调用链中的跨度,根据所述入口服务信息和所述源数据确定根因跨度;根据所述根因跨度输出根因告警信息

相对于目前每次进行根因分析时,均需要对调用链数据进行入口服务的关联性查找,延迟较高,通常延时为3分钟

本专利技术实施例对调用链数据进行了预处理,预处理数据包括每个跨度关联的入口服务信息,因此在触发调用链根因分析时,根据预处理数据进行根因分析,能够更加快速的完成根因分析以及实时告警,延时为<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于链路数据的根因定位方法,其特征在于,包括:获取调用链数据,所述调用链数据包括多个跨度的源数据;根据所述源数据得到每个跨度的预处理数据,所述预处理数据包括跨度关联的入口服务信息;遍历调用链中的跨度,根据所述入口服务信息和所述源数据确定根因跨度;根据所述根因跨度输出根因告警信息
。2.
根据权利要求1所述的方法,其特征在于,根据所述源数据进行预处理,包括:根据入口跨度确定入口服务信息,将所述入口服务信息进行左连接数据缓存,作为子跨度的关联源头;根据跟踪
ID、
跨度
ID
和父级跨度
ID
确定每个跨度关联的入口服务信息,所述入口服务信息包括入口状态和入口服务标识
。3.
根据权利要求2所述的方法,其特征在于,根据所述源数据进行预处理,还包括:获取跨度的子跨度状态,所述子跨度状态用于标识所述子跨度的异常是否被捕获;将所述子跨度状态进行左连接数据缓存,作为父跨度异常检测的参考;根据跟踪
ID、
跨度
ID
和父级跨度
ID
确定每个跨度关联的子跨度状态
。4.
根据权利要求3所述的方法,其特征在于,根据所述预处理数据确定根因跨度,包括:判断入口服务标识对应入口状态是否异常;若所述入口状态为异常,根据根子
ID
和跨度
ID
依次遍历调用链,判断每个跨度
ID
中子跨度是否异常;若子跨度异常,则继续遍历调用链,直至遍历到最深层异常跨度;若子跨度正常,则将所述子跨度关联的子跨度状态判断关联的子跨度异常是否已被捕获;若已被捕获,则排除已被捕获的关联子跨度的根因分析;若未被捕获,则继续遍历所述调用链,直至遍历到最深层异常跨度;根据所述最深层异常跨度进行根因跨度分析
。5.
根据权利要求3所述的方法,其特征在于,根据所述源数据进行预处理,还包括:判断跨度
ID
对应的父子跨度的通信时间间...

【专利技术属性】
技术研发人员:许观平
申请(专利权)人:北京优特捷信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1