一种重删查询方法、装置、设备和存储介质制造方法及图纸

技术编号:36753157 阅读:21 留言:0更新日期:2023-03-04 10:41
本申请一种重删查询方法,包括:接收写请求,并确定当前接收的写请求对应数据为目标数据;计算目标数据的指纹值得到目标指纹值,并在布谷鸟过滤器中查询目标指纹值;如果在布谷鸟过滤器中查询到目标指纹值,则增加目标数据当前的逻辑地址至目标数据的物理地址的元数据映射,否则,存储目标数据,将目标指纹值加入至布谷鸟过滤器中,并增加目标数据当前的逻辑地址至目标数据的物理地址的元数据映射。本申请能够减少重删元数据到盘上B+树中查询的频率,提升整个存储系统的性能。本申请还提供一种重删查询装置、重删查询设备和计算机可读存储介质,具有上述有益效果。具有上述有益效果。具有上述有益效果。

【技术实现步骤摘要】
一种重删查询方法、装置、设备和存储介质


[0001]本专利技术涉及存储
,更具体地说,涉及一种重删查询方法、装置、设备和存储介质。

技术介绍

[0002]全闪存储系统中,由于SSD盘相比传统机械盘价格要贵很多,所以重删、压缩是全闪存储系统的重要特性。而重删需要元数据的支持,随着系统支持的存储容量增大,元数据也线性增长,以8K为单位的块映射,如果数据量达到几PB,则元数据在TB级别。
[0003]显然,TB界别的元数据给数据查找带来了较大困扰,因此如何有效管理元数据,以实现快速读写数据为本领域技术人员亟待解决的问题。

技术实现思路

[0004]本专利技术的目的是提供一种重删查询方法、重删查询装置、重删查询设备和计算机可读存储介质,能够提高写缓存的磁盘应用性能。
[0005]为了实现上述目的,本申请一种重删查询方法,具体技术方案如下:
[0006]接收写请求,并确定当前接收的写请求对应数据为目标数据;
[0007]计算所述目标数据的指纹值得到目标指纹值,并在布谷鸟过滤器中查询所述目标指纹值;
[0008]若在所述布谷鸟过滤器中查询到所述目标指纹值,则增加所述目标数据当前的逻辑地址至所述目标数据的物理地址的元数据映射,否则,存储所述目标数据,将所述目标指纹值加入至所述布谷鸟过滤器中,并增加所述目标数据当前的逻辑地址至所述目标数据的物理地址的元数据映射。
[0009]可选的,若在所述布谷鸟过滤器中查询到所述目标指纹值时,还包括:
[0010]查询是否存在所述目标指纹值所属的指纹值至物理地址的元数据映射,如果存在,则确定所述目标指纹值所属的指纹值至物理地址的元数据映射中的物理地址为所述目标数据的物理地址,并执行增加所述目标数据当前的逻辑地址至所述目标数据的物理地址的元数据映射的步骤,否则,执行存储所述目标数据的步骤;
[0011]相应的,存储所述目标数据后,增加所述目标指纹值至所述目标数据的物理地址的元数据映射。
[0012]可选的,在布谷鸟过滤器中查询所述目标指纹值前,还包括:
[0013]设置所述布谷鸟过滤器对应的数组结构和链表结构;其中,同一指纹值存于所述数组结构中的两个位置,且所述指纹值为对物理地址对应哈希的部分比特位做的二次哈希值。
[0014]可选的,所述物理地址上数据的哈希值在插入所述数组结构时,还包括:
[0015]通过所述布谷鸟过滤器包含的哈希算法计算所述哈希值在所述数组结构中的插入位置。
[0016]可选的,通过所述布谷鸟过滤器包含的哈希算法计算所述哈希值在所述数组结构中的插入位置时,若所述插入位置存在元素,还包括:
[0017]通过哈希反查函数获取所述哈希值的部分比特位;
[0018]判断所述部分比特位是否相同;
[0019]若相同,对所述哈希值进行精确HP查询;
[0020]若不相同,将所述哈希值插入至所述数组结构对应的所述链表结构中。
[0021]可选的,还包括:
[0022]利用固态硬盘上的控制器管理所述物理地址和对应逻辑地址的映射关系;
[0023]其中,在存储池创建后,对所述物理地址进行整合和重映射;利用存储池的池信息以及存储偏移位置信息对所述逻辑地址进行重编码。
[0024]可选的,确定当前接收的写请求对应数据为目标数据,包括:
[0025]确定当前接收的写请求对应数据块的数据为目标数据;
[0026]相应的,计算所述目标数据的指纹值得到目标指纹值,包括:
[0027]使用预设的哈希算法计算所述目标数据的指纹值得到目标指纹值。
[0028]本申请还提供一种重删查询装置,包括:
[0029]接收模块,用于接收写请求,并确定当前接收的写请求对应数据为目标数据;
[0030]查询模块,用于计算所述目标数据的指纹值得到目标指纹值,并在布谷鸟过滤器中查询所述目标指纹值;
[0031]执行模块,用于如果在所述布谷鸟过滤器中查询到所述目标指纹值,则增加所述目标数据对应写请求中的逻辑地址至所述目标数据的物理地址的元数据映射,否则,存储所述目标数据,将所述目标指纹值加入至所述布谷鸟过滤器中,并增加所述目标数据对应写请求中的逻辑地址至所述目标数据的物理地址的元数据映射。
[0032]可选的,还包括:
[0033]映射查询模块,用于如果在所述布谷鸟过滤器中查询到所述目标指纹值,则查询是否存在所述目标指纹值所属的指纹值至物理地址的元数据映射,如果存在,则确定所述目标指纹值所属的指纹值至物理地址的元数据映射中的物理地址为所述目标数据的物理地址,并执行增加所述目标数据当前的逻辑地址至所述目标数据的物理地址的元数据映射的步骤,否则,执行存储所述目标数据的步骤;
[0034]可选的,还包括:
[0035]过滤器设置模块,用于设置所述布谷鸟过滤器对应的数组结构和链表结构;其中,同一指纹值存于所述数组结构中的两个位置,且所述指纹值为对物理地址对应哈希的部分比特位做的二次哈希值。
[0036]可选的,还包括:
[0037]位置计算模块,用于通过所述布谷鸟过滤器包含的哈希算法计算所述哈希值在所述数组结构中的插入位置。
[0038]可选的,还包括:
[0039]插入模块,用于所述插入位置存在元素时,通过哈希反查函数获取所述哈希值的部分比特位;判断所述部分比特位是否相同;若相同,对所述哈希值进行精确HP查询;若不相同,将所述哈希值插入至所述数组结构对应的所述链表结构中。
[0040]可选的,还包括:
[0041]映射关系管理模块,用于利用固态硬盘上的控制器管理所述物理地址和对应逻辑地址的映射关系;其中,在存储池创建后,对所述物理地址进行整合和重映射;利用存储池的池信息以及存储偏移位置信息对所述逻辑地址进行重编码。
[0042]可选的,接收模块包括:
[0043]数据确定单元,用于确定当前接收的写请求对应数据块的数据为目标数据;
[0044]相应的,所述查询模块包含:
[0045]哈希计算单元,用于使用预设的哈希算法计算所述目标数据的指纹值得到目标指纹值。
[0046]本申请一种重删查询方法,包括:接收写请求,并确定当前接收的写请求对应数据为目标数据;计算所述目标数据的指纹值得到目标指纹值,并在布谷鸟过滤器中查询所述目标指纹值;如果在所述布谷鸟过滤器中查询到所述目标指纹值,则增加所述目标数据当前的逻辑地址至所述目标数据的物理地址的元数据映射,否则,存储所述目标数据,将所述目标指纹值加入至所述布谷鸟过滤器中,并增加所述目标数据当前的逻辑地址至所述目标数据的物理地址的元数据映射。
[0047]本申请在接收到写请求后,计算相应的目标指纹值,并在布谷鸟过滤器中查询目标指纹值,一旦查询到,直接增加该目标数据当前逻辑地址,若是未查询到目标指纹值,则存储目标数据并添加目标指纹值和该目标数据物理地址的元数据映射,从而无需查询B本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种重删查询方法,其特征在于,包括:接收写请求,并确定当前接收的写请求对应数据为目标数据;计算所述目标数据的指纹值得到目标指纹值,并在布谷鸟过滤器中查询所述目标指纹值;若在所述布谷鸟过滤器中查询到所述目标指纹值,则增加所述目标数据当前的逻辑地址至所述目标数据的物理地址的元数据映射,否则,存储所述目标数据,将所述目标指纹值加入至所述布谷鸟过滤器中,并增加所述目标数据当前的逻辑地址至所述目标数据的物理地址的元数据映射。2.根据权利要求1所述的重删查询方法,其特征在于,若在所述布谷鸟过滤器中查询到所述目标指纹值时,还包括:查询是否存在所述目标指纹值所属的指纹值至物理地址的元数据映射;如果存在,则确定所述目标指纹值所属的指纹值至物理地址的元数据映射中的物理地址为所述目标数据的物理地址,并执行增加所述目标数据当前的逻辑地址至所述目标数据的物理地址的元数据映射的步骤;否则,执行存储所述目标数据的步骤;相应的,存储所述目标数据后,增加所述目标指纹值至所述目标数据的物理地址的元数据映射。3.根据权利要求1所述的重删查询方法,其特征在于,在布谷鸟过滤器中查询所述目标指纹值前,还包括:设置所述布谷鸟过滤器对应的数组结构和链表结构;其中,同一指纹值存于所述数组结构中的两个位置,且所述指纹值为对物理地址对应哈希的部分比特位做的二次哈希值。4.根据权利要求3所述的重删查询方法,其特征在于,所述物理地址上数据的哈希值在插入所述数组结构时,还包括:通过所述布谷鸟过滤器包含的哈希算法计算所述哈希值在所述数组结构中的插入位置。5.根据权利要求4所述的重删查询方法,其特征在于,通过所述布谷鸟过滤器包含的哈希算法计算所述哈希值在所述数组结构中的插入位置时,若所述插入位置存在元素,还包括:通过哈...

【专利技术属性】
技术研发人员:王见孙京本李佩
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:

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

1