基于內(nèi)容流行度和節(jié)點替換率的緩存方法及裝置的制造方法
【技術領域】
[0001] 本發(fā)明設及無線通信技術領域,具體設及一種基于內(nèi)容流行度和節(jié)點替換率的緩 存方法及裝置。
【背景技術】
[0002] 移動自組織網(wǎng)絡(MobileAd化C化twork,MANET)因其無需基礎設施、組網(wǎng)快捷、 抗毀性強等特點受到越來越多的關注,并且在軍事和民用領域都具有廣闊的應用前景。但 是,MANETE中節(jié)點自由移動引起的網(wǎng)絡拓撲動態(tài)變化W及缺乏基礎設施的有效控制,導致 基于TCP/IP協(xié)議的MANET難W建立穩(wěn)定的端到端鏈路,運不僅使得網(wǎng)絡難W實現(xiàn)高效的數(shù) 據(jù)傳輸,也阻礙了MANET的實際應用。
[0003] 內(nèi)容中屯、網(wǎng)絡(ContentCentric化twork,CCN)屬于"革命式"的未來互聯(lián)網(wǎng)體 系架構,能夠從根本上解決IP網(wǎng)絡在可擴展性和內(nèi)容分發(fā)有效性方面存在的問題。CCN使 用內(nèi)容名字而不是IP地址進行數(shù)據(jù)傳遞,讓內(nèi)容本身成為網(wǎng)絡中的核屯、要素,使得因特網(wǎng) 從IP無視內(nèi)容(content-oblivious)的網(wǎng)絡變成面向內(nèi)容(content-oriented)的網(wǎng)絡。
[0004] 內(nèi)容中屯、移動自組織網(wǎng)絡(ContentCentricMANET,CCMANET)是將內(nèi)容中屯、網(wǎng)絡 (ContentCentric化twork,CCN)中^內(nèi)容為中屯、的思想應用到移動自組織網(wǎng)絡(Mobile Ad化C化twork,MANET)中而形成的新型網(wǎng)絡架構。在CCMANET中,請求節(jié)點需要某一內(nèi)容 數(shù)據(jù)時會向周圍鄰居節(jié)點廣播興趣包(Interest化Cket),當一個節(jié)點收到該興趣包時,它 首先檢查本地緩存是否有請求的數(shù)據(jù),如果緩存有該數(shù)據(jù),則直接返回給請求節(jié)點;否則, 用戶請求會轉(zhuǎn)發(fā)給下一跳節(jié)點直至到達一個緩存有請求內(nèi)容的節(jié)點或者源服務節(jié)點(統(tǒng) 稱為服務節(jié)點)。服務節(jié)點會沿興趣包路徑回傳內(nèi)容數(shù)據(jù)包值ataPacket)至請求節(jié)點,路 徑上的任何節(jié)點都可W根據(jù)某種原則,決定是否需要緩存該內(nèi)容的副本,W滿足其他節(jié)點 對該內(nèi)容的后續(xù)請求。CCMNET能夠克服傳統(tǒng)MNET中的許多缺點,并帶來新的特性。例 如:不需要為每個節(jié)點分配IP地址,基于內(nèi)容名的路由避免了路由回路,提高了內(nèi)容傳輸 中的安全性等。 陽〇化]目前國內(nèi)外有關CCMANET的研究正處于起步階段,并逐步成為一個新的研究熱 點。無論對CCN還是對MA肥T來說,緩存都是其關鍵技術之一。因此,對結(jié)合了CCN和MA肥T 的CCMANET來說,緩存必然也是其關鍵技術之一。CCMANET的基本策略LCE化eaveCopy Everywhere)是在數(shù)據(jù)包返回路徑的每個節(jié)點都緩存該內(nèi)容。運種策略會在網(wǎng)絡中產(chǎn)生大 量內(nèi)容冗余備份,降低內(nèi)容的多樣性。
【發(fā)明內(nèi)容】
[0006] 針對現(xiàn)有技術中的缺陷,本發(fā)明提供了一種基于內(nèi)容流行度和節(jié)點替換率的緩存 方法及裝置,減少了網(wǎng)絡中數(shù)據(jù)的冗余,提高了內(nèi)容的多樣性。
[0007] 第一方面,本發(fā)明提供一種基于內(nèi)容流行度和節(jié)點替換率的緩存方法,包括:
[0008] 在將服務節(jié)點請求的數(shù)據(jù)包回傳至請求節(jié)點時,在所述數(shù)據(jù)包中設置指針K,并對 所述指針賦值緩存間隔M;
[0009] 在所述數(shù)據(jù)包回傳時,每經(jīng)過一個節(jié)點,所述指針K減1 ;
[0010] 檢測所述數(shù)據(jù)包是否到達請求節(jié)點,若到達,則結(jié)束;否則,判斷所述指針K是否 為0 ;
[0011] 根據(jù)判斷結(jié)果,緩存所述數(shù)據(jù)包。
[0012] 可選的,所述根據(jù)判斷結(jié)果,緩存所述數(shù)據(jù)包,包括:
[0013] 在所述指針K為0時,判斷當前節(jié)點剩余緩存空間是否能容納新數(shù)據(jù)包;
[0014] 在當前節(jié)點剩余緩存空間能容納新數(shù)據(jù)包時,則在該節(jié)點緩存所述數(shù)據(jù)包,同時 繼續(xù)向下一節(jié)點轉(zhuǎn)發(fā)所述數(shù)據(jù)包,重置K=M; 引 或,
[0016] 在當前節(jié)點剩余緩存空間不能夠容納新數(shù)據(jù)包時,計算該節(jié)點及其相鄰節(jié)點的內(nèi) 容替換率,并將所述數(shù)據(jù)包緩存在內(nèi)容替換率最小的節(jié)點上,依次替換所述內(nèi)容替換率最 小的節(jié)點上的內(nèi)容,同時繼續(xù)向下一節(jié)點轉(zhuǎn)發(fā)所述數(shù)據(jù)包,重置K=M。 陽017] 可選的,所述依次替換所述內(nèi)容替換率最小的節(jié)點上的內(nèi)容,包括:
[001引按照內(nèi)容流行度從低到高的順序依次替換所述內(nèi)容替換率最小的節(jié)點上的內(nèi)容。 [0019] 可選的,所述緩存間隔M為:
[0021] 其中,P為內(nèi)容流行度,指單位時間內(nèi)當前服務節(jié)點向其他請求節(jié)點提供該內(nèi)容的 次數(shù);S為內(nèi)容大小,Wchunk為單位;a為比例系數(shù)。
[0022] 第二方面,本發(fā)明還提供了一種基于內(nèi)容流行度和節(jié)點替換率的緩存裝置,包 括:
[0023] 回傳模塊,用于在將服務節(jié)點請求的數(shù)據(jù)包回傳至請求節(jié)點時,在所述數(shù)據(jù)包中 設置指針K,并對所述指針賦值緩存間隔M;
[0024] 回傳處理模塊,用于在所述數(shù)據(jù)包回傳時,每經(jīng)過一個節(jié)點,所述指針K減1 ;
[00巧]檢測模塊,用于檢測所述數(shù)據(jù)包是否到達請求節(jié)點,在所述數(shù)據(jù)包到達請求節(jié)點 時,結(jié)束所述數(shù)據(jù)包的回傳;
[00%] 判斷模塊,用于在所述檢測模塊檢測所述數(shù)據(jù)包未到達請求節(jié)點時,判斷所述指 針K是否為0;
[0027] 緩存模塊,用于根據(jù)判斷結(jié)果,緩存所述數(shù)據(jù)包。
[0028] 可選的,所述緩存模塊,用于:
[0029] 在所述指針K為非0值時,將所述數(shù)據(jù)包轉(zhuǎn)發(fā)至下一節(jié)點。
[0030] 可選的,所述緩存模塊,用于:
[0031] 在所述指針K為0時,判斷當前節(jié)點剩余緩存空間是否能容納新數(shù)據(jù)包; 陽〇3引在當前節(jié)點剩余緩存空間能容納新數(shù)據(jù)包時,則在該節(jié)點緩存所述數(shù)據(jù)包,同時 繼續(xù)向下一節(jié)點轉(zhuǎn)發(fā)所述數(shù)據(jù)包,重置K=M;
[0033] 或,
[0034] 在當前節(jié)點剩余緩存空間不能夠容納新數(shù)據(jù)包時,計算該節(jié)點及其相鄰節(jié)點的內(nèi) 容替換率,并將所述數(shù)據(jù)包緩存在內(nèi)容替換率最小的節(jié)點上,依次替換所述內(nèi)容替換率最 小的節(jié)點上的內(nèi)容,同時繼續(xù)向下一節(jié)點轉(zhuǎn)發(fā)所述數(shù)據(jù)包,重置K=M。
[0035] 可選的,所述緩存模塊,用于:
[0036] 按照內(nèi)容流行度從低到高的順序依次替換所述內(nèi)容替換率最小的節(jié)點上的內(nèi)容。
[0037] 可選的,所述緩存間隔M為:
[0039] 其中,P為內(nèi)容流行度,指單位時間內(nèi)當前服務節(jié)點向其他請求節(jié)點提供該內(nèi)容的 次數(shù);S為內(nèi)容大小,Wchunk為單位;a為比例系數(shù)。
[0040] 由上述技術方案可知,本發(fā)明提供的一種基于內(nèi)容流行度和節(jié)點替換率的緩存方 法及裝置,通過在數(shù)據(jù)包中設置指針,并對該指針進行賦值,設置緩存間隔,最后根據(jù)指針 的數(shù)值W及該數(shù)據(jù)包是都到達請求節(jié)點,來緩存該數(shù)據(jù)包,降低了某些節(jié)點負載過大,內(nèi)容 更替過于頻繁的問題。
【附圖說明】
[0041] 圖1為本發(fā)明一實施例提供的一種基于內(nèi)容流行度和節(jié)點替換率的緩存方法的 流程示意圖;
[0042] 圖2為本發(fā)明另一實施例提供的一種基于內(nèi)容流行度和節(jié)點替換率的緩存方法 的流程示意圖;
[0043] 圖3為本發(fā)明一實施例提供的一種基于內(nèi)容流行度和節(jié)點替換率的緩存裝置的 結(jié)構不意圖。
【具體實施方式】
[0044] 下面結(jié)合附圖,對發(fā)明的【具體實施方式】作進一步描述。W下實施例僅用于更加清 楚地說明本發(fā)明的技術方案,而不能W此刺良審陸發(fā)明的保護范圍。
[0045] 圖1示出了本發(fā)明一實施例提供的一種基于內(nèi)容流行度和節(jié)點替換率的緩存方 法的流程示意圖,如圖1所示,該方法包括如下步驟:
[0046] 101、在將服務節(jié)點請求的數(shù)據(jù)包回傳至請求節(jié)點時,在所述數(shù)據(jù)包中設置指針K, 并對所述指針賦值緩存間隔M。
[0047] 可理解的是,服務節(jié)點是沿請求包轉(zhuǎn)發(fā)路徑向請求節(jié)點回傳請求內(nèi)容數(shù)據(jù)包的。
[0048] 102、在所述數(shù)據(jù)包回傳時,每經(jīng)過一個節(jié)點,所述指針K減1 ;
[00例 103、檢測所述數(shù)據(jù)包是否到達請求節(jié)點,若到達,則結(jié)束;否則,判斷所述指針K 是否為0 ;
[0050] 104、根據(jù)判斷結(jié)果,緩存所述數(shù)據(jù)包。
[0051] 上述方法通過在數(shù)據(jù)包中設置指針,并對該指針進行賦值,設置緩存間隔,最后根 據(jù)指針的數(shù)值W及該數(shù)據(jù)包是都到達請求節(jié)點,來緩存該數(shù)據(jù)包,降低了某些節(jié)點負載過 大,內(nèi)容更替過于頻繁的問題。
[0052] 下面通過具體的實施例對上述方法進行詳細說明。
[0053] 圖2示出了本發(fā)明一實施例提供的一種基于內(nèi)容流行度和節(jié)點替換率的緩存方 法的流程示意圖,如圖2所示,該方法包括如下步驟:
[0054] 201、在將服務節(jié)點請求的數(shù)據(jù)包回傳至請求節(jié)點時,在所述數(shù)據(jù)包中設置指針K, 并對所述指針賦值緩存間隔M。
[0055] 為了合理確定緩存間隔,一方面要增加網(wǎng)絡中高內(nèi)容流行度的副本數(shù),W提高多 數(shù)請求節(jié)點請求高內(nèi)容流行度的服務質(zhì)量;另一方面要減少大文件內(nèi)容的副本數(shù),W提高 網(wǎng)絡內(nèi)容的多樣性。因此,本發(fā)明提供的緩存間隔計算方法為:
[0057] 其中,P為內(nèi)容流行度,指單位時間內(nèi)當