[发明专利]一种图数据存储方法和装置在审
申请号: | 202211591627.X | 申请日: | 2022-12-12 |
公开(公告)号: | CN115935020A | 公开(公告)日: | 2023-04-07 |
发明(设计)人: | 吕继云;李鹏;张睿;王振宇 | 申请(专利权)人: | 四川蜀天梦图数据科技有限公司 |
主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F16/903 |
代理公司: | 深圳市六加知识产权代理有限公司 44372 | 代理人: | 向彬 |
地址: | 610000 四川省成都市天府新区*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 存储 方法 装置 | ||
本发明涉及数据库技术领域,提供了一种图数据存储方法和装置。其中所述方法包括:将数据记录存储到分区数据表中;将属性索引记录存储到属性索引表中,以便于通过属性查找到对应的数据记录;其中,所述属性索引记录包括属性值和对应数据记录的ROWID;将图拓扑数据存储到邻接表中,以便于通过边或顶点查找到对应的数据记录;其中,所述图拓扑数据包括边ID、顶点ID、边与顶点之间的拓扑结构以及对应数据记录的ROWID。本发明将图数据中多种类型的数据分开存储,将每个顶点和边以及对应的属性、关系、标签均存储到分区数据表中,并通过邻接表单独存储图拓扑数据,以避免邻接表的存储规模过大而导致图拓扑数据的查询性能下降。
技术领域
本发明涉及数据库技术领域,特别是涉及一种图数据存储方法和装置。
背景技术
图是由若干点及连接点的边所构成的一种数据结构。图因其对事物之间的关系的直观表达方式以及易于扩展的结构,在计算机和人工智能领域得到越来越普遍的应用。
存储图这种数据结构的方法有很多,总体上可分为原生图存储和非原生图存储两大类。原生图存储通过在内部维护原生的邻接关系能够很好地解决大量实体之间的关联性分析,在处理实体间的关系时具有很好的性能。而非原生图存储多采用基于KV键值对的数据结构来表示顶点之间的邻接关系,一个KV键值对一般只能表示一层邻接关系,在进行多层邻接查询时需要频繁访问KV结构,在一些计算与存储分离的图存储架构中,需要多次网络通信,查询性能较低,无法体现出图存储在关系挖掘中的优势。
常见的原生图存储方式主要有邻接矩阵和邻接表。邻接矩阵用一个一维数组存储图中所有的顶点,用一个二维数组存储图中各顶点之间的邻接关系(边),两个点之间即使不存在边,也要在二维数组中占据一个存储位置,其空间复杂度是O(V2)。邻接表也是用一个一维数组存储图中所有的顶点,但存储边时则是为每个顶点建立一个单链表,记录了该顶点的所有的边,其空间复杂度是O(V+E)。比较两种存储方式,邻接矩阵的优点是比较适合稠密图的存储,很容易确定图中任意两个顶点之间是否有边相连,插入、删除边也很简单,但在存储稀疏图时空间浪费很大,而且一般情况下无法存储多重边,且判断一个顶点有多少关联边时需要扫描整行或整列,花费代价很大。邻接表的存储效率较邻接矩阵更高,可以存储多重边,查询一个顶点的所有邻接边只需查询该顶点的单链表即可,但要判断两个顶点之间是否存在边,需要遍历整个单链表,查询效率比邻接矩阵低。
上述原生图存储方法主要考虑的是图的拓扑结构,实际的图应用中需要将图中的顶点和边按类别进行分组,简单的邻接矩阵或邻接表无法根据类别进行分类查询。同时,顶点和边通常都带有自己的属性信息,若将属性数据和拓扑数据聚集存储,会使得图的拓扑数据的存储规模膨胀,从而导致大部分邻接关系的查询性能会急剧下降。
基于KV结构的非原生图存储在多层邻接查询时性能较低,而传统的邻接矩阵和邻接表等原生图存储结构无法对不同类别的顶点和边进行分类存储与查询,对属性图的存储也没有很好的解决方案,无法适应现代大图存储的要求。
鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。
发明内容
本发明要解决的技术问题是顶点和边通常都带有自己的属性信息,而现有技术中将属性数据和拓扑数据聚集存储,会使得图的拓扑数据的存储规模膨胀,从而导致大部分邻接关系的查询性能会急剧下降。
本发明采用如下技术方案:
第一方面,本发明提供了一种图数据存储方法,数据存储结构包括多个分区数据表、邻接表、属性索引表和顶点索引表,所述存储方法包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川蜀天梦图数据科技有限公司,未经四川蜀天梦图数据科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211591627.X/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置