本發(fā)明涉及電子設(shè)備領(lǐng)域,具體地,涉及一種設(shè)備中系統(tǒng)更新的方法和裝置。
背景技術(shù):
OTA(無線下載,Over The Air)功能是現(xiàn)有設(shè)備中進(jìn)行系統(tǒng)更新的重要手段之一。其能夠在于不需要人工干預(yù)的情況下實現(xiàn)設(shè)備中系統(tǒng)的自動更新。隨著現(xiàn)有技術(shù)中設(shè)備智能化水平的顯著升高,設(shè)備所用系統(tǒng)的大小在不斷上升。而現(xiàn)有技術(shù)中,在每次更新時都需要對系統(tǒng)整體進(jìn)行更新,如此造成系統(tǒng)升級更新效率低下,升級更新時占用大量通信帶寬,以及在升級更新過程中需要設(shè)備為升級文件提供較大的存儲空間。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種設(shè)備中系統(tǒng)更新的方法和裝置,以解決上述技術(shù)問題,至少部分地解決上述技術(shù)問題。
為了實現(xiàn)上述目的,本發(fā)明提供1、一種設(shè)備中系統(tǒng)更新的方法,其中,所述系統(tǒng)中需要進(jìn)行更新操作的第一部分存儲于存儲模塊的第一分區(qū),所述系統(tǒng)中無需進(jìn)行更新操作的第二部分存儲于存儲模塊的第二分區(qū);該方法包括:接收針對所述系統(tǒng)中所述第一部分的升級文件;將升級文件存儲到存儲模塊的第三分區(qū);重新啟動系統(tǒng),從存儲模塊的第三分區(qū)中讀取升級文件,使用所述升級文件更新所述第一分區(qū)中的系統(tǒng)中需要進(jìn)行更新操作的第一部分。
優(yōu)選地,所述方法還包括:當(dāng)使用所述升級文件更新所述系統(tǒng)中的所述第一部分失敗時,從存儲模塊的第四分區(qū)中讀取所述系統(tǒng)中的所述第一部分的備份文件,使用所述備份文件恢復(fù)存儲模塊的第一分區(qū)中的所述系統(tǒng)的所述第一部分。
優(yōu)選地,所述方法還包括:在完成將升級文件存儲到存儲模塊的第三分區(qū)的操作后,將升級標(biāo)志位設(shè)置為指示進(jìn)行升級操作。
優(yōu)選地,所述重新啟動系統(tǒng),從存儲模塊的第三分區(qū)中讀取升級文件,使用所述升級文件更新所述第一分區(qū)中的系統(tǒng)中需要進(jìn)行更新操作的第一部分包括:在進(jìn)行重新啟動時,讀取升級標(biāo)志位,判斷所述升級標(biāo)志位是否指示進(jìn)行升級操作;當(dāng)所述升級標(biāo)志位指示進(jìn)行升級操作時,開始進(jìn)行從存儲模塊的第三分區(qū)中讀取升級文件,使用所述升級文件更新所述第一分區(qū)中的系統(tǒng)中需要進(jìn)行更新操作的第一部分的操作;在升級操作完成后,將所述升級標(biāo)志位設(shè)置為表示不進(jìn)行升級操作,重新啟動系統(tǒng)。
優(yōu)選地,所述方法還包括:當(dāng)使用所述升級文件更新所述系統(tǒng)中的所述第一部分成功后,使用所述升級文件更新所述存儲模塊的所述第四分區(qū)中的所述第一部分的備份文件。
根據(jù)本發(fā)明的另一方面,提供了一種設(shè)備中系統(tǒng)更新的裝置,其中,該裝置包括用于存儲數(shù)據(jù)的存儲模塊,其中所述系統(tǒng)中需要進(jìn)行更新操作的第一部分存儲于存儲模塊的第一分區(qū),所述系統(tǒng)中無需進(jìn)行更新操作的第二部分存儲于存儲模塊的第二分區(qū);該裝置還包括:通信模塊,用于接收針對所述系統(tǒng)中所述第一部分的升級文件;處理模塊,用于將升級文件存儲到存儲模塊的第三分區(qū),重新啟動系統(tǒng),從存儲模塊的第三分區(qū)中讀取升級文件,使用所述升級文件更新所述第一分區(qū)中的系統(tǒng)中需要進(jìn)行更新操作的第一部分。
優(yōu)選地,所述處理模塊還用于當(dāng)使用所述升級文件更新所述系統(tǒng)中的所述第一部分失敗時,從存儲模塊的第四分區(qū)中讀取所述系統(tǒng)中的所述第一部分的備份文件,使用所述備份文件恢復(fù)存儲模塊的第一分區(qū)中的所述系統(tǒng)的所述第一部分。
優(yōu)選地,所述處理模塊還用于在完成將升級文件存儲到存儲模塊的第三分區(qū)的操作后,將升級標(biāo)志位設(shè)置為指示進(jìn)行升級操作。
優(yōu)選地,所述處理模塊用于在進(jìn)行重新啟動時,讀取升級標(biāo)志位,判斷所述升級標(biāo)志位是否指示進(jìn)行升級操作;當(dāng)所述升級標(biāo)志位指示進(jìn)行升級操作時,從存儲模塊的第三分區(qū)中讀取升級文件,使用所述升級文件更新所述第一分區(qū)中的系統(tǒng)中需要進(jìn)行更新操作的第一部分;在升級操作完成后,將所述升級標(biāo)志位設(shè)置為表示不進(jìn)行升級操作,重新啟動系統(tǒng)。
優(yōu)選地,所述處理器還用于當(dāng)使用所述升級文件更新所述系統(tǒng)中的所述第一部分成功后,使用所述升級文件更新所述存儲模塊的所述第四分區(qū)中的所述第一部分的備份文件。
通過上述技術(shù)方案,所述系統(tǒng)中需要進(jìn)行更新操作的第一部分存儲于存儲模塊的第一分區(qū),所述系統(tǒng)中無需進(jìn)行更新操作的第二部分存儲于存儲模塊的第二分區(qū);接收升級文件;將升級文件存儲到存儲模塊的第三分區(qū);重新啟動系統(tǒng),從存儲模塊的第三分區(qū)中讀取升級文件,使用升級文件更新所述第一分區(qū)中的系統(tǒng)中需要進(jìn)行更新操作的第一部分。如此,將系統(tǒng)中代碼區(qū)分為需要進(jìn)行更新操作的第一部分和無需更新操作的第二部分,在每次進(jìn)行系統(tǒng)更新時僅更新第一部分,既能夠?qū)崿F(xiàn)系統(tǒng)的升級更新,又提高了系統(tǒng)升級更新效率,減少了升級更新時所占用的通信帶寬,并減少了在升級更新過程中所需要提供的存儲空間。
本發(fā)明的其它特征和優(yōu)點將在隨后的具體實施方式部分予以詳細(xì)說明。
附圖說明
附圖是用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與下面的具體實施方式一起用于解釋本發(fā)明,但并不構(gòu)成對本發(fā)明的限制。在附圖中:
圖1是根據(jù)本發(fā)明實施方式的設(shè)備中系統(tǒng)更新的方法的流程圖;
圖2是根據(jù)本發(fā)明實施方式的對系統(tǒng)中第一部分進(jìn)行更新的過程的流程圖;
圖3是根據(jù)本發(fā)明實施方式的設(shè)備中系統(tǒng)更新的方法;以及
圖4是根據(jù)本發(fā)明實施方式的設(shè)備中系統(tǒng)更新的裝置的結(jié)構(gòu)圖。
具體實施方式
以下結(jié)合附圖對本發(fā)明的具體實施方式進(jìn)行詳細(xì)說明。應(yīng)當(dāng)理解的是,此處所描述的具體實施方式僅用于說明和解釋本發(fā)明,并不用于限制本發(fā)明。
圖1是根據(jù)本發(fā)明實施方式的設(shè)備中系統(tǒng)更新的方法的流程圖,該方法可用于各種設(shè)備,例如各種智能家電設(shè)備。
其中,系統(tǒng)中需要進(jìn)行更新操作的第一部分存儲于存儲模塊的第一分區(qū),系統(tǒng)中無需進(jìn)行更新操作的第二部分存儲于存儲模塊的第二分區(qū)。
系統(tǒng)中文件可以依據(jù)其與硬件間的關(guān)聯(lián)性,實現(xiàn)功能與用戶的關(guān)聯(lián)性,以及實現(xiàn)功能是否為通用功能來被區(qū)分為需要進(jìn)行更新操作的第一部分,在本發(fā)明中也稱為上層部分,以及無需進(jìn)行更新操作的第二部分,在本發(fā)明中也稱為底層部分。例如,與硬件不相關(guān)聯(lián),以及實現(xiàn)功能與用戶相關(guān)聯(lián)或?qū)崿F(xiàn)功能不為通用功能的系統(tǒng)中文件可被劃分為上層部分,與硬件相關(guān)聯(lián),或者實現(xiàn)功能與用戶不相關(guān)聯(lián)或?qū)崿F(xiàn)功能為通用功能的系統(tǒng)中文件可被劃分為底層部分。劃分為上層部分的文件被打包后,存儲于存儲模塊的第一分區(qū),本發(fā)明也稱為上層分區(qū),劃分為底層部分的文件被打包后,存儲于存儲模塊的第二分區(qū),本發(fā)明也稱為底層分區(qū)。系統(tǒng)中上述文件的劃分可由設(shè)備通過配置列表完成。例如,將配置列表中定義為需要更新的文件劃分到上層部分中,將配置列表中定義為不需要更新的文件劃分到下層部分中。
如圖1所示,本實施方式中設(shè)備中系統(tǒng)更新的方法可包括如下步驟。
在步驟S110中,接收針對系統(tǒng)中第一部分的升級文件。
舉例而言,設(shè)備可通過OTA技術(shù)從服務(wù)器中獲得升級文件。例如,當(dāng)服務(wù)器側(cè)對系統(tǒng)中文件進(jìn)行更新時,主動與設(shè)備建立連接,將升級文件下發(fā)到設(shè)備中。該升級文件針對系統(tǒng)中第一部分,其大小比現(xiàn)有技術(shù)中升級文件顯著減少,進(jìn)而節(jié)省了通信帶寬。
在步驟S120中,將升級文件存儲到存儲模塊的第三分區(qū)。
舉例而言,設(shè)備接收到升級文件后,將升級文件存儲于為升級文件更新所分配的第三分區(qū),在本發(fā)明中第三分區(qū)也被稱為下載分區(qū)。
在一實施例中,所述方法還包括在完成將升級文件存儲到存儲模塊的第三分區(qū)的操作后,將升級標(biāo)志位設(shè)置為指示進(jìn)行升級操作。
舉例而言,升級標(biāo)志位為設(shè)置的用于指示是否進(jìn)行升級操作的標(biāo)志位。例如,標(biāo)志位為1時,表示進(jìn)行升級操作,標(biāo)志位為0時,表示不進(jìn)行升級操作。
在步驟S130中,重新啟動系統(tǒng),從存儲模塊的第三分區(qū)中讀取升級文件,使用升級文件更新第一分區(qū)中的系統(tǒng)中需要進(jìn)行更新操作的第一部分。
在一實施例中,如圖2所示,所述重新啟動系統(tǒng),從存儲模塊的第三分區(qū)中讀取升級文件,使用升級文件更新第一分區(qū)中的系統(tǒng)中需要進(jìn)行更新操作的第一部分可包括如下步驟。
在步驟S202中,在進(jìn)行重新啟動時,讀取升級標(biāo)志位,判斷升級標(biāo)志位是否指示進(jìn)行升級操作。
在步驟S204中,當(dāng)升級標(biāo)志位指示進(jìn)行升級操作時,從存儲模塊的第三分區(qū)中讀取升級文件,使用升級文件更新第一分區(qū)中的系統(tǒng)中的第一部分。
在步驟S206中,在升級操作完成后,將升級標(biāo)志位設(shè)置為表示不進(jìn)行升級操作,重新啟動系統(tǒng)。
舉例而言,在升級時重新啟動系統(tǒng)。每次系統(tǒng)被重新啟動時,會讀取升級標(biāo)志位,判斷升級標(biāo)志位是否為1,當(dāng)升級標(biāo)志位為1時,表示進(jìn)行升級操作,則從下載分區(qū)中讀取升級文件,使用升級文件更新系統(tǒng)上層部分。在系統(tǒng)中上層部分被更新成功后,將升級標(biāo)志位重新置為0,然后重新啟動系統(tǒng)。這樣,在系統(tǒng)重新啟動時,讀取升級標(biāo)志位,發(fā)現(xiàn)其為0,則不再進(jìn)行更新操作而直接運行系統(tǒng)。如此,通過升級標(biāo)志位起到控制系統(tǒng)在啟動時是否進(jìn)行更新操作的作用。
通過上述技術(shù)方案,既能夠?qū)崿F(xiàn)系統(tǒng)的升級更新,又提高了系統(tǒng)升級更新效率,減少了升級更新時所占用的通信帶寬,并減少了在升級更新過程中所需要提供的存儲空間。
在一實施例中,本發(fā)明中方法還可包括:當(dāng)使用升級文件更新系統(tǒng)中的第一部分失敗時,從存儲模塊的第四分區(qū)中讀取系統(tǒng)中的第一部分的備份文件,使用備份文件恢復(fù)存儲模塊的第一分區(qū)中的系統(tǒng)的第一部分。
進(jìn)一步地,本發(fā)明中方法還可包括:當(dāng)使用升級文件更新系統(tǒng)中的第一部分成功后,使用升級文件更新存儲模塊的第四分區(qū)中的第一部分的備份文件。
舉例而言,在設(shè)備的存儲模塊的第四分區(qū)中存儲系統(tǒng)中第一部分的備份文件,該備份文件也稱為上層備份文件,存儲模塊的第四分區(qū)也稱為備用上層分區(qū)。當(dāng)使用升級文件對系統(tǒng)中上層部分沒有更新成功時,從存儲模塊的備用上層分區(qū)中讀取上層備份文件,使用上層備份文件對系統(tǒng)中上層部分進(jìn)行恢復(fù)。
此外,在使用升級標(biāo)志位時,當(dāng)使用備份文件對系統(tǒng)的第一部分完成恢復(fù)后,將升級標(biāo)志位置為表示不進(jìn)行升級操作,例如重新置為0,然后重新啟動系統(tǒng),使得系統(tǒng)能夠使用恢復(fù)的第一部分(即上層部分)進(jìn)行正常運行。
如此,在因為各種原因?qū)е律壥r,也可以通過上層備份文件對系統(tǒng)中上層部分進(jìn)行恢復(fù),進(jìn)而保障系統(tǒng)能夠正常運行。
此外,當(dāng)系統(tǒng)的上層部分被升級成功后,還可以使用升級文件更新存儲模塊的備用上層分區(qū)中的上層備份文件。如此可以使得上層備份文件與服務(wù)器側(cè)的最新版本保持一致,使得下次進(jìn)行恢復(fù)操作時可以將系統(tǒng)恢復(fù)為較新版本??商鎿Q地,也可以對上層備份文件不做更新,而是在每次進(jìn)行系統(tǒng)恢復(fù)時,都將系統(tǒng)恢復(fù)為同一版本。
圖3是根據(jù)本發(fā)明實施方式的設(shè)備中系統(tǒng)更新的方法。在本實施方式中,存儲模塊的上層分區(qū)中存儲有系統(tǒng)的上層部分,存儲模塊的底層分區(qū)中存儲有系統(tǒng)的底層部分,存儲模塊的下載分區(qū)用于存儲升級文件,存儲模塊的備用上層分區(qū)中存儲有上層備份文件。設(shè)置有升級標(biāo)志位,升級標(biāo)志位為1表示進(jìn)行升級操作,升級標(biāo)志位為0表示不進(jìn)行升級操作。如圖3所示,本實施方式中方法可包括如下步驟。
在步驟S302中,從服務(wù)器接收針對系統(tǒng)中上層部分的升級文件。在步驟S304中,將升級文件存儲到存儲模塊的下載分區(qū),在下載完成后,將升級標(biāo)志位置為1。在步驟S306中,重新啟動系統(tǒng),讀取升級標(biāo)志位,判斷升級標(biāo)志位是否為1,如果為1則執(zhí)行步驟S308,如果不為1則開始運行系統(tǒng)。在步驟S308中,從存儲模塊的下載分區(qū)中讀取升級文件,使用升級文件更新上層分區(qū)中的系統(tǒng)中上層部分。在步驟S310中,判斷是否對系統(tǒng)中上層部分升級成功,如果成功執(zhí)行步驟S312,否則,執(zhí)行步驟S316。在步驟S312中,使用升級文件更新存儲模塊的備用上層分區(qū)中的上層備份文件。在步驟S314中,將升級標(biāo)志位清除為0,重新啟動系統(tǒng)。在步驟S316中,從存儲模塊的備用上層分區(qū)中讀取系統(tǒng)中的上層備份文件,使用上層備份文件恢復(fù)存儲模塊的上層分區(qū)中的系統(tǒng)的上層部分,完成后執(zhí)行步驟S314。
上述實施方式旨在使得本發(fā)明中技術(shù)方案便于理解,其不用于限制本發(fā)明的保護(hù)范圍。
圖4是根據(jù)本發(fā)明實施方式的設(shè)備中系統(tǒng)更新的裝置的結(jié)構(gòu)圖,該裝置可用于各種設(shè)備,例如各種智能家電設(shè)備。
如圖4所示,該裝置包括用于存儲數(shù)據(jù)的存儲模塊410,其中所述系統(tǒng)中需要進(jìn)行更新操作的第一部分存儲于存儲模塊410的第一分區(qū),所述系統(tǒng)中無需進(jìn)行更新操作的第二部分存儲于存儲模塊410的第二分區(qū)。
該裝置還可包括:通信模塊420,用于接收針對所述系統(tǒng)中所述第一部分的升級文件;處理模塊430,用于將升級文件存儲到存儲模塊410的第三分區(qū),重新啟動系統(tǒng),從存儲模塊410的第三分區(qū)中讀取升級文件,使用所述升級文件更新所述第一分區(qū)中的系統(tǒng)中需要進(jìn)行更新操作的第一部分。
在一實施例中,處理模塊430還用于當(dāng)使用所述升級文件更新所述系統(tǒng)中的所述第一部分失敗時,從存儲模塊410的第四分區(qū)中讀取所述系統(tǒng)中的所述第一部分的備份文件,使用所述備份文件恢復(fù)存儲模塊410的第一分區(qū)中的所述系統(tǒng)的所述第一部分。
進(jìn)一步地,處理器430還可用于當(dāng)使用所述升級文件更新所述系統(tǒng)中的所述第一部分成功后,使用所述升級文件更新存儲模塊410的所述第四分區(qū)中的所述第一部分的備份文件。
在一實施例中,處理模塊430還可用于在完成將升級文件存儲到存儲模塊410的第三分區(qū)的操作后,將升級標(biāo)志位設(shè)置為指示進(jìn)行升級操作。
進(jìn)一步地,處理模塊430可用于在進(jìn)行重新啟動時,讀取升級標(biāo)志位,判斷所述升級標(biāo)志位是否指示進(jìn)行升級操作;當(dāng)所述升級標(biāo)志位指示進(jìn)行升級操作時,從存儲模塊410的第三分區(qū)中讀取升級文件,使用所述升級文件更新所述第一分區(qū)中的系統(tǒng)中需要進(jìn)行更新操作的第一部分;在升級操作完成后,將所述升級標(biāo)志位設(shè)置為表示不進(jìn)行升級操作,重新啟動系統(tǒng)。
上述裝置與前述方法相對應(yīng),其具體實施方式可參見前述方法中詳細(xì)描述,在此不再贅述。
通過上述技術(shù)方案,既能夠?qū)崿F(xiàn)系統(tǒng)的升級更新,又提高了系統(tǒng)升級更新效率,減少了升級更新時所占用的通信帶寬,并減少了在升級更新過程中所需要提供的存儲空間。
以上結(jié)合附圖詳細(xì)描述了本發(fā)明的優(yōu)選實施方式,但是,本發(fā)明并不限于上述實施方式中的具體細(xì)節(jié),在本發(fā)明的技術(shù)構(gòu)思范圍內(nèi),可以對本發(fā)明的技術(shù)方案進(jìn)行多種簡單變型,這些簡單變型均屬于本發(fā)明的保護(hù)范圍。
另外需要說明的是,在上述具體實施方式中所描述的各個具體技術(shù)特征,在不矛盾的情況下,可以通過任何合適的方式進(jìn)行組合,為了避免不必要的重復(fù),本發(fā)明對各種可能的組合方式不再另行說明。
此外,本發(fā)明的各種不同的實施方式之間也可以進(jìn)行任意組合,只要其不違背本發(fā)明的思想,其同樣應(yīng)當(dāng)視為本發(fā)明所公開的內(nèi)容。