[发明专利]基于预分配FAT文件系统的坏簇处理方法及装置有效
申请号: | 201310688001.5 | 申请日: | 2013-12-13 |
公开(公告)号: | CN103678604A | 公开(公告)日: | 2014-03-26 |
发明(设计)人: | 谢君华;周小强;谭晓勇 | 申请(专利权)人: | 深圳市博实结电子有限公司;深圳市博实结科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 深圳市顺天达专利商标代理有限公司 44217 | 代理人: | 李琴 |
地址: | 518131 广东省深圳市宝安区民治*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 分配 fat 文件系统 处理 方法 装置 | ||
技术领域
本发明涉及存储设备领域,更具体地说,涉及一种基于预分配FAT文件系统的坏簇处理方法及装置。
背景技术
音视频监控设备一般外接存储介质(如硬盘、U盘或SD卡等),通过该存储介质实现对音视频数据的存储。
常见的文件系统包括FAT32、NTFS、EXT2/3等。文件系统将存储介质的一部分簇管理在一起,称之为文件。在存储介质上存储音视频数据时,其核心是将音视频数据源源不断地存储在这些文件上。
无论采用哪种文件系统,随着音视频数据存储时间的增加、存储介质的寿命以及质量的影响,存储介质不可避免的产生损坏。存储介质损坏的直接后果就是损坏的部分无法存储数据,更为严重的后果就是整个存储介质无法进行正常读写操作。
另一方面,通过检测统计,存储介质发生损坏时,其损坏的容量往往只是其存储介质的一小部分,占用整个存储介质空间不到百分之一,而绝大部分都是没有问题,可以继续使用的。
因此,如果因为不到百分之一的存储空间损坏而导致整个存储介质的更换,会产生极大的浪费,付出的代价高。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述仅小部分损坏的存储介质被更换而产生极大浪费的缺陷,提供一种基于预分配FAT文件系统的坏簇处理方法及装置。
本发明解决其技术问题所采用的技术方案是:
一方面,构造一种基于预分配FAT文件系统的坏簇处理方法,包括以下步骤:
在存储介质的预分配文件中存储数据时,若发生存储异常,则记录发生存储异常的预分配文件的文件名以及文件偏移位置;
依据所述文件名、所述文件偏移位置和所述FAT文件系统的FAT表定位导致发生存储异常的预分配文件中的坏簇;
判断所述发生存储异常的预分配文件中的累计坏簇个数是否超过预设阈值,若未超过预设阈值则利用备份簇替换所述坏簇,并继续在所述发生存储异常的预分配文件中存储数据;
若所述累计坏簇个数超过预设阈值,则用另一预分配文件替换所述发生存储异常的预分配文件,以及在新的预分配文件中重新进行数据存储。
在一个实施例中,所述若未超过预设阈值则利用备份簇替换所述坏簇,并继续在所述发生存储异常的预分配文件中存储数据进一步包括:
在所述FAT表中对坏簇进行标记,并根据替换后的簇更新所述FAT表。
在一个实施例中,所述用另一预分配文件替换所述发生存储异常的预分配文件,以及在新的预分配文件中重新进行数据存储进一步包括:
将所述发生存储异常的预分配文件中的簇作为备份簇,并更新FAT表。
在一个实施例中,所述在存储介质的预分配文件中存储数据之前还包括:
将所述存储介质的数据区划分为预分配区和备份区;
其中,所述预分配区包括多个用于存储数据的预分配文件,每个预分配文件包括若干簇,;
所述备份区包括多个用于替换所述预分配文件中的坏簇的备份簇。
在一个实施例中,所述方法进一步包括:
判断所述累计坏簇个数是否大于所述备份簇的数量,若大于,则选择一个或多个预分配文件并将其中的簇作为备份簇。
另一方面,构造一种基于预分配FAT文件系统的坏簇处理装置,包括:
记录模块,用于在存储介质的预分配文件中存储数据时,若发生存储异常,则记录发生存储异常的预分配文件的文件名以及文件偏移位置;
坏簇定位模块,用于依据所述文件名、所述文件偏移位置和所述FAT文件系统的FAT表定位导致发生存储异常的预分配文件中的坏簇;
判断模块,用于判断所述发生存储异常的预分配文件中的累计坏簇个数是否超过预设阈值;
坏簇替换模块,用于若所述判断模块的判断结果为未超过预设阈值则利用备份簇替换坏簇,并继续在所述发生存储异常的预分配文件中存储数据;
文件替换模块,用于若所述判断模块的判断结果为累计坏簇个数超过预设阈值,则用另一预分配文件替换所述发生存储异常的预分配文件,以及在新的预分配文件中重新进行数据存储。
在一个实施例中,所述坏簇替换模块进一步包括:
第一FAT表更新单元,用于在FAT表中对坏簇进行标记,并根据替换后的簇更新FAT表。
在一个实施例中,所述文件替换单元进一步包括:
第二FAT表更新单元,用于将发生存储异常的预分配文件中的簇作为备份簇,并更新FAT表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市博实结电子有限公司;深圳市博实结科技有限公司,未经深圳市博实结电子有限公司;深圳市博实结科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310688001.5/2.html,转载请声明来源钻瓜专利网。