CN114564620A - 图数据存储方法、系统及计算机设备 - Google Patents
图数据存储方法、系统及计算机设备 Download PDFInfo
- Publication number
- CN114564620A CN114564620A CN202210178094.6A CN202210178094A CN114564620A CN 114564620 A CN114564620 A CN 114564620A CN 202210178094 A CN202210178094 A CN 202210178094A CN 114564620 A CN114564620 A CN 114564620A
- Authority
- CN
- China
- Prior art keywords
- data
- relationship
- vertex
- identification data
- attribute
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000013500 data storage Methods 0.000 title claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 22
- 230000002085 persistent effect Effects 0.000 claims abstract description 17
- 238000000354 decomposition reaction Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种图数据存储方法、系统及计算机设备,方法包括:分解并处理待存储图数据获取顶点标识数据、属性数据和关系标识数据,顶点标识数据包括开始顶点标识数据和结束顶点标识数据;创建包含若干关系桶的关系桶元数据,每个关系桶以KV键形式存储关系标识数据相同的待存储图数据;基于顶点标识数据和属性数据创建顶点属性集合并基于属性数据和关系标识数据创建关系属性集合;分布存储顶点属性集合、关系属性集合、属性倒排索引和关系桶元数据至持久内存介质中;利用持久性内存、唯一性数据只存储一份键值数据,关系网络分桶存储,便于水平拓展,查询时以标识直接获取关键数据,查询时间与数据集大小无关,更快处理图数据存储和查询。
Description
技术领域
本发明涉及图数据处理领域,具体涉及一种图数据存储方法、系统及计算机设备。
背景技术
随着社交、电商、金融、零售、物联网等行业的快速发展,现实社会织起了了一张庞大而复杂的关系网,传统数据库很难处理关系运算,亟需一种支持海量复杂数据关系运算的数据库,图数据库在此背景下诞生。对于任何达到一定规模或价值的数据,图数据库都是呈现和查询这些关系数据的最好方式。
图存储是图数据库至关重要的一环,通常包括如邻接矩阵或邻接链表的原生图存储和例如JanusGraph的非原生的图存储,原生图存储需要专门定制和优化,而非原生的图存储存在不同程度的读放大等消耗,目前大数据行业需要处理的数据之间的关系随数据量呈几何级数增长,对效率的要求与日俱增,现有的图存储方法面临巨大的图数据存储和查询性能的突破挑战。
发明内容
本发明目的是:提供一种能提高图数据存储、查询效率的图数据存储方法、系统及计算机设备。
本发明的技术方案是:第一方面,本发明提供一种图数据存储方法,所述方法包括:
分解并处理待存储图数据获取顶点标识数据、属性数据和关系标识数据,所述顶点标识数据包括开始顶点标识数据和结束顶点标识数据;
创建包含若干关系桶的关系桶元数据,每个所述关系桶以KV键形式存储所述关系标识数据相同的所述待存储图数据;
基于所述顶点标识数据和属性数据创建顶点属性集合并基于所述属性数据和关系标识数据创建关系属性集合;
分布存储所述顶点属性集合、所述关系属性集合、所述属性倒排索引和所述关系桶元数据至持久内存介质中。
在一种较佳的实施方式中,所述创建包含若干关系桶的关系桶元数据,每个所述关系桶以KV键形式存储所述关系标识数据相同的所述待存储图数据之前,所述方法还包括:
以所述开始顶点标识数据和所述关系标识数据组合为键、以所述结束顶点标识数据为值构建KV键形式数据。
在一种较佳的实施方式中,所述创建包含若干关系桶的关系桶元数据,每个所述关系桶以KV键形式存储所述关系标识数据相同的所述待存储图数据包括:
创建存储有关系标识数据相同的待存储图数据的关系桶;
建立每个所述关系桶的ID并关联所述关系桶的ID与所述关系桶所存储的待存储图数据的关系标识数据;
创建包括所有所述关系桶的关系桶元数据并存储所述关系桶的ID关联内容于所述关系桶元数据中。
在一种较佳的实施方式中,所述基于所述顶点标识数据和属性数据创建顶点属性集合并基于所述属性数据和关系标识数据创建关系属性集合包括:
基于所述顶点标识数据和属性数据创建以键值模型存储所述顶点标识数据和属性数据的顶点属性集合,所述顶点属性集合以所述顶点标识数据为键、以所述属性数据为值;
基于所述属性数据和关系标识数据创建以键值模型存储所述属性数据和关系标识数据的关系属性集合,所述关系属性集合以所述关系桶ID与关系标识数据为键、以所述属性数据为值。
在一种较佳的实施方式中,所述关系桶ID关联内容至少包括:关系类型、所述关系类型对应的数据量以及所述关系类型关联的所有关系桶的ID、所述关系类型关联的所有关系桶位置。
在一种较佳的实施方式中,所述基于所述顶点标识数据和属性数据创建顶点属性集合并基于所述属性数据和关系标识数据创建关系属性集合之后,所述方法还包括:
基于所述顶点属性集合与所述关系属性集合创建属性倒排索引。
在一种较佳的实施方式中,所述方法还包括:
获取待写入图数据;
分解所述待写入图数据以获得所述待写入图数据的开始顶点标识数据、所述待写入图数据的关系标识数据、所述待写入图数据的属性数据和所述待写入图数据的结束顶点标识数据;
基于所述关系标识数据查找对应的目标关系桶;
以所述待写入图数据的开始顶点标识数据和所述待写入图数据的关系标识数据对应的关系标识为键、以所述待写入图数据的结束顶点标识数据为值构建KV键形式数据并写入所述目标关系桶中;
在所述关系属性集合中写入所述待写入图数据的属性数据。
在一种较佳的实施方式中,所述方法还包括:
接收图数据查询请求,所述图数据查询请求中至少包括查询类型、目标查询顶点标识数据和目标关系标识数据;
基于所述目标查询顶点标识数据与所述目标关系标识数据定位目标关系桶;
基于所述查询类型和所述目标关系顶点ID以及所述目标关系桶获取目标查询结果。
第二方面,本发明还提供一种图数据存储系统,所述系统包括:
分解处理模块,用于分解并处理待存储图数据获取顶点标识数据、属性数据和关系标识数据,所述顶点标识数据包括开始顶点标识数据和结束顶点标识数据;
第一创建模块,用于创建包含若干关系桶的关系桶元数据,每个所述关系桶以KV键形式存储所述关系标识数据相同的所述待存储图数据;
第二创建模块,用于基于所述顶点标识数据和属性数据创建顶点属性集合并基于所述属性数据和关系标识数据创建关系属性集合;
分布存储模块,用于分布存储所述顶点属性集合、所述关系属性集合、所述属性倒排索引和所述关系桶元数据至持久内存介质中。
第三方面,本发明还提供一种计算机设备,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行根据第一方面中任一所述的方法。
本发明的优点是:提高一种图数据存储方法、系统及计算机设备,方法包括:分解并处理待存储图数据获取顶点标识数据、属性数据和关系标识数据,顶点标识数据包括开始顶点标识数据和结束顶点标识数据;创建包含若干关系桶的关系桶元数据,每个关系桶以KV键形式存储关系标识数据相同的待存储图数据;基于顶点标识数据和属性数据创建顶点属性集合并基于属性数据和关系标识数据创建关系属性集合;分布存储顶点属性集合、关系属性集合、属性倒排索引和关系桶元数据至持久内存介质中;利用持久性内存的DAX特性直接存储特定结构的数据,唯一性数据只存储一份键值数据,关系网络分桶存储,便于水平拓展,桶内数据可以递归迭代,查询时以标识直接获取关键数据,使得复杂的关系网络查询的所需时间与数据集大小无关,能够以更快的速度处理图数据存储和查询。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请中进行图数据存储的架构图;
图2为本申请实施例所提供的图数据存储方法流程图;
图3为本申请实施例所提供的图数据存储方法中关系桶中存储的数据结构示意图;
图4为本申请实施例所提供的图数据存储方法中基于当前存储内容查询目标图数据的第一流程图;
图5为本申请实施例所提供的图数据存储方法中基于当前存储内容查询目标图数据的第二流程图;
图6为本申请实施例所提供的图数据存储方法中基于当前存储内容查询目标图数据的第三流程图;
图7为本申请实施例所提供的图数据存储系统架构图;
图8为本申请实施例所提供的计算机设备架构图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如背景技术所述,图关系数据:即图数据,Graph Data,是以“图”这种数据结构存储和查询数据,而不是存储图片数据,它的数据模型主要是以节点和关系(边)来体现。当前的图数据存储通常采用如邻接矩阵或邻接链表的原生图大图存储和例如JanusGraph的非原生的图存储,在查询扫描时需要进行大量的I/O(计算机的数据读写操作),查询效率低。
为解决上述问题,本申请提出了一种图数据存储方法、系统及计算机设备,以关系桶为基础的新的图存储数据结构,其中图数据的存储主要包括顶点属性集合、关系属性集合及若干个关系桶,关系桶中以开始顶点标识和关系标识组合成键、以结束顶点标识为值的键值结构存储图关系数据,唯一性数据只存储一份键值数据,关系网络分桶存储,便于水平拓展,查询所需时间与数据集大小无关,能够更快速地处理图数据存储和查询。下面将结合具体实施例对本申请所提出的数据库查询调优方法、系统及计算机设备进行介绍。
实施例一:本实施例对本申请中进行图数据存储的架构进行介绍。
参照图1所示,该架构包括:持久性内存(PMem)存储介质,于持久性内存存储介质中分布式存储顶点属性集合、关系属性集合、属性倒排索引以及关系桶元数据。其中,关系桶元数据中包括若干个关系桶,一个关系桶中存储有同一种关系的图关系数据,当某种关系的图关系数据数量特别大时,可以分拆成多个子桶存储,关系桶元数据中存储分拆子桶存储记录。另外,每个关系桶有自己的唯一ID,关系桶元数据中还存储关系桶ID关联内容,关系桶ID关联内容至少包括:关系类型、关系类型对应的数据量以及关系类型关联的所有关系桶的ID、关系类型关联的所有关系桶位置。
实施例二:基于上述实施例一所介绍的进行图数据存储的架构,本实施例提供参照图2所示,对本申请中图数据存储方法过程进行介绍。
具体的,参照图2所示,本实施例所提供的图数据存储方法进行图数据存储的过程包括:
S210、分解并处理待存储图数据获取顶点标识数据、属性数据和关系标识数据,顶点标识数据包括开始顶点标识数据和结束顶点标识数据。
具体的,待存储图数据通常包括两个关系主体以及之间的关系,示例性的:一条图数据为:小王是小明的爸爸,则该图数据可以分解出开始顶点标识数据——小王、结束顶点标识数据——小明、属性数据——小王与小明的属性,以及关系标识数据——父子关系标识数据。关系标识数据与关系内容对应关系预设生成且一一对应,例如:关系标识数据0001代表父子,关系标识数据0002代表朋友,关系标识数据0003代表母子。
优选的,在S220之前,该方法包括:
SA1、以开始顶点标识数据和关系标识数据组合为键、以结束顶点标识数据为值构建KV键形式数据。
具体的,构建键值K-V结构,键(K)由开始顶点标识数据和关系标识数据组合而成,其中顶点标识符为唯一指向顶点的标识数据,可以视为地址指针的等价物,可以直接获取到顶点属性,反之也可以从顶点集合中快速获得该唯一标识符;关系标识是从属于该顶点的表示某种关系的一串固定位数的序号,而值(V)为结束顶点标识符。
更优选的,以图数据中定长的开始顶点标识和定长的关系标识组合为键、以结束顶点标识符为值构建KV键形式数据。以关系划分KV键形式数据,便于后续将同种关系的图关系数据分布存储。
S220、创建包含若干关系桶的关系桶元数据,每个关系桶以KV键形式存储关系标识数据相同的待存储图数据。
优选的,本步骤包括:
S221、创建存储有关系标识数据相同的待存储图数据的关系桶。
具体的,以关系种类划分KV键形式数据,同种关系的图数据存储在一个关系桶中,即一个关系桶中所包括的图数据的关系标识数据相同,一个关系桶中的图数据的关系标识数据表示何种关系由当前所在的桶的类型所确定。关系桶(RB,意为relations bucket)的设计表示如下:
RB=[K->V]=[(P1+Rs)->P2],其中:RB表示关系桶,K表示键,V表示值,P1表示开始顶点标识符,Rs表示关系标识,P2表示结束顶点标识符。关系桶中的数据结构参照图3所示。
S222、建立每个关系桶的ID并关联关系桶的ID与关系桶所存储的待存储图数据的关系标识数据。
S223、创建包括所有关系桶的关系桶元数据并存储关系桶的ID关联内容于关系桶元数据中。
具体的,关系桶的ID关联内容至少包括:关系类型、关系类型对应的数据量以及关系类型关联的所有关系桶的ID、关系类型关联的所有关系桶位置。即关系桶的ID表示的内容由关系桶元数据记录,包括但不限于关系属性集合键表示什么类型的关系,该类型一共有多少条,该类型分布在哪些关系桶中,关系桶的位置等。
S230、基于顶点标识数据和属性数据创建顶点属性集合并基于属性数据和关系标识数据创建关系属性集合。
具体的,顶点标识数据唯一指向顶点,示例性的,顶点标识数据为顶点ID。顶点属性集合中存储顶点ID和属性,关系属性集合中存储属性和关系ID。
优选的,本步骤包括:
S231、基于顶点标识数据和属性数据创建以键值模型存储顶点标识数据和属性数据的顶点属性集合,顶点属性集合以顶点标识数据为键、以属性数据为值。
具体的,顶点属性集合中以顶点ID为键,内容是数据对象的持久内存ID(PMEMoid),通常是64位大小,持久内存ID可以很容易转换为内存指针;顶点属性集合属性值为单独的标签值和不透明的二进制数据,大小不固定。
S232、基于属性数据和关系标识数据创建以键值模型存储属性数据和关系标识数据的关系属性集合,关系属性集合以关系桶ID与关系标识数据为键、以属性数据为值。
具体的,关系属性集合中的键由16位的关系桶ID+16位的关系标识组成,共32位;其中关系桶ID最高位的0或1分别表示关系是单向的还是双向的,比如父子关系或朋友关系,剩余的7位组成一个序列号。关系属性集合属性值的数据结构与顶点属性集合中类似。
优选的,在S230之后,该方法还包括:
SA2、基于顶点属性集合与关系属性集合创建属性倒排索引。
具体的,根据顶点属性集合与关系属性集合中所保存的数据生成属性的倒排索引,便于定位查找顶点属性集合与关系属性集合中的数据,以及便于查找顶点属性集合中的属性值。
S240、分布存储顶点属性集合、关系属性集合、属性倒排索引和关系桶元数据至持久内存介质中。
持久性内存(PMem,Persistent Memory)是新一代的存储介质,字节可寻址、读写性能高,且具有掉电非易失、存储密度大、静态功耗低等这些传统内存(DRAM,DynamicRandom Access Memory)不具备的优点。
优选的,该方法还包括:
SA3、根据当前存储内容写入待写入图数据,包括:
SA31、获取待写入图数据。
SA32、分解处理待写入图数据以获得待写入图数据的开始顶点标识数据、待写入图数据的关系标识数据、待写入图数据的属性数据和待写入图数据的结束顶点标识数据。
示例性的,待写入图数据为小王是小明的爸爸的图关系数据,分解处理该待写入图数据获得待写入图数据的开始顶点标识数据——小王ID、待写入图数据的关系标识数据——爸爸关系的标识0000 0001、待写入图数据的属性数据——当爸爸的年份:2020和待写入图数据的结束顶点标识数据——小明ID。
例如小王是小明的爸爸,先找到“爸爸”这个关系桶,然后写入(小王ID+“00000001”)->(小明ID)这样的键值对数据,同时在Rc中记录这条关系的具体属性,例如“爸爸-0000 0001”的属性是当爸爸的年份:2020。
SA33、基于关系标识数据查找对应的目标关系桶。
关系桶的ID关联关系桶中所存储的图数据的关系标识数据,因此通过关系标识数据能迅速查找对应的目标关系桶。
SA34、以待写入图数据的开始顶点标识数据和待写入图数据的关系标识数据对应的关系标识为键、以待写入图数据的结束顶点标识数据为值构建KV键形式数据并写入目标关系桶中。
具体的,接上述示例,构建(小王ID+“00000001”)->(小明ID)这样的KV键值对数据,并写入ID关联关系标识数据为“00000001”目标关系桶中。
SA35、在关系属性集合中写入待写入图数据的属性数据。
具体的,接上述示例,在关系属性集合中记录这条待写入图数据的具体属性,由于“爸爸-00000001”的属性是当爸爸的年份:2020,关系属性集合中的内容是以关系桶ID与关系标识数据为键、以属性数据为值,目标关系桶的ID为A01,则关系属性集合中写入的内容为(00000001+A01)->(2020)。
优选的,该方法还包括:
SA4、基于当前存储内容查询目标图数据,包括:
SA41、接收图数据查询请求,图数据查询请求中至少包括查询类型、目标查询顶点标识数据和目标关系标识数据。
示例性的,在一个具体实施例中,参照图4所示,查询类型为二度查询,目标查询顶点数据为A的顶点ID,目标关系标识数据为“朋友”关系的标识数据,即图数据查询请求查询A的朋友的朋友里有没有叫X的人。
SA42、基于目标查询顶点标识数据与目标关系标识数据定位目标关系桶。
接上述示例,具体的,根据朋友关系对应的关系标识数据查询定位存储有朋友关系图数据的目标关系桶。
SA43、基于所述查询类型和所述目标关系顶点ID以及所述目标关系桶获取目标查询结果。
接上述示例,本步骤具体包括在目标关系桶中查询所有的A的顶点ID开头的关系指向的顶点ID系列B,再从本桶里拿到所有系列B指向的顶点ID系列C,从顶点属性集合中获取顶点系列C对应的姓名属性。
在另一个具体实施方式中,参照图5所示,查询类型为统计查询,目标查询顶点标识数据为A的顶点ID,目标关系标识数据为“朋友”关系的标识数据,即要查询A有多少个朋友。则根据“朋友”关系的标识数据查询定位存储有朋友关系图数据的目标关系桶,在目标关系桶中查询所有的A的顶点ID开头的关系标识系列,统计该系列中的数据个数即为查询结果,若不止一个关系桶,将数值相加即可。
在另一个具体实施方式中,参照图6所示,查询类型为1个月内电话范围查询,目标查询顶点标识数据为A的顶点ID,目标关系标识数据为“通话”关系的标识数据,即要查询A最近1个月给谁打过电话次数最多。则从关系桶元数据中拿到关系桶ID,从关系属性集合中桶ID开头的关系条目,从中过滤时间为近1个月的关系条目系列T,从“通话”关系桶中拿出A的ID+T系列的所有顶点系列H,H系列中出现最多的Y即是结果。
本实施例所提供的图数据存储方法,包括:分解并处理待存储图数据获取顶点标识数据、属性数据和关系标识数据,顶点标识数据包括开始顶点标识数据和结束顶点标识数据;创建包含若干关系桶的关系桶元数据,每个关系桶以KV键形式存储关系标识数据相同的待存储图数据;基于顶点标识数据和属性数据创建顶点属性集合并基于属性数据和关系标识数据创建关系属性集合;分布存储顶点属性集合、关系属性集合、属性倒排索引和关系桶元数据至持久内存介质中;利用持久性内存的DAX特性直接存储特定结构的数据,唯一性数据只存储一份键值数据,关系网络分桶存储,便于水平拓展,桶内数据可以递归迭代,查询时以标识直接获取关键数据,使得复杂的关系网络查询的所需时间与数据集大小无关,能够以更快的速度处理图数据存储和查询。
实施例三:于上述实施例一与实施例二相对应的,下面将结合图7,对本申请提供的图数据存储系统进行介绍。其中,该系统可以通过硬件或软件的方式实现,也可以通过软硬件结合的方式实现,本申请并不限定。
在一个示例中如图4所示,本申请提供了一种图数据存储系统,该系统包括:
分解处理模块710,用于分解并处理待存储图数据获取顶点标识数据、属性数据和关系标识数据,所述顶点标识数据包括开始顶点标识数据和结束顶点标识数据;
第一创建模块720,用于创建包含若干关系桶的关系桶元数据,每个所述关系桶以KV键形式存储所述关系标识数据相同的所述待存储图数据;
第二创建模块730,用于基于所述顶点标识数据和属性数据创建顶点属性集合并基于所述属性数据和关系标识数据创建关系属性集合;
分布存储模块740,用于分布存储所述顶点属性集合、所述关系属性集合、所述属性倒排索引和所述关系桶元数据至持久内存介质中。
在一种具体的实施方式中,该系统还包括:
数据构建模块750,用于在第一创建模块720创建包含若干关系桶的关系桶元数据,每个所述关系桶以KV键形式存储所述关系标识数据相同的所述待存储图数据之前,以所述开始顶点标识数据和所述关系标识数据组合为键、以所述结束顶点标识数据为值构建KV键形式数据。
优选的,第一创建模块720包括:
第一创建单元721,用于创建存储有关系标识数据相同的待存储图数据的关系桶;
建立关联单元722,用于建立每个所述关系桶的ID并关联所述关系桶的ID与所述关系桶所存储的待存储图数据的关系标识数据;;
第二创建单元723,用于创建包括所有所述关系桶的关系桶元数据并存储所述关系桶的ID关联内容于所述关系桶元数据中。
更优选的,第二创建模块730包括:
第三创建单元731,用于基于所述顶点标识数据和属性数据创建以键值模型存储所述顶点标识数据和属性数据的顶点属性集合,所述顶点属性集合以所述顶点标识数据为键、以所述属性数据为值;
第四创建单元732,用于基于所述属性数据和关系标识数据创建以键值模型存储所述属性数据和关系标识数据的关系属性集合,所述关系属性集合以所述关系桶ID与关系标识数据为键、以所述属性数据为值。
在一种具体的实施方式中,该系统还包括:
第三创建模块760,用于在第二创建模块730基于所述顶点标识数据和属性数据创建顶点属性集合并基于所述属性数据和关系标识数据创建关系属性集合之后,基于所述顶点属性集合与所述关系属性集合创建属性倒排索引。
在一种具体的实施方式中,该系统还包括:
写入模块770,包括:
第一获取单元771,用于获取待写入图数据;
分解单元772,用于分解所述待写入图数据以获得所述待写入图数据的开始顶点标识数据、所述待写入图数据的关系标识数据、所述待写入图数据的属性数据和所述待写入图数据的结束顶点标识数据;
查找单元773,用于基于所述关系标识数据查找对应的目标关系桶;
第一写入单元774,用于以所述待写入图数据的开始顶点标识数据和所述待写入图数据的关系标识数据对应的关系标识为键、以所述待写入图数据的结束顶点标识数据为值构建KV键形式数据并写入所述目标关系桶中;
第二写入单元775,用于在所述关系属性集合中写入所述待写入图数据的属性数据。
在一种具体的实施方式中,该系统还包括:
查询模块780,包括:
接收单元781,用于接收图数据查询请求,所述图数据查询请求中至少包括查询类型、目标查询顶点标识数据和目标关系标识数据;
定位单元782,用于基于所述目标查询顶点标识数据与所述目标关系标识数据定位目标关系桶;
第二获取单元783,用于基于所述查询类型和所述目标关系顶点ID以及所述目标关系桶获取目标查询结果。
实施例四:与上述实施例一至实施例三相对应的,下面将结合图8,对本申请提供的计算机设备进行介绍。在一个示例如图8所示,本申请提供了一种计算机设备,该计算机设备包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
分解并处理待存储图数据获取顶点标识数据、属性数据和关系标识数据,所述顶点标识数据包括开始顶点标识数据和结束顶点标识数据;
创建包含若干关系桶的关系桶元数据,每个所述关系桶以KV键形式存储所述关系标识数据相同的所述待存储图数据;
基于所述顶点标识数据和属性数据创建顶点属性集合并基于所述属性数据和关系标识数据创建关系属性集合;
分布存储所述顶点属性集合、所述关系属性集合、所述属性倒排索引和所述关系桶元数据至持久内存介质中。
其中,图8示例性的展示出了计算机设备的架构,具体可以包括处理器810,视频显示适配器811,磁盘驱动器812,输入/输出接口813,网络接口814,以及存储器820。上述处理器810、视频显示适配器811、磁盘驱动器812、输入/输出接口813、网络接口814,与存储器820之间可以通过通信总线830进行通信连接。
其中,处理器810可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
存储器820可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器820可以存储用于控制计算机设备800运行的操作系统821,用于控制计算机设备800的低级别操作的基本输入输出系统(BIOS)822。另外,还可以存储网页浏览器823,数据存储管理824,以及图标字体处理系统825等等。上述图标字体处理系统825就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器820中,并由处理器810来调用执行。
输入/输出接口813用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
网络接口814用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线830包括一通路,在设备的各个组件(例如处理器810、视频显示适配器811、磁盘驱动器812、输入/输出接口813、网络接口814,与存储器820)之间传输信息。
另外,该计算机设备800还可以从虚拟资源对象领取条件信息数据库841中获得具体领取条件的信息,以用于进行条件判断,等等。
需要说明的是,尽管上述计算机设备800仅示出了处理器810、视频显示适配器811、磁盘驱动器812、输入/输出接口813、网络接口814,存储器820,总线830等,但是在具体实施过程中,该计算机设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,云服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
另外需要说明的是:本申请中术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。当然上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明主要技术方案的精神实质所做的修饰,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种图数据存储方法,其特征在于,所述方法包括:
分解并处理待存储图数据获取顶点标识数据、属性数据和关系标识数据,所述顶点标识数据包括开始顶点标识数据和结束顶点标识数据;
创建包含若干关系桶的关系桶元数据,每个所述关系桶以KV键形式存储所述关系标识数据相同的所述待存储图数据;
基于所述顶点标识数据和属性数据创建顶点属性集合并基于所述属性数据和关系标识数据创建关系属性集合;
分布存储所述顶点属性集合、所述关系属性集合、所述属性倒排索引和所述关系桶元数据至持久内存介质中。
2.根据权利要求1所述的图数据存储方法,其特征在于,所述创建包含若干关系桶的关系桶元数据,每个所述关系桶以KV键形式存储所述关系标识数据相同的所述待存储图数据之前,所述方法还包括:
以所述开始顶点标识数据和所述关系标识数据组合为键、以所述结束顶点标识数据为值构建KV键形式数据。
3.根据权利要求2所述的图数据存储方法,其特征在于,所述创建包含若干关系桶的关系桶元数据,每个所述关系桶以KV键形式存储所述关系标识数据相同的所述待存储图数据包括:
创建存储有关系标识数据相同的待存储图数据的关系桶;
建立每个所述关系桶的ID并关联所述关系桶的ID与所述关系桶所存储的待存储图数据的关系标识数据;
创建包括所有所述关系桶的关系桶元数据并存储所述关系桶的ID关联内容于所述关系桶元数据中。
4.根据权利要求3所述的图数据存储方法,其特征在于,所述基于所述顶点标识数据和属性数据创建顶点属性集合并基于所述属性数据和关系标识数据创建关系属性集合包括:
基于所述顶点标识数据和属性数据创建以键值模型存储所述顶点标识数据和属性数据的顶点属性集合,所述顶点属性集合以所述顶点标识数据为键、以所述属性数据为值;
基于所述属性数据和关系标识数据创建以键值模型存储所述属性数据和关系标识数据的关系属性集合,所述关系属性集合以所述关系桶ID与关系标识数据为键、以所述属性数据为值。
5.根据权利要求3所述的图数据存储方法,其特征在于,所述关系桶ID关联内容至少包括:关系类型、所述关系类型对应的数据量以及所述关系类型关联的所有关系桶的ID、所述关系类型关联的所有关系桶位置。
6.根据权利要求1所述的图数据存储方法,其特征在于,所述基于所述顶点标识数据和属性数据创建顶点属性集合并基于所述属性数据和关系标识数据创建关系属性集合之后,所述方法还包括:
基于所述顶点属性集合与所述关系属性集合创建属性倒排索引。
7.根据权利要求1所述的图数据存储方法,其特征在于,所述方法还包括:
获取待写入图数据;
分解所述待写入图数据以获得所述待写入图数据的开始顶点标识数据、所述待写入图数据的关系标识数据、所述待写入图数据的属性数据和所述待写入图数据的结束顶点标识数据;
基于所述关系标识数据查找对应的目标关系桶;
以所述待写入图数据的开始顶点标识数据和所述待写入图数据的关系标识数据对应的关系标识为键、以所述待写入图数据的结束顶点标识数据为值构建KV键形式数据并写入所述目标关系桶中;
在所述关系属性集合中写入所述待写入图数据的属性数据。
8.根据权利要求1所述的图数据存储方法,其特征在于,所述方法还包括:
接收图数据查询请求,所述图数据查询请求中至少包括查询类型、目标查询顶点标识数据和目标关系标识数据;
基于所述目标查询顶点标识数据与所述目标关系标识数据定位目标关系桶;
基于所述查询类型和所述目标关系顶点ID以及所述目标关系桶获取目标查询结果。
9.一种图数据存储系统,其特征在于,所述系统包括:
分解处理模块,用于分解并处理待存储图数据获取顶点标识数据、属性数据和关系标识数据,所述顶点标识数据包括开始顶点标识数据和结束顶点标识数据;
第一创建模块,用于创建包含若干关系桶的关系桶元数据,每个所述关系桶以KV键形式存储所述关系标识数据相同的所述待存储图数据;
第二创建模块,用于基于所述顶点标识数据和属性数据创建顶点属性集合并基于所述属性数据和关系标识数据创建关系属性集合;
分布存储模块,用于分布存储所述顶点属性集合、所述关系属性集合、所述属性倒排索引和所述关系桶元数据至持久内存介质中。
10.一种计算机设备,其特征在于,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行根据权利要求1-8中任一所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210178094.6A CN114564620A (zh) | 2022-02-25 | 2022-02-25 | 图数据存储方法、系统及计算机设备 |
PCT/CN2022/138771 WO2023160137A1 (zh) | 2022-02-25 | 2022-12-13 | 图数据存储方法、系统及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210178094.6A CN114564620A (zh) | 2022-02-25 | 2022-02-25 | 图数据存储方法、系统及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114564620A true CN114564620A (zh) | 2022-05-31 |
Family
ID=81715125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210178094.6A Pending CN114564620A (zh) | 2022-02-25 | 2022-02-25 | 图数据存储方法、系统及计算机设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114564620A (zh) |
WO (1) | WO2023160137A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114741569A (zh) * | 2022-06-09 | 2022-07-12 | 杭州欧若数网科技有限公司 | 一种在图数据库中支持复合数据类型方法及装置 |
CN115658329A (zh) * | 2022-12-22 | 2023-01-31 | 杭州欧若数网科技有限公司 | 一种图数据结构的内存优化方法、系统和介质 |
WO2023160137A1 (zh) * | 2022-02-25 | 2023-08-31 | 苏州浪潮智能科技有限公司 | 图数据存储方法、系统及计算机设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9323864B2 (en) * | 2013-08-14 | 2016-04-26 | International Business Machines Corporation | Method and apparatus for identifying the optimal schema to store graph data in a relational store |
CN109446362B (zh) * | 2018-09-05 | 2021-07-23 | 深圳神图科技有限公司 | 基于外存的图数据库结构、图数据存储方法、装置 |
CN109726305A (zh) * | 2018-12-30 | 2019-05-07 | 中国电子科技集团公司信息科学研究院 | 一种基于图结构的复杂关系数据存储及检索方法 |
CN111881326A (zh) * | 2020-07-24 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种图数据存储方法、装置、设备及可读存储介质 |
CN114564620A (zh) * | 2022-02-25 | 2022-05-31 | 苏州浪潮智能科技有限公司 | 图数据存储方法、系统及计算机设备 |
-
2022
- 2022-02-25 CN CN202210178094.6A patent/CN114564620A/zh active Pending
- 2022-12-13 WO PCT/CN2022/138771 patent/WO2023160137A1/zh unknown
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023160137A1 (zh) * | 2022-02-25 | 2023-08-31 | 苏州浪潮智能科技有限公司 | 图数据存储方法、系统及计算机设备 |
CN114741569A (zh) * | 2022-06-09 | 2022-07-12 | 杭州欧若数网科技有限公司 | 一种在图数据库中支持复合数据类型方法及装置 |
CN114741569B (zh) * | 2022-06-09 | 2022-09-13 | 杭州欧若数网科技有限公司 | 一种在图数据库中支持复合数据类型方法及装置 |
CN115658329A (zh) * | 2022-12-22 | 2023-01-31 | 杭州欧若数网科技有限公司 | 一种图数据结构的内存优化方法、系统和介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023160137A1 (zh) | 2023-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114564620A (zh) | 图数据存储方法、系统及计算机设备 | |
MX2013014800A (es) | Recomendacion de enriquecimientos de datos. | |
CN105373541A (zh) | 数据库的数据操作请求的处理方法和系统 | |
CN108932286B (zh) | 一种数据查询方法及装置 | |
CN109359141B (zh) | 一种可视化报表数据展示方法及装置 | |
CN115269877A (zh) | 领域实体与事件双中心知识图谱构建方法、系统及设备 | |
CN111913960A (zh) | 一种表单处理方法及相关设备 | |
CN111708805A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
CN110737747A (zh) | 一种数据操作方法、装置及系统 | |
CN113779286B (zh) | 管理图数据的方法及装置 | |
CN113064895B (zh) | 一种图谱的增量更新方法、装置及系统 | |
CN117390011A (zh) | 报表数据处理方法、装置、计算机设备和存储介质 | |
CN116414854A (zh) | 数据资产查询方法、装置、计算机设备和存储介质 | |
CN113821514B (zh) | 数据拆分方法、装置、电子设备和可读存储介质 | |
US20220284060A1 (en) | Question Answering Method and Apparatus Based on Knowledge Graph | |
CN111897837A (zh) | 数据查询方法、装置、设备和介质 | |
CN113360496B (zh) | 一种构建元数据标签库的方法及装置 | |
CN112685557B (zh) | 可视化信息资源管理方法及装置 | |
CN114840551A (zh) | 数据库表的处理方法及装置、电子设备、存储介质 | |
CN114298525A (zh) | 一种数据库风险评估方法及装置 | |
CN111242635A (zh) | 售后数据维护方法及系统 | |
CN115309870B (zh) | 一种知识获取方法及装置 | |
CN118569223B (zh) | 多维表格的生成方法、装置以及计算机设备 | |
CN116610703A (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN115422367A (zh) | 用户数据图谱化构建方法、系统、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |