CN106066818B - 一种提高重复数据删除备份系统恢复性能的数据布局方法 - Google Patents
一种提高重复数据删除备份系统恢复性能的数据布局方法 Download PDFInfo
- Publication number
- CN106066818B CN106066818B CN201610351498.5A CN201610351498A CN106066818B CN 106066818 B CN106066818 B CN 106066818B CN 201610351498 A CN201610351498 A CN 201610351498A CN 106066818 B CN106066818 B CN 106066818B
- Authority
- CN
- China
- Prior art keywords
- data
- data block
- group
- storage address
- block
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种基于数据块存储地址的数据布局方法,用于提高重复数据删除备份系统的恢复性能。该方法充分考虑每个数据块的具体存储位置,并结合磁盘的带宽和寻道时间,在备份时计算数据的恢复速度,若恢复速度满足用户需求,则认为对应的数据不是数据碎片,反之则是数据碎片。与已有方法不同的是,该方法是一种基于数据块存储地址的数据布局方法,碎片识别时使用更加细粒度的碎片识别方式,能精确定位每一个碎片。通过这种方法,可以获得比其他方法更高的重删率和数据恢复性能。
Description
技术领域
本发明属于计算机信息存储技术领域,涉及一种提高重复数据删除备份系统恢复性能的,基于数据块存储地址的数据布局方法。
背景技术
随着信息时代的来临,数据呈现爆炸式地增长,IDC预测到2020年将会产生44ZB的数据。备份系统需要存储的备份数据越来越多,如何利用有限的存储资源,高效地存储PB级甚至EB级的数据是亟待解决的问题。重复数据删除技术是一种通过大规模消除冗余数据,降低数据存储成本的重要技术。重复数据删除技术常用于数据备份系统中,用来删除备份系统中重复存储的数据块,以节约存储空间。不过,该技术虽然能够节约存储成本,但其在重复数据块被删除之后,逻辑上连续的数据块在物理空间上被分散存储,导致在恢复数据的过程中需要大量的数据块随机读取操作和磁盘寻道操作,使恢复性能严重降低。例如,在重复数据块被删除之后,组成一个文件的N个连续的数据块很可能存储在N个不同的地方,数据恢复时读取这个文件需要N次的磁盘随机读取操作,导致该文件的读取性能非常低。这些在逻辑上连续但物理空间上不连续的数据块被称为数据碎片,数据碎片是导致数据恢复性能严重降低的最主要的原因。
解决碎片的主要思想是改变数据的布局,具体方法是重写适量的碎片数据,使大部分逻辑上连续的数据块在物理存储空间上也连续,从而减少碎片的数量。以牺牲少量存储空间为代价,换取恢复性能的提升。目前,主流识别碎片的方法是以固定大小的连续物理空间为基本识别单位(容器),碎片识别程序检测每个容器内的有效数据量,即恢复或读取某个数据对象(数据对象可以指一个备份文件或一个备份数据流)时需要从该容器中读取的数据量,若该容器内的有效数据量达到一定的阈值,则认为在此次数据读取或恢复过程中,该容器内的有效数据不是数据碎片,反之是则被认定为数据碎片,例如帽子算法(CAP,the capping algorithm)和基于上下文重写算法(CBR,The Context-Based Rewritingalgorithm)等。虽然通过重写该类碎片能够在一定程度上提升数据恢复性能,但是这种碎片识别方法只关注容器中有效数据块的总量,不考虑每个有效数据块的具体存储地址,无法精确定位数据碎片,导致重写过多的数据,并且恢复性能得不到有效的提升。
针对已有解决方案存在的问题,我们提出一种全新的用于提高重复数据删除备份系统恢复性能的数据布局方法。该方法充分考虑每个数据块的具体存储位置,并结合磁盘的带宽和寻道时间,在备份时计算数据的恢复速度,若恢复速度满足用户需求,则认为对应的数据不是数据碎片,反之则是数据碎片。与已有方法不同的是,该方法是一种基于数据块存储地址的数据布局方法,碎片识别时使用更加细粒度的碎片识别方式,不再使用固定大小的容器,不再忽视容器内部数据块的数据布局,精确定位每一个碎片。通过这种方法,可以获得比其他方法更高的重删率和数据恢复性能。
发明内容
本发明提出一种基于数据块存储地址的数据布局方法,用于提高重复数据删除备份系统的恢复性能。该方法充分考虑每个数据块的具体存储位置,并结合磁盘的带宽和寻道时间,在备份时计算数据的恢复速度,若恢复速度满足用户需求,则认为对应的数据不是数据碎片,反之则是数据碎片。与已有方法不同的是,该方法是一种基于数据块存储地址的数据布局方法,碎片识别时使用更加细粒度的碎片识别方式,能精确定位每一个碎片。通过这种方法,可以获得比其他方法更高的重删率和数据恢复性能。
本发明的核心思想之一是数据碎片识别。碎片识别的基本单位为数据组。每个数据组由一定量的存储地址相邻的数据块组成。若在一个组中,恢复或读取某个数据集对象(数据对象可以指一个备份文件或一个备份数据流)时,该组内的有效数据块的传输速度低于用户所期望的传输速度,则该组内的有效数据块被认定为数据碎片,反之,则该组内的有效数据块不是数据碎片。如公式1所示,不等号左侧是有效数据传输速度,右侧为用户所期望的传输速度。若满足公式1,则说明有效数据的传输速度高于或等于用户期望速度,组内的有效数据块不是数据碎片。
在上述公式1中,不等号左侧的分子x指有效数据块的总大小,分母t+y/B表示读取该有效数据所需要的传输时间,x/(t+y/B)则表示有效数据x的传输速度,其中t表示磁盘寻道时间,y表示读取该有效数据x所需读取的数据总量,即有效数据块的最小存储地址和最大存储地址之间所存储的数据量总和;不等号右侧的分子B表示磁盘带宽(即磁盘的传输速度),分母n用于限定用户期望的数据读取速度,B/n表示用户期望有效数据的读取速度为磁盘最大传输速度的1/n倍。因此,公式1表示用户期望有效数据的读取速度至少为磁盘最大传输速度的1/n倍。
本发明核心思想之二是数据块分组。首先把有效数据块按照存储地址进行排序,然后把相邻的存储地址间隔小于分组阈值(gap)的数据块分为一个组,而相邻的存储地址间隔大于或等于分组阈值的数据块则被分到两个不同的组。分组阈值的定义如公式2所示,其中gap为分组阈值,gap表示满足公式1的有效数据x的最小值。
上述公式2由公式1推导得出。在公示1中,nx≥Bt+y,因为y≥x,所以x≥Bt/(n-1)。
本发明的一种基于数据块存储地址的数据布局方法,主要包括四个模块:数据分块与指纹管理模块、组划分模块、碎片识别模块、数据删除与存储模块。数据分块与指纹管理模块主要对备份数据集采用数据块变长算法进行不定长分块,以及采用哈希函数计算每个数据块的指纹,并对整个备份数据集的数据块指纹进行管理,该模块维护一个指纹查找表用于判断某个数据块是否为重复数据块,指纹查找表的每一项包括数据块的指纹和该数据块的存储地址。组划分模块和碎片识别模块用来进行数据布局的相关操作,其中组划分模块主要使用公式2对数据进行分组操作,碎片识别模块主要使用公式1判断待识别组中的数据是否为碎片数据。数据删除与存储模块主要用于删除非碎片的重复数据块,存储新数据块和碎片数据块。
数据布局的主要流程为:
(1)数据分块与指纹管理模块对需要备份的数据集使用数据块变长算法进行不定长分块,然后采用哈希算法计算每个数据块的指纹,如采用RabinFingerprint算法进行数据分块,采用SHA-1哈希算法计算每个数据块的指纹。
(2)数据分块与指纹管理模块在指纹查找表中查询步骤(1)中计算得到的数据块指纹,若不存在该指纹,则标记对应的数据块为新数据块;反之若存在该指纹,则说明对应的数据块已经被存储过,标记该数据块为重复数据块,并记录该数据块的存储地址。
(3)组划分模块对步骤(2)得到的重复数据块根据公式2进行分组操作,即把这些重复数据块按照数据块的存储地址进行排序,将相邻的存储地址间隔小于分组阈值(gap)的数据块分为一个组,而相邻的存储地址间隔大于或等于分组阈值的数据块则被分到两个不同的组。
(4)碎片识别模块根据公式1对步骤(3)所得到的每个组进行碎片识别。若组内数据是碎片,将该组中的数据块标记为碎片数据块。否则,则将该组中的数据块标记为非碎片数据块。
(5)数据删除和存储模块删除步骤(4)中识别出的非碎片数据块,存储步骤(4)中识别出的碎片数据块以及步骤(2)中标记出的新数据块并记录该数据块的存储地址。
(6)数据分块与指纹管理模块根据新数据块以及碎片数据块在步骤(5)获得的存储地址更新指纹查找表。
本发明具有如下的特点:
(1)本发明相比已有的数据布局方法,使用数据块存储地址进行数据布局,碎片识别时使用更加细粒度的碎片识别方式,能精确定位每一个数据碎片,实现更精细化的碎片管理,获得更高的重删率和更好的恢复性能。
(2)本发明所能获得的重删率和恢复性能是可配置的。根据不同的使用场景,不同的性能需求,可通过调整公式2中的相关参数,获得用户理想中的恢复速度。例如,若存储空间比较紧缺,则可以增大公式2中的n值,以降低少量恢复性能为代价获得更高的重删率,节约存储空间;若存储空间比较充足,则可以减小公式2的n值,以牺牲较小的重删率为代价,获得更好的恢复性能。
综上所述,本发明是一种用于提高重复数据删除系统恢复性能的基于数据块存储地址的数据布局方法。该方法利用存储地址进行分组并进行碎片识别,实现了更加精细化地管理,与已有的数据布局解决方法相比拥有更高重删率和恢复性能。同时,本发明还能针对不同的使用场景,通过调整参数获得与场景相适应的重删率和恢复性能。
附图说明
图1为碎片识别示意图
图2为分组示意图
图3为模块结构示意图
图4为数据布局流程图
具体实施方式
图1为本发明的碎片识别示意图。碎片识别的基本单位为数据组。每个数据组由一定量的存储地址相邻的数据块组成。若在一个组中,恢复或读取某个数据集对象(数据对象可以指一个备份文件或一个备份数据流)时,该组内的有效数据块的传输速度低于用户所期望的传输速度,则该组内的有效数据块被认定为数据碎片,反之,则该组内的有效数据块不是数据碎片。图1中阴影部分之和是组内有效数据块的总大小x,包括x1、x2、x3、x4,x=x1+x2+x3+x4。y表示读取有效数据x所需要读取的数据总量,即有效数据块的最小存储地址和最大存储地址之间所存储的数据量总和。
图2为本发明的分组示意图。首先把有效数据块按照存储地址进行排序,然后把相邻的存储地址间隔小于分组阈值(gap)的数据块分为一个组,而相邻的存储地址间隔大于或等于分组阈值的数据块则被分到两个不同的组。
图3为本发明的模块结构示意图。本发明的一种基于数据存储地址的数据布局方法包括四个模块,数据分块与指纹管理模块110、组划分模块120、碎片识别模块130、数据删除与存储模块140。数据分块与指纹管理模块110主要对备份数据集采用数据块变长算法进行不定长分块,以及采用哈希函数计算每个数据块的指纹,并对整个备份数据集的数据块指纹进行管理,该模块维护一个指纹查找表用于判断某个数据块是否为重复数据块,指纹查找表的每一项包括数据块的指纹和该数据块的存储地址。组划分模块120和碎片识别模块130用来进行数据布局的相关操作,其中组划分模块120主要使用公式2对数据进行分组操作,碎片识别模块130主要使用公式1判断待识别组中的数据是否为碎片数据。数据删除与存储模块140主要用于删除非碎片的重复数据块,存储新数据块和碎片数据块。
图4为本发明的数据布局流程图,具体步骤如下:
(1)数据分块与指纹管理模块110对需要备份的数据集使用数据块变长算法进行不定长分块,然后采用哈希算法计算每个数据块的指纹,如采用RabinFingerprint算法进行数据分块,采用SHA-1哈希算法计算每个数据块的指纹。
(2)数据分块与指纹管理模块110在指纹查找表中查询步骤(1)中计算得到的数据块指纹,若不存在该指纹,则标记对应的数据块为新数据块;反之若存在该指纹,则说明对应的数据块已经被存储过,标记该数据块为重复数据块,并记录该数据块的存储地址。
(3)组划分模块120对步骤(2)得到的重复数据块根据公式2进行分组操作,即把这些重复数据块按照数据块的存储地址进行排序,将相邻的存储地址间隔小于分组阈值(gap)的数据块分为一个组,而相邻的存储地址间隔大于或等于分组阈值的数据块则被分到两个不同的组。
(4)碎片识别模块130根据公式1对步骤(3)所得到的每个组进行碎片识别。若组内数据是碎片,将该组中的数据块标记为碎片数据块。否则,则将该组中的数据块标记为非碎片数据块。
(5)数据删除和存储模块140删除步骤(4)中识别出的非碎片数据块,存储步骤(4)中识别出的碎片数据块以及步骤(2)中标记出的新数据块并记录该数据块的存储地址。
(6)数据分块与指纹管理模块110根据新数据块以及碎片数据块在步骤(5)获得的存储地址更新指纹查找表。
Claims (2)
1.一种提高重复数据删除备份系统恢复性能的数据布局方法,具体步骤为:
(1)对需要备份的数据集使用数据块变长算法进行不定长分块,然后采用哈希算法计算每个数据块的指纹;
(2)在指纹查找表中查询步骤(1)中计算得到的数据块指纹,若不存在该指纹,则标记对应的数据块为新数据块;反之若存在该指纹,则说明对应的数据块已经被存储过,标记该数据块为重复数据块,并记录所述重复数据块的存储地址;
(3)对步骤(2)得到的重复数据块进行分组操作,即把这些重复数据块按照数据块的存储地址进行排序,将相邻的存储地址间隔小于分组阈值的数据块分为一个组,而相邻的存储地址间隔大于或等于分组阈值的数据块则被分到两个不同的组;
(4)对步骤(3)所得到的每个组进行碎片识别,若在一个组中,恢复或读取某个数据集对象时,该组内的有效数据块的传输速度低于用户所期望的传输速度,则该组内的有效数据块被标记为数据碎片,反之,则该组内的有效数据块被标记为非碎片数据块;
(5)删除步骤(4)中识别出的非碎片数据块,存储步骤(4)中识别出的数据碎片以及步骤(2)中标记出的新数据块并记录所述数据碎片和所述新数据块的存储地址;
(6)根据所述新数据块以及所述数据碎片在步骤(5)获得的存储地址更新指纹查找表。
2.根据权利要求1所述的数据布局方法,其特征在于:
碎片识别,具体为:碎片识别的基本单位为数据组,每个数据组由一定量的存储地址相邻的数据块组成;
若在一个组中,恢复或读取某个数据集对象时,该组内的有效数据块的传输速度低于用户所期望的传输速度,则该组内的有效数据块被认定为数据碎片,反之,则该组内的有效数据块不是数据碎片;
如公式1所示,不等号左侧是有效数据传输速度,右侧为用户所期望的传输速度;若满足公式1,则说明有效数据的传输速度高于或等于用户期望速度,组内的有效数据块不是数据碎片,
在上述公式1中,不等号左侧的分子x指有效数据块的总大小,分母t+y/B表示读取该有效数据所需要的传输时间,x/(t+y/B)则表示有效数据x的传输速度,其中t表示磁盘寻道时间,y表示读取该有效数据x所需读取的数据总量,即有效数据块的最小存储地址和最大存储地址之间所存储的数据量总和;不等号右侧的分子B表示磁盘带宽,即磁盘的传输速度;分母n用于限定用户期望的数据读取速度,B/n表示用户期望有效数据的读取速度为磁盘最大传输速度的1/n倍,即公式1表示用户期望有效数据的读取速度至少为磁盘最大传输速度的1/n倍;
分组操作,具体为:首先把重复数据块按照存储地址进行排序,然后把相邻的存储地址间隔小于分组阈值gap的数据块分为一个组,而相邻的存储地址间隔大于或等于分组阈值的数据块则被分到两个不同的组;
分组阈值的定义如公式2所示,其中gap为分组阈值,gap表示满足公式1的有效数据x的最小值,
上述公式2由公式1推导得出,在公式1中,nx≥Bt+y,由于y≥x,则x≥Bt/(n-1)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610351498.5A CN106066818B (zh) | 2016-05-25 | 2016-05-25 | 一种提高重复数据删除备份系统恢复性能的数据布局方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610351498.5A CN106066818B (zh) | 2016-05-25 | 2016-05-25 | 一种提高重复数据删除备份系统恢复性能的数据布局方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106066818A CN106066818A (zh) | 2016-11-02 |
CN106066818B true CN106066818B (zh) | 2019-05-17 |
Family
ID=57421102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610351498.5A Active CN106066818B (zh) | 2016-05-25 | 2016-05-25 | 一种提高重复数据删除备份系统恢复性能的数据布局方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106066818B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106934052B (zh) * | 2017-03-16 | 2021-01-08 | 维沃移动通信有限公司 | 一种媒体文本处理方法及移动终端 |
CN107249035B (zh) * | 2017-06-28 | 2020-05-26 | 重庆大学 | 一种等级动态可变的共享重复数据存储和读取方法 |
CN110019052A (zh) * | 2017-07-26 | 2019-07-16 | 先智云端数据股份有限公司 | 分布式重复数据删除的方法及储存系统 |
CN107885619A (zh) * | 2017-11-16 | 2018-04-06 | 郑州云海信息技术有限公司 | 一种数据精简去重和镜像异地备份保护的方法及系统 |
CN111858574B (zh) * | 2020-07-30 | 2022-02-11 | 暨南大学 | 一种面向数据去重技术的近似最优数据碎片块重写方法 |
CN115878017A (zh) * | 2021-09-28 | 2023-03-31 | 华为技术有限公司 | 数据处理方法及存储系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999605A (zh) * | 2012-11-21 | 2013-03-27 | 重庆大学 | 一种通过优化数据放置来减少数据碎片的方法和装置 |
CN103473150A (zh) * | 2013-08-28 | 2013-12-25 | 华中科技大学 | 一种用于数据去重系统中的碎片重写方法 |
CN103797470A (zh) * | 2011-09-16 | 2014-05-14 | 日本电气株式会社 | 存储系统 |
CN103885859A (zh) * | 2014-03-12 | 2014-06-25 | 华中科技大学 | 一种基于全局统计的去碎片方法及系统 |
CN104272263A (zh) * | 2012-02-29 | 2015-01-07 | 网络装置公司 | 用于执行去重复操作的碎片控制 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140250078A1 (en) * | 2013-03-01 | 2014-09-04 | Storagecraft Technology Corporation | Multiphase deduplication |
-
2016
- 2016-05-25 CN CN201610351498.5A patent/CN106066818B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103797470A (zh) * | 2011-09-16 | 2014-05-14 | 日本电气株式会社 | 存储系统 |
CN104272263A (zh) * | 2012-02-29 | 2015-01-07 | 网络装置公司 | 用于执行去重复操作的碎片控制 |
CN102999605A (zh) * | 2012-11-21 | 2013-03-27 | 重庆大学 | 一种通过优化数据放置来减少数据碎片的方法和装置 |
CN103473150A (zh) * | 2013-08-28 | 2013-12-25 | 华中科技大学 | 一种用于数据去重系统中的碎片重写方法 |
CN103885859A (zh) * | 2014-03-12 | 2014-06-25 | 华中科技大学 | 一种基于全局统计的去碎片方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106066818A (zh) | 2016-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106066818B (zh) | 一种提高重复数据删除备份系统恢复性能的数据布局方法 | |
CN103019887B (zh) | 数据备份方法及装置 | |
CN102323958A (zh) | 重复数据删除方法 | |
CN101963982B (zh) | 基于位置敏感哈希的删冗存储系统元数据管理方法 | |
CN102521269B (zh) | 一种基于索引的计算机连续数据保护方法 | |
US20190155737A1 (en) | Solid-state hard disk and data access method for use with solid-state hard disk | |
CN113535706B (zh) | 两阶段布谷鸟过滤器及基于两阶段布谷鸟过滤器的重复数据删除方法 | |
US10503424B2 (en) | Storage system | |
CN103139300A (zh) | 一种基于重复数据删除的虚拟机镜像管理的优化方法 | |
CN102831222A (zh) | 一种基于重复数据删除的差量压缩方法 | |
CN105787037B (zh) | 一种重复数据的删除方法及装置 | |
CN102467572B (zh) | 支持重复数据删除程序的数据区块查询方法 | |
CN104346357A (zh) | 一种嵌入式终端的文件存取方法及系统 | |
CN102222085A (zh) | 一种基于相似性与局部性结合的重复数据删除方法 | |
CN103020255A (zh) | 分级存储方法和装置 | |
CN103176754A (zh) | 一种海量小文件读取存储方法 | |
CN105117351A (zh) | 向缓存写入数据的方法及装置 | |
CN106502587A (zh) | 磁盘数据管理方法和磁盘控制装置 | |
CN104462389A (zh) | 基于分级存储的分布式文件系统实现方法 | |
CN104750432B (zh) | 一种数据存储方法及装置 | |
CN103399823A (zh) | 业务数据的存储方法、设备和系统 | |
CN104111924A (zh) | 一种数据库系统 | |
CN104050057B (zh) | 一种历史感知的数据去重碎片消除方法与系统 | |
CN103198150A (zh) | 一种大数据索引方法及系统 | |
CN104933051A (zh) | 文件存储空间回收方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |