一種升級客戶端側(cè)應(yīng)用程序的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,具體涉及一種升級客戶端側(cè)應(yīng)用程序的方法和裝置。
【背景技術(shù)】
[0002]隨著計算機技術(shù)的發(fā)展,開發(fā)者所開發(fā)出的應(yīng)用程序并不能一直滿足用戶的需求,幾乎每一款應(yīng)用程序都需要開發(fā)者進行維護和升級。因此客戶端側(cè)也需要不斷地升級應(yīng)用程序。升級應(yīng)用程序的方法有全量升級方法和增量升級方法。全量升級是指下載應(yīng)用程序的新版本的全部文件來進行升級操作,這種升級方式流量耗費巨大。而增量升級是指在進行更新操作時,只下載新版本中相對于舊版本有改變的文件。例如舊版本包含文件A、B和C,新版本包含文件A、B’、C和D,文件B’是對文件B的改進,文件D是新增的文件,則現(xiàn)有的增量升級方法中會下載文件B’和文件D。因此增量升級會大大節(jié)省下載流量。
[0003]然而,隨著各種各樣的應(yīng)用程序的層出不窮,以及每種應(yīng)用程序都需要不斷的進行改進升級,現(xiàn)在有的這種增量升級方式仍耗費大量的數(shù)據(jù)流量。
【發(fā)明內(nèi)容】
[0004]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的升級客戶端側(cè)應(yīng)用程序的方法和裝置。
[0005]依據(jù)本發(fā)明的一個方面,提供了一種升級客戶端側(cè)應(yīng)用程序的方法,包括:
[0006]將指定應(yīng)用程序的一個高版本文件與該指定應(yīng)用程序的客戶端側(cè)的一個低版本文件精確到二進制進行對比,得到二進制差異信息;
[0007]將所述二進制差異信息保存到增量文件中;
[0008]將所述增量文件下發(fā)給客戶端,以使得客戶端將該指定應(yīng)用程序從所述低版本升級到所述高版本。
[0009]可選地,將指定應(yīng)用程序的一個高版本文件與該指定應(yīng)用程序的客戶端側(cè)的一個低版本文件精確到二進制進行對比,得到二進制差異信息包括:
[0010]如果高版本文件相對于低版本文件有新增的部分,則生成一條增加指令,該增加指令包括:該新增部分的二進制序列,以及新增部分的位置;
[0011]如果高版本文件相對于低版本文件有部分的修改,則生成一條修改指令,該修改指令包括:所述有修改部分的二進制替換序列,以及該有修改部分的起始位置和終止位置;
[0012]如果高版本文件相對于低版本文件有刪除的部分,則生成一條刪除指令,該刪除指令包括:待刪除部分的起始位置和終止位置。
[0013]可選地,將指定應(yīng)用程序的一個高版本文件與該指定應(yīng)用程序的客戶端側(cè)的一個低版本文件精確到二進制進行對比,得到二進制差異信息還進一步包括:
[0014]將所述高版本文件和所述低版本文件,按照所包含的相應(yīng)子文件進行對比;
[0015]如果高版本文件相對于低版本文件增加了新的子文件,則生成一條增加指令,該增加指令包括:該新增子文件的二進制序列,以及該新增子文件的位置;
[0016]如果高版本文件中的一個子文件相對低版本文件的相應(yīng)子文件有部分修改,則生成一條修改指令,該修改指令包括:所述子文件中的有修改部分的二進制替換序列,以及該有修改部分的起始位置和終止位置;
[0017]如果高版本文件相對于低版本文件刪除了一個子文件,則生成一條刪除指令,該刪除指令包括:待刪除子文件的起始位置和終止位置。
[0018]可選地,將所述二進制差異信息保存到增量文件中包括:
[0019]將生成的增加指令、修改指令和刪除指令保存到增量文件中。
[0020]可選地,所述將指定應(yīng)用程序的一個高版本文件與該指定應(yīng)用程序的客戶端側(cè)的一個低版本文件精確到二進制進行對比,得到二進制差異信息;以及將所述二進制差異信息保存到增量文件中包括:
[0021]每次發(fā)布指定應(yīng)用程序的最新版本文件時,將該最新版本文件與該指定應(yīng)用程序的每個低版本文件,都分別精確到二進制進行對比,得到各低版本文件對應(yīng)的二進制差異信息;
[0022]將各低版本文件對應(yīng)的二進制差異信息分別對應(yīng)保存到相應(yīng)的各增量文件中;
[0023]將各增量文件保存到增量文件庫中。
[0024]可選地,將所述增量文件下發(fā)給客戶端包括:
[0025]接收客戶端的升級指定應(yīng)用程序的請求;其中,所述請求中包含了客戶端側(cè)已存在的低版本文件的升級起始版本信息,以及想要升級到的升級目標版本信息;
[0026]根據(jù)升級起始版本信息和升級目標版本信息,從增量文件庫中查找出相應(yīng)的增量文件;
[0027]將查找出的相應(yīng)增量文件下發(fā)給所述發(fā)送請求的客戶端。
[0028]依據(jù)本發(fā)明的另一方面,提供了一種升級客戶端側(cè)應(yīng)用程序的裝置,其中,該裝置包括:
[0029]差異比較單元,適于將指定應(yīng)用程序的一個高版本文件與該指定應(yīng)用程序的客戶端側(cè)的一個低版本文件精確到二進制進行對比,得到二進制差異信息;
[0030]增量文件生成單元,適于將所述二進制差異信息保存到增量文件中;
[0031]升級處理單元,適于將所述增量文件下發(fā)給客戶端,以使得客戶端將該指定應(yīng)用程序從所述低版本升級到所述高版本。
[0032]可選地,所述差異比較單元,適于在高版本文件相對于低版本文件有新增的部分時,生成一條增加指令,該增加指令包括:該新增部分的二進制序列,以及新增部分的位置;適于在高版本文件相對于低版本文件有部分的修改時,生成一條修改指令,該修改指令包括:所述有修改部分的二進制替換序列,以及該有修改部分的起始位置和終止位置;以及適于在高版本文件相對于低版本文件有刪除的部分時,生成一條刪除指令,該刪除指令包括:待刪除部分的起始位置和終止位置。
[0033]可選地,所述差異比較單元,具體適于在將所述高版本文件和所述低版本文件,按照所包含的相應(yīng)子文件進行對比;適于在高版本文件相對于低版本文件增加了新的子文件時,生成一條增加指令,該增加指令包括:該新增子文件的二進制序列,以及該新增子文件的位置;適于在高版本文件中的一個子文件相對低版本文件的相應(yīng)子文件有部分修改時,生成一條修改指令,該修改指令包括:所述子文件中的有修改部分的二進制替換序列,以及該有修改部分的起始位置和終止位置;以及適于在高版本文件相對于低版本文件刪除了一個子文件時,生成一條刪除指令,該刪除指令包括:待刪除子文件的起始位置和終止位置。
[0034]可選地,所述增量文件生成單元,適于將所述生成的增加指令、修改指令和刪除指令保存到增量文件中。
[0035]可選地,該裝置進一步包括:存儲單元;
[0036]差異比較單元,適于在每次發(fā)布指定應(yīng)用程序的最新版本文件時,將該最新版本文件與該指定應(yīng)用程序的每個低版本文件,都分別精確到二進制進行對比,得到各低版本文件對應(yīng)的二進制差異信息;
[0037]所述增量文件生成單元,適于將各低版本文件對應(yīng)的二進制差異信息分別對應(yīng)保存到相應(yīng)的各增量文件中,并將各增量文件保存到存儲單元中的增量文件庫中;
[0038]所述存儲單元,適于保存增量文件庫。
[0039]可選地,所述升級處理單元,適于接收客戶端的升級指定應(yīng)用程序的請求;其中,所述請求中包含了客戶端側(cè)已存在的低版本文件的升級起始版本信息,以及想要升級到的升級目標版本信息;適于根據(jù)升級起始版本信息和升級目標版本信息,從增量文件庫中查找出相應(yīng)的增量文件,將查找出的相應(yīng)增量文件下發(fā)給所述發(fā)送請求的客戶端。
[0040]根據(jù)本發(fā)明的技術(shù)方案對客戶端側(cè)的應(yīng)用程序進行升級,可以將指定應(yīng)用程序的一個高版本文件與該指定應(yīng)用程序的客戶端側(cè)的一個低版本文件精確到二進制進行對比,得到二進制差異信息,并將其保存到增量文件中,再將所述增量文件下發(fā)給客戶端,從而使得客戶端可以將該指定應(yīng)用程序從現(xiàn)有低版本升級為需求的高版本。對比高版本和低版本產(chǎn)生的二進制差異信息遠遠小于現(xiàn)有技術(shù)中增量升級數(shù)據(jù)的大小,故本發(fā)明中應(yīng)用程序升級所需的增量文件要遠遠小于現(xiàn)有增量升級技術(shù)中增量文件的大小,在下載時可以節(jié)省數(shù)據(jù)流量,安裝時也可以節(jié)約用戶的時間和設(shè)備資源。
[0041]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
【附圖說明】
[004