[发明专利]基于孩子节点的多粒度分布式读写锁的R树索引优化方法有效
申请号: | 201811463042.3 | 申请日: | 2018-12-03 |
公开(公告)号: | CN109582677B | 公开(公告)日: | 2021-05-04 |
发明(设计)人: | 王波涛;李睿;田箫;黄明帅 | 申请(专利权)人: | 东北大学 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 大连理工大学专利中心 21200 | 代理人: | 陈玲玉;梅洪玉 |
地址: | 110819 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 孩子 节点 粒度 分布式 读写 索引 优化 方法 | ||
本发明提出了一种基于孩子节点的多粒度分布式读写锁的R树索引优化方法,建立起了一个底层为网格索引,上层为R树索引的双层索引结构;基于孩子节点建立了读写锁,降低了锁的粒度,支持较高的并行度,提高了查询和更新等操作的执行效率。此外,随着查询范围的增大,以及移动对象密度的增大,查询的索引节点数目增多,也会导致查询效率的降低。但整体效果优于R树根节点的分布式读写锁。
技术领域
本发明涉及数据库索引领域,具体的涉及一种基于孩子节点的多粒度分布式读写锁的R树索引优化方法。
背景技术
基于位置服务(Location Based Service,LBS)为代表的移动应用已经步入移动大数据时代,成为人们日常生活的重要组成部分,滴滴打车、高德地图,日益方便着人们的生活,提高了人们的生活质量。随着移动应用规模的扩大,移动服务中的查询也呈现鲜明的流式特征。现有的系统无法有效地处理在扩展性、实时性、可靠性及性能方面所面临的挑战。移动大数据时代的数据处理不仅需要存储与处理能力更强更灵活的计算平台,还需要依托于计算平台的相关移动服务的处理与优化技术。
在计算平台的处理与优化技术中,空间移动对象数据库起着重要的作用,它的核心功能旨在提供高效的查询与更新处理,与高性能的索引结构密切相关,因此,移动对象的查询处理和索引技术是移动对象数据库设计的核心部分。在多连续范围查询系统中,针对网格索引中空网格也要访问造成额外开销的问题,提出了基于HBase的支持频繁更新的节点重组R树的索引结构。将空间区域映射在平面上,进而划分为网格,然后将包含有移动对象的网格插入到R树中。
针对这种双层索引结构,在移动对象位置更新时,会出现性能以及读写锁之间、写锁和写锁之间的冲突问题。为了解决读写锁之间、写锁和写锁之间的冲突问题,采用Zookeeper分布式读写锁在R树根节点加锁来解决多个进程对共享资源的访问。但是出现锁的阻塞等待和并发度低的问题,尤其是在查询和更新比较频繁、以及R树层级比较高的情况下。因为在使用R树索引时,是对R树根节点加锁,独占整个R树,导致很多不受更新影响的节点也不可以并发访问,降低了并行性,造成了很大的资源浪费。如图1所示,如果有一个查询是对20号网格内的数据,有一个更新是对63号网格内的数据,两个区域并不相交,在进行查询操作时,更新操作等待根锁,由此会造成资源利用率低下。
发明内容
本发明提供一种基于孩子节点的多粒度分布式读写锁的R树索引优化方法。在R树索引构建稳定后,根节点就很难再分裂,基于此特点,本发明设置根节点容量和MBR的参数值,使其不再分裂,将锁加在孩子节点,既避免了多个操作并发等待锁,也保证了查询结果的正确性。解决了现有技术的不足。
本发明采用的技术方案:
一种基于孩子节点的多粒度分布式读写锁的R树索引优化方法,包括如下步骤:
步骤一,首先将整个空间区域进行规则划分,划分成大小相同的网格,将移动对象存储到网格的索引项里,建立起一个底层的网格索引;然后,用R树索引网格,R树的叶子节点存储网格的ID;这样,就建立起了一个底层为网格索引,上层为R树索引的双层索引结构,如图3所示。调用R树程序获取范围查询内的网格,实现范围查询的加读锁过程;如果R树root节点有孩子节点并且root节点的MBR与查询范围相交,则继续获取与查询范围相交的孩子节点;然后对该孩子节点加读锁;逐层查找R树各层节点直至叶子节点;如果叶子节点的MBR与查询范围相交,则返回叶子节点的结果集合,否则就释放上述孩子节点的读锁;
步骤二,移动对象的位置更新过程中,在孩子节点加写锁,包括两个部分:
第一部分:在R树索引中插入节点时加写锁过程;
在R树索引中插入网格,首先计算出网格左下角坐标和右上角坐标;然后初始化R树root节点重要参数:MBR和节点容量;获取实例root节点,从root节点开始向下遍历找到与该网格相交的孩子节点;对孩子节点加写锁;逐层查找直到应该将该网格插入其中的叶子节点;对孩子节点释放写锁;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811463042.3/2.html,转载请声明来源钻瓜专利网。