本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種面向無線網(wǎng)格結(jié)構(gòu)內(nèi)容中心網(wǎng)絡(luò)的協(xié)作緩存方法。
背景技術(shù):
內(nèi)容中心網(wǎng)絡(luò)(content-centricnetworking,ccn)是一種新興的網(wǎng)絡(luò)架構(gòu),ccn將內(nèi)容代替位置作為通信模型的核心,能夠從根本上解決ip網(wǎng)絡(luò)在可擴(kuò)展性和內(nèi)容分發(fā)有效性方面存在的問題。內(nèi)容中心移動自組織網(wǎng)絡(luò)(contentcentricmanet,ccmanet)是將ccn以內(nèi)容為中心的思想應(yīng)用到移動自組織網(wǎng)絡(luò)(mobileadhocnetwork,manet)中形成的一種網(wǎng)絡(luò)架構(gòu)。隨著manet的快速發(fā)展,ccmanet的研究已逐漸成為熱點(diǎn)。
將ccn應(yīng)用于manet的目的在于提高無線自組網(wǎng)中用戶的內(nèi)容獲取效率,其中內(nèi)置緩存技術(shù)能夠有效減少網(wǎng)絡(luò)流量,提高用戶通信體驗(yàn),是ccmanet的重要關(guān)鍵技術(shù)。目前,ccmanet的研究尚處于起步階段,相關(guān)研究主要針對ccmanet的可行性研究和有效性驗(yàn)證等方面,對緩存技術(shù)的研究相對較少。傳統(tǒng)的lce(leavingcopieseverywhere)、lcd(leavecopydown)、probcache等緩存機(jī)制,雖然算法簡單易行,但會使得網(wǎng)絡(luò)中內(nèi)容冗余度較高而且節(jié)點(diǎn)命中率較低。為了改善網(wǎng)內(nèi)緩存性能,研究者將內(nèi)容流行度、節(jié)點(diǎn)屬性(介數(shù)、度數(shù)等)等參數(shù)加入到緩存機(jī)制設(shè)計(jì)中,實(shí)現(xiàn)網(wǎng)絡(luò)中節(jié)點(diǎn)間的協(xié)作緩存。
但是這些算法存在一個普遍的問題,即算法延續(xù)了ccn網(wǎng)絡(luò)的技術(shù)研究思路,在一個統(tǒng)一的背景下進(jìn)行技術(shù)研究,忽略了不同網(wǎng)絡(luò)自身的特點(diǎn)。而manet與有線骨干傳輸網(wǎng)絡(luò)不同,由于節(jié)點(diǎn)的自主性,存在無線mesh網(wǎng)絡(luò)、快速移動網(wǎng)(如車載網(wǎng))、無線傳感網(wǎng)等多種網(wǎng)絡(luò)形式。不同的網(wǎng)絡(luò)形式在網(wǎng)絡(luò)規(guī)模、信道帶寬、業(yè)務(wù)量、業(yè)務(wù)類型、移動性、節(jié)點(diǎn)緩存能力、計(jì)算能力和能量儲備等方面具有很大的差別,這些因素會直接影響緩存技術(shù)的可行性和應(yīng)用效果。如對于車載網(wǎng),基于介數(shù)、度數(shù)等節(jié)點(diǎn)屬性的緩存策略會因?yàn)榫W(wǎng)絡(luò)拓?fù)涞目焖僮兓?,耗費(fèi)大量的資源用于統(tǒng)計(jì)節(jié)點(diǎn)屬性;無線傳感器網(wǎng)絡(luò)的移動性則較小,但是緩存能力、計(jì)算能力和儲能較低,無法承載復(fù)雜的緩存算法;無線mesh網(wǎng)絡(luò)則基本不存在網(wǎng)絡(luò)拓?fù)淇焖僮兓蚬?jié)點(diǎn)能力受限的問題,但是作為骨干傳輸網(wǎng)絡(luò),卻存在嚴(yán)重的帶寬問題,采用基于介數(shù)的內(nèi)容集中緩存的方法將導(dǎo)致嚴(yán)重的路由沖突。因此,針對ccmanet的緩存技術(shù)研究必須進(jìn)行有針對性。
隨著移動通信技術(shù)的快速發(fā)展,各種規(guī)模的無線節(jié)點(diǎn)(cell、small-cell、micro-cell、pico-cell,femtocell、wifiap等)將形成一個巨大的無線覆蓋網(wǎng)絡(luò),為了實(shí)現(xiàn)靈活覆蓋,無線接入點(diǎn)之間可以進(jìn)行無線自組網(wǎng),形成無線mesh網(wǎng)絡(luò),成為泛在網(wǎng)絡(luò)的一種重要接入形式。將其與ccn技術(shù)相融合,使接入網(wǎng)成為為用戶提供內(nèi)容獲取服務(wù)的緩存池,能夠有效降低核心網(wǎng)的訪問壓力,大大提高用戶的訪問體驗(yàn)。當(dāng)前針對mccmant的緩存技術(shù)研究還很少,如何在無線mesh網(wǎng)絡(luò)結(jié)構(gòu)的ccmanet(后文簡稱mccmanet)中合理緩存,對于未來網(wǎng)絡(luò)的發(fā)展具有重要的應(yīng)用價值。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種內(nèi)容中心網(wǎng)絡(luò)的協(xié)作緩存方法,用于解決現(xiàn)有技術(shù)中內(nèi)容的命中響應(yīng)時間較長、服務(wù)器的訪問負(fù)載較大,內(nèi)容的命中率較低的問題。
本發(fā)明提供一種內(nèi)容中心網(wǎng)絡(luò)的協(xié)作緩存方法,包括:
對網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行分類獲得具有簇id的節(jié)點(diǎn)簇,并對節(jié)點(diǎn)簇內(nèi)的節(jié)點(diǎn)進(jìn)行等級設(shè)置,設(shè)置簇首節(jié)點(diǎn)等級為0,簇內(nèi)其他節(jié)點(diǎn)的等級按照距離簇首節(jié)點(diǎn)的距離設(shè)置;
當(dāng)當(dāng)前節(jié)點(diǎn)接收到用戶終端發(fā)送的賦有簇id的興趣包后,若檢測到所述當(dāng)前節(jié)點(diǎn)緩存有內(nèi)容包,則生成加入有所述興趣包的簇id的第一內(nèi)容包,并將所述第一內(nèi)容包通過興趣包的反向路徑返回;
當(dāng)中間節(jié)點(diǎn)接收到所述第一內(nèi)容包,若滿足第一預(yù)設(shè)條件,則所述中間節(jié)點(diǎn)緩存所述第一內(nèi)容包,并在確定所述第一內(nèi)容包存在于pit表時,將所述第一內(nèi)容包通過興趣包的反向路徑繼續(xù)返回。
可選地,所述第一預(yù)設(shè)條件包括:
所述中間節(jié)點(diǎn)未緩存有第一內(nèi)容包;
所述第一內(nèi)容包的簇id等于所述中間節(jié)點(diǎn)所屬節(jié)點(diǎn)簇的簇id;
所述第一內(nèi)容包的本地內(nèi)容流行度等于中間節(jié)點(diǎn)的節(jié)點(diǎn)等級。
可選地,還包括:
當(dāng)所述中間節(jié)點(diǎn)接收到所述第一內(nèi)容包,若滿足第二預(yù)設(shè)條件,則所述中間節(jié)點(diǎn)緩存所述第一內(nèi)容包,并在確定所述第一內(nèi)容包存在于pit表時,將所述第一內(nèi)容包通過興趣包的反向路徑繼續(xù)返回;
其中,所述第二預(yù)設(shè)條件包括:
所述中間節(jié)點(diǎn)未緩存有第一內(nèi)容包;
所述第一內(nèi)容包的簇id不等于所述中間節(jié)點(diǎn)所屬節(jié)點(diǎn)簇的簇id;
所述中間節(jié)點(diǎn)為簇首節(jié)點(diǎn)。
可選地,還包括:
當(dāng)所述中間節(jié)點(diǎn)接收到所述第一內(nèi)容包,若滿足第三預(yù)設(shè)條件,則在確定所述第一內(nèi)容包存在于pit表時,將所述第一內(nèi)容包通過興趣包的反向路徑繼續(xù)返回;
其中,所述第三預(yù)設(shè)條件包括:
所述中間節(jié)點(diǎn)未緩存有第一內(nèi)容包;
所述第一內(nèi)容包的簇id不等于所述中間節(jié)點(diǎn)所屬節(jié)點(diǎn)簇的簇id;
所述中間節(jié)點(diǎn)非簇首節(jié)點(diǎn)。
可選地,還包括:
當(dāng)所述中間節(jié)點(diǎn)接收到所述第一內(nèi)容包,若滿足第四預(yù)設(shè)條件,則在確定所述第一內(nèi)容包存在于pit表時,將所述第一內(nèi)容包通過興趣包的反向路徑繼續(xù)返回;
其中,所述第四預(yù)設(shè)條件包括:
所述中間節(jié)點(diǎn)未緩存有第一內(nèi)容包;
所述第一內(nèi)容包的簇id等于所述中間節(jié)點(diǎn)所屬節(jié)點(diǎn)簇的簇id;
所述中間節(jié)點(diǎn)的節(jié)點(diǎn)等級不等于所述中間節(jié)點(diǎn)所屬節(jié)點(diǎn)簇的內(nèi)容流程等級。
可選地,還包括:當(dāng)所述中間節(jié)點(diǎn)接收到所述第一內(nèi)容包,若所述中間節(jié)點(diǎn)緩存有所述第一內(nèi)容包,則在確定所述第一內(nèi)容包存在于pit表時,將所述第一內(nèi)容包通過興趣包的反向路徑繼續(xù)返回。
可選地,還包括:在確定所述第一內(nèi)容包不存在于pit表時,所述中間節(jié)點(diǎn)將所述第一內(nèi)容包丟棄。
可選地,還包括:當(dāng)當(dāng)前節(jié)點(diǎn)接收到興趣包后,在檢測所述興趣包簇id為零或等于所述當(dāng)前節(jié)點(diǎn)所屬節(jié)點(diǎn)簇的簇id時,計(jì)算獲得本地內(nèi)容流行度,并計(jì)算流行度等級;反之,計(jì)算獲得網(wǎng)絡(luò)內(nèi)容流行度。
可選地,還包括:當(dāng)當(dāng)前節(jié)點(diǎn)接收到興趣包后,若檢測到所述興趣包未設(shè)置簇id,則將當(dāng)前節(jié)點(diǎn)所屬節(jié)點(diǎn)簇的簇id設(shè)置為所述興趣包的簇id。
可選地,還包括:當(dāng)當(dāng)前節(jié)點(diǎn)接收到用戶終端發(fā)送的賦有簇id的興趣包后,若檢測到所述當(dāng)前節(jié)點(diǎn)未緩存有內(nèi)容包,則根據(jù)fib表繼續(xù)轉(zhuǎn)發(fā)興趣包。
由上述技術(shù)方案可知,本發(fā)明實(shí)施例提供的內(nèi)容中心網(wǎng)絡(luò)的協(xié)作緩存方法,利用無線mesh網(wǎng)絡(luò)結(jié)構(gòu)的穩(wěn)定特點(diǎn),采用分簇的方法將網(wǎng)絡(luò)分割為緩存簇,使本地用戶請求能夠快速從簇內(nèi)緩存響應(yīng),避免了長距離反饋,大大降低了網(wǎng)絡(luò)內(nèi)的路由沖突,同時采用本地內(nèi)容流行度和網(wǎng)絡(luò)流行度兩種流行度進(jìn)行衡量,在簇內(nèi)基于本地內(nèi)容流行度進(jìn)行緩存判決和更新,保證流行度越高的內(nèi)容的存儲位置越靠近邊緣,提高響應(yīng)效率;在網(wǎng)絡(luò)范圍內(nèi)利用簇首節(jié)點(diǎn)進(jìn)行緩存,并基于網(wǎng)絡(luò)內(nèi)容流行度進(jìn)行緩存更新,保證了簇首節(jié)點(diǎn)的內(nèi)容多樣性,提高了網(wǎng)絡(luò)內(nèi)容的命中率。
附圖說明
圖1為本發(fā)明實(shí)施例提供的內(nèi)容中心網(wǎng)絡(luò)的協(xié)作緩存方法的步驟流程示意圖;
圖2為本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)節(jié)點(diǎn)分簇的示意圖;
圖3為本發(fā)明實(shí)施例提供的內(nèi)容流行度計(jì)算的流程示意圖;
圖4為本發(fā)明實(shí)施例提供的當(dāng)前節(jié)點(diǎn)的處理流程示意圖;
圖5為本發(fā)明實(shí)施例提供的中間節(jié)點(diǎn)的處理流程示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例,對本發(fā)明的具體實(shí)施方式作進(jìn)一步詳細(xì)描述。以下實(shí)施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
圖1示出了本發(fā)明實(shí)施例提供一種內(nèi)容中心網(wǎng)絡(luò)的協(xié)作緩存方法,包括:
s1、對網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行分類獲得具有簇id的節(jié)點(diǎn)簇,并對節(jié)點(diǎn)簇內(nèi)的節(jié)點(diǎn)進(jìn)行等級設(shè)置,設(shè)置簇首節(jié)點(diǎn)等級為0,簇內(nèi)其他節(jié)點(diǎn)的等級按照距離簇首節(jié)點(diǎn)的距離設(shè)置。
在本步驟中,需要說明的是,在本發(fā)明實(shí)施例中,每一個節(jié)點(diǎn)簇可賦予對應(yīng)的簇id。對網(wǎng)絡(luò)節(jié)點(diǎn)的分簇是基于gds進(jìn)行網(wǎng)絡(luò)分簇和節(jié)點(diǎn)分級。具體如下:
對于一個給定圖g=(v,e),v指圖中的點(diǎn)集合,e指圖中的邊集合。假設(shè)點(diǎn)集合
給定圖g,其m-gds的構(gòu)建算法如下:
第一步:將所有節(jié)點(diǎn)標(biāo)記為白色。
第二步:計(jì)算出每個節(jié)點(diǎn)的度數(shù)。其中,度數(shù)為某一節(jié)點(diǎn)連接其他節(jié)點(diǎn)的個數(shù)。
第三步:將度數(shù)最大的節(jié)點(diǎn)u標(biāo)記為黑色,距離黑色節(jié)點(diǎn)m跳的節(jié)點(diǎn)變?yōu)榛疑?,并放入其nm(u)。
第四步:計(jì)算所有灰色節(jié)點(diǎn)v的d(v),d(v)表示nm(v)中的節(jié)點(diǎn)個數(shù)。
第五步:將d(v)最大的節(jié)點(diǎn)標(biāo)記為w,并標(biāo)記為黑色,其nm(w)中的節(jié)點(diǎn)表為灰色。
重復(fù)三、四步,直到圖中所有的節(jié)點(diǎn)都變?yōu)楹谏蚧疑?。所有的黑色?jié)點(diǎn)就組成了m-gds集合。
在獲得m-gds集合的基礎(chǔ)上,對圖進(jìn)行分簇,并基于到達(dá)簇首節(jié)點(diǎn)的距離對簇內(nèi)節(jié)點(diǎn)進(jìn)行分級,算法如下:
第一步:將黑色節(jié)點(diǎn)的節(jié)點(diǎn)等級設(shè)為0;
第二步:所有灰色節(jié)點(diǎn)計(jì)算到達(dá)黑色節(jié)點(diǎn)的跳數(shù)。
第三步:若最短路徑對應(yīng)黑色節(jié)點(diǎn)唯一,則選中該黑色節(jié)點(diǎn)作為簇首節(jié)點(diǎn),加入該簇,將節(jié)點(diǎn)等級設(shè)為到達(dá)簇首節(jié)點(diǎn)的跳數(shù),并設(shè)置簇id。
第四步:若最短路徑對應(yīng)黑色節(jié)點(diǎn)不唯一,查看到達(dá)黑色節(jié)點(diǎn)的上級節(jié)點(diǎn)的度數(shù),選擇并加入度數(shù)較小的節(jié)點(diǎn)所在簇,將節(jié)點(diǎn)等級設(shè)為到達(dá)簇首節(jié)點(diǎn)的跳數(shù),并設(shè)置簇id。
重復(fù)三、四步,直到所有節(jié)點(diǎn)都成為簇節(jié)點(diǎn)。
如取m=2時,基于gds對網(wǎng)絡(luò)的分簇結(jié)果如圖2所示。通過分簇,由簇首節(jié)點(diǎn)進(jìn)行網(wǎng)內(nèi)緩存,能夠有效分散用戶從內(nèi)容服務(wù)器進(jìn)行內(nèi)容訪問的訪問壓力,并降低長距離傳輸造成的路由沖突和時延?;趍-gds分簇方式,使簇內(nèi)緩存獲取距離保持在m跳以內(nèi),保證了不同位置用戶的訪問效率。
s2、當(dāng)當(dāng)前節(jié)點(diǎn)接收到用戶終端發(fā)送的賦有簇id的興趣包后,若檢測到所述當(dāng)前節(jié)點(diǎn)緩存有內(nèi)容包,則生成加入有所述興趣包的簇id的第一內(nèi)容包,并將所述第一內(nèi)容包通過興趣包的反向路徑返回。
在本步驟中,需要說明的是,在本發(fā)明實(shí)施例中,當(dāng)當(dāng)前節(jié)點(diǎn)接收到用戶終端發(fā)送的興趣包后,該興趣包被檢測到已加入簇id。同時還檢測到該當(dāng)前節(jié)點(diǎn)緩存有內(nèi)容包,該內(nèi)容包與用戶終端或節(jié)點(diǎn)發(fā)送的興趣包相匹配。隨后將內(nèi)容包加入興趣包的簇id,即第一內(nèi)容包。將所述第一內(nèi)容包返回給客戶終端。
另外,還需要說明的其他情況如下:
當(dāng)當(dāng)前節(jié)點(diǎn)接收到興趣包后,在檢測所述興趣包簇id為零或等于所述當(dāng)前節(jié)點(diǎn)所屬節(jié)點(diǎn)簇的簇id時,計(jì)算獲得本地內(nèi)容流行度,并計(jì)算流行度等級;反之,計(jì)算獲得網(wǎng)絡(luò)內(nèi)容流行度。
本地內(nèi)容流行度
其中,ni表示內(nèi)容i在δt時間段內(nèi)被本地用戶的訪問次數(shù);δt表示統(tǒng)計(jì)時間間隔。
網(wǎng)絡(luò)內(nèi)容流行度(pi):計(jì)算當(dāng)前簇首節(jié)點(diǎn)收到的所有關(guān)于內(nèi)容i的請求頻率,計(jì)算方法如公式(2)所示:
pi=ni/t(2)
其中,ni表示在內(nèi)容i在t時間段內(nèi)被訪問的次數(shù);t表示統(tǒng)計(jì)時間間隔,t>δt。
本地流行度等級(l):將本地內(nèi)容流行度分為m個等級,劃分方法如公式(3)所示。
其中,k∈[0,m-1],分別指在給定周期時間內(nèi)統(tǒng)計(jì)得到的最小流行度值和最大流行度值,pk=pmin+k*δp,δp=(pmax-pmin)/m。,pmin和pmax分別指在給定周期時間內(nèi)統(tǒng)計(jì)得到的最小流行度值和最大流行度值。
另外,當(dāng)當(dāng)前節(jié)點(diǎn)接收到用戶終端發(fā)送的興趣包后,若檢測所述興趣包未設(shè)置簇id,則將所述興趣包中的簇id字段設(shè)置為所述當(dāng)前節(jié)點(diǎn)所屬節(jié)點(diǎn)簇的簇id。
當(dāng)當(dāng)前節(jié)點(diǎn)接收到用戶終端發(fā)送的賦有簇id的興趣包后,若檢測到所述當(dāng)前節(jié)點(diǎn)未緩存有內(nèi)容包,則根據(jù)fib繼續(xù)轉(zhuǎn)發(fā)興趣包,即從當(dāng)前節(jié)點(diǎn)向其他節(jié)點(diǎn)發(fā)送興趣包。
s3、當(dāng)中間節(jié)點(diǎn)接收到所述第一內(nèi)容包,若滿足第一預(yù)設(shè)條件,則所述中間節(jié)點(diǎn)緩存所述第一內(nèi)容包,并在確定所述第一內(nèi)容包存在于pit表時,將所述第一內(nèi)容包通過興趣包的反向路徑繼續(xù)返回。
其中,所述第一預(yù)設(shè)條件包括:
所述中間節(jié)點(diǎn)未緩存有第一內(nèi)容包;
所述第一內(nèi)容包的簇id等于所述中間節(jié)點(diǎn)所屬節(jié)點(diǎn)簇的簇id;
所述第一內(nèi)容包的本地內(nèi)容流行度等于中間節(jié)點(diǎn)的節(jié)點(diǎn)等級。
在本步驟中,需要說明的是,由于第一內(nèi)容包會通過興趣包的反向路徑進(jìn)行返回。因此,在返回過程中,一般會經(jīng)過中間節(jié)點(diǎn)(除當(dāng)前節(jié)點(diǎn)的其他節(jié)點(diǎn)),最后到達(dá)用戶終端。
在本發(fā)明實(shí)施例中,當(dāng)中間節(jié)點(diǎn)接收到第一內(nèi)容包后,首先會檢測中間節(jié)點(diǎn)是否存有第一內(nèi)容包。此時的第一內(nèi)容包是未加入簇id的內(nèi)容包。當(dāng)檢測到中間節(jié)點(diǎn)未緩存有第一內(nèi)容包,則繼續(xù)檢測判斷所述第一內(nèi)容包的簇id是否等于所述中間節(jié)點(diǎn)所屬節(jié)點(diǎn)簇的簇id。當(dāng)檢測確定所述第一內(nèi)容包的簇id等于所述中間節(jié)點(diǎn)所屬節(jié)點(diǎn)簇的簇id后,再繼續(xù)檢測所述第一內(nèi)容包的本地內(nèi)容流行度等于中間節(jié)點(diǎn)的節(jié)點(diǎn)等級,當(dāng)檢測確定所述第一內(nèi)容包的本地內(nèi)容流行度等于中間節(jié)點(diǎn)的節(jié)點(diǎn)等級后,所述中間節(jié)點(diǎn)緩存所述第一內(nèi)容包,并在確定所述中間節(jié)點(diǎn)存在于預(yù)設(shè)未決信息表時,將所述第一內(nèi)容包繼續(xù)返回。
在本發(fā)明實(shí)施例中,還需要說明的是,上述步驟s3僅僅是本發(fā)明需要處理的一種情況,下面對其他情況進(jìn)行解釋說明。
a、所述中間節(jié)點(diǎn)接收到所述第一內(nèi)容包,若滿足第二預(yù)設(shè)條件,則所述中間節(jié)點(diǎn)緩存所述第一內(nèi)容包,并在確定所述第一內(nèi)容包存在于pit表時,將所述第一內(nèi)容包通過興趣包的反向路徑繼續(xù)返回;
其中,所述第二預(yù)設(shè)條件包括:
所述中間節(jié)點(diǎn)未緩存有第一內(nèi)容包;
所述第一內(nèi)容包的簇id不等于所述中間節(jié)點(diǎn)所屬節(jié)點(diǎn)簇的簇id;
所述中間節(jié)點(diǎn)為簇首節(jié)點(diǎn)。
b、當(dāng)所述中間節(jié)點(diǎn)接收到所述第一內(nèi)容包,若滿足第三預(yù)設(shè)條件,則在確定所述第一內(nèi)容包存在于pit表時,將所述第一內(nèi)容包通過興趣包的反向路徑繼續(xù)返回;
其中,所述第三預(yù)設(shè)條件包括:
所述中間節(jié)點(diǎn)未緩存有第一內(nèi)容包;
所述第一內(nèi)容包的簇id不等于所述中間節(jié)點(diǎn)所屬節(jié)點(diǎn)簇的簇id;
所述中間節(jié)點(diǎn)非簇首節(jié)點(diǎn)。
c、當(dāng)所述中間節(jié)點(diǎn)接收到所述第一內(nèi)容包,若滿足第四預(yù)設(shè)條件,則在確定所述第一內(nèi)容包存在于pit表時,將所述第一內(nèi)容包通過興趣包的反向路徑繼續(xù)返回;
其中,所述第四預(yù)設(shè)條件包括:
所述中間節(jié)點(diǎn)未緩存有第一內(nèi)容包;
所述第一內(nèi)容包的簇id等于所述中間節(jié)點(diǎn)所屬節(jié)點(diǎn)簇的簇id;
所述中間節(jié)點(diǎn)的節(jié)點(diǎn)等級不等于所述中間節(jié)點(diǎn)所屬節(jié)點(diǎn)簇的內(nèi)容流程等級。
d、當(dāng)所述中間節(jié)點(diǎn)接收到所述第一內(nèi)容包,若所述中間節(jié)點(diǎn)緩存有所述第一內(nèi)容包,則在確定所述第一內(nèi)容包存在于pit表時,將所述第一內(nèi)容包通過興趣包的反向路徑繼續(xù)返回。
對于上述的多種情況,在確定所述中間節(jié)點(diǎn)不存在于預(yù)設(shè)未決信息表時,所述中間節(jié)點(diǎn)停止將所述第一內(nèi)容包繼續(xù)返回給所述客戶終端。
對于上述的多種情況,以圖3-圖5分別對部分流程進(jìn)行解釋說明:
如圖3所示,當(dāng)當(dāng)前節(jié)點(diǎn)收到一個興趣包時,檢查興趣包的簇id是否為全零或者是否等于本地簇id,若是,計(jì)算本地內(nèi)容流行度和流行度等級;若否,計(jì)算網(wǎng)絡(luò)內(nèi)容流行度,跳轉(zhuǎn)結(jié)束。
如圖4所示,當(dāng)當(dāng)前節(jié)點(diǎn)收到一個興趣包時,檢查興趣包中的簇id標(biāo)識是否已賦值:若是,檢查當(dāng)前節(jié)點(diǎn)是否緩存該內(nèi)容;若緩存該內(nèi)容,生成內(nèi)容包,并在內(nèi)容包中加入興趣包中攜帶的簇id,根據(jù)pit表返回內(nèi)容包。若不緩存該內(nèi)容,根據(jù)fib表進(jìn)行路由轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)后跳轉(zhuǎn)結(jié)束。
若未賦值,說明當(dāng)前節(jié)點(diǎn)為該用戶的訪問入口節(jié)點(diǎn),修改興趣包中的簇id為當(dāng)前節(jié)點(diǎn)所在節(jié)點(diǎn)簇的簇id,然后檢查當(dāng)前節(jié)點(diǎn)是否緩存該內(nèi)容。
如圖5所示,沿途中間節(jié)點(diǎn)收到內(nèi)容包后,查看是否已存儲該內(nèi)容,若存儲該內(nèi)容,查看pit表是否有該內(nèi)容的對應(yīng)項(xiàng),若有該內(nèi)容的對應(yīng)項(xiàng),則根據(jù)pit表返回內(nèi)容包,若沒有該內(nèi)容的對應(yīng)項(xiàng),則結(jié)束。
若不存儲該內(nèi)容,則查看內(nèi)容包中的簇id是否等于本地簇id,若是,查看內(nèi)容流行度等級是否與節(jié)點(diǎn)等級一致;若不是,查看當(dāng)前節(jié)點(diǎn)是否是簇首節(jié)點(diǎn)。
若內(nèi)容流行度等級與節(jié)點(diǎn)等級一致,則緩存內(nèi)容;反之,查看pit表是否有該內(nèi)容的對應(yīng)項(xiàng),若有該內(nèi)容的對應(yīng)項(xiàng),則根據(jù)pit表返回內(nèi)容包,若沒有該內(nèi)容的對應(yīng)項(xiàng),則結(jié)束。
若當(dāng)前節(jié)點(diǎn)是簇首節(jié)點(diǎn),則緩存內(nèi)容;反之,查看pit表是否有該內(nèi)容的對應(yīng)項(xiàng),若有該內(nèi)容的對應(yīng)項(xiàng),則根據(jù)pit表返回內(nèi)容包,若沒有該內(nèi)容的對應(yīng)項(xiàng),則結(jié)束。
本發(fā)明實(shí)施例提供的內(nèi)容中心網(wǎng)絡(luò)的協(xié)作緩存方法,利用無線mesh網(wǎng)絡(luò)結(jié)構(gòu)的穩(wěn)定特點(diǎn),采用分簇的方法將網(wǎng)絡(luò)分割為緩存簇,使本地用戶請求能夠快速從簇內(nèi)緩存響應(yīng),避免了長距離反饋,大大降低了網(wǎng)絡(luò)內(nèi)的路由沖突,同時采用本地內(nèi)容流行度和網(wǎng)絡(luò)流行度兩種流行度進(jìn)行衡量,在簇內(nèi)基于本地內(nèi)容流行度進(jìn)行緩存判決和更新,保證流行度越高的內(nèi)容的存儲位置越靠近邊緣,提高響應(yīng)效率;在網(wǎng)絡(luò)范圍內(nèi)利用簇首節(jié)點(diǎn)進(jìn)行緩存,并基于網(wǎng)絡(luò)內(nèi)容流行度進(jìn)行緩存更新,保證了簇首節(jié)點(diǎn)的內(nèi)容多樣性,提高了網(wǎng)絡(luò)內(nèi)容的命中率。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
應(yīng)該注意的是上述實(shí)施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
本領(lǐng)域普通技術(shù)人員可以理解:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明權(quán)利要求所限定的范圍。