共享界标以快速处理前K条最便宜路径查询的方法技术

技术编号:34508448 阅读:15 留言:0更新日期:2022-08-13 20:52
本文是加速查找图的两个顶点之间的前几条最短路径的技术。在实施例中,对于包含包括界标顶点的顶点的图,计算机计算每个顶点与每个界标顶点之间的距离。基于从每个顶点到每个界标顶点的距离,计算从源顶点到目标顶点的前几条最短路径。在实施例中,三角测量建立从当前顶点的邻居顶点到查询的目标顶点的距离的下限。在实施例中,使用基于距离下限的距离预测来加速对前几条最短路径的K

【技术实现步骤摘要】
【国外来华专利技术】共享界标以快速处理前K条最便宜路径查询的方法


[0001]本专利技术涉及图路径搜索。本文是基于界标顶点进行三角测量以加速搜索源顶点和目标顶点之间的一些最短路径的技术。

技术介绍

[0002]逻辑图是捕获数据实体之间关系的重要数据模型。各种实际领域中的许多应用都可以利用图模型进行数据分析和查询。在过去几年中,可用于处理的相关数据量呈指数增长。在许多或大多数情况下,许多有价值的信息隐藏在数据实体之间的关系中。图查询引擎旨在通过提供对现有未加工数据执行图查询的快速且可扩展方式来利用这些关系。
[0003]在数据库行业,图数据库是新兴领域,发展迅速且备受关注。图数据库是特殊种类的数据库,其底层数据集被建模为图。图数据库产品通常支持路径查询,作为图分析的一个重要特征以揭示图的远处片段之间的连接。但是,图数据库可以存在造成某些路径查询执行缓慢的可伸缩性问题,尤其是因为路径查找通常具有指数计算复杂度。
[0004]路径查询是图数据库的一种特殊查询。路径查询可以要求在源顶点和目标顶点之间找到一些或所有可能的路径。路径查询的结果是结果路径的集合。每条结果路径可以有一系列顶点和边。
[0005]Oracle Spatial和Oracle Graph产品支持可以受益于路径查询加速的图数据模型。现有图数据库中的路径查询引起了一些观察。图数据库中的图数据可以非常庞大并且涉及数百万个顶点和数十亿条边。即使是小图也可能在两个顶点之间具有指数数量的路径。
[0006]在实践中,典型的查询包括足够的约束以将检索到的结果路径限制到少量。不过,即使结果路径的数量小,现有图数据库中使用的方法也常常需要过多的执行时间。
[0007]在大量可能的图查询中,人们对前k条最便宜路径查询非常感兴趣,这些查询是检索给定源顶点和给定目标顶点之间的前k条最便宜路径的查询,诸如根据成本函数。
[0008]回答前k条最便宜路径查询的现有技术方法通常依赖于构建特定于给定目的地顶点的最短路径树(SPT)。这意味着为图中的每个顶点计算到给定目的地顶点的最短路径。第一条最便宜路径将是在SPT中为给定源生成的路径。下一条最便宜路径是通过偏离SPT并采用成本最低路径来计算的。这种算法表示现有算法背后的主要机制,诸如Martins

Santos算法、Eppstein算法、Jim
é
nez和Marzal的惰性算法以及递归枚举算法。
[0009]在多用户图数据库系统的上下文中,快速回答前k条最便宜路径查询更具挑战性,尤其是在巨大的图和许多并发用户的情况下。例如,每个查询可以为每个给定的源/目的地顶点对构建SPT,这可以非常慢和/或存储器密集。
附图说明
[0010]在附图中:
[0011]图1是描绘示例计算机的框图,该计算机基于图的界标顶点进行三角测量以加速
搜索源顶点和目标顶点之间的一些最短路径;
[0012]图2是描绘示例修剪的框图,该示例修剪需要应用使用界标距离来修剪死胡同顶点的修剪规则;
[0013]图3是描绘示例三角测量的框图,该三角测量计算可能是从当前的邻居顶点到目标顶点的最短中间路径的长度的最佳下限的相应值;
[0014]图4是描绘示例三角测量的框图,以基于给定邻居顶点的所有界标顶点计算准确的下界;
[0015]图5是描绘示例加速K

A星搜索的框图,这是使用优先级队列发现前几条最短路径的图搜索算法;
[0016]图6是描绘通过基于界标顶点进行三角测量来加速搜索源顶点和目标顶点之间的几条最短路径的示例过程的流程图;
[0017]图7是描绘用于指定界标顶点的示例过程的流程图,从该界标顶点可以计算三角测量所需的所有距离;
[0018]图8是描绘示例查询处理的流程图;
[0019]图9是描绘通过加速的K

A星搜索的示例处理的流程图;
[0020]图10是图示可以在其上实现本专利技术的实施例的计算机系统的框图;
[0021]图11是图示可以用于控制计算系统的操作的基本软件系统的框图。
具体实施方式
[0022]在下面的描述中,出于解释的目的,阐述了许多具体细节以便提供对本专利技术的透彻理解。但是,将显而易见的是,可以在没有这些具体细节的情况下实践本专利技术。在其它情况下,以框图形式示出了众所周知的结构和设备,以避免不必要地使本专利技术晦涩难懂。
[0023]总体概述
[0024]本文的技术选择图的顶点的小子集作为界标顶点。对于图中的每个顶点,发现并记录到(和从,如果图是有向的)每个界标顶点的最短路径的长度。然后可以在多个并发查询之间共享往返界标的距离。在运行时,当为顶点的给定源/目的地对生成前k条最便宜路径时,一些预先计算的距离被用于估计给定顶点到查询的目标顶点的距离。基于估计的距离,优先探索中间路径以减少探索搜索空间,从而加速前k条路径查找查询。没有已知的使用界标来加速的前k条最便宜路径算法。
[0025]与其它现有的回答前k条最便宜路径查询的解决方案相比,这些解决方案为顶点的每个源/目的地对构建最短路径树(SPT),本文的技术构建界标并在图加载时计算界标距离,然后在同一图的不同查询中共享界标距离。界标距离被用于估计其它顶点之间的距离,这可以驱动图探索并修剪无用的路径。
[0026]本文的技术的优点包括:
[0027]·
更快:在运行时,SPT的计算成本比本文的距离估计高;
[0028]·
更小:存储器占用不会随着查询的运行量而增长。如果只有十个界标顶点,那么无论运行多少查询,每个顶点都只存储十个特性。基于SPT的解决方案必须为每个查询存储SPT;以及
[0029]·
可控的存储器占用:如果查询仅探索图的一个区域,那么本文的技术可以将界
标限制到那个区域。基于SPT的解决方案必须处理整个图。
[0030]上述优点对于多用户图处理系统是重要的,因为小且可控的存储器占用以及速度对于维持高系统吞吐量至关重要。
[0031]在实施例中,对于包含包括界标顶点的顶点的图,计算机计算每个顶点和每个界标顶点之间的距离。基于每个顶点到每个界标顶点的距离,计算从源顶点到目标顶点的前几条最短路径。
[0032]在实施例中,三角测量建立从当前顶点的邻居顶点到查询的目标顶点的距离的下限。在一个实施例中,使用基于距离下限的距离预测来加速对前几条最短路径的K

A星搜索。
[0033]1.0示例计算机
[0034]图1是描绘实施例中的示例计算机100的框图。计算机100基于图的界标顶点进行三角测量以加速搜索源顶点和目标顶点之间的一些最短路径。计算机100可以是诸如刀片之类的机架式服务器、个人计算机、大型机、虚拟计算机或其它计算设备。
[0035]在易失性存储器和/或持久存储装置中,计算机100可以存储和/或加载可能包含许多顶点(诸如A

本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种方法,包括:对于包含多个图顶点的图,所述多个图顶点包括多个界标顶点,计算所述多个图顶点中的每个顶点与所述多个界标顶点中的每个顶点之间的多个距离;在一个或多个计算机的存储装置中存储所述多个图顶点中的每个顶点与所述多个界标顶点中的每个顶点之间的所述多个距离;响应于对所述图的路径查询:基于存储在所述存储装置中的所述多个距离,计算从所述多个图顶点中的源顶点到所述多个图顶点中的目标顶点的多条最短路径,以及返回所述多条最短路径;其中:所述多条最短路径的计数不超过阈值;该方法由所述一个或多个计算机执行。2.如权利要求1所述的方法,其中所述存储所述多个图顶点中的每个顶点与所述多个界标顶点中的每个顶点之间的所述多个距离包括将所述多个距离存储在从由以下组成的组中选择的至少一个中:易失性存储器和非易失性存储装置。3.如权利要求1所述的方法,还包括基于所述多个图顶点中的每个顶点与所述多个界标顶点中的每个顶点之间的所述多个距离执行同一所述图的多个路径查询,所述多个路径查询包括针对所述图的所述路径查询。4.如权利要求3所述的方法,其中:同一所述图的所述多个路径查询包括第二路径查询;针对所述图的所述路径查询具有与第二路径查询不同的源顶点,和/或针对所述图的所述路径查询具有与第二路径查询不同的目标顶点。5.如权利要求1所述的方法,还包括以下中的至少一者:从所述多个图顶点中随机选择所述多个界标顶点,从所述图的特定区域中选择所述多个界标顶点,和/或基于所述图的一个或多个路径查询的时延增加所述多个界标顶点。6.如权利要求1所述的方法,还包括:将来自所述多个图顶点的顶点添加到所述多个图顶点的初始为空的子集;通过向所述多个图顶点的所述子集并向所述多个界标顶点添加所述多个图顶点中距所述多个图顶点的所述子集最远的顶点,从所述多个图顶点中迭代地选择所述多个界标顶点。7.如权利要求1所述的方法,其中:所述多个界标顶点由以下组成:a)距所述多个图顶点中的种子顶点最远的第一界标顶点,b)距第一界标顶点和种子顶点最远的第二界标顶点,以及c)所述多个界标顶点的没有第一界标顶点和第二界标顶点的子集;该方法还包括通过向所述多个界标顶点的所述子集添加所述多个图顶点中使以下项之间的算术差最大化的顶点来从所述多个图顶点中迭代地选择所述多个界标顶点的所述子集:a)沿着包括所述顶点的路径的所述多个界标顶点的所有界标顶点对之间的距离之
和,以及b)所述多个界标顶点的所有界标顶点对之间的距离之和。8.如权利要求1所述的方法,其中所述多个界标顶点的尺寸基于所述多个图顶点的尺寸的对数。9.如权利要求1所述的方法,其中所述计算从所述多个图顶点中的源顶点到所述多个图顶点中的目标顶点的所述多条最短路径包括以下中的至少一者:基于所述多个界标顶点的三角测量,和/或K

A星搜索。10.如权利要求9所述的方法,其中:针对所述图的所述路径查询指定所述源顶点和所述目标顶点;基于所述多个界标顶点的所述三角测量在以下任一情况下发生:在所述K

A星搜索之前,或者在接收到指定所述源顶点和所述目标顶点的所述路径查询之后。11.如权利要求9所述的方法,其中K

A星搜索包括基于通过所述多个界标顶点中的界标顶点从中间顶点到所述目标顶点的距离对从所述源顶点到所述中间顶点的部分路径进行成本计算。12.如权利要求...

【专利技术属性】
技术研发人员:V
申请(专利权)人:甲骨文国际公司
类型:发明
国别省市:

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

1