基于p2p流媒體系統(tǒng)的數(shù)據(jù)調(diào)度優(yōu)化方法及播放系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及流媒體播放技術(shù),特別涉及一種基于P2P流媒體系統(tǒng)的數(shù)據(jù)調(diào)度優(yōu)化方法及播放系統(tǒng)。
【背景技術(shù)】
[0002]P2P流媒體直播是最新發(fā)展起來的一種網(wǎng)絡(luò)流媒體廣播方式,它利用P2P的原理來建立播放網(wǎng)絡(luò),從而達(dá)到節(jié)省服務(wù)端帶寬消耗、減輕服務(wù)端處理壓力的目的。采用該技術(shù)可以使得單一服務(wù)器就能輕松負(fù)荷起成千上萬的用戶同時(shí)在線觀看節(jié)目。而不管在線用戶是多少,服務(wù)端的帶寬消耗都是基本一樣的,那就是提供作為P2P傳播的種子所需要的幾個(gè)流的帶寬。
[0003]P2P直播的特點(diǎn)有:1、P2P直播在容量上按理論沒有限制。在線用戶越多網(wǎng)絡(luò)越順暢;2、P2P直播不同于V0D點(diǎn)播,用戶不可以選擇播放的內(nèi)容,只能按時(shí)間點(diǎn)來觀看節(jié)目。因此P2P直播形式上更像是網(wǎng)絡(luò)上的電視,用戶只能在頻道之間進(jìn)行選擇;3、P2P直播有時(shí)延。由于需要建立緩沖來進(jìn)行P2P交換,會(huì)帶來大約半分鐘左右的延時(shí)。在節(jié)目開始播放之前也需要幾十秒的下載緩沖時(shí)間。4、P2P直播需要客戶端插件支持。雖然流媒體本身的內(nèi)容可以用windows media player或者real player之類的通用播放器來播放,但是客戶端還需要安裝有插件來接收和交換流媒體的內(nèi)容。
[0004]現(xiàn)有的P2P流媒體傳輸系統(tǒng)在播放時(shí),需要將數(shù)據(jù)塊順序下載,然后將數(shù)據(jù)塊緩沖,如果有部分?jǐn)?shù)據(jù)塊沒下載完成,這樣在播放到該未下載的數(shù)據(jù)塊時(shí),會(huì)出現(xiàn)卡頓現(xiàn)象,影響用戶觀看。
[0005]因而現(xiàn)有技術(shù)還有待改進(jìn)和提高。
【發(fā)明內(nèi)容】
[0006]鑒于上述現(xiàn)有技術(shù)的不足之處,本發(fā)明的目的在于提供一種基于P2P流媒體系統(tǒng)的數(shù)據(jù)調(diào)度優(yōu)化方法及播放系統(tǒng),可以避免數(shù)據(jù)塊順序下載影響系統(tǒng)的邊下邊播性能。
[0007]為了達(dá)到上述目的,本發(fā)明采取了以下技術(shù)方案:
一種基于P2P流媒體系統(tǒng)的數(shù)據(jù)調(diào)度優(yōu)化方法,其包括如下步驟:
設(shè)置一包含若干未播放數(shù)據(jù)塊的滑動(dòng)窗口 ;其中,每個(gè)數(shù)據(jù)塊為一個(gè)節(jié)點(diǎn);
若未播放數(shù)據(jù)塊在播放截止時(shí)間還未獲取,則跳過所述未播放數(shù)據(jù)塊,請(qǐng)求下一未播放數(shù)據(jù)塊。
[0008]所述的基于P2P流媒體系統(tǒng)的數(shù)據(jù)調(diào)度優(yōu)化方法,還包括:對(duì)于不在滑動(dòng)窗口中的P2P流媒體的未下載數(shù)據(jù)塊,向與其相鄰的節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)。
[0009]所述的基于P2P流媒體系統(tǒng)的數(shù)據(jù)調(diào)度優(yōu)化方法中,每一數(shù)據(jù)塊均設(shè)置有一對(duì)應(yīng)的哈希值。
[0010]所述的基于P2P流媒體系統(tǒng)的數(shù)據(jù)調(diào)度優(yōu)化方法中,所述滑動(dòng)窗口包括一交換窗口,所述交換窗口位于播放點(diǎn)之后。
[0011]所述的基于P2P流媒體系統(tǒng)的數(shù)據(jù)調(diào)度優(yōu)化方法中,每一節(jié)點(diǎn)在所述滑動(dòng)窗口中顯示其持有的未播放數(shù)據(jù)塊,并周期性地向其鄰居節(jié)點(diǎn)發(fā)送數(shù)據(jù)請(qǐng)求,獲取交換窗口中缺失的未播放數(shù)據(jù)塊。
[0012]—種基于P2P流媒體系統(tǒng)的播放系統(tǒng),其包括如下步驟:
設(shè)置模塊,用于設(shè)置一包含若干未播放數(shù)據(jù)塊的滑動(dòng)窗口;其中,每個(gè)數(shù)據(jù)塊為一個(gè)節(jié)占.V,
播放控制模塊,用于當(dāng)未播放數(shù)據(jù)塊在播放截止時(shí)間還未獲取時(shí),則跳過所述未播放數(shù)據(jù)塊,請(qǐng)求下一未播放數(shù)據(jù)塊。
[0013]所述的播放系統(tǒng)中,所述播放控制模塊,還用于對(duì)于不在滑動(dòng)窗口中的P2P流媒體的未下載數(shù)據(jù)塊,向與其相鄰的節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)。
[0014]所述的播放系統(tǒng)中,每一數(shù)據(jù)塊均設(shè)置有一對(duì)應(yīng)的哈希值。
[0015]所述的播放系統(tǒng)中,所述滑動(dòng)窗口包括一交換窗口,所述交換窗口位于播放點(diǎn)之后。
[0016]所述的播放系統(tǒng)中,每一節(jié)點(diǎn)在所述滑動(dòng)窗口中顯示其持有的未播放數(shù)據(jù)塊,并周期性地向其鄰居節(jié)點(diǎn)發(fā)送數(shù)據(jù)請(qǐng)求,獲取交換窗口中缺失的未播放數(shù)據(jù)塊。
[0017]相較于現(xiàn)有技術(shù),本發(fā)明提供的基于P2P流媒體系統(tǒng)的數(shù)據(jù)調(diào)度優(yōu)化方法及播放系統(tǒng),其方法包括:設(shè)置一包含若干未播放數(shù)據(jù)塊的滑動(dòng)窗口 ;其中,每個(gè)數(shù)據(jù)塊為一個(gè)節(jié)點(diǎn);若未播放數(shù)據(jù)塊在播放截止時(shí)間還未獲取,則跳過所述未播放數(shù)據(jù)塊,請(qǐng)求下一未播放數(shù)據(jù)塊。本發(fā)明通過在請(qǐng)求數(shù)據(jù)塊時(shí),如果該數(shù)據(jù)塊沒有下載直接跳過該數(shù)據(jù)塊,播放其它已下載的數(shù)據(jù)塊,使播放更流暢,不會(huì)出現(xiàn)卡頓現(xiàn)象,不會(huì)影響用戶觀看視頻。
【附圖說明】
[0018]圖1為本發(fā)明提供的基于P2P流媒體系統(tǒng)的數(shù)據(jù)調(diào)度優(yōu)化方法的流程圖。
[0019]圖2為本發(fā)明提供的基于P2P流媒體系統(tǒng)的數(shù)據(jù)調(diào)度優(yōu)化方法中滑動(dòng)窗口機(jī)制示意圖。
[0020]圖3為本發(fā)明提供的基于P2P流媒體的播放系統(tǒng)的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0021]本發(fā)明提供基于P2P流媒體系統(tǒng)的數(shù)據(jù)調(diào)度優(yōu)化方法及播放系統(tǒng),為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下參照附圖并舉實(shí)施例對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0022]請(qǐng)參閱圖1,本發(fā)明提供的基于P2P流媒體系統(tǒng)的數(shù)據(jù)調(diào)度優(yōu)化方法包括如下步驟:
S10、設(shè)置一包含若干未播放數(shù)據(jù)塊的滑動(dòng)窗口 ;其中,每個(gè)數(shù)據(jù)塊為一個(gè)節(jié)點(diǎn);
S20、若未播放數(shù)據(jù)塊在播放截止時(shí)間還未獲取,則跳過所述未播放數(shù)據(jù)塊,請(qǐng)求下一未播放數(shù)據(jù)塊。
[0023]本發(fā)明通過在請(qǐng)求數(shù)據(jù)塊時(shí),如果該數(shù)據(jù)塊沒有下載直接跳過該數(shù)據(jù)塊,播放其它已下載的數(shù)據(jù)塊,使播放更流暢,不會(huì)出現(xiàn)卡頓現(xiàn)象,不會(huì)影響用戶觀看視頻。
[0024]在滑動(dòng)窗口中,每一數(shù)據(jù)塊均設(shè)置有一對(duì)應(yīng)的哈希值,即每個(gè)數(shù)據(jù)塊都有唯一的編號(hào),避免播放時(shí)出錯(cuò)。
[0025]進(jìn)一步地,所述數(shù)據(jù)調(diào)度優(yōu)化方法還包括:對(duì)于不在滑動(dòng)窗口中的P2P流媒體的未下載數(shù)據(jù)塊,向與其相鄰的節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)。從而使數(shù)據(jù)按順序下載,使播放更加連慣,在播放時(shí),當(dāng)前播放數(shù)據(jù)塊沒有下載好,而后面的數(shù)據(jù)塊已經(jīng)下載好,就直接跳過當(dāng)前塊。
[0026]請(qǐng)一并參閱圖2,所述滑動(dòng)窗口包括一交換窗口(如圖2中的A所示),所述交換窗口位于播放點(diǎn)之后,當(dāng)播放完一個(gè)數(shù)據(jù)塊后,播放頭11向右移動(dòng)一個(gè)數(shù)據(jù)塊開播下一個(gè)數(shù)據(jù)塊,在圖2中的A和B中,播放頭11的位置向右移動(dòng)了一個(gè)數(shù)據(jù)塊。
[0027]在圖2中,每一小格都代表一個(gè)數(shù)據(jù)塊或數(shù)據(jù)分片或節(jié)點(diǎn),每一節(jié)點(diǎn)在所述滑動(dòng)窗口中顯示其持有的未播放數(shù)據(jù)塊,并周期性地向其鄰居節(jié)點(diǎn)發(fā)送數(shù)據(jù)請(qǐng)求,獲取交換窗口中缺失的未播放數(shù)據(jù)塊。
[0028]本發(fā)明還相應(yīng)提供一種基于P2P流媒體系統(tǒng)的播放系統(tǒng),如圖3所示,其包括:設(shè)置模塊111和播放控制模塊112。所述設(shè)置模塊111,用于設(shè)置一包含若干未播放數(shù)據(jù)塊的滑動(dòng)窗口 ;其中,每個(gè)數(shù)據(jù)塊為一個(gè)節(jié)點(diǎn)。播放控制模塊112,用于當(dāng)未播放數(shù)據(jù)塊在播放截止時(shí)間還未獲取時(shí),則跳過所述未播放數(shù)據(jù)塊,請(qǐng)求下一未播放數(shù)據(jù)塊。
[0029]進(jìn)一步地,所述播放控制模塊112,還用于對(duì)于不在滑動(dòng)窗口中的P2P流媒體的未下載數(shù)據(jù)塊,向與其相鄰的節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)。
[0030]所述滑動(dòng)窗口包括一交換窗口,所述交換窗口位于播放點(diǎn)之后,交換窗口是播放時(shí)刻之后的一段數(shù)據(jù)。在交換窗口中,每一數(shù)據(jù)塊均設(shè)置有一對(duì)應(yīng)的哈希值,即每一個(gè)數(shù)據(jù)塊都會(huì)有自己的一個(gè)編號(hào)。
[0031]具體地,每一節(jié)點(diǎn)在所述滑動(dòng)窗口中顯示其持有的未播放數(shù)據(jù)塊,并周期性地向其鄰居節(jié)點(diǎn)發(fā)送數(shù)據(jù)請(qǐng)求,獲取交換窗口中缺失的未播放數(shù)據(jù)塊。
[0032]綜上所述,本發(fā)明通過在請(qǐng)求數(shù)據(jù)塊時(shí),如果該數(shù)據(jù)塊沒有下載直接跳過該數(shù)據(jù)塊,播放其它已下載的數(shù)據(jù)塊,使播放更流暢,不會(huì)出現(xiàn)卡頓現(xiàn)象,在原有P2P流媒體播放系統(tǒng)中提高了數(shù)據(jù)傳輸效率,提高邊下邊播的性能,不會(huì)影響用戶觀看視頻。
[0033]可以理解的是,對(duì)本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)本發(fā)明的技術(shù)方案及其發(fā)明構(gòu)思加以等同替換或改變,而所有這些改變或替換都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
【主權(quán)項(xiàng)】
1.一種基于P2P流媒體系統(tǒng)的數(shù)據(jù)調(diào)度優(yōu)化方法,其特征在于,包括如下步驟: 設(shè)置一包含若干未播放數(shù)據(jù)塊的滑動(dòng)窗口 ;其中,每個(gè)數(shù)據(jù)塊為一個(gè)節(jié)點(diǎn); 若未播放數(shù)據(jù)塊在播放截止時(shí)間還未獲取,則跳過所述未播放數(shù)據(jù)塊,請(qǐng)求下一未播放數(shù)據(jù)塊。2.根據(jù)權(quán)利要求1所述的基于P2P流媒體系統(tǒng)的數(shù)據(jù)調(diào)度優(yōu)化方法,其特征在于,還包括:對(duì)于不在滑動(dòng)窗口中的P2P流媒體的未下載數(shù)據(jù)塊,向與其相鄰的節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)。3.根據(jù)權(quán)利要求1所述的基于P2P流媒體系統(tǒng)的數(shù)據(jù)調(diào)度優(yōu)化方法,其特征在于,每一數(shù)據(jù)塊均設(shè)置有一對(duì)應(yīng)的哈希值。4.根據(jù)權(quán)利要求1所述的基于P2P流媒體系統(tǒng)的數(shù)據(jù)調(diào)度優(yōu)化方法,其特征在于,所述滑動(dòng)窗口包括一交換窗口,所述交換窗口位于播放點(diǎn)之后。5.根據(jù)權(quán)利要求4所述的基于P2P流媒體系統(tǒng)的數(shù)據(jù)調(diào)度優(yōu)化方法,其特征在于,每一節(jié)點(diǎn)在所述滑動(dòng)窗口中顯示其持有的未播放數(shù)據(jù)塊,并周期性地向其鄰居節(jié)點(diǎn)發(fā)送數(shù)據(jù)請(qǐng)求,獲取交換窗口中缺失的未播放數(shù)據(jù)塊。6.一種基于P2P流媒體系統(tǒng)的播放系統(tǒng),其特征在于,包括如下步驟: 設(shè)置模塊,用于設(shè)置一包含若干未播放數(shù)據(jù)塊的滑動(dòng)窗口;其中,每個(gè)數(shù)據(jù)塊為一個(gè)節(jié)占.V, 播放控制模塊,用于當(dāng)未播放數(shù)據(jù)塊在播放截止時(shí)間還未獲取時(shí),則跳過所述未播放數(shù)據(jù)塊,請(qǐng)求下一未播放數(shù)據(jù)塊。7.根據(jù)權(quán)利要求6所述的播放系統(tǒng),其特征在于,所述播放控制模塊,還用于對(duì)于不在滑動(dòng)窗口中的P2P流媒體的未下載數(shù)據(jù)塊,向與其相鄰的節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)。8.根據(jù)權(quán)利要求6所述的播放系統(tǒng),其特征在于,每一數(shù)據(jù)塊均設(shè)置有一對(duì)應(yīng)的哈希值。9.根據(jù)權(quán)利要求6所述的播放系統(tǒng),其特征在于,所述滑動(dòng)窗口包括一交換窗口,所述交換窗口位于播放點(diǎn)之后。10.根據(jù)權(quán)利要求9所述的播放系統(tǒng),其特征在于,每一節(jié)點(diǎn)在所述滑動(dòng)窗口中顯示其持有的未播放數(shù)據(jù)塊,并周期性地向其鄰居節(jié)點(diǎn)發(fā)送數(shù)據(jù)請(qǐng)求,獲取交換窗口中缺失的未播放數(shù)據(jù)塊。
【專利摘要】本發(fā)明公開了基于P2P流媒體系統(tǒng)的數(shù)據(jù)調(diào)度優(yōu)化方法及播放系統(tǒng)。其中,數(shù)據(jù)調(diào)度優(yōu)化方法包括:設(shè)置一包含若干未播放數(shù)據(jù)塊的滑動(dòng)窗口;其中,每個(gè)數(shù)據(jù)塊為一個(gè)節(jié)點(diǎn);若未播放數(shù)據(jù)塊在播放截止時(shí)間還未獲取,則跳過所述未播放數(shù)據(jù)塊,請(qǐng)求下一未播放數(shù)據(jù)塊。本發(fā)明通過在請(qǐng)求數(shù)據(jù)塊時(shí),如果該數(shù)據(jù)塊沒有下載直接跳過該數(shù)據(jù)塊,播放其它已下載的數(shù)據(jù)塊,使播放更流暢,不會(huì)出現(xiàn)卡頓現(xiàn)象,不會(huì)影響用戶觀看視頻。
【IPC分類】H04L29/06
【公開號(hào)】CN105323260
【申請(qǐng)?zhí)枴緾N201510910601
【發(fā)明人】甘雯輝, 楊衛(wèi)國(guó), 何震宇
【申請(qǐng)人】康佳集團(tuán)股份有限公司
【公開日】2016年2月10日
【申請(qǐng)日】2015年12月10日