CN113553329A - 数据集成系统和方法 - Google Patents
数据集成系统和方法 Download PDFInfo
- Publication number
- CN113553329A CN113553329A CN202110831812.0A CN202110831812A CN113553329A CN 113553329 A CN113553329 A CN 113553329A CN 202110831812 A CN202110831812 A CN 202110831812A CN 113553329 A CN113553329 A CN 113553329A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- plug
- data structure
- source
- 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
- 230000010354 integration Effects 0.000 title claims abstract description 174
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000012216 screening Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供一种数据集成系统和方法。该系统包括:主节点和从节点;主节点,用于将数据集成任务划分为多个子数据集成任务,确定每个子数据集成任务对应的目标从节点,其中,数据集成任务用于指示将以第一数据结构存储的第一数据源中的数据存储至以第二数据结构存储的第二数据源;多个子数据集成任务中的每个子数据集成任务用于指示将第一数据源中的目标数据存储至第二数据源,第一数据源中的目标数据为第一数据源中的部分或者全部数据;分别向每个目标从节点发送目标从节点对应的子数据集成任务;从节点,用于根据接收到主节点发送的子数据集成任务,将第一数据源中的目标数据存储至第二数据源。提高了数据集成的效率。
Description
技术领域
本公开涉及大数据技术领域,尤其涉及一种数据集成系统和方法。
背景技术
企业需要存储的数据量越来越大,存储数据的存储介质具有多种,例如,可以存储在文件中、存在各种不同数据结构的数据库中等。常常需要将多种存储介质的数据集成到一种存储介质中,也可以称为异构数据源的数据集成,从而建立数据仓库或者数据湖。
现有的异构数据源的数据集成过程采用单机方式实现,对于大规模数据的集成,效率不高。
发明内容
为了解决上述数据集成效率不高的技术问题,本公开提供了一种数据集成系统和方法。
第一方面,本公开提供了一种数据集成系统,包括:主节点和从节点;
所述主节点,用于将数据集成任务划分为多个子数据集成任务,确定每个子数据集成任务对应的目标从节点,其中,所述数据集成任务用于指示将以第一数据结构存储的第一数据源中的数据存储至以第二数据结构存储的第二数据源;所述多个子数据集成任务中的每个子集成任务用于指示将第一数据源中的目标数据存储至第二数据源,所述第一数据源中的目标数据为所述第一数据源中的部分或者全部数据;分别向每个目标从节点发送所述目标从节点对应的子数据集成任务;
所述从节点,用于根据所述子数据集成任务,将所述第一数据源中的目标数据存储至第二数据源。
可选的,所述从节点具体用于:
获取所述第一数据结构对应的读取插件,通过所述第一数据结构对应的读取插件获取所述第一数据源中的目标数据,将所述第一数据源中的目标数据转换为以第三数据结构存储的目标数据,向核心模块发送所述以第三数据结构存储的目标数据;
获取所述第二数据结构对应的写入插件,通过所述第二数据结构对应的写入插件从所述核心模块获取所述以第三数据结构存储的目标数据,将所述以第三数据结构存储的目标数据以所述第二数据结构写入所述第二数据源。
可选的,所述数据集成任务中包含:所述第一数据源的信息和所述第二数据源的信息,所述第一数据源的信息包括:所述第一数据源的地址信息和所述第一数据结构,所述第二数据源的信息包括:所述第二数据源的地址信息和所述第二数据结构;所述子数据集成任务中包含:所述第一数据源中的目标数据的信息和所述第二数据源的信息;所述第一数据源中的目标数据的信息包括:所述第一数据源中的目标数据的地址信息和所述第一数据结构;
所述从节点具体用于:
通过所述第一数据结构对应的读取插件根据所述第一数据源中的目标数据的地址信息,获取所述第一数据源中的目标数据;
通过所述第二数据结构对应的写入插件根据所述第二数据源的地址,将所述以第三数据结构存储的目标数据以所述第二数据结构写入所述第二数据源。
可选的,所述从节点具体用于:
通过所述核心模块对所述以第三数据结构存储的目标数据进行筛选,得到筛选后的以第三数据结构存储的目标数据;
通过所述第二数据结构对应的写入插件从所述核心模块获取所述筛选后的以第三数据结构存储的目标数据,将所述筛选后的以第三数据结构存储的目标数据以所述第二数据结构写入所述第二数据源。
可选的,所述从节点具体用于:
向读取插件服务器发送读取插件获取请求,所述读取插件获取请求中包含:所述第一数据结构;接收所述读取插件服务器发送的读取插件;
向写入插件服务器发送写入插件获取请求,所述写入插件获取请求中包含:所述第二数据结构;接收所述写入插件服务器发送的写入插件。
可选的,所述主节点具体用于:
获取所述第一数据结构对应的读取插件,向所述目标从节点发送所述第一数据结构对应的读取插件;获取所述第二数据结构对应的写入插件,向所述目标从节点发送所述第二数据结构对应的写入插件。
可选的,所述从节点具体用于:
通过所述核心模块将筛选后的以第三数据结构存储的目标数据存储在内存中;
通过所述第二数据结构对应的写入插件从内存中获取所述筛选后的以第三数据结构存储的目标数据。
第二方面,本公开提供一种数据集成方法,应用于数据集成系统,所述数据集成系统包括:主节点和从节点;所述方法包括:
所述主节点获取数据集成任务,所述数据集成任务用于指示将以第一数据结构存储的第一数据源中的数据存储至以第二数据结构存储的第二数据源;
所述主节点将数据集成任务划分为多个子数据集成任务,确定每个子数据集成任务对应的目标从节点,其中,所述多个子数据集成任务中的每个子数据集成任务用于指示将第一数据源中的目标数据存储至第二数据源,所述第一数据源中的目标数据为所述第一数据源中的部分或者全部数据;
所述主节点分别向每个目标从节点发送所述目标从节点对应的子数据集成任务;
所述从节点根据接收到所述主节点发送的子数据集成任务,将所述第一数据源中的目标数据存储至第二数据源。
可选的,所述从节点根据接收到所述主节点发送的子数据集成任务,将所述第一数据源中的目标数据存储至第二数据源,包括:
所述从节点获取所述第一数据结构对应的读取插件,通过所述第一数据结构对应的读取插件获取所述第一数据源中的目标数据,将所述第一数据源中的目标数据转换为以第三数据结构存储的目标数据,向核心模块发送所述以第三数据结构存储的目标数据;
获取所述第二数据结构对应的写入插件,通过所述第二数据结构对应的写入插件从所述核心模块获取所述以第三数据结构存储的目标数据,将所述以第三数据结构存储的目标数据以所述第二数据结构写入所述第二数据源。
可选的,所述数据集成任务中包含:所述第一数据源的信息和所述第二数据源的信息,所述第一数据源的信息包括:所述第一数据源的地址信息和所述第一数据结构,所述第二数据源的信息包括:所述第二数据源的地址信息和所述第二数据结构;所述子数据集成任务中包含:所述第一数据源中的目标数据的信息和所述第二数据源的信息;所述第一数据源中的目标数据的信息包括:所述第一数据源中的目标数据的地址信息和所述第一数据结构;
所述通过所述第一数据结构对应的读取插件获取所述第一数据源中的目标数据,包括:
通过所述第一数据结构对应的读取插件根据所述第一数据源中的目标数据的地址信息,获取所述第一数据源中的目标数据;
所述通过所述第二数据结构对应的写入插件从所述核心模块获取所述以第三数据结构存储的目标数据,包括:
通过所述第二数据结构对应的写入插件根据所述第二数据源的地址,获取所述以第三数据结构存储的目标数据。
可选的,所述向核心模块发送所述以第三数据结构存储的目标数据之后,还包括:
通过所述核心模块对所述以第三数据结构存储的目标数据进行筛选,得到筛选后的以第三数据结构存储的目标数据;
所述通过所述第二数据结构对应的写入插件从所述核心模块获取所述以第三数据结构存储的目标数据,将所述以第三数据结构存储的目标数据以所述第二数据结构写入所述第二数据源,包括:
通过所述第二数据结构对应的写入插件从所述核心模块获取所述筛选后的以第三数据结构存储的目标数据,将所述筛选后的以第三数据结构存储的目标数据以所述第二数据结构写入所述第二数据源。
可选的,所述获取所述第一数据结构对应的读取插件,包括:
向读取插件服务器发送读取插件获取请求,所述读取插件获取请求中包含:所述第一数据结构;
接收所述读取插件服务器发送的读取插件;
所述获取所述第二数据结构对应的写入插件,包括:
向写入插件服务器发送写入插件获取请求,所述写入插件获取请求中包含:所述第二数据结构;
接收所述写入插件服务器发送的写入插件。
可选的,所述方法还包括:
所述主节点获取所述第一数据结构对应的读取插件,向所述目标从节点发送所述第一数据结构对应的读取插件;
所述主节点获取所述第二数据结构对应的写入插件,向所述目标从节点发送所述第二数据结构对应的写入插件。
可选的,所述方法还包括:
所述从节点通过所述核心模块将筛选后的以第三数据结构存储的目标数据存储在内存中;
通过所述第二数据结构对应的写入插件从内存中获取所述筛选后的以第三数据结构存储的目标数据。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
数据集成系统中,主节点将数据集成任务划分为多个子数据集成任务,并确定每个字数据集成任务对应的目标从节点,分别向每个目标从节点发送目标从节点对应的子数据集成任务,从节点在接收到主节点发送的子数据集成任务以后,根据子数据集成任务,将第一数据源中的目标数据存储至第二数据源,从而将数据集成任务分配给数据集成系统中的一个或多个目标从节点执行,每个目标从节点可以并行执行自身的子数据集成任务,减少了数据集成任务执行的时间,提高数据集成效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开提供的一种数据集成系统的结构示意图;
图2为本公开提供的一种数据集成方法的交互示意图。
附图标记:
1:数据集成系统;
11:主节点;
12:从节点。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
下面介绍本公开的一种具体的应用场景,随着大数据和人工智能(ArtificialIntelligence,AI)等技术的发展,企业数据用于存储数据的存储介质有多种,例如,文件或者数据库等。示例性的,对于电商平台企业来说,电商平台的用户行为数据,例如,用户浏览页面、加入购物车操作和/或广告的展示点击等,通常以服务日志的形式存储在文件中。业务数据,例如用户的订单、商品的描述等,通常存储在不同的数据库中。为了对多种不同存储介质存储的数据进行统一的分析,需要通过数据集成系统将不同存储介质的数据同步(集成)到一个存储介质,例如,大数据常用的存储系统分布式文件系统(HadoopDistributed File System,简称HDFS)或者离线数仓分析系统(hive)等,从而构建数据仓库或者数据湖。
本公开提供的数据集成系统中包括主节点和与主节点连接的多个从节点,主节点将数据集成任务分成多个子数据集成任务,并分别分配给多个目标子节点进行处理,从而实现数据集成任务的分布式处理,提高了数据集成任务的处理效率。下面以具体的实施例进行详细说明。
请参见图1,图1为本公开提供的一种数据集成系统的结构示意图。数据集成系统包括主节点11和从节点12,图1中示例性的示出了3个从节点12,对于从节点12的数量本公开不做限定。其中,主节点11可以为服务器或者计算机等电子设备。从节点12可以为服务器或者计算机等电子设备。
主节点11用于将数据集成任务划分为多个子数据集成任务,确定每个子数据集成任务对应的目标从节点。
其中,数据集成任务用于指示将以第一数据结构存储的第一数据源中的数据存储至以第二数据结构存储的第二数据源。
其中,多个子数据集成任务中的每个子数据集成任务用于指示将第一数据源中的目标数据存储至第二数据源,第一数据源中的目标数据为第一数据源中的部分或者全部数据。
其中,每个子数据集成任务对应一个目标从节点,以使该目标从节点执行该子数据集成任务。目标从节点为数据集成系统中的一个或多个从节点12。
主节点11分别向每个目标从节点发送目标从节点对应的子数据集成任务。
可选的,主节点11还用于获取数据集成任务。第一数据源可以是一种或多种数据结构存储的数据源。数据集成任务用于指示数据集成系统1将待集成数据源的地址对应的数据以目标数据源的数据类型存储在目标数据源的地址中。
其中,第一数据源可以为关系型数据库管理系统(MySQL)、数据库(oracle)、HDFS、分布式开源数据库(HBase)和/或对象存储(S3)数据库等。
其中,第二数据源可以为关系型数据库管理系统(MySQL)、数据库(oracle)、HDFS、分布式开源数据库(HBase)和/或对象存储(S3)数据库等。
可以理解,第一数据源可以与第二数据源相同,也可以不同,对此本公开不做限定。
进一步地,主节点11可以与客户端连接,通过客户端接收数据集成任务。
可选的,主节点11具体用于根据数据集成任务和任务分配策略,将数据集成任务划分为多个子数据集成任务,并确定每个子数据集成任务对应的目标子节点。
从节点12用于根据接收到主节点11发送的子数据集成任务,将第一数据源中的目标数据存储至第二数据源。
本实施例,数据集成系统中,主节点将数据集成任务划分为多个子数据集成任务,并确定每个字数据集成任务对应的目标从节点,分别向每个目标从节点发送目标从节点对应的子数据集成任务,从节点在接收到主节点发送的子数据集成任务以后,根据子数据集成任务,将第一数据源中的目标数据存储至第二数据源,从而将数据集成任务分配给数据集成系统中的一个或多个目标从节点执行,每个目标从节点可以并行执行自身的子数据集成任务,减少了数据集成任务执行的时间,提高数据集成效率。
下面以数据集成任务为两个第一数据源A和B的数据集成到一个第二数据源C为例进行说明,可以理解,本实施例只是一种示例,并不构成对本公开的限制。
主节点可以根据任务分配策略,将第一数据源A的数据同步到第二数据源C的子数据集成任务A分配给从节点A执行。将第二数据源B的数据同步到第二数据源C的任务分成2个子数据集成任务B分别分配给从节点B和从节点C执行。从而对于该数据集成任务,由从节点A、从节点B和从节点C并行执行,进而提高了数据集成效率。
在上述实施例的基础上,进一步地,从节点12具体用于:
获取第一数据结构对应的读取插件,通过第一数据结构对应的读取插件获取第一数据源中的目标数据,将第一数据源中的目标数据转换为以第三数据结构存储的目标数据,向核心模块发送以第三数据结构存储的目标数据;
获取第二数据结构对应的写入插件,通过第二数据结构对应的写入插件从核心模块获取以第三数据结构存储的目标数据,将以第三数据结构存储的目标数据以第二数据结构写入第二数据源。
读取插件用于获取以第一数据结构存储的第一数据源中的数据,并将该数据转换为以第三数据结构存储的目标数据。
其中,每种第一数据结构可以对应一个读取插件,也可以多种第一数据结构对应一个读取插件。
写入插件用于将以第三数据结构存储的目标数据以第二数据结构写入第二数据源中。
其中,每种第二数据结构可以对应一个写入插件,该写入插件用于将数据写入以第二数据结构存储的数据源中。
可以理解,核心模块用于数据流转,核心模块不随着第一数据源的第一数据结构和第二数据源的第二数据结构而变化。在使用过程中,有新增数据结构时,添加对应的读取或者写入插件即可,无需改动核心模块。
本实施例,从节点12根据需要读取的第一数据源的第一数据结构获取对应的读取插件,获取核心模块,并根据需要写入的第二数据源的第二数据结构确定写入插件,在有新的数据结构的数据源加入时,无需修改核心模块的设计,只需要增加对应的插件即可,减少了开发时间,提高了开发效率,提高了数据集成系统的可扩展性,更加灵活实现数据的集成。
在上述实施例的基础上,进一步地,数据集成任务中包含:第一数据源的信息和第二数据源的信息,第一数据源的信息包括:第一数据源的地址信息和第一数据结构,第二数据源的信息包括:第二数据源的地址信息和第二数据结构;子数据集成任务中包含:第一数据源中的目标数据的信息和第二数据源的信息;第一数据源中的目标数据的信息包括:第一数据源中的目标数据的地址信息和第一数据结构;
从节点12具体用于:
通过第一数据结构对应的读取插件根据第一数据源中的目标数据的地址信息,获取第一数据源中的目标数据;
通过第二数据结构对应的写入插件根据第二数据源的地址,将以第三数据结构存储的目标数据以第二数据结构写入第二数据源。
进一步地,数据集成任务中还包括第一数据源的用户名和密码。该用户名和密码用于做为身份认证信息获取第一数据源中的数据。
可选的,数据集成任务可以是任务配置文件。
下面以一个具体的任务配置文件为例进行说明。
任务配置文件内容:
上述配置文件中,数据集成系统读取第一数据源(source)和第二数据源(sink)的配置,本实施例中,source指MySQL数据库,并提供了用户名、密码、地址,sink指hdfs类型的数据源,并提供了hdfs的地址。
在上述实施例的基础上,进一步地,从节点12获取插件的过程,可以将所有的插件存储在每个从节点12中,从而从节点12在执行子数据集成任务时可以直接从本地获取到。也可以从存储插件的服务器获取对应的插件。还可以主节点11直接将插件发送给从节点12。下面以具体的实施例进行详细说明。
在一些场景中,除了对将一些异构的第一数据源集成到第二数据源以外,在集成过程中,还需要对各个第一数据源中的数据进行筛选,从而将筛选后的数据集成到第二数据源。下面以具体的实施例进行详细说明。
在一种可能的设计中,从节点12具体用于:
通过核心模块对以第三数据结构存储的目标数据进行筛选,得到筛选后的以第三数据结构存储的目标数据;
通过第二数据结构对应的写入插件从核心模块获取筛选后的以第三数据结构存储的目标数据,将筛选后的以第三数据结构存储的目标数据以第二数据结构写入第二数据源。
其中,核心模块除了可以存储数据,实现数据流转以外,还可以实现数据的筛选,即可以根据筛选条件,从以第三数据结构存储的目标数据中获取符合筛选条件的数据,得到筛选后的以第三数据结构存储的目标数据,将筛选后的以第三数据结构存储的目标数据发送给写入插件。
本实施例,从节点通过核心模块除了可以实现数据流转外,可以实现对数据的筛选功能,使得数据集成系统可以处理的场景更加丰富,在不同要求的数据集成场景中能够快速完成数据集成任务。
在另外一些实施例中,在数据集成过程中,获取读取插件和写入插件的方式可以有多种。
一种可能的实现方式中,每个从节点12中存储有所有的读取插件和写入插件。从节点12执行子数据集成任务时,从其自身获取对应的读取插件和写入插件。
另一种可能的实现方式中,从节点12中存储有部分读取插件和/或写入插件,则确定所需的读取插件和写入插件以后,从节点12先确定其是否存储了读取插件和/或写入插件,若是,则直接从自身获取读取插件和/或写入插件,若否,则可以向读取插件服务器请求对应的读取插件和/或写入插件。下面以具体的实施例进行详细说明。
在上述实施例的基础上,从节点12具体用于:
向读取插件服务器发送读取插件获取请求,读取插件获取请求中包含:第一数据结构;接收读取插件服务器发送的读取插件;
向写入插件服务器发送写入插件获取请求,写入插件获取请求中包含:第二数据结构;接收写入插件服务器发送的写入插件。
再一种可能的实现方式中,从节点12中不存储读取插件和写入插件,则从节点12在执行子数据集成任务时,可以向读取插件服务器请求对应的读取插件和/或写入插件。例如,如上一实施例的过程,此处不再赘述。
又一种可能的实现方式中,从节点12中不存储读取插件和写入插件。主节点11中可以存储所有的读取插件和写入插件。主节点11在确认子数据集成任务时,确定其对应的读取插件和写入插件,将读取插件和写入插件发送给目标从节点。主节点11中也可以不存储读取插件和写入插件,主节点11可以在确认子数据集成任务后,从插件服务器获取其对应的读取插件和写入插件,将读取插件和写入插件发送给目标从节点。下面以具体的实施例进行详细说明。
在上述实施例的基础上,主节点11具体用于:
获取第一数据结构对应的读取插件,向目标从节点12发送第一数据结构对应的读取插件;获取第二数据结构对应的写入插件,向目标从节点12发送第二数据结构对应的写入插件。
在上述实施例的基础上,一种可能的实现方式中,数据集成系统可以在执行数据集成任务时,基于存储空间执行数据集成任务。例如,可以基于数据处理工具(Sqoop),利用的分布式文件系统(hadoop)的分布式计算任务(mapreduce,简称MR)执行数据集成任务。
在另外一些实施例中,数据集成系统可以在执行数据集成任务时,基于内存执行数据集成任务。下面以具体的实施例进行详细说明。
从节点12具体用于:
通过核心模块将筛选后的以第三数据结构存储的目标数据存储在内存中;
通过第二数据结构对应的写入插件从内存中获取筛选后的以第三数据结构存储的目标数据。
示例性的,数据集成系统可以采用计算引擎(spark)实现,通过弹性分布式数据集(Resiliennt Distributed Datasets,RDD)中的基于内存机制的形式执行子数据集成任务。
通过spark实现,在部分子数据集成任务执行失败以后,可以自动重新执行该失败的子数据集成任务,从而提高数据集成任务的成功率。
本实施例,从节点在执行子数据集成任务时通过核心模块将筛选后的以第三数据结构存储的目标数据存储在内存中,通过第二数据结构对应的写入插件从内存中获取筛选后的以第三数据结构存储的目标数据。基于内存进行处理,处理速度快,从而整体上提高了数据集成的效率。
请参见图2,图2为本公开提供的一种数据集成方法的交互示意图,如图2所示,本实施例的方法由数据集成系统执行,数据集成系统可以为图1所示的数据集成系统1。本实施例的方法如下:
S201、主节点获取数据集成任务。
其中,数据集成任务用于指示将以第一数据结构存储的第一数据源中的数据存储至以第二数据结构存储的第二数据源;
S202、主节点将数据集成任务划分为多个子数据集成任务,确定每个子数据集成任务对应的目标从节点。
其中,多个子数据集成任务中的每个子数据集成任务用于指示将第一数据源中的目标数据存储至第二数据源,第一数据源中的目标数据为第一数据源中的部分或者全部数据;
S203、主节点分别向每个目标从节点发送目标从节点对应的子数据集成任务。
S204、从节点根据子数据集成任务,将第一数据源中的目标数据存储至第二数据源。
可选的,S204可以通过如下步骤1-7实现:
步骤1、从节点获取第一数据结构对应的读取插件。
步骤2、从节点通过第一数据结构对应的读取插件获取第一数据源中的目标数据。
步骤3、从节点将第一数据源中的目标数据转换为以第三数据结构存储的目标数据。
步骤4、从节点向核心模块发送以第三数据结构存储的目标数据。
步骤5、从节点获取第二数据结构对应的写入插件。
步骤6、从节点通过第二数据结构对应的写入插件从核心模块获取以第三数据结构存储的目标数据。
步骤7、从节点将以第三数据结构存储的目标数据以第二数据结构写入第二数据源。
可选的,数据集成任务中包含:第一数据源的信息和第二数据源的信息,第一数据源的信息包括:第一数据源的地址信息和第一数据结构,第二数据源的信息包括:第二数据源的地址信息和第二数据结构;子数据集成任务中包含:第一数据源中的目标数据的信息和第二数据源的信息;第一数据源中的目标数据的信息包括:第一数据源中的目标数据的地址信息和第一数据结构;
步骤2可以通过如下步骤实现:
通过第一数据结构对应的读取插件根据第一数据源中的目标数据的地址信息,获取第一数据源中的目标数据。
步骤6可以通过如下步骤实现:
通过第二数据结构对应的写入插件根据第二数据源的地址,获取以第三数据结构存储的目标数据。
可选的,执行步骤4之后,还包括如下步骤:
通过核心模块对以第三数据结构存储的目标数据进行筛选,得到筛选后的以第三数据结构存储的目标数据;
相应的,步骤6可以通过如下步骤实现:
通过第二数据结构对应的写入插件从核心模块获取筛选后的以第三数据结构存储的目标数据。
相应的,步骤7可以通过如下步骤实现:
将筛选后的以第三数据结构存储的目标数据以第二数据结构写入第二数据源。
可选的,步骤1可以通过如下步骤实现:
向读取插件服务器发送读取插件获取请求,读取插件获取请求中包含:第一数据结构;
接收读取插件服务器发送的读取插件;
步骤5可以通过如下步骤实现:
向写入插件服务器发送写入插件获取请求,写入插件获取请求中包含:第二数据结构;
接收写入插件服务器发送的写入插件。
可选的,本实施例提供的方法还包括如下步骤:
主节点获取第一数据结构对应的读取插件,向目标从节点发送第一数据结构对应的读取插件;
主节点获取第二数据结构对应的写入插件,向目标从节点发送第二数据结构对应的写入插件。
可选的,方法还包括:
从节点通过核心模块将筛选后的以第三数据结构存储的目标数据存储在内存中;
通过第二数据结构对应的写入插件从内存中获取筛选后的以第三数据结构存储的目标数据。
上述实施例的方法,可以应用用于上述系统实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据集成系统,其特征在于,包括:主节点和从节点;
所述主节点,用于将数据集成任务划分为多个子数据集成任务,确定每个子数据集成任务对应的目标从节点,其中,所述数据集成任务用于指示将以第一数据结构存储的第一数据源中的数据存储至以第二数据结构存储的第二数据源;所述多个子数据集成任务中的每个子数据集成任务用于指示将第一数据源中的目标数据存储至第二数据源,所述第一数据源中的目标数据为所述第一数据源中的部分或者全部数据;分别向每个目标从节点发送所述目标从节点对应的子数据集成任务;
所述从节点,用于根据所述子数据集成任务,将所述第一数据源中的目标数据存储至第二数据源。
2.根据权利要求1所述的系统,其特征在于,所述从节点具体用于:
获取所述第一数据结构对应的读取插件,通过所述第一数据结构对应的读取插件获取所述第一数据源中的目标数据,将所述第一数据源中的目标数据转换为以第三数据结构存储的目标数据,向核心模块发送所述以第三数据结构存储的目标数据;
获取所述第二数据结构对应的写入插件,通过所述第二数据结构对应的写入插件从所述核心模块获取所述以第三数据结构存储的目标数据,将所述以第三数据结构存储的目标数据以所述第二数据结构写入所述第二数据源。
3.根据权利要求2所述的系统,其特征在于,所述数据集成任务中包含:所述第一数据源的信息和所述第二数据源的信息,所述第一数据源的信息包括:所述第一数据源的地址信息和所述第一数据结构,所述第二数据源的信息包括:所述第二数据源的地址信息和所述第二数据结构;所述子数据集成任务中包含:所述第一数据源中的目标数据的信息和所述第二数据源的信息;所述第一数据源中的目标数据的信息包括:所述第一数据源中的目标数据的地址信息和所述第一数据结构;
所述从节点具体用于:
通过所述第一数据结构对应的读取插件根据所述第一数据源中的目标数据的地址信息,获取所述第一数据源中的目标数据;
通过所述第二数据结构对应的写入插件根据所述第二数据源的地址,将所述以第三数据结构存储的目标数据以所述第二数据结构写入所述第二数据源。
4.根据权利要求2所述的系统,其特征在于,所述从节点具体用于:
通过所述核心模块对所述以第三数据结构存储的目标数据进行筛选,得到筛选后的以第三数据结构存储的目标数据;
通过所述第二数据结构对应的写入插件从所述核心模块获取所述筛选后的以第三数据结构存储的目标数据,将所述筛选后的以第三数据结构存储的目标数据以所述第二数据结构写入所述第二数据源。
5.根据权利要求2-4任一项所述的系统,其特征在于,所述从节点具体用于:
向读取插件服务器发送读取插件获取请求,所述读取插件获取请求中包含:所述第一数据结构;接收所述读取插件服务器发送的读取插件;
向写入插件服务器发送写入插件获取请求,所述写入插件获取请求中包含:所述第二数据结构;接收所述写入插件服务器发送的写入插件。
6.根据权利要求2-4任一项所述的系统,其特征在于,所述主节点具体用于:
获取所述第一数据结构对应的读取插件,向所述目标从节点发送所述第一数据结构对应的读取插件;获取所述第二数据结构对应的写入插件,向所述目标从节点发送所述第二数据结构对应的写入插件。
7.根据权利要求4所述的系统,其特征在于,所述从节点具体用于:
通过所述核心模块将筛选后的以第三数据结构存储的目标数据存储在内存中;
通过所述第二数据结构对应的写入插件从内存中获取所述筛选后的以第三数据结构存储的目标数据。
8.一种数据集成方法,其特征在于,应用于数据集成系统,所述数据集成系统包括:主节点和从节点;所述方法包括:
所述主节点获取数据集成任务,所述数据集成任务用于指示将以第一数据结构存储的第一数据源中的数据存储至以第二数据结构存储的第二数据源;
所述主节点将数据集成任务划分为多个子数据集成任务,确定每个子数据集成任务对应的目标从节点,其中,所述多个子数据集成任务中的每个子数据集成任务用于指示将第一数据源中的目标数据存储至第二数据源,所述第一数据源中的目标数据为所述第一数据源中的部分或者全部数据;
所述主节点分别向每个目标从节点发送所述目标从节点对应的子数据集成任务;
所述从节点根据接收到所述主节点发送的子数据集成任务,将所述第一数据源中的目标数据存储至第二数据源。
9.根据权利要求8所述的方法,其特征在于,所述从节点根据接收到所述主节点发送的子数据集成任务,将所述第一数据源中的目标数据存储至第二数据源,包括:
所述从节点获取所述第一数据结构对应的读取插件,通过所述第一数据结构对应的读取插件获取所述第一数据源中的目标数据,将所述第一数据源中的目标数据转换为以第三数据结构存储的目标数据,向核心模块发送所述以第三数据结构存储的目标数据;
获取所述第二数据结构对应的写入插件,通过所述第二数据结构对应的写入插件从所述核心模块获取所述以第三数据结构存储的目标数据,将所述以第三数据结构存储的目标数据以所述第二数据结构写入所述第二数据源。
10.根据权利要求9所述的方法,其特征在于,所述数据集成任务中包含:所述第一数据源的信息和所述第二数据源的信息,所述第一数据源的信息包括:所述第一数据源的地址信息和所述第一数据结构,所述第二数据源的信息包括:所述第二数据源的地址信息和所述第二数据结构;所述子数据集成任务中包含:所述第一数据源中的目标数据的信息和所述第二数据源的信息;所述第一数据源中的目标数据的信息包括:所述第一数据源中的目标数据的地址信息和所述第一数据结构;
所述通过所述第一数据结构对应的读取插件获取所述第一数据源中的目标数据,包括:
通过所述第一数据结构对应的读取插件根据所述第一数据源中的目标数据的地址信息,获取所述第一数据源中的目标数据;
所述通过所述第二数据结构对应的写入插件从所述核心模块获取所述以第三数据结构存储的目标数据,包括:
通过所述第二数据结构对应的写入插件根据所述第二数据源的地址,获取所述以第三数据结构存储的目标数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110831812.0A CN113553329B (zh) | 2021-07-22 | 2021-07-22 | 数据集成系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110831812.0A CN113553329B (zh) | 2021-07-22 | 2021-07-22 | 数据集成系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113553329A true CN113553329A (zh) | 2021-10-26 |
CN113553329B CN113553329B (zh) | 2024-05-31 |
Family
ID=78132489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110831812.0A Active CN113553329B (zh) | 2021-07-22 | 2021-07-22 | 数据集成系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113553329B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508706A (zh) * | 2011-11-18 | 2012-06-20 | 北京航空航天大学 | 一种多源数据集成平台及其构建方法 |
CN102693324A (zh) * | 2012-01-09 | 2012-09-26 | 西安电子科技大学 | 一种分布式数据库同步系统、同步方法和节点管理方法 |
US20130151467A1 (en) * | 2011-01-03 | 2013-06-13 | Manavalan KRISHNAN | Slave Consistency in a Synchronous Replication Environment |
CN103412897A (zh) * | 2013-07-25 | 2013-11-27 | 中国科学院软件研究所 | 一种基于分布式结构的并行数据处理方法 |
CN104462269A (zh) * | 2014-11-24 | 2015-03-25 | 中国联合网络通信集团有限公司 | 一种异构数据库数据交换方法及系统 |
CN105117497A (zh) * | 2015-09-28 | 2015-12-02 | 上海海洋大学 | 基于Spark云网络的海洋大数据主从索引系统及方法 |
US20160306867A1 (en) * | 2015-04-16 | 2016-10-20 | Alibaba Group Holding Limited | System, method, and apparatus for synchronization among heterogeneous data sources |
CN108304473A (zh) * | 2017-12-28 | 2018-07-20 | 石化盈科信息技术有限责任公司 | 数据源之间的数据传输方法和系统 |
CN110162571A (zh) * | 2019-04-26 | 2019-08-23 | 厦门市美亚柏科信息股份有限公司 | 一种异构数据库之间数据同步的系统、方法、存储介质 |
CN110209741A (zh) * | 2019-06-14 | 2019-09-06 | 上海中通吉网络技术有限公司 | 异构数据源间的数据同步方法、装置和设备 |
CN111930770A (zh) * | 2020-07-15 | 2020-11-13 | 北京金山云网络技术有限公司 | 数据查询方法、装置及电子设备 |
CN112148788A (zh) * | 2020-08-25 | 2020-12-29 | 珠海市卓轩科技有限公司 | 异构数据源的数据同步方法及系统 |
-
2021
- 2021-07-22 CN CN202110831812.0A patent/CN113553329B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130151467A1 (en) * | 2011-01-03 | 2013-06-13 | Manavalan KRISHNAN | Slave Consistency in a Synchronous Replication Environment |
CN102508706A (zh) * | 2011-11-18 | 2012-06-20 | 北京航空航天大学 | 一种多源数据集成平台及其构建方法 |
CN102693324A (zh) * | 2012-01-09 | 2012-09-26 | 西安电子科技大学 | 一种分布式数据库同步系统、同步方法和节点管理方法 |
CN103412897A (zh) * | 2013-07-25 | 2013-11-27 | 中国科学院软件研究所 | 一种基于分布式结构的并行数据处理方法 |
CN104462269A (zh) * | 2014-11-24 | 2015-03-25 | 中国联合网络通信集团有限公司 | 一种异构数据库数据交换方法及系统 |
US20160306867A1 (en) * | 2015-04-16 | 2016-10-20 | Alibaba Group Holding Limited | System, method, and apparatus for synchronization among heterogeneous data sources |
WO2016168632A1 (en) * | 2015-04-16 | 2016-10-20 | Alibaba Group Holding Limited | System, method, and apparatus for synchronization among heterogeneous data sources |
CN105117497A (zh) * | 2015-09-28 | 2015-12-02 | 上海海洋大学 | 基于Spark云网络的海洋大数据主从索引系统及方法 |
CN108304473A (zh) * | 2017-12-28 | 2018-07-20 | 石化盈科信息技术有限责任公司 | 数据源之间的数据传输方法和系统 |
CN110162571A (zh) * | 2019-04-26 | 2019-08-23 | 厦门市美亚柏科信息股份有限公司 | 一种异构数据库之间数据同步的系统、方法、存储介质 |
CN110209741A (zh) * | 2019-06-14 | 2019-09-06 | 上海中通吉网络技术有限公司 | 异构数据源间的数据同步方法、装置和设备 |
CN111930770A (zh) * | 2020-07-15 | 2020-11-13 | 北京金山云网络技术有限公司 | 数据查询方法、装置及电子设备 |
CN112148788A (zh) * | 2020-08-25 | 2020-12-29 | 珠海市卓轩科技有限公司 | 异构数据源的数据同步方法及系统 |
Non-Patent Citations (2)
Title |
---|
ZHANG ZHENYOU ET AL.: "Research synchronization mechanism for distributed heterogeneous database", 《2012 FOURTH INTERNATIONAL CONFERENCE ON COMPUTATIONAL AND INFORMATION SCIENCES (ICCIS)》, 31 December 2012 (2012-12-31) * |
时俊苓;叶丹;: "面向业务的数据集成系统设计与实现", 计算机系统应用, no. 02 * |
Also Published As
Publication number | Publication date |
---|---|
CN113553329B (zh) | 2024-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10108914B2 (en) | Method and system for morphing object types in enterprise content management systems | |
JP5298117B2 (ja) | 分散コンピューティングにおけるデータマージング | |
CN109542861B (zh) | 一种文件管理方法、装置和系统 | |
US20140324917A1 (en) | Reclamation of empty pages in database tables | |
EP2960789A2 (en) | Unified mapreduce framework for large-scale data processing | |
CN106557307B (zh) | 业务数据的处理方法及处理系统 | |
WO2014110940A1 (en) | A method, apparatus and system for storing, reading the directory index | |
CN106547646B (zh) | 一种数据备份及恢复方法、数据备份及恢复装置 | |
CN105426373A (zh) | 一种数据库同步方法与设备 | |
US20180060364A1 (en) | Database scheme for storing generic data | |
US20110264703A1 (en) | Importing Tree Structure | |
CN113177090A (zh) | 数据处理方法及装置 | |
CN103678360A (zh) | 一种分布式文件系统的数据存储方法和装置 | |
US20190243807A1 (en) | Replication of data in a distributed file system using an arbiter | |
CN110888972A (zh) | 一种基于Spark Streaming的敏感内容识别方法及装置 | |
CN112860412B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
US11531666B1 (en) | Indexing partitions using distributed bloom filters | |
CN113177021A (zh) | 一种不同数据源的数据导出方法及装置 | |
US20150356138A1 (en) | Datastore mechanism for managing out-of-memory data | |
EP4425892A1 (en) | Resource operating method and apparatus, electronic device, and storage medium | |
US11687416B2 (en) | Data backup optimization | |
CN113553329B (zh) | 数据集成系统和方法 | |
CN111221814A (zh) | 二级索引的构建方法、装置及设备 | |
CN114691653A (zh) | 账套迁移方法、装置、计算机设备和存储介质 | |
CN109522053A (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 |