[发明专利]用于对一组数据对象产生一致快照的方法和系统有效
申请号: | 200980112869.2 | 申请日: | 2009-03-30 |
公开(公告)号: | CN101990664A | 公开(公告)日: | 2011-03-23 |
发明(设计)人: | 克里斯托·卡拉曼诺里斯;马修·本杰明·安杜尔;帕特里克·威廉彭齐亚斯·德克斯 | 申请(专利权)人: | 威睿公司 |
主分类号: | G06F15/16 | 分类号: | G06F15/16;G06F13/14;G06F9/00;G06F3/00 |
代理公司: | 上海胜康律师事务所 31263 | 代理人: | 周文强;李献忠 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 一组 数据 对象 产生 一致 快照 方法 系统 | ||
背景技术
存储系统提供用于通过读写操作存储和获取非易失性数据的工具。该非易失性数据可被组织为数据对象,比如物理或逻辑卷、文件系统、文件或任何其它在技术上合理的组织。许多存储系统具备对数据对象进行快照(snapshot)以能够进行数据备份、数据复制、灾难恢复、为调试(debugging)而进行的时间点遍历以及连续数据保护的能力。数据对象的快照是该数据对象的不可变实例,反映了该数据对象在某个时间点的状态。
快照的一个重要性质是它们总是反映该数据对象的一致状态。换句话说,快照会反映该数据对象在某时间点的貌似合理的状态。只有当作为操作W2的潜在原因性前驱的、对同一对象的所有写入操作都被反映在同一快照中的时候,数据对象的快照才应反映写入操作W2。当且仅当存储客户端应用在W1完成后发布(issue)W2的时候,写入操作W1才是W2的潜在原因性前驱。
某些存储客户端应用可以对多个数据对象进行操作并产生跨多个数据对象的原因性写入序列。在这种情况下,对单独的数据对象产生崩溃-一致(crash-consistent)的快照不能确保多个对象的集合的快照反映一致的应用状态。例如,当对多个数据对象操作的存储客户端应用产生写入请求的原因链,其中第一写入请求针对第一数据对象执行而它完成后第二写入请求针对第二数据对象执行,且对该第一数据对象和该第二数据对象的快照是独立执行的时候,这种情况有可能出现。在这种情况下,该第二写入有可能被反映在该快照中,但是它的前驱写入(该第一写入)有可能不会,而且导致该快照不会具有在本文中被称为“组崩溃一致性”的性质。对于崩溃一致(即,组崩溃-一致)的一组数据对象快照,只有当作为W的潜在原因性前驱的、对该组中具有快照的任何对象的所有写入操作都被反映在同一组的快照中的时候,写入操作W才应当被反映在该组中的快照上。
发明内容
本发明的一个或更多实施方式提供一种用于对多个数据对象进行协调快照从而创建跨越一组数据对象一致的快照的方法和系统。
根据第一实施方式,一种用于协调多个数据对象的快照的方法包括以下步骤:发布第一命令以阻塞发布到该数据对象的新I/O操作,接收对该第一命令的响应,发布第二命令以确认该数据对象中的每一个的快照已经被成功请求创建快照,以及接收对该第二命令的响应,该响应确认已经对每个数据对象创建了快照。在新I/O操作被阻塞后,对该数据对象中的每一个,与该数据对象相关的待决I/O操作被完成,然后创建该数据对象的快照。而且,在该第二命令被发布后,对该数据对象中的每一个,解除对该数据对象的新I/O操作的阻塞,且管理该数据对象的至少一个存储节点在它确认已经对该数据对象中的每一个创建了快照之后发布对该第二命令的响应。
根据第二实施方式,一种用于协调多个数据对象的快照的方法包括以下步骤:发布第一命令以阻塞发布到该数据对象的任何I/O操作的完成,然后创建快照,接收对该第一命令的响应,发布第二命令以确认该数据对象中的每一个的快照已经被创建以及接收对该第二命令的响应。对于该数据对象中的每一个,在I/O完成被阻塞后且在对该第一命令的响应被传送之前,创建该数据对象的快照,且在该第二命令被发布后,解除对I/O完成的阻塞,且管理该数据对象的至少一个存储节点在它确认已经对该数据对象中的每一个创建了快照后发布对该第二命令的响应。
根据本发明的一个实施方式,一种用于产生组-一致快照的系统包括管理至少第一数据对象和第二数据对象的至少一个存储节点,其中至少一个存储节点被编程为在接收到产生组-一致快照的命令后阻塞发布到该第一和第二数据对象的新I/O操作,完成与该第一和第二数据对象相关的待决I/O操作,然后创建该第一和第二数据对象的快照。
根据本发明的另一个实施方式,一种用于产生组-一致快照的系统包括管理至少第一数据对象和第二数据对象的至少一个存储节点,其中该至少一个存储节点被编程为在接收到产生组-一致快照的命令后阻塞发布到该第一和第二数据对象的任何I/O操作的完成,然后创建该第一和第二数据对象的快照。
本文使用的术语“存储节点”具有符合本领域的技术人员理解的含义。在一个实施方式中,它是控制对一个或更多数据对象的I/O操作的元件,例如,包括处理器和记忆体的计算装置。
附图说明
图1是描绘被配置为实现本发明的一个或更多实施方式的计算机系统的方框图;
图2描绘了对两个不同的数据对象的两个相关写入的序列;
图3描绘了,根据本发明的第一实施方式,用于对一组数据对象产生一致快照的协议;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于威睿公司,未经威睿公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200980112869.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种铝液浇铸装置
- 下一篇:图像处理设备、图像处理方法和程序
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置