CN112395130A - 一种系统备份的方法和设备 - Google Patents
一种系统备份的方法和设备 Download PDFInfo
- Publication number
- CN112395130A CN112395130A CN201910743701.7A CN201910743701A CN112395130A CN 112395130 A CN112395130 A CN 112395130A CN 201910743701 A CN201910743701 A CN 201910743701A CN 112395130 A CN112395130 A CN 112395130A
- Authority
- CN
- China
- Prior art keywords
- firmware
- verification
- storage area
- fails
- passes
- 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
- 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/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Abstract
本发明实施例提出了一种系统备份的方法和设备,应用于设置有双存储区的系统待升级设备;该方法包括:当接收到系统升级的指令时,基于系统升级指令选择一存储区设置为启动区,并从启动区中选择当前未运行且排序最前的固件进行校验;若校验不通过,则选择另一存储区中与校验未通过的固件相同类型的固件进行校验;若所选择的固件校验通过,则运行校验通过的固件,并将启动区从原存储区更新为另一存储区,并执行从启动区中当前未运行且排序最前的固件进行校验的操作,直到系统备份完成。采用了双存储区存储系统镜像文件,可靠性更高,且由于系统镜像文件包括多个独立的固件,每个部分独立备份和修复,提高修复速度,固件升级时也更加灵活。
Description
技术领域
本发明涉及数据备份领域,特别涉及一种系统备份的方法和设备。
背景技术
目前嵌入式设备双备份实现方法,一般是在一个存储区中保存两个独立的系统镜像,当系统运行过程中出现故障时,硬件看门狗会触发系统重启,然后在引导程序中通过镜像校验选择一个正确的镜像继续运行,从而保证系统的可靠运行。
嵌入式设备启动的时候,首先运行的是嵌入式处理器中固化的引导代码,接着是存储区中的系统引导程序,然后才是系统镜像,而现有的双备份方法,虽然备份了两个独立的系统镜像,但存储区只有一份引导程序,如果该引导程序损坏,将会造成系统无法运行,另外,现有方案只使用了一个存储区,如果该存储区出现硬件故障,即使存储区中内容没有损坏,也会造成系统也无法启动。
由此目前的备份方案可靠性不高,目前需要一种可靠性更高的数据备份方案。
发明内容
针对现有技术中的缺陷,本发明提出了一种系统备份的方法和设备,
具体的,本发明提出了以下具体的实施例:
本发明实施例提出了一种系统备份的方法,应用于设置有双存储区的系统待升级设备,在各存储区内均设置有包括多个不同类型固件的相同系统镜像文件;在不同存储区内相同类型的固件是相同的;各所述固件之间存在有先后次序,相同类型的固件在各自存储区内的位置相同;该方法包括:
当接收到系统升级的指令时,基于所述系统升级指令选择一存储区设置为启动区,并从启动区中选择当前未运行且排序最前的固件进行校验;
若校验不通过,则选择另一存储区中与校验未通过的固件相同类型的固件进行校验;
若所选择的固件校验通过,则运行校验通过的固件,并将启动区从原存储区更新为另一存储区,并执行从启动区中当前未运行且排序最前的固件进行校验的操作,直到系统备份完成。
在一个具体的实施例中,所述系统镜像文件包括5个类型的固件,按照先后次序依次包括:作为uboot的引导程序的SPL、作为kernel引导程序的u-boot、kernel、作为根文件系统的Rootfs、以及用户应用程序。
在一个具体的实施例中,该方法还包括:
将校验未通过的固件进行标记,并记录在日志中。
在一个具体的实施例中,在系统成功备份后,该方法还包括:
通过校验通过的固件对相同类型的校验未通过的固件进行修复。
在一个具体的实施例中,所述“通过校验通过的固件对相同类型的校验未通过的固件进行修复”,包括:
在存储区中,将校验未通过的固件替换为相同类型的校验通过的固件。
本发明实施例还提出了一种系统备份的设备,应用于设置有双存储区的系统待升级设备,在各存储区内均设置有包括多个不同类型固件的相同系统镜像文件;在不同存储区内相同类型的固件是相同的;各所述固件之间存在有先后次序,相同类型的固件在各自存储区内的位置相同;该设备包括:
第一校验模块,用于当接收到系统升级的指令时,基于所述系统升级指令选择一存储区设置为启动区,并从启动区中选择当前未运行且排序最前的固件进行校验;
第二校验模块,用于当校验不通过时,选择另一存储区中与校验未通过的固件相同类型的固件进行校验;
备份完成模块,用于当所选择的固件校验通过,运行校验通过的固件,并将启动区从原存储区更新为另一存储区,并执行从启动区中当前未运行且排序最前的固件进行校验的操作,直到系统备份完成。
在一个具体的实施例中,所述系统镜像文件包括5个类型的固件,按照先后次序依次包括:作为uboot的引导程序的SPL、作为kernel引导程序的u-boot、kernel、作为根文件系统的Rootfs、以及用户应用程序。
在一个具体的实施例中,该设备还包括:
记录模块,用于将校验未通过的固件进行标记,并记录在日志中。
在一个具体的实施例中,该设备还包括:修复模块,用于在系统成功备份后,通过校验通过的固件对相同类型的校验未通过的固件进行修复。
在一个具体的实施例中,所述修复模块,用于:
在存储区中,将校验未通过的固件替换为相同类型的校验通过的固件。
以此,本发明实施例提出了一种系统备份的方法和设备,应用于设置有双存储区的系统待升级设备,在各存储区内均设置有包括多个不同类型固件的相同系统镜像文件;在不同存储区内相同类型的固件是相同的;各所述固件之间存在有先后次序,相同类型的固件在各自存储区内的位置相同;该方法包括:当接收到系统升级的指令时,基于所述系统升级指令选择一存储区设置为启动区,并从启动区中选择当前未运行且排序最前的固件进行校验;若校验不通过,则选择另一存储区中与校验未通过的固件相同类型的固件进行校验;若所选择的固件校验通过,则运行校验通过的固件,并将启动区从原存储区更新为另一存储区,并执行从启动区中当前未运行且排序最前的固件进行校验的操作,直到系统备份完成。采用了双存储区存储系统镜像文件,以此即使一个存储区出现硬件故障,系统依然可以继续运行,可靠性更高,且由于系统镜像文件包括多个独立的固件,每个部分独立备份和修复,该方式可以提高修复速度,固件升级时也更加灵活。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提出的一种系统备份的方法的流程示意图;
图2为本发明实施例提出的一种具体应用场景下的系统备份的方法的流程示意图;
图3为本发明实施例提出的一种系统备份的方法中所涉及到的嵌入式设备启动过程示意图;
图4为本发明实施例提出的一种系统备份的方法中所涉及到的存储区固件的示意图;
图5为本发明实施例提出的一种系统备份的设备的流程示意图;
图6为本发明实施例提出的一种系统备份的设备的结构示意图;
图7为本发明实施例提出的一种系统备份的设备的结构示意图。
具体实施方式
在下文中,将更全面地描述本公开的各种实施例。本公开可具有各种实施例,并且可在其中做出调整和改变。然而,应理解:不存在将本公开的各种实施例限于在此公开的特定实施例的意图,而是应将本公开理解为涵盖落入本公开的各种实施例的精神和范围内的所有调整、等同物和/或可选方案。
在本公开的各种实施例中使用的术语仅用于描述特定实施例的目的并且并非意在限制本公开的各种实施例。如在此所使用,单数形式意在也包括复数形式,除非上下文清楚地另有指示。除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本公开的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本公开的各种实施例中被清楚地限定。
实施例1
本发明实施例1公开了一种系统备份的方法,应用于设置有双存储区的系统待升级设备,在各存储区内均设置有包括多个不同类型固件的相同系统镜像文件;在不同存储区内相同类型的固件是相同的;各所述固件之间存在有先后次序,相同类型的固件在各自存储区内的位置相同;如图1或图2所示,该方法包括以下步骤:
步骤101、当接收到系统升级的指令时,基于所述系统升级指令选择一存储区设置为启动区,并从启动区中选择当前未运行且排序最前的固件进行校验;
步骤102、若校验不通过,则选择另一存储区中与校验未通过的固件相同类型的固件进行校验;
步骤103、若所选择的固件校验通过,则运行校验通过的固件,并将启动区从原存储区更新为另一存储区,并执行从启动区中当前未运行且排序最前的固件进行校验的操作,直到系统备份完成。
具体的,如图3所示,为嵌入式设备启动过程,具体的是基于linux的嵌入式系统软件启动过程,其中ROM code是固化到CPU中的代码,一般不能修改,SPL为uboot的引导程序,u-boot为kernel引导程序,Rootfs为根文件系统,App为用户应用程序,除了ROM code无法修改外,其它任何一个固件,如果启动失败,则会造成嵌入式系统软件无法正常工作。
在一个具体的实施例中,如图4所示,所述系统镜像文件包括5个类型的固件,按照先后次序依次包括:作为uboot的引导程序的SPL、作为kernel引导程序的u-boot、kernel、作为根文件系统的Rootfs、以及用户应用程序。
如图2以及图4所示,采用了双存储区,同时每一个存储区又划分5个区域,每个区域独立保存一种固件,由于存储区0和存储区1都包含了设备运行所需的全部固件,所以任何一个存储区出现硬件故障时,系统都能够正常启动,运行。如果是另外一种情况,例如存储区0的APP0固件损坏,那么可以从存储区1中获取备份的APP1,然后修复APP0并启动系统。
具体的在一个实施例中,该方法还包括:
将校验未通过的固件进行标记,并记录在日志中。
具体的如图2所示,在一个实际的实施例中,固件如果校验没有通过会记录在nErrFlag中,在系统成功启动后,可以选择是否修复出现故障的固件。
进一步的,在系统成功备份后,该方法还包括:
通过校验通过的固件对相同类型的校验未通过的固件进行修复。
具体的,在一实施例中,具体的修复方式可以为直接替换,以此所述“通过校验通过的固件对相同类型的校验未通过的固件进行修复”,包括:
在存储区中,将校验未通过的固件替换为相同类型的校验通过的固件。
以此,本方案采用了双存储区存储系统镜像,且将系统存储镜像划分为5个独立固件,并对每个固件单独备份。可以独立对单个固件进行修复或者升级。
本方案的采用系统双备份方法和现有方法对比,有以下优点:
1,采用了双存储区存储系统镜像,即使一个存储区出现硬件故障,系统依然可以继续运行。
2,将备份的镜像按照功能分割成5个独立部分,每个部分独立备份和修复,该方式可以提高修复速度,固件升级时也更加灵活。
实施例2
本发明实施例2还提出了一种系统备份的设备,应用于设置有双存储区的系统待升级设备,在各存储区内均设置有包括多个不同类型固件的相同系统镜像文件;在不同存储区内相同类型的固件是相同的;各所述固件之间存在有先后次序,相同类型的固件在各自存储区内的位置相同;如图5所示,该设备包括:
第一校验模块201,用于当接收到系统升级的指令时,基于所述系统升级指令选择一存储区设置为启动区,并从启动区中选择当前未运行且排序最前的固件进行校验;
第二校验模块202,用于当校验不通过时,选择另一存储区中与校验未通过的固件相同类型的固件进行校验;
备份完成模块203,用于当所选择的固件校验通过,运行校验通过的固件,并将启动区从原存储区更新为另一存储区,并执行从启动区中当前未运行且排序最前的固件进行校验的操作,直到系统备份完成。
在一个具体的实施例中,所述系统镜像文件包括5个类型的固件,按照先后次序依次包括:作为uboot的引导程序的SPL、作为kernel引导程序的u-boot、kernel、作为根文件系统的Rootfs、以及用户应用程序。
在一个具体的实施例中,如图6所示,该设备还包括:
记录模块204,用于将校验未通过的固件进行标记,并记录在日志中。
在一个具体的实施例中,如图7所示,该设备还包括:修复模块205,用于在系统成功备份后,通过校验通过的固件对相同类型的校验未通过的固件进行修复。
在一个具体的实施例中,所述修复模块205,用于:
在存储区中,将校验未通过的固件替换为相同类型的校验通过的固件。
以此,本发明实施例提出了一种系统备份的方法和设备,应用于设置有双存储区的系统待升级设备,在各存储区内均设置有包括多个不同类型固件的相同系统镜像文件;在不同存储区内相同类型的固件是相同的;各所述固件之间存在有先后次序,相同类型的固件在各自存储区内的位置相同;该方法包括:当接收到系统升级的指令时,基于所述系统升级指令选择一存储区设置为启动区,并从启动区中选择当前未运行且排序最前的固件进行校验;若校验不通过,则选择另一存储区中与校验未通过的固件相同类型的固件进行校验;若所选择的固件校验通过,则运行校验通过的固件,并将启动区从原存储区更新为另一存储区,并执行从启动区中当前未运行且排序最前的固件进行校验的操作,直到系统备份完成。采用了双存储区存储系统镜像文件,以此即使一个存储区出现硬件故障,系统依然可以继续运行,可靠性更高,且由于系统镜像文件包括多个独立的固件,每个部分独立备份和修复,该方式可以提高修复速度,固件升级时也更加灵活。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (10)
1.一种系统备份的方法,其特征在于,应用于设置有双存储区的系统待升级设备,在各存储区内均设置有包括多个不同类型固件的相同系统镜像文件;在不同存储区内相同类型的固件是相同的;各所述固件之间存在有先后次序,相同类型的固件在各自存储区内的位置相同;该方法包括:
当接收到系统升级的指令时,基于所述系统升级指令选择一存储区设置为启动区,并从启动区中选择当前未运行且排序最前的固件进行校验;
若校验不通过,则选择另一存储区中与校验未通过的固件相同类型的固件进行校验;
若所选择的固件校验通过,则运行校验通过的固件,并将启动区从原存储区更新为另一存储区,并执行从启动区中当前未运行且排序最前的固件进行校验的操作,直到系统备份完成。
2.如权利要求1所述的一种系统备份的方法,其特征在于,所述系统镜像文件包括5个类型的固件,按照先后次序依次包括:作为uboot的引导程序的SPL、作为kernel引导程序的u-boot、kernel、作为根文件系统的Rootfs、以及用户应用程序。
3.如权利要求1所述的一种系统备份的方法,其特征在于,还包括:
将校验未通过的固件进行标记,并记录在日志中。
4.如权利要求1或3所述的一种系统备份的方法,其特征在于,在系统成功备份后,该方法还包括:
通过校验通过的固件对相同类型的校验未通过的固件进行修复。
5.如权利要求4所述的一种系统备份的方法,其特征在于,所述“通过校验通过的固件对相同类型的校验未通过的固件进行修复”,包括:
在存储区中,将校验未通过的固件替换为相同类型的校验通过的固件。
6.一种系统备份的设备,其特征在于,应用于设置有双存储区的系统待升级设备,在各存储区内均设置有包括多个不同类型固件的相同系统镜像文件;在不同存储区内相同类型的固件是相同的;各所述固件之间存在有先后次序,相同类型的固件在各自存储区内的位置相同;该设备包括:
第一校验模块,用于当接收到系统升级的指令时,基于所述系统升级指令选择一存储区设置为启动区,并从启动区中选择当前未运行且排序最前的固件进行校验;
第二校验模块,用于当校验不通过时,选择另一存储区中与校验未通过的固件相同类型的固件进行校验;
备份完成模块,用于当所选择的固件校验通过,运行校验通过的固件,并将启动区从原存储区更新为另一存储区,并执行从启动区中当前未运行且排序最前的固件进行校验的操作,直到系统备份完成。
7.如权利要求6所述的一种系统备份的设备,其特征在于,所述系统镜像文件包括5个类型的固件,按照先后次序依次包括:作为uboot的引导程序的SPL、作为kernel引导程序的u-boot、kernel、作为根文件系统的Rootfs、以及用户应用程序。
8.如权利要求6所述的一种系统备份的设备,其特征在于,还包括:
记录模块,用于将校验未通过的固件进行标记,并记录在日志中。
9.如权利要求6或8所述的一种系统备份的设备,其特征在于,还包括:修复模块,用于在系统成功备份后,通过校验通过的固件对相同类型的校验未通过的固件进行修复。
10.如权利要求9所述的一种系统备份的设备,其特征在于,所述修复模块,用于:
在存储区中,将校验未通过的固件替换为相同类型的校验通过的固件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910743701.7A CN112395130A (zh) | 2019-08-13 | 2019-08-13 | 一种系统备份的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910743701.7A CN112395130A (zh) | 2019-08-13 | 2019-08-13 | 一种系统备份的方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112395130A true CN112395130A (zh) | 2021-02-23 |
Family
ID=74602524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910743701.7A Pending CN112395130A (zh) | 2019-08-13 | 2019-08-13 | 一种系统备份的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112395130A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115095950A (zh) * | 2022-05-20 | 2022-09-23 | 北京小米移动软件有限公司 | 控制空调器的方法、装置、电子设备及存储介质 |
-
2019
- 2019-08-13 CN CN201910743701.7A patent/CN112395130A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115095950A (zh) * | 2022-05-20 | 2022-09-23 | 北京小米移动软件有限公司 | 控制空调器的方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6907602B2 (en) | Method for updating firmware of computer device | |
US7734945B1 (en) | Automated recovery of unbootable systems | |
CN102023908B (zh) | 一种引导程序备份方法及装置 | |
US8135993B1 (en) | Updating a firmware image using a firmware debugger application | |
US7509544B2 (en) | Data repair and synchronization method of dual flash read only memory | |
CN106775610B (zh) | 一种电子设备启动方法及一种电子设备 | |
CN104834575A (zh) | 一种固件恢复方法及装置 | |
CN109062598A (zh) | 一种安全的ota升级方法及系统 | |
CN102929665B (zh) | 用于驱动安装的系统 | |
US11314665B2 (en) | Information processing system, information processing device, BIOS updating method for information processing device, and BIOS updating program for information processing device | |
CN111182033B (zh) | 一种交换机还原的方法和设备 | |
CN110780942A (zh) | 系统启动方法、装置、节点设备及计算机可读存储介质 | |
CN113157303A (zh) | 升级方法、嵌入式系统、终端及计算机存储介质 | |
WO2015184732A1 (zh) | 引导程序的存储方法、故障恢复方法及设备、计算机存储介质 | |
CN111090546A (zh) | 一种操作系统重启方法、装置、设备及可读存储介质 | |
CN111273928B (zh) | 一种自升级的bootloader设计方法 | |
CN112395130A (zh) | 一种系统备份的方法和设备 | |
CN105760242A (zh) | 自助设备的驱动程序自适应方法及装置 | |
WO2021012170A1 (zh) | 固件启动方法、设备及计算机可读存储介质 | |
CN109815055B (zh) | 卫星程序管理系统和卫星程序管理方法 | |
JP2005284902A (ja) | 端末装置、その制御方法及び制御プログラム、ホスト装置、その制御方法及び制御プログラム、遠隔更新システム、方法及びプログラム | |
US20220179746A1 (en) | Electronic apparatus and boot method thereof | |
CN111552498B (zh) | 一种实现显示屏的屏参升级的方法及系统 | |
CN112394965B (zh) | 电池管理系统升级和运行方法,控制器,电池管理系统及存储介质 | |
CN112667444A (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 |