技术领域
[0001] 本
发明涉及计算机领域,尤其涉及一种异常根因分析的方法及装置。
背景技术
[0002] 根因分析(Root Cause Analysis,RCA)是一项结构化的问题处理法,用以逐步找出问题的根本原因并加以解决,而不是仅仅关注问题的表征。现有的根因分析的步骤一般如下:
[0003] 1、告警模
块产生异常告警并将告警日志信息传递给根因分析模块。
[0004] 2、根因分析模块根据告警信息分析出根因结果。
[0005] 3、根因分析模块在分析结果展示模块中将结果展示出来。
[0006] 上述方案一般通过硬编码实现,一方面需要人为统计各种异常才能得到比较完备的根因分析方式;另一方面当要
修改根因分析方式时,需要直接修改源代码,从而代码会变得难以维护。
发明内容
[0007] 本发明
实施例提供一种异常根因分析的方法及装置,用以解决
现有技术中需要通过硬编码的方式实现根因分析的问题。
[0008] 第一方面,本发明实施例提供一种异常根因分析的方法,包括:
[0009] 获取当前告警的告警日志;
[0010] 根据所述告警日志和所述告警日志关联的配置数据,生成所述当前告警的事实信息;
[0011] 将推理网络中的每条判决路径与所述事实信息进行匹配;所述推理网络是根据历史告警的事实信息得到各判决路径且根据历史告警的分析结果得到各判决路径对应的执行策略;
[0012] 按照匹配的判决路径对应的执行策略对所述事实信息进行更新;将更新后的事实信息重新返回至将推理网络中的每条判决路径与所述事实信息进行匹配的步骤,直至所述推理网络停止对所述事实信息的更新,并通过停止更新时的事实信息确定所述当前告警的根因。
[0013] 上述方案,通过将告警日志转
化成事实信息放入推理网络中匹配,匹配成功时,更新事实信息直到停止更新输出结果,不需要人工编码,当异常出现时无需修改源代码,提高了异常根因分析的效率。同时推理网络是根据历史告警的事实信息得到各判决路径且根据历史告警的分析结果得到各判决路径对应的执行策略,减少人为判断的失误,提高根因分析的准确性。
[0014] 可选的,每条判决路径包括至少一个判决
节点;每个判决节点对应一个判决因素;所述将推理网络中的每条判决路径与所述事实信息进行匹配,包括:
[0015] 按照第i条判决路径的各判决节点的顺序依次判断所述事实信息是否符合对应的判决节点;
[0016] 若所述事实信息不满足所述第i条判决路径的任一判决节点,则按照第i+1条判决路径的各判决节点的顺序依次判断所述事实信息是否符合对应的判决节点,直到所述事实信息与所述推理网络中的每条判决路径完成匹配。
[0017] 上述方案,按照判决路径的各判决节点的顺序依次判断事实信息是否符合对应的判决节点,在不满足判决路径的任一判决节点时换另一条判决路径,提高了根因分析的效率以及分析结果的准确性。
[0018] 可选的,所述推理网络还包括与每条判决路径对应的执行节点,所述执行节点存储有判决路径对应的执行策略;所述按照匹配的判决路径对应的执行策略对所述事实信息进行更新,包括:
[0019] 在所述事实信息满足所述第i条判决路径的所有判决节点后,执行所述第i条判决路径的执行节点,得到更新的事实信息。
[0020] 上述方案,当事实信息满足当前判决路径的所有判决节点后执行对应的执行策略更新事实,也就是不断地验证可能的原因,无需人工修改,提高了根因分析的效率。
[0021] 可选的,所述方法还包括:
[0022] 接收更改
请求,所述更改请求用于指示更改所述推理网络中至少一个判决节点或执行节点;
[0023] 根据所述更改请求对所述推理网络进行更改。
[0024] 上述方案,当需要对推理网络进行修改时,可直接通过配置页面,无需人工编写,实现根因分析系统可配置,无需对源代码修改,提高了根因分析的效率。
[0025] 可选的,所述推理网络还包括存储节点,所述存储节点用于存储所述判决路径的判决结果。
[0026] 上述方案,通过存储节点存储判决结果,以空间换时间,提高了根因分析的效率。
[0027] 第二方面,本发明实施例提供一种异常根因分析的装置,所述装置包括:
[0028] 获取模块,用于获取当前告警的告警日志;
[0029] 处理模块,用于根据所述告警日志和所述告警日志关联的配置数据,生成所述当前告警的事实信息;
[0030] 将推理网络中的每条判决路径与所述事实信息进行匹配;所述推理网络是根据历史告警的事实信息得到各判决路径且根据历史告警的分析结果得到各判决路径对应的执行策略;
[0031] 按照匹配的判决路径对应的执行策略对所述事实信息进行更新;将更新后的事实信息重新返回将所述事实信息通过推理网络对所述事实信息进行更新的步骤,直至所述推理网络停止对所述事实信息的更新,并通过停止更新时的事实信息确定所述当前告警的根因。
[0032] 可选的,每条判决路径包括至少一个判决节点;每个判决节点对应一个判决因素;所述处理模块具体用于:
[0033] 按照第i条判决路径的各判决节点的顺序依次判断所述事实信息是否符合对应的判决节点;
[0034] 若所述事实信息不满足所述第i条判决路径的任一判决节点,则按照第i+1条判决路径的各判决节点的顺序依次判断所述事实信息是否符合对应的判决节点。
[0035] 可选的,所述推理网络还包括与每条判决路径对应的执行节点,所述执行节点存储有判决路径对应的执行策略;所述处理模块具体用于:
[0036] 在所述事实信息满足所述第i条判决路径的所有判决节点后,执行所述第i条判决路径的执行节点,得到更新的事实信息。
[0037] 可选的,所述处理模块还用于:
[0038] 接收更改请求,所述更改请求用于指示更改所述推理网络中至少一个判决节点或执行节点;
[0039] 根据所述更改请求对所述推理网络进行更改。
[0040] 可选的,所述推理网络还包括存储节点,所述存储节点用于存储所述判决路径的判决结果。
[0041] 第三方面,本发明实施例提供一种计算机被控设备,包括:
[0043] 处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述第一方面所述的方法。
[0044] 第四方面,本发明实施例提供一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述第一方面所述的方法。
附图说明
[0045] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0046] 图1为本发明实施例提供的一种系统架构的示意图;
[0047] 图2为本发明实施例提供的一种异常根因分析方法的流程示意图;
[0048] 图3为本发明实施例提供的一种异常根因分析方法的示意图;
[0049] 图4为本发明实施例提供的一种异常根因分析方法的示意图;
[0050] 图5为本发明实施例提供的一种异常根因分析方法的示意图;
[0051] 图6为本发明实施例提供的一种异常根因分析方法的示意图;
[0052] 图7为本发明实施例提供的一种异常根因分析方法的流程示意图;
[0053] 图8为本发明实施例提供的一种异常根因分析的装置的结构示意图。
具体实施方式
[0054] 为了更好的理解上述技术方案,下面将结合
说明书附图及具体的实施方式对上述技术方案进行详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
[0055] 图1示例性的示出了本发明实施例所适用的一种系统架构,该系统架构可以包括告警器100、处理器200。
[0056] 其中,告警器100实时监测被控对象的各项指标的状态信息,当出现异常时,将异常对应的告警日志发送至处理器200。
[0057] 处理器200包括推理网络210,处理器200将告警器100发送的告警日志转化成事实信息,作为推理网络210的输入,将推理网络210的输出作为根因分析的结果。
[0058] 需要说明的是,上述图1所示的结构仅是一种示例,本发明实施例对此不做限定。
[0059] 为了更好的解释上述实施例,图2示例性的示出了一种异常根因分析的方法的流程,该流程可以由异常根因分析的装置执行。在上述系统架构中,则可以是处理器作为执行者。
[0060] 如图2所示,该流程具体包括:
[0061] 步骤201,获取当前告警的告警日志。
[0062] 步骤202,根据告警日志和告警日志关联的配置数据,生成当前告警的事实信息。
[0063] 步骤203,将推理网络中的每条判决路径与事实信息进行匹配。
[0064] 需要说明的是,推理网络是根据历史告警的事实信息得到各判决路径且根据历史告警的分析结果得到各判决路径对应的执行策略。当产生一个告警时,异常根因分析系统会将告警对应的事实信息与告警最后的分析结果都记录下来,从而当下一个相同的告警产生时直接使用历史记录的分析结果。
[0065] 步骤204,按照匹配的判决路径对应的执行策略对事实信息进行更新。
[0066] 步骤205,将更新后的事实信息重新返回步骤203,直至推理网络停止对事实信息的更新。
[0067] 步骤206,通过停止更新时的事实信息确定当前告警的根因。
[0068] 基于上述内容,在步骤201中,告警器也可以是其它负责告警的系统实时监测被控对象的各项指标信息,比如当被控对象的成功率下降超过预设的
阈值时,告警器就会产生告警,从而获取相应的告警日志。被控对象的指标信息包括当前成功率、系统平均时延、当前交易量等,本
申请对此不做具体限定。
[0069] 本申请实施例中,由于告警日志在进入推理网络前要变成推理网络可识别的数据,因此步骤202根据告警日志关联的配置数据将告警日志转化为当前告警的事实信息。
[0070] 下面,在介绍步骤203之前,先结合附图介绍推理网络的产生过程,首先获取配置页面输入的规则明细以及行为明细。将规则明细分解为多个不可再分的判决节点,比如规则明细为:this[‘fact’].analyzeMsg!=null&&this['fact].analyzeMsg.subSystemid contains‘3093’,将其分解为两个判决节点this[‘fact’].analyzeMsg!=null和this['fact].analyzeMsg.subSystemid contains‘3093’。
[0071] 接下来,在所有规则明细都分解为多个不可再分的判决节点之后,比如,如图3所示,将这些判决节点称为A节点,分别为A1、A2、A3…An。
[0072] 接着,将A1、A2作为输入建立B1节点,其中B1节点用于比较A1和A2,然后,将B1、A3作为输入建立B2节点,以此类推,建立B(n-1)节点,其中,B(n-1)由B(n-2)和A(n)作为输入得到。最后,建立B(n)作为执行节点。这样一来,所有规则明细分解分解成的多个的判决节点都在推理网络中参与了匹配,同时当事实信息满足了某条判决路径上的所有判决节点时到最后一个节点也即执行节点执行相应的执行策略。
[0073] 需要说明的是,每个判决节点对应一个判决因素,用于评估字面的条件。比如从图4中可以看出X1节点:name==“ein”,X2节点:strength==“strong”,两个节点分别评估了事实的name和strength属性。
[0074] 举个例子,如图5所示,Y1、Y2为事实信息,节点C相当于上述内容的A节点,也就是判决节点,用于评估事实信息的字面条件,从图5中可以看出,推理网络中还包括存储节点即图中的D节点,用于存储判决结果。E1、E2节点相当于上述内容中的B节点,可以看出当Y1.name==Y2.name也就是满足E1节点时,执行相应的执行节点R1,当Y1.name!=Y2.name也就是满足E2节点时,执行相应的执行节点R2,其中R1、R2也就是上述内容的B(n)。
[0075] 本申请实施例中,为了使
规则引擎不做额外的工作,推理网络中还会生成一部分节点用于根据事实信息的类型等属性过滤事实信息,在一种可能实现的方式中,如图6所示,节点I为整个推理网络的入口,T1、T2、T3用于过滤事实信息的类型,H1节点用于根据其他属性过滤事实信息,比如事实信息的大小等。P1、P2、P3相当于上述内容的A节点,也就是判决节点。Q1相当于上述内容的B节点,将P1、P2的结果进行比较检查。最终满足Q1时,执行R1,满足P3时执行R2。
[0076] 进一步的,在形成推理网络后,步骤203具体通过如下方式实现:
[0077] 按照第i条判决路径的各判决节点的顺序依次判断事实信息是否符合对应的判决节点;
[0078] 若事实信息不满足第i条判决路径的任一判决节点,则按照第i+1条判决路径的各判决节点的顺序依次判断事实信息是否符合对应的判决节点。
[0079] 需要说明的是,每条判决路径包括至少一个判决节点,每个判决节点对应一个判决因素。
[0080] 从上述内容可以看出,当事实信息不满足当前判决路径的任一判决节点时,则要换另一条判决路径进行判断。也就是说,每一条判决路径上的多个判决节点之间都是“且”的关系,那么当判决节点之间包含“或”的关系时,推理网络中就会产生分叉,比如当一个具体的规则明细为this['fact'].analyzeMsg!=null or this['fact].analyzeName contains'UPP-PP'时,在推理网络中会产生这一条规则明细最多有两个执行节点的现象。
[0081] 基于上述内容,推理网络还包括与每条判决路径对应的执行节点,执行节点存储有判决路径对应的执行策略,步骤204具体为:在事实信息满足第i条判决路径的所有判决节点后,执行第i条判决路径的执行节点,得到更新的事实信息。
[0082] 本申请实施例中,由于一条判决路径的最后节点为执行节点,所以在事实信息满足判决路径的所有判决节点后,执行判决路径的执行节点,得到更新的事实信息,比如在图6中,当事实信息满足P3this'paramB'==2,则执行R2:put('paramC',3)。接着事实信息中的paramC被赋值3,作为更新的事实信息,然后将更新的事实信息再次放入推理网络中直到在推理网络中停止更新作为结果输出。
[0083] 为了更好的解释上述方案,下面以更改配置信息为例提供一种异常根因分析的方法的流程示意图。
[0084] 如图7所示,该流程具体包括:
[0085] 步骤701,接收更改请求。
[0086] 需要说明的是,更改请求用于指示更改推理网络中至少一个判决节点或执行节点。
[0087] 步骤702,根据更改请求对推理网络进行更改。
[0088] 举个例子,比如上述内容中P3 this'paramB'==2,当更改请求为this'paramB'==3时,推理网络将修改
定位到对应的P3节点上,并将P3节点对应的判决条件更改为this'paramB'==3。当在配置页面直接删除某条规则明细及其对应的行为明细时,推理网络会找到对应的判决节点并将其删除,然后删除其对应的执行节点。当在配置页面新增一条规则明细时,推理网络判断其分成的判决条件是否已存在,若不存在,则建立一个新的判决条件节点。
[0089] 上述方案,当要对异常根因分析作修改时,本发明实施例可直接通过配置页面输入,无需修改源代码,且不需要人工编码,可实现快速配置根因分析系统。
[0090] 基于相同的技术构思,图8示例性的示出了本发明实施例提供的一种异常根因分析的装置的结构,该装置可以执行异常根因分析方法的流程。
[0091] 如图8所示,该装置可以包括:
[0092] 获取模块801,用于获取当前告警的告警日志;
[0093] 处理模块802,用于根据所述告警日志和所述告警日志关联的配置数据,生成所述当前告警的事实信息;
[0094] 将推理网络中的每条判决路径与所述事实信息进行匹配;所述推理网络是根据历史告警的事实信息得到各判决路径且根据历史告警的分析结果得到各判决路径对应的执行策略;
[0095] 按照匹配的判决路径对应的执行策略对所述事实信息进行更新;将更新后的事实信息重新返回将所述事实信息通过推理网络对所述事实信息进行更新的步骤,直至所述推理网络停止对所述事实信息的更新,并通过停止更新时的事实信息确定所述当前告警的根因。
[0096] 可选的,每条判决路径包括至少一个判决节点;每个判决节点对应一个判决因素;所述处理模块802具体用于:
[0097] 按照第i条判决路径的各判决节点的顺序依次判断所述事实信息是否符合对应的判决节点;
[0098] 若所述事实信息不满足所述第i条判决路径的任一判决节点,则按照第i+1条判决路径的各判决节点的顺序依次判断所述事实信息是否符合对应的判决节点。
[0099] 可选的,所述推理网络还包括与每条判决路径对应的执行节点,所述执行节点存储有判决路径对应的执行策略;所述处理模块802具体用于:
[0100] 在所述事实信息满足所述第i条判决路径的所有判决节点后,执行所述第i条判决路径的执行节点,得到更新的事实信息。
[0101] 可选的,所述处理模块802还用于:
[0102] 接收更改请求,所述更改请求用于指示更改所述推理网络中至少一个判决节点或执行节点;
[0103] 根据所述更改请求对所述推理网络进行更改。
[0104] 可选的,所述推理网络还包括存储节点,所述存储节点用于存储所述判决路径的判决结果。
[0105] 基于相同的技术构思,本发明实施例还提供了一种计算被控设备,包括:
[0106] 存储器,用于存储程序指令;
[0107] 处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述异常根因分析的方法。
[0108] 基于相同的技术构思,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述异常根因分析的方法。
[0109] 最后应说明的是:本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或
计算机程序产品。因此,本发明可采用完全
硬件实施例、完全
软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质
[0110] (包括但不限于磁盘存储器、光学存储器等)上实施的计算机程序产品的形式。
[0111] 本发明是参照根据本发明的方法、被控设备(系统)、和计算机程序产品的
流程图和/或方
框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程
数据处理被控设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理被控设备的处理器执行的指令产生用于实现在流程图一个流程或多个和/或方框图一个方框或多个方框中
指定的功能的装置。
[0112] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理被控设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0113] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的范围。这样,倘若本发明的这些修改和变型属于本发明
权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。