系统升级掉电保护方法、电子设备及存储介质技术方案

技术编号:31678588 阅读:14 留言:0更新日期:2022-01-01 10:23
本申请提供了一种系统升级掉电保护方法、电子设备及存储介质。该方法通过引入强制重启检测线程,在借助内核缓存将下载的升级安装包中的升级文件写入用户数据分区时,利用强制重启检测线程实时检测电子设备是否被强制重启,并在检测到电子设备被强制重启时执行强制落盘,从而保证了电子设备重启后接续升级可以成功进行。功进行。功进行。

【技术实现步骤摘要】
系统升级掉电保护方法、电子设备及存储介质


[0001]本申请涉及计算机
,尤其涉及一种系统升级掉电保护方法、电子设备及存储介质。

技术介绍

[0002]随着电子设备可安装的应用程序越来越多,用户数据对存储空间的占用需求越来越大。目前,为了既保证系统升级的成功性,又能够尽可能降低系统数据对存储空间的占用,以留出更多的存储空间存储用户数据,虚拟AB系统(Virtual AB)的电子设备变的越来越普及。由于虚拟AB系统的分区结构,系统升级过程中需要升级的动态分区(Surper分区)是以单分区的形式存在的,因此在系统升级过程中,升级文件需要先写入用户数据分区(Userdata分区),待电子设备重启时再从用户数据分区读取升级文件落盘到动态分区对应的第一子分区中。而在将升级文件写入用户数据分区的过程中,需要借助内核缓存,即升级文件的数据以块(block)为单位先写入内核缓存,然后再以block为单位从内核缓存中落盘到用户数据分区。
[0003]对于虚拟AB系统的电子设备,在系统升级时如果遇到用户长按电源Power键强制重启(掉电重启)电子设备,可能会存在部分需要落盘到用户数据分区的数据还在内核缓存中,即没有真正落盘到用户数据分区里。但是断点记录文件里记录的进度却表明这部分数据已经落盘到用户数据分区。而电子设备重启后,会依据断点记录文件记录的进度接续升级,这样掉电前没有真正落盘到用户数据分区的数据就会丢失。由于存在数据丢失,因此系统升级安装包安装后进行完整性校验时就会出现校验失败,进而导致系统升级失败。
专利
技术实现思路

[0004]为了解决上述技术问题,本申请提供一种系统升级掉电保护方法、电子设备及存储介质,旨在使虚拟AB系统的电子设备在系统升级出现掉电时,断点记录文件中记录的进度和实际落盘到用户数据分区的进度一致,从而使得电子设备重启后能够正常完成系统升级。
[0005]第一方面,本申请提供一种系统升级掉电保护方法,应用于电子设备,所述电子设备包括处理器以及存储器,所述存储器包括基础分区、第一静态分区、第二静态分区、动态分区以及用户数据分区,所述动态分区包括多个子分区,所述电子设备启动后依次加载所述基础分区的数据、所述第一静态分区的数据以及所述动态分区的数据以运行第一操作系统,所述操作系统运行之后,所述方法还包括:下载升级安装包,所述升级安装包包括升级文件,所述升级文件对应于第一子分区,所述第一子分区为所述动态分区的一个子分区;在所述升级安装包下载成功后,创建强制重启检测线程,所述强制重启检测线程用于检测电子设备是否被强制重启;在所述用户数据分区中创建对应于所述第一子分区的虚拟动态分区;在将所述升级文件的数据写入所述虚拟动态分区的过程中,当所述强制重启检测线程检测到所述电子设备被强制重启时,对所述数据强制落盘。这样,在借助内核缓存将升级文
件写入用户数据分区时,利用强制重启检测线程实时检测电子设备是否被强制重启,并在检测到电子设备被强制重启时执行强制落盘操作,从而保证了电子设备重启后接续升级可以成功进行。
[0006]根据第一方面,所述在将所述升级文件的数据写入所述虚拟动态分区的过程中,所述方法还包括:向断点记录文件中记录断点信息;其中,当所述强制重启检测线程检测到所述电子设备被强制重启时,所述方法还包括:对所述断点信息强制落盘。这样,在将升级文件的数据写入虚拟动态分区的过程中,同时向保存在用户数据分区的断点记录文件进行断点信息的写入操作,并在强制重启检测线程检测到电子设备被强制重启时,对断点信息也执行强制落盘操作,从而保证了落盘到虚拟动态分区的数据,即实际升级进度和断点记录文件记录的断点信息标识的升级进度相一致。
[0007]根据第一方面,或者以上第一方面的任意一种实现方式,所述将所述升级文件的数据写入所述虚拟动态分区,并向断点记录文件中记录断点信息,包括:内核依次将所述升级文件的数据保存到内核缓存,并生成所述断点信息保存到所述内核缓存;在满足同步条件时,所述内核将所述内核缓存中待落盘的所述数据同步到所述虚拟动态分区,并将所述内核缓存中的所述断点信息同步到所述断点记录文件。
[0008]示例性的,所述同步条件为预设时间间隔,例如5秒。
[0009]示例性的,所述同步条件为预设比例,例如内核缓存中缓存的数据达到50%。
[0010]由此,通过定时或定量的方式,从内核缓存中批量读取数据落盘到用户数据分区,即保证升级文件的数据能够写入到用户数据分区,又减少了对内核缓存的读操作,避免对电子设备资源的占用和浪费。
[0011]根据第一方面,或者以上第一方面的任意一种实现方式,所述内核依次将所述升级文件的数据保存到内核缓存,并生成所述断点信息保存到所述内核缓存,包括:所述内核依次将所述升级文件的数据保存到内核缓存;所述内核在将所述升级文件的数据保存到内核缓存后,生成下一次向所述内核缓存保存所述升级文件的数据的断点信息,并将所述断点信息保存到所述内核缓存。这样,在每完成一次操作的数据写入到内核缓存的操作后,通过修改断点信息标识的断点为下一次操作对应的需要写入内核缓存的数据的位置,便可以使电子设备根据断点信息获知下一次写数据的位置,进而实现重启后升级文件的接入写入。
[0012]根据第一方面,或者以上第一方面的任意一种实现方式,当所述强制重启检测线程检测到所述电子设备被强制重启时,对所述数据强制落盘,对所述断点信息强制落盘,包括:当所述强制重启检测线程检测到所述电子设备被强制重启时,所述制重启检测线程通知升级引擎所述电子设备将被强制重启;所述升级引擎向所述内核发送强制落盘指令;所述内核将所述内核缓存中待落盘的所述数据同步到所述虚拟动态分区,并将所述内核缓存中的所述断点信息同步到所述断点记录文件。这样,在检测到电子设备将被强制重启时,不论当前是否满足同步条件,均执行强制落盘操作,从而在电子设备进入强制重启模式前能够将内核缓存中还未落盘到用户数据分区的数据和断点信息同步到用户数据,进而避免了断电重启后未落盘到用户数据分区的数据和断点信息丢失,导致后续的接续升级失败。
[0013]根据第一方面,或者以上第一方面的任意一种实现方式,所述电子设备通过电源键强制重启;所述强制重启检测线程检测到所述电子设备被强制重启,包括:所述强制重启
检测线程检测到所述电源键被按压时,记录所述电源键被按压的第一时长;在所述第一时长大于第一时长阈值时,所述强制重启检测线程确定检测到所述电子设备被强制重启;在所述第一时长不大于第一时长阈值时,继续执行所述将所述升级文件的数据写入所述虚拟动态分区的步骤。这样,通过设置电源键被按压的时长大于预设的第一时长阈值时才停止向内核缓存写数据,并执行将内核缓存中的数据强制落盘到用户数据分区的操作,从而可以避免用户误触电源键,使电源键出现瞬时按压时,就误认为电子设备即将重启进而频繁执行将内核缓存的数据强制落盘到用户数据分区的操作,进一步减少了对内核缓存不必要的读操作,减小了对电子设备资源的占用和浪费。
[0014]根据第一方面,或者以上第一方面的任意本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种系统升级掉电保护方法,其特征在于,应用于电子设备,所述电子设备包括处理器以及存储器,所述存储器包括基础分区、第一静态分区、第二静态分区、动态分区以及用户数据分区,所述动态分区包括多个子分区,所述电子设备启动后依次加载所述基础分区的数据、所述第一静态分区的数据以及所述动态分区的数据以运行第一操作系统,所述操作系统运行之后,所述方法还包括:下载升级安装包,所述升级安装包包括升级文件,所述升级文件对应于第一子分区,所述第一子分区为所述动态分区的一个子分区;在所述升级安装包下载成功后,创建强制重启检测线程,所述强制重启检测线程用于检测电子设备是否被强制重启;在所述用户数据分区中创建对应于所述第一子分区的虚拟动态分区;在将所述升级文件的数据写入所述虚拟动态分区的过程中,当所述强制重启检测线程检测到所述电子设备被强制重启时,对所述数据强制落盘。2.根据权利要求1所述的方法,其特征在于,所述在将所述升级文件的数据写入所述虚拟动态分区的过程中,所述方法还包括:向断点记录文件中记录断点信息,所述断点信息标识的断点为所述电子设备重启后接续升级的位置;其中,当所述强制重启检测线程检测到所述电子设备被强制重启时,所述方法还包括:对所述断点信息强制落盘。3.根据权利要求2所述的方法,其特征在于,将所述升级文件的数据写入所述虚拟动态分区,向断点记录文件中记录断点信息,包括:内核依次将所述升级文件的数据保存到内核缓存,并生成所述断点信息保存到所述内核缓存;在满足同步条件时,所述内核将所述内核缓存中待落盘的所述数据同步到所述虚拟动态分区,并将所述内核缓存中的所述断点信息同步到所述断点记录文件。4.根据权利要求3所述的方法,其特征在于,所述内核依次将所述升级文件的数据保存到内核缓存,并生成所述断点信息保存到所述内核缓存,包括:所述内核依次将所述升级文件的数据保存到内核缓存;所述内核在将所述升级文件的数据保存到内核缓存后,生成下一次向所述内核缓存保存所述升级文件的数据的断点信息,并将所述断点信息保存到所述内核缓存。5.根据权利要求4所述的方法,其特征在于,当所述强制重启检测线程检测到所述电子设备被强制重启时,对所述数据强制落盘,对所述断点信息强制落盘,包括:当所述强制重启检测线程检测到所述电子设备被强制重启时,所述制重启检测线程通知升级引擎所述电子设备将被强制重启;所述升级引擎向所述内核发送强制落盘指令;所述内核将所述内核缓存中待落盘的所述数据同步到所述虚拟动态分区,并将所述内核缓存中的所述断点信息同步到所述断点记录文件。6.根据权利要求2所述的方法,其特征在于,所述电子设备通过电源键强制重启;所述强制重启检测线程检测到所述电子设备被强制重启,包括:所述强制重启检测线程检测到所述电源键被按压时,记录所述电源键被按压的第一时
长;在所述第一时长大于第一时长阈值时,所述强制重启检测线程确定检测到所述电子设备被强制重启;在所述第一时长不大于...

【专利技术属性】
技术研发人员:武国平陈超
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1