用于文件克隆的数据共享制造技术

技术编号:8567347 阅读:159 留言:0更新日期:2013-04-12 00:30
一种用于使用反向复本引用来创建和实施文件克隆的方法、系统和计算机程序产品。克隆索引节点被创建以作为原索引节点的拷贝。克隆索引节点和原索引节点是最终用户不可区分的。所创建的每个附加文件克隆产生克隆索引节点。不可变的克隆父代索引节点被创建,其包含盘块地址,而可写的克隆索引节点则包含将克隆索引节点链接到克隆父代索引节点中所引用的数据块的复本。原索引节点中的数据块地址链接被移至新克隆父代索引节点,并且复本替换原索引节点中的原数据块地址链接。当克隆文件被更新时,新数据被写入新盘位置,并且克隆索引节点中的对应复本被数据块链接地址替换,保持克隆父代索引节点的数据不变。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术总体上涉及数据处理系统,并且具体地,涉及数据处理系统中的数据和文件。更具体地,本专利技术涉及一种用于实施不可变数据共享文件克隆的改进方法。
技术介绍
包括来自IBM公司的通用并行文件系统(GPFS)的许多文件系统支持文件系统快照。文件系统快照是文件系统的逻辑时间点拷贝。快照可以用于文件系统备份。备份来自快照的数据确保在一致状态中保留文件系统内容。快照的另一常见使用是创建定期快照,并且也通过保持某一数目的近来快照在线,用户可以取回意外删除或者改写的文件的先前拷贝。通常使用“写入时拷贝”(copy-onirite)机制来实施快照。在写入时拷贝推迟快照中的文件分配盘空间直至修改或者删除原文件。这具有的优点在于快照创建很快(在创建快照时未拷贝数据)并且快照占用的盘空间限于自从创建快照起修改或者删除的数据量。GPFS使用称为“复本(ditto)”的逻辑引用来实施在写入时拷贝。复本存储于快照中的索引节点(inode)和间接文件块中(而不是对物理盘空间的引用)以指示尚未修改原文件中的对应数据或者元数据。当修改原文件时,快照中的复本替换为对原数据的拷贝的引用。GPFS目前仅允许创建整个文件系统的快照。然而在GPFS中创建的快照为只读。因此,尽管用户可以读取快照文件,但是用户不能修改或者删除快照中的文件。此外,可以部署数据管理应用编程接口(DMAPI),该DMAPI允许第三方应用辅助文件系统中的盘空间管理。DMAPI应用通过向离线储存器移动不频繁访问的数据来工作。继而,不频繁使用的数据可以尽在需要时被恢复。典型DMAPI应用将不识别快照。因此,当快照移向文件系统的离线储存器时,管理该文件系统的快照遇到大量困难,因为可能需要重建快照,这是由已经从原文件移动或者去关联快照。此外,恢复移动的快照需要大量附加盘空间,因为然后将修改快照以包括更新的数据。
技术实现思路
公开一种用于创建和实施文件克隆的方法、系统和计算机程序产品。克隆索引节点被创建以作为原索引节点的拷贝。克隆索引节点和原索引节点是最终用户不可区分的。所创建的每个附加文件克隆产生克隆索引节点。不可变的克隆父代索引节点被创建,其包含盘块地址,而可写的克隆索引节点则包含将克隆索引节点链接到克隆父代索引节点中所引用的数据块的复本。由此,原索引节点中的数据块地址链接被移至新克隆父代索引节点,并且复本替换原索引节点中的原数据块地址链接。当克隆文件被更新时,新数据被写入新盘位置,并且克隆索引节点中的对应复本被替换为数据块链接地址,保持克隆父代索引节点的数据不变。附图说明现在将参照以下附图仅通过示例描述具体实施例方式图1是本专利技术可以实施于其中的数据处理系统的框图。图2是根据一个实施例的包含对盘文件上的示例数据块的物理引用的索引节点和索引节点关联方案的框示。图3是根据一个实施例的包括图2的原索引节点的克隆方案的框示。图4是图示了根据一个实施例的创建克隆父代索引节点的新克隆索引节点的框图。图5是图示了根据一个实施例的图示了克隆父代索引节点、现在作为克隆父代索引节点的克隆索引节点来工作的原索引节点、克隆父代索引节点的克隆和克隆父代索引节点的克隆的两个克隆索引节点的关系的框图。图6是根据一个实施例的用于创建原索引节点的克隆父代索引节点的示例过程的高级逻辑流程图。图7是根据一个实施例的初始化克隆索引节点的高级逻辑流程图。图8是根据一个实施例的用于创建克隆父代索引节点的新(第三)克隆索引节点的过程的高级逻辑流程图。图9是根据一个实施例的用于初始化新克隆索引节点的过程的高级逻辑流程图。图10是根据一个实施例的用于删除所选索引节点的过程的高级逻辑流程图。具体实施例方式示例实施例提供根据一个实施例的一种用于使用反向复本引用来实施数据共享文件克隆的方法、系统和计算机程序产品。在对本专利技术的示例实施例的下文具体描述中,以充分细节描述可以实现本专利技术的具体示例实施例以使本领域技术人员能够实现本专利技术,并且将理解可以利用其它实施例并且可以进行逻辑、架构、程序、机械、电和其它改变而未脱离本专利技术的精神实质和范围。因此不会在限制意义上理解下文具体描述,并且本专利技术的范围仅由所附权利要求限定。理解具体部件、设备和/或参数名称的使用仅为举例而并非为了暗示对本专利技术的任何限制。因此可以用不同命名/术语实施本专利技术而不限于此,这些命名/术语这里用来描述部件/设备/参数。将向这里利用的每个术语给予它在利用该术语的上下文给定时的最广义解释。另外,尽管一般描述为适用于文件系统,但是与描述的实施例关联的功能适用于任何种类的文件系统或者存储文件式对象的任何存储系统、例如数据库或者对象存储库。这些系统一般可以称为计算机实施的文件存储和/或管理设施。现在参照图1,描绘本专利技术可以实施于其中的数据处理系统(DPS) 102的框图。DPS102包括耦合到系统总线106的处理器104。处理器104可以是单个处理器、多芯处理器或者多处理器阵列。耦合到系统总线106的视频接口 108允许显示器130由DPS 102的用户连接到DPS 102从而实现显示用户接口(包括文字和图形)。系统总线106还实现与基于硬件的可读存储介质112 (例如紧致盘-只读存储器(CD-ROM)、快闪驱动存储器)的通信。输入/输出(I/O)接口 114同样连接到系统总线106,它允许用户与DPS 102的交互、例如经由键盘116或者鼠标117的数据录入。DPS 102还包括连接到系统总线106的系统存储器118。在系统存储器118内图示了多个软件/固件/逻辑部件,这些部件包括操作系统(OS) 124 (例如 MicrosoftWindows ⑧一这是 Microsoft Corp 的注册商标一或者 GNU /Linux~ 这是Free Software Foundation和 Linux Mark Institute 的注册商标一以及应用122。系统存储器118也可以包括数据管理应用编程接口(DMAPI)或者DMAPI应用126,该DMAPI或者DMAPI应用使另一第三方应用(例如应用122)能够辅助文件系统中的盘空间管理。在一个实施例中,DMAPI 126允许第三方应用将不频繁访问的数据移向离线储存器。然后可以仅在需要时恢复不频繁使用的数据。如图所示,系统存储器118也包括用于实施图2-10中描述的过程的文件克隆数据共享(FCDS)逻辑120。在一个实施例中,如下文在图2-10中更具体描述的那样,DPS 102能够利用TODS逻辑120的可执行代码以便使用反向复本引用来实施不可变文件克隆。在一个实施例中,可以在储存器适配器145内提供FCDS逻辑。当文件集及其关联内部索引存储于内部储存器150或者外部存储文件系统165 (其通过在存储适配器145中执行的代码而可被访问)上时或者在这样的情况下,该实施例可被实现。DPS 102还包括经由对应储存器适配器145耦合的系统储存器150。系统储存器150存储用于一个或者多个应用的数据/指令/代码。如图所示,系统储存器150包含经由对应索引节点/索引节点块可访问的一个或者多个文件集存储于其内的文件系统155。在一个实施例中,在通用并行文件系统(GPFS)中格式化文件系统155。此外,DPS 102也可以连接到外部存储文件系本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2010.07.30 US 12/847,7241.一种用于在数据处理系统中创建和实施文件克隆的方法,所述数据处理系统具有处理器和对文件存储和文件管理设施的访问,所述方法包括 选择与原文件对应的原索引节点,所述原索引节点具有一个或者多个数据块地址链接; 创建克隆索引节点; 接收用于所述克隆索引节点的名称条目和目标目录; 响应于接收所述名称条目,向所述目标目录中插入包含所述名称条目的目录条目; 将所述克隆索引节点初始化为不可变克隆父代;以及 更新索引节点映射以将所述克隆索引节点标识为使用中。2.根据权利要求1所述的方法,其中将所述克隆索引节点初始化为克隆父代还包括 向所述克隆索引节点拷贝所述一个或者多个数据块地址链接和所述原索引节点的首部; 将所述克隆索引节点的块计数更新为等于所述数据块地址链接的数目,其中所述克隆索引节点的所述块计数是与所述原索引节点中存储的相同的数据块数目; 将所述克隆索引节点中的链接计数设置成二(2); 向所述克隆索引节点拷贝所述原索引节点的索引节点时间戳和许可位; 确定当前执行操作的所有者证书; 基于所述当前执行操作的所述所有者证书来设置所述克隆索引节点的所有者字段;以及 保存一个或者多个所述初始化步骤作为原子事务。3.根据权利要求1所述的方法,还包括 将所述原索引节点的所述一个或者多个数据块地址链接中的每个数据块地址链接更新成一个或者多个复本,其中所述一个或者多个复本对应于所述一个或者多个数据块地址链接,并且指示所述原文件中的对应数据或者元数据尚未被修改; 将所述原索引节点的块计数设置成零,其中所述原索引节点的所述块计数代表所述原索引节点中存储的数据块地址链接的数目;以及 记录所述克隆索引节点作为所述原索引节点的所述克隆父代。4.根据权利要求1所述的方法,还包括 标识所述克隆索引节点的所有者; 确定所述克隆索引节点的所述所有者与所述原索引节点的所有者是否不同;以及响应于确定所述克隆索引节点的所述所有者与所述原索引节点的所述所有者不同,将所述原索引节点的盘块配额转移给所述克隆索引节点的所述所有者。5.根据权利要求1所述的方法,其中所述分配的克隆索引节点指向现有文件,所述方法还包括 在所述现有文件中存储克隆属性;以及 将所述现有文件标识为克隆父代。6.根据权利要求1所述的方法,还包括 分配新索引节点作为新索引节点; 接收用于所述新索引节点的新名称条目和目标目录;响应于接收所述新索引节点的所述新名称条目和所述目标目录,向用于所述新索引节点的所述目标目录中插入包含所述新名称条目的目录条目; 初始化所述新索引节点,其中所述初始化还包括 向所述新索引节点拷贝所述克隆索引节点的所述首部; 设置用于所述克隆索引节点的所述一个或者多个数据块地址链接的一个或者多个复本; 将所述新索引节点的链接计数设置成一(I); 将所述新索引节点的块计数设置成零; 记录所述克隆索引节点以作为所述新索引节点的所述克隆父代;以及 将所述新索引节点的创建时间设置成当前时间; 递增所述克隆索引节点的所述链接计数;以及 更新所述索引节点映射以将所述新索引节点标识为使用中。7.根据权利要求1所述的方法,还包括响应于接收对所述原文件的新数据更新 将所述源索引节点的所述复本替换为指向所述元数据块的拷贝的链接; 用所述新数据更新来更新所述原索引节点;以及 更新所述原索引节点的所述块计数。8.根据权利要求6所述的方法,还包括 响应于接收针对所述新索引节点的删除请求 读取所述克隆索引节点的所述链接计数; 响应于所述克隆索引节点的所述链接计数等于一(I) 删除所述新索引节点;以及 递减所述克隆索引节点的所述链接计数;以及 响应于所述克隆索引节点的所述链接计数不等于一(I),忽略所述删除请求。9.根据权利要求1所述的方法,还包括 响应于数据管理应用将所述一个或者多个克隆文件从所述数据处理系统的储存器移至离线储存器并且发出对任何克隆文件中的数据的读取,执行对经由所述克隆索引节点的所述复本而被间接链接的数据的不可见读取; 响应于所述数据管理应用发出对任何克隆文件中的数据的写入,如果所述写入将导致所述克隆索引节点的一个或者多个复本被改写,则静默地忽略所述写入;以及 响应于所述数据管理应用请求基于最后访问时间而将所述一个或者多个克隆文件从所述离线储存器迁移至所述数据处理系统的所述储存器,自治地更新所述克隆索引节点的所述最后访问时间。10.一种数据处理系统,包括 本地处理器; 所述本地处理器可访问的文件储存器和文件管理设施;以及 在所述处理器上执行的处理逻辑,用于使所述数据处理系统能够执行以下功能 选择与原文件对应的原索引...

【专利技术属性】
技术研发人员:T·E·恩格尔塞彭F·施穆克
申请(专利权)人:国际商业机器公司
类型:
国别省市:

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

1