實施例的一種軟件跨版本升級的方法流程圖三圖4是本發(fā)明實施例的一種軟件跨版本升級的客戶端圖5是本發(fā)明實施例的一種軟件跨版本升級的服務器。
【具體實施方式】
[0023]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面結合附圖及具體實施例對本發(fā)明作進一步的詳細描述。
[0024]如圖1所示,本發(fā)明實施例提供的一種軟件跨版本升級的方法,應用于客戶端,該方法包括以下步驟:
SlOl:獲取由當前版本到最低版本的差分升級包以及由最低版本到目標版本的差分升級包。
[0025]其中,具體的獲取方法包括以下兩種方式:
第一種方式,客戶端接收服務器通過技術發(fā)送的由當前版本到最低版本的差分升級包以及由最低版本到目標版本的差分升級包。
[0026]第二種方式,客戶端接收服務器發(fā)送的由當前版本到最低版本的差分升級包地址以及由最低版本到目標版本的差分升級包地址,從所述地址下載由當前版本到最低版本的差分升級包以及由最低版本到目標版本的差分升級包。
[0027]S102:進行跨版本升級。
[0028]客戶端根據(jù)接收到的跨版本升級指示對下載的差分升級包進行識別,優(yōu)先選擇由當前版本到最低版本的差分升級包進行升級,然后再對由最低版本到目標版本的差分升級包進行升級。
[0029]如圖2所示,本發(fā)明實施例提供的一種軟件跨版本升級的方法,應用于客戶端,該方法包括以下步驟:
S201:獲取由當前版本到最低版本的差分升級包,進行升級。
[0030]其中,客戶端獲取由當前版本到最低版本的差分升級包可以通過以下兩種方式來獲取:
第一種方式:客戶端接收服務器通過OTA技術發(fā)送的由當前版本到最低版本的差分升級包。
[0031]第二種方式:客戶端接收服務器發(fā)送的由當前版本到最低版本的差分升級包地址,從所述地址下載由當前版本到最低版本的差分升級包。
[0032]S202:獲取由最低版本到目標版本的差分升級包,進行升級。
[0033]其中,客戶端獲取由最低版本到目標版本的差分升級包可以通過以下兩種方式來獲取:
第一種方式:客戶端接收服務器通過OTA技術發(fā)送的由最低版本到目標版本的差分升級包。
[0034]第二種方式:客戶端接收服務器發(fā)送的由最低版本到目標版本的差分升級包地址,從所述地址下載由最低版本到目標版本的差分升級包。
[0035]補充性的,以上兩個實施例的一種軟件跨版本升級方法在獲取差分升級包進行升級之前還包括:
I)客戶端向服務器發(fā)送版本檢測請求。
[0036]示例性的,客戶端向服務器發(fā)送的版本檢測請求可以包括以下兩種:
第一種類型:當客戶端的升級方式為手動升級時,所述版本檢測請求中包括客戶端的當前版本信息、客戶端產(chǎn)品型號以及客戶端指定的目標版本信息;
第二種類型:當客戶端的升級方式為自動升級時,所述版本檢測請求中包括客戶端的當前版本信息和客戶端產(chǎn)品型號。
[0037]所述客戶端產(chǎn)品型號用于供服務器判斷客戶端是否支持跨版本升級。
[0038]2)客戶端接收服務器返回的跨版本升級指示,向服務器發(fā)送版本升級請求。
[0039]具體的,服務器返回的跨版本升級指示中包括跨版本升級標識、客戶端當前版本信息、目標版本信息以及最低版本信息??蛻舳俗x取跨版本升級標識,向服務器發(fā)起跨版本升級請求。
[0040]其中服務器返回的升級標識包括以下三種:不升級、常規(guī)升級以及跨版本升級。所述不升級是指客戶端的當前版本和目標版本一致;所述常規(guī)升級是指目標版本為軟件在客戶端當前版本的下一版本;所述跨版本升級是指采用連續(xù)升級的方法軟件由當前版本升級到目標版本所需的升級包個數(shù)大于或不小于兩個。
[0041]3)客戶端在接收到服務器發(fā)送的跨版本升級指示之后向服務器發(fā)送跨版本升級的請求。
[0042]需要注意的是,當客戶端的當前版本為最低版本時,跨版本升級只需獲取由最低版本到目標版本的差分升級包進行升級。
[0043]如圖3所示,本發(fā)明實施例提供的一種軟件跨版本升級的方法,應用于服務器,該方法包括以下步驟:
S301:確定客戶端的目標版本信息。
[0044]具體的,服務器檢測接收到的版本檢測請求中是否包含客戶端指定的目標版本信息,若有則確定所述指定的目標版本為客戶端的目標版本;若無查詢服務器存儲的最高版本,確定所述服務器存儲的最高版本為客戶端的目標版本。
[0045]S302:向客戶端發(fā)送跨版本升級指示。
[0046]所述跨版本升級指示中包含跨版本升級的標識、當前版本信息、目標版本信息和最低版本信息,供客戶端讀取進行差分升級包的識別。
[0047]其中服務器發(fā)送的升級標識包括以下三種:不升級、常規(guī)升級和跨版本升級。具體的若服務器接收的客戶端的當前版本信息與確定的目標版本信息一致則判定不進行升級;若客戶端的當前版本信息與目標版本信息為相鄰版本則判定為常規(guī)升級;若客戶端的當前版本信息與目標版本信息鏈長大于或不小于2則判定為跨版本升級。所述的鏈長大于或者不小于2是指按照連續(xù)升級的方式由客戶端當前版升級到目標版本需要的升級包的個數(shù)大于或者不小于2個。
[0048]示例性的,假設軟件在客戶端的當前版本號為V3,當確定的目標版本號為V3時,客戶端不進行升級;當確定的目標版本號為V4時,按照常規(guī)的升級方式選用V3-V4差分包進行升級;當確定的目標版本號為V5或者V6或者更高版本時判定客戶端的升級方式為跨版本升級。在本實施例中版本號數(shù)字越大代表版本越高,具體的版本號可以按照規(guī)定的形式進行定義。
[0049]S303:向客戶端發(fā)送由當前版本到最低版本的差分升級包以及由最低版本到目標版本的差分升級包。
[0050]具體包括以下兩種方式:
第一種方式:通過OTA技術向客戶端發(fā)送由當前版本到最低版本的差分升級包和以及最低版本到目標版本的差分升級包。
[0051]第二種方式:向客戶端發(fā)送由當前版本到最低版本的差分升級包地址以及由最低版本到目標版本的差分升級包地址。
[0052]補充性的,本實施例提供的一種軟件跨版本升級的方法,應用于服務器還包括:
I)在確定客戶端的目標版本信息之前接受客戶端發(fā)送的版本檢測請求,所述版本檢測請求包括客戶端的當前版本信息、產(chǎn)品型號,選擇性的包括客戶端制定的目標版本信息。
[0053]具體的,具體的,當客戶端的升級方式為手動升級時,所述服務器接收的客戶端的版本檢測請求中包括客戶端的當前版本信息、客戶端產(chǎn)品型號以及客戶端指定的目標版本信息;當客戶端的升級方式為自動升級時,所述服務器接收的客戶端的版本檢測請求中包括客戶端的當前版本信息、客戶端產(chǎn)品型號。
[0054]所述客戶端的產(chǎn)品型號用于判斷客戶端是否支持跨版本升級。
[0055]2)在確定客戶端的目標版本信息之后,判斷客戶端升級是否屬于跨版本升級;具體的若由接收到的客戶端當前版本信息升級到確定的目標版本信息采用傳統(tǒng)的連續(xù)升級的方式所需要的升級包個數(shù)大于或不小于兩個,則判定該升級為跨版本升級。
[0056]3)向客戶端發(fā)送跨版本升級指示之后接收客戶端發(fā)送的版本升級請求。
[0057]需要注意的是,當服務器接收到的客戶端的當前版本信息為最