CN102567140B - 使用变化日志的文件系统备份 - Google Patents
使用变化日志的文件系统备份 Download PDFInfo
- Publication number
- CN102567140B CN102567140B CN201110395113.2A CN201110395113A CN102567140B CN 102567140 B CN102567140 B CN 102567140B CN 201110395113 A CN201110395113 A CN 201110395113A CN 102567140 B CN102567140 B CN 102567140B
- Authority
- CN
- China
- Prior art keywords
- record
- change
- file system
- file
- namespace
- 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.)
- Active
Links
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/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- 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
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- 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/1458—Management of the backup or restore process
-
- 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/113—Details of archiving
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- 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
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)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
这里描述的主题方面涉及备份和变化日志。在一些方面中,变化日志被读取,以便确定文件系统的对象发生的变化。从这些变化中创建数据结构,以便获取路径信息和收集每一个对象的变化。如果该数据结构不足以识别完整的路径,则查询活动的文件系统。在数据结构完成之后,数据保护引擎使用该数据结构来更新编目,以便至少提供查看该编目所覆盖的一个或多个时间的受保护对象的命名空间的能力。
Description
发明背景
很多用过计算机的人都会认识到备份驻留在计算机上的数据的价值。一种用于在计算机上执行数据备份的方法是让计算机处于离线状态,运行备份应用来拷贝计算机上的数据,然后将计算机返回到在线状态。由于在执行备份的时候用户不能使用计算机,因此,这种方法通常是不能接受的。
另一种在计算机上执行数据备份的方法是获取文件系统快照,然后将快照中的文件拷贝到备份目标。虽然在很多情形中都是有效的,但是这种方法通常并不轻便,并且有可能导致计算机在备份过程中的某些时间反应较慢。
这里要求保护的主题并不局限于解决任何缺陷并且仅仅在如上所述的环境中工作的实施例。相反,本背景技术仅仅是被提供用来图示一个可以实施这里描述的一些实施例的例示技术领域。
发明内容
简要地说,这里描述的主题的多个方面涉及备份和变化日志(change journal)。在一些方面中,变化日志将被读取,以便确定文件系统的对象发生的变化。从这些变化中创建一个数据结构,以便获取路径信息并收集每一个对象的变化。如果该数据结构不足以识别完整的路径,则查询活动的文件系统(live file system)。在数据结构完成之后,数据保护引擎使用该数据结构来更新编目(catalog),以便至少提供查看处于该编目所覆盖的一个或多个时间的受保护对象的命名空间的能力。
本发明内容被提供用来简要描述在以下的详细描述中被进一步叙述的主题的某些方面。本发明内容的目的既不是确定所要保护的主题的关键或必要特征,也不是用于限制所要保护主题的范围。
除非上下文以其他方式明确指示,否则,短语“这里描述的主题”指的是在详细描述中描述的主题。术语“方面”应该被理解成是“至少一个方面”。识别详细描述中描述的主题的方面并不是为了识别所要保护的主题的关键或必要特征。
这里描述的主题的上述方面和其他方面是作为示例图示的,并且在附图中并未受到限制,其中相同的参考数字指示的是相似的部件,并且其中:。
附图说明
图1是代表可以引入这里描述的主题方面的例示通用计算环境的框图;
图2是代表可以实现这里描述的主题方面的例示环境的框图;
图3是代表根据这里描述的主题方面而从扫描变化日志中获取的例示树形数据结构分段的框图;
图4示出的了根据这里描述的主题方面并基于图3的树形数据结构分段的完成树的示例;
图5示出的了根据这里描述的主题方面的节点的例示字段;
图6是代表根据这里描述的主题方面来为每一个变化的对象更新操作码(action code)的例示方式的状态图;
图7是示出了根据这里描述的主题方面的例示事件序列的时序图;
图8是概括性代表了根据这里描述的主题方面可以用于编目的例示图式(schema)的框图;
图9显示了根据这里描述的主题方面的对象的时间线。轴线920的每一个数字都代表一个不同的时间;
图10-13是概括性代表了可以根据这里描述的主题方面进行的例示操作的流程图;
图14是概括性代表了根据这里描述的主题方面响应于对象变化的例示编目变化集合的框图。
具体实施方式
定义
这里使用的术语“包括”及其变体应该被理解成是开放式的术语,其意味着“包括但不局限于”。除非上下文以别的方式明确指示,否则术语“或”应该被理解成是“和/或”。术语“基于”应该被理解成是“至少部分基于”。术语“一个实施例”和“实施例”应该被理解成是“至少一个实施例”。术语“另一个实施例”应该被理解成是“至少一个其他实施例”。
这里使用的术语例如“一”、“一个”以及“该”包含了一个或多个所指示的项目或操作。特别地,在权利要求中,对于某个项的引用通常意味着存在至少一个这样的项目,并且对于某个操作的引用意味着执行该操作的至少一个实例。
在这里有时使用了术语“第一”、“第二”、“第三”等等。这些术语的使用并不意味着排序,相反它们是用于标识目的,在权利要求中尤为如此。例如,短语“第一命名空间记录”和“第二命名空间记录”不一定意味着第一命名空间记录就是第一个命名空间记录或者是在第二命名空间记录之前创建的,乃至第一命名空间记录是在第二命名空间之前被请求或操作的。相反,这些短语是用于标识不同的命名空间记录的。
标题仅仅是为了方便起见;关于给定主题的信息也可以在那些标题指示的是所述主题的章节以外发现。
在下文中还可以包括其他显性或隐性的定义。
例示工作环境
图1示出了可以实现这里描述的主题方面的适当计算系统环境100的示例。计算系统环境100仅仅是适当的计算环境的一个示例,其目的并不是暗示对这里描述的主题方面的使用范围或功能进行任何限制。计算环境100不应该被解释成是有与例示工作环境100中示出的任一组件或组件组合相关的任何依赖性或要求。
这里描述的主题方面可以与多种其他通用或专用计算系统环境或配置一起工作。可能适合与这里描述的主题方面一起使用的众所周知的计算系统、环境或配置的示例包括个人计算机、服务器计算机、手持或膝上设备、多处理器系统、基于微控制器的系统、机顶盒、可编程消费类电子设备、网络PC、微型计算机、大型计算机、个人数字助理(PDA)、游戏设备、打印机、包括机顶盒、媒体中心或其他的电气用具(appliances)的电气用具、内置或附着于汽车的计算设备、其他移动设备、包含了任一上述系统或设备的分布式计算环境等等。
这里描述的主题方面可以在由计算机运行的计算机可执行指令的通用上下文中描述,例如程序模块。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。这里描述的主题方面还可以在其中由通过通信网络链接的远程处理设备执行任务的分布式计算环境中实施。在分布式计算环境中,程序模块可以位于本地和远程计算机存储媒体上,包括存储器存储设备。
参考图1,用于实现这里描述的主题方面的例示系统包括计算机110形式的通用计算设备。计算机可以包括能够执行指令的任何电子设备。计算机110的组件可以包括处理单元120、系统存储器130以及将包括系统存储器在内的不同系统组件耦合到处理单元120的系统总线121。系统总线121可以是若干种总线结构中的任何一种,包括存储器总线或存储器控制器、外设总线以及使用了多种总线架构中的任何一种的局部总线。作为示例而不是限制,这种架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线、被称为夹层总线(Mezzanine bus)的外设组件互连(PCI)总线、外设组件互连扩展(PCI-X)总线、高级图形端口(AGP)以及PCI Express(PCIe)。
计算机110通常包括多种计算机可读媒体。计算机可读媒体可以是能够被计算机110访问的任何可用媒体,并且包含易失和非易失媒体以及可移除和不可移除媒体。作为示例而不是限制,计算机可读媒体可以包括计算机存储媒体和通信媒体。
计算机存储媒体包括通过任何用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的方法或技术实现的易失和非易失、可移除和不可移除媒体。计算机存储媒体包括RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多用途盘(DVD)或其他光盘存储器、磁带盒、磁带、磁盘存储器或其他磁存储设备、或是其他任何可以用于存储期望信息并能被计算机110访问的介质。
通信媒体通常包含计算机可读指令、数据结构、程序模块或处于诸如载波或其他传输机制之类的已调制数据信号中的其他数据,并且包括任何信息递送媒体。术语“调制数据信号”指的是这样一种信号,其中该信号的一个或多个特性被以在信号中对信息进行编码的方式而被设置或改变。作为示例而不是限制,通信媒体包括有线网络或直接线路连接之类的有线媒体以及诸如声学、RF、红外及其他无线媒体之类的无线媒体。上述各项的任何组合同样应该包含在计算机可读媒体的范围以内。
系统存储器130包括易失和/或非易失存储器形式的计算机存储媒体,例如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)包含在例如启动过程中帮助在计算机110内部的部件之间传送信息的基本例程,该系统通常存储在ROM 131中。RAM 132通常包含可以由处理单元120直接访问和/或即时操作的数据和/或程序模块。作为示例而不是限制,图1示出了操作系统134、应用程序135、其他程序模块136以及程序数据137。
计算机110还可以包括其他的可移除/不可移除、易失/非易失计算机存储媒体。仅仅作为示例,图1示出了读取或写入不可移除且非易失的磁媒体的硬盘驱动器141,读取或写入可移除且非易失的磁盘152的磁盘驱动器151,以及读取或写入诸如CD-ROM或其他光媒体之类的可移除且非易失的光盘156的光盘驱动器155。能在例示操作环境中使用的其他可移除/不可移除及易失/非易失的计算机存储媒体包括磁带盒、闪存卡、数字多用途盘、其他光盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器141可以经由接口140连接到系统总线121,并且磁盘驱动器151和光盘驱动器155可以通过接口650之类的用于可移除非易失存储器的接口连接到系统总线121。
以上论述并在图1中示出的驱动器以及与之关联的计算机存储媒体为计算机110提供了计算机可读指令、数据结构、程序模块及其他数据的存储。例如在图1中,硬盘驱动器141被图示为保存了操作系统144、应用程序145、其他程序模块146以及程序数据147。应该指出的是,这些组件与操作系统134、应用程序135、其他程序模块136以及程序数据137既可以是相同的,也可以是不同的。在这里为操作系统144、应用程序145、其他程序模块146以及程序数据147给出不同的数字来图示它们至少是不同的拷贝。
用户可以通过输入设备将命令和信息输入计算机110,所述输入设备例如是键盘162以及通常被称为鼠标的指示设备161、轨迹球或触摸板。其他输入设备(未显示)可以包括麦克风、摇杆、游戏板、碟式卫星天线、扫描仪、触敏屏、手写板等等。这些以及其他输入设备通常通过与系统总线耦合的用户输入接口160连接到处理单元120,但是也可以通过其他接口和总线结构来连接,例如并行端口、游戏端口或通用串行总线(USB)。
监视器191或其他类型的显示设备同样经由诸如视频接口190之类的接口连接至系统总线121。除了监视器之外,计算机还可以包括通过输出外设接口195连接的其他外设输出设备,例如扬声器197和打印机196。
计算机110可以使用与诸如远程计算机180之类的一个或多个远程计算机相连的逻辑连接在联网环境中工作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其他公共网络节点,并且通常包括以上相对于计算机110描述的很多或所有部件,但在图1中只图示出了存储器存储设备181。图1描述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但是也可以包括其他网络。这种联网环境在办公室、企业级计算机网络、内联网以及因特网中是很常见的。
当在LAN联网环境中使用时,计算机110通过网络接口或适配器170与LAN 171相连。当在WAN联网环境中使用时,计算机110可以包括调制解调器172或是用于在因特网之类的WAN 173上建立通信的其他装置。调制解调器172可以处于内部或外部,它可以经由用户输入接口160或其他恰当机制连接到系统总线121。在联网环境中,结合计算机110描述的程序模块是其某些部分可以保存在远程存储器存储设备中。作为示例而不是限制,图1示出了驻留在存储器设备181上的远程应用程序185。应该意识到的是,所显示的网络连接是例示性的,并且用于在计算机之间建立通信链路的其他装置也是可以使用的。
计算机110的不同组件可以用硬件、软件等等或是上述各项中的两项或多项的组合来实现。
备份
如先前所提到的,很多人都认识到对驻留在计算机上的数据进行备份的价值。图2是代表可以实现这里描述的主题方面的例示环境的框图。该环境可以包括变化检测器210、数据保护引擎220、编目管理器225、不同的存储器230-232,并且可以包括其他实体(未显示)。不同的实体彼此之间可以相对接近(例如在相同的计算机上),或者也可以遍布于世界。
存储器230-232是能够存储数据的任何存储媒体。该存储器可以包括易失存储器(例如缓存)和非易失存储器(例如持久存储器),术语数据可以包括能被一个或多个计算机存储部件表示的任何内容。在逻辑上,数据可以表示为易失或非易失存储器中的1和0的序列。在具有非二进制存储介质的计算机中,数据可以依照存储介质的能力来表示。数据可以被组织成不同类型的数据结构,包括数字、字母等简单数据类型,分层、链接或其他相关的数据类型,包含多个其他数据结构或简单数据类型的数据结构等等。数据的一些示例包括信息、程序代码、程序状态、程序数据、其他数据等等。
存储器230-232可以包括文件系统、数据库、RAM之类的易失存储器、其他存储器。上述各项的组合等等,并且可以分布在多个设备上。所述存储器230-232中的一个或多个可以在一个或多个相同的设备上实现。例如,源存储器230和编目存储器232可以在相同的文件系统上实现。
存储器可以包括文件系统对象。文件系统对象(在这里有时也被简称为对象)可以是文件、目录等等。
源存储器230可以包括分层排列的多个对象。例如,源存储器230可以包括根目录、子目录以及根目录的文件、子目录和子目录的文件等等。通过备份配置管理器(未显示),可以将所有或部分源存储器230指定用于数据保护。通过指定目录用于数据保护,可以将该目录的所有后代(descendant)全都指定用于数据保护。目录的后代包括该目录中的任何子目录和文件,子目录以及这些子目录中的文件等等。
在将可能包含某些目录和文件的数据集指定用于数据保护之后,变化检测器210可以确定该数据集的对象何时发生变化。在一个实施例中,变化检测器210可以通过读取变化日志的记录来确定何时发生变化。
一些文件系统是通过变化日志来指示文件系统对象的变化的。变化日志可以包括描述对象变化的一个或多个文件。对于对象的每一个变化,一个或多个记录可被写入到变化日志中。每一个记录都可以包括对象标识符,对象名称,父文件夹的标识符,关于对象发生的变化的指示等等。每一个记录还可以与一个日志编号相关联。
一些类型的变化可以用两个变化日志记录来表示。例如,重命名操作可以将文件从一个目录移动到另一个目录和/或改变文件的名称。这种操作可以用变化日志中的两条记录来表示。例如,重命名操作可以用指示旧名称的记录以及指示新名称的记录来标识。在向变化日志中添加新记录时,文件系统可以为该记录指定一个日志编号。该日志编号连同标识所述日志的标识符一起可以用于识别所述记录,以及对该记录进行时间排序。例如,与日志中的较低日志编号相关联的记录可以描述在具有较高日志编号的记录之前发生的变化。
通过读取变化日志,变化检测器210可以确定文件系统的对象已经发生的变化。如果该变化影响了为数据保护指定的命名空间,那么可能需要更新编目存储器232中的编目项和/或可能需要将对象备份到备份存储器231。如果该变化没有影响为数据保护所指定的命名空间,那么可能不需要备份和/或编目更新。在一个实施例中,变化日志可以在每一个记录中提供完整的路径。然而在另一个实施例中,变化日志可以不为每一条记录提供完整的路径。
在后一种情况中,在确定对象是否影响为数据保护所指定的命名空间之前,变化检测器210有可能需要确定与记录相关联的对象的完整路径。这种处理可以在一个两阶段处理中完成。在第一个阶段中,变化检测器210可以通过记录和创建例如如图3所示的树形数据结构分段来读取变化日志记录。转到图3,应该指出的是,在这里给出了三个树形数据结构分段305-307。这些分段305-307的每一个节点都可以具有例如如图5所示的信息。
变化检测器210以递增的方式构建图3的树形数据结构分段,由此在可能的时候连接节点。例如,一条记录将会包括对象的标识符以及对象父亲的标识符。如果用于对象的节点已经存在,那么可以基于发生的变化来更新用于该对象的节点。如果与记录中包含的父亲标识符相对应的节点已经存在,那么可以采用父亲/孩子关系来连接节点(例如通过更新一个或多个指针)。
最终,变化检测器210可以到达变化日志末端或者可以处理可选数量的记录。在这一点,可以有若干个树形数据结构分段没有完全连接在树形数据结构中。在这一点,将会通过查询活动的文件系统来填充所述树的剩余部分,从而开始第二阶段。在该处理的末端将会创建一个包含根目录的树。图4示出了基于图3中的树形数据结构分段305-307的完成树的示例。
由于变化检测器210是从活动的系统获取数据的,因此,即使在变化检测器210获取数据的时候也有可能发生变化。在获取用于对象的信息以填充树节点的父节点时,变化检测器210还可以获取与该对象相关联的日志编号。如果在第二阶段中遇到比先前读取变化日志时候遇到的任何日志编号都高的日志编号,那么变化检测器210可以返回到第一阶段并读取变化日志(从它先前中止的位置)。在一个实施例中,变化检测器210可以读取变化日志,直至其到达变化日志末尾。在另一个实施例中,变化检测器210可以读取变化日志,直至达到较高的日志编号。读取变化日志有助于变化检测器210确定文件系统对象发生的且影响受保护的命名空间的变化。
在第一阶段再次完成之后,第二阶段会再次开始。如果在构建完成树的过程中遇到另外的较高日志编号,那么这种从第二阶段返回到第一阶段的情形有可能会一再发生(直至可配置的限度)。最终,当完整构建了所述树时,变化检测器具有用于受保护的命名空间的稳定的文件系统层级快照。即使文件系统继续产生受保护的命名空间内部和外部的变化,变化检测器也可以巡视所述树,并且获取路径信息。该路径信息可以用于确定什么变化影响受保护的命名空间的对象,以及什么变化不影响该命名空间的对象。此外,图2的数据保护引擎220还可以使用该路径信息来备份自上一次备份以来发生了变化的文件。
图5示出了根据这里描述的主体方面的节点的例示字段。节点505可以包括对象标识符、日志编号、名称、以及一个或多个变化操作,并且还可以包括以前的父亲、当前父亲、下一个同胞、孩子以及其他字段的指示(例如指向它们的指针或它们的标识符)。以下是包含某些附加字段的例示结构定义:
struct TreeNode {
ULONGLONG FID; //文件的标识符.
ULONGLONG JournalNum; //对于这个文件看到的最高日志号.
DWORD FileAttributes; // 从GetFileAttributes获得的属性比特掩码(bitmask)
WCHAR Name[256]; //组合来自父节点的这些产生完整的路径
WCHAR OldName[256]; // 在重命名情况下,原名称.
BOOL OldBackup; //指示原路径是否在先前的保护范围内
BOOL NewBackup; //指示当前的路径是否在当前的保护范围内
BYTE Actions; // 指示变化的值的比特掩码
TreeNode* Parent;
TreeNode* OldParent; // 在重命名情况下,原父亲.
TreeNode* NextSibling;
TreeNode* Children;
}。
操作字段可以包括指示对象发生了什么的值的比特掩码。操作的一些示例包括添加、编辑、删除等等。如果需要的话,在这里可以保持一个散列表,以便基于文件标识符来有效地发现树分段中的节点。
回到图2,当变化检测器210读取变化日志以创建树结构的节点时,变化日志中的记录可以指示用于这些记录所指示的一些对象的多个变化。例如,文件可以被创建;然后该文件可以被编辑;之后该文件可以被删除;……。代替单独为每一个节点向数据保护引擎220报告这些变化中的每一个变化,变化检测器可以将节点的变化合并成单个操作码(例如通过将其置于以上的比特掩码操作字段中),并且将单个操作码返回给数据保护引擎。
图6是代表了根据这里描述的主题方面来为每一个变化的对象更新操作码的例示方式的状态图。线条605-608是先前未被看到的对象进入状态图的“进入点”。如果代表对象的节点尚未处于树形数据结构中,那么根据变化(例如添加、编辑、删除或重命名)将会遵循线条605-608之一。在进入一个状态之后,所述状态将会根据针对对象进行的后续变化而改变。举个例子,如果添加并且随后删除一个文件,那么可以将用于该节点的状态码标记成“删除”,或者也可以完全删除该节点,因为该文件在备份之间的时段以外并不存在。
当在变化日志中检测到重命名操作时,可以更新节点中的字段以便指示节点的新父亲和原父亲(例如使用上述OldParent),从而能够构造原路径。
在树形结构完成之后,这时可以标记所述树中的节点,以便指示它们先前或者当前是否处于数据受保护的命名空间中。在这个阶段,每一个树节点的OldBackup和NewBackup成员可以被适当更新。OldBackup指示对象先前是否处于数据受保护的命名空间,而NewBackup则表明对象处于当前的数据受保护的命名空间。OldBackup和NewBackup可以标记如下:
类别 | 所采取的操作 |
先前受保护 | 标记OldBackup=Ture |
先前被排除 | 标记OldBackup=False |
当前受保护 | 标记NewBackup=Ture |
当前被排除 | 标记NewBackup=False |
当这个阶段开始时,用于每一个节点的OldBackup和NewBackup可被设置成Unknown(未知)。对于代表了被配置用于数据保护的目录的每一个节点来说,OldBackup和NewBackup可以依照以上表格来设置。在一个实施例中,所述树的根节点隐含是不会被备份的,由此它的两个备份成员都被设置成False(伪)。
在上述操作之后,树节点将被访问。为了设置OldBackup,节点会查看其旧的父亲,并且为了设置NewBackup,节点会查看其新的父亲。
在一些实现中,在重命名目录时,变化日志可以包含仅用于目录的条目,而不包含用于任何目录后代的条目。在这种情况下,如果将目录从不受保护的命名空间移动到受保护的命名空间,那么变化检测器210可以就像对于该目录的所有后代对象都有添加记录那样操作。例如,变化检测器210可以为后代对象创建节点,并且填充创建对象的状态码。同样,如果将目录从受保护的命名空间移动到不受保护的命名空间,那么变化检测器210可以就像对于该目录的所有后代对象都有删除记录那样操作并且相应地创建节点。NewBackup和OldBackup可以被用来确定文件夹是否在受保护的命名空间和不受保护的命名空间之间移动。
以下是用于创建和标记新节点的一个例示算法:
。
当变化检测器210从第二阶段到达第一阶段时(例如响应于遇到比先前看到的日志编号更高的日志编号),通过巡视所述树以及将每一个节点的OldBackup和NewBackup成员设置成“未知”,可以解除标记所述树节点。执行这种处理是因为在变化日志的新扫描的部分中有可能存在另外的重命名事件。
为了获取自上一次备份以来发生的变化,数据保护引擎220可以向变化检测器210提供一个日志编号,并且请求该变化检测器210检测在该日志编号之后发生的变化。作为响应,变化检测器210可以使用该变化检测器210在检测变化的过程中遇到的最高的日志编号来做出响应。然后,数据保护引擎220可以保存并在下一次要求变化检测器210检测变化的时候使用这个最高日志编号。这样一来,只有变化日志中的新记录被扫描。
在变化检测器210使用其在检测变化的过程中遇到的最高日志编号做出响应之后,数据保护引擎220然后可以开始为发生变化的每一个对象请求对象信息。图7是示出了根据这里描述的主题方面的这个事件序列的例示时序图。
在图7中,数据保护引擎705将最后一个序列号水印(例如变化检测器710在前一次迭代中返回的最高日志编号)发送给变化检测器710。作为响应,变化检测器710可以向配置管理器715发送对于受保护的对象的请求。作为响应,配置管理器715会告知变化检测器710将被保护的一个或多个对象。
然后,变化检测器710扫描变化日志,并且如先前所示创建一个树形结构。此后,变化检测器710会提供一个新的序列号水印(也就是遇到的新的最高日志编号)。变化检测器710还会提供一个迭代符(例如某个值或数据结构),数据保护引擎705可以借助该迭代符来请求发生变化的对象信息。该数据保护引擎705保存新的序列号水印,并且使用迭代符来获取发生变化的对象的变化信息。
回到图2,在循环通过发生变化的文件和对文件进行备份的过程中,数据保护引擎220可以借助编目管理器225来更新保存在编目存储器232上的编目。图8是概括性代表了根据这里描述的主题方面的可用于编目的例示图式的框图。
转到图8,图式800可以包括命名空间表805、字串表(strings table)806、文件表807、全局表808、备份集合表(backup sets table)809、存储器表(stores table)811以及其他表格(未显示)。
表805-811可以保存在一个或多个数据库中,这些数据库可以包括关系数据库、面向对象的数据库、层次数据库、网络数据库、其他类型的数据库、上述各项的组合或扩展等等。保存在数据库中的数据可以组织在表格、记录、对象、其他数据结构等等中。保存在数据库中的数据可以保存在专用数据库文件、专用硬盘驱动器分区、HTML文件、XML文件、电子表格(spreadsheet)、平面文件(flat file)、文档文件、配置文件、其他文件等等之中。数据库可以引用一个只能被数据库读取的数据集合,或者数据库也可以具有读取和写入该数据集合的能力。
数据库中的数据可以经由数据库管理系统(DBMS)而被访问。DBMS可以包括一个或多个控制数据库数据的组织、存储、管理和检索的程序。DBMS可以接收访问数据库中的数据的请求,并且可以执行提供该访问所需要的操作。这里使用的访问可以包括读取数据、写入数据、删除数据、更新数据、包含上述各项中的两项或更多项的组合等等。
在描述这里描述的主题的各方面的过程中,为了简单起见,在这里有时使用了与关系数据库相关联的术语。虽然在这里有时使用了关系数据库的术语,但是这里的教导也可以应用于其他类型的数据库,包括先前述及的那些数据库类型。
图式800中的命名空间表805可以包括特定版本的文件的生命期(lifetime)和标识符。数据保护引擎遇到的大多数变化都可以用命名空间表805以及文件表807中的行来表示。但是,诸如对象重命名或目录改变之类的一些情况可以只具有命名空间表记录。
举个例子,在文件重命名的情况下,通过将新的命名空间记录指向文件版本谱系(lineage)中的最后一个文件记录,可以避免保存重命名文件的额外拷贝。这种“指向”可以通过在新的命名空间记录的fileRecordId字段中插入指向最后一条文件记录的引用来执行。在一个实施例中,在用于文件夹变化的文件表807中是没有记录的,这是因为这些变化可以通过命名空间表805中的记录来确定。
下表指示了命名空间表805的字段及描述。
tCreated和tVisible字段可以用于确定一个版本的文件或文件夹在命名空间中可见的时段。该时段从tCreated时间延伸到tVisible时间。tVisible字段可以被设置成某个值(例如-1),以便表明该记录处于当前命名空间中。这表明与该记录相关联的对象被认为是在当前命名空间中是可见的。
例如,图9显示了根据这里描述的主题方面的对象的时间线。轴线920上的每一个数字都代表一个不同的时间(例如有可能是不同的备份集合时间)。在时间0-4,对象是存在的。在时间2之前的某个位置,对象发生了变化。在时间4,对象不再存在。
图2的数据保护引擎220可以为位于时间和时间2的对象创建新的命名空间记录。如果该对象是文件,那么在时间0和时间2,数据保护引擎220还可以为该对象创建文件记录并备份该对象。
当在时间0备份文件时,这时可以使用值为0的tCreated和值为(-1)的tVisible来创建命名空间记录(这意味着该版本当前在命名空间中是可见的)。通过与时间2的文件备份协作,可以创建新的命名空间记录,并且给出值为2的tCreated以及值为(-1)的tVisible。在成功备份了文件之后,先前的命名空间记录可被更新,由此tVisible=2。这样做会使得先前的命令空间记录超出当前命名空间。对于在时间3存在的对象的查询将会包括在时间3存在的对象的版本,而不是在时间2之前或是时间4之后存在的对象的版本。
这种更新命名空间记录的方法允许查看任何时间点的命名空间。例如,为了确定在某个时间是否存在文件版本,可以对字串表执行一个查询,以便发现与该文件名相关联的字串标识符(StringID)(例如找到C:\foo\bar->StringID=1)。借助该字串标识符,可以对命名空间表进行搜索,以便发现与在之前发现的字串标识符相等的字串标识符以及时间条件(例如时间>=tCreated以及(时间<=tVisible或时间==-1))。
同样,为了确定在特定时间存在的所有文件,在命名空间表上可以仅仅使用时间条件来执行一个查询(例如返回所有文件名,其中时间>= tCreated以及(时间<= tVisible)或Visible == -1))。
同样,举例来说,可以发布其他查询来确定文件的所有版本,在特定时间处于某个目录内部的所有文件,在特定时间对文件夹内部对象所进行的所有变化,其他的信息等等。
与目录相比,以上的状态字段可以以不同的方式用于文件。举个例子,对文件来说,状态字段中的NoContentChange标记意味着文件内容自上一次备份以来发生了变化,或者意味着被引用文件是先前未被保护的新文件。对于目录来说,如果设置了NoContentChange标记,则意味着在时间=该目录的tCreated添加、更新、重命名或移除了该目录(相对于目录的子目录)中的一个或多个文件,或者在时间=tCreated有一个或多个子目录开始存在或不再存在于该目录中。用于该目录的命名空间记录的字段tCreated与用于被更新的直接后代的命名空间记录的tCreated是相同的。
状态字段同样可以用于确定对象是否是其谱系中的最后一个(也就是对象已被删除)。举个例子,在对象被删除或重命名时,删除或重命名操作之前的版本将会变成谱系中的最后一个版本。除非将对象重命名成它的先前名称,否则引用具有相同名称的文件的下一个命名空间记录将会描述不同的文件。当状态字段包括LastInLineage标记时,这表明该对象是其谱系中的最后一个。举例来说,参考图9,从时间2到时间4存在的文件版本是其谱系中的最后一个。
在恢复文件的过程中可以使用fileAttrib、fileCreated和fileModified字段。例如,通过与恢复文件内容的处理协作,这些属性同样是可以恢复的。
回到图8,文件表807代表文件映射以及用于分阶段或是处于备份目标的每一个文件的属性。下表指示了文件表807的字段以及描述。
列 | 描述 |
Id | 主键值 |
parentId | 指向字串表中的父目录字串的外部键值 |
childId | 指向字串表中的孩子对象(文件或文件夹)字串的外部键值 |
State | 反映记录是否需要用于备份的操作 |
Status | 反映文件版本的状态 |
fileSize | 以字节为单位的文件大小;可以用于划分备份的优先级; |
storeId | 指向存储器表中的条目的外部键值 |
tQueued | 在对文件进行排队以进行备份的时候的备份集合;它可以用于划分备份的优先级 |
tCaptured | 在备份文件或是在备份占用很多循环的时候的备份集合;在实际开始文件备份的时候的备份集合 |
tUpdated | 用于在将记录完全备份到目标或分阶段区域之前最后一次更新记录时的备份集合 |
在数据保护引擎每次唤醒以执行备份的时候,都会创建一个新的备份集合。在一个会话中备份的所有对象都会是相同备份集合的一部分。这种情况可以通过将tCreated值设定成相同的备份集合ID来表示。
此外,在删除或修改文件的时候,其先前版本在当前命名空间中将不再有效。为了指示这一点,先前版本的tVisible可以被设置成是值为当前备份集合-1的Id。
storeID可以用于发现一个或多个存储设备上的备份拷贝。该storeID可以用于引用存储器表811的记录,在存储器表811中发现的每一个记录还可以指示其上能够发现文件的备份拷贝的特定存储器。
字串表806可以用于移除重复的字串。例如,对于未被重命名的文件来说,该文件的所有版本将会共享相同的父路径和文件名。同样,驻留在相同目录中的所有对象都具有相同的父路径。字串表806中的字串字段可以存储父路径和对象名称的字串值。
全局表808可以用于存储全局值。例如,最后一个序列号水印可以保存在全局表808中。全局表808的值字段可能能够存储一块(blob)二进制数据,由此能够存储多个数据。
备份集合表810包括主键值和创建每一个备份集合时的时间戳。该时间戳可以反映现实世界的时间,它是一个随着每个备份集合递增的单调递增值,或者可以是代表了时间顺序的某个其他值。
存储器表811包括主键值和其上存在文件备份的拷贝的存储器的标示符。
在对文件进行重命名而不进行其他方式的修改时,这时不必再次备份该文件。图8所示的图式允许数据保护引擎指示该文件已在命名空间内部移动而不需要再次备份该文件。特别地,这种处理可以通过以下处理来表示,在命名空间表805中添加记录,有可能在字串表806中添加记录(以便包含新的名称),以及将新添加的命名空间记录中的fileRecordId设定成指向在移动文件之前存在的文件记录。
回到图2,如先前所提到的,数据保护引擎220从变化检测器210获取变化信息,并且适当更新编目存储器232上的编目。数据保护引擎220还可以备份那些自上一次备份以来发生了变化的文件。
图10-13是概括性表示根据这里描述的主题方面可以发生的例示操作的流程图。为了易于说明,结合图10-13描述的方法是作为一系列动作(act)而被描述的。应该理解和意识到的是,这里描述的主题方面并不受所示出的动作和/或动作顺序的限制。在一个实施例中,这些动作是按照如下所述的顺序进行的。然而在其他实施例中,这些动作既可以并行执行,也可以按照别的顺序执行,和/或与这里没有给出和描述的其他动作一起执行。此外,并不是所示出的所有动作都是实现根据这里描述的主题方面的方法所必需的。此外,本领域技术人员将会理解和意识到,该方法可以借助状态图而改成作为一系列相关的状态或是作为事件来表示。
转到图10,在方框1005,这些操作将会开始。在方框1010,变化日志将被打开以供读取。举例来说,参考图2,变化检测器210可以打开源存储器230上的变化日志。如先前所述,变化日志可以包括指示已经发生变化的文件系统对象的记录。所发生的变化可以包括被编辑、删除、创建、从/向受保护的命名空间移动等等。变化日志所指示的文件系统对象可以包含在这样的文件系统中,其中该文件系统既可以位于单个存储设备,也可以分布在多个存储设备上。
在方框1015,变化日志将被读取,并且数据结构将会连同读取变化日志的处理一起更新。这种读取变化日志的处理有可能是与将附加记录写入变化日志的处理并行进行的。举例来说,参考图2,变化检测器210可以为源存储器230读取变化日志的记录,并且它可以如先前所述填充来自那里的树形数据结构的数据。在一个实施例中,每一个变化日志都可以包括发生变化的文件系统对象及其父亲的名称信息,但是可以不包括发生变化的文件系统对象或是其父亲的完整路径。
在方框1020,在读取了变化日志的记录后,变化检测器可以尝试完成该数据结构,以使该数据结构指示发生了变化的文件系统对象的路径。在此期间,变化检测器可以与活动的文件系统进行协商,以便如先前所述获取路径信息。举例来说,参考图2-4,变化检测器210可以尝试从图3的分段305-307以及从活动的文件系统获取的路径信息中创建图4所示的树形数据结构。变化检测器210可以通过如下方式来完成这个任务:查询每一个分段305-307的最早的先辈节点的父对象,直至发现根节点。对于每一个父对象,附加路径信息可以连同关联于父对象的序列号(有时也被称为日志编号)一起被获取。
举例来说,根据变化日志更新数据结构中的数据可以包括:读取与该记录相关联的文件的文件名称,读取文件的序列号,读取文件父亲的标识符,以及将文件名称、序列号以及标识符放入该数据结构的孩子节点。
如果用于文件父亲的父节点在该数据结构中并不存在,那么可以创建所述父节点 ,并且在所述父节点中插入链接数据,以便识别孩子节点。如果用于文件父亲的父结点在数据结构中是存在的,那么树形数据结构可被更新,以便指示孩子节点是父节点的孩子。例如,在一个实现中,这种处理可以通过更新NextSibling指针来完成。
在方框1025,如果在方框1020的操作中遇到更高的日志编号,那么该操作将会在方框1015处继续;否则,该操作将会在方框1030继续。通过将对象的序列号与在变化日志中读取的最后一个序列号相比较,变化检测器可以确定数据结构中反映的文件系统对象在读取变化日志之后是否发生了变化。如果该对象的序列号更大,那么变化检测器可以知道发生了变化。举例来说,参考图2,如果变化检测器210发现比它先前遇到的日志编号更大的日志编号,那么变化检测器210可以返回到第一阶段,并且再次开始读取变化日志。变化检测器210可以使用从变化日志更新的附加记录来更新树形数据结构。
在方框1030,使用变化检测器创建的数据结构来更新编目。举个例子,参考图2,数据保护引擎220可以重复变化检测器210确定的变化,并且对编目存储器232实施这种变化,以便如先前所示更新命名空间和文件记录。举个例子,在成功将某个版本的对象备份到备份目标之后,数据保护引擎220可以在编目中更新该版本的时间戳,以便指示该版本在当前命名空间中不再可见。
对编目进行变化的效果在在于:所述编目之后可被用于查看所述编目覆盖的任何备份集合时间上的命名空间。在一个实施例中,术语备份集合时间指的是创建用于备份的备份集合的逻辑时间。该时间可以反映现实世界的时间,并且是一个随着每一个备份集合递增的单调递增值,或者它也可以是其他一些代表时间顺序的值。
在另一个实施例中,术语备份集合时间指的是在图8的备份集合表810中放置的时间。每次在数据保护引擎能够成功执行并获取指示需要备份的对象的记录时,该数据保护引擎可以将备份集合中的每一个对象与备份集合时间相关联。在备份集合时间,受保护的命名空间具有某种可以从编目获取并被用于查看受保护的命名空间的状态的结构。
在方框1035,如果还有其他操作,那么可以执行这些操作。
图11-13是概括性代表了根据这里描述的主题方面可以在更新编目的过程中进行的例示操作的流程图。转到图11,在方框1105,这些操作开始。
在方框1110,接收指示对象已经发生的变化的变化记录。如先前所述,术语“一个”可以意味着变化记录指的是已经发生的一个或多个多重变化。举例来说,参考图2,数据保护引擎220可以从变化检测器210那里接收到与源存储器230的文件有关的变化记录。该变化记录可以指示该文件已被移动、改变、删除和/或重命名等等。
在方框1115,如果删除或改变对象而没有移动对象,那么该操作将会在方框1120处继续;否则,这些操作会在方框1125处继续。
在方框1120,如将结合图12更详细指示的那样,第一组操作将被执行。
在方框1125,如将结合图13更详细指示的那样,第二组操作将被执行。
在方框1130,如果还有其他操作,那么将会执行所述操作。例如,一个或多个父目录命名空间记录可被修改,以便指示底层的文件发生了变化。
转到图12,在方框1205,这些操作开始进行。如果删除了对象,那么命名空间记录中与该对象相对应的tVisible标记可以被设置成指示该对象在当前的命名空间中不再可见,并且这些操作可以在图11的方框1130处继续进行。否则,在方框1210,新的命名空间记录将被创建。例如,参考图2,响应于接收到来自变化检测器210的变化记录,数据保护引擎220可以在编目中创建新的命名空间记录。
在方框1215,新的文件记录可被创建。举例来说,参考图2,响应于从变化检测器210那里接收到变化记录,数据保护引擎220可以在编目中创建新的文件记录。
在方框1220,新的命名空间记录可以链接到新的文件记录。举例来说,参考图2和8,数据保护引擎220可以指示编目管理器225将新的命名空间记录链接到新的文件记录。该编目管理器225则可以通过更新命名空间表805的命名空间记录中的外部键值字段fileRecordID来完成行该处理。
在方框1225,其中可以尝试将文件拷贝到备份目标。举例来说,参考图2,数据保护引擎220可以尝试将文件拷贝到备份存储器231。如果成功,则所述操作可以在方框1235处继续;否则,这些操作可以在方框1240处继续。
在方框1235,先前的命名空间记录可被更新,以便指示先前的命名空间记录在当前命名空间中不再可见。如先前所述,在成功备份了新的文件版本时,引用旧版本的命名空间记录可以用一个时间来更新,其中该时间指示旧版本可见的最后时间。这个时间可以对应于备份集合时间戳。在更新了这个时间之后,对当前命名空间中的对象的查询将不再返回旧版本。举例来说,参考图2、8和9,在图9的时间2,在将该版本成功拷贝到备份目标之后,数据保护引擎220可以指示编目管理器225将命名空间记录的tVisible字段更新成1。当在发布了1之后查询时间时,这样做会使得命名空间记录“不可见”或不显示。换句话说,如果当前时间是在2以后,那么对于当前命名空间的查询不会返回成功拷贝到备份目标的先前版本的记录。
在方框1240,如果数据保护引擎不能成功地将所述版本的文件拷贝到备份目标,那么命名空间记录最终有可能被删除,并且用于该版本的文件记录也可能会被删除。这样做的一个结果是先前版本在当前命名空间中可以仍旧是可见的。
在一个实施例中,如果备份因为暂态错误而失败(例如因为另一个应用打开了文件),那么有可能不删除命名空间记录。在这个实施例中,命名空间记录将被保留在编目中,并且会在数据保护引擎的后续的备份循环中尝试别的备份(始于方框1225)。
在方框1245,这些操作会在图11的方框1130上继续进行。
转到图13,在方框1305,这些操作开始。回忆一下,如果移动而没有改变文件,那么将会到达图13的操作。举例来说,如果文件从一个受保护的目录被移动到另一个受保护的目录并且没有以其他方式改变(例如内容改变),那么可以进行图13的操作。
在方框1310,为接收到的记录创建命名空间记录。举例来说,参考图2,响应于正在移动的文件,数据保护引擎可以使用编目管理器225来创建新的命名空间记录。
在方框1315,新的命名空间记录会被链接到代表文件系统对象的先前文件记录。举例来说,参考图2和8,数据保护引擎220可以指示编目管理器更新新的命名空间记录的fileRecordID字段,以便引用代表该对象的先前文件记录。
在方框1320,先前命名空间记录可被更新。举例来说,参考图2、8和9,在新的命名空间记录被创建并且被链接到先前文件记录之后,通过改变引用该文件的先前命名空间记录的tVisible字段,数据保护引擎220可以将该先前命名空间记录标记成在当前命名空间中是不可见的。
在方框1325,该操作会在图11的方框1130处继续进行。
图14是概括性代表了根据这里描述的主题方面响应于对象变化而对编目进行的变化的例示集合的框图。如所示,在T1,用于文件C:\foo\bar.txt的命名空间记录1405是存在的,并且链接到文件记录1435。
在时间T1与T2之间,该文件会从C:\foo\bar.txt移动到(例如重命名)c:\foo\baz.txt,但是该文件在其他方面并未改变。作为响应,在时间T2将会为文件创建新的命名空间记录1410,并且这个新的命名空间记录会链接到先前文件记录1435。
在时间T2与T3之间,文件将被再次移动(例如重命名),但是文件在其他方面并未发生变化。作为响应,在时间T3将会为文件创建新的命名空间记录1415,并且这个新的命名空间记录会链接到先前文件记录1435。
在时间T3与T4之间,文件将会发生变化,但是并未移动。作为响应,在时间T4将会创建新的命名空间记录1420以及新的文件记录1440。新的命名空间记录1420链接到新的文件记录1440。
在时间T4与T5之间,文件将会再次改变,但是并未移动。作为响应,在时间T5,新的命名空间记录1425将被创建,并且还会创建新的文件记录1445。所述新的命名空间记录1425链接到新的文件记录1445。
在时间T5与T6之间,文件的第一个版本被恢复至c:\baz.txt。作为响应,在时间T6,新的命名空间记录将被创建,并且链接到文件记录1435。可以看出,上述方法可以减少命名空间变化所需要的文件记录的数量。
从以上的详细描述中可以看出,这些方面是结合备份和变化日志来描述的。虽然这里描述的主题方面很容易得到不同修改和替换结构,但是所示出的某些实施例是在附图中显示的,并且在上文中已经对其进行了详细描述。然而应该理解,所要保护的主题各方面并不局限于所公开的具体形式,与此相反,其意图旨在覆盖落入这里描述的主题的不同方面的实质和范围以内的所有修改、替换结构以及等价物。
Claims (10)
1.一种用于在计算机上执行数据备份的方法,该方法包括:
打开(1010)变化日志,其中该变化日志包括指示发生了变化的文件系统对象的记录,所述文件系统对象包括在文件系统中;
读取(1015)变化日志,在读取该变化日志期间,另外的记录能够被同时写入该变化日志;
更新(1020)指示发生变化的文件系统对象的路径的数据结构;
如果该数据结构所反映的文件系统对象是在读取了变化日志之后改变的,则读取(1015)更多的变化日志,其中所述读取能够在将另外的记录写入变化日志以及根据另外的记录来更新数据结构期间同时进行;以及
使用该数据结构来更新(1030)编目,所述编目可用于构造在该编目所覆盖的备份集合时间存在的文件系统的命名空间,所述命名空间指示在备份集合时间存在于文件系统中的文件和目录。
2.权利要求1的方法,其中每一个记录都包括发生变化的文件系统对象的名称信息以及发生变化的文件系统对象的父亲的名称信息,该名称信息不包括发生变化的文件系统对象的完整路径或是发生变化的文件系统对象的父亲的完整路径。
3.权利要求1的方法,其中每一个记录都与指示变化日志中的记录序列的数字相关联。
4.权利要求3的方法,还包括:通过将文件系统对象的序列号与变化日志中的最后一个被读取的序列号相比较,确定数据结构中反映的文件系统对象是否在读取了变化日志之后发生变化。
5.一种用于在计算机上执行数据备份的设备,所述设备包括:
用于接收(1110)指示文件系统的文件系统对象所发生的变化的变化记录的装置;
用于如果文件系统对象发生变化而没有移动,执行(1120)包含下列各项的操作的装置:
为该文件系统对象创建(1210)第一命名空间记录;
为该文件系统对象创建(1215)新的文件记录;
将第一命名空间记录链接(1220)到新的文件记录;
用于如果移动而没有改变文件系统对象,则执行(1125)包含下列各项的操作的装置:
为该文件系统对象创建(1310)第二命名空间记录,以及
将第二命名空间记录链接(1315)到代表该文件系统对象的先前文件记录,所述先前文件记录是在接收变化日志之前存在的。
6.权利要求5的设备,还包括:用于尝试创建文件系统对象的备份拷贝的装置,以及用于如果成功的话,则更新先前命名空间记录,以便指示先前命名空间记录在当前命名空间中不再可见的装置。
7.权利要求5的设备,还包括:用于尝试创建文件系统对象的备份拷贝的装置,以及用于如果不成功,则删除第一命名空间记录的装置。
8.权利要求5的设备,还包括:用于如果移动而没有改变文件系统对象,则更新先前命名空间记录,以便指示先前命名空间记录在当前命名空间中不再可见的装置。
9.权利要求5的设备,还包括:用于如果变化日志指示文件系统对象已被删除,则使用指示文件系统对象删除时间的值来更新先前命名空间记录的装置。
10.一种用于在计算机上执行数据备份的系统,包括:
变化检测器(210),可以通过操作来打开文件系统的变化日志,并且读取变化日志的记录,在读取该变化日志期间,另外的记录能够被同时写入该变化日志,该变化检测器还可以通过操作来创建指示发生变化的文件系统对象的路径的数据结构;
编目管理器(225),可以通过操作来提供对编目的访问,所述编目包括命名空间表和文件表,所述命名空间表指示在文件系统上存在的文件和目录以及文件和目录存在的时间;以及
数据保护引擎(220),可以通过操作来从变化检测器获取变化数据记录,每一个变化数据记录标识文件系统对象以及该文件系统对象发生的变化,所述数据保护引擎还可以通过操作来使用编目管理器更新编目,以便保持命名空间表。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/959,401 US9824091B2 (en) | 2010-12-03 | 2010-12-03 | File system backup using change journal |
US12/959401 | 2010-12-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102567140A CN102567140A (zh) | 2012-07-11 |
CN102567140B true CN102567140B (zh) | 2015-09-23 |
Family
ID=46163199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110395113.2A Active CN102567140B (zh) | 2010-12-03 | 2011-12-02 | 使用变化日志的文件系统备份 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9824091B2 (zh) |
EP (1) | EP2646923B1 (zh) |
CN (1) | CN102567140B (zh) |
WO (1) | WO2012075475A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI582611B (zh) * | 2015-11-27 | 2017-05-11 | 宇瞻科技股份有限公司 | 具揮發性之資料還原裝置、資料儲存裝置及其控制方法 |
Families Citing this family (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9824091B2 (en) | 2010-12-03 | 2017-11-21 | Microsoft Technology Licensing, Llc | File system backup using change journal |
US8620894B2 (en) | 2010-12-21 | 2013-12-31 | Microsoft Corporation | Searching files |
CN102841897B (zh) * | 2011-06-23 | 2016-03-02 | 阿里巴巴集团控股有限公司 | 一种实现增量数据抽取的方法、装置及系统 |
US8930330B1 (en) | 2011-06-27 | 2015-01-06 | Amazon Technologies, Inc. | Validation of log formats |
US8843443B1 (en) | 2011-06-30 | 2014-09-23 | Emc Corporation | Efficient backup of virtual data |
US9158632B1 (en) | 2011-06-30 | 2015-10-13 | Emc Corporation | Efficient file browsing using key value databases for virtual backups |
US9311327B1 (en) | 2011-06-30 | 2016-04-12 | Emc Corporation | Updating key value databases for virtual backups |
US8949829B1 (en) | 2011-06-30 | 2015-02-03 | Emc Corporation | Virtual machine disaster recovery |
US9229951B1 (en) * | 2011-06-30 | 2016-01-05 | Emc Corporation | Key value databases for virtual backups |
US8849777B1 (en) | 2011-06-30 | 2014-09-30 | Emc Corporation | File deletion detection in key value databases for virtual backups |
US9652741B2 (en) | 2011-07-08 | 2017-05-16 | Box, Inc. | Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof |
GB201115083D0 (en) * | 2011-08-31 | 2011-10-19 | Data Connection Ltd | Identifying data items |
GB2500152A (en) | 2011-11-29 | 2013-09-11 | Box Inc | Mobile platform file and folder selection functionalities for offline access and synchronization |
US8914327B2 (en) * | 2012-03-16 | 2014-12-16 | Apple Inc. | Methods and systems for searching a backup volume |
US9575981B2 (en) | 2012-04-11 | 2017-02-21 | Box, Inc. | Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system |
GB2505272B (en) | 2012-05-04 | 2014-07-09 | Box Inc | Repository redundancy implementation of a system which incrementally updates clients with events that occurred via cloud-enabled platform |
US9794256B2 (en) | 2012-07-30 | 2017-10-17 | Box, Inc. | System and method for advanced control tools for administrators in a cloud-based service |
US9558202B2 (en) | 2012-08-27 | 2017-01-31 | Box, Inc. | Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment |
US9553758B2 (en) | 2012-09-18 | 2017-01-24 | Box, Inc. | Sandboxing individual applications to specific user folders in a cloud-based service |
US10235383B2 (en) | 2012-12-19 | 2019-03-19 | Box, Inc. | Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment |
CN103914467B (zh) * | 2012-12-31 | 2017-07-14 | 鼎捷软件股份有限公司 | 数据变化标记装置 |
US9396245B2 (en) * | 2013-01-02 | 2016-07-19 | Box, Inc. | Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
US9953036B2 (en) | 2013-01-09 | 2018-04-24 | Box, Inc. | File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
US9507795B2 (en) | 2013-01-11 | 2016-11-29 | Box, Inc. | Functionalities, features, and user interface of a synchronization client to a cloud-based environment |
EP2757491A1 (en) | 2013-01-17 | 2014-07-23 | Box, Inc. | Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform |
US9552363B2 (en) * | 2013-04-30 | 2017-01-24 | Microsoft Technology Licensing, Llc | File management with placeholders |
US9405767B2 (en) | 2013-05-01 | 2016-08-02 | Microsoft Technology Licensing, Llc | Streaming content and placeholders |
US10846074B2 (en) | 2013-05-10 | 2020-11-24 | Box, Inc. | Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client |
US10725968B2 (en) | 2013-05-10 | 2020-07-28 | Box, Inc. | Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform |
US9633037B2 (en) | 2013-06-13 | 2017-04-25 | Box, Inc | Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform |
US9805050B2 (en) | 2013-06-21 | 2017-10-31 | Box, Inc. | Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform |
US9535924B2 (en) | 2013-07-30 | 2017-01-03 | Box, Inc. | Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
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 |
US9552242B1 (en) | 2013-09-25 | 2017-01-24 | Amazon Technologies, Inc. | Log-structured distributed storage using a single log sequence number space |
US9218494B2 (en) | 2013-10-16 | 2015-12-22 | Citrix Systems, Inc. | Secure client drive mapping and file storage system for mobile device management type security |
TWI499923B (zh) * | 2013-10-24 | 2015-09-11 | Synology Inc | 提供備份系統之方法及相關備份系統 |
US9760480B1 (en) | 2013-11-01 | 2017-09-12 | Amazon Technologies, Inc. | Enhanced logging using non-volatile system memory |
US10387399B1 (en) | 2013-11-01 | 2019-08-20 | Amazon Technologies, Inc. | Efficient database journaling using non-volatile system memory |
US10311152B2 (en) * | 2013-12-20 | 2019-06-04 | Hitachi Vantara Corporation | System for queue based object cloning |
US9785510B1 (en) | 2014-05-09 | 2017-10-10 | Amazon Technologies, Inc. | Variable data replication for storage implementing data backup |
US10452484B2 (en) * | 2014-05-15 | 2019-10-22 | Carbonite, Inc. | Systems and methods for time-based folder restore |
CN105095319B (zh) | 2014-05-23 | 2019-04-19 | 邓寅生 | 基于时间序列化的文档的标识、关联、搜索及展现的系统 |
US10530854B2 (en) | 2014-05-30 | 2020-01-07 | Box, Inc. | Synchronization of permissioned content in cloud-based environments |
US11099946B1 (en) | 2014-06-05 | 2021-08-24 | EMC IP Holding Company LLC | Differential restore using block-based backups |
US9760445B1 (en) | 2014-06-05 | 2017-09-12 | EMC IP Holding Company LLC | Data protection using change-based measurements in block-based backup |
US10303663B1 (en) | 2014-06-12 | 2019-05-28 | Amazon Technologies, Inc. | Remote durable logging for journaling file systems |
JP6327028B2 (ja) * | 2014-07-14 | 2018-05-23 | 日本電気株式会社 | オブジェクトストレージシステムおよびその制御方法およびその制御プログラム |
US9953038B2 (en) * | 2015-01-30 | 2018-04-24 | Microsoft Technology Licensing, Llc | Cloud-based hierarchical system preservation |
US10049121B2 (en) | 2015-03-30 | 2018-08-14 | International Business Machines Corporation | Clone file backup and restore |
US10055299B2 (en) | 2015-03-30 | 2018-08-21 | International Business Machines Corporation | Clone file backup and restore |
US10409770B1 (en) * | 2015-05-14 | 2019-09-10 | Amazon Technologies, Inc. | Automatic archiving of data store log data |
US9817729B2 (en) | 2015-07-30 | 2017-11-14 | Zerto Ltd. | Method for restoring files from a continuous recovery system |
US10621524B2 (en) | 2015-11-09 | 2020-04-14 | Dassault Systemes Americas Corp. | Exporting hierarchical data from a source code management (SCM) system to a product lifecycle management (PLM) system |
US10140350B2 (en) * | 2015-11-09 | 2018-11-27 | Dassault Systemes Americas Corp. | Bi-directional synchronization of data between a product lifecycle management (PLM) system and a source code management (SCM) system |
US10621526B2 (en) | 2015-11-09 | 2020-04-14 | Dassault Systemes Americas Corp. | Exporting hierarchical data from a product lifecycle management (PLM) system to a source code management (SCM) system |
JP6719890B2 (ja) * | 2015-11-20 | 2020-07-08 | キヤノン株式会社 | 情報処理装置、ファイル監視システム、情報処理装置の制御方法及びプログラム |
US10423493B1 (en) * | 2015-12-21 | 2019-09-24 | Amazon Technologies, Inc. | Scalable log-based continuous data protection for distributed databases |
CN105718544B (zh) * | 2016-01-18 | 2019-08-23 | 北京金山安全管理系统技术有限公司 | 一种办公文档管理方法和装置 |
US11741091B2 (en) * | 2016-12-01 | 2023-08-29 | Ab Initio Technology Llc | Generating, accessing, and displaying lineage metadata |
US11269731B1 (en) | 2017-11-22 | 2022-03-08 | Amazon Technologies, Inc. | Continuous data protection |
CN108304583A (zh) * | 2018-03-06 | 2018-07-20 | 北京顶象技术有限公司 | 一种文件采集方法及装置 |
EP3719664A1 (en) * | 2019-04-03 | 2020-10-07 | Advanced Digital Broadcast S.A. | System and method for or sharing objects based on the universal plug and play (upnp) content directory service (cds) protocol |
CN110888790B (zh) * | 2019-11-29 | 2024-02-27 | 杭州迪普科技股份有限公司 | 日志管理方法及装置、电子设备、存储介质 |
US11561947B2 (en) * | 2020-09-17 | 2023-01-24 | EMC IP Holding Company LLC | File lifetime tracking for cloud-based object stores |
US20220138151A1 (en) * | 2020-11-04 | 2022-05-05 | Netapp Inc. | Sibling object generation for storing results of operations performed upon base objects |
US11755590B2 (en) | 2020-11-04 | 2023-09-12 | Netapp, Inc. | Data connector component for implementing integrity checking, anomaly detection, and file system metadata analysis |
EP4002143A1 (en) * | 2020-11-19 | 2022-05-25 | Datadobi bv | Storage of file system items related to a versioned snapshot of a directory-based file system onto a key-object storage system |
US11675809B2 (en) | 2021-03-02 | 2023-06-13 | International Business Machines Corporation | Replicating data changes using multiple storage devices and tracking records of pending data changes stored on the storage devices |
CN116594961B (zh) * | 2023-07-19 | 2023-09-22 | 安徽华云安科技有限公司 | 文件处理方法、装置、设备以及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1784677A (zh) * | 2004-03-31 | 2006-06-07 | 微软公司 | 用于数据库备份的一致性检验的系统和方法 |
CN1783082A (zh) * | 2004-11-30 | 2006-06-07 | 微软公司 | 用于与文件系统保持命名空间一致性的方法和系统 |
CN101201766A (zh) * | 2006-12-14 | 2008-06-18 | 英业达股份有限公司 | 设备信息修复系统及方法 |
Family Cites Families (168)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6597347B1 (en) | 1991-11-26 | 2003-07-22 | Itu Research Inc. | Methods and apparatus for providing touch-sensitive input in multiple degrees of freedom |
US5757360A (en) | 1995-05-03 | 1998-05-26 | Mitsubishi Electric Information Technology Center America, Inc. | Hand held computer control device |
US5680640A (en) | 1995-09-01 | 1997-10-21 | Emc Corporation | System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state |
JP3254642B2 (ja) | 1996-01-11 | 2002-02-12 | 株式会社日立製作所 | 索引の表示方法 |
US5973670A (en) | 1996-12-31 | 1999-10-26 | International Business Machines Corporation | Tactile feedback controller for computer cursor control device |
US6076051A (en) | 1997-03-07 | 2000-06-13 | Microsoft Corporation | Information retrieval utilizing semantic representation of text |
JP3640502B2 (ja) | 1997-06-18 | 2005-04-20 | 富士写真フイルム株式会社 | メディア残量提示方法 |
US7346586B1 (en) | 1997-07-15 | 2008-03-18 | Silverbrook Research Pty Ltd | Validation protocol and system |
US6297838B1 (en) | 1997-08-29 | 2001-10-02 | Xerox Corporation | Spinning as a morpheme for a physical manipulatory grammar |
US6079000A (en) | 1997-12-30 | 2000-06-20 | Unisys Corporation | XPC backup for in-process audit |
US6219034B1 (en) | 1998-02-23 | 2001-04-17 | Kristofer E. Elbing | Tactile computer interface |
US6189016B1 (en) | 1998-06-12 | 2001-02-13 | Microsoft Corporation | Journaling ordered changes in a storage volume |
US6466901B1 (en) | 1998-11-30 | 2002-10-15 | Apple Computer, Inc. | Multi-language document search and retrieval system |
US6397308B1 (en) | 1998-12-31 | 2002-05-28 | Emc Corporation | Apparatus and method for differential backup and restoration of data in a computer storage system |
DE19917660A1 (de) | 1999-04-19 | 2000-11-02 | Deutsch Zentr Luft & Raumfahrt | Verfahren und Eingabeeinrichtung zum Steuern der Lage eines in einer virtuellen Realität graphisch darzustellenden Objekts |
US8335775B1 (en) | 1999-08-05 | 2012-12-18 | Oracle International Corporation | Versioning in internet file system |
US6675205B2 (en) | 1999-10-14 | 2004-01-06 | Arcessa, Inc. | Peer-to-peer automated anonymous asynchronous file sharing |
US6526418B1 (en) | 1999-12-16 | 2003-02-25 | Livevault Corporation | Systems and methods for backing up data files |
US6625623B1 (en) | 1999-12-16 | 2003-09-23 | Livevault Corporation | Systems and methods for backing up data files |
US6981040B1 (en) | 1999-12-28 | 2005-12-27 | Utopy, Inc. | Automatic, personalized online information and product services |
EP1247215A4 (en) | 2000-01-10 | 2009-04-29 | Iron Mountain Inc | LAYER ARCHITECTURE AS AN INTERFACE BETWEEN APPLIANCES AND APPLICATIONS |
JP3404651B2 (ja) | 2000-03-30 | 2003-05-12 | 財団法人理工学振興会 | 三次元入力装置 |
US7062567B2 (en) | 2000-11-06 | 2006-06-13 | Endeavors Technology, Inc. | Intelligent network streaming and execution system for conventionally coded applications |
US6662281B2 (en) | 2001-01-31 | 2003-12-09 | Hewlett-Packard Development Company, L.P. | Redundant backup device |
SG103289A1 (en) | 2001-05-25 | 2004-04-29 | Meng Soon Cheo | System for indexing textual and non-textual files |
US6662198B2 (en) * | 2001-08-30 | 2003-12-09 | Zoteca Inc. | Method and system for asynchronous transmission, backup, distribution of data and file sharing |
US7162587B2 (en) | 2002-05-08 | 2007-01-09 | Hiken Michael S | Method and apparatus for recovering redundant cache data of a failed controller and reestablishing redundancy |
JP2005535008A (ja) | 2002-05-31 | 2005-11-17 | フジツウ アイティー ホールディングス,インコーポレイティド | インテリジェント記憶装置管理方法およびシステム |
US20040010524A1 (en) | 2002-07-12 | 2004-01-15 | Wallace Michael W. | Efficient method and system for delivering resources in broadcast environment |
US8417678B2 (en) | 2002-07-30 | 2013-04-09 | Storediq, Inc. | System, method and apparatus for enterprise policy management |
US6934822B2 (en) | 2002-08-06 | 2005-08-23 | Emc Corporation | Organization of multiple snapshot copies in a data storage system |
US7240104B2 (en) | 2002-08-21 | 2007-07-03 | Defywire, Inc. | Method and apparatus for managing resources stored on a communication device |
DE60327329D1 (de) | 2002-09-10 | 2009-06-04 | Exagrid Systems Inc | Primär- und ferndatensicherung mit knoten-failover |
US7051174B2 (en) | 2002-09-24 | 2006-05-23 | International Business Machines Corporation | Method, system, and program for restoring data in cache |
US7085755B2 (en) | 2002-11-07 | 2006-08-01 | Thomson Global Resources Ag | Electronic document repository management and access system |
US7289973B2 (en) | 2002-12-19 | 2007-10-30 | Mathon Systems, Inc. | Graphical user interface for system and method for managing content |
US8131691B1 (en) | 2002-12-30 | 2012-03-06 | Symantec Operating Corporation | System and method for updating a search engine index based on which files are identified in a file change log |
KR100537503B1 (ko) | 2002-12-31 | 2005-12-19 | 삼성전자주식회사 | 공간형정보입력장치 구성 방법, 재구성 방법, 착용인식방법 및그 장치 |
US8375008B1 (en) | 2003-01-17 | 2013-02-12 | Robert Gomes | Method and system for enterprise-wide retention of digital or electronic data |
US6823493B2 (en) | 2003-01-23 | 2004-11-23 | Aurilab, Llc | Word recognition consistency check and error correction system and method |
US7478096B2 (en) | 2003-02-26 | 2009-01-13 | Burnside Acquisition, Llc | History preservation in a computer storage system |
US7421438B2 (en) | 2004-04-29 | 2008-09-02 | Microsoft Corporation | Metadata editing control |
SE525128C8 (sv) | 2003-03-26 | 2005-08-03 | Systemok Ab | En anordning för att återställa åtminstone en av filer, mappar och applikationsassocierade filer i en dator till ett tidigare tillstånd |
US6839724B2 (en) | 2003-04-17 | 2005-01-04 | Oracle International Corporation | Metamodel-based metadata change management |
JP4124348B2 (ja) | 2003-06-27 | 2008-07-23 | 株式会社日立製作所 | 記憶システム |
US7349913B2 (en) | 2003-08-21 | 2008-03-25 | Microsoft Corporation | Storage platform for organizing, searching, and sharing data |
US7225208B2 (en) | 2003-09-30 | 2007-05-29 | Iron Mountain Incorporated | Systems and methods for backing up data files |
US8417673B2 (en) | 2003-10-07 | 2013-04-09 | International Business Machines Corporation | Method, system, and program for retaining versions of files |
US20050091271A1 (en) | 2003-10-23 | 2005-04-28 | Kasy Srinivas | Systems and methods that schematize audio/video data |
US20050203851A1 (en) | 2003-10-25 | 2005-09-15 | Macrovision Corporation | Corruption and its deterrence in swarm downloads of protected files in a file sharing network |
US7168001B2 (en) | 2004-02-06 | 2007-01-23 | Hewlett-Packard Development Company, L.P. | Transaction processing apparatus and method |
US20050210041A1 (en) | 2004-03-18 | 2005-09-22 | Hitachi, Ltd. | Management method for data retention |
US7167880B2 (en) | 2004-04-14 | 2007-01-23 | Hitachi, Ltd. | Method and apparatus for avoiding journal overflow on backup and recovery system using storage based journaling |
US7831561B2 (en) | 2004-05-18 | 2010-11-09 | Oracle International Corporation | Automated disk-oriented backups |
US7386566B2 (en) | 2004-07-15 | 2008-06-10 | Microsoft Corporation | External metadata processing |
US7702618B1 (en) | 2004-07-26 | 2010-04-20 | Google Inc. | Information retrieval system for archiving multiple document versions |
US7502961B2 (en) | 2004-09-09 | 2009-03-10 | Microsoft Corporation | Method, system, and apparatus for providing alert synthesis in a data protection system |
US7769709B2 (en) | 2004-09-09 | 2010-08-03 | Microsoft Corporation | Method, system, and apparatus for creating an archive routine for protecting data in a data protection system |
US7567974B2 (en) | 2004-09-09 | 2009-07-28 | Microsoft Corporation | Method, system, and apparatus for configuring a data protection system |
US7904913B2 (en) | 2004-11-02 | 2011-03-08 | Bakbone Software, Inc. | Management interface for a system that provides automated, real-time, continuous data protection |
JP2008521139A (ja) | 2004-11-17 | 2008-06-19 | アバレア, インコーポレイテッド | デジタル資産を管理するシステムおよび方法 |
US7627547B2 (en) * | 2004-11-29 | 2009-12-01 | Oracle International Corporation | Processing path-based database operations |
US7610307B2 (en) * | 2004-11-30 | 2009-10-27 | Microsoft Corporation | Method and system of detecting file system namespace changes and restoring consistency |
US20060117048A1 (en) * | 2004-11-30 | 2006-06-01 | Microsoft Corporation | Method and system of synchronizing filter metadata after a restore |
CN100349127C (zh) | 2004-12-03 | 2007-11-14 | 华为技术有限公司 | 嵌入式系统数据备份装置及方法 |
US20060129618A1 (en) | 2004-12-10 | 2006-06-15 | Albert Maier | Method and a computer system for synchronising backups of objects and of meta data about the objects |
US7480654B2 (en) | 2004-12-20 | 2009-01-20 | International Business Machines Corporation | Achieving cache consistency while allowing concurrent changes to metadata |
JP4759574B2 (ja) | 2004-12-23 | 2011-08-31 | ソレラ ネットワークス インコーポレイテッド | ネットワークパケットキャプチャ分散ストレージシステムの方法及び機器 |
US7272592B2 (en) | 2004-12-30 | 2007-09-18 | Microsoft Corporation | Updating metadata stored in a read-only media file |
US7991767B2 (en) | 2005-04-29 | 2011-08-02 | International Business Machines Corporation | Method for providing a shared search index in a peer to peer network |
US7685106B2 (en) | 2005-04-29 | 2010-03-23 | International Business Machines Corporation | Sharing of full text index entries across application boundaries |
US7774322B2 (en) | 2005-05-25 | 2010-08-10 | Microsoft Corporation | File transfer error handling |
US7933936B2 (en) | 2005-06-10 | 2011-04-26 | Network Appliance, Inc. | Method and system for automatic management of storage space |
US7464126B2 (en) | 2005-07-21 | 2008-12-09 | International Business Machines Corporation | Method for creating an application-consistent remote copy of data using remote mirroring |
US20070027935A1 (en) | 2005-07-28 | 2007-02-01 | Haselton William R | Backing up source files in their native file formats to a target storage |
JP2009506405A (ja) | 2005-08-09 | 2009-02-12 | ネクサン テクノロジーズ カナダ インコーポレイテッド | データアーカイブシステム |
US7685175B2 (en) | 2005-08-12 | 2010-03-23 | Michael Lee Carroll | Content manager |
US7716171B2 (en) | 2005-08-18 | 2010-05-11 | Emc Corporation | Snapshot indexing |
US9026512B2 (en) | 2005-08-18 | 2015-05-05 | Emc Corporation | Data object search and retrieval |
US8601225B2 (en) | 2005-09-16 | 2013-12-03 | Inmage Systems, Inc. | Time ordered view of backup data on behalf of a host |
US7831789B1 (en) | 2005-10-06 | 2010-11-09 | Acronis Inc. | Method and system for fast incremental backup using comparison of descriptors |
US7899662B2 (en) | 2005-10-12 | 2011-03-01 | Storage Appliance Corporation | Data backup system including a data protection component |
JP4883986B2 (ja) | 2005-11-16 | 2012-02-22 | 株式会社日立製作所 | 計算機システム、管理計算機及びデータリカバリ方法 |
WO2007062254A2 (en) | 2005-11-28 | 2007-05-31 | Commvault Systems, Inc. | Systems and methods for data management |
US7904425B2 (en) | 2005-12-13 | 2011-03-08 | International Business Machines Corporation | Generating backup sets to a specific point in time |
CN100426246C (zh) | 2005-12-28 | 2008-10-15 | 英业达股份有限公司 | 存储系统的高速缓存的数据的保护方法 |
US8015441B2 (en) | 2006-02-03 | 2011-09-06 | Emc Corporation | Verification of computer backup data |
US20070208918A1 (en) | 2006-03-01 | 2007-09-06 | Kenneth Harbin | Method and apparatus for providing virtual machine backup |
US7533569B2 (en) | 2006-03-15 | 2009-05-19 | Qualcomm, Incorporated | Sensor-based orientation system |
US8417746B1 (en) | 2006-04-03 | 2013-04-09 | F5 Networks, Inc. | File system management with enhanced searchability |
CA2648428C (en) | 2006-04-07 | 2017-11-21 | Data Storage Group | Data compression and storage techniques |
US7441092B2 (en) | 2006-04-20 | 2008-10-21 | Microsoft Corporation | Multi-client cluster-based backup and restore |
US7809685B2 (en) | 2006-04-21 | 2010-10-05 | Ricoh Co., Ltd. | Secure and efficient methods for logging and synchronizing data exchanges |
US9195665B2 (en) | 2006-04-28 | 2015-11-24 | Hewlett-Packard Development Company, L.P. | Method and system for data retention |
US20090048860A1 (en) | 2006-05-08 | 2009-02-19 | Corbis Corporation | Providing a rating for digital media based on reviews and customer behavior |
US7613750B2 (en) | 2006-05-29 | 2009-11-03 | Microsoft Corporation | Creating frequent application-consistent backups efficiently |
US7882064B2 (en) | 2006-07-06 | 2011-02-01 | Emc Corporation | File system replication |
US8384665B1 (en) | 2006-07-14 | 2013-02-26 | Ailive, Inc. | Method and system for making a selection in 3D virtual environment |
US20080034004A1 (en) | 2006-08-04 | 2008-02-07 | Pavel Cisler | System for electronic backup |
US8121977B2 (en) | 2006-08-30 | 2012-02-21 | Iwmage Systems, Inc. | Ensuring data persistence and consistency in enterprise storage backup systems |
US7830571B2 (en) | 2006-09-28 | 2010-11-09 | Ricoh Company, Ltd. | System, apparatus and method for document management |
US20080091895A1 (en) | 2006-10-11 | 2008-04-17 | Inventec Corporation | Cache data backup method and system for computer clustering systems |
US7797323B1 (en) | 2006-10-11 | 2010-09-14 | Hewlett-Packard Development Company, L.P. | Producing representative hashes for segments of a file |
US7636712B2 (en) | 2006-11-14 | 2009-12-22 | Microsoft Corporation | Batching document identifiers for result trimming |
US8874517B2 (en) | 2007-01-31 | 2014-10-28 | Hewlett-Packard Development Company, L.P. | Summarizing file system operations with a file system journal |
US20080263103A1 (en) | 2007-03-02 | 2008-10-23 | Mcgregor Lucas | Digital asset management system (DAMS) |
US8126854B1 (en) | 2007-03-05 | 2012-02-28 | Emc Corporation | Using versioning to back up multiple versions of a stored object |
US7783677B2 (en) * | 2007-03-30 | 2010-08-24 | Microsoft Corporation | Tracking file system namespace changes during transactions |
US7693813B1 (en) | 2007-03-30 | 2010-04-06 | Google Inc. | Index server architecture using tiered and sharded phrase posting lists |
US7720819B2 (en) | 2007-04-12 | 2010-05-18 | International Business Machines Corporation | Method and apparatus combining revision based and time based file data protection |
US20080270396A1 (en) | 2007-04-25 | 2008-10-30 | Michael Herscovici | Indexing versioned document sequences |
US7822927B1 (en) | 2007-05-14 | 2010-10-26 | Emc Corporation | Dynamically configurable reverse DNLC lookup |
US8332907B2 (en) | 2007-06-22 | 2012-12-11 | Microsoft Corporation | Detection and management of controlled files |
US8650615B2 (en) | 2007-09-28 | 2014-02-11 | Emc Corporation | Cross domain delegation by a storage virtualization system |
US8346731B1 (en) | 2007-09-28 | 2013-01-01 | Symantec Corporation | Techniques for global single instance indexing for backup data |
US7890714B1 (en) | 2007-09-28 | 2011-02-15 | Symantec Operating Corporation | Redirection of an ongoing backup |
KR101433859B1 (ko) | 2007-10-12 | 2014-08-27 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 그것의 파일 데이터 관리 방법 |
CN100483420C (zh) | 2007-11-09 | 2009-04-29 | 清华大学 | 基于快照的细粒度文件与目录版本管理方法 |
KR101078287B1 (ko) | 2007-12-14 | 2011-10-31 | 한국전자통신연구원 | 다중 복제를 지원하는 분산 파일 시스템에서 데이터 서버의복구 방법 및 그에 적당한 메타데이터 스토리지 및 저장방법 |
US8312023B2 (en) | 2007-12-21 | 2012-11-13 | Georgetown University | Automated forensic document signatures |
US7877626B2 (en) | 2007-12-31 | 2011-01-25 | Datadirect Networks, Inc. | Method and system for disk storage devices rebuild in a data storage system |
JP5075653B2 (ja) | 2008-01-21 | 2012-11-21 | 株式会社日立製作所 | データベース管理方法、データベース管理装置、データベース管理プログラム、及び、データベースシステム |
US8375396B2 (en) | 2008-01-31 | 2013-02-12 | Hewlett-Packard Development Company, L.P. | Backup procedure with transparent load balancing |
JP5319133B2 (ja) | 2008-02-07 | 2013-10-16 | キヤノン株式会社 | 文書管理システム、文書管理方法およびプログラム |
US20090292677A1 (en) | 2008-02-15 | 2009-11-26 | Wordstream, Inc. | Integrated web analytics and actionable workbench tools for search engine optimization and marketing |
US9690668B2 (en) | 2008-03-05 | 2017-06-27 | Ca, Inc. | Data boundary identification |
US9690786B2 (en) | 2008-03-17 | 2017-06-27 | Tivo Solutions Inc. | Systems and methods for dynamically creating hyperlinks associated with relevant multimedia content |
US8856088B2 (en) | 2008-04-01 | 2014-10-07 | Microsoft Corporation | Application-managed file versioning |
CN201233581Y (zh) | 2008-04-23 | 2009-05-06 | 鲁东大学 | 通过指纹识别生成密码的鼠标 |
WO2009134772A2 (en) | 2008-04-29 | 2009-11-05 | Maxiscale, Inc | Peer-to-peer redundant file server system and methods |
US20090289110A1 (en) | 2008-05-22 | 2009-11-26 | Paul Regen | Wireless Biometric Computer Mouse with Integrated Credit Card Reader |
US7987289B2 (en) | 2008-06-24 | 2011-07-26 | Microsoft Corporation | Participating in cloud as totally stubby edge |
US7596620B1 (en) | 2008-11-04 | 2009-09-29 | Aptana, Inc. | System and method for developing, deploying, managing and monitoring a web application in a single environment |
US8255430B2 (en) * | 2008-08-26 | 2012-08-28 | Caringo, Inc. | Shared namespace for storage clusters |
US8238256B2 (en) | 2008-09-08 | 2012-08-07 | Nugent Raymond M | System and method for cloud computing |
US8452731B2 (en) | 2008-09-25 | 2013-05-28 | Quest Software, Inc. | Remote backup and restore |
US8271996B1 (en) | 2008-09-29 | 2012-09-18 | Emc Corporation | Event queues |
US20100083109A1 (en) | 2008-09-29 | 2010-04-01 | Smart Technologies Ulc | Method for handling interactions with multiple users of an interactive input system, and interactive input system executing the method |
WO2010065271A2 (en) | 2008-11-25 | 2010-06-10 | Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | Systems and methods for providing continuous file protection at block level |
CN102246176B (zh) | 2008-12-12 | 2015-11-25 | 霍夫曼-拉罗奇有限公司 | 用于管理分析设备的数据的方法和系统 |
US20100153313A1 (en) | 2008-12-15 | 2010-06-17 | Symbol Technologies, Inc. | Interface adaptation system |
US8219759B2 (en) | 2009-03-16 | 2012-07-10 | Novell, Inc. | Adaptive display caching |
US8769055B2 (en) | 2009-04-24 | 2014-07-01 | Microsoft Corporation | Distributed backup and versioning |
WO2010137183A1 (en) | 2009-05-29 | 2010-12-02 | Hitachi,Ltd. | Storage system and data storage method using storage system |
US20100306171A1 (en) | 2009-06-02 | 2010-12-02 | Microsoft Corporation | Timeline Experience for Restore User Interface |
JP4930555B2 (ja) | 2009-07-09 | 2012-05-16 | 富士通株式会社 | 制御装置、制御方法およびストレージシステム |
US9058298B2 (en) | 2009-07-16 | 2015-06-16 | International Business Machines Corporation | Integrated approach for deduplicating data in a distributed environment that involves a source and a target |
US20120016778A1 (en) | 2009-07-28 | 2012-01-19 | Mathias Salle | Controlling cloud services |
US20110055559A1 (en) | 2009-08-27 | 2011-03-03 | Jun Li | Data retention management |
US8271653B2 (en) | 2009-08-31 | 2012-09-18 | Red Hat, Inc. | Methods and systems for cloud management using multiple cloud management schemes to allow communication between independently controlled clouds |
US8595188B2 (en) | 2009-11-06 | 2013-11-26 | International Business Machines Corporation | Operating system and file system independent incremental data backup |
US8458186B2 (en) | 2009-11-06 | 2013-06-04 | Symantec Corporation | Systems and methods for processing and managing object-related data for use by a plurality of applications |
US8447734B2 (en) | 2009-11-30 | 2013-05-21 | Hewlett-Packard Development Company, L.P. | HDAG backup system with variable retention |
EP3508978B1 (en) | 2010-03-12 | 2021-09-22 | BlackBerry Limited | Distributed catalog, data store, and indexing |
US20110246721A1 (en) | 2010-03-31 | 2011-10-06 | Sony Corporation | Method and apparatus for providing automatic synchronization appliance |
US8423735B2 (en) | 2010-05-21 | 2013-04-16 | International Business Machines Corporation | Space reservation in a deduplication system |
US9183560B2 (en) | 2010-05-28 | 2015-11-10 | Daniel H. Abelow | Reality alternate |
US8473458B2 (en) | 2010-07-29 | 2013-06-25 | Accenture Global Services Limited | Document migration |
US8527556B2 (en) | 2010-09-27 | 2013-09-03 | Business Objects Software Limited | Systems and methods to update a content store associated with a search index |
US8666944B2 (en) | 2010-09-29 | 2014-03-04 | Symantec Corporation | Method and system of performing a granular restore of a database from a differential backup |
US8533489B2 (en) | 2010-09-29 | 2013-09-10 | Microsoft Corporation | Searchable symmetric encryption with dynamic updating |
US8713024B2 (en) | 2010-11-22 | 2014-04-29 | Microsoft Corporation | Efficient forward ranking in a search engine |
US20120143824A1 (en) | 2010-12-02 | 2012-06-07 | Microsoft Corporation | Protecting files that include editable metadata |
US9824091B2 (en) | 2010-12-03 | 2017-11-21 | Microsoft Technology Licensing, Llc | File system backup using change journal |
US8627025B2 (en) | 2010-12-21 | 2014-01-07 | Microsoft Corporation | Protecting data during different connectivity states |
US8620894B2 (en) | 2010-12-21 | 2013-12-31 | Microsoft Corporation | Searching files |
US8484356B1 (en) | 2011-06-08 | 2013-07-09 | Emc Corporation | System and method for allocating a storage unit for backup in a storage system with load balancing |
US9229818B2 (en) | 2011-07-20 | 2016-01-05 | Microsoft Technology Licensing, Llc | Adaptive retention for backup data |
-
2010
- 2010-12-03 US US12/959,401 patent/US9824091B2/en active Active
-
2011
- 2011-12-02 CN CN201110395113.2A patent/CN102567140B/zh active Active
- 2011-12-03 WO PCT/US2011/063195 patent/WO2012075475A2/en unknown
- 2011-12-03 EP EP11845849.6A patent/EP2646923B1/en active Active
-
2017
- 2017-11-02 US US15/802,002 patent/US10558617B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1784677A (zh) * | 2004-03-31 | 2006-06-07 | 微软公司 | 用于数据库备份的一致性检验的系统和方法 |
CN1783082A (zh) * | 2004-11-30 | 2006-06-07 | 微软公司 | 用于与文件系统保持命名空间一致性的方法和系统 |
CN101201766A (zh) * | 2006-12-14 | 2008-06-18 | 英业达股份有限公司 | 设备信息修复系统及方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI582611B (zh) * | 2015-11-27 | 2017-05-11 | 宇瞻科技股份有限公司 | 具揮發性之資料還原裝置、資料儲存裝置及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2646923A2 (en) | 2013-10-09 |
US20180196826A1 (en) | 2018-07-12 |
US9824091B2 (en) | 2017-11-21 |
US20120143825A1 (en) | 2012-06-07 |
CN102567140A (zh) | 2012-07-11 |
EP2646923A4 (en) | 2017-06-21 |
EP2646923B1 (en) | 2019-08-07 |
US10558617B2 (en) | 2020-02-11 |
WO2012075475A3 (en) | 2012-10-11 |
WO2012075475A2 (en) | 2012-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102567140B (zh) | 使用变化日志的文件系统备份 | |
AU2021202623B2 (en) | System for synchronization of changes in edited websites and interactive applications | |
CN103765393B (zh) | 存储系统 | |
CN101460930B (zh) | 维护数据库与文件系统之间的链接级一致性 | |
US8548965B2 (en) | Changed files list with time buckets for efficient storage management | |
CN103262043B (zh) | 从差异备份中执行数据库的精细恢复的方法和系统 | |
US8131723B2 (en) | Recovering a file system to any point-in-time in the past with guaranteed structure, content consistency and integrity | |
US9104673B2 (en) | Method for supporting multiple filesystem implementations | |
US9378216B2 (en) | Filesystem replication using a minimal filesystem metadata changelog | |
US8452788B2 (en) | Information retrieval system, registration apparatus for indexes for information retrieval, information retrieval method and program | |
CN102567489B (zh) | 搜索文件 | |
CN103460197A (zh) | 计算机系统、文件管理方法以及元数据服务器 | |
US20080183773A1 (en) | Summarizing file system operations with a file system journal | |
CN103608809A (zh) | 推荐数据富集 | |
US7624106B1 (en) | Method and apparatus for generating user-level difference information about two data sets | |
CN100498777C (zh) | 管理电子文件系统中的列表和其它项 | |
KR100631741B1 (ko) | 멀티미디어 데이터 처리 방법 | |
US8452823B2 (en) | Method for coordinating relationships between multiple physical entities | |
CN101751398B (zh) | 文件管理方法 | |
JP2010044696A (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 | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150612 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150612 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |