CN104216800A - 一种基于数据冗余的系统故障自动恢复方法及装置 - Google Patents

一种基于数据冗余的系统故障自动恢复方法及装置 Download PDF

Info

Publication number
CN104216800A
CN104216800A CN201410425988.6A CN201410425988A CN104216800A CN 104216800 A CN104216800 A CN 104216800A CN 201410425988 A CN201410425988 A CN 201410425988A CN 104216800 A CN104216800 A CN 104216800A
Authority
CN
China
Prior art keywords
subregion
system file
file
work
work subregion
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
Application number
CN201410425988.6A
Other languages
English (en)
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.)
Fujian Star Net eVideo Information Systems Co Ltd
Original Assignee
Fujian Star Net eVideo Information Systems 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 Fujian Star Net eVideo Information Systems Co Ltd filed Critical Fujian Star Net eVideo Information Systems Co Ltd
Priority to CN201410425988.6A priority Critical patent/CN104216800A/zh
Publication of CN104216800A publication Critical patent/CN104216800A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请公开了一种基于数据冗余的系统故障自动恢复方法,包括:A、对闪存进行分区操作,获得用于存储系统文件的各个工作分区,对于所述每一工作分区分别生成对应的备份分区;将系统文件分别存储到相应工作分区及其对应的备份分区;B、系统启动后,读取工作分区中的系统文件,判断所述系统文件是否正常,若是,执行正常系统启动流程,并结束本流程,否则执行步骤C;C、读取所述工作分区对应的备份分区中的系统文件,根据所读取的系统文件恢复所述工作分区,并重启系统,返回步骤B。本申请还公开了一种基于数据冗余的系统故障自动恢复装置。通过应用本申请方案。系统能自动地进行检测并恢复故障,提高产品稳定性,改善用户体验。

Description

一种基于数据冗余的系统故障自动恢复方法及装置
技术领域
本申请涉及计算机数据处理技术领域,尤其涉及一种基于数据冗余的系统故障自动恢复方法及装置。
背景技术
目前,嵌入式系统中多以nor闪存(flash)或nand flash来保存非易失性数据。nor flash虽无烧写次数限制的问题,但由于其成本因素,不适宜用来在嵌入式产品中存储大容量的数据。nand flash虽然成本低,适合存储大容量非易失数据,但由于其物理及工艺特性,又存在着有限的烧写次数以及坏块问题。尽管硬件驱动程序和文件系统中有针对nand flash的坏块处理机制,但实际应用中还是频频造成系统故障,出现系统无法正常启动或是产品不能正常工作的问题。另外,用户实际使用中的误操作,也有可能造成系统文件或是配置文件缺失,从而会引起系统故障。
发明内容
本申请提供了一种基于数据冗余的系统故障自动恢复方法及装置,能自动地进行检测并恢复系统故障。
本申请实施例提供的一种基于数据冗余的系统故障自动恢复方法,包括:
A、对闪存进行分区操作,获得用于存储系统文件的各个工作分区,对于所述每一工作分区分别生成对应的备份分区;将系统文件分别存储到相应工作分区及其对应的备份分区;
B、系统启动后,读取工作分区中的系统文件,判断所述系统文件是否正常,若是,执行正常系统启动流程,并结束本流程,否则执行步骤C;
C、读取所述工作分区对应的备份分区中的系统文件,根据所读取的系统文件恢复所述工作分区,并重启系统,返回步骤B。
较佳地,所述工作分区包括系统内核分区、根文件系统分区以及至少一个应用分区。
较佳地,步骤A所述将系统文件分别存储到相应工作分区及其对应的备份分区之后进一步包括:对工作分区中存储的系统文件进行校验计算,将所得校验值存储在工作分区中;
步骤B所述判断所述系统文件是否正常包括:对工作分区中存储的系统文件进行校验计算,将所得校验值与工作分区中存储的校验值进行比较,若一致则判定系统文件正常,若不一致则判定系统文件不正常。
较佳地,所述校验算法为CRC32算法或MD5算法。
较佳地,所述闪存为nand闪存。
本申请实施例还提供了一种基于数据冗余的系统故障自动恢复装置,包括:初始化模块,判断模块和恢复处理模块;
初始化模块,用于对闪存进行分区操作,获得用于存储系统文件的各个工作分区,对于所述每一工作分区分别生成对应的备份分区;将系统文件分别存储到相应工作分区及其对应的备份分区;
判断模块,用于在系统启动后,读取工作分区中的系统文件,判断所述系统文件是否正常,若不正常,使能恢复处理模块;
恢复处理模块,用于读取所述工作分区对应的备份分区中的系统文件,根据所读取的系统文件恢复所述工作分区,并重启系统。
较佳地,所述工作分区包括系统内核分区、根文件系统分区以及至少一个应用分区。
较佳地,所述初始化模块进一步包括:初始校验单元,用于对工作分区中存储的系统文件进行校验计算,将所得校验值存储在工作分区中;
所述判断模块包括:
校验计算单元,用于对工作分区中存储的系统文件进行校验计算,得到校验值;
判断单元,用于将所述校验计算单元得到的校验值与工作分区中存储的校验值进行比较,若一致则判定系统文件正常;若不一致则判定系统文件不正常;
使能单元,用于在所述判断单元判定系统文件不正常时,使能恢复处理模块。
较佳地,所述校验算法为CRC32算法或MD5算法。
较佳地,所述闪存为nand闪存。
从以上技术方案可以看出,设置存储冗余系统文件数据的备份分区,在系统启动时,若发现系统文件异常,则从备份分区中获取相应的冗余系统文件对工作分区中的异常系统文件进行恢复。通过应用本申请方案。系统能自动地进行检测并恢复故障,提高产品稳定性,改善用户体验。
附图说明
图1为本申请方法的基本流程示意图;
图2为本申请实施例提供的基于数据冗余的系统故障自动恢复方法流程示意图;
图3为本申请的一个实施例提供的系统故障自动恢复装置的框图;
图4为本申请的另一实施例提供的系统故障自动恢复装置的框图。
具体实施方式
为克服现有的nand flash保存非易失数据过程中存在的不足,充分利用其成本低的优势,本申请提供了一种基于数据冗余的系统故障自动恢复方法,如图1所示,包括如下步骤:
步骤101:对闪存进行分区操作,获得用于存储系统文件的各个工作分区,对于所述每一工作分区分别生成对应的备份分区;将系统文件分别存储到相应工作分区及其对应的备份分区;
步骤102:系统启动后,读取工作分区中的系统文件,判断所述系统文件是否正常,若是,执行正常系统启动流程,并结束本流程,否则执行步骤103;
步骤103:读取所述工作分区对应的备份分区中的系统文件,根据所读取的系统文件恢复所述工作分区,并重启系统,返回步骤102。
本申请方案较为适用于nand flash。对于nor flash,虽然其不容易出现坏块,但由于误操作或其他原因也会出现数据损坏的问题,同样可以应用本申请方案解决这一问题。
为使本申请技术方案的技术原理、特点以及技术效果更加清楚,以下结合具体实施例对本申请技术方案进行详细阐述。
为了应用本申请方案,在系统分区时,对于每一工作分区分别生成对应的备份分区;例如,对于kernel分区,要相应生成对应的kernel备份分区,对于根文件系统分区,要相应生成对应的根文件系统备份分区。对闪存进行烧写时,除了将系统文件数据存储到工作分区,还要将与之相同的冗余系统文件数据存储到与该工作分区对应的备份分区。
本申请实施例提供的基于数据冗余的系统故障自动恢复方法流程如图2所示,包括如下步骤:
步骤201:系统上电,运行bootloader引导程序;
步骤202:读取系统内核(kernel)分区中的系统文件到内存,通过CRC32或MD5特征值比对,判断系统文件是否异常;若是,执行步骤203,否则执行步骤204;
步骤203:读取冗余备份数据,恢复错误的kernel分区,重新启动,返回步骤201;
步骤204:挂载根文件系统(root file system)分区,通过CRC32或MD5特征值比对,判断关键系统文件是否异常;若是,执行步骤205,否则执行步骤206;
步骤205:读取根文件系统分区对应的备份分区的冗余备份数据,恢复错误的根文件系统分区,重新启动,返回步骤201;
步骤206:依次挂载各个应用分区(例如flashutils分区、config分区、dmb分区等),通过分区挂载状态和关键系统文件的CRC32或MD5值比对,判断是否出现异常,若是执行步骤207,若所有应用分区均正常执行步骤208;
步骤207:读取异常应用分区对应的备份分区的冗余备份数据,恢复该异常的应用分区,重新启动,返回步骤201;
步骤208:系统正常启动。
图3为本申请实施例提供的一种基于数据冗余的系统故障自动恢复装置的框图,该系统故障自动恢复装置300包括:初始化模块301,判断模块302和恢复处理模块303;
初始化模块301,用于对闪存进行分区操作,获得用于存储系统文件的各个工作分区,对于所述每一工作分区分别生成对应的备份分区;将系统文件分别存储到相应工作分区及其对应的备份分区;
判断模块302,用于在系统启动后,读取工作分区中的系统文件,判断所述系统文件是否正常,若不正常,使能恢复处理模块303;
恢复处理模块303,用于读取所述工作分区对应的备份分区中的系统文件,根据所读取的系统文件恢复所述工作分区,并重启系统。
根据本申请的另一实施例,所述工作分区包括系统内核分区、根文件系统分区以及至少一个应用分区。
图4为本申请的另一实施例提供的系统故障自动恢复装置300的框图。其中,初始化模块301进一步包括:初始校验单元3011,用于对工作分区中存储的系统文件进行校验计算,将所得校验值存储在工作分区中;
所述判断模块302包括:
校验计算单元3021,用于对工作分区中存储的系统文件进行校验计算,得到校验值;
判断单元3022,用于将所述校验计算单元得到的校验值与工作分区中存储的校验值进行比较,若一致则判定系统文件正常;若不一致则判定系统文件不正常;
使能单元3023,用于在所述判断单元判定系统文件不正常时,使能恢复处理模块303。
根据本申请的另一实施例,所述校验算法为CRC32算法或MD5算法。
根据本申请的另一实施例,所述闪存为nand闪存。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请的保护范围,凡在本申请技术方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种基于数据冗余的系统故障自动恢复方法,其特征在于,包括:
A、对闪存进行分区操作,获得用于存储系统文件的各个工作分区,对于所述每一工作分区分别生成对应的备份分区;将系统文件分别存储到相应工作分区及其对应的备份分区;
B、系统启动后,读取工作分区中的系统文件,判断所述系统文件是否正常,若是,执行正常系统启动流程,并结束本流程,否则执行步骤C;
C、读取所述工作分区对应的备份分区中的系统文件,根据所读取的系统文件恢复所述工作分区,并重启系统,返回步骤B。
2.根据权利要求1所述的系统故障自动恢复方法,其特征在于,所述工作分区包括系统内核分区、根文件系统分区以及至少一个应用分区。
3.根据权利要求1所述的系统故障自动恢复方法,其特征在于,步骤A所述将系统文件分别存储到相应工作分区及其对应的备份分区之后进一步包括:对工作分区中存储的系统文件进行校验计算,将所得校验值存储在工作分区中;
步骤B所述判断所述系统文件是否正常包括:对工作分区中存储的系统文件进行校验计算,将所得校验值与工作分区中存储的校验值进行比较,若一致则判定系统文件正常,若不一致则判定系统文件不正常。
4.根据权利要求3所述的系统故障自动恢复方法,其特征在于,所述校验算法为CRC32算法或MD5算法。
5.根据权利要求1至4任一项所述的系统故障自动恢复方法,其特征在于,所述闪存为nand闪存。
6.一种基于数据冗余的系统故障自动恢复装置,其特征在于,包括:初始化模块,判断模块和恢复处理模块;
初始化模块,用于对闪存进行分区操作,获得用于存储系统文件的各个工作分区,对于所述每一工作分区分别生成对应的备份分区;将系统文件分别存储到相应工作分区及其对应的备份分区;
判断模块,用于在系统启动后,读取工作分区中的系统文件,判断所述系统文件是否正常,若不正常,使能恢复处理模块;
恢复处理模块,用于读取所述工作分区对应的备份分区中的系统文件,根据所读取的系统文件恢复所述工作分区,并重启系统。
7.根据权利要求6所述的系统故障自动恢复装置,其特征在于,所述工作分区包括系统内核分区、根文件系统分区以及至少一个应用分区。
8.根据权利要求6所述的系统故障自动恢复装置,其特征在于,所述初始化模块进一步包括:初始校验单元,用于对工作分区中存储的系统文件进行校验计算,将所得校验值存储在工作分区中;
所述判断模块包括:
校验计算单元,用于对工作分区中存储的系统文件进行校验计算,得到校验值;
判断单元,用于将所述校验计算单元得到的校验值与工作分区中存储的校验值进行比较,若一致则判定系统文件正常;若不一致则判定系统文件不正常;
使能单元,用于在所述判断单元判定系统文件不正常时,使能恢复处理模块。
9.根据权利要求8所述的系统故障自动恢复装置,其特征在于,所述校验算法为CRC32算法或MD5算法。
10.根据权利要求6至9任一项所述的系统故障自动恢复装置,其特征在于,所述闪存为nand闪存。
CN201410425988.6A 2014-08-27 2014-08-27 一种基于数据冗余的系统故障自动恢复方法及装置 Pending CN104216800A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410425988.6A CN104216800A (zh) 2014-08-27 2014-08-27 一种基于数据冗余的系统故障自动恢复方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410425988.6A CN104216800A (zh) 2014-08-27 2014-08-27 一种基于数据冗余的系统故障自动恢复方法及装置

Publications (1)

Publication Number Publication Date
CN104216800A true CN104216800A (zh) 2014-12-17

Family

ID=52098319

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410425988.6A Pending CN104216800A (zh) 2014-08-27 2014-08-27 一种基于数据冗余的系统故障自动恢复方法及装置

Country Status (1)

Country Link
CN (1) CN104216800A (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105068891A (zh) * 2015-08-14 2015-11-18 惠州Tcl移动通信有限公司 一种修复eMMC文件的方法及终端
CN105608150A (zh) * 2015-12-17 2016-05-25 浪潮电子信息产业股份有限公司 一种业务数据的处理方法及系统
CN106227625A (zh) * 2016-09-05 2016-12-14 深圳震有科技股份有限公司 一种因掉电而损坏的闪存数据的恢复方法及系统
CN106598481A (zh) * 2016-10-13 2017-04-26 武汉长江通信智联技术有限公司 一种车载预分配fat32录像文件系统的保护方法
CN107315668A (zh) * 2017-06-26 2017-11-03 郑州云海信息技术有限公司 分布式存储系统数据一致性自动化快速检测方法及装置
CN108038022A (zh) * 2017-12-19 2018-05-15 盛科网络(苏州)有限公司 一种提高交换机系统存储稳定性的方法
CN108874582A (zh) * 2017-05-15 2018-11-23 上海宽翼通信科技有限公司 一种系统恢复方法、装置及终端
CN109933464A (zh) * 2019-02-28 2019-06-25 深圳市伟文无线通讯技术有限公司 mifi软件自我修复方法
CN110083493A (zh) * 2018-01-25 2019-08-02 厦门雅迅网络股份有限公司 一种嵌入式系统故障自恢复方法、终端设备及存储介质
CN110162429A (zh) * 2019-05-27 2019-08-23 深圳市网心科技有限公司 系统修复方法、服务器及存储介质
CN110674046A (zh) * 2019-09-24 2020-01-10 上海航天电子通讯设备研究所 提高星载嵌入式文件系统可靠性的方法
CN111241005A (zh) * 2020-01-09 2020-06-05 杭州涂鸦信息技术有限公司 一种基于键值对的安全分区存储方法及系统
CN111736908A (zh) * 2020-06-24 2020-10-02 上海麦腾物联网技术有限公司 一种嵌入式双系统中分阶段启动的控制方法
CN112565896A (zh) * 2019-09-10 2021-03-26 深圳Tcl数字技术有限公司 一种系统修复方法、终端及存储介质
WO2023103755A1 (zh) * 2021-12-10 2023-06-15 中兴通讯股份有限公司 终端的启动方法、电子设备和计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000058834A1 (en) * 1999-03-30 2000-10-05 Tivo, Inc. Software installation and recovery system
CN101782859A (zh) * 2010-03-18 2010-07-21 上海乐毅信息科技有限公司 一种嵌入式系统在应用中的升级方法
CN103473067A (zh) * 2013-09-23 2013-12-25 福建三元达软件有限公司 嵌入式Linux分区与数据还原方法、系统及系统开发方法
CN103514065A (zh) * 2012-06-29 2014-01-15 国基电子(上海)有限公司 具自动检测和恢复功能的电子装置及方法
CN103677947A (zh) * 2014-01-03 2014-03-26 深圳英飞拓科技股份有限公司 基于linux的设备双系统保护及升级方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000058834A1 (en) * 1999-03-30 2000-10-05 Tivo, Inc. Software installation and recovery system
CN101782859A (zh) * 2010-03-18 2010-07-21 上海乐毅信息科技有限公司 一种嵌入式系统在应用中的升级方法
CN103514065A (zh) * 2012-06-29 2014-01-15 国基电子(上海)有限公司 具自动检测和恢复功能的电子装置及方法
CN103473067A (zh) * 2013-09-23 2013-12-25 福建三元达软件有限公司 嵌入式Linux分区与数据还原方法、系统及系统开发方法
CN103677947A (zh) * 2014-01-03 2014-03-26 深圳英飞拓科技股份有限公司 基于linux的设备双系统保护及升级方法

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105068891A (zh) * 2015-08-14 2015-11-18 惠州Tcl移动通信有限公司 一种修复eMMC文件的方法及终端
CN105068891B (zh) * 2015-08-14 2020-09-29 Tcl移动通信科技(宁波)有限公司 一种修复eMMC文件的方法及终端
CN105608150A (zh) * 2015-12-17 2016-05-25 浪潮电子信息产业股份有限公司 一种业务数据的处理方法及系统
CN106227625B (zh) * 2016-09-05 2019-08-20 深圳震有科技股份有限公司 一种因掉电而损坏的闪存数据的恢复方法及系统
CN106227625A (zh) * 2016-09-05 2016-12-14 深圳震有科技股份有限公司 一种因掉电而损坏的闪存数据的恢复方法及系统
CN106598481A (zh) * 2016-10-13 2017-04-26 武汉长江通信智联技术有限公司 一种车载预分配fat32录像文件系统的保护方法
CN106598481B (zh) * 2016-10-13 2019-06-14 武汉长江通信智联技术有限公司 一种车载预分配fat32录像文件系统的保护方法
CN108874582A (zh) * 2017-05-15 2018-11-23 上海宽翼通信科技有限公司 一种系统恢复方法、装置及终端
CN107315668A (zh) * 2017-06-26 2017-11-03 郑州云海信息技术有限公司 分布式存储系统数据一致性自动化快速检测方法及装置
CN108038022A (zh) * 2017-12-19 2018-05-15 盛科网络(苏州)有限公司 一种提高交换机系统存储稳定性的方法
CN110083493A (zh) * 2018-01-25 2019-08-02 厦门雅迅网络股份有限公司 一种嵌入式系统故障自恢复方法、终端设备及存储介质
CN109933464A (zh) * 2019-02-28 2019-06-25 深圳市伟文无线通讯技术有限公司 mifi软件自我修复方法
CN109933464B (zh) * 2019-02-28 2021-04-30 深圳市伟文无线通讯技术有限公司 mifi软件自我修复方法
CN110162429A (zh) * 2019-05-27 2019-08-23 深圳市网心科技有限公司 系统修复方法、服务器及存储介质
CN110162429B (zh) * 2019-05-27 2021-09-24 深圳市网心科技有限公司 系统修复方法、服务器及存储介质
CN112565896A (zh) * 2019-09-10 2021-03-26 深圳Tcl数字技术有限公司 一种系统修复方法、终端及存储介质
CN112565896B (zh) * 2019-09-10 2023-09-19 深圳Tcl数字技术有限公司 一种系统修复方法、终端及存储介质
CN110674046A (zh) * 2019-09-24 2020-01-10 上海航天电子通讯设备研究所 提高星载嵌入式文件系统可靠性的方法
CN111241005A (zh) * 2020-01-09 2020-06-05 杭州涂鸦信息技术有限公司 一种基于键值对的安全分区存储方法及系统
CN111736908A (zh) * 2020-06-24 2020-10-02 上海麦腾物联网技术有限公司 一种嵌入式双系统中分阶段启动的控制方法
WO2023103755A1 (zh) * 2021-12-10 2023-06-15 中兴通讯股份有限公司 终端的启动方法、电子设备和计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN104216800A (zh) 一种基于数据冗余的系统故障自动恢复方法及装置
CN106776122A (zh) 一种基于Flash启动过程中主备保护的方法
CA2845523C (en) Secure recovery apparatus and method
TWI490876B (zh) 系統啟動引導處理方法及裝置
CN109690493B (zh) 用于修复去重存储装置中的映像的系统和方法
CN104094236B (zh) 防止数据丢失的系统和方法
CN108646982B (zh) 一种基于ubifs的数据自动修复方法及装置
WO2013040537A1 (en) Weave sequence counter for non-volatile memory systems
CN102024502B (zh) 闪存器件测试方法、装置及板卡和网络设备
CN111045870B (zh) 一种保存与恢复元数据的方法、装置和介质
CN102110032A (zh) 一种提高配置文件可靠性的方法及装置
CN105138433A (zh) 对嵌入式Linux操作系统中的UBIFS文件系统备份方法
CN102369513A (zh) 提高计算机系统稳定性的方法及计算机系统
CN115793985A (zh) 一种安全存储方法、装置、设备及存储介质
CN114706661A (zh) 虚拟机的容灾备份方法、系统、计算机设备及存储介质
CN105786545B (zh) 基于异构混合内存的断点恢复方法和系统
CN111552592A (zh) 一种双备份启动方法及系统
CN105550071A (zh) 系统文件升级及检测方法、通信设备
CN108255644B (zh) 文件系统恢复方法及装置
KR101548452B1 (ko) 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치
CN109086162B (zh) 一种内存诊断方法和装置
WO2015078192A1 (zh) 一种数据处理方法及设备
CN106844088B (zh) 一种raid存储系统的数据发送方法及装置
KR101545077B1 (ko) 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치
US11537468B1 (en) Recording memory errors for use after restarts

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20141217

RJ01 Rejection of invention patent application after publication