CN111666324A - 一种关系型数据库之间的etl调度方法及装置 - Google Patents
一种关系型数据库之间的etl调度方法及装置 Download PDFInfo
- Publication number
- CN111666324A CN111666324A CN202010418899.4A CN202010418899A CN111666324A CN 111666324 A CN111666324 A CN 111666324A CN 202010418899 A CN202010418899 A CN 202010418899A CN 111666324 A CN111666324 A CN 111666324A
- Authority
- CN
- China
- Prior art keywords
- job
- data
- task
- scheduling
- 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
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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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/242—Query formulation
- G06F16/2433—Query languages
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种关系型数据库之间的ETL调度方法及装置,其中所述方法包括,任务调度单元在第一设定时间读取调度任务信息配置表,其中,数据抽取单元实时监听作业信息配置表,获取当前时间的作业任务的作业信息,根据作业信息中作业任务的调度结构化查询语句、以及作业任务对应的源数据库中需要过滤的时间范围,生成该作业任务的执行结构化查询语句并执行所述执行结构化查询语句,从指定的源数据库中获取相应数据;数据转换单元将数据抽取单元获取的相应数据转换为预设的数据格式后传递给数据导出单元;数据导出单元将接收到的数据导出到目标数据库中。根据本技术方案,通过关系型数据库中的结构化查询语言SQL实现关系型数据库之间的ETL调度。
Description
技术领域
本发明涉及数据处理领域,具体涉及一种关系型数据库之间的ETL调度方法及装置。
背景技术
一般场景下的ETL(Extract-Transform-Load)是指在构建业务应用数据过程中的对各种数据的抽取(Extract)、转换(Transform)、加载(Load),最终完成对原始数据的提取并将目标的数据存储下来的过程。
在涉及到异构,即不同的数据库类型的关系型数据库的情况下,使用以下方式:
(1)配置中心方法,包括主控制单元、数据加载单元、数据处理单元以及数据导出单元。主控制单元根据配置中心的任务周期定期加载配置中心的任务配置传递给数据加载单元,数据加载单元支持多种类型数据库的数据处理,根据配置中心的源数据库配置读取数据并转换为统一的数据格式供数据处理单元处理,数据处理单元根据配置中心配置的处理方法将数据进行处理,最终将处理后的结果交给数据导出单元根据配置中心的目标数据库配置写入对应的数据库中。
(2)多套执行逻辑,每个ETL任务形成一个单独的执行过程,由开发人员根据需求开发独立的程序实现。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
(1)配置中心方法仅限于对当前时间的数据处理,无法用于历史数据的补调,并且当配置中心相关配置调整时,历史数据无法作出相关调整。
(2)多套执行逻辑这种方法各任务单独存在,各程序模块复用程度低,各进程独立存在会造成资源浪费且缺乏统一的管理。因任务由开发人员独立开发,因此任务修改成本大,并且同样无法解决关于历史数据补调和调度任务修改的问题。
发明内容
本发明实施例提供一种关系型数据库之间的ETL调度方法及装置,通过关系型数据库中的结构化查询语言SQL(Structured Query Language)实现关系型数据库之间的ETL调度。
为达到上述目的,一方面,本发明实施例提供了一种关系型数据库之间的ETL调度方法,所述方法包括:
任务调度单元在第一设定时间读取调度任务信息配置表,其中,所述调度任务信息配置表包括每一条作业任务的调度周期和调度结构化查询语句;
根据调度任务信息配置表生成第二设定时间段的每一条作业任务的作业信息,并将所述作业信息写入作业信息配置表中;其中作业任务的作业信息包括:作业任务的调度结构化查询语句、以及作业任务对应的源数据库中需要过滤的时间范围,所述时间范围根据作业任务的调度周期生成;
数据抽取单元实时监听所述作业信息配置表,获取当前时间的作业任务的作业信息,根据作业信息中作业任务的调度结构化查询语句、以及作业任务对应的源数据库中需要过滤的时间范围,生成该作业任务的执行结构化查询语句并执行所述执行结构化查询语句,从指定的源数据库中获取相应数据;
数据转换单元将数据抽取单元获取的相应数据转换为预设的数据格式后传递给数据导出单元;
数据导出单元将接收到的数据导出到作业任务的作业信息指定的目标数据库中。
另一方面,本发明实施例提供了一种关系型数据库之间的ETL调度装置,所述装置包括:
任务调度单元,用于在第一设定时间读取调度任务信息配置表,其中,所述调度任务信息配置表包括每一条作业任务的调度周期和调度结构化查询语句;
并根据调度任务信息配置表生成第二设定时间段的每一条作业任务的作业信息,并将所述作业信息写入作业信息配置表中;其中作业任务的作业信息包括:作业任务的调度结构化查询语句、以及作业任务对应的源数据库中需要过滤的时间范围,所述时间范围根据作业任务的调度周期生成;
数据抽取单元,用于实时监听所述作业信息配置表,获取当前时间的作业任务的作业信息,根据作业信息中作业任务的调度结构化查询语句、以及作业任务对应的源数据库中需要过滤的时间范围,生成该作业任务的执行结构化查询语句并执行所述执行结构化查询语句,从指定的源数据库中获取相应数据;
数据转换单元,用于将数据抽取单元获取的相应数据转换为预设的数据格式后传递给数据导出单元;
数据导出单元,用于将接收到的数据导出到作业任务的作业信息指定的目标数据库中。
上述技术方案具有如下有益效果:
本发明的技术方案创新地在ETL方法和装置中加入了调度作业信息配置表,并通过任务调度单元将每个调度任务具体的执行作业永久保存在作业信息配置表中,并通过实时监听作业信息配置表,获取需要执行的作业,并执行作业实现调度任务。本ETL调度方法和装置通过SQL语句和调度周期可快速实现一个ETL调度任务,相比独立开发,大大提高了创建一个调度任务的时间消耗,且更易修改。维护。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一种关系型数据库之间的ETL调度方法的流程图;
图2是本发明实施例一种关系型数据库之间的ETL调度装置的结构示意图;
图3是本发明实施例一种关系型数据库之间的ETL数据调入方法的流程图;
图4是本发明实施例一种关系型数据库之间的ETL数据补调方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,是本发明实施例一种关系型数据库之间的ETL调度方法的流程图,所述方法包括:
S101:任务调度单元在第一设定时间读取调度任务信息配置表,其中,所述调度任务信息配置表包括每一条作业任务的调度周期和调度结构化查询语句。
优选地,所述调度结构化查询语句为根据作业任务涉及到的数据库配置信息生成的作业任务的调度结构化查询语句,所述数据库配置信息包括数据库地址、类型、端口以及数据库名。
S102:根据调度任务信息配置表生成第二设定时间段的每一条作业任务的作业信息,并将所述作业信息写入作业信息配置表中;其中作业任务的作业信息包括:作业任务的调度结构化查询语句、以及作业任务对应的源数据库中需要过滤的时间范围,所述时间范围根据作业任务的调度周期生成。
S103:数据抽取单元实时监听所述作业信息配置表,获取当前时间的作业任务的作业信息,根据作业信息中作业任务的调度结构化查询语句、以及作业任务对应的源数据库中需要过滤的时间范围,生成该作业任务的执行结构化查询语句并执行所述执行结构化查询语句,从指定的源数据库中获取相应数据。
优选地,所述每一条作业任务的作业信息还包括为每一条作业任务设置的任务序号、执行时间以及作业任务的当前状态;以及,所述数据抽取单元实时监听所述作业信息配置表中,获取当前时间的作业任务的作业信息,包括:数据抽取单元实时监听所述作业信息配置表,若当前状态为等待状态的作业任务的执行时间早于当前时间,则确定该作业任务为当前时间的作业任务,获取该作业任务的作业信息。其中,源数据库以及目标数据库为关系型数据库。
S104:数据转换单元将数据抽取单元获取的相应数据转换为预设的数据格式后传递给数据导出单元。
优选地,所述数据转换单元将数据抽取单元获取的相应数据转换为预设的数据格式后传递给数据导出单元,包括:数据转换单元将数据抽取单元获取的相应数据转换为预设的数据格式,为转换格式后的数据添加作业序列号;数据转换单元将添加作业序列号的数据传递给数据导出单元。
S105:数据导出单元将接收到的数据导出到作业任务的作业信息指定的目标数据库中。
优选地,所述作业任务的类型包括调入类型和补调类型;对于补调类型的作业任务,数据导出单元在接收到的数据导出到作业任务的作业信息指定的目标数据库中之前,需将目标数据库中对应的数据删除。
对应于上述方法,如图2所示,是本发明实施例一种关系型数据库之间的ETL调度装置的结构示意图,所述装置包括:
任务调度单元21,用于在第一设定时间读取调度任务信息配置表,其中,所述调度任务信息配置表包括每一条作业任务的调度周期和调度结构化查询语句;根据调度任务信息配置表生成第二设定时间段的每一条作业任务的作业信息,并将所述作业信息写入作业信息配置表中;其中作业任务的作业信息包括:作业任务的调度结构化查询语句、以及作业任务对应的源数据库中需要过滤的时间范围,所述时间范围根据作业任务的调度周期生成;
数据抽取单元22,用于实时监听所述作业信息配置表,获取当前时间的作业任务的作业信息,根据作业信息中作业任务的调度结构化查询语句、以及作业任务对应的源数据库中需要过滤的时间范围,生成该作业任务的执行结构化查询语句并执行所述执行结构化查询语句,从指定的源数据库中获取相应数据;
数据转换单元23,用于将数据抽取单元获取的相应数据转换为预设的数据格式后传递给数据导出单元;
数据导出单元24,用于将接收到的数据导出到作业任务的作业信息指定的目标数据库中。
优选地,所述作业任务的调度结构化查询语句是根据作业任务涉及到的数据库配置信息生成的,所述数据库配置信息包括数据库地址、类型、端口以及数据库名。
优选地,所述作业任务的作业信息还包括为作业任务设置的任务序号、执行时间以及作业任务的当前状态;以及,
所述数据抽取单元22具体用于:实时监听所述作业信息配置表,若当前状态为等待状态的作业任务的执行时间早于当前时间,则确定该作业任务为当前时间的作业任务,获取该作业任务的作业信息23。
优选地,所述数据转换单元23具体用于:
数据转换单元23将数据抽取单元获取的相应数据转换为预设的数据格式,为转换格式后的数据添加作业序列号;
数据转换单元23将添加作业序列号的数据传递给数据导出单元。
优选地,所述作业任务的类型包括调入类型和补调类型;所述数据导出单元,还用于对于补调类型的作业任务,在将接收到的数据导出到作业任务的作业信息指定的目标数据库中之前,将目标数据库中对应的数据删除。
下面结合图2对本发明的装置各模块和组成单元进行具体说明:
一、源数据库、目标数据库,为存储数据关系型数据库,我们的ETL调度装置将会从源数据库中读取数据并进行转换。下表1为数据库信息表举例:
序号 | 地址 | 类型 | 端口 | 数据库名 | 数据表名 | 时间序列字段 |
1 | 127.0.0.1 | ClickHouse | 8123 | apm | apm_msg | datetime |
2 | 192.168.0.1 | MySQL | 3306 | luwak | access_pv | luwak_ts |
3 | 192.168.0.1 | MySQL | 3306 | Luwak | access_uv | Luwak_ts |
表1.数据库信息配置表
表1中表示的数据库既可以表示要调度的数据来源数据库也可以表示抽取后的数据将要写入的目标数据库。序号为数据源唯一标识,可用某个序号表示一个特定的数据源。地址为数据库系统的存储地址。类型为关系型数据库的具体类型,本发明支持多种异构关系型数据库之间的数据调度,因此存在多种数据库类型。端口、数据库名、数据表名皆为关系型数据库中的概念,他们的组合可以确定一个维度的数据存储地址。时间字段为对应数据表中标记数据具体时间的字段,用于查询时过滤指定时间范围内的数据。
二、ETL调度装置,位于我们的计算服务器之上,提供异构关系型数据库之间的调度,其内部包括以下单元:
1.任务调度单元21
任务调度单元每天都会按照预先设定的逻辑从调度任务信息配置表中读取调度周期。下表2为调度任务信息配置表举例:
表2.调度任务信息配置表
表2中的序号意义与表1中一致,用于调度任务的唯一标识。源数据库序号和目标数据库序号皆为表1特定数据库的序号。调度周期为调度任务执行一次的间隔,单位为分钟。调度SQL为每次调度任务需要执行的SQL,此SQL并非最终执行单元执行的SQL,需要经过调度单元加工后才由有数据抽取单元执行。表2中序号为1的调度任务为每隔5分钟统计一次源数据库中的数据量,序号为2的调度任务为每隔1天(1440分钟)统计一次源数据库中数据记录的访问设备数,并将统计后的结果写入对应的目标数据库中。
拿到调度任务信息配置表中的信息后,任务调度单元根据调度周期生成第二天需要执行的作业,并写入调度作业信息配置表中。下表3为调度信息配置表举例:
表3.调度作业信息配置表
表3的序号是调度作业的唯一标识。任务序号为表2中任务信息的具体序号。日期是调度执行的具体日期。开始时间和结束时间为具体调度作业需要过滤的源数据的时间范围,与表2中的调度SQL组合在一起形成调度单元最终执行的SQL语句。执行时间表示此调度作业最早执行不得早于此时间,需要在此时间之后才允许被执行。状态表示这个具体作业的执行状态,其中waiting表示尚未到达执行时间,需继续等待;pending表示作业已经到达执行时间,等待分配资源执行具体作业;running表示作业已经到达执行时间并且分配了计算资源,正在执行中;finish表示作业已经执行完毕。类型表示这个具体任务的类型,当前存在两种类型,分别是insert和upsert。insert类型表示此作业导出到目标数据库时仅需导出操作;upsert类型表示此作业导出到目标数据库时需要将目标数据库中相关数据删除后再导出。
调度执行单元主要为每个调度任务生成第二天需要执行的作业,包括指定每个作业需要过滤的时间范围以及作业需要被执行的时间,并将第二天的作业设置为waiting状态,等待第二天被执行。
2.数据抽取单元22
数据抽取单元主要有两部分作用,首先会一直监听表3中的数据,获取到当前时间大于表中执行时间的所有作业信息,这些作业也就是ETL调度装置中需要被执行的作业。
获取到需要被执行的作业后,数据抽取单元将根据作业对应的任务序号从而获取到作业需要读取的数据的数据源,继而根据作业具体的开始时间、结束时间和对应调度任务的SQL组合为具体的执行SQL语句并发送给具体的数据源,等待数据源处理并获取到数据源的返回结果。
3.数据转换单元23
数据转换单元会拿到数据抽取单元从数据源中获取的返回结果,并根据数据源类型,按预定方法,将返回结果转换为ETL调度系统中统一的数据格式,并添加一些ETL装置中需要的字段用于数据补充。例如,标记这批数据所属作业的作业序列号。作业序号用于问题回溯以及异常作业的擦除重写,它会伴随着数据转换后的结果一并交给数据导出单元。
4.数据导出单元24
数据导出单元会接收数据转换单元处理后的数据,并根据具体作业对应的任务序号从而获取到作业需要导出的目标数据。再根据预设逻辑将ETL装置处理后的数据结果导出到目标数据库。
图3本发明实施例一种异构关系型数据库之间的ETL数据调入方法的流程图,具体说明如下
步骤1,每天固定时间任务调度单元会读取调度任务信息配置表数据,如调度周期和调度SQL。根据调度周期生成第二天的详细作业,其中作业的状态为waiting,类型为insert,并将作业信息写入调度作业信息配置表中。
步骤2,由数据抽取单元实时监听作业信息配置表中的数据,获取所有当前时间大于执行时间的作业并执行获取到对应的数据,将数据传递给数据转换单元。
步骤3,数据转换单元拿到数据抽取单元传递过来的数据后,将不同数据源不同的数据格式转换为ETL调度系统中定义的统一的数据结构后传递给数据导出单元。
步骤4,数据导出单元将接收数据转换单元传递过来的数据,将数据导出到目标数据源中。
至此,一次ETL调度流程结束。
图4是本发明实施例一种异构关系型数据库之间的ETL数据补调方法的流程图,具体说明如下
步骤1,用户指定需要补调数据的任务以及对应的补调时间范围。
步骤2,用户指定相关信息后,任务调度单元会从调度任务信息配置表中读取调度周期和调度SQL,根据调度周期生成指定补调周期内的作业,并将作业信息写入调度作业信息配置表中。在写入时,如果该调度任务某个作业对应的起止时间已经存在,则说明这个作业在之前已经被生成过,需要将该作业的状态改为waiting,状态改为upsert。
步骤3,与图3的步骤2一样,数据抽取单元实时监听作业信息配置表中的数据,获取所有当前时间大于执行时间的作业并执行获取到对应的数据,将数据传递给数据转换单元。
步骤4,与图3的步骤3一样,数据转换单元拿到数据抽取单元传递过来的数据后,将不同数据源不同的数据格式转换为ETL调度系统中定义的统一的数据结构后传递给数据导出单元。
步骤5,数据导出单元将接收数据转换单元传递过来的数据,将数据导出到目标数据源中。与图3的步骤4不同的是,补调的作业的类型是upsert,需要先根据作业序号将目标数据源中对应的数据删除,然后再导出到目标数据源中。
本发明ETL调度方法,主要有以下优势:
本ETL调度方法和装置通过调度作业持久化保存在调度作业配置表中的方式,通过作业序号作为唯一键来保证数据一致性,通过作业状态和类型控制作业的启停和导出方式,这样能够保证每个调度任务的可重复执行的能力。和一般配置中心的方法相比,能够在创建调度任务后,保证当前数据写入的同时立完成历史数据的补调。并且在调度任务配置调整后,历史数据也可以通过补调完成相应的调整。
本ETL调度方法和装置通过SQL语句和调度周期可快速实现一个ETL调度任务,相比独立开发,大大提高了创建一个调度任务的时间消耗,且更易修改、维护。
进一步地,本申请创新地在ETL装置中加入了调度作业信息配置表,并通过任务调度单元将每个调度任务具体的执行作业永久保存在作业信息配置表中,并通过实时监听作业信息配置表,获取需要执行的作业,并执行作业实现调度任务。
本申请创新地在作业信息配置表中加入了状态字段,ETL装置能够通过作业状态来控制作业的启动和停止。
本申请创新地在作业信息配置表中加入了作业类型字段,ETL装置能够通过作业类型判断作业是一般情况作业还是补调作业,从而实现调度任务的补调功能。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种关系型数据库之间的ETL调度方法,其特征在于,包括:
任务调度单元在第一设定时间读取调度任务信息配置表,其中,所述调度任务信息配置表包括每一条作业任务的调度周期和调度结构化查询语句;
根据调度任务信息配置表生成第二设定时间段的每一条作业任务的作业信息,并将所述作业信息写入作业信息配置表中;其中作业任务的作业信息包括:作业任务的调度结构化查询语句、以及作业任务对应的源数据库中需要过滤的时间范围,所述时间范围根据作业任务的调度周期生成;
数据抽取单元实时监听所述作业信息配置表,获取当前时间的作业任务的作业信息,根据作业信息中作业任务的调度结构化查询语句、以及作业任务对应的源数据库中需要过滤的时间范围,生成该作业任务的执行结构化查询语句并执行所述执行结构化查询语句,从指定的源数据库中获取相应数据;
数据转换单元将数据抽取单元获取的相应数据转换为预设的数据格式后传递给数据导出单元;
数据导出单元将接收到的数据导出到作业任务的作业信息指定的目标数据库中。
2.如权利要求1所述的关系型数据库之间的ETL调度方法,其特征在于,所述作业任务的调度结构化查询语句是根据作业任务涉及到的数据库配置信息生成的,所述数据库配置信息包括数据库地址、类型、端口以及数据库名。
3.如权利要求2所述的关系型数据库之间的ETL调度方法,其特征在于,所述作业任务的作业信息还包括为作业任务设置的任务序号、执行时间以及作业任务的当前状态;以及,
所述数据抽取单元实时监听所述作业信息配置表,获取当前时间的作业任务的作业信息,包括:
数据抽取单元实时监听所述作业信息配置表,若当前状态为等待状态的作业任务的执行时间早于当前时间,则确定该作业任务为当前时间的作业任务,获取该作业任务的作业信息。
4.如权利要求3所述的关系型数据库之间的ETL调度方法,其特征在于,所述数据转换单元将数据抽取单元获取的相应数据转换为预设的数据格式后传递给数据导出单元,包括:
数据转换单元将数据抽取单元获取的相应数据转换为预设的数据格式,为转换格式后的数据添加作业序列号;
数据转换单元将添加作业序列号的数据传递给数据导出单元。
5.如权利要求4所述的关系型数据库之间的ETL调度方法,其特征在于,所述作业任务的类型包括调入类型和补调类型;
对于补调类型的作业任务,数据导出单元在将接收到的数据导出到作业任务的作业信息指定的目标数据库中之前,还包括:将目标数据库中对应的数据删除。
6.一种关系型数据库之间的ETL调度装置,其特征在于,包括:
任务调度单元,用于在第一设定时间读取调度任务信息配置表,其中,所述调度任务信息配置表包括每一条作业任务的调度周期和调度结构化查询语句;根据调度任务信息配置表生成第二设定时间段的每一条作业任务的作业信息,并将所述作业信息写入作业信息配置表中;其中作业任务的作业信息包括:作业任务的调度结构化查询语句、以及作业任务对应的源数据库中需要过滤的时间范围,所述时间范围根据作业任务的调度周期生成;
数据抽取单元,用于实时监听所述作业信息配置表,获取当前时间的作业任务的作业信息,根据作业信息中作业任务的调度结构化查询语句、以及作业任务对应的源数据库中需要过滤的时间范围,生成该作业任务的执行结构化查询语句并执行所述执行结构化查询语句,从指定的源数据库中获取相应数据;
数据转换单元,用于将数据抽取单元获取的相应数据转换为预设的数据格式后传递给数据导出单元;
数据导出单元,用于将接收到的数据导出到作业任务的作业信息指定的目标数据库中。
7.如权利要求6所述的关系型数据库之间的ETL调度装置,其特征在于,所述作业任务的调度结构化查询语句是根据作业任务涉及到的数据库配置信息生成的,所述数据库配置信息包括数据库地址、类型、端口以及数据库名。
8.如权利要求7所述的关系型数据库之间的ETL调度装置,其特征在于,所述作业任务的作业信息还包括为作业任务设置的任务序号、执行时间以及作业任务的当前状态;以及,
所述数据抽取单元具体用于:实时监听所述作业信息配置表,若当前状态为等待状态的作业任务的执行时间早于当前时间,则确定该作业任务为当前时间的作业任务,获取该作业任务的作业信息。
9.如权利要求8所述的关系型数据库之间的ETL调度装置,其特征在于,所述数据转换单元具体用于:
将数据抽取单元获取的相应数据转换为预设的数据格式,为转换格式后的数据添加作业序列号;将添加作业序列号的数据传递给数据导出单元。
10.如权利要求9所述的关系型数据库之间的ETL调度装置,其特征在于,所述作业任务的类型包括调入类型和补调类型;
所述数据导出单元,还用于对于补调类型的作业任务,在将接收到的数据导出到作业任务的作业信息指定的目标数据库中之前,将目标数据库中对应的数据删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010418899.4A CN111666324B (zh) | 2020-05-18 | 2020-05-18 | 一种关系型数据库之间的etl调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010418899.4A CN111666324B (zh) | 2020-05-18 | 2020-05-18 | 一种关系型数据库之间的etl调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111666324A true CN111666324A (zh) | 2020-09-15 |
CN111666324B CN111666324B (zh) | 2023-06-27 |
Family
ID=72383744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010418899.4A Active CN111666324B (zh) | 2020-05-18 | 2020-05-18 | 一种关系型数据库之间的etl调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111666324B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104520815A (zh) * | 2014-03-17 | 2015-04-15 | 华为技术有限公司 | 一种任务调度的方法、装置及设备 |
WO2016045285A1 (zh) * | 2014-09-25 | 2016-03-31 | 中兴通讯股份有限公司 | 一种数据库的数据同步方法、装置及系统 |
CN105677751A (zh) * | 2015-12-29 | 2016-06-15 | 北京奇艺世纪科技有限公司 | 关系型数据库的调度方法及系统 |
CN106951315A (zh) * | 2017-03-17 | 2017-07-14 | 北京搜狐新媒体信息技术有限公司 | 一种基于etl的数据任务调度方法及系统 |
CN107145576A (zh) * | 2017-05-08 | 2017-09-08 | 科技谷(厦门)信息技术有限公司 | 一种支持可视化和流程化的大数据etl调度系统 |
CN107291547A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种任务调度处理方法、装置及系统 |
CN108846076A (zh) * | 2018-06-08 | 2018-11-20 | 山大地纬软件股份有限公司 | 支持接口适配的海量多源异构数据etl方法及系统 |
CN109388676A (zh) * | 2018-08-21 | 2019-02-26 | 中国平安人寿保险股份有限公司 | 数据同步生成方法、装置、计算机设备以及存储介质 |
CN109669983A (zh) * | 2018-12-27 | 2019-04-23 | 杭州火树科技有限公司 | 可视化多数据源etl工具 |
US10346374B1 (en) * | 2014-03-14 | 2019-07-09 | Open Invention Network Llc | Optimized data migration application for database compliant data extraction, loading and transformation |
CN110008232A (zh) * | 2019-04-11 | 2019-07-12 | 北京启迪区块链科技发展有限公司 | 结构化查询语句的生成方法、装置、服务器及介质 |
CN110647387A (zh) * | 2019-08-29 | 2020-01-03 | 武汉天喻教育科技有限公司 | 一种教育云大数据任务调度方法与系统 |
-
2020
- 2020-05-18 CN CN202010418899.4A patent/CN111666324B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10346374B1 (en) * | 2014-03-14 | 2019-07-09 | Open Invention Network Llc | Optimized data migration application for database compliant data extraction, loading and transformation |
CN104520815A (zh) * | 2014-03-17 | 2015-04-15 | 华为技术有限公司 | 一种任务调度的方法、装置及设备 |
WO2016045285A1 (zh) * | 2014-09-25 | 2016-03-31 | 中兴通讯股份有限公司 | 一种数据库的数据同步方法、装置及系统 |
CN105677751A (zh) * | 2015-12-29 | 2016-06-15 | 北京奇艺世纪科技有限公司 | 关系型数据库的调度方法及系统 |
CN107291547A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种任务调度处理方法、装置及系统 |
CN106951315A (zh) * | 2017-03-17 | 2017-07-14 | 北京搜狐新媒体信息技术有限公司 | 一种基于etl的数据任务调度方法及系统 |
CN107145576A (zh) * | 2017-05-08 | 2017-09-08 | 科技谷(厦门)信息技术有限公司 | 一种支持可视化和流程化的大数据etl调度系统 |
CN108846076A (zh) * | 2018-06-08 | 2018-11-20 | 山大地纬软件股份有限公司 | 支持接口适配的海量多源异构数据etl方法及系统 |
CN109388676A (zh) * | 2018-08-21 | 2019-02-26 | 中国平安人寿保险股份有限公司 | 数据同步生成方法、装置、计算机设备以及存储介质 |
CN109669983A (zh) * | 2018-12-27 | 2019-04-23 | 杭州火树科技有限公司 | 可视化多数据源etl工具 |
CN110008232A (zh) * | 2019-04-11 | 2019-07-12 | 北京启迪区块链科技发展有限公司 | 结构化查询语句的生成方法、装置、服务器及介质 |
CN110647387A (zh) * | 2019-08-29 | 2020-01-03 | 武汉天喻教育科技有限公司 | 一种教育云大数据任务调度方法与系统 |
Non-Patent Citations (2)
Title |
---|
付威: "面向实时数据仓库的达梦数据交换平台改进", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
陈建尧: "一种基于Hive数据仓库的调度优化研究", 《科技通报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111666324B (zh) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108536761B (zh) | 报表数据查询方法及服务器 | |
CN102637214B (zh) | 基于数据库服务间的通用数据同步方法及其系统 | |
CN105824957A (zh) | 分布式内存列式数据库的查询引擎系统及查询方法 | |
CN109271435A (zh) | 一种支持断点续传的数据抽取方法及系统 | |
WO2019047441A1 (zh) | 一种通信优化方法及系统 | |
CN101216782A (zh) | 一种金融数据实现etl加工的方法和系统 | |
CN105677465B (zh) | 应用于银行跑批处理的数据处理方法及装置 | |
CN115374102A (zh) | 数据处理方法及系统 | |
CN109299180A (zh) | 一种数据仓库etl操作系统 | |
US20230011298A1 (en) | Smart contract-based data processing method, apparatus, device, and storage medium | |
CN103778066A (zh) | 数据处理方法和装置 | |
CN112506940A (zh) | 数据对账方法、装置、电子设备及存储介质 | |
CN103678591A (zh) | 自动执行多业务单据统计处理的装置和方法 | |
CN111752920A (zh) | 用于管理元数据的方法、系统及存储介质 | |
CN105446812A (zh) | 一种多任务调度配置方法 | |
CN104182295A (zh) | 一种数据备份方法及装置 | |
CN107451211B (zh) | 一种基于RabbitMQ和MongoDB的下载系统 | |
CN113626163A (zh) | 一种轻量级分布式增量自调度方法、系统、设备和介质 | |
CN111666324A (zh) | 一种关系型数据库之间的etl调度方法及装置 | |
CN111324473A (zh) | 可实现高并发处理交易信息的拍卖交易引擎 | |
CN114064778B (zh) | 一种基于redis实时用户数据采集传输及数据监控的方法 | |
CN102867018B (zh) | 一种数据库系统中线程间的模拟信号通信方法 | |
CN115168012A (zh) | 一种线程池并发线程数确定方法及相关产品 | |
CN114328722A (zh) | 一种支持多数据源的数据同步方法、装置及计算机设备 | |
CN113849286A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230419 Address after: Room 501-502, 5/F, Sina Headquarters Scientific Research Building, Block N-1 and N-2, Zhongguancun Software Park, Dongbei Wangxi Road, Haidian District, Beijing, 100193 Applicant after: Sina Technology (China) Co.,Ltd. Address before: 100193 7th floor, scientific research building, Sina headquarters, plot n-1, n-2, Zhongguancun Software Park, Dongbei Wangxi Road, Haidian District, Beijing, 100193 Applicant before: Sina.com Technology (China) Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |