專利名稱:一種實(shí)現(xiàn)軟件更新的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件更新技術(shù),尤其涉及一種實(shí)現(xiàn)軟件更新的方法及裝置。
背景技術(shù):
在計(jì)算機(jī)的外圍設(shè)備(打印機(jī)、掃描儀等)以及需要通過計(jì)算機(jī)進(jìn)行軟件更新的其它設(shè)備,如照相機(jī)以及便攜式媒體播放器(MP3、MP4等)等設(shè)備中,通常存儲有完成該設(shè)備各項(xiàng)功能的軟件系統(tǒng)。隨著技術(shù)的發(fā)展以及應(yīng)用的需要,這些存儲在設(shè)備內(nèi)部的軟件系統(tǒng)通常需要進(jìn)行更新,以使設(shè)備所具有的功能更豐富,性能更完善。
目前,軟件開發(fā)商在提供更新軟件時(shí),為了使用戶能夠獨(dú)立對設(shè)備進(jìn)行軟件更新,所編制的更新軟件除了包括對原始軟件系統(tǒng)進(jìn)行更新的升級軟件本身以外,還需要包括指導(dǎo)用戶進(jìn)行更新的與用戶交互的計(jì)算機(jī)界面軟件,并需要建立該計(jì)算機(jī)界面軟件與進(jìn)行更新的軟件本身的連接關(guān)系,該連接關(guān)系通常基于私有的客戶端協(xié)議。用戶在將設(shè)備與計(jì)算機(jī)連接后,使用更新軟件對設(shè)備進(jìn)行軟件更新時(shí),需要首先在計(jì)算機(jī)上運(yùn)行更新軟件,并看懂所運(yùn)行的更新軟件中計(jì)算機(jī)界面軟件的提示內(nèi)容,根據(jù)提示內(nèi)容執(zhí)行相應(yīng)操作,更新軟件根據(jù)用戶操作將進(jìn)行更新的升級軟件復(fù)制到設(shè)備中,設(shè)備接收到進(jìn)行更新的升級軟件后,對設(shè)備中的原始軟件系統(tǒng)進(jìn)行自動(dòng)更新。
可見,現(xiàn)有技術(shù)中在進(jìn)行設(shè)備軟件更新時(shí),軟件開發(fā)商需要額外編制一套計(jì)算機(jī)界面軟件,并且基于私有客戶端協(xié)議的軟件實(shí)現(xiàn)困難,可維護(hù)性差。對于用戶來說,用戶還需要學(xué)會怎樣使用該計(jì)算機(jī)界面軟件,然后才能完成設(shè)備軟件的更新。因此,現(xiàn)有技術(shù)中的設(shè)備軟件更新過程不僅增加了開發(fā)成本,而且降低了用戶體驗(yàn)。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明一方面提供一種實(shí)現(xiàn)軟件更新的方法,另一方面提供一種實(shí)現(xiàn)軟件更新的裝置,以便降低開發(fā)成本,并提高用戶體驗(yàn)。
本發(fā)明所提供的實(shí)現(xiàn)軟件更新的方法,包括A、通過建立虛擬區(qū)域分配表,將設(shè)備設(shè)置為計(jì)算機(jī)基于標(biāo)準(zhǔn)協(xié)議可識別的外部虛擬設(shè)備;B、計(jì)算機(jī)通過所建立的外部虛擬設(shè)備,向所述設(shè)備下載進(jìn)行更新的升級軟件,設(shè)備接收到進(jìn)行更新的升級軟件后,完成自動(dòng)更新。
其中,所述進(jìn)行更新的升級軟件為按照將程序代碼和程序數(shù)據(jù)分開存放的原則進(jìn)行打包形成的升級軟件包。
其中,所述按照將程序代碼和程序數(shù)據(jù)分開存儲的原則進(jìn)行打包為將程序代碼和程序數(shù)據(jù)分別放入不同的文件中,并將程序代碼的文件標(biāo)識為讀入內(nèi)存的文件。
其中,更新完成后,該方法進(jìn)一步包括運(yùn)行更新后的軟件時(shí),將程序代碼的文件讀入內(nèi)存中,根據(jù)程序代碼的運(yùn)行需求調(diào)用內(nèi)存外存儲的程序數(shù)據(jù)。
其中,所述外部虛擬設(shè)備包括用于表示外部虛擬設(shè)備信息的虛擬區(qū)域分配表,且虛擬區(qū)域分配表不占用實(shí)際的存儲空間,所述虛擬區(qū)域分配表用于設(shè)備在與計(jì)算機(jī)進(jìn)行通信時(shí),當(dāng)計(jì)算機(jī)通過標(biāo)準(zhǔn)協(xié)議讀取設(shè)備的虛擬區(qū)域分配文件系統(tǒng)信息時(shí),直接將虛擬區(qū)域分配表中的缺省信息提供給計(jì)算機(jī)。
其中,所述虛擬區(qū)域分配表設(shè)置在所述設(shè)備的引導(dǎo)系統(tǒng)BOOT內(nèi)。
其中,所述虛擬區(qū)域分配表的缺省信息包括文件系統(tǒng)類型和用戶定義的存儲空間大小。
其中,所述用戶定義的存儲空間大小為根據(jù)存放升級軟件的大小確定的存儲空間大小,或設(shè)備本身實(shí)際所允許的存儲空間大小。
其中,步驟A和步驟B之間進(jìn)一步包括將設(shè)備與計(jì)算機(jī)連接,在計(jì)算機(jī)中產(chǎn)生代表設(shè)備的外部虛擬設(shè)備標(biāo)識;
則步驟B中所述通過外部虛擬設(shè)備,向設(shè)備下載進(jìn)行更新的升級軟件具體包括用戶將進(jìn)行更新的升級軟件向所顯示的外部虛擬設(shè)備標(biāo)識中進(jìn)行復(fù)制;計(jì)算機(jī)按照標(biāo)準(zhǔn)協(xié)議向設(shè)備中下載數(shù)據(jù),設(shè)備將來自計(jì)算機(jī)的數(shù)據(jù)中的升級軟件數(shù)據(jù)寫入設(shè)備內(nèi)部的存儲空間。
較佳地,所述設(shè)備包括正常工作模式和更新模式;則所述將設(shè)備與計(jì)算機(jī)連接之前,進(jìn)一步包括將設(shè)備切換到更新模式。
其中,該方法進(jìn)一步包括設(shè)備對來自計(jì)算機(jī)的數(shù)據(jù)中的控制命令數(shù)據(jù)進(jìn)行虛擬處理。
較佳地,所述設(shè)備將升級軟件數(shù)據(jù)寫入設(shè)備內(nèi)部的存儲空間之前,進(jìn)一步包括對升級軟件數(shù)據(jù)進(jìn)行校驗(yàn),若校驗(yàn)成功,則執(zhí)行所述將升級軟件數(shù)據(jù)寫入設(shè)備內(nèi)部的存儲空間的操作;若校驗(yàn)失敗,則結(jié)束更新流程較佳地,該方法進(jìn)一步包括根據(jù)更新的結(jié)果,所述設(shè)備通過所述虛擬區(qū)域分配表將所述更新結(jié)果反饋給所述計(jì)算機(jī),并在計(jì)算機(jī)中的外部虛擬設(shè)備標(biāo)識內(nèi)產(chǎn)生表示升級軟件更新成功與否的文件名。
其中,所述外部虛擬設(shè)備為虛擬U盤。
本發(fā)明所提供的實(shí)現(xiàn)軟件更新的裝置,包括虛擬設(shè)備處理單元和存儲單元,其中,虛擬設(shè)備處理單元,用于通過建立虛擬區(qū)域分配表,將設(shè)備設(shè)置為計(jì)算機(jī)基于標(biāo)準(zhǔn)協(xié)議可識別的外部虛擬設(shè)備,并通過所建立的外部虛擬設(shè)備接收進(jìn)行更新的升級軟件,將所接收的升級軟件發(fā)送給存儲單元;存儲單元,用于存儲虛擬設(shè)備處理單元發(fā)送過來的所述升級軟件,完成自動(dòng)更新。
其中,所述虛擬設(shè)備處理單元包括虛擬設(shè)備建立模塊和數(shù)據(jù)信息處理模塊,其中,虛擬設(shè)備建立模塊,用于通過建立虛擬區(qū)域分配表,將設(shè)備設(shè)置為計(jì)算機(jī)基于該標(biāo)準(zhǔn)協(xié)議可識別的外部虛擬設(shè)備,通過所建立的外部虛擬設(shè)備接收來自計(jì)算機(jī)的數(shù)據(jù),將所接收的計(jì)算機(jī)數(shù)據(jù)發(fā)送給數(shù)據(jù)信息處理模塊;數(shù)據(jù)信息處理模塊,用于對所接收的計(jì)算機(jī)數(shù)據(jù)進(jìn)行分析,若計(jì)算機(jī)數(shù)據(jù)為升級軟件數(shù)據(jù),則將升級軟件數(shù)據(jù)發(fā)送給存儲單元;若計(jì)算機(jī)數(shù)據(jù)為控制命令數(shù)據(jù),則對該控制命令數(shù)據(jù)進(jìn)行虛擬處理。
較佳地,所述數(shù)據(jù)信息處理模塊進(jìn)一步用于根據(jù)所接收的升級軟件數(shù)據(jù),對升級軟件進(jìn)行校驗(yàn),若校驗(yàn)成功,則執(zhí)行所述將升級軟件數(shù)據(jù)發(fā)送給存儲單元的操作;若校驗(yàn)失敗,則結(jié)束更新操作。
較佳地,該裝置進(jìn)一步包括升級軟件運(yùn)行單元,用于運(yùn)行更新后的升級軟件,將升級軟件中程序代碼的文件讀入內(nèi)存中,根據(jù)程序代碼的運(yùn)行需求調(diào)用內(nèi)存外存儲的程序數(shù)據(jù)。
從上述方案可以看出,本發(fā)明通過建立虛擬區(qū)域分配表,將設(shè)備設(shè)置為計(jì)算機(jī)基于標(biāo)準(zhǔn)協(xié)議可識別的外部虛擬設(shè)備,并通過所建立的外部虛擬設(shè)備,將進(jìn)行更新的升級軟件下載到設(shè)備中,由設(shè)備接收到進(jìn)行更新的升級軟件后,完成自動(dòng)更新。從而使得軟件開發(fā)商無需提供計(jì)算機(jī)界面軟件,而只需把進(jìn)行更新的升級軟件本身提供給用戶即可,不僅降低了開發(fā)商的成本,而且減少了因?yàn)橛?jì)算機(jī)界面軟件存在bug造成的風(fēng)險(xiǎn)。并且由于用戶也無需再去學(xué)習(xí)如何使用計(jì)算機(jī)界面軟件,而只需按照普通拷貝文件的處理方式,將該升級軟件直接拖到外部虛擬設(shè)備標(biāo)識中進(jìn)行復(fù)制即可。因此,也提高了用戶的體驗(yàn)。
此外,由于無需提供配套計(jì)算機(jī)界面軟件,從而使得在進(jìn)行更新之前,無需在計(jì)算機(jī)上安裝該計(jì)算機(jī)界面程序,可使用任何一臺基于標(biāo)準(zhǔn)協(xié)議可識別該設(shè)備的計(jì)算機(jī),完成更新操作。
并且,由于采用不占用內(nèi)存的虛擬區(qū)域分配表,使得虛擬區(qū)域分配表可以設(shè)置在現(xiàn)有的BOOT內(nèi),利用BOOT作為引導(dǎo)系統(tǒng),而無需調(diào)用設(shè)備的主程序,使軟件更新的過程不依賴于設(shè)備的主程序,簡化了更新過程。
最后,本發(fā)明中由于將升級軟件按照將程序代碼和程序數(shù)據(jù)分開存放的原則進(jìn)行打包,并且更新后運(yùn)行時(shí)將程序代碼的文件讀入內(nèi)存中,根據(jù)程序代碼的運(yùn)行需求調(diào)用內(nèi)存外存儲的程序數(shù)據(jù)。從而降低了程序代碼運(yùn)行的空間,節(jié)約了成本。
圖1為本發(fā)明實(shí)現(xiàn)軟件更新方法的示例性流程圖;圖2為本發(fā)明實(shí)現(xiàn)軟件更新裝置的示例性結(jié)構(gòu)圖;圖3為本發(fā)明具體實(shí)施例中實(shí)現(xiàn)軟件更新方法的流程圖;圖4為本發(fā)明具體實(shí)施例中一種升級軟件的打包示意圖;圖5為本發(fā)明具體實(shí)施例中實(shí)現(xiàn)軟件更新裝置的結(jié)構(gòu)圖。
具體實(shí)施例方式
本發(fā)明的基本思想是通過建立虛擬區(qū)域分配表,將設(shè)備設(shè)置為計(jì)算機(jī)基于標(biāo)準(zhǔn)協(xié)議可識別的外部虛擬設(shè)備,計(jì)算機(jī)通過所建立的外部虛擬設(shè)備,向設(shè)備中下載進(jìn)行更新的升級軟件,設(shè)備接收到進(jìn)行更新的升級軟件后,完成自動(dòng)更新。
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合實(shí)施例和附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。
參見圖1,圖1為本發(fā)明實(shí)現(xiàn)軟件更新方法的示例性流程圖。如圖1所示,該流程包括如下步驟步驟101,通過建立虛擬區(qū)域分配表,將設(shè)備設(shè)置為計(jì)算機(jī)基于標(biāo)準(zhǔn)協(xié)議可識別的外部虛擬設(shè)備。
其中,標(biāo)準(zhǔn)協(xié)議可以是通用串行總線(USB)的MassStorage協(xié)議,則可將設(shè)備設(shè)置為虛擬U盤,也可以是其它標(biāo)準(zhǔn)協(xié)議,則可將設(shè)備設(shè)置為與其它標(biāo)準(zhǔn)協(xié)議相對應(yīng)的虛擬設(shè)備。
為了將設(shè)備設(shè)置為基于標(biāo)準(zhǔn)協(xié)議可識別的外部虛擬設(shè)備,可在設(shè)備中建立用于表示外部虛擬設(shè)備信息的虛擬區(qū)域分配表,其中,虛擬區(qū)域分配表可以是虛擬化處理的FAT表,虛擬區(qū)域分配表不占用實(shí)際的存儲空間,只用于進(jìn)入更新狀態(tài)時(shí),在設(shè)備內(nèi)存中加載該虛擬區(qū)域分配表,以便設(shè)備與計(jì)算機(jī)進(jìn)行通信時(shí),當(dāng)計(jì)算機(jī)通過標(biāo)準(zhǔn)協(xié)議讀取設(shè)備的虛擬區(qū)域分配文件系統(tǒng)信息時(shí),直接將虛擬區(qū)域分配表中的缺省信息提供給計(jì)算機(jī),而缺省信息只包括一些簡單的交互信息,如存儲空間大小信息等,可無需設(shè)置真正的目錄區(qū)、文件區(qū)和數(shù)據(jù)區(qū),其數(shù)據(jù)區(qū)可被直接映射到設(shè)備的實(shí)際存儲區(qū)域中即可,成為一個(gè)虛擬數(shù)據(jù)區(qū)。當(dāng)設(shè)備進(jìn)入更新狀態(tài)前,虛擬區(qū)域分配表將不會被建立,更新結(jié)束后,虛擬區(qū)域分配表會從設(shè)備內(nèi)存中移除。從而達(dá)到虛擬需要分配表一方面可以幫助實(shí)現(xiàn)基于標(biāo)準(zhǔn)協(xié)議進(jìn)行軟件更新的過程,另一方面又不占用設(shè)備的內(nèi)存空間的目的。
該虛擬區(qū)域分配表的缺省信息可包括文件系統(tǒng)類型和用戶定義的存儲空間大小。其中,文件系統(tǒng)類型包括FAT12或FAT16,用戶定義的存儲空間大小可以是根據(jù)存放升級軟件的大小確定的存儲空間大小,也可以是設(shè)備本身實(shí)際所允許的存儲空間大小。其中,虛擬區(qū)域分配表中可沒有缺省文件,也沒有缺省目錄名。
實(shí)際應(yīng)用中,也可以對虛擬區(qū)域分配表中的信息進(jìn)行合理更改,如還可設(shè)置一個(gè)缺省的空目錄等。
其中,當(dāng)設(shè)備與計(jì)算機(jī)斷開連接以后,上述虛擬區(qū)域分配表自動(dòng)刪除。
步驟102,將設(shè)備與計(jì)算機(jī)連接,在計(jì)算機(jī)中產(chǎn)生代表設(shè)備的外部虛擬設(shè)備標(biāo)識。
本步驟中,將設(shè)備通過標(biāo)準(zhǔn)協(xié)議接口與計(jì)算機(jī)連接后,計(jì)算機(jī)和設(shè)備之間遵從標(biāo)準(zhǔn)協(xié)議,實(shí)現(xiàn)握手和連接,當(dāng)計(jì)算機(jī)按照標(biāo)準(zhǔn)協(xié)議讀取設(shè)備的虛擬區(qū)域分配文件系統(tǒng)信息時(shí),設(shè)備將虛擬區(qū)域分配表中的缺省信息提供給計(jì)算機(jī),計(jì)算機(jī)根據(jù)所獲取的信息,在計(jì)算機(jī)中產(chǎn)生表示設(shè)備的外部虛擬設(shè)備標(biāo)識,并且點(diǎn)擊該外部虛擬設(shè)備標(biāo)識時(shí),出現(xiàn)的系統(tǒng)信息包括文件系統(tǒng)類型FAT12或FAT16,固定的存儲容量,即用戶定義的存儲空間大小等。
較佳地,該設(shè)備可包括正常工作模式和更新模式,則將設(shè)備與計(jì)算機(jī)連接之前,可將設(shè)備切換至更新模式,之后將切換至更新模式的設(shè)備與計(jì)算機(jī)連接。如可設(shè)置一個(gè)更新按鍵,當(dāng)該更新按鍵被按下時(shí),設(shè)備切換至更新模式。
步驟103,向外部虛擬設(shè)備表示的設(shè)備中下載進(jìn)行更新的升級軟件。
本步驟中,用戶可按照向普通設(shè)備或存儲區(qū)中拷貝文件的方式,將進(jìn)行更新的升級軟件向所顯示的外部虛擬設(shè)備標(biāo)識中進(jìn)行復(fù)制,則計(jì)算機(jī)按照標(biāo)準(zhǔn)協(xié)議向設(shè)備中下載數(shù)據(jù),設(shè)備對所接收的來自計(jì)算機(jī)的數(shù)據(jù)進(jìn)行分析,若數(shù)據(jù)為升級軟件數(shù)據(jù),則設(shè)備將升級軟件數(shù)據(jù)寫入設(shè)備內(nèi)部的存儲空間中,其中可由外部虛擬設(shè)備驅(qū)動(dòng)來完成數(shù)據(jù)寫入功能;若數(shù)據(jù)為控制命令數(shù)據(jù),則設(shè)備對該控制命令數(shù)據(jù)進(jìn)行虛擬處理,處理過程參照標(biāo)準(zhǔn)協(xié)議進(jìn)行。其中,虛擬處理可包括設(shè)備根據(jù)控制命令的指令,按照標(biāo)準(zhǔn)協(xié)議向計(jì)算機(jī)返回正常結(jié)果,但不執(zhí)行相應(yīng)操作。
較佳地,設(shè)備將升級軟件數(shù)據(jù)寫入設(shè)備內(nèi)部的存儲空間之前,進(jìn)一步包括對所接收的進(jìn)行更新的升級軟件數(shù)據(jù)進(jìn)行校驗(yàn),若校驗(yàn)成功,將升級軟件數(shù)據(jù)寫入設(shè)備內(nèi)部的存儲空間;若校驗(yàn)失敗,則結(jié)束更新流程。其中,校驗(yàn)過程可按照現(xiàn)有技術(shù)中的校驗(yàn)方法進(jìn)行。如可根據(jù)升級軟件的長度和校驗(yàn)碼等來校驗(yàn)數(shù)據(jù)。
其中,進(jìn)行更新的升級軟件可以是從網(wǎng)絡(luò)上下載的,也可以是從光盤等存儲介質(zhì)上獲取的。
步驟104,設(shè)備接收到進(jìn)行更新的升級軟件后,完成自動(dòng)更新。
其中,設(shè)備將所接收的進(jìn)行更新的升級軟件,存儲到系統(tǒng)指定的存儲區(qū)域中,即存儲到虛擬區(qū)域分配表的數(shù)據(jù)區(qū)所映射的設(shè)備中的實(shí)際存儲區(qū)域中,完成自動(dòng)更新。具體進(jìn)行更新的過程可與現(xiàn)有技術(shù)中的過程一致,此處不再贅述。
較佳地,本步驟中還可進(jìn)一步包括根據(jù)更新結(jié)果,進(jìn)行更新的設(shè)備通過所建立的虛擬區(qū)域分配表將更新結(jié)果反饋給所述計(jì)算機(jī),并可在計(jì)算機(jī)中表示設(shè)備的外部虛擬設(shè)備標(biāo)識內(nèi)產(chǎn)生表示升級軟件更新成功與否的文件名。
其中,進(jìn)行更新的設(shè)備通過所建立的虛擬區(qū)域分配表將更新結(jié)果反饋給所述計(jì)算機(jī)的過程可以是進(jìn)行更新的設(shè)備根據(jù)更新結(jié)果,生成與更新結(jié)果相對應(yīng)的狀態(tài)反饋文件,若更新成功,則生成表征正確的狀態(tài)反饋文件;若更新失敗,則生成表征錯(cuò)誤的狀態(tài)反饋文件。并且狀態(tài)反饋文件可以字符串或數(shù)字的形式填充在虛擬區(qū)域分配表的目錄和文件名區(qū)中,計(jì)算機(jī)從虛擬區(qū)域表中讀取這些字符串或數(shù)字之后,在計(jì)算機(jī)中表示設(shè)備的外部虛擬設(shè)備標(biāo)識內(nèi)產(chǎn)生表示升級軟件更新成功與否的文件名。
例如若更新成功,包括步驟103中對升級軟件數(shù)據(jù)的校驗(yàn)成功,且都成功寫入內(nèi)部存儲空間,完成了自動(dòng)更新,則可在計(jì)算機(jī)中表示設(shè)備的外部虛擬設(shè)備標(biāo)識內(nèi)產(chǎn)生表示升級軟件更新成功的“Success”文件名;若更新失敗,包括步驟103中對升級軟件數(shù)據(jù)的校驗(yàn)失敗,則可在計(jì)算機(jī)中表示設(shè)備的外部虛擬設(shè)備標(biāo)識內(nèi)產(chǎn)生表示升級軟件更新失敗的“Fail”文件名。
此外,為了降低系統(tǒng)需要的運(yùn)行代碼的空間(RAM),從而節(jié)省成本,可以將現(xiàn)有技術(shù)中放入代碼運(yùn)行空間的程序數(shù)據(jù)放入RAM外的其它價(jià)格便宜的存儲空間中,即升級軟件運(yùn)行時(shí),可不將這部分程序數(shù)據(jù)讀入內(nèi)存中,而只需將程序代碼讀入內(nèi)存即可,為此,可將進(jìn)行更新的升級軟件按照將程序代碼和程序數(shù)據(jù)分開存放的原則進(jìn)行打包,如將程序代碼和程序數(shù)據(jù)分別放入不同的文件中,并將程序代碼的文件標(biāo)識為讀入內(nèi)存的文件。
之后,該方法可進(jìn)一步包括在運(yùn)行更新后的軟件時(shí),正確識別該升級軟件的打包信息,將程序代碼的文件讀入內(nèi)存中,根據(jù)程序代碼的運(yùn)行需求調(diào)用內(nèi)存外存儲的程序數(shù)據(jù)。從而降低了系統(tǒng)需要的代碼運(yùn)行空間,節(jié)約了成本。
以上對本發(fā)明實(shí)施例中實(shí)現(xiàn)軟件更新的方法進(jìn)行了詳細(xì)描述,下面再對本發(fā)明實(shí)施例中實(shí)現(xiàn)軟件更新的裝置進(jìn)行詳細(xì)描述。
參見圖2,圖2為本發(fā)明實(shí)現(xiàn)軟件更新裝置的示例性結(jié)構(gòu)圖。如圖2所示,該裝置包括虛擬設(shè)備處理單元210和存儲單元220。
其中,虛擬設(shè)備處理單元210,用于通過建立虛擬區(qū)域分配表,將設(shè)備設(shè)置為計(jì)算機(jī)基于標(biāo)準(zhǔn)協(xié)議可識別的外部虛擬設(shè)備,并通過所建立的外部虛擬設(shè)備接收進(jìn)行更新的升級軟件,將所接收的升級軟件發(fā)送給存儲單元220。
其中,虛擬設(shè)備處理單元210中包括虛擬區(qū)域分配表,當(dāng)計(jì)算機(jī)通過標(biāo)準(zhǔn)協(xié)議讀取設(shè)備的虛擬區(qū)域分配文件系統(tǒng)信息時(shí),虛擬設(shè)備處理單元210將虛擬區(qū)域分配表中的缺省信息提供給計(jì)算機(jī)。并且在接收來自計(jì)算機(jī)的數(shù)據(jù)時(shí),可對所接收的數(shù)據(jù)進(jìn)行分析,若數(shù)據(jù)為升級軟件數(shù)據(jù),則設(shè)備將升級軟件數(shù)據(jù)發(fā)送給存儲單元220,其中可由外部虛擬設(shè)備驅(qū)動(dòng)來完成數(shù)據(jù)寫入功能;若數(shù)據(jù)為控制命令數(shù)據(jù),則設(shè)備對該控制命令數(shù)據(jù)進(jìn)行虛擬處理。
上述虛擬設(shè)備處理單元210可設(shè)置在引導(dǎo)系統(tǒng)BOOT中,這樣,升級軟件的更新過程,可不依賴于設(shè)備中系統(tǒng)的主程序,而獨(dú)立工作。
存儲單元220,用于存儲虛擬設(shè)備處理單元210發(fā)送過來的進(jìn)行更新的升級軟件,完成自動(dòng)更新。
其中,進(jìn)行更新的過程與現(xiàn)有技術(shù)中進(jìn)行更新的過程相同。
其中,虛擬設(shè)備處理單元210在具體實(shí)現(xiàn)時(shí),可有多種實(shí)現(xiàn)形式,本實(shí)施例中只列舉其中一種。如圖2所示,本實(shí)施例中的虛擬設(shè)備處理單元210可具體包括虛擬設(shè)備建立模塊211和數(shù)據(jù)信息處理模塊212。
其中,虛擬設(shè)備建立模塊211,用于按照標(biāo)準(zhǔn)協(xié)議,通過建立虛擬區(qū)域分配表,將設(shè)備設(shè)置為計(jì)算機(jī)基于該標(biāo)準(zhǔn)協(xié)議可識別的外部虛擬設(shè)備,通過所建立的外部虛擬設(shè)備接收來自計(jì)算機(jī)的數(shù)據(jù),將所接收的計(jì)算機(jī)數(shù)據(jù)發(fā)送給數(shù)據(jù)信息處理模塊212。
數(shù)據(jù)信息處理模塊212,用于對所接收的計(jì)算機(jī)數(shù)據(jù)進(jìn)行分析,若計(jì)算機(jī)數(shù)據(jù)為升級軟件數(shù)據(jù),則將升級軟件數(shù)據(jù)發(fā)送給存儲單元210;若計(jì)算機(jī)數(shù)據(jù)為控制命令數(shù)據(jù),則對該控制命令數(shù)據(jù)進(jìn)行虛擬處理。
此外,數(shù)據(jù)信息處理模塊212可進(jìn)一步用于根據(jù)所接收的升級軟件數(shù)據(jù),對升級軟件進(jìn)行校驗(yàn),若校驗(yàn)成功,則執(zhí)行所述將升級軟件數(shù)據(jù)發(fā)送給存儲單元210的操作;若校驗(yàn)失敗,則結(jié)束更新操作。相應(yīng)地,可根據(jù)更新結(jié)果,通過所建立的虛擬區(qū)域分配表,通知計(jì)算機(jī)在表示設(shè)備的外部虛擬設(shè)備標(biāo)識內(nèi)產(chǎn)生表示升級軟件更新成功與否的文件名。
其中,升級軟件可以按照與現(xiàn)有技術(shù)相同的處理方式進(jìn)行打包,也可以為了降低代碼運(yùn)行的空間,而按照將程序代碼和程序數(shù)據(jù)分開存放的原則進(jìn)行打包,若升級軟件按照與現(xiàn)有技術(shù)相同的處理方式進(jìn)行打包,則該裝置按照與現(xiàn)有技術(shù)相同的方式運(yùn)行升級軟件,若升級軟件按照將程序代碼和程序數(shù)據(jù)分開存放的原則進(jìn)行打包,則本實(shí)施例中的裝置還可以包括升級軟件運(yùn)行單元,用于運(yùn)行更新后的升級軟件,將升級軟件中程序代碼的文件讀入內(nèi)存中,根據(jù)程序代碼的運(yùn)行需求調(diào)用內(nèi)存外存儲的程序數(shù)據(jù)。
下面以標(biāo)準(zhǔn)協(xié)議為USB MassStorage協(xié)議時(shí)為例,對本發(fā)明中實(shí)現(xiàn)軟件更新的方法及裝置結(jié)合具體實(shí)施例進(jìn)行詳細(xì)描述。
參見圖3,圖3為本發(fā)明具體實(shí)施例中實(shí)現(xiàn)軟件更新的方法的流程圖。如圖3所示,該流程包括如下步驟步驟301,在設(shè)備中建立虛擬U盤。
本步驟中,按照U盤的標(biāo)準(zhǔn)協(xié)議,即USB MassStorage協(xié)議,將設(shè)備設(shè)置成U盤的形式,以便與計(jì)算機(jī)連接時(shí),計(jì)算機(jī)將設(shè)備當(dāng)作U盤處理。為實(shí)現(xiàn)該目的,可在設(shè)備中建立用于表示虛擬U盤信息的虛擬區(qū)域分配(FAT)表,該FAT表的缺省信息包括文件系統(tǒng)類型和用戶定義的存儲空間大小。其中,文件系統(tǒng)類型包括FAT12或FAT16,用戶定義的存儲空間大小可以是根據(jù)存放升級軟件的大小確定的存儲空間大小,也可以是設(shè)備本身實(shí)際所允許的存儲空間大小。
其中,F(xiàn)AT表不占用實(shí)際的存儲空間,只用于與計(jì)算機(jī)進(jìn)行通信時(shí),當(dāng)計(jì)算機(jī)通過USB MassStorage協(xié)議讀取設(shè)備的FAT文件系統(tǒng)信息時(shí),直接將FAT表中的缺省信息提供給計(jì)算機(jī)。其中,F(xiàn)AT表中沒有缺省文件,也沒有缺省目錄名。
實(shí)際應(yīng)用中,也可以對FAT表中的信息進(jìn)行合理更改,如還可設(shè)置一個(gè)缺省的空目錄等。
步驟302,將設(shè)備與計(jì)算機(jī)連接,在計(jì)算機(jī)中產(chǎn)生表示設(shè)備的U盤符。
本步驟中,將設(shè)備通過USB接口與計(jì)算機(jī)連接后,計(jì)算機(jī)和設(shè)備之間遵從USB MassStorage協(xié)議,實(shí)現(xiàn)握手和連接,當(dāng)計(jì)算機(jī)按照MassStorage協(xié)議讀取設(shè)備的FAT文件系統(tǒng)信息時(shí),設(shè)備將FAT表中的缺省信息提供給計(jì)算機(jī),計(jì)算機(jī)根據(jù)所獲取的信息,在計(jì)算機(jī)中產(chǎn)生表示設(shè)備的U盤符,并且點(diǎn)擊該U盤符時(shí),出現(xiàn)的系統(tǒng)信息包括文件系統(tǒng)類型FAT12或FAT16,固定的存儲容量,即用戶定義的存儲空間大小等。
較佳地,該設(shè)備可包括正常工作模式和更新模式,則將設(shè)備與計(jì)算機(jī)連接之前,可將設(shè)備切換至更新模式,之后將切換至更新模式的設(shè)備與計(jì)算機(jī)連接。如可設(shè)置一個(gè)更新按鍵,當(dāng)該更新按鍵被按下時(shí),設(shè)備切換至更新模式。
步驟303,將進(jìn)行更新的升級軟件下載到U盤表示的設(shè)備中。
本步驟中,用戶可按照向普通U盤中拷貝文件的方式,將進(jìn)行更新的升級軟件向所顯示的U盤中進(jìn)行復(fù)制,則計(jì)算機(jī)按照U盤的標(biāo)準(zhǔn)協(xié)議向設(shè)備中傳輸數(shù)據(jù),設(shè)備對所接收的來自計(jì)算機(jī)的數(shù)據(jù)進(jìn)行分析,若數(shù)據(jù)為升級軟件數(shù)據(jù),則設(shè)備將升級軟件數(shù)據(jù)寫入設(shè)備內(nèi)部的存儲空間中,其中可由NAND驅(qū)動(dòng)等閃存驅(qū)動(dòng)來完成數(shù)據(jù)寫入功能,如可寫入NAND閃存中進(jìn)行存儲;若數(shù)據(jù)為控制命令數(shù)據(jù),則設(shè)備對該控制命令數(shù)據(jù)進(jìn)行虛擬處理,處理過程參照USB MassStorage協(xié)議進(jìn)行。其中,設(shè)備根據(jù)控制命令數(shù)據(jù)的指令,向計(jì)算機(jī)返回正常結(jié)果,但不執(zhí)行相應(yīng)操作。如計(jì)算機(jī)向設(shè)備發(fā)送格式化命令,設(shè)備接收到該格式化命令后,并不進(jìn)行真正的格式化,而是向計(jì)算機(jī)返回格式化完成的結(jié)果等。
較佳地,設(shè)備將升級軟件數(shù)據(jù)寫入設(shè)備內(nèi)部的存儲空間之前,進(jìn)一步包括對所接收的進(jìn)行更新的升級軟件數(shù)據(jù)進(jìn)行校驗(yàn),若校驗(yàn)成功,將升級軟件數(shù)據(jù)寫入設(shè)備內(nèi)部的存儲空間;若校驗(yàn)失敗,則結(jié)束更新流程。
其中,進(jìn)行更新的升級軟件可以是從網(wǎng)絡(luò)上下載的,也可以是從光盤等存儲介質(zhì)上獲取的。
步驟304,設(shè)備接收到進(jìn)行更新的升級軟件后,完成自動(dòng)更新。
其中,進(jìn)行更新的過程可與現(xiàn)有技術(shù)中的過程一致。
較佳地,本步驟中還可進(jìn)一步包括根據(jù)更新結(jié)果,可在計(jì)算機(jī)中表示設(shè)備的U盤內(nèi)產(chǎn)生表示升級軟件更新成功與否的文件名。例如若更新成功,包括步驟303中對升級軟件數(shù)據(jù)的校驗(yàn)成功,且都成功寫入內(nèi)部存儲空間,完成了自動(dòng)更新,則可在計(jì)算機(jī)中表示設(shè)備的U盤內(nèi)產(chǎn)生表示升級軟件更新成功的“Success”文件名;若更新失敗,包括步驟303中對升級軟件數(shù)據(jù)的校驗(yàn)失敗,則可在計(jì)算機(jī)中表示設(shè)備的U盤內(nèi)產(chǎn)生表示升級軟件更新失敗的“Fail”文件名。
同樣,為了降低系統(tǒng)需要的運(yùn)行代碼的空間(RAM),從而節(jié)省成本,可以將現(xiàn)有技術(shù)中放入代碼運(yùn)行空間的程序數(shù)據(jù)放入RAM外的其它價(jià)格便宜的存儲空間中,即升級軟件運(yùn)行時(shí),可不將這部分程序數(shù)據(jù)讀入內(nèi)存中,而只需將程序代碼讀入內(nèi)存即可,為此,可將進(jìn)行更新的升級軟件按照將程序代碼和程序數(shù)據(jù)分開存放的原則進(jìn)行打包,如將程序代碼和程序數(shù)據(jù)分別放入不同的文件中,并將程序代碼的文件標(biāo)識為讀入內(nèi)存的文件。
例如,假設(shè)一個(gè)升級軟件共占用512比特的空間,且共包括31個(gè)文件,則打包的方式可以如圖4所示,圖4示出了一種升級軟件的打包示意圖。
圖4中左側(cè)的一列表示整個(gè)升級軟件,最上面一部分為文件信息,且指示該升級軟件共占用512比特的空間,且共包括31個(gè)文件。下面依次表示第0到第30個(gè)文件。圖4中的中間一列示出了左側(cè)一列中最上面的文件信息的詳細(xì)內(nèi)容,包括16比特的包文件頭信息、16比特的SRAM代碼文件信息、16比特的DRAM代碼文件信息、16比特的開機(jī)畫面文件信息、16比特的更新畫面文件信息、16比特的樂器庫文件信息等。其中,16比特的包文件頭信息可具體如圖4中的右側(cè)一列所示包括8比特的文件標(biāo)識信息、4比特的文件大小信息和4比特的校驗(yàn)值信息。其中,16比特的SRAM代碼文件信息可如圖4中的右側(cè)一列所示包括4比特的文件標(biāo)識、4比特的文件大小、4比特的CRC校驗(yàn)值以及用于擴(kuò)展的4比特的預(yù)留位。
其中,將程序代碼和程序數(shù)據(jù)分別放入不同的文件中,如SRAM代碼文件和SDRAM代碼文件均屬于程序代碼文件,其它的文件則屬于程序數(shù)據(jù)文件。之后,將程序代碼的文件標(biāo)識為讀入內(nèi)存的文件,即將程序代碼文件標(biāo)識為讀入SRAM中,或讀入DRAM中。如下所示,列舉幾個(gè)文件標(biāo)識為0x00000001表示SRAM代碼文件標(biāo)識;0x00000002表示DRAM代碼文件標(biāo)識;0x00000010表示圖片面文件標(biāo)識;0x000000FF表示樂器庫文件標(biāo)識等。
之后,該方法可進(jìn)一步包括在運(yùn)行更新后的軟件時(shí),正確識別該升級軟件的打包信息,將NAND閃存中存儲的具有SRAM代碼文件標(biāo)識的程序代碼文件讀入內(nèi)存SRAM中,將具有DRAM代碼文件標(biāo)識的程序代碼文件讀入內(nèi)存DRAM中,并在運(yùn)行程序代碼時(shí),根據(jù)程序代碼的運(yùn)行需求調(diào)用NAND閃存中存儲的所需程序數(shù)據(jù)。從而降低了系統(tǒng)需要的代碼運(yùn)行空間,節(jié)約了成本。
其中,在從NAND中讀取文件時(shí),為了正確找尋到相應(yīng)文件,可對文件進(jìn)行如下計(jì)算并按照計(jì)算結(jié)果進(jìn)行查找,由于該部分的實(shí)現(xiàn),現(xiàn)有技術(shù)中已有多種實(shí)現(xiàn)方式,因此不再進(jìn)行過多描述。
其中,單個(gè)文件的占用空間計(jì)算公式為FILESPACE=/*每個(gè)文件占用的NAND的空間大小*/((FILESIZE(4bytes)+NAND_PAGESIZE-1)/NAND_PAGESIZE)*NAND_PAGESIZE文件i在NAND中的起始塊和起始頁的計(jì)算公式為TOTALSPACE=/*當(dāng)前文件之前所有文件占用的NAND的空間大小*/NAND_PAGESIZE(文件信息表)+∑FILESPACE(i-1)BLOCKNUM=TOTALSPACE/(NAND_PAGESIZE*NAND_PAGE_PERBLOCK)PAGENUM=(TOTALSPACE%(NAND_PAGESIZE*NAND_PAGE_PERBLOCK))/NAND_PAGESIZE以上對本發(fā)明具體實(shí)施例中實(shí)現(xiàn)軟件更新的方法進(jìn)行了詳細(xì)描述,下面再對本發(fā)明具體實(shí)施例中實(shí)現(xiàn)軟件更新的裝置進(jìn)行詳細(xì)描述。
參見圖5,圖5為本發(fā)明實(shí)施例中實(shí)現(xiàn)軟件更新的裝置的結(jié)構(gòu)示意圖。如圖5所示,該裝置包括虛擬U盤處理單元510和存儲單元520。
其中,虛擬U盤處理單元510,用于通過建立虛擬區(qū)域分配表,將設(shè)備設(shè)置為計(jì)算機(jī)基于標(biāo)準(zhǔn)協(xié)議可識別的外部虛擬U盤,并通過所建立的虛擬U盤接收進(jìn)行更新的升級軟件,將所接收的升級軟件發(fā)送給存儲單元520。
其中,虛擬U盤處理單元510中包括虛擬FAT表,當(dāng)計(jì)算機(jī)通過USB的MassStorage協(xié)議讀取設(shè)備的FAT文件系統(tǒng)信息時(shí),虛擬U盤處理單元510將FAT表中的缺省信息提供給計(jì)算機(jī)。并且在接收來自計(jì)算機(jī)的數(shù)據(jù)時(shí),可對所接收的數(shù)據(jù)進(jìn)行分析,若數(shù)據(jù)為升級軟件數(shù)據(jù),則設(shè)備將升級軟件數(shù)據(jù)發(fā)送給存儲單元520,其中可由NAND驅(qū)動(dòng)等閃存驅(qū)動(dòng)來完成數(shù)據(jù)寫入功能;若數(shù)據(jù)為控制命令數(shù)據(jù),則設(shè)備對該控制命令數(shù)據(jù)進(jìn)行虛擬處理。
存儲單元520,用于存儲虛擬U盤處理單元510發(fā)送過來的進(jìn)行更新的升級軟件,完成自動(dòng)更新。其中,存儲單元520可以為NAND閃存。
其中,進(jìn)行更新的過程與現(xiàn)有技術(shù)中進(jìn)行更新的過程相同。
其中,虛擬U盤處理單元510在具體實(shí)現(xiàn)時(shí),可具體包括虛擬U盤建立模塊511和數(shù)據(jù)信息處理模塊512。
其中,虛擬U盤建立模塊511,用于將設(shè)備設(shè)置為計(jì)算機(jī)基于U盤的標(biāo)準(zhǔn)協(xié)議可識別的外部虛擬U盤,通過所建立的虛擬U盤接收來自計(jì)算機(jī)的數(shù)據(jù),將所接收的計(jì)算機(jī)數(shù)據(jù)發(fā)送給數(shù)據(jù)信息處理模塊512。
數(shù)據(jù)信息處理模塊512,用于對所接收的計(jì)算機(jī)數(shù)據(jù)進(jìn)行分析,若計(jì)算機(jī)數(shù)據(jù)為升級軟件數(shù)據(jù),則將升級軟件數(shù)據(jù)發(fā)送給存儲單元510;若計(jì)算機(jī)數(shù)據(jù)為控制命令數(shù)據(jù),則對該控制命令數(shù)據(jù)進(jìn)行虛擬處理。
此外,數(shù)據(jù)信息處理模塊512可進(jìn)一步用于根據(jù)所接收的升級軟件數(shù)據(jù),對升級軟件進(jìn)行校驗(yàn),若校驗(yàn)成功,則執(zhí)行所述將升級軟件數(shù)據(jù)發(fā)送給存儲單元510的操作;若校驗(yàn)失敗,則結(jié)束更新操作。相應(yīng)地,可根據(jù)更新結(jié)果,通知計(jì)算機(jī)在表示設(shè)備的U盤內(nèi)產(chǎn)生表示升級軟件更新成功與否的文件名。
其中,升級軟件可以按照與現(xiàn)有技術(shù)相同的處理方式進(jìn)行打包,也可以為了降低代碼運(yùn)行的空間,而按照將程序代碼和程序數(shù)據(jù)分開存放的原則進(jìn)行打包,若升級軟件按照與現(xiàn)有技術(shù)相同的處理方式進(jìn)行打包,則該裝置按照與現(xiàn)有技術(shù)相同的方式運(yùn)行升級軟件,若升級軟件按照將程序代碼和程序數(shù)據(jù)分開存放的原則進(jìn)行打包,則本實(shí)施例中的裝置還可以包括升級軟件運(yùn)行單元,用于運(yùn)行更新后的升級軟件,將升級軟件中程序代碼的文件讀入內(nèi)存中,根據(jù)程序代碼的運(yùn)行需求調(diào)用NAND閃存中存儲的程序數(shù)據(jù)。
以上所述的具體實(shí)施例,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種實(shí)現(xiàn)軟件更新的方法,其特征在于,該方法包括A、通過建立虛擬區(qū)域分配表,將設(shè)備設(shè)置為計(jì)算機(jī)基于標(biāo)準(zhǔn)協(xié)議可識別的外部虛擬設(shè)備;B、計(jì)算機(jī)通過所建立的外部虛擬設(shè)備,向所述設(shè)備下載進(jìn)行更新的升級軟件,設(shè)備接收到進(jìn)行更新的升級軟件后,完成自動(dòng)更新。
2.如權(quán)利要求1所述的方法,其特征在于,所述進(jìn)行更新的升級軟件為按照將程序代碼和程序數(shù)據(jù)分開存放的原則進(jìn)行打包形成的升級軟件包。
3.如權(quán)利要求2所述的方法,其特征在于,所述按照將程序代碼和程序數(shù)據(jù)分開存儲的原則進(jìn)行打包為將程序代碼和程序數(shù)據(jù)分別放入不同的文件中,并將程序代碼的文件標(biāo)識為讀入內(nèi)存的文件。
4.如權(quán)利要求3所述的方法,其特征在于,更新完成后,該方法進(jìn)一步包括運(yùn)行更新后的軟件時(shí),將程序代碼的文件讀入內(nèi)存中,根據(jù)程序代碼的運(yùn)行需求調(diào)用內(nèi)存外存儲的程序數(shù)據(jù)。
5.如權(quán)利要求1所述的方法,其特征在于,所述設(shè)備包括用于表示外部虛擬設(shè)備信息的虛擬區(qū)域分配表,且虛擬區(qū)域分配表不占用實(shí)際的存儲空間,所述虛擬區(qū)域分配表用于設(shè)備在與計(jì)算機(jī)進(jìn)行通信時(shí),當(dāng)計(jì)算機(jī)通過標(biāo)準(zhǔn)協(xié)議讀取設(shè)備的虛擬區(qū)域分配文件系統(tǒng)信息時(shí),直接將虛擬區(qū)域分配表中的缺省信息提供給計(jì)算機(jī)。
6.如權(quán)利要求5所述的方法,其特征在于,所述虛擬區(qū)域分配表設(shè)置在所述設(shè)備的引導(dǎo)系統(tǒng)BOOT內(nèi)。
7.如權(quán)利要求5所述的方法,其特征在于,所述虛擬區(qū)域分配表的缺省信息包括文件系統(tǒng)類型和用戶定義的存儲空間大小。
8.如權(quán)利要求7所述的方法,其特征在于,所述用戶定義的存儲空間大小為根據(jù)存放升級軟件的大小確定的存儲空間大小,或設(shè)備本身實(shí)際所允許的存儲空間大小。
9.如權(quán)利要求1所述的方法,其特征在于,步驟A和步驟B之間進(jìn)一步包括將設(shè)備與計(jì)算機(jī)連接,在計(jì)算機(jī)中產(chǎn)生代表設(shè)備的外部虛擬設(shè)備標(biāo)識;則步驟B中所述通過外部虛擬設(shè)備,向設(shè)備下載進(jìn)行更新的升級軟件具體包括用戶將進(jìn)行更新的升級軟件向所顯示的外部虛擬設(shè)備標(biāo)識中進(jìn)行復(fù)制;計(jì)算機(jī)按照標(biāo)準(zhǔn)協(xié)議向設(shè)備中下載數(shù)據(jù),設(shè)備將來自計(jì)算機(jī)的數(shù)據(jù)中的升級軟件數(shù)據(jù)寫入設(shè)備內(nèi)部的存儲空間。
10.如權(quán)利要求9所述的方法,其特征在于,所述設(shè)備包括正常工作模式和更新模式;則所述將設(shè)備與計(jì)算機(jī)連接之前,進(jìn)一步包括將設(shè)備切換到更新模式。
11.如權(quán)利要求9所述的方法,其特征在于,該方法進(jìn)一步包括設(shè)備對來自計(jì)算機(jī)的數(shù)據(jù)中的控制命令數(shù)據(jù)進(jìn)行虛擬處理。
12.如權(quán)利要求9所述的方法,其特征在于,所述設(shè)備將升級軟件數(shù)據(jù)寫入設(shè)備內(nèi)部的存儲空間之前,進(jìn)一步包括對升級軟件數(shù)據(jù)進(jìn)行校驗(yàn),若校驗(yàn)成功,則執(zhí)行所述將升級軟件數(shù)據(jù)寫入設(shè)備內(nèi)部的存儲空間的操作;若校驗(yàn)失敗,則結(jié)束更新流程。
13.如權(quán)利要求1至12中任一項(xiàng)所述的方法,其特征在于,該方法進(jìn)一步包括根據(jù)更新的結(jié)果,所述設(shè)備通過所述虛擬區(qū)域分配表將所述更新結(jié)果反饋給所述計(jì)算機(jī),并在計(jì)算機(jī)中的外部虛擬設(shè)備標(biāo)識內(nèi)產(chǎn)生表示升級軟件更新成功與否的文件名。
14.如權(quán)利要求1至12中任一項(xiàng)所述的方法,其特征在于,所述外部虛擬設(shè)備為虛擬U盤。
15.一種實(shí)現(xiàn)軟件更新的裝置,其特征在于,該裝置包括虛擬設(shè)備處理單元和存儲單元,其中,虛擬設(shè)備處理單元,用于通過建立虛擬區(qū)域分配表,將設(shè)備設(shè)置為計(jì)算機(jī)基于標(biāo)準(zhǔn)協(xié)議可識別的外部虛擬設(shè)備,并通過所建立的外部虛擬設(shè)備接收進(jìn)行更新的升級軟件,將所接收的升級軟件發(fā)送給存儲單元;存儲單元,用于存儲虛擬設(shè)備處理單元發(fā)送過來的所述升級軟件,完成自動(dòng)更新。
16.如權(quán)利要求15所述的裝置,其特征在于,所述虛擬設(shè)備處理單元包括虛擬設(shè)備建立模塊和數(shù)據(jù)信息處理模塊,其中,虛擬設(shè)備建立模塊,用于通過建立虛擬區(qū)域分配表,將設(shè)備設(shè)置為計(jì)算機(jī)基于該標(biāo)準(zhǔn)協(xié)議可識別的外部虛擬設(shè)備,通過所建立的外部虛擬設(shè)備接收來自計(jì)算機(jī)的數(shù)據(jù),將所接收的計(jì)算機(jī)數(shù)據(jù)發(fā)送給數(shù)據(jù)信息處理模塊;數(shù)據(jù)信息處理模塊,用于對所接收的計(jì)算機(jī)數(shù)據(jù)進(jìn)行分析,若計(jì)算機(jī)數(shù)據(jù)為升級軟件數(shù)據(jù),則將升級軟件數(shù)據(jù)發(fā)送給存儲單元;若計(jì)算機(jī)數(shù)據(jù)為控制命令數(shù)據(jù),則對該控制命令數(shù)據(jù)進(jìn)行虛擬處理。
17.如權(quán)利要求16所述的裝置,其特征在于,所述數(shù)據(jù)信息處理模塊進(jìn)一步用于根據(jù)所接收的升級軟件數(shù)據(jù),對升級軟件進(jìn)行校驗(yàn),若校驗(yàn)成功,則執(zhí)行所述將升級軟件數(shù)據(jù)發(fā)送給存儲單元的操作;若校驗(yàn)失敗,則結(jié)束更新操作。
18.如權(quán)利要求15至17中任一項(xiàng)所述的裝置,其特征在于,該裝置進(jìn)一步包括升級軟件運(yùn)行單元,用于運(yùn)行更新后的升級軟件,將升級軟件中程序代碼的文件讀入內(nèi)存中,根據(jù)程序代碼的運(yùn)行需求調(diào)用內(nèi)存外存儲的程序數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種實(shí)現(xiàn)軟件更新的方法,包括通過建立虛擬區(qū)域分配表,將設(shè)備設(shè)置為計(jì)算機(jī)基于標(biāo)準(zhǔn)協(xié)議可識別的外部虛擬設(shè)備,計(jì)算機(jī)通過所建立的外部虛擬設(shè)備,向所述設(shè)備下載進(jìn)行更新的升級軟件,設(shè)備接收到進(jìn)行更新的升級軟件后,完成自動(dòng)更新。此外,本發(fā)明還公開了一種實(shí)現(xiàn)軟件更新的裝置,包括虛擬設(shè)備處理單元和存儲單元。本發(fā)明所提供的方法及裝置,能夠降低開發(fā)成本,并提高用戶體驗(yàn)。
文檔編號G06F9/445GK101030145SQ200710065299
公開日2007年9月5日 申請日期2007年4月10日 優(yōu)先權(quán)日2007年4月10日
發(fā)明者張華 , 劉勇, 譚帥 申請人:北京中星微電子有限公司