CN109445989A - 一种文件系统数据备份方法及装置 - Google Patents
一种文件系统数据备份方法及装置 Download PDFInfo
- Publication number
- CN109445989A CN109445989A CN201811231308.1A CN201811231308A CN109445989A CN 109445989 A CN109445989 A CN 109445989A CN 201811231308 A CN201811231308 A CN 201811231308A CN 109445989 A CN109445989 A CN 109445989A
- Authority
- CN
- China
- Prior art keywords
- data
- backed
- metadata
- tree
- root node
- 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
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开一种文件系统数据备份方法及装置,该方法包括:首先,将文件系统的元数据以树状形式进行数据组织,形成元数据树状组织结构,然后,创建待备份根节点,接着,将待备份根节点与元数据树状组织结构中的根节点构成一个根节点链表,再利用一个head指针指向该根节点链表中当前使用的根节点,最后,可以根据head指针指向的当前使用的根节点,以及元数据树状组织结构,完成对待备份数据的备份。可见,本申请通过改进文件系统中元数据的数据组织形式,形成元数据树状组织结构,并依据此结构,实现对文件系统中待备份数据的备份,以便在出现用户误删除文件和/或系统的网络中断时,能够恢复误删除文件和解决文件系统由于异常断电而无法挂载的问题。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种文件系统数据备份方法及装置。
背景技术
随着科学技术的快速发展,尤其是移动互联网、社交网络、电子商务的飞速发展,人类在生产和生活中产生的数据呈现指数型增长,导致数据处理量也与日俱增,同时需要的存储容量也越来越大。
由此,在目前文件系统的存储应用场景中,经常会出现误删除文件的问题,即用户在某一时刻将一个文件删除,不久后却发现仍然需要这个文件,而此时并没有一个该文件的备份供用户使用。另外,当系统出现异常断电时,也容易造成文件的数据和元数据不一致,导致文件系统出现错误。目前,通常是利用现在的日志文件系统来解决这些问题,但在实际应用环境中文件系统虽然使用了记录日志的方式,但还是会出现文件错误导致文件无法正常挂载的问题,尤其是在开机过程中,挂载失败可能会导致后续一系列的问题。
因此,如何实现文件系统数据的备份,以便在出现误删除文件和网络中断时,实现恢复误删除文件和解决文件系统由于异常断电而无法挂载的问题,以提高文件系统的安全性和便利性,已成为亟待解决的问题。
发明内容
为解决上述问题,本申请提供了一种文件系统数据备份方法及装置,具体技术方案如下:
第一方面,本申请提供了一种文件系统数据备份方法,所述方法包括:
将文件系统的元数据以树状形式进行数据组织,形成元数据树状组织结构,所述元数据树状组织结构中的根节点指向所述文件系统的顶级目录节点;
创建待备份根节点,所述待备份根节点指向待备份数据的顶级目录节点,所述待备份数据的顶级目录节点与所述文件系统的顶级目录节点为同一节点;
将所述待备份根节点与所述元数据树状组织结构中的根节点构成一个根节点链表;
利用一个head指针指向所述根节点链表中当前使用的根节点;
根据所述head指针指向的当前使用的根节点,以及所述元数据树状组织结构,完成对所述待备份数据的备份。
在一种可选的实现方式中,所述元数据树状组织结构中的每一目录节点由目录链表和/或文件链表组成,所述目录链表包含当前目录节点的下一级目录节点,所述文件链表包含文件名、文件Inode、文件属性以及存放文件数据的块地址集合。
在一种可选的实现方式中,所述根据所述head指针指向的当前使用的根节点,以及所述元数据树状组织结构,完成所述待备份数据的备份,包括:
从所述元数据树状组织结构中,获取所述待备份数据的所属路径;
将所述待备份数据的所属路径备份;
为所述待备份数据分配磁盘块;
根据备份的所述待备份数据的所属路径,将所述待备份数据拷贝至所述磁盘块,完成所述待备份数据的备份。
在一种可选的实现方式中,所述方法还包括:
对所述元数据树状组织结构中的所述待备份数据进行修改或删除。
在一种可选的实现方式中,所述方法还包括:
利用备份的数据,对修改或删除的待备份数据进行数据恢复。
第二方面,本申请提供了一种文件系统数据备份装置,所述装置包括:
数据组织单元,用于将文件系统的元数据以树状形式进行数据组织,形成元数据树状组织结构,所述元数据树状组织结构中的根节点指向所述文件系统的顶级目录节点;
根节点创建单元,用于创建待备份根节点,所述待备份根节点指向待备份数据的顶级目录节点,所述待备份数据的顶级目录节点与所述文件系统的顶级目录节点为同一节点;
链表形成单元,用于将所述待备份根节点与所述元数据树状组织结构中的根节点构成一个根节点链表;
节点指向单元,用于利用一个head指针指向所述根节点链表中当前使用的根节点;
数据备份单元,用于根据所述head指针指向的当前使用的根节点,以及所述元数据树状组织结构,完成对所述待备份数据的备份。
在一种可选的实现方式中,所述元数据树状组织结构中的每一目录节点由目录链表和/或文件链表组成,所述目录链表包含当前目录节点的下一级目录节点,所述文件链表包含文件名、文件Inode、文件属性以及存放文件数据的块地址集合。
在一种可选的实现方式中,所述数据备份单元包括:
路径获取子单元,用于从所述元数据树状组织结构中,获取所述待备份数据的所属路径;
路径备份子单元,用于将所述待备份数据的所属路径备份;
磁盘块分配子单元,用于为所述待备份数据分配磁盘块;
数据备份子单元,用于根据备份的所述待备份数据的所属路径,将所述待备份数据拷贝至所述磁盘块,完成所述待备份数据的备份。
在一种可选的实现方式中,所述装置还包括:
数据处理单元,用于对所述元数据树状组织结构中的所述待备份数据进行修改或删除。
在一种可选的实现方式中,所述装置还包括:
数据处理单元,用于对所述元数据树状组织结构中的所述待备份数据进行修改或删除。
在本申请提供的文件系统数据备份方法中,首先,将文件系统的元数据以树状形式进行数据组织,形成元数据树状组织结构,其中,元数据树状组织结构中的根节点指向文件系统的顶级目录节点,然后,再创建待备份根节点,其中,待备份根节点指向待备份数据的顶级目录节点,接着,将待备份根节点与元数据树状组织结构中的根节点构成一个根节点链表,再利用一个head指针指向该根节点链表中当前使用的根节点,最后,可以根据所述head指针指向的当前使用的根节点,以及元数据树状组织结构,完成对待备份数据的备份。可见,本申请通过改进文件系统中元数据的数据组织形式,将其以树状形式进行数据组织,形成了元数据树状组织结构,并依据此元数据树状组织结构,实现了对文件系统中待备份数据的备份,以便在出现用户误删除文件和/或系统的网络中断时,能够恢复误删除文件和解决文件系统由于异常断电导致的文件无法正常挂载的问题,以提高文件系统的安全性和便利性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种文件系统数据备份方法的流程示意图;
图2为本申请实施例提供的元数据树状组织结构的结构示意图;
图3为本申请实施例提供的文件链表的结构示意图;
图4为本申请实施例提供的对待备份数据进行备份的流程示意图;
图5为本申请实施例提供的一种文件系统数据备份装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解本申请提供的技术方案,下面先对本申请技术方案的研究背景进行简单说明。
众所周知,正如背景技术中的描述,随着是移动互联网、社交网络、电子商务的飞速发展,日常数据的处理量与日俱增,需要的存储容量也越来越大,由此,在现有的文件系统的存储应用场景中,经常会出现误删除文件的问题,即用户在某一时刻将一个文件删除,不久后却发现仍然需要这个文件,而此时并没有一个该文件的备份供用户使用。另外,当系统出现异常断电时,也容易造成文件的数据和元数据不一致,导致文件系统出现错误。目前,通常是利用现在的日志文件系统来解决这些问题,但在实际应用环境中文件系统虽然使用了记录日志的方式,但还是会出现文件错误导致文件无法正常挂载的问题,尤其是在开机过程中,挂载失败可能会导致后续一系列的问题。所以,如何实现文件系统数据的备份,以便在出现用户误删除文件和/或系统的网络中断时,实现恢复误删除文件和解决文件系统由于异常断电而无法挂载的问题,以提高文件系统的安全性和便利性,已成为亟待解决的问题。
基于此,本申请提出了一种文件系统数据备份方法及装置,用于实现对待备份数据的备份,以便在出现用户误删除文件和/或系统的网络中断时,实现恢复误删除文件和解决文件系统由于异常断电而无法挂载的问题。
以下将结合附图对本申请实施例提供的文件系统数据备份方法进行详细说明。参见图1,其示出了本申请实施例提供的一种文件系统数据备份方法的流程图,本实施例可以包括以下步骤:
S101:将文件系统的元数据以树状形式进行数据组织,形成元数据树状组织结构,其中,元数据树状组织结构中的根节点指向所述文件系统的顶级目录节点。
在本实施例中,为了定时对文件系统中的文件数据进行备份,从而达到恢复误删除文件和解决文件系统由于异常断电而导致文件无法正常挂载的问题,首先,可以根据文件系统中元数据和数据的组织特点,将每一个文件系统的元数据以树状的形式进行组织,形成元数据树状组织结构,其中,元数据树状组织结构中的根节点指向文件系统的顶级目录节点,而每一级目录的子目录则作为该目录的子节点,进而,可根据此元数据树状组织结构,通过执行后续步骤定时或者按照用户指定的方式进行文件系统的数据备份。
在本申请一些可能的实现方式中,本实施例构建的元数据树状组织结构中的每一目录节点可以由目录链表和/或文件链表组成,其中,目录链表包含当前目录节点的下一级目录节点,而文件链表包含文件名、文件Inode、文件属性以及存放文件数据的块地址集合。
在本实现方式中,根据文件系统中元数据和数据的组织特点,将每一个文件系统的元数据以树状的形式进行组织,在构建元数据树状组织结构时,该元数据树状组织结构中的根节点指向文件系统的顶级目录节点,同时,顶级目录节点指向下一级目录节点,这样一层层将文件目录(元数据)组织成一个树状结构,如图2所示,其示出了本申请实施例提供的元数据树状组织结构的结构示意图。其中,每一级目录节点又是由两个链表组成,一个链表是目录链表,也就是当前层级中的所有目录组织成一个链表的形式,一个是文件链表,也就是把当前层级中的所有文件组织成一个链表的形式。比如,图2中的“RootA”节点由目录链表“dirlistA”和文件链表“filelistA”组成。并且,每一个目录链表包含的元素为当前目录节点的下一级目录节点,即每一个目录链表元素又指向其下一级的目录节点。而文件链表则包含了文件名、文件Inode、文件属性以及存放文件数据的块地址集合,如图3所示,其示出了本申请实施例提供的文件链表的结构示意图。其中,文件链表中的节点“file1”包含的元素有文件名、文件Inode、文件属性以及存放文件数据的数据块链表Block1、Block2等。
S102:创建待备份根节点,其中,待备份根节点指向待备份数据的顶级目录节点,所述待备份数据的顶级目录节点与所述文件系统的顶级目录节点为同一节点。
在本实施例中,通过步骤S101将文件系统的元数据以树状形式进行数据组织,形成元数据树状组织结构后,可以创建待备份根节点,其中,每一次备份都可以生成一个新的待备份根节点。对文件系统数据备份了多少次,就需要创建多少个根节点,并且,待备份根节点指向待备份数据的顶级目录节点,而待备份数据的顶级目录节点与所述文件系统的顶级目录节点为同一节点。比如,如图2所示,假设元数据树状组织结构中的根节点指向的文件系统的顶级目录节点为dirnodeA,且创建的待备份根节点为RootB,则RootB指向待备份数据的顶级目录节点也为dirnodeA。
S103:将待备份根节点与元数据树状组织结构中的根节点构成一个根节点链表。
在本实施例中,通过步骤S101构建了元数据树状组织结构,以及通过步骤S102创建了待备份根节点后,进一步可以将待备份根节点与元数据树状组织结构中的根节点构成一个根节点链表rootlist。其中,每一个根节点中记录该根节点的标识ID、创建时间以及一个指向文件顶级目录节点的指针head。
S104:利用一个head指针指向根节点链表中当前使用的根节点。
在本实施例中,通过步骤S103将待备份根节点与元数据树状组织结构中的根节点构成一个根节点链表rootlist后,可利用一个head指针指向根节点链表中当前正在使用的根节点,也就是说,文件访问等都是通过这个head指针指向的根节点一层层找到对应的文件的。
S105:根据所述head指针指向的当前使用的根节点,以及元数据树状组织结构,完成对待备份数据的备份。
在本实施例中,通过步骤S104利用一个head指针指向根节点链表中当前使用的根节点后,可根据该根节点,以及通过步骤S10构建的元数据树状组织结构,对文件系统中的待备份数据进行备份,以便在出现用户误删除文件和/或系统的网络中断时,能够恢复误删除文件和解决文件系统由于异常断电导致的文件元数据和数据不一致等问题。
在本申请一些可能的实现方式中,步骤S105具体可以包括步骤S401-S404:
S401:从元数据树状组织结构中,获取待备份数据的所属路径。
在本实现方式中,当对某个文件进行写操作或者删除操作时,预先需要备份这个文件,而为了实现对该待备份文件的备份,首先需要获取到该备份备份文件数据的所属路径。
举例说明:假设目前文件系统中顶级目录下有目录dir1、dir2、dir3,同时还有文件file1、file2、file3,其中,dir2目录下又有目录dir2_1、dir2_2和文件file2_1,并且dir2_1目录下又有文件file2_1_1。文件系统有一个根节点rootA,且rootA在根节点链表rootlist中。rootA指向一个顶级目录节点dirnodeA,dirnodeA包含两个链表,一个是由dir1、dir2、dir3组成的目录链表,一个是由file1、file2、file3组成的文件链表。目录链表dir2元素下又有一个目录节点,包含dir2_1dir2_2和文件file2_1,以此类推。
在修改文件file2_1_1之前,需要先实现对该文件数据的备份,在备份的过程中,先创建一个根节点rootB,rootB的根目录节点指针指向dirnodeA,然后把rootB插入到根节点链表rootlist链表中。当前根节点指针head指向rootlist链表中的rootA。再通过根节点rootA从元数据树状组织结构中逐层找到文件file2_1_1,进而获取到该待备份数据的所属路径。
S402:将该待备份数据的所属路径备份。
在本实现方式中,通过步骤S401,获取待备份数据的所属路径后,需要将该待备份数据的所属路径备份进行备份。
具体来讲,基于上述举例,在将待备份数据的所属路径进行备份的过程中,首先需要拷贝一份dirnodeA作为dirnodeB,并修改rootB的指针,使其指向dirnodeB。再拷贝一份dir2目录节点dirnodeB_2并修改rootB中dir2的指针,使其指向该节点,接着,再拷贝一份file2_1_1的链表元素并使dirnodeB_2中的file2_1_1指向该节点。
S403:为该待备份数据分配磁盘块。
在本实现方式中,通过步骤S402,将待备份数据的所属路径进行备份以后,进而需要为待备份数据分配磁盘块,用以存储备份文件数据,并且,还需要修改拷贝的待备份文件节点中文件数据块指针指向为其分配的该磁盘块。
举例说明:基于上述举例,可以为文件file2_1_1分配磁盘块,以供拷贝file2_1_1文件,同时修改拷贝的file2_1_1节点中文件数据块指针指向为其分配的磁盘块。
S404:根据备份的所述待备份数据的所属路径,将该待备份数据拷贝至所述磁盘块,完成该待备份数据的备份。
在本实现方式中,通过步骤S403,为该待备份数据分配磁盘块后,可以根据步骤S402中备份的待备份数据的所属路径,将待备份数据拷贝至为其分配的磁盘块,完成该待备份数据的备份,比如,基于上述举例,在为文件file2_1_1分配磁盘块后,可根据备份的文件file2_1_1的所属路径,将文件file2_1_1的数据拷贝至为其分配的磁盘块,完成文件file2_1_1中数据的备份。
在本申请一些可能的实现方式中,本申请在对文件系统数据进行备份后,可以对元数据树状组织结构中的该待备份数据进行修改或删除。
在本实现方式中,每次修改或者删除文件系统中的文件时,可以通过上述步骤S101-S104,先对树形结构中该文件元数据和数据进行备份,然后在对文件系统中需要修改或者删除文件的文件进行对应的修改或删除操作。比如,基于上述步骤S204中的距离,在完成文件file2_1_1中数据的备份后,即可修改或删除rootA树状结构中file2_1_1文件的内容。
进而,一种可选的实现方式是,本申请还可以利用备份的数据,对修改或删除的待备份数据进行数据恢复。
具体来讲,当用户在文件系统中误删除某个文件时,即可以利用通过上述方式备份的数据对其进行恢复,或者,当用户在文件系统中修改了某个文件后,又想恢复到原来未修改之前的文件内容,再或者,当文件出错时,均可利用通过上述方式备份的数据对修改的文件内容或文件出错内容进行恢复,并且,还可以向用户展示文件修改或出错前后的内容,供用户选择如何处理。
此外,当由于异常掉电导致文件数据不一致时,也可以通过恢复到备份的方式来修复文件系统。
举例说明:当文件系统发生异常断电导致文件元数据和数据不一致时,如文件系统在挂载时发现file2的元数据和数据不一致,则文件系统将不一致的file2的元数据和数据拷贝到一个单独的地方,然后使用备份中的file2的元数据和数据进行恢复file2,完成后文件系统可以正常挂载。挂载完成后对用户进行提示,并提示出现在的file2的内容以及有问题的file2的内容,以供用户选择该如何处理这个文件问题。
这样,在本申请提供的文件系统数据备份方法中,首先,将文件系统的元数据以树状形式进行数据组织,形成元数据树状组织结构,其中,元数据树状组织结构中的根节点指向文件系统的顶级目录节点,然后,再创建待备份根节点,其中,待备份根节点指向待备份数据的顶级目录节点,接着,将待备份根节点与元数据树状组织结构中的根节点构成一个根节点链表,再利用一个head指针指向该根节点链表中当前使用的根节点,最后,可以根据所述head指针指向的当前使用的根节点,以及元数据树状组织结构,完成对待备份数据的备份。可见,本申请通过改进文件系统中元数据的数据组织形式,将其以树状形式进行数据组织,形成了元数据树状组织结构,并依据此元数据树状组织结构,实现了对文件系统中待备份数据的备份,以便在出现用户误删除文件和/或系统的网络中断时,能够恢复误删除文件和解决文件系统由于异常断电导致的文件无法正常挂载的问题,以提高文件系统的安全性和便利性。
上述实施例详细叙述了本申请方法的技术方案,相应地,本申请还提供了一种文件系统数据备份装置,下面对该装置进行介绍。
参见图5,图5是本申请实施例提供的一种文件系统数据备份装置的结构图,如图5所示,该装置包括:
数据组织单元501,用于将文件系统的元数据以树状形式进行数据组织,形成元数据树状组织结构,所述元数据树状组织结构中的根节点指向所述文件系统的顶级目录节点;
根节点创建单元502,用于创建待备份根节点,所述待备份根节点指向待备份数据的顶级目录节点,所述待备份数据的顶级目录节点与所述文件系统的顶级目录节点为同一节点;
链表形成单元503,用于将所述待备份根节点与所述元数据树状组织结构中的根节点构成一个根节点链表;
节点指向单元504,用于利用一个head指针指向所述根节点链表中当前使用的根节点;
数据备份单元505,用于根据所述head指针指向的当前使用的根节点,以及所述元数据树状组织结构,完成对所述待备份数据的备份。
可选地,所述元数据树状组织结构中的每一目录节点由目录链表和/或文件链表组成,所述目录链表包含当前目录节点的下一级目录节点,所述文件链表包含文件名、文件Inode、文件属性以及存放文件数据的块地址集合。
可选地,所述数据备份单元505包括:
路径获取子单元,用于从所述元数据树状组织结构中,获取所述待备份数据的所属路径;
路径备份子单元,用于将所述待备份数据的所属路径备份;
磁盘块分配子单元,用于为所述待备份数据分配磁盘块;
数据备份子单元,用于根据备份的所述待备份数据的所属路径,将所述待备份数据拷贝至所述磁盘块,完成所述待备份数据的备份。
可选地,所述装置还包括:
数据处理单元,用于对所述元数据树状组织结构中的所述待备份数据进行修改或删除。
可选地,所述装置还包括:
数据恢复单元,用于利用备份的数据,对修改或删除的待备份数据进行数据恢复。
这样,在本申请提供的文件系统数据备份装置中,首先,将文件系统的元数据以树状形式进行数据组织,形成元数据树状组织结构,其中,元数据树状组织结构中的根节点指向文件系统的顶级目录节点,然后,再创建待备份根节点,其中,待备份根节点指向待备份数据的顶级目录节点,接着,将待备份根节点与元数据树状组织结构中的根节点构成一个根节点链表,再利用一个head指针指向该根节点链表中当前使用的根节点,最后,可以根据所述head指针指向的当前使用的根节点,以及元数据树状组织结构,完成对待备份数据的备份。可见,本申请通过改进文件系统中元数据的数据组织形式,将其以树状形式进行数据组织,形成了元数据树状组织结构,并依据此元数据树状组织结构,实现了对文件系统中待备份数据的备份,以便在出现用户误删除文件和/或系统的网络中断时,能够恢复误删除文件和解决文件系统由于异常断电导致的文件无法正常挂载的问题,以提高文件系统的安全性和便利性。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种文件系统数据备份方法,其特征在于,所述方法包括:
将文件系统的元数据以树状形式进行数据组织,形成元数据树状组织结构,所述元数据树状组织结构中的根节点指向所述文件系统的顶级目录节点;
创建待备份根节点,所述待备份根节点指向待备份数据的顶级目录节点,所述待备份数据的顶级目录节点与所述文件系统的顶级目录节点为同一节点;
将所述待备份根节点与所述元数据树状组织结构中的根节点构成一个根节点链表;
利用一个head指针指向所述根节点链表中当前使用的根节点;
根据所述head指针指向的当前使用的根节点,以及所述元数据树状组织结构,完成对所述待备份数据的备份。
2.根据权利要求1所述的文件系统数据备份方法,其特征在于,所述元数据树状组织结构中的每一目录节点由目录链表和/或文件链表组成,所述目录链表包含当前目录节点的下一级目录节点,所述文件链表包含文件名、文件Inode、文件属性以及存放文件数据的块地址集合。
3.根据权利要求1所述的文件系统数据备份方法,其特征在于,所述根据所述head指针指向的当前使用的根节点,以及所述元数据树状组织结构,完成所述待备份数据的备份,包括:
从所述元数据树状组织结构中,获取所述待备份数据的所属路径;
将所述待备份数据的所属路径备份;
为所述待备份数据分配磁盘块;
根据备份的所述待备份数据的所属路径,将所述待备份数据拷贝至所述磁盘块,完成所述待备份数据的备份。
4.根据权利要求1所述的文件系统数据备份方法,其特征在于,所述方法还包括:
对所述元数据树状组织结构中的所述待备份数据进行修改或删除。
5.根据权利要求4所述的文件系统数据备份方法,其特征在于,所述方法还包括:
利用备份的数据,对修改或删除的待备份数据进行数据恢复。
6.一种文件系统数据备份装置,其特征在于,所述装置包括:
数据组织单元,用于将文件系统的元数据以树状形式进行数据组织,形成元数据树状组织结构,所述元数据树状组织结构中的根节点指向所述文件系统的顶级目录节点;
根节点创建单元,用于创建待备份根节点,所述待备份根节点指向待备份数据的顶级目录节点,所述待备份数据的顶级目录节点与所述文件系统的顶级目录节点为同一节点;
链表形成单元,用于将所述待备份根节点与所述元数据树状组织结构中的根节点构成一个根节点链表;
节点指向单元,用于利用一个head指针指向所述根节点链表中当前使用的根节点;
数据备份单元,用于根据所述head指针指向的当前使用的根节点,以及所述元数据树状组织结构,完成对所述待备份数据的备份。
7.根据权利要求6所述的装置,其特征在于,所述元数据树状组织结构中的每一目录节点由目录链表和/或文件链表组成,所述目录链表包含当前目录节点的下一级目录节点,所述文件链表包含文件名、文件Inode、文件属性以及存放文件数据的块地址集合。
8.根据权利要求6所述的装置,其特征在于,所述数据备份单元包括:
路径获取子单元,用于从所述元数据树状组织结构中,获取所述待备份数据的所属路径;
路径备份子单元,用于将所述待备份数据的所属路径备份;
磁盘块分配子单元,用于为所述待备份数据分配磁盘块;
数据备份子单元,用于根据备份的所述待备份数据的所属路径,将所述待备份数据拷贝至所述磁盘块,完成所述待备份数据的备份。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
数据处理单元,用于对所述元数据树状组织结构中的所述待备份数据进行修改或删除。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
数据恢复单元,用于利用备份的数据,对修改或删除的待备份数据进行数据恢复。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811231308.1A CN109445989A (zh) | 2018-10-22 | 2018-10-22 | 一种文件系统数据备份方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811231308.1A CN109445989A (zh) | 2018-10-22 | 2018-10-22 | 一种文件系统数据备份方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109445989A true CN109445989A (zh) | 2019-03-08 |
Family
ID=65548285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811231308.1A Withdrawn CN109445989A (zh) | 2018-10-22 | 2018-10-22 | 一种文件系统数据备份方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109445989A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111104435A (zh) * | 2019-11-29 | 2020-05-05 | 北京浪潮数据技术有限公司 | 一种元数据组织方法、装置、设备及计算机可读存储介质 |
CN111400101A (zh) * | 2020-03-18 | 2020-07-10 | 北京北亚宸星科技有限公司 | 一种jfs2文件系统数据删除时的数据恢复方法及系统 |
CN115454717A (zh) * | 2022-09-16 | 2022-12-09 | 广州鼎甲计算机科技有限公司 | 数据库实时备份方法、装置、计算机设备和存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140542A (zh) * | 2007-10-19 | 2008-03-12 | 华中科技大学 | 一种缩短写时拷贝快照写响应时间的方法 |
CN101178677A (zh) * | 2007-11-09 | 2008-05-14 | 中国科学院计算技术研究所 | 一种计算机文件系统的快照方法 |
CN101980203A (zh) * | 2010-10-29 | 2011-02-23 | 中国科学院声学研究所 | 一种用于高清媒体的嵌入式文件系统 |
CN103221924A (zh) * | 2010-11-22 | 2013-07-24 | 蓝弧英国有限公司 | 数据存储系统中的文件克隆和去克隆 |
US20130290263A1 (en) * | 2009-06-26 | 2013-10-31 | Simplivity Corporation | File system |
CN106354582A (zh) * | 2016-08-18 | 2017-01-25 | 无锡华云数据技术服务有限公司 | 一种连续数据保护方法 |
CN107180092A (zh) * | 2017-05-15 | 2017-09-19 | 中国科学院上海微系统与信息技术研究所 | 一种文件系统的控制方法、装置及终端 |
CN108241555A (zh) * | 2016-12-26 | 2018-07-03 | 阿里巴巴集团控股有限公司 | 一种分布式数据库的备份、恢复方法、装置和服务器 |
CN108268344A (zh) * | 2017-12-26 | 2018-07-10 | 华为技术有限公司 | 一种数据处理方法和装置 |
-
2018
- 2018-10-22 CN CN201811231308.1A patent/CN109445989A/zh not_active Withdrawn
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140542A (zh) * | 2007-10-19 | 2008-03-12 | 华中科技大学 | 一种缩短写时拷贝快照写响应时间的方法 |
CN101178677A (zh) * | 2007-11-09 | 2008-05-14 | 中国科学院计算技术研究所 | 一种计算机文件系统的快照方法 |
US20130290263A1 (en) * | 2009-06-26 | 2013-10-31 | Simplivity Corporation | File system |
CN101980203A (zh) * | 2010-10-29 | 2011-02-23 | 中国科学院声学研究所 | 一种用于高清媒体的嵌入式文件系统 |
CN103221924A (zh) * | 2010-11-22 | 2013-07-24 | 蓝弧英国有限公司 | 数据存储系统中的文件克隆和去克隆 |
CN106354582A (zh) * | 2016-08-18 | 2017-01-25 | 无锡华云数据技术服务有限公司 | 一种连续数据保护方法 |
CN108241555A (zh) * | 2016-12-26 | 2018-07-03 | 阿里巴巴集团控股有限公司 | 一种分布式数据库的备份、恢复方法、装置和服务器 |
CN107180092A (zh) * | 2017-05-15 | 2017-09-19 | 中国科学院上海微系统与信息技术研究所 | 一种文件系统的控制方法、装置及终端 |
CN108268344A (zh) * | 2017-12-26 | 2018-07-10 | 华为技术有限公司 | 一种数据处理方法和装置 |
Non-Patent Citations (2)
Title |
---|
UMA NAGARAJ;GANESH PATIL;SWAPNIL GAIKWAD;AKSHAY NEHE;ASHISH MAYE: "A File System Level Snapshot In Ext4", 《COMPUTER ENGINEERING AND INTELLIGENT SYSTEMS》 * |
肖克辉,倪德明: "文件系统备份的流式处理算法设计与实现", 《现代计算机》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111104435A (zh) * | 2019-11-29 | 2020-05-05 | 北京浪潮数据技术有限公司 | 一种元数据组织方法、装置、设备及计算机可读存储介质 |
CN111104435B (zh) * | 2019-11-29 | 2022-04-22 | 北京浪潮数据技术有限公司 | 一种元数据组织方法、装置、设备及计算机可读存储介质 |
CN111400101A (zh) * | 2020-03-18 | 2020-07-10 | 北京北亚宸星科技有限公司 | 一种jfs2文件系统数据删除时的数据恢复方法及系统 |
CN115454717A (zh) * | 2022-09-16 | 2022-12-09 | 广州鼎甲计算机科技有限公司 | 数据库实时备份方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5646639B2 (ja) | メタデータ仮想ハードドライブおよび差分仮想ハードドライブを使用するバックアップ | |
CN110096891B (zh) | 对象库中的对象签名 | |
US9645892B1 (en) | Recording file events in change logs while incrementally backing up file systems | |
CN103902632B (zh) | 键值存储系统中构建文件系统的方法、装置及电子设备 | |
WO2017071509A1 (zh) | 文件系统目录树修复方法和装置 | |
CN104714859B (zh) | 一种海量文件的快速备份与恢复的方法 | |
AU2018324425A1 (en) | Restoring a database using a fully hydrated backup | |
US11093387B1 (en) | Garbage collection based on transmission object models | |
CN102360410B (zh) | 一种文件系统的用户操作发现方法和装置 | |
EP2382543B1 (en) | Granular application data lifecycle sourcing from a single backup | |
CN109445989A (zh) | 一种文件系统数据备份方法及装置 | |
US20100146004A1 (en) | Method Of Creating Hierarchical Indices For A Distributed Object System | |
JPH08506200A (ja) | 多数のネットワークされたコンピュータ記憶装置からデータを転送し記憶する装置ならびに方法 | |
JP2017504924A (ja) | ファイルシステムのコンテンツベースの編成 | |
JP2012098934A (ja) | 文書管理システム、文書管理システムの制御方法、プログラム | |
JP2016529633A (ja) | スナップショットおよびクローンの複製 | |
JP2007511820A (ja) | 独立ノード冗長アレイに対するポリシーに基づく管理 | |
US10628298B1 (en) | Resumable garbage collection | |
CN107391669A (zh) | 一种基于文件系统的多版本文件管理方法及装置 | |
EP3796174A1 (en) | Restoring a database using a fully hydrated backup | |
CN107066349A (zh) | 一种集群文件系统数据保护的方法及系统 | |
CN105593829A (zh) | 从原始映像备份中排除文件系统对象 | |
CN109189778A (zh) | 一种在线修改数据库表结构的方法 | |
CN105302488B (zh) | 一种存储系统的数据写入方法及系统 | |
EP2372552B1 (en) | Automated relocation of in-use multi-site protected data storage |
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 |
Application publication date: 20190308 |
|
WW01 | Invention patent application withdrawn after publication |