CN112817625A - 系统升级方法、装置、电子设备及存储介质 - Google Patents
系统升级方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112817625A CN112817625A CN202110124455.4A CN202110124455A CN112817625A CN 112817625 A CN112817625 A CN 112817625A CN 202110124455 A CN202110124455 A CN 202110124455A CN 112817625 A CN112817625 A CN 112817625A
- Authority
- CN
- China
- Prior art keywords
- upgrade
- upgrading
- progress
- sub
- operating system
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
- G06F9/441—Multiboot arrangements, i.e. selecting an operating system to be loaded
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供了一种系统升级方法、装置、电子设备及存储介质,通过在电子设备中设置同一操作系统的两套操作系统文件,并在升级时执行如下步骤:向服务器发送包括当前运行的操作系统文件的版本号的检测升级请求;接收到所述服务器发送的更高版本的系统版本号后,从所述服务器下载更高版本的系统升级包;完成所述系统升级包的下载后,且满足预设升级条件时,利用所述系统升级包对当前未运行的另一套操作系统文件进行升级,并显示系统升级总进度;检测到所述电子设备重启时,加载并运行最新升级的操作系统文件。这样不影响当前运行的操作系统文件的使用,可以减少系统升级时无法使用的时间。同时若升级失败,不影响所述电子设备的正常使用。
Description
技术领域
本发明涉及计算机技术领域,尤指一种系统升级方法、装置、电子设备及存储介质。
背景技术
近年来,随着快速迭代理念在计算机领域中推广,计算机设备的操作系统的升级频率也越来越快。操作系统升级可以修复旧系统中的漏洞,提高操作系统的稳定性与安全性;增加新功能,提高计算机设备的使用体验等。
但是,现有技术中对运行的操作系统升级时,计算机设备从服务器下载对应的升级文件,在利用升级文件对操作系统升级时,需暂时中断操作系统的运行,由于操作系统被中断运行,用户无法进行任何操作。若系统升级占用时间较长,用户需要等待系统升级完成后才能使用,用户体验不好。另一方面,由于计算机设备意外断电、网络故障、系统关键文件被破坏等因素影响,可能会导致系统升级失败,造成计算机设备无法正常工作。
发明内容
本发明实施例提供一种系统升级方法、装置、电子设备及存储介质,用以解决现有技术中存在操作系统升级时设备无法使用的时间过长,升级失败后设备无法正常工作的问题。
本发明实施例提供了一种系统升级方法,应用于电子设备,所述电子设备包括同一操作系统的两套操作系统文件,所述方法包括:
向服务器发送包括当前运行的操作系统文件的版本号的检测升级请求;
接收到所述服务器发送的更高版本的系统版本号后,从所述服务器下载更高版本的系统升级包;
完成所述系统升级包的下载后,且满足预设升级条件时,利用所述系统升级包对当前未运行的另一套操作系统文件进行升级,并显示系统升级总进度;
满足预设重启条件时,重启所述电子设备,并在检测到所述电子设备重启时,加载并运行最新升级的操作系统文件。
可选地,所述满足预设升级条件包括:
根据所述服务器的通知或本地设置,确定预设升级时间和/或预设未使用时间阈值;
确定到达所述预设升级时间,和/或所述电子设备未被使用的时间超过所述预设未使用时间阈值时,确定满足预设升级条件。
可选地,利用所述系统升级包对当前未运行的操作系统进行升级,包括:
校验所述系统升级包是否完整;
确定所述系统升级包完整时,向所述服务器再次发送包括当前运行的操作系统文件的版本号的检测升级请求;
接收到所述服务器发送的所述更高版本的系统版本号时,确定所述更高版本的系统版本号有效,利用所述系统升级包对所述当前未运行的另一套操作系统文件进行升级。
可选地,利用所述系统升级包对当前未运行的另一套操作系统文件进行升级,并显示系统升级总进度,包括:
依次执行系统升级子程序,执行系统升级子程序过程,利用与该系统子程序对应的系统升级包更新相应的系统文件,完成所述相应的系统文件更新后执行下一个系统子程序;
根据各系统升级子程序更新对应系统文件的子升级进度,确定所述系统升级总进度并进行显示。
可选地,根据各系统升级子程序更新对应系统文件的子升级进度,确定所述系统升级总进度并进行显示,包括:
根据各系统升级子程序需更新的对应系统文件及总系统文件,确定各系统升级子程序对应的升级进度占比系数;
将各系统升级子程序更新对应系统文件的子升级进度的取值乘以对应的占比系数,并求和得到系统升级总进度。
可选地,所述各系统升级子程序更新对应系统文件的子升级进度,采用如下方式确定:
确定指定的系统升级子程序的子升级进度达到至少一个指定进度时,将当前指定进度,在单位时间内按照设定增幅递增,得到伪装子升级进度;
将所述子升级度的取值更新为所述伪装子升级进度,待当前所述子升级进度递增至与当前所述伪装子升级进度相等时,停止将所述子升级度的取值更新为所述伪装子升级进度。
可选地,所述预设重启条件包括:
确定已完成重启前对当前未运行的另一套操作系统文件进行升级的所有操作,且已与所述所有操作完成时间间隔所述重启时间间隔时,确定满足预设升级条件;其中,所述重启时间间隔根据所述服务器的通知或本地设置;
或者,接收到重启指令时,确定满足预设升级条件。
基于同一发明构思,本发明实施例还提供了一种系统升级装置,应用于电子设备,包括:
检测升级模块,用于向服务器发送包括当前运行的操作系统文件的版本号的检测升级请求;
升级包下载模块,用于接收到所述服务器发送的更高版本的系统版本号后,从所述服务器下载更高版本的系统升级包;
升级模块,用于完成更高版本的系统升级包的下载后,且满足预设升级条件时,利用所述系统升级包对当前未运行的另一套操作系统文件进行升级并显示系统升级总进度;
重启模块,用于检测到所述电子设备重启时,加载并运行最新升级的操作系统文件。
基于同一发明构思,本发明实施例还提供了一种电子设备,包括:处理器和用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现所述的系统升级方法。
基于同一发明构思,本发明实施例还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被用于实现所述的系统升级方法。
本发明有益效果如下:
本发明实施例提供的系统升级方法、装置、电子设备及存储介质,通过对电子设备设置同一操作系统的两套独立的操作系统文件,在当前操作系统文件运行时对当前未运行的操作系统文件进行升级,不影响当前运行的操作系统文件的使用,可以减少系统升级时所述电子设备无法使用的时间,优化使用体验。同时,若所述当前未运行的操作系统文件升级失败,不会影响所述当前运行的操作系统文件,不影响所述电子设备的正常使用。
附图说明
图1为本发明实施例提供的一种应用于电子设备的系统升级方法的流程图;
图2为本发明实施例提供的一种电子设备的存储器中的数据分区结构示意图;
图3为本发明实施例提供的一种应用于服务器的系统升级方法的流程图;
图4为本发明实施例提供的一种电子设备的系统版本升级过程示意图;
图5-1至图5-11为本发明实施例提供的一种电子设备的界面;
图6为本发明实施例提供的一种应用于电子设备的系统升级装置的结构示意图;
图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更为明显易懂,下面将结合附图和实施例对本发明做进一步说明。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本发明更全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。本发明中所描述的表达位置与方向的词,均是以附图为例进行的说明,但根据需要也可以做出改变,所做改变均包含在本发明保护范围内。本发明的附图仅用于示意相对位置关系不代表真实比例。
需要说明的是,在以下描述中阐述了具体细节以便于充分理解本发明。但是本发明能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广。因此本发明不受下面公开的具体实施方式的限制。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
下面结合附图,对本发明实施例提供的系统升级方法、装置、电子设备及存储介质进行具体说明。
本发明实施例提供的系统升级方法、装置、电子设备及存储介质可以应用于包括但不限于Android等操作系统,下文将主要以Android操作系统为例进行说明。
本发明实施例应用于电子设备,所述电子设备包括同一操作系统的两套操作系统文件操作系统。所述两套操作系统文件相互独立,可以独立运行。所述电子设备可以为台式电脑、平板电脑、手机、电视、机顶盒、智能手表等,在此不作限定。
本发明实施例提供了一种系统升级方法,如图1所示,所述方法包括:
S101、向服务器发送包括当前运行的操作系统文件的版本号的检测升级请求。
S102、接收到所述服务器发送的更高版本的系统版本号。
如图5-1所示,所述电子设备接收到所述更高版本的系统版本号,并在对应的页面上显示。
S104、从所述服务器下载更高版本的系统升级包。
如图5-2和图5-3所示,所述电子设备下载所述系统升级包,并在对应的页面上显示下载进度。
S105、完成所述系统升级包的下载后,判断是否满足预设升级条件。
如图5-4所示,所述电子设备完成所述系统升级包的下载后,根据是否接收到使用者的升级指令,判断是否满足升级条件。
满足预设升级条件时,S106、利用所述系统升级包对当前未运行的另一套操作系统文件进行升级,并显示系统升级总进度。
如图5-6、图5-7、图5-8、图5-9所示,所述电子设备进行升级,并在对应的页面上显示系统升级总进度。
否则返回所述步骤S101;
S107、判断是否满足预设重启条件。
满足预设重启条件时,S108、重启所述电子设备,并在检测到所述电子设备重启时,加载并运行最新升级的操作系统文件;
否则,等待至满足预设重启条件时再执行所述步骤S108。
在具体实施过程中,如图2所示,所述电子设备的存储器被分为引导加载程序bootloader分区、A操作系统数据槽slot A、B操作系统数据槽slot B、用户数据userdata分区、缓存cache分区、硬件数据misc分区等。用户数据等被存储在其它分区中的数据由所述A操作系统和所述B操作系统共用。slot A和slot B中分别存储有对应的操作系统文件和启动标志,所述启动标志由之前所述A操作系统文件和所述B操作系统文件的升级或运行情况确定,每次所述电子设备启动时,会选择最高优先级的启动标志对应的操作系统文件进行加载运行。
在具体实施过程中,如图3所示,所述服务器对应地执行如下步骤:
S201、接收电子设备的包括当前运行的操作系统文件的版本号的检测升级请求;
S202、判断存储的系统升级包的版本号是否高于所述当前运行的操作系统文件的版本号,及是否满足预设推送升级条件;
若均为是,S203、将所述系统升级包的系统版本号发送给所述电子设备;
S204、接收所述电子设备的系统升级包的下载请求,并将所述系统升级包推送给所述电子设备。
其中,所述预设推送升级条件包括所述系统升级包有效。进一步地,所述预设推送升级条件还可以包括如下至少一种:
所述电子设备的位置为预设位置;
所述电子设备的第一系统的版本号为预设版本号;
所述电子设备登陆的账号为预设账号;
所述电子设备是第n个发送检测升级请求的电子设备,其中n为小于预设升级数量的正整数。
在具体实施过程中,可选地,所述步骤S104、从所述服务器下载更高版本的系统升级包之前,还包括:
S103、判断当前所述电子设备是否满足预设下载条件;
若满足所述预设下载条件,执行所述步骤S104;否则,等待至满足所述预设下载条件时,执行所述步骤S104。
其中,所述预设下载条件包括所述电子设备处于无线局域网(Wireless LocalArea Network,WLAN)连接中,或所述电子设备处于非按网络流量计费的网络连接中。所述预设下载条件也可以为其它条件,在此不作限定。
在具体实施过程中,例如,所述电子设备在出厂时被设置的两套操作系统文件均为基于Android 9的XXOS 9.0操作系统,且A操作系统文件作为第一次加载运行的操作系统文件。若每次通过所述系统升级方法进行一次版本升级,则所述slot A和所述slot B中存储的操作系统文件将如图4所示升级变化。
在具体实施过程中,若对当前未运行的操作系统文件进行升级时由于所述电子设备意外断电、网络故障、系统关键文件被破坏等因素影响,导致所述当前未运行的操作系统升级失败,则所述当前未运行的操作系统的启动标志将被设置为不可启动。下一次所述电子设备启动时,仍将运行上一次运行的所述操作系统文件。
在具体实施过程中,对于Android操作系统的实施例,所述步骤S106、利用所述系统升级包对当前未运行的操作系统文件进行升级,并显示系统升级总进度,具体包括:调用系统接口UpdateEngine并传入状态回调对象,在回调中使用重写onStatusUpdate和onPayloadApplicationComplete方法,在onStatusUpdate中使用mHandler向主界面发出刷新进度的消息同时调用NotificationManager.notify接口刷新显示通知所述系统总升级进度,其中所述系统总升级进度以静态变量存储于升级服务中。当主界面接收到升级服务刷新消息,NotificationManager执行notify时,通知取此静态变量。
这样,通过对所述电子设备设置同一操作系统的两套独立的操作系统文件,在当前操作系统文件运行时对当前未运行的操作系统文件进行升级,不影响当前运行的操作系统文件的使用,可以减少系统升级时所述电子设备无法使用的时间,优化使用体验。同时,若所述当前未运行的操作系统文件升级失败,不会影响所述当前运行的操作系统文件,不影响所述电子设备的正常使用。
可选地,所述满足预设升级条件,包括:
根据所述服务器的通知或本地设置,确定预设升级时间和/或预设未使用时间阈值;
确定到达所述预设升级时间,和/或所述电子设备未被使用的时间超过所述预设未使用时间阈值时,确定满足预设升级条件。
在具体实施过程中,对于一些在使用过程中显示器件不会一直进行显示的电子设备(例如智能手机),所述电子设备未被使用的时间可以由显示屏锁屏时间确定。
在具体实施过程中,若所述预设升级时间由本地设置,则考虑到用户在夜间使用所述电子设备的概率较小,可以将所述预设升级时间设置为凌晨1时至凌晨4时。若所述预设升级时间/或所述电子设备未被使用的时间由所述服务器确定,则所述预设升级时间/或所述电子设备未被使用的时间可以与所述系统升级包中一同发送至所述电子设备,也可以与所述系统升级包的系统版本号一同发送至所述电子设备,还可以单独发送至所述电子设备,在此不作限定。
为了确保所述电子设备升级时不会影响到所述用户的使用,通过设置计时器记录是电子设备未被使用的时间,当超过所述预设未使用时间阈值时,可以认为此时用户使用所述电子设备的概率较小。
具体地,对于一种所述预设升级时间与所述预设未使用时间阈值结合使用的实施例,应用于Android操作系统的智能手机。所述预设升级时间被设置为凌晨1时,所述预设未使用时间阈值被设置为10分钟。所述智能手机在完成所述系统升级包的下载后,设置一个凌晨0时50分的定时器。当时间到达凌晨0时50分时,判断所述智能手机是否处于锁屏状态,若为是则设置一个计时器开始记录所述电子设备未被使用的时间;若为否则设置一个BroadcastReceiver进程监听Intent.ACTION_SCREEN_OFF广播,直至所述电子设备锁屏,设置所述计时器开始记录所述电子设备未被使用的时间。当计时器记录的时间超过10分钟时,可以确定满足预设升级条件。
这样,通过所述预设升级时间和/或所述电子设备未被使用的时间超过所述预设未使用时间阈值来控制所述电子设备的升级,在用户未使用所述电子设备时进行升级,实现了无感升级,提升了使用体验。
可选地,利用所述系统升级包对当前未运行的操作系统进行升级,包括:
如图5-5所示,校验所述系统升级包是否完整;
确定所述系统升级包完整时,向所述服务器再次发送包括当前运行的操作系统文件的版本号的检测升级请求;
接收到所述服务器发送的所述更高版本的系统版本号时,确定所述更高版本的系统版本号有效,利用所述系统升级包对所述当前未运行的操作系统文件进行升级。
在具体实施过程中,校验所述系统升级包是否完整可以通过比较下载到本地的所述系统升级包的哈希值与所述服务器中的所述系统升级包的哈希值和电子签名是否相同来确定。所述系统升级包的哈希值可以使用第五代信息摘要算法(Message-DigestAlgorithm 5,MD5),安全散列算法(Secure Hash Algorithm,SHA)、32位循环冗余校验(Cyclic Redundancy Check-32,CRC-32)算法、RACE原始完整性校验讯息摘要算法(RACEIntegrity Primitives Evaluation Message Digest,RIPEMD)等哈希算法计算,在此不作限定。对于Android操作系统的实施例,完成对所述系统升级包的哈希值校验后,继续调用RecoverySystem.verifyPackage接口来校验本地的所述系统升级包的电子签名与所述服务器中的系统升级包的电子签名是否相同。
在具体实施过程中,所述系统升级包在所述服务器中发布后可能会由于发现程序漏洞(Bug)等因素,需要撤回所述系统升级包取消对应的系统升级。所述服务器可以通过删除所述系统升级包,或将存储的所述系统升级包标记为无效,来撤回升级。因此,所述服务器还包括对应地再次执行所述步骤S201至所述步骤S204。
这样,通过在完成所述系统升级包下载后再次检验所述系统升级包,在检验成功后再进行升级,保证了系统升级的安全性和稳定性。
可选地,利用所述系统升级包对当前未运行的操作系统进行升级,并显示系统升级总进度,包括:
依次执行系统升级子程序,执行系统升级子程序过程,利用与该系统子程序对应的系统升级包更新相应的系统文件,完成所述相应的系统文件更新后执行下一个系统子程序;
根据各系统升级子程序更新对应系统文件的子升级进度,确定所述系统升级总进度并进行显示。
在具体实施过程中,以Android操作系统为例,系统升级过程中需要依次执行11个子程序:
IDLE
CHECKING_FOR_UPDATE
UPDATE_AVAILABLE
DOWNLOADING
VERIFYING
FINALIZIING
UPDATE_NEED_REBOOT
REPORTING_ERROR_EVENT
ATTEMPTING_ROLLABCK
DISABLE
NEED_PERMISSION_TO_UPDATE
CLEANUP_PREVIOUS_UPDATE
其中,上述子程序在执行过程中会通过对应的程序接口反馈自身执行的子升级进度,对应的取值范围均为0-100%。而所述子程序只是总升级过程中的部分升级过程,需要将所述子升级进度转换为总升级进度,即所有的所述子程序对应的总升级进度取值范围为0-100%。
这样,通过将所述子升级进度转化为总升级进度,能够反映系统升级的总体状态,提升用户体验。
可选地,根据各系统升级子程序更新对应系统文件的子升级进度,确定所述系统升级总进度并进行显示,包括:
根据各系统升级子程序需更新的对应系统文件及总系统文件,确定各系统升级子程序对应的升级进度占比系数;
将各系统升级子程序更新对应系统文件的子升级进度的取值乘以对应的占比系数,并求和得到系统升级总进度。
在具体实施过程中,根据各系统升级子程序需更新的对应系统文件及总系统文件,确定各系统升级子程序对应的升级进度占比系数,可以为严格的比例对应关系,例如对于某种操作系统升级时需要依次执行两个升级子程序,分别对应需要更新的系统文件占总系统文件占比为3/10:7/10,则对应的升级进度占比系数也为3/10:7/10。所述占比系数与对应的系统文件占总系统文件的比例也可以不是比例对应关系。例如,对于上文所述的Android操作系统升级时执行的11个子程序,将对应系统文件占比较大的DOWNLOADING和FINALIZIING对应的升级进度占比系数分别设置为1/2;而其他所述升级子程序对应的系统文件占比较少,可以忽略不计,对应的升级进度占比系数分别设置为0。
这样,通过对各升级子程序设置对应的所述升级进度占比系数,来得到系统升级总进度,提升了用户体验。
可选地,所述各系统升级子程序更新对应系统文件的子升级进度,采用如下方式确定:
确定指定的系统升级子程序的子升级进度达到至少一个指定进度时,将当前指定进度,在单位时间内按照设定增幅递增,得到伪装子升级进度;
将所述子升级度的取值更新为所述伪装子升级进度,待当前所述子升级进度递增至与当前所述伪装子升级进度相等时,停止将所述子升级度的取值更新为所述伪装子升级进度。
在具体实施过程中,所述子升级进度不是一个随时间线性变化的变量。因此,对于某些子升级进度,在显示时会出现长时间对应的总升级进度无变化,会导致使用者误认为升级过程出现错误,进而可能对所述电子设备进行断电、重启等操作,导致升级失败。对于上文所述的Android操作系统的实施例,FINALIZIING子程序对应的子升级进度0%会消耗大量时间(例如10分钟)才会变化至1%。那么可以当所述电子设备执行FINALIZIING子程序时,且对应的子升级进度达到0%时,将当前的子升级进度的取值0%按照每分钟增加2%的速度递增得到伪装子升级进度,并将所述子升级进度的取值更新为所述伪装子升级进度。之后,所述子升级进度的变化速度较快,将追上所述伪装子升级进度。之后,再使用所述子升级进度确定所述总升级进度。图5-6、图5-8、图5-9示意的为显示的所述总升级进度由所述子升级进度确定,图5-7示意的为显示的所述总升级进度由所述伪装子升级进度确定。具体如下表所示:
这样,通过使用伪装总升级进度来对特定进度进行显示,更加符合使用者的人类直觉,提升了用户体验。
可选地,所述预设重启条件包括:
根据所述服务器的通知或本地设置,确定重启时间间隔;
确定已完成重启前对当前未运行的另一套操作系统文件进行升级的所有操作,且已与所述所有操作完成时间间隔所述重启时间间隔时,确定满足预设升级条件。
那么,在所述步骤S106、利用所述系统升级包对当前未运行的操作系统文件进行升级时,设置一个升级完成状态标志位来指示是否完成重启前对当前未运行的操作系统文件进行升级的所有操作。所述步骤S107、判断是否满足预设重启条件,具体可以调取升级完成状态标志位判断出完成对应的所有操作时,再设置一个定时器进行计时,达到所述重启时间间隔时,确定满足预设重启条件。
或者,可选地,所述预设重启条件包括:接收到重启指令时,确定满足预设升级条件。如图5-10、图5-11所示,所述电子设备会在完成所述步骤S106后,显示需要重启的提示信息。若使用者点击图5-10中的“安装完成,立即重启手机”按钮,或者点击图5-11中的“确定”按钮时,会触发重启指令,则所述电子设备会进行重启。
基于同一发明构思,本发明实施例还提供了一种系统升级装置,应用于电子设备,如图6所示,包括:
检测升级模块M101,用于向服务器发送包括当前运行的操作系统文件的版本号的检测升级请求;
升级包下载模块M102,用于接收到所述服务器发送的更高版本的系统版本号后,从所述服务器下载更高版本的系统升级包;
升级模块M103,用于完成更高版本的系统升级包的下载后,且满足预设升级条件时,利用所述系统升级包对当前未运行的另一套操作系统文件进行升级并显示系统升级总进度;
重启模块M104,用于满足预设重启条件时,重启所述电子设备,并在检测到所述电子设备重启时,加载并运行最新升级的操作系统文件。
可选地,所述满足预设升级条件包括:
根据所述服务器的通知或本地设置,确定预设升级时间和/或预设未使用时间阈值;
确定到达所述预设升级时间,和/或所述电子设备未被使用的时间超过所述预设未使用时间阈值时,确定满足预设升级条件。
可选地,所述升级模块M103中,利用所述系统升级包对当前未运行的操作系统进行升级,包括:
校验所述系统升级包是否完整;
确定所述系统升级包完整时,向所述服务器再次发送包括当前运行的操作系统文件的版本号的检测升级请求;
接收到所述服务器发送的所述更高版本的系统版本号时,确定所述更高版本的系统版本号有效,利用所述系统升级包对所述当前未运行的另一套操作系统文件进行升级。
可选地,所述升级模块M103中,利用所述系统升级包对当前未运行的另一套操作系统文件进行升级,并显示系统升级总进度,包括:
依次执行系统升级子程序,执行系统升级子程序过程,利用与该系统子程序对应的系统升级包更新相应的系统文件,完成所述相应的系统文件更新后执行下一个系统子程序;
根据各系统升级子程序更新对应系统文件的子升级进度,确定所述系统升级总进度并进行显示。
可选地,根据各系统升级子程序更新对应系统文件的子升级进度,确定所述系统升级总进度并进行显示包括:
根据各系统升级子程序需更新的对应系统文件及总系统文件,确定各系统升级子程序对应的升级进度占比系数;
将各系统升级子程序更新对应系统文件的子升级进度的取值乘以对应的占比系数,并求和得到系统升级总进度。
可选地,所述各系统升级子程序更新对应系统文件的子升级进度,采用如下方式确定:
确定指定的系统升级子程序的子升级进度达到至少一个指定进度时,将当前指定进度,在单位时间内按照设定增幅递增,得到伪装子升级进度;
将所述子升级度的取值更新为所述伪装子升级进度,待当前所述子升级进度递增至与当前所述伪装子升级进度相等时,停止将所述子升级度的取值更新为所述伪装子升级进度。
可选地,所述预设重启条件包括:
确定已完成重启前对当前未运行的另一套操作系统文件进行升级的所有操作,且已与所述所有操作完成时间间隔所述重启时间间隔时,确定满足预设升级条件;其中,所述重启时间间隔根据所述服务器的通知或本地设置;
或者,接收到重启指令时,确定满足预设升级条件。
在具体实施过程中,所述系统升级装置的具体实施方式与所述系统升级方法基本一致,可以参见所述系统升级方法的实施过程,故不再赘述。
基于同一发明构思,本发明实施例还提供了一种电子设备,如图7所示,包括:处理器110和用于存储所述处理器110可执行指令的存储器120;其中,所述处理器110被配置为执行所述指令,以实现所述系统升级方法。
在具体实施过程中,所述设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器110和存储器120,和/或,一个或一个以上存储的存储介质130。其中,存储器120和存储介质130可以是短暂存储或持久存储。所述存储器120或所述存储介质130中存储有数据13、应用程序14和同一操作系统的两套操作系统文件11和12,例如Android操作系统等。存储在存储器120的应用程序14或存储在存储介质130的(图7中未示出)应用程序可以包括一个或一个以上所述模块(图7中未示出),每个模块可以包括对系统升级装置中的一系列指令操作。更进一步地,处理器110可以设置为与存储介质130通信,在所述设备上执行存储介质130中的一系列指令操作。所述设备还可以包括一个或一个以上电源(图7中未示出);一个或一个以上收发器140,所述收发器140包括有线或无线网络接口141,一个或一个以上输入输出接口142。
基于同一发明构思,本发明实施例还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被用于实现所述的系统升级方法。
本发明实施例提供的系统升级方法、装置、电子设备及存储介质,通过对电子设备设置同一操作系统的两套独立的操作系统文件,在当前操作系统文件运行时对当前未运行的操作系统文件进行升级,不影响当前运行的操作系统文件的使用,可以减少系统升级时所述电子设备无法使用的时间,优化使用体验。同时,若所述当前未运行的操作系统文件升级失败,不会影响所述当前运行的操作系统文件,不影响所述电子设备的正常使用。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种系统升级方法,应用于电子设备,其特征在于,所述电子设备包括同一操作系统的两套操作系统文件,所述方法包括:
向服务器发送包括当前运行的操作系统文件的版本号的检测升级请求;
接收到所述服务器发送的更高版本的系统版本号后,从所述服务器下载更高版本的系统升级包;
完成所述系统升级包的下载后,且满足预设升级条件时,利用所述系统升级包对当前未运行的另一套操作系统文件进行升级,并显示系统升级总进度;
满足预设重启条件时,重启所述电子设备,并在检测到所述电子设备重启时,加载并运行最新升级的操作系统文件。
2.如权利要求1所述的系统升级方法,其特征在于,所述满足预设升级条件,包括:
根据所述服务器的通知或本地设置,确定预设升级时间和/或预设未使用时间阈值;
确定到达所述预设升级时间,和/或所述电子设备未被使用的时间超过所述预设未使用时间阈值时,确定满足预设升级条件。
3.如权利要求1所述的系统升级方法,其特征在于,利用所述系统升级包对当前未运行的操作系统进行升级,包括:
校验所述系统升级包是否完整;
确定所述系统升级包完整时,向所述服务器再次发送包括当前运行的操作系统文件的版本号的检测升级请求;
接收到所述服务器发送的所述更高版本的系统版本号时,确定所述更高版本的系统版本号有效,利用所述系统升级包对所述当前未运行的另一套操作系统文件进行升级。
4.如权利要求1所述的系统升级方法,其特征在于,利用所述系统升级包对当前未运行的另一套操作系统文件进行升级,并显示系统升级总进度,包括:
依次执行系统升级子程序,执行系统升级子程序过程,利用与该系统子程序对应的系统升级包更新相应的系统文件,完成所述相应的系统文件更新后执行下一个系统子程序;
根据各系统升级子程序更新对应系统文件的子升级进度,确定所述系统升级总进度并进行显示。
5.如权利要求4所述的系统升级方法,其特征在于,根据各系统升级子程序更新对应系统文件的子升级进度,确定所述系统升级总进度并进行显示,包括:
根据各系统升级子程序需更新的对应系统文件及总系统文件,确定各系统升级子程序对应的升级进度占比系数;
将各系统升级子程序更新对应系统文件的子升级进度的取值乘以对应的占比系数,并求和得到系统升级总进度。
6.如权利要求5所述的系统升级方法,其特征在于,所述各系统升级子程序更新对应系统文件的子升级进度,采用如下方式确定:
确定指定的系统升级子程序的子升级进度达到至少一个指定进度时,将当前指定进度,在单位时间内按照设定增幅递增,得到伪装子升级进度;
将所述子升级度的取值更新为所述伪装子升级进度,待当前所述子升级进度递增至与当前所述伪装子升级进度相等时,停止将所述子升级度的取值更新为所述伪装子升级进度。
7.如权利要求1所述的系统升级方法,其特征在于,所述预设重启条件包括:
确定已完成重启前对当前未运行的另一套操作系统文件进行升级的所有操作,且已与所述所有操作完成时间间隔所述重启时间间隔时,确定满足预设升级条件;其中,所述重启时间间隔根据所述服务器的通知或本地设置;
或者,接收到重启指令时,确定满足预设升级条件。
8.一种系统升级装置,应用于电子设备,其特征在于,包括:
检测升级模块,用于向服务器发送包括当前运行的操作系统文件的版本号的检测升级请求;
升级包下载模块,用于接收到所述服务器发送的更高版本的系统版本号后,从所述服务器下载更高版本的系统升级包;
升级模块,用于完成更高版本的系统升级包的下载后,且满足预设升级条件时,利用所述系统升级包对当前未运行的另一套操作系统文件进行升级并显示系统升级总进度;
重启模块,用于检测到所述电子设备重启时,加载并运行最新升级的操作系统文件。
9.一种电子设备,其特征在于,包括:处理器和用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-7任一项所述的系统升级方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被用于实现如权利要求1-7任一项所述的系统升级方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110124455.4A CN112817625B (zh) | 2021-01-29 | 2021-01-29 | 系统升级方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110124455.4A CN112817625B (zh) | 2021-01-29 | 2021-01-29 | 系统升级方法、装置、电子设备及存储介质 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN112817625A true CN112817625A (zh) | 2021-05-18 |
| CN112817625B CN112817625B (zh) | 2024-03-08 |
Family
ID=75860174
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202110124455.4A Active CN112817625B (zh) | 2021-01-29 | 2021-01-29 | 系统升级方法、装置、电子设备及存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN112817625B (zh) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113655737A (zh) * | 2021-06-29 | 2021-11-16 | 北京峰智科技有限公司 | 一种经can传输的车载电子控制器快速升级系统与方法 |
| CN113672258A (zh) * | 2021-08-16 | 2021-11-19 | 一汽解放汽车有限公司 | 车辆的系统升级方法、装置、计算机设备和存储介质 |
| CN113721959A (zh) * | 2021-08-30 | 2021-11-30 | 联想(北京)有限公司 | 一种信息处理方法、装置及电子设备 |
| CN113905039A (zh) * | 2021-09-30 | 2022-01-07 | 苏州挚途科技有限公司 | 系统升级文件传输方法、装置及系统 |
| WO2022262751A1 (zh) * | 2021-06-15 | 2022-12-22 | 荣耀终端有限公司 | 操作系统升级方法、设备、存储介质及计算机程序产品 |
| CN115878145A (zh) * | 2022-11-11 | 2023-03-31 | 深圳心派科技有限公司 | 电子设备及其系统升级方法、计算机可读存储介质 |
| CN116719556A (zh) * | 2022-09-26 | 2023-09-08 | 荣耀终端有限公司 | 系统升级的方法和电子设备 |
Citations (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101256500A (zh) * | 2008-03-28 | 2008-09-03 | 腾讯科技(深圳)有限公司 | 一种软件安装的方法、系统、客户端及服务器 |
| US20150100955A1 (en) * | 2012-06-13 | 2015-04-09 | Tencent Technology (Shenzhen) Company Limited | Method and System for Updating Software |
| CN105760200A (zh) * | 2016-02-26 | 2016-07-13 | 晨星半导体股份有限公司 | 终端设备及其系统升级方法 |
| WO2017067448A1 (zh) * | 2015-10-22 | 2017-04-27 | 深圳市中兴微电子技术有限公司 | 一种无线固件升级方法、系统及计算机存储介质 |
| CN106648768A (zh) * | 2016-12-09 | 2017-05-10 | 福建三元达网络技术有限公司 | 一种升级设备的方法及系统 |
| WO2018045958A1 (zh) * | 2016-09-07 | 2018-03-15 | 深圳创维数字技术有限公司 | Wifi设备升级的方法及系统 |
| CN108920162A (zh) * | 2018-06-29 | 2018-11-30 | 深圳市道通智能航空技术有限公司 | 一种无人机系统中的模块升级方法 |
| CN109408135A (zh) * | 2018-08-29 | 2019-03-01 | 百度在线网络技术(北京)有限公司 | 双系统升级方法、装置、设备及计算机可读存储介质 |
| CN110825563A (zh) * | 2019-10-22 | 2020-02-21 | RealMe重庆移动通信有限公司 | 系统恢复方法、装置以及电子设备 |
| CN111309341A (zh) * | 2020-02-17 | 2020-06-19 | 中南大学 | 基于耗时预测的安卓应用安装流程优化方法 |
| CN111752577A (zh) * | 2019-03-28 | 2020-10-09 | 深圳市优必选科技有限公司 | 一种系统版本的升级方法及设备 |
| CN111930410A (zh) * | 2020-08-14 | 2020-11-13 | 海信视像科技股份有限公司 | 一种显示设备及闲时升级方法 |
| CN112068855A (zh) * | 2019-06-10 | 2020-12-11 | 海信视像科技股份有限公司 | 一种双系统下应用的升级方法及系统 |
-
2021
- 2021-01-29 CN CN202110124455.4A patent/CN112817625B/zh active Active
Patent Citations (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101256500A (zh) * | 2008-03-28 | 2008-09-03 | 腾讯科技(深圳)有限公司 | 一种软件安装的方法、系统、客户端及服务器 |
| US20150100955A1 (en) * | 2012-06-13 | 2015-04-09 | Tencent Technology (Shenzhen) Company Limited | Method and System for Updating Software |
| WO2017067448A1 (zh) * | 2015-10-22 | 2017-04-27 | 深圳市中兴微电子技术有限公司 | 一种无线固件升级方法、系统及计算机存储介质 |
| CN105760200A (zh) * | 2016-02-26 | 2016-07-13 | 晨星半导体股份有限公司 | 终端设备及其系统升级方法 |
| WO2018045958A1 (zh) * | 2016-09-07 | 2018-03-15 | 深圳创维数字技术有限公司 | Wifi设备升级的方法及系统 |
| CN106648768A (zh) * | 2016-12-09 | 2017-05-10 | 福建三元达网络技术有限公司 | 一种升级设备的方法及系统 |
| CN108920162A (zh) * | 2018-06-29 | 2018-11-30 | 深圳市道通智能航空技术有限公司 | 一种无人机系统中的模块升级方法 |
| CN109408135A (zh) * | 2018-08-29 | 2019-03-01 | 百度在线网络技术(北京)有限公司 | 双系统升级方法、装置、设备及计算机可读存储介质 |
| CN111752577A (zh) * | 2019-03-28 | 2020-10-09 | 深圳市优必选科技有限公司 | 一种系统版本的升级方法及设备 |
| CN112068855A (zh) * | 2019-06-10 | 2020-12-11 | 海信视像科技股份有限公司 | 一种双系统下应用的升级方法及系统 |
| CN110825563A (zh) * | 2019-10-22 | 2020-02-21 | RealMe重庆移动通信有限公司 | 系统恢复方法、装置以及电子设备 |
| CN111309341A (zh) * | 2020-02-17 | 2020-06-19 | 中南大学 | 基于耗时预测的安卓应用安装流程优化方法 |
| CN111930410A (zh) * | 2020-08-14 | 2020-11-13 | 海信视像科技股份有限公司 | 一种显示设备及闲时升级方法 |
Cited By (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022262751A1 (zh) * | 2021-06-15 | 2022-12-22 | 荣耀终端有限公司 | 操作系统升级方法、设备、存储介质及计算机程序产品 |
| US12182582B2 (en) | 2021-06-15 | 2024-12-31 | Honor Device Co., Ltd. | Operating system upgrade method, device, storage medium, and computer program product |
| CN113655737A (zh) * | 2021-06-29 | 2021-11-16 | 北京峰智科技有限公司 | 一种经can传输的车载电子控制器快速升级系统与方法 |
| CN113655737B (zh) * | 2021-06-29 | 2023-05-26 | 北京峰智睿联科技有限公司 | 一种经can传输的车载电子控制器快速升级系统与方法 |
| CN113672258A (zh) * | 2021-08-16 | 2021-11-19 | 一汽解放汽车有限公司 | 车辆的系统升级方法、装置、计算机设备和存储介质 |
| CN113721959A (zh) * | 2021-08-30 | 2021-11-30 | 联想(北京)有限公司 | 一种信息处理方法、装置及电子设备 |
| CN113905039A (zh) * | 2021-09-30 | 2022-01-07 | 苏州挚途科技有限公司 | 系统升级文件传输方法、装置及系统 |
| CN116719556A (zh) * | 2022-09-26 | 2023-09-08 | 荣耀终端有限公司 | 系统升级的方法和电子设备 |
| CN116719556B (zh) * | 2022-09-26 | 2024-05-24 | 荣耀终端有限公司 | 系统升级的方法和电子设备 |
| CN115878145A (zh) * | 2022-11-11 | 2023-03-31 | 深圳心派科技有限公司 | 电子设备及其系统升级方法、计算机可读存储介质 |
| CN115878145B (zh) * | 2022-11-11 | 2023-09-26 | 深圳心派科技有限公司 | 电子设备及其系统升级方法、计算机可读存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN112817625B (zh) | 2024-03-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112817625A (zh) | 系统升级方法、装置、电子设备及存储介质 | |
| US20210124574A1 (en) | Techniques for updating a file using a multi-version patch file | |
| US7640458B2 (en) | Software self-repair toolkit for electronic devices | |
| US20110320794A1 (en) | Flash System And Method For Updating The Flash System | |
| CA2875828C (en) | Auto-update while running client interface with handshake | |
| CN109857423B (zh) | 程序版本更新方法、装置、服务器及可读存储介质 | |
| TWI839587B (zh) | 用於管理軟體更新之方法及裝置,以及非暫時性電腦可讀儲存媒體 | |
| US20120096256A1 (en) | Mobile device and method for supporting hibernation function | |
| JP2010541105A (ja) | ファームウェアイメージの更新および管理 | |
| US20180349133A1 (en) | Software update rollbacks using file system volume snapshots | |
| CN112162782B (zh) | 基于可信根动态度量确定应用程序可信状态的方法、装置及相关产品 | |
| CN110795495B (zh) | 数据处理方法、装置、电子设备及计算机可读介质 | |
| CN110765394B (zh) | so文件加载方法、装置、存储介质及终端设备 | |
| CN100430894C (zh) | 具有断电保护的电视系统软件更新方法 | |
| US11762756B2 (en) | System and method for startup data verification | |
| CN109359093B (zh) | 一种规则文件更新方法和系统 | |
| US11354138B1 (en) | Optimizing plugin loading | |
| CN113553086B (zh) | 配置信息存取方法、设备及计算机可读存储介质 | |
| CN118819589A (zh) | 插件升级方法及装置 | |
| TWI575459B (zh) | 終端設備及其系統升級方法 | |
| CN121166162A (zh) | 程序升级方法及计算机系统、程序升级装置、程序产品 | |
| CN120653479A (zh) | 一种异常处理方法、装置、处理器及介质 | |
| CN118761482A (zh) | 训练控制方法、装置和系统 | |
| CN119415118A (zh) | Ota升级方法、装置、电子设备及存储介质 | |
| CN119440540A (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 | ||
| CB02 | Change of applicant information |
Country or region after: China Address after: 266071 Shandong city of Qingdao province Jiangxi City Road No. 11 Applicant after: Qingdao Hisense Mobile Communication Technology Co.,Ltd. Address before: 266071 Shandong city of Qingdao province Jiangxi City Road No. 11 Applicant before: HISENSE MOBILE COMMUNICATIONS TECHNOLOGY Co.,Ltd. Country or region before: China |
|
| CB02 | Change of applicant information | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |