【技术实现步骤摘要】
一种大数据冗余检测方法
本专利技术属于计算机和互联网领域,尤其涉及大数据领域,具体的,涉及一种大数据的冗余检测方法。
技术介绍
随着计算机和互联网技术的快速发展,我们处在了一个信息爆炸的时代,为了处理大量的信息,出现了大数据的概念。所谓大数据,是指无法在可承受的时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。由于数据的海量特性,人们仅仅凭一己之力很难对这些数据这些分析,但是在以云计算为代表的技术创新大幕的衬托下,这些原本很难收集和使用的数据开始容易被利用起来了,通过各行各业的不断创新,大数据逐步为人类创造更多的价值。但是,尽管用于做大数据分析的计算机越来越多,性能越来越好,但是面对海量数据仍然力不从心,因此大数据分析的第一步,是检测和消除其中的相同数据,即冗余数据,通过冗余数据检测,大数据系统可以仅保存冗余数据的一份存档,其余的冗余数据改以指针代替,指向上述存档。一方面是减少存储空间和网络带宽的占用,另一方面是减少数据分析量。现有技术中的常见冗余检测方法是通过比较存储文件的哈希值来检测冗余数据。但是单纯以文件为单位来检测冗余,其粒度太大,不能处理相似文件中的部分相同数据,因此需要考虑减小粒度,能够尽可能检测相似文件间的部分冗余数据。
技术实现思路
为了解决现有技术中的上述问题,本专利技术提出了一种大数据冗余检测方法,该方法能够快速查找到冗余数据,对于可能出现的相似文件,有效的降低数据匹配的粒度,可以尽可能的找到相似文件中的冗余数据块。本专利技术 ...
【技术保护点】
一种大数据冗余检测方法,其特征在于,该方法包括如下步骤:1)在大数据系统的数据库内建立所有文件的哈希值表FH_table以及各个数据块的哈希值表BH_table;2)当大数据系统需要存储一个新文件时,计算该文件的哈希值,同时检查FH_table里是否存储有该文件的哈希值,如果有,则确认该文件是冗余数据,方法结束;如果没有,则在FH_table中记录该文件的哈希值;3)将该文件作为一个数据单元加入数据检测集合,该数据检测集合是待检测的数据单元的集合;4)判断该数据检测集合是否为空集,如果是,则方法结束,如果不是,继续执行后续步骤;5)从数据检测集合中取出一个数据单元,计算该数据单元的哈希值,检测BH_table和FH_table里是否有该数据单元的哈希值,如果有,则确认该数据单元是冗余数据,并返回步骤4;如果没有,则继续后续步骤;6)判断该数据单元的大小是否小于Blocksize,所述Blocksize是一个预定义的阈值,如果小于,则存储该数据单元,并将该数据单元的哈希值记录在BH_table中,同时返回步骤4,否则继续后续步骤;7)设该数据单元的大小为L字节,随机生成一个自然数R,使得 ...
【技术特征摘要】
1.一种大数据冗余检测方法,其特征在于,该方法包括如下步骤:1)在大数据系统的数据库内建立所有文件的哈希值表FH_table以及各个数据块的哈希值表BH_table;2)当大数据系统需要存储一个新文件时,计算该文件的哈希值,同时检查FH_table里是否存储有该文件的哈希值,如果有,则确认该文件是冗余数据,方法结束;如果没有,则在FH_table中记录该文件的哈希值;3)将该文件作为一个数据单元加入数据检测集合,该数据检测集合是待检测的数据单元的集合;4)判断该数据检测集合是否为空集,如果是,则方法结束,如果不是,继续执行后续步骤;5)从数据检测集合中取出一个数据单元,计算该数据单元的哈希值,检测BH_table和FH_table里是否有该数据单元的哈希值,如果有,则确认该数据单元是冗余数据,并返回步骤4;如果没有,则继续后续步骤;6)判断该数据单元的大小是否小于Blocksize,所述Blocksize是一个预定义的阈值,如果小于,则存储该数据单元,并将该数据单元的哈希值记录在BH_table中,同时返回步骤4,否则继续后续步骤;7)设该数据单元的大小为L字节,随机生成一个自然数R,使得其满足1≤R≤L-Blocksize+1;从而在该数据单元中确定一个定长数据块,该定长数据块包括该数据单元的第R个字节到第R+Blocksize-1个字节;8)对该数据块在数据单元中的位置进行扩展,获得一个不定长数据块;9)计算所述不定长数据块的哈希值,判断该不定长数据块的哈希值是否记录在BH_table或FH_table中,如果是,则该不定长数据块是冗余数据;如果不是,则存储该不定长数据块,并将其哈希值记录在BH_table中;10)将所述数据单元去除该不定长数据块后,所剩下的每个数据块都作为一个数据单元加入数据检测集合,并返回步骤4。2.根据权利要求1所述的一种大数据冗余检测方法,其特征在于:所述的步骤8)中对数据块在数据单元中的位置进行扩展的具体步骤如下:8.1)判断该数据块的前边界是否是该数据单元的第1个字节,如果是,则转步骤8.3,否则继续后续步骤;8.2)获取该数据块的前边界的字节,计算其是否满足预定的条件,如果不满足,则将该数据块的前边界向前移动一个字节,并返回步骤8.1,否则继续执行后续步骤;8.3)判断该数据块的后边界是否为数据单元的最后一个字节,如果是,扩展方法结束,否则继续后续步骤;8.4)获取该数据块后边界的字节,计算其是否满...
【专利技术属性】
技术研发人员:王丹华,黄陈蓉,范大娟,张建德,
申请(专利权)人:南京工程学院,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。