当前位置: 首页 > 专利查询>深圳大学专利>正文

一种基于MapReduce的大规模图数据关键词搜索方法技术

技术编号:11249983 阅读:111 留言:0更新日期:2015-04-01 23:33
本发明专利技术公开一种基于MapReduce的大规模图数据关键词搜索算法,基于分布式编程框架MapReduce来处理大规模图数据的关键词搜索,在大规模图数据关键词搜索问题中具有良好的适用性,从根本上解决了基于内存的贯序算法的局限性,在社交网络分析、图数据管理、和图数据挖掘等相关技术领域具有广泛的应用前景。

【技术实现步骤摘要】
【专利摘要】本专利技术公开,基于分布式编程框架MapReduce来处理大规模图数据的关键词搜索,在大规模图数据关键词搜索问题中具有良好的适用性,从根本上解决了基于内存的贯序算法的局限性,在社交网络分析、图数据管理、和图数据挖掘等相关
具有广泛的应用前景。【专利说明】
本专利技术涉及。
技术介绍
近年来,大规模图数据的关键词搜索问题已经在学术界和工业界都引起了广泛的关注。目前,该问题被已经被认为是图数据库领域最基本的问题之一,并且学术界对这一问题的研宄取得了很好的进展。 在学术界,被广泛使用的关键词搜索语义主要有三种:连通树语义(connectedtree semantics 、不同根语义(distinct root semantics) ,以及不同核语义(distinct core semantics) 。在上述三种语义中,连通树语义(the connected treesemantics)会产生大量的子图;不同根语义(the distinct root semantics)会产生一个包含查询关键词集的极大子图;不同核语义(the distinct core semantics)是前面两者的折中,其产生的结果子图大小适中,更能反映用户对图数据关键词检索的需求,这一语义也是目前公认较好的关键词搜索语义。 所述的不同核语义能够很好地解决图数据中的关键词搜索问题。然而,基于这一语义,现有的关键词搜索算法主要都是基于内存的序贯算法,显然不适用于处理大规模图数据。也即,现有的算法必须要求整个图数据存储在内存中,而且现有的算法都不能较好地并行处理图数据的关键词搜索问题,因而不适用于处理大规模图数据的关键词搜索。然而,在很多实际应用中,图数据的规模日趋庞大。例如:在Facebook的社交图谱数据中,如果用节点代表每个用户,边代表用户间的朋友关系。那么,在这个图数据中将有超过8亿个节点和超过520亿条边。对于基于内存的序贯算法来说,这将是一个灾难。
技术实现思路
本专利技术提供,该算法首次提出了基于分布式编程框架MapReduce来处理大规模图数据的关键词搜索,解决了所述的
技术介绍
无法适用大规模图数据的问题。 本专利技术通过以下技术手段实现: ,包含以下步骤: S1、关键词节点扩展:使用两个MapReduce任务迭代进行关键词扩展;所述MapReduce I合并文件dfile和文件sfile中的数据;所述的MapReduce 2对MapReducel产生的节点所有可能的扩展方式,保留其中路径距离小于Rmax并且路径最短的点对; S2、中心节点扩展:使用I个MapReduce任务产生包含所有关键词的星型集合stars ; S3、社区生成阶段:使用I个MapReduce任务生成包含所有查询关键词的社区。 其中,所述的文件kfile存储每个节点所包含的关键词,每个节点V e V(G)都以 V— key (V)的形式存储在键值对中。 其中,所述的文件sfile存储图的结构,其中,每条边(U,V) e E(G)都以u — (V, we (U,V))的形式存储在键值对中,表示从节点u到节点V有一条权值为we (u, v)的边。 其中,还包含临时文件dfile来存储所有关键词/中心节点对的最短路径,存储形式为u — (V, ki; dist (u, V))键值对,表示节点u可以在经过dist(u, v)的距离到达包含关键词h的节点V。 其中,MapReduce I在关键词节点扩展的Map阶段,为dfiIe中所有的点对u— (V, k” dist (U,V))创建键值对并标记为关键词对(keyword-pair);为sfile中所有的边u — (V, we (U,V))统一创建u — (V, Φ,we (v, u))格式的键值对并标记为结构点对 (structure-pair) ;MapReduce I在关键词节点扩展的Reduce阶段,具有相同key的关键词对和结构点对被分配到同一分组;对每一关键词对u — (V, ki; dist (u, V))和每一结构点对 u — (V, Φ, we (V, U)),产生一个 V' — (v, ki; we (vr,u)+dist (u, v))键值对并输出到临时文件temp中。 其中,MapReduce 2在关键词节点扩展的Map阶段,为文件dfiIe中的点对u — (V, k” dist (U,V))创建格式为(U,V, kj) — dist (u, v)的键值对;扫描 MapReduceI产生的临时文件temp,为temp中的点对u — (v, ki; dist(u, v))创建格式为(u, v, kj) — dist (u, V)的键值对;MapReduce 2在关键词节点扩展的Reduce阶段,创建一个空的dfile2文件,对于有相同key (u, v, kj的键值对,保留其中路径dist (U,V)最短的,然后,仓Il建格式为u — (v, ki; dist(u, v))的键值对并输入到文件dfile2中;idfile2和文件dfile相同的时候,迭代停止。 其中,所述中心节点扩展的Map阶段,为dfile文件中的每个点对 V— (u, k” dist (V, U))创建一个格式相同的键值对;所述中心节点扩展的Reduce阶段,通过grouping函数把具有相同中心节点v且距离在Rmax内的关键词节点分配到同一组,并输出到cfile文件。 最后,社区生成阶段的Map阶段,把中心节点阶段输出cfile作为Mapper函数输入并创建(UdU2,...,U1) — V键值对;在社区生成阶段的Reduce阶段,使用grouping函数把具有相同核...,U1)的星型结构集分配到同一组,并对所有的中心节点集(V1, V2,...)求笛卡尔积来产生所有可能社区,所述的(UpU2,..* , U1)表示社区的核,(V1, V2,...)表示社区的中心节点。 以上基于分布式编程框架MapReduce来处理大规模图数据的关键词搜索,在大规模图数据关键词搜索问题中具有良好的适用性,从根本上解决了基于内存的贯序算法的局限性,在社交网络分析、图数据管理、和图数据挖掘等相关
具有广泛的应用前景。 【专利附图】【附图说明】 图1为问题定义示意图; 图2为Mapreduce第一阶段示意图; 图3为Mapreduce第二阶段示意图; 图4为Mapreduce第三阶段示意图; 图5为本专利技术算法流程不意图; 图6为关键词扩展示例; 图7为中心节点扩展示例; 图8为社区生成示例。 【具体实施方式】 以下将结合附图对本专利技术的具体实现过程进行详细说明。 为了更好的说明本专利技术,先对
技术介绍
提到的问题进行定义如下: 给定一个如图1所示的图G和一个关键词集合q= Ik^k2, - ,kj,找出图G中包含所有关键词的连通子图,即找出包含关键词集q = { “Jim”,” Thomas”}的连通子图: 以下说明书中,图G= (V,E)表示带权值的有向图,其中,V表示G中的节点集,E表示G中节点间的边集。 ke本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/201410736421.html" title="一种基于MapReduce的大规模图数据关键词搜索方法原文来自X技术">基于MapReduce的大规模图数据关键词搜索方法</a>

【技术保护点】
一种基于MapReduce的大规模图数据关键词搜索算法,包含以下步骤:S1、关键词节点扩展:使用两MapReduce任务迭代进行关键词扩展;所述的MapReduce 1合并文件dfile和文件sfile中的数据;所述的MapReduce 2对MapReduce1产生的节点所有可能的扩展方式,保留其中最短路径距离小于Rmax的点对;S2、中心节点扩展:使用1个MapReduce任务产生包含所有关键词的星型集合stars;S3、社区生成阶段:使用1个MapReduce任务生成包含所有查询关键词的社区。

【技术特征摘要】

【专利技术属性】
技术研发人员:李荣华廖凯华毛睿秦璐蔡涛涛邱宇轩
申请(专利权)人:深圳大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1