CN111881326A - 一种图数据存储方法、装置、设备及可读存储介质 - Google Patents
一种图数据存储方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN111881326A CN111881326A CN202010725585.9A CN202010725585A CN111881326A CN 111881326 A CN111881326 A CN 111881326A CN 202010725585 A CN202010725585 A CN 202010725585A CN 111881326 A CN111881326 A CN 111881326A
- Authority
- CN
- China
- Prior art keywords
- data
- relationship
- attribute
- fragment
- graph
- 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.)
- Withdrawn
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
Abstract
本发明公开了一种图数据存储方法、装置、设备及可读存储介质,该方法包括:获取待存储的图数据;分解图数据,得到关系数据、关系属性数据和顶点属性数据;分别对关系数据、关系属性数据和顶点属性数据进行分片处理,得到关系分片数据、关系属性分片数据和顶点属性分片数据;对关系分片数据、关系属性分片数据和顶点属性分片数据进行分布式存储。该方法所提供的图数据存储方案,可支持图数据检索,图数据并行读取和处理,进一步可加速图数据处理效率。
Description
技术领域
本发明涉及存储技术领域,特别是涉及一种图数据存储方法、装置、设备及可读存储介质。
背景技术
图是计算机科学中最常用的一类抽象数据结构,在结构和语义方面比线性表和树更复杂,在数据与数据关系上更具有一般性表示能力。图数据包括:Vertex:即顶点,简称点,图中的对象,可带有若干属性,可带标签;Edge:即关系或边,用于连接顶点,有方向,可带有若干属性,可带标签。
现有的图数据存储方案中,直接将图数据存储在存储设备中。如此便导致,在需要针对图数据进行处理时,只能通过读取全部的图数据,然后筛选出有效数据,最终针对有效数据进行处理。步骤繁复,且读取大量无效数据,使得图数据处理效率低下。
综上所述,如何对图数据存储进行改进等问题,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种图数据存储方法、装置、设备及可读存储介质,提供了一种新的图数据存储方案,通过分解图数据,得到关系数据、关系属性数据和顶点属性数据,进一步针对关系数据、关系属性数据和顶点属性数据进行分片,最终以分布式存储方式进行存储,按照该存储方案进行存储后,能够实现图数据检索,能够在处理计算过程中,仅读取有效数据,进一步可以提高图数据处理效率。
为解决上述技术问题,本发明提供如下技术方案:
一种图数据存储方法,包括:
获取待存储的图数据;
分解所述图数据,得到关系数据、关系属性数据和顶点属性数据;
分别对所述关系数据、所述关系属性数据和所述顶点属性数据进行分片处理,得到关系分片数据、关系属性分片数据和顶点属性分片数据;
对所述关系分片数据、所述关系属性分片数据和所述顶点属性分片数据进行分布式存储。
优选地,分别对所述关系数据、所述关系属性数据和所述顶点属性数据进行分片处理,得到关系分片数据、关系属性分片数据和点属性分片数据,包括:
依据关系类型、起点及终点,对所述关系数据进行分片,得到所述关系分片数据;
依据所述关系类型,对所述关系属性数据进行分片,得到所述关系属性分片数据;
依据顶点类型,对所述顶点属性数据进行分片,得到所述顶点属性分片数据。
优选地,分别对所述关系数据、所述关系属性数据和所述顶点属性数据进行分片处理,得到关系分片数据、关系属性分片数据和顶点属性分片数据,包括:
结合负载均衡,分别对所述关系数据、所述关系属性数据和所述顶点属性数据进行分片处理,得到所述关系分片数据、所述关系属性分片数据和所述顶点属性分片数据。
优选地,对所述关系分片数据、所述关系属性分片数据和所述顶点属性分片数据进行分布式存储,包括:
将各个所述关系分片数据、所述关系属性分片数据和所述顶点属性分片数据分别发送给分布式系统中的数据处理工作节点;
利用所述数据处理工作节点存储所述关系分片数据、所述关系属性分片数据和所述顶点属性分片数据。
优选地,还包括:
获取分片信息,并在所述图数据对应的元数据中记录所述分片信息;
利用所述分片信息读取所述图数据中的目标数据。
优选地,还包括:
利用所述关系分片数据、所述关系属性分片数据和所述顶点属性分片数据,创建所述图数据对应的索引信息;
将所述索引信息存入索引存储设备中;
在接收到图数据检索请求后,利用所述索引信息读取所述图数据中的目标数据。
优选地,还包括:
在接收到图数据计算请求后,利用所述关系分片数据、所述关系属性分片数据和所述顶点属性分片数据进行并行计算。
一种图数据存储装置,包括:
图数据获取模块,用于获取待存储的图数据;
数据分解模块,用于分解所述图数据,得到关系数据、关系属性数据和顶点属性数据;
分片模块,用于分别对所述关系数据、所述关系属性数据和所述顶点属性数据进行分片处理,得到关系分片数据、关系属性分片数据和顶点属性分片数据;
存储模块,用于对所述关系分片数据、所述关系属性分片数据和所述顶点属性分片数据进行分布式存储。
一种图数据存储设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述图数据存储方法的步骤。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述图数据存储方法的步骤。
应用本发明实施例所提供的方法,获取待存储的图数据;分解图数据,得到关系数据、关系属性数据和顶点属性数据;分别对关系数据、关系属性数据和顶点属性数据进行分片处理,得到关系分片数据、关系属性分片数据和顶点属性分片数据;对关系分片数据、关系属性分片数据和顶点属性分片数据进行分布式存储。
在本方法中,在存储图数据时,首先对待存储的图数据进行分解,得到关系数据、关系属性数据和顶点属性数据。对图数据进行分解,在仅需获取其中一类数据信息时,可直接从存储设备中读取相应数据,而无需读取全部的图数据。分解得到关系数据、关系属性数据和顶点属性数据后,为了便于后续并行处理图数据,对关系数据、关系属性数据和顶点属性数据进行分片,并采用分布式存储的方式对分片得到的数据进行存储。如此,便可支持并行读取图数据、并行处理图数据。可见,在本方法中,所提供的图数据存储方案,可支持图数据检索,图数据并行读取和处理,进一步可加速图数据处理效率。
相应地,本发明实施例还提供了与上述图数据存储方法相对应的图数据存储装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种图数据存储方法的实施流程图;
图2为本发明实施例中一种图数据存储流程图;
图3为本发明实施例中一种具体的图数据存储流程图;
图4为本发明实施例中一种图数据存储装置的结构示意图;
图5为本发明实施例中一种图数据存储设备的结构示意图;
图6为本发明实施例中一种图数据存储设备的具体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于理解,下面对本文中涉及的名词进行解释说明:
Hadoop,一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(highthroughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streamingaccess)文件系统中的数据。
JanusGraph为一种高度可扩展的分布式图数据库,专门用于存储和查询包含数千亿个分布在多机群集中的极点和边缘的图形。JanusGraph是一个事务处理型数据库,可以支持数千个并发用户实时执行复杂的图遍历。
OLAP为一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。它具有FASMI(Fast Analysis of SharedMultidimensional Information),即共享多维信息的快速分析的特征。其中F是快速性(Fast),指系统能在数秒内对用户的多数分析要求做出反应;A是可分析性(Analysis),指用户无需编程就可以定义新的专门计算,将其作为分析的一部分,并以用户所希望的方式给出报告;M是多维性(Multi—dimensional),指提供对数据分析的多维视图和分析;I是信息性(Information),指能及时获得信息,并且管理大容量信息。
Gremlin是Apache TinkerPop的图形遍历语言。Gremlin是一个功能、数据流语言,使用户能够简洁地表达复杂的遍历(或查询)属性图。
Spark是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UCBerkeley AMP lab所开源的类Hadoop MapReduce的通用并行框架。
SparkGraphComputer即Tinkerpop提供的基于Spark技术实现的并行图计算技术方案。
Hadoop生态:一是Hadoop核心技术(或者说狭义上的hadoop),对应为apache开源社区的一个项目,主要包括三部分内容:hdfs,mapreduce,yarn。其中hdfs用来存储海量数据,mapreduce用来对海量数据进行计算,yarn是一个通用的资源调度框架(是在hadoop2.0中产生的)。另一部分指广义的,广义上指一个生态圈,泛指大数据技术相关的开源组件或产品,如hbase、hive、spark、pig、zookeeper、kafka、flume、phoenix、sqoop等。
本地节点:指数据实际存储位置所在服务器。
Vertex:即顶点,简称点,图中的对象,可带有若干属性,可带标签。
Edge:即图中对象之间的关系或边,用于连接顶点,有方向,可带有若干属性,可带标签。
实施例一:
请参考图1,图1为本发明实施例中一种图数据存储方法的流程图,该方法可以应用于Hadoop中数据处理管理节点,该方法包括以下步骤:
S101、获取待存储的图数据。
可通过接收图数据或生成图数据的方式,获取待存储的图数据。
S102、分解图数据,得到关系数据、关系属性数据和顶点属性数据。
得到图数据之后,首先对图数据进行分解,得到图数据中的关系数据、关系属性数据和顶点属性数据。具体的,分解时,可以具体参照图数据中对于关系、关系属性和顶点属性描述对应的标签进行分解。
举例说明:若存一份如表1所示的图数据:
表1
对表1所示的图数据进行分解之后,得到如表2所示的关系数据,如表3所示的顶点属性数据和如表4所示的关系属性数据:
关系类型 | ID | 起点 | 终点 |
lives | 1 | 100 | 1000 |
lives | 2 | 101 | 1001 |
way | 10 | 1000 | 1001 |
way | 11 | 1000 | 1001 |
表2
顶点ID | 顶点类型 | 属性ID | 属性 |
100 | person | 100#01 | name:Zhang San |
101 | person | 101#01 | name:Li Si |
1000 | city | 1000#01 | name:Beijing |
1001 | city | 1001#01 | name:Zhengzhou |
表3
关系ID | 属性ID | 属性 |
1 | 1#01 | since:2000 |
2 | 2#01 | since:2001 |
10 | 10#01 | type:飞机 |
10 | 10#02 | hours:2 |
10 | 10#03 | price:1000 |
11 | 11#01 | type:高铁 |
11 | 11#02 | hours:4 |
11 | 11#03 | price:300 |
表4
得到关系数据、关系属性数据和顶点属性数据后,便可针对图数据进行分类存储。
S103、分别对关系数据、关系属性数据和顶点属性数据进行分片处理,得到关系分片数据、关系属性分片数据和顶点属性分片数据。
需要说明的是,对关系数据、关系属性数据和顶点属性数据进行分片处理,所得到关系分片数据的数量与关系数据总量以及分片方式相关,即若关系数据总量较多,则关系分片数据的分片多;分片方式更加细粒度,则关系分片数据的分配多;同理,对于关系属性分片数据和顶点属性分片数据的分片量可参照关系分片数据的分片量情况,再次不再对关系属性分片数据和顶点属性分片数据的分片量进行一一赘述。
为了提高图数据读取效率,本发明实施例中提出对分解后得到的数据进行分片。具体的,即针对关系数据、关系属性数据和顶点属性数据进行分别分片,得到各类数据分别对应的分片数据。针对不同的数据进行分片时,可以采用不同的分片策略,即分片过程可包括:
情况一:依据关系类型、起点及终点,对关系数据进行分片,得到关系分片数据;
情况二、依据关系类型,对关系属性数据进行分片,得到关系属性分片数据;
情况三、依据顶点类型,对顶点属性数据进行分片,得到顶点属性分片数据。
也就是说,对于关系数据而言,可以依据关系类型、起点及终点进行分片,即可使得同一个关系类型对应的关系数据在一个分片中。
对于关系属性数据,可以依据关系类型进行分片,即可使得同一种关系类型的关系属性数据在同一个分片中,便于检索。
对于顶点属性数据,可以依据顶点类型进行分片,可使得同一种定点类型的顶点属性数据在同一个分片中。当然,若存在唯一属性,还可结合顶点的唯一属性和顶点类型进行分片。
优选地,为了进一步加速图数据处理效率,还可结合负载均衡算法进行分片处理。具体的,结合负载均衡,分别对关系数据、关系属性数据和顶点属性数据进行分片处理,得到关系分片数据、关系属性分片数据和顶点属性分片数据。也就是说,在进行分片时,还结合负载均衡算法进行分片处理。以避免出现负载不均的情况,如出现热点。
S104、对关系分片数据、关系属性分片数据和顶点属性分片数据进行分布式存储。
为了便于高效读取图数据、便于对图数据进行并行计算处理,在完成分片后,可采用分布式存储方式对分片得到的结果进行存储。
具体的,分布式存储数据的过程,包括:
步骤一、将各个关系分片数据、关系属性分片数据和顶点属性分片数据分别发送给分布式系统中的数据处理工作节点;
步骤二、利用数据处理工作节点存储关系分片数据、关系属性分片数据和顶点属性分片数据。
为便于描述,下面将上述两个步骤结合起来进行说明。
其中,数据处理工作节点即为分布式存储系统中的普通结果,数据处理工作管理节点可向数据处理故障节点分发存储数据。
具体的,可针对每一种分片数据设置一个或多个数据处理工作节点,当然,数据处理工作节点也可以仅处理一种分片数据,也可以处理两种或三种分片数据。
将关系分片数据、关系属性分片数据和顶点属性分片数据分别发送给数据处理工作节点之后,数据处理工作节点便可将所接收到的分片数据存入到存储设备中。
优选地,为了后续能够基于分片数据对图数据进行还原,便于读取所需的部分图数据,在将分片数据发送给数据处理工作节点之后,还可执行以下步骤:
步骤一、获取分片信息,并在图数据对应的元数据中记录分片信息;
步骤二、利用分片信息读取图数据中的目标数据。
其中,分片信息可基于包括分片数据的存储位置,分片数据之间的前后关系等信息。在本实施例中,将分片信息作为图数据的一类元数据进行存储。而后,便可基于分片信息从分片、分布式存储的图数据中读取到目标数据。
优选地,由于在本发明实施例中,在存储图数据时,对图数据本身进行了分解和分片,因此后续还可基于分解、分片存储的数据进行检索。具体的实现过程包括:
步骤一、利用关系分片数据、关系属性分片数据和顶点属性分片数据,创建图数据对应的索引信息;
步骤二、将索引信息存入索引存储设备中;
步骤三、在接收到图数据检索请求后,利用索引信息读取图数据中的目标数据。
具体来说,可以设置索引目录或键值对(key/value)的方式,创建索引信息。创建好索引信息之后,将其存储在所有存储设备中。如此,在接收到图数据检索请求时,便可利用索引信息读取到图数据中的目标数据。目标数据即为需要检索得到的数据。在实际应用中,还可设置不同的索引,如针对系统内部的索引和针对系统外部的索引。请参考图2,图2为本发明实施例中一种图数据存储流程图。即,若新建的索引为外部索引,则将其存储在外部索引存储装置中,若为内部索引,则将其存储在内部索引存储装置中,以便区别对待不同的索取需求。
优选地,在完成图数据存储之后,在接收到图数据计算请求后,利用关系分片数据、关系属性分片数据和顶点属性分片数据进行并行计算。即,基于本发明实施例所提供的图数据存储方案,实现并行处理,加快数据处理效率。
在实际应用本发明实施例所提供的技术方案时,可将多个优选方案结合起来进行应用。请参考图3,图3为本发明实施例中一种具体的图数据存储流程图。
应用本发明实施例所提供的方法,获取待存储的图数据;分解图数据,得到关系数据、关系属性数据和顶点属性数据;分别对关系数据、关系属性数据和顶点属性数据进行分片处理,得到关系分片数据、关系属性分片数据和顶点属性分片数据;对关系分片数据、关系属性分片数据和顶点属性分片数据进行分布式存储。
在本方法中,在存储图数据时,首先对待存储的图数据进行分解,得到关系数据、关系属性数据和顶点属性数据。对图数据进行分解,在仅需获取其中一类数据信息时,可直接从存储设备中读取相应数据,而无需读取全部的图数据。分解得到关系数据、关系属性数据和顶点属性数据后,为了便于后续并行处理图数据,对关系数据、关系属性数据和顶点属性数据进行分片,并采用分布式存储的方式对分片得到的数据进行存储。如此,便可支持并行读取图数据、并行处理图数据。可见,在本方法中,所提供的图数据存储方案,可支持图数据检索,图数据并行读取和处理,进一步可加速图数据处理效率。
为便于理解本发明实施例所提供的技术方案的技术效果,下面结合现有技术对本发明实施例所提供的方案的效果进行说明。
在现有技术中:Janusgraph在采用HBase作为存储后端时,但其对并未充分利用其存储优势,仅仅是将其作为存储后端,在进行较为复杂的计算时是将其数据读入内存进行计算,在不使用OLAP模式(SparkGraphComputer)的情况下仅仅是利用单机资源进行计算,及时在OLAP模式(使用SparkGraphComputer)的情况下,也仅仅是将数据读取过来,利用Spark进行分布式计算,无法充分利用HBase,也无法利用缓存加速计算。
从上文可知,通过本发明实施例所提供的技术方案,在查询计算时能够大幅度减少对无效数据的获取,对图数据库进行存储方法进行优化,可以在计算时大幅减少无效数据,大幅提升其计算性能,同时可以加入缓存等其他技术进一步提升计算性能。具体的,在本发明实施例所提供的图数据存储方法中,可以对索引信息以及元数据信息进行有效存储,能够在大规模计算图数据时,充分利用Hadoop生态特点进行分布式计算,提升计算性能,节约计算时间,提升图数据的处理效率。
实施例二:
相应于上面的方法实施例,本发明实施例还提供了一种图数据存储装置,下文描述的图数据存储装置与上文描述的图数据存储方法可相互对应参照。
参见图4所示,该装置包括以下模块:
图数据获取模块101,用于获取待存储的图数据;
数据分解模块102,用于分解图数据,得到关系数据、关系属性数据和顶点属性数据;
分片模块103,用于分别对关系数据、关系属性数据和顶点属性数据进行分片处理,得到关系分片数据、关系属性分片数据和顶点属性分片数据;
存储模块104,用于对关系分片数据、关系属性分片数据和顶点属性分片数据进行分布式存储。
应用本发明实施例所提供的装置,获取待存储的图数据;分解图数据,得到关系数据、关系属性数据和顶点属性数据;分别对关系数据、关系属性数据和顶点属性数据进行分片处理,得到关系分片数据、关系属性分片数据和顶点属性分片数据;对关系分片数据、关系属性分片数据和顶点属性分片数据进行分布式存储。
在本方法中,在存储图数据时,首先对待存储的图数据进行分解,得到关系数据、关系属性数据和顶点属性数据。对图数据进行分解,在仅需获取其中一类数据信息时,可直接从存储设备中读取相应数据,而无需读取全部的图数据。分解得到关系数据、关系属性数据和顶点属性数据后,为了便于后续并行处理图数据,对关系数据、关系属性数据和顶点属性数据进行分片,并采用分布式存储的方式对分片得到的数据进行存储。如此,便可支持并行读取图数据、并行处理图数据。可见,在本方法中,所提供的图数据存储方案,可支持图数据检索,图数据并行读取和处理,进一步可加速图数据处理效率。
在本发明的一种具体实施方式中,分片模块103,具体用于依据关系类型、起点及终点,对关系数据进行分片,得到关系分片数据;依据关系类型,对关系属性数据进行分片,得到关系属性分片数据;依据顶点类型,对顶点属性数据进行分片,得到顶点属性分片数据。
在本发明的一种具体实施方式中,分片模块103,具体用于结合负载均衡,分别对关系数据、关系属性数据和顶点属性数据进行分片处理,得到关系分片数据、关系属性分片数据和顶点属性分片数据。
在本发明的一种具体实施方式中,存储模块104,具体用于将各个关系分片数据、关系属性分片数据和顶点属性分片数据分别发送给分布式系统中的数据处理工作节点;利用数据处理工作节点存储关系分片数据、关系属性分片数据和顶点属性分片数据。
在本发明的一种具体实施方式中,还包括:
数据读取模块,用于获取分片信息,并在图数据对应的元数据中记录分片信息;利用分片信息读取图数据中的目标数据。
在本发明的一种具体实施方式中,还包括:
数据检索模块,用于利用关系分片数据、关系属性分片数据和顶点属性分片数据,创建图数据对应的索引信息;将索引信息存入索引存储设备中;在接收到图数据检索请求后,利用索引信息读取图数据中的目标数据。
在本发明的一种具体实施方式中,还包括:
并行计算模块,用于在接收到图数据计算请求后,利用关系分片数据、关系属性分片数据和顶点属性分片数据进行并行计算。
实施例三:
相应于上面的方法实施例,本发明实施例还提供了一种图数据存储设备,下文描述的一种图数据存储设备与上文描述的一种图数据存储方法可相互对应参照。
参见图5所示,该图数据存储设备包括:
存储器332,用于存储计算机程序;
处理器322,用于执行计算机程序时实现上述方法实施例的图数据存储方法的步骤。
具体的,请参考图6,图6为本实施例提供的一种图数据存储设备的具体结构示意图,该图数据存储设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储器332通信,在图数据存储设备301上执行存储器332中的一系列指令操作。
图数据存储设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
上文所描述的图数据存储方法中的步骤可以由图数据存储设备的结构实现。
实施例四:
相应于上面的方法实施例,本发明实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种图数据存储方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的图数据存储方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
Claims (10)
1.一种图数据存储方法,其特征在于,包括:
获取待存储的图数据;
分解所述图数据,得到关系数据、关系属性数据和顶点属性数据;
分别对所述关系数据、所述关系属性数据和所述顶点属性数据进行分片处理,得到关系分片数据、关系属性分片数据和顶点属性分片数据;
对所述关系分片数据、所述关系属性分片数据和所述顶点属性分片数据进行分布式存储。
2.根据权利要求1所述的图数据存储方法,其特征在于,分别对所述关系数据、所述关系属性数据和所述顶点属性数据进行分片处理,得到关系分片数据、关系属性分片数据和点属性分片数据,包括:
依据关系类型、起点及终点,对所述关系数据进行分片,得到所述关系分片数据;
依据所述关系类型,对所述关系属性数据进行分片,得到所述关系属性分片数据;
依据顶点类型,对所述顶点属性数据进行分片,得到所述顶点属性分片数据。
3.根据权利要求2所述的图数据存储方法,其特征在于,分别对所述关系数据、所述关系属性数据和所述顶点属性数据进行分片处理,得到关系分片数据、关系属性分片数据和顶点属性分片数据,包括:
结合负载均衡,分别对所述关系数据、所述关系属性数据和所述顶点属性数据进行分片处理,得到所述关系分片数据、所述关系属性分片数据和所述顶点属性分片数据。
4.根据权利要求1所述的图数据存储方法,其特征在于,对所述关系分片数据、所述关系属性分片数据和所述顶点属性分片数据进行分布式存储,包括:
将各个所述关系分片数据、所述关系属性分片数据和所述顶点属性分片数据分别发送给分布式系统中的数据处理工作节点;
利用所述数据处理工作节点存储所述关系分片数据、所述关系属性分片数据和所述顶点属性分片数据。
5.根据权利要求1所述的图数据存储方法,其特征在于,还包括:
获取分片信息,并在所述图数据对应的元数据中记录所述分片信息;
利用所述分片信息读取所述图数据中的目标数据。
6.根据权利要求1所述的图数据存储方法,其特征在于,还包括:
利用所述关系分片数据、所述关系属性分片数据和所述顶点属性分片数据,创建所述图数据对应的索引信息;
将所述索引信息存入索引存储设备中;
在接收到图数据检索请求后,利用所述索引信息读取所述图数据中的目标数据。
7.根据权利要求1所述的图数据存储方法,其特征在于,还包括:
在接收到图数据计算请求后,利用所述关系分片数据、所述关系属性分片数据和所述顶点属性分片数据进行并行计算。
8.一种图数据存储装置,其特征在于,包括:
图数据获取模块,用于获取待存储的图数据;
数据分解模块,用于分解所述图数据,得到关系数据、关系属性数据和顶点属性数据;
分片模块,用于分别对所述关系数据、所述关系属性数据和所述顶点属性数据进行分片处理,得到关系分片数据、关系属性分片数据和顶点属性分片数据;
存储模块,用于对所述关系分片数据、所述关系属性分片数据和所述顶点属性分片数据进行分布式存储。
9.一种图数据存储设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述图数据存储方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述图数据存储方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010725585.9A CN111881326A (zh) | 2020-07-24 | 2020-07-24 | 一种图数据存储方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010725585.9A CN111881326A (zh) | 2020-07-24 | 2020-07-24 | 一种图数据存储方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111881326A true CN111881326A (zh) | 2020-11-03 |
Family
ID=73201529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010725585.9A Withdrawn CN111881326A (zh) | 2020-07-24 | 2020-07-24 | 一种图数据存储方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111881326A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559631A (zh) * | 2020-12-15 | 2021-03-26 | 北京百度网讯科技有限公司 | 分布式图数据库的数据处理方法、装置以及电子设备 |
CN114090834A (zh) * | 2021-11-09 | 2022-02-25 | 支付宝(杭州)信息技术有限公司 | 一种图搜索方法、装置及设备 |
CN114579537A (zh) * | 2021-07-08 | 2022-06-03 | 东方微银科技股份有限公司 | 分布式图数据库的优化方法、装置、电子设备及存储介质 |
CN114742691A (zh) * | 2022-05-19 | 2022-07-12 | 支付宝(杭州)信息技术有限公司 | 一种图数据采样方法和系统 |
WO2023160137A1 (zh) * | 2022-02-25 | 2023-08-31 | 苏州浪潮智能科技有限公司 | 图数据存储方法、系统及计算机设备 |
WO2024041376A1 (zh) * | 2022-08-23 | 2024-02-29 | 抖音视界有限公司 | 分布式图数据处理系统、方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615677A (zh) * | 2015-01-20 | 2015-05-13 | 同济大学 | 一种图数据存取方法及系统 |
CN110737659A (zh) * | 2019-09-06 | 2020-01-31 | 平安科技(深圳)有限公司 | 图数据存储和查询方法、装置及计算机可读存储介质 |
-
2020
- 2020-07-24 CN CN202010725585.9A patent/CN111881326A/zh not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615677A (zh) * | 2015-01-20 | 2015-05-13 | 同济大学 | 一种图数据存取方法及系统 |
CN110737659A (zh) * | 2019-09-06 | 2020-01-31 | 平安科技(深圳)有限公司 | 图数据存储和查询方法、装置及计算机可读存储介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559631A (zh) * | 2020-12-15 | 2021-03-26 | 北京百度网讯科技有限公司 | 分布式图数据库的数据处理方法、装置以及电子设备 |
CN112559631B (zh) * | 2020-12-15 | 2023-09-26 | 北京百度网讯科技有限公司 | 分布式图数据库的数据处理方法、装置以及电子设备 |
CN114579537A (zh) * | 2021-07-08 | 2022-06-03 | 东方微银科技股份有限公司 | 分布式图数据库的优化方法、装置、电子设备及存储介质 |
CN114090834A (zh) * | 2021-11-09 | 2022-02-25 | 支付宝(杭州)信息技术有限公司 | 一种图搜索方法、装置及设备 |
WO2023160137A1 (zh) * | 2022-02-25 | 2023-08-31 | 苏州浪潮智能科技有限公司 | 图数据存储方法、系统及计算机设备 |
CN114742691A (zh) * | 2022-05-19 | 2022-07-12 | 支付宝(杭州)信息技术有限公司 | 一种图数据采样方法和系统 |
CN114742691B (zh) * | 2022-05-19 | 2023-08-18 | 支付宝(杭州)信息技术有限公司 | 一种图数据采样方法和系统 |
WO2024041376A1 (zh) * | 2022-08-23 | 2024-02-29 | 抖音视界有限公司 | 分布式图数据处理系统、方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111881326A (zh) | 一种图数据存储方法、装置、设备及可读存储介质 | |
EP3602351B1 (en) | Apparatus and method for distributed query processing utilizing dynamically generated in-memory term maps | |
Tao et al. | Minimal mapreduce algorithms | |
Padhy | Big data processing with Hadoop-MapReduce in cloud systems | |
Logothetis et al. | Stateful bulk processing for incremental analytics | |
CN107943952B (zh) | 一种基于Spark框架进行全文检索的实现方法 | |
CN113227998A (zh) | 全面支持自主json文档对象(ajd)云服务的技术 | |
Siddiqui et al. | Pseudo-cache-based IoT small files management framework in HDFS cluster | |
Chattopadhyay et al. | Procella: Unifying serving and analytical data at YouTube | |
Su et al. | Taming massive distributed datasets: data sampling using bitmap indices | |
CN103198097A (zh) | 一种基于分布式文件系统的海量地学数据并行处理方法 | |
Su et al. | Supporting correlation analysis on scientific datasets in parallel and distributed settings | |
Wang et al. | Parable: A parallel random-partition based hierarchical clustering algorithm for the MapReduce framework | |
Hu et al. | Approximation with error bounds in spark | |
CN108334532B (zh) | 一种基于Spark的Eclat并行化方法、系统及装置 | |
CN108319604B (zh) | 一种hive中大小表关联的优化方法 | |
Fiser et al. | On-line analytical processing on large databases managed by computational grids | |
Rammer et al. | Atlas: A distributed file system for spatiotemporal data | |
Xie et al. | On massive spatial data retrieval based on spark | |
Sudha et al. | A survey paper on map reduce in big data | |
Fu et al. | DiscFinder: A data-intensive scalable cluster finder for astrophysics | |
US11947490B2 (en) | Index generation and use with indeterminate ingestion patterns | |
Maleki et al. | Performance evaluation of spatialhadoop for big web mapping data | |
Ma et al. | Efficient attribute-based data access in astronomy analysis | |
CN114139040A (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20201103 |
|
WW01 | Invention patent application withdrawn after publication |