[发明专利]一种读优化的内存数据库Trie树索引方法有效

专利信息
申请号: 201510459589.6 申请日: 2015-07-30
公开(公告)号: CN105117417B 公开(公告)日: 2018-04-17
发明(设计)人: 段章峰;伍卫国;崔金华 申请(专利权)人: 西安交通大学
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 西安智大知识产权代理事务所61215 代理人: 贺建斌
地址: 710049*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 优化 内存 数据库 trie 索引 方法
【权利要求书】:

1.一种读优化的内存数据库Trie树索引方法,其特征在于,包括以下步骤:

第1步,构造基本的数据结构:

向优化的Trie树结构中写入数据,其过程如下:

1.1)如果根节点为空,则分配根节点空间,并进行初始化;

1.2)根据当前字符指针所指字符,在索引结构当前节点内部的哈希表中查找相应的子节点指针是否为空,如果为空,参照步骤1.1),分配节点空间,并且按照字符的大小顺序,插入到节点内部的排序链表中,保证数据有序;如果不为空,则跳转到步骤1.3);

1.3)索引结构指针指向相应的子节点指针,字符指针顺序后移,直到字符串结尾;判断节点内部的value域是否为空,如果为空,则直接进行拷贝操作,将新的value值拷贝进节点内部;如果不为空,那么判断新的value值所需空间是否大于当前节点内部的value值空间,如果大于,则重新申请空间;如果小于,则直接进行拷贝操作,并更新节点内部相应字段的值;

第2步,在已经建立好的优化的Trie树中进行数据查询操作:

查询操作分为单值查询和范围查询两种,单值查询操作的步骤如下:

2.1)如果根节点为空,则直接返回,否则,进行步骤2.2);

2.2)根据当前字符指针所指字符,计算其哈希值,在哈希表中查找对应的子节点指针,如果哈希表中没有找到,则需要在哈希链表中进一步查找,如果找到,则将哈希表中子节点指针值赋给当前索引结构指针,进行步骤2.3);如果没有找到,则返回,表示没有查找到key对应的value;

2.3)字符指针顺序后移,直到字符串结尾,返回索引结构指针所指节点内的value值,即为key对应的value值;

范围查询的步骤如下:

2.1’)采用逐级递归的方法,确定存储范围查询中左值的节点;

2.2’)采用逐级递归的方法,确定存储范围查询中右值的节点;

2.3’)对于位于左值和右值区间内部的节点,采用直接递归的方法来确定查询结果;对于区间的边界,根据应用的需要确定最终的结果。

2.根据权利要求1所述的一种读优化的内存数据库Trie树索引方法,其特征在于:所述的优化的Trie树索引中的前缀压缩方法步骤如下:

1)从根节点开始对索引结构进行递归遍历,每访问一个索引结构节点,其内部排序链表中存储的子节点指针所指节点即共享相同前缀;

2)计算出每一个节点的共享前缀,向磁盘中写入共享前缀部分,遍历排序链表,针对排序链表中的每一个节点,只需要写入key的非共享部分;

3)value值不进行压缩操作,写入原始的value值。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201510459589.6/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top