一种加速图数据库数据查询的方法、系统、装置和介质制造方法及图纸

技术编号:34903865 阅读:17 留言:0更新日期:2022-09-10 14:15
本申请涉及一种加速图数据库数据查询的方法、系统、装置和介质,其中,该方法包括:通过在图数据库中引入拓扑节点;当图数据写入到图数据库中的存储节点后,将图数据同步到拓扑节点;通过拓扑节点存储图数据的图拓扑关系;通过计算节点接收客户端发送的查询请求,基于拓扑节点中存储的图拓扑关系完成查询请求,将对应的查询结果返回客户端,通过本申请,解决了图数据库中数据查询存在着效率低和网络请求开销大的问题,减少了在计算节点和存储节点的来回传输中计算结果的序列化及反序列化开销,以及网络请求的开销,同时也极大降低查询所需的内存开销,提升了查询的性能。提升了查询的性能。提升了查询的性能。

【技术实现步骤摘要】
一种加速图数据库数据查询的方法、系统、装置和介质


[0001]本申请涉及图数据库
,特别是涉及一种加速图数据库数据查询的方法、系统、装置和介质。

技术介绍

[0002]图数据库的主要应用场景之一就是多跳查询,目前基于key

value实现的图数据往往采用切边的图存储形式,导致在图遍历时候普遍采用广度优先遍历(BFS)的算法。在遍历过程中通常都会使用GAS (gather

apply

scatter)模型,导致一个图多跳查询在计算节点需要多次向不同存储节点进行请求的分发,以及汇总从存储节点查询到的数据。整个过程中涉及多次的网络请求、序列化、内存额外消耗等一系列开销导致多跳查询不高。
[0003]目前针对相关技术中图数据库中数据查询存在着效率低和网络请求开销大的问题,尚未提出有效的解决方案。

技术实现思路

[0004]本申请实施例提供了一种加速图数据库数据查询的方法、系统、装置和介质,以至少解决相关技术中图数据库中数据查询存在着效率低和网络请求开销大的问题。
[0005]第一方面,本申请实施例提供了一种加速图数据库数据查询的方法,所述方法包括:在图数据库中引入拓扑节点;当图数据写入到所述图数据库中的存储节点后,将所述图数据同步到所述拓扑节点;通过所述拓扑节点存储所述图数据的图拓扑关系;通过计算节点接收客户端发送的查询请求,基于所述拓扑节点中存储的图拓扑关系完成所述查询请求,将对应的查询结果返回所述客户端。
[0006]在其中一些实施例中,在图数据库中引入拓扑节点包括:将图数据库中的图数据按预设分片方式,分成若干数据分片,其中,在每个数据分片中有多个存储节点保存相同的图数据,基于Raft协议保证同一数据分片中各个存储节点数据一致;将拓扑节点以learner身份加入图数据库中存储节点的各Raft 组中。
[0007]在其中一些实施例中,当图数据写入到所述图数据库中的存储节点后,将所述图数据同步到所述拓扑节点包括:当图数据写入到所述图数据库中的存储节点后,通过Raft协议将所述图数据异步传输到所述拓扑节点。
[0008]在其中一些实施例中,通过所述拓扑节点存储所述图数据的图拓扑关系包括:当所述拓扑节点接收到图数据后,从所述图数据中筛选出表示图拓扑关系的key值并进行存储,不存储表示属性数据的value值。
[0009]在其中一些实施例中,所述图数据库中图数据的存储格式为key

value格式,其中,所述key值表示图数据的图拓扑关系,所述value值表示图数据的属性数据。
[0010]在其中一些实施例中,当图数据写入到所述图数据库中的存储节点后,通过Raft协议将所述图数据异步传输到所述拓扑节点包括:同一Raft组中存在不同身份的存储节点,当图数据写入所述图数据库中leader身份的存储节点,基于Raft协议通过所述leader身份的存储节点,将图数据异步传输到follower身份的存储节点和learner身份的拓扑节点。
[0011]在其中一些实施例中,所述预设分片方式包括哈希分片和范围分片。
[0012]第二方面,本申请实施例提供了一种加速图数据库数据查询的系统,所述系统包括创建模块、存储模块和查询模块;所述创建模块,用于在图数据库中引入拓扑节点;所述存储模块,用于当图数据写入到所述图数据库中的存储节点后,将所述图数据同步到所述拓扑节点;通过所述拓扑节点存储所述图数据的图拓扑关系;所述查询模块,用于通过计算节点接收客户端发送的查询请求,基于所述拓扑节点中存储的图拓扑关系完成所述查询请求,将对应的查询结果返回所述客户端。
[0013]第三方面,本申请实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的加速图数据库数据查询的方法。
[0014]第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的加速图数据库数据查询的方法。
[0015]相比于相关技术,本申请实施例提供的一种加速图数据库数据查询的方法、系统、装置和介质,通过在图数据库中引入拓扑节点;当图数据写入到图数据库中的存储节点后,将图数据同步到拓扑节点;通过拓扑节点存储图数据的图拓扑关系;通过计算节点接收客户端发送的查询请求,基于拓扑节点中存储的图拓扑关系完成查询请求,将对应的查询结果返回客户端,解决了图数据库中数据查询存在着效率低和网络请求开销大的问题,减少了在计算节点和存储节点的来回传输中计算结果的序列化及反序列化开销,以及网络请求的开销,同时也极大降低查询所需的内存开销,提升了查询的性能。
附图说明
[0016]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是根据相关技术中基于图数据库实现数据查询的示意图;图2是根据本申请实施例的加速图数据库数据查询方法的步骤流程图;图3是根据本申请实施例的引入拓扑节点的示意图;图4是根据本申请实施例的基于拓扑节点加速数据查询的流程示意图;图5是根据本申请实施例测试场景一下的改进前后查询效率对比的示意图;图6是根据本申请实施例测试场景二下的改进前后查询效率对比的示意图;图7是根据本申请实施例的加速图数据库数据查询系统的结构框图;图8是根据本申请实施例的电子设备的内部结构示意图。
[0017]附图说明:71、创建模块;72、存储模块;73、查询模块。
具体实施方式
[0018]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0019]显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的
技术实现思路
的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
[0020]在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
[0021]除非另作定义,本申请所涉及的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种加速图数据库数据查询的方法,其特征在于,所述方法包括:在图数据库中引入拓扑节点;当图数据写入到所述图数据库中的存储节点后,将所述图数据同步到所述拓扑节点;通过所述拓扑节点存储所述图数据的图拓扑关系;通过计算节点接收客户端发送的查询请求,基于所述拓扑节点中存储的图拓扑关系完成所述查询请求,将对应的查询结果返回所述客户端。2.根据权利要求1所述的方法,其特征在于,在图数据库中引入拓扑节点包括:将图数据库中的图数据按预设分片方式,分成若干数据分片,其中,在每个数据分片中有多个存储节点保存相同的图数据,基于Raft协议保证同一数据分片中各个存储节点数据一致;将拓扑节点以learner身份加入图数据库中存储节点的各Raft 组中。3.根据权利要求1或2所述的方法,其特征在于,当图数据写入到所述图数据库中的存储节点后,将所述图数据同步到所述拓扑节点包括:当图数据写入到所述图数据库中的存储节点后,通过Raft协议将所述图数据异步传输到所述拓扑节点。4.根据权利要求1所述的方法,其特征在于,通过所述拓扑节点存储所述图数据的图拓扑关系包括:当所述拓扑节点接收到图数据后,从所述图数据中筛选出表示图拓扑关系的key值并进行存储,不存储表示属性数据的value值。5.根据权利要求1所述的方法,其特征在于,所述图数据库中图数据的存储格式为key

value格式,其中,所述key值表示图数据的图拓扑关系,所述va...

【专利技术属性】
技术研发人员:王玉珏宋鹏威李文辉吴敏叶小萌
申请(专利权)人:杭州悦数科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1