專利名稱:一種增量升級方法及服務器、終端的制作方法
技術領域:
本發(fā)明涉及數(shù)據(jù)處理技術領域,特別是涉及一種增量升級方法及服務器、終端。
背景技術:
版本升級是指對操作系統(tǒng)或軟件舊版本的漏洞進行完善,或者對軟件添加新的應用功能的更新,使軟件更加完善好用。終端在針對本地的舊版本文件進行版本升級時,需要從服務器獲取新版本的數(shù)據(jù)信息。假設終端本地的舊版本的安裝包文件為old. apk,其大小為5M,需要獲得的新版本的安裝包文件為new. apk,其 大小為6M,現(xiàn)有技術中,需要下載6M的new. apk以完成版本升級。然而,該方法需要終端從服務器下載的數(shù)據(jù)量較大,會占用過多的帶寬資源。
發(fā)明內(nèi)容
本發(fā)明實施例中提供了一種增量升級方法及服務器、終端,能夠在版本升級時減少終端從服務器下載的數(shù)據(jù)量,減少占用的帶寬資源。為了解決上述技術問題,本發(fā)明實施例公開了如下技術方案一種增量升級方法,包括終端向服務器發(fā)送下載增量升級包的請求;所述終端接收所述增量升級包,所述增量升級包中包括通過對比第一壓縮文件與第二壓縮文件所獲得的不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息,其中,所述第一壓縮文件為舊版本文件與新版本文件拼接后的壓縮文件,所述第二壓縮文件為所述舊版本文件的壓縮文件;所述終端根據(jù)所述增量升級包中所述不匹配塊數(shù)據(jù)的起止信息,將所述不匹配塊數(shù)據(jù)與本地的所述第二壓縮文件進行拼接,生成拼接壓縮文件;所述終端對所述拼接壓縮文件進行解壓,獲得所述新版本文件;所述終端根據(jù)所述新版本文件進行升級。進一步,所述第一壓縮文件及所述第二壓縮文件均為采用7-ZIP壓縮算法獲得的壓縮文件。進一步,在所述終端向服務器發(fā)送下載增量升級包的請求之前,還包括所述終端向所述服務器發(fā)送查詢請求,所述查詢請求中包括所述舊版本文件的版本信息;所述終端接收所述服務器的反饋信息,所述反饋信息中包括所述增量升級包的描述信息;所述終端向服務器發(fā)送下載增量升級包的請求,具體為所述終端根據(jù)所述反饋信息中所述增量升級包的描述信息向所述服務器發(fā)送下載所述增量升級包的請求。一種增量升級方法,包括服務器將舊版本文件與新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將所述舊版本文件壓縮獲得第二壓縮文件;
所述服務器對比所述第一壓縮文件和所述第二壓縮文件獲得不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息;所述服務器根據(jù)所述不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息生成增量升級包;所述服務器接收終端發(fā)送的下載所述增量升級包的請求;所述服務器將所述增量升級包發(fā)送至所述終端,以使所述終端根據(jù)所述增量升級包中所述不匹配塊數(shù)據(jù)的起止信息,將所述不匹配塊數(shù)據(jù)與本地的所述第二壓縮文件進行拼接,生成拼接壓縮文件,對所述拼接壓縮文件進行解壓獲得所述新版本文件,并根據(jù)所述新版本文件進行升級。進一步,在所述服務器將舊版本文件與新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將所述舊版本文件壓縮獲得第二壓縮文件之前,還包括所述服務器接收所述終端發(fā)送的查詢請求,所述查詢請求中包括所述舊版本文件的版本信息;所述服務器根據(jù)所述查詢請求中所述舊版本文件的版本信息查找本地的舊版本文件及新版本文件;所述服務器將舊版本文件與新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將所述舊版本文件壓縮獲得第二壓縮文件,具體為所述服務器將在本地查找到的所述舊版本文件與所述新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將所述舊版本文件壓縮獲得第二壓縮文件。進一步,所述第一壓縮文件及所述第二壓縮文件均為采用7-ZIP壓縮算法獲得的壓縮文件。
`
一種增量升級方法,包括服務器接收終端發(fā)送的下載增量升級包的請求,其中包括所述增量升級包對應的舊版本文件的版本信息;所述服務器根據(jù)所述請求中的所述舊版本文件的版本信息查找本地的舊版本文件及新版本文件;服務器將所述舊版本文件與所述新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將所述舊版本文件壓縮獲得第二壓縮文件;所述服務器對比所述第一壓縮文件和所述第二壓縮文件獲得不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息;所述服務器根據(jù)所述不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息生成所述增量升級包;所述服務器將所述增量升級包發(fā)送至所述終端,以使所述終端根據(jù)所述增量升級包中所述不匹配塊數(shù)據(jù)的起止信息,將所述不匹配塊數(shù)據(jù)與本地的所述第二壓縮文件進行拼接,生成拼接壓縮文件,對所述拼接壓縮文件進行解壓獲得所述新版本文件,并根據(jù)所述新版本文件進行升級。一種終端,包括升級包請求單元,用于向服務器發(fā)送下載增量升級包的請求;升級包接收單元,用于接收所述增量升級包,所述增量升級包中包括通過對比第一壓縮文件與第二壓縮文件所獲得的不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息,其中,所述第一壓縮文件為舊版本文件與新版本文件拼接后的壓縮文件,所述第二壓縮文件為所述舊版本文件的壓縮文件;數(shù)據(jù)組合單元,用于根據(jù)所述增量升級包中所述不匹配塊數(shù)據(jù)的起止信息,將所述不匹配塊數(shù)據(jù)與本地的所述第二壓縮文件進行拼接,生成拼接壓縮文件;解壓單元,用于對所述拼接壓縮文件進行解壓,獲得所述新版本文件;升級單元,用于根據(jù)所述新版本文件進行升級。進一步,還包括查詢請求單元,用于在所述升級包請求單元向服務器發(fā)送下載增量升級包的請求之前,向所述服務器發(fā)送查詢請求,所述查詢請求中包括所述舊版本文件的版本信息;信息接收單元,用于接收所述服務器的反饋信息,所述反饋信息中包括所述增量升級包的描述信息;所述升級包請求單元,具體用于根據(jù)所述反饋信息中所述增量升級包的描述信息向所述服務器發(fā)送下載所述增量升級包的請求。一種服務器,包括壓縮單元,用于將舊版本文件與新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將所述舊版本文件壓縮獲得第二壓縮文件;比對單元,用于對比所述第一壓縮文件和所述第二壓縮文件獲得不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息;
升級包生成單元,用于根據(jù)所述不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息生成增量升級包;第一請求接收單元,用于接收終端發(fā)送的下載所述增量升級包的請求;升級包發(fā)送單元,用于將所述增量升級包發(fā)送至所述終端,以使所述終端根據(jù)所述增量升級包中所述不匹配塊數(shù)據(jù)的起止信息,將所述不匹配塊數(shù)據(jù)與本地的所述第二壓縮文件進行拼接,生成拼接壓縮文件,對所述拼接壓縮文件進行解壓獲得所述新版本文件,并根據(jù)所述新版本文件進行升級。進一步,還包括第二請求接收單元,用于在所述壓縮單元獲得所述第一壓縮文件及所述第二壓縮文件之前,接收所述終端發(fā)送的查詢請求,所述查詢請求中包括所述舊版本文件的版本信息;查找單元,用于根據(jù)所述查詢請求中所述舊版本文件的版本信息查找本地的舊版本文件及新版本文件;所述壓縮單元,具體用于將在本地查找到的所述舊版本文件與所述新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將所述舊版本文件壓縮獲得第二壓縮文件。一種服務器,包括請求接收單元,用于接收終端發(fā)送的下載增量升級包的請求,其中包括所述增量升級包對應的舊版本文件的版本信息;查找單元,用于根據(jù)所述請求中的所述舊版本文件的版本信息查找本地的舊版本文件及新版本文件;
壓縮單元,用于將所述舊版本文件與所述新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將所述舊版本文件壓縮獲得第二壓縮文件;比對單元,用于對比所述第一壓縮文件和所述第二壓縮文件獲得不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息;升級包生成單元,用于根據(jù)所述不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息生成所述增量升級包;升級包發(fā)送單元,用于將所述增量升級包發(fā)送至所述終端,以使所述終端根據(jù)所述增量升級包中所述不匹配塊數(shù)據(jù)的起止信息,將所述不匹配塊數(shù)據(jù)與本地的所述第二壓縮文件進行拼接,生成拼接壓縮文件,對所述拼接壓縮文件進行解壓獲得所述新版本文件,并根據(jù)所述新版本文件進行升級。本發(fā)明實施例中,終端通過獲得服務器側的增量升級包,并根據(jù)該增量升級包獲得了新版本文件,實現(xiàn)了增量升級,而且該增量升級包只包含新舊版本文件的拼接壓縮文件與舊版本文件的壓縮文件之間的不匹配塊數(shù)據(jù)信息,其相比較完整的新版本文件數(shù)據(jù),數(shù)據(jù)量大大減小,由此,終端需要從服務器下載的數(shù)據(jù)量明顯比常規(guī)方法小得多。該方法節(jié)省了數(shù)據(jù)流量,減少了占用的帶寬資源,而且大大加快了版本升級的過程,提高了版本升級效率,并節(jié)省了服務器的存儲介質資源。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,對于本領域普通技術人員而言,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例一種增量升級方法流程
圖2a為本發(fā)明實施例另一種增量升級方法的流程圖;圖2b為本發(fā)明實施例中增量升級包的生成示意圖;圖3為本發(fā)明實施例另一種增量升級方法的流程圖;圖4為本發(fā)明實施例另一種增量升級方法的流程圖;圖5為本發(fā)明實施例一種終端的結構示意圖;圖6為本發(fā)明實施例一種服務器的結構示意圖;圖7為本發(fā)明實施例另一種服務器的結構示意圖。
具體實施例方式為了使本技術領域的人員更好地理解本發(fā)明實施例中的技術方案,并使本發(fā)明實施例的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖對本發(fā)明實施例中技術方案作進一步詳細的說明。參見圖1,為本發(fā)明實施例一種增量升級方法流程圖。該方法可以包括步驟101,終端向服務器發(fā)送下載增量升級包的請求。本實施例中,終端可以在獲知服務器上的增量升級包的相關信息后,向服務器發(fā)送下載該增量升級包的請求;也可以在不知道服務器上是否存在增量升級包的情況下,向服務器發(fā)送下載請求。其中,該請求中包含該增量升級包的標識信息或者關聯(lián)信息,例如終端上存儲的該增量升級包對應的舊版本文件信息等,以便于服務器據(jù)此獲知終端所需要下載的增量升級包。步驟102,終端接收增量升級包。該增量升級包中包括通過對比第一壓縮文件與第二壓縮文件所獲得的不匹配塊數(shù)據(jù)及該不匹配塊數(shù)據(jù)的起止信息,其中,第一壓縮文件為舊版本文件與新版本文件拼接后的壓縮文件,第二壓縮文件為該舊版本文件的壓縮文件。服務器在接收到下載請求后,可以根據(jù)請求中的信息查找本地是否具有該增量升級包,若有,則直接發(fā)送至終端,若沒有,可在生成該增量升級包后,再發(fā)送給終端。具體的,服務器生成該增量升級包的過程可以是服務器將舊版本文件與新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將舊版本文件壓縮獲得第二壓縮文件,然后,對比該第一壓縮文件和第二壓縮文件獲得不匹配塊數(shù)據(jù)及不匹配塊數(shù)據(jù)的起止信息,最后,根據(jù)不匹配塊數(shù)據(jù)及不匹配塊數(shù)據(jù)的起止信息生成該增量升級包。其中,不匹配塊數(shù)據(jù)即對應新舊版本間的不同數(shù)據(jù)。步驟103,終端根據(jù)該增量升級包中不匹配塊數(shù)據(jù)的起止信息,將該不匹配塊數(shù)據(jù)與本地的第二壓縮文件進行拼接,生成拼接壓縮文件。終端在獲得增量升級包后,采用服務器生 成增量升級包的逆過程獲得新版本文件,具體的,在本步驟中,終端先根據(jù)不匹配塊數(shù)據(jù)的起止信息,將不匹配塊數(shù)據(jù)與終端本地的舊版本文件的壓縮文件,也即終端本地的第二壓縮文件,進行拼接,得到拼接壓縮文件,該拼接壓縮文件實際即為服務器側獲得的第一壓縮文件。步驟104,終端對拼接壓縮文件進行解壓,獲得新版本文件。終端對該拼接壓縮文件進行解壓后,即可獲得舊版本文件及新版本文件。步驟105,終端根據(jù)該新版本文件進行升級。本步驟的升級過程與現(xiàn)有技術類似,此處不再贅述。本發(fā)明實施例中,終端通過獲得服務器側的增量升級包,并根據(jù)該增量升級包獲得了新版本文件,實現(xiàn)了增量升級,而且該增量升級包只包含新舊版本文件的拼接壓縮文件與舊版本文件的壓縮文件之間的不匹配塊數(shù)據(jù)信息,其相比較完整的新版本文件數(shù)據(jù),數(shù)據(jù)量大大減小,由此,終端需要從服務器下載的數(shù)據(jù)量明顯比常規(guī)方法小得多。該方法節(jié)省了數(shù)據(jù)流量,減少了占用的帶寬資源,而且大大加快了版本升級的過程,提高了版本升級效率,并節(jié)省了服務器的存儲介質資源。參見圖2a,為本發(fā)明實施例另一種增量升級方法的流程圖。該方法可以包括步驟201,終端向服務器發(fā)送查詢請求,查詢請求中包括舊版本文件的版本信息。終端可以定時或在預設時間向服務器發(fā)送查詢增量升級包的請求,該查詢請求中可以包括舊版本文件的版本信息,如V1.1. O,以便于服務器查詢對應的升級包等。服務器在接收到該查詢請求后,根據(jù)查詢請求查詢增量升級包,若此時,服務器已經(jīng)生成了新版本文件與舊版本文件之間的增量升級包,可以提取該增量升級包的描述信息;若還未生成增量升級包,則在本地查找到新、舊版本文件后,臨時生成增量升級包。其中,無論該增量升級包是否預先生成的,其生成過程均可以采用上述實施例的步驟102中服務器生成該增量升級包的方法。例如,終端側有一個舊版本文件,假設為old. apk,大小為5M,需要升級為新版本文件,服務器側具有該舊版本文件old. apk以及新版本文件,假設新版本文件為new. apk,大小為6M。服務器在生成增量升級包時,首先對old apk壓縮得到old 7z (舊版本壓縮文件),大小為2M ;將old. apk和new. apk拼接到一起再壓縮得到old_new. 7z (拼接后的壓縮文件),大小為2. 2M。將old. 7z與old_new. 7z做比較,如圖2b所示,可以獲得不匹配塊數(shù)據(jù)及不匹配塊的起止信息,如圖2b中,陰影部分代表相同的數(shù)據(jù),空白部分代表old. 7z與old_new. 7z兩壓縮文件中不相同的數(shù)據(jù),也即不匹配塊數(shù)據(jù),通過對比還可以獲得不匹配塊數(shù)據(jù)的起止信息,該服務器側生成的增量升級包包含該不匹配塊數(shù)據(jù)及其起止信息,大約為1M,由此,終端只需下載該IM的增量升級包即可,下載量大大減小。服務器向終端反饋該增量升級包的描述信息,也還可以同時反饋新版本文件的版本信息等,其中,該增量升級包的描述信息具體可以是該增量升級包的名稱等標識信息。步驟202,終端接收服務器的反饋信息,該反饋信息中包括增量升級包的描述信肩、O步驟203,終端根據(jù)該反饋信息中增量升級包的描述信息向服務器發(fā)送下載該增量升級包的請求。步驟204,終端接收增量升級包。
步驟205,終端根據(jù)增量升級包中不匹配塊數(shù)據(jù)的起止信息,將不匹配塊數(shù)據(jù)與本地的第二壓縮文件進行拼接,生成拼接壓縮文件。假設,終端在接收到old. 7z與old_neW. 7z兩壓縮文件的不匹配塊數(shù)據(jù)及其起止信息后,根據(jù)不匹配塊數(shù)據(jù)的起止信息將不匹配塊數(shù)據(jù)與本地的old. 7z進行拼接,該拼接過程也即還原如圖2b中的old_new. 7z。步驟206,終端對拼接壓縮文件進行解壓,獲得新版本文件。終端對上步驟中拼接獲得的olcLnew. 7z解壓,即可獲得舊版本文件old. apk及新版本文件new. apk ο步驟207,終端根據(jù)新版本文件進行升級。上述步驟20Γ207與前述實施例中的步驟102 105類似,此處不再贅述。本發(fā)明實施例中,終端通過獲得服務器側的增量升級包,并根據(jù)該增量升級包獲得了新版本文件,實現(xiàn)了增量升級,而且該增量升級包只包含新舊版本文件的拼接壓縮文件與舊版本文件的壓縮文件之間的不匹配塊數(shù)據(jù)信息,其相比較完整的新版本文件數(shù)據(jù),數(shù)據(jù)量大大減小,由此,終端需要從服務器下載的數(shù)據(jù)量明顯比常規(guī)方法小得多。該方法節(jié)省了數(shù)據(jù)流量,減少了占用的帶寬資源,而且大大加快了版本升級的過程,提高了版本升級效率,并節(jié)省了服務器的存儲介質資源。參見圖3,為本發(fā)明實施例另一種增量升級方法的流程圖。本實施例以服務器作為執(zhí)行主體進行說明。該方法可以包括步驟301,服務器將舊版本文件與新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將舊版本文件壓縮獲得第二壓縮文件。本實施例中,服務器無論是否接收到終端發(fā)送的查詢請求或下載增量升級包的請求,均可先采用步驟30廣303生成增量升級包。本步驟中,服務器先將本地的舊版本文件與新版本文件進行拼接,該拼接可以是舊版本在前,新版本在后,舊版本文件的數(shù)據(jù)與新版本文件的數(shù)據(jù)首尾相接,然后對拼接后的文件進行壓縮,獲得第一壓縮文件;服務器對舊版本文件單獨進行壓縮,獲得第二壓縮文件。該獲得第一壓縮文件與獲得第二壓縮文件的過程可以同時進行,也可以按一定次序進行。步驟302,服務器對比第一壓縮文件和第二壓縮文件獲得不匹配塊數(shù)據(jù)及不匹配塊數(shù)據(jù)的起止信息。服務器對比第一壓縮文件與第二壓縮文件,將兩文件中不同的數(shù)據(jù)內(nèi)容確定為所述不匹配塊數(shù)據(jù),并記錄不同數(shù)據(jù)的起止點信息。步驟303,服務器根據(jù)不匹配塊數(shù)據(jù)及不匹配塊數(shù)據(jù)的起止信息生成增量升級包。步驟304,服務器接收終端發(fā)送的下載增量升級包的請求。步驟305,服務器將增量升級包發(fā)送至終端。終端根據(jù)增量升級包中不匹配塊數(shù)據(jù)的起止信息,將不匹配塊數(shù)據(jù)與本地的第二壓縮文件也即舊版本文件的壓縮文件進行拼接,生成拼接壓縮文件,對拼接壓縮文件進行解壓獲得新版本文件,并根據(jù)新版本文件進行升級。本發(fā)明實施例中,服務器根據(jù)新舊版本文件的拼接壓縮文件與舊版本文件的壓縮文件之間的不匹配塊數(shù)據(jù)信息,生成增量升級包,使得終端根據(jù)該增量升級包獲得了新版本文件,實現(xiàn)了增量升級,該增量升級包相比較完整的新版本文件數(shù)據(jù),數(shù)據(jù)量大大減小,由此,終端需要從服務器下載的數(shù)據(jù)量明顯比常規(guī)方法小得多。該方法節(jié)省了數(shù)據(jù)流量,減少了占用的帶寬資源,而且大大加快了版本升級的過程,提高了版本升級效率,并節(jié)省了服務器的存儲介質資源。 在另一實施例中,在服務器將舊版本文件與新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將舊版本文件壓縮獲得第二壓縮文件之前,還可以包括服務器接收終端發(fā)送的查詢請求,該查詢請求中包括所述舊版本文件的版本信
肩、O服務器根據(jù)該查詢請求中舊版本文件的版本信息查找本地的舊版本文件及新版本文件。服務器將舊版本文件與新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將舊版本文件壓縮獲得第二壓縮文件,具體可以為服務器將在本地查找到的舊版本文件與新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將舊版本文件壓縮獲得第二壓縮文件。在該實施例中,服務器可以在接收到終端發(fā)送的下載增量升級包的請求之前預先生成增量升級包,具體的,可以是在接收到終端發(fā)送的查詢請求之后,也還可以是在服務器獲得新版本文件之后。在另一實施例中,服務器可以在接收到下載增量升級包的請求之后,再生成增量升級包,具體如圖4所示,該方法可以包括步驟401,服務器接收終端發(fā)送的下載增量升級包的請求,其中包括增量升級包對應的舊版本文件的版本信息。無論服務器是否存在增量升級包,終端均可定時或周期性向服務器發(fā)送下載增量升級包的請求,該請求中可以包括所需要的增量升級包對應的舊版本文件的版本信息,以便于服務器根據(jù)該信息進行對應增量升級包的查找。步驟402,服務器根據(jù)請求中的舊版本文件的版本信息查找本地的舊版本文件及新版本文件。服務器在接收到請求后,根據(jù)請求中的舊版本文件的版本信息查找對應的新版本文件。步驟403,服務器將舊版本文件與新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將舊版本文件壓縮獲得第二壓縮文件。步驟404,服務器對比第一壓縮文件和第二壓縮文件獲得不匹配塊數(shù)據(jù)及不匹配塊數(shù)據(jù)的起止信息。步驟405,服務器根據(jù)不匹配塊數(shù)據(jù)及不匹配塊數(shù)據(jù)的起止信息生成增量升級包。該步驟403 405中,服務器生成增量升級包的過程與前述實施例相同。步驟406,服務器將 增量升級包發(fā)送至終端。終端根據(jù)增量升級包中不匹配塊數(shù)據(jù)的起止信息,將不匹配塊數(shù)據(jù)與本地的第二壓縮文件進行拼接,生成拼接壓縮文件,對拼接壓縮文件進行解壓獲得所述新版本文件,并根據(jù)版本文件進行升級。本發(fā)明實施例中,服務器根據(jù)新舊版本文件的拼接壓縮文件與舊版本文件的壓縮文件之間的不匹配塊數(shù)據(jù)信息,生成增量升級包,使得終端根據(jù)該增量升級包獲得了新版本文件,實現(xiàn)了增量升級,該增量升級包相比較完整的新版本文件數(shù)據(jù),數(shù)據(jù)量大大減小,由此,終端需要從服務器下載的數(shù)據(jù)量明顯比常規(guī)方法小得多。該方法節(jié)省了數(shù)據(jù)流量,減少了占用的帶寬資源,而且大大加快了版本升級的過程,提高了版本升級效率,并節(jié)省了服務器的存儲介質資源。以上各實施例中,對新、舊版本文件的壓縮方法均可以采用7zip的方法,當然壓縮算法不僅限于7zip,可以是包含具有相同特點的其他所有算法。以上是對本發(fā)明方法實施例的描述,下面對實現(xiàn)上述方法的裝置進行介紹。參見圖5,為本發(fā)明實施例一種終端的結構示意圖。該終端可以包括升級包請求單元501,用于向服務器發(fā)送下載增量升級包的請求。升級包接收單元502,用于接收所述增量升級包,所述增量升級包中包括通過對比第一壓縮文件與第二壓縮文件所獲得的不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息,其中,所述第一壓縮文件為舊版本文件與新版本文件拼接后的壓縮文件,所述第二壓縮文件為所述舊版本文件的壓縮文件。數(shù)據(jù)組合單元503,用于根據(jù)所述增量升級包中所述不匹配塊數(shù)據(jù)的起止信息,將所述不匹配塊數(shù)據(jù)與本地的所述第二壓縮文件進行拼接,生成拼接壓縮文件。解壓單元504,用于對所述拼接壓縮文件進行解壓,獲得所述新版本文件。升級單元505,用于根據(jù)所述新版本文件進行升級。終端的升級包請求單元501向服務器發(fā)送下載增量升級包的請求后,升級包接收單元502接收只包含不匹配塊數(shù)據(jù)及其起止信息的增量升級包,然后由數(shù)據(jù)組合單元503根據(jù)增量升級包中不匹配塊數(shù)據(jù)的起止信息,將該不匹配塊數(shù)據(jù)與本地的舊版本文件進行拼接,再由解壓單元504對該拼接后的文件解壓,獲得新版本文件和舊版本文件,最后由升級單元505根據(jù)該新版本文件進行升級。本發(fā)明實施例中,終端通過上述單元獲得服務器側的增量升級包,并根據(jù)該增量升級包獲得了新版本文件,實現(xiàn)了增量升級,而且該增量升級包只包含新舊版本文件的拼接壓縮文件與舊版本文件的壓縮文件之間的不匹配塊數(shù)據(jù)信息,其相比較完整的新版本文件數(shù)據(jù),數(shù)據(jù)量大大減小,由此,終端需要從服務器下載的數(shù)據(jù)量明顯比常規(guī)方法小得多。該方法節(jié)省了數(shù)據(jù)流量,減少了占用的帶寬資源,而且大大加快了版本升級的過程,提高了版本升級效率,并節(jié)省了服務器的存儲介質資源。在另一實施例中,該終端還可以包括查詢請求單元,用于在所述升級包請求單元向服務器發(fā)送下載增量升級包的請求之前,向所述服務器發(fā)送查詢請求,所述查詢請求中包括所述舊版本文件的版本信息。信息接收單元,用于接收所述服務器的反饋信息,所述反饋信息中包括所述增量升級包的描述信息。其中,升級包請求單元,具體用于根據(jù)所述反饋信息中所述增量升級包的描述信息向所述服務器發(fā)送下載所述增量升級包的請求。 在本實施例中,終端先通過查詢請求單元查詢服務器側是否有增量升級包,若有,再根據(jù)信息接收單元接收到的增量升級包的相關信息,由升級包請求單元請求獲得該增量升級包。參見圖6,為本發(fā)明實施例一種服務器的結構示意圖。該服務器可以包括壓縮單元601,用于將舊版本文件與新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將所述舊版本文件壓縮獲得第二壓縮文件。比對單元602,用于對比所述第一壓縮文件和所述第二壓縮文件獲得不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息。升級包生成單元603,用于根據(jù)所述不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息生成所述增量升級包。第一請求接收單元604,用于接收終端發(fā)送的下載所述增量升級包的請求。升級包發(fā)送單元605,用于將所述增量升級包發(fā)送至所述終端,以使所述終端根據(jù)所述增量升級包中所述不匹配塊數(shù)據(jù)的起止信息,將所述不匹配塊數(shù)據(jù)與本地的所述第二壓縮文件進行拼接,生成拼接壓縮文件,對所述拼接壓縮文件進行解壓獲得所述新版本文件,并根據(jù)所述新版本文件進行升級。服務器通過壓縮單元601、比對單元602和升級包生成單元603生成增量升級包,該增量升級包中包含不匹配塊數(shù)據(jù)及不匹配塊數(shù)據(jù)的起止信息,然后在第一請求接收單元604接收到下載增量升級包的請求后,由升級包發(fā)送單元605將增量升級包發(fā)送到終端,以使終端進行增量升級。本發(fā)明實施例中,服務器通過上述單元根據(jù)新舊版本文件的拼接壓縮文件與舊版本文件的壓縮文件之間的不匹配塊數(shù)據(jù)信息,生成增量升級包,使得終端根據(jù)該增量升級包獲得了新版本文件,實現(xiàn)了增量升級,該增量升級包相比較完整的新版本文件數(shù)據(jù),數(shù)據(jù)量大大減小,由此, 終端需要從服務器下載的數(shù)據(jù)量明顯比常規(guī)方法小得多。該方法節(jié)省了數(shù)據(jù)流量,減少了占用的帶寬資源,而且大大加快了版本升級的過程,提高了版本升級效率,并節(jié)省了服務器的存儲介質資源。在本發(fā)明的另一實施例中,服務器還可以包括第二請求接收單元,用于在所述壓縮單元獲得所述第一壓縮文件及所述第二壓縮文件之前,接收所述終端發(fā)送的查詢請求,所述查詢請求中包括所述舊版本文件的版本信息;查找單元,用于根據(jù)所述查詢請求中所述舊版本文件的版本信息查找本地的舊版本文件及新版本文件;其中,壓縮單元,具體用于將在本地查找到的所述舊版本文件與所述新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將所述舊版本文件壓縮獲得第二壓縮文件。本實施例中,服務器可以在第二請求接收單元接收到查詢請求,并由查找單元查找到本地的舊版本文件及新版本文件后,再由壓縮單元601、比對單元602和升級包生成單元603生成增量升級包。參見圖7,為本發(fā)明實施例另一種服務器的結構示意圖。該服務器可以包括請求接收單元701,用于接收終端發(fā)送的下載增量升級包的請求,其中包括所述增量升級包對應的舊版本文件的版本信息。查找單元702,用于根據(jù)所述請求中的所述舊版本文件的版本信息查找本地的舊版本文件及新版本文件。壓縮單元703,用于將`所述舊版本文件與所述新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將所述舊版本文件壓縮獲得第二壓縮文件。比對單元704,用于對比所述第一壓縮文件和所述第二壓縮文件獲得不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息。升級包生成單元705,用于根據(jù)所述不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息生成所述增量升級包。升級包發(fā)送單元706,用于將所述增量升級包發(fā)送至所述終端,以使所述終端根據(jù)所述增量升級包中所述不匹配塊數(shù)據(jù)的起止信息,將所述不匹配塊數(shù)據(jù)與本地的所述第二壓縮文件進行拼接,生成拼接壓縮文件,對所述拼接壓縮文件進行解壓獲得所述新版本文件,并根據(jù)所述新版本文件進行升級。本實施例中,服務器可以在請求接收單元701接收到終端的下載增量升級包的請求,并在查找單元702查找到本地的舊版本文件及新版本文件后,再由壓縮單元703、比對單元704、升級包生成單元705生成增量升級包,最后由升級包發(fā)送單元706向終端發(fā)送該增量升級包,以使終端進行升級。本發(fā)明實施例中,服務器通過上述單元根據(jù)新舊版本文件的拼接壓縮文件與舊版本文件的壓縮文件之間的不匹配塊數(shù)據(jù)信息,生成增量升級包,使得終端根據(jù)該增量升級包獲得了新版本文件,實現(xiàn)了增量升級,該增量升級包相比較完整的新版本文件數(shù)據(jù),數(shù)據(jù)量大大減小,由此,終端需要從服務器下載的數(shù)據(jù)量明顯比常規(guī)方法小得多。該方法節(jié)省了數(shù)據(jù)流量,減少了占用的帶寬資源,而且大大加快了版本升級的過程,提高了版本升級效率,并節(jié)省了服務器的存儲介質資源。
以上各實施例中,壓縮單元對新、舊版本文件的壓縮方法均可以采用7zip的方法,當然壓縮算法不僅限于7zip,可以是包含具有相同特點的其他所有算法。本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。在本申請所提供的幾個實施例中,應該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。所述功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲 介質中?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)或處理器(processor)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括U盤、移動硬盤、只讀存儲器(R0M,Read-Only Memory)、隨機存取存儲器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。以上所述,僅為本發(fā)明的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內(nèi),可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應所述以權利要求的保護范圍為準。
權利要求
1.一種增量升級方法,其特征在于,包括終端向服務器發(fā)送下載增量升級包的請求;所述終端接收所述增量升級包,所述增量升級包中包括通過對比第一壓縮文件與第二壓縮文件所獲得的不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息,其中,所述第一壓縮文件為舊版本文件與新版本文件拼接后的壓縮文件,所述第二壓縮文件為所述舊版本文件的壓縮文件;所述終端根據(jù)所述增量升級包中所述不匹配塊數(shù)據(jù)的起止信息,將所述不匹配塊數(shù)據(jù)與本地的所述第二壓縮文件進行拼接,生成拼接壓縮文件;所述終端對所述拼接壓縮文件進行解壓,獲得所述新版本文件;所述終端根據(jù)所述新版本文件進行升級。
2.根據(jù)權利要求1所述的方法,其特征在于,所述第一壓縮文件及所述第二壓縮文件均為采用7-ZIP壓縮算法獲得的壓縮文件。
3.根據(jù)權利要求1或2所述的方法,其特征在于,在所述終端向服務器發(fā)送下載增量升級包的請求之前,還包括所述終端向所述服務器發(fā)送查詢請求,所述查詢請求中包括所述舊版本文件的版本信所述終端接收所述服務器的反饋信息,所述反饋信息中包括所述增量升級包的描述信所述終端向服務器發(fā)送下載增量升級包的請求,具體為所述終端根據(jù)所述反饋信息中所述增量升級包的描述信息向所述服務器發(fā)送下載所述增量升級包的請求。
4.一種增量升級方法,其特征在于,包括服務器將舊版本文件與新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將所述舊版本文件壓縮獲得第二壓縮文件;所述服務器對比所述第一壓縮文件和所述第二壓縮文件獲得不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息;所述服務器根據(jù)所述不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息生成增量升級包;所述服務器接收終端發(fā)送的下載所述增量升級包的請求;所述服務器將所述增量升級包發(fā)送至所述終端,以使所述終端根據(jù)所述增量升級包中所述不匹配塊數(shù)據(jù)的起止信息,將所述不匹配塊數(shù)據(jù)與本地的所述第二壓縮文件進行拼接,生成拼接壓縮文件,對所述拼接壓縮文件進行解壓獲得所述新版本文件,并根據(jù)所述新版本文件進行升級。
5.根據(jù)權利要求4所述的方法,其特征在于,在所述服務器將舊版本文件與新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將所述舊版本文件壓縮獲得第二壓縮文件之前, 還包括所述服務器接收所述終端發(fā)送的查詢請求,所述查詢請求中包括所述舊版本文件的版本信息;所述服務器根據(jù)所述查詢請求中所述舊版本文件的版本信息查找本地的舊版本文件及新版本文件;所述服務器將舊版本文件與新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將所述舊版本文件壓縮獲得第二壓縮文件,具體為所述服務器將在本地查找到的所述舊版本文件與所述新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將所述舊版本文件壓縮獲得第二壓縮文件。
6.根據(jù)權利要求4或5所述的方法,其特征在于,所述第一壓縮文件及所述第二壓縮文件均為采用7-ZIP壓縮算法獲得的壓縮文件。
7.一種增量升級方法,其特征在于,包括服務器接收終端發(fā)送的下載增量升級包的請求,其中包括所述增量升級包對應的舊版本文件的版本信息;所述服務器根據(jù)所述請求中的所述舊版本文件的版本信息查找本地的舊版本文件及新版本文件;所述服務器將所述舊版本文件與所述新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將所述舊版本文件壓縮獲得第二壓縮文件;所述服務器對比所述第一壓縮文件和所述第二壓縮文件獲得不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息;所述服務器根據(jù)所述不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息生成所述增量升級包;所述服務器將所述增量升級包發(fā)送至所述終端,以使所述終端根據(jù)所述增量升級包中所述不匹配塊數(shù)據(jù)的起止信息,將所述不匹配塊數(shù)據(jù)與本地的所述第二壓縮文件進行拼接,生成拼接壓縮文件,對所述拼接壓縮文件進行解壓獲得所述新版本文件,并根據(jù)所述新版本文件進行升級。
8.—種終端,其特征在于,包括升級包請求單元,用于向服務器發(fā)送下載增量升級包的請求;升級包接收單元,用于接收所述增量升級包,所述增量升級包中包括通過對比第一壓縮文件與第二壓縮文件所獲得的不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息,其中,所述第一壓縮文件為舊版本文件與新版本文件拼接后的壓縮文件,所述第二壓縮文件為所述舊版本文件的壓縮文件;數(shù)據(jù)組合單元,用于根據(jù)所述增量升級包中所述不匹配塊數(shù)據(jù)的起止信息,將所述不匹配塊數(shù)據(jù)與本地的所述第二壓縮文件進行拼接,生成拼接壓縮文件;解壓單元,用于對所述拼接壓縮文件進行解壓,獲得所述新版本文件;升級單元,用于根據(jù)所述新版本文件進行升級。
9.根據(jù)權利要求2所述的終端,其特征在于,還包括查詢請求單元,用于在所述升級包請求單元向服務器發(fā)送下載增量升級包的請求之前,向所述服務器發(fā)送查詢請求,所述查詢請求中包括所述舊版本文件的版本信息;信息接收單元,用于接收所述服務器的反饋信息,所述反饋信息中包括所述增量升級包的描述信息;所述升級包請求單元,具體用于根據(jù)所述反饋信息中所述增量升級包的描述信息向所述服務器發(fā)送下載所述增量升級包的請求。
10.一種服務器,其特征在于,包括壓縮單元,用于將舊版本文件與新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將所述舊版本文件壓縮獲得第二壓縮文件;比對單元,用于對比所述第一壓縮文件和所述第二壓縮文件獲得不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息;升級包生成單元,用于根據(jù)所述不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息生成增量升級包;第一請求接收單元,用于接收終端發(fā)送的下載所述增量升級包的請求;升級包發(fā)送單元,用于將所述增量升級包發(fā)送至所述終端,以使所述終端根據(jù)所述增量升級包中所述不匹配塊數(shù)據(jù)的起止信息,將所述不匹配塊數(shù)據(jù)與本地的所述第二壓縮文件進行拼接,生成拼接壓縮文件,對所述拼接壓縮文件進行解壓獲得所述新版本文件,并根據(jù)所述新版本文件進行升級。
11.根據(jù)權利要求10所述的服務器,其特征在于,還包括第二請求接收單元,用于在所述壓縮單元獲得所述第一壓縮文件及所述第二壓縮文件之前,接收所述終端發(fā)送的查詢請求,所述查詢請求中包括所述舊版本文件的版本信息;查找單元,用于根據(jù)所述查詢請求中所述舊版本文件的版本信息查找本地的舊版本文件及新版本文件;所述壓縮單元,具體用于將在本地查找到的所述舊版本文件與所述新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將所述舊版本文件壓縮獲得第二壓縮文件。
12.一種服務器,其特征在于,包括請求接收單元,用于接收終端發(fā)送的下載增量升級包的請求,其中包括所述增量升級包對應的舊版本文件的版本信息;查找單元,用于根據(jù)所述請求中的所述舊版本文件的版本信息查找本地的舊版本文件及新版本文件;壓縮單元,用于將所述舊版本文件與所述新版本文件拼接后進行壓縮,獲得第一壓縮文件,并將所述舊版本文件壓縮獲得第二壓縮文件;比對單元,用于對比所述第一壓縮文件和所述第二壓縮文件獲得不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息;升級包生成單元,用于根據(jù)所述不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息生成所述增量升級包;升級包發(fā)送單元,用于將所述增量升級包發(fā)送至所述終端,以使所述終端根據(jù)所述增量升級包中所述不匹配塊數(shù)據(jù)的起止信息,將所述不匹配塊數(shù)據(jù)與本地的所述第二壓縮文件進行拼接,生成拼接壓縮文件,對所述拼接壓縮文件進行解壓獲得所述新版本文件,并根據(jù)所述新版本文件進行升級。
全文摘要
本發(fā)明實施例公開了一種增量升級方法及服務器、終端。增量升級方法包括終端向服務器發(fā)送下載增量升級包的請求;終端接收所述增量升級包,所述增量升級包中包括通過對比第一壓縮文件與第二壓縮文件所獲得的不匹配塊數(shù)據(jù)及所述不匹配塊數(shù)據(jù)的起止信息,其中,所述第一壓縮文件為舊版本文件與新版本文件拼接后的壓縮文件,所述第二壓縮文件為所述舊版本文件的壓縮文件;終端根據(jù)所述增量升級包中所述不匹配塊數(shù)據(jù)的起止信息,將所述不匹配塊數(shù)據(jù)與本地的所述第二壓縮文件進行拼接,生成拼接壓縮文件;終端對所述拼接壓縮文件進行解壓,獲得所述新版本文件;終端根據(jù)所述新版本文件進行升級。該方法節(jié)省了數(shù)據(jù)流量,減少了占用的帶寬資源。
文檔編號H04L29/06GK103051723SQ201210580670
公開日2013年4月17日 申請日期2012年12月27日 優(yōu)先權日2012年12月27日
發(fā)明者梁捷, 俞永福, 何小鵬, 朱順炎, 黃浩, 許煒鑫, 付方助 申請人:廣州市動景計算機科技有限公司