用于重复数据删除中优化的设备、系统和方法技术方案

技术编号:29600887 阅读:13 留言:0更新日期:2021-08-06 20:05
公开了一种高级重复数据删除方法,特别是具有附加重复数据删除层和用于对多个存储服务器进行重复数据删除的全局服务器。所述全局服务器用于维护关于哈希值集合的信息,每个哈希值与存储在所述全局服务器和/或所述存储服务器中的数据的数据片(chunk)相关联。所述全局服务器用于从一个或多个所述存储服务器接收修改所述关于一个或多个哈希值的信息的请求。所述全局服务器还用于对与所述一个或多个请求相关的元数据进行累积和排序,特别地,对于每个请求,所述元数据包括所述请求指示的哈希值和发送所述请求的所述存储服务器的指示。当所述累积元数据达到确定的大小时,所述全局服务器用于基于所述累积元数据修改所述关于所述一个或多个哈希值的信息。

【技术实现步骤摘要】
【国外来华专利技术】用于重复数据删除中优化的设备、系统和方法
本专利技术涉及一种数据存储重复数据删除方法,尤其涉及一种全局重复数据删除服务器(globaldeduplicationserver,GDS)(也可以简称为全局服务器)中优化的内存管理方法。本专利技术通过优化GDS中的内存管理来解决性能下降问题。
技术介绍
重复数据删除(也称为数据优化)是指在不损害原始数据的保真性或完整性的前提下,减少需要存储在磁盘上或通过网络传输的数据的物理字节数,即,减少的字节数是无损的,原始数据可以完全恢复。通过减少存储和/或传输数据的存储资源,重复数据删除因此节省了(用于存储和网络传输的)硬件成本和数据管理(例如,备份)的成本。随着数字化存储数据量的增长,这些成本节约变得显著。重复数据删除通常使用多种技术来消除持久存储的文件内部和文件之间的冗余。一种技术用于识别一个或多个文件中的相同数据区域,并且物理上只存储唯一一个区域(称为片),同时保持与文件关联的指向该片的指针。另一种技术是通过例如存储压缩的片来混合重复数据删除与压缩。许多组织使用专用服务器(即,存储服务器)来存储数据。不同服务器存储的数据往往是重复的,造成空间损失。解决这一问题的一种方法是重复数据删除,其包括通过使用哈希来识别重复数据,仅存储一定粒度内的唯一数据。然而,重复数据删除是以特定的单个存储服务器为粒度进行的。为了防止数据在多个存储服务器上的重复,引入了重复数据删除(嵌套重复数据删除)的概念,包括附加的重复数据删除层(对多个重复数据删除服务器执行重复数据删除)。特别地,提出了一种将存储高度重复数据的GDS,作为解决跨多个存储服务器执行重复数据删除的问题的方案。GDS存储由符合嵌套重复数据删除的存储服务器(即,存储服务器集群)发送的哈希值,以确定哈希值是否出现在足够多的存储服务器中,从而保证所述GDS对该哈希值代表的数据拥有所有权。哈希值可用于唯一地标识相应的数据片。由于GDS存储了存储服务器集群中存储服务器的所有哈希值(无论是否也存储其数据),因此存储所有这些哈希值所需的存储空间非常大。因此,不可能在GDS的存储器中保存所有哈希值,这进一步影响GDS的性能,特别是在响应存储或删除哈希值的请求时。解决此类问题的标准方案是将数据缓存在存储器中。由于GDS架构的构建方式(多个存储服务器组成存储服务器集群,与单个GDS通信),如果没有合适的缓存策略和方法,可能会导致多次“缓存未命中(cache-misses)”,每次都会强制磁盘访问。本专利技术旨在通过当哈希值存储在GDS的存储器中时优化GDS的内存管理效率来解决这种性能下降问题。
技术实现思路
鉴于上述问题,本专利技术的实施例旨在提供一种数据管理方案,其优化全局服务器的响应时间。为此,一个目标是减少所述全局服务器的缓存未命中。本专利技术的实施例的另一目的是允许更多地从存储器读取哈希值,而更少地从磁盘存储器读取哈希值。另一个目标是减少I/O操作。该目的通过所附独立权利要求中提供的实施例来实现。本专利技术实施例的有利实施方式在从属权利要求中进一步限定。本专利技术的第一方面提供一种用于对多个存储服务器进行重复数据删除的全局服务器,其中所述全局服务器用于:从一个或多个所述存储服务器接收修改关于来自哈希值集合的一个或多个哈希值的信息的请求,其中,对所述一组哈希值进行维护,并且每个哈希值与存储在所述全局服务器和/或所述存储服务器中的数据的数据片相关联;对与所述一个或多个请求相关的元数据进行累积和排序,其中,对于每个请求,所述元数据包括所述请求指示的哈希值和发送所述请求的所述存储服务器的指示;以及当所述累积元数据达到确定的大小时,基于所述累积元数据修改所述关于所述一个或多个哈希值的信息。本专利技术提供一种在嵌套重复数据删除系统中存储高度重复数据的全局服务器。所述嵌套重复数据删除系统可以包括全局服务器和多个存储服务器。特别地,本专利技术提出一种全局服务器,其存储所请求的哈希值(以及请求这些哈希值的所述存储服务器),并且不立即处理所述请求。这样,全局服务器以异步方式和本地化的方式处理请求。因此减少了所述全局服务器中的缓存未命中,从而优化了所述全局服务器的响应时间。特别地,能够降低所述全局服务器的时延。术语“全局服务器”是“全局重复数据删除服务器”的缩写,是指在包含多个重复数据删除服务器的存储系统中处理高度重复数据的服务器。在该实施中,GDS可以实现为集中式设备(例如,服务器),或者部署在所述多个存储服务器中的一个存储服务器中,或者以分布式方式实现。在第一方面的一种实现方式中,关于所述哈希值集合的信息可以在所述全局服务器中或在所述全局服务器可访问的单独存储设备中维护。这提高了所述重复数据删除系统实现的多样性。在第一方面的一种实现方式中,所述全局服务器包括存储器,所述全局服务器用于在所述存储器中累积所述元数据。特别地,所述全局服务器可以在所述存储器中对所请求的哈希值进行排序和收集。在第一方面的一种实现方式中,所述全局服务器还包括磁盘存储器,所述全局服务器用于:响应于所述累积元数据达到所述确定的大小,将所述累积元数据转储至所述磁盘存储器。所述全局服务器一旦累积了一定数量的哈希值,就可以将这些哈希值转储至所述磁盘存储器中。在第一方面的一种实现方式中,所述全局服务器用于:响应于所述累积元数据达到所述确定的大小,将所述元数据填充到多个块(block)中的第一块中,其中,每个块包括相同数量的片,并且每个片填充有与一个或多个请求相关的元数据;将所述第一块转储至所述磁盘存储器;以及响应于转储至所述磁盘存储器的块的数量超过确定的阈值,基于所述多个块中的所述累积元数据,修改所述关于所述一个或多个哈希值的信息。当已将足够多的请求转储至磁盘存储器中时,所述全局服务器可以开始处理这些请求。在第一方面的一种实现方式中,所述信息包括包括所述哈希值集合的哈希元数据表,所述哈希元数据表存储在所述磁盘存储器中。因此,存储哈希值和关于各个哈希值的信息的表,即所述哈希元数据表,可以存储在所述全局服务器的本地磁盘中。在第一方面的一种实现方式中,所述全局服务器用于:将所述哈希元数据表划分为N个部分,所述N为不小于2的正整数,其中,所述哈希元数据表的每个部分与所述哈希值的不同范围相关联;将所述哈希元数据表的第一部分上载到所述存储器,其中,所述哈希元数据表的所述第一部分与第一个哈希值范围相关联;以及基于所述多个块中的所述累积元数据修改所述哈希元数据表的所述第一部分。需要说明的是,所述哈希元数据表为排序后的表,其中所有哈希值是按顺序存储的。例如,所述哈希值可以按升序或降序存储在表中。由于所述哈希元数据表被划分为N个部分,所以哈希值的范围被划分为N个部分。所述全局服务器将逐个遍历所有部分。所述全局服务器处理与包含在相应部分中的哈希值相关的请求。值得注意的是,各个部分是当前上载到所述存储器中的部分。因此,所述全局服务器能够更多地从存储器中读取,而更少地从磁盘存储器中读取。在第一方面的一种实现本文档来自技高网
...

【技术保护点】
1.一种全局服务器(100),用于对多个存储服务器(110)进行重复数据删除,其特征在于,所述全局服务器(100)用于:/n从一个或多个所述存储服务器(110)接收修改关于来自哈希值集合的一个或多个哈希值的信息(101)的请求(111),其中,对所述一组哈希值进行维护,并且每个哈希值与存储在所述全局服务器(100)和/或所述多个存储服务器(110)中的数据的数据片(chunk)相关联;/n对与所述一个或多个请求(111)相关的元数据进行累积和排序,其中,对于每个请求(111),所述元数据包括所述请求指示的哈希值和发送所述请求的所述存储服务器的指示;以及/n响应于所述累积元数据(102)达到确定的大小,基于所述累积元数据(102)修改所述关于所述一个或多个哈希值的信息(101)。/n

【技术特征摘要】
【国外来华专利技术】1.一种全局服务器(100),用于对多个存储服务器(110)进行重复数据删除,其特征在于,所述全局服务器(100)用于:
从一个或多个所述存储服务器(110)接收修改关于来自哈希值集合的一个或多个哈希值的信息(101)的请求(111),其中,对所述一组哈希值进行维护,并且每个哈希值与存储在所述全局服务器(100)和/或所述多个存储服务器(110)中的数据的数据片(chunk)相关联;
对与所述一个或多个请求(111)相关的元数据进行累积和排序,其中,对于每个请求(111),所述元数据包括所述请求指示的哈希值和发送所述请求的所述存储服务器的指示;以及
响应于所述累积元数据(102)达到确定的大小,基于所述累积元数据(102)修改所述关于所述一个或多个哈希值的信息(101)。


2.根据权利要求1所述的全局服务器(100),其特征在于,
所述全局服务器(100)包括存储器(103),并且
所述全局服务器(100)用于:
在所述存储器(103)中累积所述元数据(102)。


3.根据权利要求2所述的全局服务器(100),其特征在于,
所述全局服务器(100)还包括磁盘存储器(104),并且
所述全局服务器(100)用于:
响应于所述累积元数据(102)达到所述确定的大小,将所述累积元数据(102)转储至所述磁盘存储器(104)。


4.根据权利要求3所述的全局服务器(100),其特征在于,用于:
响应于所述累积元数据(102)达到所述确定的大小,
将所述元数据填充到多个块(block)中的第一块中,其中,每个块包括相同数量的片,并且每个片填充有与一个或多个请求相关的元数据;
将所述第一块转储至所述磁盘存储器(104);以及
响应于转储至所述磁盘存储器(104)的块的数量超过确定的阈值,
基于所述多个块中的所述累积元数据(102),修改所述关于所述一个或多个哈希值的信息(101)。


5.根据权利要求3或4所述的全局服务器(100),其特征在于,
所述信息(101)包括包括所述哈希值集合的哈希元数据表,所述哈希元数据表存储在所述磁盘存储器(104)中。


6.根据权利要求5所述的全局服务器(100),其特征在于,用于:
将所述哈希元数据表划分为N个部分,所述N为不小于2的正整数,其中,所述哈希元数据表的每个部分与所述哈希值的不同范围相关联;
将所述哈希元数据表的第一部分上载到所述存储器(103),其中,所述哈希元数据表的所述第一部分与第一个哈希值范围相关联;以及
基于所述多个块中的所述累积元数据(102)修改所述哈希元数据表的所述第一部分。


7.根据权利要求6所述的全局服务器(100),其特征在于,用于:
将转储至所述磁盘存储器(104)的每个块中的第一片上载到所述存储器(103);
迭代所有已上载的第一片中的所述元数据(102)中包含的所述哈希值;
合并属于所述第一个哈希值范围的所述哈希值;以及
基于与属于所述第一个哈希值范围的所述合并哈希值相关的所述元数据(102),修改所述存储器(103)中存储的所述哈希元数据表的所述第一部分。


8.根据权利要求5至7中任一项所述的全局服务器(100),其特征在于,
所述哈希元数据表包括关于所述哈希值集合中每个哈希值的信息以及关于为所述哈希值注册的一个或多个存储服务器(110)的信息。


9.根据权利要求8所述的全局服务器(100),其特征在于,用于:
响应于与属于所述第一个哈希值范围的第一哈希值相关的元数据中包括添加所述第一哈希值的请求:
-响应于所述第一哈希值未包含在所述哈希元数据表的所述第一部分中,将所述第一哈希值添加到所述哈希元数据表的所述第一部分中,创建与...

【专利技术属性】
技术研发人员:亚伦·莫阿萨夫·纳塔逊阿维夫·库温特阿萨夫·耶格尔
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1