專利名稱:一種軟件升級(jí)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種軟件升級(jí)方法。
背景技術(shù):
目前常用的軟件升級(jí)技術(shù)方案是利用串口 /網(wǎng)絡(luò)/0TA(0Ver The Air,空中下載) 升級(jí)新的軟件版本?,F(xiàn)有常用的升級(jí)技術(shù)中第一種方案如圖1所示,是利用串口升級(jí)燒寫新版本的軟件進(jìn)行升級(jí);在此方案中,升級(jí)軟件分為兩部分
一是運(yùn)行于PC (Person Computer,個(gè)人電腦)機(jī)端的串口燒寫工具,它負(fù)責(zé)傳輸升級(jí)軟件給系統(tǒng)軟件;
二是運(yùn)行于系統(tǒng)軟件中的與串口燒寫工具進(jìn)行交互的串口升級(jí)程序,它負(fù)責(zé)將串口燒寫工具傳輸過來的升級(jí)程序進(jìn)行更新。上述第一種方案由于串口的傳輸速率較慢,在升級(jí)較大文件時(shí)花費(fèi)的時(shí)間會(huì)較長且需要PC機(jī)的工具支持?,F(xiàn)有常用的升級(jí)技術(shù)中第二種方案如圖2所示,是利用OTA升級(jí)燒寫新版本的軟件進(jìn)行升級(jí);在此方案中,升級(jí)軟件分為兩部分
一是碼流機(jī)播放升級(jí)流,將升級(jí)流傳送給系統(tǒng)程序。二是系統(tǒng)程序接收升級(jí)流進(jìn)行解析,得到升級(jí)文件后更新軟件版本
上述第二種方案需要用升級(jí)文件制作升級(jí)碼流,且需要碼流機(jī)等設(shè)備支持,播放升級(jí)碼流進(jìn)行升級(jí),升級(jí)環(huán)境較復(fù)雜,不利于客戶自行進(jìn)行軟件升級(jí)。現(xiàn)有常用的升級(jí)技術(shù)中第三種方案如圖3所示,是利用網(wǎng)絡(luò)升級(jí)燒寫新版本的軟件進(jìn)行升級(jí);在此方案中,升級(jí)軟件分為兩部分
一是PC機(jī)通過網(wǎng)絡(luò)傳輸升級(jí)文件,通常PC機(jī)上會(huì)有一個(gè)服務(wù)器負(fù)責(zé)傳輸升級(jí)文件。二是系統(tǒng)程序運(yùn)行網(wǎng)絡(luò)程序通過網(wǎng)口接收升級(jí)文件,接收完升級(jí)文件后更新軟件版本。上述第二種方案需要PC機(jī)端服務(wù)器的支持升級(jí)環(huán)境較復(fù)雜,并且系統(tǒng)中網(wǎng)絡(luò)升級(jí)程序需要支持網(wǎng)絡(luò)協(xié)議,棧會(huì)使程序變大占用較多的存儲(chǔ)空間。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是如何快速、便捷地實(shí)現(xiàn)軟件升級(jí)。為了解決上述問題,本發(fā)明提供了一種軟件升級(jí)方法,包括
在系統(tǒng)的啟動(dòng)程序或待升級(jí)軟件的引導(dǎo)程序中加入用于驅(qū)動(dòng)通用串行總線USB存儲(chǔ)設(shè)備的第一語句、以及用于在所述USB存儲(chǔ)設(shè)備中查找和讀取文件的第二語句; 在所述USB存儲(chǔ)設(shè)備中保存所述待升級(jí)軟件的升級(jí)文件;
將該USB存儲(chǔ)設(shè)備物理連接到所述系統(tǒng)后,當(dāng)啟動(dòng)所述系統(tǒng)或重新運(yùn)行所述待升級(jí)軟件時(shí),執(zhí)行所述第一語句,建立所述USB存儲(chǔ)設(shè)備和所述系統(tǒng)的邏輯連接;執(zhí)行所述第二語句從所述USB存儲(chǔ)設(shè)備中讀取所述升級(jí)文件,對(duì)所述系統(tǒng)中的所述待升級(jí)軟件進(jìn)行升級(jí)。進(jìn)一步地,所述第一語句為USB存儲(chǔ)設(shè)備的驅(qū)動(dòng)程序。進(jìn)一步地,所述第二語句是只包含文件系統(tǒng)中文件的查找和讀取功能的文件系統(tǒng)解析程序。進(jìn)一步地,所述系統(tǒng)啟動(dòng)程序?yàn)锽OOT程序,引導(dǎo)程序?yàn)長oader程序。進(jìn)一步地,所述執(zhí)行所述第二語句從USB存儲(chǔ)設(shè)備中讀取所述升級(jí)文件的步驟前還包括
檢測升級(jí)的觸發(fā)條件是否有效;當(dāng)有效時(shí)進(jìn)行所述執(zhí)行所述第二語句從USB存儲(chǔ)設(shè)備中讀取所述升級(jí)文件的步驟。進(jìn)一步地,所述觸發(fā)條件在主程序破壞或主程序需要升級(jí)到新的版本的時(shí)候有效。進(jìn)一步地,所述待升級(jí)軟件為任一軟件;采用不同的USB存儲(chǔ)設(shè)備保存不同待升級(jí)軟件的升級(jí)文件;或用同一個(gè)USB存儲(chǔ)設(shè)備在不同時(shí)間保存不同待升級(jí)軟件的升級(jí)文件。進(jìn)一步地,所述升級(jí)文件被命名為特定的文件名稱;在該升級(jí)文件中包括用于指示本升級(jí)文件屬于哪個(gè)軟件的標(biāo)識(shí),以及版本號(hào)。進(jìn)一步地,所述執(zhí)行所述第二語句從USB存儲(chǔ)設(shè)備中讀取所述升級(jí)文件的步驟后,對(duì)所述系統(tǒng)中的所述待升級(jí)軟件進(jìn)行升級(jí)的步驟前還包括
通過USB設(shè)備中文件的文件名稱來判斷是否為升級(jí)文件;
如果是升級(jí)文件,則根據(jù)升級(jí)文件中的所述標(biāo)識(shí)判斷該升級(jí)文件是否屬于待升級(jí)軟
件;
如果屬于,則比較所述升級(jí)文件的版本號(hào)和所述待升級(jí)軟件的版本號(hào),如果升級(jí)文件的版本號(hào)較高,則執(zhí)行對(duì)所述系統(tǒng)中的所述待升級(jí)軟件進(jìn)行升級(jí)的步驟。本發(fā)明的技術(shù)方案通過利用普及的USB存儲(chǔ)設(shè)備進(jìn)行軟件升級(jí),避免了升級(jí)軟件傳送速度慢的問題以及升級(jí)的操作流程和升級(jí)環(huán)境復(fù)雜的問題,使普通用戶自己就可以進(jìn)行軟件的升級(jí)和更新。
圖1是現(xiàn)有技術(shù)第一種方案的流程示意圖; 圖2是現(xiàn)有技術(shù)第二種方案的流程示意圖3是現(xiàn)有技術(shù)第三種方案的流程示意圖; 圖4是實(shí)施例一的升級(jí)方法的流程示意圖。
具體實(shí)施例方式下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)行更詳細(xì)的說明。需要說明的是,如果不沖突,本發(fā)明實(shí)施例以及實(shí)施例中的各個(gè)特征可以相互結(jié)合,均在本發(fā)明的保護(hù)范圍之內(nèi)。實(shí)施例一,一種軟件升級(jí)方法,包括在系統(tǒng)的啟動(dòng)程序或待升級(jí)軟件的引導(dǎo)程序中加入用于驅(qū)動(dòng)USB (Universal Serial Bus,通用串行總線)存儲(chǔ)設(shè)備的第一語句、以及用于在所述USB存儲(chǔ)設(shè)備中查找和讀取文件的第二語句;
在所述USB存儲(chǔ)設(shè)備中保存所述待升級(jí)軟件的升級(jí)文件;
將該USB存儲(chǔ)設(shè)備物理連接到所述系統(tǒng)后,當(dāng)啟動(dòng)所述系統(tǒng)或重新運(yùn)行所述待升級(jí)軟件時(shí),執(zhí)行所述第一語句,建立所述USB存儲(chǔ)設(shè)備和所述系統(tǒng)的邏輯連接;
執(zhí)行所述第二語句從所述USB存儲(chǔ)設(shè)備中讀取所述升級(jí)文件,對(duì)所述系統(tǒng)中的所述待升級(jí)軟件進(jìn)行升級(jí)。本實(shí)施例中,所述第一語句可以但不限于為USB存儲(chǔ)設(shè)備的驅(qū)動(dòng)程序,也可以是其它執(zhí)行后能夠?qū)SB存儲(chǔ)設(shè)備邏輯連接到所述系統(tǒng)的語句;所述第二語句可以但不限于為文件系統(tǒng)解析程序,也可以是其它執(zhí)行后能夠在USB存儲(chǔ)設(shè)備中查找和讀取文件的語句。本實(shí)施例中,所述第二語句如果為文件系統(tǒng)解析程序,也并不同于現(xiàn)有普通意義上的文件系統(tǒng)解析程序;現(xiàn)有普通意義上的文件系統(tǒng)解析程序也稱為文件系統(tǒng),通常包含了文件及文件夾的創(chuàng)建、刪除、讀取等功能,所以占用的空間比較大,這樣就需要較多的存儲(chǔ)空間來存儲(chǔ)集成了文件系統(tǒng)解析程序的程序;而本實(shí)施例的第二語句則是只包含文件系統(tǒng)中文件的查找和讀取功能的文件系統(tǒng)解析程序,因此占用存儲(chǔ)空間較小。本實(shí)施例中,所述待升級(jí)軟件可以是任一軟件;可以采用不同的USB存儲(chǔ)設(shè)備保存不同待升級(jí)軟件的升級(jí)文件;也可以用同一個(gè)USB存儲(chǔ)設(shè)備在不同時(shí)間保存不同待升級(jí)軟件的升級(jí)文件。本實(shí)施例中,所述系統(tǒng)啟動(dòng)程序可以但不限于為BOOT程序,引導(dǎo)程序可以但不限于為Loader程序。本實(shí)施例中,所述執(zhí)行所述第二語句從USB存儲(chǔ)設(shè)備中讀取所述升級(jí)文件的步驟前還可以包括
檢測升級(jí)的觸發(fā)條件是否有效;當(dāng)有效時(shí)進(jìn)行所述執(zhí)行所述第二語句從USB存儲(chǔ)設(shè)備中讀取所述升級(jí)文件的步驟。本實(shí)施例中,所述觸發(fā)條件在主程序破壞或主程序需要升級(jí)到新的版本的時(shí)候有效。本實(shí)施例中,所述升級(jí)文件被命名為特定的文件名稱;在該升級(jí)文件中包括用于指示本升級(jí)文件屬于哪個(gè)軟件的標(biāo)識(shí),以及版本號(hào);
本實(shí)施例中,所述執(zhí)行所述第二語句從USB存儲(chǔ)設(shè)備中讀取所述升級(jí)文件的步驟后, 對(duì)所述系統(tǒng)中的所述待升級(jí)軟件進(jìn)行升級(jí)的步驟前還可以包括 通過USB設(shè)備中文件的文件名稱來判斷是否為升級(jí)文件;
如果是升級(jí)文件,則根據(jù)升級(jí)文件中的所述標(biāo)識(shí)判斷該升級(jí)文件是否屬于待升級(jí)軟
件;
如果屬于,則比較所述升級(jí)文件的版本號(hào)和所述待升級(jí)軟件的版本號(hào),如果升級(jí)文件的版本號(hào)較高,則執(zhí)行對(duì)所述系統(tǒng)中的所述待升級(jí)軟件進(jìn)行升級(jí)的步驟。本實(shí)施例中通過在BOOT或Loader中集成USB存儲(chǔ)設(shè)備的驅(qū)動(dòng)程序和文件系統(tǒng)解析程序,通過讀取帶USB 口的外部存儲(chǔ)設(shè)備中的軟件升級(jí)文件來更新升級(jí)軟件版本,有效彌補(bǔ)了網(wǎng)絡(luò)/OTA升級(jí)方法需要較復(fù)雜的升級(jí)環(huán)境的問題,而且USB 口的傳輸速度較快,克服了串口升級(jí)速度較慢的問題。由于利用帶USB 口的存儲(chǔ)設(shè)備升級(jí)軟件的方法操作便捷且升級(jí)速度快,不需要復(fù)雜的升級(jí)環(huán)境,所以即使是用戶本人(非專業(yè))也可以進(jìn)行升級(jí)。本實(shí)施例簡單實(shí)用,成本低廉,操作便捷,可廣泛應(yīng)用于軟件升級(jí)的方案中。下面用一個(gè)具體例子說明本實(shí)施例,該例子在BOOT中集成了 USB存儲(chǔ)設(shè)備的驅(qū)動(dòng)程序和文件系統(tǒng)解析程序。升級(jí)的過程如圖4所示,包括以下步驟
51、系統(tǒng)啟動(dòng);
52、檢測是否物理連接了USB存儲(chǔ)設(shè)備;如果沒有,則啟動(dòng)軟件系統(tǒng),按照正常流程執(zhí)行;如果有,則邏輯連接所述USB存儲(chǔ)設(shè)備和系統(tǒng)后執(zhí)行步驟S3 ;
53、檢測在所述USB存儲(chǔ)設(shè)備中是否有升級(jí)文件;如果有,且該升級(jí)文件屬于待升級(jí)軟件、版本比目前待升級(jí)軟件高,則執(zhí)行步驟S4 ;如果不存在待升級(jí)軟件的版本較高的升級(jí)文件,則啟動(dòng)軟件系統(tǒng),按照正常流程執(zhí)行;
54、利用所述升級(jí)文件對(duì)待升級(jí)軟件進(jìn)行升級(jí);升級(jí)后重啟系統(tǒng),即返回步驟Si。當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種軟件升級(jí)方法,包括在系統(tǒng)的啟動(dòng)程序或待升級(jí)軟件的引導(dǎo)程序中加入用于驅(qū)動(dòng)通用串行總線USB存儲(chǔ)設(shè)備的第一語句、以及用于在所述USB存儲(chǔ)設(shè)備中查找和讀取文件的第二語句; 在所述USB存儲(chǔ)設(shè)備中保存所述待升級(jí)軟件的升級(jí)文件;將該USB存儲(chǔ)設(shè)備物理連接到所述系統(tǒng)后,當(dāng)啟動(dòng)所述系統(tǒng)或重新運(yùn)行所述待升級(jí)軟件時(shí),執(zhí)行所述第一語句,建立所述USB存儲(chǔ)設(shè)備和所述系統(tǒng)的邏輯連接;執(zhí)行所述第二語句從所述USB存儲(chǔ)設(shè)備中讀取所述升級(jí)文件,對(duì)所述系統(tǒng)中的所述待升級(jí)軟件進(jìn)行升級(jí)。
2.如權(quán)利要求1所述的方法,其特征在于 所述第一語句為USB存儲(chǔ)設(shè)備的驅(qū)動(dòng)程序。
3.如權(quán)利要求1所述的方法,其特征在于所述第二語句是只包含文件系統(tǒng)中文件的查找和讀取功能的文件系統(tǒng)解析程序。
4.如權(quán)利要求1所述的方法,其特征在于所述系統(tǒng)啟動(dòng)程序?yàn)锽OOT程序,引導(dǎo)程序?yàn)長oader程序。
5.如權(quán)利要求1所述的方法,其特征在于,所述執(zhí)行所述第二語句從USB存儲(chǔ)設(shè)備中讀取所述升級(jí)文件的步驟前還包括檢測升級(jí)的觸發(fā)條件是否有效;當(dāng)有效時(shí)進(jìn)行所述執(zhí)行所述第二語句從USB存儲(chǔ)設(shè)備中讀取所述升級(jí)文件的步驟。
6.如權(quán)利要求5所述的方法,其特征在于所述觸發(fā)條件在主程序破壞或主程序需要升級(jí)到新的版本的時(shí)候有效。
7.如權(quán)利要求1所述的方法,其特征在于所述待升級(jí)軟件為任一軟件;采用不同的USB存儲(chǔ)設(shè)備保存不同待升級(jí)軟件的升級(jí)文件;或用同一個(gè)USB存儲(chǔ)設(shè)備在不同時(shí)間保存不同待升級(jí)軟件的升級(jí)文件。
8.如權(quán)利要求1到7中任一項(xiàng)所述的方法,其特征在于所述升級(jí)文件被命名為特定的文件名稱;在該升級(jí)文件中包括用于指示本升級(jí)文件屬于哪個(gè)軟件的標(biāo)識(shí),以及版本號(hào)。
9.如權(quán)利要求8所述的方法,其特征在于,所述執(zhí)行所述第二語句從USB存儲(chǔ)設(shè)備中讀取所述升級(jí)文件的步驟后,對(duì)所述系統(tǒng)中的所述待升級(jí)軟件進(jìn)行升級(jí)的步驟前還包括通過USB設(shè)備中文件的文件名稱來判斷是否為升級(jí)文件;如果是升級(jí)文件,則根據(jù)升級(jí)文件中的所述標(biāo)識(shí)判斷該升級(jí)文件是否屬于待升級(jí)軟件;如果屬于,則比較所述升級(jí)文件的版本號(hào)和所述待升級(jí)軟件的版本號(hào),如果升級(jí)文件的版本號(hào)較高,則執(zhí)行對(duì)所述系統(tǒng)中的所述待升級(jí)軟件進(jìn)行升級(jí)的步驟。
全文摘要
本發(fā)明提供了一種軟件升級(jí)方法,包括在系統(tǒng)的啟動(dòng)程序或待升級(jí)軟件的引導(dǎo)程序中加入用于驅(qū)動(dòng)通用串行總線USB存儲(chǔ)設(shè)備的第一語句、以及用于在所述USB存儲(chǔ)設(shè)備中查找和讀取文件的第二語句;在所述USB存儲(chǔ)設(shè)備中保存所述待升級(jí)軟件的升級(jí)文件;將該USB存儲(chǔ)設(shè)備物理連接到所述系統(tǒng)后,當(dāng)啟動(dòng)所述系統(tǒng)或重新運(yùn)行所述待升級(jí)軟件時(shí),執(zhí)行所述第一語句,建立所述USB存儲(chǔ)設(shè)備和所述系統(tǒng)的邏輯連接;執(zhí)行所述第二語句從所述USB存儲(chǔ)設(shè)備中讀取所述升級(jí)文件,對(duì)所述系統(tǒng)中的所述待升級(jí)軟件進(jìn)行升級(jí)。本發(fā)明能夠快速、便捷地實(shí)現(xiàn)軟件升級(jí)。
文檔編號(hào)G06F9/445GK102436386SQ201110371170
公開日2012年5月2日 申請(qǐng)日期2011年11月21日 優(yōu)先權(quán)日2011年11月21日
發(fā)明者孟瑞, 李登彪, 郭先概, 陳燁, 高偉 申請(qǐng)人:北京賽科世紀(jì)數(shù)碼科技有限公司