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

一種基于P2P客戶端狀態(tài)分析的Flash視頻分發(fā)方法

文檔序號(hào):7969959閱讀:163來源:國(guó)知局
專利名稱:一種基于P2P客戶端狀態(tài)分析的Flash視頻分發(fā)方法
技術(shù)領(lǐng)域
本發(fā)明涉及在線Flash視頻分發(fā),具體說是一種基于P2P客戶端狀態(tài)分析的Flash 視頻分發(fā)方法。所述P2P (點(diǎn)對(duì)點(diǎn))客戶端即指本領(lǐng)域中所稱的Peer。
背景技術(shù)
現(xiàn)有的P2P客戶端之間的在線Flash視頻分發(fā)(在線視頻播放),以服務(wù)器端(P2P Server)的調(diào)度為基礎(chǔ),需要先將完整的Flash視頻分割成若干分片內(nèi)容(即視頻分片文件,簡(jiǎn)稱為分片)后再進(jìn)行分發(fā),P2P客戶端需要較大的磁盤緩存空間用于存儲(chǔ)分片內(nèi)容, 而且這種分發(fā)方式對(duì)服務(wù)器端的調(diào)度能力(實(shí)質(zhì)是計(jì)算能力)要求較高,如果P2P客戶端較多,服務(wù)器端的調(diào)度可能出現(xiàn)混亂,影響用戶觀看視頻的流暢性。發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的在于提供一種基于P2P客戶端狀態(tài)分析的Flash視頻分發(fā)方法,利用客戶端peer (指分發(fā)客戶端)所在的地理位置,運(yùn)營(yíng)商,網(wǎng)段,帶寬,歷史播放行為和當(dāng)前播放上下文,選擇最適合分發(fā)分片內(nèi)容的一組客戶端peer, 有效提高P2P網(wǎng)絡(luò)分片內(nèi)容分發(fā)的效率。
為達(dá)到以上目的,本發(fā)明采取的技術(shù)方案是
一種基于P2P客戶端狀態(tài)分析的Flash視頻分發(fā)方法,其特征在于
步驟1,請(qǐng)求客戶端peer發(fā)起播放某一視頻的請(qǐng)求,請(qǐng)求參數(shù)包括所請(qǐng)求播放的視頻的分片內(nèi)容列表;
步驟2,服務(wù)器端P2P server接收該請(qǐng)求并返回一個(gè)列表集合,該列表集合的每一行包括存儲(chǔ)有所請(qǐng)求播放的視頻的分片內(nèi)容的某個(gè)分發(fā)客戶端Peer,以及該分發(fā)客戶端peer擁有的分片內(nèi)容列表;
步驟3,請(qǐng)求客戶端peer通過該列表集合形成一個(gè)分片分布矩陣,再根據(jù)分片內(nèi)容的分布情況,各分發(fā)客戶端Peer的地理位置、運(yùn)營(yíng)商、網(wǎng)段,各分發(fā)客戶端Peer是否快結(jié)束播放,來決定向哪些分發(fā)客戶端Peer請(qǐng)求某個(gè)分片內(nèi)容;
步驟4,請(qǐng)求客戶端peer定期向服務(wù)器端P2P server匯報(bào)自己擁有哪些分片內(nèi)容,當(dāng)前所播放的視頻的已播放時(shí)長(zhǎng);
步驟5,服務(wù)器端P2P server接收請(qǐng)求客戶端peer的定期匯報(bào)信息,記錄各個(gè)請(qǐng)求客戶端peer擁有哪些分片內(nèi)容,當(dāng)前所播放的視頻的已播放時(shí)長(zhǎng)。
在上述技術(shù)方案的基礎(chǔ)上,把CDN作為一個(gè)特殊的分發(fā)客戶端Peer返回給請(qǐng)求客戶端peer,當(dāng)其他分發(fā)客戶端Peer沒有辦法提供服務(wù)時(shí),由CDN直接提供服務(wù)。
在上述技術(shù)方案的基礎(chǔ)上,請(qǐng)求客戶端peer發(fā)起的請(qǐng)求用JSON格式來表達(dá)。
在上述技術(shù)方案的基礎(chǔ)上,當(dāng)服務(wù)器端P2P server接收某一請(qǐng)求客戶端peer的請(qǐng)求后,計(jì)算出能夠作為分發(fā)客戶端Peer的集合,各分發(fā)客戶端peer擁有的分片內(nèi)容列表,各分發(fā)客戶端peer當(dāng)前所播放的視頻的已播放時(shí)長(zhǎng),和各分發(fā)客戶端peer的穩(wěn)定性;
其中,P2P Server利用如下辦法計(jì)算某分發(fā)客戶端peer的穩(wěn)定性,穩(wěn)定性stability計(jì)算公式如下stability = (percent_l+percent_2+..· percent_n)/nstability e
客戶端peer針對(duì)各個(gè)視頻的播放比例,用percent_l,. .,percent_n來表示,stability值越大,表明該分發(fā)客戶端peer觀看當(dāng)前視頻的總時(shí)間越長(zhǎng)。在上述技術(shù)方案的基礎(chǔ)上,請(qǐng)求客戶端peer獲得服務(wù)器端P2P server返回的列表集合以后,針對(duì)所請(qǐng)求的每個(gè)分片內(nèi)容,依照地理位置,運(yùn)營(yíng)商,網(wǎng)段,播放時(shí)長(zhǎng)比例,在各分發(fā)客戶端Peer中尋找最適合傳輸該分片內(nèi)容的客戶端,該選擇過程遵循以下優(yōu)先策略1.優(yōu)先選擇地理位置相近的分發(fā)客戶端peer ;2.優(yōu)先選擇同一運(yùn)營(yíng)商內(nèi)的分發(fā)客戶端peer ;3.優(yōu)先選擇同一網(wǎng)段內(nèi)的分發(fā)客戶端peer ;4.優(yōu)先選擇服務(wù)壓力較小的分發(fā)客戶端peer ;分發(fā)客戶端peer承擔(dān)的分片傳輸任務(wù)越多,認(rèn)為其服務(wù)壓力越大;5.優(yōu)先選擇已播放比例較大的分發(fā)客戶端peer ;已播放比例越大,該視頻越快結(jié)束,這樣的話,當(dāng)前分發(fā)客戶端peer存儲(chǔ)的分片內(nèi)容越早失效,因而要盡快將其傳輸出去, 保證物盡其用;6.優(yōu)先選擇歷史播放較為穩(wěn)定的分發(fā)客戶端peer,一個(gè)分發(fā)客戶端peer的歷史播放行為越穩(wěn)定,它越可能穩(wěn)定的提供傳輸服務(wù)。本發(fā)明所述的基于P2P客戶端狀態(tài)分析的Flash視頻分發(fā)方法,利用客戶端peer 所在的地理位置,運(yùn)營(yíng)商,網(wǎng)段,帶寬,歷史播放行為和當(dāng)前播放上下文,選擇最適合分發(fā)分片內(nèi)容的一組客戶端peer,有效提高P2P網(wǎng)絡(luò)分片內(nèi)容分發(fā)的效率。本發(fā)明所述的基于P2P客戶端狀態(tài)分析的Flash視頻分發(fā)方法,將視頻分發(fā)的計(jì)算分布到客戶端peer來執(zhí)行,而P2P krver (P2P服務(wù)器端)只執(zhí)行單純的索引工作,即 P2P krver只需要記錄peer的信息(IP,觀看時(shí)長(zhǎng)),peer包含的分片內(nèi)容等。這樣的話, 就將大量的計(jì)算分散到各個(gè)客戶端peer。假設(shè)全部在P2P Server端執(zhí)行分發(fā)的情況P2P Server既要做索引工作,同時(shí)還需要為每個(gè)客戶端peer的請(qǐng)求計(jì)算出最終的分發(fā)路徑;而P2P Server同時(shí)會(huì)接收到成千上萬的客戶端peer請(qǐng)求,這對(duì)P2P Server產(chǎn)生很大的壓力,易造成響應(yīng)不及時(shí),請(qǐng)求客戶端遲遲得不到分發(fā)指令的情況。所述分發(fā)指令可以視作三元組<請(qǐng)求客戶端peer_id,分片segment_id,分發(fā)客戶端peer_id>,表示客戶端身份標(biāo)識(shí)號(hào)碼為peer_id的請(qǐng)求客戶端向客戶端身份標(biāo)識(shí)號(hào)碼為 peer_id的分發(fā)客戶端請(qǐng)求分片身份標(biāo)識(shí)號(hào)碼為segmented的分片內(nèi)容。請(qǐng)求客戶端和分發(fā)客戶端的客戶端身份標(biāo)識(shí)號(hào)碼為peer_id是不同的,此種通過身份標(biāo)識(shí)號(hào)碼id區(qū)分客戶端和分片內(nèi)容的方式為現(xiàn)有公知技術(shù),不再詳述。


本發(fā)明有如下附圖
圖1本發(fā)明所述的P2P系統(tǒng)架構(gòu)圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。
在線視頻播放系統(tǒng)中采用P2P機(jī)制,既要有資源定位技術(shù),也要有視頻內(nèi)容分發(fā)技術(shù)。前者解決哪些客戶端peer擁有所需的分片內(nèi)容的問題;在已經(jīng)找到這些客戶端peer 的情況下,后者著重解決分片內(nèi)容如何分發(fā)的問題。例如在線視頻播放系統(tǒng)中,一個(gè)視頻文件由多個(gè)分片內(nèi)容(視頻分片文件)組成,將一個(gè)較大的視頻文件分割成若干個(gè)分片內(nèi)容,其目的是為了更好的存儲(chǔ)和分發(fā)。將一個(gè)視頻文件轉(zhuǎn)換成多個(gè)分片內(nèi)容的具體細(xì)節(jié)屬于本領(lǐng)域的公知技術(shù),本發(fā)明未對(duì)此進(jìn)行改進(jìn),故不再詳述。
如圖1所示,本發(fā)明基于該圖所示的P2P系統(tǒng)架構(gòu)實(shí)施,圖中
CDN =Content-Deliver-Network,內(nèi)容分發(fā)網(wǎng)絡(luò),該網(wǎng)絡(luò)中存儲(chǔ)著分片內(nèi)容;
Client 指當(dāng)前正在請(qǐng)求分片內(nèi)容的請(qǐng)求客戶端;
P2P Server :P2P服務(wù)器,監(jiān)控并記錄各請(qǐng)求客戶端和各分發(fā)客戶端的存活、 IP(即IP地址)、播放比例、分片內(nèi)容列表,P2P Server定期根據(jù)各請(qǐng)求客戶端和各分發(fā)客戶端的播放比例來計(jì)算該客戶端的播放穩(wěn)定程度;
List Server 分片內(nèi)容列表服務(wù)器,存儲(chǔ)各視頻的分片內(nèi)容列表;
Pl,P2,P3 指各個(gè)分發(fā)客戶端。
圖1中虛線(P2P服務(wù)器P2P krver和請(qǐng)求客戶端之間,請(qǐng)求客戶端和分片內(nèi)容列表服務(wù)器List krver之間)代表控制信息的通信,實(shí)線(請(qǐng)求客戶端和分發(fā)客戶端之間,內(nèi)容分發(fā)網(wǎng)絡(luò)CDN和請(qǐng)求客戶端之間)代表分片內(nèi)容的分發(fā)通信。控制信息包括某一視頻對(duì)應(yīng)的分片內(nèi)容列表、各分片內(nèi)容在各客戶端peer中的分布矩陣。
請(qǐng)求客戶端(Client)上的多個(gè)小方框表示請(qǐng)求視頻的分片內(nèi)容列表,某些分片內(nèi)容由分發(fā)客戶端P1,P2,P3來傳輸,某些分片內(nèi)容由內(nèi)容分發(fā)網(wǎng)絡(luò)CDN來傳輸。
本發(fā)明提出一種基于客戶端peer (P2P客戶端)狀態(tài)分析的Flash視頻分發(fā)方法, 利用客戶端peer (P2P客戶端)所在的地理位置,運(yùn)營(yíng)商,網(wǎng)段,帶寬,歷史播放行為和當(dāng)前播放上下文,選擇最適合分發(fā)分片內(nèi)容的一組客戶端peer作為分發(fā)客戶端,有效提高P2P 網(wǎng)絡(luò)分片內(nèi)容分發(fā)的效率。本發(fā)明所述的基于P2P客戶端狀態(tài)分析的Flash視頻分發(fā)方法, 在考慮視頻分發(fā)時(shí),要盡量滿足以下幾個(gè)條件
1.保障用戶能流暢觀看Flash視頻;
a)較快的分片內(nèi)容傳輸速度;
b)穩(wěn)定的傳輸分片內(nèi)容;
2.最大化利用各客戶端peer已經(jīng)下載的分片內(nèi)容;
3.盡量減少不必要的分片內(nèi)容分發(fā)流量。
其中,地理位置,運(yùn)營(yíng)商,網(wǎng)段,帶寬對(duì)分片內(nèi)容傳輸速度有很大影響;地理位置相近,歸屬同一個(gè)運(yùn)營(yíng)商,同一個(gè)網(wǎng)段往往有較快的傳輸速度;
從用戶歷史播放行為出發(fā),我們可以預(yù)測(cè)某個(gè)客戶端peer在當(dāng)前時(shí)段是否會(huì)連續(xù)穩(wěn)定的觀看視頻,從而是否能作為一個(gè)穩(wěn)定的分發(fā)客戶端;
分析用戶當(dāng)前播放上下文,有助于最大化利用已經(jīng)下載的分片內(nèi)容;在本發(fā)明中, 當(dāng)前播放的視頻對(duì)應(yīng)的分片內(nèi)容僅在播放時(shí)存儲(chǔ)在客戶端peer的內(nèi)存中,播放完成后,重新載入新的視頻時(shí),之前播放視頻對(duì)應(yīng)的分片內(nèi)容就失效了 ;因而通過分析用戶當(dāng)前播放上下文,可以判斷出當(dāng)前視頻的有效期,有助于最大化利用已經(jīng)下載的分片內(nèi)容。眾所周知,P2P技術(shù)能有效提高視頻分發(fā)能力,但是它增加了客戶端peer之間的帶寬流量,可能會(huì)給客戶端peer的用戶造成不必要的困擾。如果P2P技術(shù)使用的分發(fā)方法不當(dāng),就容易引起分片內(nèi)容不斷重發(fā),白白浪費(fèi)帶寬。因而設(shè)計(jì)一種好的分發(fā)方法以提高分發(fā)效率,減少數(shù)據(jù)重發(fā)是很有價(jià)值的。本發(fā)明所述的基于P2P客戶端狀態(tài)分析的Flash視頻分發(fā)方法,可分為請(qǐng)求客戶端peer的流程、服務(wù)器端P2P server的流程兩大塊。請(qǐng)求客戶端peer的流程如下1.請(qǐng)求客戶端peer發(fā)起播放某一視頻的請(qǐng)求,請(qǐng)求參數(shù)包括所請(qǐng)求播放的視頻的分片內(nèi)容列表;所請(qǐng)求播放的視頻的分片內(nèi)容列表可以從分片內(nèi)容列表服務(wù)器List Server 獲??;2.服務(wù)器端P2P server接收該請(qǐng)求并返回一個(gè)列表集合,該列表集合的每一行包括存儲(chǔ)有所請(qǐng)求播放的視頻的分片內(nèi)容的某個(gè)分發(fā)客戶端PeeH可以是該客戶端的客戶端身份標(biāo)識(shí)號(hào)碼peer_id),以及該分發(fā)客戶端peer擁有的分片內(nèi)容列表;3.請(qǐng)求客戶端peer通過該列表集合形成一個(gè)分片分布矩陣,再根據(jù)分片內(nèi)容的分布情況,各分發(fā)客戶端Peer的地理位置、運(yùn)營(yíng)商、網(wǎng)段,各分發(fā)客戶端Peer是否快結(jié)束播放,來決定向哪些分發(fā)客戶端Peer請(qǐng)求某個(gè)分片內(nèi)容;為便于實(shí)現(xiàn),可以把CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))作為一個(gè)特殊的分發(fā)客戶端Peer返回給請(qǐng)求客戶端peer,當(dāng)其他分發(fā)客戶端Peer沒有辦法提供服務(wù)時(shí),可以由CDN直接提供服務(wù);4.請(qǐng)求客戶端peer定期向服務(wù)器端P2P server匯報(bào)自己擁有哪些分片內(nèi)容,當(dāng)前所播放的視頻的已播放時(shí)長(zhǎng)。因?yàn)檎?qǐng)求客戶端peer對(duì)其他客戶端來說有可能是一個(gè)可選擇的分發(fā)客戶端,因此要向服務(wù)器端匯報(bào)當(dāng)前所播放的視頻的已播放時(shí)長(zhǎng),以便分析出分發(fā)客戶端Peer是否快結(jié)束播放。服務(wù)器端P2P server的流程如下1.服務(wù)器端P2P server接收請(qǐng)求客戶端peer的定期匯報(bào)信息,記錄各個(gè)請(qǐng)求客戶端peer擁有哪些分片內(nèi)容,當(dāng)前所播放的視頻的已播放時(shí)長(zhǎng);同時(shí)服務(wù)器端P2P server 也匯聚并記錄了各客戶端Peer的地理位置、運(yùn)營(yíng)商、網(wǎng)段等信息;2.當(dāng)服務(wù)器端P2P server接收某一請(qǐng)求客戶端peer的請(qǐng)求后,計(jì)算出能夠作為分發(fā)客戶端Peer的集合,各分發(fā)客戶端peer擁有的分片內(nèi)容列表,各分發(fā)客戶端peer當(dāng)前所播放的視頻的已播放時(shí)長(zhǎng),和各分發(fā)客戶端peer的穩(wěn)定性。其中,P2P Server利用如下辦法計(jì)算某分發(fā)客戶端peer的穩(wěn)定性,穩(wěn)定性stability計(jì)算公式如下stability = (percent_l+percent_2+..· percent_n)/nstability e
客戶端peer針對(duì)各個(gè)視頻的播放比例,用percent_l,. .,percent_n來表示,客戶端peer定期向P2P krver匯報(bào)已播放時(shí)長(zhǎng),而視頻的整體時(shí)長(zhǎng)在第一次請(qǐng)求時(shí)就有匯報(bào),據(jù)此可以計(jì)算出播放比例,播放比例=已播放時(shí)長(zhǎng)/視頻的整體時(shí)長(zhǎng),percent_n的取值范圍是W,1],η是代表總共播放了多少視頻(n = 1,2,3,……),η值沒有上限,因?yàn)槟硞€(gè)客戶端看過的視頻總數(shù)很難超過“百萬”這個(gè)量級(jí)(假設(shè)一個(gè)人活65年,一年365天,則 365X65 = 23725天,再假設(shè)每天平均看十個(gè)視頻,總共也就是237250個(gè)視頻),計(jì)算機(jī)完全可以處理這種情況。
stability值越大(假設(shè)一個(gè)視頻總時(shí)長(zhǎng)一小時(shí),一個(gè)客戶只看了 30分鐘,則 stability值為0. 5,而另一個(gè)客戶看完了,則stability值為1),表明該分發(fā)客戶端peer 觀看當(dāng)前視頻的總時(shí)間越長(zhǎng),穩(wěn)定性stability計(jì)算是定期執(zhí)行的,具體期限可自行配置, 如果P2P Server計(jì)算能力允許,建議每天晚上運(yùn)行一次。
舉個(gè)例子,請(qǐng)求客戶端peer發(fā)起的請(qǐng)求如下(用JSON格式來表達(dá))
Client—RequestParameter: {video_id:vid,// Client 請(qǐng)求的視頻 id segments: [idl,id2,...,idn] // 視頻的分片內(nèi)容列表}
服務(wù)器端P2P server返回的列表集合
P2PServer_ResponseResult{peer_num: m, //共返回m個(gè)peer (分發(fā)客戶端) segment—matrix: [ // peer 的分片狀態(tài)矩陣[peerh [idl-1, idl-2, ···, idl-ni]}, // peerl 當(dāng)前擁有 nl 個(gè)分片,用[idl-l,..,idl - m]表示{Peer2\ [id2-l,id2-2,…,id2_n2]}, //含義同上{peerm\ [idm-1, idm-2,…,idm-nm]}],peer—info:[//分發(fā)客戶端peer的輔助信息,包括IP,己播放比例 (played—percent),穩(wěn)定度(stability){peerl {IP:IPl, played—percentpi, stability:si}}, {peer2: {IP:IP2, played_percent:p2, stability:s2}},{peerm: {IP:IPm, played—percent:pm,stability:sm}},}
請(qǐng)求客戶端peer獲得服務(wù)器端P2P server返回的列表集合以后,針對(duì)所請(qǐng)求的每個(gè)分片內(nèi)容,依照地理位置,運(yùn)營(yíng)商,網(wǎng)段,播放時(shí)長(zhǎng)比例(播放比例),在各分發(fā)客戶端 Peer中尋找最適合傳輸該分片內(nèi)容的客戶端,該選擇過程遵循以下優(yōu)先策略
1.優(yōu)先選擇地理位置相近的分發(fā)客戶端peer ;可通過分析服務(wù)器端返回的列表集合中攜帶的客戶端IP分析獲得地理位置信息;
2.優(yōu)先選擇同一運(yùn)營(yíng)商內(nèi)的分發(fā)客戶端peer ;可通過分析服務(wù)器端返回的列表集合中攜帶的客戶端IP分析獲得運(yùn)營(yíng)商信息;3.優(yōu)先選擇同一網(wǎng)段內(nèi)的分發(fā)客戶端peer ;可通過分析服務(wù)器端返回的列表集合中攜帶的客戶端IP分析獲得網(wǎng)段信息;4.優(yōu)先選擇服務(wù)壓力較小的分發(fā)客戶端peer ;分發(fā)客戶端peer承擔(dān)的分片傳輸任務(wù)越多,認(rèn)為其服務(wù)壓力越大;例如,客戶端peer-a已經(jīng)負(fù)責(zé)傳輸分片內(nèi)容1且客戶端 peer-a中存儲(chǔ)有分片內(nèi)容2,同時(shí)客戶端peer-b中存儲(chǔ)有分片內(nèi)容2且其能夠傳輸分片內(nèi)容2,那么就盡量由客戶端peer-b傳輸分片內(nèi)容2,減少客戶端peer-a的負(fù)擔(dān);5.優(yōu)先選擇已播放比例較大的分發(fā)客戶端peer ;已播放比例越大,該視頻越快結(jié)束,這樣的話,當(dāng)前分發(fā)客戶端peer存儲(chǔ)的分片內(nèi)容越早失效,因而要盡快將其傳輸出去, 保證物盡其用;6.優(yōu)先選擇歷史播放較為穩(wěn)定的分發(fā)客戶端peer,一個(gè)分發(fā)客戶端peer的歷史播放行為越穩(wěn)定,它越可能穩(wěn)定的提供傳輸服務(wù);可通過分析服務(wù)器端返回的列表集合中攜帶的穩(wěn)定性stability分析獲得歷史播放行為的穩(wěn)定程度;舉例來說,相比較兩個(gè)客戶端peer,一個(gè)客戶端peer總是能從頭到尾看完整個(gè)視頻,而另一個(gè)客戶端peer卻經(jīng)??吹揭话刖蛽Q個(gè)視頻,第一個(gè)客戶端peer更有可能為客戶端peer提供穩(wěn)定的視頻分發(fā)服務(wù)。在實(shí)際應(yīng)用上述優(yōu)先策略時(shí),可以為這6條優(yōu)先策略分配不同的權(quán)重,最后計(jì)算出一個(gè)綜合值,來作為最終決策的依據(jù)。最簡(jiǎn)單的方法,可以給每個(gè)策略分配相同的權(quán)重?;谏鲜霾呗裕景l(fā)明提供了一種較為可行的視頻分發(fā)策略,以保證服務(wù)的穩(wěn)定, 快速,同時(shí)降低對(duì)客戶端peer的壓力。本發(fā)明描述的調(diào)度方法主要在請(qǐng)求客戶端peer進(jìn)行(服務(wù)器端只是提供列表集合,根據(jù)列表集合具體選擇分發(fā)客戶端是由請(qǐng)求客戶端處理完成的),從而將計(jì)算壓力分散到各個(gè)請(qǐng)求客戶端peer上,有效降低了 P2P krver的計(jì)算壓力。本發(fā)明的描述的方法簡(jiǎn)單易行,有助于在實(shí)際應(yīng)用時(shí)保障穩(wěn)定服務(wù)和易于追蹤服務(wù)流程。舉例來說明上述策略的基本步驟請(qǐng)求客戶端(其IP為220. 221. 1. 5)要請(qǐng)求一個(gè)視頻文件vid,該視頻文件包括6 個(gè)分片內(nèi)容,這六個(gè)分片內(nèi)容的id分別是sidl sid6,請(qǐng)求客戶端向服務(wù)器端發(fā)出的請(qǐng)求是{video_id :vid,segments [sidl, sid2, sid3, sid4, sid5, sid6]}服務(wù)器給請(qǐng)求客戶端返回4個(gè)分發(fā)客戶端,每個(gè)分發(fā)客戶端擁有若干個(gè)分片內(nèi)容,另外,CDN本身擁有全部分片內(nèi)容,為方便描述,將cdn作為獨(dú)特的分發(fā)客戶端返回,如下所示{
Peer—num: 4, segment—matrix[
{peerl [ sidl,sid3]},
{peer2: [sidl,sid2]},
{peer3: [sid3,sid4]},
{peer4: [sid2, sid5]},
{CDN: [sidl, sid2, sid3, sid4, sid5, sid6]}
peer—info:[
{peerl: {IP:220. 221. 1. 2,played—percent :0. 5,stability :0.6}},
{peer2: {IP: 120. 121. 1. 2, played—percent :0. 3,stability :0.5}},
{peer3: {IP:220. 221. 2. 3,played_percent :0. 6,stability :0.8}},
{peer4: {IP: 123. 25. 2. 32,played—percent:0. 7,stability
:0.9}}
]
}
我們用一個(gè)矩陣結(jié)構(gòu)來表達(dá)
分片內(nèi)容sidl Sid6擁有情況 ABCDEF 分發(fā)客戶端peerl 13
分發(fā)客戶端peer2 1 2 分發(fā)客戶端peer33 4
分發(fā)客戶端peer425
CDN1 2 3 4 5 6 先看A列,對(duì)分片內(nèi)容1的分析如下請(qǐng)求客戶端和分發(fā)客戶端peerl的IP屬于同一網(wǎng)段,意味著請(qǐng)求客戶端與分發(fā)客戶端peerl可能是同一運(yùn)營(yíng)商且地理位置相近, 再結(jié)合分發(fā)客戶端peer當(dāng)前所播放的視頻的已播放時(shí)長(zhǎng)playecLpercent,和分發(fā)客戶端peer的穩(wěn)定性stability,可以推斷分發(fā)客戶端peerl的傳輸速度和穩(wěn)定性好于分發(fā)客戶端peer2,那么選擇分發(fā)客戶端peerl來為請(qǐng)求客戶端傳輸分片內(nèi)容1 ;對(duì)分片內(nèi)容3的分析如下為了盡量分散單個(gè)分發(fā)客戶端Peer的服務(wù)壓力,預(yù)期分發(fā)客戶端Peerl不會(huì)傳輸分片內(nèi)容3,這樣的話,選擇分發(fā)客戶端peerf來傳輸分片內(nèi)容 3 ;同理,針對(duì)B列,對(duì)分片內(nèi)容2的分析如下選擇分發(fā)客戶端peer2傳輸分片內(nèi)容 2 ;因?yàn)榉职l(fā)客戶端peer2的網(wǎng)段更接近于請(qǐng)求客戶端,雖然分發(fā)客戶端peer4的分發(fā)客戶端peer當(dāng)前所播放的視頻的已播放時(shí)長(zhǎng)playecLpercent,和分發(fā)客戶端peer的穩(wěn)定性 stability 更佳,同理,分發(fā)客戶端peer4傳輸分片內(nèi)容5。由于各個(gè)分發(fā)客戶端peer中都沒有包含分片內(nèi)容6,那就使請(qǐng)求客戶端直接向 CDN請(qǐng)求分片內(nèi)容6。針對(duì)分片內(nèi)容4,既可以由分發(fā)客戶端peerf傳輸,也可以由CDN傳輸,要綜合考慮分發(fā)客戶端peer3和⑶N的壓力情況作出決定。這里僅表述本方法的主體邏輯過程,其余參數(shù)不加以詳述。本發(fā)明的著眼點(diǎn)是將計(jì)算調(diào)度的壓力分布到各個(gè)客戶端peer上執(zhí)行。該方法中客戶端peer—次向krver端請(qǐng)求多個(gè)分片,Server向客戶端peer返回一個(gè)類似矩陣的客戶端peer列表集合,這個(gè)基礎(chǔ)的通信模式對(duì)后續(xù)的計(jì)算調(diào)度是很關(guān)鍵的??蛻舳藀eer上的計(jì)算調(diào)度建立在對(duì)客戶端peer和列表集合的綜合分析的基礎(chǔ)上,該分析包括了地理位置, 運(yùn)營(yíng)商,網(wǎng)段,已播放比例,歷史播放穩(wěn)定性等信息。本說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。
權(quán)利要求
1.一種基于P2P客戶端狀態(tài)分析的Flash視頻分發(fā)方法,其特征在于步驟1,請(qǐng)求客戶端peer發(fā)起播放某一視頻的請(qǐng)求,請(qǐng)求參數(shù)包括所請(qǐng)求播放的視頻的分片內(nèi)容列表;步驟2,服務(wù)器端P2P server接收該請(qǐng)求并返回一個(gè)列表集合,該列表集合的每一行包括存儲(chǔ)有所請(qǐng)求播放的視頻的分片內(nèi)容的某個(gè)分發(fā)客戶端Peer,以及該分發(fā)客戶端 peer擁有的分片內(nèi)容列表;步驟3,請(qǐng)求客戶端peer通過該列表集合形成一個(gè)分片分布矩陣,再根據(jù)分片內(nèi)容的分布情況,各分發(fā)客戶端Peer的地理位置、運(yùn)營(yíng)商、網(wǎng)段,各分發(fā)客戶端Peer是否快結(jié)束播放,來決定向哪些分發(fā)客戶端Peer請(qǐng)求某個(gè)分片內(nèi)容;步驟4,請(qǐng)求客戶端peer定期向服務(wù)器端P2P server匯報(bào)自己擁有哪些分片內(nèi)容,當(dāng)前所播放的視頻的已播放時(shí)長(zhǎng);步驟5,服務(wù)器端P2P server接收請(qǐng)求客戶端peer的定期匯報(bào)信息,記錄各個(gè)請(qǐng)求客戶端peer擁有哪些分片內(nèi)容,當(dāng)前所播放的視頻的已播放時(shí)長(zhǎng)。
2.如權(quán)利要求1所述的基于P2P客戶端狀態(tài)分析的Flash視頻分發(fā)方法,其特征在于 把CDN作為一個(gè)特殊的分發(fā)客戶端Peer返回給請(qǐng)求客戶端peer,當(dāng)其他分發(fā)客戶端Peer 沒有辦法提供服務(wù)時(shí),由CDN直接提供服務(wù)。
3.如權(quán)利要求1所述的基于P2P客戶端狀態(tài)分析的Flash視頻分發(fā)方法,其特征在于 請(qǐng)求客戶端peer發(fā)起的請(qǐng)求用JSON格式來表達(dá)。
4.如權(quán)利要求1或2或3所述的基于P2P客戶端狀態(tài)分析的Flash視頻分發(fā)方法,其特征在于當(dāng)服務(wù)器端P2P server接收某一請(qǐng)求客戶端peer的請(qǐng)求后,計(jì)算出能夠作為分發(fā)客戶端Peer的集合,各分發(fā)客戶端peer擁有的分片內(nèi)容列表,各分發(fā)客戶端peer當(dāng)前所播放的視頻的已播放時(shí)長(zhǎng),和各分發(fā)客戶端peer的穩(wěn)定性;其中,P2P Server利用如下辦法計(jì)算某分發(fā)客戶端peer的穩(wěn)定性, 穩(wěn)定性stability計(jì)算公式如下stability = (percent_l+percent_2+..· percent_n)/n stability e
客戶端peer針對(duì)各個(gè)視頻的播放比例,用percent_l,. .,percent_n來表示, stability值越大,表明該分發(fā)客戶端peer觀看當(dāng)前視頻的總時(shí)間越長(zhǎng)。
5.如權(quán)利要求4所述的基于P2P客戶端狀態(tài)分析的Flash視頻分發(fā)方法,其特征在于 請(qǐng)求客戶端peer獲得服務(wù)器端P2P server返回的列表集合以后,針對(duì)所請(qǐng)求的每個(gè)分片內(nèi)容,依照地理位置,運(yùn)營(yíng)商,網(wǎng)段,播放時(shí)長(zhǎng)比例,在各分發(fā)客戶端Peer中尋找最適合傳輸該分片內(nèi)容的客戶端,該選擇過程遵循以下優(yōu)先策略(U優(yōu)先選擇地理位置相近的分發(fā)客戶端peer ; ( 優(yōu)先選擇同一運(yùn)營(yíng)商內(nèi)的分發(fā)客戶端peer ; 131優(yōu)先選擇同一網(wǎng)段內(nèi)的分發(fā)客戶端peer ;(4>.優(yōu)先選擇服務(wù)壓力較小的分發(fā)客戶端peer ;分發(fā)客戶端peer承擔(dān)的分片傳輸任務(wù)越多,認(rèn)為其服務(wù)壓力越大;(511優(yōu)先選擇已播放比例較大的分發(fā)客戶端Peer ;已播放比例越大,該視頻越快結(jié)束, 這樣的話,當(dāng)前分發(fā)客戶端peer存儲(chǔ)的分片內(nèi)容越早失效,因而要盡快將其傳輸出去,保證物盡其用;<6)優(yōu)先選擇歷史播放較為穩(wěn)定的分發(fā)客戶端peer,一個(gè)分發(fā)客戶端peer的歷史播放行為越穩(wěn)定,它越可能穩(wěn)定的提供傳輸服務(wù)。
全文摘要
本發(fā)明涉及一種基于P2P客戶端狀態(tài)分析的Flash視頻分發(fā)方法,將計(jì)算調(diào)度的壓力分布到各個(gè)客戶端peer上執(zhí)行,請(qǐng)求客戶端一次向服務(wù)器端請(qǐng)求多個(gè)分片,服務(wù)器端向客戶端返回一個(gè)列表集合,客戶端結(jié)合該列表集合分析選擇適合的分發(fā)客戶端,該分析包括了地理位置,運(yùn)營(yíng)商,網(wǎng)段,已播放比例,歷史播放穩(wěn)定性等信息。本發(fā)明所述的基于P2P客戶端狀態(tài)分析的Flash視頻分發(fā)方法,利用客戶端peer所在的地理位置,運(yùn)營(yíng)商,網(wǎng)段,帶寬,歷史播放行為和當(dāng)前播放上下文,選擇最適合分發(fā)分片內(nèi)容的一組客戶端peer,有效提高P2P網(wǎng)絡(luò)分片內(nèi)容分發(fā)的效率。
文檔編號(hào)H04L29/08GK102497387SQ201110356449
公開日2012年6月13日 申請(qǐng)日期2011年11月11日 優(yōu)先權(quán)日2011年11月11日
發(fā)明者盧述奇, 吳昊宇, 姚鍵, 潘柏宇, 白鵬, 邱丹 申請(qǐng)人:合一網(wǎng)絡(luò)技術(shù)(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1