【技术实现步骤摘要】
一种基于MapReduce的最邻近空间集合关键字查询方法
[0001]本专利技术属于数据查询
,具体涉及一种最邻近空间集合关键字查询方法。
技术介绍
[0002]随着定位技术的出现和移动设备的普及,许多网页,社交网络和其他数据都添加了“位置”标签,基于关键字和位置匹配的空间关键词查询在网络上迅速增长,极大的丰富了基于地图的位置服务的资源,改变了人们在日常生活中位置查询的方式,更好的服务了人们的生活。在各种基于关键字的位置信息查询中,单一关键字查询较为常见,比如在百度地图中搜索“加油站”或“便利店”等。随着请求的日益复杂,多个关键字被一个空间对象所包含变得越来越难,查询目标逐渐从一个空间对象变成多个空间对象的集合,比如查询{“加油站”,“餐馆”}可以找到相距较近的位置区域。
[0003]这种从单一对象到对象所在区域的查找方法也被称为空间集合查询,近年来引起了研究人员的关注。由于传统区域数据库的存储和计算能力有限,因此在大型数据的环境下的空间集合查询仍处于理论研究中,未存在成熟的基于地图的空间集合查询应用。
[0004]面向大数据的空间对象查询的方法主要包括以下两种:1)直接应用现有环境进行大数据的并行计算以解决空间查询问题,例如MapReduce解决K
‑
NN查询;2)扩展现有大数据系统以解决空间范围查询问题,例如基于Hadoop的TAREEG解决空间查询问题以及MoDisSENSE解决时间和空间等级查询问题。当前面向大数据的集合空间关键字查询主要在研究阶段,并未有相关实际的应用 ...
【技术保护点】
【技术特征摘要】
1.一种基于MapReduce的最邻近空间集合关键字查询方法,其特征在于,包括如下步骤:步骤1:地图位置对象数据的格式包含:1)数据所包含的关键字;2)数据的经纬度坐标;所有数据存放在HDFS中;步骤2:设置查询关键字,从HDFS的block读取对象数据,对象数据读取过程中,根据对象数据包含的关键字,将符合查询条件的对象数据放在内存中,并根据查询关键字生成该对象数据的keyBit,keyBit是表示对象数据包含关键字的二进制代码;然后序列化HilbertCurve对象,根据HilbertCurve对象的经纬度坐标求出其Hilbert value,建立Hilbert R
‑
树,并将Hilbert R
‑
树传给所有的计算节点;步骤3:叶子节点对角线剪枝方法;步骤3
‑
1:生成一个叶子节点,判断该叶子节点所包含的查询关键字,如果该叶子节点包含所有查询关键字,那么将该叶子节点的对角线距离设置为阈值;步骤3
‑
2:重复步骤3
‑
1,如果新生成的叶子节点包含所有的查询关键字,且对角线距离小于阈值,则用新生成的叶子节点的对角线距离更新阈值,直到所有的叶子节点全部生成完;最终得到的阈值记为S;步骤4:圆扫描剪枝方法;遍历所有对象数据,以数据对象为圆心,为直径构建一个圆,判断该圆区域内是否包含所有的查询关键字,如果不包含所有查询关键字,则将该对象数据从对象集合中删除;步骤5:遍历剩余对象数据,采用两点配对法进行对象数据的两两配对,形成对象对;步骤6:对象配对方法;步骤6
‑
1:用Hilbert R
‑
树的根节点与自身配对;步骤6
‑
2:对于非叶子节点对,列举所有的子节点对,如果两个节点所对应的矩形的最小距离大于S,则忽略该节点对,否则继续进行子节点进行配对;对于叶子节点对,列举所有的对象...
【专利技术属性】
技术研发人员:邱原,刘作,陈雄博,肖浩,白雪茹,魏锦波,
申请(专利权)人:广西东信易通科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。