[发明专利]用于检测复制内容区块之间的差异的方法和系统有效
| 申请号: | 201310741125.5 | 申请日: | 2013-12-27 |
| 公开(公告)号: | CN103902408B | 公开(公告)日: | 2018-01-26 |
| 发明(设计)人: | 伯特兰·塞尔勒特;路易斯·莫尼耶 | 申请(专利权)人: | 西部数据技术公司 |
| 主分类号: | G06F11/14 | 分类号: | G06F11/14 |
| 代理公司: | 北京市柳沈律师事务所11105 | 代理人: | 万里晴 |
| 地址: | 美国加利*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 使用 过滤器 检测 副本 之间 偏差 | ||
相关申请的交叉引用
本申请要求于2013年12月27日提交的美国专利申请第13/728,133号,的优先权,其公开内容通过引用结合于此,犹如在本文中进行完整阐述。
技术领域
本发明涉及复制,更具体地,涉及用于有效检测以及定位复制对象之间的差异的技术。
背景技术
用于访问存储的数字项目的信息在此被称为存储项目的“存取码”。在常规的文件系统中,基于以下来检索所存储的项目:(a)项目存储的位置;以及(b)项目的名称或者标识符。例如,如果名为“foo.txt”的文件位于名为“c:/myfiles/text”的目录中,则应用可使用路径名称“c:/myfiles/text/foo.txt”作为存取码从文件系统中检索文件。因为传统存取码是基于被检索项目的位置,所以当项目移动时存取码就会改变。此外,项目的每个副本具有不同的存取码,这是因为每个副本存储在不同的位置。
和常规文件系统相比,内容寻址存储(CAS)系统允许应用基于从项目的内容所生成的散列值从存储器中检索项目。因为CAS系统基于为项目生成的散列值对项目进行存储相关的操作,并且散列值是基于项目内容而不是项目存储的位置的,请求操作的应用程序不需要了解存储的项目副本的数量或者位置就可以进行此。例如,CAS系统可在位置A、B和C存储项目X的多个副本。期望检索项目X的应用程序通过发送基于项目X内容的散列值至CAS系统就可以进行此。基于此散列值,CAS系统将向应用程序提供从位置A、B和C之一中检索到的项目X的副本。因此,应用程序不用了解项目X实际存储的位置、项目X存在的副本数量或者检索到的副本实际上获得自的特定位置,就可以获得项目X。
使用CAS存储的数据在两个或多个数据中心之间被频繁地复制。当一组区块在多个数据中心之间复制时,区块组的许多副本被假设为保持相同。然而,实际上,区块组的副本具有小量差异。这些差异可由各种原因引起,包括数据损坏以及复制延迟。
图1为示出了同一区块组的副本包含在两个区块存储器100和102中的情况的框图,其中两个区块存储器100和102可以由两个数据中心保存。存储在区块存储器100中的副本被示为副本A,而存储在区块存储器102中的副本被示为副本B。在区块存储器100和102两者中,副本在两个存储装置之间分割。具体地,使用横向分区在存储装置110和120之间分割副本A,而使用纵向分区在存储装置112和122之间分割副本B。
横向分区包括基于其存取码所落入的范围选择存储区块的位置。因此,在区块存储器100中,具有在MIN至N范围中的存取码的区块存储在存储装置110上,而具有在N+1至MAX范围中的存取码的区块存储在存储装置120上。
与之相比,纵向分区包括在特定装置上存储所有区块直至特定时间点(例如,当磁盘变满时),并且在随后的时间点在不同的装置上存储所有新的区块。因而,在区块存储器102中,MIN至MAX范围中的整个存取码的区块在存储装置112上存储直到时间T1,以及时间T1之后整个存取码范围MIN至MAX的区块存储在存储装置122上。
区块存储器100和102仅为数据中心内部如何组织区块的简单实施例,其中此区块属于存储器所保存的副本。区块数据的组织可为任意复合体,包括水平和垂直分区的组合,以及系统内复制和高速缓存。在此描述的技术不限于任何具体的内部区块存储组织。
如上所述,副本A和B会由于数据损坏或者延迟问题而彼此偏差。对于数据损坏,会出现数据损坏造成的副本之间的偏差,例如当磁盘损坏时、当磁盘的单独扇区损坏时或者当存储的数据混乱时。此外,NAND芯片(又名固态存储器SSD)逐渐的劣化也会导致其中存储的数据损坏。
甚至在没有任何故障的情况下,副本A和B会因为延迟制造的偏差而不同。具体地,复制过程消耗一定时间,以及在复制进行的同时副本持续进展(即,新的PUT操作完成)。因此,即使可以执行副本A和B的状态的瞬时比较,副本之间也会不同,这是因为区块存储器100已经完成存储到副本A中的区块尚未被区块存储器102存储到副本B中,反之亦然。
可以采用试图预先主动避免损坏造成的偏差的协议。例如,在一些系统中,PUT操作被发送至所有副本(例如,所有3个副本),但是被假定为在大部分副本(例如,3个中的2个副本)确认收到PUT时发送就是成功的。在副本尚未确认收到PUT的情况下,复制系统通常竭尽最大的努力来确保尚未确认收到PUT的副本具有作为PUT的区块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西部数据技术公司,未经西部数据技术公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310741125.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种铁路货车制动系统
- 下一篇:铁路运输小汽车的专用车体





