书签 分享 收藏 举报 版权申诉 / 7

一种文件系统的断电保护方法.pdf

  • 上传人:li****8
  • 文档编号:4890182
  • 上传时间:2018-11-24
  • 格式:PDF
  • 页数:7
  • 大小:398.36KB
  • 摘要
    申请专利号:

    CN201110336102.7

    申请日:

    2011.10.28

    公开号:

    CN103092719A

    公开日:

    2013.05.08

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    登录超时

    IPC分类号:

    G06F11/14; G06F17/30

    主分类号:

    G06F11/14

    申请人:

    浙江大华技术股份有限公司

    发明人:

    姚国勤; 陈小军; 吴立; 潘海江; 杨斌; 张兴明; 傅利泉; 朱江明; 吴军; 吴坚

    地址:

    310053 浙江省杭州市滨江区滨安路1187号

    优先权:

    专利代理机构:

    北京邦信阳专利商标代理有限公司 11012

    代理人:

    王昭林

    PDF完整版下载: PDF下载
    内容摘要

    本发明涉及一种文件系统的断电保护方法,包括:1.一种文件系统的断电保护方法,其特征在于,该方法包括以下步骤:将文件系统在运行过程中可能会修改的关键数据都保存两份,对应为关键数据区一和关键数据区二;写日志,包括:把关键数据中需要修改的数据的地址以及数据的长度记录到日志中;同步计数更新一次;以及计算校验码;把日志保存到日志区一,对应为日志一;在关键数据区一修改数据;把日志保存到日志区二,对应为日志二;在关键数据区二修改数据;以及,在断电重启后数据的恢复步骤包括:读取日志一和日志二,校验日志一和日志二的完整性,根据日志一和日志二的完整性以及日志一和日志二的日志记录的信息来恢复关键数据。

    权利要求书

    权利要求书一种文件系统的断电保护方法,其特征在于,该方法包括以下步骤:
    将文件系统在运行过程中可能会修改的关键数据都保存两份,对应为关键数据区一和关键数据区二;
    写日志,所述日志记录的信息包括关键数据中需要修改的数据的地址以及数据的长度;同步计数,关键数据每修改一次,同步计数更新一次;以及校验码,该校验码用于确认该条日志是否完整;
    所述写日志的步骤包括:把关键数据中需要修改的数据的地址以及数据的长度记录到日志中;同步计数更新一次;以及计算校验码;
    把日志保存到日志区一,对应为日志一;
    在关键数据区一修改数据;
    把日志保存到日志区二,对应为日志二;
    在关键数据区二修改数据;
    以及,在断电重启后数据的恢复步骤包括:
    读取日志一和日志二,校验日志一和日志二的完整性,根据日志一和日志二的完整性以及日志一和日志二的日志记录的信息来恢复关键数据。
    根据权利要求1所述的文件系统的断电保护方法,其特征在于,如果校验结果为日志一不完整,日志二完整,则将日志二拷贝给日志一。
    根据权利要求1所述的文件系统的断电保护方法,其特征在于,如果校验结果为日志一完整,日志二不完整,则根据日志一中记录的地址以及数据长度,从关键数据区一中读取这些数据,写到关键数据区二,然后把日志一写入到日志区二。
    根据权利要求1所述的文件系统的断电保护方法,其特征在于,如果校验结果为日志一和日志二都完整,以及日志一的同步计数相对于日志二同步计数多更新了一次,则根据日志一中记录的地址以及数据长度,从关键数据区二中读取这些数据,写到关键数据区一,然后把日志二写入到日志区一;如果比较结果为两块日志都完整,以及日志一同步计数与日志二同步计数相同,则根据日志一或二中记录的地址以及数据长度,从关键数据区一中读取这些数据,写到关键数据区二。

    说明书

    说明书一种文件系统的断电保护方法
    技术领域
    本发明涉及信息处理技术领域,尤其涉及文件系统的断电保护方法。
    背景技术
    在数字化音视频监控领域,随着嵌入式技术的发展,嵌入式数字硬盘录像机(EDVR,Embedded Digital Video Recorder)在性能、功能、适用性、可维护性、稳定性各方面有了根本性的改善,因此其应用领域也越来越广,从最初的金融领域发展到交通、公安、电力、移动车载、采矿等各种应用场所。随着应用环境的多样化、复杂化,对嵌入式数字硬盘录像机的可靠性和故障恢复能力提出了更高的要求。
    常见的嵌入式硬盘录像机无法正常录像或丢失录像文件主要是由于系统异常掉电等原因引起的文件系统关键信息丢失或不完整等原因导致的错误。
    传统的文件系统,如fat32、ext3等在异常断电这块做的并不是很好,经常在多次异常断电后出现大量文件丢失,或者文件系统遭到破坏无法再恢复。其主要原因是文件系统在更新关键数据时发生断电,此时就可能造成文件丢失,或者文件系统关键数据不完整造成文件系统不可用的情况。针对这一问题,目前已有一种解决办法就是在格式化时把文件系统关键数据一次性写完,以后就不再修改,这种方法会使文件系统不具有通用性,不能适用很多应用场景。
    发明内容
    为克服上述不足,本发明提供了一种文件系统的断电保护方法,该方法包括以下步骤:
    将文件系统在运行过程中可能会修改的关键数据都保存两份,对应为关键数据区一和关键数据区二;
    写日志,所述日志记录的信息包括关键数据中需要修改的数据的地址以及数据的长度;同步计数,关键数据每修改一次,同步计数更新一次;以及校验码,该校验码用于确认该条日志是否完整;
    所述写日志的步骤包括:把关键数据中需要修改的数据的地址以及数据的长度记录到日志中;同步计数更新一次;以及计算校验码;
    把日志保存到日志区一,对应为日志一;
    在关键数据区一修改数据;
    把日志保存到日志区二,对应为日志二;
    在关键数据区二修改数据;
    以及,在断电重启后数据的恢复步骤包括:
    读取日志一和日志二,校验日志一和日志二的完整性,根据日志一和日志二的完整性以及日志一和日志二的日志记录的信息来恢复关键数据。
    通过本发明,保证了异常断电时,文件目录完整,减少文件的丢失,防止文件系统因为异常断电造成崩溃。
    附图说明
    图1是根据本发明一个实施方案的修改关键数据的流程图;
    图2是根据本发明一个实施方案的断电恢复的流程图。
    具体实施方式
    下面结合附图和实例,对本发明的监控存储设备文件系统的断电保护方法做进一步阐述。
    本发明所采用的技术方案包括硬盘分区格式化、关键数据的修改、断电重启后关键数据的恢复三个方面。
    在进行介绍之前,先说明下本发明中的日志中需要记录的信息:1、关键数据中需要修改的地址以及数据的长度,用于记录关键数据中修改了哪些地方,这样在断电恢复的时候只需要把其中一份关键数据中的部分数据写入到另一份就行了,不需要整份关键数据都拷贝过去,可以节省断电恢复的时间;2、同步计数,关键数据每修改一次(这里的一次为一个修改过程,即为两块关键数据区都修改),同步计数更新一次,同步计数多更新一次的日志对应的关键数据更新(例如,同步计数加1,在此情况下,同步计数大的日志对应的那块关键数据更新),同时也用于恢复关键数据时判断哪份数据是完整的;3、校验码,用于确认该条日志是否完整,因为断电也可能发生在写日志的过程中,此时日志可能只写了部分数据,那么这份日志就不是一份完整的日志。
    硬盘分区格式化包括:
    1.1)、文件系统的关键数据都保存两份,分别记为关键数据区一,二。
    1.2)、分配出两块区域用于记录日志,分别记为日志区一、二,每块区域记录一份日志。
    关键数据的修改过程如下,对应流程图见图1:
    2.1)在做修改之前,先在内存中写好日志。把关键数据中需要修改的地址以及数据的长度记录到日志中,同步计数加1,计算校验码。(此处使用CRC校验的方式计算校验码)。但可以理解,任何可以用于实现本发明中所提及的校验码的用意的校验码计算方法都可以使用。如上文所述,本发明中校验码用于确认一条日志是否完整。
    2.2)把日志保存到日志区一。
    2.3)在关键数据区一修改数据。
    2.4)把日志保存到日志区二。
    2.5)在关键数据区二修改数据。
    断电重启后关键数据的恢复过程如下,对应流程图见图2:
    3.1)分别从日志区一、二中读取两份日志,记为日志一、二。
    3.2)首先校验这两份日志的完整性,日志的完整性有三种情况:1、在写日志区一的时候发生断电,日志只写入了部分没有完全写入,这种情况日志一是不完整的(对应于校验失败);2、在写日志区二的时候发生断电,日志只写入了部分没有完全写入,这种情况日志二是不完整的(对应于校验失败);3、断电没有发生在写日志区的过程中,这种情况下两份日志都是完整(对应于校验成功)的。
    3.3)若日志一不完整,即发生了3.2)中的第一种情况。这种情况说明还没开始写关键数据区,关键数据是完整的,只是最后那份修改的数据丢了。只需要把日志二写到日志区一中就行了。
    3.4)若日志二不完整,即发生了3.2)中的第二种情况。这种情况说明关键数据已经成功写入到关键数据区一,还没开始写关键数据区二,需要更新关键数据区二的数据。根据日志一中记录的地址以及数据长度,从关键数据区一中读取这些数据,写到关键数据区二。然后把日志一写入到日志区二。
    3.5)若两块日志都是完整的(即,两块日志的信息都正确),即发生了3.2)中的第三种情况。那么断电可能发生在写关键数据区的时候,光从日志的完整性已经无法分析出关键数据的写入情况了,需要比较两份日志中的的同步计数。两份日志中的同步计数有三种情况:1、在写关键数据区一的时候发生断电,此时日志成功写入到日志区一,还没有写日志区二,这种情况日志一中的同步计数比日志二中的同步计数大1;2、断电发生在写关键数据区二,此时日志成功写入到日志区一、二,这种情况两份日志的同步计数相同;3、断电没有发生在写关键数据区和日志的时候,此时既没写日志也没写关键数据,这种情况两份日志的同步计数也都相同。
    3.6)若日志一中的同步计数比日志二中的同步计数大1,即发生了3.5)中的第一种情况。这种情况无法断定关键数据是否已经成功写入到关键数据区一,需要恢复关键数据区一中的修改。根据日志一中记录的地址以及数据长度,从关键数据区二中读取这些数据,写到关键数据区一。然后把日志二写入到日志区一。
    3.7)若同步计数相同,无法分辩是发生了3.5)中的第二种还是第三种情况,统一当第二种情况处理,因为如果是第三种情况无非就是多了一次无用的数据拷贝,不影响数据的正确性。这种情况无法断定关键数据是否已经成功写入到关键数据区二,需要更新关键数据区二的数据,此时两份日志的数据是完全相同的。
    根据日志(日志一或日志二)中记录的地址以及数据长度,从关键数据区一中读取这些数据,写到关键数据区二。

    关 键  词:
    一种 文件系统 断电 保护 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种文件系统的断电保护方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4890182.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1