一种调用链路追踪方法及系统与流程

文档序号:37769016发布日期:2024-04-25 10:55阅读:6来源:国知局
一种调用链路追踪方法及系统与流程

本发明涉及调用链追踪,尤其是涉及一种调用链路追踪方法及系统。


背景技术:

1、调用链路追踪是一种规范化的技术手段,旨在全面追踪api的调用路径。通过调用链路追踪,开发人员和运维团队可以深入了解api请求的来源、经过的中间件、最终到达的服务端点以及响应时间等关键信息,调用链路追踪能够清晰地呈现请求在系统中的流转过程,有助于快速识别和解决性能瓶颈、延迟问题或错误源头,有助于故障排查和性能优化、资源管理等。

2、目前,在对调用链路追踪时,需要从各个业务中收集api调用的相关数据,通过实时分析数据,追踪请求的流动路径,将分散的数据聚合成一个调用链路,这个过程中需要识别业务中具有关联的api以及在链路中的顺序,然而,调用链路数据的数据量通常非常大,导致api之间组合和排序可能性很多,如何从大量调用链路数据中追踪出完整的调用链路是目前亟待解决的问题。


技术实现思路

1、为了便于追踪出完整的调用链路,本技术提供了一种调用链路追踪方法及系统。

2、第一方面,本技术提供的一种调用链路追踪方法,采用如下的技术方案:

3、一种调用链路追踪方法,包括:

4、基于目标业务,构建目标业务每次调用的链路追踪信息表;其中,所述目标业务包括多个api;所述链路追踪信息表包括api的接口参数、标识字段以及请求时间戳;

5、获取目标业务的业务起始api和业务结束api;

6、将业务起始api和业务结束api作为追踪节点区间,并计算追踪节点区间的预测处理时长;将预测处理时长和追踪节点区间输入至预设模型,通过预设模型对目标业务中包含的api进行筛选;

7、响应于预设模块筛选出匹配api,根据匹配api对追踪节点区间进行更新,并重新计算的预测处理时长和更新后的追踪节点区间输入至预设模型,通过预设模型对目标业务中包含的api进行再次筛选;

8、响应于预设模块未筛选出匹配api,根据业务起始api、业务结束api以及所有匹配api,得到完整调用链路。

9、通过采用上述技术方案,通过收集api的接口参数、标识字段以及请求时间戳,构建链路追踪信息表,为后续分析提供了基础数据,通过识别业务起始api和业务结束api,以明确目标业务逻辑的起点和终点,再将业务起始api和业务结束api作为追踪节点区间,以确定出筛选相关联的api的范围,再通过计算追踪节点区间的预测处理时长,使用预设模型筛选api,以便快速从追踪节点区间的范围内筛选出匹配api,如果筛选出匹配的api,则根据匹配api对追踪节点区间进行更新,并重新计算预测处理时长,继续利用预设模型筛选匹配api,使得每次筛选出的匹配api都在当前的追踪节点区间之内,确定了每个匹配api的在调用链路中的位置,当预设模型无输出,说明追踪节点区间的匹配api已筛选完成,在根据业务起始api、业务结束api以及所有匹配api,即能够得出完整的调用链路,通过预设模型对业务起始api和业务结束api之间的匹配api进行逐一筛选且每筛选出的匹配api位置已知,从而实现了便于从大量调用链路数据中追踪出完整的调用链路的效果。

10、可选的,所述基于目标业务,构建目标业务每次调用的链路追踪信息表,具体包括:

11、获取调用产生的原始报文信息,并对原始报文信息进行结构化处理,得到标准报文信息;

12、从标准报文信息中提取api的接口参数以及请求时间戳;

13、基于api的接口参数,从预设业务中查询出api所属的目标业务;

14、获取业务标识提取位置,并利用业务标识提取位置从标准报文信息中解析出若干个标识字段;根据所属的目标业务、标识字段、api的接口参数以及请求时间戳,构建目标业务的链路追踪信息表。

15、通过采用上述技术方案,获取了调用产生的原始报文信息,并对原始报文信息进行了结构化处理,生成了标准报文信息,以统一原始报文的格式,再从标准报文信息中提取了api的接口参数和请求时间戳,并基于api的接口参数,从预设业务中确定了api所属的目标业务,以按照所属的目标业务对api进行分类,然后基于业务标识的位置从标准报文信息中解析出若干个标识字段,通过标识字段区别每个主体的api行为,从而实现目标业务的链路追踪信息表的构建,即使得大量原始报文被转化为只包含关键信息的链路追踪信息表,减少了所需处理的数据量。

16、可选的,所述获取业务标识提取位置之前,还包括:

17、对标准报文信息进行扁平化处理,并对扁平化处理后的标准报文信息进行固定数据过滤,得到关键信息;

18、将关键信息按照所属的目标业务进行分组,得到每个目标业务的关键信息集合;

19、从目标业务的关键信息集合中分别提取每条关键信息所包含的键,得到多个键数组;

20、根据每个目标业务中所有键数组,统计所述目标业务中每个键的出现频次;

21、将出现频次最高的预设数量对键作为业务标识提取位置。

22、通过采用上述技术方案,对标准报文信息进行了扁平化处理,并过滤出关键信息,将关键信息根据所属的目标业务被分组,然后提取出每条关键信息中的键,统计每个键在目标业务中的出现频次,统计得出的业务标识提取位置能够更加贴合当前的目标业务,以便后续标识字段的提取。

23、可选的,所述获取目标业务的业务起始api和业务结束api之前,还包括:

24、基于目标业务中api的访问时间段以及api的接口参数,分析每个标识字段的单次起始api和单次结束api;

25、统计目标业务下所有标识字段的单次起始api和单次结束api的频次,并基于统计结果得到目标业务的业务起始api和业务结束api。

26、通过采用上述技术方案,过分析目标业务中api的访问时间段和接口参数,能够确定每个标识字段的单次起始api和单次结束api,再统计这些单次起始和结束api的频次,并根据统计结果确定目标业务的业务起始api和业务结束api,实现了能够更精确地匹配当前的目标业务,为后续的链路追踪提供了更加准确的起点和终点额的效果。

27、可选的,所述分析追踪节点区间的预测处理时长,具体包括:

28、统计目标业务中所有追踪节点区间的区间处理时长以及每个区间处理时长出现的次数;

29、根据每个区间处理时长出现的次数,得到每个区间处理时长的权重信息;

30、根据权重信息及对应的区间处理时长,构建区间时长数值序列;

31、计算区间时长数值序列的分位数,并将分位数作为追踪节点区间的预测处理时长。

32、通过采用上述技术方案,统计目标业务中所有追踪节点区间的区间处理时长及其出现次数,以得到了每个区间处理时长的权重信息,基于、权重信息,构建了区间时长数值序列,计算区间时长数值序列的分位数,并将分位数作为预测处理时长,通过分为数的计算方法能够表征出正常情况下踪节点区间的处理时长,有效排除了异常处理时长,提高了准确性。

33、可选的,所述将预测处理时长和追踪节点区间输入至预设模型,通过预设模型对目标业务中包含的api进行筛选,具体包括:

34、通过预设模型根据标识字段以及请求时间戳,对处于追踪节点区间对应时间段内的目标业务中包含的api进行分组,得到多个具有相同标识字段的关联api集合;所述关联api集合包括业务起始api、业务结束api以及在追踪节点区间对应时间段内的相关api;

35、计算每个关联api集合的实际处理时长;

36、根据预测处理时长以及实际处理时长,对关联api集合进行筛选,得到匹配api集合;

37、统计所有匹配api集合中相关api出现的频次,并基于相关api出现的频次计算每个相关api的匹配度;

38、根据匹配度,从相关api进行筛选,以得到匹配api。

39、通过采用上述技术方案,根据标识字段以及请求时间戳,将目标业务中处于追踪节点区间内的api进行分组,由于标识字段和请求时间戳所限定的范围有限,以便得到有限数量的多个关联api集合,再对每个关联api集合计算实际处理时长,根据预测处理时长和实际处理时长筛选匹配api集合,利用时长比对的方式计算量较小便于处理,最后再统计相关api出现频次并计算匹配度,此时由于匹配api已经过筛选,所需统计的数据量进一步减少,便于从相关api中筛选出最终的匹配api,实现了提高预设模块筛选匹配api效率的效果。

40、可选的,所述根据匹配api对追踪节点区间进行更新,具体包括:

41、利用匹配api对追踪节点区间的业务初始api进行替换,得到一组更新后的追踪节点区间;利用匹配api对追踪节点区间的业务结束api进行替换,得到另一组更新后的追踪节点区间。

42、通过采用上述技术方案,利用匹配api将原有的追踪节点区间拆分为两个更新后的追踪节点区间,以便后续分别对这两个更新后的追踪节点区间进行分别筛选其中的匹配api。

43、可选的,所述根据业务起始api、业务结束api以及所有匹配api,得到完整调用链路,具体包括:

44、根据每个匹配api对应的追踪节点区间,确定对应匹配api的位置信息;

45、根据每个匹配api的位置信息,将所有匹配api插入业务起始api和业务结束api之间,得到完整调用链路。

46、通过采用上述技术方案,由于匹配api是基于追踪节点区间得到的,即每个匹配api都位于对应追踪节点区间所包含的api之间,以得到匹配api的位置信息,基于匹配api及其位置信息,即能够将所有匹配api按照顺序插入业务起始api和业务结束api之间,从而实现了完整调用链路的还原。

47、第二方面,本技术提供一种调用链路追踪系统,采用如下技术方案:

48、一种调用链路追踪系统,基于上述方法,包括:

49、信息收集模块,用于基于目标业务,构建目标业务每次调用的链路追踪信息表;其中,所述目标业务包括多个api;所述链路追踪信息表包括api的接口参数、标识字段以及请求时间戳;

50、起始节点获取模块,用于获取目标业务的业务起始api和业务结束api;

51、数据处理模块,用于将业务起始api和业务结束api作为追踪节点区间,并计算追踪节点区间的预测处理时长;

52、匹配api筛选模块,用于将预测处理时长和追踪节点区间输入至预设模型,通过预设模型对目标业务中包含的api进行筛选;响应于预设模块筛选出匹配api,根据匹配api对追踪节点区间进行更新,并重新计算的预测处理时长和更新后的追踪节点区间输入至预设模型,通过预设模型对目标业务中包含的api进行再次筛选;

53、调用链路还原模块,用于响应于预设模块未筛选出匹配api,根据业务起始api、业务结束api以及所有匹配api,得到完整调用链路。

54、第三方面,本技术提供一种计算机设备,采用如下技术方案:

55、一种计算机设备,包括存储器、处理器以及储存在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行如上述任一种方法的计算机程序。

56、第四方面,本技术提供一种计算机可读存储介质,采用如下技术方案:

57、一种计算机可读存储介质,包括存储有能够被处理器加载并执行如上述任一方法中的计算机程序。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1