CN116827765B - 一种根因定位方法、装置、设备及存储介质 - Google Patents
一种根因定位方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116827765B CN116827765B CN202311116029.1A CN202311116029A CN116827765B CN 116827765 B CN116827765 B CN 116827765B CN 202311116029 A CN202311116029 A CN 202311116029A CN 116827765 B CN116827765 B CN 116827765B
- Authority
- CN
- China
- Prior art keywords
- delay
- node
- root cause
- call
- analyzed
- 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
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000001514 detection method Methods 0.000 claims abstract description 29
- 230000002159 abnormal effect Effects 0.000 claims abstract description 16
- 230000000875 corresponding effect Effects 0.000 claims description 16
- 230000001934 delay Effects 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 230000002596 correlated effect Effects 0.000 claims description 5
- 101000762967 Homo sapiens Lymphokine-activated killer T-cell-originated protein kinase Proteins 0.000 claims description 3
- 102100026753 Lymphokine-activated killer T-cell-originated protein kinase Human genes 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 abstract description 24
- 238000011835 investigation Methods 0.000 abstract description 5
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 230000004044 response Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000004807 localization Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013024 troubleshooting Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本申请提出一种根因定位方法、装置、设备及存储介质,根因定位方法通过在待分析调用链调用成功的情况下,对待分析调用链的入口节点进行调用延迟检测,以入口节点作为判断基准,能够直接快速确定是否存在延迟,在调用延迟检测结果表征为异常的情况下,确定待分析调用链的所有第一节点的节点延迟以进行延迟根因定位,出现延迟时能够避免人工逐个排查,提高运维效率;或者,在所述待分析调用链调用失败的情况下,对待分析调用链与预设业务链路集合进行匹配,确定目标业务链路,根据目标业务链路的第二节点进行可能性分数计算,确定可能性分数,基于可能性分数进行故障根因定位,出现故障时能够避免人工逐个排查,有利于提高运维效率。
Description
技术领域
本申请涉及运维领域,尤其涉及一种根因定位方法、装置、设备及存储介质。
背景技术
目前业界关于服务复杂调用场景下的故障排查存在难度,难点在于:
1)、各服务作为一个节点,存在复杂的调用依赖关系,呈现在运维人员面前的就是一大片报错的服务,而具体是哪一个节点造成此现象的原因难以排查,通常需要人工逐个服务排查,当服务数量多时,需要大量人力和精力,难度高且效率低。
2)、当某个服务因为程序/网络故障,造成调用此服务的节点的延迟增大,会将此增大的延迟不断的递加到其祖先节点,最终看到的是一大片的高延迟服务,而具体是哪一个节点造成此现象的同样难以排查,需要大量的人力和精力。
发明内容
本申请实施例提供一种根因定位方法、装置、设备及存储介质,以解决相关技术存在的至少一问题,技术方案如下:
第一方面,本申请实施例提供了一种根因定位的方法,包括:
在待分析调用链调用成功的情况下,对所述待分析调用链的入口节点进行调用延迟检测;
在调用延迟检测结果表征为异常的情况下,确定所述待分析调用链的所有第一节点的节点延迟以进行延迟根因定位;
或者,
在所述待分析调用链调用失败的情况下,对所述待分析调用链与预设业务链路集合进行匹配,确定目标业务链路;
根据所述目标业务链路的第二节点进行可能性分数计算,确定可能性分数;
根据所述可能性分数进行故障根因定位。
在一种实施方式中,所述对所述待分析调用链的入口节点进行调用延迟检测包括:
获取所述入口节点的调用延迟;
将所述调用延迟与历史延迟阈值进行比较;
其中,当所述调用延迟大于所述历史延迟阈值时,则确定所述调用延迟检测结果表征为异常。
在一种实施方式中,所述确定所述待分析调用链的所有第一节点的节点延迟以进行延迟根因定位包括:
确定所述待分析调用链的所有第一节点的节点延迟以及每一所述第一节点对应的历史延迟值;
根据所述历史延迟值计算异常分数;
对所述待分析调用链进行深度优先遍历并去除所述异常分数表征正常的第一节点,得到节点顺序;
根据所述节点顺序进行深度探测,将位于末端的第一节点作为延迟根因。
在一种实施方式中,所述历史延迟值包括延迟平均值以及标准差;所述根据所述历史延迟值计算异常分数包括:
计算所述节点延迟与所述延迟平均值的差值;
根据所述差值的绝对值与所述标准差的比值,得到异常分数;
其中,当所述异常分数大于分数阈值时,所述异常分数表征异常。
在一种实施方式中,所述预设业务链路集合包括若干个预设业务链路;所述对所述待分析调用链与预设业务链路集合进行匹配,确定目标业务链路包括:
获取每一所述预设业务链路的预设入口节点,确定所述预设入口节点与所述入口节点相同的至少一候选预设业务链路;
分别计算所述待分析调用链与所述候选预设业务链路的相似度;
将所述相似度最高的候选预设业务链路确定为目标业务链路。
在一种实施方式中,所述根据所述目标业务链路的第二节点进行可能性分数计算包括:
获取所述第二节点的出入度、历史出错率、更新经过时间以及深度;
根据所述出入度、所述历史出错率、所述更新经过时间、所述深度以及对应的预设权重加权计算得到可能性分数;
其中,所述出入度、所述历史出错率以及所述深度与所述可能性分数呈正相关,所述更新经过时间与所述可能性分数呈负相关。
在一种实施方式中,所述根据所述可能性分数进行故障根因定位包括:
将所述可能性分数进行降序排列,生成所述第二节点对应的故障根因TOPK。
第二方面,本申请实施例提供了一种根因定位装置,包括:第一根因定位模块或者第二根因定位模块;
所述第一根因定位模块,用于:
在待分析调用链调用成功的情况下,对所述待分析调用链的入口节点进行调用延迟检测;
在调用延迟检测结果表征为异常的情况下,确定所述待分析调用链的所有第一节点的节点延迟以进行延迟根因定位;
所述第二根因定位模块,用于:
在所述待分析调用链调用失败的情况下,对所述待分析调用链与预设业务链路集合进行匹配,确定目标业务链路;
根据所述目标业务链路的第二节点进行可能性分数计算,确定可能性分数;
根据所述可能性分数进行故障根因定位。
第三方面,本申请实施例提供了一种电子设备,包括:处理器和存储器,该存储器中存储指令,该指令由该处理器加载并执行,以实现上述各方面任一种实施方式中的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被执行时实现上述各方面任一种实施方式中的方法。
上述技术方案中的有益效果至少包括:
在待分析调用链调用成功的情况下,对待分析调用链的入口节点进行调用延迟检测,以入口节点作为判断基准,能够直接快速确定是否存在延迟,在调用延迟检测结果表征为异常的情况下,获取待分析调用链的所有第一节点的节点延迟以进行延迟根因定位,出现延迟时能够避免人工逐个排查,提高运维效率;或者,在所述待分析调用链调用失败的情况下,对待分析调用链与预设业务链路集合进行匹配,确定目标业务链路,根据目标业务链路的第二节点进行可能性分数计算,确定可能性分数,基于可能性分数进行故障根因定位,出现故障时能够避免人工逐个排查,有利于提高运维效率。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本申请进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请公开的一些实施方式,而不应将其视为是对本申请范围的限制。
图1为本申请一实施例根因定位方法的步骤流程示意图;
图2为本申请一实施例的根因定位装置的结构框图;
图3为本申请一实施例的电子设备的结构框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
参照图1,示出本申请一实施例的根因定位方法的流程图,该根因定位方法可以包括S100或者S200,S100包括步骤S110-S120:
S110、在待分析调用链调用成功的情况下,对待分析调用链的入口节点进行调用延迟检测。
本申请实施例中,待分析调用链可以为***触发任务,根据任务所产生的用于完成任务的调用链。例如,用户在购物***搜索了某个物品,后台可能会进行名称分类、相似名称搜索、名称搜索、结果排序等步骤,每个细粒度的步骤都可能是一个独立的服务/节点,多个服务/节点会形成一条调用链。
本申请实施例中,当待分析调用链中的各个第一节点完成调用,认为待分析调用链调用成功。需要说明的是,待分析调用链的所有第一节点为除入口节点以外的节点,一些实施例中第一节点也可以包括入口节点,不作具体限定。
在一种实施方式中,步骤S110中的对待分析调用链的入口节点进行调用延迟检测包括步骤S1101-S1102:
S1101、获取入口节点的调用延迟。
本申请实施例中,入口节点指的是根节点,每一待分析调用链会存在一个入口服务,该入口服务由入口节点提供,多个服务/第一节点以入口节点为根形成的图结构的业务调用的链路。可选地,调用延迟可以为响应延时。
S1102、将调用延迟与历史延迟阈值进行比较。
可选地,可以从预设业务链路集合中确定与待分析调用链相同的预设业务链路,记为预设业务链路A,然后获取预设业务链路A的入口节点的平均响应耗时,例如包括但不限于平均响应耗时、平均响应耗时P50、平均响应耗时P75、平均响应耗时P90、平均响应耗时P95、平均响应耗时P99中的至少之一。然后,可以利用不同的方式确定历史延迟阈值,如:
1)、直接利用平均响应耗时作为历史延迟阈值;
2)、计算预设业务链路A的入口节点的历史标准差,根据平均响应耗时+N倍历史标准差作为历史延迟阈值,N根据实际需要设定,例如N=1.5。
本申请实施例中,将调用延迟与历史延迟阈值进行比较,当调用延迟大于历史延迟阈值时,则确定调用延迟检测结果表征为异常,说明当前的待分析调用链存在延时调用的情况,具体为大于历史延迟阈值的高延迟情况,需要进一步分析具体是哪个节点存在问题,因为下游节点的延迟增大会导致上游也增大,因此以根节点的延迟去做检测,如果根节点延迟高,那么就需要排查是其下游哪个节点的高延迟导致的;否则调用延迟检测结果表征正常。通过本申请实施例的方法,能够直接快速确定是否存在高延迟情况。
S120、在调用延迟检测结果表征为异常的情况下,确定待分析调用链的所有第一节点的节点延迟以进行延迟根因定位。
在一种实施方式中,步骤S120中的确定待分析调用链的所有第一节点的节点延迟以进行延迟根因定位包括步骤S1201-S1204:
S1201、确定待分析调用链的所有第一节点的节点延迟以及每一第一节点对应的历史延迟值。
类似地,节点延迟可以为响应延时,历史延迟值包括但不限于平均响应耗时、平均响应耗时P50、平均响应耗时P75、平均响应耗时P90、平均响应耗时P95、平均响应耗时P99的对应值,该对应值即为延迟平均值;并且历史延迟值还可以包括利用上述延迟平均值所计算得到的对应的标准差。
S1202、根据历史延迟值计算异常分数。
可选地,步骤S1202包括S12021-S12022:
S12021、计算节点延迟与延迟平均值的差值。
S12022、根据差值的绝对值与标准差的比值,得到异常分数。
具体计算公式为:
异常分数=|节点延迟-延迟平均值|/标准差
本申请实施例中,分数阈值可以根据实际需要设定,示例性地以分数阈值为3,当异常分数大于3,认为异常分数表征异常,否则认为异常分数表征正常,异常分数可以用于刻画与平均值的偏离程度。
S1203、对待分析调用链进行深度优先遍历并去除异常分数表征正常的第一节点,得到节点顺序。
本申请实施例中,对待分析调用链进行深度优先遍历(Depth-First-Search,DFS),确定节点的候选顺序,然后去除异常分数表征正常的第一节点,留下候选顺序中异常的节点的部分,从而得到新的候选顺序,记为节点顺序。
S1204、根据节点顺序进行深度探测,将位于末端的第一节点作为延迟根因。
本申请实施例中,根据节点顺序进行深度探测以探测到最深的传播路径,将深度探测到的传播路径中的所有位于末端的第一节点作为延迟根因,因为假设A为B的父节点,A调用B,A的延迟时长包含B,节点的延迟都是父节点包含子节点,如果父节点有多个子节点,则其延迟为自身逻辑处理时间+最大子节点延迟时间,因此B是根因的概率更大,确定位于末端的第一节点作为延迟根因能够提高准确率。可选地,确定为延迟根因的所有第一节点可以按照异常分数的高低进行排序,以提供给运维人员参考,优先对异常分数更高的延迟根因进行排除,进一步提高运维的效率。
在一种实施方式中,预设业务链路集合包括若干个预设业务链路,预设业务链路与预设业务链路集合通过以下步骤得到:
S01、获取历史调用链数据。
可选地,历史调用链数据可以为业务***在历史时间执行各个请求时所生成的所有调用链的相关数据,历史时间的长度可以根据实际情况设定。
可选地,在步骤S01之后可以包括预处理步骤,预处理步骤包括S01A-S01C,其他实施方式中可以包括S01A-S01C中的其中一种或者多种:
S01A、从历史调用链数据中确定断链数据,将断链数据进行删除。
需要说明的是,历史调用链数据中的历史调用链可能会存在断链数据,即例如某些跨度身份标识span_id无法串联,这些断链数据对后续的匹配会产生干扰,导致误判,因此需要将断链数据从历史调用链数据中进行删除。
S01B、从历史调用链数据中确定错链数据,将错链数据进行删除。
需要说明的是,历史调用链数据中的历史调用链可能会存在错链数据,例如不同的历史调用链连起来,同样这些错链数据对后续的匹配会产生干扰,导致误判,因此需要将错链数据从历史调用链数据中进行删除。
S01C、从历史调用链数据中确定调用失败数据,将调用失败数据进行删除。
需要说明的是,业务***在生成调用链时,该调用链最终是成功调用还是错误调用都会存储有一个调用状态status,当status=1为调用成功,status=0为调用失败,需要将status=0的调用失败数据从历史调用链数据中进行删除,避免对后续匹配产生干扰,因为只有正常的链路才能刻画业务正常运转时服务的调用情况。
S02、从历史调用链数据中提取历史调用链,并从历史调用链中确定所有原始节点。
可选地,历史调用链数据包括大量的历史调用链,因此需要从历史调用链数据中提取历史调用链,然后根据每一历史调用链的跟踪身份标识trace_id,为了便于区分记为历史跟踪身份标识,利用历史跟踪身份标识可以确定归属的span_id,为了便于区分记为历史跨度身份标识,根据历史跨度身份标识可以确定所有原始节点。
S03、获取每一原始节点所支持服务对应的服务接口,根据服务接口为粒度分别对原始节点进行划分。
本申请实施例中,考虑到一些原始节点可能具有多个支持的服务,每一服务对应一个服务接口,为了使得后续的匹配结果更加精准、精细化以及真正反映业务关系、业务逻辑,根据服务接口为粒度分别对原始节点进行划分,以服务接口粒度作为调用链拓扑的节点。例如,假设一个服务节点为数据库服务,支持增、删、改、查这四个服务,这四个服务都对应一个服务接口,调用对应的服务接口可以实现对应的服务。
S04、根据划分结果构建预设业务调用链路,返回从历史调用链数据中提取历史调用链的步骤,直至历史调用链数据中的所有历史调用链均被提取,得到预设业务调用链路集合。
本申请实施例中,根据划分结果构建预设业务链路,例如一个历史调用链中的某个服务节点(简称节点)具有若干个服务接口,例如服务接口的名称分别为create、delete、update,服务节点所提供的服务为order,将服务节点的名称(span_name)配置为order/create、order/delete、order/update,利用该服务节点作为服务节点参与预设业务链路的构建,从而以服务接口粒度作为预设业务链路的拓扑的节点,返回从历史调用链数据中提取历史调用链的步骤,直至历史调用链数据中的所有历史调用链均被提取,得到与trace_id数目相同的预设业务链路(拓扑形式),这些预设业务链路构成预设业务链路集合。
本申请实施例中,步骤S200可以包括步骤S210-S230:
S210、在待分析调用链调用失败的情况下,对待分析调用链与预设业务链路集合进行匹配,确定目标业务链路。
本申请实施例中,当出现程序错误、资源不足、网关故障等等可能时,待分析调用链中的至少一个第一节点会调用失败,此时认为待分析调用链调用失败,无法顺利完成任务。例如,当A调用B失败时,A会得到字段false,通过检测该字段是否为false就可以知道是否调用失败。
在一种实施方式中,步骤S210中的对待分析调用链与预设业务链路集合进行匹配,确定目标业务链路,包括步骤S2101-S2103:
S2101、获取每一预设业务链路的预设入口节点,确定预设入口节点与入口节点相同的至少一候选预设业务链路。
本申请实施例中,获取每一预设业务链路的预设入口节点,然后将待分析调用链与每一预设业务链路进行图结构匹配,筛选掉入口服务不一样的部分预设业务链路,因此要确定预设入口节点与入口节点相同的至少一候选预设业务链路,进行保留以进行下一步分析。
S2102、分别计算待分析调用链与候选预设业务链路的相似度。
可选地,相似度的计算方法包括但不限于杰卡德公式,其他实施例中可以使用其他方法,不作具体限定。
S2103、将相似度最高的候选预设业务链路确定为目标业务链路。
本申请实施例中,将计算得到的相似度最高的候选预设业务链路确定为目标业务链路。需要说明的是,因为预设业务链路归纳了所有可能的调用情况,因此错链只可能属于其中的一种,所有属于断链最后一个节点以下的后代节点都可能是候选根因。
S220、根据目标业务链路的第二节点进行可能性分数计算,确定可能性分数。
在一种实施方式中,步骤S220中的根据目标业务链路的第二节点进行可能性分数计算,包括步骤S2201-S2202:
S2201、获取第二节点的出入度、历史出错率、更新经过时间以及深度。
可选地,目标业务链路中各个第二节点的出入度、历史出错率、更新经过时间以及深度可以事先统计并进行存储,供需要利用时获取。需要说明的是,出入度可以指的第二节点调用以及被调用的数量,更新经过时间T指的是上一次更新距离当前的经过时间,深度指的是第二节点位于图结构的目标业务链路中的深入程度如相较于图结构入口节点的路径长度(节点与节点之间的边的个数),例如A→B→C,A为根节点,则B的深度可以为1,C的深度可以为2或3。
S2202、根据出入度、历史出错率、更新经过时间、深度以及对应的预设权重加权计算得到可能性分数。
本申请实施例中,可能性分数越高代表越可能是故障根因,而当出入度越大时、历史出错率越高时以及深度越深时,第二节点更容易出错,是故障根因的可能性越大,因此出入度、历史出错率、深度与可能性分数呈正相关。另外,由于近期存在服务代码更新的节点是故障根因可能性更大,因此更新经过时间与可能性分数呈负相关。
需要说明的是,出入度、历史出错率、更新经过时间T以及深度都具有对应的预设权重,分别为第一权重、第二权重、第三权重以及第四权重,第一权重、第二权重、第三权重以及第四权重的大小不作具体限定,本申请实施例中以第一权重、第二权重、第三权重以及第四权重均为1为例,通过考虑出入度、历史出错率、更新经过时间T、深度四种故障特征计算可能性分数,有利于提高可能性分数的准确度。
其中,每一第二节点的可能性分数的计算公式如下:
可能性分数=1/log2(深度+2) + 出入度 + 历史出错率 + 1/T
S230、根据可能性分数进行故障根因定位。
在一种实施方式中,步骤S230中的根据可能性分数进行故障根因定位,具体为:将可能性分数进行降序排列,生成第二节点对应的故障根因TOPK,从而为运维人员提供更直观、准确的故障根因定位结果,有利于降低运维难度,提高运维的效率。
可选地,本申请实施例中,在得到延迟根因定位的结果或者故障根因定位的结果后,或者***同时对不同的待分析调用链进行根因定位同时得到延迟根因定位的结果以及故障根因定位的结果,可以进行结果分类,并结合每个第二节点的资源状态、业务指标(通过调用监控工具的结果)输出到运维报告内,或者直接将分类后的延迟根因定位的结果以及故障根因定位的结果直接输入到运维报告内,运维人员可以直接了解当前存在哪种类型根因定位,并且可以快速查看、排除延迟根因以及故障根因。
本申请实施例的根因定位方法可以通过计算机、手机、平板等终端的电子控制单元、控制器、处理器等执行,也可以通过云服务器执行。本申请实施例的技术方案,通过获取待分析调用链,当待分析调用链调用成功,对待分析调用链的入口节点进行调用延迟检测,以入口节点作为判断基准,能够直接快速确定是否存在延迟,当调用延迟检测结果表征异常,获取待分析调用链的所有第一节点的节点延迟以进行延迟根因定位,当出现延迟的情况时能够避免人工逐个排查,减少耗费的人力和精力,降低运维难度,提高运维效率;或者,当待分析调用链调用失败,将待分析调用链与预设业务链路集合进行匹配,确定目标业务链路,根据目标业务链路的第二节点进行可能性分数计算,基于可能性分数进行故障根因定位,当出现故障的情况时能够避免人工逐个排查,因此无论是出现延迟还是故障的情况,都能够减少耗费的人力和精力,降低运维人员的运维难度,并提高运维效率。
通过本申请实施例的方法,至少能够达到效果:
1)、利用业务调用的性质,将传统的全量拓扑“降维”成符合业务逻辑多个预设业务链路,创新的利用图结构匹配的方法对错误链路进行归类,确定目标业务链路,大幅度的降低了根因定位的排查范围,提高运维人员的运维效率以外,也有利于帮助业务人员快速明确哪些业务链路是故障的,故障的影响范围有多大,全面掌握故障波及范围;
2)、利用出入度、历史出错率、更新经过时间以及深度等故障特征用于帮助全面地分析调用链的问题;
3)、实时地进行延迟根因定位、故障根因定位,大大提高运维人员的运维效率。
参照图2,示出了本申请一实施例的根因定位装置的结构框图,该装置可以包括:
第一根因定位模块或者第二根因定位模块;
第一根因定位模块,用于:
在待分析调用链调用成功的情况下,对待分析调用链的入口节点进行调用延迟检测;
在调用延迟检测结果表征为异常的情况下,确定待分析调用链的所有第一节点的节点延迟以进行延迟根因定位;
第二根因定位模块,用于:
在待分析调用链调用失败的情况下,对待分析调用链与预设业务链路集合进行匹配,确定目标业务链路;
根据目标业务链路的第二节点进行可能性分数计算,确定可能性分数;
根据可能性分数进行故障根因定位。
本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
参照图3,示出了本申请一实施例电子设备的结构框图,该电子设备包括:存储器310和处理器320,存储器310内存储有可在处理器320上运行的指令,处理器320加载并执行该指令实现上述实施例中的根因定位方法。其中,存储器310和处理器320的数量可以为一个或多个。
在一种实施方式中,电子设备还包括通信接口330,用于与外界设备进行通信,进行数据交互传输。如果存储器310、处理器320和通信接口330独立实现,则存储器310、处理器320和通信接口330可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(PeripheralComponentInterconnect ,PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture ,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器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 (9)
1.一种根因定位方法,其特征在于,包括:
在待分析调用链调用成功的情况下,对所述待分析调用链的入口节点进行调用延迟检测;
在调用延迟检测结果表征为异常的情况下,确定所述待分析调用链的所有第一节点的节点延迟以进行延迟根因定位;
在所述待分析调用链调用失败的情况下,对所述待分析调用链与预设业务链路集合进行匹配,确定目标业务链路;
根据所述目标业务链路的第二节点进行可能性分数计算,确定可能性分数;
根据所述可能性分数进行故障根因定位;
其中,所述预设业务链路集合包括若干个预设业务链路,所述对所述待分析调用链与预设业务链路集合进行匹配,确定目标业务链路包括:
获取每一所述预设业务链路的预设入口节点,确定所述预设入口节点与所述入口节点相同的至少一候选预设业务链路;
分别计算所述待分析调用链与所述候选预设业务链路的相似度;
将所述相似度最高的候选预设业务链路确定为目标业务链路。
2.根据权利要求1所述根因定位方法,其特征在于:所述对所述待分析调用链的入口节点进行调用延迟检测包括:
获取所述入口节点的调用延迟;
将所述调用延迟与历史延迟阈值进行比较;
其中,当所述调用延迟大于所述历史延迟阈值时,则确定所述调用延迟检测结果表征为异常。
3.根据权利要求1或2所述根因定位方法,其特征在于:所述确定所述待分析调用链的所有第一节点的节点延迟以进行延迟根因定位包括:
确定所述待分析调用链的所有第一节点的节点延迟以及每一所述第一节点对应的历史延迟值;
根据所述历史延迟值计算异常分数;
对所述待分析调用链进行深度优先遍历并去除所述异常分数表征正常的第一节点,得到节点顺序;
根据所述节点顺序进行深度探测,将位于末端的第一节点作为延迟根因。
4.根据权利要求3所述根因定位方法,其特征在于:所述历史延迟值包括延迟平均值以及标准差;所述根据所述历史延迟值计算异常分数包括:
计算所述节点延迟与所述延迟平均值的差值;
根据所述差值的绝对值与所述标准差的比值,得到异常分数;
其中,当所述异常分数大于分数阈值时,所述异常分数表征异常。
5.根据权利要求1所述根因定位方法,其特征在于:所述根据所述目标业务链路的第二节点进行可能性分数计算包括:
获取所述第二节点的出入度、历史出错率、更新经过时间以及深度;
根据所述出入度、所述历史出错率、所述更新经过时间、所述深度以及对应的预设权重加权计算得到可能性分数;
其中,所述出入度、所述历史出错率以及所述深度与所述可能性分数呈正相关,所述更新经过时间与所述可能性分数呈负相关。
6.根据权利要求1所述根因定位方法,其特征在于:所述根据所述可能性分数进行故障根因定位包括:
将所述可能性分数进行降序排列,生成所述第二节点对应的故障根因TOPK。
7.一种根因定位装置,其特征在于,包括:第一根因定位模块和第二根因定位模块;
所述第一根因定位模块,用于:
在待分析调用链调用成功的情况下,对所述待分析调用链的入口节点进行调用延迟检测;
在调用延迟检测结果表征为异常的情况下,确定所述待分析调用链的所有第一节点的节点延迟以进行延迟根因定位;
所述第二根因定位模块,用于:
在所述待分析调用链调用失败的情况下,对所述待分析调用链与预设业务链路集合进行匹配,确定目标业务链路;
根据所述目标业务链路的第二节点进行可能性分数计算,确定可能性分数;
根据所述可能性分数进行故障根因定位;
其中,所述预设业务链路集合包括若干个预设业务链路,所述对所述待分析调用链与预设业务链路集合进行匹配,确定目标业务链路包括:
获取每一所述预设业务链路的预设入口节点,确定所述预设入口节点与所述入口节点相同的至少一候选预设业务链路;
分别计算所述待分析调用链与所述候选预设业务链路的相似度;
将所述相似度最高的候选预设业务链路确定为目标业务链路。
8.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器中存储指令,所述指令由所述处理器加载并执行,以实现如权利要求1至6任一项所述的方法。
9.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被执行时实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311116029.1A CN116827765B (zh) | 2023-08-31 | 2023-08-31 | 一种根因定位方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311116029.1A CN116827765B (zh) | 2023-08-31 | 2023-08-31 | 一种根因定位方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116827765A CN116827765A (zh) | 2023-09-29 |
CN116827765B true CN116827765B (zh) | 2023-11-21 |
Family
ID=88113118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311116029.1A Active CN116827765B (zh) | 2023-08-31 | 2023-08-31 | 一种根因定位方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116827765B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117743093A (zh) * | 2023-12-20 | 2024-03-22 | 北京优特捷信息技术有限公司 | 一种调用链的数据质量评估方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888755A (zh) * | 2019-11-15 | 2020-03-17 | 亚信科技(中国)有限公司 | 一种微服务***异常根因节点的查找方法及装置 |
CN113282635A (zh) * | 2021-04-12 | 2021-08-20 | 国电南瑞科技股份有限公司 | 一种微服务***故障根因定位方法及装置 |
CN114024837A (zh) * | 2022-01-06 | 2022-02-08 | 杭州大乘智能科技有限公司 | 一种微服务***的故障根因定位方法 |
CN115118574A (zh) * | 2022-06-07 | 2022-09-27 | 马上消费金融股份有限公司 | 一种数据处理方法、装置及存储介质 |
CN115733724A (zh) * | 2021-08-27 | 2023-03-03 | 中移动信息技术有限公司 | 业务故障根因定位方法、装置、电子设备及存储介质 |
WO2023125053A1 (zh) * | 2021-12-30 | 2023-07-06 | 中兴通讯股份有限公司 | 数据采集方法、装置、电子设备及存储介质 |
-
2023
- 2023-08-31 CN CN202311116029.1A patent/CN116827765B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888755A (zh) * | 2019-11-15 | 2020-03-17 | 亚信科技(中国)有限公司 | 一种微服务***异常根因节点的查找方法及装置 |
CN113282635A (zh) * | 2021-04-12 | 2021-08-20 | 国电南瑞科技股份有限公司 | 一种微服务***故障根因定位方法及装置 |
CN115733724A (zh) * | 2021-08-27 | 2023-03-03 | 中移动信息技术有限公司 | 业务故障根因定位方法、装置、电子设备及存储介质 |
WO2023125053A1 (zh) * | 2021-12-30 | 2023-07-06 | 中兴通讯股份有限公司 | 数据采集方法、装置、电子设备及存储介质 |
CN114024837A (zh) * | 2022-01-06 | 2022-02-08 | 杭州大乘智能科技有限公司 | 一种微服务***的故障根因定位方法 |
CN115118574A (zh) * | 2022-06-07 | 2022-09-27 | 马上消费金融股份有限公司 | 一种数据处理方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116827765A (zh) | 2023-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10382283B2 (en) | Network topology estimation based on event correlation | |
CN116827765B (zh) | 一种根因定位方法、装置、设备及存储介质 | |
CN113282461B (zh) | 传输网的告警识别方法和装置 | |
CN110929036A (zh) | 电力营销稽查管理方法、装置、计算机设备和存储介质 | |
CN111459695A (zh) | 根因定位方法、装置、计算机设备和存储介质 | |
CN106502907A (zh) | 一种基于执行轨迹追踪的分布式软件异常诊断方法 | |
CN111290950A (zh) | 程序测试中测试点获取方法、装置、存储介质和设备 | |
CN117151726A (zh) | 故障的修复方法、修复装置、电子设备以及存储介质 | |
CN114462040A (zh) | 一种恶意软件检测模型训练、恶意软件检测方法及装置 | |
CN112905370A (zh) | 拓扑图生成方法、异常检测方法、装置、设备及存储介质 | |
CN116136950B (zh) | 芯片验证方法、装置、***、电子设备及存储介质 | |
CN113141273A (zh) | 基于预警信息的自修复方法、装置、设备及存储介质 | |
CN116319421A (zh) | 基于云平台的故障检测方法、装置、故障检测***及介质 | |
CN111309584A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111581099B (zh) | 一种漏洞路径优先级的符号执行调度方法及*** | |
CN112363933A (zh) | 字段落表的自动化验证方法、装置、计算机设备及存储介质 | |
CN110413516B (zh) | 识别慢sql代码的方法及装置和电子设备 | |
CN111160583A (zh) | 一种数据处理方法及装置 | |
CN110865939A (zh) | 应用程序质量监测方法、装置、计算机设备和存储介质 | |
CN116401113B (zh) | 一种异构众核架构加速卡的环境验证方法、装置及介质 | |
CN112612882B (zh) | 检阅报告生成方法、装置、设备和存储介质 | |
CN112506803B (zh) | 大数据测试方法及*** | |
Kartha et al. | Prediction of defect susceptibility in object oriented software | |
CN112650681A (zh) | 自动化测试方法、装置、电子设备及可读存储介质 | |
CN117634937A (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 |