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

一種基于HLS的P2P點(diǎn)播方法及系統(tǒng)與流程

文檔序號(hào):12493178閱讀:1078來源:國(guó)知局

本發(fā)明涉及互聯(lián)網(wǎng)多媒體領(lǐng)域,具體涉及一種基于HLS的P2P點(diǎn)播方法和一種基于HLS的P2P點(diǎn)播系統(tǒng)。



背景技術(shù):

隨著HLS(HTTP LVIE STREAM,Apple公司的動(dòng)態(tài)碼率自適應(yīng)技術(shù))的流行,越來越多的流媒體系統(tǒng)開始使用這種技術(shù),同時(shí)P2P(Peer-to-peer networking,對(duì)等網(wǎng)絡(luò))作為一種普及的組網(wǎng)技術(shù),為了提高用戶對(duì)于流媒體使用的體驗(yàn),P2P系統(tǒng)也開始支持HLS格式的流媒體,但P2P系統(tǒng)一般都是以用戶的終端設(shè)備,例如智能機(jī)頂盒、智能網(wǎng)關(guān)等作為P2P對(duì)等網(wǎng)絡(luò)中一個(gè)節(jié)點(diǎn)的存儲(chǔ)設(shè)備,該類存儲(chǔ)設(shè)備普遍存在存儲(chǔ)容量小,性能不足等問題,不符合現(xiàn)如今大數(shù)據(jù)便捷交互的需求。



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

針對(duì)現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的在于提供一種基于HLS的P2P點(diǎn)播方法和一種基于HLS的P2P點(diǎn)播系統(tǒng),有效加快用戶觀看流媒體資源的速度。

為達(dá)到以上目的,本發(fā)明采取的技術(shù)方案是:包括:

步驟S1:攔截用戶首次點(diǎn)播流媒體資源時(shí)向源站發(fā)出的HLS請(qǐng)求,調(diào)度服務(wù)器將流媒體資源的URL返回給用戶,同時(shí)調(diào)度服務(wù)器基于HLS請(qǐng)求訪問源站,將流媒體資源的完整HLS內(nèi)容緩存至緩存服務(wù)器;

步驟S2:調(diào)度服務(wù)器選取多個(gè)存儲(chǔ)節(jié)點(diǎn),將緩存服務(wù)器中流媒體資源的完整HLS內(nèi)容的TS分片分發(fā)至多個(gè)所述存儲(chǔ)節(jié)點(diǎn)存儲(chǔ),并生成分發(fā)結(jié)果,所述分發(fā)結(jié)果為流媒體資源對(duì)應(yīng)的完整HLS內(nèi)容的各個(gè)TS分片與存儲(chǔ)節(jié)點(diǎn)間的存儲(chǔ)關(guān)系;

步驟S3:當(dāng)用戶向源站再次點(diǎn)播同一流媒體資源時(shí),調(diào)度服務(wù)器基于分發(fā)結(jié)果,將該流媒體資源位于各個(gè)存儲(chǔ)節(jié)點(diǎn)上的TS分片返回給用戶。

在上述技術(shù)方案的基礎(chǔ)上,所述用戶通過流媒體客戶端向源站發(fā)出HLS請(qǐng)求,且所述流媒體客戶端中安裝有攔截程序。

在上述技術(shù)方案的基礎(chǔ)上,所述流媒體客戶端為智能機(jī)頂盒或智能網(wǎng)關(guān)。

在上述技術(shù)方案的基礎(chǔ)上,步驟S1具體為:

S1.1:用戶首次點(diǎn)播某一流媒體資源并向源站發(fā)出HLS請(qǐng)求;

S1.2:攔截程序攔截HLS請(qǐng)求,并將該HLS請(qǐng)求發(fā)送至調(diào)度服務(wù)器;

S1.3:調(diào)度服務(wù)器將流媒體資源的URL返回給流媒體客戶端,同時(shí),調(diào)度服務(wù)器基于HLS請(qǐng)求訪問源站,將流媒體資源對(duì)應(yīng)的完整HLS內(nèi)容緩存至緩存服務(wù)器。

在上述技術(shù)方案的基礎(chǔ)上,HLS內(nèi)容的TS分片為多個(gè),且每個(gè)存儲(chǔ)節(jié)點(diǎn)中存儲(chǔ)一個(gè)或多個(gè)TS分片。

本發(fā)明還公開了一種基于HLS的P2P點(diǎn)播系統(tǒng),包括:

流媒體客戶端,其用于用戶點(diǎn)播流媒體資源并向源站發(fā)出HLS請(qǐng)求,所述流媒體客戶端還用于播放流媒體資源;

P2P插件,其用于攔截用戶向源站發(fā)出的HLS請(qǐng)求;

緩存服務(wù)器和存儲(chǔ)節(jié)點(diǎn);

調(diào)度服務(wù)器,其用于根據(jù)HLS請(qǐng)求訪問源站并將流媒體資源的URL返回給所述流媒體客戶端,所述調(diào)度服務(wù)器還用于將流媒體資源對(duì)應(yīng)的完整HLS內(nèi)容緩存至緩存服務(wù)器,并將HLS內(nèi)容的TS分片分發(fā)至存儲(chǔ)節(jié)點(diǎn)存儲(chǔ),生成分發(fā)結(jié)果,以及將各個(gè)存儲(chǔ)節(jié)點(diǎn)上的TS分片返回給用戶,所述分發(fā)結(jié)果為流媒體資源對(duì)應(yīng)的完整HLS內(nèi)容的各個(gè)TS分片與存儲(chǔ)節(jié)點(diǎn)間的存儲(chǔ)關(guān)系。

在上述技術(shù)方案的基礎(chǔ)上,所述流媒體客戶端為智能機(jī)頂盒或智能網(wǎng)關(guān)。

在上述技術(shù)方案的基礎(chǔ)上,所述流媒體資源對(duì)應(yīng)的HLS內(nèi)容的TS分片為多個(gè),且每個(gè)存儲(chǔ)節(jié)點(diǎn)中存儲(chǔ)一個(gè)或多個(gè)TS分片。

與現(xiàn)有技術(shù)相比,本發(fā)明一種基于HLS的P2P點(diǎn)播方法優(yōu)點(diǎn)在于:

(1)通過在智能機(jī)頂盒或智能網(wǎng)關(guān)中安裝P2P插件,即攔截程序,實(shí)現(xiàn)HLS請(qǐng)求的劫持,可避免用戶的流媒體客戶端對(duì)URL改動(dòng),在用戶無感知的情況下實(shí)現(xiàn)P2P的調(diào)度。

(2)當(dāng)用戶第一次點(diǎn)播某一流媒體資源時(shí),調(diào)度服務(wù)器會(huì)將流媒體資源的URL返回給用戶,供用戶對(duì)流媒體資源的觀看,同時(shí)對(duì)源站流媒體資源對(duì)應(yīng)的HLS內(nèi)容進(jìn)行緩存和TS分片的分發(fā),不影響用戶對(duì)流媒體資源的觀看。

(3)HLS分片儲(chǔ)存在不同的存儲(chǔ)節(jié)點(diǎn)上,有效實(shí)現(xiàn)存儲(chǔ)節(jié)點(diǎn)的負(fù)載均衡,充分利用各個(gè)存儲(chǔ)節(jié)點(diǎn)的存儲(chǔ)能力,當(dāng)該用戶或其他用戶再次點(diǎn)播該流媒體資源時(shí),則將各個(gè)存儲(chǔ)節(jié)點(diǎn)上的TS分片返回給用戶,極大地加快用戶觀看流媒體資源的速度。

本發(fā)明的一種基于HLS的P2P點(diǎn)播系統(tǒng)的優(yōu)點(diǎn)在于:在不影響用戶使用的情況下對(duì)流媒體資源的HLS內(nèi)容進(jìn)行緩存和分發(fā)存儲(chǔ),從而當(dāng)用戶再次點(diǎn)播該同一流媒體資源時(shí),流媒體資源對(duì)應(yīng)的HLS內(nèi)容的TS分片直接從多個(gè)緩存服務(wù)器中返回給用戶,提高用戶觀看流媒體資源的速度。

附圖說明

圖1為本發(fā)明一種基于HLS的P2P點(diǎn)播方法的流程圖。

具體實(shí)施方式

以下結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。

參見圖1所示,本發(fā)明提供一種基于HLS的P2P點(diǎn)播方法,包括:

步驟S1:攔截用戶首次點(diǎn)播某一流媒體資源時(shí)向源站發(fā)出的HLS請(qǐng)求,調(diào)度服務(wù)器將流媒體資源的URL返回給用戶,同時(shí)調(diào)度服務(wù)器基于HLS請(qǐng)求訪問源站,將流媒體資源對(duì)應(yīng)的完整HLS內(nèi)容緩存至緩存服務(wù)器。用戶通過流媒體客戶端向源站發(fā)出HLS請(qǐng)求,且流媒體客戶端中安裝有攔截程序,流媒體客戶端為智能機(jī)頂盒或智能網(wǎng)關(guān),即智能機(jī)頂盒或智能網(wǎng)關(guān)中安裝有攔截程序。具體的:

S1.1:用戶通過流媒體客戶端首次點(diǎn)播某一流媒體資源,然后流媒體客戶端向源站發(fā)出HLS請(qǐng)求。本實(shí)施例中,用戶點(diǎn)播的流媒體資源的URL(Uniform Resource Locator,統(tǒng)一資源定位符)為http://srcip:srcport/01.m3u8。

S1.2:流媒體客戶端中攔截程序攔截HLS請(qǐng)求,并將該HLS請(qǐng)求發(fā)送至調(diào)度服務(wù)器。該步驟具體的為:攔截程序攔截HLS請(qǐng)求,對(duì)于http://srcip:srcport/01.m3u8,攔截程序?qū)⒋薝RL劫持,并對(duì)流媒體客戶端使用HTTP302進(jìn)行回復(fù),回復(fù)的指令為:Location:http://trackerIP:trackerPort?fvpxx=http://srcip:srcport/01.m3u8,流媒體客戶端使用此指令再次發(fā)起請(qǐng)求,攔截程序根據(jù)指令中的trackerIP和trackerPort,將此指令重定向給給調(diào)度服務(wù)器,trackerIP和trackerPort為指令中的定位符。HTTP302為一種常見的狀態(tài)碼。

S1.3:調(diào)度服務(wù)器將流媒體資源的URL用HTTP302返回給流媒體客戶端,使流媒體客戶端對(duì)流媒體資源進(jìn)行播放,同時(shí),調(diào)度服務(wù)器基于HLS請(qǐng)求訪問源站,將流媒體資源對(duì)應(yīng)的完整HLS內(nèi)容緩存至緩存服務(wù)器。

步驟S2:調(diào)度服務(wù)器選取多個(gè)存儲(chǔ)節(jié)點(diǎn),將緩存服務(wù)器中流媒體資源的完整HLS內(nèi)容的TS分片分發(fā)至存儲(chǔ)節(jié)點(diǎn)存儲(chǔ),并生成分發(fā)結(jié)果,TS分片為組成HLS內(nèi)容的單元部分,HLS內(nèi)容的TS分片為多個(gè),且每個(gè)存儲(chǔ)節(jié)點(diǎn)中存儲(chǔ)一個(gè)或多個(gè)TS分片,分發(fā)結(jié)果為流媒體資源對(duì)應(yīng)的完整HLS內(nèi)容的各個(gè)TS分片與存儲(chǔ)節(jié)點(diǎn)間的存儲(chǔ)關(guān)系。

每個(gè)存儲(chǔ)節(jié)點(diǎn)上都以文件形式存儲(chǔ)了流媒體資源的TS分片,一個(gè)存儲(chǔ)節(jié)點(diǎn)可以存儲(chǔ)同一個(gè)流媒體資源的HLS內(nèi)容的一個(gè)或多個(gè)TS分片,例如,存儲(chǔ)節(jié)點(diǎn)1上存儲(chǔ)了HLS內(nèi)容的TS分片1和TS分片2,存儲(chǔ)節(jié)點(diǎn)2上存儲(chǔ)了HLS內(nèi)容的TS分片3,根據(jù)HLS內(nèi)容的TS分片分布于各個(gè)存儲(chǔ)節(jié)點(diǎn)的情況,生成分發(fā)結(jié)果。存儲(chǔ)節(jié)點(diǎn)的選擇會(huì)基于存儲(chǔ)節(jié)點(diǎn)當(dāng)前的剩余存儲(chǔ)容量,優(yōu)先選擇剩余存儲(chǔ)容量較大的存儲(chǔ)節(jié)點(diǎn)。

步驟S3:當(dāng)用戶向源站再次點(diǎn)播同一流媒體資源,調(diào)度服務(wù)器基于分發(fā)結(jié)果,將該流媒體資源位于各個(gè)存儲(chǔ)節(jié)點(diǎn)上的TS分片返回給用戶,即將流媒體資源的HLS內(nèi)容的TS分片全返回給用戶的流媒體客戶端,以供用戶播放,即客戶端通過P2P協(xié)議實(shí)現(xiàn)了P2P出流。

通過在智能機(jī)頂盒或智能網(wǎng)關(guān)中安裝P2P插件,即攔截程序,實(shí)現(xiàn)HLS請(qǐng)求的劫持,可避免用戶的流媒體客戶端對(duì)URL改動(dòng),在用戶無感知的情況下實(shí)現(xiàn)P2P的調(diào)度。當(dāng)用戶第一次點(diǎn)播某一流媒體資源時(shí),調(diào)度服務(wù)器會(huì)將流媒體資源的URL返回給用戶,供用戶對(duì)流媒體資源的觀看,同時(shí)對(duì)源站流媒體資源對(duì)應(yīng)的HLS內(nèi)容進(jìn)行緩存和TS分片的分發(fā),不影響用戶對(duì)流媒體資源的觀看。HLS分片儲(chǔ)存在不同的存儲(chǔ)節(jié)點(diǎn)上,有效實(shí)現(xiàn)存儲(chǔ)節(jié)點(diǎn)的負(fù)載均衡,充分利用各個(gè)存儲(chǔ)節(jié)點(diǎn)的存儲(chǔ)能力,當(dāng)該用戶或其他用戶再次點(diǎn)播該流媒體資源時(shí),則將各個(gè)存儲(chǔ)節(jié)點(diǎn)上的TS分片返回給用戶,極大地加快用戶觀看流媒體資源的速度。

本發(fā)明還公開一種基于上述方法的基于HLS的P2P點(diǎn)播系統(tǒng),包括流媒體客戶端、P2P插件、緩存服務(wù)器、存儲(chǔ)節(jié)點(diǎn)和調(diào)度服務(wù)器,流媒體客戶端用于用戶點(diǎn)播流媒體資源并向源站發(fā)出HLS請(qǐng)求,流媒體客戶端還用于播放流媒體資源,流媒體客戶端一般為智能機(jī)頂盒或智能網(wǎng)關(guān);P2P插件中安裝有攔截程序,P2P插件用于攔截用戶向源站發(fā)出的HLS請(qǐng)求;調(diào)度服務(wù)器用于根據(jù)HLS請(qǐng)求訪問源站并將流媒體資源的URL返回給流媒體客戶端,調(diào)度服務(wù)器還用于將流媒體資源對(duì)應(yīng)的完整HLS內(nèi)容緩存至緩存服務(wù)器,并將HLS內(nèi)容的TS分片分發(fā)至存儲(chǔ)節(jié)點(diǎn)存儲(chǔ),生成分發(fā)結(jié)果,以及將各個(gè)存儲(chǔ)節(jié)點(diǎn)上的TS分片返回給用戶,即當(dāng)用戶再次點(diǎn)播已經(jīng)緩存過HLS內(nèi)容的流媒體資源時(shí),調(diào)度服務(wù)器基于分發(fā)結(jié)果,將流媒體資源在各個(gè)存儲(chǔ)節(jié)點(diǎn)上的TS分片返回給用戶,供用戶播放觀看。

流媒體資源對(duì)應(yīng)的HLS內(nèi)容的TS分片為多個(gè),且每個(gè)存儲(chǔ)節(jié)點(diǎn)中存儲(chǔ)一個(gè)或多個(gè)TS分片,分發(fā)結(jié)果為流媒體資源對(duì)應(yīng)的HLS內(nèi)容的各個(gè)TS分片與存儲(chǔ)節(jié)點(diǎn)間的存儲(chǔ)關(guān)系。

該系統(tǒng)在不影響用戶使用的情況下對(duì)流媒體資源的HLS內(nèi)容進(jìn)行緩存和分發(fā)存儲(chǔ),從而當(dāng)用戶再次點(diǎn)播該同一流媒體資源時(shí),流媒體資源對(duì)應(yīng)的HLS內(nèi)容的TS分片直接從多個(gè)緩存服務(wù)器中返回給用戶,提高用戶觀看流媒體資源的速度。

本發(fā)明不局限于上述實(shí)施方式,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也視為本發(fā)明的保護(hù)范圍之內(nèi)。本說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。

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