專利名稱:一種閾值表達式解析方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)管理系統(tǒng)(NMS)技術(shù),尤其涉及一種NMS中的閾值表達解析方法。
背景技術(shù):
顧名思義,NMS的作用在于對網(wǎng)絡(luò)設(shè)備、網(wǎng)絡(luò)線路等進行管理。通過網(wǎng)絡(luò)管理系統(tǒng),能夠大幅度增加網(wǎng)絡(luò)的可用時間,提高網(wǎng)絡(luò)單元的利用率、網(wǎng)絡(luò)性能、服務(wù)質(zhì)量、安全性和經(jīng)濟效益,簡化多制式、多廠商混合網(wǎng)絡(luò)環(huán)境下的管理和降低控制網(wǎng)絡(luò)運行成本,并提供網(wǎng)絡(luò)規(guī)劃的依據(jù)。
在網(wǎng)絡(luò)運行過程中,各個網(wǎng)元的性能數(shù)據(jù)均具有與自身相關(guān)的性能閾值。具體而言,性能閾值是指用戶為了特定的測量對象(MO)而設(shè)定的以邏輯表達式方式出現(xiàn)的邊界條件。通常,該邏輯表達式被稱為閾值表達式,其中的元素包括諸如端口流量、丟包個數(shù)等被稱為測量本體(ME)的監(jiān)控屬性,例如ME1+ME3<ME5。以表達式形式存在的性能閾值由NMS的核心部分——集成性能管理系統(tǒng)(IPMS)保存,并通過用戶界面進行顯示。IPMS根據(jù)網(wǎng)絡(luò)中各ME的實際狀態(tài)與性能閾值之間的關(guān)系,即網(wǎng)絡(luò)中是否出現(xiàn)滿足閾值表達式的情況,決定向告警管理系統(tǒng)發(fā)送告警或者通知告警管理系統(tǒng)恢復(fù)已發(fā)送過的告警。
如表1所示,為了確定是否滿足閾值表達式,IPMS將從各個網(wǎng)元中采集的一批性能數(shù)據(jù)及其對應(yīng)的測量對象標(biāo)識(MOID)組成采集數(shù)據(jù)報告,并以堆棧的形式保存。
表1
其中ME1至ME10為代表各種監(jiān)控屬性的ME的名稱,每個ME名稱都具有對應(yīng)的數(shù)值。
在確定是否滿足閾值表達式時,將堆棧中的性能數(shù)據(jù)代入到閾值表達式中,進行判斷,這一過程也被稱為閾值表達式的解析。
如圖1所示,現(xiàn)有的閾值表達式解析方法包括以下步驟步驟101.將閾值表達式從中序表達式方式轉(zhuǎn)換為后序表達式方式。
閾值表達式在初始制定時,通常采用運算符號位于操作數(shù)中間的中序表達式方式,例如ME1+ME3<ME5,可讀性較強。但是,為了便于從堆棧中取出性能數(shù)據(jù),從而加快閾值表達式的解析速度,則在進行閾值表達式解析時,通常將中序表達式方式表示的閾值表達式轉(zhuǎn)換為運算符號位于操作數(shù)之后的后序表達式方式,例如ME1ME3+ME5<,并且該后序表達式所代表的邏輯含義等同于中序表達式。
步驟102.從采集數(shù)據(jù)報告中讀取第一個ME名稱。
由于現(xiàn)有的閾值表達式解析方法是將采集數(shù)據(jù)報告中的數(shù)據(jù)逐一取出,與閾值表達式進行比較,則在該解析過程的開始階段,對采集數(shù)據(jù)報告中的第一個ME名稱進行處理。
步驟103.將讀取到的ME名稱作為當(dāng)前ME名稱。
以表1所示的采集數(shù)據(jù)報告為例,經(jīng)過步驟102和103,ME1被讀取出來,并作為當(dāng)前ME名稱。
步驟104~106.將當(dāng)前ME名稱與閾值表達式中的元素相比較,并判斷閾值表達式中是否存在與當(dāng)前ME名稱相同的元素,如果是,則將當(dāng)前ME名稱對應(yīng)的數(shù)值代入到閾值表達式中;否則,直接執(zhí)行步驟107。
以閾值表達式為ME1ME3+ME5<時為例,在當(dāng)前ME名稱為ME1時,由于該閾值表達式中的元素包含ME1,因此,判定該閾值表達式中存在與當(dāng)前ME名稱相同的元素。
而后,從采集數(shù)據(jù)報告中與ME1對應(yīng)的數(shù)值,即23,代入到ME1ME3+ME5<中,替代該閾值表達式中的ME1,則此時的閾值表達式變?yōu)?3ME3+ME5<。
步驟107~109.判斷當(dāng)前ME名稱是否為采集數(shù)據(jù)報告中的尾記錄,如果是,則確定閾值表達式解析結(jié)果,并結(jié)束本閾值表達式解析流程;否則,讀取下一個ME名稱,并返回執(zhí)行步驟103。
在當(dāng)前ME名稱為采集數(shù)據(jù)報告中的尾記錄時,表明已經(jīng)將采集數(shù)據(jù)報告中的全部ME名稱與閾值表達式進行過比較,即閾值表達式中的各個元素均已采用數(shù)據(jù)采集報告中的性能數(shù)據(jù)進行替換,則能夠確定表明是否滿足該閾值表達式的解析結(jié)果。仍以表1所示的采集數(shù)據(jù)報告為例,當(dāng)閾值表達式為ME1ME3+ME5<時,經(jīng)過上述各步驟,該閾值表達式變?yōu)?365+74<,即23+65<74,由此可見,不滿足該閾值表達式的條件,則將解析結(jié)果確定為不滿足。
至此,完成了現(xiàn)有的閾值表達式解析流程。
雖然上述閾值表達式解析方法能夠利用IPMS中的數(shù)據(jù)采集報告,對閾值表達式進行解析,確定網(wǎng)絡(luò)中的實際情況是否滿足閾值表達式所代表的邊界條件。當(dāng)時,該方法存在以下缺點1.現(xiàn)有的閾值表達式解析方法中,每次解析都要將IPMS中的閾值表達式從中序表達式方式轉(zhuǎn)換為后序表達式方式,解析過程較為復(fù)雜,速度不高;2.在現(xiàn)有的閾值表達式解析方法中,對采集數(shù)據(jù)報告中的所有性能數(shù)據(jù)都執(zhí)行一次由讀取到轉(zhuǎn)向下一個性能數(shù)據(jù)的過程,即執(zhí)行循環(huán)的次數(shù)與性能數(shù)據(jù)的個數(shù)相同,則當(dāng)采集數(shù)據(jù)報告中包含的數(shù)據(jù)量較大時,完成解析表達式的時間較長。
因此,現(xiàn)有的閾值表達式解析方法的解析速度較慢。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提供一種閾值表達式解析方法,提高解析速度。
為實現(xiàn)上述目的,本發(fā)明提供了一種閾值表達式解析方法,預(yù)先存儲閾值表達式,并建立保存有采集數(shù)據(jù)報告中測量本體ME名稱與數(shù)值的對應(yīng)關(guān)系的Map,該方法包括以下步驟A.讀取存儲的閾值表達式;B.將閾值表達式中的ME名稱逐一取出,以取出的ME名稱為索引,在所述Map中查找所述ME名稱對應(yīng)的數(shù)值,并用查找到的數(shù)值替換閾值表達式中對應(yīng)的ME名稱;C.根據(jù)替換后的閾值表達式,將閾值表達式的解析結(jié)果確定為真或者假。
其中,所述預(yù)先存儲閾值表達式的方法為將轉(zhuǎn)換成后序表達式方式的閾值表達式以堆棧形式保存在內(nèi)存中;步驟A所述讀取存儲的閾值表達式的方法為讀取所存儲的以后序表達式方式表示的閾值表達式。
其中,所述將采集數(shù)據(jù)報告保存在Map中的方法為將采集數(shù)據(jù)報告中的ME名稱作為所述Map中元素單元的關(guān)鍵字,將ME名稱對應(yīng)的數(shù)值作為所述Map中元素單元的元素值。
其中,所述步驟B包括B1.從閾值表達式中讀取一個ME名稱,并將讀取到的ME名稱作為當(dāng)前ME名稱;B2.以當(dāng)前ME名稱為索引,在所述Map中檢索并提取當(dāng)前ME名稱對應(yīng)的數(shù)值,并將提取出來的數(shù)值代入到閾值表達式中,替代當(dāng)前ME名稱;B3.判斷閾值表達式中是否存在ME名稱,如果是,則返回執(zhí)行步驟B1,否則,執(zhí)行步驟C。
其中,步驟B2所述檢索并提取當(dāng)前ME名稱對應(yīng)的數(shù)值的方法為在所述Map中檢索關(guān)鍵字與當(dāng)前ME名稱相同的元素單元,將檢索到的元素單元中的元素值作為當(dāng)前ME名稱對應(yīng)的數(shù)值提取出來。
其中,步驟C所述將閾值表達式的解析結(jié)果確定為真或者假的方法為如果替換后的閾值表達式中各元素按照該閾值表達式中的運算規(guī)則運算后,符合該閾值表達式的邏輯關(guān)系,則將閾值表達式的解析結(jié)果確定為真;否則,將閾值表達式的解析結(jié)果確定為假。
應(yīng)用本發(fā)明,能夠提高閾值表達式解析的速度。具體而言,本發(fā)明具有如下有益效果1.本發(fā)明在進行表達式解析之前將閾值表達式轉(zhuǎn)換為后序表達式方式,并以堆棧的形式存儲在內(nèi)存中,則在表達式解析過程中直接從內(nèi)存中讀取后序表達式方式的閾值表達式,而無需在每次解析時都執(zhí)行一次轉(zhuǎn)換操作,簡化解析過程,縮短解析時間,提高表達式解析的速度。
2.本發(fā)明每次將閾值表達式中的一個ME名稱替換為對應(yīng)的數(shù)值,則執(zhí)行數(shù)值替換操作的次數(shù)等于閾值表達式中的ME名稱個數(shù),而與采集數(shù)據(jù)報告中的數(shù)據(jù)量無關(guān),因此即使采集數(shù)據(jù)報告中包含的數(shù)據(jù)量較大,完成解析表達式的時間也不會變長。
3.本發(fā)明采用Map保存采集數(shù)據(jù)報告,由于Map具有快速查找的特性,因此每個ME名稱從被讀取到替換為對應(yīng)的數(shù)值所花費的時間大大縮短,有效的提高了表達式解析的效率。
圖1為現(xiàn)有的閾值表達式解析方法的流程圖。
圖2為本發(fā)明實施例中閾值表達式解析方法的流程圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明做進一步的詳細(xì)說明。
本發(fā)明為一種NMS中的閾值表達式解析方法,預(yù)先將閾值表達式從中序表達式方式轉(zhuǎn)換為后序表達式方式,以堆棧形式存儲在IPMS的內(nèi)存中,預(yù)先將采集數(shù)據(jù)報告保存在Map中,其基本思想包括A.從IPMS的內(nèi)存中讀取采用后序表達式方式表示的閾值表達式;B.將閾值表達式中的ME名稱逐一取出,以取出的ME名稱為索引,
③事件層的真品的性質(zhì)和用途代碼表是根據(jù)所預(yù)留的至少6位區(qū)段代碼,按照現(xiàn)有的需求真品身份認(rèn)證的事件歸類對應(yīng)列表,空余代碼位隨機補缺??蓞⒄障卤?
表3如圖2所示,本實施例的閾值表達式解析方法包括以下步驟步驟201.從內(nèi)存中讀取閾值表達式。
由于本實施例預(yù)先將閾值表達式轉(zhuǎn)換為后序表達式方式并進行了存儲,則本步驟中直接從內(nèi)存讀取出以后序表達式方式表示的閾值表達式,例如ME1ME3+ME5<。這樣,本實施例省去了現(xiàn)有技術(shù)中轉(zhuǎn)換閾值表達式的操作。
步驟202從閾值表達式中讀取一個ME名稱,并將讀取到的ME名稱作為當(dāng)前ME名稱。
為了進行后續(xù)步驟中的閾值表達式解析,本步驟從以后序表達式方式表示的閾值表達式中讀取一個ME名稱。例如閾值表達式為ME1ME3+ME5<時,本步驟中讀取出來的當(dāng)前ME名稱可以為ME1、ME3或者ME5。
步驟203~204.以當(dāng)前ME名稱為索引,在保存采集數(shù)據(jù)報告的Map中檢索當(dāng)前ME名稱對應(yīng)的數(shù)值;而后將檢索到的數(shù)值代入到閾值表達式中,替代當(dāng)前ME名稱。
本步驟利用Map的快速查找功能,將當(dāng)前ME名稱作為索引,在Map中查找關(guān)鍵字與當(dāng)前ME名稱相同的元素單元。在找到該元素單元之后,將其中的元素值提取出來,作為當(dāng)前ME名稱對應(yīng)的數(shù)值,并利用該數(shù)值將閾值表達式中的當(dāng)前ME名稱替換掉,即閾值表達式中當(dāng)前ME名稱所處的位置表為檢索出來的數(shù)值。例如閾值表達式為ME1ME3+ME5<,當(dāng)前ME名稱為ME3,經(jīng)過檢索,從表3所示的Map中找到當(dāng)前ME名稱對應(yīng)的數(shù)值為65,則此時的閾值表達式為ME165+ME5<。
步驟205~206.判斷閾值表達式中是否存在ME名稱,如果是,返回執(zhí)行步驟202;否則,確定閾值表達式解析結(jié)果。
本處判斷閾值表達式中是否存在ME名稱的目的在于,確定閾值表達式中的元素是否全部為數(shù)值,即是否能夠?qū)﹂撝当磉_式進行運算,以便確定解析結(jié)果。當(dāng)閾值表達式中仍然存在ME名稱時,則返回到步驟202,繼續(xù)對閾值表達式中的ME名稱進行替換;當(dāng)閾值表達式中的全部元素均為數(shù)值時,則對按照后序表達式的邏輯運算規(guī)則,將該閾值表達式的解析結(jié)果確定為真(True)或者假(False)。具體而言,確定解析結(jié)果的方法為如果替換后的閾值表達式中各元素按照該閾值表達式中的運算規(guī)則運算后,符合該閾值表達式的邏輯關(guān)系,則將閾值表達式的解析結(jié)果確定為真;否則,將閾值表達式的解析結(jié)果確定為假。例如閾值表達式為ME1ME3+ME5<,保存采集數(shù)據(jù)報告的Map如表3所示,則經(jīng)過檢索替換后變?yōu)?365+74<,由于23+65等于88,不小于74,因此上述數(shù)值不滿足該閾值表達式的邏輯關(guān)系,則解析結(jié)果為False。
至此,完成了本實施例的閾值表達式解析流程。
從上述各個步驟可見,本實施例中的閾值表達式解析方法預(yù)先將閾值表達式轉(zhuǎn)換為采用后序表達式方式表示,并在放入堆棧后進行存儲,則每次進行閾值表達式解析時,只需從IPMS的內(nèi)存中讀取該轉(zhuǎn)換后的閾值表達式即可,無需執(zhí)行轉(zhuǎn)換操作,簡化步驟、節(jié)省時間。
另外,本實施例中采用具有快速查找功能的Map保存包含ME名稱及其對應(yīng)的數(shù)值的采集數(shù)據(jù)報告,在利用數(shù)值進行閾值表達式替換時,以閾值表達式中的ME名稱為索引,在Map中查找具有與閾值表達式中的ME名稱相同的關(guān)鍵字的元素單元,并從中提取出元素值,替換閾值表達式中對應(yīng)的ME名稱,則無需對采集數(shù)據(jù)報告中的ME名稱都執(zhí)行與閾值表達式比較的操作,又由于在Map中執(zhí)行查找的時間較堆棧操作而言大大縮短,因此即使在采集數(shù)據(jù)報告中包含大量性能數(shù)據(jù)的情況下,也能夠快速高效的完成閾值表達式的解析。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種表達式解析方法,其特征在于,預(yù)先存儲閾值表達式,并建立保存有采集數(shù)據(jù)報告中測量本體ME名稱與數(shù)值的對應(yīng)關(guān)系的Map,該方法包括以下步驟A.讀取存儲的閾值表達式;B.將閾值表達式中的ME名稱逐一取出,以取出的ME名稱為索引,在所述Map中查找所述ME名稱對應(yīng)的數(shù)值,并用查找到的數(shù)值替換閾值表達式中對應(yīng)的ME名稱;C.根據(jù)替換后的閾值表達式,將閾值表達式的解析結(jié)果確定為真或者假。
2.如權(quán)利要求1所述的方法,其特征在于,所述預(yù)先存儲閾值表達式的方法為將轉(zhuǎn)換成后序表達式方式的閾值表達式以堆棧形式保存在內(nèi)存中;步驟A所述讀取存儲的閾值表達式的方法為讀取所存儲的以后序表達式方式表示的閾值表達式。
3.如權(quán)利要求1或2所述的方法,其特征在于,所述將采集數(shù)據(jù)報告保存在Map中的方法為將采集數(shù)據(jù)報告中的ME名稱作為所述Map中元素單元的關(guān)鍵字,將ME名稱對應(yīng)的數(shù)值作為所述Map中元素單元的元素值。
4.如權(quán)利要求3所述的方法,其特征在于,所述步驟B包括B1.從閾值表達式中讀取一個ME名稱,并將讀取到的ME名稱作為當(dāng)前ME名稱;B2.以當(dāng)前ME名稱為索引,在所述Map中檢索并提取當(dāng)前ME名稱對應(yīng)的數(shù)值,并將提取出來的數(shù)值代入到閾值表達式中,替代當(dāng)前ME名稱;B3.判斷閾值表達式中是否存在ME名稱,如果是,則返回執(zhí)行步驟B1,否則,執(zhí)行步驟C。
5.如權(quán)利要求4所述的方法,其特征在于,步驟B2所述檢索并提取當(dāng)前ME名稱對應(yīng)的數(shù)值的方法為在所述Map中檢索關(guān)鍵字與當(dāng)前ME名稱相同的元素單元,將檢索到的元素單元中的元素值作為當(dāng)前ME名稱對應(yīng)的數(shù)值提取出來。
6.如權(quán)利要求1或2所述的方法,其特征在于,步驟C所述將閾值表達式的解析結(jié)果確定為真或者假的方法為如果替換后的閾值表達式中各元素按照該閾值表達式中的運算規(guī)則運算后,符合該閾值表達式的邏輯關(guān)系,則將閾值表達式的解析結(jié)果確定為真;否則,將閾值表達式的解析結(jié)果確定為假。
全文摘要
本發(fā)明公開了一種表達式解析方法,預(yù)先存儲閾值表達式,并建立保存有采集數(shù)據(jù)報告中測量本體ME名稱與數(shù)值的對應(yīng)關(guān)系的Map,該方法包括以下步驟A.讀取存儲的閾值表達式;B.將閾值表達式中的測量本體ME名稱逐一取出,以取出的ME名稱為索引,在所述Map中查找ME名稱對應(yīng)的數(shù)值,并用查找到的數(shù)值替換閾值表達式中對應(yīng)的ME名稱;C.根據(jù)替換后的閾值表達式,將閾值表達式的解析結(jié)果確定為真或者假。本發(fā)明能夠提高表達式解析的速度。
文檔編號H04L12/24GK1852157SQ20051011750
公開日2006年10月25日 申請日期2005年11月2日 優(yōu)先權(quán)日2005年11月2日
發(fā)明者萊密斯, 古步山 申請人:華為技術(shù)有限公司