[发明专利]一种基于SPARK的分布式空间二级索引与范围查询算法有效
申请号: | 201910456129.6 | 申请日: | 2019-05-29 |
公开(公告)号: | CN110175175B | 公开(公告)日: | 2023-05-09 |
发明(设计)人: | 汪祖民;季长清;秦静 | 申请(专利权)人: | 大连大学 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2453 |
代理公司: | 大连智高专利事务所(特殊普通合伙) 21235 | 代理人: | 毕进 |
地址: | 116622 辽宁省*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 spark 分布式 空间 二级 索引 范围 查询 算法 | ||
1.一种基于SPARK的分布式空间二级索引与范围查询方法,其特征在于:
给定一个空间对象集合S,再给定一查询点P=(Lng,Lat)和查询半径d,在集合S中存在集合R={R1,R2...Ri}与查询点P距离小于d,记为RQ(P,S):
范围查询算法使用两阶段处理策略,第一阶段是索引的筛选,首先需要计算出查询目标大致所在的GeoHash单元网格,称作MBR,通过查找RDD中的索引表单元筛选出所有MBR作为候选集,第二阶段是遍历求精,通过二次计算与查询点的距离从候选集中求得满足查询要求的最终结果;将构建的索引转为RDD的形式被存储到内存中,在进行范围查询的时候,利用Spark的转化操作算子mapPartitions并行执行查询任务;在空间二级索引的支持下,基于Spark的范围查询的详细过程如下:已知查询点P的空间位置信息和查询半径d;首先,调用geo对象的getGeoCode方法,此方法封装了以给P为圆心,d为半径画圆,返回落在圆内和与圆相交的编码区域,得到结果集所在的GeoHash编码区域集合Kn;然后,子节点收到task任务后对空间索引RDD的分片进行检索,将检索结果并入结果集;最后,通过再次扫描筛掉结果集中实际距离大于查询半径d的数据,并返回最终结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连大学,未经大连大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910456129.6/1.html,转载请声明来源钻瓜专利网。