调用链路采样方法技术

技术编号:39518171 阅读:12 留言:0更新日期:2023-11-25 18:56
本申请实施例公开了一种调用链路采样方法

【技术实现步骤摘要】
调用链路采样方法、装置、存储介质及设备


[0001]本申请涉及分布式计算
,具体涉及一种调用链路采样方法

装置

存储介质及设备


技术介绍

[0002]随着互联网业务快速扩展,软件架构也日益变得复杂,为了适应海量对象高并发请求,系统中越来越多的组件开始走向分布式化,如单体架构拆分为微服务

服务内缓存变为分布式缓存和服务组件通信变为分布式消息,这些组件共同构成了繁杂的分布式网络系统

[0003]在分布式网络系统中,可以部署成千上万个微服务,假设分布式网络系统内部出现错误,开发人员如果借助日志逐个排查微服务的效率是非常低的,因此,分布式链路标记应运而生,分布式链路标记就是将一次业务请求(也可以理解为分布式请求)还原成调用链路(也可以理解为分布式链路),将一次业务请求的调用情况集中展示,比如各个微服务节点上的耗时

请求具体到达哪个微服务节点上和每个微服务节点的请求状态等等

[0004]但是,由于调用链路采样的密集性,导致采样的目标调用链路数量与业务请求等量,在全部采样的情况下,会给业务端带来巨大的负载压力,同时也会给存储端带来具体的存储压力


技术实现思路

[0005]本申请实施例提供一种调用链路采样方法

装置

存储介质及设备,可以提升调用链路采样的合理性,减小业务端的负载压力以及存储端的存储压力

[0006]为解决上述技术问题,本申请实施例提供以下技术方案:一种调用链路采样方法,包括:获取当前采样周期采样的目标调用链路数量和预期调用链路数量;根据所述目标调用链路数量和所述预期调用链路数量之间的差异确定相应的控制量;基于所述控制量和所述目标调用链路数量计算出相应的采样调节概率;通过所述采样调节概率确定出每个服务节点在下个采样周期的目标采样概率

[0007]一种调用链路采样装置,包括:获取单元,用于获取当前采样周期采样的目标调用链路数量和预期调用链路数量;第一确定单元,用于根据所述目标调用链路数量和所述预期调用链路数量之间的差异确定相应的控制量;计算单元,用于基于所述控制量和所述目标调用链路数量计算出相应的采样调节概率;第二确定单元,用于通过所述采样调节概率确定出每个服务节点在下个采样周期
的目标采样概率

[0008]在一些实施方式中,所述第一确定单元,包括:第一计算子单元,用于根据所述目标调用链路数量和预期调用链路数量计算出相应的控制误差;第二计算子单元,用于通过积分微分控制方法对所述控制误差进行计算,得到计算后相应的控制量

[0009]在一些实施方式中,所述第二计算子单元,用于:获取预设比例;确定所述控制误差相应的积分数据和微分数据;将所述预设比例

所述积分数据和所述微分数据进行线性处理,生成控制量

[0010]在一些实施例中,所述第二确定单元,包括:获取子单元,用于获取所述当前采样周期下对应的当前采样概率;调节子单元,用于根据所述采样调节概率对所述当前采样概率进行调节,得到调节后的目标采样概率;采样子单元,用于将所述目标采样概率作为每个服务节点在下个采样周期的采样概率

[0011]在一些实施例中,所述调节子单元,用于:根据所述采样调节概率对所述当前采样概率进行调节,得到调节后的初始采样概率;获取下个采样周期所处的目标时间段,并根据所述目标时间段确定相应的调节权重;根据所述调节权重对所述初始采样概率进行加权,得到加权后的目标采样概率

[0012]在一些实施例中,所述采样子单元,用于:获取子模块,用于获取预设链路类别数量,以及统计在所述当前采样周期每个预设链路类别下的调用链路数量;第一确定子模块,用于根据所述预期调用链路数量和所述预设链路类别数量确定出相应的参考数量;第二确定子模块,用于确定调用链路数量大于等于所述参考数量的第一预设链路类别,以及调用链路数量小于所述参考数量的第二预设链路类别;第一设置子模块,用于将所述第一预设链路类别在下个采样周期的采样概率设置为所述目标采样概率,以及将所述第二预设链路类别在下个采样周期的采样概率设置为预设采样概率

[0013]在一些实施例中,所述第二确定子模块,用于:基于最大最小公平原则,将每个调用链路数量与所述参考数量进行对比;将调用链路数量大于等于所述参考数量的预设链路类别确定为第一预设链路类别;将调用链路数量小于所述参考数量的预设链路类别确定为第二预设链路类别

[0014]在一些实施例中,所述装置,还包括第二设置子模块,用于:将不属于预设链路类别的非预设链路类别在下个采样周期的采样概率设置为所
述目标采样概率

[0015]在一些实施例中,所述装置,还包括设置单元,用于:获取采样的历史调用链路,并统计所述历史调用链路相应的历史链路数据;当检测到所述历史链路数据指示出现异常情况时,将每个服务节点在下个采样周期的采样概率设置为预设采样概率

[0016]在一些实施例中,所述第二确定单元,还用于:当检测到所述历史链路数据中未出现异常情况时,通过所述采样调节概率确定出每个服务节点在下个采样周期的目标采样概率

[0017]在一些实施例中,所述第二确定单元,用于:计算所述控制量和所述目标调用链路数量的比值,并将所述比值确定为采样调节概率

[0018]一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行上述调用链路采样方法

[0019]一种计算机设备,包括存储器

处理器以及存储在所述存储器中并可以在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述调用链路采样方法

[0020]一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在存储介质中

计算机设备的处理器从存储介质读取所述计算机指令,处理器执行所述计算机指令,使得实现上述调用链路采样方法

[0021]本申请实施例通过获取当前采样周期采样的目标调用链路数量和预期调用链路数量;根据目标调用链路数量和预期调用链路数量之间的差异确定相应的控制量;基于控制量和目标调用链路数量计算出相应的采样调节概率;通过采样调节概率确定出每个服务节点在下个采样周期的目标采样概率

以此,根据当前采样周期采样的目标调用链路数量和预期调用链路数量之间的差异关系,确定出相应的控制量,并基于控制量与目标调用链路数量进一步的确定出采样调节概率,根据采样调节概率动态设置下个采样周期的目标采样概率,相对于相关技术中对于调用链路进行全部采样的方案,本申请实施例可以提升调用链路采样的合理性,减小业务端的负载压力本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种调用链路采样方法,其特征在于,包括:获取当前采样周期采样的目标调用链路数量和预期调用链路数量;根据所述目标调用链路数量和所述预期调用链路数量之间的差异确定相应的控制量;基于所述控制量和所述目标调用链路数量计算出相应的采样调节概率;通过所述采样调节概率确定出每个服务节点在下个采样周期的目标采样概率
。2.
根据权利要求1所述的调用链路采样方法,其特征在于,所述根据所述目标调用链路数量和所述预期调用链路数量之间的差异确定相应的控制量,包括:根据所述目标调用链路数量和预期调用链路数量计算出相应的控制误差;通过积分微分控制方法对所述控制误差进行计算,得到计算后相应的控制量
。3.
根据权利要求2所述的调用链路采样方法,其特征在于,通过积分微分控制方法对所述控制误差进行计算,得到计算后相应的控制量,包括:获取预设比例;确定所述控制误差相应的积分数据和微分数据;将所述预设比例

所述积分数据和所述微分数据进行线性处理,生成控制量
。4.
根据权利要求1所述的调用链路采样方法,其特征在于,所述通过所述采样调节概率确定出每个服务节点在下个采样周期的目标采样概率,包括:获取所述当前采样周期下对应的当前采样概率;根据所述采样调节概率对所述当前采样概率进行调节,得到调节后的目标采样概率;将所述目标采样概率作为每个服务节点在下个采样周期的采样概率
。5.
根据权利要求4所述的调用链路采样方法,其特征在于,所述根据所述采样调节概率对所述当前采样概率进行调节,得到调节后的目标采样概率,包括:根据所述采样调节概率对所述当前采样概率进行调节,得到调节后的初始采样概率;获取下个采样周期所处的目标时间段,并根据所述目标时间段确定相应的调节权重;根据所述调节权重对所述初始采样概率进行加权,得到加权后的目标采样概率
。6.
根据权利要求4所述的调用链路采样方法,其特征在于,所述将所述目标采样概率作为每个服务节点在下个采样周期的采样概率,包括:获取预设链路类别数量,以及统计在所述当前采样周期每个预设链路类别下的调用链路数量;根据所述预期调用链路数量和所述预设链路类别数量确定出相应的参考数量;确定调用链路数量大于等于所述参考数量的第一预设链路类别,以及调用链路数量小于所述参考数量的第二预设链路类别;将所述第一预设链路类别在下个采样周期的采样概率设置为所述目标采样概率,以及将所述第二预设链路类别在下个采样周期的采样概率设置为预设采样概率
。7.
根据权利要求6所述的调用链路采样方法,其特征在于,所述确定调用链路数量...

【专利技术属性】
技术研发人员:邱力
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1