CN112214647B - 超级节点处理方法、装置、电子设备和可读存储介质 - Google Patents

超级节点处理方法、装置、电子设备和可读存储介质 Download PDF

Info

Publication number
CN112214647B
CN112214647B CN202011082674.2A CN202011082674A CN112214647B CN 112214647 B CN112214647 B CN 112214647B CN 202011082674 A CN202011082674 A CN 202011082674A CN 112214647 B CN112214647 B CN 112214647B
Authority
CN
China
Prior art keywords
node
path
super
starting
paths
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.)
Active
Application number
CN202011082674.2A
Other languages
English (en)
Other versions
CN112214647A (zh
Inventor
孙宇熙
王昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Tongxin Shang Technology Development Co ltd
Original Assignee
Beijing Tongxin Shang Technology Development Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Tongxin Shang Technology Development Co ltd filed Critical Beijing Tongxin Shang Technology Development Co ltd
Priority to CN202011082674.2A priority Critical patent/CN112214647B/zh
Publication of CN112214647A publication Critical patent/CN112214647A/zh
Application granted granted Critical
Publication of CN112214647B publication Critical patent/CN112214647B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明的实施例提供了一种超级节点处理方法、装置、电子设备和可读存储介质,涉及数据处理技术领域。在确定待搜索的起始节点和终止节点后,根据起始节点和终止节点,进行起始节点到终止节点的路径搜索,判断路径搜索过程中是否存在超级节点,在存在超级节点时,停止路径搜索,并判断搜索到的起始节点和终止节点的路径是否满足预设的终止条件,若未满足终止条件,寻找起始节点到超级节点的路径以及终止节点到超级节点的路径,根据寻找到的起始节点到超级节点的路径以及终止节点到超级节点的路径,得到起始节点到终止节点的路径,如此,则可以提高面对超级节点时的处理效率,避免了因超级节点在路径上的出现而导致的时耗增加的问题。

Description

超级节点处理方法、装置、电子设备和可读存储介质
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种超级节点处理方法、装置、电子设备和可读存储介质。
背景技术
随着计算、网络、存储、虚拟化、大数据、云计算、分布式数据库及内存计算相关技术的综合发展,催生了数据库技术的升级换代,并且随着数据库技术的升级换代,对于数据库中存在的超级节点的高效、实时处理的需求与日俱增。
目前,基于传统数据库的存储与计算技术,在面对超级节点的时候,数据无法完整存储,或者是即便完整存储但是遍历的时间复杂度很高、延时很大,特别是在路径搜索场景中,因为超级节点的存在让绝大多数系统的时耗呈指数级增长,进而无法实现实时性或完成在线处理请求。
发明内容
基于上述研究,本发明提供了一种超级节点处理方法、装置、电子设备和可读存储介质,以改善上述问题。
本发明的实施例可以这样实现:
第一方面,本发明实施例提供一种超级节点处理方法,应用于电子设备,所述电子设备存储有图数据库,所述图数据库包括多个节点;所述方法包括:
确定待搜索的起始节点和终止节点;
根据所述起始节点和所述终止节点,进行所述起始节点到所述终止节点的路径搜索;
判断路径搜索过程中是否存在超级节点;
若存在所述超级节点,停止路径搜索,并判断搜索到的所述起始节点和所述终止节点的路径是否满足预设的终止条件;
若未满足所述终止条件,寻找所述起始节点到所述超级节点的路径以及所述终止节点到所述超级节点的路径;
根据寻找到的所述起始节点到所述超级节点的路径以及所述终止节点到所述超级节点的路径,得到所述起始节点到所述终止节点的路径。
在可选的实施方式中,所述判断路径搜索过程中是否存在超级节点的步骤包括:
针对每个所述节点,获取该节点一度关联的节点的数量;
判断所述数量是否大于设定阈值;
若大于所述设定阈值,判断该节点为超级节点。
在可选的实施方式中,所述方法还包括构建所述图数据库的步骤,所述步骤包括:
获取多个初始节点,将各所述初始节点存储于哈希表中;
对于每个所述初始节点,将该初始节点一度关联的所有初始节点存储于哈希表中与该初始节点位于同一行或同一列的位置,以形成无索引近邻存储数据结构。
在可选的实施方式中,所述根据所述起始节点和所述终止节点,进行所述起始节点到所述终止节点的路径搜索的步骤包括:
从所述起始节点出发,根据预先设定的路径过滤条件,采用无索引近邻的方式在所述图数据库中搜索到达所述终止节点的路径。
在可选的实施方式中,所述从所述起始节点出发,根据预先设定的路径过滤条件,采用无索引近邻的方式在所述图数据库中搜索到达所述终止节点的路径的步骤包括:
确定所述起始节点一度关联的邻居节点的数量;
根据预先设定的并发线程数,对确定得到的所述起始节点一度关联的邻居节点的数量进行分配;
针对每个线程,从分配到的邻居节点出发,根据所述路径过滤条件,采用无索引近邻的方式在所述图数据库中搜索到达所述终止节点的路径。
在可选的实施方式中,寻找所述终止节点到所述超级节点的路径的步骤包括:
根据所述起始节点到所述超级节点的路径,确定所述起始节点到所述超级节点的路径深度;
根据预先设定的路径深度以及所述起始节点到所述超级节点的路径深度,得到所述终止节点到所述超级节点的路径深度;
从所述终止节点出发,根据所述终止节点到所述超级节点的路径深度,搜索所述终止节点到达所述超级节点的路径。
在可选的实施方式中,所述根据寻找到的所述起始节点到所述超级节点的路径以及所述终止节点到所述超级节点的路径,得到所述起始节点到所述终止节点的路径的步骤包括:
对所述终止节点到所述超级节点的路径进行首尾翻转,并删除所述超级节点;
将删除所述超级节点之后的所述终止节点到所述超级节点的路径与所述起始节点到所述超级节点的路径进行拼接,得到所述起始节点到所述终止节点的路径。
第二方面,本发明实施例提供一种超级节点处理装置,应用于电子设备,所述电子设备存储有图数据库,所述图数据库包括多个节点;所述装置包括路径搜索模块、节点处理模块以及路径处理模块;
所述路径搜索模块用于确定待搜索的起始节点和终止节点,根据所述起始节点和所述终止节点,进行所述起始节点到所述终止节点的路径搜索;
所述节点处理模块用于判断路径搜索过程中是否存在超级节点;
若存在所述超级节点,所述路径处理模块用于停止路径搜索,并判断搜索到的所述起始节点和所述终止节点的路径是否满足预设的终止条件,若未满足所述终止条件,寻找所述起始节点到所述超级节点的路径以及所述终止节点到所述超级节点的路径,根据寻找到的所述起始节点到所述超级节点的路径以及所述终止节点到所述超级节点的路径,得到所述起始节点到所述终止节点的路径。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述实施方式任意一项所述的超级节点处理方法。
第四方面,本发明实施例提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被执行时实现前述实施方式任意一项所述的超级节点处理方法。
本发明实施例提供的超级节点处理方法、装置、电子设备和可读存储介质,在确定待搜索的起始节点和终止节点后,根据起始节点和终止节点,进行起始节点到终止节点的路径搜索,判断路径搜索过程中是否存在超级节点,在存在超级节点时,停止路径搜索,并判断搜索到的起始节点和终止节点的路径是否满足预设的终止条件,若未满足终止条件,寻找起始节点到超级节点的路径以及终止节点到超级节点的路径,根据寻找到的起始节点到超级节点的路径以及终止节点到超级节点的路径,得到起始节点到终止节点的路径,如此,则可以提高面对超级节点时的处理效率,实现路径搜索的实时处理,避免了因超级节点在路径上的出现而导致的时耗增加的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例所提供的电子设备的一种方框示意图。
图2为本发明实施例所提供的超级节点处理方法的一种流程示意图。
图3为本发明实施例所提供的图数据库的一种结构示意图。
图4为本发明实施例所提供的图数据库的另一种结构示意图。
图5为本发明实施例所提供的图数据库的又一种结构示意图。
图6为本发明实施例所提供的图数据库的又一种结构示意图。
图7为本发明实施例所提供的图数据库的又一种结构示意图。
图8为本发明实施例所提供的超级节点处理装置的一种方框示意图。
图标:100-电子设备;10-超级节点处理装置;11-路径搜索模块;12-节点处理模块;13-路径处理模块;20-存储器;30-处理器;40-通信单元。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
随着计算、网络、存储、虚拟化、大数据、云计算、分布式数据库、自然语言处理、知识图谱、内存计算及高性能计算等相关技术的综合发展,催生了知识图谱与图数据库技术的升级换代。
而在知识图谱与图数据库中,涉及超级节点的K邻操作、路径搜索、图算法的效率直接影响了数据库系统、IT系统的响应速度及用户体验。
现有的IT架构,特别是知识图谱或图数据库,对存在的超级节点的高效、实时处理的需求与日俱增。知识图谱或图数据库的处理时效性以及存储复杂度反映了当前系统的算力与存储效率。
目前,基于传统数据库的存储与计算技术,在面对超级节点的时候,数据无法完整存储或者是即便完整存储但是遍历的时间复杂度很高、延时很大,特别是在路径搜索、K邻查询场景中,因为超级节点的存在让绝大多数系统的时耗呈指数级增长,进而完全无法实现实时性或完成在线处理请求。
基于上述研究,本发明实施例提供了一种超级节点处理方法、装置、电子设备和可读存储介质,以改善上述问题。
请参考图1,图1为本发明实施例所提供的电子设备100的一种方框示意图,在本实施例中,所述电子设备100可以是但不限于,单个物理服务器、一个由多个用于执行不同数据处理功能的物理服务器构成的服务器组。服务器组可以是集中式的,也可以是分布式的。
如图1所示,如图1所示,本实施例所提供的电子设备100包括超级节点处理装置10、存储器20、处理器30和通信单元40。
所述存储器20、处理器30及通信单元40各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述超级节点处理装置10包括至少一个可以软件或固件(firmware)的形式存储于所述存储器20中或固化在所述电子设备100的操作系统(operating system,OS)中的软件功能模块。所述处理器30用于执行所述存储器20中存储的可执行模块,例如所述超级节点处理装置10所包括的软件功能模块及计算机程序等。
其中,所述存储器20可以是,但不限于,随机存取存储器(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)等。其中,存储器20用于存储程序或者数据。
所述处理器30可以是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述通信单元40用于通过网络建立所述电子设备100与其他电子设备之间的通信连接,并用于通过所述网络收发数据。
可以理解,图1所示的结构仅为示意,所述电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
基于图1所示的实现架构,请结合参阅图2,图2为超级节点处理方法的流程示意图,由图1所示的电子设备执行。在本实施例中,电子设备中存储有图数据库,该图数据库包括多个节点以及各节点的关联关系,各节点的关联关系可以通过边进行表示。若某两个节点之间存在关联关系,则这两个节点之间可通过边进行连接,表示这两个节点之间存在关联。
由于图数据库包括的节点较多,而每个节点所关联的节点较多,因此,某些节点之间可能直接或间接的存在关联,例如,A节点与B节点存在关联,B节点和C节点存在关联,则A节点可以通过B节点与C节点关联,A节点和C节点存在间接关联,B节点是A节点一度关联的节点,C节点是A节点二度关联的节点,若C节点还关联有其他的节点,则其他的节点为A节点三度关联的节点,以此类推。
可以理解地,搜索起始节点到终止节点的路径,即搜索起始节点是否与终止节点之间是否存在直接或间接的关联关系。
下面对图2所示的流程示意图进行详细阐述。
步骤S10:确定待搜索的起始节点和终止节点。
步骤S20:根据起始节点和终止节点,进行起始节点到终止节点的路径搜索。
步骤S30:判断路径搜索过程中是否存在超级节点。
若未存在超级节点,则继续路径搜索,在满足终止条件时,返回搜到的起始节点到终止节点的路径,若存在超级节点,执行步骤S40。
步骤S40:停止路径搜索,并判断搜索到的起始节点和终止节点的路径是否满足预设的终止条件。
若未满足终止条件,执行步骤S50。若满足终止条件,执行步骤S60。
步骤S50:寻找起始节点到超级节点的路径以及终止节点到超级节点的路径,根据寻找到的起始节点到超级节点的路径以及终止节点到超级节点的路径,得到起始节点到终止节点的路径。
步骤S60:结束路径搜索,返回搜索到的起始节点到终止节点的路径。
本实施例所提供的超级节点处理方法,在确定待搜索的起始节点和终止节点后,根据起始节点和终止节点,进行起始节点到终止节点的路径搜索,判断路径搜索过程中是否存在超级节点,在存在超级节点时,停止路径搜索,并判断搜索到的起始节点和终止节点的路径是否满足预设的终止条件,在未满足终止条件时,寻找起始节点到超级节点的路径以及终止节点到超级节点的路径,根据寻找到的起始节点到超级节点的路径以及终止节点到超级节点的路径,得到起始节点到终止节点的路径,如此,可使路径搜索的性能指数级提升,实现路径搜索的实时处理,避免了因超级节点在路径上的出现而导致的时耗增加的问题。
由于在知识图谱或图数据库中存在的超级节点,即热点,其一度关联的节点的数量显著多于所有节点平均的一度关联的节点的数量,因此,在本实例中,可根据节点一度关联的节点数量来判断节点是否为超级节点。可选的,判断路径搜索过程中是否存在超级节点的步骤包括:
针对每个节点,获取该节点一度关联的节点的数量。
判断数量是否大于设定阈值。
若大于设定阈值,判断该节点为超级节点。
其中,设定阈值,可以根据电子设备自身并发资源的处理量或者图数据库中节点的平均近邻数量而设定。可选的,当节点一度关联的节点数量超过并发资源量的设定倍数(如30倍)时,或者超过图数据库中节点的平均近邻数量的设定倍数(如10倍)时,可判定该节点为超级节点。
例如,以并发资源量为例,若电子设备的最大可并发使用的线程数为32,则当某个节点一度关联的节点数超过960时,该节点被视作超级节点。可选的,电子设备的并发资源量还可以由虚拟处理器(virtual CPU,vCPU)决定。又例如,以平均近邻数量为例,当某个节点一度关联的节点数超过平均近邻数量的10倍以上时,则该节点被视作超级节点。
若在路径搜索的过程中,查找到当前节点为超级节点时,则停止当前路径的搜索,即不再从该超级节点展开路径搜索,然后判断当前搜索到的起始节点和终止节点的路径是否满足预设的终止条件,若满足预设的终止条件,则结束路径搜索,返回搜索到的起始节点到终止节点的路径。
若未满足预设的终止条件,则从起始节点和终止节点出发,分别寻找起始节点到超级节点的路径以及终止节点到超级节点的路径,然后根据寻找到的起始节点到超级节点的路径以及终止节点到超级节点的路径,得到起始节点到终止节点的路径。如此,可提高图数据库面对超级节点的处理效率,进而实现路径搜索的性能指数级提升。
可以理解地,若未搜索到终止节点到超级节点的路径,则搜索起始节点到终止节点的其他路径,直至满足终止条件或者所有节点已遍历完,即无路径可再搜索,结束路径搜索,返回已搜索到的起始节点到终止节点的路径。
可选的,在本实施例中,终止条件可以是设定的数量,判断当前搜索到的起始节点和终止节点的路径是否满足预设的终止条件,即判断当前搜索到的起始节点和终止节点的路径的数量是否满足预设的数量。若满足预设的数量,则无需再继续搜索。若未满足预设的数量,则搜索起始节点到超级节点的路径以及终止节点到超级节点的路径,即搜索起始节点经过超级节点然后到达终止节点的路径,在搜索到起始节点到超级节点的路径以及终止节点到超级节点的路径后,即表示起始节点经过超级节点后存在到达终止节点的路径,此时起始节点和终止节点的路径的数量加1。
可选的,在本实施例中,可从起始节点和终止节点同时出发,寻找起始节点到超级节点的路径以及终止节点到超级节点的路径,也可以按照先后顺序寻找路径,例如,先寻找起始节点到超级节点的路径,然后再寻找终止节点到超级节点的路径。
作为一种可选的实施方式,为了进一步提高处理效率,在本实施例中,在搜索到超级节点后,可对每个搜索到的超级节点的唯一可识别ID进行记录,然后在所有的路径完成搜索后,判断搜索到的路径数量是否满足预设的数量,若未满足,则按照超级节点的记录顺序,依次查找起始节点和终止节点分别到每个超级节点的路径,以此提高处理效率。
为了节省系统资源消耗,在搜索路径的过程中,可以对起始节点到超级节点的路径片段的距离信息(深度、层数)以及路径片段(点、边、点排列的组合)进行记录。然后根据起始节点到超级节点的距离信息以及路径片段,寻找终止节点到超级节点的路径。
可选的,寻找终止节点到超级节点的路径的步骤可以包括:
根据起始节点到超级节点的路径,确定起始节点到超级节点的路径深度。
根据预先设定的路径深度以及起始节点到超级节点的路径深度,得到终止节点到超级节点的路径深度。
从终止节点出发,根据终止节点到超级节点的路径深度,搜索终止节点到达超级节点的路径。
其中,在寻找终止节点到超级节点的路径时,可从起始节点到超级节点的路径片段的距离信息,得到起始节点到超级节点的路径深度,根据起始节点到超级节点的路径深度,限定终止节点到超级节点搜索路径的路径深度。具体计算方式为:
终止节点到超级节点的路径深度=预先设定的路径深度-起始节点到超级节点的路径深度。
在计算得到终止节点到超级节点的路径深度后,则可以按照终止节点到超级节点的路径深度,进行路径搜索,若从终止节点出发,搜索的路径深度已达到计算得到的终止节点到超级节点的路径深度,但此时还未查找到终止节点到超级节点的路径,则结束终止节点到超级节点的路径搜索,放弃该超级节点对应的路径搜索。若搜索的路径深度未达到计算得到的终止节点到超级节点的路径深度,便已查找到终止节点到超级节点的路径,则获取终止节点到超级节点的路径片段。如此,则可以避免不必要的更深层的路径搜索,节省了系统资源的消耗。
作为一种可选的实施方式,若搜索的路径深度未达到计算得到的终止节点到超级节点的路径深度,但节点已遍历完,即没有更多的数据可以被查询计算,则结束终止节点到超级节点的路径搜索,放弃该超级节点对应的路径搜索。
在得到终止节点到超级节点的路径后,即可以读取记录的起始节点到超级节点的路径片段,然后根据寻找到的起始节点到超级节点的路径以及终止节点到超级节点的路径,得到起始节点到终止节点的路径。若未对起始节点到超级节点的路径片段进行记录,则重新搜索起始节点到超级节点的路径,得到起始节点到超级节点的路径片段。
可选的,根据寻找到的起始节点到超级节点的路径以及终止节点到超级节点的路径,得到起始节点到终止节点的路径的步骤可以包括:
对终止节点到超级节点的路径进行首尾翻转,并删除超级节点。
将删除超级节点之后的终止节点到超级节点的路径与起始节点到超级节点的路径进行拼接,得到起始节点到终止节点的路径。
其中,在对起始节点到超级节点的路径以及终止节点到超级节点的路径进行组装时,将终止节点到超级节点的路径进行首尾翻转,即翻转该路径上面的全部点、边、点序列的顺序,头变尾,尾变头,但是保持边的方向不变。在翻转完成后,将该路径上的超级节点进行删除,如此,可避免与起始节点到超级节点的路径进行拼接时,出现重复的超级节点。
通过将翻转之后的终止节点到超级节点的路径与起始节点到超级节点的路径进行拼接,即可得到起始节点到终止节点的完整路径。
可以理解地,若搜索到存在多个超级节点,则按照超级节点的记录顺序,依次查找起始节点和终止节点分别到每个超级节点的路径,并进行拼接。
例如,在路径搜索的过程中,查找到3个超级节点,ID记录顺序依次为超级节点1、超级节点2以及超级节点3,则先搜索起始节点和终止节点分别到超级节点1的路径,若搜索到路径,则对起始节点到超级节点1的路径和终止节点到超级节点1的路径进行拼接,若在拼接后,路径数量已满足终止条件,则结束路径,返回搜索到的路径,若未满足,则搜索起始节点和终止节点分别到超级节点2的路径,以此类推,直至满足终止条件。
本实施例所提供的超级节点处理方法,在搜索到超级节点时,停止路径搜索,并在搜索到的起始节点和终止节点的路径未满足预设的终止条件时,寻找起始节点到超级节点的路径以及终止节点到超级节点的路径,根据寻找到的起始节点到超级节点的路径以及终止节点到超级节点的路径,得到起始节点到终止节点的路径,如此,避免了因超级节点在路径上的出现而导致的时耗增加的问题,实现了路径搜索的实时处理。
为了提高路径搜索的效率,本实施例所提供的图数据库采用无索引近邻存储的数据结构,以通过无索引近邻存储方式来支持最低延时的超级节点的近邻遍历。因此,本实施例所提供的超级节点处理方法还包括构建图数据库的步骤,该步骤包括:
获取多个初始节点,将各初始节点存储于哈希表中。
对于每个初始节点,将该初始节点一度关联的所有初始节点存储于哈希表中与该初始节点位于同一行或同一列的位置,以形成无索引近邻存储数据结构。
如图3所示,图3为本实施例提供的无索引近邻存储数据结构的一种示意图。图3中,每个初始节点(初始节点1至初始节点N)存储于哈希表中的第一列中,然后每个初始节点的同一行存储的是与之一度关联的所有初始节点,每一对关联的节点之间的关联关系通过边进行表征,因此,每个初始节点的同一行存储的还包括与关联的初始节点对应的边。
例如,从图3中的第一行可知,与初始节点1关联的初始节点有初始节点2、初始节点3以及初始节点5。其中,初始节点1与初始节点2相连的边和初始节点2存储在一起,初始节点1与初始节点3相连的边和初始节点3存储在一起,初始节点1与初始节点5相连的边和初始节点5存储在一起。
基于如图3所示的无索引近邻存储数据结构,可以不用依赖或使用当前传统关系型数据库的索引方式来进行寻址、定位加速。每个当前节点的所有一度关联的节点在存储时是与当前节点相邻存储的,也就是说从当前节点出发,在数据结构中去查询、定位关联的一度邻居节点所需要耗费的时间复杂度为O(1),即最低访问延时,因为,相邻节点间的访问通过连续存储内存空间的直接寻址即计算可以得到。
可选的,在本实施例中,该哈希表可以为相邻哈希表(Adjacency Hashtable)。可选的,本实施例还可以通过无序表(Unordered Map)实现无索引近邻存储的数据结构,即将各初始节点存储于无序表中,且每个初始节点,将与该初始节点一度关联的所有初始节点存储于同一无序表中与该初始节点位于同一行或同一列的位置,以形成无索引近邻存储数据结构。
可选的,在本实施例中,为了便于区别每个节点,每个节点均设置有唯一的ID,进而可在哈希表中将节点ID设置为主键,以通过节点ID进行数据查询。
可以理解地,每一对关联的节点之间可以存在多条边,每条边也设置有唯一ID,边与边之间通过ID来具体区分。假设对于某个节点的每条边(关系)所需的空间占用为M个字节,该节点有J条关联边,则获取该节点全部关联边的空间复杂度为M*J。
由于在本实施例中,每条边存在多种属性,为了便于直接读取边的属性,作为一种可选的实施方式,在本实施例中,针对每个初始节点,在将与该初始节点一度关联的所有初始节点存储于哈希表中与该初始节点位于同一行或同一列的位置时,还可以将与各初始节点相连的边属性存储于同一哈希表中,且与该初始节点位于同一行或同一列的位置,以形成无索引近邻存储的数据结构,进而该数据结构中每一行或每一列存储的是某一个节点出发的全部边(关联关系)的集合。
如图4所示,图4为本实施例提供的无索引近邻存储数据结构的一种示意图。图4中,每个初始节点(初始节点1至初始节点N)存储于哈希表中的第一列中,然后每个初始节点的同一行存储的是与之一度关联的所有初始节点以及与各初始节点相连的边属性。例如,从图4中的第一行可知,与初始节点1关联的初始节点有初始节点2、初始节点3以及初始节点5。其中,初始节点1与初始节点2相连的边属性和初始节点2存储在一起,初始节点1与初始节点3相连的边属性和初始节点3存储在一起,初始节点1与初始节点5相连的边属性和初始节点5存储在一起。
基于如图4所示的无索引近邻存储数据结构,从全量数据中去定位、搜寻任一节点或边(以及它们各自的属性),所需的时间复杂度也为O(1)。
可选的,边属性可以包括关系类型、关系方向、关系比例等特征信息,具体地,可根据实际需求而定义。
作为一种可选的实施方式,边属性可单独进行存储,即存储于另一哈希表中,如图5所示,图5为本实施例所提供的面向边的属性的无索引近邻存储数据结构的示意图。
针对每条边,若该条边具有多个属性,则该条边的属性以连续存储的方式实现。如此,当需要对某条边的某个属性进行操作的时候,则只需O(2)时间复杂度,即两个O(1)的操作,一个是从节点定位到该边的ID(定位到存储边属性的哈希表中),第二个是根据该边的ID定位到其对应的任意属性,每个操作的时间复杂度均为O(1),因此综合复杂度为O(2)。
出于对效率的考量以及具体图上存储逻辑与应用需求的考量,在本实施例中,对边的排列顺序及存储顺序并不进行限制,这样存储的逻辑对于增删查改操作都可以做到最优的O(1)的访问时间复杂度。
可选的,在本实施例中,基于边属性的连续存储也可以通过无序表实现。
由于在本实施例中,每个节点也包含多种节点属性,为了便于节点属性的读取,每个节点的节点属性可以与节点、边、边属性存储于同一表格,如图6所示,图6为本实施例提供的无索引近邻存储数据结构的一种示意图。图6中,每个初始节点(初始节点1至初始节点N)以及各初始节点的节点属性存储于哈希表中的第一列中,然后每个初始节点的同一行存储的是与之相关联的所有初始节点(即关联的所有一度邻居节点)以及与各初始节点相连的边属性。当需要对节点的某个属性进行操作的时候,则可以通过节点的ID定位该节点,所需要的时间复杂度为O(1)。
可选的,每个节点的节点属性还可以单独进行存储,如图7所示,图7为本实施例所提供的面向节点的无索引近邻存储数据结构的示意图。图7表示全部节点的集合列表,其中每一行对于一个节点,每个节点的属性以连续存储方式实现。当需要对节点的某个属性进行操作的时候,则可以通过节点的ID定位该节点(定位到存储节点属性的哈希表中),所需要的时间复杂度为O(1),然后再直接查询到其对应的属性,节点属性的访问时间复杂度恒定为O(1),因此综合复杂度为O(2)。
本实施例提供的图数据库采用无索引近邻存储数据结构存储数据,当节点与节点的属性、边与边的属性并集存储时,即节点与节点的属性、边与边的属性存储于同一哈希表时,从当前节点出发,沿着某条边以及相邻节点进行路径搜索时,读取相邻节点的属性以及读取该条边的属性的时间复杂度均为O(1)。当节点与节点的属性、边与边的属性非并集存储时,即节点与节点的属性、边与边的属性存储于不同哈希表时,从当前节点出发,沿着某条边以及相邻节点进行路径搜索时,读取相邻节点的属性以及读取该条边的属性的时间复杂度均为O(2)。
如此,在提高存储效率的基础上,又可尽可能的降低数据查询、搜索的时间复杂度,提高路径查询的效率。
由于本实施例所提供的图数据库采用无索引近邻存储数据结构进行数据存储,可以支持在图上对任意节点间进行高性能的路径搜索,进而,本实施例所提供的超级节点处理方法,在确定得到起始节点和终止节点后,即可采用无索引近邻的方式在图数据库中进行路径搜索。
因此,在实施例中,根据起始节点和终止节点,进行起始节点到终止节点的路径搜索的步骤可以包括:
从起始节点出发,根据预先设定的路径过滤条件,采用无索引近邻的方式在图数据库中搜索到达终止节点的路径。
可选的,路径过滤条件可以是,但不限于,精准过滤条件、模糊过滤条件以及区间过滤条件等。例如,精准过滤条件可以是基于数值或字符串的精准匹配条件,模糊过滤条件可以是基于全文搜索的模糊匹配过滤条件,区间过滤条件可以是基于数值大小、区间范围等限定条件的过滤条件。
可以理解地,在本实施例中,路径过滤条件、起始节点和终止节点可以预先在电子设备上进行配置,在配置完成后,电子设备即可根据配置好的路径过滤条件、起始节点和终止节点进行路径搜索。也可以由用户端发给电子设备。
本实施例所提供的超级节点处理方法,在搜索起始节点到终止节点的路径时,即可根据路径过滤条件,对路径上的点、边的属性进行过滤筛选,以实现路径的动态过滤以及图数据库的剪枝处理。
可选的,在本实施例中,路径过滤条件还可以包括路径搜索的深度、是否为最短路径等搜索条件,具体地,可根据实际需求进行设定。
本实施例所提供的超级节点处理方法,基于无索引近邻存储的数据结构,在进行路径搜索时,采用无索引近邻的方式,直接在数据结构中查询、定位关联的邻居节点,大大提高了路径搜索的时效性。
由于在本实施例通过哈希表构建无索引近邻存储的数据结构,可以在哈希表中并发对数据结构进行增删查改,进而可支持多线程并发的路径搜索实现。因此,从起始节点出发,根据预先设定的路径过滤条件,采用无索引近邻的方式在图数据库中搜索到达终止节点的路径的步骤还可以包括:
确定起始节点一度关联的邻居节点的数量。
根据预先设定的并发线程数,对确定得到的起始节点一度关联的邻居节点的数量进行分配。
针对每个线程,从分配到的邻居节点出发,根据路径过滤条件,采用无索引近邻的方式在图数据库中搜索到达终止节点的路径。
其中,从起始节点出发,获取起始节点一度关联的邻居节点数量,在获取邻居节点的数量后,根据预先设定的并发线程数,对邻居节点进行分配。例如,假设起始节点有100个一度关联的邻居节点,有可使用线程10个,则可以为每个线程分配10个邻居节点,然后每个线程以分配到10个邻居节点继续进行运算。
对于单个线程来说,在分配得到的邻居节点后,即可从分配到的邻居节点出发,按照路径过滤条件,采用无索引近邻的方式在图数据库中进行路径搜索。
针对每个线程,若该线程从分配到某个邻居节点出发,在进行路径搜索的过程中,查询到超级节点后,则停止以该邻居节点出发的路径搜索,并判断当前所有线程搜索到的起始节点到终止节点的路径是否满足终止条件,若满足终止条件,返回搜索到的起始节点到终止节点的路径,结束所有进程,若未满足,则寻找起始节点到超级节点的路径以及终止节点到超级节点的路径,在结束寻找起始节点到超级节点的路径以及终止节点到超级节点的路径后,处理其他的邻居节点,从其他的邻居节点出发,搜索起始节点到终止节点的路径。
可选的,为了提高处理效率,当该线程在搜索到超级节点后,且当前搜索到的路径未满足终止条件,还可以设置一新的线程对该超级节点进行处理,即以新的线程查找起始节点到超级节点的路径以及终止节点到超级节点的路径,而该线程则处理分配到的其他邻居节点,以其他邻居节点出发,进行路径搜索。如此,不同的事项同时处理,可大大提高处理的效率。
作为一种可选的实施方式,在本实施例中,针对每个线程,若该线程从分配到某个邻居节点出发,在进行路径搜索的过程中,查询到超级节点后,在停止以该邻居节点出发的路径搜索后,只记录该超级节点的ID,然后从其他的邻居节点出发,进行路径搜索,以此类推,直至所有的进程处理完毕,判断搜索到的起始节点到终止节点的路径是否满足终止条件,若满足,则返回搜索到的起始节点到终止节点的路径,若未满足,按照超级节点的记录顺序,依次查找起始节点和终止节点分别到每个超级节点的路径,直至满足终止条件。可以理解地,若查找完所有的超级节点后,搜索到的起始节点到终止节点的路径仍未满足终止条件,也结束路径搜索,返回搜索到的起始节点到终止节点的路径。
作为一种可选的实施方式,若确定得到的起始节点有多个,也可以根据预先设定的并发线程数,对起始节点进行分配。
需要说明的是,预设的并发线程数取决电子设备的操作系统所提供的并发资源量。
作为一种可选的实施方式,本实施例可采用深度优先搜索算法(DFS)和/或广度优先搜索算法(BFS)实现路径的搜索。
当基于BFS算法进行路径搜索时,针对每个起始节点,从该起始节点出发,通过BFS算法,在图数据库中找到该起始节点所有的近邻无索引存储的一度邻居节点,并逐个的向下一层继续处理,当BFS的深度已经满足路径过滤条件或者没有下一个邻居节点需要继续处理,则返回。
当基于DFS算法进行路径搜索时,针对每个起始节点,从该起始节点出发,读取该起始节点的任意一个一度邻居节点,并对该邻居节点继续以DFS的方式处理,只有当DFS的深度已经满足,或者已经没有邻居节点可以处理,返回或者回退到上一层继续处理。
在以上的BFS或DFS场景中,当任一节点被判定为超级节点时,则执行步骤S40至步骤S60的逻辑处理过程,即停止路径搜索,并判断搜索到的起始节点和终止节点的路径是否满足预设的终止条件,在未满足终止条件时,寻找起始节点到超级节点的路径以及终止节点到超级节点的路径,根据寻找到的起始节点到超级节点的路径以及终止节点到超级节点的路径,得到起始节点到终止节点的路径。
本实施例所提供的超级节点处理方法,通过采用无索引近邻的方式对图数据库中的节点、边进行高效的存储与访问,从而可以支持在图数据库中对任意节点间进行高性能的路径搜索,实现了图数据库中对节点、边及其属性值访问的最低时耗,并且本实施例所提供的超级节点处理方法在面对超级节点时,停止路径搜索,并在搜索到的起始节点和终止节点的路径未满足预设的终止条件时,寻找起始节点到超级节点的路径以及终止节点到超级节点的路径,如此,避免了因超级节点在路径上的出现而导致的时耗增加的问题,实现了路径搜索的实时处理。
由于本实施例所提供的超级节点处理方法,通过采用无索引近邻的方式对图数据库中的节点、边进行高效的存储与访问,进而还可以支持面向任何节点或全图(全量节点)的近邻类查询。对于近邻类查询,当遇到超级节点时,根据过滤与筛选条件以O(1)或O(2)的时间复杂度进行点、边的属性过滤,即可以O(1)或O(2)的时间复杂度可以访问到超级节点的节点属性、关联的一度邻居节点及邻居节点的属性、关联的边以及边属性等。具体的时间复杂度基于超级节点的信息存储位置而决定,并集存储,时间复杂度均为O(1);非并集存储时,时间复杂度为O(2)。
可选的,当在近邻查询时,在面向超级节点时,采用高并发处理机制,面向普通节点时,则采用普通处理机制,即面向超级节点时,大量的近邻的存在会触发高并发处理机制,而面向普通节点,则无需触发高并发处理机制。例如,若超级节点有超过普通节点10倍的近邻数量,则可分配普通节点的10倍线程资源来进行并发处理,以此提高处理效率以及降低处理复杂度。
可选的,近邻类查询可以是K邻查询以及各种除上述所述的路径搜索以外的图算法、图分析、图计算逻辑等等。典型的图算法包含各类相似度、中心度、连通度、社区识别、属性或特征传导、标签传播、出度、入度、变量计算等等。
本实施例所提供的超级节点处理方法,不仅可以应用于对图数据库进行实时路径搜索的领域,还可以应用于自然语言处理、知识图谱、图计算或分析系统。在此基础上,还可以满足更多的应用场景,例如,知识图谱、问答系统、推荐系统、专家系统等应用场景。在基础的图数据库应用场景中,路径查询是一个最核心的步骤,几乎所有的图上的查询、运算、分析和更复杂的操作,例如全量算法执行等,都可以最终分解为更为基础的路径查询操作。
基于同一发明构思,请结合参阅图8,在一个实施例中,提供了一种超级节点处理装置10,应用于电子设备,电子设备存储有图数据库,图数据库包括多个节点。所述装置包括路径搜索模块11、节点处理模块12以及路径处理模块13。
路径搜索模块11用于确定待搜索的起始节点和终止节点,根据起始节点和终止节点,进行起始节点到终止节点的路径搜索。
节点处理模块12用于判断路径搜索过程中是否存在超级节点。
若存在超级节点,路径处理模块13用于停止路径搜索,并判断搜索到的起始节点和终止节点的路径是否满足预设的终止条件,若未满足终止条件,寻找起始节点到超级节点的路径以及终止节点到超级节点的路径,根据寻找到的起始节点到超级节点的路径以及终止节点到超级节点的路径,得到起始节点到终止节点的路径。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
在上述基础上,在一个实施例中,提供了一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被执行时实现前述实施方式任意一项所述的超级节点处理方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述可读存储介质的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
综上所述,本发明实施例提供的超级节点处理方法、装置、电子设备和可读存储介质,在确定待搜索的起始节点和终止节点后,根据起始节点和终止节点,进行起始节点到终止节点的路径搜索,判断路径搜索过程中是否存在超级节点,在存在超级节点时,停止路径搜索,并判断搜索到的起始节点和终止节点的路径是否满足预设的终止条件,若未满足终止条件,寻找起始节点到超级节点的路径以及终止节点到超级节点的路径,根据寻找到的起始节点到超级节点的路径以及终止节点到超级节点的路径,得到起始节点到终止节点的路径,如此,则可以提高面对超级节点时的处理效率,实现路径搜索的实时处理,避免了因超级节点在路径上的出现而导致的时耗增加的问题。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种超级节点处理方法,其特征在于,应用于电子设备,所述电子设备存储有图数据库,所述图数据库包括多个节点;所述方法包括:
确定待搜索的起始节点和终止节点;
根据所述起始节点和所述终止节点,进行所述起始节点到所述终止节点的路径搜索;
判断路径搜索过程中是否存在超级节点;
若存在所述超级节点,停止路径搜索,并判断搜索到的所述起始节点和所述终止节点的路径是否满足预设的终止条件;
若未满足所述终止条件,寻找所述起始节点到所述超级节点的路径以及所述终止节点到所述超级节点的路径;
根据寻找到的所述起始节点到所述超级节点的路径以及所述终止节点到所述超级节点的路径,得到所述起始节点到所述终止节点的路径。
2.根据权利要求1所述的超级节点处理方法,其特征在于,所述判断路径搜索过程中是否存在超级节点的步骤包括:
针对每个所述节点,获取该节点一度关联的节点的数量;
判断所述数量是否大于设定阈值;
若大于所述设定阈值,判断该节点为超级节点。
3.根据权利要求1所述的超级节点处理方法,其特征在于,所述方法还包括构建所述图数据库的步骤,所述步骤包括:
获取多个初始节点,将各所述初始节点存储于哈希表中;
对于每个所述初始节点,将该初始节点一度关联的所有初始节点存储于哈希表中与该初始节点位于同一行或同一列的位置,以形成无索引近邻存储数据结构。
4.根据权利要求3所述的超级节点处理方法,其特征在于,所述根据所述起始节点和所述终止节点,进行所述起始节点到所述终止节点的路径搜索的步骤包括:
从所述起始节点出发,根据预先设定的路径过滤条件,采用无索引近邻的方式在所述图数据库中搜索到达所述终止节点的路径。
5.根据权利要求4所述的超级节点处理方法,其特征在于,所述从所述起始节点出发,根据预先设定的路径过滤条件,采用无索引近邻的方式在所述图数据库中搜索到达所述终止节点的路径的步骤包括:
确定所述起始节点一度关联的邻居节点的数量;
根据预先设定的并发线程数,对确定得到的所述起始节点一度关联的邻居节点的数量进行分配;
针对每个线程,从分配到的邻居节点出发,根据所述路径过滤条件,采用无索引近邻的方式在所述图数据库中搜索到达所述终止节点的路径。
6.根据权利要求1所述的超级节点处理方法,其特征在于,寻找所述终止节点到所述超级节点的路径的步骤包括:
根据所述起始节点到所述超级节点的路径,确定所述起始节点到所述超级节点的路径深度;
根据预先设定的路径深度以及所述起始节点到所述超级节点的路径深度,得到所述终止节点到所述超级节点的路径深度;
从所述终止节点出发,根据所述终止节点到所述超级节点的路径深度,搜索所述终止节点到达所述超级节点的路径。
7.根据权利要求1所述的超级节点处理方法,其特征在于,所述根据寻找到的所述起始节点到所述超级节点的路径以及所述终止节点到所述超级节点的路径,得到所述起始节点到所述终止节点的路径的步骤包括:
对所述终止节点到所述超级节点的路径进行首尾翻转,并删除所述超级节点;
将删除所述超级节点之后的所述终止节点到所述超级节点的路径与所述起始节点到所述超级节点的路径进行拼接,得到所述起始节点到所述终止节点的路径。
8.一种超级节点处理装置,其特征在于,应用于电子设备,所述电子设备存储有图数据库,所述图数据库包括多个节点;所述装置包括路径搜索模块、节点处理模块以及路径处理模块;
所述路径搜索模块用于确定待搜索的起始节点和终止节点,根据所述起始节点和所述终止节点,进行所述起始节点到所述终止节点的路径搜索;
所述节点处理模块用于判断路径搜索过程中是否存在超级节点;
若存在所述超级节点,所述路径处理模块用于停止路径搜索,并判断搜索到的所述起始节点和所述终止节点的路径是否满足预设的终止条件,若未满足所述终止条件,寻找所述起始节点到所述超级节点的路径以及所述终止节点到所述超级节点的路径,根据寻找到的所述起始节点到所述超级节点的路径以及所述终止节点到所述超级节点的路径,得到所述起始节点到所述终止节点的路径。
9.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1-7任意一项所述的超级节点处理方法。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序被执行时实现权利要求1-7任意一项所述的超级节点处理方法。
CN202011082674.2A 2020-10-12 2020-10-12 超级节点处理方法、装置、电子设备和可读存储介质 Active CN112214647B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011082674.2A CN112214647B (zh) 2020-10-12 2020-10-12 超级节点处理方法、装置、电子设备和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011082674.2A CN112214647B (zh) 2020-10-12 2020-10-12 超级节点处理方法、装置、电子设备和可读存储介质

Publications (2)

Publication Number Publication Date
CN112214647A CN112214647A (zh) 2021-01-12
CN112214647B true CN112214647B (zh) 2023-10-27

Family

ID=74054447

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011082674.2A Active CN112214647B (zh) 2020-10-12 2020-10-12 超级节点处理方法、装置、电子设备和可读存储介质

Country Status (1)

Country Link
CN (1) CN112214647B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102868683A (zh) * 2012-08-23 2013-01-09 东南大学 一种基于端到端的语音安全多路径通信系统及方法
WO2019185052A1 (zh) * 2018-03-30 2019-10-03 日本电气株式会社 用于确定两点之间的可达路径的方法、装置和系统
CN110704434A (zh) * 2019-09-24 2020-01-17 北京百度网讯科技有限公司 图谱最短路径的查询方法、装置、电子设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7398499B2 (en) * 2006-05-24 2008-07-08 Chang Gung University Method of searching paths suffering from the electrostatic discharge in the process of an integrated circuit design

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102868683A (zh) * 2012-08-23 2013-01-09 东南大学 一种基于端到端的语音安全多路径通信系统及方法
WO2019185052A1 (zh) * 2018-03-30 2019-10-03 日本电气株式会社 用于确定两点之间的可达路径的方法、装置和系统
CN110704434A (zh) * 2019-09-24 2020-01-17 北京百度网讯科技有限公司 图谱最短路径的查询方法、装置、电子设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于UML状态图的列控中心软件测试路径生成方法;王秀玄;;铁路计算机应用(08);全文 *

Also Published As

Publication number Publication date
CN112214647A (zh) 2021-01-12

Similar Documents

Publication Publication Date Title
CN112287182B (zh) 图数据存储、处理方法、装置及计算机存储介质
CN109255055B (zh) 一种基于分组关联表的图数据存取方法和装置
EP2804114A1 (en) Database controller, method, and program for managing a distributed data store
CN112800287B (zh) 基于图数据库的全文索引方法和系统
CN111966843A (zh) 图数据库构建方法、路径搜索方法、装置和电子设备
JP2021506012A (ja) データ記憶およびクエリ方法並びにデバイス
CN108228799B (zh) 对象索引信息的存储方法及装置
CN107918642A (zh) 数据查询方法、服务器及计算机可读存储介质
CN112015820A (zh) 分布式图数据库实现的方法、系统、电子装置和存储介质
WO2018040488A1 (zh) 一种处理连接查询的方法及装置
CN113553339B (zh) 数据查询方法、中间件、电子装置和存储介质
CN114491172B (zh) 树形结构节点的快速检索方法、装置、设备及存储介质
CN112565095A (zh) 一种互联网专线自动发现分析方法及装置
CN110134335A (zh) 一种基于键值对的rdf数据管理方法、装置及存储介质
JP2019513245A (ja) ソーシャルネットワークに基づいてグループを探索する方法、デバイス、サーバ及び記憶媒体
US20110179013A1 (en) Search Log Online Analytic Processing
CN115905630A (zh) 一种图数据库查询方法、装置、设备及存储介质
CN114741570A (zh) 图数据库的查询方法、索引创建方法及相关设备
CN110134698A (zh) 数据管理方法及相关产品
CN112214647B (zh) 超级节点处理方法、装置、电子设备和可读存储介质
CN109992526A (zh) 一种读写管理方法以及相关装置
CN109726219A (zh) 数据查询的方法及终端设备
CN104794237B (zh) 网页信息处理方法及装置
CN113256301B (zh) 数据屏蔽方法、装置、服务器及介质
CN109753520B (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
GR01 Patent grant
GR01 Patent grant