一種軟件升級的方法和設備的制作方法
【專利摘要】本發(fā)明實施例提供一種軟件升級的方法和設備。涉及通信【技術領域】,能夠為終端設備提供APK增量升級包,以減少該終端設備在升級軟件時消耗的流量和時間。該方法包括:軟件更新服務器在接收到已安裝于終端設備的軟件的標識信息和版本信息時,根據該軟件的標識信息確定第一APK,并在確定該軟件的版本低于該第一APK的版本時,獲取與該版本信息表示的版本相同的第二APK,并在根據該第二APK與該第一APK的差異得到APK增量升級包后,向該終端設備發(fā)送軟件升級消息,以便該終端設備在根據該軟件升級消息下載該APK增量升級包后,調用安裝程序利用該APK增量升級包對該軟件進行升級。本發(fā)明實施例用于升級軟件。
【專利說明】一種軟件升級的方法和設備
【技術領域】
[0001]本發(fā)明涉及通信【技術領域】,尤其涉及一種軟件升級的方法和設備。
【背景技術】
[0002]隨著終端設備技術的快速發(fā)展,用戶在終端設備中安裝和使用軟件越來越普及,由于軟件的功能隨著用戶需求的變化而變化,當軟件的功能發(fā)生變化或該軟件添加新的功能時,終端設備需要對該軟件進行升級。
[0003]現(xiàn)有技術中,采用安卓操作系統(tǒng)的終端設備在進行軟件升級時,該終端設備下載比該軟件版本更高的APK (Android Package,安卓安裝包),并通過調用該終端設備的安裝程序對該更高版本的APK進行相應的安裝操作,完成該軟件由較低版本到較高版本的升級。其中,軟件的開發(fā)商將該軟件更高版本的APK安裝包上傳到軟件更新服務器,該軟件更新服務器在接收到該移動終端的軟件升級請求消息時,根據該軟件升級請求消息中的軟件版本信息確定移動終端上當前安裝的該軟件的版本低于該APK安裝包的版本,并向該終端設備發(fā)送軟件升級響應消息,以便該終端設備根據該軟件升級響應消息從該軟件更新服務器下載該APK安裝包。
[0004]由上可知,該終端設備在軟件升級時,必須將對應該軟件的高版本的APK安裝包下載下來,這樣,隨著APK安裝包越來越大,增加了該終端設備進行升級軟件消耗的流量和時間。
【發(fā)明內容】
[0005]本發(fā)明提供一種軟件升級的方法和設備,能夠為終端設備提供APK增量升級包,以減少該終端設備在升級軟件時消耗的流量和時間。
[0006]為達到上述目的,本發(fā)明的實施例采用如下技術方案:
[0007]第一方面,提供一種軟件升級的方法,包括:
[0008]軟件更新服務器接收終端設備發(fā)送的已安裝于所述終端設備的軟件的標識信息和版本信息,并根據所述軟件的標識信息確定第一安卓安裝包APK ;
[0009]在根據所述軟件的版本信息確定所述軟件的版本低于所述第一 APK的版本時,獲取第二 APK,其中,所述第二 APK的版本與所述版本信息表示的版本相同;
[0010]根據所述第二 APK與所述第一 APK的差異得到APK增量升級包,并向所述終端設備發(fā)送軟件升級消息,以便所述終端設備在根據所述軟件升級消息下載所述APK增量升級包后,調用安裝程序利用所述APK增量升級包對所述軟件進行升級。
[0011]在第一方面的第一種可能的實現(xiàn)方式中,所述根據所述第二 APK與所述第一 APK的差異得到APK增量升級包包括:
[0012]根據所述第二 APK確定所述第一 APK中的更新文件,其中,所述更新文件包括所述第一 APK中的新增文件和更改文件,并將所述新增文件和所述更改文件組成所述APK增量升級包。[0013]結合第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述方法還包括:
[0014]獲取所述APK增量升級包中的更新文件清單信息;
[0015]所述向所述終端設備發(fā)送軟件升級消息包括:
[0016]向所述終端設備發(fā)送所述更新文件清單信息,以便所述終端設備根據所述更新文件清單信息下載所述更新文件。
[0017]結合第一種可能的實現(xiàn)方式或者第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述方法還包括,獲取對應所述APK增量升級包的操作指令集,并將所述操作指令集發(fā)送至所述終端設備;
[0018]所述向所述終端設備發(fā)送軟件升級消息,以便所述終端設備在根據所述軟件升級消息下載所述APK增量升級包后,調用安裝程序利用所述APK增量升級包對所述軟件進行升級包括:
[0019]向所述終端設備發(fā)送軟件升級消息,以便所述終端設備在根據所述軟件升級消息下載所述APK增量升級包后,調用安裝程序利用所述APK增量升級包和所述操作指令集對所述軟件進行升級。
[0020]結合第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述更新文件清單信息包括更新文件對應的下載路徑,以便所述終端設備根據所述下載路徑下載對應的更新文件。
[0021]本發(fā)明第二方面提供一種軟件更新服務器,包括:
[0022]接收單元,用于接收終端設備發(fā)送的已安裝于所述終端設備的軟件的標識信息和版本信息,并根據所述軟件的標識信息確定第一安卓安裝包APK ;
[0023]處理單元,用于在根據所述接收單元接收到的軟件的版本信息確定所述軟件的版本低于所述第一APK的版本時,獲取第二APK,其中,所述第二APK的版本與所述版本信息表示的版本相同;
[0024]所述處理單元還用于,根據所述第二 APK與所述第一 APK的差異得到APK增量升級包;
[0025]發(fā)送單元,用于在所述處理單元得到所述APK增量升級包后,向所述終端設備發(fā)送軟件升級消息,以便所述終端設備在根據所述軟件升級消息下載所述APK增量升級包后,調用安裝程序利用所述APK增量升級包對所述軟件進行升級。
[0026]在第二方面的第一種可能的實現(xiàn)方式中,所述處理單元還用于,根據所述第二 APK確定所述第一 APK中的更新文件,其中,所述更新文件包括所述第一 APK中的新增文件和更改文件,并將所述新增文件和所述更改文件組成所述APK增量升級包。
[0027]結合第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述處理單元具體用于,獲取所述APK增量升級包中的更新文件清單信息;所述發(fā)送單元具體用于,向所述終端設備發(fā)送所述更新文件清單信息,以便所述終端設備根據所述更新文件清單信息下載所述更新文件。
[0028]結合第一種可能的實現(xiàn)方式或者第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述處理單元具體用于,獲取對應所述APK增量升級包的操作指令集,所述發(fā)送單元具體用于,將所述操作指令集發(fā)送至所述終端設備,以便所述終端設備在根據所述軟件升級消息下載所述APK增量升級包后,調用安裝程序利用所述APK增量升級包和所述操作指令集對所述軟件進行升級。
[0029]結合第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述更新文件清單信息包括更新文件對應的下載路徑,以便所述終端設備根據所述下載路徑下載對應的更新文件。
[0030]采用上述方案,軟件更新服務器在接收到終端設備發(fā)送的已安裝于該終端設備的軟件的標識信息和版本信息時,根據該軟件的標識信息確定第一 APK,并在根據該軟件的版本信息確定該軟件的版本低于該第一 APK的版本時,獲取與該版本信息表不的版本相同的第二 APK,該軟件更新服務器根據該第二 APK與該第一 APK的差異得到APK增量升級包,并向該終端設備發(fā)送軟件升級消息,以便該終端設備在根據該軟件升級消息下載該APK增量升級包后,調用安裝程序利用所述APK增量升級包對該軟件進行升級。由于該APK增量升級包為該第一 APK與該第二 APK不同的部分,因此該APK增量升級包的數(shù)據量小于該第一APK,這樣,終端設備在進行軟件升級時,只需要下載該APK增量升級包,無需下載完整的該第一 APK,從而減少了下載所消耗的流量和時間。
【專利附圖】
【附圖說明】
[0031]圖1為本發(fā)明實施例提供的一種軟件升級的方法的流程示意圖;
[0032]圖2為本發(fā)明實施例提供的另一種軟件升級的方法的流程示意圖;
[0033]圖3為本發(fā)明實施例提供的一種軟件更新服務器。
【具體實施方式】
[0034]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0035]本發(fā)明實施例提供一種軟件升級的方法,如圖1所示,該方法包括:
[0036]S101、軟件更新服務器接收終端設備發(fā)送的已安裝于該終端設備的軟件的標識信息和版本信息,并根據該軟件的標識信息確定第一安卓安裝包APK。
[0037]具體地,用戶在對終端設備中安裝的軟件進行升級時,該終端設備向軟件更新服務器發(fā)送該軟件的標識信息和版本信息,其中,該終端設備的操作系統(tǒng)為安卓操作系統(tǒng),該軟件更新服務器存儲有軟件開發(fā)者或開發(fā)商上傳的對應該軟件的不同版本的APK,則該軟件更新服務器根據該軟件的標識信息在不同版本的APK中確定第一 APK,該第一 APK可以是該軟件更新服務器中對應該軟件的版本最高的APK。
[0038]示例的,該軟件的標識信息為的該軟件的名稱:xx,該軟件更新服務器中存儲有對應該軟件的多個不同版本的安裝包,例如xx_l.APK、xx_2.APK和XX_3.APK,則該軟件更新服務器在接收到該終端設備發(fā)送的該軟件的標識信息XX時,根據該軟件的標識信息XX確定對應該軟件的安裝包xx_l.APK、xx_2.APK和xx_3.APK,并確定版本最高的xx_3.APK為該第一 APK。
[0039]S102、該軟件更新服務器在根據該軟件的版本信息確定該軟件的版本低于該第一APK的版本時,獲取第二 APK。[0040]其中,該第二 APK的版本與該版本信息表示的版本相同。
[0041]具體地,該軟件更新服務器根據該軟件的版本信息比較該軟件的版本與該第一APK的版本,若該軟件的版本在該第一 APK的版本以上,則該軟件更新服務器確定該軟件的版本已經是最高版本,無需進行版本升級;若該軟件的版本低于該第一 APK的版本,則該軟件更新服務器確定該軟件需要更新并獲取與該軟件同版本的第二 APK。
[0042]示例地,該第一 APK為xx_3.APK,即該第一 APK的版本為第三版,若該軟件的版本為第三版,則該軟件更新服務器在確定該版本信息表示的版本與該第一 APK的版本相同時,該軟件更新服務器確定該軟件無需進行版本升級;若該軟件的版本為第二版,則該軟件更新服務器在確定該版本信息表示的版本低于該第一 APK的版本時,該軟件更新服務器確定該軟件可以進行版本升級,并獲取與該版本信息表示的版本相同的xx_2.APK,即第二APK。
[0043]S103、該軟件更新服務器根據該第二 APK與該第一 APK的差異得到APK增量升級包,并向該終端設備發(fā)送軟件升級消息,以便該終端設備在根據該軟件升級消息下載該APK增量升級包后,調用安裝程序利用該APK增量升級包對該軟件進行升級。
[0044]可選地,該軟件更新服務器根據該第二 APK確定該第一 APK中的更新文件,其中,該更新文件包括該第一 APK中的新增文件和更改文件,并將該新增文件和該更改文件組成該APK增量升級包。
[0045]進一步地,該軟件更新服務器獲取該APK增量升級包中的更新文件清單信息,并將該更新文件清單信息發(fā)送至該終端設備,以便該終端設備根據該更新文件清單信息下載該更新文件。
[0046]具體地,該軟件更新服務器將該第二 APK與該第一 APK進行比較,可能有以下四種情況:
[0047]1、存在該第一 APK中的安裝文件A,不存在于該第二 APK中,則該第一 APK中增加了該安裝文件A ;
[0048]2、存在該第二 APK中的安裝文件B,不存在于該第一 APK中,則該第一 APK中刪除了該安裝文件B ;
[0049]3、該第一 APK與該第二 APK中都存在安裝文件C,但該第一 APK與該第二 APK中對應該安裝文件C的存儲信息不同,則該第一 APK修改了該安裝文件C ;
[0050]4、該第一 APK與該第二 APK中都存在安裝文件D,且該第一 APK與該第二 APK中對應該安裝文件D的存儲信息相同,則該安裝文件D在該第一 APK與該第二 APK中保持不變。
[0051]這樣,該軟件更新服務器確定符合該情況I的安裝文件A為該新增文件,符合情況3的安裝文件A為該更改文件,則該軟件更新服務器將該新增文件和該更改文件合并壓縮成該APK增量升級包。另外,該軟件更新服務器在確定該新增文件和該更改文件時,記錄該新增文件的標識信息和該更改文件的標識信息,獲得該更新文件清單信息。
[0052]可選地,該更新文件清單信息還包括更新文件對應的下載路徑,以便該終端設備根據該下載路徑下載對應的更新文件。
[0053]進一步地,該軟件更新服務器獲取對應該APK增量升級包的操作指令集,以便該終端設備在下載該APK增量升級包后,根據該操作指令集和該APK增量升級包對該軟件進行升級。[0054]其中,該軟件更新服務器可以通過向該終端設備發(fā)送軟件升級消息將該更新文件清單信息和該操作指令集傳送至該終端設備,也就是說,該軟件升級消息包括該更新文件清單信息和該操作指令集。
[0055]需要說明的是,該終端設備在下載該APK增量升級包后,需要將該終端設備中用于安裝該軟件的第三APK與該APK增量升級包合并生成一個新的第四APK,其中,該第三APK的版本與該第二 APK的版本相同,該第四APK的版本與該第一 APK的版本相同。
[0056]具體地,該終端設備在接收到該軟件更新服務器發(fā)送的軟件升級消息后,按照該軟件升級消息中的更新文件清單信息從該軟件更新服務器中下載該APK增量升級包,并根據該軟件升級消息中的操作指令集對該APK增量升級包進行操作,例如,根據上述該第二APK與該第一 APK進行比較的四種情況,對于情況I中的安裝文件A,該終端設備需要執(zhí)行對應該安裝文件A的插入操作,將該安裝文件A插入到該第三APK中;對于情況2中的安裝文件B,該終端設備需要執(zhí)行對應該安裝文件B的刪除操作,將該安裝文件B從該第三APK中刪除;對于情況3中的安裝文件C,該終端設備需要執(zhí)行對應該安裝文件C的替換操作,將該第三APK中的安裝文件C替換為該APK增量更新包中的安裝文件C。這樣,該終端設備通過該操作指令集將該第三APK與該APK增量更新包合并為一個新的第四APK,則該終端設備通過調用安裝程序對該第四APK進行安裝操作,完成該軟件更高版本的安裝,使得該軟件由低版本升級為高版本。
[0057]采用上述方案,軟件更新服務器在接收到終端設備發(fā)送的已安裝于該終端設備的軟件的標識信息和版本信息時,根據該軟件的標識信息確定第一 APK,并在根據該軟件的版本信息確定該軟件的版本低于該第一 APK的版本時,獲取與該版本信息表不的版本相同的第二 APK,該軟件更新服務器根據該第二 APK與該第一 APK的差異得到APK增量升級包,并向該終端設備發(fā)送軟件升級消息,以便該終端設備在根據該軟件升級消息下載該APK增量升級包后,調用安裝程序利用所述APK增量升級包對該軟件進行升級。由于該APK增量升級包為該第一 APK與該第二 APK不同的部分,因此該APK增量升級包的數(shù)據量小于該第一APK,這樣,終端設備在進行軟件升級時,只需要下載該APK增量升級包,無需下載完整的該第一 APK,從而減少了下載所消耗的流量和時間。
[0058]本發(fā)明提供一種軟件升級的方法,如圖2所示,該方法包括:
[0059]S201、軟件更新服務器獲取已安裝于終端設備的軟件的標識信息和版本信息。
[0060]具體地,用戶在對終端設備中安裝的軟件進行升級時,該終端設備向軟件更新服務器發(fā)送該軟件的標識信息和版本信息,其中,該終端設備的操作系統(tǒng)為安卓操作系統(tǒng),該軟件更新服務器存儲有軟件開發(fā)者或開發(fā)商上傳的對應該軟件的不同版本的APK。
[0061]S202、該軟件更新服務器根據該軟件的標識信息確定第一 APK。
[0062]具體地,該軟件更新服務器根據該軟件的標識信息在不同版本的APK中確定第一APK,其中,該第一 APK可以是該軟件更新服務器中對應該軟件的版本最高的APK。
[0063]示例的,該軟件的標識信息為的該軟件的名稱:xx,該軟件更新服務器中存儲有對應該軟件的多個不同版本的安裝包,例如xx_l.APK、xx_2.APK和XX_3.APK,則該軟件更新服務器在接收到該終端設備發(fā)送的該軟件的標識信息XX時,根據該軟件的標識信息XX確定對應該軟件的安裝包xx_l.APK、xx_2.APK和xx_3.APK,并確定版本最高的xx_3.APK為該第一 APK。[0064]S203、該軟件更新服務器根據該軟件的版本信息在確定該軟件的版本低于該第一APK的版本時,獲取與該版本信息表示的版本相同的第二 APK。
[0065]具體地,該軟件更新服務器根據該軟件的版本信息比較該軟件的版本與該第一APK的版本,若該軟件的版本在該第一 APK的版本以上,則該軟件更新服務器確定該軟件的版本已經是最高版本,無需進行版本升級;若該軟件的版本低于該第一 APK的版本,則該軟件更新服務器確定該軟件需要更新并獲取與該軟件同版本的第二 APK。
[0066]示例地,該第一 APK為xx_3.APK,即該第一 APK的版本為第三版,若該軟件的版本為第三版,則該軟件更新服務器在確定該版本信息表示的版本與該第一 APK的版本相同時,該軟件更新服務器確定該軟件無需進行版本升級;若該軟件的版本為第二版,則該軟件更新服務器在確定該版本信息表示的版本低于該第一 APK的版本時,該軟件更新服務器確定該軟件可以進行版本升級,并獲取與該版本信息標識的版本相同的xx_2.APK,即第二APK。
[0067]S204、該軟件更新服務器將該第二 APK與該第一 APK進行比較,得到新增文件和更改文件。
[0068]具體地,該軟件更新服務器將該第二 APK與該第一 APK進行比較,可能有以下四種情況:
[0069]1、存在該第一 APK中的安裝文件A,不存在于該第二 APK中,則該第一 APK中增加了該安裝文件A ;
[0070]2、存在該第二 APK中的安裝文件B,不存在于該第一 APK中,則該第一 APK中刪除了該安裝文件B ;
[0071 ] 3、該第一 APK與該第二 APK中都存在安裝文件C,但該第一 APK與該第二 APK中對應該安裝文件C的存儲信息不同,則該第一 APK修改了該安裝文件C ;
[0072]4、該第一 APK與該第二 APK中都存在安裝文件D,且該第一 APK與該第二 APK中對應該安裝文件D的存儲信息相同,則該安裝文件D在該第一 APK與該第二 APK中保持不變。
[0073]這樣,該軟件更新服務器確定符合該情況I的安裝文件A為該新增文件,符合情況3的安裝文件A為該更改文件。
[0074]S205、該軟件更新服務器將該新增文件和該更改文件合并為APK增量升級包,并獲取更新文件清單信息。
[0075]其中,該更新文件包括該新增文件和該更改文件。
[0076]該軟件更新服務器在確定該新增文件和該更改文件時,記錄該新增文件的標識信息和該更改文件的標識信息,獲得該更新文件清單信息。
[0077]可選地,該更新文件清單信息還包括更新文件對應的下載路徑,以便該終端設備根據該下載路徑下載對應的更新文件。
[0078]S206、該軟件更新服務器獲取對應該APK增量升級包的操作指令集,并向該終端設備發(fā)送軟件升級消息。
[0079]其中,該軟件升級消息包括該更新文件清單信息和該操作指令集。
[0080]S207、該終端設備根據該更新文件清單信息從該軟件更新服務器下載該APK增量升級包,并按照該操作指令將該APK增量升級包與第三APK合并為第四APK。
[0081]需要說明的是,該終端設備在下載該APK增量升級包后,需要將該終端設備中用于安裝該軟件的第三APK與該APK增量升級包合并生成一個新的第四APK,其中,該第三APK的版本與該第二 APK的版本相同,該第四APK的版本與該第一 APK的版本相同。
[0082]S208、該終端設備調用安裝程序利用該第四APK安裝該軟件的更高版本,完成該軟件的升級。
[0083]具體地,該終端設備在接收到該軟件更新服務器發(fā)送的軟件升級消息后,按照該軟件升級消息中的更新文件清單信息從該軟件更新服務器中下載該APK增量升級包,并根據該軟件升級消息中的操作指令對該APK增量升級包進行操作,例如,根據上述該第二 APK與該第一 APK進行比較的四種情況,對于情況I中的安裝文件A,該終端設備需要執(zhí)行對應該安裝文件A的插入操作,將該安裝文件A插入到該第三APK中;對于情況2中的安裝文件B,該終端設備需要執(zhí)行對應該安裝文件B的刪除操作,將該安裝文件B從該第三APK中刪除;對于情況3中的安裝文件C,該終端設備需要執(zhí)行對應該安裝文件C的替換操作,將該第三APK中的安裝文件C替換為該APK增量更新包中的安裝文件C。這樣,該終端設備通過該操作指令將該第三APK與該APK增量更新包合并為一個新的第四APK,則該終端設備通過調用安裝程序對該第四APK進行安裝操作,完成該軟件更高版本的安裝,使得該軟件由低版本升級為高版本。
[0084]通過上述步驟,由于該APK增量升級包為該第一 APK與該第二 APK不同的部分,因此該APK增量升級包小于該第一 APK,這樣,終端設備在進行軟件升級時,只需要下載該APK增量升級包,無需下載完整的該第一 APK,從而減少了下載所消耗的流量和時間。
[0085]另外,對于上述方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
[0086]本發(fā)明實施例提供一種軟件更新服務器30,如圖3所示,該軟件更新服務器30包括:
[0087]接收單元31,用于接收終端設備發(fā)送的已安裝于該終端設備的軟件的標識信息和版本信息,并根據該軟件的標識信息確定第一安卓安裝包APK。
[0088]處理單元32,用于在根據該接收單元31接收到的軟件的版本信息確定該軟件的版本低于該第一 APK的版本時,獲取第二 APK。
[0089]其中,該第二 APK的版本與該版本信息表示的版本相同。
[0090]該處理單元32還用于,根據該第二APK與該第一APK的差異得到APK增量升級包。
[0091]發(fā)送單元33,用于在該處理單元32得到該APK增量升級包后,向該終端設備發(fā)送軟件升級消息,以便該終端設備在根據該軟件升級消息下載該APK增量升級包后,調用安裝程序利用該APK增量升級包對該軟件進行升級。
[0092]具體地,用戶在對終端設備中安裝的軟件進行升級時,該終端設備向軟件更新服務器發(fā)送該軟件的標識信息和版本信息,其中,該終端設備的操作系統(tǒng)為安卓操作系統(tǒng),該軟件更新服務器存儲有軟件開發(fā)者或開發(fā)商上傳的對應該軟件的不同版本的APK,則該軟件更新服務器根據該軟件的標識信息在不同版本的APK中確定第一 APK,該第一 APK可以是該軟件更新服務器中對應該軟件的版本最高的APK。
[0093]示例的,該軟件的標識信息為的該軟件的名稱:xx,該軟件更新服務器中存儲有對應該軟件的多個不同版本的安裝包,例如xx_l.APK、xx_2.APK和XX_3.APK,則該軟件更新服務器在接收到該終端設備發(fā)送的該軟件的標識信息XX時,根據該軟件的標識信息XX確定對應該軟件的安裝包xx_l.APK、xx_2.APK和xx_3.APK,并確定版本最高的xx_3.APK為該第一 APK。
[0094]進一步地,該軟件更新服務器根據該軟件的版本信息比較該軟件的版本與該第一APK的版本,若該軟件的版本在該第一 APK的版本以上,則該軟件更新服務器確定該軟件的版本已經是最高版本,無需進行版本升級;若該軟件的版本低于該第一 APK的版本,則該軟件更新服務器確定該軟件需要更新并獲取與該軟件同版本的第二 APK。
[0095]示例地,該第一 APK為xx_3.APK,即該第一 APK的版本為第三版,若該軟件的版本為第三版,則該軟件更新服務器在確定該版本信息表示的版本與該第一 APK的版本相同時,該軟件更新服務器確定該軟件無需進行版本升級;若該軟件的版本為第二版,則該軟件更新服務器在確定該版本信息表示的版本低于該第一 APK的版本時,該軟件更新服務器確定該軟件可以進行版本升級,并獲取與該版本信息表示的版本相同的xx_2.APK,即第二APK。
[0096]可選地,該處理單元32具體用于,根據該第二 APK確定該第一 APK中的更新文件,其中,該更新文件包括該第一 APK中的新增文件和更改文件,并將該新增文件和該更改文件組成該APK增量升級包。
[0097]進一步地,該處理單元32還用于,獲取該APK增量升級包中的更新文件清單信息,該發(fā)送單元33具體用于,將該更新文件清單信息發(fā)送至該終端設備,以便該終端設備根據該更新文件清單信息下載該更新文件。
[0098]具體地,該軟件更新服務器將該第二 APK與該第一 APK進行比較,可能有以下四種情況:
[0099]1、存在該第一 APK中的安裝文件A,不存在于該第二 APK中,則該第一 APK中增加了該安裝文件A ;
[0100]2、存在該第二 APK中的安裝文件B,不存在于該第一 APK中,則該第一 APK中刪除了該安裝文件B ;
[0101 ] 3、該第一 APK與該第二 APK中都存在安裝文件C,但該第一 APK與該第二 APK中對應該安裝文件C的存儲信息不同,則該第一 APK修改了該安裝文件C ;
[0102]4、該第一 APK與該第二 APK中都存在安裝文件D,且該第一 APK與該第二 APK中對應該安裝文件D的存儲信息相同,則該安裝文件D在該第一 APK與該第二 APK中保持不變。
[0103]這樣,該軟件更新服務器確定符合該情況I的安裝文件A為該新增文件,符合情況3的安裝文件A為該更改文件,則該軟件更新服務器將該新增文件和該更改文件合并壓縮成該APK增量升級包。另外,該軟件更新服務器在確定該新增文件和該更改文件時,記錄該新增文件的標識信息和該更改文件的標識信息,獲得該更新文件清單信息。
[0104]可選地,該更新文件清單信息還包括更新文件對應的下載路徑,以便該終端設備根據該下載路徑下載對應的更新文件。
[0105]進一步地,該處理單元32具體用于,獲取對應該APK增量升級包的操作指令集,該發(fā)送單元33具體用于,將該操作指令集發(fā)送至該終端設備,以便該終端設備在下載該APK增量升級包后,根據該操作指令集和該APK增量升級包對該軟件進行升級。[0106]需要說明的是,該終端設備在下載該APK增量升級包后,需要將該終端設備中用于安裝該軟件的第三APK與該APK增量升級包合并生成一個新的第四APK,其中,該第三APK的版本與該第二 APK的版本相同,該第四APK的版本與該第一 APK的版本相同。
[0107]具體地,該終端設備在接收到該軟件更新服務器發(fā)送的軟件升級消息后,按照該軟件升級消息中的更新文件清單信息從該軟件更新服務器中下載該APK增量升級包,并根據該軟件升級消息中的操作指令集對該APK增量升級包進行操作,例如,根據上述該第二APK與該第一 APK進行比較的四種情況,對于情況I中的安裝文件A,該終端設備需要執(zhí)行對應該安裝文件A的插入操作,將該安裝文件A插入到該第三APK中;對于情況2中的安裝文件B,該終端設備需要執(zhí)行對應該安裝文件B的刪除操作,將該安裝文件B從該第三APK中刪除;對于情況3中的安裝文件C,該終端設備需要執(zhí)行對應該安裝文件C的替換操作,將該第三APK中的安裝文件C替換為該APK增量更新包中的安裝文件C。這樣,該終端設備通過該操作指令集將該第三APK與該APK增量更新包合并為一個新的第四APK,則該終端設備通過調用安裝程序對該第四APK進行安裝操作,完成該軟件更高版本的安裝,使得該軟件由低版本升級為高版本。
[0108]采用上述軟件更新服務器,該軟件更新服務器在接收到終端設備發(fā)送的已安裝于該終端設備的軟件的標識信息和版本信息時,根據該軟件的標識信息確定第一 APK,并在根據該軟件的版本信息確定該軟件的版本低于該第一 APK的版本時,獲取與該版本信息表示的版本相同的第二 APK,該軟件更新服務器根據該第二 APK與該第一 APK的差異得到APK增量升級包,并向該終端設備發(fā)送軟件升級消息,以便該終端設備在根據該軟件升級消息下載該APK增量升級包后,調用安裝程序利用所述APK增量升級包對該軟件進行升級。由于該APK增量升級包為該第一 APK與該第二 APK不同的部分,因此該APK增量升級包的數(shù)據量小于該第一 APK,這樣,終端設備在進行軟件升級時,只需要下載該APK增量升級包,無需下載完整的該第一 APK,從而減少了下載所消耗的流量和時間。
[0109]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本【技術領域】的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應以權利要求的保護范圍為準。
【權利要求】
1.一種軟件升級的方法,其特征在于,包括: 軟件更新服務器接收終端設備發(fā)送的已安裝于所述終端設備的軟件的標識信息和版本信息,并根據所述軟件的標識信息確定第一安卓安裝包APK ; 在根據所述軟件的版本信息確定所述軟件的版本低于所述第一 APK的版本時,獲取第二APK,其中,所述第二 APK的版本與所述版本信息表示的版本相同; 根據所述第二 APK與所述第一 APK的差異得到APK增量升級包,并向所述終端設備發(fā)送軟件升級消息,以便所述終端設備在根據所述軟件升級消息下載所述APK增量升級包后,調用安裝程序利用所述APK增量升級包對所述軟件進行升級。
2.根據權利要求1所述的方法,其特征在于,所述根據所述第二APK與所述第一 APK的差異得到APK增量升級包包括: 根據所述第二 APK確定所述第一 APK中的更新文件,其中,所述更新文件包括所述第一APK中的新增文件和更改文件,并將所述新增文件和所述更改文件組成所述APK增量升級包。
3.根據權利要求2所述的方法,其特征在于,所述方法還包括: 獲取所述APK增量升級包中的更新文件清單信息; 所述向所述終端設備 發(fā)送軟件升級消息包括: 向所述終端設備發(fā)送所述更新文件清單信息,以便所述終端設備根據所述更新文件清單信息下載所述更新文件。
4.根據權利要求2或3所述的方法,其特征在于,所述方法還包括,獲取對應所述APK增量升級包的操作指令集,并將所述操作指令集發(fā)送至所述終端設備; 所述向所述終端設備發(fā)送軟件升級消息,以便所述終端設備在根據所述軟件升級消息下載所述APK增量升級包后,調用安裝程序利用所述APK增量升級包對所述軟件進行升級包括: 向所述終端設備發(fā)送軟件升級消息,以便所述終端設備在根據所述軟件升級消息下載所述APK增量升級包后,調用安裝程序利用所述APK增量升級包和所述操作指令集對所述軟件進行升級。
5.根據權利要求4所述的方法,其特征在于,所述更新文件清單信息包括更新文件對應的下載路徑,以便所述終端設備根據所述下載路徑下載對應的更新文件。
6.一種軟件更新服務器,其特征在于,包括: 接收單元,用于接收終端設備發(fā)送的已安裝于所述終端設備的軟件的標識信息和版本信息,并根據所述軟件的標識信息確定第一安卓安裝包APK ; 處理單元,用于在根據所述接收單元接收到的軟件的版本信息確定所述軟件的版本低于所述第一 APK的版本時,獲取第二 APK,其中,所述第二 APK的版本與所述版本信息表示的版本相同; 所述處理單元還用于,根據所述第二 APK與所述第一 APK的差異得到APK增量升級包; 發(fā)送單元,用于在所述處理單元得到所述APK增量升級包后,向所述終端設備發(fā)送軟件升級消息,以便所述終端設備在根據所述軟件升級消息下載所述APK增量升級包后,調用安裝程序利用所述APK增量升級包對所述軟件進行升級。
7.根據權利要求6所述的軟件更新服務器,其特征在于,所述處理單元還用于,根據所述第二 APK確定所述第一 APK中的更新文件,其中,所述更新文件包括所述第一 APK中的新增文件和更改文件,并將所述新增文件和所述更改文件組成所述APK增量升級包。
8.根據權利要求7所述的軟件更新服務器,其特征在于,所述處理單元具體用于,獲取所述APK增量升級包中的更新文件清單信息;所述發(fā)送單元具體用于,向所述終端設備發(fā)送所述更新文件清單信息,以便所述終端設備根據所述更新文件清單信息下載所述更新文件。
9.根據權利要求7或8所述的軟件更新服務器,其特征在于,所述處理單元具體用于,獲取對應所述APK增量升級包的操作指令集,所述發(fā)送單元具體用于,將所述操作指令集發(fā)送至所述終端設備,以便所述終端設備在根據所述軟件升級消息下載所述APK增量升級包后,調用安裝程序利用所述APK增量升級包和所述操作指令集對所述軟件進行升級。
10.根據權利要求9所述的軟件更新服務器,其特征在于,所述更新文件清單信息包括更新文件對應的下載路徑,以`便所述終端設備根據所述下載路徑下載對應的更新文件。
【文檔編號】G06F9/445GK103699408SQ201310680784
【公開日】2014年4月2日 申請日期:2013年12月12日 優(yōu)先權日:2013年12月12日
【發(fā)明者】劉興福, 陳浩, 張力文, 李志綱, 袁斌 申請人:樂視網信息技術(北京)股份有限公司