一种对引发收无光告警自动进行故障定位的装置及方法转让专利

申请号 : CN201010294018.9

文献号 : CN101982947A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈天奇程荣

申请人 : 烽火通信科技股份有限公司

摘要 :

本发明涉及一种对引发收无光告警自动进行故障定位的装置及方法,包括:对外接口和内部模块,所述的对外接口包括:启动分析的接口、结果返回的接口、读数据库的接口和读脚本文件的接口;当分析定位管理器接收到对外接口的启动分析的函数调用,完成脚本及配置数据缓存处理之后,执行告警分析及性能分析;所述的内部模块包括三个子模块:分析定位管理器子模块、执行分析定位的子模块、支持分析定位的数据缓存子模块。本发明不增加传输网中的硬件资源,不修改现有传输帧结构的内容,充分挖掘网管数据,提出自动化的周期性的推理方法,分析随机引发收无光告警的故障原因,进行故障定位。有利于提高提高运维人员分析收无光告警的效率,对保证网络稳定运行有重要意义。

权利要求 :

1.一种对引发收无光告警自动进行故障定位的装置,该装置为一种分析定位装置,其特征在于,所述分析定位装置包括:对外接口和内部模块;

所述的对外接口包括:启动分析的接口、结果返回的接口、读数据库的接口和读脚本文件的接口;

启动分析的接口是指调用者启动分析定位装置的接口,结果返回的接口是指调用者接收分析定位结果的接口,分析定位装置的分析定位结果从此接口返回给调用者;

读数据库的接口,完成分析定位管理器从数据库中获得配置数据、告警数据及性能数据的功能;

读脚本文件的接口,完成以下功能:1、从脚本文件中获取分析定位管理器定时分析周期T,周期T的单位为秒,缺省值为30秒;2、从脚本文件中获取收无光告警代码;3、从脚本文件中获取网元、盘、端口通信失效的告警代码;4、从脚本文件中获取电压性能代码;

分析定位管理器获取告警及性能数据,需要调用分析定位装置对外的数据库接口;

分析定位管理器输出分析结果数据,需要调用分析定位装置对外的结果返回的接口;

当分析定位管理器接收到对外接口的启动分析的函数调用,完成脚本及配置数据缓存之后,执行告警分析及性能分析;

所述的内部模块包括三个子模块:分析定位管理器子模块、执行分析定位的子模块、支持分析定位的数据缓存子模块;

所述分析定位管理器子模块为分析定位管理器;

所述执行分析定位的子模块包括告警分析和性能分析两个子模块;

所述支持分析定位的数据缓存子模块包括脚本数据缓存、配置数据缓存、告警数据缓存、性能数据缓存和分析结果缓存五个子模块。

2.如权利要求1所述的对引发收无光告警自动进行故障定位的装置,其特征在于:所述从数据库中获得的配置数据,包含了三类配置数据:第一类配置数据是物理配置数据,物理配置数据包括了网管中局、架、框、槽和盘数据;

第二类配置数据是逻辑配置数据,逻辑配置数据包括了网管中的网元级管理系统、网块、网元和端口;

第三类配置数据是拓扑连接数据,拓扑连接数据至少包括了三个属性值:拓扑连接ID、源端口ID和宿端口ID;

所述从数据库中获得的告警数据,至少包括了五个属性值:对象ID、告警序列号、告警代码、告警开始时间及告警结束时间;所述的产生对象ID包括网元ID、盘ID以及端口ID;

所述从数据库中获得的性能数据,至少包括了五个属性值:对象ID、性能代码、性能值大小、性能开始时间及性能结束时间;

上述各ID的值均取正整数。

3.如权利要求1或2所述的对引发收无光告警自动进行故障定位的装置,其特征在于,所述的分析定位管理器,完成以下功能:①、负责调用执行分析定位的子模块、对外输出分析定位结果;所述的执行分析定位的子模块调用告警分析子模块及性能分析子模块;

所述的分析定位管理器对象包括的数据成员定义了回调函数指针、分析定位装置线程退出事件句柄,所述的回调函数定义了一种函数指针类型,该函数功能由调用者实现,作为一个异步数据传送的通道,根据执行具体分析步骤的需要,从分析定位管理器获取告警或者性能数据;执行告警分析子模块及性能分析子模块完毕之后,将分析结果回传给分析定位管理器子模块;

所述的分析定位装置线程,是一个周期性等待的线程,周期数据来自于脚本缓存子模块的数据:分析定位管理器定时分析周期T,当一个等待周期结束时,该线程调用执行分析定位的子模块,具体执行告警分析子模块及性能分析子模块;

②、管理分析定位处理周期、管理分析定位装置线程线程;

③、直接调用读脚本文件接口;

④、直接调用读数据库的接口;

⑤、调用配置数据缓存子模块;调用脚本数据缓存子模块;其中配置数据缓存子模块通过分析定位管理器调用数据库接口得到的配置数据进行缓存处理;脚本数据缓存子模块通过分析定位管理器调用读脚本文件的接口得到的脚本数据进行缓存处理,⑥、提供调用告警分析子模块的接口;提供了告警数据缓存、性能数据缓存、分析结果缓存的回调接口;提供对外返回分析结果的接口。

4.一种基于权利要求1或2或3所述装置的对引发收无光告警自动进行故障定位的方法,包括告警分析方法,和性能分析方法,所述这两种方法的执行步骤如下:第一,收到分析定位管理器的启动告警分析子模块的函数调用;

第二,调用告警数据缓存子模块;

第三,告警数据缓存子模块调用脚本数据缓存子模块的收无光告警代码脚本数据;

第四,告警缓存子模块调用和分析管理器之间的回调函数接口,获得一批告警数据,并通过收无光告警代码进行过滤,得到一组收无光告警;

通过通信失效代码进行过滤,得到一组通信失效告警;

然后,执行网元、盘及端口的告警分析;

最后,如果网元、盘及端口的告警分析没有完成对一个收无光告警进行故障定位,则性能数据缓存子模块调用和分析管理器之间的接口,获得一批性能数据,然后性能分析子模块调用缓存的性能数据,执行网元断电性能分析;

第五,将告警分析子模块执行的结果写入分析结果缓存中,将性能分析子模块执行的结果写入分析结果缓存中。

5.如权利要求4所述的对引发收无光告警自动进行故障定位的方法,其特征在于,所述网元、盘及端口的告警分析及网元断电性能分析的执行步骤如下:第一,遍历收无光告警的缓存数据集合完毕了吗?否,去第二;是,去第十八;

第二,获取一个收无光告警对象,记为告警1,遍历位置指向下一个元素;通过告警1的对象ID,查找配置数据缓存的拓扑连接数据的源(或者宿)端口ID有结果吗?是,得到拓扑连接L,去第三;否,去第一;

第三,获取拓扑连接L的宿(或者源)的端口ID1;

第四,通过端口ID1查询通信失效告警缓存数据集合成立吗?是,去第五;否,去第七;

第五,有一个通信失效告警对象,记为告警2,告警2的告警代码为发送失效吗?是,去第六;否,去第七;

第六,故障定位为ID1对应的光物理口发送失效,去第十七;

第七,获取拓扑连接L的宿(或者源)的端口ID1所在的盘ID2;

第八,通过盘ID2查询通信失效告警缓存数据集合成立吗?是,去第九;否,去第十一;

第九,有一个通信失效告警对象,记为告警3,告警3的告警代码为盘失效吗?是,去第十;否,去第十一;

第十,故障定位为盘ID2失效,去第十七;

第十一,获取拓扑连接L的宿(或者源)的端口ID1所在的网元ID3;

第十二,通过网元ID3查询通信失效告警缓存数据集合成立吗?是,去第十三;否,去第十六;

第十三,从当前时间开始,依据时间值的减小,通过性能数据缓存调用和分析定位管理器之间的回调接口,获得一批性能数据集合:4个相邻的15分钟电源电压值:V1,V2,V3和V4,其中,V1距离当前时间最近,而V4距离当前时间最远;

第十四,在数值上V1<V2<V3<V4成立吗?是,去第十五;否,去第十六;

第十五,故障定位为判定为网元ID3有断电故障,去第十七;

第十六,故障判定为由端口ID查询出来的拓扑连接L对应的光纤断了;

第十七,故障分析结果写入分析结果缓存,去第一;

第十八,结束。

6.如权利要求5所述的对引发收无光告警自动进行故障定位的方法,其特征在于:该分析定位装置依赖集成维护系统,所述该分析定位装置所依赖的集成维护系统在体系架构基本上分为2层:集成维护系统的客户端,和集成维护系统的服务端;分析定位装置在集成维护系统的服务端实现;

具体的实现过程如下:

采用以太网通信,传输设备和主机1上的网元级管理系统进行配置业务、告警和性能数据的交互;

采用以太网通信,多个网元级管理系统和一个集成维护系统服务端建立通信连接,且在具体实现中,采用RPC进行两层网管系统的通信;

在主机2上的集成维护系统服务端进程的RPC客户端,收到网元级管理系统的RPC的服务端送来的配置业务数据后,启动配置业务处理功能,采用集成维护系统体系中的对象模型,对象ID编码范围,进行配置业务数据的映射处理,刷新集成维护系统服务端进程中的树结构存储的对象集合,所述树结构存储的对象集合简称内存对象树,以及和数据库表中的配置业务数据,达到内存对象树和数据库中没有脏数据的效果;

在主机2上的集成维护系统的服务端进程中,建立RPC客户端和主机1上的网元级管理系统的RPC服务端之间的持久态的事件通道,RPC客户端用于随时接收RPC服务端上报的告警性能数据;

在主机2上的集成维护系统的服务端进程中,创建分析定位装置对象,创建成功后,调用脚本数据缓存子模块及配置数据缓存子模块;

在主机2上的集成维护系统的服务端进程中和分析定位相关的三个线程,分别为告警处理线程,性能处理线程和分析定位装置线程;

前两个线程的功能在于无限期的分别等待告警数据处理完成事件到来,性能数据处理完成事件的到来,任意一个事件到来后,从事件对应的队列中将数据读出来,写入数据库;

具体实现过程是:集成维护系统的RPC客户端在收到网元级网管的RPC服务端的告警或性能数据后,调用内存对象树的数据缓存,进行告警性能对像ID及序列号处理;处理完毕后,分别写入告警队列及性能队列;一批告警数据处理完成,并且写告警队列完毕后,发出告警数据处理完成事件,通知告警处理线程将告警队列中的告警数据读走,然后写数据库;一批性能数据处理完成,并且写性能队列完毕后,发出性能数据处理完成事件,通知性能处理线程将性能队列中的性能数据读走,然后写数据库;

分析定位装置线程在于周期性的执行告警分析子模块及性能分析子模块。

7.如权利要求6所述的对引发收无光告警自动进行故障定位的方法,其特征在于,所述分析定位装置线程在于周期性的进行告警分析及性能分析,包括:周期性分析流程:

3.1,装载分析定位装置线程退出事件句柄hEvent;装载计时器周期T;

3.2,启动计时器,分析周期完毕了吗?是,去3.3;否,去3.4;

3.3,执行后边的“告警性能分析的流程”;去3.2;

3.4,有线程退出事件到来吗?是,去3.5;否,去3.2;

3.5,结束;

告警性能分析的流程:

4.1,装载收无光告警集合oAllLosOptAmVec;装载所有告警集合oAllAlarmMMap;装载拓扑连接集合oAllTopoLinkMap;装载端口和盘映射集合oPort2BoardMap;装载盘和网元映射集合oBoard2NeMap;

4.2,遍历oAllLosOptAmVec完毕吗?否,去4.3;是,去4.18;

4.3,有告警对象Am;遍历位置指向下一个元素;

4.4,由Am.iObjectId查找oAllTopoLinkMap有值吗?是,去4.5;否,去4.2;

4.5,有端ID1,拓扑连接ID1;

4.6,以端ID1、AMCODE_TF、oAllAlarmMMap为参数调用后边“通过告警类型和对象ID查找告警的流程”为真吗?是,去4.7;否,去4.8;

4.7,以端口ID1为主键,AMCODE_TF为值,装入结果集合oAllResultMap中,去4.2;

4.8,由端ID1查找oPort2BoardMap有值吗?是,去4.9;否,去4.2;

4.9,有盘ID1;

4.10,以盘ID1、AMCODE_FAIL、oAllAlarmMMap为参数调用后边“通过告警类型和对象ID查找告警的流程”为真吗?是,去4.11;否,去4.12;

4.11,以盘ID1为主键,AMCODE_FAIL为值,装入结果集合oAllResultMap中,去4.2;

4.12,由盘ID1查找oBoard2NeMap有值吗?是,去4.13;否,去4.2;

4.13,有网元ID1;

4.14,以网元ID1、AMCODE_NECOMFAIL、oAllAlarmMMap为参数调用后边“通过告警类型和对象ID查找告警的流程”为真吗?是,去4.15;否,去4.17;

4.15,以网元ID1为参数调用后边“电源电压性能分析流程”为真吗?是,去4.16;否,去4.17;

4.16,以网元ID1为主键,AMCODE_POWEROFF为值,装入结果集合oAllResultMap中,去

4.2;

4.17,以拓 扑连接ID1为主 键,AMCODE_FIBERBREOKEN为值,装 入结果集 合oAllResultMap中,去4.2;

4.18,结束;

通过告警类型和对象ID查找告警的流程:

5.1,装载对象ID1;装载告警类型1;装载所有告警集合oAllAlarmMMap;

5.2,由ID1查找oAllAlarmMMap有值吗?是,去5.3;否,去5.8;

5.3,有一个pair;遍历位置指向下一个元素;

5.4,遍历pair完毕吗?否,去5.5;是,去5.8;

5.5,有告警对象Aml;遍历位置指向下一个元素;

5.6,Aml.iAlarmCode等于告警类型1吗?是,去5.7;否,去5.4;

5.7,返回真,去5.9;

5.8,返回假,去5.9;

5.9,结束;

电源电压性能分析流程:

6.1,装载网元ID1;

6.2,通过数据库接口,查找网元ID1从当前时间开始向前的连续4个15分钟电源电压的性能集合oPowerPmMap;

6.3,oPowerPmMap为空吗?否,去6.4;是,去6.11;

6.4,i=1;

6.5,i<=3?是,去6.6;否,去6.13;

6.6,由i查找oPowerPmMap有值吗?是,去6.7;否,去6.11;

6.7,有性能对象1;

6.8,由i+1查找oPowerPmMap有值吗?是,去6.9;否,去6.11;

6.9,有性能对象2;

6.10,对象1.dValue>=对象2.dValue?是,去6.11;否,去6.12;

6.11,返回假,去6.14;

6.12,++i,去6.5;

6.13,返回真,去6.14;

6.14,结束。

说明书 :

一种对引发收无光告警自动进行故障定位的装置及方法

技术领域

[0001] 本发明涉及传输网范畴的故障定位,具体是指一种对引发收无光告警自动进行故障定位的装置及方法。尤其指一种基于传输网管对引发收无光告警自动进行故障分析定位的装置及方法。

背景技术

[0002] 随着传输网建设规模的扩大,网络业务量的增加,网络运营维护的工作量和难度进一步加大。
[0003] 如果设备上报给网管的收无光告警的数量很多,人工进行故障分析定位会耗费很多时间,影响故障最终解决的效率;如果该告警关联的网络拓扑结构复杂,人工进行故障分析定位容易出错。
[0004] 目前的技术,需要增加辅助判定的硬件到传输网络中,对于现网运行的设备,不实用;对于光路盘失效、光物理口失效的故障分析未涉及,对于引发收无光告警的故障判定不全面。总之,目前技术没有充分挖掘网管数据,综合分析各种条件,通过推理来定位引发收无光告警的故障。

发明内容

[0005] 针对现有技术中存在的缺陷,本发明提供一种对引发收无光告警自动进行故障定位的装置及方法,在不增加传输网络中的硬件资源,不修改现有传输帧结构的内容的前提下,充分挖掘网管数据,提出自动化的周期性的推理方法,综合分析引发收无光告警的各种条件;通过数据挖掘及推理,分析随机引发收无光告警的故障原因,进行故障定位,定时自动的完成对于引发收无光告警的故障分析定位,有利于提高提高运维人员分析收无光告警的效率,对保证网络稳定运行有重要意义。
[0006] 为达到以上目的,本发明采取的技术方案是:
[0007] 一种对引发收无光告警自动进行故障定位的装置,该装置为一种分析定位装置,其特征在于,所述分析定位装置包括:对外接口和内部模块,
[0008] 所述的对外接口包括:启动分析的接口、结果返回的接口、读数据库的接口和读脚本文件的接口;
[0009] 启动分析的接口是指调用者启动分析定位装置的接口,结果返回的接口是指调用者接收分析定位结果的接口,分析定位装置的分析定位结果从此接口返回给调用者;
[0010] 读数据库的接口,完成分析定位管理器从数据库中获得配置数据、告警数据及性能数据的功能;
[0011] 读脚本文件的接口,完成以下功能:1、从脚本文件中获取分析定位管理器定时分析周期T,周期T的单位为秒,缺省值为30秒;2、从脚本文件中获取收无光告警代码;3、从脚本文件中获取网元、盘、端口通信失效的告警代码;4、从脚本文件中获取电压性能代码;
[0012] 分析定位管理器获取告警及性能数据,需要调用分析定位装置对外的数据库接口;
[0013] 分析定位管理器输出分析结果数据,需要调用分析定位装置对外的结果返回的接口;
[0014] 当分析定位管理器接收到对外接口的启动分析的函数调用,完成脚本及配置数据缓存之后,执行告警分析及性能分析;
[0015] 所述的内部模块包括三个子模块:分析定位管理器子模块、执行分析定位的子模块、支持分析定位的数据缓存子模块;
[0016] 所述分析定位管理器子模块为分析定位管理器;
[0017] 所述执行分析定位的子模块包括告警分析和性能分析两个子模块;
[0018] 所述支持分析定位的数据缓存子模块包括脚本数据缓存、配置数据缓存、告警数据缓存、性能数据缓存和分析结果缓存五个子模块。
[0019] 在上述技术方案的基础上,所述从数据库中获得的配置数据,包含了三类配置数据:
[0020] 第一类配置数据是物理配置数据,物理配置数据包括了网管中局、架、框、槽和盘数据;
[0021] 第二类配置数据是逻辑配置数据,逻辑配置数据包括了网管中的网元级管理系统、网块、网元和端口;
[0022] 第三类配置数据是拓扑连接数据,拓扑连接数据至少包括了三个属性值:拓扑连接ID、源端口ID和宿端口ID;
[0023] 所述从数据库中获得的告警数据,至少包括了五个属性值:对象ID、告警序列号、告警代码、告警开始时间及告警结束时间;所述的产生对象ID包括网元ID、盘ID以及端口ID;
[0024] 所述从数据库中获得的性能数据,至少包括了五个属性值:对象ID、性能代码、性能值大小、性能开始时间及性能结束时间;
[0025] 上述各ID的值均取正整数。
[0026] 在上述技术方案的基础上,所述的分析定位管理器,完成以下功能:
[0027] ①、负责调用执行分析定位的子模块、对外输出分析定位结果;所述的执行分析定位的子模块调用告警分析子模块及性能分析子模块;
[0028] 所述的分析定位管理器对象包括的数据成员定义了回调函数指针、分析定位装置线程退出事件句柄。
[0029] 所述的回调函数定义了一种函数指针类型,该函数功能由调用者实现,作为一个异步数据传送的通道,根据执行具体分析步骤的需要,从分析定位管理器获取告警或者性能数据;执行告警分析子模块及性能分析子模块完毕之后,将分析结果回传给分析定位管理器子模块;
[0030] 所述的分析定位装置线程,是一个周期性等待的线程,周期数据来自于脚本缓存子模块的数据:分析定位管理器定时分析周期T,当一个等待周期结束时,该线程调用执行分析定位的子模块,具体执行告警分析子模块及性能分析子模块;
[0031] ②、管理分析定位处理周期、管理分析定位装置线程线程;
[0032] ③、直接调用读脚本文件接口;
[0033] ④、直接调用读数据库的接口;
[0034] ⑤、调用配置数据缓存子模块;调用脚本数据缓存子模块;其中配置数据缓存子模块通过分析定位管理器调用数据库接口得到的配置数据进行缓存处理;脚本数据缓存子模块通过分析定位管理器调用读脚本文件的接口得到的脚本数据进行缓存处理。
[0035] ⑥、提供调用告警分析子模块的接口;提供了告警数据缓存、性能数据缓存、分析结果缓存的回调接口;提供对外返回分析结果的接口。
[0036] 一种基于上述装置的对引发收无光告警自动进行故障定位的方法,包括告警分析方法,和性能分析方法,所述这两种方法的执行步骤如下:
[0037] 第一,收到分析定位管理器的启动告警分析子模块的函数调用;
[0038] 第二,调用告警数据缓存子模块;
[0039] 第三,告警数据缓存子模块调用脚本数据缓存子模块的收无光告警代码脚本数据;
[0040] 第四,告警缓存子模块调用和分析管理器之间的回调函数接口,获得一批告警数据,并通过收无光告警代码进行过滤,得到一组收无光告警;
[0041] 通过通信失效代码进行过滤,得到一组通信失效告警;
[0042] 然后,执行网元、盘及端口的告警分析;
[0043] 最后,如果网元、盘及端口的告警分析没有完成对一个收无光告警进行故障定位,则性能数据缓存子模块调用和分析管理器之间的接口,获得一批性能数据,然后性能分析子模块调用缓存的性能数据,执行网元断电性能分析;
[0044] 第五,将告警分析子模块执行的结果写入分析结果缓存中。将性能分析子模块执行的结果写入分析结果缓存中。
[0045] 在上述技术方案的基础上,所述网元、盘及端口的告警分析及网元断电性能分析的执行步骤如下:
[0046] 第一,遍历收无光告警的缓存数据集合完毕了吗?否,去第二;是,去第十八;
[0047] 第二,获取一个收无光告警对象,记为告警1,遍历位置指向下一个元素;通过告警1的对象ID,查找配置数据缓存的拓扑连接数据的源(或者宿)端口ID有结果吗?是,得到拓扑连接L,去第三;否,去第一;
[0048] 第三,获取拓扑连接L的宿(或者源)的端口ID1;
[0049] 第四,通过端口ID1查询通信失效告警缓存数据集合成立吗?是,去第五;否,去第七;
[0050] 第五,有一个通信失效告警对象,记为告警2,告警2的告警代码为发送失效吗?是,去第六;否,去第七;
[0051] 第六,故障定位为ID1对应的光物理口发送失效,去第十七;
[0052] 第七,获取拓扑连接L的宿(或者源)的端口ID1所在的盘ID2;
[0053] 第八,通过盘ID2查询通信失效告警缓存数据集合成立吗?是,去第九;否,去第十一;
[0054] 第九,有一个通信失效告警对象,记为告警3,告警3的告警代码为盘失效吗?是,去第十;否,去第十一;
[0055] 第十,故障定位为盘ID2失效,去第十七;
[0056] 第十一,获取拓扑连接L的宿(或者源)的端口ID1所在的网元ID3;
[0057] 第十二,通过网元ID3查询通信失效告警缓存数据集合成立吗?是,去第十三;否,去第十六;
[0058] 第十三,从当前时间开始,依据时间值的减小,通过性能数据缓存调用和分析定位管理器之间的回调接口,获得一批性能数据集合:4个相邻的15分钟电源电压值:V1,V2,V3和V4,其中,V1距离当前时间最近,而V4距离当前时间最远;
[0059] 第十四,在数值上V1<V2<V3<V4成立吗?是,去第十五;否,去第十六;
[0060] 第十五,故障定位为判定为网元ID3有断电故障,去第十七;
[0061] 第十六,故障判定为由端口ID查询出来的拓扑连接L对应的光纤断了;
[0062] 第十七,故障分析结果写入分析结果缓存,去第一;
[0063] 第十八,结束。
[0064] 在上述技术方案的基础上,该分析定位装置依赖集成维护系统,所述该分析定位装置所依赖的集成维护系统在体系架构基本上分为2层:集成维护系统的客户端,和集成维护系统的服务端;分析定位装置在集成维护系统的服务端实现;
[0065] 具体的实现过程如下:
[0066] 采用以太网通信,传输设备和主机1上的网元级管理系统进行配置业务、告警和性能数据的交互;
[0067] 采用以太网通信,多个网元级管理系统和一个集成维护系统服务端建立通信连接,且在具体实现中,采用RPC进行两层网管系统的通信;
[0068] 在主机2上的集成维护系统服务端进程的RPC客户端,收到网元级管理系统的RPC的服务端送来的配置业务数据后,启动配置业务处理功能,采用集成维护系统体系中的对象模型,对象ID编码范围,进行配置业务数据的映射处理,刷新集成维护系统服务端进程中的树结构存储的对象集合,所述树结构存储的对象集合简称内存对象树,以及和数据库表中的配置业务数据,达到内存对象树和数据库中没有脏数据的效果;
[0069] 在主机2上的集成维护系统的服务端进程中,建立RPC客户端和主机1上的网元级管理系统的RPC服务端之间的持久态的事件通道,RPC客户端用于随时接收RPC服务端上报的告警性能数据;
[0070] 在主机2上的集成维护系统的服务端进程中,创建分析定位装置对象,创建成功后,调用脚本数据缓存子模块及配置数据缓存子模块;
[0071] 在主机2上的集成维护系统的服务端进程中和分析定位相关的三个线程,分别为告警处理线程,性能处理线程和分析定位装置线程;
[0072] 前两个线程的功能在于无限期的分别等待告警数据处理完成事件到来,性能数据处理完成事件的到来。任意一个事件到来后,从事件对应的队列中将数据读出来,写入数据库;具体实现过程是:集成维护系统的RPC客户端在收到网元级网管的RPC服务端的告警或性能数据后,调用内存对象树的数据缓存,进行告警性能对像ID及序列号处理;处理完毕后,分别写入告警队列及性能队列;一批告警数据处理完成,并且写告警队列完毕后,发出告警数据处理完成事件,通知告警处理线程将告警队列中的告警数据读走,然后写数据库;一批性能数据处理完成,并且写性能队列完毕后,发出性能数据处理完成事件,通知性能处理线程将性能队列中的性能数据读走,然后写数据库;
[0073] 分析定位装置线程在于周期性的执行告警分析子模块及性能分析子模块。
[0074] 在上述技术方案的基础上,所述分析定位装置线程在于周期性的进行告警分析及性能分析,包括:
[0075] 周期性分析流程:
[0076] 3.1,装载分析定位装置线程退出事件句柄hEvent;装载计时器周期T;
[0077] 3.2,启动计时器,分析周期完毕了吗?是,去3.3;否,去3.4;
[0078] 3.3,执行后边的“告警性能分析的流程”;去3.2;
[0079] 3.4,有线程退出事件到来吗?是,去3.5;否,去3.2;
[0080] 3.5,结束;
[0081] 告警性能分析的流程:
[0082] 4.1,装载收无光告警集合oAllLosOptAmVec;装载所有告警集合oAllAlarmMMap;装载拓扑连接集合oAllTopoLinkMap;装载端口和盘映射集合oPort2BoardMap;装载盘和网元映射集合oBoard2NeMap;
[0083] 4.2,遍历oAllLosOptAmVec完毕吗?否,去4.3;是,去4.18;
[0084] 4.3,有告警对象Am;遍历位置指向下一个元素;
[0085] 4.4,由Am.iObjectId查找oAllTopoLinkMap有值吗?是,去4.5;否,去4.2;
[0086] 4.5,有端口ID1,拓扑连接ID1;
[0087] 4.6,以端口ID1、AMCODE_TF、oAllAlarmMMap为参数调用后边“通过告警类型和对象ID查找告警的流程”为真吗?是,去4.7;否,去4.8;
[0088] 4.7,以端口ID1为主键,AMCODE_TF为值,装入结果集合oAllResultMap中,去4.2;
[0089] 4.8,由端口ID1查找oPort2BoardMap有值吗?是,去4.9;否,去4.2;
[0090] 4.9,有盘ID1;
[0091] 4.10,以盘ID1、AMCODE_FAIL、oAllAlarmMMap为参数调用后边“通过告警类型和对象ID查找告警的流程”为真吗?是,去4.11;否,去4.12;
[0092] 4.11,以盘ID1为主键,AMCODE_FAIL为值,装入结果集合oAllResultMap中,去4.2;
[0093] 4.12,由盘ID1查找oBoard2NeMap有值吗?是,去4.13;否,去4.2;
[0094] 4.13,有网元ID1;
[0095] 4.14,以网元ID1、AMCODE_NECOMFAIL、oAllAlarmMMap为参数调用后边“通过告警类型和对象ID查找告警的流程”为真吗?是,去4.15;否,去4.17;
[0096] 4.15,以网元ID1为参数调用后边“电源电压性能分析流程”为真吗?是,去4.16;否,去4.17;
[0097] 4.16,以网元ID1为主键,AMCODE_POWEROFF为值,装入结果集合oAllResultMap中,去4.2;
[0098] 4.17,以拓扑连接ID1为主键,AMCODE_FIBERBREOKEN为值,装入结果集合oAllResultMap中,去4.2;
[0099] 4.18,结束;
[0100] 通过告警类型和对象ID查找告警的流程:
[0101] 5.1,装载对象ID1;装载告警类型1;装载所有告警集合oAllAlarmMMap;
[0102] 5.2,由ID1查找oAllAlarmMMap有值吗?是,去5.3;否,去5.8;
[0103] 5.3,有一个pair;遍历位置指向下一个元素;
[0104] 5.4,遍历pair完毕吗?否,去5.5;是,去5.8;
[0105] 5.5,有告警对象Aml;遍历位置指向下一个元素;
[0106] 5.6,Aml.iAlarmCode等于告警类型1吗?是,去5.7;否,去5.4;
[0107] 5.7,返回真,去5.9;
[0108] 5.8,返回假,去5.9;
[0109] 5.9,结束;
[0110] 电源电压性能分析流程:
[0111] 6.1,装载网元ID1;
[0112] 6.2,通过数据库接口,查找网元ID1从当前时间开始向前的连续4个15分钟电源电压的性能集合oPowerPmMap;
[0113] 6.3,oPowerPmMap为空吗?否,去6.4;是,去6.11;
[0114] 6.4,i=1;
[0115] 6.5,i<=3?是,去6.6;否,去6.13;
[0116] 6.6,由i查找oPowerPmMap有值吗?是,去6.7;否,去6.11;
[0117] 6.7,有性能对象1;
[0118] 6.8,由i+1查找oPowerPmMap有值吗?是,去6.9;否,去6.11;
[0119] 6.9,有性能对象2;
[0120] 6.10,对象1.dValue>=对象2.dValue?是,去6.11;否,去6.12;
[0121] 6.11,返回假,去6.14;
[0122] 6.12,++i,去6.5;
[0123] 6.13,返回真,去6.14;
[0124] 6.14,结束。
[0125] 本发明所述的对引发收无光告警自动进行故障定位的装置及方法,具有以下优点:
[0126] 第一、不增加传输网络中的硬件资源,不修改现有传输帧结构的内容,充分挖掘网管数据,提出一种自动化的周期性的推理方法,分析随机引发收无光告警的故障的原因,达到对引发收无光告警的故障定位。
[0127] 第二、减轻了人工查找分析故障的困难,避免了人工分析上述数据的可能的错误。
[0128] 第三、分析周期、分析相关的告警代码采用脚本文件进行灵活定制。

附图说明

[0129] 本发明有如下附图:
[0130] 图1对引发收无光告警自动进行故障定位的装置的总体框图,
[0131] 图2网元、盘及端口的告警分析及网元断电性能分析的流程图,[0132] 图3具体实施分析定位装置的软件产品的体系架构图,
[0133] 图4具体实施周期性分析的框架流程图,
[0134] 图5具体实施分析定位装置的告警性能分析流程图,
[0135] 图6通过告警类型和对象ID查找告警的流程图,
[0136] 图7具体实施电源电压性能分析流程图。

具体实施方式

[0137] 本发明所述的原理是一般性的对引发收无光告警自动进行故障定位的装置(以下简称分析定位装置),经测试已在我公司的网管软件产品集成维护系统中得以实现。但不限于该系统所描述的实现方法。
[0138] 本发明给出了一种对引发收无光告警自动进行故障定位的装置,该装置的总体框图如图1所示,所述分析定位装置包括:对外接口和内部模块,
[0139] 所述的对外接口包括:启动分析的接口、结果返回的接口、读数据库的接口和读脚本文件的接口;
[0140] 启动分析的接口是指调用者启动分析定位装置的接口,结果返回的接口是指调用者接收分析定位结果的接口,分析定位装置的分析定位结果从此接口返回给调用者;
[0141] 读数据库的接口,完成分析定位管理器从数据库中获得配置数据、告警数据及性能数据的功能;
[0142] 读脚本文件的接口,完成以下功能:1、从脚本文件中获取分析定位管理器定时分析周期T,周期T的单位为秒,缺省值为30秒;2、从脚本文件中获取收无光告警代码;3、从脚本文件中获取网元、盘、端口通信失效的告警代码;4、从脚本文件中获取电压性能代码;
[0143] 分析定位管理器获取告警及性能数据,需要调用分析定位装置对外的数据库接口;
[0144] 分析定位管理器输出分析结果数据,需要调用分析定位装置对外的结果返回的接口;
[0145] 当分析定位管理器接收到对外接口的启动分析的函数调用,完成脚本及配置数据缓存之后,执行告警分析及性能分析;
[0146] 所述的内部模块包括三个子模块:分析定位管理器子模块、执行分析定位的子模块、支持分析定位的数据缓存子模块;
[0147] 所述分析定位管理器子模块具体对应了图1中的分析定位管理器;即:所述分析定位管理器子模块为分析定位管理器;
[0148] 所述执行分析定位的子模块具体对应了图1中的告警分析和性能分析;即:所述执行分析定位的子模块包括告警分析和性能分析两个子模块;
[0149] 所述支持分析定位的数据缓存子模块具体对应了图1中5类数据缓存:脚本数据缓存、配置数据缓存、告警数据缓存、性能数据缓存和分析结果缓存;即:所述支持分析定位的数据缓存子模块包括脚本数据缓存、配置数据缓存、告警数据缓存、性能数据缓存和分析结果缓存五个子模块。
[0150] 在上述技术方案的基础上,所述从数据库中获得的配置数据,包含了三类配置数据:
[0151] 第一类配置数据是物理配置数据,物理配置数据包括了网管中局、架、框、槽和盘数据;
[0152] 第二类配置数据是逻辑配置数据,逻辑配置数据包括了网管中的网元级管理系统、网块、网元和端口;
[0153] 第三类配置数据是拓扑连接数据,拓扑连接数据至少包括了三个属性值:拓扑连接ID、源端口ID和宿端口ID;
[0154] 所述从数据库中获得的告警数据,至少包括了五个属性值:对象ID、告警序列号、告警代码、告警开始时间及告警结束时间;所述的产生对象ID包括网元ID、盘ID以及端口ID;
[0155] 所述从数据库中获得的性能数据,至少包括了五个属性值:对象ID、性能代码、性能值大小、性能开始时间及性能结束时间;
[0156] 上述各ID的值均取正整数。
[0157] 在上述技术方案的基础上,所述的分析定位管理器(分析定位管理器子模块),完成以下功能:
[0158] ①、负责调用执行分析定位的子模块、对外输出分析定位结果;所述的执行分析定位的子模块调用告警分析子模块及性能分析子模块;
[0159] 所述的分析定位管理器对象包括的数据成员定义了回调函数指针、分析定位装置线程退出事件句柄。
[0160] 所述的回调函数定义了一种函数指针类型,该函数功能由调用者实现,作为一个异步数据传送的通道,根据执行具体分析步骤的需要,从分析定位管理器获取告警或者性能数据;执行告警分析子模块及性能分析子模块完毕之后,将分析结果回传给分析定位管理器子模块;
[0161] 所述的分析定位装置线程,是一个周期性等待的线程,周期数据来自于脚本缓存子模块的数据:分析定位管理器定时分析周期T,当一个等待周期结束时,该线程调用执行分析定位的子模块,具体执行告警分析子模块及性能分析子模块;
[0162] ②、管理分析定位处理周期、管理分析定位装置线程线程;
[0163] ③、直接调用读脚本文件接口;
[0164] ④、直接调用读数据库的接口;
[0165] ⑤、调用配置数据缓存子模块;调用脚本数据缓存子模块;其中配置数据缓存子模块通过分析定位管理器调用数据库接口得到的配置数据进行缓存处理;脚本数据缓存子模块通过分析定位管理器调用读脚本文件的接口得到的脚本数据进行缓存处理。
[0166] ⑥、提供调用告警分析子模块的接口;提供了告警数据缓存、性能数据缓存、分析结果缓存的回调接口;提供对外返回分析结果的接口。
[0167] 在上述本发明给出的一种对引发收无光告警自动进行故障定位的装置的基础上,本发明给出了对引发收无光告警自动进行故障定位的方法,包括告警分析方法,和性能分析方法,所述这两种方法的执行步骤如下(参见图1):
[0168] 第一,收到分析定位管理器的启动告警分析子模块的函数调用,如图1中的“3)”;
[0169] 第二,启动告警数据缓存子模块,如图1中的“4)”;
[0170] 第三,告警数据缓存子模块调用收无光告警代码脚本,如图1中的“5)”;
[0171] 第四,告警缓存子模块调用和分析管理器之间的回调函数接口,获得一批告警数据,如图1中的“6)”,并通过收无光告警代码进行过滤,得到一组收无光告警;
[0172] 通过通信失效代码进行过滤,得到一组通信失效告警;
[0173] 然后,执行网元、盘及端口的告警分析;
[0174] 最后,如果网元、盘及端口的告警分析没有完成对一个收无光告警进行故障定位,则性能数据缓存子模块调用和分析管理器之间的接口,获得一批性能数据,如图1中的“12)”,然后性能分析子模块调用缓存的性能数据,如图1中的“10”,执行网元断电性能分析;
[0175] 第五,将告警分析子模块执行的结果写入分析结果缓存中,如图1中的“8)”。将性能分析子模块执行的结果写入分析结果缓存中,如图1中的“14)”。
[0176] 在上述技术方案的基础上,所述网元、盘及端口的告警分析及网元断电性能分析的执行步骤如下(参见图2):
[0177] 第一,遍历收无光告警的缓存数据集合完毕了吗?否,去第二;是,去第十八;
[0178] 第二,获取一个收无光告警对象,记为告警1,遍历位置指向下一个元素;通过告警1的对象ID,查找配置数据缓存的拓扑连接数据的源(或者宿)端口ID有结果吗?是,得到拓扑连接L,去第三;否,去第一;
[0179] 第三,获取拓扑连接L的宿(或者源)的端口ID1;
[0180] 第四,通过端口ID1查询通信失效告警缓存数据集合成立吗?是,去第五;否,去第七;
[0181] 第五,有一个通信失效告警对象,记为告警2,告警2的告警代码为发送失效吗?是,去第六;否,去第七;
[0182] 第六,故障定位为ID1对应的光物理口发送失效,去第十七;
[0183] 第七,获取拓扑连接L的宿(或者源)的端口ID1所在的盘ID2;
[0184] 第八,通过盘ID2查询通信失效告警缓存数据集合成立吗?是,去第九;否,去第十一;
[0185] 第九,有一个通信失效告警对象,记为告警3,告警3的告警代码为盘失效吗?是,去第十;否,去第十一;
[0186] 第十,故障定位为盘ID2失效,去第十七;
[0187] 第十一,获取拓扑连接L的宿(或者源)的端口ID1所在的网元ID3;
[0188] 第十二,通过网元ID3查询通信失效告警缓存数据集合成立吗?是,去第十三;否,去第十六;
[0189] 第十三,从当前时间开始,依据时间值的减小,通过性能数据缓存调用和分析定位管理器之间的回调接口,获得一批性能数据集合:4个相邻的15分钟电源电压值:V1,V2,V3和V4,其中,V1距离当前时间最近,而V4距离当前时间最远;
[0190] 第十四,在数值上V1<V2<V3<V4成立吗?是,去第十五;否,去第十六;
[0191] 第十五,故障定位为判定为网元ID3有断电故障,去第十七;
[0192] 第十六,故障判定为由端口ID查询出来的拓扑连接L对应的光纤断了;
[0193] 第十七,故障分析结果写入分析结果缓存,去第一;
[0194] 第十八,结束。
[0195] 在具体实施中,该分析定位装置所依赖的集成维护系统的体系结构如图3所示。该分析定位装置所依赖的集成维护系统在体系架构基本上分为2层:集成维护系统的客户端,和集成维护系统的服务端;分析定位装置在集成维护系统的服务端实现。
[0196] 具体的实现过程如下:
[0197] 采用以太网通信,传输设备和主机1上的网元级管理系统进行配置业务、告警和性能数据的交互,如图3的“(1)”;
[0198] 采用以太网通信,多个网元级管理系统和一个集成维护系统服务端建立通信连接,且在具体实现中,采用RPC进行两层网管系统的通信,如图3的“(3)”;
[0199] 在主机2上的集成维护系统服务端进程的RPC客户端,收到网元级管理系统的RPC的服务端送来的配置业务数据后,启动配置业务处理功能,采用集成维护系统体系中的对象模型,对象ID编码范围,进行配置业务数据的映射处理,刷新集成维护系统服务端进程中的树结构存储的对象集合,所述树结构存储的对象集合简称内存对象树,以及和数据库表中的配置业务数据,达到内存对象树和数据库中没有脏数据的效果,如图3的“(4)”和图3的“(5)”;
[0200] 在主机2上的集成维护系统的服务端进程中,建立RPC客户端和主机1上的网元级管理系统的RPC服务端之间的持久态的事件通道,RPC客户端用于随时接收RPC服务端上报的告警性能数据;
[0201] 在主机2上的集成维护系统的服务端进程中,创建分析定位装置对象,创建成功后,调用脚本数据缓存子模块及配置数据缓存子模块;
[0202] 在主机2上的集成维护系统的服务端进程中和分析定位相关的三个线程,分别为告警处理线程,性能处理线程和分析定位装置线程;前两个线程的功能在于无限期的分别等待告警数据处理完成事件到来,性能数据处理完成事件的到来。任意一个事件到来后,从事件对应的队列中将数据读出来,写入数据库,如图3的“(8)”;具体实现过程是:集成维护系统的RPC客户端在收到网元级网管的RPC服务端的告警或性能数据后,调用内存对象树的数据缓存,进行告警性能对像ID及序列号处理,如图3的“(6)”和图3的“(7)”;处理完毕后,分别写入告警队列及性能队列;一批告警数据处理完成,并且写告警队列完毕后,发出告警数据处理完成事件,通知告警处理线程将告警队列中的告警数据读走,然后写数据库;一批性能数据处理完成,并且写性能队列完毕后,发出性能数据处理完成事件,通知性能处理线程将性能队列中的性能数据读走,然后写数据库;
[0203] 分析定位装置线程在于周期性的执行告警分析子模块及性能分析子模块;分析定位装置线程具体实施,参见第一部分具体实施的数据结构定义,第二部分的具体实施的实现流程。
[0204] 第一部分具体实施的数据结构定义
[0205] 1枚举值定义
[0206] enum AMCODE
[0207] {
[0208] //告警代码的数值和具体网管相关,这里给出示例:
[0209] //端口发送失效告警代码枚举
[0210] AMCODE_TF=1,
[0211] //单盘失效告警代码枚举
[0212] AMCODE_FAIL=2,
[0213] //网元通信中断告警代码枚举
[0214] AMCODE_NECOMFAIL=3,
[0215] //光纤断,实际设备没有该告警代码,仅仅用来判定故障。
[0216] AMCODE_FIBERBREOKEN=4
[0217] //网元断电告警代码枚举
[0218] AMCODE_POWEROFF=5
[0219] };
[0220] 2、数据结构定义
[0221] 2.1告警数据结构
[0222] struct ALARM_ADAPT
[0223] {
[0224] int iSequenceNo;//序列号;
[0225] int iObjectID;//对象ID;
[0226] int iAlarmCode;//告警代码;
[0227] int iPortNo;//端口号;
[0228] string strBeginTime;//开始时间;
[0229] string strEndTime;//结束时间;
[0230] };
[0231] 2.2性能数据结构
[0232] struct PM_ADAPT
[0233] {
[0234] int iSequenceNo;//序列号;
[0235] int iObjectId;//对象ID;
[0236] int iPMCode;//性能代码;
[0237] int iPortNo;//端口号;
[0238] double dValue;//性能值;
[0239] string strBeginTime;//开始时间;
[0240] string strEndTime;//结束时间;
[0241] };
[0242] 2.3缓存所有的通信失效告警数据
[0243] multimapoAllAlarmMMap;
[0244] 主键为告警对象ID,值为告警对象;数据来源于告警缓存数据在读取脚本缓存的通信失效代码数据后,过滤出来的数据。
[0245] 其中,通信失效代码数据,在解决方案中可以通过脚本文件定制。在具体实施例子中枚举了有限的通信失效代码AMCODE的作为示范。
[0246] 2.4缓存所有的收无光告警数据
[0247] vectoroAllLosOptAmVec;
[0248] 元素为每个收无光告警对象;数据来源于告警缓存数据,在读取脚本缓存的收无光代码数据后,如果告警数据的代码为收无光数据,则过滤出该告警的数据,写入oAllLosOptAmVec。此处给出说明后,具体实施中,不再描述这一收无光告警筛选过程。
[0249] 其中,收无光代码数据,在解决方案中可以通过脚本文件定制。
[0250] 2.5缓存所有的拓扑连接数据
[0251] map>oAllTopoLinkMap;
[0252] 主键为源(宿)端ID,值为一个对pair,对的第一个值为拓扑连接ID,第二个值为宿(源)端口ID;数据来源于配置数据中的拓扑连接数据。
[0253] 2.6缓存所有的单盘和端口父子关系对
[0254] mapoPort2BoardMap;
[0255] 主键为端口ID,值为盘ID;数据来源于配置数据中的单盘和端口数据。
[0256] 2.7缓存所有的网元和单盘父子关系对
[0257] mapoBoard2NeMap;
[0258] 主键为盘ID,值为网元ID;数据来源于配置数据中的网元和盘数据。
[0259] 2.8收集故障分析结果到mapoAllResultMap,主键为对象ID;值为故障原因。
[0260] 第二部分的具体实施的实现流程
[0261] 3具体实施周期性分析的框架流程(参见图4)
[0262] 3.1,装载分析定位装置线程退出事件句柄hEvent;装载计时器周期T;
[0263] 3.2,启动计时器,分析周期完毕了吗?是,去3.3;否,去3.4;
[0264] 3.3,执行后边的“告警性能分析的流程”;去3.2;
[0265] 3.4,有线程退出事件到来吗?是,去3.5;否,去3.2;
[0266] 3.5,结束。
[0267] 4具体实施告警性能分析的流程(参见图5)
[0268] 4.1,装载收无光告警集合oAllLosOptAmVec;装载所有告警集合oAllAlarmMMap;装载拓扑连接集合oAllTopoLinkMap;装载端口和盘映射集合oPort2BoardMap;装载盘和网元映射集合oBoard2NeMap;
[0269] 4.2,遍历oAllLosOptAmVec完毕吗?否,去4.3;是,去4.18;
[0270] 4.3,有告警对象Am;遍历位置指向下一个元素;
[0271] 4.4,由Am.iObjectId查找oAllTopoLinkMap有值吗?是,去4.5;否,去4.2;
[0272] 4.5,有端口ID1,拓扑连接ID1;
[0273] 4.6,以端口ID1、AMCODE_TF、oAllAlarmMMap为参数调用后边“通过告警类型和对象ID查找告警的流程”为真吗?是,去4.7;否,去4.8;
[0274] 4.7,以端口ID1为主键,AMCODE_TF为值,装入结果集合oAllResultMap中,去4.2;
[0275] 4.8,由端口ID1查找oPort2BoardMap有值吗?是,去4.9;否,去4.2;
[0276] 4.9,有盘ID1;
[0277] 4.10,以盘ID1、AMCODE_FAIL、oAllAlarmMMap为参数调用后边“通过告警类型和对象ID查找告警的流程”为真吗?是,去4.11;否,去4.12;
[0278] 4.11,以盘ID1为主键,AMCODE_FAIL为值,装入结果集合oAllResultMap中,去4.2;
[0279] 4.12,由盘ID1查找oBoard2NeMap有值吗?是,去4.13;否,去4.2;
[0280] 4.13,有网元ID1;
[0281] 4.14,4.14,以网元ID1、AMCODE_NECOMFAIL、oAllAlarmMMap为参数调用后边“通过告警类型和对象ID查找告警的流程”为真吗?是,去4.15;否,去4.17;
[0282] 4.15,以网元ID1为参数调用后边“电源电压性能分析流程”为真吗?是,去4.16;否,去4.17;
[0283] 4.16,以网元ID1为主键,AMCODE_POWEROFF为值,装入结果集合oAllResultMap中,去4.2;
[0284] 4.17,以拓扑连接ID1为主键,AMCODE_FIBERBREOKEN为值,装入结果集合oAllResultMap中,去4.2;
[0285] 4.18,结束。
[0286] 5通过告警类型和对象ID查找告警的流程(参见图6)
[0287] 5.1,装载对象ID1;装载告警类型1;装载所有告警集合oAllAlarmMMap;
[0288] 5.2,由ID1查找oAllAlarmMMap有值吗?是,去5.3;否,去5.8;
[0289] 5.3,有一个pair;
[0290] 5.4,遍历pair完毕吗?否,去5.5;是,去5.8;
[0291] 5.5,有告警对象Aml;遍历位置指向下一个元素;
[0292] 5.6,Aml.iAlarmCode等于告警类型1吗?是,去5.7;否,去5.4;
[0293] 5.7,返回真,去5.9;
[0294] 5.8,返回假,去5.9;
[0295] 5.9,结束。
[0296] 6具体实施电源电压性能分析流程(参见图7)
[0297] 6.1,装载网元ID1;
[0298] 6.2,通过数据库接口,查找网元ID1从当前时间开始向前的连续4个15分钟电源电压的性能集合oPowerPmMap;
[0299] 6.3,oPowerPmMap为空吗?否,去6.4;是,去6.11;
[0300] 6.4,i=1;
[0301] 6.5,i<=3?是,去6.6;否,去6.13;
[0302] 6.6,由i查找oPowerPmMap有值吗?是,去6.7;否,去6.11;
[0303] 6.7,有性能对象1;
[0304] 6.8,由i+1查找oPowerPmMap有值吗?是,去6.9;否,去6.11;
[0305] 6.9,有性能对象2;
[0306] 6.10,对象1.dValue>=对象2.dValue?是,去6.11;否,去6.12;
[0307] 6.11,返回假,去6.14;
[0308] 6.12,++i,去6.5;
[0309] 6.13,返回真,去6.14;
[0310] 6.14,结束。