CN103902268A - 一种etl流程执行系统及方法 - Google Patents
一种etl流程执行系统及方法 Download PDFInfo
- Publication number
- CN103902268A CN103902268A CN201210578925.5A CN201210578925A CN103902268A CN 103902268 A CN103902268 A CN 103902268A CN 201210578925 A CN201210578925 A CN 201210578925A CN 103902268 A CN103902268 A CN 103902268A
- Authority
- CN
- China
- Prior art keywords
- data source
- etl
- etl flow
- unit
- flow performing
- 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
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种ETL流程执行系统及方法,属于数据处理技术领域。本发明首先监控ETL流程启动事件,当出现ETL流程启动事件时,向ETL流程发送通知消息,启动ETL流程;ETL流程执行装置确定数据源参数,根据所述数据源参数确定数据源所在位置,打开数据源,执行ETL流程,将流程执行结果写入目标数据源中,直到所有数据源被执行完毕。本发明通过增加执行策略装置,使ETL流程运行时间点可以根据现场要求灵活确定,大大增加了ETL流程执行系统的适用范围。通过增加数据容器装置,实现了在运行时刻决定数据源位置的功能,使ETL流程执行系统不再局限于针对固定数据源的处理,灵活性大大提升。
Description
技术领域
本发明属于数据处理技术领域,具体涉及一种ETL流程执行系统及方法,尤其适用于数据挖掘领域中。
背景技术
ETL(Extraction-Transformation-Loading,数据提取、转换和加载)负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。ETL抽取、处理、加载数据的过程通常由专门的ETL软件来完成。ETL软件通常提供若干种数据源对象,以支持不同种类的数据源格式,并提供若干种不同类型的数据处理单元,利用这些数据处理单元的任意组合,满足用户对数据的各种转换、处理需求。因此,利用ETL软件可以比较灵活的实现数据的各种格式转换及数据处理任务,例如增减字段、计算字段数值、联合表、记录过滤等。
但是在实际项目应用中,仅依靠数据处理单元的任意组合来满足项目的各种数据处理需求,但仍存在一定局限性。其表现在以下几个方面:
(1)要处理的数据来源灵活,并非事先固定,很可能由实时确定的外界条件来确定数据源的位置及具体格式;
(2)要执行ETL过程的条件不固定,其同样可能是动态确定的。
传统的ETL软件,其通常提供以下对象实现数据的ETL过程:
数据源对象:ETL软件对于每一种支持的数据格式,均实现一个数据源对象,该对象负责将数据以记录的方式从原始数据格式中读取出来,并转化为统一的数据模型提供给数据处理单元。如果支持对该格式的生成功能,数据源对象还负责将数据处理单元产生的记录按照要求的格式写入到目标数据源中。
数据处理单元(处理器):ETL软件对于每一种数据处理功能,均提供一个数据处理单元实现该功能。数据处理单元负责接收数据源或者另一个数据处理单元输出的记录,对其进行变换处理,然后再将处理结果以记录的形式输出出来。
ETL的数据处理单元是可以任意组合并不断扩充的,即前一个处理单元输出的记录可以作为后一个处理单元的输入记录,因此ETL软件在数据处理方面具有较大的灵活性。
ETL软件的这种实现方式,可以满足一般的数据处理需求,但是当其以一个工具形式应用在实际项目中时,则存在一定局限性,限制了ETL软件的应用范围。其满足不了数据处理的如下需求:
(1)动态确定的数据源:当数据源不是事先固定,而是动态确定的。例如,在实际应用环境下,可能需要通过读取动态生成的配置文件确定数据源的位置。
(2)动态确定的执行时间点:此时ETL数据处理不是由手动触发,也不是在固定的时间点触发,而是由外部条件动态确定。例如,在实际应用环境下,可能需要通过判断一个共享文件夹中数据的修改时间变化,确定ETL过程的启动。
此外,以上这种动态确定的具体规则又是灵活多样的,在具体的数据处理需求中很难以一套固定化的模式实现,因此一个传统的ETL工具并不适用于以上的数据处理情景。
发明内容
针对现有技术中存在的缺陷,本发明所要解决的技术问题是提供一种灵活性强、适用范围广的ETL流程执行系统及方法。
为解决上述技术问题,本发明采用的技术方案如下:
一种ETL流程执行系统,包括ETL流程执行装置;若干用于监控ETL流程执行装置的启动事件,当出现启动事件时以消息的方式通知ETL流程执行装置启动的执行策略装置。
如上所述的ETL流程执行系统,还包括用于显示所述系统中所有执行策略装置的显示装置;用于根据所述显示装置的显示结果选择执行策略装置的选择装置。
如上所述的ETL流程执行系统,其中,ETL流程执行装置包括用于接收执行策略装置发送的通知消息的窗口单元。
如上所述的ETL流程执行系统,其中,执行策略装置包括以下单元:
第一信息提供单元,用于向显示装置提供该执行策略装置的基本信息。
初始化单元,用于确定ETL流程执行装置接收消息通知的窗口句柄,记录该值,当发现需要触发ETL流程时,向该窗口发送一个通知消息;同时用于确定ETL流程执行装置接收的消息ID,记录该值,当需要触发ETL流程时,向ETL窗口发送ID等于此值的一个通知消息;
监控单元,用于按照设定要求监控状态,确定何时启动ETL流程,当状态满足条件时,通知ETL流程执行装置启动流程;
ETL流程执行结束通知单元,用于在ETL流程执行结束后,通知ETL流程执行装置执行完成;
释放单元,用于通知监控单元结束监控。
如上所述的ETL流程执行系统,还包括若干用于向ETL流程执行装置提供待处理数据源参数和目标数据源参数,根据所述数据源参数和目标数据源参数能够确定待处理数据源所在位置及目标数据源所在位置的数据容器装置。
如上所述的ETL流程执行系统,其中,显示装置还用于显示系统中所有数据容器装置;所述选择装置还用于选择数据容器装置。
如上所述的ETL流程执行系统,其中,数据容器装置包括以下单元:
第二信息提供单元,用于向所述显示装置提供该数据容器装置的基本信息;
启动数据源枚举单元,用于不断调用获取数据源参数单元获取数据源参数;
获取数据源参数单元,用于获取下一个待打开的数据源参数,如果获取成功,则返回TRUE;否则,返回FALSE;
获取对应目标数据源参数单元,用于获取下一个待打开的目标数据源参数,如果获取成功,则返回TRUE;否则,返回FALSE;
结束数据源枚举单元:用于结束启动数据源枚举单元枚举过程,将枚举过程中分配的相关资源进行释放。
一种ETL流程执行方法,包括以下步骤:
监控ETL流程启动事件,当出现ETL流程启动事件时,向ETL流程发送通知消息,启动ETL流程;
ETL流程执行装置确定数据源参数,根据所述数据源参数确定数据源所在位置,打开数据源,执行ETL流程,将流程执行结果写入目标数据源中,直到所有数据源被执行完毕。
如上所述的ETL流程执行方法,其中,监控ETL流程启动事件的方法为:实时监控共享文件夹中的文件变化,所述共享文件夹中的文件由第三方应用不定期更新;将所述共享文件夹中的文件变化作为ETL流程启动的事件。
如上所述的ETL流程执行方法,其中,所述确定数据源参数的过程包括以下步骤:
选择待执行的数据容器装置;
所述数据容器装置依次读取第三方应用提供的数据源参数文件中的数据源参数,提供给ETL流程执行装置。
本发明所述系统及方法,具有如下优点:
(1)通过增加执行策略装置(插件),使ETL流程运行时间点可以根据现场要求灵活确定,大大增加了ETL流程执行系统的适用范围。
(2)通过增加数据容器装置(插件),实现了在运行时刻决定数据源位置的功能,使ETL流程执行系统不再局限于针对固定数据源的处理,灵活性大大提升,并且提供了动态批量数据处理的能力。
附图说明
图1是具体实施方式中ETL流程执行系统的结构框图;
图2是具体实施方式中执行策略装置的结构框图;
图3是具体实施方式中数据容器装置的结构框图;
图4是具体实施方式中ETL流程执行方法的流程图;
图5是具体实施方式中监控ETL流程启动事件方法的流程图;
图6是具体实施方式中ETL流程执行装置执行过程的流程图;
图7是具体实施方式中获取数据源参数方法的流程图。
具体实施方式
下面结合附图对本发明的具体实施方式进行详细描述。
如图1所示,本实施方式中ETL流程执行系统包括ETL流程执行装置1、执行策略装置2、显示装置3、选择装置4和数据容器装置5。ETL流程执行装置1包括窗口单元11。
ETL流程执行装置1用于执行ETL流程。执行策略装置2用于监控ETL流程执行装置1的启动事件,以消息的方式通知ETL流程执行装置1启动。显示装置3用于显示系统中所有执行策略装置2和数据容器装置5的基本信息,包括名称、功能信息等。选择装置4用于为ETL流程执行装置1选择执行策略装置2和数据容器装置5。数据容器装置5用于向ETL流程执行装置1提供待处理数据源参数,根据所述数据源参数能够确定待处理数据源所在位置。窗口单元11用于接收执行策略装置2发送的通知消息。
如图2所示,执行策略装置2包括第一信息提供单元21、初始化单元22、监控单元23、ETL流程执行结束通知单元24和释放单元25。
第一信息提供单元21用于向显示装置3提供该执行策略装置2的基本信息。初始化单元22用于确定ETL流程执行装置1接收消息通知的窗口句柄,记录该值,当发现需要触发ETL流程时,向该窗口发送一个通知消息;同时,用于确定ETL流程执行装置1接收的消息ID,记录该值,当需要触发ETL流程时,向ETL窗口发送ID等于此值的一个通知消息。监控单元23用于按照设定要求监控状态,确定何时启动ETL流程,当状态满足条件时,通知ETL流程执行装置1启动流程。ETL流程执行结束通知单元24用于在ETL流程执行结束后,通知ETL流程执行装置1执行完成。释放单元25用于通知监控单元23结束监控。
如图3所示,数据容器装置5包括第一信息提供单元51、启动数据源枚举单元52、获取数据源参数单元53、获取对应目标数据源参数单元54和结束数据源枚举单元55。
第一信息提供单元51用于向所述显示装置3提供该数据容器装置5的基本信息。启动数据源枚举单元52用于初始化数据源枚举过程,不断调用获取数据源参数单元53获取数据源参数。获取数据源参数单元53用于获取下一个待打开的数据源参数,如果获取成功,则返回TRUE;否则,返回FALSE。获取对应目标数据源参数单元54用于获取下一个待打开的目标数据源参数,如果获取成功,则返回TRUE;否则,返回FALSE。结束数据源枚举单元55用于结束启动数据源枚举单元52枚举过程,将枚举过程中分配的相关资源进行释放。
如图4所示,采用上述系统执行ETL流程的方法包括以下步骤:
(1)执行策略装置2监控ETL流程启动事件,当出现ETL流程启动事件时,向ETL流程发送通知消息,启动ETL流程。
如图5所示,所述监控ETL流程启动事件的方法为:实时监控共享文件夹中的文件变化,所述共享文件夹中的文件由第三方应用不定期更新;将所述共享文件夹中的文件变化作为ETL流程启动的事件。
(2)ETL流程执行装置1确定数据源参数,根据所述数据源参数确定数据源所在位置,打开数据源,执行ETL流程,将流程执行结果写入目标数据源中,直到所有数据源被执行完毕。
如图6所示,本实施方式中ETL流程执行方法还包括选择待执行的数据容器装置,所述数据容器装置依次读取第三方应用提供的数据源参数文件中的数据源参数,提供给ETL流程执行装置的步骤。具体的ETL执行方法包括以下步骤:
①选择装置4根据显示装置3显示的执行策略装置2和数据容器装置5的基本信息,为ETL流程执行装置1选择执行策略装置2和数据容器装置5。执行策略装置2的基本信息由第一信息提供单元21提供。
②初始化执行策略装置2和数据容器装置5。
③监控单元23检测ETL流程启动消息,当窗口单元11接收到ETL流程启动消息后,启动ETL流程。
④ETL流程执行装置1从数据容器装置5中获取数据源参数。
启动数据源枚举单元52不断调用获取数据源参数单元53,获取数据源参数,提供给ETL流程执行装置1。
⑤打开数据源,读取记录并处理,将处理结果写入目标数据源中。
目标数据源参数由获取对应目标数据参数单元54获取,ETL流程执行装置1根据目标数据源参数获取目标数据源,将处理结果写入目标数据源中。
⑥获取下一个数据源参数,如果获取成功,转至步骤④;如果获取失败,则进入下一步。
⑦判断是否结束监控。如果ETL流程执行结束通知单元24通知结束监控,则结束数据源枚举单元55结束枚举过程,释放单元25释放资源后结束;否则,则转至步骤③。
本发明在具体实现时,执行策略装置2和数据容器装置5可以制作成插件,作为ETL流程执行系统的组成部分。执行策略装置2和数据容器装置5包括的各单元可以制作成接口。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种ETL流程执行系统,包括ETL流程执行装置(1),其特征在于:所述系统还包括若干用于监控ETL流程执行装置(1)的启动事件,当出现启动事件时以消息的方式通知ETL流程执行装置(1)启动的执行策略装置(2)。
2.如权利要求1所述的ETL流程执行系统,其特征在于:所述系统还包括用于显示所述系统中所有执行策略装置(2)的显示装置(3);用于根据所述显示装置(3)的显示结果选择执行策略装置(2)的选择装置(4)。
3.如权利要求1所述的ETL流程执行系统,其特征在于:所述ETL流程执行装置(1)包括用于接收执行策略装置(2)发送的通知消息的窗口单元(11)。
4.如权利要求1所述的ETL流程执行系统,其特征在于:所述执行策略装置(2)包括以下单元:
第一信息提供单元(2 1),用于向显示装置(3)提供该执行策略装置(2)的基本信息;
初始化单元(22),用于确定ETL流程执行装置(1)接收消息通知的窗口句柄,记录该值,当发现需要触发ETL流程时,向该窗口发送一个通知消息;同时用于确定ETL流程执行装置(1)接收的消息ID,记录该值,当需要触发ETL流程时,向ETL窗口发送ID等于此值的一个通知消息;
监控单元(23),用于按照设定要求监控状态,确定何时启动ETL流程,当状态满足条件时,通知ETL流程执行装置(1)启动流程;
ETL流程执行结束通知单元(24),用于在ETL流程执行结束后,通知ETL流程执行装置(1)执行完成;
释放单元(25),用于通知监控单元(23)结束监控。
5.如权利要求1~4中任一项所述的ETL流程执行系统,其特征在于:所述系统还包括若干用于向ETL流程执行装置(1)提供待处理数据源参数和目标数据源参数,根据所述数据源参数和目标数据源参数能够确定待处理数据源所在位置及目标数据源所在位置的数据容器装置(5)。
6.如权利要求5所述的ETL流程执行系统,其特征在于:所述显示装置(3)还用于显示系统中所有数据容器装置(5);所述选择装置(4)还用于选择数据容器装置(5)。
7.如权利要求5所述的ETL流程执行系统,其特征在于:所述数据容器装置(5)包括以下单元:
第二信息提供单元(51),用于向所述显示装置(3)提供该数据容器装置的基本信息;
启动数据源枚举单元(52),用于不断调用获取数据源参数单元(53)获取数据源参数;
获取数据源参数单元(53),用于获取下一个待打开的数据源参数,如果获取成功,则返回TRUE;否则,返回FALSE;
获取对应目标数据源参数单元(54),用于获取下一个待打开的目标数据源参数,如果获取成功,则返回TRUE;否则,返回FALSE;
结束数据源枚举单元(55):用于结束启动数据源枚举单元(52)枚举过程,将枚举过程中分配的相关资源进行释放。
8.一种ETL流程执行方法,其特征在于,包括以下步骤:
监控ETL流程启动事件,当出现ETL流程启动事件时,向ETL流程发送通知消息,启动ETL流程;
ETL流程执行装置确定数据源参数,根据所述数据源参数确定数据源所在位置,打开数据源,执行ETL流程,将流程执行结果写入目标数据源中,直到所有数据源被执行完毕。
9.如权利要求8所述的ETL流程执行方法,其特征在于,所述监控ETL流程启动事件的方法为:实时监控共享文件夹中的文件变化,所述共享文件夹中的文件由第三方应用不定期更新;将所述共享文件夹中的文件变化作为ETL流程启动的事件。
10.如权利要求8或9所述的ETL流程执行方法,其特征在于,所述确定数据源参数的过程包括以下步骤:
选择待执行的数据容器装置;
所述数据容器装置依次读取第三方应用提供的数据源参数文件中的数据源参数,提供给ETL流程执行装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210578925.5A CN103902268B (zh) | 2012-12-27 | 2012-12-27 | 一种etl流程执行系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210578925.5A CN103902268B (zh) | 2012-12-27 | 2012-12-27 | 一种etl流程执行系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103902268A true CN103902268A (zh) | 2014-07-02 |
CN103902268B CN103902268B (zh) | 2018-12-14 |
Family
ID=50993612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210578925.5A Active CN103902268B (zh) | 2012-12-27 | 2012-12-27 | 一种etl流程执行系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103902268B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202580A (zh) * | 2016-08-29 | 2016-12-07 | 江苏数加数据科技有限责任公司 | 基于etl数据仓库技术实现的双公示生产数据采集系统 |
CN111414203A (zh) * | 2020-03-14 | 2020-07-14 | 北京数巫大数据研究院有限公司 | 一种智能数据etl任务运行系统 |
CN111722981A (zh) * | 2020-06-15 | 2020-09-29 | 武汉达梦数据库有限公司 | 一种hadoop集群运行ETL流程的实时监控方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100082691A1 (en) * | 2008-09-19 | 2010-04-01 | Strategyn, Inc. | Universal customer based information and ontology platform for business information and innovation management |
CN102117306A (zh) * | 2010-01-04 | 2011-07-06 | 阿里巴巴集团控股有限公司 | Etl数据处理过程的监控方法及其系统 |
CN102541959A (zh) * | 2010-12-31 | 2012-07-04 | 中国移动通信集团安徽有限公司 | Etl调度方法、装置及系统 |
-
2012
- 2012-12-27 CN CN201210578925.5A patent/CN103902268B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100082691A1 (en) * | 2008-09-19 | 2010-04-01 | Strategyn, Inc. | Universal customer based information and ontology platform for business information and innovation management |
CN102117306A (zh) * | 2010-01-04 | 2011-07-06 | 阿里巴巴集团控股有限公司 | Etl数据处理过程的监控方法及其系统 |
CN102541959A (zh) * | 2010-12-31 | 2012-07-04 | 中国移动通信集团安徽有限公司 | Etl调度方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
夏秀峰等: "一种改进的分布式ETL体系结构", 《计算机应用与软件》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202580A (zh) * | 2016-08-29 | 2016-12-07 | 江苏数加数据科技有限责任公司 | 基于etl数据仓库技术实现的双公示生产数据采集系统 |
CN111414203A (zh) * | 2020-03-14 | 2020-07-14 | 北京数巫大数据研究院有限公司 | 一种智能数据etl任务运行系统 |
CN111722981A (zh) * | 2020-06-15 | 2020-09-29 | 武汉达梦数据库有限公司 | 一种hadoop集群运行ETL流程的实时监控方法及装置 |
CN111722981B (zh) * | 2020-06-15 | 2021-05-07 | 武汉达梦数据库有限公司 | 一种hadoop集群运行ETL流程的实时监控方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103902268B (zh) | 2018-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2012504290A5 (zh) | ||
US9317397B2 (en) | Programmable logic controller (PLC) simulation system, PLC simulator, recording medium, and simulation method | |
US20190258534A1 (en) | Message oriented middleware with integrated rules engine | |
CN105745585A (zh) | 卸载人机交互任务 | |
JP2011054044A5 (zh) | ||
CN112486491A (zh) | 页面生成方法、装置、计算机设备及存储介质 | |
CN103902268A (zh) | 一种etl流程执行系统及方法 | |
CN112598135A (zh) | 模型训练处理方法、装置、计算机设备及介质 | |
CN105487971A (zh) | 一种软件测试中操作步骤记录和复现的方法及系统 | |
CN103631594A (zh) | 通用流程异步调度方法及系统 | |
KR101235330B1 (ko) | 임베디드 소프트웨어 개발 도구 통합 관리 장치 및 방법 | |
CN111124519B (zh) | 基于输入响应优化安卓应用程序启动速度的方法及系统 | |
CN103902583A (zh) | 一种etl流程执行系统及方法 | |
CN117271423A (zh) | 一种核间通信方法、系统、设备及介质、一种车辆 | |
WO2020067009A1 (ja) | 業務支援システムおよび業務支援方法 | |
US9454142B2 (en) | Method for operation of an automation device | |
CN110908573B (zh) | 算法模型训练方法、装置、设备及存储介质 | |
CN113687942B (zh) | 检测方法、装置及电子设备 | |
CA3206547A1 (en) | Software host construction method, software host construction system, software host, and simulation device | |
WO2010013459A1 (ja) | 制御装置、制御方法及びコンピュータプログラム | |
CN108536506A (zh) | 一种应用状态管理方法及装置 | |
CN113127162B (zh) | 自动化任务执行方法、装置、电子设备及计算机存储介质 | |
CN109683883B (zh) | 一种流程图设计方法及装置 | |
CN115098468A (zh) | 灵活的数据迁移方法、装置、存储介质及电子设备 | |
CN102752151B (zh) | 基于柔性测试技术的测控产品管理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |