基于海量数据的图查询处理方法

文档序号:8380958阅读:211来源:国知局
基于海量数据的图查询处理方法
【技术领域】
[0001] 本发明涉及计算机科学,尤其涉及一种基于海量数据的图查询处理方法。
【背景技术】
[0002] 随着物联网、移动互联网、云计算以及各种数据自动采集技术的迅猛发展,许多应 用领域在迅速积累着大量的数据。大数据将成为继云计算、物联网之后信息技术产业又一 次颠覆性的技术变革。大数据不单指数据的量大,也指数据的结构多样化、内部关系复杂。 图模型是一类表现力强而通用性高的数据结构,用于描述对象及对象之间相互联系的数据 结构模型。简言之,图是是由节点(即对象)与连线(即对象间的联系)构成的。图数据是具 有此类网络结构的各类数据的统称。
[0003] 当前研究的图结构是许多海量数据如社会化媒体数据和生物数据的重要表现,所 以图数据处理、查询和挖掘算法是解决大数据问题的关键技术。目前,国内外知名企业和高 校对图的研究非常重视。比如!Microsoft研究院基于云计算的Trinity项目,研究用于数 据中心的Querying Large Distributed Graph项目;Google用于大图处理的系统Pregel 和MapReduce ;亚虎研究院的Graph Partitioning项目;Neo4j公司的开源图数据库;UCSB 大学的"Massive Graphs in Clusters"项目。
[0004] 图查询语言:从查询语言的功能来看,图的查询语言大体可分为两类。一类是 Ad-hoc图查询语言:用以完成图中的某单项查询任务。通常这类图的查询没有明确的规定 查询语言的语法,比如可达性类查询,最短路径/距离类查询,最近邻节点类查询,子图类 查询。另一类是通用图查询语言:可以完成多项查询任务,通常这类图的查询明确定的规定 了查询语言的语法及其表达能力,比如GraphQL、SoQL、ECRPQs等。
[0005] 目前的一个研究是通过扩展已有的图查询语言来设计新型的图查询语言,通过 增加其表达能力,来适应新的应用带来的需求。新型语言的设计需要在图的表达能力和 查询复杂性之间有一个权衡。其中子图同构查询结构保持严密,但查询时间复杂度高 (NP-complete),而图模拟查询虽然复杂性较低(多项式时间),但结构损失严重。目前这个 问题没有得到很好的解决。而这个问题是解决大规模图查询的关键问题之一。本质上,这 是一个查全率、查准率和查时间复杂性的权衡问题。
[0006] 当微博数据表示为图时,图的顶点和边都带有类型。比如,顶点可以分为用户、应 用、微群等类型,而这些不同类型顶点之间的边也有不同的类型。目前有很多传统的查询, 如PageRank,关键字查询等,在多类型图上缺少合理的语义。而这是分析多类型图必须要解 决的一个重要的问题。我们发现这方面的研究工作相对欠缺,只有很少的文献对这类问题 进行了初步的探讨。
[0007] 图的查询处理:图查询的研究包括图数据的查询、并行图查询和分布式图查询。因 为不同的图查询的共性较少,大家主要针对某种特定查询语言做研究。另外,也研究如何通 过建立图索引等方法来进行查询的优化。目前,有很多并行的图查询的软件包,Google也 提供了 Pregel和MapReduce来支持分布式图查询。但由于图的查询语言的特点,这些系统 并不能有效的支持所有的查询语言,并且其中关键的功能仍然需要用户自己实现。
[0008] 数据库应用里,早就存在着对子图匹配问题的研究,传统上,子图匹配是指子图同 构,根据给定查询图的大小和结构来查找匹配,即一个小图是否完全包含在另一个图中或 者是否包含在一个大型图数据的集合中。子图同构在数据库方面的主要应用是频繁子图挖 掘:对于许多包含上千个节点的小型数据图集合的情况。
[0009] 针对单个大型数据图所包含的子图进行匹配查询,我们将所有的这种同类工作可 按照是否存在给定查询图来进一步区分。若用户没有指定查询图,采用关键字查找类研究, 要求在数据图中找出包含用户给定的关键字的top-k连通树。
[0010] 另外,许多工作是针对给出查询图的情况,也是本发明要研究的方向。许多研究并 没有考虑找出查询图的top-k匹配。有的只研究了给定查询图的k个较好的匹配,可能其算 法找出的k个匹配并不一定是所有最好的匹配,所以该论文中的问题定义与本文不同。有 的在算法研究给定查询图的嵌入查询。如相似函数,比如图编辑距离,用于衡量匹配与查询 图之间的相似度。可能其算法找到的top-k查询不要求所有的连接约束都满足数据图中的 连接路径。但是,本发明的查询要求匹配结果与查询图具有相同的结构(精确匹配)。有的 算法首先找出全部匹配,因为首先找出全部匹配再按权重排序并选出top-k解,这样会十 分耗时,也不能直接用于kGPM。

【发明内容】

[0011] 本发明的目的在于提供一种基于海量数据的图查询处理方法,能够快速和方便的 基于海量数据进行图查询处理。
[0012] 为了达到上述目的,本发明提供了一种基于海量数据的图查询处理方法,其包括 以下步骤:
[0013] S1、定义路径长度S,遍历不同节点的出发路径,记录长度不大于所述路径长度S 的路径,并重复通过Map、Reduce方法获得多个连接表;
[0014] S2、采用所述多个连接表构建一个多重排序匹配列表,并对该排序匹配列表进行 全部查询,找到最接近的K个匹配来多维表示;
[0015] S3、米用所述多维表不建立一个图模型;
[0016] S4、根据所述图模型来定义一个查询区域,并计算所述排序匹配列表中序列的大 小;
[0017] S5 :定义查询图Q,并根据该查询图Q获得其任意生成树;
[0018] S6:根据所述排序匹配列表中序列的大小生成按从大到小顺序排列的查询树,得 排好序的查询树匹配列表;
[0019] S7 :对每条查询树缺失的边进彳了最短路径计算;
[0020] S8 :通过所述查询树缺失的边的最短路径寻找对应的查询图Q ;
[0021] S9 :所述查询图Q采用评分函数计算出其权重,以得到查询图Q的top-k解。
[0022] 优选的,在步骤Sl中,所述Map、Reduce方法采用MapReduce计算模型分解而来。
[0023] 优选的,在步骤S3中,所述图模型包含查询图和查询树的图嵌入。
[0024] 优选的,在步骤S4中,对于查询区域,需完全覆盖这个查询区域,覆盖方法包括: 移动垂直于每个坐标轴的平面来扫描整个空间,匹配区域必须包含在其中至少一个扫描平 面的区域中。
[0025] 优选的,在S9中,所述采用的评分函数为
【主权项】
1. 一种基于海量数据的图查询处理方法,其特征在于,包括以下步骤: 51、 定义路径长度S,遍历不同节点的出发路径,记录长度不大于所述路径长度S的路 径,并重复通过Map、Reduce方法获得多个连接表; 52、 采用所述多个连接表构建一个多重排序匹配列表,并对该排序匹配列表进行全部 查询,找到最接近的K个匹配来多维表示; 53、 采用所述多维表示建立一个图模型; 54、 根据所述图模型来定义一个查询区域,并计算所述排序匹配列表中序列的大小; 55 :定义查询图Q,并根据该查询图Q获得其任意生成树; 56 :根据所述排序匹配列表中序列的大小生成按从大到小顺序排列的查询树,得排好 序的查询树匹配列表; 57 :对每条查询树缺失的边进行最短路径计算; 58 :通过所述查询树缺失的边的最短路径寻找对应的查询图Q; 59 :所述查询图Q采用评分函数计算出其权重,以得到查询图Q的top-k解。
2. 根据权利要求1所述的基于海量数据的图查询处理方法,其特征在于,在步骤S1中, 所述Map、Reduce方法采用MapReduce计算模型分解而来。
3. 根据权利要求1所述的基于海量数据的图查询处理方法,其特征在于,在步骤S3中, 所述图模型包含查询图和查询树的图嵌入。
4. 根据权利要求1所述的基于海量数据的图查询处理方法,其特征在于,在步骤S4中, 对于查询区域,需完全覆盖这个查询区域,覆盖方法包括:移动垂直于每个坐标轴的平面来 扫描整个空间,匹配区域必须包含在其中至少一个扫描平面的区域中。
5. 根据权利要求1所述的基于海量数据的图查询处理方法,其特征在于,在S9中, 所述采用的评分函数戈
其中,u,vGMQ,(A,D)= (A-Hu),A-i(v))为Q中的辺,c〇i,D)为与鱼调辺(A,D)夭联的系数。
【专利摘要】本发明提供了一种基于海量数据的图查询处理方法,带来一系列有益的技术效果,如在面对海量的图数据,无论是在庞大的数据规模上,或是数据的内部结构和关系的多样和复杂上,都能有效的进行处理,可以在查询研究工作中很好的解决top-k问题,也能够直接的求解top-k的子图匹配。
【IPC分类】G06F17-30
【公开号】CN104699698
【申请号】CN201310654842
【发明人】陈春, 成杰峰, 张慧玲
【申请人】深圳先进技术研究院
【公开日】2015年6月10日
【申请日】2013年12月5日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1