一种阈值表达式解析方法

文档序号:7626822阅读:524来源:国知局
专利名称:一种阈值表达式解析方法
技术领域
本发明涉及网络管理系统(NMS)技术,尤其涉及一种NMS中的阈值表达解析方法。
背景技术
顾名思义,NMS的作用在于对网络设备、网络线路等进行管理。通过网络管理系统,能够大幅度增加网络的可用时间,提高网络单元的利用率、网络性能、服务质量、安全性和经济效益,简化多制式、多厂商混合网络环境下的管理和降低控制网络运行成本,并提供网络规划的依据。
在网络运行过程中,各个网元的性能数据均具有与自身相关的性能阈值。具体而言,性能阈值是指用户为了特定的测量对象(MO)而设定的以逻辑表达式方式出现的边界条件。通常,该逻辑表达式被称为阈值表达式,其中的元素包括诸如端口流量、丢包个数等被称为测量本体(ME)的监控属性,例如ME1+ME3<ME5。以表达式形式存在的性能阈值由NMS的核心部分——集成性能管理系统(IPMS)保存,并通过用户界面进行显示。IPMS根据网络中各ME的实际状态与性能阈值之间的关系,即网络中是否出现满足阈值表达式的情况,决定向告警管理系统发送告警或者通知告警管理系统恢复已发送过的告警。
如表1所示,为了确定是否满足阈值表达式,IPMS将从各个网元中采集的一批性能数据及其对应的测量对象标识(MOID)组成采集数据报告,并以堆栈的形式保存。

表1
其中ME1至ME10为代表各种监控属性的ME的名称,每个ME名称都具有对应的数值。
在确定是否满足阈值表达式时,将堆栈中的性能数据代入到阈值表达式中,进行判断,这一过程也被称为阈值表达式的解析。
如图1所示,现有的阈值表达式解析方法包括以下步骤步骤101.将阈值表达式从中序表达式方式转换为后序表达式方式。
阈值表达式在初始制定时,通常采用运算符号位于操作数中间的中序表达式方式,例如ME1+ME3<ME5,可读性较强。但是,为了便于从堆栈中取出性能数据,从而加快阈值表达式的解析速度,则在进行阈值表达式解析时,通常将中序表达式方式表示的阈值表达式转换为运算符号位于操作数之后的后序表达式方式,例如ME1ME3+ME5<,并且该后序表达式所代表的逻辑含义等同于中序表达式。
步骤102.从采集数据报告中读取第一个ME名称。
由于现有的阈值表达式解析方法是将采集数据报告中的数据逐一取出,与阈值表达式进行比较,则在该解析过程的开始阶段,对采集数据报告中的第一个ME名称进行处理。
步骤103.将读取到的ME名称作为当前ME名称。
以表1所示的采集数据报告为例,经过步骤102和103,ME1被读取出来,并作为当前ME名称。
步骤104~106.将当前ME名称与阈值表达式中的元素相比较,并判断阈值表达式中是否存在与当前ME名称相同的元素,如果是,则将当前ME名称对应的数值代入到阈值表达式中;否则,直接执行步骤107。
以阈值表达式为ME1ME3+ME5<时为例,在当前ME名称为ME1时,由于该阈值表达式中的元素包含ME1,因此,判定该阈值表达式中存在与当前ME名称相同的元素。
而后,从采集数据报告中与ME1对应的数值,即23,代入到ME1ME3+ME5<中,替代该阈值表达式中的ME1,则此时的阈值表达式变为23ME3+ME5<。
步骤107~109.判断当前ME名称是否为采集数据报告中的尾记录,如果是,则确定阈值表达式解析结果,并结束本阈值表达式解析流程;否则,读取下一个ME名称,并返回执行步骤103。
在当前ME名称为采集数据报告中的尾记录时,表明已经将采集数据报告中的全部ME名称与阈值表达式进行过比较,即阈值表达式中的各个元素均已采用数据采集报告中的性能数据进行替换,则能够确定表明是否满足该阈值表达式的解析结果。仍以表1所示的采集数据报告为例,当阈值表达式为ME1ME3+ME5<时,经过上述各步骤,该阈值表达式变为2365+74<,即23+65<74,由此可见,不满足该阈值表达式的条件,则将解析结果确定为不满足。
至此,完成了现有的阈值表达式解析流程。
虽然上述阈值表达式解析方法能够利用IPMS中的数据采集报告,对阈值表达式进行解析,确定网络中的实际情况是否满足阈值表达式所代表的边界条件。当时,该方法存在以下缺点1.现有的阈值表达式解析方法中,每次解析都要将IPMS中的阈值表达式从中序表达式方式转换为后序表达式方式,解析过程较为复杂,速度不高;2.在现有的阈值表达式解析方法中,对采集数据报告中的所有性能数据都执行一次由读取到转向下一个性能数据的过程,即执行循环的次数与性能数据的个数相同,则当采集数据报告中包含的数据量较大时,完成解析表达式的时间较长。
因此,现有的阈值表达式解析方法的解析速度较慢。

发明内容
有鉴于此,本发明的目的在于提供一种阈值表达式解析方法,提高解析速度。
为实现上述目的,本发明提供了一种阈值表达式解析方法,预先存储阈值表达式,并建立保存有采集数据报告中测量本体ME名称与数值的对应关系的Map,该方法包括以下步骤A.读取存储的阈值表达式;B.将阈值表达式中的ME名称逐一取出,以取出的ME名称为索引,在所述Map中查找所述ME名称对应的数值,并用查找到的数值替换阈值表达式中对应的ME名称;C.根据替换后的阈值表达式,将阈值表达式的解析结果确定为真或者假。
其中,所述预先存储阈值表达式的方法为将转换成后序表达式方式的阈值表达式以堆栈形式保存在内存中;步骤A所述读取存储的阈值表达式的方法为读取所存储的以后序表达式方式表示的阈值表达式。
其中,所述将采集数据报告保存在Map中的方法为将采集数据报告中的ME名称作为所述Map中元素单元的关键字,将ME名称对应的数值作为所述Map中元素单元的元素值。
其中,所述步骤B包括B1.从阈值表达式中读取一个ME名称,并将读取到的ME名称作为当前ME名称;B2.以当前ME名称为索引,在所述Map中检索并提取当前ME名称对应的数值,并将提取出来的数值代入到阈值表达式中,替代当前ME名称;B3.判断阈值表达式中是否存在ME名称,如果是,则返回执行步骤B1,否则,执行步骤C。
其中,步骤B2所述检索并提取当前ME名称对应的数值的方法为在所述Map中检索关键字与当前ME名称相同的元素单元,将检索到的元素单元中的元素值作为当前ME名称对应的数值提取出来。
其中,步骤C所述将阈值表达式的解析结果确定为真或者假的方法为如果替换后的阈值表达式中各元素按照该阈值表达式中的运算规则运算后,符合该阈值表达式的逻辑关系,则将阈值表达式的解析结果确定为真;否则,将阈值表达式的解析结果确定为假。
应用本发明,能够提高阈值表达式解析的速度。具体而言,本发明具有如下有益效果1.本发明在进行表达式解析之前将阈值表达式转换为后序表达式方式,并以堆栈的形式存储在内存中,则在表达式解析过程中直接从内存中读取后序表达式方式的阈值表达式,而无需在每次解析时都执行一次转换操作,简化解析过程,缩短解析时间,提高表达式解析的速度。
2.本发明每次将阈值表达式中的一个ME名称替换为对应的数值,则执行数值替换操作的次数等于阈值表达式中的ME名称个数,而与采集数据报告中的数据量无关,因此即使采集数据报告中包含的数据量较大,完成解析表达式的时间也不会变长。
3.本发明采用Map保存采集数据报告,由于Map具有快速查找的特性,因此每个ME名称从被读取到替换为对应的数值所花费的时间大大缩短,有效的提高了表达式解析的效率。


图1为现有的阈值表达式解析方法的流程图。
图2为本发明实施例中阈值表达式解析方法的流程图。
具体实施例方式
为使本发明的目的、技术方案更加清楚明白,以下参照附图并举实施例,对本发明做进一步的详细说明。
本发明为一种NMS中的阈值表达式解析方法,预先将阈值表达式从中序表达式方式转换为后序表达式方式,以堆栈形式存储在IPMS的内存中,预先将采集数据报告保存在Map中,其基本思想包括A.从IPMS的内存中读取采用后序表达式方式表示的阈值表达式;B.将阈值表达式中的ME名称逐一取出,以取出的ME名称为索引,

③事件层的真品的性质和用途代码表是根据所预留的至少6位区段代码,按照现有的需求真品身份认证的事件归类对应列表,空余代码位随机补缺。可参照下表


表3如图2所示,本实施例的阈值表达式解析方法包括以下步骤步骤201.从内存中读取阈值表达式。
由于本实施例预先将阈值表达式转换为后序表达式方式并进行了存储,则本步骤中直接从内存读取出以后序表达式方式表示的阈值表达式,例如ME1ME3+ME5<。这样,本实施例省去了现有技术中转换阈值表达式的操作。
步骤202从阈值表达式中读取一个ME名称,并将读取到的ME名称作为当前ME名称。
为了进行后续步骤中的阈值表达式解析,本步骤从以后序表达式方式表示的阈值表达式中读取一个ME名称。例如阈值表达式为ME1ME3+ME5<时,本步骤中读取出来的当前ME名称可以为ME1、ME3或者ME5。
步骤203~204.以当前ME名称为索引,在保存采集数据报告的Map中检索当前ME名称对应的数值;而后将检索到的数值代入到阈值表达式中,替代当前ME名称。
本步骤利用Map的快速查找功能,将当前ME名称作为索引,在Map中查找关键字与当前ME名称相同的元素单元。在找到该元素单元之后,将其中的元素值提取出来,作为当前ME名称对应的数值,并利用该数值将阈值表达式中的当前ME名称替换掉,即阈值表达式中当前ME名称所处的位置表为检索出来的数值。例如阈值表达式为ME1ME3+ME5<,当前ME名称为ME3,经过检索,从表3所示的Map中找到当前ME名称对应的数值为65,则此时的阈值表达式为ME165+ME5<。
步骤205~206.判断阈值表达式中是否存在ME名称,如果是,返回执行步骤202;否则,确定阈值表达式解析结果。
本处判断阈值表达式中是否存在ME名称的目的在于,确定阈值表达式中的元素是否全部为数值,即是否能够对阈值表达式进行运算,以便确定解析结果。当阈值表达式中仍然存在ME名称时,则返回到步骤202,继续对阈值表达式中的ME名称进行替换;当阈值表达式中的全部元素均为数值时,则对按照后序表达式的逻辑运算规则,将该阈值表达式的解析结果确定为真(True)或者假(False)。具体而言,确定解析结果的方法为如果替换后的阈值表达式中各元素按照该阈值表达式中的运算规则运算后,符合该阈值表达式的逻辑关系,则将阈值表达式的解析结果确定为真;否则,将阈值表达式的解析结果确定为假。例如阈值表达式为ME1ME3+ME5<,保存采集数据报告的Map如表3所示,则经过检索替换后变为2365+74<,由于23+65等于88,不小于74,因此上述数值不满足该阈值表达式的逻辑关系,则解析结果为False。
至此,完成了本实施例的阈值表达式解析流程。
从上述各个步骤可见,本实施例中的阈值表达式解析方法预先将阈值表达式转换为采用后序表达式方式表示,并在放入堆栈后进行存储,则每次进行阈值表达式解析时,只需从IPMS的内存中读取该转换后的阈值表达式即可,无需执行转换操作,简化步骤、节省时间。
另外,本实施例中采用具有快速查找功能的Map保存包含ME名称及其对应的数值的采集数据报告,在利用数值进行阈值表达式替换时,以阈值表达式中的ME名称为索引,在Map中查找具有与阈值表达式中的ME名称相同的关键字的元素单元,并从中提取出元素值,替换阈值表达式中对应的ME名称,则无需对采集数据报告中的ME名称都执行与阈值表达式比较的操作,又由于在Map中执行查找的时间较堆栈操作而言大大缩短,因此即使在采集数据报告中包含大量性能数据的情况下,也能够快速高效的完成阈值表达式的解析。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种表达式解析方法,其特征在于,预先存储阈值表达式,并建立保存有采集数据报告中测量本体ME名称与数值的对应关系的Map,该方法包括以下步骤A.读取存储的阈值表达式;B.将阈值表达式中的ME名称逐一取出,以取出的ME名称为索引,在所述Map中查找所述ME名称对应的数值,并用查找到的数值替换阈值表达式中对应的ME名称;C.根据替换后的阈值表达式,将阈值表达式的解析结果确定为真或者假。
2.如权利要求1所述的方法,其特征在于,所述预先存储阈值表达式的方法为将转换成后序表达式方式的阈值表达式以堆栈形式保存在内存中;步骤A所述读取存储的阈值表达式的方法为读取所存储的以后序表达式方式表示的阈值表达式。
3.如权利要求1或2所述的方法,其特征在于,所述将采集数据报告保存在Map中的方法为将采集数据报告中的ME名称作为所述Map中元素单元的关键字,将ME名称对应的数值作为所述Map中元素单元的元素值。
4.如权利要求3所述的方法,其特征在于,所述步骤B包括B1.从阈值表达式中读取一个ME名称,并将读取到的ME名称作为当前ME名称;B2.以当前ME名称为索引,在所述Map中检索并提取当前ME名称对应的数值,并将提取出来的数值代入到阈值表达式中,替代当前ME名称;B3.判断阈值表达式中是否存在ME名称,如果是,则返回执行步骤B1,否则,执行步骤C。
5.如权利要求4所述的方法,其特征在于,步骤B2所述检索并提取当前ME名称对应的数值的方法为在所述Map中检索关键字与当前ME名称相同的元素单元,将检索到的元素单元中的元素值作为当前ME名称对应的数值提取出来。
6.如权利要求1或2所述的方法,其特征在于,步骤C所述将阈值表达式的解析结果确定为真或者假的方法为如果替换后的阈值表达式中各元素按照该阈值表达式中的运算规则运算后,符合该阈值表达式的逻辑关系,则将阈值表达式的解析结果确定为真;否则,将阈值表达式的解析结果确定为假。
全文摘要
本发明公开了一种表达式解析方法,预先存储阈值表达式,并建立保存有采集数据报告中测量本体ME名称与数值的对应关系的Map,该方法包括以下步骤A.读取存储的阈值表达式;B.将阈值表达式中的测量本体ME名称逐一取出,以取出的ME名称为索引,在所述Map中查找ME名称对应的数值,并用查找到的数值替换阈值表达式中对应的ME名称;C.根据替换后的阈值表达式,将阈值表达式的解析结果确定为真或者假。本发明能够提高表达式解析的速度。
文档编号H04L12/24GK1852157SQ20051011750
公开日2006年10月25日 申请日期2005年11月2日 优先权日2005年11月2日
发明者莱密斯, 古步山 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1