[发明专利]一种面向非易失内存的链式散列插入和删除方法及系统在审
申请号: | 202110903042.6 | 申请日: | 2021-08-06 |
公开(公告)号: | CN113742339A | 公开(公告)日: | 2021-12-03 |
发明(设计)人: | 冯丹;肖仁智;胡燏翀 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/245;G06F3/06 |
代理公司: | 武汉华之喻知识产权代理有限公司 42267 | 代理人: | 李君;廖盈春 |
地址: | 430074 *** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 非易失 内存 链式 插入 删除 方法 系统 | ||
本发明提供了一种面向非易失内存的链式散列插入和删除方法及系统,属于计算机存储领域,插入方法为:根据键的散列值寻找链式散列中主桶区链表是否有空闲,如有空闲则将键值对写入主桶内;否则,从预分配桶数组中取一个未使用的预分配桶,将键值对链接到预分配桶内,若预分配桶数组中无空闲的桶则插入键值对失败;其中,在键值对写的过程中不采用条目计数变量count计算NVM散列表的键值对数目;在统计散列表中有效键值对数目时通过Size函数计算。本发明避免了固定计数变量导致NVM快速磨损的问题。
技术领域
本发明属于计算机存储领域,更具体地,涉及一种面向非易失内存的链式散列插入和删除方法及系统。
背景技术
非易失性存储器技术(NVMs),例如相变存储器(PCM)、STT-RAM、ReRAM、IntelOptaneDC、持久内存模块(DCPMM)等具有DRAM的性能和硬盘(HDD)或固态磁盘(SSD)的持久性。因此,越来越多的研究者开始对基于NVM的数据结构进行研究。但是,NVM的写入持久性有限,其写入延迟高于读。基于NVM的数据结构要求减少对NVM的写入次数。此外,为了提高系统性能,写到NVM的数据可能会被内存控制器重新排序,基于NVM的数据结构在系统故障或断电时可能会遇到数据不一致的问题。
散列数据结构由于其恒定的搜索性能(O(1))在内存键值存储中得到了广泛的应用,如RAMCloud、Memcached和Redis等,散列结构具有快速的单点查询性能,但可能会遇到散列冲突,将可能会消耗大量的系统资源,如CPU和内存。针对散列冲突引起的键冲突,散列数据结构采用四种方法:(1)开放地址方法,如线性搜索和伪随机检测;(2)链式列表法;(3)共用溢出区;(4)重新散列方法。
近年来,面向非易失内存的散列结构得到了广泛的应用,如:PFHT、路径散列、组散列和层次散列等。然而,PFHT和路径散列主要解决了写问题,而忽略了数据不一致性的问题。因此,现有技术采用日志方法实现了PFHT和路径散列,保证了数据的一致性。组散列和层次散列均解决了NVM的写入和数据不一致的问题,但是它们的写入性能可以进一步优化。此外,基于NVM的散列方案由于NVM中的局部固定计数而受到快速磨损。
发明内容
针对现有技术的缺陷,本发明的目的在于提供一种面向非易失内存的链式散列插入和删除方法及系统,旨在解决现有的链式散列写操作采用条目计数变量count计算存储在NVM中散列表的键值对数目,导致NVM局部快速磨损的问题。
为实现上述目的,一方面,本发明提供了一种面向非易失内存的链式散列插入方法,包括以下步骤:
根据键的散列值寻找链式散列中主桶区链表是否有空闲,如有空闲则将键值对写入主桶内;否则,从预分配桶数组中取一个未使用的预分配桶,将键值对链接到预分配桶内,若预分配桶数组中无空闲的桶则插入键值对失败;
其中,在键值对写的过程中不采用条目计数变量count计算NVM散列表的键值对数目;在统计散列表中有效键值对数目时通过Size函数计算。
优选地,在判断主桶区链表是否有空闲之前,链式散列划分为主桶和预分配桶。
优选地,寻找主桶写键值对的方法,包括以下步骤:
通过散列函数计算键的散列值后,根据散列值寻找链式散列中对应的多槽散列主桶;
判断多槽散列主桶的链表是否存满,若未存满则寻找标志为0的槽,将键值对写入主桶内。
优选地,采用免日志故障原子写将键值对写入主桶或预分配桶,具体执行过程如下:
寻找NVM中标志为0的槽,采用缓存行刷新指令刷回键和键值至槽中;
设置栅栏指令,防止栅栏指令之后的命令先于栅栏指令之前的命令将数据写入NVM;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110903042.6/2.html,转载请声明来源钻瓜专利网。