CN110309334B - 图数据库的查询方法、系统、计算机设备和可读存储介质 - Google Patents
图数据库的查询方法、系统、计算机设备和可读存储介质 Download PDFInfo
- Publication number
- CN110309334B CN110309334B CN201810360897.7A CN201810360897A CN110309334B CN 110309334 B CN110309334 B CN 110309334B CN 201810360897 A CN201810360897 A CN 201810360897A CN 110309334 B CN110309334 B CN 110309334B
- Authority
- CN
- China
- Prior art keywords
- query
- graph database
- server
- metadata
- query request
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000012545 processing Methods 0.000 claims abstract description 151
- 230000015654 memory Effects 0.000 claims abstract description 31
- 238000004590 computer program Methods 0.000 claims description 26
- 238000013507 mapping Methods 0.000 claims description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000003936 working memory Effects 0.000 description 5
- 239000000470 constituent Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种图数据库的查询方法、系统、计算机设备和可读存储介质。该方法包括:查询请求服务器接收终端发送的至少一条查询条件,并对各查询条件进行解析,得到解析结果后将解析结果发送至图数据库管理服务器;图数据库管理服务器根据解析结果获得对应的元数据,并将元数据发送至查询请求服务器;查询请求服务器接收元数据,根据元数据生成与各查询条件对应的查询请求后,将各查询请求分配至分布式处理服务器;分布式处理服务器调用预先配置的图数据库访问接口,根据分配的查询请求对图数据库进行查询,得到查询结果。该方法节省了图数据库管理服务器响应查询的时间以及内存开销,提高了图数据库的查询效率。
Description
技术领域
本申请涉及图数据库技术领域,特别是涉及一种图数据库的查询方法、系统、计算机设备和可读存储介质。
背景技术
随着信息技术的发展,建立行之有效的信息系统以充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件,因此,作为信息系统核心和基础的数据库技术得到越来越广泛的应用。而随着大数据时代的到来,善于处理大量复杂、互连接、低结构化的数据的图数据库技术也得到快速发展。
在传统的图数据库查询应用中,通常需要利用图数据库管理服务器将查询条件转换为对图数据库的查询请求,并通过图数据库管理服务器访问图数据库,将图数据库的响应数据组合处理后,再返回至用户程序。特别当执行批量查询时,每一条查询均需要执行上述处理过程,导致对图数据库的查询效率低。
发明内容
基于此,有必要针对对图数据库的查询效率低的技术问题,提供一种图数据库的查询方法、系统、计算机设备和可读存储介质。
一种图数据库的查询方法,所述方法包括:
查询请求服务器接收终端发送的至少一条查询条件,并对各所述查询条件进行解析,得到解析结果后将所述解析结果发送至图数据库管理服务器;
所述图数据库管理服务器根据所述解析结果获得对应的元数据,并将所述元数据发送至所述查询请求服务器;
所述查询请求服务器接收所述元数据,根据所述元数据生成与各所述查询条件对应的查询请求后,将各所述查询请求分配至分布式处理服务器;
所述分布式处理服务器调用预先配置的图数据库访问接口,根据分配的所述查询请求对图数据库进行查询,得到查询结果。
一种图数据库的查询方法,所述方法包括:
接收终端发送的至少一条查询条件;
对各所述查询条件进行解析,得到解析结果,并将所述解析结果发送至图数据库管理服务器;
接收所述图数据库管理服务器根据所述解析结果获得的元数据;
根据所述元数据生成与各所述查询条件对应的查询请求,将各所述查询请求分配至分布式处理服务器,所述查询请求用于指示所述分布式处理服务器调用预先配置的图数据库访问接口,对图数据库进行查询,得到查询结果。
一种图数据库的查询方法,所述方法包括:
接收查询请求服务器分配的至少一条查询请求,所述查询请求通过图数据库管理服务器根据解析结果获得的元数据生成,所述解析结果由查询请求服务器对终端发送的至少一条查询条件进行解析得到的;
调用预先配置的图数据库访问接口,分别根据分配的所述查询请求对图数据库进行查询;
接收所述图数据库根据所述查询请求返回数据得到的查询结果。
一种图数据库的查询系统,所述系统包括:查询请求服务器、图数据库管理服务器和至少一台分布式处理服务器;其中,
所述查询请求服务器分别与终端、所述图数据库管理服务器和所述分布式处理服务器连接,用于接收终端发送的至少一条查询条件,对各所述查询条件进行解析,得到解析结果后,将所述解析结果发送至图数据库管理服务器,接收所述图数据库管理服务器根据所述解析结果获得的元数据,根据所述元数据生成与各所述查询条件对应的查询请求,将各所述查询请求分配至分布式处理服务器;
所述图数据库管理服务器与图数据库连接,用于接收所述查询请求服务器发送的所述解析结果,根据所述解析结果获得对应的元数据,并将所述元数据发送至所述查询请求服务器;
所述分布式处理服务器与图数据库连接,用于接收查询服务器分配的查询请求,调用预先配置的图数据库访问接口,分别根据分配的所述查询请求对图数据库进行查询,得到查询结果。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收终端发送的至少一条查询条件;
对各所述查询条件进行解析,得到解析结果,并将所述解析结果发送至图数据库管理服务器;
接收所述图数据库管理服务器根据所述解析结果获得的元数据;
根据所述元数据生成与各所述查询条件对应的查询请求,将各所述查询请求分配至分布式处理服务器,所述查询请求用于指示所述分布式处理服务器调用预先配置的图数据库访问接口,对图数据库进行查询,得到查询结果。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收终端发送的至少一条查询条件;
对各所述查询条件进行解析,得到解析结果,并将所述解析结果发送至图数据库管理服务器;
接收所述图数据库管理服务器根据所述解析结果获得的元数据;
根据所述元数据生成与各所述查询条件对应的查询请求,将各所述查询请求分配至分布式处理服务器,所述查询请求用于指示所述分布式处理服务器调用预先配置的图数据库访问接口,对图数据库进行查询,得到查询结果。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收查询请求服务器分配的至少一条查询请求,所述查询请求通过图数据库管理服务器根据解析结果获得的元数据生成,所述解析结果由查询请求服务器对终端发送的至少一条查询条件进行解析得到;
调用预先配置的图数据库访问接口,分别根据分配的所述查询请求对图数据库进行查询;
接收所述图数据库根据所述查询请求返回数据得到的查询结果。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收查询请求服务器分配的至少一条查询请求,所述查询请求通过图数据库管理服务器根据解析结果获得的元数据生成,所述解析结果由查询请求服务器对终端发送的至少一条查询条件进行解析得到;
调用预先配置的图数据库访问接口,分别根据分配的所述查询请求对图数据库进行查询;
接收所述图数据库根据所述查询请求返回数据得到的查询结果。
上述图数据库的查询方法、系统、计算机设备和可读存储介质,当查询请求服务器接收终端发送的至少一条查询条件时,对各查询条件进行解析,将解析结果发送至图数据库管理服务器获得对应的元数据,进而由查询请求服务器根据元数据生成与各查询条件对应的查询请求,并分布式处理服务器通过调用预先配置的图数据库访问接口,基于查询请求直接对对图数据库进行查询,从而得到查询结果。利用分布式处理服务器对图数据库进行查询的方式,避免了通过图数据库管理服务器执行多次数据处理,节省了图数据库管理服务器响应查询条件的时间消耗以及内存开销,并且,通过分布式处理服务器调用预先配置的图数据库访问接口直接访问图数据库,极大地提高了对图数据库的查询效率。
附图说明
图1为一个实施例中图数据库的查询系统的结构示意图;
图2为一个实施例中一社交网络的部分关系图;
图3为一个实施例中图数据库中数据结构的示意图;
图4为一个实施例中参数配置的界面示意图;
图5为一个实施例中图数据库的查询方法的流程示意图;
图6为一个实施例中分布式处理服务器对图数据库进行查询的步骤的流程示意图;
图7为一个实施例中分布式处理服务器对图数据库进行查询的步骤的流程示意图;
图8为一个实施例中分布式处理服务器对图数据库进行查询的步骤的流程示意图;
图9为一个实施例中图数据库的查询方法的流程示意图;
图10为一个实施例中图数据库的查询方法的流程示意图;
图11为一个实施例中图数据库的查询方法的流程示意图;
图12为一个实施例中分布式处理服务器对图数据库进行查询的步骤的流程示意图;
图13为一个实施例中生成主键的步骤的流程示意图;
图14为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中图数据库的查询系统的结构示意图。参照图1,图数据库的查询方法应用于图数据库的查询系统110。该图数据库的查询系统包括:查询请求服务器1101、图数据库管理服务器1102和至少一台分布式处理服务器1103。其中,查询请求服务器1101通过网络分别与图数据库管理服务器1102、各分布式处理服务器1103以及终端120连接,图数据库管理服务器1102和各分布式处理服务器1103分别通过网络与图数据库130连接。在本申请中,图数据库是指图数据库中底层数据库。
查询请求服务器1101,用于接收终端发送的至少一条查询条件,对各查询条件进行解析,得到解析结果后,将解析结果发送至图数据库管理服务器1102,接收图数据库管理服务器1102根据解析结果获得的元数据,根据元数据生成与各查询条件对应的查询请求,将各查询请求分配至分布式处理服务器1103。
其中,查询条件是指由用户通过终端输入的需要进行查询的相关信息。查询条件包括但不限于源点和查询内容,源点是指需要进行查询的节点。具体地,查询内容可通过如标签名、方向名、服务名等可用于表示查询内容的相关信息进行表示,标签名为需要得到的查询结果与源点之间的关系,方向名为该关系的方向属性,服务名为需要执行的查询服务,比如好友查询服务、好友推荐服务等。
在图数据库中,各实体以及实体之间的关系通过节点、具有方向和标签的边可描述出一个关系图。其中,节点即表示实体,具有方向和标签的边表示各实体之间的关系。如图2所示,为一社交网络中部分关系图,其中,用户B和用户F为用户A的好友,用户A、用户E和用户F为用户B的好友。当大量用户节点和边被关联起来,这张关系图就被无限放大,构成了一张描述了整个社交网络的人际关系图。图形数据库就是用来存储这张海量数据关系图的最优工具。当需要查询用户A的好友时,用户A可作为一个源点,用户A的好友可作为需要查询内容。在本实施例中,标签名为好友,服务名为好友查询。
以S2Graph为例,S2Graph是一种开源的分布式图数据库,其对外通过S2Graph对应的图数据库管理服务器提供出访问数据的RESTful(Representational State Transfer,可重新表达的状态迁移)接口,基于该数据接口可实现Http(HyperText TransferProtocol,超文本传输协议)方式的数据访问;S2Graph底层为HBase(Hadoop Database,分布式数据库),HBase用于存储实际数据。
在一实施例的图数据库中,其所有的边通过如图3所示的数据结构进行存储。其中,该数据结构包括:主键部分、列标识符部分和属性值部分。其中,主键部分包括:源点标识的哈希值、源点标识、标签标识、方向标识和索引标识。源点标识的哈希值用作主键的前缀部分,可以避免数据库上有热点分区,将数据存储到不同的分区域中。图数据库支持对指定标签的查询,以及有向查询,所以主键中有标签标识字段和方向标识字段用来规定查询的标签和方向。例如,可以根据好友标签的边查询到用户A的好友,也可以根据好友标签查询到用户A是谁的好友。同时,图数据库中一个边的标签可以拥有多套索引,每个索引会有自己独立的主键,多套索引根据主键中索引标识字段来进行区分。列标识符部分包括:被索引的属性值和目的节点,图数据库可以利用被索引的属性值来过滤查询结果。属性值部分包括所有未被写入索引的属性值。在图数据库中,利用该数据结构来实现对邻居节点(也即目的节点)的查询和解析。针对不同的图数据库中,其存储的数据结构可能存在相应的差异,尽管数据结构不同,利用不同的数据结构均可实现对邻居节点的查询和解析。
在本实例中,可通过查询请求服务器1101接收一个或多个终端发送的批量的查询条件,并由查询请求服务器1101对各查询条件一次性地进行解析,得到解析结果。其中解析结果包括源点名、标签名、方向名以及服务名等可用于执行后续查询的相关参数。
在得到解析结果后,将解析结果发送至图数据库管理服务器1102,并接收图数据库管理服务器1102根据解析结果获得的元数据。其中,元数据是指图数据库中有效表示解析结果的标识,具体地,该标识可以为基于数值形式的ID标识。基于元数据即可生成与各查询条件对应的查询请求,并将各查询请求分配至分布式处理服务器1103,以便分布式处理服务器1103根据查询请求对图数据库执行查询。
图数据库管理服务器1102与图数据库连接,用于管理图数据库中数据的相关信息,比如元数据的映射关系等,该图数据库管理服务器还对外提供出访问数据的接口。在本实施例中,图数据库管理服务器1102用于接收查询请求服务器1101发送的解析结果后,根据解析结果获得对应的元数据,并将元数据发送至查询请求服务器1101,以便查询请求服务器1101根据元数据生成查询请求。
分布式处理服务器预先配置有图数据库访问接口,用于接收查询服务器分配的查询请求,调用预先配置的图数据库访问接口,分别根据分配的查询请求对图数据库进行查询,得到查询结果。
其中,预先配置的图数据库访问接口,是通过从图数据库管理服务器1102中的源码中,抽取对图数据库进行访问和解析的相关源码,并根据应用环境加以适应性修改后,形成的可以用来访问图数据库130并解析图数据库中数据的接口,在使用时,直接调用该接口即可实现对图数据库中底层数据的访问,而无需经由图数据库管理服务器1102间接对底层数据库进行访问。
在本实施例中,基于预先配置有图数据库访问接口,分布式处理服务器1103在接收查询服务器分配的查询请求时,调用预先配置的图数据库访问接口,分布式地根据查询请求对图数据库130进行查询以及数据的解析,从而得到查询结果。其中,查询结果是指用户所需要的、可以直观获知的文本信息。
具体地,分布式处理服务器1103可采用Spark分布式计算的框架来执行任务。因此,可将抽取出的图数据库访问接口放置Spark的执行代码中,使得在Spark运行时的任何时刻以及Spark运行时所在的任何机器上均可进行调用,通过Spark处理服务器与图数据库进行直连,直接访问底层数据库,避免了应通过图数据库管理服务器的间接查询而造成的时间开销。
在传统的图数据库查询应用中,需要利用图数据库管理服务器将查询条件转换为对图数据库的查询指令,并通过图数据库管理服务器访问图数据库,将图数据库的响应数据组合处理后,再返回至用户程序,特别当执行批量查询时,每一条查询均需要执行上述处理过程,图数据库管理服务器的时间开销大,导致单个图数据库管理服务器的QPS(QueryPer Second,每秒查询率)并不高,以单个S2Graph的图数据库管理服务器为例,其QPS为200左右。并且,该图数据库管理服务器的工作内存通常设为4GB左右,而这部分工作内存只能支持200的QPS,性价比低,因而通过部署很多个图数据库管理服务器来达到较高QPS的做法并不经济。
而本实施例中,通过查询请求服务器接收终端发送的至少一条查询条件,对各查询条件一次性地进行解析得到解析结果,将解析结果发送至图数据库管理服务器,由图数据库管理服务器将解析结果与元数据进行转换,再将元数据返回给查询请求服务器,即使在面临大批量的查询时,也仅需要与图数据库管理服务器进行一次交互,即可将批量的查询条件转换为图数据库中的元数据,并且,对于批量查询中的相同数据,也仅需执行一次元数据转换即可,避免了通过图数据库管理服务器执行多次数据处理,节省了图数据库管理服务器的工作内存开销和诸多数据处理阶段的时间开销。进一步地,通过分布式处理服务器调用预先配置的图数据库访问接口直接访问图数据库,以及分布式的处理方式,也极大地提高了对数据库的查询效率。
在一实施例中,终端120除了配置至少一条查询条件外,还可对其他组件参数和资源参数进行配置。如图4所示,为一实施例中,终端的可视化配置界面。其中,组件参数包括:数据的输入输出路径(比如数据的读取或存储路径)、查询条件以及分布式处理服务器作业时的jar数据包。资源参数包括:分布式处理服务器节点数、内存大小、CPU(CentralProcessing Unit,中央处理器)核数以及主节点(也即分布式处理服务器的管理节点)内存大小,基于资源参数即可实现对本次查询所需的分布式处理服务器的配置。
在一实例中,分布式处理服务器还用于调用预先配置的图数据库访问接口,根据分配的查询请求生成与查询请求匹配的主键,根据主键定位查询区域,并生成携带有查询区域信息的查询指令,将查询指令发送至图数据库中、与查询区域对应的区域服务器。其中,查询区域信息可以为主键。
在图数据库存储的数据表中,数据表被划分为多个区域,各区域分别由相同或者不同的区域服务器进行存放和管理。其中,数据表是由数据结构构成的数据表,存储了所有的数据。在数据表中,主键是可用于唯一表征一行的数据。因此,根据主键即可定位所需的查询的查询区域,具体地,该查询区域可以是数据表中某一行,通过生成携带有查询区域信息的查询指令,将查询指令发送至图数据库中、与查询区域对应的区域服务器,以通过该区域服务器读取所需要的数据,所需要的数据也即查询得到的数据。
仍然以图2所示的社交网络关系为例,当需要查询A的好友时,对该查询条件进行解析,并转换为对应的元数据,根据元数据生成查询请求,通过调用图数据库访问接口,根据查询请求生成的主键,利用所得到的主键定位查询区域,通过区域服务器读取该主键对应行的数据。
在一实施例中,分布式处理服务器还用于接收图数据库根据查询指令反馈的关联数据,通过图数据库访问接口,对关联数据进行解析,生成查询结果。
具体地,通过区域服务器读取到主键对应行的关联数据后,图数据库访问接口对关联数据进行解析,生成查询结果。在数据表中,数据是通过序列化的字符串的方式进行表示,因此需要对读取到的关联数据进行解析,以将其转换为文本数据。比如,当通过主键查询出对应行的关联数据,则需要对关联数据进行解析,最终得到以文本方式表示的邻居节点。
进一步地,如图1所示,该查询系统110还包括用于存储查询结果的存储服务器1104,分布式处理服务器还用于将查询结果发送至存储服务器进行保存。通过将查询到的数据保存至存储服务器中,当客户端需要进行查询时,则基于该存储服务器进行查询即可。具体地,存储服务器可以但不限于HDFS(Hadoop Distributed File System,分布式文件系统)。
上述图数据库的查询系统,利用分布式处理服务器对图数据库进行查询的方式,避免了通过图数据库管理服务器执行多次数据处理,节省了图数据库管理服务器响应查询条件的时间消耗以及内存开销,并且,通过分布式处理服务器调用预先配置的图数据库访问接口直接访问图数据库,极大地提高了对数据库的查询效率。
在一实施例中,如图5所示,提供一种图数据库的查询方法,该方法应用于如图1所示的图数据库的查询系统中,包括如下步骤:
S502,查询请求服务器接收终端发送的至少一条查询条件,并对各查询条件进行解析,得到解析结果后将解析结果发送至图数据库管理服务器。
其中,查询条件是指由用户通过终端输入的需要进行查询的相关信息。查询条件包括但不限于源点和查询内容,源点是指需要进行查询的节点。具体地,查询内容可通过如标签名、方向名和服务名等可用于表示查询内容的相关参数进行表示,标签名为需要得到的查询结果与源点之间的关系,方向名为标识该关系的方向属性,服务名为需要执行的查询服务。对应地,解析结果包括源点名、标签名、方向名以及服务名等可用于执行后续查询的相关参数。以社交网络中好友查询为例,当需要查询用户A的好友时,用户A可作为一个源点,用户A的好友可作为需要查询内容,通过对查询内容进行解析,即可获得源点名A,标签名为好友,方向为A的好友,服务名为好友查询。
在本实例中,可通过查询请求服务器接收一个或多个终端发送的批量的查询条件,并由查询请求服务器对各查询条件一次性地进行解析,得到解析结果,进而将解析结果发送至图数据库管理服务器,以便通过图数据库管理服务器将解析结果转换与图数据库中对应的元数据。
S504,图数据库管理服务器根据解析结果获得对应的元数据,并将元数据发送至查询请求服务器。
其中,元数据是指图数据库中有效表示解析结果的标识,具体地,该标识可以为基于数值形式的ID标识。
图数据库管理服务器中存储有元数据的映射关系,根据该映射关系获得与解析结果对应的元数据,并将该元数据返回至查询请求服务器。
S506,查询请求服务器接收元数据,根据元数据生成与各查询条件对应的查询请求后,将各查询请求分配至分布式处理服务器。
查询请求服务器接收元数据基于元数据即可生成与各查询条件对应的查询请求,并基于各分布式处理服务器的当前负载情况,将各查询请求分配至相同或者不同的分布式处理服务器,以便分布式处理服务器采用分布式地方式对图数据库执行查询。
S508,分布式处理服务器调用预先配置的图数据库访问接口,根据分配的查询请求对图数据库进行查询,得到查询结果。
其中,预先配置的图数据库访问接口,是通过从图数据库管理服务器中的源码中,抽取对图数据库进行访问和解析的相关源码,并根据应用环境加以适应性修改后,形成的可以用来访问图数据库并解析图数据库中数据的接口,在使用时,直接调用该接口即可实现对图数据库中底层数据的访问,而无需经由图数据库管理服务器间接对底层数据库进行访问。
在本实施例中,基于预先配置的图数据库访问接口,分布式处理服务器在接收查询服务器分配的查询请求时,调用预先配置的图数据库访问接口,分布式地根据查询请求对图数据库进行查询以及数据的解析,从而得到查询结果。其中,查询结果是指用户所需要的、可以直观获知的文本信息。
具体地,分布式处理服务器可采用Spark分布式计算的框架来执行任务。因此,可将抽取出的图数据库访问接口放置Spark的执行代码中,使得在Spark运行时的任何时刻以及Spark运行时所在的任何机器上均可进行调用,通过Spark处理服务器与图数据库进行直连,直接访问底层数据库,避免了应通过图数据库管理服务器的间接查询而造成的时间开销。
通过查询请求服务器接收终端发送的至少一条查询条件,对各查询条件一次性地进行解析得到解析结果,将解析结果发送至图数据库管理服务器,由图数据库管理服务器将解析结果与元数据进行转换,再将元数据返回给查询请求服务器,即使在面临大批量的查询时,也仅需要与图数据库管理服务器进行一次交互,即可将批量的查询条件转换为图数据库中的元数据。并且,对于批量查询中的相同数据,也仅需执行一次元数据转换即可,避免了通过图数据库管理服务器执行多次数据处理,节省了图数据库管理服务器的工作内存开销和诸多数据处理阶段的时间开销。进一步地,通过分布式处理服务器调用预先配置的图数据库访问接口直接访问图数据库,以及分布式的处理方式,也极大地提高了对数据库的查询效率。
在一实施例中,如图6所示,处理服务器调用预先配置的图数据库访问接口,根据分配的查询请求对图数据库进行查询,得到查询结果的步骤,进一步包括如下具体步骤:
S602,分布式处理服务器调用预先配置的图数据库访问接口,根据分配的查询请求生成对图数据库的查询指令,并发送至图数据库。
其中,查询指令是指可以直接对图数据库进行访问查询、无需进一步转换的指令。
在本实施例中,图数据库访问接口能够将查询请求转换成对图数据库的查询指令,因此,由分布式处理服务器自行调用预先配置的图数据库访问接口,对分配得到的查询请求进行转换,将转换得到的查询指令发送至图数据库以进行数据查询。
S604,图数据库根据查询指令,将与查询指令匹配的关联数据返回至分布式处理服务器。
图数据库基于该查询指令,从所存储的数据中读取与查询指令匹配的关联数据,并将该关联数据返回给对应的分布式处理服务器。
S606,分布式处理服务器通过图数据库访问接口,对关联数据进行解析,生成查询结果。
在图数据库中,数据是通过序列化的字符串的方式进行表示,因此需要对读取到的关联数据进行解析,以将其转换为文本数据。比如,当通过主键查询出对应行的列标识符部分,则需要对列标识符部分进行解析,最终得到以文本方式表示的邻居节点。
本实施例中,利用图数据库访问接口的数据解析功能,将得到的关联数据解析为对应的文本数据,以便于查询者直观地获知查询到的信息。
在一实施例中,如图7所示分布式处理服务器调用预先配置的图数据库访问接口,根据分配的查询请求生成对图数据库的查询指令,并发送至图数据库的步骤,进一步包括如下步骤:
S702,分布式处理服务器调用预先配置的图数据库访问接口,根据分配的查询请求生成与查询请求匹配的主键。
在数据表中,主键是可用于唯一表征一行的数据。因此,根据主键即可定位所需的查询的查询区域。具体地,分布式处理服务器调用预先配置的图数据库访问接口,基于查询请求中的元数据,生成对应的主键。
S704,根据主键定位查询区域,并生成携带有查询区域信息的查询指令。
在图数据库存储的数据表中,数据表被划分为多个区域。根据所生成主键即可定位所需的查询的查询区域,具体地,该查询区域可以是数据表中某一行,通过生成携带有查询区域信息的查询指令,以便基于查询指令对图数据库进行数据读取。其中,查询区域信息可以为主键。
S706,将查询指令发送至图数据库中、与查询区域对应的区域服务器。
在图数据库中,划分的各区域分别由相同或者不同区域服务器进行存放和管理。本实例中,API基于所定位的查询区域,即可获知该查询区域对应的区域服务器,将查询指令发送至图数据库中、与查询区域对应的区域服务器,以通过该区域服务器读取所需要的数据,所需要的数据也即查询得到的数据。
比如,当需要查询A的好友时,对该查询条件进行解析,并转换为对应的元数据,根据元数据生成查询请求,通过调用图数据库访问接口,根据查询请求生成的主键,利用所得到的主键定位查询区域,通过对应的区域服务器读取该主键对应行的数据。
进一步地,图数据库根据查询指令,将与查询指令匹配的关联数据返回至分布式处理服务器,包括:区域服务器根据查询指令,读取查询区域的关联数据,将关联数据返回至分布式处理服务器。
在本实施例中,区域服务器接收到查询指令后,获取底层存储的、与查询区域匹配的关联数据,将关联数据返回至分布式处理服务器。
在一实施例中,解析结果包括源点名、服务名、方向名和标签名,图数据库管理服务器根据解析结果获得对应的元数据,并将元数据发送至查询请求服务器,包括:图数据库管理服务器根据预先配置的映射关系,获得与源点名对应的源点标识、与服务名对应的服务标识、与方向名对应的方向标识以及与标签名对应的标签标识,将源点标识、服务标识、方向标识和标签标识组成的元数据发送至查询请求服务器。
其中,源点是指需要进行查询的节点,标签名为需要得到的查询结果与源点之间的关系,方向名为该关系的方向属性,服务名为需要执行的查询服务;元数据中的源点标识、服务标识、方向标识和标签标识,是指图数据库中有效表示源点名、服务名、方向名和标签名的标识。具体地,标识可以为基于数值形式的ID标识。
图数据库管理服务器预先配置有与元数据相关的映射关系,比如源点名与源点标识的映射关系、服务名与服务标识的映射关系、方向名与方向标识的映射关系以及标签名与标签标识的映射关系,基于该映射关系得到对应的源点标识、服务标识、方向标识以及标签标识,将源点标识、服务标识、方向标识和标签标识组成的元数据发送至查询请求服务器。
在一实施例中,解析结果还可以包括索引名等查询条件包括的其他查询参数,图数据库管理服务器根据预置的映射关系,得到与索引名和/或其他查询参数对应的元数据,并返回至查询请求服务器。可以理解,查询请求服务器生成的查询请求中,也包括与索引名和/或其他查询参数对应的元数据。
进一步地,查询请求服务器接收元数据,根据元数据生成与各查询条件对应的查询请求后,将各查询请求分配至分布式处理服务器的步骤,包括:查询请求服务器接收元数据,根据源点标识、服务标识、方向标识和标签标识生成对应的查询请求,将各查询请求分配至分布式处理服务器。
查询请求服务器根据元数据生成携带有该元数据的查询请求,查询请求与查询条件对应。在本实施例中,查询请求携带有源点标识、服务标识、方向标识和标签标识,查询请求服务器将各查询请求分配至相同或者不同分布式处理服务器,由分布式处理服务器根据分配得到的查询请求对图数据库进行查询。
在一实施例中,如图8所示,分布式处理服务器调用预先配置的图数据库访问接口,根据分配的查询请求对图数据库进行查询,得到查询结果的步骤,包括以下步骤:
S802,分布式处理服务器调用预先配置的图数据库访问接口,根据服务标识确定执行的查询服务。
服务标识用于唯一表征对应的查询服务,不同的服务具有不同的服务标识。比如好友查询服务、好友推荐服务等。根据不同服务标识对图数据库进行不同的目的的查询服务,以得到所需的查询结果。在本实施例中,根据服务标识确定执行的查询服务也是通过调用图数据库访问接口实现。
S804,基于确定的查询服务,根据分配的查询请求中的源点标识、方向标识和标签标识生成哈希值。
可以理解,当查询请求中还包索引标识和/或其他主键组成参数时,则基于源点标识、方向标识、标签标识、索引标识和/或其他主键组成参数生成哈希值。
S806,基于源点标识、方向标识、标签标识和哈希值构建主键,并根据主键对图数据库进行查询,得到查询结果。
在确定查询服务后,通过调用图数据库访问接口对查询请求中的源点标识、方向标识和标签标识进行处理,生成哈希值。其中,源点标识、方向标识、标签标识和哈希值均为主键的组成部分,因此,根据源点标识、方向标识、标签标识和哈希值即可构建主键。而每一主键都唯一对应数据表中的其中一行,根据主键即可快速定位查询区域,进而读取与主键匹配的行中对应的关联数据。进一步通过调用图数据库访问接口对关联数据进行解析,得到查询结果,比如列标识符部分中的邻居节点。
具体地,由分布式处理服务器调用图数据库访问接口,基于源点标识、方向标识、标签标识和哈希值构建主键,根据主键定位查询区域,并生成携带有查询区域信息的查询指令,将查询指令发送至图数据库中、与查询区域对应的区域服务器;区域服务器根据查询指令,读取查询区域的关联数据,将关联数据返回至分布式处理服务器;分布式处理服务器调用图数据库访问接口对关联数据进行解析,得到查询结果。
进一步地,当分布式处理服务器对关联数据进行解析得到查询结果后,将查询结果发送至存储服务器进行保存。通过将查询到的数据保存至存储服务器中,当客户端需要进行查询时,则基于该存储服务器进行查询即可。具体地,存储服务器可以但不限于HDFS。
在一实施例中,如图9所示,提供一种图数据库的查询方法,包括如下步骤:
S902,查询请求服务器接收终端发送的至少一条查询条件,并对各查询条件进行解析,得到解析结果后将解析结果发送至图数据库管理服务器,其中,解析结果包括源点名、服务名、方向名和标签名。
在本实例中,可通过查询请求服务器接收一个或多个终端发送的批量的查询条件,并由查询请求服务器对各查询条件一次性地进行解析,得到解析结果,并将解析结果发送至图数据库管理服务器,以便通过图数据库管理服务器将解析结果转换与图数据库中对应的元数据。
S904,图数据库管理服务器根据预先配置的映射关系,获得与源点名对应的源点标识、与服务名对应的服务标识、与方向名对应方向标识以及与标签名对应的标签标识,将源点标识、服务标识、方向标识和标签标识组成的元数据发送至查询请求服务器。
图数据库管理服务器中存储有元数据的映射关系,根据该映射关系获得与解析结果对应的元数据,并将该元数据返回至查询请求服务器。
S906,查询请求服务器接收元数据,根据源点标识、服务标识、方向标识和标签标识生成对应的查询请求,将各查询请求分配至分布式处理服务器。
查询请求服务器接收元数据基于元数据即可生成与各查询条件对应的查询请求,并基于各分布式处理服务器的当前负载情况,将各查询请求分配至相同或者不同的分布式处理服务器,以便分布式处理服务器采用分布式地方式对图数据库执行查询。
S908,分布式处理服务器调用预先配置的图数据库访问接口,根据服务标识确定执行的查询服务,基于确定的查询服务,根据分配的查询请求中的源点标识、方向标识和标签标识生成哈希值,基于源点标识、方向标识、标签标识和哈希值构建主键,根据主键定位查询区域,并生成携带有查询区域信息的查询指令,将查询指令发送至图数据库中、与查询区域对应的区域服务器。
在图数据库中,划分的各区域分别由相同或者不同区域服务器进行存放和管理。本实例中,API根据服务标识确定执行的查询服务,对查询请求中的源点标识、方向标识和标签标识进行处理,生成哈希值。其中,源点标识、方向标识、标签标识和哈希值均为主键的组成部分,因此,根据源点标识、方向标识、标签标识和哈希值即可构建主键。而每一主键都唯一对应数据表中的其中一行,根据主键即可快速定位查询区域,并生成对应的查询指令,将查询指令发送至图数据库中、与查询区域对应的区域服务器。
S910,区域服务器根据查询指令,读取查询区域的关联数据,将关联数据返回至分布式处理服务器。
在本实施例中,区域服务器接收到查询指令后,获取底层存储的、与查查询区域匹配的关联数据,将关联数据返回至分布式处理服务器。
S912,分布式处理服务器通过图数据库访问接口,对关联数据进行解析,生成查询结果,将查询结果发送至存储服务器进行保存。
分布式处理服务器在接收到区域服务器反馈的关联数据时,调用图数据库访问接口对关联数据进行解析,得到查询结果,并将查询结果发送至存储服务器进行保存。以便在后续应用中,比如客户端进行查询时,则直接从服务器中读取所需的信息进行显示等。
以查询社交网络中N个用户的好友为例,首先通过终端对执行本次的查询的组件参数和资源参数进行配置。其中,组件参数包括查询社交网络中N个用户的好友的查询条件,具体包括好友查询的服务名、好友标签名、方向名以及N个用户的源点名;资源参数包括分布式处理服务器的个数以及内存大小。由终端将配置的参数发送至查询请求服务器。
查询请求服务器接收到终端发送的查询条件后,对其进行解析,得到好友查询的服务名、好友标签名、方向名以及N个用户的源点名,并将该解析结果发送至图数据库管理服务器。图数据库管理服务器基于预先配置的元数据映射关系,得到分别与好友查询的服务名、好友标签名、方向名以及N个用户的源点名对应的好友查询的服务标识、好友标签标识、方向标识以及N个用户的源点标识,并将好友查询的服务标识、好友标签标识、方向标识以及N个用户的源点标识返回给查询请求服务器。查询请求服务器根据服务标识、好友标签标识、方向标识以及N个用户的源点标识生成对应的N个查询请求,并分配给各分布式处理服务器。
各分布式处理服务器分别调用其图数据库访问接口确定本次查询为好友查询服务,并根据查询请求中的好友标签标识、方向标识和源点标识生成哈希值,进一步根据好友标签标识、方向标识、源点标识和哈希值构建主键,基于主键确定管理主键对应的数据的区域服务器,并发送查询指令至对应的区域服务器,读取主键所在行的关联数据。
分布式处理服务器在获得区域服务器反馈的关联数据后,调用其图数据库访问接口对该关联数据进行解析,基于各分布式处理服务器解析后得到查询结果,即完成了对N个用户的好友查询。
进一步将N个用户的好友发送至存储服务器进行存储,当客户端需要查询自身在社交网络中的好友时,存储服务器对应的访问服务器在接收到该查询消息时,直接从存储服务器中读取该客户对应的好友数据,并反馈至客户端。
在对图数据库进行查询时,特别是大批量查询时,利用分布式处理服务器对图数据库进行查询的方式,避免了通过图数据库管理服务器执行多次数据处理,节省了图数据库管理服务器响应查询条件的时间消耗以及内存开销,并且,通过分布式处理服务器调用预先配置的图数据库访问接口直接访问图数据库,极大地提高了对数据库的查询效率。
在一实施例中,如图10所示,提供一种图数据库的查询方法,该方法应用于图数据库的查询系统中的查询请求服务器中,包括以下步骤:
S1002,接收终端发送的至少一条查询条件。
其中,查询条件是指由用户通过终端输入的需要进行查询的相关信息。查询条件包括但不限于源点和查询内容,源点是指需要进行查询的节点。具体地,查询内容可通过如标签名、方向名、服务名等可用于表示查询内容的相关信息进行表示,标签名为需要得到的查询结果与源点之间的关系,方向名为该关系的方向属性,服务名为需要执行的查询服务。
S1004,对各查询条件进行解析,得到解析结果,并将解析结果发送至图数据库管理服务器。
在本实例中,可通过查询请求服务器接收一个或多个终端发送的批量的查询条件,并由查询请求服务器对各查询条件一次性地进行解析,得到解析结果。其中解析结果包括源点名、标签名、方向名以及服务名等可用于执行后续查询的相关参数。
S1006,接收图数据库管理服务器根据解析结果获得的元数据。
在得到解析结果后,将解析结果发送至图数据库管理服务器,由图数据库管理服务器将解析结果转换为对应的元数据并返回给查询请求服务器。其中,元数据是指图数据库中有效表示解析结果的标识,具体地,该标识可以为基于数值形式的ID标识。
S1008,根据元数据生成与各查询条件对应的查询请求,将各查询请求分配至分布式处理服务器,查询请求用于指示分布式处理服务器调用预先配置的图数据库访问接口,对图数据库进行查询,得到查询结果。
基于元数据生成与各查询条件对应的查询请求,并将各查询请求分配至分布式处理服务器,以便分布式处理服务器根据查询请求对图数据库执行查询。
通过查询请求服务器接收终端发送的至少一条查询条件,对各查询条件一次性地进行解析得到解析结果,将解析结果发送至图数据库管理服务器,由图数据库管理服务器将解析结果与元数据进行转换,再将元数据返回给查询请求服务器,即使在面临大批量的查询时,也仅需要与图数据库管理服务器进行一次通信,即可将批量的查询条件转换为图数据库中的元数据,并且,对于批量查询中的相同数据,也仅需执行一次元数据转换即可,避免了通过图数据库管理服务器执行多次数据处理,节省了图数据库管理服务器的工作内存开销和诸多数据处理阶段的时间开销。
在一实施例中,如图11所示,提供图数据库的查询方法,该方法应用于图数据库的查询系统中的分布式处理服务器中,具体地,由分布式处理服务器调用预先配置的图数据库访问接口实现。该方法包括以下步骤:
S1102,接收查询请求服务器分配的至少一条查询请求,查询请求通过图数据库管理服务器根据解析结果获得的元数据生成,解析结果由查询请求服务器对终端发送的至少一条查询条件进行解析得到。
在本实施例中,当需要进行图数据库查询时,查询请求服务器会将查询条件转换为包括元数据的查询请求,并将各查询请求分配至相同或者不同的分布式服务器中,分布式服务器接收到查询请求时,仅需对接收到查询请求执行作业。
S1104,调用预先配置的图数据库访问接口,分别根据分配的查询请求对图数据库进行查询。
其中,预先配置的图数据库访问接口,是通过从图数据库管理服务器中的源码中,抽取对图数据库进行访问和解析的相关源码,并根据应用环境加以适应性修改后,形成的可以用来访问图数据库并解析图数据库中数据的接口,在使用时,直接调用该接口即可实现对图数据库中底层数据的访问,而无需经由图数据库管理服务器间接对底层数据库进行访问。
S1106,接收图数据库根据查询请求返回数据得到的查询结果。
在接收到图数据库根据查询请求返回数据时,继续调用图数据库访问接口对该数据进行解析,得到所需的查询结果。
通过分布式处理服务器调用预先配置的图数据库访问接口直接访问图数据库,以及分布式的处理方式,极大地提高了对数据库的查询效率。
在一实施例中,如图12所示,调用预先配置的图数据库访问接口,分别根据分配的查询请求对图数据库进行查询的步骤,进一步包括以下步骤:
S1202,调用预先配置的图数据库访问接口,分别根据分配的查询请求生成与查询请求匹配的主键。
其中,主键是指可用于唯一表示数据表中的某一行的参数。在本实施例中,通过调用图数据库访问接口,基于查询请求中的元数据生成与查询请求匹配的主键。
S1204,根据主键定位查询区域,并生成携带有查询区域信息的查询指令。
由于主键可用于唯一表示数据表中的某一行,因此,基于主键即可定位查询区域,进而生成携带有查询区域信息的查询指令,以对图数据库进行查询,获得与主键匹配的关联数据。
S1206,将查询指令发送至图数据库中、与查询区域对应的区域服务器。
在图数据库中,划分的各区域分别由相同或者不同区域服务器进行存放和管理。本实例中,由API将查询指令发送至图数据库中、与查询区域对应的区域服务器,执行对图数据库中数据的读取。
在一实施例中,查询请求包括:服务标识、源点标识、方向标识和标签标识。如图13所示,调用预先配置的图数据库访问接口,分别根据分配的查询请求生成与查询请求匹配的主键的步骤,包括:
S1302,调用预先配置的图数据库访问接口,根据服务标识确定执行的查询服务。
服务标识用于唯一表征对应的查询服务,不同的服务具有不同的服务标识。比如好友查询服务、好友推荐服务等。根据不同服务标识对图数据库进行不同的目的的查询服务,以得到所需的查询结果。在本实施例中,根据服务标识确定执行的查询服务也是通过调用图数据库访问接口实现。
S1304,基于确定的查询服务,根据分配的查询请求中的源点标识、方向标识和标签标识生成哈希值。
可以理解,当查询请求中还包索引标识和/或其他主键组成参数时,则基于源点标识、方向标识、标签标识、索引标识和/或其他主键组成参数生成哈希值。
S1306,基于源点标识、方向标识、标签标识和哈希值构建主键。
在确定查询服务后,通过调用图数据库访问接口对查询请求中的源点标识、方向标识和标签标识进行处理,生成哈希值。其中,源点标识、方向标识、标签标识和哈希值均为主键的组成部分,因此,根据源点标识、方向标识、标签标识和哈希值即可构建主键。而每一主键都唯一对应数据表中的其中一行,根据主键即可快速定位查询区域,进而读取与主键匹配的行中对应的关联数据,比如列标识符部分。
利用分布式处理服务器对图数据库进行查询的方式,避免了通过图数据库管理服务器执行多次数据处理,节省了图数据库管理服务器响应查询条件的时间消耗以及内存开销。并且,通过分布式处理服务器调用预先配置的图数据库访问接口直接访问图数据库,极大地提高了对数据库的查询效率。
图5-13为不同实施例中图数据库的查询方法的流程示意图。应该理解的是,虽然图5-13的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图X中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图14示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的查询请求服务器1101或分布式处理服务器1103。如图14所示,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序。当计算机设备为查询请求服务器时,该计算机程序被处理器执行时,可使得处理器实现在查询请求服务器中执行的图数据库的查询方法,该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行在查询请求服务器中执行的图数据库的查询方法;当计算机设备为分布式处理服务器时,该计算机程序被处理器执行时,可使得处理器实现在分布式处理服务器中执行的图数据库的查询方法,该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行在分布式处理服务器中执行的图数据库的查询方法
本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算节设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收终端发送的至少一条查询条件;
对各查询条件进行解析,得到解析结果,并将解析结果发送至图数据库管理服务器;
接收图数据库管理服务器根据解析结果获得的元数据;
根据元数据生成与各查询条件对应的查询请求,将各查询请求分配至分布式处理服务器,查询请求用于指示分布式处理服务器调用预先配置的图数据库访问接口,对图数据库进行查询,得到查询结果。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收终端发送的至少一条查询条件;
对各查询条件进行解析,得到解析结果,并将解析结果发送至图数据库管理服务器;
接收图数据库管理服务器根据解析结果获得的元数据;
根据元数据生成与各查询条件对应的查询请求,将各查询请求分配至分布式处理服务器,查询请求用于指示分布式处理服务器调用预先配置的图数据库访问接口,对图数据库进行查询,得到查询结果。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收查询请求服务器分配的至少一条查询请求,查询请求由查询请求服务器对终端发送的至少一条查询条件进行解析得到的解析结果,通过图数据库管理服务器根据解析结果获得的元数据生成;
调用预先配置的图数据库访问接口,分别根据分配的查询请求对图数据库进行查询;
接收图数据库根据查询请求返回数据得到的查询结果。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
调用预先配置的图数据库访问接口,分别根据分配的查询请求生成与查询请求匹配的主键;
根据主键定位查询区域,并生成携带有查询区域信息的查询指令;
将查询指令发送至图数据库中、与查询区域对应的区域服务器。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收查询请求服务器分配的至少一条查询请求,查询请求通过图数据库管理服务器根据解析结果获得的元数据生成,所述解析结果由查询请求服务器对终端发送的至少一条查询条件进行解析得到;
调用预先配置的图数据库访问接口,分别根据分配的查询请求对图数据库进行查询;
接收图数据库根据查询请求返回数据得到的查询结果。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
调用预先配置的图数据库访问接口,分别根据分配的查询请求生成与查询请求匹配的主键;
根据主键定位查询区域,并生成携带有查询区域信息的查询指令;
将查询指令发送至图数据库中、与查询区域对应的区域服务器。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (21)
1.一种图数据库的查询方法,其特征在于,所述方法包括:
查询请求服务器接收终端发送的至少一条查询条件,并对各所述查询条件进行解析,得到解析结果后将所述解析结果发送至图数据库管理服务器;所述解析结果包括用于执行后续查询的相关参数;
所述图数据库管理服务器根据所述解析结果获得对应的元数据,并将所述元数据发送至所述查询请求服务器;所述元数据是表示所述解析结果的标识,包括所述相关参数的标识;
所述查询请求服务器接收所述元数据,根据所述元数据生成与各所述查询条件对应的查询请求后,将各所述查询请求分配至分布式处理服务器;
所述分布式处理服务器调用预先配置的图数据库访问接口,根据分配的所述查询请求对图数据库进行查询,得到查询结果。
2.根据权利要求1所述的方法,其特征在于,所述分布式处理服务器调用预先配置的图数据库访问接口,根据分配的所述查询请求对图数据库进行查询,得到查询结果,包括:
所述分布式处理服务器调用预先配置的图数据库访问接口,根据分配的所述查询请求生成对图数据库的查询指令,并发送至图数据库;
所述图数据库根据所述查询指令,将与所述查询指令匹配的关联数据返回至所述分布式处理服务器;
所述分布式处理服务器通过所述图数据库访问接口,对所述关联数据进行解析,生成查询结果。
3.根据权利要求2所述的方法,其特征在于,所述分布式处理服务器调用预先配置的图数据库访问接口,根据分配的所述查询请求生成对图数据库的查询指令,并发送至图数据库,包括:
所述分布式处理服务器调用预先配置的图数据库访问接口,根据分配的所述查询请求生成与所述查询请求匹配的主键;
根据所述主键定位查询区域,并生成携带有所述查询区域的查询指令;
将所述查询指令发送至图数据库中、与所述查询区域对应的区域服务器。
4.根据权利要求3所述的方法,其特征在于,所述图数据库根据所述查询指令,将与所述查询指令匹配的关联数据返回至所述分布式处理服务器,包括:
所述区域服务器根据所述查询指令,读取所述查询区域的关联数据,将所述关联数据返回至所述分布式处理服务器。
5.根据权利要求1所述的方法,其特征在于,所述解析结果包括源点名、服务名、方向名和标签名,所述图数据库管理服务器根据所述解析结果获得对应的元数据,并将所述元数据发送至所述查询请求服务器,包括:
所述图数据库管理服务器根据预先配置的映射关系,获得与所述源点名对应的源点标识、与所述服务名对应的服务标识、与所述方向名对应方向标识以及与所述标签名对应的标签标识,将所述源点标识、所述服务标识、所述方向标识和所述标签标识组成的元数据发送至所述查询请求服务器。
6.根据权利要求5所述的方法,其特征在于,所述查询请求服务器接收所述元数据,根据所述元数据生成与各所述查询条件对应的查询请求后,将各所述查询请求分配至分布式处理服务器,包括:
所述查询请求服务器接收所述元数据,根据所述源点标识、服务标识、方向标识和标签标识生成对应的查询请求,将各所述查询请求分配至分布式处理服务器。
7.根据权利要求6所述的方法,其特征在于,所述分布式处理服务器调用预先配置的图数据库访问接口,根据分配的所述查询请求对图数据库进行查询,得到查询结果,包括:
所述分布式处理服务器调用预先配置的图数据库访问接口,根据所述服务标识确定执行的查询服务;
基于确定的所述查询服务,根据分配的所述查询请求中的所述源点标识、方向标识和标签标识生成哈希值;
基于所述源点标识、所述方向标识、所述标签标识和所述哈希值构建主键,并根据所述主键对图数据库进行查询,得到查询结果。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:
所述分布式处理服务器将所述查询结果发送至存储服务器进行保存。
9.一种图数据库的查询方法,其特征在于,所述方法包括:
接收终端发送的至少一条查询条件;
对各所述查询条件进行解析,得到解析结果,并将所述解析结果发送至图数据库管理服务器;所述解析结果包括用于执行后续查询的相关参数;
接收所述图数据库管理服务器根据所述解析结果获得的元数据;所述元数据是表示所述解析结果的标识,包括所述相关参数的标识:
根据所述元数据生成与各所述查询条件对应的查询请求,将各所述查询请求分配至分布式处理服务器,所述查询请求用于指示所述分布式处理服务器调用预先配置的图数据库访问接口,对图数据库进行查询,得到查询结果。
10.一种图数据库的查询方法,其特征在于,所述方法包括:
接收查询请求服务器分配的至少一条查询请求,所述查询请求通过图数据库管理服务器根据解析结果获得的元数据生成,所述解析结果由查询请求服务器对终端发送的至少一条查询条件进行解析得到;所述解析结果包括用于执行后续查询的相关参数;所述元数据是表示所述解析结果的标识,包括所述相关参数的标识:
调用预先配置的图数据库访问接口,分别根据分配的所述查询请求对图数据库进行查询;
接收所述图数据库根据所述查询请求返回数据得到的查询结果。
11.根据权利要求10所述的方法,其特征在于,所述调用预先配置的图数据库访问接口,分别根据分配的所述查询请求对图数据库进行查询,包括:
调用预先配置的图数据库访问接口,分别根据分配的所述查询请求生成与所述查询请求匹配的主键;
根据所述主键定位查询区域,并生成携带有所述查询区域的查询指令;
将所述查询指令发送至图数据库中、与所述查询区域对应的区域服务器。
12.一种图数据库的查询系统,其特征在于,所述系统包括:查询请求服务器、图数据库管理服务器和至少一台分布式处理服务器;其中,
所述查询请求服务器分别与终端、所述图数据库管理服务器和所述分布式处理服务器连接,用于接收终端发送的至少一条查询条件,对各所述查询条件进行解析,得到解析结果后,将所述解析结果发送至图数据库管理服务器,接收所述图数据库管理服务器根据所述解析结果获得的元数据,根据所述元数据生成与各所述查询条件对应的查询请求,将各所述查询请求分配至分布式处理服务器;所述解析结果包括用于执行后续查询的相关参数;所述元数据是表示所述解析结果的标识,包括所述相关参数的标识:
所述图数据库管理服务器与图数据库连接,用于接收所述查询请求服务器发送的所述解析结果,根据所述解析结果获得对应的元数据,并将所述元数据发送至所述查询请求服务器;
所述分布式处理服务器与图数据库连接,用于接收查询服务器分配的查询请求,调用预先配置的图数据库访问接口,分别根据分配的所述查询请求对图数据库进行查询,得到查询结果。
13.根据权利要求12所述的系统,其特征在于,所述分布式处理服务器还用于调用预先配置的图数据库访问接口,根据分配的所述查询请求生成与所述查询请求匹配的主键,根据所述主键定位查询区域,并生成携带有所述查询区域的查询指令,将所述查询指令发送至图数据库中、与所述查询区域对应的区域服务器。
14.根据权利要求13所述的系统,其特征在于,所述区域服务器用于根据所述查询指令,读取所述查询区域的关联数据,将所述关联数据返回至所述分布式处理服务器。
15.根据权利要求12所述的系统,其特征在于,所述分布式处理服务器还用于调用预先配置的图数据库访问接口,根据分配的所述查询请求生成对图数据库的查询指令,并发送至图数据库;所述图数据库用于根据所述查询指令,将与所述查询指令匹配的关联数据返回至所述分布式处理服务器;所述分布式处理服务器还用于通过所述图数据库访问接口,对所述关联数据进行解析,生成查询结果。
16.根据权利要求12所述的系统,其特征在于,所述解析结果包括源点名、服务名、方向名和标签名,所述图数据库管理服务器还用于根据预先配置的映射关系,获得与所述源点名对应的源点标识、与所述服务名对应的服务标识、与所述方向名对应方向标识以及与所述标签名对应的标签标识,将所述源点标识、所述服务标识、所述方向标识和所述标签标识组成的元数据发送至所述查询请求服务器。
17.根据权利要求16所述的系统,其特征在于,所述查询请求服务器还用于接收所述元数据,根据所述源点标识、服务标识、方向标识和标签标识生成对应的查询请求,将各所述查询请求分配至分布式处理服务器。
18.根据权利要求17所述的系统,其特征在于,所述分布式处理服务器还用于调用预先配置的图数据库访问接口,根据所述服务标识确定执行的查询服务;基于确定的所述查询服务,根据分配的所述查询请求中的所述源点标识、方向标识和标签标识生成哈希值;基于所述源点标识、所述方向标识、所述标签标识和所述哈希值构建主键,并根据所述主键对图数据库进行查询,得到查询结果。
19.根据权利要求12至18任意一项所述的系统,其特征在于,所述分布式处理服务器还用于将所述查询结果发送至存储服务器进行保存。
20.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求9至11中任一项所述方法的步骤。
21.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求9至11中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810360897.7A CN110309334B (zh) | 2018-04-20 | 2018-04-20 | 图数据库的查询方法、系统、计算机设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810360897.7A CN110309334B (zh) | 2018-04-20 | 2018-04-20 | 图数据库的查询方法、系统、计算机设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110309334A CN110309334A (zh) | 2019-10-08 |
CN110309334B true CN110309334B (zh) | 2023-07-18 |
Family
ID=68073905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810360897.7A Active CN110309334B (zh) | 2018-04-20 | 2018-04-20 | 图数据库的查询方法、系统、计算机设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110309334B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111090672B (zh) * | 2019-12-18 | 2023-08-22 | 北京云迹科技股份有限公司 | 一种数据优化方法及装置 |
CN111026936B (zh) * | 2019-12-18 | 2023-10-20 | 鹏城实验室 | 交互主题的数据认知方法、装置、终端及计算机存储介质 |
CN111159219B (zh) * | 2019-12-31 | 2023-05-23 | 湖南亚信软件有限公司 | 一种数据管理方法、装置、服务器及存储介质 |
CN111552737B (zh) * | 2020-04-15 | 2022-11-04 | 国电南瑞科技股份有限公司 | 一种基于zookeeper的多源数据广域访问系统及方法 |
CN113992700B (zh) * | 2020-07-09 | 2023-12-26 | Tcl科技集团股份有限公司 | 一种基于分布式网络的指令解析方法、终端及存储介质 |
CN112363979B (zh) * | 2020-09-18 | 2023-08-04 | 杭州欧若数网科技有限公司 | 一种基于图数据库的分布式索引方法和系统 |
CN112527900B (zh) * | 2020-12-04 | 2023-08-01 | 广州银行股份有限公司 | 一种数据库读多副本一致性的方法、装置、设备及介质 |
CN112925952A (zh) * | 2021-03-05 | 2021-06-08 | 北京中经惠众科技有限公司 | 数据查询方法、装置、计算设备及存储介质 |
CN114860971A (zh) * | 2022-07-07 | 2022-08-05 | 墨研计算科学(南京)有限公司 | 一种测试数据查询方法、终端、服务器及系统 |
CN114969165B (zh) * | 2022-07-27 | 2022-11-01 | 腾讯科技(深圳)有限公司 | 数据查询请求的处理方法、装置、设备及存储介质 |
CN115203488B (zh) * | 2022-09-15 | 2022-12-06 | 国网智能电网研究院有限公司 | 一种图数据库管理方法、装置及电子设备 |
CN115630196A (zh) * | 2022-10-18 | 2023-01-20 | 曙光云计算集团有限公司 | 数据查询方法、装置、计算机设备、存储介质和程序产品 |
CN117149709B (zh) * | 2023-10-30 | 2024-02-02 | 太平金融科技服务(上海)有限公司 | 影像文件的查询方法、装置、电子设备及存储介质 |
CN117540056B (zh) * | 2024-01-09 | 2024-05-28 | 腾讯科技(深圳)有限公司 | 数据查询的方法、装置、计算机设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722542A (zh) * | 2012-05-23 | 2012-10-10 | 无锡成电科大科技发展有限公司 | 一种资源描述框架图模式匹配方法 |
US9576020B1 (en) * | 2012-10-18 | 2017-02-21 | Proofpoint, Inc. | Methods, systems, and computer program products for storing graph-oriented data on a column-oriented database |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140136553A1 (en) * | 2012-11-13 | 2014-05-15 | International Business Machines Corporation | Appliance for accelerating graph database management and analytics systems |
US9081826B2 (en) * | 2013-01-07 | 2015-07-14 | Facebook, Inc. | System and method for distributed database query engines |
EP2784697A1 (en) * | 2013-03-28 | 2014-10-01 | Fujitsu Limited | Graph database query handling method and apparatus |
CN104615677B (zh) * | 2015-01-20 | 2018-02-09 | 同济大学 | 一种图数据存取方法及系统 |
CN105955999B (zh) * | 2016-04-20 | 2019-04-23 | 华中科技大学 | 一种大规模RDF图的ThetaJoin查询处理方法 |
US10452975B2 (en) * | 2016-06-19 | 2019-10-22 | Data.World, Inc. | Platform management of integrated access of public and privately-accessible datasets utilizing federated query generation and query schema rewriting optimization |
CN107766377B (zh) * | 2016-08-19 | 2021-08-03 | 华为技术有限公司 | 一种监控数据查询方法及装置 |
KR101714985B1 (ko) * | 2016-08-29 | 2017-03-15 | (주)카디날정보기술 | 분산 병렬 데이터베이스의 중첩 질의 병렬성 검사 방법 및 장치 |
CN107291807B (zh) * | 2017-05-16 | 2020-10-16 | 中国科学院计算机网络信息中心 | 一种基于图遍历的sparql查询优化方法 |
-
2018
- 2018-04-20 CN CN201810360897.7A patent/CN110309334B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722542A (zh) * | 2012-05-23 | 2012-10-10 | 无锡成电科大科技发展有限公司 | 一种资源描述框架图模式匹配方法 |
US9576020B1 (en) * | 2012-10-18 | 2017-02-21 | Proofpoint, Inc. | Methods, systems, and computer program products for storing graph-oriented data on a column-oriented database |
Also Published As
Publication number | Publication date |
---|---|
CN110309334A (zh) | 2019-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309334B (zh) | 图数据库的查询方法、系统、计算机设备和可读存储介质 | |
CN109582660B (zh) | 数据血缘分析方法、装置、设备、系统及可读存储介质 | |
CN109492017B (zh) | 业务信息查询处理方法、系统、计算机设备和存储介质 | |
CN108255615B (zh) | 跨语言调用方法、服务器及存储介质 | |
CN108090064B (zh) | 一种数据查询方法、装置、数据存储服务器及系统 | |
EP3975474B1 (en) | Methods and apparatuses for chaining service data | |
CN106878367B (zh) | 服务接口异步调用的实现方法和装置 | |
US10509843B2 (en) | Systems and methods for managing tabs in web applications | |
CN110908778B (zh) | 任务部署方法、系统和存储介质 | |
US10754628B2 (en) | Extracting web API endpoint data from source code to identify potential security threats | |
CN110708247B (zh) | 消息路由方法、装置、计算机设备和存储介质 | |
CN112015820A (zh) | 分布式图数据库实现的方法、系统、电子装置和存储介质 | |
CN113364853A (zh) | 一种业务服务系统、业务请求方法及网关设备 | |
CN112511591A (zh) | 一种医院接口数据交互的实现方法、装置、设备和介质 | |
CN112182174A (zh) | 业务问答知识查询方法、装置、计算机设备和存储介质 | |
WO2015172497A1 (zh) | 消息推送、获取方法、装置和计算机可读存储介质 | |
CN113688183A (zh) | 多类型数据源抽取方法、系统、终端设备以及存储介质 | |
US9866537B2 (en) | Systems and methods for long universal resource locator compression | |
US12001458B2 (en) | Multi-cloud object store access | |
CN111339170A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN111464574A (zh) | 调用、加载、注册、管理方法和路由、服务器、节点和介质 | |
CN110888901B (zh) | 系统管理方法、装置、计算机设备和存储介质 | |
CN110737662B (zh) | 一种数据分析方法、装置、服务器及计算机存储介质 | |
CN109361716B (zh) | 一种ip地址的获取方法、装置、终端设备和存储介质 | |
CN113742101A (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 |