用于cdn平臺的內容分發方法及調度代理服務器的制造方法
【專利摘要】本發明提供一種用于CDN平臺的內容分發方法,調度代理服務器將接收到的用戶的訪問請求發送至所述調度中心,并接收所述調度中心根據用戶的訪問請求確定的能夠響應所述訪問請求的視頻服務節點地址;所述調度代理服務器從所述調度中心確定的視頻服務節點地址下載并緩存視頻文件;所述調度代理服務器將緩存的視頻文件拼接成完整的媒體文件;所述調度代理服務器利用緩存的完整的媒體文件響應用戶的訪問請求。本發明還提供一種用于CDN平臺的調度代理服務器,減少了用戶與多個不同的節點通信的次數,提高響應速度,增加視頻播放時的穩定性,進而提高了用戶體驗。
【專利說明】
用于CDN平臺的內容分發方法及調度代理服務器
技術領域
[0001]本發明實施例涉及互聯網媒體技術領域,尤其涉及一種用于CDN平臺的內容分發方法及調度代理服務器。
【背景技術】
[0002]Q)N(Content Delivery Network,內容分發網絡)是一種通過在網絡各處放置節點服務器所構成的在現有的互聯網基礎之上的一層智能虛擬網絡。CDN能夠實時地根據網絡流量和各節點的連接、負載狀況以及到用戶的距離和響應時間等綜合信息將用戶的請求重新導向離用戶最近的服務節點上,其目的是能夠選擇離用戶相對較近的節點向用戶發送用戶所需的內容,緩解網絡擁擠的狀況,提高網站的響應速度。
[0003]在各大視頻網站目前所使用的傳輸協議中流媒體傳輸協議HLS(H11P I i Vestreaming)占據了重要的地位。HLS協議是蘋果公司實現的基于超文本傳輸協議Http的流媒體傳輸協議,HLS協議將容量巨大的連續媒體數據進行分段,分割為數量眾多的小文件進行傳遞,迎合了網頁服務器的文件傳輸性,采用一個不斷更新的輕量級索引文件來控制分割后小媒體文件的下載和播放,可以實現流媒體的直播和點播。HLS協議在優先考慮流暢性的前提下支持碼率的自動切換,目前被各大視頻網站廣泛使用。
[0004]通過HLS協議,視頻數據經處理后分為媒體數據ts文件以及媒體數據索引m3u8文件,并存在于服務器上。m3u8文件實際上只是一種文件組的組織形式,將視頻片段以播放列表的形式組織在一起以供多媒體播放器下載播放。m3u8文件中通常包括多個上述媒體數據ts文件的多個統一資源定位符URL。多媒體播放器獲取m3u8文件后,進而按照其中的URL下載對應的ts文件并進行播放。
[0005]現有技術中,當客戶請求訪問某一視頻時,客戶請求信息發送到調度中心,再由調度中心反饋距離客戶最近的CDN節點的地址,之后客戶端在根據調度中心反饋的地址訪問相應的距離最近的⑶N節點,以獲取請求資源。
[0006]然而在某些訪問中,當視頻中存在多個廣告,而且多個廣告又由多個不同的CDN節點提供時,客戶端就需要多次與多個不同的節點進行通信請求。從而導致客戶端與服務器(調度中心、CDN節點)之間的通信很容易受到網絡環境的影響,出現響應延時,視頻播放不順暢且不穩定,影響用戶體驗。
【發明內容】
[0007]為了減少用戶與多個不同的節點通信的次數,解決因網絡響應延時而導致的視頻播放不順暢且不穩定的問題,本發明實施例提供一種用于CDN平臺的內容分發方法及調度代理服務器以及一種內容分發系統。
[0008]本發明實施例提供一種用于⑶N平臺的內容分發方法,包括:
[0009]調度代理服務器將接收到的用戶的訪問請求發送至調度中心,并接收所述調度中心根據用戶的訪問請求確定的響應所述訪問請求的視頻服務節點地址;
[0010]所述調度代理服務器從所述調度中心確定的視頻服務節點地址下載并緩存視頻文件;
[0011 ]所述調度代理服務器將緩存的視頻文件拼接成完整的媒體文件;
[0012]所述調度代理服務器利用緩存的完整的媒體文件響應用戶的訪問請求。
[0013]本發明實施例提供一種用于⑶N平臺的調度代理服務器,所述⑶N平臺包括所述調度中心、視頻服務節點,所述調度代理服務器包括:
[0014]接收單元,用于將接收到的用戶的訪問請求發送至調度中心,并接收所述調度中心根據用戶的訪問請求確定的響應所述訪問請求的視頻服務節點地址;
[0015]下載和存儲單元,用于從所述調度中心確定的視頻服務節點地址下載并緩存視頻文件;
[0016]拼接單元,用于將緩存的視頻文件拼接成完整的媒體文件;
[0017]傳輸單元,用于利用緩存的完整的媒體文件響應用戶的訪問請求。
[0018]本發明實施例提供一種內容分發系統,其中,所述內容包括視頻和廣告,所述系統包括:
[0019]視頻服務節點;
[0020]廣告服務節點;
[0021]調度中心,用于根據用戶的訪問請求,確定能夠響應所述訪問請求的視頻服務節點和廣告服務節點;
[0022]根據上述實施例中所述的調度代理服務器。
[0023]本發明實施例提供的用于⑶N平臺的內容分發方法及調度代理服務器以及一種內容分發系統,通過調度代理服務器接收調度中心確定的視頻服務點的地址并根據所述地址從相應的視頻服務節點和廣告服務節點下載并緩存視頻文件,進而對緩存的視頻文件進行拼接,用拼接后的完整的媒體文件響應用戶的訪問請求,與現有技術相比,用戶不用多次與視頻服務節點進行通信,只需通過調度代理服務器,再由調度代理服務器與調度中心、視頻服務節點通信即可,降低了網絡延時,提高了響應速度,增加視頻播放時的穩定性,從而提尚了用戶體驗。
【附圖說明】
[0024]為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0025]圖1為本發明一實施例的用于CDN平臺的內容分發方法流程圖;
[0026]圖2為本發明一實施例的用于⑶N平臺的調度代理服務器的示意圖;
[0027]圖3a為本發明的內容分發系統的一實施方式示意圖;
[0028]圖3b為本發明的內容分發系統的另一實施方式示意圖。
【具體實施方式】
[0029]為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0030]需要說明的是,在不沖突的情況下,本申請中的實施方式及實施方式中所涉及到的技術特征彼此之間可以相互組合。
[0031]參照圖1,示出了根據本發明的一個實施例的用于CDN平臺的內容分發方法,此方法包括如下步驟:
[0032]步驟101:調度代理服務器將接收到的用戶的訪問請求發送至調度中心,并接收所述調度中心根據用戶的訪問請求確定的能夠響應所述訪問請求的視頻服務節點地址;
[0033]步驟102:所述調度代理服務器從所述調度中心確定的視頻服務節點地址下載并緩存視頻文件;
[0034]步驟103:所述調度代理服務器將緩存的視頻文件拼接成完整的媒體文件;
[0035]步驟104:所述調度代理服務器利用緩存的完整的媒體文件響應用戶的訪問請求。
[0036]本發明實施例通過調度代理服務器接收用戶的內容訪問請求,并根據調度中心反饋的視頻服務節點的地址到相應的視頻服務節點獲取響應用戶的訪問請求的視頻和廣告并進行下載和緩存,避免了用戶多次與視頻服務節點的通信,只需通過調度代理服務器與各個視頻服務節點進行通信,再由調度代理服務器將緩存的媒體文件發送給用戶即可,使得調度中心、調度代理服務器、視頻服務節點之間的通信以及視頻的下載緩存和拼接只需在相應的局域網中完成,不易受到網絡環境的影響,從而減少了網絡延時,提尚了響應速度。
[0037]進一步地,調度代理服務器接收所述調度中心根據用戶的訪問請求確定的響應所述訪問請求的視頻服務節點地址和廣告服務節點地址;所述調度代理服務器從所述調度中心確定的視頻服務節點地址和廣告服務節點地址下載并緩存視頻文件;所述調度代理服務器將緩存的視頻文件和廣告文件拼接成完整的媒體文件;所述調度代理服務器利用緩存的完整的媒體文件響應用戶的訪問請求。
[0038]現有CDN平臺中包含調度中心、多個視頻服務節點以及多個廣告服務節點,用于提供不同的視頻和不同的廣告,根據不同的訪問請求,調度中心能夠確定出存儲有相應的資源的視頻服務節點和廣告服務節點。
[0039]由于在CDN平臺中包含多個視頻服務節點和多個廣告服務節點,所述視頻服務節點的地址至少根據用戶距各個能夠響應所述用戶的訪問請求的視頻服務節點的距離而確定,所述廣告服務節點的地址至少根據用戶距各個廣告服務節點的距離而確定,但在通信的過程中也會考慮其它因素,例如視頻服務節點和廣告服務節點的處理能力、響應速度、正在處理的用戶的訪問請求數等。
[0040]優選地,當所述調度代理服務器接收到同一視頻文件的用戶的訪問請求時,直接利用緩存的完整的媒體文件響應用戶的訪問請求,提高響應速度,而且因為無需再通過調度代理服務器從相應的視頻服務節點和廣告服務節點下載緩存視頻和廣告,所以減輕了視頻服務節點和廣告服務節點的工作。
[0041]優選地,所述調度代理服務器從所述調度中心確定的視頻服務節點地址和廣告服務節點地址下載并緩存視頻文件和廣告文件包括:所述調度代理服務器根據所述視頻服務節點的地址和所述廣告服務節點的地址,獲取相應的視頻m3u8文件和廣告m3u8文件,利用所述視頻m3u8文件從相應的視頻服務節點下載和緩存ts視頻分片文件,利用所述廣告m3u8文件,從相應的廣告服務節點下載和緩存ts廣告分片文件。
[0042]進一步地,所述調度代理服務器對緩存的ts視頻分片文件和ts廣告分片文件進行拼接并緩存拼接后的媒體文件;并將所述視頻m3u8文件和廣告m3u8文件合成完整的媒體m3u8文件。
[0043]進一步地,所述調度代理服務器對緩存的ts視頻分片文件和ts廣告分片文件進行拼接并緩存拼接后的媒體文件包括:例如現在有ts視頻分片文件A、B和ts廣告分片文件a,這時需要分析ts視頻分片文件A、B和ts廣告分片文件a的頭信息區,確定待拼接成的整段媒體文件的文件類型為MP4、文件播放時長(各個分片時長相加)、所含視音頻流數量(與各個分片數量一致)、各視音頻流采用的編碼標準、以及ts視頻分片文件A、B和ts廣告分片文件a所含的所有視音頻幀(關鍵幀)在待拼接成的整段媒體文件中的位置和時間信息,根據確定結果,生成待拼接成的整段媒體文件的頭信息。
[0044]在ts視頻分片文件A的媒體數據區I和ts廣告分片文件a的媒體數據區2之間以及ts廣告分片文件a的媒體數據區2和ts視頻分片文件B的媒體數據區3之間添加過度標簽并在按順序進行拼接;利用生成的待拼接成的整段媒體文件的頭信息和待拼接成的整段媒體文件的媒體數據,輸出拼接后的媒體文件并緩存所述媒體文件。
[0045]上述實施例中ts視頻分片文件A、B和ts廣告分片文件a采用的是同一編碼標準,以便于同待拼接成的整段媒體文件的編碼標準一致,進而可以將ts視頻分片文件A、ts廣告分片文件a和ts視頻分片文件B的媒體數據區按順序拼接為同一個媒體數據區,形成合法的媒體文件。
[0046]本發明實施例通過上述方法,避免了用戶多次與視頻服務節點和廣告服務節點的通信,只需通過調度代理服務器與各個視頻服務節點和廣告服務節點進行通信,再由調度代理服務器將媒體文件發送給用戶即可,使得調度代理器與視頻服務節點和廣告服務節點的通信只需在相應的內網中即可完成,不易受到網絡環境的影響,從而減少了網絡延時,提尚了響應速度,進而提尚了用戶體驗。
[0047]此外,因為調度代理器與視頻服務節點和廣告服務節點的通信是在內網中完成的,從而也相應的減少了被盜鏈的可能,實現了對視頻和廣告資源的保護。
[0048]上述與圖1所示的實施例有關的方法,參照圖2,可以根據本發明實施例的調度代理服務器予以實施。
[0049]用于⑶N平臺的調度代理服務器,包括:
[0050]接收單元,將接收到的用戶的訪問請求發送至調度中心,并接收所述調度中心根據用戶的訪問請求確定的響應所述訪問請求的視頻服務節點地址;
[0051]下載和存儲單元,用于從所述調度中心確定的視頻服務節點下載并緩存視頻文件和廣告文件;
[0052]拼接單元,用于將緩存的視頻文件拼接成完整的媒體文件;
[0053]傳輸單元,用于利用緩存的完整的媒體文件響應用戶的訪問請求。
[0054]優選地,上述調度代理服務器還包括:
[0055]檢查單元,用于檢查當所述調度代理服務器接收到同一視頻文件的用戶的訪問請求時,直接利用緩存的完整的媒體文件響應用戶的訪問請求。
[0050]進一步地,上述實施例中的調度代理服務器,所述接收單元接收單元,用于接收所述調度中心根據用戶的訪問請求確定的響應所述訪問請求的視頻服務節點地址和廣告服務節點地址;
[0057]所述下載和存儲單元用于根據所述視頻服務節點地址和廣告服務節點地址獲取相應的視頻索引文件和廣告索引文件,利用所述視頻索引文件從相應的視頻服務節點下載和緩存視頻分片文件,利用所述廣告索引文件從相應的廣告服務節點下載和緩存廣告分片文件。
[0058]上述實施例中所述拼接單元用于對緩存的視頻分片文件和廣告分片文件進行拼接并緩存拼接后的媒體文件;將所述視頻索引文件和廣告索引文件合成完整的媒體索引文件。
[0059]進一步地,上述拼接單元用于分析視頻分片文件和廣告分片文件的頭信息區,確定待拼接成的整段媒體文件的文件類型、文件播放時長、所含視音頻流數量、各視音頻流采用的編碼標準、以及各視頻分片文件和廣告分片文件所含的所有視音頻幀在待拼接成的整段媒體文件中的位置和時間信息;
[0060]根據確定結果,生成待拼接成的整段媒體文件的頭信息;
[0061]利用各個視頻分片文件和廣告分片文件的媒體數據區按順序拼接,生成待拼接成的整段媒體文件的媒體數據;
[0062]利用生成的待拼接成的整段媒體文件的頭信息和待拼接成的整段媒體文件的媒體數據,輸出拼接后的媒體文件并緩存所述媒體文件。
[0063]本發明實施例還提供了一種內容分發系統,其中,所述內容包括視頻和廣告,所述系統包括:
[0064]視頻服務節點;
[0065]廣告服務節點;
[0066]調度中心,用于根據用戶的訪問請求,確定能夠響應所述訪問請求的視頻服務節點和廣告服務節點;
[0067]以及根據上述實施例所述的調度代理服務器。
[0068]根據圖3a所示的內容分發系統,當調度代理服務器接收到用戶I的訪問請求時,將所述訪問請求轉發至調度中心,調度中心會根據這個訪問請求將相應的視頻服務節點和廣告服務節點的地址發送至調度代理服務器,所述調度代理服務器根據收到的視頻服務節點的地址和廣告服務節點的地址獲取相應的視頻m3u8文件和廣告m3u8文件,并將所述視頻m3u8文件和廣告m3u8文件合成完整的媒體m3u8文件;而且所述調度代理服務器利用所述視頻m3u8文件從相應的視頻服務節點下載和緩存ts視頻分片文件,利用所述廣告m3u8文件從相應的廣告服務節點下載和緩存ts廣告分片文件,進而對緩存的視頻分片文件和廣告分片文件進行拼接并緩存拼接后的媒體文件,從而調度代理服務器利用緩存的完整的媒體文件響應用戶I的訪問請求。
[0069]根據圖3b所示的內容分發系統,當所述調度代理服務器接收到同一視頻文件的用戶2的訪問請求時,就直接利用緩存的完整的媒體文件響應用戶2的訪問請求。
[0070]以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。本領域普通技術人員在不付出創造性的勞動的情況下,即可以理解并實施。
[0071]通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件。基于這樣的理解,上述技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品可以存儲在計算機可讀存儲介質中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行各個實施例或者實施例的某些部分所述的方法。
[0072]最后應說明的是:以上實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的精神和范圍。
【主權項】
1.一種用于⑶N平臺的內容分發方法,包括: 調度代理服務器將接收到的用戶的訪問請求發送至調度中心,并接收所述調度中心根據用戶的訪問請求確定的響應所述訪問請求的視頻服務節點地址; 所述調度代理服務器從所述調度中心確定的視頻服務節點地址下載并緩存視頻文件; 所述調度代理服務器將緩存的視頻文件拼接成完整的媒體文件; 所述調度代理服務器利用緩存的完整的媒體文件響應用戶的訪問請求。2.根據權利要求1所述的方法,其特征在于,還包括: 調度代理服務器接收所述調度中心根據用戶的訪問請求確定的響應所述訪問請求的視頻服務節點地址和廣告服務節點地址; 所述調度代理服務器從所述調度中心確定的視頻服務節點地址和廣告服務節點地址下載并緩存視頻文件和廣告文件; 所述調度代理服務器將緩存的視頻文件和廣告文件拼接成完整的媒體文件; 所述調度代理服務器利用緩存的完整的媒體文件響應用戶的訪問請求。3.根據權利要求1或2所述的方法,其特征在于,還包括: 當所述調度代理服務器接收到同一視頻文件的用戶的訪問請求時,直接利用緩存的完整的媒體文件響應用戶的訪問請求。4.根據權利要求2所述的方法,其特征在于,所述調度代理服務器從所述調度中心確定的視頻服務節點地址和廣告服務節點地址下載并緩存視頻文件包括: 所述調度代理服務器根據所述視頻服務節點地址和所述廣告服務節點地址,獲取相應的視頻索引文件和廣告索引文件,利用所述視頻索引文件從相應的視頻服務節點下載和緩存視頻分片文件,利用所述廣告索引文件,從相應的廣告服務節點下載和緩存廣告分片文件; 所述調度代理服務器將緩存的視頻文件和廣告文件拼接成完整的媒體文件包括:所述調度代理服務器對緩存的視頻分片文件和廣告分片文件進行拼接并緩存拼接后的媒體文件, 將所述視頻索引文件和廣告索引文件合成完整的媒體索引文件。5.根據權利要求4所述的方法,其特征在于,所述調度代理服務器對緩存的視頻分片文件和廣告分片文件進行拼接并緩存拼接后的媒體文件包括: 分析視頻分片文件和廣告分片文件的頭信息區,確定待拼接成的整段媒體文件的文件類型、文件播放時長、所含視音頻流數量、各視音頻流采用的編碼標準、以及各視頻分片文件和廣告分片文件所含的所有視音頻幀在待拼接成的整段媒體文件中的位置和時間信息;根據確定結果,生成待拼接成的整段媒體文件的頭信息; 利用各個視頻分片文件和廣告分片文件的媒體數據區按順序拼接,生成待拼接成的整段媒體文件的媒體數據; 利用生成的待拼接成的整段媒體文件的頭信息和待拼接成的整段媒體文件的媒體數據,輸出拼接后的媒體文件并緩存所述媒體文件。6.—種用于⑶N平臺的調度代理服務器,包括: 接收單元,用于將接收到的用戶的訪問請求發送至調度中心,并接收所述調度中心根據用戶的訪問請求確定的響應所述訪問請求的視頻服務節點地址; 下載和存儲單元,用于從所述調度中心確定的視頻服務節點地址下載并緩存視頻文件; 拼接單元,用于將緩存的視頻文件拼接成完整的媒體文件; 傳輸單元,用于利用緩存的完整的媒體文件響應用戶的訪問請求。7.根據權利要求6所述的調度代理服務器,其特征在于, 所述接收單元,用于接收所述調度中心根據用戶的訪問請求確定的響應所述訪問請求的視頻服務節點地址和廣告服務節點地址; 所述下載和存儲單元用于根據所述視頻服務節點地址和廣告服務節點地址獲取相應的視頻索引文件和廣告索引文件,利用所述視頻索引文件從相應的視頻服務節點下載和緩存視頻分片文件,利用所述廣告索引文件從相應的廣告服務節點下載和緩存廣告分片文件。8.根據權利要求6或7所述的調度代理服務器,其特征在于,還包括: 檢查單元,用于檢查當所述調度代理服務器接收到同一視頻文件的用戶的訪問請求時,直接利用緩存的完整的媒體文件響應用戶的訪問請求。9.根據權利要求7所述的調度代理服務器,其特征在于,所述拼接單元用于對緩存的視頻分片文件和廣告分片文件進行拼接并緩存拼接后的媒體文件;將所述視頻索引文件和廣告索引文件合成完整的媒體索引文件。10.根據權利要求9所述的調度代理服務器,其特征在于,所述拼接單元用于分析視頻分片文件和廣告分片文件的頭信息區,確定待拼接成的整段媒體文件的文件類型、文件播放時長、所含視音頻流數量、各視音頻流采用的編碼標準、以及各視頻分片文件和廣告分片文件所含的所有視音頻幀在待拼接成的整段媒體文件中的位置和時間信息; 根據確定結果,生成待拼接成的整段媒體文件的頭信息; 利用各個視頻分片文件和廣告分片文件的媒體數據區按順序拼接,生成待拼接成的整段媒體文件的媒體數據; 利用生成的待拼接成的整段媒體文件的頭信息和待拼接成的整段媒體文件的媒體數據,輸出拼接后的媒體文件并緩存所述媒體文件。11.一種內容分發系統,其中,所述內容包括視頻和廣告,所述系統包括: 視頻服務節點; 廣告服務節點; 調度中心,用于根據用戶的訪問請求,確定能夠響應所述訪問請求的視頻服務節點和廣告服務節點; 根據權利要求6-10中任一項所述的調度代理服務器。
【文檔編號】H04N21/262GK105915945SQ201510896611
【公開日】2016年8月31日
【申請日】2015年12月8日
【發明人】李洪福
【申請人】樂視云計算有限公司