CN116701717A - 图数据库数据导入方法和系统 - Google Patents
图数据库数据导入方法和系统 Download PDFInfo
- Publication number
- CN116701717A CN116701717A CN202310974825.2A CN202310974825A CN116701717A CN 116701717 A CN116701717 A CN 116701717A CN 202310974825 A CN202310974825 A CN 202310974825A CN 116701717 A CN116701717 A CN 116701717A
- Authority
- CN
- China
- Prior art keywords
- data
- graph database
- written
- source
- configuration information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000003860 storage Methods 0.000 claims abstract description 48
- 238000012545 processing Methods 0.000 claims abstract description 47
- 238000005192 partition Methods 0.000 claims abstract description 36
- 238000013507 mapping Methods 0.000 claims description 34
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 14
- 238000000547 structure data Methods 0.000 claims description 10
- 238000013524 data verification Methods 0.000 claims description 5
- 238000012795 verification Methods 0.000 claims description 4
- 230000008676 import Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000004140 cleaning Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000009825 accumulation Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请涉及一种图数据库数据导入方法和系统。所述方法应用于数据处理系统,所述数据处理系统包括数据处理装置,消息队列和图数据库,所述方法包括:所述数据处理装置获取写入配置信息和不同源的源数据,基于所述写入配置信息和所述源数据,获取目标格式的待写入数据以及所述待写入数据的存储位置;所述消息队列获取所述待写入数据和所述存储位置,并按照所述存储位置将所述待写入数据存储在对应的分区中;所述图数据库响应于读取指令,根据所述图数据库节点ID拉取所述消息队列中相对应的所述分区中的待写入数据。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种图数据库数据导入方法和系统。
背景技术
图数据库系统广泛应用在实时推荐、金融风控、知识图谱、AI等领域,助力企业发掘数据背后的关联。但因为历史的积累,很多具有丰富业务价值的数据存储在其他大型数据库和数据文件系统中,因此需要将其他数据源的数据导入到图数据库中。
相关技术中,采用人工处理方式将来自不同数据存储系统中的数据批量导入至图数据库。这样的方式存在导入效率低的缺陷。具体来说,这样的方式,无法支持不同数据源直接写入数据库,并且,在导入过程中易出现数据在服务器端堆积的问题,从而导致处理超时。
发明内容
本申请实施例提供了一种图数据库数据导入方法和系统,以至少解决相关技术中图数据库数据导入效率低的缺陷。
第一方面,本发明实施例提供了一种图数据库数据导入方法,所述方法应用于数据处理系统,所述数据处理系统包括数据处理装置,消息队列和图数据库,所述方法包括:
所述数据处理装置获取写入配置信息和不同源的源数据,基于所述写入配置信息和所述源数据,获取目标格式的待写入数据以及所述待写入数据的存储位置;
所述消息队列获取所述待写入数据和所述存储位置,并按照所述存储位置将所述待写入数据存储在对应的分区中;
所述图数据库响应于读取指令,根据所述图数据库节点ID拉取所述消息队列中相对应的所述分区中的待写入数据。
在一个示例中,所述基于所述写入配置信息和所述源数据,获取目标格式的待写入数据,包括:
获取所述源数据的源schema信息,根据所述写入配置信息和所述源schema信息确定所述源数据与目标图数据库属性的第一映射;
基于所述第一映射对所述源数据进行转换处理得到中间数据;
根据所述写入配置信息将所述中间数据转换为所述目标格式待写入数据。
在一个示例中,所述写入配置信息包括目标图数据库DDL的生成方式,所述根据所述写入配置信息和所述源schema信息确定所述源数据与目标图数据库属性的第一映射,包括:
响应于所述DDL生成方式为自动生成,根据所述源schema信息生成中间图数据库DDL,基于所述中间图数据库DDL获取所述第一映射。
在一个示例中,所述写入配置信息包括目标图数据库DDL的生成方式,所述根据所述写入配置信息和所述源schema信息确定所述源数据与目标图数据库属性的第一映射,包括:
响应于所述DDL生成方式为读取生成,根据所述目标图数据库中读取图数据库schema信息,基于所述图数据库schema信息和所述源schema信息获取所述第一映射。
在一个示例中,所述基于所述第一映射对所述源数据进行转换处理得到中间数据,包括:
基于所述目标图数据库的schema信息进行数据校验,得到校验数据;
基于所述第一映射对所述校验数据进行结构转换得到所述中间数据,所述中间数据包括边结构数据和点结构数据。
在一个示例中,所述写入配置信息包括通过导入方式;所述根据所述写入配置信息将所述中间数据转换为所述目标格式待写入数据,包括:
根据所述导入方式确定相对应的图数据库的引擎类型;
根据所述引擎类型将所述中间数据转换为目标格式待写入数据。
在一个示例中,所述根据所述引擎类型将所述中间数据转换为目标格式待写入数据,包括:
响应于所述引擎类型为存储引擎,将所述中间数据转换为插入式语句;和/或
响应于所述引擎类型为查询引擎,将所述中间数据转换为结构化数据。
在一个示例中,所述获取所述待写入数据的存储位置,包括:
基于所述代写入数据的id与所述目标图数据库的分区数量进行哈希运算,得到哈希值;
基于所述哈希值对所述目标图数据库的分区进行取模,得到所述待写入数据的图数据库存储位置;
基于所述图数据库存储位置确定所述待写入数据在所述消息队列中的存储位置。
在一个示例中,所述根据所述图数据库节点ID拉取所述消息队列中相对应的所述分区中的待写入数据,包括:
根据所述图数据库节点ID确定所述消息队列中分区;
基于确定出的所述分区拉取所述消息队列中缓存的待写入信息。
第二方面,本申请实施例提供了一种图数据库数据导入系统,所述系统包括:
数据处理装置,用于获取源数据和写入配置信息,基于所述写入配置信息和所述源数据,获取目标格式的待写入数据以及所述待写入数据的存储位置;
消息队列,用于获取所述待写入数据和所述存储位置,并按照所述存储位置将所述待写入数据存储在对应的分区中;
图数据库,用于响应于读取指令,根据所述图数据库节点ID拉取所述消息队列中相对应的所述分区中的待写入数据。
相比于相关技术,本申请实施例提供的图数据库数据导入方法和系统至少具有以下技术效果。
本申请实施例提供的图数据库数据导入方法,通过消息队列的异步流式导入方式实现高效的数据导入,提高数据处理和数据写入的效率。通过数据处理装置和消息队列的配合,实现多源数据同时导入多个图数据库中,避免数据重复处理。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据一示例性实施例示出的数据处理系统的框图;
图2是根据一示例性实施例示出的图数据库数据导入方法流程图;
图3是根据一示例性实施例示出的待写入数据的获取流程示意图;
图4是根据一示例性实施例示出的待写入数据的存储位置的获取流程图;
图5是根据一示例性实施例示出的消息队列和图数据库的交互示意图;
图6是根据一示例性实施例示出的图数据库数据导入系统的框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
实施例1
第一方面,本申请实施例提供了一种图数据库数据导入方法。该方法应用于数据处理系统,图1是根据一示例性实施例示出的数据处理系统的框图。如图1所示,数据处理系统包括数据处理装置100,消息队列200和图数据库300。图2是根据一示例性实施例示出的图数据库数据导入方法流程图,如图2所示,该方法包括:
步骤S101、数据处理装置获取写入配置信息和不同源的源数据,基于写入配置信息和源数据,获取目标格式的待写入数据以及待写入数据的存储位置。
结合图1,对于数据处理装置所获取源数据的来源不做具体限定,包括但不限于:流式数据、图数据库、关系型数据库、分布式文件系统、本地文件系统。
其中,写入配置信息为用户预先配置的信息。在本实施例中,写入配置信息包括目标图数据库DDL的生成方式,以及导入方式。其中,DDL生成方式包括自动生成和非自动生成。导入方式包括全量数据导入和增量数据导入。
在一个示例中,图3是根据一示例性实施例示出的待写入数据的获取流程示意图。如图3所示,步骤S101中获取待写入数据具体包括:
步骤S1011、获取源数据的源schema信息,根据写入配置信息和源schema信息确定源数据与目标图数据库属性的第一映射。
作为一种情况,响应于DDL生成方式为自动生成,根据源schema信息生成中间图数据库DDL,基于中间图数据库DDL获取第一映射。
可选地,采用同名映射方式生成源数据与图数据库属性的第一映射。例如,源数据为Mysql数据库的Person表,表中列名为:id(int), name(varchar), age(int),自动生成的图数据库DDL为 CREATE NODE person(id int, name string, age int),源Schema与目标Schema的映射关系包括:指定Mysql Person表的id 作为图数据库person 点的主键,源Mysql Person表的name 作为图数据库person点的name,源Mysql Person表的age 作为图数据库person 点的age。
作为一种情况,响应于DDL生成方式为读取生成,根据目标图数据库中读取图数据库schema信息,基于图数据库schema信息和源schema信息获取第一映射。
可选地,基于源Schema和目标图数据库Schema生成点边与源数据的映射关系,在生成映射关系时,可采用jaccard、相似距离等相似性算法进行同名映射,其次进行顺序映射。
例如,源数据同样为上述提到的Mysql Person表,但图数据库中已有的schema为person(id, abc, bcd), 那么映射关系包括:指定Mysql Person表的id作为图数据库person点的主键,源Mysql Person表的name作为图数据库person点的abc,源Mysql Person表的age 作为图数据库person点的bcd。
采用这样的方式获取第一映射,减少了用户的配置工作量,并降低人为操作导致的配置错误率,进而提高数据导入成功率。
步骤S1012、基于第一映射对源数据进行转换处理得到中间数据。
在一个示例中,转换处理包括以下步骤:
第一步、基于目标图数据库的schema信息进行数据校验,得到校验数据。
基于第一映射确定源数据的数据类型、列名、点的主键、点id等属性信息。进而根据目标图数据库schema信息进行数据校验。可选地,数据校验包括数据类型是否符合图数据库中schema的设定,源数据列名与图数据库中属性名的映射是否符合图数据中schema的设定,点的主键是否符合图数据库中schema的设定。如源数据中作为点vid 的数据是否符合图数据库中点主键的数据类型要求,属性值是否符合图数据库中对应属性的数据类型的要求,当数据不符合类型要求时,将最为脏数据被剔除并记录在脏数据文件中。
第二步、基于第一映射对校验数据进行结构转换得到中间数据,中间数据包括边结构数据和点结构数据。
可选地,结构转换是将源数据中的一行行数据记录转换为对应的点结构数据或边结构数据,点结构包括点的主键名、vid、属性名及对应的属性值,边结构包括边的源点主键名、目标点主键名、源点id、目标点id、属性名及对应的属性值等。
可选地,步骤S1012还包括对源数据中的日期、时间等数据进行格式转换。举例来说,将date类型的“2023-01-01”转换为“date(‘2023-01-01’)”,把datetime类型的 ”2023-01-01T12:00:00” 转换为“dadetime(“2023-01-01T12:00:00”)”, 把time类型的“12:00:00”转换为“time(“12:00:00”)”。
此外,在对源数据进行转换处理之前,对源数据进行预处理,所述预处理包括但不限于数据清洗、格式归一化。可选地,通过数据清洗将多列数据拼接成一列新的数据,一列新的数据差分为多列数据,并基于设定条件进行数据过滤。进而,步骤S1012中基于预处理之后的源数据进行转换处理。
通过对源数据进行清洗和格式归一化处理,后续仅针对同一种格式进行数据处理,提高整体处理效率。
步骤S1013、根据写入配置信息将中间数据转换为目标格式待写入数据。
在一个示例中,步骤S1013具体包括:
第一步、根据导入方式确定相对应的图数据库的引擎类型。
当导入方式为全量数据导入时,对应的图数据库引擎类型为存储引擎。采用存储引擎可以跳过查询引擎对语句的解析和数据在查询引擎的网络传输,提升数据写入效率。这种方法还可以减少对系统资源的消耗,因为数据由存储引擎直接拉取写入,不需要经过查询引擎进行数据处理。
当导入方式为增量数据导入时,对应的图数据库引擎类型为查询引擎。采用询引擎作为消费者可以保证增量数据的准确性,因为查询引擎可以对数据进行校验和处理。这样可以避免导入有误的数据,提高数据的质量。
第二步、根据引擎类型将中间数据转换为目标格式待写入数据。
结合上述查询引擎和存储引擎两种类型,在第二步中,响应于引擎类型为存储引擎,将中间数据转换为插入式语句。响应于引擎类型为查询引擎,将中间数据转换为结构化数据。
采用这样的方式,通过数据处理装置的清洗处理能力和配置自动生成能力实现自动化的数据导入,减少人为配置导致的错误,提升数据导入成功率。
图4是根据一示例性实施例示出的待写入数据的存储位置的获取流程图,如图4所示,步骤S101中采用以下方式获取所述存储位置。
步骤S1014、基于代写入数据的id与目标图数据库的分区数量进行哈希运算,得到哈希值。其中,待写入数据的id包括点数据的vid 或者边数据的源id和目标id。
步骤S1015、基于哈希值对目标图数据库的分区进行取模,得到待写入数据的图数据库存储位置。可选地,图数据库存储位置具体包括图数据库的节点ID。
步骤S1016、基于图数据库存储位置确定待写入数据在消息队列中的存储位置。
具体来说,步骤S1016确定待写入数据在消息队列中的分区。可选地,预先获取图数据库节点ID与消息队列中分区的对应关系。例如,图数据库节点1对应消息队列分区1~33,图数据库节点2对应消息队列分区34~66。
采用这样的方式确定的存储位置,将消息队列分区与图数据库节点ID关联起来,进而支持后续图数据库根据所述存储位置拉取消息队列中对应的信息。
继续参照图1,步骤S101之后执行步骤S102和步骤S103。
步骤S102、消息队列获取待写入数据和存储位置,并按照存储位置将待写入数据存储在对应的分区中。
步骤S103、图数据库响应于读取指令,根据图数据库节点ID拉取所述消息队列中相对应的分区中的待写入数据。
可选地,步骤S103中,根据图数据库节点ID确定消息队列中分区,进而基于确定出的分区拉取消息队列中缓存的待写入信息。
图5是根据一示例性实施例示出的消息队列和图数据库的交互示意图。如图5所示,图数据库有3个节点,消息队列有30个分区,那么每个图数据库节点上的消费者只需要拉取对应消息队列分区进行数据导入。采用这样的方式,图数据库不同节点ID可同时拉取消息队列中的待写入信息,实现并线传输,提高整体数据写入效率。并且,采用的图数据库主动拉取消息队列的导入方式,整体读取进度由图数据库进行掌控,避免了数据堆积的问题。
综上所述,本申请实施例提供的图数据库数据导入方法,通过消息队列的异步流式导入方式实现高效的数据导入,提高数据处理和数据写入的效率。通过数据处理装置和消息队列的配合,实现多源数据同时导入多个图数据库中,避免数据重复处理。通过外部工具的清洗处理能力和配置自动生成能力实现自动化的数据导入,减少人为配置导致的错误,提升写入成功率。
实施例2
第二方面,本申请实施例提供了一种图数据库数据导入系统,图6是根据一示例性实施例示出的图数据库数据导入系统的框图。如图6所示,该系统包括:
数据处理装置610,用于获取源数据和写入配置信息,基于写入配置信息和源数据,获取目标格式的待写入数据以及待写入数据的存储位置。
消息队列620,用于获取待写入数据和存储位置,并按照存储位置将待写入数据存储在对应的分区中。
图数据库630,用于响应于读取指令,根据图数据库节点ID拉取消息队列中相对应的分区中的待写入数据。
在一个示例中,数据处理装置610包括:
第一获取单元,用于获取所述源数据的源schema信息,根据所述写入配置信息和所述源schema信息确定所述源数据与目标图数据库属性的第一映射;
第一转换单元,用于基于所述第一映射对所述源数据进行转换处理得到中间数据;
第二转换单元,用于根据所述写入配置信息将所述中间数据转换为所述目标格式待写入数据。
在一个示例中,所述写入配置信息包括目标图数据库DDL的生成方式,第一获取单元具体用于:响应于所述DDL生成方式为自动生成,根据所述源schema信息生成中间图数据库DDL,基于所述中间图数据库DDL获取所述第一映射。
在一个示例中,所述写入配置信息包括目标图数据库DDL的生成方式,第一获取单元具体用于:响应于所述DDL生成方式为读取生成,根据所述目标图数据库中读取图数据库schema信息,基于所述图数据库schema信息和所述源schema信息获取所述第一映射。
在一个示例中,第一转换单元具体用于:基于所述目标图数据库的schema信息进行数据校验,得到校验数据;基于所述第一映射对所述校验数据进行结构转换得到所述中间数据,所述中间数据包括边结构数据和点结构数据。
在一个示例中,所述写入配置信息包括通过导入方式;第二转换单元具体用于:根据所述导入方式确定相对应的图数据库的引擎类型;根据所述引擎类型将所述中间数据转换为目标格式待写入数据。
在一个示例中,第二转换单元具体用于:响应于所述引擎类型为存储引擎,将所述中间数据转换为插入式语句;和/或,响应于所述引擎类型为查询引擎,将所述中间数据转换为结构化数据。
在一个示例中,数据处理装置610还用于:基于所述代写入数据的id与所述目标图数据库的分区数量进行哈希运算,得到哈希值;基于所述哈希值对所述目标图数据库的分区进行取模,得到所述待写入数据的图数据库存储位置;基于所述图数据库存储位置确定所述待写入数据在所述消息队列中的存储位置。
在一个示例中,图数据库630,用于根据所述图数据库节点ID确定所述消息队列中分区;基于确定出的所述分区拉取所述消息队列中缓存的待写入信息。
本申请实施例提供的图数据库数据导入系统,通过消息队列的异步流式导入方式实现高效的数据导入,提高数据处理和数据写入的效率。通过数据处理装置和消息队列的配合,实现多源数据同时导入多个图数据库中,避免数据重复处理。通过外部工具的清洗处理能力和配置自动生成能力实现自动化的数据导入,减少人为配置导致的错误,提升写入成功率。
本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种图数据库数据导入方法,其特征在于,所述方法应用于数据处理系统,所述数据处理系统包括数据处理装置,消息队列和图数据库,所述方法包括:
所述数据处理装置获取写入配置信息和不同源的源数据,基于所述写入配置信息和所述源数据,获取目标格式的待写入数据以及所述待写入数据的存储位置;
所述消息队列获取所述待写入数据和所述存储位置,并按照所述存储位置将所述待写入数据存储在对应的分区中;
所述图数据库响应于读取指令,根据所述图数据库节点ID拉取所述消息队列中相对应的所述分区中的待写入数据。
2.根据权利要求1所述的方法,其特征在于,所述基于所述写入配置信息和所述源数据,获取目标格式的待写入数据,包括:
获取所述源数据的源schema信息,根据所述写入配置信息和所述源schema信息确定所述源数据与目标图数据库属性的第一映射;
基于所述第一映射对所述源数据进行转换处理得到中间数据;
根据所述写入配置信息将所述中间数据转换为所述目标格式待写入数据。
3.根据权利要求2所述的方法,其特征在于,所述写入配置信息包括目标图数据库DDL的生成方式,所述根据所述写入配置信息和所述源schema信息确定所述源数据与目标图数据库属性的第一映射,包括:
响应于所述DDL生成方式为自动生成,根据所述源schema信息生成中间图数据库DDL,基于所述中间图数据库DDL获取所述第一映射。
4.根据权利要求2所述的方法,其特征在于,所述写入配置信息包括目标图数据库DDL的生成方式,所述根据所述写入配置信息和所述源schema信息确定所述源数据与目标图数据库属性的第一映射,包括:
响应于所述DDL生成方式为读取生成,根据所述目标图数据库中读取图数据库schema信息,基于所述图数据库schema信息和所述源schema信息获取所述第一映射。
5.根据权利要求2所述的方法,其特征在于,所述基于所述第一映射对所述源数据进行转换处理得到中间数据,包括:
基于所述目标图数据库的schema信息进行数据校验,得到校验数据;
基于所述第一映射对所述校验数据进行结构转换得到所述中间数据,所述中间数据包括边结构数据和点结构数据。
6.根据权利要求2所述的方法,其特征在于,所述写入配置信息包括通过导入方式;所述根据所述写入配置信息将所述中间数据转换为所述目标格式待写入数据,包括:
根据所述导入方式确定相对应的图数据库的引擎类型;
根据所述引擎类型将所述中间数据转换为目标格式待写入数据。
7.根据权利要求6所述的方法,其特征在于,所述根据所述引擎类型将所述中间数据转换为目标格式待写入数据,包括:
响应于所述引擎类型为存储引擎,将所述中间数据转换为插入式语句;和/或
响应于所述引擎类型为查询引擎,将所述中间数据转换为结构化数据。
8.根据权利要求2所述的方法,其特征在于,所述获取所述待写入数据的存储位置,包括:
基于所述待写入数据的id与所述目标图数据库的分区数量进行哈希运算,得到哈希值;
基于所述哈希值对所述目标图数据库的分区进行取模,得到所述待写入数据的图数据库存储位置;
基于所述图数据库存储位置确定所述待写入数据在所述消息队列中的存储位置。
9.根据权利要求1所述的方法,其特征在于,所述根据所述图数据库节点ID拉取所述消息队列中相对应的所述分区中的待写入数据,包括:
根据所述图数据库节点ID确定所述消息队列中分区;
基于确定出的所述分区拉取所述消息队列中缓存的待写入信息。
10.一种图数据库数据导入系统,其特征在于,所述系统包括:
数据处理装置,用于获取源数据和写入配置信息,基于所述写入配置信息和所述源数据,获取目标格式的待写入数据以及所述待写入数据的存储位置;
消息队列,用于获取所述待写入数据和所述存储位置,并按照所述存储位置将所述待写入数据存储在对应的分区中;
图数据库,用于响应于读取指令,根据所述图数据库节点ID拉取所述消息队列中相对应的所述分区中的待写入数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310974825.2A CN116701717B (zh) | 2023-08-04 | 2023-08-04 | 图数据库数据导入方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310974825.2A CN116701717B (zh) | 2023-08-04 | 2023-08-04 | 图数据库数据导入方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116701717A true CN116701717A (zh) | 2023-09-05 |
CN116701717B CN116701717B (zh) | 2023-10-27 |
Family
ID=87832540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310974825.2A Active CN116701717B (zh) | 2023-08-04 | 2023-08-04 | 图数据库数据导入方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116701717B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017044119A1 (en) * | 2015-09-11 | 2017-03-16 | Hewlett Packard Enterprise Development Lp | Graph database and relational database mapping |
EP3511842A1 (en) * | 2018-01-16 | 2019-07-17 | Palantir Technologies Inc. | Concurrent automatic adaptive storage of datasets in graph databases |
CN110795476A (zh) * | 2019-10-16 | 2020-02-14 | 北京百分点信息科技有限公司 | 一种本体库的数据写入方法及装置 |
CN114647689A (zh) * | 2022-03-10 | 2022-06-21 | 杭州欧若数网科技有限公司 | 一种图数据库数据导入的方法、系统、装置和介质 |
CN114969441A (zh) * | 2022-03-24 | 2022-08-30 | 朗新数据科技有限公司 | 基于图数据库的知识挖掘引擎系统 |
CN115599870A (zh) * | 2022-12-15 | 2023-01-13 | 云筑信息科技(成都)有限公司(Cn) | 基于消息队列的存量数据与增量数据融合的数据同步方法 |
US20230045347A1 (en) * | 2021-07-29 | 2023-02-09 | Intuit Inc. | Systems and methods for unified graph database querying |
CN116431726A (zh) * | 2022-01-04 | 2023-07-14 | 中移(苏州)软件技术有限公司 | 一种图数据处理方法、装置、设备及计算机存储介质 |
-
2023
- 2023-08-04 CN CN202310974825.2A patent/CN116701717B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017044119A1 (en) * | 2015-09-11 | 2017-03-16 | Hewlett Packard Enterprise Development Lp | Graph database and relational database mapping |
EP3511842A1 (en) * | 2018-01-16 | 2019-07-17 | Palantir Technologies Inc. | Concurrent automatic adaptive storage of datasets in graph databases |
CN110795476A (zh) * | 2019-10-16 | 2020-02-14 | 北京百分点信息科技有限公司 | 一种本体库的数据写入方法及装置 |
US20230045347A1 (en) * | 2021-07-29 | 2023-02-09 | Intuit Inc. | Systems and methods for unified graph database querying |
CN116431726A (zh) * | 2022-01-04 | 2023-07-14 | 中移(苏州)软件技术有限公司 | 一种图数据处理方法、装置、设备及计算机存储介质 |
CN114647689A (zh) * | 2022-03-10 | 2022-06-21 | 杭州欧若数网科技有限公司 | 一种图数据库数据导入的方法、系统、装置和介质 |
CN114969441A (zh) * | 2022-03-24 | 2022-08-30 | 朗新数据科技有限公司 | 基于图数据库的知识挖掘引擎系统 |
CN115599870A (zh) * | 2022-12-15 | 2023-01-13 | 云筑信息科技(成都)有限公司(Cn) | 基于消息队列的存量数据与增量数据融合的数据同步方法 |
Non-Patent Citations (2)
Title |
---|
崔世杰;王杰;尹志永;蔡建文;: "城市基础地理信息数据多源性及多格式转换处理思路研究", 科技创新导报, no. 01 * |
罗航;: "CGIS多源数据处理研究", 科技资讯, no. 04 * |
Also Published As
Publication number | Publication date |
---|---|
CN116701717B (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110674228B (zh) | 数据仓库模型构建和数据查询方法、装置及设备 | |
CN109446344B (zh) | 一种基于大数据的智能分析报告自动生成系统 | |
CN111324610A (zh) | 一种数据同步的方法及装置 | |
CN112286941A (zh) | 一种基于Binlog+HBase+Hive的大数据同步方法和装置 | |
CN111666344B (zh) | 异构数据同步方法及装置 | |
US9043366B2 (en) | High performance map editor for business analysts | |
CN113220951B (zh) | 一种基于智能内容的医学临床支持方法和系统 | |
CN114417012A (zh) | 一种生成知识图谱的方法和电子设备 | |
CN116701717B (zh) | 图数据库数据导入方法和系统 | |
US8290922B2 (en) | Data framework to enable rich processing of data from any arbitrary data source | |
CN112486985A (zh) | 一种锅炉数据的查询方法、装置、设备及存储介质 | |
Černjeka et al. | NoSQL document store translation to data vault based EDW | |
CN113760600B (zh) | 一种数据库备份方法、数据库还原方法和相关装置 | |
CN114564621A (zh) | 一种关联数据的方法、装置、设备及可读存储介质 | |
CN113705180A (zh) | 一种文档编审方法、装置、电子设备及存储介质 | |
US20090210434A1 (en) | Storage and retrieval of variable data | |
CN112800054A (zh) | 数据模型的确定方法、装置、设备及存储介质 | |
CN112632167A (zh) | 一种结构化数据的数据转化方法、数据转化系统及相关装置 | |
CN117435596B (zh) | 流批任务一体化方法、装置、存储介质及电子设备 | |
KR100831550B1 (ko) | 엑스엠엘 계층구조를 이용한 비디오 검색 시스템 및 그 방법 | |
CN111126961A (zh) | 一种复杂产品全生命周期数字主线服务系统 | |
CN109325093A (zh) | 参考文献自动生成方法、装置及计算机可读取存储介质 | |
CN116775946A (zh) | 数据采集方法、装置、计算机设备、存储介质和程序产品 | |
EP3893110A1 (en) | A system and method for etl pipeline processing | |
CN116701301A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |