CN115391286A - 一种链路追踪数据管理方法、装置、设备及存储介质 - Google Patents
一种链路追踪数据管理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115391286A CN115391286A CN202210888507.XA CN202210888507A CN115391286A CN 115391286 A CN115391286 A CN 115391286A CN 202210888507 A CN202210888507 A CN 202210888507A CN 115391286 A CN115391286 A CN 115391286A
- Authority
- CN
- China
- Prior art keywords
- data
- link
- tracking
- link tracking
- trace
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种链路追踪数据管理方法、装置、设备及存储介质。本申请实施例提供的技术方案通过获取链路追踪数据,并根据链路追踪数据对应的追踪标识对链路追踪数据进行聚合处理,得到多个链路追踪包数据,从每个链路追踪包数据中获取元数据信息,以及对链路追踪包数据进行压缩得到压缩链路追踪数据,并将压缩链路追踪数据保存至链路追踪数据库,以及将元数据信息保存至元数据索引库,通过对链路追踪数据的预聚合再存储,大幅度降低对数据库的存储压力和计算压力,降低支撑分布式链路追踪系统的运维成本。
Description
技术领域
本申请实施例涉及数据存储技术领域,尤其涉及一种链路追踪数据管理方法、装置、设备及存储介质。
背景技术
目前大型互联网在线服务主要通过大规模分布式服务器集群来支撑海量用户的并发访问,为了有效利用大规模分布式服务器集群的机器资源、降低服务升级和维护成本,微服务、去中心化架构在分布式服务器领域的得到广泛应用,用户的一次请求通常会被路由到多个微服务的多个分片上进行处理。随着业务复杂度和系统规模的增长,这种分布式的请求处理链路可能会变得非常复杂,整个系统的数据流转过程变得难以理解,难以有针对性的系统性能和稳定性优化,目前一般是通过分布式链路追踪系统进行解决。
分布式链路追踪系统是在一次用户请求开始时生成一个追踪标识作为唯一的链路追踪标识。请求每路由到一个微服务节点上处理时将会根据埋点生成应用所关注的链路追踪数据。微服务节点间通过远程调用进行通信时会携带包含追踪标识在内的上下文信息,这样一条分布式的请求处理链路会在多个不同的微服务上产生多个同属于一个追踪标识的链路追踪数据,通过收集和处理同一个追踪标识的多个链路追踪数据,分布式链路追踪系统可以做到对分布式请求处理进行调用链路可视化、在线和离线链路分析。
但是随着应用请求量的增长,整个集群生成的链路追踪数据量也会随之增大,海量的链路追踪数据会对数据库造成极大的存储和计算压力,使得支撑分布式链路追踪系统的运维成本急剧上升。
发明内容
本申请实施例提供一种链路追踪数据管理方法、装置、设备及存储介质,以解决相关技术中海量的链路追踪数据对数据库造成极大的存储和计算压力,使得支撑分布式链路追踪系统的运维成本急剧上升的技术问题,有效降低数据库的存储和计算压力,降低支撑分布式链路追踪系统的运维成本。
在第一方面,本申请实施例提供了一种链路追踪数据管理方法,包括:
获取链路追踪数据,不同的所述链路追踪数据对应不同的追踪标识;
根据所述追踪标识对所述链路追踪数据进行聚合处理得到多个链路追踪包数据;
从所述链路追踪包数据中获取元数据信息,并对所述链路追踪包数据进行压缩处理得到压缩链路追踪数据;
将所述压缩链路追踪数据保存至链路追踪数据库,并将所述元数据信息保存至元数据索引库。
在第二方面,本申请实施例提供了一种链路追踪数据管理装置,包括数据获取模块、数据聚合模块、数据处理模块和数据保存模块,其中:
所述数据获取模块,配置为获取链路追踪数据,不同的所述链路追踪数据对应不同的追踪标识;
所述数据聚合模块,配置为根据所述追踪标识对所述链路追踪数据进行聚合处理得到多个链路追踪包数据;
所述数据处理模块,配置为从所述链路追踪包数据中获取元数据信息,并对所述链路追踪包数据进行压缩处理得到压缩链路追踪数据;
所述数据保存模块,配置为将所述压缩链路追踪数据保存至链路追踪数据库,并将所述元数据信息保存至元数据索引库。
在第三方面,本申请实施例提供了一种链路追踪数据管理设备,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的链路追踪数据管理方法。
在第四方面,本申请实施例提供了一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的链路追踪数据管理方法。
在第五方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中,设备的至少一个处理器从计算机可读存储介质读取并执行计算机程序,使得设备执行如第一方面所述的链路追踪数据管理方法。
本申请实施例通过获取链路追踪数据,并根据链路追踪数据对应的追踪标识对链路追踪数据进行聚合处理,得到多个链路追踪包数据,从每个链路追踪包数据中获取元数据信息,以及对链路追踪包数据进行压缩得到压缩链路追踪数据,并将压缩链路追踪数据保存至链路追踪数据库,以及将元数据信息保存至元数据索引库,通过对链路追踪数据的预聚合再存储,大幅度降低对数据库的存储压力和计算压力,降低支撑分布式链路追踪系统的运维成本。
附图说明
图1是本申请实施例提供的一种链路追踪数据管理方法的流程图;
图2是本申请实施例提供的第二种链路追踪数据管理方法的流程图;
图3是本申请实施例提供的第三种链路追踪数据管理方法的流程图;
图4是本申请实施例提供的一种链路追踪数据管理装置的结构示意图;
图5是本申请实施例提供的一种链路追踪数据管理设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时上述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。上述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1给出了本申请实施例提供的一种链路追踪数据管理方法的流程图,本申请实施例提供的链路追踪数据管理方法可以由链路追踪数据管理装置来执行,该链路追踪数据管理装置可以通过硬件和/或软件的方式实现,并集成在链路追踪数据管理设备中。
下述以链路追踪数据管理装置执行链路追踪数据管理方法为例进行描述。参考图1,该链路追踪数据管理方法包括:
S101:获取链路追踪数据,不同的链路追踪数据对应不同的追踪标识。
本方案提供的链路追踪数据(span数据)可通过对分布式链路追踪系统中的各个微服务进程的链路追踪数据进行埋点监测获取。其中链路追踪数据一般包括追踪标识(traceID)、父节点表示(spanID)、当前节点信息等。
在相关技术中,分布式链路追踪系统的会在每一次用户请求开始时生成一个traceID作为唯一的对请求链路进行追踪的追踪标识。用户请求每路由到一个微服务节点上处理时将会根据埋点生成应用所关注的链路追踪数据。微服务节点间通过RPC(远程方法调用)进行通信时会携带包含追踪标识在内的上下文信息,这样一条分布式的用户请求处理链路会在多个不同的微服务上产生多个同属于一个追踪标识的链路追踪数据,通过收集和处理同一个追踪标识的多个链路追踪数据,分布式链路追踪系统可以做到对分布式请求处理进行调用链路可视化、在线和离线链路分析。
分布式链路追踪系统通常包括数据埋点、数据收集和上报、数据存储、数据分析和可视化几个部分。其中数据埋点模块通常是以SDK形式集成在各个微服务进程中,负责记录、植入应用所感兴趣的链路追踪数据,然后写入本地文件或者通过网络异步发往数据收集和上报模块。数据收集和上报模块可主动拉取和被动接收埋点模块生成的链路追踪数据,再通过网络将链路追踪数据转发给数据存储模块进行存储。数据存储模块通常是一套独立部署的中央数据仓库,负责存储所有链路追踪数据,其需要能够支撑高并发访问的数据读写和丰富的数据检索能力。其中数据分析和可视化模块可供开发人员使用的web系统进行访问,能够按照设定的查询条件检索和展示链路追踪数据。但是随着用户请求量的增长,整个集群生成的链路追踪数据量也会随之增大,链路追踪数据量往往是百倍于应用的QPS(服务器每秒处理请求数量),海量的链路追踪数据通过数据收集和上报模块转发给中央数据仓库会对其的造成很大的存储和计算压力,使得支撑数据仓库的运维成本急剧上升,导致运维成本超过分布式链路追踪系统本身所带来的收益。为了解决上述技术问题,本方案通过对来源分散的链路追踪数据进行预聚合再存储,可有效降低对数据库的存储压力和计算压力,降低支撑分布式链路追踪系统的运维成本,避免了高运维成本的中央数据仓库开销。同时,通过将压缩链路追踪数据和元数据信息分开的存储机制为数据存储架构的选型上带来了较大的灵活性,可以针对不同数据的寻出需求选择对应的数据库,进一步降低支撑分布式链路追踪系统的运维成本。
示例性的,获取各个来源分散的链路追踪数据,并将获取的链路追踪数据保存在本地。其中,不同的链路追踪数据对应不同的追踪标识。可以理解的是,由于同一个追踪链路trace上各个链路追踪数据产生和到达的时间不一致,同一个追踪链路trace上全部链路追踪数据时间跨度可能很长,并且同一个追踪链路trace上的链路追踪数据量也可能比较大(例如在一些消息扇出的场景下的一个追踪链路trace上的链路追踪数据量可能达到上万个)。本方案先获取链路追踪数据进行预处理后,再将预处理后得到的数据分发到对应的数据库进行保存,减少相关技术中直接向数据库发送链路追踪数据导致的数据混乱以及数据处理量过大的问题。
S102:根据追踪标识对链路追踪数据进行聚合处理得到多个链路追踪包数据。
示例性的,在获取链路追踪数据的同时,根据各个链路追踪数据对应的追踪标识,对获取到的链路追踪数据进行聚合处理,即属于同一个相同追踪标识的链路追踪数据聚合到本地内存中,得到多个批次的链路追踪包数据。可以理解的是,同一个批次的链路追踪包数据中的链路追踪数据属于同一个追踪标识。可选的,链路追踪包数据对应的数据量在设定数据量阈值之内。
在一个可能的实施例中,为了保证对链路追踪数据的聚合内存压力和链路追踪包数据存储写入压力之间的平衡,可对每个批次的链路追踪数据的聚合处理进行限制。基于此,本方案在根据追踪标识对链路追踪数据进行聚合处理得到多个链路追踪包数据时,可以是基于设定的数量阈值和/或时间阈值,根据追踪标识对链路追踪数据进行聚合处理得到多个链路追踪包数据。
示例性的,在获取来源分散的链路追踪数据时,根据设定的数量阈值和/或时间阈值对链路追踪数据进行聚合处理,即在一个追踪标识对应的链路追踪数据的聚合处理数据量和/或聚合时长达到数量阈值和/或时间阈值时,停止该批次的链路追踪数据的聚合处理,得到当前批次的链路追踪包数据,并继续基于数量阈值和/或时间阈值开始下一批次的链路追踪数据的聚合处理。本方案通过设置数量阈值和/或时间阈值对每个批次的链路追踪数据的聚合处理进行限制,有效实现链路追踪数据的聚合内存压力和链路追踪包数据存储写入压力之间的平衡。
S103:从链路追踪包数据中获取元数据信息,并对链路追踪包数据进行压缩处理得到压缩链路追踪数据。
示例性的,在得到一个批次的链路追踪包数据时,根据设定的元数据抽取策略从链路追踪包数据中获取感兴趣的元数据信息。其中元数据信息可以包括追踪标识、数据所属接口、请求开始时间、接口响应时长、响应状态、请求所属用户标识(UID)中的一种或多种的组合。
从链路追踪包数据中获取元数据信息后,进一步对链路追踪包数据进行压缩处理得到压缩链路追踪数据。可选的,可基于无损压缩算法对链路追踪包数据进行压缩处理。例如,可基于LZ4算法(一种无损数据压缩算法)对链路追踪包数据进行压缩处理,可有效降低压缩链路追踪数据存储所需的磁盘空间。并且由于同属于一个追踪标识的多个链路追踪数据存在较大的信息冗余,对这些链路追踪数据进行压缩可以取得较大的压缩比,在处理海量链路追踪数据的情况下,对链路追踪数据的压缩比可达到3,可有效节省70%左右的磁盘空间。另外,对链路追踪包数据进行压缩处理的压缩算法还可以是Zlib算法、Snappy算法、Zstandard算法等无损压缩算法。
S104:将压缩链路追踪数据保存至链路追踪数据库,并将元数据信息保存至元数据索引库。
示例性的,在从链路追踪包数据中获取元数据信息,并对链路追踪包数据进行压缩处理得到压缩链路追踪数据后,可将压缩链路追踪数据保存至预先设定的链路追踪数据库,以及将对应的元数据信息保存至预先设定元数据索引库中,将压缩链路追踪数据和对应的元数据信息分别保存在不同的数据库中。本方案分开保存压缩链路追踪数据和对应的元数据信息,相比于相关技术中的分布式追踪系统统一存储链路追踪数据的数据仓库,将链路追踪详细数据(压缩链路追踪数据)和元数据索引(元数据信息)分开的存储机制为数据存储架构(数据库)的选型上带来了极大的灵活性,可根据压缩链路追踪数据和对应的元数据信息的数据存储和检索需求,分别选用不同类型的数据库,从总体上降低了数据存储的运维成本,并满足对链路追踪数据的多维度检索需求。
在一个可能的实施例中,用户可根据对链路追踪数据的检索要求发出对应的包括目标元数据(可包括多个维度的目标元数据)的数据查询请求,链路追踪数据管理装置或元数据索引库根据数据查询请求携带的目标元数据,在或元数据索引库中检索对应的目标追踪标识,并基于目标追踪标识在链路追踪数据库中获取对应的压缩链路追踪数据,并将压缩链路追踪数据解压缩得到对应的链路追踪数据,可将解压缩得到的链路追踪数据提供给用户进行查看。
上述,通过获取链路追踪数据,并根据链路追踪数据对应的追踪标识对链路追踪数据进行聚合处理,得到多个链路追踪包数据,从每个链路追踪包数据中获取元数据信息,以及对链路追踪包数据进行压缩得到压缩链路追踪数据,并将压缩链路追踪数据保存至链路追踪数据库,以及将元数据信息保存至元数据索引库,通过对链路追踪数据的预聚合再存储,大幅度降低对数据库的存储压力和计算压力,降低支撑分布式链路追踪系统的运维成本。并且通过对链路追踪数据的预聚合再存储有效降低了对数据的存储及计算压力。
在上述实施例的基础上,图2给出了本申请实施例提供的第二种链路追踪数据管理方法的流程图,该链路追踪数据管理方法是对上述链路追踪数据管理方法的具体化。参考图2,该链路追踪数据管理方法包括:
S201:获取链路追踪数据,不同的链路追踪数据对应不同的追踪标识。
S202:根据追踪标识对链路追踪数据进行聚合处理得到多个链路追踪包数据。
S203:从链路追踪包数据中获取元数据信息,并对链路追踪包数据进行压缩处理得到压缩链路追踪数据。
S204:将压缩链路追踪数据保存至链路追踪数据库,由链路追踪数据库基于接收到的压缩链路追踪数据对应的追踪标识,将接收到的压缩链路追踪数据进行关联。
示例性的,向链路追踪数据库发送压缩链路追踪数据,从而将压缩链路追踪数据保存至链路追踪数据库。链路追踪数据库在接收到压缩链路追踪数据后,将根据压缩链路追踪数据对应的追踪标识,关联所有接收到的在相同追踪标识下的压缩链路追踪数据。
可以理解的是,链路追踪数据库存储压缩后的压缩链路追踪数据,由于同属于一个追踪标识的所有链路追踪数据在数据聚合和预处理中被聚合成若干批次的链路追踪包数据,链路追踪数据库需要将同属于一个追踪标识的多个批次的压缩链路追踪数据关联到一起,方便基于追踪标识快速查询并获取对应的压缩链路追踪数据。
在一个可能的实施例中,本方案提供的链路追踪数据库可基于键值对(key-value)存储机制进行搭建。例如,链路追踪数据库在接收到压缩链路追踪数据后,以压缩链路追踪数据对应的追踪标识为键(key),压缩链路追踪数据或压缩链路追踪数据对应的存储地址为值(value)进行保存,同时实现了同一追踪标识下的压缩链路追踪数据的关联。
在一个可能的实施例中,链路追踪数据库可以是基于Pika数据库(基于磁盘存储的KV存储数据库),其利用追踪标识作为key,压缩链路追踪数据作为value保存压缩链路追踪数据,从而有效利用成本相对较低的磁盘存储海量的链路追踪数据。在其他可行的实施例中,链路追踪数据库还可以是其他可替代KV存储库的数据库,例如HBase数据库、Canssandra数据库或者是基于LevelDB数据库、RocksDB数据库的实现KV存储的数据库。
S205:将元数据信息保存至元数据索引库,由元数据索引库基于元数据信息建立多个维度的元数据信息到追踪标识的倒排索引。
示例性的,向元数据索引库发送元数据信息,从而将元数据信息保存至元数据索引库。元数据索引库保存有各个元数据维度的元数据信息到追踪标识的倒排索引。元数据索引库在接收到元数据信息后,根据元数据信息中携带的信息建立多个维度的元数据信息到对应的追踪标识的倒排索引。可根据数据查询请求对应的目标元数据信息(可包括多个维度的目标元数据),基于倒排索引确定目标元数据信息对应的追踪标识,从而根据追踪标识在链路追踪数据库中确定对应的压缩链路追踪数据。
在一个可能的实施例中,本方案提供的元数据索引库可基于数据检索机制进行搭建。例如元数据索引库可以是ElasticSearch数据库(ElasticSearch数据库的分布式全文检索引擎可有效构建从元数据信息到追踪标识的倒排索引)。另外,元数据索引库还可以是TiDB数据库、ClickHouse数据库、MongoDB数据库等支持检索的存储库。
本方案通过将压缩链路追踪数据和元数据信息分开存储,提高了数据存储架构(链路追踪数据库和元数据索引库)选型的灵活性。对于海量数据存储的链路追踪数据(压缩链路追踪数据),可选择架构简单、成熟、运维成本低的KV存储数据库作为链路追踪数据库。而对于数据量小但是需要支持各种复杂检索查询功能的数据库作为元数据索引库。可应用功能丰富、但架构相比复杂的分布式全文检索引擎来支撑元数据索引库,从总体上降低了数据存储的运维成本。
同时,本方案将元数据信息的存储独立出来还可提高分布式链路追踪系统功能的可扩展性以及系统容灾能力。例如,可根据链路追踪数据对应的链路追踪数据库方便地重建整个元数据索引库,以满足链路追踪数据分析功能升级的需求。而当发生机器故障导致元数据索引库不可用时,只要链路追踪数据库能够正常提供服务,只影响链路追踪数据检索等部分功能,整个分布式链路追踪系统的核心部分依然能够正常工作。
上述,通过获取链路追踪数据,并根据链路追踪数据对应的追踪标识对链路追踪数据进行聚合处理,得到多个链路追踪包数据,从每个链路追踪包数据中获取元数据信息,以及对链路追踪包数据进行压缩得到压缩链路追踪数据,并将压缩链路追踪数据保存至链路追踪数据库,以及将元数据信息保存至元数据索引库,通过对链路追踪数据的预聚合再存储,大幅度降低对数据库的存储压力和计算压力,降低支撑分布式链路追踪系统的运维成本。同时,通过将压缩链路追踪数据和元数据信息分开存储,有效提高了数据存储架构选型的灵活性,有效降低数据存储的运维成本。
在上述实施例的基础上,图3给出了本申请实施例提供的第三种链路追踪数据管理方法的流程图,该链路追踪数据管理方法是对上述链路追踪数据管理方法的具体化。参考图3,该链路追踪数据管理方法包括:
S301:获取链路追踪数据,不同的链路追踪数据对应不同的追踪标识。
S302:根据追踪标识对链路追踪数据进行聚合处理得到多个链路追踪包数据。
S303:从链路追踪包数据中获取元数据信息,并对链路追踪包数据进行压缩处理得到压缩链路追踪数据。
S304:将压缩链路追踪数据保存至链路追踪数据库,并将元数据信息保存至元数据索引库。
S305:在接收到基于多个维度的目标元数据信息构建的数据查询请求时,基于倒排索引,根据目标元数据信息在元数据索引库中确定对应的目标追踪标识。
示例性的,用户在需要查看链路追踪数据时,可以及对链路追踪数据的查询条件确定多个维度的目标元数据信息,基于多个维度的目标元数据信息构建的数据查询请求,并向链路追踪数据管理装置或发送。链路追踪数据管理装置在接收到数据查询请求后,基于目前所建立的倒排索引,根据数据查询请求对应的目标元数据信息在元数据索引库中确定满足查询条件的目标追踪标识(追踪标识集合)。
S306:根据目标追踪标识,在链路追踪数据库中查找目标追踪标识对应的目标压缩链路追踪数据。
示例性的,在确定数据查询请求对应的目标追踪标识(追踪标识集合)后,根据目标追踪标识(追踪标识集合)在链路追踪数据库中批量查询与该目标追踪标识(追踪标识集合)对应的一个或多个追踪标识,并将查找到的追踪标识对应的压缩链路追踪数据确定为目标压缩链路追踪数据。
S307:对目标压缩链路追踪数据进行解压缩以及拆包处理,得到数据查询请求对应的目标链路追踪数据。
示例性的,从链路追踪数据库中获取目标压缩链路追踪数据,并对目标压缩链路追踪数据进行解压缩处理得到目标链路追踪包数据,并对目标链路追踪包数据进行拆包处理,得到数据查询请求对应的目标链路追踪数据,并将目标链路追踪数据返回给发出数据查询请求的用户进行下一步的处理。
上述,通过获取链路追踪数据,并根据链路追踪数据对应的追踪标识对链路追踪数据进行聚合处理,得到多个链路追踪包数据,从每个链路追踪包数据中获取元数据信息,以及对链路追踪包数据进行压缩得到压缩链路追踪数据,并将压缩链路追踪数据保存至链路追踪数据库,以及将元数据信息保存至元数据索引库,通过对链路追踪数据的预聚合再存储,大幅度降低对数据库的存储压力和计算压力,降低支撑分布式链路追踪系统的运维成本。同时,通过基于压缩链路追踪数据和元数据信息分开存储的存储机制,可根据对链路追踪数据的查询条件确定多个维度的目标元数据信息并生成对应的数据查询请求,可有效在元数据索引库中确定对应的目标追踪标识,并基于目标追踪标识在链路追踪数据库中准确查找出对应的目标链路追踪数据,在满足低成本海量数据的存储的同时,实现对海量链路追踪数据的多种复杂检索查询功能。
图4是本申请实施例提供的一种链路追踪数据管理装置的结构示意图。参考图4,该链路追踪数据管理装置包括数据获取模块41、数据聚合模块42、数据处理模块43和数据保存模块44。
其中,数据获取模块41,配置为获取链路追踪数据,不同的链路追踪数据对应不同的追踪标识;数据聚合模块42,配置为根据追踪标识对链路追踪数据进行聚合处理得到多个链路追踪包数据;数据处理模块43,配置为从链路追踪包数据中获取元数据信息,并对链路追踪包数据进行压缩处理得到压缩链路追踪数据;数据保存模块44,配置为将压缩链路追踪数据保存至链路追踪数据库,并将元数据信息保存至元数据索引库。
上述,通过获取链路追踪数据,并根据链路追踪数据对应的追踪标识对链路追踪数据进行聚合处理,得到多个链路追踪包数据,从每个链路追踪包数据中获取元数据信息,以及对链路追踪包数据进行压缩得到压缩链路追踪数据,并将压缩链路追踪数据保存至链路追踪数据库,以及将元数据信息保存至元数据索引库,通过对链路追踪数据的预聚合再存储,大幅度降低对数据库的存储压力和计算压力,降低支撑分布式链路追踪系统的运维成本。
在上述实施例的基础上,数据聚合模块42在根据追踪标识对链路追踪数据进行聚合处理得到多个链路追踪包数据时,配置为:基于设定的数量阈值和/或时间阈值,根据追踪标识对链路追踪数据进行聚合处理得到多个链路追踪包数据。
在上述实施例的基础上,元数据信息包括追踪标识、数据所属接口、请求开始时间、接口响应时长、响应状态、请求所属用户标识中的一种或多种的组合。
在上述实施例的基础上,数据保存模块44在将压缩链路追踪数据保存至链路追踪数据库时,配置为:
将压缩链路追踪数据保存至链路追踪数据库,由链路追踪数据库基于接收到的压缩链路追踪数据对应的追踪标识,将接收到的压缩链路追踪数据进行关联。
在上述实施例的基础上,数据保存模块44在将元数据信息保存至元数据索引库时,配置为:将元数据信息保存至元数据索引库,由元数据索引库基于元数据信息建立多个维度的元数据信息到追踪标识的倒排索引。
在上述实施例的基础上,链路追踪数据管理装置还包括数据检索模块,数据检索模块配置为:
在接收到基于多个维度的目标元数据信息构建的数据查询请求时,基于倒排索引,根据目标元数据信息在元数据索引库中确定对应的目标追踪标识;
根据目标追踪标识,在链路追踪数据库中查找目标追踪标识对应的目标压缩链路追踪数据;
对目标压缩链路追踪数据进行解压缩以及拆包处理,得到数据查询请求对应的目标链路追踪数据。
在上述实施例的基础上,链路追踪数据库基于键值对存储机制进行搭建,元数据索引库基于数据检索机制进行搭建。
值得注意的是,上述链路追踪数据管理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。
本申请实施例还提供了一种链路追踪数据管理设备,该链路追踪数据管理设备可集成本申请实施例提供的链路追踪数据管理装置。图5是本申请实施例提供的一种链路追踪数据管理设备的结构示意图。参考图5,该链路追踪数据管理设备包括:输入装置53、输出装置54、存储器52以及一个或多个处理器51;存储器52,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器51执行,使得一个或多个处理器51实现如上述实施例提供的链路追踪数据管理方法。上述提供的链路追踪数据管理装置、设备和计算机可用于执行上述任意实施例提供的链路追踪数据管理方法,具备相应的功能和有益效果。
本申请实施例还提供一种存储计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行如上述实施例提供的链路追踪数据管理方法。当然,本申请实施例所提供的一种存储计算机可执行指令的存储介质,其计算机可执行指令不限于如上提供的链路追踪数据管理方法,还可以执行本申请任意实施例所提供的链路追踪数据管理方法中的相关操作。上述实施例中提供的链路追踪数据管理装置、设备及存储介质可执行本申请任意实施例所提供的链路追踪数据管理方法,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的链路追踪数据管理方法。
在一些可能的实施方式中,本公开提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当上述程序产品在计算机设备上运行时,程序代码用于使上述计算机设备执行本说明书上述描述的根据本公开各种示例性实施方式的方法中的步骤,例如,计算机设备可以执行本公开实施例所记载的链路追踪数据管理方法。其中,程序产品可以采用一个或多个可读介质的任意组合。
Claims (11)
1.一种链路追踪数据管理方法,其特征在于,包括:
获取链路追踪数据,不同的所述链路追踪数据对应不同的追踪标识;
根据所述追踪标识对所述链路追踪数据进行聚合处理得到多个链路追踪包数据;
从所述链路追踪包数据中获取元数据信息,并对所述链路追踪包数据进行压缩处理得到压缩链路追踪数据;
将所述压缩链路追踪数据保存至链路追踪数据库,并将所述元数据信息保存至元数据索引库。
2.根据权利要求1所述的链路追踪数据管理方法,其特征在于,所述根据所述追踪标识对所述链路追踪数据进行聚合处理得到多个链路追踪包数据,包括:
基于设定的数量阈值和/或时间阈值,根据所述追踪标识对所述链路追踪数据进行聚合处理得到多个链路追踪包数据。
3.根据权利要求1所述的链路追踪数据管理方法,其特征在于,所述元数据信息包括追踪标识、数据所属接口、请求开始时间、接口响应时长、响应状态、请求所属用户标识中的一种或多种的组合。
4.根据权利要求1所述的链路追踪数据管理方法,其特征在于,所述将所述压缩链路追踪数据保存至链路追踪数据库,包括:
将所述压缩链路追踪数据保存至链路追踪数据库,由所述链路追踪数据库基于接收到的所述压缩链路追踪数据对应的追踪标识,将接收到的所述压缩链路追踪数据进行关联。
5.根据权利要求1所述的链路追踪数据管理方法,其特征在于,所述将所述元数据信息保存至元数据索引库,包括:
将所述元数据信息保存至元数据索引库,由所述元数据索引库基于所述元数据信息建立多个维度的元数据信息到追踪标识的倒排索引。
6.根据权利要求5所述的链路追踪数据管理方法,其特征在于,所述链路追踪数据管理方法还包括:
在接收到基于多个维度的目标元数据信息构建的数据查询请求时,基于所述倒排索引,根据所述目标元数据信息在所述元数据索引库中确定对应的目标追踪标识;
根据所述目标追踪标识,在所述链路追踪数据库中查找所述目标追踪标识对应的目标压缩链路追踪数据;
对所述目标压缩链路追踪数据进行解压缩以及拆包处理,得到所述数据查询请求对应的目标链路追踪数据。
7.根据权利要求1所述的链路追踪数据管理方法,其特征在于,所述链路追踪数据库基于键值对存储机制进行搭建,所述元数据索引库基于数据检索机制进行搭建。
8.一种链路追踪数据管理装置,其特征在于,包括数据获取模块、数据聚合模块、数据处理模块和数据保存模块,其中:
所述数据获取模块,配置为获取链路追踪数据,不同的所述链路追踪数据对应不同的追踪标识;
所述数据聚合模块,配置为根据所述追踪标识对所述链路追踪数据进行聚合处理得到多个链路追踪包数据;
所述数据处理模块,配置为从所述链路追踪包数据中获取元数据信息,并对所述链路追踪包数据进行压缩处理得到压缩链路追踪数据;
所述数据保存模块,配置为将所述压缩链路追踪数据保存至链路追踪数据库,并将所述元数据信息保存至元数据索引库。
9.一种链路追踪数据管理设备,其特征在于,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一项所述的链路追踪数据管理方法。
10.一种存储计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7任一项所述的链路追踪数据管理方法。
11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的链路追踪数据管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210888507.XA CN115391286A (zh) | 2022-07-26 | 2022-07-26 | 一种链路追踪数据管理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210888507.XA CN115391286A (zh) | 2022-07-26 | 2022-07-26 | 一种链路追踪数据管理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115391286A true CN115391286A (zh) | 2022-11-25 |
Family
ID=84116832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210888507.XA Pending CN115391286A (zh) | 2022-07-26 | 2022-07-26 | 一种链路追踪数据管理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115391286A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115617859A (zh) * | 2022-12-16 | 2023-01-17 | 安徽华云安科技有限公司 | 基于知识图谱集群的数据查询方法和装置 |
-
2022
- 2022-07-26 CN CN202210888507.XA patent/CN115391286A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115617859A (zh) * | 2022-12-16 | 2023-01-17 | 安徽华云安科技有限公司 | 基于知识图谱集群的数据查询方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108255712B (zh) | 数据系统的测试系统和测试方法 | |
CN111177178B (zh) | 一种数据处理方法及相关设备 | |
CN110262807B (zh) | 集群创建进度日志采集系统、方法和装置 | |
CN111309550A (zh) | 应用程序的数据采集方法、系统、设备和存储介质 | |
CN108073696B (zh) | 基于分布式内存数据库的gis应用方法 | |
CN104239377A (zh) | 跨平台的数据检索方法及装置 | |
US20230024345A1 (en) | Data processing method and apparatus, device, and readable storage medium | |
CN105512283A (zh) | 数据质量管理控制方法及装置 | |
EP3937022A1 (en) | Method and apparatus of monitoring interface performance of distributed application, device and storage medium | |
CN108509453B (zh) | 一种信息处理方法及装置 | |
CN112988741A (zh) | 实时业务数据合并方法、装置及电子设备 | |
CN111221851A (zh) | 一种基于Lucene的海量数据查询、存储的方法和装置 | |
CN110109906B (zh) | 数据存储系统及方法 | |
CN112231351A (zh) | 一种pb级海量数据的实时查询方法和装置 | |
CN115391286A (zh) | 一种链路追踪数据管理方法、装置、设备及存储介质 | |
CN115329011A (zh) | 数据模型的构建方法、数据查询的方法、装置及存储介质 | |
CN111414355A (zh) | 一种海上风电场数据监测存储系统及方法、装置 | |
CN115168474B (zh) | 一种基于大数据模型的物联中台系统搭建方法 | |
CN112579552A (zh) | 日志存储及调用方法、装置及系统 | |
CN115292313A (zh) | 一种伪列实现方法、装置、电子设备及存储介质 | |
US20210141791A1 (en) | Method and system for generating a hybrid data model | |
CN113568892A (zh) | 一种基于内存计算对数据源进行数据查询的方法和设备 | |
CN111078975B (zh) | 一种多节点增量式数据采集系统及采集方法 | |
Hashem et al. | Pre-processing and modeling tools for bigdata | |
CN113515494B (zh) | 基于分布式文件系统的数据库处理方法和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |