太阳城集团

  • / 19
  • 下载费用:30 金币  

具有每区段校验和的文件系统.pdf

摘要
申请专利号:

CN201580053127.2

申请日:

2015.09.29

公开号:

太阳城集团CN106716375A

公开日:

2017.05.24

当前法律状态:

实审

有效性:

审中

法律详情: 实质审查的生效IPC(主分类):G06F 11/10申请日:20150929|||公开
IPC分类号: G06F11/10 主分类号: G06F11/10
申请人: 微软技术许可有限责任公司
发明人: C.李; R.达斯; C.拉特; W.蒂普顿
地址: 美国华盛顿州
优先权: 2014.09.30 US 14/501922
专利代理机构: 中国专利代理(香港)有限公司 72001 代理人: 张同庆;刘春元
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201580053127.2

授权太阳城集团号:

|||

法律状态太阳城集团日:

太阳城集团2017.06.16|||2017.05.24

法律状态类型:

太阳城集团实质审查的生效|||公开

摘要

一种文件系统允许不同的校验和算法独立于文件系统对象的其它区段而用于该文件系统对象的不同区段。校验和算法可以是文件系统对象的区段或区段范围的可选属性,使得文件系统对象的一些区段可以使用第一校验和算法,而该文件系统对象的其它区段可以使用第二校验和算法。文件系统对象的区段也可以不具有相关联的校验和算法。文件系统针对文件系统对象的每个区段存储指示区段的校验和的数据以及用于该区段的任何校验和算法的指示。

权利要求书

1.一种配置成管理对一个或多个存储设备上的文件系统的多个文件系统对象的存储
和对所述多个文件系统对象的访问的计算机,包括:
配置成存储数据的存储装置,针对文件系统对象的多个区段中的每个区段,该数据包
括从多个不同的校验和算法之中选择的、应用于所述区段的校验和算法的指示,以及在所
述区段应用了校验和算法的情况下针对所述区段的校验和值;以及
包括存储器和过程的处理系统,针对文件系统的计算机程序代码存储在所述存储器
中,所述计算机程序代码在被所述处理系统执行时将所述处理系统配置成来自到文件系统
的应用、访问所述文件系统对象的请求做出响应,所述处理系统进一步配置成,针对待被访
问的每个区段,应用指示用于存储装置中的区段的校验和算法。
2.权利要求1的计算机,其中所述文件系统响应于对文件系统对象的区段的写入操作,
标识适用于所述区段的校验和算法,使用所述校验和算法计算所述区段的校验和值,并且
存储校验和算法的指示和与所述区段相关联的校验和值。
3.前述权利要求中任意一项的计算机,其中所述文件系统响应于针对文件系统对象的
区段的读取操作,标识应用于所述区段的校验和算法,使用所述校验和算法计算针对所述
区段的从存储装置读取的数据的校验和值,并且比较所计算的校验和值与针对区段的存储
的校验和值。
4.前述权利要求中任意一项的计算机,其中所述文件系统响应于改变应用于文件的区
段的校验和算法的操作,文件系统使用所述校验和算法计算针对区段的从存储装置读取的
数据的校验和值,并且存储所述校验和算法的指示和与所述区段相关联的校验和值。
5.前述权利要求中任意一项的计算机,其中所述校验和算法的指示符是存储在针对所
述文件系统对象的区段表中的区段的条目中的校验和指示符。
6.权利要求5的计算机,其中针对区段的所述校验和值存储在针对所述文件系统对象
的区段表中的区段的条目中。
7.前述权利要求中任意一项的计算机,其中所述校验和算法的指示符是针对通过针对
文件系统对象的区段表中区段的条目间接访问的区段的校验和指示符。
8.根据权利要求7的计算机,其中针对区段的校验和值通过针对文件系统对象的区段
表中的区段的条目被间接地访问。
9.前述权利要求中任意一项的计算机,其中所述校验和算法的指示符是针对与太阳城集团所
述区段的存储数据的存储位置的数据相关联地存储的区段的校验和指示符。
10.前述权利要求中任意一项的计算机,其中针对文件系统对象的区段的校验和值与
太阳城集团所述区段的存储数据的存储位置的数据相关联地存储。
11.一种由计算机的文件系统执行的计算机实现的过程,包括:
接收来自多个不同的校验和算法之中的、应用于区段的校验和算法的指示,以及
独立于所述文件系统对象的其它区段,将所述校验和算法应用于所述区段的存储数
据。
12.权利要求11的计算机实现的过程,进一步包括:响应于对文件系统对象的区段的写
入操作:
标识适用于所述区段的校验和算法,
使用所述校验和算法计算所述区段的校验和值,以及
存储所述校验和算法的指示和与所述区段相关联的校验和值。
13.权利要求11的计算机实现的过程,进一步包括:响应于针对文件系统对象的区段的
读取操作:
标识应用于所述区段的校验和算法,
使用所述校验和算法计算针对所述区段的从存储装置读取的数据的校验和值,以及
比较所计算的校验和值与针对所述区段的存储的校验和值。
14.权利要求11的计算机实现的过程,进一步包括:响应于改变应用于文件的区段的校
验和算法的操作,
使用所述校验和算法计算针对所述区段的从存储装置读取的数据的校验和值,以及
存储所述校验和算法的指示和与所述区段相关联的校验和值。
15.一种包括存储介质的制品,其具有存储在所述存储介质中的计算机程序代码,该计
算机程序代码在被一个或多个计算机执行时将所述一个或多个计算机配置成实现权利要
求11至14中任意一项的过程。

说明书

具有每区段校验和的文件系统

背景技术

计算机中的文件系统一般是管理对存储在一个或多个存储设备上的文件中的数
据的访问的操作系统的部分。文件系统提供一个接口,其它应用通过该接口可以创建和管
理文件系统对象、将数据写入文件以及从存储在存储设备上的文件读取数据。

大多数文件系统配置成提供数据完整性的水平。例如,当数据被写入存储设备时,
文件系统可以计算和存储所存储的数据的校验和。当从存储设备读取数据时,可以针对读
取的数据计算校验和并且将其与所存储的校验和进行比较。存在各种各样的校验和算法,
其在效率、计算复杂性和存储开销方面不同。

发明内容

提供本发明内容以便以简化形式介绍在下面在具体实施方式中进一步描述的概
念的选择。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,其也不旨在
用于限制所要求保护的主题的范围。

文件系统允许不同的校验和算法独立于文件系统对象的其它区段(extent)地用
于​​该文件系统对象的不同区段。校验和算法可以是文件系统对象的区段或区段范围的可
选属性,使得文件系统对象的一些区段可以使用第一校验和算法,而该文件系统对象的其
它区段可以使用第二校验和算法。文件系统对象的区段或区段范围也可以不具有相关联的
校验和算法。文件系统为文件系统对象的每个区段存储指示该区段的校验和的数据以及用
于该区段的任何校验和算法的指示。这样的数据可以为区段范围而存储,从而将其应用于
文件系统对象中的每个区段。

可以提供文件系统操作以允许应用请求改变用于文件系统对象的区段的校验和
算法。当数据被写入文件系统对象的区段时,基于指示用于该区段的校验和算法来计算校
验和,并且存储该校验和。当从用于文件系统对象的区段的存储装置读取数据时,基于指示
用于该区段的校验和算法计算所读取的数据的那个校验和,并且将该校验和与所存储的校
验和进行比较。受每个区段的校验和影响的其它操作包括但不限于,用于创建具有这样的
属性的文件系统对象以及提供并改变这样的属性的默认设置的操作。

可以为文件系统对象的不同部分(诸如为文件内的不同文件流)提供不同的默认
设置。文件系统对象的这种设置可以被改变成使用校验且从使用校验和改变,并且在不同
的校验和算法之间改变。

在下面的描述中,对形成本文的部分的附图进行参考,并且此技术的特定示例实
现方式在附图中通过说明的方式示出。应理解,在不脱离本公开的范围的情况下,可以利用
其它实施例并且可以进行结构性改变。

附图说明

图1是其中可以实现文件系统的示例计算机的框图。

图2是文件系统对象的示例类层次的图。

图3是使用每区段校验和的示例区段表的图。

图4是描述改变用于文件系统对象的区段的校验和算法的示例实现方式的流程
图。

图5是描述将数据写入文件系统对象的示例实现方式的流程图。

图6是描述从文件系统对象读取数据的示例实现方式的流程图。

图7是描述改变应用于文件系统对象的保护的示例实现方式的流程图。

具体实施方式

下面的部分描述了具有文件系统的计算机的示例实现方式。

图1图示文件系统可利用其实现的示例计算机。计算机可以是各种各样的通用或
专用计算硬件配置中的任何一种。可使用的计算机类型的一些示例包括但不限于,个人计
算机、游戏控制台、机顶盒、手持或膝上型设备(例如媒体播放器、笔记本计算机、平板计算
机、蜂窝电话、个人数据助理、语音记录器)、服务器计算机、多处理器系统、基于微处理器的
系统、可编程消费型电子产品、联网的个人计算机、小型计算机、大型计算机以及包括任何
上述类型的计算机或设备的分布式计算环境等等。特定示例计算机是支持访问具有多个虚
拟硬盘驱动器的存储阵列上的数据的多个虚拟机的服务器计算机。

参考图1,示例计算机100包括至少一个处理单元102和存储器104。计算机可以具
有多个处理单元102。处理单元102可以包括一个或多个处理核(未示出),其彼此独立地操
作。诸如图形处理单元1020之类的附加协处理单元也可以存在于计算机中。存储器104可以
是易失性的(诸如动态随机存取存储器(DRAM)或其它随机存取存储器设备)、非易失性的
(诸如只读存储器、闪速存储器等)或这两者的某种组合。存储器的这种配置在图1中由虚线
106图示。计算机100可以包括(可移除和/或不可移除的)附加存储装置,其包括但不限于磁
记录或光学记录的盘或带。这样的附加存储装置在图1中由可移除存储装置108和不可移除
存储装置110图示。图1中的各种组件一般通过诸如一个或多个总线130之类的互连机构来
互连。

计算机存储介质是数据可以存储在其中并且被计算机从可寻址物理存储位置检
索的任何介质。计算机存储介质包括易失性和非易失性存储器,以及可移除和不可移除的
存储介质。存储器104和106、可移除存储装置108和不可移除存储器110全部都是计算机存
储介质的示例。计算机存储介质的一些示例是RAM、ROM、EEPROM、闪速存储器或其它存储器
技术,CD-ROM、数字通用盘(DVD)或其它光学或磁光记录存储设备,磁带盒、磁带、磁盘存储
或其它磁性存储设备。计算机存储介质可以包括诸如存储阵列之类的多个存储设备的组
合,其可以由操作系统或文件系统管理,以对计算机表现为一个或多个存储卷。计算机存储
介质和通信介质是介质的相互排斥的类别。

计算机100还可以包括允许计算机通过通信介质与其它设备通信的(多个)通信连
接112。通过在有线或无线物质上传播诸如载波或其它传输机制之类的调制数据信号,通信
介质典型在有线或无线物质上传输计算机程序指令、数据结构、程序模块或其它数据。术语
“调制数据信号”意指一种信号,该信号使它的特性中的一个或多个以这样的方式设置或改
变以便将太阳城集团编码到该信号中,从而改变信号的接收设备的配置或状态。通过示例的方式
且非限制性地,通信介质包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声
学、RF、红外和其他无线介质之类的无线介质。通信连接112是诸如有线网络接口、无线网络
接口、射频收发器(例如Wi-Fi、蜂窝、长期演进(LTE)或蓝牙等的收发器)、导航收发器(例如
全球定位系统(GPS)或全球导航卫星系统(GLONASS)等的收发器)之类的设备,它们与通信
介质对接以通过通信介质传输数据并从通信介质接收数据,并且可以执行太阳城集团该数据的各
种功能。

计算机100可以具有(多个)各种输入设备114,诸如键盘、鼠标、笔、相机、触摸输入
设备、传感器(例如加速计或陀螺仪)等。还可以包括诸如显示器、扬声器、打印机等之类的
(多个)输出设备116。所有这些设备在本领域中是众所周知的,并且不需要在这里详细讨
论。输入和输出设备可以是包含图1中的计算机的各种组件的壳体的部分,或者可以是与该
壳体可分离的并通过各种连接接口(诸如串行总线、无线通信连接等)连接到计算机。各种
输入和输出设备可以实现自然用户接口(NUI),其是使得用户能够以摆脱由诸如鼠标、键
盘、遥控器等之类的输入设备施加的人为约束的“自然”方式与设备交互的任何接口技术。

NUI方法的示例包括依赖于语音识别、触摸和触针识别、悬停、屏幕上和邻近屏幕
的手势识别、空中手势、头部和眼睛跟踪、话音和语音、视觉、触摸、手势和机器智能的那些
方法,并且可以包括触敏显示器的使用、话音和语音识别、意图和目标理解、使用深度相机
(诸如立体相机系统、红外相机系统和其它相机系统及这些的组合)的运动手势检测、使用
加速计或陀螺仪的运动手势检测、面部识别、三维显示、头部、眼睛和视线跟踪、沉浸式增强
现实和虚拟现实系统,所有这些提供更自然的接口,以及用于使用电场感测电极感测脑活
动的技术(诸如脑电图技术和相关方法)。

各种存储装置110、通信连接112、输出设备116和输入设备114可以与计算机的其
余部分集成在壳体内,或者可以通过计算机上的输入/输出接口设备连接,在这种情况下,
附图标记110、112、114和116可以指示用于连接到设备的接口或设备本身(视情况而定)。

计算机一般包括操作系统,其是在计算机上运行的管理应用对计算机的各种资源
的访问的计算机程序。可能存在多个应用。各种资源包括存储器、存储装置、输入设备和输
出设备,诸如图1所示的显示设备和输入设备。文件系统一般被实现为计算机的操作系统的
部分,但是可以与操作系统不同。文件系统可以在分布式计算环境中实践,在分布式计算环
境中操作由通过通信网络链接的多个计算机执行。在分布式计算环境中,计算机程序可以
位于本地和远程计算机存储介质两者中,并且可以由不同计算机的处理单元执行。

操作系统、文件系统和应用可以使用具有一个或多个计算机程序的一个或多个计
算机的一个或多个处理单元实现,所述一个或多个计算机程序由所述一个或多个处理单元
处理。计算机程序包括计算机可执行指令和/或计算机解释指令,诸如程序模块,所述指令
由计算机中的一个或多个处理单元处理。一般地,这样的指令限定了例程、程序、对象、组
件、数据结构等,其在被处理单元处理时命令处理单元对数据执行操作或将处理器或计算
机配置成实现各种组件或数据结构。

给定一个或多个计算机和一个或多个存储设备,无论是单个计算机还是一组分布
式计算机或是连接到分布式存储装置的一个或多个计算机,文件系统在管理存储设备的细
节(诸如每个设备内的存储数据其中的实际存储位置)与应用之间提供抽象层。此抽象层允
许应用使用对文件和文件内的位置的引用来识别文件和访问文件,而不需要应用具有太阳城集团
存储设备上的实际存储位置的太阳城集团或太阳城集团该存储设备的其它细节。

在一些计算机中,管理多个处理单元以运行多个虚拟机,其中每个虚拟机由一个
或多个数据文件限定。还可以管理存储设备以提供多个虚拟硬盘驱动器(VHD)。在这样的系
统中,一些数据文件,特别是限定虚拟机的那些数据文件,可能非常大。数据文件的一些部
分,比如例如某些VHD元数据,可能比文件的其它部分更重要。

通过允许文件的不同区段使用不同的校验和算法,如本文所述,可以基于在文件
的不同部分中数据的相对重要性更优化地选择校验和算法。这种将校验和算法针对文件的
不同区段进行定制可以提供更高效的存储利用率和更好的性能。

现在将更详细地描述允许文件的不同区段使用不同的校验和算法的文件系统的
实现方式。

在文件系统中,对文件的引用被限定为各种文件系统对象的组合,诸如存储设备
或存储设备的集合的名称、目录的名称和目录的路径、文件流和文件的名称、或其它类型的
文件系统对象。每个文件系统对象一般是表示存储在文件系统内的数据的命名结构。

在文件系统内,当用于文件的数据被存储时,其一般被分解成存储在存储设备上
的存储位置中的小分块(chunk)(通常称为块)。文件系统一般为每个文件跟踪存储设备内
的存储文件的每个块的存储位置,以及那些块的排序。文件系统还可以限定集群,其是一组
块,并且一些操作可以限于在集群而不是块组上执行的操作。这里,术语“区段”用于意指文
件的任何分区,诸如块或集群。除了跟踪存储文件的每个区段的存储数据的存储位置之外,
文件系统为每个区段跟踪所计算的校验和以及校验和算法。校验和太阳城集团,即所计算的校验
和以及校验和算法的指示,可以针对区段的范围或者区段的子区域存储,这取决于实现方
式。

现在将描述这样的文件系统的示例实现方式。在图2至8的以下描述中,存储的块
被用作存储操作的示例粒度(granularity)。应理解,根据所涉及的存储设备、处理单元、操
作系统和文件系统所使用的惯例,下述可以应用于使用文件的任何区段或区段的范围,诸
如块、集群或存储的其它子集。

参考作为示例实现方式的图2,文件系统一般限定一组不同种类的文件系统对象
200,诸如目录202、文件204和文件流206。文件204可以包括文件流206的集合,如在208处所
指示的。例如,文件可以包括元数据文件流和数据文件流。根目录210是特殊种类的目录
202,其提供被管理的卷的顶级目录。由根目录支配的卷可以包括多个存储设备或存储设备
的部分,但是仅出于说明的目的,本文的描述将指代单数存储设备。

每个文件系统对象还可以具有一个或多个属性,诸如取决于文件系统的实现方式
的名称和其它属性。第一文件系统对象的属性可以包括用于被创建并且取决于第一文件系
统对象的其它文件系统对象的默认设置。例如,目录的属性可以限定在该目录内创建的文
件和文件流的默认设置。类似地,文件的属性可以限定包括在该文件内的文件流的默认设
置。

文件、文件流或其它类似对象还可以包括区段表252,其针对文件或文件流的每个
区段(诸如存储的集群或块或其它子集)列出太阳城集团该区段的各种太阳城集团,诸如其在存储中的位
置以及诸如区段属性之类的其它数据。

可以以若干方式存储区段表。例如,在一些实现方式中,区段表可以是太阳城集团块的信
息的简单列表或阵列,其将文件所使用的虚拟块标识符映射到用于指代存储设备上的存储
位置的逻辑块标识符。作为另一示例,在一些实现方式中,使用虚拟集群号作为密钥且使用
逻辑集群号作为值,区段表可以存储在诸如B+树之类的索引树结构中。诸如区段属性之类
的其它数据可以针对每个区段存储在这样的数据结构中。

尽管前面描述了具有对象类层次内的文件系统对象的文件系统,使用其它类型的
数据结构表示文件系统结构的文件系统的其它实现方式也可以被使用,并且本发明不限于
上面描述的对象类型或面向对象的实现方式。取决于文件系统,术语“文件系统对象”旨在
意指文件系统结构的任何实现方式,诸如根目录、文件等,并且不限于面向对象的实现方
式。

一般地,文件系统允许应用和用户在存储卷的根目录内创建多个目录和那些目录
内的其它文件对象,这创建目录树。存储卷的名称和包含文件系统对象的目录的名称的列
表被称为路径。计算机程序通过向文件系统提供包含期望的文件系统对象和文件系统对象
的名称的路径,经过文件系统访问文件系统对象。注意,卷可以指代存储设备中、或存储设
备的部分中、或多个存储设备中可用的存储位置,这取决于实现方式。

文件系统典型地通过诸如函数调用等之类的编程接口,为其它计算机程序提供各
种各样的操作,这些操作允许存储被访问。文件系统可以包括初始化存储设备(本文中也称
为“卷”)以供使用的操作,以及创建、读取、写入或更新或删除文件对象的操作。计算机程序
通过指定操作和该操作将在其上执行的文件系统对象的路径和名称,在文件系统对象上执
行操作。

为了允许校验和算法对于文件的不同区段而言是不同的,文件系统使用文件系统
对象的区段表252来存储用于文件的区段的校验和算法的指示(如果有的话)。例如,此指示
可以存储为区段表中的区段的属性。可替代地,此指示可以通过区段表间接地访问,例如通
过与该区段的存储数据的存储位置的存储子系统数据相关联地存储。作为另一示例,可以
限定区段的范围,并且可以针对区段的范围存储此太阳城集团。

现在将结合图3描述具有每区段校验和太阳城集团的区段表212的示例实现方式。

如图3所示,在区段中存储数据的文件系统对象(诸如文件或文件流)的区段表300
可以实现为阵列、列表或其它索引数据结构。区段表可以基于用于文件系统对象中的每个
区段的区段标识符302而被编入索引。区段标识符一般在文件内顺序地分配,并且因此指示
文件中的数据的顺序。这些区段标识符一般被映射到存储设备上的存储位置304。存储位置
304本身可以是由存储子系统用来唯一地标识存储子系统内的存储的可寻址部分的标识
符。

区段表300针对每个区段可以包括校验和指示符306,其是指示哪个校验和算法
(如果有的话)用于计算该区段的校验和的值。该值可以是例如文件系统进而将其映射到校
验和算法的整数值。一个值可以设置成指示没有使用校验和算法(例如0或-1或一些“空”值
指示符)。实现文件系统的计算机程序可以使用各种各样的技术以使用校验和指示符306来
切换到执行对应的校验和算法。一般地,文件系统包括计算机程序,其在被计算机执行时可
以实现至少两种不同的校验和算法。

存在可以使用的许多种校验和算法。下面是对这样的文件系统而言有用的示例校
验和算法的非详尽的说明性列表:纵向奇偶性、模块化和、弗莱彻(Fletcher)校验和、阿德
勒(Adler)校验和、循环冗余和诸如MD5和SHA变体之类的散列函数。

区段表300还可以针对每个区段包括校验和值308,其是作为计算与太阳城集团存储在应
用区段的存储位置304处的数据的校验和指示符306对应的校验和算法的结果的值。

区段表300还可以针对每个区段包括该区段的其它属性310。

可替代地,取决于实现方式,各种值304、306、308和310可以存储在由区段标识符
编入索引的一个或多个表中。例如,校验和值308可以根据所使用的校验和算法在大小方面
变化。通过将校验和值308存储在单独的表中或者甚至存储子系统中的不同区段,校验和值
的存储的管理可以与区段表的其余部分的存储的管理分开。可替代地,可以分配区段表,使
得校验和值字段的大小固定为最大可能的大小。可替代地,校验和值308可以是校验和值存
储在何处的指示符。作为另一可替代方案,校验和值和校验和算法可以相对于区段的存储
系统标识符而存储,并且这样的太阳城集团可以相对于存储子系统而不是文件系统对象来跟踪。
因此,文件系统可以直接在区段表中或间接地通过区段表标识用于文件系统对象的区段的
校验和。可替代地,太阳城集团用于文件系统对象的校验和算法的太阳城集团可以太阳城集团文件系统对象的
区段的范围而存储。

给定区段的校验和值和校验和算法通过其可以被存储和确定的区段表,还提供文
件系统操作,以允许用于针对文件系统对象的给定区段或区段范围的校验和算法被改变。
对用于文件的区段或区段范围的校验和算法的这种改变可以独立于该文件的其它范围而
进行。文件系统操作一般由应用调用,但可以由用户在命令行接口中或在用户在其中选择
的图形用户接口中输入。还可以写入计算机程序,其操纵文件系统对象以改变文件系统对
象内使用的校验和算法。这样的操作的示例实现方式(其假定操作接收待被改变的文件系
统对象、区段、区段范围的指示,以及校验和算法的指示)将结合图4描述。可以提供用户接
口以向用户传送可用的校验和算法,并且允许用户从针对文件的特定区域的可用校验和算
法之中进行选择。

如图4所示,响应于调用操作来改变文件系统对象的区段的校验和算法,文件系统
确保400调用者具有针对文件系统对象的写入权限。如果另外输入参数没有错误,则文件系
统读取402用于待被改变的区段的区段表条目。如果由调用的操作指示的校验和算法已经
用于该区段,如在404处所确定的,则该过程结束。从存储装置读取区段的数据(可选地验证
当前校验和),并且计算406使用新的校验和算法的校验和。然后存储408新的校验和值和新
的校验和算法的指示符。可以通过为区段的给定范围中的每个区段重复400至408的处理而
针对区段的范围限定这样的操作。可能的是,针对区段范围改变校验和算法可能导致区段
的当前范围被细分为多个范围,其各自具有不同的校验和算法。

给定文件系统中的校验和的这种实现方式,可以修改各种各样的其它操作以支持
此使用。例如,数据的读取和写入可以取决于用于文件的任何给定区段的校验和算法。再
者,可以提供更高水平的文件管理操作,其改变用于文件的不同部分的校验和算法以提供
不同水平的保护。在一些实现方式中,并且可以限定指定待用于尚未被分配和存储的文件
系统对象的区段的校验和算法的操作。当数据最终写入这样的区段时,可以预定义待使用
的校验和算法。这组操作不旨在是详尽的,而是仅仅说明可以根据文件系统是否支持在文
件系统对象之间共享所存储的数据不同地实现的操作的种类。可以为单个区段或为区段的
范围限定任何这样的操作。区段的范围还可以包括尚未为文件系统对象分配的区段。

现在将结合图5描述将数据写入文件系统对象。当数据要被写入文件系统对象中
的区段时,文件系统访问500太阳城集团区段的数据的区段表。文件系统标识502待被用于区段的
校验和算法(如果有的话)。如果存在用于此区段的校验和算法,则文件系统使用所标识的
校验和算法来计算504待被写入的数据的校验和。否则,可以避免校验和计算。文件系统将
该区段的数据写入506存储装置,并且在适当情况下更新该区段的存储位置。文件系统还存
储508针对区段计算的校验和值,以及(如果尚未被存储)所使用的校验和算法的指示。如果
成功,文件系统利用成功写入操作的指​​示做出响应510;否则任何前述步骤的失败可能导
致用信号告知错误。

在一些实例中,写入操作将新数据附加到文件。在这种情况下,文件系统向用于新
区段的区段表添加条目。在添加条目时或之前,文件系统可以以若干种方式设置待被使用
的校验和算法。校验和算法可以是附加操作的参数。校验和算法可以根据文件的属性或从
另一个文件系统对象继承的属性而被默认地确定。可以基于文件系统对象中直接在前的区
段来选择校验和算法。可以基于正向其中写入数据的存储子系统中的区段来选择校验和算
法。

针对当前文件系统对象的分配之外的区段的范围的校验和算法可以在区段的数
据实际上被附加到文件系统对象之前被指定。例如,可以创建空的文件,但其区段的范围具
有指定的校验和算法。文件的结尾可以设置成包括该范围。当使用扩展写入将数据写入文
件时,文件逐渐地扩展,并且为存储在区段的指定范围中的数据计算校验和。

在一些实例中,写入操作可涉及读取和修改当前存储的数据。可以在写入操作之
前验证当前存储的校验和算法和针对当前存储的数据的校验和值,以确保读取时的当前存
储的数据在修改之前是正确的。

在一些实例中,写入操作可以是“写入新的”或“写时复制”操作或类似操作,其导
致区段的数据被写入到新的存储位置。如果区段表间接地跟踪校验和值和校验和算法,例
如通过使这样值针对卷的每个存储位置存储,,则这样的数据可以针对新的存储位置而更
新。

现在将结合图6描述从文件系统对象读取数据。读取操作一般涉及访问600太阳城集团区
段的数据的区段表。文件系统标识602用于区段的校验和算法。文件系统使用针对区段的存
储位置从存储子系统读取604数据。然后使用所标识的校验和算法计算606所读取的数据的
校验和。比较608计算机校验和与先前存储的校验和。如果校验和匹配,如610处所指示的,
则返回612所读取的数据;否则可以用新号告知错误,如在614处所指出的。

使用这样的文件系统,文件的不同部分可以使用不同的校验和算法,并且可以使
这些校验和算法独立于文件的其它部分而改变。该能力例如在具有大文件的存储系统中是
特别有利的,在大文件中所存储的数据的不同区域具有不同水平的重要性。具体示例在于
具有虚拟硬盘驱动器(VHD)的数据中心,其中文件可以在一个区域中包括重要元数据并且
在另一区域中包括不那么重要的其它数据。通过支持允许不同区段使用不同校验和的文
件,文件系统有利地支持性能与用于这样的文件的保护之间的改进的权衡。例如,可以向存
储VHD元数据的文件中的区段分配一个校验和算法,相比于分配给存储其它VHD数据的文件
中的其它区段的另一校验和算法,该校验和算法可能花费更长太阳城集团来计算或导致更大的校
验和值。类似地,可以改变具有校验和算法的一个组合的文件,以使用校验和算法的另一组
合。

现在将结合图7描述改变应用于文件系统对象的保护的操作的示例实现方式。

在此示例操作中,应用可以对文件系统操作进行反复调用,该文件系统操作改变
应用于指定文件的指定区段的校验和。可替代地,文件系统还可以包括接收文件、文件内的
不同范围的指示以及待被应用于不同范围内的区段的不同校验和算法的指示的操作。

因此,在图7中,文件系统接收702文件、文件内的范围以及待被应用于不同范围内
的区段的不同校验和算法的指示。在给定范围的情况下,标识702该范围内的区段。(如为正
被处理的文件的当前范围中的区段指定的)新的校验和算法以诸如在图4中描述的方式被
应用704到每一个区段。如果该范围的所有区段被处理(如在706处确定的),则文件的下一
个范围被处理(如在702处指示的),直到所有范围都被处理(如在708处确定的)。如果成功,
应用以对文件成功更改的指示做出响应710。

应理解,可以提供各种各样的其它操作以访问和管理针对文件系统对象内的不同
区段利用不同校验和算法的文件系统对象。前面提供了针对这样的文件系统的一组说明性
示例实现方式。

通过使区段或区段的范围改变或不使用校验和算法,可能的是,为区段临时动态
地改变校验和算法。作为特定示例,为了将数据写入到区段,区段可被设置成使数据在适当
位置写入,并且可被设置成不具有校验和。在完成写入后,可以设置校验和算法并且然后计
算校验和。更具体地,当针对标记为具有校验和的区段发生写入时,应用可以写入到给定范
围,并且文件系统写入意向日志记录,其陈述了该范围中的数据正在被覆写。该写入在原始
介质区段中进行。然后可以计算和存储校验和值。如果在计算校验和被计算之前发生某些
错误,诸如死机、集群故障转移或其它故障,则校验和可以作为文件系统恢复的部分来处
理。因为意向日志记录了数据在该范围内正被覆写,假设此范围的正确校验和现在是未知
的。该范围然后被临时标记为不具有校验和。之后,如果应用或文件系统读取或写入此范
围,则存储在此范围中的数据然后被推测为是正确的,并且该范围的校验和然后被计算和
存储且该范围被标记为具有校验和。

这样的文件系统有利地支持使文件具有应用于不同区段的不同校验和,这可以在
保护、存储利用和性能之间提供更好的权衡。

因此,在一个方面中,一种具有文件系统的计算机包括用于为文件系统对象的区
段跟踪来自于多个不同的校验和算法之中的、应用于该区段的校验和算法的装置。这样的
文件系统可以包括用于改变独立于文件系统对象的其它区段应用于文件系统对象的区段
的校验和算法的装置。

在另一方面中,一种具有文件系统的计算机包括用于改变独立于文件系统对象的
其它区段应用于文件系统对象的区段的校验和算法的装置,其中应用于该区段的校验和算
法选自多个不同的校验和算法。

在另一方面中,一种具有文件系统的计算机包括存储装置,其针对文件系统对象
的不同区段包括来自多个不同的校验和算法之中的、应用于该区段的校验和算法的指示。

在另一方面中,一种由计算机的文件系统执行的计算机实现的过程包括:接收来
自于多个不同的校验和算法之中的、应用于区段的校验和算法的指示,以及独立于文件系
统对象的其它区段将该校验和算法应用于区段的存储数据。

在另一方面中,一种制品包括存储介质,其中计算机程序代码存储在该存储介质
中,该计算机程序代码在被一个或多个计算机执行时将所述一个或多个计算机配置成接收
来自多个不同的校验和算法之中的、应用于区段的校验和算法的指示,并且独立于文件系
统对象的其它区段将该校验和算法应用于该区段的存储数据。

在任一前述方面中,响应于针对文件系统对象的区段的写入操作,文件系统标识
应用于该区段的校验和算法,使用该校验和算法计算该区段的校验和值,以及存储与该区
段相关联的校验和值以及校验和算法的指示。

在任一前述方面中,响应于针对文件系统对象的区段的读取操作,文件系统标识
应用于该区段的校验和算法,使用该校验和算法计算从区段的存储装置读取的数据的校验
和值,以及将所计算的校验和值与针对该区段的存储的校验和值进行比较。

在任一前述方面中,响应于改变应用于文件的区段的校验和算法的操作,文件系
统使用校验和算法计算从区段的存储装置读取的数据的校验和值,并且存储与该区段相关
联的校验和值以及校验和算法的指示。

在任一前述方面中,可以为文件系统对象的每个区段存储指示应用于该区段的校
验和算法的校验和指示符,其中校验和算法从多个校验和算法当中选择。

在任一前述方面中,可以为文件系统对象的每个区段存储指示针对该区段的存储
数据计算的校验和值的校验和值。

在任一前述方面中,针对区段的校验和指示符可以存储在用于文件系统对象的区
段表中的区段的条目中。

在任一前述方面中,针对区段的校验和值可以存储在用于文件系统对象的区段表
中的区段的条目中。

在任一前述方面中,可以通过用于文件系统对象的区段表中的区段的条目间接地
访问针对区段的校验和指示符。

在任一前述方面中,可以通过用于文件系统对象的区段表中的区段的条目间接地
访问针对区段的校验和值。

在任一前述方面中,针对文件系统对象的区段的校验和指示符与太阳城集团该区段的存
储数据的存储位置的数据相关联地存储。

在任一前述方面中,针对文件系统对象的区段的校验和值与太阳城集团该区段的存储数
据的存储位置的数据相关联地存储。

在任一前述方面中,针对文件系统对象的区段的校验和算法可以在写入操作失败
的情况下被移除。在之后对该区段的访问时,校验和算法可以被重新分配到该区段,并且校
验和值可以被计算和存储。

任一前述方面可以体现在一个或多个计算机中,作为这样的计算机的任何单独的
组件,作为由一个或多个计算机或这样的计算机的任何单独组件执行的过程,或者作为包
括计算机存储装置的制品,其中计算机程序指令存储在该计算机存储装置中并且在被一个
或多个计算机处理时配置所述一个或多个计算机。

本文描述的任何或全部的上述可替代实施例可以在任何期望的组合中使用,以形
成附加混合实施例。可替代地或另外,本文描述的各种组件中的一个或多个组件的功能可
以至少部分地由一个或多个硬件逻辑组件执行。举例而言而非限制,可以使用的硬件逻辑
组件的说明性类型包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品
(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)等。应理解,所附权利要求中
限定的主题不一定限于上面描述的具体实现方式。上面描述的具体实施方式仅作为示例公
开。

关 键 词:
具有 区段 校验 文件系统
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:具有每区段校验和的文件系统.pdf
链接地址:http://zh228.com/p-6059858.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');