CN111382319A - 一种面向知识图谱的图数据表示和映射方法 - Google Patents
一种面向知识图谱的图数据表示和映射方法 Download PDFInfo
- Publication number
- CN111382319A CN111382319A CN202010189881.1A CN202010189881A CN111382319A CN 111382319 A CN111382319 A CN 111382319A CN 202010189881 A CN202010189881 A CN 202010189881A CN 111382319 A CN111382319 A CN 111382319A
- Authority
- CN
- China
- Prior art keywords
- graph
- index table
- graph data
- data
- data structure
- 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.)
- Granted
Links
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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种面向知识图谱的图数据表示和映射方法,其包括:(10)将大规模图数据结构映射到消息空间,消息空间存储了包含顶点、弧及属性的关键数据结构,包括邻接表和索引表;(20)利用消息空间的全局分布式文件系统特性,持久化存储和全局访问大规模图数据结构;(30)提供全局可访问的索引表结构,用于实现对图数据的并行访问。本发明所述的图数据结构可用于构建低成本的海量图数据库系统,也可以应用于描述各种图结构的数据。
Description
技术领域
本发明属于图数据库技术领域,特别涉及一种面向知识图谱的图数据表示和映射方法,能支持具有潜在的大量计算节点的计算机集群上的图数据表示和操作。
背景技术
图是计算机科学中常用的一类抽象数据结构,图的普适性使得现实世界的实际网络往往能够抽象成图数据模型表示,其在基于计算机数据库的数据处理技术领域具有广泛的应用前景。目前己经被广泛地应用于诸如计算机科学、语言学、逻辑学、物理、化学、电信工程等领域。然而,真实世界中实体规模的扩张,导致对应的图数据规模迅速增长,无论是RDF(Resource Description Framework)图数据,还是社交网络图的数据,动辄有数十亿个顶点和上万亿条边。本文所指的大规模强调的就是单个图的大规模性,通常包含十亿个顶点。面对这样大规模的图,对海量数据处理技术提出了巨大挑战,以图数据常用的最短路径计算为例,对于按邻接表形式存储的100亿顶点、600亿条边的图,假设每个顶点及出度边的存储空间占100字节,那么整个图的存储空间将超过1TB。如此大规模的图,对其存储、更新、查找等处理的时间开销和空间开销远远超出了传统集中式图数据管理的承受能力。针对大规模图数据的高效管理,如存储、索引、更新、查找等,已经成为急需解决的问题。
传统图数据对于数据结构的设计主要由两种方法。一种是在高性能计算机上向上扩展传统图数据结构,同时设计节点间交换信息的通信机制,来支持较大规模的数据,例如Neo4j图数据库系统就是采用这种方法。但当数据集增长到一定规模和节点数时,节点间通信和系统范围的协调机制会遇到困难,这种性能极限使得该方法无法扩展到更大的数据集。
另一种方法是在新兴的分布式体系的复杂通信机制上构建新的图数据结构,例如GFS(Google File System)上的“MapReduce”模型、HDFS(Hadoop Distributed FileSystem)上的“Hadoop”系统模型、RDD(Resilient Distributed Dataset)上的“Spark”系统模型等。但这些新兴分布式体系为了提供可扩展性和维护已定义的程序状态,简化了数据模型,但限制了图数据的操作,对于较为复杂的图数据应用,这种数据结构不够灵活。
发明内容
为了克服现有技术的不足,本发明基于消息空间架构,提供一种面向知识图谱的图数据表示和映射方法,使得图数据结构能扩展到大量计算节点的同时,支持高效的图计算。
本发明解决上述背景存在的技术问题,采用的技术方案如下:
本发明提出一种面向知识图谱的图数据表示和映射方法,其包括:(10)将大规模图数据结构映射到消息空间,消息空间存储了包含顶点、弧及属性的关键数据结构,所述大规模图数据结构包括邻接表和索引表;(20)利用消息空间的全局分布式文件系统特性,持久化存储和全局访问大规模图数据结构;(30)提供全局可访问的索引表结构,用于实现对图数据的并行访问。
其中,所述步骤(10)包括:所有图数据结构在消息空间中都有固定起始位置作为标识,通过消息的固定起始位置能够随机访问图数据结构;将顶点的固定起始位置汇总记录在索引表中,索引表结构包含多个顶点的索引号和对应的消息空间固定起始位置;使用者通过索引表查找和访问图数据结构。
其中,所述步骤(20)包括:数据结构持久化存储后,系统重启后,数据无需重新导入到系统,数据存储是立即持久化的;索引表的存储是持久化的,同时索引表的大小可根据需要进行调整;索引表结构的改变不影响节点、弧和属性的实际数据存储内容。
其中,所述步骤(30)包括:大规模图数据结构的多个消息空间可以组成整体消息空间;每个消息空间大小为32GB至2TB,64个消息空间形成最多总容量达128TB的大规模整体消息空间,从而支持超大规模图数据结构;索引表存储在消息空间的共享部分,不同消息空间都可以访问索引表的全部数据,以此达到对图数据并行访问的目的。
本发明在消息空间上进行表示和映射大规模图数据结构,提供一个可扩展至128TB的大规模消息空间。该消息空间包含传统消息传递的元素,但允许消息存储在一个统一寻址的空间系统。这使得图数据结构能够支持随机访问的超大规模数据。每个消息空间大小为32GB至2TB,多个消息空间可以组成整体消息空间,最多64个消息空间形成总容量可达128TB的大规模整体消息空间,从而支持超大规模图数据结构。在消息空间系统中,创建32GB至2TB的消息空间区域,该区域包含可全局访问和可靠持久化存储两个特性。在该区域中存储邻接表作为核心的图数据结构。所有图数据结构在消息空间中都有固定起始位置作为标识,通过消息的固定起始位置能够随机访问图数据结构。
因为所有任务在消息空间内访问消息,扩展性问题和通信复杂性问题能自然地被基于消息空间的设计所解决。通过将消息的语义扩展为持久化数据结构,本发明可以消除类似命名管道之类的特定专用应用的限制,用一个通用的系统去指定和访问消息。
本发明属于图数据库技术领域,能够支持具有潜在大量计算节点的计算机集群上的图数据表示和操作,该方法可以运用于图数据库实现中,以提升图数据库的查询处理性能。该方法将顶点、弧和属性映射到消息空间系统,并使图数据结构适应消息空间语义,以确保系统的三个竞争性的技术要求:可扩展性、低延迟和一致性。该方法能够扩展到数千个计算节点和数百亿个图形元素,并能够支持低延迟查询操作。
附图说明
图1是图数据结构在消息空间中的表示。
图2所示是图数据的逻辑存储格式。
图3是图数据的物理存储方式。
图4是当前vablist(邻接表)和属性数据存储形式。
图5是索引表结构。
具体实施方式
以下对本发明的具体实施方式做出详细说明。
本发明的一种面向知识图谱的图数据表示和映射方法,其包括如下步骤:
(10)将大规模图数据结构映射到消息空间,消息空间存储了包含顶点、弧及属性的关键数据结构,大规模图数据结构包括邻接表和索引表。
(20)利用消息空间的全局分布式文件系统特性,持久化存储和全局访问大规模图数据结构。
(30)提供全局可访问的索引表结构,用于实现对图数据的并行访问。
其中,所述步骤(10)具体为:所有图数据结构在消息空间中都有固定起始位置作为标识,通过消息的固定起始位置能够随机访问图数据结构;将顶点的固定起始位置汇总记录在索引表中,索引表结构包含多个顶点的索引号和对应的消息空间固定起始位置;使用者通过索引表查找和访问图数据结构。
所述步骤(20)具体为:数据结构持久化存储后,系统重启后,数据无需重新导入到系统,数据存储是立即持久化的;索引表的存储是持久化的,同时索引表的大小可根据需要进行调整;索引表结构的改变不影响节点、弧和属性的实际数据存储内容。
所述步骤(30)具体为:大规模图数据结构的多个消息空间可以组成整体消息空间;每个消息空间大小为32GB至2TB,64个消息空间形成最多总容量达128TB的大规模整体消息空间,从而支持超大规模图数据结构;索引表存储在消息空间的共享部分,不同消息空间都可以访问索引表的全部数据,以此达到对图数据并行访问的目的。
实施例
如图1所示,本发明将图数据的顶点、弧与属性存放于消息空间,并对数据进行持久化。数据所在消息空间ID由顶点决定,弧的空间归属由其起始顶点决定,属性的空间归属随同其所属顶点或弧。
对于N个顶点的图,每个顶点用40位ID进行标识,通过该标识可定位消息空间。系统最多支持不多于240(约10000亿)顶点,N<240。预计在实际系统中,根据问题规模,通常顶点数在一百万至1亿之间。
N个顶点之间最多产生N2种不同关联,2*N2种弧,而分布式图数据库支持多重弧,并用一个50位ID标识每条弧,因此理论上可以有约262万亿条弧。
图数据结构在全局消息空间中以邻接表的形式存储。在邻接表中,一个顶点的所有弧被自然地组织成一个消息,这样可以提高局部性。
图2所示的邻接表包含表头结构(顶点表)和表元素(弧表)两种形式。圆圈内A、B等表示图的顶点,各个节点有一个属性值对其进行唯一确认(即索引号)。图2是对数据存储的一个抽象表示,数据在内存中真实存储时可能是连续的,也可能是不连续的并且是分布式存储,内存管理机制将应用程序抽象成一个消息空间,从而简化应用程序对数据的访问,在消息空间中,无须单独访问各个数据存储节点即可对所有节点上的数据进行遍历访问。
要实现消息空间,可以在原数据的基础上增加一些辅助信息来指明数据的存储。图3示意了图数据的物理存储方式,每条弧数据存储结构包含源顶点、目标顶点、弧权重和弧属性。
源顶点和目标顶点有某种联系关系,即两个顶点之间有弧。其中源顶点和目标顶点是用来标识两个顶点的唯一值,弧权重表示该种关系(该条弧)所占的权重,弧属性表示这条弧具体的属性值。
首先定义主要的数据类型如下:
MREF:引用一个消息的64比特整数。
ArcID:50比特无符号整数。-1为无效值。
VID:5字节无符号整数。-1为无效值。
D3B:3字节数据。
D4B:4字节数据。
D5B:5字节数据。
D24B:24字节数据。
D6b:6比特数据。
int64_t:64比特整数。
基于上述数据结构,可以定义顶点的数据结构如下:
struct VertexSt{
VID id;//40比特有效ID
D5b rsv1;//保留空间
D3b state;//状态位
D2B rsv2;//保留空间至8字节边界
MREF nextv;//下一个顶点的消息引用
MREF nextvab;//下一个VAB的消息引用
MREF prop;//属性消息
D2B rsvType;//顶点类型保留空间
D22B rsv3;//保留空间至64字节边界
}
定义弧的数据结构如下:
struct ArcSt{
VID to;//目的顶点ID
ArcID rsv1;//弧ID保留空间
D6b rsv2;//保留空间至7字节边界。初始若干比特可用作保存状态。
D2B:rsvType;//弧类型保留空间
D2B:rsv3;//保留空间至16字节边界
VID rsv4;//源顶点ID保留空间
D3B rsv5;//保留空间至8字节边界
union{
int64_t llWeight;//整数型的权重
int64_t dWeight;//双精度浮点型的权重
};//至此为32字节
PropertySt prop;//属性数据结构的定义
}
进一步,又可以定义顶点属性的数据结构如下:
struct PropertySt{
MREF msgprop;//消息引用,用消息的位置信息实现
VID rsv1;//顶点ID保留空间
ArcID rsv2;//弧ID保留空间
D6b rsv3;//保留空间至字节边界
D4B rsv4;//保留空间至16字节边界
D8B rsv5;//为后续使用保留空间
D16B freedata;//16字节自由数据区域
}
定义邻接表元素的数据结构如下:
struct VAB{//VertexArcBlock
VertexSt v;//顶点数据结构
ArcSt arcs[];//弧数据结构集合
}
图4示意了当前vablist邻接表和属性数据的存储形式。其中:
1.VertexSt和ArcSt物理上就是连续存储,具体含义见上文相关定义。
2.nextv指向逻辑上的下一个顶点(即ID值在所有ID值中比当前ID值大的最小的顶点)。
3.nextvab指向同一个顶点下一个VAB,用来表示多个VAB存储一个顶点的信息。如果没有则为空。
4.同一个顶点和其下的弧的属性存储在同一个消息空间的持久化存储区域中。
5.vabNext[]指向下一个可用的VAB地址。
6.“PropRaw”表示存储在某个消息空间的持久化存储区域中的一个属性块,多个属性块以“PropRaw area”表示。
图5是用户访问图数据所需的索引表结构。将顶点的固定起始位置汇总记录在索引表中,索引表结构包含多个顶点的索引号和对应的消息空间固定起始位置。索引号是该顶点或属性经过变换得出的值,消息空间固定起始位置指明了该顶点相关信息的具体存储位置。用户可以先通过索引表访问到对应的顶点,然后根据邻接表的特性再访问相邻的弧、顶点及属性。
本发明的方法将顶点,弧和属性映射到消息空间系统,并使图形数据结构适应消息空间语义,以确保系统的三个竞争性的技术要求:可扩展性,低延迟和一致性。该方法能够扩展到数千个计算节点和数百亿个图形元素,并能够支持低延迟查询操作。
Claims (4)
1.一种面向知识图谱的图数据表示和映射方法,其特征在于,包括如下步骤:
(10)将大规模图数据结构映射到消息空间,消息空间存储了包含顶点、弧及属性的关键数据结构,所述大规模图数据结构包括邻接表和索引表;
(20)利用消息空间的全局分布式文件系统特性,持久化存储和全局访问大规模图数据结构;
(30)提供全局可访问的索引表结构,用于实现对图数据的并行访问。
2.根据权利要求1所述的面向知识图谱的图数据表示和映射方法,其特征在于,所述步骤(10)包括:
所有图数据结构在消息空间中都有固定起始位置作为标识,通过消息的固定起始位置能够随机访问图数据结构;将顶点的固定起始位置汇总记录在索引表中,索引表结构包含多个顶点的索引号和对应的消息空间固定起始位置;使用者通过索引表查找和访问图数据结构。
3.根据权利要求1所述的面向知识图谱的图数据表示和映射方法,其特征在于,所述步骤(20)包括:
数据结构持久化存储后,系统重启后,数据无需重新导入到系统,数据存储是立即持久化的;索引表的存储是持久化的,同时索引表的大小可根据需要进行调整;索引表结构的改变不影响节点、弧和属性的实际数据存储内容。
4.根据权利1要求所述的面向知识图谱的图数据表示和映射方法,其特征在于,所述步骤(30)包括:
大规模图数据结构的多个消息空间可以组成整体消息空间;每个消息空间大小为32GB至2TB,64个消息空间形成最多总容量达128TB的大规模整体消息空间,从而支持超大规模图数据结构;索引表存储在消息空间的共享部分,不同消息空间都可以访问索引表的全部数据,以此达到对图数据并行访问的目的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010189881.1A CN111382319B (zh) | 2020-03-18 | 2020-03-18 | 一种面向知识图谱的图数据表示和映射方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010189881.1A CN111382319B (zh) | 2020-03-18 | 2020-03-18 | 一种面向知识图谱的图数据表示和映射方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111382319A true CN111382319A (zh) | 2020-07-07 |
CN111382319B CN111382319B (zh) | 2021-04-09 |
Family
ID=71220631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010189881.1A Active CN111382319B (zh) | 2020-03-18 | 2020-03-18 | 一种面向知识图谱的图数据表示和映射方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111382319B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113961755A (zh) * | 2021-09-08 | 2022-01-21 | 南湖实验室 | 一种基于持久内存的图数据存储架构 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593433A (zh) * | 2013-11-12 | 2014-02-19 | 中国科学院信息工程研究所 | 一种面向海量时序数据的图数据处理方法及系统 |
CN106777351A (zh) * | 2017-01-17 | 2017-05-31 | 中国人民解放军国防科学技术大学 | 基于art树分布式系统图存储计算系统及其方法 |
CN106919628A (zh) * | 2015-12-28 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 一种图数据的处理方法和装置 |
CN108600321A (zh) * | 2018-03-26 | 2018-09-28 | 中国科学院计算技术研究所 | 一种基于分布式内存云的图数据存储方法和系统 |
WO2020019313A1 (zh) * | 2018-07-27 | 2020-01-30 | 浙江天猫技术有限公司 | 一种图数据的更新方法、系统、计算机可读存储介质及设备 |
CN110737659A (zh) * | 2019-09-06 | 2020-01-31 | 平安科技(深圳)有限公司 | 图数据存储和查询方法、装置及计算机可读存储介质 |
CN110851616A (zh) * | 2019-10-08 | 2020-02-28 | 杭州电子科技大学 | 一种基于领域子图的rdf知识图谱存储与管理方法 |
-
2020
- 2020-03-18 CN CN202010189881.1A patent/CN111382319B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593433A (zh) * | 2013-11-12 | 2014-02-19 | 中国科学院信息工程研究所 | 一种面向海量时序数据的图数据处理方法及系统 |
CN106919628A (zh) * | 2015-12-28 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 一种图数据的处理方法和装置 |
CN106777351A (zh) * | 2017-01-17 | 2017-05-31 | 中国人民解放军国防科学技术大学 | 基于art树分布式系统图存储计算系统及其方法 |
CN108600321A (zh) * | 2018-03-26 | 2018-09-28 | 中国科学院计算技术研究所 | 一种基于分布式内存云的图数据存储方法和系统 |
WO2020019313A1 (zh) * | 2018-07-27 | 2020-01-30 | 浙江天猫技术有限公司 | 一种图数据的更新方法、系统、计算机可读存储介质及设备 |
CN110737659A (zh) * | 2019-09-06 | 2020-01-31 | 平安科技(深圳)有限公司 | 图数据存储和查询方法、装置及计算机可读存储介质 |
CN110851616A (zh) * | 2019-10-08 | 2020-02-28 | 杭州电子科技大学 | 一种基于领域子图的rdf知识图谱存储与管理方法 |
Non-Patent Citations (1)
Title |
---|
于戈等: ""云计算环境下的大规模图数据处理技术"", 《计算机学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113961755A (zh) * | 2021-09-08 | 2022-01-21 | 南湖实验室 | 一种基于持久内存的图数据存储架构 |
Also Published As
Publication number | Publication date |
---|---|
CN111382319B (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107423368B (zh) | 一种非关系数据库中的时空数据索引方法 | |
CN107423422B (zh) | 基于网格的空间数据分布式存储及检索方法和系统 | |
US10275489B1 (en) | Binary encoding-based optimizations at datastore accelerators | |
US8161244B2 (en) | Multiple cache directories | |
US8996611B2 (en) | Parallel serialization of request processing | |
CN108600321A (zh) | 一种基于分布式内存云的图数据存储方法和系统 | |
CN102799679B (zh) | 基于Hadoop的海量空间数据索引更新系统及方法 | |
CN106682110B (zh) | 一种基于哈希格网索引的影像文件存储和管理系统及方法 | |
US11422872B2 (en) | Lock-free method of transmitting hierarchical collections through shared memory | |
CN102411634B (zh) | 一种提升嵌入式数据库实时性的数据存储方法 | |
CN112947860B (zh) | 一种分布式数据副本的分级存储与调度方法 | |
US20220374407A1 (en) | Multi-tenant partitioning in a time-series database | |
CN111639075A (zh) | 一种基于扁平化r树的非关系数据库矢量数据管理方法 | |
US20230385353A1 (en) | Spatial search using key-value store | |
US20230281157A1 (en) | Post-exascale graph computing method, system, storage medium and electronic device thereof | |
Tian et al. | A survey of spatio-temporal big data indexing methods in distributed environment | |
CN115114296A (zh) | 一种基于TemplateB+Tree的索引结构布局方法 | |
CN111382319B (zh) | 一种面向知识图谱的图数据表示和映射方法 | |
US10146833B1 (en) | Write-back techniques at datastore accelerators | |
US11599516B1 (en) | Scalable metadata index for a time-series database | |
CN107273443B (zh) | 一种基于大数据模型元数据的混合索引方法 | |
Elmeiligy et al. | An efficient parallel indexing structure for multi-dimensional big data using spark | |
CN113138859A (zh) | 一种基于共享内存池的通用数据存储方法 | |
CN112817982B (zh) | 一种基于lsm树的动态幂律图存储方法 | |
US11435926B2 (en) | Method, device, and computer program product for managing storage system |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |