亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種用于網(wǎng)絡(luò)處理器的數(shù)據(jù)老化方法

文檔序號(hào):6368961閱讀:153來源:國知局
專利名稱:一種用于網(wǎng)絡(luò)處理器的數(shù)據(jù)老化方法
技術(shù)領(lǐng)域
本發(fā)明涉及存儲(chǔ)器中所存儲(chǔ)數(shù)據(jù)的更新方法,尤其是基于網(wǎng)絡(luò)處理器(NP)的數(shù)據(jù)更新方法。
背景技術(shù)
對(duì)于存儲(chǔ)在存儲(chǔ)器中的數(shù)據(jù)來說,由于利用率的不同,通常需要對(duì)這些數(shù)據(jù)進(jìn)行老化處理,即及時(shí)刪除長期不用的數(shù)據(jù),以節(jié)省存儲(chǔ)資源存儲(chǔ)利用率高的數(shù)據(jù)。例如,對(duì)于存儲(chǔ)在網(wǎng)絡(luò)處理器(NP)中的數(shù)據(jù)表來說,它在NP內(nèi)存中所分配的資源是有限的,怎樣合理利用數(shù)據(jù)表項(xiàng)資源、最大可能的存儲(chǔ)有用的信息、刪除無用信息、提高內(nèi)存的利用率?是數(shù)據(jù)表管理中的一個(gè)重要問題。以網(wǎng)絡(luò)交換設(shè)備中的二層媒體訪問控制(Mac)轉(zhuǎn)發(fā)表來舉例,該表的內(nèi)容為不斷學(xué)習(xí)得到的來自源端口的Mac地址信息。因此,對(duì)于Mac轉(zhuǎn)發(fā)表來說,不論分配到多大的內(nèi)存資源都會(huì)有充滿的時(shí)候,一旦表項(xiàng)資源被用光,新的Mac轉(zhuǎn)發(fā)信息就沒辦法記錄下來。此時(shí),Mac轉(zhuǎn)發(fā)表的表項(xiàng)中塞滿了大量過去學(xué)習(xí)到的Mac信息,這些信息中大部分信息的利用率很低,甚至有的表項(xiàng)的信息可能永遠(yuǎn)都不會(huì)再被利用;同時(shí)又有大量的Mac信息因?yàn)闆]有表項(xiàng)資源而不能被學(xué)習(xí)到,而這些信息可能在下面的時(shí)間中會(huì)被多次使用??梢?,及時(shí)對(duì)Mac轉(zhuǎn)發(fā)表中的信息進(jìn)行老化處理能夠避免上述情況的出現(xiàn)。
實(shí)現(xiàn)數(shù)據(jù)老化的方法有多種,如根據(jù)時(shí)間老化,根據(jù)訪問量老化等。以根據(jù)時(shí)間對(duì)Mac轉(zhuǎn)發(fā)表老化為例,就是每隔一段時(shí)間發(fā)起一輪表項(xiàng)的輪循檢查,將那些長時(shí)間都沒有用到的表項(xiàng)刪除掉。為了判別一個(gè)表項(xiàng)是否需要被老化刪除,在NP中處理老化的方法為在表項(xiàng)中設(shè)置一個(gè)老化標(biāo)志(aging)位,這個(gè)aging位標(biāo)志表示該表項(xiàng)在一段時(shí)間內(nèi)是否被使用過。當(dāng)一個(gè)表項(xiàng)新建時(shí),該表項(xiàng)的aging位初始值設(shè)為“1”,當(dāng)表項(xiàng)被使用到的時(shí)候(如被查找命中),該表項(xiàng)中的aging位也會(huì)被重置“1”。數(shù)據(jù)的老化操作通常定時(shí)完成,在老化過程檢查到一個(gè)表項(xiàng)的時(shí)候,如果判斷該表項(xiàng)的aging位為“1”,表示此表項(xiàng)在定時(shí)老化間隔時(shí)間內(nèi)被使用過,可能利用率較高,不執(zhí)行刪除操作,但同時(shí)要將該aging位置為“0”;如果發(fā)現(xiàn)該表項(xiàng)的aging為“0”,則表示在定時(shí)老化間隔時(shí)間內(nèi)沒有被使用過,可能利用率較低,因此將該表項(xiàng)刪除。
使用上述按照時(shí)間老化存儲(chǔ)數(shù)據(jù)的方法能夠?qū)㈤L時(shí)間沒有被用到的表項(xiàng)刪除掉,避免表項(xiàng)充滿而導(dǎo)致其它問題。上述方法的去缺點(diǎn)在于,一個(gè)表項(xiàng)被老化掉需要至少要經(jīng)過兩次的老化檢查,即第一次老化操作時(shí)將aging位設(shè)為0,第二次老化操作時(shí)將此表項(xiàng)刪除,在有大量的表項(xiàng)需要被老化掉時(shí),如果每個(gè)表項(xiàng)需要被讀兩次才能刪除,而且在第一次老化操作時(shí)還有對(duì)表項(xiàng)的寫aging位操作,這就會(huì)大大的增加老化操作時(shí)間而導(dǎo)致資源損耗。
另外,對(duì)于存儲(chǔ)器中的數(shù)據(jù)來說,數(shù)據(jù)的老化操作和其它的處理操作常常是在不同的線程中進(jìn)行的。以上述Mac轉(zhuǎn)發(fā)表為例,假設(shè)對(duì)Mac轉(zhuǎn)發(fā)表的老化操作為A線程,數(shù)據(jù)轉(zhuǎn)發(fā)為B線程。當(dāng)A線程中對(duì)一個(gè)表項(xiàng)進(jìn)行老化檢查,可能在剛剛讀出一個(gè)表項(xiàng)內(nèi)容后,另一個(gè)B線程正好執(zhí)行將該表項(xiàng)內(nèi)容的更新操作,此時(shí)A線程又將該表項(xiàng)的aging位置位后的內(nèi)容寫了回去,這樣,這個(gè)表項(xiàng)的內(nèi)容又被寫成了更新前的內(nèi)容了(除了aging位)。這時(shí)候的老化操作就是往表項(xiàng)中寫入了無效數(shù)據(jù),破壞了表項(xiàng)內(nèi)容??梢?,現(xiàn)有方法無法解決數(shù)據(jù)的安全的問題。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種效率高、使用安全的專用于網(wǎng)絡(luò)處理器的數(shù)據(jù)老化方法。
為達(dá)到上述目的,本發(fā)明提供的用于網(wǎng)絡(luò)處理器的數(shù)據(jù)老化方法,包括設(shè)置數(shù)據(jù)老化時(shí)間間隔;在數(shù)據(jù)操作時(shí),設(shè)置該數(shù)據(jù)的時(shí)間戳值;在數(shù)據(jù)老化操作時(shí),取得系統(tǒng)時(shí)間戳值,根據(jù)系統(tǒng)時(shí)間戳值與數(shù)據(jù)的時(shí)間戳值的差判斷數(shù)據(jù)存儲(chǔ)是否超時(shí),如果超時(shí),刪除該數(shù)據(jù)。
所述判斷數(shù)據(jù)存儲(chǔ)時(shí)間是否超時(shí),通過系統(tǒng)時(shí)間戳值與數(shù)據(jù)的時(shí)間戳值的差是否大于或等于所述數(shù)據(jù)老化時(shí)間間隔完成。
為需要老化處理的數(shù)據(jù)設(shè)置時(shí)間戳域,用于記錄該數(shù)據(jù)的時(shí)間戳的值。
所述方法還包括在數(shù)據(jù)首次存儲(chǔ)時(shí),將系統(tǒng)當(dāng)前時(shí)間戳值作為該數(shù)據(jù)的時(shí)間戳值。
在數(shù)據(jù)更新時(shí),使用系統(tǒng)的時(shí)間戳值更新該數(shù)據(jù)的時(shí)間戳值。
在數(shù)據(jù)被使用時(shí),使用系統(tǒng)的時(shí)間戳值更新該數(shù)據(jù)的時(shí)間戳值。
將數(shù)據(jù)存儲(chǔ)在二維數(shù)據(jù)表中。也可以將數(shù)據(jù)存儲(chǔ)在樹形數(shù)據(jù)表中。
上述系統(tǒng)時(shí)間戳值通過實(shí)時(shí)刷新系統(tǒng)時(shí)間獲得。
由于本發(fā)明采用時(shí)間戳技術(shù)對(duì)數(shù)據(jù)進(jìn)行老化處理,方法簡單,在對(duì)數(shù)據(jù)進(jìn)行老化處理時(shí),只需根據(jù)系統(tǒng)時(shí)間戳值與數(shù)據(jù)的時(shí)間戳值的差即可判斷數(shù)據(jù)存儲(chǔ)的時(shí)間是否超時(shí),從而決定是否需要將該數(shù)據(jù)老化掉。這樣,能夠在一次老化過程中就解決數(shù)據(jù)的老化問題,與現(xiàn)有方法相比減少系統(tǒng)的資源耗損。同時(shí),本發(fā)明在老化操作時(shí),不需要對(duì)數(shù)據(jù)進(jìn)行寫操作,不但提高的老化操作的效率,也能夠避免對(duì)多個(gè)線程對(duì)數(shù)據(jù)的讀寫操作沖突而導(dǎo)致的無效數(shù)據(jù)的寫入被老化數(shù)據(jù),或更改數(shù)據(jù)失誤的問題,提高數(shù)據(jù)操作的安全性。


圖1是采用本發(fā)明老化表項(xiàng)所存儲(chǔ)數(shù)據(jù)時(shí)的表項(xiàng)狀態(tài)變遷圖;
圖2是本發(fā)明所述方法的實(shí)施例流程圖。
具體實(shí)施例方式
為了避免存儲(chǔ)器中的數(shù)據(jù)過多地占用存儲(chǔ)資源,提高存儲(chǔ)資源的利用率,通常需要將存儲(chǔ)器中所存儲(chǔ)的不常用的數(shù)據(jù)刪除掉,以回收其資源,為此,就需要對(duì)存儲(chǔ)器中的數(shù)據(jù)進(jìn)行老化操作。盡管對(duì)數(shù)據(jù)的老化操作有多種標(biāo)準(zhǔn),但實(shí)際中的老化依據(jù)本質(zhì)上都是時(shí)間,即將超時(shí)不用的數(shù)據(jù)刪除掉,釋放其占用的存儲(chǔ)資源。由于現(xiàn)有老化方法需要兩次老化過程以及需要寫操作才能完成對(duì)數(shù)據(jù)表中一個(gè)表項(xiàng)的老化處理,導(dǎo)致了效率的降低。同時(shí),在數(shù)據(jù)的老化操作與數(shù)據(jù)的使用等操作需要由多個(gè)線程完成的情況下,必然導(dǎo)致對(duì)數(shù)據(jù)的操作失誤。這種失誤的本質(zhì)是由于多線程對(duì)同一塊區(qū)域的數(shù)據(jù)同時(shí)進(jìn)行寫操作引起,因此,要提高數(shù)據(jù)的老化效率以及避免在表項(xiàng)中寫入臟數(shù)據(jù),就需要減少老化操作的過程以及減少老化過程中的讀寫操作,從而避免數(shù)據(jù)的老化線程與數(shù)據(jù)的其它處理線程對(duì)數(shù)據(jù)進(jìn)行操作時(shí)產(chǎn)生的矛盾。
為此,本發(fā)明采用時(shí)間戳技術(shù)對(duì)需要老化的數(shù)據(jù)進(jìn)行處理,其主要思想就是記錄并比較時(shí)間戳的值,來判斷該數(shù)據(jù)是否由于超時(shí)不用而需要?jiǎng)h除,即使用系統(tǒng)時(shí)間戳和需要老化數(shù)據(jù)的時(shí)間戳作為判斷數(shù)據(jù)是否能夠被老化掉的依據(jù),從而在一次老化過程中完成對(duì)數(shù)據(jù)的老化處理。下面假設(shè)存儲(chǔ)器中的數(shù)據(jù)以數(shù)據(jù)表的二維形式存儲(chǔ),結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)的描述。實(shí)際中,任何存儲(chǔ)形式的數(shù)據(jù)都能應(yīng)用本發(fā)明進(jìn)行老化處理,如采用樹形結(jié)構(gòu)。
首先設(shè)置對(duì)數(shù)據(jù)表項(xiàng)中存儲(chǔ)的數(shù)據(jù)老化時(shí)間間隔,即設(shè)置超時(shí)時(shí)間標(biāo)準(zhǔn),并在系統(tǒng)的寄存器組中選擇寄存器用于存儲(chǔ)該超時(shí)時(shí)間(也可以在存儲(chǔ)器的存儲(chǔ)單元中選定一個(gè)或多個(gè)存儲(chǔ)單元用于存儲(chǔ)該超時(shí)時(shí)間)。同時(shí),在數(shù)據(jù)表中設(shè)置一個(gè)時(shí)間戳字段,用來記錄數(shù)據(jù)表中的表項(xiàng)中所存儲(chǔ)數(shù)據(jù)的時(shí)間戳的值。對(duì)表項(xiàng)中的時(shí)間戳域操作的動(dòng)作有以下幾種
1)新建表項(xiàng)時(shí),將系統(tǒng)當(dāng)前的時(shí)間戳記錄下來,即將系統(tǒng)時(shí)間戳值作為該表項(xiàng)所存儲(chǔ)數(shù)據(jù)的時(shí)間戳值。
2)更新表項(xiàng)的時(shí)候,同時(shí)也取得系統(tǒng)當(dāng)前的時(shí)間戳,更新表項(xiàng)中的時(shí)間戳值,即用系統(tǒng)的時(shí)間戳值更新該表項(xiàng)所存儲(chǔ)數(shù)據(jù)的時(shí)間戳值。
3)表項(xiàng)被使用時(shí),也就是該表項(xiàng)所存儲(chǔ)數(shù)據(jù)被應(yīng)用該數(shù)據(jù)的線程命中時(shí),更新表項(xiàng)所存儲(chǔ)數(shù)據(jù)的時(shí)間戳值,即用系統(tǒng)的時(shí)間戳值更新該表項(xiàng)所存儲(chǔ)數(shù)據(jù)的時(shí)間戳值。
上述系統(tǒng)時(shí)間戳值由NP處理器實(shí)時(shí)刷新系統(tǒng)時(shí)間獲得。
可見,數(shù)據(jù)表的各表項(xiàng)中的時(shí)間戳記錄了這個(gè)表項(xiàng)所存儲(chǔ)數(shù)據(jù)最近一次被使用的時(shí)間。當(dāng)老化操作到來時(shí),只需要取出系統(tǒng)當(dāng)前的時(shí)間戳值和表項(xiàng)中的時(shí)間戳值做比較,就可以知道這個(gè)表項(xiàng)所存儲(chǔ)數(shù)據(jù)沒有被使用的時(shí)間長度,并以此判斷出該表項(xiàng)是否已經(jīng)超時(shí),從而是否需要被老化刪除掉。
因此,如果采用本發(fā)明的方法對(duì)數(shù)據(jù)表中各表項(xiàng)存儲(chǔ)的數(shù)據(jù)進(jìn)行老化處理,則表項(xiàng)的狀態(tài)為兩個(gè),一是正常狀態(tài),即表項(xiàng)存在的狀態(tài);二是刪除狀態(tài),即表項(xiàng)被刪除的狀態(tài)。上述表項(xiàng)狀態(tài)的變遷參考圖1。圖1中,如果在老化操作時(shí)的表項(xiàng)檢查中沒有發(fā)現(xiàn)表項(xiàng)沒有超時(shí),則經(jīng)過步驟1后狀態(tài)沒有改變;如果在老化操作時(shí)的表項(xiàng)檢查中發(fā)現(xiàn)表項(xiàng)已經(jīng)超時(shí),則經(jīng)過步驟2后表項(xiàng)狀態(tài)發(fā)生改變,從正常狀態(tài)躍遷到刪除狀態(tài)。
可見,利用時(shí)間戳解決表項(xiàng)所存儲(chǔ)數(shù)據(jù)老化方法的狀態(tài)機(jī)看起來非常的簡單明了,一條表項(xiàng)的老化刪除最少只需經(jīng)過一次老化操作即可完成,很顯然,這樣大大減少了老化時(shí)的資源損耗。
圖2是本發(fā)明所述方法的實(shí)施例流程圖。按照?qǐng)D2,當(dāng)定時(shí)器啟動(dòng)老化線程開始操作時(shí),首先在步驟11對(duì)需要老化操作的數(shù)據(jù)表進(jìn)行檢查,看是否有可以進(jìn)行老化操作的表項(xiàng),即看該數(shù)據(jù)表是否為空,如果該表沒有表項(xiàng),說明該表是一個(gè)空表,則在步驟18執(zhí)行老化線程終止操作,否則在步驟12讀取該表項(xiàng)的指針,依據(jù)該指針的指向,在步驟13讀取指針指向表項(xiàng)的內(nèi)容以及該表項(xiàng)數(shù)據(jù)的時(shí)間戳值,設(shè)為T1,接著在步驟14從存儲(chǔ)系統(tǒng)時(shí)間戳的寄存器中讀取系統(tǒng)時(shí)間戳值,設(shè)為T2,并讀取老化超時(shí)時(shí)間,設(shè)為T3,然后在步驟15計(jì)算系統(tǒng)時(shí)間戳值T2與表項(xiàng)數(shù)據(jù)的時(shí)間戳值T1的差值,利用該差值與老化超時(shí)時(shí)間T3進(jìn)行比較,如果上述差值,即T2-T1大于或等于T3,說明該表項(xiàng)所存儲(chǔ)數(shù)據(jù)的存儲(chǔ)時(shí)間已經(jīng)超過老化時(shí)間T3,該表項(xiàng)中存儲(chǔ)的數(shù)據(jù)已經(jīng)長時(shí)間未被使用,可以刪除,因此在步驟16執(zhí)行對(duì)該表項(xiàng)的刪除操作,然后執(zhí)行步驟17;如果T2-T1小于T3,說明該表項(xiàng)所存儲(chǔ)數(shù)據(jù)的存儲(chǔ)時(shí)間還沒有超過老化時(shí)間T3,需要保留,因此直接進(jìn)行步驟17,在步驟17判斷當(dāng)前表項(xiàng)是否為最后一個(gè)表項(xiàng),如果不是,返回步驟12繼續(xù)后續(xù)的老化操作,否則說明對(duì)數(shù)據(jù)表的老化操作完成,則在步驟18執(zhí)行老化線程終止操作。
以下述數(shù)據(jù)表為例

上述表中的時(shí)間戳字段是依據(jù)時(shí)間轉(zhuǎn)化的時(shí)間戳值,假設(shè)系統(tǒng)當(dāng)前的時(shí)間戳值T2為106,超時(shí)時(shí)間T3為5,則對(duì)于表中第1到第4個(gè)表項(xiàng)的數(shù)據(jù)來說,系統(tǒng)時(shí)間戳與表項(xiàng)1到表項(xiàng)4的時(shí)間戳差值分別為6、1、8、4,因此表項(xiàng)1和表項(xiàng)3的數(shù)據(jù)在進(jìn)行老化操作時(shí),由于上述時(shí)間戳差值大于超時(shí)時(shí)間而被刪除,而表項(xiàng)2和表項(xiàng)4的數(shù)據(jù)將被保留。
在本發(fā)明所述的老化方法中,首先只需要一個(gè)過程即可決定具體表項(xiàng)的數(shù)據(jù)是否可以被老化,與現(xiàn)有方法相比減少了一個(gè)過程,因此減少了系統(tǒng)資源的消耗;另外,在具體的老化過程中沒有對(duì)數(shù)據(jù)表項(xiàng)的寫操作,這樣不但能夠提高老化操作的效率,還能夠避免多線程同時(shí)對(duì)數(shù)據(jù)表的讀寫操作的沖突發(fā)生,也就避免了現(xiàn)有的老化方法可能將無效數(shù)據(jù)寫入表項(xiàng)的問題。
本發(fā)明所述的方法適合于對(duì)任何存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù)進(jìn)行老化操作,尤其適合于對(duì)網(wǎng)絡(luò)處理器(NP)中的數(shù)據(jù)進(jìn)行老化操作。
權(quán)利要求
1.一種用于網(wǎng)絡(luò)處理器的數(shù)據(jù)老化方法,其特征在于包括設(shè)置數(shù)據(jù)老化時(shí)間間隔;在數(shù)據(jù)操作時(shí),設(shè)置該數(shù)據(jù)的時(shí)間戳值;在數(shù)據(jù)老化操作時(shí),取得系統(tǒng)時(shí)間戳值,根據(jù)系統(tǒng)時(shí)間戳值與數(shù)據(jù)的時(shí)間戳值的差判斷數(shù)據(jù)存儲(chǔ)是否超時(shí),如果超時(shí),刪除該數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)老化方法,其特征在于所述判斷數(shù)據(jù)存儲(chǔ)時(shí)間是否超時(shí),通過系統(tǒng)時(shí)間戳值與數(shù)據(jù)的時(shí)間戳值的差是否大于或等于所述數(shù)據(jù)老化時(shí)間間隔完成。
3.根據(jù)權(quán)利要求1或2所述的數(shù)據(jù)老化方法,其特征在于為需要老化處理的數(shù)據(jù)設(shè)置時(shí)間戳域,用于記錄該數(shù)據(jù)的時(shí)間戳的值。
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)老化方法,其特征在于,所述方法還包括在數(shù)據(jù)首次存儲(chǔ)時(shí),將系統(tǒng)當(dāng)前時(shí)間戳值作為該數(shù)據(jù)的時(shí)間戳值。
5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)老化方法,其特征在于,所述方法還包括在數(shù)據(jù)更新時(shí),使用系統(tǒng)的時(shí)間戳值更新該數(shù)據(jù)的時(shí)間戳值。
6.根據(jù)權(quán)利要求5所述的數(shù)據(jù)老化方法,其特征在于,所述方法還包括在數(shù)據(jù)被使用時(shí),使用系統(tǒng)的時(shí)間戳值更新該數(shù)據(jù)的時(shí)間戳值。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)老化方法,其特征在于,所述方法還包括將數(shù)據(jù)存儲(chǔ)在二維數(shù)據(jù)表中。
8.根據(jù)權(quán)利要求6所述的數(shù)據(jù)老化方法,其特征在于,所述方法還包括將數(shù)據(jù)存儲(chǔ)在樹形數(shù)據(jù)表中。
9.根據(jù)權(quán)利要求7所述的數(shù)據(jù)老化方法,其特征在于所述系統(tǒng)時(shí)間戳值通過實(shí)時(shí)刷新系統(tǒng)時(shí)間獲得。
全文摘要
本發(fā)明公開了一種用于網(wǎng)絡(luò)處理器的數(shù)據(jù)老化方法,該方法首先設(shè)置數(shù)據(jù)老化時(shí)間間隔;依據(jù)該時(shí)間間隔,在數(shù)據(jù)操作時(shí),設(shè)置或更新該數(shù)據(jù)的時(shí)間戳值;在數(shù)據(jù)老化操作時(shí),利用取得的系統(tǒng)時(shí)間戳值,再根據(jù)系統(tǒng)時(shí)間戳值與數(shù)據(jù)的時(shí)間戳值的差是否大于或等于所設(shè)置的數(shù)據(jù)老化時(shí)間間隔判斷數(shù)據(jù)存儲(chǔ)是否超時(shí),如果超時(shí),刪除該數(shù)據(jù)。采用上述方案對(duì)數(shù)據(jù)進(jìn)行老化處理,不但能夠提高老化操作的效率,還能夠保證數(shù)據(jù)的安全。
文檔編號(hào)G06F12/00GK1581100SQ0314408
公開日2005年2月16日 申請(qǐng)日期2003年7月31日 優(yōu)先權(quán)日2003年7月31日
發(fā)明者牛琨, 熊鷹, 龔華 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1