【技术实现步骤摘要】
用于管理哈希表的方法、设备和计算机程序产品
本公开的实施例涉及数据存储领域,并且更具体地,涉及用于管理哈希表的方法、设备及计算机程序产品。
技术介绍
随着信息时代的来临,需要存储的数据指数级增长。消除冗余技术也越来越被广泛地利用,以减少存储开销并提高存储效率。消除冗余技术是指通过判断需要插入的数据已经被存储于存储装置中,而不再插入新的冗余数据。目前,通常在存储器中管理哈希表,以使得能够快速地判断数据是否冗余,从而避免数据被重复写入。然而当后端存储器的容量很大时,哈希表的规模将受限于存储器的容量。因而,如何有效地管理哈希表将成为一个关注焦点。
技术实现思路
有鉴于此,本公开的实施例提供了一种用于管理哈希表的方案。根据本公开的第一方面,提出了一种用于管理哈希表的方法。该方法包括:响应于接收到写入请求,确定与该写入请求相关联的第一哈希值是否存储于哈希表集合中,该哈希表集合包括至少第一哈希表和第二哈希表,该第一哈希表为第一存储设备中当前有效的哈希表,该第二哈希表存储于第二存储设备中,该第一存储设备的访问速度快于该第二存储设备;响应于确定该第一哈希值未存储于该哈希表集合中并且哈希该第一哈希表已满,将该第一存储设备中预分配的第三哈希表作为该第一存储设备中当前有效的哈希表;向该第三哈希表中写入第一条目,其包括该第一哈希值;以及将该第一哈希表中的哈希值与该第二哈希表中的哈希值进行合并以便存储到该第二存储设备中。根据本公开的第二方面,提出了一种用于管理哈希表的设备。该设备包括:至少一个处理单元;至少一个存储器,该至少一个存储器被耦合到该至少一个处理单元并且存储用于由该至少一个处 ...
【技术保护点】
1.一种用于管理哈希表的方法,包括:响应于接收到写入请求,确定与所述写入请求相关联的第一哈希值是否存储于哈希表集合中,所述哈希表集合包括至少第一哈希表和第二哈希表,所述第一哈希表为第一存储设备中当前有效的哈希表,所述第二哈希表存储于第二存储设备中,所述第一存储设备的访问速度快于所述第二存储设备;响应于确定所述第一哈希值未存储于所述哈希表集合中并且哈希所述第一哈希表已满,将所述第一存储设备中预分配的第三哈希表作为所述第一存储设备中当前有效的哈希表;向所述第三哈希表中写入第一条目,所述第一条目包括所述第一哈希值;以及将所述第一哈希表中的条目与所述第二哈希表中的条目进行合并以便存储到所述第二存储设备中。
【技术特征摘要】
1.一种用于管理哈希表的方法,包括:响应于接收到写入请求,确定与所述写入请求相关联的第一哈希值是否存储于哈希表集合中,所述哈希表集合包括至少第一哈希表和第二哈希表,所述第一哈希表为第一存储设备中当前有效的哈希表,所述第二哈希表存储于第二存储设备中,所述第一存储设备的访问速度快于所述第二存储设备;响应于确定所述第一哈希值未存储于所述哈希表集合中并且哈希所述第一哈希表已满,将所述第一存储设备中预分配的第三哈希表作为所述第一存储设备中当前有效的哈希表;向所述第三哈希表中写入第一条目,所述第一条目包括所述第一哈希值;以及将所述第一哈希表中的条目与所述第二哈希表中的条目进行合并以便存储到所述第二存储设备中。2.根据权利要求1所述的方法,其中将所述第一哈希表中的条目与所述第二哈希表中的条目进行合并包括:确定所述第一哈希表中的条目数目与所述第二哈希表中的条目数目之和是否达预定阈值;以及响应于所述和低于所述预定阈值,将所述第一哈希表中的条目和所述第二哈希表中的条目按哈希值大小顺序写入到所述第二哈希表中。3.根据权利要求2所述的方法,还包括:响应于所述和达到所述预定阈值,将所述第一哈希表中的条目和所述第二哈希表中的条目按哈希值大小顺序写写入到预分配的第四哈希表中。4.根据权利要求2或3所述的方法,还包括:从所述第一存储设备中移除所述第一哈希表。5.根据权利要求1所述的方法,还包括:响应于接收到删除请求,确定所述第三哈希表是否已满;以及响应于确定所述第三哈希表未满,向所述第三哈希表写入第二条目,所述第二条目包括与所述用户删除请求相关联的第二哈希值;以及在所述第三哈希表中对所述第二条目进行标记以指示所述第二哈希值将要被删除。6.根据权利要求5所述的方法,其中将所述第一哈希表中的条目与所述第二哈希表中的条目进行合并包括:确定所述第一哈希表和所述第二哈希表中是否存在未被标记的第三条目,所述第三条目包括所述第二哈希值;以及响应于所述第三哈希表或所述第二哈希表中存在所述第三条目,从所述第一哈希表或所述第二哈希表中删除所述第二条目和所述第三条目。7.根据权利要求1所述的方法,其中确定第一哈希值是否存储于哈希表集中包括:确定所述第一哈希值是否存储于所述第一哈希表中;响应于所述第一哈希值未存储于所述第一哈希表中,使用布隆过滤器将所述第一哈希值映射到多个位,所述布隆过滤器与所述第二哈希表相关联;以及响应于确定所述多个位中存在零位,确定所述第一哈希值未存储于所述第二哈希表中。8.根据权利要求7述的方法,还包括:响应于所述多个位中无零位,基于页面索引确定所述第二哈希表中与所述第一哈希值相关联的页面,所述页面索引存储于所述第一存储设备中;以及从所述页面中查询所述第一哈希值。9.根据权利要求7述的方法,其中所述布隆过滤器存储于所述第一存储设备中。10.根据权利要求1所述的方法,其中在确定所述第一哈希值是否存储于哈希表集合中前还包括:基于所述第一哈希值,从多个哈希表集合中确定与所述第一哈希表相关联的哈希表集合。11.一种用于管理哈希表的设备,包括:至少一个处理单元;至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述设备执行动作...
【专利技术属性】
技术研发人员:何哲,高雷,方皓,李志强,陈欢,
申请(专利权)人:伊姆西IP控股有限责任公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。