用于在网络化环境中暴露影像拷贝的机制的制作方法

文档序号:6407220阅读:156来源:国知局
专利名称:用于在网络化环境中暴露影像拷贝的机制的制作方法
技术领域
本发明涉及分布式文件系统。更具体地说,本发明涉及分布式文件系统以及暴露在分布式文件系统中的共享卷的影像拷贝。
背景技术
客户机/服务器网络环境已经变得普遍存在。现在,对于客户计算系统通过网络连接至驻留在服务器上的文件存储器是一件日常事务。还存在许多不同的、在当前的计算环境中正在使用的计算结构和平台。
在网络硬件和软件供应者之间的竞争驱使他们结合他们的产品提供越来越复杂的服务。例如,简单的备份和文件恢复性能正变成通用的提供。现在,许多网络服务器为网络存储器的用户提供退回存储器的状态至它在某个先前时间的状况的能力。这个能力在短缺硬件故障的某个未预见的意外事故的情况下,使补救丢失数据的过程简单化。例如,网络系统的用户可能在某一天知道在他的服务器上的文件已经变成损坏的,或者由于某个其它原因只愿意再访问在时间上的某个先前的点上他的文件的状态。现在使用卷影像拷贝(也称为“快照(snapshot)”)专用于那个目的。卷影像拷贝实质上是在某个较早时间的卷的状态的视图。卷影像拷贝已经变成一种用于退回卷的状态的通用机制。遍及此文档,可互换地使用术语卷影像拷贝和快照。
现有服务器技术的一个缺点是,要在客户机/服务器环境中访问卷影像拷贝,快照必须被安装在客户机上。这个过程一般要求以足以安装卷的特权将用户登录到客户机,这一般要求管理特权。如果用户在每次他想要访问快照时必须找到管理员或者具有足够特权的其它用户,则卷影像拷贝的便利被减少。
这些技术的另一个缺点是,安装一个暴露共享的每个影像拷贝的不同的卷,倾向于污染名字空间。换句话说,如果安装一个共享的卷的多个影像拷贝,则用户可能因具有显得是同一卷的几个不同版本而被混淆。
用于可以胜任向网络化环境中的客户机暴露共享卷的影像拷贝的机制,已经避开了那些在本领域中的熟练技术人员。
概述本发明目标是一系统和方法,用于通过网络向远程客户机暴露共享卷的卷影像拷贝。简而言之,共享卷是在具有一个根的客户计算系统上被访问的。卷的卷影像拷贝(或者“快照”)被识别为共享卷的子资源。代表快照的子资源可能默认地被隐藏在普通视图中。要访问快照,用户可访问子资源,好象它是在共享卷上的一个普通的文件或目录一样。有利地,用户不需要安装一个代表快照卷的新卷,但用户可直接访问快照。


图1是功能方框图,例示可用于实现本发明的计算设备。
图2是功能方框图,一般例示可实现本发明的实施例的网络环境。
图3是相应于一个共享卷的目录结构的图形表示,由提供对共享卷的一个或多个快照的直接访问的服务器使所述共享卷可用于客户机。
图4是用于在图3中所示的子目录结构的根的名称的通用命名约定的图形表示。
图5是用于通过分布式文件系统来访问文件的文件句柄的图形表示,所述分布式文件系统包括一个快照标志字段来表示正在访问快照。
图6是功能流程图,一般例示可如何按照本发明访问在快照上的资源。
详细说明这里将参考说明性计算环境的一个例子来描述本发明,在所述环境中可以实现本发明的实施例。接着,将描述本发明的一个特定的实现的详细例子。关于特定实现的某些细节,还可包括可供替换的实现。将意识到,不将本发明的实施例限制于这里所述的内容。
本发明的说明性计算环境图1例示可在本发明的说明性实现中使用的计算设备。参考图1,一个用于实现本发明的示例性系统包括一计算设备,诸如计算设备100。在非常基本的配置中,计算设备100一般包括至少一个处理单元102和系统存储器104。取决于计算设备的精确配置和类型,系统存储器104可以是易失性(诸如RAM)、非易失性(诸如ROM、闪存等)或两者的某种组合。系统存储器104一般包括操作系统105、一个或多个程序模块106,以及可包括程序数据107。计算设备100的这个基本配置在图1中是由在虚线108内的那些组件例示的。
计算设备100可具有附加的特征或功能性。例如,计算设备100还可包括附加的数据存储器设备(可移动的/或不可移动的),诸如例如,磁盘、光盘或带。这样的附加存储器在图1中是由可移动的存储器109和不可移动的存储器110例示的。计算机存储介质可包括易失性和非易失性、可移动和不可移动的介质,所述介质是以任何用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的方法或技术来实现的。系统存储器104、可移动存储器109和不可移动存储器110都是计算机存储介质的例子。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字通用盘(“DVD”)或其它光存储器、磁盒、磁带、磁盘存储器或其它磁存储设备,或任何可以用于存储所希望的信息以及可以由计算设备100访问的其它介质。任何这样的计算机存储介质可以是设备100的一部分。计算设备100还可具有输入设备112,诸如键盘122、鼠标123、笔、语音输入设备、触摸输入设备、扫描仪等。还可包括输出设备114,诸如显示器、扬声器、打印机等。这些设备在本领域中是众所周知的,并且在此不需要详细讨论。
计算设备100还可包括通信连接116,它允许设备诸如通过网络与其它计算设备118通信。通信连接116是通信介质的一个例子。通信介质一般可包括在调制的数据信号诸如载波或其它传输机制中的计算机可读指令、数据结构、程序模块或其它数据。术语“调制的数据信号”指具有一个或多个特性的信号,其所述特性是以有关将信息编码在该信号中的这样一种方式来设置或改变的。作为例子,而不是限制,通信介质包括有线的网络或直接线连接,以及无线介质诸如声音、射频、红外线和其它无线介质。如在此使用的术语计算机可读介质包括存储介质和通信介质两者。
特定实现的讨论图2是功能方框图,一般例示在其中可实现本发明的网络环境。如在图2中所示,网络环境200包括通过网络210连接的客户机203和服务器201。服务器201使共享卷220的一部分可用于客户机203。如在本领域中已知的,客户机203的用户可通过网络210连接服务器201,以及如果用户具有足够的特权则可访问在共享卷220上的文件。当连接时,共享卷220在客户机203上作为一个代表存储在共享卷220上的文件夹和文件的目录结构240而出现。应该意识到,图2将整个共享卷220例示为使之可用于客户机203。不过,将意识到,一般实际上只使共享卷的小部分(例如子目录树)可用作为“共享”,以及一个共享卷一般具有多个共享。不同的客户机和用户可有权访问在同一共享卷上的不同共享。不过,只为了描述简单,本文档将在单个共享卷220的背景中描述系统。
客户机203和服务器201可使用许多不同通信协议之一来通信。通常被用于分布式文件系统的一个通信协议是网络文件系统(NFS)协议。NFS协议提供通过网络对共享文件和目录的透明的远程访问。NFS协议被设计为可通过不同机器、操作系统、网络结构和传输协议被移植的。关于NFS协议的更多信息可在RFC3530中找到,它是公开地可得到的。
服务器201还提供一个卷影像服务,它使用户能够返回共享卷220的先前状态。换句话说,服务器201在时间的周期性瞬间捕捉图象或共享卷220的“快照”。如在图2中所示的,第一快照221代表在共享卷220的当前状态之前的某个时间,共享卷220上数据的状态。同样,第二快照222代表在捕捉第一快照221的时间之前的某个时间,共享卷220上数据的状态。服务器201可使经过相当长时间的、共享卷220的非常多的快照可供使用。
在客户机203,当前目录结构240代表存储在共享卷220上的数据的当前状态。另外,客户机203的用户可潜在地访问任何共享卷220的快照。由服务器201将共享卷220的每个快照向客户机203暴露,作为一个代表相应于快照的数据的单独的目录结构。因而,当前目录结构240与当前的共享卷220相关联,目录结构241与第一快照221相关联,目录结构242与第二快照222相关联,以及目录结构243与第N快照223相关联。
如前面提到的,使用常规技术,共享卷220的每个快照(例如,第一快照221、第二快照222、第N快照223)是在客户机203上作为单独的卷被访问的。换句话说,要观看第一快照221,用户将相应于第一快照221的新卷安装到客户机203上。如果用户想要观看多个快照,多个新卷需要安装在客户机203上。如上所述,此技术通常导致名字空间污染,并且要求提高的特权用于用户安装快照。
相反,本发明使每个快照在客户机203被表示为共享卷220的一部分而不是作为一个单独的卷。如在下面更详细地描述的,服务器201为客户机203提供与允许对共享卷220的每个快照的直接访问的当前目录结构240有关的信息。这样,本发明克服现有的、对于提高用户特权以安装附加的卷的需求。另外,用户不会因安装在客户机203的名字空间中的多个卷而被混淆,每个卷实际上代表在不同时间点上的同一数据的状态。
图3是相应于共享卷的目录结构240的图形表示,由提供对共享卷的一个或多个快照的直接访问的服务器使所述共享卷可用于客户机203。目录结构240代表驻留在可用于客户机203的共享卷上的文件和文件夹的视图。目录结构240是一个具有根301的树结构,根301代表共享的根。当共享卷220被安装在客户机203时,将目录结构240提供给客户机203,并且可在响应某个事件(例如,增加新的快照或者删除旧的快照)或者基于某些周期性的时间间隔时可自动地更新目录结构240。在目录结构240中根301下面包括几个其它资源,包括文件(例如文件C和F)和文件夹(例如文件夹A和D)。应该注意到,如在本文档中使用的,在访问资源、文件和目录之间不应该引起差别。确实,可以想象,这些类型的访问的每一个,对于此讨论的有限目的实际上是相同的。
按照本发明,另一个目录结构,例如目录结构241,作为当前目录结构240的根301的子目录结构驻留。子目录结构241代表与由当前目录结构240代表的共享卷的快照相关联的目录结构。换句话说,当前目录结构240代表其相应的共享卷的当前状态,以及子目录结构241代表相应的共享卷的先前状态。
在这个特定的实施例中,子目录结构241存在于根301之下的隐藏状态中。这样,默认地,观看客户机203的名字空间的用户将看到当前目录结构240的元素,但将看不到子目录结构241。如果用户想要观看共享卷220的快照,则用户可以选择一个选项以观看在根301之下隐藏的文件,因而获得对快照的目录结构241的访问。
应该注意到,这个过程不要求提高的特权,诸如与安装新卷相关联的特权,因而使普通用户(例如没有安装卷的特权的用户)能够访问快照。另外,如果用户不安装共享卷的一个或多个快照,则用户将不会因具有实质上驻留在客户机203的名字空间中的同一共享卷的多个版本而被混淆。应该意识到,尽管在图3中只例示一个单个的子目录结构241,但事实上多个子目录结构可存在于当前目录结构240中,一个对应共享卷220的多个快照的每一个。
对子目录结构241的访问使用基于存储为文件系统的一部分的许可的、正常的访问控制机制。特别地,用户只可以看到他们至少已经读访问过的快照的存在。要防止客户机203修改任何与快照相关联的资源,由服务器强制只读访问,无论用户在所述文件上的所有权、访问权限或许可。换句话说,如果用户正在观看在一个快照中的资源,用户将能够在捕捉该快照时检查分配给那个资源的特定访问特权,但无论如何服务器将强制只读特权。不过其它实现可允许对快照的某些附加访问。例如,在其它实施例中,可为特殊的用户群提供特定的特权以修改快照,而普通用户只具有只读访问。
在此实施例中,选择向客户机暴露的子目录结构的名字241以防止通用工具列举共享卷。更具体地说,子目录结构241的名字可基于其相应的快照的创建时间。在一个例子中,可使用诸如在图4中所例示的名字。简要地参考图4,例示了用于子目录结构241的根305的名字410的通用命名约定。如例示的,使用句点420开始名字以表示条目要隐藏在父目录结构240内。名字410的主体430可基于与相应的快照的创建相关联的格林威治标准时间(GMT)。通过将创建时间结合到命名约定中,每个快照将是唯一地可辨别的。提供这个命名约定作为任何可使用的多个不同的命名约定中的一个例子。这个例子不是限制性,以及在不脱离本发明的精神的情况下,许多可供替换的命名约定,对于那些在本领域中熟练技术人员将是显而易见的。
还应该注意,提供给客户机用于快照的名字不必存留在服务器上,并且不使用这个名字来命名在共享卷上的实际资源。而是,与快照相关联的子目录结构所使用的名字只与虚拟目录相关联,而不与实际留存的资源相关联。因此,如果共享卷是由某些机制而不是在客户机上的共享(例如通过本地文件系统访问)检查的,输出到客户机的名字将不必出现。
识别子目录结构为快照图5和6例示本发明的一个实现如何使用在资源句柄中的标志来识别资源为快照。如在本领域中已知的,在共享卷上的每个资源可由客户机203使用唯一的文件句柄来识别。文件句柄是一个标记,客户机203通过这个标记引用在服务器201上的文件或目录。当一个路径名-翻译请求(查找)从客户机203发送到服务器201时,服务器201创建文件句柄。服务器201找到所请求的文件或目录,并且确信请求用户具有访问许可。如果准予许可,服务器201为所请求的文件创建文件句柄并且将它返回至客户机203。文件句柄在由客户机203将来的访问请求中识别该文件。客户机203保存一个卷句柄表以存储正在由客户机203访问的每个文件的文件句柄。
与不同网络系统一起使用的文件句柄的结构可变化。图5例示在本发明的一个实现中使用的一个文件句柄510的例子。示例的文件句柄510包括卷ID和安装ID,它们一起识别卷的特定具体化,在其上驻留着请求的文件。文件句柄510还包括一个共享ID,它识别共享卷的根资源,以及一个文件ID511,它识别哪个特定文件是由文件句柄510所指向的。
另外,在此讨论中使用的示例的文件句柄510包括一个标志字段514,它表示所引用的文件驻留在快照上而不是在当前卷上。换句话说,因为与这个快照相关联的目录结构作为当前共享上的资源存在,所以在识别正在引用的文件是当前文件还是驻留在快照上的文件的版本的时候,潜在存在不确定性。因此,标志字段514被包括在文件句柄510中,以表示所请求的文件驻留在快照上,以及在文件句柄510中的共享ID512指向快照共享。另外,快照标志通知服务器201,由文件句柄510所指向的资源不可以修改,不管在文件上可能表示什么修改特权。
图6是功能流程图,一般例示可如何按照本发明访问在快照上的资源。这个流程图例示事件的发生和服务器201与客户机203之间传播的消息的方向。箭头表示消息传播的方向,即从客户机203至服务器201,或反之亦然。
一开始,在消息605处,客户机203发出一个请求至服务器201以安装一个特定的共享卷。服务器201在消息607处,通过返回一个所请求的共享的根的文件句柄来响应。在这一点,客户机203可请求对在共享卷内的文件的访问。如果用户想要访问共享卷的快照,则客户机203在消息609处发出一个对存储在共享卷的根下的文件的文件句柄的请求。要这么做,客户机203将根句柄加上所请求的资源的标识符(在此例中的快照)传递给服务器201。在响应时,在消息611处,服务器201将句柄返回给快照。如上面所讨论的,快照的句柄可包括一个标志位,它表示这个句柄与快照相关联。最后,客户机可访问在快照上的任何文件,通过在消息613处发出对那个文件(“任何文件”)的文件句柄的请求。服务器201在消息615处,通过返回具有适当地设定的快照标志位的、所请求的文件的文件句柄来响应。
如此,能对共享卷访问的客户计算机可直接访问那个共享卷的任何快照,不必在客户计算机上安装新的卷。这个优点消除先前对于提高的访问特权的需求,所述需求常常使访问快照不方便。另外,通过本发明的机制访问快照不要求修改现有的网络文件访问协议,极大地简化了它的实现。
上述说明、例子和数据提供本发明的概念和说明性实现的完整描述。由于可以在本发明的精神和范围的情况下制造本发明的许多实施例,所以本发明存在于在下文所附的权利要求书中。
权利要求
1.一具有计算机可执行组件的计算机可读介质,包括一分布式文件系统服务器组件,配置为暴露驻留在服务器计算机上的共享卷,所述共享卷具有一个根和一个卷影像拷贝,所述分布式文件系统服务器组件可进一步配置为将在共享卷的根之下的资源列表返回至请求客户机,所述资源列表指示了包括识别为卷影像拷贝的卷影像拷贝资源,所述卷影像拷贝资源可用于为请求客户机提供对卷影像拷贝的访问。
2.如权利要求1所述的计算机可读介质,其特征在于,所述资源列表包括一目录树结构。
3.如权利要求1所述的计算机可读介质,其特征在于,所述服务器计算机及客户机配置成使用网络文件系统协议通信。
4.如权利要求1所述的计算机可读介质,其特征在于,所述卷影像拷贝资源包括在共享卷的根之下的一表项。
5.如权利要求4所述的计算机可读介质,其特征在于,默认地所述项是隐藏的。
6.如权利要求4所述的计算机可读介质,其特征在于,所述表项包括一名字,该名字能将该共享卷从其它共享卷的卷影像拷贝中唯一地区分。
7.如权利要求6所述的计算机可读介质,其特征在于,所述名字基于卷影像拷贝的创建时间。
8.如权利要求6所述的计算机可读介质,其特征在于,所述名字是虚拟名字。
9.如权利要求1所述的计算机可读介质,其特征在于,在不使用提供增高的访问特权的情况下,为请求客户机提供对卷影像拷贝的访问。
10.如权利要求1所述的计算机可读介质,其特征在于,在请求客户机上不安装附加卷的情况下,为请求客户机提供对卷影像拷贝的访问。
11.如权利要求1所述的计算机可读介质,其特征在于,对卷影像拷贝资源的访问使用基于与共享卷相关联的存储的许可的访问控制机制。
12.如权利要求1所述的计算机可读介质,其特征在于,在只读基础上提供对卷影像拷贝的访问。
13.如权利要求1所述的计算机可读介质,其特征在于,在读/写基础上提供对卷影像拷贝的访问。
14.一用数据结构编码的计算机可读介质,包括代表共享卷的第一目录结构,所述第一目录结构具有一根表项;以及与第一目录结构相关联的第二目录结构,所述第二目录结构代表共享卷的卷影像拷贝,所述第二目录结构通过在第一目录结构的根表项之下的子表项是可访问的。
15.如权利要求14所述的计算机可读介质,其特征在于,所述第一目录结构和第二目录结构被保存在服务器计算机上,以及通过网络被提供给请求客户计算机。
16.如权利要求15所述的计算机可读介质,其特征在于,所述服务器计算机和请求客户计算机使用网络文件系统协议通信。
17.如权利要求14所述的计算机可读介质,其特征在于,所述子表项包括基于卷影像拷贝的创建时间的表项。
18.如权利要求17所述的计算机可读介质,其特征在于,默认地所述名字是第一目录结构中隐藏的条目。
19.一用目录结构编码的计算机可读介质,包括一文件句柄,用于通过分布式文件系统访问文件,所述文件句柄包括一卷影像拷贝标志位,所述标志位表示与所述文件句柄相关联的文件驻留在共享卷的卷影像拷贝中。
20.一计算机实现的方法,用于通过分布式文件系统访问文件,所述方法包括从请求客户机接收安装共享卷的请求;将与共享卷的根相关联的第一文件句柄返回给请求客户机;接收对与所述根的子表项相关联的另一个文件句柄的请求,所述子表项代表共享卷的卷影像拷贝;以及将与卷影像拷贝的根相关联的第二文件句柄返回给请求客户机。
21.如权利要求20的计算机实现的方法,其特征在于,所述返回与卷影像拷贝的根相关联的文件句柄的步骤还包括,创建具有一个卷影像拷贝标志位的卷影像拷贝文件句柄,所述标志位被设置为表示第二文件句柄与卷影像拷贝相关联。
22.如权利要求20所述的计算机实现的方法,还包括,评价与请求客户机相关联的访问许可,以确定请求客户机是否具有访问卷影像拷贝的许可。
全文摘要
所述的一种机制,用于通过网络向远程客户机暴露共享卷的卷影像拷贝。在客户计算系统上访问的共享卷具有一个根。卷的卷影像拷贝(或“快照”)被识别为共享卷的子资源。代表快照的子资源可默认地隐藏在普通视图中。要访问快照,用户可访问子资源,好象它是在共享卷上的普通文件或目录一样。有利地,用户不需要安装代表快照卷的新卷,而是用户可直接访问该快照。
文档编号G06F12/00GK1573750SQ20041004894
公开日2005年2月2日 申请日期2004年6月11日 优先权日2003年6月13日
发明者A·H·莫哈米德 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1