CN101356527A - 通过节点编号的文件系统转储/恢复 - Google Patents
通过节点编号的文件系统转储/恢复 Download PDFInfo
- Publication number
- CN101356527A CN101356527A CNA2006800504384A CN200680050438A CN101356527A CN 101356527 A CN101356527 A CN 101356527A CN A2006800504384 A CNA2006800504384 A CN A2006800504384A CN 200680050438 A CN200680050438 A CN 200680050438A CN 101356527 A CN101356527 A CN 101356527A
- Authority
- CN
- China
- Prior art keywords
- file system
- catalogue
- source file
- index
- target file
- 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.)
- Pending
Links
Images
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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2097—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- 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/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed file systems implemented as replicated file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种将组织为数据结构的文件系统从源服务器复制到目标服务器的方法和系统。在复制处理的所有阶段,所述复制处理保持目标文件系统中信息节点表条目的顺序、以及目标服务器上数据结构的副本的内部一致性。
Description
发明领域
本发明涉及文件系统的复制。更具体地,本发明涉及用于在将数据从源文件系统复制到目标文件系统的同时保持表条目的方法和工具。
技术背景
文件是相关信息的指定集合,其对用户来说看起来是存储媒体中保留的数据的单个邻近块。数据块是用于存储文件的真实数据的结构。文件系统是存储媒体上的数据和元数据的结构,其允许那些媒体上的数据的读取/写入。在一个实施例中,文件系统是目录的层级结构,即目录树,其被用来组织计算机上的文件。信息节点(inode)是文件系统中用于存储有关文件的信息(例如元数据)的数据结构。信息节点中包含的信息可以包括文件的所有者、该文件的访问许可、文件大小、文件类型和该文件在数据块的盘上的参考位置。信息节点通常被存储在盘媒体上的邻近表中,并且文件的信息节点编号是一个整数,作为其信息节点在该表中的索引。当创建一个文件时,该文件被分配了名称和信息节点编号两者。该文件依靠在信息节点中生根而具有信息节点编号,并且该文件依靠在一些目录中为其创建条目而具有名称。目录中的数据最低限度为文件名称和它们相应的信息节点编号的对的列表,注意,目录本身将具有父目录中的条目,即,大多数目录是一些其他目录的子目录。仅文件系统的根目录在文件系统中没有明确的父目录。无论何时用户或者程序通过名称来查阅文件,系统都使用该名称来搜索文件系统中的目录。所述搜索开始于根目录,并且相继地读取和搜索子目录,直到已经使用了文件的完整名称以及所述搜索发现用于该文件的信息节点为止,这使得系统能够获得其所需的关于该文件的信息(例如元数据)来执行进一步的操作。
通过将对信息节点表索引的封装的参考(encapsulated reference)分发到文件系统客户端,可以经由网络将文件系统从源位置导出到目标位置。如此处所使用的,术语“源”可被大致定义为本发明的主题数据从其遍历(travel)的位置,术语“目标”可被定义为数据要遍历到的位置。图1是存储系统环境的方框图(10),其包括一对互连的文件服务器,包括源文件服务器(20)和目标文件服务器(40)。源文件服务器(20)和目标文件服务器(40)分别经由网络(30)链接,网络(30)可以包括局域网或者广域网。每个文件服务器(20)和(40)中驻留的合适的网络适配器(32)、(52)分别通过网络连接(22)、(42)与网络(30)通信,这便于经由网络(30)的通信。源文件服务器(20)和目标文件服务器(40)每一个分别包括处理器(26)、(46)、存储器(28)、(48)和网络适配器(32)、(52)。每个文件服务器(20)、(40)还包括存储操作系统(未示出),其实现文件系统,以将信息逻辑地组织为存储媒体上的目录和文件的分层结构。
存在几种已知的用于经由网络复制文件系统的方法。一种用于复制文件系统的现有技术方法复制源文件系统的目录树。源文件系统处的应用程序遍历所呈现的目录树并且将每个文件和目录复制到目的地文件系统。图2是示出源文件系统的样本信息节点表的现有技术的方框图(100)。如所示,除了根目录(102)以外存在三个条目,每个条目位于信息节点表中的索引4(104)、索引6(106)和索引7(108)。在该示例中,索引1(102)是根目录,索引4(104)具有用于编辑程序的可执行图像的条目,索引6(106)是子目录,索引7(108)具有可读的文本文件。如所示,在索引2(110)、索引3(112)和索引5(114)处没有条目。空索引的原因可以不同。例如,因为曾经驻留于索引中的文件可能已被删除,因此该索引可能为空。
图3是示出使用上述现有技术的信息节点表复制处理,从图2中的样本源信息节点表解释的目标文件系统处的样本信息节点表的方框图(150)。如所示,在复制处理期间没有保持来自源文件系统的节点表索引的顺序,并且没有保持空索引。节点表索引的顺序不是特定的,并且能够以字母顺序、数字顺序等来呈现。因此,即使目标文件系统处给出的文件可以是源文件系统处相同文件的副本,但是它们的网络文件参考是不可相互交换的。
另一种用于复制文件系统的现有技术的方法通过以数字顺序复制信息节点表中的每个文件和目录来复制文件系统。例如,将对应于第一节点的文件从源文件系统复制到目标文件系统。随后是对应于第二节点的文件、以及对应于源文件系统的节点表中的每个连续节点的每个文件。然而,关于该方法的一个缺陷是目标文件系统的中间状态将与其本身不一致,因为相对于它们被父目录所引用,文件是以任意顺序被复制的。例如,当文件自身被复制之前用作该文件的参考的目录条目被复制到目标文件系统时,会创建不一致的状态,留下用于尚不存在的文件的目录条目。相反地,当在文件的目录条目从源文件系统复制到目标文件系统之前将该文件从源文件系统复制到目标文件系统时,可能产生另一不一致的状态。该中间状态产生存在并消耗空间的文件,但是没有任何目录条目指向所述文件,即,该文件没有名称。当没有中断地完成复制时,这两个中间状态没有任何意义,因为源文件系统和目标文件系统中的文件将具有相同的信息节点编号,所有文件将具有目录条目,并且所有目录条目将对应于文件,如源文件系统中一样。然而,存在与这两个识别的中间状态相关的重大缺陷,并且当在目标文件系统中作出第一条目之后在复制处理中出现中断时会发生该重大缺陷。现有技术的复制处理中的中断会导致部分目标文件系统自我不一致并且是不可挽救的。
因此,需要一种用于复制文件系统的方法,其在复制处理的所有阶段、包括所有中间阶段,保持信息节点表条目的顺序。该解决方案应当确保如果在复制处理期间将发生中断,则目标文件系统剩余物是可挽救的。
发明内容
本发明包括用于经由网络复制文件系统并且在整个复制处理期间保持文件系统内的关联表的顺序的方法和系统。
在本发明的一方面,提供了一种复制文件系统的方法。按照树顺序来扫描组织为数据结构的源文件系统。识别源文件系统的每个目录和目录索引。类似地,在目标文件系统中创建来自源文件系统的目录和目录索引。在目标文件系统中创建索引和目录之后,将来自源文件系统中的目录的内容复制到目标文件系统中的相应目录,并且有与其在源文件系统中拥有的识别索引相同的识别索引。以递归方式执行复制目录内容的处理。
在本发明的另一方面,提供了一种具有处理器和存储器的计算机系统,其中该处理器耦接到存储器,并且该处理器可操作来执行操作。这样的处理器操作包括:按照树顺序扫描组织为数据结构的源文件系统;识别所述扫描的文件系统中的目录和目录索引;在不同的文件系统中创建来自被扫描的文件系统的目录,并包括目录索引;将来自所述扫描的文件系统中的目录的内容递归复制到所述不同的文件系统中的相应远程目录。所述创建的目录在不同的文件系统中远离所述扫描的目录。
在本发明的又一方面,提供了一种计算机可读的程序存储设备。该计算机有形地具体化可由该计算机执行以便执行复制文件系统的操作的指令。该操作包括按照树顺序扫描组织为数据结构的源文件系统。识别源文件系统中的目录和目录索引,并且在目标文件系统中创建来自源文件系统的目录和目录索引。来自源文件系统中的目录的内容被递归复制到目标文件系统中的相应目录。目标文件系统中的目录索引与源文件系统中的目录索引相同。
在本发明的又一方面,提供了一种计算机可读的程序存储设备。该计算机有形地具体化可由该计算机执行的指令,以便执行复制文件系统的操作。该指令包括按照节点顺序扫描组织为数据结构的源文件系统。在该扫描期间,记住所发现的每个目录的内容并且报告给目标文件系统,从而,目录的数字识别符在该目录中的每个对象的识别符之前。
从结合附图的本发明的目前优选实施例的下列详细描述,本发明的其他特征和优点将变得显而易见。
附图说明
参考附图,现在仅通过举例来描述本发明,附图中:
图1是现有技术的计算机系统的方框图;
图2是来自源文件系统的现有技术的信息节点表的方框图;
图3是在从图2中的源文件系统复制的目标文件系统处的现有技术的信息节点表的方框图;
图4A和4B是图解说明根据本发明优选实施例的用于经由网络复制文件系统的第一方法的第一部分的流程图;
图5是图解说明用于经由网络复制文件系统的第一方法的第二部分的流程图;
图6是图解说明用于经由网络复制文件系统的第二方法的第一部分的流程图;
图7是在复制处理中的第一阶段的临时信息节点表的方框图;
图8是图解说明用于经由网络复制文件系统的第二方法的第二部分的流程图;
图9是在复制处理中的第二阶段的临时信息节点表的方框图;
图10是图解说明用于经由网络复制文件系统的第二方法的第三部分的流程图;
图11是在复制处理中的第三阶段的临时信息节点表的方框图;
图12A和12B是图解说明用于经由网络复制文件系统的第二方法的第四部分的流程图;和
图13是图解说明根据本发明一个实施例的管理器的布置的计算机系统的方框图。
具体实施方式
两个服务器通过网络互相连接。第一服务器与一个文件系统通信,并且第二服务器与第二文件系统通信。每个文件系统以分层方式被组织成数据结构。文件系统可以以保持数据结构内的表排序的方式被复制并且通过网络从一个服务器到另一个服务器。
通过使用流程图描述实现本发明的系统和方法的目前优选实施例的结构或者处理,来呈现本发明的下列描述。以这种方式使用图表来呈现本发明不应当被解释为限制本发明的范围。
这里公开了一种用于通过网络复制文件系统的方法。对于该方法有两个部分,并且第一部分具有两个段(segment)。图4A是图解说明第一复制方法的第一部分的第一段的流程图(200),该第一复制方法以树顺序扫描组织的源文件系统,在报告通过目录指向的对象之前报告树中的目录。将根目录分配给变量NAME(名称)(202),并且清除用于复制处理的位图(bitmap)(204)。调用用于复制名称索引的函数NISCAN(206)。该函数具有一个参数NAME。图4B是图解说明第一复制方法的第一部分的第二段的流程图(220)。在该段中,NISCAN函数被详细图解说明。在源文件系统中将位图中使用的位设定给变量NAME(222)。之后,第一测试确定对复制函数的自变量NAME是否是源文件系统中的目录(224)。在步骤(224)对测试的肯定响应导致在目标文件系统中在与源文件系统中相同的索引处创建空目录NAME(226)。用于复制目录的函数NISCAN被递归调用(228),以便复制目录NAME中的所有元素E,即NISCAN(NAME/E)。NISCAN的每次调用对一个文件(包括每个目录的子文件)设定一个位。在位图中设定位充当指示符,即特定信息节点,也就是特定文件和/或目录已经在目标文件系统中被复制。如果在步骤(224)对测试的响应是否定的,则在目标文件系统中具有与在源文件系统中的索引相同索引处,将文件、即NAME从源文件系统复制到目标文件系统(230)。当来自源文件系统的目录的所有内容已经被复制到目标文件系统时,完成名称索引复制函数。如果在完成复制之前发生中断,则所复制的目标文件系统目录的一致性保持不受影响,因为所复制的部分中的每个文件和目录已被创建了名称。
在目标文件系统中复制目录及其条目之后,调用第二函数以便报告源文件系统中任何不具有目录条目的条目。图5是图解说明该第二函数的流程图(250)。索引变量被设定为1(252)。之后,进行测试以便确定该索引变量是否大于源信息节点表(254)。如果在步骤(254)对测试的响应是肯定的,则对源信息节点表的复制处理完成(256),因为这表示所述索引大于源信息节点表并且源文件系统中所有信息节点已经被扫描。然而,如果在步骤(254)对测试的响应是否定的,则进行测试以便确定在源文件系统信息节点表中的该索引处是否存在文件(258)。在步骤(258)对测试的肯定响应表示该索引中的文件可能需要在目标文件系统中被复制。然而,在步骤(258)对测试的否定响应导致索引变量递增(260)。之后,该处理返回到步骤(254)。在步骤(258)对测试的肯定响应导致随后的测试,以便确定在信息节点表中所设定的索引处的文件是否已经在目标文件系统中被复制(262)。在一个实施例中,如果该文件已经被复制,则将在源文件系统中与该文件对应的位图中设定一个,所述位图已经一直是临时结构。在步骤(262)对测试的肯定响应返回到步骤(260),在步骤(260)索引变量递增。类似地,在步骤(224)对测试的否定响应导致将信息节点表中在该索引处的文件从源文件系统复制到目标文件系统的该索引(264)处,之后返回到步骤(260)用于递增索引变量。扫描(sweep)处理继续,直到从步骤(254)的测试返回肯定响应,表示已经达到表的末尾。因此,如此处所示,使用与在源文件系统中相同的节点索引,对象被从源文件系统复制到目标文件系统。
图4和图5中上述的处理是一种递归方法,用于通过按照树顺序扫描源文件系统同时保持元素被复制来复制文件系统。在另一实施例中,来自源文件系统的表可被复制到目标文件系统,同时保持被复制的元素的信息节点索引而不调用递归函数。在该复制处理中存在三个主要例程。图6是图解说明用于以节点顺序复制文件系统的单向(single pass)非递归方法中的第一例程的流程图(300)。在开始该第一例程之前,在目标文件系统中创建映射的空表(302)。该空表是临时结构。在步骤(302)之后,将索引变量设定为1(304)。之后,进行测试以便确定该索引变量是否超过正被扫描的源表的末尾(306)。在一个实施例中,目标文件系统中正被复制的表是源文件系统信息节点表。如果在步骤(306)对测试的响应是肯定的,则完成第一例程,并且在步骤(402)开始第二例程。然而,如果在步骤(306)对测试的响应是否定的,则进行测试以便确定在正被复制的源表中的所设定的索引处是否存在对象(308)。在步骤(308)对测试的肯定响应将跟随着随后的测试,用于确定源文件系统中的对象是否是目录(310)。在步骤(310)对测试的否定响应将导致将一条目增加到空白的目标表,从而创建一空白的表条目以便在以后时间点被使用(312)。类似地,在步骤(310)对测试的肯定响应将导致对于源文件系统表目录的目录中的每个条目,将具有分隔符和节点编号的条目添加到临时目标表(314)。在完成步骤(312)或者(314)之后,或者在步骤(308)对测试的否定响应之后,索引变量递增(316),之后返回到步骤(306)。步骤(306)到(316)中说明的例程图解说明了用于扫描源文件系统表以及用于创建临时复制表的处理。
图7是示出基于图2中所示的源文件系统的样本信息节点表的、目标文件系统中的临时表的方框图(350)。如所示,有四个条目。每个条目表示源信息节点表中的索引1、索引4、索引6和索引7,并且每个条目具有两个分隔符,每个分隔符用“;”字符表示。如所示,没有表示索引2、索引3和索引5的条目,因为它们是空索引。
临时表的每个条目包含具有可选值的几个字段:第一分隔符之前的可选整数X;两个分隔符之间的可选串Y;和第二分隔符之后的可选对列表(pairlist)。成对列表是对的序列,每一个具有称为tix的整数,后面跟随名称。
完成扫描和复制源文件系统表的处理之后,开始第二例程,用于分类图6中创建的临时表。在一个实施例中,分类例程包括两个独立的算法。图8是图解说明用于分类图6中创建的临时表的第一算法的流程图(400)。在开始步骤,临时表的索引P被分配整数1(402)。之后,进行测试,用于确定临时表的索引是否大于临时目标表的大小(404)。在步骤(404)对测试的肯定响应将导致临时表的第一算法完成,并且将继续图10中的第二算法的启动。然而,在步骤(404)对测试的否定响应将导致对于变量P从临时表条目中拖出字段(406),对临时表的索引分配变量ix(408),并且分配从字段对列表提取的对象的列表(410)(例如(ix à;;对列表))。对于列表对列表中的每个元素,对于元素ix为表条目中的该ix分配的值添加到临时表条目,用于该元素的临时表字段tix(412)。也就是,tix字段值被用来选择条目进行更新,并且ix值被插入在该条目的X字段中。类似地,已经与对列表中的tix值成对的名称被插入在正被修改的条目的Y字段中。在步骤(412)之后,变量P(即临时表的索引)递增(414),并且例程返回到步骤(404)。因此,在步骤(402)-(414)中示出的第一分类例程继续,直到对于步骤(404)的测试接收到肯定响应。
图9是示出基于图7所示的临时表、并且在用于对图6中创建的临时表分类的第一算法完成之后,在复制处理中的第二阶段处的临时表的方框图(450)。如所示,存在四个条目。每个条目表示源信息节点表中的索引1、索引4、索引6和索引7,并且根据完成图8中所示的算法完成已经修改了与索引4、索引6和索引7相关的条目。
图10是图解说明用于分类临时表的第二算法的流程图(500),该第二算法在对图8中的步骤(404)的测试的肯定响应之后开始。表示临时列表的索引的变量P被分配整数1(502)。之后,进行测试以便确定P是否大于临时表的大小(504)。在步骤(504)对测试的肯定响应将导致对临时表分类的第二算法完成。然而,在步骤(504)对测试的否定响应将导致通过将ix和对列表分配给变量P的表条目来逐行更新临时表(506)。在步骤(506)的分配之后,进行测试以便确定来自步骤(506)的分配的列表、对列表是否为空(508)。在步骤(508)对测试的肯定响应将导致变量P在步骤(510)被递增,并且返回到步骤(504)。然而,在步骤(508)对测试的否定响应将导致计算所提取的列表、对列表中的所有元素在临时表索引字段(tix)中的最小值,并且将该最小值分配给变量B(512)。之后,进行测试以便确定变量B是否小于临时目标表的索引ix(514)。在步骤(514)对测试的肯定响应将导致变量P递增(510),并且返回到步骤(504)。类似地,在步骤(514)对测试的否定响应跟随着从临时表中移除ix的表条目(516)并且将该ix的表条目插入在与所提取的列表、对列表中的条目的每个tix变量相关的所有条目之前(518)。在步骤(516)和(518)的移除和插入分别支持改变临时表中的排序,即,更新数据结构。在步骤(518)的插入之后,处理返回到步骤(510),用于递增变量P。因此,用于分类临时表的第二算法执行临时表的重新排序。
图11是示出基于图9所示的源文件系统的样本临时表、并且在基于用于对图6中创建的临时表分类的第二算法完成而重新排序表之后的临时表的方框图(550)。如所示,存在四个条目。每个条目表示源信息节点表中的索引1、索引4、索引6和索引7。如所示,根据图10所示的算法执行的完成,已经修改了临时表中的索引的排序。
在完成如图10所示的第二分类例程之后,开始最后例程用于复制来自源文件系统的表。图12A和12B是图解说明用于将表从源文件系统复制到目标文件系统的最后例程的流程图(600)。临时表的索引P被分配整数1(602)。之后,进行测试以便确定临时表的索引P是否大于图10中所示的第二分类算法中重新组织的临时表的大小(604)。对步骤(604)的测试的肯定响应将导致完成文件系统的复制(606)。然而,对步骤(604)的测试的否定响应将导致对于变量P从临时表条目中拖出字段(608),对临时表的索引分配变量ix(610),将第一分隔符之前的整数分配给变量X(612),将分隔符之间的串分配给变量Y(614),并且分配从字段对列表提取的对象的列表(616),例如(ix àX;Y;对列表)。在步骤(616)的分配之后,进行测试以便确定与变量ix对应的源索引中的对象是否是目录(618)。对步骤(618)的测试的否定响应将导致在临时表中的索引ix处创建对象(620),在目录中在索引ix处创建对象(如果存在一个对象)则赋予其名称Y(622),并且将文件内容从源索引ix复制到目标索引ix(624)。类似地,对步骤(618)的测试的肯定响应导致在目标文件系统中的索引ix处创建空目录或者作为位于索引X处的目录的子目录,如果临时目标表具有索引X,则创建具有名称Y的子目录(626)。如果临时表对于变量X具有条目,则创建具有名称Y的空目录作为在索引X处的目录的子目录。在完成步骤(624)和(626)之后,变量P递增(628),并且所述处理返回到步骤(604)。因此,复制例程的完成提供了在目标文件系统中的源表的复制。
本发明构想一种用于复制分层结构的数据的方法和系统。本发明可以采用完全的硬件实现、完全的软件实现或者包含硬件和软件元素的实现形式。图13是图解说明硬件环境中被配置成调用递归处理的管理器的方框图(700),所述递归处理用于将所有内容从源文件系统中的目录复制到目标文件系统中的相应目录。如所示,源文件服务器(720)包括处理器(726)、存储器(728)和网络适配器(732)。类似地,目标文件服务器(740)包括处理器(746)、存储器(748)和网络适配器(752)。源文件服务器(720)和目标文件服务器(740)分别经由网络(730)通过网络连接(722)和(742)链接,所述网络(730)可以包括局域网或者广域网。源文件服务器也包括管理器(760),该管理器包括表定位器(762)、在目标文件系统中创建源文件系统的定位表的每个目录的工具(764)、和定向器(director)(766),该定位器将源表的目录中的内容递归复制到目标文件系统中的相应目录。在一个实施例中,具有其表定位器(762)、工具(764)和控制器(766)的管理器(740)可被嵌入于目标文件服务器(730)内,或者在具有处理器、存储器和网络适配器的替换处理单元中。
在优选实施例中,本发明以软件实施,其包括但是不限于固件、驻留软件、微代码等。对于软件元素,源文件系统和目标文件系统两者中的每一个可以具有驻留在各自文件系统中的文件系统服务器的存储器内的管理器。源文件系统管理器可以包括用于调用上面概述和讨论的算法的指令和/或程序代码。类似地,在硬件环境中,源文件系统和目标文件系统管理器可以驻留在各自文件系统中的文件系统服务器的存储器的外部。
而且,本发明可以采用从计算机可使用或者计算机可读媒体可存取的计算机程序产品的形式,所述计算机可使用或计算机可读媒体提供供计算机或者任何指令执行系统使用或者相关的程序代码。为了该描述的目的,计算机可使用或者计算机可读媒体可以是任何装置,其能够包含、存储、通信、传播或者传输由指令执行系统、装置或者设备使用或者相关的程序。
本发明范畴之内的实施例也包括制造产品,该制造产品包括具有在其中编码的程序代码的程序存储部件。这样的程序存储部件可以是能够由通用或者专用计算机存取的任何可用媒体。例如(但不限于)这样的程序存储部件可以包括RAM、ROM、EEPROM、CD-ROM或者其他光盘存储器、磁盘存储器或者其他磁存储设备、或者能够被用来存储期望的程序代码部件和能够被通用或专用计算机存取的任何其他媒体。上述的组合应当也被包含在程序存储部件的范畴内。
所述媒体可以是电、磁、光、电磁、红外、或者半导体系统(或者装置或设备)或者传播媒体。计算机可读媒体的示例包括半导体或者固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘、和光盘。光盘的当前示例包括只读致密盘B(CD-ROM)、读/写致密盘B(CD-R/W)和DVD。
适用于存储和/或执行程序代码的数据处理系统将包括至少一个直接或者间接通过系统总线耦接到存储元件的处理器。该存储元件可以包括在实际执行程序代码期间利用的本地存储器、大容量存储器(bulk storage)、和高速缓冲存储器,所述高速缓冲存储器提供至少一些程序代码的临时存储以便减少在执行期间必须从大容量存储器取回代码的次数。
输入/输出或者I/O设备(包括但是不限于键盘、显示器、指示装置等等)可以直接耦接到所述系统或者通过插入I/O控制器而耦接到所述系统。
网络适配器也可以耦接到所述系统,以便使数据处理系统能够通过插入专用或者公共网络而变成耦接到其他数据处理系统或者远程打印机或者存储设备。调制解调器、无线和以太网适配器仅仅是一些当前可用的网络适配器类性。
将会理解,尽管此处为了图解说明的目的已经描述了本发明的特定实施例,但是在不背离本发明的范围的情况下可以进行各种修改。具体地,本发明不应当限于信息节点表从源文件系统到目标文件系统的复制。相反,此处所示的算法可以扩展到包括任何数据结构和相关表的复制。
Claims (19)
1.一种复制文件系统的方法,包括:
按照树顺序扫描组织为数据结构的源文件系统;
识别源文件系统中的目录和目录索引;
在目标文件系统中创建包括目录索引的、来自源文件系统的目录;
将来自所述源文件系统中的目录的内容递归复制到所述目标文件系统中的相应目录,其中目标文件系统中的目录索引与源文件系统中的目录索引相同。
2.如权利要求1所述的方法,还包括:在复制目录内容之后,在所述源文件系统的表中设定一个位。
3.如权利要求2所述的方法,还包括:在所述源文件系统中的节点表中搜索没有目录条目的对象。
4.如权利要求3所述的方法,还包括:将所述没有所述目录条目的对象从所述源文件系统复制到所述目标文件系统的所述识别索引处。
5.如权利要求1所述的方法,其中递归复制来自所述源文件系统中的目录的内容包括:将用于所述源文件系统中的每个对象的所述识别索引发送到所述目标文件系统,作为在所述目标文件系统中的识别索引处的每个对象的属性。
6.一种计算机系统,包括:
处理器;
存储器;
所述处理器耦接到所述存储器,其中所述处理器可操作执行下列操作:
按照树顺序扫描组织为数据结构的源文件系统;
识别所述扫描的文件系统中的目录和目录索引;
创建包括目录索引的、来自所述扫描的文件系统的目录,其中所述创建的目录在远离所述扫描的目录的不同的文件系统中;
将来自所述扫描的文件系统中的目录的内容递归复制到所述不同的文件系统中的相应远程目录。
7.如权利要求6所述的系统,还包括在完成内容复制之后将在所述扫描的文件系统中的所述定位的表中设定的位。
8.如权利要求7所述的系统,还包括:对象复制器,用于在所述扫描的文件系统中定位没有目录条目的对象。
9.如权利要求7所述的系统,其中当所述对象被重新创建时,所述递归复制操作发送所述扫描的文件系统中的每个对象的识别号,作为在该识别号处的每个对象的属性。
10.一种计算机可读的程序存储设备,该计算机有形地具体化可由该计算机执行以便执行用于复制文件系统的操作的指令,所述操作包括:
按照树顺序扫描组织为数据结构的源文件系统;
识别所述源文件系统中的目录和目录索引;
在目标文件系统中创建包括目录索引的、来自源文件系统的目录;
将来自所述源文件系统中的目录的内容递归复制到所述目标文件系统中的相应目录,其中所述目标文件系统中的目录索引与所述源文件系统中的目录索引相同。
11.如权利要求10所述的程序存储设备,还包括用于在复制目录内容之后在所述源文件系统的表中设定一个位的操作。
12.如权利要求11所述的程序存储设备,还包括用于在所述源文件系统中的节点表中搜索没有目录条目的对象的操作。
13.如权利要求12所述的程序存储设备,还包括将所述没有所述目录条目的对象从所述源文件系统复制到所述目标文件系统的所述识别索引处的操作。
14.如权利要求10所述的程序存储设备,其中所述用于递归复制来自所述源文件系统中的目录的内容的操作包括:将用于所述源文件系统中的每个对象的所述识别索引发送到所述目标文件系统,作为在所述目标文件系统中的识别索引处的每个对象的属性。
15.一种计算机可读的程序存储设备,该计算机有形地具体化可由该计算机执行以便执行用于复制文件系统的操作的指令,所述操作包括:
按照树顺序扫描组织为数据结构的源文件系统;
记住在所述扫描中发现的每个目录的内容;和
将节点报告给目标文件系统,从而目录的数字识别符在所述目录中的每个对象的识别符之前。
16.如权利要求15所述的程序存储设备,还包括在每个对象被复制时,将用于目录和文件的所述识别符从所述源文件系统发送到所述目标文件系统,作为每个对象的属性的操作。
17.如权利要求15所述的程序存储设备,还包括在创建那些目录的内容之前创建目标文件系统的目录的操作。
18.如权利要求15所述的程序存储设备,还包括以节点顺序扫描源文件系统是非递归例程的操作。
19.如权利要求15所述的程序存储设备,还包括当所述源文件系统中被复制的数据被报告给所述目标文件系统时,重新排序所述被复制的数据的操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/325,750 US7769719B2 (en) | 2006-01-05 | 2006-01-05 | File system dump/restore by node numbering |
US11/325,750 | 2006-01-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101356527A true CN101356527A (zh) | 2009-01-28 |
Family
ID=38225909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006800504384A Pending CN101356527A (zh) | 2006-01-05 | 2006-12-20 | 通过节点编号的文件系统转储/恢复 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7769719B2 (zh) |
EP (1) | EP1971939A2 (zh) |
JP (1) | JP5186390B2 (zh) |
CN (1) | CN101356527A (zh) |
WO (1) | WO2007077132A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857302A (zh) * | 2019-01-29 | 2019-06-07 | 掌阅科技股份有限公司 | 电子书信息的修复方法、电子设备及计算机存储介质 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007241539A (ja) * | 2006-03-07 | 2007-09-20 | Hitachi Systems & Services Ltd | 半導体フラッシュメモリにおけるデータ管理及び制御システムと半導体フラッシュメモリ収容装置 |
JP4907605B2 (ja) * | 2007-06-25 | 2012-04-04 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | inodeの割り当て及び割り当て解除の方法及びコンピュータプログラム |
US8478802B2 (en) * | 2007-10-11 | 2013-07-02 | Microsoft Corporation | Organization system for distributed items |
US8954390B1 (en) * | 2009-04-29 | 2015-02-10 | Netapp, Inc. | Method and system for replication in storage systems |
US8606751B1 (en) * | 2009-12-21 | 2013-12-10 | Emc Corporation | System and method for backup by inode number |
US9037538B2 (en) * | 2010-05-13 | 2015-05-19 | Hewlett-Packard Development Company, L.P. | File system migration |
US8433694B1 (en) * | 2011-01-31 | 2013-04-30 | Symantec Corporation | File cache optimization using element de-prioritization |
US10860529B2 (en) * | 2014-08-11 | 2020-12-08 | Netapp Inc. | System and method for planning and configuring a file system migration |
US20160041996A1 (en) | 2014-08-11 | 2016-02-11 | Netapp, Inc. | System and method for developing and implementing a migration plan for migrating a file system |
US9361187B2 (en) * | 2013-11-04 | 2016-06-07 | Quantum Corporation | File system metadata capture and restore |
US20150242284A1 (en) * | 2014-02-25 | 2015-08-27 | Ca, Inc. | Two-algorithm sort during backup and recovery |
US10713215B2 (en) * | 2015-11-13 | 2020-07-14 | International Business Machines Corporation | Allocating non-conflicting inode numbers |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4371754A (en) * | 1980-11-19 | 1983-02-01 | Rockwell International Corporation | Automatic fault recovery system for a multiple processor telecommunications switching control |
US5151989A (en) * | 1987-02-13 | 1992-09-29 | International Business Machines Corporation | Directory cache management in a distributed data processing system |
JP2827495B2 (ja) * | 1990-10-22 | 1998-11-25 | 松下電器産業株式会社 | 情報媒体の記録方法、情報再生方法および情報再生装置 |
EP0528617B1 (en) * | 1991-08-19 | 1999-12-22 | Sun Microsystems, Inc. | Method and apparatus for change control in multiple development environments. |
US5734886A (en) * | 1994-11-16 | 1998-03-31 | Lucent Technologies Inc. | Database dependency resolution method and system for identifying related data files |
US5513314A (en) * | 1995-01-27 | 1996-04-30 | Auspex Systems, Inc. | Fault tolerant NFS server system and mirroring protocol |
US5757669A (en) | 1995-05-31 | 1998-05-26 | Netscape Communications Corporation | Method and apparatus for workgroup information replication |
JP3335801B2 (ja) * | 1995-07-05 | 2002-10-21 | 株式会社日立製作所 | 異種ファイルへのアクセスを可能とする情報処理システム及びその制御方法 |
US5765173A (en) * | 1996-01-11 | 1998-06-09 | Connected Corporation | High performance backup via selective file saving which can perform incremental backups and exclude files and uses a changed block signature list |
US6412017B1 (en) * | 1996-07-01 | 2002-06-25 | Microsoft Corporation | Urgent replication facility |
US5812773A (en) * | 1996-07-12 | 1998-09-22 | Microsoft Corporation | System and method for the distribution of hierarchically structured data |
JPH11154110A (ja) * | 1997-11-20 | 1999-06-08 | Nippon Telegr & Teleph Corp <Ntt> | ミラーサーバの同期方法 |
US6366987B1 (en) * | 1998-08-13 | 2002-04-02 | Emc Corporation | Computer data storage physical backup and logical restore |
US6415300B1 (en) * | 1999-07-06 | 2002-07-02 | Syncsort Incorporated | Method of performing a high-performance backup which gains efficiency by reading input file blocks sequentially |
US7756818B1 (en) * | 1999-07-07 | 2010-07-13 | Computer Associates Think, Inc. | Database table recovery system |
JP2000082003A (ja) * | 1999-09-10 | 2000-03-21 | Hitachi Ltd | 異種ファイルへのアクセスを可能とする情報処理システム及びその制御方法 |
US6496944B1 (en) * | 1999-10-06 | 2002-12-17 | International Business Machines Corporation | Method for database assisted file system restore |
US6460055B1 (en) * | 1999-12-16 | 2002-10-01 | Livevault Corporation | Systems and methods for backing up data files |
WO2002019655A2 (en) | 2000-08-31 | 2002-03-07 | Ontrack Data International, Inc. | System and method for data management |
EP1360597A4 (en) * | 2001-02-15 | 2005-09-28 | Suffix Mail Inc | E-MAIL MESSAGING SYSTEM |
JP4175789B2 (ja) | 2001-07-05 | 2008-11-05 | 株式会社日立製作所 | 記憶装置のファイルレベルリモートコピー方法 |
JP4168626B2 (ja) * | 2001-12-06 | 2008-10-22 | 株式会社日立製作所 | 記憶装置間のファイル移行方法 |
US7225204B2 (en) * | 2002-03-19 | 2007-05-29 | Network Appliance, Inc. | System and method for asynchronous mirroring of snapshots at a destination using a purgatory directory and inode mapping |
US6993539B2 (en) | 2002-03-19 | 2006-01-31 | Network Appliance, Inc. | System and method for determining changes in two snapshots and for transmitting changes to destination snapshot |
US7185031B2 (en) * | 2002-03-25 | 2007-02-27 | Quantum Corporation | Creating a backup volume using a data profile of a host volume |
JP2004334650A (ja) * | 2003-05-09 | 2004-11-25 | Fujitsu Ltd | バックアップ方法、リストア方法及びプログラム |
US7761421B2 (en) * | 2003-05-16 | 2010-07-20 | Hewlett-Packard Development Company, L.P. | Read, write, and recovery operations for replicated data |
US7092976B2 (en) * | 2003-06-24 | 2006-08-15 | International Business Machines Corporation | Parallel high speed backup for a storage area network (SAN) file system |
US7234077B2 (en) * | 2003-06-24 | 2007-06-19 | International Business Machines Corporation | Rapid restoration of file system usage in very large file systems |
US7143251B1 (en) * | 2003-06-30 | 2006-11-28 | Data Domain, Inc. | Data storage using identifiers |
US7284104B1 (en) * | 2003-06-30 | 2007-10-16 | Veritas Operating Corporation | Volume-based incremental backup and recovery of files |
US7047380B2 (en) * | 2003-07-22 | 2006-05-16 | Acronis Inc. | System and method for using file system snapshots for online data backup |
US7398285B2 (en) | 2003-07-30 | 2008-07-08 | International Business Machines Corporation | Apparatus and system for asynchronous replication of a hierarchically-indexed data store |
US7054960B1 (en) * | 2003-11-18 | 2006-05-30 | Veritas Operating Corporation | System and method for identifying block-level write operations to be transferred to a secondary site during replication |
JP2005284980A (ja) * | 2004-03-30 | 2005-10-13 | Toshiba Solutions Corp | 2重化システム及びリモートディスクミラーリングの初期化処理方法 |
JP4159506B2 (ja) * | 2004-04-28 | 2008-10-01 | Necソフトウェア東北株式会社 | 階層記憶装置、その復旧方法、及び復旧プログラム |
US7284150B2 (en) * | 2004-09-22 | 2007-10-16 | International Business Machines Corporation | System and method for reliably storing data and providing efficient incremental backup and asynchronous mirroring by preferentially handling new data |
-
2006
- 2006-01-05 US US11/325,750 patent/US7769719B2/en not_active Expired - Fee Related
- 2006-12-20 JP JP2008548967A patent/JP5186390B2/ja not_active Expired - Fee Related
- 2006-12-20 CN CNA2006800504384A patent/CN101356527A/zh active Pending
- 2006-12-20 EP EP06841520A patent/EP1971939A2/en not_active Withdrawn
- 2006-12-20 WO PCT/EP2006/070022 patent/WO2007077132A2/en active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857302A (zh) * | 2019-01-29 | 2019-06-07 | 掌阅科技股份有限公司 | 电子书信息的修复方法、电子设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20070156791A1 (en) | 2007-07-05 |
WO2007077132A2 (en) | 2007-07-12 |
WO2007077132A3 (en) | 2007-11-29 |
JP5186390B2 (ja) | 2013-04-17 |
JP2009522677A (ja) | 2009-06-11 |
EP1971939A2 (en) | 2008-09-24 |
US7769719B2 (en) | 2010-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101356527A (zh) | 通过节点编号的文件系统转储/恢复 | |
JP3767699B2 (ja) | オブジェクトのリンク追跡方法及びシステム | |
US9646030B2 (en) | Computer-readable medium storing program and version control method | |
CN100399327C (zh) | 管理文件系统的逻辑版本的方法和数据存储系统 | |
CN107003935A (zh) | 优化数据库去重 | |
CN106663056A (zh) | 文件系统中的元数据索引搜索 | |
US7099889B2 (en) | System and method for decoupling object identification for the purpose of object switching in database systems | |
EP1504376B1 (en) | Data archive recovery | |
CN112130891B (zh) | 一种数据库持续部署的方法和设备 | |
CN109189759A (zh) | Kv存储系统中的数据读取方法、数据查询方法、装置及设备 | |
JP2001306372A (ja) | 文書管理方法およびその方法を実施するためのプログラムを記憶した記憶媒体 | |
JP2003323326A (ja) | 情報管理装置 | |
US20220222146A1 (en) | Versioned backup on an object addressable storage system | |
CN114661676B (zh) | 分布式数据库管理系统、方法、电子设备及可读存储介质 | |
US5881380A (en) | Device and method for data management based on values | |
CN111770158B (zh) | 云平台恢复方法、装置、电子设备及计算机可读存储介质 | |
JP4314126B2 (ja) | 同時実行制御方法及び装置 | |
EP0394172A2 (en) | Method of performing file services given partial file names | |
CN115146003B (zh) | 非侵入式实现数据库增量数据实时同步处理的方法和系统 | |
CN110806953A (zh) | 一种备份方法和装置 | |
JPH09179761A (ja) | データベース管理システム及び管理方法 | |
KR19980043212A (ko) | 이동통신 교환기의 릴레이션-도메인-정보 데이터 생성방법 | |
JPH1011345A (ja) | ファイル管理システムおよびファイル管理方法 | |
JP2002163271A (ja) | 特許管理システム | |
JP2000057046A (ja) | データ管理方法及び装置、データ管理システム、記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20090128 |