CN113392893A - 业务故障的定位方法、装置、存储介质及计算机程序产品 - Google Patents
业务故障的定位方法、装置、存储介质及计算机程序产品 Download PDFInfo
- Publication number
- CN113392893A CN113392893A CN202110640608.0A CN202110640608A CN113392893A CN 113392893 A CN113392893 A CN 113392893A CN 202110640608 A CN202110640608 A CN 202110640608A CN 113392893 A CN113392893 A CN 113392893A
- Authority
- CN
- China
- Prior art keywords
- service
- calling
- data
- abnormal
- determining
- 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
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000004590 computer program Methods 0.000 title claims abstract description 12
- 230000002159 abnormal effect Effects 0.000 claims abstract description 333
- 238000003062 neural network model Methods 0.000 claims description 56
- 238000006243 chemical reaction Methods 0.000 claims description 13
- 230000009467 reduction Effects 0.000 claims description 13
- 230000004807 localization Effects 0.000 claims 1
- 238000012549 training Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 20
- 238000001514 detection method Methods 0.000 description 19
- 230000005856 abnormality Effects 0.000 description 13
- 239000013598 vector Substances 0.000 description 11
- 238000004880 explosion Methods 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012163 sequencing technique Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 3
- 238000012827 research and development Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 230000006378 damage Effects 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
- G06F18/2113—Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开关于一种业务故障的定位方法、装置、存储介质、电子设备及计算机程序产品,其中,该方法包括:在目标业务发生故障的情况下,确定发生故障的目标时刻;获取目标时刻之前的第一预设时长内目标业务中的多个服务的第一服务调用信息,以及目标时刻之后的第二预设时长内多个服务的第二服务调用信息;确定第一服务调用信息中的每个服务调用信息所属的第一类别以及第二服务调用信息中的每个服务调用信息所属的第二类别;确定第二类别中包括的与第一类别中包括的类别不一致的第三类别,并将第二服务调用信息中属于第三类别的服务调用信息确定为异常服务调用信息;基于异常服务调用信息确定多个服务中出现故障的异常服务。
Description
技术领域
本公开涉及通信领域,尤其涉及一种业务故障的定位方法、装置、存储介质、电子设备及计算机程序产品。
背景技术
当服务性能指标发生异常时,往往表明服务出现了故障,此时需要尽快地进行故障排查。当业务服务出现异常时,如何从错综复杂的调用关系中快速分析问题,准确定位故障,是一项重要的服务稳定性保障能力。
相关技术中,业务服务的故障排查一般分为以下4步:异常发现、故障定位、故障止损和根因分析,通常采用FluxRank定位方法和TraceAnomaly检测故障,而采用FluxRank定位方法和TraceAnomaly定位故障的结果往往不准确。
由此可知,相关技术中存在业务故障定位不准确的问题。
针对相关技术中存在的上述问题,目前尚未提出有效的解决方案。
发明内容
本公开提供一种业务故障的定位方法、装置、存储介质、电子设备及计算机程序产品,以至少解决相关技术中存在的业务故障定位不准确的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种业务故障的定位方法,包括:在目标业务发生故障的情况下,确定发生故障的目标时刻;获取所述目标时刻之前的第一预设时长内所述目标业务中的多个服务的第一服务调用信息,以及所述目标时刻之后的第二预设时长内所述多个服务的第二服务调用信息;确定所述第一服务调用信息中的每个服务调用信息所属的第一类别以及所述第二服务调用信息中的每个服务调用信息所属的第二类别;确定所述第二类别中包括的与所述第一类别中包括的类别不一致的第三类别,并将所述第二服务调用信息中属于所述第三类别的服务调用信息确定为异常服务调用信息;基于所述异常服务调用信息确定所述多个服务中出现故障的异常服务。
示例性的,所述确定所述第一服务调用信息中的每个服务调用信息所属的第一类别以及所述第二服务调用信息中的每个服务调用信息所属的第二类别,包括:对所述第一服务调用信息进行聚类,得到第一聚类结果;根据所述第一聚类结果确定所述第一服务调用信息中的每个服务调用信息所属的所述第一类别,其中,所述第一类别中的服务调用信息为被正常调用的服务信息;对所述第二服务调用信息进行聚类,得到第二聚类结果;根据所述第二聚类结果确定所述第二服务调用信息中的每个服务调用信息所属的所述第二类别。
示例性的,所述基于所述异常服务调用信息确定所述多个服务中出现故障的异常服务,包括:根据所述第一服务调用信息确定所述目标业务的正常调用顺序;根据所述异常服务调用信息确定所述目标业务的异常调用顺序;基于所述正常调用顺序以及所述异常调用顺序确定所述异常服务。
示例性的,所述基于所述正常调用顺序以及所述异常调用顺序确定所述异常服务,包括:通过比较所述异常调用顺序与所述正常调用顺序,确定所述异常调用顺序中出现调用中断的调用位置,其中,所述异常调用顺序是所述异常服务调用信息所表示的服务的调用顺序,所述正常调用顺序是所述第一服务调用信息所表示的服务的调用顺序;确定所述异常服务调用信息所表示的被调用的服务中位于所述调用中断的调用位置上的目标服务;将所述目标服务确定为所述异常服务。
示例性的,所述通过比较异常调用顺序与正常调用顺序,确定所述异常调用顺序中出现调用中断的调用位置,包括:在所述异常调用顺序中的调用位置与所述正常调用顺序中的部分调用位置相同时,在所述异常调用顺序中确定所述出现调用中断的调用位置,其中,所述出现调用中断的调用位置在所述正常调用顺序中存在后续的调用位置、且所述后续的调用位置未出现在所述异常调用顺序中;和/或在所述异常调用顺序中存在与所述正常调用顺序中对应的调用位置不同的调用位置时,将所述异常调用顺序中按照所述正常调用顺序确定出的第一个不同的调用位置确定为所述出现调用中断的调用位置。
示例性的,在所述异常调用顺序中确定所述出现调用中断的调用位置,包括:获取所述多个服务在所述目标时刻上的运行数据,其中,所述多个服务在目标时刻上的运行数据构成了第一数据;将所述第一数据输入到目标神经网络模型中,得到输出的第二数据,其中,所述目标神经网络模型用于对所述第一数据中的运行数据进行降维转换,得到降维后的中间数据,并将所述降维后的中间数据重建成所述第二数据中的重建数据,所述第一数据与所述第二数据具有相同的数据维度;根据所述第一数据与所述第二数据中对应的运行数据之间的差异值,在所述异常调用顺序中确定所述出现调用中断的调用位置,其中,所述出现调用中断的调用位置上的服务在所述第一数据与所述第二数据中对应的运行数据之间的差异值最大或者大于预定阈值。
示例性的,所述将所述异常调用顺序中按照所述正常调用顺序确定出的第一个不同的调用位置确定为所述出现调用中断的调用位置,包括:在所述第一个不同的调用位置上的服务在所述第一数据与所述第二数据中对应的运行数据之间的差异值最大或者大于预定阈值时,将所述第一个不同的调用位置确定为所述出现调用中断的调用位置。
示例性的,所述异常服务调用信息所表示的被调用的服务包括一个或多个微服务,其中,基于所述异常服务调用信息确定所述多个服务中出现故障的异常服务,包括:通过比较异常调用顺序与正常调用顺序,确定所述异常调用顺序中出现调用中断的调用位置,其中,所述异常调用顺序是所述异常服务调用信息所表示的微服务的调用顺序,所述正常调用顺序是所述第一服务调用信息所表示的微服务的调用顺序;将所述异常服务调用信息所表示的被调用的微服务中位于所述调用中断的调用位置上的微服务确定为出现故障的异常微服务。
示例性的,所述异常服务调用信息所表示的被调用的软件服务包括一个或多个微服务的情况下,所述通过比较异常调用顺序与正常调用顺序,确定所述异常调用顺序中出现调用中断的调用位置,包括:在所述异常调用顺序中的调用位置与所述正常调用顺序中的部分调用位置相同时,在所述异常调用顺序中确定所述出现调用中断的调用位置,其中,所述出现调用中断的调用位置在所述正常调用顺序中存在后续的调用位置、且所述后续的调用位置未出现在所述异常调用顺序中;和/或在所述异常调用顺序中存在与所述正常调用顺序中对应的调用位置不同的调用位置时,将所述异常调用顺序中按照所述正常调用顺序确定出的第一个不同的调用位置确定为所述出现调用中断的调用位置。
示例性的,所述异常服务调用信息所表示的被调用的服务包括一个或多个微服务的情况下,在所述异常调用顺序中确定所述出现调用中断的调用位置,包括:根据所述第一向量与所述第二向量中对应的运行数据之间的差异值,在所述异常调用顺序中确定所述出现调用中断的调用位置,其中,所述出现调用中断的调用位置上的服务在所述第一数据与所述第二数据中对应的运行数据之间的差异值最大或者大于预定阈值。
示例性的,所述异常服务调用信息所表示的被调用的服务包括一个或多个微服务的情况下,所述将所述异常调用顺序中按照所述正常调用顺序确定出的第一个不同的调用位置确定为所述出现调用中断的调用位置,包括:在所述第一个不同的调用位置上的服务在所述第一数据与所述第二数据中对应的运行数据之间的差异值最大或者大于预定阈值时,将所述第一个不同的调用位置确定为所述出现调用中断的调用位置。
示例性的,所述异常服务调用信息所表示的被调用的服务包括一个或多个微服务,其中,在所述异常服务调用信息所表示的被调用的服务中确定出现故障的所述异常服务,包括:根据所述第一数据与所述第二数据中对应的运行数据之间的差异值,基于所述差异值确定所述服务中的第一服务,在所述第一服务中确定出现调用中断的调用位置,将调用位置对应的微服务确定为异常微服务。
示例性的,在所述确定发生故障的目标时刻之前,所述方法还包括:获取所述多个服务的运行数据,其中,所述多个服务的运行数据构成了第一数据;将所述第一数据输入到目标神经网络模型中,得到输出的第二数据,其中,所述目标神经网络模型用于对所述第一数据中的运行数据进行降维转换,得到降维后的中间数据,并将所述降维后的中间数据重建成所述第二数据中的重建数据,所述第一数据与所述第二数据具有相同的数据维度;在所述第一数据与所述第二数据之间的差异值大于第一预设阈值的情况下,确定所述目标业务发生故障;确定发生故障的目标时刻包括:将生成所述运行数据的时刻确定为所述目标时刻。
示例性的,在所述第一数据与所述第二数据之间的差异值大于第一预设阈值的情况下,确定所述目标业务在所述目标时刻上出现故障,包括:确定所述第一数据与所述第二数据中相同位置上的运行数据之间的差异值,得到多个差异值;在所述多个差异值之和大于所述第一预设阈值的情况下,或者,在对所述多个差异值进行加权求和所得到的目标差异值大于所述第一预设阈值的情况下,确定所述目标业务在所述目标时刻上出现故障。
示例性的,在将所述第一数据输入到目标神经网络模型中,得到输出的第二数据之前,所述方法还包括:获取样本业务中的多个样本服务在不同时刻上的运行数据,得到多个训练样本,其中,每个训练样本包括所述多个样本服务在相同时刻上的运行数据所构成的第一样本数据,在所述不同时刻上所述样本业务处于正常运行的状态;使用所述多个训练样本对待训练的神经网络模型进行训练,直到所述待训练的神经网络模型输出的第二样本数据与所述第一样本数据之间的差异值小于第二预设阈值时,得到所述目标神经网络模型,其中,所述待训练的神经网络模型用于对所述第一样本数据中的运行数据进行降维转换,得到降维后的样本中间数据,并将所述样本中间数据重建成所述第二样本数据中的重建数据,所述第一样本数据与所述第二样本数据具有相同的数据维度。
根据本公开实施例的第二方面,提供一种业务故障的检测装置,包括:第一确定单元,被配置为执行在目标业务发生故障的情况下,确定发生故障的目标时刻;获取单元,被配置为执行获取所述目标时刻之前的第一预设时长内所述目标业务中的多个服务的第一服务调用信息,以及所述目标时刻之后的第二预设时长内所述多个服务的第二服务调用信息;第二确定模块,被配置为执行确定所述第一服务调用信息中的每个服务调用信息所属的第一类别以及所述第二服务调用信息中的每个服务调用信息所属的第二类别;第三确定单元,被配置为执行确定所述第二类别中包括的与所述第一类别中包括的类别不一致的第三类别,并将所述第二服务调用信息中属于所述第三类别的服务调用信息确定为异常服务调用信息;第四确定模块,被配置为执行基于所述异常服务调用信息确定所述多个服务中出现故障的异常服务。
示例性的,所述第二确定模块通过如下方式实现确定所述第一服务调用信息中的每个服务调用信息所属的第一类别以及所述第二服务调用信息中的每个服务调用信息所属的第二类别:对所述第一服务调用信息进行聚类,得到第一聚类结果;根据所述第一聚类结果确定所述第一服务调用信息中的每个服务调用信息所属的所述第一类别,其中,所述第一类别中的服务调用信息为被正常调用的服务信息;对所述第二服务调用信息进行聚类,得到第二聚类结果;根据所述第二聚类结果确定所述第二服务调用信息中的每个服务调用信息所属的所述第二类别。
示例性的,所述第四确定模块通过如下方式实现基于所述异常服务调用信息确定所述多个服务中出现故障的异常服务:根据所述第一服务调用信息确定所述目标业务的正常调用顺序;根据所述异常服务调用信息确定所述目标业务的异常调用顺序;基于所述正常调用顺序以及所述异常调用顺序确定所述异常服务。
示例性的,所述第四确定模块通过如下方式实现基于所述正常调用顺序以及所述异常调用顺序确定所述异常服务:通过比较所述异常调用顺序与所述正常调用顺序,确定所述异常调用顺序中出现调用中断的调用位置,其中,所述异常调用顺序是所述异常服务调用信息所表示的服务的调用顺序,所述正常调用顺序是所述第一服务调用信息所表示的服务的调用顺序;确定所述异常服务调用信息所表示的被调用的服务中位于所述调用中断的调用位置上的目标服务;将所述目标服务确定为所述异常服务。
示例性的,所述第四确定模块通过如下方式实现通过比较异常调用顺序与正常调用顺序,确定所述异常调用顺序中出现调用中断的调用位置:在所述异常调用顺序中的调用位置与所述正常调用顺序中的部分调用位置相同时,在所述异常调用顺序中确定所述出现调用中断的调用位置,其中,所述出现调用中断的调用位置在所述正常调用顺序中存在后续的调用位置、且所述后续的调用位置未出现在所述异常调用顺序中;和/或在所述异常调用顺序中存在与所述正常调用顺序中对应的调用位置不同的调用位置时,将所述异常调用顺序中按照所述正常调用顺序确定出的第一个不同的调用位置确定为所述出现调用中断的调用位置。
示例性的,所述第四确定模块通过如下方式实现在所述异常调用顺序中确定所述出现调用中断的调用位置:获取所述多个服务在所述目标时刻上的运行数据,其中,所述多个服务在目标时刻上的运行数据构成了第一数据;将所述第一数据输入到目标神经网络模型中,得到输出的第二数据,其中,所述目标神经网络模型用于对所述第一数据中的运行数据进行降维转换,得到降维后的中间数据,并将所述降维后的中间数据重建成所述第二数据中的重建数据,所述第一数据与所述第二数据具有相同的数据维度;根据所述第一数据与所述第二数据中对应的运行数据之间的差异值,在所述异常调用顺序中确定所述出现调用中断的调用位置,其中,所述出现调用中断的调用位置上的服务在所述第一数据与所述第二数据中对应的运行数据之间的差异值最大或者大于预定阈值。
示例性的,所述第四确定模块通过如下方式实现将所述异常调用顺序中按照所述正常调用顺序确定出的第一个不同的调用位置确定为所述出现调用中断的调用位置:在所述第一个不同的调用位置上的服务在所述第一数据与所述第二数据中对应的运行数据之间的差异值最大或者大于预定阈值时,将所述第一个不同的调用位置确定为所述出现调用中断的调用位置。
示例性的,所述异常服务调用信息所表示的被调用的服务包括一个或多个微服务,其中,第四确定模块通过如下方式实现基于所述异常服务调用信息确定所述多个服务中出现故障的异常服务:通过比较异常调用顺序与正常调用顺序,确定所述异常调用顺序中出现调用中断的调用位置,其中,所述异常调用顺序是所述异常服务调用信息所表示的微服务的调用顺序,所述正常调用顺序是所述第一服务调用信息所表示的微服务的调用顺序;将所述异常服务调用信息所表示的被调用的微服务中位于所述调用中断的调用位置上的微服务确定为出现故障的异常微服务。
示例性的,所述装置通过如下方式实现所述异常服务调用信息所表示的被调用的服务包括一个或多个微服务的情况下,所述通过比较异常调用顺序与正常调用顺序,确定所述异常调用顺序中出现调用中断的调用位置:在所述异常调用顺序中的调用位置与所述正常调用顺序中的部分调用位置相同时,在所述异常调用顺序中确定所述出现调用中断的调用位置,其中,所述出现调用中断的调用位置在所述正常调用顺序中存在后续的调用位置、且所述后续的调用位置未出现在所述异常调用顺序中;和/或在所述异常调用顺序中存在与所述正常调用顺序中对应的调用位置不同的调用位置时,将所述异常调用顺序中按照所述正常调用顺序确定出的第一个不同的调用位置确定为所述出现调用中断的调用位置。
示例性的,所述装置通过如下方式实现所述异常服务调用信息所表示的被调用的服务包括一个或多个微服务的情况下,在所述异常调用顺序中确定所述出现调用中断的调用位置:根据所述第一数据与所述第二数据中对应的运行数据之间的差异值,在所述异常调用顺序中确定所述出现调用中断的调用位置,其中,所述出现调用中断的调用位置上的服务在所述第一数据与所述第二数据中对应的运行数据之间的差异值最大或者大于预定阈值。
示例性的,所述装置通过如下方式实现所述异常服务调用信息所表示的被调用的服务包括一个或多个微服务的情况下,所述将所述异常调用顺序中按照所述正常调用顺序确定出的第一个不同的调用位置确定为所述出现调用中断的调用位置:在所述第一个不同的调用位置上的服务在所述第一数据与所述第二数据中对应的运行数据之间的差异值最大或者大于预定阈值时,将所述第一个不同的调用位置确定为所述出现调用中断的调用位置。
示例性的,所述装置通过如下方式实现所述异常服务调用信息所表示的被调用的服务包括一个或多个微服务,其中,在所述异常服务调用信息所表示的被调用的服务中确定出现故障的所述异常服务:根据所述第一数据与所述第二数据中对应的运行数据之间的差异值,基于所述差异值确定所述服务中的第一服务,在所述第一服务中确定出现调用中断的调用位置,将调用位置对应的微服务确定为异常服务。
示例性的,所述装置还用于在所述确定发生故障的目标时刻之前:获取所述多个服务的运行数据,其中,所述多个服务的运行数据构成了第一数据;将所述第一数据输入到目标神经网络模型中,得到输出的第二数据,其中,所述目标神经网络模型用于对所述第一数据中的运行数据进行降维转换,得到降维后的中间数据,并将所述降维后的中间数据重建成所述第二数据中的重建数据,所述第一数据与所述第二数据具有相同的数据维度;在所述第一数据与所述第二数据之间的差异值大于第一预设阈值的情况下,确定所述目标业务发生故障;第一确定模块通过如下方式实现确定发生故障的目标时刻:将生成所述运行数据的时刻确定为所述目标时刻。
示例性的,所述装置通过如下方式实现在所述第一数据与所述第二数据之间的差异值大于第一预设阈值的情况下,确定所述目标业务在所述目标时刻上出现故障:确定所述第一数据与所述第二数据中相同位置上的运行数据之间的差异值,得到多个差异值;在所述多个差异值之和大于所述第一预设阈值的情况下,或者,在对所述多个差异值进行加权求和所得到的目标差异值大于所述第一预设阈值的情况下,确定所述目标业务在所述目标时刻上出现故障。
示例性的,所述装置还用于在将所述第一数据输入到目标神经网络模型中,得到输出的第二数据之前,获取样本业务中的多个样本服务在不同时刻上的运行数据,得到多个训练样本,其中,每个训练样本包括所述多个样本服务在相同时刻上的运行数据所构成的第一样本数据,在所述不同时刻上所述样本业务处于正常运行的状态;使用所述多个训练样本对待训练的神经网络模型进行训练,直到所述待训练的神经网络模型输出的第二样本数据与所述第一样本数据之间的差异值小于第二预设阈值时,得到所述目标神经网络模型,其中,所述待训练的神经网络模型用于对所述第一样本数据中的运行数据进行降维转换,得到降维后的样本中间数据,并将所述样本中间数据重建成所述第二样本数据中的重建数据,所述第一样本数据与所述第二样本数据具有相同的数据维度。
根据本公开实施例的第三方面,提供一种业务故障的定位电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如上述任一项所述的业务故障的定位方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由业务故障的定位电子设备的处理器执行时,使得业务故障的定位电子设备能够执行如上述实施例的所述的业务故障的定位方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述实施例的所述的业务故障的定位方法。
通过本公开,在目标业务发生故障的情况下,确定发生故障的目标时刻,获取目标时刻之前的第一预定时间内目标业务中的多个服务的第一服务调用信息,以及目标时刻之后的第二预定时长内多个服务的第二服务调用信息,确定第一服务调用信息中的每个服务调用信息所属的类别,以及第二服务调用信息中的每个服务调用信息所属的第二类别。确定第二类别中包括的与第一类别中包括的类别不一致的第三类别,将第二服务调用信息中属于第三类别的服务调用信息确定为异常服务调用信息,根据异常服务调用信息确定多个服务中出现故障的异常服务。由于可以根据服务调用信息进行故障定位,可以准确地定位到故障爆发点,即异常服务,快速止损。因此,可以解决相关技术中存在的业务故障定位不准确的问题,提高了故障定位的准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是相关技术中FluxRank故障定位流程。
图2是根据一示例性实施例示出的业务架构示意图。
图3是根据一示例性实施例示出的多个服务的性能指标构成的多维时间序列示意图。
图4是根据一示例性实施例示出的一种业务故障的定位方法的流程图。
图5是根据一示例性实施例示出的异常调用顺序示意图一。
图6是根据一示例性实施例示出的异常调用顺序示意图二。
图7是根据一示例性实施例示出的AE神经网络模型架构示意图。
图8是根据一示例性实施例示出的多个微服务构成一个完整的服务示意图。
图9是根据一示例性实施例示出的软件服务包括微服务的正常调用顺序示意图。
图10是根据一示例性实施例示出的软件服务包括微服务的异常调用顺序示意图一。
图11是根据一示例性实施例示出的软件服务包括微服务的异常调用顺序示意图二。
图12是根据一示例性实施例示出的多指标异常案例示意图。
图13是根据本公开具体实施方式的业务故障的定位方法流程图。
图14是根据一示例性实施例示出的一种业务故障的定位装置框图。
图15是根据一示例性实施例示出的一种用于业务故障的定位的电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在相关技术中,通常采用FluxRank定位方法和TraceAnomaly检测故障。FluxRank是一套机器异常定位的方法,当服务指标(如响应时长、服务接口成功率)出现异常时开启故障定位,如图1所示,FluxRank首先基于核密度估计衡量海量的机器性能指标在异常发生时间段的异常程度,然后对每台机器各个指标的异常程度进行聚合向量化来表征一个实例的异常程度,接着使用DBSCAN聚类算法来对机器进行聚类,最后把机器及指标的聚类结果进行排序和整合,呈现给运维工程师来快速定位机器故障。
TraceAnomaly是首个利用机器学习对服务调用信息(trace)进行异常检测和定位的方法,首先TraceAnomaly通过对每个服务调用信息中的调用路径和响应时间进行统一编码构造其特征向量x,然后特征向量x被输入到深度贝叶斯网络去学习其分布p(x)。在线检测时,每一个服务调用信息会被构造为相应的特征向量,如果该服务调用信息包含训练数据中没出现过的调用路径,则会被判断为异常,且新出现的调用路径会通过将其添加到“白名单”的方式让研发工程师确认其合理性;如果服务调用信息不包含没出现过的调用路径,训练好的模型则会计算其似然值(如),并将这个似然值作为异常分数,如果异常分数过低,则会被判定为异常,最终根据异常调用信息的特征向量对故障节点进行定位。
然而,FluxRank的开启依赖于服务性能指标的异常检测,而能反应服务性能的指标往往有多个如http请求量、响应时长、服务抛出异常数、业务返回码数量等,对每个指标单独训练一个异常检测模型往往会存在以下两个问题:1)单指标异常检测不会考虑指标间的关联和依赖关系,会存在较多漏报和误报;2)对于危害程度较高的故障来说,其发生时,往往多个指标都会出现异常,而单独地对每个指标进行异常检测和异常报警可能会产生报警风暴,增加运维工程师处置报警和故障定位的开销。其次,FluxRank在故障定位是关注的是机器性能指标,而由代码缺陷、配置变更等逻辑错误造成的故障有可能不会体现在机器性能指标上。TraceAnomaly采用实时对服务调用信息进行异常检测的策略,由于微服务众多,对于更迭较快的软件服务来说,新的调用路径出现是难免且频繁的,而TraceAnomaly会把包含新的调用路径的服务调用信息判定为异常,推送给研发工程师人为判断,这样会给研发工程师带来不必要的处置开销。
由此可知,相关技术中存在业务故障定位不准确的问题。
针对相关技术中存在的上述问题,本公开提出以下实施例:
在执行一项业务时,可能需要调用多个服务。业务架构示意图可参见附图2,如图2所示,某业务由5项核心服务组成,则在执行该业务时,需要调用这个5项服务。而在执行业务时,会存在产生故障的情况下,为了保证服务的稳定性,需要了解服务运行状态。在确定服务的运行状态时,需要监控服务相关的指标如QPS(每秒查询数),而这些指标由时间序列组成,因此,多个服务的指标集成在一起,即为多维时间序列,其中,多个服务的性能指标构成的多维时间序列示意图可参见附图3。
图4是根据一示例性实施例示出的一种业务故障的定位方法的流程图,如图4所示,业务故障的定位方法用于计算机终端中,包括以下步骤:
步骤S41,在目标业务发送故障的情况下,确定发生故障的目标时刻;
步骤S42,获取所述目标时刻之前的第一预设时长内所述目标业务中的多个服务的第一服务调用信息,以及所述目标时刻之后的第二预设时长内所述多个软件服务的第二服务调用信息;
步骤S43,确定所述第一服务调用信息中的每个服务调用信息所属的第一类别以及所述第二服务调用信息中的每个服务调用信息所属的第二类别;
步骤S44,确定所述第二类别中包括的与所述第一类别中包括的类别不一致的第三类别,并将所述第二服务调用信息中属于所述第三类别的服务调用信息确定为异常服务调用信息;
步骤S45,基于所述异常服务调用信息确定所述多个服务中出现故障的异常服务。
在上述实施例中,在目标业务发生故障的情况下,可以确定发生故障的目标时刻,根据目标时刻定位出现故障的异常服务。在确定异常服务时,可以获取目标时刻之前的第一预计时长内多个服务的第一服务调用信息,以及获取目标时刻之后的第二预计时长内的多个软件服务的第二服务调用信息。其中,目标时刻为发现故障的时刻,因此,可以默认在目标时刻之前的第一预计时长内的第一服务调用信息均为正常的调用信息。在目标时刻之后第二预计时长内的第二调用服务信息默认为存在异常的调用数据。第一预计时长可以为30min(该取值仅是一种示例性说明,第一预计时长还可以为10min、20min、1h等,本公开对此不作限制),第二预计时长可以为3min(该取值仅是一种示例性说明,第二预计时长还可以为1min、5min、10min等,本公开对此不作限制)。例如,将利用异常检测判断出的异常时刻作为分隔点,首先取异常时刻前一段时间(如30分钟)的正常模式下的第一服务调用信息,然后再取从异常时刻起3分钟内的第二服务调用信息。根据第一服务调用信息和第二服务调用信息确定异常服务。
在上述实施例中,在确定出现故障的异常服务时,可以首先确定第一服务调用信息中的每个服务调用信息所属的第一类别,以及第二服务调用信息中的每个服务调用信息所属的第二类别。再确定出第二类别中包括的与第一类别中包括的类别不一致的第三类别。由于第一服务调用信息为出现故障之前的调用信息,因此,第一服务调用信息为正常的服务调用信息,由第一服务调用信息确定出的第一类别中的服务也是正常的服务调用信息。而第三类别与第一类别不一致,因此,第三类别对应的服务调用信息则为异常服务调用信息。在确定出异常服务调用信息后,则可以通过异常服务调用信息确定出现故障的异常服务。
需要说明的是,多个服务为一组服务,即多个服务为完成目标业务所要调用的服务。而不同的客户端在执行目标业务时,需要调用的服务可以完全相同,也可以部分相同,因此,第一服务调用信息和第二服务调用信息中的每个服务调用信息用于表示多个服务中被调用的服务以及被调用的服务的调用顺序。
上述步骤的执行主体可以为处理器、服务器。
通过本公开,在目标业务发生故障的情况下,确定发生故障的目标时刻,获取目标时刻之前的第一预定时间内目标业务中的多个服务的第一服务调用信息,以及目标时刻之后的第二预定时长内多个服务的第二服务调用信息,确定第一服务调用信息中的每个服务调用信息所属的类别,以及第二服务调用信息中的每个服务调用信息所属的第二类别。确定第二类别中包括的与第一类别中包括的类别不一致的第三类别,将第二服务调用信息中属于第三类别的服务调用信息确定为异常服务调用信息,根据异常服务调用信息确定多个服务中出现故障的异常服务。由于可以根据服务调用信息进行故障定位,可以准确地定位到故障爆发点,即异常服务,快速止损。因此,可以解决相关技术中存在的业务故障定位不准确的问题,提高了故障定位的准确性。
在一个示例性实施例中,所述确定所述第一服务调用信息中的每个服务调用信息所属的第一类别以及所述第二服务调用信息中的每个服务调用信息所属的第二类别,包括:对所述第一服务调用信息进行聚类,得到第一聚类结果,根据所述第一聚类结果确定所述第一服务调用信息中的每个服务调用信息所属的所述第一类别,其中,所述第一类别中的服务调用信息为被正常调用的服务信息;对所述第二服务调用信息进行聚类,得到第二聚类结果;根据所述第二聚类结果确定所述第二服务调用信息中的每个服务调用信息所属的所述第二类别。在本实施例中,可以对第一服务调用信息进行聚类,得到第一聚类结果,根据第一聚类结果确定第一服务调用信息中的每个服务调用信息所属的第一类别。其中,第一类别对应一个或多个正常服务调用信息,每个正常服务调用信息用于表示被正常调用的服务以及被正常调用的服务的正常调用顺序;第三类别对应的异常服务调用信息中的每个服务调用信息用于标识被异常调用的服务以及被异常调用的服务的异常调用顺序。
在上述实施例中,对第一服务调用信息进行聚类,以确定第一服务调用信息中的每个服务调用信息所属的第一类别,对第二服务调用信息进行聚类,以确定第二服务调用信息中的每个服务调用信息所属的第二类别。由于通过聚类可以准确地确定出每个服务调用信息所属的类别,在此基础上,可以进一步准确地确定出异常服务调用信息,从而准确地定位异常服务。
在一个示例性实施例中,基于所述异常服务调用信息确定所述多个服务中出现故障的异常服务,包括:根据所述第一服务调用信息确定所述目标业务的正常调用顺序;根据所述异常服务调用信息确定所述目标业务的异常调用顺序;基于所述正常调用顺序以及所述异常调用顺序确定所述异常服务。在本实施例中,在根据异常服务调用信息确定异常服务时,可以对第一服务调用信息中的服务调用信息进行聚类,得到一个或多个正常服务调用信息,每个正常服务调用信息用来表示被正常调用的服务,以及服务的正常调用顺序。在第二服务调用信息中确定与一个或多个正常服务调用信息均不同的异常服务调用信息,在异常服务调用信息所表示的被调用的服务中确定出异常服务。例如,在故障定位阶段,将利用异常检测判断出的异常时刻作为分隔点,首先取异常时刻前一段时间(如30分钟)的正常模式下的服务调用信息数据,进行聚类,然后再取从异常时刻起3分钟内的服务调用信息根据聚好的类进行类别分配,如果某服务调用信息与每个类别都不相似,则被判定为离群调用信息(对应于上述异常服务调用信息),最后,在离群调用信息所表示的被调用的服务中确定出异常服务。
在上述实施例中,可以根据第一服务调用信息确定目标业务的正常调用顺序,根据第二服务调用信息确定目标业务的异常调用顺序,通过异常调用顺序和正常调用数据定位故障。由于在定位异常调用顺序中导致出现故障的服务时,可以采用正常调用顺序做参考,因此,可以准确定位到故障爆发点。
在一个示例性实施例中,所述基于所述正常调用顺序以及所述异常调用顺序确定所述异常服务,包括:通过比较异常调用顺序与正常调用顺序,确定所述异常调用顺序中出现调用中断的调用位置,其中,所述异常调用顺序是所述异常服务调用信息所表示的服务的调用顺序,所述正常调用顺序是所述一个或多个正常服务调用信息所表示的服务的调用顺序;确定所述异常服务调用信息所表示的被调用的服务中位于所述调用中断的调用位置上的目标服务,将所述目标服务确定为所述异常服务。在本实施例中,可以把离群调用信息与正常调用信息进行对比,结合排序后的服务指标异常信息,最终确定故障节点。即可以将异常调用顺序和正常调用顺序进行比较,确定出异常调用顺序中出现调用中断的调用位置,将调用中断的调用位置上的服务确定为异常服务。
在上述实施例中,正常调用顺序可以是一个或多个正常服务调用信息所表示的服务的调用顺序。例如,当目标业务包括A、B、C、D、E五个服务时,正常调用顺序可以参数附图2,异常调用顺序可参见附图5,通过对比附图2和附图5可以确定异常调用顺序中在服务B处调用中断,则可以将服务B确定为异常服务。
在上述实施例中,在确定出正常调用顺序和异常调用顺序之后,可以通过比对正常调用顺序和异常调用顺序,确定出调用中断的调用位置上的目标服务,将目标服务确定为异常服务。通过比对正常调用顺序和异常调用顺序可以直观地进行故障定位,准确定位到故障爆发点,协助运维工程师快速止损。
在一个示例性实施例中,所述通过比较异常调用顺序与正常调用顺序,确定所述异常调用顺序中出现调用中断的调用位置,包括:在所述异常调用顺序中的调用位置与所述正常调用顺序中的部分调用位置相同时,在所述异常调用顺序中确定所述出现调用中断的调用位置,其中,所述出现调用中断的调用位置在所述正常调用顺序中存在后续的调用位置、且所述后续的调用位置未出现在所述异常调用顺序中;和/或在所述异常调用顺序中存在与所述正常调用顺序中对应的调用位置不同的调用位置时,将所述异常调用顺序中按照所述正常调用顺序确定出的第一个不同的调用位置确定为所述出现调用中断的调用位置。在本实施例中,正常调用顺序可以参数附图2,异常调用顺序可参见附图6,通过对比可以确定附图2和附图6中存在部分调用位置相同,在异常调用顺序中确定出调用中断的调用位置,即将服务B确定调用中断的调用位置。和/或,在异常调用顺序中存在与正常调用顺序中对应的调用位置不同的调用位置时,将第一个不同的调用位置确定为出现调用中断的调用位置,即将附图6中的服务E的位置确定为调用中断的调用位置。
在上述实施例中,当异常调用顺序中的调用位置与正常调用顺序中的部分调用位置相同时,在异常调用顺序中确定出现调用中断的调用位置,且该出现调用中断的调用位置在正常调用顺序中存在后续的调用位置,和/或在异常调用顺序中存在与正常调用顺序中对应的调用位置不同的调用位置,将第一个不同的调用位置确定为出现调用中断的调用位置。由于在异常调用顺序和正常调用顺序中存在调用位置不同时,可以通过多种方式确定出现调用中断的调用位置,防止出现判断遗漏的情况发生。。
在一个示例性实施例中,在所述异常调用顺序中确定所述出现调用中断的调用位置,包括:获取所述多个服务在所述目标时刻上的运行数据,其中,所述多个服务在目标时刻上的运行数据构成了第一数据;将所述第一数据输入到目标神经网络模型中,得到输出的第二数据,其中,所述目标神经网络模型用于对所述第一数据中的运行数据进行降维转换,得到降维后的中间数据,并将所述降维后的中间数据重建成所述第二数据中的重建数据,所述第一数据与所述第二数据具有相同的数据维度;根据所述第一数据与所述第二数据中对应的运行数据之间的差异值,在所述异常调用顺序中确定所述出现调用中断的调用位置,其中,所述出现调用中断的调用位置上的服务在所述第一数据与所述第二数据中对应的运行数据之间的差异值最大或者大于预定阈值。在本实施例中,在确定出现调用中断的调用位置时,还可以根据第一数据和第二数据中对应的运行数据之间的差异值,在异常调用顺序中确定出现调用中断的调用位置。即将差异值最大或者大于预定阈值的数据对应的位置确定为出现调用中断的调用位置。
在上述实施例中,目标神经网络模型可以为无监督神经网络模型(AE)。其中,AE神经网络模型架构示意图可参见附图7,如图7所示,其主要结构包括编码器E和解码器D,编码器E负责把输入的多维数据X(对应于上述第一数据)转化成一组隐变量z(对应于上述中间数据),解码器D负责把隐变量z恢复到输入空间,记做重构数据X~(对应于上述第二数据),重构数据和输入数据之间的L1-norm作为重建误差,训练过程即最小化这个误差的过程。经过训练后的AE模型即可投入到在线异常检测模块使用。其中,第一数据和第二数据的差异值可以通过LAE=||X-X~||1计算。
在上述实施例中,将第一数据输入至目标神经网络模型中得到第二数据,通过第一数据和第二数据的差异值定位出现调用中断的调用位置。由于第一数据是多个服务在目标时刻上的运行数据,即在确定调用中断的调用位置时,联合了多个指标进行判断,因此,可以提高判断的准确性和全面性。
在一个示例性实施例中,所述将所述异常调用顺序中按照所述正常调用顺序确定出的第一个不同的调用位置确定为所述出现调用中断的调用位置,包括:在所述第一个不同的调用位置上的服务在所述第一数据与所述第二数据中对应的运行数据之间的差异值最大或者大于预定阈值时,将所述第一个不同的调用位置确定为所述出现调用中断的调用位置。在本实施例中,在异常调用顺序中包括的第一个不同的调用位置上的服务在第一数据与第二数据中对应的运行数据之间的差异值最大或大于预定阈值的情况下,将第一个不同的调用位置确定为出现调用中断的调用位置。
在上述实施例中,在第一个不同的调用位置上的服务在第一数据与第二数据中对应的运行数据之间的差值最大或者大于预定阈值的情况下,可以将第一个不同的调用位置确定为出现调用中断的调用位置。由于在确定调用位置时,可以将差异值最大的数据对应的位置确定为出现中断的调用位置,或者将差异值大于预定阈值的数据对应的位置确定为出现中断的调用位置,可以适应出现故障的不同情况,例如,当正常调用顺序为服务A、服务B、服务C,异常调用顺序为服务A、服务B,在确定出现调用中断的位置时,可以将服务B确定为出现调用中断的调用位置,但此时,服务B对应的数据的差异值是小于服务C对应的数据的差异值的,因此,可以选择将差异值大于预定阈值的数据对应的调用位置确定为出现调用中断的位置。当正常调用顺序为服务A、服务B、服务C,异常调用顺序为服务A、服务B,在确定出现调用中断的位置时,可以将服务C确定为出现调用中断的调用位置,因此,即可以选择将差异值最大的数据对应的调用位置确定为出现调用中断的位置。由于在确定调用中断位置时可以采用不同的条件进行判断,因此,可以适应不同的异常情况。
在一个示例性实施例中,所述异常服务调用信息所表示的被调用的服务包括一个或多个微服务,其中,在所述异常服务调用信息所表示的被调用的服务中确定出现故障的所述异常服务,包括:通过比较异常调用顺序与正常调用顺序,确定所述异常调用顺序中出现调用中断的调用位置,其中,所述异常调用顺序是所述异常服务调用信息所表示的微服务的调用顺序,所述正常调用顺序是所述第一服务调用信息所表示的微服务的调用顺序;将所述异常服务调用信息所表示的被调用的微服务中位于所述调用中断的调用位置上的微服务确定为出现故障的异常微服务。在本实施例中,在被调用的软件服务中包括一个或多个微服务的情况下,当异常检测模型在时刻t检测出异常时,需结合服务调用信息进行故障定位。由于一个服务可能是由多个微服务构成,因此,一次完整的调用信息包括相关微服务的调用情况。其中,多个微服务构成一个完整的服务示意图可参见附图8。
在上述实施例中,故障定位时,首先取异常时刻t前30分钟的服务调用信息进行聚类,认为异常时刻前的调用信息都为正常的调用信息,其中,服务包括微服务的正常调用顺序示意图可参见附图9。取异常时刻t后的异常调用信息,如果存在与任意一类正常调用信息都不同的调用信息,则认为其为异常调用信息,其中,服务包括微服务的异常调用顺序可参见附图9。比对正常调用顺序与异常调用顺序,将调用中断的调用位置上的微服务确定为异常微服务。例如,可以将微服务B.b确定为出现调用中断的调用位置,将微服务B.b确定异常微服务。
在上述实施例中,当异常服务调用信息所表示的被调用的服务包括一个或多个微服务时,可以通过比较异常调用顺序与正常调用顺序确定异常调用顺序中出现中断的位置,将微服务中位于调用中断的调用位置上的微服务确定为出现故障的异常微服务。由于在定位异常调用顺序中导致出现故障的微服务时,可以采用正常调用顺序做参考,因此,可以准确定位到故障爆发点。
在一个示例性实施例中,所述异常服务调用信息所表示的被调用的软件服务包括一个或多个微服务的情况下,所述通过比较异常调用顺序与正常调用顺序,确定所述异常调用顺序中出现调用中断的调用位置,包括:在所述异常调用顺序中的调用位置与所述正常调用顺序中的部分调用位置相同时,在所述异常调用顺序中确定所述出现调用中断的调用位置,其中,所述出现调用中断的调用位置在所述正常调用顺序中存在后续的调用位置、且所述后续的调用位置未出现在所述异常调用顺序中;和/或在所述异常调用顺序中存在与所述正常调用顺序中对应的调用位置不同的调用位置时,将所述异常调用顺序中按照所述正常调用顺序确定出的第一个不同的调用位置确定为所述出现调用中断的调用位置。在本实施例中,正常调用顺序可以参见附图9,异常调用顺序可参见附图10,通过对比可以确定附图7和附图10中存在部分调用位置相同,在异常调用顺序中确定出调用中断的调用位置,即将服务B.b确定调用中断的调用位置。和/或,在异常调用顺序中存在与正常调用顺序中对应的调用位置不同的调用位置时,将第一个不同的调用位置确定为出现调用中断的调用位置,即将附图11中的服务E.a的位置确定为调用中断的调用位置。
在一个示例性实施例中,所述异常服务调用信息所表示的被调用的服务包括一个或多个微服务的情况下,在所述异常调用顺序中确定所述出现调用中断的调用位置,包括:根据所述第一向量与所述第二向量中对应的运行数据之间的差异值,在所述异常调用顺序中确定所述出现调用中断的调用位置,其中,所述出现调用中断的调用位置上的服务在所述第一数据与所述第二数据中对应的运行数据之间的差异值最大或者大于预定阈值。在本实施例中,在确定出现调用中断的调用位置时,还可以根据第一数据和第二数据中对应的运行数据之间的差异值,在异常调用顺序中确定出现调用中断的调用位置。即将差异值最大或者大于预定阈值的向量对应的位置确定为出现调用中断的调用位置。
在一个示例性实施例中,所述异常服务调用信息所表示的被调用的服务包括一个或多个微服务的情况下,所述将所述异常调用顺序中按照所述正常调用顺序确定出的第一个不同的调用位置确定为所述出现调用中断的调用位置,包括:在所述第一个不同的调用位置上的服务在所述第一数据与所述第二数据中对应的运行数据之间的差异值最大或者大于预定阈值时,将所述第一个不同的调用位置确定为所述出现调用中断的调用位置。在本实施例中,在异常调用顺序中包括的第一个不同的调用位置上的软件服务在第一数据与第二数据中对应的运行数据之间的差异值最大或大于预定阈值的情况下,将第一个不同的调用位置确定为出现调用中断的调用位置。
在一个示例性实施例中,所述异常服务调用信息所表示的被调用的服务包括一个或多个微服务,其中,在所述异常服务调用信息所表示的被调用的服务中确定出现故障的所述异常服务,包括:根据所述第一数据与所述第二数据中对应的运行数据之间的差异值,基于所述差异值确定所述服务中的第一服务,在所述第一服务中确定出现调用中断的调用位置,将调用位置对应的微服务确定为异常微服务。在本实施例中,可以通过第一数据和第二数据的中对应的运行数据之间的差异值确定出服务中差异程度最大或差异程度大于预定阈值的服务,再确定该服务中出现中断的微服务,将该微服务确定为异常微服务。例如,服务B的异常程度最大,且调用信息在微服务B.b出中断,则可定位故障节点为微服务B.b。
在一个示例性实施例中,在所述确定发生故障的目标时刻之前,所述方法还包括:获取所述多个服务的运行数据,其中,所述多个服务的运行数据构成了第一数据;将所述第一数据输入到目标神经网络模型中,得到输出的第二数据,其中,所述目标神经网络模型用于对所述第一数据中的运行数据进行降维转换,得到降维后的中间数据,并将所述降维后的中间数据重建成所述第二数据中的重建数据,所述第一数据与所述第二数据具有相同的数据维度;在所述第一数据与所述第二数据之间的差异值大于第一预设阈值的情况下,确定所述目标业务发生故障;确定发生故障的目标时刻包括:将生成所述运行数据的时刻确定为所述目标时刻。在本实施例中,目标业务可以包括多组服务,获取一组服务在目标时刻的运行数据,一组服务在目标时刻上的运行数据可以构成一组数据,即第一数据。第一数据中的每个元素可以表示多个服务中的第一服务的运行数据。将第一数据输入值目标神经网络模型中,得到第二数据。其中,第二数据是与第一数据具有相同的数据维度的数据。即,第二数据中包括的元素个数与第一数据的中包括的元素个数相同,且,第二数据与第一数据中相同位置的元素表示同一个服务的运行数据。
在上述实施例中,目标神经网络模型可以为无监督神经网络模型(AE)。其中,AE神经网络模型架构示意图可参见附图7,如图7所示,其主要结构包括编码器E和解码器D,编码器E负责把输入的多维数据X(对应于上述第一数据)转化成一组隐变量z(对应于上述中间数据),解码器D负责把隐变量z恢复到输入空间,记做重构数据X~(对应于上述第二数据),重构数据和输入数据之间的L1-norm作为重建误差,训练过程即最小化这个误差的过程。经过训练后的AE模型即可投入到在线异常检测模块使用。
在上述实施例中,第一数据和第二数据的差异值可以通过LAE=||X-X~||1计算。当第一数据和第二数据的差异值大于第一预定阈值的情况下,可以确定目标业务在目标时刻上出现故障。其中,多指标异常案例示意图可参见附图12,如图12所示,在框选的时间区间,多个指标出现了下跌异常。则可以认为目标业务在框选的时间区间内存在异常。判断出异常后,模型可以根据每一维度的异常分数对异常指标进行排序,为根因定位提供信息。
在上述实施例中,在得到对第一数据后,可以通过目标模型确定第二数据,并通过第一数据和第二数据之间的差异值检测故障。其中,第一数据包括多个服务的运行数据。即在检测故障时,可以基于多指标联合判断,对异常的检测更准确和全面,提高了对服务异常的发现能力。
在一个示例性实施例中,在所述第一数据与所述第二数据之间的差异值大于第一预设阈值的情况下,确定所述目标业务在所述目标时刻上出现故障,包括:确定所述第一数据与所述第二数据中相同位置上的运行数据之间的差异值,得到多个差异值;在所述多个差异值之和大于所述第一预设阈值的情况下,或者,在对所述多个差异值进行加权求和所得到的目标差异值大于所述第一预设阈值的情况下,确定所述目标业务在所述目标时刻上出现故障。在本实施例中,可以确定第一数据和第二数据中相同位置的运行数据之间的差异值,可以得到多个差异值,将多个差异值确定为一组差异值,计算一组差异值的和,或加权和,在差异值和大于第一预定阈值,或加权和大于第一预定阈值的情况下,确定目标业务在目标时刻出现故障。例如,当在时刻t,模型的输入数据为5项指标在此时刻的数值构成的第一数据x=(x1,x2,x3,x4,x5),模型的输出则为对输入值的重建得到的第二数据通过计算第一数据和第二数据的差异值的和,得到异常分数(对应于上述多个差异值之和)。当异常分数超过设定的异常阈值时,则认为该时刻出现异常。当然,还可以预先确定目标业务中包括的各个服务的权重,将各个权重与各个权重所对应的差异值的积的和确定为目标差异值。其中,各个服务的权重之和为1。其中,第一数据和第二数据均可以为向量。
在上述实施例中,确定第一数据和第二数据中相同位置的运行数据之间的差异值,可以得到多个差异值,将多个差异值确定为一组差异值,计算一组差异值的和,或加权和,在差异值和大于第一预定阈值,或加权和大于第一预定阈值的情况下,确定目标业务在目标时刻出现故障。由于可以通过多个差异值之和或者多个差异值的加权之和确定目标业务出现故障,即通过多个指标确定多个指标的差异值,综合多个指标检测故障可以对异常的检测更准确和全面。
在一个示例性实施例中,在将所述第一数据输入到目标神经网络模型中,得到输出的第二数据之前,所述方法还包括:获取样本业务中的多个样本服务在不同时刻上的运行数据,得到多个训练样本,其中,每个训练样本包括所述多个样本服务在相同时刻上的运行数据所构成的第一样本数据,在所述不同时刻上所述样本业务处于正常运行的状态;使用所述多个训练样本对待训练的神经网络模型进行训练,直到所述待训练的神经网络模型输出的第二样本数据与所述第一样本数据之间的差异值小于第二预设阈值时,得到所述目标神经网络模型,其中,所述待训练的神经网络模型用于对所述第一样本数据中的运行数据进行降维转换,得到降维后的样本中间数据,并将所述样本中间数据重建成所述第二样本数据中的重建数据,所述第一样本数据与所述第二样本数据具有相同的数据维度。在本实施例中,在利用目标神经网络模型确定重建的第二数据之前,可以使用业务正常运行状态下的样本业务中的历史多维时间序列数据来对AE模型进行训练,训练完成后即可将模型投入实时检测。
在上述实施例中,在利用目标神经网络对第一数据进行处理得到第二数据之前,可以先获取样本业务中的多个样本服务在不同时间上的运行数据,得到多个训练样本,并使用多个训练样本对待训练的神经网络模型进行训练,直到待训练的神经网络模型输出的第二样本数据与第一样本数据之间的差异值小于第二预设阈值时,得到目标神经网络模型。由于可以先通过多个训练样本多待训练的神经网络模型进行训练,可以得到训练满足使用要求的目标神经网络模型,训练后得到的目标神经网络模型可以准确地得出第二数据,提高得到的第二数据的准确性,从而提高了检测故障的准确性。
在上述实施例中,当确定出异常服务后,可以将出现异常服务以及异常调用顺序进行排序整合,确定为报警信息,提供给运维工程师经过排序整合后的报警信息,利于排障,防止报警风暴的产生。
下面结合具体实施方式对业务故障的定位方法进行说明:
图13是根据本公开具体实施方式的业务故障的定位方法流程图,如图13所示,服务故障诊断机制,即业务故障的定位方法完整流程可以分为两部分:异常检测和故障定位,首先在异常检测部分,同时收集多项服务指标的数据,输入到已经训练好的多指标异常检测AE模型中,如果实时多指标数据被模型判定为异常,则对多项服务指标按异常程度由高到低进行排序,同时开启故障定位;在故障定位阶段,利用异常检测判断出的异常时刻作为分隔点,首先取异常时刻前一段时间(如30分钟)的正常模式下的服务调用信息数据,进行聚类,然后再取从异常时刻起3分钟内的服务调用信息根据聚好的类进行类别分配,如果某服务调用信息与每个类别都不相似,则被判定为离群调用信息,最后把离群调用信息与正常调用信息进行对比,结合排序后的服务指标异常信息,最终确定故障节点。
在前述实施例中,对多项服务性能指标进行联合异常检测并结合微服务调用信息进行故障定位的软件服务故障诊断机制,旨在协助运维工程师准确地发现异常,进而快速定位故障爆发点进行止损操作。提高了对服务异常的发现能力,基于多指标联合判断,对异常的检测更准确和全面。防止报警风暴的产生,提供给运维工程师经过排序整合后的报警信息,利于排障。基于服务调用信息进行故障定位,准确定位到故障爆发点,协助运维工程师快速定位故障。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本公开所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本公开各个实施例的方法。
图14是根据一示例性实施例示出的一种业务故障的定位装置框图。参照图14,该装置包括第一确定单元1402,获取单元1404,第二确定单元1406,第三确定单元1408和第四确定单元1410。
第一确定单元1402,被配置为执行在目标业务发生故障的情况下,确定发生故障的目标时刻;获取单元1404,被配置为执行获取所述目标时刻之前的第一预设时长内所述目标业务中的多个服务的第一服务调用信息,以及所述目标时刻之后的第二预设时长内所述多个服务的第二服务调用信息;第二确定模块1406,被配置为执行确定所述第一服务调用信息中的每个服务调用信息所属的第一类别以及所述第二服务调用信息中的每个服务调用信息所属的第二类别;第三确定单元1408,被配置为执行确定所述第二类别中包括的与所述第一类别中包括的类别不一致的第三类别,并将所述第二服务调用信息中属于所述第三类别的服务调用信息确定为异常服务调用信息;第四确定模块1410,被配置为执行基于所述异常服务调用信息确定所述多个服务中出现故障的异常服务。
在一个示例性实施例中,第二确定模块1406可以通过如下方式实现确定所述第一服务调用信息中的每个服务调用信息所属的第一类别以及所述第二服务调用信息中的每个服务调用信息所属的第二类别:对所述第一服务调用信息进行聚类,得到第一聚类结果;根据所述第一聚类结果确定所述第一服务调用信息中的每个服务调用信息所属的所述第一类别,其中,所述第一类别中的服务调用信息为被正常调用的服务信息;对所述第二服务调用信息进行聚类,得到第二聚类结果;根据所述第二聚类结果确定所述第二服务调用信息中的每个服务调用信息所属的所述第二类别。
在一个示例性实施例中,第四确定模块1410可以通过如下方式实现基于所述异常服务调用信息确定所述多个服务中出现故障的异常服务:根据所述第一服务调用信息确定所述目标业务的正常调用顺序;根据所述异常服务调用信息确定所述目标业务的异常调用顺序;基于所述正常调用顺序以及所述异常调用顺序确定所述异常服务。
在一个示例性实施例中,第四确定模块1410可以通过如下方式实现基于所述正常调用顺序以及所述异常调用顺序确定所述异常服务:通过比较所述异常调用顺序与所述正常调用顺序,确定所述异常调用顺序中出现调用中断的调用位置,其中,所述异常调用顺序是所述异常服务调用信息所表示的服务的调用顺序,所述正常调用顺序是所述第一服务调用信息所表示的服务的调用顺序;确定所述异常服务调用信息所表示的被调用的服务中位于所述调用中断的调用位置上的目标服务;将所述目标服务确定为所述异常服务。
在一个示例性实施例中,第四确定模块1410可以通过如下方式实现通过比较异常调用顺序与正常调用顺序,确定所述异常调用顺序中出现调用中断的调用位置:在所述异常调用顺序中的调用位置与所述正常调用顺序中的部分调用位置相同时,在所述异常调用顺序中确定所述出现调用中断的调用位置,其中,所述出现调用中断的调用位置在所述正常调用顺序中存在后续的调用位置、且所述后续的调用位置未出现在所述异常调用顺序中;和/或在所述异常调用顺序中存在与所述正常调用顺序中对应的调用位置不同的调用位置时,将所述异常调用顺序中按照所述正常调用顺序确定出的第一个不同的调用位置确定为所述出现调用中断的调用位置。
在一个示例性实施例中,第四确定模块1410可以通过如下方式实现在所述异常调用顺序中确定所述出现调用中断的调用位置:获取所述多个服务在所述目标时刻上的运行数据,其中,所述多个服务在目标时刻上的运行数据构成了第一数据;将所述第一数据输入到目标神经网络模型中,得到输出的第二数据,其中,所述目标神经网络模型用于对所述第一数据中的运行数据进行降维转换,得到降维后的中间数据,并将所述降维后的中间数据重建成所述第二数据中的重建数据,所述第一数据与所述第二数据具有相同的数据维度;根据所述第一数据与所述第二数据中对应的运行数据之间的差异值,在所述异常调用顺序中确定所述出现调用中断的调用位置,其中,所述出现调用中断的调用位置上的服务在所述第一数据与所述第二数据中对应的运行数据之间的差异值最大或者大于预定阈值。
在一个示例性实施例中,第四确定模块1410可以通过如下方式实现将所述异常调用顺序中按照所述正常调用顺序确定出的第一个不同的调用位置确定为所述出现调用中断的调用位置:在所述第一个不同的调用位置上的服务在所述第一数据与所述第二数据中对应的运行数据之间的差异值最大或者大于预定阈值时,将所述第一个不同的调用位置确定为所述出现调用中断的调用位置。
在一个示例性实施例中,所述异常服务调用信息所表示的被调用的服务包括一个或多个微服务,其中,第四确定模块1410可以通过如下方式实现基于所述异常服务调用信息确定所述多个服务中出现故障的异常服务:通过比较异常调用顺序与正常调用顺序,确定所述异常调用顺序中出现调用中断的调用位置,其中,所述异常调用顺序是所述异常服务调用信息所表示的微服务的调用顺序,所述正常调用顺序是所述第一服务调用信息所表示的微服务的调用顺序;将所述异常服务调用信息所表示的被调用的微服务中位于所述调用中断的调用位置上的微服务确定为出现故障的异常微服务。
在一个示例性实施例中,所述装置可以通过如下方式实现所述异常服务调用信息所表示的被调用的服务包括一个或多个微服务的情况下,所述通过比较异常调用顺序与正常调用顺序,确定所述异常调用顺序中出现调用中断的调用位置:在所述异常调用顺序中的调用位置与所述正常调用顺序中的部分调用位置相同时,在所述异常调用顺序中确定所述出现调用中断的调用位置,其中,所述出现调用中断的调用位置在所述正常调用顺序中存在后续的调用位置、且所述后续的调用位置未出现在所述异常调用顺序中;和/或在所述异常调用顺序中存在与所述正常调用顺序中对应的调用位置不同的调用位置时,将所述异常调用顺序中按照所述正常调用顺序确定出的第一个不同的调用位置确定为所述出现调用中断的调用位置。
在一个示例性实施例中,所述装置可以通过如下方式实现所述异常服务调用信息所表示的被调用的服务包括一个或多个微服务的情况下,在所述异常调用顺序中确定所述出现调用中断的调用位置:根据所述第一数据与所述第二数据中对应的运行数据之间的差异值,在所述异常调用顺序中确定所述出现调用中断的调用位置,其中,所述出现调用中断的调用位置上的服务在所述第一数据与所述第二数据中对应的运行数据之间的差异值最大或者大于预定阈值。
在一个示例性实施例中,所述装置可以通过如下方式实现所述异常服务调用信息所表示的被调用的服务包括一个或多个微服务的情况下,所述将所述异常调用顺序中按照所述正常调用顺序确定出的第一个不同的调用位置确定为所述出现调用中断的调用位置:在所述第一个不同的调用位置上的服务在所述第一数据与所述第二数据中对应的运行数据之间的差异值最大或者大于预定阈值时,将所述第一个不同的调用位置确定为所述出现调用中断的调用位置。
在一个示例性实施例中,所述装置可以通过如下方式实现所述异常服务调用信息所表示的被调用的服务包括一个或多个微服务,其中,在所述异常服务调用信息所表示的被调用的服务中确定出现故障的所述异常服务:根据所述第一数据与所述第二数据中对应的运行数据之间的差异值,基于所述差异值确定所述服务中的第一服务,在所述第一服务中确定出现调用中断的调用位置,将调用位置对应的微服务确定为异常服务。
在一个示例性实施例中,所述装置可以用于在所述确定发生故障的目标时刻之前,:获取所述多个服务的运行数据,其中,所述多个服务的运行数据构成了第一数据;将所述第一数据输入到目标神经网络模型中,得到输出的第二数据,其中,所述目标神经网络模型用于对所述第一数据中的运行数据进行降维转换,得到降维后的中间数据,并将所述降维后的中间数据重建成所述第二数据中的重建数据,所述第一数据与所述第二数据具有相同的数据维度;在所述第一数据与所述第二数据之间的差异值大于第一预设阈值的情况下,确定所述目标业务发生故障;第一确定模块1402可以通过如下方式实现确定发生故障的目标时刻:将生成所述运行数据的时刻确定为所述目标时刻。
在一个示例性实施例中,所述装置可以通过如下方式实现在所述第一数据与所述第二数据之间的差异值大于第一预设阈值的情况下,确定所述目标业务在所述目标时刻上出现故障:确定所述第一数据与所述第二数据中相同位置上的运行数据之间的差异值,得到多个差异值;在所述多个差异值之和大于所述第一预设阈值的情况下,或者,在对所述多个差异值进行加权求和所得到的目标差异值大于所述第一预设阈值的情况下,确定所述目标业务在所述目标时刻上出现故障。
在一个示例性实施例中,所述装置可以用于在将所述第一数据输入到目标神经网络模型中,得到输出的第二数据之前,获取样本业务中的多个样本服务在不同时刻上的运行数据,得到多个训练样本,其中,每个训练样本包括所述多个样本服务在相同时刻上的运行数据所构成的第一样本数据,在所述不同时刻上所述样本业务处于正常运行的状态;使用所述多个训练样本对待训练的神经网络模型进行训练,直到所述待训练的神经网络模型输出的第二样本数据与所述第一样本数据之间的差异值小于第二预设阈值时,得到所述目标神经网络模型,其中,所述待训练的神经网络模型用于对所述第一样本数据中的运行数据进行降维转换,得到降维后的样本中间数据,并将所述样本中间数据重建成所述第二样本数据中的重建数据,所述第一样本数据与所述第二样本数据具有相同的数据维度。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图15是根据一示例性实施例示出的一种用于业务故障的定位的电子设备的框图。如图15所示,该电子设备包括处理器1520和用于存储上述处理器可执行指令的存储器1510。上述处理器被配置为执行指令,以实现上述的人脸模型的渲染方法。本实施例中的电子设备还可以包括传输装置1530、显示器1540和连接总线1550。传输装置1530用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1530包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1530为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。上述显示器1540用于显示上述第一信息;上述连接总线950,用于连接上述电子设备中的各个模块部件。
在示例性实施例中,提供一种业务故障的定位服务器或电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如上述任一项实施例所述的业务故障的定位方法。
在示例性实施例中,还提供了一种包括指令的存储介质,当存储介质中的指令由终端的处理器执行时,使得终端能够执行上述任一项的业务故障的定位方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
可选地,在本实施例中,上述存储介质可以用于保存上述实施例所提供的业务故障的定位方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
在示例性实施例中,还提供了一种计算机程序产品,当计算机程序产品中的计算机程序由终端的处理器执行时,使得终端能够执行上述任一项的业务故障的定位方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种业务故障的定位方法,其特征在于,包括:
在目标业务发生故障的情况下,确定发生故障的目标时刻;
获取所述目标时刻之前的第一预设时长内所述目标业务中的多个服务的第一服务调用信息,以及所述目标时刻之后的第二预设时长内所述多个服务的第二服务调用信息;
确定所述第一服务调用信息中的每个服务调用信息所属的第一类别以及所述第二服务调用信息中的每个服务调用信息所属的第二类别;
确定所述第二类别中包括的与所述第一类别中包括的类别不一致的第三类别,并将所述第二服务调用信息中属于所述第三类别的服务调用信息确定为异常服务调用信息;
基于所述异常服务调用信息确定所述多个服务中出现故障的异常服务。
2.根据权利要求1所述的方法,其特征在于,所述确定所述第一服务调用信息中的每个服务调用信息所属的第一类别以及所述第二服务调用信息中的每个服务调用信息所属的第二类别,包括:
对所述第一服务调用信息进行聚类,得到第一聚类结果;
根据所述第一聚类结果确定所述第一服务调用信息中的每个服务调用信息所属的所述第一类别,其中,所述第一类别中的服务调用信息为被正常调用的服务信息;
对所述第二服务调用信息进行聚类,得到第二聚类结果;
根据所述第二聚类结果确定所述第二服务调用信息中的每个服务调用信息所属的所述第二类别。
3.根据权利要求1所述的方法,其特征在于,所述基于所述异常服务调用信息确定所述多个服务中出现故障的异常服务,包括:
根据所述第一服务调用信息确定所述目标业务的正常调用顺序;
根据所述异常服务调用信息确定所述目标业务的异常调用顺序;
基于所述正常调用顺序以及所述异常调用顺序确定所述异常服务。
4.根据权利要求3所述的方法,其特征在于,所述基于所述正常调用顺序以及所述异常调用顺序确定所述异常服务,包括:
通过比较所述异常调用顺序与所述正常调用顺序,确定所述异常调用顺序中出现调用中断的调用位置,其中,所述异常调用顺序是所述异常服务调用信息所表示的服务的调用顺序,所述正常调用顺序是所述第一服务调用信息所表示的服务的调用顺序;
确定所述异常服务调用信息所表示的被调用的服务中位于所述调用中断的调用位置上的目标服务;
将所述目标服务确定为所述异常服务。
5.根据权利要求4所述的方法,其特征在于,所述通过比较异常调用顺序与正常调用顺序,确定所述异常调用顺序中出现调用中断的调用位置,包括:
在所述异常调用顺序中的调用位置与所述正常调用顺序中的部分调用位置相同时,在所述异常调用顺序中确定所述出现调用中断的调用位置,其中,所述出现调用中断的调用位置在所述正常调用顺序中存在后续的调用位置、且所述后续的调用位置未出现在所述异常调用顺序中;和/或
在所述异常调用顺序中存在与所述正常调用顺序中对应的调用位置不同的调用位置时,将所述异常调用顺序中按照所述正常调用顺序确定出的第一个不同的调用位置确定为所述出现调用中断的调用位置。
6.根据权利要求5所述的方法,其特征在于,在所述异常调用顺序中确定所述出现调用中断的调用位置,包括:
获取所述多个服务在所述目标时刻上的运行数据,其中,所述多个服务在目标时刻上的运行数据构成了第一数据;
将所述第一数据输入到目标神经网络模型中,得到输出的第二数据,其中,所述目标神经网络模型用于对所述第一数据中的运行数据进行降维转换,得到降维后的中间数据,并将所述降维后的中间数据重建成所述第二数据中的重建数据,所述第一数据与所述第二数据具有相同的数据维度;
根据所述第一数据与所述第二数据中对应的运行数据之间的差异值,在所述异常调用顺序中确定所述出现调用中断的调用位置,其中,所述出现调用中断的调用位置上的服务在所述第一数据与所述第二数据中对应的运行数据之间的差异值最大或者大于预定阈值。
7.一种业务故障的定位装置,其特征在于,包括:
第一确定单元,被配置为执行在目标业务发生故障的情况下,确定发生故障的目标时刻;
获取单元,被配置为执行获取所述目标时刻之前的第一预设时长内所述目标业务中的多个服务的第一服务调用信息,以及所述目标时刻之后的第二预设时长内所述多个服务的第二服务调用信息;
第二确定模块,被配置为执行确定所述第一服务调用信息中的每个服务调用信息所属的第一类别以及所述第二服务调用信息中的每个服务调用信息所属的第二类别;
第三确定单元,被配置为执行确定所述第二类别中包括的与所述第一类别中包括的类别不一致的第三类别,并将所述第二服务调用信息中属于所述第三类别的服务调用信息确定为异常服务调用信息;
第四确定模块,被配置为执行基于所述异常服务调用信息确定所述多个服务中出现故障的异常服务。
8.一种业务故障的定位电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的业务故障的定位方法。
9.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由业务故障的定位电子设备的处理器执行时,使得业务故障的定位电子设备能够执行如权利要求1至6中任一项所述的业务故障的定位方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述的业务故障的定位方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110640608.0A CN113392893A (zh) | 2021-06-08 | 2021-06-08 | 业务故障的定位方法、装置、存储介质及计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110640608.0A CN113392893A (zh) | 2021-06-08 | 2021-06-08 | 业务故障的定位方法、装置、存储介质及计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113392893A true CN113392893A (zh) | 2021-09-14 |
Family
ID=77618704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110640608.0A Pending CN113392893A (zh) | 2021-06-08 | 2021-06-08 | 业务故障的定位方法、装置、存储介质及计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113392893A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113867730A (zh) * | 2021-09-28 | 2021-12-31 | 北京达佳互联信息技术有限公司 | 目标源码映射文件的确定方法、装置、设备及存储介质 |
CN114760190A (zh) * | 2022-04-11 | 2022-07-15 | 北京邮电大学 | 一种面向服务的融合网络性能异常检测方法 |
CN115269357A (zh) * | 2022-09-23 | 2022-11-01 | 华南理工大学 | 一种基于调用链的微服务异常检测方法 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101187023B1 (ko) * | 2012-05-11 | 2012-09-28 | 주식회사 이글루시큐리티 | 네트워크 비정상 트래픽 분석시스템 |
CN106941423A (zh) * | 2017-04-13 | 2017-07-11 | 腾讯科技(深圳)有限公司 | 故障原因定位方法及装置 |
CN109391524A (zh) * | 2018-10-11 | 2019-02-26 | 国家无线电监测中心成都监测站 | 一种故障定位方法及装置 |
CN110245035A (zh) * | 2019-05-20 | 2019-09-17 | 平安普惠企业管理有限公司 | 一种链路跟踪方法及装置 |
US20190324831A1 (en) * | 2017-03-28 | 2019-10-24 | Xiaohui Gu | System and Method for Online Unsupervised Event Pattern Extraction and Holistic Root Cause Analysis for Distributed Systems |
WO2020042029A1 (zh) * | 2018-08-29 | 2020-03-05 | 华为技术有限公司 | 调用链路的发现方法、装置、设备及存储介质 |
CN111290900A (zh) * | 2020-01-16 | 2020-06-16 | 中山大学 | 一种基于微服务日志的软件故障检测方法 |
CN111488289A (zh) * | 2020-04-26 | 2020-08-04 | 支付宝实验室(新加坡)有限公司 | 一种故障定位方法、装置和设备 |
CN111538616A (zh) * | 2020-04-30 | 2020-08-14 | 深圳前海微众银行股份有限公司 | 异常定位方法、装置、系统与计算机可读存储介质 |
CN111782456A (zh) * | 2020-06-30 | 2020-10-16 | 平安国际智慧城市科技股份有限公司 | 异常检测方法、装置、计算机设备和存储介质 |
CN111897726A (zh) * | 2020-07-27 | 2020-11-06 | Tcl通讯(宁波)有限公司 | 异常定位方法、装置、存储介质及移动终端 |
WO2021045719A1 (en) * | 2019-09-03 | 2021-03-11 | Xiaohui Gu | System for online unsupervised event pattern extraction |
CN112698975A (zh) * | 2020-12-14 | 2021-04-23 | 北京大学 | 一种微服务架构信息系统的故障根因定位方法及系统 |
-
2021
- 2021-06-08 CN CN202110640608.0A patent/CN113392893A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101187023B1 (ko) * | 2012-05-11 | 2012-09-28 | 주식회사 이글루시큐리티 | 네트워크 비정상 트래픽 분석시스템 |
US20190324831A1 (en) * | 2017-03-28 | 2019-10-24 | Xiaohui Gu | System and Method for Online Unsupervised Event Pattern Extraction and Holistic Root Cause Analysis for Distributed Systems |
CN106941423A (zh) * | 2017-04-13 | 2017-07-11 | 腾讯科技(深圳)有限公司 | 故障原因定位方法及装置 |
WO2020042029A1 (zh) * | 2018-08-29 | 2020-03-05 | 华为技术有限公司 | 调用链路的发现方法、装置、设备及存储介质 |
CN109391524A (zh) * | 2018-10-11 | 2019-02-26 | 国家无线电监测中心成都监测站 | 一种故障定位方法及装置 |
CN110245035A (zh) * | 2019-05-20 | 2019-09-17 | 平安普惠企业管理有限公司 | 一种链路跟踪方法及装置 |
WO2021045719A1 (en) * | 2019-09-03 | 2021-03-11 | Xiaohui Gu | System for online unsupervised event pattern extraction |
CN111290900A (zh) * | 2020-01-16 | 2020-06-16 | 中山大学 | 一种基于微服务日志的软件故障检测方法 |
CN111488289A (zh) * | 2020-04-26 | 2020-08-04 | 支付宝实验室(新加坡)有限公司 | 一种故障定位方法、装置和设备 |
CN111538616A (zh) * | 2020-04-30 | 2020-08-14 | 深圳前海微众银行股份有限公司 | 异常定位方法、装置、系统与计算机可读存储介质 |
CN111782456A (zh) * | 2020-06-30 | 2020-10-16 | 平安国际智慧城市科技股份有限公司 | 异常检测方法、装置、计算机设备和存储介质 |
CN111897726A (zh) * | 2020-07-27 | 2020-11-06 | Tcl通讯(宁波)有限公司 | 异常定位方法、装置、存储介质及移动终端 |
CN112698975A (zh) * | 2020-12-14 | 2021-04-23 | 北京大学 | 一种微服务架构信息系统的故障根因定位方法及系统 |
Non-Patent Citations (1)
Title |
---|
JACOPO SOLDAL AND ANTONIO BROGI: ""Anomaly Detection and Failure Root Analysis in Sercive-Based Cloud Applications:A Survey"", 《AXXIV》, pages 1 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113867730A (zh) * | 2021-09-28 | 2021-12-31 | 北京达佳互联信息技术有限公司 | 目标源码映射文件的确定方法、装置、设备及存储介质 |
CN114760190A (zh) * | 2022-04-11 | 2022-07-15 | 北京邮电大学 | 一种面向服务的融合网络性能异常检测方法 |
CN115269357A (zh) * | 2022-09-23 | 2022-11-01 | 华南理工大学 | 一种基于调用链的微服务异常检测方法 |
CN115269357B (zh) * | 2022-09-23 | 2023-02-14 | 华南理工大学 | 一种基于调用链的微服务异常检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112162878B (zh) | 数据库故障发现方法、装置、电子设备及存储介质 | |
CN113392893A (zh) | 业务故障的定位方法、装置、存储介质及计算机程序产品 | |
CN113282461A (zh) | 传输网的告警识别方法和装置 | |
CN110457175B (zh) | 业务数据处理方法、装置、电子设备及介质 | |
CN110032463B (zh) | 一种基于贝叶斯网络的系统故障定位方法和系统 | |
CN110955550A (zh) | 一种云平台故障定位方法、装置、设备及存储介质 | |
CN111722952A (zh) | 业务系统的故障分析方法、系统、设备和存储介质 | |
CN113900845A (zh) | 一种基于神经网络的微服务故障诊断的方法和存储介质 | |
CN113360722B (zh) | 一种基于多维数据图谱的故障根因定位方法及系统 | |
CN115514619B (zh) | 告警收敛方法及系统 | |
CN109991956B (zh) | 一种液体火箭发动机稳态故障预测方法 | |
CN115309575A (zh) | 基于图卷积神经网络的微服务故障诊断方法、装置及设备 | |
CN116719664B (zh) | 基于微服务部署的应用和云平台跨层故障分析方法及系统 | |
CN111160329A (zh) | 一种根因分析的方法及装置 | |
CN112379325A (zh) | 一种用于智能电表的故障诊断方法及系统 | |
CN115800272A (zh) | 基于拓扑识别的电网故障分析方法、系统、终端及介质 | |
CN113676343B (zh) | 电力通信网故障源定位方法及装置 | |
US20240168835A1 (en) | Hard disk failure prediction method, system, device and medium | |
CN114416573A (zh) | 一种应用程序的缺陷分析方法、装置、设备及介质 | |
CN112285484B (zh) | 基于深度神经网络的电力系统故障诊断信息融合方法及装置 | |
CN112699048B (zh) | 基于人工智能的程序故障处理方法、装置、设备及存储介质 | |
CN117312611A (zh) | 一种电力故障快速定位及诊断方法及相关装置 | |
Amani et al. | A case-based reasoning method for alarm filtering and correlation in telecommunication networks | |
CN113778960A (zh) | 一种物联网系统的故障确定方法、装置及存储介质 | |
CN114629776B (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 |