【技术实现步骤摘要】
基于RDMA与非易失性内存的基数树访问系统
本专利技术涉及存储系统领域,具体地,涉及一种基于RDMA与非易失性内存的基数树访问系统。
技术介绍
近年来,随着非易失性内存和RDMA技术的发展,高存储性能和低延迟网络访问的数据中心已经成为一种趋势。由于非易失性内存具有可字节寻址和持久性的特性,传统的索引结构需要做出相应的调整,使得数据结构在保证数据一致性的前提下尽可能多地提高读写性能。此外,RDMA技术的发展使得本地节点能够绕过远端节点内核和CPU直接读取或写入,从而有效提高了远端节点CPU的效率,使得更低延时、更高吞吐量的远端数据访问成为可能。专利文献CN1613073A公开了改进型多路基数树,然而,传统的基于树的数据索引结构依赖于远端节点的响应,无法适应RDMA的特性,因此需要进行必要的改进和优化。基数树作为一种重要的基于树的数据索引结构,相较于B+树而言,其整体结构由插入的key值决定且插入无需通过任何key值的比较,有效减少了缓存行的刷入和必要的日志记录,因此更适应于非易失性内存下的数据索引。目前关于基数树的研究仅针对单机系统环境下的一致性保障进行了改进,针对分布式系统环境下的数据一致性和提高远端节点CPU效率以降低延时、提高吞吐量的问题,现有技术中鲜有这方面的研究。在本领域,涉及的专业术语如下:基数树:是一种多叉搜索树,其树结构由插入键的具体符号表示决定。相比于B+树,基数树的数据插入和检索无需键值的比较,同时,也避免了以节点为粒度的分裂和结合操作等。RDMA:Remot ...
【技术保护点】
1.一种基于RDMA与非易失性内存的基数树访问系统,其特征在于,包括:/n数据存储模块:采用非易失性持久内存作为基数树的存储介质;/n远程读写模块:建立服务端CPU与客户端的RDMA通信连接;/n后台处理模块:在客户端进行远程读写时进行后台处理,保证数据的一致性;/n所述基数树在服务端执行以下操作:/nS1:在所述基数树初始化阶段,构建一块数据块,以支持远端数据的插入、更新和删除;/nS2:在所述基数树初始数据块存满后,重构数据结构为基数树结构,其中包含前缀节点和数据节点,并将树结构的前缀节点写入到客户端;/nS3:定期检查所述基数树的数据节点。/n
【技术特征摘要】
1.一种基于RDMA与非易失性内存的基数树访问系统,其特征在于,包括:
数据存储模块:采用非易失性持久内存作为基数树的存储介质;
远程读写模块:建立服务端CPU与客户端的RDMA通信连接;
后台处理模块:在客户端进行远程读写时进行后台处理,保证数据的一致性;
所述基数树在服务端执行以下操作:
S1:在所述基数树初始化阶段,构建一块数据块,以支持远端数据的插入、更新和删除;
S2:在所述基数树初始数据块存满后,重构数据结构为基数树结构,其中包含前缀节点和数据节点,并将树结构的前缀节点写入到客户端;
S3:定期检查所述基数树的数据节点。
2.根据权利要求1所述的基于RDMA与非易失性内存的基数树访问系统,其特征在于,所述数据存储模块包括前缀节点、数据节点和元数据索引表;
其中前缀节点用于数据节点的索引,同时存在于服务端和客户端;
数据节点保存了实际的键值对数据,只存在于服务端;
元数据索引表用于记录数据节点的具体存储情况。
3.根据权利要求2所述的基于RDMA与非易失性内存的基数树访问系统,其特征在于,所述前缀节点采用无指针的数据布局结构,将数据存储在事先分配好的连续内存空间内,以使服务端能够在树结构建立完全后,将所有前缀节点同步发送至客户端;
所述前缀节点只保存所存储键的固定长度的前缀,该固定长度K由所述基数树的高度决定,所有前缀节点均按前后顺序存储了所存储键的前缀的其中一段内容,每个节点还保留1字节用于记录有效存储的前缀数目;
最后一层前缀节点同时还保存了对应数据节点的节点号。
4.根据权利要求2所述的基于RDMA与非易失性内存的基数树访问系统,其特征在于,所述数据节点包含一定数量的键值对,每个数据节点都有其对应的节点号,该节点号通过检索前缀节点获取,其中最后一个数据节点包含键的前缀未被前缀节点包含在内的键值对数据;
所述数据节点的存储数据除去键值对外,还保留1字节的APPEND_FLAG用于区分数据的插入、更新和删除。
5.根据权利要求2所述的基于RDMA与非易失性内存的基数树访问系统,其特征在于,所述元数据索引表包含N行,其中N为分配的数据节点的个数;
索引表的每一行均包含4字节的锁和4字节的键值对数目,该索引表用于保证远程数据读写的一致性。
6.根据权利要求1所述的基于RDMA与非易失性内存的基数树访问系统,其特征在于,所述远程读写模块部署在客户端,分为远程写和远程读操作,其中远程写操作包括远程插入、删除和更新操作,客户端在执行读写操作时,完全使用RDMA单边原语。
7.根据权利要求6所述的基于RDMA与非易失性内存的基数树访问系统,其特征在于,客户端在执行远程写操作时,具体步骤如下:
S1:客户端...
【专利技术属性】
技术研发人员:黄林鹏,郑圣安,屠要峰,杨洪章,沈艳艳,陈雨亭,应瑶瑶,
申请(专利权)人:上海交通大学,清华大学,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。