一種軟件跨版本升級的方法、客戶端及服務(wù)器的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及移動(dòng)通信技術(shù)領(lǐng)域,尤其涉及一種軟件跨版本升級的方法、客戶端及服務(wù)器。
【背景技術(shù)】
[0002]空中下載(英文:0ver the Air,簡稱:0ΤΑ)技術(shù)是一種通過無線網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)下載的技術(shù),其通常被應(yīng)用于手機(jī)、平板電腦等終端設(shè)備的系統(tǒng)軟件固定版本的升級過程中。現(xiàn)有的升級方式為:終端設(shè)備發(fā)起一次軟件版本檢測,服務(wù)器向該終端設(shè)備返回一個(gè)下載路徑,以便終端設(shè)備根據(jù)該下載路徑獲得一個(gè)升級包,進(jìn)而根據(jù)該升級包進(jìn)行版本升級。為了節(jié)省服務(wù)器的存儲資源和終端設(shè)備下載升級包的時(shí)間,且降低開發(fā)成本,常用的升級方式為差分升級,即所述的升級包為相鄰兩個(gè)版本之間的差分文件。
[0003]在終端設(shè)備升級過程中會出現(xiàn)以下情形:終端設(shè)備安裝的軟件的當(dāng)前版本為Vm,需升級的目標(biāo)版本為Vn(其中,m、n均為正整數(shù),且n-m多2)。此時(shí)終端設(shè)備實(shí)現(xiàn)升級到目標(biāo)版本需要發(fā)起多次軟件版本檢測才能將軟件從當(dāng)前版本升級到目標(biāo)版本。為了減少終端設(shè)備發(fā)起新版本檢測的次數(shù),現(xiàn)有技術(shù)提出了一種多包連續(xù)升級的技術(shù),通過一次性下載所有需要的升級包,然后recovery —次循環(huán)升級所有差分升級包的方式實(shí)現(xiàn)版本的升級。
[0004]然而現(xiàn)有技術(shù)存在以下缺陷:多包連續(xù)升級需下載多個(gè)差分升級包,當(dāng)終端設(shè)備當(dāng)前版本和目標(biāo)的鏈長越長時(shí),所需升級包的數(shù)目越多,升級耗時(shí)越長,此外連續(xù)升級方式相鄰升級包之前是相互依賴的,若服務(wù)器存在某中間版本的缺失時(shí)也無法實(shí)現(xiàn)終端設(shè)備最終版本的升級。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供了一種軟件跨版本升級的方法、終端及服務(wù)器,以解決客戶端安裝的軟件當(dāng)前版本較低,目標(biāo)版本較高的情況下,升級過程復(fù)雜、升級時(shí)間過長以及可能出現(xiàn)升級失敗的問題。
[0006]為解決上述問題,本發(fā)明公開的一種軟件跨版本升級的方法,應(yīng)用于客戶端,包括以下步驟:
從服務(wù)器獲取由當(dāng)前版本到最低版本的差分升級包,以及由最低版本到目標(biāo)版本的差分升級包;
升級由當(dāng)前版本到最低版本的差分升級包,再升級由最低版本到目標(biāo)版本的差分升級包。
[0007]其中所述獲取由當(dāng)前版本到最低版本的差分升級包以及由最低版本到目標(biāo)版本的差分升級包具體包括:
接收服務(wù)器通過OTA技術(shù)發(fā)送的由當(dāng)前版本到最低版本的差分升級包以及由最低版本到目標(biāo)版本的差分升級包;
或者,接收所述服務(wù)器發(fā)送的由當(dāng)前版本到最低版本的差分升級包地址以及由最低版本到目標(biāo)版本的差分升級包地址,從所述由當(dāng)前版本到最低版本的差分升級包地址下載所述由當(dāng)前版本到最低版本的差分升級包地址,從所述由最低版本到目標(biāo)版本的差分升級包地址下載由最低版本到目標(biāo)版本的差分升級包。
[0008]可替代的,本實(shí)施例獲取差分升級包進(jìn)行升級的過程可以采用先獲取由當(dāng)前版本到最低版本的差分升級包進(jìn)行升級,然后再獲取由最低版本到目標(biāo)版本的差分升級包進(jìn)行升級的步驟。
[0009]本發(fā)明一種軟件跨版本升級方法,應(yīng)用于客戶端,還包括:
向服務(wù)器發(fā)送版本檢測請求,所述版本檢測請求包括軟件在所述客戶端的當(dāng)前版本信息和客戶端的產(chǎn)品型號,選擇性的包括客戶端的目標(biāo)版本信息;
接收服務(wù)器發(fā)送的跨版本升級指示,所述跨版本升級指示中包括跨版本升級的標(biāo)識、客戶端當(dāng)前版本信息、目標(biāo)版本信息和最低版本信息??蛻舳送ㄟ^讀取版本升級指示中的信息對獲取的差分升級包進(jìn)行識別并按順序進(jìn)行升級。
[0010]在收到服務(wù)器發(fā)送的跨版本升級指示之后向服務(wù)器發(fā)送跨版本升級的請求。
[0011]本發(fā)明提供的一種軟件跨版本升級的方法,應(yīng)用于服務(wù)器,方法包括以下步驟: 確定客戶端的目標(biāo)版本信息;
向客戶端發(fā)送跨版本升級指示;
向客戶端發(fā)送由當(dāng)前版本到最低版本的差分升級包以及由最低版本到目標(biāo)版本的差分升級包。
[0012]其中確定客戶端的目標(biāo)版本信息具體為:服務(wù)器檢測接收到的版本檢測請求中是否包含客戶端指定的目標(biāo)版本信息,若有,確定所述指定的目標(biāo)版本為客戶端的目標(biāo)版本;若無,查詢服務(wù)器存儲的最高版本,確定所述服務(wù)器存儲的最高版本為客戶端的目標(biāo)版本。
[0013]其中所述跨版本升級指示中包括跨版本升級的標(biāo)識、當(dāng)前版本信息、目標(biāo)版本信息以及最低版本信息,供客戶端讀取進(jìn)行差分升級包的升級。
[0014]其中向客戶端發(fā)送由當(dāng)前版本到最低版本的差分升級包以及由最低版本到目標(biāo)版本的差分升級包具體包括:
通過OTA技術(shù)向客戶端發(fā)送由當(dāng)前版本到最低版本的差分升級包以及由最低版本到目標(biāo)版本的差分升級包;
或者向客戶端發(fā)送由當(dāng)前版本到最低版本的差分升級包地址以及由最低版本到目標(biāo)版本的差分升級包地址。
[0015]本發(fā)明一種軟件跨版本升級方法,應(yīng)用于服務(wù)器,還包括:
確定客戶端的目標(biāo)版本信息之前接受客戶端發(fā)送的版本檢測請求,所述版本檢測請求包括客戶端的當(dāng)前版本信息和客戶端的產(chǎn)品型號,選擇性的包括客戶端的目標(biāo)版本信息;在確定客戶端的目標(biāo)版本信息之后,判斷客戶端升級是否屬于跨版本升級;
在向客戶端發(fā)送由當(dāng)前版本到最低版本的差分升級包以及由最低版本到目標(biāo)版本的差分升級包之前,向客戶端發(fā)送跨版本升級指示之后接收客戶端發(fā)送的版本升級請求。
[0016]本發(fā)明的另一方面,提供了一種軟件跨版本升級的客戶端,包括獲取單元、第一升級單元以及第二升級單元:
所述獲取單元,用于獲取由當(dāng)前版本到最低版本的差分升級包以及由最低版本到目標(biāo)版本的差分升級包; 所述第一升級單元,用于升級由當(dāng)前版本到最低版本的差分升級包;
所述第二升級單元,用于升級由最低版本到目標(biāo)版本的差分升級包。
[0017]本發(fā)明一種軟件跨版本升級的客戶端,還包括:
所述發(fā)送單元,用于向所述服務(wù)器發(fā)送版本檢測請求;所述版本檢測請求包括軟件在客戶端的當(dāng)前版本號,客戶端的產(chǎn)品型號,還可能包括客戶端指定的目標(biāo)版本號。
[0018]所述接收單元,用于接收所述服務(wù)器發(fā)送的跨版本升級指示。
[0019]本發(fā)明的另一方面,提供了一種軟件跨版本升級的服務(wù)器,包括目標(biāo)確定單元和發(fā)送單元:
所述目標(biāo)確定單元,用于確定客戶端的目標(biāo)版本信息;
所述發(fā)送單元,用于向客戶端發(fā)送跨版本升級指示、由當(dāng)前版本到最低版本的差分升級包以及由最低版本到目標(biāo)版本的差分升級包。
[0020]本發(fā)明的一種軟件跨版本升級的服務(wù)器,還包括:
接收單元,用于接收客戶端發(fā)送的版本檢測請求和版本升級請求;
判斷單元,用于根據(jù)客戶端的當(dāng)前版本信息和目標(biāo)版本信息判斷客戶端的升級類型是否是跨版本升級。
[0021]與現(xiàn)有技術(shù)相比,本發(fā)明有以下優(yōu)點(diǎn):
本發(fā)明中客戶端的升級方式為跨版本升級時(shí)采用先將客戶端的當(dāng)前版本升級至最低版本,再在最低版本的基礎(chǔ)上升級至目標(biāo)版本,避免了現(xiàn)有技術(shù)連續(xù)升級方式一次獲取多個(gè)差分升級包進(jìn)行升級導(dǎo)致的升級時(shí)間長和升級失敗的情況發(fā)生,提高了用戶體驗(yàn),減小了升級失敗的風(fēng)險(xiǎn)。
【附圖說明】
[0022]圖1是本發(fā)明實(shí)施例的一種軟件跨版本升級的方法流程圖一圖2是本發(fā)明實(shí)施例的一種軟件跨版本升級的方法流程圖二
圖3是本發(fā)明