当前位置: 首页 > 专利查询>微软公司专利>正文

用于文件系统的检查点技术方案

技术编号:8327677 阅读:174 留言:0更新日期:2013-02-14 13:39
这里所描述的主题的各个方面涉及用于文件系统的检查点。在一些方面中,针对文件系统的更新被组织成检查点存储桶。当希望有检查点时,后续的更新被导向另一个检查点存储桶。在针对当前检查点存储桶中的各项更新对各个全局表进行了更新之后,创建所述全局表的逻辑拷贝。该逻辑拷贝被存储为检查点数据的一部分。为了帮助恢复,检查点管理器可以等到当前检查点存储桶的所有更新都被写入到存储装置之后才把最终检查点数据写入到存储装置。该最终检查点数据可以涉及所述全局表的逻辑拷贝,并且包括用以验证检查点数据的正确性的验证代码。

【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
在向存储器件写入数据的过程当中可能会发生停电或系统故障。当这种情况发生时,数据可能会丢失或者变得不一致。举例来说,如果在帐户持有者从ATM提取现金的过程当中发生系统故障,则所述交易可能会不公平地倾向于银行或帐户持有者。作为另一个例子,如果在涉及盘存取的长时间计算期间发生系统故障,则可能要花费很长时间来重做所述计算。这里所要求保护的主题不限于解决任何缺点或者只在例如前面所描述的环境中操作的实施例。相反,提供本背景描述只是为了说明可以在其中实践这里所描述的一些实施例的一个示例性

技术实现思路
简而言之,这里所描述的主题的各个方面涉及用于文件系统的检查点。在一些方面中,针对文件系统的更新被组织到检查点存储桶。当希望有检查点时,后续的更新被导向另一个检查点存储桶。在对于当前检查点存储桶中的各项更新对各个全局表进行了更新之后,创建所述全局表的逻辑拷贝。该逻辑拷贝被存储为检查点数据的一部分。为了帮助恢复,检查点管理器可以等到当前检查点存储桶的所有更新都被写入到存储装置之后才把最终检查点数据写入到存储装置。该最终检查点数据可以涉及所述全局表的逻辑拷贝,并且包括用以验证检查点数据的正确性的验证代码。提供本
技术实现思路
是为了简要地标识出将在下面的具体实施方式部分中进一步描述的主题的一些方面。本
技术实现思路
不意图标识出所要求保护的主题的关键或必要特征,也不意图被用来限制所要求保护的主题的范围。除非上下文中明确地另有所指,否则“这里所描述的主题”这一表达法指的是在具体实施方式部分中所描述的主题。术语“各个/一些方面”应被理解为“至少一个方面”。标识出在具体实施方式部分中所描述的主题的一些方面并不意图标识出所要求保护的主题的关键或必要特征。在附图中作为举例而非限制示出了这里所描述的主题的前述各个方面和其他方面,其中相同的附图标记指代类似的元件,并且在附图中:。附图说明图1是表示可以把这里所描述的主题的各个方面合并到其中的示例性通用计算环境的方框图;图2是表示这里所描述的主题的各个方面可以在其中操作的系统的组件的示例性布置的方框图;图3是示出这里所描述的主题的各个方面的方框图;图4是总体上表示根据这里所描述的主题的各个方面的针对文件系统的更新的图示;图5是示出根据这里所描述的主题的各个方面的示例性检查点存储桶的方框图;以及图6-8是总体上表示根据这里所描述的主题的各个方面所可能发生的示例性动作的流程图。具体实施方式定义这里所使用的术语“包括”及其变体应被理解为意味着“包括但不限于”的开放性术语。除非上下文中明确地另有所指,否则术语“或者”应被理解为“以及/或者”。术语“基于”应被理解为“至少部分地基于”。术语“一个实施例”和“一实施例”应被理解为“至少一个实施例”。术语“另一个实施例”应被理解为“至少一个其他实施例”。其他明确的和隐含的定义可以被包括在下面。示例性操作环境图1示出了可以在其上实施这里所描述的主题的各个方面的适当计算系统环境100的一个例子。计算系统环境100仅仅是适当计算环境的一个例子,而不意图暗示关于这里所描述的主题的各个方面的使用或功能范围的任何限制。计算环境100也不应当被解释为关于在示例性操作环境100中所示出的任何一个组件或组件组合有任何依赖性或要求。这里所描述的主题的各个方面适于与多种其他通用或专用计算系统环境或配置进行操作。适用于这里所描述的主题的各个方面的公知的计算系统、环境或配置的例子包括个人计算机、服务器计算机、手持式或膝上型器件、多处理器系统、基于微控制器的系统、机顶盒、可编程消费电子装置、网络PC、小型计算机、大型计算机、个人数字助理(PDA)、游戏器件、打印机、各种电器(包括机顶盒、媒体中心或其他电器)、嵌入或附着到汽车上的计算器件、其他移动器件、包括任何前述系统或器件的分布式计算环境等等。可以在例如由计算机执行的程序模块之类的计算机可执行指令的一般情境中描述这里所描述的主题的各个方面。一般来说,程序模块包括施行特定任务或者实施特定抽象数据类型的例程、程序、对象、组件、数据结构等等。这里所描述的主题的各个方面还可以被实践在分布式计算环境中,其中各项任务由通过通信网络链接在一起的远程处理器件施行。在分布式计算环境中,各个程序模块可以同时处在包括存储器存储器件的本地和远程计算机存储介质中。参照图1,用于实施这里所描述的主题的各个方面的示例性系统包括采取计算机110的形式的通用计算器件。计算机可以包括能够执行指令的任何电子器件。计算机110的组件可以包括处理单元120、系统存储器130以及把包括系统存储器在内的各种系统组件耦合到处理单元120的系统总线121。系统总线121可以是几种类型的总线结构当中的任一种,其中包括使用多种总线体系结构当中的任一种的存储器总线或存储器控制器、外围总线以及局部总线。作为举例而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线、外围组件互连(PCI)总线(其也被称作夹层总线)、外围组件互连扩展(PCI-E)总线、高级图形端口(AGP)以及快速PCI(PCIe)。计算机110通常包括多种计算机可读介质。计算机可读介质可以是能够由计算机110访问的任何可用介质,并且包括易失性和非易失性介质以及可移除和不可移除介质。作为举例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括按照任何方法或技术实施的易失性和非易失性、可移除和不可移除介质,以用于存储诸如计算机可读指令、数据结构、程序模块或者其他数据之类的信息。计算机存储介质包括RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光盘存储装置、磁盒、磁带、磁盘存储装置或其他磁性存储器件或者可以被用来存储所期望的信息并且可由计算机110访问的任何其他媒体。通信介质通常把计算机可读指令、数据结构、程序模块或其他数据实现在调制的数据信号中,比如载波或其他传输机制,并且包括任何信息递送介质。术语“调制的数据信号”意味着信号的一项或更多项特性被以在所述信号中编码信息的方式设定或改变。作为举例而非限制,通信介质包括例如有线网络或直接连线连接之类的有线介质,以及例如声学、RF、红外和其他无线介质之类的无线介质。前述任何内容的各种组合也应当被包括在计算机可读介质的范围内。系统存储器130包括易失性和/或非易失性存储器的形式的计算机存储介质,比如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)通常被存储在ROM 131中,其包含例如在开机期间帮助在计算机110内的各个元件之间传输信息的基本例程。RAM 132通常包含可由处理单元120立即访问和/或当前正由其操作的数据和/或程序模块。作为举例而非限制,图1示出了操作系统134、应用程序135、其他程序模块136以及程序数据137。计算机110还可以包本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2010.06.15 US 12/8154181. 一种至少部分地由计算机实施的方法,所述方法包括:
表明将把第一更新集合与第一检查点相关联;
确定把关于第一检查点的检查点数据写入到文件系统的存储装置,所述文件系统使用写时拷贝来更新文件系统的数据;
表明将把在第一更新集合之后发生的任何更新与后续检查点相关联;
生成针对第一更新集合的写入计划,每一个写入计划表明对应于表示第一更新集合当中的至少一项更新的数据的存储装置上的至少一个计划位置;
更新元数据以便表明文件系统的分配数据以及对应于由所述写入计划修改的文件系统对象的存储位置;以及
创建元数据的逻辑拷贝。
2. 权利要求1的方法,其还包括:
创建针对写入第一检查点数据的写入计划,同时允许与创建所述写入计划并行地生成对应于后续更新的写入计划;以及
把至少一项验证代码写入到存储装置,所述至少一项验证代码是检查点数据的一部分,所述至少一项验证代码可用来确定第一更新集合是否被正确地写入到存储装置。
3. 权利要求2的方法,其还包括:在把所述至少一项验证代码写入到存储装置之前,等待表示第一更新集合的数据被写入到存储装置。
4. 权利要求2的方法,其中,把至少一项验证代码写入到存储装置包括与涉及表示所述元数据的逻辑拷贝的至少一个树状数据结构的根节点的其他数据一起在一个块中把单项验证代码写入到存储装置,并且还包括计算所述单项验证代码以便验证所述块。
5. 权利要求2的方法,其还包括:读取所述至少一项验证代码,从存储装置上的数据计算至少一项其他验证代码,把所述至少一项验证代码与所述至少一项其他验证代码进行比较,以及由此确定表示第一更新集合的所有数据是否已被成功写入到存储装置。
6. 权利要求1的方法,其中,表明将把第一更新集合与第一检查点相关联包括:更新一个数据结构,其表明对于在所述数据结构被更新为表明另一个检查点之前所发生的任何更新将使用第一检查点。
7. 权利要求1的方法,其中,创建元数据的逻辑拷贝包括:与把表示第一更新集合当中的至少一项更新的数据写入到存储装置并行地创建所述逻辑拷贝。
8. 计算环境中的一种系统,其包括:
可操作来接收针对更新文件系统的文件系统对象的请求的接口;
可操作来确定将要发送到存储库以满足所述请求的一项或更多项I/O请求的I/O管理器;以及
可操作来施行包括以下动作的检查点管理器:
    确定将与针对更新文件系统对象的请求相关联的第一检查点,其中所述检查点管理器能够将各项请求指派给不同的检查点;
    确定将把与所述检查点相关联的检查点数据写入到文件系统的存储装置;
    确...

【专利技术属性】
技术研发人员:JM卡吉尔TJ米勒WR蒂普顿
申请(专利权)人:微软公司
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1