[發明專利]一種對視頻信息進行分段下載均衡的方法有效
| 申請號: | 201110386745.2 | 申請日: | 2011-11-29 |
| 公開(公告)號: | CN102368833A | 公開(公告)日: | 2012-03-07 |
| 發明(設計)人: | 李茗;邵長松 | 申請(專利權)人: | 樂視網信息技術(北京)股份有限公司 |
| 主分類號: | H04N21/63 | 分類號: | H04N21/63;H04N21/643 |
| 代理公司: | 北京馳納智財知識產權代理事務所(普通合伙) 11367 | 代理人: | 謝亮;馬耀揚 |
| 地址: | 100026 北京市朝*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 視頻 信息 進行 分段 下載 均衡 方法 | ||
技術領域
本發明涉及網絡通信領域,具體涉及一種對視頻信息進行分段下載均衡的方法。
背景技術
近年來,隨著計算機網絡的普及,互聯網視頻業務得到了高速的發展。各個視頻網站的后端服務器中都存儲了海量的視頻或音頻信息,并推出相應的網絡電視供應客戶端在線觀看信息內容。為了保證及時播放信息,需要充分利用網絡帶寬進行快速下載,以提高客戶端在線觀看的流暢性。
傳統的信息下載技術是單鏈接類型的,將要下載的信息在一個線程內與服務器建立一條TCP鏈接,利用所述TCP鏈接從頭到尾遍歷下載的信息對象,將其存入本地客戶端。其客戶端主機網絡輸入/輸出端口吞吐量和時間的關系如圖1所示,其中,橫向坐標軸代表下載的時間,縱向坐標軸代表主機網絡輸入/輸出端口吞吐量。
單鏈接類型下載的缺陷在于,由于操作系統內核的TCP緩沖區的存儲容量有限,TCP滑動窗口會控制輸入/輸出流量,因此,雖然信息傳輸的過程較為穩定,但是網絡輸入/輸出吞吐量遠低于客戶端輸出口的網絡帶寬的大小,且如圖1所示,無法繼續提高,即當下載時間到t1時,吞吐量達到最大值max,然后吞吐量不在隨著時間的增長繼續線性增長,而是保持不變。
以網絡視頻業務為例,由于客戶端播放網絡視頻時需要高碼率(碼率就是數據傳輸時單位時間傳送的數據位數,一般我們用的單位是kbps,即千位每秒),例如720p、1080p的高清視頻,傳統的單鏈接下載容易導致視頻無法保證播放的連續性。
因此,需要對傳統的單鏈接類型進行改進,將服務器端要下載的文件從邏輯上切分為若干段,客戶端與服務端同時建立多條鏈接,每條鏈接分別對應不同的文件段下載,總計使用的帶寬為每條鏈接占用的帶寬的累加,
在實現文件分段下載時,首先想到的是多線程方式,即每個線程負責一個文件塊的下載。在單個CPU的情況下,多線程的“并發”只是邏輯上的“并發”,而不是物理上的“并發”。操作系統以輪換方式為每個線程分配時間片,并負責線程的調度。這些都是要耗費資源的。而且多線程技術涉及到競爭、互斥等問題,若處理不當非常容易導致邏輯上的錯誤。
發明內容
本發明的目的是提供一種對視頻信息進行分段下載均衡的方法,有效地占用主機帶寬,而且必須同時滿足保證視頻流暢播放并且保證多鏈路負載相對均衡。
現代的操作系統都在內核層級中提供了對I/O多路復用,即同一工作線程內多鏈路的支持。每條鏈路是獨立的,都在做數據包的I/O處理,數據塊在各自鏈路所屬的用戶空間緩沖區、內核空間緩沖區、網絡協議棧發送緩沖區/接收緩沖區、網卡發送緩沖區/接收緩沖區之間來回拷貝。I/O多路復用在內核中基本都是以事件驅動、Reactor等技術實現,并向應用層提供了簡單的接口,如linux中的epoll、select,windows中的IO完成端口等。因此從應用層編程的角度來說,單線程多鏈路是非常容易實現的,且簡單易用,因為很多重要的工作都是由操作系統內核來處理。因此可以使用單線程多鏈路或多線程多鏈路的方式來替代多線程。
所述方法包括:
a)在客戶端建立全局調度表,所述全局調度表包括已調度區和未調度區;
b)在所述客戶端啟動對服務器端視頻信息的下載任務,獲取所述服務器端視頻信息的文件大小N’和視頻碼率,已經為文件分段大小指定一個最高的閾值U;
c)在所述客戶端建立M條與所述服務器端的鏈接,M為正整數,且大于等于2;
d)在所述客戶端為每條鏈接分配對應的第一個下載任務,將所述第一個下載任務指定下載的文件大小記為firstlen,此時,所述已調度區為:
[0,firstLen)負責對第一條鏈接上的第一個下載任務下載,
[firstLen,firstLen*2)?負責對第二條鏈接上的第一個下載任務下載,
[firstLen*2,firstLen*3)?負責對第三條鏈接上的第一個下載任務下載,以此類推,一直到,
[firstLen*(M-2),firstLen*(M-1))?負責對第M-1條鏈接上的第一個下載任務下載,
[firstLen*(M-1),firstLen*M)?負責對鏈接M上的第一個下載任務下載,
未調度區為:
[firstLen*M,N’];
e)在所述客戶端對每條鏈接上的數據進行下載,當第N(N大于等于1,且小于等于M)條鏈接上的所述第一個下載任務下載完畢后,計算所述第N條鏈接上的帶寬;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于樂視網信息技術(北京)股份有限公司,未經樂視網信息技術(北京)股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110386745.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種薏仁麥茶及其生產工藝
- 下一篇:自動循環雙夾具飾品磨拋機
- 信息記錄介質、信息記錄方法、信息記錄設備、信息再現方法和信息再現設備
- 信息記錄裝置、信息記錄方法、信息記錄介質、信息復制裝置和信息復制方法
- 信息記錄裝置、信息再現裝置、信息記錄方法、信息再現方法、信息記錄程序、信息再現程序、以及信息記錄介質
- 信息記錄裝置、信息再現裝置、信息記錄方法、信息再現方法、信息記錄程序、信息再現程序、以及信息記錄介質
- 信息記錄設備、信息重放設備、信息記錄方法、信息重放方法、以及信息記錄介質
- 信息存儲介質、信息記錄方法、信息重放方法、信息記錄設備、以及信息重放設備
- 信息存儲介質、信息記錄方法、信息回放方法、信息記錄設備和信息回放設備
- 信息記錄介質、信息記錄方法、信息記錄裝置、信息再現方法和信息再現裝置
- 信息終端,信息終端的信息呈現方法和信息呈現程序
- 信息創建、信息發送方法及信息創建、信息發送裝置





