一种终端设备的OTA升级方法及装置、可读存储介质、终端设备,方法包括:确定第一类镜像数据和第二类镜像数据;采用第一类镜像数据对第一目标分区进行OTA升级,采用第二类镜像数据对其他目标分区进行OTA升级;根据升级结果,设置第一目标分区或第一主分区中为第一待加载分区,设置其他目标分区或其他主分区为其他待加载分区;对终端设备进行预重启,判断重启过程中加载的第一待加载分区与其他待加载分区的类型是否一致;如果不一致,则确认OTA升级存在异常;根据其他待加载分区的类型,变更第一待加载分区的类型与其他待加载分区的类型一致,然后对终端设备进行重启。上述方案有助于解决OTA升级异常时出现的终端设备变砖问题。题。题。
【技术实现步骤摘要】
终端设备的OTA升级方法及装置、可读存储介质、终端设备
[0001]本专利技术涉及计算机
,尤其涉及一种终端设备的OTA升级方法及装置、可读存储介质、终端设备。
技术介绍
[0002]在软件升级
,虚拟AB(V
‑
AB)分区方案推出后,得益于其具有的无缝升级等优点,很多终端设备制造厂商采用V
‑
AB分区方式对终端设备的硬件存储空间进行软件双分区化。在V
‑
AB分区方案中,可以将A分区命名为槽A(slot A),B分区命名为槽B(slot B)。在两个slot之间螺旋式切换升级,升级时终端设备运行在一个slot上,后台对另一个空闲slot进行升级。
[0003]具体而言,V
‑
AB分区方案基于硬件存储空间中的用户数据分区(UserData Area,UDA)中的一部分分区,划分得到slot A分区(以下称为其他主分区)和slot B分区(以下称为其他目标分区)两大软件分区,其中,slot A分区包括uboot_a分区、dtbo_a分区等,slot B分区包括uboot_b分区、dtbo_b分区等;基于Boot硬件分区划分得到主SPL分区(以下称第一主分区)和SPL_BAK分区(以下称第一目标分区)两大软件分区,其中,主SPL分区是基于Boot0得到的,SPL_BAK分区是基于Boo1得到的。
[0004]在空中升级技术(Over
‑
the
‑
Air Technology,OTA)中,从服务端下载的升级包进行解包并验证后,采用二级程序加载(Second Program Loader,SPL)镜像数据,对Boot硬件分区上的主SPL分区(即,第一目标分区)或SPL_BAK分区(即,第一备份分区)进行升级,采用Userdata镜像数据对UserData硬件分区上的slot A分区(即,其他主分区)或slot B分区(即,其他目标分区)进行升级。
[0005]现有技术中,对于一些旧的不支持V
‑
AB系统的处理器芯片,在OTA升级结束后,对终端设备进行重启过程中,无法实现对Boot硬件分区上的主SPL分区和SPL_BAK分区的选择加载。然而这种情况下,如果OTA升级过程中出现异常中断等情形,则很难保证SPL_BAK分区(第一目标分区)的程序版本与slot B分区(其他目标分区)的程序版本一致。例如,在OTA升级过程中,采用新版本的SPL镜像数据对SPL_BAK分区升级成功,而采用同一版本的UserData镜像数据对Slot B分区的升级失败,则在对终端设备重启过程中,会导致终端设备无法正常开机进入至OTA升级后的系统。由于无法进行分区的选择加载,从而尝试进入OTA升级后的系统失败的情况下,也无法回滚进入至OTA升级前的系统,从而出现终端设备变砖问题。
技术实现思路
[0006]本专利技术实施例解决的技术问题是如何实现在双分区化系统升级中,确认OTA升级异常时能回滚进入至升级前的系统,防止终端设备出现变砖问题。
[0007]为实现上述目的,本专利技术实施例提供一种终端设备的OTA升级方法,包括以下步骤:确定第一类镜像数据和第二类镜像数据;采用所述第一类镜像数据对第一目标分区进
行OTA升级,以及采用所述第二类镜像数据对其他目标分区进行OTA升级;根据升级结果,设置所述第一目标分区或第一主分区中的一个为第一待加载分区,以及设置所述其他目标分区或其他主分区为其他待加载分区;对所述终端设备进行预重启,并判断重启过程中加载的所述第一待加载分区的类型与所述其他待加载分区的类型是否一致;如果所述第一待加载分区的类型与所述其他待加载分区的类型不一致,则确认所述OTA升级存在异常;根据所述其他待加载分区的类型,变更所述第一待加载分区的类型与所述其他待加载分区的类型一致,然后对所述终端设备进行重启。
[0008]可选的,所述第一类镜像数据为SPL镜像数据;所述第二类镜像数据为UserData镜像数据;所述第一主分区和第一目标分区是基于所述终端设备的Boot硬件分区的软件分区;所述其他主分区和其他目标分区是基于所述终端设备的UserData硬件分区的软件分区。
[0009]可选的,根据所述其他待加载分区的类型,变更所述第一待加载分区的类型与所述其他待加载分区的类型一致,然后对所述终端设备进行重启,包括:如果所述其他待加载分区为其他主分区,则将所述第一待加载分区从第一目标分区变更为第一主分区;对所述终端设备进行重启,以加载所述第一主分区和所述其他主分区,并回滚进入至OTA升级前的系统。
[0010]可选的,根据所述其他待加载分区的类型,变更所述第一待加载分区的类型与所述其他待加载分区的类型一致,然后对所述终端设备进行重启,包括:如果所述其他待加载分区为其他目标分区,则将所述第一待加载分区从第一主分区变更为第一目标分区;对所述终端设备进行重启,以加载所述第一目标分区和所述其他目标分区,并尝试进入至OTA升级后的系统。
[0011]可选的,所述方法还包括:还包括:如果设置的所述第一待加载分区为第一目标分区,且设置的所述其他待加载分区为其他目标分区,则对所述终端设备进行重启,以加载所述第一目标分区和所述其他目标分区,并尝试进入至OTA升级后的系统。
[0012]可选的,如果尝试进入至OTA升级后的系统失败,则循环对所述终端设备进行重启并尝试进入至所述OTA升级后的系统,直至重启次数达到预设阈值时,确认OTA升级失败;将所述第一待加载分区从第一目标分区变更为第一主分区,以及将所述其他待加载分区从其他目标分区变更为其他主分区;对所述终端设备进行再次重启,以加载所述第一主分区和所述其他主分区,并回滚进入至OTA升级前的系统。
[0013]可选的,所述根据升级结果,设置所述第一目标分区或第一主分区中的一个为第一待加载分区,以及设置所述其他目标分区或其他主分区为其他待加载分区,包括:如果所述第一目标分区以及所述其他目标分区均升级成功,则设置所述第一目标分区为所述第一待加载分区,设置所述其他目标分区为所述其他待加载分区;如果所述第一目标分区以及所述其他目标分区均升级失败,则设置所述第一主分区为所述第一待加载分区,设置所述其他主分区为所述其他待加载分区;如果所述第一目标分区升级成功以及所述其他目标分区升级失败,则设置所述第一目标分区为所述第一待加载分区,设置所述其他主分区为所述其他待加载分区;如果所述第一目标分区升级失败以及所述其他目标分区升级成功,则设置所述第一主分区为所述第一待加载分区,设置所述其他目标分区为所述其他待加载分区。
[0014]可选的,所述第一待加载分区具有分区指示信息;设置所述第一目标分区或第一主分区中的一个为第一待加载分区,包括:将所述第一待加载分区的分区指示信息赋值为第一数值或第二数值中的一个;其中,当赋值为所述第一数值时,所述第一待加载分区为所述第一主分区,当赋值为所述第二数值时,所述第一待加载分区为所述第一目标分区。
[0015]可选本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种终端设备的OTA升级方法,其特征在于,包括:确定第一类镜像数据和第二类镜像数据;采用所述第一类镜像数据对第一目标分区进行OTA升级,以及采用所述第二类镜像数据对其他目标分区进行OTA升级;根据升级结果,设置所述第一目标分区或第一主分区中的一个为第一待加载分区,以及设置所述其他目标分区或其他主分区为其他待加载分区;对所述终端设备进行预重启,并判断重启过程中加载的所述第一待加载分区的类型与所述其他待加载分区的类型是否一致;如果所述第一待加载分区的类型与所述其他待加载分区的类型不一致,则确认所述OTA升级存在异常;根据所述其他待加载分区的类型,变更所述第一待加载分区的类型与所述其他待加载分区的类型一致,然后对所述终端设备进行重启。2.根据权利要求1所述的方法,其特征在于,所述第一类镜像数据为SPL镜像数据;所述第二类镜像数据为UserData镜像数据;所述第一主分区和第一目标分区是基于所述终端设备的Boot硬件分区的软件分区;所述其他主分区和其他目标分区是基于所述终端设备的UserData硬件分区的软件分区。3.根据权利要求1所述的方法,其特征在于,根据所述其他待加载分区的类型,变更所述第一待加载分区的类型与所述其他待加载分区的类型一致,然后对所述终端设备进行重启,包括:如果所述其他待加载分区为其他主分区,则将所述第一待加载分区从第一目标分区变更为第一主分区;对所述终端设备进行重启,以加载所述第一主分区和所述其他主分区,并回滚进入至OTA升级前的系统。4.根据权利要求1所述的方法,其特征在于,根据所述其他待加载分区的类型,变更所述第一待加载分区的类型与所述其他待加载分区的类型一致,然后对所述终端设备进行重启,包括:如果所述其他待加载分区为其他目标分区,则将所述第一待加载分区从第一主分区变更为第一目标分区;对所述终端设备进行重启,以加载所述第一目标分区和所述其他目标分区,并尝试进入至OTA升级后的系统。5.根据权利要求1所述的方法,其特征在于,还包括:如果设置的所述第一待加载分区为第一目标分区,且设置的所述其他待加载分区为其他目标分区,则对所述终端设备进行重启,以加载所述第一目标分区和所述其他目标分区,并尝试进入至OTA升级后的系统。6.根据权利要求4或5所述的方法,其特征在于,如果尝试进入至OTA升级后的系统失败,则循环对所述终端设备进行重启并尝试进入至所述OTA升级后的系统,直至重启次数达到预设阈值时,确认OTA升级失败;
将所述第一待加载分区从第一目标分区变更为第一主分区,以及将所述其他待加载分区从其他目标分区变更为其他主分区;对所述终端设备进行再次重启,以加载所述第一主分区和所述其他主分区,并回滚进入至OTA升级前的系统。7.根据权利要求1所述的方法,其特征在于,所述根据升级结果,设置所述第一目标分区或第一主分区中的一个为第一待加载分区,以及设置所述其他目标分区或其他主分区为其他待加载分区,包括:如果所述第一目标分区以及所述其他目标分区均升级成功,则设置所述第一目标分区为所述第一待加载分区,设置所述其他目标分区为所述其他...
【专利技术属性】
技术研发人员:柳东海,
申请(专利权)人:厦门紫光展锐科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。