[发明专利]一种根据数据量的大小动态调节哈希表组的方法有效

专利信息
申请号: 201910692326.8 申请日: 2019-07-30
公开(公告)号: CN110413617B 公开(公告)日: 2021-08-10
发明(设计)人: 高银康;王俊昌;朱彤;张阳阳 申请(专利权)人: 南京邮电大学
主分类号: G06F16/22 分类号: G06F16/22;G06F16/23;G06F16/2455
代理公司: 南京苏高专利商标事务所(普通合伙) 32204 代理人: 柏尚春
地址: 210023 江*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 根据 数据量 大小 动态 调节 哈希表组 方法
【说明书】:

发明公开了一种根据数据量的大小动态调节哈希表组的方法,该方法根据用户指令在哈希表组中进行相应的元素查询操作、元素删除操作或元素插入操作,并实时记录当前哈希表组中已插入元素的个数;在执行元素插入操作时,若当前哈希表组已被插满,将在最后一张哈希表后新增哈希表用于完成插入;在当前哈希表组中已插入元素的个数低于阈值时,进行表删除操作。本发明能够动态地对哈希表组进行调节且能更好应对哈希冲突的哈希表,同时也可以有效解决哈希表存满新元素无法进入和元素较少空间浪费等常见问题。

技术领域

本发明涉及一种调节哈希表组的方法,尤其涉及一种根据数据量的大小动态调节哈希表组的方法。

背景技术

非关系型数据库是一种不同于传统关系型数据库,非关系型的、分布式的、不严格遵循ACID原则并且具有扩展简单,高并发,高稳定性等优点的新型数据存储系统,而其中key-value存储备受关注,已成为NoSQL的代名词。NoSQL目前广泛应用在新浪微博,淘宝,视觉中国网站等各大互联网平台。该数据库主要运用的是根据关键码值(Key-value)而直接进行访问的数据结构,它通过把关键码值映射到哈希表中一个位置来访问记录,以加快查找的速度。而在需要处理海量数据的互联网平台,由于对数据库的及时性、可靠性以及扩展性要求较高,为其设计的哈希表也应该具有并行强度高和灵活性高的特点,尤其是在原有的哈希表产生哈希冲突时,哈希表如何应对处理的问题已成为这一领域急需解决的难题。

通常解决哈希冲突的一个有效方法是采用“cuckoo hash”,其主要原理是利用多个哈希函数,把同一元素散列到不同表中,以此来解决哈希冲突。但是在数据量较大且数据量变化较大时,cuckoo hash可能会出现哈希表存满,新元素无法存入,元素较少空间浪费或元素替换进入死循环等一系列问题,这些都会对哈希表的正常运转产生影响,使整个系统运行性能降低,甚至陷入瘫痪。

发明内容

发明目的:为克服现有技术的缺陷,本发明提出了一种根据数据量的大小动态调节哈希表组的方法。

技术方案:本发明的根据数据量的大小动态调节哈希表组的方法,其特征在于,包括:接收用户指令,所述用户指令包括查询指令、删除指令或插入指令;根据所述用户指令在哈希表组中进行相应的元素查询操作、元素删除操作或元素插入操作,并实时记录当前哈希表组中已插入元素的个数;所述元素插入操作包括:基于所述用户指令分析出待插入元素,根据插入规则将所述待插入元素插入当前哈希表组中;所述插入规则包括在确定当前哈希表组已被插满后,在当前最后一张哈希表后新增一张哈希表用于完成插入;在当前哈希表组中已插入元素的个数是否低于阈值时,执行表删除操作,所述表删除操作包括:将当前最后一张哈希表作为待删除哈希表,遍历其中的每一元素,每遍历到一个元素,将当前元素复制到其余哈希表中,且在遍历完成后将所述待删除哈希表删除。

进一步地,所述阈值与当前哈希表组中哈希表的数目成正比。

进一步地,所述元素查询操作、所述元素删除操作或所述元素插入操作与所述哈希表删除操作是并行执行的。

进一步地,所述哈希表组中的每一元素具有相应的状态位,所述状态位为第一值、第二值和第三值中的一者。

进一步地,所述表删除操作中,将当前元素复制到其余哈希表中具体包括:运用原子操作将当前元素的状态位设为所述第二值;创建当前元素的副本元素,将副本元素按照所述插入规则插入除所述待删除表外的其余哈希表中,并在插入成功后判断所述当前元素的状态位是否变为所述第三值,若变为所述第三值则删除插入成功的副本元素;反之,则保留复制后的元素。

进一步地,所述元素查询操作包括:基于所述查询指令确定待查询元素,在整个哈希表组中查询是否存在数据位与所述待查询元素匹配的元素;当存在匹配的元素时:若查询到的元素的状态位为所述第一值或所述第二值,则反馈查询成功;若查询到的元素的状态位的值为所述第三值,则反馈查询失败;当不存在匹配的元素时,则反馈查询失败。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910692326.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top