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

一種基于聯(lián)合緩存架構(gòu)的網(wǎng)絡(luò)內(nèi)視頻緩存方法與流程

文檔序號:11931512閱讀:200來源:國知局

本發(fā)明屬于通信技術(shù)領(lǐng)域,尤其涉及一種基于聯(lián)合緩存架構(gòu)的網(wǎng)絡(luò)內(nèi)視頻緩存方法。



背景技術(shù):

隨著移動互聯(lián)網(wǎng)的迅速發(fā)展及在線視頻內(nèi)容的急劇增長,在網(wǎng)絡(luò)內(nèi)緩存視頻時,提升終端用戶體驗以及降低用戶費用便顯得尤為重要。然而,由于互聯(lián)網(wǎng)中視頻數(shù)量和用戶視頻需求與有限的存儲容量和鏈路帶寬之間的矛盾,在網(wǎng)絡(luò)內(nèi)高效地緩存視頻是一件比較困難的事情。

當(dāng)前存在的關(guān)于網(wǎng)絡(luò)內(nèi)視頻緩存問題的解決方案的不足有:(1)依賴于靜態(tài)配置和時間平均請求到達(dá)率,并不能有效地解決動態(tài)請求模式中出現(xiàn)的問題;(2)同時解決視頻緩存問題和源節(jié)點選擇問題,導(dǎo)致算法復(fù)雜度過高,且耗費時間較長,效率過低。



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

本發(fā)明的目的在于改進(jìn)當(dāng)前網(wǎng)絡(luò)內(nèi)視頻緩存技術(shù)的不足,提出一種基于聯(lián)合緩存架構(gòu)的網(wǎng)絡(luò)內(nèi)視頻緩存方法,讓所有網(wǎng)絡(luò)節(jié)點共同緩存用戶所需的視頻,從而使視頻在存儲容量和鏈路帶寬受限的網(wǎng)絡(luò)中傳輸?shù)目偝杀咀钚 ?/p>

本發(fā)明提出的聯(lián)合緩存架構(gòu),指的是一種網(wǎng)絡(luò)中所有節(jié)點各自開辟一定的緩存空間,并共同緩存用戶所需視頻資源的架構(gòu)。網(wǎng)絡(luò)節(jié)點包括直接與用戶基站相連的服務(wù)節(jié)點和與外界互聯(lián)網(wǎng)相連的分組數(shù)據(jù)網(wǎng)絡(luò)PDN網(wǎng)關(guān),下面簡稱節(jié)點。

為實現(xiàn)上述發(fā)明目的,本發(fā)明提出的技術(shù)方案是:

一種基于聯(lián)合緩存架構(gòu)的網(wǎng)絡(luò)內(nèi)視頻緩存方法,包括以下步驟:

步驟一:在所有節(jié)點緩存特定的視頻;

在基于聯(lián)合緩存架構(gòu)的網(wǎng)絡(luò)中,預(yù)留一部分比例為α的空間緩存用戶請求最多的視頻;然后利用剩下的空間保證網(wǎng)絡(luò)可以緩存所有視頻;若節(jié)點仍有剩余空間,則繼續(xù)在每個節(jié)點中緩存視頻,填滿所有節(jié)點緩存空間;尋找一個最佳α,使網(wǎng)絡(luò)的總緩存命中量達(dá)到最大;

步驟二:確定獲取視頻的最佳源節(jié)點;

視頻緩存完成后,當(dāng)一個節(jié)點i接收到對視頻k的請求時,節(jié)點i先在本地緩存中尋找視頻k,如果有則直接將視頻k發(fā)送給用戶;否則在其他網(wǎng)絡(luò)節(jié)點的緩存中尋找視頻k;當(dāng)存在多個其它網(wǎng)絡(luò)節(jié)點都緩存有視頻k時,根據(jù)視頻請求模式和鏈路狀態(tài)信息的動態(tài)變化,為視頻用戶尋找一個最佳的視頻源節(jié)點。

進(jìn)一步根據(jù)所述基于聯(lián)合緩存架構(gòu)的網(wǎng)絡(luò)內(nèi)視頻緩存方法,步驟一中在所有節(jié)點緩存特定的視頻:

M為網(wǎng)絡(luò)中所有節(jié)點i的集合,N為所有需要緩存的視頻k的集合,Sk為視頻k的大小,λik表示節(jié)點i中收到用戶請求為視頻k的概率,其中λik∈[0,1],可通過歷史統(tǒng)計計算或預(yù)測得到;yik表示節(jié)點i的緩存中是否有視頻k,yik=0表示節(jié)點i的緩存中沒有視頻k,yik=1表示節(jié)點i的緩存中有視頻k,即yik∈{0,1};表示總緩存空間的緩存命中量,緩存命中量越大表示緩存空間中請求概率高的視頻越多,資源利用率越高,系統(tǒng)更高效;

在存儲空間和鏈路帶寬受限的情況下,通過合理地在各個網(wǎng)絡(luò)節(jié)點中緩存視頻數(shù)據(jù),使本地網(wǎng)絡(luò)節(jié)點的總緩存命中量達(dá)到最大,即取得最大值;節(jié)點緩存容量受限,Di為節(jié)點i的緩存容量,則緩存視頻時必須滿足

具體步驟如下:(1-1)緩存請求概率最高的視頻;(1-2)保證緩存所有視頻;(1-3)填滿節(jié)點剩余空間;(1-4)尋找最佳分配方式。

進(jìn)一步根據(jù)所述基于聯(lián)合緩存架構(gòu)的網(wǎng)絡(luò)內(nèi)視頻緩存方法,步驟一在所有節(jié)點緩存特定的視頻中的(1-1)緩存請求概率最高的視頻:

將網(wǎng)絡(luò)中所有節(jié)點i的總緩存容量中預(yù)留比例為α的部分來緩存每個網(wǎng)絡(luò)節(jié)點中請求概率最高的視頻,假設(shè)α為一個給定的數(shù)值;用Pi表示節(jié)點i緩存的視頻集合,Di′表示節(jié)點i的剩余緩存容量;

對于集合M中的每個節(jié)點i,初始化集合Pi為空集,令為總?cè)萘恐斜壤秊棣恋牟糠秩萘?,初始化集合W={(i,k)|i∈M,k∈N}為所有可能的(i,k)配對的集合,初始化節(jié)點i的剩余緩存容量Di′=Di

當(dāng)D大于0且集合W不為空集時,令如果即視頻k*的大小不大于節(jié)點i*的剩余緩存容量,則令即把視頻k*緩存到節(jié)點i*中,同時將用來緩存請求概率最高視頻的部分容量D和節(jié)點i*的剩余緩存容量均減去視頻k*的大小Sk*;令W=W-{(i*,k*)},即把集合W中的(i*,k*)配對去掉,同時令表示節(jié)點i*的緩存中有視頻k*;

如果D大于0且集合W不為空集,則繼續(xù)緩存視頻;如果D等于0或者集合W為空集,則表示用來緩存請求概率最高視頻的空間已經(jīng)分配完,或者網(wǎng)絡(luò)中所有的節(jié)點均分配到所有的視頻;

緩存視頻結(jié)束后,得到每個節(jié)點i中緩存視頻的集合Pi以及全部Pi的并集N0,集合N0中的元素表示網(wǎng)絡(luò)中任一節(jié)點緩存的視頻,所有視頻中請求概率最高的視頻緩存完畢。

進(jìn)一步根據(jù)所述基于聯(lián)合緩存架構(gòu)的網(wǎng)絡(luò)內(nèi)視頻緩存方法,步驟一在所有節(jié)點緩存特定的視頻中的(1-2)保證緩存所有視頻:

令Nr表示網(wǎng)絡(luò)中沒有緩存的視頻的集合,即為了利用剩余的1-α部分空間實現(xiàn)所有視頻全覆蓋,并在保證緩存全部視頻的前提下使緩存命中量最大,則每個視頻只需在所有網(wǎng)絡(luò)節(jié)點中緩存唯一復(fù)本即可;

存儲容量受限,則必須滿足

對于集合Nr中的每一個視頻k,令Yk表示所有可以用于緩存視頻k的節(jié)點集合,初始化Yk=M;

在集合Yk中尋找一個使取得最大值的節(jié)點i*,即若視頻k的大小Sk大于節(jié)點i*的剩余空間則令Yk=Y(jié)k-i*,即表示節(jié)點i*不可以用于緩存視頻k;繼續(xù)在集合Yk中尋找一個使λik取得最大值的節(jié)點i*緩存視頻,直到Y(jié)k變?yōu)榭占?;Yk為空集表示當(dāng)前網(wǎng)絡(luò)內(nèi)沒有節(jié)點具有足夠的空間來緩存視頻k,即網(wǎng)絡(luò)無法保證緩存所有視頻,則當(dāng)前給定的α值是不合理的;

若Sk不大于節(jié)點i*的剩余空間令Nr=Nr-k,將視頻k緩存到節(jié)點i*中,同時更新為減去視頻k的大小Sk;

Nr變?yōu)榭占?,緩存所有視頻結(jié)束。

進(jìn)一步根據(jù)所述基于聯(lián)合緩存架構(gòu)的網(wǎng)絡(luò)內(nèi)視頻緩存方法,步驟一在所有節(jié)點緩存特定的視頻中的(1-3)填滿節(jié)點剩余空間:

視頻緩存完成后,各個節(jié)點i可能還有部分剩余空間;

Ni表示節(jié)點i沒有緩存的視頻的集合,Pi″表示節(jié)點i將要緩存的視頻k的集合;在不超過節(jié)點i的剩余緩存容量的條件下,即將使得最大的視頻加入集合Pi″中,同時將Pi″中的視頻緩存到節(jié)點i中;

遍歷集合M中的所有節(jié)點i,初始化集合Pi″為空集;

當(dāng)Di′大于0且集合Ni不為空集時,令即Ni中最受歡迎的視頻;如果視頻k*的大小Sk*不大于此時節(jié)點i的剩余容量Di′,則令集合Pi″=Pi″∪k*,Ni=Ni-k*,把視頻k*緩存到節(jié)點i中,將節(jié)點i剩余容量Di′更新為Di′減去Sk*;如果視頻k*的大小Sk*大于此時節(jié)點i的剩余容量Di′,令集合Ni=Ni-k*,不緩存視頻k*;

如果Di′大于0且集合Ni不為空集,則繼續(xù)按照所述方法,給節(jié)點繼續(xù)緩存視頻;如果Di′等于0或者集合Ni為空集,則表示節(jié)點i的剩余緩存空間已經(jīng)分配完,或者節(jié)點i已經(jīng)緩存所有的視頻,集合Pi=Pi∪Pi″,得到節(jié)點i中緩存的全部視頻;

遍歷完集合M中的所有節(jié)點i后,此時所有節(jié)點的緩存空間都已經(jīng)被填滿,并得到全部節(jié)點i和視頻k對應(yīng)的yik值;記錄每個節(jié)點的緩存分配結(jié)果,即每個節(jié)點緩存的視頻集合Pi,并根據(jù)節(jié)點緩存空間分配結(jié)果得到緩存命中量的值。

進(jìn)一步根據(jù)所述基于聯(lián)合緩存架構(gòu)的網(wǎng)絡(luò)內(nèi)視頻緩存方法,步驟一在所有節(jié)點緩存特定的視頻中的(1-4)尋找最佳分配方式:

總緩存空間中用于緩存請求概率高的視頻的空間比例α越大,緩存命中量也越大,則將緩存命中量表示為α的一個函數(shù)H(α),即

選擇一個更大的α能夠提升系統(tǒng)的性能,避免網(wǎng)絡(luò)無法緩存全部視頻,采用二分法在[0,1]區(qū)間內(nèi)尋找最佳α,在保證緩存全部視頻的前提下,使得目標(biāo)值H(α)取得最大值,為α值設(shè)置一個下界αl=0,得到對應(yīng)H(αl)的值;

若集合Yk為空集,表示當(dāng)前α值不合理,即系統(tǒng)全部容量都無法保證覆蓋全部視頻,系統(tǒng)對容量不足的情況不作處理;

若集合Yk為空集,為α值設(shè)置一個上界αu=1,得到對應(yīng)H(αu)的值,如果沒有緩存視頻的集合Nr為空集,則表示用系統(tǒng)全部容量的α倍緩存的請求概率最高的視頻即為所有的視頻N,因此直接得到最佳α為1;

如果有緩存視頻的集合Nr為空集,在αl和αu之間使用二分查找法,若H(αl)<H(αu),則令αl=(αlu)/2,重新計算H(αl);若H(αl)>H(αu),則令αu=(αlu)/2,重新計算H(αu),直到H(αl)=H(αu),此時得到的H(α)為最大。

進(jìn)一步根據(jù)所述基于聯(lián)合緩存架構(gòu)的網(wǎng)絡(luò)內(nèi)視頻緩存方法,步驟二中確定獲取視頻的最佳源節(jié)點:

當(dāng)一個節(jié)點i接收到對視頻k的請求時,節(jié)點i先在本地緩存中尋找視頻k,如果有則直接將視頻k發(fā)送給用戶,否則在其他網(wǎng)絡(luò)節(jié)點的緩存中尋找視頻k;當(dāng)存在多個其他網(wǎng)絡(luò)節(jié)點都緩存有視頻k時,選擇其中一個網(wǎng)絡(luò)節(jié)點作為所請求視頻k的最佳源節(jié)點;

把網(wǎng)絡(luò)進(jìn)行視頻緩存的時間劃分為若干個輪,每一輪持續(xù)時間為△t,在每一輪時間內(nèi),每個網(wǎng)絡(luò)節(jié)點從用戶端接收請求;

對于網(wǎng)絡(luò)中的所有鏈路l,用fl表示鏈路l上的總的傳輸速率;用L(j,i)表示從節(jié)點j到節(jié)點i的路徑;用ζl(·)表示已知的鏈路時延函數(shù),是一個關(guān)于負(fù)載fl的單調(diào)遞增函數(shù),則表示從節(jié)點j發(fā)送一個單元的數(shù)據(jù)到節(jié)點i的時延成本;用Ri表示一輪時間內(nèi)節(jié)點i中被請求但沒有緩存的視頻的集合;用rk表示視頻k的傳輸速率;用Tk表示擁有視頻k復(fù)本的所有節(jié)點的集合;用表示所有節(jié)點獲取視頻的加權(quán)時延成本之和;

通過為每個視頻k的請求選擇最佳的視頻源節(jié)點,使所有節(jié)點獲取視頻的加權(quán)時延成本之和達(dá)到最小,即使取得最小值;

按如下步驟進(jìn)行:

(2-1)建立本地負(fù)載表,網(wǎng)絡(luò)中的路由器定期地將各條鏈路的負(fù)載信息,即傳輸速率報告給各個網(wǎng)絡(luò)節(jié)點,每個節(jié)點接收報告后建立一個具有全部鏈路負(fù)載信息的本地負(fù)載表;

(2-2)根據(jù)本地負(fù)載表尋找最佳源節(jié)點,每輪時間△t結(jié)束時,網(wǎng)絡(luò)節(jié)點i處理接收到的視頻請求,假設(shè)收到對于視頻k的請求,則合并節(jié)點i中對于視頻k的全部請求;若節(jié)點i的本地緩存中無視頻k,則節(jié)點i根據(jù)本地負(fù)載表獲取每條鏈路的負(fù)載fl,由得到傳輸視頻k到節(jié)點i時延成本最小的節(jié)點j*,其中每條鏈路l必須滿足fl≤Cl,Cl表示鏈路l的容量,即該鏈路所允許的最大的傳輸速率;確定最佳源節(jié)點j*后,節(jié)點i向節(jié)點j*請求發(fā)送視頻k;

(2-3)更新本地負(fù)載表,節(jié)點i向節(jié)點j*發(fā)送對于視頻k的請求后,節(jié)點i和節(jié)點j*更新節(jié)點i和節(jié)點j*的本地負(fù)載表,將路徑L(j*,i)經(jīng)過的所有鏈路l的負(fù)載fl變成fl+rk,并將更新消息發(fā)送給網(wǎng)絡(luò)中的路由器;路由器將更新消息廣播給網(wǎng)絡(luò)中的每一個節(jié)點,各個節(jié)點收到更新消息后更新本地負(fù)載表;

為節(jié)點i中的對視頻k的請求找到了最佳的源節(jié)點j*,用戶通過最佳源節(jié)點j*得到所請求的視頻。

本發(fā)明的有益效果:

(1)本發(fā)明提出了一個可以解決網(wǎng)絡(luò)內(nèi)視頻緩存問題的聯(lián)合緩存架構(gòu),能夠保證移動網(wǎng)絡(luò)內(nèi)視頻數(shù)據(jù)的可靠、高效存儲和調(diào)用;

(2)本發(fā)明通過決定網(wǎng)絡(luò)中各個節(jié)點應(yīng)該緩存的視頻,使網(wǎng)絡(luò)總緩存命中量達(dá)到最大值,從而節(jié)省了系統(tǒng)帶寬,提高資源利用率;

(3)本發(fā)明考慮了視頻請求模式和鏈路狀態(tài)信息的動態(tài)變化,為用戶在網(wǎng)絡(luò)中選擇一個最佳的視頻源節(jié)點,有效地降低了網(wǎng)絡(luò)時延成本。

附圖說明

圖1為本發(fā)明所述基于聯(lián)合緩存架構(gòu)的網(wǎng)絡(luò)內(nèi)視頻緩存方法的流程圖。

具體實施方式

以下結(jié)合附圖對本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)的描述,以使本領(lǐng)域技術(shù)人員能夠更加清楚地理解本發(fā)明的方案,但并不因此限制本發(fā)明的保護(hù)范圍。

如圖1所示,本發(fā)明所述基于聯(lián)合緩存架構(gòu)的網(wǎng)絡(luò)內(nèi)視頻緩存方法,具體如下:

步驟一:在所有節(jié)點緩存特定的視頻。

為了便于描述,令M為網(wǎng)絡(luò)中所有節(jié)點i的集合;N為所有需要緩存的視頻k的集合;Sk為視頻k的大小;λik表示節(jié)點i中收到用戶請求為視頻k的概率,其中λik∈[0,1],可通過歷史統(tǒng)計計算或預(yù)測得到;yik表示節(jié)點i的緩存中是否有視頻k,yik=0表示節(jié)點i的緩存中沒有視頻k,yik=1表示節(jié)點i的緩存中有視頻k,即yik{0,1};表示總緩存空間的緩存命中量,緩存命中量越大表示緩存空間中請求概率高的視頻越多,資源利用率越高,系統(tǒng)更高效。

在存儲空間和鏈路帶寬受限的情況下,通過合理地在各個網(wǎng)絡(luò)節(jié)點中緩存視頻數(shù)據(jù),使本地網(wǎng)絡(luò)節(jié)點的總緩存命中量達(dá)到最大,即取得最大值。由于節(jié)點緩存容量受限,令Di為節(jié)點i的緩存容量,則緩存視頻時必須滿足

如圖1所示,在所有節(jié)點緩存特定的視頻,具體步驟如下:

(1-1)緩存請求概率最高的視頻。

將網(wǎng)絡(luò)中所有節(jié)點i的總緩存容量中預(yù)留比例為α的部分來緩存每個網(wǎng)絡(luò)節(jié)點中請求概率最高的視頻,假設(shè)α為一個給定的數(shù)值。用Pi表示節(jié)點i緩存的視頻集合,Di′表示節(jié)點i的剩余緩存容量。

對于集合M中的每個節(jié)點i,初始化集合Pi為空集,令為總?cè)萘恐斜壤秊棣恋牟糠秩萘?,初始化集合W={(i,k)|i∈M,k∈N}為所有可能的(i,k)配對的集合,初始化節(jié)點i的剩余緩存容量Di′=Di

當(dāng)D大于0且集合W不為空集時,令如果即視頻k*的大小不大于節(jié)點i*的剩余緩存容量,則令即把視頻k*緩存到節(jié)點i*中,同時將用來緩存請求概率最高視頻的部分容量D和節(jié)點i*的剩余緩存容量均減去視頻k*的大小Sk*;令W=W-{(i*,k*)},即把集合W中的(i*,k*)配對去掉,同時令表示節(jié)點i*的緩存中有視頻k*。如果D大于0且集合W不為空集,則繼續(xù)緩存視頻;如果D等于0或者集合W為空集,則表示用來緩存請求概率最高視頻的空間已經(jīng)分配完,或者網(wǎng)絡(luò)中所有的節(jié)點均分配到所有的視頻。

緩存視頻結(jié)束后,得到每個節(jié)點i中緩存視頻的集合Pi以及全部Pi的并集N0,集合N0中的元素表示網(wǎng)絡(luò)中任一節(jié)點緩存的視頻,所有視頻中請求概率最高的視頻緩存完畢。

(1-2)保證緩存所有視頻。

令Nr表示網(wǎng)絡(luò)中沒有緩存的視頻的集合,即為了利用剩余的1-α部分空間實現(xiàn)所有視頻全覆蓋,并在保證緩存全部視頻的前提下使緩存命中量最大,則每個視頻只需在所有網(wǎng)絡(luò)節(jié)點中緩存唯一復(fù)本即可。由于存儲容量受限,則必須滿足

對于集合Nr中的每一個視頻k,令Yk表示所有可以用于緩存視頻k的節(jié)點的集合,初始化Yk=M。

在集合Yk中尋找一個使取得最大值的節(jié)點i*,即若視頻k的大小Sk大于節(jié)點i*的剩余空間則令Yk=Y(jié)k-i*,即表示節(jié)點i*不可以用于緩存視頻k;繼續(xù)在集合Yk中尋找一個使λik取得最大值的節(jié)點i*緩存視頻,直到Y(jié)k變?yōu)榭占?。Yk為空集表示當(dāng)前網(wǎng)絡(luò)內(nèi)沒有節(jié)點具有足夠的空間來緩存視頻k,即網(wǎng)絡(luò)無法保證緩存所有視頻,則當(dāng)前給定的α值是不合理的。

若Sk不大于節(jié)點i*的剩余空間令Nr=Nr-k,將視頻k緩存到節(jié)點i*中,同時更新為減去視頻k的大小Sk。Nr變?yōu)榭占?,緩存所有視頻結(jié)束。

(1-3)填滿節(jié)點剩余空間。

視頻緩存完成后,各個節(jié)點i可能還有部分剩余空間。Ni表示節(jié)點i沒有緩存的視頻集合,Pi″表示節(jié)點i將要緩存的視頻k的集合。在不超過節(jié)點i的剩余緩存容量的條件下,即將使得最大的視頻加入集合Pi″中,同時將Pi″中的視頻緩存到節(jié)點i中。

遍歷集合M中的所有節(jié)點i,初始化集合Pi″為空集。

當(dāng)Di′大于0且集合Ni不為空集時,令即Ni中最受歡迎的視頻;如果視頻k*的大小Sk*不大于此時節(jié)點i的剩余容量Di′,則令集合Pi″=Pi″∪k*,Ni=Ni-k*,把視頻k*緩存到節(jié)點i中,將節(jié)點i剩余容量Di′更新為Di′減去Sk*;如果視頻k*的大小Sk*大于此時節(jié)點i的剩余容量Di′,令集合Ni=Ni-k*,不緩存視頻k*

如果Di′大于0且集合Ni不為空集,則繼續(xù)按照所述方法,給節(jié)點繼續(xù)緩存視頻;如果Di′等于0或者集合Ni為空集,則表示節(jié)點i的剩余緩存空間已經(jīng)分配完,或者節(jié)點i已經(jīng)緩存所有的視頻,令集合Pi=Pi∪Pi″,得到節(jié)點i中緩存的全部視頻。

遍歷完集合M中的所有節(jié)點i后,此時所有節(jié)點的緩存空間都已經(jīng)被填滿,并得到全部節(jié)點i和視頻k對應(yīng)的yik值。記錄每個節(jié)點的緩存分配結(jié)果,即每個節(jié)點緩存的視頻集合Pi,并根據(jù)節(jié)點緩存空間分配結(jié)果得到緩存命中量的值。

(1-4)尋找最佳分配方式。

總緩存空間中用于緩存請求概率高的視頻的空間比例α越大,緩存命中量也越大,則將緩存命中量表示為α的一個函數(shù)H(α),即

選擇一個更大的α能夠提升系統(tǒng)的性能,避免網(wǎng)絡(luò)無法緩存全部視頻,采用二分法在[0,1]區(qū)間內(nèi)尋找最佳α,在保證緩存全部視頻的前提下,使得目標(biāo)值H(α)取得最大值。為α值設(shè)置一個下界αl=0,得到對應(yīng)H(αl)的值。

如果集合Yk為空集,表示當(dāng)前α值不合理,即系統(tǒng)全部容量都無法保證覆蓋全部視頻,系統(tǒng)對容量不足的情況不作處理。

如果集合Yk為空集,為α值設(shè)置一個上界αu=1,得到對應(yīng)H(αu)的值,如果沒有緩存視頻的集合Nr為空集,則表示用系統(tǒng)全部容量的α倍緩存的請求概率最高的視頻即為所有的視頻N,因此直接得到最佳α為1。

如果有緩存視頻的集合Nr為空集,在αl和αu之間使用二分查找法,若H(αl)<H(αu),則令αl=(αlu)/2,重新計算H(αl);若H(αl)>H(αu),則令αu=(αlu)/2,重新計算H(αu),直到H(αl)=H(αu),此時得到的H(α)為最大。

所有網(wǎng)絡(luò)節(jié)點都緩存了特定的視頻。

步驟二:確定獲取視頻的最佳源節(jié)點。

當(dāng)一個節(jié)點i接收到對視頻k的請求時,節(jié)點i先在本地緩存中尋找視頻k,如果有則直接將視頻k發(fā)送給用戶;否則在其他網(wǎng)絡(luò)節(jié)點的緩存中尋找視頻k。當(dāng)存在多個其他網(wǎng)絡(luò)節(jié)點都緩存有視頻k時,選擇其中一個網(wǎng)絡(luò)節(jié)點作為所請求視頻k的最佳源節(jié)點。把網(wǎng)絡(luò)進(jìn)行視頻緩存的時間劃分為若干個輪,每一輪持續(xù)時間為△t。在每一輪時間內(nèi),每個網(wǎng)絡(luò)節(jié)點從用戶端接收請求。

對于網(wǎng)絡(luò)中的所有鏈路l,用fl表示鏈路l上的總的傳輸速率;用L(j,i)表示從節(jié)點j到節(jié)點i的路徑;用ζl(·)表示已知的鏈路時延函數(shù),是一個關(guān)于負(fù)載fl的單調(diào)遞增函數(shù),則表示從節(jié)點j發(fā)送一個單元的數(shù)據(jù)到節(jié)點i的時延成本;用Ri表示一輪時間內(nèi)節(jié)點i中被請求但沒有緩存的視頻的集合;用rk表示視頻k的傳輸速率;用Tk表示擁有視頻k復(fù)本的所有節(jié)點的集合;用表示所有節(jié)點獲取視頻的加權(quán)時延成本之和。

通過為每個視頻k的請求選擇最佳的視頻源節(jié)點,使所有節(jié)點獲取視頻的加權(quán)時延成本之和達(dá)到最小,即使取得最小值。

如圖1所示,確定獲取視頻的最佳源節(jié)點,按如下步驟進(jìn)行:

(2-1)建立本地負(fù)載表。網(wǎng)絡(luò)中的路由器定期地將各條鏈路的負(fù)載信息,即傳輸速率報告給各個網(wǎng)絡(luò)節(jié)點,每個節(jié)點接收報告后建立一個具有全部鏈路負(fù)載信息的本地負(fù)載表。

(2-2)根據(jù)本地負(fù)載表尋找最佳源節(jié)點。每輪時間△t結(jié)束時,網(wǎng)絡(luò)節(jié)點i處理接收到的視頻請求,假設(shè)收到對于視頻k的請求,則合并節(jié)點i中對于視頻k的全部請求。若節(jié)點i的本地緩存中無視頻k,則節(jié)點i根據(jù)本地負(fù)載表獲取每條鏈路的負(fù)載fl,由得到傳輸視頻k到節(jié)點i時延成本最小的節(jié)點j*,其中每條鏈路l必須滿足fl≤Cl,Cl表示鏈路l的容量,即該鏈路所允許的最大的傳輸速率。確定最佳源節(jié)點j*后,節(jié)點i向節(jié)點j*請求發(fā)送視頻k。

(2-3)更新本地負(fù)載表。節(jié)點i向節(jié)點j*發(fā)送對于視頻k的請求后,節(jié)點i和節(jié)點j*更新節(jié)點i和節(jié)點j*的本地負(fù)載表,將路徑L(j*,i)經(jīng)過的所有鏈路l的負(fù)載fl變成fl+rk,并將更新消息發(fā)送給網(wǎng)絡(luò)中的路由器;路由器將更新消息廣播給網(wǎng)絡(luò)中的每一個節(jié)點,各個節(jié)點收到更新消息后更新本地負(fù)載表。

為節(jié)點i中的對視頻k的請求找到了最佳的源節(jié)點j*,用戶通過最佳源節(jié)點j*得到所請求的視頻。

以上僅是對本發(fā)明的優(yōu)選實施方式進(jìn)行了描述,并不將本發(fā)明的技術(shù)方案限制于此,本領(lǐng)域技術(shù)人員在本發(fā)明的主要技術(shù)構(gòu)思的基礎(chǔ)上所做的任何公知變形都屬于本發(fā)明所要保護(hù)的技術(shù)范疇,本發(fā)明具體的保護(hù)范圍以權(quán)利要求書的記載為準(zhǔn)。

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