CN109344208A - 路径查询方法、装置及电子设备 - Google Patents
路径查询方法、装置及电子设备 Download PDFInfo
- Publication number
- CN109344208A CN109344208A CN201810923044.XA CN201810923044A CN109344208A CN 109344208 A CN109344208 A CN 109344208A CN 201810923044 A CN201810923044 A CN 201810923044A CN 109344208 A CN109344208 A CN 109344208A
- Authority
- CN
- China
- Prior art keywords
- node
- traversed
- destination
- source
- traversal
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种路径查询方法、装置及电子设备,其中方法包括:确定源节点和目的节点;循环以源节点和目的节点作为起始顶点,逐层对图数据库中的节点进行遍历,直至当前遍历到的节点中包括另一起始顶点,或者当前遍历到的节点中与上一次遍历到的节点中具有相同节点,或者将所有节点遍历完成;若当前遍历到的节点中包括另一起始顶点,则确定源节点和目的节点直接连通;若当前遍历到的节点中与上一次遍历到的节点中具有相同节点,则根据相同节点确定源节点和目的节点之间的连通路径。本申请以源节点、目的节点两个节点对图数据库进行双向遍历,缩短了对图数据库遍历的时间,提高了对图数据库的遍历效率。
Description
技术领域
本申请涉及图数据库技术领域,具体而言,本申请涉及一种路径查询方法、装置及电子设备。
背景技术
图形数据库是一种非关系型数据库,一般用于事务处理系统中,被应用系统实时访问,支持对图数据模型的增、删、改、查(CRUD)方法。图数据库使得利用事物(即“节点”或“实体”)及事物之间的联系(即“边”或“关系”)来对各类业务场景进行抽象变得更加容易。因图数据库更擅于处理网状的复杂关系,因而随着大数据技术的发展,用户数量的提升,图数据库的应用范围越来越广。在欺诈团伙调查、风险事件预警、失联修复等不同的业务场景中,因图数据库中数据量过于庞大,因此事务处理效率非常低。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,特别是图数据库中节点间路径查询效率低的技术缺陷。本申请采用的技术方案如下:
第一方面,提供了一种路径查询方法,包括:
确定源节点和目的节点;
循环以源节点和目的节点作为起始顶点,逐层对图数据库中的节点进行遍历,直至当前遍历到的节点中包括另一起始顶点,或者当前遍历到的节点中与上一次遍历到的节点中具有相同节点,或者将所有节点遍历完成;
若当前遍历到的节点中包括另一起始顶点,则确定源节点和目的节点直接连通;
若当前遍历到的节点中与上一次遍历到的节点中具有相同节点,则根据相同节点确定源节点和目的节点之间的连通路径。
进一步,确定源节点和目的节点包括:
接收路径查询请求,路径查询请求中包括源节点的属性信息和目的节点的属性信息;
根据源节点的属性信息和目的节点的属性信息,查询图数据库,得到源节点和目的节点。
进一步,路径查询请求中还包括遍历距离阈值,
循环以源节点和目的节点作为起始点,逐层对图数据库中的节点进行遍历,包括:
在遍历距离阈值内循环以源节点和目的节点作为起始顶点,逐层对图数据库中的节点进行遍历。
进一步,遍历距离阈值为源节点与目的节点之间的跳数阈值。
进一步,路径查询请求中还包括被过滤节点属性信息,循环以源节点和目的节点作为起始顶点,逐层对图数据库中的节点进行遍历,还包括:
获取当前遍历到的节点的属性信息;
若当前遍历到的节点的属性信息符合被过滤节点属性信息,则停止对当前遍历到的节点所在路径上的节点的遍历。
进一步,相同节点为不符合被过滤节点属性信息的节点。
进一步,被过滤节点的属性信息包括节点的度大于设定值。
进一步,该方法还包括:
若当前遍历到的节点为标记节点,则停止对标记节点所在路径上的节点的遍历。
进一步,相同节点为非标记节点。
进一步,该方法还包括:
确定图数据库中的标记节点。
进一步,确定图数据库中的标记节点,包括:
获取用户在图数据库中指定的节点,将用户指定的节点确定为标记节点。
第二方面,提供了一种路径查询装置,包括:
节点确定模块,用于确定源节点和目的节点;
路径查询模块,用于循环以源节点和目的节点作为起始顶点,逐层对图数据库中的节点进行遍历,直至当前遍历到的节点中包括另一起始顶点,或者当前遍历到的节点中与上一次遍历到的节点中具有相同节点或者将所有节点遍历完成;
若当前遍历到的节点中包括另一起始顶点,则确定源节点和目的节点直接连通;
若当前遍历到的节点中与上一次遍历到的节点中具有相同节点,则根据相同节点确定源节点和目的节点之间的连通路径。
进一步,节点确定模块包括:
请求接收单元,用于接收路径查询请求,路径查询请求中包括源节点的属性信息和目的节点的属性信息;
节点查询单元,用于根据源节点的属性信息和目的节点的属性信息,查询图数据库,得到源节点和目的节点。
进一步,路径查询请求中还包括遍历距离阈值,路径查询模具体用于:
在遍历距离阈值内循环以源节点和目的节点作为起始顶点,逐层对图数据库中的节点进行遍历。
进一步,遍历距离阈值为源节点与目的节点之间的跳数阈值。
进一步,路径查询请求中还包括被过滤节点属性信息,
路径查询模块还用于:获取当前遍历到的节点的属性信息;
若当前遍历到的节点的属性信息符合被过滤节点属性信息,则停止对当前遍历到的节点所在路径上的节点遍历。
进一步,相同节点为不符合被过滤节点属性信息的节点。
进一步,被过滤节点属性信息包括节点的度大于设定值。
进一步,路径查询模块具体还用于:
若当前遍历到的节点为标记节点,则停止对标记节点所在路径上的节点的遍历。
进一步,相同节点为非标记节点。
进一步,该装置还包括:
标记节点确定模块,用于确定图数据库中的标记节点。
进一步,标记节点确定模块具体用于:获取用户在图数据库中指定的节点,将用户指定的节点确定为标记节点。
第三方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述的路径查找方法。
第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述的路径查找方法。
本申请实施提供的路径的查找方法、装置及电子设备,在路径查询时,循环以源节点和目的节点为起始顶点对图数据库进行逐层遍历,起到了分别以源节点、目的节点两个节点对图数据库进行双向遍历的作用,缩短了以源节点或目的节点中某一个节点进行单个方向遍历所消耗的时间,提高了路径查询效率。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例的一种路径查询方法的流程示意图;
图2为应用本申请实施例的路径查询方法的流程示意图;
图3为本申请实施例的一种路径查询装置的结构示意图;
图4为本申请实施例的另一种路径查询装置的结构示意图;
图5为本申请实施例的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,各实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
相关技术中,图数据库利用节点(即事务)及节点之间的边的联系来对各类业务场景进行抽象,具体是利用不同节点间的边的数量或者边的权重之和判断二者之间的关联关系。然而,确定不同节点间关联关系的方式,一般是在确定作为遍历的起始点的源节点后沿某一方向遍历,直至查找到目的节点,这种遍历是单向的,并且遍历效率非常低。
本申请提供的路径查询方法、装置及电子设备,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
实施例一
本申请实施例提供了一种路径查询方法,如图1所示,该路径查询方法可以包括以下步骤:
步骤S101、确定源节点和目的节点;
步骤S102、循环以源节点和目的节点作为起始顶点,逐层对图数据库中的节点进行遍历,直至当前遍历到的节点中包括另一起始点,或者将所有节点遍历完成,或者将所有节点遍历完成;
若当前遍历到的节点中包括另一起始点,则确定源节点和目的节点直接连通;
若当前遍历到的节点中与上一次遍历到的节点中具有相同节点,则根据相同节点确定源节点和目的节点的连通路径。
在实际应用中,可以根据需要选择遍历结束的条件,例如,如果只想查找到源节点和目的节点之间的一条路径,遍历结束的条件可以确定为当前遍历到的节点包括另一起始点或当前遍历到的节点中与上一次遍历到的节点中具有相同节点,如果想要查找出源节点和目的节点之间的所有路径,则可以选择将所有节点遍历完成作为遍历结束的条件。
可以理解的是,在循环以源节点和目的节点作为起始顶点,逐层对图数据库中的节点进行遍历时,遍历开始时可以先从源节点开始,也可以先从目的节点开始。具体的,可以先以源节点为起始顶点进行一次遍历,该次遍历为以源节点一侧进行的第一次遍历,确定在源节点一侧第一次遍历到的结果是否符合遍历结束的条件,如果符合则停止遍历,如果不符合,再以目的节点为起始顶点进行遍历,该次遍历为以目的节点一侧的第一次遍历,确定在目的节点一侧第一次遍历到的结果是否符合遍历结束的条件,如果符合则停止遍历,如果不符合,则对源节点的下一层节点进行遍历,即以源节点一侧第一次遍历到的节点为起始顶点进行第二次遍历,完成源节点一侧的第二次遍历,若源节点一侧第二次遍历到的结果符合遍历结束的条件,停止遍历,否则对目的节点的下一层节点进行遍历,即以目的节点一侧第一次遍历到的节点为起始顶点进行第二次遍历,完成目的节点一侧的第二次遍历,依次类推,以源节点一侧和目的节点一侧各完成一次遍历为一个循环,下个循环以源节点一侧上一次循环遍历的结果开始遍历,而目的节点则以目的节点一侧上一次循环遍历的结果开始遍历,直至循环以源节点和目的节点作为起始顶点,逐层对图数据库中的节点进行遍历。
本申请提供的路径查询方法可以应用在不同业务场景,在对图数据库中的节点进行遍历时,循环以源节点和目的节点作为起始顶点逐层对图数据库进行遍历,因此对图数据库进行遍历的方向是沿两个方向进行的,而非单一方向,由于高一层次节点所连接的下一层次的节点的数量通常会比该下一层次的节点所连接的所有下一层次的数量的大很多,具体的,如图2中所示的图数据库,源节点S连接的下一层次的节点为节点a、b和c,而节点a、b和c所连接的下一层次节点为节点a1、a2、a3、D和d。因此,通过对图数据库的双向遍历,可大大缩短了遍历时间,提高遍历查询的效率。基于本申请实施例的方案,能够加快对不同业务场景进行抽象的效率,进而提高事务处理效率,最终加快应用本申请提供的方法的事务处理系统的处理效率。
例如,应用本申请的业务场景为欺诈团伙调查时,其中,源节点所对应的用户确定为诈骗用户,该业务场景的目的在于对疑似用户(即目的节点所的对应的用户)进行判断,判断目的节点是否为诈骗用户。参照图2,应用时,可以先以源节点S为起始节点对图数据库进行逐层遍历,即第一次以源节点S为起始顶点进行遍历且遍历一层,遍历到的节点为a、b和c,为了方便说明,将该次遍历在边上标记为1,表示为第一次遍历;以源节点为起始顶点完成一层遍历后,判断当前遍历到的节点中是否包括目的节点,由于当前遍历到的节点a、b和c不包括目的节点D,则以目的节点D为起始顶点进行第二次遍历,同样地,为了方便说明,将该次遍历在边上标记为2,当前遍历到的节点为b和d,由于本次遍历到的节点b和d中具有与第一次遍历到的节点中存在相同节点b,因此,可以源节点S和目的节点D能够通过节点b连通,可以根据节点b确定出源节点和目的节点之间的连通路径S-d-D,因此,可以认为源节点和目的节点间联系较为密切,在确定源节点对应的用户为诈骗用户的前提下,目的节点所对应的用户也极有可能为诈骗用户。后续还可以根据应用需要再通过获取目的节点D的相关属性信息或其它等方式,进一步确定目的节点D对应的用户是为诈骗用户。
实施例二
本申请实施例提供了另一种可能的实现方式,在实施例一的基础上,还可以包括实施例二所示的方法,其中,步骤S101可以包括步骤S1011(图中未示出)和步骤S1012(图中未示出)。
步骤S1011、接收路径查询请求,该路径查询请求中包括源节点的属性信息和目的节点的属性信息;
步骤S1012、根据源节点的属性信息和目的节点的属性信息,查询图数据库,得到源节点和目的节点。
本申请实施例中,节点的属性信息是用于确定具体节点的信息,在实际应用中,具体采用哪些属性信息可以根据不同的应用场景及应用需要确定。例如,属性信息可以包括但不限于节点的属性类型(Name)以及属性值(Value),例如,节点的属性类型可以是手机号,属性值则可以是手机号码。具体的以源节点和目的节点为例,查询请求可选为:
g.ShortestPath(V1PName,V1PValue,V2PName,V2PValue),其中,g.ShortestPath表示查询请求,V1PName和V1PValue为源节点的属性信息,即源节点的属性名(即所属的类型)和属性值,V2PName和V2PValue为目的节点的属性信息,即目的节点的属性名和属性值。接收到该查询请求后,可以根据源节点的属性信息和目的节点的属性信息确定出源节点和目的节点。
本实施例通过查询请求实现了在图数据库中确定源节点和目的节点的目的,采用该方案,无需具体指定源节点和目的节点,可以根据查询需要设置源节点和目的节点的属性信息即可,实现了源节点和目的节点的自动化查询。
可以理解的是,在实际应用中,也可以直接指定源节点和目的节点,即查询请求中可以直接是源节点的标识和目的节点的标识。
实施例三
本申请实施例提供了另一种可能的实现方式,在实施例二的基础上,还可以包括实施例三所示的方法,其中,路径查询请求中还包括遍历距离阈值;步骤S102中循环以源节点和目的节点作为起始顶点,逐层对图数据库中的节点进行遍历,具体可以包括:在遍历距离阈值内循环以源节点和目的节点作为起始顶点,逐层对图数据库中的节点进行遍历。
本实施例中,遍历距离阈值可以为源节点与目的节点之间的跳数阈值,以跳数阈值作为对图数据库进行逐层遍历的限制条件。源节点与目的节点之间的跳数阈值也即为遍历的总次数。
具体地,查询请求可选的如下格式:
g.ShortestPath(V1PName,V1PValue,V2PName,V2PNalue,limit),其中,limit为查询请求中遍历距离阈值。例如,limit可以设为5,循环以源节点和目的节点作为起始顶点,逐层对图数据库中的节点进行遍历时,遍历的跳数即总次数则不能超过5。
在实际应用的应用场景中,对于源节点和目的节点之间路径的查询,一般都是通过判断源节点和目的节点之间的跳数是否在一定范围内,来确定两者之间的关联关系是否满足一定的条件,如果跳数过大,一般会认为两节点间的关联性较小,可以忽略该路径。本实施例通过遍历距离阈值来限定了遍历过程中的跳数,从而可以只查询出实际应用中需要关注的路径,能够更加满足实际的应用需求。
本实施例中,以该遍历距离阈值起到限制遍历次数的目的,防止因图数据库中数据量太大,而导致无休止的遍历,从而导致遍历到的连通路径中包括的节点数量太多,进而影响根据连通路径对不同业务场景下源节点和目的节点间关联关系进行判断的精确度。
由前文的描述可知,在遍历距离阈值内循环以源节点和目的节点作为起始顶点,逐层对图数据库中的节点进行遍历时,可以根据具体的应用场景及实际需要选择遍历结束的条件。例如,遍历过程中,在遍历的跳数值小于遍历距离阈值时,如果已经查询到了相同节点,则可以停止遍历;也可以继续遍历,以得到遍历距离阈值范围内的所有相同节点,从而可以根据不同的相同节点确定不同的连通路径,为后期根据多条连通路径以提高对源节点和目的节点间关联关系的判断的准确性。
例如,在一些实施例中,参考图2,在以源节点S为起始顶点第一次遍历后,遍历到节点a、b和c,第二次遍历以目的节点D为起始顶点,遍历到节点b和d。假设遍历距离阈值为5,此时遍历的跳数(即遍历的次数)为2,在遍历距离阈值内遍历到相同节点b,可以停止遍历,完成本次遍历。
再如,在一些实施例中,参考图2,在以源节点S为起始顶点第一次遍历后,遍历到节点a、b和c,第二次遍历以目的节点D为起始点,遍历到节点b和d。假设遍历距离阈值为5,此时遍历距离为2,在遍历距离阈值内遍历到相同节点b后,由于遍历距离小于遍历距离阈值,可以继续遍历,直至在遍历距离阈值内遍历到所有相同节点,图2中所示的示例中,在遍历距离阈值范围内可以遍历到相同节点b和e。
具体应用时,查询请求中还可以根据具体需要设定遍历到的相同节点的数量,即限定想要查询到的路径的数量,通过设定遍历到相同节点的数量,来限制遍历的次数。
实施例四
本申请实施例提供了另一种可能的实现方式,在实施例二的基础上,还包括实施例四所示的方法,路径查询请求中还可以包括被过滤节点属性信息对应的,该循环以源节点和目的节点作为起始顶点,逐层对图数据库中的节点进行遍历还可以包括:
获取当前遍历到的节点的属性信息;
若当前遍历到的节点的属性信息符合该被过滤节点属性信息,则停止对当前遍历到的节点所在路径上的节点的遍历。
本实施例中,被过滤节点属性信息可以包括节点的度大于设定值。
本实施例通过被过滤节点属性信息,例如,节点的度是否大于设定值,可以在遍过程中对当前遍历到的节点进行判断,确定当前遍历到的节点的属性信息是否符合被过滤节点属性信息,如果符合,则可以停止对当前遍历到的符合被过滤节点属性信息的节点所在路径上的节点的遍历。
其中,节点的度是指节点的邻居节点的个数,也就是与节点连接的边的数量。
本实施例中,相同节点为不符合被过滤节点属性信息的节点,也就是说,符合被过滤节点属性信息的节点为查询过程中需要过滤掉的节点。
具体地,被过滤节点属性信息可以以degree表示,例如,查询请求可选的如下格式:
g.ShortestPath(V1PName,V1PValue,V2PName,V2PNalue,degree)。应用时,被过滤节点属性信息可以为节点的度大于N,在不同的业务场景中,N可以根据需要具体设置调整,例如,N可以设为10000,那么在遍历到的某一节点的属性信息为连接有大于10000个邻居节点即该节点的度大于10000时,则该节点是符合被过滤节点属性信息的节点,停止对该节点所在路径上的节点的遍历,以避免对该节点的下一层节点继续遍历时造成的消耗大量时间的问题,从而提高路径查询的效率。
可以理解的是,被过滤节点属性信息可以根据实际应用场景及应用需求确定。例如,在确定诈骗电话的应用场景中,图数据库中的每一个节点可以对应为一个电话终端,由于银行热线电话等所对应的节点所连接的下一层节点的数量会很大,因此,可以通过被过滤节点属性信息,过滤掉该类节点,避免查询过程中由于该类节点导致查询时间过长的问题。
需要说明的是,本申请中所有实施例的路径查询请求中的遍历限制条件,既可以包括实施例三中的遍历距离阈值(即跳数阈值),也可也参照包括实施例四中的被过滤节点属性信息,还可以同时包括遍历距离阈值和被过滤节点属性信息。
具体地,同时包括实施例三和实施例四中的遍历距离阈值、被过滤节点属性信息时,路径查询请求可以为:g.ShortestPath(V1PName,V1PValue,V2PName,V2PNalue,degree,limit),其中,degree表示被过滤节点属性信息,limit为路径查询请求中的遍历距离阈值。通过该实施例实现对图数据库的双向遍历时,同时利用degree和limit对双向遍历过程进行限制,从而缩短遍历时间,进而提高遍历效率。通过被过滤节点属性信息和/或遍历距离阈值,使本申请实施例的查询方法能够更好的满足实际应用需要。
实施例五
本申请实施例提供了另一种可能的实现方式,本申请实施例的路经查询方法还包括实施例五的方法,该方法中,若当前遍历到的节点为标记节点,则停止对标记节点所在路径上的节点的遍历。
具体地,本实施例中,该方法还包括:确定图数据库中的标记节点。其中,确定图数据库中的标记节点可以包括:获取用户在图数据库中指定的节点,将用户指定的节点确定为标记节点。
本实施例中,相同节点为非标记节点。
实际应用时,可以根据实际需要,通过获取用户在图数据库中指定的节点,从而实现确定图数据库中标记节点的目的,以避免查询到的相同节点为标记节点,即通过设置标记节点,可以实现对查询到的路径的过滤,使查询到的路径为非标记节点所在的路径。通过该方案,能够对不想要关注的源节点和目的节点之间的路径实现过滤。
具体的,例如,在实际应用场景中,标记节点可以为某些节点为安全节点,或者某一或某些节点的所在的路径为无需关注的路径,则可以预先对这些节点进行标记。更具体地,标记节点还可以是在图数据库中带有编号的节点,需要说明的是,所有能够唯一确定标记节点的方式均是本申请的技术方案,以便在遍历过程中将遍历到的标记节点过滤,同时停止对标记节点所在路径上的节点的遍历。
具体地,本申请的所有实施例均可以参照本实施例通过确定标记节点以确定停止对标记节点所在路径上的节点的遍历的过程;也可以参照实施例四通过对当前遍历到的节点的属性信息是否符合该被过滤节点属性信息,从而确定停止对当前遍历到的节点所在路径上的节点的遍历的过程;还可以同时参照实施例四和实施例五同时将当前遍历到的节点的属性信息是否符合该被过滤节点属性信息进行判断,将当前遍历到的节点是否为标记节点进行判断,从而确定是否停止当前节点所在路径的遍历,最终保证遍历到的节点既不是标记节点,遍历到的节点的属性信息也不符合被过滤节点属性信息,避免查询过程中由于这两类节点导致查询时间过长的问题。
实施例六
图3为本申请实施例提供的一种路径查询装置,包括:节点选择模块31和路径查询模块32,其中,
节点确定模块31用于确定源节点和目的节点;
路径查询模块32用于循环以源节点和目的节点作为起始顶点,逐层对图数据库中的节点进行遍历,直至当前遍历到的节点中包括另一起始顶点,或者当前遍历到的节点中与上一次遍历到的节点中具有相同节点,或者将所有节点遍历完成;
若当前遍历到的节点中包括另一起始顶点,则确定源节点和目的节点直接连通;
若当前遍历到的节点中与上一次遍历到的节点中具有相同节点,则根据相同节点确定源节点和目的节点之间的连通路径。
本申请实施例提供的装置,与现有技术相比,本申请提供的装置可以应用在不同业务场景,在对图数据库进行遍历时,循环以源节点和目的节点作为起始顶点逐层对图数据库进行遍历,因此对图数据库进行遍历的方向双向进行的,而非简单的单向遍历,通过对图数据库的双向遍历,直接缩短了遍历时间,从而加快对不同业务场景进行抽象的效率,进而提高事务处理效率,最终加快应用本申请提供的方法的事务处理系统的处理效率。
例如,进一步地,节点确定模块31包括:请求接收单元311和节点查询单元312,其中,
请求接收单元311,用于接收路径查询请求,该路径查询请求包括源节点的属性信息和目的节点的属性信息;
节点查询单元312,用于根据源节点的属性信息和目的节点的属性信息,查询图数据库,得到源节点和目的节点。
进一步,路径查询请求中还包括遍历距离阈值,路径查询模块具体用于:在遍历距离阈值内循环以源节点和目的节点作为起始顶点,逐层对图数据库中的节点进行遍历。
进一步,遍历距离阈值为源节点与目的节点之间的跳数阈值。
进一步,路径查询请求还包括被过滤节点属性信息,路径查询请求模块还用于:获取当前遍历到的节点的属性信息;若当前遍历到的节点的属性信息符合被过滤节点属性信息,则停止对当前遍历到的节点所在路径上的节点遍历。
本实施例中,以该遍历距离阈值起到限制遍历次数的目的,防止因图数据库中数据量太大,而导致无休止的遍历,从而导致遍历到的连通路径中包括的节点数量太多,进而影响根据连通路径对不同业务场景下源节点和目的节点间关联关系进行判断的精确度。
进一步,相同节点为不符合过滤节点的属性信息的节点。
进一步,被过滤节点属性信息包括节点的度大于设定值。
进一步,路径查询模块具体还用于:若当前遍历到的节点为标记节点,则停止对标记节点所在路径上的节点的遍历。
本申请通过获取用户在图数据库中指定的节点,从而实现确定图数据库中标记节点的目的,以避免查询到的相同节点为标记节点,即通过设置标记节点,可以实现对查询到的路径的过滤,使查询到的路径为非标记节点所在的路径。通过该方案,能够对不想要关注的源节点和目的节点之间的路径实现过滤。
进一步,相同节点为非标记节点。
进一步,如图4所示,该装置还包括:标记节点确定模块37,
标记节点确定模块37,用于确定图数据库中的标记节点。
进一步,标记节点确定模块具体用于:获取用户在图数据库中指定的节点,将用户指定的节点确定为标记节点。
本申请通过对遍历到的相同节点进行判断,实现了对不同业务场景下标记节点的过滤,防止因相同节点为在不同业务场景下提供专项服务的节点,从而影响后期对不同业务场景进行判断的精确度。例如,在欺诈团伙调查中,如果相同节点为提供电信服务的节点,在源节点为诈骗用户的条件下,误判目的节点也未诈骗用户。
实施例七
本申请实施例提供了一种电子设备,如图5所示,图5所示的电子设备500包括:处理器5001和存储器5003。其中,处理器5001和存储器5003相连,如通过总线5002相连。进一步地,电子设备500还可以包括收发器5004。需要说明的是,实际应用中收发器5004不限于一个,该电子设备500的结构并不构成对本申请实施例的限定。
处理器5001可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器5001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线5002可包括一通路,在上述组件之间传送信息。总线5002可以是PCI总线或EISA总线等。总线5002可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器5003可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器5003用于存储执行本申请方案的应用程序代码,并由处理器5001来控制执行。处理器5001用于执行存储器5003中存储的应用程序代码,以实现图4所示实施例提供的路径查询装置。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现实施例一至实施例五中任一实施例所示的方法。
本申请实施例提供了一种计算机可读存储介质,与现有技术相比,本申请提供的路径查询方法可以应用在不同业务场景,在对图数据库进行遍历时,循环以源节点和目的节点作为起始点逐层对图数据库进行遍历,因此对图数据库进行遍历的方向沿两个方向进行的,而非单一方向,通过对图数据库的双向遍历,直接缩短遍历时间,提高了遍历效率。更具体地,加快了对不同业务场景进行抽象的效率,进而提高事务处理效率,最终加快应用本申请提供的方法的事务处理系统的处理效率。
本申请实施例提供了一种计算机可读存储介质适用于上述方法实施例。在此不再赘述。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种路径查询方法,其特征在于,包括:
确定源节点和目的节点;
循环以源节点和目的节点作为起始顶点,逐层对图数据库中的节点进行遍历,直至当前遍历到的节点中包括另一起始顶点,或者当前遍历到的节点中与上一次遍历到的节点中具有相同节点,或者将所有节点遍历完成;
若当前遍历到的节点中包括另一起始顶点,则确定源节点和目的节点直接连通;
若当前遍历到的节点中与上一次遍历到的节点中具有相同节点,则根据相同节点确定源节点和目的节点之间的连通路径。
2.根据权利要求1所述的方法,其特征在于,所述确定源节点和目的节点,包括:
接收路径查询请求,所述路径查询请求中包括源节点的属性信息和目的节点的属性信息;
根据源节点的属性信息和目的节点的属性信息,查询所述图数据库,得到源节点和目的节点。
3.根据权利要求2所述的方法,其特征在于,所述路径查询请求中还包括遍历距离阈值,
所述循环以源节点和目的节点作为起始顶点,逐层对图数据库中的节点进行遍历,包括:
在所述遍历距离阈值内循环以源节点和目的节点作为起始顶点,逐层对图数据库中的节点进行遍历。
4.根据权利要求3所述的方法,其特征在于,所述遍历距离阈值为源节点与目的节点之间的跳数阈值。
5.一种路径查询装置,其特征在于,包括:
节点确定模块,用于确定源节点和目的节点;
路径查询模块,用于循环以源节点和目的节点作为起始顶点,逐层对图数据库中的节点进行遍历,直至当前遍历到的节点中包括另一起始顶点,或者当前遍历到的节点中与上一次遍历到的节点中具有相同节点或者将所有节点遍历完成;若当前遍历到的节点中包括另一起始顶点,则确定源节点和目的节点直接连通;若当前遍历到的节点中与上一次遍历到的节点中具有相同节点,则根据相同节点确定源节点和目的节点之间的连通路径。
6.根据权利要求5所述的装置,其特征在于,所述节点确定模块包括:
请求接收单元,用于接收路径查询请求,所述路径查询请求中包括源节点的属性信息和目的节点的属性信息;
节点查询单元,用于根据源节点的属性信息和目的节点的属性信息,查询所述图数据库,得到源节点和目的节点。
7.根据权利要求6所述的装置,其特征在于,所述路径查询请求中还包括遍历距离阈值,所述路径查询模具体用于:
在所述遍历距离阈值内循环以源节点和目的节点作为起始顶点,逐层对图数据库中的节点进行遍历。
8.根据权利要求7所述的装置,其特征在于,所述遍历距离阈值为源节点与目的节点之间的跳数阈值。
9.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1-4任一项所述的路径查询方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现权利要求1-4任一项所述的路径查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810923044.XA CN109344208A (zh) | 2018-08-14 | 2018-08-14 | 路径查询方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810923044.XA CN109344208A (zh) | 2018-08-14 | 2018-08-14 | 路径查询方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109344208A true CN109344208A (zh) | 2019-02-15 |
Family
ID=65291529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810923044.XA Pending CN109344208A (zh) | 2018-08-14 | 2018-08-14 | 路径查询方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109344208A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765215A (zh) * | 2019-09-30 | 2020-02-07 | 深圳云天励飞技术有限公司 | 人员共同关系的查询方法、装置、电子设备及存储介质 |
CN111309989A (zh) * | 2020-02-13 | 2020-06-19 | 平安科技(深圳)有限公司 | 基于图数据库的最短路径查询方法及相关设备 |
CN111538863A (zh) * | 2020-03-19 | 2020-08-14 | 天津完美引力科技有限公司 | 数据的展示方法及装置、系统、存储介质、电子装置 |
CN112307272A (zh) * | 2020-10-30 | 2021-02-02 | 杭州海康威视数字技术股份有限公司 | 确定对象之间关系信息的方法、装置、计算设备及存储介质 |
CN112985397A (zh) * | 2019-12-13 | 2021-06-18 | 北京京东乾石科技有限公司 | 机器人轨迹规划方法、装置、存储介质及电子设备 |
CN114969165A (zh) * | 2022-07-27 | 2022-08-30 | 腾讯科技(深圳)有限公司 | 数据查询请求的处理方法、装置、设备及存储介质 |
CN117574820A (zh) * | 2024-01-15 | 2024-02-20 | 中科亿海微电子科技(苏州)有限公司 | 一种增量时序分析方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852107A (zh) * | 2005-11-09 | 2006-10-25 | 华为技术有限公司 | 关系信息的公开、获取方法及系统 |
CN104579725A (zh) * | 2013-10-15 | 2015-04-29 | 中国移动通信集团江苏有限公司 | 一种路由遍历搜索方法及装置 |
-
2018
- 2018-08-14 CN CN201810923044.XA patent/CN109344208A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852107A (zh) * | 2005-11-09 | 2006-10-25 | 华为技术有限公司 | 关系信息的公开、获取方法及系统 |
CN104579725A (zh) * | 2013-10-15 | 2015-04-29 | 中国移动通信集团江苏有限公司 | 一种路由遍历搜索方法及装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765215A (zh) * | 2019-09-30 | 2020-02-07 | 深圳云天励飞技术有限公司 | 人员共同关系的查询方法、装置、电子设备及存储介质 |
CN112985397A (zh) * | 2019-12-13 | 2021-06-18 | 北京京东乾石科技有限公司 | 机器人轨迹规划方法、装置、存储介质及电子设备 |
CN112985397B (zh) * | 2019-12-13 | 2024-04-19 | 北京京东乾石科技有限公司 | 机器人轨迹规划方法、装置、存储介质及电子设备 |
CN111309989A (zh) * | 2020-02-13 | 2020-06-19 | 平安科技(深圳)有限公司 | 基于图数据库的最短路径查询方法及相关设备 |
CN111538863A (zh) * | 2020-03-19 | 2020-08-14 | 天津完美引力科技有限公司 | 数据的展示方法及装置、系统、存储介质、电子装置 |
CN111538863B (zh) * | 2020-03-19 | 2023-08-18 | 北京完美知识科技有限公司 | 数据的展示方法及装置、系统、存储介质、电子装置 |
CN112307272A (zh) * | 2020-10-30 | 2021-02-02 | 杭州海康威视数字技术股份有限公司 | 确定对象之间关系信息的方法、装置、计算设备及存储介质 |
CN112307272B (zh) * | 2020-10-30 | 2024-02-09 | 杭州海康威视数字技术股份有限公司 | 确定对象之间关系信息的方法、装置、计算设备及存储介质 |
CN114969165A (zh) * | 2022-07-27 | 2022-08-30 | 腾讯科技(深圳)有限公司 | 数据查询请求的处理方法、装置、设备及存储介质 |
CN117574820A (zh) * | 2024-01-15 | 2024-02-20 | 中科亿海微电子科技(苏州)有限公司 | 一种增量时序分析方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109344208A (zh) | 路径查询方法、装置及电子设备 | |
CN108846659B (zh) | 基于区块链的转账方法、装置及存储介质 | |
CN109409889A (zh) | 一种区块链中的区块确定方法、装置及电子设备 | |
CN109597842A (zh) | 数据实时计算方法、装置、设备及计算机可读存储介质 | |
CN107219997A (zh) | 一种用于验证数据一致性的方法及装置 | |
CN104185141A (zh) | 基于蓝牙信标设备的用户区域停留时间的检测系统和方法 | |
CN109299222A (zh) | 数据核对方法及装置 | |
CN111950857A (zh) | 基于业务指标的指标体系管理方法、装置以及电子设备 | |
CN109299096A (zh) | 一种流水数据的处理方法、装置及设备 | |
WO2012152110A1 (zh) | 清分结算子系统的拆分规则的生成方法及装置 | |
CN109857738A (zh) | 数据存储方法、装置、计算机设备及存储介质 | |
CN111666289A (zh) | 数据的存储与查询方法、装置、电子设备及可读存储介质 | |
CN103678591A (zh) | 自动执行多业务单据统计处理的装置和方法 | |
CN104765792A (zh) | 一种维度数据存储的方法、装置及系统 | |
CN109460994A (zh) | 一种交易流水数据检测方法、装置、设备及可读存储介质 | |
CN109271453A (zh) | 一种数据库容量的确定方法和装置 | |
CN108564352A (zh) | 电子资源信息的处理方法及装置 | |
CN111897812A (zh) | 数据查询方法、装置、电子设备及计算机可读存储介质 | |
CN113225218A (zh) | 一种话单质量的核查方法和装置 | |
CN116561240A (zh) | 电子地图处理方法、相关装置和介质 | |
CN113791766B (zh) | 组合数据接口的方法、电子设备和可读存储介质 | |
CN110020780A (zh) | 信息输出的方法、装置和电子设备 | |
CN101902539B (zh) | 一种电信话单业务的稽核方法和装置 | |
CN115774837A (zh) | 一种信号校验方法、装置、设备、介质、程序产品及车辆 | |
CN104660428B (zh) | 一种性能数据的管理方法及装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190215 |
|
RJ01 | Rejection of invention patent application after publication |