基于信息中心網(wǎng)絡(luò)的緩存方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及信息通信技術(shù)領(lǐng)域,尤其涉及一種基于信息中心網(wǎng)絡(luò)的緩存方法和系 統(tǒng)。
【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,用戶對實時視頻、流媒體等大流量內(nèi)容的需求不斷 增加,同時,用戶對實時視頻、流媒體等數(shù)據(jù)的訪問、傳輸效率的要求也在不斷的提高,傳 統(tǒng)的基于端到端的通信的,例如TCP(TransmissionControlProtocol,傳輸控制協(xié)議)/ IP(InternetProtocol,網(wǎng)際互連協(xié)議)網(wǎng)絡(luò)模型,在傳輸、處理這些多媒體數(shù)據(jù)時效率低 下,用戶體驗差。
[0003] 為了解決上述問題,提高多媒體數(shù)據(jù)的處理以及傳輸效率,采用信息中心網(wǎng)絡(luò)架 構(gòu)的思想得到廣泛應(yīng)用,該架構(gòu)摒棄了傳統(tǒng)的端到端的通信模式,采用以信息名字為核心 的協(xié)議棧結(jié)構(gòu),以信息本身為中心,信息中心網(wǎng)絡(luò)允許網(wǎng)絡(luò)節(jié)點對部分信息內(nèi)容緩存,將用 戶將要訪問的信息提前存儲到網(wǎng)絡(luò)中間節(jié)點,用戶通過發(fā)送信息獲取請求到離用戶最近的 緩存節(jié)點獲取信息,從而減小了服務(wù)器的負(fù)擔(dān)以及對網(wǎng)絡(luò)帶寬的消耗,提高了數(shù)據(jù)通信的 傳輸以及處理的效率。
[0004] 上述方法中將用戶將要訪問的信息提前存儲到網(wǎng)絡(luò)中間節(jié)點的緩存技術(shù)是提高 互聯(lián)網(wǎng)的用戶響應(yīng)速度及相關(guān)網(wǎng)絡(luò)性能的關(guān)鍵技術(shù)。
[0005] 現(xiàn)有技術(shù)中的一種緩存方法為:由ZheLi等提出了基于信息中心網(wǎng)絡(luò)的鄰居節(jié) 點緩存協(xié)作方案。該緩存協(xié)作方案通過節(jié)點與直接相連的或者一定跳數(shù)內(nèi)的節(jié)點相互協(xié) 作,通過hash(散列)式將信息的不同分塊分布到相應(yīng)節(jié)點緩存。每個節(jié)點采用LRU(Least RecentlyUsed,近期最少使用算法)的緩存替換策略。具體機制如下:
[0006] 該方案首先通過算法將域內(nèi)總數(shù)為N的所有節(jié)點都分配一個1到k的標(biāo)簽號 (k〈N),并且單個節(jié)點的標(biāo)簽號盡量與其他相鄰節(jié)點的標(biāo)簽號不同。當(dāng)一個信息分塊到達的 時候,通過hash函數(shù)決定這個信息分塊在這幾個標(biāo)簽號不同的節(jié)點中的一個節(jié)點緩存。這 樣可以保證該區(qū)域內(nèi)有且只有一個該信息分塊,從而減少了緩存冗余,提高了緩存空間的 利用率。當(dāng)一個請求到達的時候,同樣也通過hash函數(shù)將這個請求發(fā)送到對應(yīng)的信息分塊 所存儲的緩存節(jié)點,當(dāng)節(jié)點中有該信息分塊時,就滿足請求,沒有則將請求發(fā)送到信息源服 務(wù)器來滿足請求。
[0007] 上述現(xiàn)有技術(shù)中的缺點為:該方案采用hash算法來給域內(nèi)總數(shù)為N的節(jié)點分配1 到k的標(biāo)簽號(k〈N)并且需要保證單個節(jié)點的標(biāo)簽號與相鄰節(jié)點或者一定跳數(shù)內(nèi)的節(jié)點標(biāo) 簽號不同,這本身是一個NP問題。當(dāng)k較小時,有較好的緩存命中率,但是標(biāo)簽重復(fù)的可能 性會提高,同時分配標(biāo)簽的過程就較為復(fù)雜并且網(wǎng)絡(luò)中的緩存冗余度會相應(yīng)的提高。當(dāng)k 較大時,可以保證冗余度的降低,但是無法保證整個緩存系統(tǒng)的魯棒性。單個節(jié)點出現(xiàn)失效 的情況就只能將對應(yīng)節(jié)點的請求指向信息源服務(wù)器滿足請求。
[0008] 總之,迫切需要本領(lǐng)域技術(shù)人員解決的技術(shù)問題就在于,如何使信息中心網(wǎng)絡(luò)的 緩存技術(shù),在保證緩存命中率的同時,又能夠有很好的魯棒性。
【發(fā)明內(nèi)容】
[0009]本發(fā)明的實施例提供了一種基于信息中心網(wǎng)絡(luò)的緩存方法和系統(tǒng),通過在信息中 心網(wǎng)絡(luò)中加入普通緩存節(jié)點,資源管理器與備份緩存節(jié)點,根據(jù)信息的流行度進行緩存決 策,并將流行信息進行備份,從而在保證緩存命中率的同時,又能夠有很好的魯棒性。
[0010] 為了實現(xiàn)上述目的,本發(fā)明采取了如下技術(shù)方案。
[0011] 根據(jù)本發(fā)明的一個方面,提供了一種基于信息中心網(wǎng)絡(luò)的緩存系統(tǒng),包括:普通緩 存節(jié)點、資源管理器、備份緩存節(jié)點;
[0012] 所述普通緩存節(jié)點,用于接收信息獲取請求,確定所述信息獲取請求所請求的信 息的緩存位置;當(dāng)所述緩存位置為本節(jié)點,返回所述信息獲取請求所請求的信息給客戶端; 更新所述信息的流行度,將所述信息獲取請求所請求信息的信息標(biāo)識以及該信息在所述普 通緩存節(jié)點的流行度發(fā)送至資源管理器;接收資源管理器發(fā)送的域內(nèi)流行信息通知,將對 應(yīng)信息發(fā)送給備份緩存節(jié)點。
[0013] 所述資源管理器,用于建立域內(nèi)緩存信息的域內(nèi)信息流行度表,接收普通緩存節(jié) 點傳輸?shù)男畔?biāo)識以及該信息在對應(yīng)普通緩存節(jié)點的流行度,在所述域內(nèi)信息流行度表中 更新所述普通緩存節(jié)點傳輸?shù)男畔?biāo)識所對應(yīng)的域內(nèi)流行度,確定域內(nèi)流行信息,根據(jù)所 述確定的域內(nèi)流行信息,通知所述普通緩存節(jié)點將所述域內(nèi)流行信息傳輸給所述備份緩存 節(jié)點;
[0014] 所述備份緩存節(jié)點,用于收到所述資源管理器發(fā)送的域內(nèi)流行信息通知后,接收 所述普通緩存節(jié)點傳輸?shù)挠騼?nèi)流行信息,并更新其內(nèi)部緩存的域內(nèi)流行信息。
[0015] 進一步地,所述普通緩存節(jié)點,還用于根據(jù)緩存位置為本節(jié)點的信息的被請求次 數(shù),建立本節(jié)點緩存信息流行度表,確定設(shè)定數(shù)量的流行度較高的緩存位置為本節(jié)點的信 息為本節(jié)點流行信息;將所述本節(jié)點流行信息的信息標(biāo)識以及本節(jié)點流行度發(fā)送至所述資 源管理器。
[0016] 進一步地,所述普通緩存節(jié)點還用于:分別統(tǒng)計各個緩存位置為本節(jié)點的信息在 設(shè)定的統(tǒng)計時間內(nèi)被請求的次數(shù);
[0017] 根據(jù)所述被請求的次數(shù)的大小對各個緩存位置為本節(jié)點的信息進行排序,建立本 節(jié)點緩存信息流行度表;
[0018] 或者,
[0019] 分別統(tǒng)計各個緩存位置為本節(jié)點的信息在設(shè)定的統(tǒng)計次數(shù)內(nèi)被請求的次數(shù);
[0020] 根據(jù)所述被請求的次數(shù)的大小對各個緩存位置為本節(jié)點的信息進行排序,建立本 節(jié)點緩存信息流行度表。
[0021] 進一步地,所述普通緩存節(jié)點還用于:根據(jù)所述信息獲取請求查詢本節(jié)點緩存信 息;
[0022] 若所述信息獲取請求所請求的信息緩存在本節(jié)點,則將本節(jié)點緩存的所述信息獲 取請求所請求的信息返回給所述客戶端;
[0023] 若所述信息獲取請求所請求的信息未緩存在本節(jié)點,則將該信息獲取請求發(fā)送給 鄰域緩存節(jié)點或信息源服務(wù)器;并從滿足所述信息獲取請求的鄰域緩存節(jié)點或信息源服務(wù) 器獲取所述信息獲取請求所請求的信息,將獲取的信息發(fā)送給所述客戶端,并將獲取的信 息在本節(jié)點進行緩存。
[0024] 進一步地,所述普通緩存節(jié)點,還用于查詢所述本節(jié)點緩存信息流行度表,如果有 包含所述信息標(biāo)識及信息流行度的條目,則更新所述信息獲取請求所請求信息的本節(jié)點流 行度;如果沒有,則添加包含所述信息標(biāo)識及信息流行度的條目;若更新后的所述信息獲 取請求所請求的信息為本節(jié)點流行信息,則將所述信息獲取請求所請求信息的信息標(biāo)識以 及該信息的本節(jié)點流行度發(fā)送至所述資源管理器;
[0025] 所述資源管理器還用于,接收到所述信息獲取請求所請求信息的信息標(biāo)識以及該 信息的本節(jié)點流行度后,查詢所述域內(nèi)緩存信息流行度表,如果有包含所述信息標(biāo)識及信 息流行度的條目,則更新所述信息獲取請求所請求信息的域內(nèi)流行度;如果沒有,則添加包 含所述信息標(biāo)識及信息流行度的條目;若更新后所述信息獲取請求所請求的信息由非域內(nèi) 流行信息變?yōu)橛騼?nèi)流行信息,則通知所述備份緩存節(jié)點、所述信息獲取請求所請求的信息 所在的普通緩存節(jié)點以及所述域內(nèi)流行度最低的備份信息所在的普通緩存節(jié)點;
[0026] 所述普通緩存節(jié)點,還用于接收到所述資源管理器的域內(nèi)流行信息更新通知后, 將域內(nèi)流行信息更新通知所對應(yīng)的域內(nèi)流行信息設(shè)置為不可替換,并將該域內(nèi)流行信息發(fā) 送給所述備份緩存節(jié)點;
[0027] 所述備份緩存節(jié)點,還用于接收到所述資源管理器的域內(nèi)流行信息更新通知后, 刪除域內(nèi)流行度最低的備份信息,接收所述普通緩存節(jié)點傳輸?shù)挠騼?nèi)流行信息,并更新其 內(nèi)部緩存的域內(nèi)流行信息;
[0028] 所述普通緩存節(jié)點,還用于接收到所述資源管理器的域內(nèi)流行信息更新通知后, 將域內(nèi)流行信息更新通知所對應(yīng)的域內(nèi)非流行信息設(shè)置為可替換。
[0029] 進一步地,所述普通緩存節(jié)點,還用于當(dāng)所述緩存位置為鄰域緩存節(jié)點或信息源 服務(wù)器,將所述信息獲取請求發(fā)送給所述緩存位置對應(yīng)的鄰域緩存節(jié)點或信息源服務(wù)器。
[0030] 進一步地,所述普通緩存節(jié)點,還用于若所述緩存位置對應(yīng)的緩存節(jié)點失效或不 可達,將所述信息獲取請求發(fā)送給所述資源管理器;
[0031] 所述資源管理器,還用于判斷所述信息獲取請求所對應(yīng)的信息是否緩存在備份緩 存節(jié)點;若不在,將所述信息獲取請求發(fā)送給鄰域緩存節(jié)點或者信息源服務(wù)器;若在,將所 述信息獲取請求發(fā)送給所述備份緩存節(jié)點;
[0032] 所述備份緩存節(jié)點,還用于根據(jù)所述資源管理器發(fā)送的信息獲取請求,確定本節(jié) 點是否緩存有所述資源管理器發(fā)送的信息獲取請求對應(yīng)的信息;若有,將所述信息返回給 客戶端。
[0033] 根據(jù)本發(fā)明的另一個方面,提供了一種基于信息中心網(wǎng)絡(luò)的緩存方法,普通緩存 節(jié)點確定接收到的信息獲取請求所請求的信息的緩存位置,當(dāng)所述緩存位置為本節(jié)點,返 回所述信息獲取請求所請求的信息給客戶端,所述方法還包括:
[0034] 所述普通緩存節(jié)點更新所述信息的流行度,將所述信息獲取請求所請求信息的 信息標(biāo)識以及該信息在所述普通緩存節(jié)點的流行度發(fā)送至資源管理器;接收資源管理器發(fā) 送的域內(nèi)流行信息通知,將對應(yīng)的域內(nèi)流行信息發(fā)送給備份緩存節(jié)點;
[0035] 所述資源管理器建立域內(nèi)緩存信息的域內(nèi)信息流行度表,接收普通緩存節(jié)點傳輸 的信息標(biāo)識以及該信息在對應(yīng)普通緩存節(jié)點的流行度,在所述域內(nèi)信息流行度表中更新所 述普通緩存節(jié)點傳輸?shù)男畔?biāo)識所對應(yīng)的域內(nèi)流行度,確定域內(nèi)流行信息,根據(jù)所述確定 的域內(nèi)流行信息,通知所述普通緩存節(jié)點將所述域內(nèi)流行信息傳輸給備份緩存節(jié)點;
[0036] 所述備份緩存節(jié)點收到所述資源管理器發(fā)送的域內(nèi)流行信息通知后,接收所述普 通緩存節(jié)點傳輸?shù)挠騼?nèi)流行信息,并更新其內(nèi)部緩存的域內(nèi)流行信息。
[0037] 進一步地,還包括:
[0038] 所述普通緩存節(jié)點根據(jù)緩存位置為本節(jié)點的信息的被請求次數(shù),建立本節(jié)點緩存 信息流行度表,確定設(shè)定數(shù)量的流行度較高的緩存位置為本節(jié)點的信息為本節(jié)點流行信 息;將所述本節(jié)點流行信息的信息標(biāo)識以及本節(jié)點流行度發(fā)送至所述資源管理器。
[0039] 進一步地,所述的所述普通緩存節(jié)點根據(jù)緩存位置為本節(jié)點的信息的被請求次 數(shù),建立本節(jié)點緩存信息流行度表,包括:
[0040] 分別統(tǒng)計各個緩存位置為本節(jié)點的信息在設(shè)定的統(tǒng)計時間內(nèi)被請求的次數(shù);
[0041] 根據(jù)所述被請求的次數(shù)的大小對各個緩存位置為本節(jié)點的信息進行排序,建立本 節(jié)點緩存信息流行度表;
[0042] 或者,
[0043] 分別統(tǒng)計各個緩存位置為本節(jié)點的信息在設(shè)定的統(tǒng)計次數(shù)內(nèi)被請求的次數(shù);
[0044] 根據(jù)所述被請求的次數(shù)的大小對各個緩存位置為本節(jié)點的信息進行排序,建立本 節(jié)點緩存信息的流行度表。
[0045] 進一步地,通過普通緩存節(jié)點接收信息獲取請求,確定所述信息獲取請求所請求 信息的緩存位置;當(dāng)所述緩存位置為本節(jié)點后,還包括:
[0046] 根據(jù)所述信息獲取請求查詢本節(jié)點緩存信息;
[0047] 若所述信息獲取請求所請求的信息緩存在本節(jié)點,則將本節(jié)點緩存的所述信息獲 取請求所請求的信息返回給所述客戶端;
[0048] 若所述信息獲取請求所請求的信息未緩存在本節(jié)點,則將該信息獲取請求發(fā)送給 鄰域緩存節(jié)點或信息源服務(wù)器;并從滿足所述信息獲取請求的鄰域緩存節(jié)點或信息源服務(wù) 器獲取所述信息獲取請求所請