欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

命名數(shù)據(jù)網(wǎng)絡(luò)中一種基于流行度預(yù)測的協(xié)作緩存方法與流程

文檔序號:11879228閱讀:567來源:國知局
命名數(shù)據(jù)網(wǎng)絡(luò)中一種基于流行度預(yù)測的協(xié)作緩存方法與流程

本發(fā)明是對命名數(shù)據(jù)網(wǎng)中緩存策略的研究,屬于未來網(wǎng)絡(luò)的技術(shù)領(lǐng)域。特別涉及到網(wǎng)絡(luò)中內(nèi)容流行度的預(yù)測機制、鄰域節(jié)點間的協(xié)作緩存策略,節(jié)點緩存空間比例的劃分方法。



背景技術(shù):

隨著互聯(lián)網(wǎng)技術(shù)與應(yīng)用的飛速發(fā)展,“寬帶化”、“內(nèi)容化”與“個性化”已經(jīng)成為網(wǎng)絡(luò)發(fā)展的主旋律,人們對于數(shù)據(jù)內(nèi)容的需求日益強烈,網(wǎng)絡(luò)應(yīng)用的主體逐步向內(nèi)容請求和信息服務(wù)演進轉(zhuǎn)移。據(jù)Cisco公司預(yù)測,到2016年互聯(lián)網(wǎng)上所有內(nèi)容相關(guān)的流量將占據(jù)超過97.5%的份額,傳統(tǒng)以主機為中心的網(wǎng)絡(luò)體系結(jié)構(gòu)難以滿足當前網(wǎng)絡(luò)信息服務(wù)的發(fā)展要求。為此,信息中心網(wǎng)絡(luò)(Information-Centric Networking,ICN)作為一種革命式的未來互聯(lián)網(wǎng)設(shè)計思路,讓數(shù)據(jù)內(nèi)容本身成為網(wǎng)絡(luò)通信的主體單元,將網(wǎng)絡(luò)通信模式從關(guān)注“where”(地址、服務(wù)器)轉(zhuǎn)變?yōu)殛P(guān)注“what”,即用戶和應(yīng)用通信的目的和意向,成為未來Internet設(shè)計的重要模式。其中,命名數(shù)據(jù)網(wǎng)絡(luò)(Named Data Networking,NDN)作為典型的ICN網(wǎng)絡(luò)體系結(jié)構(gòu),在中間層用命名數(shù)據(jù)取代IP,數(shù)據(jù)傳輸采用“發(fā)布-請求-響應(yīng)”模式,直接以內(nèi)容名字進行路由,實現(xiàn)點到多點的高效內(nèi)容分發(fā)。

在NDN的設(shè)計中,采用網(wǎng)絡(luò)內(nèi)普遍緩存的方式,在興趣包(interest packet)沿途轉(zhuǎn)發(fā)路徑(on-path)的所有節(jié)點上存儲命中內(nèi)容。在路由轉(zhuǎn)發(fā)中,當節(jié)點收到興趣包,依據(jù)內(nèi)容名字依次在內(nèi)容存儲器(Content Store,CS),待處理興趣包列表(Pending Interest Table,PIT)和轉(zhuǎn)發(fā)信息列表(Forwarding Information Base,FIB)中進行匹配查詢。應(yīng)答數(shù)據(jù)包(data packet)攜帶請求內(nèi)容,依據(jù)節(jié)點PIT表項的記錄,沿請求路徑進行反向的逐跳傳輸。

對于NDN網(wǎng)絡(luò),合理的內(nèi)容放置和緩存決策,是有效發(fā)揮網(wǎng)絡(luò)性能的關(guān)鍵因素。關(guān)于NDN緩存的研究,在一開始提出內(nèi)容中心網(wǎng)絡(luò)的時候,基于其“緩存換帶寬”基本思想,就著手研究網(wǎng)內(nèi)緩存策略了。但由于NDN泛濫式的沿途全部緩存方式(Leave Cache Everywhere,LCE),致使節(jié)點緩存內(nèi)容趨于同質(zhì)化,導(dǎo)致大量的緩存冗余。相繼有研究進行改進提出了LCD、MCD、Prob、WAVE緩存策略,LCD在返回路徑存儲時,不再在所有節(jié)點進行存儲備份,只在命中節(jié)點的下游單個節(jié)點進行存儲。MCD與LCD相比,在下游節(jié)點緩存?zhèn)浞莺?,把命中?jié)點的該內(nèi)容刪除,這樣雖然大大降低了網(wǎng)內(nèi)的緩存冗余度,但是每請求一次,請求的內(nèi)容備份在網(wǎng)絡(luò)中位置就會轉(zhuǎn)移一次,增加了網(wǎng)絡(luò)的流量開銷。WAVE考慮了單個文件在網(wǎng)絡(luò)中是分成若干個chunk數(shù)據(jù)塊進行存儲的特征,chunk數(shù)據(jù)塊之間存在關(guān)聯(lián)性,當用戶以文件為單位進行請求時,隨著請求次數(shù)的增多,在返回路徑上按照指數(shù)增加網(wǎng)內(nèi)的緩存?zhèn)浞?。這樣可以快速把請求多次的內(nèi)容即流行度高的內(nèi)容擴散到網(wǎng)絡(luò)邊緣。上述策略在緩存時,缺乏對于內(nèi)容本身差異化特征的考慮,無法實現(xiàn)內(nèi)容的優(yōu)化存儲。因此,為了有效發(fā)揮內(nèi)容網(wǎng)內(nèi)節(jié)點緩存的優(yōu)勢,高效緩存算法的設(shè)計就成為需要解決的關(guān)鍵問題。

現(xiàn)有策略并沒有考慮到節(jié)點在網(wǎng)絡(luò)拓撲結(jié)構(gòu)中的位置對緩存帶來的影響,Chai等人提出了Betw緩存策略,即當興趣包在網(wǎng)內(nèi)節(jié)點或服務(wù)器端命中,獲取數(shù)據(jù)包后在返回路徑上的介數(shù)(betweenness centrality)最高的節(jié)點處進行緩存?zhèn)浞?。這種“l(fā)ess for more”思想是讓盡量少的節(jié)點來滿足盡量多的用戶請求,但是上述策略并沒有對返回的內(nèi)容進行流行度高低的區(qū)分,導(dǎo)致介數(shù)高的節(jié)點緩存空間在短時間內(nèi)被存滿,流行度高的內(nèi)容有可能短時間內(nèi)被后續(xù)的流行度低的內(nèi)容替換掉。當用戶再次請求時,在網(wǎng)內(nèi)節(jié)點不能命中,需要路由到服務(wù)器,增加了網(wǎng)絡(luò)開銷?;诖耍蕃F(xiàn)東等人在Betwe策略基礎(chǔ)上進行了改進,考慮到Betwe策略中選取的節(jié)點中內(nèi)容替換率過高,他們加入了替換率因素,選取介數(shù)高同時內(nèi)容替換率比較低的節(jié)點作為緩存位置。上述策略只在少數(shù)的位置進行了內(nèi)容不加區(qū)分地存儲,其余位置不佳的節(jié)點空間將會被閑置,造成了網(wǎng)內(nèi)緩存空間的浪費。在對請求頻率高和頻率低的內(nèi)容沒有區(qū)別對待時,分布拖尾比較長的低流行度內(nèi)容擠占了需要被緩存的高流行度內(nèi)容的空間。



技術(shù)實現(xiàn)要素:

本發(fā)明所要解決的問題是:現(xiàn)有緩存策略一類是通過普遍緩存方式把內(nèi)容快送推送到邊緣節(jié)點,導(dǎo)致出現(xiàn)網(wǎng)內(nèi)緩存數(shù)據(jù)高冗余度。一類是選取網(wǎng)絡(luò)拓撲中重要節(jié)點集中緩存內(nèi)容,導(dǎo)致網(wǎng)內(nèi)存儲空間大部分被空置浪費。為了對網(wǎng)內(nèi)節(jié)點緩存空間的最大化利用,本發(fā)明對網(wǎng)絡(luò)中的內(nèi)容進行流行度預(yù)測,提出的策略既對網(wǎng)絡(luò)中流行度高的內(nèi)容實施多重備份,又對流行度低的內(nèi)容實施協(xié)作緩存,保存少量備份,從而使得網(wǎng)內(nèi)節(jié)點緩存空間充分被利用。提出一種既可以滿足用戶對高流行度內(nèi)容的高頻率請求,又可以滿足用戶在網(wǎng)內(nèi)節(jié)點命中流行度低的內(nèi)容,有效降低內(nèi)容源端服務(wù)器的負載壓力,降低用戶的請求延時,同時提高請求在網(wǎng)內(nèi)節(jié)點的命中率的命名數(shù)據(jù)網(wǎng)絡(luò)中一種基于流行度預(yù)測的協(xié)作緩存方法。本發(fā)明的技術(shù)方案如下:

命名數(shù)據(jù)網(wǎng)絡(luò)中一種基于流行度預(yù)測的協(xié)作緩存方法,其包括以下步驟:

101、流行度預(yù)測:根據(jù)命名數(shù)據(jù)網(wǎng)絡(luò)中內(nèi)容被訪問的頻率以及內(nèi)容到請求端的距離,對內(nèi)容進行流行度預(yù)測,得出未來流行度高的內(nèi)容和流行度低的內(nèi)容;把每個節(jié)點的緩存空間劃分成兩部分x和(c-x),(c-x)用來緩存高流行度的內(nèi)容,x用來緩存低流行度的內(nèi)容;

102、對步驟101中流行度高的內(nèi)容在返回路徑上所有節(jié)點都緩存一個備份,而流行度低的內(nèi)容在返回路徑節(jié)點鄰域上綜合狀態(tài)最優(yōu)的節(jié)點進行協(xié)作緩存,只緩存單一備份。

進一步的,步驟101中流行度的預(yù)測除了考慮內(nèi)容在單個節(jié)點內(nèi)被訪問的次數(shù)Rcount,還考慮被用戶請求時的平均跳數(shù)Haverage,通過設(shè)定計數(shù)周期T來記錄周期內(nèi)被訪問的次數(shù)Rcount,通過興趣包來記錄每次請求命中的跳數(shù),這樣考慮內(nèi)容在節(jié)點的本地流行度和在整個網(wǎng)絡(luò)中的緩存位置遠近,預(yù)測下一個周期的流行度。

進一步的,步驟101對內(nèi)容進行流行度預(yù)測包括:計算在下一個計數(shù)周的流行度P(Tn+1)的:

<mrow> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mi>&alpha;</mi> <mo>+</mo> <mn>1</mn> </mrow> </mfrac> <mrow> <mo>(</mo> <mfrac> <mrow> <msub> <mi>H</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>e</mi> <mi>r</mi> <mi>a</mi> <mi>g</mi> <mi>e</mi> </mrow> </msub> <mo>*</mo> <msub> <mi>R</mi> <mrow> <mi>c</mi> <mi>o</mi> <mi>u</mi> <mi>n</mi> <mi>t</mi> </mrow> </msub> </mrow> <msub> <mi>T</mi> <mi>n</mi> </msub> </mfrac> <mo>)</mo> </mrow> <mo>+</mo> <mfrac> <mi>&alpha;</mi> <mrow> <mi>&alpha;</mi> <mo>+</mo> <mn>1</mn> </mrow> </mfrac> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mn>0</mn> <mo>&lt;</mo> <mi>&alpha;</mi> <mo>&lt;</mo> <mn>1</mn> </mrow>

其中P(Tn)表示請求內(nèi)容當前的流行度,Haverage是在一個周期內(nèi)數(shù)據(jù)每次被訪問的平均跳數(shù),Rcount表示命中節(jié)點中該內(nèi)容被請求的次數(shù),Tn表示命中內(nèi)容當前計數(shù)周期,α是調(diào)節(jié)常數(shù),ΔP表示當前周期的預(yù)測流行度值和上一周期流行度的差值,ΔP=P(Tn+1)-P(Tn),若ΔP>0,表明內(nèi)容處于流行度上升階段,緩存時在返回路徑上每個節(jié)點都緩存;若ΔP<0,表明該內(nèi)容處于流行度下降階段,在返回路徑上和其他節(jié)點協(xié)作緩存。

進一步的,預(yù)測計算出內(nèi)容流行度后,(1)當請求的內(nèi)容k在網(wǎng)內(nèi)節(jié)點或服務(wù)器端命中后,根據(jù)自身當前的流行度P(Tn)和興趣包附給的轉(zhuǎn)發(fā)跳數(shù)以及請求內(nèi)容在命中節(jié)點被請求的次數(shù)計算出未來的流行趨勢P(Tn+1),再得出ΔP的正負;

(2)若ΔP>0,內(nèi)容k在返回路徑上的所有節(jié)點進行存儲,且不能超過節(jié)點存儲劃分出的c-x容量;如果節(jié)點緩存空間c-x已滿,則啟用單個節(jié)點內(nèi)的緩存替換策略LRU;

(3)data k若處于流行度下降期,首先找出路徑上最大CoP(v)值對應(yīng)的節(jié)點,若有該內(nèi)容k,說明在路由期間已經(jīng)有其他節(jié)點請求過相同內(nèi)容,并且根據(jù)緩存策略把data k存儲在該點,此時直接丟棄;若沒有該內(nèi)容則和其表中的臨近節(jié)點CoP(v)n值做比較,找出CoP(v)最大值,存于對應(yīng)節(jié)點。

進一步的,所述整個網(wǎng)絡(luò)中存在三種存儲方式:每個節(jié)點存儲高流行度內(nèi)容的存儲空間(c-x);每個節(jié)點存儲低流行度內(nèi)容的存儲空間x;服務(wù)器存儲原始數(shù)據(jù)備份的存儲空間。

進一步的,步驟102中流行度低的內(nèi)容在返回路徑節(jié)點鄰域上節(jié)點的綜合狀態(tài)用CoP(v)來表示節(jié)點的綜合狀態(tài):設(shè)當前節(jié)點PIT中各個內(nèi)容名字對應(yīng)接口數(shù)量為Dname1,Dname2…,Dname n,那么總的請求接口數(shù)為Dtotal(v)=Dname1+Dname2+…Dname n,當前接口數(shù)可以直接反映節(jié)點被請求的速率,C(v)表述各個節(jié)點的連接性,公式如下:

<mrow> <mi>C</mi> <mi>o</mi> <mi>P</mi> <mrow> <mo>(</mo> <mi>v</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mi>C</mi> <mrow> <mo>(</mo> <mi>v</mi> <mo>)</mo> </mrow> </mrow> <mrow> <msub> <mi>D</mi> <mrow> <mi>t</mi> <mi>o</mi> <mi>t</mi> <mi>a</mi> <mi>l</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>v</mi> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow>

CoP(v)值越大,表示該點連接性能好的前提下被訪問的速率越慢。

本發(fā)明的優(yōu)點及有益效果如下:

本發(fā)明通過對內(nèi)容流行度的準確預(yù)測,區(qū)分出內(nèi)容的流行度高低,在緩存時進行采取不同的策略,可以使流行度高的內(nèi)容快速推送到邊緣節(jié)點,使用戶更快地在網(wǎng)內(nèi)命中請求的內(nèi)容。使流行度低的內(nèi)容占用少量的存儲空間,在節(jié)約存儲空間的同時可以滿足用戶對其低頻率的請求,即使不能在網(wǎng)內(nèi)命中,可以路由到服務(wù)器端找到請求的內(nèi)容,額外的開銷也在容忍范圍之內(nèi),對整個網(wǎng)絡(luò)的開銷影響較小。該新型緩存策略既可以滿足用戶對高流行度內(nèi)容的高頻率請求,又可以滿足用戶在網(wǎng)內(nèi)節(jié)點命中流行度低的內(nèi)容,有效降低內(nèi)容源端服務(wù)器的負載壓力,降低用戶的請求延時,同時提高請求在網(wǎng)內(nèi)節(jié)點的命中率。

附圖說明

圖1是本發(fā)明提供優(yōu)選實施例內(nèi)容流行度預(yù)測流程圖;

圖2為本發(fā)明中協(xié)作緩存策略流程圖;

圖3為本發(fā)明中確定節(jié)點空間劃分比例流程圖。

具體實施方式

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、詳細地描述。所描述的實施例僅僅是本發(fā)明的一部分實施例。

1.如圖1所示為內(nèi)容流行度預(yù)測流程圖。節(jié)點請求到達率一般采用泊松分布,而整個網(wǎng)絡(luò)中的內(nèi)容分布符合zipf分布。也即二八分布,網(wǎng)絡(luò)中的排名次序前20%內(nèi)容可以滿足網(wǎng)絡(luò)中80%的請求量。如下式所示:

C為常數(shù)

p(i)表示i對應(yīng)內(nèi)容出現(xiàn)的頻率,i表示在所有內(nèi)容排序中的次序,排序按照內(nèi)容出現(xiàn)頻率的高低,從高到低的次序排列。則總數(shù)為N個內(nèi)容中排序為i的內(nèi)容被請求的概率為:

<mrow> <mi>r</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>;</mo> <mi>s</mi> <mo>,</mo> <mi>N</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mn>1</mn> <mo>/</mo> <msup> <mi>i</mi> <mi>s</mi> </msup> </mrow> <mrow> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </msubsup> <mrow> <mo>(</mo> <mn>1</mn> <mo>/</mo> <msup> <mi>j</mi> <mi>s</mi> </msup> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>=</mo> <mfrac> <mrow> <mn>1</mn> <mo>/</mo> <msup> <mi>i</mi> <mi>s</mi> </msup> </mrow> <msub> <mi>H</mi> <mrow> <mi>N</mi> <mo>,</mo> <mi>s</mi> </mrow> </msub> </mfrac> <mo>,</mo> <mi>i</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>...</mn> <mrow> <mo>(</mo> <mn>0</mn> <mo>&lt;</mo> <mi>s</mi> <mo>&lt;</mo> <mn>1</mn> <mo>,</mo> <mn>1</mn> <mo>&lt;</mo> <mi>s</mi> <mo>&lt;</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

其中s越大,表示流行的內(nèi)容越集中。排名前k個內(nèi)容的概率分布為:

<mrow> <mi>F</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>;</mo> <mi>s</mi> <mo>,</mo> <mi>N</mi> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </munderover> <mi>r</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>;</mo> <mi>s</mi> <mo>,</mo> <mi>N</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <msub> <mi>H</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>s</mi> </mrow> </msub> <msub> <mi>H</mi> <mrow> <mi>N</mi> <mo>,</mo> <mi>s</mi> </mrow> </msub> </mfrac> <mo>,</mo> <mi>k</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>...</mn> </mrow>

除了服務(wù)器內(nèi)存儲的內(nèi)容具有長期穩(wěn)態(tài)性外,網(wǎng)內(nèi)的內(nèi)容處于高動態(tài)性,20%流行度高的內(nèi)容也在不斷更替,不斷有高流行度內(nèi)容退化成流行度低的部分,流行度低的內(nèi)容也有部分在向流行度高進化。研究表明,網(wǎng)絡(luò)中動態(tài)內(nèi)容的流行度或熱度都符合從低谷到達峰值,在經(jīng)過一段時間后回落到低谷。所以我們設(shè)定計數(shù)周期,在興趣包中添加一個計數(shù)位Hcount和時間Tn,每轉(zhuǎn)發(fā)一次計數(shù)加1,當命中后停止計數(shù)達到Hcount,也即請求端到命中節(jié)點的總跳數(shù),命中節(jié)點中該內(nèi)容被請求一次也計數(shù)一次,用Rcount表示,當?shù)竭_周期Tn時停止計數(shù)。Hcount可以間接反映該內(nèi)容在整個網(wǎng)絡(luò)中的備份位置,因為跳數(shù)越大,說明離請求端越遠,Rcount越大,說明對該內(nèi)容請求越多,邊緣節(jié)點沒有足夠的備份來滿足請求。如果僅僅考慮內(nèi)容在節(jié)點被請求的頻率不能夠預(yù)測對應(yīng)內(nèi)容在整個網(wǎng)絡(luò)內(nèi)的流行度,一般內(nèi)容越靠近服務(wù)器端,被請求的次數(shù)相對就會越少,此時僅僅依靠在節(jié)點中內(nèi)容被請求的次數(shù),大多數(shù)內(nèi)容將被判別為流行度低的內(nèi)容。Haverage是在一個周期內(nèi)數(shù)據(jù)每次被訪問的平均跳數(shù),Haverage*Rcount的變化不僅可以反映內(nèi)容在網(wǎng)內(nèi)的流行度,也反映了該內(nèi)容在該周期的網(wǎng)絡(luò)開銷,尤其是對靠近服務(wù)器的節(jié)點內(nèi)容流行度的判斷更加靈敏。計算在下一個計數(shù)周的流行度P(Tn+1):

<mrow> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mi>&alpha;</mi> <mo>+</mo> <mn>1</mn> </mrow> </mfrac> <mrow> <mo>(</mo> <mfrac> <mrow> <msub> <mi>H</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>e</mi> <mi>r</mi> <mi>a</mi> <mi>g</mi> <mi>e</mi> </mrow> </msub> <mo>*</mo> <msub> <mi>R</mi> <mrow> <mi>c</mi> <mi>o</mi> <mi>u</mi> <mi>n</mi> <mi>t</mi> </mrow> </msub> </mrow> <msub> <mi>T</mi> <mi>n</mi> </msub> </mfrac> <mo>)</mo> </mrow> <mo>+</mo> <mfrac> <mi>&alpha;</mi> <mrow> <mi>&alpha;</mi> <mo>+</mo> <mn>1</mn> </mrow> </mfrac> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mn>0</mn> <mo>&lt;</mo> <mi>&alpha;</mi> <mo>&lt;</mo> <mn>1</mn> </mrow>

其中P(Tn)表示請求內(nèi)容當前的流行度,Tn表示命中內(nèi)容當前計數(shù)周期,α是調(diào)節(jié)常數(shù)。上式展開得:

<mrow> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mi>&alpha;</mi> <mo>+</mo> <mn>1</mn> </mrow> </mfrac> <mo>*</mo> <mfrac> <mrow> <msub> <mi>H</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>e</mi> <mi>r</mi> <mi>a</mi> <mi>g</mi> <mi>e</mi> </mrow> </msub> <mo>*</mo> <msub> <mi>R</mi> <mrow> <mi>c</mi> <mi>o</mi> <mi>u</mi> <mi>n</mi> <mi>t</mi> </mrow> </msub> </mrow> <msub> <mi>T</mi> <mi>n</mi> </msub> </mfrac> <mo>+</mo> <mfrac> <mi>&alpha;</mi> <msup> <mrow> <mo>(</mo> <mi>&alpha;</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mfrac> <mo>*</mo> <mfrac> <mrow> <msub> <mi>H</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>e</mi> <mi>r</mi> <mi>a</mi> <mi>g</mi> <mi>e</mi> </mrow> </msub> <mo>*</mo> <msub> <mi>R</mi> <mrow> <mi>c</mi> <mi>o</mi> <mi>u</mi> <mi>n</mi> <mi>t</mi> </mrow> </msub> </mrow> <msub> <mi>T</mi> <mrow> <mi>n</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mfrac> <mo>+</mo> <mfrac> <msup> <mi>&alpha;</mi> <mn>2</mn> </msup> <msup> <mrow> <mo>(</mo> <mi>&alpha;</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mn>3</mn> </msup> </mfrac> <mo>*</mo> <mfrac> <mrow> <msub> <mi>H</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>e</mi> <mi>r</mi> <mi>a</mi> <mi>g</mi> <mi>e</mi> </mrow> </msub> <mo>*</mo> <msub> <mi>R</mi> <mrow> <mi>c</mi> <mi>o</mi> <mi>u</mi> <mi>n</mi> <mi>t</mi> </mrow> </msub> </mrow> <msub> <mi>T</mi> <mrow> <mi>n</mi> <mo>-</mo> <mn>2</mn> </mrow> </msub> </mfrac> <mo>+</mo> <mn>...</mn> </mrow>

越靠近當前周期的計數(shù)對未來的流行度預(yù)測占的比例越高,影響越大,距離當前周期越遠,對內(nèi)容的未來的流行度影響越弱。

ΔP=P(Tn+1)-P(Tn)

若ΔP>0,表明內(nèi)容處于流行度上升階段,緩存時在返回路徑上每個節(jié)點都緩存。若ΔP<0,表明該內(nèi)容處于流行度下降階段。在返回路徑上和其他節(jié)點協(xié)作緩存。

2.如圖2為協(xié)作緩存策略流程圖。當ΔP<0時,內(nèi)容處于流行度下降期,采用協(xié)作緩存。協(xié)作緩存的節(jié)點根據(jù)每個節(jié)點的連接性C(v)好壞來選取。在此我們計算各個節(jié)點的連接性的方法如下:

<mrow> <mi>C</mi> <mrow> <mo>(</mo> <mi>&nu;</mi> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mo>&Sigma;</mo> <mrow> <mi>n</mi> <mo>&Element;</mo> <msub> <mi>&pi;</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>&nu;</mi> <mo>)</mo> </mrow> </mrow> </munder> <mi>Q</mi> <mrow> <mo>(</mo> <mi>v</mi> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mo>&Sigma;</mo> <mrow> <mi>n</mi> <mo>&Element;</mo> <msub> <mi>&pi;</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>&nu;</mi> <mo>)</mo> </mrow> </mrow> </munder> <mrow> <mo>(</mo> <mi>&beta;</mi> <mo>|</mo> <msub> <mi>&pi;</mi> <mn>1</mn> </msub> <mo>(</mo> <mi>n</mi> <mo>)</mo> <mo>|</mo> <mo>+</mo> <mo>(</mo> <mrow> <mn>1</mn> <mo>-</mo> <mi>&beta;</mi> </mrow> <mo>)</mo> <munder> <mo>&Sigma;</mo> <mrow> <mi>&omega;</mi> <mo>&Element;</mo> <msub> <mi>&pi;</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </munder> <msub> <mi>c</mi> <mi>&omega;</mi> </msub> <mo>)</mo> </mrow> </mrow>

其中π1(n)表示距離節(jié)點n為1的所有節(jié)點,π1(v)表示距離節(jié)點v為1的所有節(jié)點。β是屬于0到1之間的調(diào)節(jié)常數(shù),其中

<mrow> <msub> <mi>c</mi> <mi>&omega;</mi> </msub> <mo>=</mo> <mfrac> <mrow> <mn>2</mn> <mo>|</mo> <mo>{</mo> <msub> <mi>e</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>:</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>&Element;</mo> <msub> <mi>&pi;</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>&omega;</mi> <mo>)</mo> </mrow> <mo>,</mo> <mi>i</mi> <mo>&NotEqual;</mo> <mi>j</mi> <mo>}</mo> <mo>|</mo> </mrow> <mrow> <msub> <mi>C</mi> <mi>D</mi> </msub> <mrow> <mo>(</mo> <mi>&omega;</mi> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <msub> <mi>C</mi> <mi>D</mi> </msub> <mo>(</mo> <mi>&omega;</mi> <mo>)</mo> </mrow> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </mfrac> </mrow>

eij表示點i和點j連接的邊,CD(ω)表示和ω相連的所有節(jié)點數(shù),C(v)越大,表示v點的緊密性越好。在上述方法中不僅僅考慮節(jié)點的半徑范圍r=2的臨近節(jié)點的個數(shù),還考慮臨近節(jié)點之間的聯(lián)系度。這樣可以更加準確篩選出緊密性更好的節(jié)點。只考慮節(jié)點連接性可能導(dǎo)致性能好的節(jié)點收斂速度過快,使內(nèi)容快速向這些節(jié)點聚合,造成節(jié)點擁塞,為了緩解擁塞,減輕節(jié)點的負載,我們綜合考慮節(jié)點連接性和節(jié)點被訪問速度。PIT結(jié)構(gòu)中含有{內(nèi)容名字;請求接口},我們設(shè)當前節(jié)點PIT中各個內(nèi)容名字對應(yīng)接口數(shù)量為Dname1,Dname2…,Dname n,那么總的請求接口數(shù)為Dtotal(v)=Dname1+Dname2+…Dname n。當前接口數(shù)可以直接反映節(jié)點被請求的速率。所以我們提出用CoP(v)來表示節(jié)點的綜合狀態(tài):

<mrow> <mi>C</mi> <mi>o</mi> <mi>P</mi> <mrow> <mo>(</mo> <mi>v</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mi>C</mi> <mrow> <mo>(</mo> <mi>v</mi> <mo>)</mo> </mrow> </mrow> <mrow> <msub> <mi>D</mi> <mrow> <mi>t</mi> <mi>o</mi> <mi>t</mi> <mi>a</mi> <mi>l</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>v</mi> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow>

CoP(v)值越大,表示該點連接性能好的前提下被訪問的速率越慢,如果在該點緩存內(nèi)容,既保證了后續(xù)請求能夠快速請求到該點,又不會出現(xiàn)高的替換率和請求率,同時可以有效緩解節(jié)點的負載。

每個節(jié)點在原有的數(shù)據(jù)結(jié)構(gòu)上增加一個新的數(shù)據(jù)結(jié)構(gòu),結(jié)構(gòu)單元組包括{節(jié)點名稱,對應(yīng)CS中內(nèi)容列表,對應(yīng)PIT接口數(shù)目},用來記錄其周圍距離為2的范圍內(nèi)節(jié)點的協(xié)作緩存內(nèi)容列表和接入接口數(shù)。如若鄰域節(jié)點有重復(fù)的內(nèi)容條目,則只保留CoP(v)最高的節(jié)點處備份。

步驟:

(1)當請求的內(nèi)容k在網(wǎng)內(nèi)節(jié)點或服務(wù)器端命中后,根據(jù)自身當前的流行度P(Tn)和興趣包附給的轉(zhuǎn)發(fā)跳數(shù)以及請求內(nèi)容在命中節(jié)點被請求的次數(shù)計算出未來的流行趨勢P(Tn+1),再得出ΔP的正負,

(2)若ΔP>0,內(nèi)容k在返回路徑上的所有節(jié)點進行存儲,且不能超過節(jié)點存儲劃分出的c-x容量;如果節(jié)點緩存空間c-x已滿,則啟用單個節(jié)點內(nèi)的緩存替換策略LRU。

(3)data k若處于流行度下降期,首先找出路徑上最大CoP(v)值對應(yīng)的節(jié)點,若有該內(nèi)容k,說明在路由期間已經(jīng)有其他節(jié)點請求過相同內(nèi)容,并且根據(jù)緩存策略把data k存儲在該點,此時直接丟棄。若沒有該內(nèi)容則和其表中的臨近節(jié)點CoP(v)n值做比較,找出CoP(v)最大值,存于對應(yīng)節(jié)點。

3.圖3是節(jié)點緩存空間劃分的流程。當存儲流行度上升時期的內(nèi)容時,在返回路徑上每個節(jié)點劃分的(c-x)部分進行緩存以保證更多的請求能夠最快命中。劃分合適比例的緩存空間采取相應(yīng)的存儲策略將變得十分重要,如果劃分的(c-x)過少,則很快被存滿,替換率過高,如果劃分的太多,協(xié)作緩存效果將會降低,整體緩存策略幾近退化為LCE緩存策略,對網(wǎng)絡(luò)性能的提升非常有限。本文采用興趣包從客戶端發(fā)出到命中節(jié)點之間的跳數(shù)作為請求代價,在節(jié)點線性處理速度前提下,跳數(shù)也間接反映了請求延時。

在本文提出的策略中,內(nèi)容在網(wǎng)絡(luò)中存在三種存儲方式,因此請求的內(nèi)容在網(wǎng)絡(luò)中命中的平均跳數(shù)也存在不同。假設(shè)interest包在節(jié)點的c-x部分命中,對應(yīng)的跳數(shù)為h1

<mrow> <msub> <mi>h</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>=</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <munder> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>&Element;</mo> <mi>c</mi> <mo>-</mo> <mi>x</mi> </mrow> </munder> <msub> <mi>r</mi> <mrow> <mi>i</mi> <mi>k</mi> </mrow> </msub> <msub> <mi>y</mi> <mrow> <mi>i</mi> <mi>k</mi> </mrow> </msub> <msub> <mi>h</mi> <mrow> <mi>c</mi> <mo>-</mo> <mi>x</mi> </mrow> </msub> </mrow>

interest包在節(jié)點的協(xié)作緩存x空間內(nèi)命中,對應(yīng)的跳數(shù)為h2

<mrow> <msub> <mi>h</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>=</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <munder> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>&Element;</mo> <mi>x</mi> </mrow> </munder> <msub> <mi>r</mi> <mrow> <mi>i</mi> <mi>k</mi> </mrow> </msub> <msub> <mi>y</mi> <mrow> <mi>i</mi> <mi>k</mi> </mrow> </msub> <msub> <mi>h</mi> <mi>x</mi> </msub> </mrow>

假設(shè)沒有在網(wǎng)絡(luò)找到相應(yīng)的內(nèi)容,interest包路由到服務(wù)器,對應(yīng)的跳數(shù)為h3

<mrow> <msub> <mi>h</mi> <mn>3</mn> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>=</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <munder> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>&Element;</mo> <mi>s</mi> </mrow> </munder> <msub> <mi>r</mi> <mrow> <mi>i</mi> <mi>k</mi> </mrow> </msub> <msub> <mi>y</mi> <mrow> <mi>i</mi> <mi>k</mi> </mrow> </msub> <msub> <mi>h</mi> <mi>s</mi> </msub> </mrow>

約束條件為:

0<xj<c

0<c-xj<c

yik∈{0,1}

其中n代表節(jié)點數(shù),N代表chunk數(shù)據(jù)塊數(shù)目,rik表示每個節(jié)點i觀測到對內(nèi)容k的請求速率,服從泊松分布。yik表示請求內(nèi)容是否命中,命中yik=1,否則yik=0。h是命中以后請求路徑的跳數(shù)。根據(jù)內(nèi)容不同的緩存方式,用k∈c-x,k∈x,k∈s分別表示本地緩存內(nèi)容,協(xié)作緩存內(nèi)容和服務(wù)器緩存內(nèi)容。如果x取0,相當于完全沒有協(xié)作緩存,是處處緩存策略,導(dǎo)致節(jié)點空間快速存滿,流行的內(nèi)容也很快被替換掉,interest包在網(wǎng)絡(luò)中間節(jié)點命中率很低,這樣總的跳數(shù)必然會很大。x取c時,網(wǎng)絡(luò)的緩存策略是所有節(jié)點的所有緩存空間進行協(xié)作緩存,這樣會導(dǎo)致流行度高的內(nèi)容在網(wǎng)絡(luò)中的備份會減少,客戶端請求的流行度高的內(nèi)容和流行度低的內(nèi)容的跳數(shù)基本一樣,跳數(shù)也會很大。所以存在x∈(0,c)這樣的一個點,使網(wǎng)絡(luò)的總跳數(shù)最小。問題可以轉(zhuǎn)化為如下描述:

Min(h1+h2+h3)

<mrow> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>=</mo> <mi>arg</mi> <munder> <mrow> <mi>M</mi> <mi>i</mi> <mi>n</mi> </mrow> <msub> <mi>x</mi> <mi>j</mi> </msub> </munder> <mrow> <mo>(</mo> <msub> <mi>h</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>h</mi> <mn>2</mn> </msub> <mo>+</mo> <msub> <mi>h</mi> <mn>3</mn> </msub> <mo>)</mo> </mrow> </mrow>

h表示整個網(wǎng)絡(luò)的請求路由跳數(shù)。對于x的求解,我們對x進行從0到c枚舉,求出最小的h對應(yīng)的x,即作為x*。進行歸一化處理即是最優(yōu)協(xié)同深度值ρ:

<mrow> <mi>&rho;</mi> <mo>=</mo> <mfrac> <msup> <mi>x</mi> <mo>*</mo> </msup> <mi>c</mi> </mfrac> <mo>,</mo> <mn>0</mn> <mo>&lt;</mo> <mi>&rho;</mi> <mo>&lt;</mo> <mn>1</mn> </mrow>

以上這些實施例應(yīng)理解為僅用于說明本發(fā)明而不用于限制本發(fā)明的保護范圍。在閱讀了本發(fā)明的記載的內(nèi)容之后,技術(shù)人員可以對本發(fā)明作各種改動或修改,這些等效變化和修飾同樣落入本發(fā)明權(quán)利要求所限定的范圍。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
邵阳县| 修文县| 南昌市| 射洪县| 临城县| 吴堡县| 南宁市| 蓝山县| 祁阳县| 房山区| 凉山| 阿城市| 赤水市| 黔西县| 博爱县| 稷山县| 同心县| 昭通市| 嵩明县| 新干县| 加查县| 襄汾县| 正安县| 东平县| 巴中市| 镇康县| 东方市| 京山县| 宣威市| 延寿县| 志丹县| 通江县| 肇东市| 花莲市| 金华市| 扶沟县| 黄骅市| 昌黎县| 合水县| 元氏县| 德江县|