图数据搜索系统、方法和设备的制造方法_2

文档序号:9326876阅读:来源:国知局
r>[0021]结合第四方面,在第一种可能的实现方式中,该接收单元还用于在该确定单元根据该N个子计算站点中的每个子计算节点的本地匹配节点集合,确定对应于该查询计划的匹配结果之前,接收该N个子计算站点中的每个子计算站点发送的终止消息,该终止消息用于指示该终止消息对应的子计算站点完成对该查询计划的查询。
[0022]结合上述可能的实现方式,在第二种可能的实现方式中,该确定单元还用于在该发送单元将该查询计划发送给图数据搜索系统中的M个子计算站点中的N个子计算站点之前,根据该M个子计算站点的属性,从该M个子计算站点中确定N个子计算站点。
[0023]第五方面,提供了另一种图数据搜索设备,应用于图数据搜索系统,该图数据搜索系统包括一个主计算站点和M个子计算站点,该M个子计算站点中每个子计算站点均存储总图数据中的部分图数据,该部分图数据包括多个节点和用于连接该多个节点中的两个节点之间的边,其中M为大于I的正整数,该设备包括:存储单元,用于存储该总图数据中包括的第一部分图数据,该第一部分图数据包括多个节点和用于连接该多个节点中的两个节点之间的边;接收单元,用于接收主计算站点发送的查询计划;确定单元,用于根据接收单元接收的该查询计划,对该存储单元存储的第一部分图数据进行迭代查询,以确定该第一部分图数据包括的多个节点中与该查询计划相匹配的至少一个匹配节点,该至少一个匹配节点组成该本地匹配节点集合;发送单元,用于将该本地匹配节点集合发送至该主计算站点。
[0024]结合第五方面,在第一种可能的实现方式中,该确定单元还用于确定该第一部分图数据中包括的与该查询计划相关的第一节点,其中,该第一节点与第二部分图数据中包括的第二节点之间具有跨站点边,该N个计算子节点中的第二子节点存储有该第二部分图数据;该发送单元还用于向该第二子计算站点发送第一匹配指示消息,该第一匹配指示消息用于指示该确定单元确定的该第一节点与该查询计划的匹配结果。
[0025]结合上述可能的实现方式,在第二种可能的实现方式中,该接收单元还用于接收该N个子计算节点中的第三子计算站点发送的第二匹配指示消息,该第二匹配指示消息用于指示第三站点与该查询计划的匹配结果,其中,该第三子计算节点存储有第三部分图数据,该第三部分图数据包括的该第三节点与该第一部分图数据中包括的第四节点之间具有跨站点边;该确定单元还用于根据该接收单元接收的该第二匹配指示消息和该查询计划,确定该第四节点是否与该查询计划匹配。
[0026]结合上述可能的实现方式,在第三种可能的实现方式中,该确定单元具体用于:根据该查询计划,对该第一部分图数据进行查询,以确定该第一部分图数据中包括的多个节点中与该查询计划匹配的至少一个初始匹配节点,该至少一个初始匹配节点组成该本地匹配节点集合;根据查询计划,再次对该第一部分图数据进行查询,以确定该多个节点中是否存在与该查询计划匹配的新增匹配节点;若确定该多个节点中存在与该查询计划匹配的新增匹配节点时,将该新增匹配节点添加至该本地匹配节点集合,并且再次对该第一部分图数据进行查询,以确定该多个节点中是否包括与该查询计划匹配的新增匹配节点,直到确定该多个节点中不存在新增匹配节点为止。
[0027]结合上述可能的实现方式,在第四种可能的实现方式中,该发送单元还用于在该确定单元对存储的第一部分图数据进行迭代查询之后,向该主计算站点发送终止消息,该终止消息用于指示该第一子计算站点完成对该查询计划的查询。
[0028]上述技术方案中,各个子计算站点可以根据查询计划并行处理本地存储的图数据,获取本地匹配节点集合并根据匹配节点和查询计划对本地匹配节点集合更新,将各自的本地匹配节点集合上报主计算站点。该主计算站点在获取了所有子计算站点上报的最终本地匹配节点集合后,整合所有子计算站点上报的本地匹配节点集合,确定出最终的匹配结果。因此,本发明实施例提供的图数据搜索系统可以根据需要扩展子计算站点。本发明实施例提供的图数据搜索系统中,每个子计算站点对于本地图数据的搜索仅与相邻的子计算站点相关,仅会与相邻的子计算站点传递消息。同时,各个子计算站点可以收集局部信息发生跟新的内节点并等待,直到对应于同一拓扑序列的子计算站点的所有内节点都已更新后,统一发送一批匹配指示消息。这样,可以使得数据传输量大大降低。
【附图说明】
[0029]为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0030]图1是根据本发明实施例提供的图数据搜索系统的示意图。
[0031]图2是子计算站点110保存的图数据I的示意图。
[0032]图3是子计算站点120保存的图数据2的示意图
[0033]图4是子计算站点保存的图数据3的示意图。
[0034]图5是跨站点边界的示意图。
[0035]图6是匹配结果示意图。
[0036]图7是根据本发明实施例体提供的图数据搜索方法的示意性流程图。
[0037]图8是根据本发明实施例体提供的图数据搜索方法的示意性流程图。
[0038]图9是根据本发明实施例提供的用于图数据搜索的设备的结构框图。
[0039]图10是根据本发明实施例体提供的用于图数据搜索的设备的结构框图。
【具体实施方式】
[0040]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
[0041]本发明实施例提供图数据搜索系统,图数据搜索系统可以包括一个主计算站点(英文:coordinator)和M个子计算站点(英文:site)。该M个子计算站点中每个子计算站点均存储总图数据中的部分图数据,该部分图数据包括多个节点和用于连接该多个节点中的两个节点之间的边,其中M为大于I的正整数。完整的图数据被分散在该M个子计算站点内,该M个子计算站点中的任意两个子计算站点可以存储不同的部分图数据,并且该M个子计算站点存储的部分图数据能够合并为总图数据。。
[0042]该主计算站点用于将查询计划发送给该M个子计算站点中的N个子计算站点,其中该查询计划采用图仿真(英文:graph simulat1n)的查询语义,N为小于或等于M的正整数。
[0043]该N个子计算站点中的第一子计算站点用于接收该主计算站点发送的该查询计划。
[0044]该第一子计算站点还用于根据该查询计划,对该第一子计算站点存储的第一部分图数据进行迭代查询,以确定该第一部分图数据包括的多个节点中与该查询计划相匹配的至少一个匹配节点,该至少一个匹配节点组成该第一子计算站点的本地匹配节点集合。
[0045]该第一子计算站点还用于向该主计算节点发送该第一子计算节点的本地匹配节点集合。
[0046]该主计算站点还用于接收该N个子计算站点中的每个子计算节点发送的该每个子计算节点的本地匹配节点集合,并且根据该N个子计算站点中的每个子计算节点的本地匹配节点集合,确定对应于该查询计划的匹配结果。
[0047]根据本发明实施例提供的图数据搜索系统,各个子计算站点可以根据查询计划并行处理本地存储的图数据,获取本地匹配节点集合并根据匹配节点和查询计划对本地匹配节点集合更新,将各自的本地匹配节点集合上报主计算站点。该主计算站点在获取了所有子计算站点上报的最终本地匹配节点集合后,整合所有子计算站点上报的本地匹配节点集合,确定出最终的匹配结果。因此,本发明实施例提供的图数据搜索系统可以根据需要扩展子计算站点。本发明实施例提供的图数据搜索系统中,每个子计算站点对于本地图数据的搜索仅与相邻的子计算站点相关,仅会与相邻的子计算站点传递消息。同时,各个子计算站点可以收集局部信息发生跟新的内节点并等待,直到对应于同一拓扑序列的子计算站点的所有内节点都已更新后,统一发送一批匹配指示消息。这样,可以使得数据传输量大大降低。
[0048]此外,本发明实施例在时间复杂度上可以根据查询语句的大小(Q)、子计算站点保存的最大子图(Fm)、以及虚拟节点的数量(Vf)的多项式确定,或者时间复杂度还可以根据查询语句的大小以、跨站点边界的个数(Ef)以及子计算站点保存的最大子图的多项式确定。在数据传输上,可以根据查询语句的大小以及跨站点边界的个数的多项式确定,或者可以根据查询语句的大小和虚拟节点的数量的多项式确定。
[0049]图仿真的定义为:一个数据图(英文:data graph)匹配一个查询模式图(英文:pattern graph),当存在一个二元关系R使得:
[0050]I),对于每一个模式图中的任意节点U,在数据图中存在一个节点V,使得(U,V)属于一■兀关系R ;
[0051]2),对于每一个属于二元关系R的元素(U,V),(a) u和V有着相同的标签,(b)对于每一条模式图中的边(U,U’),在数据图中一定存在一条边(V,V’),且(u’,v’)也属于二兀关系R。
[0052]进一步,该第一子计算站点还用于确定该第一部分图数据中包括的与该查询计划相关的第一节点,其中,该第一节点与第二部分图数据中包括的第二节点之间具有跨站点边,该N个计算子节点中的第二子节点存储有该第二部分图数据。该第一子计算站点还用于向该第二子计算站点发送第一匹配指示消息,该第一匹配指示消息用于指示该第一节点与该查询计划的匹配结果。在此情况下,在任何情况下该第一子计算站点都可以灵活传递计算任务或者计算结果,无需等待所有结果被接收并计算出本地匹配结果后在进行传递。该匹配结果可以是肯定、否定,也可以是布尔表达式(即暂时无法确定是肯定结果还是否定结果)。本领域技术人员可以理解,该与该查询计划相关的内节点是指可以基于该查询计划验证过(或访问过)的内节点。
[0053]进一步,该第一子计算站点还用于接收该N个子计算节点中的第三子计算站点发送的第
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1