>[0079] 數(shù)據(jù)包流程:
[0080] Stepl :某節(jié)點(diǎn)CS中有與請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)時(shí),返回相應(yīng)的數(shù)據(jù),并在數(shù)據(jù)包中添加 數(shù)據(jù)緩存標(biāo)識(shí)d,并將其初始值設(shè)為0 ;
[0081] St印2 :數(shù)據(jù)包到達(dá)節(jié)點(diǎn)時(shí),首先,查看數(shù)據(jù)包中的數(shù)據(jù)緩存標(biāo)識(shí)d,如果d小于 A d,說(shuō)明當(dāng)前數(shù)據(jù)包已經(jīng)在上游不遠(yuǎn)的節(jié)點(diǎn)存儲(chǔ),為了避免該數(shù)據(jù)在網(wǎng)內(nèi)冗余量過(guò)大,此 時(shí)不存儲(chǔ)該數(shù)據(jù),到Step6,否則到Step3 ;
[0082] Step3 :根據(jù)請(qǐng)求包中的信息得到下一跳節(jié)點(diǎn)該請(qǐng)求的平均請(qǐng)求等級(jí)以及請(qǐng) 求總頻率Ftl dl,并計(jì)算當(dāng)前節(jié)點(diǎn)該請(qǐng)求的平均請(qǐng)求等級(jí)$與總的請(qǐng)求頻率Ftl,然后,根據(jù) 式⑶、式⑷兩個(gè)不等式,判斷該數(shù)據(jù)是否能夠在下一跳節(jié)點(diǎn)緩存,如果,下一跳節(jié)點(diǎn)滿足 緩存條件且下一跳節(jié)點(diǎn)不為客戶端節(jié)點(diǎn)時(shí),那么,將數(shù)據(jù)傳到下一節(jié)點(diǎn),到Step2,如果,下 一跳節(jié)點(diǎn)不滿足緩存條件或下一跳節(jié)點(diǎn)為客戶端節(jié)點(diǎn)時(shí),數(shù)據(jù)在當(dāng)前節(jié)點(diǎn)存儲(chǔ),并將數(shù)據(jù) 包中的數(shù)據(jù)緩存標(biāo)識(shí)d置為0,到Step4 ;
[0083] St印4 :數(shù)據(jù)如果要在某節(jié)點(diǎn)存儲(chǔ)時(shí),通過(guò)公式(5)、公式(6)計(jì)算該數(shù)據(jù)在當(dāng)前節(jié) 點(diǎn)的權(quán)重值W1;
[0084] Step5 :查看當(dāng)前節(jié)點(diǎn)的CS是否有空間能夠存儲(chǔ)該數(shù)據(jù),如果有則將數(shù)據(jù)緩存,否 貝1J,判斷當(dāng)前數(shù)據(jù)的權(quán)重值是否大于CS中權(quán)重值最小的數(shù)據(jù),如果不大于則無(wú)法緩存該數(shù) 據(jù),此時(shí),將數(shù)據(jù)包中數(shù)據(jù)緩存標(biāo)識(shí)d加一,然后,將該數(shù)據(jù)發(fā)往下一跳節(jié)點(diǎn);否則,刪除最 小權(quán)重的數(shù)據(jù),再次執(zhí)行Stepll,直到有足夠的緩存空間存儲(chǔ)當(dāng)前數(shù)據(jù),到Step6 ;
[0085] Step6:判斷下一跳節(jié)點(diǎn)是否是客戶端節(jié)點(diǎn),如果不是,將該數(shù)據(jù)傳輸?shù)较乱惶?jié) 點(diǎn),并將其標(biāo)識(shí)距離d加一,則執(zhí)行St印2。
[0086] St印7 :重復(fù)執(zhí)行St印2-St印7直到數(shù)據(jù)包到達(dá)相應(yīng)客戶端為止。
[0087] 最后說(shuō)明的是,以上優(yōu)選實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,盡管通 過(guò)上述優(yōu)選實(shí)施例已經(jīng)對(duì)本發(fā)明進(jìn)行了詳細(xì)的描述,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,可以在 形式上和細(xì)節(jié)上對(duì)其作出各種各樣的改變,而不偏離本發(fā)明權(quán)利要求書(shū)所限定的范圍。
【主權(quán)項(xiàng)】
1. 一種NDN/CCN中基于內(nèi)容等級(jí)及流行度的數(shù)據(jù)緩存替換方法,其特征在于:包括數(shù) 據(jù)緩存方法和數(shù)據(jù)替換方法; 所述數(shù)據(jù)緩存方法是依據(jù)數(shù)據(jù)包在節(jié)點(diǎn)的平均請(qǐng)求等級(jí)及請(qǐng)求頻率,在數(shù)據(jù)包返回客 戶端經(jīng)過(guò)的所有節(jié)點(diǎn)中,依據(jù)數(shù)據(jù)存儲(chǔ)條件選擇數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn); 所述數(shù)據(jù)替換方法是當(dāng)節(jié)點(diǎn)的緩存空間不足時(shí),節(jié)點(diǎn)依據(jù)客戶端對(duì)數(shù)據(jù)的請(qǐng)求等級(jí)及 相應(yīng)等級(jí)在不同時(shí)間段內(nèi)用戶的請(qǐng)求頻率,得到能夠反映數(shù)據(jù)當(dāng)前情況的權(quán)重值,該節(jié)點(diǎn) 依據(jù)得到的權(quán)重值來(lái)判斷是否通過(guò)刪除緩存中已有的數(shù)據(jù)對(duì)其進(jìn)行存儲(chǔ),如果緩存空間足 夠存儲(chǔ)數(shù)據(jù),那么,節(jié)點(diǎn)將根據(jù)該權(quán)重值選擇該數(shù)據(jù)在緩存中存儲(chǔ)的位置。2. 根據(jù)權(quán)利要求1所述的一種NDN/CCN中基于內(nèi)容等級(jí)及流行度的數(shù)據(jù)緩存替換方 法,其特征在于:所述數(shù)據(jù)緩存方法具體包括以下步驟: 首先,在數(shù)據(jù)包到達(dá)節(jié)點(diǎn)時(shí),查看數(shù)據(jù)包中的數(shù)據(jù)存儲(chǔ)標(biāo)識(shí)d,即用來(lái)標(biāo)記該數(shù)據(jù)所在 的當(dāng)前節(jié)點(diǎn)與其最近一次被存儲(chǔ)節(jié)點(diǎn)的距離,若標(biāo)識(shí)d小于Ad,則會(huì)將數(shù)據(jù)傳輸?shù)较乱惶?節(jié)點(diǎn),否則,通過(guò)比較此節(jié)點(diǎn)和下一跳節(jié)點(diǎn)的該請(qǐng)求客戶端的平均請(qǐng)求等級(jí)及請(qǐng)求頻率; 其次,由^ ^ 和Ftl-Ftldl<f?決定數(shù)據(jù)是否存儲(chǔ)到本節(jié)點(diǎn),如果兩個(gè)條件都 滿足,則將數(shù)據(jù)傳到下一節(jié)點(diǎn),否則,將數(shù)據(jù)存儲(chǔ)到本節(jié)點(diǎn),同時(shí)將數(shù)據(jù)包中標(biāo)識(shí)d置0,數(shù) 據(jù)包到下一跳節(jié)點(diǎn)后,標(biāo)識(shí)d加1。3. 根據(jù)權(quán)利要求1所述的一種NDN/CCN中基于內(nèi)容等級(jí)及流行度的數(shù)據(jù)緩存替換方 法,其特征在于:在數(shù)據(jù)決定在某節(jié)點(diǎn)存儲(chǔ),若此節(jié)點(diǎn)緩存空間不足時(shí),依據(jù)數(shù)據(jù)在當(dāng)前節(jié) 點(diǎn)的請(qǐng)求等級(jí)及該數(shù)據(jù)在當(dāng)前節(jié)點(diǎn)該等級(jí)的不同時(shí)間段內(nèi)的請(qǐng)求頻率,得到反應(yīng)數(shù)據(jù)在當(dāng) 前節(jié)點(diǎn)請(qǐng)求情況的權(quán)重值W1,節(jié)點(diǎn)依據(jù)W1對(duì)數(shù)據(jù)進(jìn)行替換并存儲(chǔ); 在本方法中請(qǐng)求包的流程如下: 1) 當(dāng)請(qǐng)求包到達(dá)某一節(jié)點(diǎn)時(shí),記錄本次數(shù)據(jù)的到達(dá)時(shí)間,并從該請(qǐng)求包中獲取上一跳 節(jié)點(diǎn)該請(qǐng)求的平均請(qǐng)求等級(jí)與請(qǐng)求頻率; 2) 查找當(dāng)前節(jié)點(diǎn)CS中是否有與該請(qǐng)求對(duì)應(yīng)的數(shù)據(jù),如果沒(méi)有到步驟3),否則返回相應(yīng) 數(shù)據(jù)包; 3) 查找PIT中是否有與該請(qǐng)求對(duì)應(yīng)的條目,有則將該請(qǐng)求進(jìn)入節(jié)點(diǎn)的接口添加到對(duì)應(yīng) 條目中,沒(méi)有則在未決請(qǐng)求表中添加與該請(qǐng)求對(duì)應(yīng)的PIT條目并轉(zhuǎn)到步驟4); 4) 計(jì)算該請(qǐng)求在當(dāng)前節(jié)點(diǎn)的平均請(qǐng)求等級(jí)及請(qǐng)求頻率,并將添加到請(qǐng)求包中,到步驟 5); 5) 查找FIB表,將請(qǐng)求轉(zhuǎn)發(fā)到下一跳節(jié)點(diǎn); 6) 以此類推,重復(fù)步驟1)到步驟5),將該請(qǐng)求轉(zhuǎn)發(fā)到CS中有與其相對(duì)應(yīng)的數(shù)據(jù)的節(jié) 點(diǎn)或服務(wù)器。4. 根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的一種NDN/CCN中基于內(nèi)容等級(jí)及流行度的數(shù)據(jù) 緩存替換方法,其特征在于:在本方法中數(shù)據(jù)包的流程如下: 1) 某節(jié)點(diǎn)有與該請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)時(shí),返回相應(yīng)數(shù)據(jù)包,同時(shí)在數(shù)據(jù)包中添加數(shù)據(jù)緩存 標(biāo)識(shí)d; 2) 數(shù)據(jù)包到達(dá)節(jié)點(diǎn)時(shí),首先,查看數(shù)據(jù)緩存標(biāo)識(shí)d,如果d小于Ad,說(shuō)明當(dāng)前數(shù)據(jù)包已 在上游不遠(yuǎn)的節(jié)點(diǎn)存儲(chǔ),為了避免該數(shù)據(jù)在網(wǎng)內(nèi)冗余量過(guò)大,不存儲(chǔ)該數(shù)據(jù),到步驟6),否 則到步驟3); 3) 計(jì)算當(dāng)前節(jié)點(diǎn)該數(shù)據(jù)的平均請(qǐng)求等級(jí)與請(qǐng)求頻率,與請(qǐng)求包攜帶過(guò)來(lái)的下一跳節(jié)點(diǎn) 對(duì)應(yīng)的值進(jìn)行比較,判斷該數(shù)據(jù)是否能夠在下一節(jié)點(diǎn)存儲(chǔ),如果,下一節(jié)點(diǎn)滿足緩存條件, 那么,為了使數(shù)據(jù)緩存在離客戶端較近的位置,將數(shù)據(jù)傳到下一節(jié)點(diǎn),并將數(shù)據(jù)包中的數(shù)據(jù) 緩存標(biāo)識(shí)加1,轉(zhuǎn)到步驟2),如果,下一節(jié)點(diǎn)不滿足緩存條件或下一節(jié)點(diǎn)為客戶端節(jié)點(diǎn)時(shí), 將數(shù)據(jù)在當(dāng)前節(jié)點(diǎn)存儲(chǔ),到步驟4); 4) 數(shù)據(jù)如果要在節(jié)點(diǎn)存儲(chǔ),根據(jù)請(qǐng)求的等級(jí),及不同時(shí)間段該請(qǐng)求的請(qǐng)求頻率,計(jì)算該 數(shù)據(jù)在當(dāng)前節(jié)點(diǎn)的權(quán)重值; 5) 查看當(dāng)前節(jié)點(diǎn)的CS是否有空間存儲(chǔ)數(shù)據(jù),如果有則將數(shù)據(jù)存儲(chǔ),并將數(shù)據(jù)包中的數(shù) 據(jù)緩存標(biāo)識(shí)置〇,否則,判斷當(dāng)前數(shù)據(jù)的權(quán)重值是否大于CS中權(quán)重值最小的數(shù)據(jù),如果不大 于則無(wú)法緩存該數(shù)據(jù),將數(shù)據(jù)包中對(duì)應(yīng)的數(shù)據(jù)緩存標(biāo)識(shí)加1后發(fā)往下一節(jié)點(diǎn),轉(zhuǎn)到步驟6), 否則,刪除最小權(quán)重的數(shù)據(jù),再次執(zhí)行步驟5); 6) 再次執(zhí)行步驟2)到步驟5)直到數(shù)據(jù)包到達(dá)對(duì)應(yīng)客戶端為止。
【專利摘要】本發(fā)明涉及一種NDN/CCN中基于內(nèi)容等級(jí)及流行度的數(shù)據(jù)緩存替換方法,屬于互聯(lián)網(wǎng)通信技術(shù)領(lǐng)域。該方法在保證整個(gè)NDN/CCN網(wǎng)絡(luò)性能的前提下,在選擇數(shù)據(jù)放置節(jié)點(diǎn)位置時(shí),將數(shù)據(jù)緩存在盡可能靠近客戶端的節(jié)點(diǎn),同時(shí),為了保證整個(gè)網(wǎng)絡(luò)的性能,緩存數(shù)據(jù)的節(jié)點(diǎn)對(duì)數(shù)據(jù)的平均請(qǐng)求等級(jí)及該數(shù)據(jù)的請(qǐng)求頻率都需相對(duì)較高;此外,在數(shù)據(jù)需要在某節(jié)點(diǎn)緩存時(shí),如果緩存空間不足時(shí),需要通過(guò)該數(shù)據(jù)在本節(jié)點(diǎn)的請(qǐng)求等級(jí)及該數(shù)據(jù)在不同時(shí)間段內(nèi)的請(qǐng)求頻率算出其在本節(jié)點(diǎn)的權(quán)重值,然后,以此權(quán)重值為依據(jù),判斷是否需要通過(guò)刪除緩存中已有的數(shù)據(jù)來(lái)存儲(chǔ)該數(shù)據(jù)。保留一些請(qǐng)求等級(jí)以及流行度高的數(shù)據(jù),有利于提高整個(gè)網(wǎng)絡(luò)對(duì)緩存空間的利用效率。
【IPC分類】H04L12/24, H04L29/08
【公開(kāi)號(hào)】CN105049254
【申請(qǐng)?zhí)枴緾N201510460211
【發(fā)明人】黃勝, 滕明埝, 何玉杰, 向勁松, 劉煥淋
【申請(qǐng)人】重慶郵電大學(xué)
【公開(kāi)日】2015年11月11日
【申請(qǐng)日】2015年7月30日