CN104462388B - 一种基于级联式存储介质的冗余数据清理方法 - Google Patents

一种基于级联式存储介质的冗余数据清理方法 Download PDF

Info

Publication number
CN104462388B
CN104462388B CN201410756525.8A CN201410756525A CN104462388B CN 104462388 B CN104462388 B CN 104462388B CN 201410756525 A CN201410756525 A CN 201410756525A CN 104462388 B CN104462388 B CN 104462388B
Authority
CN
China
Prior art keywords
storage medium
high speed
data block
hash values
hash
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410756525.8A
Other languages
English (en)
Other versions
CN104462388A (zh
Inventor
朱劲松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Eisoo Information Technology Co Ltd
Original Assignee
Shanghai Eisoo Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Eisoo Information Technology Co Ltd filed Critical Shanghai Eisoo Information Technology Co Ltd
Priority to CN201410756525.8A priority Critical patent/CN104462388B/zh
Publication of CN104462388A publication Critical patent/CN104462388A/zh
Application granted granted Critical
Publication of CN104462388B publication Critical patent/CN104462388B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques

Abstract

本发明涉及一种基于级联式存储介质的冗余数据清理方法,包括:(1)将位于低速存储介质中的数据按照预设大小均分地分割成多个数据块;(2)针对每个数据块进行如下操作:i.计算得到该数据块对应的hash值;ii.在最高速存储介质中查找是否已存在该hash值,若存在,则删除该数据块并后保存一个指针,该指针指向已存在的与该数据块内容相同的数据块;iii.在高速存储介质中查找是否已存在该hash值,若存在,则删除该数据块后只保存一个指针,该指针指向已存在的与该数据块内容相同的数据块,并将该hash值存入最高速存储介质中。与现有技术相比,本发明具使用高速存储介质加快指纹查找速度,从而提升了重删效率,继而提高了写IO的性能。

Description

一种基于级联式存储介质的冗余数据清理方法
技术领域
本发明涉及一种数据清理方法,尤其是涉及一种基于级联式存储介质的冗余数据清理方法。
背景技术
过去数年间,随着计算机的普及和信息技术的进步,各行各业都在经历着数据量的爆炸性增长。不论是由于互联网、电子邮件的出现,还是越来越庞大、需要大量介质的应用软件所致,数据量现已呈现出了巨大的增长态势。数据正在日益成为公司的实际资产之一,支撑着公司正常、高效的运转。
伴随着数据爆炸性的增长,所需要的存储容量也越来越大,相应的,无论是管理成本、还是存储介质成本,都越来越高。而另一方面,在海量的数据背后,存在着大量的冗余数据,导致磁盘利用率太低。为了应对这个挑战,在将数据写到存储介质中时,会进行重复数据删除。
重复数据删除技术解决方案的基本步骤是:分块、指纹计算、查重、更新。分块的功能是按照一定的粒度将数据流切分为数据块。指纹计算则是指将切分好的数据块进行hash计算,产生唯一的一个标识,称为指纹。用这个指纹去指纹库中匹配,匹配成功则认为该块是重复块,不再将实际数据写入磁盘,而只是保存一个指针指向已存在的数据块,否则就将该数据块及其指纹保存到磁盘中。
传统上,指纹库和数据保存在同一介质中,即磁盘上,因而每次查找的时候都需要查找磁盘。机械磁盘对于随机IO的读写性能都比较差,而由于指纹库的庞大,指纹的查找过程就变成了随机IO,因此开启了重删功能的备份速度非常慢。
加快指纹查找速度,可以有多种办法。一是使用更加高端的磁盘作为存储介质,如更高的转速及高密度的机械式磁盘以及利用固态磁盘(SSD)替换机械式。其次是增加系统的内存量,通过操作系统自身的磁盘缓冲技术来加快数据的访问。但是将所有数据存储在这样的高速介质中,固然是一个解决数据访问速度的直接有效的方案。但是在数据量的总量很大的情况下,完全采用高端磁盘,其增加的成本将会出现几倍,甚至是几十倍的增长。除非对一些关键应用,否则这样的存储方案其性价比是得不偿失的,在预算有限的情况下,用户也无法承受这样的成本压力。而增加系统的内存量,随着磁盘容量越来越大,所需要的内存容量也越来越大,结果就是内存容量无法跟上指纹库的膨胀速度。
如果将指纹库与数据分开保存,数据仍保存在机械磁盘中,指纹库保存在高速存储介质中,利用高速存储介质相对机械磁盘无与伦比的读写性能,就能明显提升重删数据,最终提升数据备份的速度。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于级联式存储介质的冗余数据清理方法。
本发明的目的可以通过以下技术方案来实现:
一种基于级联式存储介质的冗余数据清理方法,其特征在于,包括以下步骤
(1)将位于低速存储介质中的数据按照预设大小均分地分割成多个数据块;
(2)针对每个数据块进行如下操作:
i.计算得到该数据块对应的hash值;
ii.在最高速存储介质中查找是否已存在该hash值,若存在,则删除该数据块并后保存一个指针,该指针指向已存在的与该数据块内容相同的数据块;若不存在,则进行步骤iii;
iii.在高速存储介质中查找是否已存在该hash值,若存在,则删除该数据块后只保存一个指针,该指针指向已存在的与该数据块内容相同的数据块,并将该hash值存入最高速存储介质中;若不存在,则将该hash值存入高速存储介质和最高速存储介质中。
所述步骤2的iii中将hash值存入高速存储介质后,设定数量的hash值组合成hash组,并在最高速存储介质中保存一个与每个hash组对应的索引表;
所述步骤2的iii中在高速存储介质中查找是否已存在该hash值的方法具体为:根据hash值在所述索引表中查找该hash值所在的hash组,并进一步在该hash组中查找该hash值。
所述hash值按照数据块的逻辑地址进行分组,每个hash组中的hash值对应的数据块在逻辑地址上是连续的。
所述的步骤2的iii中将该hash值存入最高速存储介质中的方法具体为:将该hash值所在的hash组存入最高速存储介质中。
所述hash组中hash值数量由高速存储介质特性以及hash值大小决定。以SSD为例,假定page大小为4K,hash值大小为128字节,则一个hash组中至少包含有32个hash值。可以包含更多的hash值,但应该是page的整数倍,以适应SSD的整条写的特点。
所述的最高速存储介质可以为内存。
所述的高速存储介质可以为NVDIMM、NVRAM、SAS SSD或PCI-E SSD。
所述的低速存储介质可以为机械磁盘。
与现有技术相比,本发明可以达到如下的效果:
1.使用高速存储介质加快指纹查找速度,从而提升了重删效率,继而提高了写IO的性能。同时,未访问低速磁盘,不影响低速磁盘设备响应其它IO请求。
2.由于重复数据得到删除,所以磁盘利用率得到提高,不仅降低企业存储介质成本,还减少了数据管理成本。
附图说明
图1:数据块指纹组织结构图;
图2:指纹查找处理流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
本发明通过将指纹库和实际数据分离,将全部指纹保存在高速存储介质,加速指纹查找过程,提高重删效率。为了实现上述目的,本发明的关键技术包含以下几个要点:
1.在主存和低速磁盘之间增加高速存储介质,将指纹库从原来低速磁盘中移出,单独保存在高速存储介质中。
2.为适应这种模式,引入了新的数据组织方式。先将低速磁盘上的数据进行切分,可使用任意一种切分方式。每个切分后的数据块,通过hash函数,产生唯一的指纹。一定数量的指纹组合成一个指纹组。指纹组中指纹数量由高速存储介质特性以及指纹大小决定。以SSD为例,假定page大小为4K,指纹大小为128字节,则一个指纹组中至少包含有32个指纹。可以包含更多的指纹。但应该是page的整数倍,以适应SSD的整条写的特点。除此之外,一个指纹组中的指纹对应的的数据块在逻辑地址上应该是连续的。
受限于主存大小,高速存储介质中的指纹不可能全部保存到主存中,当主存未命中时,就需要访问高速存储介质,每次访问高速存储介质中的指纹就将其所属指纹组中的所有指纹都读入主存中,有效减少访问高速存储介质的次数。为了加快访问高速存储介质的速度,必须在内存中对它建立索引方便查找,主存中的hash表就是为此设计的。新的数据组织结构如下图1所示.
在本发明中,将原来保存在低速磁盘中的和数据保存在一起的指纹库移到了高速存储介质中,并设计了适合于这种情形的数据结构,因而原来的指纹查找过程不再适用,需要使用新的指纹查找过程替换先前的查找过程。根据图2,下面描述一下这个查找过程:
1)首先在主存中查找,若匹配则该数据块已存在,只需要写入指向已存在的数据块指针即可,本次写入完成。
2)若主存中查找不到,则从高速存储介质中查找。若命中,则说明该数据块是一个重复块,只需要写入指向已存在的数据块的指针即可,本次写入完成。同时,根据数据局部性原理,该指纹组中的数据在随后可能还会被使用,所以需要将该指纹组从高速存储介质中读到主存中。
3)若高速存储介质中也查找不到,则说明该数据块是一个新块,需要计算出该数据块的指纹,并保存到高速存储介质中。

Claims (7)

1.一种基于级联式存储介质的冗余数据清理方法,其特征在于,包括以下步骤
(1)将位于低速存储介质中的数据按照预设大小均分地分割成多个数据块;
(2)针对每个数据块进行如下操作:
i.计算得到该数据块对应的hash值;
ii.在最高速存储介质中查找是否已存在该hash值,若存在,则删除该数据块并后保存一个指针,该指针指向已存在的与该数据块内容相同的数据块;若不存在,则进行步骤iii;
iii.在高速存储介质中查找是否已存在该hash值,若存在,则删除该数据块后只保存一个指针,该指针指向已存在的与该数据块内容相同的数据块,并将该hash值存入最高速存储介质中;若不存在,则将该hash值存入高速存储介质和最高速存储介质中;
所述步骤(2)的iii中将hash值存入高速存储介质后,设定数量的hash值组合成hash组,并在最高速存储介质中保存一个与每个hash组对应的索引表;
所述步骤(2)的iii中在高速存储介质中查找是否已存在该hash值的方法具体为:根据hash值在所述索引表中查找该hash值所在的hash组,并进一步在该hash组中查找该hash值。
2.根据权利要求1所述的一种基于级联式存储介质的冗余数据清理方法,其特征在于,所述hash值按照数据块的逻辑地址进行分组,每个hash组中的hash值对应的数据块在逻辑地址上是连续的。
3.根据权利要求2所述的一种基于级联式存储介质的冗余数据清理方法,其特征在于,所述的步骤(2)的iii中将该hash值存入最高速存储介质中的方法具体为:将该hash值所在的hash组存入最高速存储介质中。
4.根据权利要求3所述的一种基于级联式存储介质的冗余数据清理方法,其特征在于,所述的每个hash组包含32个hash值。
5.根据权利要求1-4中任意一项所述的一种基于级联式存储介质的冗余数据清理方法,其特征在于,所述的最高速存储介质为内存。
6.根据权利要求1-4中任意一项所述的一种基于级联式存储介质的冗余数据清理方法,其特征在于,所述的高速存储介质为NVDIMM、NVRAM、SAS SSD或PCI-E SSD。
7.根据权利要求1-4中任意一项所述的一种基于级联式存储介质的冗余数据清理方法,其特征在于,所述的低速存储介质为机械磁盘。
CN201410756525.8A 2014-12-10 2014-12-10 一种基于级联式存储介质的冗余数据清理方法 Active CN104462388B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410756525.8A CN104462388B (zh) 2014-12-10 2014-12-10 一种基于级联式存储介质的冗余数据清理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410756525.8A CN104462388B (zh) 2014-12-10 2014-12-10 一种基于级联式存储介质的冗余数据清理方法

Publications (2)

Publication Number Publication Date
CN104462388A CN104462388A (zh) 2015-03-25
CN104462388B true CN104462388B (zh) 2017-12-29

Family

ID=52908423

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410756525.8A Active CN104462388B (zh) 2014-12-10 2014-12-10 一种基于级联式存储介质的冗余数据清理方法

Country Status (1)

Country Link
CN (1) CN104462388B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180087925A (ko) * 2017-01-25 2018-08-03 삼성전자주식회사 논리 어드레스와 물리 어드레스 사이에서 해싱 기반 변환을 수행하는 스토리지 장치
CN108427538B (zh) * 2018-03-15 2021-06-04 深信服科技股份有限公司 全闪存阵列的存储数据压缩方法、装置、及可读存储介质
CN108763270A (zh) * 2018-04-07 2018-11-06 长沙开雅电子科技有限公司 一种重复数据删除哈希表存储实现方法
CN109783469A (zh) * 2018-12-14 2019-05-21 上海威固信息技术股份有限公司 一种基于内容感知的数据去重方法与装置
CN112684975B (zh) * 2019-10-17 2022-08-09 华为技术有限公司 一种数据存储方法及装置
CN111090397B (zh) * 2019-12-12 2021-10-22 苏州浪潮智能科技有限公司 一种数据重删方法、系统、设备及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102760101A (zh) * 2012-05-22 2012-10-31 中国科学院计算技术研究所 一种基于ssd 的缓存管理方法及系统
CN102915278A (zh) * 2012-09-19 2013-02-06 浪潮(北京)电子信息产业有限公司 重复数据删除方法
CN102982122A (zh) * 2012-11-13 2013-03-20 浪潮电子信息产业股份有限公司 一种适用于海量存储系统的重复数据删除方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004192483A (ja) * 2002-12-13 2004-07-08 Hitachi Ltd 分散ストレージシステムの管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102760101A (zh) * 2012-05-22 2012-10-31 中国科学院计算技术研究所 一种基于ssd 的缓存管理方法及系统
CN102915278A (zh) * 2012-09-19 2013-02-06 浪潮(北京)电子信息产业有限公司 重复数据删除方法
CN102982122A (zh) * 2012-11-13 2013-03-20 浪潮电子信息产业股份有限公司 一种适用于海量存储系统的重复数据删除方法

Also Published As

Publication number Publication date
CN104462388A (zh) 2015-03-25

Similar Documents

Publication Publication Date Title
CN104462388B (zh) 一种基于级联式存储介质的冗余数据清理方法
CN103080910B (zh) 存储系统
CN104978151B (zh) 基于应用感知的重复数据删除存储系统中的数据重构方法
CN106662981B (zh) 存储设备、程序和信息处理方法
CN103136243B (zh) 基于云存储的文件系统去重方法及装置
CN103902623B (zh) 用于在存储系统上存取文件的方法和系统
CN105843551B (zh) 高性能和大容量储存重复删除中的数据完整性和损耗电阻
US20120158674A1 (en) Indexing for deduplication
EP3316150B1 (en) Method and apparatus for file compaction in key-value storage system
Zou et al. The dilemma between deduplication and locality: Can both be achieved?
CN107329692A (zh) 一种数据重删的方法及存储设备
CN103019887A (zh) 数据备份方法及装置
CN111124258B (zh) 全闪存阵列的数据存储方法、装置、设备及可读存储介质
CN110569245A (zh) 重复数据删除系统中基于强化学习的指纹索引预取方法
CN113535670B (zh) 一种虚拟化资源镜像存储系统及其实现方法
CN105630834A (zh) 一种实现重复数据删除的方法及装置
CN104050103A (zh) 一种用于数据恢复的缓存替换方法与系统
US10996857B1 (en) Extent map performance
US10761759B1 (en) Deduplication of data in a storage device
CN104050057B (zh) 一种历史感知的数据去重碎片消除方法与系统
CN110427347A (zh) 重复数据删除的方法、装置、存储节点及存储介质
US10416901B1 (en) Storage element cloning in presence of data storage pre-mapper with multiple simultaneous instances of volume address using virtual copies
CN106528703A (zh) 一种重复删除的模式切换方法及装置
US10585802B1 (en) Method and system for caching directories in a storage system
US20120259823A1 (en) Partitioning a directory while accessing the directory

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 201112 Shanghai, Minhang District, United Airlines route 1188, building second layer A-1 unit 8

Applicant after: SHANGHAI EISOO INFORMATION TECHNOLOGY CO., LTD.

Address before: 201112 Shanghai, Minhang District, United Airlines route 1188, building second layer A-1 unit 8

Applicant before: Shanghai Eisoo Software Co.,Ltd.

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant