国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      路由器的固件升級方法、固件升級裝置及路由器與流程

      文檔序號:12278284閱讀:268來源:國知局
      路由器的固件升級方法、固件升級裝置及路由器與流程

      本發(fā)明涉及數據通信技術領域,具體而言,涉及一種路由器的固件升級方法、一種路由器的固件升級裝置和一種路由器。



      背景技術:

      智能路由器固件升級是路由器必備的功能之一。由于智能路由器本身的功能豐富,導致其固件體積相對傳統(tǒng)路由器要大,一般智能路由器中的Flash存儲器中會劃分出兩個扇區(qū)來保存2份固件鏡像,一個用于存放現有運行的鏡像,另外一個存放升級的鏡像,即升級成功才切換到第二個鏡像分區(qū),下次再升級又切換到第一個鏡像分區(qū),然而這樣存儲一定的缺點,如Flash成本因為容量要求變大而隨之增高,由于Flash的部分扇區(qū)壞了,剛好是分布在升級鏡像分區(qū)則導致升級永遠都不成功,如果剛好分布在現有使用分區(qū)則直接導致路由器故障等問題,智能路由器也有直接采用一個分區(qū)的方法,能在一定程度上降低Flash成本。

      然而現有的路由器固件升級方法,在升級過程中一旦出現掉電等情況而導致升級異常,后續(xù)就無法再進行自動恢復升級,往往需要返廠維修,影響用戶的使用體驗,對此目前還沒有有效的解決方案。



      技術實現要素:

      本發(fā)明旨在至少解決現有技術或相關技術中存在的技術問題之一。

      為此,本發(fā)明的一個目的在于提出了一種新的路由器的固件升級方案,能夠確保路由器的固件升級過程可以順利進行,提升了用戶的使用體驗。

      本發(fā)明的另一個目的在于提出了一種路由器。

      為實現上述目的,根據本發(fā)明的第一方面的實施例,提出了一種路由器的固件升級方法,包括:預存儲路由器的網絡接入信息至所述路由器的初始加載模塊中,其中,所述初始化加載模塊在所述路由器上電時運行;在檢測到所述路由器上電時,基于所述初始加載模塊,調用所述網絡接入信息,并根據所述網絡接入信息與服務器建立連接;接收所述服務器發(fā)送的新固件數據包;根據所述新固件數據包進行升級。

      根據本發(fā)明的實施例的路由器的固件升級方法,路由器中的初始加載模塊會在路由器上電時,對路由器中的軟硬件進行初始化,以將路由器系統(tǒng)中的軟硬件環(huán)境調整到合適狀態(tài),初始加載模塊即便是在路由器出現掉電后,只要重新上電啟動就可以繼續(xù)運行,所以通過預存儲路由器的網絡接入信息至路由器的初始加載模塊中,并在檢測到路由器上電時,基于初始加載模塊調用網絡接入信息,并與服務器建立連接,以根據服務器發(fā)送的新固件數據包來進行升級,使得即便在升級過程中出現掉電等異常情況,只要重新上電啟動,就可以繼續(xù)接收新固件數據包來進行升級,可自動恢復升級,提升了用戶的使用體驗。

      根據本發(fā)明的上述實施例的路由器的固件升級方法,還可以具有以下技術特征:

      根據本發(fā)明的一個實施例,在所述檢測到所述路由器上電之后,以及在所述基于所述初始加載模塊,調用所述網絡接入信息的步驟之前,還包括:檢測所述路由器啟動運行失敗的次數是否大于或等于預定閾值;在確定所述路由器啟動運行失敗的次數大于或等于所述預定閾值時,執(zhí)行所述基于所述初始加載模塊,調用所述網絡接入信息的步驟。

      根據本發(fā)明的實施例的路由器的固件升級方法,通過檢測路由器啟動運行失敗的次數,在檢測到路由器啟動運行失敗的次數大于或等于預定閾值(如5次,預定閾值可根據實際需求進行調整),說明路由器系統(tǒng)暫時無法正常運行,無法基于常用升級方式進行固件升級,此時通過初始加載模塊調用網絡接入信息以獲取新固件數據包來實現固件的升級,確保了固件升級過程的順利進行,在檢測到路由器啟動運行失敗的次數小于預定閾值,說明路由器系統(tǒng)已恢復運行,此時可通過常用升級方式進行固件升級,當然,也可以基于初始加載模塊調用網絡接入信息以獲取新固件數據包來實現固件的升級,可與常用的固件升級方式兼容,拓展了路由器的固件升級方式。

      根據本發(fā)明的一個實施例,所述根據所述網絡接入信息與服務器建立連接的步驟,具體包括:根據所述網絡接入信息,通過PPPOE撥號方式接入外網,并基于所述外網連接至所述服務器,其中,所述網絡接入信息包括接入賬號和接入密碼;或根據所述網絡接入信息,通過IP地址接入方式接入外網,并基于所述外網連接至所述服務器,其中,所述網絡接入信息至少包括IP地址信息。

      根據本發(fā)明的實施例的路由器的固件升級方法,可采用多種方式來建立路由器與服務器間的連接,如PPPOE撥號方式、IP地址接入方式,確保了路由器可以及時地連接到服務器。

      根據本發(fā)明的一個實施例,所述新固件數據包中包括多個子數據包和與每個所述數據包對應的校驗值,所述根據所述新固件數據包進行升級的步驟,具體包括:在接收到任一所述子數據包時,根據任一所述子數據包對應的校驗值對任一所述子數據包進行校驗;在對任一所述子數據包校驗成功時,將任一所述子數據包寫入所述路由器的Flash存儲器中,并對接收到的下一所述子數據包進行校驗,直至所述新固件數據包中的所有所述子數據包均被寫入所述Flash存儲器中。

      根據本發(fā)明的實施例的路由器的固件升級方法,考慮到路由器基于外網連接至服務器,可能會出現網速以及網絡整體穩(wěn)定性的問題,此時通過接收一個子數據包,校驗和寫入一個子數據包,即對新固件數據包進行分分批下載和燒寫,而非一次性全部下載燒寫,一方面確保了整個升級過程的順利進行,另一方面可降低對Flash存儲器性能要求,進而降低Flash存儲器成本。

      根據本發(fā)明的一個實施例,所述Flash存儲器包括至少一個扇區(qū),所述將任一所述子數據包寫入所述路由器的Flash存儲器中的步驟,具體包括:檢測所述至少一個扇區(qū)中是否存在損壞的扇區(qū);在確定所述至少一個扇區(qū)中存在損壞的扇區(qū)時,對所述Flash存儲器進行重新分區(qū),以過濾所述損壞的扇區(qū);將任一所述子數據包寫入重新分區(qū)后的Flash存儲器中。

      根據本發(fā)明的實施例的路由器的固件升級方法,在燒寫子數據包的過程中,若將子數據包燒寫到Flash存儲器的損壞的扇區(qū)中,仍無法完成相應的固件升級,所以通過檢測至少一個扇區(qū)中是否存在損壞的扇區(qū),在存在損壞的扇區(qū),對Flash存儲器進行重新分區(qū)以過濾損壞的扇區(qū),從而有效地避免出現將子數據包燒寫到Flash存儲器的損壞的扇區(qū)中的情況,進一步確保了整個固件升級過程的順利進行。

      根據本發(fā)明的一個實施例,所述初始加載模塊包括Bootloader模塊。

      根據本發(fā)明的實施例的路由器的固件升級方法,Bootloader是路由器系統(tǒng)在加電后執(zhí)行的第一段代碼,在完成對系統(tǒng)中的軟硬件的初始化后,啟動系統(tǒng)運行。

      根據本發(fā)明的第二方面的實施例,提出了一種路由器的固件升級裝置,包括:存儲單元,用于預存儲路由器的網絡接入信息至所述路由器的初始加載模塊中,其中,所述初始化加載模塊在所述路由器上電時運行;連接單元,用于在檢測到所述路由器上電時,基于所述初始加載模塊,調用所述網絡接入信息,并根據所述網絡接入信息與服務器建立連接;接收單元,用于接收所述服務器發(fā)送的新固件數據包;處理單元,用于根據所述新固件數據包進行升級。

      根據本發(fā)明的實施例的路由器的固件升級裝置,路由器中的初始加載模塊會在路由器上電時,對路由器中的軟硬件進行初始化,以將路由器系統(tǒng)中的軟硬件環(huán)境調整到合適狀態(tài),初始加載模塊即便是在路由器出現掉電后,只要重新上電啟動就可以繼續(xù)運行,所以通過預存儲路由器的網絡接入信息至路由器的初始加載模塊中,并在檢測到路由器上電時,基于初始加載模塊調用網絡接入信息,并與服務器建立連接,以根據服務器發(fā)送的新固件數據包來進行升級,使得即便在升級過程中出現掉電等異常情況,只要重新上電啟動,就可以繼續(xù)接收新固件數據包來進行升級,可自動恢復升級,提升了用戶的使用體驗。

      根據本發(fā)明的上述實施例的路由器的固件升級裝置,還可以具有以下技術特征:

      根據本發(fā)明的一個實施例,還包括:第一檢測單元,用于檢測所述路由器啟動運行失敗的次數是否大于或等于預定閾值;所述連接單元,具體用于在所述第一檢測單元確定所述路由器啟動運行失敗的次數大于或等于所述預定閾值時,基于所述初始加載模塊,調用所述網絡接入信息。

      根據本發(fā)明的實施例的路由器的固件升級裝置,通過檢測路由器啟動運行失敗的次數,在檢測到路由器啟動運行失敗的次數大于或等于預定閾值(如5次,預定閾值可根據實際需求進行調整),說明路由器系統(tǒng)暫時無法正常運行,無法基于常用升級方式進行固件升級,此時通過初始加載模塊調用網絡接入信息以獲取新固件數據包來實現固件的升級,確保了固件升級過程的順利進行,在檢測到路由器啟動運行失敗的次數小于預定閾值,說明路由器系統(tǒng)已恢復運行,此時可通過常用升級方式進行固件升級,當然,也可以基于初始加載模塊調用網絡接入信息以獲取新固件數據包來實現固件的升級,可與常用的固件升級方式兼容,拓展了路由器的固件升級方式。

      根據本發(fā)明的一個實施例,所述連接單元具體用于:根據所述網絡接入信息,通過PPPOE撥號方式接入外網,并基于所述外網連接至所述服務器,其中,所述網絡接入信息包括接入賬號和接入密碼;或根據所述網絡接入信息,通過IP地址接入方式接入外網,并基于所述外網連接至所述服務器,其中,所述網絡接入信息至少包括IP地址信息。

      根據本發(fā)明的實施例的路由器的固件升級裝置,可采用多種方式來建立路由器與服務器間的連接,如PPPOE撥號方式、IP地址接入方式,確保了路由器可以及時地連接到服務器。

      根據本發(fā)明的一個實施例,所述新固件數據包中包括多個子數據包和與每個所述數據包對應的校驗值,所述處理單元包括:校驗單元,用于在接收到任一所述子數據包時,根據任一所述子數據包對應的校驗值對任一所述子數據包進行校驗;燒寫單元,用于在對任一所述子數據包校驗成功時,將任一所述子數據包寫入所述路由器的Flash存儲器中,并對接收到的下一所述子數據包進行校驗,直至所述新固件數據包中的所有所述子數據包均被寫入所述Flash存儲器中。

      根據本發(fā)明的實施例的路由器的固件升級裝置,考慮到路由器基于外網連接至服務器,可能會出現網速以及網絡整體穩(wěn)定性的問題,此時通過接收一個子數據包,校驗和寫入一個子數據包,即對新固件數據包進行分分批下載和燒寫,而非一次性全部下載燒寫,一方面確保了整個升級過程的順利進行,另一方面可降低對Flash存儲器性能要求,進而降低Flash存儲器成本。

      根據本發(fā)明的一個實施例,所述Flash存儲器包括至少一個扇區(qū),所述燒寫單元具體用于:檢測所述至少一個扇區(qū)中是否存在損壞的扇區(qū);在確定所述至少一個扇區(qū)中存在損壞的扇區(qū)時,對所述Flash存儲器進行重新分區(qū),以過濾所述損壞的扇區(qū);將任一所述子數據包寫入重新分區(qū)后的Flash存儲器中。

      根據本發(fā)明的實施例的路由器的固件升級裝置,在燒寫子數據包的過程中,若將子數據包燒寫到Flash存儲器的損壞的扇區(qū)中,仍無法完成相應的固件升級,所以通過檢測至少一個扇區(qū)中是否存在損壞的扇區(qū),在存在損壞的扇區(qū),對Flash存儲器進行重新分區(qū)以過濾損壞的扇區(qū),從而有效地避免出現將子數據包燒寫到Flash存儲器的損壞的扇區(qū)中的情況,進一步確保了整個固件升級過程的順利進行。

      根據本發(fā)明的一個實施例,所述初始加載模塊包括Bootloader模塊。

      根據本發(fā)明的實施例的路由器的固件升級裝置,Bootloader是路由器系統(tǒng)在加電后執(zhí)行的第一段代碼,在完成對系統(tǒng)中的軟硬件的初始化后,啟動系統(tǒng)運行。

      根據本發(fā)明的第三方面的實施例,提出了一種路由器,包括:如上述實施例中任一項所述的路由器的固件升級裝置。

      本發(fā)明的附加方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。

      附圖說明

      本發(fā)明的上述和/或附加的方面和優(yōu)點從結合下面附圖對實施例的描述中將變得明顯和容易理解,其中:

      圖1示出了根據本發(fā)明的實施例的路由器的固件升級方法的示意流程圖;

      圖2示出了根據本發(fā)明的實施例的路由器的固件升級裝置的示意框圖;

      圖3示出了根據本發(fā)明的實施例的路由器的示意框圖。

      具體實施方式

      為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結合附圖和具體實施方式對本發(fā)明進行進一步的詳細描述。需要說明的是,在不沖突的情況下,本申請的實施例及實施例中的特征可以相互組合。

      在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明的保護范圍并不受下面公開的具體實施例的限制。

      圖1示出了根據本發(fā)明的實施例的路由器的固件升級方法的示意流程圖。

      如圖1所示,根據本發(fā)明的實施例的路由器的固件升級方法,包括:

      步驟102,預存儲路由器的網絡接入信息至所述路由器的初始加載模塊中,其中,所述初始化加載模塊在所述路由器上電時運行。

      步驟104,在檢測到所述路由器上電時,基于所述初始加載模塊,調用所述網絡接入信息,并根據所述網絡接入信息與服務器建立連接。

      步驟106,接收所述服務器發(fā)送的新固件數據包。

      步驟108,根據所述新固件數據包進行升級。

      路由器中的初始加載模塊會在路由器上電時,對路由器中的軟硬件進行初始化,以將路由器系統(tǒng)中的軟硬件環(huán)境調整到合適狀態(tài),初始加載模塊即便是在路由器出現掉電后,只要重新上電啟動就可以繼續(xù)運行,所以通過預存儲路由器的網絡接入信息至路由器的初始加載模塊中,并在檢測到路由器上電時,基于初始加載模塊調用網絡接入信息,并與服務器建立連接,以根據服務器發(fā)送的新固件數據包來進行升級,使得即便在升級過程中出現掉電等異常情況,只要重新上電啟動,就可以繼續(xù)接收新固件數據包來進行升級,可自動恢復升級,提升了用戶的使用體驗。

      根據本發(fā)明的上述實施例的路由器的固件升級方法,還可以具有以下技術特征:

      根據本發(fā)明的一個實施例,在所述檢測到所述路由器上電之后,以及在所述基于所述初始加載模塊,調用所述網絡接入信息的步驟之前,還包括:檢測所述路由器啟動運行失敗的次數是否大于或等于預定閾值;在確定所述路由器啟動運行失敗的次數大于或等于所述預定閾值時,執(zhí)行所述基于所述初始加載模塊,調用所述網絡接入信息的步驟。

      通過檢測路由器啟動運行失敗的次數,在檢測到路由器啟動運行失敗的次數大于或等于預定閾值(如5次,預定閾值可根據實際需求進行調整),說明路由器系統(tǒng)暫時無法正常運行,無法基于常用升級方式進行固件升級,此時通過初始加載模塊調用網絡接入信息以獲取新固件數據包來實現固件的升級,確保了固件升級過程的順利進行,在檢測到路由器啟動運行失敗的次數小于預定閾值,說明路由器系統(tǒng)已恢復運行,此時可通過常用升級方式進行固件升級,當然,也可以基于初始加載模塊調用網絡接入信息以獲取新固件數據包來實現固件的升級,可與常用的固件升級方式兼容,拓展了路由器的固件升級方式。

      根據本發(fā)明的一個實施例,所述根據所述網絡接入信息與服務器建立連接的步驟,具體包括:根據所述網絡接入信息,通過PPPOE撥號方式接入外網,并基于所述外網連接至所述服務器,其中,所述網絡接入信息包括接入賬號和接入密碼;或根據所述網絡接入信息,通過IP地址接入方式接入外網,并基于所述外網連接至所述服務器,其中,所述網絡接入信息至少包括IP地址信息。

      可采用多種方式來建立路由器與服務器間的連接,如PPPOE撥號方式、IP地址接入方式,確保了路由器可以及時地連接到服務器。

      根據本發(fā)明的一個實施例,所述新固件數據包中包括多個子數據包和與每個所述數據包對應的校驗值,所述根據所述新固件數據包進行升級的步驟,具體包括:在接收到任一所述子數據包時,根據任一所述子數據包對應的校驗值對任一所述子數據包進行校驗;在對任一所述子數據包校驗成功時,將任一所述子數據包寫入所述路由器的Flash存儲器中,并對接收到的下一所述子數據包進行校驗,直至所述新固件數據包中的所有所述子數據包均被寫入所述Flash存儲器中。

      考慮到路由器基于外網連接至服務器,可能會出現網速以及網絡整體穩(wěn)定性的問題,此時通過接收一個子數據包,校驗和寫入一個子數據包,即對新固件數據包進行分分批下載和燒寫,而非一次性全部下載燒寫,一方面確保了整個升級過程的順利進行,另一方面可降低對Flash存儲器性能要求,進而降低Flash存儲器成本。

      根據本發(fā)明的一個實施例,所述Flash存儲器包括至少一個扇區(qū),所述將任一所述子數據包寫入所述路由器的Flash存儲器中的步驟,具體包括:檢測所述至少一個扇區(qū)中是否存在損壞的扇區(qū);在確定所述至少一個扇區(qū)中存在損壞的扇區(qū)時,對所述Flash存儲器進行重新分區(qū),以過濾所述損壞的扇區(qū);將任一所述子數據包寫入重新分區(qū)后的Flash存儲器中。

      在燒寫子數據包的過程中,若將子數據包燒寫到Flash存儲器的損壞的扇區(qū)中,仍無法完成相應的固件升級,所以通過檢測至少一個扇區(qū)中是否存在損壞的扇區(qū),在存在損壞的扇區(qū),對Flash存儲器進行重新分區(qū)以過濾損壞的扇區(qū),從而有效地避免出現將子數據包燒寫到Flash存儲器的損壞的扇區(qū)中的情況,進一步確保了整個固件升級過程的順利進行。

      根據本發(fā)明的一個實施例,所述初始加載模塊包括Bootloader模塊。

      Bootloader是路由器系統(tǒng)在加電后執(zhí)行的第一段代碼,在完成對系統(tǒng)中的軟硬件的初始化后,啟動系統(tǒng)運行。

      圖2示出了根據本發(fā)明的實施例的路由器的固件升級裝置的示意框圖。

      如圖2所示,根據本發(fā)明的實施例的路由器的固件升級裝置200,包括:存儲單元202、連接單元204、接收單元206和處理單元208。

      其中,存儲單元202用于預存儲路由器的網絡接入信息至所述路由器的初始加載模塊中,其中,所述初始化加載模塊在所述路由器上電時運行;連接單元204用于在檢測到所述路由器上電時,基于所述初始加載模塊,調用所述網絡接入信息,并根據所述網絡接入信息與服務器建立連接;接收單元206用于接收所述服務器發(fā)送的新固件數據包;處理單元208用于根據所述新固件數據包進行升級。

      路由器中的初始加載模塊會在路由器上電時,對路由器中的軟硬件進行初始化,以將路由器系統(tǒng)中的軟硬件環(huán)境調整到合適狀態(tài),初始加載模塊即便是在路由器出現掉電后,只要重新上電啟動就可以繼續(xù)運行,所以通過預存儲路由器的網絡接入信息至路由器的初始加載模塊中,并在檢測到路由器上電時,基于初始加載模塊調用網絡接入信息,并與服務器建立連接,以根據服務器發(fā)送的新固件數據包來進行升級,使得即便在升級過程中出現掉電等異常情況,只要重新上電啟動,就可以繼續(xù)接收新固件數據包來進行升級,可自動恢復升級,提升了用戶的使用體驗。

      根據本發(fā)明的上述實施例的路由器的固件升級裝置200,還可以具有以下技術特征:

      根據本發(fā)明的一個實施例,還包括:第一檢測單元210,用于檢測所述路由器啟動運行失敗的次數是否大于或等于預定閾值;所述連接單元204,具體用于在所述第一檢測單元210確定所述路由器啟動運行失敗的次數大于或等于所述預定閾值時,基于所述初始加載模塊,調用所述網絡接入信息。

      通過檢測路由器啟動運行失敗的次數,在檢測到路由器啟動運行失敗的次數大于或等于預定閾值(如5次,預定閾值可根據實際需求進行調整),說明路由器系統(tǒng)暫時無法正常運行,無法基于常用升級方式進行固件升級,此時通過初始加載模塊調用網絡接入信息以獲取新固件數據包來實現固件的升級,確保了固件升級過程的順利進行,在檢測到路由器啟動運行失敗的次數小于預定閾值,說明路由器系統(tǒng)已恢復運行,此時可通過常用升級方式進行固件升級,當然,也可以基于初始加載模塊調用網絡接入信息以獲取新固件數據包來實現固件的升級,可與常用的固件升級方式兼容,拓展了路由器的固件升級方式。

      根據本發(fā)明的一個實施例,所述連接單元204具體用于:根據所述網絡接入信息,通過PPPOE撥號方式接入外網,并基于所述外網連接至所述服務器,其中,所述網絡接入信息包括接入賬號和接入密碼;或根據所述網絡接入信息,通過IP地址接入方式接入外網,并基于所述外網連接至所述服務器,其中,所述網絡接入信息至少包括IP地址信息。

      可采用多種方式來建立路由器與服務器間的連接,如PPPOE撥號方式、IP地址接入方式,確保了路由器可以及時地連接到服務器。

      根據本發(fā)明的一個實施例,所述新固件數據包中包括多個子數據包和與每個所述數據包對應的校驗值,所述處理單元208包括:校驗單元2082,用于在接收到任一所述子數據包時,根據任一所述子數據包對應的校驗值對任一所述子數據包進行校驗;燒寫單元2084,用于在對任一所述子數據包校驗成功時,將任一所述子數據包寫入所述路由器的Flash存儲器中,并對接收到的下一所述子數據包進行校驗,直至所述新固件數據包中的所有所述子數據包均被寫入所述Flash存儲器中。

      考慮到路由器基于外網連接至服務器,可能會出現網速以及網絡整體穩(wěn)定性的問題,此時通過接收一個子數據包,校驗和寫入一個子數據包,即對新固件數據包進行分分批下載和燒寫,而非一次性全部下載燒寫,一方面確保了整個升級過程的順利進行,另一方面可降低對Flash存儲器性能要求,進而降低Flash存儲器成本。

      根據本發(fā)明的一個實施例,所述Flash存儲器包括至少一個扇區(qū),所述燒寫單元2084具體用于:檢測所述至少一個扇區(qū)中是否存在損壞的扇區(qū);在確定所述至少一個扇區(qū)中存在損壞的扇區(qū)時,對所述Flash存儲器進行重新分區(qū),以過濾所述損壞的扇區(qū);將任一所述子數據包寫入重新分區(qū)后的Flash存儲器中。

      在燒寫子數據包的過程中,若將子數據包燒寫到Flash存儲器的損壞的扇區(qū)中,仍無法完成相應的固件升級,所以通過檢測至少一個扇區(qū)中是否存在損壞的扇區(qū),在存在損壞的扇區(qū),對Flash存儲器進行重新分區(qū)以過濾損壞的扇區(qū),從而有效地避免出現將子數據包燒寫到Flash存儲器的損壞的扇區(qū)中的情況,進一步確保了整個固件升級過程的順利進行。

      根據本發(fā)明的一個實施例,所述初始加載模塊包括Bootloader模塊。

      Bootloader是路由器系統(tǒng)在加電后執(zhí)行的第一段代碼,在完成對系統(tǒng)中的軟硬件的初始化后,啟動系統(tǒng)運行。

      圖3示出了根據本發(fā)明的實施例的路由器的示意框圖。

      如圖3所示,根據本發(fā)明的實施例的路由器300,包括:如圖2所示的路由器的固件升級裝置200。

      以下對本發(fā)明的技術方案作進一步說明。

      在本實施例中,路由器的固件升級系統(tǒng)包括云服務器和路由器。

      其中,云服務器用于提供新固件,供路由器進行下載,其中,新固件的特點是每1MB(即一個子數據包)加入一個校驗值,以便校驗這1MB的內容是否正確,例如固件為50MB則服務器中的固件被分為50份每份對應一個校驗值。

      路由器中可設置多個固件分區(qū)或單個固件分區(qū),具體可根據實際需求進行設置,例如,路由器的分區(qū)可如表1所示:

      表1

      表1中的Bootloader相對于傳統(tǒng)Bootloader以外增加了PPPOE撥號和局域網接入網絡的功能(即通過DHCP(Dynamic Host Configuration Protocol,動態(tài)主機配置協(xié)議)或固定IP直接接入互聯(lián)網),當路由器正常工作的時候把外網的接入信息備份到bootloader的記錄中,如果當前是通過PPPOE撥號接入的,則記錄賬號和密碼,如果是通過固定IP接入的,則記錄IP地址,網管,DNS(Domain Name System,域名系統(tǒng))等。

      具體地,路由器的固件升級過程包括:

      當路由器進入升級意外中斷的時候,會自動進去自恢復模式。進入自恢復的判斷條件是n>預定閾值(例如值為5,此值可變)。其中,系統(tǒng)成功啟動的標志位n,記錄上次啟動路由系統(tǒng)失敗的次數,當成功時則清0,即每次Bootloader啟動的時候n=n+1,路由系統(tǒng)正常啟動后n=0。

      1)、Bootloader會根據記錄中外網的接入信息實行鏈接外網。

      2)、檢測Fash是否有損壞的扇區(qū),若有,則根據之前的分區(qū)順序重新分區(qū),以過濾損壞的扇區(qū)。

      3)、從服務器上獲得將要下載的固件的大小(此大小為分包的個數Pack_Size)及每個包的校驗值,然后下載對應的固件,進行升級燒寫到Flash里面。

      因為外網的網速和穩(wěn)定性是不確定的,如果采用一次下載后燒寫的方法會影響成功率,例如下載到一半斷線了,而且一次下載后燒寫需要相對較大的內存,這樣對低成本的路由器來說是互斥的,所以在本實施例中,優(yōu)選采用的方法是下載一段,燒寫一段。例如:固件大小是50MB,每下載1MB則校驗一次,若校驗成功就燒寫到Flash上,燒寫成功后會生成一個包的記錄success_pack,然后繼續(xù)下一段燒寫…..,直至50MB被全部燒寫到Flash上。

      在上述實施例中,路由器進入自恢復模式后,由Bootloader對接外網,從服務器下載固件,采用分段燒寫的方法,從而節(jié)省了內存和Flash的容量,解決了成本的問題,同時也解決了升級時掉電造成不可恢復的、必須返回廠維修的問題,改善了用戶的使用體驗。

      以上結合附圖詳細說明了本發(fā)明的技術方案,本發(fā)明提出了一種新的路由器的固件升級方案,即便在升級過程中出現掉電等異常情況,只要重新上電啟動,就可以繼續(xù)接收新固件數據包來進行升級,可自動恢復升級,提升了用戶的使用體驗。

      以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。

      當前第1頁1 2 3 
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1