一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

图数据库查询方法、装置、存储介质以及终端与流程

2022-10-26 06:26:12 来源:中国专利 TAG:
1.本技术涉及数据库
技术领域
:,尤其涉及一种图数据库查询方法、装置、存储介质以及终端。
背景技术
::2.随着科学技术的发展,人们对于复杂数据存储的需求也越来越高,图形数据库中可以通过关系包含属性这一功能来提供更为丰富的关系展现方式,因此关于图像数据库的中数据查询方法也成为本领域技术人员研究的重点之一。3.在相关技术中,图数据库的架构在设计时为了兼容多种存储后端,会将客户端与存储后端的交互逻辑做得非常通用且简单,这会导致客户端频繁与存储后端通信交互,造成客户端存在很大的压力且容易受网络因素影响整体性能。技术实现要素:4.本技术提供一种图数据库查询方法、装置、存储介质以及终端,可以解决相关技术中客户端频繁与存储后端通信交互,造成客户端存在很大的压力且容易受网络因素影响整体性能的技术问题。5.第一方面,本技术实施例提供一种图数据库查询方法,该方法包括:6.判断接收到的各查询请求是否满足合并条件,将满足合并条件的查询请求合并为并行查询请求;7.若确定所述并行查询请求为第一目标查询请求,则从图数据库对应的存储端获取所述第一目标查询请求对应的第一目标查询结果,所述第一目标查询结果为预先计算得到;8.若确定所述并行查询请求为第二目标查询请求,则将所述第二目标查询请求发送至所述存储端,所述第二目标查询请求用于指示所述存储端通过预设协处理器查询所述第二目标查询请求对应的第二目标查询结果。9.可选地,所述判断接收到的各查询请求是否满足合并条件,包括:确定接收到的各查询请求对应的查询操作的操作类型以及各查询请求对应的查询操作之间的操作关系;根据所述操作类型以及所述操作关系判断各查询请求是否满足合并条件。10.可选地,所述根据所述操作类型以及所述操作关系判断各查询请求是否满足合并条件,包括:将所述操作类型相同且所述操作关系为独立操作关系的查询请求,确定为满足合并条件的查询请求。11.可选地,所述判断接收到的各查询请求是否满足合并条件,将满足合并条件的查询请求合并为并行查询请求之前,还包括:获取针对图数据库的自定义查询模型,所述自定义查询模型中的自定义参数包括边参数、点参数、方向参数、键值对参数以及扩线查询层级参数中的一种或者多种;确定所述自定义查询模型对应的自定义查询请求,每隔预设时间基于所述自定义查询模型计算各自定义查询请求对应的预先查询结果;将各自定义查询请求以及各自定义查询请求对应的预先查询结果保存至所述图数据库对应的存储端。12.可选地,所述若确定所述并行查询请求为第一目标查询请求,则从图数据库对应的存储端获取所述第一目标查询请求对应的第一目标查询结果,包括:若确定所述并行查询请求为所述自定义查询请求,则将所述并行查询请求确定为第一目标查询请求;从所述存储端中保存的所述预先查询结果中,获取所述第一目标查询请求对应的第一目标查询结果。13.可选地,所述若确定所述并行查询请求为第二目标查询请求,则将所述第二目标查询请求发送至所述存储端,包括:获取所述并行查询请求对应的索引类型以及对应的过滤类型;若所述索引类型为预设索引类型或所述过滤类型为预设过滤类型,则确定所述并行查询请求为第二目标查询请求,将所述第二目标查询请求发送至所述存储端。14.可选地,所述方法还包括:展示所述第一目标查询结果或者所述第二目标查询结果。15.第二方面,本技术实施例提供一种图数据库查询装置,该装置包括:16.请求合并模块,用于判断接收到的各查询请求是否满足合并条件,将满足合并条件的查询请求合并为并行查询请求;17.第一查询模块,用于若确定所述并行查询请求为第一目标查询请求,则从图数据库对应的存储端获取所述第一目标查询请求对应的第一目标查询结果,所述第一目标查询结果为预先计算得到;18.第二查询模块,用于若确定所述并行查询请求为第二目标查询请求,则将所述第二目标查询请求发送至所述存储端,所述第二目标查询请求用于指示所述存储端通过预设协处理器查询所述第二目标查询请求对应的第二目标查询结果。19.第三方面,本技术实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行实现上述的方法的步骤。20.第四方面,本技术实施例提供一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的方法的步骤。21.本技术一些实施例提供的技术方案带来的有益效果至少包括:22.本技术提供一种图数据库查询方法,判断接收到的各查询请求是否满足合并条件,将满足合并条件的查询请求合并为并行查询请求;若确定并行查询请求为第一目标查询请求,则从图数据库对应的存储端获取第一目标查询请求对应的第一目标查询结果,第一目标查询结果为预先计算得到;若确定并行查询请求为第二目标查询请求,则将第二目标查询请求发送至存储端,第二目标查询请求用于指示存储端通过预设协处理器查询第二目标查询请求对应的第二目标查询结果。一方面,通过将多个串行的查询请求合并为并行查询请求,可以避免多个串行的查询请求对应的查询过程中图数据库的客户端与存储端之间的频繁交互,进而减少图数据库中客户端的数据处理压力;另一方面,通过获取并行查询请求在存储端保存预先计算的查询结果,或者在存储端通过预设协处理器查询并行查询请求的查询结果,也可以大大减少图数据库中客户端的数据处理压力。附图说明23.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。24.图1为本技术实施例提供的一种图数据库查询方法的示例性系统架构图;25.图2为本技术实施例提供的一种图数据库查询方法的系统交互图;26.图3为本技术另一实施例提供的一种图数据库查询方法的流程示意图;27.图4为本技术另一实施例提供的一种图数据库查询方法的流程示意图;28.图5为本技术另一实施例提供的图数据库查询装置的结构示意图;29.图6为本技术另一实施例提供的图数据库查询装置的结构示意图;30.图7为本技术实施例提供了一种终端的结构示意图。具体实施方式31.为使得本技术的特征和优点能够更加的明显和易懂,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而非全部实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。32.下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。33.图1为本技术实施例提供的一种图数据库查询方法的示例性系统架构图。34.如图1所示,系统架构可以包括至少一个终端110、服务器120以及网络130,网络130用于在终端110和服务器120之间提供通信链路的介质。网络130可以包括各种类型的有线通信链路或无线通信链路,例如:有线通信链路包括光纤、双绞线或同轴电缆的,无线通信链路包括蓝牙通信链路、无线保真(wireless-fidelity,wi-fi)通信链路或微波通信链路等。35.终端110可以是硬件,也可以是软件。当终端110为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携式计算机和台式计算机等。当终端110为软件时,可以是安装在上述所列举的电子设备中,其可以实现成多个软件或软件模块(例如:用来提供分布式服务),也可以实现成单个软件或软件模块,在此不作具体限定。36.服务器120可以是提供各种服务的业务服务器。需要说明的是,服务器120可以是硬件,也可以是软件。当服务器120为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器120为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块,在此不做具体限定。37.应理解,图1中的终端、网络和服务器的数目仅是示意性的。根据实现需要,可以是任意数量的终端、网络和服务器。请参阅图2,图2为本技术实施例提供的一种图数据库查询方法的系统交互图,下面将结合图1和图2介绍一种图数据库查询方法中系统交互过程。38.s201、终端中的客户端判断接收到的各查询请求是否满足合并条件,将满足合并条件的查询请求合并为并行查询请求。39.可选地,判断接收到的各查询请求是否满足合并条件,包括:确定接收到的各查询请求对应的查询操作的操作类型以及各查询请求对应的查询操作之间的操作关系;根据操作类型以及操作关系判断各查询请求是否满足合并条件。40.进一步地,根据操作类型以及操作关系判断各查询请求是否满足合并条件,包括:将操作类型相同且操作关系为独立操作关系的查询请求,确定为满足合并条件的查询请求。41.s202、若确定并行查询请求为第一目标查询请求,则终端中的客户端从图数据库对应的存储端获取第一目标查询请求对应的第一目标查询结果,第一目标查询结果为预先计算得到。42.可选地,判断接收到的各查询请求是否满足合并条件,将满足合并条件的查询请求合并为并行查询请求之前,还包括:获取针对图数据库的自定义查询模型,自定义查询模型中的自定义参数包括边参数、点参数、方向参数、键值对参数以及扩线查询层级参数中的一种或者多种;确定自定义查询模型对应的自定义查询请求,每隔预设时间基于自定义查询模型计算各自定义查询请求对应的预先查询结果;将各自定义查询请求以及各自定义查询请求对应的预先查询结果保存至图数据库对应的存储端。43.可选地,若确定并行查询请求为第一目标查询请求,则从图数据库对应的存储端获取第一目标查询请求对应的第一目标查询结果,包括:若确定并行查询请求为自定义查询请求,则将并行查询请求确定为第一目标查询请求;从存储端中保存的预先查询结果中,获取第一目标查询请求对应的第一目标查询结果。44.s203、若确定并行查询请求为第二目标查询请求,则终端中的客户端将第二目标查询请求发送至存储端,第二目标查询请求用于指示存储端通过预设协处理器查询第二目标查询请求对应的第二目标查询结果。45.可选地,若确定并行查询请求为第二目标查询请求,则将第二目标查询请求发送至存储端,包括:获取并行查询请求对应的索引类型以及对应的过滤类型;若索引类型为预设索引类型或过滤类型为预设过滤类型,则确定并行查询请求为第二目标查询请求,将第二目标查询请求发送至存储端。46.可选地,方法还包括:展示第一目标查询结果或者第二目标查询结果。47.在本技术实施例中,判断接收到的各查询请求是否满足合并条件,将满足合并条件的查询请求合并为并行查询请求;若确定并行查询请求为第一目标查询请求,则从图数据库对应的存储端获取第一目标查询请求对应的第一目标查询结果,第一目标查询结果为预先计算得到;若确定并行查询请求为第二目标查询请求,则将第二目标查询请求发送至存储端,第二目标查询请求用于指示存储端通过预设协处理器查询第二目标查询请求对应的第二目标查询结果。一方面,通过将多个串行的查询请求合并为并行查询请求,可以避免多个串行的查询请求对应的查询过程中图数据库的客户端与存储端之间的频繁交互,进而减少图数据库中客户端的数据处理压力;另一方面,通过获取并行查询请求在存储端保存预先计算的查询结果,或者在存储端通过预设协处理器查询并行查询请求的查询结果,也可以大大减少图数据库中客户端的数据处理压力。48.请参阅图3,图3为本技术另一实施例提供的一种图数据库查询方法的流程示意图。49.如图3所示,图数据库查询方法包括:50.s301、判断接收到的各查询请求是否满足合并条件,将满足合并条件的查询请求合并为并行查询请求。51.可以理解的,本技术实施例中提供的查询方法主要应用于图数据库,其中图数据库也可以称为图形数据库,图数据库是非关系型数据库的一种类型,它应用图形理论存储实体之间的关系信息。例如,图数据库可以用来存储和标识社会网络中人与人之间的关系。关系型数据库用于存储“关系型”数据的效果并不好,关系型数据库具有查询复杂、缓慢、超出预期的缺点,而图数据库相较于关系型数据库来说,图数据库的独特设计恰恰弥补了这个缺陷。52.在本技术实施例中,图数据库包括但不限于:titan、neo4j、orientdb、janusgraph、hugegraph、trinity,为了方面描述下面以图数据库为janusgraph为例,介绍图数据库查询方法的具体实施方式。53.janusgraph是一个可扩展的图数据库,可以把包含数千亿个顶点和边的图存储在多机集群上,janusgraph支持事务,还支持数千用户实时、并发访问存储在其中的图。janusgraph最大的一个优势在于,可以扩展图数据的处理,能支持实时图遍历和分析查询。因为janusgraph是分布式的,可以自由的扩展集群节点的,因此,它可以利用很大的集群,也就可以存储很大的包含数千亿个节点和边的图。由于它又支持实时、数千用户并发遍历图和分析查询图的功能。所以这两个特点是它显著的优势。54.在本技术实施例中,图数据库可以主要包括客户端与存储端,其中客户端可以设置于终端中,客户端可以认为是前端,便于用户可以通过终端中客户端与图数据库进行交互,例如,用户可以直接通过终端中的客户端向图数据库输入查询请求;存储端可以设置于服务器中,存储端可以认为是后端,为图数据库对应的数据存储装置,图数据库可以基于查询请求从存储端获取对应的查询结果,图数据库可以支持各种后端存储系统,例如janusgraph对应的标准支持系统至少包括以下四种:apachecassandra、apachehbase、googlecloudbigtable以及oracleberkeleydb,本技术实施例中为了方面描述,以存储端为apachehbase后端存储系统为例进行介绍。55.在相关技术中,图数据库的架构在设计时为了兼容多种存储端,会将客户端与存储端的交互逻辑做得非常通用、直接且简单,这会导致客户端频繁与存储端通信交互,造成客户端存在很大的数据处理压力,且客户端与存储端之间的通信容易受网络因素影响图数据库的整体性能。56.在本技术实施例中的图数据查询方法中,执行主体可以为图数据库中的客户端,客户端可以接收一个用户输入的一个或者多个查询请求,还可以同时接收多个用户输入的多个查询请求,客户端在接收到用户输入的查询请求之后,可以先判断各查询请求是否满足合并条件,因为在一端时间内接收到的多个查询请求可以认为是串行的查询请求,如果通过串行方式也即一个一个去执行各查询请求并获取对应的查询结果,那么会导致客户端频繁与存储端通信交互,因此可以先判断各查询请求是否满足合并条件,并将满足合并条件的查询请求合并为并行查询请求。57.将满足合并条件的查询请求合并为并行查询请求,相当于将至少一个查询请求合并为一个查询请求,实现了将原先至少一个查询请求分别进行查询的方式也即串行查询方式变成并行查询方式,并行查询方式的查询结果可以作为各查询请求对应的查询结果,显然通过并行查询方式可以大大减少客户端频繁与存储端通信交互,而今减少了客户端的数据处理压力。58.可选地,可以将不满足合并条件的查询请求不合并为并行查询请求,并按照常规方式获取各查询请求对应的查询结果。59.s302、若确定并行查询请求为第一目标查询请求,则从图数据库对应的存储端获取第一目标查询请求对应的第一目标查询结果,第一目标查询结果为预先计算得到。60.由于在图数据库中,不同的数据可能存在于不同的层级中存储,当查询结果对应的数据跨越的层级越多,相当于查询请求对应的扩线查询层级数越多,那么获取查询请求对应的查询结果过程也就需要耗费更多的资源,客户端与存储端之间的交互次数也就越多,相当地获取查询请求对应的查询结果所耗费的时间也就越多。61.因此在本技术实施例中,还可以针对图数据库预先设置至少一个自定义查询请求,自定义查询请求对应的类型以及扩线查询层级数等参数,可以根据用户需要进行设置。可选地,在图数据库中由于数据存储的特殊方式,查询请求可以各种各样的,不可能将所有的查询请求均设置为自定义查询请求,为了减少客户端的数据处理量,可以将一些常用的查询请求的查询请求确定为自定义查询请求,或者为了减少客户端与存储端之间交互次数较多,将客户端与存储端之间交互次数较多的查询请求定义是自定义查询请求。62.在确定自定义查询请求之后,还可以分别计算各自定义查询请求对应的查询结果,并将各查询结果与各自定义查询请求对应保存至存储端中。63.其中,在分别计算各自定义查询请求对应的查询结果的过程中,可以先获取图数据库当前的资源调度情况,并在图数据库当前的资源调度情况小于预设资源调度情况去计算各自定义查询请求对应的查询结果,以减少计算各自定义查询请求对应的查询结果给图数据库带来的计算压力,避免因为计算各自定义查询请求对应的查询结果,给其他正常查询请求的查询过程带来影响。64.另外,在各查询结果与各自定义查询请求对应保存至存储端的过程中,可以将各查询结果与各自定义查询请求通过映射的方式进行关联,以便于及时通过自定义查询请求快速确定对应的查询结果。65.在预先确定各自定义查询请求以及各自对应的查询结果之后,为了便于客户端在后续根据自定义查询请求确定并行查询请求的查询结果,可以将各自定义查询请求定义为各第一目标查询请求,各自定义查询请求对应的查询结果作为各第一目标查询请求对应的第一目标查询结果,那么在生成并行查询请求之后,可以判断并行查询请求是否为第一目标查询请求。66.当确定并行查询请求为第一目标查询请求之后,代表当前得到的并行查询请求为预先定义的第一目标查询请求中的一个,而存储端保存有各第一目标查询请求对应的第一目标查询结果,那么可以确定当前得到的并行查询请求对应的第一目标查询请求,然后从存储端中确定该第一目标查询请求对应的查第一目标查询结果,并将该第一目标查询结果作为并行查询请求对应的查询结果。67.由于第一目标查询结果为预先计算得到的结果,那么在确定并行查询请求对应的第一目标查询结果的过程中,只需要进行确定第一目标查询请求对应的第一目标查询结果的过程,以及从客户端获取存储的第一目标查询结果的过程即可,而不需要进行计算第一目标查询结果的复杂过程,这大大减少了客户端的数据处理压力,也减少了客户端在计算第一目标查询结果的过程中频繁与存储端之间的交互过程,由于客户端与存储端之间的通信容易受网络因素影响图数据库的整体性能,那么在减少了客户端于存储端之间的交互之后,可以减少网络因素对图数据库性能的影响,提高了图数据库的整体性能。68.可选地,还可以将不满足合并条件的查询请求不合并为并行查询请求,并判断各不满足合并条件的查询请求是否为第一目标查询请求,若确定不满足合并条件的查询请求为第一目标查询请求,则从图数据库对应的存储端获取第一目标查询请求对应的第一目标查询结果,并将第一目标查询结果作为不满足合并条件的查询请求对应的查询结果。69.s303、若确定并行查询请求为第二目标查询请求,则将第二目标查询请求发送至存储端,第二目标查询请求用于指示存储端通过预设协处理器查询第二目标查询请求对应的第二目标查询结果。70.当确定并行查询请求不为第一目标查询请求时,例如,并行查询请求为一些复杂查询逻辑或者较为不常用的查询请求,那么可能没有将该并行查新请求设置为第一目标查询请求,为了对这些并行查询请求进行处理,还可以预先定至少一个第二目标查询请求,可以选地,第二目标查询请求可以复杂查询逻辑或者较为不常用的查询请求,用户可以根据实际需要自由设定。71.那么确定并行查询请求不为第一目标查询请求之后,可以判断并行查询请求是否为预先确定的第二目标查询请求,在确定并行查询请求为预先确定的第二目标查询请求之后,代表当前生成的并行查询请求为复杂查询逻辑或者较为不常用的查询请求,那么可以将第二目标查询请求发送至存储端,第二目标查询请求用于指示存储端通过预设协处理器查询第二目标查询请求对应的第二目标查询结果。72.具体的,在本技术实施例中可以预先在存储端设置预设协处理器,其中预设协处理器的具体配置或者参数可以根据实际情况进行自定义设定,那么客户端将第二目标查询请求发送至存储端之后,存储端接收到第二目标查询请求之后,会调用预设协处理器查询第二目标查询请求对应的第二目标查询结果。由于客户端仅仅负责将第二目标查询请求发送至存储端的过程,而关于查询第二目标查询请求对应的第二目标查询结果的过程,由存储端中的预设协处理器进行处理,这大大减少了客户端的数据处理压力,也减少了客户端在计算第二目标查询结果的过程中频繁与存储端之间的交互过程,由于客户端与存储端之间的通信容易受网络因素影响图数据库的整体性能,那么在减少了客户端于存储端之间的交互之后,可以减少网络因素对图数据库性能的影响,提高了图数据库的整体性能。73.可选地,还可以将不满足合并条件的查询请求不合并为并行查询请求,并在判断各不满足合并条件的查询请求也不是第一目标查询请求之后,判断各不满足合并条件的查询请求是否为第二目标查询请求,若确定各不满足合并条件的查询请求为第二目标查询请求,则将第二目标查询请求发送至存储端,第二目标查询请求用于指示存储端通过预设协处理器查询第二目标查询请求对应的第二目标查询结果,并将第二目标查询结果作为不满足合并条件的查询请求对应的查询结果。若确定各不满足合并条件的查询请求也不为第二目标查询请求,那么可以按照常规方式获取各查询请求对应的查询结果。74.在本技术实施例中,判断接收到的各查询请求是否满足合并条件,将满足合并条件的查询请求合并为并行查询请求;若确定并行查询请求为第一目标查询请求,则从图数据库对应的存储端获取第一目标查询请求对应的第一目标查询结果,第一目标查询结果为预先计算得到;若确定并行查询请求为第二目标查询请求,则将第二目标查询请求发送至存储端,第二目标查询请求用于指示存储端通过预设协处理器查询第二目标查询请求对应的第二目标查询结果。一方面,通过将多个串行的查询请求合并为并行查询请求,可以避免多个串行的查询请求对应的查询过程中图数据库的客户端与存储端之间的频繁交互,进而减少图数据库中客户端的数据处理压力;另一方面,通过获取并行查询请求在存储端保存预先计算的查询结果,或者在存储端通过预设协处理器查询并行查询请求的查询结果,也可以大大减少图数据库中客户端的数据处理压力。75.请参阅图4,图4为本技术另一实施例提供的一种图数据库查询方法的流程示意图。76.如图4所示,该方法包括:77.s401、确定接收到的各查询请求对应的查询操作的操作类型以及各查询请求对应的查询操作之间的操作关系。78.在本技术实施例中,在判断接收到的各查询请求是否满足合并条件的方法可以是多样的,由于查询请求对应的查询操作的操作类型代表了查询请求对应的查询逻辑、查询所需资源等参数,因此可以通过查询请求对应的查询操作的操作类型,判断接收到的各查询请求是否满足合并条件。79.可选地,查询请求对应的查询操作之间的操作关系,代表了各查询请求对应的查询逻辑、查询所需资源等参数之间的关系,因此还可以各查询请求对应的查询操作之间的操作关系,判断接收到的各查询请求是否满足合并条件。80.在本技术实施例中,为了准确判断接收到的各查询请求是否满足合并条件,可以将操作类型相同且操作关系为独立操作关系的查询请求,确定为满足合并条件的查询请求,也即满足合并条件的查询请求其对应的查询操作的操作类型相同,且查询请求对应的查询操作之间的操作关系为独立操作关系。当然也可以单独将操作类型相同的查询请求,确定为满足合并条件的查询请求;还可以单独将查询请求对应的操作关系为独立操作关系的查询请求,确定为满足合并条件的查询请求。81.为方便描述,下面以满足合并条件的查询请求其对应的查询操作的操作类型相同,且查询请求对应的查询操作之间的操作关系为独立操作关系为例,介绍判断接收到的各查询请求是否满足合并条件的过程。82.在预先确定合并条件之后,判断接收到的各查询请求是否满足合并条件的一种可行的实施方式是,在接收到各查询请求之后,可以分析各查询请求对应的查询操作的操作类型,然后确定各查询请求对应的查询操作之间的操作关系。83.其中,查询操作的操作类型可以是多样的,各查询操作的操作类型可以通过相关参数进行区分,因此查询操作之间的操作关系也可以通过相关参数进行确定,例如,不同的查询请求可以对应不同的rowkey(键),那么可以将相同rowkey的查询请求对应的查询操作的操作类型为相同的操作类型;再例如,各查询请求对应的查询操作之间的操作关系可以为独立的操作关系,还可以是存在前后处理逻辑的依赖关系。84.s402、根据操作类型以及操作关系判断各查询请求是否满足合并条件。85.在本技术实施例中,由于已经预先设置合并条件,那么在确定接收到的各查询请求对应的查询操作的操作类型以及各查询请求对应的查询操作之间的操作关系之后,可以根据操作类型以及操作关系判断各查询请求是否满足合并条件,也即确定各查询请求对应的查询操作的操作类型是否相同,且各查询请求对应的查询操作之间的操作关系是否为独立操作关系。86.s403、将满足合并条件的查询请求合并为并行查询请求。87.在上述步骤中对各查询请求按照合并条件进行了判断,那么可以将操作类型相同且操作关系为独立操作关系的查询请求,确定为满足合并条件的查询请求,可以认为满足合并条件的各查询请求对应的查询逻辑、查询所需资源等参数是相同的,因此可以满足合并条件的各查询请求可以同步、并行执行查询操作。88.s404、若确定并行查询请求为自定义查询请求,则将并行查询请求确定为第一目标查询请求。89.在将满足合并条件的查询请求合并为并行查询请求之后,为了在获取并行查询请求对应的查询结果的过程中,减少客户端与存储端之间的交互,可以提前预设自定义查询请求,并获取自定义查询请求对应的查询结果。90.具体的,可以在上述步骤判断接收到的各查询请求是否满足合并条件,将满足合并条件的查询请求合并为并行查询请求之前,首先获取针对图数据库的自定义查询模型,自定义查询模型中的自定义参数包括边参数、点参数、方向参数、键值对参数以及扩线查询层级参数中的一种或者多种,其中边参数、点参数、方向参数、键值对参数以及扩线查询层级参数为图数据库保存数据时所需要使用的参数,因此对上述参数进行自定义可以确定自定义查询请求,也即确定自定义查询模型对应的自定义查询请求,还可以每隔预设时间基于自定义查询模型计算各自定义查询请求对应的预先查询结果,预设时间可以根据需要进行设定,以保证预先查询结果的时效性;最后可以将各自定义查询请求以及各自定义查询请求对应的预先查询结果保存至图数据库对应的存储端,以便于客户端随时可以从存储端获取预先查询结果。91.在预先确定自定义查询请求之后,那么可以判断并行查询请求是否为自定义查询请求,若确定并行查询请求为自定义查询请求,则将并行查询请求确定为第一目标查询请求。92.s405、从存储端中保存的预先查询结果中,获取第一目标查询请求对应的第一目标查询结果。93.在确定并行查询请求确定为第一目标查询请求之后,可以从存储端保存的预先查询结果中,确定第一目标查询请求对应的第一目标查询结果,由于第一目标查询请求与第一目标查询结果为映射关系,因此可以快速获取第一目标查询请求对应的第一目标查询结果的具体内容,并将第一目标查询结果作为第一目标查询请求对应的查询结果。94.由于第一目标查询结果为预先计算得到的结果,那么在确定并行查询请求对应的第一目标查询结果的过程中,只需要进行确定第一目标查询请求对应的第一目标查询结果的过程,以及从客户端获取存储的第一目标查询结果的过程即可,而不需要进行计算第一目标查询结果的复杂过程,这大大减少了客户端的数据处理压力,也减少了客户端在计算第一目标查询结果的过程中频繁与存储端之间的交互过程,由于客户端与存储端之间的通信容易受网络因素影响图数据库的整体性能,那么在减少了客户端于存储端之间的交互之后,可以减少网络因素对图数据库性能的影响,提高了图数据库的整体性能。95.s406、获取并行查询请求对应的索引类型以及对应的过滤类型。96.若确定并行查询请求不为第一目标查询请求,当确定并行查询请求不为第一目标查询请求时,例如,并行查询请求为一些复杂查询逻辑或者较为不常用的查询请求,那么可能没有将该并行查新请求设置为第一目标查询请求,为了对这些并行查询请求进行处理,还可以预先定至少一个第二目标查询请求,可以选地,第二目标查询请求可以复杂查询逻辑或者较为不常用的查询请求,复杂查询逻辑或者较为不常用的查询请求可以通过查询请求对应的索引类型以及对应的过滤类型进行限定,例如,第二目标查询请求可以是二级索引的查询请求(例如,composeindex),也即第二目标查询请求为预设索引类型或预设过滤类型的查询请求,那么在确定并行查询请求不为第一目标查询请求之后,还可以获取并行查询请求对应的索引类型以及对应的过滤类型,并判断并行查询请求对应的索引类型是否为预设索引类型,以及判断并行查询请求对应的过滤类型是否为预设过滤类型。97.s407、若索引类型为预设索引类型或过滤类型为预设过滤类型,则确定并行查询请求为第二目标查询请求,将第二目标查询请求发送至存储端。98.基于上述步骤中的判断过程,当确定并行查询请求对应的索引类型为预设索引类型,或确定并行查询请求对应的过滤类型为预设过滤类型,则可以确定并行查询请求为第二目标查询请求,将第二目标查询请求发送至存储端。将第二目标查询请求发送至存储端的目的是,由于如果并行查询请求为第二目标查询请求,那么第二目标查询请求可能为一些复杂查询逻辑或者较为不常用的查询请求,如果直接将第二目标查询请求对应的查询逻辑放在客户端进行执行,那么会导致客户端的数据处理压力较大,还能使得客户端与存储端之间的产生较多的交互,进而影响图数据库的性能。99.因此在本技术实施例中,可以预先在存储端设置预设协处理器,对于janusgraph对应的标准支持系统为apachehbase时,可以将janusgraph中客户端的复杂逻辑下推到存储端也即hbase端执行,充分发挥hbase分布式架构的计算优势,协处理器的主要使用场景是建立二级索引、定义复杂过滤器(谓词下推)以及访问控制,本技术中用到的是二级索引和定义复杂过滤器的功能。100.其中预设协处理器的具体配置或者参数可以根据实际情况进行自定义设定,那么客户端将第二目标查询请求发送至存储端之后,存储端接收到第二目标查询请求之后,会调用预设协处理器查询第二目标查询请求对应的第二目标查询结果。101.对于janusgraph对应的标准支持系统为apachehbase时,预设协处理器可以将实现逻辑下推到hbase端,索引的实现过程会更加简洁,做到二级索引的切换流程对janusgraph的客户端透明,减少janusgraph的客户端负担。另外对于没有指定索引的查询,也即并行查询请求对应的过滤类型为预设过滤类型,那么对于这种情况现有技术中的janusgraph的客户端会反复调用columnrangefilter和columnpaginationfilter通过低效的遍历来获取结果,而在本技术实施例中,通过预设协处理器可以实现在存储端更高效的过滤器。102.由于客户端仅仅负责将第二目标查询请求发送至存储端的过程,而关于查询第二目标查询请求对应的第二目标查询结果的过程,由存储端中的预设协处理器进行处理,这大大减少了客户端的数据处理压力,也减少了客户端在计算第二目标查询结果的过程中频繁与存储端之间的交互过程,由于客户端与存储端之间的通信容易受网络因素影响图数据库的整体性能,那么在减少了客户端于存储端之间的交互之后,可以减少网络因素对图数据库性能的影响,提高了图数据库的整体性能。103.s408、展示第一目标查询结果或者第二目标查询结果。104.在通过客户端获取第一目标查询结果或者第二目标查询结果之后,还可以展示第一目标查询结果或者第二目标查询结果,其中展示第一目标查询结果或者第二目标查询结果的方式可以不做限定,例如,可以通过终端屏幕进行展示,还可以通过与相关接口调用进行展示,本技术对此不作限定。105.在本技术实施例中,主要介绍了当确定并行查询请求为第一目标查询请求,或者当确定并行查询请求为第二目标查询请求时,对于并行查询请求对应的查询结果的获取,主要目的在于减少客户端的数据处理压力,以及减少客户端在计算第二目标查询结果的过程中频繁与存储端之间的交互过程,以提高了图数据库的整体性能。106.请参阅图5,图5为本技术另一实施例提供的图数据库查询装置的结构示意图。107.如图5所示,图数据库查询装置500包括:108.请求合并模块510,用于判断接收到的各查询请求是否满足合并条件,将满足合并条件的查询请求合并为并行查询请求。109.第一查询模块520,用于若确定并行查询请求为第一目标查询请求,则从图数据库对应的存储端获取第一目标查询请求对应的第一目标查询结果,第一目标查询结果为预先计算得到。110.第二查询模块530,用于若确定并行查询请求为第二目标查询请求,则将第二目标查询请求发送至存储端,第二目标查询请求用于指示存储端通过预设协处理器查询第二目标查询请求对应的第二目标查询结果。111.请参阅图6,图6为本技术另一实施例提供的图数据库查询装置的结构示意图。112.如图6所示,图数据库查询装置600包括:113.操作确定模块610,用于确定接收到的各查询请求对应的查询操作的操作类型以及各查询请求对应的查询操作之间的操作关系。114.合并判断模块620,用于根据操作类型以及操作关系判断各查询请求是否满足合并条件。115.其中,根据操作类型以及操作关系判断各查询请求是否满足合并条件,包括:将操作类型相同且操作关系为独立操作关系的查询请求,确定为满足合并条件的查询请求。116.合并模块630,用于将满足合并条件的查询请求合并为并行查询请求。117.参数获取模块640,用于获取针对图数据库的自定义查询模型,自定义查询模型中的自定义参数包括边参数、点参数、方向参数、键值对参数以及扩线查询层级参数中的一种或者多种。118.结果预先查询模块650,用于确定自定义查询模型对应的自定义查询请求,每隔预设时间基于自定义查询模型计算各自定义查询请求对应的预先查询结果。119.结果保存模块660,用于将各自定义查询请求以及各自定义查询请求对应的预先查询结果保存至图数据库对应的存储端。120.第一查询请求确定模块670,用于若确定并行查询请求为自定义查询请求,则将并行查询请求确定为第一目标查询请求。121.第一查询结果获取模块680,用于从存储端中保存的预先查询结果中,获取第一目标查询请求对应的第一目标查询结果。122.索引过滤获取模块690,用于获取并行查询请求对应的索引类型以及对应的过滤类型。123.第二查询结果获取模块6100,用于若索引类型为预设索引类型或过滤类型为预设过滤类型,则确定并行查询请求为第二目标查询请求,将第二目标查询请求发送至存储端。124.展示模块6110,用于展示第一目标查询结果或者第二目标查询结果。125.在本技术实施例中,图数据库查询装置包括:请求合并模块,用于判断接收到的各查询请求是否满足合并条件,将满足合并条件的查询请求合并为并行查询请求;第一查询模块,用于若确定并行查询请求为第一目标查询请求,则从图数据库对应的存储端获取第一目标查询请求对应的第一目标查询结果,第一目标查询结果为预先计算得到;第二查询模块,用于若确定并行查询请求为第二目标查询请求,则将第二目标查询请求发送至存储端,第二目标查询请求用于指示存储端通过预设协处理器查询第二目标查询请求对应的第二目标查询结果。一方面,通过将多个串行的查询请求合并为并行查询请求,可以避免多个串行的查询请求对应的查询过程中图数据库的客户端与存储端之间的频繁交互,进而减少图数据库中客户端的数据处理压力;另一方面,通过获取并行查询请求在存储端保存预先计算的查询结果,或者在存储端通过预设协处理器查询并行查询请求的查询结果,也可以大大减少图数据库中客户端的数据处理压力。126.本技术实施例还提供了一种计算机存储介质,计算机存储介质存储有多条指令,指令适于由处理器加载并执行如上述实施例中的任一项的方法的步骤。127.进一步地,请参见图7,图7为本技术实施例提供了一种终端的结构示意图。如图7所示,终端700可以包括:至少一个中央处理器701,至少一个网络接口704,用户接口703,存储器705,至少一个通信总线702。128.其中,通信总线702用于实现这些组件之间的连接通信。129.其中,用户接口703可以包括显示屏(display)、摄像头(camera),可选用户接口703还可以包括标准的有线接口、无线接口。130.其中,网络接口704可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。131.其中,中央处理器701可以包括一个或者多个处理核心。中央处理器701利用各种接口和线路连接整个终端700内的各个部分,通过运行或执行存储在存储器705内的指令、程序、代码集或指令集,以及调用存储在存储器705内的数据,执行终端700的各种功能和处理数据。可选的,中央处理器701可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。中央处理器701可集成中央中央处理器(centralprocessingunit,cpu)、图像中央处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到中央处理器701中,单独通过一块芯片进行实现。132.其中,存储器705可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。可选的,该存储器705包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。存储器705可用于存储指令、程序、代码、代码集或指令集。存储器705可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器705可选的还可以是至少一个位于远离前述中央处理器701的存储装置。如图7所示,作为一种计算机存储介质的存储器705中可以包括操作系统、网络通信模块、用户接口模块以及图数据库查询程序。133.在图7所示的终端700中,用户接口703主要用于为用户提供输入的接口,获取用户输入的数据;而中央处理器701可以用于调用存储器705中存储的图数据库查询程序,并具体执行以下操作:134.判断接收到的各查询请求是否满足合并条件,将满足合并条件的查询请求合并为并行查询请求;若确定并行查询请求为第一目标查询请求,则从图数据库对应的存储端获取第一目标查询请求对应的第一目标查询结果,第一目标查询结果为预先计算得到;若确定并行查询请求为第二目标查询请求,则将第二目标查询请求发送至存储端,第二目标查询请求用于指示存储端通过预设协处理器查询第二目标查询请求对应的第二目标查询结果。135.在一个实施例中,中央处理器701在执行判断接收到的各查询请求是否满足合并条件时,具体执行以下步骤包括:确定接收到的各查询请求对应的查询操作的操作类型以及各查询请求对应的查询操作之间的操作关系;根据操作类型以及操作关系判断各查询请求是否满足合并条件。136.在一个实施例中,中央处理器701在执行根据操作类型以及操作关系判断各查询请求是否满足合并条件时,具体执行以下步骤包括:将操作类型相同且操作关系为独立操作关系的查询请求,确定为满足合并条件的查询请求。137.在一个实施例中,中央处理器701在执行判断接收到的各查询请求是否满足合并条件,将满足合并条件的查询请求合并为并行查询请求之前,还具体执行以下步骤包括:获取针对图数据库的自定义查询模型,自定义查询模型中的自定义参数包括边参数、点参数、方向参数、键值对参数以及扩线查询层级参数中的一种或者多种;确定自定义查询模型对应的自定义查询请求,每隔预设时间基于自定义查询模型计算各自定义查询请求对应的预先查询结果;将各自定义查询请求以及各自定义查询请求对应的预先查询结果保存至图数据库对应的存储端。138.在一个实施例中,中央处理器701在执行若确定并行查询请求为第一目标查询请求,则从图数据库对应的存储端获取第一目标查询请求对应的第一目标查询结果时,具体执行以下步骤包括:若确定并行查询请求为自定义查询请求,则将并行查询请求确定为第一目标查询请求;从存储端中保存的预先查询结果中,获取第一目标查询请求对应的第一目标查询结果。139.在一个实施例中,中央处理器701在执行若确定并行查询请求为第二目标查询请求,则将第二目标查询请求发送至存储端时,具体执行以下步骤包括:获取并行查询请求对应的索引类型以及对应的过滤类型;若索引类型为预设索引类型或过滤类型为预设过滤类型,则确定并行查询请求为第二目标查询请求,将第二目标查询请求发送至存储端。140.在一个实施例中,中央处理器701还用于展示第一目标查询结果或者第二目标查询结果。141.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。142.作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。143.另外,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。144.集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。145.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本技术所必须的。146.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。147.以上为对本技术所提供的一种图数据库查询方法、装置、存储介质以及终端的描述,对于本领域的技术人员,依据本技术实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本技术的限制。当前第1页12当前第1页12
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献