CN115269023A - 程序更新方法、设备终端及存储介质 - Google Patents
程序更新方法、设备终端及存储介质 Download PDFInfo
- Publication number
- CN115269023A CN115269023A CN202210913172.2A CN202210913172A CN115269023A CN 115269023 A CN115269023 A CN 115269023A CN 202210913172 A CN202210913172 A CN 202210913172A CN 115269023 A CN115269023 A CN 115269023A
- Authority
- CN
- China
- Prior art keywords
- program
- partition
- electronic device
- system program
- device terminal
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本申请提出了一种程序更新方法、设备终端及存储介质,其中,上述程序更新方法中,通过在对所述第一***程序和主分区的第一引导程序进行更新,获得第二***程序和第二引导程序之后,当电子设备终端能够按照第二***程序运行成功时,将主分区中的第二引导程序同步至备份分区中,以更新备份分区中的引导程序,相比于现有技术,本申请让备份分区也支持随程序的成功升级而更新到主分区对应的版本,解决了对智能终端程序升级后无法开机的问题,降低了售后成本。
Description
技术领域
本申请涉及智能终端技术领域,具体涉及一种程序更新方法、设备终端及存储介质。
背景技术
现有技术中,针对智能终端进行程序升级时,通常会采用空间下载技术(Over-the-Air Technology,OTA)进行软件升级包的下载安装,该技术只需要借助网络就能完成升级,而且不会擦除用户数据,相比于传统的在线升级技术具有很大的灵活性和很好的用户体验,已经成为了Android***提供的标准软件升级方式。
但进行OTA升级时,也可能会出现升级失败或出错导致无法正常启动的问题。为了提升用户体验,现有技术是在发生OTA升级失败的问题后,将所有分区都回滚到旧分区,使得***使用升级前的版本完成开机。但是现有技术中,由于二级程序加载器(SecondProgram Loader,SPL)的加载是依赖芯片内部启动代码(ROMCODE)的,而ROMCODE中并不支持OTA升级,所以无法通过修改ROMCODE的方式使SPL进行回滚,最终导致SPL主分区没有实现回滚,其他分区成功回滚,从而可能因SPL主分区和SPL备份分区不一致而导致智能终端启动失败。
发明内容
本申请实施例公开了一种程序更新方法、设备终端及存储介质,以实现当程序升级成功时使程序加载器的备份分区与主分区进行同步,以使当需要运用备份分区进行启动时,能够通过更新验证,保证正常开机。
第一方面,本申请提供一种程序更新方法,应用于电子设备终端,所述电子设备终端预设有第一***程序,所述电子设备终端的程序加载器中预设有主分区和备份分区,所述主分区存储有第一引导程序,所述备份分区存储有所述第一引导程序的备份,所述主分区的第一引导程序用于引导所述电子设备终端按照所述第一***程序运行,所述方法包括:响应于更新指令,对所述第一***程序和所述主分区的第一引导程序进行更新,获得第二***程序和第二引导程序;当所述电子设备终端按照所述第二***程序运行成功时,将所述主分区中的第二引导程序同步至所述备份分区中,以更新所述备份分区中的引导程序。
上述程序更新方法中,通过在对所述第一***程序和主分区的第一引导程序进行更新,获得第二***程序和第二引导程序之后,当电子设备终端能够按照第二***程序运行成功时,将主分区中的第二引导程序同步至备份分区中,以更新备份分区中的引导程序,相比于现有技术,本申请让备份分区也支持随程序的成功升级而更新到主分区对应的版本,改善了对智能终端程序升级后无法开机的问题,降低了售后成本。
其中一种实施方式中,所述电子设备终端预设有第一版本标识,所述第一版本标识用于表示所述电子设备终端的当前运行的***程序,所述方法还包括:当所述电子设备终端按照所述第二***程序运行失败,且所述备份分区中的第二版本标识大于或等于所述第一版本标识时,所述电子设备终端按照所述备份分区中的引导程序和所述第一***程序运行,其中,所述第二版本标识用于表示当前所述备份分区中的引导程序。
其中一种实施方式中,所述电子设备终端按照所述备份分区中的引导程序和所述第一***程序运行,包括:执行回滚操作,所述回滚操作用于使所述电子设备终端的当前***程序从所述第二***程序变回所述第一***程序;在启动时基于所述备份分区中的引导程序引导所述电子设备终端按照所述第一***程序运行。
其中一种实施方式中,所述方法还包括:当所述电子设备终端按照所述第二***程序运行失败,且所述备份分区中的第二版本标识小于所述第一版本标识时,所述电子设备终端停止执行回滚操作,所述回滚操作用于使所述电子设备终端的当前***程序从所述第二***程序变回所述第一***程序。
其中一种实施方式中,所述当所述电子设备终端按照所述第二***程序运行失败,包括:当所述电子设备终端启动失败的次数大于阈值次数。
其中一种实施方式中,所述方法还包括:当所述电子设备终端按照所述第二***程序运行成功时,输出所述程序加载器的备份分区的引导程序已更新的提醒信息;或,当所述电子设备终端按照所述第二***程序运行失败时,输出所述程序加载器的备份分区的引导程序未更新的提醒信息。
其中一种实施方式中,所述程序加载器为二级程序加载器。
第二方面,本申请提供一种电子设备终端,所述电子设备终端预设有第一***程序,所述电子设备终端的程序加载器中预设有主分区和备份分区,所述主分区存储有第一引导程序,所述备份分区存储有所述第一引导程序的备份,所述主分区的第一引导程序用于引导所述电子设备终端按照所述第一***程序运行,所述电子设备终端包括:程序更新模块,用于响应于更新指令,对所述第一***程序和所述主分区的第一引导程序进行更新,获得第二***程序和第二引导程序;备份分区更新模块,用于当所述电子设备终端按照所述第二***程序运行成功时,将所述主分区中的第二引导程序同步至所述备份分区中,以更新所述备份分区中的引导程序。
第三方面,本申请实施例还提供一种电子设备终端,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行上述程序更新方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该指令被一个或多个处理器执行实现上述程序更新方法的步骤。
应当理解的是,本申请实施例的第二~四方面与本申请实施例的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一个实施例提供的程序更新方法的流程示意图;
图2为本申请一个实施例提供的程序更新方法的流程示意图;
图3为本申请一个实施例提供的程序更新方法的流程示意图;
图4为本申请一个实施例提供的程序更新方法的流程示意图;
图5为本申请一个实施例提供的电子设备终端的结构示意图;
图6为本申请一个实施例提供的电子设备终端的结构示意图;
图7为本申请一个实施例提供的电子设备终端的结构示意图;
图8为本申请一个实施例提供的电子设备终端的结构示意图;
图9为本申请一个实施例提供的电子设备终端的结构示意图;
图10为本申请一个实施例提供的电子设备终端的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例及附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
申请人在对程序更新失败之后无法开机的故障机进行检测时发现:
步骤1、采用串口连接故障机和上位机后,发现串口显示SPL镜像校验失败。通过回读镜像分区,发现SPL是出厂时候的A09版本,其他镜像是A19版本。单刷A19的SPL之后可以启动开机了,开机发现启动的B分区是A15版本。由此得知用户OTA升级过A15版本使用了一段时间后,继续OTA升级A19版本,无法启动触发了回滚旧版本启动,但回滚之后作为启动分区的版本号为A09版本,低于用户空间文件***(Filesystem in user space,Fuse)的A15版本,导致出现SPL校验失败情况。
需要说明的是,Fuse为android为了控制不同APP对文件访问的权限而创建的文件***,其将用户数据与存储卡合并为一个分区,访问用户数据时可以直接访问磁盘空间,但在对存储卡进行访问时需要先访问Fuse文件***,再访问磁盘空间,若SPL主分区的引导程序的版本低于Fuse的版本,则会导致访问Fuse文件***失败,无法读取存储卡中的***数据,导致无法触发回滚操作。
步骤2、在上位机的监测下,通过外接***更新工具把故障机的主分区从A19版本刷到A09版本,这时SPL主分区和SPL备份分区的版本号都是A09版本。
步骤3、通过一次OTA升级成功升级到A15版本,此时SPL主分区的版本号都是A15版本的,这时候对SPL主分区和SPL备份分区进行回读和二进制比对,手机中的SPL主分区和SPL备份分区的版本号分别是A15版本和A09版本的。
步骤4、然后再用步骤2中的升级包将手机从A15版本升级到A19版本,OTA升级失败,提示SPL校验失败的问题就复现了。然后对SPL主分区和SPL备份分区进行回读和二进制比对,手机中的SPL主分区和SPL备份分区的版本号分别是A19版本和A09版本的。其他分区的版本号是A15版本的。
通过上述检测步骤发现,现有技术中的SPL主分区会参与OTA升级更新,但是SPL的备份分区的SPL是出厂是的SPL,不会参与OTA升级更新,因此,SPL备份分区不随OTA升级而更新导致了终端的SPL校验失败,无法正常开机的情况。
针对上述技术问题,以下对本申请进行详细说明:
本申请实施例提供的程序更新方法可以由电子设备终端来执行,该电子设备终端可以是智能手机、平板电脑等设备,还可以是游戏设备、AR(Augmented Reality,增强现实)设备、汽车装置、数据存储装置、音频播放装置、视频播放装置、笔记本电脑、桌面计算机设备等。在一可选实施例中,该电子设备终端上可以安装有用于执行程序更新方法的服务程序。
上述电子设备终端的程序加载器中预先设置有主分区和备份分区,主分区存储有第一引导程序,备份分区存储有第一引导程序的备份,主分区的第一引导程序用于引导电子设备终端按照第一***程序运行。一些实施例中,上述程序加载器为二级程序加载器(Second Program Loader,SPL)。
图1为本申请实施例提供的一种程序更新方法的流程示意图,如图所示,上述程序更新方法可以包括以下步骤:
步骤S101,响应于更新指令,对第一***程序和主分区的第一引导程序进行更新,获得第二***程序和第二引导程序。
可选地,上述更新指令可以由用户通过点击更新按钮产生,也可以由用户通过运行相应程序更新包产生。
示例性地,电子设备终端在检测到有***更新版本后,并在检测到电子设备终端连接网络的情况下自动下载更新版本的程序更新包,如针对手机、平板等电子设备终端可以是在连接无线网络的情况下自动下载更新版本的程序更新包,以避免消耗移动数据流量。电子设备终端在下载更新版本的程序更新包之后,可以在未被使用或者是处于充电状态的情况下通过所下载的更新版本的***安装至自动进行***更新,这样可以在不影响用户使用电子设备的情况下,把更新前的***版本备份并安装***更新版本。
可选地,上述主分区和备份分区的设置方式可以为在程序加载器中预先设置具有相同引导程序的功能分区,例如A/B分区,技术人员通过设置A/B分区的优先级来将优先级较高的分区作为主分区,将优先级较低的分区作为备份分区。
可选地,在确定功能分区的优先级时可以解析各功能分区的verify_corrupted和tries_remaining属性,根据解析出的verify_corrupted和tries_remaining属性,判断功能分区的优先级。
可选地,上述在更新过程中判断第一***程序和主分区的第一引导程序是否更新成功的步骤可以包括:
步骤S1011,读取电子设备终端的相关信息,获取程序加载器和***程序的程序更新信息。
步骤S1012,解析所获取的程序更新信息,判断是否更新完成。
示例性地,在响应于更新指令获取到程序更新包后,电子设备终端会进行重启以安装程序更新包,以使电子设备终端对第一***程序和主分区的第一引导程序进行更新,更新过程中电子设备终端会读取更新进程中的***程序和第一引导程序的信息,以确认是否更新完成,例如,安装针对程序加载器的程序更新包时,会获取到程序加载器的A/B分区的属性信息,对该属性信息和程序更新包内针对该A/B分区的更新信息进行对比,从而解析程序加载器的A/B分区是否更新完成。
步骤S102,当电子设备终端按照第二***程序运行成功时,将主分区中的第二引导程序同步至备份分区中,以更新备份分区中的引导程序。
可选地,上述判断电子设备终端是否能按照第二***程序运行成功的判断过程可以为:在更新完成后,获取程序加载器中各功能分区的完整性信息,判断主分区是否损坏,若判定主分区未损坏,则更新成功,若判定主分区已损坏,则更新失败。
示例性地,在获取程序加载器中主分区的完整性信息时,可以获取到各功能分区是处于激活状态(Active),还是处于去激活状态(Disactive),同时还能够获取到用于指示各功能分区损坏状态的rb_slot属性信息,当解析出各功能分区都没有损坏,则说明主分区未损坏,更新成功。如果获取到各功能分区中的其中一个功能分区处于去激活状态,则同样说明主分区未损坏,更新成功。如果识别出处于激活状态的功能分区损坏了,则就确定了主分区已损坏,更新失败,需要执行回滚操作,同时也确定将各功能分区中优先级较高的功能分区作为SPL主分区进行回滚,即也就确定了需要执行回滚操作的SPL分区。
可选地,上述将主分区中的第二引导程序同步至备份分区中的步骤可以包括:将当前主分区的引导程序复制到备份分区中,以使备份分区在主分区更新成功后与主分区进行同步,实现备份分区的同步更新。例如,若当前A分区的优先级大于B分区的优先级,即A分区为当前的主分区,当A分区更新成功后,将A分区的引导程序复制到B分区中。
上述程序更新方法中,通过在更新成功后,将当前主分区的引导程序更新到备份分区中,以使备份分区的数据为最新版本,避免了现有技术的回滚方法中,SPL备份的数据在OTA升级的时候不参与更新,多次OTA升级后,一旦出现升级错误时,就会出现SPL备份分区的版本号过老,无法回滚的问题。
在进行***更新的过程中,若安装***更新版本成功完成,则电子设备终端会自动重新启动,以避免电子设备终端在***更新后影响用户的使用;若安装***更新版本失败,则电子设备终端会执行回滚操作,即在电子设备终端进行***更新并发生更新失败的情况下,电子设备终端恢复至更新前的原***并按照备份分区中的引导程序重新启动,这样通过回滚操作以保证在更新失败的情况下电子设备终端能够正常使用。但若备份分区在对更新后的主分区进行备份时发生错误,没有成功备份,则可能会导致备份分区的版本号低于电子设备终端自带的Fuse版本号,导致电子设备终端无法正常开机。
图2为本申请实施例提供的一种程序更新方法的流程示意图,如图所示,基于图1所示的程序更新方法,上述方法还可以包括以下步骤:
步骤S103,当电子设备终端按照第二***程序运行失败时,判断备份分区中用于表示当前备份分区中的引导程序的第二版本标识和用于表示电子设备终端的当前运行的***程序的第一版本标识之间的关系。
上述电子设备终端按照第二***程序运行失败的判断条件可以为:电子设备终端启动失败的次数大于阈值次数。需要说明的是,该阈值次数可以由本领域技术人员根据实际需求进行设置,本申请不做限制。
上述步骤S103的判断结果可以分为:
步骤S1031,当电子设备终端按照第二***程序运行失败,且备份分区中的第二版本标识大于或等于第一版本标识时,电子设备终端按照备份分区中的引导程序和第一***程序运行,其中,第二版本标识用于表示当前备份分区中的引导程序。
可选地,上述电子设备终端按照备份分区中的引导程序和第一***程序运行的步骤可以包括:
步骤S10311,执行回滚操作,该回滚操作用于使电子设备终端的当前***程序从第二***程序变回第一***程序。
步骤S10312,在启动时基于备份分区中的引导程序引导电子设备终端按照第一***程序运行。
示例性地,当电子设备终端进行第一次***更新时,当前***程序的版本从A01变为A02,主分区的版本从A01变为A02,更新成功并成功开机后,将当前主分区的数据更新到备份分区,使备份分区的版本也从A01变为A02,并将Fuse版本也从A01变为A02;当电子设备终端进行第二次***更新时,当前***程序的版本从A02变为A03,主分区的版本从A02变为A03,但此时更新失败,需要进行回滚操作,在执行回滚操作之前,判断备份分区的A02版本等于Fuse的A02版本,Fuse验证成功,可以进行回滚操作,从而使电子设备终端的当前***程序从A03版本变回A02版本。
步骤S1032,备份分区中的第二版本标识小于第一版本标识时,电子设备终端停止执行回滚操作,回滚操作用于使电子设备终端的当前***程序从第二***程序变回第一***程序。
示例性地,当电子设备终端进行第一次***更新时,当前***程序的版本从A01变为A02,主分区的版本从A01变为A02,更新成功并成功开机后,将当前主分区的数据更新到备份分区,以使备份分区的版本也从A01变为A02,并将Fuse版本也从A01变为A02,但此时备份分区更新失败,备份分区的版本仍为A01;当电子设备终端进行第二次***更新时,当前***程序的版本从A02变为A03,主分区的版本从A02变为A03,但此时更新失败,需要进行回滚操作,在执行回滚操作之前,判断备份分区的A01版本小于Fuse的A02版本,Fuse验证失败,不可进行回滚操作,此时电子设备终端停止执行回滚操作。
上述程序更新方法中,通过在电子设备终端更新失败时,通过比较备份分区中用于表示当前备份分区中的引导程序的第二版本标识和用于表示电子设备终端的当前运行的***程序的第一版本标识之间的关系,从而判断出此时电子设备终端执行回滚操作会不会使电子设备终端的Fuse机制验证失败,当判断出第二版本标识大于或等于第一版本标识时,判定可以执行回滚操作,反之则不能执行回滚操作,避免了在备份分区的数据同步失败时导致的回滚失败。
图3为本申请实施例提供的一种程序更新方法的流程示意图,如图所示,基于图2所示的程序更新方法,上述方法还可以包括以下步骤:
步骤S104,当电子设备终端按照第二***程序运行成功时,输出程序加载器的备份分区的引导程序已更新的提醒信息;或,当电子设备终端按照第二***程序运行失败时,输出程序加载器的备份分区的引导程序未更新的提醒信息。
可选地,上述提醒信息可以在电子设备终端的启动装载界面或者开机画面上显示,也可以通过有线通信方式输出至外接设备。
具体的,该提醒信息可以是文本信息,图像信息等,例如:在电子设备终端按照第二***程序运行成功的情况下,用户按开机键可以在启动装载界面显示一张图片,以显示备份分区的引导程序已更新;或者直接在开机界面显示文本信息,以显示备份分区的引导程序已更新等。
再例如,在所述电子设备终端按照第二***程序运行失败的情况下,当用户按开机键时,电子设备终端还可以通过指示灯按照预定规则闪烁,指示灯例如闪光灯、呼吸灯等,预定规则例如预定频率、预定闪烁次数等,来提示用户备份分区的引导程序未更新。
上述程序更新方法中,通过在电子设备终端按照第二***程序运行成功时,输出程序加载器的备份分区的引导程序已更新的提醒信息,或者在电子设备终端按照第二***程序运行失败时,输出程序加载器的备份分区的引导程序未更新的提醒信息,以提醒用户当前备份分区的更新情况。
图4为本申请实施例提供的一种程序更新方法的流程示意图,如图所示,上述程序更新方法可以包括以下步骤:
步骤S401,移动终端出厂时,SPL主分区和备份分区分别存储出厂版本的SPL数据,出厂版本例如A01版本。
步骤S402,用户执行OTA升级,即从A01版本升级到A02版本。
步骤S403,读取终端的MISC分区,获取OTA的升级信息;解析所获取的OTA升级信息,判断是否完成OTA升级。
步骤S404,如果升级成功,则在成功开机后,将当前SPL主分区的数据更新到SPL备份分区,使得SPL备份的数据是A02版本的SPL,保证SPL备份的数据也是最新的。这样就避免了现有技术的回滚方法中,SPL备份的数据在OTA升级的时候不参与更新,即SPL备份的数据一直是出厂时的数据,多次OTA升级后,一旦出现升级错误时,就会出现SPL备份分区的版本号过老,无法回滚的问题。
步骤S405,如果升级失败,而且OTA升级后,前三次开机失败,则进入步骤S406。
步骤S406,如果升级失败,读取SPL备份分区的镜像版本号,与终端的Fuse版本号进行对比。
步骤S407,如果SPL备份分区的版本号大于等于Fuse版本号,才允许进行回滚,回写SPL备份分区的数据到SPL,重启移动终端,这时候开机使用的就是备份分区的SPL,从而完成回滚。
步骤S408,如果SPL备份分区的版本号小于Fuse版本号,不允许回滚.
上述程序更新方法中,通过将备份分区随主分区的成功更新而升级,避免了当程序加载器触发回滚操作时,不会因为备份分区的版本标识低于电子设备终端的版本标识而校验失败,导致电子设备终端开机失败。
图5为本申请实施例提供的一种电子设备终端的结构示意图,如图所示,上述电子设备终端50可以包括:
程序更新模块501,用于响应于更新指令,对所述第一***程序和所述主分区的第一引导程序进行更新,获得第二***程序和第二引导程序;
备份分区更新模块502,用于当所述电子设备终端按照所述第二***程序运行成功时,将所述主分区中的第二引导程序同步至所述备份分区中,以更新所述备份分区中的引导程序。
图6为本申请实施例提供的一种电子设备终端的结构示意图,如图所示,基于图5所示的电子设备终端,上述电子设备终端50预设有第一版本标识,所述第一版本标识用于表示所述电子设备终端的当前运行的***程序,电子设备终端50还可以包括:
第一更新执行模块503,用于当所述电子设备终端按照所述第二***程序运行失败,且所述备份分区中的第二版本标识大于或等于所述第一版本标识时,所述电子设备终端按照所述备份分区中的引导程序和所述第一***程序运行,其中,所述第二版本标识用于表示当前所述备份分区中的引导程序。
其中一种实施方式中,上述第一更新执行模块503可以包括:
回滚操作执行子模块,用于执行回滚操作,所述回滚操作用于使所述电子设备终端的当前***程序从所述第二***程序变回所述第一***程序;
***程序运行子模块,用于在启动时基于所述备份分区中的引导程序引导所述电子设备终端按照所述第一***程序运行。
图7为本申请实施例提供的一种电子设备终端的结构示意图,如图所示,基于图6所示的电子设备终端,上述电子设备终端50还可以包括:
第二更新执行模块504,用于当所述电子设备终端按照所述第二***程序运行失败,且所述备份分区中的第二版本标识小于所述第一版本标识时,所述电子设备终端停止执行回滚操作,所述回滚操作用于使所述电子设备终端的当前***程序从所述第二***程序变回所述第一***程序。
其中一种实施方式中,上述第一更新执行模块503和/或第二更新执行模块504可以包括:
运行失败判断子模块,用于当所述电子设备终端启动失败的次数大于阈值次数。
图8为本申请实施例提供的一种电子设备终端的结构示意图,如图所示,基于图6所示的电子设备终端,上述电子设备终端50还可以包括:
第一提醒模块505,用于当所述电子设备终端按照所述第二***程序运行成功时,输出所述程序加载器的备份分区的引导程序已更新的提醒信息;
和/或,
第二提醒模块506,用于当所述电子设备终端按照所述第二***程序运行失败时,输出所述程序加载器的备份分区的引导程序未更新的提醒信息。
如图9所示,本申请实施例还提供一种电子设备终端的结构示意图,上述电子设备终端可以包括至少一个处理器;以及与上述处理器通信连接的至少一个存储器,其中:存储器存储有可被处理器执行的程序指令,上述处理器调用上述程序指令能够执行本说明书图1~图4所示实施例提供的程序更新方法。
其中,上述电子设备终端可以为智能手机、平板电脑或笔记本电脑等智能电子设备,本实施例对上述电子设备终端的形式不作限定。
可以理解的是,本发明实施例示意的结构并不构成对电子设备终端110的具体限定。在本发明另一些实施例中,电子设备终端110可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器111可以包括一个或多个处理单元,例如:处理器111可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器111中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器111中的存储器为高速缓冲存储器。该存储器可以保存处理器111刚用过或循环使用的指令或数据。如果处理器111需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器111的等待时间,因而提高了***的效率。
处理器111通过运行存储在内部存储器121中的程序,从而执行各种功能应用以及数据处理,例如实现本发明图1~图4所示实施例提供的程序更新方法。
电子设备终端110的无线通信功能可以通过天线1,天线2,移动通信模块150,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备终端110中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
电子设备终端110通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器111可包括一个或多个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)等。在一些实施例中,电子设备终端110可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备终端110可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备终端110可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备终端110在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备终端110使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器111通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备终端110的各种功能应用以及数据处理。
如图10所示,本申请实施例还提供了一种电子设备终端的结构示意图,该电子设备终端可以包括至少一个处理器;以及与上述处理器通信连接的至少一个存储器,其中:存储器存储有可被处理器执行的程序指令,上述处理器调用上述程序指令能够执行本说明书图1~图4所示实施例提供的程序更新方法。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述程序更新方法的步骤。可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本发明实施例的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本说明书的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本说明书的实施例所属技术领域的技术人员所理解。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
需要说明的是,本申请实施例中所涉及的终端可以包括但不限于个人计算机(personal computer,PC)、个人数字助理(personal digital assistant,PDA)、无线手持设备、平板电脑(tablet computer)、手机、MP3播放器、MP4播放器等。
在本说明书所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本说明书各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本说明书各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (10)
1.一种程序更新方法,其特征在于,应用于电子设备终端,所述电子设备终端预设有第一***程序,所述电子设备终端的程序加载器中预设有主分区和备份分区,所述主分区存储有第一引导程序,所述备份分区存储有所述第一引导程序的备份,所述主分区的第一引导程序用于引导所述电子设备终端按照所述第一***程序运行,所述方法包括:
响应于更新指令,对所述第一***程序和所述主分区的第一引导程序进行更新,获得第二***程序和第二引导程序;
当所述电子设备终端按照所述第二***程序运行成功时,将所述主分区中的第二引导程序同步至所述备份分区中,以更新所述备份分区中的引导程序。
2.如权利要求1所述的方法,其特征在于,所述电子设备终端预设有第一版本标识,所述第一版本标识用于表示所述电子设备终端的当前运行的***程序,所述方法还包括:
当所述电子设备终端按照所述第二***程序运行失败,且所述备份分区中的第二版本标识大于或等于所述第一版本标识时,所述电子设备终端按照所述备份分区中的引导程序和所述第一***程序运行,其中,所述第二版本标识用于表示当前所述备份分区中的引导程序。
3.如权利要求2所述的方法,其特征在于,所述电子设备终端按照所述备份分区中的引导程序和所述第一***程序运行,包括:
执行回滚操作,所述回滚操作用于使所述电子设备终端的当前***程序从所述第二***程序变回所述第一***程序;
在启动时基于所述备份分区中的引导程序引导所述电子设备终端按照所述第一***程序运行。
4.如权利要求2所述的方法,其特征在于,所述方法还包括:
当所述电子设备终端按照所述第二***程序运行失败,且所述备份分区中的第二版本标识小于所述第一版本标识时,所述电子设备终端停止执行回滚操作,所述回滚操作用于使所述电子设备终端的当前***程序从所述第二***程序变回所述第一***程序。
5.如权利要求2-4任一所述的方法,其特征在于,所述当所述电子设备终端按照所述第二***程序运行失败,包括:
当所述电子设备终端启动失败的次数大于阈值次数。
6.如权利要求2所述的方法,其特征在于,所述方法还包括:
当所述电子设备终端按照所述第二***程序运行成功时,输出所述程序加载器的备份分区的引导程序已更新的提醒信息;
或,
当所述电子设备终端按照所述第二***程序运行失败时,输出所述程序加载器的备份分区的引导程序未更新的提醒信息。
7.如权利要求1所述的方法,其特征在于,所述程序加载器为二级程序加载器。
8.一种电子设备终端,其特征在于,所述电子设备终端预设有第一***程序,所述电子设备终端的程序加载器中预设有主分区和备份分区,所述主分区存储有第一引导程序,所述备份分区存储有所述第一引导程序的备份,所述主分区的第一引导程序用于引导所述电子设备终端按照所述第一***程序运行,所述电子设备终端包括:
程序更新模块,用于响应于更新指令,对所述第一***程序和所述主分区的第一引导程序进行更新,获得第二***程序和第二引导程序;
备份分区更新模块,用于当所述电子设备终端按照所述第二***程序运行成功时,将所述主分区中的第二引导程序同步至所述备份分区中,以更新所述备份分区中的引导程序。
9.一种电子设备终端,其特征在于,包括:
存储器;
以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1-7任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该指令被一个或多个处理器执行实现权利要求1-7任一所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210913172.2A CN115269023A (zh) | 2022-07-29 | 2022-07-29 | 程序更新方法、设备终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210913172.2A CN115269023A (zh) | 2022-07-29 | 2022-07-29 | 程序更新方法、设备终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115269023A true CN115269023A (zh) | 2022-11-01 |
Family
ID=83746994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210913172.2A Pending CN115269023A (zh) | 2022-07-29 | 2022-07-29 | 程序更新方法、设备终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115269023A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118051245A (zh) * | 2024-04-16 | 2024-05-17 | 所托(杭州)汽车智能设备有限公司 | 双分区升级方法、装置、设备及存储介质 |
-
2022
- 2022-07-29 CN CN202210913172.2A patent/CN115269023A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118051245A (zh) * | 2024-04-16 | 2024-05-17 | 所托(杭州)汽车智能设备有限公司 | 双分区升级方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107967141B (zh) | 操作***升级方法、装置及终端 | |
CN109634645B (zh) | 固件升级方法及终端 | |
EP3073379B1 (en) | Firmware recovery method, device and terminal | |
CN106933593B (zh) | 一种基于移动终端的***切换方法和装置 | |
CN109753297A (zh) | 终端待机时软件升级方法、装置及可读存储介质 | |
CN105468410B (zh) | ***升级方法及装置 | |
CN115328563B (zh) | ***启动方法及电子设备 | |
KR20200090010A (ko) | 펌웨어 업데이트 방법, 이를 위한 전자 장치 및 저장 매체 | |
CN115269023A (zh) | 程序更新方法、设备终端及存储介质 | |
US20140258699A1 (en) | Boot fault tolerant device and method thereof | |
CN111885420B (zh) | 待机保护方法、装置、智能电视和可读存储介质 | |
CN112181467B (zh) | 终端的存储器固件升级方法、装置、终端和存储介质 | |
CN116643778B (zh) | 一种应用程序优化方法及电子设备 | |
CN116400938B (zh) | 操作***的升级方法、设备及存储介质 | |
CN115562732A (zh) | 一种开机方法、电子设备及计算机存储介质 | |
CN107247642B (zh) | 用于***开机时确定可执行映像文件的方法及装置 | |
KR101420026B1 (ko) | 부팅 프로세스 중에 파일들을 로딩하기 위한 방법, 장치 및 컴퓨터 판독가능 저장 매체 | |
KR100673999B1 (ko) | 이동통신 단말기의 부팅방법 | |
US7761679B2 (en) | Method for recovering from download failure of program and portable terminal employing the method | |
JP2009140398A (ja) | 外部メモリ、携帯端末装置、プログラムのロード方法、及びソフトロードプログラム | |
CN117290164B (zh) | 重启时的信息记录方法、电子设备及可读存储介质 | |
CN117608671A (zh) | 控制方法、装置及存储介质 | |
CN116955208B (zh) | 测试方法、终端设备、芯片及存储介质 | |
WO2024119895A1 (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 |