[发明专利]一种基于内存面向热点数据的ACEH索引结构及方法有效
申请号: | 202011296272.2 | 申请日: | 2020-11-18 |
公开(公告)号: | CN112395213B | 公开(公告)日: | 2023-05-30 |
发明(设计)人: | 何水兵;朱彤;曾令仿;段雪豪;银燕龙 | 申请(专利权)人: | 之江实验室;浙江大学 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 杭州浙科专利事务所(普通合伙) 33213 | 代理人: | 杨小凡 |
地址: | 310023 浙江省杭州市余*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 内存 面向 热点 数据 aceh 索引 结构 方法 | ||
本发明公开了一种基于内存面向热点数据的ACEH索引结构及方法,结构包括:目录项、段和数据桶;方法包括:目录项通过全局深度G进行段索引,一个段对应一组数据桶,段通过局部深度L进行数据桶索引,L=G‑logsubgt;2/subgt;supgt;k/supgt;,k表示指向该数据桶的指针数,所述数据桶索引采用Adjusted‑Cuckoo算法定位哈希键插入的数据桶,Adjusted‑Cuckoo算法包含两个哈希函数,产生两个可插入的数据桶,然后选择空余的数据桶进行插入,Adjusted‑Cuckoo算法确定一个数据桶,第二个数据桶则直接确定为当前数据桶的下一个数据桶,操作方法包括如下步骤:步骤一,插入操作;步骤二,刷新操作;步骤三,分裂操作;步骤四,删除操作。
技术领域
本发明涉及计算机内存存储结构,尤其是涉及一种基于内存面向热点数据的ACEH索引结构及方法。
背景技术
互联网公司在实际生产环境中广泛使用键值存储技术来提高数据存储的性能。学者们研究了不同场景下的热点问题,并且在一些场景中提出了有效的解决方案。然而键值存储场景下的热点问题却被忽略了。
在传统的可扩展哈希结构中,当有键值对(key-value)插入时,首先将key同目录项(Diectory)匹配。例如,key与目录的第一个目录项“00”相匹配,故插入第一个目录项所指向的数据桶(Bucket)中。在进入数据桶时,传统可扩展哈希直接采用顺序遍历的方式,直到找到第一个空的槽点(slot),将键值对插入。查找时,也是根据key的相应位置,找到目录项,在通过目录项的指针定位数据桶,最后使用顺序遍历的方式查找到对应键值对。删除过程与查找一样。当刷新时,传统可扩展哈希只是重新做一次插入操作,这样极大地浪费了空间。
扩张时,目录项会成倍增加。当目录修改后,每个目录项的指针也会修改,此外,数据桶里的部分键值对也会相应地移动。例如,插入的键值对,当目录数为4时,键值对插入目录项为00的数据桶中,扩张后,键值对会移动到目录项001对应的数据桶中(因为键值对的前三位是001)。
发明内容
为解决现有技术的不足,实现增加内存利用率、加快查找性能的目的,本发明采用如下的技术方案:
一种基于内存面向热点数据的ACEH索引结构,包括:目录项和数据桶,采用了一个中间结构,称为段,目录项与段之间通过使用全局深度G作为段索引,用于解决三层结构中的插入查找问题,一个段包括一组数据桶,段与数据桶之间使用局部深度L作为数据桶索引,L=G-log2k,k表示指向该数据桶的指针数,采用L是因为可扩展哈希扩张之后不一定是一个目录项(Directory)对应一个段,由于扩张后目录项的数目多于原有的段数,只有在键值对需要移动到不存在的数据桶时新的段才会创建,所述数据桶索引采用Adjusted-Cuckoo算法定位哈希键插入的数据桶,Adjusted-Cuckoo算法包含两个哈希函数,产生两个可插入的数据桶,然后选择空余的数据桶进行插入,Adjusted-Cuckoo算法确定一个数据桶,第二个数据桶则直接确定为当前数据桶的下一个数据桶,这样设置是对cacheline友好的,相比于传统的cuckoo hash算法能够利用空间局部性,加快查找性能,在内存利用率上也有了显著提升。该结构在NVM上运行有很大的性能提升。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于之江实验室;浙江大学,未经之江实验室;浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011296272.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:楼宇物业智能清洁方法及其系统
- 下一篇:一种单图像三维点云模型重建方法