数据采样方法及装置制造方法及图纸

技术编号:35299744 阅读:18 留言:0更新日期:2022-10-22 12:48
本申请涉及数据处理技术领域,提供一种数据采样方法及装置。所述方法包括:获取任一服务调度请求生成的调用链路的链路标识;根据所述链路标识,对数据队列存储的各跨度数据根据存储时长进行提取,获取与所述链路标识对应的当前跨度数据;确定所述当前跨度数据满足预设条件,对所述调用链路进行指标数据采样。本申请实施例提供的数据采样方法能够精确地对重要链路的指标数据进行采样,节省存储开销,提高数据查询效率。高数据查询效率。高数据查询效率。

【技术实现步骤摘要】
数据采样方法及装置


[0001]本申请涉及数据处理
,具体涉及一种数据采样方法及装置。

技术介绍

[0002]APM(Application Performance Monitoring)即应用性能监控工具,是一个用于分析与展示系统内部执行过程,系统间服务调用的瓶颈的系统。在目前使用的APM体系中,通常使用头采样的方式在客户端进行指标数据的采样,然后发送给APM服务器进行数据清洗后入库,并进行指标数据展示。
[0003]使用头采样的方式进行服务调用过程的指标数据采样,为了保留用户需要的重要链路中的数据,需要将采样率设置为100%,从而对数据进行全量采样。然而,当数据并发量大的情况下,APM服务器可能处理不了全量采样的指标数据,此时APM服务器会对部分数据进行丢弃,而被丢弃的部分数据可能为重要数据。此外,而重要链路中的指标数据仅占总数据量的千万分之一,全量采集会导致存储成本成倍上涨,同时查询速度变慢,信噪比无限大。

技术实现思路

[0004]本申请旨在至少解决相关技术中存在的技术问题之一。为此,本申请提出一种数据采样方法,能够精确地对重要链路的指标数据进行采样,节省存储开销,提高数据查询效率。
[0005]本申请还提出一种数据采样装置。
[0006]本申请还提出一种电子设备。
[0007]本申请还提出一种计算机可读存储介质。
[0008]根据本申请第一方面实施例的数据采样方法,包括:
[0009]获取任一服务调度请求生成的调用链路的链路标识;
>[0010]根据所述链路标识,对数据队列存储的各跨度数据根据存储时长进行提取,获取与所述链路标识对应的当前跨度数据;
[0011]确定所述当前跨度数据满足预设条件,对所述调用链路进行指标数据采样;
[0012]其中,所述数据队列用于采集并存储服务被所述服务调度请求调用时生成的所述跨度数据。
[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]图1是本申请实施例提供的数据采样方法的流程示意图;
[0本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据采样方法,其特征在于,包括:获取任一服务调度请求生成的调用链路的链路标识;根据所述链路标识,对数据队列存储的各跨度数据根据存储时长进行提取,获取与所述链路标识对应的当前跨度数据;确定所述当前跨度数据满足预设条件,对所述调用链路进行指标数据采样;其中,所述数据队列用于采集并存储服务被所述服务调度请求调用时生成的所述跨度数据。2.根据权利要求1所述的数据采样方法,其特征在于,所述对数据队列存储的各跨度数据根据存储时长进行提取,获取与所述链路标识对应的当前跨度数据,包括:根据所述链路标识,确定所述数据队列存储的各跨度数据中,与所述链路标识对应的至少一个目标跨度数据;从至少一个所述目标跨度数据中,将所述存储时长最短的目标跨度数据标记为当前跨度数据并获取。3.根据权利要求1或2所述的数据采样方法,其特征在于,确定所述当前跨度数据满足预设条件,对所述调用链路进行指标数据采样,包括:确定所述当前跨度数据中包括预设请求头标识,对所述调用链路进行指标数据采样。4.根据权利要求1或2所述的数据采样方法,其特征在于,确定所述当前跨度数据满足预设条件,对所述调用链路进行指标数据采样,包括:根据所述当前跨度数据的起始时间和结束时间,确定所述当前跨度数据对应的服务调用耗时;确定所述服务调用耗时大于预设时长,对所述调用链路进行指标数据采样。5.根据权利要求1或2所述的数据采样方法,其特征...

【专利技术属性】
技术研发人员:庄建超李沛奎
申请(专利权)人:广东三维家信息科技有限公司
类型:发明
国别省市:

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

1