專利名稱:一種內(nèi)存監(jiān)控的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)通信領(lǐng)域,尤其涉及一種內(nèi)存監(jiān)控的方法和裝置。
背景技術(shù):
目前,計(jì)算機(jī)系統(tǒng)以及一些網(wǎng)絡(luò)設(shè)備的內(nèi)存不管容量有多大,均是有限的,因此有效的應(yīng)用這些內(nèi)存是一個(gè)十分重要的問題。
現(xiàn)有技術(shù)中通常采用的內(nèi)存管理的結(jié)構(gòu)如圖1所示,其中,內(nèi)存管理通常
采用雙層管理的方式,具體包括
第一層管理頁分配器101將物理內(nèi)存切割成一定長度的內(nèi)核內(nèi)存頁,并管理該內(nèi)核內(nèi)存頁,才艮據(jù)申請(qǐng)內(nèi)存的實(shí)體的類別將系統(tǒng)中的內(nèi)存劃分到多個(gè)緩沖池中進(jìn)行管理。
第二層管理Slab分配器102將緩沖池所包含的緩沖區(qū)劃分為多個(gè)Slab(是一種數(shù)據(jù)結(jié)構(gòu)),Slab是由一個(gè)或多個(gè)(2N)連續(xù)頁(頁為內(nèi)存的單元)組成的slab鏈條,另外,每個(gè)slab所包含的多個(gè)連續(xù)頁作為一個(gè)整體被分為多個(gè)對(duì)象單元(也可稱為對(duì)象體)。
有時(shí)候在系統(tǒng)中會(huì)出現(xiàn)內(nèi)存泄露問題,內(nèi)存泄漏并非指內(nèi)存在物理上的消失,而是應(yīng)用程序(即申請(qǐng)和使用內(nèi)存的實(shí)體)在分配某段內(nèi)存后,由于程序設(shè)計(jì)上的錯(cuò)誤,如未設(shè)計(jì)釋放或者是主觀認(rèn)為不必處理等原因,失去了對(duì)該,爻內(nèi)存的控制,因而造成了內(nèi)存的浪費(fèi)。
另外還存在一種"隱式"內(nèi)存泄漏,主要表現(xiàn)為
現(xiàn)象一程序的一個(gè)線程不斷分配內(nèi)存,并將指向內(nèi)存的指針保存在一個(gè)數(shù)據(jù)存儲(chǔ)中(如list),但是在程序運(yùn)行過程中, 一直沒有任何線程進(jìn)行內(nèi)存釋放。當(dāng)程序退出的時(shí)候,該數(shù)據(jù)存儲(chǔ)中的指針值所指向的內(nèi)存塊被依次釋放。
5現(xiàn)象二程序的N個(gè)線程進(jìn)行內(nèi)存分配,并將指針傳遞給一個(gè)數(shù)據(jù)存儲(chǔ),由M個(gè)線程從數(shù)據(jù)存儲(chǔ)進(jìn)行數(shù)據(jù)處理和內(nèi)存釋放。由于N遠(yuǎn)大于M,或者M(jìn)個(gè)線程數(shù)據(jù)處理的時(shí)間過長,導(dǎo)致內(nèi)存分配的速度遠(yuǎn)大于內(nèi)存被釋放的速度。但是在程序退出的時(shí)候,數(shù)據(jù)存儲(chǔ)中的指針值所指向的內(nèi)存塊被依次釋放。如果在使用內(nèi)存的過程中存在上述現(xiàn)象則會(huì)導(dǎo)以下問題問題(l)內(nèi)存泄露通過開發(fā)人員檢查代碼難以分析出來,邏輯上不易判
斷;
問題(2)有時(shí), 一次內(nèi)存泄露僅有很小的幾個(gè)字節(jié),這種情況下,內(nèi)存泄露需要較長時(shí)間的運(yùn)行之后才能夠體現(xiàn)出來。
但無論哪種情況的內(nèi)存泄露,在用戶實(shí)際的網(wǎng)絡(luò)環(huán)境中都會(huì)導(dǎo)致可用內(nèi)存量不斷降低,導(dǎo)致系統(tǒng)最終無法運(yùn)行,系統(tǒng)崩潰。
在現(xiàn)有技術(shù)中有部分網(wǎng)絡(luò)管理工具,如簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(Simple NetworkManger Protocol, SNMP)工具可以對(duì)設(shè)備內(nèi)存進(jìn)行查看,但僅限于產(chǎn)品支持的MIB (Management Information Base ),獲取到的值多凄史為內(nèi)存利用率狀態(tài),如下圖IA所示。
圖1A所顯示的內(nèi)容是通過SNMP工具讀取的內(nèi)存MIB信息,輸出結(jié)果為內(nèi)存利用率,能夠看到內(nèi)存使用的綜合結(jié)果,但是該方法仍存在一些問題,如以下提出的問題(3):
問題(3)該方法不能清晰的確認(rèn)是否已經(jīng)出現(xiàn)了內(nèi)存泄漏等系統(tǒng)資源使用異常問題。
另外,現(xiàn)有技術(shù)中也有一些是使用代碼插樁的檢測(cè)方法,但會(huì)導(dǎo)致系統(tǒng)運(yùn)行性能大大降低;并且該類檢測(cè)方法都形成為大型的商業(yè)軟件,成本代價(jià)較高。
問題(4)目前網(wǎng)絡(luò)設(shè)備系統(tǒng)上提供了一種查看接口,如show memory,但僅是信息的羅列,信息量相對(duì)比較龐大,列出了所有的任務(wù)內(nèi)存使用情況,列出了不同大小字節(jié)類型的使用情況,列出了內(nèi)存不同緩沖池使用情況,不明確,也不直觀。在該類軟件產(chǎn)品測(cè)試過程中,需要不斷的進(jìn)行show memory類內(nèi)存信息查看和比對(duì),其中比對(duì)內(nèi)存包括重點(diǎn)關(guān)注的字節(jié)數(shù)統(tǒng)計(jì)值,各個(gè)重 點(diǎn)功能協(xié)議內(nèi)存利用統(tǒng)計(jì)值,很容易遺漏,觀察面不齊備,難以兼顧,效果不 是很好。
發(fā)明內(nèi)容
本發(fā)明提供一種內(nèi)存監(jiān)控的方法和裝置,用于解決現(xiàn)有技中不能及時(shí)有 效的獲知內(nèi)存泄露顯現(xiàn)的問題。
一種內(nèi)存監(jiān)控的方法,對(duì)使用內(nèi)存的實(shí)體進(jìn)行內(nèi)存使用情況監(jiān)控,待監(jiān)
控實(shí)體的內(nèi)存使用情況數(shù)據(jù)存儲(chǔ)在設(shè)定的存儲(chǔ)單元中,該方法包括
在一個(gè)監(jiān)控周期內(nèi),從所述存儲(chǔ)單元中多次獲取待監(jiān)控實(shí)體的內(nèi)存使用 情況數(shù)據(jù),并將連續(xù)兩次獲取到的內(nèi)存使用情況數(shù)據(jù)進(jìn)行比較;
如果每次得到的比較結(jié)果都是后一次比前一次所述實(shí)體使用內(nèi)存的總 數(shù)多,則確定所述實(shí)體存在內(nèi)存泄露現(xiàn)象。
一種內(nèi)存監(jiān)控的方法,對(duì)使用內(nèi)存的緩沖池進(jìn)行內(nèi)存使用情況監(jiān)控,待 監(jiān)控緩沖池的內(nèi)存使用情況數(shù)據(jù)存儲(chǔ)在設(shè)定的存儲(chǔ)單元中,該方法包括
在一個(gè)監(jiān)控周期內(nèi),從所述存儲(chǔ)單元中多次獲取待監(jiān)控緩沖池的內(nèi)存使 用情況數(shù)據(jù),并將連續(xù)兩次獲取到的內(nèi)存使用情況數(shù)據(jù)進(jìn)行比較;
如果每次得到的比較結(jié)果都是后一次比前一次所述實(shí)體使用內(nèi)存的總 數(shù)多,則確定所述緩沖池存在內(nèi)存泄露現(xiàn)象。
一種內(nèi)存監(jiān)控的裝置,對(duì)使用內(nèi)存的實(shí)體進(jìn)行內(nèi)存使用情況監(jiān)控,包括
抽樣模塊,用于在一個(gè)監(jiān)控周期內(nèi),從存儲(chǔ)內(nèi)存使用情況數(shù)據(jù)的存儲(chǔ)單元 中多次獲取待監(jiān)控實(shí)體的內(nèi)存使用情況數(shù)據(jù);
比較模塊,用于將連續(xù)兩次獲取到的內(nèi)存使用情況數(shù)據(jù)進(jìn)行比較,如果 每次得到的比較結(jié)果都是后一次比前一次所述實(shí)體使用內(nèi)存的總數(shù)多,貝'J 確定所述實(shí)體存在內(nèi)存泄露現(xiàn)象。
一種內(nèi)存監(jiān)控的裝置,對(duì)緩沖池進(jìn)行內(nèi)存使用情況監(jiān)控,包括抽樣模塊,用于在一個(gè)監(jiān)控周期內(nèi),從存儲(chǔ)內(nèi)存使用情況數(shù)據(jù)的存儲(chǔ)單
元中多次獲取待監(jiān)控緩沖池的內(nèi)存使用情況數(shù)據(jù);
比較模塊,用于將連續(xù)兩次獲取到的內(nèi)存使用情況數(shù)據(jù)進(jìn)行比較,如果 每次得到的比較結(jié)果都是后一次比前一次所述緩沖池使用內(nèi)存的總數(shù)多, 則確定所述緩沖池存在內(nèi)存泄露現(xiàn)象。通過本發(fā)明實(shí)施例所提供的方法和 裝置,通過周期性的獲取某個(gè)使用內(nèi)存的實(shí)體的內(nèi)存使用情況數(shù)據(jù),從而 能夠有效監(jiān)控系統(tǒng)內(nèi)存泄露現(xiàn)象,另外,在獲取內(nèi)存使用情況數(shù)據(jù)的同時(shí) 還設(shè)置一定的外部操作,使得抽取到的內(nèi)存使用情況數(shù)據(jù)能夠更為明顯的 體現(xiàn)內(nèi)存泄露問題,因此本發(fā)明實(shí)施例所提供的方法能夠大大縮短內(nèi)存泄 露問題發(fā)現(xiàn)周期。
圖1為現(xiàn)有技術(shù)中內(nèi)存管理的結(jié)構(gòu)圖1A為現(xiàn)有技術(shù)中網(wǎng)絡(luò)管理協(xié)議工具對(duì)設(shè)備內(nèi)存進(jìn)行查看時(shí)的內(nèi)存使用 情況示意圖2為本發(fā)明實(shí)施例一種內(nèi)存監(jiān)控方法的流程圖; 圖2A為本發(fā)明一種內(nèi)存監(jiān)控方法的實(shí)施例1的流程圖; 圖3為本發(fā)明一種內(nèi)存監(jiān)控方法的實(shí)施例2的流程圖; 圖4為現(xiàn)有技術(shù)中利用show pool命令顯示的各緩沖池和實(shí)體對(duì)應(yīng)關(guān)系和 內(nèi)存使用情況示意圖5本發(fā)明實(shí)施例^t是供的一種內(nèi)存監(jiān)控裝置的結(jié)構(gòu)圖6本發(fā)明實(shí)施例針對(duì)實(shí)施例1所提供的一種內(nèi)存監(jiān)控裝置的結(jié)構(gòu)圖。
具體實(shí)施例方式
本發(fā)明實(shí)施例提供一種內(nèi)存監(jiān)控的方法和裝置,對(duì)使用內(nèi)存的實(shí)體進(jìn)行內(nèi) 存使用情況監(jiān)控,待監(jiān)控實(shí)體的內(nèi)存使用情況數(shù)據(jù)存儲(chǔ)在設(shè)定的存儲(chǔ)單元中,所述待監(jiān)控實(shí)體的內(nèi)存使用情況數(shù)據(jù)隨著待監(jiān)控實(shí)體的內(nèi)存使用情況變化,該
方法包括在一個(gè)監(jiān)控周期內(nèi),從所述存儲(chǔ)單元中多次獲取待監(jiān)控實(shí)體的內(nèi)存 使用情況數(shù)據(jù),并將連續(xù)兩次獲取到的內(nèi)存使用情況數(shù)據(jù)進(jìn)行比較;如杲每次 得到的比較結(jié)果都是后一次比前一次所述實(shí)體使用內(nèi)存的總數(shù)多,則確定所述 實(shí)體存在內(nèi)存泄露現(xiàn)象。
如圖2所示,本發(fā)明實(shí)施例一種內(nèi)存監(jiān)控的方法,對(duì)使用內(nèi)存的實(shí)體進(jìn)行 內(nèi)存使用情況監(jiān)控,具體實(shí)現(xiàn)方法包括步驟:
步驟201,在一個(gè)監(jiān)控周期內(nèi),從存儲(chǔ)內(nèi)存使用情況數(shù)據(jù)的存儲(chǔ)單元中 多次獲取待監(jiān)控實(shí)體的內(nèi)存使用情況數(shù)據(jù),所述待監(jiān)控實(shí)體的內(nèi)存使用情 況數(shù)據(jù)隨著待監(jiān)控實(shí)體對(duì)內(nèi)存的使用情況而變化。
步驟202,將連續(xù)兩次獲取到的所述實(shí)體的內(nèi)存使用情況數(shù)據(jù)進(jìn)行比 較,如杲每次得到的比較結(jié)果都是后一次比前一次所述實(shí)體使用內(nèi)存的總 數(shù)多,則確定所述實(shí)體存在內(nèi)存泄露現(xiàn)象。
另外,當(dāng)所述實(shí)體使用內(nèi)存的總數(shù)沒有一直增長時(shí),為了進(jìn)一步的確定 所述實(shí)體是否出現(xiàn)內(nèi)存泄漏現(xiàn)象,該方法還進(jìn)一步包括
步驟203,如果得到的比較結(jié)果是后一次所述實(shí)體使用內(nèi)存的總數(shù)不大 于前一次所述實(shí)體使用內(nèi)存的總數(shù),則將后一次獲取到的內(nèi)存使用情況數(shù) 據(jù)與預(yù)先設(shè)置的實(shí)體使用內(nèi)存的上限進(jìn)行比較,如果比較結(jié)果為所述實(shí)體 使用內(nèi)存的總數(shù)比所述預(yù)先設(shè)置的實(shí)體使用內(nèi)存的上限多,則確定所述實(shí) 體存在內(nèi)存泄露現(xiàn)象。
所述實(shí)體使用內(nèi)存的上限依據(jù)各實(shí)體在實(shí)際環(huán)境運(yùn)行中對(duì)內(nèi)存的申請(qǐng) 數(shù)量、申請(qǐng)頻度和功能重要性動(dòng)態(tài)生成。
如圖3所示,當(dāng)所述內(nèi)存使用情況數(shù)據(jù)標(biāo)示的是被監(jiān)控實(shí)體在多個(gè)緩沖 池中使用內(nèi)存的使用情況時(shí),則在確定所述實(shí)體存在內(nèi)存泄露現(xiàn)象后,本 發(fā)明實(shí)施例還進(jìn)一步包括
步驟204,獲取所述被監(jiān)控實(shí)體在各緩沖池中申請(qǐng)的內(nèi)存的使用情況數(shù)據(jù),并確定存在內(nèi)存泄漏的緩沖池。
實(shí)施例1、如圖2A所示, 一種內(nèi)存監(jiān)控的方法,對(duì)緩沖池進(jìn)行內(nèi)存使用 情況監(jiān)控,具體實(shí)現(xiàn)方法包括步驟
步驟2A01,在一個(gè)監(jiān)控周期內(nèi),從內(nèi)存使用情況數(shù)據(jù)存儲(chǔ)單元中多次 獲取待監(jiān)控緩沖池的內(nèi)存使用情況數(shù)據(jù),內(nèi)存使用情況數(shù)據(jù)存儲(chǔ)單元中保 存有待監(jiān)控緩沖池的內(nèi)存使用情況數(shù)據(jù),所述待監(jiān)控緩沖池的內(nèi)存使用情 況數(shù)據(jù)隨著緩沖池內(nèi)存的使用情況而變化。
步驟2A02,將連續(xù)兩次獲取到的所述緩沖池的內(nèi)存使用情況數(shù)據(jù)進(jìn)行 比較,如果每次得到的比較結(jié)果都是后一次比前一次所述緩沖池使用內(nèi)存 的總數(shù)多,則確定所述緩沖池存在內(nèi)存泄露現(xiàn)象。
另外,當(dāng)所述緩沖池使用內(nèi)存的總數(shù)沒有一直增長時(shí),為了進(jìn)一步的確 定所述緩沖池是否出現(xiàn)內(nèi)存泄漏現(xiàn)象,該方法還進(jìn)一步包括
步驟2A03,如果得到的比較結(jié)果是后一次所述實(shí)體使用內(nèi)存的總數(shù)不 大于前一次所述緩沖池使用內(nèi)存的總數(shù),則將后一次獲取到的內(nèi)存使用情 況數(shù)據(jù)與預(yù)先設(shè)置的緩沖池使用內(nèi)存的上限進(jìn)行比較,如果比較結(jié)果為所 述緩沖池使用內(nèi)存的總數(shù)比所述預(yù)先設(shè)置的緩沖池使用內(nèi)存的上限多,貝'J 確定所述緩沖池存在內(nèi)存泄露現(xiàn)象。
進(jìn)一步,因?yàn)榫彌_池中緩存多個(gè)實(shí)體使用的內(nèi)存,為了進(jìn)一步確定造成 內(nèi)存泄漏的實(shí)體,該實(shí)施例還包括
步驟2A04,確定該緩沖池對(duì)應(yīng)的實(shí)體,在一個(gè)監(jiān)控周期內(nèi),分別從內(nèi) 存使用情況數(shù)據(jù)存儲(chǔ)單元中多次獲取待監(jiān)控實(shí)體的內(nèi)存使用情況數(shù)據(jù)。
步驟2A05,將連續(xù)兩次獲取到的所述實(shí)體的內(nèi)存使用情況數(shù)據(jù)進(jìn)行比 較,如果每次得到的比較結(jié)果都是后一次比前一次所述實(shí)體使用內(nèi)存的總 數(shù)多,則確定所述實(shí)體存在內(nèi)存泄露現(xiàn)象。
另外,當(dāng)所述實(shí)體使用內(nèi)存的總數(shù)沒有一直增長時(shí),為了進(jìn)一步的確定 所述實(shí)體是否出現(xiàn)內(nèi)存泄漏現(xiàn)象,該方法還進(jìn)一步包括
10步驟2A06,如果得到的比較結(jié)果是后一次所述實(shí)體使用內(nèi)存的總數(shù)不 大于前一次所述實(shí)體使用內(nèi)存的總數(shù),則將后一次獲取到的內(nèi)存使用情況 數(shù)據(jù)與預(yù)先設(shè)置的實(shí)體使用內(nèi)存的上限進(jìn)行比較,如果比較結(jié)果為所述實(shí) 體使用內(nèi)存的總數(shù)比所述預(yù)先設(shè)置的實(shí)體使用內(nèi)存的上限多,則確定所述 實(shí)體存在內(nèi)存泄露現(xiàn)象。
實(shí)施例2,如圖3所示,在本發(fā)明實(shí)施例中可以將內(nèi)存使用情況數(shù)據(jù)存儲(chǔ) 于結(jié)構(gòu)體中,所述內(nèi)存使用情況數(shù)據(jù)則用結(jié)構(gòu)體變量值標(biāo)示,而且在本實(shí)施例 中結(jié)構(gòu)體變量值隨實(shí)體使用內(nèi)存總數(shù)的增加而增加,則本發(fā)明實(shí)施例一種內(nèi)存 監(jiān)控的方法,具體包括步驟
步驟301,通過預(yù)先設(shè)置的接口設(shè)置對(duì)象參數(shù)和監(jiān)控參數(shù),其中所述串口 可以是一個(gè)命令行界面(CLI, command-line interface)接口 ;
所述對(duì)象參數(shù)用于在存儲(chǔ)內(nèi)存使用情況數(shù)據(jù)的結(jié)構(gòu)體中定位標(biāo)示所述實(shí) 體內(nèi)存使用情況的結(jié)構(gòu)體變量值,該對(duì)象參數(shù)具體包括被監(jiān)控實(shí)體的名稱(該 實(shí)體申請(qǐng)和使用內(nèi)存)和該實(shí)體申請(qǐng)內(nèi)存的緩沖池。
監(jiān)控參數(shù)包括抽樣周期(指在監(jiān)控過程中抽取內(nèi)存使用數(shù)據(jù)的時(shí)間間隔) 和監(jiān)控周期(指一次監(jiān)控的時(shí)長)等。
在實(shí)際的使用中,通過CLI接口輸入的監(jiān)控參數(shù)具體形式可以是monitor [memory…][OSPF | BGP | LDP | NSM |…][[32 | 64 | 128 | 256…][time] [Long] [Endtime];
其中,monitor-^旨明監(jiān)控的目的,即做什么操作;[memory…]-指明進(jìn) 行監(jiān)控內(nèi)存信息;[OSPF I BGP I LDP | NSM | ...]—此處方括號(hào)內(nèi)部是可選的, 即用于監(jiān)控哪些任務(wù)信息;[[32 I 64 I 128 | 256...]—此處方括號(hào)內(nèi)部是可選的, 指明監(jiān)控哪些緩沖池;[time] [Long] [Endtime]—是時(shí)間參數(shù),用于指明監(jiān)控的 時(shí)間間隔,時(shí)長或者結(jié)束時(shí)間等信息。
步驟302,根據(jù)所述對(duì)象參數(shù)從存儲(chǔ)內(nèi)存使用信息的結(jié)構(gòu)體中獲取內(nèi)存使 用情況的結(jié)構(gòu)體變量值;當(dāng)監(jiān)控對(duì)象是實(shí)體時(shí),獲取的是所述實(shí)體的內(nèi)存使用情況數(shù)據(jù),當(dāng)監(jiān)控對(duì)象是緩沖池時(shí),獲取的是所述緩沖池的內(nèi)存使用情況數(shù)據(jù), 當(dāng)同時(shí)指定了實(shí)體和緩沖池時(shí),獲取的是所述實(shí)體使用所述緩沖池中內(nèi)存的內(nèi) 存使用情況數(shù)據(jù)。
在現(xiàn)有技術(shù)中,因?yàn)榫W(wǎng)絡(luò)設(shè)備的所有內(nèi)存使用數(shù)據(jù)都儲(chǔ)存在系統(tǒng)平臺(tái)的一 個(gè)結(jié)構(gòu)體中,其中,該結(jié)構(gòu)體中保存監(jiān)控實(shí)體的名稱、實(shí)體申請(qǐng)內(nèi)存的緩沖池 的名稱與所述標(biāo)示實(shí)體內(nèi)存使用情況的結(jié)構(gòu)體變量值的對(duì)應(yīng)關(guān)系,所述某個(gè)實(shí) 體(該實(shí)體可以是任務(wù)或者模塊)的內(nèi)存使用情況數(shù)據(jù)則為一個(gè)具體的結(jié)構(gòu)體
顯示接口 (現(xiàn)有技術(shù)中可以通過show pool命令顯示)顯示,顯示的內(nèi)容可以 是如圖4所示的形式
在結(jié)構(gòu)體中的數(shù)據(jù)包括各緩沖池的名字、使用該緩沖池的多個(gè)實(shí)體的名稱 等信息。
這些信息通過結(jié)構(gòu)體進(jìn)行保存,結(jié)構(gòu)體中存儲(chǔ)數(shù)據(jù)的樣式可以是 typedef struct pool—stat_s {
char 任務(wù)名數(shù)組[MAX—TASK][BLOCK—NAME—LEN];
char 緩沖池名數(shù)組[MAX—POOL][CACHE—NAMELEN]; sizej 大小[MAX_POOL][MAX—TASK];
pool—using—t use[MAX—POOL][MAX—TASK]; /*用于保存中間臨
時(shí)變量/
} pool_stat—t;
在對(duì)象參數(shù)中設(shè)定了緩沖池的名稱和使用內(nèi)存的實(shí)體的名稱,所以通過這 兩個(gè)參數(shù)則可從存儲(chǔ)內(nèi)存使用情況數(shù)據(jù)的結(jié)構(gòu)體中獲取標(biāo)示該實(shí)體內(nèi)存使用 情況的結(jié)構(gòu)體變量值,其中,該內(nèi)存使用情況數(shù)據(jù)標(biāo)示該實(shí)體所使用的內(nèi)存大 小。
步驟303,將當(dāng)前獲取到的結(jié)構(gòu)體變量值與保存的結(jié)構(gòu)體變量值進(jìn)行比較,如果當(dāng)前獲取到的結(jié)構(gòu)體變量值大于等于保存的結(jié)構(gòu)體變量值,則應(yīng)用當(dāng)前獲
取的結(jié)構(gòu)體變量值更新保存的內(nèi)存結(jié)構(gòu)體變量值,并轉(zhuǎn)入步驟304,否則轉(zhuǎn)入 步驟306;
步驟304,將比較結(jié)果標(biāo)記為True,并將該比較結(jié)果存儲(chǔ)到預(yù)先設(shè)置的結(jié) 構(gòu)體變量中。
步驟305,判斷監(jiān)控的總時(shí)長是否大于等于預(yù)先設(shè)置的監(jiān)控周期,如果是, 則輸出所述比較結(jié)果,并判定被監(jiān)控的實(shí)體存在內(nèi)存泄露問題,否則在間隔一 個(gè)抽樣周期后執(zhí)行步驟302。
在本發(fā)明實(shí)施例中,將獲取的內(nèi)存使用情況數(shù)據(jù)進(jìn)行比較的具體實(shí)現(xiàn)方式 包括
將獲取到的歷史數(shù)據(jù)進(jìn)行比較時(shí),具體的實(shí)現(xiàn)方式包括
在Tl時(shí)刻獲取表示所述實(shí)體內(nèi)存使用情況的數(shù)據(jù)1,間隔抽樣周期的T2 時(shí)刻獲取表示所述實(shí)體內(nèi)存使用情況的數(shù)據(jù)2,將數(shù)據(jù)1和數(shù)據(jù)2都存儲(chǔ)在結(jié) 構(gòu)體變量中,數(shù)據(jù)1存儲(chǔ)在預(yù)先設(shè)置的的結(jié)構(gòu)體變量大小 [MAX一POOL][MAX一TASK]中,數(shù)據(jù)2可以存儲(chǔ)在結(jié)構(gòu)體變量use [MAX—POOL] [MAX—TASK]中,將大小[MAX—POOL] [MAX—TASK]與use [MAX一POOL][MAX一TASK]進(jìn)行比較,如果
大小[MAX一POOL][MAX_TASK]<= use [MAX一POOL][MAXJTASK]則存 儲(chǔ)比較結(jié)果為True,并將比較結(jié)果存放于BOOL變量中;
在間隔一個(gè)抽樣周期后的T3時(shí)刻獲取表示實(shí)體內(nèi)存使用情況的數(shù)據(jù)3, 這時(shí)將 use [MAX_POOL] [MAX—TASK] 的值給大小 [MAX_POOL][MAX_TASK],將數(shù)據(jù)3存儲(chǔ)到use [MAX_POOL][MAX_TASK] 中,再次將大小[MAX—POOL][MAX—TASK]與use [MAX—POOL][MAX—TASK] 進(jìn)行比較。
如果大小[MAX—POOL][MAX—TASK]>= use [MAX—POOL][MAX—TASK] 則存儲(chǔ)比較結(jié)果為False值,在本發(fā)明實(shí)施例中一旦更新BOOL為False,則終
13止比較。
在本發(fā)明實(shí)施例中確定結(jié)構(gòu)體變量值位置的參數(shù)信息是組合形式,可以根
據(jù)監(jiān)控的需要設(shè)置監(jiān)控的具體信息,本系統(tǒng)則提取上述結(jié)構(gòu)體"stat—s"中的參數(shù) 進(jìn)行分析。如,可以對(duì)5分鐘時(shí)間內(nèi)使用內(nèi)存最多的或前三位的實(shí)體進(jìn)行抽樣 監(jiān)控。
為了在上述方法的基礎(chǔ)上更為準(zhǔn)確的檢測(cè)到內(nèi)存泄露問題,在步驟303中 如果當(dāng)前獲取到的內(nèi)存使用情況數(shù)據(jù)小于保存的內(nèi)存使用情況數(shù)據(jù),本發(fā)明實(shí) 施例還包括
步驟306,結(jié)束抽樣,將當(dāng)前獲取到的標(biāo)示所述實(shí)體內(nèi)存使用情況的結(jié)構(gòu) 體變量值與預(yù)設(shè)的閥值(L)進(jìn)行比較,如果當(dāng)前獲取到的結(jié)構(gòu)體變量值大于 所述閥值(L),則確定所述實(shí)體存在內(nèi)存泄露現(xiàn)象,其中,所述閥值是任一使 用內(nèi)存的實(shí)體所能使用內(nèi)存的上限值。
其中,所述閥值L動(dòng)態(tài)生成,生成辦法是依據(jù)各個(gè)實(shí)體實(shí)際環(huán)境運(yùn)行對(duì)內(nèi) 存的申請(qǐng)多少、申請(qǐng)頻度和模塊的功能重要性等來決定,如OSPF模塊在網(wǎng)絡(luò) 環(huán)境中相對(duì)比較重要,決定數(shù)據(jù)流的轉(zhuǎn)發(fā)行為,1千條路由同時(shí)申請(qǐng)內(nèi)存時(shí)需 要3M內(nèi)存空間,再根據(jù)設(shè)備上形成鄰居數(shù),如5K路由和50鄰居規(guī)模,則這 1千條路由同時(shí)申請(qǐng)約需要20M空間,再將20M空間乘以預(yù)留因子1.1 (可能 還會(huì)有一些其他因素的影響),最終確定為22M;
相同的1K條BGP的vpn4路由則需要約384K ( (128*2+128*鄰居數(shù))*路 由數(shù))內(nèi)存空間,另外1K條BGP的vpn4路由的申請(qǐng)的內(nèi)存空間還受限于設(shè) 備上的虛擬路由轉(zhuǎn)發(fā)(vrf, Virtual Routing Forwarding)實(shí)體數(shù)量,根據(jù) 這些因素計(jì)算網(wǎng)絡(luò)規(guī)模100K需要內(nèi)存約為40M,乘以預(yù)留因子1.1,即定義 為44M。
另外為了能及早的通知用戶系統(tǒng)中出現(xiàn)的內(nèi)存泄露問題,本發(fā)明實(shí)施例還 包括步驟
307,根據(jù)設(shè)定的告警方式和格式對(duì)所述內(nèi)存泄露問題進(jìn)行告警。其中,告警的方式包括以web系統(tǒng)的短消息方式、在網(wǎng)絡(luò)設(shè)備的液晶屏 上進(jìn)行信息告警顯示、通過各控制終端的追蹤(trap )信息以及記錄日志(log ) 的形式等方式??梢赃x擇多個(gè)形式并存的方式進(jìn)行告警。另外在告警信息中可 以給出申請(qǐng)非法或者申請(qǐng)超過預(yù)定閥值,內(nèi)存申請(qǐng)異常,當(dāng)前值是多少等信息。
進(jìn)一步,為了縮短發(fā)現(xiàn)內(nèi)存泄露問題的時(shí)間,本發(fā)明實(shí)施例所提供的方法, 在獲取內(nèi)存使用情況數(shù)據(jù)的時(shí)候,還為該方法的具體實(shí)現(xiàn)提供一定的外部條 件,具體包括
A, 對(duì)于如協(xié)議類ospf任務(wù)的監(jiān)控,在指定的時(shí)間內(nèi),進(jìn)行多次(如10 次)路由的公告和撤銷操作,其中,公告和撤銷的路由數(shù)量可設(shè)置為1K條, 通過上述多次的路由公告和撤銷操作,則使結(jié)構(gòu)體中保存的該任務(wù)的內(nèi)存使用 情況數(shù)據(jù)出現(xiàn)明顯的變化,從而通過上述內(nèi)存監(jiān)控的方法則可觀察到該任務(wù)對(duì) 其占用緩沖池內(nèi)存空間的操作,即內(nèi)存的申請(qǐng)和釋放行為。這種情形下,如果 指定時(shí)間內(nèi)內(nèi)存持續(xù)增加的增量從未減少過,即上述BOOL變量的值一直存儲(chǔ) 的是True,則確定該監(jiān)控對(duì)象出現(xiàn)了內(nèi)存泄露;
B, 對(duì)于如協(xié)議類ospf任務(wù)的監(jiān)控,通過一次性將公告的路由數(shù)量值設(shè)置 到最大,如一次公告100K(設(shè)備容限為IOOK),然后將其撤銷,較短時(shí)間間 隔(如3分鐘),再次進(jìn)行該路由公告,如此反復(fù)多次(如10次),如果BOOL 變量參數(shù)為False,多次操作后實(shí)際占用內(nèi)存空間的增長值大于了預(yù)期閥值L, 則確定ospf任務(wù)出現(xiàn)了內(nèi)存泄露現(xiàn)象。
如圖5所示,根據(jù)上述方法,對(duì)使用內(nèi)存的實(shí)體進(jìn)行內(nèi)存使用情況監(jiān)控, 本發(fā)明實(shí)施例還包括一種內(nèi)存監(jiān)控的裝置,具體包括抽樣模塊501、比較模 塊502,其中,
抽樣模塊501,用于在一個(gè)監(jiān)控周期內(nèi),從存儲(chǔ)內(nèi)存使用情況數(shù)據(jù)的存 儲(chǔ)單元中多次獲取待監(jiān)控實(shí)體的內(nèi)存使用情況數(shù)據(jù),所述待監(jiān)控實(shí)體的內(nèi) 存使用情況數(shù)據(jù)隨著待監(jiān)控實(shí)體的內(nèi)存使用情況變化;
比較模塊502,用于將連續(xù)兩次獲取到的內(nèi)存使用情 數(shù)據(jù)進(jìn)行比較,如果每次得到的比較結(jié)果都是后一次比前一次所述實(shí)體使用內(nèi)存的總數(shù) 多,則確定所述實(shí)體存在內(nèi)存泄露現(xiàn)象。
另外當(dāng)所述實(shí)體使用內(nèi)存的總數(shù)沒有 一直增長時(shí),為了進(jìn)一 步的確定所
述實(shí)體是否出現(xiàn)內(nèi)存泄漏現(xiàn)象,則所述比較模塊502還用于如果得到的比 較結(jié)果是后一次所述實(shí)體使用內(nèi)存的總數(shù)比前一次少,則將后一次獲取到 的內(nèi)存使用情況數(shù)據(jù)與預(yù)先設(shè)置的實(shí)體使用內(nèi)存的上限進(jìn)行比較,如果比 較結(jié)果為后一次所述實(shí)體使用內(nèi)存的總數(shù)比所述實(shí)體使用內(nèi)存的上限多, 則確定所述實(shí)體存在內(nèi)存泄露現(xiàn)象。
為了將系統(tǒng)中的內(nèi)存泄漏問題及時(shí)的告知用戶,本發(fā)明裝置還包括 告警模塊503,用于根據(jù)設(shè)定的告警方式和格式對(duì)所述內(nèi)存泄露現(xiàn)象進(jìn)行 告警。
并且,該告警模塊通過以下方式中的一種或幾種的組合進(jìn)行告警 web系統(tǒng)的短消息方式、在網(wǎng)絡(luò)設(shè)備的液晶屏上進(jìn)行信息告警顯示、通
過各控制終端的追蹤(trap)信息以及記錄日志(log)的形式等方式。
如圖6所示,針對(duì)圖2A所提供的方法本發(fā)明實(shí)施例還提供一種內(nèi)存監(jiān)
控的裝置,對(duì)緩沖池進(jìn)行內(nèi)存使用情況監(jiān)控,該裝置包括抽樣模塊601和比
較模塊602:
抽樣模塊601,用于在一個(gè)監(jiān)控周期內(nèi),從存儲(chǔ)內(nèi)存使用情況數(shù)據(jù)的存 儲(chǔ)單元中多次獲取待監(jiān)控緩沖池的內(nèi)存使用情況數(shù)據(jù);
比較模塊602,用于將連續(xù)兩次獲取到的內(nèi)存使用情況數(shù)據(jù)進(jìn)行比較, 如果每次得到的比較結(jié)果都是后一次比前一次所述緩沖池使用內(nèi)存的總數(shù) 多,則確定所述緩沖池存在內(nèi)存泄露現(xiàn)象。
其中,當(dāng)比較結(jié)杲都是后一次比前一次所述緩沖池使用內(nèi)存的總數(shù)少 時(shí),為了進(jìn)一步的確定該緩沖池是否存在內(nèi)存泄漏現(xiàn)象,所述比較模塊602 還用于將后一次獲取到的內(nèi)存使用情況數(shù)據(jù)與預(yù)先設(shè)置的緩沖池使用內(nèi)存 的上限進(jìn)行比較,如果比較結(jié)果為所述緩沖池使用內(nèi)存的總數(shù)比所述預(yù)先設(shè)置的緩沖池使用內(nèi)存的上限多,則確定所述緩沖池存在內(nèi)存泄露現(xiàn)象。
進(jìn)一步,在確定某個(gè)緩沖池存在內(nèi)存泄漏問題后,需要確定緩沖池中某
個(gè)實(shí)體導(dǎo)致內(nèi)存泄漏現(xiàn)象,則該裝置還包括實(shí)體監(jiān)控模塊603;
所述實(shí)體監(jiān)控模塊603,用于確定該緩沖池對(duì)應(yīng)的多個(gè)實(shí)體,并分別對(duì) 各實(shí)體對(duì)該緩沖池的內(nèi)存使用情況進(jìn)行監(jiān)控;在一個(gè)監(jiān)控周期內(nèi),從存儲(chǔ) 內(nèi)存使用情況數(shù)據(jù)的存儲(chǔ)單元中多次獲取各實(shí)體對(duì)應(yīng)該緩沖池的內(nèi)存使用 情況數(shù)據(jù),并將各實(shí)體連續(xù)兩次獲取到的內(nèi)存使用情況數(shù)據(jù)進(jìn)行比較;如 果其中有實(shí)體每次得到的比較結(jié)果都是后一次比前一次使用內(nèi)存的總數(shù) 多,則確定所述實(shí)體存在內(nèi)存泄露現(xiàn)象。
通過本發(fā)明實(shí)施例所提供的方法和裝置,周期性的獲取某個(gè)使用內(nèi)存的實(shí) 體的內(nèi)存使用情況數(shù)據(jù),從而能夠有效監(jiān)控系統(tǒng)內(nèi)存泄露現(xiàn)象,另外,在獲取 內(nèi)存使用情況數(shù)據(jù)的同時(shí)還設(shè)置一定的外部操作,使得抽取到的內(nèi)存使用情況 數(shù)據(jù)能夠更為明顯的體現(xiàn)內(nèi)存泄露問題,因此本發(fā)明實(shí)施例所提供的方法能夠 大大縮短內(nèi)存泄露問題發(fā)現(xiàn)周期。
因?yàn)楸景l(fā)明實(shí)施例所提供的方法是預(yù)先確定監(jiān)控的實(shí)體,所以在確定出現(xiàn) 內(nèi)存泄露問題則可直接定位到造成內(nèi)存泄露的模塊。
本發(fā)明實(shí)施例還提供監(jiān)控緩沖池內(nèi)存使用情況的方法和裝置,用戶可以從 不同的途徑監(jiān)控內(nèi)存系統(tǒng)中出現(xiàn)的內(nèi)存泄漏問題。
另外本方法不需要借助外部測(cè)試設(shè)備,由被測(cè)設(shè)備系統(tǒng)實(shí)現(xiàn),成本較低; 能夠及時(shí)、直觀、形象輸出系統(tǒng)哪些任務(wù)模塊、哪些字節(jié)等出現(xiàn)了內(nèi)存泄露, 還能夠監(jiān)控和發(fā)現(xiàn)內(nèi)存使用不合理的模塊。
員根據(jù)本發(fā)明的技術(shù)方案得出其它的實(shí)施方式,同樣屬于本發(fā)明的技術(shù)創(chuàng)新范
明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及 其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1、一種內(nèi)存監(jiān)控的方法,對(duì)使用內(nèi)存的實(shí)體進(jìn)行內(nèi)存使用情況監(jiān)控,其特征在于,待監(jiān)控實(shí)體的內(nèi)存使用情況數(shù)據(jù)存儲(chǔ)在設(shè)定的存儲(chǔ)單元中,該方法包括在一個(gè)監(jiān)控周期內(nèi),從所述存儲(chǔ)單元中多次獲取待監(jiān)控實(shí)體的內(nèi)存使用情況數(shù)據(jù),并將連續(xù)兩次獲取到的內(nèi)存使用情況數(shù)據(jù)進(jìn)行比較;如果每次得到的比較結(jié)果都是后一次比前一次所述實(shí)體使用內(nèi)存的總數(shù)多,則確定所述實(shí)體存在內(nèi)存泄露現(xiàn)象。
2、 如權(quán)利要求l所述的方法,其特征在于,如果得到的比較結(jié)果是后 一次所述實(shí)體使用內(nèi)存的總數(shù)不大于前一次所述實(shí)體使用內(nèi)存的總數(shù),則 該方法進(jìn)一步包括將后 一次獲取到的內(nèi)存使用情況數(shù)據(jù)與預(yù)先設(shè)置的實(shí)體使用內(nèi)存的上 限進(jìn)行比較,如果比較結(jié)果為所述實(shí)體使用內(nèi)存的總數(shù)比所述預(yù)先設(shè)置的 實(shí)體使用內(nèi)存的上限多,則確定所述實(shí)體存在內(nèi)存泄露現(xiàn)象。
3、 如權(quán)利要求1 2任一權(quán)項(xiàng)所述的方法,其特征在于,在確定所述實(shí)體 存在內(nèi)存泄露現(xiàn)象之后,進(jìn)一步包括根據(jù)設(shè)定的告警方式和格式對(duì)所述內(nèi)存泄露現(xiàn)象進(jìn)行告警。
4、 如權(quán)利要求1 2任一權(quán)項(xiàng)所述的方法,其特征在于,當(dāng)所述內(nèi)存使 用情況數(shù)據(jù)標(biāo)示的是被監(jiān)控實(shí)體在多個(gè)緩沖池中申請(qǐng)的內(nèi)存的使用情況 時(shí),則在確定所述實(shí)體存在內(nèi)存泄露現(xiàn)象后進(jìn)一步包括分別獲取所述被監(jiān)控實(shí)體在所述多個(gè)緩沖池中申請(qǐng)的內(nèi)存的使用情況 數(shù)據(jù),并根據(jù)該使用情況數(shù)據(jù)確定存在內(nèi)存泄漏的緩沖池。
5、 一種內(nèi)存監(jiān)控的方法,對(duì)緩沖池進(jìn)行內(nèi)存使用情況監(jiān)控,其特征在于, 待監(jiān)控緩沖池的內(nèi)存使用情況數(shù)據(jù)存儲(chǔ)在設(shè)定的存儲(chǔ)單元中,該方法包括在一個(gè)監(jiān)控周期內(nèi),從所述存儲(chǔ)單元中多次獲取待監(jiān)控緩沖池的內(nèi)存使 用情況數(shù)據(jù),并將連續(xù)兩次獲取到的內(nèi)存使用情況數(shù)據(jù)進(jìn)行比較;如果每次得到的比較結(jié)果都是后一次比前一次所述實(shí)體使用內(nèi)存的總 數(shù)多,則確定所述緩沖池存在內(nèi)存泄露現(xiàn)象。
6、 如權(quán)利要求5所述的方法,其特征在于,如果得到的比較結(jié)果是后 一次所述緩沖池使用內(nèi)存的總數(shù)不大于前一次所述緩沖池使用內(nèi)存的總 數(shù),則該方法進(jìn)一步包括將后 一次獲取到的內(nèi)存使用情況數(shù)據(jù)與預(yù)先設(shè)置的緩沖池使用內(nèi)存的 上限進(jìn)行比較,如果比較結(jié)果為所述緩沖池使用內(nèi)存的總數(shù)比所述預(yù)先設(shè) 置的緩沖池使用內(nèi)存的上限多,則確定所述緩沖池存在內(nèi)存泄露現(xiàn)象。
7、 如權(quán)利要求5或6任一權(quán)項(xiàng)所述的方法,其特征在于,所述緩沖池 中緩存多個(gè)實(shí)體使用的內(nèi)存,則該方法進(jìn)一步包括確定該緩沖池對(duì)應(yīng)的多個(gè)實(shí)體,并分別對(duì)各實(shí)體對(duì)該緩沖池的內(nèi)存使用 情況進(jìn)行監(jiān)控;在一個(gè)監(jiān)控周期內(nèi),從存儲(chǔ)內(nèi)存使用情況數(shù)據(jù)的存儲(chǔ)單元中多次獲取各 實(shí)體對(duì)應(yīng)該緩沖池的內(nèi)存使用情況數(shù)據(jù),并將各實(shí)體連續(xù)兩次獲取到的內(nèi) 存使用情況數(shù)據(jù)進(jìn)行比較;如果其中有實(shí)體每次得到的比較結(jié)果都是后一次比前一次使用內(nèi)存的總數(shù)多,則確定所述實(shí)體存在內(nèi)存泄露現(xiàn)象。
8、 一種內(nèi)存監(jiān)控的裝置,對(duì)使用內(nèi)存的實(shí)體進(jìn)行內(nèi)存使用情況監(jiān)控,其 特征在于,包括抽樣模塊,用于在一個(gè)監(jiān)控周期內(nèi),從存儲(chǔ)內(nèi)存使用情況數(shù)據(jù)的存儲(chǔ)單元 中多次獲取待監(jiān)控實(shí)體的內(nèi)存使用情況數(shù)據(jù);比較模塊,用于將連續(xù)兩次獲取到的內(nèi)存使用情況數(shù)據(jù)進(jìn)行比較,如果 每次得到的比較結(jié)果都是后一次比前一次所述實(shí)體使用內(nèi)存的總數(shù)多,則 確定所述實(shí)體存在內(nèi)存泄露現(xiàn)象。
9、 如權(quán)利要求IO所述的裝置,其特征在于,所述比較模塊用于如果得 到的比較結(jié)果是后一次所述實(shí)體使用內(nèi)存的總數(shù)比前一次少,則將后一次獲取到的內(nèi)存使用情況數(shù)據(jù)與預(yù)先設(shè)置的實(shí)體使用內(nèi)存的上限進(jìn)行比較, 如果比較結(jié)果為后一次所述實(shí)體使用內(nèi)存的總數(shù)比所述實(shí)體使用內(nèi)存的上 限多,則確定所述實(shí)體存在內(nèi)存泄露現(xiàn)象。
10、 如權(quán)利要求8或9所述的裝置,其特征在于,該裝置還包括 告警模塊,用于根據(jù)設(shè)定的告警方式和格式對(duì)所述內(nèi)存泄露現(xiàn)象進(jìn)行告警。
11、 一種內(nèi)存監(jiān)控的裝置,對(duì)緩沖池進(jìn)行內(nèi)存使用情況監(jiān)控,其特征在 于,包括抽樣模塊,用于在一個(gè)監(jiān)控周期內(nèi),從存儲(chǔ)內(nèi)存使用情況數(shù)據(jù)的存儲(chǔ)單 元中多次獲取待監(jiān)控緩沖池的內(nèi)存使用情況數(shù)據(jù);比較模塊,用于將連續(xù)兩次獲取到的內(nèi)存使用情況數(shù)據(jù)進(jìn)行比較,如果 每次得到的比較結(jié)果都是后一次比前一次所述緩沖池使用內(nèi)存的總數(shù)多, 則確定所述緩沖池存在內(nèi)存泄露現(xiàn)象。
全文摘要
本發(fā)明公開了一種內(nèi)存監(jiān)控的方法和裝置,對(duì)使用內(nèi)存的實(shí)體進(jìn)行內(nèi)存使用情況監(jiān)控,內(nèi)存使用情況數(shù)據(jù)存儲(chǔ)單元中保存有待監(jiān)控實(shí)體的內(nèi)存使用情況數(shù)據(jù),所述待監(jiān)控實(shí)體的內(nèi)存使用情況數(shù)據(jù)隨著待監(jiān)控實(shí)體的內(nèi)存使用情況變化,該方法包括在一個(gè)監(jiān)控周期內(nèi),從所述內(nèi)存使用情況數(shù)據(jù)存儲(chǔ)單元中多次獲取所述待監(jiān)控實(shí)體的內(nèi)存使用情況數(shù)據(jù),并將連續(xù)兩次獲取到的內(nèi)存使用情況數(shù)據(jù)進(jìn)行比較;如果每次得到的比較結(jié)果都是后一次比前一次所述實(shí)體使用內(nèi)存的總數(shù)多,則確定所述實(shí)體存在內(nèi)存泄露現(xiàn)象。利用本發(fā)明所提供的方法和裝置能夠及時(shí)的發(fā)現(xiàn)系統(tǒng)中不易察覺的內(nèi)存泄漏問題。
文檔編號(hào)G06F11/36GK101599048SQ20091014677
公開日2009年12月9日 申請(qǐng)日期2009年7月1日 優(yōu)先權(quán)日2009年7月1日
發(fā)明者張明振, 李炳泉, 陳佑建 申請(qǐng)人:福建星網(wǎng)銳捷網(wǎng)絡(luò)有限公司