[发明专利]一种实时数据库的B+树索引方法及装置无效
申请号: | 201110367594.6 | 申请日: | 2011-11-18 |
公开(公告)号: | CN102402602A | 公开(公告)日: | 2012-04-04 |
发明(设计)人: | 丁明伟 | 申请(专利权)人: | 航天科工深圳(集团)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 深圳中一专利商标事务所 44237 | 代理人: | 张全文 |
地址: | 518000 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实时 数据库 索引 方法 装置 | ||
技术领域
本发明属于数据处理领域,尤其涉及一种实时数据库的B+树索引方法及装置。
背景技术
随着现今数据量的不断扩充,数据库中的数据不断增多,在应用时要求数据库具有主动、实时、时效等特性。其中,索引是提高数据库系统执行效率的一种有效工具。由于实时数据库的索引受内存的快速存取以及高有效利用率的影响,因此适用于实时数据库的索引结构大致可以分为两大类:一类是数据保持某种自然排序的索引结构,如各种数据结构;另一类是数据随机分布的索引结构,如各种哈希结构。
传统索引结构主要有下列三种,以下将详细描述。
第一,采用数组做索引结构。
其具体方法为:通过预先知道数据的大小或者通过虚拟存储映射技术而使数据妥当增长,使数组索引使用的空间最小。然而,数组索引结构不能动态维护,每一维护操作所引起的数据移动量是O(n)级的(n为数组元素个数),使得维护代价过高。且数组索引结构实用性不强。
第二,采用AVL树(一种自平衡二叉查找树)做索引结构。
由于AVL树操作的时间复杂度较小,为O(Log2N)(N为记录数),因此具有较高的存取性能。但是由于其每个结点只有一个数据元素,却有两个指针和有关指针信息,造成其内存的有效利用率很低。
第三,采用B树(一种数据结构)做索引结构。
B树是一种动态调节的平衡树,B树的操作代价是其中,k是B树的阶(order),N是记录数,C是一个很小的整数。然而,将B树作为索引结构时,由于关键字分布在整个B树中,并且在内结点(叶结点以外的结点)中出现过的关键字不再出现在叶结点中,使得顺序链不能将树中所有关键字链接在一起,这不利于需要顺序查找或排序的操作。其次,在B树中,删除操作比较繁琐。因此,B树无法满足实时数据库高效的执行效率。
发明内容
本发明实施例的目的在于提供一种实时数据库的B+树索引方法及装置,旨在解决现有的用于实时数据库的索引结构效率不高,实用性不强的问题。
本发明实施例是这样实现的,一种实时数据库的B+树索引方法,所述方法包括:
根据实时数据库中表或记录的个数,获得节点个数,所述节点包括节点域和控制域;
根据每个节点所需占用的内存空间,划分对应的内存空间用于存储每个节点的节点域和控制域;
将表或记录的关键字存储至节点的节点域,将指针信息存储至节点的控制域,以此生成各节点及B+树索引。
本发明实施例的另一目的在于提供了一种实时数据库的B+树索引装置,所述装置包括:
节点个数获取单元,用于根据实时数据库中表或记录的个数,获得节点个数,所述节点包括节点域和控制域;
内存划分单元,用于根据每个节点所需占用的内存空间,划分对应的内存空间用于存储每个节点的节点域和控制域;
索引生成单元,用于将表或记录的关键字存储至节点的节点域,将指针信息存储至节点的控制域,以此生成各节点及B+树索引。
在本发明实施例中,通过B+树来实现实时数据库的索引,提供了一种既高效,又稳定的索引方法。既提高了实时数据库的稳定性,又提高了实时数据库的性能,使得用户能够更加快捷地访问实时数据库。
附图说明
图1是本发明实施例一提供的实时数据库的B+树索引方法流程图;
图2是本发明实施例二提供的根据B+树索引查找关键字的实例;
图3是本发明实施例三提供的根据B+树索引插入关键字的一种实例;
图4是本发明实施例三提供的根据B+树索引插入关键字的一种实例;
图5是本发明实施例四提供的根据B+树索引删除关键字的一种实例;
图6是本发明实施例四提供的根据B+树索引删除关键字的一种实例;
图7是本发明实施例五提供的实时数据库的B+树索引装置结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供一种实时数据库的B+树(一种数据结构)索引方法,通过重新定义B+树的节点域及控制域的数据结构后,创建B+树,利用B+树建立实时数据库的索引。
本发明提供了一种实时数据库的B+树索引方法及装置:
所述方法包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天科工深圳(集团)有限公司,未经航天科工深圳(集团)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110367594.6/2.html,转载请声明来源钻瓜专利网。