[发明专利]数据处理的方法和装置有效
申请号: | 201680058640.5 | 申请日: | 2016-12-30 |
公开(公告)号: | CN109076021B | 公开(公告)日: | 2020-09-11 |
发明(设计)人: | 张丰伟;张学仓;德鲁日宁·伊戈尔;王元钢 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L12/743 | 分类号: | H04L12/743 |
代理公司: | 北京龙双利达知识产权代理有限公司 11329 | 代理人: | 时林;毛威 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据处理 方法 装置 | ||
一种数据处理的方法(200)和装置。该方法(200)包括:从第N+1级哈希表包括的多个位置中确定负载最小的位置为目标位置,所述多个位置为第一哈希数据在所述第N级哈希表中的候选位置在所述第N+1级哈希表中对应的位置,所述第一哈希数据为待插入所述第N级哈希表中的哈希数据(S210);将所述第N级哈希表中的第二哈希数据迁移至所述目标位置,其中,所述第二哈希数据为所述目标位置在所述第N级哈希表中对应的位置存储的哈希数据(S220);将所述第一哈希数据插入所述候选位置(S230)。上述方法和装置可以减小第N+1级哈希表中哈希冲突的概率,提高第N+1级哈希表的读写效率。
技术领域
本申请涉及存储领域,尤其涉及一种数据处理的方法和装置。
背景技术
存储系统中可以采用哈希(Hash)表来存储数据,哈希表是一种数据存储的索引方式。例如,存储系统可以根据需要存储的数据的唯一索引(比如KV(Key Value,键值)存储系统中的数据项中的key)、给定的哈希函数和哈希表的容量,计算出一个哈希值,从而将数据(比如KV存储系统中的value)存储在该哈希值指示的存储位置(以下,如无特别说明,“存储位置”均指哈希值所指示的存储介质中的位置)上。在查询时,根据给定的索引,给定的哈希函数和表容量,计算出哈希值,进而在该哈希值指示的存储位置进行查找。
由于哈希表的容量有限,会出现两个不同的索引经过计算得到哈希值位于哈希表中相同的位置,这种情况称为哈希冲突。当出现哈希冲突时,一种情况下,会重新调整哈希表的容量。另一种情况下,可以将冲突的索引存储在哈希表中的其它位置,然后在冲突位置放置一个指针,指示该冲突的索引在哈希表中的位置。随着数据量的增大,哈希表中冲突的元素(索引或者指针)也会越来越多,从而导致哈希表的读写效率越来越差。
发明内容
有鉴于此,本申请提供了一种数据处理的方法和装置,能够提高哈希表的读写效率。
一方面,提供了一种数据处理的方法,所述方法应用于存储系统,所述存储系统包括多级哈希表,所述多级哈希表用于存储数据,所述多级哈希表包括第N级哈希表和第N+1级哈希表,所述N≥0且所述N为整数,所述方法包括:从所述第N+1级哈希表包括的多个位置中确定负载最小的位置为目标位置,所述多个位置为第一哈希数据在所述第N级哈希表中的候选位置在所述第N+1级哈希表中对应的位置,所述第一哈希数据为待插入所述第N级哈希表中的哈希数据;将所述第N级哈希表中的第二哈希数据迁移至所述目标位置,其中,所述第二哈希数据为所述目标位置在所述第N级哈希表中对应的位置存储的哈希数据;将所述第一哈希数据插入所述候选位置。
根据本申请实施例提供的数据处理的方法,在向第N+1级哈希表中插入哈希数据时,从第N+1级哈希表中确定负载最小的位置为目标位置,并将第N级哈希表中的哈希数据插入该目标位置,提高了第N+1级哈希表的负载均衡度,从而可以减小第N+1级哈希表中哈希冲突的概率,提高第N+1级哈希表的读写效率。
可选地,所述从所述第N+1级哈希表包括的多个位置中确定负载最小的位置为目标位置,包括:从所述多个位置中确定第一位置,其中,所述第一位置为所述多个位置中负载最大的位置;将所述第一位置存储的第三哈希数据迁移至所述多级哈希表中的第N+2级哈希表;确定所述第一位置为所述目标位置。
根据本申请实施例提供的数据处理的方法,通过将第N+1级哈希表中负载最大的位置存储的哈希数据迁移至第N+2级哈希表,然后将该位置作为目标位置,减少了第N+1级哈希表中的哈希数据,从而进一步减少了第N+1级哈希表中哈希冲突的概率,提高第N+1级哈希表的读写效率。
可选地,所述从所述多个位置中确定第一位置,包括:当所述多个位置中的第二位置不能插入所述第二哈希数据时,从所述多个位置中确定所述第一位置,其中,所述第二位置为将所述第三哈希数据迁移至所述第N+2级哈希表之前所述多个位置中负载最小的位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680058640.5/2.html,转载请声明来源钻瓜专利网。