一种实现网络故障快速识别的方法

文档序号:7618515阅读:123来源:国知局
专利名称:一种实现网络故障快速识别的方法
技术领域
本发明涉及网络管理系统,尤其涉及在大规模通讯网络中管理故障网络单元的状态和通知故障的网络管理方法。
背景技术
目前的网络管理系统通常划分为前台代理和后台网管中心两部分。对于网络故障管理,前台代理负责接收网元设备上各告警源上报的故障告警消息,并对这些信息进行解析处理,最终上报给后台网管中心,实现网管中心对系统运行情况的实时监控,如图1所示的是典型的告警信息传送过程。
前台代理的告警解析处理,要求对接收到的重复的告警和告警恢复消息进行识别,抛弃重复的告警和告警恢复,对新的告警和告警恢复进行故障应对和存储处理,并将新的告警和告警恢复及时上报给后台网管中心。
前台代理对告警消息进行重警识别时,会涉及对系统当前所有告警的索引处理,网管为了防范各个网元设备瞬时大量告警上报的冲击,对告警的处理能力有性能上的要求,所以要求前台代理在进行重警识别时,对系统当前告警的索引算法应该简单高效,但是目前,现有技术还无法有效解决网络故障管理系统中的这一问题。

发明内容
本发明的目的是为了弥补现有技术中存在的缺陷,而提出的一种实现网络故障快速识别的方法,确保前台代理能够准确、高效地反映当前系统运行的故障告警情况。
为了实现上述发明目的,本发明提出的一种实现网络故障快速识别的方法,该方法应用于网络管理系统的前台代理部分,负责接收网元设备各告警源上报的告警或告警恢复消息,实现对重警的快速识别处理,对系统的所有当前告警进行存储,并上报后台网管中心。
本发明提出的一种实现网络故障快速识别的方法包括步骤如下步骤1、对网元告警源采用单板的机架、机框和机槽进行定位描述,构建单板、告警码和告警子码的信息结构,在单板信息中定义告警码信息结构指针,在告警码信息中定义告警子码信息结构指针;步骤2、建立告警位图,定义单板信息数组作为告警位图的纵向数据,定义告警码信息数组作为告警位图横向数据,定义告警子码信息数组作为告警位图正向数据;步骤3、通过重构的哈希函数和哈希数组建立告警位图ID的哈希索引A、建立哈希函数机架、机框和机槽作为哈希函数的三个变量,表达式中变量机架的系数为机框的最大值加1与机槽最大值加1的乘积,变量机框的系数为机槽的最大值加1,变量机槽的系数为1;B、重新建立哈希函数将机架最小值、机框最小值和机槽最小值代入步骤A得到的哈希函数,得到哈希最小值,重新建立的哈希函数是步骤A得到的哈希函数减去哈希最小值;C、建立哈希索引数组由机架最大值、机框最大值和机槽最大值,根据步骤B得到的哈希函数计算哈希最大值,以哈希最大值加1为大小建立哈希索引数组;由告警位图ID对应机架、机框和机槽,根据步骤B得到的哈希函数计算哈希值,将告警位图ID写入哈希值为数组下标的哈希索引数组对应位置;D、告警位图ID的哈希索引为根据单板机架、机框和机槽,由重构的哈希函数计算哈希值,将哈希值作为哈希索引数组的下标,从哈希索引数组中获取告警位图ID;步骤4、建立告警码信息数组下标的哈希索引以告警码为变量建立哈希函数,所述哈希函数为告警码减去首告警码;步骤5、在告警位图告警码信息中,记录当前有效的告警子码数目wSumAlmSub,对告警子码信息数组前wSumAlmSub个元素进行遍历获取告警子码;步骤6、前台代理接收到单板上报的告警消息时,通过单板、告警码和告警子码索引告警位图对应的告警记录位置,若告警记录位置有告警,则告警作为重警抛弃,接收和处理告警恢复消息,若告警记录位置无告警,则告警恢复消息作为重警抛弃,接收和处理告警消息。
采用本发明,与现有技术相比,可以实现重警的快速识别处理,对系统的所有当前的告警进行存储,并上报后台网管中心,从而能够准确可靠的反映当前系统运行的故障告警情况。


图1是典型的告警信息传送过程示意图;图2是网元设备实例示意图;图3是根据网元设备实例建立的告警位图结构示意图。
具体实施例方式
1、建立告警位图根据网元设备实例图2、单板槽位信息描述表1、以及单板告警码和告警子码描述表2,建立的告警位图如图3所示。告警位图为三维结构。由单板数目定义单板信息数组,作为告警位图的纵向数据;由告警码数目定义告警码信息数组,作为告警位图的横向数据;由告警子码数目定义告警子码信息数组,作为告警位图的正向数据。单板信息定义,机架byRack、机框byShelf、机槽bySlot、类型byBoardType、当前紧急告警数目wSumCriticalAlm、告警码总数目wSumAlmCode和告警码信息指针ptAlmCodeInfo。告警码信息定义有告警类型byAlmType、告警级别byAlmLevel、告警码wAlmCode、告警子码总数目wSumSubCode、当前告警子码数目wSumAlmSub、告警参数abyAlmContent、告警时间tAlmTime和告警子码指针ptAlmSubInfo。告警子码信息定义有告警子码dwAlmSubCode和告警时间tAlmTime。单板信息采用单板信息数组进行存储,用指针ptAlmMapInfo记录数组起始位置为告警位图起始位置,数组下标为告警位图ID。为了避免大量小内存块申请造成内存浪费,将三维告警位图采用二维方式存储,单板对应告警码信息数组和告警子码信息数组共用一段连续存储空间。单板信息中用指针ptAlmCodeInfo记录告警码数组的起始地址,告警码信息中用指针ptAlmSubInfo记录告警子码数组的起始地址。如果该告警码没有对应告警子码,将ptAlmSubInfo记录为NULL。
2、建立哈希索引2.1、建立告警位图ID的哈希索引2.1.1、建立哈希函数从表1中得出单板机架最大值byRackmax、机框最大值byShelfmax和机槽最大值bySlotmax,依次为1、2、3,计算出系数a、b为a=(byShelfmax+1)*(bySlotmax+1)=12b=bySlotmax+1=4建立单板槽位信息(byRack、byShelf、bySlot)为变量的哈希函数表达式为Hash(byRack,byShelf,bySlot)=12*byRack+4*byShelf+bySlot 哈希函数①


表1

表22.1.2、重新建立哈希函数通过哈希函数①来建立哈希索引数组,会造成较大的存储空间浪费,因此有必要对哈希函数①进行重建优化。遍历单板信息数组,获取单板机架最小值、机框最小值和机槽的最小值(byRackmin,byShelfmin,bySlotmin)=(1,1,1)。计算出常数c,哈希函数①的最小值为c=Hashmin=12*byRackmin+4*byShelfmin+bySlotmin=17
则重新建立的哈希函数表达式为Hash(byRack,byShelf,bySlot)=12*byRack+4*byShelf+bySlot-17 哈希函数②根据哈希函数②计算出单板槽位信息哈希值如表3所示。

表32.1.3、建立哈希索引数组根据单板槽位信息的最大值,由哈希函数②计算出哈希数组的最大值Hashmax=12*byRackmax+4*byShelfmax+bySlotmax-17=6建立哈希索引数组awAlmMapHash,数组大小为Hashmax+1=7。
将哈希索引数组初始化为无效告警位图ID值0xffff。再由告警位图ID(wAlmMapId)遍历告警位图,根据单板槽位由哈希函数②计算哈希值Hash,将哈希值Hash作为哈希索引数组的数组下标,将告警位图ID分别写入哈希索引数组的对应位置。则哈希索引数组awAlmMapHash的值为awAlmMapHash[7]={2,3,4,0xffff,0,1,0xffff};通过哈希函数②和哈希数组,计算告警位图ID的哈希索引表达式为wAlmMapId=awAlmMapHash[Hash(byRack,byShelf,bySlot)]2.2、告警码的哈希索引告警位图中,单板告警码采用升序顺序紧凑排列,将单板首告警码记录为wAlmCodefirst,对应于告警码wAlmCode,计算告警码信息数组下标的哈希函数为Hash(wAlmCode)=wAlmCode-wAlmCodefirst2.3、告警子码的遍历索引告警位图在告警码信息中,记录当前有效的告警子码数目wSumAlmSub,由于告警子码数量较少或无,对告警子码信息数组前wSumAlmSub个元素进行遍历获取。
当一个告警子码告警恢复时,获取最后一个有效告警子码元素将该告警子码覆盖,并将最后一个有效告警子码元素进行告警恢复,以保证告警子码信息数组中,有效元素顺序紧凑排列。
3、告警接收处理告警位图中每一告警码、告警子码有两种状态告警和告警恢复。一个具体的告警码下面可以有一个告警子码集合,该集合的语义是1)集合中的有效元素为当前处于告警状态的告警子码,其他不存在的为告警恢复状态;2)告警子码集合中若存在有效元素,则告警码的告警类型为告警,否则该告警码的告警类型为告警恢复,告警码信息中采用byAlmType表示对应的当前故障状态。
例如告警管理接收到告警单板1,其槽位信息1、2、1,上报告警码2告警子码2的告警消息。
告警位图ID索引计算为wAlmMapId=awAlmMapHash[Hash(1,2,1)]=awAlmMapHash[4]=0对应告警位图起始位置作偏移wAlmMapId,得出告警单板1在告警位图中的记录地址为ptAlmMapInfo+wAlmMapId=ptAlmMapInfo告警码索引计算为Hash(wAlmCode)=wAlmCode-wAlmCodefirst=2-1=1对应告警单板1的起始告警码记录ptAlmMapInfo->ptAlmCodeInfo,得出告警码2在告警单板1中的告警码记录地址为ptAlmMapInfo->ptAlmCodeInfo+1根据(ptAlmMapInfo->ptAlmCodeInfo+1)->byAlmType值进行上报告警的重警判别。
如果告警消息为告警恢复,则上报的告警消息为新告警;如果告警消息为告警,则获取告警码记录的当前有效告警子码数目(ptAlmMapInfo->ptAlmCodeInfo+1)->wSumAlmSub,对告警子码记录地址(ptAlmMapInfo->ptAlmCodeInfo+1)->ptAlmSubInfo的告警子码前wSumAlmSub有效数目个元素进行遍历查找,判断是否存在告警子码2的记录,若不存在,则上报告警为新告警;若存在,上报告警为重复告警,对于重复告警,前台代理进行抛弃处理,对于新告警,前台代理进行记录存储和相应故障应对处理,并按告警上报协议上报后台网管中心。
权利要求
1.一种实现网络故障快速识别的方法,其特征在于,包括步骤1、对网元告警源采用单板的机架、机框和机槽进行定位描述,构建单板、告警码和告警子码的信息结构,在单板信息中定义告警码信息结构指针,在告警码信息中定义告警子码信息结构指针;步骤2、建立告警位图,定义单板信息数组作为告警位图的纵向数据,定义告警码信息数组作为告警位图横向数据,定义告警子码信息数组作为告警位图正向数据;步骤3、通过重构的哈希函数和哈希数组建立告警位图ID的哈希索引A、建立哈希函数机架、机框和机槽作为哈希函数的三个变量,表达式中变量机架的系数为机框的最大值加1与机槽最大值加1的乘积,变量机框的系数为机槽的最大值加1,变量机槽的系数为1;B、重新建立哈希函数将机架最小值、机框最小值和机槽最小值代入步骤A得到的哈希函数,得到哈希最小值,重新建立的哈希函数是步骤A得到的哈希函数减去哈希最小值;C、建立哈希索引数组由机架最大值、机框最大值和机槽最大值,根据步骤B得到的哈希函数计算哈希最大值,以哈希最大值加1为大小建立哈希索引数组;由告警位图ID对应机架、机框和机槽,根据步骤B得到的哈希函数计算哈希值,将告警位图ID写入哈希值为数组下标的哈希索引数组对应位置;D、告警位图ID的哈希索引为根据单板机架、机框和机槽,由重构的哈希函数计算哈希值,将哈希值作为哈希索引数组的下标,从哈希索引数组中获取告警位图ID;步骤4、建立告警码信息数组下标的哈希索引以告警码为变量建立哈希函数,所述哈希函数为告警码减去首告警码;步骤5、在告警位图告警码信息中,记录当前有效的告警子码数目wSumAlmSub,对告警子码信息数组前wSumAlmSub个元素进行遍历获取告警子码;步骤6、前台代理接收到单板上报的告警消息时,通过单板、告警码和告警子码索引告警位图对应的告警记录位置,若告警记录位置有告警,则告警作为重警抛弃,接收和处理告警恢复消息,若告警记录位置无告警,则告警恢复消息作为重警抛弃,接收和处理告警消息。
2.根据权利要求1所述的方法,其特征在于,所述步骤1中,根据单板对应的告警码数目和告警子码数目,申请一段连续存储的空间,存储告警码信息数组和告警子码信息数组,单板信息用指针ptAlmCodeInfo记录告警码数组的起始地址,告警码信息中用指针ptAlmSubInfo记录告警子码数组的起始地址。
3.根据权利要求1或2所述的方法,其特征在于,所述步骤4中,告警码采用升序顺序排列。
4.根据权利要求1或2所述的方法,其特征在于,所述步骤5,当告警子码元素为告警恢复时,获取最后一个有效的告警子码元素,将告警子码元素覆盖,并将最后一个有效告警子码元素进行告警恢复。
5.根据权利要求3所述的方法,其特征在于,所述步骤5,当告警子码元素为告警恢复时,获取最后一个有效的告警子码元素,将告警子码元素覆盖,并将最后一个有效告警子码元素进行告警恢复。
6.根据权利要求1或2所述的方法,其特征在于,所述告警码包括一个告警子码集合,集合中的有效元素为当前处于告警状态的告警子码,不存在告警状态的为告警恢复,告警子码集合中存在有效元素,则告警码的告警类型为告警,否则为告警恢复。
7.根据权利要求3所述的方法,其特征在于,所述告警码包括一个告警子码集合,集合中的有效元素为当前处于告警状态的告警子码,不存在告警状态的为告警恢复,告警子码集合中存在有效元素,则告警码的告警类型为告警,否则为告警恢复。
8.根据权利要求4所述的方法,其特征在于,所述告警码包括一个告警子码集合,集合中的有效元素为当前处于告警状态的告警子码,不存在告警状态的为告警恢复,告警子码集合中存在有效元素,则告警码的告警类型为告警,否则为告警恢复。
9.根据权利要求5所述的方法,其特征在于,所述告警码包括一个告警子码集合,集合中的有效元素为当前处于告警状态的告警子码,不存在告警状态的为告警恢复,告警子码集合中存在有效元素,则告警码的告警类型为告警,否则为告警恢复。
全文摘要
本发明提出了一种实现网络故障快速识别的方法,包括步骤如下对网元告警源采用单板的机架、机框和机槽进行定位描述,构建单板、告警码和告警子码的信息结构;建立告警位图,定义单板信息数组作为告警位图的纵向数据,定义告警码信息数组作为告警位图横向数据,定义告警子码信息数组作为告警位图正向数据;通过重构的哈希函数和哈希数组建立告警位图ID的哈希索引;建立告警码信息数组下标的哈希索引;在告警位图告警码信息中,进行遍历获取告警子码;前台代理接收并处理告警消息。采用本发明所述的方法,实现重复告警或告警恢复消息的快速识别准确可靠地反映当前系统的故障告警处理情况。
文档编号H04L12/24GK1870510SQ20051007187
公开日2006年11月29日 申请日期2005年5月26日 优先权日2005年5月26日
发明者樊波, 党海锋 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1