CN100386996C - 一种阈值表达式解析方法 - Google Patents
一种阈值表达式解析方法 Download PDFInfo
- Publication number
- CN100386996C CN100386996C CNB2005101175019A CN200510117501A CN100386996C CN 100386996 C CN100386996 C CN 100386996C CN B2005101175019 A CNB2005101175019 A CN B2005101175019A CN 200510117501 A CN200510117501 A CN 200510117501A CN 100386996 C CN100386996 C CN 100386996C
- Authority
- CN
- China
- Prior art keywords
- expression
- threshold expression
- title
- threshold
- measurement body
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种表达式解析方法,预先存储后序表达式方式的阈值表达式,并建立保存有采集数据报告中测量本体ME名称与数值的对应关系的Map,所述Map为一种表单式集合,该方法包括以下步骤:A.读取存储的阈值表达式;B.将阈值表达式中的测量本体ME名称逐一取出,以取出的测量本体ME名称为索引,在所述Map中查找测量本体ME名称对应的数值,并用查找到的数值替换阈值表达式中对应的测量本体ME名称;C.根据替换后的阈值表达式,将阈值表达式的解析结果确定为真或者假。本发明能够提高表达式解析的速度。
Description
技术领域
本发明涉及网络管理***(NMS)技术,尤其涉及一种NMS中的阈值表达解析方法。
背景技术
顾名思义,NMS的作用在于对网络设备、网络线路等进行管理。通过网络管理***,能够大幅度增加网络的可用时间,提高网络单元的利用率、网络性能、服务质量、安全性和经济效益,简化多制式、多厂商混合网络环境下的管理和降低控制网络运行成本,并提供网络规划的依据。
在网络运行过程中,各个网元的性能数据均具有与自身相关的性能阈值。具体而言,性能阈值是指用户为了特定的测量对象(MO)而设定的以逻辑表达式方式出现的边界条件。通常,该逻辑表达式被称为阈值表达式,其中的元素包括诸如端口流量、丢包个数等被称为测量本体(ME)的监控属性,例如:ME1+ME3<ME5。以表达式形式存在的性能阈值由NMS的核心部分——集成性能管理***(IPMS)保存,并通过用户界面进行显示。IPMS根据网络中各ME的实际状态与性能阈值之间的关系,即网络中是否出现满足阈值表达式的情况,决定向告警管理***发送告警或者通知告警管理***恢复已发送过的告警。
如表1所示,为了确定是否满足阈值表达式,IPMS将从各个网元中采集的一批性能数据及其对应的测量对象标识(MOID)组成采集数据报告,并以堆栈的形式保存。
MOID | ME1 | ME2 | ME3 | ME4 | ME5 | ME6 | ME7 | ME8 | ME9 | ME10 |
100 | 23 | 62 | 65 | 35 | 74 | 56 | 78 | 49 | 12 | 66 |
表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,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名称为索引,在保存采集数据报告的Map中查找对应的数值,并用查找到的数值替换阈值表达式中的ME名称;
C.确定阈值表达式解析结果。
下面对基于上述基本思想的具体实施例进行说明。
本实施例预先将以中序表达式方式表示的阈值表达式转换成后序表达式方式,并存储在IPMS的内存中。可以采用堆栈完成后序表达式方式的阈值表达式的存储。表2所示为阈值表达式为ME1ME3+ME5<时,IPMS的内存中保存阈值表达式的堆栈。
ME1 |
ME3 |
+ |
ME5 |
< |
表2
另外,本实施例还在接收到来自于各个网元的性能数据时,将包含性能数据的采集数据报告保存在Map中。Map是一种表单式集合,它包括多个由关键字(Key)及其对应的元素值(Value)所组成的元素单元(Element)。Map使用哈希(Hash)算法进行自身的保存和检索,即Map在关键字与该关键字所属元素单元的位置之间建立对应关系,在执行检索时,Map通过哈希算法将关键字转换为对应的存储位置信息,再通过该位置信息直接找到相应的元素单元,并从所找到的元素单元中提取元素值。因此,Map是具有快速查找功能的数据容器。为了利用Map的快速查找功能,本实施例在保存采集数据报告时,将其中的ME名称作为Map的关键字,将各个ME名称对应的数值作为Map中的元素值。以表1所示的采集数据报告为例,保存该采集数据报告的Map为表3所示的内容。
Key | Value |
ME1 | 23 |
ME2 | 62 |
ME3 | 65 |
ME4 | 35 |
ME5 | 74 |
ME6 | 56 |
ME7 | 78 |
ME8 | 49 |
ME9 | 12 |
ME10 | 66 |
表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中执行查找的时间较堆栈操作而言大大缩短,因此即使在采集数据报告中包含大量性能数据的情况下,也能够快速高效的完成阈值表达式的解析。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种表达式解析方法,其特征在于,预先存储后序表达式方式的阈值表达式,并建立保存有采集数据报告中测量本体ME名称与数值的对应关系的Map,所述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所述将阈值表达式的解析结果确定为真或者假的方法为:
如果替换后的阈值表达式中各元素按照该阈值表达式中的运算规则运算后,符合该阈值表达式的逻辑关系,则将阈值表达式的解析结果确定为真;否则,将阈值表达式的解析结果确定为假。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101175019A CN100386996C (zh) | 2005-11-02 | 2005-11-02 | 一种阈值表达式解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101175019A CN100386996C (zh) | 2005-11-02 | 2005-11-02 | 一种阈值表达式解析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1852157A CN1852157A (zh) | 2006-10-25 |
CN100386996C true CN100386996C (zh) | 2008-05-07 |
Family
ID=37133627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101175019A Expired - Fee Related CN100386996C (zh) | 2005-11-02 | 2005-11-02 | 一种阈值表达式解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100386996C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468239A (zh) * | 2014-12-22 | 2015-03-25 | 上海大唐移动通信设备有限公司 | 一种基于规则的数据处理方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914027B (zh) * | 2013-01-07 | 2016-07-06 | 上海宝信软件股份有限公司 | 利用表达式解析实现工业现场底层设备监测管理的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6286040B1 (en) * | 1998-05-01 | 2001-09-04 | Cisco Technology, Inc. | User-friendly interface for setting expressions on an SNMP agent |
CN1393801A (zh) * | 2001-06-28 | 2003-01-29 | 华为技术有限公司 | 一种计算机网络远程网络监控方法 |
-
2005
- 2005-11-02 CN CNB2005101175019A patent/CN100386996C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6286040B1 (en) * | 1998-05-01 | 2001-09-04 | Cisco Technology, Inc. | User-friendly interface for setting expressions on an SNMP agent |
CN1393801A (zh) * | 2001-06-28 | 2003-01-29 | 华为技术有限公司 | 一种计算机网络远程网络监控方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468239A (zh) * | 2014-12-22 | 2015-03-25 | 上海大唐移动通信设备有限公司 | 一种基于规则的数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN1852157A (zh) | 2006-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104252445B (zh) | 近似重复文档检测方法及装置 | |
US9448999B2 (en) | Method and device to detect similar documents | |
CN111190792B (zh) | 一种日志存储的方法、装置、电子设备及可读存储介质 | |
CN103559185B (zh) | 试验数据文档解析入库方法 | |
CN108345468B (zh) | 基于树和序列相似度的编程语言代码查重方法 | |
US10452676B2 (en) | Managing database with counting bloom filters | |
CN105589894B (zh) | 文档索引建立方法和装置、文档检索方法和装置 | |
KR102148984B1 (ko) | 데이터 처리 시스템 및 방법 | |
JP2012198832A (ja) | 重複ファイル検出装置 | |
CN104572978A (zh) | 基于日志的电力调度自动化***用户行为统计方法 | |
CN109062936B (zh) | 一种数据查询方法、计算机可读存储介质及终端设备 | |
CN103136244A (zh) | 基于云计算平台的并行数据挖掘方法及*** | |
CN109284340B (zh) | 资源受限智能对象中关系型数据的存储及检索方法 | |
CN100386996C (zh) | 一种阈值表达式解析方法 | |
CN103856365B (zh) | 客户终端接入设备自动测试方法和*** | |
CN102902701B (zh) | 信息查询***及方法 | |
CN106776255A (zh) | 智能电视***的日志提取方法及装置 | |
CN104239236A (zh) | 旁路转换缓冲缺失的处理方法及旁路转换缓冲 | |
CN106776704A (zh) | 统计信息收集方法和装置 | |
US11816245B2 (en) | Method for analysis on interim result data of de-identification procedure, apparatus for the same, computer program for the same, and recording medium storing computer program thereof | |
CN115455040A (zh) | 提高数据库sql查询效率的方法、装置、设备、介质 | |
WO2014061846A1 (ko) | 혼합 질의 처리를 위한 색인 생성 방법, 혼합 질의 처리 방법 및 색인 자료구조를 기록한 기록 매체 | |
CN115630065B (zh) | 一种基于多压缩模式子分区表的存储和查询方法 | |
KR102655234B1 (ko) | 고속 패킷 검색 방법 및 장치 | |
CN111694925B (zh) | 行为数据的处理方法及装置、存储介质、终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080507 Termination date: 20141102 |
|
EXPY | Termination of patent right or utility model |