[發明專利]一種固件升級方法及裝置有效
| 申請號: | 201910452803.3 | 申請日: | 2019-05-28 |
| 公開(公告)號: | CN110187897B | 公開(公告)日: | 2022-05-31 |
| 發明(設計)人: | 孫海龍 | 申請(專利權)人: | 新華三技術有限公司 |
| 主分類號: | G06F8/61 | 分類號: | G06F8/61;G06F8/65 |
| 代理公司: | 北京博思佳知識產權代理有限公司 11415 | 代理人: | 郭思晨 |
| 地址: | 310052 浙*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 升級 方法 裝置 | ||
本申請提供一種固件升級方法及裝置,包括:加載升級文件,所述升級文件包括:多個分別與不同操作系統對應的解壓程序、固件壓縮包;所述固件壓縮包包括:固件升級包、多個分別與不同操作系統對應的安裝程序;在所述升級文件中讀取與本網絡設備的操作系統對應的解壓程序;運行讀取到的所述解壓程序以解壓所述固件壓縮包,得到固件升級包、多個安裝程序,并在所述多個安裝程序中調用與所述操作系統對應的安裝程序;運行所述安裝程序安裝所述固件升級包,并基于該固件升級包升級固件。采用本申請提供的方法,可以實現固件升級。
技術領域
本申請涉及計算機通信領域,尤其涉及一種固件升級方法及裝置。
背景技術
對于網絡設備中的固件,經常需要用戶提供固件升級包來對固件進行升級。
現有的固件升級方式是:將固件升級包與用于安裝固件升級包的相關程序開發成一個可執行的升級文件。操作系統運行該升級文件就可以安裝該固件升級包,并基于固件升級包實現固件的升級。
但是,由于不同的操作系統對應的可執行文件的格式不同,所以必須為各操作系統對應開發與該操作系統的可執行文件格式適配的升級文件,大大增加了開發升級文件的工作量。
發明內容
有鑒于此,本申請提供一種固件升級方法及裝置,用以實現固件升級。
具體地,本申請是通過如下技術方案實現的:
根據本申請的第一方面,提供一種固件升級方法,所述方法應用于網絡設備,所述方法包括:
加載升級文件,所述升級文件包括:多個分別與不同操作系統對應的解壓程序、固件壓縮包;所述固件壓縮包包括:固件升級包、多個分別與不同操作系統對應的安裝程序;
在所述升級文件中讀取與本網絡設備的操作系統對應的解壓程序;
運行讀取到的所述解壓程序以解壓所述固件壓縮包,得到固件升級包、多個安裝程序,并在所述多個安裝程序中調用與所述操作系統對應的安裝程序;
運行所述安裝程序安裝所述固件升級包,并基于該固件升級包升級固件。
可選的,所述升級文件為Windows系統可執行的升級文件;
所述升級文件包括:Windows系統對應的Windows解壓程序、Linux系統對應的Linux解壓程序;所述固件壓縮包包括:固件升級包、Windows系統對應的Windows安裝程序、Linux系統對應的Linux安裝程序;
所述Windows解壓程序在所述升級文件的數據區中的存儲位置在所述固件壓縮包、所述Linux解壓程序之前。
可選的,所述升級文件的第一文件頭的預設空間儲存有用于讀取所述Linux解壓程序的Shell指令,所述Shell指令包括:所述Linux解壓程序在所述升級文件的數據區的起始地址。
可選的,所述網絡設備的操作系統為Linux系統;
所述在所述升級文件中讀取與所述網絡設備的操作系統對應的解壓程序,包括:
解析所述升級文件的第一文件頭,識別所述Shell指令;
執行所述Shell指令,以基于所述Linux解壓程序在所述升級文件的數據區的起始地址,在升級文件的數據區中讀取該Linux解壓程序。
可選的,所述Windows系統可執行的升級文件為PE升級文件;
所述第一文件頭為所述PE升級文件的MS-DOS頭和MS-DOS Stub;
所述升級文件的第一文件頭的預設空間為所述MS-DOS頭中從第3字節開始至第60字節止所指示的空間、以及MS-DOS Stub中的所有空間。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于新華三技術有限公司,未經新華三技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910452803.3/2.html,轉載請聲明來源鉆瓜專利網。





