CN107562794A - 一种大数据的冗余检测方法 - Google Patents
一种大数据的冗余检测方法 Download PDFInfo
- Publication number
- CN107562794A CN107562794A CN201710646453.5A CN201710646453A CN107562794A CN 107562794 A CN107562794 A CN 107562794A CN 201710646453 A CN201710646453 A CN 201710646453A CN 107562794 A CN107562794 A CN 107562794A
- Authority
- CN
- China
- Prior art keywords
- data
- cryptographic hash
- data block
- target
- hash
- 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.)
- Withdrawn
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明实施例提供了一种大数据的冗余检测方法,所述方法包括:获取目标数据,并计算所述目标数据的目标哈希值;判断所述目标哈希值是否包含在预先记录的哈希值集合中;如果包含,不存储所述目标数据;如果不包含,将所述目标数据按照预设的划分规则划分成数据块;计算每一划分得到的数据块的第一哈希值;针对每一第一哈希值,判断该第一哈希值是否包含在所述数据块的哈希值集合中;如果包含,则不存储第一哈希值对应的数据块;如果不包含,则存储该第一哈希值对应的数据块。应用本发明实施例,可以实现够快速查找到冗余数据,对于可能出现的相似数据,有效的降低数据匹配的粒度,可以尽可能的找到相似数据中的冗余数据块。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种大数据的冗余检测方法。
背景技术
随着计算机和互联网技术的快速发展,我们处在了一个信息爆炸的时代,为了处理大量的信息,出现了大数据的概念。所谓大数据,是指无法在可承受的时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。由于数据的海量特性,人们仅仅凭一己之力很难对这些数据这些分析,但是在以云计算为代表的技术创新大幕的衬托下,这些原本很难收集和使用的数据开始容易被利用起来了,通过各行各业的不断创新,大数据逐步为人类创造更多的价值。
但是,尽管用于做大数据分析的计算机越来越多,性能越来越好,但是面对海量数据仍然力不从心,因此大数据分析的第一步,是检测和消除其中的相同数据,即冗余数据,通过冗余数据检测,大数据系统可以仅保存冗余数据的一份存档。一方面是减少存储空间和网络带宽的占用,另一方面是减少数据分析量。现有技术中的常见冗余检测方法是通过比较存储文件的中的数据来检测冗余数据。但是单纯以文件为单位来检测冗余,其粒度太大,不能处理相似数据的部分相同数据,因此需要考虑减小粒度,能够尽可能检测相似数据间的部分冗余数据。
发明内容
本发明实施例的目的在于提供一种大数据的冗余检测方法,以实现够快速查找到冗余数据,对于可能出现的相似数据,有效的降低数据匹配的粒度,可以尽可能的找到相似数据中的冗余数据块。具体技术方案如下:
为了达到上述技术目的,本发明实施例公开了一种大数据的冗余检测方法,所述方法包括:
获取目标数据,并计算所述目标数据的目标哈希值;
判断所述目标哈希值是否包含在预先记录的哈希值集合中;
如果包含,不存储所述目标数据;
如果不包含,将所述目标数据按照预设的划分规则划分成数据块;
计算每一划分得到的数据块的第一哈希值;
针对每一第一哈希值,判断该第一哈希值是否包含在所述数据块的哈希值集合中;
如果包含,则不存储第一哈希值对应的数据块;
如果不包含,则存储该第一哈希值对应的数据块。
可选的,所述目标哈希值为MD5值或sha1值。
可选的,在所述存储该第一哈希值对应的数据块之后,所述方法还包括:
将该数据块的第一哈希值及所述目标哈希值存储至所述哈希值集合。
可选的,在所述存储该数据块的第一哈希值及所述目标哈希值之前,所述方法还包括:
判断该数据块的大小是否小于预设阈值;
如果小于,执行存储该数据块的第一哈希值及所述目标哈希值的步骤。
可选的,在所述存储该第一哈希值对应的数据块之后,所述方法还包括:
对该数据块在所述目标数据中的位置进行扩展,获得一个参考数据块;
计算该参考数据块的哈希值,并判断该参考数据块的哈希值是否记录在哈希值集合;
如果不是,则存储该参考数据块,并将其哈希值记录所述哈希值集合中。
可选的,所述将所述目标数据按照预设的划分规则划分成数据块,包括:
按照预设大小,将所述目标数据划分成数据块。
本发明实施例提供的大数据的冗余检测方法,可以通过检测获取的数据是否为用于数据,能够快速查找到冗余数据,确定获取的数据的数据块是否为冗余的数据。对于可能出现的相似数据,有效的降低数据匹配的粒度,可以尽可能的找到相似数据中的冗余数据块。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的大数据的冗余检测方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的大数据的冗余检测方法的流程示意图,方法包括:
S101:获取目标数据,并计算所述目标数据的目标哈希值。
在本发明实施例中,可以从其他服务器获取目标数据,也可以从客户端获取目标数据。需要说明的是,目标数据的目标哈希值可以是利用哈希算法对目标数据进行哈希计算得到的。
在本发明的一个实施方式中,所述目标哈希值为MD5值或sha1值。
MD5(Message Digest Algorithm,消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。
安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准 (DigitalSignature Standard DSS)里面定义的数字签名算法(Digital Signature AlgorithmDSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。
S102:判断所述目标哈希值是否包含在预先记录的哈希值集合中,如果包含,执行S103,如果不包含,执行S104。
在本发明实施例中,可以在哈希值集合中搜索目标哈希值,如果得到搜索结果,则说明目标哈希值包含在哈希值集合,反之,则说明目标哈希值不包含在哈希值集合。当然还存在其他的方式,判断目标哈希值是否包含在预先记录的哈希值集合中,在此不进行一一列举。
S103:不存储所述目标数据。
全数据的哈希值检测是最基础的检测文件冗余的方法,如果该目标数据的哈希值已经存在,说明系统中已经存储了该目标数据,该目标数据是冗余数据,无需再次存储该目标数据,因此只需要为该目标数据生成一个指针,指向系统中具有相同哈希值的目标数据即可。
S104:将所述目标数据按照预设的划分规则划分成数据块。
在本发明的一个实施方式中,所述将所述目标数据按照预设的划分规则划分成数据块,包括:
将所述目标数据划分为预设数量的数据块。
可以理解的是,将目标数据按照预设的大小进行划分,尽可能保证了每一数据块的哈希值是利用相同的数据量计算得到的。
当然,还存在其他的划分方法,例如将目标数据按照预设的数量进行划分。在此不进行一一列举。
S105:计算每一划分得到的数据块的第一哈希值。
需要说明的是,第一哈希值为数据块的哈希值。计算数据块的第一哈希值的方法与S101中计算目标数据的目标哈希值的方法类似,在此不进行赘述。
S106:针对每一第一哈希值,判断该第一哈希值是否包含在所述数据块的哈希值集合中,如果包含,执行S107,如果不包含,则执行S108。
需要说明的是,对于每一个划分得到的数据块,均会执行S106。S105的原理与S102的原理相同。
S107:删除该第一哈希值对应的数据块。
这一步骤检测了数据块是否在数据块的哈希值表中存在,如果存在,则说明该数据块是冗余数据,同样可以不存储而只保留一个指针指向具有相同哈希值的数据块。
S108:存储该第一哈希值对应的数据块。
如果该第一哈希值不包含在哈希值集合中,说明该第一哈希值对应的数据块不是冗余数据,则进行存储。
在本发明实施例中,在所述存储该第一哈希值对应的数据块之后,方法还可以包括:
将该数据块的第一哈希值及所述目标哈希值存储至所述哈希值集合。
存储第一哈希值和目标哈希值是为以后的大数据的冗余检测提供数据支持。
在本发明的一个实施方式中,在所述存储该数据块的第一哈希值及所述目标哈希值之前,所述方法还包括:
判断该数据块的大小是否小于预设阈值;
如果小于,执行存储该数据块的第一哈希值及所述目标哈希值的步骤。
上述预设阈值是一个预定义的数值,代表了检测时的数据块的大小,如果该数据块的大小小于预设阈值,说明该数据块太小,没有必要为其再划分数据块。
在本发明的一个实施方式中,在所述存储该第一哈希值对应的数据块之后,所述方法还包括:
对该数据块在所述目标数据中的位置进行扩展,获得一个参考数据块;
计算该参考数据块的哈希值,并判断该参考数据块的哈希值是否记录在哈希值集合;
如果不是,则存储该参考数据块,并将其哈希值记录所述哈希值集合中。
与前面的步骤类似,如果判断出该参考数据块是冗余数据,则同样只需要为其生成和保存一个指针,只有非冗余数据时,才存储该参考数据块。
应用本发明实施例,可以通过检测获取的数据是否为用于数据,能够快速查找到冗余数据,确定获取的数据的数据块是否为冗余的数据。对于可能出现的相似数据,有效的降低数据匹配的粒度,可以尽可能的找到相似数据中的冗余数据块。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“ 包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (6)
1.一种大数据的冗余检测方法,其特征在于,所述方法包括:
获取目标数据,并计算所述目标数据的目标哈希值;
判断所述目标哈希值是否包含在预先记录的哈希值集合中;
如果包含,不存储所述目标数据;
如果不包含,将所述目标数据按照预设的划分规则划分成数据块;
计算每一划分得到的数据块的第一哈希值;
针对每一第一哈希值,判断该第一哈希值是否包含在所述数据块的哈希值集合中;
如果包含,则不存储第一哈希值对应的数据块;
如果不包含,则存储该第一哈希值对应的数据块。
2.根据权利要求1所述的方法,其特征在于,所述目标哈希值为MD5值或sha1值。
3.根据权利要求1所述的方法,其特征在于,在所述存储该第一哈希值对应的数据块之后,所述方法还包括:
将该数据块的第一哈希值及所述目标哈希值存储至所述哈希值集合。
4.根据权利要求1所述的方法,其特征在于,在所述存储该数据块的第一哈希值及所述目标哈希值之前,所述方法还包括:
判断该数据块的大小是否小于预设阈值;
如果小于,执行存储该数据块的第一哈希值及所述目标哈希值的步骤。
5.根据权利要求1所述的方法,其特征在于,在所述存储该第一哈希值对应的数据块之后,所述方法还包括:
对该数据块在所述目标数据中的位置进行扩展,获得一个参考数据块;
计算该参考数据块的哈希值,并判断该参考数据块的哈希值是否记录在哈希值集合;
如果不是,则存储该参考数据块,并将其哈希值记录所述哈希值集合中。
6.根据权利要求1所述的方法,其特征在于,所述将所述目标数据按照预设的划分规则划分成数据块,包括:
按照预设大小,将所述目标数据划分成数据块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710646453.5A CN107562794A (zh) | 2017-08-01 | 2017-08-01 | 一种大数据的冗余检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710646453.5A CN107562794A (zh) | 2017-08-01 | 2017-08-01 | 一种大数据的冗余检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107562794A true CN107562794A (zh) | 2018-01-09 |
Family
ID=60974876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710646453.5A Withdrawn CN107562794A (zh) | 2017-08-01 | 2017-08-01 | 一种大数据的冗余检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107562794A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722452A (zh) * | 2012-05-29 | 2012-10-10 | 南京大学 | 一种内存冗余消除方法 |
CN105787107A (zh) * | 2016-03-22 | 2016-07-20 | 南京工程学院 | 一种大数据冗余检测方法 |
CN105824858A (zh) * | 2015-01-09 | 2016-08-03 | 北京大学 | 一种高维向量的哈希方法及装置 |
CN106951506A (zh) * | 2017-03-16 | 2017-07-14 | 北京搜狐新媒体信息技术有限公司 | 数据消重方法及装置 |
-
2017
- 2017-08-01 CN CN201710646453.5A patent/CN107562794A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722452A (zh) * | 2012-05-29 | 2012-10-10 | 南京大学 | 一种内存冗余消除方法 |
CN105824858A (zh) * | 2015-01-09 | 2016-08-03 | 北京大学 | 一种高维向量的哈希方法及装置 |
CN105787107A (zh) * | 2016-03-22 | 2016-07-20 | 南京工程学院 | 一种大数据冗余检测方法 |
CN106951506A (zh) * | 2017-03-16 | 2017-07-14 | 北京搜狐新媒体信息技术有限公司 | 数据消重方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210326885A1 (en) | Method and Apparatus of Identifying a Transaction Risk | |
EP3561674B1 (en) | Method and apparatus for verifying block data in a blockchain | |
EP3482309B1 (en) | Key-value storage system including a resource-efficient index | |
US10380073B2 (en) | Use of solid state storage devices and the like in data deduplication | |
CN108062202A (zh) | 一种文件分块存储方法及系统 | |
US8655919B2 (en) | Storage system and method for updating a hash tree | |
US8898121B2 (en) | Merging entries in a deduplication index | |
CN105447113B (zh) | 一种基于大数据的信息分析方法 | |
CN103226593B (zh) | 一种文件系统的管理方法及其文件存储终端 | |
KR101733000B1 (ko) | 침해 사고 정보 수집 방법 및 장치 | |
CN105468642A (zh) | 数据的存储方法及装置 | |
CN110928497B (zh) | 一种元数据处理方法、装置、设备及可读存储介质 | |
CN108108127A (zh) | 一种文件读取方法及系统 | |
US20130325817A1 (en) | Linear sweep filesystem checking | |
CN110659257B (zh) | 一种元数据对象修复方法、装置、设备及可读存储介质 | |
CN111881448B (zh) | 恶意文件的确定方法及装置 | |
Breitinger et al. | On the database lookup problem of approximate matching | |
CN106980680A (zh) | 数据存储方法及存储设备 | |
CN107391761A (zh) | 一种基于重复数据删除技术的数据管理方法及装置 | |
CN109302383A (zh) | 一种url监控方法及装置 | |
CN105843916A (zh) | 基于文件归并的敏感数据检测方法及设备 | |
CN106354587A (zh) | 镜像服务器以及导出虚拟机镜像文件的方法 | |
CN112132574A (zh) | 区块链数据校验方法、数据处理方法、装置及设备 | |
CN100357943C (zh) | 一种检查机群文件系统中垃圾文件的方法 | |
Kim et al. | Design and implementation of binary file similarity evaluation system |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180109 |