CN112988446B - 一种故障根因检测方法及装置 - Google Patents

一种故障根因检测方法及装置 Download PDF

Info

Publication number
CN112988446B
CN112988446B CN202110542967.2A CN202110542967A CN112988446B CN 112988446 B CN112988446 B CN 112988446B CN 202110542967 A CN202110542967 A CN 202110542967A CN 112988446 B CN112988446 B CN 112988446B
Authority
CN
China
Prior art keywords
fault
alarm
type
characteristic
root cause
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
Application number
CN202110542967.2A
Other languages
English (en)
Other versions
CN112988446A (zh
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.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN202110542967.2A priority Critical patent/CN112988446B/zh
Publication of CN112988446A publication Critical patent/CN112988446A/zh
Application granted granted Critical
Publication of CN112988446B publication Critical patent/CN112988446B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures

Abstract

本发明实施例提供了一种故障根因检测方法及装置,涉及数据处理技术领域,上述方法包括:确定第一告警信息中包括的触发告警的故障的目标故障类型;确定与触发告警的时刻相关联的第一时间段对应的第一告警类型序列;按照划分时长,对第一告警类型序列进行划分,得到各第一类型组,对各第一类型组包括的告警类型进行编码,并基于编码结果,生成第一故障特征;获得与目标故障类型匹配的故障类型对应的根因已知故障的第二故障特征;根据第一故障特征与第二故障特征间的相似度,将相似故障的故障根因确定为所述第一告警信息对应的故障根因。应用本发明实施例提供的方案进行故障根因检测,能够准确地检测故障的故障根因。

Description

一种故障根因检测方法及装置
技术领域
本发明涉及数据处理技术领域,特别是涉及一种故障根因检测方法及装置。
背景技术
随着信息技术革命的不断发展和持续深化,通信网络遍布于生活中的各个地方、应用于各种生活场景下,极大地改善了生活环境,人们也越来越依赖于通信网络。在这种情况下,要求通信网络具有较高的可靠性和安全性。当通信网络中某一节点发生故障时,需要快速检测导致故障发生的根本原因,这一根本原因又可以称为故障根因,并基于所检测到的故障根因排除故障。因此,检测故障根因至关重要。
鉴于上述情况,需要提供一种故障根因检测方案,以准确地检测故障的故障根因。
发明内容
本发明实施例的目的在于提供一种故障根因检测方法及装置,以准确地检测故障的故障根因。具体技术方案如下:
第一方面,本发明实施例提供了一种故障根因检测方法,所述方法包括:
确定第一告警信息中包括的触发告警的故障的目标故障类型;
确定与触发告警的时刻相关联的第一时间段对应的第一告警类型序列;
按照划分时长,对所述第一告警类型序列进行划分,得到各第一类型组,对各第一类型组包括的告警类型进行编码,并基于编码结果,生成第一故障特征;
获得与所述目标故障类型匹配的故障类型对应的根因已知故障的第二故障特征;
根据所述第一故障特征与第二故障特征间的相似度,在所述根因已知故障中,检测所述触发告警的故障的相似故障;
将所述相似故障的故障根因确定为所述第一告警信息对应的故障根因。
本发明的一个实施例中,上述根据所述第一故障特征与第二故障特征间的相似度,在所述根因已知故障中,检测所述触发告警的故障的相似故障,包括:
判断第二故障特征中是否存在第三故障特征,其中,所述第三故障特征为:与所述第一故障特征间相似度大于预设相似度阈值的故障特征;
若为是,将所述第三故障特征对应的根因已知故障,确定为所述触发告警的故障的相似故障;
所述方法还包括:
若第二故障特征中不存在所述第三故障特征,调整所述划分时长,并返回所述按照划分时长,对所述第一告警类型序列进行划分的步骤。
本发明的一个实施例中,上述调整所述划分时长,包括:
从未作为过所述划分时长的预设备选时长中,选择一时长,将所述划分时长调整为所选择的时长。
本发明的一个实施例中,上述根据所述第一故障特征与第二故障特征间的相似度,在所述根因已知故障中,检测所述触发告警的故障的相似故障,包括:
判断第二故障特征中是否存在第三故障特征,其中,所述第三故障特征为:与所述第一故障特征间相似度大于预设相似度阈值的故障特征;
若为是,将所述第三故障特征对应的根因已知故障,确定为所述触发告警的故障的相似故障;
所述方法还包括:
若第二故障特征中不存在所述第三故障特征,调整所述第一时间段的时长,并返回所述确定与触发告警的时刻相关联的第一时间段对应的第一告警类型序列的步骤。
本发明的一个实施例中,上述调整所述第一时间段的时长,包括:
从未选中过的预设备选时长调整系数中,选择一时长调整系数;
基于所选择的时长调整系数,对第一时间段的时长进行调整,得到调整后时长,将所述第一时间段的时长更新为调整后时长。
本发明的一个实施例中,上述对各第一类型组包括的告警类型进行编码,得到第一故障特征,包括:
从所得到的第一类型组中过滤掉类型取值为无效值的告警类型,得到第二类型组;
对各第二类型组中包括的告警类型进行编码;
根据各第二类型组对应的编码结果,生成第一故障特征。
本发明的一个实施例中,上述根据各第二类型组对应的编码结果,生成第一故障特征,包括:
若第二类型组中包含至少两个告警类型,将第二类型组包括的各告警类型的编码结果中相同序号的值进行累加,得到累加结果,将第二类型组对应的累加结果与预设数值进行按位与处理,将处理结果作为第一故障特征;
若第二类型组包含一个告警类型,将第二类型组对应的编码结果与预设数值进行按位与处理,将处理结果作为第一故障特征。
本发明的一个实施例中,上述获得与所述目标故障类型匹配的故障类型对应的根因已知故障的第二故障特征,包括:
获得目标故障类型、与所述目标故障类型关联的多个告警类型以及目标根因的对应关系;
确定第二时间段内对应的各告警类型组成的第二告警类型序列,其中,所述第二时间段与所述第一时间段的时长相等;
按照划分时长,对所述第二告警类型序列进行划分,得到多个第三类型组,对各个第三类型组包括的告警类型进行编码,得到第二故障特征。
第二方面,本发明实施例提供了一种故障根因检测装置,所述装置包括:
故障类型确定模块,用于确定第一告警信息中包括的触发告警的故障的目标故障类型;
告警类型序列确定模块,用于确定与触发告警的时刻相关联的第一时间段对应的第一告警类型序列;
第一故障特征生成模块,用于按照划分时长,对所述第一告警类型序列进行划分,得到各第一类型组,对各第一类型组包括的告警类型进行编码,并基于编码结果,生成第一故障特征;
第二故障特征获得模块,用于获得与所述目标故障类型匹配的故障类型对应的根因已知故障的第二故障特征;
相似故障检测模块,用于根据所述第一故障特征与第二故障特征间的相似度,在所述根因已知故障中,检测所述触发告警的故障的相似故障;
故障根因确定模块,用于将所述相似故障的故障根因确定为所述第一告警信息对应的故障根因。
本发明的一个实施例中,上述相似故障检测模块,具体用于判断第二故障特征中是否存在第三故障特征,其中,所述第三故障特征为:与所述第一故障特征间相似度大于预设相似度阈值的故障特征;若为是,将所述第三故障特征对应的根因已知故障,确定为所述触发告警的故障的相似故障,若为否,触发第一时长调整模块;
所述第一时长调整模块,用于调整所述划分时长,触发所述第一故障特征生成模块;
本发明的一个实施例中,上述第一时长调整模块,具体用于从未作为过所述划分时长的预设备选时长中,选择一时长,将所述划分时长调整为所选择的时长,触发所述第一故障特征生成模块。
本发明的一个实施例中,上述相似故障检测模块,具体用于判断第二故障特征中是否存在第三故障特征,其中,所述第三故障特征为:与所述第一故障特征间相似度大于预设相似度阈值的故障特征;若为是,将所述第三故障特征对应的根因已知故障,确定为所述触发告警的故障的相似故障,若为否,触发第二时长调整模块;
所述第二时长调整模块,用于调整所述第一时间段的时长,并触发告警类型序列确定模块。
本发明的一个实施例中,上述第二时长调整模块,具体用于从未选中过的预设备选时长调整系数中,选择一时长调整系数;基于所选择的时长调整系数,对第一时间段的时长进行调整,得到调整后时长,将所述第一时间段的时长更新为调整后时长。
本发明的一个实施例中,上述第一故障特征生成模块,包括:
告警类型过滤子模块,用于从所得到的第一类型组中过滤掉类型取值为无效值的告警类型,得到第二类型组;
告警类型编码子模块,用于对各第二类型组中包括的告警类型进行编码;
故障特征生成子模块,用于根据各第二类型组对应的编码结果,生成第一故障特征。
本发明的一个实施例中,上述故障特征生成子模块,具体用于若第二类型组中包含至少两个告警类型,将第二类型组包括的各告警类型的编码结果中相同序号的值进行累加,得到累加结果,将第二类型组对应的累加结果与预设数值进行按位与处理,将处理结果作为第一故障特征;若第二类型组包含一个告警类型,将第二类型组对应的编码结果与预设数值进行按位与处理,将处理结果作为第一故障特征。
本发明的一个实施例中,上述第二故障特征获得模块,具体用于获取存储的故障类型、与所述故障类型关联的告警类型、以及引发故障的根因告警、第二故障特征的对应关系;从所述对应关系中确定与目标故障类型匹配的故障类型对应的第二故障特征。
第三方面,本发明实施例提供了一种网络设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述第一方面所述的方法步骤。
第四方面,本发明实施例提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现上述第一方面所述的方法步骤。
由以上可见,应用本发明实施例提供的方案进行故障根因检测时,根据第一故障特征与第二故障特征间的相似度,在根因已知故障中检测触发告警的故障的相似故障;并将相似故障的根因确定为第一告警信息对应的故障根因。由于第一故障特征反映的是触发告警的故障的特征,第二故障特征反映的是根因已知故障的特征,第一故障特征与第二故障特征间的相似度则能够反映触发告警的故障与根因已知故障间的相似度。当相似度较高时,表示触发告警的故障与根因已知故障为同一故障的可能性较大,当相似度较低时,表示触发告警的故障与根因已知故障为同一故障的可能性较小。所以,根据第一故障特征与第二故障特征间的相似度,能够在根因已知故障中较为准确地检测触发告警的故障的相似故障,进而能够较为准确确定触发告警的故障的故障根因。
另外,第一告警类型序列是第一时间段内对应的告警类型序列,由于同一时间段内所生成的各告警信息由同一故障触发生成的可能性较大,所以第一告警类型序列由触发告警的故障触发生成的可能性较大,根据第一告警类型序列生成的第一故障特征能够较为准确地反映触发告警的故障的特征,因此,根据第一故障特征和第二故障特征间的相似度,能够进一步较为准确地检测触发告警的故障的相似故障,进而能够得到较为准确的第一告警信息对应的故障根因。
并且,各第一类型组是按照划分时长、对第一告警类型序列进行划分得到的,第一类型组中包含各告警类型以及各告警类型的时序信息,又由于各告警类型的时序信息能够更加准确地反映触发告警的故障,所以基于编码结果所生成的第一故障特征能够更加准确反映触发告警的故障的特征。从而能够更进一步得到较为准确的第一告警信息对应的故障根因。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为本发明实施例提供的一种故障根因检测方法的流程示意图;
图2为本发明实施例提供的一种故障特征确定方法的流程示意图;
图3为本发明实施例提供的一种故障根因检测装置的结构示意图;
图4为本发明实施例提供的一种故障特征确定模块的结构示意图;
图5为本发明实施例提供的一种网络设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本发明保护的范围。
首先,对本发明实施例的执行主体进行说明。
本发明实施例的执行主体可以为具有告警事件监控功能的监控设备。上述监控设备用于对告警事件进行监控、并通过由告警事件触发生成的告警信息检测故障根因。
具体的,上述监控设备可以为网络中专门用于监控告警事件的监控设备。
在这种情况下,监控设备在监控到网络中各网络设备发生的告警事件后,触发生成告警信息,监控设备可以基于所生成的告警信息检测故障根因;告警监控设备还可以收集各网络设备所生成的告警信息,基于所收集的告警信息检测故障根因。
当然,网络中的网络设备也可以具有告警事件监控功能,也就是网络设备也可以作为监控设备。
在这种情况下,网络设备可以在发生告警事件时生成告警信息,并获得其他各网络设备生成的告警信息,基于各告警信息检测故障根因;网络设备还可以从专门用于生成告警信息的设备获得各告警信息,基于所获得的告警信息检测故障根因。
参见图1,图1为本发明实施例提供的一种故障根因检测方法的流程示意图,上述方法包括以下步骤S101-S106。
步骤S101:确定第一告警信息中包括的触发告警的故障的目标故障类型。
在网络设备出现故障而引发异常事件、告警事件等事件时,会触发生成告警信息。例如,告警信息的一种形态可以为告警日志。
上述第一告警信息中包括的触发告警的故障是指:触发生成第一告警信息的故障。故障可能是协议故障,也可能是链路故障、设备自身的故障等。由于是要对上述第一告警信息中包括的触发告警的故障的故障根因进行检测,又可以将上述触发告警的故障称为待检测故障。
故障的类型可以在告警信息中携带,或者还可以根据告警类型字段和告警类型对应的状态字段确定故障的类型。在一个示例中,可以根据告警类型字段为OSPF(OpenShortest Path First,开放式最短路径优先)邻居变化(OSPF_NBR_CHG),以及该告警类型字段对应的状态为down,由此可以生成故障的类型为OSPF neighbor down,即OSPF邻居down。上述第一告警信息中可以包含触发告警的时刻、告警类型、触发告警的故障类型以及故障等级等信息。
上述目标故障类型是指触发生成第一告警信息的故障的故障类型。
具体的,当监控设备检测到告警信息中触发告警的故障类型字段和/或故障等级字段的取值为有效值,表示该告警信息由故障触发生成。在这种情况下,可以触发监控设备的故障根因检测功能,对告警信息进行解析,获得故障类型字段的取值,作为目标故障类型。
步骤S102:确定与触发告警的时刻相关联的第一时间段对应的第一告警类型序列。
上述触发告警的时刻可以是:第一告警信息的生成时刻,还可以是触发告警的故障的发生时刻,也可以是网络设备触发向监控设备发送告警信息的时刻、也可以监控设备接收到告警信息的时刻。上述时刻在本实施例中统称为触发告警的时刻“相关联”的时刻。因此,与触发告警的时刻相关联的第一时间段可以为根据触发告警的时刻相关联的时刻确定的时间段。
上述第一时间段可以包括触发告警的时刻,也可以在触发告警的时刻之前相邻的时间段,还可以是在触发告警的时刻之后相邻的时间段。
本实施例中以触发告警的时刻为基准时刻确定第一时间段为例进行说明。
具体的,上述第一时间段可以为:从基准时刻向前和向后分别延伸而得到的时间段。向前、向后延伸的时长可以相同,也可以不相同。如假设第一时间段的时长为4s,以触发告警的时刻为基准时刻,为了描述方便,以触发告警的时刻为0s为例,那么,第一时间段可以为[-2s,+2s]、[-1s,+3s]或[-3s,+1s];
第一时间段也可以为:从基准时刻向后延伸而得到的时间段,向后延伸的时长为第一时间段的时长。沿用上述例子,第一时间段可以为[0,+4s]、[+1s,+5s];
第一时间段还可以为:从基准时刻向前延伸而得到的时间段,向前延伸的时长为第一时间段的时长。沿用上述例子,第一时间段可以为[-4s,0],[-5s,-1s]。
本发明的一个实施例中,上述第一时间段的时长可以是由工作人员根据经验预先设定的。如5s、10s、15s等。上述第一时间段对应的第一告警类型序列是指:由第一时间段内生成的各告警信息的告警类型组成的告警类型序列。上述第一告警类型序列中包含各告警类型对应的时刻以及各告警类型。
在确定上述第一告警类型序列时,可以获得第一时间段内生成的告警信息,解析上述告警信息,得到各告警信息的告警类型,将得到的告警类型按照各告警信息的生成时刻进行排序,得到第一时间段对应的第一告警类型序列。
在一个示例中,第一时间段内生成的告警信息可以包括如下信息:
warn_1={"timestamp": -3, "warntype": "type1"},
warn_2={"timestamp": -1, "warntype": " type2"},
warn_3={"timestamp": 3, "warntype": " type3"}。
warn_1~ warn_3表示告警信息的标识;
Timestamp表示告警类型对应的时间信息,如告警信息中包括的触发告警的关联时刻,Warntype表示告警类型;
type1、type2、type3为不同的告警类型,不同的厂家可能采用不同的标识来标识告警类型,因此,本实施例中对上述不同的告警类型的含义不加以赘述。
将得到的告警类型按照各告警信息对应的时间信息进行排序,可以得到告警序列为[type1, type2, type3]。
在确定上述第一告警类型序列时,还可以获得与触发告警的时刻相关联的一定时间段内对应的告警类型序列,上述一定时间段的时长可以较长,如2分钟、4分钟等。这种情况下,可以以第一时间段的时长为信息获得窗口,从所获得的例如2分钟长度所对应的告警类型序列筛选得到第一时间段对应的告警类型序列。
在发生故障时,该故障在一段时间内会产生一系列的连锁反应,导致网络设备出现各种告警事件,从而生成多条告警信息,也就是说,在一段时间内生成的多条告警信息可能是由同一故障触发的。所以,在第一时间段内所生成的各告警信息可能也是由触发生成第一告警信息的故障触发生成的。
步骤S103:按照划分时长,对第一告警类型序列进行划分,得到各第一类型组,对各第一类型组包括的告警类型进行编码,并基于编码结果,生成第一故障特征。
具体的,上述划分时长需要小于第一时间段的时长,所以工作人员可以基于第一时间段的时长确定划分时长,例如:假设第一时间段的时长为10s,可以确定划分时长为1s、2s等。
上述划分时长还可以为:从各预设备选时长中选择的划分时长。其中,备选时长为预先设置好的多个不同的时长,可以从预设的备选时长中选择一个作为划分时长。
例如:预设备选时长包括2s、5s、10s,可以选择2s作为划分时长。
具体的,可以基于第一时间段内生成的各告警信息包括的触发告警的时刻,按照划分时长,对第一告警类型序列进行划分,得到各第一类型组。
例如:假设第一告警类型序列为[type1, type2, type3]。其中,告警类型type1对应的触发告警的时刻为-2s,告警类型type2的对应的触发告警的时刻为-1s,告警类型type3的对应的触发告警的时刻为+1s;当划分时长为2s时,得到第一类型组为[type1,type2],另一第一类型组为[type3];当划分时长为1s,得到的多个第一类型组分别为:[type1]、 [type2]、[type3] 。
在得到各第一类型组后,可以采用预设的编码算法对各第一类型组中包括的告警类型进行编码,上述编码算法可以为one-hot(独热)编码算法。
例如:采用one-hot编码算法进行编码时,可以先确定待初始化的告警类型序列[type1, type2, type3]中各告警类型的编码分别为[1,0,0]、[0,1,0]、[0,0,1]。当各第一类型组为 [type1,type2]、[type1]时,采用编码得到的结果为[[[1,0,0],[0,1,0]],[1,0,0]];当第一类型组为[[A,B,A],[A]]时,采用编码得到的结果为[[[1,0,0],[0,1,0], [1,0,0]], [1,0,0]]。上述编码结果也可以记为向量的形式,向量的维数与告警类型的数量有关。
上述第一故障特征反映的是第一告警信息中触发告警的故障的特征。由于不同故障的故障信息是不相同的,不同故障的故障特征也是不同的,又可以将第一故障特征称为指纹特征。
具体生成第一故障特征的方式可以参见后续实施例,在此不进行详述。
步骤S104:获得与目标故障类型匹配的故障类型对应的根因已知故障的第二故障特征。
故障根因是指:触发故障生成的根本原因。从表现形式上来讲,故障根因为触发故障的根源性的告警信息。
上述根因已知故障的故障根因是已知的。在一个示例中,一种具体的方式是:可以通过建立故障库,故障库中存储了故障类型、与故障类型关联的多个告警类型以及引发该故障类型的根因告警的对应关系,也就是根据该对应关系,可以获知故障的根因,也就是故障的根因是已知的。因此,本实施例中将对应关系中的故障所对应的故障的特征称为根因已知故障的第二故障特征。
当然还可以通过实时分析等方式获取故障的根因,获取故障根因的方式可以多种多样。
上述第二故障特征用于反映根因已知故障的故障信息的特征。在一种实现方式中,第二故障特征可以是预先存储好的。具体的,可以是从已存储的各根因已知故障的故障特征中,获得与目标故障类型匹配的故障类型对应的根因已知故障的第二故障特征。
在另一种实现方式中,第二故障特征可以是实时计算的,具体的,可以从已存储的各根因已知故障中,确定与目标故障类型匹配的故障类型对应的故障,作为根因已知故障,进一步的确定根因已知故障的第二故障特征。
获得第二故障特征的具体方式可以参见后续实施例,在此不进行详述。
步骤S105:根据第一故障特征与第二故障特征间的相似度,在根因已知故障中检测触发告警的故障的相似故障。
第一故障特征反映的是第一告警信息中包括的触发告警的故障的特征,第二故障特征反映的是根因已知故障的特征,第一故障特征与第二故障特征间的相似度则用于反映触发告警的故障与根因已知故障间的相似度,当相似度较高,表示触发告警的故障与根因已知故障为同一故障的可能性较大,当相似度较低,表示触发告警的故障与根因已知故障为同一故障的可能性较小。所以,根据第一故障特征与第二故障特征间的相似度,能够在根因已知故障中较为准确地检测触发告警的故障的相似故障。
具体的,可以采用DTW(Dynamic Time Warping, 动态时间归整)、fastDTW、Frechet Distance/Hausdorff Distance(弗朗明歇距离/豪斯多夫距离)、Longest CommonSub-sequence(最大公共子序列)等预设算法计算上述相似度。
第一故障特征、第二故障特征均可以为基于各告警类型生成的特征,也就是第一故障特征、第二故障特征为:按照各告警类型的告警信息生成的时间顺序得到的时序数据。由于DTW算法能够根据时间动态实现数据匹配,鉴于此,采用DTW算法对故障特征进行匹配,能够消除故障特征中数据间的时延,从而解决了数据时延造成的匹配失败的问题。
fastDTW降低了DTW算法的时间复杂度,提高了计算效率。
具体的,在第一时间段的时长为:基于时长调整系数对预设的告警选择时长调整得到的时长的情况下,还可以计算第一故障特征与第二故障特征间的距离与时长调整系数之积,基于计算得到的值以及第二故障特征的特征长度计算调整后的相似度。
其中,故障特征的长度可以理解为:以向量表示故障特征的情况下,故障特征所对应向量的向量长度。
例如:假设根据fastDTW算法可以输出得到第一故障特征与第二故障特征间的距离为d,假设预设的时长调整系数为0.5,那么计算时长调整系数与所计算的距离之积为:0.5d,基于计算得到的值0.5d与第二故障特征的特征长度Len可以计算调整后的相似度为:(
Figure 745236DEST_PATH_IMAGE001
)。
在计算得到第一故障特征与第二故障特征间的相似度后,在检测相似故障时,一种实施方式中:
可以判断第二故障特征中是否存在第三故障特征,若为是,将第三故障特征对应的根因已知故障,确定为触发第一告警信息的故障的相似故障,也就是触发告警的故障的相似故障,上述第三故障特征为:与第一故障特征的相似度大于预设相似度阈值的故障特征;
另一种实施方式中:还可以确定与第一故障特征的相似度最高的第二故障特征对应的根因已知故障,作为相似故障。
步骤S106:将相似故障的故障根因确定为第一告警信息对应的故障根因。
由以上可见,应用本实施例提供的方案进行故障根因检测时,根据第一故障特征与第二故障特征间的相似度,在根因已知故障中检测触发告警的故障的相似故障;并将相似故障的根因确定为第一告警信息对应的故障根因。由于第一故障特征反映的是触发告警的故障的特征,第二故障特征反映的是根因已知故障的特征,第一故障特征与第二故障特征间的相似度则能够反映触发告警的故障与根因已知故障间的相似度。当相似度较高时,表示触发告警的故障与根因已知故障为同一故障的可能性较大,当相似度较低时,表示触发告警的故障与根因已知故障为同一故障的可能性较小。所以,根据第一故障特征与第二故障特征间的相似度,能够在根因已知故障中较为准确地检测触发告警的故障的相似故障,进而能够较为准确确定触发告警的故障的故障根因。
另外,第一告警类型序列是第一时间段内对应的告警类型序列,由于同一时间段内所生成的各告警信息由同一故障触发生成的可能性较大,所以第一告警类型序列由触发告警的故障触发生成的可能性较大,根据第一告警类型序列生成的第一故障特征能够较为准确地反映触发告警的故障的特征,因此,根据第一故障特征和第二故障特征间的相似度,能够进一步较为准确地检测触发告警的故障的相似故障,进而能够得到较为准确的第一告警信息对应的故障根因。
并且,各第一类型组是按照划分时长、对第一告警类型序列进行划分得到的,第一类型组中包含告警类型以及告警类型的时序信息,又由于告警类型的时序信息能够更加准确地反映触发告警的故障,所以基于编码结果能够更加准确反映触发告警的故障的特征。从而能够更进一步得到较为准确的第一告警信息对应的故障根因。
为了能够较为准确地生成上述步骤S103中第一故障特征,本发明实施例提供了一种故障特征的生成方法,参见图2,在上述步骤S103的基础上,图2中包括以下步骤S1031-S1033。
步骤S1031:从所得到的第一类型组中过滤掉类型取值为无效值的告警类型,得到第二类型组。
上述无效值可以为空值、未知类型值等。
具体的,当第一类型组中包含的告警类型存在取值为无效值的情况时,可以过滤掉该第一类型组中的告警类型;当第一类型组中包含的告警类型均为无效值,可以过滤掉该第一类型组。
例如:沿用步骤S103中的例子,假设所得到的第一类型组为:[[],[type1,type2],[ type1],[]],其中第一类型组为[]包含的告警类型均为空值,可以过滤上述第一类型组[],本实施例中将过滤后的第一类型组称为第二类型组,该第二类型组为[[type1, type2],[type1]]。
假设所得到的第一类型组为:[[type1, type2],[ type1,type4]],其中,第一类型组[type1,type4]中“type4”为未知类型值,可以将过滤掉第一类型组[type1,type4]中“type4”,得到的第二类型组为[[type1, type2],[ type1]]。
步骤S1032:对各第二类型组中包括的告警类型进行编码。
具体的,可以采用预设的编码算法对各第一类型组中包括的告警类型进行编码,上述编码算法可以为one-hot(独热)编码算法。
步骤S1033:根据各第二类型组对应的编码结果,生成第一故障特征。
本发明的一个实施例中,一种情况下,若一个第二类型组中包含至少两个告警类型,将同一个第二类型组包括的各告警类型的编码结果中相同序号的值进行累加,得到累加结果,将第二类型组对应的累加结果与预设数值按位进行“与”处理,将处理结果作为第一告警信息中触发告警的故障的第一故障特征。这样,所得到的累加结果包含第二类型组各告警类型的编码结果,且将累加结果与预设数值进行按位与处理,剔除取值为无效值的编码结果,使得所生成的第一故障特征更为准确反映第一告警信息中触发告警的故障的特征。
在进行累加时,以各第二类型组为[[type1,type2],[type1,type2]]作为示例进行说明。第二类型组[type1,type2]包括告警类型type1和告警类型type2,其中,告警类型type1的编码结果为[1,0,0],告警类型type2的编码结果为[0,1,0]。
可以看到,告警类型type1的编码结果中值为“1”的序号与告警类型type2的编码结果中第一个值为“0”的序号相同;告警类型type1的编码结果中第一个值为“0”的序号与告警类型type2的编码结果中值为“1”的序号相同;告警类型type1的编码结果中第二个值为“0”的序号与告警类型type2的编码结果中第二个值为“0”的序号相同。
因此,可以将各告警类型的编码结果中相同序号的值进行累加,得到[1+0,0+1.0+0],也就是第二类型组对应的累加结果为[1,1,0],从而得到各第二类型组对应的累加结果为[[1,1,0],[1,1,0]]。
在得到累加结果后,可以将第二类型组对应的累加结果与预设数值进行按位与处理,将处理结果作为第一告警信息中包括的触发告警的故障的第一故障特征。上述预设数值可以为1、3、5等。
例如:假设各第二类型组对应的累加结果为[[1,1,0],[1,1,0]],预设数值为1,将各第二类型组对应的累加结果与预设数值进行按位与处理,得到处理结果为[[1,1,0],[1,1,0]],也就是第一故障特征。
另一种情况下,若一个第二类型组包含一个告警类型,将第二类型组对应的编码结果与预设数值进行按位与处理,将处理结果作为第一故障特征。这样,将第二类型组对应的编码结果与预设数值进行按位与处理,剔除取值为无效值的编码结果,使得所生成的第一故障特征更为准确反映故障的特征。
例如:假设各第二类型组为[[type1],[ type2]],预设数值为1。
第二类型组[type1]中包含一个告警类型type1,告警类型type1的编码结果为[1,0,0],将[1,0,0]与1进行按位与处理,得到[1,0,0];
第二类型组[type2]中包含一个告警类型type2,告警类型type2的编码结果为[0,1,0],将[0,1,0]与1进行按位与处理,得到[0,1,0];
从而将得到的处理结果[1,0,0],[0,1,0]作为第一故障特征。
本发明的一个实施例中,对于包含至少两个告警类型的第二类型组,按照上述第一个实施例的处理方式进行处理,对于包含一个告警类型的第二类型组,按照上述第二个实施例的处理方式进行处理,将处理结果作为第一故障特征。需要说明的是,同一个告警类型在第二类型组中出现两次以上,例如,若第二告警组为[type1,typ2,type1],这种情况属于第二类型组中包括3个告警类型,但第二类型组中包括的告警类型的类型种类为两种。
例如:假设各第二类型组包括[[type1,type2],[type1]],预设数值为1。其中,第二类型组[type1,type2]包括两个告警类型:type1和type2,按照上述第一个实施例的处理方式进行处理,可以得到处理结果为[1,1,0],第二类型组[type1]包括一个告警类型:type1,按照上述第二个实施例的处理方式进行处理,可以得到处理结果为[1,0,0],将[1,1,0],[1,0,0]作为第一故障特征。
本实施例简单的以两个第二类型组为例对类型组中序号相同的值进行累加为例进行说明,在实际应用中,对于告警类型序列按照划分时长划分后,可以得到多个第二类型组。具体的,假设各第二类型组包括[[type1,type2, type1],[ type1]],预设数值为1。
其中,第二类型组[type1,type2, type1]包括两个告警类型:type1和type2,对第二类型组[type1,type2, type1]中包括的各告警类型进行编码,得到编码结果为[[1,0,0],[0,1,0], [1,0,0]],对各告警类型的编码结果中相同序号的值进行累加,得到累加结果为[2,1,0],将累加结果与1进行按位与处理,得到处理结果[1,1,0];
第二类型组[type1]包括一个告警类型:type1,对第二类型组[type1]中包括的各告警类型进行编码,得到编码结果为[1,0,0],将编码结果与1进行按位与处理,得到处理结果[1,0,0]。综合上述两个处理结果,将[1,1,0], [1,0,0]作为第一故障特征。
这样,对各第一类型组进行过滤,过滤后的第一类型组中包括的各告警类型的有效性较高,对过滤后的第一类型组中包括的各告警类型进行编码,所得到的编码结果的有效性也较高,根据编码结果所生成的第一故障特征能够进一步准确反映触发告警的故障的特征。
具体的,上述步骤S105中在不存在第三故障特征时,本发明的一个实施例中,可以调整划分时长,并返回上述S103的步骤。
在调整划分时长时,可以从未作为过划分时长的预设备选时长中,选择一时长,将划分时长调整为所选择的时长。例如:假设预设备选时长包括2s、5s、10s,其中,2s已作为过划分时长,可以从5s、10s中选择一时长,将划分时长调整为所选择的时长。
这样,当第一故障特征与第二故障特征间的相似度中不存在大于预设相似度阈值的相似度时,表示在当前所选择的划分时间间隔下,难以检测得到触发告警的故障的相似故障。在这种情况下,在未被作为过划分时长的预设备选时长中选择划分时长,并将划分时长调整为所选择的时长,基于调整后的时长,检测触发告警的故障的相似故障,提高了检测到触发告警的故障的相似故障的可能性。
上述步骤S105中在不存在第三故障特征时,本发明的另一个实施例中,还可以调整第一时间段的时长,并返回上述S102的步骤。
在调整第一时间段的时长时,可以从未选中过的预设备选时长调整系数中,选择一时长调整系数;基于所选择的时长调整系数,对第一时间段的时长进行调整,得到调整后时长,将第一时间段的时长更新为调整后时长。
具体的,可以计算时长调整系数与步骤102中所提到的一定时间段的时长,例如2分钟、4分钟等做乘法运算,将计算得到的数值作为调整后时长,进而将第一时间段的时长更新为调整后时长。
例如:假设预设备选时长调整系数为0.5、0.8、1.2,未选中过的预设备选时长系数为:0.5、0.8,步骤102中提到的一定时间段的时长为2分钟,从0.5、0.8中选择一时长调整系数,如0.5,计算所选择的时长调整系数与预设的告警选择时长之积0.5*120s=60s,得到调整后时长为60s,将第一时间段的时长更新为调整后时长60s。
由于第一时间段的时长是基于时长调整系数对步骤102中提到的一定时间段的时长进行调整得到的时长,当时长调整系数较小,第一时间段的时长也较短,在计算时可以减少计算压力,如果采用较短的第一时间段对应的第一告警类型序列计算得到的对应的第一故障特征无法找到匹配的第二故障类型,那么可以选择较大的时长调整系数,那么更新后的第一时间段内生成其他告警信息的数量也较多,包含的信息更为丰富,对于一些在短时间内未周期震荡的告警可以通过较长的第一时间段对应的第一告警类型序列检测到,在这种情况下,计算得到的相似度的误差较小、准确度较高。
在另一种实现方式中,可以不采用调整系数的方式,可以直接预设好时间长度,进而从未选中过的预设时长中,选择一时长,将第一时间段的时长调整为所选择的时长。
这样,当第一故障特征与第二故障特征间的相似度中不存在大于预设相似度阈值的相似度时,表示在当前第一时间段的时长下,在这种情况下,调整第一时间段的时长,基于调整后的第一时间段的时长,检测触发告警的故障的相似故障,提高了检测到相似故障的可能性。
以下结合具体例子说明故障根因检测的具体过程。
假设,第二故障特征包括[1,1,1,1],[[1,1,0,0],[0,0,1,1]]。下面分别通过三个不同的实例对故障根因检测的具体过程进行说明。
实例一:发生时延的情况。
假设步骤102中所提到的一定时间段的时长为20s,时长调整系数为0.5,可以得到第一时间段的时长为:20*0.5=10s,将以第一告警信息的生成时刻为基准时刻、向前向后分别延伸相同时长5s作为第一时间段,得到第一时间段内生成的告警信息可以包括如下信息:
[{"timestamp":-3, "warntype": "BOARD_ STATE_FAULT "},
{"timestamp":3,"warntype":"BOARD_ REBOOT "},
{"timestamp":3,"warntype":"BOARD_ REBOOT "},
{"timestamp": 3, "warntype": "PHY_UPDOWN"},
{"timestamp": 3, "warntype": "LINK_UPDOWN"}]。
其中,timestamp表示告警类型对应的时间信息,具体的,可以为告警的生成时刻与第一告警信息的生成时刻的时间差;
warntype表示告警类型;
在上述告警类型中,假设在现实中BOARD_REBOOT类型的告警存在延迟6s、且生成两次该BOARD_REBOOT类型的告警信息的情况。
假设划分时长为10s,可以得到告警序列为:
[BOARD_STATE_FAULT, BOARD_REBOOT, BOARD_REBOOT PHY_UPDOW,LINK_UPDOWN];
由于第一时间段的时长为10s,划分时长也为10s,因此得到一个第一类型组为:
[BOARD_STATE_FAULT, BOARD_REBOOT, BOARD_REBOOT ,PHY_UPDOW,LINK_UPDOWN] ;
对上述第一类型组进行过滤,得到第二类型组,对第二类型组包括的告警类型进行编码,可以得到编码结果[[1,0,0,0],[0,1,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],对各第二类型组对应的编码结果进行累加得到[1,2,1,1],将累加结果与1进行按位与处理,得到[1,1,1,1]作为第一故障特征。
从各第二故障特征中,选择与第一故障特征间相似度最大的第二故障特征,选择得到的第二故障特征为[1,1,1,1],基于所选择的第二故障特征,确定第一告警信息中包括的触发告警的故障的相似故障,将相似故障的故障根因确定为第一告警信息对应的故障根因。
实例二,发生告警乱序的情况。
假设步骤102中所提到的一定时间段的时长为为20s,时长调整系数为0.5,可以得到第一时间段的时长为:20*0.5=10s,将以第一告警信息的生成时刻为基准时刻、向前向后分别延伸相同时长的5s作为第一时间段,得到第一时间段内生成的告警信息可以包括如下信息:
[{"timestamp":-3, "warntype": "BOARD_REBOOT"},
{"timestamp": 3, "warntype": "PHY_UPDOWN"},
{"timestamp":3,"warntype":"BOARD_STATE_FAULT"},
{"timestamp": 3, "warntype": "LINK_UPDOWN"}]
在上述告警类型中,假设在现实中发生了PHY_UPDOWN类型的告警信息的生成时刻在BOARD_STATE_FAULT类型的其他告警信息的生成时刻之前发生,使得告警信息乱序的情况。
假设划分时长为10s,可以得到告警序列为:
[BOARD_REBOOT,PHY_UPDOWN,BOARD_STATE_FAULT,LINK_UPDOWN];
由于第一时间段的时长为10s,划分时长也为10s,因此得到一个第一类型组为:
[BOARD_STATE_FAULT, BOARD_REBOOT, BOARD_REBOOT ,PHY_UPDOW,LINK_UPDOWN] ;
对上述第一类型组进行过滤,得到第二类型组,对第二类型组包括的告警类型进行编码,可以得到编码结果[[0,1,0,0],[0,0,1,0],[1,0,0,0],[0,0,0,1]],将各第二类型组对应的编码结果累加后得到的累加结果为[1,1,1,1],将累加结果与1进行按位与处理,得到[1,1,1,1]作为第一故障特征。
从各第二故障特征中,选择与第一故障特征间相似度最大的第二故障特征,选择得到的第二故障特征为[1,1,1,1],基于所选择的第二故障特征,确定第一告警信息中包括的触发告警的故障的相似故障,将相似故障的故障根因确定为第一告警信息对应的故障根因。
实例三:发生重复告警的情况。
在步骤S102中所提到的一定时间段的时长(如两分钟)内生成的告警信息包括如下信息:
[{"timestamp":-92, "warntype":"PHY_UPDOWN"},
{"timestamp":-91,"warntype":"LINK_UPDOWN"},
{"timestamp":-68,"warntype":"PHY_UPDOWN"},
{"timestamp": -68, "warntype": " LINK_UPDOWN "},
{"timestamp": -5, "warntype": " BOARD_ REBOOT "},
{"timestamp": -2, "warntype": " BOARD_ STATE_FAULT "},
{"timestamp":0, "warntype": " PHY_UPDOWN"},
{"timestamp":3, "warntype": " LINK_UPDOWN "},
假设第一时间段的时长为:10s,将以第一告警信息的生成时刻为基准时刻、向前向后分别延伸相同时长5s作为第一时间段,从而得到第一时间段生成的告警信息可以包括如下信息:
{"timestamp": -5, "warntype": " BOARD_ REBOOT "},
{"timestamp": -2, "warntype": " BOARD_ STATE_FAULT "},
{"timestamp":0, "warntype": " PHY_UPDOWN"},
{"timestamp":3, "warntype": " LINK_UPDOWN "},
假设划分时长为5s,可以得到第一类型组为:
[BOARD_REBOOT,BOARD_STATE_FAULT ],[PHY_UPDOWN,[LINK_UPDOWN];
对上述第一类型组进行过滤,对第二类型组包括的告警类型进行编码,可以得到编码结果[[0,1,0,0],[1,0,0,0]],[[0,0,1,0],[0,0,0,1]],对各第二类型组对应的编码结果进行累加,得到累加结果为[[1,1,0,0],[0,0,1,1]],将累加结果与1进行按位与处理,得到[[1,1,0,0],[0,0,1,1]]作为第一故障特征。
从各第二故障特征中,选择与第一故障特征间相似度最大的第二故障特征,选择得到的第二故障特征为[[1,1,0,0],[0,0,1,1]],基于所选择的第二故障特征,第一告警信息中包括的触发告警的故障的相似故障,将相似故障的故障根因确定为第一告警信息对应的故障根因。
由以上可见,在其他告警信息发送延迟、重复、乱序的情况下,均能检测得到第一告警信息对应的故障根因。
本发明的一个实施例中,在获得上述步骤S105中第二故障特征时,可以是获取存储的故障类型、与故障类型关联的告警类型、以及引发故障的根因告警、第二故障特征的对应关系;从对应关系中确定与目标故障类型匹配的故障类型对应的第二故障特征。
具体的,上述对应关系可以是实时计算得到的,也可以是从预设的信息库中获得的。基于不同获取对应关系的方式,可以按照以下两种方式确定第二故障特征。
第一种方式,可以获得存储的目标故障类型、与目标故障类型关联的多个告警类型、以及故障根因的对应关系;确定第二时间段内对应的各告警类型组成的第二告警类型序列,按照划分时长,对第二告警类型序列进行划分,得到多个第三类型组,对各个第三类型组包括的告警类型进行编码,得到第二故障特征。其中,上述第二时间段与第一时间段的时长相等。
上述目标故障类型为:步骤S101中确定的目标故障类型。
上述与目标故障类型关联的多个告警类型是指:与类型为目标故障类型的故障触发告警的时刻相关联的告警类型。
上述目标根因是指:与目标故障类型匹配的故障类型对应的根因已知故障的已知故障根因。
具体的,信息库中可以存储各个故障类型、与故障类型关联的多个告警类型以及故障根因的对应关系,可以从上述信息库中获得目标故障类型、与所述目标故障类型关联的多个告警类型以及目标根因的对应关系。
举例来说,在链路故障的场景下,对于某一个故障类型H,可能会触发告警类型type1、告警类型type2、告警类型type3的告警,此时该故障的根因告警为告警类型type1的告警,而在协议故障的场景下,对于故障类型H,可以会触发告警类型type4、告警类型type5、告警类型type6的告警,此时该故障的根因告警为告警类型type4的告警。因此,本实施例中提供的信息库中可以存储故障类型、以及与故障类型关联的告警类型以及故障的根因的对应关系。
例如,建立的对应关系可以如下表1所示:
表1
故障类型 告警类型 告警类型 告警类型 故障根因
H Type1 Type2 Type3 Type1
H Type3 Type4 Type5 Type4
在相关技术中,一般建立告警信息与故障类型的对应关系时,一般是需要确定也就是需要建立详细的告警类型之间的相互之间的关联关系才行,例如告警类型type9引发告警类型type10的告警,告警类型type10进而引发告警类型type11的告警,type11引发了故障W,而本实施例中提供的方法中,在建立信息库时,只需要建立故障类型与哪些告警类型关联即可,而不必关心各个告警类型之间严格的相互之间究竟是哪个告警类型引发哪个告警类型。具体的,在建立上述对应关系时,可以选择第二时间段例如10s,即发生故障H前后的5s内的告警信息生成对应关系。在一个示例中,第二时间段内生成的告警信息可以包括如下信息:
warn_1={"timestamp": -3, "warntype": "type1"},
warn_2={"timestamp": -1, "warntype": " type2"},
warn_3={"timestamp": 3, "warntype": " type3"}。
那么建立的对应关系即可如上表1所示。
进一步的,对建立的关联关系进行序列化处理,例如可以得到的一个第二告警类型序列为:[type1,type2,type3] 、另一个第二告警类型序列为[type4,type5,type6]。
上述关联告警信息的生成时刻可以为:关联告警信息与故障信息间的时间差。
上述划分时长可以与生成第一故障特征时采用的划分时长相同。具体的,可以同时变化划分时长、变化第二时间段的长度对上述多个第二告警类型序列分别进行划分,得到多个第三类型组,对各个第三类型组包括的告警类型进行编码,得到关于故障H的多个第二故障特征。例如,如果第二时间段对应的备选时长调整系数为3个,划分时长也为3个,那么经过3次调整时长调整系数和划分时长后,可以针对表1中的一个故障类型H对应得到3×3个第二故障特征。
表2中示出了一种建立信息库中关于故障H相关的多个第二故障特征的示例:
表2
故障类型 告警类型 告警类型 告警类型 故障根因 第二故障特征
H Type1 Type2 Type3 Type1 F1~F9
H Type3 Type4 Type5 Type4 F10~F18
其中,F1~F18表示编码之后得到的第二故障特征。
上述第二故障特征可以预先采用上述提供的方式计算好,进而存储,也可以在每次有新的告警信息到达是实时的计算第二故障特征。
本发明的一个实施例中,在得到第三类型组后,还可以从所得到的第二类型组中过滤掉类型取值为无效值的告警类型;对过滤后各第二类型组中包括的告警类型进行编码;根据编码结果,生成根因已知故障的第二故障特征。
这样,由于对各第二类型组进行过滤,过滤后的第二类型组中包括的各告警类型的有效性较高,对过滤后的第二类型组中包括的各告警类型进行编码,所得到的编码结果的有效性也较高,根据编码结果所生成的第二故障特征能够进一步准确反映根因已知故障的特征。
第二种方式,在预设的信息库中查找与目标故障类型匹配的故障类型对应的根因已知故障;获得信息库中记录的根因已知故障的第二故障特征。
上述信息库用于记录故障的故障类型、与故障类型关联的告警类型、引发故障的根因告警以及第二故障特征间的对应关系。具体的,上述信息库中的第二故障特征可以是将上述第一种方式所确定的故障特征记录于信息库中。
当需要增加信息库中存储的根因已知故障的故障类型时,可以直接向信息库中添加相关的根因已知故障的故障类型、故障根因以及故障特征,提高了信息库的可扩展性。
与第一故障特征类似的,第二故障特征也可以称为根因已知故障的指纹特征,记录有第二故障特征的信息库又可以称为指纹库。
例如:假设信息库中记录的对应关系如上面表2所示,当目标故障类型为H时,基于表2中存储的对应关系,可以得到第二故障特征为F1~F18。
这样,由于可以从信息库中获得第二故障特征,提高了获得第二故障特征的效率。
与上述故障根因检测方法相对应,本发明实施例还提供了一种故障根因检测装置。
参见图3,图3为本发明实施例提供的一种故障根因检测装置的结构示意图,上述装置包括以下模块301-306。
故障类型确定模块301,用于确定第一告警信息中包括的触发告警的故障的目标故障类型;
告警类型序列确定模块302,用于确定与触发告警的时刻相关联的第一时间段对应的第一告警类型序列;
第一故障特征生成模块303,用于按照划分时长,对所述第一告警类型序列进行划分,得到各第一类型组,对各第一类型组包括的告警类型进行编码,并基于编码结果,生成第一故障特征;
第二故障特征获得模块304,用于获得与所述目标故障类型匹配的故障类型对应的根因已知故障的第二故障特征;
相似故障检测模块305,用于根据所述第一故障特征与第二故障特征间的相似度,在所述根因已知故障中,检测所述触发告警的故障的相似故障;
故障根因确定模块306,用于将所述相似故障的故障根因确定为所述第一告警信息对应的故障根因。
由以上可见,应用本实施例提供的方案进行故障根因检测时,根据第一故障特征与第二故障特征间的相似度,在根因已知故障中检测触发告警的故障的相似故障;并将相似故障的根因确定为第一告警信息对应的故障根因。由于第一故障特征反映的是触发告警的故障的特征,第二故障特征反映的是根因已知故障的特征,第一故障特征与第二故障特征间的相似度则能够反映触发告警的故障与根因已知故障间的相似度。当相似度较高时,表示触发告警的故障与根因已知故障为同一故障的可能性较大,当相似度较低时,表示触发告警的故障与根因已知故障为同一故障的可能性较小。所以,根据第一故障特征与第二故障特征间的相似度,能够在根因已知故障中较为准确地检测触发告警的故障的相似故障,进而能够较为准确确定触发告警的故障的故障根因。
另外,第一告警类型序列是第一时间段内对应的告警类型序列,由于同一时间段内所生成的各告警信息由同一故障触发生成的可能性较大,所以第一告警类型序列由触发告警的故障触发生成的可能性较大,根据第一告警类型序列生成的第一故障特征能够较为准确地反映触发告警的故障的特征,因此,根据第一故障特征和第二故障特征间的相似度,能够进一步较为准确地检测触发告警的故障的相似故障,进而能够得到较为准确的第一告警信息对应的故障根因。
并且,各第一类型组是按照划分时长、对第一告警类型序列进行划分得到的,第一类型组中包含各告警类型以及各告警类型的时序信息,又由于各告警类型的时序信息能够更加准确地反映触发告警的故障,所以基于编码结果所生成的第一故障特征能够更加准确反映触发告警的故障的特征。从而能够更进一步得到较为准确的第一告警信息对应的故障根因。
本发明的一个实施例中,上述相似故障检测模块,具体用于判断第二故障特征中是否存在第三故障特征,其中,所述第三故障特征为:与所述第一故障特征间相似度大于预设相似度阈值的故障特征;若为是,将所述第三故障特征对应的根因已知故障,确定为所述触发告警的故障的相似故障,若为否,触发第一时长调整模块;
所述第一时长调整模块,用于调整所述划分时长,触发所述第一故障特征生成模块。
本发明的一个实施例中,上述第一时长调整模块,具体用于从未作为过所述划分时长的预设备选时长中,选择一时长,将所述划分时长调整为所选择的时长,触发所述第一故障特征生成模块。
本发明的一个实施例中,上述相似故障检测模块,具体用于判断第二故障特征中是否存在第三故障特征,其中,所述第三故障特征为:与所述第一故障特征间相似度大于预设相似度阈值的故障特征;若为是,将所述第三故障特征对应的根因已知故障,确定为所述触发告警的故障的相似故障,若为否,触发第二时长调整模块;
所述第二时长调整模块,用于调整所述第一时间段的时长,并触发告警类型序列确定模块。
本发明的一个实施例中,上述第二时长调整模块,具体用于从未选中过的预设备选时长调整系数中,选择一时长调整系数;基于所选择的时长调整系数,对第一时间段的时长进行调整,得到调整后时长,将所述第一时间段的时长更新为调整后时长。
参见图4,图4为本发明实施例提供的一种第一故障特征生成模块的结构示意图,上述模块303包括以下子模块3031-3033。
告警类型过滤子模块3031,用于从所得到的第一类型组中过滤掉类型取值为无效值的告警类型,得到第二类型组;
告警类型编码子模块3032,用于对各第二类型组中包括的告警类型进行编码;
故障特征生成子模块3033,用于根据各第二类型组对应的编码结果,生成第一故障特征。
本发明的一个实施例中,上述故障特征生成子模块3033,具体用于若第二类型组中包含至少两个告警类型,将第二类型组包括的各告警类型的编码结果中相同序号的值进行累加,得到累加结果,将第二类型组对应的累加结果与预设数值进行按位与处理,将处理结果作为第一故障特征;若第二类型组包含一个告警类型,将第二类型组对应的编码结果与预设数值进行按位与处理,将处理结果作为第一故障特征。
本发明的一个实施例中,上述第二故障特征获得模块,具体用于获取存储的故障类型、与所述故障类型关联的告警类型、以及引发故障的根因告警、第二故障特征的对应关系;从所述对应关系中确定与目标故障类型匹配的故障类型对应的第二故障特征。
与上述故障根因检测方法相对应,本发明实施例还提供了一种网络设备。
参见图5,图5为本发明实施例提供的一种网络设备的结构示意图,包括处理器501和机器可读存储介质502,机器可读存储介质存储502有能够被所述处理器501执行的机器可执行指令,所述处理器501被所述机器可执行指令促使,实现本发明实施例提供的流量转发方法。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器,实现本发明实施例提供的流量转发方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行时实现本发明实施例提供的流量转发方法。
由以上可见,应用本实施例提供的方案进行故障根因检测时,根据第一故障特征与第二故障特征间的相似度,在根因已知故障中检测触发告警的故障的相似故障;并将相似故障的根因确定为第一告警信息对应的故障根因。由于第一故障特征反映的是触发告警的故障的特征,第二故障特征反映的是根因已知故障的特征,第一故障特征与第二故障特征间的相似度则能够反映触发告警的故障与根因已知故障间的相似度。当相似度较高时,表示触发告警的故障与根因已知故障为同一故障的可能性较大,当相似度较低时,表示触发告警的故障与根因已知故障为同一故障的可能性较小。所以,根据第一故障特征与第二故障特征间的相似度,能够在根因已知故障中较为准确地检测触发告警的故障的相似故障,进而能够较为准确确定触发告警的故障的故障根因。
另外,第一告警类型序列是第一时间段内对应的告警类型序列,由于同一时间段内所生成的各告警信息由同一故障触发生成的可能性较大,所以第一告警类型序列由触发告警的故障触发生成的可能性较大,根据第一告警类型序列生成的第一故障特征能够较为准确地反映触发告警的故障的特征,因此,根据第一故障特征和第二故障特征间的相似度,能够进一步较为准确地检测触发告警的故障的相似故障,进而能够得到较为准确的第一告警信息对应的故障根因。
并且,各第一类型组是按照划分时长、对第一告警类型序列进行划分得到的,第一类型组中包含各告警类型以及各告警类型的时序信息,又由于各告警类型的时序信息能够更加准确地反映触发告警的故障,所以基于编码结果所生成的第一故障特征能够更加准确反映触发告警的故障的特征。从而能够更进一步得到较为准确的第一告警信息对应的故障根因。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk (SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、网络设备、计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (18)

1.一种故障根因检测方法,其特征在于,所述方法包括:
确定第一告警信息中包括的触发告警的故障的目标故障类型;
确定与触发告警的时刻相关联的第一时间段对应的第一告警类型序列;所述第一时间段对应的第一告警类型序列是指:由第一时间段内生成的各告警信息的告警类型组成的告警类型序列;
按照划分时长,对所述第一告警类型序列进行划分,得到各第一类型组,对各第一类型组包括的告警类型进行编码,并基于编码结果,生成第一故障特征;
获得与所述目标故障类型匹配的故障类型对应的根因已知故障的第二故障特征;
根据所述第一故障特征与第二故障特征间的相似度,在所述根因已知故障中,检测所述触发告警的故障的相似故障;
将所述相似故障的故障根因确定为所述第一告警信息对应的故障根因。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一故障特征与第二故障特征间的相似度,在所述根因已知故障中,检测所述触发告警的故障的相似故障,包括:
判断第二故障特征中是否存在第三故障特征,其中,所述第三故障特征为:与所述第一故障特征间相似度大于预设相似度阈值的故障特征;
若为是,将所述第三故障特征对应的根因已知故障,确定为所述触发告警的故障的相似故障;
所述方法还包括:
若第二故障特征中不存在所述第三故障特征,调整所述划分时长,并返回所述按照划分时长,对所述第一告警类型序列进行划分的步骤。
3.根据权利要求2所述的方法,其特征在于,所述调整所述划分时长,包括:
从未作为过所述划分时长的预设备选时长中,选择一时长,将所述划分时长调整为所选择的时长。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一故障特征与第二故障特征间的相似度,在所述根因已知故障中,检测所述触发告警的故障的相似故障,包括:
判断第二故障特征中是否存在第三故障特征,其中,所述第三故障特征为:与所述第一故障特征间相似度大于预设相似度阈值的故障特征;
若为是,将所述第三故障特征对应的根因已知故障,确定为所述触发告警的故障的相似故障;
所述方法还包括:
若第二故障特征中不存在所述第三故障特征,调整所述第一时间段的时长,并返回所述确定与触发告警的时刻相关联的第一时间段对应的第一告警类型序列的步骤。
5.根据权利要求4所述的方法,其特征在于,所述调整所述第一时间段的时长,包括:
从未选中过的预设备选时长调整系数中,选择一时长调整系数;
基于所选择的时长调整系数,对预设的告警选择时长进行调整,得到调整后的告警选择时长,将所述第一时间段的时长更新为调整后的告警选择时长。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述对各第一类型组包括的告警类型进行编码,并基于编码结果,生成第一故障特征,包括:
从所得到的第一类型组中过滤掉类型取值为无效值的告警类型,得到第二类型组;
对各第二类型组中包括的告警类型进行编码;
根据各第二类型组对应的编码结果,生成第一故障特征。
7.根据权利要求6所述的方法,其特征在于,所述根据各第二类型组对应的编码结果,生成第一故障特征,包括:
若第二类型组中包含至少两个告警类型,将第二类型组包括的各告警类型的编码结果中相同序号的值进行累加,得到累加结果,将第二类型组对应的累加结果与预设数值进行按位与处理,将处理结果作为第一故障特征;
若第二类型组包含一个告警类型,将第二类型组对应的编码结果与预设数值进行按位与处理,将处理结果作为第一故障特征。
8.根据权利要求1-5中任一项所述的方法,其特征在于,所述获得与所述目标故障类型匹配的故障类型对应的根因已知故障的第二故障特征,包括:
获取存储的故障类型、与所述故障类型关联的告警类型、以及引发故障的根因告警、第二故障特征的对应关系;
从所述对应关系中确定与目标故障类型匹配的故障类型对应的第二故障特征。
9.一种故障根因检测装置,其特征在于,所述装置包括:
故障类型确定模块,用于确定第一告警信息中包括的触发告警的故障的目标故障类型;
告警类型序列确定模块,用于确定与触发告警的时刻相关联的第一时间段对应的第一告警类型序列;所述第一时间段对应的第一告警类型序列是指:由第一时间段内生成的各告警信息的告警类型组成的告警类型序列;
第一故障特征生成模块,用于按照划分时长,对所述第一告警类型序列进行划分,得到各第一类型组,对各第一类型组包括的告警类型进行编码,并基于编码结果,生成第一故障特征;
第二故障特征获得模块,用于获得与所述目标故障类型匹配的故障类型对应的根因已知故障的第二故障特征;
相似故障检测模块,用于根据所述第一故障特征与第二故障特征间的相似度,在所述根因已知故障中,检测所述触发告警的故障的相似故障;
故障根因确定模块,用于将所述相似故障的故障根因确定为所述第一告警信息对应的故障根因。
10.根据权利要求9所述的装置,其特征在于,所述相似故障检测模块,具体用于判断第二故障特征中是否存在第三故障特征,其中,所述第三故障特征为:与所述第一故障特征间相似度大于预设相似度阈值的故障特征;若为是,将所述第三故障特征对应的根因已知故障,确定为所述触发告警的故障的相似故障,若为否,触发第一时长调整模块;
所述第一时长调整模块,用于调整所述划分时长,触发所述第一故障特征生成模块。
11.根据权利要求10所述的装置,其特征在于,所述第一时长调整模块,具体用于从未作为过所述划分时长的预设备选时长中,选择一时长,将所述划分时长调整为所选择的时长,触发所述第一故障特征生成模块。
12.根据权利要求9所述的装置,其特征在于,所述相似故障检测模块,具体用于判断第二故障特征中是否存在第三故障特征,其中,所述第三故障特征为:与所述第一故障特征间相似度大于预设相似度阈值的故障特征;若为是,将所述第三故障特征对应的根因已知故障,确定为所述触发告警的故障的相似故障,若为否,触发第二时长调整模块;
所述第二时长调整模块,用于调整所述第一时间段的时长,并触发告警类型序列确定模块。
13.根据权利要求12所述的装置,其特征在于,所述第二时长调整模块,具体用于从未选中过的预设备选时长调整系数中,选择一时长调整系数;基于所选择的时长调整系数,对预设的告警选择时长进行调整,得到调整后的告警选择时长,将所述第一时间段的时长更新为调整后的告警选择时长。
14.根据权利要求9-13中任一项所述的装置,其特征在于,所述第一故障特征生成模块,包括:
告警类型过滤子模块,用于从所得到的第一类型组中过滤掉类型取值为无效值的告警类型,得到第二类型组;
告警类型编码子模块,用于对各第二类型组中包括的告警类型进行编码;
故障特征生成子模块,用于根据各第二类型组对应的编码结果,生成第一故障特征。
15.根据权利要求14所述的装置,其特征在于,
所述故障特征生成子模块,具体用于若第二类型组中包含至少两个告警类型,将第二类型组包括的各告警类型的编码结果中相同序号的值进行累加,得到累加结果,将第二类型组对应的累加结果与预设数值进行按位与处理,将处理结果作为第一故障特征;若第二类型组包含一个告警类型,将第二类型组对应的编码结果与预设数值进行按位与处理,将处理结果作为第一故障特征。
16.根据权利要求9-13中任一项所述的装置,其特征在于,
所述第二故障特征获得模块,具体用于获取存储的故障类型、与所述故障类型关联的告警类型、以及引发故障的根因告警、第二故障特征的对应关系;从所述对应关系中确定与目标故障类型匹配的故障类型对应的第二故障特征。
17.一种网络设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1-8任一所述的方法步骤。
18.一种机器可读存储介质,其特征在于,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现权利要求1-8任一所述的方法步骤。
CN202110542967.2A 2021-05-19 2021-05-19 一种故障根因检测方法及装置 Active CN112988446B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110542967.2A CN112988446B (zh) 2021-05-19 2021-05-19 一种故障根因检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110542967.2A CN112988446B (zh) 2021-05-19 2021-05-19 一种故障根因检测方法及装置

Publications (2)

Publication Number Publication Date
CN112988446A CN112988446A (zh) 2021-06-18
CN112988446B true CN112988446B (zh) 2021-08-13

Family

ID=76336795

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110542967.2A Active CN112988446B (zh) 2021-05-19 2021-05-19 一种故障根因检测方法及装置

Country Status (1)

Country Link
CN (1) CN112988446B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115001753B (zh) * 2022-05-11 2023-06-09 绿盟科技集团股份有限公司 一种关联告警的分析方法、装置、电子设备及存储介质
CN114661515B (zh) * 2022-05-23 2022-09-20 武汉四通信息服务有限公司 告警信息收敛方法、装置、电子设备及存储介质
CN115022153B (zh) * 2022-06-07 2024-04-23 中国工商银行股份有限公司 故障根因分析方法、装置、设备和存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7516025B1 (en) * 2004-06-29 2009-04-07 Sun Microsystems, Inc. System and method for providing a data structure representative of a fault tree
CN108399115B (zh) * 2018-02-28 2021-06-22 北京奇艺世纪科技有限公司 一种运维操作检测方法、装置及电子设备
CN112822052B (zh) * 2021-01-08 2022-03-29 河海大学 一种基于网络拓扑和告警的网络故障根因定位方法

Also Published As

Publication number Publication date
CN112988446A (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
CN112988446B (zh) 一种故障根因检测方法及装置
JP6706321B2 (ja) サービス呼び出し情報処理の方法及びデバイス
CN110995482B (zh) 告警分析方法、装置、计算机设备及计算机可读存储介质
US8386854B2 (en) Automatic analysis of log entries through use of clustering
US7936260B2 (en) Identifying redundant alarms by determining coefficients of correlation between alarm categories
US20110276836A1 (en) Performance analysis of applications
CN113259168B (zh) 一种故障根因分析方法及装置
CN110602135B (zh) 网络攻击处理方法、装置以及电子设备
US9658908B2 (en) Failure symptom report device and method for detecting failure symptom
CN109450671B (zh) 一种日志多组合告警归类方法及系统
CN110933115B (zh) 基于动态session的分析对象行为异常检测方法及装置
JP5163404B2 (ja) 障害分析システム、障害分析方法および障害分析用プログラム
CN112751711B (zh) 告警信息处理方法和装置、存储介质和电子设备
CN115514619B (zh) 告警收敛方法及系统
CN110489260B (zh) 故障识别方法、装置及bmc
Ourston et al. Coordinated internet attacks: responding to attack complexity
US20090177953A1 (en) Method and system for updating topology changes of a computer network
CN112887123A (zh) 一种基于调用链的业务报警方法、系统及装置
WO2020227985A1 (en) Real-time fault detection on network devices and circuits based on traffic volume statistics
CN116187423A (zh) 一种基于无监督算法的行为序列异常检测方法及系统
CN111309584A (zh) 数据处理方法、装置、电子设备及存储介质
CN107025148B (zh) 一种海量数据的处理方法和装置
CN111695829B (zh) 一种指标波动周期计算方法、装置、存储介质及电子设备
WO2021249629A1 (en) Device and method for monitoring communication networks
FR2878637A1 (fr) Suppression de fausses alertes parmi les alertes produites dans un systeme d'informations surveille

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