【技术实现步骤摘要】
差分升级方法、装置、电子设备及可读存储介质
[0001]本申请涉及固件升级
,尤其涉及一种差分升级方法、装置、电子设备及可读存储介质。
技术介绍
[0002]目前,差分升级算法已经非常成熟,并且已经在安卓、IOS等系统升级、手机App升级等场景成熟应用。但对于嵌入式设备(也称瘦设备),其内存资源极其有限,应用在上述富设备的差分算法在嵌入式设备是不可行的。
[0003]现有针对瘦设备的差分升级方法虽然可以实现瘦设备的固件升级,但是固件升级过程中,内存使用不可控,原因在于通过差分升级算法产生的差分包在进行升级时,需要将差分包中差异数据整个解压出来,导致内存使用不受控制,对内存资源的占用较大。
技术实现思路
[0004]本申请提供一种差分升级方法、装置、电子设备及可读存储介质,目的在于保证瘦设备在固件升级过程中的内存使用可控,降低对瘦设备内存资源的占用。
[0005]第一方面,本申请提供了一种差分升级方法,该方法包括:依次读取差分升级包中表征数据块还原顺序的数据块标识,所述还原顺序预先根据旧镜像中待还原的数据块的依赖度确定;确定所述数据块标识对应的还原命令;根据所述还原命令获取第一升级数据和/或第二升级数据,所述第一升级数据为新镜像相比所述旧镜像增加的数据,所述第二升级数据为将所述旧镜像中的原始数据块还原后获得的数据;通过所述第一升级数据和/或所述第二升级数据覆盖所述旧镜像中的待升级数据区域。
[0006]本申请所提供的差分升级方法,通过依次读取差分升级包中表征数据块还原顺序的 ...
【技术保护点】
【技术特征摘要】
1.一种差分升级方法,其特征在于,所述方法包括:依次读取差分升级包中表征数据块还原顺序的数据块标识,所述还原顺序预先根据旧镜像中待还原的数据块的依赖度确定;确定所述数据块标识对应的还原命令;根据所述还原命令获取第一升级数据和/或第二升级数据,所述第一升级数据为新镜像相比所述旧镜像增加的数据,所述第二升级数据为将所述旧镜像中的原始数据块还原后获得的数据;通过所述第一升级数据和/或所述第二升级数据覆盖所述旧镜像中的待升级数据区域。2.如权利要求1所述的差分升级方法,其特征在于,所述确定所述数据块标识对应的还原命令,包括:根据所述数据块标识从所述差分升级包中读取对应的压缩数据;根据所述压缩数据确定还原命令。3.如权利要求2所述的差分升级方法,其特征在于,所述根据所述压缩数据确定还原命令,包括:对所述压缩数据进行解压,获得解压后的数据;从所述解压后的数据中读取还原命令。4.如权利要求3所述的差分升级方法,其特征在于,所述根据所述还原命令获取第一升级数据和/或第二升级数据,包括:读取所述还原命令中的第一类命令,并根据所述第一类命令从所述解压后的数据中获取第一升级数据;和/或,读取所述还原命令中的第二类命令,并根据所述第二类命令在所述旧镜像中将目标原始数据块还原为第二升级数据,所述目标原始数据块根据所述数据块标识在所述旧镜像中确定。5.如权利要求3所述的差分升级方法,其特征在于,所述根据所述还原命令获取第一升级数据和/或第二升级数据之前,还包括:读取所述还原命令中的第三类命令;根据所述第三类命令将所述旧镜像中对应的目标原始数据块复制到所述差分升级包的备份区中等待还原。6.如权利要求5所述的差分升级方法,其特征在于,所述根据所述第三类命令将所述旧镜像中对应的目标原始数据块复制到所述差分升级包的备份区中等待还原,包括:根据所述第三类命令在所述旧镜像中确定目标原始数据块;获取所述目标原始数据块中需要备份的第一目标数据,所述第一目标数据为所述目标原始数据块中的全部或部分数据;将所述第一目标数据复制到所述差分升级包的备份区中等待还原。7.如权利要求4所述的差分升级方法,其特征在于,所述读取所述还原命令中的第二类命令,并根据所述第二类命令在所述旧镜像中将目标原始数据块还原为第二升级数据,包括:
读取所述还原命令中的第二类命令;确定所述第二类命令指示的字段范围;根据所述字段范围在所述旧镜像中将目标原始数据块按所述第二类命令还原为第二升级数据。8.如权利要求7所述的差分升级方法,其特征在于,所述根据所述字段范围在所述旧镜像中将目标原始数据块按所述第二类命令还原为第二升级数据,包括:根据所述字段范围确定所述目标原始数据块中需要还原的第二目标数据,所述第二目标数据为所述目标原始数据块中的全部或部分数据;在所述旧镜像中将所述第二目标数据按所述第二类命令还原为第二升级数据。9.如权利要求4所述的差分升级方法,其特征在于,所述方法还包括:确定当前还原的原始数据块所属的原始数据分组;判断所述原始数据分组和下一待还原的原始数据分组之间是否存在依赖关系;若否,则在所述原始数据分组被还原后,释放所述原始数据分组所占用的备份区。10.如权利要求4所述的差分升级方法,其特征在于,所述方法还包括:在将目标原始数据块还原为第二升级数据的过程中,若设备掉电,则在设备上电后,从所述差分升级包的备份区中读取所述目标原始数据块;将所述目标原始数据块恢复至所述旧镜像的对应位置,并继续对所述目标原始数据块进行还原。11.如权利要求1至10任一项所述的差分升级方法,其特征在于,所述根据所述还原命令获取第二升级数据之前,包括:确定所述数据块标识在所述旧镜像中对应的目标原始数据块,以及在所述新镜像中对应的第二升级数据;获取所述目标原始数据块对应的第一校验和,以及所述第二升级数据对应的第二校验和;在所述第一校验和与所述第二校验和相匹配时,执行所述根据所述还原命令获取第二升级数据的步骤。12.如权利要求1至10任一项所述的差分升级方法,其特征在于,所述依赖度为各待还原的数据块中被所述新镜像所需要的数据的字节...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。