数据块构建及比较方法、装置、介质及设备制造方法及图纸

技术编号:28117185 阅读:28 留言:0更新日期:2021-04-19 11:16
本文是关于一种数据块构建及比较方法、装置、介质及设备。该方法包括:根据比较任务确定N个子数据块,将N个子数据块填充到数据块中;生成与所述N个子数据块的内容一一对应的N个哈希指纹;将所述N个哈希指纹加入到所述数据块中。在进行数据块相似性比较时,直接提取待比较的多个数据块中的哈希指纹或哈希指纹列表,基于哈希指纹或哈希指纹列表确定多个数据块的相似度系数,避免对大数据进行切分并计算哈希指纹的过程,节省计算时间,提高效率。提高效率。提高效率。

【技术实现步骤摘要】
数据块构建及比较方法、装置、介质及设备


[0001]本文涉及分布式存储,尤其涉及数据块构建及比较方法、装置、介质及设备。

技术介绍

[0002]相关存储技术中,数据块(Oracle Data Blocks)是最小的存储单位,数据存放在“数据块”中,一个数据块占用一定的磁盘空间。
[0003]在使用数据块存储的过程中,通常会有比较两个数据块的内容是否高度相似的场景。为了比较两个数据块的相似性,现有技术中一般采用:将数据块按某种方式切块,针对每一小块的数据计算哈希指纹,然后利用相似系数比较有限样本集(即数据块对应的小数据块的哈希指纹集合)之间的相似性与差异性,系数值越大,样本相似度越高。而数据块在比较前必须进行数据切分,并进行哈希指纹的计算,最后才能利用算法进行比较。在大数据块的切分和哈希指纹的计算上将耗费大量时间,实现比较的时间成本和空间成本都非常高,对于一般企业而言,这样的成本几乎是不可接受的。

技术实现思路

[0004]为克服相关技术中存在的问题,本文提供一种数据块构建及比较方法、装置、介质及设备。
[0005]根据本文的第一方面,提供一种数据块构建方法,包括:
[0006]根据比较任务确定N个子数据块,将N个子数据块填充到数据块中;
[0007]生成与所述N个子数据块的内容一一对应的N个哈希指纹;
[0008]将所述N个哈希指纹加入到所述数据块中。
[0009]所述生成与所述N个子数据块的内容一一对应的N个哈希指纹包括:
[0010]分别读取所述N个子数据块的内容,按所述子数据块的内容生成内容哈希指纹;
[0011]或者,读取所述N个子数据块的索引名,根据所述索引名生成索引名哈希指纹,所述索引名基于子数据块的内容哈希指纹确定。
[0012]所述索引名基于子数据块的内容哈希指纹确定包括:
[0013]以所述子数据块的内容哈希指纹的部分或全部作为所述子数据块的索引名;或者,
[0014]以所述子数据块的内容哈希指纹的部分或全部作为所述子数据块的索引名的一部分。
[0015]将所述N个哈希指纹加入到所述数据块中包括:将所述N个哈希指纹生成哈希指纹列表,并保存在数据块中。
[0016]所述N个子数据块的数量根据比较任务的准确度需求确定,所述N个子数据块的大小根据执行比较任务的服务器性能确定。
[0017]提供一种数据块比较方法,包括:
[0018]提取待比较的多个数据块的哈希指纹或哈希指纹列表;
[0019]基于所述哈希指纹或哈希指纹列表确定所述多个数据块的相似度系数;
[0020]根据所述相似度系数,确定所述多个数据块的相似性。
[0021]所述相似度系数为杰卡德系数;所述根据所述相似度系数,确定所述多个数据块的相似性包括:所述杰卡德系数越接近1,则所述多个数据块的相似性越高。
[0022]根据本文的另一方面,提供一种数据块构建装置,包括:
[0023]构建模块,用于根据比较任务确定N个子数据块;
[0024]填充模块,用于将N个子数据块填充到数据块中;
[0025]哈希指纹生成模块,用于生成与所述N个子数据块的内容一一对应的N个哈希指纹;
[0026]哈希指纹加入模块,用于将所述N个哈希指纹加入到所述数据块中。
[0027]所述哈希指纹生成模块用于:
[0028]分别读取所述N个子数据块的内容,按所述子数据块的内容生成内容哈希指纹;
[0029]或者,读取所述N个子数据块的索引名,根据所述索引名生成索引名哈希指纹,所述索引名基于子数据块的内容哈希指纹确定。
[0030]所述索引名根据子数据块的内容哈希指纹确定包括:
[0031]以所述子数据块的内容哈希指纹的部分或全部作为所述子数据块的索引名;或者,
[0032]以所述子数据块的内容哈希指纹的部分或全部作为所述子数据块的索引名的一部分。
[0033]所述哈希指纹加入模块将所述N个哈希指纹生成指纹列表,并保存在数据块中。
[0034]所述N个子数据块的数量根据比较任务的准确度需求确定,所述N个子数据块的大小根据执行比较任务的服务器性能确定。
[0035]一种数据块比较装置,包括:
[0036]哈希指纹提取模块,用于提取待比较的多个数据块中的哈希指纹或哈希指纹列表;
[0037]比较模块,用于基于所述哈希指纹或哈希指纹列表确定所述多个数据块的相似度系数;
[0038]相似度确定模块,用于根据所述相似度系数,确定所述多个数据块的相似性。
[0039]所述相似度系数为杰卡德系数;所述确定模块确定所述多个数据块的相似性包括:所述杰卡德系数越接近1,则所述多个数据块的相似性越高。
[0040]根据本文的另一方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现数据块构建及比较方法的步骤。
[0041]根据本文的另一方面,提供一种计算机设备,包括处理器、存储器和存储于所述存储器上的计算机程序,所述处理器执行所述计算机程序时实现数据块构建及比较方法的步骤。
[0042]本文通过数据块构建及比较方法,在构建数据块过程中,将与子数据块内容一一对应的哈希指纹存储在数据块中,在数据块比较的时候,可以实现快速提取哈希指纹,比较多个数据块的相似性,避免了在数据块比较时进行切块和计算切块的哈希指纹所耗费的大量时间。
[0043]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本文。
附图说明
[0044]构成本文的一部分的附图用来提供对本文的进一步理解,本文的示意性实施例及其说明用于解释本文,并不构成对本文的不当限定。在附图中:
[0045]图1是根据一示例性实施例示出的一种数据块构建方法的流程图。
[0046]图2是根据一示例性实施例示出的一种数据块比较方法的流程图。
[0047]图3是根据一示例性实施例示出的一种数据块构建装置的框图。
[0048]图4是根据一示例性实施例示出的一种数据块比较装置的框图。
具体实施方式
[0049]为使本文实施例的目的、技术方案和优点更加清楚,下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。需要说明的是,在不冲突的情况下,本文中的实施例及实施例中的特征可以相互任意组合。
[0050]图1是根据一示例性实施例示出的一种数据块构建方法的流程图。参考图1,数据块构建方法包括:
[0051]步骤S11,根据比较任务确定N个子数据块,将N个子数据块填充到数据块中;
[0052]步骤S12,生成与N个子数据块的内容一一对应的N个哈希指纹;<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据块构建方法,其特征在于,包括:根据比较任务确定N个子数据块,将所述N个子数据块填充到数据块中;生成与所述N个子数据块的内容一一对应的N个哈希指纹;将所述N个哈希指纹加入到所述数据块中。2.如权利要求1所述的数据块构建方法,其特征在于,所述生成与所述N个子数据块的内容一一对应的N个哈希指纹包括:分别读取所述N个子数据块的内容,按所述子数据块的内容生成内容哈希指纹;或者,读取所述N个子数据块的索引名,根据所述索引名生成索引名哈希指纹,所述索引名基于子数据块的内容哈希指纹确定。3.如权利要求2所述数据块构建方法,其特征在于,所述索引名基于子数据块的内容哈希指纹确定包括:以所述子数据块的内容哈希指纹的部分或全部作为所述子数据块的索引名;或者,以所述子数据块的内容哈希指纹的部分或全部作为所述子数据块的索引名的一部分。4.如权利要求1所述的数据块构建方法,其特征在于,将所述N个哈希指纹加入到所述数据块中包括:将所述N个哈希指纹生成哈希指纹列表,并保存在数据块中。5.如权利要求1-4任一所述的数据块构建方法,其特征在于,所述N个子数据块的数量根据比较任务的准确度需求确定,所述N个子数据块的大小根据执行比较任务的服务器性能确定。6.一种数据块比较方法,其特征在于,包括:提取待比较的多个数据块的哈希指纹或哈希指纹列表;基于所述哈希指纹或哈希指纹列表确定所述多个数据块的相似度系数;根据所述相似度系数,确定所述多个数据块的相似性。7.如权利要求6所述的数据块比较方法,其特征在于,所述相似度系数为杰卡德系数;所述根据所述相似度系数,确定所述多个数据块的相似性包括:所述杰卡德系数越接近1,则所述多个数据块的相似性越高。8.一种数据块构建装置,其特征在于,包括:构建模块,用于根据比较任务确定N个子数据块;填充模块,用于将N个子数据块填充到数据块中;哈希指纹生成模块,用于生成与所述N个子数据块的内容一一对应的N个哈...

【专利技术属性】
技术研发人员:李文博吴义谱
申请(专利权)人:北京白山耘科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1