一种定位故障的方法和设备与流程

文档序号:11959532阅读:202来源:国知局
本发明涉及计算机
技术领域
,尤其涉及一种定位故障的方法和设备。
背景技术
:在数据中心维护中,当设备发生故障导致设备功能失效时,除了发生故障的设备会发出告警之外,与发生故障设备具备关联关系的设备也会发出告警。这样大量的告警将降低维护人员确定故障发生根源的效率,额外增加维护人员修复故障的时间。目前,为了快速定位故障根源,提出了基于故障规则关联告警的方案。该方案预设故障规则,将发生的所有告警导入故障规则引擎中,由故障规则引擎利用预设的故障规则定位发生故障的根源。例如:设备1、设备2和设备3同时发生故障时,根据预设的故障规则(例如:设备1发生故障会导致故障2发生故障、故障2发生故障会导致故障3发生故障),定位发生故障的根源为设备1发生故障。仍以上述事实为例,设备1、设备2和设备3同时发生故障时,根据预设的故障规则(例如:包含设备1发生故障会导致故障2发生故障,而没有包含故障2发生故障会导致故障3发生故障),此时根据目前确定故障根源的方式,只能确定设备1为设备2发生故障的根源,但是无法确定设备1是否也是导致设备3发生故障的根源。由此可见,目前故障根源的确定方式依据预设的故障规则,相对比较固定,使得定位故障的效率比较低。技术实现要素:有鉴于此,本发明实施例提供了一种定位故障的方法和设备,用以解决目 前故障定位效率低的问题。第一方面,提供了一种定位故障的方法,包括:接收至少一个故障告警,其中,每一个所述故障告警中包含发出故障告警的第一网络节点的标识和所述第一网络节点发出故障告警的告警类型,所述告警类型包含应用类型、链路类型、设备类型中的至少一种;根据所述故障告警中包含的发出故障告警的第一网络节点的标识和所述第一网络节点发出故障告警的告警类型,查找满足所述第一网络节点发出故障告警的告警类型对应的依赖规则且包含所述第一网络节点的依赖传递关系;根据所述依赖传递关系,确定包含所述第一网络节点和与所述第一网络节点具备依赖传递关系的其他网络节点的依赖链,其中,所述依赖链用于表征从所述第一网络节点到各个所述其他网络节点之间的依赖传递关系,所述依赖传递关系包括连接关系、包含关系中的至少一种;根据所述依赖链中包含的各个所述其他网络节点的工作状态,从所述依赖链中包含的各个所述其他网络节点中,定位导致所述第一网络节点发生故障的网络节点。结合第一方面可能的实施方式,在第一方面的第一种可能的实施方式中,所述依赖规则包含应用类型依赖于链路类型,链路类型依赖于设备类型中的至少一种;根据所述故障告警中包含的发出故障告警的第一网络节点的标识和所述第一网络节点发出故障告警的告警类型,查找满足所述第一网络节点发出故障告警的告警类型对应的依赖规则且包含所述第一网络节点的依赖传递关系,包括:根据所述故障告警中包含的所述第一网络节点发出故障告警的告警类型,确定满足所述告警类型的依赖规则;根据所述依赖规则和所述故障告警中包含的发出故障告警的第一网络节点的标识,查找包含所述第一网络节点的依赖传递关系。结合第一方面可能的实施方式,或者结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,根据所述依赖链中包含的各个所述其他网络节点的工作状态,从所述依赖链中包含的各个所述其他网络节点中,定位导致所述第一网络节点发生故障的网络节点,包括:从所述依赖链中处于最上游的网络节点开始,依次执行以下操作,直至所述依赖链中包含的各个所述其他网络节点执行完毕结束:确定执行本轮操作的第二网络节点;根据所述第二网络节点的工作状态、其具备直接依赖传递关系的下游网络节点的工作状态以及其具备直接依赖传递关系的上游网络节点的工作状态,判断所述第二网络节点是否为导致所述第一网络节点发生故障的网络节点;若判断结果为是时,则将所述第二网络节点写入故障根源列表中,继续选择与所述第二网络节点具备直接依赖传递关系的下游网络节点为执行下一轮操作的网络节点;若判断结果为否时,则选择与所述第二网络节点具备直接依赖传递关系的下游网络节点为执行下一轮操作的网络节点;在所述依赖链中包含的各个所述其他网络节点执行完毕时,将所述故障根源列表中包含的网络节点定位为导致所述第一网络节点发生故障的网络节点;其中,所述依赖链中处于最上游的网络节点是指根据依赖传递关系,在所述依赖链中,该网络节点依赖于所述依赖链中除了该网络节点之外的其他网络节点。结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,根据所述第二网络节点的工作状态、其具备直接依赖传递关系的下游网络节点的工作状态以及其具备直接依赖传递关系的上游网络节点的工作状态,判断所述第二网络节点是否为导致发出所述故障告警的网络节点发生故障的网络节点,包括:在所述第二网络节点的工作状态为非正常状态时,进一步确定其不具备直 接依赖传递关系的下游网络节点,或者其具备直接依赖传递关系的下游网络节点的导致所述第一网络节点发生故障的故障根源的嫌疑程度值大于设定第一阈值时,确定所述第二网络节点为导致所述第一网络节点发生故障的网络节点。结合第一方面可能的实施方式,或者结合第一方面的第一种可能的实施方式,或者结合第一方面的第二种可能的实施方式,或者结合第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,根据所述依赖链中包含的各个所述其他网络节点的工作状态,从所述依赖链中包含的各个所述其他网络节点中,定位导致所述第一网络节点发生故障的网络节点,包括:若确定的所述依赖链的个数为至少两个时,分别计算与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值;从计算得到的多个故障根源的嫌疑程度值中选择数值大于设定第二阈值的故障根源的嫌疑程度值;根据选择的所述故障根源的嫌疑程度值,确定包含所述故障根源的嫌疑程度值对应的所述下游网络节点和所述第一网络节点的依赖链;基于确定的所述依赖链,根据所述依赖链中包含的各个所述其他网络节点的工作状态,从所述依赖链中包含的各个所述其他网络节点中,定位导致所述第一网络节点发生故障的网络节点。结合第一方面的第三种可能的实施方式,或者结合第一方面的第四种可能的实施方式,在第一方面的第五种可能的实施方式中,计算与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值:确定与所述下游网络节点具备依赖传递关系的上游网络节点的总个数值;以及确定所述上游网络节点中工作状态处于非正常状态的网络节点的第一个数值;对于所述上游网络节点中工作状态处于非正常状态的网络节点,根据各个所述处于非正常状态的网络节点发出故障告警的程度值,分别统计得到属于同一种故障告警程度级别的网络节点的第二个数值;根据确定的所述总个数值、所述第一个数值和所述第二个数值,计算得到与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值。结合第一方面的第五种可能的实施方式,在第一方面的第六种可能的实施方式中,根据确定的所述总个数值、所述第一个数值和所述第二个数值,计算得到与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值,包括:通过以下方式计算得到与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值:S1i=0,m1i=1,n1i≠1(m1i-1)+m1in1i,others+100,w1i≠00,others;]]>其中,S1i为计算得到与所述第一网络节点具备直接依赖传递关系的该第1i下游网络节点导致发出所述故障告警的网络节点发生故障的故障根源的嫌疑程度值,i的取值范围为1至N,N为自然数,m1i为与所述下游网络节点具备依赖传递关系的上游网络节点的总个数值,n1i为所述上游网络节点中工作状态处于非正常状态的网络节点的第一个数值,w1i为属于同一种故障告警程度级别的网络节点的第二个数值。第二方面,提供了一种定位故障的设备,包括:接收单元,用于接收至少一个故障告警,其中,每一个所述故障告警中包含发出故障告警的第一网络节点的标识和所述第一网络节点发出故障告警的告警类型,所述告警类型包含应用类型、链路类型、设备类型中的至少一种;查找单元,用于根据所述故障告警中包含的发出故障告警的第一网络节点的标识和所述第一网络节点发出故障告警的告警类型,查找满足所述第一网络 节点发出故障告警的告警类型对应的依赖规则且包含所述第一网络节点的依赖传递关系;确定单元,用于根据所述依赖传递关系,确定包含所述第一网络节点和与所述第一网络节点具备依赖传递关系的其他网络节点的依赖链,其中,所述依赖链用于表征从所述第一网络节点到各个所述其他网络节点之间的依赖传递关系,所述依赖传递关系包括连接关系、包含关系中的至少一种;定位单元,用于根据所述依赖链中包含的各个所述其他网络节点的工作状态,从所述依赖链中包含的各个所述其他网络节点中,定位导致所述第一网络节点发生故障的网络节点。结合第二方面可能的实施方式,在第二方面的第一种可能的实施方式中,所述依赖规则包含应用类型依赖于链路类型,链路类型依赖于设备类型中的至少一种;所述查找单元,具体用于根据所述故障告警中包含的所述第一网络节点发出故障告警的告警类型,确定满足所述告警类型的依赖规则;根据所述依赖规则和所述故障告警中包含的发出故障告警的第一网络节点的标识,查找包含所述第一网络节点的依赖传递关系。结合第二方面可能的实施方式,或者结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述定位单元,具体用于从所述依赖链中处于最上游的网络节点开始,依次执行以下操作,直至所述依赖链中包含的各个所述其他网络节点执行完毕结束:确定执行本轮操作的第二网络节点;根据所述第二网络节点的工作状态、其具备直接依赖传递关系的下游网络节点的工作状态以及其具备直接依赖传递关系的上游网络节点的工作状态,判断所述第二网络节点是否为导致所述第一网络节点发生故障的网络节点;若判断结果为是时,则将所述第二网络节点写入故障根源列表中,继续选择与所述第二网络节点具备直接依赖传递关系的下游网络节点为执行下一轮 操作的网络节点;若判断结果为否时,则选择与所述第二网络节点具备直接依赖传递关系的下游网络节点为执行下一轮操作的网络节点;在所述依赖链中包含的各个所述其他网络节点执行完毕时,将所述故障根源列表中包含的网络节点定位为导致所述第一网络节点发生故障的网络节点;其中,所述依赖链中处于最上游的网络节点是指根据依赖传递关系,在所述依赖链中,该网络节点依赖于所述依赖链中除了该网络节点之外的其他网络节点。结合第二方面的第二种可能的实施方式,在第二方面的第三种可能的实施方式中,所述定位单元,具体用于在所述第二网络节点的工作状态为非正常状态时,进一步确定其不具备直接依赖传递关系的下游网络节点,或者其具备直接依赖传递关系的下游网络节点的导致所述第一网络节点发生故障的故障根源的嫌疑程度值大于设定第一阈值时,确定所述第二网络节点为导致所述第一网络节点发生故障的网络节点。结合第二方面可能的实施方式,或者结合第二方面的第一种可能的实施方式,或者结合第二方面的第二种可能的实施方式,或者结合第二方面的第三种可能的实施方式,在第二方面的第四种可能的实施方式中,所述定位单元,具体用于若确定的所述依赖链的个数为至少两个时,分别计算与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值;从计算得到的多个故障根源的嫌疑程度值中选择数值大于设定第二阈值的故障根源的嫌疑程度值;根据选择的所述故障根源的嫌疑程度值,确定包含所述故障根源的嫌疑程度值对应的所述下游网络节点和所述第一网络节点的依赖链;基于确定的所述依赖链,根据所述依赖链中包含的各个所述其他网络节点的工作状态,从所述依赖链中包含的各个所述其他网络节点中,定位导致所述 第一网络节点发生故障的网络节点。结合第二方面的第三种可能的实施方式,或者结合第二方面的第四种可能的实施方式,在第二方面的第五种可能的实施方式中,所述定位单元计算与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值,具体用于:确定与所述下游网络节点具备依赖传递关系的上游网络节点的总个数值;以及确定所述上游网络节点中工作状态处于非正常状态的网络节点的第一个数值;对于所述上游网络节点中工作状态处于非正常状态的网络节点,根据各个所述处于非正常状态的网络节点发出故障告警的程度值,分别统计得到属于同一种故障告警程度级别的网络节点的第二个数值;根据确定的所述总个数值、所述第一个数值和所述第二个数值,计算得到与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值。结合第二方面的第五种可能的实施方式,在第二方面的第六种可能的实施方式中,所述定位单元根据确定的所述总个数值、所述第一个数值和所述第二个数值,计算得到与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值,具体用于:通过以下方式计算得到与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值:S1i=0,m1i=1,n1i≠1(m1i-1)+m1in1i,others+100,w1i≠00,others;]]>其中,S1i为计算得到与所述第一网络节点具备直接依赖传递关系的该第1i下游网络节点导致发出所述故障告警的网络节点发生故障的故障根源的嫌疑程度值,i的取值范围为1至N,N为自然数,m1i为与所述下游网络节点具备依赖传递关系的上游网络节点的总个数值,n1i为所述上游网络节点中工作状 态处于非正常状态的网络节点的第一个数值,w1i为属于同一种故障告警程度级别的网络节点的第二个数值。本发明有益效果如下:本发明实施例接收至少一个故障告警,每一个所述故障告警中包含发出故障告警的第一网络节点的标识和所述第一网络节点发出故障告警的告警类型,所述告警类型包含应用类型、链路类型、设备类型中的至少一种;根据所述故障告警中包含的发出故障告警的第一网络节点的标识和所述第一网络节点发出故障告警的告警类型,查找满足所述第一网络节点发出故障告警的告警类型对应的依赖规则且包含所述第一网络节点的依赖传递关系;根据所述依赖传递关系,确定包含所述第一网络节点和与所述第一网络节点具备依赖传递关系的其他网络节点的依赖链,所述依赖链用于表征从所述第一网络节点到各个所述其他网络节点之间的依赖传递关系,所述依赖传递关系包括连接关系、包含关系中的至少一种;根据所述依赖链中包含的各个所述其他网络节点的工作状态,从所述依赖链中包含的各个所述其他网络节点中,定位导致所述第一网络节点发生故障的网络节点,也就是说,在本发明实施例中,不管系统中发生局部故障告警,还是全局故障告警,通过各个不同网络节点之间的依赖传递关系和发生告警的类型,可以确定出至少一个包含发出故障告警的网络节点的依赖链,那么基于该依赖链,根据所述依赖链中包含的各个所述其他网络节点的工作状态,从所述依赖链中包含的各个所述其他网络节点中,定位导致发生故障的网络节点,灵活地根据网络节点之间的依赖传递关系定位故障根源,有效地避免依据预设故障规则导致的定位故障效率低的问题,提升定位故障发生根源的效率。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的 一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的一种定位故障的方法的流程示意图;图2为本发明实施例提供的一种定位故障的方法的流程示意图;图3为发生故障告警的网络拓扑图;图4为发生故障告警的网络拓扑图;图5为发生故障告警的网络拓扑图;图6为发生故障告警的网络拓扑图;图7为本发明实施例提供的一种定位故障的设备的结构示意图;图8为本发明实施例提供的一种定位故障的设备的结构示意图。具体实施方式为了实现本发明的目的,本发明实施例提供了一种定位故障的方法和设备,接收至少一个故障告警,每一个所述故障告警中包含发出故障告警的第一网络节点的标识和所述第一网络节点发出故障告警的告警类型,所述告警类型包含应用类型、链路类型、设备类型中的至少一种;根据所述故障告警中包含的发出故障告警的第一网络节点的标识和所述第一网络节点发出故障告警的告警类型,查找满足所述第一网络节点发出故障告警的告警类型对应的依赖规则且包含所述第一网络节点的依赖传递关系;根据所述依赖传递关系,确定包含所述第一网络节点和与所述第一网络节点具备依赖传递关系的其他网络节点的依赖链,所述依赖链用于表征从所述第一网络节点到各个所述其他网络节点之间的依赖传递关系,所述依赖传递关系包括连接关系、包含关系中的至少一种;根据所述依赖链中包含的各个所述其他网络节点的工作状态,从所述依赖链中包含的各个所述其他网络节点中,定位导致所述第一网络节点发生故障的网络节点,也就是说,在本发明实施例中,不管系统中发生局部故障告警,还是全局故障告警,通过各个不同网络节点之间的依赖传递关系和发生告警的 类型,可以确定出至少一个包含发出故障告警的网络节点的依赖链,那么基于该依赖链,根据所述依赖链中包含的各个所述其他网络节点的工作状态,从所述依赖链中包含的各个所述其他网络节点中,定位导致发生故障的网络节点,灵活地根据网络节点之间的依赖传递关系定位故障根源,有效地避免依据预设故障规则导致的定位故障效率低的问题,提升定位故障发生根源的效率。需要说明的是,所述依赖传递关系包含直接依赖传递关系、间接依赖传递关系。其中,所述直接依赖传递关系是指依赖者与被依赖者之间的直接依赖传递关系;所述间接依赖传递关系是指基于依赖者、第一级被依赖者和第二级被依赖者,依赖者与第二级被依赖者之间的依赖关系被称为间接依赖传递关系。还需要说明的是,所述依赖传递关系包括连接关系、包含关系中的至少一种。这里还需要说明的是,对于一个依赖链,处于依赖链最上层的对象被称为最上游的依赖对象,依赖链中的其他对象都属于该最上游的依赖对象的被依赖者。下面结合说明书附图对本发明各个实施例作进一步地详细描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。图1为本发明实施例提供的一种定位故障的方法的流程示意图。所述方法可以如下所述。步骤101:接收至少一个故障告警。其中,每一个所述故障告警中包含发出故障告警的第一网络节点的标识和所述第一网络节点发出故障告警的告警类型,所述告警类型包含应用类型、链路类型、设备类型中的至少一种。在步骤101中,控制设备接收不同网络节点发出的故障告警,根据接收到 的故障告警,确定发出故障告警的第一网络节点的标识和所述第一网络节点发出故障告警的告警类型,例如:属于应用类型的故障告警,还是属于链路类型的故障告警,还是属于设备类型的故障告警等等。步骤102:根据所述故障告警中包含的发出故障告警的第一网络节点的标识和所述第一网络节点发出故障告警的告警类型,查找满足所述第一网络节点发出故障告警的告警类型对应的依赖规则且包含所述第一网络节点的依赖传递关系。在步骤102中,由于不同网络节点之间的依赖传递关系可以通过数据中心Topo模型抽象成网络拓扑图体现,网络拓扑图中各个网络节点之间存在依赖传递关系,这种依赖传递关系可以包括网络、应用-虚拟机-物理设备之间的映射关系,也可以包括不同网络层之间的链路关系,例如:2层链路,3层链路等。例如:应用-虚拟机-物理设备之间的依赖传递关系:应用依赖在虚拟机上运行,虚拟机依赖在物理设备上运行。也就是说,应用属于虚拟机的上层依赖对象,虚拟机属于应用的下层依赖对象;虚拟机属于物理设备的上层依赖对象;物理设备属于虚拟机的下层依赖对象。需要说明的是,本发明实施例中所描述的依赖传递关系包括连接关系,例如:网络节点1与网络节点2之间建立数据连接,那么网络节点1与网络节点2之间的依赖传递关系为连接关系;还包括包含关系,例如:应用运行在虚拟机上,可以说明应用包含的虚拟机上,那么应用与虚拟机之间的依赖传递关系为包含关系。控制设备在接收到故障告警时,根据所述故障告警中包含的发出故障告警的第一网络节点的标识和所述第一网络节点发出故障告警的告警类型,查找满足所述第一网络节点发出故障告警的告警类型对应的依赖规则且包含所述第一网络节点的依赖传递关系。其中,所述依赖规则包含应用类型依赖于链路类型,链路类型依赖于设备类型中的至少一种。具体地,根据所述故障告警中包含的所述第一网络节点发出故障告警的告警类型,确定满足所述告警类型的依赖规则;根据所述依赖规则和所述故障告警中包含的发出故障告警的第一网络节点的标识,查找包含所述第一网络节点的依赖传递关系。例如:接收到故障告警中包含的第一网络节点的标识为11以及所述第一网络节点发出故障告警的告警类型为应用类型,那么确定满足所述告警类型的依赖规则为:应用类型依赖于链路类型,链路类型依赖于设备类型。即在第一网络节点上找到发出故障告警的应用,以该应用为起点,确定包含该应用的依赖传递关系,例如:第一网络节点上的应用依赖第一网络节点上的虚拟机;第一网络节点上的虚拟机依赖第一网络节点的物理设备等。例如:接收到故障告警中包含的第一网络节点的标识为11以及所述第一网络节点发出故障告警的告警类型为链路类型,那么确定满足所述告警类型的依赖规则为:链路类型依赖于设备类型。即在第一网络节点上找到发出故障告警的链路1,以该链路1为起点,确定包含该链路1的依赖传递关系,例如:第一网络节点上的链路1依赖第一网络节点与其他网络节点之间的链路2;链路1依赖其他网络节点等。步骤103:根据所述依赖传递关系,确定包含所述第一网络节点和与所述第一网络节点具备依赖传递关系的其他网络节点的依赖链。其中,所述依赖链用于表征从所述第一网络节点到各个所述其他网络节点之间的依赖传递关系,所述依赖传递关系包括连接关系、包含关系中的至少一种。在步骤103中,根据确定的所述依赖传递关系,确定发出故障告警的第一网络节点以及告警类型,以该第一网络节点为起点,建立包含所述第一网络节点和与所述第一网络节点具备依赖传递关系的其他网络节点的依赖链。例如:假设存在应用1、应用2、虚拟机3和物理设备4,他们之间的依赖传递关系可以表示为:应用1依赖于应用2;应用2依赖于虚拟机3;虚拟机3 依赖于物理设备4。若应用1发出故障告警,那么根据它们之间的依赖传递关系,确定包含应用1以及与应用1具备传递依赖关系的应用2、虚拟机3和物理设备4的依赖链,即应用1-应用2-虚拟机3-物理设备4。具体地,在接收到故障告警时,首先,确定接收到的所述故障告警的告警类型。其次,根据所述告警类型,确定所要查找的依赖传递关系的起点。最后,根据配置的不同网络节点之间的依赖传递关系,从确定的所述起点开始建立包含该起点和与该起点具备依赖传递关系的其他网络节点的依赖链。这里所述的依赖传递关系包含直接依赖传递关系、间接依赖传递关系中的至少一种。需要说明的是,由于接收到故障告警的个数不限于1个,当同一时间内接收故障告警的个数为多个时,可以按照告警类型对接收到的故障告警进行划分,这里想说明的是,在确定依赖链时,优先建立包含发出的故障告警属于应用类型的告警的网络节点的依赖链,即若接收到的故障告警中既包含应用类型的故障告警,也包含设备类型的故障告警,此时首先以发出应用类型的故障告警的网络节点为起点确定依赖链。还需要说明的是,与发出所述故障告警的网络节点具备直接依赖传递关系和/或间接依赖传递关系的其他网络节点,可以包含其他发出故障告警的网络节点,也可以不包含其他发出故障告警的网络节点,是否包含依赖于与发出所述故障告警的网络节点之间的依赖传递关系。步骤104:根据所述依赖链中包含的各个所述其他网络节点的工作状态,从所述依赖链中包含的各个所述其他网络节点中,定位导致所述第一网络节点发生故障的网络节点。在步骤104中,针对步骤103中确定的每一个依赖链,按照以下方式确定该依赖链中导致所述第一网络节点发生故障的网络节点,进而定位得到导致发出故障告警的故障根源,将定位得到的网络节点作为导致所述第一网络节点发 生故障的故障根源。具体地,针对每一个依赖链,从所述依赖链中处于最上游的网络节点开始,依次执行以下操作,直至所述依赖链中包含的各个所述其他网络节点执行完毕结束:第一步,确定执行本轮操作的第二网络节点。第二步,根据所述第二网络节点的工作状态、其具备直接依赖传递关系的下游网络节点的工作状态以及其具备直接依赖传递关系的上游网络节点的工作状态,判断所述第二网络节点是否为导致所述第一网络节点发生故障的网络节点,若是,则执行第四步;若否,则执行第三步。需要说明的是,工作状态可以为运行正常状态,也可以为非正常运行状态,这里的非正常运行状态又可以被称为失能状态。这里失能状态可以包括链路不通,也可以包括设备功能失效,还可以包括设备功能部分失效等。例如:交换机有48个端口,其中,10个端口不能使用,这说明交换机的功能部分失效,对于连接不能使用的这10个端口的链路,工作状态为失能状态。具体地,在确定的所述第二网络节点的工作状态为非正常状态时,进一步确定其不具备直接依赖传递关系的下游网络节点,或者其具备直接依赖传递关系的下游网络节点的导致所述第一网络节点发生故障的故障根源的嫌疑程度值大于设定第一阈值时,确定所述第二网络节点为导致所述第一网络节点发生故障的网络节点。此外,在确定的所述第二网络节点的工作状态为非正常状态时,进一步确定其具备直接依赖传递关系的下游网络节点,和/或其具备直接依赖传递关系的下游网络节点的导致所述第一网络节点发生故障的故障根源的嫌疑程度值不大于设定第一阈值时,确定所述第二网络节点不为导致所述第一网络节点发生故障的网络节点。第三步,若判断结果为否时,则选择与所述第二网络节点具备直接依赖传递关系的下游网络节点为执行下一轮操作的网络节点。第四步,若判断结果为是时,则将所述第二网络节点写入故障根源列表中。此时,若确定的所述网络节点的上游网络节点也已被写入故障根源列表中,则在得到所述第二网络节点为导致所述第一网络节点发生故障的网络节点时,将所述第二网络节点的上游网络节点从故障根源列表中移出。进一步地判断所述第二网络节点是否为该依赖链的最后一个网络节点,若是,则结束上述操作;若否,则选择与所述第二网络节点具备直接依赖传递关系的下游网络节点为执行下一轮操作的网络节点,继续执行上述操作。在所述依赖链中包含的各个所述其他网络节点执行完毕时,将所述故障根源列表中包含的网络节点定位为导致所述第一网络节点发生故障的网络节点。需要说明的是,所述依赖链中处于最上游的网络节点是指根据依赖传递关系,在所述依赖链中,该网络节点依赖于所述依赖链中除了该网络节点之外的其他网络节点。可选地,若确定的所述依赖链的个数为至少两个时,分别计算与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值;从计算得到的多个故障根源的嫌疑程度值中选择数值大于设定第二阈值的故障根源的嫌疑程度值;根据选择的所述故障根源的嫌疑程度值,确定包含所述故障根源的嫌疑程度值对应的所述下游网络节点和所述第一网络节点的依赖链;基于确定的所述依赖链,根据所述依赖链中包含的各个所述其他网络节点的工作状态,从所述依赖链中包含的各个所述其他网络节点中,定位导致所述第一网络节点发生故障的网络节点。例如:以应用1为起点的依赖链存在两条,第一条依赖链可表示为:应用1-应用2-虚拟机3-物理设备4;第二条依赖链可表示为:应用1-应用3-虚拟机 5-物理设备6。此时,分别计算应用2导致应用1发生故障的故障根源的嫌疑程度值1以及计算应用3导致应用1发生故障的故障根源的嫌疑程度值2。从嫌疑程度值1和嫌疑程度值2中选择一个大于设定第二阈值的嫌疑程度值,若嫌疑程度值2大于设定第二阈值,那么根据嫌疑程度值2,确定包含嫌疑程度值2对应的应用3和应用1的依赖链,针对该依赖链,确定导致应用1发出故障告警的故障根源。可选地,计算与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值,包括:确定与所述下游网络节点具备依赖传递关系的上游网络节点的总个数值;以及确定所述上游网络节点中工作状态处于非正常状态的网络节点的第一个数值;对于所述上游网络节点中工作状态处于非正常状态的网络节点,根据各个所述处于非正常状态的网络节点发出故障告警的程度值,分别统计得到属于同一种故障告警程度级别的网络节点的第二个数值;根据确定的所述总个数值、所述第一个数值和所述第二个数值,计算得到与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值。需要说明的是,故障告警的程度可以分为高、中、低三种类型,在网络节点发生故障时,可以根据发生故障的程度选择不同告警程度进行告警。这样,对于非正常工作状态的网络节点,可以根据告警程度的不同,统计同一种类型的告警程度的网络节点的个数。可选地,根据确定的所述总个数值、所述第一个数值和所述第二个数值,计算得到与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值,包括:通过以下方式计算得到与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值:S1i=0,m1i=1,n1i≠1(m1i-1)+m1in1i,others+100,w1i≠00,others;]]>其中,S1i为计算得到与所述第一网络节点具备直接依赖传递关系的该第1i下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值,i的取值范围为1至N,N为自然数,m1i为与所述下游网络节点具备依赖传递关系的上游网络节点的总个数值,n1i为所述上游网络节点中工作状态处于非正常状态的网络节点的第一个数值,w1i为属于同一种故障告警程度级别的网络节点的第二个数值。需要说明的是,“1i”中的“1”是指发出故障告警的网络节点,“i”是指与所述发出故障告警的网络节点之间具备直接依赖关系的第i个网络节点,i的取值范围为1至N,N为自然数。需要说明的是,本发明实施例中所述的“第一网络节点”和“第二网络节点”中包含的“第一”、“第二”没有实质含义,仅仅用于表明两个不同的网络节点。通过本发明实施例的方案,接收至少一个故障告警,每一个所述故障告警中包含发出故障告警的第一网络节点的标识和所述第一网络节点发出故障告警的告警类型,所述告警类型包含应用类型、链路类型、设备类型中的至少一种;根据所述故障告警中包含的发出故障告警的第一网络节点的标识和所述第一网络节点发出故障告警的告警类型,查找满足所述第一网络节点发出故障告警的告警类型对应的依赖规则且包含所述第一网络节点的依赖传递关系;根据所述依赖传递关系,确定包含所述第一网络节点和与所述第一网络节点具备依赖传递关系的其他网络节点的依赖链,所述依赖链用于表征从所述第一网络节点到各个所述其他网络节点之间的依赖传递关系,所述依赖传递关系包括连接关系、包含关系中的至少一种;根据所述依赖链中包含的各个所述其他网络节点的工作状态,从所述依赖链中包含的各个所述其他网络节点中,定位导致所述第一网络节点发生故障的网络节点,也就是说,在本发明实施例中,不管系 统中发生局部故障告警,还是全局故障告警,通过各个不同网络节点之间的依赖传递关系和发生告警的类型,可以确定出至少一个包含发出故障告警的网络节点的依赖链,那么基于该依赖链,根据所述依赖链中包含的各个所述其他网络节点的工作状态,从所述依赖链中包含的各个所述其他网络节点中,定位导致发生故障的网络节点,灵活地根据网络节点之间的依赖传递关系定位故障根源,有效地避免依据预设故障规则导致的定位故障效率低的问题,提升定位故障发生根源的效率。图2为本发明实施例提供的一种定位故障的方法的流程示意图。在图1所示的定位故障根源的发明构思的基础之上,预先根据依赖关系确定几个定位故障规则,在接收到故障告警时,根据各个网络节点与发出故障告警的网络节点之间的依赖关系和确定的定位故障规则,定位导致所述发出故障告警的网络节点发生故障的故障根源。所述方法可以如下所述。定位故障规则一:上层依赖对象发生故障,从发生故障的上层依赖对象的下层依赖对象中定位故障根源。定位故障规则二:从发生故障的上层依赖对象的下层依赖对象中定位故障根源的方式:计算发生故障的下层依赖对象导致故障根源的嫌疑程度值。定位故障规则三:对于发生故障的对象,若满足该发生故障的对象导致其上层依赖对象部分或者全部发生故障,且该发生故障的对象没有发生故障的下层依赖对象,则确定该发生故障的对象为故障根源。步骤201:在接收到故障告警时,根据系统的网络拓扑图和定位故障规则一,得到导致发生故障告警的故障嫌疑列表。其中,所述故障嫌疑列表中包含发出故障告警的故障对象和工作状态为非正常运行状态的故障对象。例如:得到故障嫌疑列表St={A1、A2、A3、……、Ap、……、Aq},其中,t、p和q为自然数。步骤202:从故障嫌疑列表中选择一个故障对象作为本轮推理对象。在步骤202中,假设从St={A1、A2、A3、……、Ap、……、Aq}中选择的一个故障对象Ap。步骤203:根据定位故障规则二,计算故障对象Ap成为故障根源的嫌疑程度值。在步骤203中,计算故障对象Ap成为故障根源的嫌疑程度值,具体包括:首先,确定与该故障对象Ap具备上层依赖关系的依赖对象的总个数值。其次,确定与该故障对象Ap具备上层依赖关系的依赖对象中工作状态为非正常工作状态的依赖对象的第一个数值。再次,对于与该故障对象Ap具备上层依赖关系的依赖对象中工作状态为非正常工作状态的依赖对象,根据各个依赖对象发出故障告警的程度,得到发出每一种类型的故障告警程度对应的依赖对象的第二个数值。最后,根据确定的所述总个数值、所述第一个数值和所述第二个数值,计算得到该故障对象Ap成为导致发生故障的故障根源的嫌疑程度值。具体地,通过以下方式计算得到该故障对象Ap成为导致发生故障的故障根源的嫌疑程度值:Sp=0,mp=1,np≠1(mp-1)+mpnp,others+100,wp≠00,others;]]>其中,Sp为计算得到该故障对象Ap成为导致发生故障的故障根源的嫌疑程度值,p的取值范围为1至q,q为自然数,mp为与该故障对象Ap具备上层依赖关系的故障对象的总个数值,np为与该故障对象Ap具备上层依赖关系的故障对象中工作状态为非正常工作状态的故障对象的第一个数值,wp为发生每一种故障告警程度对应的故障对象的第二个数值。步骤204:判断该故障对象Ap是否存在发生故障的下层依赖对象,若存在,则执行步骤206;若不存在,则执行步骤205。步骤205:在确定选择的故障对象Ap导致其上层依赖对象部分或者全部故 障,且不存在发生故障的下层依赖对象,根据定位故障规则三,将故障对象Ap写入故障根源嫌疑列表中。在步骤205中,将故障对象Ap从故障嫌疑列表中移出,并将故障对象Ap写入故障根源嫌疑列表中,进一步判断故障嫌疑列表中是否还存在未被推理的故障对象,若存在,则跳转执行步骤202,若不存在,则执行步骤208。步骤206:在确定选择的故障对象Ap导致其上层依赖对象部分或者全部故障时,且存在发生故障的下层依赖对象时,将故障对象Ap的上层依赖对象移出故障嫌疑列表。步骤207:分别按照依赖关系,计算故障对象Ap的发生故障的下层直接依赖对象成为发生故障的故障根源的嫌疑程度值以及故障对象Ap的发生故障的下层间接依赖对象成为发生故障的故障根源的嫌疑程度值,直至故障对象Ap的发生故障的下层间接依赖对象不再存在发生故障的下层依赖对象时,将计算得到的嫌疑程度值最大的故障对象写入故障根源嫌疑列表中,跳转执行步骤202。步骤208:从故障根源嫌疑列表中定位出导致发生故障告警的故障根源。在步骤208中,从故障根源嫌疑列表中,选择出嫌疑程度值最大的故障对象作为导致发生故障告警的故障根源。图3为发生故障告警的网络拓扑图,本发明实施例以图3所示的以多链路故障为例提供一种定位故障根源的方法。以说明多链路故障情形下定位故障根源的方法。所述方法可以如下所述。从图3中可以看出,SW1端口A失能、SW2端口A失能。预处理结果是:Link13导致SW1和SW3失能,Link22导致SW2和Host2失能。按照上述方式依次确定导致SW1端口A失能的故障根源以及确定导致SW2端口A失能的故障根源。第一步,分别以SW1端口A失能为起点,确定包含SW1端口A和与SW1端口A之间具备依赖传递关系的其他网络节点的依赖链11,以及以SW2端口 A失能为起点,确定包含SW2端口A和与SW2端口A之间具备依赖传递关系的其他网络节点的依赖链12。具体地,以SW1端口A失能为起点确定的依赖链11中包含通过SW1端口A与SW3连接的Link13、SW1和SW3,其中,SW1端口A与Link13之间具备直接依赖传递关系,Link13与SW1和SW3之间具备直接依赖传递关系。以SW2端口A失能为起点确定的依赖链12中包含通过SW2端口A与SW3连接的Link22、SW2和Host2,其中,SW2端口A与Link23之间具备直接依赖传递关系,Link22与SW2和Host2之间具备直接依赖传递关系。第二步,由于Link13导致SW1端口A失能,但是SW3运行正常,那么根据定位故障根源规则三,确定Link13为导致SW1端口A失能的故障根源。由于Link22导致SW2端口A失能,但是Host2运行正常,那么根据定位故障根源规则三,确定Link22为导致SW2端口A失能的故障根源。图4为发生故障告警的网络拓扑图。本发明实施例以图4所示的以设备故障(无失联)为例提供一种定位故障根源的方法。以说明设备故障(无失联)情形下定位故障根源的方法。所述方法可以如下所述。从图4中可以看出,SW1端口B发出故障告警、SW3端口A发出故障告警。预处理结果是:Link12导致SW1和SW2失能;Link23导致SW2和SW3失能。按照上述方式依次确定导致SW1端口B发出故障告警和导致SW3端口A发出故障告警的故障根源。第一步,分别以SW1端口B为起点,确定包含SW1端口B和与SW1端口B之间具备依赖传递关系的其他网络节点的依赖链21,以及以SW3端口A为起点,确定包含SW3端口A和与SW3端口A之间具备依赖传递关系的其他网络节点的依赖链22。具体地,以SW1端口B为起点确定的依赖链21中包含通过SW1端口B与SW2连接的Link12、SW1和SW2,其中,SW1端口A与Link12之间具备直接依赖传递关系,Link12与SW1和SW3之间具备直接依赖传递关系。以SW3端口A失能为起点确定的依赖链22中包含通过SW3端口A与SW2连接的Link23、SW2和SW3,其中,SW3端口A与Link23之间具备直接依赖传递关系,Link23与SW2和SW3之间具备直接依赖传递关系。第二步,根据接收到的故障告警,确定导致发生故障告警的故障嫌疑列表。其中,故障嫌疑列表中包含:Link12、Link23和SW2。第三步,分别计算Link12导致SW1端口B发出故障告警的嫌疑程度值以及计算Link23导致SW3端口A发出故障告警的嫌疑程度值。第四步,在确定Link12和Link23的发生故障的依赖对象为SW2时,计算SW2导致发出告警的嫌疑程度值。第五步,在确定SW2导致发出告警的嫌疑程度值分别大于计算Link12导致SW1端口B发出故障告警的嫌疑程度值以及计算Link23导致SW3端口A发出故障告警的嫌疑程度值时,排除Link12和Link23导致发出告警的嫌疑。第六步,由于SW2导致上层依赖对象部分或者全部失能,且不存在下层依赖对象,那么根据定位故障规则三,确定SW2为导致SW1端口B告警和SW3端口A告警的故障根源。图5为发生故障告警的网络拓扑图。本发明实施例以图5所示的以设备故障(失联)为例提供的一种定位故障根源的方法。以说明设备故障(失联)情形下定位故障根源的方法。所述方法可以如下所述。从图5中可以看出,SW1端口B发出故障告警、SW2失联。预处理结果是:Link2导致SW1和SW2失能;SW2导致L3失联。按照上述方式依次确定导致SW1端口B发出故障告警和导致SW2失联的故障根源。第一步,分别以SW1端口B为起点,确定包含SW1端口B和与SW1端口B之间具备依赖传递关系的其他网络节点的依赖链31,以及以SW2为起点,确定包含SW2和与SW2之间具备依赖传递关系的其他网络节点的依赖链32。具体地,以SW1端口B为起点确定的依赖链31中包含Link01、通过SW1端口B与SW2连接的Link12、通过SW1端口B建立M0与SW2连接的IP02、 SW1和SW2,其中,SW1端口B与Link12、与IP02之间具备直接依赖传递关系,Link12与SW1和SW2之间具备直接依赖传递关系。以SW2为起点确定的依赖链32中包含SW2。第二步,分别计算Link01和Link12导致发出故障告警的嫌疑程度值。其中,计算得到Link01的嫌疑程度值为0,计算得到Link12的嫌疑程度值为100。第三步,由于Link12的嫌疑程度值大于Link01的嫌疑程度值,排除IP02成为故障根源的嫌疑。第四步,以Link12为推理对象,Link12的下层依赖对象包含SW1和SW2,分别计算SW1和SW2导致发出告警的故障根源。其中,计算得到的SW1导致发出告警的故障根源为0;计算得到的SW2导致发出告警的故障根源为φ。第五步,由于SW2为Link12的下层依赖对象,且SW2失联,那么以SW2为推理对象。第四步,由于SW2的嫌疑程度值大于SW1的嫌疑程度值,排除SW1成为故障根源的嫌疑。由于SW2失联且不存在下层依赖对象,根据定位故障规则三,确定SW2为导致发出告警的故障根源。图6为发生故障告警的网络拓扑图。本发明实施例以图6所示的以设备故障(失联)为例提供的一种定位故障根源的方法。以说明设备故障(失联)情形下定位故障根源的方法。所述方法可以如下所述。从图6中可以看出,SW1端口B发出故障告警,SW2、host4和host5失联。按照上述方式依次确定导致SW1端口B发出故障告警和导致SW2、host4和host5失联的故障根源。第一步,根据依赖关系,SW1与SW2之间存在Link12,那么Link12为SW1的下层直接依赖对象。由于SW2失联,那么IP02为SW2的下层直接依赖对象。又由于IP02包含Link01和Link12。由于host4失联,那么IP04为host4的下层直接依赖对象。又由于IP04包含Link01、Link12和link24。由于host5失联,那么IP05为host5的下层直接依赖对象。又由于IP05包含Link01、Link12和link25。第二步,针对IP02,分别计算Link01和Link12导致发出故障告警的嫌疑程度值;针对IP04,分别计算Link01、Link12和link24导致发出故障告警的嫌疑程度值;针对IP05,分别计算Link01、Link12和link25导致发出故障告警的嫌疑程度值。其中,计算得到Link01的嫌疑程度值为2,计算得到Link12的嫌疑程度值为102,计算得到Link24的嫌疑程度值为0,计算得到Link25的嫌疑程度值为0。第三步,由于Link12的嫌疑程度值最大,排除IP02、IP04和IP05成为故障根源的嫌疑。第四步,以Link12为推理对象,Link12的下层依赖对象为SW1和SW2,分别计算SW1和SW2导致发出故障告警的嫌疑程度值。其中,计算得到的SW1导致发出故障告警的嫌疑程度值为0;计算得到的SW2导致发出故障告警的嫌疑程度值0。第五步,根据计算结果,确定Link12为导致SW1端口B发出故障告警和导致SW2、host4和host5失联的故障根源。如图7所示,为本发明实施例提供的一种定位故障的设备的结构示意图。所示设备包括:接收单元71、查找单元72、确定单元73和定位单元74,其中:接收单元71,用于接收至少一个故障告警,其中,每一个所述故障告警中包含发出故障告警的第一网络节点的标识和所述第一网络节点发出故障告警的告警类型,所述告警类型包含应用类型、链路类型、设备类型中的至少一种;查找单元72,用于根据所述故障告警中包含的发出故障告警的第一网络节 点的标识和所述第一网络节点发出故障告警的告警类型,查找满足所述第一网络节点发出故障告警的告警类型对应的依赖规则且包含所述第一网络节点的依赖传递关系;确定单元73,用于根据所述依赖传递关系,确定包含所述第一网络节点和与所述第一网络节点具备依赖传递关系的其他网络节点的依赖链,其中,所述依赖链用于表征从所述第一网络节点到各个所述其他网络节点之间的依赖传递关系,所述依赖传递关系包括连接关系、包含关系中的至少一种;定位单元74,用于根据所述依赖链中包含的各个所述其他网络节点的工作状态,从所述依赖链中包含的各个所述其他网络节点中,定位导致所述第一网络节点发生故障的网络节点。可选地,所述依赖规则包含应用类型依赖于链路类型,链路类型依赖于设备类型中的至少一种;所述查找单元72,具体用于根据所述故障告警中包含的所述第一网络节点发出故障告警的告警类型,确定满足所述告警类型的依赖规则;根据所述依赖规则和所述故障告警中包含的发出故障告警的第一网络节点的标识,查找包含所述第一网络节点的依赖传递关系。具体地,所述定位单元74,具体用于从所述依赖链中处于最上游的网络节点开始,依次执行以下操作,直至所述依赖链中包含的各个所述其他网络节点执行完毕结束:确定执行本轮操作的第二网络节点;根据所述第二网络节点的工作状态、其具备直接依赖传递关系的下游网络节点的工作状态以及其具备直接依赖传递关系的上游网络节点的工作状态,判断所述第二网络节点是否为导致所述第一网络节点发生故障的网络节点;若判断结果为是时,则将所述第二网络节点写入故障根源列表中,继续选择与所述第二网络节点具备直接依赖传递关系的下游网络节点为执行下一轮操作的网络节点;若判断结果为否时,则选择与所述第二网络节点具备直接依赖传递关系的下游网络节点为执行下一轮操作的网络节点;在所述依赖链中包含的各个所述其他网络节点执行完毕时,将所述故障根源列表中包含的网络节点定位为导致所述第一网络节点发生故障的网络节点;其中,所述依赖链中处于最上游的网络节点是指根据依赖传递关系,在所述依赖链中,该网络节点依赖于所述依赖链中除了该网络节点之外的其他网络节点。具体地,所述定位单元74,具体用于在所述第二网络节点的工作状态为非正常状态时,进一步确定其不具备直接依赖传递关系的下游网络节点,或者其具备直接依赖传递关系的下游网络节点的导致所述第一网络节点发生故障的故障根源的嫌疑程度值大于设定第一阈值时,确定所述第二网络节点为导致所述第一网络节点发生故障的网络节点。具体地,所述定位单元74,具体用于若确定的所述依赖链的个数为至少两个时,分别计算与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值;从计算得到的多个故障根源的嫌疑程度值中选择数值大于设定第二阈值的故障根源的嫌疑程度值;根据选择的所述故障根源的嫌疑程度值,确定包含所述故障根源的嫌疑程度值对应的所述下游网络节点和所述第一网络节点的依赖链;基于确定的所述依赖链,根据所述依赖链中包含的各个所述其他网络节点的工作状态,从所述依赖链中包含的各个所述其他网络节点中,定位导致所述第一网络节点发生故障的网络节点。具体地,所述定位单元74计算与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值,具体用于:确定与所述下游网络节点具备依赖传递关系的上游网络节点的总个数值; 以及确定所述上游网络节点中工作状态处于非正常状态的网络节点的第一个数值;对于所述上游网络节点中工作状态处于非正常状态的网络节点,根据各个所述处于非正常状态的网络节点发出故障告警的程度值,分别统计得到属于同一种故障告警程度级别的网络节点的第二个数值;根据确定的所述总个数值、所述第一个数值和所述第二个数值,计算得到与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值。具体地,所述定位单元74根据确定的所述总个数值、所述第一个数值和所述第二个数值,计算得到与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值,具体用于:通过以下方式计算得到与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值:S1i=0,m1i=1,n1i≠1(m1i-1)+m1in1i,others+100,w1i≠00,others;]]>其中,S1i为计算得到与所述第一网络节点具备直接依赖传递关系的该第1i下游网络节点导致发出所述故障告警的网络节点发生故障的故障根源的嫌疑程度值,i的取值范围为1至N,N为自然数,m1i为与所述下游网络节点具备依赖传递关系的上游网络节点的总个数值,n1i为所述上游网络节点中工作状态处于非正常状态的网络节点的第一个数值,w1i为属于同一种故障告警程度级别的网络节点的第二个数值。需要说明的是,本发明实施例提供的设备可以采用软件方式实现,也可以采用硬件方式实现,这里不做限定。图8为本发明实施例提供的一种定位故障的设备的结构示意图。本发明实施例中所述的设备可以采用通用计算机结构实现。例如:所述设备包括:信号 接收器81和处理器82,其中,所述信号接收器81与所述处理器82之间可以通过总线83连接。具体地,信号接收器81,用于接收至少一个故障告警,其中,每一个所述故障告警中包含发出故障告警的第一网络节点的标识和所述第一网络节点发出故障告警的告警类型,所述告警类型包含应用类型、链路类型、设备类型中的至少一种;所述处理器82,用于根据所述故障告警中包含的发出故障告警的第一网络节点的标识和所述第一网络节点发出故障告警的告警类型,查找满足所述第一网络节点发出故障告警的告警类型对应的依赖规则且包含所述第一网络节点的依赖传递关系;根据所述依赖传递关系,确定包含所述第一网络节点和与所述第一网络节点具备依赖传递关系的其他网络节点的依赖链,其中,所述依赖链用于表征从所述第一网络节点到各个所述其他网络节点之间的依赖传递关系,所述依赖传递关系包括连接关系、包含关系中的至少一种;根据所述依赖链中包含的各个所述其他网络节点的工作状态,从所述依赖链中包含的各个所述其他网络节点中,定位导致所述第一网络节点发生故障的网络节点。可选地,所述依赖规则包含应用类型依赖于链路类型,链路类型依赖于设备类型中的至少一种;在另一个发明实施例中,所述处理器82根据所述故障告警中包含的发出故障告警的第一网络节点的标识和所述第一网络节点发出故障告警的告警类型,查找满足所述第一网络节点发出故障告警的告警类型对应的依赖规则且包含所述第一网络节点的依赖传递关系,包括:根据所述故障告警中包含的所述第一网络节点发出故障告警的告警类型,确定满足所述告警类型的依赖规则;根据所述依赖规则和所述故障告警中包含的发出故障告警的第一网络节 点的标识,查找包含所述第一网络节点的依赖传递关系。在另一个发明实施例中,所述处理器82根据所述依赖链中包含的各个所述其他网络节点的工作状态,从所述依赖链中包含的各个所述其他网络节点中,定位导致所述第一网络节点发生故障的网络节点,包括:从所述依赖链中处于最上游的网络节点开始,依次执行以下操作,直至所述依赖链中包含的各个所述其他网络节点执行完毕结束:确定执行本轮操作的第二网络节点;根据所述第二网络节点的工作状态、其具备直接依赖传递关系的下游网络节点的工作状态以及其具备直接依赖传递关系的上游网络节点的工作状态,判断所述第二网络节点是否为导致所述第一网络节点发生故障的网络节点;若判断结果为是时,则将所述第二网络节点写入故障根源列表中,继续选择与所述第二网络节点具备直接依赖传递关系的下游网络节点为执行下一轮操作的网络节点;若判断结果为否时,则选择与所述第二网络节点具备直接依赖传递关系的下游网络节点为执行下一轮操作的网络节点;在所述依赖链中包含的各个所述其他网络节点执行完毕时,将所述故障根源列表中包含的网络节点定位为导致所述第一网络节点发生故障的网络节点;其中,所述依赖链中处于最上游的网络节点是指根据依赖传递关系,在所述依赖链中,该网络节点依赖于所述依赖链中除了该网络节点之外的其他网络节点。在另一个发明实施例中,所述处理器82根据所述第二网络节点的工作状态、其具备直接依赖传递关系的下游网络节点的工作状态以及其具备直接依赖传递关系的上游网络节点的工作状态,判断所述第二网络节点是否为导致发出所述故障告警的网络节点发生故障的网络节点,包括:在所述第二网络节点的工作状态为非正常状态时,进一步确定其不具备直接依赖传递关系的下游网络节点,或者其具备直接依赖传递关系的下游网络节 点的导致所述第一网络节点发生故障的故障根源的嫌疑程度值大于设定第一阈值时,确定所述第二网络节点为导致所述第一网络节点发生故障的网络节点。在另一个发明实施例中,所述处理器82根据所述依赖链中包含的各个所述其他网络节点的工作状态,从所述依赖链中包含的各个所述其他网络节点中,定位导致所述第一网络节点发生故障的网络节点,包括:若确定的所述依赖链的个数为至少两个时,分别计算与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值;从计算得到的多个故障根源的嫌疑程度值中选择数值大于设定第二阈值的故障根源的嫌疑程度值;根据选择的所述故障根源的嫌疑程度值,确定包含所述故障根源的嫌疑程度值对应的所述下游网络节点和所述第一网络节点的依赖链;基于确定的所述依赖链,根据所述依赖链中包含的各个所述其他网络节点的工作状态,从所述依赖链中包含的各个所述其他网络节点中,定位导致所述第一网络节点发生故障的网络节点。在另一个发明实施例中,所述处理器82计算与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值:确定与所述下游网络节点具备依赖传递关系的上游网络节点的总个数值;以及确定所述上游网络节点中工作状态处于非正常状态的网络节点的第一个数值;对于所述上游网络节点中工作状态处于非正常状态的网络节点,根据各个所述处于非正常状态的网络节点发出故障告警的程度值,分别统计得到属于同一种故障告警程度级别的网络节点的第二个数值;根据确定的所述总个数值、所述第一个数值和所述第二个数值,计算得到 与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值。在另一个发明实施例中,所述处理器82根据确定的所述总个数值、所述第一个数值和所述第二个数值,计算得到与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值,包括:通过以下方式计算得到与所述第一网络节点具备直接依赖传递关系的下游网络节点导致所述第一网络节点发生故障的故障根源的嫌疑程度值:S1i=0,m1i=1,n1i≠1(m1i-1)+m1in1i,others+100,w1i≠00,others;]]>其中,S1i为计算得到与所述第一网络节点具备直接依赖传递关系的该第1i下游网络节点导致发出所述故障告警的网络节点发生故障的故障根源的嫌疑程度值,i的取值范围为1至N,N为自然数,m1i为与所述下游网络节点具备依赖传递关系的上游网络节点的总个数值,n1i为所述上游网络节点中工作状态处于非正常状态的网络节点的第一个数值,w1i为属于同一种故障告警程度级别的网络节点的第二个数值。在本发明实施例中所述定位故障的设备不管系统中发生局部故障告警,还是全局故障告警,通过各个不同网络节点之间的依赖传递关系和发生告警的类型,可以确定出至少一个包含发出故障告警的网络节点的依赖链,那么基于该依赖链,根据所述依赖链中包含的各个所述其他网络节点的工作状态,从所述依赖链中包含的各个所述其他网络节点中,定位导致发生故障的网络节点,灵活地根据网络节点之间的依赖传递关系定位故障根源,有效地避免依据预设故障规则导致的定位故障效率低的问题,提升定位故障发生根源的效率。本领域的技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其 中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1