CN108089816B - 一种基于负载均衡的查询式重复数据删除方法及装置 - Google Patents
一种基于负载均衡的查询式重复数据删除方法及装置 Download PDFInfo
- Publication number
- CN108089816B CN108089816B CN201711119659.9A CN201711119659A CN108089816B CN 108089816 B CN108089816 B CN 108089816B CN 201711119659 A CN201711119659 A CN 201711119659A CN 108089816 B CN108089816 B CN 108089816B
- Authority
- CN
- China
- Prior art keywords
- data
- minimum
- fingerprint
- block
- fingerprints
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Abstract
本发明公开了一种基于负载均衡的查询式重复数据删除方法及装置,涉及通信技术领域。该方法包括:从对数据流进行分块所得的数据块,超块以及每个所述数据块对应的指纹,确定确定与多个最小指纹对应的多个存储节点;通过布隆过滤器确定分别与多个存储节点匹配的数量,当确定与多个存储节点匹配的数量非零时,根据确定的与多个存储节点匹配的数量以及存储节点的容量,确定第一存储节点;将超块发送至所述第一存储节点,根据从超块内选择的具有最小指纹的数据块从第一存储节点内选择与最小指纹对应的容器编号;当确定与容器编号对应的最小指纹以及与最小指纹对应的数据块存储在缓存数据库中时,则将数据块删除。
Description
技术领域
本发明涉及通信技术领域,更具体的涉及一种基于负载均衡的查询式重复数据删除方法及装置。
背景技术
随着信息技术的普及和互联网的不断发展,社会正在进入一个数据急速增长的时代,需要管理越来越多的数据,而这些数据中存在大量的重复数据,因此数据的存储造成大量的存储浪费。重复数据删除技术是一种特殊的数据压缩方法,重复数据删除技术以文件或者数据块为单位进行数据压缩。单节点也已经无法满足大量数据的处理,目前广泛应用的集群重复数据删除技术,集群中有大量的数据存储节点,因此如何将上传的数据合理的分发给这些存储节点对于整个重复数据删除系统是非常重要的。因为不仅需要保证整个系统的重删率,还要保证存储节点容量的负载均衡问题,如果某些节点存在数据偏移的问题,后续大量的数据也会向这些节点偏移,造成拥堵和系统性能的下降。
基于查询的路由策略是一种很好的能够保证负载均衡的路由策略,Wei Dong等人提出的以超块(英文为:SuperChunk)为粒度,并以此提出的有状态(英文为:Stateful)算法就是一种基于查询式的路由策略。由于这种策略需要维护每一个数据块的索引,并且需要将数据发送到所有的存储节点进行查询,虽然有很好的重删率,但是会造成大量的通信开销,这是在大规模的集群中是不可接受的。由ShengmeiLuo等人提出的Boafft对超块进行采样的方式选择数量较少的数据块指纹发送到存储节点查询,这种抽样的方式牺牲重删率换来减少一定的通信的开销,同样也是把数据发送到所有的存储节点进行查询,然后确定最优的存储节点将数据发送到该节点。YinjinFu等人提出的∑-dedupe是一种在线的重复数据删除路由策略,选择少量的数据块指纹和少量的存储节点,确定了理由节点之后,通过确定哪些是新数据块,从而将新数据块发送到存储节点,无需再在存储节点进行重复数据删除。
综上所述,现有的无状态路由策略因本身的限制至能在小规模集群中有效果,存在扩展性差,而有状态路由策略存在占用大量内存,也需要大量查询时间的问题。
发明内容
本发明实施例提供一种基于负载均衡的查询式重复数据删除方法及装置,用以解决现有技术中存在无状态路由策略存在扩展性差,有状态路由策略存在占用大量内存,同时需要大量查询时间的问题。
本发明实施例提供一种基于负载均衡的查询式重复数据删除方法,该方法包括:
从对数据流进行分块所得的数据块,超块以及每个所述数据块对应的指纹,确定多个具有最小所述指纹的所述数据块,根据多个所述最小指纹确定与多个所述最小指纹对应的多个存储节点;
通过布隆过滤器确定分别与多个所述存储节点匹配的数量,当确定与多个所述存储节点匹配的数量非零时,根据确定的与多个所述存储节点匹配的数量以及所述存储节点的容量,确定第一存储节点;所述布隆过滤器存储了多个所述存储节点,且所述存储节点中存储的全部所述超块的代表指纹;
将所述超块发送至所述第一存储节点,根据从所述超块内选择的具有最小指纹的数据块从所述第一存储节点内选择与所述最小指纹对应的容器编号;
当确定与所述容器编号对应的所述最小指纹以及与所述最小指纹对应的所述数据块存储在缓存数据库中时,则将与所述最小指纹以及与所述最小指纹对应的所述数据块删除。
优选地,所述当确定与所述容器编号对应的所述最小指纹以及与所述最小指纹对应的所述数据块未存储在缓存数据库中时,从容器内读取与所述最小指纹以及与所述最小指纹对应的所述数据块,并根据LRU更新所述缓存数据库。
优选地,所述从对数据流进行分块所得的数据块,超块以及每个所述数据块对应的指纹,确定多个具有最小所述指纹的所述数据块之前,还包括:
收到客户端发送的数据块超块以及每个所述数据块对应的指纹,所述超块内包括多个所述数据块,所述数据块为所述客户端对接收到的待处理数据按照定长块方式划分确定的。
优选地,所述当确定与多个所述存储节点匹配的数量为零时,将多个所述存储节点中选择的具有最小存储容量的所述存储节点确定为第一存储节点。
优选地,所述根据多个所述最小指纹确定与多个所述最小指纹对应的多个存储节点,具体包括:
将所述超块内包括的多个所述数据块对应的指纹按照字典序排序并选择多个所述最小指纹,对选择的多个所述最小指纹进行取模运算,确定多个所述最小指纹对应的多个存储节点。
本发明实施例还提供一种基于负载均衡的查询式重复数据删除装置,该装置包括:
第一确定单元,用于从对数据流进行分块所得的数据块,超块以及每个所述数据块对应的指纹,确定多个具有最小所述指纹的所述数据块,根据多个所述最小指纹确定与多个所述最小指纹对应的多个存储节点;
第二确定单元,用于通过布隆过滤器确定分别与多个所述存储节点匹配的数量,当确定与多个所述存储节点匹配的数量非零时,根据确定的与多个所述存储节点匹配的数量以及所述存储节点的容量,确定第一存储节点;所述布隆过滤器存储了多个所述存储节点,且所述存储节点中存储的全部所述超块的代表指纹;
发送单元,用于将所述超块发送至所述第一存储节点,根据从所述超块内选择的具有最小指纹的数据块从所述第一存储节点内选择与所述最小指纹对应的容器编号;
删除单元,用于当确定与所述容器编号对应的所述最小指纹以及与所述最小指纹对应的所述数据块存储在缓存数据库中时,则将与所述最小指纹以及与所述最小指纹对应的所述数据块删除。
优选地,所述删除单元还用于:当确定与所述容器编号对应的所述最小指纹以及与所述最小指纹对应的所述数据块未存储在缓存数据库中时,从容器内读取与所述最小指纹以及与所述最小指纹对应的所述数据块,并根据LRU更新所述缓存数据库。
优选地,所述第一确定单元还用于:收到客户端发送的数据块超块以及每个所述数据块对应的指纹,所述超块内包括多个所述数据块,所述数据块为所述客户端对接收到的待处理数据按照定长块方式划分确定的。
优选地,所述第二确定单元还用于:当确定与多个所述存储节点匹配的数量为零时,将多个所述存储节点中选择的具有最小存储容量的所述存储节点确定为第一存储节点。
优选地,所述第一确定单元具体用于:
将所述超块内包括的多个所述数据块对应的指纹按照字典序排序并选择多个所述最小指纹,对选择的多个所述最小指纹进行取模运算,确定多个所述最小指纹对应的多个存储节点。
本发明实施例提供一种基于负载均衡的查询式重复数据删除方法,该方法包括:从对数据流进行分块所得的数据块,超块以及每个所述数据块对应的指纹,确定多个具有最小所述指纹的所述数据块,根据多个所述最小指纹确定与多个所述最小指纹对应的多个存储节点;通过布隆过滤器确定分别与多个所述存储节点匹配的数量,当确定与多个所述存储节点匹配的数量非零时,根据确定的与多个所述存储节点匹配的数量以及所述存储节点的容量,确定第一存储节点;所述布隆过滤器存储了多个所述存储节点,且所述存储节点中存储的全部所述超块的代表指纹;将所述超块发送至所述第一存储节点,根据从所述超块内选择的具有最小指纹的数据块从所述第一存储节点内选择与所述最小指纹对应的容器编号;当确定与所述容器编号对应的所述最小指纹以及与所述最小指纹对应的所述数据块存储在缓存数据库中时,则将与所述最小指纹以及与所述最小指纹对应的所述数据块删除。上述方法中,用BloomFilter的高效查询和基于Broder定理的相似性定理,只需抽样超块中的少数指纹发送到少数的节点用于选择最优节点,减少了路由过程中的查询时间,同时避免重删率的大幅下降。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于负载均衡的查询式重复数据删除方法流程示意图;
图2为本发明实施例提供的重复数据删除系统结构图;
图3为本发明实施例提供的存储节点的索引结构示意图;
图4为本发明实施例一提供的一种基于负载均衡的查询式重复数据删除流程示意图;
图5为本发明实施例提供的三种路由策略的重删率对比示意图;
图6为本发明实施例提供的系统负载均衡情况示意图;
图7为本发明实施例的一种基于负载均衡的查询式重复数据删除装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种非查询式的重复数据删除方法流程示意图,如图1所示,该方法主要包括以下步骤:
步骤101,从对数据流进行分块所得的数据块,超块以及每个所述数据块对应的指纹,确定多个具有最小所述指纹的所述数据块,根据多个所述最小指纹确定与多个所述最小指纹对应的多个存储节点;
步骤102,通过布隆过滤器确定分别与多个所述存储节点匹配的数量,当确定与多个所述存储节点匹配的数量非零时,根据确定的与多个所述存储节点匹配的数量以及所述存储节点的容量,确定第一存储节点;所述布隆过滤器存储了多个所述存储节点,且所述存储节点中存储的全部所述超块的代表指纹;
步骤103,将所述超块发送至所述第一存储节点,根据从所述超块内选择的具有最小指纹的数据块从所述第一存储节点内选择与所述最小指纹对应的容器编号;
步骤104,当确定与所述容器编号对应的所述最小指纹以及与所述最小指纹对应的所述数据块存储在缓存数据库中时,则将与所述最小指纹以及与所述最小指纹对应的所述数据块删除。
图2为本发明实施例提供的重复数据删除系统结构图,如图2所示,本发明实施例提供的一种基于负载均衡的查询式重复数据删除方法,主要通过元数据服务器,客户端服务器和存储节点三部分组成。具体地,客户端服务器主要对用户上传的数据流进行数据分块,指纹计算以及超块的组合;元数据服务器主要保存了系统中所存储的文件的元数据信息,包括了原始数据的指纹信息,所有分块之后的数据块的指纹信息,以及这些数据块存储的节点,用于恢复数据。存储节点存储了包括所有分块之后的数据以及这些块的指纹信息。
在存储节点内存中维护一个BloomFilter,布隆过滤器相比于传统的哈希Table的索引方式,具有更快的的查询速度更低的内存占用,因此可以运用更大的缓存结构进一步减少磁盘I/O。本发明实施例中提供的基于分布式布隆过滤器的负载均衡路由策略,通过设计存储节点的内存索引结构来实现快速的查询和数据的重复数据删除,同时保证存储节点的负载均衡。
同时基于Broder最小值独立置换定理选择超块的最小k个块指纹,并利用这k个指纹确定k个存储节点,从这k个节点利用相应的算法选择最优的节点作为数据的路由节点,这里可以通过反证法证明局部负载均衡能够实现全局的负载均衡。同时因为Broder定理,相对于有状态的路由策略,并未大幅降低重删率,还降低了查询时间和减少内存的占用。
图3为本发明实施例提供的存储节点的索引结构示意图,如图3所示,布隆过滤器存储了该存储节点中所有超块的代表性ID,为了减少磁盘I/O,将数据存储在每一个容器中,每一个容器中存储的是代表性ID通过哈希计算后值相同的超块,在进行重复数据删除时,通过哈希计算得到容器编号,将对应的容器读入内存进行重复数据删除后,将新的数据存入容器后再写到磁盘上。指纹缓存是将最近常用的容器中的指纹保存在内存中,减少磁盘的I/O。
以下结合图1,图2和图3来介绍本发明实施例提供的一种非查询式的重复数据删除方法:
在步骤101前,客户端服务器会对接收的待处理数据进行数据块划分,在本发明实施例中,对待处理数据进行数据块划分的具体方法不做限定,在实际应用中,对待处理数据进行数据块划分可以包括定长分块,CDC切分和滑动块切分。
进一步地,当对待处理数据进行数据块划分之后,可以将成千个数据块组成一个超块,同时,确定超块的代表指纹。
具体地,数据指纹是数据块的本质特征,理想状态是每个唯一数据块具有唯一的数据指纹,不同的数据块具有不同的数据指纹;数据指纹通常是对数据块内容进行相关数学运算获得,从当前研究成果来看Hash函数比较接近与理想目标,比如MD5、SHA1、SHA-256、SHA-512、为one-Way、RabinHash等。另外,还有许多字符串Hash函数也可以用来计算数据块指纹。
需要说明的是,在将成千个数据块组成一个超块时,均需要计算每个数据块的指纹,在本发明实施例中,对计算数据块的指纹的时间先后顺序不做规定,即,可以在将成千个数据块组成一个超块后,计算每个数据块的指纹;也可以在确定每个数据块的指纹之后,在将成千个数据块组成一个超块。
在本发明实施例中,需要从超块包括的多个数据块对应的指纹中,确定多个最小的指纹。其中,对确定具有最小的指纹的方法不做具体地限定。
在步骤101中,将超块内包括的多个数据块对应的指纹按照字典序排序,进一步地,从排序中并选择多个最小指纹,然后对选择的多个最小指纹进行取模运算,从而可以确定多个最小指纹对应的多个存储节点。
比如,超块中保存的成千个数据块,通过MD5算法可以计算出这些数据块的指纹,将计算出的指纹案子字典序排序,并从中选择出k个最小指纹Ci,对最小指纹Ci进行取模运算,即通过Ci%N运算,可以得到这k个指纹对应的存储节点的编号。
在步骤102中,布隆过滤器存储了多个存储节点,且该多个存储节点中存储的全部超块的代表指纹。
具体地,通过布隆过滤器确定分别与多个存储节点匹配的数量,当确定与多个存储节点匹配的数量非零时,根据确定的与多个所述存储节点匹配的数量以及存储节点的容量,确定第一存储节点。
需要说明的是,当确定与多个存储节点匹配的数量为零时,将多个存储节点中选择的具有最小存储容量的存储节点确定为第一存储节点。
在步骤103中,将超块发送至第一存储节点,根据从超块内选择的具有最小指纹的数据块从第一存储节点内选择与最小指纹对应的容器编号。
在步骤104中,当确定与容器编号对应的最小指纹以及与最小指纹对应的数据块存储在缓存数据库中时,则将与所述最小指纹以及与所述最小指纹对应的所述数据块删除。
需要说明的是,当确定与容器编号对应的最小指纹以及与最小指纹对应的数据块未存储在缓存数据库中时,从磁盘中读入最小块指纹对应的容器,并根据LRU更新缓存数据库。
图4为本发明实施例一提供的一种基于负载均衡的查询式重复数据删除方法流程示意图;如图4所示,该方法主要包括:
步骤401,客户端服务器将数据流进行数据分块,指纹计算和超块组合。
步骤402,选择超块中k个最小块指纹作为代表ID。
步骤403,对这k个指纹进行取模运算得到p个节点的编号。
步骤404,将这k个指纹发送到这p个节点,查询这k个指纹在对应节点的匹配个数Hi,若所有Hi均为0,则执行步骤405,否则执行步骤406;
步骤405,选择存储容量最小的节点;
步骤406,利用Hi/Vi,选择最优节点作为路由节点;
步骤407,将超块发送到存储了最少数据的节点
步骤408,将超块中的最小块指纹加入到存储节点的BloomFilter;
步骤409,利用超块最小块指纹ID选择container或者利用WwRr方法选择container;
步骤410,判断对应container是否在缓存中,如果存在,执行步骤411,否则执行步骤412;
步骤411,直接利用该container进行重复数据删除;
步骤412,从磁盘中读入相应的container;
步骤413,进行重复数据删除并利用LRU更新缓存。
步骤414,将非重复数据写入磁盘中相对应的container。
图5为本发明实施例提供的三种路由策略的重删率对比示意图,图6为本发明实施例提供的系统负载均衡情况示意图;以下结合图5,图6以及实验数据,来进一步验证本发明实施例提供的一种基于负载均衡的查询式重复数据删除方法无需到存储节点进行查询,因此在整个数据路由过程中节省了大量的系统通信带来的时间,更加高效快速。
实验采用了仿真验证,对数据的指纹信息进行处理。
本实验的数据集为Linux内核文件作为处理数据,选择了Linux3.0.1-Linux4.6版本的总计34.7G的数据按照定长分块的方法将所有数据分成4k大小的数据块,并利用MD5算法计算每个数据块的指纹。利用单机模拟了集群重复数据删除系统,具体配置信息为处理器:IntelCorei3-21303.40GHz,内存4.00GB。
通过实验的到数据如下(下列所有图中disbf曲线为本方法的实验数据),重删率的标准是计算节点的删除的重复数据占所有数据的百分比,公式如下:
重删率=重复数据/所有数据*100%
如图5所示,由于实验条件的限制,采用了7个节点作为路由节点,每个存储节点单独计算各自的重删率,这里采用每个超块的大小为4Mb。从图中可得基于分布式布隆过滤器的负载均衡路由策略相比于无状态的路由策略重删率有很大的提升,相比于有状态的路由策略重删率下降了15%左右。
由于无状态路由再小规模集群的负载均衡比较好,但是扩展性太差,但是有状态路由和本方法都够适用于大规模的集群,所以此处之对比有状态路由和本方法的负载均衡情况,采用的对比参数是各个节点中剩余的非重复数据数量,因为每个数据块的大小是相等的,所以可以用各个节点数量的曲线图来表示负载均衡的情况。
从图6中看出本方法在各个节点的分布比较均匀,并没有出现大幅波动的情况。
另外对于内存的占用情况有状态的路由策略在每个存储节点内存中需要维护1.8Mb的布隆过滤器信息,也就是整个系统维护了12.6Mb的布隆过滤器信息,而本方法在每个存储节点仅需维护1.88kb的布隆过滤器信息,整个系统仅需要维护13.16kb的布隆过滤器。如果扩展为1Pb的数据量有状态路由策略总共需要380GB的布隆过滤器存储空间,而本方法仅需4Gb的存储空间,而目前常用的哈希表的内存索引结构也至少需要13Gb的存储空间。
基于同一发明构思,本发明实施例提供了一种基于负载均衡的查询式重复数据删除装置,由于该装置解决技术问题的原理与了一种基于负载均衡的查询式重复数据删除方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
图7为本发明实施例的一种基于负载均衡的查询式重复数据删除装置结构示意图,如图7所示,该装置包括第一确定单元301,第二确定单元302,发送单元303和删除单元304。
第一确定单元301,用于从对数据流进行分块所得的数据块,超块以及每个所述数据块对应的指纹,确定多个具有最小所述指纹的所述数据块,根据多个所述最小指纹确定与多个所述最小指纹对应的多个存储节点;
第二确定单元302,用于通过布隆过滤器确定分别与多个所述存储节点匹配的数量,当确定与多个所述存储节点匹配的数量非零时,根据确定的与多个所述存储节点匹配的数量以及所述存储节点的容量,确定第一存储节点;所述布隆过滤器存储了多个所述存储节点,且所述存储节点中存储的全部所述超块的代表指纹;
发送单元303,用于将所述超块发送至所述第一存储节点,根据从所述超块内选择的具有最小指纹的数据块从所述第一存储节点内选择与所述最小指纹对应的容器编号;
删除单元304,用于当确定与所述容器编号对应的所述最小指纹以及与所述最小指纹对应的所述数据块存储在缓存数据库中时,则将与所述最小指纹以及与所述最小指纹对应的所述数据块删除。
优选地,所述删除单元304还用于:
当确定与所述容器编号对应的所述最小指纹以及与所述最小指纹对应的所述数据块未存储在缓存数据库中时,从容器内读取与所述最小指纹以及与所述最小指纹对应的所述数据块,并根据LRU更新所述缓存数据库。
优选地,所述第一确定单元301还用于:收到客户端发送的数据块超块以及每个所述数据块对应的指纹,所述超块内包括多个所述数据块,所述数据块为所述客户端对接收到的待处理数据按照定长块方式划分确定的。
优选地,所述第二确定单元302还用于:当确定与多个所述存储节点匹配的数量为零时,将多个所述存储节点中选择的具有最小存储容量的所述存储节点确定为第一存储节点。
优选地,所述第一确定单元301具体用于:
将所述超块内包括的多个所述数据块对应的指纹按照字典序排序并选择多个所述最小指纹,对选择的多个所述最小指纹进行取模运算,确定多个所述最小指纹对应的多个存储节点。
应当理解,以上一种基于负载均衡的查询式重复数据删除装置包括的单元仅为根据该设备装置实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例提供的一种基于负载均衡的查询式重复数据删除装置所实现的功能与上述实施例提供的一种基于负载均衡的查询式重复数据删除方法一一对应,对于该装置所实现的更为详细的处理流程,在上述方法实施例一中已做详细描述,此处不再详细描述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种基于负载均衡的查询式重复数据删除方法,其特征在于,该方法包括:
对数据流进行分块得到数据块,并确定每个所述数据块对应的指纹;将多个所述数据块组成一个超块,确定每个所述超块包括的多个最小所述指纹,根据所述最小指纹确定与每个所述最小指纹对应的存储节点;
通过布隆过滤器确定分别与多个所述存储节点匹配的数量,当确定与多个所述存储节点匹配的数量非零时,将确定的与多个所述存储节点匹配的数量以及所述存储节点的容量,确定第一存储节点;其中,所述布隆过滤器存储了多个所述存储节点,且所述存储节点中存储有全部所述超块的代表指纹;
将所述超块发送至所述第一存储节点,根据从所述超块内选择的具有最小指纹的所述数据块,从所述第一存储节点内选择与所述最小指纹对应的容器编号;
当确定与所述容器编号对应的所述最小指纹以及与所述最小指纹对应的所述数据块存储在缓存数据库中时,则将与所述最小指纹以及与所述最小指纹对应的所述数据块删除。
2.如权利要求1所述的方法,其特征在于,所述当确定与所述容器编号对应的所述最小指纹以及与所述最小指纹对应的所述数据块未存储在缓存数据库中时,从容器内读取与所述最小指纹以及与所述最小指纹对应的所述数据块,并根据LRU更新所述缓存数据库。
3.如权利要求1所述的方法,其特征在于,所述对数据流进行分块得到数据块,并确定每个所述数据块对应的指纹之前,还包括:
收到客户端发送的数据块超块以及每个所述数据块对应的指纹,所述超块内包括多个所述数据块,所述数据块为所述客户端对接收到的待处理数据按照定长块方式划分确定的。
4.如权利要求1所述的方法,其特征在于,所述当确定与多个所述存储节点匹配的数量为零时,将多个所述存储节点中选择的具有最小存储容量的所述存储节点确定为第一存储节点。
5.如权利要求1所述的方法,其特征在于,所述将多个所述数据块组成一个超块,确定每个所述超块包括的多个最小所述指纹,根据所述最小指纹确定与每个所述最小指纹对应的存储节点,具体包括:
将所述超块内包括的多个所述数据块对应的指纹按照字典序排序并选择多个所述最小指纹,对选择的多个所述最小指纹进行取模运算,确定多个所述最小指纹对应的多个存储节点。
6.一种基于负载均衡的查询式重复数据删除装置,其特征在于,该装置包括:
第一确定单元,用于对数据流进行分块得到数据块,并确定每个所述数据块对应的指纹;将多个所述数据块组成一个超块,确定每个所述超块包括的多个最小所述指纹,根据所述最小指纹确定与每个所述最小指纹对应的存储节点;
第二确定单元,用于通过布隆过滤器确定分别与多个所述存储节点匹配的数量,当确定与多个所述存储节点匹配的数量非零时,将确定的与多个所述存储节点匹配的数量以及所述存储节点的容量,确定第一存储节点;其中,所述布隆过滤器存储了多个所述存储节点,且所述存储节点中存储有全部所述超块的代表指纹;
发送单元,用于将所述超块发送至所述第一存储节点,根据从所述超块内选择的具有最小指纹的所述数据块,从所述第一存储节点内选择与所述最小指纹对应的容器编号;
删除单元,用于当确定与所述容器编号对应的所述最小指纹以及与所述最小指纹对应的所述数据块存储在缓存数据库中时,则将与所述最小指纹以及与所述最小指纹对应的所述数据块删除。
7.如权利要求6所述的装置,其特征在于,所述删除单元还用于:当确定与所述容器编号对应的所述最小指纹以及与所述最小指纹对应的所述数据块未存储在缓存数据库中时,从容器内读取与所述最小指纹以及与所述最小指纹对应的所述数据块,并根据LRU更新所述缓存数据库。
8.如权利要求6所述的装置,其特征在于,所述第一确定单元还用于:收到客户端发送的数据块超块以及每个所述数据块对应的指纹,所述超块内包括多个所述数据块,所述数据块为所述客户端对接收到的待处理数据按照定长块方式划分确定的。
9.如权利要求6所述的装置,其特征在于,所述第二确定单元还用于:当确定与多个所述存储节点匹配的数量为零时,将多个所述存储节点中选择的具有最小存储容量的所述存储节点确定为第一存储节点。
10.如权利要求6所述的装置,其特征在于,所述第一确定单元具体用于:
将所述超块内包括的多个所述数据块对应的指纹按照字典序排序并选择多个所述最小指纹,对选择的多个所述最小指纹进行取模运算,确定多个所述最小指纹对应的多个存储节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711119659.9A CN108089816B (zh) | 2017-11-14 | 2017-11-14 | 一种基于负载均衡的查询式重复数据删除方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711119659.9A CN108089816B (zh) | 2017-11-14 | 2017-11-14 | 一种基于负载均衡的查询式重复数据删除方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108089816A CN108089816A (zh) | 2018-05-29 |
CN108089816B true CN108089816B (zh) | 2021-05-11 |
Family
ID=62172158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711119659.9A Expired - Fee Related CN108089816B (zh) | 2017-11-14 | 2017-11-14 | 一种基于负载均衡的查询式重复数据删除方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108089816B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109101365A (zh) * | 2018-08-01 | 2018-12-28 | 南京壹进制信息技术股份有限公司 | 一种基于源端数据重删的数据备份和恢复方法 |
CN109408475B (zh) * | 2018-10-19 | 2019-07-26 | 广州鼎甲计算机科技有限公司 | 重复数据删除过程中的数据处理方法和系统 |
CN110191187A (zh) * | 2019-06-04 | 2019-08-30 | 湖北五五互联科技有限公司 | Cdn服务器数据管理方法、设备及计算机可读存储介质 |
CN111352938B (zh) * | 2020-02-26 | 2023-07-18 | 深圳市迅雷网络技术有限公司 | 数据处理方法、计算机设备及存储介质 |
CN111291126B (zh) * | 2020-02-28 | 2023-09-05 | 深信服科技股份有限公司 | 数据回收方法、装置、设备及存储介质 |
CN113486025B (zh) * | 2021-07-28 | 2023-07-25 | 北京腾云天下科技有限公司 | 数据存储方法、数据查询方法及装置 |
CN117234745B (zh) * | 2023-11-16 | 2024-03-29 | 北京遥感设备研究所 | 一种面向异构计算平台的数据库负载均衡方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214210A (zh) * | 2011-05-16 | 2011-10-12 | 成都市华为赛门铁克科技有限公司 | 重复数据处理方法、装置和系统 |
CN102456059A (zh) * | 2010-10-21 | 2012-05-16 | 英业达股份有限公司 | 重复数据删除的处理系统 |
CN103970744A (zh) * | 2013-01-25 | 2014-08-06 | 华中科技大学 | 一种可扩展的重复数据检测方法 |
CN105824881A (zh) * | 2016-03-10 | 2016-08-03 | 中国人民解放军国防科学技术大学 | 一种基于负载均衡的重复数据删除数据放置方法器 |
CN105897921A (zh) * | 2016-05-27 | 2016-08-24 | 重庆大学 | 一种结合指纹抽样和减少数据碎片的数据块路由方法 |
CN106066896A (zh) * | 2016-07-15 | 2016-11-02 | 中国人民解放军理工大学 | 一种应用感知的大数据重复删除存储系统及方法 |
-
2017
- 2017-11-14 CN CN201711119659.9A patent/CN108089816B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102456059A (zh) * | 2010-10-21 | 2012-05-16 | 英业达股份有限公司 | 重复数据删除的处理系统 |
CN102214210A (zh) * | 2011-05-16 | 2011-10-12 | 成都市华为赛门铁克科技有限公司 | 重复数据处理方法、装置和系统 |
CN103970744A (zh) * | 2013-01-25 | 2014-08-06 | 华中科技大学 | 一种可扩展的重复数据检测方法 |
CN105824881A (zh) * | 2016-03-10 | 2016-08-03 | 中国人民解放军国防科学技术大学 | 一种基于负载均衡的重复数据删除数据放置方法器 |
CN105897921A (zh) * | 2016-05-27 | 2016-08-24 | 重庆大学 | 一种结合指纹抽样和减少数据碎片的数据块路由方法 |
CN106066896A (zh) * | 2016-07-15 | 2016-11-02 | 中国人民解放军理工大学 | 一种应用感知的大数据重复删除存储系统及方法 |
Non-Patent Citations (1)
Title |
---|
"Extreme Binning: Scalable, Parallel Deduplication";Deepavali Bhagwat等;《IEEE》;20091228;第1至9页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108089816A (zh) | 2018-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108089816B (zh) | 一种基于负载均衡的查询式重复数据删除方法及装置 | |
US10761758B2 (en) | Data aware deduplication object storage (DADOS) | |
US9767154B1 (en) | System and method for improving data compression of a storage system in an online manner | |
CN108090125B (zh) | 一种非查询式的重复数据删除方法及装置 | |
US8370315B1 (en) | System and method for high performance deduplication indexing | |
JP6553649B2 (ja) | クラスタリング記憶方法および装置 | |
US9411815B1 (en) | System and method for improving data compression in a deduplicated storage system | |
US9678976B2 (en) | Distributed deduplication using locality sensitive hashing | |
US9043540B2 (en) | Systems and methods for tracking block ownership | |
CN105069111B (zh) | 云存储中基于相似性的数据块级数据去重方法 | |
US9984090B1 (en) | Method and system for compressing file system namespace of a storage system | |
TW201841122A (zh) | 鍵值儲存樹 | |
WO2019045959A1 (en) | KVS TREE DATA BASE | |
CN110741637B (zh) | 简化视频数据的方法、计算机可读存储介质和电子装置 | |
CN109445702B (zh) | 一种块级数据去重存储系统 | |
US9904480B1 (en) | Multiplexing streams without changing the number of streams of a deduplicating storage system | |
US9183218B1 (en) | Method and system to improve deduplication of structured datasets using hybrid chunking and block header removal | |
Malhotra et al. | A survey and comparative study of data deduplication techniques | |
Sun et al. | DeDu: Building a deduplication storage system over cloud computing | |
JP2013541083A (ja) | 重複排除に基づくストレージシステムにおけるスケーラブル参照管理のためのシステム及び方法 | |
CN102782643A (zh) | 使用布隆过滤器的索引搜索 | |
US10229127B1 (en) | Method and system for locality based cache flushing for file system namespace in a deduplicating storage system | |
JP6807395B2 (ja) | プロセッサ・グリッド内の分散データ重複排除 | |
WO2014000458A1 (zh) | 小文件处理方法及装置 | |
CN110569245A (zh) | 重复数据删除系统中基于强化学习的指纹索引预取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210511 Termination date: 20211114 |
|
CF01 | Termination of patent right due to non-payment of annual fee |