專利名稱:一種丟棄報(bào)文的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,具體涉及一種丟棄報(bào)文的方法及裝置。
背景技術(shù):
在報(bào)文管理中,為了避免傳輸鏈路報(bào)文擁塞的情況,通常采用尾丟棄或者隨機(jī)丟 棄的策略,通過丟棄報(bào)文的方式較好的防止內(nèi)存溢出和網(wǎng)絡(luò)癱瘓。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng) 絡(luò)處理端口數(shù)量的擴(kuò)大,服務(wù)質(zhì)量精細(xì)化要求增強(qiáng),內(nèi)存需求也增大,在實(shí)際操作中,各報(bào) 文往往采用共享內(nèi)存的方式。在共享內(nèi)存的方式下,采用尾丟棄策略丟棄報(bào)文的方法可以為實(shí)時(shí)檢測(cè)當(dāng)前隊(duì) 列緩存報(bào)文的數(shù)量;根據(jù)當(dāng)前隊(duì)列緩存的報(bào)文數(shù)量,判斷當(dāng)前緩存剩余空間的大小是否達(dá) 到配置的報(bào)文丟棄門限;若是,則丟棄報(bào)文,若否,則緩存報(bào)文。采用隨機(jī)丟棄策略丟棄報(bào)文 的方法為實(shí)時(shí)檢測(cè)當(dāng)前隊(duì)列緩存報(bào)文的數(shù)量;根據(jù)當(dāng)前隊(duì)列緩存的報(bào)文數(shù)量,判斷是否 超過配置的隊(duì)列門限;若超過最大丟棄門限,則將報(bào)文丟棄;若小于最低丟棄門限,則緩存 報(bào)文;若小于最大丟棄門限而大于最低丟棄門限,則根據(jù)配置的丟棄概率常數(shù)計(jì)算隨機(jī)值, 根據(jù)隨機(jī)值,判斷是否丟棄報(bào)文,在判斷為是時(shí),丟棄報(bào)文。在對(duì)現(xiàn)有技術(shù)的研究和實(shí)踐過程中,本發(fā)明的發(fā)明人發(fā)現(xiàn),在共享內(nèi)存的方式下, 若采用尾丟棄或隨機(jī)丟棄策略管理報(bào)文,部分端口隊(duì)列出現(xiàn)擁塞時(shí),大量報(bào)文將被緩存從 而導(dǎo)致內(nèi)存不夠,其他沒有擁塞或擁塞不夠嚴(yán)重的端口的報(bào)文可能會(huì)因此而無法緩存,導(dǎo) 致這些沒有擁塞或擁塞不夠嚴(yán)重的端口的報(bào)文也丟棄,最終造成大面積網(wǎng)絡(luò)中斷。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種丟棄報(bào)文的方法和一種相應(yīng)的丟棄報(bào)文的裝置。一方面,本發(fā)明實(shí)施例提供一種丟棄報(bào)文的方法,包括檢測(cè)當(dāng)前緩存剩余空間的大?。桓鶕?jù)當(dāng)前緩存剩余空間的大小,獲取當(dāng)前緩存優(yōu)先級(jí);判斷需要被緩存的報(bào)文的優(yōu)先級(jí)是否低于或等于當(dāng)前緩存優(yōu)先級(jí);若是,則丟棄報(bào)文,若否,則將報(bào)文加入緩存隊(duì)列。另一方面,本發(fā)明實(shí)施例提供一種丟棄報(bào)文的裝置,包括剩余緩存檢測(cè)模塊,用于檢測(cè)當(dāng)前緩存剩余空間的大小;優(yōu)先級(jí)獲取模塊,用于根據(jù)當(dāng)前緩存剩余空間的大小,獲取當(dāng)前緩存優(yōu)先級(jí);判斷模塊,用于判斷需要被緩存的報(bào)文的優(yōu)先級(jí)是否低于或等于當(dāng)前緩存優(yōu)先 級(jí);執(zhí)行模塊,用于在判斷模塊判斷為是時(shí),丟棄報(bào)文,在判斷模塊判斷為否時(shí),緩存 報(bào)文。本發(fā)明實(shí)施例通過檢測(cè)當(dāng)前緩存剩余空間的大小,根據(jù)當(dāng)前緩存剩余空間的大 小,獲取當(dāng)前緩存丟棄優(yōu)先級(jí),判斷報(bào)文的優(yōu)先級(jí)是否低于或等于當(dāng)前緩存丟棄優(yōu)先級(jí),在判斷為是時(shí),丟棄報(bào)文。當(dāng)前剩余緩存空間越小,能夠通過的報(bào)文的優(yōu)先級(jí)也越高,本發(fā)明 實(shí)施例根據(jù)優(yōu)先級(jí)來丟棄報(bào)文,從而保證了高優(yōu)先級(jí)的重要報(bào)文受部分隊(duì)列擁塞的影響降 低,在一定程度上避免了部分鏈路出現(xiàn)短時(shí)擁塞緩存而影響其他正常鏈路正常通信,避免 造成大面積網(wǎng)絡(luò)癱瘓。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā) 明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明文件系統(tǒng)數(shù)據(jù)遷移方法第一實(shí)施例的基本流 程示意圖;圖2是本發(fā)明文件系統(tǒng)數(shù)據(jù)遷移方法第二實(shí)施例的基本流程示意圖;圖3是本發(fā)明實(shí)施例中文件系統(tǒng)數(shù)據(jù)遷移裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式本發(fā)明實(shí)施例提供一種丟棄報(bào)文的方法,可以降低緩存擁塞對(duì)重要報(bào)文的影響。 本發(fā)明實(shí)施例還提供相應(yīng)的丟棄報(bào)文的裝置。以下分別進(jìn)行詳細(xì)說明。本發(fā)明實(shí)施例一的丟棄報(bào)文的方法基本流程可參考圖1,該方法主要包括步驟101,檢測(cè)當(dāng)前緩存剩余空間的大小。獲取總內(nèi)存的大小,用內(nèi)存的大小減去當(dāng)前緩存報(bào)文所占的空間大小,就可以知 道當(dāng)前緩存剩余空間的大小,或者獲取當(dāng)前緩存可繼續(xù)存儲(chǔ)的報(bào)文的數(shù)量,由于總緩存大 小固定,通過檢測(cè)當(dāng)前緩存的報(bào)文數(shù)量,計(jì)算出可繼續(xù)存儲(chǔ)的報(bào)文的數(shù)量,可繼續(xù)存儲(chǔ)的報(bào) 文的數(shù)量與緩存剩余空間的大小本質(zhì)一樣,也可以用來表示當(dāng)前緩存剩余空間的大小,本 發(fā)明實(shí)施例中的當(dāng)前緩存剩余空間的大小至少包含上述兩種表達(dá)方式。步驟102,根據(jù)當(dāng)前緩存剩余空間的大小,獲取當(dāng)前緩存優(yōu)先級(jí)。緩存剩余空間的大小與緩存優(yōu)先級(jí)的對(duì)應(yīng)關(guān)系預(yù)先被設(shè)置好,緩存剩余空間的大 小決定當(dāng)前緩存優(yōu)先級(jí)的高低,緩存剩余空間越大,緩存優(yōu)先級(jí)越低,緩存剩余空間越小, 緩存優(yōu)先級(jí)越高。根據(jù)當(dāng)前緩存空間的大小和預(yù)先設(shè)置的對(duì)應(yīng)關(guān)系,可以很容易獲得當(dāng)前 緩存優(yōu)先級(jí)。例如可以根據(jù)當(dāng)前緩存空間的大小,確定當(dāng)前緩存空間的大小所屬的區(qū)間; 以及根據(jù)當(dāng)前緩存空間的大小所屬的區(qū)間,獲取與當(dāng)前緩存空間大小對(duì)應(yīng)的當(dāng)前緩存優(yōu)先 級(jí)。步驟103,判斷需要被緩存的報(bào)文的優(yōu)先級(jí)是否低于或等于當(dāng)前緩存優(yōu)先級(jí),在判 斷為是時(shí)進(jìn)入步驟104,在判斷為否時(shí)進(jìn)入步驟105。報(bào)文本身帶有優(yōu)先級(jí),報(bào)文的優(yōu)先級(jí)是由報(bào)文的重要程度或報(bào)文的實(shí)時(shí)性來決定 的,越重要的或?qū)崟r(shí)性越強(qiáng)的報(bào)文的優(yōu)先級(jí)越高。例如,優(yōu)先級(jí)分別為0、1、2和3的報(bào)文, 按報(bào)文優(yōu)先級(jí)從低到高排列為優(yōu)先級(jí)為3的報(bào)文、優(yōu)先級(jí)為2的報(bào)文、優(yōu)先級(jí)為1的報(bào)文 和優(yōu)先級(jí)為0的報(bào)文,優(yōu)先級(jí)為0的報(bào)文的優(yōu)先級(jí)是最高的。判斷報(bào)文的優(yōu)先級(jí)是否低于或等于當(dāng)前緩存優(yōu)先級(jí)。若當(dāng)前緩存優(yōu)先級(jí)為1,優(yōu)先 級(jí)為1的報(bào)文、優(yōu)先級(jí)為2和報(bào)文和優(yōu)先級(jí)為3的報(bào)文被認(rèn)為是低于或等于當(dāng)前緩存優(yōu)先級(jí)1的報(bào)文。 步驟104,丟棄報(bào)文,結(jié)束流程。例如當(dāng)前緩存優(yōu)先級(jí)為1時(shí),則低于或等于當(dāng)前緩存優(yōu)先級(jí)1的報(bào)文(即優(yōu)先級(jí) 為1的報(bào)文、優(yōu)先級(jí)為2和報(bào)文和優(yōu)先級(jí)為3的報(bào)文)將被丟棄。步驟105,把報(bào)文加入緩存隊(duì)列,緩存報(bào)文。本發(fā)明實(shí)施例通過實(shí)時(shí)檢測(cè)當(dāng)前緩存剩余空間的大小,根據(jù)當(dāng)前緩存剩余空間的 大小,獲取當(dāng)前緩存丟棄優(yōu)先級(jí),判斷報(bào)文的優(yōu)先級(jí)是否不高于當(dāng)前緩存丟棄優(yōu)先級(jí),在判 斷為是時(shí),丟棄報(bào)文。在當(dāng)前剩余緩存空間的大小越小,能夠通過的報(bào)文的優(yōu)先級(jí)也越高, 從而降低了高優(yōu)先級(jí)的重要報(bào)文不受部分隊(duì)列擁塞的影響,在一定程度上避免了部分鏈路 出現(xiàn)短時(shí)擁塞緩存而影響其他正常鏈路正常通信,避免造成的大面積網(wǎng)絡(luò)癱瘓。為便于理解,下面對(duì)本發(fā)明實(shí)施例中的丟棄報(bào)文的方法進(jìn)行詳細(xì)描述,請(qǐng)參閱圖 2,本發(fā)明實(shí)施例中丟棄報(bào)文的方法第二實(shí)施例包括步驟201,根據(jù)用戶配置信息,配置緩存優(yōu)先級(jí),所述用戶配置信息指示門限與緩存優(yōu)先級(jí)的對(duì)應(yīng)關(guān)系,用戶給緩存剩余空間的大 小配置的多個(gè)門限,每個(gè)門限與緩存優(yōu)先級(jí)相對(duì)應(yīng)。緩存剩余空間的大小不同可能對(duì)應(yīng)不同的緩存優(yōu)先級(jí),緩存剩余空間越大,緩存
優(yōu)先級(jí)越低。假設(shè),0為報(bào)文的最高優(yōu)先級(jí),1、2、3......依次降低。總內(nèi)存的大小為D(其
中D也可以認(rèn)為是一個(gè)門限)。用戶配置信息指示給緩存剩余空間的大小設(shè)置多個(gè)門限 為0、A、B和C(0 < A < B < C),剩余緩存空間的大小在
獲取單元341,用于獲取預(yù)先配置的尾丟棄或隨機(jī)丟棄策略。執(zhí)行單元342,用于按預(yù)先配置的尾丟棄或隨機(jī)丟棄策略將緩存的部分報(bào)文丟棄。
尾丟棄策略為檢測(cè)當(dāng)前隊(duì)列緩存報(bào)文的數(shù)量;根據(jù)當(dāng)前緩存報(bào)文的數(shù)量,判斷 是否超過預(yù)先配置的尾丟棄門限,若超過,則將報(bào)文丟棄。隨機(jī)丟棄策略為檢測(cè)當(dāng)前隊(duì)列緩存報(bào)文的數(shù)量,根據(jù)當(dāng)前緩存報(bào)文的數(shù)量,判斷 需要緩存的報(bào)文是否超過配置的隊(duì)列門限,若超過最大丟棄門限,則丟棄報(bào)文;若小于最低 丟棄門限,則將報(bào)文加入緩存隊(duì)列;若小于最大丟棄門限,大于最低丟棄門限,則根據(jù)配置 的丟棄概率常數(shù)計(jì)算隨機(jī)值,在隨機(jī)值指示丟棄報(bào)文時(shí),將報(bào)文丟棄。本發(fā)明實(shí)施例通過實(shí)時(shí)檢測(cè)當(dāng)前緩存剩余空間的大小,根據(jù)當(dāng)前緩存剩余空間的 大小,獲取當(dāng)前緩存丟棄優(yōu)先級(jí),判斷報(bào)文的優(yōu)先級(jí)是否不高于當(dāng)前緩存丟棄優(yōu)先級(jí),在判 斷為是時(shí),丟棄報(bào)文。在當(dāng)前剩余緩存空間的大小變小時(shí),能夠通過的報(bào)文的優(yōu)先級(jí)也越 高,從而保證了高優(yōu)先級(jí)的重要報(bào)文不受部分隊(duì)列擁塞的影響而丟棄,在一定程度上避免 了部分鏈路出現(xiàn)短時(shí)擁塞緩存而影響其他正常鏈路正常通信而造成的大面積網(wǎng)絡(luò)癱瘓。本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可 以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ) 介質(zhì)可以包括ROM、RAM、磁盤或光盤等。以上對(duì)本發(fā)明實(shí)施例所提供的丟棄報(bào)文的方法及裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng) 用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理 解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā) 明的限制。
權(quán)利要求
一種丟棄報(bào)文的方法,其特征在于,包括檢測(cè)當(dāng)前緩存剩余空間的大??;根據(jù)當(dāng)前緩存剩余空間的大小,獲取當(dāng)前緩存優(yōu)先級(jí);判斷需要被緩存的報(bào)文的優(yōu)先級(jí)是否低于或等于當(dāng)前緩存優(yōu)先級(jí);若是,則丟棄報(bào)文,若否,則將報(bào)文加入緩存隊(duì)列。
2.如權(quán)利要求1所述的丟棄報(bào)文的方法,其特征在于,所述根據(jù)當(dāng)前緩存剩余空間的 大小,獲取當(dāng)前緩存優(yōu)先級(jí)包括根據(jù)當(dāng)前緩存空間的大小,確定當(dāng)前緩存空間的大小所屬的區(qū)間; 根據(jù)當(dāng)前緩存空間的大小所屬的區(qū)間,獲取與當(dāng)前緩存空間大小對(duì)應(yīng)的當(dāng)前緩存優(yōu)先級(jí)。
3.如權(quán)利要求1所述的丟棄報(bào)文的方法,其特征在于,所述緩存空間的大小與所述緩 存優(yōu)先級(jí)之間的對(duì)應(yīng)關(guān)系由用戶配置信息確定。
4.如權(quán)利要求1所述的丟棄報(bào)文的方法,其特征在于,所述檢測(cè)當(dāng)前緩存剩余空間的 大小包括檢測(cè)當(dāng)前緩存空間中報(bào)文的數(shù)量;根據(jù)總緩存空間的大小和當(dāng)前緩存空間中報(bào)文的數(shù)量,獲取當(dāng)前緩存剩余空間的大小。
5.如權(quán)利要求1所述的丟棄報(bào)文的方法,其特征在于,在所述將報(bào)文加入緩存隊(duì)列后 還包括按預(yù)先配置的尾丟棄或隨機(jī)丟棄策略將加入緩存隊(duì)列的部分報(bào)文丟棄。
6.一種丟棄報(bào)文的裝置,其特征在于,包括剩余緩存檢測(cè)模塊,用于檢測(cè)當(dāng)前緩存剩余空間的大?。?優(yōu)先級(jí)獲取模塊,用于根據(jù)當(dāng)前緩存剩余空間的大小,獲取當(dāng)前緩存優(yōu)先級(jí); 判斷模塊,用于判斷需要被緩存的報(bào)文的優(yōu)先級(jí)是否低于或等于當(dāng)前緩存優(yōu)先級(jí); 執(zhí)行模塊,用于在判斷模塊判斷為是時(shí),丟棄報(bào)文,在判斷模塊判斷為否時(shí),緩存報(bào)文。
7.如權(quán)利要求6所述的丟棄報(bào)文的裝置,其特征在于,所述裝置還包括配置模塊,用于根據(jù)用戶配置信息,配置緩存優(yōu)先級(jí),所述用戶配置信息指示緩存剩余 空間的大小與緩存優(yōu)先級(jí)的對(duì)應(yīng)關(guān)系。
8.如權(quán)利要求6所述的丟棄報(bào)文的裝置,其特征在于,所述優(yōu)先級(jí)獲取模塊包括門限范圍檢測(cè)單元,用于根據(jù)當(dāng)前緩存空間的大小,確定當(dāng)前緩存空間的大小所屬的 區(qū)間;優(yōu)先級(jí)獲取單元,用于根據(jù)當(dāng)前緩存空間的大小所屬的區(qū)間,獲取與所述當(dāng)前緩存空 間大小對(duì)應(yīng)的當(dāng)前緩存優(yōu)先級(jí)。
9.如權(quán)利要求6所述的丟棄報(bào)文的裝置,其特征在于,所述剩余緩存檢測(cè)模塊包括 報(bào)文檢測(cè)單元,用于檢測(cè)當(dāng)前緩存空間中報(bào)文的數(shù)量;緩存獲取單元,用于根據(jù)總緩存空間的大小和當(dāng)前緩存空間中報(bào)文的數(shù)量,獲取當(dāng)前 緩存剩余空間的大小。
10.如權(quán)利要求6所述的丟棄報(bào)文的裝置,其特征在于,所述執(zhí)行模塊包括 獲取單元,用于獲取預(yù)先配置的尾丟棄或隨機(jī)丟棄策略;執(zhí)行單元,用于按預(yù)先配置的尾丟棄或隨機(jī)丟棄策略將緩存的部分報(bào)文丟棄。
全文摘要
本發(fā)明公開了一種丟棄報(bào)文的方法及裝置,本發(fā)明實(shí)施例通過檢測(cè)當(dāng)前緩存剩余空間的大小,根據(jù)當(dāng)前緩存剩余空間的大小,獲取當(dāng)前緩存丟棄優(yōu)先級(jí),判斷需要被緩存的報(bào)文的優(yōu)先級(jí)是否低于或等于當(dāng)前緩存丟棄優(yōu)先級(jí),在判斷為是時(shí),丟棄報(bào)文。實(shí)施本發(fā)明實(shí)施例,在當(dāng)前剩余緩存空間的大小變小時(shí),能夠通過的報(bào)文的優(yōu)先級(jí)也越高,從而降低了高優(yōu)先級(jí)的重要報(bào)文受部分隊(duì)列擁塞的影響,在一定程度上避免了部分鏈路出現(xiàn)短時(shí)擁塞緩存而影響其他正常鏈路正常通信,避免大面積網(wǎng)絡(luò)癱瘓。
文檔編號(hào)H04L12/56GK101800699SQ201010110278
公開日2010年8月11日 申請(qǐng)日期2010年2月9日 優(yōu)先權(quán)日2010年2月9日
發(fā)明者劉金波 申請(qǐng)人:上海華為技術(shù)有限公司