图数据库的数据处理方法、设备和存储介质技术

技术编号:31709474 阅读:14 留言:0更新日期:2022-01-01 11:12
本公开提供了图数据库的数据处理方法、设备和存储介质,涉及知识图谱技术领域等人工智能技术领域。具体实现方案为:将待处理的实体节点集合进行划分,以得到多个小批量的实体节点子集合,在每个实体节点子集合完成实体节点存储位置分析后,直接通过对应存储节点对实体节点进行查询,以得到对应实体节点子的下一跳实体节点,并基于对应实体节点子集合中各个实体节点对应的下一跳实体节点,确定下一跳实体节点集合,并根据实体节点子集合的下一跳实体节点集合进行处理,以得到实体节点集合对应的下一跳实体节点集合。由此,可以实现多个小批量的实体节点子集合进行并发处理,合理利用网络资源。络资源。络资源。

【技术实现步骤摘要】
图数据库的数据处理方法、设备和存储介质


[0001]本公开涉及计算机
,具体涉及知识图谱
等人工智能
,尤其涉及图数据库的数据处理方法、设备和存储介质。

技术介绍

[0002]知识图谱是一种基于图模型的关联网络知识表达。知识图谱将实体抽象为顶点,将实体之间的关系抽象为边,通过结构化的形式对知识进行建模和描述,并将知识可视化。知识图谱是图数据库关联最为紧密、场景最广泛的应用方向。知识图谱以图数据库作为存储引擎,对海量信息进行智能化处理,形成大规模的知识库并进而支撑业务应用。。

技术实现思路

[0003]本公开提供了一种用于图数据库的数据处理方法、设备和存储介质。
[0004]根据本公开的一方面,提供了一种图数据库的数据处理方法,所述方法包括:获取所述图数据库中待处理的实体节点集合;对所述实体节点集合进行划分,以得到多个实体节点子集合;针对每个所述实体节点子集合,确定所述实体节点子集合中每个实体节点所属于的存储节点,其中,所述实体节点所属于的存储节点包括所述实体节点与对应的下一跳实体节点;根据所述实体节点子集合中每个实体节点对应的下一跳实体节点,确定所述实体节点子集合对应的下一跳实体节点集合;根据每个所述实体节点子集合对应的下一跳实体节点集合,确定所述实体节点集合对应的下一跳实体节点集合。
[0005]根据本公开的另一方面,提供了一种图数据库的数据处理装置,所述装置包括:第一获取模块,用于获取所述图数据库中待处理的实体节点集合;划分模块,用于对所述实体节点集合进行划分,以得到多个实体节点子集合;第一确定模块,用于针对每个所述实体节点子集合,确定所述实体节点子集合中每个实体节点所属于的存储节点,其中,所述实体节点所属于的存储节点包括所述实体节点与对应的下一跳实体节点;第二确定模块,用于根据所述实体节点子集合中每个实体节点对应的下一跳实体节点,确定所述实体节点子集合对应的下一跳实体节点集合;第三确定模块,用于根据每个所述实体节点子集合对应的下一跳实体节点集合,确定实体节点集合对应的下一跳实体节点集合。
[0006]根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开的图数据库的数据处理方法。
[0007]根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开实施例公开的图数据库的数据处理方法。
[0008]根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本公开的图数据库的数据处理方法。
[0009]上述申请中的一个实施例具有如下优点或有益效果:
[0010]在对图数据库中的实体节点集合进行处理时,将待处理的实体节点集合进行划分,以得到多个小批量的实体节点子集合,在每个实体节点子集合完成实体节点存储位置分析后,直接通过对应存储节点对实体节点进行查询,以得到对应实体节点子的下一跳实体节点,并基于对应实体节点子集合中各个实体节点对应的下一跳实体节点,确定下一跳实体节点集合,并根据实体节点子集合的下一跳实体节点集合进行处理,以得到实体节点集合对应的下一跳实体节点集合。由此,可以实现多个小批量的实体节点子集合进行并发处理,合理利用网络资源。
[0011]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0012]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0013]图1是根据本公开一个实施例提供的一种图数据库的数据处理方法的流程示意图;
[0014]图2是根据本公开另一个实施例提供的根据每个实体节点子集合对应的下一跳实体节点集合,确定实体节点集合对应的下一跳实体节点集合的细化流程示意图;
[0015]图3是根据本公开另一个实施例提供的根据实体节点子集合中每个实体节点所属于的存储节点确定实体节点子集合对应的下一跳实体节点集合的细化流程示意图;
[0016]图4是根据本公开另一个实施例提供的分别对每个实体节点子集合对应的下一跳实体节点集合进行去重,以得到每个实体节点子集合各自对应的去重结果的细化流程示意图;
[0017]图5是根据本公开另一个实施例提供的一种图数据库的数据处理方法的流程示意图;
[0018]图6是根据本公开一个实施例提供的一种图数据库的数据处理装置的结构示意图;
[0019]图7是根据本公开另一个实施例提供的一种图数据库的数据处理装置的结构示意图;
[0020]图8是根据本公开另一个实施例提供的一种图数据库的数据处理装置的结构示意图;
[0021]图9是用来实现本公开实施例的图数据库的数据处理方法的电子设备的框图。
具体实施方式
[0022]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0023]图游走是图检索领域的基本问题,其基本含义是在一个抽象的逻辑图模型(即拓扑图)中进行多层的遍历。目前,针对分布式图数据库的图游走,通常采用单步游走策略,即
每次游走之前,由计算节点统一分析输入节点相关关系信息的存储位置,然后发给对应的存储节点进行查询,查询得到的结果收集到一起之后进行结果去重,去重之后的结果作为下一次游走步的输入。然而,上述方式,在每一个时刻只有一个过程在执行,资源使用不充分,并发度低。
[0024]为此,本申请提出了一种图数据库的数据处理方法,该方法在对图数据库中的实体节点集合进行处理时,将待处理的实体节点集合进行划分,以得到多个小批量的实体节点子集合,在每个实体节点子集合完成实体节点存储位置分析后,直接通过对应存储节点对实体节点进行查询,以得到对应实体节点子的下一跳实体节点,并基于对应实体节点子集合中各个实体节点对应的下一跳实体节点,确定下一跳实体节点集合,并根据实体节点子集合的下一跳实体节点集合进行处理,以得到实体节点集合对应的下一跳实体节点集合。由此,可以实现多个小批量的实体节点子集合进行并发处理,合理利用网络资源。
[0025]下面参考附图描述本公开实施例的图数据库的数据处理方法、设备和存储介质。
[0026]图1是根据本公开一个实施例提供的一种图数据库的数据处理方法的流程示意图。其中,本实施例中的图数据库是基于存储计算分离架构设计下的分布式图数据库,其中,图数据库包括计算节点和多个存储节点,各个存储节点保存知识图谱的不同部分,每个存储节点所存储的不同本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种图数据库的数据处理方法,所述方法包括:获取所述图数据库中待处理的实体节点集合;对所述实体节点集合进行划分,以得到多个实体节点子集合;针对每个所述实体节点子集合,确定所述实体节点子集合中每个实体节点所属于的存储节点,其中,所述实体节点所属于的存储节点包括所述实体节点与对应的下一跳实体节点;根据所述实体节点子集合中每个实体节点对应的下一跳实体节点,确定所述实体节点子集合对应的下一跳实体节点集合;根据每个所述实体节点子集合对应的下一跳实体节点集合,确定所述实体节点集合对应的下一跳实体节点集合。2.根据权利要求1所述的方法,其中,所述根据每个所述实体节点子集合对应的下一跳实体节点集合,确定实体节点集合对应的下一跳实体节点集合,包括:分别对每个所述实体节点子集合对应的下一跳实体节点集合进行去重,以得到每个所述实体节点子集合各自对应的去重结果;对所有所述实体节点子集合各自对应的去重结果进行合并,以得到所述实体节点集合对应的候选的下一跳实体节点集合;对所述候选的下一跳实体节点集合再次进行去重,以得到所述实体节点集合对应的下一跳实体节点集合。3.根据权利要求1所述的方法,其中,所述根据每个所述实体节点子集合对应的下一跳实体节点集合,确定实体节点集合对应的下一跳实体节点集合,包括:对所有的所述节点子集合对应的下一跳实体节点集合进行合并处理,以得到合并的下一跳实体节点集合;对所述合并的下一跳实体节点集合进行去重处理,以得到所述实体节点集合对应的下一跳实体节点集合。4.根据权利要求1

3任一项所述的方法,其中,所述根据所述实体节点子集合中每个实体节点对应的下一跳实体节点,确定所述实体节点子集合对应的下一跳实体节点集合,包括:根据所述实体节点子集合中每个实体节点所属于的存储节点,将属于同一个存储节点的实体节点划分为一组,以得到多组实体节点;针对每组实体节点,接收与当前实体节点组对应的存储节点针对所述当前实体节点组返回的去重后的下一跳实体节点结果;根据每组实体节点的下一跳实体节点结果,确定所述实体节点子集合对应的下一跳实体节点集合。5.根据权利要求2所述的方法,其中,所述分别对每个所述实体节点子集合对应的下一跳实体节点集合进行去重,以得到每个所述实体节点子集合各自对应的去重结果,包括:针对每个所述实体节点子集合,对所述实体节点子集合对应的下一跳实体节点集合进行节点遍历;对于遍历到的目标实体节点,确定所述目标实体节点的节点标识所属于的区间,其中,所述区间是对所述节点标识的取值范围进行分段而得到的;
根据所述区间对应的去重方式,确定已遍历的节点中已出现过所述目标实体节点;删除所述下一跳实体节点集合中的所述目标实体节点。6.根据权利要求5所述的方法,其中,所述根据所述区间对应的去重方式,确定已遍历的节点中已出现过所述目标实体节点,包括:获取所述区间所对应的多个位集;对所述节点标识的比特位进行分段,以得到所述节点标识对应的多个比特段;针对每个比特段,从所述多个位集中获取与所述比特段对应的目标位集,其中,所述目标位集的比特长度大于或者等于所述比特段的比特长度;从所述目标位集中获取与所述比特段的取值对应的比特位;在所述多个比特段对应的比特位上的取值均为第一取值的情况,确定已遍历的节点中已出现过所述目标实体节点,其中,第一取值表示对应比特段的取值已出现过。7.根据权利要求5所述的方法,其中,所述根据所述区间对应的去重方式,确定已遍历的节点中已出现过所述目标实体节点,包括:获取所述区间对应的哈希表;获取所述节点标识的高N个比特位以及低M个比特位,其中,所述N为大于1,且小于所述K的整数,所述K表示所述节点标识的比特长度,所述M为所述K与所述N之间的差值;从所述哈希表中获取与所述高N个比特位的取值所对应的位集;从所述位集中获取与所述低M个比特位的取值对应的目标比特位;在所述目标比特位上的取值为第一取值的情况下,确定已遍历的节点中已出现过所述目标实体节点,其中,所述第一取值用于表示所述低M个比特位的取值已出现过。8.根据权利要求5所述的方法,其中,所述根据所述区间对应的去重方式,确定已遍历的节点中已出现过所述目标实体节点,包括:获取所述区间对应的位集;从所述位集中获取与所述节点标识对应的目标比特位;在所述目标比特位上的取值为第一取值的情况下,确定已遍历的节点中已出现过所述目标实体节点。9.一种图数据库的数据处理装置,所述装置包括:第一获取模块,用于获取所述图数据库中待处理的实体节点集合;划分模块,用于对所述实体节点集合进行划分,以得到多个实体节点子集合;第一确定...

【专利技术属性】
技术研发人员:王益飞汪洋王宇
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1