一種拉流控制的方法、裝置及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種拉流控制的方法、裝置及系統(tǒng),涉及電通信技術(shù)領(lǐng)域,為解決觀看方無(wú)法觀看推送到第三方服務(wù)器的直播視頻的問(wèn)題而發(fā)明。本發(fā)明的方法包括:接收內(nèi)容分發(fā)網(wǎng)絡(luò)CDN服務(wù)器轉(zhuǎn)發(fā)的用戶請(qǐng)求,用戶請(qǐng)求用于請(qǐng)求觀看直播視頻;檢測(cè)直播視頻在源服務(wù)器側(cè)的流狀態(tài)是否為正在直播,流狀態(tài)為用戶請(qǐng)求的直播視頻的流狀態(tài);若源服務(wù)器側(cè)的流狀態(tài)不為正在直播,則指示源服務(wù)器向第三方服務(wù)器拉取直播視頻的視頻流;接收源服務(wù)器返回的流狀態(tài),源服務(wù)器返回的流狀態(tài)為正在直播;將視頻流的回源路徑發(fā)送給CDN服務(wù)器,以使得CDN服務(wù)器將回源路徑發(fā)送給客戶端。本發(fā)明主要應(yīng)用于流媒體文件的播放過(guò)程中。
【專利說(shuō)明】
一種拉流控制的方法、裝置及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明實(shí)施例涉及電通信技術(shù)領(lǐng)域,尤其涉及一種拉流控制的方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,越來(lái)越多的信息如影視、音樂(lè)等逐漸以網(wǎng)絡(luò)作為傳播的媒介。流媒體指以流方式在網(wǎng)絡(luò)中傳送音頻、視頻和多媒體文件的媒體形式。相對(duì)于下載后觀看的網(wǎng)絡(luò)播放形式而言,流媒體的典型特征是把連續(xù)的音頻和視頻信息壓縮后放到網(wǎng)絡(luò)服務(wù)器上,用戶邊下載邊觀看,而不必等待整個(gè)文件下載完畢。由于流媒體服務(wù)器流媒體技術(shù)的優(yōu)越性,該技術(shù)廣泛應(yīng)用于視頻點(diǎn)播、視頻會(huì)議、遠(yuǎn)程教育、遠(yuǎn)程醫(yī)療和在線直播系統(tǒng)中。
[0003]直播視頻文件的提供方,通過(guò)推流技術(shù)將流媒體文件推送到源服務(wù)器。在觀看直播視頻文件時(shí),觀看方發(fā)出觀看請(qǐng)求,通過(guò)拉流技術(shù)將直播視頻文件流拉到觀看方的客戶端。
[0004]拉流技術(shù)是指從源服務(wù)器端,將直播視頻文件提供方推送的直播視頻文件流,拉取到觀看方的客戶端。在拉流過(guò)程中,可能會(huì)經(jīng)過(guò)多個(gè)服務(wù)器。在現(xiàn)有技術(shù)中,若觀看方請(qǐng)求觀看的直播視頻流不在源服務(wù)器中,即使在其他第三方服務(wù)器中,觀看方無(wú)法觀看該直播視頻。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種拉流控制的方法、裝置及系統(tǒng),能夠解決觀看方無(wú)法觀看推送到第三方服務(wù)器的直播視頻的問(wèn)題。
[0006]為了解決上述技術(shù)問(wèn)題,一方面,本發(fā)明提供一種拉流控制的方法,該方法包括:
[0007]接收內(nèi)容分發(fā)網(wǎng)絡(luò)CDN服務(wù)器轉(zhuǎn)發(fā)的用戶請(qǐng)求,所述用戶請(qǐng)求用于請(qǐng)求觀看直播視頻;
[0008]檢測(cè)所述直播視頻在源服務(wù)器側(cè)的流狀態(tài)是否為正在直播,所述流狀態(tài)為所述用戶請(qǐng)求的直播視頻的流狀態(tài);
[0009]若源服務(wù)器側(cè)的流狀態(tài)不為正在直播,則指示所述源服務(wù)器向第三方服務(wù)器拉取所述直播視頻的視頻流;
[0010]接收所述源服務(wù)器返回的流狀態(tài),所述源服務(wù)器返回的流狀態(tài)為正在直播;
[0011 ]將所述視頻流的回源路徑發(fā)送給所述CDN服務(wù)器,以使得所述CDN服務(wù)器將所述回源路徑發(fā)送給客戶端。
[0012]另一方面,本發(fā)明提供了一種拉流控制的裝置,該裝置包括:
[0013]第一接收單元,用于接收內(nèi)容分發(fā)網(wǎng)絡(luò)CDN服務(wù)器轉(zhuǎn)發(fā)的用戶請(qǐng)求,所述用戶請(qǐng)求用于請(qǐng)求觀看直播視頻;
[0014]檢測(cè)單元,用于檢測(cè)所述第一接收單元接收到的用戶請(qǐng)求的直播視頻在源服務(wù)器側(cè)的流狀態(tài)是否為正在直播,所述流狀態(tài)為所述用戶請(qǐng)求的直播視頻的流狀態(tài);
[0015]指示單元,用于若所述檢測(cè)單元檢測(cè)到的源服務(wù)器側(cè)的流狀態(tài)不為正在直播,則指示所述源服務(wù)器向第三方服務(wù)器拉取所述直播視頻的視頻流;
[0016]第二接收單元,用于接收所述源服務(wù)器返回的流狀態(tài),所述源服務(wù)器返回的流狀態(tài)為正在直播;
[0017]發(fā)送單元,用于若所述所述第二接收單元接收的流狀態(tài)為正在直播,則將視頻流的回源路徑發(fā)送給所述CDN服務(wù)器,以使得所述CDN服務(wù)器將所述回源路徑發(fā)送給客戶端。
[0018]再一方面,本發(fā)明提供了一種拉流控制的系統(tǒng),該系統(tǒng)包括:客戶端、內(nèi)容分發(fā)網(wǎng)絡(luò)CDN服務(wù)器、控制中心和源服務(wù)器;
[0019]所述客戶端,用于發(fā)送用戶請(qǐng)求;
[0020]所述CDN服務(wù)器,用于轉(zhuǎn)發(fā)用戶請(qǐng)求,接收回源路徑,并將回源路徑發(fā)送給客戶端;
[0021]所述控制中心,用于檢測(cè)源服務(wù)器側(cè)的流狀態(tài)是否為正在直播,若不為正在直播,則指示所述源服務(wù)器向第三方服務(wù)器拉取所述用戶請(qǐng)求的直播視頻的視頻流,接收所述源服務(wù)器返回的流狀態(tài),將所述視頻流的回源路徑發(fā)送給所述CDN服務(wù)器;
[0022]所述源服務(wù)器,用于向第三方服務(wù)器拉取所述直播視頻的視頻流,將所述直播視頻的流狀態(tài)發(fā)送給控制中心。
[0023]本發(fā)明提供的一種拉流控制的方法、裝置及系統(tǒng),能夠通過(guò)接收CDN服務(wù)器轉(zhuǎn)發(fā)的用戶請(qǐng)求,檢查請(qǐng)求觀看的直播視頻在源服務(wù)器側(cè)的流狀態(tài)是否為正在直播,若源服務(wù)器側(cè)的流狀態(tài)不為正在直播,則指示源服務(wù)器向第三方服務(wù)器拉取直播視頻的視頻流。若源服務(wù)器成功從第三方拉取直播視頻的視頻流,接收源服務(wù)器返回的流狀態(tài),將直播視頻流的回源路徑發(fā)送給CDN服務(wù)器,以使得CDN服務(wù)器將回源路徑發(fā)送給客戶端。與現(xiàn)有技術(shù)相比,本發(fā)明能夠在接收到CDN服務(wù)器轉(zhuǎn)發(fā)的用戶請(qǐng)求時(shí),才會(huì)去拉流,沒(méi)有接收到用戶請(qǐng)求,則不拉流,避免無(wú)效拉流浪費(fèi)服務(wù)器資源。本發(fā)明能夠指示源服務(wù)器向第三方服務(wù)器拉取直播視頻流,將第三方服務(wù)器的直播視頻流拉取到源服務(wù)器中,觀看方可以觀看推送到第三方服務(wù)器的直播視頻。
【附圖說(shuō)明】
[0024]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0025]圖1示出了本發(fā)明實(shí)施例提供了一種拉流控制的方法流程圖;
[0026]圖2示出了本發(fā)明實(shí)施例提供了另一種拉流控制的方法流程圖;
[0027]圖3示出了本發(fā)明實(shí)施例提供了一種拉流控制的裝置組成框圖;
[0028]圖4示出了本發(fā)明實(shí)施例提供了另一種拉流控制的裝置組成圖;
[0029]圖5示出了本發(fā)明實(shí)施例提供了一種拉流控制的系統(tǒng)框圖;
[0030]圖6示出了本發(fā)明實(shí)施例提供了一種拉流控制的裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0031]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0032]為了解決觀看方無(wú)法觀看推送到第三方服務(wù)器的直播視頻的問(wèn)題,本發(fā)明實(shí)施例提供了一種拉流控制的方法,如圖1所示,該方法包括:
[0033]101、接收內(nèi)容分發(fā)網(wǎng)絡(luò)CDN服務(wù)器轉(zhuǎn)發(fā)的用戶請(qǐng)求,用戶請(qǐng)求用于請(qǐng)求觀看直播視頻。
[0034]Q)N(Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡(luò)),是構(gòu)建在數(shù)據(jù)網(wǎng)絡(luò)上的一種分布式的內(nèi)容分發(fā)網(wǎng)。CDN的作用是采用流媒體服務(wù)器集群技術(shù),克服單機(jī)系統(tǒng)輸出帶寬及并發(fā)能力不足的缺點(diǎn),可極大提升系統(tǒng)支持的并發(fā)流數(shù)目,減少或避免單點(diǎn)失效帶來(lái)的不良影響。
[0035]CDN利用全局負(fù)載均衡技術(shù)將用戶的訪問(wèn)指向離用戶最近的工作正常的流媒體服務(wù)器上,由流媒體服務(wù)器直接響應(yīng)用戶的請(qǐng)求。服務(wù)器中如果沒(méi)有用戶要訪問(wèn)的內(nèi)容,會(huì)根據(jù)配置自動(dòng)從源服務(wù)器抓取相應(yīng)的內(nèi)容并提供給用戶。
[0036]用戶請(qǐng)求,是客戶端發(fā)出的,包括請(qǐng)求觀看直播視頻的信息??蛻舳税l(fā)出用戶請(qǐng)求,離用戶最近的工作正常的CDN服務(wù)器,接收用戶請(qǐng)求并轉(zhuǎn)發(fā)給控制中心。
[0037]102、檢測(cè)直播視頻在源服務(wù)器側(cè)的流狀態(tài)是否為正在直播,流狀態(tài)為用戶請(qǐng)求的直播視頻的流狀態(tài)。
[0038]流媒體是邊傳邊播的媒體形式。流狀態(tài),是指用戶請(qǐng)求的直播視頻的流狀態(tài)。檢測(cè)直播視頻在源服務(wù)器側(cè)的流狀態(tài)是否為正在直播,即檢測(cè)用戶請(qǐng)求的直播視頻的流狀態(tài)是否正在直播。若正在直播,則可以以流媒體的媒體形式播放。
[0039]源服務(wù)器,提供流媒體文件。流媒體的提供方將流媒體文件推流到源服務(wù)器且推流未完成,源服務(wù)器側(cè)中對(duì)應(yīng)的流媒體文件為正在直播。檢測(cè)流狀態(tài),是在源服務(wù)器側(cè)。
[0040]103、若源服務(wù)器側(cè)的流狀態(tài)不為正在直播,則指示源服務(wù)器向第三方服務(wù)器拉取直播視頻的視頻流。
[0041]若源服務(wù)器側(cè)的流狀態(tài)不為正在直播,則發(fā)出源服務(wù)器向第三方服務(wù)器拉取直播視頻的視頻流的指示。源服務(wù)器接收到拉流指示時(shí),在第三方服務(wù)器中查找用戶請(qǐng)求的視頻流,若查找到用戶請(qǐng)求的視頻流,則將視頻流拉取到源服務(wù)器中。
[0042]104、接收源服務(wù)器返回的流狀態(tài),源服務(wù)器返回的流狀態(tài)為正在直播。
[0043]若源服務(wù)器拉取到用戶請(qǐng)求的視頻流,則該視頻流的流狀態(tài)為正在直播,源服務(wù)器將該視頻流的流狀態(tài)發(fā)送給控制中心。若源服務(wù)器未拉取到用戶請(qǐng)求的視頻流,則該視頻的流狀態(tài)為發(fā)生改變,源服務(wù)器不重新發(fā)送該視頻流的流狀態(tài)。控制中心接收源服務(wù)器返回的流狀態(tài)。源服務(wù)器中的流狀態(tài)為正在直播,說(shuō)明源服務(wù)器中存在該視頻的視頻流。
[0044]105、將視頻流的回源路徑發(fā)送給⑶N服務(wù)器,以使得⑶N服務(wù)器將回源路徑發(fā)送給客戶端。
[0045]若視頻流的流狀態(tài)為正在直播,則將視頻流的回源路徑發(fā)送給⑶N服務(wù)器,CDN月艮務(wù)器將回源路徑發(fā)送給客戶端,這樣客戶端才能實(shí)現(xiàn)直播視頻的邊傳邊播。
[0046]本發(fā)明實(shí)施例提供的一種拉流控制的方法,能夠通過(guò)接收CDN服務(wù)器轉(zhuǎn)發(fā)的用戶請(qǐng)求,檢查請(qǐng)求觀看的直播視頻在源服務(wù)器冊(cè)的流狀態(tài)是否為正在直播,若源服務(wù)器側(cè)的流狀態(tài)不為正在直播,則指示源服務(wù)器向第三方服務(wù)器拉取直播視頻的視頻流。若源服務(wù)器成功從第三方拉取直播視頻的視頻流,接收源服務(wù)器返回的流狀態(tài),將直播視頻流的回源路徑發(fā)送給⑶N服務(wù)器,以使得⑶N服務(wù)器將回源路徑發(fā)送給客戶端。與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例能夠在接收到CDN服務(wù)器轉(zhuǎn)發(fā)的用戶請(qǐng)求時(shí),才會(huì)去拉流,沒(méi)有接收到用戶請(qǐng)求,則不拉流,避免無(wú)效拉流浪費(fèi)服務(wù)器資源。本發(fā)明能夠指示原服務(wù)器向第三方服務(wù)器拉取直播視頻流,將第三方服務(wù)器的直播視頻流拉取到源服務(wù)器中,觀看方可以觀看推送到第三方服務(wù)器的直播視頻。
[0047]進(jìn)一步地,作為圖1的細(xì)化和擴(kuò)展,本發(fā)明實(shí)施例提供了另一種拉流控制的方法,如圖2所示,該方法包括:
[0048]201、接收內(nèi)容分發(fā)網(wǎng)絡(luò)CDN服務(wù)器轉(zhuǎn)發(fā)的用戶請(qǐng)求,用戶請(qǐng)求用于請(qǐng)求觀看直播視頻。
[0049 ]接收的用戶請(qǐng)求,包括請(qǐng)求發(fā)出的時(shí)間信息、用戶信息、直播視頻信息和對(duì)直播視頻的播放請(qǐng)求。接收的用戶請(qǐng)求是由CDN服務(wù)器轉(zhuǎn)發(fā)的。CDN服務(wù)器不為客戶端提供直播視頻的視頻流。
[0050]202、對(duì)發(fā)出用戶請(qǐng)求的客戶端進(jìn)行鑒權(quán),以鑒別客戶端是否具有播放直播視頻的權(quán)限。
[0051]用戶請(qǐng)求中包含用戶賬號(hào)信息,不同的賬號(hào)擁有不同的權(quán)限。權(quán)限不同,可以觀看的視頻資源也不相同。對(duì)發(fā)出用戶請(qǐng)求的客戶端進(jìn)行鑒權(quán),即鑒別客戶端是否具有播放視頻的權(quán)限。若客戶端不具備觀看客戶端發(fā)出用戶請(qǐng)求視頻的權(quán)限,則給客戶端返回一個(gè)無(wú)觀看權(quán)限的信息。若客戶端具備觀看客戶端發(fā)出用戶請(qǐng)求視頻的權(quán)限,再進(jìn)行下一步檢測(cè)。
[0052]203、檢測(cè)直播視頻在源服務(wù)器側(cè)的流狀態(tài)是否為正在直播,流狀態(tài)為用戶請(qǐng)求的直播視頻的流狀態(tài)。
[0053]源服務(wù)器中,存放流媒體提供方推流的視頻,并將流媒體提供方提供的視頻流正在直播的信息,發(fā)送給控制中心。若在控制中心中檢測(cè)直播視頻的流狀態(tài),即為直播視頻在源服務(wù)器側(cè)的流狀態(tài)。
[0054]204a、若源服務(wù)器側(cè)的流狀態(tài)為正在直播,則從源服務(wù)器中直接拉取直播視頻的視頻流。
[0055]若檢測(cè)源服務(wù)器側(cè)的流狀態(tài)為正在直播,源服務(wù)器中存放直播視頻的視頻流,則從源服務(wù)器中直接拉取直播視頻的視頻流,即可完成對(duì)視頻流的拉流。
[0056]204b、若源服務(wù)器側(cè)的流狀態(tài)不為正在直播,則指示源服務(wù)器向第三方服務(wù)器拉取直播視頻的視頻流。
[0057]用戶請(qǐng)求的直播視頻是有流地址的,源服務(wù)器通過(guò)流地址,直接從第三方服務(wù)器拉取直播視頻的視頻流。
[0058]指示源服務(wù)器向第三方服務(wù)器拉取直播視頻的視頻流,需要限制源服務(wù)器向第三方服務(wù)器拉取視頻流的頻率。讓源服務(wù)器的拉流操作有固定的時(shí)間間隔,這樣的設(shè)置,一方面通過(guò)一次拉流滿足用戶請(qǐng)求時(shí)間相近的相同直播視頻的請(qǐng)求,節(jié)省服務(wù)器資源;另一方面若用戶請(qǐng)求過(guò)于頻繁,是一種對(duì)服務(wù)器的惡意攻擊,通過(guò)限制拉流頻率,減少拉流次數(shù),可以防止通過(guò)頻繁用戶請(qǐng)求對(duì)服務(wù)器的惡意攻擊。
[0059 ] 205b、接收源服務(wù)器返回的流狀態(tài),源服務(wù)器返回的流狀態(tài)為正在直播。
[0060]在源服務(wù)器拉取直播視頻流后,更改該直播視頻的流狀態(tài)。接收該直播視頻的流狀態(tài),該直播視頻的流狀態(tài)由源服務(wù)器返回。
[0061]206b、將視頻流的回源路徑發(fā)送給⑶N服務(wù)器,以使得⑶N服務(wù)器將回源路徑發(fā)送給客戶端。
[0062]若視頻流的流狀態(tài)為正在直播,則將視頻流的回源路徑發(fā)送給⑶N服務(wù)器,CDN月艮務(wù)器將回源路徑發(fā)送給客戶端,這樣客戶端才能實(shí)現(xiàn)直播視頻的邊傳邊播。
[0063]進(jìn)一步地,作為圖1和圖2所示方法的實(shí)現(xiàn),本發(fā)明另一實(shí)施例還提供了一種拉流控制的裝置。本裝置實(shí)施例與前述方法實(shí)施例對(duì)應(yīng),能夠?qū)崿F(xiàn)前述方法實(shí)施例中的全部?jī)?nèi)容。為便于閱讀,本裝置實(shí)施例僅對(duì)前述方法實(shí)施例中的內(nèi)容進(jìn)行概要性描述,不對(duì)方法實(shí)施例中的細(xì)節(jié)內(nèi)容進(jìn)行逐一贅述。如圖3所示,該裝置包括:第一接收單元31、檢測(cè)單元32、指示單元33、第二接收單元34以及發(fā)送單元35。其中,
[0064]第一接收單元31,用于接收內(nèi)容分發(fā)網(wǎng)絡(luò)CDN服務(wù)器轉(zhuǎn)發(fā)的用戶請(qǐng)求,用戶請(qǐng)求用于請(qǐng)求觀看直播視頻;
[0065]檢測(cè)單元32,用于檢測(cè)第一接收單元31接收到的用戶請(qǐng)求的直播視頻在源服務(wù)器側(cè)的流狀態(tài)是否為正在直播,流狀態(tài)為用戶請(qǐng)求的直播視頻的流狀態(tài);
[0066]指示單元33,用于若檢測(cè)單元32檢測(cè)到的源服務(wù)器側(cè)的流狀態(tài)不為正在直播,則指示源服務(wù)器向第三方服務(wù)器拉取直播視頻的視頻流;
[0067]第二接收單元34,用于接收源服務(wù)器返回的流狀態(tài),源服務(wù)器返回的流狀態(tài)為正在直播;
[0068]發(fā)送單元35,用于若第二接收單元34接收的流狀態(tài)為正在直播,則將視頻流的回源路徑發(fā)送給CDN服務(wù)器,以使得CDN服務(wù)器將回源路徑發(fā)送給客戶端。
[0069]進(jìn)一步地,如圖4所示,該裝置進(jìn)一步包括:
[ΟΟΤ?]鑒權(quán)單元36,用于對(duì)發(fā)出第一接收單元31接收到的用戶請(qǐng)求的客戶端進(jìn)行鑒權(quán),以鑒別客戶端是否具有播放直播視頻的權(quán)限。
[0071]進(jìn)一步地,如圖4所示,該裝置進(jìn)一步包括:
[0072]拉取單元37,用于在檢測(cè)單元32檢測(cè)源服務(wù)器側(cè)的流狀態(tài)是否為正在直播之后,若源服務(wù)器側(cè)的流狀態(tài)為正在直播,則從源服務(wù)器中直接拉取直播視頻的視頻流。
[0073]進(jìn)一步地,指示單元33,包括:
[0074]限制模塊331,用于限制源服務(wù)器向第三方服務(wù)器拉取視頻流的頻率。
[0075]進(jìn)一步地,作為圖1和圖2所示方法的實(shí)現(xiàn),本發(fā)明實(shí)施例還提供了一種拉流控制的系統(tǒng)。本系統(tǒng)實(shí)施例與前述方法實(shí)施例對(duì)應(yīng),能夠?qū)崿F(xiàn)前述方法實(shí)施例中的全部?jī)?nèi)容。為便于閱讀,本系統(tǒng)實(shí)施例僅對(duì)前述方法實(shí)施例中的內(nèi)容進(jìn)行概要性描述,不對(duì)方法實(shí)施例中的細(xì)節(jié)內(nèi)容進(jìn)行逐一贅述。如圖5所示,該系統(tǒng)包括:客戶端51、內(nèi)容分發(fā)網(wǎng)絡(luò)CDN服務(wù)器52、控制中心53和源服務(wù)器54 ο具體的:
[0076]客戶端51,用于發(fā)送用戶請(qǐng)求;
[0077]⑶N服務(wù)器52,用于轉(zhuǎn)發(fā)客戶端51發(fā)送的用戶請(qǐng)求,接收回源路徑,并將回源路徑發(fā)送給客戶端;
[0078]控制中心53,用于檢測(cè)⑶N服務(wù)器52發(fā)送的用戶請(qǐng)求的直播視頻在源服務(wù)器側(cè)的流狀態(tài)是否為正在直播,若不為正在直播,則指示源服務(wù)器向第三方服務(wù)器拉取用戶請(qǐng)求的直播視頻的視頻流,接收源服務(wù)器返回的流狀態(tài),將視頻流的回源路徑發(fā)送給CDN服務(wù)器52;
[0079]源服務(wù)器54,用于向第三方服務(wù)器拉取直播視頻的視頻流,將直播視頻的流狀態(tài)發(fā)送給控制中心53。
[0080]本發(fā)明實(shí)施例提供的一種拉流控制的裝置及系統(tǒng),能夠通過(guò)接收CDN服務(wù)器轉(zhuǎn)發(fā)的用戶請(qǐng)求,檢查請(qǐng)求觀看的直播視頻在源服務(wù)器冊(cè)的流狀態(tài)是否為正在直播,若源服務(wù)器側(cè)的流狀態(tài)不為正在直播,則指示源服務(wù)器向第三方服務(wù)器拉取直播視頻的視頻流。若源服務(wù)器成功從第三方拉取直播視頻的視頻流,接收源服務(wù)器返回的流狀態(tài),將直播視頻流的回源路徑發(fā)送給CDN服務(wù)器,以使得CDN服務(wù)器將回源路徑發(fā)送給客戶端。與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例能夠在接收到CDN服務(wù)器轉(zhuǎn)發(fā)的用戶請(qǐng)求時(shí),才會(huì)去拉流,沒(méi)有接收到用戶請(qǐng)求,則不拉流,避免無(wú)效拉流浪費(fèi)服務(wù)器資源。本發(fā)明能夠指示原服務(wù)器向第三方服務(wù)器拉取直播視頻流,將第三方服務(wù)器的直播視頻流拉取到源服務(wù)器中,觀看方可以觀看推送到第三方服務(wù)器的直播視頻。
[0081]需要說(shuō)明的是,針對(duì)上述拉流控制的裝置,凡是本發(fā)明實(shí)施例中使用到的各個(gè)單元模塊的功能都可以通過(guò)硬件處理器(hardware processor)來(lái)實(shí)現(xiàn)。
[0082]示例性的,如圖6所示,圖6示出了本發(fā)明實(shí)施例提供的一種拉流控制的裝置結(jié)構(gòu)示意圖,該拉流控制的裝置可以包括:處理器(processor)61、通信接口(Communicat1nsInterface) 62、存儲(chǔ)器(memory) 63和總線64,其中,處理器61、通信接口 62、存儲(chǔ)器63通過(guò)總線64完成相互間的通信。通信接口 62可以用于服務(wù)器與客戶端之間的信息傳輸。處理器61可以調(diào)用存儲(chǔ)器63中的邏輯指令,以執(zhí)行如下方法:接收內(nèi)容分發(fā)網(wǎng)絡(luò)CDN服務(wù)器轉(zhuǎn)發(fā)的用戶請(qǐng)求,所述用戶請(qǐng)求用于請(qǐng)求觀看直播視頻;檢測(cè)所述直播視頻在源服務(wù)器側(cè)的流狀態(tài)是否為正在直播,所述流狀態(tài)為所述用戶請(qǐng)求的直播視頻的流狀態(tài);若源服務(wù)器側(cè)的流狀態(tài)不為正在直播,則指示所述源服務(wù)器向第三方服務(wù)器拉取所述直播視頻的視頻流;接收所述源服務(wù)器返回的流狀態(tài),所述源服務(wù)器返回的流狀態(tài)為正在直播;將所述視頻流的回源路徑發(fā)送給所述CDN服務(wù)器,以使得所述CDN服務(wù)器將所述回源路徑發(fā)送給客戶端。
[0083]此外,上述的存儲(chǔ)器63中的邏輯指令可以通過(guò)軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(R0M,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0084]以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。
[0085]通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件。基于這樣的理解,上述技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
[0086]最后應(yīng)說(shuō)明的是:以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
【主權(quán)項(xiàng)】
1.一種拉流控制的方法,其特征在于,所述方法包括: 接收內(nèi)容分發(fā)網(wǎng)絡(luò)CDN服務(wù)器轉(zhuǎn)發(fā)的用戶請(qǐng)求,所述用戶請(qǐng)求用于請(qǐng)求觀看直播視頻; 檢測(cè)所述直播視頻在源服務(wù)器側(cè)的流狀態(tài)是否為正在直播,所述流狀態(tài)為所述用戶請(qǐng)求的直播視頻的流狀態(tài); 若源服務(wù)器側(cè)的流狀態(tài)不為正在直播,則指示所述源服務(wù)器向第三方服務(wù)器拉取所述直播視頻的視頻流; 接收所述源服務(wù)器返回的流狀態(tài),所述源服務(wù)器返回的流狀態(tài)為正在直播; 將所述視頻流的回源路徑發(fā)送給所述CDN服務(wù)器,以使得所述CDN服務(wù)器將所述回源路徑發(fā)送給客戶端。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法進(jìn)一步包括: 對(duì)發(fā)出所述用戶請(qǐng)求的客戶端進(jìn)行鑒權(quán),以鑒別所述客戶端是否具有播放所述直播視頻的權(quán)限。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述檢測(cè)源服務(wù)器側(cè)的流狀態(tài)是否為正在直播之后,所述方法進(jìn)一步包括: 若源服務(wù)器側(cè)的流狀態(tài)為正在直播,則從源服務(wù)器中直接拉取所述直播視頻的視頻流。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述指示所述源服務(wù)器向第三方服務(wù)器拉取所述直播視頻的視頻流,包括: 限制所述源服務(wù)器向所述第三方服務(wù)器拉取所述視頻流的頻率。5.一種拉流控制的裝置,其特征在于,所述裝置包括: 第一接收單元,用于接收內(nèi)容分發(fā)網(wǎng)絡(luò)CDN服務(wù)器轉(zhuǎn)發(fā)的用戶請(qǐng)求,所述用戶請(qǐng)求用于請(qǐng)求觀看直播視頻; 檢測(cè)單元,用于檢測(cè)所述第一接收單元接收到的用戶請(qǐng)求的直播視頻在源服務(wù)器側(cè)的流狀態(tài)是否為正在直播,所述流狀態(tài)為所述用戶請(qǐng)求的直播視頻的流狀態(tài); 指示單元,用于若所述檢測(cè)單元檢測(cè)到的源服務(wù)器側(cè)的流狀態(tài)不為正在直播,則指示所述源服務(wù)器向第三方服務(wù)器拉取所述直播視頻的視頻流; 第二接收單元,用于接收所述源服務(wù)器返回的流狀態(tài),所述源服務(wù)器返回的流狀態(tài)為正在直播; 發(fā)送單元,用于若所述所述第二接收單元接收的流狀態(tài)為正在直播,則將視頻流的回源路徑發(fā)送給所述CDN服務(wù)器,以使得所述CDN服務(wù)器將所述回源路徑發(fā)送給客戶端。6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述裝置進(jìn)一步包括: 鑒權(quán)單元,用于對(duì)發(fā)出所述第一接收單元接收到的用戶請(qǐng)求的客戶端進(jìn)行鑒權(quán),以鑒別所述客戶端是否具有播放所述直播視頻的權(quán)限。7.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述裝置進(jìn)一步包括: 拉取單元,用于在所述檢測(cè)單元檢測(cè)源服務(wù)器側(cè)的流狀態(tài)是否為正在直播之后,若源服務(wù)器側(cè)的流狀態(tài)為正在直播,則從源服務(wù)器中直接拉取所述直播視頻的視頻流。8.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述指示單元,包括: 限制模塊,用于限制所述源服務(wù)器向所述第三方服務(wù)器拉取所述視頻流的頻率。9.一種拉流控制的系統(tǒng),其特征在于,所述系統(tǒng)包括:客戶端、內(nèi)容分發(fā)網(wǎng)絡(luò)CDN服務(wù)器、控制中心和源服務(wù)器; 所述客戶端,用于發(fā)送用戶請(qǐng)求; 所述⑶N服務(wù)器,用于轉(zhuǎn)發(fā)客戶端發(fā)送的用戶請(qǐng)求,接收回源路徑,并將回源路徑發(fā)送給客戶端; 所述控制中心,用于檢測(cè)源服務(wù)器側(cè)的流狀態(tài)是否為正在直播,若不為正在直播,則指示所述源服務(wù)器向第三方服務(wù)器拉取所述用戶請(qǐng)求的直播視頻的視頻流,接收所述源服務(wù)器返回的流狀態(tài),將所述視頻流的回源路徑發(fā)送給所述CDN服務(wù)器; 所述源服務(wù)器,用于向第三方服務(wù)器拉取所述直播視頻的視頻流,將所述直播視頻的流狀態(tài)發(fā)送給控制中心。
【文檔編號(hào)】H04L29/06GK105871800SQ201510889329
【公開(kāi)日】2016年8月17日
【申請(qǐng)日】2015年12月7日
【發(fā)明人】劉鳳玉, 魏立志, 韓峰, 林正宇
【申請(qǐng)人】樂(lè)視云計(jì)算有限公司