CN115373906A - 嵌入式系统架构的备份启动方法、装置、设备及芯片 - Google Patents

嵌入式系统架构的备份启动方法、装置、设备及芯片 Download PDF

Info

Publication number
CN115373906A
CN115373906A CN202211304625.8A CN202211304625A CN115373906A CN 115373906 A CN115373906 A CN 115373906A CN 202211304625 A CN202211304625 A CN 202211304625A CN 115373906 A CN115373906 A CN 115373906A
Authority
CN
China
Prior art keywords
partition
system partition
started
file
starting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202211304625.8A
Other languages
English (en)
Other versions
CN115373906B (zh
Inventor
王兆龙
赵东艳
李德建
冯曦
杨立新
谭浪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
State Grid Jiangsu Electric Power Co Ltd
Beijing Smartchip Microelectronics Technology Co Ltd
Original Assignee
State Grid Corp of China SGCC
State Grid Jiangsu Electric Power Co Ltd
Beijing Smartchip Microelectronics Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, State Grid Jiangsu Electric Power Co Ltd, Beijing Smartchip Microelectronics Technology Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN202211304625.8A priority Critical patent/CN115373906B/zh
Publication of CN115373906A publication Critical patent/CN115373906A/zh
Application granted granted Critical
Publication of CN115373906B publication Critical patent/CN115373906B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

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

嵌入式系统架构的备份启动方法、装置、设备及芯片
技术领域
本公开涉及嵌入式技术领域,具体涉及一种嵌入式系统架构的备份启动方法、装置、设备及芯片。
背景技术
在嵌入式领域,为了保证嵌入式设备的稳定运行,通常是采用配置两个系统分区的方式进行系统备份,这两个系统分区一个是启动区,一个是备份区,当启动区的系统无法启动的时候,可以从备份区进行系统启动,当备份区的系统无法启动的时候,可以从启动区进行系统启动,从而避免单个系统分区无法启动造成的系统变砖现象。但是,上述方案中仍然存在启动区和备份区均无法启动导致的系统变砖现象,故,目前亟需一种备份启动方案以更好地解决系统变砖问题。
发明内容
为了解决相关技术中的问题,本公开实施例提供一种嵌入式系统架构的备份启动方法、装置、设备及芯片。
第一方面,本公开实施例中提供了一种嵌入式系统架构的备份启动方法,所述嵌入式系统架构包括在存储区配置第一系统分区、第二系统分区和镜像区,所述方法包括:
若所述第一系统分区和所述第二系统分区均无法启动,则根据所述镜像区的系统镜像文件恢复所述第一系统分区和所述第二系统分区的系统文件;
基于所述第一系统分区恢复的系统文件,从所述第一系统分区进行系统启动。
在本公开一种可能的实施方式中,所述方法还包括:
若所述第一系统分区的系统启动失败次数大于等于预设阈值,则切换到所述第二系统分区进行系统启动;
若所述第二系统分区的系统启动失败次数大于等于预设阈值,则确定所述第一系统分区和所述第二系统分区均无法启动。
在本公开一种可能的实施方式中,所述若所述第一系统分区的系统启动失败次数大于等于预设阈值,则切换到所述第二系统分区进行系统启动,包括:
若所述第一系统分区的系统启动失败次数大于等于预设阈值,则确定所述第二系统分区是否可用;
若所述第二系统分区可用,则切换到所述第二系统分区进行系统启动。
在本公开一种可能的实施方式中,所述方法还包括:
若所述第二系统分区不可用,则确定所述第一系统分区和所述第二系统分区均无法启动。
在本公开一种可能的实施方式中,所述方法还包括:
在获取升级文件进行系统升级时,确定当前启动的系统分区;
基于所述升级文件对当前未启动的系统分区的系统进行升级。
在本公开一种可能的实施方式中,所述方法还包括:
根据升级后的系统分区对镜像区的系统镜像文件进行更新。
在本公开一种可能的实施方式中,所述方法还包括:
若所述第二系统分区的系统启动成功,则基于所述镜像区的系统镜像文件恢复所述第一系统分区的系统文件。
第二方面,本公开实施例提供了一种嵌入式系统架构的备份启动装置,所述嵌入式系统架构包括在存储区配置第一系统分区、第二系统分区和镜像区,所述装置包括:
第一恢复模块,被配置为若所述第一系统分区和所述第二系统分区均无法启动,则根据所述镜像区的系统镜像文件恢复所述第一系统分区和所述第二系统分区的系统文件;
启动模块,被配置为基于所述第一系统分区恢复的系统文件,从所述第一系统分区进行系统启动。
在本公开一种可能的实施方式中,所述装置还包括:
切换模块,被配置为若所述第一系统分区的系统启动失败次数大于等于预设阈值,则切换到所述第二系统分区进行系统启动;
第一确定模块,被配置为若所述第二系统分区的系统启动失败次数大于等于预设阈值,则确定所述第一系统分区和所述第二系统分区均无法启动。
在本公开一种可能的实施方式中,所述切换模块被配置为:
若所述第一系统分区的系统启动失败次数大于等于预设阈值,则确定所述第二系统分区是否可用;若所述第二系统分区可用,则切换到所述第二系统分区进行系统启动。
在本公开一种可能的实施方式中,所述装置还包括:
第二确定模块,被配置为若所述第二系统分区不可用,则确定所述第一系统分区和所述第二系统分区均无法启动。
在本公开一种可能的实施方式中,所述装置还包括:
第三确定模块,被配置为在获取升级文件进行系统升级时,确定当前启动的系统分区;
升级模块,被配置为基于所述升级文件对当前未启动的系统分区的系统进行升级。
在本公开一种可能的实施方式中,所述装置还包括:
更新模块,被配置为根据升级后的系统分区对镜像区的系统镜像文件进行更新。
在本公开一种可能的实施方式中,所述装置还包括:
第二恢复模块,被配置为若所述第二系统分区的系统启动成功,则基于所述镜像区的系统镜像文件恢复所述第一系统分区的系统文件。
第三方面,本公开实施例提供了一种嵌入式设备,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如第一方面中任一项所述的方法。
第四方面,本公开实施例中提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如第一方面中任一项所述的方法。
第五方面,本公开实施例中提供了一种芯片,所述芯片包括如第二方面中任一项所述的备份启动装置。
根据本公开实施例提供的技术方案,所述嵌入式系统架构包括在存储区配置第一系统分区、第二系统分区和镜像区;在第一系统分区和所述第二系统分区均无法启动时,可以根据所述镜像区内正常的系统镜像文件恢复所述第一系统分区和所述第二系统分区的系统文件;这样,就可以基于所述第一系统分区恢复的系统文件,从所述第一系统分区进行系统启动;如此就可以解决两个系统分区无法启动导致的系统变砖现象,提高系统的稳定性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中。
图1示出根据本公开的实施例的嵌入式系统架构的备份启动方法的流程图。
图2示出根据本公开的实施例的嵌入式系统架构的备份启动方法的流程图。
图3示出根据本公开的实施例的嵌入式系统架构的备份启动装置的结构框图。
图4示出根据本公开的实施例的嵌入式设备的结构框图。
图5示出适于用来实现本公开实施例方法的计算机系统的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施例,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施例无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
上文提及,在嵌入式领域,为了保证嵌入式设备的稳定运行,通常是采用配置两个系统分区的方式进行系统备份,这两个系统分区一个是启动区,一个是备份区,当启动区的系统无法启动的时候,可以从备份区进行系统启动,当备份区的系统无法启动的时候,可以从启动区进行系统启动,从而避免单个系统分区无法启动造成的系统变砖现象。但是,上述方案中仍然存在启动区和备份区均无法启动导致的系统变砖现象,故,目前亟需一种备份启动方案以更好地解决系统变砖问题。
为了解决上述问题,本公开提供了一种嵌入式系统架构的备份启动方法,所述嵌入式系统架构中增设镜像区,该镜像区中存储有正常的系统镜像文件,可以在第一系统分区和所述第二系统分区均无法启动时,恢复所述第一系统分区和所述第二系统分区的系统文件,这样就可以基于所述第一系统分区恢复的系统文件,再次从所述第一系统分区进行系统启动,如此就可以解决两个系统分区无法启动导致的系统变砖现象,提高系统的稳定性。
图1示出根据本公开的实施例的嵌入式系统架构的备份启动方法的流程图。如图1所示,该备份启动方法包括以下步骤S101-S102:
在步骤S101中,若所述第一系统分区和所述第二系统分区均无法启动,则根据所述镜像区的系统镜像文件恢复所述第一系统分区和所述第二系统分区的系统文件;
在步骤S102中,基于所述第一系统分区恢复的系统文件,从所述第一系统分区进行系统启动。
在本公开一种可能的实施方式中,该嵌入式设备的嵌入式系统架构中存储区的架构为在存储器配置三个分区:第一系统分区、第二系统分区和镜像区,该第一系统分区和第二系统分区均为启动区,这两个系统分区中均存储有系统文件以进行系统启动,且第一系统分区和第二系统分区互为备份,其中一个系统分区的系统启动失败,就使用另一个系统分区进行系统启动。该镜像区为保留区,保留正常的系统镜像文件,使用该镜像区的系统镜像文件可以恢复第一系统分区和所述第二系统分区的系统文件,使该第一系统分区和第二系统分区可以正常启动。
在本公开一种可能的实施方式中,若所述第一系统分区和所述第二系统分区均无法启动,则可以根据所述镜像区的系统镜像文件恢复所述第一系统分区和所述第二系统分区的系统文件,这样就可以基于所述第一系统分区恢复的系统文件,从所述第一系统分区进行系统启动。
本实施方式可以增设镜像区,该镜像区中存储有正常的系统镜像文件,可以在第一系统分区和所述第二系统分区均无法启动时,恢复所述第一系统分区和所述第二系统分区的系统文件,这样就可以基于所述第一系统分区恢复的系统文件,再次从所述第一系统分区进行系统启动,如此就可以解决两个系统分区无法启动导致的系统变砖现象,提高系统的稳定性。
在本公开一种可能的实施方式中,上述备份启动方法还可以包括以下步骤:
若所述第一系统分区的系统启动失败次数大于等于预设阈值,则切换到所述第二系统分区进行系统启动;
若所述第二系统分区的系统启动失败次数大于等于预设阈值,则确定所述第一系统分区和所述第二系统分区均无法启动。
在该实施方式中,现有技术中系统分区一次启动失败就确定该系统分区无法启动,立刻尝试启动另一个系统分区;但是系统分区启动失败有可能并非系统分区本身的原因,而是该系统分区中的系统在与其他设备交互时造成的异常重启,此种情况下,再次从该系统分区启动系统就可以启动成功,故,为了增加系统的容错性,本实施方式中针对每个系统分区,可以在系统分区的系统启动失败次数大于等于预设阈值时,才确定该系统分区无法启动。
在该实施方式中,在启动系统时,默认从第一系统分区进行,若第一系统分区的系统启动成功,则流程结束;若第一系统分区的系统启动失败,则判断该第一系统分区的系统启动失败次数是否大于等于预设阈值,若不大于等于,则继续从第一系统分区进行系统启动,若系统启动成功,则流程结束,若直至该第一系统分区的系统启动失败次数大于等于该预设阈值,第一系统分区的系统启动仍失败,则确定该第一系统分区无法启动。此时,可以切换到所述第二系统分区进行系统启动;若第二系统分区的系统启动成功,则流程结束;若第二系统分区的系统启动失败,则判断该第二系统分区的系统启动失败次数是否大于等于预设阈值,若不大于等于,则继续从第二系统分区进行系统启动,若系统启动成功,则流程结束,若直至该第二系统分区的系统启动失败次数大于等于该预设阈值,第二系统分区的系统启动仍失败,则确定所述第二系统分区均无法启动。
本实施方式通过增加各系统分区的启动尝试次数,提高系统异常判断的容错性,避免系统异常启动的误判造成的切换开销。
在本公开一种可能的实施方式中,上述备份启动方法中,所述若所述第一系统分区的系统启动失败次数大于等于预设阈值,则切换到所述第二系统分区进行系统启动,还可以包括以下步骤:
若所述第一系统分区的系统启动失败次数大于等于预设阈值,则确定所述第二系统分区是否可用;
若所述第二系统分区可用,则切换到所述第二系统分区进行系统启动。
在该实施方式中,在切换到第二系统分区进行系统启动之前,可以先判断第二系统份分区是否可用,只有在可用的情况下,才可以切换到所述第二系统分区进行系统启动,避免多余的切换启动,以提高系统启动效率。
在本公开一种可能的实施方式中,上述备份启动方法还可以包括以下步骤:
若所述第二系统分区不可用,则确定所述第一系统分区和所述第二系统分区均无法启动。
在该实施方式中,在切换到第二系统分区进行系统启动之前,若确定第二系统份分区不可用,此时可以直接确定第二系统分区无法启动,避免切换到第二系统分区进行多次失败的启动,以提高系统启动效率。
这里需要说明的是,可以配置系统标识来指示该第二系统分区是否可用,若该系统标识置位即标识位置1,则确定该第二系统分区可用,若该系统标识复位即标识位清0,则确定该第二系统分区不可用。
在本公开一种可能的实施方式中,上述备份启动方法还可以包括以下步骤:
在获取升级文件进行系统升级时,确定当前启动的系统分区;
基于所述升级文件对当前未启动的系统分区的系统进行升级。
在该实施方式中, 在获取升级文件需要进行系统升级时,如果当前启动的是第一系统分区,此时不能对第一系统分区进行系统升级,由于配置了第二系统分区来作为第一系统分区的备份,故,可以对未启动的第二系统分区的系统进行升级。示例的,假设存储区配置的两个系统分区为A分区和B分区,A分区和B分区当前的系统版本为1.0版本,在获取2.0版本的系统文件时,若启动的是A分区时可以给B分区的系统升级为2.0版本,此时A分区的系统为1.0版本,B分区的系统为2.0版本;若启动的是B分区时可以给A分区的系统升级为2.0版本,此时B分区的系统为1.0版本,A分区的系统为2.0版本;这样,A分区和B分区可以互为版本回退关系,方便相近版本之间的联动测试。
在本公开一种可能的实施方式中,上述备份启动方法还可以包括以下步骤:
根据升级后的系统分区对镜像区的系统镜像文件进行更新。
在该实施方式中,为了使镜像区的系统镜像文件是最新版本的,可以在进行系统升级后,根据升级后的系统分区对镜像区的系统镜像文件进行更新。
在本公开一种可能的实施方式中,上述备份启动方法还可以包括以下步骤:
若所述第二系统分区的系统启动成功,则基于所述镜像区的系统镜像文件恢复所述第一系统分区的系统文件。
在该实施方式中,在第一系统分区的系统启动失败切换到第二系统分区进行系统启动时,若第二系统分区的系统启动成功,可以基于所述镜像区的系统镜像文件恢复所述第一系统分区的系统文件,如此可以及时恢复第一系统分区。
示例的,图2示出根据本公开的实施例的嵌入式系统架构的备份启动方法的流程图。假设该嵌入式系统架构包含norflash(NOR闪存,一种非易失闪存技术)和nandflash(NAND闪存,一种非易失闪存技术),norflash中存储Uboot(Universal Boot Loader,引导加载程序)和环境变量,nandflash存储系统软件,包含kernel(操作系统内核)和rootfs(根文件系统)。nandflash上分区三个区,A区即第一系统分区、B区即第二系统分区和镜像区。定义环境变量bzoneok、azoneok、boottimes和bootzone,bzoneok表示B区可用标识,azoneok表示A区可用标识,boottimes表示引导次数,bootzone标识当前区(可为A区或者B区)。
步骤如下:
1、如图2所示,流程开始 uboot引导系统启动,判断boottimes是否小于预设阈值3,如果小于3,则boottimes加1,默认bootzone为A区,uboot引动 A区进行系统启动,A区的系统启动成功,由系统脚本清零boottimes并置位azoneok,azoneok置位表明A区可用。
2、如果A区的系统启动失败,则继续由uboot引导系统启动,判断boottimes是否小于预设阈值3,如果小于3,则boottimes加1,继续引导A区进行系统启动;如果boottimes大于等于3,则认为A区彻底无法启动,此时尝试切换B区进行系统启动。
3、boottimes清零,复位azoneok(标志A区不可以) 并判断bzoneok是否置位,如果bzoneok置位,说明B区可用,设置bootzone为B,uboot引导B区进行系统启动,启动逻辑与A区启动逻辑相同。
4、如果bzoneok复位,说明B区不可用,执行切换逻辑说明A区也不可用。A和B区均不可用,此时利用镜像区的系统镜像文件恢复A区和B区,置位azoneok和bzoneok,设置bootzone为A,清零boottimes并设置bootzone为A,启动A区。
默认B区启动的逻辑与默认A区启动的逻辑相同,均可参考图2所示,如此可保证系统正常启动,提高系统稳定性。
这里需要说明的是,图2只是给出了本公开的一个具体实施流程,还可以根据本公开中的技术特征组合出多种可实现的其他实施流程,在此不一一举例。
本公开还提供了一种嵌入式系统架构的备份启动装置,图3示出根据本公开的实施例的嵌入式系统架构的备份启动装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部,所述嵌入式系统架构包括在存储区配置第一系统分区、第二系统分区和镜像区。如图3所示,所述嵌入式系统架构的备份启动装置包括:
第一恢复模块301,被配置为若所述第一系统分区和所述第二系统分区均无法启动,则根据所述镜像区的系统镜像文件恢复所述第一系统分区和所述第二系统分区的系统文件;
启动模块302,被配置为基于所述第一系统分区恢复的系统文件,从所述第一系统分区进行系统启动。
在本公开一种可能的实施方式中,该嵌入式设备的嵌入式系统架构中存储区的架构为在存储器配置三个分区:第一系统分区、第二系统分区和镜像区,该第一系统分区和第二系统分区均为启动区,这两个系统分区中均存储有系统文件以进行系统启动,且第一系统分区和第二系统分区互为备份,其中一个系统分区的系统启动失败,就使用另一个系统分区进行系统启动。该镜像区为保留区,保留正常的系统镜像文件,使用该镜像区的系统镜像文件可以恢复第一系统分区和所述第二系统分区的系统文件,使该第一系统分区和第二系统分区可以正常启动。
在本公开一种可能的实施方式中,若所述第一系统分区和所述第二系统分区均无法启动,则可以根据所述镜像区的系统镜像文件恢复所述第一系统分区和所述第二系统分区的系统文件,这样就可以基于所述第一系统分区恢复的系统文件,从所述第一系统分区进行系统启动。
本实施方式可以增设镜像区,该镜像区中存储有正常的系统镜像文件,可以在第一系统分区和所述第二系统分区均无法启动时,恢复所述第一系统分区和所述第二系统分区的系统文件,这样就可以基于所述第一系统分区恢复的系统文件,再次从所述第一系统分区进行系统启动,如此就可以解决两个系统分区无法启动导致的系统变砖现象,提高系统的稳定性。
在本公开一种可能的实施方式中,所述装置还包括:
切换模块,被配置为若所述第一系统分区的系统启动失败次数大于等于预设阈值,则切换到所述第二系统分区进行系统启动;
第一确定模块,被配置为若所述第二系统分区的系统启动失败次数大于等于预设阈值,则确定所述第一系统分区和所述第二系统分区均无法启动。
在该实施方式中,现有技术中系统分区一次启动失败就确定该系统分区无法启动,立刻尝试启动另一个系统分区;但是系统分区启动失败有可能并非系统分区本身的原因,而是该系统分区中的系统在与其他设备交互时造成的异常重启,此种情况下,再次从该系统分区启动系统就可以启动成功,故,为了增加系统的容错性,本实施方式中针对每个系统分区,可以在系统分区的系统启动失败次数大于等于预设阈值时,才确定该系统分区无法启动。
在该实施方式中,在启动系统时,默认从第一系统分区进行,若第一系统分区的系统启动成功,则流程结束;若第一系统分区的系统启动失败,则判断该第一系统分区的系统启动失败次数是否大于等于预设阈值,若不大于等于,则继续从第一系统分区进行系统启动,若系统启动成功,则流程结束,若直至该第一系统分区的系统启动失败次数大于等于该预设阈值,第一系统分区的系统启动仍失败,则确定该第一系统分区无法启动。此时,可以切换到所述第二系统分区进行系统启动;若第二系统分区的系统启动成功,则流程结束;若第二系统分区的系统启动失败,则判断该第二系统分区的系统启动失败次数是否大于等于预设阈值,若不大于等于,则继续从第二系统分区进行系统启动,若系统启动成功,则流程结束,若直至该第二系统分区的系统启动失败次数大于等于该预设阈值,第二系统分区的系统启动仍失败,则确定所述第二系统分区均无法启动。
本实施方式通过增加各系统分区的启动尝试次数,提高系统异常判断的容错性,避免系统异常启动的误判造成的切换开销。
在本公开一种可能的实施方式中,所述切换模块被配置为:
若所述第一系统分区的系统启动失败次数大于等于预设阈值,则确定所述第二系统分区是否可用;若所述第二系统分区可用,则切换到所述第二系统分区进行系统启动。
在该实施方式中,在切换到第二系统分区进行系统启动之前,可以先判断第二系统份分区是否可用,只有在可用的情况下,才可以切换到所述第二系统分区进行系统启动,避免多余的切换启动,以提高系统启动效率。
在本公开一种可能的实施方式中,所述装置还包括:
第二确定模块,被配置为若所述第二系统分区不可用,则确定所述第一系统分区和所述第二系统分区均无法启动。
在该实施方式中,在切换到第二系统分区进行系统启动之前,若确定第二系统份分区不可用,此时可以直接确定第二系统分区无法启动,避免切换到第二系统分区进行多次失败的启动,以提高系统启动效率。
这里需要说明的是,可以配置系统标识来指示该第二系统分区是否可用,若该系统标识置位即标识位置1,则确定该第二系统分区可用,若该系统标识复位即标识位清0,则确定该第二系统分区不可用。
在本公开一种可能的实施方式中,所述装置还包括:
第三确定模块,被配置为在获取升级文件进行系统升级时,确定当前启动的系统分区;
升级模块,被配置为基于所述升级文件对当前未启动的系统分区的系统进行升级。
在该实施方式中, 在获取升级文件需要进行系统升级时,如果当前启动的是第一系统分区,此时不能对第一系统分区进行系统升级,由于配置了第二系统分区来作为第一系统分区的备份,故,可以对未启动的第二系统分区的系统进行升级。示例的,假设存储区配置的两个系统分区为A分区和B分区,A分区和B分区当前的系统版本为1.0版本,在获取2.0版本的系统文件时,若启动的是A分区时可以给B分区的系统升级为2.0版本,此时A分区的系统为1.0版本,B分区的系统为2.0版本;若启动的是B分区时可以给A分区的系统升级为2.0版本,此时B分区的系统为1.0版本,A分区的系统为2.0版本;这样,A分区和B分区可以互为版本回退关系,方便相近版本之间的联动测试。
在本公开一种可能的实施方式中,所述装置还包括:
更新模块,被配置为根据升级后的系统分区对镜像区的系统镜像文件进行更新。
在该实施方式中,为了使镜像区的系统镜像文件是最新版本的,可以在进行系统升级后,根据升级后的系统分区对镜像区的系统镜像文件进行更新。
在本公开一种可能的实施方式中,所述装置还包括:
第二恢复模块,被配置为若所述第二系统分区的系统启动成功,则基于所述镜像区的系统镜像文件恢复所述第一系统分区的系统文件。
在该实施方式中,在第一系统分区的系统启动失败切换到第二系统分区进行系统启动时,若第二系统分区的系统启动成功,可以基于所述镜像区的系统镜像文件恢复所述第一系统分区的系统文件,如此可以及时恢复第一系统分区。
本公开还公开了一种嵌入式设备,图4示出根据本公开的实施例的嵌入式设备的结构框图。
如图4所示,所述嵌入式设备400包括存储器401和处理器402,其中,存储器401用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器402执行以实现根据本公开的实施例的方法。
本公开实施例还提供一种芯片,所述芯片包括上述备份启动装置,所述芯片可以是任意一种可以实现备份启动装置的芯片,所述装置可以通过软件、硬件或者两者的结合实现成为芯片的部分或者全部。
图5示出适于用来实现本公开实施例方法的计算机系统的结构示意图。
如图5所示,计算机系统500包括处理单元501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行上述实施例中的各种处理。在RAM503中,还存储有计算机系统500操作所需的各种程序和数据。处理单元501、ROM502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。其中,所述处理单元501可实现为CPU、GPU、TPU、FPGA、NPU等处理单元。
特别地,根据本公开的实施例,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括计算机指令,该计算机指令被处理器执行时实现上文所述的方法步骤。在这样的实施例中,该计算机程序产品可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过可编程硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中电子设备或计算机系统中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (17)

1.一种嵌入式系统架构的备份启动方法,其特征在于,所述嵌入式系统架构包括在存储区配置第一系统分区、第二系统分区和镜像区,所述方法包括:
若所述第一系统分区和所述第二系统分区均无法启动,则根据所述镜像区的系统镜像文件恢复所述第一系统分区和所述第二系统分区的系统文件;
基于所述第一系统分区恢复的系统文件,从所述第一系统分区进行系统启动。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一系统分区的系统启动失败次数大于等于预设阈值,则切换到所述第二系统分区进行系统启动;
若所述第二系统分区的系统启动失败次数大于等于预设阈值,则确定所述第一系统分区和所述第二系统分区均无法启动。
3.根据权利要求2所述的方法,其特征在于,所述若所述第一系统分区的系统启动失败次数大于等于预设阈值,则切换到所述第二系统分区进行系统启动,包括:
若所述第一系统分区的系统启动失败次数大于等于预设阈值,则确定所述第二系统分区是否可用;
若所述第二系统分区可用,则切换到所述第二系统分区进行系统启动。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述第二系统分区不可用,则确定所述第一系统分区和所述第二系统分区均无法启动。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在获取升级文件进行系统升级时,确定当前启动的系统分区;
基于所述升级文件对当前未启动的系统分区的系统进行升级。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
根据升级后的系统分区对镜像区的系统镜像文件进行更新。
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述第二系统分区的系统启动成功,则基于所述镜像区的系统镜像文件恢复所述第一系统分区的系统文件。
8.一种嵌入式系统架构的备份启动装置,其特征在于,所述嵌入式系统架构包括在存储区配置第一系统分区、第二系统分区和镜像区,所述装置包括:
第一恢复模块,被配置为若所述第一系统分区和所述第二系统分区均无法启动,则根据所述镜像区的系统镜像文件恢复所述第一系统分区和所述第二系统分区的系统文件;
启动模块,被配置为基于所述第一系统分区恢复的系统文件,从所述第一系统分区进行系统启动。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
切换模块,被配置为若所述第一系统分区的系统启动失败次数大于等于预设阈值,则切换到所述第二系统分区进行系统启动;
第一确定模块,被配置为若所述第二系统分区的系统启动失败次数大于等于预设阈值,则确定所述第一系统分区和所述第二系统分区均无法启动。
10.根据权利要求9所述的装置,其特征在于,所述切换模块被配置为:
若所述第一系统分区的系统启动失败次数大于等于预设阈值,则确定所述第二系统分区是否可用;若所述第二系统分区可用,则切换到所述第二系统分区进行系统启动。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第二确定模块,被配置为若所述第二系统分区不可用,则确定所述第一系统分区和所述第二系统分区均无法启动。
12.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第三确定模块,被配置为在获取升级文件进行系统升级时,确定当前启动的系统分区;
升级模块,被配置为基于所述升级文件对当前未启动的系统分区的系统进行升级。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
更新模块,被配置为根据升级后的系统分区对镜像区的系统镜像文件进行更新。
14.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二恢复模块,被配置为若所述第二系统分区的系统启动成功,则基于所述镜像区的系统镜像文件恢复所述第一系统分区的系统文件。
15.一种嵌入式设备,其特征在于,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现权利要求1至7任一项所述的方法。
16.一种可读存储介质,其特征在于,其上存储有计算机指令,该计算机指令被处理器执行时实现权利要求1至7任一项所述的方法步骤。
17.一种芯片,其特征在于,所述芯片包括如权利要求8至14任一项所述的备份启动装置。
CN202211304625.8A 2022-10-24 2022-10-24 嵌入式系统架构的备份启动方法、装置、设备及芯片 Active CN115373906B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211304625.8A CN115373906B (zh) 2022-10-24 2022-10-24 嵌入式系统架构的备份启动方法、装置、设备及芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211304625.8A CN115373906B (zh) 2022-10-24 2022-10-24 嵌入式系统架构的备份启动方法、装置、设备及芯片

Publications (2)

Publication Number Publication Date
CN115373906A true CN115373906A (zh) 2022-11-22
CN115373906B CN115373906B (zh) 2023-02-17

Family

ID=84073211

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211304625.8A Active CN115373906B (zh) 2022-10-24 2022-10-24 嵌入式系统架构的备份启动方法、装置、设备及芯片

Country Status (1)

Country Link
CN (1) CN115373906B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100115257A1 (en) * 2008-11-06 2010-05-06 Dell Products L.P. Systems and Methods to Provide Failover Support for Booting Embedded Hypervisor From an Internal Non-Volatile Memory Card
CN103678030A (zh) * 2012-09-04 2014-03-26 杭州海康威视数字技术股份有限公司 多系统设备启动系统及其方法
CN104252369A (zh) * 2013-06-27 2014-12-31 上海博泰悦臻电子设备制造有限公司 车载设备及其双系统备份方法及装置
CN104331318A (zh) * 2014-10-27 2015-02-04 上海斐讯数据通信技术有限公司 一种嵌入式双系统及其工作方法
CN106598780A (zh) * 2016-11-22 2017-04-26 深圳中科讯联科技股份有限公司 一种系统备份与恢复的方法及装置
CN109298963A (zh) * 2018-09-06 2019-02-01 锐捷网络股份有限公司 一种系统自恢复的方法及装置
CN111897583A (zh) * 2020-07-06 2020-11-06 上海中船船舶设计技术国家工程研究中心有限公司 一种设备启动方法及嵌入式设备
CN113485764A (zh) * 2021-07-05 2021-10-08 珠海格力电器股份有限公司 一种嵌入式系统及其控制方法、装置和存储介质
CN113515291A (zh) * 2021-04-22 2021-10-19 北京汇钧科技有限公司 设备在线升级方法和装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100115257A1 (en) * 2008-11-06 2010-05-06 Dell Products L.P. Systems and Methods to Provide Failover Support for Booting Embedded Hypervisor From an Internal Non-Volatile Memory Card
CN103678030A (zh) * 2012-09-04 2014-03-26 杭州海康威视数字技术股份有限公司 多系统设备启动系统及其方法
CN104252369A (zh) * 2013-06-27 2014-12-31 上海博泰悦臻电子设备制造有限公司 车载设备及其双系统备份方法及装置
CN104331318A (zh) * 2014-10-27 2015-02-04 上海斐讯数据通信技术有限公司 一种嵌入式双系统及其工作方法
CN106598780A (zh) * 2016-11-22 2017-04-26 深圳中科讯联科技股份有限公司 一种系统备份与恢复的方法及装置
CN109298963A (zh) * 2018-09-06 2019-02-01 锐捷网络股份有限公司 一种系统自恢复的方法及装置
CN111897583A (zh) * 2020-07-06 2020-11-06 上海中船船舶设计技术国家工程研究中心有限公司 一种设备启动方法及嵌入式设备
CN113515291A (zh) * 2021-04-22 2021-10-19 北京汇钧科技有限公司 设备在线升级方法和装置
CN113485764A (zh) * 2021-07-05 2021-10-08 珠海格力电器股份有限公司 一种嵌入式系统及其控制方法、装置和存储介质

Also Published As

Publication number Publication date
CN115373906B (zh) 2023-02-17

Similar Documents

Publication Publication Date Title
US6928579B2 (en) Crash recovery system
US7073053B1 (en) Method and apparatus for a boot progression scheme for reliably initializing a system
US11314665B2 (en) Information processing system, information processing device, BIOS updating method for information processing device, and BIOS updating program for information processing device
US7194614B2 (en) Boot swap method for multiple processor computer systems
CN106775674B (zh) 一种基于通用引导加载程序的设备及其启动方法
CN113254048B (zh) 引导程序更新方法、装置、设备及计算机可读介质
CN110780942A (zh) 系统启动方法、装置、节点设备及计算机可读存储介质
CN112328358A (zh) 一种基于虚拟机的双系统启动方法及存储介质
CN115113905A (zh) 固件升级方法和固件升级装置
US10824517B2 (en) Backup and recovery of configuration files in management device
CN110308935B (zh) 电子装置及其操作方法
CN115373906B (zh) 嵌入式系统架构的备份启动方法、装置、设备及芯片
JP2005284902A (ja) 端末装置、その制御方法及び制御プログラム、ホスト装置、その制御方法及び制御プログラム、遠隔更新システム、方法及びプログラム
CN115658152A (zh) 固件升级方法、固件、电子设备和计算机可读存储介质
CN113377425B (zh) Bmc固件生成方法和装置、bmc启动方法和装置及存储介质
CN115827046A (zh) 实现spl分区ota升级的方法及装置、终端设备、芯片
CN111045709B (zh) 固件升级方法和固件升级装置
CN114237722A (zh) 一种系统的启动方法、装置、设备及工程车辆
CN111694608A (zh) 终端设备的系统升级方法和装置、电子设备和终端设备
CN114185606B (zh) 一种基于嵌入式系统提高系统运行可靠性的方法和装置
CN110659052A (zh) 网络设备中系统软件的更新方法、系统及可读存储介质
CN114265603A (zh) 基于不对称分区的系统升级方法、装置和电子设备
CN114064086B (zh) 多级处理器系统及其升级方法
EP3798831B1 (en) Resilient upgradable boot loader with power reset
EP2449463A1 (en) A method, apparatus and computer program for loading files during a boot- up process

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