公开/公告号CN101335643A
专利类型发明专利
公开/公告日2008-12-31
原文格式PDF
申请/专利权人 烽火通信科技股份有限公司;
申请/专利号CN200810117841.5
发明设计人 陈天奇;
申请日2008-08-06
分类号H04L12/24(20060101);H04J3/08(20060101);
代理机构北京宇生知识产权代理事务所;
代理人倪骏
地址 430074 湖北省武汉市洪山区邮科院路88号
入库时间 2023-12-17 21:15:08
法律状态公告日
法律状态信息
法律状态
2022-07-29
未缴年费专利权终止 IPC(主分类):H04L12/24 专利号:ZL2008101178415 申请日:20080806 授权公告日:20101208
专利权的终止
2010-12-08
授权
授权
2009-02-25
实质审查的生效
实质审查的生效
2008-12-31
公开
公开
技术领域
本发明属于传输网技术领域,具体涉及一种基于SDH设备网管的告警相关性分析的方法。
背景技术
随着SDH传输网建设规模的扩大、网络业务量的增加,网络运营维护的工作量和难度进一步加大。当SDH网络发生故障时,如果仅仅采用人工方式进行业务和告警的相关性分析,不仅效率低下,而且在数据量大时容易出错,很可能失去由源头告警进行故障定位的最佳时间。当SDH网络故障严重时,如果业务已经中断但未得到及时处理,将会严重影响运营商和客户的共同利益。
因此,提供一种基于网管数据的自动化的SDH设备告警相关性分析方法,对于保证SDH传输网络故障的最佳处理时机十分重要。
常见的告警相关性分析方法,有专家系统法、有限状态机法、神经网络法等,这些方法有的比较复杂,有的时间复杂性比较高,有些考虑问题过于理想,难于适应实际设备告警的特点。在进行告警相关性分析时,一方面需要考虑到SDH网络拓扑、业务配置的特点以及兼容不同时期的SDH设备告警关联的差异等因素,另一方面还需要考虑到告警相关性分析方法的实现难度、系统开销、搜索效率等因素,因而迫切需要提出一种专家经验引导的告警相关性分析方法,通过此方法的使用,将对于SDH传输设备上报的实时告警,筛选出源头告警集合,关联出源头告警的衍生告警集合,维护人员结合SDH设备实际配置情况可以快速的进行故障定位。
发明内容
传输网网管目前对于SDH告警处理多是偏重于当前告警、历史告警的获取,提供了部分的告警和链路、电路的关联的功能。在这里,主要解决如下问题:
问题一,从SDH传输系统告警发生机制上来考虑告警的分层和分类,并将告警和链路、电路、子网保护等信息结合起来,总结出一定的告警分析规则,使之能够适合大多数的应用场合。
问题二,软件如何比较合理、高效的实现告警相关性分析的功能。
为了解决上述问题,本发明提供了一种用于SDH设备告警相关性分析的方法,该方法包括以下步骤:
步骤1.获取SDH设备上报给网管的未结束的当前告警集合;
步骤2.获取告警分类规则,根据告警分类规则将步骤1获得的未结束当前告警集合划分为非业务告警集合和业务告警集合;其中非业务告警直接上报界面经过用户确认后进行处理,然后剔除掉非业务告警集合,保留业务告警集合;
步骤3.获取业务配置数据中的通道数据集合,将步骤2获得的业务告警集合与之关联处理,剔除掉不上电路的业务告警集合,仅仅保留上电路的业务告警集合,其中能够与通道数据关联的业务告警称为上电路的业务告警,否则称为不上电路的业务告警;
步骤4.获取告警分层规则,将步骤3获得的上电路的业务告警集合与之关联处理,形成几个SDH不同层次的告警集合;
步骤5.获取告警抑制规则,将步骤4产生的结果与之关联处理,进行SDH设备告警的同层处理,形成几个SDH不同层次的告警相关性分析后的集合;
步骤6.获取告警抑制规则,将步骤5产生的告警分析结果中的告警与之关联处理,进行SDH设备告警的层与层之间的告警相关性分析处理,获得告警分析的结果;
步骤7.给界面输出告警分析的结果。
本发明还提供了一种用于SDH设备告警相关性分析的装置,该装置包括未结束当前告警子模块、告警处理规则子模块、告警分类处理子模块、业务告警和电路关联处理子模块、告警分层处理子模块、告警相关性分析处理子模块、业务配置数据子模块;各个子模块的功能如下:
所述未结束当前告警子模块负责缓存网管系统收集到的SDH设备的未结束当前告警,作为告警相关性分析的告警数据的源头;
所述告警处理规则子模块包括的告警处理规则有告警分类规则、告警分层规则、告警抑制规则和告警提示性规则,该功能允许用户在界面进行不同规则的编辑、修改和保存,后台服务提供面向界面和面向数据库的接口函数;
所述业务配置数据子模块负责缓存链路数据、高阶通道和低阶通道数据、电路层数据,电路层数据的数据结构和通道层数据结构一致;
所述告警分类处理子模块通过调用告警分类规则,将未结束当前告警分为业务和非业务告警,其中非业务告警优先提醒用户考虑处理,并且非业务告警直接上报界面经过用户确认后进行处理,同时剔除掉非业务告警,保留业务告警;
所述业务告警和电路关联处理子模块确定未结束当前业务告警是否和通道数据相关联,其中和通道数据关联的称为上电路业务告警,否则称为不上电路业务告警,其中不上电路的业务告警在告警相关性分析中不予以处理,上电路的业务告警是告警相关性分析处理的重点;
所述告警分层处理子模块通过调用告警分层规则,将未结束当前业务告警划分在SDH的传输媒质层、高阶通道层、低阶通道层以及电路层,其中传输媒质层又细分为段层和物理层,从而将不同层次的SDH告警装载到不同的数据块中;
所述告警相关性分析处理子模块通过调用业务配置数据子模块中缓存的链路、通道数据、电路层数据,以及业务告警和电路关联处理子模块确定的上电路业务告警,结合告警抑制规则,进行源头告警确定,明确告警的源发和衍生关系,也就是告警的抑制和被抑制的关系,对于源发告警进行提示性规则说明。
本发明的有益效果:
从SDH传输系统的角度来考虑不同故障对于的SDH业务影响的严重程度,区分出业务告警,非业务告警;提供合理的告警处理规则,满足SDH业务告警维护信号处理的复杂性、灵活性;引入告警抑制规则的自学习处理,兼容不同时期设备告警关联的差异性;告警相关性分析算法和SDH业务运维经验密切结合,引导了算法控制逻辑和运算数据的分块操作,结合高效的数据建模,将提高算法分析的执行效率,有利于用户快速的进行源头告警的确定。
附图说明
附图1SDH告警相关性分析的流程图。
附图2告警分析结果树的一般模式图。
附图3告警原子关系示意图。
附图4SDH同层次告警相关性分析流程图。
附图5SDH不同层间的告警相关性分析流程图。
附图6SDH告警的同一终结点关系相关性分析流程图。
附图7SDH告警的上下游终结点关系相关性分析流程图。
附图8传输媒质层告警的反向终结点关系相关性分析流程图。
附图9高阶通道层告警的反向终结点关系相关性分析流程图。
附图10低阶通道层告警的反向终结点关系相关性分析流程图。
具体实施方式
下面将结合附图介绍本发明的具体实施方式。
本发明的一个具体实施方式提供了一个基于SDH网管告警、业务配置数据的专家经验引导的能自动进行告警相关性分析的软件模块装置的设计(该装置的各个子模块的功能参见图1所示流程图中各个步骤所实现的功能),该装置包括如下功能子模块:未结束当前告警子模块、告警处理规则子模块、告警分类处理子模块、业务告警和电路关联处理子模块、告警分层处理子模块、告警相关性分析处理子模块、业务配置数据子模块。各个子模块的功能如下:
1.未结束当前告警子模块:负责缓存网管系统收集到SDH设备的未结束当前告警,作为告警相关性分析的告警数据的源头。
2.告警处理规则子模块:包括的告警处理规则有告警分类规则、告警分层规则、告警抑制规则和告警提示性规则。该功能允许用户在界面进行不同规则的编辑、修改、保存等,后台服务提供面向界面和面向数据库的接口函数。告警分类规则的定义参见2.1、告警抑制规则的定义参见2.2,告警提示性规则的定义参见2.3。
2.1告警分类规则的定义
告警分类规则是从SDH传输系统的角度来考虑不同故障对于SDH业务影响的严重程度,依据大量的关联性的业务告警的拓扑呈现需要,将告警分为业务和非业务告警,非业务告警优先上报运维人员确认,并且进行相关故障的处理。非业务告警的定义参见2.1.1,业务告警的定义参见2.1.2。
2.1.1非业务告警包括了SDH的电源、风扇、温度、器件、门禁、DCN通信告警。
2.1.2业务告警包括了和SDH的链路、电路相关的告警。
2.2告警分层规则的定义:
将未结束当前告警划分在SDH的传输媒质层、高阶通道层、低阶通道层以及电路层。其中,传输媒质层又细分为段层和物理层。这样可以将不同层次的SDH告警装载到不同的数据块中。
2.3告警抑制规则的定义
告警抑制规则是将业务告警分层之后,依据SDH业务运维的专家经验,采用四种不可再分的原子关系,进行告警之间抑制关系的确定。告警原子关系的定义参见2.2.1,告警原子关系的分类参见2.2.2,告警原子关系的自学习特点参见2.2.3。
2.3.1告警原子关系的定义
告警原子关系B<-A,是指告警A、B具有抑制关系的,A为抑制告警,B为被抑制告警,A为源发告警,B为衍生告警。该关系成立时,不能包含其他关系。告警A、B发生的位置可以是同一个终结点,也可以是不同的终结点;该终结点可以是物理终结点或者是连接终结点;该终结点的位置可以在SDH网络中的同一个层次,或者不同的层次。同层次的不同告警之间有优先级别区分,不同层次的告警之间也有优先级别区分。参见图3的原子关系描述,该图中随着各个关系后边的数字序号增大,告警之间抑制关系优先级别依次提高,即图3中的告警之间抑制关系优先级别从低到高依次为:客户服务层终结点关系、反向终结点关系、上下游终结点关系、同一终结点关系。而由于SDH设备的版本的差异,业务告警之间的几个原子关系可以通过软件自学习进行递推,形成新的关联关系,参见2.2.3的说明。
2.3.2告警原子关系的分类
这里划分为同一终结点、上下游终结点、反向终结点和客户服务层终结点四种告警原子关系。
同一终结点关系:在SDH传送网的同层,告警A和告警B位于同一个终结点上。告警A的优先级高于告警B。那么告警A为告警B的源发告警、告警B为告警A的引发告警,告警A抑制告警B。
上下游终结点关系:在SDH传送网的同层,告警A和告警B位于路径的同一方向的终结点上,告警A在路径方向的上游,告警B在路径方向的下游。告警A的产生同时导致告警B产生。那么告警A为告警B的源发告警、告警B为告警A的引发告警,告警A抑制告警B。
反向终结点关系:在SDH传送网结构的同层,告警A和告警B位于链路或者路径的源宿两端的终结点。告警A的产生同时引发应答性的告警B。那么告警A为告警B的源发告警、告警B为告警A的引发告警,告警A抑制告警B。
客户服务层终结点关系:SDH传送网可以从垂直方向分解为若干独立的传送网络层(即层网络),相邻层网络之间具有客户/服务者关系,提供传送服务的层称为服务者(Server),使用传送服务的层称为客户(Client),如果告警A处于服务层的终结点上,告警B处于客户层终结点上,则告警A的产生同时导致告警B产生。那么告警A为告警B的源发告警、告警B为告警A的引发告警,告警A抑制告警B。
2.3.3告警原子关系的自学习
假设,告警原子关系1成立,alarm1<-alarm2,alarm2抑制alarm1,记为关系1;
告警原子关系2成立,alarm2<-alarm3,alarm3抑制alarm2,记为关系2;
......
告警原子关系n成立,alarm n-1<-alarm n,alarm n抑制alarm n-1,记为关系n;
那么,依据SDH业务运维的专家经验,经过递推关联,有告警抑制链alarm1<-alarm2<-…<-alarm n。因此,可以得到一个递推规则alarmi<-alarm n成立,其中1<i<n,而i、n的实际取值来源于告警处理规则子模块的自学习,动态确定。具体的讲,依据SDH设备实际情况,用户在界面对于告警原子关系、原子关系自学习属性开关进行配置。告警处理规则子模块依据上述配置数据,通过推理演绎,进行自学习,计算出告警抑制链的结点数n和需要推理的次数,从而得到比较完整的告警相关性分析规则,便于准确合理的告警相关性分析。
关系n-1、关系n可能是SDH网络结构的同一层次的原子关系,也可能是SDH网络不同层次的原子关系,进而导致了递推关系alarmi<-alarm n可能位于SDH网络结构的同一个层,也可能位于SDH网络结构不同层。
2.4告警提示性规则的定义
告警提示性规则考虑为用户提供一些源发告警原因的提示性说明。
3业务配置数据子模块:负责缓存链路数据、高阶通道和低阶通道数据、电路层数据,其中链路数据包括物理终结点对、源物理终结点、宿物理终结点,这些终结点位于传输媒质层,电路层数据的数据结构和通道层数据结构一致。
4告警分类处理子模块:通过调用告警分类规则,将未结束当前告警分为业务和非业务告警。非业务告警优先提醒用户考虑处理。
5业务告警和电路关联处理子模块:确定未结束当前业务告警是否和通道数据相关联,未结束当前业务告警可以和通道数据关联的称为上电路业务告警,否则称为不上电路业务告警。不上电路的业务告警在告警相关性分析中不予以处理,上电路的业务告警是告警相关性分析处理的重点。不上电路业务告警不进行相关性分析,缩小告警相关性的分析范围,将提高告警相关性算法执行效率。
6告警分层处理子模块:结合SDH业务运维的专家经验,将未结束当前告警划分在SDH的传输媒质层、高阶通道层、低阶通道层以及电路层。其中,传输媒质层又细分为段层和物理层。这样可以将不同层次的SDH告警装载到不同的数据块中。
7告警相关性分析处理子模块:通过调用业务配置数据子模块中缓存的链路、通道数据、电路层数据,以及业务告警和电路关联处理子模块确定的上电路业务告警,结合告警抑制规则,进行源头告警确定,明确告警的源发和衍生关系,也就是告警的抑制和被抑制的关系,对于源发告警进行提示性规则说明。结合SDH业务运维的专家经验,分析过程中首先横向处理SDH同层的告警相关性分析,每层处理的结果集合暂时保存;然后纵向处理SDH不同层告警的结果集合相互之间的告警相关性分析,处理完毕后,整理出业务告警之间完整的源发、衍生关系集合。电路层告警分析与通道层告警分析相同,但是不进行SDH的不同层间分析。一些处理特点包括了参见7.1说明、7.2说明、7.3说明、7.4说明。
7.1依据SDH层网络关系,将SDH设备的上电路的业务告警装载到不同的容器中,容器中元素代表了不同告警,每个容器对应了分析中的不同数据块。将上述告警划分到不同数据块后,缩小将要进行告警分析搜索搜索的范围。优先处理同层告警,再处理层与层之间的告警,这样上电路业务告警相关性分析算法逻辑便于控制;在算法执行中,查找相关层次告警、告警规则的数据块,有意识缩小了数据搜索的范围,提高了搜索的命中率,将整体上提高告警相关性算法执行效率。
7.2在数据建模方面,采用了STL PORT中的单主键、多主键的哈西表作为数据模型的基本数据结构,这样也有利于快速的查找遍历数据结构,提高算法执行效率。
7.3告警相关性算法中间执行的结果存储为树的数组,优先级别最高的为树根结点,优先级别低的为树的子树或者叶子。一方面同层告警相互之间抑制的关系明确;另一方面在告警的层与层间分析时,仅仅采用低层次结果树的根结点告警和高层次的告警进行比较,减少了比较次数,构建新的告警相关性分析结果树逻辑简单。
7.4分析后的结果,优先级别高的告警优先上报给用户,上电路业务告警可以和所影响的链路、通道关联后上报给用户。
图1示出了SDH告警相关性分析的一个具体实施方式的流程图。在下边的步骤相关的流程图中,为了便于说明一些数据结构,采用了STL PORT相关的容器类型来描述,例如vector,map,multimap。一般的格式是:“容器名称”+“对象名称”。其中vector是向量数组;map为单主键的哈西表;multimap为多主键的哈西表,在重复的主键下对应了装载不同元素的向量数组vector。告警描述特征:对象ID、支路号、代码、属性标识(表示是否为衍生告警)。
步骤1获取SDH设备上报给网管的未结束的当前告警集合;
步骤2获取告警分类规则,将步骤1产生的结果划分为非业务告警集合、业务告警集合;其中非业务告警直接上报界面经过用户确认后进行处理,同时剔除掉非业务告警集合,保留业务告警集合。
步骤3获取业务配置数据中的通道数据集合,将步骤2产生的结果与之关联处理,剔除掉不上电路的业务告警集合,仅仅保留上电路的业务告警集合。
步骤4获取告警分层规则,将步骤3产生的结果与之关联处理,形成几个SDH不同层次的告警集合。
步骤5获取告警抑制规则,将步骤4产生的结果与之关联处理,进行SDH设备告警的同层处理,形成几个SDH不同层次的告警相关性分析后的集合。
对于步骤5的同层次告警的抑制关系的处理,参见图4,具体步骤如下:
步骤5.1装载SDH某个层次的未结束的当前告警集合,作为分析数据的源头;
步骤5.2依据步骤5.1中的告警层次,装载和该层次对应的告警抑制规则;
步骤5.3依据步骤5.1中的告警层次、步骤5.2中的告警抑制规则的类型,装载对应的业务配置数据集合;
步骤5.4判断该层次的未结束的当前告警是否分析完毕,如果是,则去步骤5.12;否则去步骤5.5;
步骤5.5通过步骤5.2的结果分析,判断告警是否需要进行同一终结点关系分析,如果是,则去5.6;否则去步骤5.7;
步骤5.6进行告警的同一终结点关系分析,详细步骤请见步骤5.6.1,如图6所示;
步骤5.6.1装载本层同一终结点关系数组;装载本层的告警数组;告警数组计数器为i、j,i=j=0;
步骤5.6.2以低优先级告警代码为主键、高优先级告警代码为元素生成多主键的哈西表multimap_rule,该哈西表的主键可以重复,并且自动生成vector,记为vector_code,vector_code为以multimap_rule中同一主键对应的高优先级告警代码为元素的数组;
步骤5.6.3判断以计数器i遍历告警数组是否遍历完毕,如果是,去步骤5.6.14;否则去步骤5.6.4;
步骤5.6.4获得告警数组元素告警[i];j=i+1;
步骤5.6.5判断以计数器j遍历告警数组是否遍历完毕,如果是,i++,去步骤5.6.3;否则去步骤5.6.6;
步骤5.6.6获得告警数组元素告警[j];j++;
步骤5.6.7判断告警[i].对象ID是否等于告警[j].对象ID、并且告警[i].支路号是否等于告警[j].支路号,如果是,去步骤5.6.8;否则去步骤5.6.5;
步骤5.6.8判断在multimap_rule中查找告警[i].代码是否找到,如果是,去步骤5.6.9;否则去步骤5.6.11;
步骤5.6.9判断遍历vector_code是否找到告警[j].代码,如果是,去步骤5.6.10;否则去步骤5.6.5;
步骤5.6.10设置告警[i].属性标识为衍生告警,进行告警[i]中间结果存储树的处理;去步骤5.6.5;
步骤5.6.11判断在multimap_rule中是否查到告警[j].代码,如果是,去步骤5.6.12;否则去步骤5.6.5;
步骤5.6.12判断遍历vectorcode是否找到告警[i].代码,如果是,去步骤5.6.13;否则去步骤5.6.5;
步骤5.6.13设置告警[j].属性标识为衍生告警,进行告警[j]中间结果存储树的处理;去步骤5.6.5;
步骤5.6.14告警的同一终结点关系分析结束;
步骤5.7通过步骤5.2的结果分析,判断告警是否需要进行上下游终结点关系分析,如果是,则去步骤5.8;否则去步骤5.9;
步骤5.8进行告警的上下游终结点关系的分析,详细步骤参见图7;
步骤5.8.1装载高阶通道层上下游终结点关系数组;生成以告警代码为主键、告警代码为元素的哈西表map_code;装载高阶通道层告警数组,告警数组的计数器为i、j,i=0;装载高阶通道数组;
步骤5.8.2以每个物理终结点为主键,高阶交叉为元素生成多主键哈西表multimap_cross;cross1:一个高阶交叉;cross2:另一个高阶交叉;pathid:高阶交叉所在的通道ID;seqno:高阶交叉在高阶通道数组中的序号。
一个高阶交叉基本特征是一个二维矩阵:[源信息宿信息]。
源信息、宿信息各自基本特征:对象ID、VC4。
步骤5.8.3判断以计数器i遍历告警数组是否遍历完毕,如果是,去步骤5.8.14;否则去步骤5.8.4;
步骤5.8.4获得告警数组元素告警[i],j=i+1;
步骤5.8.5判断以计数器j遍历告警数组是否遍历完毕,如果是,i++,去步骤5.8.3;否则获得告警数组元素告警[j],j++,然后去步骤5.8.6;
步骤5.8.6判断告警[i].代码是否等于告警[j].代码,如果是,去步骤5.8.7;否则去步骤5.8.5;
步骤5.8.7判断在map_code中是否找到告警[j].代码,如果是,去步骤5.8.8;否则去步骤5.8.5;
步骤5.8.8判断根据告警[i].对象ID、支路号在multimap_cross中查找是否找到cross1,该cross1为一个高阶交叉,如果是,去步骤5.8.9;否则去步骤5.8.5;
步骤5.8.9判断根据告警[j].对象ID、支路号在multimap_cross中查找是否找到cross2,该cross2为另一个高阶交叉,如果是,去步骤5.8.10;否,去步骤5.8.5;
步骤5.8.10判断(cross1.pathid=cross2.pathid)且|cross1.seqno-cross2.seqno|=1是否成立,其中pathid为高阶交叉所在的通道ID,seqno为高阶交叉在高阶通道数组中的序号,如果是,去步骤5.8.11;否则去步骤5.8.5;
步骤5.8.11判断cross1.seqno<cross2.seqno是否成立,如果是,去步骤5.8.12;否则去步骤5.8.13;
步骤5.8.12告警[j].属性标识为衍生告警,进行告警[j]中间结果存储树的处理,然后去步骤5.8.5;
步骤5.8.13告警[i].属性标识为衍生告警,进行告警[i]中间结果存储树的处理,然后去步骤5.8.5;
步骤5.8.14告警的上下游终结点关系的分析结束。
步骤5.9通过步骤5.2的结果分析,判断告警是否需要进行反向终结点关系分析,如果是,则去步骤5.10;否则去步骤5.11;
步骤5.10进行告警的反向终结点关系的分析,其中传输媒质层告警的反向终结点关系的分析去步骤5.10.1,详细步骤参见图8;高阶通道层告警的反向终结点关系的分析去步骤5.10.2,详细步骤参见图9;低阶通道层告警的反向终结点关系的分析去步骤5.10.3,详细步骤参见图10;
步骤5.10.1传输媒质层告警的反向终结点关系的分析,包括以下具体步骤:
步骤5.10.1.1装载传输媒质层告警数组;装载传输媒质层反向终结点关系数组;告警数组计数器为i、j,i=0;装载网元连接数组;
步骤5.10.1.2以每个物理终结点为主键、链路连接的对端物理终结点为元素生成哈西表map_link;
步骤5.10.1.3判断反向终结点关系是否要学习,如果是,去步骤5.10.1.4;否则去步骤5.10.1.5;步骤5.10.1.4启动反向终结点关系的推理学习,然后去步骤5.10.1.5;
步骤5.10.1.5以低优先级告警代码为主键、高优先级告警代码为元素生成多主键哈西表multimap_rule;并生成vector_rule,该vector_rule为以multimap_rule中同一主键对应的高优先级告警代码为元素的数组;
步骤5.10.1.6判断以计数器i遍历告警数组是否遍历完毕,如果是,去步骤5.10.1.14;否则去步骤5.10.1.7;
步骤5.10.1.7获得告警数组元素告警[i];j=i+1;
步骤5.10.1.8判断以计数器j遍历告警数组是否遍历完毕,如果是,i++,去步骤5.10.1.6;否则去步骤5.10.1.9;
步骤5.10.1.9获得告警数组元素告警[j];j++;
步骤5.10.1.10判断在multimap_rule中是否找到告警[i].代码,如果是,去步骤5.10.1.11;否则去步骤5.10.1.8;
步骤5.10.1.11判断在vector_rule中是否能找到告警[j].代码,如果是,去步骤5.10.1.12;否则去步骤5.10.1.8;
步骤5.10.1.12判断根据告警[i].对象ID查map_link得到的物理终结点是否等于告警[j].对象ID,如果是,去步骤5.10.1.13;否则去步骤5.10.1.8;
步骤5.10.1.13设置告警[i].属性标识为衍生告警,进行告警[i]中间结果存储树的处理,然后去步骤5.10.1.8。
步骤5.10.1.14传输媒质层告警的反向终结点关系分析结束。
步骤5.10.2高阶通道层告警的反向终结点关系分析,包括以下具体步骤:
步骤5.10.2.1装载高阶通道层告警数组;装载高阶通道层反向终结点关系数组;告警数组计数器为i、j,i=0;装载高阶通道数组;装载网元连接数组;
步骤5.10.2.2以每个物理终结点为主键、高阶交叉为元素生成多主键哈西表multimap_cross;
步骤5.10.2.3以每个物理终结点为主键、链路对端的物理终结点为元素生成哈西表map_link;
步骤5.10.2.4判断反向终结点关系是否要学习,如果是,去步骤5.10.2.5;否则去步骤5.10.2.6;
步骤5.10.2.5启动反向终结点关系的推理学习,然后去步骤5.10.2.6;
步骤5.10.2.6以低优先级告警代码为主键,高优先级告警代码为元素生成多主键哈西表multimap_rule,并且自动生成vector,记为vector_code,vector_code为以multimap_rule中同一主键对应的高优先级告警代码为元素的数组;
步骤5.10.2.7判断以计数器i遍历告警数组是否遍历完毕,如果是,去步骤5.10.2.17;否则去步骤5.10.2.8;
步骤5.10.2.8获得告警数组元素告警[i];j=i+1;
步骤5.10.2.9判断以计数器j遍历告警数组是否遍历完毕,如果是,去步骤5.10.2.10;否则去步骤5.10.2.11;
步骤5.10.2.10i++,去步骤5.10.2.7;
步骤5.10.2.11获得告警数组元素告警[j];j++;
步骤5.10.2.12判断在multimap_rule中是否找到告警[i].代码,如果是,去步骤5.10.2.13;否则去步骤5.10.2.10;
步骤5.10.2.13判断在vector_rule中是否能找到告警[j].代码,如果是,去步骤5.10.2.14;否则去步骤5.10.2.9;
步骤5.10.2.14判断根据告警[i].对象ID查map_link得到的物理终结点是否等于告警[j].对象ID,如果是,去步骤5.10.2.15;否则去步骤5.10.2.9;
步骤5.10.2.15判断由物理终结点、告警[i].支路号查multimap_cross得到的对端端口ID、VC4是否等于告警[j].对象ID、支路号,其中,告警发生的对象ID、支路号和高阶通道中的用于高阶交叉的时隙具有一一对应关系,如果是,去步骤5.10.2.16;否则去步骤5.10.2.9;
步骤5.10.2.16设置告警[i].属性标识为衍生告警,进行告警[i]中间结果存储树的处理;然后去步骤5.10.2.9
步骤5.10.2.17高阶通道层告警的反向终结点关系分析结束。
步骤5.10.3低阶通道层告警的反向终结点关系分析,包括以下具体步骤:
步骤5.10.3.1装载低阶通道层告警数组;装载低阶通道层反向终结点关系数组;告警数组计数器为i、j,i=0;装载低阶通道数组;
步骤5.10.3.2以源物理终结点为主键、低阶通道的宿物理终结点为元素生成单主键的哈西表map;将以宿物理终结点为主键、低阶通道的源物理终结点为元素的信息加入map,以形成map_cross;
步骤5.10.3.3判断反向终结点关系是否要学习,如果是,去步骤5.10.3.4;否则去步骤5.10.3.5;
步骤5.10.3.4启动反向终结点关系的推理学习,然后去步骤5.10.3.5;
步骤5.10.3.5以低优先级告警代码为主键,高优先级告警代码为元素生成多主键哈西表multimap_rule,并且自动生成vector,记为vector_code,vector_code为以multimap_rule中同一主键对应的高优先级告警代码为元素的数组;
步骤5.10.3.6判断以计数器i遍历告警数组是否遍历完毕,如果是,去步骤5.10.3.15;否则去步骤5.10.3.7;
步骤5.10.3.7获得告警数组元素告警[i];j=i+1;
步骤5.10.3.8判断以计数器j遍历告警数组是否遍历完毕,如果是,去步骤5.10.3.9;否则去步骤5.10.3.10;
步骤5.10.3.9i++;去步骤5.10.3.6;
步骤5.10.3.10获得告警数组元素告警[j];j++;
步骤5.10.3.11判断在multimap_rule中是否找到告警[i].代码,如果是,去步骤5.10.3.12;否则去步骤5.10.3.9;
步骤5.10.3.12判断在vector_rule中是否能找到告警[j].代码,如果是,去步骤5.10.3.13;否则去步骤5.10.3.8;
步骤5.10.3.13判断由告警[i].对象ID查map_cross得到的物理终结点是否等于告警[j].对象ID,如果是,去步骤5.10.3.14;否则去步骤5.10.3.8;
步骤5.10.3.14设置告警[i].属性标识为衍生告警,进行告警[i]中间结果存储树的处理;然后去步骤5.10.3.8。
步骤5.10.3.15低阶通道层告警的反向终结点关系分析结束。
步骤5.11分析结果形成告警关联父子树,然后去步骤5.4;
步骤5.12判断所有层次的未结束的当前告警集合是否都已分析完毕,如果是,则去步骤6;否则去步骤5.1。
步骤6获取告警抑制规则,将步骤5的告警分析结果存储树中的告警与之关联处理,进行SDH设备告警的层与层之间的告警相关性分析处理,形成几个SDH不同层次处理后的告警集合。
对于步骤6的不同层次间的告警相关性分析的处理参见图5,具体步骤如下:
步骤6.1装载不同层的层内告警分析结果树集合{TreeSetLay1,TreeSetLay2,…,TreeSetLayn}到告警数组TreeSetLay中,n为自然数,其中低层次告警放在告警数组前边,高层次告警放在告警数组后边,告警数组的计数器为i,j,i=0,j=0;
步骤6.2装载告警客户服务层终结点关系数组;以低优先级告警代码为主键、高优先级告警代码为元素生成多主键哈西表,并且自动生成vector,记为vector_code,vector_code为以多主键哈西表中同一主键对应的高优先级告警代码为元素的数组;
步骤6.3判断以计数器i遍历告警数组是否遍历完毕,如果是,去步骤6.14;否则去步骤6.4;
步骤6.4获得告警数组元素[i];j=i+1;
步骤6.5判断数组元素[i]层的所有子树是否遍历完毕,如果是,则i++,去步骤6.3;否则去步骤6.6;
步骤6.6获得数组元素[i]一个子树树根结点rootNode,通过自学习,获取相关的客户服务层终结点关系;
步骤6.7通过rootNode的告警,查找多主键哈西表,得到告警代码数组vector_code;
步骤6.8判断以计数器j遍历告警数组是否遍历完毕,如果是,去步骤6.5;否则去步骤6.9;
步骤6.9获得告警数组元素[j];j++;
步骤6.10判断数组元素[j]层中的所有子树的所有结点是否都遍历完毕,如果是,去步骤6.8;否则去步骤6.11;
步骤6.11获得一个结点Node;
步骤6.12判断在vector_code中是否找到Node告警代码,如果是,则去步骤6.13;否则去步骤6.10;
步骤6.13将数组元素[i]中的rootNode对应告警.属性标识记为衍生告警,同时将父结点为rootNode的子树添加到数组元素[j]的结点Node中,形成新的父子关系,并从数组元素[i]中删除以父结点为rootNode的子树。
步骤7给界面输出告警分析的结果。
以上所属仅为本发明的较佳实施例,并不用于限制本发明,凡在本发明精神和原则之内所做的任何修改、等同替换和改进等,均包含于本发明的保护范围之内。
机译: 警报和NBSP的相关性分析方法和装置;用于检查设备的系统和方法