【技术实现步骤摘要】
文件系统的快照方法和装置
本专利技术涉及计算机
,尤其涉及一种文件系统的快照方法和装置。
技术介绍
随着计算机技术在各个领域的广泛应用,信息量迅速增长,企业的生产以及个人的生活对计算机数据的依赖性逐步增强。因此,为了能够实现在线存储并防范数据的丢失,快照技术应运而生。目前的快照技术大致可分成两类,分割镜像(SplitMirror)和写时复制(Copy-On-Write,COW)。其中,分割镜像快照技术在快照时间点到来之前,要为源数据卷创建并维护一个完整的镜像卷。在快照时间点到来时,镜像操作被停止,镜像卷转化为快照卷,获得一份数据快照。快照卷在完成数据备份等应用后,将与源数据卷重新同步,重新成为镜像卷。对于要同时保留多个时间点快照的源数据卷,则必须预先为其创建多个镜像卷。写时复制快照技术需要预留一些存储空间,建立快照卷。当我们为一个源数据卷创建一个快照之后,这些预留的存储空间用来存储被更新源数据卷的旧数据。写时复制快照在初始化的过程中仅仅创建用来描述源数据卷位置的指针信息(元数据),而不是完整的将源数据卷拷贝过来。在实现文件系统的快照的过程中,专利技术人发现现有技术中至少存在如下问题:对于分割镜像快照技术,预先创建镜像卷占用了大量的存储资源,造成资源的浪费。对于写时复制快照技术,在创建快照时需要复制元数据,增加创建快照的时间,以及占用大量的存储空间。
技术实现思路
本专利技术的实施例提供一种文件系统的快照方法和装置,缩短了创建快照的时间,以及节省了快照占用的存储空间。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,本专利技术提供一种文件系统的 ...
【技术保护点】
一种文件系统的快照方法,其特征在于,包括:确定待创建快照的目录;在所述目录的元数据中创建快照索引;所述快照索引中包括快照标识、快照时间戳和快照变化列表;其中,所述快照标识为所述目录创建所述快照索引的标识;所述快照时间戳为所述目录创建所述快照索引的系统时间;所述快照变化列表包括新建列表和删除列表,所述新建列表包括创建所述快照索引之后,在所述目录中新建文件以及修改后的文件的元数据的指针;所述删除列表包括所述目录创建所述快照索引之后,在所述目录中被删除文件以及被修改文件的原始文件的元数据的指针。
【技术特征摘要】
1.一种文件系统的快照方法,其特征在于,包括:确定待创建快照的目录;在所述目录的元数据中创建快照索引;所述快照索引中包括快照标识、快照时间戳和快照变化列表;其中,所述快照标识为所述目录创建所述快照索引的标识;所述快照时间戳为所述目录创建所述快照索引的系统时间;所述快照变化列表包括新建列表和删除列表,所述新建列表包括创建所述快照索引之后,在所述目录中新建文件以及修改后的文件的元数据的指针;所述删除列表包括所述目录创建所述快照索引之后,在所述目录中被删除文件以及被修改文件的原始文件的元数据的指针;其中,在所述目录的元数据中创建快照索引之后,所述方法还包括:根据快照标识和快照时间戳中的至少一种,查找所述目录的元数据中待删除的快照索引;判断所述待删除的快照索引的前向指针和后向指针是否均为空;当所述待删除的快照索引的前向指针和后向指针均为空时,将所述待删除的快照索引删除;当所述待删除的快照索引的前向指针为空,且所述待删除的快照索引的后向指针不为空时,将所述待删除的快照索引的快照变化列表存入下一个快照索引的快照变化列表中,并将所述待删除的快照索引删除,其中,所述下一个快照索引的前向指针设为空;当所述待删除的快照索引的后向指针为空,所述待删除的快照索引的前向指针不为空,或者当所述待删除的快照索引的前向指针和后向指针均不为空时,将所述待删除的快照索引的快照变化列表存入前一个快照索引的快照变化列表中,并将所述待删除的快照索引删除,其中,所述前一个快照索引的后向指针指向所述待删除的快照索引的下一个快照索引的前向指针,所述下一个快照索引的前向指针指向所述前一个快照索引的后向指针。2.根据权利要求1所述的文件系统的快照方法,其特征在于,所述在所述目录的元数据中创建快照索引包括:根据所述目录的元数据中的快照属性判断是否已创建快照,所述快照属性用于指示所述目录是否已创建快照;当所述快照属性指示未创建快照时,在所述目录的元数据中添加所述快照索引,将所述快照索引中的快照标识置为预定值,并为所述快照索引分配前向指针和后向指针,将所述前向指针和后向指针均设为空;其中,所述前向指针用于指向在所述目录的元数据中,所述目录的前一个快照索引的后向指针;所述后向指针用于指向在所述目录的元数据中,所述目录的下一个快照索引的前向指针;当所述快照属性指示已创建快照时,在所述目录的元数据中添加所述快照索引,并将所述快照索引的前向指针指向前一个快照索引的后向指针,将所述前一个快照索引的后向指针指向所述快照索引的前向指针。3.根据权利要求1所述的文件系统的快照方法,其特征在于,在所述目录的元数据中创建快照索引之后,所述方法还包括:获取在所述目录下待处理的文件,以及对所述待处理的文件的操作;根据所述操作,更新所述目录的元数据中创建的快照索引中的快照变化列表。4.根据权利要求3所述的文件系统的快照方法,其特征在于,当所述对所述待处理的文件的操作为在所述目录下新建文件时,所述根据所述操作,更新所述目录的元数据中创建的快照索引中的快照变化列表包括:将所述待处理的文件的元数据的指针存入所述目录的元数据中最后一个快照索引的新建列表中。5.根据权利要求3所述的文件系统的快照方法,其特征在于,当所述对所述待处理的文件的操作为修改所述目录下的文件时,所述根据所述操作,更新所述目录的元数据中创建的快照索引中的快照变化列表包括:判断所述待处理的文件的元数据的指针是否存在于所述目录的元数据中快照索引的新建列表中;当存在于所述新建列表中时,根据对所述待处理的文件的修改,修改所述待处理的文件的元数据;当不存在于所述新建列表中时,将所述待处理的文件复制到第一存储区域,所述待处理的文件的元数据复制到第二存储区域,并将所述待处理的文件的元数据的指针存入所述目录的元数据中最后一个快照索引的删除列表中,将修改后的文件的元数据的指针存入所述最后一个快照索引的新建列表中。6.根据权利要求3所述的文件系统的快照方法,其特征在于,当所述对所述待处理的文件的操作为修改所述目录下的文件的元数据时,所述根据所述操作,更新所述目录的元数据中创建的快照索引中的快照变化列表包括:判断所述待处理的文件的元数据的指针是否存在于所述目录的元数据中快照索引的新建列表中;当存在于所述新建列表时,修改所述待处理的文件的元数据;当不存在于所述新建列表时,将所述待处理的文件的元数据复制到第三存储区域,将所述待处理的文件的元数据的指针存入所述目录的元数据中最后一个快照索引的删除列表中,将修改后的文件的元数据的指针存入所述最后一个快照索引的新建列表中。7.根据权利要求3所述的文件系统的快照方法,其特征在于,当所述对所述待处理的文件的操作为删除所述目录下的文件时,所述根据所述操作,更新所述目录的元数据中创建的快照索引中的快照变化列表包括:判断所述待处理的文件的元数据的指针是否存在于所述目录的元数据中快照索引的新建列表中;当存在于所述新建列表时,删除所述新建列表中所述待处理的文件的元数据的指针;当不存在于所述新建列表时,删除所述目录的元数据中的目标指针,将所述待处理的文件复制到第四存储区域,并将所述待处理的文件复制后的元数据的指针存入所述目录的元数据中最后一个快照索引的删除列表中,所述目标指针为所述目录的元数据中指向所述待处理的文件的元数据的指针。8.一种文件系统的快照装置,其特征在于,...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。