[发明专利]一种内存数据库中构造冲突数据索引的方法无效
| 申请号: | 200710076655.7 | 申请日: | 2007-08-29 |
| 公开(公告)号: | CN101377775A | 公开(公告)日: | 2009-03-04 |
| 发明(设计)人: | 王峰;董安圆 | 申请(专利权)人: | 中兴通讯股份有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 深圳市永杰专利商标事务所 | 代理人: | 曹建军 |
| 地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 内存 数据库 构造 冲突 数据 索引 方法 | ||
技术领域
本发明涉及一种构造数据索引的方法,尤其是一种内存数据库中构造冲突数据索引的方法。
背景技术
对于大容量的内存数据库,各种业务往往需要对内存数据库中的数据进行频繁的检索。各种数据具有不同的特性,有的数据在不同的记录中是互斥的,具有唯一性,因而需要通过遍历内存数据库对这类数据进行检索;有的数据在不同的记录中是冲突的,同样采用遍历内存数据库的方式进行检索,涉及的数据量巨大,检索的速度较慢,检索的效率较低。目前,大部分数据库无法对这类冲突数据建立索引,影响了数据的检索速度。
发明内容
本发明要解决的技术问题是提供一种构造了能提高冲突数据检索速度的冲突数据索引的内存数据库中构造冲突数据索引的方法。
本发明解决其技术问题所采用的技术方案是:
一种内存数据库中构造冲突数据索引的方法,包括以下步骤:
1.1 根据第一冲突数据对应的索引键值定位到主表的相应的索引节点,将所述第一冲突数据插入到所述索引节点;
1.2 根据第二冲突数据对应的索引键值及所述第一冲突数据的索引节点的索引值定位到唯一冲突表的相应的索引节点,将所述第二冲突数据插入到所述索引节点,若要继续插入冲突数据,进入步骤1.3,否则,进入步骤1.5;
1.3 根据当前待插入冲突数据对应的索引键值及各已插入的冲突数据的索引节点的索引值定位到非唯一冲突表的相应的索引节点,将所述当前待插入冲突数据插入到所述索引节点;
1.4 判断是否需要继续插入冲突数据,若要继续插入,则回到步骤1.3,否则,进入步骤1.5;
1.5 根据最后插入的冲突数据的索引节点的索引值定位到所述非唯一冲突表的相应索引节点,将所述索引节点的索引值定为0,并结束冲突数据索引的构造。
上述方案中,对检索到的冲突数据的索引节点进行删除操作时,若所述索引节点位于所述主表,则包括以下步骤:
2.1 检索到所述索引节点的位于所述唯一冲突表的下一索引节点后,将所述索引节点的索引值更新为位于所述唯一冲突表的下一索引节点的索引值;
2.2 检索到位于所述唯一冲突表的下一索引节点的位于所述非唯一冲突表的下一索引节点,将所述位于唯一冲突表的下一索引节点的索引值更新为所述位于非唯一冲突表的下一索引节点的索引值,并将所述位于非唯一冲突表的下一索引节点清空。
上述方案中,对检索到的冲突数据的索引节点进行删除操作时,若所述索引节点位于所述唯一冲突表或者所述非唯一冲突表,则检索到所述索引节点的下一索引节点,若所述下一索引节点的索引值不为0,则将所述索引节点的索引值更新为所述下一索引节点的索引值,并将所述下一索引节点清空,否则,将所述索引节点清空后再将所述索引节点的索引值定为0。
上述方案中,对冲突数据进行检索时,包括以下步骤:
4.1 根据待检索的冲突数据对应的索引键值定位到所述主表的相应索引节点,判断所述索引节点是否为所述待检索的冲突数据,若是,则结束冲突数据的检索,否则,将所述索引节点记为当前索引节点,进入步骤4.2;
4.2 根据所述当前索引节点的索引值定位到所述当前索引节点的下一索引节点,将所述下一索引节点记为当前索引节点,判断所述当前索引节点是否为所述待检索的冲突数据,若是,则结束冲突数据的检索,否则,进入步骤4.3;
4.3 判断所述当前索引节点的索引值是否为0,若是,则结束冲突数据的检索,否则,回到步骤4.2。
上述方案中,步骤1.2中,根据第二冲突数据对应的索引键值及所述第一冲突数据的索引节点的索引值定位到唯一冲突表的相应索引节点是指首先根据所述第二冲突数据对应的索引键值定位到所述主表的相应的索引节点,然后根据所述索引节点的索引值定位到所述唯一冲突表的相应的索引节点。
上述方案中,步骤1.3中,根据当前待插入冲突数据对应的索引键值及各已插入的冲突数据的索引节点的索引值定位到非唯一冲突表的相应索引节点是指首先根据所述当前待插入冲突数据对应的索引键值定位到所述主表的相应的索引节点,然后依次根据所述各已插入的冲突数据的索引节点的索引值定位到所述非唯一冲突表的相应的索引节点。
上述方案中,所述索引节点的索引值为所述索引节点的冲突数据的记录号。
上述方案中,根据冲突数据对应的索引键值定位到所述主表的相应的索引节点是指将所述冲突数据对应的索引键值通过哈希算法得到对应的哈希值,在根据所述哈希值定位到所述主表的相应的索引节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710076655.7/2.html,转载请声明来源钻瓜专利网。





