[发明专利]基于孩子节点的多粒度分布式读写锁的R树索引优化方法有效
申请号: | 201811463042.3 | 申请日: | 2018-12-03 |
公开(公告)号: | CN109582677B | 公开(公告)日: | 2021-05-04 |
发明(设计)人: | 王波涛;李睿;田箫;黄明帅 | 申请(专利权)人: | 东北大学 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 大连理工大学专利中心 21200 | 代理人: | 陈玲玉;梅洪玉 |
地址: | 110819 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出了一种基于孩子节点的多粒度分布式读写锁的R树索引优化方法,建立起了一个底层为网格索引,上层为R树索引的双层索引结构;基于孩子节点建立了读写锁,降低了锁的粒度,支持较高的并行度,提高了查询和更新等操作的执行效率。此外,随着查询范围的增大,以及移动对象密度的增大,查询的索引节点数目增多,也会导致查询效率的降低。但整体效果优于R树根节点的分布式读写锁。 | ||
搜索关键词: | 基于 孩子 节点 粒度 分布式 读写 索引 优化 方法 | ||
【主权项】:
1.一种基于孩子节点的多粒度分布式读写锁的R树索引优化方法,其特征在于,包括如下步骤:步骤一,首先将整个空间区域进行规则划分,划分成大小相同的网格,将移动对象存储到网格的索引项里,建立起一个底层的网格索引;然后,用R树索引网格,R树的叶子节点存储网格的ID;调用R树程序获取范围查询内的网格,实现范围查询的加读锁过程;如果R树root节点有孩子节点并且root节点的MBR与查询范围相交,则继续获取与查询范围相交的孩子节点;然后对该孩子节点加读锁;逐层查找R树各层节点直至叶子节点;如果叶子节点的MBR与查询范围相交,则返回叶子节点的结果集合,否则就释放上述孩子节点的读锁;步骤二,移动对象的位置更新过程中,在孩子节点加写锁,包括两个部分:第一部分:在R树索引中插入节点时加写锁过程;在R树索引中插入网格,首先计算出该网格左下角坐标和右上角坐标;然后初始化R树root节点重要参数:MBR和节点容量;获取实例root节点,从root节点开始向下遍历找到与该网格相交的孩子节点;对孩子节点加写锁;逐层查找直到应该将该网格插入其中的叶子节点;对孩子节点释放写锁;第二部分:在R树中删除R树节点时加写锁过程;先计算出网格左下角坐标和右上角坐标;获取实例root节点;初始化栈s1和s2,s1保存查找路径上的节点,s2保存需合并的节点;从root节点开始向下遍历找到与该网格相交的孩子节点;对孩子节点加写锁;逐层遍历过程中将包含该网格的节点压入栈s1;将该网格信息删除;更新节点信息;利用s1和s2对R树进行合并压缩、重新插入操作;对孩子节点释放写锁。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201811463042.3/,转载请声明来源钻瓜专利网。