顺序存储介质上的并行重复数据删除机制的制作方法

文档序号:38275901发布日期:2024-06-12 23:24阅读:19来源:国知局
顺序存储介质上的并行重复数据删除机制的制作方法


背景技术:

1、在本发明的一些实施例中,本发明涉及存储系统,更具体地但非排他地,涉及在顺序存储介质上存储数据的基于重复数据删除的存储系统的管理。

2、基于重复数据删除(deduplication,dedup)的存储系统通过存储指向先前存储的数据块的引用,而非存储同一数据块的另一副本,来消除相同数据块的冗余存储。但是,即使进行了重复数据删除,存储需求也越来越大,磁盘容量已无法满足需求。由于磁带价格较低和/或数据留存时间长,辅助存储和归档的重点正从具有重复数据删除的磁盘转移到顺序存储介质(如磁带技术)。由于磁带中的寻道时间相对较长(几十秒),因此大多数应用程序在使用磁带时除了内置压缩之外没有进行任何优化。


技术实现思路

1、本发明的一个目的是提供一种计算设备、系统、计算机程序产品和方法,用于管理由多个顺序存取存储设备访问的顺序存储介质,以对目标数据进行重复数据删除存储。

2、上述和其它目的通过独立权利要求的特征实现。其它实现方式在从属权利要求、说明书和附图中是显而易见的。

3、根据第一方面,一种用于数据的重复数据删除存储的设备,包括:处理器,所述处理器用于:访问目标数据以存储在多个存储集上,每个存储集包括多个顺序存取存储设备的多个介质;访问每个存储集与其中存储的数据段之间的全局索引映射,以识别存储集,所述存储集包括多个介质,所述多个介质可能存储所述目标数据的至少一个段的重复;访问介质集特定重复数据删除机制,以识别存储在所述识别的存储集的所述多个介质上的所述目标数据的段的重复;将所述目标数据的非重复段存储在所述识别的存储集的所述多个介质上;更新所述存储集的所述多个介质的所述介质集特定重复数据删除机制,以指示所述目标数据的所述识别的重复段和所述存储的非重复段;更新所述全局索引,以指示在所述访问过程中使用的所述目标数据的所述段之间的映射;更新用于存储所述目标数据的所述多个段的标识符的全局文件映射;更新标识表,以存储每个标识符的元数据。

4、根据第二方面,一种用于数据的重复数据删除存储的方法,包括:访问目标数据以存储在多个存储集上,每个存储集包括多个顺序存取存储设备的多个介质;访问每个存储集与其中存储的数据段之间的全局索引映射,以识别存储集,所述存储集包括多个介质,所述多个介质可能存储所述目标数据的至少一个段的重复;访问介质集特定重复数据删除机制,以识别存储在所述识别的存储集的所述多个介质上的所述目标数据的段的重复;将所述目标数据的非重复段存储在所述识别的存储集的所述多个介质上;更新所述存储集的所述多个介质的所述介质集特定重复数据删除机制,以指示所述目标数据的所述识别的重复段和所述存储的非重复段;更新所述全局索引,以指示在所述访问过程中使用的所述目标数据的所述段之间的映射;更新用于存储所述目标数据的所述多个段的标识符的全局文件映射;更新标识表,以存储每个标识符的元数据。

5、根据第三方面,一种非瞬时性介质,存储用于数据的重复数据删除存储的程序指令,当所述程序指令由至少一个处理器执行时,使得所述至少一个处理器执行以下操作:访问目标数据以存储在多个存储集上,每个存储集包括多个顺序存取存储设备的多个介质;访问每个存储集与其中存储的数据段之间的全局索引映射,以识别存储集,所述存储集包括多个介质,所述多个介质可能存储所述目标数据的至少一个段的重复;访问介质集特定重复数据删除机制,以识别存储在所述识别的存储集的所述多个介质上的所述目标数据的段的重复;将所述目标数据的非重复段存储在所述识别的存储集的所述多个介质上;更新所述存储集的所述多个介质的所述介质集特定重复数据删除机制,以指示所述目标数据的所述识别的重复段和所述存储的非重复段;更新所述全局索引,以指示在所述访问过程中使用的所述目标数据的所述段之间的映射;更新用于存储所述目标数据的所述多个段的标识符的全局文件映射;更新标识表,以存储每个标识符的元数据。

6、本文描述的至少一些实施例可以解决在顺序存取存储设备的介质(例如,磁带机的盒式磁带)上存储时提高写入数据的吞吐量的技术问题。由于磁带具有顺序存取特性,因此访问数据的速度慢。本文描述的至少一些实施例通过将目标数据写入顺序存取存储设备的多个介质(例如,盒式磁带),而非将数据写入单个介质,来提高将数据写入顺序存取存储设备的介质的吞吐量。

7、在所述第一方面、所述第二方面和所述第三方面的另一种实现方式中,所述目标数据的所述非重复段并行存储在所述识别的存储集的所述多个介质上。

8、与将目标数据存储在单个介质上相比,将目标数据并行存储在存储集的多个介质上可以提高性能。通过使用多个介质的集合,可以将数据并行写入多个介质。这可以将写入性能提高多达集合中介质数量的倍数,例如,对于4个盒带的集合,性能比单个盒带提高多达4倍。

9、在所述第一方面、所述第二方面和所述第三方面的另一种实现方式中,所述处理器还用于:将所述目标数据划分为多个数据段,计算所述多个数据段的多个指纹,选择所述多个指纹的代表子集,其中,针对所述代表子集访问所述全局索引,以识别所述存储集,其中,根据所述数据段的所述指纹选择所述存储集的用于数据段的重复数据删除存储的介质。

10、指纹以确定性的和可重复的方式将数据段链接到存储数据段的介质。

11、在所述第一方面、所述第二方面和所述第三方面的另一种实现方式中,通过执行取模运算,求出所述指纹除以所述存储集中的介质数量时的余数,从而选择所述存储集的用于重复数据删除存储的所述介质,其中,所述余数指示所述选定介质。

12、取模运算确保段只能在存储集的单个介质上找到,并且始终在同一个介质上找到。当使用加密哈希(例如,sha1)或生成类似随机值的其它函数来计算指纹时,取模运算将段基本均匀地分布在存储集的介质之中。

13、在所述第一方面、所述第二方面和所述第三方面的另一种实现方式中,所述标识表中存储的每个元数据包括存储所述数据段的所述存储集的指示、所述介质的偏移、所述数据段的大小以及所述多个数据段中的每个数据段的指纹,其中,所述指纹用于确定所述存储集的所述介质。

14、用于检索索引的同一指纹可以用于选择将数据段存储在哪个介质上。

15、在所述第一方面、所述第二方面和所述第三方面的另一种实现方式中,每个存储集的介质数量是预配置且固定的。

16、可以选择每个存储集的介质数量,以提高并行读/写性能。一旦选择了每个存储集的介质数量,并且存储集已写入,则不能轻易更改该数量。

17、在所述第一方面、所述第二方面和所述第三方面的另一种实现方式中,每个介质分配给单个存储集。

18、将每个介质仅分配给一个存储集可以通过消除不同集访问同一介质产生的复杂性,提高性能。

19、在所述第一方面、所述第二方面和所述第三方面的另一种实现方式中,所述存储通过将所述非重复段添加到所述存储集的所述多个介质来完成。

20、在所述第一方面、所述第二方面和所述第三方面的另一种实现方式中,所述处理器还用于:接收读取所述目标数据的请求;访问所述全局文件映射,以获取所述目标数据的所述多个数据段的标识符;访问标识表,以获取所述多个数据段中的每个数据段的元数据;根据所述元数据规划并行读取所述多个数据段的顺序;按照所述顺序并行读取所述目标数据的所述多个数据段;根据所述多个数据段创建所述目标数据。

21、在所述第一方面、所述第二方面和所述第三方面的另一种实现方式中,每个元数据包括存储所述数据段的所述存储集的指示、所述介质的偏移、所述数据段的大小以及所述数据段的指纹,其中,所述指纹用于确定所述存储集的所述介质。

22、根据第四方面,一种用于数据恢复的设备,包括:处理器,所述处理器用于:接收读取存储在多个存储集中的一个存储集上的目标数据的请求,每个存储集包括多个顺序存取存储设备的多个介质;从全局文件映射中获取所述目标数据的多个数据段的标识符;从标识表中获取所述多个数据段中的每个数据段的元数据;根据所述元数据规划并行读取所述多个数据段的顺序;按照所述顺序从所述存储集的所述多个介质中并行读取所述目标数据的所述多个数据段;根据所述多个数据段创建所述目标数据。

23、根据第五方面,一种用于数据恢复的方法,包括:接收读取存储在多个存储集中的一个存储集上的目标数据的请求,每个存储集包括多个顺序存取存储设备的多个介质;从全局文件映射中获取所述目标数据的多个数据段的标识符;从标识表中获取所述多个数据段中的每个数据段的元数据;根据所述元数据规划并行读取所述多个数据段的顺序;按照所述顺序并行读取所述目标数据的所述多个数据段;根据所述多个数据段创建所述目标数据。

24、根据第六方面,一种非瞬时性介质,存储用于数据恢复的程序指令,当所述程序指令由至少一个处理器执行时,使得所述至少一个处理器执行以下操作:接收读取存储在多个存储集中的一个存储集上的目标数据的请求,每个存储集包括多个顺序存取存储设备的多个介质;从全局文件映射中获取所述目标数据的多个数据段的标识符;从标识表中获取所述多个数据段中的每个数据段的元数据;根据所述元数据规划并行读取所述多个数据段的顺序;按照所述顺序并行读取所述目标数据的所述多个数据段;根据所述多个数据段创建所述目标数据。

25、本文描述的至少一些实施例可以解决以下技术问题,即提高读取存储在顺序存取存储设备的介质(例如,磁带机的盒式磁带)上的数据的吞吐量。由于磁带具有顺序存取特性,因此访问数据的速度慢。本文描述的至少一些实施例通过从顺序存取存储设备的多个介质(例如,盒式磁带)读取目标数据,而非从单个介质读取数据,来提高从顺序存取存储设备的介质读取数据的吞吐量。

26、在所述第四方面、所述第五方面和所述第六方面的另一种实现方式中,每个元数据包括所述数据段的指纹,所述处理器还用于根据所述指纹确定所述存储集的所述介质。

27、与从单个介质读取目标数据相比,从存储集的多个介质并行读取目标数据可以提高性能。通过使用多个介质的集合,可以从多个介质并行读取数据。这可以将读取性能提高多达集合中介质数量的倍数,例如,对于4个盒带的集合,性能比单个盒带提高多达4倍。

28、在所述第四方面、所述第五方面和所述第六方面的另一种实现方式中,所述处理器还用于通过执行取模运算,求出所述指纹除以所述存储集中的介质数量时的余数,从而确定所述介质,其中,所述余数指示所述介质。

29、在所述第四方面、所述第五方面和所述第六方面的另一种实现方式中,所述处理器还用于:针对所述多个介质中的每个介质,根据所述数据段的位置和偏移来排列数据段以便进行顺序读取。

30、除非另有定义,否则本文所用的所有技术和/或科学术语都具有与本发明普通技术人员公知的含义相同的含义。虽然与本文描述的方法和材料类似或等效的方法和材料可以用于本发明实施例的实践或测试,但下文描述了示例性方法和/或材料。如有冲突,以本专利说明书(包括定义)为准。此外,这些材料、方法和示例仅是说明性的,并不一定具有限制性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1