CN112631880A - 基于调用链的性能分析方法及装置 - Google Patents

基于调用链的性能分析方法及装置 Download PDF

Info

Publication number
CN112631880A
CN112631880A CN201910951510.XA CN201910951510A CN112631880A CN 112631880 A CN112631880 A CN 112631880A CN 201910951510 A CN201910951510 A CN 201910951510A CN 112631880 A CN112631880 A CN 112631880A
Authority
CN
China
Prior art keywords
service
link
data
performance data
performance
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
Application number
CN201910951510.XA
Other languages
English (en)
Inventor
胡林熙
叶晓龙
蒋通通
乔柏林
林昊
竺士杰
孟震
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Group Zhejiang Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Group Zhejiang Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Group Zhejiang Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201910951510.XA priority Critical patent/CN112631880A/zh
Publication of CN112631880A publication Critical patent/CN112631880A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging

Abstract

本发明公开了一种基于调用链的性能分析方法及装置,该方法包括:采集执行业务请求时所生成的全量数据,根据全量数据,通过调用链生成模型,生成具有服务以及服务之间的依赖关系的调用链路,根据调用链路在第一预设时间段内的历史性能数据,确定调用链路内每个服务对应的性能数据基线区间,根据调用链路内每个服务对应的性能数据基线区间和调用链路在第二预设时间段内的历史性能数据,对性能进行分析。利用上述发明,不仅无需对核心系统进行代码改造,降低了工作量,还能够快速定位性能恶化根因所在,有效提升对于系统性能的管控能力,同时减少人工决策的过程,极大缩短了性能问题影响,降低业务运营复杂度,提升业务管理的效率。

Description

基于调用链的性能分析方法及装置
技术领域
本发明涉及业务支撑技术领域,具体涉及一种基于调用链的性能分析方法及装置、电子设备、存储介质。
背景技术
随着互联网业务的数量和复杂度不断的增长,为了能够快速有效的处理不断增长的业务,基于微服务架构的系统越来越受欢迎。
目前,在基于微服务结构的系统中,业务的实现是通过多个不同功能的服务组合提供的,服务之间的依赖关系错综复杂,并存在大量的集成点和接触点,为了保证基于微服务架构的系统能够顺畅的运转,及时找到并修复系统中存在故障问题的服务,提升基于微服务架构的系统的性能,需要分析基于微服务架构的系统的性能。
现有的分析基于微服务架构的系统的性能主要是,对基于微服务机构的系统中的各个服务后台进行代码改造,植入探针,获取接口调用量、平均时长、成功率等性能指标,根据各性能指标分析系统的性能。
但是,在现有技术中,探针植入涉及对核心系统进行代码改造,工作量大,风险不可控,容易造成告警漏报、误报。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于调用链的性能分析方法及装置、电子设备、存储介质。
根据本发明的一个方面,一种基于调用链的性能分析方法,所述方法包括:
采集执行业务请求时所生成的全量数据;
根据所述全量数据,通过调用链生成模型,生成调用链路,其中,所述调用链路包括:服务以及服务之间的依赖关系;
根据所述调用链路在第一预设时间段内的历史性能数据,确定所述调用链路内每个服务对应的性能数据基线区间;
根据所述调用链路内每个服务对应的性能数据基线区间和所述调用链路在第二预设时间段内的历史性能数据,对性能进行分析。
根据本发明的另一方面,提供了一种基于调用链的性能分析装置,所述装置包括:
采集模块,用于采集执行业务请求时所生成的全量数据;
生成模块,用于根据所述全量数据,通过调用链生成模型,生成调用链路,其中,所述调用链路包括:服务以及服务之间的依赖关系;
确定模块,用于根据所述调用链路在第一预设时间段内的历史性能数据,确定所述调用链路内每个服务对应的性能数据基线区间;
分析模块,用于根据所述调用链路内每个服务对应的性能数据基线区间和所述调用链路在第二预设时间段内的历史性能数据,对性能进行分析。
根据本发明的另一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行以下操作:
采集执行业务请求时所生成的全量数据;
根据所述全量数据,通过调用链生成模型,生成调用链路,其中,所述调用链路包括:服务以及服务之间的依赖关系;
根据所述调用链路在第一预设时间段内的历史性能数据,确定所述调用链路内每个服务对应的性能数据基线区间;
根据所述调用链路内每个服务对应的性能数据基线区间和所述调用链路在第二预设时间段内的历史性能数据,对性能进行分析。
根据本发明的又一方面,提供了一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行以下操作:
采集执行业务请求时所生成的全量数据;
根据所述全量数据,通过调用链生成模型,生成调用链路,其中,所述调用链路包括:服务以及服务之间的依赖关系;
根据所述调用链路在第一预设时间段内的历史性能数据,确定所述调用链路内每个服务对应的性能数据基线区间;
根据所述调用链路内每个服务对应的性能数据基线区间和所述调用链路在第二预设时间段内的历史性能数据,对性能进行分析。
根据本发明提供的基于调用链的性能分析方法及装置,该方法包括:采集执行业务请求时所生成的全量数据,根据所述全量数据,通过调用链生成模型,生成具有服务以及服务之间的依赖关系的调用链路,根据所述调用链路在第一预设时间段内的历史性能数据,确定所述调用链路内每个服务对应的性能数据基线区间,根据所述调用链路内每个服务对应的性能数据基线区间和所述调用链路在第二预设时间段内的历史性能数据,对性能进行分析。利用上述发明,不仅无需对核心系统进行代码改造,降低了工作量,还能够快速定位性能恶化根因所在,有效提升对于系统性能的管控能力,同时减少人工决策的过程,极大缩短了性能问题影响,降低业务运营复杂度,提升业务管理的效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的基于调用链的性能分析方法的流程图;
图2示出了根据本发明一个实施例的调用链路中数据采集点位的示意图;
图3示出了根据本发明一个实施例的标准类库采集全量数据的代码;
图4示出了根据本发明一个实施例的已生成的调用链路的示意图;
图5示出了根据本发明一个实施例的异常值处理前后的示意图;
图6示出了根据本发明一个实施例的基于调用链的性能分析装置的示意图;
图7示出了根据本发明实施例的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的基于调用链的性能分析方法的流程图。如图1所示,该方法包括如下步骤:
S101:采集执行业务请求时所生成的全量数据。
在实际应用中,基于微服务结构的系统中的业务实现是通过多个不同功能的服务组合提供的,服务之间的依赖关系错综复杂,并存在大量的集成点和接触点,为了保证基于微服务架构的系统能够顺畅的运转,及时找到并修复系统中存在故障问题的服务,提升基于微服务架构的系统的性能,需要分析基于微服务架构的系统的性能。
进一步的,由于本说明书实施例需要基于系统在执行业务时所产生的数据才可以对基于微服务架构的系统进行分析,因此,本说明书实施例在分析基于微服务架构的系统的性能的过程中,首先需要采集执行业务请求时所生成的全量数据。
在此需要说明的是,本说明书实施例提供了一种采集执行业务请求时所生成的全量数据的实施方式,具体如下:
确定数据采集的点位,在每个数据采集的点位处,通过log4x技术调用标准类库进行全量数据标准化采集。
在此需要说明的是,在基于微服务结构的系统中,每个服务调用都包括多个span,每一个Span由4个数据采集的点位组成,分别是CS(clientSend)、SR(serverRecv)、SS(serverSend)、CR(clientRecv),并且,针对异步调用服务的情况,消息中间件msgframe中存在数据采集的点位,如图2所示,图2示意性的给出了一个调用链路中多个服务的数据采集的点位。
在此还需要说明的是,在每个数据采集的点位处,通过log4x技术调用标准类库进行全量数据标准化采集具体是,首先采用无侵入式在每个数据采集的点位处埋点,也就是,利用Java instumentation特性,通过增加的Agent配置动态注入新的代码逻辑,然后将记录有参数java–javaagent:/path/to/log4x-agent.jar的字节码class文件加载到java虚拟机中,从而在运行时完成日志埋点的注入,实现无侵入埋点的功能,其次,在执行业务的应用启动时,该参数java–javaagent:/path/to/log4x-agent.jar会调用标准类库Application_Main_Class进行全量数据标准化采集。
另外,本说明书实施例还提供了通过log4x技术调用标准类库进行全量数据标准化采集的代码,如图3所示。
S102:根据所述全量数据,通过调用链生成模型,生成调用链路。
进一步的,由于通过基于微服务结构的系统执行不同业务时会调用到同一种服务,而本发明在分析性能时是基于一条完整的调用链路的性能数据实现的,因此,在本说明书实施例中,在采集到全量数据后,需要根据所采集到的全量数据,生成调用链路,具体是根据所述全量数据,通过调用链生成模型,生成调用链路。
进一步的,本说明书实施例提供了一种根据所述全量数据,通过调用链生成模型,生成调用链路的实施方式,具体如下:
对所述全量数据进行有效性校验,对校验后的全量数据进行过滤,对过滤后全量数据的进行聚合计算,生成调用链路。
在此需要说明的是,由于一个调用链由唯一的调用链序号(即,Traceid),因此,对过滤后全量数据的进行聚合计算,生成调用链路可以通过全量数据中所记录的调用链序号来将前后全量数据进行串联起来,生成调用链路。所生成的调用链路包括服务以及服务之间的依赖关系,每个服务可能对应多个调用链路,每个调用链路均执行一个业务请求,如图4所示,以服务A为例可以看到在服务依赖关系中,存在n条包含服务A的调用链路。
S103:根据所述调用链路在第一预设时间段内的历史性能数据,确定所述调用链路内每个服务对应的性能数据基线区间。
进一步的,本说明书实施例在生成调用链路后,需要根据所述调用链路在第一预设时间段内的历史性能数据,确定所述调用链路内每个服务对应的性能数据基线区间。
在此需要说明的是,由于根据所述调用链路在第一预设时间段内的历史性能数据,确定所述调用链路内每个服务对应的性能数据基线区间,因此,在本说明书实施例中,需要预先获取第一预设时间段内的历史性能数据。
获取第一预设时间段内的历史性能数据具体可以,通过日志中心获得第一预设时间段内的业务调用日志,通过比对调用链数据,对于每笔日志打上对应调用链标签,后续,根据调用链标签来获取调用链路在第一预设时间段内的历史性能数据。
进一步的,本说明书实施例给出了一种基于上述获取到的调用链路在第一预设时间段内的历史性能数据,确定所述调用链路内每个服务对应的性能数据基线区间的实施方式,具体如下:
对所述调用链路在第一预设时间段内的历史性能数据进行预处理,针对调用链路中的每个服务,根据该服务在第一预设时间段内的预处理后的历史性能数据,通过时间序列预测模型,确定该服务对应的性能数据基线区间。
在此需要说明的是,对所述调用链路在第一预设时间段内的历史性能数据进行预处理具体可以是对所述调用链路在第一预设时间段内的历史性能数据进行缺失值处理以及判定异常值处理,对于缺失值,采用等差填充的方式进行平滑处理;判定异常值,对于超出1.5倍四分距之外,收缩至1.5倍四分距,对比图5中的处理前的异常值和处理后的异常值,可以看出经过异常值处理后,可以更好的体现数据的特征值。
另外,在本说明书实施例中,时间序列预测模型可以是Prophet时间序列预测模型,其中,是Prophet时间序列预测模型的核心部分包括周期性数据和非周期性数据,公式如下:
y(t)=g(t)+s(t)+∈t
Y(t)为最终得出的基线值,g(t)为非周期部分,s(t)为周期部门,∈t为噪声项符合高斯分布。
(1)非周期性部分:
g(t)=(k+a(t)Tδ)t+(b+a(t)Tγ)
Figure BDA0002225907680000071
其中,sj为变化点,δj为该点的斜率,t时刻的增长率为
Figure BDA0002225907680000072
即a(t)Tδ,γ为使函数连续的调整项,γj=-sjδj,自动设置转折点:T个历史数据中随机分布着S个转折点,δ分布遵循δ~Laplace(0,τ),通过历史数据可计算出最符合的k和b值。
(2)周期性部分
Figure BDA0002225907680000073
其中,周期性使用傅里叶级数进行拟合,P为周期,n为选择目标天数,t为时刻,通过历史数据可计算出最符合的an和bn
通过上述时间序列预测模型,能够确定出服务对应的性能数据基线区间,假设如表1所示:
Figure BDA0002225907680000081
表1
在此需要说明的是,这里的第一预设时间段可以按照实际需求来定,使用大数据流计算可以支持到小时甚至分钟级别的维度,也可以应用于以天为维度的用来统计一段日期内性能波动趋势。
另外,性能数据可按照实际项目运维管理需求来选取,可以是时延性能数据,也可以是其他性能数据,如,调用成功量或调用失败量,只要能够反映出系统的性能即可。
S104:根据所述调用链路内每个服务对应的性能数据基线区间和所述调用链路在第二预设时间段内的历史性能数据,对性能进行分析。
进一步的,在确定出调用链路内每个服务对应的性能数据基线区间后,需要根据所述调用链路内每个服务对应的性能数据基线区间和所述调用链路在第二预设时间段内的历史性能数据,对性能进行分析。
进一步的,本说明书实施例给出了一种根据所述调用链路内每个服务对应的性能数据基线区间和所述调用链路在第二预设时间段内的历史性能数据,对性能进行分析的实施方式,具体如下:
对所述调用链路内每个服务对应的性能数据基线区间进行度量标准化处理,根据所述调用链路内每个服务对应的标准度量的性能数据基线区间和所述调用链路在第二预设时间段内的历史性能数据,确定所述调用链路内每个服务的偏移度,根据所述调用链路内每个服务的偏移度,确定影响性能的根因。
在此需要说明的是,对所述调用链路内每个服务对应的性能数据基线区间进行度量标准化处理具体指的是,对于具有不同量纲的数据,比如A[30,40000],B[1687,3711]等采用Z-Score算法进行处理,以达到在同一度量区间内进行比较。
根据所述调用链路内每个服务对应的标准度量的性能数据基线区间和所述调用链路在第二预设时间段内的历史性能数据,确定所述调用链路内每个服务的偏移度具体可以是,通过标准差算法,计算调用链路在第二预设时间段内的历史性能数据与调用链路内每个服务对应的标准度量的性能数据基线区间之间的标准差值,将该标准差值作为服务的偏移度,其中,标准差公式如下:
Figure BDA0002225907680000091
表2示例性的给出了偏移度的计算结果:
Figure BDA0002225907680000092
表2
根据所述调用链路内每个服务的偏移度,确定影响性能的根因具体可以是,将调用链路内偏移度最大的服务作为影响性能的根因,也可以是通过调用链中上下游关联服务和调用链路内每个服务的偏移度,得出影响性能问题的根因。
表3示例性的给出了根据调用链路内每个服务的偏移度,确定影响性能的根因的分析结果:
序列 服务对象 偏移度σ 结论
1 A 0.55 恶化根因
2 B 0.37 恶化
3 C 0.09 正常
4 F 0.02 正常
表3
从表3中可以看出链路中产生性能影响的根因服务是A。
通过上述方法,不仅无需对核心系统进行代码改造,降低了工作量,还能够快速定位性能恶化根因所在,有效提升对于系统性能的管控能力,同时减少人工决策的过程,极大缩短了性能问题影响,降低业务运营复杂度,提升业务管理的效率。
另外,本说明书实施例基于聚类计算的调用链生成模型,采用log4x技术建立数据采集标准化的类库,实现无侵入式数据采集埋点,逻辑实现较简单,代码安全;埋点逻辑代码与框架及业务代码“零耦合”,日志框架单独升级灵活,且具备良好的扩展性适用于各类微服务架构系统。
本说明书实施例基于Prophet模型,通过历史性能数据及调用链数据进行离线计算,最终生成性能基线数据,通过修改趋势参数非常便捷的即可调整拟合趋势信息,提供了灵活的性能基线计算方法,可方便快捷定制合适的性能基线。
本说明书实施例基于调用链性能分析方法,可计算出每类调用链下的服务对应的性能数据通过和基线比对得出异常偏移度,并结合调用链中的上下游关联关系,计算出性能影响根因所在,基于调用链的性能分析方法,提升了微服务架构下服务性能监控及分析的准确性。
以上是本申请实施例提供的基于调用链的性能分析的方法,基于此,本申请实施例提供了一种基于调用链的性能分析的装置,如图6所示,该装置包括:
采集模块601,用于采集执行业务请求时所生成的全量数据;
生成模块602,用于根据所述全量数据,通过调用链生成模型,生成调用链路,其中,所述调用链路包括:服务以及服务之间的依赖关系;
确定模块603,用于根据所述调用链路在第一预设时间段内的历史性能数据,确定所述调用链路内每个服务对应的性能数据基线区间;
分析模块604,用于根据所述调用链路内每个服务对应的性能数据基线区间和所述调用链路在第二预设时间段内的历史性能数据,对性能进行分析。
所述采集模块601具体用于,确定数据采集的点位,在每个数据采集的点位处,通过log4x技术调用标准类库进行全量数据标准化采集。
所述生成模块602具体用于,对所述全量数据进行有效性校验,对校验后的全量数据进行过滤,对过滤后全量数据的进行聚合计算,生成调用链路。
所述确定模块603具体用于,对所述调用链路在第一预设时间段内的历史性能数据进行预处理,针对调用链路中的每个服务,根据该服务在第一预设时间段内的预处理后的历史性能数据,通过时间序列预测模型,确定该服务对应的性能数据基线区间。
所述时间序列预测模型包括:Prophet时间序列预测模型。
所述分析模块604具体用于,对所述调用链路内每个服务对应的性能数据基线区间进行度量标准化处理,根据所述调用链路内每个服务对应的标准度量的性能数据基线区间和所述调用链路在第二预设时间段内的历史性能数据,确定所述调用链路内每个服务的偏移度,根据所述调用链路内每个服务的偏移度,确定影响性能的根因。
所述性能数据包括:时延性能数据。
本申请实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的基于调用链的性能分析方法。
图7示出了根据本发明实施例的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图7所示,该服务器可以包括:处理器(processor)702、通信接口(Communications Interface)704、存储器(memory)706、以及通信总线708。
其中:
处理器702、通信接口704、以及存储器706通过通信总线708完成相互间的通信。
通信接口704,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器702,用于执行程序710,具体可以执行上述基于调用链的性能分析方法实施例中的相关步骤。
具体地,程序710可以包括程序代码,该程序代码包括计算机操作指令。
处理器702可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器706,用于存放程序710。存储器706可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序710具体可以用于使得处理器702执行以下操作:
采集执行业务请求时所生成的全量数据;
根据所述全量数据,通过调用链生成模型,生成调用链路,其中,所述调用链路包括:服务以及服务之间的依赖关系;
根据所述调用链路在第一预设时间段内的历史性能数据,确定所述调用链路内每个服务对应的性能数据基线区间;
根据所述调用链路内每个服务对应的性能数据基线区间和所述调用链路在第二预设时间段内的历史性能数据,对性能进行分析。
可选地,程序710还可以用于使得处理器702执行以下操作:
确定数据采集的点位,在每个数据采集的点位处,通过log4x技术调用标准类库进行全量数据标准化采集。
可选地,程序710还可以用于使得处理器702执行以下操作:
对所述全量数据进行有效性校验,对校验后的全量数据进行过滤,对过滤后全量数据的进行聚合计算,生成调用链路。
可选地,程序710还可以用于使得处理器702执行以下操作:
对所述调用链路在第一预设时间段内的历史性能数据进行预处理,针对调用链路中的每个服务,根据该服务在第一预设时间段内的预处理后的历史性能数据,通过时间序列预测模型,确定该服务对应的性能数据基线区间。
可选地,程序710还可以用于使得处理器702执行以下操作:
所述时间序列预测模型包括:Prophet时间序列预测模型。
可选地,程序710还可以用于使得处理器702执行以下操作:
对所述调用链路内每个服务对应的性能数据基线区间进行度量标准化处理,根据所述调用链路内每个服务对应的标准度量的性能数据基线区间和所述调用链路在第二预设时间段内的历史性能数据,确定所述调用链路内每个服务的偏移度,根据所述调用链路内每个服务的偏移度,确定影响性能的根因。
可选地,程序710还可以用于使得处理器702执行以下操作:
所述性能数据包括:时延性能数据。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的基于调用链的性能分析设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种基于调用链的性能分析方法,包括:
采集执行业务请求时所生成的全量数据;
根据所述全量数据,通过调用链生成模型,生成调用链路,其中,所述调用链路包括:服务以及服务之间的依赖关系;
根据所述调用链路在第一预设时间段内的历史性能数据,确定所述调用链路内每个服务对应的性能数据基线区间;
根据所述调用链路内每个服务对应的性能数据基线区间和所述调用链路在第二预设时间段内的历史性能数据,对性能进行分析。
2.根据权利要求1所述的方法,采集执行业务请求时所生成的全量数据,具体包括:
确定数据采集的点位;
在每个数据采集的点位处,通过log4x技术调用标准类库进行全量数据标准化采集。
3.根据权利要求1所述的方法,根据所述全量数据,通过调用链生成模型,生成调用链路,具体包括:
对所述全量数据进行有效性校验;
对校验后的全量数据进行过滤;
对过滤后全量数据的进行聚合计算,生成调用链路。
4.根据权利要求1所述的方法,根据所述调用链路在第一预设时间段内的历史性能数据,确定所述调用链路内每个服务对应的性能数据基线区间,具体包括:
对所述调用链路在第一预设时间段内的历史性能数据进行预处理;
针对调用链路中的每个服务,根据该服务在第一预设时间段内的预处理后的历史性能数据,通过时间序列预测模型,确定该服务对应的性能数据基线区间。
5.根据权利要求4所述的方法,所述时间序列预测模型包括:Prophet时间序列预测模型。
6.根据权利要求1所述的方法,根据所述调用链路内每个服务对应的性能数据基线区间和所述调用链路在第二预设时间段内的历史性能数据,对性能进行分析,具体包括:
对所述调用链路内每个服务对应的性能数据基线区间进行度量标准化处理;
根据所述调用链路内每个服务对应的标准度量的性能数据基线区间和所述调用链路在第二预设时间段内的历史性能数据,确定所述调用链路内每个服务的偏移度;
根据所述调用链路内每个服务的偏移度,确定影响性能的根因。
7.根据权利要求1~6任一所述的方法,所述性能数据包括:时延性能数据。
8.一种基于调用链的性能分析装置,包括:
采集模块,用于采集执行业务请求时所生成的全量数据;
生成模块,用于根据所述全量数据,通过调用链生成模型,生成调用链路,其中,所述调用链路包括:服务以及服务之间的依赖关系;
确定模块,用于根据所述调用链路在第一预设时间段内的历史性能数据,确定所述调用链路内每个服务对应的性能数据基线区间;
分析模块,用于根据所述调用链路内每个服务对应的性能数据基线区间和所述调用链路在第二预设时间段内的历史性能数据,对性能进行分析。
9.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任一项所述的基于调用链的性能分析方法对应的操作。
10.一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-7中任一项所述的基于调用链的性能分析方法对应的操作。
CN201910951510.XA 2019-10-08 2019-10-08 基于调用链的性能分析方法及装置 Pending CN112631880A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910951510.XA CN112631880A (zh) 2019-10-08 2019-10-08 基于调用链的性能分析方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910951510.XA CN112631880A (zh) 2019-10-08 2019-10-08 基于调用链的性能分析方法及装置

Publications (1)

Publication Number Publication Date
CN112631880A true CN112631880A (zh) 2021-04-09

Family

ID=75283574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910951510.XA Pending CN112631880A (zh) 2019-10-08 2019-10-08 基于调用链的性能分析方法及装置

Country Status (1)

Country Link
CN (1) CN112631880A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114024837A (zh) * 2022-01-06 2022-02-08 杭州大乘智能科技有限公司 一种微服务系统的故障根因定位方法
CN114143221A (zh) * 2021-11-29 2022-03-04 重庆富民银行股份有限公司 一个基于全链路监控的服务资产管理方法、平台及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106656536A (zh) * 2015-11-03 2017-05-10 阿里巴巴集团控股有限公司 一种用于处理服务调用信息的方法与设备
CN108205486A (zh) * 2017-12-26 2018-06-26 上海中畅数据技术有限公司 一种基于机器学习的智能分布式调用链跟踪方法
CN109697456A (zh) * 2018-11-21 2019-04-30 华为技术有限公司 业务分析方法、装置、设备及存储介质
CN109756364A (zh) * 2018-12-07 2019-05-14 成都四方伟业软件股份有限公司 一种基于日志分析的微服务性能优化系统和分析方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106656536A (zh) * 2015-11-03 2017-05-10 阿里巴巴集团控股有限公司 一种用于处理服务调用信息的方法与设备
CN108205486A (zh) * 2017-12-26 2018-06-26 上海中畅数据技术有限公司 一种基于机器学习的智能分布式调用链跟踪方法
CN109697456A (zh) * 2018-11-21 2019-04-30 华为技术有限公司 业务分析方法、装置、设备及存储介质
CN109756364A (zh) * 2018-12-07 2019-05-14 成都四方伟业软件股份有限公司 一种基于日志分析的微服务性能优化系统和分析方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114143221A (zh) * 2021-11-29 2022-03-04 重庆富民银行股份有限公司 一个基于全链路监控的服务资产管理方法、平台及存储介质
CN114024837A (zh) * 2022-01-06 2022-02-08 杭州大乘智能科技有限公司 一种微服务系统的故障根因定位方法
CN114024837B (zh) * 2022-01-06 2022-04-05 杭州乘云数字技术有限公司 一种微服务系统的故障根因定位方法

Similar Documents

Publication Publication Date Title
US10332027B2 (en) Automated tuning of a service configuration
CN110046073B (zh) 一种日志采集方法及装置、设备、存储介质
CN110704173A (zh) 任务调度方法、调度系统、电子设备及计算机存储介质
CN108256113B (zh) 数据血缘关系的挖掘方法及装置
CN112631880A (zh) 基于调用链的性能分析方法及装置
WO2020042503A1 (zh) 风控系统的验证方法、装置、设备及存储介质
CN111679968A (zh) 接口调用异常的检测方法、装置、计算机设备及存储介质
CN109669935A (zh) 检查数据筛选方法、装置、设备及存储介质
CN110008049A (zh) 一种基于互联网平台的数据修正方法、终端设备及介质
CN110750299A (zh) 智能软件质量跟踪系统、方法及存储介质
CN113205230A (zh) 基于模型集合的数据预测方法、装置、设备及存储介质
CN113703929B (zh) 一种任务调度方法、系统、计算设备和存储介质
CN113064920A (zh) 基于Flink的实时计算方法、装置、计算机设备及存储介质
CN113128797A (zh) 业务指标异常监测方法及装置
CN108255704A (zh) 一种脚本调用事件的异常响应方法及其终端
CN112132544B (zh) 业务系统的巡检方法及装置
CN111210156B (zh) 基于流窗口实现的实时流数据处理方法及装置
CN114595146A (zh) Ab测试方法、装置、系统、电子设备及介质
CN115373829A (zh) Cpu资源的调度方法、装置及系统
CN114091029A (zh) 恶意文件检测模型的训练系统、方法、设备、介质及平台
CN111444057A (zh) 页面性能数据采集方法、装置及计算设备
CN110119406B (zh) 实时任务记录的核对方法及装置
CN116561018B (zh) 一种业务系统造数方法、装置、终端设备及存储介质
CN110716855B (zh) 处理器指令集测试方法及装置
CN113010424B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210409

RJ01 Rejection of invention patent application after publication