Ext文件系统有效数据分析方法

文档序号:9631462阅读:457来源:国知局
Ext文件系统有效数据分析方法
【技术领域】
[0001]本发明涉及数据备份还原领域,具体涉及一种EXT文件系统有效数据分析方法。
【背景技术】
[0002]备份还原类软件通常需要对硬盘分区进行快速的备份操作,对分区进行备份的速度也是一项非常重要的性能指标,基于文件系统有效数据的备份方法在保护还原类软件中使用非常广泛。该技术首先分析分区中文件系统有效数据的分配状态,然后根据有效数据分配状态来进行有效数据的备份操作。
[0003]EXT文件系统所在区域分为元数据区和数据区,元数据区包括管理空间需要分配的数据区域、超级块、块组描述符表、块位图,I节点位图,I节点表所在区域。数据区指的是文件内容存放的区域,每个块组Inode表后面的区域都是数据区;文件系统有效数据包含所有的元数据区和已被分配的数据区块中的数据。
[0004]EXT文件系统所有区域被划分为一个个的块,对于同一个文件系统每个块大小都是一样的,EXT文件系统以块作为数据的分配单元和存储的基本单位;所有的块又被分为若干个块组,每个块组内的结构都是大致相同的,每个块组包含的块数都相等,只是由于文件系统的总扇区数并不一定是块组所包含扇区数的整数倍,因此最后一个块组的块数往往小于其他块组。
[0005]EXT文件系统的2号扇区开始是EXT文件系统的超级块,占用2个扇区,其记录了文件系统的综合信息。位于超级块所在块的下一个块是块组描述符表的起始位置,每个块组描述符占用32字节或64字节,每个块组都有这样的一个块组描述符,记录了块组的相关信息,所有的块组描述符集中存放,组成块组描述符表。
[0006]每个块组中都有一个块位图,块位图的地址在该块组的描述符中给出,块位图用于描述本块组所管理的块的分配状态,块位图中的每一位映射本块组中的一个块,如果某个块对应的位设置为0,那么代表该块未分配,为无效数据块,如果对应的位设置为1,则代表该块已分配,为有效数据块。
[0007]现有技术中分析EXT文件系统,判断全部有效数据块的传统方法是:分别从磁盘分区中读取每个块组的块位图,然后根据块位图的分配状态来判断相应的块是否为有效数据块。但是读取全部的块位图会产生大量分散的小读,但是分散的小写或小读操作会增加磁头的寻道时间,造成读取全部块位图的操作就会消耗大量的时间,大大降低了分析EXT文件系统有效数据的速度。

【发明内容】

[0008]针对现有技术中存在的缺陷,本发明的目的在于提供一种快速的EXT文件系统有效数据分析方法,磁盘分区中每个块组均包括元数据区和数据区,其包括以下步骤:
[0009](A)通过读取块组描述符表,判断磁盘分区中每个块组中数据区的分配状态是否为全部已分配状态、全部未分配状态或部分分配状态;
[0010](B)读取分配状态为部分分配状态的块组的块位图,判断分配状态为部分分配状态的块组中数据区每一块的分配状态;
[0011](C)将所有块组的元数据区、全部已分配状态块组中的数据区以及部分分配状态块组的数据区中已分配的块标记为EXT文件系统的有效数据。
[0012]在上述技术方案的基础上,所述步骤(A)中判断块组中数据区是否为全部已分配状态的方法为:读取块组描述符表,遍历块组描述符表中块组描述符,若块组描述符中记录的空闲块数为零,则判断相应块组数据区的分配状态为全部已分配状态。
[0013]在上述技术方案的基础上,所述步骤(A)中判断块组中数据区是否为全部未分配状态的方法为:读取块组描述符表,遍历块组描述符表中块组描述符,若块组描述符中记录的空闲块数等于该块组数据区块的数量,则判断该块组数据区的分配状态为全部未分配状
??τ ο
[0014]在上述技术方案的基础上,所述步骤㈧中判断块组中数据区是否为部分分配状态的方法为:读取块组描述符表,遍历块组描述符表中块组描述符,若块组描述符中记录的空闲块的数量不为零,也不等于该块组数据区块的数量,则判断该块组数据区的分配状态为部分分配状态。
[0015]在上述技术方案的基础上,所述块组描述符表记录每个块组的块位图的起始块号,空闲块数以及i_节点表的起始块号。
[0016]在上述技术方案的基础上,所述块组数据区块的数量的计算方式为:该块组i_节点表的起始块号加上i_节点表所占用块的数量再减去该块组的起始块号得出该块组元数据区块的数量,使用该块组块的总数减去元数据块的数量得到该块组数据区块的数量。
[0017]在上述技术方案的基础上,读取元数据区中超级块,所述超级块记录了相应磁盘分区的总块数,块大小描述值,每块组包含的块数。
[0018]与现有技术相比,本发明的优点在于:通过直接读取块组描述符表判断块组中数据区是否已经全部分配或者全部未分配。进而只需读取部分分配的块组的块位图,有效的降低了读取块位图的数量,能有效提高分析EXT文件系统有效数据的速度。
【附图说明】
[0019]图1为本发明EXT文件系统有效数据分析方法流程图。
【具体实施方式】
[0020]以下结合附图及实施例对本发明作进一步详细说明。
[0021]参见图1所示,本发明一种EXT文件系统有效数据分析方法,其包括以下步骤:
[0022](A)读取元数据区中超级块,所述超级块记录了相应磁盘分区的总块数,块大小描述值,每块组包含的块数,为后续的有效分析做准备。通过读取块组描述符表,判断磁盘分区中每个块组中数据区的分配状态是否为全部已分配状态、全部未分配状态或部分分配状态;
[0023]步骤(A)中判断块组中数据区是否为全部已分配状态的方法为:读取块组描述符表,遍历块组描述符表中块组描述符,若块组描述符中记录的空闲块数为零,则判断该块组数据区的分配状态为全部已分配状态。由于通过读取块组描述符直接完成块组类别的判断,不需要从磁盘分区中读取该块组的块位图进行分析。
[0024]由于在文件系统创建的时将元数据区的数据块都划分为已分配状态。判断块组中数据区是否为全部未分配状态的方法为:读取块组描述符表,遍历块组描述符表中块组描述符,若块组描述符中记录的空闲块数等于该块组数据区块的数量,则判断该块组数据区的分配状态为全部未分配状态。判断块组中数据区是否为部分分配状态的方法为:读取块组描述符表,遍历块组描述符表中块组描述符,若块组描述符中记录的空闲块的数量不为零,也不等于该块组数据区块的数量,则判断该块组数据区的分配状态为部分分配状态。
[0025]块组数据区块的数量的计算方式为:该块组i_节点表的起始块号加上i_节点表所占用块的数量再减去该块组的起始块号得出该块组元数据区块的数量,使用该块组块的总数减去元数据块的数量得到该块组数据区块的数量。
[0026](B)读取分配状态为部分分配状态的块组的块位图,判断分配状态为部分分配状态的块组中数据区每一块的分配状态;其判断方式为,块位图中的每一位映射本块组中的一个块,如果某个块对应的位设置为0,那么代表该块未分配,为无效数据块,如果对应的位设置为1,则代表该块已分配,为有效数据块。
[0027](C)将所有块组的元数据区、全部已分配状态块组中的数据区以及部分分配状态块组的数据区中已分配的块标记为EXT文件系统的有效数据。
[0028]本发明通过直接读取块组描述符表判断块组中数据区是否已经全部分配或者全部未分配。进而只需读取部分分配的块组的块位图,有效的降低了读取块位图的数量,能有效提高分析EXT文件系统有效数据的速度。
[0029]本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
【主权项】
1.一种EXT文件系统有效数据分析方法,磁盘分区中每个块组均包括元数据区和数据区,其特征在于,其包括以下步骤: (A)通过读取块组描述符表,判断磁盘分区中每个块组中数据区的分配状态是否为全部已分配状态、全部未分配状态或部分分配状态; (B)读取分配状态为部分分配状态的块组的块位图,判断分配状态为部分分配状态的块组中数据区每一块的分配状态; (C)将所有块组的元数据区、全部已分配状态块组中的数据区以及部分分配状态块组的数据区中已分配的块标记为EXT文件系统的有效数据。2.如权利要求1所述的EXT文件系统有效数据分析方法,其特征在于,所述步骤(A)中判断块组中数据区是否为全部已分配状态的方法为:读取块组描述符表,遍历块组描述符表中块组描述符,若块组描述符中记录的空闲块数为零,则判断相应块组数据区的分配状态为全部已分配状态。3.如权利要求1所述的EXT文件系统有效数据分析方法,其特征在于,所述步骤(A)中判断块组中数据区是否为全部未分配状态的方法为:读取块组描述符表,遍历块组描述符表中块组描述符,若块组描述符中记录的空闲块数等于该块组数据区块的数量,则判断该块组数据区的分配状态为全部未分配状态。4.如权利要求1所述的EXT文件系统有效数据分析方法,其特征在于,所述步骤(A)中判断块组中数据区是否为部分分配状态的方法为:读取块组描述符表,遍历块组描述符表中块组描述符,若块组描述符中记录的空闲块的数量不为零,也不等于该块组数据区块的数量,则判断该块组数据区的分配状态为部分分配状态。5.如权利要求3或4所述的EXT文件系统有效数据分析方法,其特征在于:所述块组描述符表记录每个块组的块位图的起始块号,空闲块数以及i_节点表的起始块号。6.如权利要求5所述的EXT文件系统有效数据分析方法,其特征在于:所述块组数据区块的数量的计算方式为:该块组i_节点表的起始块号加上i_节点表所占用块的数量再减去该块组的起始块号得出该块组元数据区块的数量,使用该块组块的总数减去元数据块的数量得到该块组数据区块的数量。7.如权利要求1所述的EXT文件系统有效数据分析方法,其特征在于,还包括:读取元数据区中超级块,所述超级块记录了相应磁盘分区的总块数,块大小描述值,每块组包含的块数。
【专利摘要】本发明公开了一种EXT文件系统有效数据分析方法,涉及数据备份还原领域,磁盘分区中每个块组均包括元数据区和数据区,其包括:将磁盘分区中每个块组的元数据区判断为全部已分配状态;通过读取块组描述符表,判断磁盘分区中每个块组中数据区的分配状态是否为全部已分配状态、全部未分配状态或部分分配状态;判断分配状态为部分分配状态的块组中数据区每一块的分配状态;将所有块组的元数据区、全部已分配状态块组中的数据区以及部分分配状态块组的数据区中已分配的块标记为EXT文件系统的有效数据。本发明只需读取部分分配的块组的块位图,有效的降低了读取块位图的数量,能有效提高分析EXT文件系统有效数据的速度。
【IPC分类】G06F11/14
【公开号】CN105389232
【申请号】CN201510715609
【发明人】谈振华
【申请人】武汉噢易云计算有限公司
【公开日】2016年3月9日
【申请日】2015年10月28日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1