一種流媒體數(shù)據(jù)發(fā)送方法及裝置的制造方法
【專利摘要】本發(fā)明實(shí)施例公開了一種流媒體數(shù)據(jù)發(fā)送方法及裝置,所述方法包括:根據(jù)下級(jí)節(jié)點(diǎn)發(fā)送的流媒體數(shù)據(jù)請求,確定所述下級(jí)節(jié)點(diǎn)所請求的流媒體的相關(guān)信息;對應(yīng)記錄該下級(jí)節(jié)點(diǎn)以及所述流媒體的相關(guān)信息;每次確定本節(jié)點(diǎn)中有與所述流媒體的相關(guān)信息相應(yīng)的流媒體數(shù)據(jù)時(shí),根據(jù)記錄的對應(yīng)關(guān)系將所述流媒體數(shù)據(jù)發(fā)送至所述下級(jí)節(jié)點(diǎn)。應(yīng)用本發(fā)明,可以使得客戶端獲取流媒體數(shù)據(jù)的過程中減少延時(shí),提高數(shù)據(jù)獲取的實(shí)時(shí)性。
【專利說明】
一種流媒體數(shù)據(jù)發(fā)送方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明實(shí)施例涉及流媒體技術(shù)領(lǐng)域,特別是涉及一種流媒體數(shù)據(jù)發(fā)送方法及裝置。
【背景技術(shù)】
[0002]流媒體是指采用流式傳輸?shù)姆绞皆诨ヂ?lián)網(wǎng)進(jìn)行播放的媒體格式,如音頻、視頻或多媒體文件。流媒體技術(shù)能夠廣泛應(yīng)用于多媒體新聞發(fā)布、在線直播、網(wǎng)絡(luò)廣告、電子商務(wù)、視頻點(diǎn)播、遠(yuǎn)程教育、網(wǎng)絡(luò)電臺(tái)、實(shí)時(shí)視頻會(huì)議等,它豐富了傳統(tǒng)互聯(lián)網(wǎng)內(nèi)容的表現(xiàn)形式,賦予寬帶應(yīng)用更多的娛樂性和互動(dòng)性。
[0003]客戶端的播放器播放流媒體的過程為,播放器向流媒體服務(wù)器發(fā)起流媒體數(shù)據(jù)請求;流媒體接收到請求后向客戶端的播放器返回一定時(shí)長的音/視頻片段數(shù)據(jù);播放器一邊將獲取的數(shù)據(jù)進(jìn)行解碼、播放,一邊繼續(xù)向流媒體請求下一片段的音/視頻數(shù)據(jù)。
[0004]隨著寬帶的普及,流媒體應(yīng)用得到了快速發(fā)展。傳統(tǒng)的由互聯(lián)網(wǎng)內(nèi)容提供商(ICP)直接提供流媒體服務(wù)的方式無法滿足大量用戶訪問的情況。為解決該問題,目前采用內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)進(jìn)行流媒體數(shù)據(jù)的分發(fā)。其技術(shù)原理是,將流媒體數(shù)據(jù)從ICP站點(diǎn)發(fā)送到大量的CDN服務(wù)設(shè)備上,用戶的客戶端從就近的CDN服務(wù)設(shè)備訪問所需要的流媒體數(shù)據(jù)。
[0005]目前,基于CDN的流媒體數(shù)據(jù)分發(fā)平臺(tái)的一種架構(gòu)方式,如圖1所示,包括源服務(wù)器、中繼服務(wù)器、邊緣服務(wù)器。其中,源服務(wù)器可以從ICP站點(diǎn)獲取流媒體數(shù)據(jù);源服務(wù)器是中繼服務(wù)器的上級(jí)節(jié)點(diǎn);
[0006]中繼服務(wù)器作為源服務(wù)器的下級(jí)節(jié)點(diǎn)其功能相對于其上級(jí)節(jié)點(diǎn)是流媒體播放器;同時(shí),中繼服務(wù)器是邊緣服務(wù)器的上級(jí)節(jié)點(diǎn),其功能相對于其下級(jí)節(jié)點(diǎn)是流媒體服務(wù)器;
[0007]邊緣服務(wù)器作為中繼服務(wù)器的下級(jí)節(jié)點(diǎn)其功能相對于其上級(jí)節(jié)點(diǎn)是流媒體播放器,邊緣服務(wù)器作為客戶端的上級(jí)節(jié)點(diǎn)其功能相對于其上級(jí)節(jié)點(diǎn)是流媒體播放器。
[0008]然而,在實(shí)際應(yīng)用中本發(fā)明的發(fā)明人發(fā)現(xiàn),現(xiàn)有方法對于一些實(shí)時(shí)性要求不高的應(yīng)用場景沒有問題,但對于實(shí)時(shí)性要求高的場景,這個(gè)方法就無法勝任了;原因在于,客戶端需要不斷的進(jìn)行數(shù)據(jù)請求,服務(wù)器端為了滿足客戶端請求,必須進(jìn)行一定的數(shù)據(jù)緩存,這樣帶來的結(jié)果是:一方面服務(wù)器端緩存數(shù)據(jù)會(huì)增加數(shù)據(jù)傳輸延時(shí);另一方面每一級(jí)的節(jié)點(diǎn)都是一級(jí)一級(jí)的向上請求,每一級(jí)的節(jié)點(diǎn)都需要進(jìn)行數(shù)據(jù)緩存,這會(huì)進(jìn)一步的增大數(shù)據(jù)延時(shí);而且,一級(jí)一級(jí)的向上請求的交互時(shí)間,也會(huì)增加延時(shí)。
【發(fā)明內(nèi)容】
[0009]有鑒于此,本發(fā)明的目的在于提出一種流媒體數(shù)據(jù)發(fā)送方法及裝置,使得客戶端獲取流媒體數(shù)據(jù)的過程中減少延時(shí),提高數(shù)據(jù)獲取的實(shí)時(shí)性。
[0010]基于上述目的,本發(fā)明實(shí)施例提供的一種流媒體數(shù)據(jù)發(fā)送方法,包括:
[0011]根據(jù)下級(jí)節(jié)點(diǎn)發(fā)送的流媒體數(shù)據(jù)請求,確定所述下級(jí)節(jié)點(diǎn)所請求的流媒體的相關(guān)信息;
[0012]對應(yīng)記錄該下級(jí)節(jié)點(diǎn)以及所述流媒體的相關(guān)信息;
[0013]每次確定本節(jié)點(diǎn)中有與所述流媒體的相關(guān)信息相應(yīng)的流媒體數(shù)據(jù)時(shí),根據(jù)記錄的對應(yīng)關(guān)系將所述流媒體數(shù)據(jù)發(fā)送至所述下級(jí)節(jié)點(diǎn)。
[0014]其中,所述流媒體的相關(guān)信息包括:所述流媒體的標(biāo)識(shí);以及
[0015]所述與所述流媒體的相關(guān)信息相應(yīng)的流媒體數(shù)據(jù)具體為具有所述標(biāo)識(shí)的流媒體的實(shí)時(shí)數(shù)據(jù)。
[0016]或者,所述流媒體的相關(guān)信息包括:所述流媒體的標(biāo)識(shí)和下載位置;以及
[0017]所述與所述流媒體的相關(guān)信息相應(yīng)的流媒體數(shù)據(jù)具體為具有所述標(biāo)識(shí)的流媒體在該下載位置處的流媒體數(shù)據(jù);以及
[0018]所述將所述流媒體數(shù)據(jù)發(fā)送至所述下級(jí)節(jié)點(diǎn)后,還包括:
[0019]根據(jù)發(fā)送的流媒體數(shù)據(jù)更新所述下載位置的信息。
[0020]在本發(fā)明實(shí)施例的另一方面,還提供了一種流媒體數(shù)據(jù)獲取裝置,包括:
[0021]數(shù)據(jù)請求處理模塊,用于根據(jù)下級(jí)節(jié)點(diǎn)發(fā)送的流媒體數(shù)據(jù)請求,確定所述下級(jí)節(jié)點(diǎn)所請求的流媒體的相關(guān)信息;
[0022]訂閱信息記錄模塊,用于對應(yīng)記錄該下級(jí)節(jié)點(diǎn)以及所述流媒體的相關(guān)信息;
[0023]數(shù)據(jù)分發(fā)模塊,用于每次確定本節(jié)點(diǎn)中存儲(chǔ)有與所述流媒體的相關(guān)信息相應(yīng)的流媒體數(shù)據(jù)時(shí),根據(jù)所述訂閱信息記錄模塊記錄的對應(yīng)關(guān)系將所述流媒體數(shù)據(jù)發(fā)送至所述下級(jí)節(jié)點(diǎn)。
[0024]其中,所述訂閱信息記錄模塊具體用于對應(yīng)記錄該下級(jí)節(jié)點(diǎn)以及所述流媒體的相關(guān)信息中的流媒體的標(biāo)識(shí);以及
[0025]所述數(shù)據(jù)分發(fā)模塊具體用于在每次接收到具有所述標(biāo)識(shí)的流媒體的實(shí)時(shí)數(shù)據(jù)時(shí),根據(jù)所述訂閱信息記錄模塊記錄的對應(yīng)關(guān)系將所述實(shí)時(shí)數(shù)據(jù)發(fā)送至所述下級(jí)節(jié)點(diǎn)。
[0026]或者,所述訂閱信息記錄模塊具體用于對應(yīng)記錄該下級(jí)節(jié)點(diǎn)以及所述流媒體的相關(guān)信息中的流媒體的標(biāo)識(shí)以及下載位置;以及
[0027]所述數(shù)據(jù)分發(fā)模塊具體用于在每次確定本節(jié)點(diǎn)中存儲(chǔ)有具有所述標(biāo)識(shí)的流媒體在該下載位置處的流媒體數(shù)據(jù)時(shí),根據(jù)所述訂閱信息記錄模塊記錄的對應(yīng)關(guān)系將所述流媒體數(shù)據(jù)發(fā)送至所述下級(jí)節(jié)點(diǎn)。
[0028]進(jìn)一步,所述裝置還包括:
[0029]訂閱信息更新模塊,用于根據(jù)所述數(shù)據(jù)分發(fā)模塊發(fā)送的流媒體數(shù)據(jù),更新所述下載位置的信息。
[0030]進(jìn)一步,所述裝置還包括:
[0031]結(jié)束請求處理模塊,用于根據(jù)下級(jí)節(jié)點(diǎn)發(fā)送的結(jié)束請求,確定所述結(jié)束請求所涉及的流媒體;將之前對應(yīng)記錄的所述下級(jí)節(jié)點(diǎn)以及所述流媒體的相關(guān)信息刪除。
[0032]本發(fā)明實(shí)施例的技術(shù)方案中,上級(jí)節(jié)點(diǎn)接收到一次下級(jí)節(jié)點(diǎn)發(fā)送的流媒體數(shù)據(jù)請求后,記錄請求信息中攜帶的流媒體的相關(guān)信息與該下級(jí)節(jié)點(diǎn)的對應(yīng)關(guān)系;并在后續(xù)接收到該流媒體的數(shù)據(jù)后,不需要下級(jí)節(jié)點(diǎn)再發(fā)送請求,就可以自動(dòng)根據(jù)記錄將該流媒體的數(shù)據(jù)向該下級(jí)節(jié)點(diǎn)發(fā)送。如此,下級(jí)節(jié)點(diǎn)在獲取流媒體數(shù)據(jù)的過程中,就不需要不斷地向上級(jí)節(jié)點(diǎn)發(fā)送數(shù)據(jù)請求,節(jié)省了交互時(shí)間,減少了延時(shí),尤其對于傳輸節(jié)點(diǎn)越多的情況,減小延時(shí)的效果越好;另一方面,上級(jí)節(jié)點(diǎn)還可以在獲取到流媒體數(shù)據(jù)時(shí)就立即向下級(jí)節(jié)點(diǎn)發(fā)送,不需要進(jìn)行緩存,節(jié)省了緩存時(shí)間,進(jìn)一步減少了延時(shí),而且還減少了對緩存的需求。從而最終達(dá)到減少客戶端獲取流媒體實(shí)時(shí)數(shù)據(jù)的延時(shí),提高數(shù)據(jù)獲取實(shí)時(shí)性的目的。
【附圖說明】
[0033]圖1為現(xiàn)有技術(shù)的基于CDN的流媒體數(shù)據(jù)分發(fā)平臺(tái)的架構(gòu)示意圖;
[0034]圖2為本發(fā)明實(shí)施例一的流媒體數(shù)據(jù)發(fā)送方法的流程圖;
[0035]圖3為本發(fā)明實(shí)施例一的流媒體數(shù)據(jù)發(fā)送裝置的內(nèi)部結(jié)構(gòu)框圖;
[0036]圖4為本發(fā)明實(shí)施例一的流媒體數(shù)據(jù)發(fā)送方法的流程圖;
[0037]圖5為本發(fā)明實(shí)施例二的流媒體數(shù)據(jù)發(fā)送裝置的內(nèi)部結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0038]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。
[0039]下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。
[0040]本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個(gè)”、“所述”和“該”也可包括復(fù)數(shù)形式。應(yīng)該進(jìn)一步理解的是,本發(fā)明的說明書中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個(gè)或多個(gè)其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱元件被“連接”或“耦接”到另一元件時(shí),它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“親接”可以包括無線連接或無線耦接。這里使用的措辭“和/或”包括一個(gè)或更多個(gè)相關(guān)聯(lián)的列出項(xiàng)的全部或任一單元和全部組合。
[0041]需要說明的是,本發(fā)明實(shí)施例中所有使用“第一”和“第二”的表述均是為了區(qū)分兩個(gè)相同名稱非相同的實(shí)體或者非相同的參量,可見“第一” “第二”僅為了表述的方便,不應(yīng)理解為對本發(fā)明實(shí)施例的限定,后續(xù)實(shí)施例對此不再一一說明。
[0042]本發(fā)明實(shí)施例的技術(shù)方案中,使用主動(dòng)推送數(shù)據(jù)的方式來提高客戶端獲取流媒體數(shù)據(jù)的實(shí)時(shí)性:上級(jí)節(jié)點(diǎn)根據(jù)下級(jí)節(jié)點(diǎn)發(fā)送的流媒體數(shù)據(jù)請求,確定所述下級(jí)節(jié)點(diǎn)所請求的流媒體的相關(guān)信息,并對應(yīng)記錄該下級(jí)節(jié)點(diǎn)以及所述流媒體的相關(guān)信息;在后續(xù)每次確定本節(jié)點(diǎn)中有與所述流媒體的相關(guān)信息相應(yīng)的流媒體數(shù)據(jù)時(shí),根據(jù)記錄的對應(yīng)關(guān)系將所述流媒體數(shù)據(jù)發(fā)送至所述下級(jí)節(jié)點(diǎn)。
[0043]這樣,上級(jí)節(jié)點(diǎn)接收到一次下級(jí)節(jié)點(diǎn)發(fā)送的流媒體數(shù)據(jù)請求后,即記錄請求信息中攜帶的流媒體的相關(guān)信息與該下級(jí)節(jié)點(diǎn)的對應(yīng)關(guān)系;并在后續(xù)接收到該流媒體的數(shù)據(jù)后,不需要下級(jí)節(jié)點(diǎn)再發(fā)送請求,就可以自動(dòng)根據(jù)記錄將該流媒體的數(shù)據(jù)向該下級(jí)節(jié)點(diǎn)發(fā)送。如此,下級(jí)節(jié)點(diǎn)在獲取流媒體數(shù)據(jù)的過程中,就不需要不斷地向上級(jí)節(jié)點(diǎn)發(fā)送數(shù)據(jù)請求,節(jié)省了交互時(shí)間,減少了延時(shí),尤其對于傳輸節(jié)點(diǎn)越多的情況,減小延時(shí)的效果越好;另一方面,上級(jí)節(jié)點(diǎn)一旦獲取到流媒體數(shù)據(jù)就可以立即向下級(jí)節(jié)點(diǎn)發(fā)送,不需要進(jìn)行緩存,節(jié)省了緩存時(shí)間,進(jìn)一步減少了延時(shí),而且還減少了對緩存的需求。從而最終達(dá)到減少客戶端獲取流媒體數(shù)據(jù)的延時(shí),提高數(shù)據(jù)獲取實(shí)時(shí)性的目的。
[0044]本發(fā)明提供了兩個(gè)實(shí)施例;其中,實(shí)施例一是針對實(shí)時(shí)數(shù)據(jù)源應(yīng)用場景的技術(shù)方案;實(shí)施例二是針對預(yù)存音、視頻文件的應(yīng)用場景的技術(shù)方案。
[0045]下面結(jié)合附圖詳細(xì)說明本發(fā)明的技術(shù)方案。
[0046]實(shí)施例一
[0047]本發(fā)明實(shí)施例一提供的一種流媒體數(shù)據(jù)發(fā)送方法,具體流程如圖2所示,包括如下步驟:
[0048]步驟S201:上級(jí)節(jié)點(diǎn)接收下級(jí)節(jié)點(diǎn)發(fā)送的流媒體數(shù)據(jù)請求,并確定下級(jí)節(jié)點(diǎn)所請求的流媒體的相關(guān)信息中包括流媒體的標(biāo)識(shí)。
[0049]具體地,上級(jí)節(jié)點(diǎn)可以是源服務(wù)器,下級(jí)節(jié)點(diǎn)可以是中繼服務(wù)器;源服務(wù)器可以接收到其下級(jí)節(jié)點(diǎn)中繼服務(wù)器發(fā)送的流媒體數(shù)據(jù)請求。
[0050]或者,上級(jí)節(jié)點(diǎn)可以是中繼服務(wù)器,下級(jí)節(jié)點(diǎn)可以是邊緣服務(wù)器;中繼服務(wù)器可以接收到其下級(jí)節(jié)點(diǎn)邊緣服務(wù)器發(fā)送的流媒體數(shù)據(jù)請求。
[0051]或者,上級(jí)節(jié)點(diǎn)可以是邊緣服務(wù)器,下級(jí)節(jié)點(diǎn)可以是用戶的客戶端;邊緣服務(wù)器可以接收到其下級(jí)節(jié)點(diǎn)客戶端發(fā)送的流媒體數(shù)據(jù)請求。
[0052]其中,流媒體數(shù)據(jù)請求中可以攜帶有下級(jí)節(jié)點(diǎn)所請求的流媒體的相關(guān)信息。若所請求的流媒體為拍攝設(shè)備實(shí)時(shí)拍攝的流媒體,則攜帶的流媒體的相關(guān)信息中包括所請求的流媒體的標(biāo)識(shí)。
[0053]本步驟中,上級(jí)節(jié)點(diǎn)可以根據(jù)接收的流媒體數(shù)據(jù)請求,確定下級(jí)節(jié)點(diǎn)所請求的流媒體的標(biāo)識(shí)。
[0054]步驟S202:上級(jí)節(jié)點(diǎn)在用戶訂閱表中對應(yīng)記錄該下級(jí)節(jié)點(diǎn)以及確定出的流媒體的相關(guān)信息;其中,流媒體的相關(guān)信息具體包括流媒體的標(biāo)識(shí)。
[0055]具體地,上級(jí)節(jié)點(diǎn)會(huì)長期維護(hù)一個(gè)用戶訂閱表,在接收到下級(jí)節(jié)點(diǎn)發(fā)送的流媒體數(shù)據(jù)請求后,在用戶訂閱表記錄將該下級(jí)節(jié)點(diǎn)以及在上述步驟S201中確定出的流媒體的相關(guān)信息的對應(yīng)關(guān)系。
[0056]步驟S203:上級(jí)節(jié)點(diǎn)每次確定本節(jié)點(diǎn)中有與所述流媒體的相關(guān)信息相應(yīng)的流媒體數(shù)據(jù)時(shí),將所述流媒體數(shù)據(jù)發(fā)送至所述下級(jí)節(jié)點(diǎn)。
[0057]本步驟中,上級(jí)節(jié)點(diǎn)每次接收到具有所述標(biāo)識(shí)的流媒體的實(shí)時(shí)數(shù)據(jù)時(shí),則根據(jù)記錄的對應(yīng)關(guān)系將接收的實(shí)時(shí)數(shù)據(jù)發(fā)送至相應(yīng)的下級(jí)節(jié)點(diǎn)。
[0058]具體地,每當(dāng)上級(jí)節(jié)點(diǎn)接收到某個(gè)數(shù)據(jù)源的實(shí)時(shí)數(shù)據(jù)時(shí),確定該實(shí)時(shí)數(shù)據(jù)所屬流媒體的標(biāo)識(shí);進(jìn)而查找用戶訂閱表中該流媒體的標(biāo)識(shí)所對應(yīng)的下級(jí)節(jié)點(diǎn);之后,將接收的實(shí)時(shí)數(shù)據(jù)向查找出的下級(jí)節(jié)點(diǎn)進(jìn)行發(fā)送。
[0059]進(jìn)一步,上級(jí)節(jié)點(diǎn)還可結(jié)束對下級(jí)節(jié)點(diǎn)的數(shù)據(jù)發(fā)送,具體如下步驟S204、S205所述。
[0060]步驟S204:上級(jí)節(jié)點(diǎn)接收到所述下級(jí)節(jié)點(diǎn)發(fā)送的結(jié)束請求后,確定所述結(jié)束請求所涉及的流媒體。
[0061]具體地,上級(jí)節(jié)點(diǎn)根據(jù)下級(jí)節(jié)點(diǎn)發(fā)送的結(jié)束請求中攜帶的流媒體的標(biāo)識(shí),可以確定該結(jié)束請求所涉及的流媒體。
[0062]步驟S205:上級(jí)節(jié)點(diǎn)將之前對應(yīng)記錄的所述下級(jí)節(jié)點(diǎn)以及所述流媒體的相關(guān)信息刪除。
[0063]具體地,上級(jí)節(jié)點(diǎn)將之前對應(yīng)記錄的所述下級(jí)節(jié)點(diǎn)以及所述流媒體的標(biāo)識(shí)從用戶訂閱表中刪除。由此,上級(jí)節(jié)點(diǎn)如果后續(xù)還接收到所述流媒體的實(shí)時(shí)數(shù)據(jù),但是由于用戶訂閱表中已不存在該下級(jí)節(jié)點(diǎn)與所述流媒體的標(biāo)識(shí)的對應(yīng)記錄,因此,上級(jí)節(jié)點(diǎn)將不再向該下級(jí)節(jié)點(diǎn)發(fā)送該流媒體的數(shù)據(jù),也就是說,上級(jí)節(jié)點(diǎn)停止繼續(xù)向該下級(jí)節(jié)點(diǎn)發(fā)送該流媒體的數(shù)據(jù)。
[0064]基于上述方法,本發(fā)明實(shí)施例一還提供了一種設(shè)置于中繼服務(wù)器或邊緣服務(wù)器中的數(shù)據(jù)發(fā)送裝置,該裝置可以作為上級(jí)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)分發(fā)的裝置,內(nèi)部結(jié)構(gòu)如圖3所示,包括:數(shù)據(jù)請求處理模塊301、訂閱信息記錄模塊302、數(shù)據(jù)分發(fā)模塊303。
[0065]數(shù)據(jù)請求處理模塊301用于根據(jù)下級(jí)節(jié)點(diǎn)發(fā)送的流媒體數(shù)據(jù)請求,確定所述下級(jí)節(jié)點(diǎn)所請求的流媒體的相關(guān)信息;其中,確定的流媒體的相關(guān)信息具體包括所請求的流媒體的標(biāo)識(shí)。
[0066]訂閱信息記錄模塊302用于對應(yīng)記錄該下級(jí)節(jié)點(diǎn)以及所述流媒體的相關(guān)信息;具體地,訂閱信息記錄模塊302在用戶訂閱表中對應(yīng)記錄該下級(jí)節(jié)點(diǎn)以及所述流媒體的相關(guān)信息中的流媒體的標(biāo)識(shí)。
[0067]數(shù)據(jù)分發(fā)模塊303用于每次確定本節(jié)點(diǎn)中存儲(chǔ)有與所述流媒體的相關(guān)信息相應(yīng)的流媒體數(shù)據(jù)時(shí),根據(jù)所述訂閱信息記錄模塊記錄的對應(yīng)關(guān)系將所述流媒體數(shù)據(jù)發(fā)送至所述下級(jí)節(jié)點(diǎn)。具體地,數(shù)據(jù)分發(fā)模塊303在每次接收到具有所述標(biāo)識(shí)的流媒體的實(shí)時(shí)數(shù)據(jù)時(shí),根據(jù)所述訂閱信息記錄模塊記錄的對應(yīng)關(guān)系將所述實(shí)時(shí)數(shù)據(jù)發(fā)送至所述下級(jí)節(jié)點(diǎn)。
[0068]進(jìn)一步,本發(fā)明實(shí)施例一的數(shù)據(jù)發(fā)送裝置中還可以包括:結(jié)束請求處理模塊304。
[0069]結(jié)束請求處理模塊304用于根據(jù)下級(jí)節(jié)點(diǎn)發(fā)送的結(jié)束請求,確定所述結(jié)束請求所涉及的流媒體;將之前在用戶訂閱表中對應(yīng)記錄的所述下級(jí)節(jié)點(diǎn)以及所述流媒體的相關(guān)信息刪除。
[0070]本發(fā)明實(shí)施例一的技術(shù)方案中,上級(jí)節(jié)點(diǎn)接收到一次下級(jí)節(jié)點(diǎn)發(fā)送的流媒體數(shù)據(jù)請求后,記錄請求信息中攜帶的流媒體的相關(guān)信息與該下級(jí)節(jié)點(diǎn)的對應(yīng)關(guān)系;并在后續(xù)接收到該流媒體的數(shù)據(jù)后,不需要下級(jí)節(jié)點(diǎn)再發(fā)送請求,就可以自動(dòng)根據(jù)記錄將該流媒體的數(shù)據(jù)向該下級(jí)節(jié)點(diǎn)發(fā)送。如此,下級(jí)節(jié)點(diǎn)在獲取流媒體數(shù)據(jù)的過程中,就不需要不斷地向上級(jí)節(jié)點(diǎn)發(fā)送數(shù)據(jù)請求,節(jié)省了交互時(shí)間,減少了延時(shí),尤其對于傳輸節(jié)點(diǎn)越多的情況,減小延時(shí)的效果越好;另一方面,上級(jí)節(jié)點(diǎn)一旦獲取到流媒體的實(shí)時(shí)數(shù)據(jù)就可以立即向下級(jí)節(jié)點(diǎn)發(fā)送,不需要進(jìn)行緩存,節(jié)省了緩存時(shí)間,進(jìn)一步減少了延時(shí),而且還減少了對緩存的需求。從而最終達(dá)到減少客戶端獲取流媒體實(shí)時(shí)數(shù)據(jù)的延時(shí),提高數(shù)據(jù)獲取實(shí)時(shí)性的目的。
[0071]實(shí)施例二
[0072]本發(fā)明實(shí)施例二提供的一種流媒體數(shù)據(jù)發(fā)送方法,具體流程如圖4所示,包括如下步驟:
[0073]步驟S401:上級(jí)節(jié)點(diǎn)接收下級(jí)節(jié)點(diǎn)發(fā)送的流媒體數(shù)據(jù)請求,并確定下級(jí)節(jié)點(diǎn)所請求的流媒體的相關(guān)信息中包括流媒體的標(biāo)識(shí)和下載位置。
[0074]具體地,上級(jí)節(jié)點(diǎn)可以是源服務(wù)器,下級(jí)節(jié)點(diǎn)可以是中繼服務(wù)器;源服務(wù)器可以接收到其下級(jí)節(jié)點(diǎn)中繼服務(wù)器發(fā)送的流媒體數(shù)據(jù)請求。
[0075]或者,上級(jí)節(jié)點(diǎn)可以是中繼服務(wù)器,下級(jí)節(jié)點(diǎn)可以是邊緣服務(wù)器;中繼服務(wù)器可以接收到其下級(jí)節(jié)點(diǎn)邊緣服務(wù)器發(fā)送的流媒體數(shù)據(jù)請求。
[0076]或者,上級(jí)節(jié)點(diǎn)可以是邊緣服務(wù)器,下級(jí)節(jié)點(diǎn)可以是用戶的客戶端;邊緣服務(wù)器可以接收到其下級(jí)節(jié)點(diǎn)客戶端發(fā)送的流媒體數(shù)據(jù)請求。
[0077]其中,流媒體數(shù)據(jù)請求中可以攜帶有下級(jí)節(jié)點(diǎn)所請求的流媒體的相關(guān)信息。若所請求的流媒體為以文件形式存儲(chǔ)的流媒體,比如存儲(chǔ)的音/視頻多媒體文件,則攜帶的流媒體的相關(guān)信息中包括所請求的流媒體的標(biāo)識(shí)以及所請求的下載位置。具體地,流媒體的標(biāo)識(shí)具體可以是多媒體文件的名稱,下載位置具體指的是所請求的多媒體文件的下載位置。
[0078]本步驟中,上級(jí)節(jié)點(diǎn)可以根據(jù)接收的流媒體數(shù)據(jù)請求,確定下級(jí)節(jié)點(diǎn)所請求的流媒體的相關(guān)信息中可以包括流媒體的標(biāo)識(shí)和下載位置。
[OO79 ] 步驟S40 2:上級(jí)節(jié)點(diǎn)在用戶訂閱表中對應(yīng)記錄該下級(jí)節(jié)點(diǎn)以及確定出的流媒體的相關(guān)信息。
[0080]具體地,上級(jí)節(jié)點(diǎn)會(huì)長期維護(hù)一個(gè)用戶訂閱表,在接收到下級(jí)節(jié)點(diǎn)發(fā)送的流媒體數(shù)據(jù)請求后,在用戶訂閱表記錄將該下級(jí)節(jié)點(diǎn)以及在上述步驟S401中確定出的流媒體的相關(guān)信息的對應(yīng)關(guān)系。
[0081 ]步驟S403:上級(jí)節(jié)點(diǎn)每次確定本節(jié)點(diǎn)中存儲(chǔ)有與所述流媒體的相關(guān)信息相應(yīng)的流媒體數(shù)據(jù)時(shí),將所述流媒體數(shù)據(jù)發(fā)送至所述下級(jí)節(jié)點(diǎn),并更新用戶訂閱表中對應(yīng)所述下級(jí)節(jié)點(diǎn)記錄的流媒體的下載位置。
[0082]本步驟中,上級(jí)節(jié)點(diǎn)每次接收到具有所述標(biāo)識(shí)的流媒體在該下載位置處的流媒體數(shù)據(jù)時(shí),則根據(jù)記錄的對應(yīng)關(guān)系將接收的流媒體發(fā)送至相應(yīng)的下級(jí)節(jié)點(diǎn)。
[0083]或者,上級(jí)節(jié)點(diǎn)對所述標(biāo)識(shí)的流媒體的整個(gè)文件進(jìn)行了緩存,并周期性地掃描用戶訂閱表,根據(jù)用戶訂閱表中記錄的所述下級(jí)節(jié)點(diǎn)與所述標(biāo)識(shí)的流媒體的對應(yīng)關(guān)系,確定本節(jié)點(diǎn)中存儲(chǔ)有該流媒體的文件時(shí),將該流媒體的相應(yīng)下載位置的流媒體數(shù)據(jù)向該下級(jí)節(jié)點(diǎn)進(jìn)行發(fā)送。
[0084]本步驟中,上級(jí)節(jié)點(diǎn)將流媒體數(shù)據(jù)發(fā)送至所述下級(jí)節(jié)點(diǎn)后,還更新用戶訂閱表中對應(yīng)所述下級(jí)節(jié)點(diǎn)記錄的流媒體的下載位置。
[0085]例如,上級(jí)節(jié)點(diǎn)將第m個(gè)流媒體數(shù)據(jù)包發(fā)送至所述下級(jí)節(jié)點(diǎn)后,則將第m+1流媒體數(shù)據(jù)包所對應(yīng)的下載位置更新記錄到用戶訂閱表中與所述下級(jí)節(jié)點(diǎn)相對應(yīng)的流媒體相關(guān)信息中,以便在下次向下級(jí)節(jié)點(diǎn)發(fā)送第m+1流媒體數(shù)據(jù)包。
[0086]進(jìn)一步,上級(jí)節(jié)點(diǎn)還可結(jié)束對下級(jí)節(jié)點(diǎn)的數(shù)據(jù)發(fā)送,具體如下步驟S404、S405所述。
[0087]步驟S404:上級(jí)節(jié)點(diǎn)接收到所述下級(jí)節(jié)點(diǎn)發(fā)送的結(jié)束請求后,確定所述結(jié)束請求所涉及的流媒體。
[0088]具體地,上級(jí)節(jié)點(diǎn)根據(jù)下級(jí)節(jié)點(diǎn)發(fā)送的結(jié)束請求中攜帶的流媒體的標(biāo)識(shí),可以確定該結(jié)束請求所涉及的流媒體。
[0089]步驟S405:上級(jí)節(jié)點(diǎn)將之前對應(yīng)記錄的所述下級(jí)節(jié)點(diǎn)以及所述流媒體的相關(guān)信息刪除。
[0090]具體地,上級(jí)節(jié)點(diǎn)將之前對應(yīng)記錄的所述下級(jí)節(jié)點(diǎn)以及所述流媒體的標(biāo)識(shí)和下載位置從用戶訂閱表中刪除。由此,上級(jí)節(jié)點(diǎn)將不再向該下級(jí)節(jié)點(diǎn)發(fā)送該流媒體的數(shù)據(jù),也就是說,上級(jí)節(jié)點(diǎn)停止繼續(xù)向該下級(jí)節(jié)點(diǎn)發(fā)送該流媒體的數(shù)據(jù)。
[0091]基于上述本發(fā)明實(shí)施例二的流媒體數(shù)據(jù)發(fā)送方法,本發(fā)明實(shí)施例二還提供了一種設(shè)置于中繼服務(wù)器或邊緣服務(wù)器中的流媒體數(shù)據(jù)發(fā)送裝置,該裝置可以作為上級(jí)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)分發(fā)的裝置,內(nèi)部結(jié)構(gòu)如圖5所示,包括:數(shù)據(jù)請求處理模塊501、訂閱信息記錄模塊502、數(shù)據(jù)分發(fā)模塊503。
[0092]數(shù)據(jù)請求處理模塊501用于根據(jù)下級(jí)節(jié)點(diǎn)發(fā)送的流媒體數(shù)據(jù)請求,確定所述下級(jí)節(jié)點(diǎn)所請求的流媒體的相關(guān)信息;其中,確定的流媒體的相關(guān)信息具體包括流媒體的標(biāo)識(shí)以及下載位置。
[0093]訂閱信息記錄模塊502用于對應(yīng)記錄該下級(jí)節(jié)點(diǎn)以及所述流媒體的相關(guān)信息;具體地,訂閱信息記錄模塊502根據(jù)數(shù)據(jù)請求處理模塊501確定的流媒體的相關(guān)信息,對應(yīng)記錄該下級(jí)節(jié)點(diǎn)以及所述流媒體的相關(guān)信息中的流媒體的標(biāo)識(shí)以及下載位置。
[0094]數(shù)據(jù)分發(fā)模塊503用于每次確定本節(jié)點(diǎn)中存儲(chǔ)有與所述流媒體的相關(guān)信息相應(yīng)的流媒體數(shù)據(jù)時(shí),根據(jù)所述訂閱信息記錄模塊記錄的對應(yīng)關(guān)系將所述流媒體數(shù)據(jù)發(fā)送至所述下級(jí)節(jié)點(diǎn)。具體地,數(shù)據(jù)分發(fā)模塊503在每次確定本節(jié)點(diǎn)中存儲(chǔ)有具有所述標(biāo)識(shí)的流媒體在該下載位置處的流媒體數(shù)據(jù)時(shí),根據(jù)訂閱信息記錄模塊502記錄的對應(yīng)關(guān)系將所述流媒體數(shù)據(jù)發(fā)送至所述下級(jí)節(jié)點(diǎn)。
[0095]進(jìn)一步,本發(fā)明實(shí)施例二的流媒體數(shù)據(jù)發(fā)送裝置還可以包括:結(jié)束請求處理模塊
504。
[0096]結(jié)束請求處理模塊504用于根據(jù)下級(jí)節(jié)點(diǎn)發(fā)送的結(jié)束請求,確定所述結(jié)束請求所涉及的流媒體;將之前對應(yīng)記錄的所述下級(jí)節(jié)點(diǎn)以及所述流媒體的相關(guān)信息刪除。
[0097]進(jìn)一步,本發(fā)明實(shí)施例二的流媒體數(shù)據(jù)發(fā)送裝置還可以包括:訂閱信息更新模塊
505。
[0098]訂閱信息更新模塊505用于根據(jù)所述數(shù)據(jù)分發(fā)模塊發(fā)送的流媒體數(shù)據(jù),更新所述下載位置的信息。
[0099]本發(fā)明實(shí)施例二的技術(shù)方案中,上級(jí)節(jié)點(diǎn)接收到一次下級(jí)節(jié)點(diǎn)發(fā)送的流媒體數(shù)據(jù)請求后,記錄請求信息中攜帶的流媒體的相關(guān)信息與該下級(jí)節(jié)點(diǎn)的對應(yīng)關(guān)系;并在后續(xù)接收到該流媒體的數(shù)據(jù)后,不需要下級(jí)節(jié)點(diǎn)再發(fā)送請求,就可以自動(dòng)根據(jù)記錄將該流媒體的數(shù)據(jù)向該下級(jí)節(jié)點(diǎn)發(fā)送。如此,下級(jí)節(jié)點(diǎn)在獲取流媒體數(shù)據(jù)的過程中,就不需要不斷地向上級(jí)節(jié)點(diǎn)發(fā)送數(shù)據(jù)請求,節(jié)省了交互時(shí)間,減少了延時(shí),尤其對于傳輸節(jié)點(diǎn)越多的情況,減小延時(shí)的效果越好;另一方面,上級(jí)節(jié)點(diǎn)還可以在獲取到流媒體數(shù)據(jù)時(shí)就立即向下級(jí)節(jié)點(diǎn)發(fā)送,不需要進(jìn)行緩存,節(jié)省了緩存時(shí)間,進(jìn)一步減少了延時(shí),而且還減少了對緩存的需求。從而最終達(dá)到減少客戶端獲取流媒體實(shí)時(shí)數(shù)據(jù)的延時(shí),提高數(shù)據(jù)獲取實(shí)時(shí)性的目的。
[0100]本技術(shù)領(lǐng)域技術(shù)人員可以理解,本發(fā)明包括涉及用于執(zhí)行本申請中所述操作中的一項(xiàng)或多項(xiàng)的設(shè)備。這些設(shè)備可以為所需的目的而專門設(shè)計(jì)和制造,或者也可以包括通用計(jì)算機(jī)中的已知設(shè)備。這些設(shè)備具有存儲(chǔ)在其內(nèi)的計(jì)算機(jī)程序,這些計(jì)算機(jī)程序選擇性地激活或重構(gòu)。這樣的計(jì)算機(jī)程序可以被存儲(chǔ)在設(shè)備(例如,計(jì)算機(jī))可讀介質(zhì)中或者存儲(chǔ)在適于存儲(chǔ)電子指令并分別耦聯(lián)到總線的任何類型的介質(zhì)中,所述計(jì)算機(jī)可讀介質(zhì)包括但不限于任何類型的盤(包括軟盤、硬盤、光盤、CD-ROM、和磁光盤)、R0M(Read-0nly Memory,只讀存儲(chǔ)器)、RAM (Random Access Memory,隨即存儲(chǔ)器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦寫可編程只讀存儲(chǔ)器)、EEPR0M(E1 ectricalIy ErasableProgrammable Read-Only Memory,電可擦可編程只讀存儲(chǔ)器)、閃存、磁性卡片或光線卡片。也就是,可讀介質(zhì)包括由設(shè)備(例如,計(jì)算機(jī))以能夠讀的形式存儲(chǔ)或傳輸信息的任何介質(zhì)。
[0101]本技術(shù)領(lǐng)域技術(shù)人員可以理解,可以用計(jì)算機(jī)程序指令來實(shí)現(xiàn)這些結(jié)構(gòu)圖和/或框圖和/或流圖中的每個(gè)框以及這些結(jié)構(gòu)圖和/或框圖和/或流圖中的框的組合。本技術(shù)領(lǐng)域技術(shù)人員可以理解,可以將這些計(jì)算機(jī)程序指令提供給通用計(jì)算機(jī)、專業(yè)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理方法的處理器來實(shí)現(xiàn),從而通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理方法的處理器來執(zhí)行本發(fā)明公開的結(jié)構(gòu)圖和/或框圖和/或流圖的框或多個(gè)框中指定的方案。
[0102]本技術(shù)領(lǐng)域技術(shù)人員可以理解,本發(fā)明中已經(jīng)討論過的各種操作、方法、流程中的步驟、措施、方案可以被交替、更改、組合或刪除。進(jìn)一步地,具有本發(fā)明中已經(jīng)討論過的各種操作、方法、流程中的其他步驟、措施、方案也可以被交替、更改、重排、分解、組合或刪除。進(jìn)一步地,現(xiàn)有技術(shù)中的具有與本發(fā)明中公開的各種操作、方法、流程中的步驟、措施、方案也可以被交替、更改、重排、分解、組合或刪除。
[0103]所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:以上任何實(shí)施例的討論僅為示例性的,并非旨在暗示本公開的范圍(包括權(quán)利要求)被限于這些例子;在本發(fā)明的思路下,以上實(shí)施例或者不同實(shí)施例中的技術(shù)特征之間也可以進(jìn)行組合,步驟可以以任意順序?qū)崿F(xiàn),并存在如上所述的本發(fā)明的不同方面的許多其它變化,為了簡明它們沒有在細(xì)節(jié)中提供。因此,凡在本發(fā)明的精神和原則之內(nèi),所做的任何省略、修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種流媒體數(shù)據(jù)發(fā)送方法,其特征在于,包括: 根據(jù)下級(jí)節(jié)點(diǎn)發(fā)送的流媒體數(shù)據(jù)請求,確定所述下級(jí)節(jié)點(diǎn)所請求的流媒體的相關(guān)信息; 對應(yīng)記錄該下級(jí)節(jié)點(diǎn)以及所述流媒體的相關(guān)信息; 每次確定本節(jié)點(diǎn)中有與所述流媒體的相關(guān)信息相應(yīng)的流媒體數(shù)據(jù)時(shí),根據(jù)記錄的對應(yīng)關(guān)系將所述流媒體數(shù)據(jù)發(fā)送至所述下級(jí)節(jié)點(diǎn)。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述流媒體的相關(guān)信息包括:所述流媒體的標(biāo)識(shí);以及 所述與所述流媒體的相關(guān)信息相應(yīng)的流媒體數(shù)據(jù)具體為具有所述標(biāo)識(shí)的流媒體的實(shí)時(shí)數(shù)據(jù)。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述流媒體的相關(guān)信息包括:所述流媒體的標(biāo)識(shí)和下載位置;以及 所述與所述流媒體的相關(guān)信息相應(yīng)的流媒體數(shù)據(jù)具體為具有所述標(biāo)識(shí)的流媒體在該下載位置處的流媒體數(shù)據(jù);以及 所述將所述流媒體數(shù)據(jù)發(fā)送至所述下級(jí)節(jié)點(diǎn)后,還包括: 根據(jù)發(fā)送的流媒體數(shù)據(jù)更新所述下載位置的信息。4.根據(jù)權(quán)利要求1-3任一所述的方法,其特征在于,還包括: 接收到所述下級(jí)節(jié)點(diǎn)發(fā)送的結(jié)束請求后,確定所述結(jié)束請求所涉及的流媒體; 將之前對應(yīng)記錄的所述下級(jí)節(jié)點(diǎn)以及所述流媒體的相關(guān)信息刪除。5.根據(jù)權(quán)利要求1-3任一所述的方法,其特征在于,所述下級(jí)節(jié)點(diǎn)具體為中繼服務(wù)器,其上級(jí)節(jié)點(diǎn)具體為源服務(wù)器;或者 所述下級(jí)節(jié)點(diǎn)具體為邊緣服務(wù)器,其上級(jí)節(jié)點(diǎn)具體為中繼服務(wù)器;或者 所述下級(jí)節(jié)點(diǎn)具體為用戶的客戶端,其上級(jí)節(jié)點(diǎn)具體為邊緣服務(wù)器。6.一種流媒體數(shù)據(jù)發(fā)送裝置,其特征在于,包括: 數(shù)據(jù)請求處理模塊,用于根據(jù)下級(jí)節(jié)點(diǎn)發(fā)送的流媒體數(shù)據(jù)請求,確定所述下級(jí)節(jié)點(diǎn)所請求的流媒體的相關(guān)信息; 訂閱信息記錄模塊,用于對應(yīng)記錄該下級(jí)節(jié)點(diǎn)以及所述流媒體的相關(guān)信息; 數(shù)據(jù)分發(fā)模塊,用于每次確定本節(jié)點(diǎn)中存儲(chǔ)有與所述流媒體的相關(guān)信息相應(yīng)的流媒體數(shù)據(jù)時(shí),根據(jù)所述訂閱信息記錄模塊記錄的對應(yīng)關(guān)系將所述流媒體數(shù)據(jù)發(fā)送至所述下級(jí)節(jié)點(diǎn)。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于, 所述訂閱信息記錄模塊具體用于對應(yīng)記錄該下級(jí)節(jié)點(diǎn)以及所述流媒體的相關(guān)信息中的流媒體的標(biāo)識(shí);以及 所述數(shù)據(jù)分發(fā)模塊具體用于在每次接收到具有所述標(biāo)識(shí)的流媒體的實(shí)時(shí)數(shù)據(jù)時(shí),根據(jù)所述訂閱信息記錄模塊記錄的對應(yīng)關(guān)系將所述實(shí)時(shí)數(shù)據(jù)發(fā)送至所述下級(jí)節(jié)點(diǎn)。8.根據(jù)權(quán)利要求6所述的裝置,其特征在于, 所述訂閱信息記錄模塊具體用于對應(yīng)記錄該下級(jí)節(jié)點(diǎn)以及所述流媒體的相關(guān)信息中的流媒體的標(biāo)識(shí)以及下載位置;以及 所述數(shù)據(jù)分發(fā)模塊具體用于在每次確定本節(jié)點(diǎn)中存儲(chǔ)有具有所述標(biāo)識(shí)的流媒體在該下載位置處的流媒體數(shù)據(jù)時(shí),根據(jù)所述訂閱信息記錄模塊記錄的對應(yīng)關(guān)系將所述流媒體數(shù)據(jù)發(fā)送至所述下級(jí)節(jié)點(diǎn)。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,還包括: 訂閱信息更新模塊,用于根據(jù)所述數(shù)據(jù)分發(fā)模塊發(fā)送的流媒體數(shù)據(jù),更新所述下載位置的信息。10.根據(jù)權(quán)利要求6-9任一所述的裝置,其特征在于,還包括: 結(jié)束請求處理模塊,用于根據(jù)下級(jí)節(jié)點(diǎn)發(fā)送的結(jié)束請求,確定所述結(jié)束請求所涉及的流媒體;將之前對應(yīng)記錄的所述下級(jí)節(jié)點(diǎn)以及所述流媒體的相關(guān)信息刪除。
【文檔編號(hào)】H04N21/262GK105898387SQ201610195435
【公開日】2016年8月24日
【申請日】2016年3月30日
【發(fā)明人】蔡鈞
【申請人】樂視控股(北京)有限公司, 樂視云計(jì)算有限公司