链路追踪方法以及设备技术

技术编号:34322970 阅读:18 留言:0更新日期:2022-07-31 00:34
本申请提供一种链路追踪方法以及设备。该方法包括:获取待追踪的调用路径,该调用路径由M个相同的调用链路聚合形成,并根据该调用路径是否存在于调用路径池,确定该调用路径的路径权重,该调用路径池包括历史链路追踪过程中形成的历史调用路径,再根据该调用路径的路径权重,对该M个相同的调用链路进行筛选,得到该M个相同的调用链路中的N1个调用链路,最后根据该N1个调用链路,生成该调用路径的链路追踪结果,该链路追踪结果用于表示该调用路径中调用链路的调用情况;其中,M≥N1≥1。使得在链路追踪结果中存在较多能够体现调用路径异常的高价值数据,以便于进行调用路径的异常分析,并且节省了存储空间。并且节省了存储空间。并且节省了存储空间。

Link tracking method and equipment

【技术实现步骤摘要】
链路追踪方法以及设备


[0001]本申请涉及网络
,尤其涉及一种链路追踪方法以及设备。

技术介绍

[0002]在分布式系统(例如微服务系统)中,往往需要系统中的多个模块(例如微服务)之间进行相互调用才能完成对一次外部请求的响应。以微服务系统为例,通过微服务系统响应外部请求,调用微服务产生的调用路径(path)错综复杂,因此,常通过链路追踪技术对微服务系统中的各调用路径的相关信息进行记录,以便于在调用路径存在异常时,及时处理异常,提高微服务系统的稳定性和可靠性。
[0003]目前,链路追踪过程中,记录的调用路径中的调用信息,通常是基于固定的采样频率采样得到的。此种情况下,链路追踪过程中需要记录的数据量较大,耗费较多的存储空间,并且链路追踪结果中,存在较多无法体现调用路径异常的低价值数据。

技术实现思路

[0004]本申请实施例提供一种链路追踪方法以及设备,以期筛选得到能够体现调用路径异常的高价值数据,便于进行异常分析,并且节省了存储空间。
[0005]第一方面,本申请实施例提供一种链路追踪方法,包括:获取待追踪的调用路径,该调用路径由M个相同的调用链路聚合形成;根据该调用路径是否存在于调用路径池,确定该调用路径的路径权重,该调用路径池包括历史链路追踪过程中形成的历史调用路径;根据该调用路径的路径权重,对该M个相同的调用链路进行筛选,得到该M个相同的调用链路中的N1个调用链路;根据该N1个调用链路,生成该调用路径的链路追踪结果,该链路追踪结果用于表示该调用路径中调用链路的调用情况;其中,M≥N1≥1。
[0006]第二方面,本申请实施例提供一种链路追踪装置,包括:获取单元,用于获取待追踪的调用路径,该调用路径由M个相同的调用链路聚合形成;权重确定单元,用于根据该调用路径是否存在于调用路径池,确定该调用路径的路径权重,该调用路径池包括历史链路追踪过程中形成的历史调用路径;链路筛选单元,用于根据该调用路径的路径权重,对该M个相同的调用链路进行筛选,得到该M个相同的调用链路中的N1个调用链路;结果生成单元,用于根据该N1个调用链路,生成该调用路径的链路追踪结果,该链路追踪结果用于表示该调用路径中调用链路的调用情况;其中,M≥N1≥1。
[0007]第三方面,本申请实施例提供一种电子设备,包括:至少一个处理器和存储器;该存储器存储计算机执行指令;该至少一个处理器执行该存储器存储的计算机执行指令,使得该至少一个处理器执行如第一方面提供的方法。
[0008]第四方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,当处理器执行该计算机执行指令时,实现如第一方面提供的方法。
[0009]第五方面,本申请实施例提供一种计算机程序产品,包括计算机指令,该计算机指
令被处理器执行时实现第一方面提供的方法。
[0010]本申请实施例中,链路追踪装置基于待追踪的调用路径是否存在于调用路径池,对聚合形成调用路径的调用链路进行筛选,进而基于筛选后的调用链路生成该调用路径的链路追踪结果。使得在链路追踪结果中存在较多能够体现调用路径异常的高价值数据,以便于进行调用路径的异常分析,并且节省了存储空间。
附图说明
[0011]图1为本申请提供的一种链路追踪的场景示意图;
[0012]图2为本申请实施例提供的一种链路追踪装置的示意图;
[0013]图3为本申请实施例提供的一种链路追踪方法的流程示意图;
[0014]图4为本申请实施例提供的另一种链路追踪方法的流程示意图;
[0015]图5为本申请实施例提供的一种链路追踪装置的示意性框图;
[0016]图6为本申请示例性实施例提供的一种电子设备的结构示意图。
具体实施方式
[0017]本申请实施例适用于对任意分布式系统的调用路径(path)的链路追踪,尤其适用于对微服务系统的调用路径的链路追踪。下文以对微服务系统的调用路径进行链路追踪为例对本申请进行示例性的说明。
[0018]图1为本申请提供的一种链路追踪的场景示意图。假设微服务系统中存在如图1所示的调用节点a至f(不包括调用节点g)。需要说明的是,调用节点可以是微服务(Service),或者微服务中的操作(Operation)。例如,在电商领域中,微服务可以包括订单服务、付款服务、计算服务地址服务、库存服务等,订单服务包括的操作可以是创建订单、更新订单、取消订单等。在图1中,调用节点a可以是入口应用(root),调用节点b至f均是微服务中的操作,例如调用节点b和调用节点c是微服务S1中的操作,调用节点d是微服务S2中的操作,调用节点e是微服务S3中的操作,调用节点f是微服务S4中的操作。
[0019]微服务系统响应外部请求时,可能因调用产生多个调用路径,每个调用路径描述了调用链路(trace)经过的Service和Operation的路径。例如,可能存在调用路径A至D。如图1所示,调用路径A为包括调用节点a、b、d和e的调用路径,调用路径B为包括调用节点a、b、d和f的调用路径,调用路径C为包括调用节点a、c、d和e的调用路径,调用路径D为包括调用节点a、c、d、f的调用路径。
[0020]需要说明的是,调用路径是由多次调用产生的相同调用的调用链路(trace)聚合形成的。微服务系统可以通过相同的调用链路响应一种类型的外部请求,每次响应外部请求,产生一个调用链路,例如聚合形成调用路径A的各调用链路均为包括调用节点a、b、d和e的调用链路。
[0021]在每个调用链路中每两个相邻的调用节点之间的调用可以通过跨度(Span)表示,例如调用节点a每一次调用调用节点b会产生一次调用的跨度,调用节点b调用调用节点d也会产生一次调用的跨度,以此类推,当完成响应外部请求的完整调用时,这些跨度就组成了一个调用链路。每个跨度对应有跨度信息,跨度信息用于表征该两个相邻的调用节点在调用过程中产生的信息。跨度信息可以包括该调用链路的标识、该跨度的标识、调用的服务名
称、调用的操作名称、该跨度的调用起始时间和调用结束时间、调用响应等中的部分或者全部。以图1中调用节点a调用调用节点b的跨度为例,该跨度的跨度信息包括:跨度的标识(SpanID)为1,调用链路的标识(TraceID)为1000,调用的服务名称(ServiceName)为S1,调用的操作名称(OperationName)为O1,调用起始时间(StarTime)为调用节点a向调用节点b请求调用的时间,调用结束时间(EndTime)为调用节点a收到调用节点b响应调用节点a的调用请求的时间。
[0022]多个调用链路中相同的跨度可以聚合得到调用路径中对应的跳(Hop),Hop描述了path中的一个节点,对应于经过当前path的trace中于此Service和Operation和Span的集合,其中,相同的跨度是指调用节点和被调用节点均相同的跨度。例如调用节点a到调用节点b之间的跨度聚合得到Hop1,调用节点b到调用节点d之间本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种链路追踪方法,其特征在于,包括:获取待追踪的调用路径,所述调用路径由M个相同的调用链路聚合形成;根据所述调用路径是否存在于调用路径池,确定所述调用路径的路径权重,所述调用路径池包括历史链路追踪过程中形成的历史调用路径;根据所述调用路径的路径权重,对所述M个相同的调用链路进行筛选,得到所述M个相同的调用链路中的N1个调用链路;根据所述N1个调用链路,生成所述调用路径的链路追踪结果,所述链路追踪结果用于表示所述调用路径中调用链路的调用情况;其中,M≥N1≥1。2.根据权利要求1所述的方法,其特征在于,所述根据所述N1个调用链路,生成所述调用路径的链路追踪结果,包括:确定所述N1个调用链路分别对应的采样权重;根据所述N1个调用链路分别对应的采样权重,对所述N1个调用链路进行筛选,得到所述N1个调用链路中的N2个调用链路;根据所述N2个调用链路,生成所述调用路径的链路追踪结果;其中,N1≥N2≥1。3.根据权利要求2所述的方法,其特征在于,所述确定所述N1个调用链路分别对应的采样权重,包括:针对所述N1个调用链路中的一个调用链路,获取所述调用链路中的至少一个跨度信息,所述跨度信息用于表征所述调用链路中两个相邻调用节点在调用过程中产生的信息;根据所述至少一个跨度信息和响应时长RT区间,分别确定所述调用链路的至少一个跨度权重,所述RT区间为基于所述调用路径上的历史调用链路的调用信息确定的;将所述至少一个跨度权重中的最大值,作为所述调用链路的采样权重。4.根据权利要求3所述的方法,其特征在于,所述RT区间包括第一区间,所述根据所述至少一个跨度信息和所述RT区间,分别确定所述调用链路的至少一个跨度权重,包括:根据所述至少一个跨度信息中的第i个跨度信息,确定所述调用链路的第i个跨度的RT;若所述第i个跨度的RT小于所述第一区间的下限阈值,则所述调用链路的第i个跨度权重为第一跨度权重;若所述第i个跨度的RT处于所述第一区间,则所述调用链路的第i个跨度权重为第二跨度权重;若所述第i个跨度的RT大于所述第一区间的上限阈值,则所述调用链路的第i个跨度权重为第三跨度权重;其中,所述第一跨度权重的值和第三跨度权重的值均大于所述第二跨度权重的值。5.根据权利要求4所述的方法,其特征在于,所述第一区间为基于正态分布函数和贝叶斯函数确定的可信区间。6.根据权利要求4或5所述的方法,其特征在于,所述RT区间还包括第二区间,所述第二区间的下限阈值与所述第一区间的上限阈值相同,所述若所述第i个跨度的RT大于所述第一区间的上限阈值,则所述调用链路的第i个跨度权重为第三跨度权重,包括:
若所述第i个跨度的RT处于所述第二区间,则所述第三跨度权重的值为第一预设值;若...

【专利技术属性】
技术研发人员:胡一帆郭晓峰王华锋闫鹏周小帆
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1