一种调用链数据的处理方法、装置、设备及存储介质转让专利

申请号 : CN201811135611.1

文献号 : CN109271396B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 雷公武

申请人 : 杭州数梦工场科技有限公司

摘要 :

本申请公开了一种调用链数据的处理方法,应用于服务端,包括:接收客户端按照预设采样率上报的调用链数据;存储上报的调用链数据;其中,预设采样率由服务端根据客户端的历史上报记录定期进行更新后,由客户端定期查询获取,以便令调用链数据的上报数据量保持稳定。本申请保障了调用链数据上报数据量的稳定,避免了频繁上报对服务器的性能消耗,也避免了低频上报对重要数据的遗漏,有效提高了调用链数据的处理效率和上报质量。本申请还公开了一种调用链数据的处理装置、设备及计算机可读存储介质,同样具有上述有益效果。

权利要求 :

1.一种调用链数据的处理方法,其特征在于,应用于服务端,包括:

接收客户端按照各个应用服务的预设采样率分别上报的调用链数据;所述调用链数据中携带有对应的应用服务的ID码,所述ID码由所述服务端在与所述客户端首次连接时的握手操作中生成,并发送至所述客户端;

判断所述调用链数据的当前入库率是否超过预设入库率;其中,入库率为存储入库的调用链数据与上报的调用链数据的大小之比,所述预设入库率由所述服务端根据历史上报记录定期进行更新,以便令所述调用链数据的入库数据量保持稳定;

若否,则存储上报的所述调用链数据;

若是,则丢弃上报的所述调用链数据;其中,所述预设采样率由所述服务端根据所述客户端的各个应用服务的历史上报记录定期分别进行更新后,由所述客户端定期查询获取或者由所述服务端主动推送至所述客户端,以便令各个应用服务的所述调用链数据的上报数据量分别保持稳定;来自不同应用服务的调用链数据分别采用各自对应的预设采样率。

2.根据权利要求1所述的处理方法,其特征在于,所述预设采样率具体由所述服务端按照以下步骤定期进行更新:根据所述历史上报记录获取最近一个预设周期内所述调用链数据的上报数据量的记录值;

根据所述记录值确定下个预设周期内所述调用链数据的上报数据量的预测值;

判断所述预测值是否高于第一预设阈值;

若是,则减小所述预设采样率;

若否,则判断所述上报数据量是否低于第二预设阈值,所述第一预设阈值高于所述第二预设阈值;

若是,则增大所述预设采样率。

3.根据权利要求2所述的处理方法,其特征在于,所述根据所述记录值确定下个预设周期内所述调用链数据的上报数据量的预测值包括:采用以下任意一种时间序列预测法,根据所述记录值确定下个预设周期内所述调用链数据的上报数据量的预测值:简单序时平均数法、加权序时平均数法、加权移动平均法、指数平滑法、季节性趋势预测法。

4.一种调用链数据的处理方法,其特征在于,应用于客户端,包括:

定期查询服务端或者接收所述服务端的推送信息以获取各个应用服务的更新后的预设采样率,所述预设采样率由所述服务端根据所述客户端的各个应用服务的历史上报记录分别定期进行更新,以便令各个应用服务的所述调用链数据的上报数据量保持稳定;来自不同应用服务的调用链数据分别采用各自对应的预设采样率;

将各个应用服务的调用链数据按照所述预设采样率分别上报至所述服务端;所述调用链数据中携带有对应的应用服务的ID码,所述ID码由所述服务端在与所述客户端首次连接时的握手操作中生成,并发送至所述客户端;以便所述服务端判断所述调用链数据的当前入库率是否超过预设入库率;其中,入库率为存储入库的调用链数据与上报的调用链数据的大小之比,所述预设入库率由所述服务端根据历史上报记录定期进行更新,以便令所述调用链数据的入库数据量保持稳定;若否,则存储上报的所述调用链数据;若是,则丢弃上报的所述调用链数据。

5.一种调用链数据的处理装置,其特征在于,应用于服务端,包括:

接收模块,用于接收客户端按照各个应用服务的预设采样率分别上报的调用链数据;

所述调用链数据中携带有对应的应用服务的ID码,所述ID码由所述服务端在与所述客户端首次连接时的握手操作中生成,并发送至所述客户端;

存储模块,用于判断所述调用链数据的当前入库率是否超过预设入库率;若否,则存储上报的所述调用链数据;若是,则丢弃上报的所述调用链数据;其中,入库率为存储入库的调用链数据与上报的调用链数据的大小之比;

更新模块,用于根据所述客户端的各个应用服务的历史上报记录对所述预设采样率定期分别进行更新,由所述客户端定期查询获取或者由所述服务端主动推送至所述客户端,以便令各个应用服务的所述调用链数据的上报数据量分别保持稳定;来自不同应用服务的调用链数据分别采用各自对应的预设采样率;根据所述历史上报记录对所述预设入库率定期进行更新,以便令所述调用链数据的入库数据量保持稳定。

6.一种调用链数据的处理设备,其特征在于,包括:

存储器:用于存储计算机程序;

处理器:用于执行所述计算机程序以实现如权利要求1至4任一项所述的调用链数据的处理方法的步骤。

7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如权利要求1至4任一项所述的调用链数据的处理方法的步骤。

说明书 :

一种调用链数据的处理方法、装置、设备及存储介质

技术领域

[0001] 本申请属于大数据领域,涉及网络技术,特别涉及一种调用链数据的处理方法、装置、设备及计算机可读存储介质。

背景技术

[0002] 调用链数据是记录了网络应用服务中消息处理过程的路径、时间等信息的重要数据,一条调用链包含了从源头请求(比如前端网页请求、无线客户端请求等)到最后底层装置(比如数据库、分布式缓存等)的所有中间环节,常用于快速定位网络问题或者优化消息请求与响应间时间差等。
[0003] 现有的一些分布式跟踪系统如Dapper和Zipkin等都实现了调用链数据跟踪。一般地,客户端具体是按照固定的采样率对调用链数据进行筛选后上报给服务端的。若采样率过高,则将增大服务端分析接收到的调用链数据时的工作量;若采样率过小,则容易漏报一些记录有重要信息的调用链数据。实际上,应用程序在不同时间段内的被调用频率不同,所产生的调用链数据总量也不同。因此,采用固定的采样率进行上报,将会影响到服务端的业务性能。
[0004] 可见,采用何种调用链数据的处理技术,以便根据客户端的实际运行情况动态调整上报调用链数据时的采样率,进而有效提高调用链数据上报的处理效率和上报质量,是本领域技术人员所亟待解决的技术问题。

发明内容

[0005] 本申请的目的在于提供一种调用链数据的处理方法、装置、设备及计算机可读存储介质,以便根据客户端的实际运行情况动态调整上报调用链数据时的采样率,进而有效提高调用链数据上报的处理效率和上报质量。
[0006] 为解决上述技术问题,本申请提供一种调用链数据的处理方法,应用于服务端,包括:
[0007] 接收客户端按照预设采样率上报的调用链数据;
[0008] 存储上报的所述调用链数据;
[0009] 其中,所述预设采样率由所述服务端根据所述客户端的历史上报记录定期进行更新后,由所述客户端定期查询获取,以便令所述调用链数据的上报数据量保持稳定。
[0010] 可选地,所述预设采样率由所述服务端根据所述客户端的历史上报记录定期进行更新包括:
[0011] 所述服务端根据所述客户端的历史上报记录,定期对所述客户端的各个应用服务的所述预设采样率分别进行更新,以便令各个应用服务的所述调用链数据的上报数据量分别保持稳定;
[0012] 其中,所述调用链数据中携带有对应的应用服务的ID码,所述ID码由所述服务端在与所述客户端首次连接时的握手操作中生成,并发送至所述客户端。
[0013] 可选地,所述预设采样率具体由所述服务端按照以下步骤定期进行更新:
[0014] 根据所述历史上报记录获取最近一个预设周期内所述调用链数据的上报数据量的记录值;
[0015] 根据所述记录值确定下个预设周期内所述调用链数据的上报数据量的预测值;
[0016] 判断所述预测值是否高于第一预设阈值;
[0017] 若是,则减小所述预设采样率;
[0018] 若否,则判断所述上报数据量是否低于第二预设阈值,所述第一预设阈值高于所述第二预设阈值;
[0019] 若是,则增大所述预设采样率。
[0020] 可选地,所述根据所述记录值确定下个预设周期内所述调用链数据的上报数据量的预测值包括:
[0021] 采用以下任意一种时间序列预测法,根据所述记录值确定下个预设周期内所述调用链数据的上报数据量的预测值:
[0022] 简单序时平均数法、加权序时平均数法、加权移动平均法、指数平滑法、季节性趋势预测法。
[0023] 可选地,在所述存储上报的所述调用链数据之前,还包括:
[0024] 判断所述调用链数据的当前入库率是否超过预设入库率;
[0025] 若否,则执行所述存储上报的所述调用链数据的步骤;
[0026] 若是,则丢弃上报的所述调用链数据。
[0027] 可选地,还包括:
[0028] 根据所述历史上报记录定期对所述预设入库率进行更新,以便令所述调用链数据的入库数据量保持稳定。
[0029] 本申请还提供了一种调用链数据的处理方法,应用于客户端,包括:
[0030] 定期查询服务端以获取更新后的预设采样率,所述预设采样率由所述服务端根据所述客户端的历史上报记录定期进行更新,以便令所述调用链数据的上报数据量保持稳定;
[0031] 将调用链数据按照所述预设采样率上报至所述服务端。
[0032] 本申请还提供了一种调用链数据的处理装置,应用于服务端,包括:
[0033] 接收模块,用于接收客户端按照预设采样率上报的调用链数据;
[0034] 存储模块,用于存储上报的所述调用链数据;
[0035] 更新模块,用于根据所述客户端的历史上报记录对所述预设采样率定期进行更新,由所述客户端定期查询获取,以便令所述调用链数据的上报数据量保持稳定。
[0036] 本申请还提供了一种调用链数据的处理设备,包括:
[0037] 存储器:用于存储计算机程序;
[0038] 处理器:用于执行所述计算机程序以实现如上所述的任一种调用链数据的处理方法的步骤。
[0039] 本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如上所述的任一种调用链数据的处理方法的步骤。
[0040] 本申请所提供的调用链数据的处理方法应用于服务端,包括:接收客户端按照预设采样率上报的调用链数据;存储上报的所述调用链数据;其中,所述预设采样率由所述服务端根据所述客户端的历史上报记录定期进行更新后,由所述客户端定期查询获取,以便令所述调用链数据的上报数据量保持稳定。
[0041] 可见,相比于现有技术,本申请所提供的调用链数据的处理方法中,客户端上报调用链数据时所采用的预设采样率并非是一成不变的,而是随客户端生成的调用链数据量的多少而不断更新变化的。服务端通过分析客户端调用链数据的历史上报记录,对客户端即将会产生的调用链数据量进行预测,从而确定出能够保障客户端上报数据量稳定的预设采样率的更新值,以便客户端采用更新后的预设采样率向服务端上报调用链数据。本申请既避免了频繁上报对服务器的性能消耗,也避免了低频上报对重要数据的遗漏,因此可有效提高调用链数据的处理效率和上报质量。本申请所提供的调用链数据的处理装置、设备及计算机可读存储介质可以实现上述调用链数据的处理方法,同样具有上述有益效果。

附图说明

[0042] 为了更清楚地说明现有技术和本申请实施例中的技术方案,下面将对现有技术和本申请实施例描述中需要使用的附图作简要的介绍。当然,下面有关本申请实施例的附图描述的仅仅是本申请中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本申请的保护范围。
[0043] 图1为本申请所提供的一种调用链数据的处理方法的应用场景图;
[0044] 图2为本申请所提供的一种调用链数据的处理方法的流程图;
[0045] 图3为本申请所提供的一种预设采样率的更新方法的流程图;
[0046] 图4为本申请所提供的又一种调用链数据的处理方法的流程图;
[0047] 图5为本申请所提供的一种调用链数据的处理装置的结构框图;
[0048] 图6为本申请所提供的又一种调用链数据的处理装置的结构框图。

具体实施方式

[0049] 本申请的核心在于提供一种调用链数据的处理方法、装置、设备及计算机可读存储介质,以便根据客户端的实际运行情况动态调整上报调用链数据时的采样率,进而有效提高调用链数据上报的处理效率和上报质量。
[0050] 为了对本申请实施例中的技术方案进行更加清楚、完整地描述,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行介绍。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0051] 请参考图1,图1为本申请所提供的一种调用链数据的处理方法的应用场景图。
[0052] 图1所示的客户端中有各种应用服务,可供用户使用,它们在向用户提供对应服务的过程中会产生调用链数据。客户端可将生成的调用链数据以一定的比例即预设采样率进行筛选后发送至服务端,由服务端进行存储,以便进行分析管理。
[0053] 请参考图2,图2为本申请所提供的一种调用链数据的处理方法的流程图,应用于服务端,主要包括以下步骤:
[0054] S21:接收客户端按照预设采样率上报的调用链数据;其中,预设采样率由服务端根据客户端的历史上报记录定期进行更新后,由客户端定期查询获取,以便令调用链数据的上报数据量保持稳定。
[0055] S22:存储上报的调用链数据。
[0056] 如前所述,客户端会利用一些埋在应用服务程序中类似探针的工具来收集各应用程序的调用链信息,当有调用链数据产生后,便会按照预设采样率筛选后上报给服务端。
[0057] 具体地,本申请所提供的调用链数据的处理方法中,客户端向服务端上报调用链数据时所依据的预设采样率,具体是由服务端依据客户端的历史上报记录对客户端调用链数据的产生情况进行预测,进而不断更新调整的,并非是现有技术中所使用的固定值。
[0058] 本申请中,对预设采样率数值进行动态调整的目的,是为了在应用服务被频繁调用和很少被调用时,都保证上报至服务端的调用链数据的数据量的稳定,由此进一步保证服务端处理调用链数据时的效率和稳定性。具体地,服务端在对预设采样率进行更新时,具体是依据该客户端的历史上报记录对客户端调用链数据的产生情况进行预测,若客户端将要生成大量的调用链数据,可将预设采样率调小,若客户端仅将要生成少量的调用链数据,则可将预设采样率调大,从而保证客户端上报数据量的稳定。
[0059] 容易理解的是,服务端可以每隔一段时间定期对预设采样率进行更新调整,例如,可每隔10分钟更新一次,而对应的客户端也每隔10分钟查询一次服务端,以获取更新后的预设采样率。需要说明的是,若不需考虑服务端的性能消耗,更新后的预设采样率也可以由服务端主动推送至客户端,本领域技术人员可以自行选择设置。
[0060] 可见,本申请所提供的调用链数据的处理方法中,客户端上报调用链数据时所采用的预设采样率并非是一成不变的,而是随客户端生成的调用链数据量的多少而不断更新变化的。服务端通过分析客户端调用链数据的历史上报记录,对客户端即将会产生的调用链数据量进行预测,从而确定出能够保障客户端上报数据量稳定的预设采样率的更新值,以便客户端采用更新后的预设采样率向服务端上报调用链数据。本申请既避免了频繁上报对服务器的性能消耗,也避免了低频上报对重要数据的遗漏,因此可有效提高调用链数据的处理效率和上报质量。
[0061] 本申请所提供的调用链数据的处理方法,在上述实施例的基础上:
[0062] 作为一种优选实施例,预设采样率由服务端根据客户端的历史上报记录定期进行更新包括:
[0063] 服务端根据客户端的历史上报记录,定期对客户端的各个应用服务的预设采样率分别进行更新,以便令各个应用服务的调用链数据的上报数据量分别保持稳定;
[0064] 其中,调用链数据中携带有对应的应用服务的ID码,ID码由服务端在与客户端首次连接时的握手操作中生成,并发送至客户端。
[0065] 具体地,不同于现有技术中针对所有的应用服务都采用统一的预设采样率的方案,本申请所提供的调用链数据的处理方法中,客户端所上报的来自不同应用服务的调用链数据分别采用各自对应的预设采样率,并由服务端分别进行更新。
[0066] 容易理解的是,客户端中有些应用服务是用户经常调用使用的,而有些应用服务则是用户很少调用使用的,因此,针对不同的应用服务分别采用不同的预设采样率,可有效保障各个应用服务的调用链数据都得到合理上报,既不会令上报数据量过大,也不会导致重要信息被遗漏。
[0067] 其中,为了区分不同的应用服务,服务端在与客户端首次连接时进行握手操作时,可以为客户端不同的应用服务分配ID码,根据该ID码可以唯一识别对应的应用服务。具体地,客户端上报的调用链数据中可以携带有该ID码,以便服务端识别出上报的调用链数据对应于哪个应用服务。同理,服务端在向客户端发送更新后的预设采样率时,也同样可以携带有该ID码,表示是对与该ID码对应的应用服务进行预设采样率的更新。
[0068] 请参考图3,图3为本申请所提供的一种预设采样率的更新方法的流程图。如图3所示,作为一种优选实施例,预设采样率具体由服务端按照以下步骤定期进行更新:
[0069] S31:根据历史上报记录获取最近一个预设周期内调用链数据的上报数据量的记录值。
[0070] S32:根据记录值确定下个预设周期内调用链数据的上报数据量的预测值。
[0071] S33:判断预测值是否高于第一预设阈值;若是,则进入S34;若否,则进入S35。
[0072] S34:减小预设采样率。
[0073] S35:判断上报数据量是否低于第二预设阈值,第一预设阈值高于第二预设阈值;若是,则进入S36。
[0074] S36:增大预设采样率。
[0075] 具体地,服务端在定期对预设采样率的数值进行更新时,首先可以根据最近一个预设周期内调用链数据的上报情况预测出下个预设周期内调用链数据的上报情况。所说的预设周期,本领域技术人员可以自行选择并设定,例如可选为10分钟或者半小时等,本申请对此并不进行限定。
[0076] 在得到了下个预设周期内调用链数据的上报数据量的预测值之后,便可以根据该预测值大小来确定预设采样率的更新值。若该预测值过大,例如大于第一预设阈值,则可以减小预设采样率;若该预测值过小,例如小于第二预设阈值,则可以增大预设采样率;若该预测值介于第一预设阈值和第二预设阈值之间,则可以保持预设采样率原本的数值。当然,至于预设采样率具体的减小量或者增大量,本领域技术人员可以根据实际应用情况自行选择并设置,本申请对此并不进行限定。
[0077] 作为一种优选实施例,根据记录值确定下个预设周期内调用链数据的上报数据量的预测值包括:
[0078] 采用以下任意一种时间序列预测法,根据记录值确定下个预设周期内调用链数据的上报数据量的预测值:
[0079] 简单序时平均数法、加权序时平均数法、加权移动平均法、指数平滑法、季节性趋势预测法。
[0080] 具体地,在对下个预设周期内调用链数据的上报情况进行预测时,具体可采用多种时间序列预测法。其中,简单序时平均数法也称算术平均法,即把若干历史时期的统计数值作为观察值,求出算术平均数作为下期预测值,适用于事物变化不大的趋势预测。
[0081] 加权序时平均数法就是把各个时期的历史数据按近期和远期影响程度进行加权后求出平均值,作为下期预测值。
[0082] 加权移动平均法即将相继移动计算得到的若干时期的算术平均数进行加权计算。在确定权数时,近期观察值的权数应该大些,远期观察值的权数应该小些。
[0083] 指数平滑法即根据历史资料的上期实际数和预测值,用指数加权的办法进行预测。此法可以节省很多数据和处理数据的时间,减少数据的存储量,方法简便,是国外广泛使用的一种短期预测方法。
[0084] 季节趋势预测法即根据经济事物每年重复出现的周期性季节变动指数,预测其季节性变动趋势。
[0085] 作为一种优选实施例,预设采样率由服务端根据客户端的历史上报记录定期进行更新包括:
[0086] 服务端在每次接收到客户端上报的调用链数据后,根据客户端的历史上报记录对预设采样率进行更新。
[0087] 具体地,服务端对预设采样率的更新也可以在每次接收到客户端上报的调用链数据之后进行,即,服务端每接收到一次调用链数据,就进行一次预设采样率的更新,本领域技术人员可以自行选择设置。
[0088] 作为一种优选实施例,在存储上报的调用链数据之前,还包括:
[0089] 判断调用链数据的当前入库率是否超过预设入库率;
[0090] 若否,则执行存储上报的调用链数据的步骤;
[0091] 若是,则丢弃上报的调用链数据。
[0092] 具体地,服务端在将上报的调用链数据入库时,即存储调用链数据时,还可以再进行一番筛选,以进一步对调用链数据的存储量进行控制。具体地,可以为入库率设置一个阈值,即预设入库率,入库率即存储入库的调用链数据与上报的调用链数据的大小之比,若当前的入库率已经超过了预设入库率,则应当丢弃当前所接收到的调用链数据;若当前入库率没有超过预设入库率,则可以继续存储当前接收到的调用链数据。通过对调用链数据的存储进行审查,可有效避免大量高频的调用链数据的入库,进而可避免服务端的磁盘或者数据库被写满。
[0093] 作为一种优选实施例,还包括:
[0094] 根据历史上报记录定期对预设入库率进行更新,以便令调用链数据的入库数据量保持稳定。
[0095] 具体地,由于应用服务在不同的时间段被调用的频率可能大不相同,因此,同样可以对预设入库率也进行动态调整,以便满足用户在不同时间段内的应用需求。
[0096] 以上所介绍的任一种调用链数据的处理方法,均具体可用于服务端中如Zipkin等分布式跟踪系统中。
[0097] 请参阅图4,图4为本申请所提供的又一种调用链数据的处理方法的流程图,应用于客户端,包括以下步骤:
[0098] S41:定期查询服务端以获取更新后的预设采样率,预设采样率由服务端根据客户端的历史上报记录定期进行更新,以便令调用链数据的上报数据量保持稳定;
[0099] S42:将调用链数据按照预设采样率上报至服务端。
[0100] 可见,本实施例所提供的应用于客户端的调用链数据的处理方法,客户端上报调用链数据时所采用的预设采样率并非是一成不变的,而是随客户端生成的调用链数据量的多少而不断更新变化的。服务端通过分析客户端调用链数据的历史上报记录,对客户端即将会产生的调用链数据量进行预测,从而确定出能够保障客户端上报数据量稳定的预设采样率的更新值,以便客户端采用更新后的预设采样率向服务端上报调用链数据。本申请既避免了频繁上报对服务器的性能消耗,也避免了低频上报对重要数据的遗漏,因此可有效提高调用链数据的处理效率和上报质量。
[0101] 下面对本申请所提供的调用链数据的处理装置进行介绍。
[0102] 请参阅图5,图5为本申请所提供的一种调用链数据的处理装置的结构框图,应用于服务端,包括接收模块51、存储模块52和更新模块53;
[0103] 接收模块51用于接收客户端按照预设采样率上报的调用链数据;
[0104] 存储模块52用于存储上报的调用链数据;
[0105] 更新模块53用于根据客户端的历史上报记录对预设采样率进行更新,由客户端定期查询获取,以便令调用链数据的上报数据量保持稳定。可见,本申请所提供的调用链数据的处理装置,客户端上报调用链数据时所采用的预设采样率并非是一成不变的,而是随客户端生成的调用链数据量的多少而不断更新变化的。服务端通过分析客户端调用链数据的历史上报记录,对客户端即将会产生的调用链数据量进行预测,从而确定出能够保障客户端上报数据量稳定的预设采样率的更新值,以便客户端采用更新后的预设采样率向服务端上报调用链数据。本申请既避免了频繁上报对服务器的性能消耗,也避免了低频上报对重要数据的遗漏,因此可有效提高调用链数据的处理效率和上报质量。
[0106] 本申请所提供的调用链数据的处理装置,在上述实施例的基础上:
[0107] 作为一种优选实施例,更新模块53具体用于:
[0108] 根据客户端的历史上报记录,对客户端的各个应用服务的预设采样率分别进行更新,以便令各个应用服务的调用链数据的上报数据量分别保持稳定;
[0109] 其中,调用链数据中携带有对应的应用服务的ID码,ID码由服务端在与客户端首次连接时的握手操作中生成,并发送至客户端。
[0110] 作为一种优选实施例,更新模块53具体包括:
[0111] 获取单元,用于根据历史上报记录获取最近一个预设周期内调用链数据的上报数据量的记录值;
[0112] 预测单元,用于根据记录值确定下个预设周期内调用链数据的上报数据量的预测值;
[0113] 调节单元,用于判断预测值是否高于第一预设阈值;若是,则减小预设采样率;若否,则判断上报数据量是否低于第二预设阈值,第一预设阈值高于第二预设阈值;若是,则增大预设采样率。
[0114] 作为一种优选实施例,预测单元具体用于:
[0115] 采用以下任意一种时间序列预测法,根据记录值确定下个预设周期内调用链数据的上报数据量的预测值:
[0116] 简单序时平均数法、加权序时平均数法、加权移动平均法、指数平滑法、季节性趋势预测法。
[0117] 作为一种优选实施例,还包括:
[0118] 判断模块,用于在存储模块52存储上报的调用链数据之前,判断调用链数据的当前入库率是否超过预设入库率;若是,则丢弃上报的调用链数据;若否,则由存储模块52存储上报的调用链数据。
[0119] 作为一种优选实施例,更新模块53还用于:
[0120] 根据历史上报记录对预设入库率进行更新,以便令调用链数据的入库数据量保持稳定。
[0121] 请参阅图6,图6为本申请所提供的又一种调用链数据的处理装置的结构框图,应用于客户端,包括查询模块61和上报模块62;
[0122] 查询模块61用于定期查询服务端以获取更新后的预设采样率,预设采样率由服务端根据客户端的历史上报记录定期进行更新,以便令调用链数据的上报数据量保持稳定;
[0123] 上报模块62用于将调用链数据按照预设采样率上报至服务端。
[0124] 本申请还提供了一种调用链数据的处理设备,包括:
[0125] 存储器:用于存储计算机程序;
[0126] 处理器:用于执行所述计算机程序以实现如上所述的任一种调用链数据的处理方法的步骤。
[0127] 本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如上所述的任一种调用链数据的处理方法的步骤。
[0128] 本申请所提供的调用链数据的处理装置、设备及计算机可读存储介质的具体实施方式与上文所描述的调用链数据的处理方法可相互对应参照,这里就不再赘述。
[0129] 本申请中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0130] 还需说明的是,在本申请文件中,诸如“第一”和“第二”之类的关系术语,仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。此外,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0131] 以上对本申请所提供的技术方案进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。