【技术实现步骤摘要】
空中升级固件的方法及其所应用的终端、服务器及系统
本公开数据处理
,尤其涉及一种空中升级固件的方法及其所应用的终端、服务器及系统。
技术介绍
设备空中固件升级技术(FirmwareOver-The-Air,简称FOTA),利用设备要升级的新固件和旧固件进行差分处理DFOTA方式,为具有连网功能的设备进行系统修复和优化。差分升级一般通过下载差分升级文件到本地非易失性内存Flash,然后根据非易失性内存的旧固件和差分文件合并为新的固件,再将新的固件替换掉旧的固件完成升级。升级过程中把新的固件写入旧固件存储的非易失性内存时,如果出现异常,比如掉电,那么新合成的固件数据将会丢失,而存储旧固件的非易失性内存区域因写入新的固件也遭到了破坏,整个系统就不可再恢复,设备不能再启动,出现变砖的情况。为了避免设备掉电异常不能重启的情况,通常两种方法,一种是采用双固件区域,当系统升级异常,一个固件区域遭到破坏,使用另外一个备份区域恢复系统,这种采用双固件区域方法不仅增加了存储成本,而且异常后升级需要重新开始;另外一种方法是先将合并生 ...
【技术保护点】
1.一种空中升级固件的方法,其特征在于,应用于终端,所述方法包括:/n从服务器下载对应旧固件的固件升级文件到新固件存储区域,其中,所述固件升级文件包括M个升级块,M为正整数;/n确定当前待更新的目标升级块,以及确定所述目标升级块对应的待覆盖存储区域,其中,所述目标升级块为M个升级块中的任一个;/n将所述目标升级块存放到临时存储区域;/n从所述临时存储区域中读取所述目标升级块,写入所述待覆盖存储区域。/n
【技术特征摘要】
1.一种空中升级固件的方法,其特征在于,应用于终端,所述方法包括:
从服务器下载对应旧固件的固件升级文件到新固件存储区域,其中,所述固件升级文件包括M个升级块,M为正整数;
确定当前待更新的目标升级块,以及确定所述目标升级块对应的待覆盖存储区域,其中,所述目标升级块为M个升级块中的任一个;
将所述目标升级块存放到临时存储区域;
从所述临时存储区域中读取所述目标升级块,写入所述待覆盖存储区域。
2.根据权利要求1所述的方法,其特征在于,所述确定当前待更新的目标升级块的步骤,包括:
确定当前待更新的全部升级块;
查询每个升级块对应的旧切割块的被依赖程度,其中,所述旧切割块的被依赖程度为所述旧切割块被其他升级块依赖升级的关系;
将被依赖度最小的升级块作为所述目标升级块。
3.根据权利要求2所述的方法,其特征在于,所述确定当前待更新的全部升级块的步骤,包括:
查询升级状态表中升级状态为未升级的全部升级块;
所述从所述临时存储区域中读取所述目标升级块,写入所述待覆盖存储区域的步骤之后,所述方法还包括:
在所述升级状态表中,清除所述升级块的升级状态,或者,更新所述目标升级块的升级状态为已升级。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述从服务器下载对应旧固件的固件升级文件到新固件存储区域的步骤之后,所述方法还包括:
解析所述固件升级文件,获得所述固件升级文件中的基准校验和以及每个升级块的图像内容;
根据每个升级块的图像内容,计算实际校验和;
判断所述实际校验和与所述基准校验和是否相同;
若所述实际校验和与所述基准校验和相同,则确认所述固件升级文件无损,执行对所述旧固件的升级操作;
若所述实际校验和与所述基准校验和不相同,则确认所述固件升级文件受损,不执行对所述旧固件的升级操作。
5.一种空中升级固件的方法,其特征在于,应用于服务器,所述方法包括:
获取终端内待升级的旧固件,以及所述旧固件对应的新固件;
按照预设切割尺寸对所述新固件和所述旧固件进行切割处理,得到对应所述新固件的M个新切割块及对应所述旧固件的N个旧切割块,其中,M和N均为正整数,M大于或者等于N;
对每个新切割块与旧切割块做预处理,得到对应的升级块;
将全部所述升级块按照预设格式打包成对应所述旧固件的固件升级文件,其中,所述固件升级文件包括M个升级块;
向所述终端发送所述固件升级文件,以使所述终端依次升级所述M个升级块。
6.根据权利要求5所述的方法,其特征在于,所述对每个新切割块与旧切割块做预处理,得到对应的升级块的步骤,包括:
对所述新切割块与N个旧切割块中的每个旧切割块均做差分处理,得到所述新切割块与每个旧切割块的差分结果;
根据所述新切割块与每个旧切割块的差分结果,确定所述新切割块的最小差分结果,以及所述最小差分结果关联的目标切割块,其中,所述目标切割块为N个旧切割块的任一个;
根据所述新切割块的最小差分结果及所述最小差分结果关联的目标切割块,形成对应所述新切割块的升级块。
7.根据权利要求6所述的方法,其特征在于,所述根据所述新切割块与每个旧切割块的差分结果,确定所述新切割块的最小差分结果,以及所述最小差分结果关联的目标切割块的步骤之前,所述方法还包括:
将所述新切割块做压缩处理,作为所述新切割块与自身压缩文件的差分结果;
所述根据所述新切割块与每个旧切割块的差分结果,确定所述新切割块的最小差分结果,以及所述最小差分结果关联的目标切割块的步骤,包括:
根据所述新切割块与每个旧切割块的差分结果,以及所述新切割块与自身压缩文件的差分结果,确定所述新切割块的最小差分结果,以及,所述最小差分结果关联的目标切割块,其中,所述目标切割块...
【专利技术属性】
技术研发人员:石怀文,黄永佳,周进,雷扬,
申请(专利权)人:翱捷科技上海有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。