[发明专利]基于孩子节点的多粒度分布式读写锁的R树索引优化方法有效
申请号: | 201811463042.3 | 申请日: | 2018-12-03 |
公开(公告)号: | CN109582677B | 公开(公告)日: | 2021-05-04 |
发明(设计)人: | 王波涛;李睿;田箫;黄明帅 | 申请(专利权)人: | 东北大学 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 大连理工大学专利中心 21200 | 代理人: | 陈玲玉;梅洪玉 |
地址: | 110819 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 孩子 节点 粒度 分布式 读写 索引 优化 方法 | ||
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树进行合并压缩、重新插入操作;对孩子节点释放写锁。
2.根据权利要求1所述的基于孩子节点的多粒度分布式读写锁的R树索引优化方法,其特征在于,R树的非叶子节点包括root节点和孩子节点,每个非叶子节点包含指向子节点的指针,称之为child-pointer,其MBR表示能框住其子节点的最小N维矩形;R树的叶子节点包含指向空间对象的条目,称之为tuple-identifier,其MBR表示能框住其tuple所对应的空间对象的最小N维矩形。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811463042.3/1.html,转载请声明来源钻瓜专利网。