CN104978223A - 实现Web方式升级设备固件的方法 - Google Patents
实现Web方式升级设备固件的方法 Download PDFInfo
- Publication number
- CN104978223A CN104978223A CN201510387844.0A CN201510387844A CN104978223A CN 104978223 A CN104978223 A CN 104978223A CN 201510387844 A CN201510387844 A CN 201510387844A CN 104978223 A CN104978223 A CN 104978223A
- Authority
- CN
- China
- Prior art keywords
- firmware version
- firmware
- data
- upgrading
- equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及一种实现Web方式升级设备固件的方法,其中包括Web页面将升级操作指令发送至待升级设备;所述的设备获取备用分区地址信息和备用分区大小;所述的设备比较获取到的备用分区大小是否大于需要升级的固件版本包的大小,如果是,则继续升级步骤,否则提示升级失败并结束退出;所述的设备将备用分区的内容进行擦除;所述的设备将需要升级的固件版本包写入备用分区;重启设备并切换到升级后的固件版本运行。采用该种实现Web方式升级设备固件的方法,擦除升级写入的固件版本并从将主分区固件版本拷贝到备用分区的方式来避免内存不足导致的不能升级和升级失败导致的设备启动存在问题的方法,具有更广泛的应用范围。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及固件版本升级技术领域,具体是指一种实现Web方式升级设备固件的方法。
背景技术
随着计算机技术的日新月异,Web应用程序的使用也得到不断的更新和为人们的操作提供便捷。其中Web应用程序安装升级是在Web应用程序的使用过程中所面临的一个很常见的技术问题。所谓升级就是对固件版本本身存在的问题进行修复或者优化产品和提供新需求时,固件版本开发者发布的对应改进的固件版本来更新现有固件版本的操作。其中,Web页面的升级是相对于命令类升级更为便捷和常用的方式得到了各方面的青睐,是的其成为涉及到需要固件版本升级时基本会要求的一种升级操作。
对比于一般的Web页面升级固件版本方式,不外乎是先将固件版本下载到缓存中,然后检测下载固件版本的正确性,若正确则将固件版本写入到对应的备用分区,重启切换到升级后的固件版本运行。如果不正确则删除下载的固件版本提示升级失败。这种方式是一种相对于安全和可靠的升级方式,但是当升级的目标设备内存严重不足时,这种升级方式就会行不通,同时由于很多设备的启动是会检测设备的主备用分区的固件版本信息之后才可以启动,所以如果升级存在问题那么就可能会影响设备的正常使用。
为了解决上面遇到的设备内存不足和升级失败之后的正常使用的问题,本设计提供一种基于内存较小设备的Web页面升级固件方式和升级固件失败的异常处理方法。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种能够实现避免内存不足导致的不能升级和升级失败导致的设备启动存在问题的实现Web方式升级设备固件的方法。
为了实现上述目的,本发明的实现Web方式升级设备固件的方法具有如下构成:
该实现Web方式升级设备固件的方法,其主要特点是,所述的方法包括以下步骤:
(1)Web页面将升级操作指令发送至待升级设备;
(2)所述的设备获取备用分区地址信息和备用分区大小;
(3)所述的设备比较获取到的备用分区大小是否大于需要升级的固件版本包的大小,如果是,则继续步骤(4),否则提示升级失败并结束退出;
(4)所述的设备将备用分区的内容进行擦除;
(5)所述的设备将需要升级的固件版本包写入备用分区;
(6)重启设备并切换到升级后的固件版本运行。
较佳地,所述的设备将需要升级的固件版本包写入备用分区,包括以下步骤:
(5-1)所述的设备分析获取接收到的报文信息中的实际有效数据;
(5-2)所述的设备判断所述的报文信息中是否存在需要升级的固件版本的边界信息,如果是,则继续步骤(5-3),否则继续步骤(5-1);
(5-3)所述的设备将根据边界信息截取边界信息之前的部分存入到所述的备用分区中。
更佳地,所述的分析获取接收到的报文信息中的实际有效数据,包括以下步骤:
(5-1-1)划分实际有效数据为当前写入到分区的数据和与下次进行结合的数据;
(5-1-2)将当前写入到分区的数据直接写入到所述的备用分区中并将与下次进行结合的数据与下次的数据进行结合。
更进一步地,所述的将与下次进行结合的数据与下次的数据进行结合,具体为:
将与下次进行组合的数据放置于下次的数据之前进行结合。
较佳地,所述的步骤(5)和步骤(6)之间,还包括以下步骤:
(5-4)所述的设备对写入备用分区的固件版本进行校验。
更佳地,所述的对写入备用分区的固件版本进行校验,包括以下步骤:
(5-4-1)获取固件版本信息的头部后计算头部校验值并与数据部分的校验值进行比较,如果相同,则继续步骤(6),否则继续步骤(5-4-2);
(5-4-2)将所述的备用分区的信息重新全部擦除并将当前运行的主分区的固件版本拷贝到所述的备用分区,然后继续步骤(5-4-3);
(5-4-3)重启设备并按照原固件版本运行。
采用了该发明中的实现Web方式升级设备固件的方法,提供了一种针对内存紧缺实现Web方式升级固件的方法和升级失败的异常处理方法,其方法是当设备存在内存不足时,通过擦除原有的备用分区的固件版本和对升级的固件版本进行分片处理写入到设备备用分区中,写入完成之后通过对固件版本进行校验,如果校验失败则提示升级失败,同时擦除升级写入的固件版本并从将主分区固件版本拷贝到备用分区的方式来避免内存不足导致的不能升级和升级失败导致的设备启动存在问题的方法,具有更广泛的应用范围。
附图说明
图1为本发明的实现Web方式升级设备固件的方法的流程图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
如图1所示为本发明的实现Web方式升级设备固件的方法的流程图。
本发明的方法具体实现的步骤如下:
(1)获取需要升级的固件版本包,并提示设备需要进行固件升级,请做好相关准备并将需要升级的固件版本的相关信息通知设备,同时将Web页面升级固件提示状态切换为正在检测要升级的固件版本。
(2)设备接收到Web页面发来的升级操作指令之后,获取备用分区地址信息和分区大小。
(3)根据获取到的分区的大小与需要升级的固件版本的大小进行比较,如果升级的固件版本大于可用于升级的分区的大小则提示Web页面升级固件版本过大,请检查固件版本,升级固件不进行。
(4)若需要升级的固件版本的大小检查都正确,设备根据获取到的分区的大小与需要升级的固件版本的大小对备用分区的内容进行擦除并提示Web页面将状态切换为正在擦除固件版本,若擦除操作失败提示Web页面擦除失败请重新操作。
(5)若擦除操作执行成功,则提示Web页面将升级状态更新为正在写入固件版本。同时,设备通过解析收到的第一个报文信息确定出传输中升级固件版本的边界信息和传输中的实际有效数据。
(6)划分有效数据为当前写入到分区的数据和与下次进行组合的数据,对于当前写入到分区的数据则直接写入到分区中,对于与下次进行组合的数据则通过处理与下次的数据进行组合,组合时将该数据放置在下次的数据之前来保证固件版本数据的顺序。
(7)不断检测每次传过来的报文和上次需要与这次组合的数据的组合数据信息中是否存在固件版本边界信息,如果不存在则继续按第六步中的操作进行。
(8)若组合后的数据中存在边界信息,则根据边界信息截取边界信息之前的部分存入到分区中。此时,所有的固件版本数据都保存成功并提示Web页面将升级状态切换为正在校验。
(9)获取固件版本信息的头部,重新计算头部校验值和数据部分的校验值与头部中的校验值对比,若校验值相同,表示固件版本升级成功,此时重启系统并提示Web页面将升级状态切换为正在重启系统。
(10)若校验值不相同,将升级的分区的信息重新全部擦除并将现在运行的主分区的固件版本拷贝到备用分区来避免设备重新启动带来的分区检测错误而引起的启动失败的问题。
采用了该发明中的实现Web方式升级设备固件的方法,提供了一种针对内存紧缺实现Web方式升级固件的方法和升级失败的异常处理方法,其方法是当设备存在内存不足时,通过擦除原有的备用分区的固件版本和对升级的固件版本进行分片处理写入到设备备用分区中,写入完成之后通过对固件版本进行校验,如果校验失败则提示升级失败,同时擦除升级写入的固件版本并从将主分区固件版本拷贝到备用分区的方式来避免内存不足导致的不能升级和升级失败导致的设备启动存在问题的方法,具有更广泛的应用范围。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (6)
1.一种实现Web方式升级设备固件的方法,其特征在于,所述的方法包括以下步骤:
(1)Web页面将升级操作指令发送至待升级设备;
(2)所述的设备获取备用分区地址信息和备用分区大小;
(3)所述的设备比较获取到的备用分区大小是否大于需要升级的固件版本包的大小,如果是,则继续步骤(4),否则提示升级失败并结束退出;
(4)所述的设备将备用分区的内容进行擦除;
(5)所述的设备将需要升级的固件版本包写入备用分区;
(6)重启设备并切换到升级后的固件版本运行。
2.根据权利要求1所述的实现Web方式升级设备固件的方法,其特征在于,所述的设备将需要升级的固件版本包写入备用分区,包括以下步骤:
(5-1)所述的设备分析获取接收到的报文信息中的实际有效数据;
(5-2)所述的设备判断所述的报文信息中是否存在需要升级的固件版本的边界信息,如果是,则继续步骤(5-3),否则继续步骤(5-1);
(5-3)所述的设备将根据边界信息截取边界信息之前的部分存入到所述的备用分区中。
3.根据权利要求2所述的实现Web方式升级设备固件的方法,其特征在于,所述的分析获取接收到的报文信息中的实际有效数据,包括以下步骤:
(5-1-1)划分实际有效数据为当前写入到分区的数据和与下次进行结合的数据;
(5-1-2)将当前写入到分区的数据直接写入到所述的备用分区中并将与下次进行结合的数据与下次的数据进行结合。
4.根据权利要求3所述的实现Web方式升级设备固件的方法,其特征在于,所述的将与下次进行结合的数据与下次的数据进行结合,具体为:
将与下次进行组合的数据放置于下次的数据之前进行结合。
5.根据权利要求1所述的实现Web方式升级设备固件的方法,其特征在于,所述的步骤(5)和步骤(6)之间,还包括以下步骤:
(5-4)所述的设备对写入备用分区的固件版本进行校验。
6.根据权利要求5所述的实现Web方式升级设备固件的方法,其特征在于,所述的对写入备用分区的固件版本进行校验,包括以下步骤:
(5-4-1)获取固件版本信息的头部后计算头部校验值并与数据部分的校验值进行比较,如果相同,则继续步骤(6),否则继续步骤(5-4-2);
(5-4-2)将所述的备用分区的信息重新全部擦除并将当前运行的主分区的固件版本拷贝到所述的备用分区,然后继续步骤(5-4-3);
(5-4-3)重启设备并按照原固件版本运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510387844.0A CN104978223B (zh) | 2015-07-02 | 2015-07-02 | 实现Web方式升级设备固件的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510387844.0A CN104978223B (zh) | 2015-07-02 | 2015-07-02 | 实现Web方式升级设备固件的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104978223A true CN104978223A (zh) | 2015-10-14 |
CN104978223B CN104978223B (zh) | 2018-03-30 |
Family
ID=54274756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510387844.0A Active CN104978223B (zh) | 2015-07-02 | 2015-07-02 | 实现Web方式升级设备固件的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104978223B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105912356A (zh) * | 2016-03-31 | 2016-08-31 | 武汉光迅科技股份有限公司 | 一种支持版本回退的光模块固件程序在线升级方法 |
CN106250195A (zh) * | 2016-08-10 | 2016-12-21 | 青岛海信电器股份有限公司 | 更新系统文件的方法、设备及系统 |
CN108595113A (zh) * | 2018-03-22 | 2018-09-28 | 维沃移动通信有限公司 | 一种分区调整的方法及终端 |
CN112752154A (zh) * | 2019-10-29 | 2021-05-04 | 青岛海尔多媒体有限公司 | 软件升级方法及装置、智能电视 |
CN113064611A (zh) * | 2021-03-16 | 2021-07-02 | 上海市共进通信技术有限公司 | 针对无线设备实现数据分析软件升级的方法及其更新方法 |
CN113535255A (zh) * | 2021-06-07 | 2021-10-22 | 山东泰物信息技术有限公司 | 一种基于国密算法异步更新嵌入式linux固件的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101004691A (zh) * | 2007-01-23 | 2007-07-25 | 北京映翰通网络技术有限公司 | 一种固件程序升级的方法与装置 |
CN101078993A (zh) * | 2007-03-13 | 2007-11-28 | 中兴通讯股份有限公司 | 一种终端产品不中断业务在线升级版本的方法 |
CN102486733A (zh) * | 2010-12-03 | 2012-06-06 | 中兴通讯股份有限公司 | 引导程序的升级方法和装置 |
CN103257872A (zh) * | 2013-04-15 | 2013-08-21 | 中国信息安全测评中心 | 一种计算机的嵌入式控制系统及其更新方法 |
CN103546809A (zh) * | 2012-07-13 | 2014-01-29 | 中兴通讯股份有限公司 | 机顶盒的软件升级方法及装置 |
CN104184754A (zh) * | 2013-05-21 | 2014-12-03 | 中国电信股份有限公司 | 进行应用及内容自动更新的方法、终端、平台及系统 |
-
2015
- 2015-07-02 CN CN201510387844.0A patent/CN104978223B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101004691A (zh) * | 2007-01-23 | 2007-07-25 | 北京映翰通网络技术有限公司 | 一种固件程序升级的方法与装置 |
CN101078993A (zh) * | 2007-03-13 | 2007-11-28 | 中兴通讯股份有限公司 | 一种终端产品不中断业务在线升级版本的方法 |
CN102486733A (zh) * | 2010-12-03 | 2012-06-06 | 中兴通讯股份有限公司 | 引导程序的升级方法和装置 |
CN103546809A (zh) * | 2012-07-13 | 2014-01-29 | 中兴通讯股份有限公司 | 机顶盒的软件升级方法及装置 |
CN103257872A (zh) * | 2013-04-15 | 2013-08-21 | 中国信息安全测评中心 | 一种计算机的嵌入式控制系统及其更新方法 |
CN104184754A (zh) * | 2013-05-21 | 2014-12-03 | 中国电信股份有限公司 | 进行应用及内容自动更新的方法、终端、平台及系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105912356A (zh) * | 2016-03-31 | 2016-08-31 | 武汉光迅科技股份有限公司 | 一种支持版本回退的光模块固件程序在线升级方法 |
CN105912356B (zh) * | 2016-03-31 | 2019-04-09 | 武汉光迅科技股份有限公司 | 一种支持版本回退的光模块固件程序在线升级方法 |
CN106250195A (zh) * | 2016-08-10 | 2016-12-21 | 青岛海信电器股份有限公司 | 更新系统文件的方法、设备及系统 |
CN108595113A (zh) * | 2018-03-22 | 2018-09-28 | 维沃移动通信有限公司 | 一种分区调整的方法及终端 |
CN112752154A (zh) * | 2019-10-29 | 2021-05-04 | 青岛海尔多媒体有限公司 | 软件升级方法及装置、智能电视 |
CN113064611A (zh) * | 2021-03-16 | 2021-07-02 | 上海市共进通信技术有限公司 | 针对无线设备实现数据分析软件升级的方法及其更新方法 |
CN113064611B (zh) * | 2021-03-16 | 2024-02-02 | 太仓市同维电子有限公司 | 针对无线设备实现数据分析软件升级的方法及其更新方法 |
CN113535255A (zh) * | 2021-06-07 | 2021-10-22 | 山东泰物信息技术有限公司 | 一种基于国密算法异步更新嵌入式linux固件的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104978223B (zh) | 2018-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104978223A (zh) | 实现Web方式升级设备固件的方法 | |
CN106325929B (zh) | 一种固件升级方法、固件升级装置、冰箱和服务端 | |
US11995427B2 (en) | Method, apparatus, device, and storage medium for upgrading vehicle-mounted Tbox | |
CN110618903A (zh) | 电子设备测试方法与装置 | |
CN112732310B (zh) | 基于嵌入式引导分区固件升级方法、系统、设备及介质 | |
CN108170457A (zh) | 固件升级方法、装置及vr头戴式显示器 | |
US20160170735A1 (en) | Operating system updating method by using a checklist | |
US20150347153A1 (en) | System management controller and method of configuration file backup and recovery | |
CN106598654B (zh) | 一种在线更新PowerPC主板引导芯片的方法 | |
CN109416629A (zh) | 固件升级方法、电子设备、相机系统和无人飞行器 | |
CN105978937A (zh) | 一种蓝牙从设备及其升级方法 | |
CN106406962A (zh) | 基于arm的风力发电控制器远程升级失败可恢复的方法 | |
CN111433739A (zh) | 程序的升级方法和嵌入式设备 | |
CN108984200A (zh) | 一种定时更新固件的方法及装置 | |
CN117687664A (zh) | 一种dsp的在线升级配置方法及装置 | |
CN110333882B (zh) | 系统的升级方法、装置、设备及计算机可读介质 | |
CN114265603A (zh) | 基于不对称分区的系统升级方法、装置和电子设备 | |
CN105183580A (zh) | 一种引导程序的存储方法、故障恢复方法及设备 | |
CN110196730B (zh) | 应用程序的热补丁管理方法、装置和存储介质 | |
CN110928570A (zh) | 一种固件升级的方法及装置、可读存储介质 | |
CN111930408A (zh) | 一种软件升级方法 | |
CN116755735A (zh) | 嵌入式软件在线升级方法、装置、腹膜透析仪、存储介质 | |
CN116820528A (zh) | 固件版本升级方法、装置、芯片和电子设备 | |
CN112395130A (zh) | 一种系统备份的方法和设备 | |
CN108132793A (zh) | eMMC在线升级文件的发送、升级方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |