一种基于数据冗余的系统故障自动恢复方法及装置制造方法及图纸

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

【技术实现步骤摘要】
【专利摘要】本申请公开了一种基于数据冗余的系统故障自动恢复方法,包括:A、对闪存进行分区操作,获得用于存储系统文件的各个工作分区,对于所述每一工作分区分别生成对应的备份分区;将系统文件分别存储到相应工作分区及其对应的备份分区;B、系统启动后,读取工作分区中的系统文件,判断所述系统文件是否正常,若是,执行正常系统启动流程,并结束本流程,否则执行步骤C;C、读取所述工作分区对应的备份分区中的系统文件,根据所读取的系统文件恢复所述工作分区,并重启系统,返回步骤B。本申请还公开了一种基于数据冗余的系统故障自动恢复装置。通过应用本申请方案。系统能自动地进行检测并恢复故障,提高产品稳定性,改善用户体验。【专利说明】一种基于数据冗余的系统故障自动恢复方法及装置
本申请涉及计算机数据处理
,尤其涉及一种基于数据冗余的系统故障自 动恢复方法及装置。
技术介绍
目前,嵌入式系统中多以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特征值比 对,判断关键系统文件是否异常;本文档来自技高网...

【技术保护点】
一种基于数据冗余的系统故障自动恢复方法,其特征在于,包括:A、对闪存进行分区操作,获得用于存储系统文件的各个工作分区,对于所述每一工作分区分别生成对应的备份分区;将系统文件分别存储到相应工作分区及其对应的备份分区;B、系统启动后,读取工作分区中的系统文件,判断所述系统文件是否正常,若是,执行正常系统启动流程,并结束本流程,否则执行步骤C;C、读取所述工作分区对应的备份分区中的系统文件,根据所读取的系统文件恢复所述工作分区,并重启系统,返回步骤B。

【技术特征摘要】

【专利技术属性】
技术研发人员:袁嘉晟游磊青梁文森
申请(专利权)人:福建星网视易信息系统有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1