應(yīng)用程序升級方法、系統(tǒng)及其客戶端的制作方法
【專利摘要】本發(fā)明提供一種應(yīng)用程序升級方法、系統(tǒng)及其客戶端,通過在服務(wù)端生成應(yīng)用程序的新版本安裝包和客戶端當(dāng)前版本安裝包的差異化文件,將所述差異化文件發(fā)送至客戶端,由所述客戶端將所述差異化文件和所述客戶端當(dāng)前版本安裝包結(jié)合生成所述應(yīng)用程序的新版本安裝包,只需要在所述客戶端運行所述新版本安裝包,即可升級所述應(yīng)用程序。所述差異化文件的數(shù)據(jù)量非常小,只包含所述應(yīng)用程序每一個新版本安裝包和客戶端當(dāng)前版本安裝包之間的不同的部分,大大減少了應(yīng)用程序升級過程中下載的數(shù)據(jù)流量,能夠降低通信成本和通信費用,特別是對于手機(jī)等對下載流量有較大限制或者流量費用較高的移動智能終端設(shè)備更加適用。
【專利說明】應(yīng)用程序升級方法、系統(tǒng)及其客戶端
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及應(yīng)用程序管理的【技術(shù)領(lǐng)域】,特別是涉及一種應(yīng)用程序升級方法,一種應(yīng)用程序升級系統(tǒng),以及一種應(yīng)用程序升級客戶端。
【背景技術(shù)】
[0002]隨著計算機(jī)以及智能手機(jī)等智能終端的普及,越來越多的設(shè)備安裝有智能操作系統(tǒng),并且在這些智能操作系統(tǒng)的基礎(chǔ)上能夠安裝大量的應(yīng)用程序為用戶提供各種服務(wù)。
[0003]通常在應(yīng)用程序發(fā)行后,開發(fā)者會繼續(xù)開發(fā)更多不同的新版本,以便不斷完善應(yīng)用程序的各種功能,修改應(yīng)用程序可能存在的缺陷。因此,已經(jīng)安裝的舊版本應(yīng)用程序常常需要升級到新版本應(yīng)用程序。
[0004]而通常的應(yīng)用程序升級方法有兩種,一種是從服務(wù)器上下載新版本應(yīng)用程序的安裝包,另一種為下載應(yīng)用程序的離線升級包。
[0005]前者需要下載整個安裝包文件,下載的數(shù)據(jù)量較大,對于應(yīng)用程序的安裝包文件較大的情況下將會占用很大的下載帶寬,而且對于手機(jī)等對下載流量有較大限制或者流量費用較高的移動智能終端設(shè)備更加不適合。
[0006]后者只需要下載離線升級包,該離線升級包通常包含了新版本的升級文件,用戶下載之后在本地安裝所述離線升級包,所述離線升級將其中的升級文件覆蓋本地的應(yīng)用程序中需要升級的文件,從而實現(xiàn)應(yīng)用程序升級。然而,所述離線升級包本身需要包含可執(zhí)行程序才能夠離線安裝;并且要對本地的應(yīng)用程序中需要升級的文件采取覆蓋的形式替換,亦即所述離線升級包中的數(shù)據(jù)與本地的應(yīng)用程序的數(shù)據(jù)時有較多的重疊部分,導(dǎo)致所述離線升級包的數(shù)據(jù)量也不小,所述離線升級包的下載也需要占用較多的下載流量。
【發(fā)明內(nèi)容】
[0007]針對上述【背景技術(shù)】中存在的問題,本發(fā)明的目的在于提供一種能夠降低應(yīng)用程序升級過程中的下載數(shù)據(jù)流量,降低通信成本和通信費用的應(yīng)用程序升級方法及其系統(tǒng)。
[0008]一種應(yīng)用程序升級方法,包括以下步驟:
[0009]在服務(wù)端將應(yīng)用程序的新版本安裝包和客戶端當(dāng)前版本安裝包進(jìn)行比較,生成所述新版本安裝包和所述客戶端當(dāng)前版本安裝包的差異化文件,并將所述差異化文件發(fā)送至客戶端;
[0010]在客戶端接收所述差異化文件,根據(jù)所述客戶端當(dāng)前版本安裝包和所述差異化文件,生成所述應(yīng)用程序的新版本安裝包。
[0011]一種應(yīng)用程序升級系統(tǒng),包括服務(wù)端和客戶端,所述服務(wù)端用于將應(yīng)用程序的新版本安裝包和客戶端當(dāng)前版本安裝包進(jìn)行比較,生成所述新版本安裝包和所述客戶端當(dāng)前版本安裝包的差異化文件,并將所述差異化文件發(fā)送至客戶端;所述客戶端用于接收所述差異化文件,根據(jù)所述客戶端當(dāng)前版本安裝包和所述差異化文件,生成所述應(yīng)用程序的新版本安裝包。[0012]本發(fā)明的應(yīng)用程序升級方法及其系統(tǒng),在服務(wù)端生成所述新版本安裝包和所述客戶端當(dāng)前版本安裝包的差異化文件,將所述差異化文件發(fā)送至客戶端之后,由所述客戶端將所述差異化文件和所述客戶端當(dāng)前版本安裝包結(jié)合生成所述應(yīng)用程序的新版本安裝包,即可升級所述應(yīng)用程序。因為所述差異化文件并不需要對客戶端的應(yīng)用程序原文件進(jìn)行覆蓋,而只需要與所述客戶端當(dāng)前版本安裝包結(jié)合生成新版本安裝包,所以所述差異化文件和所述客戶端當(dāng)前版本安裝包并無數(shù)據(jù)重疊的部分,亦即所述差異化文件的數(shù)據(jù)量非常小,只包含所述應(yīng)用程序每一個新版本安裝包和所述客戶端當(dāng)前版本安裝包之間的不同的部分,大大減少了應(yīng)用程序升級過程中下載的數(shù)據(jù)流量,能夠降低通信成本和通信費用,特別是對于手機(jī)等對下載流量有較大限制或者流量費用較高的移動智能終端設(shè)備更加適用。
[0013]本發(fā)明的目的還在于提供一種能夠降低應(yīng)用程序升級過程中的下載數(shù)據(jù)流量,降低通信成本和通信費用的應(yīng)用程序升級方法,以及一種應(yīng)用程序升級客戶端。
[0014]一種應(yīng)用程序升級方法,包括以下步驟:
[0015]獲取服務(wù)端對應(yīng)用程序的新版本安裝包和客戶端當(dāng)前版本安裝包生成的差異化文件;
[0016]根據(jù)所述客戶端當(dāng)前版本安裝包和所述差異化文件,生成所述應(yīng)用程序的新版本安裝包。
[0017]一種應(yīng)用程序升級客戶端,包括:
[0018]用于獲取服務(wù)端對應(yīng)用程序的新版本安裝包和客戶端當(dāng)前版本安裝包生成的差異化文件的升級文件獲取模塊;
[0019]以及,用于根據(jù)所述客戶端當(dāng)前版本安裝包和所述差異化文件,生成所述應(yīng)用程序的新版本安裝包的升級模塊。
[0020]本發(fā)明的應(yīng)用程序升級方法及其升級客戶端,通過獲取服務(wù)端對應(yīng)用程序的新版本安裝包和客戶端當(dāng)前版本安裝包生成的差異化文件,客戶端只需根據(jù)所述客戶端當(dāng)前版本安裝包和所述差異化文件生成新版本安裝包,即可升級所述應(yīng)用程序。因為所述差異化文件并不需要對客戶端的應(yīng)用程序原文件進(jìn)行覆蓋,而只需要與所述客戶端當(dāng)前版本安裝包結(jié)合生成新版本安裝包,所以所述差異化文件和所述客戶端當(dāng)前版本安裝包并無數(shù)據(jù)重疊的部分,所述差異化文件的數(shù)據(jù)量較少,只包含所述應(yīng)用程序每一個新版本安裝包和客戶端當(dāng)前版本安裝包之間的不同的部分,大大減少了應(yīng)用程序升級過程中下載的數(shù)據(jù)流量,能夠降低通信成本和通信費用,特別是對于手機(jī)等對下載流量有較大限制或者流量費用較高的移動智能終端設(shè)備更加適用。
【專利附圖】
【附圖說明】
[0021]圖1是本發(fā)明應(yīng)用程序升級方法第一實施方式的流程示意圖;
[0022]圖2是本發(fā)明應(yīng)用程序升級系統(tǒng)的結(jié)構(gòu)示意圖;
[0023]圖3是本發(fā)明應(yīng)用程序升級方法第二實施方式的流程示意圖;
[0024]圖4是本發(fā)明應(yīng)用程序升級客戶端的結(jié)構(gòu)示意圖。
【具體實施方式】
[0025]請參閱圖1和圖2,圖1是本發(fā)明應(yīng)用程序升級方法第一實施方式的流程示意圖;圖2是本發(fā)明應(yīng)用程序升級系統(tǒng)的結(jié)構(gòu)示意圖。
[0026]所述應(yīng)用程序升級方法,包括以下步驟:
[0027]S101,在服務(wù)端將應(yīng)用程序的新版本安裝包和客戶端當(dāng)前版本安裝包進(jìn)行比較,生成所述新版本安裝包和所述客戶端當(dāng)前版本安裝包的差異化文件,并將所述差異化文件發(fā)送至客戶端;
[0028]S102,在客戶端接收所述差異化文件,根據(jù)所述客戶端當(dāng)前版本安裝包和所述差異化文件,生成所述應(yīng)用程序的新版本安裝包。
[0029]所述應(yīng)用程序升級系統(tǒng)包括客戶端和服務(wù)端。
[0030]其中,所述服務(wù)端和所述客戶端可以是所述應(yīng)用程序的專用服務(wù)端和客戶端,也可以是獨立于所述應(yīng)用程序之外的第三方服務(wù)端和客戶端。如果是第三方服務(wù)端和客戶端,則所述第三方服務(wù)端可以從網(wǎng)絡(luò)上下載,或者通過其他方式獲取所述應(yīng)用程序的各個版本的安裝包,并在所述第三方服務(wù)端保存所述各個版本的安裝包。
[0031]所述差異化文件是指描述所述應(yīng)用程序的兩個版本的安裝包之間不同之處的差異文件,當(dāng)開發(fā)者在上傳應(yīng)用程序的新版本后,在所述服務(wù)端會把這個新版本安裝包和客戶端當(dāng)前版本安裝包進(jìn)行差異化掃描,并且生成一個差異化文件,亦可稱為增量安裝包。
[0032]所述差異化文件的生成可以下列公式表示:
[0033]F1=F2-F3 ;
[0034]其中,F(xiàn)l為所述差異化文件,F(xiàn)2為所述應(yīng)用程序的新版本安裝包,F(xiàn)3為所述客戶端當(dāng)前版本安裝包。
[0035]所述客戶端接收所述差異化文件之后,根據(jù)所述客戶端當(dāng)前版本安裝包和所述差異化文件,生成所述新版本安裝包。所述新版本安裝包的產(chǎn)生用下列公式表示:
[0036]F2=F3+F10
[0037]客戶端生成所述新版本安裝包,安裝所述新版本安裝包即可升級所述應(yīng)用程序。具體地可設(shè)置為所述用戶端在生成所述新版本安裝包后直接運行,或者發(fā)出提示消息,提示用戶可以升級,在接收到用戶升級指令時再運行所述新版本安裝包升級。
[0038]本發(fā)明通過獲取服務(wù)端對應(yīng)用程序的新版本安裝包和客戶端當(dāng)前版本安裝包生成的差異化文件,客戶端只需根據(jù)所述客戶端當(dāng)前版本安裝包和所述差異化文件生成新版本安裝包即可升級所述應(yīng)用程序。所述差異化文件的數(shù)據(jù)量較少,減少了應(yīng)用程序升級過程中下載的數(shù)據(jù)流量,降低了升級過程的通信成本和通信費用。
[0039]在本發(fā)明中,所述服務(wù)端中保存所述應(yīng)用程序的新版本安裝包和客戶端當(dāng)前版本安裝包;而所述客戶端保存所述客戶端當(dāng)前版本安裝包,需要升級成所述新版本安裝包。而通常,一個所述服務(wù)端需要與多個所述客戶端配合,完成各個所述客戶端的應(yīng)用程序升級操作。而各個所述客戶端中保存的客戶端當(dāng)前版本安裝包可能并不相同,例如用戶端A所保存的客戶端當(dāng)前版本安裝包是第一版本,而用戶端B所保存的客戶端當(dāng)前版本安裝包是第二版本,而所述服務(wù)端保存的新版本安裝包則是第三版本,則需要將所述用戶端A所保存的第一版本的安裝包和用戶端B所保存的第二版本的安裝包都升級到所述第三版本的安裝包。
[0040]因此,所述服務(wù)端中保存的客戶端當(dāng)前版本安裝包可以有多個不同的版本,例如上面的例子中,則服務(wù)器中既保存有第一版本的安裝包也保存有第二版本的安裝包。優(yōu)選地,在服務(wù)端生成所述差異化文件時,預(yù)先將所述新版本安裝包分別與多個不同的客戶端當(dāng)前版本安裝包比較,分別生成對應(yīng)的所述差異化文件,將各個所述差異化文件與對應(yīng)的各個客戶端當(dāng)前版本安裝包的版本信息保存在服務(wù)端。
[0041]在所述客戶端升級應(yīng)用程序時,將其自身保存的所述客戶端當(dāng)前版本安裝包的版本信息發(fā)送至所述服務(wù)端;所述服務(wù)端并根據(jù)所述客戶端發(fā)送的版本信息,獲取對應(yīng)的所述差異化文件并發(fā)送至所述客戶端。
[0042]因此一個服務(wù)端能夠準(zhǔn)確地對多個不同的客戶端提供應(yīng)用程序的升級服務(wù)。并且客戶端可以在對服務(wù)端發(fā)送的升級請求中攜帶所述版本信息,服務(wù)端響應(yīng)客戶端發(fā)送的升級請求發(fā)送對應(yīng)的差異化文件進(jìn)行升級。
[0043]所述客戶端發(fā)送的版本信息,還可以用于檢驗對應(yīng)的所述客戶端是否需要升級所述應(yīng)用程序。具體的方法為:
[0044]在服務(wù)端進(jìn)一步根據(jù)所述客戶端當(dāng)前版本安裝包的版本信息,判斷所述客戶端的應(yīng)用程序安裝包是否需要更新,如果是,則根據(jù)所述客戶端發(fā)送的版本信息獲取對應(yīng)的所述差異化文件發(fā)送至所述客戶端;否則,不發(fā)送所述差異化文件。
[0045]通過上述的方法,服務(wù)端可以判斷各個客戶端中的應(yīng)用程序是否需要升級,對需要升級的客戶端發(fā)送所述差異化文件,而無需對所有用戶端都發(fā)送所述差異化文件。
[0046]本發(fā)明中,為保證所述差異化文件正確匹配,特別是對于所述客戶端以及所述服務(wù)端中各自保存的客戶端當(dāng)前版本安裝包可能存在版本信息一致,但實質(zhì)內(nèi)容不同的情形,需要對所述客戶端以及所述服務(wù)端中各自保存的客戶端當(dāng)前版本安裝包進(jìn)行一致性驗證。
[0047]以下作為本發(fā)明的一種優(yōu)選實施方式,提供一種可以準(zhǔn)確驗證客戶端以及所述服務(wù)端中各自保存的客戶端當(dāng)前版本安裝包一致性的方法,具體包括以下步驟:
[0048]在客戶端對所述客戶端當(dāng)前版本安裝包生成第一數(shù)字摘要,并將所述第一數(shù)字摘要發(fā)送至所述服務(wù)端;
[0049]在服務(wù)端根據(jù)所述客戶端發(fā)送的版本信息,對所述服務(wù)端中保存且與所述版本信息相對應(yīng)的客戶端當(dāng)前版本安裝包生成第二數(shù)字摘要,將接收的所述第一數(shù)字摘要與所述第二數(shù)字摘要比較;如果所述第一數(shù)字摘要和所述第二數(shù)字摘要相同,則將對應(yīng)的所述差異化文件發(fā)送至所述客戶端,否則,不發(fā)送所述差異化文件。
[0050]其中,所述第一數(shù)字摘要和所述第二數(shù)字摘要為根據(jù)所述客戶端以及所述服務(wù)端中各自保存的客戶端當(dāng)前版本安裝包的內(nèi)容生成的,對整個安裝包的內(nèi)容整體的摘要信息,不同于所述差異化文件或者所述安裝包的二進(jìn)制碼。
[0051]所述第一數(shù)字摘要和所述第二數(shù)字摘要優(yōu)選均通過對相應(yīng)的安裝包執(zhí)行習(xí)知的MD5 (Message Digest Algorithm,消息摘要算法)算法獲得。
[0052]如果比較所述第一數(shù)字摘要和所述第二數(shù)字摘要相同,則說明所述客戶端以及所述服務(wù)端中保存的客戶端當(dāng)前版本安裝包的內(nèi)容一致沒有差異,所述服務(wù)端根據(jù)相應(yīng)的客戶端當(dāng)前版本安裝包進(jìn)行差異化運算獲取的差異化文件發(fā)送到客戶端之后,客戶端可以正確進(jìn)行升級。
[0053]而如果所述第一數(shù)字摘要和所述第二數(shù)字摘要的比較結(jié)果不相同,則說明所述客戶端以及所述服務(wù)端中保存的客戶端當(dāng)前版本安裝包的內(nèi)容不一致,需要在服務(wù)端中繼續(xù)搜尋其他的客戶端當(dāng)前版本安裝包來進(jìn)行匹配,或者可采用另一種更新的方式,即應(yīng)用程序安裝包全量下載的方式,或者應(yīng)用程序離線升級包下載的方式完成應(yīng)用程序升級。
[0054]在本發(fā)明中,所述差異化文件文件可對所述新版本安裝包和客戶端當(dāng)前版本安裝包執(zhí)行習(xí)知的差異化算法獲得,在客戶端接收所述差異化文件后,根據(jù)所述算法的逆運算,獲得所述新版本安裝包。
[0055]下面通過一個優(yōu)選實施方式說明所述差異化文件的生成方法:
[0056]在本優(yōu)選實施方式中,首先,在服務(wù)端比較所述應(yīng)用程序的新版本安裝包和所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼的差異,根據(jù)所述二進(jìn)制碼的差異生成所述差異化文件;
[0057]而在服務(wù)端將所述差異化文件發(fā)送至所述用戶端,所述用戶端接收之后,執(zhí)行以下步驟:根據(jù)所述差異化文件,獲取所述新版本安裝包和所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼的差異;根據(jù)所述二進(jìn)制碼的差異修改所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼,生成所述應(yīng)用程序的新版本安裝包的二進(jìn)制碼,亦即生成了所述應(yīng)用程序的新版本安裝包。
[0058]由于二進(jìn)制碼屬于最底層的編碼,通過比較二進(jìn)制碼所獲得的二進(jìn)制碼的差異,可以直接用于修改所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼,從而生成所述應(yīng)用程序的新版本安裝包的二進(jìn)制碼,從而獲得所述新版本安裝包。因此在本實施方式中直接對所述新版本安裝包和所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼執(zhí)行差異算法,即可生成所述差異化文件,非常方便且準(zhǔn)確性高。
[0059]請參閱圖3,圖3是本發(fā)明應(yīng)用程序升級方法第二實施方式的流程示意圖。
[0060]所述應(yīng)用程序升級方法與所述第一實施方式的主要區(qū)別在于,其是在所述客戶端側(cè)執(zhí)行的應(yīng)用程序升級方法,包括以下步驟:
[0061]S201,獲取服務(wù)端對應(yīng)用程序的新版本安裝包和客戶端當(dāng)前版本安裝包生成的差異化文件;
[0062]S202,根據(jù)所述客戶端當(dāng)前版本安裝包和所述差異化文件,生成所述應(yīng)用程序的新版本安裝包。
[0063]通過獲取服務(wù)端對應(yīng)用程序的新版本安裝包和客戶端當(dāng)前版本安裝包生成的差異化文件,客戶端只需根據(jù)所述客戶端當(dāng)前版本安裝包和所述差異化文件生成新版本安裝包,即可升級所述應(yīng)用程序。所述差異化文件數(shù)據(jù)量較少,大大減少了應(yīng)用程序升級過程中下載的數(shù)據(jù)流量,能夠降低通信成本和通信費用。
[0064]優(yōu)選地,所述客戶端獲取所述服務(wù)端根據(jù)所述新版本安裝包和所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼差異生成的差異化文件;
[0065]根據(jù)所述差異化文件,獲取所述新版本安裝包和所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼差異;根據(jù)所述二進(jìn)制碼差異修改所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼,生成所述應(yīng)用程序的新版本安裝包。
[0066]本實施方式的應(yīng)用程序升級方法的各個步驟與所述第一實施方式的各個步驟相對應(yīng),在此不再詳述。
[0067]請參閱圖4,圖4是本發(fā)明應(yīng)用程序升級客戶端的結(jié)構(gòu)示意圖。
[0068]所述應(yīng)用程序升級客戶端,包括:
[0069]用于獲取服務(wù)端對應(yīng)用程序的新版本安裝包和客戶端當(dāng)前版本安裝包生成的差異化文件的升級文件獲取模塊111 ;
[0070]以及,用于根據(jù)所述客戶端當(dāng)前版本安裝包和所述差異化文件,生成所述應(yīng)用程序的新版本安裝包的升級模塊112。
[0071]所述升級文件獲取模塊111獲取服務(wù)端對應(yīng)用程序的新版本安裝包和客戶端當(dāng)前版本安裝包生成的差異化文件,所述升級模塊112根據(jù)所述客戶端當(dāng)前版本安裝包和所述差異化文件生成新版本安裝包,即可升級所述應(yīng)用程序。所述差異化文件數(shù)據(jù)量較少,大大減少了應(yīng)用程序升級過程中下載的數(shù)據(jù)流量,能夠降低通信成本和通信費用。
[0072]優(yōu)選地,所述升級文件獲取模塊111獲取根據(jù)所述應(yīng)用程序的新版本安裝包和所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼的差異生成的所述差異化文件;
[0073]所述升級模塊112根據(jù)所述差異化文件,獲取所述新版本安裝包和所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼的差異;根據(jù)所述二進(jìn)制碼的差異修改所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼,生成所述應(yīng)用程序的新版本安裝包。
[0074]由于二進(jìn)制碼屬于最底層的編碼,通過比較二進(jìn)制碼所獲得的二進(jìn)制碼的差異,可以直接用于修改所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼,從而生成所述應(yīng)用程序的新版本安裝包的二進(jìn)制碼,從而獲得所述新版本安裝包。因此在本實施方式中直接對所述新版本安裝包和所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼執(zhí)行差異算法,即可生成所述差異化文件,非常方便且準(zhǔn)確性高。
[0075]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施方式中的全部或部分流程以及對應(yīng)的系統(tǒng),是可以通過計算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各實施方式的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-OnlyMemory, ROM)或隨機(jī)存儲記憶體(RandomAccess Memory, RAM)等。
[0076]以上所述實施例僅表達(dá)了本發(fā)明的幾種實施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種應(yīng)用程序升級方法,其特征在于,包括以下步驟: 在服務(wù)端將應(yīng)用程序的新版本安裝包和客戶端當(dāng)前版本安裝包進(jìn)行比較,生成所述新版本安裝包和所述客戶端當(dāng)前版本安裝包的差異化文件,并將所述差異化文件發(fā)送至客戶端; 在客戶端接收所述差異化文件,根據(jù)所述客戶端當(dāng)前版本安裝包和所述差異化文件,生成所述應(yīng)用程序的新版本安裝包。
2.如權(quán)利要求1所述的應(yīng)用程序升級方法,其特征在于,在服務(wù)端生成所述新版本安裝包和所述客戶端當(dāng)前版本安裝包的差異化文件的步驟包括: 在服務(wù)端比較所述應(yīng)用程序的新版本安裝包和所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼的差異,根據(jù)所述二進(jìn)制碼的差異生成所述差異化文件; 且,所述在客戶端生成所述應(yīng)用程序的新版本安裝包的步驟包括: 在客戶端根據(jù)所述差異化文件,獲取所述新版本安裝包和所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼的差異;根據(jù)所述二進(jìn)制碼的差異修改所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼,生成所述應(yīng)用程序的新版本安裝包。
3.如權(quán)利要求1或者2所述的應(yīng)用程序升級方法,其特征在于: 在客戶端將所述客戶端當(dāng)前版本安裝包的版本信息發(fā)送至所述服務(wù)端; 在服務(wù)端預(yù)先將所述新版本安裝包分別與多個不同的客戶端當(dāng)前版本安裝包比較,分別生成對應(yīng)的所述差異化文件,將各個所述差異化文件與對應(yīng)的各個客戶端當(dāng)前版本安裝包的版本信息保存在服務(wù)端;并根據(jù)所述客戶端發(fā)送的版本信息,獲取對應(yīng)的所述差異化文件并發(fā)送至所述客戶端。`
4.如權(quán)利要求3所述的應(yīng)用程序升級方法,其特征在于,進(jìn)一步包括以下步驟: 在客戶端對所述客戶端當(dāng)前版本安裝包生成第一數(shù)字摘要,并將所述第一數(shù)字摘要發(fā)送至所述服務(wù)端; 在服務(wù)端根據(jù)所述客戶端發(fā)送的版本信息,對所述服務(wù)端中保存且與所述版本信息相對應(yīng)的客戶端當(dāng)前版本安裝包生成第二數(shù)字摘要,將接收的所述第一數(shù)字摘要與所述第二數(shù)字摘要比較;如果所述第一數(shù)字摘要和所述第二數(shù)字摘要相同,則將對應(yīng)的所述差異化文件發(fā)送至所述客戶端,否則,不發(fā)送所述差異化文件。
5.一種應(yīng)用程序升級系統(tǒng),包括服務(wù)端和客戶端,其特征在于: 所述服務(wù)端用于將應(yīng)用程序的新版本安裝包和客戶端當(dāng)前版本安裝包進(jìn)行比較,生成所述新版本安裝包和所述客戶端當(dāng)前版本安裝包的差異化文件,并將所述差異化文件發(fā)送至客戶端; 所述客戶端用于接收所述差異化文件,根據(jù)所述客戶端當(dāng)前版本安裝包和所述差異化文件,生成所述應(yīng)用程序的新版本安裝包。
6.如權(quán)利要求5所述的應(yīng)用程序升級系統(tǒng),其特征在于: 所述服務(wù)端比較所述應(yīng)用程序的新版本安裝包和所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼的差異,根據(jù)所述二進(jìn)制碼的差異生成所述差異化文件; 所述客戶端根據(jù)所述差異化文件,獲取所述新版本安裝包和所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼的差異;根據(jù)所述二進(jìn)制碼的差異修改所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼,生成所述應(yīng)用程序的新版本安裝包。
7.如權(quán)利要求5或者6所述的應(yīng)用程序升級系統(tǒng),其特征在于: 所述客戶端將所述客戶端當(dāng)前版本安裝包的版本信息發(fā)送至所述服務(wù)端; 所述服務(wù)端預(yù)先將所述新版本安裝包分別與多個不同的客戶端當(dāng)前版本安裝包比較,生成對應(yīng)的所述差異化文件,將各個所述差異化文件與對應(yīng)的各個客戶端當(dāng)前版本安裝包的版本信息保存;并根據(jù)所述客戶端發(fā)送的版本信息,獲取對應(yīng)的所述差異化文件并發(fā)送至所述客戶端。
8.如權(quán)利要求7所述的應(yīng)用程序升級系統(tǒng),其特征在于: 所述客戶端對所述客戶端當(dāng)前版本安裝包生成第一數(shù)字摘要,并將所述第一數(shù)字摘要發(fā)送至所述服務(wù)端; 所述服務(wù)端根據(jù)所述客戶端發(fā)送的版本信息,對所述服務(wù)端中保存且與所述版本信息相對應(yīng)的客戶端當(dāng)前版本安裝包生成第二數(shù)字摘要,將接收的所述第一數(shù)字摘要與所述第二數(shù)字摘要比較;如果所述第一數(shù)字摘要和所述第二數(shù)字摘要相同,則將對應(yīng)的所述差異化文件發(fā)送至所述客戶端,否則,不發(fā)送所述差異化文件。
9.一種應(yīng)用程序升級方法,其特征在于,包括以下步驟: 獲取服務(wù)端對應(yīng)用程序的新版本安裝包和客戶端當(dāng)前版本安裝包生成的差異化文件; 根據(jù)所述客戶端當(dāng)前版本安裝包和所述差異化文件,生成所述應(yīng)用程序的新版本安裝包。·
10.如權(quán)利要求9所述的應(yīng)用程序升級方法,其特征在于,獲取所述服務(wù)端根據(jù)所述新版本安裝包和所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼差異生成的差異化文件; 根據(jù)所述差異化文件,獲取所述新版本安裝包和所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼差異;根據(jù)所述二進(jìn)制碼差異修改所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼,生成所述應(yīng)用程序的新版本安裝包。
11.一種應(yīng)用程序升級客戶端,其特征在于,包括: 用于獲取服務(wù)端對應(yīng)用程序的新版本安裝包和客戶端當(dāng)前版本安裝包生成的差異化文件的升級文件獲取模塊; 以及,用于根據(jù)所述客戶端當(dāng)前版本安裝包和所述差異化文件,生成所述應(yīng)用程序的新版本安裝包的升級模塊。
12.如權(quán)利要求11所述的應(yīng)用程序升級客戶端,其特征在于: 所述升級文件獲取模塊獲取根據(jù)所述應(yīng)用程序的新版本安裝包和所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼的差異生成的所述差異化文件; 所述升級模塊根據(jù)所述差異化文件,獲取所述新版本安裝包和所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼的差異;根據(jù)所述二進(jìn)制碼的差異修改所述客戶端當(dāng)前版本安裝包的二進(jìn)制碼,生成所述應(yīng)用程序的新版本安裝包。
【文檔編號】H04L29/08GK103825925SQ201210468709
【公開日】2014年5月28日 申請日期:2012年11月19日 優(yōu)先權(quán)日:2012年11月19日
【發(fā)明者】冼文佟, 黃 俊, 吳振宇, 鄒迪飛, 林聲煒, 鐘于勝, 朱德亮, 邵興, 吳雪竹, 相里飛 申請人:騰訊科技(深圳)有限公司