WO2018119657A1 - 应用于数据去重的数据路由方法 - Google Patents

应用于数据去重的数据路由方法 Download PDF

Info

Publication number
WO2018119657A1
WO2018119657A1 PCT/CN2016/112352 CN2016112352W WO2018119657A1 WO 2018119657 A1 WO2018119657 A1 WO 2018119657A1 CN 2016112352 W CN2016112352 W CN 2016112352W WO 2018119657 A1 WO2018119657 A1 WO 2018119657A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
chunk
super
fingerprint
server
Prior art date
Application number
PCT/CN2016/112352
Other languages
English (en)
French (fr)
Inventor
李挥
黄志浩
危奕
李鑫
Original Assignee
日彩电子科技(深圳)有限公司
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 日彩电子科技(深圳)有限公司 filed Critical 日彩电子科技(深圳)有限公司
Priority to PCT/CN2016/112352 priority Critical patent/WO2018119657A1/zh
Priority to CN201680090386.7A priority patent/CN109937412A/zh
Publication of WO2018119657A1 publication Critical patent/WO2018119657A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Definitions

  • the present invention relates to the field of data processing, and in particular, to a data routing method applied to data deduplication.
  • Data deduplication technology is a technology that improves the efficient utilization of storage devices by eliminating duplicate data.
  • the data de-duplication technique first divides the data stream into data blocks of different sizes according to a specific algorithm, and calculates a hash value for each of the segmented data blocks. If the corresponding hash value is not found in the lookup table, it means that the data is not stored in the system, so the data block is stored, otherwise it means that the same data block has been stored, and there is no need to store the data. Block, only modify the metadata information of the data block. In general, using data deduplication technology can save up to 90% of storage space.
  • the proposed Extreme Binning is a stateless data routing algorithm applied to clustered storage systems.
  • the so-called stateless refers to the process in which the client's machine selects which data server to send the data block to, and does not need to consider which data blocks are stored on each data server, and only needs to consider the data content of the data block.
  • the Extreme Binning algorithm is based on file similarity, which uses a distributed hash table to send similar data blocks to the same data server. Based on the randomness of the data and the similarity of the files, Extreme Binning can guarantee better system throughput and better load balancing performance.
  • Extreme Binning is a stateless data routing algorithm, it does not consider which data blocks are stored on each data server in the process of selecting the destination data server, so the data deduplication rate of Extreme Binning is relatively low.
  • the data deduplication effect of the clustered storage system using the Extreme Binning data deduplication algorithm is often unsatisfactory.
  • the present invention provides a data routing method applied to data deduplication, which solves the problem that the data deduplication effect is not good or the throughput of the system is not well guaranteed in the prior art.
  • the basic unit super-chunk of the data routing is used to acquire a partial fingerprint as a feature by using the principle of set similarity instead of using global search or simple sampling. Fingerprint collection.
  • the super-chunk is virtually cut into a plurality of segments, and each segment needs to satisfy two conditions: the size of the segment needs to reach a certain threshold and the number of chunks in the segment needs to be preset.
  • the threshold is determined; a MinHash is calculated for each segment, and Min-Hash of all segments in the super-chunk is used as the feature fingerprint set of the super-chunk.
  • FIG. 2 is a schematic diagram showing the effect of effective data deduplication rate in the case of different numbers of data servers according to the present invention
  • Super-chunk is a block of consecutive multiple data blocks
  • h i,j denotes the finger of the i-th block of the super-chunk in the data server j (0 ⁇ j ⁇ n)
  • the block size of the data block is the block size of the data block.
  • SS-Dedup uses a two-layer blocking strategy.
  • SS-Dedup uses a content-based blocking algorithm (CBC) to split the file data into many small blocks. (ie chunk) as the basic unit of data deduplication (average about 4KB or 8KB).
  • CBC content-based blocking algorithm
  • SS-Dedup uses super-chunk as the basic unit of data routing. Super-chunk consists of multiple consecutive chunks. On average, a super-chunk is 1MB in size.
  • b j is calculated according to formula (3).
  • u j is the ratio of the used storage space of the jth data server to the average of the used storage space of all data servers.
  • the use of b j is to avoid the appearance of data skew and to make the system achieve better load balancing.
  • the client device selects the used storage space to be relatively small, thereby ensuring load balancing of the system.
  • SS-Dedup integrates special sampling methods based on special sampling methods in clustered storage systems. Based on the client LRU cache pre-judging mechanism, the data loss rate and client memory space are reduced by a small amount. , greatly improve the throughput of the system, achieve better load balancing, and reduce network overhead.
  • the performance of the SS-Dedup algorithm is evaluated:
  • the experimental test data is the Linux source code from version v2.0.1 to version v4.5.3, with a total size of about 100GB.
  • the default is set to a minimum of 4 KB, a maximum of 12 KB, and an average of 8 KB.
  • the minimum is set to a minimum of 0.5 MB, a maximum of 1.5 MB, and an average of 1 MB.
  • the number of data servers in the cluster is set from 1 to 128.
  • Total Deduplication is the ratio of the original data size to the deduplicated data size. This is an important indicator to measure the deduplication effect of the data deduplication algorithm.
  • Figure 1 shows that no In the case of the same number of data servers, the data deduplication effect of these three algorithms. It can be observed that EMC stateful de-emphasis works best because EMC stateful needs to query the fingerprints of all the data blocks in the super-chunk it sends in all data servers. SS-Dedup's deduplication effect is only 6%-10% lower than EMC stateful, which is acceptable.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种应用于数据去重的数据路由方法,包括如下步骤:(A)使用Min-Hash去衡量两个大数据块之间的相似度;(B)进行数据分块和路由分发;(C)选择目的数据服务器;(D)客户端使用LRU缓存以实现预判。通过该方法可以大大提升系统的吞吐量,维护系统的负载均衡,同时又能够保证较好的数据去重效果。

Description

应用于数据去重的数据路由方法 【技术领域】
本发明涉及数据处理领域,尤其涉及一种应用于数据去重的数据路由方法。
【背景技术】
随着大数据时代的到来,数据的规模正呈指数级别增长,而商用的数据存储中心的运营成本也急剧增加。有研究表明,大型存储系统中多达75%的数据是重复的。也就是说数据存储系统中重复存储了大量重复的数据。因此,如何提高数据中心的存储设备的有效利用率是一个棘手的问题。
数据去重技术是一种通过消除重复数据来提高存储设备的有效利用率的技术。对于所有数据形成的数据流,数据去重技术先根据特定的算法把数据流切分成大小不一的数据块,并对每个切分的数据块计算一个哈希值。如果在查找表中没有查找不到对应的哈希值,说明系统中没有存储过这块数据,于是就存储这个数据块,否则就说明内容相同的数据块已被存储,就不需要存储此数据块,只修改一下数据块的元数据信息。一般情况下,使用数据去重技术能节省高达90%的存储空间。
当前,使用数据去重技术,单节点的数据存储系统能存储TB级别的数据,但随着数据规模的指数级增长,单节点的数据存储系统显然不能满足数据存储系统对可拓展性和数据处理规模的要求。在这种情况下,当前的数据中心普遍采用集群式的数据存储系统。然而,要将数据去重技术整合到集群式的存储系统中是却不那么容易。
在一个集群式的存储系统中,如何确保在把数据块分发到数据服务器的过程中最大化去重率,以及实现系统较好的负载均衡性能和系统的高吞吐量是一个十分棘手的问题。因此,在将数据去重技术整合到集群式的存储系统中时,选取一种高效的数据路由算法就显得尤为至关重要。这种数据路由算法必须在实现数据的高去重率,较好的负载均衡的同时保证系统的高吞吐量。
论文[D.Bhagwatm,K.Eshghi,et al,“Extreme Binning:Scalable,Parallel Deduplication for Chunk based File Backup”,Proceedings of the17th IEEE/ACM International Symposium on Modeling,Analysis and Simulation of Computer and Telecommunication Systems,2009,pp.1-9.]提出的Extreme Binning是一种应用于集群式存储系统的无状态的数据路由算法。所谓无状态是指客户端的机器在选择将数据块发送到哪个数据服务器的过程中,不需要考虑各个数据服务器上存储了哪些数据块,只需要考虑数据块的数据内容即可。Extreme Binning算法是基于文件相似性的,它使用分布式哈希表把相似的数据块发送到同样的数据服务器上。基于数据的随机性以及文件的相似性,Extreme Binning能保证比较好的系统吞吐量和较好的负载均衡性能。然而,由于Extreme Binning是一种无状态的数据路由算法,它在选择目的数据服务器 的过程中没有考虑各个数据服务器上存储了哪些数据块,所以Extreme Binning的数据去重率比较低。采用Extreme Binning数据去重算法的集群式存储系统的数据去重效果往往不满意。
论文[W.Dong,F.Douglis,K.Li,H.Patterson,“Tradeoffs in Scalable Data Routing for Deduplication Clusters”,FAST,2011,pp.15-29]提出了EMC Cluster Deduplication stateful algorithm是一种应用于集群式存储系统的有状态的数据路由算法。所谓有状态是指客户端的机器在选择将数据块发送到哪个数据服务器的过程中,不仅需要考虑数据块的数据内容,还需要考虑各个数据服务器上存储了哪些数据块。但是,EMC stateful算法中,对于每一个数据块在路由选择时,都需要与数据服务器进行交互,并在数据服务器上进行指纹查找。在此交互过程中,会在集群中产生较大的网络开销,在数据服务器上查找指纹也需要的较大的IO等待时间。因此,在使用EMC stateful算法实现数据去重的集群式存储系统中,该系统的吞吐量得不到很好的保证。
论文[Y.Lu,H.Jiang,N.Xiao,“A Scalable Inline Cluster Deduplication Framework for Big Data Protection”,The ACM/IFIP/USENIX13th International Conference on Middleware,2012,pp.354-373]提出了∑-Dedupe采用了基于集合相似度的有状态路由算法,筛选出部分指纹进行查找,这种方法使系统的数据去重率得到一定保证,而系统的吞吐量不低,但不是十分理想。
【发明内容】
为了解决现有技术中的问题,本发明提供了一种应用于数据去重的数据路由方法,解决现有技术中数据去重效果不好或系统的吞吐量得不到很好保证的问题。
本发明是通过以下技术方案实现的:设计、制造了一种应用于数据去重的数据路由方法,包括如下步骤:(A)使用Min-Hash去衡量两个大数据块之间的相似度;(B)进行数据分块和路由分发;(C)选择目的数据服务器;(D)客户端使用LRU缓存以实现预判。
作为本发明的进一步改进:所述步骤(A)中,将原始的数据集分成k个数据集,然后用这k个数据集的最小值来作为特征指纹的集合来代表这k个数据集,通过一一比较两个特征指纹集合的指纹相似性来衡量两个集合的相似度。
作为本发明的进一步改进:所述步骤(B)中,使用基于内容的分块算法CBC把该文件数据切分成许多小的数据块chunk,数据块作为数据去重的基本单元;Super-chunk由多个连续的chunk组成,将super-chunk作为数据路由的基本单元。
作为本发明的进一步改进:所述步骤(C)中,选取目的数据服务器时通过集合相似性原理而不是使用全局搜索或简单的抽样,采用数据路由的基本单元super-chunk来获取部分指纹作为特征指纹集合。
作为本发明的进一步改进:将super-chunk虚拟地切分成多个段,每个段都需要满足两个条件:这个段的大小要达到某个阈值以及这个段中的chunk的数量要达到预先设定的阈值;对每个段都计算一个MinHash,并使用super-chunk中所有段的Min-Hash作为这个super-chunk的特征指纹集合。
作为本发明的进一步改进:所述步骤(C)中,在选择目的数据服务器的时候,选择加权的投票值最大的数据服务器作为目的服务器,其中加权的投票值的计算公式为:
Figure PCTCN2016112352-appb-000001
其中,hi,j表示在数据服务器j(0≤j<n)中super-chunk的第i个块的指
纹值是否命中,hi,j等于0或1,si表示super-chunk中第i个指纹值对应
的数据块的块大小。
作为本发明的进一步改进:所述步骤(D)中,在每个客户机器的内存中为每个数据服务器构建了一个LRU缓存,用于记录这些数据服务器中存在哪些数据块的指纹以及已用存储空间率;当选择目的数据服务器时,客户机器首先在内存的LRU缓存中查找super-chunk的特征指纹,并为每台数据服务器计算对应的加权的投票值。如果其最大值达到设定阈值,则可以直接选择加权的投票值选择对应的数据服务器作为目的数据服务器,否则继续按步骤(C)选出目的数据服务器。
本发明的有益效果是:大大提升系统的吞吐量,维护系统的负载均衡,降低了网络带宽,同时又能够保证较好的数据去重效果;该方法对发送的super-chunk进行了采样,只用少数的指纹集合作为super-chunk的特征指纹集合,大大减少了数据服务器中查找指纹所需要的次数和时间,同时减少了网络开销;同时,在选择目的数据服务器时,它是基于集合相似性来做判决的,使数据去重率得到了很好的保证;最重要的是,它在客户机器上对每个数据服务器维护 了一个LRU cache,在某些情况下,不需要与任何数据服务器进行交互就可以选择目的数据服务器,也是大大提升了系统吞吐量,减少了网络开销。
【附图说明】
图1为本发明在不同的数据服务器数量的情况下去重率效果示意图;
图2为本发明在不同的数据服务器数量的情况下有效数据去重率的效果示意图;
图3为本发明指纹索引查找次数情况示意图。
【具体实施方式】
下面结合附图说明及具体实施方式对本发明进一步说明。
缩略语和关键术语定义
SS-Dedup Sampling-Similarity Deduplication基于采样和相似性的数据去重
Min-Hash the minimum of a Hash Set哈希值集合中的最小值
Chunk数据块
Super-chunk由连续的多个数据块构成的块
一种应用于数据去重的数据路由方法,包括如下步骤:(A)使用Min-Hash去衡量两个大数据块之间的相似度;(B)进行数据分块和路由分发;(C)选择目的数据服务器;(D)客户端使用LRU缓存以实现预判。
所述步骤(A)中,将原始的数据集分成k个数据集,然后用这k个数据集的最小值来作为特征指纹的集合来代表这k个数据集,通过一一比较两个特征指纹集合的指纹相似性来衡量两个集合的相似度。
所述步骤(B)中,使用基于内容的分块算法CBC把该文件数据切分成许多小的数据块chunk,数据块作为数据去重的基本单元;Super-chunk由多个连续的chunk组成,将super-chunk作为数据路由的基本单元。
所述步骤(C)中,选取目的数据服务器时通过集合相似性原理而不是使用全局搜索或简单的抽样,采用数据路由的基本单元super-chunk来获取部分指纹作为特征指纹集合。
将super-chunk虚拟地切分成多个段,每个段都需要满足两个条件:这个段的大小要达到某个阈值以及这个段中的chunk的数量要达到预先设定的阈值; 对每个段都计算一个MinHash,并使用super-chunk中所有段的Min-Hash作为这个super-chunk的特征指纹集合。
所述步骤(C)中,在选择目的数据服务器的时候,选择加权的投票值最大的数据服务器作为目的服务器,其中加权的投票值的计算公式为:
Figure PCTCN2016112352-appb-000002
其中,hi,j表示在数据服务器j(0≤j<n)中super-chunk的第i个块的指
纹值是否命中,hi,j等于0或1,si表示super-chunk中第i个指纹值对应
的数据块的块大小。
所述步骤(D)中,在每个客户机器的内存中为每个数据服务器构建了一个LRU缓存,用于记录这些数据服务器中存在哪些数据块的指纹以及已用存储空间率;当选择目的数据服务器时,客户机器首先在内存的LRU缓存中查找super-chunk的特征指纹,并为每台数据服务器计算对应的加权的投票值。如果其最大值达到设定阈值,则可以直接选择加权的投票值选择对应的数据服务器作为目的数据服务器,否则继续按步骤(C)选出目的数据服务器。
本发明提出了一种新的应用于集群式存储系统的有状态的数据路由算法,并将此算法命名为SS-Dedup,SS-Dedup采用了两层的数据分块算法,有利于提高系统的吞吐量,同时SS-Dedup通过采样技术并利用集合相似性原理,减少了路由选择过程中与数据服务器交互的网络开销和数据服务器的IO等待开销,这些都有利于系统吞吐量的提升和数据去重效果的保证。最重要的是,SS-Dedup创新性地在客户机器上为各个数据服务器维护一个基于LRU策略的缓存,同样有利于减少和数据服务器的交互次数,降低网络带宽,也有利于系统吞吐量的提高和数据去重效果的保证。
在一实施例中,SS-Dedup使用Min-Hash去衡量两个大数据块之间的相似度。
由Border的论文“Min-wise independent permutations”提出的关于集合相似度原理,我们可以知道,两个集合的相似度近似于其各自最小的哈希值是否相等,即有式(1):
sim(S1,S2)=Pr[min(H(S1))=min(H(S2))]   (1)
这意味在估计两个集合的相似度的时候,只需要判断两个集合的最小哈希值是否相等,若相等则两个集合相似,若不相等则两个集合不相似。然而,两个集合的最小值要么相等,要么不相等,则两个集合的相似度要么为1,要么为0,这并不能很有效地评估两个集合的相似度。因此,在SS-Dedup使用Min-Hash的策略中,把原始的数据集分成k个数据集,然后用这k个数据集的最小值来作为特征指纹的集合来代表这k个数据集,通过一一比较两个特征指纹集合的指纹相似性来衡量两个集合的相似度。
2.2.2数据分块粒度和路由分发粒度
在数据去重技术中,数据分块的粒度大小决定了数据的去重率,而路由分发的粒度决定了系统的吞吐量。SS-Dedup采用了两层分块策略,在存储一个文件时,与大多数集群式存储系统类似,SS-Dedup使用基于内容的分块算法(CBC)把该文件数据切分成许多小的数据块(即chunk)作为数据去重的基本单元(平均起来大约4KB或者8KB)。但是,SS-Dedup使用super-chunk作为数据路由的基本单元。Super-chunk由多个连续的chunk组成。平均情况下,一个super-chunk的大小为1MB。
2.2.3特征指纹集合的选取
在数据去重技术中,数据路由的主要任务是如何以更小的代价快速决定数据块需要发送到的目的数据服务器的选择。
SS-Dedup算法在选取目的数据服务器时利用了集合相似性原理而不是使用全局搜索。它对super-chunk进行采用获取部分指纹作为特征指纹集合。根据固定数据块大小和段中chunk的数量限制,SS-Dedup对super-chunk虚拟地切分成多个段。每个段都需要满足两个条件:(1)这个段的大小要达到某个阈值(如256KB)。(2)这个段中的chunk的数量要达到某个阈值(如32).对段的大小的考虑是为了基于super-chunk中较小的chunk非常多而导致较高的采样频率这种情况,而对段中chunk数量的考虑是基于super-chunk中chunk的大小都比较大的这种情况。SS-Dedup对每个段都计算一个MinHash,并使用super-chunk中所有段的Min-Hash作为这个super-chunk的特征指纹集合。这样,SS-Dedup利用这种特殊的采样方式降低了系统的网络开销,提高了系统的吞吐量,而又通过数据相似性保证每个super-chunk都发送到恰当的数据服务器,从而保证了系统的数据去重率。
2.2.4目的数据服务器的选择
在super-chunk的特征指纹的集合生成后,客户机器会把这个特征指纹的集合发送给集群中所有的数据服务器。每个数据服务器都会在内存的布隆过滤器中查找接收到的所有指纹,如果在布隆过滤器命中了,数据服务器就会访问硬盘并在指纹查找表中查找该指纹是否在表中。通过这种方式,每个数据服务器都会得到该特征指纹集合的指纹命中个数并把这一数据发给客户机器。根据前文的理论基础介绍,知道一台数据服务器中某个super-chunk的特征指纹集合的命中个数代表了这个super-chunk和这台数据服务器所有chunk的相似度。
会为每台数据服务器计算一个加权的投票值vj,这个加权的投票值vj由以下公式生成:
Figure PCTCN2016112352-appb-000003
在这个公式(2)中,hi,j表示在数据服务器j(0≤j<n)中super-chunk的第i个块的指纹值是否命中,hi,j要么等于0,要么等于1。si表示super-chunk中第i个指纹值对应的数据块的块大小。这里,和别的路由算法只考虑命中的数据块的个数不同,SS-Dedup对命中的数据块的大小也进行考虑。虽然在SS-Dedup中数据块chunk的平均大小为8KB,但是chunk大小的取值范围是从4KB到12KB.这意味着最大的chunk的块大小是最小的chunk的块大小的三倍, 也意味着在命中情况下,最大的chunk能节省的存储空间也比最小的chunk多。所以,较大的块大小也应该有较大的权重。而bj是根据公式(3)计算得到的,在公式(3)中,uj是第j台数据服务器的已用存储空间与所有的数据服务器的已用存储空间的均值之比。对bj的采用是为了避免数据倾斜的出现以及让系统取得较好的负载均衡。特别地,当多台数据服务器对某super-chunk有相近的相似度时,客户机器选择已用存储空间相对小的,从而保证系统的负载均衡。
Figure PCTCN2016112352-appb-000004
根据公式(2),在选择目的数据服务器的时候,选择v值最大的数据服务器作为目的服务器。如果,所有的v值都为0,就在已用存储空间最低的3台数据服务器中随机选择一个。
2.2.4客户机器中基于LRU缓存的预判机制
不同于其他存储系统只在数据服务器中使用LRU缓存,SS-Dedup还在客户机器中使用缓存。
最开始的时候,因为客户机器并不知道哪些数据服务器存储了哪些数据块,所有的super-chunk的路由发送时都使用以上策略选择目的数据服务器。然而,当一个客户机器处理的super-chunk变多之后,它就可以利用之前命中的数据块的指纹信息。
Figure PCTCN2016112352-appb-000005
因此,如上图所示,在每个客户机器的内存中为每个数据服务器构建了一个LRU缓存,用于记录这些数据服务器中存在哪些数据块的指纹。这个缓存不仅记录了各个数据服务器之前命中的数据块的指纹,还记录各个数据服务器的已用存储空间率。客户机器为了每个数据服务器都分配一个LRU缓存,这个LRC缓存的大小默认为10MB。假设这个集群中有32台数据服务器,则客户机器会在内存 中构建32个LRU缓存,对应每个数据服务器一个LRU缓存。如果每个缓存的大小为10MB,则这些缓存只会占用客户机器上320MB的内存空间。
当选择目的数据服务器时,客户机器首先在内存的LRU缓存中查找super-chunk的特征指纹,并根据公式(2)为每台数据服务器计算对应的v值。如果这些v值中最大值大于阈值L,就可以直接选择最大的v值对应的数据服务器作为目的数据服务器。这里,L为该客户机器之前选择数据服务器的v值的平均值。如果这些v值中最大值小于阈值L,则客户机器仍然需要按照前文写的步骤与所有数据服务器交互,并计算并选择最大的v值对应的数据服务器作为目的数据服务器。
通过这种在客户机器上构建LRU缓存进行提前预判的方式,可以继续减少系统的网络带宽,并增加系统的吞吐量,同时系统付出的代价仅仅是客户机器上的一些内存空间。
本发明提出的是一种新的应用于集群式存储系统的数据路由的数据去重方法,将其命名为SS-Dedup,SS-Dedup能大大提升系统的吞吐量,维护系统的负载均衡,同时又能够保证较好的数据去重效果。
不同于其他的有状态路由算法需要在数据服务器上检索数据块的所有的指纹或使用简单的采用算法,SS-Dedup使用特殊的采样算法,大大减少了数据服务器中查找指纹所需要的次数和时间,同时减少了网络带宽的占用。
不同于其他的有状态路由算法在数据服务器上构建缓存来减少指纹索引查找次数,在SS-Dedup在客户机器的内存中对每个数据服务器维护一个缓存,在某些情况下,不需要与任何数据服务器进行交互就可以选择目的数据服务器。这种预判机制的引入不仅大大减少了数据服务器上指纹检索查找的次数,也减少了网络带宽的占用。
SS-Dedup在集群式存储系统中整合基于特殊的采样方法,集合相似性,基于客户端LRU缓存的预判机制这三种方式,通过很少的数据去重率的损失和客户机器的内存空间,大大提高了系统的吞吐量,实现较好的负载均衡,同时减少了网络开销。
在一具体实施例中,对SS-Dedup算法的性能进行评估:
为了对SS-Dedup算法进行性能评估,实现了一个存储系统原型,在此系统中整合了SS-Dedup,并在数据去重率(Total Deduplication)和有效数据去重率(Effective Deduplication),指纹索引查找次数(Fingerprint Index Lookups)这三个方面与EMC stateful,EMC stateless算法作性能对比。
实验的测试数据为版本v2.0.1到版本v4.5.3的Linux源码,总大小为100GB左右。对于chunk的大小,统一设置为最小值4KB,最大值12KB,均值8KB,而对于super-chunk的大小,统一设置为最小值0.5MB,最大值1.5MB,均值1MB。集群中数据服务器数量设置为从1到128台。
数据去重率(Total Deduplication)是原始的数据大小和去重后的数据大小之比。这是用来衡量数据去重算法去重效果的一个重要指标。图1显示了在不 同的数据服务器数量的情况下,这三种算法的数据去重率的效果。可以观察到EMC stateful的去重效果最好,因为EMC stateful需要在所有的数据服务器中查询其发送的super-chunk中所有数据块的指纹。而SS-Dedup的去重效果只比EMC stateful低6%-10%左右,这是可以接受的。
有效数据去重率(Effective Deduplication)是数据去重率与系统存储倾斜率之比,而系统存储倾斜率是系统最高的已用存储使用率和系统平均存储使用率之比。有效数据去重率是综合衡量数据去重算法的去重效果和系统的负载均衡的一个指标。图2显示了在不同的数据服务器数量的情况下,这三种算法的有效数据去重率的效果。可以观察到EMC stateful的有效数据去重效果最好,而SS-Dedup的有效数据去重率效果只比EMC stateful低5%-8%左右,考虑到SS-Dedup的数据去重率比EMC stateful低6%-10%左右,这说明SS-Dedup的负载均衡性能比EMC stateful更好。
指纹索引查找次数(Fingerprint Index Lookups)是集群中所有数据服务器在硬盘中查找指纹的总次数,这是衡量系统吞吐量的一个重要指标。图3显示了在不同的数据大小的情况下,这三种算法的指纹索引查找次数情况。可以观察到EMC stateless的次数最少,这是一位EMC stateless是一种无状态的算法,根本不需要数据服务器在硬盘中查找指纹,其指纹索引查找次数恒为0。EMC stateful需要的查找次数最多,而SS-Dedup的查找次数只有EMC stateful查找次数的3.5%左右。这说明SS-Dedup的系统吞吐量远远高于EMC stateful的系统吞吐量,接近EMC stateless的系统吞吐量。
在数据去重率,有效数据去重率,指纹索引查找次数这三个维度对SS-Dedup,EMC stateful,,EMC stateless这三种算法进行性能比较。上面的实验结果反映了SS-Dedup在系统吞吐量和减少网络带宽上带来的性能优势。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (7)

  1. 一种应用于数据去重的数据路由方法,其特征在于:包括如下步骤:(A)使用Min-Hash去衡量两个大数据块之间的相似度;(B)进行数据分块和路由分发;(C)选择目的数据服务器;(D)客户端使用LRU缓存以实现预判。
  2. 根据权利要求1所述的应用于数据去重的数据路由方法,其特征在于:所述步骤(A)中,将原始的数据集分成k个数据集,然后用这k个数据集的最小值来作为特征指纹的集合来代表这k个数据集,通过一一比较两个特征指纹集合的指纹相似性来衡量两个集合的相似度。
  3. 根据权利要求1所述的应用于数据去重的数据路由方法,其特征在于:所述步骤(B)中,使用基于内容的分块算法CBC把该文件数据切分成许多小的数据块chunk,数据块作为数据去重的基本单元;Super-chunk由多个连续的chunk组成,将super-chunk作为数据路由的基本单元。
  4. 根据权利要求1所述的应用于数据去重的数据路由方法,其特征在于:所述步骤(C)中,选取目的数据服务器时通过集合相似度原理而不是使用全局搜索,采用数据路由的基本单元super-chunk来获取部分指纹作为特征指纹集合。
  5. 根据权利要求3或4任一所述的应用于数据去重的数据路由方法,其特征在于:将super-chunk虚拟地切分成多个段,每个段都需要满足两个条件:这个段的大小要达到某个阈值以及这个段中的chunk的数量要达到预先设定的阈值;对每个段都计算一个MinHash,并使用super-chunk中所有段的Min-Hash作为这个super-chunk的特征指纹集合。
  6. 根据权利要求1所述的应用于数据去重的数据路由方法,其特征在于:所述步骤(C)中,在选择目的数据服务器的时候,选择加权的投票值最大的数据服务器作为目的服务器,其中加权的投票值的计算公式为:
    Figure PCTCN2016112352-appb-100001
    其中,hi,j表示在数据服务器j(0≤j<n)中super-chunk的第i个块的指纹值是否命中,hi,j等于0或1,si表示super-chunk中第i个指纹值对应的数据块的块大小。
  7. 根据权利要求1所述的应用于数据去重的数据路由方法,其特征在于:所述步骤(D)中,在每个客户机器的内存中为每个数据服务器构建了一个LRU缓存,用于记录这些数据服务器中存在哪些数据块的指纹以及已用存储空间率;当选择目的数据服务器时,客户机器首先在内存的LRU缓存中查找super-chunk的特征指纹,并为每台数据服务器计算对应的加权的投票值;如果其最大值达到设定阈值,则可以直接选择加权的投票值选择对应的数据服务器作为目的数据服务器,否则继续按步骤(C)选出目的数据服务器。
PCT/CN2016/112352 2016-12-27 2016-12-27 应用于数据去重的数据路由方法 WO2018119657A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2016/112352 WO2018119657A1 (zh) 2016-12-27 2016-12-27 应用于数据去重的数据路由方法
CN201680090386.7A CN109937412A (zh) 2016-12-27 2016-12-27 应用于数据去重的数据路由方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/112352 WO2018119657A1 (zh) 2016-12-27 2016-12-27 应用于数据去重的数据路由方法

Publications (1)

Publication Number Publication Date
WO2018119657A1 true WO2018119657A1 (zh) 2018-07-05

Family

ID=62706628

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/112352 WO2018119657A1 (zh) 2016-12-27 2016-12-27 应用于数据去重的数据路由方法

Country Status (2)

Country Link
CN (1) CN109937412A (zh)
WO (1) WO2018119657A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112152798A (zh) * 2020-08-31 2020-12-29 中大编码有限公司 基于加密数据去重的分布式密文共享密钥管理方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040143713A1 (en) * 2003-01-22 2004-07-22 Niles Ronald S. System and method for backing up data
US20100205163A1 (en) * 2009-02-10 2010-08-12 Kave Eshghi System and method for segmenting a data stream
CN102253820A (zh) * 2011-06-16 2011-11-23 华中科技大学 一种流式重复数据检测方法
CN103970744A (zh) * 2013-01-25 2014-08-06 华中科技大学 一种可扩展的重复数据检测方法
CN105487818A (zh) * 2015-11-27 2016-04-13 清华大学 针对云存储系统中重复冗余数据的高效去重方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8935487B2 (en) * 2010-05-05 2015-01-13 Microsoft Corporation Fast and low-RAM-footprint indexing for data deduplication
US20120150824A1 (en) * 2010-12-10 2012-06-14 Inventec Corporation Processing System of Data De-Duplication
US9729659B2 (en) * 2013-03-14 2017-08-08 Microsoft Technology Licensing, Llc Caching content addressable data chunks for storage virtualization

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040143713A1 (en) * 2003-01-22 2004-07-22 Niles Ronald S. System and method for backing up data
US20100205163A1 (en) * 2009-02-10 2010-08-12 Kave Eshghi System and method for segmenting a data stream
CN102253820A (zh) * 2011-06-16 2011-11-23 华中科技大学 一种流式重复数据检测方法
CN103970744A (zh) * 2013-01-25 2014-08-06 华中科技大学 一种可扩展的重复数据检测方法
CN105487818A (zh) * 2015-11-27 2016-04-13 清华大学 针对云存储系统中重复冗余数据的高效去重方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112152798A (zh) * 2020-08-31 2020-12-29 中大编码有限公司 基于加密数据去重的分布式密文共享密钥管理方法及系统
CN112152798B (zh) * 2020-08-31 2023-10-03 云链网科技(广东)有限公司 基于加密数据去重的分布式密文共享密钥管理方法及系统

Also Published As

Publication number Publication date
CN109937412A (zh) 2019-06-25

Similar Documents

Publication Publication Date Title
US11238098B2 (en) Heterogenous key-value sets in tree database
US10558399B2 (en) File system block-level tiering and co-allocation
US10761758B2 (en) Data aware deduplication object storage (DADOS)
Wang et al. An efficient design and implementation of LSM-tree based key-value store on open-channel SSD
Dong et al. Tradeoffs in scalable data routing for deduplication clusters
Liao et al. Multi-dimensional index on hadoop distributed file system
US8311964B1 (en) Progressive sampling for deduplication indexing
US10564850B1 (en) Managing known data patterns for deduplication
US8370315B1 (en) System and method for high performance deduplication indexing
Fu et al. A scalable inline cluster deduplication framework for big data protection
US20100281077A1 (en) Batching requests for accessing differential data stores
US9779026B2 (en) Cache bypass utilizing a binary tree
US20130018855A1 (en) Data deduplication
US9817865B2 (en) Direct lookup for identifying duplicate data in a data deduplication system
JP2017512338A (ja) 第一クラスデータベース要素としての半構造データの実装
US10656839B2 (en) Apparatus and method for cache provisioning, configuration for optimal application performance
CN110569245A (zh) 重复数据删除系统中基于强化学习的指纹索引预取方法
Park et al. A lookahead read cache: improving read performance for deduplication backup storage
Hua et al. Nest: Locality-aware approximate query service for cloud computing
JP2019506667A (ja) プロセッサ・グリッド内の分散データ重複排除
Zhou et al. Hierarchical consistent hashing for heterogeneous object-based storage
WO2018119657A1 (zh) 应用于数据去重的数据路由方法
Zhou et al. Data distribution for heterogeneous storage systems
Hua et al. The design and implementations of locality-aware approximate queries in hybrid storage systems
Cheng et al. Jingwei: An efficient and adaptable data migration strategy for deduplicated storage systems

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16925411

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16925411

Country of ref document: EP

Kind code of ref document: A1