[发明专利]一种用于大型数据库哈希表的优化方法及存储介质有效

专利信息
申请号: 202210812875.6 申请日: 2022-07-12
公开(公告)号: CN114896257B 公开(公告)日: 2022-09-23
发明(设计)人: 江大白;孙礼锐;胡增;沈丁山 申请(专利权)人: 中用科技有限公司
主分类号: G06F16/22 分类号: G06F16/22;G06F16/245;G06F16/2458
代理公司: 合肥天明专利事务所(普通合伙) 34115 代理人: 谢中用
地址: 230601 安徽省合肥市经济技术*** 国省代码: 安徽;34
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 用于 大型 数据库 哈希表 优化 方法 存储 介质
【说明书】:

发明涉及数据库技术领域,公开了一种用于大型数据库哈希表的优化方法、存储介质,将当前哈希表中链表修改为哈希环,通过及时检测热点存储对象,移动链表指针,适应热点改变。

技术领域

本发明涉及数据库技术领域,具体涉及一种用于大型数据库哈希表的优化方法、存储介质。

背景技术

内存键值数据库,如Redis、Memcached、RamCloud以及他们的各种变种,是存储基础架构(例如数据库,文件系统)中的重要组件。他们将经常访问的数据储存在内存中以加快访问速度,提供低延迟和高性能的数据访问,并作为现代互联网服务的基础设施为众多服务商、在众多领域提供服务。

哈希索引是内存键值数据库中最流行的内存结构,尤其是在上层应用程序不需要范围查询时,能够对于单个数据的查询提供很高性能的查询。一般的哈希索引设计中不存在对于热点数据的处理,针对哈希冲突的情况一般使用拉链法解决,冲突的链表越长,需要访问的内存次数就越多。

一般通过数组实现哈希表的数据存储,对于一个键值对(Key-Value),哈希表(Hashtable)通过哈希函数将键Key转换成一个整型数字,然后就将该数字对数组长度进行取余,取余结果就当作数组的下标,将值Value存储在以该数字为下标的数组空间里。或者把任意长度的输入,通过散列算法变换成固定长度的输出,该输出就是散列值,这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出。

目前数据库内部热点问题存在愈发严重的趋势,现有数据库缺乏热点感知能力,同时哈希索引无法解决热点数据访问瓶颈问题,这使得在处理热点相关问题时数据库整体性能变得很差,在高度倾斜的工作负载下显得不可靠。

因此需要一种自动热点感知的哈希表,对热点数据进行高效访问。

发明内容

为解决上述技术问题,本发明提供一种用于大型数据库哈希表的优化方法。

为解决上述技术问题,本发明采用如下技术方案:

一种用于大型数据库哈希表的优化方法,包括以下步骤:

步骤一:数组a的每一项元素a[i]中存储有一个链表指针Headi,将链表指针Headi至多指向一个环形链表Ci;环形链表中每个存储对象itemk均指向下一个存储对象itemk+1且首尾相连,同一个环形链表中每个存储对象的键的哈希值相同,其中1≤i≤I,I为数组a中元素数量;

步骤二:对每一个环形链表中的存储对象按照键的大小进行排序,使得环形链表中下一个存储对象的键keyk+1不大于当前存储对象的键keyk,或者使得环形链表中下一个存储对象的键keyk+1不小于当前存储对象的键keyk

步骤三:记录环形链表Ci所有存储对象的总操作次数,记录环形链表Ci中每个存储对象的操作次数;

步骤四:周期性检测环形链表Ci中请求访问的存储对象是否为链表指针Headi指向的存储对象;如否,通过步骤五计算环形链表Ci中每个存储对象的访问频率,将链表指针Headi指向环形链表Ci中访问频率最高的存储对象;

步骤五:环形链表Ci中第t个存储对象的访问频率

其中,N为 环形链表Ci中所有存储对象的总操作次数,K为环形链表Ci中的存储对象数量,为环形链表Ci中第k个存储对象的操作次数。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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