一種可穿戴設備的OTA升級方法以及裝置與流程
2023-05-26 20:25:41
本申請涉及移動通信技術領域,具體涉及一種可穿戴設備的OTA升級方法以及一種可穿戴設備的OTA升級裝置。
背景技術:
隨著智慧型手機、平板電腦等設備的流行,越來越多的設備需要系統軟體升級功能,尤其是網絡升級功能的需求更為突出。在Android原生的系統中,有一套標準的本地升級功能,通過在本地SD卡或FLASH存儲器中,放置一個update.zip,即可完成系統升級功能。
而OTA(Over the Air,空中下載技術)則是一種通過無線網絡進行數據下載的功能,現已被廣泛應用於手機、平板電腦等設備的網絡升級中。OTA升級的方式就是在智能設備中指定系統版本升級的網絡路徑,然後下載到本地進行升級。目前OTA伺服器端配置系統版本升級文件時既可以配置升級系統版本的完整升級包,又可以配置差分文件。由於完整升級包的文件容量較大,一般有幾百兆,為了節省用戶下載時的成本,一般使用差分文件來進行升級,例如:初始版本為1.1版本,OTA伺服器配置的差分文件一般為:1.1版本至1.2版本,1.2版本至1.3版本,1.3版本至1.4版本,依次類推。
由此可見,在現有的OTA升級過程中,若智能設備的當前系統版本與最高版本之間版本號相差較大時(例如:智能設備的當前系統版本為1.1版本,最高版本為1.4版本,在使用差分文件升級時需要先通過1.1版本至1.2版本的差分文件,升級到1.2版本後在通過1.2版本至1.3版本的差分文件升級到1.3版本直至升級到最高版本),需要進行多次下載和升級才能升級到最高版本,與伺服器端之間的交互時間較長,升級過程耗時較長,降低了用戶體驗。另外,在智能設備中指定系統版本升級的網絡路徑時,由於方式過於簡單,信息量少,無法進行差分文件的版本校驗,易出錯。
技術實現要素:
本申請提供的一種可穿戴設備的OTA升級方法以及一種可穿戴設備的OTA升級裝置,以解決現有技術中的上述問題。
本申請提供了一種可穿戴設備的OTA升級方法,所述可穿戴設備的OTA升級方法,包括:
從伺服器端獲取系統版本配置文件;
獲取本地系統版本信息;
根據當前系統版本信息從所述系統版本配置文件中獲取對應的差分文件;
執行所述差分文件對本地系統進行版本升級。
可選的,所述系統版本配置文件,包括:
各個差分文件的版本信息、存儲地址以及校驗碼。
可選的,所述系統版本配置文件為xml文件。
可選的,所述根據當前系統版本信息從所述系統版本配置文件中獲取對應的差分文件,包括:
根據當前系統版本信息中的版本號,從所述系統版本配置文件中獲取對應所述版本號的差分文件。
可選的,在所述根據當前系統版本信息從所述系統版本配置文件中獲取對應的差分文件的步驟之後,包括:
判斷獲取的所述差分文件攜帶的校驗碼與所述系統版本配置文件中記錄的所述差分文件的校驗碼是否相同;
若是,則執行所述執行所述差分文件對本地系統進行版本升級的步驟。
可選的,所述執行所述差分文件對本地系統進行版本升級,包括:
採用recovery模式執行所述差分文件對本地系統進行版本升級。
可選的,所述伺服器端為空中下載OTA伺服器。
可選的,在所述從伺服器端獲取系統版本配置文件的步驟之前,包括:
獲取用於升級系統版本的升級包;
對所述升級包進行差分生成差分文件。
可選的,所述對所述升級包進行差分生成差分文件時,還包括:
對各個差分文件執行摘要算法計算校驗碼,所述差分文件攜帶計算出的校驗碼。
可選的,在所述對所述升級包進行差分生成差分文件的步驟之後,包括:
向伺服器端發送差分出的各個差分文件;
接收所述伺服器端反饋的各個差分文件的存儲地址;
記錄各個差分文件的版本信息、存儲地址以及校驗碼作為系統版本配置文件,並向所述伺服器端發送所述系統版本配置文件。
相應的,本申請還提供了一種可穿戴設備的OTA升級裝置,所述可穿戴設備的OTA升級裝置,包括:配置文件獲取單元、系統版本信息獲取單元、差分文件獲取單元以及版本升級單元;
所述配置文件獲取單元,用於從伺服器端獲取系統版本配置文件;
所述系統版本信息獲取單元,用於獲取本地系統版本信息;
所述差分文件獲取單元,用於根據當前系統版本信息從所述系統版本配置文件中獲取對應的差分文件;
所述版本升級單元,用於執行所述差分文件對本地系統進行版本升級。
與現有技術相比,本申請具有以下優點:
本申請提供的一種可穿戴設備的OTA升級方法以及一種可穿戴設備的OTA升級裝置,通過從伺服器端獲取系統版本配置文件;獲取本地系統版本信息;根據當前系統版本信息從所述系統版本配置文件中獲取對應的差分文件;執行所述差分文件對本地系統進行版本升級。所述技術方案解決了智能設備的當前系統版本與最高版本之間版本號相差較大時,需要進行多次下載和升級才能升級到最高版本的問題,降低了與伺服器端之間的交互時間,減少了升級耗時;比使用完整升級包進行系統版本升級時,使用的流量少,減少下載時的成本;且通過從系統版本配置文件中獲取對應的差分文件,減少了出錯率。
附圖說明
為了更清楚地說明本申請實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對於本領域普通技術人員來講,還可以根據這些附圖獲得其他的附圖。
圖1示出了根據本申請的實施例提供的可穿戴設備的OTA升級方法的流程圖;
圖2示出了根據本申請的實施例提供的對升級包進行差分生成差分文件的流程圖;
圖3示出了根據本申請的實施例提供的生成系統版本配置文件的流程圖;
圖4示出了根據本申請的實施例提供的判斷校驗碼的流程圖;
圖5示出了根據本申請的實施例提供的可穿戴設備的OTA升級裝置的示意圖。
具體實施方式
為了能夠更清楚地理解本申請的上述目的、特徵和優點,下面結合附圖和具體實施方式對本申請進行進一步的詳細描述。需要說明的是,在不衝突的情況下,本申請的實施例及實施例中的特徵可以相互組合。
在下面的描述中闡述了很多具體細節以便於充分理解本申請。但是,本申請能夠以很多不同於在此描述的其它方式來實施,本領域技術人員可以在不違背本申請內涵的情況下做類似推廣,因此,本申請不受下面公開的具體實施的限制。
本申請的實施例提供了一種可穿戴設備的OTA升級方法以及一種可穿戴設備的OTA升級裝置。在下面的實施例中逐一進行詳細說明。
目前OTA伺服器端配置系統版本升級文件時既可以配置升級系統版本的完整升級包,又可以配置差分文件。由於完整升級包的文件容量較大,一般有幾百兆,為了節省用戶下載時的成本,一般使用差分文件來進行升級,例如:初始版本為1.1版本,OTA伺服器配置的差分文件一般為:1.1版本至1.2版本,1.2版本至1.3版本,1.3版本至1.4版本,依次類推。由此可見,在現有的OTA升級過程中,若智能設備的當前系統版本與最高版本之間版本號相差較大時(例如:智能設備的當前系統版本為1.1版本,最高版本為1.4版本,在使用差分文件升級時需要先通過1.1版本至1.2版本的差分文件,升級到1.2版本後在通過1.2版本至1.3版本的差分文件升級到1.3版本直至升級到最高版本),需要進行多次下載和升級才能升級到最高版本,與伺服器端之間的交互時間較長,升級過程耗時較長,降低了用戶體驗,且在智能設備中指定系統版本升級的網絡路徑時,由於方式過於簡單,信息量少,無法進行差分文件的版本校驗,易出錯。針對這一問題,本申請的技術方案通過從伺服器端獲取系統版本配置文件;獲取本地系統版本信息;根據當前系統版本信息從所述系統版本配置文件中獲取對應的差分文件;執行所述差分文件對本地系統進行版本升級,從而實現了快速升級系統版本的功能。
在詳細描述本實施例的具體步驟之前,為了方便對本技術方案的理解,先對OTA作簡要說明。
OTA(Over-the-Air)中文譯名「空中下載」它是通過移動通信(GSM或CDMA)的空中接口對SIM卡數據及應用進行遠程管理的技術。空中接口可以採用WAP、GPRS、CDMA1X以及最為普及的短消息技術。OTA技術的應用,使得移動通信不但提供了移動化的語音和數據服務,而且還能夠提供移動化的新業務。這樣,應用及內容服務商可以不受平臺的局限,不斷開發出更具個性化的貼近用戶需求的服務,如信息點播、互動娛樂、位置服務以及銀行交易等。通過OTA空中下載技術,用戶只要進行簡單操作,就可以按照個人喜好把網絡所提供的各種業務菜單利用OTA機制下載到智能設備(例如:手機或可穿戴設備)中,並且還可以根據自己的意願定製具體業務。
OTA升級是指Android系統提供的標準軟體升級方式,它功能強大,可以無損失升級系統,主要手段是通過網絡(包括WIFI、3G)自動下載OTA升級包、自動升級,不局限,也支持通過下載OTA升級包到SD卡升級。是針對小屏幕,小存儲量的設備(典型的此類設備就是手機)而設計的可擴展其性能的基本平臺,在這個平臺上,可以通過第三方軟體商提供的程序實現目前計算機的很多常用功能,如電子郵件、文字處理、圖片瀏覽、動畫、資料的檢索等。
OTA基於客戶端/伺服器方式,伺服器端為運營商的後臺系統(客服中心、計費系統、應用伺服器等),若智能設備為手機則客戶端是SIM卡。運營商的後臺系統負責將服務請求發送給一個OTA網關,然後再由這個OTA網關把這些服務請求轉換成簡訊後發給一個簡訊服務中心(SMSC),最後再由這個簡訊中心把它們傳給服務區內的一個或多個SIM卡。
在OTA升級過程中,常使用差分文件(差分升級包)進行升級,差分文件是版本定向升級時使用的一種升級文件。系統根據檢測服務端和客戶端的系統版本的版本號來判斷是否有升級,如果有升級則採用差分文件來升級系統版本,顧名思義就是只升級差異部分,從而減少了升級帶來的流量。差分文件升級系統版本的好處一是無縫升級,對智能設備的使用沒有任何影響;二是方便快捷,不用連接計算機即可進行系統版本的升級;三是升級成本低,只升級差異部分不會帶來多餘的流量。
本申請的實施例提供了一種可穿戴設備的OTA升級方法。所述可穿戴設備的OTA升級方法實施例如下:
請參考圖1,其示出了根據本申請的實施例提供的可穿戴設備的OTA升級方法的流程圖。
所述可穿戴設備的OTA升級方法包括:
步驟S101,從伺服器端獲取系統版本配置文件。
在本實施例中,所述從伺服器端獲取系統版本配置文件,可以採用如下方式實現:當前可穿戴設備通過WIFI等無線通訊方式向所述伺服器端發送建立連接關係的請求,或者通過移動網際網路向所述伺服器端發送建立連接關係的請求,在接收到所述伺服器端反饋的建立連接的反饋信息後,當前可穿戴設備與所述伺服器端之間建立連接關係,並向所述伺服器端發送獲取系統版本配置文件的請求,從所述伺服器端獲取所述系統版本配置文件。
需要說明的是,由於本實施例的技術方案是可穿戴設備通過OTA升級系統版本的方法,所述與可穿戴設備建立連接的所述伺服器端為空中下載OTA伺服器。
在本實施例中,所述從伺服器端獲取系統版本配置文件,可以有兩種實現方式:一是,可穿戴設備在特定的時間間隔內,與所述伺服器端建立連接,確認空中下載OTA伺服器中更新了系統版本後,可穿戴設備主動從伺服器端獲取系統版本配置文件;二是,可穿戴設備在特定的時間間隔內,與所述伺服器端建立連接,確認空中下載OTA伺服器中更新了系統版本後,向用戶進行提示(在可穿戴設備的顯示界面上顯示提示信息),在可穿戴設備接收到用戶發起從伺服器端獲取系統版本配置文件的指令後,可穿戴設備從伺服器端獲取系統版本配置文件。
在本實施例中,所述系統版本配置文件,包括:各個差分文件的版本信息、存儲地址以及校驗碼。可以理解的,在所述系統版本配置文件中以各個差分文件為條目,分別記錄了各個差分文件的版本信息、存儲地址以及校驗碼。
在具體實施時,所述系統版本配置文件的格式為xml文件格式。
需要說明的是,xml(Extensible Markup Language)為可擴展標記語言,標準通用標記語言的子集,是一種用於標記電子文件使其具有結構性的標記語言。在電子計算機中,標記指計算機所能理解的信息符號,通過此種標記,計算機之間可以處理包含各種的信息比如文章等。它可以用來標記數據、定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。xml非常適合全球資訊網傳輸,提供統一的方法來描述和交換獨立於應用程式或供應商的結構化數據。是Internet環境中跨平臺的、依賴於內容的技術,也是當今處理分布式結構信息的有效工具。xml與Access,Oracle和SQL Server等資料庫不同,資料庫提供了更強有力的數據存儲和分析能力,xml僅僅是存儲數據。
例如:
需要說明的是,是xml文件的第一行,聲明這是一個xml文件;是指該xml的名稱;是指定義數據文件中的欄位,即元素的屬性,指定數據文件中的欄位的邏輯名稱,在""中的數據是指邏輯名稱,是指差分文件名,是指版本號,是指差分文件的存儲地址,是指差分文件的校驗碼;在中的是指該欄位中容納的數據,即:該欄位的取值。
例如:
F22FE311E157766F12068AB940FC1
中md5的取值為F22FE311E157766F12068AB940FC1。
由於本實施例的技術方案是通過差分文件(差分升級包)進行升級的,所以可穿戴設備在通過OTA升級系統版本前,需要先生成對應各個版本的差分文件,所以在執行步驟S101,在所述從伺服器端獲取系統版本配置文件之前,還需對系統版本的完整升級包進行差分生成差分文件,具體包括步驟S100-1至S100-2,下面結合附圖2作進一步說明。
請參考圖2,其示出了根據本申請的實施例提供的對升級包進行差分生成差分文件的流程圖。
所述對升級包進行差分生成差分文件,包括:
步驟S100-1,獲取用於升級系統版本的升級包。
在本實施例中,所述獲取用於升級系統版本的升級包,可以採用如下方式實現:獲取對應當前作業系統類型的版本號最高的系統版本的升級包。
需要說明的是,獲取的用於升級系統版本的升級包根據對應的作業系統類型的不同,至少包括:升級android系統版本的升級包以及升級ios系統版本的升級包。
為了在執行本步驟時,使獲取到的用於升級系統版本的升級包都是最新版本的升級包,本實施例的技術方案提供了一種優選實施方式,在優選方式下,按照一定時間周期,對發布升級系統版本的升級包的發行商進行採集,獲取最新版本的升級包。
例如:在每次google發布新的Android系統時候做一次信息採集,對android系統版本的升級包的採集周期參照google發布周期,可以為4-6個月。
需要說明的是,所述用於升級系統版本的升級包是指:使系統版本升級到最新版本的完成升級包,該包裡面包含的是完整的系統版本。
步驟S100-2,對所述升級包進行差分生成差分文件。
在本實施例中,所述對所述升級包進行差分生成差分文件,可以採用如下方式實現:根據現有的各個系統版本對所述升級包進行差分,將所述升級包差分為對應各個系統版本的差分文件。
需要說明的是,所述差分文件是指通過差分升級時使用的差分升級包,該包裡面只包含當前系統版本和最新系統版本(即:發行商已發行的版本號最高的系統版本)之間差異部分的文件。
可以理解的,差分文件只包含了當前系統版本需要升級的文件的差異部分,例如:若最新系統版本為V1.5,則在步驟S100-2中就是對版本號為V1.5的升級包進行差分,其中,若發行商在發布版本號為V1.5的系統版本之前,已經發布過系統版本號為V1.1、V1.2、V1.3以及V1.4的系統版本,則在步驟S100-2中就是將版本號為V1.5的升級包差分為V1.1-V1.5、V1.2-V1.5、V1.3-V1.5以及V1.4-V1.5的差分文件。
在具體實施時,所述對所述升級包進行差分生成差分文件,可以採用如下方式實現:將已發布系統版本的升級包(即:老系統版本的升級包)的源生代碼與最新系統版本的升級包的源生代碼進行比對,獲取兩個系統版本之間源生代碼的差異部分,並通過命令/build/tools/releasetools/ota_from_target_files i-ota_chafen.zip將所述差異部分作為兩個系統版本之間的差分文件。例如:將系統版本號為V1.3的升級包的源生代碼與系統版本號為V1.5的升級包的源生代碼進行比對,將系統版本號為V1.3的升級包的源生代碼與系統版本號為V1.5的升級包的源生代碼的差異部分作為V1.3-V1.5的差分文件。
需要說明的是,對升級包進行差分時,需要在src根目錄下執行製作差分文件的命令,必須在src根目錄下執行,因為ota_from_target_files這個腳本裡面寫定了相對路徑的引用文件。其中:-i是指定製作差分文件,ota_chafen.zip就是升級用的差分文件,這個腳本要在Android源碼的根目錄下執行。
為了使可穿戴設備在下載使用差分文件時,減少出錯的概率,本實施例的技術方案提供了一種優選實施方式,在優選方式下,在執行步驟S100-2對所述升級包進行差分生成差分文件時,還需生成能夠對差分文件進行版本驗證的校驗碼,具體包括如下步驟:對各個差分文件執行摘要算法計算校驗碼,所述差分文件攜帶計算出的校驗碼。
需要說明的是,所述摘要算法(Message Digest Algorithm)為計算機安全領域廣泛使用的一種散列函數,用以提供消息的完整性保護。在本實施例中,使用的是摘要算法第五版(MD5),用於確保信息傳輸完整一致。是計算機廣泛使用的雜湊算法之一(又譯摘要算法、哈希算法),主流程式語言普遍已有MD5實現。將數據(如漢字)運算為另一固定長度值,是雜湊算法的基礎原理,MD5的前身有MD2、MD3和MD4。MD5典型應用是對一段信息(Message)產生信息摘要,以防止被篡改。比如,在Unix下有很多軟體在下載的時候都有一個文件名相同,文件擴展名為.md5的文件,在這個文件中通常只有一行文本,大致結構如:MD5(tanajiya.tar.gz)=38b8c2c1093dd0fec383a9d9ac940515,是tanajiya.tar.gz文件的數字籤名。MD5將整個文件當作一個大文本信息,通過其不可逆的字符串變換算法,產生了這個唯一的MD5信息摘要。
需要說明的是,所述對升級包進行差分生成差分文件,可以在任意的智能設備或計算機中對升級包進行差分生成差分文件,即:在本地的智能設備中對升級包進行差分生成差分文件,所以在所述對所述升級包進行差分生成差分文件後,需要將生成的所述差分文件向伺服器端發送進行保存,並生成系統版本配置文件,使其他的設備在需要進行系統版本的升級時,可以使用生成差分文件,具體包括步驟S101-3至S101-5,下面結合附圖3作進一步說明。
請參考圖3,其示出了根據本申請的實施例提供的生成系統版本配置文件的流程圖。
所述生成系統版本配置文件,包括:
步驟S100-3,向伺服器端發送差分出的各個差分文件。
在本實施例中,所述向伺服器端發送差分出的各個差分文件,可以採用如下方式實現:當前可穿戴設備通過WIFI等無線通訊方式向所述伺服器端發送建立連接關係的請求,或者通過移動網際網路向所述伺服器端發送建立連接關係的請求,在接收到所述伺服器端反饋的建立連接的反饋信息後,當前可穿戴設備與所述伺服器端之間建立連接關係,並向所述伺服器端發送差分出的各個差分文件。
可以理解的,由於在發行商發布新的系統版本時,發行商已發布過若干數量的系統版本,所以在步驟S100-2中,生成的差分文件的數量可能會大於一,所以在本步驟中,是向所述伺服器端發送差分出的全部對應各個版本的差分文件。
例如:若最新系統版本為V1.5,則在步驟S100-2中就是對版本號為V1.5的升級包進行差分,其中,若發行商在發布版本號為V1.5的系統版本之前,已經發布過系統版本號為V1.1、V1.2、V1.3以及V1.4的系統版本,則在步驟S100-2中就是將版本號為V1.5的升級包差分為V1.1-V1.5、V1.2-V1.5、V1.3-V1.5以及V1.4-V1.5的差分文件,所以在本步驟中,是向所述伺服器端發送V1.1-V1.5、V1.2-V1.5、V1.3-V1.5以及V1.4-V1.5的差分文件。
為了降低發送各個差分文件時的流量消耗,本實施例的技術方案提供了一種優選實施方式,在優選方式下,在可穿戴設備向所述伺服器端發送各個差分文件前,還需將各個差分文件進行壓縮,減少差分文件的數據大小。
步驟S100-4,接收所述伺服器端反饋的各個差分文件的存儲地址。
在本實施例中,所述接收所述伺服器端反饋的各個差分文件的存儲地址,可以採用如下方式實現:當前可穿戴設備通過WIFI等無線通訊方式向所述伺服器端發送建立連接關係的請求,或者通過移動網際網路向所述伺服器端發送建立連接關係的請求,在接收到所述伺服器端反饋的建立連接的反饋信息後,接收所述伺服器端發送的接收到的各個差分文件的存儲地址。
步驟S100-5,記錄各個差分文件的版本信息、存儲地址以及校驗碼作為系統版本配置文件,並向所述伺服器端發送所述系統版本配置文件。
在本實施例中,所述記錄各個差分文件的版本信息、存儲地址以及校驗碼作為系統版本配置文件,可以採用如下方式實現:將每組差分文件的版本信息、所述伺服器端發送的差分文件的存儲地址以及差分文件的校驗碼,存儲在系統版本配置文件中。其中差分文件的版本信息是指:當前差分文件與最新系統版本的升級包的版本號,例如:V1.1-V1.5。
在具體實施時,所述系統版本配置文件的格式為xml文件格式。
例如:將V1.1-V1.5差分文件的版本信息、存儲地址以及校驗碼、V1.2-V1.5差分文件的版本信息、存儲地址以及校驗碼、V1.3-V1.5差分文件的版本信息、存儲地址以及校驗碼以及V1.4-V1.5差分文件的版本信息、存儲地址以及校驗碼記錄在所述系統版本配置文件。
在將生成的各個差分文件的版本信息、存儲地址以及校驗碼記錄在所述系統版本配置文件後,當前可穿戴設備通過WIFI等無線通訊方式向所述伺服器端發送建立連接關係的請求,或者通過移動網際網路向所述伺服器端發送建立連接關係的請求,在接收到所述伺服器端反饋的建立連接的反饋信息後,當前可穿戴設備與所述伺服器端之間建立連接關係,並向所述伺服器端發送所述系統版本配置文件。
步驟S103,獲取當前系統版本信息。
在本實施例中,所述獲取當前系統版本信息,可以採用如下方式實現:通過android.os.Build.VERSION.RELEASE獲取當前可穿戴設備的當前系統版本信息中的版本號信息。
步驟S105,根據當前系統版本信息從所述系統版本配置文件中獲取對應的差分文件。
在本實施例中,所述根據當前系統版本信息從所述系統版本配置文件中獲取對應的差分文件,可以採用如下方式實現:根據當前系統版本信息中的版本號,從所述系統版本配置文件中獲取對應所述版本號的差分文件。
在具體實施時,可穿戴設備從本地獲取當前系統版本信息中的版本號信息後,從已接收的所述系統版本配置文件中確定與可穿戴設備的系統版本信息中的版本號相同的差分文件,所述可穿戴設備再從所述系統版本配置文件中記錄該差分文件的條目中獲取所述差分文件的存儲地址,並通過所述存儲地址訪問伺服器端獲取所述差分文件。
可以理解的,由於差分文件只包含了兩個版本間發生變化的差異部分,所以只能將對應差分文件版本的系統進行升級,例如:差分文件為V1.2-1.5,只包含了版本V1.5相對版本V1.2發生變化的差異部分,若要通過差分文件差分文件為V1.2-1.5實現系統版本的升級,可穿戴設備的系統版本必須為V1.2,升級完成後可穿戴設備的系統版本就變為V1.5。
由於差分文件的版本數量多,本實施例的技術方案提供了一種優選實施方式,在優選方式下,在根據當前系統版本信息中的版本號,從所述系統版本配置文件中獲取對應所述版本號的差分文件之前,還需判斷當前系統版本的版本號是否小於所述系統版本配置文件中記錄的差分文件的最大版本號,若是則執行在根據當前系統版本信息中的版本號,從所述系統版本配置文件中獲取對應所述版本號的差分文件的步驟;若否,則結束可穿戴設備的OTA升級過程。
例如:所述系統版本配置文件中記錄的差分文件的版本號為vi-j,i和j的取值為1,2,3…,當前系統版本信息中的版本號為vn,則在判斷版本號是先將vn與最高版本的版本號vj進行比對判斷vn是否小於vj,若是,則獲取vi與vn數值相同的vi-j。
為了使可穿戴設備在下載使用差分文件時,減少出錯的概率,本實施例的技術方案提供了一種優選實施方式,在優選方式下,在執行步驟S105根據當前系統版本信息從所述系統版本配置文件中獲取對應的差分文件之後,還需判斷獲取的所述差分文件的校驗碼是否正確,具體包括步驟S106-1至S106-2,下面結合附圖4作進一步說明。
請參考圖4,其示出了根據本申請的實施例提供的判斷校驗碼的流程圖。
所述判斷校驗碼,包括:
步驟S106-1,判斷獲取的所述差分文件攜帶的校驗碼與所述系統版本配置文件中記錄的所述差分文件的校驗碼是否相同。
步驟S106-2,若是,則執行所述執行所述差分文件對本地系統進行版本升級的步驟。
在本步驟中,接收步驟S106-1中的判斷結果,若獲取的所述差分文件攜帶的校驗碼與所述系統版本配置文件中記錄的所述差分文件的校驗碼相同,則進入步驟S107執行所述差分文件對本地系統進行版本升級。
步驟S107,執行所述差分文件對本地系統進行版本升級。
在本實施例中,所述執行所述差分文件對本地系統進行版本升級,可以採用如下方式實現:採用recovery模式執行所述差分文件對本地系統進行版本升級。
需要說明的是,recovery模式指的是一種可以對安卓機內部的數據或系統進行修改的模式(類似於windows PE或DOS)。在這個模式下可以刷入新的安卓系統,或者對已有的系統進行備份或升級,也可以在此恢復出廠設置。可以通過這個恢復模式界面刷入或者備份安卓系統,由於recovery版本更新較快,老版本只有三個選項,因此無法備份系統,也只能通過一個叫做update.zip文件進入系統升級。
在具體實施時,在recovery模式下,執行所述差分文件對本地系統進行版本升級,是通過所述差分文件中的updater-script對本地系統進行版本升級。該腳本位於/META-INFO/com/google/android/目錄下,是製作差分文件的時候生成的。
在上述的實施例中,提供了一種可穿戴設備的OTA升級方法,與上述可穿戴設備的OTA升級方法相對應的,本申請還提供了一種可穿戴設備的OTA升級裝置。由於裝置的實施例基本相似於方法的實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。下述描述的裝置實施例僅僅是示意性的。所述可穿戴設備的OTA升級裝置實施例如下:
請參考圖5,其示出了根據本申請的實施例提供的可穿戴設備的OTA升級裝置的示意圖。
所述可穿戴設備的OTA升級裝置,包括:配置文件獲取單元501、系統版本信息獲取單元503、差分文件獲取單元505以及版本升級單元507;
所述配置文件獲取單元501,用於從伺服器端獲取系統版本配置文件;
所述系統版本信息獲取單元503,用於獲取本地系統版本信息;
所述差分文件獲取單元505,用於根據當前系統版本信息從所述系統版本配置文件中獲取對應的差分文件;
所述版本升級單元507,用於執行所述差分文件對本地系統進行版本升級。
可選的,所述配置文件獲取單元501,從伺服器端獲取的所述系統版本配置文件,包括:各個差分文件的版本信息、存儲地址以及校驗碼。
可選的,所述配置文件獲取單元501,從伺服器端獲取的所述系統版本配置文件為xml文件。
可選的,所述差分文件獲取單元505,具體用於根據當前系統版本信息中的版本號,從所述系統版本配置文件中獲取對應所述版本號的差分文件。
可選的,所述的可穿戴設備的OTA升級裝置,還包括:校驗碼判斷單元以及版本升級觸發單元;
所述校驗碼判斷單元,用於在所述根據當前系統版本信息從所述系統版本配置文件中獲取對應的差分文件之後,判斷獲取的所述差分文件攜帶的校驗碼與所述系統版本配置文件中記錄的所述差分文件的校驗碼是否相同;
所述版本升級觸發單元,用於接收所述校驗碼判斷單元的判斷結果,若是,則觸發所述版本升級單元507。
可選的,所述版本升級單元507,具體用於採用recovery模式執行所述差分文件對本地系統進行版本升級。
可選的,所述配置文件獲取單元501,用於從空中下載OTA伺服器獲取系統版本配置文件。
可選的,所述的可穿戴設備的OTA升級裝置,還包括:升級包獲取單元以及差分單元;
所述升級包獲取單元,用於在所述從伺服器端獲取系統版本配置文件之前,獲取用於升級系統版本的升級包;
所述差分單元,用於對所述升級包進行差分生成差分文件。
可選的,所述差分單元,還包括:校驗碼計算子單元;
所述校驗碼計算子單元,用於所述對所述升級包進行差分生成差分文件時,對各個差分文件執行摘要算法計算校驗碼,所述差分文件攜帶計算出的校驗碼。
可選的,所述的可穿戴設備的OTA升級裝置,還包括:差分文件發送單元、存儲地址接收單元以及系統版本配置文件生成單元;
所述差分文件發送單元,用於在所述對所述升級包進行差分生成差分文件之後,向伺服器端發送差分出的各個差分文件;
所述存儲地址接收單元,用於接收所述伺服器端反饋的各個差分文件的存儲地址;
所述系統版本配置文件生成單元,用於記錄各個差分文件的版本信息、存儲地址以及校驗碼作為系統版本配置文件,並向所述伺服器端發送所述系統版本配置文件。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出接口、網絡接口和內存。
內存可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易失性內存等形式,如只讀存儲器(ROM)或快閃記憶體(flash RAM)。內存是計算機可讀介質的示例。
1、計算機可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現信息存儲。信息可以是計算機可讀指令、數據結構、程序的模塊或其他數據。計算機的存儲介質的例子包括,但不限於相變內存(PRAM)、靜態隨機存取存儲器(SRAM)、動態隨機存取存儲器(DRAM)、其他類型的隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、快閃記憶體或其他內存技術、只讀光碟只讀存儲器(CD-ROM)、數字多功能光碟(DVD)或其他光學存儲、磁盒式磁帶,磁帶磁磁碟存儲或其他磁性存儲設備或任何其他非傳輸介質,可用於存儲可以被計算設備訪問的信息。按照本文中的界定,計算機可讀介質不包括非暫存電腦可讀媒體(transitory media),如調製的數據信號和載波。
2、本領域技術人員應明白,本申請的實施例可提供為方法、系統或電腦程式產品。因此,本申請可採用完全硬體實施例、完全軟體實施例或結合軟體和硬體方面的實施例的形式。而且,本申請可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器、CD-ROM、光學存儲器等)上實施的電腦程式產品的形式。
本申請雖然以較佳實施例公開如上,但其並不是用來限定本申請,任何本領域技術人員在不脫離本申請的精神和範圍內,都可以做出可能的變動和修改,因此本申請的保護範圍應當以本申請權利要求所界定的範圍為準。