CN105045790A - 图数据搜索***、方法和设备 - Google Patents

图数据搜索***、方法和设备 Download PDF

Info

Publication number
CN105045790A
CN105045790A CN201510112032.5A CN201510112032A CN105045790A CN 105045790 A CN105045790 A CN 105045790A CN 201510112032 A CN201510112032 A CN 201510112032A CN 105045790 A CN105045790 A CN 105045790A
Authority
CN
China
Prior art keywords
website
node
son
diagram data
inquiry plan
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.)
Pending
Application number
CN201510112032.5A
Other languages
English (en)
Inventor
樊文飞
王欣
吴颖徽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Beihang University
Original Assignee
Huawei Technologies Co Ltd
Beihang University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd, Beihang University filed Critical Huawei Technologies Co Ltd
Priority to CN201510112032.5A priority Critical patent/CN105045790A/zh
Publication of CN105045790A publication Critical patent/CN105045790A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供图数据搜索***、方法和设备,该方法包括:第一子计算站点接收主计算站点发送的查询计划,其中,该M个子计算站点包括该第一子计算站点;根据该查询计划,对存储的第一部分图数据进行迭代查询,以确定该第一部分图数据包括的多个节点中与该查询计划相匹配的至少一个匹配节点,该至少一个匹配节点组成该本地匹配节点集合;将该本地匹配节点集合发送至该主计算站点。上述技术方案能够提高图数据搜索的效率与可扩展性。

Description

图数据搜索***、方法和设备
技术领域
本发明实施例涉及信息技术领域,并且更具体地,涉及图数据搜索***、方法和设备。
背景技术
很多现实中的计算问题都会涉及到大规模的图。网页链接关系和各种社交关系是这种大规模图的最典型的例子。这些图可能具有大量的顶点以及边。如何对图进行高效率的搜索以获取所需的内容是一项亟待解决的问题。
谷歌(Google)提出的Pregel技术是一种效率较高的图搜索机制。Pregel技术是通过主从结构的***实现的。在需要对一个特定关系(即查询计划)进行搜索时,主节点(Master)会将保存的完整的图数据进行分区,将完整的图划分为多个子图,并将子图发送给多个从节点(Worker)。每个从节点可以接收一个或多个子图。节点负责维护分配给自己的子图的顶点(vertex)和边(edge)的状态信息。节点为每个子图分配一个线程。该线程根据计算任务对每一个处于激活(active)状态的顶点进行计算,计算完成后,根据边的链接信息,通过消息传递方式将计算结果传递给其它相邻的从节点,直到没有激活状态顶点或者迭代次数达到指定数目。
Pregel中,Master和Worker都是计算站点,Master负责调度Worker进行计算。因此,Pregel存在以下问题:消息传播和计算过程中的大量步骤都是串行化步骤,即必须在一个步骤完成之后再执行下一个步骤;消息传递数量以及总体并行化运行时间等方面很难获得理论上界;消息传递开销会影响图数据搜索的性能。
发明内容
本发明实施例提供图数据搜索***、方法和设备,提高图数据搜索的效率与可扩展性。
第一方面,提供了一种图数据搜索***,该***包括一个主计算站点和M个子计算站点,该M个子计算站点中每个子计算站点均存储总图数据中的部分图数据,该部分图数据包括多个节点和用于连接该多个节点中的两个节点之间的边,其中M为大于1的正整数;其中,该主计算站点用于将查询计划发送给该M个子计算站点中的N个子计算站点,其中该查询计划采用图仿真的查询语义,N为小于或等于M的正整数;该N个子计算站点中的第一子计算站点用于接收该主计算站点发送的该查询计划;该第一子计算站点还用于根据该查询计划,对该第一子计算站点存储的第一部分图数据进行迭代查询,以确定该第一部分图数据包括的多个节点中与该查询计划相匹配的至少一个匹配节点,该至少一个匹配节点组成该第一子计算站点的本地匹配节点集合;该第一子计算站点还用于向该主计算节点发送该第一子计算节点的本地匹配节点集合;该主计算站点还用于接收该N个子计算站点中的每个子计算节点发送的该每个子计算节点的本地匹配节点集合,并且根据该N个子计算站点中的每个子计算节点的本地匹配节点集合,确定对应于该查询计划的匹配结果。
结合第一方面,在第一种可能的实现方式中,该第一子计算站点还用于确定该第一部分图数据中包括的与该查询计划相关的第一节点,其中,该第一节点与第二部分图数据中包括的第二节点之间具有跨站点边,该N个计算子节点中的第二子节点存储有该第二部分图数据;该第一子计算站点还用于向该第二子计算站点发送第一匹配指示消息,该第一匹配指示消息用于指示该第一节点与该查询计划的匹配结果。
结合上述可能的实现方式,在第二种可能的实现方式中,该第一子计算站点还用于接收该N个子计算节点中的第三子计算站点发送的第二匹配指示消息,该第二匹配指示消息用于指示第三站点与该查询计划的匹配结果,其中,该第三子计算节点存储有第三部分图数据,该第三部分图数据包括的该第三节点与该第一部分图数据中包括的第四节点之间具有跨站点边;该第一子计算站点还用于根据该第二匹配指示消息和该查询计划,确定该第四节点是否与该查询计划匹配。
结合上述可能的实现方式,在第三种可能的实现方式中,该主计算站点还用于根据该M个子计算站点的属性,从该M个子计算站点中确定该N个子计算站点。
结合上述可能的实现方式,在第四种可能的实现方式中,该第一子计算站点根据该查询计划,对该第一子计算站点存储的第一部分图数据进行迭代查询,包括:根据该查询计划,对该第一部分图数据进行查询,以确定该第一部分图数据中包括的多个节点中与该查询计划匹配的至少一个初始匹配节点,该至少一个初始匹配节点组成该本地匹配节点集合;根据查询计划,再次对该第一部分图数据进行查询,以确定该多个节点中是否存在与该查询计划匹配的新增匹配节点;若确定该多个节点中存在与该查询计划匹配的新增匹配节点时,将该新增匹配节点添加至该本地匹配节点集合,并且再次对该第一部分图数据进行查询,以确定该多个节点中是否包括与该查询计划匹配的新增匹配节点,直到确定该多个节点中不存在新增匹配节点为止。
结合上述可能的实现方式,在第五种可能的实现方式中,该第一子计算站点还用于在确定本地匹配节点集合之后,向该主计算站点发送终止消息,该终止消息用于指示该第一子计算站点完成对该查询计划的查询;该主计算节点还用于接收该N个子计算节点中的每个子计算节点发送的终止消息,并在接收到该N个子计算节点中的每个子计算节点发送的终止消息之后,根据该N个子计算站点中的每个子计算节点的本地匹配节点集合,确定对应于该查询计划的匹配结果。
第二方面,提供了一种图数据搜索方法,应用于图数据搜索***,该图数据搜索***包括一个主计算站点和M个子计算站点,该M个子计算站点中每个子计算站点均存储总图数据中的部分图数据,该部分图数据包括多个节点和用于连接该多个节点中的两个节点之间的边,其中M为大于1的正整数,该方法包括:该主计算站点确定查询计划,其中该查询计划采用图仿真的查询语义;将该查询计划发送至该M个子计算站点中的N个子计算站点,其中M为大于1的正整数,N为小于或等于M的正整数;接收该N个子计算站点中的每个子计算站点发送的该每个子计算站点的本地匹配节点集合;根据该N个子计算站点中的每个子计算节点的本地匹配节点集合,确定对应于该查询计划的匹配结果。
结合第二方面,在第一种可能的实现方式中,在该根据该N个子计算站点中的每个子计算节点的本地匹配节点集合,确定对应于该查询计划的匹配结果之前,该方法还包括:接收该N个子计算站点中的每个子计算站点发送的终止消息,该终止消息用于指示该终止消息对应的子计算站点完成对该查询计划的查询。
结合上述可能的实现方式,在第二种可能的实现方式中,在该将该查询计划发送给图数据搜索***中的M个子计算站点中的N个子计算站点之前,该方法还包括:根据该M个子计算站点的属性,从该M个子计算站点中确定N个子计算站点。
第三方面,提供了另一种图数据搜索方法,应用于图数据搜索***,该图数据搜索***包括一个主计算站点和M个子计算站点,该M个子计算站点中每个子计算站点均存储总图数据中的部分图数据,该部分图数据包括多个节点和用于连接该多个节点中的两个节点之间的边,其中M为大于1的正整数,该方法包括:第一子计算站点接收主计算站点发送的查询计划,其中,该M个子计算站点包括该第一子计算站点;根据该查询计划,对存储的第一部分图数据进行迭代查询,以确定该第一部分图数据包括的多个节点中与该查询计划相匹配的至少一个匹配节点,该至少一个匹配节点组成该本地匹配节点集合;将该本地匹配节点集合发送至该主计算站点。
结合第三方面,在第一种可能的实现方式中,该方法还包括:确定该第一部分图数据中包括的与该查询计划相关的第一节点,其中,该第一节点与第二部分图数据中包括的第二节点之间具有跨站点边,该N个计算子节点中的第二子节点存储有该第二部分图数据;向该第二子计算站点发送第一匹配指示消息,该第一匹配指示消息用于指示该第一节点与该查询计划的匹配结果。
结合上述可能的实现方式,在第二种可能的实现方式中,该方法还包括:接收该N个子计算节点中的第三子计算站点发送的第二匹配指示消息,该第二匹配指示消息用于指示第三站点与该查询计划的匹配结果,其中,该第三子计算节点存储有第三部分图数据,该第三部分图数据包括的该第三节点与该第一部分图数据中包括的第四节点之间具有跨站点边;根据该第二匹配指示消息和该查询计划,确定该第四节点是否与该查询计划匹配。
结合上述可能的实现方式,在第三种可能的实现方式中,该根据该查询计划,对该第一子计算站点存储的第一部分图数据进行迭代查询,包括:根据该查询计划,对该第一部分图数据进行查询,以确定该第一部分图数据中包括的多个节点中与该查询计划匹配的至少一个初始匹配节点,该至少一个初始匹配节点组成该本地匹配节点集合;根据查询计划,再次对该第一部分图数据进行查询,以确定该多个节点中是否存在与该查询计划匹配的新增匹配节点;若确定该多个节点中存在与该查询计划匹配的新增匹配节点时,将该新增匹配节点添加至该本地匹配节点集合,并且再次对该第一部分图数据进行查询,以确定该多个节点中是否包括与该查询计划匹配的新增匹配节点,直到确定该多个节点中不存在新增匹配节点为止。
结合上述可能的实现方式,在第四种可能的实现方式中,在该对存储的第一部分图数据进行迭代查询之后,该方法还包括:向该主计算站点发送终止消息,该终止消息用于指示该第一子计算站点完成对该查询计划的查询。
第四方面,提供了一种图数据搜索设备,应用于图数据搜索***,该图数据搜索***包括一个主计算站点和M个子计算站点,该M个子计算站点中每个子计算站点均存储总图数据中的部分图数据,该部分图数据包括多个节点和用于连接该多个节点中的两个节点之间的边,其中M为大于1的正整数,该设备包括:确定单元,用于确定查询计划,其中该查询计划采用图仿真的查询语义;发送单元,用于将该确定单元确定的该查询计划发送至该M个子计算站点中的N个子计算站点,其中M为大于1的正整数,N为小于或等于M的正整数;接收单元,用于接收该N个子计算站点中的每个子计算站点发送的该每个子计算站点的本地匹配节点集合;该确定单元还用于根据该接收单元接收的该N个子计算站点中的每个子计算节点的本地匹配节点集合,确定对应于该查询计划的匹配结果。
结合第四方面,在第一种可能的实现方式中,该接收单元还用于在该确定单元根据该N个子计算站点中的每个子计算节点的本地匹配节点集合,确定对应于该查询计划的匹配结果之前,接收该N个子计算站点中的每个子计算站点发送的终止消息,该终止消息用于指示该终止消息对应的子计算站点完成对该查询计划的查询。
结合上述可能的实现方式,在第二种可能的实现方式中,该确定单元还用于在该发送单元将该查询计划发送给图数据搜索***中的M个子计算站点中的N个子计算站点之前,根据该M个子计算站点的属性,从该M个子计算站点中确定N个子计算站点。
第五方面,提供了另一种图数据搜索设备,应用于图数据搜索***,该图数据搜索***包括一个主计算站点和M个子计算站点,该M个子计算站点中每个子计算站点均存储总图数据中的部分图数据,该部分图数据包括多个节点和用于连接该多个节点中的两个节点之间的边,其中M为大于1的正整数,该设备包括:存储单元,用于存储该总图数据中包括的第一部分图数据,该第一部分图数据包括多个节点和用于连接该多个节点中的两个节点之间的边;接收单元,用于接收主计算站点发送的查询计划;确定单元,用于根据接收单元接收的该查询计划,对该存储单元存储的第一部分图数据进行迭代查询,以确定该第一部分图数据包括的多个节点中与该查询计划相匹配的至少一个匹配节点,该至少一个匹配节点组成该本地匹配节点集合;发送单元,用于将该本地匹配节点集合发送至该主计算站点。
结合第五方面,在第一种可能的实现方式中,该确定单元还用于确定该第一部分图数据中包括的与该查询计划相关的第一节点,其中,该第一节点与第二部分图数据中包括的第二节点之间具有跨站点边,该N个计算子节点中的第二子节点存储有该第二部分图数据;该发送单元还用于向该第二子计算站点发送第一匹配指示消息,该第一匹配指示消息用于指示该确定单元确定的该第一节点与该查询计划的匹配结果。
结合上述可能的实现方式,在第二种可能的实现方式中,该接收单元还用于接收该N个子计算节点中的第三子计算站点发送的第二匹配指示消息,该第二匹配指示消息用于指示第三站点与该查询计划的匹配结果,其中,该第三子计算节点存储有第三部分图数据,该第三部分图数据包括的该第三节点与该第一部分图数据中包括的第四节点之间具有跨站点边;该确定单元还用于根据该接收单元接收的该第二匹配指示消息和该查询计划,确定该第四节点是否与该查询计划匹配。
结合上述可能的实现方式,在第三种可能的实现方式中,该确定单元具体用于:根据该查询计划,对该第一部分图数据进行查询,以确定该第一部分图数据中包括的多个节点中与该查询计划匹配的至少一个初始匹配节点,该至少一个初始匹配节点组成该本地匹配节点集合;根据查询计划,再次对该第一部分图数据进行查询,以确定该多个节点中是否存在与该查询计划匹配的新增匹配节点;若确定该多个节点中存在与该查询计划匹配的新增匹配节点时,将该新增匹配节点添加至该本地匹配节点集合,并且再次对该第一部分图数据进行查询,以确定该多个节点中是否包括与该查询计划匹配的新增匹配节点,直到确定该多个节点中不存在新增匹配节点为止。
结合上述可能的实现方式,在第四种可能的实现方式中,该发送单元还用于在该确定单元对存储的第一部分图数据进行迭代查询之后,向该主计算站点发送终止消息,该终止消息用于指示该第一子计算站点完成对该查询计划的查询。
上述技术方案中,各个子计算站点可以根据查询计划并行处理本地存储的图数据,获取本地匹配节点集合并根据匹配节点和查询计划对本地匹配节点集合更新,将各自的本地匹配节点集合上报主计算站点。该主计算站点在获取了所有子计算站点上报的最终本地匹配节点集合后,整合所有子计算站点上报的本地匹配节点集合,确定出最终的匹配结果。因此,本发明实施例提供的图数据搜索***可以根据需要扩展子计算站点。本发明实施例提供的图数据搜索***中,每个子计算站点对于本地图数据的搜索仅与相邻的子计算站点相关,仅会与相邻的子计算站点传递消息。同时,各个子计算站点可以收集局部信息发生跟新的内节点并等待,直到对应于同一拓扑序列的子计算站点的所有内节点都已更新后,统一发送一批匹配指示消息。这样,可以使得数据传输量大大降低。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例提供的图数据搜索***的示意图。
图2是子计算站点110保存的图数据1的示意图。
图3是子计算站点120保存的图数据2的示意图
图4是子计算站点保存的图数据3的示意图。
图5是跨站点边界的示意图。
图6是匹配结果示意图。
图7是根据本发明实施例体提供的图数据搜索方法的示意性流程图。
图8是根据本发明实施例体提供的图数据搜索方法的示意性流程图。
图9是根据本发明实施例提供的用于图数据搜索的设备的结构框图。
图10是根据本发明实施例体提供的用于图数据搜索的设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
本发明实施例提供图数据搜索***,图数据搜索***可以包括一个主计算站点(英文:coordinator)和M个子计算站点(英文:site)。该M个子计算站点中每个子计算站点均存储总图数据中的部分图数据,该部分图数据包括多个节点和用于连接该多个节点中的两个节点之间的边,其中M为大于1的正整数。完整的图数据被分散在该M个子计算站点内,该M个子计算站点中的任意两个子计算站点可以存储不同的部分图数据,并且该M个子计算站点存储的部分图数据能够合并为总图数据。。
该主计算站点用于将查询计划发送给该M个子计算站点中的N个子计算站点,其中该查询计划采用图仿真(英文:graphsimulation)的查询语义,N为小于或等于M的正整数。
该N个子计算站点中的第一子计算站点用于接收该主计算站点发送的该查询计划。
该第一子计算站点还用于根据该查询计划,对该第一子计算站点存储的第一部分图数据进行迭代查询,以确定该第一部分图数据包括的多个节点中与该查询计划相匹配的至少一个匹配节点,该至少一个匹配节点组成该第一子计算站点的本地匹配节点集合。
该第一子计算站点还用于向该主计算节点发送该第一子计算节点的本地匹配节点集合。
该主计算站点还用于接收该N个子计算站点中的每个子计算节点发送的该每个子计算节点的本地匹配节点集合,并且根据该N个子计算站点中的每个子计算节点的本地匹配节点集合,确定对应于该查询计划的匹配结果。
根据本发明实施例提供的图数据搜索***,各个子计算站点可以根据查询计划并行处理本地存储的图数据,获取本地匹配节点集合并根据匹配节点和查询计划对本地匹配节点集合更新,将各自的本地匹配节点集合上报主计算站点。该主计算站点在获取了所有子计算站点上报的最终本地匹配节点集合后,整合所有子计算站点上报的本地匹配节点集合,确定出最终的匹配结果。因此,本发明实施例提供的图数据搜索***可以根据需要扩展子计算站点。本发明实施例提供的图数据搜索***中,每个子计算站点对于本地图数据的搜索仅与相邻的子计算站点相关,仅会与相邻的子计算站点传递消息。同时,各个子计算站点可以收集局部信息发生跟新的内节点并等待,直到对应于同一拓扑序列的子计算站点的所有内节点都已更新后,统一发送一批匹配指示消息。这样,可以使得数据传输量大大降低。
此外,本发明实施例在时间复杂度上可以根据查询语句的大小(Q)、子计算站点保存的最大子图(Fm)、以及虚拟节点的数量(Vf)的多项式确定,或者时间复杂度还可以根据查询语句的大小以、跨站点边界的个数(Ef)以及子计算站点保存的最大子图的多项式确定。在数据传输上,可以根据查询语句的大小以及跨站点边界的个数的多项式确定,或者可以根据查询语句的大小和虚拟节点的数量的多项式确定。
图仿真的定义为:一个数据图(英文:datagraph)匹配一个查询模式图(英文:patterngraph),当存在一个二元关系R使得:
1),对于每一个模式图中的任意节点u,在数据图中存在一个节点v,使得(u,v)属于二元关系R;
2),对于每一个属于二元关系R的元素(u,v),(a)u和v有着相同的标签,(b)对于每一条模式图中的边(u,u'),在数据图中一定存在一条边(v,v'),且(u',v')也属于二元关系R。
进一步,该第一子计算站点还用于确定该第一部分图数据中包括的与该查询计划相关的第一节点,其中,该第一节点与第二部分图数据中包括的第二节点之间具有跨站点边,该N个计算子节点中的第二子节点存储有该第二部分图数据。该第一子计算站点还用于向该第二子计算站点发送第一匹配指示消息,该第一匹配指示消息用于指示该第一节点与该查询计划的匹配结果。在此情况下,在任何情况下该第一子计算站点都可以灵活传递计算任务或者计算结果,无需等待所有结果被接收并计算出本地匹配结果后在进行传递。该匹配结果可以是肯定、否定,也可以是布尔表达式(即暂时无法确定是肯定结果还是否定结果)。本领域技术人员可以理解,该与该查询计划相关的内节点是指可以基于该查询计划验证过(或访问过)的内节点。
进一步,该第一子计算站点还用于接收该N个子计算节点中的第三子计算站点发送的第二匹配指示消息,该第二匹配指示消息用于指示第三站点与该查询计划的匹配结果,其中,该第三子计算节点存储有第三部分图数据,该第三部分图数据包括的该第三节点与该第一部分图数据中包括的第四节点之间具有跨站点边。该第一子计算站点还用于根据该第二匹配指示消息和该查询计划,确定该第四节点是否与该查询计划匹配。
进一步,该主计算站点,还用于根据该M个子计算站点的属性(例如可靠程度、作业量和稳定性),从该M个子计算站点中确定N个子计算站点,并将该查询计划发送给该N个子计算站点。
具体地,该第一子计算站点根据该查询计划,对该第一子计算站点存储的第一部分图数据进行迭代查询,包括:根据该查询计划,对该第一部分图数据进行查询,以确定该第一部分图数据中包括的多个节点中与该查询计划匹配的至少一个初始匹配节点,该至少一个初始匹配节点组成该本地匹配节点集合;根据查询计划,再次对该第一部分图数据进行查询,以确定该多个节点中是否存在与该查询计划匹配的新增匹配节点;若确定该多个节点中存在与该查询计划匹配的新增匹配节点时,将该新增匹配节点添加至该本地匹配节点集合,并且再次对该第一部分图数据进行查询,以确定该多个节点中是否包括与该查询计划匹配的新增匹配节点,直到确定该多个节点中不存在新增匹配节点为止。
进一步,该第一子计算站点还用于在确定本地匹配节点集合之后,向该主计算站点发送终止消息,该终止消息用于指示该第一子计算站点完成对该查询计划的查询;该主计算节点还用于接收该N个子计算节点中的每个子计算节点发送的终止消息,并在接收到该N个子计算节点中的每个子计算节点发送的终止消息之后,根据该N个子计算站点中的每个子计算节点的本地匹配节点集合,确定对应于该查询计划的匹配结果。
为了帮助更好地理解本发明,下面将结合具体实施例对本发明进行描述。可以理解的是,该具体实施例仅是为了帮助更好地理解本发明,而并非对本发明的限制。
图1是根据本发明实施例提供的图数据搜索***的示意图。如图1所示的图数据搜索***100中包括主计算站点101和子计算站点110,子计算站点120和子计算站点130。换句话说,图1所示的图数据搜索***100中包括一个主计算站点和3个子计算站点。可以理解的是,图1所示的***100仅是一个实例,实际部署中,可以根据需要配置P子计算站点,其中P为大于1的正整数。每个子计算站点可以存储一部分图数据。例如,图2是子计算站点110保存的图数据1。图3是子计算站点120保存的图数据2,图4是子计算站点保存的图数据3。
图2、图3和图4中的B表示某一论坛中喜欢啤酒的用户、Y表示某一视频网站对啤酒广告感兴趣的用户、S表示某一体育论坛中喜欢啤酒的用户、W表示微博中喜欢啤酒的用户,S、Y、W、S后的数字用于区分不同的用户。
对于子计算站点110保存的图数据1中存在两条跨站点边界,这两条跨站点边界在图数据1中的节点分别为S1和W1,这两条跨站点边界另一端节点分别是位于图数据2中的节点Y2和图数据3中的节点Y3。因此,对于子计算站点110,节点S1和节点W1为子计算站点110的内节点,节点Y2和节点Y3为子计算站点110的虚拟节点。对于子计算站点120,节点S1为子计算站点120的虚拟节点,节点Y2为子计算站点120的内节点。对于子计算站点3,节点W1为子计算站点130的虚拟节点,节点Y3为子计算站点130的内节点。图5是跨站点边界的示意图。
主计算站点101将查询计划发送给3个子计算站点,该查询计划为确定某一论坛中喜欢啤酒的用户、某一视频网站对啤酒广告感兴趣的用户、某一体育论坛中喜欢啤酒的用户以及微博中喜欢啤酒的用户之间的关系。该查询计划采用的是图仿真(英文:graphsimulation)的查询语义。可以看出,在本实施例中,主计算站点101将查询计划发送给了***100内的所有子计算站点。
子计算站点110、子计算站点120和子计算站点130根据该查询计划,确定各自保存的图数据中与该查询计划匹配的节点。
子计算站点110在接收到该查询计划后,可以根据该查询计划,确定图数据1中与该查询计划相匹配的匹配节点。例如,子计算站点110可以根据该查询计划,确定出节点Y1和节点B1是与该查询计划相匹配的节点,并将节点Y1和节点B1添加到本地匹配节点集合中。然后,节点110可以继续根据该查询计划以及该本地匹配节点集合,确定图数据1中是否还有与该查询计划相匹配的匹配节点。子计算站点110之后确定出节点S1也是与该查询计划相匹配的匹配节点。因此,子计算站点110可以把节点S1添加到该本地匹配节点集合中。这样,该本地匹配节点集合中包括节点Y1、节点B1和节点S1。子计算站点110可以确定该本地匹配节点集合中的节点是否是跨站点边界中的节点。在本实施例中,子计算站点110可以确定节点S1是跨站点边界中的节点。因此,子计算站点110可以向与S1对应的虚拟节点所属的子计算站点发送匹配指示消息,该匹配指示消息用于验证子计算站点120中是否有新的匹配节点。
类似的,子计算站点120和子计算站点130也会对各自的图数据进行与节点110相同的步骤。例如,子计算站点130可以确定出与该查询计划相匹配的节点包括B3和Y3,并且Y3是跨站点边界中的一个节点。这样,子计算站点130可以将Y3的匹配结果通过匹配指示消息发送给子计算站点110。子计算站点130在接收到该匹配指示消息后,可以确定与Y3相对应的节点W1是否也是与该查询计划相匹配的匹配节点。如果W1是与该查询计划相匹配的匹配节点,则子计算站点110可以将W1添加到本地匹配节点集合中。
子计算站点110、子计算站点120和子计算站点130在确定没有与查询计划相匹配的节点后,将各自的本地匹配节点集合发送给主计算站点101。主计算站点101根据3个子计算站点上报的本地匹配节点集合,确定对应于该查询计划的匹配结果。最终的匹配结果可以是如图6所示。
图7是根据本发明实施例体提供的图数据搜索方法的示意性流程图。图7所示的方法可以应用于图数据搜索***,该图数据搜索***包括一个主计算站点和M个子计算站点,该M个子计算站点中每个子计算站点均存储总图数据中的部分图数据,该部分图数据包括多个节点和用于连接所述多个节点中的两个节点之间的边,其中M为大于1的正整数。图7所示的方法可以由该图数据搜索***中的主计算站点执行。
701,确定查询计划,其中该查询计划采用图仿真的查询语义。
702,将该查询计划发送至该M个子计算站点中的N个子计算站点,其中M为大于1的正整数,N为小于或等于M的正整数,
703,接收该N个子计算站点中的每个子计算站点发送的该每个子计算站点的本地匹配节点集合。
704,根据该N个子计算站点中的每个子计算节点的本地匹配节点集合,确定对应于该查询计划的匹配结果。
进一步,在该根据该N个子计算站点中的每个子计算节点的本地匹配节点集合,确定对应于该查询计划的匹配结果之前,该方法还包括:接收该N个子计算站点中的每个子计算站点发送的终止消息,该终止消息用于指示该终止消息对应的子计算站点完成对该查询计划的查询。
进一步,在该将该查询计划发送给图数据搜索***中的M个子计算站点中的N个子计算站点之前,该方法还包括:根据该M个子计算站点的属性,从该M个子计算站点中确定N个子计算站点。
图8是根据本发明实施例体提供的图数据搜索方法的示意性流程图。应用于图数据搜索***,该图数据搜索***包括一个主计算站点和M个子计算站点,该M个子计算站点中每个子计算站点均存储总图数据中的部分图数据,该部分图数据包括多个节点和用于连接该多个节点中的两个节点之间的边,其中M为大于1的正整数。
801,第一子计算站点接收主计算站点发送的查询计划,该M个子计算站点包括该第一子计算站点。
802,根据该查询计划,对存储的第一部分图数据进行迭代查询,以确定该第一部分图数据包括的多个节点中与该查询计划相匹配的至少一个匹配节点,该至少一个匹配节点组成该本地匹配节点集合。
803,将该本地匹配节点集合发送至该主计算站点。
进一步,该方法还可以包括:确定该第一部分图数据中包括的与该查询计划相关的第一节点,其中,该第一节点与第二部分图数据中包括的第二节点之间具有跨站点边,该N个计算子节点中的第二子节点存储有该第二部分图数据;向该第二子计算站点发送第一匹配指示消息,该第一匹配指示消息用于指示该第一节点与该查询计划的匹配结果。
进一步,该方法还可以包括:接收该N个子计算节点中的第三子计算站点发送的第二匹配指示消息,该第二匹配指示消息用于指示第三站点与该查询计划的匹配结果,其中,该第三子计算节点存储有第三部分图数据,该第三部分图数据包括的该第三节点与该第一部分图数据中包括的第四节点之间具有跨站点边;根据该第二匹配指示消息和该查询计划,确定该第四节点是否与该查询计划匹配。
进一步,该根据该查询计划,对该第一子计算站点存储的第一部分图数据进行迭代查询,包括:根据该查询计划,对该第一部分图数据进行查询,以确定该第一部分图数据中包括的多个节点中与该查询计划匹配的至少一个初始匹配节点,该至少一个初始匹配节点组成该本地匹配节点集合;根据查询计划,再次对该第一部分图数据进行查询,以确定该多个节点中是否存在与该查询计划匹配的新增匹配节点;若确定该多个节点中存在与该查询计划匹配的新增匹配节点时,将该新增匹配节点添加至该本地匹配节点集合,并且再次对该第一部分图数据进行查询,以确定该多个节点中是否包括与该查询计划匹配的新增匹配节点,直到确定该多个节点中不存在新增匹配节点为止。
进一步,该对存储的第一部分图数据进行迭代查询之后,该方法还包括:向该主计算站点发送终止消息,该终止消息用于指示该第一子计算站点完成对该查询计划的查询。
图9是用于图数据搜索的设备的结构框图。如图9所示的设备900应用于图数据搜索***,该图数据搜索***包括一个主计算站点和M个子计算站点,该M个子计算站点中每个子计算站点均存储总图数据中的部分图数据,该部分图数据包括多个节点和用于连接该多个节点中的两个节点之间的边,其中M为大于1的正整数。如图9所示,设备900包括确定单元901,发送单元902和接收单元903。
确定单元901,用于确定查询计划,其中该查询计划采用图仿真的查询语义。
发送单元902,用于将确定单元901确定的该查询计划发送至该M个子计算站点中的N个子计算站点,其中M为大于1的正整数,N为小于或等于M的正整数,
接收单元903,用于接收该N个子计算站点中的每个子计算站点发送的该每个子计算站点的本地匹配节点集合。
确定单元901,还用于根据接收单元903接收的该N个子计算站点中的每个子计算节点的本地匹配节点集合,确定对应于该查询计划的匹配结果。
进一步,接收单元903还用于在确定单元901根据该N个子计算站点中的每个子计算节点的本地匹配节点集合,确定对应于该查询计划的匹配结果之前,接收该N个子计算站点中的每个子计算站点发送的终止消息,该终止消息用于指示该终止消息对应的子计算站点完成对该查询计划的查询。
进一步,确定单元901,还用于在发送单元902将该查询计划发送给图数据搜索***中的M个子计算站点中的N个子计算站点之前,根据该M个子计算站点的属性,从该M个子计算站点中确定N个子计算站点。
图10是根据本发明实施例体提供的用于图数据搜索的设备的结构框图。图10所示的设备1000可以应用于图数据搜索***,该图数据搜索***包括一个主计算站点和M个子计算站点,该M个子计算站点中每个子计算站点均存储总图数据中的部分图数据,该部分图数据包括多个节点和用于连接该多个节点中的两个节点之间的边,其中M为大于1的正整数。图10所示的设备1000包括:存储单元1001,接收单元1002,确定单元1003,发送单元1004。
存储单元1001,用于存储该总图数据中包括的第一部分图数据,该第一部分图数据包括多个节点和用于连接该多个节点中的两个节点之间的边。
接收单元1002,用于接收主计算站点发送的查询计划。
确定单元1003,用于根据接收单元1002接收的该查询计划,对存储单元1001存储的第一部分图数据进行迭代查询,以确定该第一部分图数据包括的多个节点中与该查询计划相匹配的至少一个匹配节点,该至少一个匹配节点组成该本地匹配节点集合。
发送单元1004,用于将该本地匹配节点集合发送至该主计算站点。
进一步,确定单元1003,还用于确定该第一部分图数据中包括的与该查询计划相关的第一节点,其中,该第一节点与第二部分图数据中包括的第二节点之间具有跨站点边,该N个计算子节点中的第二子节点存储有该第二部分图数据;发送单元1004,还用于向该第二子计算站点发送第一匹配指示消息,该第一匹配指示消息用于指示该确定单元确定的该第一节点与该查询计划的匹配结果。
进一步,接收单元1002,还用于接收该N个子计算节点中的第三子计算站点发送的第二匹配指示消息,该第二匹配指示消息用于指示第三站点与该查询计划的匹配结果,其中,该第三子计算节点存储有第三部分图数据,该第三部分图数据包括的该第三节点与该第一部分图数据中包括的第四节点之间具有跨站点边;确定单元1003,还用于根据接收单元1002接收的该第二匹配指示消息和该查询计划,确定该第四节点是否与该查询计划匹配。
进一步,确定单元1003具体用于:根据该查询计划,对该第一部分图数据进行查询,以确定该第一部分图数据中包括的多个节点中与该查询计划匹配的至少一个初始匹配节点,该至少一个初始匹配节点组成该本地匹配节点集合;根据查询计划,再次对该第一部分图数据进行查询,以确定该多个节点中是否存在与该查询计划匹配的新增匹配节点;若确定该多个节点中存在与该查询计划匹配的新增匹配节点时,将该新增匹配节点添加至该本地匹配节点集合,并且再次对该第一部分图数据进行查询,以确定该多个节点中是否包括与该查询计划匹配的新增匹配节点,直到确定该多个节点中不存在新增匹配节点为止。
进一步,发送单元1004,还用于在确定单元1003对存储的第一部分图数据进行迭代查询之后,向该主计算站点发送终止消息,该终止消息用于指示该第一子计算站点完成对该查询计划的查询。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内,因此本发明的保护范围应以权利要求的保护范围为准。

Claims (22)

1.一种图数据搜索***,其特征在于,所述***包括一个主计算站点和M个子计算站点,所述M个子计算站点中每个子计算站点均存储总图数据中的部分图数据,所述部分图数据包括多个节点和用于连接所述多个节点中的两个节点之间的边,其中M为大于1的正整数;
所述主计算站点用于将查询计划发送给所述M个子计算站点中的N个子计算站点,其中所述查询计划采用图仿真的查询语义,N为小于或等于M的正整数;
所述N个子计算站点中的第一子计算站点用于接收所述主计算站点发送的所述查询计划;
所述第一子计算站点还用于根据所述查询计划,对所述第一子计算站点存储的第一部分图数据进行迭代查询,以确定所述第一部分图数据包括的多个节点中与所述查询计划相匹配的至少一个匹配节点,所述至少一个匹配节点组成所述第一子计算站点的本地匹配节点集合;
所述第一子计算站点还用于向所述主计算节点发送所述第一子计算节点的本地匹配节点集合;
所述主计算站点还用于接收所述N个子计算站点中的每个子计算节点发送的所述每个子计算节点的本地匹配节点集合,并且根据所述N个子计算站点中的每个子计算节点的本地匹配节点集合,确定对应于所述查询计划的匹配结果。
2.如权利要求1所述的***,其特征在于,所述第一子计算站点还用于确定所述第一部分图数据中包括的与所述查询计划相关的第一节点,其中,所述第一节点与第二部分图数据中包括的第二节点之间具有跨站点边,所述N个计算子节点中的第二子节点存储有所述第二部分图数据;
所述第一子计算站点还用于向所述第二子计算站点发送第一匹配指示消息,所述第一匹配指示消息用于指示所述第一节点与所述查询计划的匹配结果。
3.如权利要求1或2所述的***,其特征在于,所述第一子计算站点还用于接收所述N个子计算节点中的第三子计算站点发送的第二匹配指示消息,所述第二匹配指示消息用于指示第三站点与所述查询计划的匹配结果,其中,所述第三子计算节点存储有第三部分图数据,所述第三部分图数据包括的所述第三节点与所述第一部分图数据中包括的第四节点之间具有跨站点边;
所述第一子计算站点还用于根据所述第二匹配指示消息和所述查询计划,确定所述第四节点是否与所述查询计划匹配。
4.如权利要求1至3中任一项所述的***,其特征在于,所述主计算站点还用于根据所述M个子计算站点的属性,从所述M个子计算站点中确定所述N个子计算站点。
5.如权利要求1至4中任一项所述的***,其特征在于,所述第一子计算站点根据所述查询计划,对所述第一子计算站点存储的第一部分图数据进行迭代查询,包括:
根据所述查询计划,对所述第一部分图数据进行查询,以确定所述第一部分图数据中包括的多个节点中与所述查询计划匹配的至少一个初始匹配节点,所述至少一个初始匹配节点组成所述本地匹配节点集合;
根据查询计划,再次对所述第一部分图数据进行查询,以确定所述多个节点中是否存在与所述查询计划匹配的新增匹配节点;
若确定所述多个节点中存在与所述查询计划匹配的新增匹配节点时,将所述新增匹配节点添加至所述本地匹配节点集合,并且再次对所述第一部分图数据进行查询,以确定所述多个节点中是否包括与所述查询计划匹配的新增匹配节点,直到确定所述多个节点中不存在新增匹配节点为止。
6.如权利要求1至5中任一项所述的***,其特征在于,所述第一子计算站点还用于在确定本地匹配节点集合之后,向所述主计算站点发送终止消息,所述终止消息用于指示所述第一子计算站点完成对所述查询计划的查询;
所述主计算节点还用于接收所述N个子计算节点中的每个子计算节点发送的终止消息,并在接收到所述N个子计算节点中的每个子计算节点发送的终止消息之后,根据所述N个子计算站点中的每个子计算节点的本地匹配节点集合,确定对应于所述查询计划的匹配结果。
7.一种图数据搜索方法,其特征在于,应用于图数据搜索***,所述图数据搜索***包括一个主计算站点和M个子计算站点,所述M个子计算站点中每个子计算站点均存储总图数据中的部分图数据,所述部分图数据包括多个节点和用于连接所述多个节点中的两个节点之间的边,其中M为大于1的正整数,所述方法包括:
所述主计算站点确定查询计划,其中所述查询计划采用图仿真的查询语义;
将所述查询计划发送至所述M个子计算站点中的N个子计算站点,其中M为大于1的正整数,N为小于或等于M的正整数;
接收所述N个子计算站点中的每个子计算站点发送的所述每个子计算站点的本地匹配节点集合;
根据所述N个子计算站点中的每个子计算节点的本地匹配节点集合,确定对应于所述查询计划的匹配结果。
8.如权利要求7所述的方法,其特征在于,在所述根据所述N个子计算站点中的每个子计算节点的本地匹配节点集合,确定对应于所述查询计划的匹配结果之前,所述方法还包括:
接收所述N个子计算站点中的每个子计算站点发送的终止消息,所述终止消息用于指示所述终止消息对应的子计算站点完成对所述查询计划的查询。
9.如权利要求7或8所述的方法,其特征在于,在所述将所述查询计划发送给图数据搜索***中的M个子计算站点中的N个子计算站点之前,所述方法还包括:
根据所述M个子计算站点的属性,从所述M个子计算站点中确定N个子计算站点。
10.一种图数据搜索方法,其特征在于,应用于图数据搜索***,所述图数据搜索***包括一个主计算站点和M个子计算站点,所述M个子计算站点中每个子计算站点均存储总图数据中的部分图数据,所述部分图数据包括多个节点和用于连接所述多个节点中的两个节点之间的边,其中M为大于1的正整数,所述方法包括:
第一子计算站点接收主计算站点发送的查询计划,其中,所述M个子计算站点包括所述第一子计算站点;
根据所述查询计划,对存储的第一部分图数据进行迭代查询,以确定所述第一部分图数据包括的多个节点中与所述查询计划相匹配的至少一个匹配节点,所述至少一个匹配节点组成所述本地匹配节点集合;
将所述本地匹配节点集合发送至所述主计算站点。
11.如权利要求10所述的方法,其特征在于,所述方法还包括:
确定所述第一部分图数据中包括的与所述查询计划相关的第一节点,其中,所述第一节点与第二部分图数据中包括的第二节点之间具有跨站点边,所述N个计算子节点中的第二子节点存储有所述第二部分图数据;
向所述第二子计算站点发送第一匹配指示消息,所述第一匹配指示消息用于指示所述第一节点与所述查询计划的匹配结果。
12.如权利要求10或11所述的方法,其特征在于,所述方法还包括:
接收所述N个子计算节点中的第三子计算站点发送的第二匹配指示消息,所述第二匹配指示消息用于指示第三站点与所述查询计划的匹配结果,其中,所述第三子计算节点存储有第三部分图数据,所述第三部分图数据包括的所述第三节点与所述第一部分图数据中包括的第四节点之间具有跨站点边;
根据所述第二匹配指示消息和所述查询计划,确定所述第四节点是否与所述查询计划匹配。
13.如权利要求10至12中任一项所述的方法,其特征在于,所述根据所述查询计划,对所述第一子计算站点存储的第一部分图数据进行迭代查询,包括:
根据所述查询计划,对所述第一部分图数据进行查询,以确定所述第一部分图数据中包括的多个节点中与所述查询计划匹配的至少一个初始匹配节点,所述至少一个初始匹配节点组成所述本地匹配节点集合;
根据查询计划,再次对所述第一部分图数据进行查询,以确定所述多个节点中是否存在与所述查询计划匹配的新增匹配节点;
若确定所述多个节点中存在与所述查询计划匹配的新增匹配节点时,将所述新增匹配节点添加至所述本地匹配节点集合,并且再次对所述第一部分图数据进行查询,以确定所述多个节点中是否包括与所述查询计划匹配的新增匹配节点,直到确定所述多个节点中不存在新增匹配节点为止。
14.如权利要求10至13中任一项所述的方法,其特征在于,在所述对存储的第一部分图数据进行迭代查询之后,所述方法还包括:
向所述主计算站点发送终止消息,所述终止消息用于指示所述第一子计算站点完成对所述查询计划的查询。
15.一种图数据搜索设备,其特征在于,应用于图数据搜索***,所述图数据搜索***包括一个主计算站点和M个子计算站点,所述M个子计算站点中每个子计算站点均存储总图数据中的部分图数据,所述部分图数据包括多个节点和用于连接所述多个节点中的两个节点之间的边,其中M为大于1的正整数,所述设备包括:
确定单元,用于确定查询计划,其中所述查询计划采用图仿真的查询语义;
发送单元,用于将所述确定单元确定的所述查询计划发送至所述M个子计算站点中的N个子计算站点,其中M为大于1的正整数,N为小于或等于M的正整数;
接收单元,用于接收所述N个子计算站点中的每个子计算站点发送的所述每个子计算站点的本地匹配节点集合;
所述确定单元,还用于根据所述接收单元接收的所述N个子计算站点中的每个子计算节点的本地匹配节点集合,确定对应于所述查询计划的匹配结果。
16.如权利要求15所述的设备,其特征在于,所述接收单元还用于在所述确定单元根据所述N个子计算站点中的每个子计算节点的本地匹配节点集合,确定对应于所述查询计划的匹配结果之前,接收所述N个子计算站点中的每个子计算站点发送的终止消息,所述终止消息用于指示所述终止消息对应的子计算站点完成对所述查询计划的查询。
17.如权利要求15或16所述的设备,其特征在于,所述确定单元还用于在所述发送单元将所述查询计划发送给图数据搜索***中的M个子计算站点中的N个子计算站点之前,根据所述M个子计算站点的属性,从所述M个子计算站点中确定N个子计算站点。
18.一种图数据搜索设备,其特征在于,应用于图数据搜索***,所述图数据搜索***包括一个主计算站点和M个子计算站点,所述M个子计算站点中每个子计算站点均存储总图数据中的部分图数据,所述部分图数据包括多个节点和用于连接所述多个节点中的两个节点之间的边,其中M为大于1的正整数,所述设备包括:
存储单元,用于存储所述总图数据中包括的第一部分图数据,所述第一部分图数据包括多个节点和用于连接所述多个节点中的两个节点之间的边;
接收单元,用于接收主计算站点发送的查询计划;
确定单元,用于根据接收单元接收的所述查询计划,对所述存储单元存储的第一部分图数据进行迭代查询,以确定所述第一部分图数据包括的多个节点中与所述查询计划相匹配的至少一个匹配节点,所述至少一个匹配节点组成所述本地匹配节点集合;
发送单元,用于将所述本地匹配节点集合发送至所述主计算站点。
19.如权利要求18所述的设备,其特征在于,
所述确定单元还用于确定所述第一部分图数据中包括的与所述查询计划相关的第一节点,其中,所述第一节点与第二部分图数据中包括的第二节点之间具有跨站点边,所述N个计算子节点中的第二子节点存储有所述第二部分图数据;
所述发送单元还用于向所述第二子计算站点发送第一匹配指示消息,所述第一匹配指示消息用于指示所述确定单元确定的所述第一节点与所述查询计划的匹配结果。
20.如权利要求18或19所述的设备,其特征在于,
所述接收单元还用于接收所述N个子计算节点中的第三子计算站点发送的第二匹配指示消息,所述第二匹配指示消息用于指示第三站点与所述查询计划的匹配结果,其中,所述第三子计算节点存储有第三部分图数据,所述第三部分图数据包括的所述第三节点与所述第一部分图数据中包括的第四节点之间具有跨站点边;
所述确定单元还用于根据所述接收单元接收的所述第二匹配指示消息和所述查询计划,确定所述第四节点是否与所述查询计划匹配。
21.如权利要求18至20中任一项所述的设备,其特征在于,所述确定单元具体用于:
根据所述查询计划,对所述第一部分图数据进行查询,以确定所述第一部分图数据中包括的多个节点中与所述查询计划匹配的至少一个初始匹配节点,所述至少一个初始匹配节点组成所述本地匹配节点集合;
根据查询计划,再次对所述第一部分图数据进行查询,以确定所述多个节点中是否存在与所述查询计划匹配的新增匹配节点;
若确定所述多个节点中存在与所述查询计划匹配的新增匹配节点时,将所述新增匹配节点添加至所述本地匹配节点集合,并且再次对所述第一部分图数据进行查询,以确定所述多个节点中是否包括与所述查询计划匹配的新增匹配节点,直到确定所述多个节点中不存在新增匹配节点为止。
22.如权利要求18至21中任一项所述的设备,其特征在于,所述发送单元还用于在所述确定单元对存储的第一部分图数据进行迭代查询之后,向所述主计算站点发送终止消息,所述终止消息用于指示所述第一子计算站点完成对所述查询计划的查询。
CN201510112032.5A 2015-03-13 2015-03-13 图数据搜索***、方法和设备 Pending CN105045790A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510112032.5A CN105045790A (zh) 2015-03-13 2015-03-13 图数据搜索***、方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510112032.5A CN105045790A (zh) 2015-03-13 2015-03-13 图数据搜索***、方法和设备

Publications (1)

Publication Number Publication Date
CN105045790A true CN105045790A (zh) 2015-11-11

Family

ID=54452344

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510112032.5A Pending CN105045790A (zh) 2015-03-13 2015-03-13 图数据搜索***、方法和设备

Country Status (1)

Country Link
CN (1) CN105045790A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105653204A (zh) * 2015-12-24 2016-06-08 华中科技大学 一种基于磁盘的分布式图计算方法
WO2017206634A1 (zh) * 2016-06-01 2017-12-07 华为技术有限公司 一种语义查询的方法及装置
CN110263225A (zh) * 2019-05-07 2019-09-20 南京智慧图谱信息技术有限公司 一种千亿级知识图库的数据加载、管理、检索***
WO2019232956A1 (en) * 2018-06-08 2019-12-12 Zhejiang Tmall Technology Co., Ltd. Parallelization of graph computations
CN112148926A (zh) * 2019-06-28 2020-12-29 京东数字科技控股有限公司 一种图数据流的处理方法、处理装置和存储介质
CN112650943A (zh) * 2020-12-24 2021-04-13 山东鑫泰洋智能科技有限公司 多云服务器的协同数据检索***及方法
WO2021248734A1 (zh) * 2020-06-11 2021-12-16 浙江邦盛科技有限公司 一种基于事件驱动的图模式逆向实时匹配方法
CN114817262A (zh) * 2022-04-27 2022-07-29 电子科技大学 一种基于分布式图数据库的图遍历算法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101408900A (zh) * 2008-11-24 2009-04-15 中国科学院地理科学与资源研究所 一种网格计算环境下的分布式空间数据查询优化方法
CN101908075A (zh) * 2010-08-17 2010-12-08 上海云数信息科技有限公司 基于sql的并行计算***及方法
CN104392010A (zh) * 2014-12-23 2015-03-04 北京理工大学 一种子图匹配的查询方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101408900A (zh) * 2008-11-24 2009-04-15 中国科学院地理科学与资源研究所 一种网格计算环境下的分布式空间数据查询优化方法
CN101908075A (zh) * 2010-08-17 2010-12-08 上海云数信息科技有限公司 基于sql的并行计算***及方法
CN104392010A (zh) * 2014-12-23 2015-03-04 北京理工大学 一种子图匹配的查询方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
付仲良等: "MR-tree空间索引的Voronoi图改进及其并行空间查询方法", 《武汉大学学报 信息科学版》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105653204A (zh) * 2015-12-24 2016-06-08 华中科技大学 一种基于磁盘的分布式图计算方法
CN105653204B (zh) * 2015-12-24 2018-12-07 华中科技大学 一种基于磁盘的分布式图计算方法
WO2017206634A1 (zh) * 2016-06-01 2017-12-07 华为技术有限公司 一种语义查询的方法及装置
WO2019232956A1 (en) * 2018-06-08 2019-12-12 Zhejiang Tmall Technology Co., Ltd. Parallelization of graph computations
CN110263225A (zh) * 2019-05-07 2019-09-20 南京智慧图谱信息技术有限公司 一种千亿级知识图库的数据加载、管理、检索***
CN112148926A (zh) * 2019-06-28 2020-12-29 京东数字科技控股有限公司 一种图数据流的处理方法、处理装置和存储介质
WO2021248734A1 (zh) * 2020-06-11 2021-12-16 浙江邦盛科技有限公司 一种基于事件驱动的图模式逆向实时匹配方法
US11907295B2 (en) 2020-06-11 2024-02-20 Zhejiang Bangsun Technology Co., Ltd. Method for reverse real-time matching based on event-driven graph patterns
CN112650943A (zh) * 2020-12-24 2021-04-13 山东鑫泰洋智能科技有限公司 多云服务器的协同数据检索***及方法
CN112650943B (zh) * 2020-12-24 2022-07-26 厦门地铁创新科技有限公司 多云服务器的协同数据检索***及方法
CN114817262A (zh) * 2022-04-27 2022-07-29 电子科技大学 一种基于分布式图数据库的图遍历算法

Similar Documents

Publication Publication Date Title
CN105045790A (zh) 图数据搜索***、方法和设备
EP3152869B1 (en) Real-time model of states of monitored devices
CN102171661B (zh) 从整体数据库备份中恢复所选对象
CN107515878B (zh) 一种数据索引的管理方法及装置
CN103186834A (zh) 业务流程配置方法和装置
CN110875850B (zh) 一种固件升级方法、***、可读存储介质及终端设备
CN105227352A (zh) 一种用户标识集的更新方法及装置
CN111858146B (zh) 用于恢复数据的方法、设备和计算机程序产品
CN103678446A (zh) 基于数据视图和数据库表的改进的模式映射
CN106909429A (zh) 一种同步升级方法及装置
CN102272736A (zh) 提高资源监视数据的消费者***和生产者***之间的规模
CN104881454A (zh) 参数的更新方法及***
US20060212568A1 (en) System and method for managing a computer network
CN105550253A (zh) 一种类型关系的获取方法及装置
CN106599120A (zh) 基于流处理框架的数据处理方法及装置
CN114153862B (zh) 业务数据处理方法、装置、设备及存储介质
CN104361098A (zh) 一种云海***中拓扑图节点自定义的方法
CN110554951A (zh) 一种埋点管理的方法和装置
CN113761293A (zh) 图数据强连通分量挖掘方法、装置、设备及存储介质
CN112783447A (zh) 用于处理快照的方法、装置、设备、介质和产品
CN106202456B (zh) 发送图片的方法及装置
CN115659443B (zh) 几何形状流数据处理方法和装置、计算设备和存储介质
CN104994179A (zh) 一种数据处理方法及服务器
US20220342742A1 (en) Graphical management of big data pipelines
KR101609457B1 (ko) 대용량 그래프 데이터베이스에서 하한 경계값에 기초하여 메디안 노드를 검색하는 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20151111

RJ01 Rejection of invention patent application after publication