一種視頻播放控制方法
【專利摘要】本發(fā)明提供了一種視頻播放控制方法,該方法包括:在Chord環(huán)上的每個(gè)子網(wǎng)設(shè)置一個(gè)多播Agent,在Agent之間使用單播來(lái)互相通信;以服務(wù)器作為Agent的引導(dǎo)節(jié)點(diǎn),轉(zhuǎn)發(fā)多播視頻封包到其他的子網(wǎng),根據(jù)Agent的平均帶寬時(shí)間乘積參數(shù)構(gòu)建多播平衡樹(shù)。本發(fā)明通過(guò)視頻播放網(wǎng)絡(luò)的擴(kuò)展性、穩(wěn)定度與負(fù)載分享,有效提升網(wǎng)絡(luò)視頻使用者的播放質(zhì)量。
【專利說(shuō)明】一種視頻播放控制方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及視頻傳輸,特別涉及一種網(wǎng)絡(luò)視頻播放控制方法。
【背景技術(shù)】
[0002] 隨著寬帶網(wǎng)絡(luò)的發(fā)展,網(wǎng)絡(luò)電視服務(wù)成為許多營(yíng)運(yùn)商搶攻的新市場(chǎng),其不僅可依 照一般電視節(jié)目來(lái)播放影音,更可通過(guò)上傳視頻來(lái)進(jìn)行互動(dòng)式多媒體服務(wù)需求,提高使用 者與服務(wù)之間的互動(dòng)性。目前大多數(shù)營(yíng)運(yùn)商是通過(guò)內(nèi)容遞送網(wǎng)絡(luò)(CDN)方式,采用網(wǎng)絡(luò)多 播將用戶所需的節(jié)目傳送到距離用戶最近的服務(wù)器提供給用戶觀看。但建設(shè)成本將隨用戶 的增加而提高,同時(shí)分散各個(gè)區(qū)域的服務(wù)器也將加大設(shè)備維護(hù)的難度及成本。實(shí)際上在現(xiàn) 今大部分的網(wǎng)絡(luò)皆無(wú)法使用網(wǎng)絡(luò)多播來(lái)進(jìn)行數(shù)據(jù)傳送,因?yàn)榫W(wǎng)絡(luò)多播包含以下原因,導(dǎo)致 因特網(wǎng)提供商不便使用此功能。
[0003] (1)擴(kuò)展性不足。網(wǎng)絡(luò)多播的群組的信息是由網(wǎng)絡(luò)上的路由器來(lái)負(fù)責(zé)組織及維護(hù)。 (2)布建困難。需要網(wǎng)絡(luò)上所有的路由器都啟動(dòng)多播的功能,如果某些路由器不提供這項(xiàng) 服務(wù),就可能造成該地區(qū)的用戶不能使用多播功能。(3)多播群組管理困難。由于網(wǎng)絡(luò)上 的用戶加入與離開(kāi)非常頻繁,有用戶加入時(shí)需要重新使用多播路由協(xié)議。
[0004] 因此,針對(duì)相關(guān)技術(shù)中所存在的上述問(wèn)題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0005] 為解決上述現(xiàn)有技術(shù)所存在的問(wèn)題,本發(fā)明提出了一種視頻播放控制方法,其特 征在于,包括:
[0006] 在Chord環(huán)上的每個(gè)子網(wǎng)設(shè)置一個(gè)多播Agent,在Agent之間使用單播來(lái)互相通 ?目;
[0007] 以服務(wù)器作為Agent的引導(dǎo)節(jié)點(diǎn),轉(zhuǎn)發(fā)多播視頻封包到其他的子網(wǎng);
[0008] 根據(jù)Agent的平均帶寬時(shí)間乘積參數(shù)構(gòu)建多播平衡樹(shù)。
[0009] 優(yōu)選地,所述Chord環(huán)上的各點(diǎn)表示存在的Agent ;指針列表是用來(lái)存儲(chǔ)Chord 環(huán)上ID值與后繼的關(guān)系,節(jié)點(diǎn)間利用自己的指針列表來(lái)查詢和幫助其他Agent查找ID的 后繼;指針列表之間會(huì)定時(shí)進(jìn)彳丁?目息受換,以確保各節(jié)點(diǎn)在Chord環(huán)中,在網(wǎng)絡(luò)視頻基礎(chǔ) 下架構(gòu)Chord環(huán),以服務(wù)器作為Agent的引導(dǎo)節(jié)點(diǎn),所有的Agent都必須通過(guò)引導(dǎo)節(jié)點(diǎn)加 入Chord環(huán)中進(jìn)行注冊(cè)并且加入多播樹(shù)中接收所需網(wǎng)絡(luò)視頻內(nèi)容,Agent之間所構(gòu)建出的 傳輸路徑以及維持該架構(gòu)的相關(guān)信息分散于每個(gè)Agent上。
[0010] 優(yōu)選地,所述每個(gè)Agent都包含以下表:
[0011] (1)指針列表:記錄Agent加入Chord環(huán)進(jìn)行注冊(cè);
[0012] (2)多播樹(shù)列表:記錄多播樹(shù)中的傳輸路徑,當(dāng)有節(jié)點(diǎn)失效時(shí),根據(jù)多播樹(shù)列表 中的數(shù)據(jù)與其他節(jié)點(diǎn)重新連接;
[0013] (3)葉節(jié)點(diǎn)列表:記錄每個(gè)Agent剩余空間的子節(jié)點(diǎn);
[0014] 所述子網(wǎng)中的節(jié)點(diǎn)自行構(gòu)建網(wǎng)絡(luò)、搜尋目標(biāo)和所需的資源,運(yùn)用分布式散列表的 方式,每一個(gè)節(jié)點(diǎn)保存有索引信息并通過(guò)分布式散列表來(lái)進(jìn)行運(yùn)作,進(jìn)而通過(guò)Chord進(jìn)行 信息交換。
[0015] 優(yōu)選地,所述構(gòu)建多播平衡樹(shù)以平均帶寬時(shí)間乘積值為標(biāo)準(zhǔn),所述平均帶寬時(shí)間 乘積是將各次測(cè)得的帶寬大小取平均值后,再乘以成員留在多播平衡樹(shù)中的時(shí)間,得到平 均帶寬時(shí)間乘積,所述構(gòu)建是將由平均帶寬時(shí)間乘積參數(shù)所計(jì)算出數(shù)值較高的節(jié)點(diǎn)提升 到樹(shù)的上層,包括成員注冊(cè)、成員加入、成員離開(kāi)和多播平衡樹(shù)調(diào)整。
[0016] 優(yōu)選地,所述成員注冊(cè)進(jìn)一步包括:
[0017] 當(dāng)使用者希望觀看視頻時(shí),先向引導(dǎo)節(jié)點(diǎn)進(jìn)行注冊(cè)Chord動(dòng)作,用來(lái)加入Chord 結(jié)構(gòu)。
[0018] 優(yōu)選地,所述成員加入進(jìn)一步包括:
[0019] 在成員要加入多播平衡樹(shù)時(shí),先從引導(dǎo)節(jié)點(diǎn)開(kāi)始查詢?nèi)~節(jié)點(diǎn)列表,當(dāng)Agent收到 加入的請(qǐng)求時(shí),先確定本身是否具有負(fù)載能力,在無(wú)法負(fù)載時(shí),從葉節(jié)點(diǎn)列表中選擇剩余 負(fù)載能力最大的子節(jié)點(diǎn),讓新成員加入;
[0020] 如果葉節(jié)點(diǎn)列表中沒(méi)有可加入的節(jié)點(diǎn),則通知新成員按照廣度優(yōu)先方式查找適 當(dāng)?shù)墓?jié)點(diǎn)當(dāng)作其父節(jié)點(diǎn),而在節(jié)點(diǎn)加入多播平衡樹(shù)中,查找節(jié)點(diǎn)的方式是通過(guò)Chord環(huán)中 指針列表來(lái)進(jìn)行搜尋適當(dāng)?shù)墓?jié)點(diǎn)位置。
[0021] 優(yōu)選地,所述成員離開(kāi)進(jìn)一步包括:
[0022] 當(dāng)成員離開(kāi)多播平衡樹(shù)時(shí),成員通知子節(jié)點(diǎn)自己將要離開(kāi),對(duì)自己的祖父送出加 入的請(qǐng)求,接收回傳的確認(rèn)消息,等待子節(jié)點(diǎn)應(yīng)答完成與新節(jié)點(diǎn)進(jìn)行連接后進(jìn)行離開(kāi),結(jié) 束視頻播放動(dòng)作。
[0023] 優(yōu)選地,所述多播平衡樹(shù)調(diào)整進(jìn)一步包括:
[0024] 比較兩個(gè)不同層的成員的平均帶寬時(shí)間乘積大小,將兩個(gè)成員中平均帶寬時(shí)間 乘積較大的成員調(diào)整到多播平衡樹(shù)的上層位置,在多播平衡樹(shù)調(diào)整的動(dòng)作中,設(shè)定服務(wù)器 也就是多播平衡樹(shù)根節(jié)點(diǎn)的平均帶寬時(shí)間乘積為無(wú)限大,當(dāng)新成員加入多播平衡樹(shù)時(shí),新 成員的平均帶寬時(shí)間乘積設(shè)置為〇,并位于樹(shù)的底層位置,一旦其乘積值超越了自己現(xiàn)在 父節(jié)點(diǎn)的平均帶寬時(shí)間乘積,則進(jìn)行位置交換,發(fā)動(dòng)多播平衡樹(shù)調(diào)整的節(jié)點(diǎn)選擇將其子節(jié) 點(diǎn)里平均帶寬時(shí)間乘積最小的成員更換連接,成為自己父節(jié)點(diǎn)的子節(jié)點(diǎn)。
[0025] 本發(fā)明相比現(xiàn)有技術(shù),利用應(yīng)用層多播Agent的方式,構(gòu)建多播平衡樹(shù),并通過(guò) 應(yīng)用層多播Agent所形成的視頻播放網(wǎng)絡(luò)及該網(wǎng)絡(luò)的擴(kuò)展性、穩(wěn)定度與負(fù)載分享有效提升 網(wǎng)絡(luò)視頻使用者的播放質(zhì)量。
【專利附圖】
【附圖說(shuō)明】
[0026] 圖1是根據(jù)本發(fā)明實(shí)施例的視頻播放控制方法的流程圖。
【具體實(shí)施方式】
[0027] 下文與圖示本發(fā)明原理的附圖一起提供對(duì)本發(fā)明一個(gè)或者多個(gè)實(shí)施例的詳細(xì)描 述。結(jié)合這樣的實(shí)施例描述本發(fā)明,但是本發(fā)明不限于任何實(shí)施例。本發(fā)明的范圍僅由權(quán) 利要求書(shū)限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細(xì) 節(jié)以便提供對(duì)本發(fā)明的透徹理解。出于示例的目的而提供這些細(xì)節(jié),并且無(wú)這些具體細(xì)節(jié) 中的一些或者所有細(xì)節(jié)也可以根據(jù)權(quán)利要求書(shū)實(shí)現(xiàn)本發(fā)明。
[0028] 本發(fā)明采用類似Ad-Hoc的網(wǎng)絡(luò)拓?fù)湫螒B(tài),讓每一個(gè)節(jié)點(diǎn)完全地?fù)碛凶灾鳈?quán),達(dá) 成相互傳送數(shù)據(jù)的目的。節(jié)點(diǎn)基本的功能包含了自行構(gòu)建網(wǎng)絡(luò)、搜尋目標(biāo)和所需的資源, 主要在于運(yùn)用分布式散列表的方式,讓每一個(gè)節(jié)點(diǎn)持有少量的索引信息,再通過(guò)分布式散 列表來(lái)進(jìn)行運(yùn)作。通過(guò)Chord進(jìn)行信息交換,用以減少服務(wù)器的負(fù)載,提高服務(wù)器運(yùn)作效 率及服務(wù)質(zhì)量。
[0029] 本發(fā)明的一方面提供了一種視頻播放控制方法。圖1是根據(jù)本發(fā)明實(shí)施例的視頻 播放控制方法流程圖。
[0030] 為了能夠在用戶較多的情況下,有效減輕系統(tǒng)與網(wǎng)絡(luò)帶寬的負(fù)荷,在架構(gòu)中為每 一個(gè)子網(wǎng)多播設(shè)置一個(gè)多播代理(MulticastAgent)服務(wù)器來(lái)代為轉(zhuǎn)發(fā)多播視頻封包到其 他的子網(wǎng)上,Agent之間使用單播來(lái)互相通信。
[0031] Chord環(huán)上的各點(diǎn)表示存在的Agent,每一個(gè)Agent的指針列表指針列表中最多負(fù) 責(zé)O(logN)筆數(shù)據(jù),查詢時(shí)只需O(logN)次即可找到所要的數(shù)據(jù),在Agent加入和離開(kāi)時(shí) 也只需花費(fèi)0(l〇gN)的消息量。指針列表是用來(lái)存儲(chǔ)Chord環(huán)上ID值與后繼的關(guān)系,節(jié) 點(diǎn)間利用自己的指針列表來(lái)查詢和幫助其他Agent查找ID的后繼。而指針列表之間會(huì)定 時(shí)進(jìn)行信息交換,以確保各節(jié)點(diǎn)仍正常在Chord環(huán)中。在網(wǎng)絡(luò)視頻基礎(chǔ)下架構(gòu)Chord環(huán), 以服務(wù)器作為Agent的引導(dǎo)節(jié)點(diǎn),所有的Agent都必須通過(guò)引導(dǎo)節(jié)點(diǎn)加入Chord環(huán)中進(jìn)行 注冊(cè)并且加入多播樹(shù)中接收所需網(wǎng)絡(luò)視頻內(nèi)容,Agent之間所構(gòu)建出的傳輸路徑以及維持 該架構(gòu)的相關(guān)信息會(huì)分散于每個(gè)Agent上,每個(gè)Agent都包含了 3個(gè)表來(lái)記錄這些消息:
[0032] (1)指針列表:Agent加入Chord環(huán)進(jìn)行注冊(cè)。
[0033] (2)多播樹(shù)列表:記錄多播樹(shù)中的傳輸路徑,當(dāng)有節(jié)點(diǎn)失效時(shí)可以根據(jù)多播樹(shù)列 表中的數(shù)據(jù)與其他節(jié)點(diǎn)重新連接。
[0034] (3)葉節(jié)點(diǎn)列表:記錄每個(gè)Agent剩余空間的子節(jié)點(diǎn)。
[0035] 已有技術(shù)結(jié)合帶寬與成員在線的時(shí)間兩項(xiàng)參數(shù),將兩個(gè)參數(shù)相乘之后作為多播 平衡樹(shù)調(diào)整的標(biāo)準(zhǔn)。但是其帶寬值僅依照單次帶寬測(cè)試的結(jié)果來(lái)決定,這可能會(huì)因?yàn)槎虝r(shí) 間帶寬的波動(dòng)影響,造成不必要的多播平衡樹(shù)調(diào)整,而平均帶寬時(shí)間乘積是將各次測(cè)得的 帶寬大小平均之后,再乘上成員所留在多播平衡樹(shù)中的時(shí)間,得到平均帶寬時(shí)間乘積,避 免了測(cè)試頻寬的過(guò)程中因?yàn)槠渌绦驎簳r(shí)消耗額外帶寬所造成的影響。本發(fā)明多播平衡樹(shù) 構(gòu)建方法將以平均帶寬時(shí)間乘積值為調(diào)整標(biāo)準(zhǔn),用以解決當(dāng)有大量使用者觀看節(jié)目時(shí),月艮 務(wù)器無(wú)法負(fù)載大量帶寬需求,造成傳輸質(zhì)量下降及負(fù)荷過(guò)大的問(wèn)題。
[0036] 方法的基本概念是讓各應(yīng)用層多播平衡樹(shù)成員Agent互相交換在多播平衡樹(shù)上 的位置,將由平均帶寬時(shí)間乘積參數(shù)所計(jì)算出數(shù)值較高者,提升到樹(shù)的上層,以達(dá)到優(yōu)化 狀態(tài)。此方法架構(gòu)分為:
[0037] (1)成員注冊(cè):當(dāng)使用者希望觀看節(jié)目時(shí),先向引導(dǎo)節(jié)點(diǎn)進(jìn)行注冊(cè)Chord動(dòng)作, 用來(lái)加入Chord結(jié)構(gòu),提高之后查找節(jié)點(diǎn)地址效率。
[0038] (2)成員加入:成員要加入多播平衡樹(shù)時(shí)先從引導(dǎo)節(jié)點(diǎn)開(kāi)始查詢?nèi)~節(jié)點(diǎn)列表。當(dāng) Agent收到加入的請(qǐng)求時(shí)先確定本身是否具有負(fù)載能力,無(wú)法負(fù)載時(shí),便從葉節(jié)點(diǎn)列表中 選擇剩余負(fù)載能力最大的子節(jié)點(diǎn),讓新成員加入。
[0039] 如果葉節(jié)點(diǎn)列表中沒(méi)有可加入的節(jié)點(diǎn),則通知新成員按照廣度優(yōu)先方式查找適 當(dāng)?shù)墓?jié)點(diǎn)當(dāng)作其父節(jié)點(diǎn)。而在節(jié)點(diǎn)加入多播平衡樹(shù)中,查找節(jié)點(diǎn)的方式是通過(guò)Chord環(huán)中 指針列表來(lái)進(jìn)行搜尋適當(dāng)?shù)墓?jié)點(diǎn)位置。
[0040] 新成員加入的過(guò)程如下:
[0041] ①新加入的Agent,命名為節(jié)點(diǎn)N,向引導(dǎo)節(jié)點(diǎn)B,提出加入的請(qǐng)求;
[0042] ②如果B已經(jīng)到達(dá)負(fù)載上限,到達(dá)的分支的極限,貝U B選擇還具有負(fù)載能力的成 員M2通知N ;
[0043] ③N轉(zhuǎn)向成員M2要求加入多播平衡樹(shù);
[0044] ④因?yàn)镸2還具有能力負(fù)載,所以送出回復(fù)0K給新的成員,表示同意;
[0045] ⑤N送出應(yīng)答來(lái)回答M2的接受,之后M2便開(kāi)始負(fù)責(zé)轉(zhuǎn)發(fā)內(nèi)容給新加入的成員N。
[0046] (3)成員離開(kāi):成員離開(kāi)多播平衡樹(shù)時(shí),為避免離開(kāi)成員子節(jié)點(diǎn)收看節(jié)目中斷, 成員應(yīng)該要按照正確方式離開(kāi),等待子節(jié)點(diǎn)回報(bào)完成與新節(jié)點(diǎn)進(jìn)行連接后才可離開(kāi)。
[0047] 舉例而言,成員Ml想要離開(kāi)此多播平衡樹(shù),采用以下過(guò)程:
[0048] ①通知子節(jié)點(diǎn)M3,自己即將要離開(kāi);
[0049] ②M3對(duì)自己的祖父M0送出加入的請(qǐng)求,信息里會(huì)特別標(biāo)示為Agent rebuilding,避免因?yàn)镸0沒(méi)有額外的空間容納,而拒絕了底下成員的加入;
[0050] ③M0傳回確認(rèn)接收消息給M3 ;
[0051] ④M3會(huì)送出應(yīng)答給M0,并通知Ml自己已經(jīng)與M0連接完成;
[0052] ⑤Ml收到M3與M0連接成功的信息后,便通知M0自己要離開(kāi);
[0053] ⑥M0回傳確認(rèn)信息;
[0054] ⑦此時(shí)Ml可離開(kāi),結(jié)束收看節(jié)目動(dòng)作。
[0055] (4)多播平衡樹(shù)調(diào)整:為了讓多播平衡樹(shù)能夠適應(yīng)不停變化的網(wǎng)絡(luò)狀況,需要將 性能好的成員往上提升來(lái)達(dá)到網(wǎng)絡(luò)視頻傳輸優(yōu)化。比較兩個(gè)不同層的成員的平均帶寬時(shí)間 乘積大小,比較后使其互相交換位置,在系統(tǒng)運(yùn)行一段時(shí)間之后,平均帶寬時(shí)間乘積最大 的成員將會(huì)占據(jù)多播平衡樹(shù)的上層位置。在多播平衡樹(shù)調(diào)整的動(dòng)作中,會(huì)設(shè)定服務(wù)器也就 是多播平衡樹(shù)根節(jié)點(diǎn)的平均帶寬時(shí)間乘積為無(wú)限大,因而無(wú)法被取代。當(dāng)新成員加入多播 平衡樹(shù)時(shí),因其在線時(shí)間為〇,所以它的平均帶寬時(shí)間乘積會(huì)被設(shè)置為〇。依照加入的程 序,這個(gè)新的成員會(huì)被置放在樹(shù)的底層位置。隨著在系統(tǒng)中的時(shí)間增長(zhǎng),其平均帶寬時(shí)間 乘積值會(huì)逐漸地成長(zhǎng),一旦乘積值超越了自己現(xiàn)在父節(jié)點(diǎn)的平均帶寬時(shí)間乘積時(shí),便會(huì)進(jìn) 行位置交換。為了減少多播平衡樹(shù)調(diào)整時(shí)受到影響的節(jié)點(diǎn),發(fā)動(dòng)多播平衡樹(shù)調(diào)整的節(jié)點(diǎn)選 擇將其子節(jié)點(diǎn)里平均帶寬時(shí)間乘積最小的成員更換連接,成為自己父節(jié)點(diǎn)的子節(jié)點(diǎn),其他 成員則一并提升位置。
[0056] 對(duì)于流調(diào)度算法來(lái)說(shuō),不但要保證用戶播放的連續(xù)性,還必須具有高效性并能夠 滿足特定的需求。因此為了支持用戶零等待,兼具更高性能目標(biāo),本發(fā)明另一方面進(jìn)一步 提出了可變比特率分段調(diào)度方法,其消除了用戶等待延遲,具有高性能,而且采用等帶寬 的下載策略。
[0057] 本發(fā)明采用字節(jié)對(duì)齊方法進(jìn)行視頻分段。設(shè)視頻分第一個(gè)視頻段為\,使用帶寬 為b兆字節(jié)/秒(MBps)的多播流來(lái)傳輸后續(xù)視頻段,分段過(guò)程如下:
[0058] 為了保證視頻的連續(xù)性播放以便提高帶寬的使用率,采用從后向前對(duì)視頻進(jìn)行 分段,每個(gè)視頻段的長(zhǎng)度滿足公式:
[0059]
【權(quán)利要求】
1. 一種視頻播放控制方法,其特征在于,包括: 在Chord環(huán)上的每個(gè)子網(wǎng)設(shè)置一個(gè)多播Agent,在Agent之間使用單播來(lái)互相通信; 以服務(wù)器作為Agent的引導(dǎo)節(jié)點(diǎn),轉(zhuǎn)發(fā)多播視頻封包到其他的子網(wǎng); 根據(jù)Agent的平均帶寬時(shí)間乘積參數(shù)構(gòu)建多播平衡樹(shù)。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述Chord環(huán)上的各點(diǎn)表示存在的 Agent ;指針列表是用來(lái)存儲(chǔ)Chord環(huán)上ID值與后繼的關(guān)系,節(jié)點(diǎn)間利用自己的指針列表 來(lái)查詢和幫助其他Agent查找ID的后繼;指針列表之間會(huì)定時(shí)進(jìn)行信息交換,以確保各節(jié) 點(diǎn)在Chord環(huán)中,在網(wǎng)絡(luò)視頻基礎(chǔ)下架構(gòu)Chord環(huán),以服務(wù)器作為Agent的引導(dǎo)節(jié)點(diǎn),所 有的Agent都必須通過(guò)引導(dǎo)節(jié)點(diǎn)加入Chord環(huán)中進(jìn)行注冊(cè)并且加入多播樹(shù)中接收所需網(wǎng)絡(luò) 視頻內(nèi)容,Agent之間所構(gòu)建出的傳輸路徑以及維持該架構(gòu)的相關(guān)信息分散于每個(gè)Agent 上。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述每個(gè)Agent都包含以下表: (1) 指針列表:記錄Agent加入Chord環(huán)進(jìn)行注冊(cè); (2) 多播樹(shù)列表:記錄多播樹(shù)中的傳輸路徑,當(dāng)有節(jié)點(diǎn)失效時(shí),根據(jù)多播樹(shù)列表中的 數(shù)據(jù)與其他節(jié)點(diǎn)重新連接; (3) 葉節(jié)點(diǎn)列表:記錄每個(gè)Agent剩余空間的子節(jié)點(diǎn); 所述子網(wǎng)中的節(jié)點(diǎn)自行構(gòu)建網(wǎng)絡(luò)、搜尋目標(biāo)和所需的資源,運(yùn)用分布式散列表的方 式,每一個(gè)節(jié)點(diǎn)保存有索引信息并通過(guò)分布式散列表來(lái)進(jìn)行運(yùn)作,進(jìn)而通過(guò)Chord進(jìn)行信 息交換。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述構(gòu)建多播平衡樹(shù)以平均帶寬時(shí)間乘 積值為標(biāo)準(zhǔn),所述平均帶寬時(shí)間乘積是將各次測(cè)得的帶寬大小取平均值后,再乘以成員留 在多播平衡樹(shù)中的時(shí)間,得到平均帶寬時(shí)間乘積,所述構(gòu)建是將由平均帶寬時(shí)間乘積參數(shù) 所計(jì)算出數(shù)值較高的節(jié)點(diǎn)提升到樹(shù)的上層,包括成員注冊(cè)、成員加入、成員離開(kāi)和多播平 衡樹(shù)調(diào)整。
5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述成員注冊(cè)進(jìn)一步包括: 當(dāng)使用者希望觀看視頻時(shí),先向引導(dǎo)節(jié)點(diǎn)進(jìn)行注冊(cè)Chord動(dòng)作,用來(lái)加入Chord結(jié)構(gòu)。
6. 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述成員加入進(jìn)一步包括: 在成員要加入多播平衡樹(shù)時(shí),先從引導(dǎo)節(jié)點(diǎn)開(kāi)始查詢?nèi)~節(jié)點(diǎn)列表,當(dāng)Agent收到加入 的請(qǐng)求時(shí),先確定本身是否具有負(fù)載能力,在無(wú)法負(fù)載時(shí),從葉節(jié)點(diǎn)列表中選擇剩余負(fù)載 能力最大的子節(jié)點(diǎn),讓新成員加入; 如果葉節(jié)點(diǎn)列表中沒(méi)有可加入的節(jié)點(diǎn),則通知新成員按照廣度優(yōu)先方式查找適當(dāng)?shù)?節(jié)點(diǎn)當(dāng)作其父節(jié)點(diǎn),而在節(jié)點(diǎn)加入多播平衡樹(shù)中,查找節(jié)點(diǎn)的方式是通過(guò)Chord環(huán)中指針 列表來(lái)進(jìn)行搜尋適當(dāng)?shù)墓?jié)點(diǎn)位置。
7. 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述成員離開(kāi)進(jìn)一步包括: 當(dāng)成員離開(kāi)多播平衡樹(shù)時(shí),成員通知子節(jié)點(diǎn)自己將要離開(kāi),對(duì)自己的祖父送出加入的 請(qǐng)求,接收回傳的確認(rèn)消息,等待子節(jié)點(diǎn)應(yīng)答完成與新節(jié)點(diǎn)進(jìn)行連接后進(jìn)行離開(kāi),結(jié)束視 頻播放動(dòng)作。
8. 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述多播平衡樹(shù)調(diào)整進(jìn)一步包括: 比較兩個(gè)不同層的成員的平均帶寬時(shí)間乘積大小,將兩個(gè)成員中平均帶寬時(shí)間乘積 較大的成員調(diào)整到多播平衡樹(shù)的上層位置,在多播平衡樹(shù)調(diào)整的動(dòng)作中,設(shè)定服務(wù)器也就 是多播平衡樹(shù)根節(jié)點(diǎn)的平均帶寬時(shí)間乘積為無(wú)限大,當(dāng)新成員加入多播平衡樹(shù)時(shí),新成員 的平均帶寬時(shí)間乘積設(shè)置為0,并位于樹(shù)的底層位置,一旦其乘積值超越了自己現(xiàn)在父節(jié) 點(diǎn)的平均帶寬時(shí)間乘積,則進(jìn)行位置交換,發(fā)動(dòng)多播平衡樹(shù)調(diào)整的節(jié)點(diǎn)選擇將其子節(jié)點(diǎn)中 平均帶寬時(shí)間乘積最小的成員作為自身父節(jié)點(diǎn)的子節(jié)點(diǎn)。
【文檔編號(hào)】H04N21/6405GK104105008SQ201410381584
【公開(kāi)日】2014年10月15日 申請(qǐng)日期:2014年8月5日 優(yōu)先權(quán)日:2014年8月5日
【發(fā)明者】高冬 申請(qǐng)人:成都瑞博慧窗信息技術(shù)有限公司