APP下载

光传送网中的故障定位算法研究

2011-02-20朱国晖

陕西科技大学学报 2011年4期
关键词:二进制元件报警

朱国晖, 张 煜

(1.西安邮电学院通信工程系, 陕西 西安 710061; 2.陕西省电信公司钟楼分局, 陕西 西安 710001)

0 引 言

从光纤通信技术来看,光网络是一个非常活跃的领域.光网络技术的进一步发展,给我们带来了更高的带宽和更多的业务量,但同时在故障监控管理上也给网络运营商带来了新的挑战[1-3].由于OTN中一旦有一个故障产生就会触发多个报警,因此必须找到有效的方法来定位故障,提高网络整体的使用效率.

1 OTN故障定位概述

网络的保护恢复对时间有严格的要求,保护一般在50 ms内完成,恢复要求在200 ms内完成[1].对于全光网而言,如果网络得不到及时的保护和恢复,将造成业务的大量损失;而保护和恢复都依赖于故障准确定位,所以故障定位必须要在最短时间内准确完成.

在OTN中,生存性的重要性日益突出.对故障定位提出了新的要求,即要将故障定位分为实时和非实时两个部分,实时的部分主要解决生存性,而非实时的部分主要解决故障的维护和管理.因为生存性是靠网络的保护和恢复机制来保证的,而保护和恢复都是靠资源的重新选择和分配来完成的,所以为生存性故障定位仅仅需要定位到具体的链路、光纤、波长和节点这些具体的资源即可.在OTN中,实时的故障定位可以通过控制信息来完成,非实时的部分主要由网管和网络操作者来解决.

2 基于二进制树故障定位算法的参数的定义与假设

算法中的元件包括以下3种[4]:

(1)设备 CP:定义包括:①它属于某个分类,②是某分类中的某个设备.定义这样的一系列网络设备为N.

(2)告警 A:定义包括:①告警的发出设备,②告警的内容.

(3)信道 CHi = {CPj}:可以看出是许多设备的一个集合.这里规定信道都是单向的,双向的视为一对单向信道.同时,定义一个位置函数Pos(CP, CHi),表示在信道CHi上的CP的位置.若CP不在CHi上,则Pos(CP, CHi) = 0.

算法的输入有5种:

(1)设备序列:当网络建立或更改时,它的值会有添加、修改或者删除.

(2)信道序列:当信道建立或更改时,它的值会有添加、修改或者删除.

(3)告警序列:管理器接收到新告警信息,则算法会给出可能故障的设备.

(4)漏报警门限:定义为m1,根据具体情况设定.

(5)误报警门限:定义为m2,根据具体情况设定.

m1和m2被统称为不匹配门限,它们的存在使二进制故障定位算法的实用性得到加强.

3 基于二进制树的故障定位算法

3.1 单故障的定位

整个算法的实施可以分为两步.第一步是预运算(PCP)[4],也是整个算法的核心步骤.在预运算过程中,要完成对各个元件软硬件故障告警设备集的计算,并建立起二进制树;第二步是故障定位,即在遍历二进制树后,通过对叶子节点的查询,确定故障发生的位置.

在预运算过程中,会用到4个参数,分别是硬故障告警设备集HD(CP)、合并告警设备集Ct、二进制转换向量集合Bin(Ct)、可能故障设备集U(Ct).

图1 单故障定位的网络模型

(1)计算告警设备集.由图1及上一节中的运算函数可以计算出每个元件发生故障时的告警设备集:

HD(P1)={E3,E4},HD(P2)={E3,E4},HD(P3)={E1,E3,E4},HD(P4)={E1},HD(P5)={E1},HD(P6)={ E4},HD(P7)={E2,E4},HD(P8)={E2},HD(P9)={E2},HD(E1)=NULL,HD(E2)=NULL,HD(E3)={E4},HD(E4)=NULL.

(2)合并告警设备集.将告警设备集相同的情况进行合并,以尽可能地减少储存空间.合并后如下:

C1=HD{P1}=HD{P2}=HD{E3,E4},C2=HD{P3}={E1,E3,E4},C3=HD{P4}=HD{P5}={E1},C4=HD{P6}=HD{E3}={E4},C5=HD{P7}={E2,E4},C6=HD{P8}=HD{P9}={E2}.

图2 理想状况下单故障的二进制故障树

(3)构建二进制转换向量.将上一步所得到的集合进行二进制化,即变为一个二进制向量.向量中的1是上一步集合中的Ei.若集合中存在Ei,则向量第i位为1,否则为0.因此也可以知道,向量的长短即取决于告警设备的个数:Bin(C1)=(0011),Bin(C2)=(1011),Bin(C3)=(1000),Bin(C4)=(0001),Bin(C5)=(0101),Bin(C6)=(0100).

(4)由(3)中的Bin(Ct),再根据(2)中的等式,可以得到可能故障的设备集: U(C1)={P1,P2},U(C2)={P3},U(C3)={P4,P5}, U(C4)={P6,E3},U(C5)={P7},U(C6)={P8,P9}.

(5)通过(3)、(4)构建二进制故障树,如图2所示.二进制树的深度就是二进制向量的长,也就是告警设备个数.在网络内发生故障时,通过查询二进制树的路径,到达某一节点,便可找到对应的可能发生故障的设备集,从而定位故障.

举例来说,假设管理器接收到了E1、E3和E4的报警,那么可得二进制向量为Bin(Ct)=(1011),对应的叶节点为U(C2)={P3},则可知故障元件为P7.

在非理想状况下,如图2中的情况,有些向量所对应的节点是空的.如果最终定位在这些空节点,则说明在定位过程中发生了错误.这样的错误可能是误报警或者漏报警,那么这时便要引入不匹配门限m1和m2了.

①当m1=1,m2=0时.这种状况表示有漏报警情况,将这种状况下转换来的二进制向量记作Bin1(Ct),此时可根据以下公式得到Bin(Ct)对应的Bin1(Ct):

Bin1(Ct) OR Bin(Ct) = Bin(Ct),W[Bin1(Ct)] = W [Bin(Ct)]-m1

其中W[Bin(Ct)]表示码字的重量.

②当m1=0,m2=1时.这种状况表示有误报警情况,转换来的二进制向量记作Bin2(Ct),此时:

Bin2(Ct) OR Bin(Ct) = Bin2(Ct), W[Bin2(Ct)] = W [Bin(Ct)]+m2

③当m1=1,m2=1时.这种状况表示既有漏报警也有误报警的情况,转换的二进制向量记作Bin3(Ct),此时:

W[Bin(Ct)⊕Bin3(Ct)] = m1+m2, W[Bin(Ct)] = W[Bin3(Ct)]+m1-m2

4 多故障的定位算法

一般来说,同时发生3个及以上故障的可能性较低[5],这里将以发生2个故障的例子来说明多故障的情况.

4.1 多重故障时的告警设备集

假设两个元件CPi和CPj,其告警设备集为Ci、Cj,当它们同时故障时,其告警设备集为Ck,则可以发现Ck = Ci ∪ Cj.进一步可知转化的二进制向量:Bin(Ck) = Bin(Ci ∪ Cj) = Bin(Ci) ∪ Bin(Cj),由此不难得到合并后的可能故障设备集:U(Ck) = U(Ci ∪ Cj) = {CPi, CPj},此时U(Ck)对应的Bin(Ck)有两种可能:第一种是Bin(Ck)和已存在的某个故障的Bin(Ci)一样:Bin(Ci) ∪ Bin(Cj) = Bin(Ci) 或 Bin(Ci) ∪ Bin(Cj) = Bin(Cj); 第二种是Bin(Ck)完全不同于之前的向量,此时就是一个新的叶子节点:Bin(Ci) ∪ Bin(Cj) = Bin(Ck).

将其加入二进制树的空节点,之后继续填充,若2个故障的情况讨论完后仍有空着的叶子节点,则可以考虑发生了更多故障的情况[6].

下面给出发生2个故障时的具体的建树过程(参考图1).

(1)计算告警设备集:

HD(P1)={E3,E4},HD(P2)={E3,E4},HD(P3)={E1,E3,E4},HD(P4)={E1},HD(P5={E1},HD(P6)={ E4},HD(P7)={E2,E4},HD(P8)={E2},HD(P9)={E2}, HD(E1)=NULL,HD(E2)=NULL,HD(E3)={E4}, HD(E4)=NULL.

(2)合并告警设备集:

C1=HD{P1}=HD{P2}=HD{E3,E4},C2=HD{P3}={E1,E3,E4},C3=HD{P4}=HD{P5}={E1},C4=HD{P6}=HD{E3}={E4},C5=HD{P7}={E2,E4},C6=HD{P8}=HD{P9}={E2}.

(3)计算发生2个故障的告警设备集:

C1∪C2={E1,E3,E4},C1∪C3={E1,E3,E4}, C1∪C4={E3,E4}, C1∪C5={E2,E3,E4},C1∪C6={E2,E3,E4},C2∪C3={E1,E3,E4},C2∪C4={E1,E3,E4},C2∪C5={E1,E2,E3,E4},C2∪C6={E1,E2,E3,E4},C3∪C4={E1, E4},C3∪C5={E1,E2,E4},C3∪C6={E1,E2}, C4∪C5={E2,E4},C4∪C6={E2,E4},C5∪C6={E2,E4}.

(4)合并相同的告警设备集:

C3={E1},C4={E4},C6={E2},C7=C3∪C6={E1,E2},C8=C5=C4∪C5=C4∪C6=C5∪C6={E2,E4},C9=C1=C1∪C4={ E3,E4},C10=C3∪C4={E1, E4}, C11= C3∪C5={E1,E2,E4}, C12=C2=C1∪C2=C1∪C3=C2∪C3=C2∪C4={E1,E3,E4},C13=C1∪C5=C1∪C6={E2,E3,E4},C14=C2∪C5=C2∪C6={E1,E2,E3,E4}.

(5)二进制转换:

Bin(C3)=(1000),Bin(C4)=(0001), Bin(C6)=(0100),Bin(C7)=(1100),Bin(C8)=(0101),Bin(C9)=(0011),Bin(C10)=(1001), Bin(C11)=(1101),Bin(C12)=(1011),Bin(C13)=(0111),Bin(C14)=(1111).

4.2 多种设备的故障定位

这里所说的多种设备包括P,A1,A2,A3,M,其故障定位的思路与两种设备时基本相同.下面,按照给出的图3为例来说明多设备时基于二进制树的故障定位算法[7,8].

图3 多故障定位的网络模型

这里对图3的几个元件进行分析.首先写出告警设备集并进行合并:

C1=HD{E1}={E1,E3,E8,E9},C2=SD{E1}={E3,E8},C3=HD{E2}={E2,E3,E5,E6},C4=SD{E2}={E3,E5},C5=HD{E3}=HD{P1}={E3,E5,E6,E8,E9},C6=SD{E3}=SD{P1}={E3,E5,E8},C7=HD{E4}={E4,E5,E6,E8,E9},C8=SD{E4}=SD{P2}={E5,E8},C9=HD{E5}={E5,E6},C10=SD{E5}={E5},C11=HD{P2}={C5,C6,C8,C9},C12=HD{E7}={E7,E8,E9},C13=SD{E7}=SD{P4}={E8},C14=HD{E8}=HD{P4}={E8,E9}.

相应二进制转换:Bin(C1)=(101000011),Bin(C2)=(001000010),Bin(C3)=(011011000),Bin(C4)=(001010000),Bin(C5)=(001011011),Bin(C6)=(001010010),Bin(C7)=(000111011),Bin(C8)=(000010010),Bin(C9)=(000011000),Bin(C10)=(000010000),Bin(C11)=(000011011),Bin(C12)=(000000111),Bin(C13)=(000000010), Bin(C14)=(000000011).

据此便可构建出深度为9的二进制故障树,再通过遍历此树来确定故障元件以实现定位.例如,经遍历后路径为011011000,那么可以断定故障的设备可能是E2,E3,E5,E6.

图4 二进制四叉故障 树示意图

4.3 关于二进制树故障定位算法的改进思路

在多设备故障定位中,如果P4同时发生硬故障和软故障,那么在定位时就可能要去排查E7和E8两个可能故障的元件,虽然这样做在理论上来讲是可以的,但如果假设实际的网络情况更加复杂的话,那么可能涉及到的需要排查的元件会更多,这就大大增加了维护人员的工作量[9].针对这种情况,将每个报警设备的状态改为两位二进制数字,这两位分别代表硬故障和软故障,这样便可以使工作量在一定程度上有所减少.用00表示无故障,10表示有硬故障,01表示有软故障,11表示同时有硬故障和软故障. 对于图3,通过上述方法重新定义的告警设备集用XD(CP)表示,经合并后最终有:

Bin (C1)=Bin(XD{E1})=(10 00 11 00 00 00 00 11 10),Bin (C2)=Bin(XD{E2})=(00 10 11 00 11 10 00 00 00),Bin (C3)=Bin(XD{E3})=Bin(XD{P1})=(00 00 11 00 11 10 00 11 10),Bin (C4)=Bin(XD{E4})=(00 00 00 10 11 10 00 11 10),Bin (C5)=Bin(XD{E5})=(00 00 00 00 11 10 00 00 00),Bin (C6)=Bin(XD{P2})=(00 00 00 00 11 10 00 11 10),Bin (C7)=Bin(XD{E7})=(00 00 00 00 00 00 10 11 10),Bin (C8)=Bin(XD{P4})=(00 00 00 00 00 00 00 11 10).

如果按照这样的话,那么建树的时候其实也就变成了四叉树,如图4所示(未给出完全树图).每个节点会分出4个新的节点,虽然图会稍显复杂,但在定位故障时却更高效了,更容易直接确定到元件的故障[10].

需要说明的是,在上面的叙述中,其实考虑的情况只是某元件同时发生软故障和硬故障,因此上面给出的告警设备集也不是完全的情况,甚至只是一少部分叶子节点.在很多情况下,某元件只有硬故障告警设备集或软故障告警设备集,例如E8只有硬故障告警集,则第二位均为0:Bin (C9)=Bin(HD{E8})=(00 00 00 00 00 00 00 10 10).

即我们同时还要定义4.2中的那些告警设备集,只是第一位或第二位要定义全0,以E1为例,除了本节中定义的设备及外,还要有:Bin (C10)=Bin(HD{E1})=(10 00 10 00 00 00 00 10 10),Bin (C11)=Bin(SD{E1})=(00 00 01 00 00 00 00 01 10).其它元件也是如此,这里不再详细给出.

5 结束语

本文研究了基于二进制树的故障定位算法,实现了理想状况下和非理想状况下两种简单设备的单故障定位、多故障定位,并进一步扩展到了对多设备网络信道模型的故障定位,同时提出了利用两位二进制构建四叉故障树的改良思路.

实际网络中,一旦组网情况复杂起来,该算法要求的存储量还是比较大的,尤其是在改进的思路中,虽然提高了定位的准确性,但是也相应地提高了存储量的要求,这是需要进一步改进的.

参考文献

[1] 张 杰,宋鸿升.自动交换光网络(ASON)[R].北京邮电大学,2002.

[2] 赵季红,曲 桦.多层传送网的故障定位算法[J].南京邮电学院学报,2003,(23)(3):20-24.

[3] Carmen Mas,Patricr Thiran.An efficient algorithm for soft and hard failures in WDM networks[R].IEEE,2000.

[4] Carmen Mas,Patrick Thiran.An efficient fault localization algorithm for IP/WDM networks[Z].ICA EPFL,2010.

[5] 张晓艳.下一代智能光网络故障定位算法的研究[R].国防科学技术大学研究生院,2005.

[6] Hongqing Zeng,Alex Vukovic,Changcheng Huang.Fast fault detection and localization in WDM networks[R].SPIE Newsroom,2006.

[7] 李明芳.WDM网络的故障定位[J].光通信研究,2005,(37):52-55.

[8] CAO Xiao-jun,ANAND Vishal,QIAO Chunming.A waveband switching architecture and algorithm[J].IEEE Communications Letters,2003,(4):61-65.

[9] Haradak,Shimizu,Kudout,etal.Hierarchical optical path cross-connect systems for large scale WDM network[C].Proc.OFC,1999.

[10] 周厚清,张 杰,桂 烜.多粒度光网络故障定位[J].光通信技术,2006,(1):78-82.

猜你喜欢

二进制元件报警
用二进制解一道高中数学联赛数论题
有趣的进度
二进制在竞赛题中的应用
LKD2-HS型列控中心驱采不一致报警处理
2015款奔驰E180车安全气囊报警
QFN元件的返工指南
在新兴产业看小元件如何发挥大作用
死于密室的租住者
宝马i3高电压元件介绍(上)
奔驰E260车安全气囊报警