基于分散位置的去重的性能改进制造技术

技术编号:24335025 阅读:69 留言:0更新日期:2020-05-29 21:54
提供了一种用于基于分散位置的数据存储的机制。接收将数据文件写入一组存储器区域中的引用者存储器区域的请求。针对所述数据文件的每个数据块,响应于所述数据块的散列值与所述引用者存储器区域中所引用的其他所存储的数据块的其他散列值的比较指示所述数据块未存在于所述引用者存储器区域中,响应于所述数据块存在于该组存储器区域中的另一存储器区域中,响应于所述存储器区域未能成为与所述引用者存储器区域相关联的所述预定数量N个拥有者存储器区域中的一个,并且响应于拥有者存储器区域尚未达到所述预定数量N,将对所述数据块的引用存储在所述引用者存储器区域中。

Performance improvement of weight removal based on distributed location

【技术实现步骤摘要】
【国外来华专利技术】基于分散位置的去重的性能改进
技术介绍
本申请总体上涉及一种改进的数据处理装置和方法,更具体地涉及用于改进基于分散位置的去重的性能的机制。在存储系统中,去重(deduplication)是用针对数据的单个实例的指针、引用等替换整个系统中的重复数据并且因此降低整体存储需求的过程。一般来说,去重引用(deduplicationreference)是指向要么是数据本身要么是代表数据的元数据的拥有者的元数据条目。存储数据有两种主要方案:基于内容的去重和基于位置的去重。在基于内容的去重中,位于存储器内的数据由数据的指纹、哈希值等确定。在基于位置的重复删除中,位于存储器内的数据由数据的用户-空间位置(卷偏移量)确定。基于位置的去重的一个主要优点是当执行大型读取或顺序读取时的数据局部性。基于位置的去重需要的磁盘输入/输出(I/O)较少。另一方面,当系统中的I/O为数不多时,基于内容的去重具有更好的资源平衡。因为去重需要大量的随机存取存储器(RAM),所以有些实现方式为了简化管理和/或交换而将元数据划分为区域(空间划分),诸如拥有者(owner)区域和引用者(referrer)区域。
技术实现思路
提供本概述以便以简化的形式介绍将在本文的具体实施方式部分进一步描述的一些概念。本概述并不旨在标识所要求保护的主题的关键因素或基本特征,也不旨在限制所要求保护的主题的范围。在一个说明性实施例中,提供了一种在数据处理系统中用于基于分散位置的数据存储的方法。说明性实施例从主机系统接收将数据文件写入一组存储器区域中的引用者存储器区域的请求。针对该数据文件的每个数据块,说明性实施例响应于该数据块的哈希值与引用者存储器区域中所引用的其他存储的数据块的其他哈希值的比较来确定该数据是否存在于该组存储器区域中的另一个存储器区域中—这表明该数据块未能存在于引用者存储器区域中。说明性实施例响应于该数据块存在于该组存储器区域中的另一存储器区域中,确定该存储器区域是否是与引用者存储器区域相关联的预定数量N个拥有者存储器区域之一。说明性实施例响应于该存储器区域未能是与引用者存储器区域相关联的预定数量N个拥有者存储器区域之一,确定所述预定数量N个拥有者存储器区域中的拥有者存储器区域的数量是否已经达到。说明性实施例响应于所述预定数量N个拥有者存储器区域尚未达到,将对所述数据块的引用存储在所述引用者存储器区域中。在其他说明性实施例中,提供了一种包括具有计算机可读程序的计算机可用或可读介质的计算机程序产品。当在计算设备上执行时,计算机可读程序使得计算设备执行以上关于方法说明性实施例概述的操作中的不同操作和组合。在另一个说明性实施例中,提供了一种系统/装置。所述系统/装置可以包括一个或多个处理器和耦合到所述一个或多个处理器的存储器。存储器可以包括当由一个或多个处理器执行时促使该一个或多个处理器执行以上关于方法说明性实施例概述的操作中的不同操作和操作的组合的指令。本专利技术的这些和其他特征和优点将在本专利技术的举例实施例的以下详细说明中进行描述,或鉴于以下详细说明对本领域的普通技术人员来说将变得清楚。附图说明当结合附图阅读时,通过参考以下说明性实施例的详细说明,将最好地理解本专利技术、以及其优选的使用方式以及其他目的和优点,在附图中:图1示出了根据说明性实施例将40KB文件写为导致许多类型的开销的八个不同拥有者区域中的五个8KB块;图2是其中可以实现说明性实施例的各个方面的分布式数据处理系统的示例图;图3是其中可实施说明性实施例的各个方面的计算装置的实例框图;图4示出了根据一个说明性实施例的存储机制的功能框图,该存储机制在对去重效率具有最小影响的情况下改进了基于分散位置的去重的性能;图5示出了根据一个说明性实施例的存储机构所执行的操作的流程图,该存储机构在对去重效率具有最小影响的情况下改进了基于分散位置的去重的性能;以及图6描绘了根据一个说明性实施例、如果要在存储器区域的一个子集(即,引用者存储器区域和相关联的一个或多个拥有者存储器区域)之间实施去重则存储机构所执行的操作的流程图。具体实施方式如前所述,存在用于存储数据的两种主要方案:基于内容的去重和基于位置的去重。在基于内容的去重中,位于存储器内的数据由数据的指纹、哈希值等确定。在基于位置的重复删除中,位于存储器内的数据由数据的用户空间位置(卷偏移量)确定。以基于元数据区域的系统中的基于位置的去重为例,当存在大量去重,而数据(或拥有元数据)分散在整个存储器中去重时,局部性(locality)的任何优势都可能受到损害。例如,当64KB文件被存储为八个8KB块时,读取64KB文件可能需要访问八个不同的拥有者区域,这可导致如根据说明性实施例的图1所示的许多类型的开销。也就是说,如图1所示,主机系统102从存储器区域108执行对一个文件的读取。在存储器区域108处,读取与文件相关联的元数据,识别出拥有者存储器区域包括该文件的至少一部分的五个不同的拥有者存储器区域:存储器区域104、106、110、112和114。因此,存储器区域108执行针对驻留在存储器区域104上的文件的部分的读取,存储器区域108执行针对驻留在存储器区域106上的文件的部分的读取,存储器区域108执行针对驻留在存储器区域110上的文件的部分的读取,存储器区域108执行针对驻留在存储器区域112上的文件的部分的读取,存储器区域108执行针对驻留在存储器区域114上的文件的部分的读取。基于这些读取,存储器区域108从存储器区域104接收针对驻留在存储器区域104上的文件的部分的响应H1,存储器区域108从存储器区域106接收针对驻留在存储器区域106上的文件的部分的响应H2,存储器区域108从存储器区域110接收针对驻留在存储器区域110上的文件的部分的响应H3,存储器区域108从存储器区域112接收针对驻留在存储器区域112上的文件的部分的响应H4,存储器区108从存储器区114接收针对驻留在存储器区114上的文件的部分的响应H5。在接收到响应H1、H2、H3、H4和H5时,存储器区域108用包括H1、H2、H3、H4和H5的响应对主机系统102做出响应。因此,由于拥有者存储器区域对文件的块的存储跨越五个不同的拥有者存储器区域,对一个存储器区域(存储器区域108)的一个读取包括更多的从其他拥有者存储器区域的读取、更多的集群存储器区域之间的通信、以及在并非所有元数据都包含在原始读取的存储器区域中的情况下在存储器区域之间交换元数据。达到这些额外的读取的开销,导致系统的严重性能下降。因此,说明性实施例提供了用于在对去重效率具有最小影响的情况下改进基于分散位置的去重的性能的机制。说明性实施例通过在引用者)存储器区域内对拥有者存储器区域选择应用动态管理逻辑,来智能地创建不同引用者和拥有者存储器区域之间的复制链路。这通过两个基本机制来实现。第一机制按以下方式之一限制可以被链接到给定引用者的拥有者存储器区域的数量(多达预定数量N个拥有者存储器区域):·利用“先到先服务本文档来自技高网...

【技术保护点】
1.一种在数据处理系统中用于基于分散位置的数据存储的方法,所述方法包括:/n由存储机构从主机系统接收将数据文件写入到一组存储器区域中的引用者存储器区域的请求;以及/n针对所述数据文件的每个数据块:/n响应于所述数据块的散列值与所述引用者存储器区域中所引用的其他所存储的数据块的其他散列值的比较指示所述数据块未存在于所述引用者存储器区域中,由所述存储机构确定所述数据是否存在于该组存储器区域中的另一存储器区域中;/n响应于所述数据块存在于该组存储器区域中的另一存储器区域中,由所述存储机构确定所述存储器区域是否是与所述引用者存储器区域相关联的预定数量N个拥有者存储器区域中的一个拥有者存储器区域;/n响应于所述存储器区域未能成为与所述引用者存储器区域相关联的所述预定数量N个拥有者存储器区域中的一个拥有者存储器区域,由所述存储机构确定所述预定数量N个拥有者存储器区域中的拥有者存储器区域的数量是否已经达到;以及/n响应于拥有者存储器区域尚未达到所述预定数量N,由所述存储机构将对所述数据块的引用存储在所述引用者存储器区域中。/n

【技术特征摘要】
【国外来华专利技术】20171025 US 15/793,1091.一种在数据处理系统中用于基于分散位置的数据存储的方法,所述方法包括:
由存储机构从主机系统接收将数据文件写入到一组存储器区域中的引用者存储器区域的请求;以及
针对所述数据文件的每个数据块:
响应于所述数据块的散列值与所述引用者存储器区域中所引用的其他所存储的数据块的其他散列值的比较指示所述数据块未存在于所述引用者存储器区域中,由所述存储机构确定所述数据是否存在于该组存储器区域中的另一存储器区域中;
响应于所述数据块存在于该组存储器区域中的另一存储器区域中,由所述存储机构确定所述存储器区域是否是与所述引用者存储器区域相关联的预定数量N个拥有者存储器区域中的一个拥有者存储器区域;
响应于所述存储器区域未能成为与所述引用者存储器区域相关联的所述预定数量N个拥有者存储器区域中的一个拥有者存储器区域,由所述存储机构确定所述预定数量N个拥有者存储器区域中的拥有者存储器区域的数量是否已经达到;以及
响应于拥有者存储器区域尚未达到所述预定数量N,由所述存储机构将对所述数据块的引用存储在所述引用者存储器区域中。


2.根据权利要求1所述的方法,还包括:
响应于达到所述预定数量N个拥有者存储器区域,由所述存储机构将所述数据块存储在所述引用者存储器区域中。


3.根据权利要求1所述的方法,还包括:
响应于拥有者存储器区域尚未达到所述预定数量N,由所述存储机构确定其中存储所述数据块的所述存储器区域是否已经达到流行度阈值;以及
响应于所述数据块已经被存储在其中的所述存储器区域达到所述流行度阈值,由所述存储机构将所述存储器区域添加到所述预定数量N个拥有者存储器区域。


4.根据权利要求1所述的方法,还包括:
响应于拥有者存储器区域尚未达到所述预定数量N,由所述存储机构将所述存储器区域添加到所述预定数量N个拥有者存储器区域。


5.根据权利要求1所述的方法,其中基于先来先服务策略和流行度策略的其中之一来确定所述预定数量N个拥有者存储器区域内的所述拥有者存储器区域。


6.根据权利要求5所述的方法,其中,按照所述先到先服务策略,当数据存储在所述存储器区域中时,所述存储器区域被添加到所述预定数量N个拥有者存储器区域。


7.根据权利要求5所述的方法,其中,按照所述流行度策略,当所述存储器区域的流行度达到预定阈值时,将所述存储器区域添加到所述预定数量N个拥有者存储器区域,其中,达到所述预定阈值是在针对所述存储器区域的读取和/或写入的数目达到或超过所述阈值时。


8.根据权利要求7所述的方法,其中,按照所述流行度策略,在预定数量N个拥有者存储器区域已满时,当另一存储器区域的流行度超过已经在所述预定数量N个拥有者存储器区域中的最低流行度的拥有者存储器区域的流行度时,从所述预定数量N个拥有者存储器区域移除一个拥有者存储器区域。


9.一种计算机程序产品,包括其中存储有计算机可读程序的计算机可读存储介质,其中当所述计算机可读程序在计算设备上执行时,使得所述计算设备:
从主机系统接收将数据文件写入到存储器区域集合中的引用者存储器区域的请求;以及
针对所述数据文件的每个数据块:
响应于所述数据块的散列值与所述引用者存储器区域中所引用的其他所存储的数据块的其他散列值的比较指示所述数据块未存在于所述引用者存储器区域中,确定所述数据是否存在于该组存储器区域中的另一存储器区域中;
响应于所述数据块存在于该组存储器区域中的另一存储器区域中,确定所述存储器区域是否是与所述引用者存储器区域相关联的预定数量N个拥有者存储器区域中的一个拥有者存储器区域;
响应于所述存储器区域未能成为与所述引用者存储器区域相关联的所述预定数量N个拥有者存储器区域中的一个拥有者存储器区域,确定所述预定数量N个拥有者存储器区域中的拥有者存储器区域的数量是否已经达到;以及
响应于拥有者存储器区域尚未达到所述预定数量N,将对所述数据块的引用存储在所述引用者存储器区域中。


10.根据权利要求9所述的计算机程序产品,其中所述计算机可读程序还使得所述计算设备:
响应于达到所述预定数量N个拥有者存储器区域,将所述数据块存储在所述引用者存储器区域中。


11.根据权利要求9所述的计算机程序产品,其中所述计算机可读程序还使得所述计算设备:
响应...

【专利技术属性】
技术研发人员:J·费舍尔通博拉Y·沙茨基A·哈鲁米A·波拉特斯托勒S·马伦科夫T·西万R·科恩D·哈尼克E·凯茨
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

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

1