本發明專利技術提供一種通過下載增量升級包來升級安卓智能手機軟件的方法,該方法包括服務端處理流程和手機端的更新流程;本發明專利技術不再對新版本文件完整全部地進行網絡傳輸,而是在服務端通過算法計算出舊版本和新版本的差異信息,并將差異部分生成一個增量升級包,手機端只要下載該增量升級包,并在手機端重新生成一個新版本的完整升級安裝包,最終調用安裝程序進行新版本軟件的安裝。本發明專利技術的手機端只要請求一個體積小的增量升級包,而不是完整的新版本安裝包。本發明專利技術的服務端通過下發增量升級包減少了下載服務器的本地IO資源消耗,同時減少了網絡帶寬的開銷。本發明專利技術還使手機用戶縮短了下載的等待時間,節省了手機流量,提升了用戶體驗。
【技術實現步驟摘要】
本專利技術涉及通訊設備
,尤其涉及。
技術介紹
SHAl算法簡介:SHAl算法即安全哈希算法(Secure Hash Algorithm)主要適用于數字簽名標準(Digital Signature Standard DSS)里面定義的數字簽名算法(DigitalSignature Algorithm DSA)。對于長度小于2~64位的消息,SHAl會產生一個160位的消息摘要。當接收到消息的時候,這個消息摘要可以用來驗證數據的完整性。在傳輸的過程中,數據很可能會發生變化,那么這時候就會產生不同的消息摘要。現有技術中,安卓智能手機安裝的各種軟件,是通過應用商店、瀏覽器或PC上的助手下載、安裝的,當軟件的開發者(或開發商)對軟件進行版本更新,手機上的舊版本軟件需要升級到新版本時,傳統的技術方案是從服務端下載完整的高版本安裝包到手機,然后調用手機上的安裝程序進行高版本軟件的安裝。現有技術的該方案存在如下缺陷:1、升級時,高版本的安裝包必須完整的下載,用戶需要消耗較多的手機流量以及等待更長的下載時間,在手機流量有限的情況下,升級一個較大的軟件時,這種情況就尤為明顯。2、手機軟件下載的服務器存在著帶寬壓力,在分發量較大的情況下,服務器消耗更多的本地文件IO資源,以及消耗更多的網絡帶寬資源。
技術實現思路
本專利技術要解決的技術問題,在于提供,使手機用戶縮短了下載的等待時間,節省了手機流量,提升了用戶體驗。本專利技術是這樣實現的:,該方法包括服務端處理流程和手機端的更新流程;所述服務端處理流程包括如下步驟:步驟10、服務端接收手機端的已安裝手機軟件的軟件標識符、版本信息;將手機軟件的軟件標識符、版本信息與服務端的軟件資源庫進行對比,若該手機軟件可更新,則進入步驟11 ;無需更新,則不進行操作;步驟11、獲得手機軟件此時的舊版本的apk安裝包并進行解壓該安裝包,讀取安裝包META-1NF目錄下的MANIFEST.MF文件中的SHAl摘要信息,形成一份舊版本的所有安裝文件的SHAl摘要信息列表I ;步驟12、通過已安裝手機軟件的軟件標識符從軟件資源庫中找出對應軟件的需升級的安裝包,即新版本的安裝包并進行解壓該新版本的安裝包;讀取新版本的安裝包META-1NF目錄下的MANIFEST.MF文件中的SHAl摘要信息,并形成一份新版本的所有安裝文件的SHAl摘要信息列表2 ;步驟13、對比SHAl摘要信息列表I和SHAl摘要信息列表2的每個文件,會得到下列四種情況:A、某一安裝文件不存在列表I中,而存在列表2中,則新版本的安裝包增加了該安裝文件;B、某一安裝文件存在列表I中,而不存在列表2中,則新版本的安裝包刪除了該安裝文件;C、某一安裝文件存在列表I和列表2中,但二者的SHAl摘要信息不相同,則新版本的安裝包修改了該安裝文件;D、某一安裝文件存在列表I和列表2中,且二者的SHAl摘要信息相同,則該安裝文件在兩個版本中保持不變;步驟14、將符合A和C兩種情況的安裝文件合并壓縮形成所述增量升級包,將符合D情況的安裝文件形成一升級信息數據,將增量升級包和升級信息數據一起下發給手機端;所述手機端的更新流程包括如下步驟:步驟20、找出該已安裝手機軟件在手機上的apk安裝包;步驟21、下載增量升級包,并修改其后綴為.apk ;步驟22、逐個地從apk安裝包中讀出安裝文件,根據所述升級信息數據,將讀出的符合D情況的安裝文件寫入到增量升級包中;從而形成升級新版本所需要的新版本apk安裝包;步驟23、調用手機的安裝程序通過新版本apk安裝包完成升級。進一步地,所述步驟11中獲得手機軟件此時的舊版本的安裝包并進行解壓該安裝包具體為:手機軟件的軟件標識符、版本信息與服務端的軟件資源庫進行對比后,在軟件資源庫中得到該手機軟件此時版本的安裝包,即為舊版本的安裝包,并進行解壓該安裝包。本專利技術具有如下優點:本專利技術不再對新版本文件完整全部地進行網絡傳輸,而是在服務端通過算法計算出舊版本和新版本的差異信息,并將差異部分生成一個增量升級包,手機端只要下載該增量升級包,并在手機端重新生成一個新版本的完整升級安裝包,最終調用安裝程序進行新版本軟件的安裝。本專利技術的手機端只要請求一個體積小的增量升級包,而不是完整的新版本安裝包。本專利技術的服務端通過下發增量升級包減少了下載服務器的本地IO資源消耗,同時減少了網絡帶寬的開銷。本專利技術還使手機用戶縮短了下載的等待時間,節省了手機流量,提升了用戶體驗。附圖說明圖1為本專利技術的服務端處理流程示意圖。圖2為本專利技術的手機端的更新流程示意圖。具體實施例方式請參閱圖1和圖2所示,本專利技術的,該方法包括服務端處理流程和手機端的更新流程;所述服務端處理流程包括如下步驟:步驟10、服務端接收手機端的已安裝手機軟件的軟件標識符、版本信息;將手機軟件的軟件標識符、版本信息與服務端的軟件資源庫進行對比,若該手機軟件可更新,則進入步驟11 ;無需更新,則不進行操作;該軟件資源庫存儲有不同類型的軟件的安裝包,軟件的類型是根據軟件標識符進行區分的;不同類型的軟件都對應有各自的版本信息;步驟11、獲得手機軟件此時的舊版本的apk安裝包并進行解壓該安裝包,讀取安裝包META-1NF目錄下的MANIFEST.MF文件中的SHAl摘要信息,形成一份舊版本的所有安裝文件的SHAl摘要信息列表I ;所述獲得手機軟件此時的舊版本的安裝包并進行解壓該安裝包具體為:手機軟件的軟件標識符、版本信息與服務端的軟件資源庫進行對比后,在軟件資源庫中得到該手機軟件此時版本的安裝包,即為舊版本的安裝包,并進行解壓該安裝包;步驟12、通過已安裝手機軟件的軟件標識符從軟件資源庫中找出對應軟件的需升級的安裝包,即新版本的安裝包并進行解壓該新版本的安裝包;讀取新版本的安裝包META-1NF目錄下的MANIFEST.MF文件中的SHAl摘要信息,并形成一份新版本的所有安裝文件的SHAl摘要信息列表2 ;步驟13、對比SHAl摘要信息列表I和SHAl摘要信息列表2的每個文件,會得到下列四種情況:A、某一安裝文件不存在列表I中,而存在列表2中,則新版本的安裝包增加了該安裝文件;B、某一安裝文件存在列表I中,而不存在列表2中,則新版本的安裝包刪除了該安裝文件;C、某一安裝文件存在列表I和列表2中,但二者的SHAl摘要信息不相同,則新版本的安裝包修改了該安裝文件;D、某一安裝文件存在列表I和列表2中,且二者的SHAl摘要信息相同,則該安裝文件在兩個版本中保持不變;步驟14、將符合A和C兩種情況的安裝文件合并壓縮形成所述增量升級包,將上述四種情形(增加、刪除、修改、不變)的信息進行匯總,形成一升級信息數據,將增量升級包和升級信息數據一起下發給手機端;所述手機端的更新流程包括如下步驟:步驟20、找出該已安裝手機軟件在手機上的apk安裝包;步驟21、下載增量升級包(包含增加的安裝文件和修改的安裝文件),并修改其后綴為.apk ;步驟22、逐個地從apk安裝包中讀出安裝文件,根據所述升級信息數據,將讀出的符合D情況的安裝文件寫入到增量升級包中;從而形成升級新版本所需要的新版本apk安裝包;步驟23、調用手機的安裝程序通過新版本apk安裝包完成升級。總之,本專利技術的手機端只要請求一個體積小的增量升級包,而不是本文檔來自技高網...
【技術保護點】
一種通過下載增量升級包來升級安卓智能手機軟件的方法,其特征在于:該方法包括服務端處理流程和手機端的更新流程;所述服務端處理流程包括如下步驟:步驟10、服務端接收手機端的已安裝手機軟件的軟件標識符、版本信息;將手機軟件的軟件標識符、版本信息與服務端的軟件資源庫進行對比,若該手機軟件可更新,則進入步驟11;無需更新,則不進行操作;步驟11、獲得手機軟件此時的舊版本的apk安裝包并進行解壓該安裝包,讀取安裝包META?INF目錄下的MANIFEST.MF文件中的SHA1摘要信息,形成一份舊版本的所有安裝文件的SHA1摘要信息列表1;步驟12、通過已安裝手機軟件的軟件標識符從軟件資源庫中找出對應軟件的需升級的安裝包,即新版本的安裝包并進行解壓該新版本的安裝包;讀取新版本的安裝包META?INF目錄下的MANIFEST.MF文件中的SHA1摘要信息,并形成一份新版本的所有安裝文件的SHA1摘要信息列表2;步驟13、對比SHA1摘要信息列表1和SHA1摘要信息列表2的每個文件,會得到下列四種情況:A、某一安裝文件不存在列表1中,而存在列表2中,則新版本的安裝包增加了該安裝文件;B、某一安裝文件存在列表1中,而不存在列表2中,則新版本的安裝包刪除了該安裝文件;C、某一安裝文件存在列表1和列表2中,但二者的SHA1摘要信息不相同,則新版本的安裝包修改了該安裝文件;D、某一安裝文件存在列表1和列表2中,且二者的SHA1摘要信息相同,則該安裝文件在兩個版本中保持不變;步驟14、將符合A和C兩種情況的安裝文件合并壓縮形成所述增量升級包,將符合D情況的安裝文件形成一升級信息數據,將增量升級包和升級信息數據一起下發給手機端;所述手機端的更新流程包括如下步驟:步驟20、找出該已安裝手機軟件在手機上的apk安裝包;步驟21、下載增量升級包,并修改其后綴為.apk;步驟22、逐個地從apk安裝包中讀出安裝文件,根據所述升級信息數據,將讀出的符合D情況的安裝文件寫入到增量升級包中;從而形成升級新版本所需要的新版本apk安裝包;步驟23、調用手機的安裝程序通過新版本apk安裝包完成升級。...
【技術特征摘要】
1.一種通過下載增量升級包來升級安卓智能手機軟件的方法,其特征在于:該方法包括服務端處理流程和手機端的更新流程; 所述服務端處理流程包括如下步驟:步驟10、服務端接收手機端的已安裝手機軟件的軟件標識符、版本信息;將手機軟件的軟件標識符、版本信息與服務端的軟件資源庫進行對t匕,若該手機軟件可更新,則進入步驟11 ;無需更新,則不進行操作; 步驟11、獲得手機軟件此時的舊版本的apk安裝包并進行解壓該安裝包,讀取安裝包META-1NF目錄下的MANIFEST.MF文件中的SHAl摘要信息,形成一份舊版本的所有安裝文件的SHAl摘要信息列表I ; 步驟12、通過已安裝手機軟件的軟件標識符從軟件資源庫中找出對應軟件的需升級的安裝包,即新版本的安裝包并進行解壓該新版本的安裝包;讀取新版本的安裝包META-1NF目錄下的MANIFEST.MF文件中的SHAl摘要信息,并形成一份新版本的所有安裝文件的SHAl摘要信息列表2 ; 步驟13、對比SHAl摘要信息列表I和SHAl摘要信息列表2的每個文件,會得到下列四種情況:A、某一安裝文件不存在列表I中,而存在列表2中,則新版本的安裝包增加了該安裝文件;B、某一安裝文件存在列表I中,而不存在列表2中,則新版本的安裝...
【專利技術屬性】
技術研發人員:劉德建,陳宏展,陳興柏,邱立亮,朱余亮,周培根,
申請(專利權)人:福州博遠無線網絡科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。