根因定位方法、装置、设备、介质和程序产品制造方法及图纸

技术编号:32336057 阅读:25 留言:0更新日期:2022-02-16 18:44
本公开提供了一种根因定位方法,可以应用于金融科技技术领域。该方法包括:获取与异常链路具有相同ID的所有拓扑链路,基于所述所有拓扑链路,生成多个一维链路,分别对每条一维链路按照预设规则进行打分,得到所述每条一维链路的打分结果,基于所述每条一维链路的打分结果,确定根因节点。本公开还提供了一种根因定位装置、设备、存储介质和程序产品。存储介质和程序产品。存储介质和程序产品。

【技术实现步骤摘要】
根因定位方法、装置、设备、介质和程序产品


[0001]本公开涉及金融科技领域,更具体地涉及一种根因定位方法、装置、设备、介质和程序产品。

技术介绍

[0002]大数据技术随着和云计算技术的发展,为了应对巨大的用户数量和交易流量,信息系统逐步由传统的单体架构转向分布式微服务架构。分布式架构在带来高性能优势的同时,也对运维系统提出了更高的要求。
[0003]现有技术中,通常采用全链路对运维系统进行监控,全链路监控在记录链路、指标、日志为分布式系统运维提供详细依据的同时,由于分布式系统各节点高度相互依赖,一旦存在节点发生异常,将可能在调用连路上传递异常,引起异常风暴,而真正的异常原因淹没在大面积的告警中无法被有效识别定位,产生出现异常时异常难以定位的问题。

技术实现思路

[0004]鉴于上述问题,本公开提供了一种可快速有效进行根因定位的根因定位方法、装置、设备、介质和程序产品。
[0005]根据本公开的第一个方面,提供了一种根因定位方法,包括:
[0006]获取与异常链路具有相同ID的所有拓扑链路;
[0007]基于所述所有拓扑链路,生成多个一维链路;
[0008]分别对每条一维链路按照预设规则进行打分,得到所述每条一维链路的打分结果;
[0009]基于所述每条一维链路的打分结果,确定根因节点。
[0010]在本公开一些实施例中,所述基于所述所有拓扑链路,生成多个一维链路包括:
[0011]对于每条拓扑链路,以消费节点作为出发节点,生产节点作为结束节点,生成一条有向边;
[0012]遍历所述所有拓扑链路,基于所有有向边,生成有向无环图;
[0013]从所述有向无环图的根节点出发,将所述有向无环图降维,得到所述多个一维链路。
[0014]在本公开一些实施例中,所述一维链路包括正常节点和/或报警节点,所述分别对每条一维链路按照预设规则进行打分,得到所述每条一维链路的打分结果包括:
[0015]获取所述每条一维链路中报警节点的数量;
[0016]当存在一维链路的报警节点的数量为一个的情况下,按照第一预设规则对所述一维链路进行打分,得到所述一维链路的打分结果;
[0017]当存在一维链路的报警节点的数量为多个的情况下,按照第二预设规则对所述一维链路进行打分,得到所述一维链路的打分结果。
[0018]在本公开一些实施例中,所述第一预设规则:
[0019][0020]其中,M表示打分结果,a表示所述报警节点在所述一维链路中的节点序号,b表示所述一维链路中的总节点数。
[0021]在本公开一些实施例中,所述第二预设规则:
[0022][0023]其中,M表示打分结果,c表示所述一维链路中相连最多的报警节点的数量,i为整数,i表示所述一维链路中与正常节点相邻的第i个报警节点,di表示所述第i个报警节点相邻的正常节点的数量。
[0024]在本公开一些实施例中,当存在一维链路的所有节点均为报警节点的情况下,增大所述一维链路的打分结果。
[0025]在本公开一些实施例中,令一维链路的节点数量为r,当存在一维链路中前p个节点均为正常节点,后q个节点均为报警节点的情况下,增大所述一维链路的打分结果;
[0026]具中,r=p+q。
[0027]在本公开一些实施例中,所述基于所述每条一维链路的打分结果,确定根因节点包括:
[0028]比较所有一维链路的打分结果;
[0029]获取目标报警节点发出异常报警的时间,所述目标报警节点为打分结果最高的一维链路中的所有报警节点;
[0030]将发出异常报警的时间最晚的目标报警节点确定为所述根因节点。
[0031]在本公开一些实施例中,所述获取与异常链路具有相同ID的所有拓扑链路之前,包括:
[0032]获取发生异常报警的报警信息,以及,所述报警信息对应的报警业务标签;
[0033]查找存储所述报警业务标签的链路拓扑表;
[0034]从所述链路拓扑表中查找所述异常链路的ID。
[0035]本公开的第二方面提供了一种根因定位装置,包括:
[0036]获取模块,用于获取与异常链路具有相同ID的所有拓扑链路;
[0037]生成模块,用于基于所述所有拓扑链路,生成多个一维链路;
[0038]打分模块,用于分别对每条一维链路按照预设规则进行打分,得到所述每条一维链路的打分结果;
[0039]确定模块,用于基于所述每条一维链路的打分结果,确定根因节点。
[0040]在本公开一实施例中,所述生成模块包括:
[0041]边生成子模块,用于对于每条拓扑链路,以消费节点作为出发节点,生产节点作为结束节点,生成一条有向边;
[0042]图生成子模块,用于遍历所述所有拓扑链路,基于所有有向边,生成有向无环图;
[0043]链路生成子模块,用于从所述有向无环图的根节点出发,将所述有向无环图降维,得到所述多个一维链路。
[0044]在本公开一实施例中,所述一维链路链路包括正常节点和/或报警节点,所述打分
模块包括:
[0045]获取子模块,用于获取所述每条一维链路中报警节点的数量;
[0046]第一打分子模块,用于当存在一维链路的报警节点的数量为一个的情况下,按照第一预设规则对所述一维链路进行打分,得到所述一维链路的打分结果;
[0047]第二打分子模块,用于当存在一维链路的报警节点的数量为多个的情况下,按照第二预设规则对所述一维链路进行打分,得到所述一维链路的打分结果。
[0048]在本公开一实施例中,所述第一预设规则:
[0049][0050]其中,M表示打分结果,a表示所述报警节点在所述一维链路中的节点序号,b表示所述一维链路中的总节点数。
[0051]在本公开一实施例中,所述第二预设规则:
[0052][0053]其中,M表示打分结果,c表示所述一维链路中相连最多的报警节点的数量,i为整数,i表示所述一维链路中与正常节点相邻的第i个报警节点,di表示所述第i个报警节点相邻的正常节点的数量。
[0054]在本公开一实施例中,当存在一维链路的所有节点均为报警节点的情况下,增大所述一维链路的打分结果。
[0055]在本公开一实施例中,令一维链路的节点数量为r,当存在一维链路中前p个节点均为正常节点,后q个节点均为报警节点的情况下,增大所述一维链路的打分结果;其中,r=p+q。
[0056]在本公开一实施例中,所述确定模块包括:
[0057]比较子模块,用于比较所有一维链路的打分结果;
[0058]获取子模块,用于获取目标报警节点发出异常报警的时间,所述目标报警节点为打分结果最高的一维链路中的所有报警节点;
[0059]确定子模块,用于将发出异常报警的时间最晚的目标报警节点确定为所述根因节点。
[0060]在本公开一实施例中,根因定本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种根因定位方法,包括:获取与异常链路具有相同ID的所有拓扑链路;基于所述所有拓扑链路,生成多个一维链路;分别对每条一维链路按照预设规则进行打分,得到所述每条一维链路的打分结果;基于所述每条一维链路的打分结果,确定根因节点。2.根据权利要求1所述的根因定位方法,所述基于所述所有拓扑链路,生成多个一维链路包括:对于每条拓扑链路,以消费节点作为出发节点,生产节点作为结束节点,生成一条有向边;遍历所述所有拓扑链路,基于所有有向边,生成有向无环图;从所述有向无环图的根节点出发,将所述有向无环图降维,得到所述多个一维链路。3.根据权利要求1所述的根因定位方法,所述一维链路包括正常节点和/或报警节点,所述分别对每条一维链路按照预设规则进行打分,得到所述每条一维链路的打分结果包括:获取所述每条一维链路中报警节点的数量;当存在一维链路的报警节点的数量为一个的情况下,按照第一预设规则对所述一维链路进行打分,得到所述一维链路的打分结果;当存在一维链路的报警节点的数量为多个的情况下,按照第二预设规则对所述一维链路进行打分,得到所述一维链路的打分结果。4.根据权利要求3所述的根因定位方法,所述第一预设规则:其中,M表示打分结果,a表示所述报警节点在所述一维链路中的节点序号,b表示所述一维链路中的总节点数。5.根据权利要求3所述的根因定位方法,所述第二预设规则:其中,M表示打分结果,c表示所述一维链路中相连最多的报警节点的数量,i为整数,i表示所述一维链路中与正常节点相邻的第i个报警节点,d
i
表示所述第i个报警节点相邻的正常节点的数量。6.根据权利要求3至5任意一项所述的根因定位方法,其中,当存在一维链路的所有节点均为报警节点的情况下,增大所述一维链路的打分结果。7.根据权利要求3至5任意一项所述的根因定位方法,其中,令一维链路的节点数量为r,当存在一维链路中前p个节点均为正常节点,后q个节点均为报警节点的情况下,增大所述一维链路的打分结果;其中,r=p+q。8.根据权利要求1所述的根因定位方法,所述基于所述每条一维链路的打分结果,确定根因节点包括:比较所有一维链路的打分结果;
获取目标报警节点发出异常...

【专利技术属性】
技术研发人员:郑海青刘雯孙才婵叶泽锐
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1