[发明专利]基于MapReduce与倒排泰森多边形的大规模近邻查询方法在审
申请号: | 201710975974.5 | 申请日: | 2017-10-19 |
公开(公告)号: | CN107844532A | 公开(公告)日: | 2018-03-27 |
发明(设计)人: | 季长清;汪祖民;秦静;吴锐 | 申请(专利权)人: | 大连大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 大连智高专利事务所(特殊普通合伙)21235 | 代理人: | 毕进 |
地址: | 116622 辽宁省*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 mapreduce 倒排泰森 多边形 大规模 近邻 查询 方法 | ||
1.一种基于MapReduce与倒排泰森多边形的大规模近邻查询方法,其特征在于,包括如下步骤:
S1.构造基于MapReduce的倒排Voronoi索引;
S2.使用倒排Voronoi索引对数据集R和S进行分区;
S3.使用基于MapReduce的IVKNN进行分布式kNN查询。
2.如权利要求1所述的基于MapReduce与倒排泰森多边形的大规模近邻查询方法,其特征在于,构造基于MapReduce的倒排Voronoi索引的步骤如下:
S1.1.d维空间中给定两个数据集R和S,Hadoop进行分片,部分mappers同时并行运行,在MapReduce任务中,使用默认的reducer,在启动map函数之前,使用预聚类算法得到代表点p,并加载到每个map的主存中;
S1.2.在每一个map处理进程中,依次利用TextInputForma来读取输入的分片,TextInputFormat从文件读取数据到Mapper的实例中,分别计算数据集R中的m个对象r与各代表点p之间的距离、数据集S中的n个对象s与代表点p之间的距离,并将距离数据集R中的第i个对象r与数据集S中的第j个对象sj的最接近的代表点Pij选出并聚集在Voronoi单元格VCi中,形成m个VC的分区VC1~VCm,所述的i顺序取遍1~m,并且,当i顺序取1~m中的一个具体值时,在i的该值下,j顺序取遍1~n的所有值,得到m个存储最接近的代表点的Voronoi单元格;输出<VCi,List(Pij)>对;
已知查询点p,判别其最邻近的VCi或最一些邻近的VCi集,由mapper输出所述最邻近的VCi或最一些邻近的VCi集对应的原始数据集R和/或S中的r、s对象,并输出最邻近的VCi或最一些邻近的VCi集的id;
S1.3.将mapper输出到Hadoop的文件系统。
3.如权利要求2所述的基于MapReduce与倒排泰森多边形的大规模近邻查询方法,其特征在于,在所述步骤S1.2中,所述的将距离数据集R中的第i个对象r与数据集S中的第j个对象sj的最接近的代表点Pij选出并聚集在Voronoi单元格VCi中,形成m个VC的分区VC1~VCm的过程如下:
数据集R中第一个对象r1与数据集S中的第一个对象s1的最接近的代表点为P11,数据集R中第一个对象r1与数据集S中的第二个对象s2的最接近的代表点为P12,······,数据集R中第一个对象r1与数据集S中的第n个对象sn的最接近的代表点为P1n,该n个最接近的代表点选出并聚集在Voronoi单元格V1中;
······
数据集R中第m个对象rm与数据集S中的第一个对象s1的最接近的代表点为Pm1,数据集R中第m个对象rm与数据集S中的第二个对象s2的最接近的代表点为Pm2,······,数据集R中第m个对象rm与数据集S中的第n个对象sn的最接近的代表点为Pmn,该n个最接近的代表点选出并聚集在Voronoi单元格Vm中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连大学,未经大连大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710975974.5/1.html,转载请声明来源钻瓜专利网。