[发明专利]日志子系统写入方法、错误追踪方法及处理器有效
申请号: | 201310747007.5 | 申请日: | 2013-12-30 |
公开(公告)号: | CN103778030B | 公开(公告)日: | 2017-09-22 |
发明(设计)人: | 周涛 | 申请(专利权)人: | 上海晨思电子科技有限公司;晨星半导体股份有限公司 |
主分类号: | G06F11/10 | 分类号: | G06F11/10 |
代理公司: | 深圳市威世博知识产权代理事务所(普通合伙)44280 | 代理人: | 何青瓦 |
地址: | 200120 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 日志 子系统 写入 方法 错误 追踪 处理器 | ||
技术领域
本发明属于计算机数据存储技术领域,涉及一种文件系统的日志子系统的写入方法及处理器、一种文件系统的日志子系统的错误追踪方法及处理器。
背景技术
文件系统是一个现代操作系统的重要组成部分,一方面它负责数据在磁盘上的组织和管理,另一方面它要通过统一的接口,方便而高效的为应用程序提供文件相关的各种操作,对应用程序屏蔽与数据存放和磁盘物理特性相关的各种细节。
数据存放的可靠性是评价文件系统好坏的一个重要方面。而断电容易导致一些正在写入文件系统的数据不能完整写入,下次重新开机文件系统有可能因为数据的不一致性而遭到损坏。很多文件系统为了克服这一缺陷而引入了日志子系统。每次写数据时,先把数据写入日志子系统,再在合适的时机把数据从日志子系统写入本应该写入的位置。这样,如果断电导致日志子系统中的数据有缺失,损坏的只是日志子系统,文件系统本身的一致性是得到保证的,虽然数据可能久了一些。如果断电导致写入文件系统的数据有部分丢失,那么日志子系统中保存的相应数据肯定是完整的,数据可以从日志子系统恢复到文件系统中。
日志子系统对于保证文件系统的可靠性具有重要作用,但日志子系统本身也有可能因为各种软硬件的故障而损坏,这里所说的损坏是指的非断电因素导致的。一般来说,断电只会损坏断电前写的最后一笔数据,而其它因素导致的数据损坏则可能影响任何一个早已写好数据的区域。这种损坏有可能进一步带入文件系统中而使文件系统无法使用。
现有的日志子系统原本有一个简单的CRC(cyclic redundancy check,循环冗余校验码)校验机制。但这一机制只针对一笔事务中的所有数据块计算CRC校验码,当一笔事务中块数过多时,如果其中有数据发生损坏,后期的分析是很难知道损坏的准确位置到底在这些数据块的什么地方的。
有鉴于此,如今迫切需要设计一种新的文件系统日志管理方法,以便改进现有技术的缺陷。
发明内容
本发明所要解决的技术问题是:提供一种文件系统的日志子系统的错误追踪方法及处理器,可在较小影响系统性能的前提下检测出文件系统的日志子系统错误以及错误的较准确位置,从而提升日志子系统的可靠性。
为解决上述技术问题,本发明提供一种文件系统的日志子系统的写入方法,包括:在文件系统的日志子系统向磁盘写入数据块时,计算所述数据块的校验码而获得第一校验码;将所述计算出的数据块的第一校验码保存于磁盘中所述日志子系统的提交块的空余空间中。
为解决上述技术问题,本发明提供一种文件系统的日志子系统的错误追踪方法,包括:在将磁盘中日志子系统的数据块恢复到文件系统的原始位置时,计算所述数据块的校验码而获得第二校验码;判断所述数据块的第二校验码和已保存于磁盘中所述日志子系统的提交块的空余空间的所述数据块的第一校验码的校验结果是否一致,其中,所述数据块的第一校验码和第二校验码的计算方法一致;若所述第二校验码和第一校验码的校验结果不一致,则对所述第二校验码和第一校验码的校验结果不一致的数据块进行处理。
为解决上述技术问题,本发明提供一种处理器,所述处理器包括:第一校验码获得模块,用于在文件系统的日志子系统向磁盘写入数据块时,计算所述数据块的校验码而获得第一校验码;存储模块,用于将所述计算出的数据块的第一校验码保存于磁盘中所述日志子系统的提交块的空余空间中。
为解决上述技术问题,本发明提供另一种处理器,所述处理器包括:第二校验码获得模块,用于在将磁盘中日志子系统的数据块恢复到文件系统的原始位置时,计算所述数据块的校验码而获得第二校验码;判断模块,用于判断所述数据块的第二校验码和已保存于磁盘中所述日志子系统的提交块的空余空间的第一校验码的校验结果是否一致,其中,所述数据块的第一校验码和第二校验码的计算方法一致;执行模块,用于在所述第二校验码和第一校验码的校验结果不一致时,对所述第二校验码和第一校验码的校验结果不一致的数据块进行处理。
本发明的有益效果在于:本发明在将磁盘中日志子系统的数据块恢复到文件系统的原始位置时,计算数据块的校验码而获得第二校验码;判断数据块的第二校验码和已保存于磁盘中日志子系统的提交块的空余空间的数据块的第一校验码的校验结果是否一致;若第二校验码和第一校验码的校验结果不一致,则对第二校验码和第一校验码的校验结果不一致的数据块进行处理。通过这种方式,可在较小影响系统性能的前提下检测出文件系统的日志子系统的错误以及错误的较准确位置,从而提升日志子系统的可靠性。
附图说明
图1为本发明文件系统的日志子系统的写入方法一实施方式的流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海晨思电子科技有限公司;晨星半导体股份有限公司,未经上海晨思电子科技有限公司;晨星半导体股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310747007.5/2.html,转载请声明来源钻瓜专利网。