亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種加速網(wǎng)絡(luò)視頻下載的方法和裝置與流程

文檔序號:11971172閱讀:240來源:國知局
一種加速網(wǎng)絡(luò)視頻下載的方法和裝置與流程
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域,具體涉及一種加速網(wǎng)絡(luò)視頻下載的方法和裝置。

背景技術(shù):
互聯(lián)網(wǎng)的主要應(yīng)用之一就是資源共享,用戶可通過互聯(lián)網(wǎng)獲得需要的信息和數(shù)據(jù),這就引出了下載的概念,其是通過網(wǎng)絡(luò)進(jìn)行傳輸文件,把互聯(lián)網(wǎng)保存到本地電腦上的一種網(wǎng)絡(luò)活動。以P2P(點(diǎn)對點(diǎn),PeertoPeer)模式的下載為例,每個節(jié)點(diǎn)的地位都是對等的,同時(shí)承擔(dān)服務(wù)器和客戶端的角色,也即,在節(jié)點(diǎn)作為服務(wù)器的時(shí)候要占用上傳帶寬,在節(jié)點(diǎn)作為客戶端的時(shí)候要占用下載帶寬。目前,很多網(wǎng)站提供網(wǎng)絡(luò)視頻供用戶在線觀看。在線觀看視頻是邊下載邊觀看的過程,但是很多情況下由于網(wǎng)絡(luò)條件差導(dǎo)致下載速度小于播放速度,視頻播放出現(xiàn)卡住不流暢的問題。為此,很多視頻網(wǎng)站提供了專用于自身網(wǎng)站的視頻加速器,如優(yōu)酷網(wǎng)站的愛酷、土豆網(wǎng)的飛速土豆等軟件。在用戶的計(jì)算機(jī)上,不同應(yīng)用程序的網(wǎng)絡(luò)帶寬是共享的,如果一個程序?qū)捹Y源無節(jié)制的使用,必定會造成其他應(yīng)用程序的網(wǎng)絡(luò)行為受到不利的影響。這樣,在運(yùn)行下載程序時(shí),其它網(wǎng)絡(luò)應(yīng)用程序(如瀏覽器、網(wǎng)絡(luò)游戲、網(wǎng)絡(luò)視頻或視頻聊天等)也需要占用網(wǎng)絡(luò)帶寬,這就出現(xiàn)下載程序搶占過多網(wǎng)絡(luò)帶寬,從而影響其它網(wǎng)絡(luò)應(yīng)用體驗(yàn)的現(xiàn)象;例如,在執(zhí)行一個下載任務(wù)時(shí),瀏覽網(wǎng)頁就會變得很慢,網(wǎng)絡(luò)游戲或者是視頻播放將會變得很卡,等等?,F(xiàn)有的視頻加速器采用的加速方法單一,大多是采用多線程從視頻服務(wù)器下載的方式進(jìn)行加速,這種方式在本地與視頻服務(wù)器之間的網(wǎng)絡(luò)條件有限的情況下其加速效果體驗(yàn)很差。

技術(shù)實(shí)現(xiàn)要素:
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的一種加速網(wǎng)絡(luò)視頻下載的方法和裝置。依據(jù)本發(fā)明的一個方面,提供了一種加速網(wǎng)絡(luò)視頻下載的方法,該方法包括:將待下載網(wǎng)絡(luò)視頻文件碼流進(jìn)行分片并按照播放順序從前到后放入下載隊(duì)列中,其中,下載隊(duì)列中靠前的分片較小,靠后的分片較大;對于下載隊(duì)列中的至少一個分片,按照預(yù)設(shè)策略調(diào)度點(diǎn)對服務(wù)器的方式和點(diǎn)對點(diǎn)的方式進(jìn)行下載??蛇x地,所述對于下載隊(duì)列中的至少一個分片,按照預(yù)設(shè)策略調(diào)度點(diǎn)對服務(wù)器的方式和點(diǎn)對點(diǎn)的方式進(jìn)行下載包括:對于所述至少一個分片中的每個分片,采用點(diǎn)對服務(wù)器的方式從該分片的起始位置開始向后下載,采用點(diǎn)對點(diǎn)的方式從該分片的結(jié)尾位置開始向前下載,直至將該分片的數(shù)據(jù)全部下載完成;或者,對于所述至少一個分片中的每個分片,采用點(diǎn)對點(diǎn)的方式從該分片的起始位置開始向后下載,采用點(diǎn)對服務(wù)器的方式從該分片的結(jié)尾位置開始向前下載,直至將該分片的數(shù)據(jù)全部下載完成??蛇x地,所述對于下載隊(duì)列中的至少一個分片,按照預(yù)設(shè)策略調(diào)度點(diǎn)對服務(wù)器的方式和點(diǎn)對點(diǎn)的方式進(jìn)行下載包括:對于所述至少一個分片中的每個分片,采用點(diǎn)對服務(wù)器的方式從該分片的起始位置開始向后下載,采用點(diǎn)對點(diǎn)的方式從該分片的結(jié)尾位置開始向前下載;或者,對于所述至少一個分片中的每個分片,采用點(diǎn)對點(diǎn)的方式從該分片的起始位置開始向后下載,采用點(diǎn)對服務(wù)器的方式從該分片的結(jié)尾位置開始向前下載;當(dāng)點(diǎn)對點(diǎn)下載的速度大于點(diǎn)對服務(wù)器下載的速度且點(diǎn)對點(diǎn)下載的速度達(dá)到一定的閾值時(shí),關(guān)閉點(diǎn)對服務(wù)器的方式,并采用點(diǎn)對點(diǎn)的方式完成剩余部分的下載??蛇x地,該方法進(jìn)一步包括:采用多線程的方式對多個分片同時(shí)進(jìn)行下載??蛇x地,所述采用多線程的方式對多個分片同時(shí)進(jìn)行下載包括:在下載過程中增加線程進(jìn)行下載;或者,在下載過程中,如果下載速度已超過視頻碼率的預(yù)設(shè)倍數(shù),則維持線程數(shù)量不變或減少線程數(shù)量??蛇x地,在將待下載的視頻文件碼流進(jìn)行分片并按照播放順序從前到后放入下載隊(duì)列中之前,該方法進(jìn)一步包括:分析瀏覽器的網(wǎng)絡(luò)視頻下載請求,判斷預(yù)先保存的多個網(wǎng)絡(luò)視頻下載協(xié)議中是否存在支持該網(wǎng)絡(luò)視頻下載請求的協(xié)議;如果存在,則對該網(wǎng)絡(luò)視頻下載請求所對應(yīng)的待下載網(wǎng)絡(luò)視頻文件執(zhí)行所述分片及下載的過程,并且根據(jù)所支持的網(wǎng)絡(luò)視頻下載協(xié)議完成下載。依據(jù)本發(fā)明的一個方面,提供了一種加速網(wǎng)絡(luò)視頻下載的裝置,該裝置包括:分片單元,適于將待下載網(wǎng)絡(luò)視頻文件碼流進(jìn)行分片并按照播放順序從前到后放入下載隊(duì)列中,其中,下載隊(duì)列中靠前的分片較小,靠后的分片較大;下載單元,適于對于下載隊(duì)列中的至少一個分片,按照預(yù)設(shè)策略調(diào)度點(diǎn)對服務(wù)器的方式和點(diǎn)對點(diǎn)的方式進(jìn)行下載??蛇x地,所述下載單元,適于對于所述至少一個分片中的每個分片,采用點(diǎn)對服務(wù)器的方式從該分片的起始位置開始向后下載,采用點(diǎn)對點(diǎn)的方式從該分片的結(jié)尾位置開始向前下載,直至將該分片的數(shù)據(jù)全部下載完成;或者,適于對于所述至少一個分片中的每個分片,采用點(diǎn)對點(diǎn)的方式從該分片的起始位置開始向后下載,采用點(diǎn)對服務(wù)器的方式從該分片的結(jié)尾位置開始向前下載,直至將該分片的數(shù)據(jù)全部下載完成??蛇x地,所述下載單元,適于對于所述至少一個分片中的每個分片,采用點(diǎn)對服務(wù)器的方式從該分片的起始位置開始向后下載,采用點(diǎn)對點(diǎn)的方式從該分片的結(jié)尾位置開始向前下載,或者,采用點(diǎn)對點(diǎn)的方式從該分片的起始位置開始向后下載,采用點(diǎn)對服務(wù)器的方式從該分片的結(jié)尾位置開始向前下載;當(dāng)點(diǎn)對點(diǎn)下載的速度大于點(diǎn)對服務(wù)器下載的速度且點(diǎn)對點(diǎn)下載的速度達(dá)到一定的閾值時(shí),關(guān)閉點(diǎn)對服務(wù)器的方式,并采用點(diǎn)對點(diǎn)的方式完成剩余部分的下載??蛇x地,所述下載單元,進(jìn)一步適于采用多線程的方式對多個分片同時(shí)進(jìn)行下載??蛇x地,所述下載單元,適于在下載過程中增加線程進(jìn)行下載,或者,在下載過程中,如果下載速度已超過視頻碼率的預(yù)設(shè)倍數(shù),則維持線程數(shù)量不變或減少線程數(shù)量??蛇x地,該裝置進(jìn)一步包括:下載分析單元,適于分析瀏覽器的網(wǎng)絡(luò)視頻下載請求,判斷預(yù)先保存的多個網(wǎng)絡(luò)視頻下載協(xié)議中是否存在支持該網(wǎng)絡(luò)視頻下載請求的協(xié)議;如果存在,則通知所述分片單元進(jìn)行分片處理,以及通知所述下載單元根據(jù)該支持的網(wǎng)絡(luò)視頻下載協(xié)議進(jìn)行下載。根據(jù)本發(fā)明采用的分片方式可以保證的小的分片可以先下載并且能夠很快下載完,這樣可以保證視頻一邊播放的同時(shí),去下載隊(duì)列中的后面的大的視頻分片,并且按照預(yù)設(shè)策略調(diào)度點(diǎn)對服務(wù)器和點(diǎn)對點(diǎn)的方式進(jìn)行下載,即使在視頻服務(wù)器的網(wǎng)絡(luò)條件較差的情況下,也能由點(diǎn)對點(diǎn)方式進(jìn)行下載,以達(dá)到加速下載的目的。因此本發(fā)明的技術(shù)方案能夠加速在線視頻的下載,緩沖足夠的視頻數(shù)據(jù),保證流暢播放。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。附圖說明通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:圖1示出了根據(jù)本發(fā)明一個實(shí)施例的一種加速網(wǎng)絡(luò)視頻下載的方法的流程圖;圖2示出了根據(jù)本發(fā)明一個實(shí)施例的按照預(yù)設(shè)策略調(diào)度點(diǎn)對服務(wù)器的方式和點(diǎn)對點(diǎn)的方式進(jìn)行下載的網(wǎng)絡(luò)環(huán)境示意圖;圖3示出了根據(jù)本發(fā)明一個實(shí)施例的按照預(yù)設(shè)策略調(diào)度P2S和P2P進(jìn)行下載的示意圖;圖4示出了根據(jù)本發(fā)明另一個實(shí)施例的按照預(yù)設(shè)策略調(diào)度P2S和P2P進(jìn)行下載的示意圖;圖5示出了根據(jù)本發(fā)明一個實(shí)施例的一種加速網(wǎng)絡(luò)視頻下載的裝置的結(jié)構(gòu)圖;圖6示出了根據(jù)本發(fā)明一個實(shí)施例的一種加速網(wǎng)絡(luò)視頻下載的裝置的結(jié)構(gòu)圖。具體實(shí)施方式下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。本發(fā)明可以應(yīng)用于計(jì)算機(jī)系統(tǒng)/服務(wù)器,其可與眾多其它通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置一起操作。適于與計(jì)算機(jī)系統(tǒng)/服務(wù)器一起使用的眾所周知的計(jì)算系統(tǒng)、環(huán)境和/或配置的例子包括但不限于:個人計(jì)算機(jī)系統(tǒng)、服務(wù)器計(jì)算機(jī)系統(tǒng)、瘦客戶機(jī)、厚客戶機(jī)、手持或膝上設(shè)備、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)個人電腦、小型計(jì)算機(jī)系統(tǒng)﹑大型計(jì)算機(jī)系統(tǒng)和包括上述任何系統(tǒng)的分布式云計(jì)算技術(shù)環(huán)境,等等。計(jì)算機(jī)系統(tǒng)/服務(wù)器可以在由計(jì)算機(jī)系統(tǒng)執(zhí)行的計(jì)算機(jī)系統(tǒng)可執(zhí)行指令(諸如程序模塊)的一般語境下描述。通常,程序模塊可以包括例程、程序、目標(biāo)程序、組件、邏輯、數(shù)據(jù)結(jié)構(gòu)等等,它們執(zhí)行特定的任務(wù)或者實(shí)現(xiàn)特定的抽象數(shù)據(jù)類型。計(jì)算機(jī)系統(tǒng)/服務(wù)器可以在分布式云計(jì)算環(huán)境中實(shí)施,分布式云計(jì)算環(huán)境中,任務(wù)是由通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理設(shè)備執(zhí)行的。在分布式云計(jì)算環(huán)境中,程序模塊可以位于包括存儲設(shè)備的本地或遠(yuǎn)程計(jì)算系統(tǒng)存儲介質(zhì)上。為了方便理解,先對本申請中涉及的兩個技術(shù)術(shù)語進(jìn)行說明:點(diǎn)對服務(wù)器方式:P2S(PeertoServer),用戶對服務(wù)器;點(diǎn)對點(diǎn)方式:P2P(PeertoPeer),對等網(wǎng)絡(luò)?,F(xiàn)有采用P2P技術(shù)下載文件的方法,通常包括如下步驟:步驟A1、客戶端A開始針對某文件資源的下載任務(wù);步驟A2、客戶端A得到P2P服務(wù)器的IP(網(wǎng)絡(luò)之間互連的協(xié)議,InternetProtocol)列表;步驟A3、依據(jù)所述P2P服務(wù)器的IP列表,客戶端A隨機(jī)選擇其中一臺P2P服務(wù)器進(jìn)行登陸;步驟A4、該客戶端A向該臺P2P服務(wù)器發(fā)送攜帶該文件資源信息的查詢請求;步驟A5、該臺P2P服務(wù)器向客戶端A返回該文件資源的種子節(jié)點(diǎn);步驟A6、客戶端A與所述該文件資源的種子節(jié)點(diǎn)連接,進(jìn)行該文件資源的分享?,F(xiàn)有的視頻加速器采用的加速方法單一,采用多線程從視頻服務(wù)器按照上述的下載方式進(jìn)行加速下載,這種方式在本地與視頻服務(wù)器之間的網(wǎng)絡(luò)條件有限的情況下其加速效果比較差。圖1示出了根據(jù)本發(fā)明一個實(shí)施例的一種加速網(wǎng)絡(luò)視頻下載的方法的流程圖。如圖1所示,該方法包括:步驟S110,將待下載網(wǎng)絡(luò)視頻文件碼流進(jìn)行分片并按照播放順序從前到后放入下載隊(duì)列中,其中,下載隊(duì)列中靠前的分片較小,靠后的分片較大。本步驟中,將待下載的網(wǎng)絡(luò)視頻文件碼流按照播放順序從前到后進(jìn)行分片,在下載隊(duì)列中靠前的分片較?。ɡ鐜资甼,依次到上百k,幾百k等),靠后的分片較大(1M到2M),這樣可以保證的小的分片可以先下載并且能夠很快下載完,這樣可以保證視頻一邊播放的同時(shí),去下載隊(duì)列中的后面的大的視頻分片。具體來說,用一個隊(duì)列(如采用先進(jìn)先出FIFO的數(shù)據(jù)結(jié)構(gòu))存放分片,然后依次從隊(duì)列的前端取出分片進(jìn)行下載。比如一個視頻文件被分成如下四塊分片:1M、2M、3M和4M,那么用一個隊(duì)列存放就是先放入1M,再放入2M,再放入3M,最后放入4M,下載的時(shí)候則是先放入的先下載,即按照1M、2M、3M和4M的順序依次進(jìn)行下載。就分片的大小來說,1M最小,向后依次增大,4M最大。步驟S120,對于下載隊(duì)列中的至少一個分片,按照預(yù)設(shè)策略調(diào)度點(diǎn)對服務(wù)器的方式和點(diǎn)對點(diǎn)的方式進(jìn)行下載。在選擇了至少一個P2P服務(wù)器和P2S服務(wù)器后,可獲取文件資源的種子信息,例如,該客戶端可首先向所選擇P2P服務(wù)器和P2S服務(wù)器發(fā)送攜帶該文件資源信息的種子查詢請求,然后,接收所選擇P2P服務(wù)器和P2S服務(wù)器各自返回的文件資源的種子信息。本步驟中結(jié)合點(diǎn)對服務(wù)器和點(diǎn)對點(diǎn)的方式進(jìn)行下載,即使在視頻服務(wù)器的網(wǎng)絡(luò)條件較差的情況下,也能由點(diǎn)對點(diǎn)方式進(jìn)行下載,以達(dá)到加速下載的目的。本發(fā)明實(shí)施例所示圖1所示的方法,能夠解決網(wǎng)絡(luò)條件較差的用戶觀看在線視頻經(jīng)常緩沖不流暢的問題,加速在線視頻的下載,緩沖足夠的視頻數(shù)據(jù),保證流暢播放。圖2示出了根據(jù)本發(fā)明一個實(shí)施例的按照預(yù)設(shè)策略調(diào)度點(diǎn)對服務(wù)器的方式和點(diǎn)對點(diǎn)的方式進(jìn)行下載的網(wǎng)絡(luò)環(huán)境示意圖。如圖2所示,各個用戶的PC形成對等網(wǎng)絡(luò),一個PC能以點(diǎn)對點(diǎn)方式從其他PC下載視頻資源,且各個PC能夠訪問視頻服務(wù)器。在本發(fā)明中,按照預(yù)設(shè)策略調(diào)度P2S和P2P的下載策略進(jìn)行下載。P2S方式從服務(wù)器下載,服務(wù)器的數(shù)據(jù)比較穩(wěn)定,但是會受限于帶寬。P2P是和節(jié)點(diǎn)之間交互進(jìn)行下載,不太穩(wěn)定,但可以節(jié)省帶寬,在服務(wù)器速度不好的時(shí)候,可以作為補(bǔ)充下載,當(dāng)節(jié)點(diǎn)足夠多時(shí),速度甚至遠(yuǎn)超服務(wù)器。例如,對于一個大小為100K的分片,使用P2S從第1個字節(jié)開始往后下載,使用P2P從100K的最后一個字節(jié)開始往前下載,如果兩者速度相同,最后會在第50K個字節(jié)處相遇,拼成一個完整的100K分片,這樣一個分片的下載就完成了。P2S的下載方式就是用視頻請求的url,例如http://1.2.3.4/a.flv這樣的鏈接去向視頻服務(wù)器請求數(shù)據(jù)。P2P的具體下載方式如下:本機(jī)向P2P資源服務(wù)器查詢當(dāng)前視頻資源,資源服務(wù)器根據(jù)在線節(jié)點(diǎn)的情況給出一部分節(jié)點(diǎn)信息,然后本機(jī)一一去連接這些節(jié)點(diǎn)請求視頻數(shù)據(jù)。比如,本機(jī)向資源服務(wù)器查詢視頻a.flv的資源,資源服務(wù)器查到了P1、P2、P3、P4和P5這五個節(jié)點(diǎn)都有a.flv的資源,資源服務(wù)器隨機(jī)挑選出P2、P3和P5這三個節(jié)點(diǎn)反饋給本機(jī),本機(jī)根據(jù)反饋分別連接P2、P3和P5這三個節(jié)點(diǎn),請求分片數(shù)據(jù)。在接收到客戶端的視頻請求的url時(shí),可以提供與請求發(fā)起客戶端處于相同IP地址段和相同網(wǎng)絡(luò)運(yùn)營商的資源提供端也即種子節(jié)點(diǎn),該客戶端根據(jù)自身所屬IP地址段,從所述P2P服務(wù)器和/或P2S服務(wù)器的IP列表中選擇網(wǎng)絡(luò)連接最佳的一個資源服務(wù)器。具體的,從IP地址段信息庫中查詢客戶端所屬IP地址段的物理所在地和網(wǎng)絡(luò)運(yùn)營商,其中,所述IP地址段信息庫包括多個IP地址段以及每個IP地址段對應(yīng)的物理所在地和網(wǎng)絡(luò)運(yùn)營商;針對所述P2P服務(wù)器和/或P2S服務(wù)器的IP列表中各P2P服務(wù)器和/或P2S服務(wù)器的IP地址,該客戶端確定相應(yīng)的所屬IP地址段,并從所述IP地址段信息庫中查詢各所屬IP地址段的物理所在地和網(wǎng)絡(luò)運(yùn)營商;依據(jù)該客戶端所屬IP地址段和各P2P服務(wù)器和/或P2S服務(wù)器和的IP地址的物理所在地和網(wǎng)絡(luò)運(yùn)營商,從所述P2P服務(wù)器和/或P2S服務(wù)器的IP列表中選擇物理位置最臨近且處于相同網(wǎng)絡(luò)運(yùn)營商的一個P2P服務(wù)器和/或P2S服務(wù)器的IP地址。在本發(fā)明實(shí)施例中,在實(shí)際下載過程中,P2S的下載速度和P2P的下載速度不可能完全相同,分兩種情況:(a)當(dāng)檢測到網(wǎng)絡(luò)環(huán)境中P2S速度較快,P2P速度較慢的情況下。此時(shí),當(dāng)下載的視頻源較為冷門的時(shí)候,P2P的速度不會很好,這樣情況下讓P2S一直下載,P2P則可以作為次要的下載服務(wù)器進(jìn)行資源下載。對于一個視頻的至少一個分片中的每個分片,采用點(diǎn)對服務(wù)器的方式從該分片的起始位置開始向后下載,采用點(diǎn)對點(diǎn)的方式從該分片的結(jié)尾位置開始向前下載,直至將該分片的數(shù)據(jù)全部下載完成;或者,對于一個視頻的至少一個分片中的每個分片,采用點(diǎn)對點(diǎn)的方式從該分片的起始位置開始向后下載,采用點(diǎn)對服務(wù)器的方式從該分片的結(jié)尾位置開始向前下載,直至將該分片的數(shù)據(jù)全部下載完成。仍以100K大小的分片為例,采用P2S方式從起始位置開始下載,采用P2P方式從結(jié)尾位置開始下載,則P2S可能會下完前面80K的數(shù)據(jù),而后面20K的數(shù)據(jù)由P2P下載完成,如圖3所示。(b)當(dāng)檢測到在網(wǎng)絡(luò)環(huán)境中P2S速度較慢,P2P速度較快的情況下。當(dāng)下載的視頻源非常熱門時(shí),會找到大量的P2P節(jié)點(diǎn),這時(shí)P2P的速度會非常好,甚至于超過P2S的速度。當(dāng)P2P的速度達(dá)到一定的閾值時(shí),調(diào)整關(guān)閉P2S下載,只采用P2P下載,以減少服務(wù)器端的壓力。具體地對于一個視頻的至少一個分片中的每個分片,采用點(diǎn)對服務(wù)器的方式從該分片的起始位置開始向后下載,采用點(diǎn)對點(diǎn)的方式從該分片的結(jié)尾位置開始向前下載,或者,采用點(diǎn)對點(diǎn)的方式從該分片的起始位置開始向后下載,采用點(diǎn)對服務(wù)器的方式從該分片的結(jié)尾位置開始向前下載;當(dāng)點(diǎn)對點(diǎn)下載的速度大于點(diǎn)對服務(wù)器下載的速度且點(diǎn)對點(diǎn)下載的速度達(dá)到一定的閾值時(shí),關(guān)閉點(diǎn)對服務(wù)器的方式,并采用點(diǎn)對點(diǎn)的方式完成剩余部分的下載。在本發(fā)明的一個實(shí)施例中,P2P下載速度的閾值采用視頻的碼率作為指標(biāo),視頻的碼率一般用于衡量視頻的清晰度,根據(jù)經(jīng)驗(yàn),當(dāng)視頻的下載速度大于2倍的視頻的碼率值時(shí),可以保證視頻流暢播放,因此P2P下載速度的閾值可采用碼率的2倍或者3倍。例如,采用P2S方式從起始位置開始下載,采用P2P方式從結(jié)尾位置開始下載,當(dāng)P2P的下載速度很好已達(dá)到預(yù)設(shè)閾值時(shí),停止P2S,P2P從P2S已完成的地方開始從前往后下載,保證可以節(jié)省服務(wù)器的資源。還是以100K的分片為例,P2S從前往后下載了10K,P2P從后往前下載到了20K,這時(shí)發(fā)現(xiàn)P2P速度已經(jīng)優(yōu)于P2S,于是停掉P2S下載,讓P2P從10K的位置開始,完成剩下部分的下載,如圖4所示。一個分片的起始位置和結(jié)尾位置在進(jìn)行分片的時(shí)候就已經(jīng)確定好的,例如,某一個分片是從視頻的第2M開始,長度為1M,那么該分片的起始位置是該視頻的2M位置處,該分片的結(jié)束位置就是該視頻的3M位置處。在本發(fā)明的一個實(shí)施例中,采用多線程的方式對視頻的多個分片同時(shí)進(jìn)行下載。即采用多線程的方式進(jìn)行調(diào)度,同時(shí)可以創(chuàng)建多個線程讓多個分片同時(shí)下載。例如采用兩個線程(線程11和線程12)用P2S方式從起始位置開始下載,再采用兩個線程(線程21和22)用P2P方式從結(jié)尾位置開始下載,其中,初始時(shí)線程11下載第一個分片,線程12下載第二個分片,先下載完的線程11或線程12再去下載第三個分片,以此類推;同樣線程21下載最后一個分片,線程22下載倒數(shù)第二個分片,調(diào)度先完成下載的線程21或22接著下載倒數(shù)地三個分片,以此類推。還可以根據(jù)需要增減線程,如果需要增加一個線程,則開啟一個新的線程,并調(diào)度其參加下載工作,如果需要減少一個線程,則當(dāng)該線程完成一個分片的下載后就不再調(diào)度其進(jìn)行新分片的下載,就會少一個工作線程。但是由于視頻碼流的時(shí)序性要求,并不是線程數(shù)越多就越好,在發(fā)明的一個實(shí)施例中采用動態(tài)調(diào)整線程數(shù)的策略:在下載過程中增加線程進(jìn)行下載;或者,在下載過程中,如果下載速度已超過視頻碼率的預(yù)設(shè)倍數(shù),則維持線程數(shù)量不變或減少線程數(shù)量。一般根據(jù)下載速度與視頻碼率之間的關(guān)系調(diào)整線程的數(shù)量。視頻碼率是每秒播放的視頻數(shù)據(jù)量,不同清晰度的視頻文件的視頻碼率不同。例如,最開始的時(shí)候只啟動兩個線程去下載,讓前面的分片能夠快速下載完成,當(dāng)完成多個分片后,開始調(diào)整增加線程數(shù),從三線程到四線程甚至到五線程。同時(shí)監(jiān)控了下載速度,當(dāng)下載速度已經(jīng)超過視頻碼率的兩三倍之后,再增加線程數(shù)就用處不大了,可以維持當(dāng)前的線程數(shù)進(jìn)行下載。如果下載速度非常好,甚至可以減少線程數(shù),從四線程到三線程到兩線程,這樣既可以保證視頻的流程播放,又不會過多的占用網(wǎng)絡(luò)資源?,F(xiàn)有的視頻網(wǎng)站的視頻加速器都是專用的,如愛酷只能加速優(yōu)酷網(wǎng)站的視頻,飛速土豆只能加速土豆網(wǎng)的視頻,相互不兼容,因此本申請給出了如下方案:在本發(fā)明的一個實(shí)施例中,將待下載的視頻文件碼流進(jìn)行分片并按照播放順序從前到后放入下載隊(duì)列中之前,該方法進(jìn)一步包括:分析瀏覽器的網(wǎng)絡(luò)視頻下載請求,判斷預(yù)先保存的多個網(wǎng)絡(luò)視頻下載協(xié)議中是否存在支持該網(wǎng)絡(luò)視頻下載請求的協(xié)議;如果存在,則對該網(wǎng)絡(luò)視頻下載請求所對應(yīng)的待下載網(wǎng)絡(luò)視頻文件執(zhí)行所述分片及下載的過程,并且根據(jù)所支持的網(wǎng)絡(luò)視頻下載協(xié)議完成下載。即在該實(shí)施例中,由于不同的視頻網(wǎng)站所采用的視頻下載協(xié)議不同,為了能夠支持下載不同視頻網(wǎng)站的視頻,預(yù)先搜集并在服務(wù)器中保存這些視頻網(wǎng)站所采用的多個不同的網(wǎng)絡(luò)視頻下載協(xié)議。上述的多個網(wǎng)絡(luò)視頻下載協(xié)議包括但不限于如下協(xié)議:Http下載協(xié)議,UDP下載協(xié)議。圖5示出了根據(jù)本發(fā)明一個實(shí)施例的一種加速網(wǎng)絡(luò)視頻下載的裝置的結(jié)構(gòu)圖。如圖5所示,該加速網(wǎng)絡(luò)視頻下載的裝置500包括:分片單元510和下載單元520。分片單元510,適于將待下載網(wǎng)絡(luò)視頻文件碼流進(jìn)行分片并按照播放順序從前到后放入下載隊(duì)列中,其中,下載隊(duì)列中靠前的分片較小,靠后的分片較大;下載單元520,適于對于下載隊(duì)列中的至少一個分片,按照預(yù)設(shè)策略調(diào)度點(diǎn)對服務(wù)器的方式和點(diǎn)對點(diǎn)的方式進(jìn)行下載。在本發(fā)明的一個實(shí)施例中,下載單元520,適于對于所述至少一個分片中的每個分片,采用點(diǎn)對服務(wù)器的方式從該分片的起始位置開始向后下載,采用點(diǎn)對點(diǎn)的方式從該分片的結(jié)尾位置開始向前下載,直至將該分片的數(shù)據(jù)全部下載完成;或者,適于對于所述至少一個分片中的每個分片,采用點(diǎn)對點(diǎn)的方式從該分片的起始位置開始向后下載,采用點(diǎn)對服務(wù)器的方式從該分片的結(jié)尾位置開始向前下載,直至將該分片的數(shù)據(jù)全部下載完成。在本發(fā)明的一個實(shí)施例中,下載單元520,適于對于所述至少一個分片中的每個分片,采用點(diǎn)對服務(wù)器的方式從該分片的起始位置開始向后下載,采用點(diǎn)對點(diǎn)的方式從該分片的結(jié)尾位置開始向前下載,或者,采用點(diǎn)對點(diǎn)的方式從該分片的起始位置開始向后下載,采用點(diǎn)對服務(wù)器的方式從該分片的結(jié)尾位置開始向前下載;當(dāng)點(diǎn)對點(diǎn)下載的速度大于點(diǎn)對服務(wù)器下載的速度且點(diǎn)對點(diǎn)下載的速度達(dá)到一定的閾值時(shí),關(guān)閉點(diǎn)對服務(wù)器的方式,并采用點(diǎn)對點(diǎn)的方式完成剩余部分的下載。在本發(fā)明的一個實(shí)施例中,下載單元520,進(jìn)一步適于采用多線程的方式對多個分片同時(shí)進(jìn)行下載。進(jìn)一步地,下載單元520適于在下載過程中增加線程進(jìn)行下載,或者,在下載過程中,如果下載速度已超過視頻碼率的預(yù)設(shè)倍數(shù),則維持線程數(shù)量不變或減少線程數(shù)量。圖5所示的裝置所采用的分片方式可以保證的小的分片可以先下載并且能夠很快下載完,這樣可以保證視頻一邊播放的同時(shí),去下載隊(duì)列中的后面的大的視頻分片,并且按照預(yù)設(shè)策略調(diào)度點(diǎn)對服務(wù)器和點(diǎn)對點(diǎn)的方式進(jìn)行下載,即使在視頻服務(wù)器的網(wǎng)絡(luò)條件較差的情況下,也能由點(diǎn)對點(diǎn)方式進(jìn)行下載,以達(dá)到加速下載的目的。圖6示出了根據(jù)本發(fā)明一個實(shí)施例的一種加速網(wǎng)絡(luò)視頻下載的裝置的結(jié)構(gòu)圖。如圖6所示,該加速網(wǎng)絡(luò)視頻下載的裝置600包括:分片單元610、下載單元620和下載分析單元630。其中,分片單元610與圖5中的分片單元510相同,下載單元620與圖5的中下載單元520相同下載分析單元630,適于分析瀏覽器的網(wǎng)絡(luò)視頻下載請求,判斷預(yù)先保存的多個網(wǎng)絡(luò)視頻下載協(xié)議中是否存在支持該網(wǎng)絡(luò)視頻下載請求的協(xié)議;如果存在,則通知分片單元610進(jìn)行分片處理,以及通知下載單元620根據(jù)該支持的網(wǎng)絡(luò)視頻下載協(xié)議進(jìn)行下載。圖6所示的裝置所采用的分片方式可以保證的小的分片可以先下載并且能夠很快下載完,這樣可以保證視頻一邊播放的同時(shí),去下載隊(duì)列中的后面的大的視頻分片,并且按照預(yù)設(shè)策略調(diào)度點(diǎn)對服務(wù)器和點(diǎn)對點(diǎn)的方式進(jìn)行下載,即使在視頻服務(wù)器的網(wǎng)絡(luò)條件較差的情況下,也能由點(diǎn)對點(diǎn)方式進(jìn)行下載,以達(dá)到加速下載的目的。并且圖6所示的裝置能夠?qū)Σ捎貌煌曨l下載協(xié)議的多個視頻網(wǎng)站的視頻的下載進(jìn)行加速。本發(fā)明實(shí)施例中,所述下載單元,適于在下載過程中增加線程進(jìn)行下載,或者,在下載過程中,如果下載速度已超過視頻碼率的預(yù)設(shè)倍數(shù),則維持線程數(shù)量不變或減少線程數(shù)量。本發(fā)明實(shí)施例中所述的裝置,其中,該裝置進(jìn)一步包括:下載分析單元,適于分析瀏覽器的網(wǎng)絡(luò)視頻下載請求,判斷預(yù)先保存的多個網(wǎng)絡(luò)視頻下載協(xié)議中是否存在支持該網(wǎng)絡(luò)視頻下載請求的協(xié)議;如果存在,則通知所述分片單元進(jìn)行分片處理,以及通知所述下載單元根據(jù)該支持的網(wǎng)絡(luò)視頻下載協(xié)議進(jìn)行下載。需要說明的是:在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個特征有時(shí)被一起分組到單個實(shí)施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。本領(lǐng)域那些技術(shù)人員可以理解,可以對實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實(shí)施例不同的一個或多個設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。本發(fā)明的各個部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個或者多個處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號處理器(DSP)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的加速網(wǎng)絡(luò)視頻下載的裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。應(yīng)該注意的是上述實(shí)施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1