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

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

Info

Publication number
CN104462388A
CN104462388A CN201410756525.8A CN201410756525A CN104462388A CN 104462388 A CN104462388 A CN 104462388A CN 201410756525 A CN201410756525 A CN 201410756525A CN 104462388 A CN104462388 A CN 104462388A
Authority
CN
China
Prior art keywords
hash value
data block
high speed
storage medium
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.)
Granted
Application number
CN201410756525.8A
Other languages
English (en)
Other versions
CN104462388B (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 Software Co Ltd
Original Assignee
Shanghai Eisoo Software 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 Software Co Ltd filed Critical Shanghai Eisoo Software 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

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 (8)

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

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108427538A (zh) * 2018-03-15 2018-08-21 深信服科技股份有限公司 全闪存阵列的存储数据压缩方法、装置、及可读存储介质
CN108763270A (zh) * 2018-04-07 2018-11-06 长沙开雅电子科技有限公司 一种重复数据删除哈希表存储实现方法
CN109783469A (zh) * 2018-12-14 2019-05-21 上海威固信息技术股份有限公司 一种基于内容感知的数据去重方法与装置
CN111090397A (zh) * 2019-12-12 2020-05-01 苏州浪潮智能科技有限公司 一种数据重删方法、系统、设备及计算机可读存储介质
WO2021073635A1 (zh) * 2019-10-17 2021-04-22 华为技术有限公司 一种数据存储方法及装置
TWI750243B (zh) * 2017-01-25 2021-12-21 南韓商三星電子股份有限公司 非揮發性記憶體儲存裝置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060123193A1 (en) * 2002-12-13 2006-06-08 Hitachi, Ltd. Control method for distributed storage system
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 浪潮电子信息产业股份有限公司 一种适用于海量存储系统的重复数据删除方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060123193A1 (en) * 2002-12-13 2006-06-08 Hitachi, Ltd. Control method for distributed storage system
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 浪潮电子信息产业股份有限公司 一种适用于海量存储系统的重复数据删除方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI750243B (zh) * 2017-01-25 2021-12-21 南韓商三星電子股份有限公司 非揮發性記憶體儲存裝置
CN108427538A (zh) * 2018-03-15 2018-08-21 深信服科技股份有限公司 全闪存阵列的存储数据压缩方法、装置、及可读存储介质
CN108427538B (zh) * 2018-03-15 2021-06-04 深信服科技股份有限公司 全闪存阵列的存储数据压缩方法、装置、及可读存储介质
CN108763270A (zh) * 2018-04-07 2018-11-06 长沙开雅电子科技有限公司 一种重复数据删除哈希表存储实现方法
CN109783469A (zh) * 2018-12-14 2019-05-21 上海威固信息技术股份有限公司 一种基于内容感知的数据去重方法与装置
WO2021073635A1 (zh) * 2019-10-17 2021-04-22 华为技术有限公司 一种数据存储方法及装置
US11886729B2 (en) 2019-10-17 2024-01-30 Huawei Technologies Co., Ltd. Data storage method and apparatus
CN111090397A (zh) * 2019-12-12 2020-05-01 苏州浪潮智能科技有限公司 一种数据重删方法、系统、设备及计算机可读存储介质
CN111090397B (zh) * 2019-12-12 2021-10-22 苏州浪潮智能科技有限公司 一种数据重删方法、系统、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN104462388B (zh) 2017-12-29

Similar Documents

Publication Publication Date Title
US10678435B2 (en) Deduplication and compression of data segments in a data storage system
US10761758B2 (en) Data aware deduplication object storage (DADOS)
US10013317B1 (en) Restoring a volume in a storage system
US10031675B1 (en) Method and system for tiering data
US9880746B1 (en) Method to increase random I/O performance with low memory overheads
CN103080910B (zh) 存储系统
Srinivasan et al. iDedup: latency-aware, inline data deduplication for primary storage.
US9317218B1 (en) Memory efficient sanitization of a deduplicated storage system using a perfect hash function
US9430164B1 (en) Memory efficient sanitization of a deduplicated storage system
CN104462388B (zh) 一种基于级联式存储介质的冗余数据清理方法
US9740422B1 (en) Version-based deduplication of incremental forever type backup
US9223660B2 (en) Storage device to backup content based on a deduplication system
US9569357B1 (en) Managing compressed data in a storage system
US8352447B2 (en) Method and apparatus to align and deduplicate objects
US20130151756A1 (en) Data de-duplication and solid state memory device
Zou et al. The dilemma between deduplication and locality: Can both be achieved?
CN103019887A (zh) 数据备份方法及装置
CN107135662B (zh) 一种差异数据备份方法、存储系统和差异数据备份装置
US11940956B2 (en) Container index persistent item tags
US11262929B2 (en) Thining databases for garbage collection
CN111124258B (zh) 全闪存阵列的数据存储方法、装置、设备及可读存储介质
CN105493080A (zh) 基于上下文感知的重复数据删除的方法和装置
Li et al. Improving the Restore Performance via Physical-Locality Middleware for Backup Systems
CN104035822A (zh) 一种低开销的高效内存去冗余方法及系统
US10996857B1 (en) Extent map performance

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