[发明专利]基于MapReduce的大图上距离连接查询方法有效
申请号: | 201210157463.X | 申请日: | 2012-05-18 |
公开(公告)号: | CN102737114A | 公开(公告)日: | 2012-10-17 |
发明(设计)人: | 周家帅;高军;王衎;王腾蛟;杨冬青;唐世渭 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 余长江 |
地址: | 100871*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 mapreduce 大图 距离 连接 查询 方法 | ||
技术领域
本发明属于信息技术领域,具体涉及如何在MapReduce环境下有效地进行大图数据上的距离连接查询方法。
背景技术
现代社会中,图的应用越来越广泛。大部分有关图的操作都需要进行迭代搜索,例如可达性查询、最短路径查询、最小生成树查询以及距离连接查询等。这些操作的搜索空间都很大。以距离连接查询为例,给定一个有向带权图G、源结点集合S、目标结点集合T以及距离阈值dt,距离连接查询要求返回S和T之间的结点对,这些结点对之间的最短距离小于给定的阈值dt。图1给出了一个距离连接查询的示例,图1(a)表示原图G,其中结点a和b为S中的结点,结点g和h为T中的结点,距离阈值dt设为10,查询的结果有3条,如图1(b)所示。
距离连接查询在现实生活中具有广泛的应用。在一个程序员开发网络中,我们可以通过距离连接查询找到距离在某一个范围内的程序员与测试员的关系。此外,在社交网络中,发现销售者和顾客之间的距离小于给定阈值,也可以用于制定广告投放和销售策略。
距离连接查询的基本做法是:首先计算出S和T之间所有点对的最短距离,然后返回满足距离要求的点对。然而这样会导致非常大的搜索空间和计算量。此外,随着图的规模越来越大,单台机器的内存可能放不下整个图,此时还需要考虑缓冲区的问题。
已有的距离连接查询算法大多基于单台计算机,采取直接计算源结点集S与目的结点集T之间所有点对最短距离的方法,首先计算出所有点对间的最短距离,然后返回满足条件的点对。计算最短距离的方法主要采用Dijkstra(参考文献E.W.Dijkstra.A note on two problems in connexion with graphs.Numerische Mathematik,pages 269-271,1959.)或A*算法,迭代计算结点之间的最短距离。同时在搜索的过程中,利用一些索引来引导搜索,比如Landmark索引,减小搜索空间,提高迭代效率。
发明内容
本发明利用MapReduce分布式环境来对大图数据进行管理,提出了一种自适应的迭代实现方法来回答大图上的距离连接查询。MapReduce环境下,迭代任务的代价主要来自于三部分:①算法本身的复杂性;②迭代执行次数;③算法的实现方式。为了减小距离连接查询算法的搜索空间,本发明提出了一种双向剪枝搜索方法;为了减少算法的迭代次数,本发明针对不同的结点提出了一种基于Segment索引的并行拓展方式;同时考虑到MapReduce环境下,任务一般具有多种不同的实现方式。对于迭代任务来说,如何在不同的情况下,为每一次的迭代选择比较好的实现方式对于任务的执行也是非常重要的。本专利提出了一种基于代价模型的自适应算法,可以通过代价模型为每次迭代自动选择比较合适的实现方法。
本专利提出了一种尽量减小距离连接查询搜索空间以及迭代次数的自适应算法。该算法是在MapReduce的开源实现——Hadoop上进行的。本发明提出一种基于MapReduce的大图上距离连接查询方法,其步骤包括:
1)提取初始化的查询参数:原图、已访问结点、拓展范围和查询结果;
2)在hadoop上对原图进行双向拓展,拓展从源结点集合和目标结点集合开始,每次拓展基于代价模型选择执行方式,采用动态阈值剪枝操作,将新拓展的结点加入已访问结点集合;
3)继续遍历未完成拓展的剩余结点,直到所有满足拓展范围的结点都完成拓展;
4)完成迭代后,记录所述已访问节点集合中目标结点和源结点间路径查询结果,返回查询结果。
所述动态阀值剪枝操作为:对每一次正向或反向拓展,设定距离连接查询的阈值;在进行拓展时统计已访问结点集合中与源结点或目标结点间最小距离,更新阀值并对所述结点进行剪枝拓展。
动态阈值的信息存储在拓展范围FStat和BStat集合中。
在拓展操作时使用Segment索引。
每次拓展操作基于代价模型选择使用主动拓展或按需拓展的方式进行结点迭代拓展。
所述代价模型基于Hadoop构建,训练特征参数包括:1)原图自身特性;2)顺序扫描和索引访问的代价比率;3)满足拓展范围的结点数目;4)已访问结点数目。
所述主动拓展为,对已访问结点和原图同时进行Map操作,得到的结果进行Reduce操作,完成对每个满足条件结点的拓展并将结果输出到新的已访问结点集合中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210157463.X/2.html,转载请声明来源钻瓜专利网。