图数据的路径检索处理方法、装置、服务器及存储介质制造方法及图纸

技术编号:23624827 阅读:27 留言:0更新日期:2020-03-31 22:38
本申请提供一种图数据的路径检索处理方法、装置、服务器及存储介质,该方法包括:接收终端发送的路径查询请求;根据所述路径查询请求,控制至少两个任务组进行路径查询,获得路径查询结果,其中,至少有一个任务组包括至少两个线程;将所述路径查询结果发送给所述终端。通过根据路径查询请求,控制至少两个任务组进行路径查询,获得路径查询结果,其中,至少有一个任务组包括至少两个线程,实现并行查询,提高了路径检索效率。

Figure data path retrieval processing method, device, server and storage medium

【技术实现步骤摘要】
图数据的路径检索处理方法、装置、服务器及存储介质
本申请涉及关系数据
,尤其涉及一种图数据的路径检索处理方法、装置、服务器及存储介质。
技术介绍
在大规模关系数据场景下,对于关系数据的路径检索成为重要的技术,已有的基于关系的路径检索包括基于KEYVALUE数据库的关系构建,多种关系对应多张表格,路径的一步对应一次两表的join操作,但是多度路径查询代价大,需要多个表依次做全量拼接,导致计算量大,实时查询需要大量的分布式计算资源。为了解决这一问题,现有技术中采用传统的基于图数据库的关系查询(即路径检索),将关系查询转变为图的遍历问题。但是随着图数据规模的增长以及图上面各种应用需求的增加,传统的基于图数据库的关系查询方法是对自身图的顺序遍历,已经不能有效对大规模的图数据进行查询。因此,如何有效对大规模的图数据进行查询成为亟需解决的技术问题。
技术实现思路
本申请提供一种图数据的路径检索处理方法、装置、服务器及存储介质,以解决现有技术检索速度慢效率低等缺陷。本申请第一个方面提供一种图数据的路径检索处理方法,包括:接收终端发送的路径查询请求;根据所述路径查询请求,控制至少两个任务组进行路径查询,获得路径查询结果,其中,至少有一个任务组包括至少两个线程;将所述路径查询结果发送给所述终端。本申请第二个方面提供一种图数据的路径检索处理装置,包括:接收模块,用于接收终端发送的路径查询请求;处理模块,用于根据所述路径查询请求,控制至少两个任务组进行路径查询,获得路径查询结果,其中,至少有一个任务组包括至少两个线程;发送模型,用于将所述路径查询结果发送给所述终端。本申请第三个方面提供一种服务器,包括:至少一个处理器和存储器;所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现第一个方面提供的方法。本申请第四个方面提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现第一个方面提供的方法。本申请提供的图数据的路径检索处理方法、装置、服务器及存储介质,通过根据路径查询请求,控制至少两个任务组进行路径查询,获得路径查询结果,其中,至少有一个任务组包括至少两个线程,实现并行查询,提高了路径检索效率。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例适用的图数据的路径检索处理系统的结构示意图;图2为本申请另一实施例提供的图数据的路径检索处理方法的流程示意图;图3为本申请再一实施例提供的宽度优先搜索示意图;图4为本申请一实施例提供的超大节点的查询任务示意图;图5为本申请一实施例提供的深度优先搜索示意图;图6为本申请一实施例提供的图数据的路径检索处理装置的结构示意图;图7为本申请一实施例提供的图数据查询模块架构示意图;图8为本申请一实施例提供的服务器的结构示意图。通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。首先对本申请所涉及的名词进行解释:图数据:即图形数据,用图来表达关系数据。用图形数据库进行存储。深度优先搜索:DepthFirstSearch,简称DFS。深度优先搜索属于图算法的一种,其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。深度优先遍历图的方法是,从图中某顶点v出发:(1)访问顶点v;(2)依次从v的未被访问的邻接点出发,对图进行深度优先遍历;直至图中和v有路径相通的顶点都被访问;(3)若此时图中尚有顶点未被访问,则从一个未被访问的顶点出发,重新进行深度优先遍历,直到图中所有顶点均被访问过为止。顶点也称节点。深度优先搜索可以用栈(stack)来实现,整个过程可以想象成一个倒立的树形:1、把根节点(即起始节点)压入栈中。2、每次从栈中弹出一个元素,搜索所有在它下一级的元素,把这些元素压入栈中。并把这个元素记为它下一级元素的前驱。3、找到所要找的元素时结束程序。4、如果遍历整个树还没有找到,结束程序。宽度优先搜索:BreadthFirstSearch,简称BFS,又称广度优先搜索,通过已找到和未找到顶点之间的边界向外扩展,就是说,算法首先搜索和s距离为k的所有顶点,然后再去搜索和S距离为k+l的其他顶点。广度优先搜索可以使用队列(queue)来实现,整个过程也可以看做一个倒立的树形:1、把根节点放到队列的末尾。2、每次从队列的头部取出一个元素,查看这个元素所有的下一级元素,把它们放到队列的末尾。并把这个元素记为它下一级元素的前驱。3、找到所要找的元素时结束程序。4、如果遍历整个树还没有找到,结束程序。本申请实施例提供的图数据的路径检索处理方法,适用于如下图数据的路径检索处理系统。如图1所示,为本申请实施例适用的图数据的路径检索处理系统的结构示意图。该图数据的路径检索处理系统可以包括搜索服务器、图数据库服务器及至少一个用户终端,N为正整数。搜索服务器接收用户终端发送的路径查询请求,并根据路径查询请求查询图数据库服务器,获得路径查询结果返回给用户终端。该系统还可以包括缓存服务器,用于缓存超大节点的邻接边的索引值,该索引值可以是边的标识,比如边的ID,也可以是边的哈希值或者其他标识性信息,具体可以根据实际需求设置。可选地,图数据库可以配置在搜索服务器中,则系统中可以不包括图数据库服务器。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本专利技术的实施例进行描述。实施例一本实施例提供一种图数据的路径检索处理方法,用于检索关系数据。本实施例的执行主体为图数据的路径检索处理装置,该装置可以设置在服务器等计算机设备中。如图2所示,为本实施例提供的图数据的路径检索处理方法的流程示意图,该方法包括:步骤101,接收终端发送的路径查询请本文档来自技高网...

【技术保护点】
1.一种图数据的路径检索处理方法,其特征在于,包括:/n接收终端发送的路径查询请求;/n根据所述路径查询请求,控制至少两个任务组进行路径查询,获得路径查询结果,其中,至少有一个任务组包括至少两个线程;/n将所述路径查询结果发送给所述终端。/n

【技术特征摘要】
1.一种图数据的路径检索处理方法,其特征在于,包括:
接收终端发送的路径查询请求;
根据所述路径查询请求,控制至少两个任务组进行路径查询,获得路径查询结果,其中,至少有一个任务组包括至少两个线程;
将所述路径查询结果发送给所述终端。


2.根据权利要求1所述的方法,其特征在于,所述路径查询请求至少包括待查询的起点标识及终点标识;
所述根据所述路径查询请求,控制至少两个任务组进行路径查询,获得路径查询结果,包括:
控制第i任务组查询第i级节点,获得所述第i级节点的各邻接边及各邻接边连接的第i+1级节点,其中,第1级节点为所述起点标识对应的起始节点,i为正整数;
迭代执行上述步骤,直至满足预设迭代控制条件,获得所述路径查询结果。


3.根据权利要求2所述的方法,其特征在于,采用宽度优先搜索算法进行路径查询;第i任务组包括的线程数量与第i级节点的个数相同;
所述控制第i任务组查询第i级节点,获得所述第i级节点的各邻接边及各邻接边连接的第i+1级节点,包括:
控制第i任务组的各线程并行查询各第i级节点,获得所述第i级节点的各邻接边及各邻接边连接的第i+1级节点。


4.根据权利要求3所述的方法,其特征在于,在控制第i任务组的各线程并行查询各第i级节点,获得所述第i级节点的各邻接边及各邻接边连接的第i+1级节点之后,所述方法还包括:
控制第i任务组对获得的第i级节点的各邻接边及各邻接边连接的第i+1级节点进行合并及过滤处理,以合并相同的节点及去除已查询过的节点,获得处理后的第i+1级节点;
将处理后的第i+1级节点输入到第i+1任务组。


5.根据权利要求3所述的方法,其特征在于,在控制第i任务组的各线程并行查询各第i级节点,获得所述第i级节点的各邻接边及各邻接边连接的第i+1级节点之后,所述方法还包括:
控制第i任务组判断第i+1级节点中是否包括所述终点标识对应的终节点;
若第i+1级节点中均不包括所述终节点,则进入第i+1任务组的执行过程;
若第i+1级节点中包括所述终节点,则记录所述起始节点到所述终节点的路径信息。


6.根据权利要求3所述的方法,其特征在于,控制第i任务组的各线程并行查询各第i级节点,获得所述第i级节点的各邻接边及各邻接边连接的第i+1级节点,包括:
对于每个第i级节点,判断其是否为超大节点;若是超大节点,则根据该第i级节点的各邻接边索引值,采用至少两个线程获得该第i级节点的各邻接边及各邻接边连接的第i+1级节点。


7.根据权利要求6所述的方法,其特征在于,对于每个第i级节点,判断其是否为超大节点,包括:
获取预先存储的该第i级节点对应的邻接边索引值数量;
若该第i级节点对应的邻接边索引值数量超过预设邻接边阈值,则确定该第i级节点为超大节点。


8.根据权利要求2-7任一项所述的方法,其特征在于,所述路径查询结果为所述起点标识对应的起始节点与所述终点标识对应的终节点的最短路径。


9.根据权利要求2所述的方法,其特征在于,所述预设迭代控制条件包括预设路径距离阈值、预设路径数量阈值中的至少一种。


10.根据权利要求1所述的方法,其特征在于,采用深度优先搜索算法进行路径查询,所述路径查询请求至少包括待查询的起点标识及终点标识;
所述根据所述路径查询请求,控制至少两个任务组进行路径查询,获得路径查询结果,包括:
控制第1任务组查询所述起点标识对应的起始节点的邻接边及各邻接边连接的第一节点;
控制第2任务组,并行查询至少两个第一节点的各邻接边及各邻接边连接的第二节点,并记录被查询的第一节点信息;
控制第3任务组,并行查询至少两个第二节点的各邻接边及各邻接边连接的第三节点,并记录被查询的第二节点信息;...

【专利技术属性】
技术研发人员:谢奕张阳刘畅
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京;11

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

1