CN110968575B - 一种大数据处理系统的去重方法 - Google Patents

一种大数据处理系统的去重方法 Download PDF

Info

Publication number
CN110968575B
CN110968575B CN201811175309.9A CN201811175309A CN110968575B CN 110968575 B CN110968575 B CN 110968575B CN 201811175309 A CN201811175309 A CN 201811175309A CN 110968575 B CN110968575 B CN 110968575B
Authority
CN
China
Prior art keywords
data block
data
vector
data unit
length
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
CN201811175309.9A
Other languages
English (en)
Other versions
CN110968575A (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.)
Nanjing Institute of Technology
Original Assignee
Nanjing Institute of 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 Nanjing Institute of Technology filed Critical Nanjing Institute of Technology
Priority to CN201811175309.9A priority Critical patent/CN110968575B/zh
Publication of CN110968575A publication Critical patent/CN110968575A/zh
Application granted granted Critical
Publication of CN110968575B publication Critical patent/CN110968575B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及一种大数据处理系统的去重方法,包括:选择待处理的数据单元,获取分割向量;判断该数据单元的末尾是否等于该分割向量,若不等于,则在末尾之后增加一个分割向量;使用分割向量分割所述数据单元,得到多个数据块;合并数据块,使得各数据块的长度不小于最小块长度;计算每个数据块的哈希值,判断是新数据块,还是重复数据块以进行去重。该方法在大数据处理系统中,能够较快地查找到重复数据;对于大文件的处理,可以降低去重比较的粒度,提高去重的可能性。

Description

一种大数据处理系统的去重方法
【技术领域】
本发明属于计算机和互联网领域,尤其涉及大数据领域,具体的,涉及一种大数据处理系统的去重方法。
【背景技术】
随着计算机和互联网技术的快速发展,我们处在了一个信息爆炸的时代,为了处理大量的信息,出现了大数据的概念。所谓大数据,是指无法在可承受的时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
由于数据的海量特性,人们仅仅凭一己之力很难对这些数据进行分析,但是在以云计算为代表的技术创新大幕的衬托下,这些原本很难收集和使用的数据开始容易被利用起来了,通过各行各业的不断创新,大数据逐步为人类创造更多的价值。
然而,大数据处理系统首先带来的一个问题是数据的海量性,其中还有很多重复性的数据,因此为了简化数据处理过程,减少数据存储的开销,需要对海量数据进行去重。现有技术中的常见去重方法是计算每个文件的哈希值,通过比较哈希值,去除重复的数据单元,但是因为大文件重复的可能性很低,这种方式对于大文件实际上是非常低效的。
【发明内容】
为了解决上述问题,本发明提出了一种大数据处理系统的去重方法。
本发明采用的技术方案如下:
一种大数据处理系统中的去重方法,包括以下步骤:
(1)选择一个待去重处理的数据单元,获取分割向量;
(2)判断该数据单元的末尾是否等于该分割向量,如果不等于,则在该数据单元的末尾之后增加一个分割向量;
(3)设置一个头指针指向该数据单元的第一个字节。
(4)从头指针开始扫描该数据单元,直到扫描到一个分割向量。
(S)将该数据单元中头指针所指向的字节到刚扫描到的分割向量,作为一个数据块;
(6)如果刚扫描到的分割向量已经是该数据单元末尾的分割向量,则继续执行步骤7,否则将头指针指向刚扫描到的分割向量之后的一个字节,返回步骤4;
(7)检查每个数据块的长度,如果一个数据块的长度小于Lmin个字节,则将该数据块与其之前或之后的数据块合并,反复进行上述检查和合并操作,直到每个数据块的长度都不小于Lmin个字节,或者只剩下一个数据块;其中Lmin是预先设置的最小块长度;
(8)对于剩下的每个数据块,计算其哈希值,判断数据库中是否已有该哈希值,如果没有,则将该数据块及其哈希值存入该数据库,如果有,则对该数据块去重。
进一步地,所述分割向量是一个或多个字节组成的向量。
进一步地,所述分割向量是固定的预先设置的向量。
进一步地,所述步骤1获取分割向量具体包括:
(1.1)预先设定了n个不同的待选分割向量为V1,V2,……,Vn,计算每个待选分割向量在所述数据单元中的出现次数,得到Vi在所述数据单元中的出现次数Ti(1≤i≤n);
(1.2)计算Vi对应的平均块长度Li=L/(Ti+1),其中L是所述数据单元的长度;
(1.3)假设在计算得到的n个Li中,最接近预定阈值的为Lk(1≤k≤n),则其对应的待选分割向量Vk就是所需的分割向量。
进一步地,如果步骤2中增加了分割向量,则在系统中进行相应的记录。
进一步地,在步骤7中,当一个数据块的长度小于Lmin时,如果其不是最后一个数据块,则将该数据块与其之后的数据块合并,如果其是最后一个数据块,则将该数据块与其之前的数据块合并。
进一步地,所述哈希值使用的算法是MD5算法。
进一步地,所述哈希值使用的算法是SHA-1算法。
本发明的有益效果为:在大数据处理系统中,能够较快地查找到重复数据;对于大文件的处理,可以降低去重比较的粒度,提高去重的可能性。
【附图说明】
此处所说明的附图是用来提供对本发明的进一步理解,构成本申请的一部分,但并不构成对本发明的不当限定,在附图中:
图1是本发明去重方法的流程示意图。
【具体实施方式】
下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说明仅用来解释本发明,但并不作为对本发明的限定。
本发明所涉及的大数据处理系统去重方法,其对系统中的各个数据单元进行去重处理,所述数据单元是系统中的数据存储单位,在一个实施例中,数据单元指的是一个数据文件,在另一个实施例中,数据单元也可以是数据库中的一个数据记录,本发明对此不作具体限制。
在去重过程中,将数据单元分割成多个数据块,以数据块为基本的去重单位,数据块具有预先设置的最小块长度Lmin,即用于作为去重比较的数据块的长度不小于Lmin个字节。
所述大数据处理系统具有一个数据库,所述数据库中存储了多个不同的数据块,以及每个数据块对应的哈希值。该数据库是通过本发明的方法构建的,其使得每个数据单元最终可以通过该数据库中的数据块组合而成。
参见附图1,其示出了本发明去重方法的基本步骤,下面对具体步骤进行详细说明:
(1)选择一个待去重处理的数据单元,获取分割向量。
所述分割向量是一个或多个字节组成的向量,其可以是固定的预先设置的分割向量,也可是动态确定的分割向量,具体动态确定的方法在后面说明。优选的,所述分割向量具有2个字节。
(2)判断该数据单元的末尾是否等于该分割向量,如果不等于,则在该数据单元的末尾之后增加一个分割向量。
例如,如果分割向量是一个2字节的向量,则判断该数据单元的最后2个字节是否等于该分割向量,如果不等于,则将该分割向量追加到该数据单元末尾之后,相当于该数据单元增加了2个字节。
如果增加了一个分割向量,则需要在系统中进行相应的记录,以在真正使用该数据单元时,去除增加的分割向量。
(3)设置一个头指针指向该数据单元的第一个字节。
(4)从头指针开始扫描该数据单元,直到扫描到一个分割向量。
(5)将该数据单元中头指针所指向的字节到刚扫描到的分割向量,作为一个数据块。
这里得到的数据块的第一个字节就是头指针所指向的字节,而数据块的末尾是一个分割向量。
(6)如果刚扫描到的分割向量已经是该数据单元末尾的分割向量,则继续执行步骤7,否则将头指针指向刚扫描到的分割向量之后的一个字节,返回步骤4。
由于步骤2保证了数据单元的末尾是一个分割向量,因此基于上述步骤3-6,可以将所述数据单元按照先后顺序分割成多个数据块,并且每个数据块的末尾都是一个分割向量。
(7)检查每个数据块的长度,如果一个数据块的长度小于Lmin,则将该数据块与其之前或之后的数据块合并,反复进行上述检查和合并操作,直到每个数据块的长度都不小于Lmin,或者只剩下一个数据块。
在步骤7中,当一个数据块的长度小于Lmin时,如果其不是最后一个数据块,则将该数据块与其之后的数据块合并,如果其是最后一个数据块,则将该数据块与其之前的数据块合并。
经过步骤7后,有两种结果,一种结果是剩下一个或多个数据块,且每个数据块的长度都不小于Lmin,另一种结果是只剩下一个数据块,且该数据块的长度小于Lmin。
(8)对于剩下的每个数据块,计算其哈希值,判断数据库中是否已有该哈希值,如果没有,则说明该数据块是一个新的数据块,将该数据块及其哈希值存入该数据库,如果有,则说明该数据块是一个重复的数据块,可以对该数据块去重。
所述哈希值使用的算法可以是本领域中任一种哈希算法,优选的,可以使用MD5或SHA-1算法。
根据本发明的另一个实施例,分割向量不是固定的一个向量,而是动态确定的。具体地,系统预先设定了n个不同的待选分割向量(n≥2),则所述步骤1中获取分割向量的具体过程包括:
(1.1)设n个不同的待选分割向量为V1,V2,……,Vn,计算每个待选分割向量在所述数据单元中的出现次数。得到Vi在所述数据单元中的出现次数Ti(1≤i≤n)。
所述n个待选分割向量是系统预先设置的,系统管理员可以根据具体情况对这些待选分割向量进行增减。
(1.2)计算Vi对应的平均块长度Li=L/(Ti+1)。
其中L是所述数据单元的长度(即该数据单元有L个字节),由此得到的平均块长度实际是假设用Vi来分割所述数据单元得到的各个数据块的平均长度。
(1.3)假设在计算得到的n个Li中,最接近预定阈值的为Lk(1≤k≤n),则其对应的待选分割向量Vk就是所需的分割向量。
所述预定阈值是预先设置的,其使得分割向量的分割结果尽量接近一个预先的优选块长度,从而提高了去重效果。
以上所述仅是本发明的较佳实施方式,故凡依本发明专利申请范围所述的构造、特征及原理所做的等效变化或修饰,均包括于本发明专利申请范围内。

Claims (8)

1.一种大数据处理系统中的去重方法,其特征在于,包括以下步骤:
(1)选择一个待去重处理的数据单元,获取分割向量;
(2)判断该数据单元的末尾是否等于该分割向量,如果不等于,则在该数据单元的末尾之后增加一个分割向量;
(3)设置一个头指针指向该数据单元的第一个字节;
(4)从头指针开始扫描该数据单元,直到扫描到一个分割向量;
(5)将该数据单元中头指针所指向的字节到刚扫描到的分割向量,作为一个数据块;
(6)如果刚扫描到的分割向量已经是该数据单元末尾的分割向量,则继续执行步骤(7),否则将头指针指向刚扫描到的分割向量之后的一个字节,返回步骤(4);
(7)检查每个数据块的长度,如果一个数据块的长度小于Lmin个字节,则将该数据块与其之前或之后的数据块合并,反复进行上述检查和合并操作,直到每个数据块的长度都不小于Lmin个字节,或者只剩下一个数据块;其中Lmin是预先设置的最小块长度;
(8)对于经步骤(7)处理后得到的每个数据块,计算其哈希值,判断数据库中是否已有该哈希值,如果没有,则将该数据块及其哈希值存入该数据库,如果有,则对该数据块去重。
2.根据权利要求1所述的方法,其特征在于,所述分割向量是一个或多个字节组成的向量。
3.根据权利要求2所述的方法,其特征在于,所述分割向量是固定的预先设置的向量。
4.根据权利要求1所述的方法,其特征在于,所述步骤(1)获取分割向量具体包括:
(1.1)预先设定了n个不同的待选分割向量为V1,V2,......,Vn,计算每个待选分割向量在所述数据单元中的出现次数,得到Vi在所述数据单元中的出现次数Ti,1≤i≤n;
(1.2)计算Vi对应的平均块长度Li=L/(Ti+1),其中L是所述数据单元的长度;
(1.3)假设在计算得到的n个Li中,最接近预定阈值的为Lk,1≤k≤n,则其对应的待选分割向量Vk就是所需的分割向量。
5.根据权利要求1-4任意一项所述的方法,其特征在于,如果步骤(2)中增加了分割向量,则在系统中进行相应的记录。
6.根据权利要求1-4任意一项所述的方法,其特征在于,在步骤(7)中,当一个数据块的长度小于Lmin时,如果其不是最后一个数据块,则将该数据块与其之后的数据块合并,如果其是最后一个数据块,则将该数据块与其之前的数据块合并。
7.根据权利要求1-4任意一项所述的方法,其特征在于,所述哈希值使用的算法是MD5算法。
8.根据权利要求1-4任意一项所述的方法,其特征在于,所述哈希值使用的算法是SHA-1算法。
CN201811175309.9A 2018-09-30 2018-09-30 一种大数据处理系统的去重方法 Active CN110968575B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811175309.9A CN110968575B (zh) 2018-09-30 2018-09-30 一种大数据处理系统的去重方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811175309.9A CN110968575B (zh) 2018-09-30 2018-09-30 一种大数据处理系统的去重方法

Publications (2)

Publication Number Publication Date
CN110968575A CN110968575A (zh) 2020-04-07
CN110968575B true CN110968575B (zh) 2023-06-06

Family

ID=70029490

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811175309.9A Active CN110968575B (zh) 2018-09-30 2018-09-30 一种大数据处理系统的去重方法

Country Status (1)

Country Link
CN (1) CN110968575B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011097887A1 (zh) * 2010-02-10 2011-08-18 北京播思软件技术有限公司 一种基于内容的文件分割方法
CN103914522A (zh) * 2014-03-20 2014-07-09 电子科技大学 一种应用于云存储重复数据删除的数据块合并方法
CN106844480A (zh) * 2016-12-23 2017-06-13 航天星图科技(北京)有限公司 一种清洗比对入库方法
CN107368545A (zh) * 2017-06-28 2017-11-21 深圳神州数码云科数据技术有限公司 一种基于MerkleTree变形算法的去重方法及装置
CN108241639A (zh) * 2016-12-23 2018-07-03 航天星图科技(北京)有限公司 一种数据去重方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9626373B2 (en) * 2012-10-01 2017-04-18 Western Digital Technologies, Inc. Optimizing data block size for deduplication

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011097887A1 (zh) * 2010-02-10 2011-08-18 北京播思软件技术有限公司 一种基于内容的文件分割方法
CN103914522A (zh) * 2014-03-20 2014-07-09 电子科技大学 一种应用于云存储重复数据删除的数据块合并方法
CN106844480A (zh) * 2016-12-23 2017-06-13 航天星图科技(北京)有限公司 一种清洗比对入库方法
CN108241639A (zh) * 2016-12-23 2018-07-03 航天星图科技(北京)有限公司 一种数据去重方法
CN107368545A (zh) * 2017-06-28 2017-11-21 深圳神州数码云科数据技术有限公司 一种基于MerkleTree变形算法的去重方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
朱江 等.基于重复数据删除技术的存储系统分析.《信息系统工程》.2017,(第4期),全文. *

Also Published As

Publication number Publication date
CN110968575A (zh) 2020-04-07

Similar Documents

Publication Publication Date Title
CN108427538B (zh) 全闪存阵列的存储数据压缩方法、装置、及可读存储介质
US10949405B2 (en) Data deduplication device, data deduplication method, and data deduplication program
US9048862B2 (en) Systems and methods for selecting data compression for storage data in a storage system
EP2940598B1 (en) Data object processing method and device
US20170286443A1 (en) Optimizing data block size for deduplication
US9311323B2 (en) Multi-level inline data deduplication
US20120303595A1 (en) Data restoration method for data de-duplication
US11797204B2 (en) Data compression processing method and apparatus, and computer-readable storage medium
CN103309975B (zh) 一种重复数据删除方法和设备
EP3376393A1 (en) Data storage method and apparatus
US10783145B2 (en) Block level deduplication with block similarity
US10198455B2 (en) Sampling-based deduplication estimation
US20190138507A1 (en) Data Processing Method and System and Client
US10824599B2 (en) Information processing apparatus, information processing method, and recording medium
Bhalerao et al. A survey: On data deduplication for efficiently utilizing cloud storage for big data backups
CN103150260A (zh) 重复数据删除方法和装置
CN110618974A (zh) 一种数据存储方法、装置、设备及存储介质
US8117343B2 (en) Landmark chunking of landmarkless regions
KR20150035876A (ko) 데이터 중복 제거 방법 및 장치
US10496313B2 (en) Identification of content-defined chunk boundaries
JP2023510134A (ja) スケッチ計算のためのシステムおよび方法
CN110968575B (zh) 一种大数据处理系统的去重方法
US20220245097A1 (en) Hashing with differing hash size and compression size
US11347424B1 (en) Offset segmentation for improved inline data deduplication
Vikraman et al. A study on various data de-duplication systems

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