图数据存储方法、装置、设备及存储介质制造方法及图纸

技术编号:39143412 阅读:7 留言:0更新日期:2023-10-23 14:55
本公开提供了一种图数据存储方法、装置、设备及存储介质,可以应用于数据库技术领域。该方法应用于目标存储设备,包括:响应于接收到目标图存储请求,基于目标图,得到多个节点索引项和多个边索引项,其中,目标图包括多个节点和多个边,节点索引项包括直接存储组和间接存储列表;对于多个边中的每个边,基于目标图中的多个节点各自与边之间的连接关系,确定与边相连的目标节点;将与边对应的边索引项插入至与目标节点对应的目标节点索引项的直接存储组或间接存储列表中。存储组或间接存储列表中。存储组或间接存储列表中。

【技术实现步骤摘要】
图数据存储方法、装置、设备及存储介质


[0001]本公开涉及数据库
,尤其涉及一种图数据存储方法、装置、设备、介质和程序产品。

技术介绍

[0002]图数据也可称为图结构的数据,可以直观地反映实体及其关系。在很多领域里依据真实世界信息建模而来的图都属于无标度网络图。无标度网络图一般符合幂律分布,即存在有邻接边数量远大于其他节点的超级节点。
[0003]在实现本公开构思的过程中,专利技术人发现相关技术中至少存在如下问题:由于超级节点与其他节点的邻接边数量存在较大差异,对于超级节点的存储和读取相比于其他节点需要更长的时间,使得图数据的存储以及访问皆存在时延抖动的问题。

技术实现思路

[0004]鉴于上述问题,本公开提供了图数据存储方法、装置、设备、介质和程序产品。
[0005]根据本公开的第一个方面,提供了一种图数据存储方法,包括:响应于接收到目标图存储请求,基于上述目标图,得到多个节点索引项和多个边索引项,其中,上述目标图包括多个节点和多个边,上述节点索引项包括直接存储组和间接存储列表;对于上述多个边中的每个边,基于上述目标图中的上述多个节点各自与上述边之间的连接关系,确定与上述边相连的目标节点;将与上述边对应的上述边索引项插入至与上述目标节点对应的目标节点索引项的直接存储组或间接存储列表中。
[0006]根据本公开的实施例,上述将与上述边对应的上述边索引项插入至与上述目标节点对应的目标节点索引项的直接存储组或间接存储列表中,包括:基于上述目标节点的主键,确定与上述目标节点对应的目标节点索引项;确定上述目标节点索引项的上述直接存储组的第一存储容量信息,其中,上述第一存储容量信息表征上述直接存储组中已占用的存储容量信息;在上述第一存储容量信息小于存储阈值的情况下,将上述边索引项插入至上述直接存储组中;在上述第一存储容量信息大于或者等于上述存储阈值的情况下,将上述边索引项插入至上述间接存储列表中。
[0007]根据本公开的实施例,上述目标节点包括上述边的起始节点以及上述边的指向节点;上述目标节点索引项包括起始节点索引项和指向节点索引项;上述直接存储组包括直接出边组和直接入边组;上述确定上述目标节点索引项的上述直接存储组的第一存储容量信息,包括:针对上述起始节点,确定起始节点索引项的上述直接出边组的第一存储容量信息,其中,上述起始节点索引项为与上述起始节点对应的索引项;针对上述指向节点,确定指向节点索引项的上述直接入边组的第一存储容量信息,其中,上述指向节点索引项为与上述指向节点对应的索引项。
[0008]根据本公开的实施例,上述在上述第一存储容量信息小于存储阈值的情况下,将上述边索引项插入至上述直接存储组中,包括:在上述直接出边组的第一存储容量信息小
于上述存储阈值的情况下,将上述边索引项插入至上述起始节点索引项的直接出边组中;在上述直接入边组的第一存储容量信息小于上述存储阈值的情况下,将上述边索引项插入至上述指向节点索引项的直接入边组中。
[0009]根据本公开的实施例,上述间接存储列表包括间接出边组列表;上述在上述第一存储容量信息大于或者等于上述存储阈值的情况下,将上述边索引项插入至上述间接存储列表中,包括:在上述直接出边组的第一存储容量信息大于或者等于上述存储阈值的情况下,基于上述间接出边组列表,确定目标间接出边组,其中,上述间接出边组列表中存储有多个间接出边组各自的地址信息;基于上述目标间接出边组的地址信息,确定上述目标间接出边组的第二存储容量信息;在上述第二存储容量信息小于上述存储阈值的情况下,确定将上述边索引项插入至上述间接出边组中,其中,上述第二存储容量信息表征上述目标间接出边组中已占用的存储容量信息;在上述第二存储容量信息大于或者等于上述存储阈值的情况下,确定创建新的间接出边组;将上述边索引项插入至上述新的间接出边组中。
[0010]根据本公开的实施例,上述间接存储列表包括间接入边组列表;上述在上述第一存储容量信息大于或者等于上述存储阈值的情况下,将上述边索引项插入至上述间接存储列表中,包括:在上述直接入边组的第一存储容量信息大于或者等于上述存储阈值的情况下,基于上述间接入边组列表,确定目标间接入边组,其中,上述间接入边组列表中存储有多个间接入边组各自的地址信息;基于上述目标间接入边组的地址信息,确定上述目标间接入边组的第二存储容量信息,其中,上述第二存储容量信息表征上述目标间接入边组中已占用的存储容量信息;在上述第二存储容量信息小于上述存储阈值的情况下,确定将上述边索引项插入至上述间接入边组中;在上述第二存储容量信息大于或者等于上述存储阈值的情况下,确定创建新的间接入边组;将上述边索引项插入至上述新的间接入边组中。
[0011]根据本公开的实施例,基于目标指标,对上述目标节点索引项的直接存储组或间接存储列表中的多个边索引项进行排序,得到排序结果;以及基于上述排序结果,更新上述多个边索引项各自在上述直接存储组中的插入位置。
[0012]根据本公开的实施例,在上述直接存储组的第三存储容量信息大于或者等于目标阈值的情况下,基于上述排序结果,从上述多个边索引项中确定待更新边索引项,其中,上述第三存储容量信息表征在基于上述排序结果更新了上述多个边索引项在直接存储组中的插入位置的情况下,上述直接存储组中已占用的存储容量信息;将上述待更新边索引项插入至上述间接存储列表中。
[0013]根据本公开的实施例,上述边索引项包括以下至少一项:边的主键、起始节点的主键、指向节点的主键、权重、属性。
[0014]本公开的第二方面提供了一种图数据存储装置,包括:索引项生成模块,用于响应于接收到目标图存储请求,基于上述目标图,得到多个节点索引项和多个边索引项,其中,上述目标图包括多个节点和多个边,上述节点索引项包括直接存储组和间接存储列表;目标节点确定模块,用于对于上述多个边中的每个边,基于上述目标图中的上述多个节点各自与上述边之间的连接关系,确定与上述边相连的目标节点;边索引项插入模块,用于将与上述边对应的上述边索引项插入至与上述目标节点对应的目标节点索引项的直接存储组或间接存储列表中。
[0015]本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于
存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得一个或多个处理器执行上述方法。
[0016]本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述方法。
[0017]本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述方法。
[0018]根据本公开提供的图数据存储方法,通过基于目标图,得到多个节点索引项和多个边索引项,目标图中包括有多个节点和多个边,节点索引项包括直接存储组和间接存储列表。又基于目标图中节点与边之间各自的连接关系,可以确定各个边连接的目标节点,可以将各个与边对应的边索引项插入至与目标节点对应的目标节点索引本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种图数据存储方法,包括:响应于接收到目标图存储请求,基于所述目标图,得到多个节点索引项和多个边索引项,其中,所述目标图包括多个节点和多个边,所述节点索引项包括直接存储组和间接存储列表;对于所述多个边中的每个边,基于所述目标图中的所述多个节点各自与所述边之间的连接关系,确定与所述边相连的目标节点;将与所述边对应的所述边索引项插入至与所述目标节点对应的目标节点索引项的直接存储组或间接存储列表中。2.根据权利要求1所述的方法,其中,所述将与所述边对应的所述边索引项插入至与所述目标节点对应的目标节点索引项的直接存储组或间接存储列表中,包括:基于所述目标节点的主键,确定与所述目标节点对应的目标节点索引项;确定所述目标节点索引项的所述直接存储组的第一存储容量信息,其中,所述第一存储容量信息表征所述直接存储组中已占用的存储容量信息;在所述第一存储容量信息小于存储阈值的情况下,将所述边索引项插入至所述直接存储组中;在所述第一存储容量信息大于或者等于所述存储阈值的情况下,将所述边索引项插入至所述间接存储列表中。3.根据权利要求2所述的方法,所述目标节点包括所述边的起始节点以及所述边的指向节点;所述目标节点索引项包括起始节点索引项和指向节点索引项;所述直接存储组包括直接出边组和直接入边组;所述确定所述目标节点索引项的所述直接存储组的第一存储容量信息,包括:针对所述起始节点,确定起始节点索引项的所述直接出边组的第一存储容量信息,其中,所述起始节点索引项为与所述起始节点对应的索引项;针对所述指向节点,确定指向节点索引项的所述直接入边组的第一存储容量信息,其中,所述指向节点索引项为与所述指向节点对应的索引项。4.根据权利要求3所述的方法,其中,所述在所述第一存储容量信息小于存储阈值的情况下,将所述边索引项插入至所述直接存储组中,包括:在所述直接出边组的第一存储容量信息小于所述存储阈值的情况下,将所述边索引项插入至所述起始节点索引项的直接出边组中;在所述直接入边组的第一存储容量信息小于所述存储阈值的情况下,将所述边索引项插入至所述指向节点索引项的直接入边组中。5.根据权利要求3所述的方法,其中,所述间接存储列表包括间接出边组列表;所述在所述第一存储容量信息大于或者等于所述存储阈值的情况下,将所述边索引项插入至所述间接存储列表中,包括:在所述直接出边组的第一存储容量信息大于或者等于所述存储阈值的情况下,基于所述间接出边组列表,确定目标间接出边组,其中,所述间接出边组列表中存储有多个间接出边组各自的地址信息;基于所述目标间接出边组的地址信息,确定所述目标间接出边组的第二存...

【专利技术属性】
技术研发人员:陈尚顾爽彭晨付啟明孙铭
申请(专利权)人:苏州空天信息研究院
类型:发明
国别省市:

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

1