CN111625499A - 一种快照回滚工具、方法及设备 - Google Patents
一种快照回滚工具、方法及设备 Download PDFInfo
- Publication number
- CN111625499A CN111625499A CN202010470834.4A CN202010470834A CN111625499A CN 111625499 A CN111625499 A CN 111625499A CN 202010470834 A CN202010470834 A CN 202010470834A CN 111625499 A CN111625499 A CN 111625499A
- Authority
- CN
- China
- Prior art keywords
- directory
- snapshot
- file
- under
- source
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种快照回滚工具,包括命令接收模块、文件回滚模块、目录回滚模块和递归模块,其中命令接收模块用于接收快照回滚命令,文件回滚模块快照目录下的文件进行回滚,目录回滚模块用于对快照目录下的子目录进行回滚,递归模块用于对快照目录下的子目录进行递归操作,以调用文件回滚模块和目录回滚模块对其下的文件和次级子目录进行回滚操作。可见,该快照回滚工具独立完成完整的快照回滚逻辑,避免在文件系统中实现复杂的逻辑处理,具备结构简单、逻辑清晰、易用性强、可维护性高的优点。本申请还提供了一种快照回滚方法及设备,其技术效果与上述快照回滚工具的技术效果相对应。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种快照回滚工具、方法及设备。
背景技术
快照,是指数据在某一时刻的状态记录。创建快照后,若有部分数据改变,均可以通过快照将数据回滚至创建快照时的状态。快照提供了一种新的数据备份方式,通常快照占用空间小于副本占用空间,因此广泛应用于互联网服务存储行业。
目前的快照回滚逻辑均是在文件系统中实现,不便于维护和使用。
发明内容
本申请的目的是提供一种快照回滚工具、方法及设备,用以解决当前的快照回滚逻辑均是在文件系统中实现,因此不便于维护和使用的问题。其具体方案如下:
第一方面,本申请提供了一种快照回滚工具,包括:
命令接收模块:用于接收快照回滚命令,所述快照回滚命令包括源目录的路径参数和快照目录的路径参数;
文件回滚模块:用于对所述源目录下的文件和所述快照目录下的文件进行对比;在所述源目录下存在所述快照目录下不存在的文件时,删除所述源目录下的文件;在所述快照目录下存在所述源目录下不存在的文件时,复制该文件到所述源目录下;在所述源目录下存在所述快照目录下也存在的文件时,判断二者是否一致,若不一致,则删除所述源目录下的文件,并将所述快照目录下的文件复制到所述源目录下;
目录回滚模块:用于对所述源目录下的子目录和所述快照目录下的子目录进行对比;在所述源目录下存在所述快照目录下不存在的子目录时,删除所述源目录下的子目录;在所述快照目录下存在所述源目录下不存在的子目录时,复制该子目录到所述源目录下;在所述源目录下存在所述快照目录下也存在的子目录时,进入递归模块;
所述递归模块:用于在所述源目录下的子目录下或所述快照目录下的子目录下存在次级子目录或文件时,将所述源目录下的子目录作为新的源目录,将所述快照目录下的子目录作为新的快照目录,进入所述文件回滚模块和所述目录回滚模块。
优选的,所述文件回滚模块包括:
文件遍历单元:用于在所述源目录和所述快照目录下的文件均按照名称字符串大小进行排列时,对所述快照目录下第n个文件和所述源目录下第n个文件进行对比,其中n∈[1,N],N为所述快照目录下的文件总数量;
第一文件回滚单元:用于在所述快照目录下第n个文件的名称字符串大小大于所述源目录下第n个文件的名称字符串大小时,确定所述源目录下第n个文件为快照创建后新建的文件,并删除所述源目录下第n个文件;
第二文件回滚单元:用于在所述快照目录下第n个文件的名称字符串大小小于所述源目录下第n个文件的名称字符串大小时,确定所述快照目录下第n个文件为所述源目录下已被删除的文件,并复制所述快照目录下第n个文件到所述源目录下;
第三文件回滚单元:用于在所述快照目录下第n个文件的名称字符串大小等于所述源目录下第n个文件的名称字符串大小时,判断二者是否一致,若不一致,则删除所述源目录下第n个文件,并复制所述快照目录下第n个文件到所述源目录下。
优选的,所述第二文件回滚单元和所述第三文件回滚单元用于:复制所述快照目录下第n个文件到所述源目录下,并根据所述快照目录下第n个文件的属性为复制结果设置文件属性。
优选的,所述第三文件回滚单元用于:通过对比所述快照目录下第n个文件的元数据和所述源目录下第n个文件的元数据,判断二者是否一致。
优选的,所述目录回滚模块包括:
目录遍历单元:在所述源目录和所述快照目录下的子目录均按照名称字符串大小进行排列时,对所述快照目录下第m个子目录和所述源目录下第m个子目录进行对比,其中m∈[1,M],M为所述快照目录下的子目录总数量;
第一目录回滚单元:用于在所述快照目录下第m个子目录的名称字符串大小大于所述源目录下第m个子目录的名称字符串大小时,确定所述源目录下第m个子目录为快照创建后新建的子目录,并删除所述源目录下第m个子目录;
第二目录回滚单元:用于在所述快照目录下第m个子目录的名称字符串大小小于所述源目录下第m个子目录的名称字符串大小时,确定所述快照目录下第m个子目录为所述源目录下已被删除的子目录,并复制所述快照目录下第m个子目录到所述源目录下;
第三目录回滚单元:用于在所述快照目录下第m个子目录的名称字符串大小等于所述源目录下第m个子目录的名称字符串大小时,进入递归模块。
优选的,所述第二目录回滚单元用于:复制所述快照目录下第m个子目录到所述源目录下,并根据所述快照目录下第n个子目录的属性为复制结果设置目录属性。
优选的,所述递归模块用于:
在所述源目录下的子目录下或所述快照目录下的子目录下存在次级子目录或文件时,将所述源目录下的子目录作为新的源目录,将所述快照目录下的子目录作为新的快照目录,进入所述文件回滚模块和所述目录回滚模块;在所述新的快照目录下的文件和子目录全部回滚完成后,根据所述新的快照目录的目录属性设置所述新的源目录的目录属性;
在所述源目录下的子目录下和所述快照目录下的子目录下均不存在次级子目录或文件时,根据所述快照目录下的子目录的目录属性设置所述源目录下的子目录的目录属性。
第二方面,本申请提供了一种快照回滚方法,包括:
S1、接收快照回滚命令,所述快照回滚命令包括源目录的路径参数和快照目录的路径参数;
S2、对所述源目录下的文件和所述快照目录下的文件进行对比;在所述源目录下存在所述快照目录下不存在的文件时,删除所述源目录下的文件;在所述快照目录下存在所述源目录下不存在的文件时,复制该文件到所述源目录下;在所述源目录下存在所述快照目录下也存在的文件时,判断二者是否一致,若不一致,则删除所述源目录下的文件,并将所述快照目录下的文件复制到所述源目录下;
S3、对所述源目录下的子目录和所述快照目录下的子目录进行对比;在所述源目录下存在所述快照目录下不存在的子目录时,删除所述源目录下的子目录;在所述快照目录下存在所述源目录下不存在的子目录时,复制该子目录到所述源目录下;在所述源目录下存在所述快照目录下也存在的子目录时,进入S4;
S4、在所述源目录下的子目录下或所述快照目录下的子目录下存在次级子目录或文件时,将所述源目录下的子目录作为新的源目录,将所述快照目录下的子目录作为新的快照目录,进入S2。
第三方面,本申请提供了一种快照回滚设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上所述的快照回滚方法的步骤。
本申请所提供的一种快照回滚工具,包括命令接收模块、文件回滚模块、目录回滚模块和递归模块,其中命令接收模块用于接收快照回滚命令,文件回滚模块快照目录下的文件进行回滚,目录回滚模块用于对快照目录下的子目录进行回滚,递归模块用于对快照目录下的子目录进行递归操作,以调用文件回滚模块和目录回滚模块对其下的文件和次级子目录进行回滚操作。可见,该快照回滚工具独立完成完整的快照回滚逻辑,避免在文件系统中实现复杂的逻辑处理,具备结构简单、逻辑清晰、易用性强、可维护性高的优点。
本申请还提供了一种快照回滚方法及设备,其技术效果与上述快照回滚工具的技术效果相对应,这里不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请所提供的一种快照回滚工具实施例一的功能模块示意图;
图2为本申请所提供的一种快照回滚工具实施例二的功能模块示意图;
图3为本申请所提供的一种快照回滚工具实施例二的实现过程示意图;
图4为本申请所提供的一种快照回滚工具实施例二的文件回滚示意图图一;
图5为本申请所提供的一种快照回滚工具实施例二的文件回滚示意图图二;
图6为本申请所提供的一种快照回滚工具实施例二的文件回滚示意图图三;
图7为本申请所提供的一种快照回滚方法实施例的方法流程图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在分布式文件系统中,对于快照回滚,常见的实现方案是在文件系统客户端中增加快照回滚的逻辑,该方案不便于维护和使用。针对该问题,本申请的核心是提供一种快照回滚工具、方法及设备,能够利用独立的快照回滚工具完成完整的快照回滚逻辑,避免在文件系统中实现复杂的逻辑处理,具备结构简单、逻辑清晰、易用性强、可维护性高的优点。
下面对本申请提供的一种快照回滚工具实施例一进行介绍,参见图1,实施例一包括:
命令接收模块11:用于接收快照回滚命令,所述快照回滚命令包括源目录的路径参数和快照目录的路径参数;
文件回滚模块12:用于对所述源目录下的文件和所述快照目录下的文件进行对比;在所述源目录下存在所述快照目录下不存在的文件时,删除所述源目录下的文件;在所述快照目录下存在所述源目录下不存在的文件时,复制该文件到所述源目录下;在所述源目录下存在所述快照目录下也存在的文件时,判断二者是否一致,若不一致,则删除所述源目录下的文件,并将所述快照目录下的文件复制到所述源目录下;
目录回滚模块13:用于对所述源目录下的子目录和所述快照目录下的子目录进行对比;在所述源目录下存在所述快照目录下不存在的子目录时,删除所述源目录下的子目录;在所述快照目录下存在所述源目录下不存在的子目录时,复制该子目录到所述源目录下;在所述源目录下存在所述快照目录下也存在的子目录时,进入递归模块;
所述递归模块14:用于在所述源目录下的子目录下或所述快照目录下的子目录下存在次级子目录或文件时,将所述源目录下的子目录作为新的源目录,将所述快照目录下的子目录作为新的快照目录,进入所述文件回滚模块和所述目录回滚模块。
快照回滚包括目录快照回滚和文件快照回滚,由于目录下可能存在次级目录(次级目录表示下一级目录,例如子目录是父目录的次级目录,孙子目录是子目录的次级目录),所以在进行目录快照回滚时需要考虑递归。一般的,目录快照回滚过程中包含文件快照回滚的操作,本实施例以目录快照回滚展开。
首先,对待进行快照回滚的源目录和快照目录分别进行遍历,记录目录下的文件和子目录,然后对源目录下的文件/子目录与快照目录下的文件/子目录进行对比,根据对比结果的不同,分以下三种情形:
情形一:若源目录下存在快照目录中不存在的文件/子目录,则认为该文件/子目录为快照创建后新建的文件/目录,并删除源目录下的该文件/子目录。
情形二:若快照目录下存在源目录中不存在的文件/子目录,则认为该文件/子目录为快照创建后在源目录中已经被删除的文件/目录,将该文件/子目录复制到源目录下。值得一提的是,子目录复制过程中需考虑递归。
情形三:对于在源目录下和快照目录下同时存在的文件/子目录,需分别处理。
对于文件来说,需要判断源目录下的文件与快照目录下的文件是否一致;若一致,则不做处理;若不一致,则删除源目录下的文件,并将快照目录下的文件复制到源目录下。具体的,通过对比源目录下文件和快照目录下文件的元数据(如文件大小、文件修改时间等)来判断文件在快照创建前后是否发生变化。
对于子目录来说,通过对比目录名称判断源目录下的子目录与快照目录下的子目录是否一致,若源目录下的子目录与快照目录下的子目录的名称一致,则认为是同一子目录。值得一提的是,因为子目录下可能存在文件和孙子目录,所以需要对二者的子目录进行递归遍历操作。
本实施例所提供一种快照回滚工具,包括命令接收模块、文件回滚模块、目录回滚模块和递归模块,其中命令接收模块用于接收快照回滚命令,文件回滚模块快照目录下的文件进行回滚,目录回滚模块用于对快照目录下的子目录进行回滚,递归模块用于对快照目录下的子目录进行递归操作,以调用文件回滚模块和目录回滚模块对其下的文件和次级子目录进行回滚操作。可见,该快照回滚工具独立完成完整的快照回滚逻辑,避免在文件系统中实现复杂的逻辑处理,具备结构简单、逻辑清晰、易用性强、可维护性高的优点。
下面开始详细介绍本申请提供的一种快照回滚工具实施例二,实施例二基于前述实施例一实现,并在实施例一的基础上进行了一定程度上的拓展。
具体的,实施例二为了提升快照回滚效率,将每一目录下的文件和子目录按照名称字符串大小进行排序,因此,因此可通过文件/子目录的名称字符串大小确定文件/子目录在目录中所处的位置。在进行文件/目录对比的时候,直接取源目录下第i个文件/子目录与快照目录下第i个文件/子目录进行对比即可,在一个文件/子目录确定的情况下,可以直接在另一个目录中确定其对比对象,无需查找操作,显著提升快照回滚效率。其中,i∈[1,I],I为快照目录下文件/子目录的总数量。
此外,本实施例在快照过程中,不仅仅能够复制文件/子目录本身,还能够复制快照目录下文件的文件属性以及快照目录下子目录的目录属性,例如用户权限等属性。
参见图2,实施例二具体包括:
命令接收模块21:用于接收快照回滚命令,所述快照回滚命令包括源目录的路径参数和快照目录的路径参数;
文件回滚模块22,包括:
文件遍历单元220:用于在所述源目录和所述快照目录下的文件均按照名称字符串大小进行排列时,对所述快照目录下第n个文件和所述源目录下第n个文件进行对比,其中n∈[1,N],N为所述快照目录下的文件总数量;
第一文件回滚单元221:用于在所述快照目录下第n个文件的名称字符串大小大于所述源目录下第n个文件的名称字符串大小时,确定所述源目录下第n个文件为快照创建后新建的文件,并删除所述源目录下第n个文件;
第二文件回滚单元222:用于在所述快照目录下第n个文件的名称字符串大小小于所述源目录下第n个文件的名称字符串大小时,确定所述快照目录下第n个文件为所述源目录下已被删除的文件,复制所述快照目录下第n个文件到所述源目录下,并根据所述快照目录下第n个文件的属性为复制结果设置文件属性;
第三文件回滚单元223:用于在所述快照目录下第n个文件的名称字符串大小等于所述源目录下第n个文件的名称字符串大小时,通过对比所述快照目录下第n个文件的元数据和所述源目录下第n个文件的元数据,判断二者是否一致;若不一致,则删除所述源目录下第n个文件,复制所述快照目录下第n个文件到所述源目录下,并根据所述快照目录下第n个文件的属性为复制结果设置文件属性;若一致,则不做处理;
目录回滚模块23,包括:
目录遍历单元230:在所述源目录和所述快照目录下的子目录均按照名称字符串大小进行排列时,对所述快照目录下第m个子目录和所述源目录下第m个子目录进行对比,其中m∈[1,M],M为所述快照目录下的子目录总数量;
第一目录回滚单元231:用于在所述快照目录下第m个子目录的名称字符串大小大于所述源目录下第m个子目录的名称字符串大小时,确定所述源目录下第m个子目录为快照创建后新建的子目录,并删除所述源目录下第m个子目录;
第二目录回滚单元232:用于在所述快照目录下第m个子目录的名称字符串大小小于所述源目录下第m个子目录的名称字符串大小时,确定所述快照目录下第m个子目录为所述源目录下已被删除的子目录,复制所述快照目录下第m个子目录到所述源目录下,并根据所述快照目录下第n个子目录的属性为复制结果设置目录属性;
第三目录回滚单元233:用于在所述快照目录下第m个子目录的名称字符串大小等于所述源目录下第m个子目录的名称字符串大小时,进入递归模块;
所述递归模块24:用于在所述源目录下的子目录下或所述快照目录下的子目录下存在次级子目录或文件时,将所述源目录下的子目录作为新的源目录,将所述快照目录下的子目录作为新的快照目录,进入所述文件回滚模块和所述目录回滚模块;在所述新的快照目录下的文件和子目录全部回滚完成后,根据所述新的快照目录的目录属性设置所述新的源目录的目录属性。在所述源目录下的子目录下和所述快照目录下的子目录下均不存在次级子目录或文件时,直接根据所述快照目录下的子目录的目录属性设置所述源目录下的子目录的目录属性。
值得一提的是,在源目录和快照目录下的所有文件和子目录处理完成后,将快照目录的目录属性设置到源目录,整个快照回滚过程才算完成。上文提到的文件属性和目录属性,具体可以为用户权限等属性。
本实施例二中,快照回滚工具的工作流程如图3所示。下面以具体应用为例对实施例二进行说明:
在接收快照回滚命令之后,确定源目录和快照目录分别为目录A和目录B,为方便描述,假设目录A和目录B下仅存在文件不存在子目录,且目录A和目录B下的文件均按照名称字符串从小到大排列,如图4所示。文件回滚模块按照从上到下的顺序对每行中的两个文件进行对比,假设第一行中的“A文件1”和“B文件1”名称字符串大小相同,则利用第三文件回滚单元对其进行处理;第二行中的“B文件3”的名称字符串大小大于“A文件2”的名称字符串,则利用第一文件回滚单元对其进行处理,删除目录A下的“A文件2”,变为图5;然后,继续对图5中的第二行进行处理,直至该行中两个文件的名称字符串大小相同,第二行中“A文件3”和“B文件3”的名称字符串大小相同,利用第三文件回滚单元对其进行处理;第三行中的“B文件4”的名称字符串大小小于“A文件5”的名称字符串大小,则利用第二文件回滚单元对其进行处理,复制“B文件4”到目录A下,变为图6;然后,继续对图6中的第三行进行判断处理,以此类推。
可见,本实施例提供的一种快照回滚工具,能够独立实现快照回滚功能,通过文件/子目录的名称判断源目录下新增或删除的文件/子目录;通过比较文件的元数据判断文件是否修改过,进而判断是否需要回滚;而对目录下的子目录和文件递归进行处理。操作方便、使用灵活,完全能够满足文件系统的快照回滚需求。
下面对本申请实施例提供的一种快照回滚方法进行介绍,下文描述的一种快照回滚方法基于上文描述的快照回滚工具实现。
本实施例的快照回滚方法,基于如上文所述的快照回滚工具实现,如图7所示,该方法包括:
S701、接收快照回滚命令,所述快照回滚命令包括源目录的路径参数和快照目录的路径参数;
S702、对所述源目录下的文件和所述快照目录下的文件进行对比;在所述源目录下存在所述快照目录下不存在的文件时,删除所述源目录下的文件;在所述快照目录下存在所述源目录下不存在的文件时,复制该文件到所述源目录下;在所述源目录下存在所述快照目录下也存在的文件时,判断二者是否一致,若不一致,则删除所述源目录下的文件,并将所述快照目录下的文件复制到所述源目录下;
S703、对所述源目录下的子目录和所述快照目录下的子目录进行对比;在所述源目录下存在所述快照目录下不存在的子目录时,删除所述源目录下的子目录;在所述快照目录下存在所述源目录下不存在的子目录时,复制该子目录到所述源目录下;在所述源目录下存在所述快照目录下也存在的子目录时,进入S704;
S704、在所述源目录下的子目录下或所述快照目录下的子目录下存在次级子目录或文件时,将所述源目录下的子目录作为新的源目录,将所述快照目录下的子目录作为新的快照目录,进入S702。
本实施例的快照回滚方法基于如上文所述的快照回滚工具实现,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
本实施例的快照回滚方法,相对于传统的快照回滚方法,将快照回滚逻辑完全放在回滚工具中实现,不必在文件系统中实现复杂的逻辑处理,结构简单,逻辑清晰,易用性强,可维护性高。
此外,本申请还提供了一种快照回滚设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上文所述的快照回滚方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种快照回滚工具,其特征在于,包括:
命令接收模块:用于接收快照回滚命令,所述快照回滚命令包括源目录的路径参数和快照目录的路径参数;
文件回滚模块:用于对所述源目录下的文件和所述快照目录下的文件进行对比;在所述源目录下存在所述快照目录下不存在的文件时,删除所述源目录下的文件;在所述快照目录下存在所述源目录下不存在的文件时,复制该文件到所述源目录下;在所述源目录下存在所述快照目录下也存在的文件时,判断二者是否一致,若不一致,则删除所述源目录下的文件,并将所述快照目录下的文件复制到所述源目录下;
目录回滚模块:用于对所述源目录下的子目录和所述快照目录下的子目录进行对比;在所述源目录下存在所述快照目录下不存在的子目录时,删除所述源目录下的子目录;在所述快照目录下存在所述源目录下不存在的子目录时,复制该子目录到所述源目录下;在所述源目录下存在所述快照目录下也存在的子目录时,进入递归模块;
所述递归模块:用于在所述源目录下的子目录下或所述快照目录下的子目录下存在次级子目录或文件时,将所述源目录下的子目录作为新的源目录,将所述快照目录下的子目录作为新的快照目录,进入所述文件回滚模块和所述目录回滚模块。
2.如权利要求1所述的快照回滚工具,其特征在于,所述文件回滚模块包括:
文件遍历单元:用于在所述源目录和所述快照目录下的文件均按照名称字符串大小进行排列时,对所述快照目录下第n个文件和所述源目录下第n个文件进行对比,其中n∈[1,N],N为所述快照目录下的文件总数量;
第一文件回滚单元:用于在所述快照目录下第n个文件的名称字符串大小大于所述源目录下第n个文件的名称字符串大小时,确定所述源目录下第n个文件为快照创建后新建的文件,并删除所述源目录下第n个文件;
第二文件回滚单元:用于在所述快照目录下第n个文件的名称字符串大小小于所述源目录下第n个文件的名称字符串大小时,确定所述快照目录下第n个文件为所述源目录下已被删除的文件,并复制所述快照目录下第n个文件到所述源目录下;
第三文件回滚单元:用于在所述快照目录下第n个文件的名称字符串大小等于所述源目录下第n个文件的名称字符串大小时,判断二者是否一致,若不一致,则删除所述源目录下第n个文件,并复制所述快照目录下第n个文件到所述源目录下。
3.如权利要求2所述的快照回滚工具,其特征在于,所述第二文件回滚单元和所述第三文件回滚单元用于:复制所述快照目录下第n个文件到所述源目录下,并根据所述快照目录下第n个文件的属性为复制结果设置文件属性。
4.如权利要求2所述的快照回滚工具,其特征在于,所述第三文件回滚单元用于:通过对比所述快照目录下第n个文件的元数据和所述源目录下第n个文件的元数据,判断二者是否一致。
5.如权利要求1所述的快照回滚工具,其特征在于,所述目录回滚模块包括:
目录遍历单元:在所述源目录和所述快照目录下的子目录均按照名称字符串大小进行排列时,对所述快照目录下第m个子目录和所述源目录下第m个子目录进行对比,其中m∈[1,M],M为所述快照目录下的子目录总数量;
第一目录回滚单元:用于在所述快照目录下第m个子目录的名称字符串大小大于所述源目录下第m个子目录的名称字符串大小时,确定所述源目录下第m个子目录为快照创建后新建的子目录,并删除所述源目录下第m个子目录;
第二目录回滚单元:用于在所述快照目录下第m个子目录的名称字符串大小小于所述源目录下第m个子目录的名称字符串大小时,确定所述快照目录下第m个子目录为所述源目录下已被删除的子目录,并复制所述快照目录下第m个子目录到所述源目录下;
第三目录回滚单元:用于在所述快照目录下第m个子目录的名称字符串大小等于所述源目录下第m个子目录的名称字符串大小时,进入递归模块。
6.如权利要求5所述的快照回滚工具,其特征在于,所述第二目录回滚单元用于:复制所述快照目录下第m个子目录到所述源目录下,并根据所述快照目录下第n个子目录的属性为复制结果设置目录属性。
7.如权利要求1所述的快照回滚工具,其特征在于,所述递归模块用于:
在所述源目录下的子目录下或所述快照目录下的子目录下存在次级子目录或文件时,将所述源目录下的子目录作为新的源目录,将所述快照目录下的子目录作为新的快照目录,进入所述文件回滚模块和所述目录回滚模块;在所述新的快照目录下的文件和子目录全部回滚完成后,根据所述新的快照目录的目录属性设置所述新的源目录的目录属性;
在所述源目录下的子目录下和所述快照目录下的子目录下均不存在次级子目录或文件时,根据所述快照目录下的子目录的目录属性设置所述源目录下的子目录的目录属性。
8.一种快照回滚方法,其特征在于,包括:
S1、接收快照回滚命令,所述快照回滚命令包括源目录的路径参数和快照目录的路径参数;
S2、对所述源目录下的文件和所述快照目录下的文件进行对比;在所述源目录下存在所述快照目录下不存在的文件时,删除所述源目录下的文件;在所述快照目录下存在所述源目录下不存在的文件时,复制该文件到所述源目录下;在所述源目录下存在所述快照目录下也存在的文件时,判断二者是否一致,若不一致,则删除所述源目录下的文件,并将所述快照目录下的文件复制到所述源目录下;
S3、对所述源目录下的子目录和所述快照目录下的子目录进行对比;在所述源目录下存在所述快照目录下不存在的子目录时,删除所述源目录下的子目录;在所述快照目录下存在所述源目录下不存在的子目录时,复制该子目录到所述源目录下;在所述源目录下存在所述快照目录下也存在的子目录时,进入S4;
S4、在所述源目录下的子目录下或所述快照目录下的子目录下存在次级子目录或文件时,将所述源目录下的子目录作为新的源目录,将所述快照目录下的子目录作为新的快照目录,进入S2。
9.一种快照回滚设备,其特征在于,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如权利要求8所述的快照回滚方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010470834.4A CN111625499A (zh) | 2020-05-28 | 2020-05-28 | 一种快照回滚工具、方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010470834.4A CN111625499A (zh) | 2020-05-28 | 2020-05-28 | 一种快照回滚工具、方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111625499A true CN111625499A (zh) | 2020-09-04 |
Family
ID=72260099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010470834.4A Withdrawn CN111625499A (zh) | 2020-05-28 | 2020-05-28 | 一种快照回滚工具、方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111625499A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1786903A (zh) * | 2004-12-11 | 2006-06-14 | 鸿富锦精密工业(深圳)有限公司 | 远程计算机文件同步更新系统及方法 |
CN102841824A (zh) * | 2011-06-23 | 2012-12-26 | 珠海市君天电子科技有限公司 | 一种回滚方法和回滚装置 |
CN103679002A (zh) * | 2013-12-12 | 2014-03-26 | 小米科技有限责任公司 | 监控文件变化的方法、装置及服务器 |
CN106598785A (zh) * | 2016-12-16 | 2017-04-26 | 广东美晨通讯有限公司 | 文件系统备份与还原的方法及装置 |
CN109344118A (zh) * | 2018-09-26 | 2019-02-15 | 郑州云海信息技术有限公司 | 快照回滚恢复方法、系统、装置及计算机可读存储介质 |
CN110658993A (zh) * | 2019-08-29 | 2020-01-07 | 北京浪潮数据技术有限公司 | 一种快照回滚方法、装置、设备及存储介质 |
US20200065400A1 (en) * | 2018-08-25 | 2020-02-27 | Vmware, Inc. | System and method for managing snapshots of storage objects for snapshot deletions |
-
2020
- 2020-05-28 CN CN202010470834.4A patent/CN111625499A/zh not_active Withdrawn
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1786903A (zh) * | 2004-12-11 | 2006-06-14 | 鸿富锦精密工业(深圳)有限公司 | 远程计算机文件同步更新系统及方法 |
CN102841824A (zh) * | 2011-06-23 | 2012-12-26 | 珠海市君天电子科技有限公司 | 一种回滚方法和回滚装置 |
CN103679002A (zh) * | 2013-12-12 | 2014-03-26 | 小米科技有限责任公司 | 监控文件变化的方法、装置及服务器 |
CN106598785A (zh) * | 2016-12-16 | 2017-04-26 | 广东美晨通讯有限公司 | 文件系统备份与还原的方法及装置 |
US20200065400A1 (en) * | 2018-08-25 | 2020-02-27 | Vmware, Inc. | System and method for managing snapshots of storage objects for snapshot deletions |
CN109344118A (zh) * | 2018-09-26 | 2019-02-15 | 郑州云海信息技术有限公司 | 快照回滚恢复方法、系统、装置及计算机可读存储介质 |
CN110658993A (zh) * | 2019-08-29 | 2020-01-07 | 北京浪潮数据技术有限公司 | 一种快照回滚方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2565109C2 (ru) | Способ и устройство для восстановления резервной базы данных | |
US7478113B1 (en) | Boundaries | |
US7769719B2 (en) | File system dump/restore by node numbering | |
van Renesse et al. | Voting with ghosts | |
JP4304194B2 (ja) | ファイルシステム管理装置及び方法 | |
US8271445B2 (en) | Storage, organization and searching of data stored on a storage medium | |
JP2000259456A (ja) | ファイルリビジョン管理システム | |
CN103460197A (zh) | 计算机系统、文件管理方法以及元数据服务器 | |
US8914327B2 (en) | Methods and systems for searching a backup volume | |
US11847028B2 (en) | Efficient export of snapshot changes in a storage system | |
JP2006268139A (ja) | データ複製装置、方法及びプログラム並びに記憶システム | |
CN110990399B (zh) | 重建索引方法及装置 | |
CN110888837A (zh) | 对象存储小文件归并方法及装置 | |
CN111625499A (zh) | 一种快照回滚工具、方法及设备 | |
CN116401220A (zh) | 文件系统的数据恢复方法、装置、设备及介质 | |
CN110908830A (zh) | 一种通过数据库实现文件系统到对象存储差异比较与备份的方法 | |
US20210406321A1 (en) | Approximate nearest neighbor search engine | |
CN114168588A (zh) | 一种向量数据库存储与检索方法 | |
CN108984343B (zh) | 一种基于内容分析的虚拟机备份及存储管理方法 | |
CN113821490A (zh) | 一种数据同步方法及装置 | |
KR100714682B1 (ko) | 파일 시스템 경로 처리 장치 및 방법 | |
CN117171419B (zh) | 内容处理方法、装置、电子设备、存储介质及程序产品 | |
CN112698976B (zh) | 一种元数据修复方法、装置、设备及介质 | |
CN112000321B (zh) | 适用于三维检测软件的撤销和/或重做实现方法及装置 | |
CN116305126A (zh) | 主机文件检测方法、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200904 |