一種ndn/ccn中基于內(nèi)容等級(jí)及流行度的數(shù)據(jù)緩存替換方法【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明屬于互聯(lián)網(wǎng)通信
技術(shù)領(lǐng)域:
,涉及一種NDN/CCN中基于內(nèi)容等級(jí)及流行度的數(shù)據(jù)緩存替換方法。【
背景技術(shù):
】[0002]隨著互聯(lián)網(wǎng)的發(fā)展,不斷涌現(xiàn)出的新服務(wù)、新應(yīng)用使得網(wǎng)絡(luò)中的數(shù)據(jù)流量呈爆炸式增加,用戶(hù)對(duì)數(shù)據(jù)請(qǐng)求的要求不斷提升。在此背景下,傳統(tǒng)的以主機(jī)為中心的網(wǎng)絡(luò)體系結(jié)構(gòu)已經(jīng)難以滿(mǎn)足當(dāng)前互聯(lián)網(wǎng)的發(fā)展。研究者為了打破傳統(tǒng)互聯(lián)網(wǎng)TCP/IP結(jié)構(gòu)的束縛,設(shè)計(jì)一種全新的互聯(lián)網(wǎng)架構(gòu)。在對(duì)新的網(wǎng)絡(luò)結(jié)構(gòu)的研究中,將數(shù)據(jù)看作網(wǎng)絡(luò)的核心,把信息中心網(wǎng)絡(luò)(Information-CentricNetworking,ICN)作為一種革命式(clean-slate)的未來(lái)互聯(lián)網(wǎng)設(shè)計(jì)思路,成為未來(lái)互聯(lián)網(wǎng)設(shè)計(jì)的重要模式。其中,命名數(shù)據(jù)網(wǎng)絡(luò)(NamedDataNetworking,NDN)/內(nèi)容中心網(wǎng)絡(luò)(ContentCentricNetworking,CCN)作為典型的ICN體系結(jié)構(gòu)范例,在中間層用命名數(shù)據(jù)取代IP,數(shù)據(jù)傳輸采用"請(qǐng)求-響應(yīng)"模式,直接以?xún)?nèi)容名字進(jìn)行路由,實(shí)現(xiàn)點(diǎn)到多點(diǎn)高效的內(nèi)容分發(fā)。最重要的是NDN/CCN節(jié)點(diǎn)中增加了存儲(chǔ)數(shù)據(jù)的內(nèi)容存儲(chǔ)庫(kù)(ContentStore,CS),因此,所有NDN/CCN節(jié)點(diǎn)都具有對(duì)經(jīng)過(guò)的數(shù)據(jù)包進(jìn)行存儲(chǔ)的功能,當(dāng)再次有相同的請(qǐng)求包到達(dá)該節(jié)點(diǎn)時(shí)就可以直接將CS中對(duì)應(yīng)的數(shù)據(jù)返回,無(wú)需發(fā)往服務(wù)器節(jié)點(diǎn)。提高了用戶(hù)請(qǐng)求數(shù)據(jù)時(shí)的體驗(yàn)并減輕服務(wù)器端的壓力。[0003]在這種以數(shù)據(jù)(或內(nèi)容)為核心的未來(lái)互聯(lián)網(wǎng)架構(gòu)中,主要有兩種類(lèi)型的數(shù)據(jù)包,第一種是用戶(hù)請(qǐng)求某個(gè)數(shù)據(jù)時(shí)所發(fā)送的包含數(shù)據(jù)名稱(chēng)的請(qǐng)求包(InterestPacket),此請(qǐng)求包主要包含數(shù)據(jù)的名稱(chēng),可選擇字段以及隨機(jī)號(hào),在本專(zhuān)利中為了使下游節(jié)點(diǎn)知道上游節(jié)點(diǎn)數(shù)據(jù)的請(qǐng)求情況,因此,在請(qǐng)求包中還增添了當(dāng)前請(qǐng)求在當(dāng)前節(jié)點(diǎn)的平均請(qǐng)求等級(jí)與總請(qǐng)求頻率。第二種是與請(qǐng)求名稱(chēng)匹配的攜帶有相應(yīng)內(nèi)容的數(shù)據(jù)包(DataPacket),此數(shù)據(jù)包中主要攜帶有數(shù)據(jù)名稱(chēng)及數(shù)據(jù)等信息。[0004]在NDN/CCN中除了上述提到了CS模塊外NDN/CCN還具有未決請(qǐng)求表(PendingInterestTable,PIT)模塊以及轉(zhuǎn)發(fā)信息庫(kù)(ForwardingInformationBase,F(xiàn)IB)模塊。當(dāng)興趣包到達(dá)節(jié)點(diǎn)時(shí),先根據(jù)興趣包中所請(qǐng)求的數(shù)據(jù)名稱(chēng)查找CS中是否存儲(chǔ)了該請(qǐng)求所對(duì)應(yīng)的數(shù)據(jù),若存在,則將數(shù)據(jù)包發(fā)出,否則,節(jié)點(diǎn)會(huì)搜索PIT表判斷是否存在相同的請(qǐng)求條目,若存在,則將請(qǐng)求包進(jìn)入節(jié)點(diǎn)對(duì)應(yīng)的接口添加到相應(yīng)的條目中,否則,將在PIT中添加一個(gè)該請(qǐng)求對(duì)應(yīng)的新的PIT條目,并且查找節(jié)點(diǎn)的FIB,在FIB中如果存在與請(qǐng)求對(duì)應(yīng)的轉(zhuǎn)發(fā)接口,那么,就根據(jù)相應(yīng)的接口將數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)到下一節(jié)點(diǎn),否則,將該請(qǐng)求包拋棄。數(shù)據(jù)包到達(dá)時(shí),節(jié)點(diǎn)將在PIT中查找與數(shù)據(jù)包名稱(chēng)相對(duì)應(yīng)的條目,根據(jù)請(qǐng)求包進(jìn)入節(jié)點(diǎn)的接口,將數(shù)據(jù)包沿請(qǐng)求包的相反方向發(fā)往所需客戶(hù)端節(jié)點(diǎn)。[0005]文獻(xiàn)(ChiocchettiR.PerinoD.CarofiglioG,etal."INFORM:adynamicInterestForwardingMechanismforInformationCentricNetworking[C].ACMSIGC0MMWorkshoponInformation-CentricNetworking',,HongKong.China,2013:9-14),對(duì)于NDN指出,合理的內(nèi)容放置和緩存決策,是有效發(fā)揮網(wǎng)絡(luò)性能的關(guān)鍵因素,但由于NDN泛濫式的沿途全部緩存方式(CacheEverythingEverywhere,CE2),并且在緩存決策時(shí),缺乏對(duì)內(nèi)容流行度以及數(shù)據(jù)請(qǐng)求等級(jí)因素的考慮,無(wú)法實(shí)現(xiàn)內(nèi)容的優(yōu)化存儲(chǔ),不能夠很好的滿(mǎn)足用戶(hù)的需求。文獻(xiàn)(LiTao,LiYuhong."AnewmethodbasedontheheatofthecontentofNDNcachereplacementalgorithm.''ChinaScienceandtechnologypaperonline.2012)指出,通過(guò)對(duì)熱度值計(jì)算,并將其保存在NDN中新增的一張CPT(contentpopularitytable)表中,在緩存替換過(guò)程中選擇熱度最小的內(nèi)容進(jìn)行替換,雖然考慮了內(nèi)容流行度,但缺乏對(duì)數(shù)據(jù)請(qǐng)求等級(jí)考慮,并不能有效的提高用戶(hù)請(qǐng)求數(shù)據(jù)時(shí)的體驗(yàn)。[0006]上述NDN緩存或替換策略在一定層度上能夠有效的提高整個(gè)網(wǎng)絡(luò)的性能。但是,與目前絕大多數(shù)NDN數(shù)據(jù)替換與緩存策略一樣,忽略了客戶(hù)端對(duì)數(shù)據(jù)需求的差異性。由于不同的客戶(hù)端對(duì)同一數(shù)據(jù)往往有不一樣的需求,某數(shù)據(jù)對(duì)某一用戶(hù)而言可能請(qǐng)求的頻率較低,但是,該數(shù)據(jù)對(duì)用戶(hù)而言有很高的等級(jí)(即該數(shù)據(jù)對(duì)用戶(hù)而言很重要),那么,我們也需要給該數(shù)據(jù)提供必要的服務(wù)(這里主要是指對(duì)數(shù)據(jù)的緩存和替換),并且在數(shù)據(jù)權(quán)重值的獲取上絕大多數(shù)策略都忽略了數(shù)據(jù)權(quán)重值的實(shí)時(shí)性,因此,本發(fā)明根據(jù)數(shù)據(jù)的請(qǐng)求等級(jí)及不同時(shí)間段的請(qǐng)求頻率,得到更加合理的能夠反應(yīng)當(dāng)前數(shù)據(jù)情況的權(quán)重值?!?br/>發(fā)明內(nèi)容】[0007]有鑒于此,本發(fā)明的目的在于提供一種NDN/CCN中基于內(nèi)容等級(jí)及流行度的數(shù)據(jù)緩存替換方法,該方法在保證整個(gè)NDN/CCN網(wǎng)絡(luò)性能的前提下,將用戶(hù)對(duì)數(shù)據(jù)的請(qǐng)求等級(jí)作為了數(shù)據(jù)存儲(chǔ)的重要依據(jù),這樣能夠?qū)χ匾臄?shù)據(jù)提供必要的服務(wù),從而提高用戶(hù)對(duì)數(shù)據(jù)請(qǐng)求的滿(mǎn)意度。并且,在不影響整個(gè)網(wǎng)絡(luò)請(qǐng)求數(shù)據(jù)的前提下,盡可能的將重要數(shù)據(jù)緩存在離客戶(hù)端較近的節(jié)點(diǎn),當(dāng)用戶(hù)請(qǐng)求數(shù)據(jù)時(shí),有效的減少了數(shù)據(jù)包的傳輸距離與時(shí)延,同時(shí)避免了網(wǎng)絡(luò)資源的浪費(fèi),一定程度上緩解了網(wǎng)絡(luò)的擁塞與服務(wù)器的壓力。[0008]為達(dá)到上述目的,本發(fā)明提供如下技術(shù)方案:[0009]-種NDN/CCN中基于內(nèi)容等級(jí)及流行度的數(shù)據(jù)緩存替換方法,包括數(shù)據(jù)緩存方法和數(shù)據(jù)替換方法;[0010]所述數(shù)據(jù)緩存方法是依據(jù)數(shù)據(jù)包在節(jié)點(diǎn)的平均請(qǐng)求等級(jí)及請(qǐng)求頻率,在數(shù)據(jù)包返回客戶(hù)端經(jīng)過(guò)的所有節(jié)點(diǎn)中,依據(jù)數(shù)據(jù)存儲(chǔ)條件選擇數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn);[0011]所述數(shù)據(jù)替換方法是當(dāng)節(jié)點(diǎn)的緩存空間不足時(shí),節(jié)點(diǎn)依據(jù)客戶(hù)端對(duì)數(shù)據(jù)的請(qǐng)求等級(jí)及相應(yīng)等級(jí)在不同時(shí)間段內(nèi)用戶(hù)的請(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ǔ)的位置。[0012]進(jìn)一步,所述數(shù)據(jù)緩存方法具體包括以下步驟:[0013]首先,在數(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小于△d,則會(huì)將數(shù)據(jù)傳輸?shù)较乱惶?jié)點(diǎn),否則,通過(guò)比較此節(jié)點(diǎn)和下一跳節(jié)點(diǎn)的該請(qǐng)求客戶(hù)端的平均請(qǐng)求等級(jí)及請(qǐng)求頻率;[0014]其次,由劣-if和&-S/決定數(shù)據(jù)是否存儲(chǔ)到本節(jié)點(diǎn),如果兩個(gè)條件都滿(mǎn)足,則將數(shù)據(jù)傳到下一節(jié)點(diǎn),否則,將數(shù)據(jù)存儲(chǔ)到本節(jié)點(diǎn),同時(shí)將數(shù)據(jù)包中標(biāo)識(shí)d置0當(dāng)前第1頁(yè)1 2 3 4