CN116661812A - 设备升级方法、电子设备及系统 - Google Patents

设备升级方法、电子设备及系统 Download PDF

Info

Publication number
CN116661812A
CN116661812A CN202211488298.6A CN202211488298A CN116661812A CN 116661812 A CN116661812 A CN 116661812A CN 202211488298 A CN202211488298 A CN 202211488298A CN 116661812 A CN116661812 A CN 116661812A
Authority
CN
China
Prior art keywords
partition
version
electronic device
file
sub
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.)
Granted
Application number
CN202211488298.6A
Other languages
English (en)
Other versions
CN116661812B (zh
Inventor
陈超
王艳召
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202211488298.6A priority Critical patent/CN116661812B/zh
Publication of CN116661812A publication Critical patent/CN116661812A/zh
Application granted granted Critical
Publication of CN116661812B publication Critical patent/CN116661812B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种设备升级方法、电子设备及系统,涉及终端领域,该方法包括:当电子设备将设备上的系统从1.0版本升级为2.0版本时,电子设备可以基于从云服务器接收到的增量系统升级文件,创建一个或多个cow1文件,并基于上述一个或多个cow1文件执行merge流程。当电子设备基于上述一个或多个cow1文件执行merge流程失败后,在电子设备基于上述cow1文件运行2.0版本系统时,电子设备可以基于云服务器发送的全量系统升级文件,创建一个或多个cow2文件,并基于一个或多个cow2文件执行merge流程。当电子设备执行merge流程成功后,电子设备可以清除cow1文件和cow2文件。

Description

设备升级方法、电子设备及系统
技术领域
本申请涉及终端领域,尤其涉及一种设备升级方法、电子设备及系统。
背景技术
随着终端技术的发展,电子设备上的系统进行更新迭代的频率也越来越快。目前,基于虚拟AB系统(Virtual AB)进行系统升级的电子设备越来越普遍。由于虚拟AB系统的分区结构,系统升级过程中需要升级的动态分区(Super分区)是以单分区的形式独立存在的,因此,在系统升级的过程中,系统升级文件中的Super分区升级数据,需要先写入用户数据分区(Userdata分区)。当电子设备上的系统根据系统升级文件,从旧版本成功升级至新版本后,电子设备可以将Super分区升级数据从Userdata分区写入到Super分区中,这个过程可以被称为合并merge。
然而,在目前虚拟AB系统的升级机制中,当电子设备merge失败时,电子设备只能使用旧系统,而无法再升级至新系统,这样,就会造成系统升级失败,用户无法基于新系统操作电子设备的问题。
发明内容
本申请提供了一种设备升级方法、电子设备及系统,实现了当电子设备将设备上的系统从1.0版本升级为2.0版本时,电子设备可以基于从云服务器接收到的增量系统升级文件,创建一个或多个cow1文件,并基于上述一个或多个cow1文件执行merge流程。当电子设备基于上述一个或多个cow1文件执行merge流程失败后,电子设备可以向云服务器上报merge失败信息。然后,在电子设备基于上述cow1文件运行2.0版本系统时,电子设备可以基于云服务器发送的全量系统升级文件,创建一个或多个cow2文件,并基于一个或多个cow2文件执行merge流程。当电子设备执行merge流程成功后,电子设备可以清除上述的cow1文件和cow2文件。
第一方面,本申请提供了一种设备升级方法,包括:电子设备接收到云服务器发送的第一系统升级文件。其中,该第一系统升级文件用于将电子设备的系统从第一版本升级为第二版本,该电子设备上的系统包括Super分区中的系统程序,该Super分区包括一个或多个子分区,该一个或多个子分区包括第一子分区。该电子设备基于该第一系统升级文件,创建一个或多个差分镜像文件,该一个或多个差分镜像文件中包括第一镜像文件。其中,该第一镜像文件用于将该第一子分区中的系统程序从该第一版本升级为该第二版本,该第一镜像文件包括该第一子分区对应的第一版本的系统程序,与,该第一子分区对应的第二版本的系统程序之间的差异数据信息。该电子设备基于该第一镜像文件,运行第二版本的系统。当该电子设备通过该第一镜像文件更新该第一子分区至第二版本失败后,该电子设备接收到该云服务器发送的第二系统升级文件。其中,该第二系统升级文件用于将电子设备上的系统从第一版本升级为第二版本。该电子设备基于该第二系统升级文件,创建一个或多个全量镜像文件,该一个或多个全量镜像文件中包括第二镜像文件。其中,该第二镜像文件用于将该第一子分区中的系统程序从该第一版本升级为该第二版本,该第二镜像文件包括该第一子分区对应的第二版本的系统程序。该电子设备通过该第二镜像文件更新该第一子分区至该第二版本。该电子设备清除该第一镜像文件和该第二镜像文件。该电子设备基于该第一子分区的系统程序,运行该第二版本的系统。
在一种可能的实现方式中,在该电子设备接收到该云服务器发送的第二系统升级文件之前,该方法还包括:该电子设备向该云服务器发送merge失败信息。
在一种可能的实现方式中,该方法还包括:该电子设备上的系统还包括第一静态分区的引导程序和第二静态分区的引导程序。其中,该第一静态分区的引导程序和该第二静态分区的引导程序相同,都为第一版本。该电子设备基于该第一静态分区中的引导程序,运行该第一版本的系统。该电子设备从该第一系统升级文件中,获取到静态分区第一升级数据。该电子设备将该静态分区第一升级数据,覆盖写入至该第二静态分区中,使得该第二静态分区中的引导程序从该第一版本升级为该第二版本。
在一种可能的实现方式中,该方法还包括:该电子设备基于该第二静态分区,运行该第二版本的系统。该电子设备从该第二系统升级文件中,获取到静态分区第二升级数据。该电子设备将该静态分区第二升级数据,覆写至该第一静态分区中,使得该第一静态分区中的引导程序从该第一版本升级为该第二版本。
在一种可能的实现方式中,该方法还包括:该电子设备对该第二静态分区进行校验。
在一种可能的实现方式中,该方法还包括:该电子设备对该第一静态分区进行校验。
在一种可能的实现方式中,该方法还包括:该电子设备接收到该云服务器发送的系统升级文件查询时间。该电子设备向该云服务器发送merge失败信息,具体包括:该电子设备基于该系统升级文件查询时间,该电子设备向云服务器发送系统升级文件查询请求和merge失败信息。其中,该系统升级文件查询请求包括该电子设备的标识,和/或,该电子设备的系统版本号。
在一种可能的实现方式中,该第一子分区为:system子分区、vendor子分区、product子分区或ODM子分区。
在一种可能的实现方式中,该第二镜像文件的类型为:cow类型、qcow类型、qcow2类型或raw类型。
第二方面,本申请实施例提供了一种通信系统,包括:电子设备和云服务器,该电子设备和该云服务器建立通信连接,其中:该云服务器用于,生成第一系统升级文件和第二系统升级文件。该云服务器还用于,发送该第一系统升级文件。该电子设备用于,接收到该第一系统升级文件。其中,该第一系统升级文件用于将电子设备的系统从第一版本升级为第二版本,该电子设备上的系统包括Super分区中的系统程序,该Super分区包括一个或多个子分区,该一个或多个子分区包括第一子分区。该电子设备还用于,基于该第一系统升级文件,创建一个或多个差分镜像文件,该一个或多个差分镜像文件中包括第一镜像文件。其中,该第一镜像文件用于将该第一子分区中的系统程序从该第一版本升级为该第二版本,该第一镜像文件包括该第一子分区对应的第一版本的系统程序,与,该第一子分区对应的第二版本的系统程序之间的差异数据信息。该电子设备还用于,基于该第一镜像文件运行第二版本的系统。该云服务器还用于,当该电子设备通过该第一镜像文件更新该第一子分区至第二版本失败后,发送该第二系统升级文件。该电子设备还用于,接收到该云服务器发送的第二系统升级文件。其中,该第二系统升级文件用于将电子设备上的系统从第一版本升级为第二版本。该电子设备还用于,基于该第二系统升级文件,创建一个或多个全量镜像文件,该一个或多个全量镜像文件中包括第二镜像文件。其中,该第二镜像文件用于将该第一子分区中的系统程序从该第一版本升级为该第二版本,该第二镜像文件包括该第一子分区对应的第二版本的系统程序。该电子设备还用于,通过该第二镜像文件更新该第一子分区至该第二版本。该电子设备还用于,清除该第一镜像文件和该第二镜像文件。该电子设备还用于,基于该第一子分区的系统程序,运行该第二版本的系统。
第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器和显示屏。该一个或多个存储器与一个或多个处理器耦合,该一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当该一个或多个处理器执行该计算机指令时,使得该电子设备执行上述第一方面任一项可能的实现方式中的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,包括计算机指令,当该计算机指令在电子设备上运行时,使得该电子设备执行上述第一方面任一项可能的实现方式中的方法。
第五方面,本申请实施例提供了一种芯片或芯片系统,包括处理电路和接口电路,该接口电路用于接收代码指令并传输至该处理电路,该处理电路用于运行该代码指令以执行上述第一方面任一项可能的实现方式中的方法。
第六方面,本申请实施例提供了一种计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行上述第一方面任一项可能的实现方式中的方法。
附图说明
图1A为本申请实施例提供的一种分区示意图;
图1B为本申请实施例提供的一种基于OTA的一种设备升级流程示意图;
图2A为本申请实施例提供的一种设备升级方法的具体流程示意图;
图2B-图2C为本申请实施例提供的一组用户界面示意图;
图2D为本申请实施例提供的一种system子分区运行逻辑示意图;
图2E为本申请实施例提供的一种基于系统升级文件2安装2.0版本系统的示意图;
图2F为本申请实施例提供的一种系统升级文件2的流程示意图;
图2G为本申请实施例提供的一种基于各cow2文件执行merge流程的示意图;
图2H为本申请实施例提供的一种挂载动态升级分区并运行2.0版本的系统示意图;
图3为本申请实施例提供的一种通信系统10的架构示意图;
图4为本申请实施例提供的一种电子设备100的硬件结构示意图;
图5为本申请实施例提供的一种云服务器200的硬件结构示意图。
具体实施方式
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请得到说明书和所附权利要书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指包含一个或多个所列出醒目的任何或所有可能组合。在本申请实施例中,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
首先,需要说明的是,本申请实施例是基于虚拟AB系统(Virtual AB),来实现将电子设备上的系统版本从旧版本更新到新版本,使得电子设备可以基于新版本系统稳定运行。上述将电子设备上的系统版本从旧版本更新到新版本,使得电子设备可以基于新版本系统稳定运行的过程,可以被称为设备升级。
为了更好地理解本申请实施例提供的技术方案,在对本申请实施例的技术方案说明之前,首先对设备升级过程中所涉及到的术语进行解释,请参见下述说明:
(A).分区
在虚拟AB系统的实现方式中,电子设备可以在磁盘(也即只读存储器ROM)上划分出存储程序区和存储数据区。其中,存储程序区可以存储运行操作系统所需要的程序,至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等。存储数据区可以存储用户在电子设备使用过程中所创建的用户个人数据(例如,用户个人的音频数据、用户个人的图像数据等)。
如图1A所示,在本申请实施例中,存储程序区可以包括基础分区(Common)、第一静态分区(Slot A,也即A分区)、第二静态分区(Slot B,也即B分区)和动态分区(Super分区)等;存储数据区可以包括用户数据分区(Userdata分区)等。其中,第一静态分区可以包括多个子分区,例如boot_a子分区、bootloader_a子分区等;第二静态分区可以包括多个子分区,例如boot_b子分区、bootloader_b子分区等。静态分区中的引导程序可以用于初始化硬件设备、为内核设置启动参数和引导后续程序进行加载等。
Super分区可以包括多个子分区,例如system子分区、vendor子分区、product子分区和ODM子分区等,其中:system子分区可以包括电子设备上系统(例如,系统)的可执行程序、库、系统服务等,vendor子分区、product子分区、ODM子分区可以包括电子设备厂商私有的可执行程序、库、系统服务。可以理解的是,system子分区可以被称为第一子分区,vendor子分区可以被称为第一子分区,product子分区可以被称为第一子分区,ODM子分区可以被称为第一子分区。
需要说明的是,静态分区中各个子分区的位置和大小不可改变,是预先指定的固定值;动态分区中各个子分区的位置和大小可以基于数据信息的变动发生改变。例如,SlotA中boot_a子分区的大小预先指定为A1,且地址预先指定为014010-014020,则后续该boot_a子分区的大小和地址都不会改变,为A1和014010-014020;而Super分区中system子分区的大小为A2,且地址为051020-052030,则在后续当system子分区中的数据增加时,其大小也可以增加为A3,其地址可以变更为051020-052040。
当电子设备基于当前版本的系统稳定运行时,第一静态分区中的子分区,与其相对应的第二静态分区中的子分区,两者存储的数据信息是相同的。例如,当电子设备基于当前版本的系统稳定运行时,boot_a子分区中的数据信息和boot_b子分区中的数据信息相同,bootloader_a子分区中的数据信息和bootloader_b子分区中的数据信息相同,其他静态分区中的子分区类推。
对于电子设备上ROM中的分区部署信息,可以通过下述表1所示的分区表进行描述:
表1
这样,通过表1所示的分区表定义每个分区的起始地址和分区大小,从而针对不同的硬件,可以根据需要调整相应的分区大小。上述表1中所列举的每个分区都包含对应的镜像(image)文件,镜像文件是通过软件代码编译而成,集成了电子设备启动或运行过程中相关的各种功能文件和配置。一个完整的系统包括很多镜像文件,以系统,包括例如分区表镜像文件gpt.image、启动相关镜像文件(例如,xloader.image、boot.image等)、系统镜像文件super.image(集成/>系统核心程序)和用户数据镜像文件userdata.image(用来存储用户数据)等。可以理解的是,上述表1仅仅用于示例性解释本申请实施例,并不对本申请构成任何限制。
需要说明的是,电子设备可以通过运行程序(例如,静态分区中的引导程序、Super分区中的系统程序等),读取到对应的数据信息。
(B).静态分区的启动标识
具体的,电子设备可以基于基础分区(Common分区)中静态分区的启动标识(后续将静态分区的启动标识简称为启动标识),来选择是运行第一静态分区(Slot A)还是运行第二静态分区(Slot B)。
示例性的,当电子设备启动时,会首先加载基础分区的数据。在加载基础分区的过程中,电子设备可以读取基础分区中的启动标识。当基础分区中的启动标识为(A)时,电子设备在加载基础分区后,会加载第一静态分区(Slot A);当基础分区中的启动标识为(B)时,电子设备在加载基础分区后,会加载第二静态分区(Slot B)。
下面,介绍本申请实施例提供的一种设备升级流程。
需要说明的是,本申请实施例提供的设备升级流程以及后续的设备升级方法,是基于空中下载技术(Over-the-AirTechnology,OTA)实现的,也即是电子设备通过其无线网络接口,获取到云服务器发送的系统升级文件,继而基于该系统升级文件将旧版本系统升级至新版本。
具体的,请参考图1B,图1B示出了基于OTA的一种设备升级流程示意图。
如图1B所示,以将电子设备上当前版本1.0的系统升级至版本2.0为例,当电子设备当前所运行的静态分区为第一静态分区(也即Slot A)时,此时基础分区中的启动标识为(A)。从图1B可知,本示例中Slot A包括boot_a子分区和bootloader_a子分区,Slot B包括boot_b子分区和bootloader_b子分区。
如图1B所示,其具体流程可以包括:
1).电子设备通过其无线网络接口,获取到云服务器发送的系统升级文件。
其中,该系统升级文件用于将电子设备上的系统从1.0版本升级至2.0版本。该系统升级文件可以包括:静态分区升级数据和Super分区升级数据。静态分区升级数据可以包括一个或多个子分区升级数据,例如boot子分区升级数据、bootloader子分区升级数据等;Super分区升级数据可以包括一个或多个子分区升级数据,例如system子分区升级数据、ODM子分区升级数据等。电子设备可以将获取到的系统升级文件保存到用户数据分区(Userdata分区)。需要说明的是,这里的系统升级文件可以是全量系统升级文件,也即是说,该系统升级文件包括2.0版本系统的全部数据信息;也可以是增量系统升级文件,也即是说,该系统升级文件包括2.0版本系统与1.0版本系统之间的差分数据信息。这里,本申请实施例以增量系统升级文件为例来做说明。
2).电子设备触发升级引擎开始执行系统升级流程。
具体的,安装系统的电子设备,系统的升级是由升级引擎(update_engine)主导完成的。因此,当电子设备获取到系统升级文件后,可以基于升级指令触发update_engine开始执行升级流程。
3).电子设备基于静态分区升级数据,对静态分区进行升级。
具体的,电子设备可以对系统升级文件进行解压,获取到静态分区升级数据。然后,因为第一静态分区Slot A正在运行,因此,电子设备将该静态分区升级数据覆盖写入到第二静态分区(Slot B)中,使得第二静态分区中的引导程序从1.0版本升级为2.0版本。例如,boot子分区升级数据可以覆盖写入至boot_b子分区中,bootloader子分区升级数据可以覆盖写入至bootloader_b子分区中,其他子分区升级数据依此类推。
4).电子设备在用户数据分区(Userdata分区)创建cow文件,将Super分区升级数据写入到创建的cow文件中。
具体的,电子设备可以通过update_engine从系统升级文件中解压获取到Super分区升级数据。电子设备通知快照节点/快照(snap)进程在用户数据分区创建Super分区各个子分区的cow文件。接下来,update_engine可以将Super分区升级数据中各个子分区升级数据,写入到对应的cow文件中,例如system子分区升级数据写入到system子分区对应的cow文件中,将ODM子分区升级数据写入到ODM子分区对应的cow文件中,其他子分区升级数据依此类推。
5).在静态分区升级完成后,电子设备启动静态分区校验线程对静态分区进行校验。
具体的,当电子设备基于静态分区升级文件对静态分区进行升级后(也即是将静态分区升级数据写入到第二静态分区(Slot B)后),电子设备可以通过update_engine启动静态分区校验线程,基于哈希算法等方式对第二静态分区(Slot B)进行校验。
6).电子设备对用户数据分区中的各个cow文件进行校验。
具体的,电子设备可以通过update_engine,基于哈希算法等方式对用户数据分区中的各个cow文件进行校验。
7).当静态分区和cow文件均校验成功后,电子设备重启。
具体的,在电子设备没有进行系统升级,运行版本1.0时,电子设备加载的是第一静态分区(Slot A)中的数据,也即是启动时加载的是基础分区的数据、第一静态分区的数据和动态分区的数据以运行版本1.0的系统。
在电子设备执行上述步骤1)-步骤6)后的重启过程中,电子设备可以改写基础分区中的启动标识,将启动标识由(A)改写为(B),也即是说,电子设备此时不再加载第一静态分区的数据,而是加载第二静态分区(Slot B)的数据,也即是电子设备加载的是基础分区的数据、第二静态分区的数据、动态分区的数据和用户数据分区中各cow文件的数据,使得电子设备可以运行版本2.0的系统。
8).电子设备重启后,执行merge操作,将用户数据分区中各cow文件的数据写入至Super分区对应的子分区中。
具体的,电子设备可以将用户数据分区中各cow文件的数据写入至Super分区中对应的子分区内,例如将system子分区对应的cow文件(例如,system_b_cow文件)中的数据写入至system子分区中,将ODM子分区对应的cow文件(例如,ODM_b_cow文件)中的数据写入至ODM子分区中,其余cow文件依此类推。电子设备可以将上述各个cow文件从Userdata分区写入到Super分区中对应的子分区内的这个过程,可以被称为合并merge。
9).电子设备对静态分区的数据进行同步。
具体的,电子设备对静态分区的数据进行同步,指的是电子设备可以将第二静态分区中的数据进行拷贝,并覆写至第一静态分区中,使得第一静态分区中的数据与第二静态分区中的数据相同。
10).电子设备上报系统升级结果给云服务器。
具体的,在执行完静态分区的数据同步操作后,无论同步是否成功,电子设备均会向云服务器上报系统升级结果,使得云服务器获知本次电子设备的系统升级结果。需要说明的是,当上述步骤中任一步骤操作失败,从而使得系统升级失败时,电子设备也可以向云服务器上报本次系统升级失败的结果。
由上述设备升级流程可以看出,在系统升级的重启过程中,电子设备需要使用cow文件使得电子设备可以运行版本2.0的系统。然而,当电子设备在merge过程中,存储器件发生故障或者写入时软件程序出现故障时,会导致电子设备有一定的概率merge失败。例如,基于实验数据可得,当有226842台电子设备执行merge流程时,大概有2台电子设备merge失败。此时,电子设备为了保证稳定运行,不能清除cow文件,使得cow文件一直占据用户数据分区,电子设备无法成功进行OTA系统升级,影响用户使用的体验,电子设备运行效率低下,造成存储空间的浪费。同时,因系统版本无法升级,不能给电子设备安装安全补丁,也会给电子设备的安全性带来极大的隐患。
因此,本申请提供了一种设备升级方法。
在该设备升级方法中,以将电子设备上的系统从1.0版本升级到2.0版本为例,电子设备可以基于系统升级文件1,首先实施如前述图1B所示的设备升级流程。在该设备升级流程中,若电子设备merge失败,无法将用户数据分区中的cow1文件写入至Super分区中,电子设备可以向云服务器上报merge失败信息。然后,云服务器可以向电子设备发送全量系统升级文件,该全量系统升级文件可以包括2.0版本系统的全部数据信息。这里需要说明的是,在图1B所示的设备升级流程中,云服务器发送的是增量系统升级文件,可以记为系统升级文件1;merge失败后,云服务器发送的是全量系统升级文件,可以记为系统升级文件2。
接下来,电子设备可以基于系统升级文件2创建Super分区中各个子分区对应的cow2文件,例如system子分区对应的cow2文件,product子分区对应的cow2文件等等。可以理解的是,基于系统升级文件1创建的Super分区中各个子分区对应的cow文件为cow1文件。电子设备可以基于上述各个cow2文件将系统从1.0升级至2.0。在该次设备升级流程中,电子设备可以将各个cow2文件覆写入至Super分区对应的子分区中(也即是再次merge)。覆写成功后,电子设备可以删除各cow1文件和各cow2文件。
这样,可以使得电子设备基于cow1文件merge失败时,电子设备仍然能够成功执行系统升级流程,使得系统从旧版本升级至新版本,提高用户数据分区的使用效率,提升用户的使用体验,同时也可以提高电子设备的安全性。
可以理解的是,上述基于系统升级文件1所创建的一个或多个cow1文件,为差分镜像文件,第一子分区对应的cow1文件为第一镜像文件,用于将第一子分区中的系统程序从第一版本升级为第二版本,第一镜像文件包括第一子分区对应的1.0版本的系统程序和第一子分区对应的2.0版本的系统程序之间的差异数据信息。
基于系统升级文件2所创建的一个或多个cow2文件,为全量镜像文件,第一子分区对应的cow2文件为第二镜像文件,用于将第一子分区中的系统程序从第一版本升级为第二版本,第二镜像文件包括所述第一子分区对应的第二版本的系统程序。
接下来,介绍本申请提供的一种设备升级方法的具体流程。
请参考图2A,图2A示例性示出了一种设备升级方法的具体流程示意图。
如图2A所示,以将电子设备上1.0版本(可以被称为第一版本)的系统升级至2.0版本(可以被称为第二版本)为例,该方法包括:
S201:电子设备基于Slot A和Super分区运行1.0版本的系统。
具体的,当前电子设备上的系统版本为1.0,也即是说,电子设备上Slot A中的引导程序、Slot B中的引导程序和Super分区中的系统程序皆为1.0版本,此时,Slot A和SlotB中的数据信息是相同的。电子设备基于Slot A中的引导程序和Super分区中的系统程序,运行1.0版本系统。并且,可以理解的是,由于当前电子设备运行的是Slot A,因此,基础分区中的启动标识为(A)。
S202:电子设备接收到云服务器发送的系统更新通知。
在一些示例中,云服务器可以主动给电子设备发送系统更新通知。其中,该系统更新通知可以用于提示电子设备系统的版本有更新。例如,提示电子设备最新的系统版本更新到了2.0。
在又一些示例中,电子设备可以主动发送系统更新检测请求给云服务器。其中,该系统更新检测请求可以包括电子设备当前的系统版本号。云服务器在接收到该系统版本号后,可以基于该系统版本号判断电子设备上的系统是否在云服务器上有更新。若是,则云服务器可以向电子设备发送系统更新通知。关于该系统更新通知的说明,可以参考前述中的描述,在此不再赘述。
S203:电子设备可以基于系统更新通知,输出系统更新提示信息。
示例性的,如图2B所示,当用户正在使用电子设备观看视频时,电子设备可以显示出视频界面30。其中,视频界面30可以包括视频画面、时间进度条和窗口301。时间进度条标示出视频的时间播放信息,例如“0:11/2:30”,表示视频时长2分30秒,已播放11秒。窗口301可以基于系统更新通知显示出系统更新提示信息和下载按钮301A。其中,该系统更新提示信息可以用于提示用户系统版本有更新。该系统更新提示信息可以是文本信息,例如“软件更新:2.0(B00E211R8P4)可用于您的设备。下载该更新需要284MB流量”。在一些示例中,不限于文本信息,系统更新提示信息也可以是图片信息、语音信息等,本申请对此不作限制。
S204:响应于系统升级文件的下载输入,电子设备从云服务器接收系统升级文件1。
具体的,响应于系统升级文件的下载输入,电子设备可以向云服务器发送该电子设备的标识和/或电子设备上的系统版本号。云服务器接收到上述电子设备的标识和/或电子设备上的系统版本号之后,可以向电子设备发送系统升级文件1。
示例性的,如图2C所示,以图2B示出的视频界面30为例,作用在下载按钮301A上的触摸操作(例如,点击)即是系统升级文件的下载输入。
具体的,系统升级文件1可以用于:将电子设备上1.0版本的系统升级为2.0版本。需要说明的是,系统升级文件1是增量系统升级文件,也即是说,系统升级文件1为1.0版本的系统所包括数据信息和2.0版本的系统所包括数据信息之间的差异数据信息。例如,1.0版本的系统所包括数据信息为S1,2.0版本的系统所包括数据信息为S2,S1和S2之间的差异数据信息为S3,则系统升级文件1中的数据信息为S3。后续电子设备可以将S1和系统升级文件1进行合成,使得电子设备上的系统升级至2.0版本。
S205:电子设备基于系统升级文件1(也可以被称为第一系统升级文件),执行系统升级操作。
具体的,该步骤的过程可以参考图1B所示的设备升级流程,在此不再赘述。
S206:当电子设备基于系统升级文件1执行merge失败后,电子设备向云服务器发送系统升级文件查询请求和merge失败信息。
需要说明的是,电子设备创建上述多个cow1文件并重启后,电子设备可以基于上述多个cow1文件(包括第一镜像文件),运行2.0版本的系统。电子设备基于系统升级文件1执行merge,也即是说,电子设备基于多个cow1文件将Super分区中对应的子分区更新至第二版本,例如,电子设备通过第一镜像文件更新第一子分区至第二版本。当电子设备基于系统升级文件1执行merge失败,也包括了电子设备通过第一镜像文件更新第一子分区至第二版本失败。
具体的,在一些示例中,当电子设备接收到系统升级文件1时,电子设备也可以接收到云服务器发送的系统升级文件查询时间(例如,1天、3天或7天等)。当电子设备基于系统升级文件1执行merge失败后,电子设备可以为本设备标记merge失败。电子设备可以基于系统升级查询时间,向云服务请发送系统升级文件查询请求和merge失败信息。例如,当系统升级文件查询时间为1天时,电子设备在基于系统升级文件1执行merge失败后,电子设备可以为本设备标记merge失败。然后,间隔一天之后,电子设备可以向云服务器发送系统升级文件查询请求和merge失败信息。其中,系统升级文件查询请求可以包括电子设备的标识和/或电子设备的系统版本号。
在又一些示例中,当电子设备基于系统升级文件1执行merge失败后,电子设备即可向云服务器发送系统升级文件查询请求和merge失败信息。
电子设备基于系统升级文件1创建Super分区各子分区对应的cow1文件,并根据各cow1文件执行merge。其具体的实施流程,可以参考前述图1B所示实施例的描述,在此不再赘述。
S207:电子设备接收到云服务器发送的系统升级文件2(可以称第二系统升级文件)。
具体的,当云服务器接收到电子设备发送的系统升级文件查询请求和merge失败信息时,云服务器可以基于系统升级文件查询请求中当前的系统版本号和merge失败信息,获取到系统升级文件2。然后,云服务器可以基于电子设备的标识,将系统升级文件2发送给电子设备。
在一些示例中,当电子设备基于cow1文件写入到Super分区中指定次数(例如,2次、3次、4次或5次等)皆失败后,电子设备标记本设备merge失败,然后,电子设备向云服务器上报系统升级文件查询请求和merge失败信息。
具体的,系统升级文件2是全量系统升级文件,也即是说,系统升级文件2包括2.0版本的系统的所有数据信息。例如,2.0版本的系统的所有数据信息为S2,则系统升级文件2中所包括的数据信息就为S2。
在一些示例中,若电子设备接收到的系统升级文件2不是全量系统升级文件,则电子设备终止本申请所提供的设备升级方法,电子设备上的系统即可视为升级失败。电子设备可以向云服务器发送系统升级失败信息。
在一些示例中,系统升级文件1用于将电子设备上的系统从1.0版本升级为2.0版本,系统升级文件2可以用于将电子设备上的系统从1.0版本升级为3.0版本、4.0版本或5.0版本。也即是说,系统升级文件2和系统升级文件1所对应的版本可以不相同。
在另一些示例中,电子设备发送给云服务器的系统升级文件查询请求中,还可以包括电子设备基于系统升级文件1执行merge失败后,Super分区的状态信息。其中,该Super分区的状态信息中可以包括电子设备上Super分区中各子分区的系统程序的版本。云服务器可以基于Super分区的状态信息生成系统升级文件2。则此时,系统升级文件2可以是增量文件。例如,当电子设备基于系统升级文件1执行merge失败后,Super分区的状态信息为:system子分区的系统程序为1.0版本,vendor子分区的系统程序为1.0版本,product子分区的系统程序为2.0版本。则云服务器可以基于Super分区的状态信息,生成的系统升级文件2包括:system子分区2.0版本系统程序与system子分区1.0版本系统程序间的差分数据,vendor子分区2.0版本系统程序与vendor子分区1.0版本系统程序间的差分数据。
S208:电子设备基于系统升级文件2安装2.0版本的系统。
首先,需要说明的是,在电子设备基于系统升级文件2安装2.0版本的系统时,电子设备可以基于Slot B中的引导程序、Super分区中的系统程序,和,Super分区中各个子分区对应的cow1文件,来运行2.0版本的系统。这里需要说明的是,Super分区中的系统程序是1.0版本的系统程序,cow1文件中的数据信息是2.0版本的系统程序和1.0版本的系统程序之间的差分数据信息。
此时,电子设备可以基于快照(snap)技术运行Super分区中的系统程序,和,Super分区中各个子分区对应的cow1文件。其中,各个cow1文件存储于用户数据分区中。
示例性的,这里以Super分区中的system子分区来作说明,其他子分区例如product子分区、ODM子分区的运行逻辑与其相同。
如图2D所示,Super分区中system子分区相关内容包括:system子分区的数据信息(也即是图2D中的/super的system),和,Super分区中system子分区的文件地图(也即是图2D中的dev/block/mapper/system_b_base)。其中,Super分区中system子分区的文件地图所在区域可以被映射为dm-mapper的linear设备(也即是图2D中的dm-linear,该linear设备为虚拟设备)。
如图2D所示,system子分区的cow1文件可以包括:用于system子分区进行升级的系统程序(也可以被称为system子分区升级数据,也即是图2D中的/data/gsi/ota/system_b_cow_img),和,system子分区的cow1文件地图(也即是图2D中的dev/block/mapper/system_b_cow)。其中,system子分区的cow1文件地图所在区域可以被映射为dm-mapper的linear设备(也即是图2D中的dm-linear,该linear设备为虚拟设备)。
其中,Super分区中system子分区的文件地图用于描述:1.0版本system分区中所有文件及其对应的保存地址。system子分区的cow1文件地图(快照)用于描述:system子分区被更新的文件与1.0版本的system子分区中文件间的对应关系,以及被更新文件的保存地址。
这样,基于Super分区中system子分区的文件地图,以及,system子分区的cow1文件地图,就可以使用该cow1文件中的升级数据替换Super分区中system子分区对应的文件。具体的,在需要获取Super分区中system子分区的文件地图时,电子设备可以基于snapshot对Super分区中system子分区的数据进行快照以生成Super分区中system子分区的文件地图。
示例性的,Super分区中system子分区的文件地图可以如下表2所示:
表2
文件名及路径 保存地址
/system/app/A0.XXX 024010~024013
/system/app/A1.XXX 024014~024017
/system/app/A2.XXX 024018~024020
/system/B0.XXX 024021~024026
/system/B1.XXX 024027~024028
…… ……
由表2可知,文件/system/app/A0.XXX的保存地址为024010~024013;文件/system/app/A1.XXX的保存地址为024014~024017;文件/system/app/A2.XXX的保存地址为024018~024020;文件/system/B0.XXX的保存地址为024021~024026;文件/system/B1.XXX的保存地址为024027~024028。可以理解的是,上述文件/system/app/A0.XXX、/system/app/A1.XXX、/system/app/A2.XXX、/system/B0.XXX、/system/B1.XXX中的内容为system子分区的数据信息。
可以理解的是,上述表2所示的system子分区中的文件地图仅仅用于示例性解释本申请,并不对本申请构成任何限制。
如果2.0版本系统需要更新文件/system/app/A2.XXX和/system/B0.XXX。
则,用于system子分区进行升级的系统程序(也即是图2D中的/data/gsi/ota/system_b_cow_img)包括:2.0版本的/system/app/A2.XXX,和,2.0版本的/system/B0.XXX。system子分区的cow1文件地图可以如下表3所示:
表3
文件名及路径 保存地址
/system/app/A2.XXX 045010~045012
/system/B0.XXX 045013~045018
由表3可知,2.0版本的/system/app/A2.XXX保存地址为045010~045012;2.0版本的/system/B0.XXX保存地址为045013~045018。
电子设备可以合并Super分区中system子分区的文件地图和system子分区的cow1文件地图,形成2.0版本system子分区的文件地图(也即是图2D中的dev/block/mapper/system_b),将其映射为dm-snapshot虚拟设备,如表4所示:
表4
文件名及路径 保存地址
/system/app/A0.XXX 024010~024013
/system/app/A1.XXX 024014~024017
/system/app/A2.XXX 045010~045012
/system/B0.XXX 045013~045018
/system/B1.XXX 024027~024028
…… ……
电子设备可以将2.0版本system子分区的文件地图挂载到节点/system(这里的节点也可以被称为虚拟设备)。也即是说,电子设备可以通过操作节点/system,基于该2.0版本system子分区的文件地图寻找到各文件的保存地址,运行2.0版本的system子分区系统程序,读取到各文件中的数据信息。可以看出,在该过程中,电子设备读取的是地址为045010~045012的/system/app/A2.XXX,而不是地址为024018~024020的/system/ap p/A2.XXX;电子设备读取的是地址为045013~045018的/system/B0.XXX,而不是地址为024021~024026的/system/B0.XXX。
因此,可以理解的是,在步骤S206中,电子设备基于cow1文件执行merge过程,由于地址024018~024020的区域和024021~024026的区域并没有被运行,因此,电子设备可以将地址为045010~045012的/system/app/A2.XXX内容,覆盖写入至地址024018~024020中;将地址为045013~045018的/system/B0.XXX内容,覆盖写入至地址024021~024026中。
这里需要说明的是,因为前述在运行1.0版本系统程序时,电子设备运行的静态分区为Slot A,因而电子设备在基于系统升级文件1尝试系统升级时,静态分区的升级数据是写入到了Slot B(Slot A正在运行无法写入)。因此,电子设备基于系统升级文件1创建的各cow1文件、各cow1文件地图以及Super分区system子分区的文件地图的命名,应当对应于Slot B,也即是“/data/gsi/ota/system_b_cow_img”、“dev/block/mappe r/system_b_cow”、“dev/block/mapper/system_b_base”。当电子设备基于系统升级文件1执行merge失败后,电子设备仍然可以基于Super分区和各cow1文件运行2.0版本的系统。
具体的,当电子设备基于Slot B中的引导程序、Super分区中的系统程序,和,Super分区中各个子分区对应的cow1文件运行2.0版本的系统时,如图2E所示,电子设备基于系统升级文件2安装2.0版本的系统的流程具体可以包括:
当系统升级文件2不是全量系统升级文件时终止本流程;当系统升级文件2是全量系统升级文件时,则:
A).电子设备解压系统升级文件2,获取到Super分区升级数据和静态分区升级数据。
具体的,如图2F所示,当电子设备基于系统升级文件1执行merge失败后,电子设备可以向云服务器上报系统升级文件查询请求和merge失败信息,具体说明可以参考前述描述。电子设备可以从云服务器获取到系统升级文件2,并将该系统升级文件2存储在用户数据分区中。然后,电子设备可以再次尝试将各cow1文件写入到Super分区(也即是再次基于cow1文件执行merge)中。若成功,则电子设备可以清除各cow1文件和系统升级文件2,Super分区升级成功,此后电子设备需要运行2.0版本的Super分区数据时,不必再借助于cow1文件;若失败,电子设备可以标记merge失败,基于系统升级文件2再次进行系统升级。电子设备可以解压系统升级文件2,获取到Super分区升级数据和静态分区升级数据。可以理解的是,基于解压后的系统升级文件2所获取到的Super分区升级数据和静态分区升级数据,是全量数量而非增量数据。
在一些示例中,当电子设备接收到系统升级文件2后,电子设备可以直接基于系统升级文件2进行升级,而不必再次尝试将各cow1文件写入到Super分区中。
B).电子设备创建Super分区中各子分区对应的cow2文件,并初始化各cow2文件。
具体的,电子设备可以通知快照节点/快照(snap)进程,在用户数据分区中创建Super分区各子分区对应的cow2文件,例如/data/gsi/ota/system_a_cow_img(system子分区的cow2文件)、/data/gsi/ota/product_a_cow_img(product子分区的cow2文件)。然后,电子设备可以初始化各cow2文件,也即是将各cow2文件所在区域中的数据信息清空。
这里需要说明的是,前述cow1文件的命名是对应的Slot B,因此cow2文件的命名应当对应Slot A。例如以system子分区为例,其cow1文件的命名为“/data/gsi/ota/system_b_cow_img”,其cow2文件的命名为“/data/gsi/ota/system_a_cow_img”。
C).电子设备基于各cow2文件和Super分区中各子分区相关内容创建各动态升级分区(例如,system_a、product_a等)。
具体的,各动态升级分区和Super分区中各子分区相对应。电子设备可以基于各cow2文件和Super分区中各子分区相关内容创建dm-snapshot设备,将其映射为动态升级分区system_a、product_a等。
D).电子设备创建动态升级分区的元数据文件。
具体的,动态升级分区的元数据文件lpmetadata,该lpmetadata文件可以包括各子分区的名称文件。本步骤中的lpmetadata可以被称为lpmetadata2。其中:
lpmetadata文件可以用于将各个子分区的cow2文件映射为对应的虚拟设备(cow2文件对应的lpmetadata文件可以被称为lpmetadata2),其命名可以为“/metadata/gsi/ota/lpmetadata2”;各子分区的名称文件可以用于记录需要执行merge的子分区,以system子分区为例,其命名可以为“/metadata/gsi/ota/system_a_cow_image.status”。需要说明的是,一个系统升级文件,对应的lpmetadata文件只有一个。
E).电子设备基于静态分区升级数据,对静态分区进行升级。
具体的,电子设备在前述步骤中已对系统升级文件2进行解压,获取到静态分区升级数据。电子设备可以将该静态分区升级数据覆盖写入到第一静态分区中(Slot A)中,使得第一静态分区中的引导程序从1.0版本升级为2.0版本。例如,boot子分区升级数据可以覆盖写入至boot_a子分区中,bootloader子分区升级数据可以覆盖写入至bootloader_a子分区中,其他子分区升级数据依此类推。
F).电子设备创建动态升级分区状态文件。
具体的,动态升级分区状态文件可以包括:用于记录电子设备是否执行merge流程的状况文件(本步骤中的该状况文件也可以被称为state2文件),和,各动态升级分区的快照文件。
其中,用于记录电子设备是否执行merge流程的状况文件,其命名可以为“/metadata/ota/state2”,其可以在系统升级过程中,标识电子设备是处于执行merge流程之前,还是正在执行merge流程,或者执行merge结束;各动态升级分区的快照文件可以用于标识各Super分区中的子分区是否执行merge流程。若是,则清除该快照文件。以syste m子分区为例,其命名可以为“/metadata/ota/snapshots/system_a”,若system子分区已执行merge流程,则电子设备清除“/metadata/ota/snapshots/system_a”。
G).电子设备将Super分区升级数据写入到cow2文件中。
具体的,电子设备在前述步骤中已对系统升级文件2解压,获取到Super分区升级数据。电子设备可以通过update_engine可以将Super分区升级数据中各个子分区升级数据,写入到对应的cow2文件中,例如system子分区升级数据写入到system子分区对应的cow2文件中,将ODM子分区升级数据写入到ODM子分区对应的cow2文件中,其他子分区升级数据依此类推。
H).电子设备启动静态分区校验线程对静态分区进行校验。
具体的,当电子设备基于静态分区升级文件对静态分区进行升级后(也即是将静态分区升级数据写入到第一静态分区(Slot A)后),电子设备可以通过update_engine启动静态分区校验线程,基于哈希算法等方式对第一静态分区(Slot A)进行校验。
I).电子设备对动态升级分区进行校验
具体的,电子设备可以通过update_engine,基于哈希算法等方式对各动态升级分区进行校验,例如对system_a、product_a等动态升级分区进行校验。
当电子设备对静态分区、动态升级分区校验通过后,电子设备可以执行后续流程。
S209:电子设备重启,基于各cow2文件运行2.0版本的系统,并基于各cow2文件执行merge流程。
请参考图2G,图2G示例性示出了本步骤的具体实现方式。
具体的,当电子设备执行完前述步骤后,电子设备中基础分区的启动标识可以由(B)改写为(A)。因此,当电子设备重启时,电子设备加载基础分区后,运行的是第一静态分区(Slot A)。
然后,电子设备可以挂载节点/metadata。电子设备可以读取该/metadata节点,获取到lpmetadata2文件。电子设备可以基于lpmetadata2,创建动态升级分区的虚拟设备节点。接下来,电子设备可以恢复selinux环境,以便后续运行2.0版本/1.0版本的系统。当电子设备接收到开机加载完毕广播boot_completed,确定电子设备可以启动系统运行所需资源后,电子设备可以获取到state2文件,如前述的“/metadata/ota/state2”,并基于该状况文件执行系统升级流程。电子设备可以基于lpmetadata2,挂载动态升级分区。电子设备可以基于该动态升级分区运行2.0版本的系统。
然后,电子设备可以基于各cow2文件执行merge流程,也即是将各cow2文件中子分区升级数据覆盖写入至Super分区中各对应的子分区中。例如:将system子分区对应的cow2文件中system子分区升级数据覆盖写入至Super分区的system子分区中。当merge执行成功后,电子设备可以清除各cow1文件、cow2文件、动态升级分区的元数据文件和动态升级分区状态文件等,电子设备上的系统成功从1.0版本升级为2.0版本。此时,电子设备可以运行Super分区中的系统程序,而不必再借助于cow1文件和/或cow2文件。
需要说明的是,本步骤中电子设备基于上述多个cow2文件执行merge,也即是基于多个cow2文件将Super分区中对应的子分区更新至第二版本,例如,电子设备通过第二镜像文件更新第一子分区至第二版本。
示例性的,如图2H所示,这里以system子分区作示例,当电子设备基于lpmetadata2挂载动态升级分区并运行2.0版本的系统时,电子设备运行动态升级分区的逻辑可以如图所示:
Super分区中system子分区相关内容包括:system子分区的数据信息(也即是图2H中的/super的system),和,Super分区中system子分区的文件地图(也即是图2H中的dev/block/mapper/system_b_base)。其中,Super分区中system子分区的文件地图所在区域可以被映射为dm-mapper的linear设备(也即是图2H中的dm-linear,该linear设备为虚拟设备),其说明可以参考前述图2D相关描述,在此不赘述。
system子分区的cow2文件可以包括:用于system子分区进行升级的系统程序(也即是system子分区升级数据,图2H中的/data/gsi/ota/system_a_cow_img),和,system子分区的cow2文件地图(也即是图2H中的dev/block/mapper/system_a_cow)。其中,system子分区的cow2文件地图所在区域可以被映射为dm-mapper的linear设备(也即是图2H中的dm-linear,该linear设备为虚拟设备)。
上述system子分区的文件地图和system子分区的cow2文件地图,可以参考前述的表2和表3。但需要注意的是,system子分区的cow2文件地图是全量数据的地图,包括system子分区中所有文件的名称以及其对应的地址(有更新的文件,其对应的地址在用户数据分区;没有更新的文件,其对应的地址在Super分区),而非如表3所示仅包括需要更新文件的名称和地址。
电子设备可以合并Super分区中system子分区的文件地图和system子分区的cow2文件地图,形成2.0版本system子分区的文件地图(也即是图2H中的dev/block/mapper/system_a),将其映射为dm-snapshot虚拟设备,并将该dm-snapshot虚拟设备挂载至动态升级分区system_a上。这里需要说明的是,当电子设备基于2.0版本system子分区的文件地图运行2.0版本的system子分区相关系统程序时,实际上运行的是system子分区的cow2文件地图指向的文件。其他子分区(例如product子分区、ODM子分区等)的运行过程类同。
需要说明的是,当电子设备基于系统升级文件1进行系统升级时,电子设备也可以创建动态升级分区的元数据文件,如各cow1文件对应的lpmetadata文件,可以被称为lpmetadata1,其命名可以为“/metadata/gsi/ota/lpmetadata”;也可以创建动态升级分区状态文件(也可以被称为state1文件),其命名可以为“/metadata/ota/state”。
当电子设备无法获取lpmetadata2时,便去获取lpmetadata1,并基于lpmetadata1创建虚拟升级分区的虚拟设备节点;当电子设备无法获取lpmetadata1时,电子设备可以恢复selinux环境,运行1.0版本的系统。
当电子设备state2文件时,便去获取state1文件,并基于该状况文件执行系统升级流程。电子设备可以基于lpmetadata1,挂载动态升级分区,如前述图2D所示;当电子设备无法获取state1文件时,电子设备可以终止系统升级流程,运行1.0版本的系统。
S210:当merge流程执行成功后,电子设备清除各cow1文件和cow2文件,基于Super分区中的系统程序运行2.0版本系统。
具体的,如图2G所示,当merge执行成功后,电子设备基于Super分区中的程序运行2.0版本的系统,因此电子设备可以清除各cow1文件、cow2文件、动态升级分区的元数据文件和动态升级分区状态文件等,电子设备上的系统成功从1.0版本升级为2.0版本。此时,电子设备运行的是Slot A中的引导程序和Super分区中的系统程序。
需要说明的是,上述所列举的系统版本号,例如1.0版本、2.0版本仅仅用于示例性说明本申请实施例,在具体的实现过程中,也可以是其他版本号如3.0.版本、4.0版本等,本申请对此并不作限制。
需要说明的是,实施例中所描述的cow文件(例如,cow1文件、cow2文件),实际上是cow类型的文件,是镜像文件的一种类型,在具体实现方式中,用于本申请实施例的镜像文件也可以是qcow类型、qcow2类型或raw类型等等,例如,前述的第一镜像文件、第二镜像文件的类型除了可以是cow类型外,也可以是qcow类型、qcow2类型或raw类型。本申请实施例以cow类型作为示例进行说明。
需要说明的是,从系统升级文件1中获取到的静态分区升级数据可以被称为静态分区第一升级数据,从系统升级文件2中获取到的静态分区升级数据可以被称为静态分区第二升级数据。
下面,介绍本申请实施例提供的一种通信系统10的架构。
请参考图3,图3示例性示出了本申请实施例提供的一种通信系统10的架构示意图。该通信系统10可以运用于前述流程中。
如图3所示,该通信系统10可以包括:电子设备100和云服务器200。
电子设备100可以是智能手机、车载设备、平板电脑或者其他类型的电子设备等。电子设备100可以和云服务器200建立通信连接。基于上述通信连接,电子设备100可以和云服务器200进行数据通信。例如,电子设备100可以接收到由云服务器200发送的系统升级文件1,和/或,系统升级文件2。电子设备100也可以向云服务器发送数据信息,例如系统升级失败信息、merge失败信息等。
云服务器200可以生成用于将电子设备上的系统版本从1.0版本升级为2.0版本的系统升级文件,例如系统升级文件1、系统升级文件2等。其中,上述生成的系统升级文件可以是增量系统升级文件,也可以是全量系统升级文件。关于增量系统升级文件、全量系统升级文件的说明,可以参考前述描述,在此不赘述。云服务器200可以和电子设备100建立通信连接,和电子设备100进行数据通信。例如,云服务器200可以向电子设备100发送系统升级文件(如系统升级文件1、系统升级文件2等);云服务器200也可以接收电子设备100发送的系统升级失败信息、merge失败信息等。
可以理解的是,图3示出的通信系统10仅仅用于示例性解释本申请,并不对本申请构成具体限制。
接下来,介绍本申请实施例提供的一种电子设备100的硬件结构。
请参考图4,图4示例性示出了本申请实施例提供的一种电子设备100的硬件结构示意图。
该电子设备100可以应用于前述流程中。
如图4所示,电子设备100可以包括:处理器401、存储器402、无线通信模块403、显示屏404和传感器模块405,上述各个模块可以通过总线进行连接。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100还可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合来实现。
处理器401可以包括一个或多个处理器单元,例如处理器401可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GP U),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-netwo rk processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器401中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器401中的存储器为高速缓冲存储器。该存储器可以保存处理器401刚用过或循环使用的指令或数据。如果处理器401需要再次使用该指令或数据,可以从所述存储器中直接调用。避免了重复存取,减少了处理器401的等待时间,因而提高了系统的效率。
在一些实施例中,处理器401可以包括一个或多个接口。接口可以包括集成电路(int er-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)接口,和/或USB接口等。
存储器402与处理器401耦合,用于存储各种软件程序和/或多组指令。具体实现中,存储器402可以包括易失性存储器(volatile memory),例如随机存取存储器(randomaccessmemory,RAM);也可以包括非易失性存储器(non-vlatile memory),例如ROM、快闪存储器(flash memory)、硬盘驱动器(Hard Disk Drive,HDD)或固态硬盘(So lid StateDrives,SSD);存储器402还可以包括上述种类的存储器的组合。存储器402还可以存储一些程序代码,以便于处理器401调用存储器402中存储的程序代码,以实现本申请实施例在电子设备100中的实现方法。存储器402可以存储操作系统,例如uCOS、VxWorks、RTLinux等嵌入式操作系统。
无线通信模块403可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulati on,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块403可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块403经由天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器401。无线通信模块403还可以从处理器401中接收待发送的信号,对其进行调频、放大,经天线转为电磁波辐射出去。在一些实施例中,电子设备100还可以通过无线通信模块403中的蓝牙模块(未示出)、WLAN模块(未示出)发射信号探测或扫描在电子设备100附近的设备,并与该附近的设备建立无线通信连接以传输数据。其中,蓝牙模块可以提供包括经典蓝牙(basic rate/enhanceddatarate,BR/EDR)或蓝牙低功耗(bluetooth low energy,BLE)中一项或多项蓝牙通信的解决方案,WLAN模块可以提供包括Wi-Fi direct、Wi-Fi LAN或Wi-Fi softAP中一项或多项WL AN通信的解决方案。
显示屏404可以用于显示图像、视频等。显示屏404可以包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitti ng diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dotlight emitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏404,N为大于1的正整数。
传感器模块405可以包括多个传感器件,例如,触摸传感器(未示出)等。触摸传感器也可以称为“触控器件”。触摸传感器可以设置于显示屏404,由触摸传感器与显示屏404组成触摸屏,也称“触控屏”。触摸传感器可以用于检测作用于其上或附近的触摸操作。
需要说明的是,图4示出的电子设备100仅仅用于示例性解释本申请所提供的电子设备的硬件结构,并不对本申请构成具体限制。
接下来,介绍本申请实施例提供的一种云服务器200的硬件结构。
请参考图5,图5示例性示出了本申请实施例提供的一种云服务器200的硬件结构示意图。
该云服务器200可以运用于前述流程中。
如图5所示,该云服务器200可以应用于上述图3中所描述的通信系统10。该云服务器200可以包括一个或多个处理器501A、通信接口502A、存储器503A,处理器501A、通信接口502A和存储器503A可以通过总线或者其他方式进行连接,本申请实施例以通过总线504A连接为例。其中:
处理器501A可以由一个或者多个通用处理器构成,例如CPU。处理器501A可以用于运行设备控制方法的相关的程序代码。
通信接口502A可以为有线接口(例如,以太网接口)或无线接口(例如,蜂窝网接口),用于与其他节点进行通信。本申请实施例中,通信接口502A具体可以用于与电子设备100进行通信,使得云服务器200可以基于该通信接口502A与电子设备100进行数据通信。例如,云服务器200可以基于该通信接口502A向电子设备100发送系统升级文件,接收到电子设备100发送的系统升级失败信息、merge失败信息等等。
存储器503A可以包括易失性存储器(volatile memory),例如随机存取存储器(randomaccessmemory,RAM);也可以包括非易失性存储器(non-vlatile memory),例如ROM、快闪存储器(flash memory)、硬盘驱动器(Hard Disk Drive,HDD)或固态硬盘(SolidState Drives,SSD);存储器503A还可以包括上述种类的存储器的组合。在本申请实施例中,存储器503A可以用于存储系统升级文件(例如,系统升级文件1、系统升级文件2等)。存储器503A还可以存储一些程序代码,以便于处理器501A调用存储器503A中存储的程序代码,以实现本申请实施例在云服务器200中的实现方法。
需要说明的是,图5中所示的云服务器200仅仅是本申请实施例的一种实现方式,在实际应用中,云服务器200还可以包括更多或更少的部件,这里不作限制。
上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。

Claims (14)

1.一种设备升级方法,其特征在于,包括:
电子设备接收到云服务器发送的第一系统升级文件;其中,所述第一系统升级文件用于将电子设备的系统从第一版本升级为第二版本,所述电子设备上的系统包括Super分区中的系统程序,所述Super分区包括一个或多个子分区,所述一个或多个子分区包括第一子分区;
所述电子设备基于所述第一系统升级文件,创建一个或多个差分镜像文件,所述一个或多个差分镜像文件中包括第一镜像文件;其中,所述第一镜像文件用于将所述第一子分区中的系统程序从所述第一版本升级为所述第二版本,所述第一镜像文件包括所述第一子分区对应的第一版本的系统程序,与,所述第一子分区对应的第二版本的系统程序之间的差异数据信息;
所述电子设备基于所述第一镜像文件,运行第二版本的系统;
当所述电子设备通过所述第一镜像文件更新所述第一子分区至第二版本失败后,所述电子设备接收到所述云服务器发送的第二系统升级文件;其中,所述第二系统升级文件用于将电子设备上的系统从第一版本升级为第二版本;
所述电子设备基于所述第二系统升级文件,创建一个或多个全量镜像文件,所述一个或多个全量镜像文件中包括第二镜像文件;其中,所述第二镜像文件用于将所述第一子分区中的系统程序从所述第一版本升级为所述第二版本,所述第二镜像文件包括所述第一子分区对应的第二版本的系统程序;
所述电子设备通过所述第二镜像文件更新所述第一子分区至所述第二版本;
所述电子设备清除所述第一镜像文件和所述第二镜像文件;
所述电子设备基于所述第一子分区的系统程序,运行所述第二版本的系统。
2.根据权利要求1所述的方法,其特征在于,在所述电子设备接收到所述云服务器发送的第二系统升级文件之前,所述方法还包括:
所述电子设备向所述云服务器发送merge失败信息。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述电子设备上的系统还包括第一静态分区的引导程序和第二静态分区的引导程序;其中,所述第一静态分区的引导程序和所述第二静态分区的引导程序相同,都为第一版本;
所述电子设备基于所述第一静态分区中的引导程序,运行所述第一版本的系统;
所述电子设备从所述第一系统升级文件中,获取到静态分区第一升级数据;
所述电子设备将所述静态分区第一升级数据,覆盖写入至所述第二静态分区中,使得所述第二静态分区中的引导程序从所述第一版本升级为所述第二版本。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述电子设备基于所述第二静态分区,运行所述第二版本的系统;
所述电子设备从所述第二系统升级文件中,获取到静态分区第二升级数据;
所述电子设备将所述静态分区第二升级数据,覆写至所述第一静态分区中,使得所述第一静态分区中的引导程序从所述第一版本升级为所述第二版本。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述电子设备对所述第二静态分区进行校验。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述电子设备对所述第一静态分区进行校验。
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述电子设备接收到所述云服务器发送的系统升级文件查询时间;
所述电子设备向所述云服务器发送merge失败信息,具体包括:
所述电子设备基于所述系统升级文件查询时间,所述电子设备向云服务器发送系统升级文件查询请求和merge失败信息;其中,所述系统升级文件查询请求包括所述电子设备的标识,和/或,所述电子设备的系统版本号。
8.根据权利要求1所述的方法,其特征在于,所述第一子分区为:
system子分区、vendor子分区、product子分区或ODM子分区。
9.根据权利要求1所述的方法,其特征在于,所述第二镜像文件的类型为:
cow类型、qcow类型、qcow2类型或raw类型。
10.一种通信系统,其特征在于,包括:电子设备和云服务器,所述电子设备和所述云服务器建立通信连接,其中:
所述云服务器用于,生成第一系统升级文件和第二系统升级文件;
所述云服务器还用于,发送所述第一系统升级文件;
所述电子设备用于,接收到所述第一系统升级文件;其中,所述第一系统升级文件用于将电子设备的系统从第一版本升级为第二版本,所述电子设备上的系统包括Super分区中的系统程序,所述Super分区包括一个或多个子分区,所述一个或多个子分区包括第一子分区;
所述电子设备还用于,基于所述第一系统升级文件,创建一个或多个差分镜像文件,所述一个或多个差分镜像文件中包括第一镜像文件;其中,所述第一镜像文件用于将所述第一子分区中的系统程序从所述第一版本升级为所述第二版本,所述第一镜像文件包括所述第一子分区对应的第一版本的系统程序,与,所述第一子分区对应的第二版本的系统程序之间的差异数据信息;
所述电子设备还用于,基于所述第一镜像文件运行第二版本的系统;
所述云服务器还用于,当所述电子设备通过所述第一镜像文件更新所述第一子分区至第二版本失败后,发送所述第二系统升级文件;
所述电子设备还用于,接收到所述云服务器发送的第二系统升级文件;其中,所述第二系统升级文件用于将电子设备上的系统从第一版本升级为第二版本;
所述电子设备还用于,基于所述第二系统升级文件,创建一个或多个全量镜像文件,所述一个或多个全量镜像文件中包括第二镜像文件;其中,所述第二镜像文件用于将所述第一子分区中的系统程序从所述第一版本升级为所述第二版本,所述第二镜像文件包括所述第一子分区对应的第二版本的系统程序;
所述电子设备还用于,通过所述第二镜像文件更新所述第一子分区至所述第二版本;
所述电子设备还用于,清除所述第一镜像文件和所述第二镜像文件;
所述电子设备还用于,基于所述第一子分区的系统程序,运行所述第二版本的系统。
11.一种电子设备,其特征在于,包括:一个或多个处理器、一个或多个存储器和显示屏;所述一个或多个存储器与一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,使得所述电子设备执行如权利要求1-9中的任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-9中的任一项所述的方法。
13.一种芯片或芯片系统,其特征在于,包括处理电路和接口电路,所述接口电路用于接收代码指令并传输至所述处理电路,所述处理电路用于运行所述代码指令以执行如权利要求1-9中任一项所述的方法。
14.一种计算机程序产品,其特征在于,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行如权利要求1-9中的任一项所述的方法。
CN202211488298.6A 2022-11-25 2022-11-25 设备升级方法、电子设备及系统 Active CN116661812B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211488298.6A CN116661812B (zh) 2022-11-25 2022-11-25 设备升级方法、电子设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211488298.6A CN116661812B (zh) 2022-11-25 2022-11-25 设备升级方法、电子设备及系统

Publications (2)

Publication Number Publication Date
CN116661812A true CN116661812A (zh) 2023-08-29
CN116661812B CN116661812B (zh) 2024-04-02

Family

ID=87717701

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211488298.6A Active CN116661812B (zh) 2022-11-25 2022-11-25 设备升级方法、电子设备及系统

Country Status (1)

Country Link
CN (1) CN116661812B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105262627A (zh) * 2015-10-30 2016-01-20 Tcl集团股份有限公司 一种固件升级方法、装置及系统
WO2016033955A1 (zh) * 2014-09-05 2016-03-10 小米科技有限责任公司 一种升级方法、装置及设备
US20160321063A1 (en) * 2013-12-13 2016-11-03 Zte Corporation Method and Device for Making Differential Upgrade Package, and Method and Device for System Differential Upgrading
US20170206079A1 (en) * 2014-05-19 2017-07-20 Zte Corporation Method and Device for Upgrading Software
CA2999663A1 (en) * 2017-04-19 2018-10-19 Servicenow, Inc. Distributed incremental updating of trays using a source control system
CN110580167A (zh) * 2018-06-11 2019-12-17 海能达通信股份有限公司 一种系统升级方法、智能设备及服务器
CN110716735A (zh) * 2019-10-11 2020-01-21 东莞市小精灵教育软件有限公司 系统升级方法及装置、智能终端、计算机可读存储介质
CN113805914A (zh) * 2021-06-15 2021-12-17 荣耀终端有限公司 操作系统升级方法、设备、存储介质及计算机程序产品
CN114265616A (zh) * 2022-03-02 2022-04-01 荣耀终端有限公司 操作系统的升级方法、电子设备及存储介质
CN114461257A (zh) * 2021-07-29 2022-05-10 荣耀终端有限公司 操作系统数据配置方法、设备、存储介质及程序产品
CN114489813A (zh) * 2021-07-30 2022-05-13 荣耀终端有限公司 配置操作系统制式的方法、设备及存储介质
US20220179642A1 (en) * 2019-08-26 2022-06-09 Huawei Cloud Computing Technologies Co., Ltd. Software code change method and apparatus

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160321063A1 (en) * 2013-12-13 2016-11-03 Zte Corporation Method and Device for Making Differential Upgrade Package, and Method and Device for System Differential Upgrading
US20170206079A1 (en) * 2014-05-19 2017-07-20 Zte Corporation Method and Device for Upgrading Software
WO2016033955A1 (zh) * 2014-09-05 2016-03-10 小米科技有限责任公司 一种升级方法、装置及设备
CN105262627A (zh) * 2015-10-30 2016-01-20 Tcl集团股份有限公司 一种固件升级方法、装置及系统
CA2999663A1 (en) * 2017-04-19 2018-10-19 Servicenow, Inc. Distributed incremental updating of trays using a source control system
CN110580167A (zh) * 2018-06-11 2019-12-17 海能达通信股份有限公司 一种系统升级方法、智能设备及服务器
US20220179642A1 (en) * 2019-08-26 2022-06-09 Huawei Cloud Computing Technologies Co., Ltd. Software code change method and apparatus
CN110716735A (zh) * 2019-10-11 2020-01-21 东莞市小精灵教育软件有限公司 系统升级方法及装置、智能终端、计算机可读存储介质
CN113805914A (zh) * 2021-06-15 2021-12-17 荣耀终端有限公司 操作系统升级方法、设备、存储介质及计算机程序产品
CN114461257A (zh) * 2021-07-29 2022-05-10 荣耀终端有限公司 操作系统数据配置方法、设备、存储介质及程序产品
CN114489813A (zh) * 2021-07-30 2022-05-13 荣耀终端有限公司 配置操作系统制式的方法、设备及存储介质
CN114265616A (zh) * 2022-03-02 2022-04-01 荣耀终端有限公司 操作系统的升级方法、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SICKEYLEE: "Android之增量更新详解", Retrieved from the Internet <URL:https://blog.csdn.net/qq_27248989/article/details/110817593> *

Also Published As

Publication number Publication date
CN116661812B (zh) 2024-04-02

Similar Documents

Publication Publication Date Title
US8719810B2 (en) Program upgrade system and method for over the air-capable mobile terminal
US8539471B2 (en) Updating firmware of an electronic device
EP2017726A2 (en) Software updating method and portable terminal device
CN111538521B (zh) 智能合约部署、交易方法及装置
CN110825563A (zh) 系统恢复方法、装置以及电子设备
KR20090090801A (ko) 휴대 단말기의 펌웨어 업데이트 방법 및 장치
US20220100490A1 (en) Firmware updating method, and electronic apparatus and storage media for same
CN115543368B (zh) 一种操作系统升级方法及电子设备
CN113900699B (zh) 一种系统升级方法和电子设备
CN116048628B (zh) 设备启动方法及电子设备
CN114661322B (zh) 操作系统的升级方法、电子设备及存储介质
CN112527322A (zh) 物联网设备中的系统升级方法、装置、设备及存储介质
CN116661812B (zh) 设备升级方法、电子设备及系统
CN116382791B (zh) 一种配置文件的保护方法及电子设备
CN116737243B (zh) 屏幕参数补丁升级方法及终端设备
CN113452776B (zh) PaaS平台服务调度方法、装置及PaaS平台
CN116700768A (zh) 一种应用的处理方法及相关装置
JP2007122555A (ja) 情報処理装置
CN114116072A (zh) 一种共享库的复用方法及电子设备
CN116668285B (zh) 配置制式的方法、设备和存储介质
WO2024119895A1 (zh) 操作系统升级方法、设备和存储介质
CN116701318B (zh) 系统升级信息获取方法、电子设备及存储介质
CN117331591B (zh) 一种系统升级方法、电子设备和可读存储介质
CN116048563B (zh) 一种系统升级方法、电子设备以及存储介质
CN116069370A (zh) 冷补丁的升级方法、设备、存储介质及计算机程序产品

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