[发明专利]一种基于改进红黑树的内存数据库索引方法及系统有效
申请号: | 201911186209.0 | 申请日: | 2019-11-27 |
公开(公告)号: | CN110928882B | 公开(公告)日: | 2023-08-25 |
发明(设计)人: | 朱鸿斌;金健;王健星;夏之春 | 申请(专利权)人: | 上海金仕达软件科技股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23 |
代理公司: | 上海华工专利事务所(普通合伙) 31104 | 代理人: | 缪利明 |
地址: | 201203 上海市浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 改进 红黑树 内存 数据库 索引 方法 系统 | ||
本发明公开了一种基于改进红黑树的内存数据库索引方法,包括以下步骤:S1、创建一改进的红黑树,其节点结构按照标准红黑树创建;S2、创建一头部节点,该头部节点内设有指针且指向所述红黑树索引结构的根节点,指针指向所述红黑树索引结构的第一个叶子节点,以及指针指向所述红黑树索引结构的最后一个叶子节点;S3、创建一双向链表,该链表的元素包括所述红黑树索引结构的所有叶子节点;所述改进的红黑树的节点内均设有指向其左子树、右子树的特定叶子节点的指针;所述红黑树索引结构的叶子节点内设有用于指向数据的指针/地址,或者直接将叶子节点用于存放数据。该索引方法在数据的插入、删除、查找以及遍历操作上的表现都很优秀。
技术领域
本发明属于内存数据库领域,具体为一种基于改进红黑树的内存数据库索引方法及系统。
背景技术
内存数据库是基于内存的数据库管理系统,其中,数据信息和管理信息保存在内存中,可以为应用层提供极速的数据存取性能。现有基于内存的数据管理组件,如C++标准库的map一般采用标准的红黑树存储数据,标准的红黑树在数据的新增和查找等场景具有比较平衡的性能表现。
相应的,常见的还有管理储存于硬盘上的数据的数据库系统,其中,数据信息和管理信息保存在硬盘中。与内存不同的是,硬盘上存放的数据量较大,其数据信息的索引一般采用B+树索引结构。B+树结构的特点在于实现索引的层数相对较少,有利于减少硬盘的访问次数,因此具有较高的查询效率。在数据量较大、数据存储场景复杂时,则引入专门的数据库管理系统,如Oracle、MySQL等。这些数据库管理系统的数据都是存储在硬盘上,同时可以为应用层提供数据访问的事务机制、索引结构等满足各种业务实现所需要的功能,其索引结构一般也是基于B+树实现。
而B+树与红黑树相比,B+树的设计目的就是为了硬盘这一类存储设备提供一种平衡多路查找树,在节点的数量相同的情况下,一棵B+树的高度远远小于红黑树的高度,B+树的操作时间主要取决于访问磁盘的时间和CPU(中央处理器)的计算时间这两部分。CPU的运算速度非常快,则忽略CPU的计算时间的差异,操作效率主要取决于访问磁盘的次数,那么在关键字总数相同的情况下,B+树的高度小,磁盘I/O操作的时间少,因而具有非常高的查找效率。但B+树在数据的插入、删除等操作方面的性能则不如红黑树。
在一些特殊领域中,例如金融行业交易系统,其主要需求在于实现极速交易,因此需要高性能的数据管理组件,对数据的存取、访问提供索引支持,并且能够提供对数据的新增、删除、遍历、查找等操作的高性能响应。而现有技术,如上述B+树、红黑树结构各有优点,也各有缺点,特别的,所述金融行业交易系统中,遍历数据信息的操作频次较高,而现有技术中并没有相应的解决方案,能够同时兼顾对数据信息的各个操作的性能响应。
发明内容
为了克服现有技术不能兼顾查找效率和数据的插入、删除等操作的效率的缺陷,以及遍历频次较高时的性能低的情形,本发明提供了一种基于改进红黑树的内存数据库索引方法及系统,在保证查找、插入和删除的性能的高效与平衡的基础上,同时解决了遍历性能低的问题。
本发明解决其技术问题所采用的技术方案是:一种基于改进红黑树的内存数据库索引方法,包括以下步骤:
创建改进的红黑树索引结构:
S1、创建一改进的红黑树,其节点结构按照标准红黑树创建;
S2、创建一头部节点head,该头部节点head内设有指针header.root且指向所述红黑树索引结构的根节点root,指针header.flink指向所述红黑树索引结构的第一个叶子节点,以及指针header.blink指向所述红黑树索引结构的最后一个叶子节点;
S3、创建一双向链表,该链表的元素包括所述红黑树索引结构的所有叶子节点,其中,除第一个叶子节点外,每一个叶子节点内都设有一个指向该叶子节点的前一个叶子节点的指针flink;除最后一个叶子节点外,每一个叶子节点内都设有一个指向该叶子节点的后一个叶子节点的指针blink;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海金仕达软件科技股份有限公司,未经上海金仕达软件科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911186209.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种建筑垃圾处理装置
- 下一篇:一种松树植物杀菌素工艺香皂的制备方法