一種文件下載方法及裝置制造方法
【專(zhuān)利摘要】本發(fā)明實(shí)施例提供一種文件下載方法,包括:從服務(wù)器獲取待下載的文件的大??;根據(jù)所述文件的大小確定使用碎片化下載方式下載所述文件;根據(jù)所述文件的大小和配置的碎片大小將所述文件拆分成至少一個(gè)文件碎片;為所述每一個(gè)文件碎片分配一個(gè)下載進(jìn)程,使用所述下載進(jìn)程同時(shí)下載所述文件碎片;將下載完成的文件碎片組合成一個(gè)完整的文件。本發(fā)明實(shí)施例還提供了相應(yīng)的文件下載的裝置。
【專(zhuān)利說(shuō)明】一種文件下載方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,尤其涉及一種文件下載方法及裝置。
【背景技術(shù)】
[0002]HTTP協(xié)議(HyperText Transfer Protocol,超文本傳輸協(xié)議)是一個(gè)無(wú)狀態(tài)的應(yīng)用層協(xié)議,由請(qǐng)求和響應(yīng)構(gòu)成,是一個(gè)標(biāo)準(zhǔn)的客戶(hù)端服務(wù)器模型,用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議,可以使瀏覽器更加高效,使網(wǎng)絡(luò)傳輸量減少。不僅能保證計(jì)算機(jī)正確快速地傳輸超文本文檔,還能確定傳輸文檔中的哪一部分,以及哪部分內(nèi)容首先顯示(如文本先于圖形)等。
[0003]目前下載文件的常用方案主要有兩種:FTP下載和HTTP直接下載。這兩種下載方式都是單線程下載,容易受到網(wǎng)絡(luò)帶寬的影響。同時(shí)如果下載過(guò)程中由于種種原因?qū)е孪螺d失敗,客戶(hù)端只能選擇重新下載,無(wú)法斷點(diǎn)續(xù)傳。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例提供一種文件下載方法及裝置,用以解決現(xiàn)有技術(shù)中存在的下載方式單一導(dǎo)致的下載速度受限的問(wèn)題。
[0005]本發(fā)明的一個(gè)方面,提供一種文件下載方法,包括:
[0006]從服務(wù)器獲取待下載的文件的大小;
[0007]根據(jù)所述文件的大小確定使用碎片化下載方式下載所述文件;
[0008]根據(jù)所述文件的大小和配置的碎片大小將所述文件拆分成至少一個(gè)文件碎片;
[0009]為所述每一個(gè)文件碎片分配一個(gè)下載進(jìn)程,使用所述下載進(jìn)程同時(shí)下載所述文件碎片;
[0010]將下載完成的文件碎片組合成一個(gè)完整的文件。
[0011]本發(fā)明的另一個(gè)方面,提供一種用于文件下載的裝置,包括:
[0012]獲取單元,用于從服務(wù)器獲取待下載的文件的大小;
[0013]確定單元,用于根據(jù)獲取的文件的大小確定使用碎片化下載方式下載所述文件;
[0014]拆分單元,用于根據(jù)所述文件的大小和配置的碎片大小將所述文件拆分成至少一個(gè)文件碎片;
[0015]下載單元,用于為所述每一個(gè)文件碎片分配一個(gè)下載進(jìn)程,使用所述下載進(jìn)程同時(shí)下載所述文件碎片;
[0016]組合單元,用于將下載完成的文件碎片組合成一個(gè)完整的文件。
[0017]使用本發(fā)明實(shí)施例提供的文件下載方法及裝置,客戶(hù)端能夠根據(jù)待下載的文件的大小來(lái)確定使用傳統(tǒng)的下載方式或是碎片化下載方式,在使用碎片化下載方式時(shí),將待下載的文件分成多個(gè)碎片,為每一個(gè)碎片分配一個(gè)下載進(jìn)程進(jìn)行下載,從而突破了原有的單線程下載限制,能夠快速的獲取文件。同時(shí)由于將各個(gè)文件碎片做了編號(hào),若遇到下載失敗的情況,后續(xù)可只向服務(wù)器請(qǐng)求缺失的文件碎片,從而實(shí)現(xiàn)了斷點(diǎn)續(xù)傳,無(wú)需重新下載整個(gè)文件。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0018]圖1所示是本發(fā)明實(shí)施例提供的一種文件下載方法的示意圖;
[0019]圖2所示是本發(fā)明實(shí)施例提供的文件下載方法的信令流程圖;
[0020]圖3所示是本發(fā)明實(shí)施例提供的一種文件下載裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0021]在本發(fā)明實(shí)施例中,客戶(hù)端能夠根據(jù)待下載的文件的大小來(lái)確定使用傳統(tǒng)的下載方式或是碎片化下載方式,在使用碎片化下載方式時(shí),將待下載的文件分成多個(gè)碎片,為每一個(gè)碎片分配一個(gè)下載進(jìn)程進(jìn)行下載,從而突破了原有的單線程下載限制,能夠快速的獲取文件。同時(shí)由于將各個(gè)文件碎片做了編號(hào),若遇到下載失敗的情況,后續(xù)可只向服務(wù)器請(qǐng)求缺失的文件碎片,從而實(shí)現(xiàn)了斷點(diǎn)續(xù)傳,無(wú)需重新下載整個(gè)文件。
[0022]以下詳細(xì)說(shuō)明本發(fā)明實(shí)施例提供的文件下載方法。
[0023]圖1所示為本發(fā)明一個(gè)實(shí)施例提供的一種文件下載方法的示意圖。依據(jù)該圖,介紹文件下載方法的各步驟如下:
[0024]步驟101、從服務(wù)器獲取待下載的文件的大小;
[0025]其中,客戶(hù)端從服務(wù)器獲取待下載的文件的大小,包括:
[0026]向所述服務(wù)器發(fā)送文件下載請(qǐng)求,所述請(qǐng)求中包含所述待下載的文件的名稱(chēng);
[0027]接收所述服務(wù)器反饋的所述文件的大小。
[0028]步驟102、根據(jù)所述文件的大小確定使用碎片化下載方式下載所述文件;
[0029]其中,可以預(yù)先設(shè)置一個(gè)文件大小的閾值,若所述文件大于預(yù)設(shè)的閾值,則確定使用碎片化下載方式下載所述文件;反之,若所述文件小于預(yù)設(shè)的閾值,則可使用普通方式下載該文件。
[0030]步驟103、根據(jù)所述文件的大小和配置的碎片大小將所述文件拆分成至少一個(gè)文件碎片;
[0031]其中,將所述文件拆分成至少一個(gè)文件碎片后,還可以包括:對(duì)所述至少一個(gè)文件碎片按照拆分順序進(jìn)行編號(hào)。
[0032]步驟104、為所述每一個(gè)文件碎片分配一個(gè)下載進(jìn)程,使用所述下載進(jìn)程同時(shí)下載所述文件碎片;
[0033]步驟105、將下載完成的文件碎片組合成一個(gè)完整的文件。
[0034]其中,根據(jù)所述文件碎片的編號(hào)判斷所述文件碎片是否下載完成;
[0035]若所述文件碎片已經(jīng)下載完成,則將下載完成的文件碎片組合成一個(gè)完整的文件。
[0036]若所述文件碎片沒(méi)有下載完成,則根據(jù)所述文件碎片的編號(hào)確定還未下載的文件碎片;
[0037]向所述服務(wù)器請(qǐng)求所述還未下載的文件碎片;
[0038]接收所述服務(wù)器發(fā)送的所述還未下載的文件碎片,將下載完成的文件碎片組合成一個(gè)完整的文件。
[0039]使用本發(fā)明實(shí)施例提供的文件下載方法,客戶(hù)端能夠根據(jù)待下載的文件的大小來(lái)確定使用傳統(tǒng)的下載方式或是碎片化下載方式,在使用碎片化下載方式時(shí),將待下載的文件分成多個(gè)碎片,客戶(hù)端可以為每一個(gè)碎片分配一個(gè)下載進(jìn)程進(jìn)行下載,從而突破了原有的單線程下載限制,能夠快速的獲取文件。同時(shí)由于將各個(gè)文件碎片做了編號(hào),若遇到下載失敗的情況,后續(xù)可只向服務(wù)器請(qǐng)求缺失的文件碎片,從而實(shí)現(xiàn)了斷點(diǎn)續(xù)傳,無(wú)需重新下載整個(gè)文件。
[0040]圖2所示為本發(fā)明一個(gè)實(shí)施例提供的文件下載方法的信令流程圖。依據(jù)該圖,詳述文件下載方法的各步驟包括:
[0041]步驟201、客戶(hù)端向服務(wù)器發(fā)送HTML請(qǐng)求,請(qǐng)求獲取待下載的文件的大??;
[0042]其中,客戶(hù)端向服務(wù)器發(fā)送的請(qǐng)求中包含待下載的文件的名稱(chēng)。
[0043]步驟202、服務(wù)器向客戶(hù)端反饋待下載文件的大?。?br>
[0044]步驟203、客戶(hù)端根據(jù)獲取到的文件大小判斷是否啟用碎片化下載;
[0045]其中,可以預(yù)先設(shè)置一個(gè)文件大小的閾值,若所述文件大于預(yù)設(shè)的閾值,則確定使用碎片化下載方式下載所述文件;反之,若所述文件小于預(yù)設(shè)的閾值,則可使用普通方式下載該文件。
[0046]步驟204、客戶(hù)端根據(jù)文件的大小和配置的碎片大小啟用碎片化下載;
[0047]具體地,客戶(hù)端根據(jù)文件的大小和配置的碎片大小將要下載的文件拆分成至少一個(gè)文件碎片,為每一個(gè)文件碎片分配一個(gè)下載進(jìn)程,使用多個(gè)下載進(jìn)程同時(shí)下載文件碎片。
[0048]其中,客戶(hù)端將文件拆分成至少一個(gè)文件碎片后,還可以包括:對(duì)拆分的至少一個(gè)文件碎片按照拆分順序進(jìn)行編號(hào)。
[0049]步驟205、客戶(hù)端將下載完成的文件碎片組合成一個(gè)完整的文件。
[0050]具體地,客戶(hù)端根據(jù)文件碎片的編號(hào)判斷文件碎片是否下載完成;
[0051]若拆分的文件碎片已經(jīng)下載完成,則將下載完成的文件碎片組合成一個(gè)完整的文件。
[0052]若拆分的文件碎片沒(méi)有下載完成,則根據(jù)文件碎片的編號(hào)確定還未下載的文件碎片;
[0053]向服務(wù)器請(qǐng)求所述還未下載的文件碎片;
[0054]接收服務(wù)器發(fā)送的所述還未下載的文件碎片,將下載完成的文件碎片組合成一個(gè)完整的文件。
[0055]使用本發(fā)明實(shí)施例提供的文件下載方法,客戶(hù)端能夠根據(jù)待下載的文件的大小來(lái)確定使用傳統(tǒng)的下載方式或是碎片化下載方式,在使用碎片化下載方式時(shí),將待下載的文件分成多個(gè)碎片,客戶(hù)端可以為每一個(gè)碎片分配一個(gè)下載進(jìn)程進(jìn)行下載,從而突破了原有的單線程下載限制,能夠快速的獲取文件。同時(shí)由于將各個(gè)文件碎片做了編號(hào),若遇到下載失敗的情況,后續(xù)可只向服務(wù)器請(qǐng)求缺失的文件碎片,從而實(shí)現(xiàn)了斷點(diǎn)續(xù)傳,無(wú)需重新下載整個(gè)文件。
[0056]以下介紹一種文件下載的裝置,用以執(zhí)行前述實(shí)施例公開(kāi)的文件下載的方法。圖3所示為本發(fā)明一個(gè)實(shí)施例公開(kāi)的一種文件下載裝置的結(jié)構(gòu)示意圖。依據(jù)該圖,詳述文件下載裝置的各組成部分如下:
[0057]獲取單元301,用于從服務(wù)器獲取待下載的文件的大?。?br>
[0058]其中,獲取單元301用于從服務(wù)器獲取待下載的文件的大小,包括:
[0059]向所述服務(wù)器發(fā)送文件下載請(qǐng)求,所述請(qǐng)求中包含所述待下載的文件的名稱(chēng);
[0060]接收所述服務(wù)器反饋的所述文件的大小。
[0061]確定單元302,用于根據(jù)獲取的文件的大小確定使用碎片化下載方式下載所述文件;
[0062]其中,確定單元302根據(jù)所述文件的大小確定使用碎片化下載方式下載所述文件,包括:
[0063]若所述文件大于預(yù)設(shè)的閾值,則確定使用碎片化下載方式下載所述文件。
[0064]拆分單元303,用于根據(jù)所述文件的大小和配置的碎片大小將所述文件拆分成至少一個(gè)文件碎片;
[0065]其中,拆分單元303用于將所述文件拆分成至少一個(gè)文件碎片后,還用于:
[0066]對(duì)所述至少一個(gè)文件碎片按照拆分順序進(jìn)行編號(hào)。
[0067]下載單元304,用于為所述每一個(gè)文件碎片分配一個(gè)下載進(jìn)程,使用所述下載進(jìn)程同時(shí)下載所述文件碎片;
[0068]組合單元305,用于將下載完成的文件碎片組合成一個(gè)完整的文件。
[0069]其中,組合單元305將下載完成的文件碎片組合成一個(gè)完整的文件,包括:根據(jù)所述文件碎片的編號(hào)判斷所述文件碎片是否下載完成;
[0070]若所述文件碎片已經(jīng)下載完成,則將下載完成的文件碎片組合成一個(gè)完整的文件。
[0071]若所述文件碎片沒(méi)有下載完成,則下載單元304還用于:根據(jù)所述文件碎片的編號(hào)確定還未下載的文件碎片;
[0072]向所述服務(wù)器請(qǐng)求所述還未下載的文件碎片;
[0073]接收所述服務(wù)器發(fā)送的所述還未下載的文件碎片。
[0074]使用本發(fā)明實(shí)施例提供的文件下載裝置,客戶(hù)端能夠根據(jù)待下載的文件的大小來(lái)確定使用傳統(tǒng)的下載方式或是碎片化下載方式,在使用碎片化下載方式時(shí),將待下載的文件分成多個(gè)碎片,客戶(hù)端可以為每一個(gè)碎片分配一個(gè)下載進(jìn)程進(jìn)行下載,從而突破了原有的單線程下載限制,能夠快速的獲取文件。同時(shí)由于將各個(gè)文件碎片做了編號(hào),若遇到下載失敗的情況,后續(xù)可只向服務(wù)器請(qǐng)求缺失的文件碎片,從而實(shí)現(xiàn)了斷點(diǎn)續(xù)傳,無(wú)需重新下載整個(gè)文件。
[0075]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)于可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:R0M、RAM、磁碟、光盤(pán)、網(wǎng)絡(luò)節(jié)點(diǎn)、調(diào)度器等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0076]最后應(yīng)說(shuō)明的是:以上僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種文件下載方法,其特征在于,包括: 從服務(wù)器獲取待下載的文件的大??; 根據(jù)所述文件的大小確定使用碎片化下載方式下載所述文件; 根據(jù)所述文件的大小和配置的碎片大小將所述文件拆分成至少一個(gè)文件碎片; 為所述每一個(gè)文件碎片分配一個(gè)下載進(jìn)程,使用所述下載進(jìn)程同時(shí)下載所述文件碎片; 將下載完成的文件碎片組合成一個(gè)完整的文件。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,從服務(wù)器獲取待下載的文件的大小,包括: 向所述服務(wù)器發(fā)送文件下載請(qǐng)求,所述請(qǐng)求中包含所述待下載的文件的名稱(chēng); 接收所述服務(wù)器反饋的所述文件的大小。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,根據(jù)所述文件的大小確定使用碎片化下載方式下載所述文件,包括: 若所述文件大于預(yù)設(shè)的閾值,則確定使用碎片化下載方式下載所述文件。
4.根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的方法,其特征在于,將所述文件拆分成至少一個(gè)文件碎片,還包括: 對(duì)所述至少一個(gè)文件碎片按照拆分順序進(jìn)行編號(hào)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,將下載完成的文件碎片組合成一個(gè)完整的文件,包括: 根據(jù)所述文件碎片的編號(hào)判斷所述文件碎片是否下載完成; 若所述文件碎片已經(jīng)下載完成,則將下載完成的文件碎片組合成一個(gè)完整的文件。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,還包括: 若所述文件碎片沒(méi)有下載完成,則根據(jù)所述文件碎片的編號(hào)確定還未下載的文件碎片; 向所述服務(wù)器請(qǐng)求所述還未下載的文件碎片; 接收所述服務(wù)器發(fā)送的所述還未下載的文件碎片。
7.一種文件下載裝置,其特征在于,包括: 獲取單元,用于從服務(wù)器獲取待下載的文件的大??; 確定單元,用于根據(jù)獲取的文件的大小確定使用碎片化下載方式下載所述文件; 拆分單元,用于根據(jù)所述文件的大小和配置的碎片大小將所述文件拆分成至少一個(gè)文件碎片; 下載單元,用于為所述每一個(gè)文件碎片分配一個(gè)下載進(jìn)程,使用所述下載進(jìn)程同時(shí)下載所述文件碎片; 組合單元,用于將下載完成的文件碎片組合成一個(gè)完整的文件。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述獲取單元用于從服務(wù)器獲取待下載的文件的大小,包括: 向所述服務(wù)器發(fā)送文件下載請(qǐng)求,所述請(qǐng)求中包含所述待下載的文件的名稱(chēng); 接收所述服務(wù)器反饋的所述文件的大小。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述確定單元根據(jù)所述文件的大小確定使用碎片化下載方式下載所述文件,包括: 若所述文件大于預(yù)設(shè)的閾值,則確定使用碎片化下載方式下載所述文件。
10.根據(jù)權(quán)利要求7-9中任一項(xiàng)所述的裝置,其特征在于,所述拆分單元用于將所述文件拆分成至少一個(gè)文件碎片后,還用于: 對(duì)所述至少一個(gè)文件碎片按照拆分順序進(jìn)行編號(hào)。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述組合單元將下載完成的文件碎片組合成一個(gè)完整的文件,包括:根據(jù)所述文件碎片的編號(hào)判斷所述文件碎片是否下載完成; 若所述文件碎片已經(jīng)下載完成,則將下載完成的文件碎片組合成一個(gè)完整的文件。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述下載單元還用于: 若所述文件碎片沒(méi)有下載完成,則根據(jù)所述文件碎片的編號(hào)確定還未下載的文件碎片; 向所述服務(wù)器請(qǐng)求所述還未下載的文件碎片; 接收所述服務(wù)器發(fā)送的所述還未下載的文件碎片。
【文檔編號(hào)】H04L29/08GK104184789SQ201410063078
【公開(kāi)日】2014年12月3日 申請(qǐng)日期:2014年2月24日 優(yōu)先權(quán)日:2014年2月24日
【發(fā)明者】吳承丞 申請(qǐng)人:無(wú)錫天脈聚源傳媒科技有限公司