一种基于嵌入式设备无需冗余空间的升级方法
技术领域
本发明涉及物联网
技术领域
,具体为一种基于嵌入式设备无需冗余空间的升级方法。背景技术
现如今,在物联网领域,大量的嵌入式设备,软件升级维护已经成为常态,设备多,区域分散,单台手动升级已不现实,所以支持远程在线升级已是必需,嵌入式设备要想支持在线升级,必然涉及到升级包下载、升级包备份、安装升级包等步骤,在此过程中,可能会在很多环节存在升级失败风险,比如升级包下载过程中断网、升级包数据传输异常、升级过程中断电等情况,轻则升级失败,重则设备变砖无法使用,所以需要考虑一系列措施去降低升级中产生异常的概率,其中,一部分异常情况是可以通过数据校验避免,比如CRC、MD5等算法校验数据的正确性以及完整性,但是一部分情况是无法预知的,比如升级过程中设备忽然掉电,就很可能导致设备变砖。
发明内容
本发明的目的在于提供一种基于嵌入式设备无需冗余空间的升级方法,以解决上述背景技术中提出的升级过程中可能会出现掉电等无法预知的异常情况问题。
为实现上述目的,本发明提供如下技术方案:一种基于嵌入式设备无需冗余空间的升级方法,包括以下步骤;
步骤一、下载升级包;
步骤二、升级包校验通过之后,将升级包及待校验md5值保存,如以有文件系统的设备为例,可以将其保存在/etc/up下;
步骤三、升级包保存之后,设备进行程序升级,若升级成功,则删除之前保存的升级包,升级失败时,升级包依然保留,假如此过程中发生不可控异常导致设备升级失败,在设备断电重启之后,启动脚本中加入升级包判断条件,如果升级包存在,并且升级包完整,再次进行设备升级;
步骤四、升级完成之后设备正常运行。
优选的,下载升级包之后判断升级包数据及完整性是否通过;检查指定路径是否有升级包,设备重新升级,升级成功,删除升级包。
优选的,升级包下载完成,数据正确性及完整性校验通过之后,对升级包及校验信息进行保存,然后对设备进行升级,若升级成功则删除升级包及对应的校验信息。
优选的,设备重启时,会先检查此升级包是否存在,存在则说明设备没升级成功,将再此进行升级,以保证设备能成功升级。
本发明提出的一种基于嵌入式设备无需冗余空间的升级方法,有益效果在于:本发明添加了升级包保留及启动时检查升级包的机制,保证即使在设备由于某些不可控异常导致设备升级失败之后,再次重启也能正常升级,大大的降低了设备变砖的风险,也就提高了设备的可维护性,实际上也是提高了设备的稳定性和竞争力,提升了客户的使用体验。
附图说明
图1为本发明的流程图;
图2为本发明的升级方案示意图;
图3为本发明的嵌入式设备升级时序图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-3,本发明提供一种技术方案:一种基于嵌入式设备无需冗余空间的升级方法,包括以下步骤;
步骤一、下载升级包;
步骤二、升级包校验通过之后,将升级包及待校验md5值保存,如以有文件系统的设备为例,可以将其保存在/etc/up下;
步骤三、升级包保存之后,设备进行程序升级,若升级成功,则删除之前保存的升级包,升级失败时,升级包依然保留,假如此过程中发生不可控异常导致设备升级失败,在设备断电重启之后,启动脚本中加入升级包判断条件,如果升级包存在,并且升级包完整,再次进行设备升级;
步骤四、升级完成之后设备正常运行;
实施方案是在升级包下载完成,数据正确性及完整性校验通过之后,对升级包及校验信息进行保存,然后对设备进行升级,若升级成功则删除升级包及对应的校验信息,设备重启时,会先检查此升级包是否存在,存在则说明设备没升级成功,将再此进行升级,以保证设备能成功升级;
嵌入式设备升级
1、设备要支持远程升级,首先需要将升级包部署在升级服务器,由服务器进行版本比对,如果有新的版本可升级,通知嵌入式设备进行升级;
2、设备端根据以上所述方案进行升级;
3、升级完成将当前设备的版本信息再次上报至服务器,便于服务器进行版本维护及后续升级。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:远程升级方法、装置、终端设备及存储介质