一种快照比对的方法和装置制造方法及图纸

技术编号:21627551 阅读:23 留言:0更新日期:2019-07-17 10:40
本申请提供了一种快照比对的方法和装置,能够提高快照比对的效率。该方法包括:获取与文件系统的当前快照对应的时间树;根据该文件系统的历史快照的创建时间,自该根节点层开始逐层访问每层节点中的至少部分节点所包括的时间,以查找目标叶子节点,该目标叶子节点包括的文件的更新时间大于该历史快照的创建时间;根据该目标叶子节点,确定目标文件,该目标文件包括在第一时段内该文件系统中被修改和/或被新写的文件,该第一时段位于该历史快照的创建时间和该当前快照的创建时间之间。

A method and device for snapshot comparison

【技术实现步骤摘要】
一种快照比对的方法和装置
本申请涉及存储领域,更具体地,涉及存储领域中一种快照比对的方法和装置。
技术介绍
增量备份是指在针对数据进行一次全备份或上一次增量备份后所进行的一种针对增量文件的备份,即,每次增量备份时只需要备份当前时间与上一次备份的时间之间文件系统发生变化的数据。为了获取文件系统前后两次备份发生变化的数据,可以基于文件系统的快照获得,即,基于快照比对的方式获得。其中,快照是一种保护文件系统的数据的技术,用于保护文件系统在某个时间(例如,启动数据备份的时间)所处的状态。目前,已知一种快照比对的方式,在该方式中,当需要针对两个快照进行比对时,需要对该两个快照进行两次全遍历以及两次查找过程,且每次遍历以及查找过程都需要检查每个文件,才能确定文件系统在该两个快照的创建时间之间发生变化的数据,其中,文件系统发生变化的数据包括文件系统被修改和/或被删除和/或被新写的数据,这种快照比对方式,使得快照比对过程占用的时间较长,降低了数据备份的效率,从而降低了数据备份的性能。
技术实现思路
本申请提供一种快照比对的方法和装置,有助于提高快照比对过程中的效率。第一方面,提供了一种快照比对的方法,所述方法包括:获取与文件系统的当前快照对应的时间树,所述时间树包括根节点层、中间节点层和叶子节点层,所述根节点层包括一个根节点,所述中间节点层包括至少一层中间节点,所述根节点指向所述中间节点层中的第一层中间节点,所述中间节点层中的最后一层中间节点指向所述叶子节点层中的叶子节点,其中,所述叶子节点层中的每个叶子节点包括所述文件系统的一个文件的更新时间,所述中间节点层中的第一中间节点包括第一中间时间,所述第一中间时间包括所述第一中间节点所指向的下一级节点中每个节点所包括的文件的更新时间中的最后更新时间,所述根节点包括所述当前快照的创建时间,所述第一中间节点是所述中间节点层中的任一个中间节点,所述更新时间包括所述文件系统中被修改的文件的修改时间和/或被新写的文件的写入时间;根据所述文件系统的历史快照的创建时间,自所述根节点层开始逐层访问每层节点中的至少部分节点所包括的时间,以查找目标叶子节点,所述目标叶子节点包括的文件的更新时间大于所述历史快照的创建时间;根据所述目标叶子节点,确定目标文件,所述目标文件包括在第一时段内所述文件系统中被修改和/或被新写的文件,所述第一时段位于所述历史快照的创建时间和所述当前快照的创建时间之间。因此,本申请实施例提供的快照比对的方法,通过在对应于快照的树结构的每个节点中记录文件的更新时间,基于历史快照的创建时间,从当前快照对应的时间树中访问每层节点,以查找到节点中所包括的文件的更新时间大于该历史快照的创建时间的目标叶子节点,从而基于该目标叶子节点确定在第一时段内文件系统中被修改和/或被新写的文件,相比于现有技术确定该目标文件的过程,有效地节省了快照比对过程中的时间,提高了效率,从而,有助于提高整个快照比对过程中的效率。可选地,所述至少部分节点包括所述时间树中除跳转节点以外的所有节点,所述跳转节点中包括的文件的更新时间小于或等于所述历史快照的创建时间。因此,本申请实施例提供的快照比对的方法,通过在对应于快照的树结构的每个节点中记录文件的更新时间,基于历史快照的创建时间,从当前快照对应的时间树中访问每层节点时,可以跳过节点中包括的文件的更新时间小于或历史快照的创建时间的跳转节点,仅访问节点中除跳转节点以外的节点,可以减少访问的节点的个数,进一步节省时间,提高快照比对过程中的效率。可选地,所述根据所述目标叶子节点,确定目标文件,包括:根据所述目标叶子节点,确定所述目标文件的创建时间;从所述目标文件的创建时间中,将创建时间在所述历史快照的创建时间之前的文件确定为所述文件系统中被修改的文件,和/或,将创建时间在所述历史快照的创建时间之后的文件确定为所述文件系统中被新写的文件。可选地,所述方法还包括:确定创建时间在所述第一时段内的释放日志,所述释放日志包括删除记录,所述删除记录用于记录在所述第一时段内所述文件系统中被删除的数据在未删除前的存储位置;根据所述释放日志,确定在所述第一时段内所述文件系统中被删除的数据。因此,本申请实施例提供的快照比对的方法,通过创建时间在历史快照的创建时间和当前快照的创建时间之间的时段(例如,第一时段)内的释放日志,可以快速地确定在该第一时段内文件系统中被删除的数据,进一步节省了快照比对过程的时间,提高了整个快照比对过程中的效率。可选地,在所述确定创建时间在所述第一时段内的释放日志之前,所述方法还包括:在第一时刻删除所述文件系统中的第一数据,所述第一时刻位于所述第一时段之间;若在所述第一时刻的释放日志中已存储的删除记录中包括目标删除记录,则更新所述目标删除记录,以使得所述目标删除记录还用于记录所述第一数据在未删除前的存储位置;若在所述第一时刻的释放日志中已存储的删除记录中不包括目标删除记录,则将用于记录所述第一数据在未删除前的存储位置的删除记录写入至所述第一时刻的释放日志中;其中,所述目标删除记录对应的数据在未删除前的存储位置与所述第一数据在未删除前的存储位置连续。因此,本申请实施例提供的快照比对的方法,在释放日志中记录删除记录的过程中,对于在任意时刻(例如,第一时刻)删除的数据(例如,第一数据),若释放日志中存在满足条件的目标删除记录,则更新该目标删除记录,使得该目标删除记录还用于记录该第一数据在未删除前的存储位置,进一步节省了系统空间。可选地,所述释放日志包括N个子释放日志,所述N个子释放日志与N个快照中之间存在对应关系,第i个子释放日志与第i个快照对应,所述N个快照包括所述历史快照和所述历史快照与所述当前快照之间的N-1个快照,所述N个快照是按照时间先后顺序依次创建的,所述N为大于或等于1的整数,所述第i个子释放日志包括的删除记录用于记录在中间时段内所述文件系统中被删除的数据在未删除前的存储位置,所述中间时段位于第i个快照的创建时间和第i+1个快照的创建时间之间,所述i∈[1,N],以及,所述确定创建时间在所述第一时段内的释放日志,包括:根据所述N个快照和所述对应关系,确定所述N个子释放日志。可选地,所述对应关系包括第一对应关系和第二对应关系,所述第一对应关系包括所述N个快照与N个索引号之间的对应关系,所述第二对应关系包括所述N个索引号和所述N个子释放日志之间的对应关系,所述N个索引号是基于预设的规则分配的,以及,所述根据所述N个快照和所述对应关系,确定所述N个子释放日志,包括:根据所述历史快照、所述N个快照中的第N个快照和第一对应关系,确定对应于所述历史快照的索引号和对应于所述第N个快照的索引号;根据所述历史快照的索引号、所述第N个快照的索引号和所述预设的规则,确定所述历史快照的索引号与所述第N个快照的索引号之间的N-2个索引号;根据N个索引号和所述第二对应关系,确定所述释放日志,所述N个索引号包括所述历史快照的索引号、所述第N个快照的索引号和所述N-2个索引号。可选地,所述方法还包括:若所述历史快照为所述文件系统中第一个支持快照比对的快照,则删除所述历史快照和对应于所述历史快照的子释放日志。第二方面,提供了一种快照比对的装置,所述装置可以包括用于执行上述第一方面本文档来自技高网...

【技术保护点】
1.一种用于快照比对的方法,其特征在于,所述方法包括:获取与文件系统的当前快照对应的时间树,所述时间树包括根节点层、中间节点层和叶子节点层,所述根节点层包括一个根节点,所述中间节点层包括至少一层中间节点,所述根节点指向所述中间节点层中的第一层中间节点,所述中间节点层中的最后一层中间节点指向所述叶子节点层中的叶子节点,其中,所述叶子节点层中的每个叶子节点包括所述文件系统的一个文件的更新时间,所述中间节点层中的第一中间节点包括第一中间时间,所述第一中间时间包括所述第一中间节点所指向的下一级节点中每个节点所包括的文件的更新时间中的最后更新时间,所述根节点包括所述当前快照的创建时间,所述第一中间节点是所述中间节点层中的任一个中间节点,所述更新时间包括所述文件系统中被修改的文件的修改时间和/或被新写的文件的写入时间;根据所述文件系统的历史快照的创建时间,自所述根节点层开始逐层访问每层节点中的至少部分节点所包括的时间,以查找目标叶子节点,所述目标叶子节点包括的文件的更新时间大于所述历史快照的创建时间;根据所述目标叶子节点,确定目标文件,所述目标文件包括在第一时段内所述文件系统中被修改和/或被新写的文件,所述第一时段位于所述历史快照的创建时间和所述当前快照的创建时间之间。...

【技术特征摘要】
1.一种用于快照比对的方法,其特征在于,所述方法包括:获取与文件系统的当前快照对应的时间树,所述时间树包括根节点层、中间节点层和叶子节点层,所述根节点层包括一个根节点,所述中间节点层包括至少一层中间节点,所述根节点指向所述中间节点层中的第一层中间节点,所述中间节点层中的最后一层中间节点指向所述叶子节点层中的叶子节点,其中,所述叶子节点层中的每个叶子节点包括所述文件系统的一个文件的更新时间,所述中间节点层中的第一中间节点包括第一中间时间,所述第一中间时间包括所述第一中间节点所指向的下一级节点中每个节点所包括的文件的更新时间中的最后更新时间,所述根节点包括所述当前快照的创建时间,所述第一中间节点是所述中间节点层中的任一个中间节点,所述更新时间包括所述文件系统中被修改的文件的修改时间和/或被新写的文件的写入时间;根据所述文件系统的历史快照的创建时间,自所述根节点层开始逐层访问每层节点中的至少部分节点所包括的时间,以查找目标叶子节点,所述目标叶子节点包括的文件的更新时间大于所述历史快照的创建时间;根据所述目标叶子节点,确定目标文件,所述目标文件包括在第一时段内所述文件系统中被修改和/或被新写的文件,所述第一时段位于所述历史快照的创建时间和所述当前快照的创建时间之间。2.根据权利要求1所述的方法,其特征在于,所述至少部分节点包括所述时间树中除跳转节点以外的所有节点,所述跳转节点中包括的文件的更新时间小于或等于所述历史快照的创建时间。3.根据权利要求1或2所述的方法,其特征在于,所述根据所述目标叶子节点,确定目标文件,包括:根据所述目标叶子节点,确定所述目标文件的创建时间;从所述目标文件的创建时间中,将创建时间在所述历史快照的创建时间之前的文件确定为所述文件系统中被修改的文件,和/或,将创建时间在所述历史快照的创建时间之后的文件确定为所述文件系统中被新写的文件。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:确定创建时间在所述第一时段内的释放日志,所述释放日志包括删除记录,所述删除记录用于记录在所述第一时段内所述文件系统中被删除的数据在未删除前的存储位置;根据所述释放日志,确定在所述第一时段内所述文件系统中被删除的数据。5.根据权利要求4所述的方法,其特征在于,在所述确定创建时间在所述第一时段内的释放日志之前,所述方法还包括:在第一时刻删除所述文件系统中的第一数据,所述第一时刻位于所述第一时段之间;若在所述第一时刻的释放日志中已存储的删除记录中包括目标删除记录,则更新所述目标删除记录,以使得所述目标删除记录还用于记录所述第一数据在未删除前的存储位置;若在所述第一时刻的释放日志中已存储的删除记录中不包括目标删除记录,则将用于记录所述第一数据在未删除前的存储位置的删除记录写入至所述第一时刻的释放日志中;其中,所述目标删除记录对应的数据在未删除前的存储位置与所述第一数据在未删除前的存储位置连续。6.根据权利要求4或5所述的方法,其特征在于,所述释放日志包括N个子释放日志,所述N个子释放日志与N个快照中之间存在对应关系,第i个子释放日志与第i个快照对应,所述N个快照包括所述历史快照和所述历史快照与所述当前快照之间的N-1个快照,所述N个快照是按照时间先后顺序依次创建的,所述N为大于或等于1的整数,所述第i个子释放日志包括的删除记录用于记录在中间时段内所述文件系统中被删除的数据在未删除前的存储位置,所述中间时段位于第i个快照的创建时间和第i+1个快照的创建时间之间,所述i∈[1,N],以及,所述确定创建时间在所述第一时段内的释放日志,包括:根据所述N个快照和所述对应关系,确定所述N个子释放日志。7.根据权利要求6所述的方法,其特征在于,所述对应关系包括第一对应关系和第二对应关系,所述第一对应关系包括所述N个快照与N个索引号之间的对应关系,所述第二对应关系包括所述N个索引号和所述N个子释放日志之间的对应关系,所述N个索引号是基于预设的规则分配的,以及,所述根据所述N个快照和所述对应关系,确定所述N个子释放日志,包括:根据所述历史快照、所述N个快照中的第N个快照和第一对应关系,确定对应于所述历史快照的索引号和对应于所述第N个快照的索引号;根据所述历史快照的索引号、所述第N个快照的索引号和所述预设的规则,确定所述历史快照的索引号与所述第N个快照的索引号之间的N-2个索引号;根据N个索引号和所述第二对应关系,确定所述释放日志,所述N个索引号包括所述历史快照的索引号、所述第N个快照的索引号和所述N-2个索引号。8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:若所述历史快照为所述文件系统中第一个支持快照比对的快照,则删除所述历史快照和对应于所述历史快照的子释放日志。9.一种用于快照比对的装置,其特征在于,所述装置包括:获取单元,用于获取与文件系统的当前快照对应的时间...

【专利技术属性】
技术研发人员:王加元
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1