CN103473277A - 文件***的快照方法和装置 - Google Patents

文件***的快照方法和装置 Download PDF

Info

Publication number
CN103473277A
CN103473277A CN2013103788943A CN201310378894A CN103473277A CN 103473277 A CN103473277 A CN 103473277A CN 2013103788943 A CN2013103788943 A CN 2013103788943A CN 201310378894 A CN201310378894 A CN 201310378894A CN 103473277 A CN103473277 A CN 103473277A
Authority
CN
China
Prior art keywords
snapshot
metadata
pointer
indexing
catalogue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013103788943A
Other languages
English (en)
Other versions
CN103473277B (zh
Inventor
王姝
邱鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Haining Warp Knitting Industrial Park Development Co., Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310378894.3A priority Critical patent/CN103473277B/zh
Publication of CN103473277A publication Critical patent/CN103473277A/zh
Application granted granted Critical
Publication of CN103473277B publication Critical patent/CN103473277B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种文件***的快照方法和装置,涉及计算机技术领域解决了现有技术中创建快照时,增加创建快照的时间,以及占用大量的存储空间的问题。所述方法包括:确定待创建快照的目录;在所述目录的元数据中创建快照索引;所述快照索引中包括快照标识、快照时间戳和快照变化列表;其中,所述快照标识为所述目录创建所述快照索引的标识;所述快照时间戳为所述目录创建所述快照索引的***时间;所述快照变化列表包括新建列表和删除列表。本发明实施例适用于文件***的快照处理过程中。

Description

文件***的快照方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种文件***的快照方法和装置。
背景技术
随着计算机技术在各个领域的广泛应用,信息量迅速增长,企业的生产以及个人的生活对计算机数据的依赖性逐步增强。因此,为了能够实现在线存储并防范数据的丢失,快照技术应运而生。
目前的快照技术大致可分成两类,分割镜像(Split Mirror)和写时复制(Copy-On-Write,COW)。其中,分割镜像快照技术在快照时间点到来之前,要为源数据卷创建并维护一个完整的镜像卷。在快照时间点到来时,镜像操作被停止,镜像卷转化为快照卷,获得一份数据快照。快照卷在完成数据备份等应用后,将与源数据卷重新同步,重新成为镜像卷。对于要同时保留多个时间点快照的源数据卷,则必须预先为其创建多个镜像卷。写时复制快照技术需要预留一些存储空间,建立快照卷。当我们为一个源数据卷创建一个快照之后,这些预留的存储空间用来存储被更新源数据卷的旧数据。写时复制快照在初始化的过程中仅仅创建用来描述源数据卷位置的指针信息(元数据),而不是完整的将源数据卷拷贝过来。
在实现文件***的快照的过程中,发明人发现现有技术中至少存在如下问题:对于分割镜像快照技术,预先创建镜像卷占用了大量的存储资源,造成资源的浪费。对于写时复制快照技术,在创建快照时需要复制元数据,增加创建快照的时间,以及占用大量的存储空间。
发明内容
本发明的实施例提供一种文件***的快照方法和装置,缩短了创建快照的时间,以及节省了快照占用的存储空间。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明提供一种文件***的快照方法,包括:
确定待创建快照的目录;
在所述目录的元数据中创建快照索引;所述快照索引中包括快照标识、快照时间戳和快照变化列表;其中,所述快照标识为所述目录创建所述快照索引的标识;所述快照时间戳为所述目录创建所述快照索引的***时间;所述快照变化列表包括新建列表和删除列表,所述新建列表包括创建所述快照索引之后,在所述目录中新建文件以及修改后的文件的元数据的指针;所述删除列表包括所述目录创建所述快照索引之后,在所述目录中被删除文件以及被修改文件的原始文件的元数据的指针。
在第一方面的第一种可能的实现方式中,所述在所述目录的元数据中创建快照索引包括:
根据所述目录的元数据中的快照属性判断是否已创建快照,所述快照属性用于指示所述目录是否已创建快照;
当所述快照属性指示未创建快照时,在所述目录的元数据中添加所述快照索引,将所述快照索引中的快照标识置为预定值,并为所述快照索引分配前向指针和后向指针,将所述前向指针和后向指针均设为空;其中,所述前向指针用于指向在所述目录的元数据中,所述目录的前一个快照索引的后向指针;所述后向指针用于指向在所述目录的元数据中,所述目录的下一个快照索引的前向指针;
当所述快照属性指示已创建快照时,在所述目录的元数据中添加所述快照索引,并将所述快照索引的前向指针指向前一个快照索引的后向指针,将所述前一个快照索引的后向指针指向所述快照索引的前向指针。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,在所述目录的元数据中创建快照索引之后,所述方法还包括:
根据快照标识和快照时间戳中的至少一种,查找所述目录的元数据中待删除的快照索引;
判断所述待删除的快照索引的前向指针和后向指针是否均为空;
当所述待删除的快照索引的前向指针和后向指针均为空时,将所述待删除的快照索引删除;
当所述待删除的快照索引的前向指针为空,且所述待删除的快照索引的后向指针不为空时,将所述待删除的快照索引的快照变化列表存入下一个快照索引的快照变化列表中,并将所述待删除的快照索引删除,其中,所述下一个快照索引的前向指针设为空;
当所述待删除的快照索引的后向指针为空,所述待删除的快照索引的前向指针不为空,或者当所述待删除的快照索引的前向指针和后向指针均不为空时,将所述待删除的快照索引的快照变化列表存入前一个快照索引的快照变化列表中,并将所述待删除的快照索引删除,其中,所述前一个快照索引的后向指针指向所述待删除的快照索引的下一个快照索引的前向指针,所述下一个快照索引的前向指针指向所述前一个快照索引的后向指针。
在第一方面的第三种可能的实现方式中,在所述目录的元数据中创建快照索引之后,所述方法还包括:
获取在所述目录下待处理的文件,以及对所述待处理的文件的操作;
根据所述操作,更新所述目录的元数据中创建的快照索引中的快照变化列表。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,当所述对所述待处理的文件的操作为在所述目录下新建文件时,所述根据所述操作,更新所述目录的元数据中创建的快照索引中的快照变化列表包括:
将所述待处理的文件的元数据的指针存入所述目录的元数据中最后一个快照索引的新建列表中。
结合第一方面的第三种可能的实现方式,在第五种可能的实现方式中,当所述对所述待处理的文件的操作为修改所述目录下的文件时,所述根据所述操作,更新所述目录的元数据中创建的快照索引中的快照变化列表包括:
判断所述待处理的文件的元数据的指针是否存在于所述目录的元数据中快照索引的新建列表中;
当存在于所述新建列表中时,根据对所述待处理的文件的修改,修改所述待处理的文件的元数据;
当不存在于所述新建列表中时,将所述待处理的文件复制到第一存储区域,所述待处理的文件的元数据复制到第二存储区域,并将所述待处理的文件的元数据的指针存入所述目录的元数据中最后一个快照索引的删除列表中,将修改后的文件的元数据的指针存入所述最后一个快照索引的新建列表中。
结合第一方面的第三种可能的实现方式,在第六种可能的实现方式中,当所述对所述待处理的文件的操作为修改所述目录下的文件的元数据时,所述根据所述操作,更新所述目录的元数据中创建的快照索引中的快照变化列表包括:
判断所述待处理的文件的元数据的指针是否存在于所述目录的元数据中快照索引的新建列表中;
当存在于所述新建列表时,修改所述待处理的文件的元数据;
当不存在于所述新建列表时,将所述待处理的文件的元数据复制到第三存储区域,将所述待处理的文件的元数据的指针存入所述目录的元数据中最后一个快照索引的删除列表中,将修改后文件的元数据的指针存入所述最后一个快照索引的新建列表中。
结合第一方面的第三种可能的实现方式,在第七种可能的实现方式中,当所述对所述待处理的文件的操作为删除所述目录下的文件时,所述根据所述操作,更新所述目录的元数据中创建的快照索引中的快照变化列表包括:
判断所述待处理的文件的元数据的指针是否存在于所述目录的元数据中快照索引的新建列表中;
当存在于所述新建列表时,删除所述新建列表中所述待处理的文件的元数据的指针;
当不存在于所述新建列表时,删除所述目录的元数据中的目标指针,将所述待处理的文件复制到第四存储区域,并将所述待处理的文件复制后的元数据的指针存入所述目录的元数据中最后一个快照索引的删除列表中,所述目标指针为所述目录的元数据中指向所述待处理的文件的元数据的指针。
第二方面,本发明提供一种文件***的快照装置,包括:
确定单元,用于确定待创建快照的目录;
创建单元,用于在所述目录的元数据中创建快照索引;所述快照索引中包括快照标识、快照时间戳和快照变化列表;其中,所述快照标识为所述目录创建所述快照索引的标识;所述快照时间戳为所述目录创建所述快照索引的***时间;所述快照变化列表包括新建列表和删除列表,所述新建列表包括创建所述快照索引之后,在所述目录中新建文件以及修改后的文件的元数据的指针;所述删除列表包括所述目录创建所述快照索引之后,在所述目录中被删除文件以及被修改文件的原始文件的元数据的指针。
在第二方面的第一种可能的实现方式中,所述创建单元包括:
判断模块,用于根据所述目录的元数据中的快照属性判断是否已创建快照,所述快照属性用于指示所述目录是否已创建快照;
第一创建模块,用于当所述快照属性指示未创建快照时,在所述目录的元数据中添加所述快照索引,将所述快照索引中的快照标识置为预定值,并为所述快照索引分配前向指针和后向指针,将所述前向指针和后向指针均设为空;其中,所述前向指针用于指向在所述目录的元数据中,所述目录的前一个快照索引的后向指针;所述后向指针用于指向在所述目录的元数据中,所述目录的下一个快照索引的前向指针;
第二创建模块,用于当所述快照属性指示已创建快照时,在所述目录的元数据中添加所述快照索引,并将所述快照索引的前向指针指向前一个快照索引的后向指针,将所述前一个快照索引的后向指针指向所述快照索引的前向指针。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述装置还包括:
查找单元,用于根据快照标识和快照时间戳中的至少一种,查找所述目录的元数据中待删除的快照索引;
判断单元,用于判断所述待删除的快照索引的前向指针和后向指针是否均为空;
删除单元,用于当所述待删除的快照索引的前向指针和后向指针均为空时,将所述待删除的快照索引删除;
第一处理单元,用于当所述待删除的快照索引的前向指针为空,且所述待删除的快照索引的后向指针不为空时,将所述待删除的快照索引的快照变化列表存入下一个快照索引的快照变化列表中,并将所述待删除的快照索引删除,其中,所述下一个快照索引的前向指针设为空;
第二处理单元,用于当所述待删除的快照索引的后向指针为空,所述待删除的快照索引的前向指针不为空,或者当所述待删除的快照索引的前向指针和后向指针均不为空时,将所述待删除的快照索引的快照变化列表存入前一个快照索引的快照变化列表中,并将所述待删除的快照索引删除,其中,所述前一个快照索引的后向指针指向所述待删除的快照索引的下一个快照索引的前向指针,所述下一个快照索引的前向指针指向所述前一个快照索引的后向指针。
在第二方面的第三种可能的实现方式中,所述装置还包括:
获取单元,用于获取在所述目录下待处理的文件,以及对所述待处理的文件的操作;
更新单元,用于根据所述操作,更新所述目录的元数据中创建的快照索引中的快照变化列表。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,当所述获取单元获取到对所述待处理的文件的操作为在所述目录下新建文件时,所述更新单元包括:
第一处理模块,用于将所述待处理的文件的元数据的指针存入所述目录的元数据中最后一个快照索引的新建列表中。
结合第二方面的第三种可能的实现方式,在第五种可能的实现方式中,当所述获取单元获取到对所述待处理的文件的操作为修改所述目录下的文件时,所述更新单元包括:
判断模块,用于判断所述待处理的文件的元数据的指针是否存在于所述目录的元数据中快照索引的新建列表中;
第一修改模块,用于当存在于所述新建列表中时,根据对所述待处理的文件的修改,修改所述待处理的文件的元数据;
第二处理模块,用于当不存在于所述新建列表中时,将所述待处理的文件复制到第一存储区域,所述待处理的文件的元数据复制到第二存储区域,并将所述待处理的文件的元数据的指针存入所述目录的元数据中最后一个快照索引的删除列表中,将修改后的文件的元数据的指针存入所述最后一个快照索引的新建列表中。
结合第二方面的第三种可能的实现方式,在第六种可能的实现方式中,当所述获取单元获取到对所述待处理的文件的操作为修改所述目录下的文件的元数据时,所述更新单元包括:
所述判断模块,还用于判断所述待处理的文件的元数据的指针是否存在于所述目录的元数据中快照索引的新建列表中;
第二修改模块,用于当存在于所述新建列表时,修改所述待处理的文件的元数据;
第三处理模块,用于当不存在于所述新建列表时,将所述待处理的文件的元数据复制到第三存储区域,所述待处理的文件的元数据的指针存入所述目录的元数据中最后一个快照索引的删除列表中,将所述修改后的文件的元数据的指针存入所述最后一个快照索引的新建列表中。
结合第二方面的第三种可能的实现方式,在第七种可能的实现方式中,当所述获取单元获取到对所述待处理的文件的操作为删除所述目录下的文件时,所述更新单元包括:
所述判断模块,还用于判断所述待处理的文件的元数据的指针是否存在于所述目录的元数据中快照索引的新建列表中;
删除模块,用于当存在于所述新建列表时,删除所述新建列表中所述待处理的文件的元数据的指针;
第四处理模块,用于当不存在于所述新建列表时,删除所述目录的元数据中的目标指针,将所述待处理的文件复制到第四存储区域,并将所述待处理的文件复制后的元数据的指针存入所述目录的元数据中最后一个快照索引的删除列表中,所述目标指针为所述目录的元数据中指向所述待处理的文件的元数据的指针。
本发明实施例提供一种文件***的快照方法和装置,通过确定待创建快照的目录,然后在所述目录的元数据中创建快照索引;所述快照索引中包括快照标识、快照时间戳和快照变化列表;其中,所述快照标识为所述目录创建所述快照索引的标识;所述快照时间戳为所述目录创建所述快照索引的***时间;所述快照变化列表包括新建列表和删除列表。本发明实施例解决了现有技术中创建快照时,增加创建快照的时间,以及占用大量的存储空间的问题,缩短了创建快照的时间,以及节省了快照占用的存储空间。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种文件***的快照方法的流程图;
图2为本发明实施例提供的一种文件***的快照方法中步骤102的流程图;
图3为本发明实施例提供的快照索引的示意图;
图4为本发明实施例提供的3个快照索引的示意图;
图5为本发明实施例提供的一种文件***的快照方法中删除快照索引的流程图;
图6为本发明实施例提供的一种文件***的快照方法中处理创建快照目录中的文件的流程图;
图7为本发明实施例提供的一种文件***的快照方法的流程图;
图8为本发明实施例提供的一种文件***的快照装置的结构图;
图9为本发明实施例提供的另一种文件***的快照装置的结构图;
图10为本发明实施例提供的又一种文件***的快照装置的结构图;
图11为本发明实施例提供的再又一种文件***的快照装置的结构图;
图12为本发明实施例提供的文件***的快照装置中一种更新单元的结构图;
图13为本发明实施例提供的文件***的快照装置中另一种更新单元的结构图;
图14为本发明实施例提供的文件***的快照装置中又一种更新单元的结构图;
图15为本发明实施例提供的文件***的快照装置中再又一种更新单元的结构图;
图16为本发明实施例提供的一种文件***的快照装置的硬件结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例针对文件***的快照,提供一种文件***的快照方法,本实施例执行主体为终端,如图1所示,所述方法包括:
101、确定待创建快照的目录。
其中,所述待创建快照的目录可以包括子目录和子文件。
102、在所述目录的元数据中创建快照索引;所述快照索引中包括快照标识、快照时间戳和快照变化列表;其中,所述快照标识为所述目录创建所述快照索引的标识;所述快照时间戳为所述目录创建所述快照索引的***时间;所述快照变化列表包括新建列表和删除列表,所述新建列表包括创建所述快照索引之后,在所述目录中新建文件以及修改后的文件的元数据的指针;所述删除列表包括所述目录创建所述快照索引之后,在所述目录中被删除文件以及被修改文件的原始文件的元数据的指针。
对于创建快照的目录,在所述目录的元数据中创建快照索引,所述快照索引中包括快照标识、快照时间戳和快照变化列表。
其中,所述快照标识为所述目录创建所述快照索引的标识,当所述快照属性指示未创建快照时,即当所述目录第一次创建快照时,将所述快照索引中的快照标识置为预定值,例如将所述快照标识设为1;当所述快照属性指示已创建快照时,根据所述目录的元数据中前一个快照索引的快照标识,将所述快照索引的快照标识置为递增整数。
其中,在所述目录中新建文件以及修改后的文件的元数据的指针,是指所述目录中新建文件以及修改后的文件的元数据的存储路径;在所述目录中被删除文件以及被修改文件的原始文件的元数据的指针,是指在所述目录中被删除文件以及被修改文件的原始文件的元数据的的存储路径。
其中,新建列表的作用是为了在所述目录创建所述快照索引之后,所述目标中的文件有更新时,可以实时记录下来,以备后续恢复数据。所述删除列表的作用是为了在所述目录创建所述快照索引之后,删除或者修改后的文件可以保存下来,以备后续恢复数据。
本发明实施例提供一种文件***的快照方法,通过确定待创建快照的目录,然后在所述目录的元数据中创建快照索引,所述快照索引中包括快照标识、快照时间戳和快照变化列表。本发明实施例解决了现有技术中创建快照时,增加创建快照的时间,以及占用大量的存储空间的问题,缩短了创建快照的时间,以及节省了快照占用的存储空间。
在所述目录的元数据中还存在快照属性,用于指示所述目录是否已创建快照,对于已创建快照的目录,在所述目录的元数据中的快照属性标识为已创建快照,对于还没有创建快照的目录,则在所述目录的元数据中的快照属性标识为没有创建快照,如图2所示,在上述步骤102中,在所述目录的元数据中创建快照索引还包括:
201、根据所述目录的元数据中的快照属性判断是否已创建快照,所述快照属性用于指示所述目录是否已创建快照;
202、当所述快照属性指示未创建快照时,在所述目录的元数据中添加所述快照索引,将所述快照索引中的快照标识置为预定值,例如将所述快照标识设为1,并为所述快照索引分配前向指针和后向指针,将所述前向指针和后向指针均设为空;其中,所述前向指针用于指向在所述目录的元数据中,所述目录的前一个快照索引的后向指针;所述后向指针用于指向在所述目录的元数据中,所述目录的下一个快照索引的前向指针。
如图3所示。其中,所述前向指针用于指向在所述目录的元数据中,所述目录的前一个快照索引的后向指针,所述后向指针用于指向在所述目录的元数据中,所述目录的下一个快照索引的前向指针。
203、当所述快照属性指示已创建快照时,在所述目录的元数据中添加所述快照索引,并将所述快照索引的前向指针指向前一个快照索引的后向指针,将所述前一个快照索引的后向指针指向所述快照索引的前向指针。
其中,根据所述目录的元数据中的前一个快照索引的快照标识,将所述快照索引中的快照标识置为递增整数。例如,所述前一个快照索引的快照标识为2时,则所述快照索引中的快照标识为3,并将所述快照索引的前向指针指向所述前一个快照索引的后向指针,且所述前一个快照索引的后向指针指向所述快照索引的前向指针,如图4所示。
可选的,对于已经创建快照的目录,还存在对快照的删除,即删除所述目录的快照索引,如图5所示,包括如下步骤:
501、根据快照标识和快照时间戳中的至少一种,查找所述目录的元数据中待删除的快照索引。
由于所述快照索引的快照标识和快照时间戳都是所述快照索引的唯一标识,则通过快照标识和快照时间戳中的至少一种,查找所述目录的元数据中待删除的快照索引。
502、判断所述待删除的快照索引的前向指针和后向指针是否均为空。
通过图3和图4可知,当所述快照索引为所述目录的唯一快照索引时,则其前向指针和后向指针均为空,当所述快照索引不是所述目录的唯一快照索引时,所述快照索引的前向指针和后向指针中至少有一个指针不为空,因此,判断所述待删除的快照索引的前向指针和后向指针,确定对所述快照索引的处理。
503、当所述待删除的快照索引的前向指针和后向指针均为空时,将所述待删除的快照索引删除。
当所述快照索引的前向指针和后向指针均为空时,说明所述快照索引为所述目录的唯一快照索引,则直接将所述快照索引删除。
504、当所述待删除的快照索引的前向指针为空,且所述待删除的快照索引的后向指针不为空时,将所述待删除的快照索引的快照变化列表存入下一个快照索引的快照变化列表中,并将所述待删除的快照索引删除,其中,所述下一个快照索引的前向指针设为空。
当所述待删除的快照索引的前向指针为空,且所述待删除的快照索引的后向指针不为空时,所述快照索引为所述目录的第一个快照索引,将所述待删除的快照索引的快照变化列表存入下一个快照索引的快照变化列表中,以便于日后恢复所述目录为第一个快照索引时的状态,然后将所述待删除的快照索引删除。其中,由于将所述待删除的快照索引删除后,所述下一个快照索引为所述目录的第一个快照索引了,则将所述下一个快照索引的前向指针设为空。
在这里要强调的是,所述第一个快照索引与快照标识为1的快照索引并不一定相同,存在快照标识为1的快照索引被删除,而目前第一个快照索引为快照标识为2的快照索引的情况。
505、当所述待删除的快照索引的后向指针为空,所述待删除的快照索引的前向指针不为空,或者当所述待删除的快照索引的前向指针和后向指针均不为空时,将所述待删除的快照索引的快照变化列表存入前一个快照索引的快照变化列表中,并将所述待删除的快照索引删除,其中,所述前一个快照索引的后向指针指向所述待删除的快照索引的下一个快照索引的前向指针,所述下一个快照索引的前向指针指向所述前一个快照索引的后向指针。
例如,图4所示,当所述待删除的快照索引的后向指针为空,所述待删除的快照索引的前向指针不为空,为快照索引3,当所述待删除的快照索引的前向指针和后向指针均不为空时,为快照索引2。当所述待删除的快照索引为快照索引3时,将所述快照索引3的快照变化列表存入快照索引2的快照变化列表中,以便后续要恢复所述目录为快照索引2时的状态要用到快照索引3中的快照变化列表中的内容,并将所述快照索引2的后向指针设为空。当所述待删除的快照索引为快照索引2时,将快照索引2的快照变化列表存入快照索引1的快照变化列表中,以便于日后在恢复所述目录为快照索引1时的状态要用到快照索引2中的快照变化列表中的内容,并将快照索引1的后向指针指向快照索引3的前向指针。
可选的,如图6所示,在所述目录的元数据中创建快照索引之后,还包括对所述目录中文件变化的记录,包括:
601、获取在所述目录下待处理的文件,以及对所述待处理的文件的操作;
602、根据所述操作,更新所述目录的元数据中创建的快照索引中的快照变化列表。
由于在每次对所述目录创建快照之后,所述目录中的文件都可能会出现变化,因此,需要在当次的快照索引中记录所述目录下文件的变化,例如,在所述目录创建第一个快照索引之后,所述目录中文件的变化记录在所述第一个快照索引的快照变化列表中,当所述目录创建第二个快照索引之后,所述目录中文件的变化记录在所述第二个快照索引的快照变化列表中,依次类推。上述变化存在三种情况:新建文件、修改文件以及删除文件,所述文件可以为一个文档或者为一个特定文件,例如文件夹。
第一种情况:当所述对所述待处理的文件的操作为在所述目录下新建所述文件时,步骤602则是将所述待处理的文件的元数据的指针存入所述目录的元数据中最后一个快照索引的新建列表中。
第二种情况中对文件的修改包括两部分,分别是修改文件和修改文件的元数据。当所述对所述待处理的文件的操作为修改所述目录下的文件时,步骤602,所述根据所述操作,更新所述目录的元数据中创建的快照索引中的快照变化列表包括:
判断所述待处理的文件的元数据的指针是否存在于所述目录的元数据中快照索引的新建列表中;
当存在于所述新建列表中时,根据对所述待处理的文件的修改,修改所述待处理的文件的元数据;
当不存在于所述新建列表中时,将所述待处理的文件复制到第一存储区域,所述待处理的文件的元数据复制到第二存储区域,并将所述待处理的文件的元数据的指针存入所述目录的元数据中最后一个快照索引的删除列表中,将修改后的文件的元数据的指针存入所述最后一个快照索引的新建列表中。
其中,当所述文件的元数据的指针存在于所述目录的元数据中快照索引的新建列表中时,表示所述文件为本次所述目录创建快照索引之后新建的文件,则根据对所述文件的修改,修改所述文件的元数据。例如,当对所述文件进行修改后,所述文件的修改时间有变化,则将所述文件的元数据中的修改时间进行更新。
当所述文件的元数据的指针不存在于所述目录的元数据中快照索引的新建列表中时,表示所述文件是本次所述目录创建所述快照索引之前就已经存在于所述目录中,则将修改前所述文件复制到第一存储区域,所述修改前所述文件的元数据复制到第二存储区域,并将所述修改前所述文件的元数据的指针存入所述目录的元数据中最后一个快照索引的删除列表中,修改后所述文件的元数据的指针存入所述最后一个快照索引的新建列表中。
第二种情况中,当所述对所述待处理的文件的操作为修改所述目录下的文件的元数据时,步骤602,所述根据所述操作,更新所述目录的元数据中创建的快照索引中的快照变化列表包括:
判断所述待处理的文件的元数据的指针是否存在于所述目录的元数据中快照索引的新建列表中;
当存在于所述新建列表时,修改所述待处理的文件的元数据;
当不存在于所述新建列表时,将所述待处理的文件的元数据复制到第三存储区域,将所述待处理的文件的元数据的指针存入所述目录的元数据中最后一个快照索引的删除列表中,将修改后的文件的元数据的指针存入所述最后一个快照索引的新建列表中。
其中,当所述文件的元数据的指针存在于所述目录的元数据中快照索引的新建列表中时,表示所述文件为本次所述目录创建快照索引之后新建的文件,则直接修改所述文件的元数据。例如,当要对所述文件的元数据中文件创建时间进行修改时,则将所述指针指向的元数据中的创建时间进行更新。
当所述文件的元数据的指针不存在于所述目录的元数据中快照索引的新建列表中时,表示所述文件是本次所述目录创建快照索引之前就已经存在于所述目录中,则将所述文件修改前的元数据复制到第三存储区域,所述文件修改前的元数据的指针存入所述最后一个快照索引的删除列表中,所述文件修改后的元数据的指针存入所述最后一个快照索引的新建列表中。
第三种情况,当所述对所述待处理的文件的操作为删除所述目录下的文件时,步骤602,所述根据所述操作,更新所述目录的元数据中创建的快照索引中的快照变化列表包括:
判断所述待处理的文件的元数据的指针是否存在于所述目录的元数据中快照索引的新建列表中;
当存在于所述新建列表时,删除所述新建列表中所述待处理的文件的元数据的指针;
当不存在于所述新建列表时,删除所述目录的元数据中的目标指针,将所述待处理的文件复制到第四存储区域,并将所述待处理的文件复制后的元数据的指针存入所述目录的元数据中最后一个快照索引的删除列表中,所述目标指针为所述目录的元数据中指向所述待处理的文件的元数据的指针。
其中,当所述文件的元数据的指针存在于所述目录的元数据中快照索引的新建列表中时,表示所述文件为本次所述目录创建快照索引之后新建的文件,则在删除所述文件和所述文件的元数据的同时,删除所述新建列表中所述文件的元数据的指针。
当所述文件的元数据的指针不存在于所述目录的元数据中快照索引的新建列表中时,表示所述文件是本次所述目录创建快照索引之前就已经存在于所述目录中,则删除所述目录的元数据中的目标指针,所述目标指针为在所述目录的元数据中指向所述文件的元数据的指针,然后将删除前所述文件复制到第四存储区域,并将复制后所述文件的元数据的指针存入所述目录的元数据中最后一个快照索引的删除列表中。
为了本领域技术人员更好的理解本发明实施例提供的文件***的快照方法的技术方案,下面通过具体的实施例对本发明提供的文件***的快照方法进行详细说明。
本实施例以本地文件***为例,如图7所示,执行主体为终端,当客户进程发起快照请求时,文件***的一个进程接收该请求,并执行如下步骤:
701、根据所述快照请求,确定待创建快照的目录。
所述快照请求中包括带创建快照的目录。
702、判断所述目录创建快照的次数是否超过最大值;
703、当所述目录创建快照的次数超过最大值时,显示创建快照失败的提示信息;
704、当所述目录创建快照的次数没有超过最大值时,在所述目录的元数据中创建快照索引。
其中,步骤704的处理过程可以参考图1和图2所述的步骤102,此处不再赘述。
705、显示创建快照成功的提示信息。
本地文件***也可以进行删除快照的操作,具体参见图5所示的处理过程,此处不再赘述。
本地文件***对本次所述目录创建快照的快照索引之后,还包括对所述目录下文件的操作,如新建、修改和删除文件,可以参考图6所示的处理过程,此处不再赘述。
上述文件***的快照方法还可以应用于分布式文件***的快照方法,其中,分布式文件***是指文件***管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。其中,文件***中的元数据是通过元数据服务器进行管理,由客户端通过网络传输协议将消息传递给元数据服务器,由元数据服务器进行文件***的快照,例如,当要创建快照时,将快照请求发送给所述元数据服务器,所述元数据服务器根据图1、图2以及图7所示的处理过程进行操作,并向客户端返回快照创建成功或者失败的消息。同样,删除快照索引时,将删除快照索引的请求消息发送给所述元数据服务器,所述元数据服务器根据图5所示的处理过程进行操作,并返回操作结果。对于目录创建快照之后,对所述目录下文件的操作,也可以向所述元数据服务器发送请求,所述元数据服务器根据图6所示的处理过程进行操作,并返回操作结果。
通过本发明实施例可以在创建快照时,解决现有技术中对于分割镜像快照技术,预先创建镜像卷占用了大量的存储资源,造成资源的浪费的问题,同时解决写时复制快照技术中,在创建快照时需要复制元数据,增加创建快照的时间,以及占用大量的存储空间的问题。本发明实施例在创建快照时,不用预先创建镜像卷,也不用复制元数据,因此缩短了创建快照的时间,以及节省了快照占用的存储空间。
如图8所示,本发明实施例提供一种文件***的快照装置80,包括确定单元801和创建单元802。
其中,确定单元801,用于确定待创建快照的目录;
创建单元802,用于用于在所述目录的元数据中创建快照索引;所述快照索引中包括快照标识、快照时间戳和快照变化列表;其中,所述快照标识为所述目录创建所述快照索引的标识;所述快照时间戳为所述目录创建所述快照索引的***时间;所述快照变化列表包括新建列表和删除列表,所述新建列表包括创建所述快照索引之后,在所述目录中新建文件以及修改后的文件的元数据的指针;所述删除列表包括所述目录创建所述快照索引之后,在所述目录中被删除文件以及被修改文件的原始文件的元数据的指针。
本发明实施例提供一种文件***的快照装置,通过确定待创建快照的目录,然后在所述目录的元数据中创建快照索引,其中,所述快照索引中包括快照标识、快照时间戳和快照变化列表。本发明实施例解决了现有技术中创建快照时,增加创建快照的时间,以及占用大量的存储空间的问题,缩短了创建快照的时间,以及节省了快照占用的存储空间。
可选的,如图9所示,所述创建单元包括:
判断模块901,用于根据所述目录的元数据中的快照属性判断是否已创建快照,所述快照属性用于指示所述目录是否已创建快照;
第一创建模块902,用于当所述快照属性指示未创建快照时,在所述目录的元数据中添加所述快照索引,将所述快照索引中的快照标识置为预定值,并为所述快照索引分配前向指针和后向指针,将所述前向指针和后向指针均设为空;其中,所述前向指针用于指向在所述目录的元数据中,所述目录的前一个快照索引的后向指针;所述后向指针用于指向在所述目录的元数据中,所述目录的下一个快照索引的前向指针;
第二创建模块903,用于当所述快照属性指示已创建快照时,在所述目录的元数据中添加所述快照索引,并将所述快照索引的前向指针指向前一个快照索引的后向指针,将所述前一个快照索引的后向指针指向所述快照索引的前向指针。
可选的,如图10所示,所述装置还包括:
查找单元1001,用于根据快照标识和快照时间戳中的至少一种,查找所述目录的元数据中待删除的快照索引;
判断单元1002,用于判断所述待删除的快照索引的前向指针和后向指针是否均为空;
删除单元1003,用于当所述待删除的快照索引的前向指针和后向指针均为空时,将所述待删除的快照索引删除;
第一处理单元1004,用于当所述待删除的快照索引的前向指针为空,且所述待删除的快照索引的后向指针不为空时,将所述待删除的快照索引的快照变化列表存入下一个快照索引的快照变化列表中,并将所述待删除的快照索引删除,其中,所述下一个快照索引的前向指针设为空;
第二处理单元1005,用于当所述待删除的快照索引的后向指针为空,所述待删除的快照索引的前向指针不为空,或者当所述待删除的快照索引的前向指针和后向指针均不为空时,将所述待删除的快照索引的快照变化列表存入前一个快照索引的快照变化列表中,并将所述待删除的快照索引删除,其中,所述前一个快照索引的后向指针指向所述待删除的快照索引的下一个快照索引的前向指针,所述下一个快照索引的前向指针指向所述前一个快照索引的后向指针。
可选的,如图11所示,所述装置还包括:
获取单元1101,用于获取在所述目录下待处理的文件,以及对所述待处理的文件的操作;
更新单元1102,用于根据所述操作,更新所述目录的元数据中创建的快照索引中的快照变化列表。
可选的,当所述获取单元获取到对所述待处理的文件的操作为在所述目录下新建文件时,如图12所示,所述更新单元包括:
第一处理模块1201,用于用于将所述待处理的文件的元数据的指针存入所述目录的元数据中最后一个快照索引的新建列表中。
可选的,当所述获取单元获取到对所述待处理的文件的操作为修改所述目录下的文件时,如图13所示,所述更新单元包括:
判断模块1301,用于判断所述待处理的文件的元数据的指针是否存在于所述目录的元数据中快照索引的新建列表中;
第一修改模块1302,用于当存在于所述新建列表中时,根据对所述待处理的文件的修改,修改所述待处理的文件的元数据;
第二处理模块1303,用于当不存在于所述新建列表中时,将所述待处理的文件复制到第一存储区域,所述待处理的文件的元数据复制到第二存储区域,并将所述待处理的文件的元数据的指针存入所述目录的元数据中最后一个快照索引的删除列表中,将修改后的文件的元数据的指针存入所述最后一个快照索引的新建列表中。
可选的,当所述获取单元获取到对所述待处理的文件的操作为修改所述目录下的文件的元数据时,如图14所示,所述更新单元包括:
所述判断模块,还用于判断所述待处理的文件的元数据的指针是否存在于所述目录的元数据中快照索引的新建列表中;
第二修改模块1401,用于当存在于所述新建列表时,修改所述待处理的文件的元数据;
第三处理模块1402,用于当不存在于所述新建列表时,将所述待处理的文件修改前的元数据复制到第三存储区域,将所述待处理的文件的元数据的指针存入所述目录的元数据中最后一个快照索引的删除列表中,将修改后的文件的元数据的指针存入所述最后一个快照索引的新建列表中。
可选的,当所述获取单元获取到对所述待处理的文件的操作为删除所述目录下的文件时,如图15所示,所述更新单元包括:
所述判断模块,还用于判断所述待处理的文件的元数据的指针是否存在于所述目录的元数据中快照索引的新建列表中;
删除模块1501,用于当存在于所述新建列表时,删除所述新建列表中所述待处理的文件的元数据的指针;
第四处理模块1502,用于当不存在于所述新建列表时,删除所述目录的元数据中的目标指针,将所述待处理的文件复制到第四存储区域,并将所述待处理的文件复制后的元数据的指针存入所述目录的元数据中最后一个快照索引的删除列表中,所述目标指针为所述目录的元数据中指向所述待处理的文件的元数据的指针。
上述装置80处理本地文件***的快照时,所述装置80存在于本地终端,处理分布式文件***的快照时,所述装置80存在于元数据服务器中。
上述文件***的快照装置80中的各单元的具体实现过程,可参见上述文件***的快照方法的处理过程。
上述图8至图15所示的文件***的快照装置可基于计算机或者其他网络设备的硬件结构来实现,如图16所示,文件***的快照装置16的硬件结构包括存储器1601、收发器1602、处理器1603和总线1604。
其中,处理器1603、存储器1601和收发器1602通过总线1604。
存储器1601可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器1601可以存储操作***和其他应用程序的指令以及应用数据。存储器1601中存储的指令由处理器1603来运行执行。
本发明实施例中存储器1601可用于存储实现图8至图15所示实施例中各功能单元的指令、接收到的创建快照请求、删除快照请求以及对创建快照的目录下的文件操作的请求。
收发器1602用来实现文件***的快照装置16与其他设备,例如客户端的通信。
本发明实施例中,收发器1602用于接收来自客户进程或者客户端的请求消息。
处理器1603可以采用通用的中央处理器(Central ProcessingUnit,CPU),微处理器,应用专用集成电路(Application SpecificIntegrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关程序。
本发明实施例中,处理器1603用于执行存储器1601中的指令,具体执行:
通过收发器1602接收的创建快照请求消息,确定待创建快照的目录;
在所述目录的元数据中创建快照索引;所述快照索引中包括快照标识、快照时间戳和快照变化列表;其中,所述快照标识为所述目录创建所述快照索引的标识;所述快照时间戳为所述目录创建所述快照索引的***时间;所述快照变化列表包括新建列表和删除列表,所述新建列表包括创建所述快照索引之后,在所述目录中新建文件以及修改后的文件的元数据的指针;所述删除列表包括所述目录创建所述快照索引之后,在所述目录中被删除文件以及被修改文件的原始文件的元数据的指针。
其中,处理器1603中的具体处理过程可参考方法实施例部分以及图8至图15所示的服务网关实施例部分,这里不再赘述。
总线1604可包括一通路,在文件***的快照装置各个部件(例如处理器1603、存储器1601和接收器1602)之间传送信息。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (16)

1.一种文件***的快照方法,其特征在于,包括:
确定待创建快照的目录;
在所述目录的元数据中创建快照索引;所述快照索引中包括快照标识、快照时间戳和快照变化列表;其中,所述快照标识为所述目录创建所述快照索引的标识;所述快照时间戳为所述目录创建所述快照索引的***时间;所述快照变化列表包括新建列表和删除列表,所述新建列表包括创建所述快照索引之后,在所述目录中新建文件以及修改后的文件的元数据的指针;所述删除列表包括所述目录创建所述快照索引之后,在所述目录中被删除文件以及被修改文件的原始文件的元数据的指针。
2.根据权利要求1所述的文件***的快照方法,其特征在于,所述在所述目录的元数据中创建快照索引包括:
根据所述目录的元数据中的快照属性判断是否已创建快照,所述快照属性用于指示所述目录是否已创建快照;
当所述快照属性指示未创建快照时,在所述目录的元数据中添加所述快照索引,将所述快照索引中的快照标识置为预定值,并为所述快照索引分配前向指针和后向指针,将所述前向指针和后向指针均设为空;其中,所述前向指针用于指向在所述目录的元数据中,所述目录的前一个快照索引的后向指针;所述后向指针用于指向在所述目录的元数据中,所述目录的下一个快照索引的前向指针;
当所述快照属性指示已创建快照时,在所述目录的元数据中添加所述快照索引,并将所述快照索引的前向指针指向前一个快照索引的后向指针,将所述前一个快照索引的后向指针指向所述快照索引的前向指针。
3.根据权利要求2所述的文件***的快照方法,其特征在于,在所述目录的元数据中创建快照索引之后,所述方法还包括:
根据快照标识和快照时间戳中的至少一种,查找所述目录的元数据中待删除的快照索引;
判断所述待删除的快照索引的前向指针和后向指针是否均为空;
当所述待删除的快照索引的前向指针和后向指针均为空时,将所述待删除的快照索引删除;
当所述待删除的快照索引的前向指针为空,且所述待删除的快照索引的后向指针不为空时,将所述待删除的快照索引的快照变化列表存入下一个快照索引的快照变化列表中,并将所述待删除的快照索引删除,其中,所述下一个快照索引的前向指针设为空;
当所述待删除的快照索引的后向指针为空,所述待删除的快照索引的前向指针不为空,或者当所述待删除的快照索引的前向指针和后向指针均不为空时,将所述待删除的快照索引的快照变化列表存入前一个快照索引的快照变化列表中,并将所述待删除的快照索引删除,其中,所述前一个快照索引的后向指针指向所述待删除的快照索引的下一个快照索引的前向指针,所述下一个快照索引的前向指针指向所述前一个快照索引的后向指针。
4.根据权利要求1所述的文件***的快照方法,其特征在于,在所述目录的元数据中创建快照索引之后,所述方法还包括:
获取在所述目录下待处理的文件,以及对所述待处理的文件的操作;
根据所述操作,更新所述目录的元数据中创建的快照索引中的快照变化列表。
5.根据权利要求4所述的文件***的快照方法,其特征在于,当所述对所述待处理的文件的操作为在所述目录下新建文件时,所述根据所述操作,更新所述目录的元数据中创建的快照索引中的快照变化列表包括:
将所述待处理的文件的元数据的指针存入所述目录的元数据中最后一个快照索引的新建列表中。
6.根据权利要求4所述的文件***的快照方法,其特征在于,当所述对所述待处理的文件的操作为修改所述目录下的文件时,所述根据所述操作,更新所述目录的元数据中创建的快照索引中的快照变化列表包括:
判断所述待处理的文件的元数据的指针是否存在于所述目录的元数据中快照索引的新建列表中;
当存在于所述新建列表中时,根据对所述待处理的文件的修改,修改所述待处理的文件的元数据;
当不存在于所述新建列表中时,将所述待处理的文件复制到第一存储区域,所述待处理的文件的元数据复制到第二存储区域,并将所述待处理的文件的元数据的指针存入所述目录的元数据中最后一个快照索引的删除列表中,将修改后的文件的元数据的指针存入所述最后一个快照索引的新建列表中。
7.根据权利要求4所述的文件***的快照方法,其特征在于,当所述对所述待处理的文件的操作为修改所述目录下的文件的元数据时,所述根据所述操作,更新所述目录的元数据中创建的快照索引中的快照变化列表包括:
判断所述待处理的文件的元数据的指针是否存在于所述目录的元数据中快照索引的新建列表中;
当存在于所述新建列表时,修改所述待处理的文件的元数据;
当不存在于所述新建列表时,将所述待处理的文件的元数据复制到第三存储区域,将所述待处理的文件的元数据的指针存入所述目录的元数据中最后一个快照索引的删除列表中,将修改后的文件的元数据的指针存入所述最后一个快照索引的新建列表中。
8.根据权利要求4所述的文件***的快照方法,其特征在于,当所述对所述待处理的文件的操作为删除所述目录下的文件时,所述根据所述操作,更新所述目录的元数据中创建的快照索引中的快照变化列表包括:
判断所述待处理的文件的元数据的指针是否存在于所述目录的元数据中快照索引的新建列表中;
当存在于所述新建列表时,删除所述新建列表中所述待处理的文件的元数据的指针;
当不存在于所述新建列表时,删除所述目录的元数据中的目标指针,将所述待处理的文件复制到第四存储区域,并将所述待处理的文件复制后的元数据的指针存入所述目录的元数据中最后一个快照索引的删除列表中,所述目标指针为所述目录的元数据中指向所述待处理的文件的元数据的指针。
9.一种文件***的快照装置,其特征在于,包括:
确定单元,用于确定待创建快照的目录;
创建单元,用于在所述目录的元数据中创建快照索引;所述快照索引中包括快照标识、快照时间戳和快照变化列表;其中,所述快照标识为所述目录创建所述快照索引的标识;所述快照时间戳为所述目录创建所述快照索引的***时间;所述快照变化列表包括新建列表和删除列表,所述新建列表包括创建所述快照索引之后,在所述目录中新建文件以及修改后的文件的元数据的指针;所述删除列表包括所述目录创建所述快照索引之后,在所述目录中被删除文件以及被修改文件的原始文件的元数据的指针。
10.根据权利要求9所述的文件***的快照装置,其特征在于,所述创建单元包括:
判断模块,用于根据所述目录的元数据中的快照属性判断是否已创建快照,所述快照属性用于指示所述目录是否已创建快照;
第一创建模块,用于当所述快照属性指示未创建快照时,在所述目录的元数据中添加所述快照索引,将所述快照索引中的快照标识置为预定值,并为所述快照索引分配前向指针和后向指针,将所述前向指针和后向指针均设为空;其中,所述前向指针用于指向在所述目录的元数据中,所述目录的前一个快照索引的后向指针;所述后向指针用于指向在所述目录的元数据中,所述目录的下一个快照索引的前向指针;
第二创建模块,用于当所述快照属性指示已创建快照时,在所述目录的元数据中添加所述快照索引,并将所述快照索引的前向指针指向前一个快照索引的后向指针,将所述前一个快照索引的后向指针指向所述快照索引的前向指针。
11.根据权利要求10所述的文件***的快照装置,其特征在于,所述装置还包括:
查找单元,用于根据快照标识和快照时间戳中的至少一种,查找所述目录的元数据中待删除的快照索引;
判断单元,用于判断所述待删除的快照索引的前向指针和后向指针是否均为空;
删除单元,用于当所述待删除的快照索引的前向指针和后向指针均为空时,将所述待删除的快照索引删除;
第一处理单元,用于当所述待删除的快照索引的前向指针为空,且所述待删除的快照索引的后向指针不为空时,将所述待删除的快照索引的快照变化列表存入下一个快照索引的快照变化列表中,并将所述待删除的快照索引删除,其中,所述下一个快照索引的前向指针设为空;
第二处理单元,用于当所述待删除的快照索引的后向指针为空,所述待删除的快照索引的前向指针不为空,或者当所述待删除的快照索引的前向指针和后向指针均不为空时,将所述待删除的快照索引的快照变化列表存入前一个快照索引的快照变化列表中,并将所述待删除的快照索引删除,其中,所述前一个快照索引的后向指针指向所述待删除的快照索引的下一个快照索引的前向指针,所述下一个快照索引的前向指针指向所述前一个快照索引的后向指针。
12.根据权利要求9所述的文件***的快照装置,其特征在于,所述装置还包括:
获取单元,用于获取在所述目录下待处理的文件,以及对所述待处理的文件的操作;
更新单元,用于根据所述操作,更新所述目录的元数据中创建的快照索引中的快照变化列表。
13.根据权利要求12所述的文件***的快照装置,其特征在于,当所述获取单元获取到对所述待处理的文件的操作为在所述目录下新建文件时,所述更新单元包括:
第一处理模块,用于将所述待处理的文件的元数据的指针存入所述目录的元数据中最后一个快照索引的新建列表中。
14.根据权利要求12所述的文件***的快照装置,其特征在于,当所述获取单元获取到对所述待处理的文件的操作为修改所述目录下的文件时,所述更新单元包括:
判断模块,用于判断所述待处理的文件的元数据的指针是否存在于所述目录的元数据中快照索引的新建列表中;
第一修改模块,用于当存在于所述新建列表中时,根据对所述待处理的文件的修改,修改所述待处理的文件的元数据;
第二处理模块,用于当不存在于所述新建列表中时,将所述待处理的文件复制到第一存储区域,所述待处理的文件的元数据复制到第二存储区域,并将所述待处理的文件的元数据的指针存入所述目录的元数据中最后一个快照索引的删除列表中,将修改后的文件的元数据的指针存入所述最后一个快照索引的新建列表中。
15.根据权利要求12所述的文件***的快照装置,其特征在于,当所述获取单元获取到对所述待处理的文件的操作为修改所述目录下的文件的元数据时,所述更新单元包括:
所述判断模块,还用于判断所述待处理的文件的元数据的指针是否存在于所述目录的元数据中快照索引的新建列表中;
第二修改模块,用于当存在于所述新建列表时,修改所述待处理的文件的元数据;
第三处理模块,用于当不存在于所述新建列表时,将所述待处理的文件的元数据复制到第三存储区域,将所述待处理的文件的元数据的指针存入所述目录的元数据中最后一个快照索引的删除列表中,将修改后文件的元数据的指针存入所述最后一个快照索引的新建列表中。
16.根据权利要求12所述的文件***的快照装置,其特征在于,当所述获取单元获取到对所述待处理的文件的操作为删除所述目录下的文件时,所述更新单元包括:
所述判断模块,还用于判断所述待处理的文件的元数据的指针是否存在于所述目录的元数据中快照索引的新建列表中;
删除模块,用于当存在于所述新建列表时,删除所述新建列表中所述待处理的文件的元数据的指针;
第四处理模块,用于当不存在于所述新建列表时,删除所述目录的元数据中的目标指针,将所述待处理的文件复制到第四存储区域,并将所述待处理的文件复制后的元数据的指针存入所述目录的元数据中最后一个快照索引的删除列表中,所述目标指针为所述目录的元数据中指向所述待处理的文件的元数据的指针。
CN201310378894.3A 2013-08-27 2013-08-27 文件***的快照方法和装置 Active CN103473277B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310378894.3A CN103473277B (zh) 2013-08-27 2013-08-27 文件***的快照方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310378894.3A CN103473277B (zh) 2013-08-27 2013-08-27 文件***的快照方法和装置

Publications (2)

Publication Number Publication Date
CN103473277A true CN103473277A (zh) 2013-12-25
CN103473277B CN103473277B (zh) 2017-04-05

Family

ID=49798125

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310378894.3A Active CN103473277B (zh) 2013-08-27 2013-08-27 文件***的快照方法和装置

Country Status (1)

Country Link
CN (1) CN103473277B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729265A (zh) * 2013-12-30 2014-04-16 华为技术有限公司 一种存储数据的保护方法及装置
CN104462290A (zh) * 2014-11-27 2015-03-25 华为技术有限公司 文件***复制方法及装置
CN104866245A (zh) * 2015-06-03 2015-08-26 北京麓柏科技有限公司 缓存设备和存储***之间同步快照的方法和装置
CN106569738A (zh) * 2016-09-30 2017-04-19 华为技术有限公司 一种删除级联快照的方法及装置
CN106649412A (zh) * 2015-11-04 2017-05-10 阿里巴巴集团控股有限公司 一种数据处理方法和设备
CN106933699A (zh) * 2015-12-30 2017-07-07 中移(苏州)软件技术有限公司 一种数据恢复、快照创建、快照删除方法及装置
CN106980645A (zh) * 2017-02-24 2017-07-25 深圳市中博睿存信息技术有限公司 一种分布式文件***架构实现方法和装置
CN107122140A (zh) * 2017-05-02 2017-09-01 郑州云海信息技术有限公司 一种基于元数据信息的文件智能存储方法
CN109462651A (zh) * 2018-11-19 2019-03-12 郑州云海信息技术有限公司 一种镜像卷数据上云的方法、装置、***及可读存储介质
CN109815194A (zh) * 2019-02-01 2019-05-28 北京沃东天骏信息技术有限公司 索引方法、索引装置、计算机可读存储介质及电子设备
CN110073344A (zh) * 2016-10-28 2019-07-30 Netapp股份有限公司 利用合成基线快照和逐出状态刷新来减少稳定数据逐出
CN110515543A (zh) * 2019-08-02 2019-11-29 星辰天合(北京)数据科技有限公司 基于对象存储桶的快照方法、装置和***
CN110515767A (zh) * 2019-08-09 2019-11-29 济南浪潮数据技术有限公司 快照数据备份方法、装置、设备及可读存储介质
CN111522780A (zh) * 2019-02-01 2020-08-11 华为技术有限公司 一种记录文件创建者信息的方法及终端
CN113821476A (zh) * 2021-11-25 2021-12-21 云和恩墨(北京)信息技术有限公司 数据处理方法及装置
US11429488B2 (en) 2016-10-14 2022-08-30 Tencent Technology (Shenzhen) Company Limited Data recovery method based on snapshots, device and storage medium
CN115185891A (zh) * 2022-09-14 2022-10-14 联想凌拓科技有限公司 文件***的数据管理方法及装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030093443A1 (en) * 2001-11-15 2003-05-15 Huxoll Vernon F. System and method for creating online snapshots
US7072916B1 (en) * 2000-08-18 2006-07-04 Network Appliance, Inc. Instant snapshot
CN101162469A (zh) * 2007-11-09 2008-04-16 清华大学 基于快照的细粒度文件与目录版本管理方法
CN101178677A (zh) * 2007-11-09 2008-05-14 中国科学院计算技术研究所 一种计算机文件***的快照方法
CN103257993A (zh) * 2012-02-15 2013-08-21 株式会社日立解决方案 文件列表生成方法、***以及程序、文件列表生成装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072916B1 (en) * 2000-08-18 2006-07-04 Network Appliance, Inc. Instant snapshot
US20030093443A1 (en) * 2001-11-15 2003-05-15 Huxoll Vernon F. System and method for creating online snapshots
CN101162469A (zh) * 2007-11-09 2008-04-16 清华大学 基于快照的细粒度文件与目录版本管理方法
CN101178677A (zh) * 2007-11-09 2008-05-14 中国科学院计算技术研究所 一种计算机文件***的快照方法
CN103257993A (zh) * 2012-02-15 2013-08-21 株式会社日立解决方案 文件列表生成方法、***以及程序、文件列表生成装置

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729265A (zh) * 2013-12-30 2014-04-16 华为技术有限公司 一种存储数据的保护方法及装置
CN103729265B (zh) * 2013-12-30 2017-01-04 华为技术有限公司 一种存储数据的保护方法及装置
CN104462290A (zh) * 2014-11-27 2015-03-25 华为技术有限公司 文件***复制方法及装置
CN104462290B (zh) * 2014-11-27 2017-10-10 华为技术有限公司 文件***复制方法及装置
CN104866245A (zh) * 2015-06-03 2015-08-26 北京麓柏科技有限公司 缓存设备和存储***之间同步快照的方法和装置
CN104866245B (zh) * 2015-06-03 2018-09-14 马鞍山创久科技股份有限公司 缓存设备和存储***之间同步快照的方法和装置
CN106649412A (zh) * 2015-11-04 2017-05-10 阿里巴巴集团控股有限公司 一种数据处理方法和设备
US10789226B2 (en) 2015-11-04 2020-09-29 Alibaba Group Holding Limited Method and apparatus for data processing
CN106649412B (zh) * 2015-11-04 2021-05-04 阿里巴巴集团控股有限公司 一种数据处理方法和设备
CN106933699B (zh) * 2015-12-30 2021-11-30 中移(苏州)软件技术有限公司 一种快照删除方法及装置
CN106933699A (zh) * 2015-12-30 2017-07-07 中移(苏州)软件技术有限公司 一种数据恢复、快照创建、快照删除方法及装置
CN106569738A (zh) * 2016-09-30 2017-04-19 华为技术有限公司 一种删除级联快照的方法及装置
US11093162B2 (en) 2016-09-30 2021-08-17 Huawei Technologies Co., Ltd. Method and apparatus for deleting cascaded snapshot
CN106569738B (zh) * 2016-09-30 2019-11-29 华为技术有限公司 一种删除级联快照的方法及装置
US11429488B2 (en) 2016-10-14 2022-08-30 Tencent Technology (Shenzhen) Company Limited Data recovery method based on snapshots, device and storage medium
CN110073344B (zh) * 2016-10-28 2021-01-15 Netapp股份有限公司 利用合成基线快照和逐出状态刷新来减少稳定数据逐出
CN110073344A (zh) * 2016-10-28 2019-07-30 Netapp股份有限公司 利用合成基线快照和逐出状态刷新来减少稳定数据逐出
CN106980645B (zh) * 2017-02-24 2020-09-15 北京同有飞骥科技股份有限公司 一种分布式文件***架构实现方法和装置
CN106980645A (zh) * 2017-02-24 2017-07-25 深圳市中博睿存信息技术有限公司 一种分布式文件***架构实现方法和装置
CN107122140A (zh) * 2017-05-02 2017-09-01 郑州云海信息技术有限公司 一种基于元数据信息的文件智能存储方法
CN109462651A (zh) * 2018-11-19 2019-03-12 郑州云海信息技术有限公司 一种镜像卷数据上云的方法、装置、***及可读存储介质
CN109462651B (zh) * 2018-11-19 2021-11-19 郑州云海信息技术有限公司 一种镜像卷数据上云的方法、装置、***及可读存储介质
CN111522780A (zh) * 2019-02-01 2020-08-11 华为技术有限公司 一种记录文件创建者信息的方法及终端
CN111522780B (zh) * 2019-02-01 2024-01-30 华为技术有限公司 一种记录文件创建者信息的方法及终端
CN109815194A (zh) * 2019-02-01 2019-05-28 北京沃东天骏信息技术有限公司 索引方法、索引装置、计算机可读存储介质及电子设备
CN110515543A (zh) * 2019-08-02 2019-11-29 星辰天合(北京)数据科技有限公司 基于对象存储桶的快照方法、装置和***
CN110515543B (zh) * 2019-08-02 2021-02-19 星辰天合(北京)数据科技有限公司 基于对象存储桶的快照方法、装置和***
CN110515767A (zh) * 2019-08-09 2019-11-29 济南浪潮数据技术有限公司 快照数据备份方法、装置、设备及可读存储介质
CN113821476A (zh) * 2021-11-25 2021-12-21 云和恩墨(北京)信息技术有限公司 数据处理方法及装置
CN115185891A (zh) * 2022-09-14 2022-10-14 联想凌拓科技有限公司 文件***的数据管理方法及装置、电子设备及存储介质
CN115185891B (zh) * 2022-09-14 2023-01-17 联想凌拓科技有限公司 文件***的数据管理方法及装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN103473277B (zh) 2017-04-05

Similar Documents

Publication Publication Date Title
CN103473277A (zh) 文件***的快照方法和装置
US11520755B2 (en) Migration of a database management system to cloud storage
US11422900B2 (en) Platform-agnostic containerized application data protection
US11288135B2 (en) Synthesizing a restore image from one or more secondary copies to facilitate data restore operations to a file server
US20190243729A1 (en) Restoration of centralized data storage manager, such as data storage manager in a hierarchical data storage system
US10698866B2 (en) Synchronizing updates across cluster filesystems
US11921594B2 (en) Enhanced file indexing, live browsing, and restoring of backup copies of virtual machines and/or file systems by populating and tracking a cache storage area and a backup index
US11321192B2 (en) Restoration of specified content from an archive
US8606759B2 (en) Apparatus, system and method for recovering meta data using fragmentary information
CN102981931A (zh) 虚拟机备份方法及装置
US20120110287A1 (en) Snapshots in a hybrid storage device comprising a magnetic disk and a solid state disk
US20210064486A1 (en) Access arbitration to a shared cache storage area in a data storage management system for live browse, file indexing, backup and/or restore operations
US20110093437A1 (en) Method and system for generating a space-efficient snapshot or snapclone of logical disks
CN113886143B (zh) 虚拟机持续数据保护方法、装置及数据恢复方法、装置
CN108255638B (zh) 一种快照回滚方法及装置
CN103678337A (zh) 数据清除方法、装置及***
CN113918385B (zh) 虚拟机在线增量备份恢复的方法、装置、电子设备及介质
CN102360321A (zh) 一种基于云架构的终端程序快速备份及恢复方法
CN109491832A (zh) 数据容灾方法与站点
CN104662522A (zh) 使用存储***功能性的全虚拟机备份的***和方法
CN115098447A (zh) 文件恢复方法、装置、电子设备及可读存储介质
EP3454231B1 (en) Remotely mounted file system with stubs
US20240045770A1 (en) Techniques for using data backup and disaster recovery configurations for application management
CN108376104B (zh) 节点调度方法及装置、计算机可读存储介质
CN104809033A (zh) 一种备份方法及***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191231

Address after: 314413 No.2, Fengshou Avenue, Haining Economic and knitting industrial park, Jiaxing City, Zhejiang Province

Patentee after: Zhejiang Haining Warp Knitting Industrial Park Development Co., Ltd

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: Huawei Technologies Co., Ltd.

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Snapshot method and device of file system

Effective date of registration: 20201129

Granted publication date: 20170405

Pledgee: Zhejiang Haining Rural Commercial Bank Co.,Ltd. Maqiao sub branch

Pledgor: Zhejiang Haining Warp Knitting Industrial Park Development Co.,Ltd.

Registration number: Y2020330001084