数据存储方法、装置、电子设备、存储介质和程序产品与流程
- 国知局
- 2024-09-11 14:15:14
本技术涉及计算机,具体涉及一种数据存储方法、装置、电子设备、存储介质和程序产品。
背景技术:
1、图数据相关技术中,常采用key-value这种键值存储实现的图数据存储,其中key是点/边的关系编码,而value就是点或者边的属性。比如,用户会根据主键或者内置主键进行编码,如点a的key编码为0001,点b的key编码为0002,那么a到b的边的编码就是:00010002。而a的属性是pa,b的属性是pb,a到b的边的属性是pe。那么,在图数据中存储的为0001:pa、0002:pb和00010002:pe这样的键值对组。这种存储方式使得图的拓扑结构和相应属性值是绑定在一起的。当要查询图数据的任一点和边时,会同时获取所有相关点和边的编码和属性值,这会导致获取的数据量大,从而导致查询效率低。
技术实现思路
1、本技术实施例提供一种数据存储方法、装置、电子设备、存储介质和程序产品,可以提升图数据的查询效率。
2、本技术实施例提供一种数据存储方法,包括:获取图数据以及图数据存储空间,所述图数据包括节点以及连在所述节点之间的边,所述图数据存储空间包括索引存储空间以及属性存储空间;将所述图数据的属性信息存储在属性存储空间,所述属性信息包括节点属性信息以及边属性信息;针对任一所述节点,根据所述节点对应的指向性信息,确定所述节点的索引标识,所述节点对应的指向性信息用于指向所述属性存储空间中存储的所述节点的所述节点属性信息以及相邻边属性信息,所述相邻边属性信息为与所述节点连接的相邻边的所述边属性信息;根据所述图数据中所述节点的连接关系,将所述节点的索引标识存储在索引存储空间中,以将所述图数据存储在所述图数据存储空间中。
3、本技术实施例还提供一种数据存储装置,包括:获取单元,用于获取图数据以及图数据存储空间,所述图数据包括节点以及连在所述节点之间的边,所述图数据存储空间包括索引存储空间以及属性存储空间;属性存储单元,用于将所述图数据的属性信息存储在属性存储空间,所述属性信息包括节点属性信息以及边属性信息;索引确定单元,用于针对任一所述节点,根据所述节点对应的指向性信息,确定所述节点的索引标识,所述节点对应的指向性信息用于指向所述属性存储空间中存储的所述节点的所述节点属性信息以及相邻边属性信息,所述相邻边属性信息为与所述节点连接的相邻边的所述边属性信息;索引存储单元,用于根据所述图数据中所述节点的连接关系,将所述节点的索引标识存储在索引存储空间中,以将所述图数据存储在所述图数据存储空间中。
4、在一些实施方式中,所述属性存储单元包括第一属性存储子单元以及第二属性存储子单元,包括:所述第一属性存储子单元,用于根据待存储节点在所述图数据中的连接关系,确定与所述待存储节点连接的待存储相邻边,所述待存储节点为所述图数据中任一所述节点;所述第二属性存储子单元,用于将所述待存储节点的节点属性信息以及所述待存储相邻边的边属性信息,存储在所述属性存储空间中的相邻位置。
5、在一些实施方式中,所述属性存储单元还包括第三属性存储子单元,包括:所述第三属性存储子单元,用于根据所述节点在所述图数据中的编号顺序,从所述图数据中确定所述待存储节点。
6、在一些实施方式中,所述数据存储装置还包括指向性单元,包括:所述指向性单元,用于将所述节点属性信息在所述属性存储空间中的存储位置以及所述边属性信息在所述属性存储空间中的存储位置,分别作为所述节点属性信息对应的所述节点的所述指向性信息、以及所述边属性信息对应的所述边的所述指向性信息。
7、在一些实施方式中,所述索引确定单元包括第一索引确定子单元、第二索引确定子单元以及第三索引确定子单元,包括:所述第一索引确定子单元,用于针对任一所述节点,获取所述节点的索引号;所述第二索引确定子单元,用于将所述节点的索引号作为键,所述节点对应的指向性信息作为值,构建所述节点对应的键值对;所述第三索引确定子单元,用于将所述节点对应的键值对作为所述节点的索引标识。
8、在一些实施方式中,所述数据存储装置还包括指定索引单元,包括:所述指定索引单元,用于根据指定查询信息,对所述指定查询信息对应所述节点的所述索引标识建立指定节点索引,所述指定节点索引用于确定所述指定查询信息对应所述节点的所述索引标识。
9、在一些实施方式中,所述索引存储单元包括第一索引存储子单元和第二索引存储子单元,包括:所述第一索引存储子单元,用于根据所述图数据中所述节点的连接关系,创建索引数组,所述索引数组用于根据所述节点的连接关系存储所述节点的所述索引标识,所述索引数组中元素对应所述节点;所述第二索引存储子单元,用于创建所述索引数组中所述元素对应所述节点的相邻节点表,所述相邻节点表用于存储所述元素对应所述节点的相邻节点的索引信息。
10、在一些实施方式中,所述数据存储装置还包括删除单元,包括:所述删除单元用于获取对任一所述节点的删除指令;根据所述删除指令,从所述索引存储空间中删除所述任一所述节点的索引标识;将所述索引存储空间删除的所述索引标识对应的所述指向性信息返回至所述属性存储空间;根据所述索引存储空间返回的所述指向性信息,从所述属性存储空间中删除所述索引存储空间返回的所述指向性信息所指向的所述节点属性信息以及所述相邻边属性信息。
11、在一些实施方式中,所述数据存储装置还包括修改单元,包括:所述修改单元用于获取对待修改属性信息的修改指令,所述待修改属性信息为所述图数据中任一所述节点或任一所述边的属性信息;根据所述修改指令以及所述索引存储空间存储的索引标识,获取所述待修改属性信息对应的所述指向性信息;将获取到的所述指向性信息返回至所述属性存储空间;根据所述索引存储空间返回的所述指向性信息,从所述属性存储空间中查询所述待修改属性信息;根据所述修改指令更新查询到的所述待修改属性信息,得到更新后的属性信息;根据所述更新后的属性信息,确定更新后的指向性信息,所述更新后的指向性信息用于指向所述更新后的属性信息;根据所述更新后的指向性信息,更新所述索引存储空间中存储的所述待修改属性信息对应的所述节点的所述索引标识。
12、在一些实施方式中,所述根据所述修改指令更新查询到的所述待修改属性信息,得到更新后的属性信息,包括:将所述属性存储空间中的所述待修改属性信息标记为删除状态;根据所述修改指令以及所述待修改属性信息,生成更新后的属性信息;所述根据所述更新后的属性信息,确定更新后的指向性信息,包括:将所述更新后的属性信息存储在属性存储空间尾部,以确定所述更新后的指向性信息。
13、在一些实施方式中,所述数据存储装置还包括查询单元,包括:所述查询单元用于获取属性信息查询指令,所述属性信息查询指令用于查询所述图数据的至少一个所述节点的所述节点属性信息以及至少一条所述边的所述边属性信息中的至少一种;根据所述属性信息查询指令以及所述索引存储空间存储的所述索引标识,获取所述属性信息查询指令对应的所述指向性信息;根据获取到的所述指向性信息,从所述属性存储空间中获取所述属性信息查询指令对应的所述指向性信息指向的属性信息。
14、本技术实施例还提供一种电子设备,包括处理器和存储器,所述存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行本技术实施例所提供的任一种数据存储方法中的步骤。
15、本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本技术实施例所提供的任一种数据存储方法中的步骤。
16、本技术实施例还提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现本技术实施例所提供的任一种数据存储方法中的步骤。
17、本技术实施例可以获取图数据以及图数据存储空间,所述图数据包括节点以及连在所述节点之间的边,所述图数据存储空间包括索引存储空间以及属性存储空间;将所述图数据的属性信息存储在属性存储空间,所述属性信息包括节点属性信息以及边属性信息;针对任一所述节点,根据所述节点对应的指向性信息,确定所述节点的索引标识,所述节点对应的指向性信息用于指向所述属性存储空间中存储的所述节点的所述节点属性信息以及相邻边属性信息,所述相邻边属性信息为与所述节点连接的相邻边的所述边属性信息;根据所述图数据中所述节点的连接关系,将所述节点的索引标识存储在索引存储空间中,以将所述图数据存储在所述图数据存储空间中。
18、在本技术中,将图数据的索引标识和属性信息分开存储在索引存储空间和属性存储空间中,以实现图索引和图属性的分开管理,以提高图数据的存储灵活性和查询效率。其中,索引存储空间根据图数据中节点的连接关系,将属性信息对应的节点的索引标识进行存储。以使得在进行图数据查询时,可以不读取图属性信息,而直接在索引存储空间中遍历节点的连接关系,以进行图上查询和遍历。在确定要查询的相关数据后,再根据查询到的节点的索引标识对应的指向性信息从属性存储空间中获取相应的属性信息,以减少查询过程中数据资源的调用,避免资源浪费,以提升图数据的查询效率。
本文地址:https://www.jishuxx.com/zhuanli/20240911/289806.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。