CN111966843A - 图数据库构建方法、路径搜索方法、装置和电子设备 - Google Patents
图数据库构建方法、路径搜索方法、装置和电子设备 Download PDFInfo
- Publication number
- CN111966843A CN111966843A CN202010817043.4A CN202010817043A CN111966843A CN 111966843 A CN111966843 A CN 111966843A CN 202010817043 A CN202010817043 A CN 202010817043A CN 111966843 A CN111966843 A CN 111966843A
- Authority
- CN
- China
- Prior art keywords
- vertex
- path
- graph database
- neighbor
- initial
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
Abstract
本发明的实施例提供了一种图数据库构建方法、路径搜索方法、装置和电子设备,涉及数据处理技术领域。本发明实施例提供的图数据库构建方法、路径搜索方法、装置和电子设备,在获取多个初始顶点以及各初始顶点的顶点属性后,将各初始顶点以及各初始顶点的顶点属性存储于哈希表中,并对于每个初始顶点,将该初始顶点关联的所有初始顶点以及与各初始顶点相连的边属性分别存储于哈希表中,且与该初始顶点位于同一行或同一列,以形成无索引近邻存储数据结构,通过构建无索引近邻存储数据结构的图数据库,大大提高了路径搜索的时效性,实现了路径搜索的实时性。
Description
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种图数据库构建方法、路径搜索方法、装置和电子设备。
背景技术
随着计算、网络、存储、虚拟化、大数据、云计算、分布式数据库及内存计算相关技术的综合发展,催生了数据库技术的升级换代。
目前,大多传统的数据库均是采用关系型结构进行构建,然后依赖或使用关系型数据库的索引方式来进行路径搜索,在进行路径搜索时,当路径搜索深度每增加一层的时候,搜索的延时性就会指数级提升,当达到一定深度后,绝大多数的系统就已经因时耗指数级增长而无法实现实时性地处理请求或者完成在线处理请求,时效性较差。
发明内容
基于此,本发明提供了一种图数据库构建方法、路径搜索方法、装置和电子设备,以改善上述问题。
本发明的实施例可以这样实现:
第一方面,本发明实施例提供一种图数据库构建方法,所述方法包括:
获取多个初始顶点以及各所述初始顶点的顶点属性,将各所述初始顶点以及各所述初始顶点的顶点属性存储于哈希表中;
对于每个初始顶点,将该初始顶点关联的所有初始顶点以及与各初始顶点相连的边属性分别存储于哈希表中,且与该初始顶点位于同一行或同一列,以形成无索引近邻存储数据结构。
第二方面,本发明实施例提供一种图数据库路径搜索方法,应用于电子设备,所述电子设备包括采用前述实施方式所述的图数据库构建方法构建得到的图数据库;所述图数据库采用无索引近邻存储数据结构进行数据存储,所述方法包括:
确定路径搜索条件以及待搜索的至少一个目标顶点;
基于所述至少一个目标顶点,按照所述路径搜索条件,采用无索引近邻的方式在所述图数据库中进行路径搜索,得到结果路径。
在可选的实施方式中,所述至少一个目标顶点包括至少一个起始顶点,或者至少一个起始顶点以及至少一个终止顶点;所述基于所述至少一个目标顶点,按照所述路径搜索条件,采用无索引近邻的方式在图数据库中进行路径搜索的步骤包括:
针对每一个起始顶点,从该起始顶点出发,按照所述路径搜索条件,采用无索引近邻的方式在图数据库中进行路径搜索;或,针对每一个起始顶点,确定该起始顶点对应的终止顶点,从该起始顶点以及该起始顶点对应的终止顶点出发,分别按照所述路径搜索条件,采用无索引近邻的方式在图数据库中进行路径搜索。
在可选的实施方式中,所述从该起始顶点以及该起始顶点对应的终止顶点出发,分别按照所述路径搜索条件,采用无索引近邻的方式在图数据库中进行路径搜索的步骤包括:
确定所述起始顶点到所述终止顶点的中间顶点,按照所述路径搜索条件,采用无索引近邻的方式在图数据库中搜索所述起始顶点到所述中间顶点的路径,以及搜索所述终止顶点到所述中间顶点的路径;
将搜索得到的所述起始顶点到所述中间顶点的路径以及所述终止顶点到所述中间顶点的路径进行组装,得到所述起始顶点到所述终止顶点的路径。
在可选的实施方式中,所述按照所述路径搜索条件,采用无索引近邻的方式在图数据库中进行路径搜索的步骤包括:
针对每一个目标顶点,从该目标顶点出发,以无索引近邻的方式在图数据库中寻找符合所述路径搜索条件的一度邻居顶点,并判断查找到的一度邻居顶点是否满足预设的结束条件;
若不满足,从查找到的一度邻居顶点出发,继续按照所述路径搜索条件,以无索引近邻的方式在图数据库中进行路径搜索,直至查找到符合所述结束条件的顶点,并返回结果路径;
若满足,基于查找到的一度邻居返回结果路径。
在可选的实施方式中,所述针对每一个目标顶点,从该目标顶点出发,以无索引近邻的方式在图数据库中寻找符合所述路径搜索条件的一度邻居顶点的步骤包括:
针对每一个目标顶点,从该目标顶点出发,采用无索引近邻的方式在图数据库中查找到该目标顶点所有的一度邻居顶点;
针对每个一度邻居顶点,读取该一度邻居顶点的属性信息,将读取到的属性信息与所述路径搜索条件进行匹配;其中,所述属性信息包括边属性以及顶点属性;
将属性信息满足所述路径搜索条件的一度邻居顶点进行保留,并进行标记,将属性信息不满足所述路径搜索条件的一度邻居顶点进行抛弃。
在可选的实施方式中,所述方法还包括:
根据预先设定的并发线程数,对确定得到的目标顶点进行分配;
针对每个线程,从分配到的目标顶点出发,按照所述路径搜索条件,采用无索引近邻的方式在图数据库中进行路径搜索,得到搜索路径片段;
将每个所述线程得到的搜索路径片段进行组合,得到结果路径。
第三方面,本发明实施例提供一种图数据库路径搜索装置,应用于电子设备,所述电子设备包括采用前述实施方式所述的图数据库构建方法构建得到的图数据库;所述图数据库采用无索引近邻存储数据结构进行数据存储,所述装置包括信息确定模块以及路径搜索模块;
所述信息确定模块用于确定路径搜索条件以及待搜索的至少一个目标顶点;
所述路径搜索模块用于基于所述至少一个目标顶点,按照所述路径搜索条件,采用无索引近邻的方式在所述图数据库中进行路径搜索,得到结果路径。
第四方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述实施方式所述的图数据库构建方法。
第五方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述实施方式任意一项所述的图数据库路径搜索方法。
第六方面,本发明实施例提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被执行时实现前述实施方式所述的图数据库构建方法和/或前述实施方式中任意一项所述的图数据库路径搜索方法。
本发明实施例提供的图数据库构建方法、路径搜索方法、装置和电子设备,在获取多个初始顶点以及各初始顶点的顶点属性后,将各初始顶点以及各初始顶点的顶点属性存储于哈希表中,并对于每个初始顶点,将该初始顶点关联的所有初始顶点以及与各初始顶点相连的边属性分别存储于哈希表中,且与该初始顶点位于同一行或同一列,以形成无索引近邻存储数据结构。如此,通过构建无索引近邻存储数据结构的图数据库,在基于无索引近邻存储数据结构进行路径搜索时,可大大提高了路径搜索的时效性,实现了路径搜索的实时性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例所提供的电子设备的一种方框示意图。
图2为本发明实施例所提供的图数据库构建方法的一种流程示意图。
图3为本发明实施例所提供的图数据库的一种结构示意图。
图4为本发明实施例所提供的图数据库的另一种结构示意图。
图5为本发明实施例所提供的图数据库的又一种结构示意图。
图6为本发明实施例所提供的路径搜索方法的一种流程示意图。
图7为本发明实施例所提供的路径搜索装置的一种方框示意图。
图标:100-电子设备;10-网络端口;20-处理器;30-总线;40-存储器;200-路径搜索装置;201-信息确定模块;202-路径搜索模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
现有的数据库,特别是图数据库中对基于点边及属性过滤的路径搜索的需求与日俱增,而在图数据库中,路径搜索、过滤的效率直接影响了数据库系统、IT系统的响应速度及用户体验。
经发明人研究发现,现有的数据库,大多采用关系型结构进行构建,然后依赖或使用传统关系型数据库的索引方式来进行寻址、定位加速,以此完成路径搜索,但这种方式,在进行路径搜索时,当路径搜索深度每增加一层的时候,搜索时效性(延时)就会指数级提升,当达到一定深度后(通常达到3层后),绝大多数的系统的时耗已经因指数级增长而完全无法实现实时性或完成在线处理请求,时效性较差。
只有在存储架构、计算架构、并发算法实现、算法复杂度大幅降低以及数据结构构造等多个领域的综合突破才有可能让实时的深度路径搜索成为现实。
基于上述研究,本实施例提供了一种图数据库构建方法,通过构建无索引近邻存储数据结构的图数据库来实现近邻图数据访问的最低时间复杂度,从而达到路径搜索的实时性,提高路径搜索的工作效率。
请参阅图1,本实施例提供的图数据构建方法应用于图1所示的电子设备100。在本实施例中,所述电子设备100可以是但不限于,单个物理服务器、一个由多个用于执行不同数据处理功能的物理服务器构成的服务器组。服务器组可以是集中式的,也可以是分布式的。
如图1所示,所述电子设备100可以包括连接到网络的网络端口10、用于执行程序指令的一个或多个处理器20、通信总线30和存储器40。其中,网络端口10、处理器20和存储器40通过通信总线30实现连接。
所述处理器20可以是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(DSP))、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,所述存储器40可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。示例性地,电子设备100还可以包括存储在ROM、RAM、或其他类型的非暂时性存储介质或其任意组合中的程序指令,根据这些程序指令可以实现本发明的方法,例如,图数据导入程序、图路径查询指令解析程序、计算程序及组装程序等等。
可以理解,图1所示的结构仅为示意,所述电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
基于图1所示的实现架构,请结合参阅图2,图2为本实施例所提供的图数据库构建方法的流程示意图,由本实施例所提供的电子设备执行。下面对图2所示的流程示意图进行详细阐述。
步骤S10:获取多个初始顶点以及各初始顶点的顶点属性,将各初始顶点以及各初始顶点的顶点属性存储于哈希表中。
步骤S20:对于每个初始顶点,将该初始顶点关联的所有初始顶点以及与各初始顶点相连的边属性分别存储于哈希表中,且与该初始顶点位于同一行或同一列,以形成无索引近邻存储数据结构。
其中,请结合参阅图3,图3为本实施例提供的无索引近邻存储数据结构的一种示意图。图3中,每个初始顶点(初始顶点A至初始顶点XYZ)以及各初始顶点的顶点属性存储于哈希表中的第一列中,然后每个初始顶点的同一行存储的是与之相关联的所有初始顶点(即关联的所有一度邻居顶点)以及与各初始顶点相连的边属性。例如,从图3中的第一行可知,与初始顶点A关联的初始顶点有初始顶点B、初始顶点C以及初始顶点X,其中,初始顶点A与初始顶点B相连的边属性和初始顶点B存储在一起,初始顶点A与初始顶点C相连的边属性和初始顶点C存储在一起,初始顶点A与初始顶点X相连的边属性和初始顶点X存储在一起。
本实施例所提供的图数据库构建方法,针对每个初始顶点,将该初始顶点关联的所有初始顶点以及与各初始顶点相连的边属性分别存储于哈希表中,且与该初始顶点位于同一行或同一列,使得针对每个初始顶点,与该初始顶点同一行或同一列存储的是从该初始顶点出发的全部边的集合。该集合包括:该初始顶点,该初始顶点关联的且无序排列的所有初始顶点以及与各关联的初始顶点的边属性。
可选的,在本实施例中,顶点属性包括名字、类型、标识符等特征信息,边属性包括关系类型、关系方向、关系比例等特征信息,具体地,可根据实际需求而定义。例如,对于工商数据(公司于公司,公司与人之间的关系)来说,顶点的属性则可以包括名字,类型(公司或者人),边的属性则可以包括类型(投资或董事、监事、高管)、投资股权占比(0-100%)等。
可选的,在本实施例中,为了便于区别每个顶点,每个顶点均设置有唯一的ID,可以理解地,每一对关联的顶点之间可以存在多条边,每条边也设置有唯一ID,边与边之间通过ID来具体区分。
基于如图3所示的无索引近邻存储数据结构,可以不用依赖或使用当前传统关系型数据库的索引方式来进行寻址、定位加速。每个当前顶点的所有一度关联的顶点在存储时是与当前顶点相邻存储的,也就是说从当前顶点出发,在数据结构中去查询、定位关联的一度邻居顶点所需要耗费的时间复杂度为O(1),即最低访问延时,因为,相邻顶点间的访问通过连续存储内存空间的直接寻址即计算可以得到。同时,基于近邻存储的数据结构,从全量数据中去定位、搜寻任一顶点或边(以及它们各自的属性),所需的时间复杂度也为O(1)。
以此类推,从当前顶点出发找到其K度关联的邻居的时间复杂度为O(K),其中K为整数且大于等于1。
相较于传统数据库或图数据库上,本实施例的图数据库以亚线性时耗增长的优良特性,实现了实时的超深度路径搜索,避免了传统数据库随着搜索深度增加,导致时耗指数级升高的问题,在性能上提升了数千到数万倍以上。
作为一种可选的实施方式,在本实施例中,边属性可单独进行存储,即存储于另一哈希表中,如图4所示,图4为本实施例所提供的面向边的属性的无索引近邻存储数据结构的示意图。
针对每条边,若该条边具有多个属性,则该条边的属性以连续存储的方式实现。如此,当需要对某条边的某个属性进行操作的时候,则只需O(2)时间复杂度,即两个O(1)的操作,一个是从顶点定位到该边的ID(定位到存储边属性的哈希表中),第二个是根据该边的ID定位到其对应的任意属性,每个操作的时间复杂度均为O(1),因此综合复杂度为O(2)。
可以理解地,在本实施例中,顶点属性也可以单独进行存储,即存储于另一哈希表中,如图5所示,图5为本实施例所提供的面向顶点的无索引近邻存储数据结构的示意图。图5表示全部顶点的集合列表,其中每一行对于一个顶点,每个顶点的ID以及属性以连续存储方式实现。当需要对顶点的某个属性进行操作的时候,则可以通过顶点的ID定位该顶点(定位到存储顶点属性的哈希表中),所需要的时间复杂度为O(1),然后再直接查询到其对应的属性,顶点属性的访问时间复杂度恒定为O(1),因此综合复杂度为O(2)。
本实施例提供的图数据库采用无索引近邻存储数据结构存储数据,当顶点与顶点的属性、边与边的属性并集存储时,即顶点与顶点的属性、边与边的属性存储于同一哈希表时,从当前顶点出发,沿着某条边以及相邻顶点进行路径搜索时,读取相邻顶点的属性以及读取该条边的属性的时间复杂度均为O(1)。
当顶点与顶点的属性、边与边的属性非并集存储时,即顶点与顶点的属性、边与边的属性存储于不同哈希表时,从当前顶点出发,沿着某条边以及相邻顶点进行路径搜索时,读取相邻顶点的属性以及读取该条边的属性的时间复杂度均为O(2)。
如此,在提高存储效率的基础上,又可尽可能的降低数据查询、搜索的时间复杂度,提高路径查询的效率。
除此之外,本实施例所提供的图数据库构建方法,通过哈希表构建无索引近邻存储的数据结构,可以在哈希表中并发对数据结构进行增删查改,从而可支持多线程并发的路径搜索实现。
进一步的,请结合参阅图6,基于本实施例所提供的无索引近邻存储数据结构的图数据库,本实施例还提供一种路径搜索方法,该路径搜索方法应用于图1所示的电子设备100,该电子设备100中包括采用图数据库构建方法构建得到的图数据库,所述方法包括:
步骤S1:确定路径搜索条件以及待搜索的至少一个目标顶点。
步骤S2:基于至少一个目标顶点,按照路径搜索条件,采用无索引近邻的方式在图数据库中进行路径搜索,得到结果路径。
其中,由于本实施例所提供的图数据库采用无索引近邻存储数据结构进行数据存储,可以支持在图上对任意顶点间进行高性能的路径搜索,进而,本实施例所提供的路径搜索方法,在确定得到待搜索的目标顶点和路径搜索条件后,即可采用无索引近邻的方式在图数据库中进行路径搜索,得到结果路径。
可以理解地,在本实施例中,路径搜索条件和待搜索的目标顶点可以由用户终端通过请求的方式发给电子设备,而电子设备在接收到请求后,对请求进行分析,即可从请求中确定得到路径搜索条件和待搜索的目标顶点。可选的,若电子设备在对请求进行分析后,若发现异常(例如路径搜索条件异常、目标顶点不存在等等),还可以将异常返回至用户终端,进行报错。
可选的,在本实施例中,路径搜索条件可以是,但不限于,精准过滤条件、模糊过滤条件以及区间过滤条件等等。例如,精准过滤条件可以是基于数值或字符串的精准匹配条件,模糊过滤条件可以是基于全文搜索的模糊匹配过滤条件,区间过滤条件可以是基于数值大小、区间范围等限定条件的路径过滤条件。
本实施例所提供的路径搜索方法,通过设定路径搜索条件,在进行路径搜索时,可基于路径搜索条件对搜索到的路径进行动态过滤以及图数据库的剪枝处理。
例如,从指定的单一顶点出发,采用路径搜索条件对路径上的点、边进行过滤。符合路径搜索条件的点、边被保留,反之被抛弃。又例如,从符合路径搜索条件的某一类顶点出发,对路径上的点、边进行过滤,抵达另一类符合条件的顶点。路径搜索条件具体可以为等有、大于、小于、不等于、区间、包含、不包含、关系的方向、关系的类型(属性)、沿路径的增长或缩减等。
除此之外,本实施例所提供的路径搜索方法,采用无索引近邻的方式在图数据库中进行路径搜索,大大提高了路径搜索的时效性。
基于本实施所提供的图数据库,在可选的实施方式中,按照路径搜索条件,采用无索引近邻的方式在图数据库中进行路径搜索的步骤包括:
针对每一个目标顶点,从该目标顶点出发,以无索引近邻的方式在图数据库中寻找符合路径搜索条件的一度邻居顶点,并判断查找到的一度邻居顶点是否满足预设的结束条件。
若不满足,从查找到的一度邻居顶点出发,继续按照路径搜索条件,以无索引近邻的方式在图数据库中进行路径搜索,直至查找到符合结束条件的顶点,并返回结果路径。
若满足,基于查找到的一度邻居返回结果路径。
可选的,针对每一个目标顶点,从该目标顶点出发,以无索引近邻的方式在图数据库中寻找符合路径搜索条件的一度邻居顶点的步骤包括:
针对每一个目标顶点,从该目标顶点出发,采用无索引近邻的方式在图数据库中查找到该目标顶点所有的一度邻居顶点。
针对每个一度邻居顶点,读取该一度邻居顶点的属性信息,将读取到的属性信息与路径搜索条件进行匹配;其中,属性信息包括边属性以及顶点属性。
将属性信息满足路径搜索条件的一度邻居顶点进行保留,并进行标记,将属性信息不满足路径搜索条件的一度邻居顶点进行抛弃。
其中,由于图数据库采用无索引近邻存储结构存储数据,因此采用无索引近邻的方式在图数据库中进行路径搜索时,针对每个目标顶点,只需在图数据库中找到其相邻的一度邻居顶点,即哈希表中与该目标顶点位于同一行或同一列的关联顶点,在找到其相邻的一度邻居顶点后,判断相邻的各一度邻居顶点的顶点属性以及与各一度邻居顶点相连的边属性是否满足路径搜索条件,若满足路径搜索条件,判断查找到的满足路径搜索条件的一度邻居顶点是否满足预设的结束条件,若不满足结束条件,则从查找到的满足路径搜索条件的一度邻居顶点出发,继续按照路径搜索条件,以无索引近邻的方式在图数据库中进行路径搜索,直至查找到符合结束条件的顶点,得到结果路径,并返回结果路径。若满足结束条件,则基于查找到的一度邻居返回结果路径。
例如,假设目标顶点A关联的一度邻居顶点有顶点B、顶点C、顶点D,其中顶点B关联的一度邻居顶点除了目标顶点A外,还有顶点E、顶点F;顶点C关联的一度邻居顶点除了目标顶点A外,还有顶点G、顶点H;顶点D关联的一度邻居顶点除了目标顶点A外,还有顶点I、顶点F;各顶点之间通过唯一一条边相连。
从目标顶点A出发,在图数据库中找到其相邻的一度邻居顶点有顶点B、顶点C、顶点D,假设顶点B的顶点属性、目标顶点A与顶点B相连的边的边属性、顶点C的顶点属性、目标顶点A与顶点C相连的边的边属性符合路径搜索条件,但是却未满足结束条件,则从顶点B和顶点C分别出发,继续按照路径搜索条件,在图数据库中进行路径搜索。若查找到顶点B符合路径搜索条件的一度邻居顶点(不包含之前已经处理过的一度邻居顶点)有顶点E,且相连的边也符合路径搜索条件,找到顶点C符合路径搜索条件的一度邻居顶点(不包含之前已经处理过的一度邻居顶点)有顶点G,且相连的边也符合路径搜索条件,同时找到的顶点E和顶点G满足结束条件,则返回的结果路径有目标顶点A至顶点B至顶点E,以及目标顶点A至顶点C至顶点G。
若顶点B、顶点C的属性信息符合路径搜索条件,且满足结束条件,则返回的结果路径有目标顶点A至顶点B,以及目标顶点A至顶点C。
作为一种可选的实施方式,在本实施例中,结束条件可以是,但不限于,搜索结果的数量、深度等限定条件。
需要说明的是,在本实施例中,通过将属性信息满足路径搜索条件的顶点进行标记,将属性信息不满足路径搜索条件的顶点进行抛弃,可以避免路径的重复搜索,导致工作量的增加。
在图数据库中进行路径搜索时,有两类路径搜索:假设,设定的图数据库的搜索深度为K,K为整数且大于等于1,则第一类路径搜索为从某个顶点出发,找到最短路径为K的全部顶点或符合路径搜索条件的全部顶点。第二类路径搜索为从某个顶点出发,按照路径搜索条件进行过滤后抵达某个终点顶点,并返回沿途的全部路径,其中路径探索的最大深度不超过K。
可选的,以上所述的最大搜索深度K,也可以被定义为最小深度J及最大深度K,意味着路径搜索的深度的范围可被精准定义为介于[J,K]之间。因此,当J=K时,路径探索的深度等于且只定于K,而不符合条件的所有其它深度路径不会被返回。
基于此,在无索引近邻存储的基础之上,本实施例还可采用深度优先搜索算法和/或广度优先搜索算法实现路径的搜索。
可选的,在本实施例中,当搜索结果是面向最短路径的时候,采用广度优先搜索算法(BFS)。因为深度优先搜索算法(DFS)无法进行低成本的最短路径判别,而BFS算法则天然支持最短路径辨别,例如K邻(K-hop)类的路径搜索操作则需要采用BFS算法,采用DFS算法则可能会出现结果重复甚至错误的情形。
对于浅层(深度K<3)的路径搜索,BFS算法或DFS算法的效果基本接近,因此,BFS算法或DFS算法皆可采用。但若出现有超级节点(如热点顶点,即海量一度邻居顶点的汇集型顶点,例如有超过10万个邻居顶点的顶点)的情形,需要考虑优先使用DFS算法进行路径搜索,以实现更高的系统吞吐率、更低的系统延时。
对于深度的路径搜索,尤其是带有过滤条件的时候,则优先考虑DFS算法,基于DFS算法的路径搜索的效率通常大幅高于BFS算法,例如系统资源消耗低、时耗低。
当基于BFS算法进行路径搜索时,针对每个目标顶点,从该目标顶点出发,通过BFS算法,在图数据库中找到该目标顶点所有的近邻无索引存储的一度邻居顶点,然后将每个一度邻居顶点与路径搜索条件匹配,符合路径搜索条件的,进入一度邻居顶点的邻居顶点,继续按照路径搜索条件进行路径搜索,直至路径搜索的结束条件被满足为止。
当基于DFS算法进行路径搜索时,针对每个目标顶点,从该目标顶点出发,读取该目标顶点的任意一个一度邻居顶点,将读取到的一度邻居顶点与路径搜索条件进行匹配,若符合路径搜索条件,则对该一度邻居顶点进行访问,搜索该一度邻居顶点的邻居顶点,不符合路径搜索条件的则进行跳过。当搜索到最大深度时或者无更多的顶点数据可以被比对、匹配、查询计算时,则结束搜索。可选的,针对每个已搜索的顶点,均进行标记,如此,可避免顶点的重复搜索。
本实施例所提供的路径搜索方法,采用无索引近邻的方式对图数据库中的顶点、边进行高效的存储与访问,从而可以支持在图数据库中对任意顶点间进行高性能的路径搜索,以及支持面向任何顶点或全图(全量顶点)的K邻搜索,并且,通过设定路径搜索条件,可以支持基于单个或多个路径(点、边)的动态过滤操作以及高效的图剪枝操作。基于此,本实施例所提供的路径搜索方法,实现了深度的、实时的大图中的复杂路径搜索。
作为一种可选的实施方式,为了便于路径的搜索,在本实施例中,确定的待搜索的至少一个目标顶点中包括至少一个起始顶点,因此,在本实施例中,基于至少一个目标顶点,按照路径搜索条件,采用无索引近邻的方式在图数据库中进行路径搜索的步骤包括:
针对每一个起始顶点,从该起始顶点出发,按照路径搜索条件,采用无索引近邻的方式在图数据库中进行路径搜索。
其中,在确定起始顶点后,从起始顶点出发,将起始顶点的一度邻居顶点的属性信息与路径搜索条件进行匹配,并将匹配结果进行标记,以循环、递归的方式继续向下匹配,直至满足结束条件为止,具体地搜索过程,可以参照上述过程,在此不在赘述。
由于图上的路径查询与搜索,随着深度的增加,每增加一层,理论上、逻辑上的搜索范围会指数级增加,这个是由图的连通性所决定的,尤其是在高度联通或连通度较好的图。
例如,设定搜索深度为K,假设平均每一层的每个顶点的下一度邻居数量为M,那么搜索深度为一层时,邻居顶点个数为M,二层时为M*M;K-1层时为M*M*X*M,而K层时个数为M*M*X*M*M,也就是说搜索的复杂度呈现指数级增长的趋势。
这时,如果能从两侧同时开始路径搜索,则整个搜索的复杂度可以有效降低,因此,在本实施例中,至少一个目标顶点中还包括至少一个起始顶点以及至少一个终止顶点。
基于至少一个目标顶点,按照路径搜索条件,采用无索引近邻的方式在图数据库中进行路径搜索的步骤还可以包括:
针对每一个起始顶点,确定该起始顶点对应的终止顶点,从该起始顶点以及该起始顶点对应的终止顶点出发,分别按照路径搜索条件,采用无索引近邻的方式在图数据库中进行路径搜索。
其中,通过从起始顶点和终止顶点同时出发,即从两端出发,分别路径搜索条件,采用无索引近邻的方式在图数据库中进行路径搜索,降低了路径搜索的复杂度,提高了工作效率。
假设路径深度为6,平均每层的一度邻居顶点数量为10,那么从第1个顶点开始搜索6层的理论邻居顶点覆盖数量为10的6次方,既106=1000000,如果采用两侧同时搜索路径的逻辑,则复杂度为2倍10的3次方,既:2*103=2000,两者之间的计算复杂度及时间复杂度均存在500倍的差异。因此,从两端出发的路径搜索,大大降低了路径搜索的复杂度。
需要说明的是,两侧出发的路径搜索深度为(K/2),取决于K为奇数或偶数,当K为奇数时,设定任意一侧以四舍五入的方式对(K/2)取整,即round(K/2),或者以向下取整的方式对(K/2)取整,即int(K/2),又或者以向上取整的方式对(K/2)取整,即ceiling(K/2)。
由于从两侧出发进行路径搜索,会得到多个路径片段,而在得到多个路径片段后,还需要对路径片段进行组装,才可得到结果路径。因此,在本实施例中,从该起始顶点以及该起始顶点对应的终止顶点出发,分别按照路径搜索条件,采用无索引近邻的方式在图数据库中进行路径搜索的步骤包括:
确定起始顶点到终止顶点的中间顶点,按照路径搜索条件,采用无索引近邻的方式在图数据库中搜索起始顶点到中间顶点的路径,以及搜索终止顶点到中间顶点的路径。
将搜索得到的起始顶点到中间顶点的路径以及终止顶点到中间顶点的路径进行组装,得到起始顶点到所述终止顶点的路径。
其中,可任意指定一顶点为起始顶点和终止顶点的中间顶点,在确定中间顶点后,按照路径搜索条件,采用无索引近邻的方式在图数据库中搜索起始顶点到中间顶点的路径,以及搜索终止顶点到中间顶点的路径。在得到起始顶点到中间顶点的路径和终止顶点到中间顶点的路径后,将终止顶点到中间顶点的路径进行翻转,得到中间顶点到终止顶点的路径,然后将起始顶点到中间顶点的路径以及中间顶点到终止顶点的路径进行组装,即可得到起始顶点到终止顶点的路径。可以理解地,起始顶点到终止顶点的路径即为结果路径。
在得到结果路径后,即可将结果路径返回至用户终端,可选的,在返回结果路径时,也可根据需要将路径搜索条件以及结束条件进行相应的翻译和组装之后,与结果路径一同返回至用户终端。可选的,翻译和组装的工作包含但不限于,从图数据库中所使用的内部ID映射到用户终端的ID或其它属性名称、过滤并返回指定的一个或多个属性,以及包括其它例如可视化前端展示等工作。
作为一种可选的实施方式,返回的结果路径也可以动态写回数据库作为顶点的新的属性,或者基于返回的结果路径对顶点的已有属性进行更新,又或者以文件的方式批量写回并存储归档。
为了提高处理效率,在本实施例中,可以以多线程并发的方式对路径进行搜索。因此,本实施例所提供的路径搜索方法还包括:
根据预先设定的并发线程数,对确定得到的目标顶点进行分配。
针对每个线程,从分配到的目标顶点出发,按照路径搜索条件,采用无索引近邻的方式在图数据库中进行路径搜索,得到搜索路径片段。
将每个线程得到的搜索路径片段进行组合,得到结果路径。
其中,若确定得到的目标顶点有多个,可以根据预先设定的并发线程数,对目标顶点顶点进行分配,例如,预先设定的并发线程数有10个,确定得到的目标顶点有10个,则可以每个线程分配到一个目标顶点。
对于单个线程来说,在分配得到的目标顶点后,即可从分配到的目标顶点出发,按照路径搜索条件,采用无索引近邻的方式在图数据库中进行路径搜索,得到搜索路径片段。其中,得到的搜索路径片段包括该搜索路径片段相邻的顶点的信息。
在得到每个线程的搜索路径片段后,基于每个搜索路径片段的相邻的顶点的信息,将每个搜索路径片段进行组合,得到结果路径。例如,若A线程分配得到的目标顶点是起始顶点a,在进行路径搜索后,得到搜索路径片段a-c,且其相邻的顶点为d顶点,若B线程分配得到的目标顶点是终止顶点e,在进行路径搜索后,得到搜索路径片段e-d,且其相邻的顶点为c顶点。由于A线程得到的搜索路径片段相邻的顶点为B线程得到的搜索路径片段的顶点,且B线程得到的搜索路径片段相邻的顶点为A线程得到的搜索路径片段的顶点,因此,可将A线程和B线程得到的搜索路径片段进行组合,得到结果路径a-e。
可以理解地,若每个线程分配得到的目标顶点均为起始顶点,则无需进行搜索路径片段的组合,每个线程得到的搜索路径片段即为相应目标顶点的结果路径。
作为一种可选的实施方式,在本实施例中,还可根据预设的并发线程数以及路径搜索的深度与广度,对路径查询进行动态的资源分割以实现并发化的路径搜索,即可根据预设的并发线程数以及路径搜索的深度与广度,对当前顶点查找到的一度邻居顶点进行动态的资源分割。
例如,从当前顶点出发,根据其关联的一度邻居顶点的数量来判断是否采取并发流程。假设当前顶点有100个一度邻居顶点,有可使用线程10个,则可以为每个线程分配10个邻居顶点继续进行运算。
需要说明的是,预设的并发线程数取决电子设备的操作系统所提供的并发资源量,该并发资源量取决于底层系统的可计算资源量以及其它相关参数。
可以理解地,在本实施例中,不同的线程可以在同一设备上执行,也可以分别在不同的设备上执行。
本实施例所提供的路径搜索方法,通过设定并发线程数,并发执行路径的搜索,大大提高了路径搜索效率。
本实施例所提供的路径搜索方法,可以应用于对图数据库、内存数据库进行实时路径搜索的场景。在此基础上,还可以满足更多的应用场景,例如,知识图谱、问答系统、推荐系统、专家系统等应用场景。在基础的图数据库应用场景中,路径查询是一个最核心的步骤,几乎所有的图上的查询、运算、分析和更复杂的操作,例如全量算法执行等,都可以最终分解为更为基础的路径查询操作。
基于同一发明构思,请结合参阅图7,本实施例还提供一种路径搜索装置200,应用于电子设备,所述电子设备包括采用前述实施方式所述的图数据库构建方法构建得到的图数据库;所述图数据库采用无索引近邻存储数据结构进行数据存储,所述装置包括信息确定模块201以及路径搜索模块202。
信息确定模块201用于确定路径搜索条件以及待搜索的至少一个目标顶点。
路径搜索模块202用于基于至少一个目标顶点,按照路径搜索条件,采用无索引近邻的方式在所述图数据库中进行路径搜索,得到结果路径。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
综上,本实施例提供的图数据库构建方法、路径搜索方法、装置和电子设备,在获取多个初始顶点以及各初始顶点的顶点属性后,将各初始顶点以及各初始顶点的顶点属性存储于哈希表中,并对于每个初始顶点,将该初始顶点关联的所有初始顶点以及与各初始顶点相连的边属性分别存储于哈希表中,且与该初始顶点位于同一行或同一列,以形成无索引近邻存储数据结构,基于构建的无索引近邻存储数据结构的图数据库,实现了路径搜索的实时性,大大提高了路径搜索的工作效率。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种图数据库构建方法,其特征在于,所述方法包括:
获取多个初始顶点以及各所述初始顶点的顶点属性,将各所述初始顶点以及各所述初始顶点的顶点属性存储于哈希表中;
对于每个初始顶点,将该初始顶点关联的所有初始顶点以及与各初始顶点相连的边属性分别存储于哈希表中,且与该初始顶点位于同一行或同一列,以形成无索引近邻存储数据结构。
2.一种路径搜索方法,其特征在于,应用于电子设备,所述电子设备包括采用权利要求1所述的图数据库构建方法构建得到的图数据库;所述图数据库采用无索引近邻存储数据结构进行数据存储,所述方法包括:
确定路径搜索条件以及待搜索的至少一个目标顶点;
基于所述至少一个目标顶点,按照所述路径搜索条件,采用无索引近邻的方式在所述图数据库中进行路径搜索,得到结果路径。
3.根据权利要求2所述的路径搜索方法,其特征在于,所述至少一个目标顶点包括至少一个起始顶点,或者至少一个起始顶点以及至少一个终止顶点;所述基于所述至少一个目标顶点,按照所述路径搜索条件,采用无索引近邻的方式在图数据库中进行路径搜索的步骤包括:
针对每一个起始顶点,从该起始顶点出发,按照所述路径搜索条件,采用无索引近邻的方式在图数据库中进行路径搜索;或,
针对每一个起始顶点,确定该起始顶点对应的终止顶点,从该起始顶点以及该起始顶点对应的终止顶点出发,分别按照所述路径搜索条件,采用无索引近邻的方式在图数据库中进行路径搜索。
4.根据权利要求3所述的路径搜索方法,其特征在于,所述从该起始顶点以及该起始顶点对应的终止顶点出发,分别按照所述路径搜索条件,采用无索引近邻的方式在图数据库中进行路径搜索的步骤包括:
确定所述起始顶点到所述终止顶点的中间顶点,按照所述路径搜索条件,采用无索引近邻的方式在图数据库中搜索所述起始顶点到所述中间顶点的路径,以及搜索所述终止顶点到所述中间顶点的路径;
将搜索得到的所述起始顶点到所述中间顶点的路径以及所述终止顶点到所述中间顶点的路径进行组装,得到所述起始顶点到所述终止顶点的路径。
5.根据权利要求2所述的路径搜索方法,其特征在于,所述按照所述路径搜索条件,采用无索引近邻的方式在图数据库中进行路径搜索的步骤包括:
针对每一个目标顶点,从该目标顶点出发,以无索引近邻的方式在图数据库中寻找符合所述路径搜索条件的一度邻居顶点,并判断查找到的一度邻居顶点是否满足预设的结束条件;
若不满足,从查找到的一度邻居顶点出发,继续按照所述路径搜索条件,以无索引近邻的方式在图数据库中进行路径搜索,直至查找到符合所述结束条件的顶点,并返回结果路径;
若满足,基于查找到的一度邻居返回结果路径。
6.根据权利要求5所述的路径搜索方法,其特征在于,所述针对每一个目标顶点,从该目标顶点出发,以无索引近邻的方式在图数据库中寻找符合所述路径搜索条件的一度邻居顶点的步骤包括:
针对每一个目标顶点,从该目标顶点出发,采用无索引近邻的方式在图数据库中查找到该目标顶点所有的一度邻居顶点;
针对每个一度邻居顶点,读取该一度邻居顶点的属性信息,将读取到的属性信息与所述路径搜索条件进行匹配;其中,所述属性信息包括边属性以及顶点属性;
将属性信息满足所述路径搜索条件的一度邻居顶点进行保留,并进行标记,将属性信息不满足所述路径搜索条件的一度邻居顶点进行抛弃。
7.根据权利要求2所述的路径搜索方法,其特征在于,所述方法还包括:
根据预先设定的并发线程数,对确定得到的目标顶点进行分配;
针对每个线程,从分配到的目标顶点出发,按照所述路径搜索条件,采用无索引近邻的方式在图数据库中进行路径搜索,得到搜索路径片段;
将每个所述线程得到的搜索路径片段进行组合,得到结果路径。
8.一种路径搜索装置,其特征在于,应用于电子设备,所述电子设备包括采用权利要求1所述的图数据库构建方法构建得到的图数据库;所述图数据库采用无索引近邻存储数据结构进行数据存储,所述装置包括信息确定模块以及路径搜索模块;
所述信息确定模块用于确定路径搜索条件以及待搜索的至少一个目标顶点;
所述路径搜索模块用于基于所述至少一个目标顶点,按照所述路径搜索条件,采用无索引近邻的方式在所述图数据库中进行路径搜索,得到结果路径。
9.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1所述的图数据库构建方法。
10.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求2-7任意一项所述的路径搜索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010817043.4A CN111966843A (zh) | 2020-08-14 | 2020-08-14 | 图数据库构建方法、路径搜索方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010817043.4A CN111966843A (zh) | 2020-08-14 | 2020-08-14 | 图数据库构建方法、路径搜索方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111966843A true CN111966843A (zh) | 2020-11-20 |
Family
ID=73364949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010817043.4A Pending CN111966843A (zh) | 2020-08-14 | 2020-08-14 | 图数据库构建方法、路径搜索方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111966843A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112800287A (zh) * | 2021-04-15 | 2021-05-14 | 杭州欧若数网科技有限公司 | 基于图数据库的全文索引方法和系统 |
CN113434556A (zh) * | 2021-07-22 | 2021-09-24 | 支付宝(杭州)信息技术有限公司 | 一种数据处理方法和系统 |
CN113901279A (zh) * | 2021-12-03 | 2022-01-07 | 支付宝(杭州)信息技术有限公司 | 一种图数据库的检索方法和装置 |
CN114969165A (zh) * | 2022-07-27 | 2022-08-30 | 腾讯科技(深圳)有限公司 | 数据查询请求的处理方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140244687A1 (en) * | 2013-02-24 | 2014-08-28 | Technion Research & Development Foundation Limited | Processing query to graph database |
US9378241B1 (en) * | 2015-09-18 | 2016-06-28 | Linkedin Corporation | Concatenated queries based on graph-query results |
US20170060958A1 (en) * | 2015-08-27 | 2017-03-02 | Oracle International Corporation | Fast processing of path-finding queries in large graph databases |
CN109460491A (zh) * | 2018-10-19 | 2019-03-12 | 中山大学 | 基于Neo4j数据库的时序最短路径查询方法 |
WO2019241021A1 (en) * | 2018-06-15 | 2019-12-19 | Futurewei Technologies, Inc. | System for handling concurrent property graph queries |
CN110704434A (zh) * | 2019-09-24 | 2020-01-17 | 北京百度网讯科技有限公司 | 图谱最短路径的查询方法、装置、电子设备和存储介质 |
CN110941741A (zh) * | 2018-09-21 | 2020-03-31 | 百度在线网络技术(北京)有限公司 | 图数据的路径检索处理方法、装置、服务器及存储介质 |
-
2020
- 2020-08-14 CN CN202010817043.4A patent/CN111966843A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140244687A1 (en) * | 2013-02-24 | 2014-08-28 | Technion Research & Development Foundation Limited | Processing query to graph database |
US20170060958A1 (en) * | 2015-08-27 | 2017-03-02 | Oracle International Corporation | Fast processing of path-finding queries in large graph databases |
US9378241B1 (en) * | 2015-09-18 | 2016-06-28 | Linkedin Corporation | Concatenated queries based on graph-query results |
WO2019241021A1 (en) * | 2018-06-15 | 2019-12-19 | Futurewei Technologies, Inc. | System for handling concurrent property graph queries |
CN110941741A (zh) * | 2018-09-21 | 2020-03-31 | 百度在线网络技术(北京)有限公司 | 图数据的路径检索处理方法、装置、服务器及存储介质 |
CN109460491A (zh) * | 2018-10-19 | 2019-03-12 | 中山大学 | 基于Neo4j数据库的时序最短路径查询方法 |
CN110704434A (zh) * | 2019-09-24 | 2020-01-17 | 北京百度网讯科技有限公司 | 图谱最短路径的查询方法、装置、电子设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
DRUGAI: "Knowledge Graph |(1)图数据库Neo4j简介与入门", HTTPS://BLOG.CSDN.NET/U012325865/ARTICLE/DETAILS/104347288, pages 1 - 7 * |
段慧芳;汤小春;: "基于路径索引的密集邻域图数据查询方法研究", 计算机应用研究, no. 12, pages 224 - 228 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112800287A (zh) * | 2021-04-15 | 2021-05-14 | 杭州欧若数网科技有限公司 | 基于图数据库的全文索引方法和系统 |
CN112800287B (zh) * | 2021-04-15 | 2021-07-09 | 杭州欧若数网科技有限公司 | 基于图数据库的全文索引方法和系统 |
CN113434556A (zh) * | 2021-07-22 | 2021-09-24 | 支付宝(杭州)信息技术有限公司 | 一种数据处理方法和系统 |
CN113901279A (zh) * | 2021-12-03 | 2022-01-07 | 支付宝(杭州)信息技术有限公司 | 一种图数据库的检索方法和装置 |
CN114969165A (zh) * | 2022-07-27 | 2022-08-30 | 腾讯科技(深圳)有限公司 | 数据查询请求的处理方法、装置、设备及存储介质 |
CN114969165B (zh) * | 2022-07-27 | 2022-11-01 | 腾讯科技(深圳)有限公司 | 数据查询请求的处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111966843A (zh) | 图数据库构建方法、路径搜索方法、装置和电子设备 | |
Kim et al. | Taming subgraph isomorphism for RDF query processing | |
JP6160277B2 (ja) | リコンシリエーション処理を実行する方法、制御部、プログラム及びデータ記憶システム | |
CN112287182B (zh) | 图数据存储、处理方法、装置及计算机存储介质 | |
CN109255055B (zh) | 一种基于分组关联表的图数据存取方法和装置 | |
US9934324B2 (en) | Index structure to accelerate graph traversal | |
Kaoudi et al. | SPARQL query optimization on top of DHTs | |
US20140344287A1 (en) | Database controller, method, and program for managing a distributed data store | |
CN112800287B (zh) | 基于图数据库的全文索引方法和系统 | |
CN102455984B (zh) | 从二级存储装置读取行之前从存储器读取行的方法和装置 | |
US9852182B2 (en) | Database controller, method, and program for handling range queries | |
CN112015820A (zh) | 分布式图数据库实现的方法、系统、电子装置和存储介质 | |
CN113553339B (zh) | 数据查询方法、中间件、电子装置和存储介质 | |
Santoso et al. | Close dominance graph: An efficient framework for answering continuous top-$ k $ dominating queries | |
CN105550332A (zh) | 一种基于双层索引结构的起源图查询方法 | |
CN114090695A (zh) | 分布式数据库的查询优化的方法和装置 | |
CN115905630A (zh) | 一种图数据库查询方法、装置、设备及存储介质 | |
CN111159577A (zh) | 一种社群划分方法、装置、存储介质及电子装置 | |
Feng et al. | HQ-Tree: A distributed spatial index based on Hadoop | |
CN113779084A (zh) | 基于分布式的时序数据查询方法、设备、介质及产品 | |
CN112800067B (zh) | 范围查询方法、装置、计算机可读存储介质及电子设备 | |
CN112214647B (zh) | 超级节点处理方法、装置、电子设备和可读存储介质 | |
EP4030312A1 (en) | Method and apparatus for querying data, computing device, and storage medium | |
Goonetilleke et al. | On effective and efficient graph edge labeling | |
CN113868267A (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 |