一种文件系统的掉电保护方法及装置制造方法及图纸

技术编号:17879355 阅读:48 留言:0更新日期:2018-05-06 01:03
本申请实施例中公开了一种文件系统的掉电保护方法及装置,该方法为基于预设的文件与起始簇之间的关联关系,确定目标文件对应的起始簇;基于设置的FAT和起始簇,获得目标文件对应的包含第一文件结束簇的第一簇链;将选取的空闲簇与第二文件结束簇进行链接后,添加到删除第一文件结束簇的第一簇链中,获得第二簇链;将目标文件的数据写入到第二簇链包含的各个数据簇中,确定目标文件的数据全部写入时,将目标文件对应的属性信息进行更新。这样,避免了在修改FAT表时,由于掉电后没有文件结束簇造成的访问越界的问题,以及避免了在修改文件的属性信息时掉电后造成的访问越界问题。

A method and device for power down protection of a file system

In the application embodiment, a file system's power down protection method and device are disclosed, which determines the starting cluster corresponding to the target file based on the association between the default file and the starting cluster; the first cluster chain corresponding to the first file end cluster corresponding to the target file is obtained based on the set FAT and the starting cluster; After the selected free cluster is linked with the end cluster of the second file, it is added to the first cluster of the first file to delete the first cluster of the first file. The second cluster chains are obtained. The data of the target file is written into each of the data clusters contained in the second cluster chain, and the attribute information corresponding to the target file is entered when all the data of the target file are written. Update. In this way, it avoids the problem of accessing the boundary caused by the failure of the file end cluster after the power off of the FAT table, and avoids the access cross boundary problem caused by the power loss when the file's property information is modified.

【技术实现步骤摘要】
一种文件系统的掉电保护方法及装置
本申请涉及计算机
,尤其涉及一种文件系统的掉电保护方法及装置。
技术介绍
在Dos/Windows系列操作系统中通常采用文件分配表(FileAllocationTable,FAT)文件系统对文件进行管理和操作。其中,所谓FAT文件系统包括目录项集合、FAT表和存储设备。主要工作原理为:首先,通过目录项集合,获取文件对应的起始簇;然后,通过FAT表中记录的各个簇之间的链接关系,确定上述起始簇对应的文件结束簇,进而获取包含起始簇、用于存储数据的数据簇,以及文件结束簇的簇链;进一步地,在存储设备中,对簇链中包含的各个簇进行访问,实现对文件扩展或缩小等操作。其中,簇为数据在存储设备(如,硬盘)中存储的最小单位。用户对文件进行的操作主要分为文件扩展操作和文件缩小操作(如,删除文件或删除文件的部分内容)。一方面,现有技术下,FAT系统对文件进行扩展时,通常采用以下方式:首先,在FAT表中,对记录的文件对应的簇链进行调整,即在FAT表中,将文件对应的簇链的原文件结束簇删除,并将用于写入数据的空闲簇添加到上述簇链中,以及将上述空闲簇与一个新的文件结束簇建立链接,其中,所谓链接是指在FAT表中将一个簇的标号添加到另一个簇的标号对应的表项中,作为上述另一个簇指向的下一个簇,从而形成具有方向的簇链;其次,在存储设备中,将上述文件的数据写入上述调整后的簇链,即数据同步;进一步地,将目录项集合中记录的文件的修改时间和大小等属性数据进行相应的更新;最后,在存储设备中,再次对文件的数据进行同步检查,以防止文件的数据没有完全同步完成。但是,采用这种方式,首先,若FAT系统在删除原文件结束簇之后,并在链接空闲簇与文件结束簇之前掉电,则由于文件对应的簇链没有文件结束簇,因此,造成访问越界的问题,如,可能会访问到系统数据,导致文件系统崩溃;其次,若在对目录项集合进行同步之后,并在对存储设备再次进行数据同步之前掉电,则由于文件的数据存在没有同步完全的问题,因此,可能在后续用户通过目录项信息访问时,获得不正确的数据。另一方面,现有技术下,FAT系统对文件进行缩小时,通常采用以下方式:首先,在FAT表中,将记录的文件对应的簇链进行调整,即在FAT表中将由于文件缩小造成的多余的簇和原文件结束簇进行删除,并调整后的簇链,与新的文件结束簇建立链接,然后,对在目录项集合中对文件的属性信息进行更新。但是,采用这种方式,首先,若FAT系统在删除原文件结束簇之后,并在簇链与新的文件结束簇之间建立链接之前掉电,则也会出现由于簇链没有文件结束簇造成用户访问越界的问题;其次,若在修改FAT表后,并在对目录项集合更新之前掉电,则由于在目录项集合中还没有对文件的属性信息进行相应的更新,因此,在目录项集合中记录的文件的文件大小比FAT表中记录的实际的存储空间大,同样会造成用户访问存储设备的范围越界的问题。
技术实现思路
本申请实施例提供一种文件系统的掉电保护方法及装置,用于在进行文件扩展或者文件缩小的过程中出现掉电的状况时,对文件进行安全防护,从而在后续访问时,提高了访问的文件数据的准确性,避免了访问范围越界的问题。本申请实施例提供的具体技术方案如下:第一方面,一种文件系统的掉电保护方法,应用于对文件进行扩展时,包括:基于预设的文件与起始簇之间的关联关系,确定目标文件对应的起始簇;基于设置的FAT和起始簇,获得目标文件对应的包含第一文件结束簇的第一簇链;将选取的空闲簇与第二文件结束簇进行链接后,添加到删除第一文件结束簇的第一簇链中,获得第二簇链;将目标文件的数据写入到第二簇链包含的各个数据簇中,确定目标文件的数据全部写入时,将目标文件对应的属性信息进行更新。较佳的,将选取的空闲簇与第二文件结束簇进行链接,具体包括:基于目标文件的文件大小,确定选取的空闲簇的数目;按照选取的空闲簇的数目,将选取的各个空闲簇进行链接,并将链接的各个空闲簇中的最后一个空闲簇,与选取的第二文件结束簇进行链接。较佳的,在将选取的空闲簇与第二文件结束簇进行链接后,并在获得第二簇链之前,进一步包括:确定与第二文件结束簇相链接的空闲簇,与第二文件结束簇不在同一个扇区时,将空闲簇与第二文件结束簇之间的链接信息同步到存储设备中。较佳的,在将目标文件的数据写入到第二簇链包含的各个数据簇中之后,并在确定目标文件的数据全部写入之前,进一步包括:确定第二簇链中的数据簇均写入数据后,若目标文件中存在数据未写入数据簇中,则基于未写入的数据的文件大小,再次选取相应数量的空闲簇;将重新选取的空闲簇与第三文件结束簇建立链接后,添加到删除第二文件结束簇的第二簇链中,获得第三簇链;将未写入数据簇的数据,写入到第三簇链中。第二方面,一种文件系统的掉电保护装置,应用于对文件进行扩展时,包括:确定单元,用于基于预设的文件与起始簇之间的关联关系,确定目标文件对应的起始簇;获得单元,用于基于设置的FAT和起始簇,确定目标文件对应的包含第一文件结束簇的第一簇链;链接单元,用于将选取的空闲簇与第二文件结束簇进行链接后,添加到删除第一文件结束簇的第一簇链中,获得第二簇链;写入单元,用于将目标文件的数据写入到第二簇链包含的各个数据簇中,确定目标文件的数据全部写入时,将目标文件对应的属性信息进行更新。较佳的,在将选取的空闲簇与第二文件结束簇进行链接时,链接单元具体用于:基于目标文件的文件大小,确定选取的空闲簇的数目;按照选取的空闲簇的数目,将选取的各个空闲簇进行链接,并将链接的各个空闲簇中的最后一个空闲簇,与选取的第二文件结束簇进行链接。较佳的,在将选取的空闲簇与第二文件结束簇进行链接后,并在获得第二簇链之前,链接单元还用于:确定与第二文件结束簇相链接的空闲簇,与第二文件结束簇不在同一个扇区时,将空闲簇与第二文件结束簇之间的链接信息同步到存储设备中。较佳的,在将目标文件的数据写入到第二簇链包含的各个数据簇中之后,并在确定目标文件的数据全部写入之前,写入单元还用于:确定第二簇链中的数据簇均写入数据后,若目标文件中存在数据未写入数据簇中,则基于未写入的数据的文件大小,再次选取相应数量的空闲簇;将重新选取的空闲簇与第三文件结束簇建立链接后,添加到删除第二文件结束簇的第二簇链中,获得第三簇链;将未写入数据簇的数据,写入到第三簇链中。第三方面,一种文件系统的掉电保护方法,应用于对文件进行缩小时,包括:基于获取的目标文件的文件大小,将目标文件对应的属性信息进行更新;基于预设的文件与起始簇之间的关联关系,确定目标文件对应的起始簇;基于设置的FAT和起始簇,获得目标文件对应的包含第一文件结束簇的第一簇链;基于文件大小,确定需要删除的数据簇的数目,并将断开与第一文件结束簇和数目的数据簇的第一簇链,与设置的第二文件结束簇建立链接,获得第二簇链;将目标文件的数据写入第二簇链包含的各个数据簇中,并将与第一簇链断开的数目的数据簇进行资源释放,获得空闲簇。第四方面,一种文件系统的掉电保护装置,应用于对文件进行缩小时,包括:更新单元,用于基于获取的目标文件的文件大小,将目标文件对应的属性信息进行更新;确定单元,用于基于预设的文件与起始簇之间的关联关系,确定目标文件对应的起始簇;获得单元,用于基于设置的FAT和起始簇,获得目标文件本文档来自技高网
...
一种文件系统的掉电保护方法及装置

【技术保护点】
一种文件系统的掉电保护方法,其特征在于,应用于对文件进行扩展时,包括:基于预设的文件与起始簇之间的关联关系,确定目标文件对应的起始簇;基于设置的文件分配表FAT和所述起始簇,获得所述目标文件对应的包含第一文件结束簇的第一簇链;将选取的空闲簇与第二文件结束簇进行链接后,添加到删除所述第一文件结束簇的第一簇链中,获得第二簇链;将目标文件的数据写入到所述第二簇链包含的各个数据簇中,确定所述目标文件的数据全部写入时,将所述目标文件对应的属性信息进行更新。

【技术特征摘要】
1.一种文件系统的掉电保护方法,其特征在于,应用于对文件进行扩展时,包括:基于预设的文件与起始簇之间的关联关系,确定目标文件对应的起始簇;基于设置的文件分配表FAT和所述起始簇,获得所述目标文件对应的包含第一文件结束簇的第一簇链;将选取的空闲簇与第二文件结束簇进行链接后,添加到删除所述第一文件结束簇的第一簇链中,获得第二簇链;将目标文件的数据写入到所述第二簇链包含的各个数据簇中,确定所述目标文件的数据全部写入时,将所述目标文件对应的属性信息进行更新。2.如权利要求1所述的方法,其特征在于,将选取的空闲簇与第二文件结束簇进行链接,具体包括:基于所述目标文件的文件大小,确定选取的空闲簇的数目;按照选取的空闲簇的数目,将选取的各个空闲簇进行链接,并将链接的各个空闲簇中的最后一个空闲簇,与选取的第二文件结束簇进行链接。3.如权利要求1所述的方法,其特征在于,在将选取的空闲簇与第二文件结束簇进行链接后,并在获得第二簇链之前,进一步包括:确定与所述第二文件结束簇相链接的空闲簇,与所述第二文件结束簇不在同一个扇区时,将空闲簇与所述第二文件结束簇之间的链接信息同步到存储设备中。4.如权利要求1-3任一项所述的方法,其特征在于,在将目标文件的数据写入到所述第二簇链包含的各个数据簇中之后,并在确定所述目标文件的数据全部写入之前,进一步包括:确定所述第二簇链中的数据簇均写入数据后,若所述目标文件中存在数据未写入数据簇中,则基于未写入的数据的文件大小,再次选取相应数量的空闲簇;将重新选取的空闲簇与第三文件结束簇建立链接后,添加到删除所述第二文件结束簇的第二簇链中,获得第三簇链;将未写入数据簇的数据,写入到所述第三簇链中。5.一种文件系统的掉电保护方法,其特征在于,应用于对文件进行缩小时,包括:基于获取的目标文件的文件大小,将所述目标文件对应的属性信息进行更新;基于预设的文件与起始簇之间的关联关系,确定所述目标文件对应的起始簇;基于设置的文件分配表FAT和所述起始簇,获得所述目标文件对应的包含第一文件结束簇的第一簇链;基于所述文件大小,确定需要删除的数据簇的数目,并将断开与所述第一文件结束簇和所述数目的数据簇的第一簇链,与设置的第二文件结束簇建立链接,获得第二簇链;将所述目标文件的数据写入所述第二簇链包含的各个数据簇中,并将与所述第一簇链断开的所述数目的数据簇进行资源释放,获得空闲簇。6.一种文件系统的掉电保护装置,其特征在于,应用于对文件进行扩展时,包括:确定单元,用于基于预设的文件与起始簇之间的关联关系,确定目标文件对应的起始簇;获得单元,用于基于设置的文件分配表FAT和所述起始簇,确定所述目标文件对应的包含第一文件结束簇的第一簇链;链接单元,用...

【专利技术属性】
技术研发人员:叶俊
申请(专利权)人:北京东土科技股份有限公司北京科银京成技术有限公司
类型:发明
国别省市:北京,11

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

1