CN106991195A - 一种分布式的子图枚举方法 - Google Patents
一种分布式的子图枚举方法 Download PDFInfo
- Publication number
- CN106991195A CN106991195A CN201710295982.5A CN201710295982A CN106991195A CN 106991195 A CN106991195 A CN 106991195A CN 201710295982 A CN201710295982 A CN 201710295982A CN 106991195 A CN106991195 A CN 106991195A
- Authority
- CN
- China
- Prior art keywords
- query
- matching result
- summit
- tree
- distributed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000005540 biological transmission Effects 0.000 claims abstract description 8
- 238000000205 computational method Methods 0.000 claims abstract description 5
- 241001269238 Data Species 0.000 claims description 2
- 238000003780 insertion Methods 0.000 description 10
- 230000037431 insertion Effects 0.000 description 10
- 238000012804 iterative process Methods 0.000 description 9
- 238000000354 decomposition reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003012 network analysis Methods 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2237—Vectors, bitmaps or matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分布式的子图枚举方法,包括以下步骤:第一步,根据输入的查询图生成一棵查询树,并将查询树分发到各个计算节点;第二步,根据查询树在输入的数据图上查询出部分匹配结果;第三步,根据部分匹配结果和查询树,完成子图匹配任务,生成匹配结果。其中第二步查询部分匹配结果在分布式图计算框架中完成,该步骤又分为以下两个子步骤:第一步,接收邻居顶点发送的部分匹配结果并进行连接操作生成新的部分匹配结果;第二步,将新的部分匹配结果发送给邻居节点。本发明在分布式环境中高效地完成了子图枚举计算任务,改善了现有的分布式子图枚举计算方法网络开销过大,性能较低等问题。
Description
技术领域
本发明涉及子图枚举问题与并行计算技术领域,尤其涉及基于Pregel编程框架的分布式子图枚举方法。
背景技术
子图枚举问题是计算机图数据结构上的一类基本问题。子图枚举为以子图为处理单元的图分析算法提供了分析基础,在生物信息学、社交网络分析以及描述社会网络演变等诸多领域都有着广泛的应用。子图枚举问题在计算机领域是一个困难的问题,计算的复杂度非常高。一方面,前人从单机时代已经对这个问题进行了大量的研究,单机子图枚举算法大部分是基于深度优先搜索的方法来实现。但是由于子图枚举问题的复杂度过高,单机的方法经常使用剪枝以及索引等方法来降低计算的复杂度。但是,这些方法并没有从根本上解决子图枚举算法复杂度过高的问题。另一方面,通用集群蓬勃发展。它们有着搭建成本低,易于使用和维护等优点,并且随着以Apache Spark为代表的数据并行计算框架和以HDFS为代表的分布式存储系统的发展,通用集群具有了更加良好的容错性,计算和存储能力也可以方便地水平扩展。因此,基于各种分布式计算框架的分布式子图枚举计算方法应运而生。这些方法利用集群这种分布式的计算平台来解决大规模的子图枚举问题。
分布式子图枚举问题,前人已经做了非常多的研究。随着大数据基本技术的不断发展,基于不同的大数据引擎的分布式子图枚举算法应运而生。在以MapReduce为编程框架的Hadoop大数据计算平台上,前人提出了TwinTwigJoin方法来解决分布式的子图枚举计算问题。在以Pregel为编程框架的Giraph大数据计算平台上,前人提出了PSgL方法来解决分布式的子图枚举。目前性能最好的算法是基于Hadoop平台的SEED算法,但是该方法需要大量的预处理计算来生成索引,对于数据更新频繁的互联网应用来说,并不便于使用。
目前公认的无须索引的、性能最好的分布式子图枚举方法是TwinTwigJoin。这个方法将查询图分解成一棵左深二叉查询树。根据这棵查询树依次从树的底层往上逐渐生成部分匹配结果,直到处理到这棵查询树的根节点,即得到了所有的匹配结果。该方法存在以下几个问题:一是中间产生的部分匹配结果过大,这些结果都需要通过网络发送到其他机器上,这样会导致大量的网络通信开销;二是迭代的次数过多,将查询图转成左深二叉树,将导致查询树的高度过高,中间结果传输次数过多,造成严重的性能问题。
发明内容
发明目的:针对上述现有技术存在的问题和不足,本发明的目的是提供一种在分布式的环境下不需要使用索引的子图枚举方法,解决了现有方法网络传输量过高,网络传输次数过多,需要预处理以及性能较低的问题。
技术方案:为实现上述发明目的,本发明采用的技术方案为一种子图枚举的分布式并行方法,包括以下步骤:
(1)由用户输入两个输入数据:查询图和数据图;
(2)根据输入的查询图确定查询图上的每个顶点的权重;
(3)根据查询图和每个顶点的权重信息,生成一棵查询树;
(4)先将数据图以邻接表的格式存储到分布式数据库中,然后以查询树中高度为2的顶点作为初始查询点;
(5)在第一轮迭代开始之前,将数据图中的每个顶点设为活跃状态;
(6)对于数据图的各个活跃顶点,按照如下的计算方法,计算部分匹配结果:根据该活跃顶点接收到的邻居顶点发送过来的部分匹配结果,生成该活跃顶点本轮迭代的部分匹配结果,如果本轮的结果为空,则将该活跃顶点的自身状态设置为不活跃;
(7)数据图的每个活跃顶点按照发送函数向该活跃顶点的邻居顶点发送消息;
(8)对于查询树和数据图,多次迭代执行所述步骤(6)到步骤(7),直到查询树自身已经匹配完成,匹配出来的部分匹配结果保存在数据图的各个顶点上;
(9)依据查询树和步骤(8)中得到的部分匹配结果,生成最终的子图枚举匹配结果。
进一步地,所述步骤(2)中,将查询图中每个顶点的度数作为每个顶点的初始权重。
进一步地,所述步骤(3)中,选择权重最高的点插入到查询树中,并从查询图中删除这个点及其相关的边,并更新各个顶点的度数信息作为新的权重。重复这个过程,直到查询图的所有边都已经被全部删除。
进一步地,所述步骤(4)中,查询树上顶点高度为2的所有顶点均为初始查询点。
进一步地,所述步骤(5)中,在第1轮迭代之前,所有数据图顶点均为活跃状态,且不会收到别的顶点传过来的部分匹配结果。
进一步地,所述步骤(6)中,每个活跃状态的顶点的计算方法为:根据该顶点收到的部分匹配结果(在第0轮迭代时,不会收到任何部分匹配结果;在其他轮迭代时,会收到由邻居顶点发送过来的部分匹配结果),首先完成两件事:一,根据收到的部分匹配结果确定本轮超级步匹配的是查询树上的哪一棵子树;二,根据收到的部分匹配结果,和当前数据图顶点的邻接表信息,生成子树在当前数据图顶点上的部分匹配结果。
进一步地,所述步骤(7)中,每个活跃的顶点向该顶点的邻接点发送本轮生成的部分匹配结果。
进一步地,所述步骤(8)中,使用分布式图计算框架,通过多轮迭代完成步骤(6)到步骤(7)。
进一步地,所述步骤(9)中,在数据图的所有顶点上,根据查询树和第(8)步中迭代完成后得到的部分匹配结果,匹配查询树上的所有叶子结点,并得到最终完整的匹配结果。
有益效果:本发明给出了一种能够在分布式计算环境中进行子图枚举计算的方法。第一,本发明将分布式子图枚举问题解构为上述步骤,这些步骤可以有效地减少分布式情况下的网络传输数据量,高效的完成分布式子图枚举计算功能;第二,本发明使用通用的分布式图计算框架,可以享受到分布式图计算框架带来的性能提升,并且具有良好的扩展性。第三,本发明不需要任何索引构建的预处理过程,适合于图数据经常更新的应用场景。
附图说明
图1为本发明的方法总体流程示意图;
图2(a)为本发明的一个查询图示例;
图2(b)为本发明的一个数据图示例;
图2(c)为本发明的一个查询树示例;
图3为本发明中Pregel编程框架超级步迭代步骤的流程示意图;
图4为本发明中图2所示示例的最终匹配结果示意图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
本发明提出了一种基于分布式图计算框架的分布式子图枚举方法。该方法包含三个子方法。第一,本发明提出了一种查询分解的方法(对应步骤(2)到步骤(3));其二,本发明提出了一种查询部分匹配结果的方法(对应步骤(4)到步骤(8)));其三,本发明提出了一种根据部分匹配结果得到最终匹配结果的查找方法(对应步骤(9))。
如图1所示,本发明的完整流程包括查询分解步骤、通过分布式图计算框架完成部分匹配结果的生成步骤以及最终结果的生成步骤3个部分。具体的实施方式分别说明如下:
查询分解阶段对应技术方案步骤(2)和(3)。
步骤(2)的具体实施方式为:将查询图的每个顶点的度数作为该顶点的权重。
步骤(3)的具体实施方式为:给定查询图中的边的集合。步骤(3)通过多轮迭代完成查询树生成。在每轮迭代中,在查询图中选择一个查询点,在查询树中查找这个查询点对应的插入点,将这个查询点在边集中的所有邻居节点作为子节点插入到查询树的插入点中。迭代执行上述任务,直到查询图中边集为空。下面具体说明查询树的插入过程。
在第一轮迭代开始之前,以查询图中权重最大的点作为查询树的根节点,以该节点的所有邻居结点作为查询树的根节点的子节点,组成初始的查询树。然后将查询图中选中的顶点及其邻接边从查询图中删除。
然后迭代开始。每一轮迭代过程中,从当前的查询图中选择权重最大的点作为查询点,从当前的查询树的叶子结点中选择和查询点编号相同,离根节点最近的叶子结点作为插入点。将查询点在边集中的所有邻居节点作为插入点的子节点插入到查询树中,成为插入点的子节点。完成插入后,将插入点及其邻接边从查询图中删除。然后更新查询图各顶点的度数作为新的权重。一轮迭代过程完成。
重复上述迭代过程,直到查询图边集为空。
以图2(a)中给出的查询图和图2(b)中给出的数据图为例,生成图2(c)给出的查询树。具体的实施方法如下:给出查询图{q0,q1,q2,q3,q4,q5}的初始权重{1,3,2,3,2,1},边集{q0-q1,q1-q2,q1-q4,q2-q3,q3-q4,q3-q5}。选择权重最大的点q1作为初始点。查询树为{q1-q0,q1-q2,q1-q4},即q1作为查询树的根节点,q0,q2,q4作为q1的叶子结点。此时更新权重为{0,0,1,3,1,1},边集删除{q0-q1,q1-q2,q1-q4}。从查询树叶子结点中选择权重最大的点q2作为查询点,查找查询树上q2对应的插入点t2,将t3作为t2的子结点插入到查询树中,此时更新权重为{0,0,0,2,1,1},边集删除{q2-q3}。从查询树叶子节点中选择q3作为插入点,将q3的邻接点q4,q5作为t3的叶子结点插入到查询树中,此时更新权重为{0,0,0,0,0,0},边集删除{q3-q4,q4-q5}。至此边集为空。查询树生成方法执行完成。
通过分布式图计算框架完成部分匹配结果的生成阶段对应技术方案步骤(4)到(8)。
具体实施方式为:本技术方案是基于分布式图计算框架,计算由一系列迭代计算过程构成。在第0轮迭代时,所有数据图顶点均为活跃状态;在迭代过程中,数据图的各个顶点会收到上一轮迭代中它的邻接顶点发送过来的部分匹配结果,并且在本轮迭代中生成自己的部分匹配结果,如果本轮迭代中没有生成有效的部分匹配结果,则该顶点将自身状态设置为不活跃。
在每一个迭代过程中,每个处于活跃状态的数据图顶点的计算函数为:根据该顶点收到的部分匹配结果(在第0轮迭代时,不会收到任何部分匹配结果;在其他轮迭代时,会收到由邻居顶点发送过来的部分匹配结果),首先完成两件事:一,根据收到的部分匹配结果确定本轮所匹配的查询子树;二,根据收到的部分匹配结果,和当前数据图顶点的邻接表信息,生成本轮查询子树在当前数据图顶点上的部分匹配结果。
进一步地,确定本轮查询子树的方法为:从邻接点接收到的部分匹配结果中,包含有对应的上一轮查询子树的信息。以上一轮查询子树的父节点为根的查询子树,就是本轮迭代中需要处理的查询子树。进一步地,生成部分匹配结果的方法为:先从分布式数据库中获取数据图中当前顶点的邻接点列表,然后再遍历收到的部分匹配结果,对收到的部分匹配结果和当前顶点的邻接点列表,按照查询图对应点相同的原则,做基于笛卡尔积的连接操作,获得本轮当前查询子树的匹配结果。进一步地,对于本轮查询子树的部分匹配结果,其中只保存本轮查询子树中非叶节点的匹配信息。
在生成本轮查询子树的部分匹配结果之后,每个活跃的数据图顶点向该顶点的邻接点发送本轮生成的部分匹配结果。如果本轮生成的部分匹配结果为空,则该顶点将自己设置为不活跃的状态,否则该顶点继续保持活跃。
使用Pregel编程框架完成上述的迭代过程(Pregel编程框架是分布式图计算框架的一种,在Pregel编程框架中,迭代过程为超级步迭代过程),迭代终止的条件是查询树的所有子树(含查询树本身)都已完成匹配。迭代终止后,对应于查询树本身的部分匹配结果保存在数据图的各顶点上。
以图2(b)、(c)中给出的数据图、查询树为例,在图3中展示了使用Pregel编程框架作为本例中的分布式图计算框架来进行超级步迭代过程的一个示例。在此,只选择一个部分匹配结果为例子进行说明,其他匹配结果同理。首先,整个查询过程以查询树上的以顶点t2为根的查询子树作为初始查询子树,开始匹配。图3中,示例了在数据图顶点d2的匹配过程,从分布式数据库中获得顶点d2的邻接点列表,即{d0,d1,d3,d5}。得到以t2为根节点的查询树的匹配结果为:得到以2为根节点的查询树的匹配结果:{d2,d0},{d2,d1},{d2,d3},{d2,d5}。在本轮超级步迭代结束时,顶点d2将结果发送到它的邻接点{d0,d1,d3,d5}上。图3示例了将上述部分匹配结果发送给顶点d1的过程。在下一轮超级步迭代中,顶点d1收到了上一轮迭代中顶点d2发送过来的部分匹配结果。顶点d1根据这些部分匹配结果,确定了本轮需要处理的查询子树是查询树中的节点t2的父节点,即以节点t1为根的查询子树(即查询树本身)。数据图顶点d1从分布式数据库中获得其邻接点列表{d0,d2,d3,d4},然后将收到的部分匹配结果和邻接点列表进行基于笛卡尔积的连接操作,得到以节点t1为根的查询子树(即查询树本身)的匹配结果为:查询子树{q1,q2,q3}的匹配结果为:{d1,d2,d0},{d1,d2,d1},{d1,d2,d3},{d1,d2,d5}。至此,查询树本身已经匹配完成。
扩展部分匹配结果的阶段对应技术方案步骤(8)。具体实施方式为:根据上述得到的部分匹配结果,对每个部分匹配结果进行扩展。进一步地,对于每个部分匹配结果扩展的方法为:从分布式数据库中查询部分匹配结果中出现的数据图顶点的邻接表,然后根据查询树的拓扑信息,将出现在查询树中但未出现在部分匹配结果中的查询图顶点,根据数据库查出的邻接表信息填充完整。对每一个完整匹配的最终结果,判断是否符合子图同构(即查询图顶点和数据图顶点一一对应、查询图边和数据图边一一对应)的匹配条件,符合子图同构条件的匹配结果进行输出,否则抛弃。
继续根据上一步的例子说明。在Pregel编程框架迭代结束之后,数据图的顶点d1上得到了以查询树自身的部分匹配结果。这些部分匹配结果中保存了查询树的非叶节点{d1,d2,d3}的匹配信息。在数据图顶点d1上,共有两个部分匹配结果{d1,d2,d3}和{d1,d2,d5}。从分布式数据库中获得数据图顶点d1,d2,d3,d5的邻接表,用以填充。
对于部分匹配结果{d1,d2,d3},查询图顶点q4的可能匹配结果为数据图顶点d1的邻接点和数据图顶点d3的邻接点的交集,即{d0,d2}。查询图顶点q4没有可以匹配的顶点。因此,没有匹配结果。
对于部分匹配结果{d1,d2,d5},查询图顶点q4的可能匹配结果为数据图1的邻接点和数据图d5的邻接点的交集,即{d2,d4}。查询图顶点q4匹配顶点为数据图的顶点d4,查询图顶点q0可能匹配结果为数据图顶点d1的邻接点,即{d0,d2,d3,d4}。查询顶点q5可能匹配结果为数据图d5的邻接点,即{d2,d4,d6,d7}。经过基于笛卡尔积的扩展过程可以得到,查询图{d0,d1,d2,d3,d4,d5}的匹配结果为{d0,d1,d2,d5,d4,d6},{d3,d1,d2,d5,d4,d6},{d0,d1,d2,d5,d4,d7},{d3,d1,d2,d5,d4,d7},且这四个结果符合子图同构匹配条件,并进行输出。具体匹配结果的示例如图4所示。
至此,本发明的所有步骤全部完成,所有正确的匹配结果均已得到输出。
本发明基于已有的开源软件实现了一个原型系统PTSearch。其中底层数据存储使用HDFS,邻接表存储使用Redis数据库,大数据计算平台使用Apache Spark。上述软件不属于本发明的内容。
通过对一张数据图USPatents以及几个查询图对本发明实现的原型系统进行测试,查询图例子为:查询1:{0-1,1-2,2-3,0-3};查询2:{0-1,1-2,2-3,0-3,0-2};查询4:{0-1,1-2,2-3,0-3,0-2,1-3};查询3:{0-1,0-4,1-2,1-4,2-3,3-4}。表1是在相同的硬件条件下对比本方法和目前最好的TwinTwigJoin以及PSgL两个方法的性能比较。从表格中可以看出,本方法在性能上有显著地优势。表2是在相同的硬件条件下对比本方法和目前最好的TwinTwigJoin以及PSgL两个方法的网络传输量比较。从表格中可以看出,本方法在网络传输数据量上最少。验证了本方法的有益效果。
表1:分布式子图枚举算法的性能测试
表2:分布式子图枚举算法的网络传输量测试
Claims (6)
1.一种分布式的子图枚举方法,包括以下步骤:
(1)由用户输入两个输入数据:查询图和数据图;
(2)根据输入的查询图确定查询图上的每个顶点的权重;
(3)根据查询图和每个顶点的权重信息,生成一棵查询树;
(4)先将数据图以邻接表的格式存储到分布式数据库中,然后以查询树中高度为2的顶点作为初始查询点;
(5)在第一轮迭代开始之前,将数据图中的每个顶点设为活跃状态;
(6)对于数据图的各个活跃顶点,按照如下的计算方法,计算部分匹配结果:根据该活跃顶点接收到的邻居顶点发送过来的部分匹配结果,生成该活跃顶点本轮迭代的部分匹配结果,如果本轮的结果为空,则将该活跃顶点的自身状态设置为不活跃;
(7)数据图的每个活跃顶点按照发送函数向该活跃顶点的邻居顶点发送消息;
(8)对于查询树和数据图,多次迭代执行所述步骤(6)到步骤(7),直到查询树自身已经匹配完成,匹配出来的部分匹配结果保存在数据图的各个顶点上;
(9)依据查询树和步骤(8)中得到的部分匹配结果,生成最终的子图枚举匹配结果。
2.根据权利要求1所述一种分布式的子图枚举方法,其特征在于:所述步骤(1)中,将查询图中每个顶点的度数作为其查询树生成时的选择依据。
3.根据权利要求1所述一种分布式的子图枚举方法,其特征在于:所述步骤(3)中,查询树是通过多轮迭代生成的,在每一轮迭代中,选择当前查询图中权重最大的顶点插入到查询树中,并将该顶点及其对应的边从查询图中删除;迭代停止的条件是直到查询图中没有边为止,迭代停止后就得到了一棵查询树。
4.根据权利要求1所述一种分布式的子图枚举方法,其特征在于:所述步骤(6)中,数据图顶点的本轮迭代的部分匹配结果是由查询树的某一棵查询子树的部分匹配结果组成,一棵查询子树的部分匹配结果是由这棵查询子树的子树的部分匹配结果组合生成。
5.根据权利要求1所述一种分布式的子图枚举方法,其特征在于:所述步骤(8)中,部分匹配结果的生成由步骤(5),步骤(6)和步骤(7)三个步骤在分布式图计算框架中组合完成。
6.根据权利要求1所述一种分布式的子图枚举方法,其特征在于:所述步骤(9)中,最终的子图枚举匹配结果是在数据图的每个顶点上,依据查询树来填充所述步骤(8)得到的部分匹配结果,生成最终的子图枚举匹配结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710295982.5A CN106991195B (zh) | 2017-04-28 | 2017-04-28 | 一种分布式的子图枚举方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710295982.5A CN106991195B (zh) | 2017-04-28 | 2017-04-28 | 一种分布式的子图枚举方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106991195A true CN106991195A (zh) | 2017-07-28 |
CN106991195B CN106991195B (zh) | 2020-08-11 |
Family
ID=59417215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710295982.5A Active CN106991195B (zh) | 2017-04-28 | 2017-04-28 | 一种分布式的子图枚举方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106991195B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108399491A (zh) * | 2018-02-02 | 2018-08-14 | 浙江工业大学 | 一种基于网络图的员工多样性排序方法 |
CN114528439A (zh) * | 2020-11-23 | 2022-05-24 | 电科云(北京)科技有限公司 | 基于分布式系统的极大团枚举方法和装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073708A (zh) * | 2010-12-30 | 2011-05-25 | 东北大学 | 面向大规模不确定图数据库的子图查询方法 |
CN102662974A (zh) * | 2012-03-12 | 2012-09-12 | 浙江大学 | 一种基于邻接节点树的网络图索引方法 |
US20130151536A1 (en) * | 2011-12-09 | 2013-06-13 | International Business Machines Corporation | Vertex-Proximity Query Processing |
US20130346386A1 (en) * | 2012-06-22 | 2013-12-26 | Microsoft Corporation | Temporal topic extraction |
CN103997515A (zh) * | 2014-04-25 | 2014-08-20 | 西安电子科技大学昆山创新研究院 | 一种分布式云中计算中心选择方法及其应用 |
US8909646B1 (en) * | 2012-12-31 | 2014-12-09 | Google Inc. | Pre-processing of social network structures for fast discovery of cohesive groups |
CN104392010A (zh) * | 2014-12-23 | 2015-03-04 | 北京理工大学 | 一种子图匹配的查询方法 |
CN104504003A (zh) * | 2014-12-09 | 2015-04-08 | 北京航空航天大学 | 图数据的搜索方法和装置 |
CN104699698A (zh) * | 2013-12-05 | 2015-06-10 | 深圳先进技术研究院 | 基于海量数据的图查询处理方法 |
KR20150111482A (ko) * | 2014-03-25 | 2015-10-06 | 고려대학교 산학협력단 | 그래프 극대 매칭 방법 |
CN105224528A (zh) * | 2014-05-27 | 2016-01-06 | 华为技术有限公司 | 基于图计算的大数据处理方法和装置 |
-
2017
- 2017-04-28 CN CN201710295982.5A patent/CN106991195B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073708A (zh) * | 2010-12-30 | 2011-05-25 | 东北大学 | 面向大规模不确定图数据库的子图查询方法 |
US20130151536A1 (en) * | 2011-12-09 | 2013-06-13 | International Business Machines Corporation | Vertex-Proximity Query Processing |
CN102662974A (zh) * | 2012-03-12 | 2012-09-12 | 浙江大学 | 一种基于邻接节点树的网络图索引方法 |
US20130346386A1 (en) * | 2012-06-22 | 2013-12-26 | Microsoft Corporation | Temporal topic extraction |
US8909646B1 (en) * | 2012-12-31 | 2014-12-09 | Google Inc. | Pre-processing of social network structures for fast discovery of cohesive groups |
CN104699698A (zh) * | 2013-12-05 | 2015-06-10 | 深圳先进技术研究院 | 基于海量数据的图查询处理方法 |
KR20150111482A (ko) * | 2014-03-25 | 2015-10-06 | 고려대학교 산학협력단 | 그래프 극대 매칭 방법 |
CN103997515A (zh) * | 2014-04-25 | 2014-08-20 | 西安电子科技大学昆山创新研究院 | 一种分布式云中计算中心选择方法及其应用 |
CN105224528A (zh) * | 2014-05-27 | 2016-01-06 | 华为技术有限公司 | 基于图计算的大数据处理方法和装置 |
CN104504003A (zh) * | 2014-12-09 | 2015-04-08 | 北京航空航天大学 | 图数据的搜索方法和装置 |
CN104392010A (zh) * | 2014-12-23 | 2015-03-04 | 北京理工大学 | 一种子图匹配的查询方法 |
Non-Patent Citations (1)
Title |
---|
兰超 等: "分布式Top-k子图匹配技术", 《清华大学学报(自然科学版)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108399491A (zh) * | 2018-02-02 | 2018-08-14 | 浙江工业大学 | 一种基于网络图的员工多样性排序方法 |
CN108399491B (zh) * | 2018-02-02 | 2021-10-29 | 浙江工业大学 | 一种基于网络图的员工多样性排序方法 |
CN114528439A (zh) * | 2020-11-23 | 2022-05-24 | 电科云(北京)科技有限公司 | 基于分布式系统的极大团枚举方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106991195B (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wheatman et al. | Packed compressed sparse row: A dynamic graph representation | |
US8326825B2 (en) | Automated partitioning in parallel database systems | |
Maccioni et al. | Scalable pattern matching over compressed graphs via dedensification | |
CN104050202B (zh) | 用于搜索数据库的方法和装置 | |
Angles et al. | Benchmarking database systems for social network applications | |
Neelakandan et al. | Large scale optimization to minimize network traffic using MapReduce in big data applications | |
CN104361113B (zh) | 一种内存‑闪存混合存储模式下的olap查询优化方法 | |
EP2635986A1 (en) | Homomorphism lemma for efficiently querying databases | |
CN105955999B (zh) | 一种大规模RDF图的ThetaJoin查询处理方法 | |
CN104504018B (zh) | 基于浓密树和自顶向下的大数据实时查询优化方法 | |
CN104933143B (zh) | 获取推荐对象的方法及装置 | |
CN103678550A (zh) | 一种基于动态索引结构的海量数据实时查询方法 | |
CN109543708A (zh) | 融合拓扑特征的面向图数据的模式识别方法 | |
CN106991195A (zh) | 一种分布式的子图枚举方法 | |
CN111177410A (zh) | 基于进化R-tree的知识图谱存储和相似性检索方法 | |
CN104809161A (zh) | 一种对稀疏矩阵进行压缩和查询的方法及系统 | |
CN110825738B (zh) | 一种基于分布式rdf的数据存储、查询方法及装置 | |
Fischer et al. | GLOUDS: Representing tree-like graphs | |
CN105447241B (zh) | 一种数字逻辑电路的逻辑函数的esop最小化方法 | |
Yang et al. | Efficient discovery of co-location patterns from massive spatial datasets with or without rare features | |
CN105608077A (zh) | 一种大数据分布式存储方法和系统 | |
CN106682190A (zh) | 标签知识库的构建方法、装置、应用搜索方法和服务器 | |
Anari et al. | Sampling arborescences in parallel | |
CN104850591B (zh) | 一种数据的转换存储方法及装置 | |
CN106330559B (zh) | 基于MapReduce的复杂网络拓扑特征参数计算方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 210093 Nanjing, Gulou District, Jiangsu, No. 22 Hankou Road Applicant after: NANJING University Address before: 210093 No. 22, Hankou Road, Suzhou, Jiangsu Applicant before: NANJING University |
|
GR01 | Patent grant | ||
GR01 | Patent grant |