CN117056380B - 一种调用链数据的处理方法、装置及存储介质 - Google Patents
一种调用链数据的处理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN117056380B CN117056380B CN202311312631.2A CN202311312631A CN117056380B CN 117056380 B CN117056380 B CN 117056380B CN 202311312631 A CN202311312631 A CN 202311312631A CN 117056380 B CN117056380 B CN 117056380B
- Authority
- CN
- China
- Prior art keywords
- acquisition
- configuration
- service
- business
- information
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title abstract description 10
- 239000000523 sample Substances 0.000 claims abstract description 99
- 238000012545 processing Methods 0.000 claims abstract description 42
- 238000000034 method Methods 0.000 claims abstract description 36
- 238000004458 analytical method Methods 0.000 claims abstract description 23
- 230000015654 memory Effects 0.000 claims description 29
- 230000000007 visual effect Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 11
- 230000006854 communication Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000012800 visualization Methods 0.000 description 4
- 238000007405 data analysis Methods 0.000 description 3
- 238000013479 data entry Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 235000014510 cooky Nutrition 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提出了一种调用链数据的处理方法、装置及存储介质,该方法包括:创建服务配置信息,服务配置信息包括需要进行参数采集打标的任一业务服务的采集配置;根据服务配置信息,对部署在业务应用侧的采集探针进行热加载,控制采集探针按照任一业务服务的采集配置采集调用链数据;拦截各个后台服务之间与请求相关的多个报文信息,将多个报文信息中与任一业务服务的采集配置匹配的报文信息,写入调用链数据中;获取用户的业务需求,业务需求包括指定业务服务的查询信息;根据查询信息,对与指定业务服务相关的调用链数据进行查询或分析处理,获得处理结果。本申请可以进行精准和客观的应用性能数据查询及分析。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种调用链数据的处理方法、装置及存储介质。
背景技术
目前,应用性能监控(Application Performance Management,APM)系统,主要是通过采集业务服务的调用链数据进行查询和聚合分析,从而实现对业务后台服务的运行状态进行观测和监控,及时或提前发现业务系统中可能存在的问题和隐患,进而对其进行规避处理,尽量避免业务系统异常时带来的业务损失。
然而,由于调用链数据仅存在与请求相关的信息,仅凭借调用链数据比较难将调用链数据与业务信息进行关联,从而无法进行精准和客观的应用性能数据查询及分析。
发明内容
本申请实施例提供一种调用链数据的处理方法、装置及存储介质,以解决相关技术存在的问题,技术方案如下:
第一方面,本申请实施例提供了一种调用链数据的处理方法,包括:
创建服务配置信息,所述服务配置信息包括需要进行参数采集打标的任一业务服务的采集配置;
根据所述服务配置信息,对部署在业务应用侧的采集探针进行热加载,控制所述采集探针按照任一所述业务服务的采集配置采集调用链数据;
拦截各个后台服务之间与请求相关的多个报文信息,将多个所述报文信息中与任一所述业务服务的采集配置匹配的报文信息,写入所述调用链数据中;
获取用户的业务需求,所述业务需求包括指定业务服务的查询信息;
根据所述查询信息,对与所述指定业务服务相关的调用链数据进行查询或分析处理,获得处理结果。
在一种实施方式中,创建服务配置信息包括:
响应于可视化页面上针对任一所述业务服务的各个配置项进行的参数配置操作,获得任一所述业务服务的配置参数;
根据任一所述业务服务的配置参数,创建得到所述服务配置信息。
在一种实施方式中,根据任一所述业务服务的配置参数,创建得到所述服务配置信息包括:
通过后台服务端对任一所述业务服务的配置参数进行格式化处理,获得格式化后的配置参数;
将所述格式化后的配置参数写入到缓存的特定key中,并与所述缓存约定不同业务服务的key值,完成所述服务配置信息的创建。
在一种实施方式中,所述后台服务端为Kapm saas服务端,所述缓存为Redis缓存。
在一种实施方式中,根据所述服务配置信息,对部署在业务应用侧的采集探针进行热加载,控制所述采集探针按照任一所述业务服务的采集配置采集调用链数据包括:
根据所述服务配置信息,将任一所述业务服务映射到对应的服务实例上,再将所述服务实例下发到所述采集探针上;
通过配置上报接口获取到任一所述业务服务的采集配置,将任一所述业务服务的采集配置下发到所述采集探针上;
通过Watcher监听器监听到任一所述业务服务的采集配置下发后,对所述采集探针进行热加载,控制所述采集探针按照任一所述业务服务的采集配置采集调用链数据。
在一种实施方式中,所述方法还包括:
通过所述配置上报接口接收到所述采集探针的心跳数据时,对所述采集探针上报的采集配置进行hash后,获得所述采集探针上报的采集配置的第一SN值;
获取所述缓存中存储的采集配置中的第二SN值;
将所述第一SN值与所述第二SN值进行比对,以判断所述缓存中存储的采集配置是否发生变化;
若确定所述缓存中存储的采集配置发生变化,将所述第一SN值返回给所述后台服务端;
通过所述后台服务端根据所述第一SN值,更新所述缓存中存储的采集配置。
在一种实施方式中,所述方法还包括:
当不需要对单个所述业务服务进行业务数据采集时,在可视化页面上对单个所述业务服务的采集配置进行关闭,并向正在运行的采集探针发送清空指令,控制所述采集探针将单个所述业务服务的采集配置清空,以使所述采集探针停止采集与单个所述业务服务相关的调用链数据;
当不需要对任一所述业务服务进行业务数据采集时,在所述可视化页面上对任一所述业务服务的采集配置进行批量关闭,并向正在运行的采集探针发送清空指令,控制所述采集探针将任一所述业务服务的采集配置清空,以使所述采集探针停止采集与任一所述业务服务相关的调用链数据。
第二方面,本申请实施例还提供了一种调用链数据的处理装置,包括:
创建单元,用于创建服务配置信息,所述服务配置信息包括需要进行参数采集打标的任一业务服务的采集配置;
处理单元,用于根据所述服务配置信息,对部署在业务应用侧的采集探针进行热加载,控制所述采集探针按照任一所述业务服务的采集配置采集调用链数据;拦截各个后台服务之间与请求相关的多个报文信息,将多个所述报文信息中与任一所述业务服务的采集配置匹配的报文信息,写入所述调用链数据中;获取用户的业务需求,所述业务需求包括指定业务服务的查询信息;根据所述查询信息,对与所述指定业务服务相关的调用链数据进行查询或分析处理,获得处理结果。
在一种实施方式中,所述创建单元具体用于:
响应于可视化页面上针对任一所述业务服务的各个配置项进行的参数配置操作,获得任一所述业务服务的配置参数;
根据任一所述业务服务的配置参数,创建得到所述服务配置信息。
在一种实施方式中,所述创建单元具体用于:
通过后台服务端对任一所述业务服务的配置参数进行格式化处理,获得格式化后的配置参数;
将所述格式化后的配置参数写入到缓存的特定key中,并与所述缓存约定不同业务服务的key值,完成所述服务配置信息的创建。
在一种实施方式中,所述后台服务端为Kapm saas服务端,所述缓存为Redis缓存。
在一种实施方式中,所述处理单元具体用于:
根据所述服务配置信息,将任一所述业务服务映射到对应的服务实例上,再将所述服务实例下发到所述采集探针上;
通过配置上报接口获取到任一所述业务服务的采集配置,将任一所述业务服务的采集配置下发到所述采集探针上;
通过Watcher监听器监听到任一所述业务服务的采集配置下发后,对所述采集探针进行热加载,控制所述采集探针按照任一所述业务服务的采集配置采集调用链数据。
在一种实施方式中,所述处理单元还用于:
通过所述配置上报接口接收到所述采集探针的心跳数据时,对所述采集探针上报的采集配置进行hash后,获得所述采集探针上报的采集配置的第一SN值;
获取所述缓存中存储的采集配置中的第二SN值;
将所述第一SN值与所述第二SN值进行比对,以判断所述缓存中存储的采集配置是否发生变化;
若确定所述缓存中存储的采集配置发生变化,将所述第一SN值返回给所述后台服务端;
通过所述后台服务端根据所述第一SN值,更新所述缓存中存储的采集配置。
在一种实施方式中,所述处理单元还用于:
当不需要对单个所述业务服务进行业务数据采集时,在可视化页面上对单个所述业务服务的采集配置进行关闭,并向正在运行的采集探针发送清空指令,控制所述采集探针将单个所述业务服务的采集配置清空,以使所述采集探针停止采集与单个所述业务服务相关的调用链数据;
当不需要对任一所述业务服务进行业务数据采集时,在所述可视化页面上对任一所述业务服务的采集配置进行批量关闭,并向正在运行的采集探针发送清空指令,控制所述采集探针将任一所述业务服务的采集配置清空,以使所述采集探针停止采集与任一所述业务服务相关的调用链数据。
第三方面,本申请实施例还提供了一种计算机装置,该计算机装置包括:存储器和处理器。该存储器中存储指令,该指令由处理器加载并执行,以实现上述各方面任一种实施方式中的方法。其中,该存储器和该处理器通过内部连接通路互相通信。
第四方面,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被计算机执行时,实现上述各方面任一种实施方式中的方法。
上述技术方案中的优点或有益效果至少包括:
本申请通过创建服务配置信息,服务配置信息包括需要进行参数采集打标的任一业务服务的采集配置;根据服务配置信息,对部署在业务应用侧的采集探针进行热加载,控制采集探针按照任一业务服务的采集配置采集调用链数据;拦截各个后台服务之间与请求相关的多个报文信息,将多个报文信息中与任一业务服务的采集配置匹配的报文信息,写入调用链数据中;获取用户的业务需求,业务需求包括指定业务服务的查询信息;根据查询信息,对与指定业务服务相关的调用链数据进行查询或分析处理,获得处理结果,从而可以更方便用户进行精准和客观的应用性能数据查询及分析,将分析过程与实际业务挂钩,增加业务属性价值,支持特定业务属性数据查询,将具备特定业务属性调用链数据合并进行查询,实现对单个业务场景下调用链数据分析。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本申请进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请公开的一些实施方式,而不应将其视为是对本申请范围的限制。
图1为相关技术中的一种OT协议调用链数据的示意图;
图2为本申请实施例提供的一种调用链数据的处理方法的流程示意图;
图3为本申请实施例提供的一种编辑业务服务的各个配置项的编辑窗口的示意图;
图4为本申请实施例提供的一种采集配置对应的代码的示意图;
图5为图4中的字段说明示意图;
图6为本申请实施例提供的一种可视化页面的示意图;
图7为本申请实施例提供的一种调用链数据的示意图;
图8为本申请实施例提供的一种调用链检索页面的示意图;
图9为本申请实施例提供的一种调用链检索结果的示意图;
图10为本申请实施例提供的一种调用链数据的请求详情的示意图;
图11为本申请实施例提供的另一种可视化页面的示意图;
图12为本申请实施例提供的一种业务信息的示意图;
图13为本申请实施例提供的一种数据入口服务与后台服务端、缓存、采集探针之间的通讯过程的示意图;
图14为本申请实施例提供的一种调用链数据的处理装置的结构框图;
图15为本申请实施例提供的一种计算机装置的结构框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
相关技术中,OT协议调用链数据仅存在各个业务后台服务之间请求的相关信息,如图1所示,其更多的是用于实现服务层运行态的观测,不包含实际业务信息,例如交易号、流水号等。
在上述情况下,无法实现对某个用户或者某个业务场景下的调用链数据进行统一查询分析。这是因为,调用链数据中不存在特定信息(如用户信息和特定业务场景信息等),或者,需要对业务进行停机,调整完服务配置再重新启动服务后,才能对特定信息进行采集。当不需要这些特定信息或业务信息所处位置(cookie、header、query_param)发生变化时,无法及时地调整采集配置,对关键业务信息进行获取,从而无法进行精准和客观的应用性能数据查询及分析。
为解决上述问题,本专利申请了一种调用链数据的处理方案,以实现精准和客观的应用性能数据查询及分析。
下面将结合附图详细介绍本申请实施例提供的技术方案。
图2示出根据本申请一实施例的调用链数据的处理方法的流程图。如图2所示,该方法可以包括如下步骤:
S110、创建服务配置信息,服务配置信息包括需要进行参数采集打标的任一业务服务的采集配置。
在一种实施方式中,对于APM系统中需要进行参数采集打标的业务服务,可以对其应用配置进行调整,创建对应的服务配置信息。
示例性的,如图3所示,以某个业务服务为例,其采集配置可以包括标签名称(如Alex测试)、请求类型(如HTTP)、提取范围(如Request Header)、提取参数(如Accept)、作用范围(如服务)等。
作为一种示例,图3所示的采集配置对应的代码可以如图4所示。图4所涉及的字段说明,可以参考图5所示。
在一种实施方式中,可以响应于可视化页面上针对任一业务服务的各个配置项进行的参数配置操作,获得任一业务服务的配置参数;再根据任一业务服务的配置参数,创建得到服务配置信息。其中,任一业务服务可以为分布式系统中的业务服务。
比如,该可视化页面可以由APM系统的产品控制端提供的。在该可视化页面上,用户可以针对任一业务服务的各个配置项进行参数配置,即可在产品控制端上进行配置参数设置。例如,如图6所示,可以触发“新增”按钮,弹出用于新增某个业务服务的各个配置项的编辑窗口(类似于图3所示的窗口),可在该窗口上对各个配置项进行自定义参数配置,以获得该业务服务的配置参数。或者,也可以通过触发某个业务服务的显示区域,弹出该用于编辑该业务服务的各个配置项的编辑窗口(如图3所示),以调整该业务服务的配置参数。通过响应这些参数配置操作,可以针对APM系统的监控对象(即上述任一业务服务)进行业务相关语义数据采集,获得该配置参数。
在本申请中,通过在可视化页面上创建服务配置信息,可以便于用户根据实际需求增加或调整要进行参数采集打标的业务服务及其配置参数,也可以支持批量的对指定范围内的服务/接口进行动态配置下发,方便用户精准并批量化的对指定范围服务/接口进行业务数据采集。
在一种实施方式中,可以根据任一业务服务的配置参数,创建得到服务配置信息。比如,可以通过后台服务端对任一业务服务的配置参数进行格式化处理,获得格式化后的配置参数,从而可以将任一业务服务的配置参数组装为特定数据结构的数据,便于后续流程传递使用;再将格式化后的配置参数写入到缓存的特定key中,并与缓存约定不同业务服务的key值,完成服务配置信息的创建,以便于验证配置参数的一致性。
作为一种示例,上述后台服务端可以为Kapm saas服务端(一种APM系统的 saas服务端,用于提供相关业务产品的业务服务),上述缓存可以为Redis缓存(一种缓存中间件,可用于临时存放采集配置)。
S120、根据服务配置信息,对部署在业务应用侧的采集探针进行热加载,控制采集探针按照任一业务服务的采集配置采集调用链数据。
在一种实施方式中,可以根据服务配置信息,将任一业务服务映射到对应的服务实例(也可称为探针实例)上,再将服务实例下发到采集探针上。在业务系统运行的过程中,可以通过配置上报接口获取到任一业务服务的采集配置,如从缓存中获取任一业务服务的采集配置,再将任一业务服务的采集配置下发到采集探针上。通过Watcher监听器监听到任一业务服务的采集配置下发后,可以对采集探针进行热加载,控制采集探针按照任一业务服务的采集配置采集调用链数据,从而实现了在不需要对当前运行中的业务系统进行停机重启的情况下,进行业务数据的采集,更方便用户控制业务数据采集的状态。
作为一种实例,Watcher监听器可以为includeHttpHeaderWatcher监听器(探针代码中用来监听请求头采集配置的监控器)。采集探针可以为Agent,其部署在业务应用侧,用于进行调用链数据的采集。
在一种实施方式中,在执行步骤S120之前,还可以检测采集探针上报的采集配置与缓存中存储的采集配置是否一致。比如,通过配置上报接口接收到采集探针的心跳数据时,对采集探针上报的采集配置进行hash后,获得采集探针上报的采集配置的第一SN值;获取缓存中存储的采集配置中的第二SN值;将第一SN值与第二SN值进行比对,以判断缓存中存储的采集配置是否发生变化,比如,若第一SN值与第二SN值不相同,则确定缓存中存储的采集配置发生了变化;若确定缓存中存储的采集配置发生变化,将第一SN值返回给后台服务端;通过后台服务端根据第一SN值,更新缓存中存储的采集配置,比如,将缓存中缓存的采集配置更新为采集探针上报的采集配置。
其中,SN是指序列号(Sequence Number)。
在本申请中,通过检测采集探针上报的采集配置与缓存中存储的采集配置是否一致,以更新缓存中存储的采集配置,可以实现将采集配置进行动态下发,从而可以实现在业务系统运行过程中对采集业务数据的规则进行调整,可以提升应用观测监控的便利性,更加能及时地应对多变的监控场景。
S130、拦截各个后台服务之间与请求相关的多个报文信息,将多个述报文信息中与任一业务服务的配置参数匹配的报文信息,写入调用链数据中。
在一种实施方式中,可以在采集探针采集调用链数据的过程中,拦截各个后台服务之间与请求相关的多个报文信息(比如header、cookie、query_param等),将多个报文信息中与任一业务服务的配置参数(如包括header中的用户ID信息)匹配的报文信息,写入到调用链数据中,比如,header报文信息中的用户ID信息与配置参数中的用户ID信息匹配,则将该用户ID信息写入到调用链数据的attributes字段中,以将采集配置丰富至调用链数据中。
示例性的,将图3所示的采集配置丰富至调用链数据后,调用链数据可以如图7所示。
在本申请中,通过将各个后台服务之间与请求相关的多个报文信息中,与任一业务服务的配置参数匹配的报文信息,写入调用链数据中,从而可以基于原生调用链数据,通过调用链业务语义标注后,将相关业务属性字段信息写入调用链数据中,即将业务属性数据埋入调用链数据中,通过丰富后的调用链数据,更方便用户进行精准和客观的应用性能数据查询及分析,将分析过程与实际业务挂钩,增加业务属性价值。
S140、获取用户的业务需求,业务需求包括指定业务服务的查询信息。
在一种实施方式中,该查询信息可以包括但不限于:调用链ID、span_id、业务标签、耗时范围、涉及的接口/方法、服务等。
在一种实施方式中,可以通过APM系统提供用于进行可视化的调用链检索页面。在该调用链检索页面上,如图8所示,用户可以在相应的查询信息输入框中输入相应查询信息。通过响应用户点击“查询”按钮的操作,即可获得该业务需求。
S150、根据查询信息,对与指定业务服务相关的调用链数据进行查询或分析处理,获得处理结果。
示例性的,结合图8-9所示,可以通过业务标签查询到所有由actor发起请求的调用链数据。
示例性的,结合图8-10所示,可以在调用链数据的检索结果中,查询出需要关注的调用链数据进行分析,如可以通过点击进入需要关注的调用链数据的请求详情进行分析,以实现综合业务信息分析问题或排障。
在本申请中,通过执行步骤S140和步骤S150,可以支持特定业务属性数据查询,将具备特定业务属性调用链数据合并进行查询,实现对单个业务场景下调用链数据分析。
在本申请提供的一种可适用的场景下,当不需要对单个业务服务进行业务数据采集时,可以在可视化页面上对单个业务服务的采集配置进行停止,并向正在运行的采集探针发送清空指令,控制采集探针将单个业务服务的采集配置清空,以使采集探针停止采集与单个业务服务相关的调用链数据。
示例性的,如图11所示,可以在相应的可视化页面上提供单个业务服务的采集配置的启停按钮,通过打开或关闭该启停按钮,即可实现打开或关闭该单个业务服务的采集配置。
在本申请提供的另一种可适用的场景下,当不需要对任一业务服务进行业务数据采集时,可以在可视化页面上对任一业务服务的采集配置进行批量关闭,向正在运行的采集探针发送清空指令,控制采集探针将任一所述业务服务的采集配置清空,以使采集探针停止采集与任一业务服务相关的调用链数据。
示例性的,如图11所示,该可视化页面上该可以提供批量管理任一业务服务的启停按钮的功能,通过点击“批量启用”即可触发批量打开任一业务服务的启停按钮,以及通过点击“批量停用”即可触发批量关闭任一业务服务的启停按钮。
在本申请中,通过在业务系统运行的过程中,通过在可视化页面上进行相应业务服务的采集配置,可对运行中的指定业务服务的采集配置进行单个或批量调整,如图12所示,可以实现定向地采集到各个后台服务之间发起的请求中携带的业务信息,其中,该业务信息可以由请求中的请求参数或header携带。
作为一种示例,本申请实施例提供的调用链数据的处理方法,可以由APM系统的数据入口服务(Receiver)执行,该Receiver可以接收探针侧上报数据、相关数据格式转换(如OT协议转换)及与探针侧进行配置传递等。
在具体实施时,数据入口服务(Receiver)与后台服务端(Kapm SaaS服务端)、缓存(Redis)、采集探针(Agent)之间的通讯过程可以如图13所示。
通过以上描述可知,相较于现有技术而言,本申请通过创建服务配置信息,服务配置信息包括需要进行参数采集打标的任一业务服务的采集配置;根据服务配置信息,对部署在业务应用侧的采集探针进行热加载,控制采集探针按照任一业务服务的采集配置采集调用链数据;拦截各个后台服务之间与请求相关的多个报文信息,将多个报文信息中与任一业务服务的采集配置匹配的报文信息,写入调用链数据中;获取用户的业务需求,业务需求包括指定业务服务的查询信息;根据查询信息,对与指定业务服务相关的调用链数据进行查询或分析处理,获得处理结果,从而可以更方便用户进行精准和客观的应用性能数据查询及分析,将分析过程与实际业务挂钩,增加业务属性价值,支持特定业务属性数据查询,将具备特定业务属性调用链数据合并进行查询,实现对单个业务场景下调用链数据分析。
图14示出根据本发明一实施例的调用链数据的查询装置的结构框图。如图14所示,该装置可以包括:
创建单元210,用于创建服务配置信息,服务配置信息包括需要进行参数采集打标的任一业务服务的采集配置;
处理单元220,用于根据服务配置信息,对部署在业务应用侧的采集探针进行热加载,控制采集探针按照任一业务服务的采集配置采集调用链数据;拦截各个后台服务之间与请求相关的多个报文信息,将多个报文信息中与任一业务服务的采集配置匹配的报文信息,写入调用链数据中;获取用户的业务需求,业务需求包括指定业务服务的查询信息;根据查询信息,对与指定业务服务相关的调用链数据进行查询或分析处理,获得处理结果。
在一种实施方式中,创建单元210具体用于:
响应于可视化页面上针对任一业务服务的各个配置项进行的参数配置操作,获得任一业务服务的配置参数;
根据任一业务服务的配置参数,创建得到服务配置信息。
在一种实施方式中,创建单元210具体用于:
通过后台服务端对任一业务服务的配置参数进行格式化处理,获得格式化后的配置参数;
将格式化后的配置参数写入到缓存的特定key中,并与缓存约定不同业务服务的key值,完成服务配置信息的创建。
在一种实施方式中,后台服务端为Kapm saas服务端,缓存为Redis缓存。
在一种实施方式中,处理单元220具体用于:
根据服务配置信息,将任一业务服务映射到对应的服务实例上,再将服务实例下发到采集探针上;
通过配置上报接口获取到任一业务服务的采集配置,将任一业务服务的采集配置下发到采集探针上;
通过Watcher监听器监听到任一业务服务的采集配置下发后,对采集探针进行热加载,控制采集探针按照任一业务服务的采集配置采集调用链数据。
在一种实施方式中,处理单元220还用于:
通过配置上报接口接收到采集探针的心跳数据时,对采集探针上报的采集配置进行hash后,获得采集探针上报的采集配置的第一SN值;
获取缓存中存储的采集配置中的第二SN值;
将第一SN值与第二SN值进行比对,以判断缓存中存储的采集配置是否发生变化;
若确定缓存中存储的采集配置发生变化,将第一SN值返回给后台服务端;
通过后台服务端根据第一SN值,更新缓存中存储的采集配置。
在一种实施方式中,处理单元220还用于:
当不需要对单个业务服务进行业务数据采集时,在可视化页面上对单个业务服务的采集配置进行关闭,并向正在运行的采集探针发送清空指令,控制采集探针将单个业务服务的采集配置清空,以使采集探针停止采集与单个业务服务相关的调用链数据;
当不需要对任一业务服务进行业务数据采集时,在可视化页面上对任一业务服务的采集配置进行批量关闭,并向正在运行的采集探针发送清空指令,控制采集探针将任一业务服务的采集配置清空,以使采集探针停止采集与任一业务服务相关的调用链数据。
本申请实施例各装置中的各单元的功能可以参见上述方法中的对应描述,在此不再赘述。
图15示出根据本发明一实施例的计算机装置的结构框图。如图15所示,该计算机装置包括:存储器310和处理器320,存储器310中存储指令,该指令由处理器320加载并执行,以实现上述实施例中的调用链数据的处理方法。存储器310和处理器320的数量可以为一个或多个。
该计算机装置还包括:
通信接口330,用于与外界设备进行通信,进行数据交互传输。
如果存储器310、处理器320和通信接口330独立实现,则存储器310、处理器320和通信接口330可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral ComponentInterconnect ,PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture ,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器310、处理器320及通信接口330集成在一块芯片上,则存储器310、处理器320及通信接口330可以通过内部接口完成相互间的通信。
本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被计算机执行时,实现本申请实施例中提供的调用链数据的处理方法。
本申请实施例还提供了一种芯片,该芯片包括处理器,用于调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请实施例提供的调用链数据的处理方法。
本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行申请实施例提供的调用链数据的处理方法。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammablegate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。
进一步地,可选的,上述存储器可以包括只读存储器和随机存取存储器,还可以包括非易失性随机存取存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以包括只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以包括随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory ,DRAM) 、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种调用链数据的处理方法,其特征在于,包括:
创建服务配置信息,所述服务配置信息包括需要进行参数采集打标的任一业务服务的采集配置,所述采集配置存储在缓存中,所述采集配置包括所述任一业务服务的配置参数;
根据所述服务配置信息,将任一所述业务服务映射到对应的服务实例上,再将所述服务实例下发到对部署在业务应用侧的采集探针上;
通过配置上报接口获取到任一所述业务服务的采集配置,将任一所述业务服务的采集配置下发到所述采集探针上;
通过Watcher监听器监听到任一所述业务服务的采集配置下发后,对所述采集探针进行热加载,控制所述采集探针按照任一所述业务服务的采集配置采集调用链数据;
拦截各个后台服务之间与请求相关的多个报文信息,将多个所述报文信息中与任一所述业务服务的采集配置匹配的报文信息,写入所述调用链数据中;
获取用户的业务需求,所述业务需求包括指定业务服务的查询信息;
根据所述查询信息,对与所述指定业务服务相关的调用链数据进行查询或分析处理,获得处理结果;
所述方法还包括:
通过所述配置上报接口接收到所述采集探针的心跳数据时,对所述采集探针上报的采集配置进行hash后,获得所述采集探针上报的采集配置的第一SN值,其中,所述第一SN值为第一序列号值;
获取所述缓存中存储的采集配置中的第二SN值,其中,所述第二SN值为第二序列号值;
将所述第一SN值与所述第二SN值进行比对,以判断所述缓存中存储的采集配置是否发生变化;
若确定所述缓存中存储的采集配置发生变化,将所述第一SN值返回给后台服务端;
通过所述后台服务端根据所述第一SN值,更新所述缓存中存储的采集配置。
2.根据权利要求1所述的方法,其特征在于,创建服务配置信息包括:
响应于可视化页面上针对任一所述业务服务的各个配置项进行的参数配置操作,获得任一所述业务服务的配置参数;
根据任一所述业务服务的配置参数,创建得到所述服务配置信息。
3.根据权利要求2所述的方法,其特征在于,根据任一所述业务服务的配置参数,创建得到所述服务配置信息包括:
通过后台服务端对任一所述业务服务的配置参数进行格式化处理,获得格式化后的配置参数;
将所述格式化后的配置参数写入到缓存的特定key中,并与所述缓存约定不同业务服务的key值,完成所述服务配置信息的创建。
4.根据权利要求3所述的方法,其特征在于,所述后台服务端为Kapm saas服务端,所述缓存为Redis缓存。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
当不需要对单个所述业务服务进行业务数据采集时,在可视化页面上对单个所述业务服务的采集配置进行关闭,并向正在运行的采集探针发送清空指令,控制所述采集探针将单个所述业务服务的采集配置清空,以使所述采集探针停止采集与单个所述业务服务相关的调用链数据;
当不需要对任一所述业务服务进行业务数据采集时,在所述可视化页面上对任一所述业务服务的采集配置进行批量关闭,并向正在运行的采集探针发送清空指令,控制所述采集探针将任一所述业务服务的采集配置清空,以使所述采集探针停止采集与任一所述业务服务相关的调用链数据。
6.一种调用链数据的处理装置,其特征在于,包括:
创建单元,用于创建服务配置信息,所述服务配置信息包括需要进行参数采集打标的任一业务服务的采集配置,所述采集配置存储在缓存中;
处理单元,用于根据所述服务配置信息,将任一所述业务服务映射到对应的服务实例上,再将所述服务实例下发到对部署在业务应用侧的采集探针上;通过配置上报接口获取到任一所述业务服务的采集配置,将任一所述业务服务的采集配置下发到所述采集探针上;通过Watcher监听器监听到任一所述业务服务的采集配置下发后,对所述采集探针进行热加载,控制所述采集探针按照任一所述业务服务的采集配置采集调用链数据;拦截各个后台服务之间与请求相关的多个报文信息,将多个所述报文信息中与任一所述业务服务的采集配置匹配的报文信息,写入所述调用链数据中;获取用户的业务需求,所述业务需求包括指定业务服务的查询信息;根据所述查询信息,对与所述指定业务服务相关的调用链数据进行查询或分析处理,获得处理结果;
所述处理单元,还用于通过所述配置上报接口接收到所述采集探针的心跳数据时,对所述采集探针上报的采集配置进行hash后,获得所述采集探针上报的采集配置的第一SN值,其中,所述第一SN值为第一序列号值;获取所述缓存中存储的采集配置中的第二SN值,其中,所述第二SN值为第二序列号值;将所述第一SN值与所述第二SN值进行比对,以判断所述缓存中存储的采集配置是否发生变化;若确定所述缓存中存储的采集配置发生变化,将所述第一SN值返回给后台服务端;通过所述后台服务端根据所述第一SN值,更新所述缓存中存储的采集配置。
7.一种计算机装置,其特征在于,包括:存储器和处理器,所述存储器中存储指令,所述指令由处理器加载并执行,以实现如权利要求1-5任一项所述的方法。
8.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被计算机执行时,实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311312631.2A CN117056380B (zh) | 2023-10-11 | 2023-10-11 | 一种调用链数据的处理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311312631.2A CN117056380B (zh) | 2023-10-11 | 2023-10-11 | 一种调用链数据的处理方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117056380A CN117056380A (zh) | 2023-11-14 |
CN117056380B true CN117056380B (zh) | 2024-01-30 |
Family
ID=88669602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311312631.2A Active CN117056380B (zh) | 2023-10-11 | 2023-10-11 | 一种调用链数据的处理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117056380B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022116107A1 (en) * | 2020-12-03 | 2022-06-09 | Boe Technology Group Co., Ltd. | Data management platform, intelligent defect analysis system, intelligent defect analysis method, computer-program product, and method for defect analysis |
CN114697232A (zh) * | 2020-12-25 | 2022-07-01 | 中国移动通信集团福建有限公司 | Skywalking探针的指标数据采集系统、方法及电子设备 |
CN115269331A (zh) * | 2022-08-02 | 2022-11-01 | 国家电网有限公司客户服务中心 | 面向微服务组的服务拓扑监控方法及相关设备 |
WO2023109475A1 (zh) * | 2021-12-17 | 2023-06-22 | 华为技术有限公司 | 一种处理调用的方法、系统和设备 |
-
2023
- 2023-10-11 CN CN202311312631.2A patent/CN117056380B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022116107A1 (en) * | 2020-12-03 | 2022-06-09 | Boe Technology Group Co., Ltd. | Data management platform, intelligent defect analysis system, intelligent defect analysis method, computer-program product, and method for defect analysis |
CN114697232A (zh) * | 2020-12-25 | 2022-07-01 | 中国移动通信集团福建有限公司 | Skywalking探针的指标数据采集系统、方法及电子设备 |
WO2023109475A1 (zh) * | 2021-12-17 | 2023-06-22 | 华为技术有限公司 | 一种处理调用的方法、系统和设备 |
CN115269331A (zh) * | 2022-08-02 | 2022-11-01 | 国家电网有限公司客户服务中心 | 面向微服务组的服务拓扑监控方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117056380A (zh) | 2023-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11669382B2 (en) | Anomaly detection for data stream processing | |
US11853303B1 (en) | Data stream generation based on sourcetypes associated with messages | |
US10992560B2 (en) | Time series anomaly detection service | |
US20220300464A1 (en) | Log data extraction from data chunks of an isolated execution environment | |
US11775501B2 (en) | Trace and span sampling and analysis for instrumented software | |
US20190258677A1 (en) | Cardinality of time series | |
US11921693B1 (en) | HTTP events with custom fields | |
US11755531B1 (en) | System and method for storage of data utilizing a persistent queue | |
US10534791B1 (en) | Analysis of tokenized HTTP event collector | |
CN112148674A (zh) | 日志数据处理方法、装置、计算机设备和存储介质 | |
US20230044850A1 (en) | Tracing and exposing data used for generating analytics | |
US11301475B1 (en) | Transmission handling of analytics query response | |
CN111475376A (zh) | 处理测试数据的方法、装置、计算机设备和存储介质 | |
CN111049882B (zh) | 缓存状态处理系统、方法、装置及计算机可读存储介质 | |
CN107885634B (zh) | 监控中异常信息的处理方法和装置 | |
CN111581232A (zh) | 一种基于elk的慢sql实时分析方法及系统 | |
CN117056380B (zh) | 一种调用链数据的处理方法、装置及存储介质 | |
CN113254479B (zh) | 电子控制单元的数据测量方法和装置 | |
CN113259214B (zh) | 行车数据监控系统 | |
US11630756B2 (en) | Methods and systems for measuring user and system metrics | |
US11392605B1 (en) | Integration in computer analytics system | |
US11113301B1 (en) | Generating metadata for events based on parsed location information of data chunks of an isolated execution environment | |
CN114760218B (zh) | 一种链路采样方法及其相关装置 | |
CN115858893B (zh) | 数据可视化分析方法、装置、电子设备及存储介质 | |
CN109725587B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |