一種基于緩存角色劃分的緩存協(xié)同系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種基于緩存節(jié)點(diǎn)角色劃分的緩存協(xié)同系統(tǒng)。緩存協(xié)同系統(tǒng)將網(wǎng)絡(luò)節(jié)點(diǎn)分為接入層節(jié)點(diǎn)和核心層節(jié)點(diǎn);接入層節(jié)點(diǎn)鄰近所服務(wù)的用戶,以傳統(tǒng)的緩存替換算法獨(dú)立地進(jìn)行緩存決策和替換;核心層節(jié)點(diǎn)作為一個邏輯整體協(xié)同工作,用于提高整個緩存網(wǎng)絡(luò)的緩存多樣性。當(dāng)對某個內(nèi)容的請求到達(dá)接入層緩存節(jié)點(diǎn)時,首先查詢其自身的緩存,如果存在,則直接將緩存內(nèi)容返回,否則,將向核心層緩存節(jié)點(diǎn)查詢是否存在所請求的內(nèi)容,如果存在,則服務(wù)請求;當(dāng)核心層也不存在所請求內(nèi)容時,接入層節(jié)點(diǎn)最后依據(jù)FIB表將請求向該網(wǎng)絡(luò)運(yùn)營商或內(nèi)容提供商外部轉(zhuǎn)發(fā)。本發(fā)明的系統(tǒng)能有效地降低網(wǎng)絡(luò)流量、提高用戶體驗。
【專利說明】—種基于緩存角色劃分的緩存協(xié)同系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于緩存角色劃分的緩存協(xié)同系統(tǒng),屬于網(wǎng)絡(luò)多媒體數(shù)據(jù)傳輸【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002]當(dāng)前,用戶對互聯(lián)網(wǎng)的需求正逐步從以點(diǎn)對點(diǎn)通信為主轉(zhuǎn)變?yōu)橐詢?nèi)容獲取為主。傳統(tǒng)的以單播路由為主的網(wǎng)絡(luò)體系架構(gòu)已經(jīng)難以有效支撐海量的點(diǎn)對面的異步內(nèi)容分發(fā)。作為一種適配點(diǎn)對面?zhèn)鬏數(shù)募夹g(shù),緩存能有效地緩解網(wǎng)絡(luò)的流量壓力。目前,無論是內(nèi)容提供商還是網(wǎng)絡(luò)運(yùn)營商,都傾向于通過部署泛在的緩存系統(tǒng)來降低網(wǎng)絡(luò)流量、提高用戶體驗。以NDN為代表的內(nèi)容中心網(wǎng)絡(luò)更是將內(nèi)容緩存作為新型網(wǎng)絡(luò)體系架構(gòu)的基本組成要素。
[0003]在緩存泛在化、透明化的背景下,傳統(tǒng)的基于單緩存的替換算法或基于層次結(jié)構(gòu)的緩存協(xié)同機(jī)制不再適用。一方面,緩存系統(tǒng)應(yīng)該盡量提高用戶體驗,因此,應(yīng)盡量緩存流行度高的內(nèi)容,并將這些內(nèi)容推向網(wǎng)絡(luò)的邊緣,這將導(dǎo)致緩存網(wǎng)絡(luò)中流行度高的內(nèi)容將存在眾多的副本,浪費(fèi)寶貴的緩存資源;另一方面,對于訪問頻度較低的內(nèi)容,額外的訪問代價不應(yīng)太高,因此應(yīng)該盡量提高緩存的多樣性,降低同一內(nèi)容副本的出現(xiàn)頻度,但一味地提高緩存的多樣性難以保證用戶對高頻度內(nèi)容訪問的體驗。
【發(fā)明內(nèi)容】
[0004]本發(fā)明為解決上述技術(shù)問題,提供一種基于緩存角色劃分的緩存協(xié)同系統(tǒng),能有效地降低網(wǎng)絡(luò)流量、提高用戶體驗。
[0005]具體采用以下技術(shù)方案:
[0006]一種基于緩存角色劃分的緩存協(xié)同系統(tǒng),系統(tǒng)按照緩存網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)特征將由一個網(wǎng)絡(luò)運(yùn)營商或內(nèi)容提供商管理的緩存系統(tǒng)分成接入層緩存節(jié)點(diǎn)和核心層緩存節(jié)點(diǎn)兩部分,與用戶直接連接或鄰近的緩存節(jié)點(diǎn)為接入層緩存節(jié)點(diǎn),遠(yuǎn)離用戶位于網(wǎng)絡(luò)核心的為核心層緩存節(jié)點(diǎn);所述接入層緩存節(jié)點(diǎn)以每個緩存為獨(dú)立單元,按照傳統(tǒng)的緩存替換策略獨(dú)立地作出緩存替換決定;所述核心層緩存節(jié)點(diǎn)以分布式哈希表的方式構(gòu)成一個邏輯整體,以協(xié)同的方式作出緩存決策和緩存替換決定;所述接入層緩存節(jié)點(diǎn)包括接入層請求處理模塊、響應(yīng)處理模塊和接入層緩存替換模塊;所述核心層緩存節(jié)點(diǎn)包含核心層請求處理模塊、基于分布式哈希的路由模塊和核心層緩存替換模塊。
[0007]所述接入層請求處理模塊的處理流程如下:當(dāng)某個內(nèi)容c的請求到達(dá)時,
[0008]步驟1,檢查自身的緩存是否包含被請求的內(nèi)容C,如果包含,則直接返回相關(guān)內(nèi)容,并更新用于緩存替換的相關(guān)狀態(tài),否則,執(zhí)行下一步;
[0009]步驟2,判斷自身是否是接入層節(jié)點(diǎn)層次緩存結(jié)構(gòu)的根節(jié)點(diǎn),若不是,則將請求向父緩存節(jié)點(diǎn)轉(zhuǎn)發(fā),否則,節(jié)點(diǎn)位于接入層層次緩存結(jié)構(gòu)的根,將請求消息轉(zhuǎn)換成核心層的查詢請求,并發(fā)送給核心層節(jié)點(diǎn);
[0010]步驟3,若核心層依然不包含所請求的查詢內(nèi)容,則向發(fā)出查詢的接入層節(jié)點(diǎn)發(fā)送失敗消息;
[0011]步驟4,查詢FIB表,將請求發(fā)送往FIB表給出的下一跳;
[0012]步驟5,記錄查詢的ID和接收到該請求的端口。
[0013]所述接入層緩存節(jié)點(diǎn)的響應(yīng)處理模塊的處理流程如下:當(dāng)某個內(nèi)容的響應(yīng)到達(dá)時,如果該響應(yīng)是對核心網(wǎng)查詢的響應(yīng),則表明核心網(wǎng)包含所查詢內(nèi)容的緩存,將內(nèi)容沿著接入層的層次緩存結(jié)構(gòu)返回給請求者,按照節(jié)點(diǎn)的緩存策略作出緩存決策;如果該響應(yīng)是由于FIB表的請求轉(zhuǎn)發(fā)而得到的響應(yīng),則將內(nèi)容沿著接入層的層次緩存結(jié)構(gòu)返回給請求者,由接入層緩存替換模塊按照節(jié)點(diǎn)的緩存策略作出緩存決策,同時,根據(jù)內(nèi)容響應(yīng)消息構(gòu)造一個內(nèi)容插入請求,向核心層緩存節(jié)點(diǎn)提交該內(nèi)容插入請求。
[0014]所述核心層請求處理模塊,接收接入層緩存節(jié)點(diǎn)發(fā)送的內(nèi)容查詢請求和內(nèi)容插入請求;當(dāng)核心層緩存節(jié)點(diǎn)接收到接入層緩存節(jié)點(diǎn)的內(nèi)容查詢請求時,依據(jù)分布式哈希路由模塊,將內(nèi)容查詢請求路由到負(fù)責(zé)該內(nèi)容的核心層緩存節(jié)點(diǎn),由該節(jié)點(diǎn)的核心層緩存替換模塊進(jìn)行緩存的替換;當(dāng)內(nèi)容查詢請求路由到負(fù)責(zé)該內(nèi)容的核心層緩存節(jié)點(diǎn)后,該節(jié)點(diǎn)查詢自身的緩存,如果存在所請求的內(nèi)容,則將其返回給發(fā)出請求的接入層緩存節(jié)點(diǎn),如果不存在所請求的內(nèi)容,則向發(fā)出請求的接入層緩存節(jié)點(diǎn)發(fā)送失敗的消息。
[0015]本發(fā)明采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)效果:
[0016](I)通過劃分緩存角色,在邊緣接入網(wǎng)緩存存儲高頻度訪問內(nèi)容,而在核心網(wǎng)緩存通過哈希方式存儲低頻度訪問內(nèi)容,能有效提高用戶體驗;
[0017](2)通過提高同一個自治系統(tǒng)網(wǎng)絡(luò)的緩存多樣性,能有效降低網(wǎng)絡(luò)域間流量。
【專利附圖】
【附圖說明】
[0018]圖1是本發(fā)明的緩存角色劃分示意圖;
[0019]圖2是本發(fā)明接入層緩存節(jié)點(diǎn)請求處理模塊工作流程;
[0020]圖3是本發(fā)明接入層緩存節(jié)點(diǎn)響應(yīng)處理模塊工作流程。
【具體實(shí)施方式】
[0021]本實(shí)施例公開了一種緩存節(jié)點(diǎn)的角色劃分和緩存網(wǎng)絡(luò)組建方法:
[0022]1.由一個網(wǎng)絡(luò)運(yùn)營商或內(nèi)容提供商管理的緩存系統(tǒng)被劃分成接入層節(jié)點(diǎn)和核心層節(jié)點(diǎn)兩部分;
[0023]2.按照緩存網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)特征對緩存節(jié)點(diǎn)進(jìn)行角色劃分,與用戶直接連接或鄰近的緩存節(jié)點(diǎn)為接入層節(jié)點(diǎn),遠(yuǎn)離用戶位于網(wǎng)絡(luò)核心的為核心層節(jié)點(diǎn)??梢园凑展?jié)點(diǎn)距離用戶的距離d來進(jìn)行劃分,當(dāng)d大于某個門限值D時,節(jié)點(diǎn)為核心層節(jié)點(diǎn),反之,為接入層節(jié)點(diǎn);也可以按照網(wǎng)絡(luò)節(jié)點(diǎn)的核數(shù)(coreness)進(jìn)行角色劃分,當(dāng)節(jié)點(diǎn)的核數(shù)k大于某個門限值K時,為核心層節(jié)點(diǎn),反之,為接入層節(jié)點(diǎn);如圖1所示,按照距離用戶的距離來進(jìn)行劃分(D=I ),則R1-R4為接入層緩存節(jié)點(diǎn),R5-R9為核心層緩存節(jié)點(diǎn)。
[0024]3.如果在用戶到核心層節(jié)點(diǎn)的路徑上存在多個接入層節(jié)點(diǎn),則這些接入層節(jié)點(diǎn)構(gòu)成層次化的緩存;
[0025]4.接入層緩存節(jié)點(diǎn)以每個緩存為獨(dú)立單元,按照傳統(tǒng)的緩存替換策略獨(dú)立地作出緩存替換決定;[0026]5.核心層緩存節(jié)點(diǎn)以分布式哈希表(chord, Pastry)的方式構(gòu)成一個邏輯整體,以協(xié)同的方式作出緩存決策和緩存替換決定。
[0027]本實(shí)施例的基于上述緩存節(jié)點(diǎn)角色劃分的緩存協(xié)同系統(tǒng),其中,接入層緩存節(jié)點(diǎn)包含請求處理模塊、響應(yīng)處理模塊和緩存替換模塊;
[0028]如圖2所示,當(dāng)對某個內(nèi)容c的請求到達(dá)接入層緩存節(jié)點(diǎn)時,請求處理模塊執(zhí)行下述動作:
[0029]步驟1,檢查自身的緩存是否包含被請求的內(nèi)容C,如果包含,則直接返回相關(guān)內(nèi)容,并更新用于緩存替換的相關(guān)狀態(tài),否則,
[0030]步驟2,判斷自身是否是接入層節(jié)點(diǎn)層次緩存結(jié)構(gòu)的根節(jié)點(diǎn),若不是,則
[0031]步驟3,將請求向父緩存節(jié)點(diǎn)轉(zhuǎn)發(fā);
[0032]步驟4,否則,節(jié)點(diǎn)位于接入層層次緩存結(jié)構(gòu)的根,將請求消息轉(zhuǎn)換成核心層的查詢請求,并發(fā)送給核心層節(jié)點(diǎn);
[0033]步驟5,若核心層依然不包含所請求的查詢內(nèi)容,則向發(fā)出查詢的接入層節(jié)點(diǎn)發(fā)送失敗消息;
[0034]步驟6,查詢FIB表,將請求發(fā)送往FIB表給出的下一跳;
[0035]步驟7,記錄查詢的ID和接收到該請求的端口 ;
[0036]如圖3所示,當(dāng)某個內(nèi)容的響應(yīng)到達(dá)接入層緩存節(jié)點(diǎn)時,如果該響應(yīng)是對核心網(wǎng)查詢的響應(yīng),則表明核心網(wǎng)包含所查詢內(nèi)容的緩存,則:
[0037]步驟1,將內(nèi)容沿著接入層的層次緩存結(jié)構(gòu)返回給請求者;
[0038]步驟2,按照節(jié)點(diǎn)的緩存策略作出緩存決策;
[0039]否則,如果該響應(yīng)是由于FIB表的請求轉(zhuǎn)發(fā)而得到的響應(yīng),則
[0040]步驟1,將內(nèi)容沿著接入層的層次緩存結(jié)構(gòu)返回給請求者;
[0041]步驟2,由緩存替換模塊按照節(jié)點(diǎn)的緩存策略作出緩存決策;
[0042]步驟3,由內(nèi)容響應(yīng)消息構(gòu)造一個內(nèi)容插入請求,向核心層緩存節(jié)點(diǎn)提交該內(nèi)容插入請求。
[0043]核心層緩存節(jié)點(diǎn)包含請求處理模塊、基于分布式哈希的路由模塊和緩存替換模塊。
[0044]核心層緩存節(jié)點(diǎn)請求處理模塊負(fù)責(zé)接收并處理接入層緩存節(jié)點(diǎn)發(fā)送的內(nèi)容查詢請求和內(nèi)容插入請求。
[0045]當(dāng)核心層緩存節(jié)點(diǎn)接收到接入層緩存節(jié)點(diǎn)的內(nèi)容查詢請求時,
[0046]步驟1,依據(jù)分布式哈希路由模塊,將內(nèi)容查詢請求路由到負(fù)責(zé)該內(nèi)容的核心層緩存節(jié)點(diǎn);
[0047]步驟2,當(dāng)內(nèi)容查詢請求路由到負(fù)責(zé)該內(nèi)容的核心層緩存節(jié)點(diǎn)后,該節(jié)點(diǎn)查詢自身的緩存;
[0048]步驟21,如果存在所請求的內(nèi)容,則將其返回給發(fā)出請求的接入層緩存節(jié)點(diǎn);
[0049]步驟22,如果不存在所請求的內(nèi)容,則向發(fā)出請求的接入層緩存節(jié)點(diǎn)發(fā)送失敗的消息。
[0050]當(dāng)核心層緩存節(jié)點(diǎn)接收到接入層緩存節(jié)點(diǎn)的內(nèi)容插入請求時,基于分布式哈希路由模塊將內(nèi)容插入請求路由到負(fù)責(zé)該內(nèi)容的核心層緩存節(jié)點(diǎn),由該節(jié)點(diǎn)的緩存替換模塊進(jìn)行緩存的替換。
【權(quán)利要求】
1.一種基于緩存角色劃分的緩存協(xié)同系統(tǒng),其特征在于,系統(tǒng)按照緩存網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)特征將由一個網(wǎng)絡(luò)運(yùn)營商或內(nèi)容提供商管理的緩存系統(tǒng)分成接入層緩存節(jié)點(diǎn)和核心層緩存節(jié)點(diǎn)兩部分,與用戶直接連接或鄰近的緩存節(jié)點(diǎn)為接入層緩存節(jié)點(diǎn),遠(yuǎn)離用戶位于網(wǎng)絡(luò)核心的為核心層緩存節(jié)點(diǎn);所述接入層緩存節(jié)點(diǎn)以每個緩存為獨(dú)立單元,按照傳統(tǒng)的緩存替換策略獨(dú)立地作出緩存替換決定;所述核心層緩存節(jié)點(diǎn)以分布式哈希表的方式構(gòu)成一個邏輯整體,以協(xié)同的方式作出緩存決策和緩存替換決定;所述接入層緩存節(jié)點(diǎn)包括接入層請求處理模塊、響應(yīng)處理模塊和接入層緩存替換模塊;所述核心層緩存節(jié)點(diǎn)包含核心層請求處理模塊、基于分布式哈希的路由模塊和核心層緩存替換模塊。
2.根據(jù)權(quán)利要求1所述的一種基于緩存角色劃分的緩存協(xié)同系統(tǒng),其特征在于,所述接入層請求處理模塊的處理流程如下:當(dāng)某個內(nèi)容c的請求到達(dá)時, 步驟1,檢查自身的緩存是否包含被請求的內(nèi)容C,如果包含,則直接返回相關(guān)內(nèi)容,并更新用于緩存替換的相關(guān)狀態(tài),否則,執(zhí)行下一步; 步驟2,判斷自身是否是接入層節(jié)點(diǎn)層次緩存結(jié)構(gòu)的根節(jié)點(diǎn),若不是,則將請求向父緩存節(jié)點(diǎn)轉(zhuǎn)發(fā),否則,節(jié)點(diǎn)位于接入層層次緩存結(jié)構(gòu)的根,將請求消息轉(zhuǎn)換成核心層的查詢請求,并發(fā)送給核心層節(jié)點(diǎn); 步驟3,若核心層依然不包含所請求的查詢內(nèi)容,則向發(fā)出查詢的接入層節(jié)點(diǎn)發(fā)送失敗消息; 步驟4,查詢FIB表,將請求發(fā)送往FIB表給出的下一跳; 步驟5,記錄查詢的ID和接收到該請求的端口。
3.根據(jù)權(quán)利要求1所述的一種基于緩存角色劃分的緩存協(xié)同系統(tǒng),其特征在于,所述接入層緩存節(jié)點(diǎn)的響應(yīng)處理模塊的處理流程如下:當(dāng)某個內(nèi)容的響應(yīng)到達(dá)時,如果該響應(yīng)是對核心網(wǎng)查詢的響應(yīng),則表明核心網(wǎng)包含所查詢內(nèi)容的緩存,將內(nèi)容沿著接入層的層次緩存結(jié)構(gòu)返回給請求者,按照節(jié)點(diǎn)的緩存策略作出緩存決策;如果該響應(yīng)是由于FIB表的請求轉(zhuǎn)發(fā)而得到的響應(yīng),則將內(nèi)容沿著接入層的層次緩存結(jié)構(gòu)返回給請求者,由接入層緩存替換模塊按照節(jié)點(diǎn)的緩存策略作出緩存決策,同時,根據(jù)內(nèi)容響應(yīng)消息構(gòu)造一個內(nèi)容插入請求,向核心層緩存節(jié)點(diǎn)提交該內(nèi)容插入請求。
4.根據(jù)權(quán)利要求1、2或3所述的一種基于緩存角色劃分的緩存協(xié)同系統(tǒng),其特征在于,所述核心層請求處理模塊,接收接入層緩存節(jié)點(diǎn)發(fā)送的內(nèi)容查詢請求和內(nèi)容插入請求;當(dāng)核心層緩存節(jié)點(diǎn)接收到接入層緩存節(jié)點(diǎn)的內(nèi)容查詢請求時,依據(jù)分布式哈希路由模塊,將內(nèi)容查詢請求路由到負(fù)責(zé)該內(nèi)容的核心層緩存節(jié)點(diǎn),由該節(jié)點(diǎn)的核心層緩存替換模塊進(jìn)行緩存的替換;當(dāng)內(nèi)容查詢請求路由到負(fù)責(zé)該內(nèi)容的核心層緩存節(jié)點(diǎn)后,該節(jié)點(diǎn)查詢自身的緩存,如果存在所請求的內(nèi)容,則將其返回給發(fā)出請求的接入層緩存節(jié)點(diǎn),如果不存在所請求的內(nèi)容,則向發(fā)出請求的接入層緩存節(jié)點(diǎn)發(fā)送失敗的消息。
【文檔編號】H04L29/08GK103442039SQ201310351151
【公開日】2013年12月11日 申請日期:2013年8月13日 優(yōu)先權(quán)日:2013年8月13日
【發(fā)明者】張國強(qiáng), 張懷暢 申請人:南京師范大學(xué), 掌贏信息科技(上海)有限公司