[发明专利]多线程持久性B+树数据结构设计与实现方法有效
申请号: | 201811129623.3 | 申请日: | 2018-09-27 |
公开(公告)号: | CN109407979B | 公开(公告)日: | 2020-07-28 |
发明(设计)人: | 舒继武;陆游游;胡庆达;刘昊 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F12/02 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 张润 |
地址: | 10008*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多线程 持久性 数据 结构设计 实现 方法 | ||
本发明公开了一种多线程持久性B+树数据结构设计与实现方法,方法包括:在预设的B+树中引入一层基于链式结构的影子叶节点;通过基于混合主存的数据布局策略将基于链表的叶节点存储在NVM中,以生成基于数组结构的树层,并且将索引数据结构的其他部分存储在DRAM中,以生成基于链表结构的链层,使得通过分层的易失性树结构和持久性链表结构的设计避免平衡和排序的持久化开销;设计嵌入式的细粒度锁机制和乐观写机制,以分别用于读写操作之间和写写操作之间的并发控制。该方法使用非易失性内存和易失性内存的混合主存数据结构,增加数据检索的并发性和实现数据持久存储,解决放大的锁开销问题,并加速数据结构的系统恢复过程。
技术领域
本发明涉及非易失性主存存储技术领域,特别涉及一种多线程持久性B+树数据结构设计与实现方法。
背景技术
非易失性主存(Non-Volatile Memory,NVM)是一种新型的内存存储介质,具有可字节寻址、掉电后信息非易失、存储密度高、不需要动态刷新和静态功耗低等优点。但是,也存在一些不足之处,如读写性能不对称,有限的写次数和写功耗较高等缺点。它的出现对存储领域带来了新的巨大机遇和挑战,引发了产业界和学术界对异构混合内存体系架构及其相关系统软件的研究热潮。非易失性内存对计算机系统结构、系统软件、软件库以及应用程序都有很多新的启示。非易失性内存设备可以与动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)设备共同构成混合主存,其中,应用程序中临时性的数据存储在DRAM上,把需要持久保存的数据存储在NVM上。非易失主存的出现促使研究人员着手设计基于主存的存储系统,包括文件系统和数据库系统。索引结构是构建存储系统的关键模块,它在很大程度上决定了存储系统的性能。在基于非易失主存的存储系统中,索引结构需要同时保证高效的一致性和多线程扩展性,这对索引结构的设计者提出了新的挑战。
传统的索引数据结构如B+树,排序和平衡操作在整个树操作开销中占据了很大的比例,更加严重的是,持久化延迟会进一步增加树操作持有锁的时间,相关技术中的持久性B+树在多线程场景下面临严重的性能问题。在多线程场景下,随着非易失主存持久化延迟的增加,树操作持有锁的时间几乎线性地增长,B+树的性能下降十分严重。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种多线程持久性B+树数据结构设计与实现方法,该方法使用非易失性内存和易失性内存的混合主存数据结构,增加数据检索的并发性和实现数据持久存储,解决了放大的锁开销问题,并加速数据结构的系统恢复过程。
为达到上述目的,本发明实施例提出了一种多线程持久性B+树数据结构设计与实现方法,包括以下步骤:在预设的B+树中引入一层基于链式结构的影子叶节点;通过基于混合主存的数据布局策略将基于链表的叶节点存储在NVM中,以生成基于数组结构的树层,并且将索引数据结构的其他部分存储在DRAM中,以生成基于链表结构的链层,使得通过分层的易失性树结构和持久性链表结构的设计避免平衡和排序的持久化开销;设计嵌入式的细粒度锁机制和乐观写机制,以分别用于读写操作之间和写写操作之间的并发控制。
本发明实施例的多线程持久性B+树数据结构设计与实现方法,通过使用非易失性内存和易失性内存的混合主存数据结构,使得具有良好空间局部性和平衡性的搜索操作,有效地减少了昂贵的持久化操作,并且还设计嵌入式的细粒度锁和乐观写机制,解决放大的锁开销问题,同时采用多线程的恢复机制和持久性垃圾回收器,用于支持非易失主存的一致性管理,并加速数据结构的系统恢复过程。
另外,根据本发明上述实施例的多线程持久性B+树数据结构设计与实现方法还可以具有以下附加的技术特征:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811129623.3/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置