亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

命名數據網絡中一種基于流行度預測的協作緩存方法與流程

文檔序號:11879228閱讀:554來源:國知局
命名數據網絡中一種基于流行度預測的協作緩存方法與流程

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



背景技術:

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

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

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

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



技術實現要素:

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

命名數據網絡中一種基于流行度預測的協作緩存方法,其包括以下步驟:

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

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

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

進一步的,步驟101對內容進行流行度預測包括:計算在下一個計數周的流行度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)表示請求內容當前的流行度,Haverage是在一個周期內數據每次被訪問的平均跳數,Rcount表示命中節(jié)點中該內容被請求的次數,Tn表示命中內容當前計數周期,α是調節(jié)常數,ΔP表示當前周期的預測流行度值和上一周期流行度的差值,ΔP=P(Tn+1)-P(Tn),若ΔP>0,表明內容處于流行度上升階段,緩存時在返回路徑上每個節(jié)點都緩存;若ΔP<0,表明該內容處于流行度下降階段,在返回路徑上和其他節(jié)點協作緩存。

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

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

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

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

進一步的,步驟102中流行度低的內容在返回路徑節(jié)點鄰域上節(jié)點的綜合狀態(tài)用CoP(v)來表示節(jié)點的綜合狀態(tài):設當前節(jié)點PIT中各個內容名字對應接口數量為Dname1,Dname2…,Dname n,那么總的請求接口數為Dtotal(v)=Dname1+Dname2+…Dname n,當前接口數可以直接反映節(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ā)明通過對內容流行度的準確預測,區(qū)分出內容的流行度高低,在緩存時進行采取不同的策略,可以使流行度高的內容快速推送到邊緣節(jié)點,使用戶更快地在網內命中請求的內容。使流行度低的內容占用少量的存儲空間,在節(jié)約存儲空間的同時可以滿足用戶對其低頻率的請求,即使不能在網內命中,可以路由到服務器端找到請求的內容,額外的開銷也在容忍范圍之內,對整個網絡的開銷影響較小。該新型緩存策略既可以滿足用戶對高流行度內容的高頻率請求,又可以滿足用戶在網內節(jié)點命中流行度低的內容,有效降低內容源端服務器的負載壓力,降低用戶的請求延時,同時提高請求在網內節(jié)點的命中率。

附圖說明

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

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

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

具體實施方式

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

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

C為常數

p(i)表示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越大,表示流行的內容越集中。排名前k個內容的概率分布為:

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

<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>

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

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

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

2.如圖2為協作緩存策略流程圖。當ΔP<0時,內容處于流行度下降期,采用協作緩存。協作緩存的節(jié)點根據每個節(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之間的調節(jié)常數,其中

<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é)點數,C(v)越大,表示v點的緊密性越好。在上述方法中不僅僅考慮節(jié)點的半徑范圍r=2的臨近節(jié)點的個數,還考慮臨近節(jié)點之間的聯系度。這樣可以更加準確篩選出緊密性更好的節(jié)點。只考慮節(jié)點連接性可能導致性能好的節(jié)點收斂速度過快,使內容快速向這些節(jié)點聚合,造成節(jié)點擁塞,為了緩解擁塞,減輕節(jié)點的負載,我們綜合考慮節(jié)點連接性和節(jié)點被訪問速度。PIT結構中含有{內容名字;請求接口},我們設當前節(jié)點PIT中各個內容名字對應接口數量為Dname1,Dname2…,Dname n,那么總的請求接口數為Dtotal(v)=Dname1+Dname2+…Dname n。當前接口數可以直接反映節(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)值越大,表示該點連接性能好的前提下被訪問的速率越慢,如果在該點緩存內容,既保證了后續(xù)請求能夠快速請求到該點,又不會出現高的替換率和請求率,同時可以有效緩解節(jié)點的負載。

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

步驟:

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

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

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

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

在本文提出的策略中,內容在網絡中存在三種存儲方式,因此請求的內容在網絡中命中的平均跳數也存在不同。假設interest包在節(jié)點的c-x部分命中,對應的跳數為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é)點的協作緩存x空間內命中,對應的跳數為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>

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

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表示整個網絡的請求路由跳數。對于x的求解,我們對x進行從0到c枚舉,求出最小的h對應的x,即作為x*。進行歸一化處理即是最優(yōu)協同深度值ρ:

<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>

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

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1