基于P2P視頻點(diǎn)播技術(shù)的一種傳輸優(yōu)化模型
引言
P2P傳輸中剛剛興起的視頻點(diǎn)播是目前比較流行的研究方向之一。不同于普通的P2P文件分享,P2P視頻點(diǎn)播中非常關(guān)鍵的一個(gè)問題就是如何保證它的流暢性叫目前的視頻點(diǎn)播技術(shù)一般是從一個(gè)點(diǎn)播用戶向其所在的群組發(fā)送請(qǐng)求,然后找到擁有該資源的用戶群,該用戶群以相同的權(quán)重向請(qǐng)求方發(fā)送資源叫基于這樣一個(gè)規(guī)則的模型存在一個(gè)比較明顯的問題,即在一個(gè)樹形的小區(qū)網(wǎng)絡(luò)(大多數(shù)視頻點(diǎn)播服務(wù)出現(xiàn)的地方)中:越是靠近頂點(diǎn)的交換機(jī),其傳輸壓力越大;擁有越多資源,但處在樹狀圖中越深處的用戶,其傳輸壓力也越大。以上兩個(gè)特點(diǎn)造成了在有限的傳輸速度下經(jīng)常出現(xiàn)部分用戶卡頓的情況。這種情況的出現(xiàn),其本質(zhì)原因是因?yàn)槿蝿?wù)的分配與帶寬資源的分布不匹配,產(chǎn)生大量的閑置帶寬資源的同時(shí),部分節(jié)點(diǎn)出現(xiàn)帶寬資源不夠的現(xiàn)象。所以為了改善用戶體驗(yàn),本文從以下兩個(gè)方面著手:一是請(qǐng)求方對(duì)傳輸方用戶的篩選和加權(quán)。二是傳輸方對(duì)請(qǐng)求方的篩選以及傳輸方對(duì)傳輸資源的加權(quán)。本文綜合以上兩點(diǎn)得到一個(gè)合理的優(yōu)化方案,以減小各節(jié)點(diǎn)上下行帶寬占用率的標(biāo)準(zhǔn)差并緩解P2P視頻點(diǎn)播中可能出現(xiàn)的局部壓力,同時(shí)論證了其可以切實(shí)提高整體流暢性的方法。
1基于請(qǐng)求方對(duì)傳輸方篩選的優(yōu)化
所謂請(qǐng)求方對(duì)傳輸方的用戶的篩選和加權(quán),即根據(jù)請(qǐng)求方和傳輸方在樹形圖中的位置,來進(jìn)行合理的任務(wù)分配,將更多的請(qǐng)求分配給更臨近的用戶,以減少上級(jí)節(jié)點(diǎn)的傳輸壓力。
為了更加清晰地說明該優(yōu)化模型,我們建立一個(gè)簡(jiǎn)潔的理想模型?,F(xiàn)設(shè)一個(gè)小區(qū)交換機(jī)連接N1個(gè)次級(jí)的樓宇交換機(jī),而每個(gè)樓宇交換機(jī)都連接了N個(gè)用戶。假設(shè)一位用戶C1.1(設(shè)路徑為總機(jī)A一子機(jī)B1一用戶C1,1)發(fā)出關(guān)于資源R請(qǐng)求的,為了方便起見假設(shè)群組里的這些用戶都擁有該資源。
首先我們考察該用戶C1,1發(fā)送請(qǐng)求時(shí),該時(shí)刻下每個(gè)節(jié)點(diǎn)T都記錄下其帶寬占用率Oc(T)。
首先C1,1的請(qǐng)求必須經(jīng)過樓宇子機(jī)B1,然后子機(jī)B1將任務(wù)以特定的權(quán)重分配給它的相鄰節(jié)點(diǎn),分配方式遵守權(quán)重規(guī)則,以下含有權(quán)重的分配亦同,其中各個(gè)用戶C1,?的權(quán)重是1/C1,“,而總機(jī)A的權(quán)重為Pr(A)/0c(A),其中Pr(A)為根據(jù)總機(jī)傳輸能力而事先確定的一個(gè)值,這個(gè)值需要切實(shí)地反應(yīng)該節(jié)點(diǎn)的上下行帶寬,一般默認(rèn)使用線性函數(shù)即可,亦可以根據(jù)實(shí)際情況增減該函數(shù)的發(fā)散速度。現(xiàn)在假設(shè)已經(jīng)確定好了每個(gè)函數(shù)的Pr值,那么以下以N代表該任務(wù)的總量,N(X)代表節(jié)點(diǎn)X被分配到的任務(wù)量,可以計(jì)算得到各相鄰節(jié)點(diǎn)被分配到的任務(wù)量:
總機(jī)將權(quán)重將任務(wù)分配給其相鄰節(jié)點(diǎn)(這里它的相鄰節(jié)點(diǎn)只有樓宇交換機(jī)),每個(gè)樓宇交換機(jī)Bm權(quán)重為Pr(Bm)/Oc(B.)。其中P(Bm)為根據(jù)子機(jī)Bm傳輸能力而事先確定的值。計(jì)算得到A的各相鄰節(jié)點(diǎn)被分配到的任務(wù)量:
這時(shí)除B1以外的樓宇交換機(jī)將任務(wù)分配給其相鄰節(jié)點(diǎn)(這里它的相鄰節(jié)點(diǎn)只有其連接的用戶),每個(gè)用戶Cm,n的權(quán)
重為1/Oc(Cm,n)。
這里Pr值的確定不同于之前的主機(jī)Pr值,它除了反映傳輸能力之外還需要反映節(jié)點(diǎn)的位置,所以需要根據(jù)試驗(yàn)而確定,此外還需根據(jù)后續(xù)的實(shí)際使用情況來調(diào)整。一般而言,交換機(jī)傳輸能力越強(qiáng),或是在樹中所處的深度越小,那么對(duì)應(yīng)的Pr值越大,反之越小,但需要保證深度對(duì)Pr值的影響優(yōu)于傳輸能力Pr值,因?yàn)橐粋€(gè)深度較大的節(jié)點(diǎn)可能會(huì)對(duì)其他的節(jié)點(diǎn)產(chǎn)生更大的影響。根據(jù)實(shí)際的用戶情況(比如用戶網(wǎng)絡(luò)服務(wù)的帶寬不同),亦可以為每個(gè)用戶分配一個(gè)相應(yīng)的Pr值以進(jìn)行進(jìn)一步的優(yōu)化,即:
為每個(gè)用戶定義Pr值的優(yōu)點(diǎn)不僅僅是進(jìn)一步對(duì)上式進(jìn)行優(yōu)化,更在于為了合理地把更多的任務(wù)量分配給有更多帶寬的用戶:作為傳輸?shù)幕締挝唬鱾€(gè)用戶的上下行傳輸帶寬是每一個(gè)任務(wù)不可回避的,需要更加精細(xì)且合理的分配,這一特點(diǎn)將在第4節(jié)中詳細(xì)分析并利用。
從上述的計(jì)算可以看出該算法的核心思想是將任務(wù)沿樹形圖的路徑逐漸分配出去,遵循如下的規(guī)則:當(dāng)前越繁忙的交換機(jī)接受的任務(wù)量越?。幻總€(gè)任務(wù)中,距離請(qǐng)求方越遠(yuǎn)的節(jié)點(diǎn)分配的部分越小。前者是為了避免某個(gè)交換機(jī)過于繁忙而導(dǎo)致局部的卡頓;后者則是為了盡量減少帶寬資源的占用,以減輕上級(jí)交換機(jī)的壓力[6'7]o
2基于傳輸方資源分配的優(yōu)化
所謂傳輸方資源分配的優(yōu)化,則是根據(jù)傳輸方和請(qǐng)求方在樹形圖中的位置,以及任務(wù)目標(biāo)資源在整個(gè)網(wǎng)絡(luò)中存在的多寡,來進(jìn)行合理的上行帶寬分配,將更多的資源分配給更臨近的用戶,將更多的帶寬分配給相對(duì)稀少的資源,從而人為地減小資源熱門與否產(chǎn)生的傳輸速度的差距。
上面,我們?cè)诶硐肽P椭屑僭O(shè)了所有資源被每一個(gè)用戶擁有,這里則考慮更一般化的情況,即某個(gè)資源R只被部分的用戶所擁有,那么需要使傳輸方同時(shí)被分配到多個(gè)任務(wù)時(shí)以某種順序執(zhí)行被分配到的任務(wù),以優(yōu)先滿足稀少的資源來保證整體的流暢性,這也是從傳輸方角度而言最為核心的一個(gè)問題。
以下是具體的優(yōu)化規(guī)則,并通過另一個(gè)理想模型來簡(jiǎn)要地考察其效果:
假設(shè)用戶C1,1發(fā)出關(guān)于資源R的請(qǐng)求,而當(dāng)前擁有R的用戶集合為Po(sR),那么為此任務(wù)確定一個(gè)“稀有度”Ra(rR):
這里dis(X,Y)為定義在樹狀圖中的距離函數(shù),即X到Y(jié)的最短路徑的長(zhǎng)度。
由于各資源的稀有程度是很難用一個(gè)標(biāo)準(zhǔn)的公式去衡量的,這里我們引入一個(gè)遞減函數(shù)F,以確保傳輸者越少,距離請(qǐng)求者越遠(yuǎn)的情況下稀有度增加即可。事實(shí)上,根據(jù)樹狀圖的結(jié)構(gòu)不同和深度不同,我們需要取定一個(gè)擁有合理遞減速度的函數(shù)F以應(yīng)對(duì)實(shí)際情況,在簡(jiǎn)單的兩層模型中可以取F(X)=1/x。為了保證分配的精度,樹狀圖的深度越大結(jié)構(gòu)越復(fù)雜,F(xiàn)的收斂速度應(yīng)當(dāng)越快,以避免出現(xiàn)大量遠(yuǎn)節(jié)點(diǎn)過分提高Rar(R)權(quán)值。特別的情況下,分母上亦可不使用簡(jiǎn)單的加和ΣX∈Pos(R)F(dis(X,C1,1)),而是使用其他對(duì)每個(gè)元素單調(diào)遞增的多元函數(shù),這取決于具體的情況。需要說明的是,稀有度是同時(shí)根據(jù)用戶和任務(wù)來確定的,可能出現(xiàn)在用戶X處R1稀有度高于R2,而另一用戶Y處則相反的情況。
當(dāng)一個(gè)用戶Cm,n同時(shí)執(zhí)行關(guān)于資源R1,R2,…,Rk的請(qǐng)求時(shí),將該用戶的帶寬資源按權(quán)重Rar(Ri),i=1,2,…,k,分配給每個(gè)任務(wù)。以WidRi,Cmn)^h,代表Ri在Cm,n分配到的帶寬,以Wid,Cmn)代表Cm,n的總帶寬,那么我們可以算出在Cm,n某個(gè)資源Ri所分配到的帶寬資源,并且將它于之前作對(duì)比:
上式的不等號(hào)右邊的WidRi,Cmn)^h代表了不做加權(quán)分配的情況下,各個(gè)節(jié)點(diǎn)的帶寬分配。上式中的不等號(hào)成立的條件,是要求一個(gè)資源的稀有度高于所有資源的平均水平。我們可以很明顯看到,越稀少的資源被分配到了更高的帶寬,盡可能減少因?yàn)槟硞€(gè)資源的源過于稀少或者遠(yuǎn)離而拖慢其傳輸速度的情況。從整體來看,即各個(gè)任務(wù)中的最低速度得到了提升。
上述的優(yōu)化方案與第一節(jié)中的篩選加權(quán)是以似原理進(jìn)行的,但兩者的目標(biāo)不同,前者是請(qǐng)求方對(duì)傳輸方的,后者則是請(qǐng)求方對(duì)任務(wù)的選擇。此外,并且決定權(quán)值的因變量也不同,為了體現(xiàn)出對(duì)變量依賴性的不同,所以兩者分別使用Pr和Rar兩個(gè)變量來衡量資源的位置,在進(jìn)一步的研究下,可能用多個(gè)參數(shù)來更加精確地體現(xiàn)其位置關(guān)系。
3綜合優(yōu)化及實(shí)際效果對(duì)比
在實(shí)際的操作中,一個(gè)模型的優(yōu)化效果不是僅僅由每個(gè)單獨(dú)節(jié)點(diǎn)所決定的,我們需要一個(gè)整體的優(yōu)化,這個(gè)優(yōu)化并不是每個(gè)節(jié)點(diǎn)的速度都能產(chǎn)生一個(gè)明顯的提高,而是通過將流量分配得更加均勻來達(dá)到這個(gè)目的。我們知道越均勻的分配下,閑置的帶寬資源就越少,從而能夠產(chǎn)生更高的效能。另外,個(gè)人用戶上行帶寬資源的浪費(fèi)一直是寬帶網(wǎng)絡(luò)中較為明顯的問題,P2P傳輸體系本身就是一個(gè)很優(yōu)秀的解決方案,但如何在P2P的傳輸體系中合理地分配上行帶寬資源就成為了進(jìn)一步為整個(gè)系統(tǒng)提速的關(guān)鍵。這就要求我們?cè)诮?yōu)化模型的時(shí)候,同時(shí)兼顧雙向的均勻分配。
明確了優(yōu)化目標(biāo)之后,我們可以通過結(jié)合兩方面的優(yōu)化,進(jìn)而得到一個(gè)綜合的優(yōu)化模型,其大致流程如圖1所示。在P2P視頻點(diǎn)播中,我們以所有任務(wù)執(zhí)行速度中的最小者來衡量整體的流暢程度(因?yàn)檩^高的最小值可以保證較小的標(biāo)準(zhǔn)差,這意味著資源受到了更加均勻的分配)。為了對(duì)該優(yōu)化模型有一個(gè)直觀的認(rèn)識(shí),下面計(jì)算一個(gè)網(wǎng)絡(luò)中同時(shí)執(zhí)行關(guān)于R1,R2,…,Rk時(shí)的全局最小速度,其中不妨設(shè)Rar(R1)<…<Rar(Rk)。
由于在第一節(jié)中根據(jù)各節(jié)點(diǎn)的傳輸能力而確定了參數(shù)Pr(包括全部交換機(jī)節(jié)點(diǎn)和用戶節(jié)點(diǎn)根據(jù)各自傳輸能力而確定的權(quán)值),所以傳輸能力越強(qiáng)的節(jié)點(diǎn)被分配到了更大比例的任務(wù),故而可以忽略任務(wù)分配后各傳輸者之間的速度差異,以下以最小速度近似表示每個(gè)任務(wù)的全局速度。
在無優(yōu)化的情況下,所有任務(wù)執(zhí)行速度R1,R2,…,Rk的速度分別是:
其中task(X)指當(dāng)前X進(jìn)行的任務(wù)數(shù)量。
在有優(yōu)化的情況下,所有任務(wù)執(zhí)行速度R1,R2,…,Rk的速度分別是:
可以看到優(yōu)化是將R1的速度減小而將Rk的速度增加,在確定適當(dāng)?shù)腇之后實(shí)際效果是將不同任務(wù)的速度變得更加平均,即有不等式:
上式說明了在采取該優(yōu)化模型后確實(shí)能夠極大地提高各傳輸者之間的協(xié)調(diào)性以確保整體的流暢性。實(shí)際操作時(shí)由于稀缺資源的普遍性,它們會(huì)成為整體流暢程度的瓶頸,而應(yīng)用了該優(yōu)化模型之后,瓶頸的部分被彌補(bǔ),代價(jià)只是熱門資源的多余速度(因?yàn)橛脩粝馁Y源的速度一般不超過視頻的播放速度,這也是視頻點(diǎn)播可以被利用的一個(gè)特點(diǎn))。
宏觀地來看,在整個(gè)網(wǎng)絡(luò)中任務(wù)數(shù)量較少,或是各個(gè)任務(wù)的資源分配過于平均時(shí),由于該優(yōu)化模型加權(quán)分配并不能顯著減少任務(wù)速度的標(biāo)準(zhǔn)差,因此模型的優(yōu)化效果并不明顯。但是我們看到模型優(yōu)化的結(jié)果是取決于任務(wù)數(shù)量k的,所以當(dāng)整個(gè)網(wǎng)絡(luò)中任務(wù)量上升時(shí),網(wǎng)絡(luò)結(jié)構(gòu)與資源分布更加復(fù)雜時(shí),模型的優(yōu)化效果隨之提高。而通常的P2P服務(wù)都是架構(gòu)在五層以上的網(wǎng)絡(luò)中的,而且由于任務(wù)量的巨大,各個(gè)任務(wù)資源的分布必然是呈現(xiàn)比較不均勻的分布,這就給該優(yōu)化模型帶來了巨大的發(fā)揮空間。
4結(jié)語
通過以上的構(gòu)建和論證,我們可以看到由于網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜性和用戶需求的復(fù)雜性,現(xiàn)行的許多體系并非是最優(yōu)的,幾乎每一個(gè)環(huán)節(jié)都可以進(jìn)行優(yōu)化以求得更高的效率。本文的核心思想,是利用現(xiàn)有體系的任務(wù)分配方式的不成熟,同時(shí)調(diào)整上下行任務(wù)的分配,從而達(dá)到更優(yōu)的效果,但通過論證的過程,我們可以發(fā)現(xiàn)在本優(yōu)化模型的基礎(chǔ)上還有很多優(yōu)化空間:比如對(duì)用戶所處位置的衡量,以及由此導(dǎo)出的對(duì)資源稀有程度的衡量,如何更加合理地用一個(gè)參數(shù)或是多個(gè)參數(shù)來完成;又如,如何用一個(gè)合理的函數(shù)來衡量一個(gè)節(jié)點(diǎn)的傳輸能力,如果不能用一個(gè)連續(xù)的初等函數(shù)來判定,那么分段的閥值如何取定。這些問題都仍有待研究,并且是有明顯而且巨大的發(fā)揮空間的。
在網(wǎng)絡(luò)傳輸技術(shù)飛速發(fā)展的今天,P2P作為一項(xiàng)已經(jīng)較為成熟的傳輸技術(shù)再放異彩,衍生了許多非常有前景的P2P傳輸服務(wù),而P2P視頻點(diǎn)播正是其中之一。而每一項(xiàng)成功的服務(wù)的核心都是給予用戶前所未有的用戶體驗(yàn),P2P視頻點(diǎn)播的特殊之處便是在于流暢而穩(wěn)定的數(shù)據(jù)流,這也是P2P視頻技術(shù)逐漸在在線視頻領(lǐng)域中占有一席之地的關(guān)鍵因素。我們通過分析可以看到并且利用其優(yōu)點(diǎn),但其潛力絕不僅限于此:正如之前所說,這其中仍然有許多細(xì)節(jié)可以進(jìn)一步提高其實(shí)用性和可靠性,同時(shí)也可以通過借助其他優(yōu)化技術(shù)來優(yōu)化,比如關(guān)于重復(fù)請(qǐng)求相同資源的問題,可以依靠數(shù)據(jù)在上級(jí)節(jié)點(diǎn)中的留存來減輕傳輸?shù)膲毫Γ?],亦可能得到相當(dāng)好的優(yōu)化效果,但這同時(shí)也對(duì)硬件資源提出了更高的要求。本文通過兩個(gè)方面的優(yōu)化,更好地凸顯P2P視頻點(diǎn)播技術(shù)的長(zhǎng)處,以此拋磚引玉,以期促進(jìn)P2P傳輸技術(shù)的發(fā)展和P2P技術(shù)的飛躍。
20211119_61972a8f30a09__基于P2P視頻點(diǎn)播技術(shù)的一種傳輸優(yōu)化模型