CN103678158B - 一种数据布局优化方法及系统 - Google Patents
一种数据布局优化方法及系统 Download PDFInfo
- Publication number
- CN103678158B CN103678158B CN201310732673.1A CN201310732673A CN103678158B CN 103678158 B CN103678158 B CN 103678158B CN 201310732673 A CN201310732673 A CN 201310732673A CN 103678158 B CN103678158 B CN 103678158B
- Authority
- CN
- China
- Prior art keywords
- data block
- data
- fingerprint
- list
- new
- 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
Abstract
本发明涉及一种数据布局优化方法,具体包括以下步骤:步骤1:接收业务系统输入的连续数据流;步骤2:将数据流划分为连续无交叉的多个数据块;步骤3:判断待处理的数据块是否达到缓存上限,如果是,进行下一步;否则,跳转至步骤1;步骤4:计算得到缓存中的所有数据块的指纹;步骤5:将缓存中数据块的指纹与指纹列表中的指纹进行匹配,将匹配的数据块标记为重复数据块;将不指纹匹配的指纹存入指纹列表中;步骤6:更新数据块信息表中的数据块的物理位置信息;步骤7:根据数据块信息表中的各个数据块的物理位置信息存储对应的数据块。本发明提高了数据的顺序性,降低了数据布局的离散化,提高了重复数据删除系统的顺序读写性能。
Description
技术领域
本发明涉及一种数据布局优化方法及系统。
背景技术
随着数据量的爆炸式增长,数据的存储和管理成本越来越高,由于重复数据删除技术能够有效地减少数据量,降低存储空间需求,因此成为存储领域的研究热点。
随着重复数据删除技术发展,其逐渐应用主存储系统中,但由于重复数据删除技术的特点,其在减少数据存储量的优点下,也对存储系统读取性能带来了一定的影响。针对重复数据删除性能优化问题,公开号为102385554A的中国专利申请在2012年3月21日公开了一种重复数据删除系统的优化方法,采用该方法,能够根据系统当前各存储节点的负载和能耗状态,动态分配存储空间,平衡各存储节点的工作负载,提高系统性能。但是,重复数据块的出现造成连续数据流在磁盘存储介质分布离散,在系统读取过程中引发了大量随机读操作,严重降低了系统顺序读取性能。该专利申请公开的技术方案不能解决由于数据块分布离散造成的系统读性能下降问题。
发明内容
本发明所要解决的技术问题是,针对现有技术的不足,提供一种提高重复数据删除系统的顺序读取速度,提高系统性能的用于重复数据删除系统的数据布局优化方法。
本发明解决上述技术问题的技术方案如下:一种数据布局优化方法,具体包括以下步骤:
步骤1:接收业务系统输入的连续数据流;
步骤2:将数据流划分为连续无交叉的多个数据块,并将数据块保存到缓存中;
步骤3:判断缓存中的待处理的数据块是否达到缓存上限,如果是,进行下一步;否则,跳转至步骤1;
步骤4:计算缓存中的所有数据块的哈希值,并将每个哈希值作为对应数据块的指纹;
步骤5:将缓存中数据块的指纹与指纹列表中的指纹进行匹配,将与指纹列表中的指纹相匹配的指纹所对应的数据块标记为重复数据块;将不与指纹列表中的指纹匹配的指纹存入指纹列表中,所述不匹配的指纹对应的数据块集合在一起构成数据块信息表,得到更新后的指纹列表和数据块信息表;
步骤6:根据指纹列表中指纹对应的物理位置信息更新数据块信息表中的数据块的物理位置信息;
步骤7:根据数据块信息表中的各个数据块的物理位置信息存储对应的数据块。
本发明的有益效果是:本发明通过新数据的重复规律和已存储数据为物理位置信息,计算出数据块的物理位置,提高了数据的顺序性,降低了数据布局的离散化,提高了重复数据删除系统的顺序读写性能。本发明不仅适用于多节点的分布式系统,也适用于单节点存储系统。本发明能够在单存储节点内提高系统的读取性能,提高了系统整体效率,符合目前的应用需求,具有广阔的应用前景。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述步骤5具体包括以下步骤:
步骤5.1:将一个数据块的指纹与指纹列表中所有的指纹进行匹配,并判断是否匹配,如果匹配,进行下一步;否则,进行步骤5.3;
步骤5.2:将所述数据块标记为重复数据块,跳转至步骤5.4;
步骤5.3:该数据块为新数据块,将新数据块的指纹记录到指纹列表中,更新指纹列表;
步骤5.4:判断缓存中的所有数据块是否全部完成与指纹列表中的指纹的匹配;如果是,进行步骤6;否则,跳转至步骤5.1。
进一步,所述指纹列表以数据块的指纹为关键字,指纹列表中保存多个数据块的信息,所述数据块的信息包括数据块的指纹、数据块对应的物理位置信息和具有同一指纹的数据块的数量值。
进一步,所述数据块信息表中包括数据块的指纹、与所述数据块指纹相对应的指纹列表中的数据块的物理位置信息和数据块的大小。
进一步,所述步骤4中计算数据块的哈希值采用安全散列算法SHA-1或消息摘要算法MD5。
进一步,所述步骤6中更新数据块信息表中的数据块的物理位置信息采用数据布局优化策略;
所述数据布局优化策略采用以下第一种、第二种或第三种策略:
第一种策略:统计数据块信息表中所存在的连续数据块的个数,判断连续数据块的个数是否小于预设值;若都小于,则为每个数据块重新设置新的物理位置信息,使得所有数据块据连续存储;若存在连续数据块的个数大于等于预设值,则仅存储新数据块,并将新数据块信息添加到数据块信息表中;
第二种策略:统计数据块信息表中重复数据块占总数据量的比例,判断所述比例是否小于预设的重复数据的比例阈值;若小于,则为每个数据块重新设置新的物理位置信息,使得所有数据块据连续存储;否则,仅存储新数据块,并将新数据块信息添加到数据块信息表中;
第三种策略:结合第一种和第二种,当连续数据块的个数大于等于预设值,并且统计的重复数据块比例大于等于比例阈值时,仅存储新数据块,并将新数据块信息添加到数据块信息表中;否则,将每个数据块重新设置新的物理位置信息,使得所有数据块据连续存储。
本发明所要解决的技术问题是,针对现有技术的不足,提供一种提高重复数据删除系统的顺序读取速度,提高系统性能的用于重复数据删除系统的数据布局优化系统。
本发明解决上述技术问题的技术方案如下:一种数据布局优化系统,包括数据接收模块、数据分块模块、数据查重模块、数据布局优化模块和数据存储模块;
所述数据接收模块接收业务系统输入的连续数据流;
所述数据分块模块将数据流划分为连续无交叉的多个数据块,并将数据块保存到缓存中;
所述数据查重模块将缓存中达到缓存上限的待处理的数据块计算哈希值,并将每个哈希值作为对应数据块的指纹;所述数据查重模块将缓存中数据块的指纹与指纹列表中的指纹进行匹配,将与指纹列表中的指纹相匹配的指纹所对应的数据块标记为重复数据块;将不与指纹列表中的指纹匹配的指纹存入指纹列表中,所述不匹配的指纹对应的数据块集合在一起构成数据块信息表,得到更新后的指纹列表和数据块信息表;
所述数据布局优化模块根据指纹列表中指纹对应的物理位置信息更新数据块信息表中的数据块的物理位置信息;
所述数据存储模块根据数据块信息表中的各个数据块的物理位置信息存储对应的数据块。
本发明的有益效果是:本发明通过新数据的重复规律和已存储数据为物理位置信息,计算出数据块的物理位置,提高了数据的顺序性,降低了数据布局的离散化,提高了重复数据删除系统的顺序读写性能。本发明不仅适用于多节点的分布式系统,也适用于单节点存储系统。本发明能够在单存储节点内提高系统的读取性能,提高了系统整体效率,符合目前的应用需求,具有广阔的应用前景。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述数据查重模块包括匹配模块、指纹列表更新模块和判断模块;
所述匹配模块用于将数据块的指纹与指纹列表中所有的指纹进行匹配,判断是否匹配;如果匹配,将所述数据块标记为重复数据块;否则,该数据块为新数据块;
所述指纹列表更新模块用于将新数据块的指纹记录到指纹列表中,更新指纹列表;
所述判断模块用于判断缓存中的所有数据块是否全部完成与指纹列表中的指纹匹配,如果是,转向数据布局优化模块;否则转向匹配模块。
进一步,所述指纹列表以数据块的指纹为关键字,指纹列表中保存多个数据块的信息,所述数据块的信息包括数据块的指纹、数据块对应的物理位置信息和具有同一指纹的数据块的数量值。
进一步,所述数据块信息表中包括数据块的指纹、与所述数据块指纹相对应的指纹列表中的数据块的物理位置信息和数据块的大小。
进一步,所述计算数据块的哈希值采用安全散列算法SHA-1或消息摘要算法MD5。
进一步,所述数据布局优化模块中更新数据块信息表中的数据块的物理位置信息采用数据布局优化策略;
所述数据布局优化策略采用以下第一种、第二种或第三种策略:
第一种策略:统计数据块信息表中所存在的连续数据块的个数,判断连续数据块的个数是否小于预设值;若都小于,则为每个数据块重新设置新的物理位置信息,使得所有数据块据连续存储;若存在连续数据块的个数大于等于预设值,则仅存储新数据块,并将新数据块信息添加到数据块信息表中;
第二种策略:统计数据块信息表中重复数据块占总数据量的比例,判断所述比例是否小于预设的重复数据的比例阈值;若小于,则为每个数据块重新设置新的物理位置信息,使得所有数据块据连续存储;否则,仅存储新数据块,并将新数据块信息添加到数据块信息表中;
第三种策略:结合第一种和第二种,当连续数据块的个数大于等于预设值,并且统计的重复数据块比例大于等于比例阈值时,仅存储新数据块,并将新数据块信息添加到数据块信息表中;否则,将每个数据块重新设置新的物理位置信息,使得所有数据块据连续存储。
附图说明
图1为本发明具体实施例1所述的一种数据布局优化方法流程图;
图2为本发明具体实施例1所述的一种数据布局优化系统结构框图;
图3为本发明具体实施例2所述的一种数据布局优化方法流程图。
附图中,各标号所代表的部件列表如下:
1、数据接收模块,2、数据分块模块,3、数据查重模块,4、数据布局优化模块,5、数据存储模块,31、匹配模块,32、指纹列表更新模块,33、判断模块。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,为本发明具体实施例1所述的一种数据布局优化方法,具体包括以下步骤:
步骤1:接收业务系统输入的连续数据流;
步骤2:将数据流划分为连续无交叉的多个数据块,并将数据块保存到缓存中;
步骤3:判断缓存中的待处理的数据块是否达到缓存上限,如果是,进行下一步;否则,跳转至步骤1;
步骤4:计算缓存中的所有数据块的哈希值,并将每个哈希值作为对应数据块的指纹;
步骤5:将一个数据块的指纹与指纹列表中所有的指纹进行匹配,并判断是否匹配,如果匹配,进行下一步;否则,进行步骤7;
步骤6:将所述数据块标记为重复数据块,跳转至步骤8;
步骤7:该数据块为新数据块,将新数据块的指纹记录到指纹列表中,更新指纹列表;
步骤8:判断缓存中的所有数据块是否全部完成与指纹列表中的指纹的匹配;如果是,进行步骤9;否则,跳转至步骤5。
步骤9:更新数据块信息表中的数据块的物理位置信息;
步骤10:根据数据块信息表中的各个数据块的物理位置信息存储对应的数据块。
所述指纹列表以数据块的指纹为关键字,指纹列表中保存多个数据块的信息,所述数据块的信息包括数据块的指纹、数据块对应的物理位置信息和具有同一指纹的数据块的数量值。
所述数据块信息表中包括数据块的指纹、与所述数据块指纹相对应的指纹列表中的数据块的物理位置信息和数据块的大小。
所述步骤4中计算数据块的哈希值采用安全散列算法SHA-1或消息摘要算法MD5。
所述步骤9中更新数据块信息表中的数据块的物理位置信息采用数据布局优化策略;
所述数据布局优化策略采用以下第一种、第二种或第三种策略:
第一种策略:统计数据块信息表中所存在的连续数据块的个数,判断连续数据块的个数是否小于预设值;若都小于,则为每个数据块重新设置新的物理位置信息,使得所有数据块据连续存储;若存在连续数据块的个数大于等于预设值,则仅存储新数据块,并将新数据块信息添加到数据块信息表中;
第二种策略:统计数据块信息表中重复数据块占总数据量的比例,判断所述比例是否小于预设的重复数据的比例阈值;若小于,则为每个数据块重新设置新的物理位置信息,使得所有数据块据连续存储;否则,仅存储新数据块,并将新数据块信息添加到数据块信息表中;
第三种策略:结合第一种和第二种,当连续数据块的个数大于等于预设值,并且统计的重复数据块比例大于等于比例阈值时,仅存储新数据块,并将新数据块信息添加到数据块信息表中;否则,将每个数据块重新设置新的物理位置信息,使得所有数据块据连续存储。
如图2所示,为本发明具体实施例1所述的一种数据布局优化系统,包括数据接收模块1、数据分块模块2、数据查重模块3、数据布局优化模块4和数据存储模块5;
所述数据接收模块1接收业务系统输入的连续数据流;
所述数据分块模块2将数据流划分为连续无交叉的多个数据块,并将数据块保存到缓存中;
所述数据查重模块3将缓存中达到缓存上限的待处理的数据块计算哈希值,并将每个哈希值作为对应数据块的指纹;所述数据查重模块将缓存中数据块的指纹与指纹列表中的指纹进行匹配,将与指纹列表中的指纹相匹配的指纹所对应的数据块标记为重复数据块;将不与指纹列表中的指纹匹配的指纹存入指纹列表中,所述不匹配的指纹对应的数据块集合在一起构成数据块信息表,得到更新后的指纹列表和数据块信息表;
所述数据布局优化模块4根据指纹列表中指纹对应的物理位置信息更新数据块信息表中的数据块的物理位置信息;
所述数据存储模块5根据数据块信息表中的各个数据块的物理位置信息存储对应的数据块。
所述数据查重模块3包括匹配模块31、指纹列表更新模块32和判断模块33;
所述匹配模块31用于将数据块的指纹与指纹列表中所有的指纹进行匹配,判断是否匹配;如果匹配,将所述数据块标记为重复数据块;否则,该数据块为新数据块;
所述指纹列表更新模块32用于将新数据块的指纹记录到指纹列表中,更新指纹列表;
所述判断模块33用于判断缓存中的所有数据块是否全部完成与指纹列表中的指纹匹配,如果是,转向数据布局优化模块4;否则转向匹配模块31。
所述指纹列表以数据块的指纹为关键字,指纹列表中保存多个数据块的信息,所述数据块的信息包括数据块的指纹、数据块对应的物理位置信息和具有同一指纹的数据块的数量值。
所述数据块信息表中包括数据块的指纹、与所述数据块指纹相对应的指纹列表中的数据块的物理位置信息和数据块的大小。
所述计算数据块的哈希值采用安全散列算法SHA-1或消息摘要算法MD5。
所述数据布局优化模块中更新数据块信息表中的数据块的物理位置信息采用数据布局优化策略;
所述数据布局优化策略采用以下第一种、第二种或第三种策略:
第一种策略:统计数据块信息表中所存在的连续数据块的个数,判断连续数据块的个数是否小于预设值;若都小于,则为每个数据块重新设置新的物理位置信息,使得所有数据块据连续存储;若存在连续数据块的个数大于等于预设值,则仅存储新数据块,并将新数据块信息添加到数据块信息表中;
第二种策略:统计数据块信息表中重复数据块占总数据量的比例,判断所述比例是否小于预设的重复数据的比例阈值;若小于,则为每个数据块重新设置新的物理位置信息,使得所有数据块据连续存储;否则,仅存储新数据块,并将新数据块信息添加到数据块信息表中;
第三种策略:结合第一种和第二种,当连续数据块的个数大于等于预设值,并且统计的重复数据块比例大于等于比例阈值时,仅存储新数据块,并将新数据块信息添加到数据块信息表中;否则,将每个数据块重新设置新的物理位置信息,使得所有数据块据连续存储。
为了更易于描述,本发明实施例中定义数据块连续如下:
对于数据流中两个连续的数据块Chunki-1和Chunki,如果满足条件
PBAi-1+Sizei-1=PBAi
则表示Chunki-1和Chunki物理位置连续,称之为连续数据块。PBAi-1表示第i-1个数据块Chunki-1的物理位置标识,PBAi表示第i个数据块Chunki的物理位置标识,Sizei-1表示第i-1个数据块的大小。
本发明中所采用的数据布局优化策略为:
1)根据连续数据块的数量进行优化:如果数据块Chunki,Chunki+I,…,Chunki+m为m个连续数据块列表,将连续数据块的个数m与预设的值K进行比较,如果m<K,则说明连续数据块个数过少,所以将数据块设置为新数据,与数据流后面的Chunki+m+1等数据块连续存储,降低数据块的离散度;一般情况下,K值越大,系统读性能越高,但会降低重复数据删除比率,重复数据删除比率=重复数据删除处理前数据大小/重复数据删除处理后数据大小。实际使用中,由使用者根据数据类型、性能和重复数据删除比率指定K值。
2)根据重复数据块的比例进行优化:计算局部数据流内重复数据块占总数据块个数的比例x,如果其小于预设值y,说明重复数据块比例较少,所以将重复的数据块设置为新数据块,与其他新数据块连续存储,降低数据块离散度。
另外,数据优化策略也可以结合上面1)和2),根据连续度和重复率两个因素进行优化。
如图2,数据接收模块1将连续数据流输入到数据分块模块2中,数据分块模块2以定长或变长的数据块划分方式,将数据流划分为连续无交叉的数据块,并将划分好的数据块输入数据查重模块3。数据查重模块3通过SHA-1或者MD5计算每个数据块的指纹,并在数据块的指纹列表中进行查找,判断数据块是否已经存在,如果存在,为该数据块标记重复信息,设置该数据块的物理位置信息为指纹列表中相同指纹的数据块的物理位置信息;如果不存在,该数据块首次存储,标记该数据块的物理位置信息为0,将所有数据在指纹列表搜索完后得到数据块信息表,将数据块信息表输入到数据布局优化模块4中进行数据布局优化。数据布局优化模块4根据优化策略确定每个新数据块的物理位置信息,输出带有物理位置信息的数据块,并输入到数据存储模块5。数据存储模块5按照每个数据块自带的物理位置信息存储到对应的存储介质上。
如图3所示,为本发明具体实施例2所述的一种数据布局优化方法,具体包括以下步骤。
步骤201:接收业务系统的输入数据流。
步骤202:使用定长或变长或其他数据块划分方法,将数据流划分为连续无交叉的数据块;其他数据块划分方法例如fingerdiff算法,滑动块检测算法等。
步骤203:判断待处理的数据块数量是否已达到缓存上限,所述的缓冲上限是指待处理数据块的数量形成了一个数据块的最小集合以能放入缓冲中,实际使用中,数据块的集合大小由使用者指定,一般不超过16MB大小,最大值应小于系统可用内存。如果是,将所有待处理数据块加入到缓存中,然后执行步骤204,否则,执行步骤201。
步骤204:设缓冲中有n个数据块,n为正整数,对缓冲中的每个数据块,使用安全散列算法SHA-1或消息摘要算法MD5算法计算该数据块的哈希值并将哈希值作为该数据块的指纹,第i个数据块的指纹为ChunkFPi,i=1,…,n。
步骤205:对第i(i=1,…,n)个数据块指纹ChunkFPi,在指纹列表中进行查询,判断该指纹是否存在,如果指纹存在,则说明第i个数据块已经被存储,为重复数据块,执行步骤206,否则,说明第i个数据块为新数据块,执行步骤207。
指纹列表中每项数据存储了每个数据块的指纹信息ChunkFP、物理位置信息PBA和引用计数RefCount,列表的数据项表示为<ChunkFP,PBA,RefCount>。引用计数RefCount用于统计具有同一指纹的数据块的数量。物理位置信息PBA一般由文件名、文件内偏移量和数据块长度来表示。
指纹列表初始为空,每当有新的数据块指纹时,将保存新数据块的指纹信息到指纹列表中,如果指纹已存在,则将其PBA信息追加到原数据块信息条目中。
步骤206:在数据块信息表中记录第i个数据块的信息<ChunkFPi,PBAi,Sizei>,其中PBAi为指纹列表中与第i个数据块具有相同指纹的数据块的物理位置信息,Sizei表示第i个数据块的大小。
当数据块为重复数据块时,将该数据块在指纹列表中所查询到的指纹对应的物理位置信息作为该数据块的物理位置信息。
步骤207:在数据块信息表中记录第i个数据块的信息<ChunkFPi,PBAi,Sizei>,其中,PBAi设置为0,表示第i个数据块为新数据,Sizei表示第i个数据块的大小。
步骤208:当所有数据块的指纹在指纹列表中查询完之后,得到数据块信息表{<ChunkFP1,PBA1,Size1>,…,<ChunkFPi,PBAi,Sizei>,…,<ChunkFPn,PBAn,Sizen>},n表示数据块的个数,ChunkFPi表示第i个数据块的指纹,PBAi表示第i个数据块的物理位置信息,Sizei表示第i个数据块的大小。
步骤209:本发明实施例中以第2种数据布局优化策略来说明。统计步骤208得到的数据块信息表中重复数据块占总数据量n的比例x。当PBAi不等于0时,就表示该数据块为重复数据块。
步骤210:判断x是否小于预设的重复数据比例阈值y,如果是,执行步骤211,否则执行步骤212;实际使用中,y值由使用者指定,一般情况中,y值越高,读性能越高,但会降低重复数据比率,和数据类型关系也比较大,一般设定y为10%即可。
步骤211:将n个数据块标记为新数据块;
步骤214:顺序为每个标记为新数据的数据块分配空间,确定其物理位置;
步骤215:按照物理位置信息存储所有新数据块。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据布局优化方法,其特征在于,具体包括以下步骤:
步骤1:接收业务系统输入的连续数据流;
步骤2:以定长或变长的数据块划分方式,将数据流划分为连续无交叉的多个数据块,并将数据块保存到缓存中;
步骤3:判断缓存中的待处理的数据块是否达到缓存上限,如果是,进行下一步;否则,跳转至步骤1;
步骤4:计算缓存中的所有数据块的哈希值,并将每个哈希值作为对应数据块的指纹;
步骤5:将缓存中数据块的指纹与指纹列表中的指纹进行匹配,将与指纹列表中的指纹相匹配的指纹所对应的数据块标记为重复数据块;将不与指纹列表中的指纹匹配的指纹存入指纹列表中,所述不匹配的指纹对应的数据块集合在一起构成数据块信息表,得到更新后的指纹列表和数据块信息表;
步骤6:根据指纹列表中指纹对应的物理位置信息更新数据块信息表中的数据块的物理位置信息;
步骤7:根据数据块信息表中的各个数据块的物理位置信息存储对应的数据块。
2.根据权利要求1所述的一种数据布局优化方法,其特征在于,所述步骤5具体包括以下步骤:
步骤5.1:将一个数据块的指纹与指纹列表中所有的指纹进行匹配,并判断是否匹配,如果匹配,进行下一步;否则,进行步骤5.3;
步骤5.2:将所述数据块标记为重复数据块,跳转至步骤5.4;
步骤5.3:该数据块为新数据块,将新数据块的指纹记录到指纹列表中,更新指纹列表;
步骤5.4:判断缓存中的所有数据块是否全部完成与指纹列表中的指纹的匹配;如果是,进行步骤6;否则,跳转至步骤5.1。
3.根据权利要求2所述的一种数据布局优化方法,其特征在于,所述指纹列表以数据块的指纹为关键字,指纹列表中保存多个数据块的信息,所述数据块的信息包括数据块的指纹、数据块对应的物理位置信息和具有同一指纹的数据块的数量值。
4.根据权利要求3所述的一种数据布局优化方法,其特征在于,所述数据块信息表中包括数据块的指纹、与所述数据块指纹相对应的指纹列表中的数据块的物理位置信息和数据块的大小。
5.根据权利要求1-4任一项所述的一种数据布局优化方法,其特征在于,所述步骤6中更新数据块信息表中的数据块的物理位置信息采用数据布局优化策略;
所述数据布局优化策略采用以下第一种、第二种或第三种策略:
第一种策略:统计数据块信息表中所存在的连续数据块的个数,判断连续数据块的个数是否小于预设值;若都小于,则为每个数据块重新设置新的物理位置信息,使得所有数据块据连续存储;若存在连续数据块的个数大于等于预设值,则仅存储新数据块,并将新数据块信息添加到数据块信息表中;
第二种策略:统计数据块信息表中重复数据块占总数据量的比例,判断所述比例是否小于预设的重复数据的比例阈值;若小于,则为每个数据块重新设置新的物理位置信息,使得所有数据块据连续存储;否则,仅存储新数据块,并将新数据块信息添加到数据块信息表中;
第三种策略:结合第一种和第二种,当连续数据块的个数大于等于预设值,并且统计的重复数据块比例大于等于比例阈值时,仅存储新数据块,并将新数据块信息添加到数据块信息表中;否则,将每个数据块重新设置新的物理位置信息,使得所有数据块据连续存储。
6.一种数据布局优化系统,其特征在于,包括数据接收模块、数据分块模块、数据查重模块、数据布局优化模块和数据存储模块;
所述数据接收模块接收业务系统输入的连续数据流;
所述数据分块模块以定长或变长的数据块划分方式,将数据流划分为连续无交叉的多个数据块,并将数据块保存到缓存中;
所述数据查重模块将缓存中达到缓存上限的待处理的数据块计算哈希值,并将每个哈希值作为对应数据块的指纹;所述数据查重模块将缓存中数据块的指纹与指纹列表中的指纹进行匹配,将与指纹列表中的指纹相匹配的指纹所对应的数据块标记为重复数据块;将不与指纹列表中的指纹匹配的指纹存入指纹列表中,所述不匹配的指纹对应的数据块集合在一起构成数据块信息表,得到更新后的指纹列表和数据块信息表;
所述数据布局优化模块根据指纹列表中指纹对应的物理位置信息更新数据块信息表中的数据块的物理位置信息;
所述数据存储模块根据数据块信息表中的各个数据块的物理位置信息存储对应的数据块。
7.根据权利要求6所述的一种数据布局优化系统,其特征在于,所述数据查重模块包括匹配模块、指纹列表更新模块和判断模块;
所述匹配模块用于将数据块的指纹与指纹列表中所有的指纹进行匹配,判断是否匹配;如果匹配,将所述数据块标记为重复数据块;否则,该数据块为新数据块;
所述指纹列表更新模块用于将新数据块的指纹记录到指纹列表中,更新指纹列表;
所述判断模块用于判断缓存中的所有数据块是否全部完成与指纹列表中的指纹匹配,如果是,转向数据布局优化模块;否则转向匹配模块。
8.根据权利要求7所述的一种数据布局优化系统,其特征在于,所述指纹列表以数据块的指纹为关键字,指纹列表中保存多个数据块的信息,所述数据块的信息包括数据块的指纹、数据块对应的物理位置信息和具有同一指纹的数据块的数量值。
9.根据权利要求8所述的一种数据布局优化系统,其特征在于,所述数据块信息表中包括数据块的指纹、与所述数据块指纹相对应的指纹列表中的数据块的物理位置信息和数据块的大小。
10.根据权利要求6-9任一项所述的一种数据布局优化系统,其特征在于,所述数据布局优化模块中更新数据块信息表中的数据块的物理位置信息采用数据布局优化策略;
所述数据布局优化策略采用以下第一种、第二种或第三种策略:
第一种策略:统计数据块信息表中所存在的连续数据块的个数,判断连续数据块的个数是否小于预设值;若都小于,则为每个数据块重新设置新的物理位置信息,使得所有数据块据连续存储;若存在连续数据块的个数大于等于预设值,则仅存储新数据块,并将新数据块信息添加到数据块信息表中;
第二种策略:统计数据块信息表中重复数据块占总数据量的比例,判断所述比例是否小于预设的重复数据的比例阈值;若小于,则为每个数据块重新设置新的物理位置信息,使得所有数据块据连续存储;否则,仅存储新数据块,并将新数据块信息添加到数据块信息表中;
第三种策略:结合第一种和第二种,当连续数据块的个数大于等于预设值,并且统计的重复数据块比例大于等于比例阈值时,仅存储新数据块,并将新数据块信息添加到数据块信息表中;否则,将每个数据块重新设置新的物理位置信息,使得所有数据块据连续存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310732673.1A CN103678158B (zh) | 2013-12-26 | 2013-12-26 | 一种数据布局优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310732673.1A CN103678158B (zh) | 2013-12-26 | 2013-12-26 | 一种数据布局优化方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103678158A CN103678158A (zh) | 2014-03-26 |
CN103678158B true CN103678158B (zh) | 2016-11-02 |
Family
ID=50315787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310732673.1A Active CN103678158B (zh) | 2013-12-26 | 2013-12-26 | 一种数据布局优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103678158B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970875B (zh) * | 2014-05-15 | 2017-02-15 | 华中科技大学 | 一种并行重复数据删除方法和系统 |
US10346075B2 (en) * | 2015-03-16 | 2019-07-09 | Hitachi, Ltd. | Distributed storage system and control method for distributed storage system |
CN105897921B (zh) * | 2016-05-27 | 2019-02-26 | 重庆大学 | 一种结合指纹抽样和减少数据碎片的数据块路由方法 |
CN106293525B (zh) * | 2016-08-05 | 2019-06-28 | 上海交通大学 | 一种提高缓存使用效率的方法及系统 |
CN107977168B (zh) * | 2017-12-15 | 2021-01-01 | 安徽长泰信息安全服务有限公司 | 一种基于云存储的数据分散存储系统 |
CN108664217B (zh) * | 2018-04-04 | 2021-07-13 | 安徽大学 | 一种降低固态盘存储系统写性能抖动的缓存方法及系统 |
CN111628909B (zh) * | 2020-05-25 | 2021-08-20 | 上海德吾信息科技有限公司 | 一种用于无线通信的数据重复发送标记系统及方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599079A (zh) * | 2009-07-22 | 2009-12-09 | 中国科学院计算技术研究所 | 一种备份数据集中存储的管理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9047304B2 (en) * | 2011-11-28 | 2015-06-02 | International Business Machines Corporation | Optimization of fingerprint-based deduplication |
-
2013
- 2013-12-26 CN CN201310732673.1A patent/CN103678158B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599079A (zh) * | 2009-07-22 | 2009-12-09 | 中国科学院计算技术研究所 | 一种备份数据集中存储的管理方法 |
Non-Patent Citations (1)
Title |
---|
基于源端重复数据删除的文件备份系统设计与实现;冉禄纯;《中国优秀硕士学位论文全文数据库(电子期刊)》;20130715;第2013年卷(第7期);第21页,第30页,第32-33页,第35-36页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103678158A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103678158B (zh) | 一种数据布局优化方法及系统 | |
CN102831222B (zh) | 一种基于重复数据删除的差量压缩方法 | |
US9047330B2 (en) | Index compression in databases | |
CN102782643B (zh) | 使用布隆过滤器的索引搜索 | |
CN102222085B (zh) | 一种基于相似性与局部性结合的重复数据删除方法 | |
CN101963982B (zh) | 基于位置敏感哈希的删冗存储系统元数据管理方法 | |
US9223660B2 (en) | Storage device to backup content based on a deduplication system | |
US9189506B2 (en) | Database index management | |
CN103345472B (zh) | 基于有限二叉树布隆过滤器的去冗文件系统及其构建方法 | |
CN103020255B (zh) | 分级存储方法和装置 | |
EP3316150B1 (en) | Method and apparatus for file compaction in key-value storage system | |
CN102819586B (zh) | 一种基于高速缓存的url分类方法和设备 | |
CN102323958A (zh) | 重复数据删除方法 | |
CN103810237A (zh) | 数据管理方法和系统 | |
CN104731886B (zh) | 一种海量小文件的处理方法及系统 | |
CN106066818B (zh) | 一种提高重复数据删除备份系统恢复性能的数据布局方法 | |
CN108415671B (zh) | 一种面向绿色云计算的重复数据删除方法及系统 | |
CN103176754A (zh) | 一种海量小文件读取存储方法 | |
CN103152430B (zh) | 一种缩减数据占用空间的云存储方法 | |
CN107958079A (zh) | 聚合文件删除方法、系统、装置及可读存储介质 | |
CN103019887A (zh) | 数据备份方法及装置 | |
CN104252457A (zh) | 一种用于对数据集合进行管理的方法与设备 | |
CN113867627B (zh) | 一种存储系统性能优化方法及系统 | |
CN103530067B (zh) | 一种数据操作的方法和设备 | |
KR101252375B1 (ko) | 저장 장치의 중복 제거 성능 향상을 위한 맵핑 관리 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |