CN105320773B - 一种基于Hadoop平台的分布式重复数据删除系统和方法 - Google Patents

一种基于Hadoop平台的分布式重复数据删除系统和方法 Download PDF

Info

Publication number
CN105320773B
CN105320773B CN201510738881.1A CN201510738881A CN105320773B CN 105320773 B CN105320773 B CN 105320773B CN 201510738881 A CN201510738881 A CN 201510738881A CN 105320773 B CN105320773 B CN 105320773B
Authority
CN
China
Prior art keywords
data
block
file
fine
data 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
Application number
CN201510738881.1A
Other languages
English (en)
Other versions
CN105320773A (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.)
PLA University of Science and Technology
Original Assignee
PLA University of Science and Technology
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 PLA University of Science and Technology filed Critical PLA University of Science and Technology
Priority to CN201510738881.1A priority Critical patent/CN105320773B/zh
Publication of CN105320773A publication Critical patent/CN105320773A/zh
Application granted granted Critical
Publication of CN105320773B publication Critical patent/CN105320773B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems

Landscapes

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

Abstract

本发明公开了一种基于Hadoop平台的分布式重复数据删除系统和方法。该系统包括客户端、主节点和工作节点,通过Hadoop平台的MapReduce并行编程框架实现分布式并行重复数据删除处理,实现方法包括客户端向主节点发送文件,主节点完成文件分片、数据分配以及构建文件元数据表,各个工作节点对数据分片按细粒度进行分块,计算细粒度数据块的指纹值,并在数据库Hbase的索引中进行查询比对,将新数据块存储在分布式文件系统HDFS中,再将索引信息反馈给主节点。该系统和方法能在保证高重删率的同时,具有高吞吐率和良好的可扩展性。

Description

一种基于Hadoop平台的分布式重复数据删除系统和方法
技术领域
本发明涉及计算机数据存储管理领域,特别是涉及一种基于Hadoop平台的分布式重复数据删除系统和方法。
背景技术
随着信息技术高速发展,云计算、物联网、信息栅格以及各种社交平台等新兴技术不断涌现,数据类型逐渐多样化,数据量急剧增长。面对持续膨胀的海量数据,存储系统容量以及存储数据管理逐步成为富有挑战性的问题。一方面,数据中心需要增加大量的存储设备以满足海量数据存储需求,另一方面,存储设备的增加会带来企业采购、管理、电力等成本投入。然而,数据中心的数据存储普遍具有高冗余特点,尤其是备份存储系统和基于虚拟机的主存储系统。如何缩减冗余数据,提升存储空间的有效利用率,进而减少企业维护管理开销,成为目前热门研究领域。
在现有技术中,通过重复数据删除(简称重删)技术可以检测并消除内容重复的数据,极大缩减数据存储容量,优化存储空间利用率,并可减少数据传输的网络开销,节省网络带宽。与传统数据压缩技术相比,重复数据删除技术不仅可以消除文件内的数据冗余,还能消除共享数据集内文件之间的数据冗余,在数据备份、容灾以及归档存储等方面应用广泛。
当采用单服务器进行重复数据删除时,存在处理能力有限,速率较低,不能满足大规模备份数据管理的需求。为此,现有技术中开始采用分布式重复数据删除方法,主要是通过建立分布式重复数据删除系统实现分布式并行数据消重,能够有效提升重复数据删除效率,但同时增加了系统复杂性,带来数据分块、路由策略选择、系统扩展性、负载均衡等问题。
具体而言,现有技术中的分布式重复数据删除方法主要存在以下问题:一是重复数据删除的效率问题,例如当使用分布式的服务器并行处理一个文件中的重复数据时,需要根据服务器的数量及文件大小合理确定对该文件的分割大小,这是因为对文件分割的数据片的大小与重删率密切相关,若被分割的数据片的粒度越细,检测出的重复数据块越多,但对重复数据块的处理时间也会相应增加,因此,需要在重删率和处理时间上进行权衡,提高重复数据删除的并行处理效率;二是重复数据删除的整体性问题,这是因为各服务器并行处理一个文件的数据片时,具有独立性,分别独立处理数据片中的重复数据块,若这些服务器之间没有协调机制,则会存在重删效果不充分的问题,例如在两个服务器上存在相同的重复数据块,若分别处理后不再协调,则该重复数据块在两个服务器上均有处理记录信息并分别存储在这两个服务器上,但对于整体而言,只需存储一次该重复数据块即可,造成了数据重删在服务器之间仍留有冗余的问题;三是重复数据删除的可靠性问题,为达到整体性的重删效果,通过多服务器并行重删处理后,各服务器之间增加了依赖关系,若仅有对处理记录和经过重删处理后数据的一次性存储,而没有进行必要的副本备份,则任何数据损失都会造成多个文件损坏,在可靠性方面,系统面临着很大的潜在风险。
发明内容
本发明主要解决的技术问题是提供一种基于Hadoop平台的分布式重复数据删除系统和方法,解决现有技术中分布式重复数据删除方法效率不高、各服务器之间因缺乏整体性协调而导致重删效果不充分、以及可靠性不强等问题。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种基于Hadoop平台的分布式重复数据删除方法,包括基于Hadoop平台构建的重删集群,该重删集群包括客户端、主节点和至少两个工作节点,包括如下步骤:第一步,文件分片,由该客户端指定需要进行重复数据删除处理的文件提交给该主节点,该主节点将接收的该文件分成大小均等的粗粒度数据片;第二步,数据片分配,由该主节点通过Hadoop平台将该粗粒度数据片分配到该各个工作节点;第三步,数据片分块,各工作节点并行运行Map函数,对所分配的粗粒度数据片通过定长分块方法或者变长分块方法进一步划分为细粒度数据块;第四步,计算指纹值,各个工作节点对划分后的细粒度数据块根据哈希函数计算出该细粒度数据块的指纹值;第五步,块索引查询,该各个工作节点在已建立的块索引中,查询该细粒度数据块的指纹值是否存在,若该细粒度数据块的指纹值在该索引中已存在,则不再存储该细粒度数据块,若该细粒度数据块的指纹值在该索引中不存在,则将该细粒度数据块存储到HDFS文件系统中,并根据该细粒度数据块的存储信息在该块索引中添加相应的块索引信息;第六步,文件元数据表更新,各个该工作节点将所属的该细粒度数据块对应的块索引信息反馈给该主节点,该主节点将该块索引信息存储到已建立的文件元数据表中,建立文件全路径到细粒度数据块的映射关系,以支持后续的文件读操作。
在本发明基于Hadoop平台的分布式重复数据删除方法的另一个实施例中,该Hadoop平台以HDFS为底层文件系统,通过MapReduce并行编程范式在该主节点与各个工作节点之间实现对该重复数据删除分布式并行处理。
在本发明基于Hadoop平台的分布式重复数据删除方法的另一个实施例中,该块索引是通过HBase数据库构建的一个全局块索引,该全局块索引被各个工作节点所共享。
在本发明基于Hadoop平台的分布式重复数据删除方法的另一个实施例中,该文件元数据表存储在该HBase数据库中。
在本发明基于Hadoop平台的分布式重复数据删除方法的另一个实施例中,该块索引包括块指纹值、块存储地址、偏移、块大小和重复次数。
在本发明基于Hadoop平台的分布式重复数据删除方法的另一个实施例中,该文件元数据表包括文件全路径和块索引信息。
在本发明基于Hadoop平台的分布式重复数据删除方法的另一个实施例中,该粗粒度数据块大小为1Mbyte~256Mbyte,该细粒度数据块大小为1kbyte~128kbyte。
在本发明基于Hadoop平台的分布式重复数据删除方法的另一个实施例中,该细粒度数据块的指纹值是通过MD系列或SHA系列的加密哈希函数计算得到。
本发明还提供了一种基于Hadoop平台的分布式重复数据删除系统,该分布式重复数据删除系统包括客户端、主节点和至少两个工作节点构成的集群,该客户端将需要进行重复数据删除处理的文件提交给该主节点;该主节点将接收到的来自该客户端的文件分成均等的粗粒度数据片,然后,将该粗粒度数据片分配到各个该工作节点;各个该工作节点并行运行Map函数,对所分配的粗粒度数据片通过定长分块方法或者变长分块方法进一步划分为细粒度数据块,再根据哈希函数计算出该细粒度数据块的指纹值,然后,在已建立的块索引中,查询该细粒度数据块的指纹值是否存在,若该细粒度数据块的指纹值在该索引中已存在,则不再存储该细粒度数据块,若该细粒度数据块的指纹值在该索引中不存在,则将该细粒度数据块存储到HDFS文件系统中,并根据该细粒度数据块的存储信息在该块索引中添加相应的块索引信息;各个该工作节点将所属的该细粒度数据块对应的块索引信息反馈给该主节点,该主节点将该块索引信息存储到已建立的文件元数据表中,建立文件全路径到细粒度数据块的映射关系,以支持后续的文件读操作。
在本发明基于Hadoop平台的分布式重复数据删除系统的另一个实施例中,该Hadoop平台以HDFS为底层文件系统,通过MapReduce并行编程范式在该主节点与各个工作节点之间实现对该重复数据删除及存储的分布式并行处理;该块索引是通过HBase数据库构建的一个全局块索引,该全局块索引被各个工作节点所共享。
本发明的有益效果是:通过本发明提供了一种基于Hadoop平台的分布式重复数据删除系统和方法,利用MapReduce并行编程框架进行数据分块与指纹值计算,实现了分布式并行重删处理,提高了并行重删的效率。通过将块索引存放在非关系型数据库HBase中,有效解决了块索引的可扩展性问题。重删后的数据使用分布式文件系统HDFS存储,充分保证了数据的可靠性。本系统具有良好的重删能力和扩展能力,同时能够自动实现负载均衡和故障恢复。
附图说明
图1是根据本发明基于Hadoop平台的分布式重复数据删除方法一个实施例的分布式重复数据删除系统架构图;
图2是根据本发明基于Hadoop平台的分布式重复数据删除方法一个实施例的流程图;
图3是根据本发明基于Hadoop平台的分布式重复数据删除方法一个实施例的块索引组成图;
图4是根据本发明基于Hadoop平台的分布式重复数据删除方法一个实施例的文件元数据表组成图。
具体实施方式
为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本说明书所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。
需要说明的是,除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是用于限制本发明。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
图1显示了本发明基于Hadoop平台的分布式重复数据删除系统和方法一个实施例的分布式重复数据删除系统架构图。该系统架构包括若干客户端11、一个主节点12和至少两个工作节点构成的集群,图1中所示为工作节点1、工作节点2、…、工作节点N,表示有N个工作节点,N≥2,还包括HDFS文件系统13和HBase数据库14。
该分布式重复数据删除系统的软件平台是Hadoop平台,以下对Hadoop平台以及HDFS文件系统13和HBase数据库14做一说明。
Hadoop平台是一个由Apache基金会所开发的分布式系统基础架构,用于海量数据分布式存储和高效并行处理,是当前最流行的分布式计算平台之一。
其中,HDFS(Hadoop Distributed File System)和MapReduce是Hadoop最主要的两大组件。HDFS作为Hadoop底层文件系统,管理数据分块、副本存储等,对存储数据进行合理组织。由于Hadoop使用专门为分布式计算设计的文件系统HDFS,计算的时候只需要将计算代码推送到各工作节点上,即可在工作节点上完成数据本地化计算,Hadoop中的集群工作节点也是计算节点。
MapReduce是一个高度抽象的并行编程模型,它将分布式并行编程抽象为两个原语操作,即map操作和reduce操作,开发人员只需要简单地实现相应的接口即可,完全不用考虑底层数据流、容错、程序的并行执行等细节,这种设计无疑大大降低了开发分布式并行程序的难度。
HBase(Hadoop Database)是Hadoop平台中应用最广泛的非关系型数据库,可实现高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase在Hadoop平台中运行,需要底层HDFS支持,但HDFS不支持随机读写,HBase弥补了这一缺陷,这也是HBase比HDFS效率高的原因之一。HBase具有良好的可扩展性,在系统伸缩过程中,HBase可以透明地进行数据重分区和迁移,实现负载均衡。
基于以上说明,图1所示的分布式重复数据删除系统是基于Hadoop平台,利用Hadoop大数据处理平台下的分布式文件系统HDFS和非关系型数据库HBase两种数据管理模式,实现一种可扩展分布式重复数据删除存储系统。采用Hadoop平台是由于该平台将自动并行化、负载均衡和故障管理等很多繁琐的技术细节隐藏起来,极大地简化了程序员的开发工作。其中,利用Hadoop平台中的MapReduce并行编程框架实现分布式并行重删处理,工作节点1、工作节点2、…、工作节点N的文件管理和HBase数据库14均是以HDFS文件系统13作为底层块管理机制来支持的,在这种Hadoop平台架构中,由主节点12对各工作节点进行管控,协调各工作节点的任务处理进度。当需要扩展集群规模时,只需要在主节点12配置文件中进行注册,便可在线增加工作节点,之后系统自动完成数据平衡。进一步的,当系统处理数据量超出当前处理能力时,也可以通过增加工作节点的数量获取更优处理性能。
图1中的HBase数据库14中又进一步包括块索引141和文件元数据表142,以下将结合具体实施例对块索引141和文件元数据表142做进一步说明。
图2是根据本发明基于Hadoop平台的分布式重复数据删除方法一个实施例的流程图,以下结合图1所示重删集群对图2所示各步骤进行详细说明。
第一步S101,文件分片,由图1中的客户端11指定需要进行重复数据删除处理的文件,提交给主节点12,主节点12对接收的文件分成大小均等的粗粒度数据片,如图1中所示的数据片1、数据片2、…、数据片N。粗粒度数据片一般以1Mbyte~256Mbyte为单位,优选为64Mbyte。
第二步S102,数据片分配,主节点12通过Hadoop平台将这些粗粒度数据片分配给集群中的所有各个工作节点,以实现并行重复数据删除处理。各个工作节点得到的粗粒度数据片数量由客户端11提供的文件大小和各个工作节点的数量共同决定。Hadoop平台可以很好地自动平衡各个节点分配的工作负载。优选的,Hadoop平台以HDFS为底层文件系统,通过MapReduce并行编程范式在所述主节点与各个工作节点之间实现对所述重复数据删除的分布式并行处理。
第三步S103,数据片分块,各工作节点并行运行Map函数,对所分配的粗粒度数据片通过定长分块方法或者变长分块方法进一步划分为细粒度数据块。
定长分块方法是以固定大小的数据内容作为数据块单元来划分文件,这种方法简单有效,适用于更新操作较少的静态数据集,但对文件数据的增删高度敏感。
变长分块方法是应用滑动窗口技术基于文件的内容来确定数据块的分割点,往往通过计算窗口的弱哈希指纹来确定边界。变长分块方法适合应用于更新频繁的数据集,在减少存储空间的使用上较定长分块方法更具有优势,但由于其分块过程中需要进行大量的哈希指纹计算,需要消耗更多的计算资源。
细粒度数据块的一般按照1kbyte~128kbyte大小期望分块,优选将粗粒度数据片分为期望大小4kbyte的细粒度数据块。选择合适的分块大小可以有效地平衡重复数据删除处理的存储空间节省量和系统资源开销。
进一步地,本发明基于Hadoop平台的分布式重复数据删除方法是基于Hadoop平台通过MapReduce机制实现了重删的并行化处理。通常情况下,Map函数负责数据的读取和预处理,Reduce函数负责对Map产生的中间结果进行合并。本发明并未严格按照MapReduce框架编写,而是省略了Reduce步骤,只通过Map函数完成并行重删功能,进一步提升了重删速度。除了在主节点完成对文件的粗颗粒数据分片外,细颗粒数据分块、指纹值计算、块索引查找、细颗粒数据块存储以及文件元数据表写入等都是在Map函数中并行完成的,Map函数实现的一个优选实施例如下:
第四步S104,计算指纹值,各个工作节点对划分后的细粒度数据块根据哈希函数并行计算出所述细粒度数据块的指纹值。
这里,细粒度数据块的指纹值是用来表示该数据块独特性的“数字指纹”,该指纹值可以通过一定的算法进行计算,无论该数据块的类型如何、体积多大,都有且只有一个独一无二的指纹值,目的在于获取该数据块的指纹值后,在重复数据检测时直接通过比较指纹值就可以验证是否为相同的数据块,而无需再对数据块整体组成逐一比对来验证是否为重复数据块。
优选的,在本重删集群系统中,通过MD系列或SHA系列两类方法计算细粒度数据块的指纹值,即实现了MD系列或SHA系列两类计算指纹的哈希函数。
第五步S105,块索引查询,各个工作节点在已建立的块索引中查询细粒度数据块的指纹值是否存在,若该细粒度数据块的指纹值在该索引中已存在,则表明该细粒度数据块为重复数据块,不再存储,若该细粒度数据块的指纹值在该索引中不存在,则该细粒度数据块是唯一的,存储到该HDFS文件系统13中,并根据该唯一的细粒度数据块的存储信息在该块索引中添加相应的块索引信息。
通过图1可以看出,块索引141在HBase数据库14中,表示采用HBase数据库14存储块索引141,实现块索引的并行查询,并且,通过HBase数据库14来维护一张全局的块索引141,能够被多个工作节点共享,达到了并行查询的效果。因此,块索引141是通过HBase数据库14构建的一个全局块索引,该全局块索引被各个工作节点所共享。
另外,为避免块索引成为系统扩展瓶颈,通过将块索引141存放在分布式非关系型HBase数据库14中,同样支持在线添加节点,以实现线性扩展。
图3是块索引一个优选实施例的组成图。可以看出该块索引包括四个部分,即:块指纹值、块存储地址、偏移、块大小和重复次数。其中,块指纹值表示的就是细粒度数据块的指纹值;块存储地址则表示细粒度数据块的具体存储位置,是采用HDFS文件系统进行打包成粗粒度容器进行存储管理的;偏移值为该细粒度数据块起始地址离容器开始地址的偏移量;块大小为该细粒度数据块的大小值;重复次数表示该细粒度数据块作为重复数据块在一个文件或多个文件中出现的次数。
第六步S106,文件元数据表更新,各个工作节点将所属的各细粒度数据块对应的块索引信息反馈给主节点,主节点将各块索引信息存储到已建立的文件元数据表中,建立文件全路径到细粒度数据块的映射关系,以支持后续的文件读操作。
通过图1可以看出,文件元数据表142也在HBase数据库14中,表示采用HBase数据库14存储和维护一张统一的文件元数据表142,在该表中,一个文件作为一条记录存储。
图4是文件元数据表一个优选实施例的组成图。可以看出该文件元数据表包括:文件全路径,以及由1号数据块索引信息、2号数据块索引信息、……、N号数据块索引信息所组成的块索引信息。其中,文件全路径包含该文件在文件系统中的绝对路径和文件名,各数据块索引信息则包括该文件的每一个细粒度数据块的指纹值、块存储地址、偏移、块大小和重复次数等信息。通过建立文件元数据表是为便于重删后还能够对原文件快速恢复。
基于同一构思,本发明还提供了一种基于Hadoop平台的分布式重复数据删除系统。
在本发明基于Hadoop平台的分布式重复数据删除系统的一个优选实施例中,该分布式重复数据删除系统包括客户端、主节点和至少两个工作节点构成的集群。该客户端将需要进行重复数据删除处理的文件提交给该主节点;该主节点将接收到的来自该客户端的文件分成均等的粗粒度数据片,然后,将该粗粒度数据片分配到各个该工作节点;各个该工作节点并行运行Map函数,对所分配的粗粒度数据片通过定长分块方法或者变长分块方法进一步划分为细粒度数据块,再根据哈希函数计算出该细粒度数据块的指纹值,然后,在已建立的块索引中,查询该细粒度数据块的指纹值是否存在,若该细粒度数据块的指纹值在该索引中已存在,则不再存储该细粒度数据块,若该细粒度数据块的指纹值在该索引中不存在,则将该细粒度数据块存储到HDFS文件系统中,并根据该细粒度数据块的存储信息在该块索引中添加相应的块索引信息;各个该工作节点将所属的该细粒度数据块对应的块索引信息反馈给该主节点,该主节点将该块索引信息存储到已建立的文件元数据表中,建立文件全路径到细粒度数据块的映射关系,以支持后续的文件读操作。
进一步的,在本发明基于Hadoop平台的分布式重复数据删除系统的优选实施例中,该Hadoop平台以HDFS为底层文件系统,通过MapReduce并行编程范式在该主节点与各个工作节点之间实现对该重复数据删除及存储的分布式并行处理;该块索引是通过HBase数据库构建的一个全局块索引,该全局块索引被各个工作节点所共享。
通过本发明提供了一种基于Hadoop平台的分布式重复数据删除系统和方法,利用其中的MapReduce并行编程框架可以进行数据分片、分块和指纹值计算,实现了分布式并行重删处理,提高了并行重删的效率。通过将块索引存放在非关系型数据库HBase中,有效解决了块索引的可扩展性问题。重删后的数据使用分布式文件系统HDFS进行存储,充分保证了数据的可靠性。本系统具有良好的重删能力和扩展能力,同时能够自动实现负载均衡和故障恢复。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均包括在本发明的专利保护范围内。

Claims (9)

1.一种基于Hadoop平台的分布式重复数据删除方法,包括基于Hadoop平台构建的重删集群,所述重删集群包括客户端、主节点和至少两个工作节点,其特征在于,包括如下步骤:
第一步,文件分片,由所述客户端指定需要进行重复数据删除处理的文件提交给所述主节点,所述主节点将接收的所述文件分成大小均等的粗粒度数据片;
第二步,数据片分配,由所述主节点通过Hadoop平台将所述粗粒度数据片分配到所述各个工作节点;
第三步,数据片分块,各工作节点均仅通过Map函数并行运行,对所分配的粗粒度数据片通过定长分块方法或者变长分块方法进一步划分为细粒度数据块,所述定长分块方法是以固定大小的数据内容作为数据块单元来划分文件,所述变长分块方法是基于文件的内容通过计算滑动窗口的弱哈希指纹来确定数据块的分割点;
第四步,计算指纹值,各个工作节点对划分后的细粒度数据块根据哈希函数计算出所述细粒度数据块的指纹值;
第五步,块索引查询,所述各个工作节点在已建立的块索引中,查询所述细粒度数据块的指纹值是否存在,若所述细粒度数据块的指纹值在所述索引中已存在,则不再存储所述细粒度数据块,若所述细粒度数据块的指纹值在所述索引中不存在,则将所述细粒度数据块存储到HDFS文件系统中,并根据所述细粒度数据块的存储信息在所述块索引中添加相应的块索引信息,所述块索引是通过HBase数据库构建的一个全局块索引,所述全局块索引被各个工作节点所共享,并且所述HBase数据库为分布式非关系型HBase数据库;
第六步,文件元数据表更新,各个所述工作节点将所属的所述细粒度数据块对应的块索引信息反馈给所述主节点,所述主节点将所述块索引信息存储到已建立的文件元数据表中,建立文件全路径到细粒度数据块的映射关系,以支持后续的文件读操作。
2.根据权利要求1所述的基于Hadoop平台的分布式重复数据删除方法,其特征在于,所述Hadoop平台以HDFS为底层文件系统,通过MapReduce并行编程范式在所述主节点与各个工作节点之间实现对所述重复数据删除分布式并行处理。
3.根据权利要求2所述的基于Hadoop平台的分布式重复数据删除方法,其特征在于,所述文件元数据表存储在所述HBase数据库中。
4.根据权利要求3所述的基于Hadoop平台的分布式重复数据删除方法,其特征在于,所述块索引包括块指纹值、块存储地址、偏移、块大小和重复次数。
5.根据权利要求4所述的基于Hadoop平台的分布式重复数据删除方法,其特征在于,所述文件元数据表包括文件全路径和块索引信息。
6.根据权利要求5所述的基于Hadoop平台的分布式重复数据删除方法,其特征在于,所述粗粒度数据块大小为1Mbyte~256Mbyte,所述细粒度数据块大小为1kbyte~128kbyte。
7.根据权利要求6所述的基于Hadoop平台的分布式重复数据删除方法,其特征在于,所述细粒度数据块的指纹值是通过MD系列或SHA系列的加密哈希函数计算得到。
8.一种基于Hadoop平台的分布式重复数据删除系统,所述分布式重复数据删除系统包括客户端、主节点和至少两个工作节点构成的集群,其特征在于,
所述客户端将需要进行重复数据删除处理的文件提交给所述主节点;
所述主节点将接收到的来自所述客户端的文件分成均等的粗粒度数据片,然后,将所述粗粒度数据片分配到各个所述工作节点;
各个所述工作节点均仅通过Map函数并行运行,对所分配的粗粒度数据片通过定长分块方法或者变长分块方法进一步划分为细粒度数据块,所述定长分块方法是以固定大小的数据内容作为数据块单元来划分文件,所述变长分块方法是基于文件的内容通过计算滑动窗口的弱哈希指纹来确定数据块的分割点,再根据哈希函数计算出所述细粒度数据块的指纹值,然后,在已建立的块索引中,查询所述细粒度数据块的指纹值是否存在,若所述细粒度数据块的指纹值在所述索引中已存在,则不再存储所述细粒度数据块,若所述细粒度数据块的指纹值在所述索引中不存在,则将所述细粒度数据块存储到HDFS文件系统中,并根据所述细粒度数据块的存储信息在所述块索引中添加相应的块索引信息,所述块索引是通过HBase数据库构建的一个全局块索引,所述全局块索引被各个工作节点所共享,并且所述HBase数据库为分布式非关系型HBase数据库;
各个所述工作节点将所属的所述细粒度数据块对应的块索引信息反馈给所述主节点,所述主节点将所述块索引信息存储到已建立的文件元数据表中,建立文件全路径到细粒度数据块的映射关系,以支持后续的文件读操作。
9.根据权利要求8所述的基于Hadoop平台的分布式重复数据删除系统,其特征在于,所述Hadoop平台以HDFS为底层文件系统,通过MapReduce并行编程范式在所述主节点与各个工作节点之间实现对所述重复数据删除及存储的分布式并行处理。
CN201510738881.1A 2015-11-03 2015-11-03 一种基于Hadoop平台的分布式重复数据删除系统和方法 Active CN105320773B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510738881.1A CN105320773B (zh) 2015-11-03 2015-11-03 一种基于Hadoop平台的分布式重复数据删除系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510738881.1A CN105320773B (zh) 2015-11-03 2015-11-03 一种基于Hadoop平台的分布式重复数据删除系统和方法

Publications (2)

Publication Number Publication Date
CN105320773A CN105320773A (zh) 2016-02-10
CN105320773B true CN105320773B (zh) 2018-10-26

Family

ID=55248159

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510738881.1A Active CN105320773B (zh) 2015-11-03 2015-11-03 一种基于Hadoop平台的分布式重复数据删除系统和方法

Country Status (1)

Country Link
CN (1) CN105320773B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105787008A (zh) * 2016-02-23 2016-07-20 浪潮通用软件有限公司 一种大数据量的数据去重清洗方法
CN106100894B (zh) * 2016-07-11 2019-04-09 华南理工大学 一种高可靠的集群运维管理方法
CN106649556A (zh) * 2016-11-08 2017-05-10 深圳市中博睿存科技有限公司 基于分布式文件系统的多层重复数据删除方法及装置
CN107066624B (zh) * 2017-05-15 2020-07-28 成都优孚达信息技术有限公司 数据离线存储方法
CN109947731A (zh) * 2017-07-31 2019-06-28 星辰天合(北京)数据科技有限公司 重复数据的删除方法和装置
CN109799947A (zh) * 2017-11-16 2019-05-24 浙江宇视科技有限公司 分布式存储方法及装置
CN111211993B (zh) * 2018-11-21 2023-08-11 百度在线网络技术(北京)有限公司 流式计算的增量持久化方法、装置及存储介质
CN110196871B (zh) * 2019-03-07 2024-05-17 腾讯科技(深圳)有限公司 数据入库方法和系统
CN110188076B (zh) * 2019-05-28 2021-04-30 厦门市数证科技有限公司 一种Hadoop文件系统并发高速数据完全删除的方法
CN111800635B (zh) * 2020-06-17 2022-01-07 西安理工大学 一种基于avs标准的推测并行视频解码方法
CN111737052B (zh) * 2020-06-19 2023-07-07 中国工商银行股份有限公司 分布式对象存储系统及方法
CN112463769A (zh) * 2020-12-11 2021-03-09 中国人寿保险股份有限公司 一种HBase大批量数据删除方法、装置、电子设备和存储介质
CN112860644A (zh) * 2021-02-05 2021-05-28 深圳市木浪云数据有限公司 基于云存储的数据存储方法及装置
CN115840662A (zh) * 2021-09-18 2023-03-24 华为技术有限公司 一种数据备份系统及装置
CN114332745B (zh) * 2022-03-11 2022-05-31 西安科技大学 一种基于深度神经网络的近重复视频大数据清洗方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6065018A (en) * 1998-03-04 2000-05-16 International Business Machines Corporation Synchronizing recovery log having time stamp to a remote site for disaster recovery of a primary database having related hierarchial and relational databases
CN102419766A (zh) * 2011-11-01 2012-04-18 西安电子科技大学 基于hdfs分布式文件系统的数据冗余及文件操作方法
CN103530369A (zh) * 2013-10-14 2014-01-22 浪潮(北京)电子信息产业有限公司 一种去重方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6065018A (en) * 1998-03-04 2000-05-16 International Business Machines Corporation Synchronizing recovery log having time stamp to a remote site for disaster recovery of a primary database having related hierarchial and relational databases
CN102419766A (zh) * 2011-11-01 2012-04-18 西安电子科技大学 基于hdfs分布式文件系统的数据冗余及文件操作方法
CN103530369A (zh) * 2013-10-14 2014-01-22 浪潮(北京)电子信息产业有限公司 一种去重方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
重复数据删除技术研究;张甲燃;《中国优秀硕士学位论文全文数据库 信息科技辑》;20131115;正文第4章 *

Also Published As

Publication number Publication date
CN105320773A (zh) 2016-02-10

Similar Documents

Publication Publication Date Title
CN105320773B (zh) 一种基于Hadoop平台的分布式重复数据删除系统和方法
Zhu et al. {GridGraph}:{Large-Scale} graph processing on a single machine using 2-level hierarchical partitioning
US11163727B2 (en) Scalable grid deduplication
US9740706B2 (en) Management of intermediate data spills during the shuffle phase of a map-reduce job
US10169169B1 (en) Highly available transaction logs for storing multi-tenant data sets on shared hybrid storage pools
Bakshi Considerations for big data: Architecture and approach
Liao et al. Multi-dimensional index on hadoop distributed file system
US9195673B2 (en) Scalable graph modeling of metadata for deduplicated storage systems
CN103106249B (zh) 一种基于Cassandra的数据并行处理系统
CN104881466B (zh) 数据分片的处理以及垃圾文件的删除方法和装置
Humbetov Data-intensive computing with map-reduce and hadoop
Fu et al. Performance optimization for managing massive numbers of small files in distributed file systems
Stuedi et al. Unification of Temporary Storage in the {NodeKernel} Architecture
US9875270B1 (en) Locking item ranges for creating a secondary index from an online table
US20150286748A1 (en) Data Transformation System and Method
CN108089816A (zh) 一种基于负载均衡的查询式重复数据删除方法及装置
CN114281989A (zh) 基于文本相似度的数据去重方法、装置及存储介质和服务器
JP6305645B2 (ja) ホスト型分析のための動的n次元キューブ
CN109992575B (zh) 大数据的分布式存储系统
US10997160B1 (en) Streaming committed transaction updates to a data store
Zhao et al. LS-AMS: An adaptive indexing structure for realtime search on microblogs
CN108121807B (zh) Hadoop环境下多维索引结构OBF-Index的实现方法
Yang et al. D^ 2PS: a dependable data provisioning service in multi-tenant cloud environment
WO2022121274A1 (zh) 一种存储系统中元数据管理方法、装置及存储系统
Vardhan et al. Improving the performance of heterogeneous Hadoop cluster

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