一種數(shù)據(jù)直播系統(tǒng)和方法
【專(zhuān)利摘要】本發(fā)明提供了一種數(shù)據(jù)直播系統(tǒng)和方法,以解決現(xiàn)有直播系統(tǒng)易造成網(wǎng)絡(luò)擁擠甚至癱瘓的問(wèn)題。所述的系統(tǒng)包括:直播數(shù)據(jù)源服務(wù)器和緩存服務(wù)器;其中,以所述直播數(shù)據(jù)源服務(wù)器為根節(jié)點(diǎn),以所述緩存服務(wù)器為子節(jié)點(diǎn)構(gòu)成樹(shù)型拓?fù)浣Y(jié)構(gòu)。該系統(tǒng)采用直播數(shù)據(jù)源服務(wù)器存儲(chǔ)直播的源數(shù)據(jù),直播數(shù)據(jù)源服務(wù)器僅向所述第一級(jí)緩存服務(wù)器分發(fā)請(qǐng)求直播的源數(shù)據(jù),從而不會(huì)由于并發(fā)接入過(guò)多節(jié)點(diǎn)而造成直播數(shù)據(jù)源服務(wù)器的擁堵和癱瘓,在該樹(shù)型拓?fù)浣Y(jié)構(gòu)下,緩存服務(wù)器在接收到數(shù)據(jù)直播請(qǐng)求后,可以通過(guò)分級(jí)依次向上一級(jí)緩存服務(wù)器請(qǐng)求數(shù)據(jù)源,從而避免了各級(jí)緩存服務(wù)器由于接入過(guò)多節(jié)點(diǎn)而造成擁堵和癱瘓的問(wèn)題,快速的提供請(qǐng)求直播的源數(shù)據(jù),提高源數(shù)據(jù)的直播質(zhì)量。
【專(zhuān)利說(shuō)明】一種數(shù)據(jù)直播系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)直播【技術(shù)領(lǐng)域】,特別是涉及一種數(shù)據(jù)直播系統(tǒng)和一種數(shù)據(jù)直播方法。
【背景技術(shù)】
[0002]用戶(hù)可以通過(guò)播放器、網(wǎng)頁(yè)等通過(guò)網(wǎng)絡(luò)觀看直播內(nèi)容,如視頻、圖文直播等。現(xiàn)有的數(shù)據(jù)直播系統(tǒng)通常采用簡(jiǎn)單的復(fù)制和主動(dòng)推送模式,即將同一路直播流的數(shù)據(jù)推送到整個(gè)數(shù)據(jù)直播系統(tǒng)的每一個(gè)互聯(lián)網(wǎng)數(shù)據(jù)中心(Internet Data Center, IDC)節(jié)點(diǎn)和其連接的每一臺(tái)物理機(jī)(用戶(hù)終端)。
[0003]因此,當(dāng)在直播即分發(fā)具有很多并發(fā)用戶(hù)請(qǐng)求的大型直播節(jié)目,或者在分發(fā)很多路不同地并發(fā)的直播數(shù)據(jù)內(nèi)容時(shí),都會(huì)造成整個(gè)數(shù)據(jù)直播網(wǎng)絡(luò)擁擠不堪,甚至造成直播的源數(shù)據(jù)由于被太多的網(wǎng)絡(luò)節(jié)點(diǎn)連接而癱瘓。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例所要解決的技術(shù)問(wèn)題是提供一種數(shù)據(jù)直播系統(tǒng)和方法,以解決現(xiàn)有直播系統(tǒng)易造成網(wǎng)絡(luò)擁擠甚至癱瘓的問(wèn)題。
[0005]為了解決上述問(wèn)題,本發(fā)明公開(kāi)了一種數(shù)據(jù)直播系統(tǒng),包括:直播數(shù)據(jù)源服務(wù)器和緩存服務(wù)器;其中,以所述直播數(shù)據(jù)源服務(wù)器為根節(jié)點(diǎn),以所述緩存服務(wù)器為子節(jié)點(diǎn)構(gòu)成樹(shù)型拓?fù)浣Y(jié)構(gòu);所述緩存服務(wù)器包括:與所述直播數(shù)據(jù)源服務(wù)器直接連接的至少兩個(gè)第一級(jí)緩存服務(wù)器,每個(gè)第一級(jí)緩存服務(wù)器各自連接的至少兩個(gè)第二級(jí)緩存服務(wù)器,以此類(lèi)推,每個(gè)第N-1級(jí)緩存服務(wù)器各自連接的至少兩個(gè)第N級(jí)緩存服務(wù)器,其中N彡2且N為正整數(shù);則所述直播數(shù)據(jù)源服務(wù)器,用于存儲(chǔ)直播的源數(shù)據(jù),并向所述第一級(jí)緩存服務(wù)器發(fā)送請(qǐng)求直播的源數(shù)據(jù);所述緩存服務(wù)器,用于依據(jù)終端發(fā)送的數(shù)據(jù)直播請(qǐng)求確定請(qǐng)求直播的源數(shù)據(jù);當(dāng)檢測(cè)本地存在所述請(qǐng)求直播的源數(shù)據(jù)時(shí),實(shí)時(shí)從本地獲取所述請(qǐng)求直播的源數(shù)據(jù);當(dāng)檢測(cè)本地不存在所述請(qǐng)求直播的源數(shù)據(jù),且所述緩存服務(wù)器為第一級(jí)緩存服務(wù)器時(shí),實(shí)時(shí)從所述直播數(shù)據(jù)源服務(wù)器中所述請(qǐng)求直播的源數(shù)據(jù);當(dāng)檢測(cè)本地不存在所述請(qǐng)求直播的源數(shù)據(jù),且所述緩存服務(wù)器為第二級(jí)到第N級(jí)中任意一級(jí)緩存服務(wù)器時(shí),實(shí)時(shí)從與其直接連接的上一級(jí)緩存服務(wù)器中獲取所述請(qǐng)求直播的源數(shù)據(jù);以及將所述請(qǐng)求直播的源數(shù)據(jù)實(shí)時(shí)反饋給所述終端以直播所述請(qǐng)求直播的源數(shù)據(jù)。
[0006]可選的,所述直播數(shù)據(jù)源服務(wù)器與所述各第一級(jí)緩存服務(wù)器通過(guò)廣域網(wǎng)或以太網(wǎng)直接連接;各第一級(jí)緩存服務(wù)器之間通過(guò)以太網(wǎng)互相連接;具有相同的上一級(jí)緩存服務(wù)器同級(jí)緩存服務(wù)器通過(guò)以太網(wǎng)互相連接;緩存服務(wù)器與其上一級(jí)緩存服務(wù)器通過(guò)廣域網(wǎng)連接。
[0007]可選的,所述緩存服務(wù)器,還用于查詢(xún)其他同級(jí)緩存服務(wù)器中是否存在所述請(qǐng)求直播的源數(shù)據(jù),其中,所述其他同級(jí)緩存服務(wù)器與所述緩存服務(wù)器具有相同的上一級(jí)緩存服務(wù)器;當(dāng)其他同級(jí)緩存服務(wù)器中存在所述請(qǐng)求直播的源數(shù)據(jù)時(shí),從所述其他同級(jí)緩存服務(wù)器中實(shí)時(shí)獲取所述請(qǐng)求直播的源數(shù)據(jù);當(dāng)其他同級(jí)緩存服務(wù)器中不存在所述請(qǐng)求直播的源數(shù)據(jù)時(shí),觸發(fā)從與其直接連接的上一級(jí)緩存服務(wù)器或直播數(shù)據(jù)源服務(wù)器中實(shí)時(shí)獲取所述請(qǐng)求直播的源數(shù)據(jù)。
[0008]可選的,所述緩存服務(wù)器,還用于接收所述終端發(fā)送的直播停止請(qǐng)求,并依據(jù)所述直播停止請(qǐng)求停止獲取所述請(qǐng)求直播的源數(shù)據(jù)。
[0009]可選的,所述緩存服務(wù)器,還用于從所述數(shù)據(jù)直播請(qǐng)求中確定所述請(qǐng)求直播的源數(shù)據(jù)的創(chuàng)建時(shí)刻;確定所述創(chuàng)建時(shí)刻與當(dāng)前時(shí)刻的時(shí)間間隔;當(dāng)所述時(shí)間間隔大于預(yù)置間隔,且所述緩存服務(wù)器為第一級(jí)緩存服務(wù)器時(shí),從所述直播數(shù)據(jù)源服務(wù)器中所述請(qǐng)求直播的源數(shù)據(jù);當(dāng)所述時(shí)間間隔大于預(yù)置間隔,且所述緩存服務(wù)器為第二級(jí)到第N級(jí)中任意一級(jí)緩存服務(wù)器時(shí),通過(guò)與其連接的各級(jí)緩存服務(wù)器逐級(jí)發(fā)送請(qǐng)求以從直播數(shù)據(jù)源服務(wù)器中所述請(qǐng)求直播的源數(shù)據(jù);當(dāng)所述時(shí)間間隔不大于預(yù)置間隔時(shí),觸發(fā)檢測(cè)本地是否存在所述請(qǐng)求直播的源數(shù)據(jù)。
[0010]本發(fā)明還公開(kāi)了一種數(shù)據(jù)直播方法,應(yīng)用于以所述直播數(shù)據(jù)源服務(wù)器為根節(jié)點(diǎn),以所述緩存服務(wù)器為子節(jié)點(diǎn)構(gòu)成的具有樹(shù)形拓?fù)浣Y(jié)構(gòu)的直播系統(tǒng)中,所述緩存服務(wù)器包括:與所述直播數(shù)據(jù)源直接連接的至少兩個(gè)第一級(jí)緩存服務(wù)器,每個(gè)第一級(jí)緩存服務(wù)器各自連接的至少兩個(gè)第二級(jí)緩存服務(wù)器,以此類(lèi)推,每個(gè)第N-1級(jí)緩存服務(wù)器各自連接的至少兩個(gè)第N級(jí)緩存服務(wù)器,其中N > 2且N為正整數(shù);所述的方法包括:緩存服務(wù)器接收終端發(fā)送的數(shù)據(jù)直播請(qǐng)求,并依據(jù)所述數(shù)據(jù)直播請(qǐng)求確定請(qǐng)求直播的源數(shù)據(jù);所述緩存服務(wù)器檢測(cè)本地是否存在所述請(qǐng)求直播的源數(shù)據(jù);當(dāng)檢測(cè)本地存在所述請(qǐng)求直播的源數(shù)據(jù)時(shí),所述緩存服務(wù)器實(shí)時(shí)從本地獲取所述請(qǐng)求直播的源數(shù)據(jù);當(dāng)檢測(cè)本地不存在所述請(qǐng)求直播的源數(shù)據(jù),且所述緩存服務(wù)器為第一級(jí)緩存服務(wù)器時(shí),所述第一級(jí)緩存服務(wù)器實(shí)時(shí)從所述直播數(shù)據(jù)源服務(wù)器中所述請(qǐng)求直播的源數(shù)據(jù);當(dāng)檢測(cè)本地不存在所述請(qǐng)求直播的源數(shù)據(jù),且所述緩存服務(wù)器為第二級(jí)到第N級(jí)中任意一級(jí)緩存服務(wù)器時(shí),所述緩存服務(wù)器實(shí)時(shí)從與其直接連接的上一級(jí)緩存服務(wù)器中獲取所述請(qǐng)求直播的源數(shù)據(jù);所述緩存服務(wù)器將所述請(qǐng)求直播的源數(shù)據(jù)實(shí)時(shí)反饋給所述終端,以使終端直播所述請(qǐng)求直播的源數(shù)據(jù)。
[0011]可選的,檢測(cè)本地不存在所述請(qǐng)求直播的源數(shù)據(jù)之后,還包括:所述緩存服務(wù)器查詢(xún)其他同級(jí)緩存服務(wù)器中是否存在所述請(qǐng)求直播的源數(shù)據(jù),其中,所述其他同級(jí)緩存服務(wù)器與所述緩存服務(wù)器具有相同的上一級(jí)緩存服務(wù)器;當(dāng)其他同級(jí)緩存服務(wù)器中存在所述請(qǐng)求直播的源數(shù)據(jù)時(shí),所述緩存服務(wù)器從所述其他同級(jí)緩存服務(wù)器中實(shí)時(shí)獲取所述請(qǐng)求直播的源數(shù)據(jù);當(dāng)其他同級(jí)緩存服務(wù)器中不存在所述請(qǐng)求直播的源數(shù)據(jù)時(shí),所述緩存服務(wù)器執(zhí)行從與其直接連接的上一級(jí)緩存服務(wù)器或直播數(shù)據(jù)源服務(wù)器中實(shí)時(shí)獲取所述請(qǐng)求直播的源數(shù)據(jù)的步驟。
[0012]可選的,還包括:所述緩存服務(wù)器接收所述終端發(fā)送的直播停止請(qǐng)求,并依據(jù)所述直播停止請(qǐng)求停止獲取所述請(qǐng)求直播的源數(shù)據(jù)。
[0013]可選的,所述緩存服務(wù)器檢測(cè)本地是否存在所述請(qǐng)求直播的源數(shù)據(jù)之前,還包括:所述緩存服務(wù)器從所述數(shù)據(jù)直播請(qǐng)求中確定所述請(qǐng)求直播的源數(shù)據(jù)的創(chuàng)建時(shí)刻;確定所述創(chuàng)建時(shí)刻與當(dāng)前時(shí)刻的時(shí)間間隔;將所述時(shí)間間隔與預(yù)置間隔進(jìn)行比較,并依據(jù)比較結(jié)果確定獲取請(qǐng)求直播的源數(shù)據(jù)的步驟。
[0014]可選的,將所述時(shí)間間隔與預(yù)置間隔進(jìn)行比較,并依據(jù)比較結(jié)果確定獲取請(qǐng)求直播的源數(shù)據(jù)的步驟,包括:當(dāng)所述時(shí)間間隔大于預(yù)置間隔,且所述緩存服務(wù)器為第一級(jí)緩存服務(wù)器時(shí),所述第一級(jí)緩存服務(wù)器從所述直播數(shù)據(jù)源服務(wù)器中所述請(qǐng)求直播的源數(shù)據(jù);當(dāng)所述時(shí)間間隔大于預(yù)置間隔,且所述緩存服務(wù)器為第二級(jí)到第N級(jí)中任意一級(jí)緩存服務(wù)器時(shí),所述緩存服務(wù)器通過(guò)與其連接的各級(jí)緩存服務(wù)器逐級(jí)發(fā)送請(qǐng)求以從直播數(shù)據(jù)源服務(wù)器中所述請(qǐng)求直播的源數(shù)據(jù);當(dāng)所述時(shí)間間隔不大于預(yù)置間隔時(shí),所述緩存服務(wù)器執(zhí)行檢測(cè)本地是否存在所述請(qǐng)求直播的源數(shù)據(jù)的步驟。
[0015]與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例包括以下優(yōu)點(diǎn):
[0016]以直播數(shù)據(jù)源服務(wù)器為根節(jié)點(diǎn),分別以各級(jí)緩存服務(wù)器為子節(jié)點(diǎn)構(gòu)成具有樹(shù)型拓?fù)浣Y(jié)構(gòu)的數(shù)據(jù)直播系統(tǒng),采用直播數(shù)據(jù)源服務(wù)器存儲(chǔ)直播的源數(shù)據(jù),直播數(shù)據(jù)源服務(wù)器僅向所述第一級(jí)緩存服務(wù)器分發(fā)請(qǐng)求直播的源數(shù)據(jù),從而不會(huì)由于并發(fā)接入過(guò)多節(jié)點(diǎn)而造成直播數(shù)據(jù)源服務(wù)器的擁堵和癱瘓,在該樹(shù)型拓?fù)浣Y(jié)構(gòu)下,緩存服務(wù)器在接收到數(shù)據(jù)直播請(qǐng)求后,可以通過(guò)分級(jí)依次向上一級(jí)緩存服務(wù)器請(qǐng)求數(shù)據(jù)源,從而避免了各級(jí)緩存服務(wù)器由于接入過(guò)多節(jié)點(diǎn)而造成擁堵和癱瘓的問(wèn)題,快速的提供請(qǐng)求直播的源數(shù)據(jù),提高源數(shù)據(jù)的直播質(zhì)量。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0017]圖1是本發(fā)明的一種數(shù)據(jù)直播系統(tǒng)實(shí)施例的結(jié)構(gòu)框圖;
[0018]圖2是本發(fā)明的一種數(shù)據(jù)直播方法實(shí)施例步驟流程圖;
[0019]圖3是本發(fā)明的一種數(shù)據(jù)直播方法可選實(shí)施例步驟流程圖。
【具體實(shí)施方式】
[0020]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。
[0021]本發(fā)明實(shí)施例的核心構(gòu)思之一在于,提出一種數(shù)據(jù)直播系統(tǒng)和方法,以解決現(xiàn)有直播系統(tǒng)易造成網(wǎng)絡(luò)擁擠甚至癱瘓的問(wèn)題。以直播數(shù)據(jù)源服務(wù)器為根節(jié)點(diǎn),分別以各級(jí)緩存服務(wù)器為子節(jié)點(diǎn)構(gòu)成具有樹(shù)型拓?fù)浣Y(jié)構(gòu)的數(shù)據(jù)直播系統(tǒng),采用直播數(shù)據(jù)源服務(wù)器存儲(chǔ)直播的源數(shù)據(jù),直播數(shù)據(jù)源服務(wù)器僅向所述第一級(jí)緩存服務(wù)器分發(fā)請(qǐng)求直播的源數(shù)據(jù),從而不會(huì)由于并發(fā)接入過(guò)多節(jié)點(diǎn)而造成直播數(shù)據(jù)源服務(wù)器的擁堵和癱瘓,在該樹(shù)型拓?fù)浣Y(jié)構(gòu)下,緩存服務(wù)器在接收到數(shù)據(jù)直播請(qǐng)求后,可以通過(guò)分級(jí)依次向上一級(jí)緩存服務(wù)器請(qǐng)求數(shù)據(jù)源,從而避免了各級(jí)緩存服務(wù)器由于接入過(guò)多節(jié)點(diǎn)而造成擁堵和癱瘓的問(wèn)題,快速的提供請(qǐng)求直播的源數(shù)據(jù),提高源數(shù)據(jù)的直播質(zhì)量。
[0022]實(shí)施例一
[0023]參照?qǐng)D1,示出了本發(fā)明的一種數(shù)據(jù)直播系統(tǒng)實(shí)施例的結(jié)構(gòu)框圖,具體可以包括如下模塊:
[0024]數(shù)據(jù)直播系統(tǒng)包括:直播數(shù)據(jù)源服務(wù)器101和緩存服務(wù)器102。該數(shù)據(jù)直播系統(tǒng)可以基于TCP/IP網(wǎng)絡(luò)進(jìn)行視頻等數(shù)據(jù)內(nèi)容的分發(fā)、直播。
[0025]該數(shù)據(jù)直播系統(tǒng)以所述直播數(shù)據(jù)源服務(wù)器101為根節(jié)點(diǎn),以所述緩存服務(wù)器102為子節(jié)點(diǎn)構(gòu)成樹(shù)型拓?fù)浣Y(jié)構(gòu),并該樹(shù)型拓?fù)浣Y(jié)構(gòu)中包含多級(jí)子節(jié)點(diǎn)。從而該數(shù)據(jù)直播系統(tǒng)中直播內(nèi)容的分發(fā)鏈路構(gòu)成樹(shù)形結(jié)構(gòu),以直播數(shù)據(jù)源服務(wù)器作為樹(shù)根,靠近數(shù)據(jù)源的機(jī)房?jī)?nèi)的緩存服務(wù)器作為樹(shù)干,靠近用戶(hù)的機(jī)房?jī)?nèi)的緩存服務(wù)器作為樹(shù)枝,以此形成2級(jí)及以上層次的直播內(nèi)容分發(fā)結(jié)構(gòu)。
[0026]因此,所述緩存服務(wù)器102包括:與所述直播數(shù)據(jù)源服務(wù)器101直接連接的至少兩個(gè)第一級(jí)緩存服務(wù)器,每個(gè)第一級(jí)緩存服務(wù)器各自連接的至少兩個(gè)第二級(jí)緩存服務(wù)器,以此類(lèi)推,每個(gè)第N-1級(jí)緩存服務(wù)器各自連接的至少兩個(gè)第N級(jí)緩存服務(wù)器,其中N > 2且N為正整數(shù)。
[0027]本發(fā)明實(shí)施例中,直播指的是在現(xiàn)場(chǎng)隨著事件的發(fā)生、發(fā)展進(jìn)程同步制作和發(fā)布信息,具有雙向流通過(guò)程的信息網(wǎng)絡(luò)發(fā)布方式。其形式可分為現(xiàn)場(chǎng)直播、演播室訪談式直播、文字圖片直播、視音頻直播或由電視(第三方)提供信源的直播等。并且,直播系統(tǒng)具有備海量存儲(chǔ),查尋便捷等功能。
[0028]其中,直播數(shù)據(jù)源服務(wù)器101,用于存儲(chǔ)直播的源數(shù)據(jù),并向所述第一級(jí)緩存服務(wù)器發(fā)送請(qǐng)求直播的源數(shù)據(jù)。具體的,在數(shù)據(jù)直播系統(tǒng)中,隨著事件的發(fā)生會(huì)同步制作生成直播的源數(shù)據(jù),如生成當(dāng)前事件的直播視頻數(shù)據(jù)等,然后將該直播的源數(shù)據(jù)存在直播數(shù)據(jù)源服務(wù)器中,由直播數(shù)據(jù)源服務(wù)器主動(dòng)下發(fā)或給予第一級(jí)緩存服務(wù)器的請(qǐng)求將相應(yīng)的源數(shù)據(jù)反饋該緩存服務(wù)器,在進(jìn)一步反饋給用戶(hù)進(jìn)行播放。
[0029]本發(fā)明實(shí)施例中,按照樹(shù)型拓?fù)浣Y(jié)構(gòu)將緩存服務(wù)器劃分不同的層級(jí),因此緩存服務(wù)器在請(qǐng)求數(shù)據(jù)時(shí)可以向同級(jí)或上級(jí)服務(wù)器請(qǐng)求獲取視頻源數(shù)據(jù)。即,緩存服務(wù)器102,用于依據(jù)終端發(fā)送的數(shù)據(jù)直播請(qǐng)求確定請(qǐng)求直播的源數(shù)據(jù);當(dāng)檢測(cè)本地存在所述請(qǐng)求直播的源數(shù)據(jù)時(shí),實(shí)時(shí)從本地獲取所述請(qǐng)求直播的源數(shù)據(jù);當(dāng)檢測(cè)本地不存在所述請(qǐng)求直播的源數(shù)據(jù),且所述緩存服務(wù)器為第一級(jí)緩存服務(wù)器時(shí),實(shí)時(shí)從所述直播數(shù)據(jù)源服務(wù)器中所述請(qǐng)求直播的源數(shù)據(jù);當(dāng)檢測(cè)本地不存在所述請(qǐng)求直播的源數(shù)據(jù),且所述緩存服務(wù)器為第二級(jí)到第N級(jí)中任意一級(jí)緩存服務(wù)器時(shí),實(shí)時(shí)從與其直接連接的上一級(jí)緩存服務(wù)器中獲取所述請(qǐng)求直播的源數(shù)據(jù);以及將所述請(qǐng)求直播的源數(shù)據(jù)實(shí)時(shí)反饋給所述終端以直播所述請(qǐng)求直播的源數(shù)據(jù)。
[0030]基于上述數(shù)據(jù)直播系統(tǒng),論述數(shù)據(jù)直播方法,如圖2所示,具體包括如下步驟:
[0031]步驟202,緩存服務(wù)器接收終端發(fā)送的數(shù)據(jù)直播請(qǐng)求,并從所述數(shù)據(jù)直播請(qǐng)求中獲取請(qǐng)求直播的源數(shù)據(jù)。
[0032]以當(dāng)前網(wǎng)絡(luò)正在直播視頻為例進(jìn)行論述,該視頻可以是電視等第三方數(shù)據(jù)源提供的,也可以是網(wǎng)絡(luò)直播室生成的,用戶(hù)使用電腦、手機(jī)等終端設(shè)備可以觀看該視頻的直播。此時(shí),終端設(shè)備可以發(fā)送請(qǐng)求給對(duì)該視頻進(jìn)行直播的數(shù)據(jù)直播系統(tǒng),數(shù)據(jù)直播系統(tǒng)中的緩存服務(wù)器可以接收到該數(shù)據(jù)直播請(qǐng)求。
[0033]其中,采用樹(shù)型拓?fù)浣Y(jié)構(gòu)的數(shù)據(jù)直播系統(tǒng)中存在多層級(jí)的緩存服務(wù)器,按照預(yù)置規(guī)則確定與用戶(hù)的終端設(shè)備進(jìn)行通信的緩存服務(wù)器,例如按照距離最近原則確定,按照緩存服務(wù)器的負(fù)載情況,按照用戶(hù)的優(yōu)先級(jí)等上述至少一種規(guī)則確定與終端設(shè)備通信的緩存服務(wù)器。
[0034]該緩存服務(wù)器可以接收到終端設(shè)備發(fā)送的數(shù)據(jù)直播請(qǐng)求,該數(shù)據(jù)直播請(qǐng)求用于請(qǐng)求對(duì)指定源數(shù)據(jù)進(jìn)行直播,因此可以依據(jù)該數(shù)據(jù)直播請(qǐng)求確定請(qǐng)求直播的源數(shù)據(jù),例如從數(shù)據(jù)直播請(qǐng)求中獲取請(qǐng)求直播的元數(shù)據(jù)的數(shù)據(jù)標(biāo)識(shí)(如名稱(chēng)、編號(hào))等信息,以確定當(dāng)前請(qǐng)求對(duì)哪個(gè)視頻數(shù)據(jù)進(jìn)行直播。
[0035]步驟204,所述緩存服務(wù)器檢測(cè)本地是否存在所述請(qǐng)求直播的源數(shù)據(jù)。
[0036]有時(shí)在接收該終端設(shè)備的數(shù)據(jù)直播請(qǐng)求之前,可能就已經(jīng)有其他設(shè)備請(qǐng)求了該源數(shù)據(jù),此時(shí)就無(wú)需重新請(qǐng)求該源數(shù)據(jù),因此緩存服務(wù)器要檢測(cè)本地是否存在所述請(qǐng)求直播的源數(shù)據(jù)。
[0037]步驟206,所述緩存服務(wù)器實(shí)時(shí)從本地獲取所述請(qǐng)求直播的源數(shù)據(jù)。
[0038]當(dāng)檢測(cè)本地存在所述請(qǐng)求直播的源數(shù)據(jù)時(shí),所述緩存服務(wù)器實(shí)時(shí)從本地獲取所述請(qǐng)求直播的源數(shù)據(jù)。
[0039]步驟208,檢測(cè)所述緩存服務(wù)器是否為第一級(jí)緩存服務(wù)器。
[0040]當(dāng)檢測(cè)本地不存在所述請(qǐng)求直播的源數(shù)據(jù),由于第一級(jí)緩存服務(wù)器和其他級(jí)緩存服務(wù)器獲取源數(shù)據(jù)的方式存在差異,因此要檢測(cè)該緩存服務(wù)器是否為第一級(jí)緩存服務(wù)器。
[0041]步驟210,所述第一級(jí)緩存服務(wù)器實(shí)時(shí)從所述直播數(shù)據(jù)源服務(wù)器中所述請(qǐng)求直播的源數(shù)據(jù)。
[0042]當(dāng)檢測(cè)本地不存在所述請(qǐng)求直播的源數(shù)據(jù),且所述緩存服務(wù)器為第一級(jí)緩存服務(wù)器時(shí),所述第一級(jí)緩存服務(wù)器實(shí)時(shí)從所述直播數(shù)據(jù)源服務(wù)器中所述請(qǐng)求直播的源數(shù)據(jù),即第一級(jí)緩存服務(wù)器可以直接向直播源數(shù)據(jù)服務(wù)器請(qǐng)求直播的源數(shù)據(jù)。
[0043]本實(shí)施例的數(shù)據(jù)直播系統(tǒng)中直播源數(shù)據(jù)服務(wù)器可以?xún)H向第一級(jí)緩存服務(wù)器提供直播的源數(shù)據(jù),從而有效地減少直播源數(shù)據(jù)服務(wù)器中的設(shè)備接入數(shù)量,確保直播系統(tǒng)的穩(wěn)定性。當(dāng)然直播源數(shù)據(jù)服務(wù)器也可以依據(jù)負(fù)載等情況接入部分用戶(hù)的終端設(shè)備以為其直接提供直播的源數(shù)據(jù),可以依據(jù)具體需求設(shè)定,本發(fā)明實(shí)施例對(duì)此不作限定。
[0044]步驟212,所述緩存服務(wù)器實(shí)時(shí)從與其直接連接的上一級(jí)緩存服務(wù)器中獲取所述請(qǐng)求直播的源數(shù)據(jù)。
[0045]當(dāng)檢測(cè)本地不存在所述請(qǐng)求直播的源數(shù)據(jù),且所述緩存服務(wù)器為第二級(jí)到第N級(jí)中任意一級(jí)緩存服務(wù)器時(shí),所述緩存服務(wù)器實(shí)時(shí)從與其直接連接的上一級(jí)緩存服務(wù)器中獲取所述請(qǐng)求直播的源數(shù)據(jù)。
[0046]本發(fā)明實(shí)施例的數(shù)據(jù)直播系統(tǒng)采用樹(shù)型拓?fù)浣Y(jié)構(gòu),存在第I?N級(jí)緩存服務(wù)器,第一級(jí)緩存服務(wù)器可以直接向直播源數(shù)據(jù)服務(wù)器請(qǐng)求直播的源數(shù)據(jù),而除第一級(jí)以外的其它級(jí)(第二級(jí)到第N級(jí)中任意一級(jí))緩存服務(wù)器則會(huì)向?qū)崟r(shí)地其上一級(jí)緩存服務(wù)器請(qǐng)求直播的源數(shù)據(jù)。從而分散各緩存服務(wù)器接入的終端設(shè)備數(shù)量,為終端設(shè)備提供更優(yōu)質(zhì)的數(shù)據(jù)服務(wù)。
[0047]步驟214,所述緩存服務(wù)器將所述請(qǐng)求直播的源數(shù)據(jù)實(shí)時(shí)反饋給所述終端,以使終端直播所述請(qǐng)求直播的源數(shù)據(jù)。
[0048]緩存服務(wù)器在從本地、上一級(jí)緩存服務(wù)器或直播源數(shù)據(jù)服務(wù)器中獲取請(qǐng)求直播的源數(shù)據(jù)之后,可以將該源數(shù)據(jù)實(shí)時(shí)反饋給終端,使終端中的播放器等設(shè)備可以對(duì)該源數(shù)據(jù)進(jìn)行直播,從而用戶(hù)可以實(shí)時(shí)地觀看直播內(nèi)容。
[0049]綜上所述,以直播數(shù)據(jù)源服務(wù)器為根節(jié)點(diǎn),分別以各級(jí)緩存服務(wù)器為子節(jié)點(diǎn)構(gòu)成具有樹(shù)型拓?fù)浣Y(jié)構(gòu)的數(shù)據(jù)直播系統(tǒng),采用直播數(shù)據(jù)源服務(wù)器存儲(chǔ)直播的源數(shù)據(jù),直播數(shù)據(jù)源服務(wù)器僅向所述第一級(jí)緩存服務(wù)器分發(fā)請(qǐng)求直播的源數(shù)據(jù),從而不會(huì)由于并發(fā)接入過(guò)多節(jié)點(diǎn)而造成直播數(shù)據(jù)源服務(wù)器的擁堵和癱瘓,在該樹(shù)型拓?fù)浣Y(jié)構(gòu)下,緩存服務(wù)器在接收到數(shù)據(jù)直播請(qǐng)求后,可以通過(guò)分級(jí)依次向上一級(jí)緩存服務(wù)器請(qǐng)求數(shù)據(jù)源,從而避免了各級(jí)緩存服務(wù)器由于接入過(guò)多節(jié)點(diǎn)而造成擁堵和癱瘓的問(wèn)題,快速的提供請(qǐng)求直播的源數(shù)據(jù),提高源數(shù)據(jù)的直播質(zhì)量。
[0050]實(shí)施例二
[0051]在上述實(shí)施例的基礎(chǔ)上,本實(shí)施例進(jìn)一步論述數(shù)據(jù)直播系統(tǒng)及其直播方法。
[0052]該樹(shù)型拓?fù)浣Y(jié)構(gòu)的數(shù)據(jù)直播系統(tǒng)中,所述直播數(shù)據(jù)源服務(wù)器101與所述各第一級(jí)緩存服務(wù)器通過(guò)廣域網(wǎng)或以太網(wǎng)直接連接;各第一級(jí)緩存服務(wù)器之間通過(guò)以太網(wǎng)互相連接;具有相同的上一級(jí)緩存服務(wù)器同級(jí)緩存服務(wù)器通過(guò)以太網(wǎng)互相連接;緩存服務(wù)器與其上一級(jí)緩存服務(wù)器通過(guò)廣域網(wǎng)連接。
[0053]其中,由于該數(shù)據(jù)直播系統(tǒng)為不同地域的用戶(hù)提供直播功能,因此緩存服務(wù)器可以分布于不同地域的各機(jī)房?jī)?nèi),因此可以配置具有相同的上一級(jí)緩存服務(wù)器同級(jí)同機(jī)房的緩存服務(wù)器通過(guò)以太網(wǎng)互相連接,而同一級(jí)的不同機(jī)房的服務(wù)器則無(wú)需直接連接。
[0054]即圖1所示的緩存服務(wù)器系統(tǒng)中:
[0055]播數(shù)據(jù)源服務(wù)器101與所述各第一級(jí)緩存服務(wù)器通過(guò)廣域網(wǎng)或以太網(wǎng)直接連接;
[0056]各第一級(jí)緩存服務(wù)器之間通過(guò)以太網(wǎng)互相連接,各第二級(jí)緩存服務(wù)器之間通過(guò)以太網(wǎng)互相連接,同理,各第N級(jí)緩存服務(wù)器之間通過(guò)以太網(wǎng)互相連接;
[0057]第一級(jí)緩存服務(wù)器和其直接連接的第二級(jí)緩存服務(wù)器通過(guò)廣域網(wǎng)連接;同理,第N-1級(jí)緩存服務(wù)器和其直接連接的第N級(jí)緩存服務(wù)器通過(guò)廣域網(wǎng)連接。
[0058]從而,直播源數(shù)據(jù)服務(wù)器和第一級(jí)緩存服務(wù)器,以及各級(jí)緩存服務(wù)器之間可以通過(guò)廣域網(wǎng)/以太網(wǎng)(公網(wǎng)/局域網(wǎng))連接,其中具有不同上一級(jí)緩存服務(wù)器的同級(jí)緩存服務(wù)器之間可以不連接。從而基于不同的網(wǎng)絡(luò)連接類(lèi)型,可以確定請(qǐng)求直播的源數(shù)據(jù)時(shí)向那種緩存服務(wù)器發(fā)送請(qǐng)求。
[0059]其中,由于具有相同上一級(jí)緩存服務(wù)器的同級(jí)緩存服務(wù)器之間通過(guò)廣域網(wǎng)連接,兩者之間的數(shù)據(jù)傳輸速度相對(duì)較快,因此緩存服務(wù)器,還用于查詢(xún)其他同級(jí)緩存服務(wù)器中是否存在所述請(qǐng)求直播的源數(shù)據(jù),其中,所述其他同級(jí)緩存服務(wù)器與所述緩存服務(wù)器具有相同的上一級(jí)緩存服務(wù)器;當(dāng)其他同級(jí)緩存服務(wù)器中存在所述請(qǐng)求直播的源數(shù)據(jù)時(shí),從所述其他同級(jí)緩存服務(wù)器中實(shí)時(shí)獲取所述請(qǐng)求直播的源數(shù)據(jù);當(dāng)其他同級(jí)緩存服務(wù)器中不存在所述請(qǐng)求直播的源數(shù)據(jù)時(shí),觸發(fā)從與其直接連接的上一級(jí)緩存服務(wù)器或直播數(shù)據(jù)源服務(wù)器中實(shí)時(shí)獲取所述請(qǐng)求直播的源數(shù)據(jù)。
[0060]有時(shí)用戶(hù)在觀看直播視頻時(shí),可能當(dāng)前直播尚未解決就停止觀看,即當(dāng)終端停止請(qǐng)求該直播的源數(shù)據(jù),為了減少服務(wù)器的負(fù)擔(dān),緩存服務(wù)器,還用于接收所述終端發(fā)送的直播停止請(qǐng)求,并依據(jù)所述直播停止請(qǐng)求停止獲取所述請(qǐng)求直播的源數(shù)據(jù)。
[0061]本發(fā)明實(shí)施例中,除了位于根節(jié)點(diǎn)的直播數(shù)據(jù)源服務(wù)器之外,位于子節(jié)點(diǎn)(其他機(jī)房節(jié)點(diǎn))的緩存服務(wù)器僅緩存一段時(shí)間內(nèi)的新數(shù)據(jù)內(nèi)容(如2小時(shí)內(nèi)),但同時(shí)也支持用戶(hù)獲取距離當(dāng)前時(shí)間更久以前的數(shù)據(jù)(如72小時(shí)前)的直播內(nèi)容。
[0062]即緩存服務(wù)器僅對(duì)一段時(shí)間內(nèi)直播的源數(shù)據(jù)進(jìn)行緩存,而直播源數(shù)據(jù)服務(wù)器可以存儲(chǔ)時(shí)間較久之前直播的元數(shù)據(jù),因此可以配置直播源數(shù)據(jù)服務(wù)器緩存距當(dāng)前時(shí)刻為設(shè)定間隔A內(nèi)直播的源數(shù)據(jù),緩存服務(wù)器緩存距當(dāng)前時(shí)刻為預(yù)置間隔B內(nèi)直播的源數(shù)據(jù)。其中,設(shè)定間隔A為直播系統(tǒng)中能夠緩存的最長(zhǎng)時(shí)間段直播的視頻數(shù)據(jù),例如72小時(shí)之內(nèi),或一個(gè)星期之內(nèi)等,在此時(shí)間段內(nèi)直播的源數(shù)據(jù)用戶(hù)可以通過(guò)回看等功能出發(fā)請(qǐng)求進(jìn)行觀看。
[0063]因此,緩存服務(wù)器,還用于從所述數(shù)據(jù)直播請(qǐng)求中確定所述請(qǐng)求直播的源數(shù)據(jù)的創(chuàng)建時(shí)刻;確定所述創(chuàng)建時(shí)刻與當(dāng)前時(shí)刻的時(shí)間間隔;當(dāng)所述時(shí)間間隔大于預(yù)置間隔,且所述緩存服務(wù)器為第一級(jí)緩存服務(wù)器時(shí),從所述直播數(shù)據(jù)源服務(wù)器中所述請(qǐng)求直播的源數(shù)據(jù);當(dāng)所述時(shí)間間隔大于預(yù)置間隔,且所述緩存服務(wù)器為第二級(jí)到第N級(jí)中任意一級(jí)緩存服務(wù)器時(shí),通過(guò)與其連接的各級(jí)緩存服務(wù)器逐級(jí)發(fā)送請(qǐng)求以從直播數(shù)據(jù)源服務(wù)器中所述請(qǐng)求直播的源數(shù)據(jù);當(dāng)所述時(shí)間間隔不大于預(yù)置間隔時(shí),觸發(fā)檢測(cè)本地是否存在所述請(qǐng)求直播的源數(shù)據(jù)。
[0064]基于上述數(shù)據(jù)直播系統(tǒng),進(jìn)一步論述數(shù)據(jù)直播方法,步驟流程如圖3所示。
[0065]步驟302,終端發(fā)送直播數(shù)據(jù)請(qǐng)求給緩存服務(wù)器。
[0066]步驟304,緩存服務(wù)器可以依據(jù)直播數(shù)據(jù)請(qǐng)求確定請(qǐng)求緩存的直播源數(shù)據(jù),并確定所述請(qǐng)求直播的源數(shù)據(jù)的創(chuàng)建時(shí)刻。
[0067]步驟306,確定所述創(chuàng)建時(shí)刻與當(dāng)前時(shí)刻的時(shí)間間隔。
[0068]步驟308,檢測(cè)所述時(shí)間間隔是否大于預(yù)置間隔。
[0069]用戶(hù)可以通過(guò)播放器、網(wǎng)頁(yè)等觀看直播內(nèi)容,如開(kāi)啟直播頁(yè)面等觸發(fā)發(fā)送直播數(shù)據(jù)請(qǐng)求,另外,用戶(hù)在觀看直播節(jié)目時(shí),有時(shí)會(huì)直接觀看直播節(jié)目,而有時(shí)會(huì)采用回看等功能對(duì)較前一段時(shí)間直播的數(shù)據(jù)內(nèi)容進(jìn)行觀看,可以寬則相應(yīng)的功能等觸發(fā)發(fā)送直播數(shù)據(jù)請(qǐng)求,因此直播數(shù)據(jù)請(qǐng)求中通常攜帶有請(qǐng)求直播的源數(shù)據(jù)的創(chuàng)建時(shí)刻。
[0070]由于緩存服務(wù)器中僅緩存較短時(shí)間內(nèi)直播的源數(shù)據(jù),而用戶(hù)所能請(qǐng)求回看的最久時(shí)間以前直播的源數(shù)據(jù)需要從直播數(shù)據(jù)源服務(wù)器中獲取,因此在請(qǐng)求該直播源數(shù)據(jù)之前,還要獲取該源數(shù)據(jù)的創(chuàng)建時(shí)刻。
[0071]然后確定創(chuàng)建時(shí)刻與當(dāng)前時(shí)刻的時(shí)間間隔,依據(jù)該時(shí)間間隔確定該源數(shù)據(jù)是否可能存儲(chǔ)在緩存服務(wù)器中,即檢測(cè)該時(shí)間間隔是否大于預(yù)置間隔,即緩存服務(wù)器僅能存儲(chǔ)預(yù)置間隔內(nèi)直播的源數(shù)據(jù)。
[0072]若是,即所述時(shí)間間隔大于預(yù)置間隔,則執(zhí)行步驟314 ;若否,即所述時(shí)間間隔大于預(yù)置間隔,即執(zhí)行步驟310。
[0073]步驟310,緩存服務(wù)器檢測(cè)本地是否存在請(qǐng)求直播的源數(shù)據(jù)。
[0074]其中,若是,即本地存在請(qǐng)求直播的源數(shù)據(jù),則執(zhí)行步驟316 ;若否,即本地不存在請(qǐng)求直播的源數(shù)據(jù),則執(zhí)行312。
[0075]步驟312,緩存服務(wù)器檢測(cè)與其具有相同上一級(jí)緩存服務(wù)器的同級(jí)緩存服務(wù)器是否存在請(qǐng)求直播的源數(shù)據(jù)。
[0076]若是,即同級(jí)緩存服務(wù)器存在請(qǐng)求直播的源數(shù)據(jù),則執(zhí)行步驟316 ;若否,即同級(jí)緩存服務(wù)器不存在請(qǐng)求直播的源數(shù)據(jù),則執(zhí)行314。
[0077]步驟314,檢測(cè)該緩存服務(wù)器是否為第一級(jí)緩存服務(wù)器。
[0078]其中,終端可以按照距離最近、優(yōu)先級(jí)等原則確定接入的緩存服務(wù)器,因此終端接入的緩存服務(wù)器可能是第N級(jí)緩存服務(wù)器,也可能是第一級(jí)緩存服務(wù)器,而第一級(jí)緩存服務(wù)器和其他緩存服務(wù)器在請(qǐng)求直播的源數(shù)據(jù)是存在一定的差異,因此在確定其本地、其他同級(jí)緩存服務(wù)器中沒(méi)有緩存該源數(shù)據(jù)時(shí),就需要檢測(cè)該緩存服務(wù)器是否為第一級(jí)緩存服務(wù)器。
[0079]若是,即緩存服務(wù)器是第一級(jí)緩存服務(wù)器,則執(zhí)行步驟318 ;若否,緩存服務(wù)器不是第一級(jí)緩存服務(wù)器,則執(zhí)行步驟316。
[0080]步驟316,從緩存服務(wù)器中獲取請(qǐng)求直播的源數(shù)據(jù)。
[0081]若該緩存服務(wù)器本地存在請(qǐng)求直播的源數(shù)據(jù),該源數(shù)據(jù)可能是其他終端已經(jīng)請(qǐng)求的,則此時(shí)無(wú)需向其他數(shù)據(jù)源請(qǐng)求,即可從本地獲取請(qǐng)求直播的源數(shù)據(jù)。本發(fā)明實(shí)施例對(duì)于同一臺(tái)緩存服務(wù)器收到兩條相同的數(shù)據(jù)直播請(qǐng)求時(shí),只會(huì)產(chǎn)生一條向上一級(jí)緩存服務(wù)器的數(shù)據(jù)同步連接,即只會(huì)向上一級(jí)緩存服務(wù)器請(qǐng)求一次該源數(shù)據(jù),后續(xù)直接反饋該源數(shù)據(jù)給請(qǐng)求直播的終端即可,從而有效地減少了對(duì)上一級(jí)緩存服務(wù)器的流量沖擊。
[0082]若該緩存服務(wù)器本地不存在請(qǐng)求直播的源數(shù)據(jù),而其他同級(jí)緩存服務(wù)器中存在所述請(qǐng)求直播的源數(shù)據(jù),其中,所述其他同級(jí)緩存服務(wù)器與所述緩存服務(wù)器具有相同的上一級(jí)緩存服務(wù)器,則該緩存服務(wù)器可以通過(guò)兩者連接的以太網(wǎng)從所述其他同級(jí)緩存服務(wù)器中實(shí)時(shí)獲取所述請(qǐng)求直播的源數(shù)據(jù)。因此,同樣的直播內(nèi)容只會(huì)有一份被分發(fā)到具有相同上一級(jí)緩存服務(wù)器的同級(jí)緩存服務(wù)器中,從而減少同步數(shù)據(jù)所需要的跨網(wǎng)流量和并發(fā)請(qǐng)求數(shù)。
[0083]若本地和其他同級(jí)緩存服務(wù)器中均不存在所述請(qǐng)求直播的源數(shù)據(jù),且所述緩存服務(wù)器為第二級(jí)到第N級(jí)中任意一級(jí)緩存服務(wù)器時(shí),該緩存服務(wù)器可以通過(guò)連接兩者的廣域網(wǎng)實(shí)時(shí)從與其直接連接的上一級(jí)緩存服務(wù)器中獲取所述請(qǐng)求直播的源數(shù)據(jù)。
[0084]并且,從上一級(jí)緩存服務(wù)器中獲取該請(qǐng)求直播的源數(shù)據(jù),其中,該上一級(jí)緩存服務(wù)器可以執(zhí)行上述步驟310到314的檢測(cè)步驟,確定從緩存服務(wù)器或直播數(shù)據(jù)源服務(wù)器中獲取請(qǐng)求直播的源數(shù)據(jù),當(dāng)然若預(yù)先檢測(cè)到請(qǐng)求直播的源數(shù)據(jù)的時(shí)間間隔大于預(yù)置間隔則可以直接向上一級(jí)緩存服務(wù)器發(fā)送請(qǐng)求,直到從直播數(shù)據(jù)源服務(wù)器中獲取請(qǐng)求直播的源數(shù)據(jù)為止。
[0085]步驟318,從所述直播數(shù)據(jù)源服務(wù)器中所述請(qǐng)求直播的源數(shù)據(jù)。
[0086]當(dāng)終端向緩存服務(wù)器請(qǐng)求對(duì)源數(shù)據(jù)進(jìn)行直播時(shí),若各級(jí)緩存服務(wù)器中均沒(méi)有該源數(shù)據(jù),則會(huì)逐級(jí)上報(bào)直到向直播數(shù)據(jù)源服務(wù)器進(jìn)行請(qǐng)求,以通過(guò)連接兩者的廣域網(wǎng)或以太網(wǎng)從所述直播數(shù)據(jù)源服務(wù)器中所述請(qǐng)求直播的源數(shù)據(jù)。
[0087]本發(fā)明實(shí)施例可以在緩存服務(wù)器收到用戶(hù)的數(shù)據(jù)直播請(qǐng)求時(shí),才會(huì)觸發(fā)該直播內(nèi)容的分發(fā)流程,從而減少由于主動(dòng)分發(fā)數(shù)據(jù)而造成的帶寬資源浪費(fèi)。
[0088]步驟320,將所述請(qǐng)求直播的源數(shù)據(jù)實(shí)時(shí)反饋給所述終端以直播所述請(qǐng)求直播的源數(shù)據(jù)。
[0089]步驟322,所述緩存服務(wù)器接收所述終端發(fā)送的直播停止請(qǐng)求。
[0090]步驟324,依據(jù)所述直播停止請(qǐng)求停止獲取所述請(qǐng)求直播的源數(shù)據(jù)。
[0091]在獲取到請(qǐng)求直播的源數(shù)據(jù)之后,可以將該源數(shù)據(jù)反饋給終端,從而終端可以對(duì)該源數(shù)據(jù)進(jìn)行播放,使得用戶(hù)觀看直播內(nèi)容,如視頻直播、圖文直播等。
[0092]由于直播通常是隨著事件的發(fā)生生成的,因此在用戶(hù)請(qǐng)求直播源數(shù)據(jù)時(shí),緩存服務(wù)器要實(shí)時(shí)地獲取請(qǐng)求直播的源數(shù)據(jù)并將其反饋給請(qǐng)求的終端,從而終端可以觀看到相應(yīng)的直播內(nèi)容。
[0093]同時(shí),若用戶(hù)停止直播,可以發(fā)送請(qǐng)求直播該源數(shù)據(jù)給連接的緩存服務(wù)器,該緩存服務(wù)器在接收所述終端發(fā)送的直播停止請(qǐng)求后,就可以停止為該終端提供源數(shù)據(jù),此時(shí)若還有其它終端在請(qǐng)求直播該源數(shù)據(jù)則要繼續(xù)獲取,若所有的終端都停止了直播,則可以停止獲取該請(qǐng)求直播的源數(shù)據(jù)。從而在緩存服務(wù)器上不再接收到用戶(hù)端的數(shù)據(jù)直播請(qǐng)求時(shí),系統(tǒng)將不再進(jìn)行數(shù)據(jù)的分發(fā),減少了不必要的數(shù)據(jù)同步。
[0094]并且,本發(fā)明實(shí)施例當(dāng)同一地區(qū)的直播用戶(hù)過(guò)多,導(dǎo)致同一機(jī)房的多臺(tái)緩存服務(wù)器(即具有相同上一級(jí)緩存服務(wù)器的同級(jí)緩存服務(wù)器)同時(shí)服務(wù)相同的直播內(nèi)容時(shí),這些緩存服務(wù)器之間將通過(guò)多播查詢(xún),就近到相鄰?fù)?jí)緩存服務(wù)器上獲取數(shù)據(jù),此時(shí)不需要跨公網(wǎng)到上一級(jí)緩存服務(wù)器中獲取請(qǐng)求直播的源數(shù)據(jù),從而通過(guò)內(nèi)網(wǎng)快速?gòu)?fù)制源數(shù)據(jù),減少用戶(hù)了等待數(shù)據(jù)的延遲,并且降低了上一級(jí)緩存服務(wù)器的負(fù)擔(dān)。
[0095]需要說(shuō)明的是,對(duì)于方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明實(shí)施例并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明實(shí)施例,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書(shū)中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作并不一定是本發(fā)明實(shí)施例所必須的。
[0096]本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可。
[0097]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明實(shí)施例的實(shí)施例可提供為方法、裝置、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明實(shí)施例可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明實(shí)施例可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0098]本發(fā)明實(shí)施例是參照根據(jù)本發(fā)明實(shí)施例的方法、終端設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0099]這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0100]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備上,使得在計(jì)算機(jī)或其他可編程終端設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程終端設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0101]盡管已描述了本發(fā)明實(shí)施例的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明實(shí)施例范圍的所有變更和修改。
[0102]最后,還需要說(shuō)明的是,在本文中,諸如第一和第二等之類(lèi)的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者終端設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者終端設(shè)備中還存在另外的相同要素。
[0103]以上對(duì)本發(fā)明所提供的一種數(shù)據(jù)直播系統(tǒng)和一種數(shù)據(jù)直播方法,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
【權(quán)利要求】
1.一種數(shù)據(jù)直播系統(tǒng),其特征在于,包括:直播數(shù)據(jù)源服務(wù)器和緩存服務(wù)器; 其中,以所述直播數(shù)據(jù)源服務(wù)器為根節(jié)點(diǎn),以所述緩存服務(wù)器為子節(jié)點(diǎn)構(gòu)成樹(shù)型拓?fù)浣Y(jié)構(gòu); 所述緩存服務(wù)器包括:與所述直播數(shù)據(jù)源服務(wù)器直接連接的至少兩個(gè)第一級(jí)緩存服務(wù)器,每個(gè)第一級(jí)緩存服務(wù)器各自連接的至少兩個(gè)第二級(jí)緩存服務(wù)器,以此類(lèi)推,每個(gè)第N-1級(jí)緩存服務(wù)器各自連接的至少兩個(gè)第N級(jí)緩存服務(wù)器,其中N > 2且N為正整數(shù); 則所述直播數(shù)據(jù)源服務(wù)器,用于存儲(chǔ)直播的源數(shù)據(jù),并向所述第一級(jí)緩存服務(wù)器發(fā)送請(qǐng)求直播的源數(shù)據(jù); 所述緩存服務(wù)器,用于依據(jù)終端發(fā)送的數(shù)據(jù)直播請(qǐng)求確定請(qǐng)求直播的源數(shù)據(jù);當(dāng)檢測(cè)本地存在所述請(qǐng)求直播的源數(shù)據(jù)時(shí),實(shí)時(shí)從本地獲取所述請(qǐng)求直播的源數(shù)據(jù);當(dāng)檢測(cè)本地不存在所述請(qǐng)求直播的源數(shù)據(jù),且所述緩存服務(wù)器為第一級(jí)緩存服務(wù)器時(shí),實(shí)時(shí)從所述直播數(shù)據(jù)源服務(wù)器中所述請(qǐng)求直播的源數(shù)據(jù);當(dāng)檢測(cè)本地不存在所述請(qǐng)求直播的源數(shù)據(jù),且所述緩存服務(wù)器為第二級(jí)到第N級(jí)中任意一級(jí)緩存服務(wù)器時(shí),實(shí)時(shí)從與其直接連接的上一級(jí)緩存服務(wù)器中獲取所述請(qǐng)求直播的源數(shù)據(jù);以及將所述請(qǐng)求直播的源數(shù)據(jù)實(shí)時(shí)反饋給所述終端以直播所述請(qǐng)求直播的源數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于: 所述直播數(shù)據(jù)源服務(wù)器與所述各第一級(jí)緩存服務(wù)器通過(guò)廣域網(wǎng)或以太網(wǎng)直接連接;各第一級(jí)緩存服務(wù)器之間通過(guò)以太網(wǎng)互相連接;具有相同的上一級(jí)緩存服務(wù)器同級(jí)緩存服務(wù)器通過(guò)以太網(wǎng)互相連接;緩存服務(wù)器與其上一級(jí)緩存服務(wù)器通過(guò)廣域網(wǎng)連接。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于: 所述緩存服務(wù)器,還用于查詢(xún)其他同級(jí)緩存服務(wù)器中是否存在所述請(qǐng)求直播的源數(shù)據(jù),其中,所述其他同級(jí)緩存服務(wù)器與所述緩存服務(wù)器具有相同的上一級(jí)緩存服務(wù)器;當(dāng)其他同級(jí)緩存服務(wù)器中存在所述請(qǐng)求直播的源數(shù)據(jù)時(shí),從所述其他同級(jí)緩存服務(wù)器中實(shí)時(shí)獲取所述請(qǐng)求直播的源數(shù)據(jù);當(dāng)其他同級(jí)緩存服務(wù)器中不存在所述請(qǐng)求直播的源數(shù)據(jù)時(shí),觸發(fā)從與其直接連接的上一級(jí)緩存服務(wù)器或直播數(shù)據(jù)源服務(wù)器中實(shí)時(shí)獲取所述請(qǐng)求直播的源數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于: 所述緩存服務(wù)器,還用于接收所述終端發(fā)送的直播停止請(qǐng)求,并依據(jù)所述直播停止請(qǐng)求停止獲取所述請(qǐng)求直播的源數(shù)據(jù)。
5.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于, 所述緩存服務(wù)器,還用于從所述數(shù)據(jù)直播請(qǐng)求中確定所述請(qǐng)求直播的源數(shù)據(jù)的創(chuàng)建時(shí)刻;確定所述創(chuàng)建時(shí)刻與當(dāng)前時(shí)刻的時(shí)間間隔;當(dāng)所述時(shí)間間隔大于預(yù)置間隔,且所述緩存服務(wù)器為第一級(jí)緩存服務(wù)器時(shí),從所述直播數(shù)據(jù)源服務(wù)器中所述請(qǐng)求直播的源數(shù)據(jù);當(dāng)所述時(shí)間間隔大于預(yù)置間隔,且所述緩存服務(wù)器為第二級(jí)到第N級(jí)中任意一級(jí)緩存服務(wù)器時(shí),通過(guò)與其連接的各級(jí)緩存服務(wù)器逐級(jí)發(fā)送請(qǐng)求以從直播數(shù)據(jù)源服務(wù)器中所述請(qǐng)求直播的源數(shù)據(jù);當(dāng)所述時(shí)間間隔不大于預(yù)置間隔時(shí),觸發(fā)檢測(cè)本地是否存在所述請(qǐng)求直播的源數(shù)據(jù)。
6.一種數(shù)據(jù)直播方法,其特征在于,應(yīng)用于以所述直播數(shù)據(jù)源服務(wù)器為根節(jié)點(diǎn),以所述緩存服務(wù)器為子節(jié)點(diǎn)構(gòu)成的具有樹(shù)形拓?fù)浣Y(jié)構(gòu)的直播系統(tǒng)中,所述緩存服務(wù)器包括:與所述直播數(shù)據(jù)源直接連接的至少兩個(gè)第一級(jí)緩存服務(wù)器,每個(gè)第一級(jí)緩存服務(wù)器各自連接的至少兩個(gè)第二級(jí)緩存服務(wù)器,以此類(lèi)推,每個(gè)第N-1級(jí)緩存服務(wù)器各自連接的至少兩個(gè)第N級(jí)緩存服務(wù)器,其中N彡2且N為正整數(shù); 所述的方法包括: 緩存服務(wù)器接收終端發(fā)送的數(shù)據(jù)直播請(qǐng)求,并依據(jù)所述數(shù)據(jù)直播請(qǐng)求確定請(qǐng)求直播的源數(shù)據(jù); 所述緩存服務(wù)器檢測(cè)本地是否存在所述請(qǐng)求直播的源數(shù)據(jù); 當(dāng)檢測(cè)本地存在所述請(qǐng)求直播的源數(shù)據(jù)時(shí),所述緩存服務(wù)器實(shí)時(shí)從本地獲取所述請(qǐng)求直播的源數(shù)據(jù); 當(dāng)檢測(cè)本地不存在所述請(qǐng)求直播的源數(shù)據(jù),且所述緩存服務(wù)器為第一級(jí)緩存服務(wù)器時(shí),所述第一級(jí)緩存服務(wù)器實(shí)時(shí)從所述直播數(shù)據(jù)源服務(wù)器中所述請(qǐng)求直播的源數(shù)據(jù); 當(dāng)檢測(cè)本地不存在所述請(qǐng)求直播的源數(shù)據(jù),且所述緩存服務(wù)器為第二級(jí)到第N級(jí)中任意一級(jí)緩存服務(wù)器時(shí),所述緩存服務(wù)器實(shí)時(shí)從與其直接連接的上一級(jí)緩存服務(wù)器中獲取所述請(qǐng)求直播的源數(shù)據(jù); 所述緩存服務(wù)器將所述請(qǐng)求直播的源數(shù)據(jù)實(shí)時(shí)反饋給所述終端,以使終端直播所述請(qǐng)求直播的源數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,檢測(cè)本地不存在所述請(qǐng)求直播的源數(shù)據(jù)之后,還包括: 所述緩存服務(wù)器查詢(xún)其他同級(jí)緩存服務(wù)器中是否存在所述請(qǐng)求直播的源數(shù)據(jù),其中,所述其他同級(jí)緩存服務(wù)器與所述緩存服務(wù)器具有相同的上一級(jí)緩存服務(wù)器; 當(dāng)其他同級(jí)緩存服務(wù)器中存在所述請(qǐng)求直播的源數(shù)據(jù)時(shí),所述緩存服務(wù)器從所述其他同級(jí)緩存服務(wù)器中實(shí)時(shí)獲取所述請(qǐng)求直播的源數(shù)據(jù); 當(dāng)其他同級(jí)緩存服務(wù)器中不存在所述請(qǐng)求直播的源數(shù)據(jù)時(shí),所述緩存服務(wù)器執(zhí)行從與其直接連接的上一級(jí)緩存服務(wù)器或直播數(shù)據(jù)源服務(wù)器中實(shí)時(shí)獲取所述請(qǐng)求直播的源數(shù)據(jù)的步驟。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,還包括: 所述緩存服務(wù)器接收所述終端發(fā)送的直播停止請(qǐng)求,并依據(jù)所述直播停止請(qǐng)求停止獲取所述請(qǐng)求直播的源數(shù)據(jù)。
9.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述緩存服務(wù)器檢測(cè)本地是否存在所述請(qǐng)求直播的源數(shù)據(jù)之前,還包括: 所述緩存服務(wù)器從所述數(shù)據(jù)直播請(qǐng)求中確定所述請(qǐng)求直播的源數(shù)據(jù)的創(chuàng)建時(shí)刻; 確定所述創(chuàng)建時(shí)刻與當(dāng)前時(shí)刻的時(shí)間間隔; 將所述時(shí)間間隔與預(yù)置間隔進(jìn)行比較,并依據(jù)比較結(jié)果確定獲取請(qǐng)求直播的源數(shù)據(jù)的步驟。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,將所述時(shí)間間隔與預(yù)置間隔進(jìn)行比較,并依據(jù)比較結(jié)果確定獲取請(qǐng)求直播的源數(shù)據(jù)的步驟,包括: 當(dāng)所述時(shí)間間隔大于預(yù)置間隔,且所述緩存服務(wù)器為第一級(jí)緩存服務(wù)器時(shí),所述第一級(jí)緩存服務(wù)器從所述直播數(shù)據(jù)源服務(wù)器中所述請(qǐng)求直播的源數(shù)據(jù); 當(dāng)所述時(shí)間間隔大于預(yù)置間隔,且所述緩存服務(wù)器為第二級(jí)到第N級(jí)中任意一級(jí)緩存服務(wù)器時(shí),所述緩存服務(wù)器通過(guò)與其連接的各級(jí)緩存服務(wù)器逐級(jí)發(fā)送請(qǐng)求以從直播數(shù)據(jù)源服務(wù)器中所述請(qǐng)求直播的源數(shù)據(jù); 當(dāng)所述時(shí)間間隔不大于預(yù)置間隔時(shí),所述緩存服務(wù)器執(zhí)行檢測(cè)本地是否存在所述請(qǐng)求直播的源數(shù)據(jù)的步驟。
【文檔編號(hào)】H04N21/231GK104301741SQ201410504982
【公開(kāi)日】2015年1月21日 申請(qǐng)日期:2014年9月26日 優(yōu)先權(quán)日:2014年9月26日
【發(fā)明者】庹虎, 何廣, 楊建光 申請(qǐng)人:北京奇藝世紀(jì)科技有限公司