CN116931995A - 系统升级方法、装置、电子设备及存储介质 - Google Patents
系统升级方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116931995A CN116931995A CN202310892539.1A CN202310892539A CN116931995A CN 116931995 A CN116931995 A CN 116931995A CN 202310892539 A CN202310892539 A CN 202310892539A CN 116931995 A CN116931995 A CN 116931995A
- Authority
- CN
- China
- Prior art keywords
- upgrade
- upgrading
- file
- subsystem
- main 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000003860 storage Methods 0.000 title claims abstract description 34
- 230000006870 function Effects 0.000 claims abstract description 126
- 238000012360 testing method Methods 0.000 claims abstract description 89
- 238000005192 partition Methods 0.000 claims description 19
- 238000013515 script Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 12
- 238000005096 rolling process Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 13
- 238000011084 recovery Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012216 screening Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种系统升级方法、装置、电子设备及存储介质,涉及计算机技术领域。该方法包括:基于第一升级文件,对子系统进行升级,并对升级后的子系统进行测试,得到子系统中多个设备功能的测试结果;从多个设备功能中确定出测试结果符合预设指标的第一设备功能,确定第一设备功能对应的第一升级指令;基于第一升级指令,对第一升级文件进行更新,得到第二升级文件;基于第二升级文件,对主系统进行升级。本申请实施例避免了因升级文件错误或升级文件与终端的不兼容造成的升级出错的情况,减小了升级过程中出错的概率,保证了用户可以正常使用升级后的设备,提高了用户体验感。
Description
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种系统升级方法、装置、电子设备及存储介质。
背景技术
OTA(Over-The-Air,空中下载)升级是指一种通过无线通信网络等将电子设备、操作系统或应用程序的固件远程更新到更高版本的过程。通过OTA升级,用户可以获得设备的新功能、性能改进、错误修复、安全补丁等更新,而无需回收设备或进行复杂的手动升级操作。
待升级的设备,可以通过获取OTA升级包并在设备上安装OTA升级包来完成升级。在实际中,可能会存在OTA升级包中的文件出现错误或者OTA升级包与设备自身不兼容等情况,导致升级过程出错,造成用户无法正常使用升级后的设备,用户体验感较差。
发明内容
本申请实施例提供了一种系统升级方法、装置、电子设备及存储介质,可以解决现有技术中OTA升级过程中用户无法正常使用升级后的设备,用户体验感较差的问题。
所述技术方案如下:
根据本申请实施例的一个方面,提供了一种系统升级方法,所述系统包括主系统和子系统,该方法包括:
基于第一升级文件,对所述子系统进行升级,并对升级后的子系统进行测试,得到所述子系统中多个设备功能的测试结果;
从多个设备功能中确定出测试结果符合预设指标的第一设备功能,确定第一设备功能对应的第一升级指令;
基于所述第一升级指令,对所述第一升级文件进行更新,得到第二升级文件;
基于所述第二升级文件,对所述主系统进行升级。
可选地,所述基于所述第一升级指令,对所述第一升级文件进行更新,得到第二升级文件,包括:
基于所述第一升级指令,对所述第一升级文件进行重写,将重写得到的文件作为所述第二升级文件。
可选地,所述方法还包括:
获取所述第一设备功能对应的功能文件在所述主系统中的存储路径,将所述存储路径写入所述第二升级文件;
基于所述第二升级文件,对所述主系统进行升级,包括:
基于所述第二升级文件中的所述存储路径,获取所述主系统中第一设备功能对应的第一功能文件;
基于所述第二升级文件中的所述第一升级指令,对所述第一功能文件进行更新。
可选地,所述主系统和所述子系统位于不同分区;所述主系统和所述子系统共享用户分区。
可选地,所述方法还包括:
响应于升级启动指令,获取服务器下发的升级数据包;
基于所述升级数据包,获取所述第一升级文件。
可选地,所述升级数据包包括预设的测试脚本;
所述对升级后的子系统进行测试,包括:
启动所述升级后的子系统;
若所述升级后的子系统正常启动,则基于所述升级数据包中的测试脚本,对启动后的子系统进行测试。
可选地,所述方法还包括:
若所述升级后的子系统无法正常启动,则将所述升级后的子系统回滚至升级前的版本,并向服务器发送错误报告。
根据本申请实施例的另一个方面,提供了一种系统升级装置,所述系统包括主系统和子系统,该装置包括:
子系统测试模块,用于基于第一升级文件,对所述子系统进行升级,并对升级后的子系统进行测试,得到所述子系统中多个设备功能的测试结果;
第一升级指令确定模块,用于从多个设备功能中确定出测试结果符合预设指标的第一设备功能,确定第一设备功能对应的第一升级指令;
升级文件更新模块,用于基于所述第一升级指令,对所述第一升级文件进行更新,得到第二升级文件;
主系统升级模块,用于基于所述第二升级文件,对所述主系统进行升级。
根据本申请实施例的另一个方面,提供了一种电子设备,该电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述任一种系统升级方法的步骤。
根据本申请实施例的再一个方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种系统升级方法的步骤。
本申请实施例提供的技术方案带来的有益效果是:
本申请实施例提供的系统升级方法,通过安装与主系统匹配的子系统,并基于第一升级文件对子系统进行升级,通过对升级后的子系统进行测试,得到子系统中多个设备功能的测试结果。基于测试结果,从多个设备功能中筛选出测试通过的第一设备功能。基于第一设备功能对应的第一升级指令更新第一升级文件,得到第二升级文件,通过对主系统执行第二升级文件来实现对主系统的升级,避免了因升级文件错误或升级文件与设备不兼容造成升级出错的情况,减小了升级过程中出错的概率,保证了用户可以正常使用升级后的设备,提高了用户体验感。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种应用场景的示意图;
图2为本申请实施例提供的一种系统升级方法的流程示意图;
图3为本申请实施例提供的另一种系统升级方法的流程示意图;
图4为本申请实施例提供的一种系统升级装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
待升级的设备可以通过获取OTA升级包,并在设备上安装OTA升级包来完成升级。其中,OTA升级包通常由制造设备的厂商或者操作系统的开发者上传至服务器,通过服务器下发至待升级的设备。
在实际中,制造厂商或操作系统开发者设计的OTA升级包往往只针对适用人数最多的设备或者最新型号的设备,从而造成部分设备与OTA升级包不兼容。同时,OTA升级包通常基于设备的出厂设置进行设计,但是不同用户基于不同的使用习惯,可能会对设备的出厂设置进行调整,从而造成设备与OTA升级包不兼容。此外,当OTA升级包中的文件出现错误时,也会导致升级后的系统无法启动。
当存在OTA升级包中的文件出现错误或者OTA升级包与设备自身不兼容等情况时,会导致升级后的设备无法启动,或者升级后的部分功能无法使用,造成用户无法正常使用升级后的设备,用户体验感较差。
本申请提供的系统升级方法、装置、电子设备及存储介质,旨在解决现有技术的如上技术问题。
下面通过对几个示例性实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
图1为本申请实施例提供的一种应用场景的示意图,如图1所示,该应用场景中包括服务器101和终端102,其中,终端上安装有主系统和子系统,在不引起歧义时本申请所述的系统可以理解为对主系统和子系统的统称。子系统与主系统相匹配,子系统可以和主系统完全相同,也可以在保留主系统主要功能和重要文件的前提下对主系统适当裁减形成子系统。服务器将升级数据包下发给终端,终端基于接收到的升级数据包,获取第一升级文件,基于第一升级文件对子系统进行升级,并对升级后的子系统进行测试,得到子系统中多个设备功能的测试结果;从多个设备功能中确定出测试结果符合预设指标的第一设备功能,确定第一设备功能对应的第一升级指令;基于第一升级指令,对第一升级文件进行更新,得到第二升级文件;基于第二升级文件,对主系统进行升级。
其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云数据库、云函数、云存储、云通信、网络服务、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器或服务器集群。终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、笔记本电脑、数字广播接收器、MID(Mobile InternetDevices,移动互联网设备)、PDA(个人数字助理)、台式计算机、智能家电、车载终端(例如车载导航终端、车载电脑等)、智能音箱、智能手表等。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,但并不局限于此。
本领域技术人员可知,上述示例并不构成对本申请的系统升级方法的应用场景的限制。
图2为本申请实施例提供的一种系统升级方法的流程示意图,以该方法应用于终端为例,如图2所示,该方法包括:
步骤S110,基于第一升级文件,对子系统进行升级,并对升级后的子系统进行测试,得到子系统中多个设备功能的测试结果。
具体地,终端上安装有的主系统和子系统。其中,主系统可以为终端中向用户提供服务的操作系统,以终端为手机为例,主系统可以为Android(安卓)系统,或其他移动操作系统。子系统可以为用于对主系统升级进行测试的操作系统,子系统并不直接向用户提供服务。
可选地,主系统和子系统可以位于终端中的不同分区,通过将主系统和子系统安装在不同的分区中,以保证主系统和子系统相互隔离且不会发生冲突。终端中除了包括分别安装主系统和子系统的分区之外,还可以包括用户分区。用户分区可以用于存储该终端的用户对应的用户数据。主系统和子系统可以通过共享该用户分区,读取相同的用户数据,从而使得子系统的后续测试过程能够最大程度的模拟主系统的实际使用场景。
终端可以获取第一升级文件,第一升级文件可以为原始的用于对主系统进行升级的文件。终端在得到第一升级文件之后,可以执行第一升级文件对子系统进行升级,将完成升级的子系统作为升级后的子系统。
可选地,终端在得到第一升级文件之后,可以通过recovery分区执行第一升级文件,并对除recovery分区之外的分区进行更新。其中,recovery分区是终端中的一个特殊分区,用于系统恢复、修复和安装更新等。
终端在子系统完成升级之后,可以对升级后的子系统进行测试,得到子系统中多个设备功能的测试结果。其中,终端可以包括多个对应的设备功能,以终端为手机为例,其对应的设备功能包括:通话功能、拍照功能、录像功能、短信功能、多媒体功能、上网功能和导航功能等。
对于每个设备功能,在升级后的子系统测试完之后存在与之对应的测试结果,测试结果可以包括测试通过或测试不通过。当一个设备功能的测试结果为测试通过时,表示该设备功能在升级后的子系统中是可用的;当一个设备功能的测试结果为测试不通过时,表示该设备功能在升级后的子系统中不可用。此外,测试结果还可以包括对应设备功能测试通过的概率。
步骤S120,从多个设备功能中确定出测试结果符合预设指标的第一设备功能,确定第一设备功能对应的第一升级指令。
具体地,在得到子系统中多个设备功能的测试结果之后,可以根据测试结果从多个设备功能中确定出至少一个第一设备功能。其中,第一设备功能可以为测试结果符合预设指标的测试功能,预设指标可以为测试结果为测试通过,也可以为测试结果中测试通过的概率大于预设阈值,可以根据实际应用场景对预设指标进行具体设置。
第一升级文件可以包括用于对终端的多个设备功能进行升级的升级指令,在确定出第一设备功能之后,可以从第一升级文件中确定出第一设备功能对应的第一升级指令。其中,第一升级指令可以为用于对第一设备功能进行升级的指令。
步骤S130,基于第一升级指令,对第一升级文件进行更新,得到第二升级文件;
步骤S140,基于第二升级文件,对主系统进行升级。
具体地,在确定出第一升级指令之后,可以基于第一升级指令,对第一升级文件进行更新,将更新后的第一升级文件作为第二升级文件。其中,第二升级文件包括第一升级指令。
可选地,对第一升级文件的具体更新方式可以包括:
基于第一升级指令,对第一升级文件进行重写,将重写得到的文件作为第二升级文件。
具体地,可以根据第一升级指令对第一升级文件进行重写,将重写之后的第一升级文件作为第二升级文件。
基于第一升级指令对第一升级文件进行重写,使得第一升级指令可以覆盖第一升级文件中的原始内容,即将第一升级文件中的原始内容全部被替换为第一升级文件,经过重写的第一升级文件(即第二升级文件)只包括第一升级指令。
第一升级指令即为测试通过的第一设备功能对应的升级指令,因此基于只包括第一升级指令的第二升级文件对主系统进行升级时,可以保证主系统中全部升级的设备功能在升级后的主系统中一定是可用的。
本申请实施例中,终端中的主系统和子系统对应相同的使用环境(即终端的硬件资源和软件资源),对升级后的子系统进行测试可以模拟出升级后的主系统的实际使用场景,也就是说,子系统中测试通过的第一设备功能在升级后的主系统中也一定是可用的。
基于第一设备功能对应的第一升级指令,对第一升级文件进行更新,使得更新得到的第二升级文件只包括第一升级指令。可以理解的是,由于第二升级文件只包括第一设备功能对应的第一升级指令,因此在基于第二升级文件对主系统进行升级的过程中实际上是针对升级后能够正常使用的设备功能进行升级,从而避免了因升级文件错误或升级文件与终端不兼容造成的升级出错情况,减小了升级过程中出错的概率。而且主系统中涉及升级的设备功能在升级后的主系统中一定是可用的,从而保证了用户可以正常使用升级后的设备,提高了用户体验感。
本申请实施例提供的系统升级方法,通过安装与主系统匹配的子系统,并基于第一升级文件对子系统进行升级,通过对升级后的子系统进行测试,得到子系统中多个设备功能的测试结果。基于测试结果,从多个设备功能中筛选出测试通过的第一设备功能。基于第一设备功能对应的第一升级指令更新第一升级文件,得到第二升级文件,通过对主系统执行第二升级文件来实现对主系统的升级,避免了因升级文件错误或升级文件与终端不兼容造成升级出错情况,减小了升级过程中出错的概率,保证了用户可以正常使用升级后的设备,提高了用户体验感。
作为一种可选实施例,该方法还包括:
获取第一设备功能对应的功能文件在主系统中的存储路径,将存储路径写入第二升级文件;
基于第二升级文件,对主系统进行升级,包括:
基于第二升级文件中的存储路径,获取主系统中第一设备功能对应的第一功能文件;
基于第二升级文件中的第一升级指令,对第一功能文件进行更新。
具体地,在第二升级文件的生成过程中,还可以获取第一设备功能对应的第一功能文件在主系统中存储路径,并将该存储路径写入第二升级文件,即第二升级文件既包括第一设备功能对应的第一升级指令,又包括第一设备功能对应的第一功能文件在主系统中的存储路径。
其中,第一功能文件可以为执行对应设备功能的文件,每一个设备功能对应一个或多个功能文件,在不引起歧义的前提下本申请对功能文件的个数不进行区分。
在此基础上,主系统的升级过程可以包括:
首先从第二升级文件中获取待升级的第一设备功能对应的功能文件的存储路径,并根据存储路径在主系统中定位查找到第一设备功能对应的第一功能文件。然后通过执行第二升级文件中的第一升级指令,将第一功能文件更新到升级后的版本,进而完成对主系统的升级。
作为一种可选实施例,该方法还包括:
响应于升级启动指令,获取服务器下发的升级数据包;
基于升级数据包,获取第一升级文件。
具体地,当制造厂商或者操作系统开发者需要发布新的升级数据包时,可以将升级数据包上传至服务器。当检测到有可用的更新时,终端可以通过提示信息通知用户,用户同意进行升级时可以通过与终端的交互操作触发生成升级启动指令,升级启动指令可以用于指示终端进行系统升级。
例如,当终端为手机时,在手机检测到有可用的更新时,可以通过弹出浮窗来提醒用户,当用户点击浮窗上的“更新”按钮时,终端检测到“更新”按钮被触发,从而生成升级启动指令。
终端检测到升级启动指令时,可以通过连接互联网并从服务器上下载升级数据包,并从升级数据包中获取第一升级文件。其中,当升级数据包为OTA数据包时,第一升级文件可以为“updater-script.sh”(一种脚本文件)。
作为一种可选实施例,该方法中,升级数据包包括预设的测试脚本;
对升级后的子系统进行测试,包括:
启动升级后的子系统;
若升级后的子系统正常启动,则基于升级数据包中的测试脚本,对启动后的子系统进行测试。
具体地,制造厂商或者操作系统开发者还可以将用于对子系统进行测试的测试脚本添加到升级数据包中。
在得到升级数据包之后,终端可以基于升级数据包中的第一升级文件,对子系统进行升级,并启动升级后的子系统。当升级后的子系统能够正常启动时,表示子系统中一些基础的功能可以正常运行,但并不能表明子系统中所有的设备功能都是正常的。因此,在升级后的子系统正常启动的前提下,可以基于升级数据包中的测试脚本,对启动后的子系统进行测试,以供后续基于测试结果对第一升级文件进行更新。
作为一种可选实施例,该方法还包括:
若升级后的子系统无法正常启动,则将升级后的子系统回滚至升级前的版本,并向服务器发送错误报告。
具体地,在基于第一升级文件对子系统进行升级后,若升级后的子系统无法正常启动,此种情况很有可能是第一升级文件自身存在错误导致的,因此可以将错误报告发送给服务器,以供服务器基于接收到的错误报告对第一升级文件进行修正。同时,还可以将升级后的子系统回滚至升级前的版本,从而对升级错误的子系统进行恢复。
需要说明的是,当升级后的子系统无法正常启动时,说明第一升级文件存在错误的可能性较大,基于第一升级文件升级主系统出错的可能性也较大,因此可以暂时不对主系统进行升级,避免了因升级文件错误导致升级后的设备不可用的情况,保证用户始终可以正常使用设备。
作为一种可选实施例,图3为本申请实施例提供的一种系统升级方法的流程示意图,如图3所示,该方法包括:
(1)终端响应于升级启动指令,获取服务器下发的OTA数据包(即升级数据包);
(2)终端在得到OTA数据包之后,获取OTA数据包中的updater-script.sh文件(即第一升级文件),通过终端中的recovery分区对子系统进行升级;
(3)若升级后的子系统正常启动,则基于OTA数据包中测试脚本对启动后的子系统进行测试;若升级后的子系统无法正常启动,则将升级后的子系统回滚至升级前的版本,并向服务器发送错误报告;
(4)基于子系统中多个设备功能的测试结果,从多个设备功能中选取出测试通过的第一设备功能,并从updater-script.sh文件中确定出第一设备功能对应的第一升级指令;
(5)基于第一升级指令,对updater-script.sh文件进行重写,并写入第一设备功能对应的功能文件的存储路径,得到重写完成的updater-script.sh文件;
(6)基于重写完成的updater-script.sh文件,通过终端中的recovery分区对主系统进行升级。
图4为本申请实施例提供的一种系统升级装置的结构示意图,如图4所示,该装置应用于终端,所述系统包括主系统和子系统,该装置包括:
子系统测试模块210,用于基于第一升级文件,对所述子系统进行升级,并对升级后的子系统进行测试,得到所述子系统中多个设备功能的测试结果;
第一升级指令确定模块220,用于从多个设备功能中确定出测试结果符合预设指标的第一设备功能,确定第一设备功能对应的第一升级指令;
升级文件更新模块230,用于基于所述第一升级指令,对所述第一升级文件进行更新,得到第二升级文件;
主系统升级模块240,用于基于所述第二升级文件,对所述主系统进行升级。
本申请实施例提供的装置,通过安装与主系统匹配的子系统,并基于第一升级文件,对子系统进行升级,通过对升级后的子系统进行测试,得到子系统中多个设备功能的测试结果。基于测试结果,从多个设备功能中筛选出测试通过的第一设备功能。并基于第一设备功能对应的第一升级指令更新第一升级文件,得到第二升级文件,通过对主系统执行第二升级文件来实现对主系统的升级,避免了因升级文件错误或升级文件与终端的不兼容造成升级出错的情况,减小了升级过程中出错的概率,保证了用户可以正常使用升级后的设备,提高了用户体验感。
作为一种可选实施例,该装置中升级文件更新模块具体用于:
基于所述第一升级指令,对所述第一升级文件进行重写,将重写得到的文件作为所述第二升级文件。
作为一种可选实施例,该装置还包括写入模块,用于:
获取所述第一设备功能对应的功能文件在所述主系统中的存储路径,将所述存储路径写入所述第二升级文件;
主系统升级模块具体用于:
基于所述第二升级文件中的所述存储路径,获取所述主系统中第一设备功能对应的第一功能文件;
基于所述第二升级文件中的所述第一升级指令,对所述第一功能文件进行更新。
作为一种可选实施例,该装置中,所述主系统和所述子系统位于不同分区;所述主系统和所述子系统共享用户分区。
作为一种可选实施例,该装置还包括第一升级文件获取模块,用于:
响应于升级启动指令,获取服务器下发的升级数据包;
基于所述升级数据包,获取所述第一升级文件。
作为一种可选实施例,该装置中,所述升级数据包包括预设的测试脚本;
子系统测试模块,具体用于:
启动所述升级后的子系统;
若所述升级后的子系统正常启动,则基于所述升级数据包中的测试脚本,对启动后的子系统进行测试。
作为一种可选实施例,该装置还包括第二主系统升级模块,用于:
若所述升级后的子系统无法正常启动,则将所述升级后的子系统回滚至升级前的版本,并向服务器发送错误报告。
本申请实施例的装置可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
本申请实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现上述系统升级方法的步骤,与相关技术相比可实现:通过安装与主系统匹配的子系统,并基于第一升级文件,对子系统进行升级,通过对升级后的子系统进行测试,得到子系统中多个设备功能的测试结果。基于测试结果,从多个设备功能中筛选出测试通过的第一设备功能。基于第一设备功能对应的第一升级指令更新第一升级文件,得到第二升级文件,通过对主系统执行第二升级文件来实现对主系统的升级,避免了因升级文件错误或升级文件与终端的不兼容造成的升级出错情况,减小了升级过程中出错的概率,保证了用户可以正常使用升级后的设备,提高了用户体验感。
在一个可选实施例中提供了一种电子设备,如图5所示,图5所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器4003用于存储执行本申请实施例的计算机程序,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的计算机程序,以实现前述方法实施例所示的步骤。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。
Claims (10)
1.一种系统升级方法,其特征在于,所述系统包括主系统和子系统,所述方法包括:
基于第一升级文件,对所述子系统进行升级,并对升级后的子系统进行测试,得到所述子系统中多个设备功能的测试结果;
从多个设备功能中确定出测试结果符合预设指标的第一设备功能,确定第一设备功能对应的第一升级指令;
基于所述第一升级指令,对所述第一升级文件进行更新,得到第二升级文件;
基于所述第二升级文件,对所述主系统进行升级。
2.根据权利要求1所述的系统升级方法,其特征在于,所述基于所述第一升级指令,对所述第一升级文件进行更新,得到第二升级文件,包括:
基于所述第一升级指令,对所述第一升级文件进行重写,将重写得到的文件作为所述第二升级文件。
3.根据权利要求2所述的系统升级方法,其特征在于,所述方法还包括:
获取所述第一设备功能对应的功能文件在所述主系统中的存储路径,将所述存储路径写入所述第二升级文件;
基于所述第二升级文件,对所述主系统进行升级,包括:
基于所述第二升级文件中的所述存储路径,获取所述主系统中第一设备功能对应的第一功能文件;
基于所述第二升级文件中的所述第一升级指令,对所述第一功能文件进行更新。
4.根据权利要求1所述的系统升级方法,其特征在于,所述主系统和所述子系统位于不同分区;所述主系统和所述子系统共享用户分区。
5.根据权利要求1所述的系统升级方法,其特征在于,所述方法还包括:
响应于升级启动指令,获取服务器下发的升级数据包;
基于所述升级数据包,获取所述第一升级文件。
6.根据权利要求5所述的系统升级方法,其特征在于,所述升级数据包包括预设的测试脚本;
所述对升级后的子系统进行测试,包括:
启动所述升级后的子系统;
若所述升级后的子系统正常启动,则基于所述升级数据包中的测试脚本,对启动后的子系统进行测试。
7.根据权利要求1至6中任一项所述的系统升级方法,其特征在于,所述方法还包括:
若所述升级后的子系统无法正常启动,则将所述升级后的子系统回滚至升级前的版本,并向服务器发送错误报告。
8.一种系统升级装置,其特征在于,所述系统包括主系统和子系统,所述装置包括:
子系统测试模块,用于基于第一升级文件,对所述子系统进行升级,并对升级后的子系统进行测试,得到所述子系统中多个设备功能的测试结果;
第一升级指令确定模块,用于从多个设备功能中确定出测试结果符合预设指标的第一设备功能,确定第一设备功能对应的第一升级指令;
升级文件更新模块,用于基于所述第一升级指令,对所述第一升级文件进行更新,得到第二升级文件;
主系统升级模块,用于基于所述第二升级文件,对所述主系统进行升级。
9.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310892539.1A CN116931995A (zh) | 2023-07-19 | 2023-07-19 | 系统升级方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310892539.1A CN116931995A (zh) | 2023-07-19 | 2023-07-19 | 系统升级方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116931995A true CN116931995A (zh) | 2023-10-24 |
Family
ID=88380074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310892539.1A Pending CN116931995A (zh) | 2023-07-19 | 2023-07-19 | 系统升级方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116931995A (zh) |
-
2023
- 2023-07-19 CN CN202310892539.1A patent/CN116931995A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7747995B2 (en) | Method and system for controlling software version updates | |
US20160117211A1 (en) | Error troubleshooting using a correlated knowledge base | |
CN106802814B (zh) | 用于软件版本升级的方法及装置 | |
CN109947449B (zh) | 系统升级方法、装置、存储介质及电子设备 | |
CN110633205A (zh) | 一种埋点事件的检测方法、装置、终端设备及介质 | |
CN109582402B (zh) | 一种页面展示方法及装置 | |
CN111897564A (zh) | 一种应用更新方法及系统 | |
US20140281664A1 (en) | Method and system for determining device configuration settings | |
CN109992501B (zh) | 小程序的可用性检查、可用小程序列表生成方法和装置 | |
US8527986B1 (en) | System and method for automated identification of an application out-of-synchronization condition | |
CN110737548B (zh) | 数据请求方法和服务器 | |
US8972792B2 (en) | Methods, apparatus, and systems for electronic device recovery | |
CN111459524A (zh) | 软件的升级方法、装置、系统 | |
CN106293814B (zh) | 升级方法及装置 | |
CN115098301B (zh) | 一种云原生场景下有状态应用的快照生成方法和系统 | |
CN111176720A (zh) | 一种实现在多系统中运行应用程序的控制方法、控制装置 | |
CN116931995A (zh) | 系统升级方法、装置、电子设备及存储介质 | |
CN111158987A (zh) | 微服务架构的健康检查方法及装置 | |
CN110221880B (zh) | 应用程序编程接口调用方法、装置、设备及介质 | |
CN112882733B (zh) | 应用更新方法及装置、电子设备、存储介质 | |
CN112527371B (zh) | 一种引导加载程序升级方法、装置、电子设备及存储介质 | |
CN113535558A (zh) | 软件版本传输方法及装置 | |
CN112328288A (zh) | 一种服务器组件的更新方法、系统、设备及存储介质 | |
CN112685071A (zh) | 应用程序修复方法、装置、设备及存储介质 | |
CN110825406A (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 |