本申請涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種軟件升級方法、客戶端設(shè)備及服務(wù)器。
背景技術(shù):
隨著通信技術(shù)的不斷發(fā)展,電子設(shè)備所實現(xiàn)的功能越來越豐富。其中,電子設(shè)備可通過安裝并運行軟件,從而實現(xiàn)該軟件對應(yīng)的功能。
為保證軟件的正常運行以及功能的不斷優(yōu)化,需對該軟件進行升級。目前的軟件升級過程中,需在恢復(fù)(recovery)模式下先下載軟件的升級包,在獲取該升級包后對該軟件的當(dāng)前版本進行校驗,在校驗通過的情況下可根據(jù)該升級包進行升級。一旦校驗失敗,便無法進行軟件的升級。
上述軟件升級方法中,一旦校驗失敗,該升級包便為無用的升級包,這便造成了不避免的數(shù)據(jù)資源浪費,而且由于校驗過程需在恢復(fù)模式下進行,影響了用戶的正常使用。
技術(shù)實現(xiàn)要素:
本申請?zhí)峁┮环N軟件升級方法、客戶端設(shè)備及服務(wù)器,以減小校驗失敗升級包的下載,節(jié)省數(shù)據(jù)資源,保證了校驗失敗時用戶的正常使用。
本申請?zhí)峁┮环N軟件升級方法,包括:
客戶端設(shè)備向服務(wù)器發(fā)送待升級軟件的升級請求;
所述客戶端設(shè)備接收服務(wù)器發(fā)送的所述待升級軟件的升級包對應(yīng)的基礎(chǔ)版本的信息;
所述客戶端設(shè)備根據(jù)所述待升級軟件的當(dāng)前版本的信息和所述基礎(chǔ)版本的信息,對所述當(dāng)前版本進行校驗;
若所述當(dāng)前版本校驗通過,則所述客戶端設(shè)備從所述服務(wù)器下載所述升級包;
所述客戶端設(shè)備根據(jù)所述升級包,對所述待升級軟件進行升級。
本申請還提供一種軟件升級方法,包括:
服務(wù)器接收客戶端設(shè)備發(fā)送待升級軟件的升級請求;
所述服務(wù)器向所述客戶端設(shè)備發(fā)送所述待升級軟件的升級包對應(yīng)的基礎(chǔ)版本的信息;所述基礎(chǔ)版本的信息用于使得所述客戶端設(shè)備結(jié)合所述待升級軟件的當(dāng)前版本的信息,對所述當(dāng)前版本進行校驗;
所述服務(wù)器接收所述客戶端設(shè)備在所述當(dāng)前版本校驗通過的情況下發(fā)送的下載請求;
所述服務(wù)器向所述客戶端設(shè)備發(fā)送所述升級包;所述升級包用于使得所述客戶端設(shè)備對所述待升級軟件進行升級。
本申請還提供一種客戶端設(shè)備,包括:
發(fā)送模塊,用于向服務(wù)器發(fā)送待升級軟件的升級請求;
接收模塊,用于接收服務(wù)器發(fā)送的所述待升級軟件的升級包對應(yīng)的基礎(chǔ)版本的信息;
校驗?zāi)K,用于根據(jù)所述待升級軟件的當(dāng)前版本的信息和所述基礎(chǔ)版本的信息,對所述當(dāng)前版本進行校驗;
下載模塊,用于若所述當(dāng)前版本校驗通過,則從所述服務(wù)器下載所述升級包;
升級模塊,用于根據(jù)所述升級包,對所述待升級軟件進行升級。
本申請還提供一種服務(wù)器,包括:
第一接收模塊,用于接收客戶端設(shè)備發(fā)送待升級軟件的升級請求;
第一發(fā)送模塊,用于向所述客戶端設(shè)備發(fā)送所述待升級軟件的升級包對應(yīng)的基礎(chǔ)版本的信息;所述基礎(chǔ)版本的信息用于使得所述客戶端設(shè)備結(jié)合所述待升級軟件的當(dāng)前版本的信息,對所述當(dāng)前版本進行校驗;
第二接收模塊,用于接收所述客戶端設(shè)備在所述當(dāng)前版本校驗通過的情況下發(fā)送的下載請求;
第二發(fā)送模塊,用于向所述客戶端設(shè)備發(fā)送所述升級包;所述升級包用于使得所述客戶端設(shè)備對所述待升級軟件進行升級。
本申請?zhí)峁┑能浖壏椒?、客戶端設(shè)備及服務(wù)器,可通過客戶端設(shè)備可接收服務(wù)器發(fā)送的待升級軟件的升級包對應(yīng)的基礎(chǔ)版本的信息,并根據(jù)該待升級軟件的當(dāng)前版本的信息和該基礎(chǔ)版本的信息對該當(dāng)前版本進行校驗,若該當(dāng)前版本校驗通過,則該客戶端設(shè)備從該服務(wù)器下載該升級包,繼而根據(jù)該升級包,對該待升級軟件進行升級。該方法中在客戶端設(shè)備正常開機的情況下進行版本校驗,在校驗失敗時不影響用戶的正常使用,避免了校驗失敗時升級包的下載,節(jié)省數(shù)據(jù)資源;而且只有在版本校驗通過的情況下下載升級包繼而進行軟件升級,提高了軟件升級的成功率。
附圖說明
圖1為本申請?zhí)峁┑囊环N軟件升級系統(tǒng)的結(jié)構(gòu)示意圖;
圖2為本申請?zhí)峁┑囊环N軟件升級方法的流程圖;
圖3為本申請?zhí)峁┑囊环N軟件升級方法中版本校驗的流程圖;
圖4為本申請?zhí)峁┑牧硪环N軟件升級方法的流程圖;
圖5為本申請?zhí)峁┑囊环N客戶端設(shè)備的結(jié)構(gòu)示意圖;
圖6為本申請?zhí)峁┑囊环N服務(wù)器的結(jié)構(gòu)示意圖一;
圖7為本申請?zhí)峁┑囊环N服務(wù)器的結(jié)構(gòu)示意圖二;
圖8為本申請?zhí)峁┑囊环N服務(wù)器的結(jié)構(gòu)示意圖三;
圖9為本申請?zhí)峁┑牧硪环N客戶端設(shè)備的結(jié)構(gòu)示意圖;
圖10為本申請?zhí)峁┑囊环N服務(wù)器的結(jié)構(gòu)示意圖四;
圖11為本申請?zhí)峁┑囊环N服務(wù)器的結(jié)構(gòu)示意圖五。
具體實施方式
本申請下述各實施例提供的軟件升級方法、客戶端設(shè)備及服務(wù)器,可適用于軟件升級系統(tǒng)中。圖1為本申請?zhí)峁┑囊环N軟件升級系統(tǒng)的結(jié)構(gòu)示意圖。該軟件升級系統(tǒng)可包括:服務(wù)器101和至少一個客戶端設(shè)備102。其中,每個客戶端設(shè)備102可通過軟件和/或硬件的方式集成在一個電子設(shè)備中。該電子設(shè)備可以為手機、平板電腦、智能穿戴設(shè)備、機頂盒及智能電視機等任一電子設(shè)備。服務(wù)器101可以為待升級軟件對應(yīng)的應(yīng)用服務(wù)器、應(yīng)用市場對應(yīng)的應(yīng)用服務(wù)器等任一。本申請下述各實施例提供的軟件升級方法,可以為基于空中下載技術(shù)(over-the-airtechnology,ota)的軟件升級方法。因而,該軟件升級系統(tǒng)中,每個客戶端設(shè)備102可以與服務(wù)器101通過無線方式連接。
如下結(jié)合多個實例進行說明。圖2為本申請?zhí)峁┑囊环N軟件升級方法的流程圖。如圖2所示,該方法可包括如下:
s201、客戶端設(shè)備向服務(wù)器發(fā)送待升級軟件的升級請求。
具體地,該待升級軟件可以為客戶端設(shè)備所在的電子設(shè)備的操作系統(tǒng)類軟件、系統(tǒng)插件類軟件、應(yīng)用類軟件等任一。該客戶端設(shè)備可在接收到用戶輸入的軟件更新指令后,向服務(wù)器發(fā)送該待升級軟件的升級請求。該客戶端設(shè)備也可以根據(jù)該待升級軟件的預(yù)設(shè)更新周期,向服務(wù)器發(fā)送該待升級軟件的升級請求。
對應(yīng)的,服務(wù)器從客戶端設(shè)備接收該升級請求。
s202、服務(wù)器向客戶端設(shè)備發(fā)送該待升級軟件的升級包對應(yīng)的基礎(chǔ)版本的信息。
該服務(wù)器接收到該待升級軟件的升級請求后,可先確定該待升級軟件是否具有新的升級包,若有,則確定該待升級軟件的升級包對應(yīng)的基礎(chǔ)版本的信息,繼而將該基礎(chǔ)版本的信息返回至客戶端設(shè)備。其中,該服務(wù)器可以根據(jù)該待升級軟件的升級包中所有需升級的分區(qū)信息確定,該基礎(chǔ)版本的信息。
對應(yīng)的,客戶端設(shè)備接收服務(wù)器發(fā)送的待升級軟件的升級包對應(yīng)的基礎(chǔ)版本的信息。
s203、客戶端設(shè)備根據(jù)該待升級軟件的當(dāng)前版本的信息和該基礎(chǔ)版本的信息,對該當(dāng)前版本進行校驗。
該當(dāng)前版本的信息可以為當(dāng)前安裝在客戶端設(shè)備中的該待升級軟件的版本信息。
該客戶端設(shè)備可以根據(jù)該當(dāng)前版本的信息和該基礎(chǔ)版本的信息,確定該待升級軟件的升級包對應(yīng)的基礎(chǔ)版本是否為該當(dāng)前版本。若該待升級軟件的升級包對應(yīng)的基礎(chǔ)版本為該當(dāng)前版本,則可確定該當(dāng)前版本校驗通過;反之,若該待升級軟件的升級包對應(yīng)的基礎(chǔ)版本不為該當(dāng)前版本,則可確定該當(dāng)前版本校驗失敗。
s204、若該當(dāng)前版本校驗通過,則客戶端設(shè)備從服務(wù)器下載該升級包。
可選的,該客戶端設(shè)備可向服務(wù)器發(fā)送該升級包的下載請求,并接收該服務(wù)器根據(jù)該下載請求所下發(fā)的該升級包,從而實現(xiàn)該升級包的下載。
若該當(dāng)前版本校驗失敗,則客戶端設(shè)備可不進行升級包的下載。
s205、客戶端設(shè)備根據(jù)該升級包,對該待升級軟件進行升級。
該客戶端設(shè)備可以通過運行該升級包,實現(xiàn)對該待升級軟件的升級。
以該待升級軟件為操作系統(tǒng)類軟件或系統(tǒng)插件類軟件為例,該客戶端設(shè)備可在下載該升級包后,重啟該待升級軟件進入恢復(fù)(recovery)目錄,繼而進行該升級包的完整性的校驗,該完整性校驗通過后,運行該升級包實現(xiàn)對該待升級軟件的升級。需要說明的是,在該待升級軟件升級后,為保證該待升級軟件的正常使用,該客戶端設(shè)備還需進行設(shè)備重啟,待設(shè)備重啟后,該客戶端設(shè)備便可使用該升級后的軟件。
本申請?zhí)峁┑能浖壏椒?,可通過客戶端設(shè)備向服務(wù)器發(fā)送待升級軟件的升級請求,并接收服務(wù)器發(fā)送的該待升級軟件的升級包對應(yīng)的基礎(chǔ)版本的信息,繼而根據(jù)該待升級軟件的當(dāng)前版本的信息和該基礎(chǔ)版本的信息,對該當(dāng)前版本進行校驗,若該當(dāng)前版本校驗通過,則該客戶端設(shè)備從服務(wù)器下載該升級包,并根據(jù)該升級包,對該待升級軟件進行升級。該軟件方法中,客戶端設(shè)備可在正常開機的情況下進行版本校驗,在校驗失敗時不影響用戶的正常使用,避免了校驗失敗時升級包的下載,節(jié)省數(shù)據(jù)資源;而且只有在版本校驗通過的情況下下載升級包繼而進行軟件升級,提高了軟件升級的成功率。
可選的,如上所示的方法中,該升級請求可包括:該當(dāng)前版本的信息。該當(dāng)前版本的信息用于使得該服務(wù)器確定該待升級軟件是否具有新的升級包。
可選的,如上所示的s202中服務(wù)器向客戶端設(shè)備發(fā)送該待升級軟件的升級包對應(yīng)的基礎(chǔ)版本的信息之前,該方法還包括:
服務(wù)器根據(jù)該當(dāng)前版本的信息,確定該待升級軟件是否具有新的升級包。
具體地,服務(wù)器可在接收到客戶端設(shè)備發(fā)送的包括該當(dāng)前版本的信息的升級請求后,根據(jù)該當(dāng)前版本的信息,確定該服務(wù)器中該待升級軟件的升級包的更新后版本是否與該當(dāng)前版本相同。若該服務(wù)器中該待升級軟件的升級包的更新后版本與該當(dāng)前版本相同,則該服務(wù)器則可確定該待升級軟件不具有新的升級包。反之,若該服務(wù)器中該待升級軟件的升級包的更新后版本與該當(dāng)前版本不相同,則該服務(wù)器則可確定該待升級軟件具有新的升級包。
可選的,該升級請求還可包括:該待升級軟件的標(biāo)識。
服務(wù)器可根據(jù)該待升級軟件的標(biāo)識,確定該待升級軟件的升級包,繼而根據(jù)該當(dāng)前版本的信息,確定該待升級軟件的升級包是否為新的升級包,從而確定是否具有新的升級包。
可選的,該升級請求還可包括:該客戶端設(shè)備的標(biāo)識。
該客戶端設(shè)備的標(biāo)識可以包括:該客戶端設(shè)備的型號、操作系統(tǒng)類型等信息。
該服務(wù)器可根據(jù)該客戶端設(shè)備的標(biāo)識,確定該客戶端設(shè)備對應(yīng)的該待升級軟件的升級包,繼而根據(jù)該當(dāng)前版本的信息,確定該待升級軟件的升級包是否為新的升級包,從而確定是否具有新的升級包。其中,該客戶端設(shè)備對應(yīng)的待升級軟件的升級包可以為該客戶端設(shè)備所支持的該待升級軟件的升級包。
可選的,s202中服務(wù)器向客戶端設(shè)備發(fā)送該待升級軟件的升級包對應(yīng)的基礎(chǔ)版本的信息,可包括:
若該待升級軟件具有新的升級包,則服務(wù)器向該客戶端設(shè)備發(fā)送該基礎(chǔ)版本的信息。
反之,若該待升級軟件不具有新的升級包,服務(wù)器可向客戶端設(shè)備發(fā)送拒絕信息,該拒絕信息可包括:不具有新的升級包對應(yīng)的指示等。
當(dāng)然,若該待升級軟件不具有新的升級包,服務(wù)器也可不向客戶端設(shè)備發(fā)送任何信息,該客戶端設(shè)備在發(fā)送該升級請求后的預(yù)設(shè)時間段內(nèi),如未接收到該服務(wù)器返回的信息,則可確定該待升級軟件不具有新的升級包,因而無需進行軟件升級。
可選的,在如上任一所述的軟件升級方法的基礎(chǔ)上,該方法還可包括:
若該當(dāng)前版本校驗失敗,則客戶端設(shè)備向服務(wù)器發(fā)送校驗失敗信息。
其中,該校驗失敗信息可通過錯誤碼的形式表示。
對應(yīng)的,服務(wù)器從客戶端設(shè)備接收該客戶端設(shè)備在該當(dāng)前版本校驗失敗的情況下發(fā)送的校驗失敗信息。
該方法中,客戶端設(shè)備在該當(dāng)前版本校驗失敗的情況下,向服務(wù)器發(fā)送校驗失敗信息,可便于問題定位,以盡可能快的提供解決方案。并且,由于服務(wù)器側(cè)的存儲容量通常大于客戶端設(shè)備的存儲量,將該校驗失敗信息發(fā)送至服務(wù)器,還可方便問題的收集,使得問題定位更佳準(zhǔn)確。
可選的,如上所示的該基礎(chǔ)版本的信息包括:該基礎(chǔ)版本的哈希值;該當(dāng)前版本的信息包括:該當(dāng)前版本的哈希值。
其中,該基礎(chǔ)版本的哈希值可以為該待升級軟件的升級包中所有需升級的分區(qū)信息的哈希值。該當(dāng)前版本的哈希值可以為當(dāng)前安裝在客戶端設(shè)備中的該待升級軟件的版本信息的哈希值。
圖3為本申請?zhí)峁┑囊环N軟件升級方法中版本校驗的流程圖。該方法以操作系統(tǒng)軟件為例進行舉例說明。如圖3所示,如上所示的s203中客戶端設(shè)備根據(jù)該待升級軟件的當(dāng)前版本的信息和該基礎(chǔ)版本的信息,對該當(dāng)前版本進行校驗可包括:
s301、客戶端設(shè)備確定該基礎(chǔ)版本的信息和該當(dāng)前版本的信息是否相同。
s302、若該基礎(chǔ)版本的信息和該當(dāng)前版本的信息相同,則客戶端設(shè)備確定該當(dāng)前版本校驗通過。
若該基礎(chǔ)版本的信息和該當(dāng)前版本的信息相同,則客戶端設(shè)備可確定該待升級軟件的升級包對應(yīng)的基礎(chǔ)版本為該當(dāng)前版本,因而可確定該當(dāng)前版本校驗通過。
s303、若該基礎(chǔ)版本的信息和該當(dāng)前版本的信息不同,則客戶端設(shè)備確定該當(dāng)前版本校驗失敗。
若該基礎(chǔ)版本的信息和該當(dāng)前版本的信息不同,則客戶端設(shè)備可確定該待升級軟件的升級包對應(yīng)的基礎(chǔ)版本不為該當(dāng)前版本,因而可確定該當(dāng)前版本校驗失敗。
可選的,本申請還提供一種軟件升級方法。圖4為本申請?zhí)峁┑牧硪环N軟件升級方法的流程圖。如圖4所示,該方法可包括:
s401、客戶端設(shè)備向服務(wù)器發(fā)送待升級軟件的升級請求,該升級請求包括:該客戶端設(shè)備的標(biāo)識和待升級軟件的當(dāng)前版本的信息。
s402、服務(wù)器根據(jù)該當(dāng)前版本的信息,確定是否具有該待升級軟件的新的升級包。
s403、若具有該待升級軟件的新升級包,服務(wù)器將該新的升級包對應(yīng)的基礎(chǔ)版本的信息,發(fā)送至客戶端設(shè)備;該基礎(chǔ)版本的信息包括:該新的升級包的中所有需升級的分區(qū)信息的哈希值。
s404、客戶端設(shè)備確定當(dāng)前版本的信息和該基礎(chǔ)版本的信息是否相同。
s405、若該基礎(chǔ)版本的信息和該當(dāng)前版本的信息相同,則客戶端設(shè)備確定該當(dāng)前版本校驗通過。
s406、若該基礎(chǔ)版本的信息和該當(dāng)前版本的信息不同,則客戶端設(shè)備確定該當(dāng)前版本校驗失敗。
s407、若該當(dāng)前版本校驗通過,客戶端設(shè)備從服務(wù)器下載該新的升級包。
s408、客戶端設(shè)備重啟該待升級軟件進入恢復(fù)目錄,繼而進行該升級包的完整性的校驗,該完整性校驗通過后,根據(jù)該升級包進行該待升級軟件的升級。
s409、若該當(dāng)前版本失敗,客戶端設(shè)備向服務(wù)器發(fā)送校驗失敗信息,該校驗失敗信息包括:錯誤碼。
該軟件升級方法中,客戶端設(shè)備可在正常開機的情況下進行版本校驗,在校驗失敗時不影響用戶的正常使用,避免了校驗失敗時升級包的下載,節(jié)省數(shù)據(jù)資源;而且只有在版本校驗通過的情況下下載升級包繼而進行軟件升級,提高了軟件升級的成功率。并且,客戶端設(shè)備在該當(dāng)前版本校驗失敗的情況下向服務(wù)器發(fā)送校驗失敗信息,可便于問題定位,以盡可能快的提供解決方案。由于服務(wù)器側(cè)的存儲容量通常大于客戶端設(shè)備的存儲量,將該校驗失敗信息發(fā)送至服務(wù)器,還可校驗失敗信息的存儲,以及統(tǒng)計分析,方便問題的收集,使得問題定位更佳準(zhǔn)確。
本申請還提供一種客戶端設(shè)備。圖5為本申請?zhí)峁┑囊环N客戶端設(shè)備的結(jié)構(gòu)示意圖。如圖5所示,客戶端設(shè)備500可包括:
發(fā)送模塊501,用于向服務(wù)器發(fā)送待升級軟件的升級請求。
接收模塊502,用于接收服務(wù)器發(fā)送的該待升級軟件的升級包對應(yīng)的基礎(chǔ)版本的信息。
校驗?zāi)K503,用于根據(jù)該待升級軟件的當(dāng)前版本的信息和該基礎(chǔ)版本的信息,對該當(dāng)前版本進行校驗通過。
下載模塊504,用于若該當(dāng)前版本校驗通過,則從該服務(wù)器下載該升級包。
升級模塊505,用于根據(jù)該升級包,對該待升級軟件進行升級。
可選的,該升級請求包括:該當(dāng)前版本的信息;該當(dāng)前版本的信息用于使得該服務(wù)器確定該待升級軟件是否具有新的升級包。
可選的,發(fā)送模塊501,還用于若該當(dāng)前版本校驗失敗,則向該服務(wù)器發(fā)送校驗失敗信息。
可選的,該基礎(chǔ)版本的信息包括:該基礎(chǔ)版本的哈希值;該當(dāng)前版本的信息包括:該當(dāng)前版本的哈希值。
可選的,校驗?zāi)K503,具體用于確定該基礎(chǔ)版本的信息和該當(dāng)前版本的信息是否相同,若該基礎(chǔ)版本的信息和該當(dāng)前版本的信息相同,則確定該當(dāng)前版本校驗通過,若該基礎(chǔ)版本的信息和該當(dāng)前版本的信息不同,則確定該當(dāng)前版本校驗失敗。
本申請?zhí)峁┑脑摽蛻舳嗽O(shè)備,可執(zhí)行上述圖2至圖4中任一所述的客戶端設(shè)備執(zhí)行的軟件升級方法,其具體實現(xiàn)過程及有益效果參見上述,在此不再贅述。
本申請還提供一種服務(wù)器。圖6為本申請?zhí)峁┑囊环N服務(wù)器的結(jié)構(gòu)示意圖一。如圖6所示,服務(wù)器600可包括:
第一接收模塊601,用于接收客戶端設(shè)備發(fā)送待升級軟件的升級請求。
第一發(fā)送模塊602,用于向該客戶端設(shè)備發(fā)送該待升級軟件的升級包對應(yīng)的基礎(chǔ)版本的信息;該基礎(chǔ)版本的信息用于使得該客戶端設(shè)備結(jié)合該待升級軟件的當(dāng)前版本的信息,對該當(dāng)前版本進行校驗。
第二接收模塊603,用于接收該客戶端設(shè)備在該當(dāng)前版本校驗通過的情況下發(fā)送的下載請求。
第二發(fā)送模塊604,用于向該客戶端設(shè)備發(fā)送該升級包;該升級包用于使得該客戶端設(shè)備對該待升級軟件進行升級。
可選的,該升級請求包括:該當(dāng)前版本的信息。
圖7為本申請?zhí)峁┑囊环N服務(wù)器的結(jié)構(gòu)示意圖二。如圖7所示,該服務(wù)器600還可包括:
確定模塊605,用于在第一發(fā)送模塊602向客戶端設(shè)備發(fā)送該待升級軟件的升級包對應(yīng)的基礎(chǔ)版本的信息之前,根據(jù)該當(dāng)前版本的信息,確定該待升級軟件是否具有新的升級包。
第一發(fā)送模塊602,具體用于若該待升級軟件具有新的升級包,則向該客戶端設(shè)備發(fā)送該基礎(chǔ)版本的信息。
圖8為本申請?zhí)峁┑囊环N服務(wù)器的結(jié)構(gòu)示意圖三。如圖8所示,該服務(wù)器600還可包括:
第三接收模塊606,用于接收該客戶端設(shè)備在該當(dāng)前版本校驗失敗的情況下發(fā)送的校驗失敗信息。
本申請?zhí)峁┑脑摲?wù)器,可執(zhí)行上述圖2至圖4中任一所述的服務(wù)器執(zhí)行的軟件升級方法,其具體實現(xiàn)過程及有益效果參見上述,在此不再贅述。
本申請還提供一種客戶端設(shè)備。圖9為本申請?zhí)峁┑牧硪环N客戶端設(shè)備的結(jié)構(gòu)示意圖。如圖9所示,客戶端設(shè)備900可包括:發(fā)送器901、接收器902和處理器903。發(fā)送器901和接收器902分別與處理器903連接。
發(fā)送器901,用于向服務(wù)器發(fā)送待升級軟件的升級請求。
接收器902,用于接收服務(wù)器發(fā)送的該待升級軟件的升級包對應(yīng)的基礎(chǔ)版本的信息。
處理器903,用于根據(jù)該待升級軟件的當(dāng)前版本的信息和該基礎(chǔ)版本的信息,對該當(dāng)前版本進行校驗。
發(fā)送器901,還用于若該當(dāng)前版本校驗通過,則向服務(wù)器發(fā)送下載請求。
接收器902,還用于接收服務(wù)器發(fā)送的該升級包。
處理器903,還用于根據(jù)該升級包,對該待升級軟件進行升級。
可選的,該升級請求包括:該當(dāng)前版本的信息;該當(dāng)前版本的信息用于使得該服務(wù)器確定該待升級軟件是否具有新的升級包。
可選的,發(fā)送器901,還用于若該當(dāng)前版本校驗失敗,則向服務(wù)器發(fā)送校驗失敗信息。
可選的,該基礎(chǔ)版本的信息包括:該基礎(chǔ)版本的哈希值;該當(dāng)前版本的信息包括:該當(dāng)前版本的哈希值。
可選的,處理器903,具體用于確定該基礎(chǔ)版本的信息和該當(dāng)前版本的信息是否相同,若該基礎(chǔ)版本的信息和該當(dāng)前版本的信息相同,則確定該當(dāng)前版本校驗通過,若該基礎(chǔ)版本的信息和該當(dāng)前版本的信息不同,則確定該當(dāng)前版本校驗失敗。
本申請?zhí)峁┑脑摽蛻舳嗽O(shè)備,可執(zhí)行上述圖2至圖4中任一所述的客戶端設(shè)備執(zhí)行的軟件升級方法,其具體實現(xiàn)過程及有益效果參見上述,在此不再贅述。
本申請還提供一種服務(wù)器。圖10為本申請?zhí)峁┑囊环N服務(wù)器的結(jié)構(gòu)示意圖四。如圖10所示,服務(wù)器1000可包括:接收器1001和發(fā)送器1002。
其中,接收器1001,用于接收客戶端設(shè)備發(fā)送待升級軟件的升級請求。
發(fā)送器1002,用于向該客戶端設(shè)備發(fā)送該待升級軟件的升級包對應(yīng)的基礎(chǔ)版本的信息;該基礎(chǔ)版本的信息用于使得該客戶端設(shè)備結(jié)合該待升級軟件的當(dāng)前版本的信息,對該當(dāng)前版本進行校驗。
接收器1001,還用于接收該客戶端設(shè)備在該當(dāng)前版本校驗通過的情況下發(fā)送的下載請求。
發(fā)送器1002,還用于向該客戶端設(shè)備發(fā)送該升級包;該升級包用于使得該客戶端設(shè)備對該待升級軟件進行升級。
可選的,該升級請求包括:該當(dāng)前版本的信息。
圖11為本申請?zhí)峁┑囊环N服務(wù)器的結(jié)構(gòu)示意圖五。如圖11所示,服務(wù)器1000還可包括:處理器1003。接收器1001和發(fā)送器1002可分別與處理器1003連接。
處理器1003,用于根據(jù)該當(dāng)前版本的信息,確定該待升級軟件是否具有新的升級包。
發(fā)送器1002,具體用于若該待升級軟件具有新的升級包,則向該客戶端設(shè)備發(fā)送該基礎(chǔ)版本的信息。
可選的,接收器1001,還用于接收該客戶端設(shè)備在該當(dāng)前版本校驗失敗的情況下發(fā)送的校驗失敗信息。
本申請?zhí)峁┑脑摲?wù)器,可執(zhí)行上述圖2至圖4中任一所述的服務(wù)器執(zhí)行的軟件升級方法,其具體實現(xiàn)過程及有益效果參見上述,在此不再贅述。
最后應(yīng)說明的是:以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。