CN1655146A - 用于文件***快照持久性的方法和装置 - Google Patents
用于文件***快照持久性的方法和装置 Download PDFInfo
- Publication number
- CN1655146A CN1655146A CNA2005100064254A CN200510006425A CN1655146A CN 1655146 A CN1655146 A CN 1655146A CN A2005100064254 A CNA2005100064254 A CN A2005100064254A CN 200510006425 A CN200510006425 A CN 200510006425A CN 1655146 A CN1655146 A CN 1655146A
- Authority
- CN
- China
- Prior art keywords
- file system
- snapshot image
- snapshot
- data block
- data
- 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
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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- 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
-
- 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/84—Using snapshots, i.e. a logical point-in-time copy of the data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种用于在数据处理***中管理文件***中的数据的方法,装置和计算机指令。在文件***恢复期间,检测用于修改文件***中数据块的请求。当检测到该请求时,将描述数据块的元数据写入快照映像。将用于文件***中数据块的数据拷贝到快照映像。当将该数据拷贝到快照映像中之后修改文件***中的数据块。该快照映像可用于将文件***返回到修改文件***中的数据块之前的状态。
Description
技术领域
本发明通常涉及改进型数据处理***,特别是,用于处理数据的方法和装置。更具体而言,本发明提供了一种用于管理文件***的方法,装置和计算机指令
背景技术
文件***是用于在盘上存储和检索文件的机制。文件***定义了用于跟踪文件的目录结构和访问文件所需的路径语法。文件***也定义了命名文件的方式,以及文件或卷的最大文件尺寸。文件***通常由两个不同的部分组成,即文件集合和目录结构。在文件集合中的每个文件存储有关的数据。目录结构组织并提供有关文件***中文件的信息。
关于文件***的某些问题涉及文件***中出现的损坏和错误。采用文件***快照来建立在某一时间点处文件***的一致块级映像。块表示同时一起发送或处理的数据组。块也被称之为数据块。例如,块的大小可为1K字节。文件***快照用于创建文件***的备份。
这些快照用于重构文件***。目前的快照对于数据处理***崩溃不具有持久性(persistence)。本发明认识到当前可获得的快照***在文件***恢复操作期间并不会被保持。从而,这些类型的快照在***重新启动期间不具持久性。
因此,提供用于创建和管理文件***快照的改进型方法,装置,和计算机指令将是有益的。
发明内容
本发明提供了一种用于在数据处理***中管理文件***中的数据的方法,装置和计算机指令。在文件***恢复期间,检测用于修改文件***中数据块的请求。当检测到该请求时,将描述数据块的元数据写入快照映像。将文件***中数据块的数据拷贝到快照映像。当将该数据拷贝到快照映像中之后修改文件***中的数据块。该快照映像可用于将文件***返回到修改文件***中的数据块之前的状态。
附图说明
看作是本发明特性的新颖特征由所附权利要求给出。不过,结合附图,参照以下示意性实施例的详细描述,将更好地理解本发明本身,优选实施方式,及其他目的和优点,其中:
图1为根据本发明优选实施例可实现本发明的数据处理***的示意图;
图2为可实现本发明的数据处理***的框图;
图3表示根据本发明优选实施例用在创建和管理文件***快照中的示意性部件;
图4表示根据本发明优选实施例的快照元数据;
图5表示根据本发明优选实施例、文件***快照的开始部分的示意图;
图6表示根据本发明优选实施例、快照映像中的快照映像组的示意图;
图7表示根据本发明优选实施例、快照映像组中的快照映像页的示意图;
图8表示根据本发明优选实施例的分段的示意图;
图9A和9B表示根据本发明优选实施例、用于更新文件***快照的流程图;
图10表示根据本发明优选实施例、用于启动恢复过程的过程;
图11表示根据本发明优选实施例、用于检查文件***的过程;
图12表示根据本发明优选实施例、用于对文件***执行文件***检查恢复过程的过程;
图13表示根据本发明优选实施例、用于对写有日志的文件***执行日志重写恢复过程的过程。
具体实施方式
现在参照附图,具体参照图1进行描述,其中,图1表示根据本发明优选实施例可实现本发明的数据处理***的示意图。所示计算机100包括***单元102,视频显示终端104,键盘106,存储设备108(存储设备108可包括软盘驱动器以及其他类型的永久和可移动存储介质),和鼠标110。个人计算机100还可包括附加输入设备,如操纵杆,触摸板,触摸屏,跟踪球,麦克风等。计算机100可使用任何合适的计算机实现,如IBM eServer计算机或IntelliStation计算机(它们是处于纽约Armonk的IBM公司的产品)。尽管所述表示示出为计算机,然而还可以用其他类型的数据处理***,如网络计算机,来构成本发明的其他实施例。计算机100还优选包括图形用户接口(GUI),在计算机100的运行操作中,图形用户接口可通过驻留在计算机可读介质中的***软件来实现。
现参照图2,图2表示可实现本发明的数据处理***的框图。数据处理***200是计算机的示例,如图1中的计算机100,其中,可设置有用于实现本发明的过程的代码或指令。数据处理***200采用外设部件接口(PCI)局部总线体系结构。虽然所述示例采用PCI总线,但也可采用其他总线体系结构,如加速图形端口(AGP)和工业标准体系结构(ISA)。处理器202和主存储器204通过PCI桥208与PCI局部总线206连接。PCI桥208还可包括用于处理器202的集成存储器控制器和高速缓存。通过直接部件互连或通过内插(add-in)连接器可构成到PCI局部总线206的附加连接。在所述示例中,局域网(LAN)适配器210,小型计算机***接口SCSI主机总线适配器212,和扩展总线接口214通过直接部件连接与PCI局部总线206连接。与之相反,音频适配器216,图形适配器218,和音频/视频适配器219通过***到扩展槽中的内插板与PCI局部总线206连接。扩展总线接口214为键盘和鼠标适配器220,调制解调器222,和附加存储器224提供连接。SCSI主机总线适配器212为硬盘驱动器226,磁带驱动器228,和CD-ROM驱动器230提供连接。典型的PCI局部总线的实现将支持三或四个PCI扩展槽或内插连接。
操作***运行在处理器202上,用于协调和控制如图2所示数据处理***200内的各种部件。操作***可为市场上可获得的操作***,如Windows XP(可从微软公司获得)。面向对象的编程***,如Java,可结合操作***运行,并提供从数据处理***200上执行的Java程序或应用对操作***的调用。“Java”为Sun Microsystems公司的商标。用于操作***的指令,面向对象的编程***,以及应用或程序置于存储设备上,如硬盘驱动器226上,并可将其载入主存储器204中以便由处理器202执行。
本领域普通技术人员将会理解,在图2中的硬件可根据实现方式进行变化。除图2所示的硬件外,还可使用或代之以使用其他内部硬件或外设,如快擦写只读存储器(ROM),等效非易失性存储器,或光盘驱动器等。此外,本发明的程序还可应用于多处理器数据处理***。
例如,对于数据处理***200,如果可选地配置为网络计算机,其可不包含SCSI主机总线适配器212,硬盘驱动器226,磁带驱动器228,和CD-ROM 230。在此情形中,计算机(恰当称之为客户机计算机)包括某些类型的网络通信接口,如LAN适配器210,调制解调器222等。作为另一示例,数据处理***200可为独立***,其被配置成可在不依赖于某类型网络通信接口的条件下进行启动,而不管数据处理***200是否包括某类型网络通信接口。作为又一示例,数据处理***200可为个人数字助理(PDA),且该个人数字助理配置有ROM和/或快擦写ROM,以提供用于存储操作***文件和/或用户生成的数据的非易失性存储器。
图2所述示例以及上述示例并不意在表示对体系结构的限制。例如,除采用PDA的形式外,数据处理***200还可为笔记本计算机或手持式计算机。数据处理***200还可为公用信息机(kiosk)或Web电器。
本发明的处理通过处理器202使用计算机实现的指令来执行,指令可设置在诸如主存储器204,存储器224之类的存储器中,或设置在一个或多个外设226-230中。
参看图3,图3表示根据本发明优选实施例用在创建和管理文件***快照中的示意性部件。如此处所使用的,术语“快照”用于表示文件***的快照,另外还可将其称为“文件***快照”。
在该示例中,存在有用户空间300和内核空间302。快照用户接口304和恢复用户接口306处在用户空间300中。采用这些用户接口以接收用来创建快照的用户输入,以及当要将文件***恢复到先前状态时执行恢复处理。具体是,使用快照用户接口304启动快照的创建。该接口用于接收诸如创建或删除查询之类的命令。用户可为个人或应用程序。恢复用户接口306用于在***崩溃或断电后启动文件***的恢复。
内核空间302包含文件处理线程308,文件***快照线程310,逻辑卷管理器312,文件***设备314,和快照设备316。文件***318处在文件***设备314内,而快照320处在快照设备316内。在这些示例中,这两个设备为逻辑卷。文件处理线程308用于数据访问,如读操作,写操作,或安装驱动操作。对文件***(如文件***设备314中的文件***318)中发现的数据执行这些操作。当在正常文件***操作期间接收到用于数据访问的请求时,使用文件处理线程308的处理。
文件***快照线程310用于实现创建快照(如处在快照设备316中的快照320)的处理。该设备可设置在多个位置。例如,快照320可与文件***318处在同一物理硬盘驱动器上。或者,快照320可处在另一存储介质上,如非易失性随机存取存储器(NVRAM),另一物理硬盘驱动器,或光学介质上。逻辑卷管理器312用于在文件处理线程308,文件***快照线程310和逻辑设备,与文件***设备314和快照设备316之间提供接口。
在运行期间,按照当数据处理***中出现崩溃时可重构快照320中的状态的方式,构造快照元数据并将其写入快照320。在这些说明性示例中,在文件***恢复或修复期间,在快照设备320中重构的快照通过恢复或修复程序而不断被更新,从而使重新设置时所重构快照的状态与重新设置时所修复的文件***的状态相一致。当文件***恢复或修复操作完成后,快照将继续包含创建快照时刻的文件***的一致块级映像。
特别是,当在文件***中要修改数据时,如将其写入文件***318或从文件***318中将其删除时,使用来自文件***的数据来更新快照320。在这些示例中,将所要在文件***318中修改的数据块在对其实际进行修改之前将其拷贝到快照320中。除来自数据块的数据外,还将描述修改之前该数据块的信息和元数据拷贝或写入到快照320中。可使用在针对快照320中数据块的运行期间所产生的元数据和数据,将文件***318设置到对该数据块进行修改之前的状态。
下面参看图4,图4表示根据本发明优选实施例的快照元数据。快照元数据400为用于跟踪文件***中的文件***块的快照元数据的示例,如在图3中的快照320。快照元数据400通过快照处理(如在图3中的文件***快照线程310)来创建。在本发明所示示例中,该快照在数据处理***的***重新启动期间是具有持久性的。在这些示例中,当文件***恢复或修复操作能够保持快照映像时,会出现快照的持久性。
在所示示例中,快照元数据400包含快照摘要映像(snapshotsummary map)402,快照映像404,和快照分段406。在快照摘要映像402中的项用于描述在快照映像404中发现的快照映像页。在这些示例中,在快照摘要映像402中的每个项描述快照映像404中快照映像组的初始化状态。快照映像组包含32个快照映像页。在快照映像404中的数据描述在文件***中每个数据块的现用(in-use)和拷贝(copied)状态。快照分段406包含描述拷贝到快照分段406中的数据块的前映像(before-image)描述符,以及文件***修改之前的数据块。
在运行期间,当要对文件***上的数据块进行修改时,在快照元数据400中保留盘上(on-disc)结构状态。这些修改包括写入时拷贝(COW,copy-on-write)和删除时拷贝(COD,copy-on-delete)操作。对数据块的这些状态的保留使得能够将文件***返回到文件***中的数据块被修改之前的状态。对在快照映像404中的快照映像组进行分配,初始化每个快照映像项的现用状态,并将其同步写到在快照元数据400中初始化的每个快照映像组的盘上。在运行期间,同步初始化和更新摘要快照映像项。
现在参看图5,根据本发明优选实施例,给出了文件***快照的开始部分的示意图。部分500表示在硬盘驱动器上的包含有快照超级块502,块映像Xtree拷贝504,和快照摘要映像506的部分。
快照摘要映像506为快照的开始,如在图4中的快照元数据400。快照超级块502用于标识快照的开始,并指向自文件***最后安装后所写入的快照中的快照分段的开始和末尾。当在数据处理***中文件***可用于访问时,文件***安装完毕。块映像X树(Xtree)拷贝504包含有描述文件***中不同块的现用状态的文件***结构映像。快照摘要映像506包含有若干项,其中,每个项指向快照分段,该快照分段包含快照映像组,以及该快照映像组中初始化的每个快照映像页的现用状态的摘要。
现参看图6,根据本发明优选实施例,表示出快照映像中的快照映像组。快照映像组600表示设置在快照映像(如图4所示的快照映像404)中的页的示例。在这些示例中,快照映像组600包括32个页,但在该图中仅显示出其中的4个页,快照映像页602,快照映像页604,快照映像页606,和快照映像页608。将快照组600中的每个快照映像页初始化为现用状态,并将其同步写到对于该页映射的每个文件***块的盘上。文件***块的前映像进行拷贝后,将文件***块的拷贝状态异步写入到快照映像页中。
现参看图7,根据本发明优选实施例,表示出快照映像组中的快照映像页。快照映像页700表示快照映像页(如在图6中的快照映像页602)的示例。该页或项包含有与快照分段中的该具体页相关的每个数据块的现用状态的描述。例如,项702,704,706,708,710,712和714描述正处于使用状态的文件***数据块。该示例表示,当创建了快照时,文件***块0,1,2,508,509,510和511在文件***中处于现用(in use)状态。项716,718和720显示文件***块处理拷贝(copied)状态。该示例表示,文件***块509,510和511已将其前映像拷贝到快照中。项726,728和730显示在快照中拷贝了文件***块的前映像的位置。该示例表示,文件***块509的前映像被拷贝到了快照块516,文件***块510的前映像被拷贝到了快照块517,以及文件***块511的前映像被拷贝到了快照块518。项722和724显示为既没有被使用,又没有被拷贝。在这些示例中,在快照映像页700中出现有512个项。出于说明目的,在快照映像页700中仅显示出数个项。
下面,参看图8,显示出根据本发明优选实施例的分段的示意图。分段头部800表示处在快照分段(如在图4中的快照分段406)中的分段头部的示例。在该示例中,分段头部800处在分段801中的某个页中,在该示例中,分段801的长度为128k字节。当然,根据实现方式,可使用任何大小的分段。
分段801包含分段头部800和248个sLog项,分段头部800包含链接,自身值,和扩展(extent)数。链接是到下一个分段的地址,自身值是当前分段的地址。扩展数的值表示被拷贝到分段中的扩展的数目。扩展是作为单位分配到文件***的连续文件***块的序列。如图所示,sLog项804,806和808是用于描述已拷贝到快照中的文件***前映像的头部项的示例。每个sLog项包括循环冗余校验(CRC)数据,起始数据块地址,(sAddr)和长度,该长度表示连续数据块的数量。在该示例中,在部分或扩展810或812中找到前映像文件***数据块。在此情形中,“前映像”表示在创建快照时在文件***中已存在的文件***块。当试图修改块映像时,该块映像即成为“前映像”。同时,将新的块映像称为“后映像”。快照获取文件***块的前映像的拷贝,然后,文件***能够将后映像块写入到其设备上。
对于分段,如分段801,将前映像数据块同步写入到这些分段中。这些分段在超级块(如在图5中的快照超级块502)中的链表中得以描述。该链表的最后分段的头部,总是在仅次于最后的分段的头部被写成指向该最后分段之前被初始化。这些分段还包括描述拷贝到分段中的数据块的前映像描述符。在这些示例中,校验和字段,如CRC数据字段,用于验证当出现崩溃时最后前映像扩展的换出。
图9A和9B表示,根据本发明优选实施例,用于更新文件***快照的流程图。在图9A和9B的处理还可在快照过程(如在图3中文件***快照线程310)中实现。
处理以接收到用于修改文件***中数据的请求而开始,例如写入或删除请求(步骤900)。接下来,确定是否存在文件***的快照(步骤902)。如果存在快照,则确定块X的快照摘要映像(ssMap)项是否已初始化(步骤904)。在这些示例中,ssMap项在ssMap中创建,如在图4中的快照摘要映像402中创建。块X用于在文件***中要被修改的数据块。如果块X的ssMap项未被初始化,则对该ssMap项的32个sMap页进行现用(inUse)状态的初始化(步骤906)。这些sMap页例如可为在图6所示快照映像组600中的页。
之后,将32个快照映像(sMap)页同步写入到快照中(步骤908)。接下来,将ssMap标记为已被初始化,在该项中对sMapGroup的位置进行标记,并将其同步写入到在快照中的摘要快照映像中(步骤910)。
下面,确定当产生快照时块X是否处于现用状态(步骤912)。如果当产生快照时在文件***中块X处于现用状态,则确定块X是否被拷贝到快照中(步骤914)。如果块X尚未从文件***拷贝到快照中,则从文件***读取来自文件***的块X的前映像(步骤916)。
之后,确定在快照中的当前分段是否已满(步骤918)。如果当前分段未满,则使用以下内容修改当前分段头部:块X的前映像在快照中的位置,该数据块在文件***中的位置,以及块X的前映像的校验和(步骤920)。接下来,将分段头部和块X的前映像同步写入到快照中(步骤922)。换而言之,将在修改文件***的数据块之前从文件***读取的对于数据块的数据写入到快照中。之后,异步更新sMap页,以表示块X已被拷贝到快照中,以及表示块X的前映像的位置(步骤924)。该快照映像页例如可为在图6中的快照映像页602。下面,执行文件***修改,如文件***写入或删除操作(步骤926),其后,过程终止。
转到步骤902,如果快照不存在,则过程进行到如以上所述的步骤926。接下来,回到步骤904,如果块X的ssMap项已被初始化,则过程直接进行到如以上所述的步骤912。在步骤912中,如果当产生快照时块X未处于现用状态,则过程进行到如以上所述的步骤926。回到步骤914,如果块X未拷贝到快照中,则过程进行到如以上所述的步骤926。
回到步骤918,如果当前分段满,则在快照中为新分段分配空间(步骤928)。接下来,初始化新分段的头部,以显示新分段为空,且目前在快照中是最后的分段(步骤930)。然后,同步写入新分段头部(步骤932)。此外,标记前一个分段,以使其指向作为下一个分段的新分段(步骤934)。下面,同步写入前一个分段的头部(步骤936)。同步写入这些分段的头部,并按这种特定顺序,从而确保在它们都被写入盘上之前不会出现***崩溃。该文件***恢复过程依赖于能够确定在该列表中最后写入的分段。然后,将新分段标记为当前分段(步骤938)。之后,过程进行到如上所述的步骤920。
图10-13的流程图描述了用于将文件***恢复到一致状态的恢复过程。本发明的机制提供了用于保留当发生文件***的恢复或修复时的快照的方法。
通过遍历(walking)前映像数据分段的链表以找出已拷贝到快照中的文件***块,从而重构摘要映像页的拷贝状态。此外,以下所描述的过程通过恢复或修复过程对文件***数据块的任何写入或删除执行写入时拷贝和删除时拷贝处理。在未安装文件***的条件下出现***崩溃或掉电后,文件***元数据将处在不一致的状态。例如,可能已刷新某些块到盘中,而其他块未刷新到盘中。使用恢复/修复过程(fsck代码或日志重写(logredo))将***文件元数据恢复到一致状态。该状态不必与当前快照的状态相同。内核侧(kernel-side)代码不对不一致状态的文件***进行处理,从而,文件***在其能够被再次安装前必须进行修复。此外,以下所描述的过程在运行期间保持有盘上结构状态,以便在中断时能够继续进行恢复和修复。
图10表示根据本发明优选实施例、用于启动恢复过程的过程。可在诸如图3所示恢复UI 306之类的过程中实现该过程。
过程以读取从超级块所指向的第一分段头部而开始(步骤1000)。该超级块例如为在图5中的快照超级块502。其次,选出在分段中未处理的sLog项(步骤1002)。该项等效于如图8中所示sLog项。然后,确定该选出的分段是否为快照分段表中最后的分段(步骤1004)。如果这就是最后的分段,则通过检查校验和来确定是否已拷贝了数据块(步骤1006)。利用步骤1006确定在***暂停之前前映像是否完全写到盘上。例如,如果来自文件***的数据块未拷贝到快照,而数据块的元数据已写入到快照中且***崩溃,校验和将不匹配。在这种情形中,数据块未拷贝到快照中,而在文件***上的数据块保持完整,这是由于在这种情形中数据块在文件***上未被修改。由于分段头部的同步写入,该校验只在最后分段上是必需的。
接下来,确定在项中的校验和是否正确(步骤1008)。如果校验和正确,则确定数据块是否标记为在sMap中已拷贝(步骤1010)。如果数据块当前未标记为在sMap中已拷贝,则现在将该数据块标记为在sMap中已拷贝(步骤1012)。
此外,确定对该分段是否存在任何附加项(步骤1018)。如果对该分段存在附加项,则确定是否存在另一个未处理的分段(步骤1020)。如果存在另一个未处理的分段,则读取下一个未处理的分段(步骤1022)。然后,过程进行到以上所述的步骤1002。回到步骤1018,如果对分段存在更多未处理的项,则过程还进行到如上所述的步骤1002。
回到步骤1020,如果不存在另一未处理的分段,则开始进行恢复处理(步骤1014)。其次,启动运行时处理过程(步骤1016),之后过程终止。步骤1014与图12中的步骤1208或图13中的步骤1306相同。步骤1016与图12中的步骤1214或图13中的步骤1312相同。
回到步骤1004,如果这不是最后的分段,则过程进行到如上所述的步骤1010。回到步骤1008,如果校验和不正确,则过程进行到如上所述的步骤1014。在步骤1010中,如果块被标记为在sMap中已拷贝,则过程进行到如上所述的步骤1018。
下面,参看图11,根据本发明优选实施例,表示用于检查文件***的过程。图11中的过程可被实现到恢复UI(如在图3中的恢复UI306)中。该过程表示当启动文件***恢复如fsck代码时的流程。
过程以运行日志重写而开始(步骤1102)。用于日志重写所执行的步骤在后面的图13中进行更详细的描述。其次,确定是否请求了快速文件***检查以及文件***是否标记为干净(clean)。检查文件***超级块,以确定文件***是否干净。如果日志重写不能修复文件***,则状态将被标记为脏(dirty)。如果快速文件***检查未被请求或标记为干净,则运行文件***(步骤1106),之后,过程终止。文件***检查步骤将在后面的图12中进行更详细地描述。回到步骤1104,如果快速文件***检查被请求,以及文件***被标记为脏,则之后过程终止。
在图12中,根据本发明优选实施例,表示用于对文件***执行文件***检查恢复过程的过程。文件***检查恢复过程是通过查看所有***元数据来验证和修复文件***元数据使之具有一致性的方法。该过程还被称为fsck。在图12中的过程可被实现到恢复UI(如在图3中的恢复UI 306)中。
过程以确定文件***检查是否具有文件***写入许可而开始(步骤1202)。如果文件***检查具有文件***写入许可,则将运行时结构初始化以与快照连接(步骤1204)。运行时结构是用于保持所要在恢复操作期间写入到快照中的数据的缓冲区。
接下来,通过遍历分段表来重构sMap页(步骤1206)。参照在图10中的步骤1000-1014以及1018-1022更详细地描述了步骤1206。由于在运行期间sMap页被异步写入,从而恢复sMap页。sMap页没有必要具有文件***块的正确拷贝状态。之后,继续进行正常的读/写(rw)文件***处理(步骤1208)。在步骤1208期间,fsck代码查看所有文件***元数据,并确定在***文件元数据中是否存在任何不一致性。如果fsck代码找到任何不一致性,则fsck代码确定如何修复文件***元数据。fsck代码或去除文件***对象,或尝试修复文件***对象的元数据。去除将导致COD,修复将导致COW。
然后,确定文件***检查是否通过写入时拷贝(COW)操作或删除时拷贝(COD)操作来修改文件***(步骤1210)。如果文件***检查不通过COW操作或COD操作修改文件***,则通过刷新sMap页的任何缓冲写入到盘上而关闭快照(步骤1212),之后,过程终止。
回到步骤1202,如果文件***检查不具有文件***写入许可,则继续进行不具有快照交互的只读文件***检查(步骤1216),之后,过程终止。在只读检查期间,fsck代码查看所有文件***元数据,如果找到任何不一致性,则发出告警消息。它不对文件***做任何修改。回到步骤1210,如果文件***检查通过COW操作或COD操作修改文件***,那么,假如文件***块已被拷贝到快照中,则执行运行时检查(步骤1214),然后,过程进行到如上所述的步骤1208。该检查采用与图9A和9B所述相同的方式进行。它是在与当前运行在图3所示恢复UI 306中的fsck代码过程相同的过程下进行。
下面,参看图13,根据本发明优选实施例,表示用于对写有日志的文件***执行日志重写恢复过程的过程。图13中的过程可被实现到恢复UI(如图3中的恢复UI 306)中。
过程以初始化运行时结构以与快照连接而开始(步骤1302)。接下来,通过遍历分段表来重构sMap页(步骤1304)。参照在图10中的步骤1000-1014以及1018-1022更详细地描述了步骤1304。之后,继续进行正常的日志重写处理(步骤1306)。读取与文件***相关的日志记录。文件***使用数据库日志技术,以通过在日志记录中跟踪文件***元数据的变化,从而保持文件***的结构一致性。重现日志记录。每个日志记录包含关于文件***元数据变化的信息。通过重现日志记录,根据日志记录来修改文件***元数据。将从日志结束起始并且反向移动的所有日志记录重现,直至到达最近的同步点。其次,确定日志重写是否通过COW操作或COD操作来修改文件***(步骤1308)。如果日志重写不通过COW操作或COD操作修改文件***,则通过刷新sMap页的任何缓冲写入到盘上而关闭快照(步骤1310),之后,过程终止。
回到步骤1308,如果日志重写通过COW操作或COD操作修改文件***,那么,执行运行时检查以确定文件***数据块是否已被拷贝到快照中(步骤1312)。与fsck代码类似,步骤1312等效于先前在图9A和9B所述的过程。然后,过程进行到如上所述的步骤1306。
从而,本发明提供了用于从***崩溃恢复,并保持通过本发明的过程所创建的文件***快照的改进型方法,装置和计算机指令。本发明的机制动态更新文件***的快照。将关于在文件***中进行修改的数据块的元数据包括在快照中。在这些示例中,修改为在文件***中对数据块的写入和删除操作。在文件***中对数据块执行修改操作之前,将要经受这样操作的数据块拷贝到快照中。此外,在修改之前,将诸如在文件***中数据块的位置之类的数据,以及在快照中数据块的位置,包括在快照中。数据块被写入到快照之前,将关于数据块的元数据写入到快照中。写入到快照中的数据块用于该数据块的前映像,这是由于在创建快照时它已存在于文件***中。在文件***中的数据块的修改发生在元数据以及数据块的前映像写入快照之后。该修改导致数据块的“后映像”版本。如果想要将文件***的状态恢复到创建快照时的状态,则可使用快照进行恢复。
重要的是应注意,虽然针对全功能的数据处理***描述了本发明,然而本领域普通技术人员应该理解,本发明的处理能够以指令的计算机可读介质的形式以及多种形式分布,并且无论实际用于实现分布的信号承载介质的具体类型如何,本发明均同样适用。计算机可读介质的示例包括可记录型介质,如软盘,硬盘驱动器,RAM,CD-ROM,DVD-ROM,和传输型介质,诸如使用例如无线电频率和光波传输的传输形式的数据和模拟通信链路,有线或无线通信链路。计算机可读介质可采用编码格式的形式,该格式在具体数据处理***中为实际应用而进行解码。
本发明的描述是出于说明及描述的目的,并不意在以所批露的形式详尽列举出本发明或限制本发明。显而易见,本领域普通技术人员能够易于想到多种修改和变形。所选及所述实施例是旨在更好地说明本发明的原理以及实际应用,并使本领域其他普通技术人员能够想到本发明的多种修改的多种实施例,这些修改的实施例适用于他们所想到的具体应用。
Claims (24)
1.一种在数据处理***中用于管理文件***中的数据的方法,所述方法包括:
检测用于修改在文件***中的数据块的请求;
当检测到所述请求时,将描述文件***中的数据块的元数据写入快照映像中;
将文件***中数据块的数据拷贝到快照映像中;以及
当将数据块中的数据拷贝到快照映像中之后,修改在文件***中的数据块,其中所述快照映像可用于将文件***返回到修改文件***中的数据块之前的状态。
2.根据权利要求1的方法,其中,拷贝步骤包括:
将用于定位数据的信息标识存储在快照映像内的表中,其中,所述表用于定位在文件***中的不同数据块。
3.根据权利要求1的方法,其中,快照映像包括快照摘要映像,快照映像和一组分段,且其中摘要映像标识快照映像中快照映像页的初始化状态,快照映像包含快照映像页,所述快照映像页标识在文件***中现用的数据块,所述分段组包括来自文件***的数据块的拷贝。
4.根据权利要求1的方法,其中,元数据包括快照摘要映像,摘要映像,和分段头部。
5.根据权利要求4的方法,其中,所选事件为当在修改文件***中的数据块时数据处理***的失效。
6.根据权利要求4的方法,其中,所选事件为请求将文件***恢复到一致状态的用户输入。
7.根据权利要求1的方法,其中,写入步骤包括:
在由快照映像组所引用的任何前映像数据块被写入到快照映像之前,将快照映像组的快照映像项的现用状态写入到快照映像中。
8.根据权利要求7的方法,其中,写入步骤还包括:
当将快照映像组的数据块的现用状态写入到快照映像后,将摘要快照映像项标记为被初始化,并标记快照映像组的位置。
9.根据权利要求8的方法,其中,写入步骤还包括:
在将前一个分段修改为指向分段表中新的最后分段之前,初始化该新的最后分段的分段头部。
10.根据权利要求4的方法,其中,快照映像包括快照映像页,且其中在恢复操作期间重构所述快照映像页。
11.根据权利要求10的方法,其中,由恢复操作处理文件***中将由恢复操作修改的数据块的前映像的拷贝。
12.一种用于管理文件***中的数据的数据处理***,所述数据处理***包括:
检测装置,用于检测修改文件***中的数据块的请求;
写入装置,当检测到所述请求时,用于将描述文件***中的数据块的元数据写入快照映像中;
拷贝装置,当检测到所述请求时,用于将文件***中数据块的数据拷贝到快照映像中;以及
修改装置,当将数据块中的数据拷贝到快照映像中之后,用于修改在文件***中的数据块,其中,所述快照映像可用于将文件***返回到修改文件***中的数据块之前的状态。
13.根据权利要求12的数据处理***,其中,拷贝装置包括:
存储装置,用于在快照映像内的表中存储用于定位数据的信息标识,其中,所述表用于定位文件***中的不同数据块。
14.根据权利要求12的数据处理***,其中,快照映像包括快照摘要映像,快照映像,和一组分段,且其中摘要映像标识快照映像中快照映像页的初始化状态,快照映像包含快照映像页,所述快照映像页标识文件***中的现用数据块,所述分段组包括来自文件***的数据块的拷贝。
15.根据权利要求12的数据处理***,其中,元数据包括快照摘要映像,摘要映像,和分段头部。
16.根据权利要求15的数据处理***,其中,所选事件为当修改文件***的数据块时数据处理***的失效。
17.根据权利要求15的数据处理***,其中,所选事件为请求将文件***恢复到一致状态的用户输入。
18.一种在计算机可读介质中、用于在数据处理***中管理文件***中的数据的计算机程序产品,所述计算机程序产品包括:
第一指令,用于检测修改文件***中的数据块的请求;
第二指令,当检测到所述请求时,用于将描述文件***中的数据块的元数据写入快照映像中;
第三指令,当检测到所述请求时,用于将文件***中数据块的数据拷贝到快照映像中;
第四指令,用于当将数据块中的数据拷贝到快照映像中之后修改文件***中的数据块,其中,所述快照映像可用于将文件***返回到修改文件***中的数据块之前的状态。
19.根据权利要求18的计算机程序产品,其中,第三指令包括:
子指令,用于在快照映像中的表中存储用于定位数据的信息标识,其中,所述表用于定位文件***中的不同数据块。
20.根据权利要求18的计算机程序产品,其中,快照映像包括快照摘要映像,快照映像,和一组分段,且其中,摘要映像用于标识快照映像中快照映像页的初始化状态,快照映像包含快照映像页,所述快照映像页标识文件***的现用数据块或拷贝到快照中的数据块,所述分段组包括来自文件***的数据块的拷贝。
21.根据权利要求18的计算机程序产品,其中,元数据包括快照摘要映像,摘要映像,和分段头部。
22.根据权利要求21的计算机程序产品,其中,所选事件为当修改文件***中的数据块时数据处理***的失效。
23.根据权利要求21的计算机程序产品,其中,所选事件为用于将文件***恢复到一致状态的用户输入。
24.一种数据处理***,所述数据处理***包括:
总线***;
与所述总线***连接的存储器,其中,所述存储器包括一组指令;和
与总线***相连的处理单元,其中处理单元执行一组指令,所述指令用于:检测用于修改文件***中的数据块的请求;当检测到所述请求时,将描述文件***中的数据块的元数据写入快照映像中;当检测到所述请求时,将文件***中数据块的数据拷贝到快照映像中;当将数据块中的数据拷贝到快照映像中之后修改文件***中的数据块,其中,所述快照映像可用于将文件***返回到修改文件***中的数据块之前的状态。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/777,719 | 2004-02-12 | ||
US10/777,719 US7440966B2 (en) | 2004-02-12 | 2004-02-12 | Method and apparatus for file system snapshot persistence |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1655146A true CN1655146A (zh) | 2005-08-17 |
CN100478946C CN100478946C (zh) | 2009-04-15 |
Family
ID=34838047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100064254A Expired - Fee Related CN100478946C (zh) | 2004-02-12 | 2005-01-31 | 用于文件***快照持久性的方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7440966B2 (zh) |
JP (1) | JP4256851B2 (zh) |
CN (1) | CN100478946C (zh) |
SG (1) | SG114691A1 (zh) |
TW (1) | TWI339790B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100541441C (zh) * | 2007-11-09 | 2009-09-16 | 中国科学院计算技术研究所 | 一种计算机文件***的快照创建、删除及修改方法 |
CN102200920A (zh) * | 2010-03-23 | 2011-09-28 | 三星电子株式会社 | 程序编译器、程序安装器和程序安装方法 |
CN102722536A (zh) * | 2012-05-22 | 2012-10-10 | 中兴通讯股份有限公司 | 基于分布式文件***的快照实现方法及装置 |
CN103403679A (zh) * | 2011-12-31 | 2013-11-20 | 华为技术有限公司 | 易失性存储设备持久化过程中的数据更新方法及装置 |
CN103440181A (zh) * | 2013-09-06 | 2013-12-11 | 珠海金山网络游戏科技有限公司 | 一种文件修改的方法及*** |
CN103473251A (zh) * | 2012-06-05 | 2013-12-25 | 国际商业机器公司 | 在使用处理器件的计算环境中提供使用选择性元组版本化的文件***快照的方法和*** |
CN103823769A (zh) * | 2012-11-19 | 2014-05-28 | 纬创资通股份有限公司 | 计算机***及数据回复方法 |
CN106164866A (zh) * | 2014-04-08 | 2016-11-23 | 微软技术许可有限责任公司 | 客户端侧web状态的高效迁移 |
US9747317B2 (en) | 2012-06-05 | 2017-08-29 | International Business Machines Corporation | Preserving past states of file system nodes |
CN107544871A (zh) * | 2017-07-21 | 2018-01-05 | 新华三云计算技术有限公司 | 一种虚拟机磁盘备份方法及装置 |
Families Citing this family (112)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7685126B2 (en) | 2001-08-03 | 2010-03-23 | Isilon Systems, Inc. | System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system |
US7146524B2 (en) | 2001-08-03 | 2006-12-05 | Isilon Systems, Inc. | Systems and methods for providing a distributed file system incorporating a virtual hot spare |
US7937421B2 (en) * | 2002-11-14 | 2011-05-03 | Emc Corporation | Systems and methods for restriping files in a distributed file system |
US8055711B2 (en) | 2004-10-29 | 2011-11-08 | Emc Corporation | Non-blocking commit protocol systems and methods |
US8238350B2 (en) | 2004-10-29 | 2012-08-07 | Emc Corporation | Message batching with checkpoints systems and methods |
US8051425B2 (en) | 2004-10-29 | 2011-11-01 | Emc Corporation | Distributed system with asynchronous execution systems and methods |
US7571153B2 (en) * | 2005-03-28 | 2009-08-04 | Microsoft Corporation | Systems and methods for performing streaming checks on data format for UDTs |
US7814057B2 (en) * | 2005-04-05 | 2010-10-12 | Microsoft Corporation | Page recovery using volume snapshots and logs |
US7672979B1 (en) * | 2005-04-22 | 2010-03-02 | Symantec Operating Corporation | Backup and restore techniques using inconsistent state indicators |
US20060282471A1 (en) * | 2005-06-13 | 2006-12-14 | Mark Timothy W | Error checking file system metadata while the file system remains available |
TW200700982A (en) * | 2005-06-21 | 2007-01-01 | Farstone Tech Inc | Computer protection system and method thereof |
US20070033356A1 (en) * | 2005-08-03 | 2007-02-08 | Boris Erlikhman | System for Enabling Secure and Automatic Data Backup and Instant Recovery |
US7464114B2 (en) * | 2005-09-27 | 2008-12-09 | International Business Machines Corporation | Method and apparatus to capture and transmit dense diagnostic data of a file system |
US7917474B2 (en) | 2005-10-21 | 2011-03-29 | Isilon Systems, Inc. | Systems and methods for accessing and updating distributed data |
US7551572B2 (en) | 2005-10-21 | 2009-06-23 | Isilon Systems, Inc. | Systems and methods for providing variable protection |
US7788303B2 (en) | 2005-10-21 | 2010-08-31 | Isilon Systems, Inc. | Systems and methods for distributed system scanning |
US7797283B2 (en) | 2005-10-21 | 2010-09-14 | Isilon Systems, Inc. | Systems and methods for maintaining distributed data |
US7657550B2 (en) | 2005-11-28 | 2010-02-02 | Commvault Systems, Inc. | User interfaces and methods for managing data in a metabase |
US7822749B2 (en) | 2005-11-28 | 2010-10-26 | Commvault Systems, Inc. | Systems and methods for classifying and transferring information in a storage network |
KR100762689B1 (ko) * | 2005-12-08 | 2007-10-01 | 삼성에스디아이 주식회사 | 휴대용 표시장치 |
US8930496B2 (en) | 2005-12-19 | 2015-01-06 | Commvault Systems, Inc. | Systems and methods of unified reconstruction in storage systems |
US20200257596A1 (en) | 2005-12-19 | 2020-08-13 | Commvault Systems, Inc. | Systems and methods of unified reconstruction in storage systems |
US7848261B2 (en) | 2006-02-17 | 2010-12-07 | Isilon Systems, Inc. | Systems and methods for providing a quiescing protocol |
US7756898B2 (en) | 2006-03-31 | 2010-07-13 | Isilon Systems, Inc. | Systems and methods for notifying listeners of events |
US7971091B1 (en) * | 2006-05-02 | 2011-06-28 | Emc Corporation | Network configuration backup and restore operations using continuous data protection |
TWI316188B (en) * | 2006-05-17 | 2009-10-21 | Ind Tech Res Inst | Mechanism and method to snapshot data |
US8539056B2 (en) | 2006-08-02 | 2013-09-17 | Emc Corporation | Systems and methods for configuring multiple network interfaces |
US7590652B2 (en) | 2006-08-18 | 2009-09-15 | Isilon Systems, Inc. | Systems and methods of reverse lookup |
US7899800B2 (en) | 2006-08-18 | 2011-03-01 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
US7953704B2 (en) * | 2006-08-18 | 2011-05-31 | Emc Corporation | Systems and methods for a snapshot of data |
US7882071B2 (en) | 2006-08-18 | 2011-02-01 | Isilon Systems, Inc. | Systems and methods for a snapshot of data |
US7680842B2 (en) | 2006-08-18 | 2010-03-16 | Isilon Systems, Inc. | Systems and methods for a snapshot of data |
US7680836B2 (en) | 2006-08-18 | 2010-03-16 | Isilon Systems, Inc. | Systems and methods for a snapshot of data |
US7676691B2 (en) | 2006-08-18 | 2010-03-09 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
US7822932B2 (en) | 2006-08-18 | 2010-10-26 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
US7882077B2 (en) | 2006-10-17 | 2011-02-01 | Commvault Systems, Inc. | Method and system for offline indexing of content and classifying stored data |
US8370442B2 (en) | 2008-08-29 | 2013-02-05 | Commvault Systems, Inc. | Method and system for leveraging identified changes to a mail server |
KR100912126B1 (ko) | 2006-12-04 | 2009-08-13 | 한국전자통신연구원 | 객체 기반 파일 시스템의 파일셋의 스냅샷 제공 방법 |
US20080155191A1 (en) * | 2006-12-21 | 2008-06-26 | Anderson Robert J | Systems and methods for providing heterogeneous storage systems |
US8286029B2 (en) | 2006-12-21 | 2012-10-09 | Emc Corporation | Systems and methods for managing unavailable storage devices |
US20080228771A1 (en) | 2006-12-22 | 2008-09-18 | Commvault Systems, Inc. | Method and system for searching stored data |
US7593938B2 (en) | 2006-12-22 | 2009-09-22 | Isilon Systems, Inc. | Systems and methods of directory entry encodings |
US7509448B2 (en) | 2007-01-05 | 2009-03-24 | Isilon Systems, Inc. | Systems and methods for managing semantic locks |
US7730090B2 (en) * | 2007-03-09 | 2010-06-01 | Emc Corporation | Architecture for performing file system checking on an active file system |
US7818302B2 (en) * | 2007-03-09 | 2010-10-19 | Emc Corporation | System and method for performing file system checks on an active file system |
US8966080B2 (en) | 2007-04-13 | 2015-02-24 | Emc Corporation | Systems and methods of managing resource utilization on a threaded computer system |
US7779048B2 (en) | 2007-04-13 | 2010-08-17 | Isilon Systems, Inc. | Systems and methods of providing possible value ranges |
US7900015B2 (en) | 2007-04-13 | 2011-03-01 | Isilon Systems, Inc. | Systems and methods of quota accounting |
US7702662B2 (en) * | 2007-05-16 | 2010-04-20 | International Business Machines Corporation | Method and system for handling reallocated blocks in a file system |
US7921081B2 (en) * | 2007-05-30 | 2011-04-05 | International Business Machines Corporation | Managing a snapshot stored within a file system space for efficient detection of in-use blocks |
US8554734B1 (en) * | 2007-07-19 | 2013-10-08 | American Megatrends, Inc. | Continuous data protection journaling in data storage systems |
US7882068B2 (en) | 2007-08-21 | 2011-02-01 | Isilon Systems, Inc. | Systems and methods for adaptive copy on write |
US7949692B2 (en) | 2007-08-21 | 2011-05-24 | Emc Corporation | Systems and methods for portals into snapshot data |
US7966289B2 (en) | 2007-08-21 | 2011-06-21 | Emc Corporation | Systems and methods for reading objects in a file system |
US8296301B2 (en) | 2008-01-30 | 2012-10-23 | Commvault Systems, Inc. | Systems and methods for probabilistic data classification |
US7836174B2 (en) | 2008-01-30 | 2010-11-16 | Commvault Systems, Inc. | Systems and methods for grid-based data scanning |
WO2009107506A1 (en) * | 2008-02-29 | 2009-09-03 | Kabushiki Kaisha Toshiba | Memory system |
JP2009217404A (ja) * | 2008-03-07 | 2009-09-24 | Hitachi Ltd | ストレージシステム |
US7949636B2 (en) | 2008-03-27 | 2011-05-24 | Emc Corporation | Systems and methods for a read only mode for a portion of a storage system |
US7953709B2 (en) * | 2008-03-27 | 2011-05-31 | Emc Corporation | Systems and methods for a read only mode for a portion of a storage system |
US7870345B2 (en) | 2008-03-27 | 2011-01-11 | Isilon Systems, Inc. | Systems and methods for managing stalled storage devices |
US7984324B2 (en) | 2008-03-27 | 2011-07-19 | Emc Corporation | Systems and methods for managing stalled storage devices |
US8856552B2 (en) * | 2008-03-31 | 2014-10-07 | Cleversafe, Inc. | Directory synchronization of a dispersed storage network |
CN101983376B (zh) * | 2008-04-04 | 2014-04-09 | 松下电器产业株式会社 | 访问装置、信息记录装置、信息记录***、文件管理方法和程序 |
US8301602B1 (en) * | 2008-05-01 | 2012-10-30 | Emc Corporation | Detection of inconsistencies in a file system |
JP5205164B2 (ja) * | 2008-07-29 | 2013-06-05 | 株式会社日立製作所 | ファイルシステム管理装置及び方法 |
KR100926098B1 (ko) * | 2008-11-18 | 2009-11-11 | 주식회사 네오플 | 스냅샷 데이터베이스를 이용한 정보 복구 방법 및 장치 |
US8832684B2 (en) * | 2009-06-18 | 2014-09-09 | The Johns Hopkins University | Methods for improving atomicity of runtime inspections |
US8433865B2 (en) | 2009-12-11 | 2013-04-30 | Microsoft Corporation | Consistency without ordering dependency |
WO2011082113A1 (en) | 2009-12-31 | 2011-07-07 | Commvault Systems, Inc. | Asynchronous methods of data classification using change journals and other data structures |
KR101651204B1 (ko) | 2010-06-15 | 2016-08-26 | 삼성전자주식회사 | 스냅샷 이미지의 동기화 장치 및 방법 |
US8793440B2 (en) | 2010-06-17 | 2014-07-29 | Microsoft Corporation | Error detection for files |
US8719264B2 (en) | 2011-03-31 | 2014-05-06 | Commvault Systems, Inc. | Creating secondary copies of data based on searches for content |
US9996540B2 (en) * | 2011-03-31 | 2018-06-12 | EMC IP Holding Company LLC | System and method for maintaining consistent points in file systems using a prime dependency list |
US8832394B2 (en) | 2011-03-31 | 2014-09-09 | Emc Corporation | System and method for maintaining consistent points in file systems |
US10210169B2 (en) * | 2011-03-31 | 2019-02-19 | EMC IP Holding Company LLC | System and method for verifying consistent points in file systems |
US10423509B2 (en) | 2011-08-05 | 2019-09-24 | Entit Software Llc | System and method for managing environment configuration using snapshots |
US8776094B2 (en) | 2011-08-11 | 2014-07-08 | Microsoft Corporation | Runtime system |
WO2013057222A2 (en) | 2011-10-18 | 2013-04-25 | Institut National De La Recherche Agronomique | Use of avermectin derivative for increasing bioavailability and efficacy of macrocylic lactones |
US9542279B2 (en) * | 2011-11-07 | 2017-01-10 | Sap Se | Shadow paging based log segment directory |
US8892523B2 (en) | 2012-06-08 | 2014-11-18 | Commvault Systems, Inc. | Auto summarization of content |
US20140215149A1 (en) * | 2013-01-31 | 2014-07-31 | Lsi Corporation | File-system aware snapshots of stored data |
US10180951B2 (en) * | 2013-03-15 | 2019-01-15 | Amazon Technologies, Inc. | Place snapshots |
WO2015066698A1 (en) * | 2013-11-04 | 2015-05-07 | Falconstor, Inc. | Snapshots using copy on predicted write |
CN103617097B (zh) * | 2013-11-19 | 2017-07-07 | 华为技术有限公司 | 文件恢复方法及装置 |
US20150178297A1 (en) * | 2013-12-24 | 2015-06-25 | International Business Machines Corporation | Method to Preserve Shared Blocks when Moved |
WO2015116023A1 (en) * | 2014-01-28 | 2015-08-06 | Hewlett-Packard Development Company, L.P. | Online file system metadata analysis and correction |
US10635504B2 (en) | 2014-10-16 | 2020-04-28 | Microsoft Technology Licensing, Llc | API versioning independent of product releases |
US9558078B2 (en) | 2014-10-28 | 2017-01-31 | Microsoft Technology Licensing, Llc | Point in time database restore from storage snapshots |
US10311234B2 (en) * | 2015-06-26 | 2019-06-04 | Quick Heal Technologies Private Limited | Anti-ransomware |
US10540516B2 (en) | 2016-10-13 | 2020-01-21 | Commvault Systems, Inc. | Data protection within an unsecured storage environment |
US10922189B2 (en) | 2016-11-02 | 2021-02-16 | Commvault Systems, Inc. | Historical network data-based scanning thread generation |
US10389810B2 (en) | 2016-11-02 | 2019-08-20 | Commvault Systems, Inc. | Multi-threaded scanning of distributed file systems |
US10984041B2 (en) | 2017-05-11 | 2021-04-20 | Commvault Systems, Inc. | Natural language processing integrated with database and data storage management |
US10331374B2 (en) * | 2017-06-30 | 2019-06-25 | Oracle International Corporation | High-performance writable snapshots in data storage systems |
US20190251204A1 (en) | 2018-02-14 | 2019-08-15 | Commvault Systems, Inc. | Targeted search of backup data using calendar event data |
US10642886B2 (en) | 2018-02-14 | 2020-05-05 | Commvault Systems, Inc. | Targeted search of backup data using facial recognition |
US11159469B2 (en) | 2018-09-12 | 2021-10-26 | Commvault Systems, Inc. | Using machine learning to modify presentation of mailbox objects |
US20200241781A1 (en) | 2019-01-29 | 2020-07-30 | Dell Products L.P. | Method and system for inline deduplication using erasure coding |
US11442642B2 (en) | 2019-01-29 | 2022-09-13 | Dell Products L.P. | Method and system for inline deduplication using erasure coding to minimize read and write operations |
US11093347B2 (en) * | 2019-04-16 | 2021-08-17 | EMC IP Holding Company LLC | File system restoration using block-based snapshots and file system consistency check |
US10921986B2 (en) | 2019-05-14 | 2021-02-16 | Oracle International Corporation | Efficient space management for high performance writable snapshots |
CN110362534B (zh) * | 2019-07-22 | 2023-05-12 | 深信服科技股份有限公司 | 一种快照验证方法、***及电子设备和存储介质 |
US11328071B2 (en) | 2019-07-31 | 2022-05-10 | Dell Products L.P. | Method and system for identifying actor of a fraudulent action during legal hold and litigation |
US11372730B2 (en) | 2019-07-31 | 2022-06-28 | Dell Products L.P. | Method and system for offloading a continuous health-check and reconstruction of data in a non-accelerator pool |
US11609820B2 (en) | 2019-07-31 | 2023-03-21 | Dell Products L.P. | Method and system for redundant distribution and reconstruction of storage metadata |
US11775193B2 (en) | 2019-08-01 | 2023-10-03 | Dell Products L.P. | System and method for indirect data classification in a storage system operations |
US11416357B2 (en) | 2020-03-06 | 2022-08-16 | Dell Products L.P. | Method and system for managing a spare fault domain in a multi-fault domain data cluster |
US11301327B2 (en) | 2020-03-06 | 2022-04-12 | Dell Products L.P. | Method and system for managing a spare persistent storage device and a spare node in a multi-node data cluster |
US11281535B2 (en) * | 2020-03-06 | 2022-03-22 | Dell Products L.P. | Method and system for performing a checkpoint zone operation for a spare persistent storage |
US11418326B2 (en) | 2020-05-21 | 2022-08-16 | Dell Products L.P. | Method and system for performing secure data transactions in a data cluster |
US11494417B2 (en) | 2020-08-07 | 2022-11-08 | Commvault Systems, Inc. | Automated email classification in an information management system |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5369757A (en) | 1991-06-18 | 1994-11-29 | Digital Equipment Corporation | Recovery logging in the presence of snapshot files by ordering of buffer pool flushing |
EP1003103B1 (en) * | 1993-06-03 | 2008-10-01 | Network Appliance, Inc. | Write anywhere file-system layout method and apparatus |
US5978565A (en) | 1993-07-20 | 1999-11-02 | Vinca Corporation | Method for rapid recovery from a network file server failure including method for operating co-standby servers |
US5713024A (en) | 1994-06-10 | 1998-01-27 | Exabyte Corporation | Cold boot data backup system |
US5854896A (en) | 1996-06-17 | 1998-12-29 | International Business Machines Corporation | System for preserving logical partitions of distributed parallel processing system after re-booting by mapping nodes to their respective sub-environments |
US6108749A (en) * | 1997-04-18 | 2000-08-22 | Storage Technology Corporation | DASD file copy system for a data processor using a data storage subsystem snapshot copy capability |
EP0985176A1 (en) | 1997-05-01 | 2000-03-15 | Award Software Int., Inc. | Distributed mirroring of data volumes in networked systems |
US5924102A (en) | 1997-05-07 | 1999-07-13 | International Business Machines Corporation | System and method for managing critical files |
US6038639A (en) * | 1997-09-09 | 2000-03-14 | Storage Technology Corporation | Data file storage management system for snapshot copy operations |
KR19990060338A (ko) | 1997-12-31 | 1999-07-26 | 윤종용 | 하드 디스크 드라이브의 바이러스에 의한 손상 데이터복구방법 |
US6205527B1 (en) | 1998-02-24 | 2001-03-20 | Adaptec, Inc. | Intelligent backup and restoring system and method for implementing the same |
JP4081858B2 (ja) | 1998-06-04 | 2008-04-30 | ソニー株式会社 | コンピュータシステム、コンピュータ端末装置、及び記録媒体 |
US6205558B1 (en) | 1998-10-07 | 2001-03-20 | Symantec Corporation | Recovery of file systems after modification failure |
US6490690B1 (en) | 1999-07-22 | 2002-12-03 | International Business Machines Corporation | Method and apparatus for unix system catastrophic recovery aid |
US6496944B1 (en) | 1999-10-06 | 2002-12-17 | International Business Machines Corporation | Method for database assisted file system restore |
US7237075B2 (en) * | 2002-01-22 | 2007-06-26 | Columbia Data Products, Inc. | Persistent snapshot methods |
US7039663B1 (en) * | 2002-04-19 | 2006-05-02 | Network Appliance, Inc. | System and method for checkpointing and restarting an asynchronous transfer of data between a source and destination snapshot |
US6895413B2 (en) * | 2002-03-22 | 2005-05-17 | Network Appliance, Inc. | System and method for performing an on-line check of a file system |
AU2003226220A1 (en) * | 2002-04-03 | 2003-10-20 | Powerquest Corporation | Using disassociated images for computer and storage resource management |
JP4199993B2 (ja) * | 2002-11-27 | 2008-12-24 | 株式会社日立製作所 | スナップショット取得方法 |
US7590807B2 (en) * | 2003-11-03 | 2009-09-15 | Netapp, Inc. | System and method for record retention date in a write once read many storage system |
-
2004
- 2004-02-12 US US10/777,719 patent/US7440966B2/en not_active Expired - Fee Related
- 2004-11-12 TW TW093134681A patent/TWI339790B/zh not_active IP Right Cessation
-
2005
- 2005-01-24 SG SG200500447A patent/SG114691A1/en unknown
- 2005-01-31 CN CNB2005100064254A patent/CN100478946C/zh not_active Expired - Fee Related
- 2005-02-10 JP JP2005034061A patent/JP4256851B2/ja not_active Expired - Fee Related
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100541441C (zh) * | 2007-11-09 | 2009-09-16 | 中国科学院计算技术研究所 | 一种计算机文件***的快照创建、删除及修改方法 |
CN102200920A (zh) * | 2010-03-23 | 2011-09-28 | 三星电子株式会社 | 程序编译器、程序安装器和程序安装方法 |
CN103403679A (zh) * | 2011-12-31 | 2013-11-20 | 华为技术有限公司 | 易失性存储设备持久化过程中的数据更新方法及装置 |
CN103403679B (zh) * | 2011-12-31 | 2016-08-31 | 华为技术有限公司 | 易失性存储设备持久化过程中的数据更新方法及装置 |
CN102722536A (zh) * | 2012-05-22 | 2012-10-10 | 中兴通讯股份有限公司 | 基于分布式文件***的快照实现方法及装置 |
CN102722536B (zh) * | 2012-05-22 | 2015-06-03 | 中兴通讯股份有限公司 | 基于分布式文件***的快照实现方法及装置 |
US9569458B2 (en) | 2012-06-05 | 2017-02-14 | International Business Machines Corporation | Preserving a state using snapshots with selective tuple versioning |
US9747317B2 (en) | 2012-06-05 | 2017-08-29 | International Business Machines Corporation | Preserving past states of file system nodes |
CN103473251A (zh) * | 2012-06-05 | 2013-12-25 | 国际商业机器公司 | 在使用处理器件的计算环境中提供使用选择性元组版本化的文件***快照的方法和*** |
CN103473251B (zh) * | 2012-06-05 | 2017-03-01 | 国际商业机器公司 | 在使用处理器件的计算环境中提供使用选择性元组版本化的文件***快照的方法和*** |
CN103823769B (zh) * | 2012-11-19 | 2017-06-13 | 纬创资通股份有限公司 | 计算机***及数据回复方法 |
CN103823769A (zh) * | 2012-11-19 | 2014-05-28 | 纬创资通股份有限公司 | 计算机***及数据回复方法 |
CN103440181A (zh) * | 2013-09-06 | 2013-12-11 | 珠海金山网络游戏科技有限公司 | 一种文件修改的方法及*** |
CN106164866A (zh) * | 2014-04-08 | 2016-11-23 | 微软技术许可有限责任公司 | 客户端侧web状态的高效迁移 |
CN106164866B (zh) * | 2014-04-08 | 2020-01-10 | 微软技术许可有限责任公司 | 客户端侧web状态的高效迁移 |
CN107544871A (zh) * | 2017-07-21 | 2018-01-05 | 新华三云计算技术有限公司 | 一种虚拟机磁盘备份方法及装置 |
CN107544871B (zh) * | 2017-07-21 | 2020-10-02 | 新华三云计算技术有限公司 | 一种虚拟机磁盘备份方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
SG114691A1 (en) | 2005-09-28 |
JP4256851B2 (ja) | 2009-04-22 |
TWI339790B (en) | 2011-04-01 |
TW200528969A (en) | 2005-09-01 |
CN100478946C (zh) | 2009-04-15 |
JP2005228329A (ja) | 2005-08-25 |
US7440966B2 (en) | 2008-10-21 |
US20050182797A1 (en) | 2005-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100478946C (zh) | 用于文件***快照持久性的方法和装置 | |
US8838875B2 (en) | Systems, methods and computer program products for operating a data processing system in which a file delete command is sent to an external storage device for invalidating data thereon | |
US10599337B2 (en) | Method and device for writing data and acquiring data in a distributed storage system | |
US8499013B2 (en) | FAT directory structure for use in transaction safe file system | |
US6823436B2 (en) | System for conserving metadata about data snapshots | |
US11782632B2 (en) | Selective erasure of data in a SSD | |
US8856469B2 (en) | Apparatus and method for logging optimization using non-volatile memory | |
US8190657B2 (en) | Method and system for handling reallocated blocks in a file system | |
US9009428B2 (en) | Data store page recovery | |
US9703816B2 (en) | Method and system for forward reference logging in a persistent datastore | |
KR100317691B1 (ko) | 로그 구조화 목표 저장장치를 사전에 구성하여 볼륨을 효율적으로 복사하는 방법 및 장치 | |
US8250035B1 (en) | Methods and apparatus for creating a branch file in a file system | |
US9286320B2 (en) | System and method for maintaining consistency among metadata elements of filesystem's logical objects | |
CN1900928A (zh) | 用于访问文件***快照和文件***的方法 | |
US9305049B2 (en) | Addressing cross-allocated blocks in a file system | |
US20100088271A1 (en) | Hsm two-way orphan reconciliation for extremely large file systems | |
US11200122B2 (en) | Barrierless snapshots | |
KR20170023734A (ko) | 플래시 메모리 플러싱을 개선하는 방법 및 시스템 | |
US20120254117A1 (en) | Reducing a Backup Time of a Backup of Data Files | |
US8086580B2 (en) | Handling access requests to a page while copying an updated page of data to storage | |
US20190108104A1 (en) | System and method for managing storage transaction requests | |
US9740632B1 (en) | Snapshot efficiency | |
WO2022224451A1 (ja) | 管理装置、データベースシステム、管理方法およびプログラム | |
US11194760B1 (en) | Fast object snapshot via background processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090415 Termination date: 20220131 |