實現(xiàn)Web方式升級設(shè)備固件的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機技術(shù)領(lǐng)域,尤其涉及固件版本升級技術(shù)領(lǐng)域,具體是指一種實現(xiàn)Web方式升級設(shè)備固件的方法。
【背景技術(shù)】
[0002]隨著計算機技術(shù)的日新月異,Web應(yīng)用程序的使用也得到不斷的更新和為人們的操作提供便捷。其中Web應(yīng)用程序安裝升級是在Web應(yīng)用程序的使用過程中所面臨的一個很常見的技術(shù)問題。所謂升級就是對固件版本本身存在的問題進行修復或者優(yōu)化產(chǎn)品和提供新需求時,固件版本開發(fā)者發(fā)布的對應(yīng)改進的固件版本來更新現(xiàn)有固件版本的操作。其中,Web頁面的升級是相對于命令類升級更為便捷和常用的方式得到了各方面的青睞,是的其成為涉及到需要固件版本升級時基本會要求的一種升級操作。
[0003]對比于一般的Web頁面升級固件版本方式,不外乎是先將固件版本下載到緩存中,然后檢測下載固件版本的正確性,若正確則將固件版本寫入到對應(yīng)的備用分區(qū),重啟切換到升級后的固件版本運行。如果不正確則刪除下載的固件版本提示升級失敗。這種方式是一種相對于安全和可靠的升級方式,但是當升級的目標設(shè)備內(nèi)存嚴重不足時,這種升級方式就會行不通,同時由于很多設(shè)備的啟動是會檢測設(shè)備的主備用分區(qū)的固件版本信息之后才可以啟動,所以如果升級存在問題那么就可能會影響設(shè)備的正常使用。
[0004]為了解決上面遇到的設(shè)備內(nèi)存不足和升級失敗之后的正常使用的問題,本設(shè)計提供一種基于內(nèi)存較小設(shè)備的Web頁面升級固件方式和升級固件失敗的異常處理方法。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的是克服了上述現(xiàn)有技術(shù)的缺點,提供了一種能夠?qū)崿F(xiàn)避免內(nèi)存不足導致的不能升級和升級失敗導致的設(shè)備啟動存在問題的實現(xiàn)Web方式升級設(shè)備固件的方法。
[0006]為了實現(xiàn)上述目的,本發(fā)明的實現(xiàn)Web方式升級設(shè)備固件的方法具有如下構(gòu)成:
[0007]該實現(xiàn)Web方式升級設(shè)備固件的方法,其主要特點是,所述的方法包括以下步驟:
[0008](I)Web頁面將升級操作指令發(fā)送至待升級設(shè)備;
[0009](2)所述的設(shè)備獲取備用分區(qū)地址信息和備用分區(qū)大??;
[0010](3)所述的設(shè)備比較獲取到的備用分區(qū)大小是否大于需要升級的固件版本包的大小,如果是,則繼續(xù)步驟(4),否則提示升級失敗并結(jié)束退出;
[0011](4)所述的設(shè)備將備用分區(qū)的內(nèi)容進行擦除;
[0012](5)所述的設(shè)備將需要升級的固件版本包寫入備用分區(qū);
[0013](6)重啟設(shè)備并切換到升級后的固件版本運行。
[0014]較佳地,所述的設(shè)備將需要升級的固件版本包寫入備用分區(qū),包括以下步驟:
[0015](5-1)所述的設(shè)備分析獲取接收到的報文信息中的實際有效數(shù)據(jù);
[0016](5-2)所述的設(shè)備判斷所述的報文信息中是否存在需要升級的固件版本的邊界信息,如果是,則繼續(xù)步驟(5-3),否則繼續(xù)步驟(5-1);
[0017](5-3)所述的設(shè)備將根據(jù)邊界信息截取邊界信息之前的部分存入到所述的備用分區(qū)中。
[0018]更佳地,所述的分析獲取接收到的報文信息中的實際有效數(shù)據(jù),包括以下步驟:
[0019](5-1-1)劃分實際有效數(shù)據(jù)為當前寫入到分區(qū)的數(shù)據(jù)和與下次進行結(jié)合的數(shù)據(jù);
[0020](5-1-2)將當前寫入到分區(qū)的數(shù)據(jù)直接寫入到所述的備用分區(qū)中并將與下次進行結(jié)合的數(shù)據(jù)與下次的數(shù)據(jù)進行結(jié)合。
[0021]更進一步地,所述的將與下次進行結(jié)合的數(shù)據(jù)與下次的數(shù)據(jù)進行結(jié)合,具體為:
[0022]將與下次進行組合的數(shù)據(jù)放置于下次的數(shù)據(jù)之前進行結(jié)合。
[0023]較佳地,所述的步驟(5)和步驟(6)之間,還包括以下步驟:
[0024](5-4)所述的設(shè)備對寫入備用分區(qū)的固件版本進行校驗。
[0025]更佳地,所述的對寫入備用分區(qū)的固件版本進行校驗,包括以下步驟:
[0026](5-4-1)獲取固件版本信息的頭部后計算頭部校驗值并與數(shù)據(jù)部分的校驗值進行比較,如果相同,則繼續(xù)步驟(6),否則繼續(xù)步驟(5-4-2);
[0027](5-4-2)將所述的備用分區(qū)的信息重新全部擦除并將當前運行的主分區(qū)的固件版本拷貝到所述的備用分區(qū),然后繼續(xù)步驟(5-4-3);
[0028](5-4-3)重啟設(shè)備并按照原固件版本運行。
[0029]采用了該發(fā)明中的實現(xiàn)Web方式升級設(shè)備固件的方法,提供了一種針對內(nèi)存緊缺實現(xiàn)Web方式升級固件的方法和升級失敗的異常處理方法,其方法是當設(shè)備存在內(nèi)存不足時,通過擦除原有的備用分區(qū)的固件版本和對升級的固件版本進行分片處理寫入到設(shè)備備用分區(qū)中,寫入完成之后通過對固件版本進行校驗,如果校驗失敗則提示升級失敗,同時擦除升級寫入的固件版本并從將主分區(qū)固件版本拷貝到備用分區(qū)的方式來避免內(nèi)存不足導致的不能升級和升級失敗導致的設(shè)備啟動存在問題的方法,具有更廣泛的應(yīng)用范圍。
【附圖說明】
[0030]圖1為本發(fā)明的實現(xiàn)Web方式升級設(shè)備固件的方法的流程圖。
【具體實施方式】
[0031 ] 為了能夠更清楚地描述本發(fā)明的技術(shù)內(nèi)容,下面結(jié)合具體實施例來進行進一步的描述。
[0032]如圖1所示為本發(fā)明的實現(xiàn)Web方式升級設(shè)備固件的方法的流程圖。
[0033]本發(fā)明的方法具體實現(xiàn)的步驟如下:
[0034](I)獲取需要升級的固件版本包,并提示設(shè)備需要進行固件升級,請做好相關(guān)準備并將需要升級的固件版本的相關(guān)信息通知設(shè)備,同時將Web頁面升級固件提示狀態(tài)切換為正在檢測要升級的固件版本。
[0035](2)設(shè)備接收到Web頁面發(fā)來的升級操作指令之后,獲取備用分區(qū)地址信息和分區(qū)大小。
[0036](3)根據(jù)獲取到的分區(qū)的大小與需要升級的固件版本的大小進行比較,如果升級的固件版本大于可用于升級的分區(qū)的大小則提示W(wǎng)eb頁面升級固件版