一种差分升级方法、装置、设备及可读存储介质与流程

文档序号:34091337发布日期:2023-05-07 02:42阅读:80来源:国知局
一种差分升级方法、装置、设备及可读存储介质与流程

本申请涉及小型移动终端设备升级,特别涉及一种差分升级方法、装置、设备及可读存储介质。


背景技术:

1、随着软件技术的不断发展,嵌入式产品固件包越来越大,为了极大降低升级包大小,差分升级方案得到了广泛使用,遍布各类嵌入式产品领域,比如手机、平板电脑、车载多媒体等。

2、其中,现有的差分升级方案普遍采用的是bsdiff开源差分算法配合某种压缩算法来得到一个体积较小的升级包。不过,在升级过程中,为了防止升级过程异常中断导致设备无法回退到正常模式,其往往会使用备份空间来备份旧版本数据;但是该安全备份过程会消耗大量的flash空间,即现有的差分升级方案需要消耗大量的flash资源来满足安全备份的要求;而小型嵌入式平台资源极其有限,以致现有的差分升级方案无法在小型嵌入式平台得到广泛使用。


技术实现思路

1、本申请提供一种差分升级方法、装置、设备及可读存储介质,以解决相关技术中由于差分升级需备份旧版本数据而导致的flash资源消耗大的问题。

2、第一方面,提供了一种差分升级方法,包括以下步骤:

3、从参数区顺序获取每个差异块的状态标记值,并根据所述状态标记值确定所述差异块的更新状态;

4、若所述差异块的更新状态处于未完成更新,则进行解压差分升级,并实时更新记录差异块的状态标记值以表征差异块的更新状态,直至所有差异块更新完毕。

5、一些实施例中,所述若所述差异块的更新状态处于未完成更新,则进行解压差分升级,并实时更新记录差异块的状态标记值以表征差异块的更新状态,包括:

6、若所述差异块的更新状态处于未完成更新,对初始差分包和旧版本升级包进行解压还原,得到临时升级包;

7、根据所述临时升级包、所述旧版本升级包和所述差异块生成新的差分包;

8、基于所述新的差分包进行差分升级,并实时更新记录所述差异块的状态标记值以表征差异块的更新状态处于已完成更新。

9、一些实施例中,所述根据所述临时升级包、所述旧版本升级包和所述差异块生成新的差分包,包括:

10、根据所述临时升级包和所述旧版本升级包分别确定出旧版本升级包中与所述差异块对应的原始差异块数据以及临时升级包中与所述差异块对应的目标差异块数据;

11、将所述原始差异块数据备份至原始块备份区,并更新记录所述差异块的状态标记值以表征差异块的更新状态处于已完成差异块数据备份;

12、将所述目标差异块数据覆写至所述旧版本升级包,以生成新的升级包;

13、基于所述临时升级包和所述新的升级包生成新的差分包。

14、一些实施例中,在所述根据所述状态标记值确定所述差异块的更新状态的步骤之后,还包括:

15、若所述差异块的更新状态处于已完成差异块数据备份,从所述原始块备份区恢复出与所述差异块对应的目标原始差异块数据;

16、基于所述目标原始差异块数据对出现异常的旧版本升级包进行更新,得到原始旧版本升级包;

17、对初始差分包和原始旧版本升级包进行解压还原,以得到新的临时升级包,并基于所述新的临时升级包和所述原始旧版本升级包执行所述根据所述临时升级包、所述旧版本升级包和所述差异块生成新的差分包。

18、一些实施例中,在所述基于所述临时升级包和所述新的升级包生成新的差分包的步骤之后,还包括:

19、将所述新的差分包备份至差分包备份区,并更新记录所述差异块的状态标记值以表征所述差异块的更新状态处于已完成差分包备份。

20、一些实施例中,在所述根据所述状态标记值确定所述差异块的更新状态的步骤之后,还包括:

21、若所述差异块的更新状态处于已完成差分包备份,从所述差分包备份区中获取与所述差异块对应的目标差分包,并基于所述目标差分包执行所述基于所述新的差分包进行差分升级。

22、一些实施例中,所述状态标记值与系统掉电区域之间具有映射关系,所述方法还包括:

23、当系统升级过程中出现异常掉电时,根据所述状态标记值和所述映射关系定位出目标掉电区域。

24、第二方面,提供了一种差分升级装置,包括:

25、状态确定单元,其用于从参数区顺序获取每个差异块的状态标记值,并根据所述状态标记值确定所述差异块的更新状态;

26、升级更新单元,其用于若所述差异块的更新状态处于未完成更新,则进行解压差分升级,并实时更新记录差异块的状态标记值以表征差异块的更新状态,直至所有差异块更新完毕。

27、第三方面,提供了一种差分升级设备,包括:存储器和处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现前述的差分升级方法。

28、第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,以实现前述的差分升级方法。

29、本申请提供了一种差分升级方法、装置、设备及可读存储介质,包括从参数区顺序获取每个差异块的状态标记值,并根据所述状态标记值确定所述差异块的更新状态;若所述差异块的更新状态处于未完成更新,则进行解压差分升级,并实时更新记录差异块的状态标记值以表征差异块的更新状态,直至所有差异块更新完毕。本申请通过差异块的更新来实现差分升级,无需备份旧版本数据,以减少备份过程中的flash资源使用率,进而有效降低flash的资源消耗。



技术特征:

1.一种差分升级方法,其特征在于,包括以下步骤:

2.如权利要求1所述的差分升级方法,其特征在于,所述若所述差异块的更新状态处于未完成更新,则进行解压差分升级,并实时更新记录差异块的状态标记值以表征差异块的更新状态,包括:

3.如权利要求2所述的差分升级方法,其特征在于,所述根据所述临时升级包、所述旧版本升级包和所述差异块生成新的差分包,包括:

4.如权利要求3所述的差分升级方法,其特征在于,在所述根据所述状态标记值确定所述差异块的更新状态的步骤之后,还包括:

5.如权利要求3所述的差分升级方法,其特征在于,在所述基于所述临时升级包和所述新的升级包生成新的差分包的步骤之后,还包括:

6.如权利要求5所述的差分升级方法,其特征在于,在所述根据所述状态标记值确定所述差异块的更新状态的步骤之后,还包括:

7.如权利要求1所述的差分升级方法,其特征在于,所述状态标记值与系统掉电区域之间具有映射关系,所述方法还包括:

8.一种差分升级装置,其特征在于,包括:

9.一种差分升级设备,其特征在于,包括:存储器和处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现权利要求1至7中任一项所述的差分升级方法。

10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,以实现权利要求1至7中任一项所述的差分升级方法。


技术总结
本申请涉及一种差分升级方法、装置、设备及可读存储介质,涉及小型移动终端设备升级技术领域,包括从参数区顺序获取每个差异块的状态标记值,并根据所述状态标记值确定所述差异块的更新状态;若所述差异块的更新状态处于未完成更新,则进行解压差分升级,并实时更新记录差异块的状态标记值以表征差异块的更新状态,直至所有差异块更新完毕。本申请通过差异块的更新来实现差分升级,无需备份旧版本数据,以减少备份过程中的FLASH资源使用率,进而有效降低FLASH的资源消耗。

技术研发人员:王乐,姜洲
受保护的技术使用者:武汉天喻信息产业股份有限公司
技术研发日:
技术公布日:2024/1/12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1