CN116719556B - 系统升级的方法和电子设备 - Google Patents
系统升级的方法和电子设备 Download PDFInfo
- Publication number
- CN116719556B CN116719556B CN202211175572.4A CN202211175572A CN116719556B CN 116719556 B CN116719556 B CN 116719556B CN 202211175572 A CN202211175572 A CN 202211175572A CN 116719556 B CN116719556 B CN 116719556B
- Authority
- CN
- China
- Prior art keywords
- electronic device
- packet
- system ota
- time required
- package
- 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
- 238000000034 method Methods 0.000 title claims abstract description 127
- 238000009434 installation Methods 0.000 claims abstract description 76
- 238000004891 communication Methods 0.000 claims description 37
- 230000015654 memory Effects 0.000 claims description 35
- 230000006835 compression Effects 0.000 claims description 24
- 238000007906 compression Methods 0.000 claims description 24
- 230000006837 decompression Effects 0.000 claims description 23
- 238000005192 partition Methods 0.000 claims description 23
- 238000012795 verification Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 56
- 230000006870 function Effects 0.000 description 30
- 238000007726 management method Methods 0.000 description 21
- 239000010410 layer Substances 0.000 description 19
- 238000012545 processing Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 13
- 238000013507 mapping Methods 0.000 description 7
- 238000010295 mobile communication Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种系统升级的方法和电子设备,该方法由电子设备执行,包括:在待安装的系统OTA包已下载完成的情况下,确定安装待安装的系统OTA包所需的时间,待安装的系统OTA包所对应的版本高于电子设备当前安装的系统OTA包所对应的版本;显示第一界面,第一界面提示用户升级电子设备当前安装的系统OTA包,第一界面包括安装待安装的系统OTA包所需的时间。该方法中,用户可以通过所显示的系统升级信息得知预计的安装时间,以供参考决定是否当前进行安装新版本的系统OTA包,由此可以提高用户的使用体验度。
Description
技术领域
本申请涉及电子技术领域,具体涉及一种系统升级的方法和电子设备。
背景技术
随着电子技术的不断发展,电子设备会定期的进行系统升级。例如,电子设备可以在无线保真(wireless fidelity,Wi-Fi)网络环境自动下载新版本的系统空间下载技术(over-the-air technology,OTA)包(也可称为系统软件更新包),然后,电子设备会在系统桌面、通知栏或OTA包详情页显示系统升级信息,以提醒用户进行安装或升级。
然而,当前电子设备在显示系统升级信息时,所显示的信息比较有限,如果用户选择立即安装或升级可能会担心安装时间较长影响正常使用,如果用户选择稍后安装或升级可能会遗忘后续操作,无法体验新版本。因此,这导致用户的使用体验度较差。
发明内容
本申请提供了一种系统升级的方法和电子设备,可以使电子设备在显示系统升级信息时显示出预计的安装时间,以供用户参考决定是否当前进行安装,由此可以提高用户的使用体验度。
第一方面,本申请提供一种系统升级的方法,该方法由电子设备执行,包括:在待安装的系统OTA包已下载完成的情况下,确定安装待安装的系统OTA包所需的时间,待安装的系统OTA包所对应的版本高于电子设备当前安装的系统OTA包所对应的版本;显示第一界面,第一界面提示用户升级电子设备当前安装的系统OTA包,第一界面包括安装待安装的系统OTA包所需的时间。
其中,待安装的系统OTA包可以理解为新版本的系统OTA包。电子设备已下载了待安装的系统OTA包后,可以确定预计的安装时间,然后在提示用户升级电子设备的系统的界面上显示该安装时间。由此,用户便可以通过所显示的系统升级信息得知预计的安装时间,以供参考决定是否当前进行安装新版本的系统OTA包,由此可以提高用户的使用体验度;另外,在用户得知预计的安装时间后也可做好相关准备执行安装操作,进而提高了系统升级率。
在一个实现方式中,电子设备可以根据系统OTA包的大小和类型,确定安装该系统OTA包所需的时间。电子设备可以事先对不同大小、不同类型的OTA包进行大量的安装实验,并记录每次实验对应的安装时间;则电子设备可以根据得到的实验数据确定一个映射关系,该映射关系包括不同大小、不同类型的OTA包与安装时间的对应关系。然后,电子设备可以根据当前所下载的系统OTA包的大小和类型,从上述映射关系中查找到其对应的预计安装时间,即安装该新版本的系统OTA包所需的时间。
可选地,上述待安装的系统OTA包可以为电子设备在Wi-Fi网络环境自动下载的数据包,也即是电子设备处于Wi-Fi网络环境且已开启自动下载功能,则电子设备可以自动下载该系统OTA包。
结合第一方面,在第一方面的有些实现方式中,上述确定安装待安装的系统OTA包所需的时间,包括:根据待安装的系统OTA包的安装步骤,确定每个安装步骤所需的时间;根据每个安装步骤所需的时间,确定安装待安装的系统OTA包所需的时间。
通常情况下,电子设备安装系统OTA包时需要经过多个安装步骤(也即执行过程)。例如,在一个实现方式中,该多个安装步骤可以包括鉴权步骤、解压步骤、校验步骤、合并Merge步骤、分区拷贝步骤以及设备重启步骤中的至少一个步骤。那么,电子设备可以先确定每个安装步骤所需的时间,再根据每个安装步骤所需的时间,确定安装系统OTA包所需的时间。
在一个实现方式中,因每个安装步骤所执行的内容不同,则影响所需时间的因素也不同,电子设备可以为每个安装步骤设置一个时间估算算法,该时间估算算法与影响所需时间的因素相关。那么,电子设备可以根据上述待安装的系统OTA包的安装步骤、以及每个安装步骤对应的时间估算算法,确定每个安装步骤所需的时间。
例如,对于安装步骤中的鉴权步骤,该鉴权步骤主要是通过服务器鉴定该系统OTA包是否可用于当前安装,如果该系统OTA包正常则可以安装,也即鉴权通过。因此,影响鉴权步骤时间的因素主要为电子设备与服务器之间的通信质量(如通信时的网络速度),则电子设备可以根据电子设备从服务器下载待安装的系统OTA包时,与服务器之间的通信质量,确定鉴权步骤所需的时间。
对于安装步骤中的解压步骤、校验步骤和Merge步骤中的任一步骤,这三个过程是完全由电子设备执行的,无需与服务器之间进行通信。因此,影响这三个步骤时间的因素主要是系统OTA包的因素以及电子设备的自身能力因素,则电子设备可以根据待安装的系统OTA包的大小、电子设备的计算能力(例如芯片计算能力)、待安装的系统OTA包的类型、以及电子设备支持的压缩方式(例如是否支持cow压缩),确定解压步骤、校验步骤和Merge步骤中的任一步骤所需的时间。
对于安装步骤中的分区拷贝步骤,该步骤也是完全由电子设备执行的,无需与服务器之间进行通信。因此影响这一步骤时间的因素也主要是系统OTA包的因素以及电子设备的自身能力因素,则电子设备可以根据待安装的系统OTA包的大小、电子设备的计算能力、以及待安装的系统OTA包的类型,确定分区拷贝步骤所需的时间。
对于安装步骤中的设备重启步骤,因电子设备的重启过程一般时间较为固定,因此可以确定预设时长(例如60秒)为设备重启步骤所需的时间。
综上所述,电子设备即可以确定每个安装步骤所需的时间,然后可以对每个安装步骤所需的时间进行求和计算,便确定了安装待安装的系统OTA包所需的时间。
上述实现方式,电子设备通过估算安装系统OTA包时各执行过程所需的时间,进而得到安装系统OTA包所需的总时间,以提高所估算的安装时间的准确性,进一步提高用户感知。
结合第一方面,在第一方面的有些实现方式中,上述第一界面包括系统桌面上的弹窗界面、消息通知界面、以及待安装的系统OTA包的详情界面中的至少一个界面。
其中,电子设备在确定了安装待安装的系统OTA包所需的时间后,即可以显示包括系统升级信息(包括上述安装所需的时间)的界面,例如可以是系统桌面的弹窗界面,或者消息通知界面;用户通过该两个界面可以触发电子设备进入系统OTA包的详情界面,在该界面上同样可以显示出上述安装所需的时间。由此,用户便可以通过该系统升级信息得知预计的安装时间,以供参考决定是否当前进行安装,由此可以提高用户的使用体验度。
第二方面,本申请提供一种装置,该装置包含在电子设备中,该装置具有实现上述第一方面及上述第一方面的可能实现方式中电子设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,接收模块或单元、处理模块或单元等。
第三方面,本申请提供一种电子设备,电子设备包括:处理器、存储器和接口;处理器、存储器和接口相互配合,使得电子设备执行第一方面的技术方案中任意一种方法。
第四方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法。
可选地,芯片还包括存储器,存储器与处理器通过电路或电线连接。
进一步可选地,芯片还包括通信接口。
第五方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得该处理器执行第一方面的技术方案中任意一种方法。
第六方面,本申请提供一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码在电子设备上运行时,使得该电子设备执行第一方面的技术方案中任意一种方法。
附图说明
图1是相关技术中的一例系统升级方式的操作示意图;
图2是相关技术中的一例显示系统升级信息的界面示意图;
图3是相关技术中的另一例显示系统升级信息的界面示意图;
图4是本申请实施例提供的一例电子设备的结构示意图;
图5是本申请实施例提供的一例电子设备的软件结构框图;
图6是本申请实施例提供的一例系统升级的方法的流程示意图;
图7是本申请实施例提供的一例显示系统升级信息的界面示意图;
图8是本申请实施例提供的另一例显示系统升级信息的界面示意图;
图9是本申请实施例提供的另一例系统升级的方法的流程示意图;
图10是本申请实施例提供的又一例系统升级的方法的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者更多个该特征。
当前,电子设备在使用一段时间后,为提高电子设备的系统稳定性和服务能力,通常会进行系统升级或系统更新。目前常用的系统升级方式可以包括手动方式和自动方式,下面先对该两种升级方式进行介绍。
第一种手动方式:在用户想要对电子设备进行系统升级时,可以先检查电子设备的系统当前是否具有新版本的系统OTA包(也可称为系统ROM OTA包),如果有则可以触发电子设备进行系统升级。
其中,OTA英文全称是over-the-air technology,即空间下载技术,是通过移动通信(GSM或CDMA)的空中接口对SIM卡数据及应用进行远程管理的技术。OTA技术的应用,使得移动通信不仅可以提供语音和数据服务,而且还能提供新业务下载。简而言之,OTA就是推送更新数据包,当电子设备在联网时会收到更新提示;OTA升级是目前电子设备操作系统(IOS或Android等)提供的标准软件升级方式,可以无损失升级系统,主要通过网络(例如Wi-Fi、3G、4G、5G)下载OTA升级包,也可以支持通过下载OTA升级包到SD卡升级。
示例性地,以电子设备是手机为例,如图1所示,手机的设置界面具有“系统和更新”选项,用户点击该选项后,手机可以跳转至“系统和更新”界面。该界面具有“软件更新”选项,用户再点击该选项后,手机可以跳转至“软件更新”界面。可以理解,这里的“软件更新”是指系统软件更新,也即系统升级;若手机系统当前具有新版本的系统OTA包,即当前可以进行系统升级,则可以在“软件更新”选项上显示一个①图标,以提示用户当前可以进行系统升级。
继续参见图1,在“软件更新”界面下方具有一个“检查更新”控件,手机接收到用户对该控件的点击操作后,可以检查发现系统新版本,并查看新版本的具体内容。在新版本的内容界面具有“下载并安装”控件,若用户已准备好安装新版本,则可以点击该控件以触发系统下载新的系统OTA包并安装升级。
第二种自动方式:电子设备一般会有自动检测功能,即定时检测是否有新的系统OTA包,在检测到有新的系统OTA包的情况下,若电子设备处于Wi-Fi网络环境且已开启自动下载功能,则电子设备可以自动下载该系统OTA包,并在下载完成后显示系统升级信息,以提醒用户进行系统OTA包的安装。通常,电子设备可以在系统桌面、通知栏或者OTA包详情页显示系统升级信息来提醒用户。
示例性地,同样以电子设备是手机为例,手机在系统桌面或通知栏显示系统升级信息的界面可以如图2所示。图2中的(a)图为手机在系统桌面显示系统升级信息的界面,该界面包括新版本的系统OTA包的版本号或序列号,以及供用户操作的控件,包括但不限于“稍后”控件、“详细信息”控件和“现在安装”控件。如果用户当前不想进行安装则可以点击“稍后”控件,如果用户想查看详细的OTA包信息则可以点击“详细信息”控件,如果用户当前准备安装则可以点击“现在安装”控件。图2中的(b)图为手机在通知栏显示系统升级信息的界面,该界面包括新版本的系统OTA包的版本号或序列号,以及供用户操作的控件,包括但不限于“稍后”控件和“立即安装”控件。如果用户当前不想进行安装则可以点击“稍后”控件,如果用户当前准备安装则可以点击“立即安装”控件。
其中,在图2所示的界面上,若用户在图2中的(a)图上点击“详细信息”控件,或者在图2中的(b)图上点击通知栏卡片,可以跳转至图3所示的界面上。图3所示的即是系统OTA包的详细信息界面,包括下载状态(例如100%已下载)、OTA包的版本号或序列号、OTA包大小、更新日志等内容,同时该界面上还包括“夜间安装”控件和“现在安装”控件。如果用户想在夜间手机空闲时安装则可以点击“夜间安装”控件,如果用户当前准备安装则可以点击“现在安装”控件。
对于上述两种系统升级方式,因用户并不方便定时的去查看当前是否具有新版本的系统OTA包,因此较常用的升级方式是第二种自动方式,电子设备自动下载好新版本的系统OTA包后提醒用户去安装。但是,由上述图2和图3所示的界面来看,当前显示的系统升级信息比较有限,用户仅能知道当前有新的系统版本可以升级,但是并不能感知安装新版本的系统OTA包需要花费多长时间,如果用户选择立即安装可能会担心安装时间较长影响正常使用,如果用户选择稍后安装可能会遗忘后续操作,无法体验新版本。因此,这导致用户的使用体验度较差。
有鉴于此,本申请实施例提供一种系统升级的方法,可以使电子设备在显示系统升级信息时显示出新版本的系统OTA包的预计安装时间,以供用户参考决定是否当前进行安装,由此可以提高用户的使用体验度,也提高了系统升级率。需要说明的是,本申请实施例提供的在系统升级的方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personaldigital assistant,PDA)等具有系统升级功能的电子设备上,本申请实施例对电子设备的具体类型不作任何限制。
示例性的,图4是本申请实施例提供的一例电子设备100的结构示意图。电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserial 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)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器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)接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如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转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过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)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
对于上述的电子设备100,其软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图5是本申请实施例的电子设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,系统库,以及内核层。应用程序层可以包括一系列应用程序包。
如图5所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序,还可以包括软件更新应用程序。
软件更新应用程序可以连接服务器,以下载系统OTA包以及对系统OTA包进行鉴权等操作,并且可以估算安装系统OTA包的时间(具体估算过程详见下述实施例的描述)。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图5所示,应用程序框架层可以包括解压接口、校验接口、合并(Merge)接口、分区拷贝接口以及设备重启接口,这些接口可以为电子设备100的系统升级过程提供服务。
除此之外,应用程序框架层还可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等(图中未示出)。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
为了便于理解,本申请以下实施例将以具有图4和图5所示结构的电子设备为例,结合附图和应用场景,对本申请实施例提供的系统升级的方法进行具体阐述。
图6是本申请实施例提供的一例系统升级的方法的流程示意图,该方法可以由电子设备执行,具体可以包括:
S101,在新版本的系统OTA包已下载完成的情况下,电子设备确定安装该新版本的系统OTA包所需的时间。
其中,电子设备对应有服务器,电子设备可以与服务器之间进行通信,当有新版本的系统OTA包时,通常会先发布在服务器上。然后,服务器可以向电子设备发送通知消息,以通知电子设备下载新版本的系统OTA包,或者,服务器可以直接向电子设备推送新版本的系统OTA包,或者,电子设备可以定时在服务器上查找是否有新版本的系统OTA包,本申请实施例对电子设备下载系统OTA包的方式不做限制。在一种实现方式中,电子设备在下载了系统OTA包后,还可以进一步确定该系统OTA包是否为新版本的系统OTA包,例如可以根据版本号来确定;在是新版本的系统OTA包的情况下,再确定安装该新版本的系统OTA包所需的时间,以提高后续显示信息的准确性。
在电子设备已下载完成新版本的系统OTA包之后,便可以确定安装该系统OTA包所需的时间。当前,系统OTA包可以分为全量包和差分包两种,全量包可以理解为是整个系统固件的镜像,其大小与整个系统固件相当,而差分包的大小通常比整个系统固件要小,可以只包括系统固件所升级的部分。
在一个实施例中,电子设备可以根据系统OTA包的大小和类型,确定安装该系统OTA包所需的时间。例如,系统OTA包越大,安装时所需的时间越长;系统OTA包越小,安装时所需的时间越短。再例如,差分包的安装时间大于全量包的安装时间。
在该实施例中,电子设备可以事先对不同大小、不同类型的OTA包进行大量的安装实验,并记录每次实验对应的安装时间。然后,电子设备根据得到的实验数据确定一个映射关系,该映射关系包括不同大小、不同类型的OTA包与安装时间的对应关系。例如,该映射关系可以为:包大小在[a,b]KB区间的全量包,安装时间约为t1分钟(min);包大小在[a,b]KB区间的差分包,安装时间约为t2min;包大小在[c,d]KB区间的全量包,安装时间约为t3min;包大小在[c,d]KB区间的差分包,安装时间约为t4min,等等。
那么,电子设备可以根据当前所下载的系统OTA包的大小和类型,从上述映射关系中查找到其对应的预计安装时间,即安装该新版本的系统OTA包所需的时间。
S102,在显示系统升级信息的界面显示上述所需的时间。
通常情况下,电子设备在下载完成新版本的系统OTA包之后,可以将系统升级信息显示出来提醒用户安装,显示界面可以参见上述的图2。然而,本申请实施例在图2的基础上,还会显示出上述S101步骤中所确定的安装新版本的系统OTA包所需的时间。
示例性地,以电子设备是手机为例,如图7所示,图7中的(a)图为本申请实施例的手机在系统桌面显示系统升级信息的界面,该界面除了包括新版本的系统OTA包的版本号或序列号,以及供用户操作的控件之外,还显示有安装新版本的系统OTA包所需的时间,例如可以以“本次安装大约需要X分钟”的提示信息形式进行展示。图7中的(b)图为本申请实施例的手机在通知栏显示系统升级信息的界面,该界面除了包括新版本的系统OTA包的版本号或序列号,以及供用户操作的控件之外,也显示有安装新版本的系统OTA包所需的时间,例如可以以“本次安装大约需要X分钟”的提示信息形式进行展示。
其中,在图7所示的界面上,若用户在图7中的(a)图上点击“详细信息”控件,或者在图7中的(b)图上点击通知栏卡片,可以跳转至图8所示的界面上。图8所示的即是本申请实施例的系统OTA包的详细信息界面,该界面除了包括下载状态(例如100%已下载)、OTA包的版本号或序列号、OTA包大小、更新日志、操作控件之外,也显示有安装新版本的系统OTA包所需的时间,例如可以以“本次安装大约需要X分钟”的提示信息形式进行展示。需要说明的是,本申请实施例中展示上述安装所需的时间的方式不限于图7和图8的形式,也可以以其他文字形式或语音形式进行展示。
上述系统升级的方法,电子设备在下载完成新版本的系统OTA包后,可以确定安装该新版本的系统OTA包所需的时间,并在显示系统升级信息的界面上显示该所需的时间。那么,用户便可以通过该系统升级信息得知预计的安装时间,以供参考决定是否当前进行安装,由此可以提高用户的使用体验度;另外,在用户得知预计的安装时间后也可做好相关准备执行安装操作,进而提高了系统升级率。
在一些实施例中,对于上述S101中“确定安装该新版本的系统OTA包所需的时间”的步骤,如图9所示,电子设备还可以采用以下过程实现:
S201,在新版本的系统OTA包已下载完成的情况下,确定安装系统OTA包所需的执行过程。
其中,电子设备安装系统OTA包需要经过一系列的过程,例如,在一些场景中,电子设备安装系统OTA包需要执行鉴权、解压、校验、Merge、分区拷贝以及设备重启等过程。
在一个实现方式中,如图10所示,电子设备可以根据系统OTA包的类型来确定安装该系统OTA包所需的执行过程,即S201可以包括以下步骤:
S2011,在新版本的系统OTA包已下载完成的情况下,获取系统OTA包的类型。
S2012,根据系统OTA包的类型,确定安装系统OTA包所需的执行过程。
可选地,电子设备可以通过系统OTA包的属性参数确定其类型,例如属性参数中包括一个类型标识,通过该类型标识可以确定系统OTA包是全量包还是差分包。示例性地,当类型标识为1表示是全量包,当类型标识为0表示是差分包,等等。
在确定了系统OTA包的类型后,可以确定该类型的系统OTA包对应的安装过程,例如全量包需要执行上述鉴权、解压、校验、Merge、分区拷贝以及设备重启过程中的全部过程,差分包需要执行部分过程,等等。
但需要说明的是,本申请实施例对所需的执行过程不做限制,实际场景中可以包括比其更多或者更少的步骤,本申请实施例以上述六个执行过程为例进行说明。
S202,估算每个执行过程所需的时间。
电子设备在确定了安装系统OTA包所需的执行过程之后,可以分别估算每个执行过程所需的时间。在一个实施例中,具体估算方式可以如下:
1、鉴权
这里的鉴权是指电子设备通过服务器鉴定上述系统OTA包是否可用于当前安装。由上述描述可知,系统OTA包通常会先发布在服务器上,电子设备从服务器上下载系统OTA包;如果在电子设备下载之后,研发者发现该系统OTA包有bug,则可以在服务器上禁用该系统OTA包,这样其他电子设备将不可以再下载该系统OTA包,而已下载该系统OTA包的电子设备也不建议进行安装。因此,电子设备在安装系统OTA包之前,可以通过服务器鉴定该系统OTA包是否可用于当前安装,如果该系统OTA包正常则可以安装,也即鉴权通过。
那么,这一鉴权过程主要是电子设备与服务器之间的通信过程,影响该通信过程时间的因素主要为通信质量,例如电子设备与服务器之间通信时的网络速度,则电子设备可以根据电子设备与服务器之间通信时的网络速度来估算鉴权过程的时间。例如,通信时网络速度越快,则鉴权过程的时间就越短;通信时网络速度越慢,则鉴权过程的时间就越长。因此,电子设备需要确定与服务器之间进行通信时的网络速度。
在一个实现方式中,上述电子设备在从服务器上下载系统OTA包时,可以定时记录下载网速,例如可以间隔n秒记录一次下载网速,最后根据记录的下载网络计算平均网速(单位为KB/秒),该平均网速可以作为估算鉴权过程的时间的参考网速。示例性地,当平均网速≥第一阈值时,估算鉴权过程的时间T_AUTH=T1;当第二阈值≤平均网速<第一阈值时,估算鉴权过程的时间T_AUTH=T2;当平均网速<第二阈值时,估算鉴权过程的时间T_AUTH=T3。
例如,第一阈值可以为100KB/秒,第二阈值可以为1KB/秒,当平均网速≥100KB/秒时,估算鉴权过程的时间T_AUTH=1秒;当1KB/秒≤平均网速<100KB/秒时,估算鉴权过程的时间T_AUTH=5秒;当平均网速<1KB/秒时,估算鉴权过程的时间T_AUTH=60秒。
需要说明的是,本申请实施例对网速阈值的设置数量不做限制,可以包括比第一阈值和第二阈值更多或更少的数量,且所设置的取值也不限于100KB/秒和1KB/秒。该网速阈值的取值以及所估算的鉴权过程的时间可以是通过大量实验测试后所得到的,但并不限于此数值。
2、解压
其中,电子设备从服务器下载的系统OTA包一般是压缩包形式,因此电子设备在鉴权之后需要对其进行解压。因解压过程是完全由电子设备执行的,无需与服务器之间进行通信,那么影响解压过程的因素主要是系统OTA包的大小、类型以及电子设备的芯片计算能力等,则电子设备可以根据这些因素类估算解压过程的时间。例如,系统OTA包越小,解压时间就越短;电子设备的芯片计算能力越强,解压时间也越短。
在一个实施例中,电子设备可以根据系统OTA包的大小、电子设备的芯片计算能力、系统OTA包的类型、以及是否使用cow压缩这四个因素,估算解压过程的时间。
示例性地,电子设备可以根据T_UNZIP=APL÷10240×UT1×CPL的关系式,估算解压过程的时间T_UNZIP。其中,APL为系统OTA包的大小(单位为KB);CPL为电子设备的芯片计算能力,本申请实施例可以设置一种型号芯片的计算能力为基准计算能力(即CPL=1),其他型号芯片的计算能力随之浮动(示例性地,可以设置Q8450的CPL=1);UT1为解压过程每单位(10240KB)的数据耗时(单位为秒)。
上述关系式中,UT1可以与系统OTA包的类型、以及是否使用cow压缩相关,由上述描述可知,系统OTA包可以包括全量包和差分包,那么此处可以存在多种场景:系统OTA包为差分包且使用cow压缩(简称为HD+OC)、系统OTA包为全量包且使用cow压缩(简称为!HD+OC)、系统OTA包为差分包且未使用cow压缩(简称为HD+!OC)、以及系统OTA包为全量包且未使用cow压缩(简称为!HD+!OC)。因此,在不同场景下,UT1可以不同取值。
例如,在HD+OC场景时,UT1=2.8;在!HD+OC场景时,UT1=1.5;在HD+!OC场景时,UT1=2.85;在!HD+!OC场景时,UT1=0.75。
需要说明的是,本申请实施例中芯片计算能力相对于基准计算能力的浮动比例可以预先设置,且对浮动比例不做限制。UT1的取值可以是通过大量实验测试后所得到的,但并不限于此数值。系统OTA包的类型可以通过系统OTA包所携带的属性参数获得,是否使用cow压缩可以通过电子设备中内置的参数获得。系统OTA包的类型也可以在电子设备下载了系统OTA包后即获取。
3、校验
其中,电子设备对系统OTA包进行解压之后,为保证包数据的完整性和准确性,可以对系统OTA包进行校验,以确定有没有被篡改或数据丢失的情况,这一过程也是完全由电子设备执行的,那么影响校验过程的因素也主要是系统OTA包的大小、类型以及电子设备的芯片计算能力等。
在一个实施例中,电子设备可以根据系统OTA包的大小、电子设备的芯片计算能力、系统OTA包的类型、以及是否使用cow压缩这四个因素,估算校验过程的时间。
示例性地,电子设备可以根据T_CHECK=APL÷10240×UT2×CPL的关系式,估算校验过程的时间T_CHECK。其中,APL为系统OTA包的大小(单位为KB);CPL为电子设备的芯片计算能力;UT2为校验过程每单位(10240KB)的数据耗时(单位为秒)。
上述关系式中,UT2可以与系统OTA包的类型、以及是否使用cow压缩相关,此处也可以存在多种场景:系统OTA包为差分包且使用cow压缩(简称为HD+OC)、系统OTA包为全量包且使用cow压缩(简称为!HD+OC)、系统OTA包为差分包且未使用cow压缩(简称为HD+!OC)、以及系统OTA包为全量包且未使用cow压缩(简称为!HD+!OC)。因此,在不同场景下,UT2可以不同取值。
例如,在HD+OC场景时,UT2=2.13;在!HD+OC场景时,UT2=0.25;在HD+!OC场景时,UT2=0.51;在!HD+!OC场景时,UT2=0.05。需要说明的是,UT2的取值可以是通过大量实验测试后所得到的,但并不限于此数值。
4、Merge
其中,电子设备对系统OTA包进行校验之后,因有些文件是需要和电子设备中现有的文件进行合成后才可以正常使用,因此电子设备需要进行Merge过程,这一过程也是完全由电子设备执行的,那么影响Merge过程的因素也主要是系统OTA包的大小、类型以及电子设备的芯片计算能力等。
在一个实施例中,电子设备可以根据系统OTA包的大小、电子设备的芯片计算能力、系统OTA包的类型、以及是否使用cow压缩这四个因素,估算Merge过程的时间。
示例性地,电子设备可以根据T_Merge=APL÷10240×UT3×CPL的关系式,估算Merge过程的时间T_Merge。其中,APL为系统OTA包的大小(单位为KB);CPL为电子设备的芯片计算能力;UT3为Merge过程每单位(10240KB)的数据耗时(单位为秒)。
上述关系式中,UT3可以与系统OTA包的类型、以及是否使用cow压缩相关,此处也可以存在多种场景:HD+OC场景、!HD+OC场景、HD+!OC场景、以及!HD+!OC场景。因此,在不同场景下,UT3可以不同取值。
例如,在HD+OC场景时,UT3=4.31;在!HD+OC场景时,UT3=0.12;在HD+!OC场景时,UT3=0.77;在!HD+!OC场景时,UT3=0.08。需要说明的是,UT3的取值可以是通过大量实验测试后所得到的,但并不限于此数值。
5、分区拷贝
其中,因当前的电子设备多数使用的是A/B分区系统,即有两套系统,一套系统分区,另一套备份分区,上述系统OTA包通常是先下载至A区,再从A区拷贝至B区,即分区拷贝过程。这一过程也是完全由电子设备执行的,那么影响分区拷贝过程的因素也主要是系统OTA包的大小、类型以及电子设备的芯片计算能力等。
在一个实施例中,电子设备可以根据系统OTA包的大小、电子设备的芯片计算能力、以及系统OTA包的类型这三个因素,估算分区拷贝过程的时间。
示例性地,电子设备可以根据T_COPY=APL÷10240×UT4×CPL的关系式,估算分区拷贝过程的时间T_COPY。其中,APL为系统OTA包的大小(单位为KB);CPL为电子设备的芯片计算能力;UT4为分区拷贝过程每单位(10240KB)的数据耗时(单位为秒)。
上述关系式中,UT4可以与系统OTA包的类型相关,此处可以存在两种场景:系统OTA包为差分包(简称为HD)、系统OTA包为全量包(简称为!HD)。因此,在不同场景下,UT4可以不同取值。
例如,在HD场景时,UT4=0.3;在!HD场景时,UT4=0.02。需要说明的是,UT4的取值可以是通过大量实验测试后所得到的,但并不限于此数值。
6、设备重启
通常情况下,电子设备经过上述过程之后,需要进行设备重启以生效新版本的系统OTA包,电子设备的重启过程一般时间较为固定,这里可以取固定值T_REBOOT。例如T_REBOOT=60(秒)。
S203,根据每个执行过程所需的时间,确定安装整个系统OTA包所需的时间。
经过上述电子设备对鉴权、解压、校验、Merge、分区拷贝以及设备重启过程的估算,可以分别得到各个过程的估算时间,即T_AUTH、T_UNZIP、T_CHECK、T_Merge、T_COPY、T_REBOOT,那么电子设备安装整个系统OTA包所需的时间即为ST=T_AUTH+T_UNZIP+T_CHECK+T_Merge+T_COPY+T_REBOOT,单位为秒。
在一个实施例中,为方便用户查看,本申请实施例可以将ST转换为以分钟为单位,即ST/60为安装整个系统OTA包所需的时间。需要说明的是,在ST/60转换时,采取进一法,即不足一分钟的按一分钟计算,最终得到整数的时间。然后,电子设备可以将所估算得到的安装系统OTA包所需的时间显示在上述图7或图8所示的界面上。
可以理解,上述S201至S203的过程可以由上述图5所示的软件架构中的软件更新应用程序所执行。
在一个实施例中,若用户在上述图7或图8所示的界面上选择了“现在安装”或“立即安装”,则电子设备可以依次执行上述鉴权、解压、校验、Merge、分区拷贝以及设备重启过程。在执行这些过程期间,电子设备还可以在当前安装界面显示出“剩余安装时间”,此剩余安装时间可以由剩余未执行的过程所需的时间来确定。示例性地,假设电子设备已执行了鉴权和解压过程,剩余有校验、Merge、分区拷贝以及设备重启过程未执行,那么剩余安装时间即为T_CHECK+T_Merge+T_COPY+T_REBOOT。
上述实施例中,电子设备通过估算安装系统OTA包时各执行过程所需的时间,进而得到安装系统OTA包所需的总时间,以提高所估算的安装时间的准确性,进一步提高用户感知。
对于上述估算过程,为方便理解,下面对其进行总结,参见表1,表1包括了上述鉴权、解压、校验、Merge、分区拷贝以及设备重启过程的影响时间因素、设置参数以及估算算法的对应关系。
表1-1
表1-2
在表1的基础上,针对系统OTA包为差分包且使用cow压缩(简称为HD+OC)、系统OTA包为全量包且使用cow压缩(简称为!HD+OC)、系统OTA包为差分包且未使用cow压缩(简称为HD+!OC)、以及系统OTA包为全量包且未使用cow压缩(简称为!HD+!OC)等应用场景,下面给出各场景对应的安装系统OTA包所需的时间的示例。参见表2至表5,表2为!HD+!OC场景对应的安装系统OTA包所需的时间的示例,表3为!HD+OC场景对应的安装系统OTA包所需的时间的示例,表4为HD+!OC场景对应的安装系统OTA包所需的时间的示例,表5为HD+OC场景对应的安装系统OTA包所需的时间的示例。
表2
表3
表4
表5
由表2至表5可以看出,在不同场景下电子设备可以估算出安装系统OTA包所需的时间,该所估算得到的安装系统OTA包所需的时间后续可以显示在上述图7或图8所示的界面上。
上述系统升级的方法,电子设备在下载完成新版本的系统OTA包后,可以根据安装系统OTA包的执行过程,确定安装该新版本的系统OTA包所需的时间,并在显示系统升级信息的界面上显示该所需的时间。那么,用户便可以通过该系统升级信息得知预计的安装时间,以供参考决定是否当前进行安装,由此可以提高用户的使用体验度;另外,在用户得知预计的安装时间后也可做好相关准备执行安装操作,进而提高了系统升级率。
上文详细介绍了本申请实施例提供的系统升级的方法的示例。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分为各个功能模块,例如检测单元、处理单元、显示单元等,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例提供的电子设备,用于执行上述系统升级的方法,因此可以达到与上述实现方法相同的效果。
在采用集成的单元的情况下,电子设备还可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对电子设备的动作进行控制管理。存储模块可以用于支持电子设备执行存储程序代码和数据等。通信模块,可以用于支持电子设备与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他电子设备交互的设备。
在一个实施例中,当处理模块为处理器,存储模块为存储器时,本实施例所涉及的电子设备可以为具有图4所示结构的设备。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得处理器执行上述任一实施例的系统升级的方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的系统升级的方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的系统升级的方法。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种系统升级的方法,其特征在于,所述方法由电子设备执行,包括:
在待安装的系统空间下载技术OTA包已下载完成的情况下,根据所述待安装的系统OTA包的安装步骤,确定每个安装步骤所需的时间,所述待安装的系统OTA包所对应的版本高于所述电子设备当前安装的系统OTA包所对应的版本,所述待安装的系统OTA包的安装步骤包括鉴权步骤、解压步骤、校验步骤、合并Merge步骤、分区拷贝步骤以及设备重启步骤中的至少一个步骤;
根据所述每个安装步骤所需的时间,确定安装所述待安装的系统OTA包所需的时间;
显示第一界面,所述第一界面用于提示用户升级所述电子设备当前安装的系统OTA包,所述第一界面包括安装所述待安装的系统OTA包所需的时间;
所述根据所述待安装的系统OTA包的安装步骤,确定每个安装步骤所需的时间,包括:
对于所述鉴权步骤,根据所述电子设备从服务器下载所述待安装的系统OTA包时,与所述服务器之间的通信质量,确定所述鉴权步骤所需的时间;
对于所述解压步骤、所述校验步骤和所述Merge步骤中的任一步骤,根据所述待安装的系统OTA包的大小、所述电子设备的计算能力、所述待安装的系统OTA包的类型、以及所述电子设备支持的压缩方式,确定所述解压步骤、所述校验步骤和所述Merge步骤中的任一步骤所需的时间;
对于所述分区拷贝步骤,根据所述待安装的系统OTA包的大小、所述电子设备的计算能力、以及所述待安装的系统OTA包的类型,确定所述分区拷贝步骤所需的时间;
对于所述设备重启步骤,将预设时长确定为所述设备重启步骤所需的时间。
2.根据权利要求1所述的方法,其特征在于,在所述根据所述待安装的系统OTA包的安装步骤,确定每个安装步骤所需的时间之前,所述方法还包括:
根据所述待安装的系统OTA包的类型,确定所述待安装的系统OTA包的安装步骤。
3.根据权利要求1或2所述的方法,其特征在于,所述电子设备与所述服务器之间的通信质量由所述电子设备与所述服务器进行通信时的网络速度所确定。
4.根据权利要求1或2所述的方法,其特征在于,所述根据所述待安装的系统OTA包的大小、所述电子设备的计算能力、所述待安装的系统OTA包的类型、以及所述电子设备支持的压缩方式,确定所述解压步骤、所述校验步骤和所述Merge步骤中的任一步骤所需的时间,包括:
根据包含APL÷10240×UTa×CPL的关系式,确定所述解压步骤、所述校验步骤和所述Merge步骤中的任一步骤所需的时间,其中,所述APL表示所述待安装的系统OTA包的大小,所述CPL表示所述电子设备的计算能力,所述UTa为基于所述待安装的系统OTA包的类型以及所述电子设备支持的压缩方式而确定的参数值,表示所述解压步骤、所述校验步骤或所述Merge步骤中每单位数据的耗时,所述解压步骤、所述校验步骤和所述Merge步骤分别对应不同的UTa值。
5.根据权利要求1或2所述的方法,其特征在于,所述根据所述待安装的系统OTA包的大小、所述电子设备的计算能力、以及所述待安装的系统OTA包的类型,确定所述分区拷贝步骤所需的时间,包括:
根据包含APL÷10240×UTb×CPL的关系式,确定所述分区拷贝步骤所需的时间,其中,所述APL表示所述待安装的系统OTA包的大小,所述CPL表示所述电子设备的计算能力,所述UTb为基于所述待安装的系统OTA包的类型而确定的参数值,表示所述分区拷贝步骤每单位数据的耗时。
6.根据权利要求1所述的方法,其特征在于,所述根据所述每个安装步骤所需的时间,确定安装所述待安装的系统OTA包所需的时间,包括:
对所述每个安装步骤所需的时间进行求和计算,确定安装所述待安装的系统OTA包所需的时间。
7.根据权利要求1所述的方法,其特征在于,所述待安装的系统OTA包为所述电子设备在无线保真Wi-Fi网络环境自动下载的数据包。
8.根据权利要求1所述的方法,其特征在于,所述第一界面包括系统桌面上的弹窗界面、消息通知界面、以及所述待安装的系统OTA包的详情界面中的至少一个界面。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
一个或多个存储器;
所述存储器存储有一个或多个程序,当所述一个或多个程序被所述处理器执行时,使得所述电子设备执行如权利要求1至8中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211175572.4A CN116719556B (zh) | 2022-09-26 | 2022-09-26 | 系统升级的方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211175572.4A CN116719556B (zh) | 2022-09-26 | 2022-09-26 | 系统升级的方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116719556A CN116719556A (zh) | 2023-09-08 |
CN116719556B true CN116719556B (zh) | 2024-05-24 |
Family
ID=87863722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211175572.4A Active CN116719556B (zh) | 2022-09-26 | 2022-09-26 | 系统升级的方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116719556B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108536456A (zh) * | 2018-03-19 | 2018-09-14 | 深圳市兆驰股份有限公司 | 一种智能设备升级方法及系统 |
CN110597542A (zh) * | 2019-09-17 | 2019-12-20 | Oppo(重庆)智能科技有限公司 | 软件自动ota升级方法及装置、电子设备 |
WO2021052311A1 (zh) * | 2019-09-16 | 2021-03-25 | 华为技术有限公司 | 一种根据后壳颜色显示用户界面的方法和电子设备 |
CN112764627A (zh) * | 2021-01-28 | 2021-05-07 | 青岛海信传媒网络技术有限公司 | 一种升级包安装进度显示方法及显示设备 |
CN112817625A (zh) * | 2021-01-29 | 2021-05-18 | 青岛海信移动通信技术股份有限公司 | 系统升级方法、装置、电子设备及存储介质 |
CN114461239A (zh) * | 2021-06-30 | 2022-05-10 | 荣耀终端有限公司 | 软件升级系统和软件升级方法 |
CN114461240A (zh) * | 2021-06-30 | 2022-05-10 | 荣耀终端有限公司 | 软件升级方法、软件升级系统及电子设备 |
CN114579954A (zh) * | 2021-08-26 | 2022-06-03 | 华为技术有限公司 | 安全启动校验的方法及电子设备 |
CN115016805A (zh) * | 2022-06-13 | 2022-09-06 | 中国第一汽车股份有限公司 | 一种车辆系统升级方法、装置、系统、设备和介质 |
-
2022
- 2022-09-26 CN CN202211175572.4A patent/CN116719556B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108536456A (zh) * | 2018-03-19 | 2018-09-14 | 深圳市兆驰股份有限公司 | 一种智能设备升级方法及系统 |
WO2021052311A1 (zh) * | 2019-09-16 | 2021-03-25 | 华为技术有限公司 | 一种根据后壳颜色显示用户界面的方法和电子设备 |
CN110597542A (zh) * | 2019-09-17 | 2019-12-20 | Oppo(重庆)智能科技有限公司 | 软件自动ota升级方法及装置、电子设备 |
CN112764627A (zh) * | 2021-01-28 | 2021-05-07 | 青岛海信传媒网络技术有限公司 | 一种升级包安装进度显示方法及显示设备 |
CN112817625A (zh) * | 2021-01-29 | 2021-05-18 | 青岛海信移动通信技术股份有限公司 | 系统升级方法、装置、电子设备及存储介质 |
CN114461239A (zh) * | 2021-06-30 | 2022-05-10 | 荣耀终端有限公司 | 软件升级系统和软件升级方法 |
CN114461240A (zh) * | 2021-06-30 | 2022-05-10 | 荣耀终端有限公司 | 软件升级方法、软件升级系统及电子设备 |
CN114579954A (zh) * | 2021-08-26 | 2022-06-03 | 华为技术有限公司 | 安全启动校验的方法及电子设备 |
CN115016805A (zh) * | 2022-06-13 | 2022-09-06 | 中国第一汽车股份有限公司 | 一种车辆系统升级方法、装置、系统、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116719556A (zh) | 2023-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110569130B (zh) | 一种跨进程通信方法、装置及设备 | |
CN110865837B (zh) | 一种进行系统升级的方法和终端 | |
CN112817634B (zh) | Cota包下载方法及装置 | |
CN117130541B (zh) | 存储空间配置方法及相关设备 | |
CN115794361A (zh) | 管理内存的方法和电子设备 | |
CN115328563B (zh) | 系统启动方法及电子设备 | |
WO2022161024A1 (zh) | 升级提示方法、终端设备及计算机可读存储介质 | |
CN114168237A (zh) | 主题包适配方法及装置 | |
CN116048830B (zh) | 提醒软件版本升级的方法、电子设备及可读存储介质 | |
CN116719556B (zh) | 系统升级的方法和电子设备 | |
CN116126744A (zh) | 一种内存回收方法、装置及终端设备 | |
CN116048546A (zh) | 一种系统升级方法、电子设备以及计算机可读存储介质 | |
CN117707563B (zh) | 应用资源处理方法及相关设备 | |
CN117009023B (zh) | 显示通知信息的方法及相关装置 | |
CN114138293A (zh) | 一种终端及外接存储卡便携系统升级方法 | |
CN117729561B (zh) | 系统升级方法、终端及存储介质 | |
CN117130627B (zh) | 配件升级方法及电子设备 | |
CN116541188B (zh) | 通知显示方法、终端设备及存储介质 | |
CN117130767B (zh) | 回收内存的方法、电子设备及存储介质 | |
CN116048544B (zh) | 一种弹窗广告的处理方法、电子设备及可读存储介质 | |
CN116688494B (zh) | 生成游戏预测帧的方法和电子设备 | |
CN113536387A (zh) | 一种检测内核数据完整性的终端和方法 | |
CN116974434A (zh) | 显示方法及电子设备 | |
CN118677771A (zh) | 终端参数配置的升级方法、系统、服务器及存储介质 | |
CN117812534A (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 |