CN113900699B - 一种系统升级方法和电子设备 - Google Patents
一种系统升级方法和电子设备 Download PDFInfo
- Publication number
- CN113900699B CN113900699B CN202110579183.7A CN202110579183A CN113900699B CN 113900699 B CN113900699 B CN 113900699B CN 202110579183 A CN202110579183 A CN 202110579183A CN 113900699 B CN113900699 B CN 113900699B
- Authority
- CN
- China
- Prior art keywords
- partition
- file
- memory
- electronic device
- new
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
一种系统升级方法和电子设备。在该方法中,电子设备在系统升级的过程中,可以根据升级包与当前系统得到全部新分区文件之后。先不将该新分区文件写入到目标分区(该目标分区即为新分区文件最终写入的位置:存储器的第一部分以及第二部分中对应的分区),而是先将其存储在存储器的第三部分中。然后,电子设备再根据新分区表,将这N个新分区文件写入到目标分区中。实施本申请提供的技术方案,在不浪费储存器的储存空间的情况下,也可以使得电子设备在系统升级的过程中,不影响系统的正常运行,且减少用户等待的时间。
Description
技术领域
本申请涉及终端及通信技术领域,尤其涉及系统升级方法和电子设备。
背景技术
电子设备的系统经过一段时间的使用,就会显现出系统中的一些漏洞(bug),可以通过升级系统以修复这些bug,同时提升系统的性能以使得电子设备的系统可以满足用户的需求。
系统升级会耗费大量时间,且在系统升级时,电子设备不可以被用户所使用,为了减少系统升级时用户等待的时间,目前主流的系统升级方式是在存储器中部署两个系统,系统A和系统B。这样,当电子设备正在运行其中一个系统时,则对另一个系统进行升级。例如,当电子设备在运行系统A,对系统B进行升级时,可以将新系统写入存储器中原来存储系统B的若干个分区中,用新系统代替原来的系统B。
发明内容
本申请提供了一种系统升级方法和电子设备,在不浪费储存器的储存空间的情况下,也可以使得电子设备在系统升级的过程中,不影响系统的正常运行,且减少用户等待的时间。
第一方面,本申请提供了一种系统升级方法,该方法包括:电子设备在正常模式下获取当前系统对应的升级包;该升级包中至少包括第一差量文件、第二差量文件和第一分区表;该第一差量文件用于对当前系统的第一分区文件升级;该第二差量文件用于对当前系统的第二分区文件升级;该第一分区表用于描述系统升级后存储器的分区部署,其中至少包括升级后的第一分区文件的第一目标分区的第一分区标识以及升级后的第二分区文件的第二目标分区的第二分区标识;该电子设备根据该第一差量文件与当前系统的第一分区文件得到第一新分区文件;该第一分区文件为存储器的第一部分中的分区文件;该第一新分区文件为该电子设备利用该第一差量文件将该第一分区文件升级后的分区文件;该电子设备将该第一新分区文件存储在存储器的第三部分中;该存储器的第三部分用于存储用户文件;该电子设备根据该第二差量文件与当前系统的第二分区文件,得到第二新分区文件;该第二分区文件为存储器的第二部分中的分区文件;该第二新分区文件为该电子设备利用该第二差量文件将该第二分区文件升级后的分区文件;该电子设备将该第二新分区文件存储在存储器的第三部分;该电子设备在修复模式下根据该第一分区表中的该第一分区标识,将该第一新分区文件从该存储器的第三部分写入到该第一目标分区;该第一目标分区属于存储器的第一部分;该电子设备在修复模式下根据该第一分区表中该第二分区标识,将该第二新分区文件从存储器的第三部分写入到第二目标分区;该第二目标分区属于存储器的第二部分。
实施第一方面的方法,电子设备在正常模式下,获取当前系统的分区文件的新分区文件,然后存储到存储器的第三部分,先不存储到目标分区。然后在修复模式下,在将新分区文件写入在存储器中的目标分区。这样,电子设备可以在不浪费储存器的储存空间的情况下,也可以使得电子设备在系统升级的过程中,不影响系统的正常运行,且减少用户等待的时间。
结合第一方面,在一种实施方式中,电子设备在正常模式下获取当前系统对应的升级包之后,该电子设备将该第一新分区文件存储在存储器的第三部分中的步骤之前,该方法还包括:该电子设备检查当前系统的第二分区表与该升级包中的第一分区表是否相同;当确定该第二分区表与该第一分区表相同时,该电子设备根据该第一分区表中的该第一分区标识,将该第一新分区文件写入到该第一目标分区;该电子设备根据该第一分区表中的该第二分区标识,将该第二新分区文件写入到该第二目标分区;该电子设备将该第一新分区文件存储在存储器的第三部分中,具体包括:当确定该第二分区表与该第一分区表不相同时,该电子设备将该第一新分区文件存储在存储器的第三部分中;该电子设备将该第二新分区文件存储在存储器的第三部分,具体包括:当确定该第二分区表与该第一分区表不相同时,该电子设备将该第二新分区文件存储在存储器的第三部分。
在上述实施例中,如果升级过程中,在将新分区文件写入到目标分区的时候,不涉及存储器的分区的改变,则可以直接在正常模式下,将新分区文件写入到存储器的目标分区中,这样不用因为存储空间不足而将新分区文件存储到存储器的第三部分中。这样,可以加速系统升级的速度。
结合第一方面,在一种实施方式中,该电子设备将该第一新分区文件存储在存储器的第三部分中之前,该方法还包括:该电子设备判断存储器的第三部分是否可以存储全部新分区文件;当确定存储器的第三部分不可以存储全部新分区文件时,则该电子设备提示用户存储空间不足且停止安装。该电子设备将该第一新分区文件存储在存储器的第三部分中,具体包括:当确定存储器的第三部分可以存储全部新分区文件时,该电子设备将该第一新分区文件存储在存储器的第三部分中;该电子设备将该第二新分区文件存储在存储器的第三部分中,具体包括:当确定存储器的第三部分可以存储全部新分区文件时,该电子设备将该第二新分区文件存储在存储器的第三部分中。
在上述实施例中,电子设备在将新分区文件写入存储器的第三部分之前,会先判断该存储器的第三部分是否有足够的空间存储全部新分区文件。避免了没有足够存储空间还继续将新分区文件写入存储器的第三部分中导致系统升级失败。提高了系统升级成功的概率。
结合第一方面,在一种实施方式中,该电子设备根据该第一差量文件与当前系统的第一分区文件得到第一新分区文件,具体包括:在该第一差量文件的文件类型为差分文件时,该电子设备采取差分还原的方式根据该第一差量文件与该第一分区文件进行差分还原,得到该第一新分区文件。
结合第一方面,在一种实施方式中,该电子设备根据该第二差量文件与第二分区文件,得到第二新分区文件,具体包括:在该第二差量文件的文件类型为写时复制文件时,该电子设备采取快照的方式根据该第二差量文件与该第二分区文件进行快照,得到该第二新分区文件。
结合第一方面,在一种实施方式中,该方法还包括:在存储器中存储了两个系统的第一部分的情况下,该电子设备将该第一新分区文件从存储器的第三部分写入到第一目标分区对应的备份分区中。
在上述实施例中,对于存储器中存储了两个系统的第一部分的情况,电子设备可以同时升级该两个系统的第一部分,一次性完成两个系统的升级。
结合第一方面,在一种实施方式中,该方法还包括:在完成系统升级之后,该电子设备删除储存器的第三部分中的该全部新分区文件。
在上述实施例中,在系统升级完成之后,电子设备可以删除存储器的第三部分中存储的新分区文件,不占用存储器的第三部分的存储空间,使得电子设备可以预留更多的存储空间供用户使用。
第二方面,本申请提供了一种电子设备,该电子设备包括:一个或多个处理器和存储器;该存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,该一个或多个处理器调用该计算机指令以使得该电子设备执行:在正常模式下获取当前系统对应的升级包;该升级包中至少包括第一差量文件、第二差量文件和第一分区表;该第一差量文件用于对当前系统的第一分区文件升级;该第二差量文件用于对当前系统的第二分区文件升级;该第一分区表用于描述系统升级后存储器的分区部署,其中至少包括升级后的第一分区文件的第一目标分区的第一分区标识以及升级后的第二分区文件的第二目标分区的第二分区标识;根据该第一差量文件与当前系统的第一分区文件得到第一新分区文件;该第一分区文件为存储器的第一部分中的分区文件;该第一新分区文件为该电子设备利用该第一差量文件将该第一分区文件升级后的分区文件;将该第一新分区文件存储在存储器的第三部分中;该存储器的第三部分用于存储用户文件;根据该第二差量文件与当前系统的第二分区文件,得到第二新分区文件;该第二分区文件为存储器的第二部分中的分区文件;该第二新分区文件为该电子设备利用该第二差量文件将该第二分区文件升级后的分区文件;将该第二新分区文件存储在存储器的第三部分;在修复模式下根据该第一分区表中的该第一分区标识,将该第一新分区文件从该存储器的第三部分写入到该第一目标分区;该第一目标分区属于存储器的第一部分;在修复模式下根据该第一分区表中该第二分区标识,将该第二新分区文件从存储器的第三部分写入到第二目标分区;该第二目标分区属于存储器的第二部分。
实施第二方面,电子设备在正常模式下,获取当前系统的分区文件的新分区文件,然后存储到存储器的第三部分,先不存储到目标分区。然后在修复模式下,在将新分区文件写入在存储器中的目标分区。这样,电子设备可以在不浪费储存器的储存空间的情况下,也可以使得电子设备在系统升级的过程中,不影响系统的正常运行,且减少用户等待的时间。
结合第二方面,在一种实施方式中,该一个或多个处理器还用于调用该计算机指令以使得该电子设备执行:该电子设备检查当前系统的第二分区表与该升级包中的第一分区表是否相同;当确定该第二分区表与该第一分区表相同时,该电子设备根据该第一分区表中的该第一分区标识,将该第一新分区文件写入到该第一目标分区;该电子设备根据该第一分区表中的该第二分区标识,将该第二新分区文件写入到该第二目标分区;该一个或多个处理器具体用于调用该计算机指令以使得该电子设备执行:当确定该第二分区表与该第一分区表不相同时,该电子设备将该第一新分区文件存储在存储器的第三部分中;当确定该第二分区表与该第一分区表不相同时,该电子设备将该第二新分区文件存储在存储器的第三部分。
在上述实施例中,如果升级过程中,在将新分区文件写入到目标分区的时候,不涉及存储器的分区的改变,则可以直接在正常模式下,将新分区文件写入到存储器的目标分区中,这样不用因为存储空间不足而将新分区文件存储到存储器的第三部分中。这样,可以加速系统升级的速度。
结合第二方面,在一种实施方式中,该一个或多个处理器还用于调用该计算机指令以使得该电子设备执行:该电子设备判断存储器的第三部分是否可以存储全部新分区文件;当确定存储器的第三部分不可以存储全部新分区文件时,则该电子设备提示用户存储空间不足且停止安装;该一个或多个处理器具体用于调用该计算机指令以使得该电子设备执行:当确定存储器的第三部分可以存储全部新分区文件时,该电子设备将该第一新分区文件存储在存储器的第三部分中;当确定存储器的第三部分可以存储全部新分区文件时,该电子设备将该第二新分区文件存储在存储器的第三部分中。
在上述实施例中,电子设备在将新分区文件写入存储器的第三部分之前,会先判断该存储器的第三部分是否有足够的空间存储全部新分区文件。避免了没有足够存储空间还继续将新分区文件写入存储器的第三部分中导致系统升级失败。提高了系统升级成功的概率。
结合第二方面,在一种实施方式中,该一个或多个处理器具体用于调用该计算机指令以使得该电子设备执行:在该第一差量文件的文件类型为差分文件时,该电子设备采取差分还原的方式根据该第一差量文件与该第一分区文件进行差分还原,得到该第一新分区文件。
结合第二方面,在一种实施方式中,该一个或多个处理器具体用于调用该计算机指令以使得该电子设备执行:在该第二差量文件的文件类型为写时复制文件时,该电子设备采取快照的方式根据该第二差量文件与该第二分区文件进行快照,得到该第二新分区文件。
结合第二方面,在一种实施方式中,该一个或多个处理器还用于调用该计算机指令以使得该电子设备执行:在存储器中存储了两个系统的第一部分的情况下,该电子设备将该第一新分区文件从存储器的第三部分写入到第一目标分区对应的备份分区中。
在上述实施例中,对于存储器中存储了两个系统的第一部分的情况,电子设备可以同时升级该两个系统的第一部分,一次性完成两个系统的升级。
结合第二方面,在一种实施方式中,该一个或多个处理器还用于调用该计算机指令以使得该电子设备执行:在完成系统升级之后,该电子设备删除储存器的第三部分中的该全部新分区文件。
在上述实施例中,在系统升级完成之后,电子设备可以删除存储器的第三部分中存储的新分区文件,不占用存储器的第三部分的存储空间,使得电子设备可以预留更多的存储空间供用户使用。
第三方面,本申请提供了一种一种芯片系统,该芯片系统应用于电子设备,该芯片系统包括一个或多个处理器,该处理器用于调用计算机指令以使得该电子设备执行如第一方面或第一方面的任意一种实施方式所描述的方法。
实施第三方面的方法,电子设备在正常模式下,获取当前系统的分区文件的新分区文件,然后存储到存储器的第三部分,先不存储到目标分区。然后在修复模式下,在将新分区文件写入在存储器中的目标分区。这样,电子设备可以在不浪费储存器的储存空间的情况下,也可以使得电子设备在系统升级的过程中,不影响系统的正常运行,且减少用户等待的时间。
第四方面,本申请提供了一种包含指令的计算机程序产品,其特征在于,当该计算机程序产品在电子设备上运行时,使得该电子设备执行如第一方面或第一方面的任意一种实施方式所描述的方法。
实施第四方面的方法,电子设备在正常模式下,获取当前系统的分区文件的新分区文件,然后存储到存储器的第三部分,先不存储到目标分区。然后在修复模式下,在将新分区文件写入在存储器中的目标分区。这样,电子设备可以在不浪费储存器的储存空间的情况下,也可以使得电子设备在系统升级的过程中,不影响系统的正常运行,且减少用户等待的时间。
第五方面,本申请提供了一种系统升级方法,一种计算机可读存储介质,包括指令,其特征在于,当该指令在电子设备上运行时,使得该电子设备执行如第一方面或第一方面的任意一种实施方式所描述的方法。
实施第五方面的方法,电子设备在正常模式下,获取当前系统的分区文件的新分区文件,然后存储到存储器的第三部分,先不存储到目标分区。然后在修复模式下,在将新分区文件写入在存储器中的目标分区。这样,电子设备可以在不浪费储存器的储存空间的情况下,也可以使得电子设备在系统升级的过程中,不影响系统的正常运行,且减少用户等待的时间。
附图说明
图1是本申请实施例提供的存储器的一种存储空间划分的示意图;
图2a-图2e是本申请实施例提供的电子设备的系统升级前后的一组示例性用户界面;
图3是本申请实施例提供的电子设备的存储器中部署两个系统的一个示意图;
图4是本申请实施例提供的通信系统100的结构示意图;
图5是本申请实施例提供的电子设备的结构示意图;
图6为本申请实施例中系统升级方法的一个示例性流程示意图;
图7是本申请实施例提供的系统升级方法的另一个示例性流程示意图;
图8是本申请实施例提供的电子设备得到第一全量数据以及第二全量数据的示意图;
图9是本申请实施例提供的将新分区文件写到存储器对应的分区中的示意图;
图10是本申请实施例提供的将新分区文件写到存储器对应的分区中的另一个示意图。
具体实施方式
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
由于本申请实施例涉及电子设备的系统升级,为了便于理解,下面先对本申请实施例涉及的相关术语及概念进行介绍。
(1)存储器分区
存储器分区是指将存储器的整体存储空间划分成多个独立的区域,分别用于存储系统、用户文件等内容。其中,一个独立的区域称为一个分区,该分区中存储的内容可以被称为分区文件,该分区文件可以是程序或者文件等。每一个分区都可以对应一个分区标识,该分区标识可以唯一的标识一个分区。该标识可以是分区编号,也可以是分区的名称,还可以是其他的表现形式,本申请对此不做限定。其中,分区编号以及分区的名称将在下文介绍,此处暂不赘述。
如图1示出了存储器的一种存储空间划分的示意图。
如图1所示,电子设备可以将存储器划分成多个分区,例如,引导分区表(GUIDpartition table,GPT)分区、x-loader分区以及bootloader分区等。该存储器中,每个分区都是独立的,存储着不同分区文件。例如,GPT分区中,可以存储GPT分区表,x-loader分区中可以储存某一引导程序等。可以理解的是,某一个分区中的分区文件所占存储器空间的大小可以比该分区小,也可以跟该分区一样大。
在本申请实施例中,系统可以分为两个部分,第一部分用于引导系统的运行,第二部分用于运行系统。其中,该系统可以是Android、华为鸿蒙系统(HuaweiHarmonyOS)、iOS。存储器可以包括三个部分,第一部分用于存储系统的第一部分,该存储器的第一部分可以被称为静态分区,第二部分用于存储系统的第二部分,第三部分用于存储用户文件,该存储器的第二部分可以被称为动态分区,不涉及系统的运行。
其中,第一部分可以包括多个分区(例如,x-loader分区以及bootloader分区等),这些分区中的分区文件用于引导系统的运行,该分区文件可以是启动程序,电子设备在运行系统前,需要先运行这些分区文件,以引导系统的运行。其中,每一个分区中的分区文件对于引导系统的运行都有各自的作用,电子设备可以利用当前正在运行的某一个分区中的分区文件加载下一个分区中的分区文件到内存中,使得电子设备可以运行下一个分区中的分区文件,直到电子设备运行完全部的启动程序,才可以运行系统。例如,响应于用户按下开机键的操作,电子设备可以执行x-loader分区中的分区文件,具体执行该分区文件中预设的起始代码,该部分起始代码可以用于加载下一个分区,即bootloader分区中的分区文件到内存中,使得电子设备可以运行bootloader分区中的分区文件,该部分分区文件可以完成系统运行前的安全认证,即验证处理器、内存等是否可以安全,正常地工作。可以理解的是,然后,电子设备可以依次运行其他分区中的分区文件,使得电子设备可以启动系统的运行,此处不再赘述。
第二部分可以包括多个分区(system_x分区、odm_x分区等),这些分区用于存储系统,这些分区中的分区文件用于运行系统。其中,每一个分区文件对于系统的运行都有各自的作用,电子设备可以利用当前正在运行的某一个分区中的分区文件加载下一个分区中的分区文件到内存中,使得电子设备可以运行下一个分区中的分区文件。这样,电子设备可以运行第二部分中的每一个分区文件,使得本机可以正常运行。例如,电子设备可以通过运行第二部分中的第一个分区中的分区文件,例如system_x分区中的分区文件,开始进入系统,完成初始化进程管理、内存管理等工作,然后通过该system_x分区中的分区文件加载下一个分区中的分区文件,例如odm_x分区中的分区文件到内存中,使得电子设备可以运行该odm_x分区中的分区文件。可以理解的是,电子设备可以通过运行可以依次运行其他的分区中的分区文件,使得本机可以正常运行,使得电子设备可以响应用户的操作,执行相关的指令,此处不再赘述。
第三部分可以包括多个分区(data_x分区等)这些分区中的分区文件可以是用户文件,该用户文件与系统的运行无关,可以包括用户数据,例如,图片、视频等。
(2)分区表
分区表用于描述存取器的分区部署,可以包括存储器中的每一个分区的起始地址-结束地址和大小等信息。该分区表通常存储在存储器中的第一个分区内,电子设备可以通过分区表中的信息,执行索引、定位等操作,找到该存储器中的其他分区。
根据图1中涉及的存储器的分区,表1示例性示出了该存储器的一个的分区表。
如表1所示,该分区表中可以包括存储器中的每一个分区的分区编号、名称、大小、起始地址-结束地址。
其中,分区编号用于定义某一个分区是存储器的第几个分区。名称,用于描述该分区的名称。大小,用于描述该分区所占存储器中的空间大小。起始地址-结束地址用于描述该分区在存储器中的位置。其中,分区编号以及分区的名称可以作为分区对应的分区标识。
表1
如表1所示,存储器中的第一个分区为GPT分区,该GPT分区中存储着该存储器的分区表,该分区的大小为128kb,同时,该分区的起始位置为“0x0000 0000”,结束地址为“0xXXXXXXXX”。
通过该分区表,电子设备可以确定其他分区的信息。例如,x-loader分区为除去GPT分区以外的第一个分区,该分区的大小为256kb,同时,该分区的起始位置为“0xXXXXXXXX”,结束地址为“0xXXXXXXXX”。
可以理解的是,在一些实施例中,电子设备可以将分区表存储在存储器的第一部分。在另一些实施例中,电子设备可以不在存储器中存储分区表,在需要该分区表时根据该存储器中各个分区存储的分区文件生成一个分区表即可。
(3)系统升级
电子设备的系统升级是指利用新系统去替换当前系统使电子设备的系统从当前系统更新到版本更高的新系统,即将存储器中存储的当前系统进行更新,变成新系统。系统升级可以对当前系统的bug进行修复,或者对系统的性能进行提升,例如,对系统中的应用程序添加新功能,使该应用程序更加完善好用。
图2a-图2e示例性示出了电子设备的系统升级前后的一组示例性用户界面。
如图2a示例性示出了电子设备运行当前系统时显示的一个用户界面21,该用户界面21用于展示电子设备安装的应用程序。
用户界面21可以包括具有常用应用程序图标的托盘211,以及其他应用程序图标等。
其中,具有常用应用程序图标的托盘211可展示:电话图标211A、短信图标211B、联系人图标211C。其他应用程序图标可例如:“视频”应用的图标212、“设置”应用的图标213、“阅读”应用的图标214等。
然后,电子设备检测到服务器中有新系统,可以显示图2b所示的用户界面22。此时,电子设备确定可以对当前系统进行升级,可以在状态栏221中显示系统升级指示符221A,该系统升级指示符221A用于提示用户此时该电子设备的系统可以进行升级了。
可以理解的是,本申请实施例中的电子设备也可以自动启动系统升级流程,不需要用户的许可。
在一些实施例中,当电子设备的当前系统可以升级时,电子设备显示图2c所示的用户界面23,该用户界面23中可以弹出提示框231,该提示框231中可以包括提示信息231A,该提示信息231A可以用于提示用户,发现比当前系统版本更高的系统,可以升级当前系统。
响应于用户在立即升级控件231B上的操作(例如点击操作等),电子设备可以对当前系统进行升级。
在电子设备进行升级的过程中,电子设备可以显示图2d所示的用户界面24,该用户界面24中可以显示提示信息242,该提示信息242用于提示用户,当前系统正在进行升级。该用户界面24中可以显示升级进度信息241,该升级进度信息241用于提示用户,电子设备的升级以及完成了多少。
当电子设备完成系统升级后,可以显示如图2e所示的用户界面25,其中,具有常用应用程序图标的托盘251可展示:电话图标251A、短信图标251B、联系人图标251C。其他应用程序图标可例如:“视频”应用的图标252、“设置”应用的图标253、“阅读”应用的图标254等。
系统升级后,电子设备的系统会发生相应的变化,例如,对比系统升级前的电子设备显示的用户界面21,用户界面25中包括的具有常用应用程序图标的托盘251中的常用应用,以及其他应用程序图标的显示形态都发生了相应的变化。
可以理解的是,以上实施例是对比升级前的用户界面21以及升级后的用户界面25可以明显看到的由于系统升级带给电子设备的改变。还有一些改变,例如系统性能的提升以及bug的修复等,需要在用户对电子设备的使用过程中得到体现。
下面结合上述术语,对现有技术中,电子设备的系统升级的方案以及本申请实施例中涉及的系统升级方法进行介绍。
在一种方案中,为了让电子设备的系统升级的过程中减少用户的等待时间,可以在存储器中部署两个系统,系统A和系统B,这样,当电子设备正在运行其中一个系统时,则可以对另一个系统进行升级。
图3示出了电子设备的存储器中部署两个系统的一个示意图。
如图3所示,通常,系统的第一部分占用的存储空间比较小,则电子设备可以在存储器的第一部分部署两个系统的第一部分,例如bootloader_a分区文件、boot_a分区文件等都是系统A的第一部分,bootloader_b分区文件、boot_b分区文件等分区文件都是系统B的第一部分,其中,每一个分区文件都单独保存在存储器的第一部分的相关分区中。由于系统的第二部分需要的存储空间比较大,系统A与系统B可以共用一个第二部分。该第二部分中的每一个分区文件都单独存储在存储器的第二部分的相关分区中。例如,系统的第二部分可以包括system分区文件、system_ext分区文件以及odm分区文件等。
由于系统的第一部分用于引导系统的运行,第二部分用于运行系统,则在一个系统的第一部分运行完成之后,电子设备就可以运行第二部分以运行系统,使电子设备正常工作。当电子设备正在运行的系统A时,如果当前系统可以升级,则可以在后台先对系统B的第一部分进行升级,将新系统的第一部分写入存储器的第一部分,去替换系统B的第一部分,该过程可以在后台进行,不影响用户对电子设备的使用。当系统B的第一部分更新完成之后,对系统B的第二部分进行升级,当电子设备重新启动时,则可以运行已经完成了系统升级的系统B。这样,在只占用了少部分存储器空间的情况下,可以减少系统升级过程中,用户的等待时间。
但是,当电子设备在对其中一个系统进行升级的过程中,可能涉及存储器中某一个分区存储的分区文件会扩大,而导致该分区不足以存储该扩大的新分区文件,则将该新分区文件写入该分区时,会导致该新分区文件占用下一个分区的存储空间,使得下一个分区中的分区文件被上一个分区中的新分区文件替换掉。这样会导致下一个分区存储的分区文件不可用,使得系统升级失败。
例如,如图3所示,电子设备可以从OTA服务器中下载升级包,该升级包中包括系统V2.0。电子设备在利用该升级包将系统V1.0升级为系统V2.0时,电子设备可以利用bootloader.img文件升级bootloader_a分区文件以及bootloader_b分区文件。例如,电子设备利用bootloader.img文件与bootloader_b分区文件生成bootloader_new分区文件。然后,电子设备利用bootloader_new分区文件对bootloader_b分区文件进行升级,这时,由于bootloader_new分区文件所需存储空间更大,则电子设备用bootloader_new分区文件替换bootloader_b分区文件,写入bootloader_b文件所在的分区时,该bootloader_new分区文件占用了一部分boot_a分区文件所在分区的存储空间,使得boot_a分区文件的一部分被bootloader_new分区文件覆盖,导致boot_a分区文件被破坏了,使得该boot_a分区文件不可用,导致系统V1.0不可以正常运行。且电子设备无法从系统V1.0升级为系统V2.0。
为了解决上述方案中的问题,另一种方案中,电子设备可以增加存储器的第一部分和第二部分中各个分区的存储空间,这样,当采取上述方案中的系统升级的方法对系统进行升级时,就会减少前一个分区因为存储的新分区文件增大而覆盖下一个分区中存储的分区文件的情况。使得电子设备在系统升级的过程中,不会因为分区的存储空间不足而导致升级失败。
但是这样,由于第一部分与第二部分的所占用的存储器的存储空间增多了,会导致第三部分所占用的存储器的存储空间减少,这样,会导致存储器空间的浪费,使得留给用户用于存储用户文件的存储空间则会减少。
而采取本申请实施例中的系统升级方法,不需要增加存储器的第一部分和第二部分中各个分区的存储空间,也可以解决前述方案中,由于系统升级,导致前一个分区存储的新分区文件增大而覆盖下一个分区中存储的分区文件,导致系统升级失败的问题。
电子设备在系统升级的过程中,可以根据升级包与当前系统得到全部新分区文件之后。先不将该新分区文件写入到目标分区(该目标分区即为新分区文件最终写入的位置:存储器的第一部分以及第二部分中对应的分区),而是先将其存储在存储器的第三部分中。然后,电子设备再根据新分区表,将这N个新分区文件写入到目标分区中。
电子设备在系统升级的过程中,如果不涉及存储器中任何一个分区的存储空间会变化,则在获取了某一个分区的新分区文件之后,不需要将该新分区文件存储在存储器的第三部分中,直接将该新分区文件写入该分区中即可。这样,可以节约电子设备系统升级的时间。
应该理解的是,某一个分区的新分区文件是指当前存储器中某一个分区在系统升级后可以存储的分区文件,该新分区文件可以与系统升级前该分区中存储的分区文件的内容相同,也可以不相同。
这样,在不浪费储存器的储存空间的情况下,也可以使得电子设备在系统升级的过程中,不影响系统的正常运行,且减少用户等待的时间。
下面首先介绍本申请实施提供的示例性通信系统100。
图4是本申请实施例提供的通信系统100的结构示意图。
如图4所示,该通信系统100可以包括:电子设备以及服务器。
本申请实施例中的电子设备可以是搭载Android、华为鸿蒙系统(HuaweiHarmonyOS)、iOS或者其它操作系统的终端设备。
服务器用于为电子设备提供各项服务,例如通信服务、数据传输等。开发人员可以将电子设备用于系统升级的升级包上传到该服务器中,该服务器可以是支持空中下载(over-the-air,OTA)技术的服务器。该OTA技术是指服务器可以通过无线网络实现对电子设备进行远程版本更新的技术。开发人员可以将系统升级需要的升级包上传到该服务器。
电子设备可以通过网络,访问服务器,例如可以通过3G、4G、5G等蜂窝移动通信技术、广域网(wide area network,WAN)技术、局域网(local area network,LAN)技术或无线局域网技术(wireless LAN,WLAN)技术等和服务器通信。从服务器中下载系统升级需要的升级包。
下面介绍本申请实施例提供的通信系统100中的示例性电子设备。
图5是本申请实施例提供的电子设备的结构示意图。
下面以电子设备为例对实施例进行具体说明。应该理解的是,电子设备可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
电子设备可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备的具体限定。在本申请另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在电子设备上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
电子设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
电子设备通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备可以包括1个或N个显示屏194,N为大于1的正整数。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用(比如人脸识别功能,指纹识别功能、移动支付功能等)等。存储数据区可存储电子设备使用过程中所创建的数据(比如人脸信息模板数据,指纹信息模板等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flashstorage,UFS)等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备根据压力传感器180A检测所述触摸操作强度。电子设备也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备的表面,与显示屏194所处的位置不同。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备可以接收按键输入,产生与电子设备的用户设置以及功能控制有关的键信号输入。
本申请实施例中,该处理器110可以调用内部存储器121中存储的计算机指令,以使得电子设备执行本申请实施例中的系统升级方法。
下面结合上述示例性通信系统100的结构示意图以及电子设备的硬件结构示意图,对本申请实施例中的系统升级方法进行具体描述:
在本申请实施例中,电子设备首先可以获取当前系统对应的升级包,然后,电子设备根据该升级包与当前系统得到全部新分区文件,再将该全部新分区文件存储在存储器的第三部分中。最后,根据该升级包中的新分区表,将全部新分区文件从该存储器的第三部分写入目标分区。
该过程涉及的步骤可以参考下述描述:
图6为本申请实施例中系统升级方法的一个示例性流程示意图。
S101.电子设备获取当前系统对应的升级包。
该步骤S101涉及的内容可以参考下述步骤S201,此处暂不赘述。
S102.电子设备检查升级包中的第一分区表与当前系统中的第二分区表是否相同。
该步骤涉及的内容可以参加下述对步骤S202的描述,此处暂不赘述。
如果相同,则执行步骤S103-步骤S105。
如果不相同,则执行步骤S106。
S103.电子设备在正常模式下,根据升级包与当前系统涉及的全部分区文件得到全部新分区文件并存储在存储器的第三部分。
该存储器的第三部分用于存储用户文件,不涉及系统的运行。该步骤S103的描述可以参考下述对步骤S203-步骤S206的描述,此处暂不赘述。
S104.电子设备在修复模式下,按照该第一分区表将存储器的第三部分中的全部新分区文件写入到目标分区。
目标分区即为新分区文件最终写入的位置(可以是下述的存储器的第一部分以及第二部分中对应的分区)。该升级包中的新分区表为下述的第一分区表。
该步骤涉及的内容可以参加下述对步骤S207的描述,此处暂不赘述。
S105.电子设备删除存储器的第三部分中的全部新分区文件。
该步骤涉及的内容可以参加下述对步骤S208的描述,此处暂不赘述。
S106.电子设备根据升级包,在正常模式下,升级系统。
该步骤涉及的内容可以参加下述对步骤S209的描述,此处暂不赘述。
电子设备在系统升级的过程中,如果涉及储存器中有某一个分区的存储空间会变化,例如,某一分区的大小或者起始地址-结束地址发生了变化,则电子设备可以根据升级包与当前系统得到存储器中第一部分和第二部分的各个分区中要存储的新分区文件。假设此时存储器中的第一部分和第二部分中,一共有N个分区用于存储系统B,其中,N为大于等于1的正整数。则,电子设备可以获取N个分区中要存储的N个新分区文件,然后,将这N个新分区文件存储在存储器的第三部分中,以上过程可以在后台进行,不影响用户使用电子设备,减少了升级过程中,用户等待的时间。然后,电子设备可以进入修复模式,根据新分区表,将这N个新分区文件写入第一部分以及第二部分中对应的分区中。例如,对于第一个新分区文件,电子设备可以通过新分区表,查询到该第一个新分区文件可以存储在存储器中的第一个分区里。则电子设备可以将该第一新分区文件写入储存器中的第一个分区中。该过程的详细描述可以参考下述内容:
图7为本申请实施例中系统升级方法的另一个示例性流程示意图:
S201.电子设备获取当前系统对应的升级包。
当前系统是指电子设备正在运行的系统。例如,如图2a、图2b以及图2c中的涉及的用户界面所示,可以为电子设备正在运行的系统所显示的内容。
当电子设备检测到当前系统可以升级之后,电子设备会推送升级通知,提示用户进行系统升级。例如,图2c中的用户界面23可以为电子设备推送升级通知的一个用户界面。用户点击立即升级之后,电子设备可以从服务器获取当前正在运行的系统对应的升级包。在该过程中,电子设备还提示用户连接wifi下载升级包。还可以有其他的提示,本申请实施例对此不作限定。
在一些实施例中,对于存储器中存储了两个系统的情况,电子设备可以从服务器获取当前正在运行的系统对应的升级包。该升级包为一个差分包,该升级包中至少可以包括第一差量数据、第二差量数据以及第一分区表。该第一差量数据与第二差量数据统称为升级文件。
其中,第一差量数据中可以包括当前系统的第一部分与新系统的第一部分之间不一样的内容。该第一差量数据中可以包括多个第一差量文件。该第一差量文件用于描述当前系统中,该分区中的分区文件与新系统中该分区对应的新分区文件之间不同的内容。该第一差量文件的文件类型可以不同,例如,该第一差量文件可以为差分文件。
对于其中的一个第一差量文件,该第一差量文件对应存储器中的一个分区,该分区属于存储器中的第一部分。电子设备可以利用该分区中的分区文件于该分区对应的第一差量文件,得到该分区对应的新分区文件,即该新分区文件是指该某一分区中的分区文件升级后的分区文件。
第二差量数据中可以包括当前系统的第二部分与新系统的第二部分之间不一样的内容。该第二差量数据中可以包括多个第二差量文件。该第二差量文件用于描述当前系统中,该分区中的分区文件与新系统中该分区对应的新分区文件之间不同的内容。该第二差量文件的类别可以不同,例如,该第二差量文件的文件类型可以为写时复制(copyonwrite,COW)文件。
对于其中的一个第二差量文件,该第二差量文件对应存储器中的一个分区,该分区属于存储器中的第二部分电子设备可以利用该分区中的分区文件于该分区对应的第二差量文件,得到该分区对应的新分区文件。
第一分区表用于描述新系统中,存储器的分区部署,记录着系统升级后,存储器中的每一个分区的信息,例如可以是分区编号、分区名称、起始地址-结束地址以及大小等信息。电子设备可以通过该第一分区表,确定系统升级后,新系统在存储器中的存储情况,例如,新系统的第一部分存储在存储器的哪几个分区中。
在一些实施例中,电子设备可以从服务器中获取当前电子设备正在运行的系统对应的升级包到本机,并且存储在存储器的第三部分中,用于系统升级。
例如,当电子设备的存储器中存储着系统A和系统B时,当电子设备正在运行系统A时,则可以从服务器中下载与系统A对应的升级包,并且存储在存储器的第三部分中,用于系统升级。
S202.电子设备检查升级包中的第一分区表与当前系统中的第二分区表是否相同。
第二分区表是指,系统升级前,电子设备的存储器中储存的分区表,该第二分区表用于描述系统升级前,存储器的分区部署。电子设备可以通过该第二分区表,确定当前系统在存储器中的存储情况,例如,当前系统的第一部分存储在存储器的哪几个分区中。
电子设备可以检查第二分区表与第一分区表是否相同。
分区表相同是指第二分区表与第一分区表描述的存储器的部署信息相同。
在一些实施例中,第二分区表与第一分区表中相同分区编号的分区的大小与起始地址-结束地址相同,则电子设备确定第二分区表与第一分区表相同。例如,第二分区表中第i个分区与第一分区表中的第i个分区的大小与起始地址-结束地址相同。
在另一些实施例中,第二分区表与第一分区表中相同名称的分区的大小与起始地址-结束地址相同,则电子设备确定第二分区表与第一分区表相同。
可以理解的是,还有其他判断电子设备的分区是否相同的方式,本申请实施例对此不作限定。
若第二分区表与第一分区表不相同,则电子设备执行步骤S203-步骤S208。
若第二分区表与第二分表相同,则电子设备执行步骤S209。
当第二分区表与第一分区表不相同时,电子设备在系统升级的过程中,会涉及存储器中某一些分区的大小或者起始地址-结束地址的改变,为了避免上一个分区因为存储的新分区文件增大而覆盖下一个分区中存储的分区文件,影响系统的运行,则电子设备可以利用升级包与电子设备正在运行的当前系统,还原出新系统对应的全部新分区文件,再进入修复模式,将该新系统对应的全部新分区文件写入对应的分区中,完成系统升级,该过程可以参考下述对步骤S203-步骤S208的描述:
S203.电子设备判断存储器的第三部分是否可以存储第一全量数据和第二全量数据。
第一全量数据可以包括,存储器中用于存储新系统的第一部分的分区对应的新分区文件。
第二全量数据可以包括,存储器中用于存储新系统的第二部分的分区对应的新分区文件。
电子设备可以计算第一全量数据加第二全量数据的文件大小。具体的,可以电子设备可以计算第一分区表中各个分区的size总和,将该size总和作为第一全量数据加第二全量数据的文件大小。然后,获取存储器中,第三部分的剩余空间大小。电子设备可以通过判断文件与剩余空间的大小,确定断存储器的第三部分是否可以存储第一全量数据以及第二全量数据。
当剩余空间更大时,电子设备确定断存储器的第三部分可以存储第一全量数据和第二全量数据。此时,电子设备可以执行步骤S206-步骤S208。
当剩余空间更小时,电子设备确定断存储器的第三部分不可以存储第一全量数据和第二全量数据。此时,电子设备可以执行步骤S204。
S204.电子设备删除部分用户数据,增大储存器中第三部分的剩余存储空间。
该步骤S204是可选的。
在一些实施例中,电子设备用于系统升级的剩余空间不足时,电子设备可以提示用户删除部分数据,使得储存器中第三部分的剩余存储空间增大。
还可以有其他增大储存器中第三部分的剩余存储空间的方式,本申请实施例对此不作限定。
电子设备执行完步骤S204后,可以继续执行步骤S203。
在一些实施例中,在步骤S203中,电子设备确定断存储器的第三部分不可以存储第一全量数据和第二全量数据时,电子设备可以不执行步骤S204,而是提示用户空间不足并且停止安装。
如图8示出了电子设备得到第一全量数据以及第二全量数据的示意图。
下面,结合图8对步骤S205以及步骤S206进行详细介绍。
S205.电子设备根据该升级包中的第一差量数据与存储器的第一部分中的分区文件,得到第一全量数据,该第一全量数据存储在存储器的第三部分中。
如图8所示,存储器的第一部分包括bootloader_a分区文件与boot_a分区文件,这两个分区文件属于系统A。存储器的第一部分还包括bootloader_b分区文件与boot_b分区文件,这两个分区文件属于系统B。第一差量数据可以为如图8中示出的第一差量数据,电子设备可以根据该升级包中的第一差量数据与该存储器的第一部分中的分区文件,得到第一全量数据。第一差量数据中有多个第一差量文件,其中,每一个差量文件都对应一个分区标识,该分区标识用于描述该第一差量文件是哪一个分区对应的分区文件的差量文件,该分区为存储器的第一部分中用于存储当前正在运行的系统的分区。该分区标识可以是分区编号,也可以是分区的名称,本申请对此不作限定。
电子设备可以将该第一差量文件与该差量文件对应的分区中的分区文件进行比较,得到该分区文件对应的新分区文件,并将该新分区文件存储在存储器的第三部分中。该新分区文件也对应一个分区标识,该分区标识用于描述该新分区文件应该存储在存储器的哪一个分区中。具体的,电子设备依据该第一差量文件,比对与该分区文件不同的内容,然后与该分区文件进行比对,修改该分区文件,得到该分区对应的新分区文件。
例如,当第一差量文件的文件类型为差分文件时,电子设备可以利用该第一差量文件与该差量文件对应的分区中的分区文件进行差分还原,还原出该分区对应的新分区文件。该差分还原与现有技术中的差分还原技术相同。
示例性的,如图8所示,对于boot_a分区文件,电子设备判断该分区文件有对应的第一差量文件,即boot-a-ota差量文件。具体的,电子设备可以将该分区文件对应的分区标识(存储该分区文件的分区的标识)与第一差量文件对应的分区标识进行匹配,然后确定该boot_a分区文件对应的第一差量文件为boot-a-ota差量文件,然后将该boot-a-ota差量文件与该boot_a分区文件进行比较,还原出该分区文件对应的新分区文件,即boot-new分区文件,将该boot-new分区文件存储在存储器的第三部分中。
对于第一部分中,没有第一差量文件的分区,电子设备则判断该分区对应的分区标识在第一分区表中是否存在,如果存在,则电子设备则将该分区中的分区文件作为新分区文件,并该新分区文件存储在存储器的第三部分中。如果不存在,则电子设备判断新系统中不包括该分区对应的分区文件,不生成该分区对应的新分区文件。
示例性的,如图8所示,对于bootloader_a分区文件,电子设备判断该分区文件没有对应的第一差量文件。具体的,电子设备可以将该分区文件对应的分区标识(存储该分区文件的分区的标识)与第一差量文件对应的分区标识进行匹配,如果没有匹配的分区标识,则电子设备可以确定该分区文件没有对应的第一差量文件。此时,电子设备可以将该bootloader_a分区文件作为系统升级后,新系统中的bootloader_a分区文件对应的新分区文件,将该bootloader_a分区文件存储在存储器的第三部分中。
电子设备可以将第一部分中,当前正在运行的系统的全部分区文件对应的全部新分区文件以及这些新分区文件,作为第一全量数据,该第一全量数据存储在存储器的第三部分中。
示例性的,该第一全量数据可以是图8中存储器的第三部分中示出的第一全量数据。该全量数据为电子设备利用存储器的第一部分中与系统A对应的分区文件与第一差量数据,得到第一全量数据。在一些实施例中,电子设备也可以利用存储器的第一部分中与系统B对应的分区文件与第一差量数据,得到第一全量数据。
这样,电子设备可以将bootloader_a分区文件、boot-new分区文件以及该系统A的第一部分中的全部分区文件对应的全部新分区文件,作为第一全量数据,该第一全量数据存储在存储器的第三部分中。
S206.电子设备根据该升级包中的第二差量数据与存储器的第二部分中的分区文件,得到第二全量数据,该第二全量数据存储在存储器的第三部分中。
如图8所示,存储器的第一部分包括system分区文件、system-new分区文件与dom分区文件。第二差量数据可以为如图8中示出的第二差量数据,电子设备可以根据该升级包中的第二差量数据与存储器的第二部分中的分区文件,得到第二全量数据。该第二全量数据可以是图8中示出的第二全量数据。
第二差量数据中有多个第二差量文件,其中,每一个第二差量文件都对应一个分区标识,该分区标识用于描述该第二差量文件是的哪一个分区对应的分区文件的差量文件,该分区为存储器的第二部分用于存储当前系统的分区。该分区标识可以是分区编号,也可以是分区的名称,本申请对此不作限定。
可以理解的是,电子设备得到第二全量数据的原理与步骤S203中得到的第一全量数据的原理相似,本申请实施例对此不再赘述。
例如,当第二差量文件的文件类型为写时复制文件时,电子设备在利用存储器中当前的分区文件与第二差量文件进行比较,得到新分区文件时,可以采取快照(snapshot)的方式对当前存储器的第二部分中的分区文件与第二差量文件进行快照,得到新分区文件。该快照的方式与现有技术中的快照技术相同。
如图8所示,电子设备可以利用存储器的第二部分中的差量文件,与第二差量数据,得到第二全量数据。该第二全量数据中可以包括系统升级后,存储器中第二部分中可以存储的全部新分区文件,该新分区文件对应一个分区标识,该分区标识用于描述该新分区文件应该存储在存储器的哪一个分区中。
例如,对于system分区文件,电子设备判断该分区文件对应的第二差量文件为system-cow差量文件。然后将该system-cow差量文件与该system分区文件进行比较,还原出该分区文件对应的新分区文件,即system-new分区文件,将该system-new分区文件存储在存储器的第三部分中。
对于system_ext分区文件,电子设备判断该分区文件没有对应的第二差量文件,则电子设备可以将该system_ext分区文件作为系统升级后,新系统中的system_ext分区文件对应的新分区文件,将该system_ext分区文件存储在存储器的第三部分中。
对于odm分区文件,电子设备判断该分区文件没有对应的第二差量文件,则电子设备可以将该odm分区文件作为系统升级后,新系统中的odm分区文件对应的新分区文件,将该odm分区文件存储在存储器的第三部分中。
这样,电子设备可以将system_new分区文件、system_ext分区文件、odm分区文件以及该存储器中的第二部分中的全部分区文件对应的全部新分区文件,作为第二全量数据,该第二全量数据存储在存储器的第三部分中。
可以理解的是,上述步骤S201-步骤S206都是在电子设备正常模式下进行的情况下进行的,该正常模式下,不影响用户对电子设备的使用。然后,电子设备进入修复模式,执行步骤S207-步骤S208:
S207.电子设备根据第一分区表,将第一全量数据与第二全量数据中的新分区文件写到存储器对应的目标分区中,完成系统升级。
该过程电子设备的用户界面可以如图2d所示,用户界面24可以为电子设备进入修复模式时的一个用户界面。该过程电子设备可以根据第一分区表,将第一全量数据与第二全量数据中的新分区文件写到存储器对应的分区中,直到完成系统升级,则电子设备可以显示如图2e所示的用户界面25。
在一些实施例中,对于存储器的第一部分中,存储了两个系统的第一部分的情况,电子设备可以只升级其中一个系统的第一部分。也可以将这两个系统的第一部分都升级。
如图9所示,当电子设备只升级其中的一个系统时,对于第一全量数据中的每一个新分区文件,电子设备可以根据第一分区表与该新分区文件对应的分区标识,确定该新分区文件在存储器中对应的目标分区,然后,将该新分区文件写入存储器中对应的目标分区里。
具体的,电子设备可以获取该新分区文件对应的分区标识,然后,在第一分区表中,找到该分区标识,然后从第一分区表中获取该分区标识对应的分区,将该分区作为该新分区文件在存储器中对应的目标分区。然后,根据第一分区表,获取该目标分区在存储器中的位置,即该目标分区对应的起始地址-结束地址。最后,按照该位置,将该新分区文件写入储存器中对应的位置中。
在一些实施例中,当电子设备确定该新分区文件在存储器中对应的目标分区后,可以判断该目标分区的大小以及位置是否发生变化,如果没有发生变化,则判断该目标分区是否有对应的第一差量文件或者第二差量文件,如果没有,则电子设备判断当前该目标分区中存储的分区文件与该新分区文件相同,不对该新分区文件执行写入该目标分区的操作。
可以理解的是,对于第二全量数据中的全部新分区文件,电子设备将这些新分区文件写入存储器中对应的分区的过程与上述将第一全量数据中的每一个新分区文件写入存储器中对应的分区的过程相同,此处不再赘述。
如图10所示,当电子设备升级两个系统的第一部分时,对于第一全量数据中的每一个新分区文件,电子设备可以将该新分区文件写入存储器中对应的目标分区之后,再将该新分区文件写入该分区在存储器中对应的备份分区中。该备份分区为该分区在另一个系统中对应的分区。例如,存储bootloader_a分区文件的分区对应的备份分区为存储bootloader_b分区文件的分区。
当电子设备在存储器中部署两个系统时,电子设备在运行系统前,会先判断这两个系统是否都可用,如果都可用,则选择运行其中版本更优的一个系统,将另一个系统作为备份系统。在该系统运行失败的情况下,电子设备运行该备份系统。例如,当系统A完成了升级,而系统B没有进行升级,则电子设备可以运行系统A,将系统B作为备份系统,如果系统A不能正常运行,则电子设备运行系统B。
S208.电子设备删除存储器的第三部分中的第一全量数据和第二全量数据。
在一些实施例中,电子设备确定系统升级成功之后,可以删除存储器的第三部分中的第一全量数据和第二全量数据,以增大存储器中第三部分的剩余存储空间,使得电子设备可以有更多的存储空间用于存储用户数据。
S209.电子设备根据升级包,在正常模式下,升级系统。
电子设备在正常模式下,根据升级包,对于存储器中的每一个分区,电子设备获得该分区对应的新分区文件之后,不需要将该新分区文件存储在存储器的第三部分中,直接将该新分区文件写入该分区中即可。
可以理解的是,上述步骤S201-步骤S209描述的是系统升级时,不涉及在系统升级后,存储器中新增一个分区的情况。但在系统升级的过程中,该情况是可以出现的。
对于该情况,电子设备可以在升级包中配置一个新增全量数据,该新增全量数据可以包括新系统中新增的一个或多个分区文件,其中,每一个分区文件都对应一个分区标识。电子设备会在第一分区表中,记录该分区标识对应的分区的信息。
在进行系统升级时,电子设备可以将该新增全量数据存储在存储器的第三部分中,当电子设备进入修复模式之后,对于该新增全量数据中的每一个分区文件,电子设备可以利用该分区文件对应的分区标识,从第一分区表中,找到该分区标识,然后从第一分区表中获取该分区标识对应的分区,将该分区作为该分区文件在存储器中对应的分区。然后,根据第一分区表,获取该分区在存储器中的位置,即该分区对应的起始地址-结束地址。最后,按照该位置,将该分区文件写入储存器中对应的位置中。
可以理解的是,在一些实施例中,该第一差量文件的文件类型可以与第二差量文件的文件类型相同,则前述涉及的存储器的第一部分中的分区文件与存储器的第二部分中的分区文件得到其对应的新分区文件的方法。
当第一差量文件的文件类型可以与第二差量文件的文件类型不相同时,存储器的第一部分中的分区文件可以被称为第一分区文件。该第一分区文件对应的新分区文件为第一新分区文件。该第一新分区文件对应的分区为第一目标分区。存储器的第二部分中的分区文件可以被称为第二分区文件。该第二分区文件对应的新分区文件为第二新分区文件。该第二新分区文件对应的分区为第二目标分区。
在本申请实施例中,当第一差量文件的文件类型可以与第二差量文件的文件类型相同时,存储器的第一部分中的分区文件与存储器的第二部分中的分区文件都可以被称为第一分区文件。该第一分区文件对应的新分区文件为第一新分区文件。该第一新分区文件对应的分区为第一目标分区。
例如,当第一差分文件与第二差分文件相同时,电子设备采取本申请涉及的系统升级方法对系统进行升级的一个示例性描述如下:
首先,电子设备在正常模式下获取当前系统对应的升级包。该电子设备根据该第一差量文件与当前系统的第一分区文件得到第一新分区文件。此时,该第一分区文件既包括存储器的第一部分中的分区文件,也包括存储器的第二部分中的分区文件。然后,该电子设备将该第一新分区文件存储在存储器的第三部分中。电子设备在修复模式下根据该第二分区表中的该第一分区标识,将该第一新分区文件从该存储器的第三部分写入到该第一目标分区。
可选的,电子设备在正常模式下获取当前系统对应的升级包之后,该电子设备将该第一新分区文件存储在存储器的第三部分中之前,电子设备可以检查当前系统的第一分区表与该升级包中的第二分区表是否相同,如果相同,电子设备根据该第二分区表中的第一分区标识,将该第一新分区文件写入到该第一目标分区。如果不相同,则电子设备将该第一新分区文件存储在存储器的第三部分中。
可选的,该电子设备将该第一新分区文件存储在存储器的第三部分中之前,电子设备还可以判断存储器的第三部分是否可以存储全部新分区文件。当确定存储器的第三部分不可以存储全部新分区文件时,则该电子设备提示用户存储空间不足且停止安装;当确定存储器的第三部分可以存储全部新分区文件时,该电子设备将该第一新分区文件存储在存储器的第三部分中。
综上所述,电子设备在不浪费存储器的存储空间的情况下就可以完成升级系统,其中,在进入修复模式之前,已经完成了系统升级的一部分工作(步骤S201-步骤S206),该过程不影响用户正常使用电子设备,则电子设备在系统升级的过程中,减少了用户等待的时间。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
Claims (15)
1.一种系统升级方法,其特征在于,包括:
电子设备在正常模式下获取当前系统对应的升级包;所述升级包中至少包括第一差量文件、第二差量文件和第一分区表;所述第一差量文件用于对当前系统的第一分区文件升级;所述第二差量文件用于对当前系统的第二分区文件升级;所述第一分区表用于描述系统升级后存储器的分区部署,其中至少包括升级后的第一分区文件的第一目标分区的第一分区标识以及升级后的第二分区文件的第二目标分区的第二分区标识;
所述电子设备根据所述第一差量文件与当前系统的第一分区文件得到第一新分区文件;所述第一分区文件为存储器的第一部分中的分区文件;所述第一新分区文件为所述电子设备利用所述第一差量文件将所述第一分区文件升级后的分区文件;所述电子设备根据所述第二差量文件与当前系统的第二分区文件,得到第二新分区文件;所述第二分区文件为存储器的第二部分中的分区文件;所述第二新分区文件为所述电子设备利用所述第二差量文件将所述第二分区文件升级后的分区文件;
所述电子设备基于当前系统的第二分区表与所述升级包中的第一分区表中相同分区编号的分区的大小、起始地址以及结束地址是否相同以确定所述第一分区表与所述第二分区表是否相同;
在所述电子设备确定所述第一分区表与所述第二分区表不相同的情况下,所述电子设备将所述第一新分区文件以及所述第二新分区文件存储在存储器的第三部分中之后,所述电子设备在修复模式下根据所述第一分区表中的所述第一分区标识,将所述第一新分区文件从所述存储器的第三部分写入到所述第一目标分区;所述第一目标分区属于存储器的第一部分;且,根据所述第一分区表中所述第二分区标识,将所述第二新分区文件从存储器的第三部分写入到第二目标分区;所述第二目标分区属于存储器的第二部分;所述存储器的第三部分用于存储用户文件;
在所述电子设备确定所述第一分区表与所述第二分区表相同的情况下,所述电子设备根据所述第一分区表中的所述第一分区标识,将所述第一新分区文件写入到所述第一目标分区;且,根据所述第一分区表中的所述第二分区标识,将所述第二新分区文件写入到所述第二目标分区。
2.根据权利要求1所述的方法,其特征在于,所述电子设备将所述第一新分区文件存储在存储器的第三部分中之前,所述方法还包括:
所述电子设备判断存储器的第三部分是否可以存储全部新分区文件;
当确定存储器的第三部分不可以存储全部新分区文件时,则所述电子设备提示用户存储空间不足且停止安装;
所述电子设备将所述第一新分区文件存储在存储器的第三部分中,具体包括:
当确定存储器的第三部分可以存储全部新分区文件时,所述电子设备将所述第一新分区文件存储在存储器的第三部分中;
所述电子设备将所述第二新分区文件存储在存储器的第三部分中,具体包括:
当确定存储器的第三部分可以存储全部新分区文件时,所述电子设备将所述第二新分区文件存储在存储器的第三部分中。
3.根据权利要求1或2所述的方法,其特征在于,所述电子设备根据所述第一差量文件与当前系统的第一分区文件得到第一新分区文件,具体包括:
在所述第一差量文件的文件类型为差分文件时,所述电子设备采取差分还原的方式根据所述第一差量文件与所述第一分区文件进行差分还原,得到所述第一新分区文件。
4.根据权利要求1或2中任一项所述的方法,其特征在于,所述电子设备根据所述第二差量文件与第二分区文件,得到第二新分区文件,具体包括:
在所述第二差量文件的文件类型为写时复制文件时,所述电子设备采取快照的方式根据所述第二差量文件与所述第二分区文件进行快照,得到所述第二新分区文件。
5.根据权利要求1或2中任一项所述的方法,其特征在于,所述方法还包括:
在存储器中存储了两个系统的第一部分的情况下,所述电子设备将所述第一新分区文件从存储器的第三部分写入到第一目标分区对应的备份分区中。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在完成系统升级之后,所述电子设备删除储存器的第三部分中的所述全部新分区文件。
7.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器和存储器;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行:
在正常模式下获取当前系统对应的升级包;所述升级包中至少包括第一差量文件、第二差量文件和第一分区表;所述第一差量文件用于对当前系统的第一分区文件升级;所述第二差量文件用于对当前系统的第二分区文件升级;所述第一分区表用于描述系统升级后存储器的分区部署,其中至少包括升级后的第一分区文件的第一目标分区的第一分区标识以及升级后的第二分区文件的第二目标分区的第二分区标识;
根据所述第一差量文件与当前系统的第一分区文件得到第一新分区文件;所述第一分区文件为存储器的第一部分中的分区文件;所述第一新分区文件为所述电子设备利用所述第一差量文件将所述第一分区文件升级后的分区文件;
将所述第一新分区文件存储在存储器的第三部分中;所述存储器的第三部分用于存储用户文件;
根据所述第二差量文件与当前系统的第二分区文件,得到第二新分区文件;所述第二分区文件为存储器的第二部分中的分区文件;所述第二新分区文件为所述电子设备利用所述第二差量文件将所述第二分区文件升级后的分区文件;
将所述第二新分区文件存储在存储器的第三部分;
在修复模式下根据所述第一分区表中的所述第一分区标识,将所述第一新分区文件从所述存储器的第三部分写入到所述第一目标分区;所述第一目标分区属于存储器的第一部分;
在修复模式下根据所述第一分区表中所述第二分区标识,将所述第二新分区文件从存储器的第三部分写入到第二目标分区;所述第二目标分区属于存储器的第二部分。
8.根据权利要求7所述的电子设备,其特征在于,所述一个或多个处理器还用于调用所述计算机指令以使得所述电子设备执行:
所述电子设备检查当前系统的第二分区表与所述升级包中的第一分区表是否相同;
当确定所述第二分区表与所述第一分区表相同时,所述电子设备根据所述第一分区表中的所述第一分区标识,将所述第一新分区文件写入到所述第一目标分区;所述电子设备根据所述第一分区表中的所述第二分区标识,将所述第二新分区文件写入到所述第二目标分区;
所述一个或多个处理器具体用于调用所述计算机指令以使得所述电子设备执行:
当确定所述第二分区表与所述第一分区表不相同时,所述电子设备将所述第一新分区文件存储在存储器的第三部分中;
当确定所述第二分区表与所述第一分区表不相同时,所述电子设备将所述第二新分区文件存储在存储器的第三部分。
9.根据权利要求7或8所述的电子设备,其特征在于,所述一个或多个处理器还用于调用所述计算机指令以使得所述电子设备执行:
所述电子设备判断存储器的第三部分是否可以存储全部新分区文件;
当确定存储器的第三部分不可以存储全部新分区文件时,则所述电子设备提示用户存储空间不足且停止安装;
所述一个或多个处理器具体用于调用所述计算机指令以使得所述电子设备执行:
当确定存储器的第三部分可以存储全部新分区文件时,所述电子设备将所述第一新分区文件存储在存储器的第三部分中;
当确定存储器的第三部分可以存储全部新分区文件时,所述电子设备将所述第二新分区文件存储在存储器的第三部分中。
10.根据权利要求7或8中任一项所述的电子设备,其特征在于,所述一个或多个处理器具体用于调用所述计算机指令以使得所述电子设备执行:
在所述第一差量文件的文件类型为差分文件时,所述电子设备采取差分还原的方式根据所述第一差量文件与所述第一分区文件进行差分还原,得到所述第一新分区文件。
11.根据权利要求7或8中任一项所述的电子设备,其特征在于,所述一个或多个处理器具体用于调用所述计算机指令以使得所述电子设备执行:
在所述第二差量文件的文件类型为写时复制文件时,所述电子设备采取快照的方式根据所述第二差量文件与所述第二分区文件进行快照,得到所述第二新分区文件。
12.根据权利要求7或8中任一项所述的电子设备,其特征在于,所述一个或多个处理器还用于调用所述计算机指令以使得所述电子设备执行:
在存储器中存储了两个系统的第一部分的情况下,所述电子设备将所述第一新分区文件从存储器的第三部分写入到第一目标分区对应的备份分区中。
13.根据权利要求9所述的电子设备,其特征在于,所述一个或多个处理器还用于调用所述计算机指令以使得所述电子设备执行:
在完成系统升级之后,所述电子设备删除储存器的第三部分中的所述全部新分区文件。
14.一种芯片系统,所述芯片系统应用于电子设备,所述芯片系统包括一个或多个处理器,所述处理器用于调用计算机指令以使得所述电子设备执行如权利要求1-6中任一项所述的方法。
15.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110579183.7A CN113900699B (zh) | 2021-05-26 | 2021-05-26 | 一种系统升级方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110579183.7A CN113900699B (zh) | 2021-05-26 | 2021-05-26 | 一种系统升级方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113900699A CN113900699A (zh) | 2022-01-07 |
CN113900699B true CN113900699B (zh) | 2022-09-27 |
Family
ID=79187503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110579183.7A Active CN113900699B (zh) | 2021-05-26 | 2021-05-26 | 一种系统升级方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113900699B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328287B (zh) * | 2020-11-24 | 2024-05-03 | 杭州海康威视数字技术股份有限公司 | 嵌入式设备系统更新方法、装置、设备及存储介质 |
CN114201320B (zh) * | 2022-02-18 | 2022-05-27 | 深圳佰维存储科技股份有限公司 | 系统块升级方法、装置、可读存储介质及电子设备 |
CN114780120B (zh) * | 2022-04-02 | 2023-06-09 | 荣耀终端有限公司 | 升级方法、设备及存储介质 |
WO2023221002A1 (zh) * | 2022-05-18 | 2023-11-23 | 北京小米移动软件有限公司 | 基于ota的系统更新方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110780890A (zh) * | 2019-10-24 | 2020-02-11 | 百度在线网络技术(北京)有限公司 | 系统升级方法、装置、电子设备和介质 |
WO2021027630A1 (zh) * | 2019-08-14 | 2021-02-18 | 华为技术有限公司 | 补丁方法、相关装置及系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677884B (zh) * | 2012-09-21 | 2017-05-31 | 华为技术有限公司 | flash分区表文件生成及其数据升级方法、装置 |
CN103176824B (zh) * | 2013-03-15 | 2016-11-16 | 青岛海信移动通信技术股份有限公司 | 一种系统升级的方法及装置 |
CN103473099B (zh) * | 2013-09-13 | 2017-02-01 | 惠州Tcl移动通信有限公司 | 一种移动终端的软件升级方法和系统 |
CN104714811A (zh) * | 2013-12-13 | 2015-06-17 | 中兴通讯股份有限公司 | 差分升级包的制作方法及装置、系统差分升级方法及装置 |
CN106484448A (zh) * | 2015-08-28 | 2017-03-08 | 青岛海信移动通信技术股份有限公司 | 一种软件升级方法及装置 |
CN108595113A (zh) * | 2018-03-22 | 2018-09-28 | 维沃移动通信有限公司 | 一种分区调整的方法及终端 |
CN112463199A (zh) * | 2019-09-09 | 2021-03-09 | 青岛海信移动通信技术股份有限公司 | 一种系统升级方法及终端 |
-
2021
- 2021-05-26 CN CN202110579183.7A patent/CN113900699B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021027630A1 (zh) * | 2019-08-14 | 2021-02-18 | 华为技术有限公司 | 补丁方法、相关装置及系统 |
CN110780890A (zh) * | 2019-10-24 | 2020-02-11 | 百度在线网络技术(北京)有限公司 | 系统升级方法、装置、电子设备和介质 |
Non-Patent Citations (1)
Title |
---|
"计算机系统数据恢复技术探索与应用";张运涛;《科技视界》;20180315(第09期);第118-119页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113900699A (zh) | 2022-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113900699B (zh) | 一种系统升级方法和电子设备 | |
CN106990912B (zh) | 控制sim卡和sd卡的方法以及实现该卡的电子设备 | |
US20180188838A1 (en) | Method of disposing touch sensor for enhancing touch accuracy and electronic device using the same | |
CN108595226B (zh) | 动态加载方法、装置及计算机可读存储介质 | |
CN105980987B (zh) | 任务调度方法和设备 | |
US20160321442A1 (en) | Electronic device | |
CN112055424B (zh) | 电子装置以及切换电子装置的方法 | |
CN108540193B (zh) | 支持使用多频带的设备到设备通信的前端模块及电子设备 | |
US20220100490A1 (en) | Firmware updating method, and electronic apparatus and storage media for same | |
CN110865837B (zh) | 一种进行系统升级的方法和终端 | |
US9876884B2 (en) | Electronic device and method of wireless signal transmission and reception therefor | |
CN115328563B (zh) | 系统启动方法及电子设备 | |
CN116382791B (zh) | 一种配置文件的保护方法及电子设备 | |
US11604656B2 (en) | Method and apparatus for managing application | |
US11875035B2 (en) | Electronic device and method for managing memory using the same | |
US20200183589A1 (en) | Method and electronic device for initializing storage | |
US10108242B2 (en) | Method of controlling power supply in submersion and electronic device thereof | |
CN109844688B (zh) | 片上系统、包括该片上系统的电子装置及其驱动方法 | |
CN114116072A (zh) | 一种共享库的复用方法及电子设备 | |
CN116841575B (zh) | 生成镜像文件的方法及相关装置 | |
CN117312055B (zh) | 数据备份的方法及相关装置 | |
CN117130541B (zh) | 存储空间配置方法及相关设备 | |
US20230168831A1 (en) | Electronic device and operation method of electronic device for managing storage space | |
US20230244406A1 (en) | Electronic device and storage management method using same | |
KR20220102489A (ko) | 예약 공간에 기반한 데이터베이스 업데이트 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |