CN117370315A - 一种多类型数据源采集入库方法、装置、设备及介质 - Google Patents
一种多类型数据源采集入库方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117370315A CN117370315A CN202311646636.9A CN202311646636A CN117370315A CN 117370315 A CN117370315 A CN 117370315A CN 202311646636 A CN202311646636 A CN 202311646636A CN 117370315 A CN117370315 A CN 117370315A
- Authority
- CN
- China
- Prior art keywords
- data source
- designed
- target data
- target
- batch
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012545 processing Methods 0.000 claims abstract description 43
- 238000013499 data model Methods 0.000 claims description 18
- 238000007726 management method Methods 0.000 claims description 10
- 238000011161 development Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 17
- 230000010354 integration Effects 0.000 description 12
- 230000009286 beneficial effect Effects 0.000 description 11
- 238000013461 design Methods 0.000 description 9
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000013075 data extraction Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 241001481833 Coryphaena hippurus Species 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009466 transformation Effects 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/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/211—Schema design and management
-
- 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/24568—Data stream processing; Continuous queries
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种多类型数据源采集入库方法、装置、设备及介质,涉及数据处理技术领域,用于解决不能同时处理“批”和“流”的问题。该方法包括:根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对目标数据源进行采集,获得所述目标数据源;其中,所述目标数据源包括多种类型,且所述目标数据源为流或批数据源;根据所述预设计的流批一体多类型数据源采集入库框架中的Flink Stream模型,对所述目标数据源进行处理,获得处理后的数据源;将所述处理后的数据源存储至目标数据库中。
Description
技术领域
本申请涉及数据处理技术领域,提供一种多类型数据源采集入库方法、装置、设备及介质。
背景技术
目前,在进行数据源采集入库时,常采用DataX框架或Canal框架来进行采集与入库。然而,DataX框架只能处理离线数据(批数据源),Canal框架只能处理实时数据(流数据源),即无论是DataX框架,还是Canal框架均不能同时对“批”数据源和“流”数据源进行处理。此外,由于DataX框架和Canal框架均是针对数据库中的数据源进行处理,而不能API、Kafka等这些平台中的数据源进行处理。因此,若想同时处理“批”数据源和“流”数据源,则需要重新开发框架,从而,导致增加了组件的集成难度和开发成本等。
因此,如何同时处理“批”和“流”是目前亟待解决的问题。
发明内容
本申请实施例提供一种多类型数据源采集入库方法、装置、设备及介质,用于解决不能同时处理“批”和“流”的问题。
一方面,提供一种多类型数据源采集入库方法,所述方法包括:
根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对目标数据源进行采集,获得所述目标数据源;其中,所述目标数据源包括多种类型,且所述目标数据源为流或批数据源;
根据所述预设计的流批一体多类型数据源采集入库框架中的Flink Stream模型,对所述目标数据源进行处理,获得处理后的数据源;
将所述处理后的数据源存储至目标数据库中。
本申请的有益效果为:由于可以通过框架中Java Restful API接口来对多种类型的数据源进行采集,且该目标数据源可以为流或批数据源,即,相比于传统的DataX框架和Canal框架,本申请的框架可以对流和批的数据源进行统一处理,因此,可以进一步降低组件的集成难度和框架开发成本。
在一种实现方式中,所述根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对目标数据源进行采集,获得所述目标数据源的步骤,包括:
根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对API数据源、JDBC数据源、CDC数据源、MQ数据源以及Hudi数据源进行数据源采集。
本申请的有益效果为:由于可以采用框架中Java Restful API接口具体对API数据源和JDBC数据源这类“批”数据源进行采集,对CDC数据源、MQ数据源以及Hudi数据源这类“流”数据源进行采集,因此,相比于传统的DataX框架和Canal框架,可以进一步降低组件的集成难度和框架开发成本。
在一种实现方式中,所述根据所述预设计的流批一体多类型数据源采集入库框架中的Flink Stream模型,对所述目标数据源进行处理,获得处理后的数据源的步骤,包括:
根据所述Flink Stream模型中的统一数据模型和统一处理模型,对所述目标数据源进行处理,获得处理后的数据源。
本申请的有益效果为:由于可以具体采用框架中的统一数据模型和统一处理模型来对目标数据源进行处理,即,可以采用统一数据模型和统一处理模型来对流和批的数据源进行统一处理,因此,相比于传统的DataX框架和Canal框架,可以进一步降低组件的集成难度和框架开发成本。
在一种实现方式中,在根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对目标数据源进行采集,获得所述目标数据源之前,所述方法还包括:
在所述预设计的流批一体多类型数据源采集入库框架对应的程序中,设计对批和流进行处理的统一处理模型和统一数据模型、设计http/https对JSON数据指定层级进行分页采集、设计对CDC数据库进行全量和增量采集、设计对Kafka数据库进行全量和增量采集与写入、设计对JDBC Driver数据库进行分页采集与批量入库以及设计对Hudi数据库进行MOR和COW模式采集与入库。
本申请的有益效果为:由于在框架对应的程序中,设计了统一处理模型、统一数据模型,因此,相比于传统的DataX框架和Canal框架,可以进一步降低组件的集成难度和框架开发成本。此外,由于还对各个数据库的数据源采集方式进行了相应设计,因此,可以进一步减少数据抽取的频率和数据量、提高数据抽取的效率、加快数据导入速度。
在一种实现方式中,在根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对目标数据源进行采集,获得所述目标数据源之前,所述方法还包括:
在数据源配置管理页面,配置采集所述目标数据源所需的连接参数与特定信息。
本申请的有益效果为:由于可以在数据源配置管理页面直接配置所要采集的目标数据源所需的连接参数与特定信息,即,想要采集什么类型数据源,就可以在架构中配置相应的连接参数与特定信息。因此,相比于传统的DataX框架和Canal框架,本申请的架构的数据源配置更加方便。
在一种实现方式中,在根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对目标数据源进行采集,获得所述目标数据源之前,所述方法还包括:
根据JSON数据结构,对JSON数据源对应的层级与字段,以及所述字段对应的数据类型进行配置。
本申请的有益效果为:由于直接对JSON数据源对应的层级与字段,以及该字段对应的数据类型进行了配置,因此,相比于传统的DataX框架和Canal框架,基于本申请的架构,可以使所采集的数据源具有更高的可读性、更易于编写,同时也有利于计算机的解析和生成,提高了效率。
在一种实现方式中,在根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对目标数据源进行采集,获得所述目标数据源之前,所述方法还包括:
对MQ数据源对应的字段和所述字段对应的数据类型进行配置。
本申请的有益效果为:由于对MQ数据源对应的字段和该字段对应的数据类型进行了配置,因此,相比于传统的DataX框架,本申请的架构中不仅可以处理“批”数据源,还可以处理“流”数据源,因而,降低了框架开发成本。
在一种实现方式中,在根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对目标数据源进行采集,获得所述目标数据源之前,所述方法还包括:
对所述目标数据源的匹配规则进行调整;其中,所述匹配规则用于将所述目标数据源的来源字段与入库字段进行匹配。
本申请的有益效果为:由于直接对目标数据源的匹配规则进行调整,因此,基于本申请的框架,无论是“批”数据源,还是“流”数据源,均可以根据入库字段匹配到来源字段,以便在后续的管理和展示中灵活的进行调用。
在一种实现方式中,在根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对目标数据源进行采集,获得所述目标数据源之前,所述方法还包括:
在所述预设计的流批一体多类型数据源采集入库框架对应的程序中,设计执行策略;
根据所述执行策略,生成对应的作业实例。
本申请的有益效果为:由于直接在框架中设计了执行策略,因此,可以直接根据该执行策略,来生成对应的作业实例,从而,加快后续的数据源的处理效率。
在一种实现方式中,所述目标数据库包括ODS层、DWD层和DWS层;其中,所述ODS层用于存储原始数据,所述DWD层用于存储中间细节数据,所述DWS层用于存储业务数据。
本申请的有益效果为:由于目标数据库可以包括ODS层、DWD层和DWS层,因此,可以统一数据口径、复杂问题简单化、便于管理使用以及减少重复开发,从而,降低开发成本。
一方面,提供一种多类型数据源采集入库装置,所述装置包括:
数据源采集单元,用于根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对目标数据源进行采集,获得所述目标数据源;其中,所述目标数据源包括多种类型,且所述目标数据源为流或批数据源;
数据源处理单元,用于根据所述预设计的流批一体多类型数据源采集入库框架中的Flink Stream模型,对所述目标数据源进行处理,获得处理后的数据源;
数据源存储单元,用于将所述处理后的数据源存储至目标数据库中。
一方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种方法。
一方面,提供一种计算机存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的一种流批一体多类型数据源采集入库框架的示意图;
图3为本申请实施例提供的多类型数据源采集入库方法的一种流程示意图;
图4为本申请实施例提供的多类型数据源采集入库装置的一种示意图。
图中标记:10-多类型数据源采集入库设备,101-处理器,102-存储器,103-I/O接口,104-数据库,20-流批一体多类型数据源采集入库框架,201-Scheduler模块,202-JavaRestful API接口模块,203-Flink Stream模块,204-数据库模块,40-多类型数据源采集入库装置,401-数据源采集单元,402-数据源处理单元,403-数据源存储单元,404-模型设计单元,405-数据源配置单元,406-规则调整单元,407-作业实例生成单元。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
目前,在进行数据源采集入库时,常采用DataX框架或Canal框架来进行采集与入库。然而,DataX框架只能处理离线数据(批数据源),Canal框架只能处理实时数据(流数据源),即无论是DataX框架,还是Canal框架均不能同时对“批”数据源和“流”数据源进行处理。此外,由于DataX框架和Canal框架均是针对数据库中的数据源进行处理,而不能API、Kafka等这些平台中的数据源进行处理。因此,若想同时处理“批”数据源和“流”数据源,则需要重新开发框架,从而,导致增加了组件的集成难度和开发成本等。
基于此,本申请实施例提供一种多类型数据源采集入库方法,在该方法中,首先,可以根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,来对目标数据源进行采集,以获得目标数据源;其中,目标数据源包括多种类型,且目标数据源为流或批数据源;然后,可以根据预设计的流批一体多类型数据源采集入库框架中的FlinkStream模型,来对目标数据源进行处理,以获得处理后的数据源;最后,可以将处理后的数据源存储至目标数据库中。因此,在本申请实施例中,由于可以通过框架中Java RestfulAPI接口来对多种类型的数据源进行采集,且该目标数据源可以为流或批数据源,即,相比于传统的DataX框架和Canal框架,本申请的框架可以对流和批的数据源进行统一处理,因此,可以进一步降低组件的集成难度和框架开发成本。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施过程中,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
如图1所示,为本申请实施例提供的一种应用场景示意图。该应用场景中可以包括多类型数据源采集入库设备10。
其中,多类型数据源采集入库设备10可以用于对多种类型的数据源进行采集与入库,例如,可以为个人计算机(Personal Computer,PC)、服务器与手提电脑等。多类型数据源采集入库设备10可包括一个或者多个处理器101、存储器102、I/O接口103以及数据库104。具体的,处理器101可以为中央处理单元(central processing unit,CPU),或者为数字处理单元等等。存储器102可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器102也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者存储器102是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器102可以是上述存储器的组合。存储器102中可以存储本申请实施例提供的多类型数据源采集入库方法的部分程序指令,这些程序指令被处理器101执行时能够用以实现本申请实施例提供的多类型数据源采集入库方法的步骤,以解决现有技术中的不能同时处理“批”和“流”的问题。数据库104可以用于存储本申请实施例提供的方案中涉及到的API数据源、JDBC数据源、CDC数据源、MQ数据源以及Hudi数据源以及Flink Stream模型等数据。
在本申请实施例中,多类型数据源采集入库设备10可以通过I/O接口103来获取各种类型的数据源,然后,多类型数据源采集入库设备10的处理器101会按照存储器102中本申请实施例提供的多类型数据源采集入库方法的程序指令来解决现有技术中不能同时处理“批”和“流”的问题。此外,还可以将API数据源、JDBC数据源、CDC数据源、MQ数据源以及Hudi数据源以及Flink Stream模型等数据存储于数据库104中。
如图2所示,为本申请实施例提供的一种流批一体多类型数据源采集入库框架的示意图,具体的,该流批一体多类型数据源采集入库框架20中包括Scheduler模块201、JavaRestful API接口模块202、Flink Stream模块203以及数据库模块204。
其中,Scheduler(程序调度)模块201可以为海豚调度(DolphinScheduler),FlinkStream模块203可以包括数据模型(DataModel)和过程模型(ProcessModel),且该DataModel可以对行数据(RowData)进行处理,ProcessModel可以用于执行“源算子(source)—>转换算子(transformation)—>下沉算子(sink)”这一过程。数据库模块204中可以包括Pulsar、Kafka、RocketMQ、RabbitMQ、Hadoop HDFS、Informix、DB2、MySql、Oracle、PostgreSQL以及SqlServer等数据库。且数据库还可以包括ODS层、DWD层和DWS层,其中,ODS层可以用于存储原始数据,DWD层可以用于存储中间细节数据,DWS层可以用于存储业务数据。
在本申请实施例中,当需要使用流批一体多类型数据源采集入库框架20进行多类型数据源采集时,首先,可以调用Scheduler模块201,来进行程序调度,然后,基于该调度程序,可以调用Java Restful API接口模块202,来对目标数据源进行采集,接下来,可以调用Flink Stream模块203,来对该采集的目标数据源进行处理,并获得处理后的数据源,最后,可以将该处理后的数据源存储至数据库模块204中的相应数据库中。
当然,本申请实施例提供的方法并不限用于图1所示的应用场景中,还可以用于其他可能的应用场景,本申请实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。下面,将结合附图对本申请实施例的方法进行介绍。
如图3所示,为本申请实施例提供的多类型数据源采集入库方法的一种流程示意图,该方法可以通过图1中的多类型数据源采集入库设备10来执行,具体的,该方法的流程介绍如下。
步骤301:根据预设计的流批一体多类型数据源采集入库框架中的Java RestfulAPI接口,对目标数据源进行采集,获得目标数据源。
在本申请实施例中,目标数据源可以包括多种类型,例如,可以为API数据源、MQ数据源、CDC数据源、JDBC数据源以及Hudi数据源等。且目标数据源为流或批数据源,其中,API数据源、JDBC数据源和Hudi数据源为批数据源,MQ数据源和CDC数据源为流数据源。
进而,在本申请实施例中,在需要进行数据源采集时,可以根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,来对目标数据源进行采集,以获得目标数据源,即,根据预设计的流批一体多类型数据源采集入库框架中的Java RestfulAPI接口,可以对API数据源、JDBC数据源、CDC数据源、MQ数据源以及Hudi数据源等不同类型的数据源进行采集。
进而,由于可以采用框架中Java Restful API接口具体对API数据源和JDBC数据源这类“批”数据源进行采集,对CDC数据源、MQ数据源以及Hudi数据源这类“流”数据源进行采集,因此,相比于传统的DataX框架和Canal框架,可以进一步降低组件的集成难度和框架开发成本。
步骤302:根据预设计的流批一体多类型数据源采集入库框架中的Flink Stream模型,对目标数据源进行处理,获得处理后的数据源。
在本申请实施例中,在采集到目标数据源之后,可以直接根据预设计的流批一体多类型数据源采集入库框架中的Flink Stream模型,来对该目标数据源进行处理,以获得处理后的数据源。具体的,可以根据Flink Stream模型中的统一数据模型(DataModel)和统一处理模型(ProcessModel),来对目标数据源进行处理,以获得处理后的数据源。例如,在通过ProcessModel来进行数据源处理时,可以采用源算子Source,来负责读取采集到目标数据源,然后,可以采用转换算子Transformation,来利用各种算子进行处理加工,最后,可以采用下沉算子Sink,来负责数据源的输出。
进而,由于可以具体采用框架中的统一数据模型和统一处理模型来对目标数据源进行处理,即,可以采用统一数据模型和统一处理模型来对流和批的数据源进行统一处理,因此,相比于传统的DataX框架和Canal框架,可以进一步降低组件的集成难度和框架开发成本。
步骤303:将处理后的数据源存储至目标数据库中。
为了便于用户调用这些处理后的数据源,在本申请实施例中,在获得处理后的数据源之后,可以将这些处理后的数据源存储至目标数据库中,例如,可以将处理后的数据源存储至Pulsar、Kafka、RocketMQ、RabbitMQ、Hadoop HDFS、Informix、DB2、MySql、Oracle、PostgreSQL以及SqlServer等数据库。
在一种可能的实施方式中,为了进一步降低组件的集成难度和框架开发成本,在本申请实施例中,在预设计的流批一体多类型数据源采集入库框架对应的程序中,还可以设计对批和流进行处理的统一处理模型和统一数据模型、设计http/https对JSON数据指定层级进行分页采集、设计对CDC数据库进行全量和增量采集、设计对Kafka数据库进行全量和增量采集与写入、设计对JDBC Driver数据库进行分页采集与批量入库以及设计对Hudi数据库进行MOR和COW模式采集与入库。
进而,由于在框架对应的程序中,设计了统一处理模型、统一数据模型,因此,相比于传统的DataX框架和Canal框架,可以进一步降低组件的集成难度和框架开发成本。此外,由于还对各个数据库的数据源采集方式进行了相应设计,因此,可以进一步减少数据抽取的频率和数据量、提高数据抽取的效率、加快数据导入速度。
在一种可能的实施方式中,为了能够对各种类型的数据源进行采集,在本申请实施例中,在根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对目标数据源进行采集,获得目标数据源之前,还可以在数据源配置管理页面,配置采集目标数据源所需的连接参数与特定信息。即,想要采集什么类型数据源,就可以在架构中配置相应的连接参数与特定信息。因此,相比于传统的DataX框架和Canal框架,本申请的架构的数据源配置更加方便。
在一种可能的实施方式中,为了使所采集的数据源具有更高的可读性、更易于编写,在本申请实施例中,在根据预设计的流批一体多类型数据源采集入库框架中的JavaRestful API接口,对目标数据源进行采集,获得目标数据源之前,还可以直接根据JSON数据结构,对JSON数据源对应的层级与字段,以及字段对应的数据类型进行配置。
因此,相比于传统的DataX框架和Canal框架,基于本申请的架构,可以使所采集的数据源具有更高的可读性、更易于编写,同时也有利于计算机的解析和生成,提高了效率。
在一种可能的实施方式中,为了降低框架开发成本,在本申请实施例中,在根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对目标数据源进行采集,获得目标数据源之前,还可以直接对MQ数据源对应的字段和字段对应的数据类型进行配置。
因此,相比于传统的DataX框架,本申请的架构中不仅可以处理“批”数据源,还可以处理“流”数据源,因而,降低了框架开发成本。
在一种可能的实施方式中,为了便于在后续的管理和展示中灵活的调用各类数据,在本申请实施例中,在根据预设计的流批一体多类型数据源采集入库框架中的JavaRestful API接口,对目标数据源进行采集,获得目标数据源之前,还可以直接对目标数据源的匹配规则进行调整;其中,匹配规则可以用于将目标数据源的来源字段与入库字段进行匹配。
因此,基于本申请的框架,无论是“批”数据源,还是“流”数据源,均可以根据入库字段匹配到来源字段,以便在后续的管理和展示中灵活的进行调用。
在一种可能的实施方式中,为了加快数据源的处理效率,在本申请实施例中,在根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对目标数据源进行采集,获得目标数据源之前,还可以直接在预设计的流批一体多类型数据源采集入库框架对应的程序中,设计执行策略;然后,可以根据执行策略,生成对应的作业实例。
进而,由于直接在框架中设计了执行策略,因此,可以直接根据该执行策略,来生成对应的作业实例,从而,加快后续的数据源的处理效率。
在一种可能的实施方式中,为了降低开发成本,在本申请实施例中,目标数据库可以包括ODS层、DWD层和DWS层;其中,ODS层可以用于存储原始数据,DWD层可以用于存储中间细节数据,DWS层可以用于存储业务数据。因此,可以统一数据口径、复杂问题简单化、便于管理使用以及减少重复开发,从而,降低开发成本。
综上所述,在本申请实施例中,由于可以通过框架中Java Restful API接口来对多种类型的数据源进行采集,且该目标数据源可以为流或批数据源,即,相比于传统的DataX框架和Canal框架,本申请的框架可以对流和批的数据源进行统一处理,因此,可以进一步降低组件的集成难度和框架开发成本。
基于同一发明构思,本申请实施例提供一种多类型数据源采集入库装置40,如图4所示,该多类型数据源采集入库装置40包括:
数据源采集单元401,用于根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对目标数据源进行采集,获得目标数据源;其中,目标数据源包括多种类型,且目标数据源为流或批数据源;
数据源处理单元402,用于根据预设计的流批一体多类型数据源采集入库框架中的Flink Stream模型,对目标数据源进行处理,获得处理后的数据源;
数据源存储单元403,用于将处理后的数据源存储至目标数据库中。
可选的,数据源采集单元401,还用于:
根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对API数据源、JDBC数据源、CDC数据源、MQ数据源以及Hudi数据源进行数据源采集。
可选的,数据源处理单元402,还用于:
根据Flink Stream模型中的统一数据模型和统一处理模型,对目标数据源进行处理,获得处理后的数据源。
可选的,该多类型数据源采集入库装置40还包括模型设计单元404,模型设计单元404,用于:
在预设计的流批一体多类型数据源采集入库框架对应的程序中,设计对批和流进行处理的统一处理模型和统一数据模型、设计http/https对JSON数据指定层级进行分页采集、设计对CDC数据库进行全量和增量采集、设计对Kafka数据库进行全量和增量采集与写入、设计对JDBC Driver数据库进行分页采集与批量入库以及设计对Hudi数据库进行MOR和COW模式采集与入库。
可选的,该多类型数据源采集入库装置40还包括数据源配置单元405,数据源配置单元405,用于:
在数据源配置管理页面,配置采集目标数据源所需的连接参数与特定信息。
可选的,数据源配置单元405,还用于:
根据JSON数据结构,对JSON数据源对应的层级与字段,以及字段对应的数据类型进行配置。
可选的,数据源配置单元405,还用于:
对MQ数据源对应的字段和字段对应的数据类型进行配置。
可选的,该多类型数据源采集入库装置40还包括规则调整单元406,规则调整单元406,用于:
对目标数据源的匹配规则进行调整;其中,匹配规则用于将目标数据源的来源字段与入库字段进行匹配。
可选的,该多类型数据源采集入库装置40还包括作业实例生成单元407,作业实例生成单元407,用于:
在预设计的流批一体多类型数据源采集入库框架对应的程序中,设计执行策略;
根据执行策略,生成对应的作业实例。
该多类型数据源采集入库装置40可以用于执行图3所示的实施例中的方法,因此,对于该多类型数据源采集入库装置40的各功能单元所能够实现的功能等可参考图3所示的实施例的描述,不多赘述。
在一些可能的实施方式中,本申请提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行如图3所示的实施例中的方法。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (13)
1.一种多类型数据源采集入库方法,其特征在于,所述方法包括:
根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对目标数据源进行采集,获得所述目标数据源;其中,所述目标数据源包括多种类型,且所述目标数据源为流或批数据源;
根据所述预设计的流批一体多类型数据源采集入库框架中的Flink Stream模型,对所述目标数据源进行处理,获得处理后的数据源;
将所述处理后的数据源存储至目标数据库中。
2.如权利要求1所述的方法,其特征在于,所述根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对目标数据源进行采集,获得所述目标数据源的步骤,包括:
根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对API数据源、JDBC数据源、CDC数据源、MQ数据源以及Hudi数据源进行数据源采集。
3.如权利要求1所述的方法,其特征在于,所述根据所述预设计的流批一体多类型数据源采集入库框架中的Flink Stream模型,对所述目标数据源进行处理,获得处理后的数据源的步骤,包括:
根据所述Flink Stream模型中的统一数据模型和统一处理模型,对所述目标数据源进行处理,获得处理后的数据源。
4.如权利要求1所述的方法,其特征在于,在根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对目标数据源进行采集,获得所述目标数据源之前,所述方法还包括:
在所述预设计的流批一体多类型数据源采集入库框架对应的程序中,设计对批和流进行处理的统一处理模型和统一数据模型、设计http/https对JSON数据指定层级进行分页采集、设计对CDC数据库进行全量和增量采集、设计对Kafka数据库进行全量和增量采集与写入、设计对JDBC Driver数据库进行分页采集与批量入库以及设计对Hudi数据库进行MOR和COW模式采集与入库。
5.如权利要求1所述的方法,其特征在于,在根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对目标数据源进行采集,获得所述目标数据源之前,所述方法还包括:
在数据源配置管理页面,配置采集所述目标数据源所需的连接参数与特定信息。
6.如权利要求1所述的方法,其特征在于,在根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对目标数据源进行采集,获得所述目标数据源之前,所述方法还包括:
根据JSON数据结构,对JSON数据源对应的层级与字段,以及所述字段对应的数据类型进行配置。
7.如权利要求1所述的方法,其特征在于,在根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对目标数据源进行采集,获得所述目标数据源之前,所述方法还包括:
对MQ数据源对应的字段和所述字段对应的数据类型进行配置。
8.如权利要求1所述的方法,其特征在于,在根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对目标数据源进行采集,获得所述目标数据源之前,所述方法还包括:
对所述目标数据源的匹配规则进行调整;其中,所述匹配规则用于将所述目标数据源的来源字段与入库字段进行匹配。
9.如权利要求1所述的方法,其特征在于,在根据预设计的流批一体多类型数据源采集入库框架中的Java Restful API接口,对目标数据源进行采集,获得所述目标数据源之前,所述方法还包括:
在所述预设计的流批一体多类型数据源采集入库框架对应的程序中,设计执行策略;
根据所述执行策略,生成对应的作业实例。
10.如权利要求1所述的方法,其特征在于,所述目标数据库包括ODS层、DWD层和DWS层;其中,所述ODS层用于存储原始数据,所述DWD层用于存储中间细节数据,所述DWS层用于存储业务数据。
11.一种多类型数据源采集入库装置,其特征在于,所述装置包括:
数据源采集单元,用于根据预设计的流批一体多类型数据源采集入库框架中的JavaRestful API接口,对目标数据源进行采集,获得所述目标数据源;其中,所述目标数据源包括多种类型,且所述目标数据源为流或批数据源;
数据源处理单元,用于根据所述预设计的流批一体多类型数据源采集入库框架中的Flink Stream模型,对所述目标数据源进行处理,获得处理后的数据源;
数据源存储单元,用于将所述处理后的数据源存储至目标数据库中。
12.一种电子设备,其特征在于,所述设备包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行权利要求1-10中任一所述的方法。
13.一种存储介质,其特征在于,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1-10中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311646636.9A CN117370315A (zh) | 2023-12-04 | 2023-12-04 | 一种多类型数据源采集入库方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311646636.9A CN117370315A (zh) | 2023-12-04 | 2023-12-04 | 一种多类型数据源采集入库方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117370315A true CN117370315A (zh) | 2024-01-09 |
Family
ID=89398781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311646636.9A Pending CN117370315A (zh) | 2023-12-04 | 2023-12-04 | 一种多类型数据源采集入库方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117370315A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109254982A (zh) * | 2018-08-31 | 2019-01-22 | 杭州安恒信息技术股份有限公司 | 一种流数据处理方法、系统、装置及计算机可读存储介质 |
CN114579097A (zh) * | 2022-03-14 | 2022-06-03 | 江苏逸思长天数字智能科技有限公司 | 一种基于单项数据流的云原生数据api构建方法 |
CN114969047A (zh) * | 2022-06-06 | 2022-08-30 | 中国银行股份有限公司 | 一种数据处理系统及方法 |
CN116166757A (zh) * | 2022-12-06 | 2023-05-26 | 浪潮通用软件有限公司 | 一种多源异构湖仓一体化数据处理方法、设备及介质 |
CN116186175A (zh) * | 2023-02-23 | 2023-05-30 | 上海二三四五网络科技有限公司 | 一种数据仓库系统以及统一模型表创建方法 |
CN116431635A (zh) * | 2023-04-06 | 2023-07-14 | 国电南瑞科技股份有限公司 | 基于湖仓一体的配电物联网数据实时处理系统及方法 |
CN116629805A (zh) * | 2023-06-07 | 2023-08-22 | 浪潮智慧科技有限公司 | 一种分布式流批一体化的水利指标服务方法、设备及介质 |
CN116954607A (zh) * | 2023-07-31 | 2023-10-27 | 中电工业互联网有限公司 | 多源异构实时任务处理方法、系统、设备和介质 |
-
2023
- 2023-12-04 CN CN202311646636.9A patent/CN117370315A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109254982A (zh) * | 2018-08-31 | 2019-01-22 | 杭州安恒信息技术股份有限公司 | 一种流数据处理方法、系统、装置及计算机可读存储介质 |
CN114579097A (zh) * | 2022-03-14 | 2022-06-03 | 江苏逸思长天数字智能科技有限公司 | 一种基于单项数据流的云原生数据api构建方法 |
CN114969047A (zh) * | 2022-06-06 | 2022-08-30 | 中国银行股份有限公司 | 一种数据处理系统及方法 |
CN116166757A (zh) * | 2022-12-06 | 2023-05-26 | 浪潮通用软件有限公司 | 一种多源异构湖仓一体化数据处理方法、设备及介质 |
CN116186175A (zh) * | 2023-02-23 | 2023-05-30 | 上海二三四五网络科技有限公司 | 一种数据仓库系统以及统一模型表创建方法 |
CN116431635A (zh) * | 2023-04-06 | 2023-07-14 | 国电南瑞科技股份有限公司 | 基于湖仓一体的配电物联网数据实时处理系统及方法 |
CN116629805A (zh) * | 2023-06-07 | 2023-08-22 | 浪潮智慧科技有限公司 | 一种分布式流批一体化的水利指标服务方法、设备及介质 |
CN116954607A (zh) * | 2023-07-31 | 2023-10-27 | 中电工业互联网有限公司 | 多源异构实时任务处理方法、系统、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7331057B2 (ja) | 出現した関係におけるスタックセグメント強度の相関 | |
US20200293360A1 (en) | Techniques to manage virtual classes for statistical tests | |
US11475007B2 (en) | Dynamic self-reconfiguration of nodes in a processing pipeline | |
CN107241380B (zh) | 用于基于时间调整的负载均衡的方法和设备 | |
CN105589783A (zh) | 应用程序卡顿问题数据获取方法及装置 | |
CN106909495B (zh) | 一种数据的窗口统计方法、装置及系统 | |
US20160112757A1 (en) | Server, client and video processing method | |
US20220156050A1 (en) | Generating a synchronous digital circuit from a source code construct defining a function call | |
CN110609742A (zh) | 一种Kubernetes调度器的队列的配置方法和装置 | |
CN110729038A (zh) | 成本分摊的方法、装置、电子设备及计算机可读存储介质 | |
US20240143401A1 (en) | Hardware acceleration for function processing | |
CN108681462B (zh) | 一种代码量统计方法及装置 | |
CN113360581A (zh) | 数据处理方法、装置及存储介质 | |
CN117370315A (zh) | 一种多类型数据源采集入库方法、装置、设备及介质 | |
EP3683676A1 (en) | Task optimization method and device in mobile robot | |
CN113626438B (zh) | 一种数据表管理的方法、装置、计算机设备及存储介质 | |
CN111294377A (zh) | 一种依赖关系的网络请求发送方法、终端装置及存储介质 | |
CN110888733A (zh) | 集群资源使用情况处理方法、装置及电子设备 | |
CN112130849B (zh) | 代码自动生成方法及装置 | |
CN108809763B (zh) | 一种网络性能参数采集方法、终端装置及存储介质 | |
CN111966903A (zh) | 应用软件功能推荐方法及装置 | |
US20140359165A1 (en) | Large volume data transfer | |
CN110209746B (zh) | 一种数据仓库的数据处理方法及装置 | |
CN110888898A (zh) | 集群资源使用情况处理方法、装置及电子设备 | |
CN116662376B (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 |