一種系統(tǒng)升級方法和裝置的制造方法【專利摘要】本發(fā)明實施例涉及計算機
技術(shù)領(lǐng)域:
,尤其涉及一種系統(tǒng)升級方法和裝置,用以在系統(tǒng)升級包所存儲的設(shè)備被加密時進行系統(tǒng)升級。本發(fā)明實施例中,在進入recovery模式的過程中,且在確定存儲系統(tǒng)升級包的物理設(shè)備處于加密狀態(tài)時,創(chuàng)建與物理設(shè)備對應(yīng)的邏輯設(shè)備,將recovery分區(qū)表中存儲系統(tǒng)升級包設(shè)備標(biāo)識由物理設(shè)備的標(biāo)識替換為邏輯設(shè)備的標(biāo)識,如此,可在成功進入recovery模式時,掛載邏輯設(shè)備,從而避免了現(xiàn)有技術(shù)中需要直接掛載被加密的物理設(shè)備的問題,且由于邏輯設(shè)備未被加密,因此可成功掛載該邏輯設(shè)備,之后可并通過邏輯設(shè)備調(diào)用解密接口訪問物理設(shè)備上存儲的系統(tǒng)升級包?!緦@f明】_種系統(tǒng)升級方法和裝置
技術(shù)領(lǐng)域:
[0001]本發(fā)明實施例涉及計算機
技術(shù)領(lǐng)域:
,尤其涉及一種系統(tǒng)升級方法和裝置?!?br>背景技術(shù):
】[0002]隨著通信技術(shù)的不斷發(fā)展,電腦、智能手機等終端已經(jīng)越來越普及。終端中內(nèi)置的系統(tǒng)通常為開源系統(tǒng),由于使用需求的不斷改變,同一款終端內(nèi)置的系統(tǒng)往往需要不斷升級。比如,一款智能手機出貨時的固件操作系統(tǒng)為安卓(Android)4.4,后續(xù)升級到Android5.0甚至更高版本。[0003]系統(tǒng)升級有多種形式,最常見的是空中下載技術(shù)(Over—the—AirTechnology,簡稱OTA)升級。但是為了增加Android終端設(shè)備的安全性,自Android4.4之后引入了設(shè)備加密功能。比如對Android終端上的用戶數(shù)據(jù)(userdata)分區(qū)進行加密,和/或?qū)K端的快閃存儲卡(TransFLash,簡稱T卡)進行加密。若userdata分區(qū)被加密,且此時系統(tǒng)升級包位于被加密的userdata分區(qū),此時由于被加密的userdata分區(qū)無法被執(zhí)行掛載操作,因此也無法運行位于被加密的userdata分區(qū)上的系統(tǒng)升級包,此時系統(tǒng)升級會失敗?!?br/>發(fā)明內(nèi)容】[0004]本發(fā)明實施例提供一種系統(tǒng)升級方法和裝置,用以在系統(tǒng)升級包所存儲的設(shè)備被加密時進行系統(tǒng)升級。[0005]本發(fā)明實施例提供一種系統(tǒng)升級方法,包括:[0006]在進入恢復(fù)recovery模式的過程中,且在確定存儲系統(tǒng)升級包的物理設(shè)備處于加密狀態(tài)時,創(chuàng)建與物理設(shè)備對應(yīng)的邏輯設(shè)備;[0007]將recovery分區(qū)表中存儲系統(tǒng)升級包設(shè)備標(biāo)識由物理設(shè)備的標(biāo)識替換為邏輯設(shè)備的標(biāo)識;[0008]在成功進入recovery模式時,掛載邏輯設(shè)備,并通過邏輯設(shè)備調(diào)用解密接口訪問物理設(shè)備上存儲的系統(tǒng)升級包。[0009]本發(fā)明實施例提供一種一種系統(tǒng)升級裝置,包括:[0010]創(chuàng)建單元,用于在進入恢復(fù)recovery模式的過程中,且在確定存儲系統(tǒng)升級包的物理設(shè)備處于加密狀態(tài)時,創(chuàng)建與物理設(shè)備對應(yīng)的邏輯設(shè)備;[0011]更新單元,用于將recovery分區(qū)表中存儲系統(tǒng)升級包設(shè)備標(biāo)識由物理設(shè)備的標(biāo)識替換為邏輯設(shè)備的標(biāo)識;[0012]升級單元,用于在成功進入recovery模式時,掛載邏輯設(shè)備,并通過邏輯設(shè)備調(diào)用解密接口訪問物理設(shè)備上存儲的系統(tǒng)升級包。[0013]本發(fā)明實施例中,在進入recovery模式的過程中,且在確定存儲系統(tǒng)升級包的物理設(shè)備處于加密狀態(tài)時,創(chuàng)建與物理設(shè)備對應(yīng)的邏輯設(shè)備,將recovery分區(qū)表中存儲系統(tǒng)升級包設(shè)備標(biāo)識由物理設(shè)備的標(biāo)識替換為邏輯設(shè)備的標(biāo)識,如此,可在成功進入recovery模式時,掛載邏輯設(shè)備,從而避免了現(xiàn)有技術(shù)中需要直接掛載被加密的物理設(shè)備的問題,且由于邏輯設(shè)備未被加密,因此可成功掛載該邏輯設(shè)備,之后可并通過邏輯設(shè)備調(diào)用解密接口訪問物理設(shè)備上存儲的系統(tǒng)升級包??梢?,通過本發(fā)明實施例所提供的方法,在系統(tǒng)升級包所存儲的物理設(shè)備處于加密狀態(tài)時,也可成功進行系統(tǒng)升級?!靖綀D說明】[0014]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡要介紹。[0015]圖1為本發(fā)明實施例適用的一種終端的結(jié)構(gòu)示意圖;[0016]圖2為本發(fā)明實施例提供的一種系統(tǒng)升級方法流程示意圖;[0017]圖2a為本發(fā)明實施例提供的另一種系統(tǒng)升級方法的流程示意圖;[0018]圖3為本發(fā)明實施例提供的一種系統(tǒng)升級裝置的結(jié)構(gòu)示意圖。【具體實施方式】[0019]為了使本發(fā)明的目的、技術(shù)方案及有益效果更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。[0020]本文中術(shù)語“和/或”,僅僅是一種描述關(guān)聯(lián)對象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,六和/或B,可以表示:單獨存在A,同時存在A和B,單獨存在B這三種情況。另外,本文中字符,一般表示前后關(guān)聯(lián)對象是一種“或”的關(guān)系。[0021]本發(fā)明實施例中,術(shù)語“終端”可為手機終端、個人計算機(personalcomputer,簡稱PC)終端、平板終端等。終端中的系統(tǒng)可包括多種,可選地,本發(fā)明實施例中以終端中的系統(tǒng)為Android系統(tǒng)為例進行介紹。本發(fā)明實施例中提供一種用于升級終端所安裝的系統(tǒng)的方法和裝置。系統(tǒng)升級包括多種,比如通過recovery實現(xiàn)的OTA升級,以及系統(tǒng)平臺廠商提供的通過升級工具進行系統(tǒng)升級的方法,本發(fā)明實施例適用于多種系統(tǒng)升級環(huán)境,為介紹方便,以下以本發(fā)明實施例適用于OTA升級為例進行介紹。[0022]本發(fā)明實施例中,物理設(shè)備(physicaldevice)是指硬盤和系統(tǒng)所掛接的各種設(shè)備,物理設(shè)備是實際存在的。邏輯設(shè)備為能進行邏輯運算(與,或,非等)的設(shè)備,是由邏輯元件構(gòu)成的。[0023]本發(fā)明實施例中物理設(shè)備可能處于加密狀態(tài),也可能處于未加密狀態(tài)。圖1示例性示出了本發(fā)明實施例適用的一種終端的結(jié)構(gòu)示意圖,如圖1所示,終端的物理設(shè)備可為userdata分區(qū)、T卡或者緩存(cache)分區(qū)。Android6.0開啟了強制加密,即終端首次開機后就會將userdata分區(qū)強制加密。而T卡新增被采用(adopted)功能,進行adopted之后的T卡變?yōu)榧用艿膃xt4格式的內(nèi)置存儲設(shè)備,即該T卡只能用于該T卡對應(yīng)的終端,若使用其他終端來訪問該T卡時,該T卡是處于加密狀態(tài)的。[0024]一種解決方案為,當(dāng)系統(tǒng)執(zhí)行OTA在線升級,且系統(tǒng)升級包位于userdata分區(qū)時,終端在線成功下載系統(tǒng)升級包之后,自動重啟,并進入recovery模式,終端在重啟的過程中,終端調(diào)用加密算法(uncrypt)服務(wù)將存放在處于加密狀態(tài)的userdata分區(qū)的升級包映射到未加密的cache分區(qū),并產(chǎn)生一個塊地圖(block.map),block.map記錄了處于加密狀態(tài)的物理設(shè)備的的設(shè)備名、設(shè)備大小,以及系統(tǒng)升級包所在的塊的標(biāo)識。終端直接通過塊(block)操作訪問塊的標(biāo)識對應(yīng)的塊,從塊的標(biāo)識所對應(yīng)的塊上獲取系統(tǒng)升級包,進而運行該系統(tǒng)升級包,實現(xiàn)系統(tǒng)升級。[0025]上述解決方案中,不需要掛載處于加密狀態(tài)的物理設(shè)備,但是僅僅用于當(dāng)系統(tǒng)執(zhí)行OTA在線升級,且系統(tǒng)升級包位于userdata分區(qū)時的情況下。如果通過人工方式下載系統(tǒng)升級包,且通過人工方式進入recovery模式,則上述解決方案無法成功生成block,map,進而無法成功獲取升級包所在的塊的標(biāo)識,無法成功進行系統(tǒng)升級?;蛘呱壈⑽次挥趗serdata分區(qū),而是位于其它分區(qū),比如T卡,此時如果T卡處于加密狀態(tài),上述解決方案也無法成功運行。[0026]針對上述問題,本發(fā)明實施例提供一種系統(tǒng)升級方案,在進入recovery模式的過程中,且在確定存儲系統(tǒng)升級包的物理設(shè)備處于加密狀態(tài)時,創(chuàng)建與物理設(shè)備對應(yīng)的邏輯設(shè)備,將recovery分區(qū)表中存儲系統(tǒng)升級包設(shè)備標(biāo)識由物理設(shè)備的標(biāo)識替換為邏輯設(shè)備的標(biāo)識,如此,可在成功進入recovery模式時,掛載邏輯設(shè)備,從而避免了現(xiàn)有技術(shù)中需要直接掛載被加密的物理設(shè)備的問題,且由于邏輯設(shè)備未被加密,因此可成功掛載該邏輯設(shè)備,之后可并通過邏輯設(shè)備調(diào)用解密接口訪問物理設(shè)備上存儲的系統(tǒng)升級包??梢姡ㄟ^本發(fā)明實施例所提供的方法,在系統(tǒng)升級包所位于的物理設(shè)備處于加密狀態(tài)時,也可成功進行系統(tǒng)升級。且本發(fā)明實施例所提供的方案不限定使用何種方式獲取系統(tǒng)升級包,比如通過在線、離線或者人工的方式獲取系統(tǒng)升級包等,均可使用本發(fā)明實施例提供的方案。另外,本發(fā)明實施例所提供的方案也不限定物理設(shè)備具體為userdata分區(qū),比如,本發(fā)明實施例所提供的方案中,系統(tǒng)升級包可位于終端的任一個物理設(shè)備中,比如可位于userdata分區(qū)、T卡或者cache中。[0027]圖2示例性示出了本發(fā)明實施例提供的一種系統(tǒng)升級方法的流程示意圖。[0028]基于上述內(nèi)容,本發(fā)明實施例提供的一種系統(tǒng)升級方法,如圖2所示,該方法包括:[0029]步驟201,在進入recovery模式的過程中,且在確定存儲系統(tǒng)升級包的物理設(shè)備處于加密狀態(tài)時,創(chuàng)建與物理設(shè)備對應(yīng)的邏輯設(shè)備;[0030]步驟202,將recovery分區(qū)表中存儲系統(tǒng)升級包設(shè)備標(biāo)識由物理設(shè)備的標(biāo)識替換為邏輯設(shè)備的標(biāo)識;[0031]步驟203,在成功進入recovery模式時,掛載邏輯設(shè)備,并通過邏輯設(shè)備調(diào)用解密接口訪問物理設(shè)備上存儲的系統(tǒng)升級包。[0032]可選地,在上述步驟201之前,獲取系統(tǒng)升級包。比如,可從網(wǎng)絡(luò)上、從系統(tǒng)升級包的提供者的運營網(wǎng)站上,或者從其它終端獲取系統(tǒng)升級包,具體方式多種多樣,比如通過在線、離線或者人工的方式獲取系統(tǒng)升級包等。當(dāng)成功獲取系統(tǒng)升級包之后,終端重啟,在重啟之后開始進入recovery模式,并執(zhí)行步驟201。[0033]本發(fā)明實施例中,在上述步驟201之前,還可獲取系統(tǒng)數(shù)據(jù)包的相關(guān)信息,比如系統(tǒng)數(shù)據(jù)包所存儲的物理設(shè)備的標(biāo)識、物理設(shè)備處于加密狀態(tài)或物理設(shè)備處于未加密狀態(tài)等等信息。[0034]可選地,在進入恢復(fù)recovery模式的過程中,且在確定存儲系統(tǒng)升級包的物理設(shè)備處于加密狀態(tài)時,創(chuàng)建與物理設(shè)備對應(yīng)的邏輯設(shè)備,包括:在進入恢復(fù)recovery模式的過程中,且在確定需要執(zhí)行OTA升級操作、且存儲系統(tǒng)升級包的物理設(shè)備處于加密狀態(tài)時,創(chuàng)建與物理設(shè)備對應(yīng)的邏輯設(shè)備。[0035]具體來說,recovery模式下有多種操作情況,不同的操作情況可對應(yīng)不同的操作流程,因此,可選地,終端進入recovery模式之后,確定是否需要執(zhí)行OTA升級操作,若需要,則判斷存儲系統(tǒng)升級包的物理設(shè)備處于加密狀態(tài),之后再執(zhí)行上述步驟201至步驟203的一系列操作。如此,可避免每次進入recovery模式均進行邏輯設(shè)備的創(chuàng)建操作,提高了用戶感受。[0036]可選地,終端通過以下方式確定存儲系統(tǒng)升級包的物理設(shè)備處于加密狀態(tài):[0037]確定存儲系統(tǒng)升級包的物理設(shè)備的標(biāo)識;獲取用于指示物理設(shè)備的標(biāo)識對應(yīng)的物理設(shè)備是否處于加密狀態(tài)的指示信息,用于指示物理設(shè)備是否處于加密狀態(tài)的指示信息可為物理設(shè)備的屬性信息??蛇x地,獲取系統(tǒng)升級包的存儲路徑,之后根據(jù)存儲路徑確定存儲系統(tǒng)升級包的物理設(shè)備的標(biāo)識。具體實施中,可通過一些分區(qū)或者存儲區(qū)的信息確定出系統(tǒng)升級包的存儲路徑,以及用于指示物理設(shè)備是否處于加密狀態(tài)的指示信息等等信息。[0038]可選地,Recovery分區(qū)表中記錄有物理設(shè)備的設(shè)備標(biāo)識、物流設(shè)備的類型、該物理設(shè)備的掛載點,以及該物理設(shè)備的掛載參數(shù)。物理設(shè)備的設(shè)備標(biāo)識可為該物理設(shè)備的名稱??蓮膔ecovery分區(qū)表中確定出系統(tǒng)升級包所存儲的物理設(shè)備的標(biāo)識。[0039]具體實施中,終端在第一次開機時,終端會判斷終端的各個設(shè)備是否需加密。第一開機具體是指終端在使用工廠刷機包升級后或執(zhí)行恢復(fù)出廠設(shè)置之后的第一次開機。以終端的userdata分區(qū)為例來說,終端在第一次開機時,會判斷userdata分區(qū)的加密配置情況,userdata分區(qū)的加密配置情況為對userdata分區(qū)強制加密、加密或者不加密等等。如果userdata分區(qū)的加密配置情況為對userdata分區(qū)強制加密,則在終端第一次開機時會將userdata分區(qū)進行加密處理;如果userdata分區(qū)的加密配置情況為加密,則用戶可自行通過終端上的設(shè)置功能對userdata分區(qū)加密。再以終端的T卡為例進行說明,當(dāng)終端監(jiān)聽到有T卡插入時,會彈出對話框,該對話框用于讓用戶選擇T卡的存在形式,比如可為便攜式設(shè)備,還是內(nèi)部存儲設(shè)備,如果用戶選擇T卡的存在形式為內(nèi)部存儲設(shè)備,則終端將T卡格式化為加密的內(nèi)置設(shè)備。[0040]進一步,終端在判斷到各個需要加密的設(shè)備加密成功時,則將加密的設(shè)備標(biāo)識,以及用于指示物理設(shè)備是否處于加密狀態(tài)的指示信息存儲到某個分區(qū)中,比如misc分區(qū)上。如果之后對該加密的設(shè)備進行了解密操作,則需要更新用于指示物理設(shè)備是否處于加密狀態(tài)的指示信息。[0041]可選地,重啟之后開始進入recovery模式,并啟動初始(init)進程,此時還未成功進入recovery模式,可稱為recovery初始化過程,啟動init進程之后,判斷存儲系統(tǒng)升級包的物理設(shè)備是否處于加密狀態(tài)。[0042]可選地,若上述步驟201中,在進入recovery模式的過程中,且在確定存儲系統(tǒng)升級包的物理設(shè)備處于未加密狀態(tài)時,直接在進入recovery模式時,掛載物理設(shè)備,并訪問物理設(shè)備上存儲的系統(tǒng)升級包,進行系統(tǒng)升級。[0043]結(jié)合具體的進程來進行說明,可選地,重啟進入recovery模式之后,進入第一進程,通常,第一進程可以為init進程,該第一進程也可稱為主進程。一個進程中包括多個服務(wù),每個服務(wù)可執(zhí)行一項命令,比如,本發(fā)明實施例中存在一個服務(wù),該服務(wù)可進行監(jiān)聽,當(dāng)監(jiān)聽到滿足觸發(fā)條件時,觸發(fā)第二進程的啟動并通知第二進程創(chuàng)建邏輯設(shè)備。觸發(fā)條件為確定存儲系統(tǒng)升級包的物理設(shè)備處于加密狀態(tài)。當(dāng)監(jiān)聽到不滿足觸發(fā)條件時,即確定存儲系統(tǒng)升級包的物理設(shè)備處于未加密狀態(tài)時,直接進入recovery模式,并掛載物理設(shè)備,并訪問物理設(shè)備上存儲的系統(tǒng)升級包,進行系統(tǒng)升級。[0044]可選地,本發(fā)明實施例中,運行第一進程,在第一進程中的服務(wù)在監(jiān)聽到滿足觸發(fā)條件時,觸發(fā)第二進程的啟動并通知第二進程創(chuàng)建邏輯設(shè)備;觸發(fā)條件為確定存儲系統(tǒng)升級包的物理設(shè)備處于加密狀態(tài);在第二進程接收到創(chuàng)建邏輯設(shè)備的命令后,在第二進程中創(chuàng)建與物理設(shè)備對應(yīng)的邏輯設(shè)備??蛇x地,第二進程可為void進程。[0045]基于上述論述,為了更清楚介紹上述方法流程,本發(fā)明實施例再提供一個具體示例。圖2a示例性示出了本發(fā)明實施例提供的另一種系統(tǒng)升級方法的流程示意圖,如圖2a所示:[0046]步驟2101,終端下載了系統(tǒng)升級包之后,將該系統(tǒng)升級包存放于物理設(shè)備中。之后終端重啟,并進入recovery模式。重啟進入recovery模式的方式有多種,比如用戶在終端的關(guān)機狀態(tài)下,按下組合鍵(比如音量下+電源鍵),此時終端進行重啟并進入recovery模式。或者另一種方式,在線方式,比如選擇終端的設(shè)置命令中的恢復(fù)出廠設(shè)置或者系統(tǒng)升級菜單,此時終端會自動重啟并進入:recovery模式。[0047]步驟2102,終端重啟,此時,啟動開機引導(dǎo)程序bootloader判斷到此次終端重啟的原因為進入recovery模式,則終端啟動recovery模式的第一進程,第一進程可為init進程,此時還未成功進入recovery模式,啟動init進程之后,獲取系統(tǒng)升級包的存儲路徑,且獲取系統(tǒng)升級包所在的物理設(shè)備的標(biāo)識,可選地,從記錄升級路徑及設(shè)備加密狀態(tài)信息的分區(qū)確定出該物理設(shè)備是否處于加密狀態(tài)。[0048]步驟2103,確定該物理設(shè)備是否處于加密狀態(tài),若處于未加密狀態(tài),則執(zhí)行步驟2104;若處于加密狀態(tài),則執(zhí)行步驟2105;[0049]步驟2104,若確定該物理設(shè)備處于未加密狀態(tài),則在成功進入recovery模式之后,確定需要執(zhí)行系統(tǒng)升級操作,則掛載物理設(shè)備,并訪問物理設(shè)備上存儲的系統(tǒng)升級包,進行系統(tǒng)升級。[0050]步驟2105,若確定該物理設(shè)備處于加密狀態(tài),且確定需要執(zhí)行系統(tǒng)升級操作,則init進程中開啟觸發(fā)服務(wù)啟動的觸發(fā)條件,此時該服務(wù)用于第二進程的啟動并通知第二進程創(chuàng)建邏輯設(shè)備,當(dāng)觸發(fā)條件滿足時,開啟該服務(wù),從而開啟第二進程??蛇x地,recovery流程中還創(chuàng)建有一個監(jiān)聽服務(wù),該監(jiān)聽服務(wù)用于監(jiān)聽第二進程是否成功創(chuàng)建邏輯設(shè)備。在進入第二進程之后,該監(jiān)聽服務(wù)即開啟。[0051]在第二進程中,通過調(diào)用一系列的函數(shù)創(chuàng)建邏輯設(shè)備,并且將邏輯設(shè)備與物理設(shè)備關(guān)聯(lián)起來。[0052]步驟2106,ReCOVery流程中的監(jiān)聽服務(wù)監(jiān)聽到第二進程已經(jīng)成功建立邏輯設(shè)備,且已經(jīng)建立邏輯設(shè)備與物理設(shè)備的對應(yīng)關(guān)系,之后,可選地,在recovery模式下還創(chuàng)建一個線程,啟動該線程,將recovery分區(qū)表中該物理設(shè)備的標(biāo)識替換為邏輯設(shè)備的標(biāo)識。可選地,物理設(shè)備的標(biāo)識可為物理設(shè)備的設(shè)備名,邏輯設(shè)備的標(biāo)識可為邏輯設(shè)備的設(shè)備名。[0053]步驟2107,成功進入recovery模式,掛載邏輯設(shè)備,并通過邏輯設(shè)備調(diào)用解密接口訪問物理設(shè)備上存儲的系統(tǒng)升級包。[0054]可選地,解密接口為對物理設(shè)備進行解密的算法;通過邏輯設(shè)備調(diào)用解密接口訪問物理設(shè)備上存儲的系統(tǒng)升級包,包括:通過邏輯設(shè)備調(diào)用解密接口,對物理設(shè)備進行解密;讀取解密后的物理設(shè)備中存儲的系統(tǒng)升級包。[0055]具體來說,邏輯設(shè)備中包括一系列的邏輯算法,可選地,將解密算法封裝為解密接口。可選地,本發(fā)明實施例中對于設(shè)備的加密算法,以及與加密算法對應(yīng)的解密算法都是預(yù)設(shè)的,因此,終端可以從預(yù)設(shè)的信息中獲取物理設(shè)備的加密算法對應(yīng)的解密算法,之后將該解密算法封裝為該邏輯設(shè)備中的解密接口。[0056]可選地,通過邏輯設(shè)備調(diào)用加解密接口訪問物理設(shè)備上存儲的系統(tǒng)升級包,包括:通過邏輯設(shè)備調(diào)用底層核心(kernel)的解密接口訪問物理設(shè)備上存儲的系統(tǒng)升級包。[0057]可選地,本發(fā)明實施例中有多種方式創(chuàng)建邏輯設(shè)備,下面介紹一種可選地的實施方式。該可選地實施方式基于磁盤映射(devicemapper,簡稱dm)機制。[°°58]devicemapper體現(xiàn)了在Linux內(nèi)核設(shè)計中策略和機制分離的原則,將任何和策略相關(guān)的工作放到用戶空間完成,內(nèi)核中主要提供完成這些策略所需要的機制。devicemapper用戶空間相關(guān)部分主要負(fù)責(zé)配置具體的策略和控制邏輯,比如邏輯設(shè)備和哪些物理設(shè)備建立映射,怎么建立這些映射關(guān)系等等,而具體過濾和重定向輸入/輸出(Input/Output,簡稱I/O)請求的工作由內(nèi)核中相關(guān)代碼完成。因此整個devicemapper機制由兩部分組成一內(nèi)核空間的devicemapper驅(qū)動、用戶空間的devicemapper庫連同它提供的創(chuàng)建邏輯設(shè)備的工具。[0059]創(chuàng)建邏輯設(shè)備時,首先打開內(nèi)核空間的devicemapper驅(qū)動,用于具體的用戶空間請求的具體實現(xiàn)。之后創(chuàng)建devicemapper設(shè)備,即把命令參數(shù)通過1ctl告訴內(nèi)核。第三,獲取devicemapper設(shè)備的狀態(tài)及devicemapper設(shè)備所支持的功能(target);具體來說,devicemapper設(shè)備的狀態(tài)可為版本號一類的參數(shù),也就是說,確定devicemapper設(shè)備的版本號是否支持創(chuàng)建邏輯設(shè)備的相應(yīng)操作devicemapper設(shè)備所支持的功能(target)可為devicemapper設(shè)備對應(yīng)的加密解密(crypt)注冊項,即devicemapper設(shè)備是否具有解密功能。第四,設(shè)置crypt映射表,建立crypt和物理設(shè)備之間的關(guān)聯(lián),并把映射關(guān)系加載到devicemapper設(shè)備中;即創(chuàng)建一個映射表,用于使邏輯設(shè)備和物理設(shè)備之間建立映射關(guān)系,然后把這個映射表傳入內(nèi)核,讓內(nèi)核建立devicemapper設(shè)備對應(yīng)的磁盤映射表(DeviceMappertable,簡稱dm_table)結(jié)構(gòu),激活創(chuàng)建的邏輯設(shè)備。[0060]本發(fā)明實施例中,可選地,建立物理設(shè)備和邏輯設(shè)備的對應(yīng)關(guān)系可基于devicemapper機制進行建立,可選地,通過用戶空間層通過1ctl命令告訴內(nèi)核要執(zhí)行的操作,具體有內(nèi)核完成。[0061]從上述內(nèi)容可看出,本發(fā)明實施例中,在進入recovery模式的過程中,且在確定存儲系統(tǒng)升級包的物理設(shè)備處于加密狀態(tài)時,創(chuàng)建與物理設(shè)備對應(yīng)的邏輯設(shè)備,將recovery分區(qū)表中存儲系統(tǒng)升級包設(shè)備標(biāo)識由物理設(shè)備的標(biāo)識替換為邏輯設(shè)備的標(biāo)識,如此,可在成功進入recovery模式時,掛載邏輯設(shè)備,從而避免了現(xiàn)有技術(shù)中需要直接掛載被加密的物理設(shè)備的問題,且由于邏輯設(shè)備未被加密,因此可成功掛載該邏輯設(shè)備,之后可并通過邏輯設(shè)備調(diào)用解密接口訪問物理設(shè)備上存儲的系統(tǒng)升級包??梢?,通過本發(fā)明實施例所提供的方法,在系統(tǒng)升級包所存儲的物理設(shè)備處于加密狀態(tài)時,也可成功進行系統(tǒng)升級。[0062]圖3示例性示出了本發(fā)明實施例提供的一種系統(tǒng)升級裝置的結(jié)構(gòu)示意圖。[0063]基于相同構(gòu)思,本發(fā)明實施例提供一種系統(tǒng)升級裝置,用于執(zhí)行上述方法流程,如圖3所示,該裝置包括創(chuàng)建單元301、更新單元302和升級單元303:[0064]創(chuàng)建單元301,用于在進入恢復(fù)recovery模式的過程中,且在確定存儲系統(tǒng)升級包的物理設(shè)備處于加密狀態(tài)時,創(chuàng)建與物理設(shè)備對應(yīng)的邏輯設(shè)備;[0065]更新單元302,用于將recovery分區(qū)表中存儲系統(tǒng)升級包設(shè)備標(biāo)識由物理設(shè)備的標(biāo)識替換為邏輯設(shè)備的標(biāo)識;[ΟΟ??]升級單元303,用于在成功進入recovery模式時,掛載邏輯設(shè)備,并通過邏輯設(shè)備調(diào)用解密接口訪問物理設(shè)備上存儲的系統(tǒng)升級包。[0067]可選地,解密接口為對物理設(shè)備進行解密的算法;升級單元303,用于:通過邏輯設(shè)備調(diào)用解密接口,對物理設(shè)備進行解密;讀取解密后的物理設(shè)備中存儲的系統(tǒng)升級包。[0068]可選地,創(chuàng)建單元301,還用于:[0069]確定存儲系統(tǒng)升級包的物理設(shè)備的標(biāo)識;獲取用于指示物理設(shè)備的標(biāo)識對應(yīng)的物理設(shè)備是否處于加密狀態(tài)的指示信息;根據(jù)用于指示物理設(shè)備的標(biāo)識對應(yīng)的物理設(shè)備是否處于加密狀態(tài)的指示信息,確定存儲系統(tǒng)升級包的物理設(shè)備是否處于加密狀態(tài)。[0070]可選地,創(chuàng)建單元301,用于:[0071]運行第一進程,在第一進程中的服務(wù)在監(jiān)聽到滿足觸發(fā)條件時,觸發(fā)第二進程的啟動并通知第二進程創(chuàng)建邏輯設(shè)備;觸發(fā)條件為確定存儲系統(tǒng)升級包的物理設(shè)備處于加密狀態(tài);在第二進程接收到創(chuàng)建邏輯設(shè)備的命令后,在第二進程中創(chuàng)建與物理設(shè)備對應(yīng)的邏輯設(shè)備。[0072]可選地,創(chuàng)建單元301,用于:[0073]在進入恢復(fù)recovery模式的過程中,且在確定需要執(zhí)行空中下載技術(shù)OTA升級操作、且存儲系統(tǒng)升級包的物理設(shè)備處于加密狀態(tài)時,創(chuàng)建與物理設(shè)備對應(yīng)的邏輯設(shè)備。[0074]從上述內(nèi)容可看出,本發(fā)明實施例中,在進入recovery模式的過程中,且在確定存儲系統(tǒng)升級包的物理設(shè)備處于加密狀態(tài)時,創(chuàng)建與物理設(shè)備對應(yīng)的邏輯設(shè)備,將recovery分區(qū)表中存儲系統(tǒng)升級包設(shè)備標(biāo)識由物理設(shè)備的標(biāo)識替換為邏輯設(shè)備的標(biāo)識,如此,可在成功進入recovery模式時,掛載邏輯設(shè)備,從而避免了現(xiàn)有技術(shù)中需要直接掛載被加密的物理設(shè)備的問題,且由于邏輯設(shè)備未被加密,因此可成功掛載該邏輯設(shè)備,之后可并通過邏輯設(shè)備調(diào)用解密接口訪問物理設(shè)備上存儲的系統(tǒng)升級包??梢?,通過本發(fā)明實施例所提供的方法,在系統(tǒng)升級包所存儲的物理設(shè)備處于加密狀態(tài)時,也可成功進行系統(tǒng)升級。[0075]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-R0M、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。[0076]本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。[0077]這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。[0078]這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。[0079]盡管已描述了本發(fā)明的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。[0080]顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。【主權(quán)項】1.一種系統(tǒng)升級方法,其特征在于,包括:在進入恢復(fù)recovery模式的過程中,且在確定存儲系統(tǒng)升級包的物理設(shè)備處于加密狀態(tài)時,創(chuàng)建與所述物理設(shè)備對應(yīng)的邏輯設(shè)備;將recovery分區(qū)表中存儲所述系統(tǒng)升級包設(shè)備標(biāo)識由所述物理設(shè)備的標(biāo)識替換為所述邏輯設(shè)備的標(biāo)識;在成功進入所述recovery模式時,掛載所述邏輯設(shè)備,并通過所述邏輯設(shè)備調(diào)用解密接口訪問所述物理設(shè)備上存儲的所述系統(tǒng)升級包。2.如權(quán)利要求1所述的方法,其特征在于,所述解密接口為對所述物理設(shè)備進行解密的算法;所述通過所述邏輯設(shè)備調(diào)用解密接口訪問所述物理設(shè)備上存儲的所述系統(tǒng)升級包,包括:通過所述邏輯設(shè)備調(diào)用解密接口,對所述物理設(shè)備進行解密;讀取解密后的所述物理設(shè)備中存儲的所述系統(tǒng)升級包。3.如權(quán)利要求1所述的方法,其特征在于,所述創(chuàng)建與所述物理設(shè)備對應(yīng)的邏輯設(shè)備之前,通過以下方式確定存儲系統(tǒng)升級包的物理設(shè)備是否處于加密狀態(tài):確定存儲所述系統(tǒng)升級包的物理設(shè)備的標(biāo)識;獲取用于指示所述物理設(shè)備的標(biāo)識對應(yīng)的物理設(shè)備是否處于加密狀態(tài)的指示信息;根據(jù)所述用于指示所述物理設(shè)備的標(biāo)識對應(yīng)的物理設(shè)備是否處于加密狀態(tài)的指示信息,確定存儲系統(tǒng)升級包的物理設(shè)備是否處于加密狀態(tài)。4.如權(quán)利要求1所述的方法,其特征在于,所述創(chuàng)建與所述物理設(shè)備對應(yīng)的邏輯設(shè)備,包括:運行第一進程,在所述第一進程中的服務(wù)在監(jiān)聽到滿足觸發(fā)條件時,觸發(fā)第二進程的啟動并通知第二進程創(chuàng)建邏輯設(shè)備;所述觸發(fā)條件為確定存儲系統(tǒng)升級包的物理設(shè)備處于加密狀態(tài);在所述第二進程接收到所述創(chuàng)建邏輯設(shè)備的命令后,在所述第二進程中創(chuàng)建與所述物理設(shè)備對應(yīng)的邏輯設(shè)備。5.如權(quán)利要求1所述的方法,其特征在于,所述在進入恢復(fù)reCovery模式的過程中,且在確定存儲系統(tǒng)升級包的物理設(shè)備處于加密狀態(tài)時,創(chuàng)建與所述物理設(shè)備對應(yīng)的邏輯設(shè)備,包括:在進入恢復(fù)recovery模式的過程中,且在確定需要執(zhí)行空中下載技術(shù)OTA升級操作、且存儲系統(tǒng)升級包的物理設(shè)備處于加密狀態(tài)時,創(chuàng)建與所述物理設(shè)備對應(yīng)的邏輯設(shè)備。6.一種系統(tǒng)升級裝置,其特征在于,包括:創(chuàng)建單元,用于在進入恢復(fù)recovery模式的過程中,且在確定存儲系統(tǒng)升級包的物理設(shè)備處于加密狀態(tài)時,創(chuàng)建與所述物理設(shè)備對應(yīng)的邏輯設(shè)備;更新單元,用于將recovery分區(qū)表中存儲所述系統(tǒng)升級包設(shè)備標(biāo)識由所述物理設(shè)備的標(biāo)識替換為所述邏輯設(shè)備的標(biāo)識;升級單元,用于在成功進入所述recovery模式時,掛載所述邏輯設(shè)備,并通過所述邏輯設(shè)備調(diào)用解密接口訪問所述物理設(shè)備上存儲的所述系統(tǒng)升級包。7.如權(quán)利要求6所述的裝置,其特征在于,所述解密接口為對所述物理設(shè)備進行解密的算法;所述升級單元,用于:通過所述邏輯設(shè)備調(diào)用解密接口,對所述物理設(shè)備進行解密;讀取解密后的所述物理設(shè)備中存儲的所述系統(tǒng)升級包。8.如權(quán)利要求6所述的裝置,其特征在于,所述創(chuàng)建單元,還用于:確定存儲所述系統(tǒng)升級包的物理設(shè)備的標(biāo)識;獲取用于指示所述物理設(shè)備的標(biāo)識對應(yīng)的物理設(shè)備是否處于加密狀態(tài)的指示信息;根據(jù)所述用于指示所述物理設(shè)備的標(biāo)識對應(yīng)的物理設(shè)備是否處于加密狀態(tài)的指示信息,確定存儲系統(tǒng)升級包的物理設(shè)備是否處于加密狀態(tài)。9.如權(quán)利要求6所述的裝置,其特征在于,所述創(chuàng)建單元,用于:運行第一進程,在所述第一進程中的服務(wù)在監(jiān)聽到滿足觸發(fā)條件時,觸發(fā)第二進程的啟動并通知第二進程創(chuàng)建邏輯設(shè)備;所述觸發(fā)條件為確定存儲系統(tǒng)升級包的物理設(shè)備處于加密狀態(tài);在所述第二進程接收到所述創(chuàng)建邏輯設(shè)備的命令后,在所述第二進程中創(chuàng)建與所述物理設(shè)備對應(yīng)的邏輯設(shè)備。10.如權(quán)利要求6所述的裝置,其特征在于,所述創(chuàng)建單元,用于:在進入恢復(fù)recovery模式的過程中,且在確定需要執(zhí)行空中下載技術(shù)OTA升級操作、且存儲系統(tǒng)升級包的物理設(shè)備處于加密狀態(tài)時,創(chuàng)建與所述物理設(shè)備對應(yīng)的邏輯設(shè)備?!疚臋n編號】G06F9/445GK105912369SQ201610269903【公開日】2016年8月31日【申請日】2016年4月26日【發(fā)明人】朱曉亮,張景新,高存欣【申請人】青島海信移動通信技術(shù)股份有限公司