一种图数据库数据导入的方法、系统、装置和介质制造方法及图纸

技术编号:33887067 阅读:8 留言:0更新日期:2022-06-22 17:20
本申请涉及一种图数据库数据导入的方法、系统、装置和介质,其中,该方法包括:筛选出符合预设条件的数据,根据图数据库的存储层的编码方式对数据进行编码,得到Key

【技术实现步骤摘要】
一种图数据库数据导入的方法、系统、装置和介质


[0001]本申请涉及计算机
,特别是涉及一种图数据库数据导入的方法、系统、装置和介质。

技术介绍

[0002]随着大数据和人工智能的飞速发展,超大规模网络图在金融、风控、安防、推荐等领域有着广阔的应用空间和良好的发展前景,这激发了图网络数据的快速崛起。在图数据库的各个领域应用中,大规模数据的导入是必须要面对的第一项挑战,除了在数据库初始时进行大批量数据导入外,在提供服务的过程中也需要根据业务进行数据的导入。而如何在不影响图数据库服务的前提下进行快速方便的数据导入则是需要重点解决的第一项问题。
[0003]目前针对图数据库的数据导入,主要存在以下几个问题:
[0004]1.一般数据的读取和写入是共享机器资源的,大量数据的写入会占用机器的大量磁盘和内存资源,影响图数据库的查询业务。这对于线上业务来说是不可接受的。
[0005]2.对于分布式图数据库而言虽然数据导入过程可以分布式,但由于网络传输和磁盘io的限制,导入速度仍需进一步提升。
[0006]3.当分配尽可能多的资源用于数据导入时,导入请求对图数据库存储服务压力大,容易导致在写入过程中出现Leader切换的问题。
[0007]目前针对分布式图数据库中大规模数据导入时资源抢占问题和服务易出现不可用的问题,尚未提出有效的解决方案。

技术实现思路

[0008]本申请实施例提供了一种图数据库数据导入的方法、系统、装置和介质,以至少解决分布式图数据库中大规模数据导入时资源抢占问题和服务易出现不可用的问题。
[0009]第一方面,本申请实施例提供了一种图数据库数据导入的方法,所述方法包括:
[0010]筛选出符合预设条件的数据;
[0011]根据所述图数据库的存储层的编码方式对所述数据进行编码,得到Key

Value格式的编码数据;
[0012]自定义数据分区策略,根据所述数据分区策略计算所述编码数据的分片ID,并基于所述分片ID对所述编码数据进行分区;
[0013]根据编码数据的Key值对同一数据分片的编码数据进行排序,并基于Key值对同一数据分片的编码数据进行去重,得到目标数据;
[0014]根据所述分片ID,将相同数据分片的目标数据写入同一预设文件;
[0015]将所述预设文件载入所述图数据库的数据存储目录中,进而将所述数据存储目录中的预设文件对应导入到所述图数据库的图空间中。
[0016]在其中一些实施例中,根据所述图数据库的存储层的编码方式对所述数据进行编
码,得到Key

Value格式的编码数据包括:
[0017]根据所述图数据库的图空间定义的点ID长度、数据类型和图空间分片数进行编码,得到点编码数据的Key值;
[0018]根据所述图空间定义的点类型的属性信息和属性值进行编码,得到所述点编码数据的Value值;
[0019]根据所述图数据库的图空间定义的点ID长度、数据类型和图空间分片数,以及预设边rank值进行正反两次编码,得到边编码数据的两个Key值;
[0020]根据所述图空间定义的边类型的属性信息,以及预设属性值进行编码,得到所述边编码数据的Value值。
[0021]在其中一些实施例中,将所述预设文件载入所述图数据库的数据存储目录中包括:
[0022]若所述图数据库的目标图空间是单副本,则将预设文件载入所述预设文件所属数据分片的Leader节点的数据存储目录下;
[0023]若所述图数据库的目标图空间是多副本,则将预设文件载入所述预设文件所属数据分片的Leader节点和Follower节点的数据存储目录下。
[0024]在其中一些实施例中,筛选出符合预设条件的数据包括:
[0025]根据所述图数据库的元数据信息,判断点和/或边的数据格式是否符合目标Schema的设定,若否,则过滤不符合所述设定的数据。
[0026]在其中一些实施例中,在筛选出符合预设条件的数据之前,所述方法包括:
[0027]接收要进行数据导入的数据源信息,根据所述数据源信息读取源数据,其中,所述数据源信息包括数据源类型、读取数据源所需的文件地址、server地址和端口号。
[0028]在其中一些实施例中,根据所述数据源信息读取源数据包括:
[0029]根据源数据的数据源类型匹配不同的数据读取器进行数据读取,其中,所述数据源类型包括文件数据类型、数据库数据类型和流式数据类型。
[0030]第二方面,本申请实施例提供了一种图数据库数据导入的系统,所述系统包括数据读取模块、数据处理模块和数据导入模块;
[0031]所述数据读取模块筛选出符合预设条件的数据;
[0032]所述数据处理模块根据所述图数据库的存储层的编码方式对所述数据进行编码,得到Key

Value格式的编码数据;
[0033]所述数据处理模块自定义数据分区策略,根据所述数据分区策略计算所述编码数据的分片ID,并基于所述分片ID对所述编码数据进行分区;
[0034]所述数据处理模块根据编码数据的Key值对同一数据分片的编码数据进行排序,并基于Key值对同一数据分片的编码数据进行去重,得到目标数据;
[0035]所述数据导入模块根据所述分片ID,将相同数据分片的目标数据写入同一预设文件;
[0036]所述数据导入模块将所述预设文件载入所述图数据库的数据存储目录中,进而将所述数据存储目录中的预设文件对应导入到所述图数据库的图空间中。
[0037]在其中一些实施例中,
[0038]所述数据读取模块还用于在筛选出符合预设条件的数据之前,根据所述数据源信
息读取源数据,其中,所述数据源信息包括数据源类型、读取数据源所需的文件地址、server地址和端口号。
[0039]第三方面,本申请实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的图数据库数据导入的方法。
[0040]第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的图数据库数据导入的方法。
[0041]相比于相关技术,本申请实施例提供的一种图数据库数据导入的方法、系统、装置和介质,筛选出符合预设条件的数据,根据图数据库的存储层的编码方式对数据进行编码,得到Key

Value格式的编码数据;自定义数据分区策略,根据数据分区策略计算编码数据的分片ID,并基于分片ID对编码数据进行分区;根据编码数据的Key值对同一数据分片的编码数据进行排序,并基于Key值对同一数据分片的编码数据进行去重,得到目标数据;根据分片ID,将相同数据分片的目标数据写入同一预设文件;将预设文件载入图数据库的数据存储目本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种图数据库数据导入的方法,其特征在于,所述方法包括:筛选出符合预设条件的数据;根据所述图数据库的存储层的编码方式对所述数据进行编码,得到Key

Value格式的编码数据;自定义数据分区策略,根据所述数据分区策略计算所述编码数据的分片ID,并基于所述分片ID对所述编码数据进行分区;根据编码数据的Key值对同一数据分片的编码数据进行排序,并基于Key值对同一数据分片的编码数据进行去重,得到目标数据;根据所述分片ID,将相同数据分片的目标数据写入同一预设文件;将所述预设文件载入所述图数据库的数据存储目录中,进而将所述数据存储目录中的预设文件对应导入到所述图数据库的图空间中。2.根据权利要求1所述的方法,其特征在于,根据所述图数据库的存储层的编码方式对所述数据进行编码,得到Key

Value格式的编码数据包括:根据所述图数据库的图空间定义的点ID长度、数据类型和图空间分片数进行编码,得到点编码数据的Key值;根据所述图空间定义的点类型的属性信息和属性值进行编码,得到所述点编码数据的Value值;根据所述图数据库的图空间定义的点ID长度、数据类型和图空间分片数,以及预设边rank值进行正反两次编码,得到边编码数据的两个Key值;根据所述图空间定义的边类型的属性信息,以及预设属性值进行编码,得到所述边编码数据的Value值。3.根据权利要求1所述的方法,其特征在于,将所述预设文件载入所述图数据库的数据存储目录中包括:若所述图数据库的目标图空间是单副本,则将预设文件载入所述预设文件所属数据分片的Leader节点的数据存储目录下;若所述图数据库的目标图空间是多副本,则将预设文件载入所述预设文件所属数据分片的Leader节点和Follower节点的数据存储目录下。4.根据权利要求1所述的方法,其特征在于,筛选出符合预设条件的数据包括:根据所述图数据库的元数据信息,判断点和/或边的数据格式是否符合目标Schema的设定,若否,则过滤不符合所述设定的数据。5.根据权利要求1所述的...

【专利技术属性】
技术研发人员:王昌圆王玉珏叶小萌
申请(专利权)人:杭州欧若数网科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1