System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种异构数据源导入图数据库的方法及装置制造方法及图纸_技高网
当前位置: 首页 > 专利查询>浙江大学专利>正文

一种异构数据源导入图数据库的方法及装置制造方法及图纸

技术编号:40345995 阅读:5 留言:0更新日期:2024-02-09 14:31
本发明专利技术公开了一种异构数据源导入图数据库的方法及装置,包括:中间处理系统根据查询语句以及异构数据源系统中的数据源类型选择对应的读取插件将所需数据读入内存,并写入读通道;读取读通道内的一维结构对象,根据配置的图模型结构进行点、边属性提取,并映射为子图结构对象;使用数据预处理插件对子图结构对象进行空值过滤、精度转化、别名映射处理,并写入写通道;读取写通道内的子图结构对象,根据顶点主键过滤去重;加载写入插件将过滤去重后的子图结构对象数据导入至图数据库。本发明专利技术实现了多维数据的汇聚,便于分析人员在图数据库中进行一站式的数据查询、分析、挖掘,提高了数据导入的速度,确保数据的一致性。

【技术实现步骤摘要】

本专利技术涉及计算机数据库图存储领域,尤其涉及一种异构数据源导入图数据库的方法及装置


技术介绍

1、区块链技术在过去的一段时间内蓬勃发展,利用图数据库技术可以快速查找关联地址的交易列表,根据资金流向追踪、挖掘一批潜在的资金团伙,找出地址之间的潜在关系。然而越来越多的交易数据存储在各种异构数据源内,如关系型数据库或者文档型数据库中,因此需要一种提取、转化、加载工具将分布在各处的数据源导入到图数据库中。

2、目前,主流的图数据库导入方案有:

3、(1)基于在线cypher语句将数据插入到图数据库中。该方案是使用图数据库提供的在线cypher语句,只适用于小批次数据量的在线灌入,会随着数据库总数据的增加而逐渐发生性能退化。

4、(2)基于csv文件进行一次性初始化导入。该方案能够有效解决大批次数据离线导入的情景,但其只能在初始化阶段进行一次导入,无法满足后续的增量式更新需求,此外其对初始化的文件格式有限制,需要额外占用一部分数据存储。

5、综上所述,在图数据库数据导入领域,尚未有能够适配多异构数据源,并对导入数据进行预加工处理,在在线和离线场景下快速导入图数据库的方案。因此,如何对异构数据源进行提取、加工、导入到图数据库的方法及装置,成为了迫切需要实现的技术方案。


技术实现思路

1、针对现有技术的不足,本专利技术提出一种异构数据源导入图数据库的方法及装置。

2、具体技术方案如下:

3、一种异构数据源导入图数据库的方法,包括以下步骤:

4、s1:中间处理系统根据查询语句以及异构数据源系统中的数据源类型选择对应的读取插件,通过读取插件将异构数据源系统中的所需数据读入内存,并经过内部类型子系统转化写入到中间处理系统的读通道;所述内部类型子系统用于维护异构数据源系统变量类型到中间处理系统内部数据类型的映射关系;

5、s2:中间处理系统读取对应读通道内的一维结构对象,根据配置的图模型结构进行点、边属性提取,并映射为子图结构对象;使用数据预处理插件对子图结构对象依次进行空值过滤、精度转化、别名映射处理,并写入对应写通道;所述图模型结构由用户定义,包括顶点映射规则和边映射规则;

6、s3:中间处理系统读取对应写通道内的子图结构对象,并根据顶点主键过滤去重;加载用户配置中的写入插件,将过滤去重后的子图结构对象数据导入至图数据库;所述用户配置包括图数据库对应的写入插件和图数据库索引。

7、进一步地,所述s1中具体通过如下子步骤实现:

8、(1.1)根据异构数据源系统中的数据源类型,加载对应的读取插件到中间处理系统的内存中;

9、(1.2)根据查询的异构数据源所在表,使用中间处理系统对于异构数据源系统的预定义语句,查询异构数据源所在表的数据类型;

10、(1.3)根据查询的异构数据源主键名,使用中间处理系统对于异构数据源系统的预定义语句,查询异构数据源所在表的主键值范围,并计算每个批次所读取的数据量;

11、(1.4)根据每个批次任务的起始主键值,追加自定义的查询过滤语句,生成该批次任务的完整查询语句;

12、(1.5)向异构数据源系统发送完整查询语句,将请求得到的数据加载到内存中,使用中间处理系统内部的类型子系统对加载到内存中的数据进行转化,并将数据成批次写入到中间处理系统的读通道中。

13、进一步地,所述步骤(1.3)中,每个批次所读取的数据量的计算表达式如下:

14、;

15、式中,n为每个批次读取的数据量,m为根据主键范围确定的数据总量,t为并发的批次数。

16、进一步地,所述s2中具体通过如下子步骤实现:

17、(2.1)中间处理系统循环从对应读通道中读取一维结构对象,对于达到数据总量阈值的一维结构对象集合进行装箱;

18、(2.2)利用预先定义的顶点映射规则,对装箱的一维结构对象进行属性提取和主键值提取,生成对应的顶点对象,并根据主键值去重,即融合相同主键值所对应顶点的属性集,将融合后的顶点集合装箱;

19、(2.3)利用预先定义的边映射规则,对装箱的一维结构对象进行属性提取、起始顶点主键值提取、终止顶点主键值提取,生成对应的边对象,将所得的边对象集合装箱;

20、(2.4)对边对象集合进行顶点存在性校验:若某一边对象的起始顶点主键值或终止顶点主键值在已生成的顶点集合中不存在,则为该边对象不存在的顶点生成一个默认顶点,该顶点只存在主键值,其余属性值为空,并将该默认顶点添加到顶点集合中;

21、(2.5)将所述步骤(2.4)生成的顶点集合、步骤(2.3)生成的边对象集合包装成一个子图结构对象;

22、(2.6)使用数据预处理插件对子图结构对象依次进行空值过滤、精度转化、别名映射处理;所述数据预处理插件包括:空值过滤预处理插件、精度转化预处理插件、别名映射预处理插件;

23、(2.7)将子图结构对象写入对应的中间处理系统的写通道。

24、进一步地,所述步骤(2.6)中,空值过滤使用空值过滤预处理插件,对子图结构对象进行顶点、边属性过滤,即消除属性值为空字符串的属性。

25、进一步地,所述步骤(2.6)中,精度转化使用精度转化预处理插件,对子图结构对象中bigint类型的顶点、边属性进行精度转化,即转化为string文本类型。

26、进一步地,所述步骤(2.6)中,别名映射处理使用别名映射预处理插件,对子图结构对象的名称属性进行映射,得到其对应的别名,并将该别名设置为该子图结构对象的别名属性。

27、进一步地,所述s3中具体通过如下子步骤实现:

28、(3.1)根据写入的图数据库类型,将对应的写入插件加载到内存中;

29、(3.2)与同步所需的主键索引进行比对,查询图数据库中是否存在用户配置的图数据库索引,若存在,则继续后续操作;若不存在,则创建缺少的顶点、边索引;

30、(3.3)中间处理系统从写通道中循环读取子图结构对象的顶点,校验子图结构对象中的顶点主键是否存在于已创建的顶点缓存中,若存在则代表已经向图数据库中同步导出了该顶点,则无需重复写入;若不存在,则从子图结构对象的顶点集合中提取出该顶点,并生成图数据库新建顶点请求的参数,执行请求;

31、(3.4)根据子图结构对象中的边集合生成图数据库新建边请求的参数,执行请求;

32、(3.5)等待图数据库子图创建请求完成,并将所述步骤(3.3)中原本不存在中间处理系统的顶点缓存中的顶点主键追加到中间处理系统的顶点缓存中;所述图数据库子图创建请求包括新建顶点请求和新建边请求。

33、一种异构数据源导入图数据库的装置,用于实现所述的异构数据源导入图数据库的方法,包括:资源管理模块、异构数据源提取模块、中间数据映射和消费模块、图数据库写入模块;

34、所本文档来自技高网...

【技术保护点】

1.一种异构数据源导入图数据库的方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的异构数据源导入图数据库的方法,其特征在于,所述S1中具体通过如下子步骤实现:

3.根据权利要求2所述的异构数据源导入图数据库的方法,其特征在于,所述步骤(1.3)中,每个批次所读取的数据量的计算表达式如下:

4.根据权利要求1所述的异构数据源导入图数据库的方法,其特征在于,所述S2中具体通过如下子步骤实现:

5.根据权利要求4所述的异构数据源导入图数据库的方法,其特征在于,所述步骤(2.6)中,空值过滤使用空值过滤预处理插件,对子图结构对象进行顶点、边属性过滤,即消除属性值为空字符串的属性。

6.根据权利要求4所述的异构数据源导入图数据库的方法,其特征在于,所述步骤(2.6)中,精度转化使用精度转化预处理插件,对子图结构对象中BIGINT类型的顶点、边属性进行精度转化,即转化为STRING文本类型。

7.根据权利要求4所述的异构数据源导入图数据库的方法,其特征在于,所述步骤(2.6)中,别名映射处理使用别名映射预处理插件,对子图结构对象的名称属性进行映射,得到其对应的别名,并将该别名设置为该子图结构对象的别名属性。

8.根据权利要求1所述的异构数据源导入图数据库的方法,其特征在于,所述S3中具体通过如下子步骤实现:

9.一种异构数据源导入图数据库的装置,用于实现权利要求1-8任意一项所述的异构数据源导入图数据库的方法,其特征在于,包括:资源管理模块、异构数据源提取模块、中间数据映射和消费模块、图数据库写入模块;

...

【技术特征摘要】

1.一种异构数据源导入图数据库的方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的异构数据源导入图数据库的方法,其特征在于,所述s1中具体通过如下子步骤实现:

3.根据权利要求2所述的异构数据源导入图数据库的方法,其特征在于,所述步骤(1.3)中,每个批次所读取的数据量的计算表达式如下:

4.根据权利要求1所述的异构数据源导入图数据库的方法,其特征在于,所述s2中具体通过如下子步骤实现:

5.根据权利要求4所述的异构数据源导入图数据库的方法,其特征在于,所述步骤(2.6)中,空值过滤使用空值过滤预处理插件,对子图结构对象进行顶点、边属性过滤,即消除属性值为空字符串的属性。

6.根据权利要求4所述的异构数据源导入图数据库的方法,其特征...

【专利技术属性】
技术研发人员:吴磊刘承相
申请(专利权)人:浙江大学
类型:发明
国别省市:

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

1