一種文件下載方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,具體涉及一種文件下載方法和裝置。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,用戶在互聯(lián)網(wǎng)上看到心儀的資源時經(jīng)常會選擇進行下載,而下載的方式也多種多樣,既有以瀏覽器內(nèi)置下載工具進行下載的方式,也有使用專門的下載工具進行下載的方式。在文件比較大且下載人數(shù)較多的情況下,對文件進行下載時,文件的提供方會提供多個服務(wù)器載點供用戶下載以便提高用戶下載速度和減少服務(wù)器負擔(dān)。此時文件在下載時會被分成若干塊,用戶實際下載時可能會從不同的服務(wù)器載點下載到不同的分塊,當(dāng)所有分塊都下載完畢后進行合并,然而在文件較大、分塊較多時合并速度很慢,甚至達到幾分鐘。
【發(fā)明內(nèi)容】
[0003]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的一種文件下載方法和裝置。
[0004]依據(jù)本發(fā)明的一個方面,提供了一種文件下載方法,包括:
[0005]下載指定文件的各個分塊;其中,所述指定文件被分割為多個分塊;
[0006]每下載完一個分塊,判斷該分塊是否與已下載的其他分塊和/或合成塊存在相鄰關(guān)系,是則將該分塊與存在相鄰關(guān)系的其他分塊和/或合成塊進行合并處理,得到一個合成塊;
[0007]當(dāng)下載完最后一個分塊,將該最后一個分塊與已存在的分塊和/或合成進行合并處理,得到所述指定文件。
[0008]可選地,所述下載指定文件的各個分塊包括:
[0009]從多個服務(wù)器同時下載指定文件的各個分塊;
[0010]其中,所述指定文件的各個分塊分布在所述多個服務(wù)器上;所述多個服務(wù)器位于同一機房中,或者所述多個服務(wù)器分布于位于不同地理位置的多個機房中。
[0011]可選地,所述判斷該分塊是否與已下載的其他分塊和/或合成塊存在相鄰關(guān)系包括:
[0012]根據(jù)各個分塊中包含的順序標識判斷該分塊是否與已下載的其他分塊和/或合成塊存在相鄰關(guān)系。
[0013]可選地,所述指定文件為將本地的指定應(yīng)用程序從低版本升級到高版本的增量文件;
[0014]該方法進一步包括:根據(jù)增量文件將本地的指定應(yīng)用程序從相應(yīng)的低版本升級到高版本。
[0015]可選地,所述增量文件包括如下指令中的一種或多種:
[0016]增加指令,包括:高版本文件相對于低版本文件的新增部分的二進制序列,以及新增部分的位置;
[0017]修改指令,包括:高版本文件相對于低版本文件的新增部分的有修改部分的二進制替換序列,以及該有修改部分的起始位置和終止位置;
[0018]刪除指令,包括:高版本文件相對于低版本文件的刪除部分起始位置和終止位置;
[0019]所述根據(jù)增量文件將本地的指定應(yīng)用程序從相應(yīng)的低版本升級到高版本包括如下中的一種或多種操作:
[0020]根據(jù)增加指令,在本地的指定應(yīng)用程序的二進制序列的所述新增部分的位置,添加所述新增部分的一.進制序列;
[0021]根據(jù)修改指令,將本地的指定應(yīng)用程序的二進制序列的所述有修改部分的起始位置和終止位置之間的內(nèi)容替換為所述二進制替換序列;
[0022]根據(jù)刪除指令,將本地的指定應(yīng)用程序的二進制序列的所述刪除部分起始位置和終止位置之間的內(nèi)容刪除。
[0023]依據(jù)本發(fā)明的另一方面,提供了一種文件下載裝置,包括:
[0024]下載單元,適于下載指定文件的各個分塊;其中,所述指定文件被分割為多個分塊;
[0025]合并單元,適于在所述下載單元每下載完一個分塊,判斷該分塊是否與已下載的其他分塊和/或合成塊存在相鄰關(guān)系,是則將該分塊與存在相鄰關(guān)系的其他分塊和/或合成塊進行合并處理,得到一個合成塊;以及適于當(dāng)所述下載單元下載完最后一個分塊,將該最后一個分塊與已存在的分塊和/或合成進行合并處理,得到所述指定文件。
[0026]可選地,所述下載單元,適于從多個服務(wù)器同時下載指定文件的各個分塊;
[0027]其中,所述指定文件的各個分塊分布在所述多個服務(wù)器上;所述多個服務(wù)器位于同一機房中,或者所述多個服務(wù)器分布于位于不同地理位置的多個機房中。
[0028]可選地,所述合并單元,適于根據(jù)各個分塊中包含的順序標識判斷該分塊是否與已下載的其他分塊和/或合成塊存在相鄰關(guān)系。
[0029]可選地,所述指定文件為將本地的指定應(yīng)用程序從低版本升級到高版本的增量文件;
[0030]該裝置進一步包括:升級單元,適于根據(jù)增量文件將本地的指定應(yīng)用程序從相應(yīng)的低版本升級到高版本。
[0031]可選地,所述增量文件包括如下指令中的一種或多種:
[0032]增加指令,包括:高版本文件相對于低版本文件的新增部分的二進制序列,以及新增部分的位置;
[0033]修改指令,包括:高版本文件相對于低版本文件的新增部分的有修改部分的二進制替換序列,以及該有修改部分的起始位置和終止位置;
[0034]刪除指令,包括:高版本文件相對于低版本文件的刪除部分起始位置和終止位置;
[0035]所述升級單元,適于根據(jù)增量文件執(zhí)行如下中的一種或多種操作:
[0036]根據(jù)增加指令,在本地的指定應(yīng)用程序的二進制序列的所述新增部分的位置,添加所述新增部分的二進制序列;
[0037]根據(jù)修改指令,將本地的指定應(yīng)用程序的二進制序列的所述有修改部分的起始位置和終止位置之間的內(nèi)容替換為所述二進制替換序列;
[0038]根據(jù)刪除指令,將本地的指定應(yīng)用程序的二進制序列的所述刪除部分起始位置和終止位置之間的內(nèi)容刪除。
[0039]根據(jù)本發(fā)明的技術(shù)方案對文件進行下載時,文件被分割為多個分塊,對各個分塊進行下載,每下載完一個分塊,判斷該分塊是否與已下載的其他分塊和/或合成塊存在相鄰關(guān)系,是則將該分塊與存在相鄰關(guān)系的其他分塊和/或合成塊進行合并處理,得到一個合成塊,當(dāng)下載完最后一個分塊,將該最后一個分塊與已存在的分塊和/或合成進行合并處理,得到所述指定文件,由此解決了對文件進行分塊下載時,在全部分塊下載完畢后統(tǒng)一進行合并處理速度緩慢且資源占用率大的問題,取得了可以邊下載邊對分塊的文件進行合并,節(jié)約了用戶下載時間以及設(shè)備資源的有益效果。
[0040]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
【附圖說明】
[0041]通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0042]圖1示出了本發(fā)明一個實施例提供的一種文件下載方法的流程圖;
[0043]圖2示出了本發(fā)明一個實施例提供的一種文件下載裝置的結(jié)構(gòu)圖。
【具體實施方式】
[0044]下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實