本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種固件升級(jí)方法及裝置。
背景技術(shù):
傳統(tǒng)的poe(poweroverethernet,以太網(wǎng)供電)設(shè)備的mac(mediaaccesscontrol,媒體訪問控制)芯片和poe扣板(一種集成poe功能芯片的可插拔的插卡)硬件上是分離的,通過串口通信或者其他方式連接實(shí)現(xiàn)主cpu(centerprocessunit,中央處理單元)對(duì)poe扣板的mcu(microcontrollerunit,微控制單元)的管理,屬于外置poe扣板設(shè)備。
隨著硬件的發(fā)展,可以支持將poe扣板的mcu集成到mac芯片中,這樣poe扣板可以省去mcu開銷,同時(shí)節(jié)約一個(gè)串口,一方面節(jié)約成本,另一方面硬件上也更為可靠,實(shí)現(xiàn)內(nèi)置poe扣板設(shè)備。
然而實(shí)踐發(fā)現(xiàn),對(duì)于目前的內(nèi)置poe扣板設(shè)備,當(dāng)進(jìn)行poe固件在線升級(jí)時(shí),可能會(huì)出現(xiàn)升級(jí)后的poe固件版本與軟件版本不一致,導(dǎo)致設(shè)備無法正常工作的問題,此外,當(dāng)設(shè)備發(fā)生重啟之后,升級(jí)后的poe固件版本會(huì)被軟件自帶的poe固件版本覆蓋,無法持續(xù)使用升級(jí)后的poe固件工作。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種固件升級(jí)方法及裝置,以解決現(xiàn)有技術(shù)中內(nèi)置poe扣板設(shè)備進(jìn)行poe固件升級(jí)時(shí)可能會(huì)出現(xiàn)升級(jí)后的poe固件版本與軟件版本不一致,以及設(shè)備發(fā)生重啟之后,升級(jí)后的poe固件版本會(huì)被軟件自帶的poe固件版本覆蓋等問題。
根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種固件升級(jí)方法,應(yīng)用于內(nèi)置以太網(wǎng)供電poe扣板設(shè)備,該方法包括:
當(dāng)檢測(cè)到目標(biāo)poe固件在線升級(jí),且新版本的目標(biāo)poe固件合法性校驗(yàn)通過時(shí),對(duì)新版本的目標(biāo)poe固件的版本與軟件的版本進(jìn)行兼容性校驗(yàn);
若新版本的目標(biāo)poe固件的版本與軟件的版本兼容,則允許目標(biāo)poe固件升級(jí);
當(dāng)目標(biāo)poe固件升級(jí)成功時(shí),輸出第一提示信息,并根據(jù)接收到的響應(yīng)第一提示信息輸入的選擇指令確定是否將新版本的目標(biāo)poe固件設(shè)置為重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本。
根據(jù)本發(fā)明實(shí)施例的第二方面,提供一種固件升級(jí)裝置,應(yīng)用于內(nèi)置以太網(wǎng)供電poe扣板設(shè)備,該裝置包括:檢測(cè)單元、校驗(yàn)單元、控制單元、輸出單元、接收單元以及處理單元,其中:
校驗(yàn)單元,用于當(dāng)檢測(cè)單元檢測(cè)到目標(biāo)poe固件在線升級(jí),且對(duì)新版本的目標(biāo)poe固件進(jìn)行合法性校驗(yàn)通過時(shí),對(duì)新版本的目標(biāo)poe固件的版本與軟件的版本進(jìn)行兼容性校驗(yàn);
控制單元,用于當(dāng)新版本的目標(biāo)poe固件的版本與軟件的版本兼容時(shí),允許目標(biāo)poe固件升級(jí);
輸出單元,用于當(dāng)目標(biāo)poe固件升級(jí)成功時(shí),輸出第一提示信息;
接收單元,用于接收響應(yīng)第一提示信息輸入的選擇指令;
處理單元,具體用于根據(jù)接收單元接收到的響應(yīng)第一提示信息輸入的選擇指令確定是否將新版本的目標(biāo)poe固件設(shè)置為重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本。
應(yīng)用本發(fā)明實(shí)施例,當(dāng)檢測(cè)到目標(biāo)poe固件在線升級(jí),且新版本的目標(biāo)poe固件合法性校驗(yàn)通過時(shí),對(duì)新版本的目標(biāo)poe固件的版本與軟件的版本進(jìn)行兼容性校驗(yàn);若新版本的目標(biāo)poe固件的版本與軟件的版本兼容,則允許目標(biāo)poe固件升級(jí);當(dāng)目標(biāo)poe固件升級(jí)成功時(shí),輸出第一提示信息,并根據(jù)接收到的響應(yīng)第一提示信息輸入的選擇指令確定是否將新版本的目標(biāo)poe固件設(shè)置為重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本,避免了升級(jí)后的poe固件版本與軟件版本不兼容導(dǎo)致的設(shè)備無法正常工作,且避免了設(shè)備重啟導(dǎo)致的poe固件升級(jí)被覆蓋。
附圖說明
圖1是本發(fā)明實(shí)施例提供的一種固件升級(jí)方法的流程示意圖;
圖2是本發(fā)明實(shí)施例提供的一種固件升級(jí)裝置的結(jié)構(gòu)示意圖;
圖3是本發(fā)明實(shí)施例提供的另一種固件升級(jí)裝置的結(jié)構(gòu)示意圖;
圖4是本發(fā)明實(shí)施例提供的另一種固件升級(jí)裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例中技術(shù)方案作進(jìn)一步詳細(xì)的說明。
請(qǐng)參見圖1,為本發(fā)明實(shí)施例提供的一種固件升級(jí)方法的流程示意圖,如圖1所示,該固件升級(jí)方法可以包括以下步驟:
需要說明的是,本發(fā)明實(shí)施例提供的固件升級(jí)方法可以應(yīng)用于內(nèi)置poe扣板設(shè)備,為便于描述,以下以步驟101~步驟103的執(zhí)行主體為內(nèi)置poe扣板設(shè)備(以下簡稱為poe設(shè)備)為例進(jìn)行說明。
步驟101、當(dāng)檢測(cè)到目標(biāo)poe固件在線升級(jí),且新版本的目標(biāo)poe固件合法性校驗(yàn)通過時(shí),對(duì)該新版本的目標(biāo)poe固件的版本與軟件的版本進(jìn)行兼容性校驗(yàn)。
本發(fā)明實(shí)施例中,目標(biāo)poe固件并不特指某一固定的poe固件,而是可以指代內(nèi)置poe扣板設(shè)備中任一poe固件,本發(fā)明實(shí)施例后續(xù)不再復(fù)述。
本發(fā)明實(shí)施例中,當(dāng)poe設(shè)備檢測(cè)到目標(biāo)poe固件在線升級(jí)時(shí),poe設(shè)備可以先對(duì)新版本的目標(biāo)poe固件(即目標(biāo)poe固件需要升級(jí)到的版本)進(jìn)行合法性校驗(yàn)。
其中,poe設(shè)備可以按照目標(biāo)poe固件廠家提供的算法對(duì)目標(biāo)poe固件進(jìn)行合法性校驗(yàn),其具體實(shí)現(xiàn)可以參見現(xiàn)有相關(guān)流程中的相關(guān)描述,本發(fā)明實(shí)施例在此不做贅述。
本發(fā)明實(shí)施例中,為了避免固件在線升級(jí)后,升級(jí)后的固件的版本與軟件版本不兼容而導(dǎo)致設(shè)備無法正常工作,當(dāng)poe設(shè)備對(duì)新版本的目標(biāo)poe固件合法性校驗(yàn)通過時(shí),poe設(shè)備可以根據(jù)預(yù)先兼容策略對(duì)新版本的目標(biāo)poe固件的版本與軟件版本進(jìn)行兼容性校驗(yàn),確定新版本的目標(biāo)poe固件的版本與當(dāng)前軟件版本是否兼容。
步驟102、若新版本的目標(biāo)poe固件的版本與軟件的版本兼容,則允許目標(biāo)poe固件升級(jí)。
本發(fā)明實(shí)施例中,當(dāng)poe設(shè)備確定新版本的目標(biāo)poe固件的版本與軟件的版本兼容時(shí),poe設(shè)備可以允許目標(biāo)poe固件升級(jí),即允許目標(biāo)poe固件升級(jí)到該新版本。
值得說明的是,在本發(fā)明實(shí)施例中,若poe設(shè)備對(duì)新版本的目標(biāo)poe固件合法性校驗(yàn)不通過,或者,新版本的目標(biāo)poe固件的版本與軟件的版本不兼容,則poe設(shè)備需要禁止目標(biāo)poe固件升級(jí)到該新版本。
步驟103、當(dāng)目標(biāo)poe固件升級(jí)成功時(shí),輸出第一提示信息,并根據(jù)接收到響應(yīng)該第一提示信息輸入的選擇指令確定是否將該新版本的目標(biāo)poe固件設(shè)置為重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本。
本發(fā)明實(shí)施例中,為了避免poe設(shè)備重啟導(dǎo)致升級(jí)后的目標(biāo)poe固件的版本被軟件自帶的目標(biāo)poe固件的版本覆蓋,從而導(dǎo)致無法持續(xù)使用升級(jí)后的poe固件版本,因此,poe設(shè)備檢測(cè)到poe固件升級(jí)成功時(shí),可以輸出用于提示用戶選擇是否將升級(jí)后的poe固件的版本設(shè)置為重啟后默認(rèn)運(yùn)行的該poe固件的版本的提示信息,由用戶選擇是否將升級(jí)后的poe固件的版本設(shè)置為重啟后默認(rèn)運(yùn)行的版本。
相應(yīng)地,在本發(fā)明實(shí)施例中,當(dāng)poe設(shè)備確定目標(biāo)poe固件升級(jí)成功時(shí),可以輸出提示信息(本文中稱為第一提示信息),該第一提示信息用于提示用戶選擇是否將該新版本的poe固件設(shè)置為重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本,由用戶根據(jù)實(shí)際需求選擇是否將該新版本的poe固件設(shè)置為重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本。
當(dāng)poe設(shè)備接收到響應(yīng)該第一提示信息輸入的將新版本的目標(biāo)poe固件設(shè)置為重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本的選擇指令時(shí),poe設(shè)備將新版本的目標(biāo)poe固件設(shè)置為重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本。
當(dāng)poe設(shè)備接收到響應(yīng)該第一提示信息輸入的不將新版本的目標(biāo)poe固件設(shè)置為重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本的選擇指令時(shí),poe設(shè)備可以在重啟后仍運(yùn)行軟件自帶的目標(biāo)poe固件版本。
值得說明的是,在本發(fā)明實(shí)施例中,若poe設(shè)備在預(yù)設(shè)時(shí)間內(nèi)未接收到響應(yīng)該第一提示信息輸入的選擇指令,則poe設(shè)備可以將新版本的目標(biāo)poe固件設(shè)置為重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本,或,在重啟后仍運(yùn)行軟件自帶的目標(biāo)poe固件版本。
可見,在圖1所示的方法流程中,通過在poe固件升級(jí)過程中,對(duì)新版本的poe固件和軟件版本的兼容性進(jìn)行校驗(yàn),避免了升級(jí)后的poe固件版本與軟件版本不兼容導(dǎo)致的設(shè)備無法正常工作;此外,在poe固件升級(jí)成功后,可以根據(jù)接收到的選擇指令確定是否將升級(jí)后的poe固件的版本設(shè)置為重啟后默認(rèn)運(yùn)行的版本,避免了設(shè)備重啟導(dǎo)致的poe固件升級(jí)被覆蓋。
進(jìn)一步地,在本發(fā)明實(shí)施例中,當(dāng)poe設(shè)備重啟時(shí),poe設(shè)備可以根據(jù)是否設(shè)置了重啟后默認(rèn)運(yùn)行的poe固件版本以及軟件是否發(fā)生更新等確定運(yùn)行的poe固件版本。
相應(yīng)地,作為一種可選的實(shí)施方式中,本發(fā)明實(shí)施例提供的固件升級(jí)方法還可以包括以下步驟:
11)、當(dāng)內(nèi)置poe扣板設(shè)備未更新軟件并重啟完成時(shí),查詢是否存在預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本;
12)、若存在,則當(dāng)對(duì)預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本進(jìn)行合法性和兼容性校驗(yàn)通過時(shí),運(yùn)行預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本;
13)、若不存在,運(yùn)行當(dāng)前軟件版本中攜帶的目標(biāo)poe固件版本。
在該實(shí)施方式中,當(dāng)poe設(shè)備重啟,但未進(jìn)行軟件更新時(shí),在poe設(shè)備重啟完成時(shí),poe設(shè)備可以查詢是否存在預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本。
若poe設(shè)備確定存在預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本,則poe設(shè)備可以獲取該版本(即預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本)的目標(biāo)poe固件,并對(duì)該版本的目標(biāo)poe固件進(jìn)行合法性校驗(yàn),并當(dāng)合法性校驗(yàn)通過時(shí),進(jìn)一步對(duì)該版本的目標(biāo)poe固件的版本和軟件版本進(jìn)行兼容性校驗(yàn),若兼容性校驗(yàn)也通過,則poe設(shè)備可以運(yùn)行該版本的目標(biāo)poe固件。
需要說明的,若poe設(shè)備對(duì)預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本進(jìn)行合法性校驗(yàn)不同過,或兼容性校驗(yàn)不通過,則poe設(shè)備可以運(yùn)行軟件攜帶的目標(biāo)poe固件版本。
在該實(shí)施方式中,若poe設(shè)備確定不存在預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本,則poe設(shè)備可以運(yùn)行軟件攜帶的目標(biāo)poe固件版本。
可見,在本發(fā)明實(shí)施例中,通過將升級(jí)后的poe固件版本設(shè)置為重啟后默認(rèn)運(yùn)行的版本,可以避免設(shè)備重啟導(dǎo)致的poe固件升級(jí)被覆蓋,保證升級(jí)后的poe固件版本的持續(xù)工作。
作為另一種可選的實(shí)施方式,本發(fā)明實(shí)施例提供的固件升級(jí)方法還可以包括以下步驟:
21)、當(dāng)內(nèi)置poe扣板設(shè)備更新軟件并重啟完成時(shí),查詢是否存在預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本;
22)、若存在,則當(dāng)對(duì)預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本進(jìn)行合法性和兼容性校驗(yàn)通過時(shí),判斷軟件更新后的版本中攜帶的目標(biāo)poe固件版本是否發(fā)生更新,并當(dāng)未發(fā)生更新時(shí),運(yùn)行預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本;
23)、若不存在,則運(yùn)行軟件更新后的版本中攜帶的目標(biāo)poe固件版本。
在該實(shí)施方式中,當(dāng)poe設(shè)備發(fā)生軟件更新并重啟時(shí),在poe設(shè)備重啟完成時(shí),poe設(shè)備可以查詢是否存在預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本。
若poe設(shè)備確定不存在預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本,則poe設(shè)備可以運(yùn)行軟件更新后的版本中攜帶的目標(biāo)poe固件版本。
若poe設(shè)備確定存在預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本,則poe設(shè)備可以獲取該版本的目標(biāo)poe固件,并對(duì)該版本的目標(biāo)poe固件進(jìn)行合法性校驗(yàn),并當(dāng)合法性校驗(yàn)通過時(shí),進(jìn)一步對(duì)該版本的目標(biāo)poe固件的版本和軟件版本進(jìn)行兼容性校驗(yàn),若兼容性校驗(yàn)也通過,則poe設(shè)備需要判斷軟件更新后的版本中攜帶的目標(biāo)poe固件版本是否發(fā)生更新,即判斷此次軟件更新過程中是否更新了目標(biāo)poe固件的版本。
若poe設(shè)備確定軟件更新后的版本中攜帶的目標(biāo)poe固件版本未發(fā)生更新,即軟件更新后的版本中攜帶的目標(biāo)poe固件版本與軟件更新前的版本中攜帶的目標(biāo)poe固件版本相同,則poe設(shè)備可以允許預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本。
進(jìn)一步地,在該實(shí)施方式中,若軟件更新后的版本中攜帶的目標(biāo)poe固件發(fā)生更新時(shí),poe設(shè)備需要輸出提示信息(本文中稱為第二提示信息),該第二提示信息用于提示用戶選擇是否運(yùn)行軟件更新后的版本中攜帶的目標(biāo)poe固件版本,并根據(jù)接收到響應(yīng)該第二提示信息輸入的選擇指令確定運(yùn)行軟件更新后的版本中攜帶的目標(biāo)poe固件版本或預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本。
當(dāng)poe設(shè)備接收到響應(yīng)第二提示信息輸入的確定運(yùn)行軟件更新后的版本中攜帶的目標(biāo)poe固件版本的選擇指令時(shí),poe設(shè)備可以運(yùn)行軟件更新后的版本中攜帶的目標(biāo)poe固件版本。
當(dāng)poe設(shè)備接收到響應(yīng)第二提示信息輸入的確定不運(yùn)行軟件更新后的版本中攜帶的目標(biāo)poe固件版本的選擇指令時(shí),poe設(shè)備可以運(yùn)行預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本。
值得說明的是,在本發(fā)明實(shí)施例中,若poe設(shè)備在預(yù)設(shè)時(shí)間內(nèi)未接收到響應(yīng)第二提示信息輸入的選擇指令,則poe設(shè)備可以運(yùn)行軟件更新后的版本中攜帶的目標(biāo)poe固件版本。
可見,在本發(fā)明實(shí)施例中,當(dāng)設(shè)備發(fā)生軟件更新并重啟時(shí),可以由用戶選擇運(yùn)行的poe固件版本,增加了poe固件版本運(yùn)行的靈活性。
進(jìn)一步地,在本發(fā)明實(shí)施例中,為了提高升級(jí)后的poe固件版本與軟件版本兼容性校驗(yàn)的效率,當(dāng)poe設(shè)備確定允許目標(biāo)poe固件在線升級(jí)為新版本時(shí),可以根據(jù)預(yù)設(shè)兼容策略為新版本的目標(biāo)poe固件設(shè)置大包版本信息,以便后續(xù)在需要時(shí),poe設(shè)備可以根據(jù)新版本的目標(biāo)poe固件的大包版本信息和軟件的大包版本信息對(duì)新版本的目標(biāo)poe固件和軟件進(jìn)行兼容性校驗(yàn)。
其中,poe設(shè)備為新版本的目標(biāo)poe固件設(shè)置大包版本信息時(shí),可以與該新版本的目標(biāo)poe固件的版本兼容的軟件版本中的已有最高版本。
為了使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明實(shí)施例提供的技術(shù)方案,下面結(jié)合具體實(shí)例對(duì)本發(fā)明實(shí)施例提供的技術(shù)方案進(jìn)行描述。
在該實(shí)施例中,假設(shè)軟件大包版本信息為a1,軟件中攜帶的poe固件fw1版本為b1。
在該實(shí)施例中,當(dāng)用戶想要對(duì)poe固件fw1在線升級(jí)時(shí),假設(shè)升級(jí)后的poe固件的版本(即poe固件的新版本)為b2(在該實(shí)施例中,將新版本的poe固件稱為fw2),poe設(shè)備可以先對(duì)fw2進(jìn)行合法性校驗(yàn),并當(dāng)合法性校驗(yàn)通過時(shí),poe設(shè)備可以進(jìn)一步地對(duì)fw2的版本和軟件版本進(jìn)行兼容性校驗(yàn),即判斷b2與a1是否兼容。
若poe設(shè)備確定b2與a1兼容,則poe設(shè)備可以允許此次poe固件升級(jí),并為fw2設(shè)置打包版本信息,假設(shè)為ax。
當(dāng)poe固件fw1成功升級(jí)為fw2時(shí),poe設(shè)備可以輸出第一提示信息,提示用戶選擇是否將fw2設(shè)置為重啟后默認(rèn)運(yùn)行的poe固件(即是否將b2設(shè)置為重啟默認(rèn)運(yùn)行的poe固件版本)。
若poe設(shè)備接收到響應(yīng)該第一提示信息輸入的將fw2設(shè)置為重啟后默認(rèn)運(yùn)行的poe固件,則poe設(shè)備可以將fw2設(shè)置為重啟后默認(rèn)運(yùn)行的poe固件(即將b2設(shè)置為重啟默認(rèn)運(yùn)行的poe固件版本);
若poe設(shè)備接收到響應(yīng)該第一提示信息輸入的不將fw2設(shè)置為重啟后默認(rèn)運(yùn)行的poe固件,則poe設(shè)備可以確定設(shè)備重啟后將運(yùn)行fw1(即運(yùn)行poe關(guān)鍵固件版本b1)。
當(dāng)poe設(shè)備重啟,但未進(jìn)行軟件更新時(shí),在重啟完成時(shí),poe設(shè)備需要查詢是否存在預(yù)先設(shè)置的默認(rèn)運(yùn)行的poe固件版本。
若不存在,則poe設(shè)備運(yùn)行軟件攜帶的poe固件fw1(即運(yùn)行poe固件版本b1);
若存在(假設(shè)用戶設(shè)置重啟后默認(rèn)運(yùn)行的poe固件為fw2),則poe設(shè)備從flash獲取poe固件fw2,并對(duì)其進(jìn)行合法性校驗(yàn)以及兼容性校驗(yàn),均校驗(yàn)通過后則運(yùn)行poe固件fw2(即運(yùn)行poe固件版本b2);否則,運(yùn)行poe固件fw1。
其中,poe設(shè)備可以根據(jù)fw2的大包版本信息(即ax)和軟件大包版本信息(即a1)對(duì)fw2進(jìn)行兼容性校驗(yàn)。
當(dāng)poe設(shè)備更新軟件(假設(shè)版本更新為a2),并進(jìn)行重啟時(shí),在重啟完成時(shí),poe設(shè)備可以先查詢是否存在預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的poe固件;
若不存在,則poe設(shè)備運(yùn)行軟件更新后的版本中攜帶的poe固件(假設(shè)為fwx,版本為bx);
若存在(假設(shè)用戶設(shè)置重啟后默認(rèn)運(yùn)行的poe固件為fw2),則poe設(shè)備從flash獲取poe固件fw2,并對(duì)其進(jìn)行合法性校驗(yàn)以及兼容性校驗(yàn),若合法性校驗(yàn)或兼容性校驗(yàn)不通過,則運(yùn)行poe固件fwx;
若fw2合法性校驗(yàn)以及兼容性校驗(yàn)均通過,則poe設(shè)備可以判斷軟件更新后的版本中攜帶的poe固件的版本是否發(fā)生更新,即判斷bx是否為b1;
若bx為b1,即軟件更新后的版本中攜帶的poe固件的版本未發(fā)生更新,則poe設(shè)備運(yùn)行poe固件fw2;
若bx不為b1,則poe設(shè)備輸出第二提示信息,提示用戶選擇是否運(yùn)行poe固件fwx;
若poe設(shè)備接收到響應(yīng)第二提示信息輸入的運(yùn)行fwx的選擇指令,則poe設(shè)備可以運(yùn)行poe固件fwx;
若poe設(shè)備接收到響應(yīng)第二提示信息輸入的不運(yùn)行fwx的選擇指令,則poe設(shè)備可以運(yùn)行poe固件fw2。
其中,若poe設(shè)備在預(yù)設(shè)時(shí)間內(nèi)未接收到響應(yīng)第二提示信息輸入的選擇指令,則默認(rèn)運(yùn)行poe固件fwx。
通過以上描述可以看出,在本發(fā)明實(shí)施例提供的技術(shù)方案中,當(dāng)檢測(cè)到目標(biāo)poe固件在線升級(jí),且新版本的目標(biāo)poe固件合法性校驗(yàn)通過時(shí),對(duì)新版本的目標(biāo)poe固件的版本與軟件的版本進(jìn)行兼容性校驗(yàn);若新版本的目標(biāo)poe固件的版本與軟件的版本兼容,則允許目標(biāo)poe固件升級(jí);當(dāng)目標(biāo)poe固件升級(jí)成功時(shí),輸出第一提示信息,并根據(jù)接收到的響應(yīng)第一提示信息輸入的選擇指令確定是否將新版本的目標(biāo)poe固件設(shè)置為重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本,避免了升級(jí)后的poe固件版本與軟件版本不兼容導(dǎo)致的設(shè)備無法正常工作,且避免了設(shè)備重啟導(dǎo)致的poe固件升級(jí)被覆蓋。
請(qǐng)參見圖2,為本發(fā)明實(shí)施例提供的一種固件升級(jí)裝置的結(jié)構(gòu)示意圖,其中,該裝置可以應(yīng)用于上述方法實(shí)施例中的內(nèi)置poe扣板設(shè)備,如圖2所示,該裝置可以包括:檢測(cè)單元210、校驗(yàn)單元220、控制單元230、輸出單元240、接收單元250以及處理單元260,其中:
校驗(yàn)單元220,用于當(dāng)檢測(cè)單元210檢測(cè)到目標(biāo)poe固件在線升級(jí),且對(duì)新版本的目標(biāo)poe固件進(jìn)行合法性校驗(yàn)通過時(shí),對(duì)新版本的目標(biāo)poe固件的版本與軟件的版本進(jìn)行兼容性校驗(yàn);
控制單元230,用于當(dāng)新版本的目標(biāo)poe固件的版本與軟件的版本兼容時(shí),允許目標(biāo)poe固件升級(jí);
輸出單元240,用于當(dāng)目標(biāo)poe固件升級(jí)成功時(shí),輸出第一提示信息;
接收單元250,用于接收響應(yīng)第一提示信息輸入的選擇指令;
處理單元260,具體用于根據(jù)接收單元接收到的響應(yīng)第一提示信息輸入的選擇指令確定是否將新版本的目標(biāo)poe固件設(shè)置為重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本。
請(qǐng)一并參見圖3,為本發(fā)明實(shí)施例提供的另一種固件升級(jí)裝置的結(jié)構(gòu)示意圖,如圖3所示,在圖2所示固件升級(jí)裝置的基礎(chǔ)上,圖3所示的固件升級(jí)裝置還包括:第一查詢單元270以及第一運(yùn)行單元280;其中:
第一查詢單元270,用于當(dāng)內(nèi)置poe扣板設(shè)備未更新軟件并重啟完成時(shí),查詢是否存在預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本;
第一運(yùn)行單元280,用于若存在預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本,則當(dāng)校驗(yàn)單元220對(duì)預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本進(jìn)行合法性和兼容性校驗(yàn)通過時(shí),運(yùn)行預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本;
第一運(yùn)行單元280,還用于若不存在預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本,則運(yùn)行當(dāng)前軟件版本中攜帶的目標(biāo)poe固件版本。
請(qǐng)一并參見圖4,為本發(fā)明實(shí)施例提供的另一種固件升級(jí)裝置的結(jié)構(gòu)示意圖,如圖4所示,在圖2所示固件升級(jí)裝置的基礎(chǔ)上,圖4所示的固件升級(jí)裝置還包括:第二查詢單元290、判斷單元300以及第二運(yùn)行單元310;其中:
第二查詢單元290,用于當(dāng)內(nèi)置poe扣板設(shè)備更新軟件并重啟完成時(shí),查詢是否存在預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本;
判斷單元300,用于若存在預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本,且校驗(yàn)單元220對(duì)預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本進(jìn)行合法性和兼容性校驗(yàn)通過,則判斷軟件更新后的版本中攜帶的目標(biāo)poe固件版本是否發(fā)生更新;
第二運(yùn)行單元310,用于當(dāng)軟件更新后的版本中攜帶的目標(biāo)poe固件版本未發(fā)生更新,運(yùn)行預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本;
第二運(yùn)行單元310,還用于若不存在預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本,則運(yùn)行軟件更新后的版本中攜帶的目標(biāo)poe固件版本。
在可選實(shí)施例中,輸出單元240,還用于當(dāng)軟件更新后的版本中攜帶的目標(biāo)poe固件版本發(fā)生更新時(shí),輸出第二提示信息;
接收單元250,還用于接收響應(yīng)第二提示信息輸入的選擇指令;
處理單元260,還用于根據(jù)接收單元250接收到的響應(yīng)第二提示信息輸入的選擇指令確定運(yùn)行軟件更新后的版本中攜帶的目標(biāo)poe固件版本或預(yù)先設(shè)置的重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本。
在可選實(shí)施例中,第二運(yùn)行單元310,還用于若接收單元250在預(yù)設(shè)時(shí)間內(nèi)未接收到響應(yīng)第二提示信息輸入的選擇指令,則運(yùn)行軟件更新后的版本中攜帶的目標(biāo)poe固件版本。
上述裝置中各個(gè)單元的功能和作用的實(shí)現(xiàn)過程具體詳見上述方法中對(duì)應(yīng)步驟的實(shí)現(xiàn)過程,在此不再贅述。
對(duì)于裝置實(shí)施例而言,由于其基本對(duì)應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本發(fā)明方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
由上述實(shí)施例可見,當(dāng)檢測(cè)到目標(biāo)poe固件在線升級(jí),且新版本的目標(biāo)poe固件合法性校驗(yàn)通過時(shí),對(duì)新版本的目標(biāo)poe固件的版本與軟件的版本進(jìn)行兼容性校驗(yàn);若新版本的目標(biāo)poe固件的版本與軟件的版本兼容,則允許目標(biāo)poe固件升級(jí);當(dāng)目標(biāo)poe固件升級(jí)成功時(shí),輸出第一提示信息,并根據(jù)接收到的響應(yīng)第一提示信息輸入的選擇指令確定是否將新版本的目標(biāo)poe固件設(shè)置為重啟后默認(rèn)運(yùn)行的目標(biāo)poe固件版本,避免了升級(jí)后的poe固件版本與軟件版本不兼容導(dǎo)致的設(shè)備無法正常工作,且避免了設(shè)備重啟導(dǎo)致的poe固件升級(jí)被覆蓋。
本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。