CN101551811A - 用于实时数据etl系统的记忆式调度方法 - Google Patents
用于实时数据etl系统的记忆式调度方法 Download PDFInfo
- Publication number
- CN101551811A CN101551811A CNA2009100281042A CN200910028104A CN101551811A CN 101551811 A CN101551811 A CN 101551811A CN A2009100281042 A CNA2009100281042 A CN A2009100281042A CN 200910028104 A CN200910028104 A CN 200910028104A CN 101551811 A CN101551811 A CN 101551811A
- Authority
- CN
- China
- Prior art keywords
- data
- cycle
- task
- etl
- scheduling
- 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 34
- 239000000284 extract Substances 0.000 claims description 14
- 238000000605 extraction Methods 0.000 claims description 11
- 238000013480 data collection Methods 0.000 claims description 6
- 230000001932 seasonal effect Effects 0.000 claims description 6
- 238000004321 preservation Methods 0.000 claims description 4
- 230000003068 static effect Effects 0.000 claims description 4
- 238000012797 qualification Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 5
- 238000011161 development Methods 0.000 abstract description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 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/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
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
用于实时数据ETL系统的记忆式调度方法,ETL调度主程序按照预先设定的顺序执行某个任务,执行的时候把lscycle最近成功数据周期、curcycle当前处理数据周期、endcycle处理截止数据周期等由调度引擎记忆下来的关键信息传给被调程序,被调程序执行完成之后,由调度引擎记录并保存更新后的调度信息;在数据重抽中,通过记忆式调度方法自动对其中的某些任务和某些周期进行自动重抽;记忆式调度方法(有状态调度方法)解决了传统ETL调度程序无状态的特点,简化了被调程序的任务,通过记忆状态使得被调程序可以专注于自己的业务逻辑,为实时数据ETL领域赢得了大量的开发时间,大大提高了项目实施的效率。
Description
一、技术领域
本技术发明方案应用于实时数据ETL系统的调度,采用记忆式调度方法(有状态调度方法)用于解决实时数据ETL系统中被调程序疲于处理调度信息的问题,从而使得被调程序可以专注于自身的业务逻辑。
二、背景技术
ETL(Extraction-Transformation-Loading)即数据抽取、转换和加载。ETL负责将分布的、异构数据源中的数据,如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析的数据。目前现有的ETL调度方法都是非记忆、无状态的调度方法,如采用固定时间点进行调度(固定周期),比如每天晚上23:00执行某个程序,两次调度之间在调度层面没有任何关联,任务状态的判断和时间周期的选择完全由被调程序的程序逻辑自行完成,这样既增加了被调程序的负担,又无法使被调程序专注于自己的业务逻辑。
现有ETL调度方法的特点如下:
三、发明内容
本发明目的是解决传统ETL调度方法存在的问题,通过采用记忆式、有状态的调度方法,调度引擎能够记住每个任务每次运行的时间周期、状态、历时,从而可以在调度层面优化调度策略,提高调度性能,使得被调程序专注于自己的业务逻辑,从而解决周期闭环抽取问题、数据重抽问题、调度时间滞后的任务追赶问题和自我评估问题。
本发明技术方案是:用于实时数据ETL系统的记忆式调度方法,ETL调度主程序按照预先设定的顺序执行某个任务,执行的时候把lscycle最近成功数据周期、curcycle当前处理数据周期、endcycle处理截止数据周期等由调度引擎记忆下来的关键信息传给被调程序,被调程序执行完成之后,由调度引擎记录并保存更新后的调度信息;在数据重抽中,通过记忆式调度方法自动对其中的某些任务和某些周期进行自动重抽;
根据ETL数据的变化特点,分成固定周期数据和周期闭环数据:
假定调度流程Wf1,任务B1∈wf1,则
Wf1的状态={wstate状态、
lscycle最近成功数据周期、
endcycle处理截止数据周期、
curcycle当前处理数据周期}
B1的状态包括={bstate状态、
succnum成功运行次数、
succtotal成功运行总历时、
succavg成功运行平均历时}
某个周期闭环数据集A,A的起始抽取时间是Φ,每隔T0分钟抽取一次,则数据集A的抽取时间集=[Φ,Φ1)+[Φ1,Φ2)+[Φ2,Φ3)+…+[Φn-1,Φn)+…
其中,“[Φn”表示≥Φn,“Φn+1)”表示<Φn+1
Φn表示每隔T0分钟去抽取数据集A的当时的时间点,一般情况下等于Φ+T0*n(n从1开始,表示从Φ开始之后的第n个T0分钟);
因此,对于周期闭环当中的某个[Φn,Φn+1):
lscycle=[Φn-2,Φn-1)
curcycle=[Φn-1,Φn)
endcycle=[Φn-1,Φn)
这几个关键性的信息被调度引擎记忆下来,从而不需要被调程序进行处理,由调度引擎自动告诉被调程序执行以下时间序列的任务:
[Φn-1,Φn)
同时,wstate、bstate、succnum、succtotal、succavg也被调度引擎记忆下来。
对于固定周期的数据ETL调度,假定数据集B,B的起始抽取周期是∏,每隔T1天抽取一次,则数据集B的抽取周期集=∏1+∏2+∏3+…+∏n-1+∏n+…
其中,∏n等于∏+n(n从1开始,表示从∏开始之后的第n天);因此,对于固定周期当中的某个∏n:
lscycle=∏n-1
curcycle=∏n
endcycle=∏k
这几个关键性的信息被调度引擎记忆下来,从而不需要被调程序进行处理,
由调度引擎自动告诉被调程序执行以下时间序列的任务:
∏n、∏n+1...∏k-1、∏k
同时,wstate、bstate、succnum、succtotal、succavg也被调度引擎记忆下来;
在ETL任务由于某种原因被暂停或执行失败而在时间上滞后预定计划,在该任务重新恢复正常运行时,能进行ETL任务的自动追赶。
(1)将数据分成固定周期抽取模式和周期闭环周期模式两种类型,分别用于静止数据和变化数据的抽取,固定周期抽取模式支持静止的数据,而周期闭环抽取模式支持变化的数据;
(2)对于周期闭环抽取模式工作步骤,调度引擎(即程序)将上次成功执行的时间点和本次要执行的时间点传给被调用的周期闭环抽取执行程序,并记录周期闭环抽取任务执行的调度信息。
(3)对于固定周期抽取模式,调度引擎自动记录需要执行的起始数据周期和终止数据周期,然后按时间周期序列逐个执行被调用的固定周期抽取执行程序,并记录任务执行的调度信息。
在周期闭环的抽取模式抽取执行程序中,根据时间戳进行实时的数据ETL。
简化了被调用的周期闭环抽取执行程序和被调用的固定周期抽取执行程序的任务,通过记忆状态使得被调程序可以专注于自己的业务逻辑,为实时数据ETL领域赢得了大量的开发时间,大大提高了项目实施的效率。
在数据重抽中,通过记忆式调度方法自动对其中的某些任务和某些周期进行自动重抽。在ETL任务由于某种原因被暂停或执行失败而在时间上滞后预定计划,在该任务重新恢复正常运行时,能进行ETL任务的自动追赶。
每个任务都可以对自身的运行情况进行自我评估。ETL调度主引擎(主程序)按照预先设定的顺序执行某个任务(支持分布在不同主机上的任务),执行的时候把lscycle最近成功数据周期、curcycle当前处理数据周期、endcycle处理截止数据周期、curcycle当前处理数据周期等由调度引擎记忆下来的关键信息传给被调程序,被调程序执行完成之后,由调度引擎记录并保存更新后的调度信息。由于调度引擎针对实时ETL的特点进行了记忆式、有状态的调度,所以使得被调程序可以更关注于自己的业务逻辑。
总体技术方案见附图1,详细说明如下:
根据ETL数据的变化特点,可以分成固定周期数据和周期闭环数据:
Wf1的状态={wstate状态、
lscycle最近成功数据周期、
endcycle处理截止数据周期、
curcycle当前处理数据周期}
B1的状态包括={bstate状态、
succnum成功运行次数、
succtotal成功运行总历时、
succavg成功运行平均历时}
假定某个周期闭环数据集A,A的起始抽取时间是Φ,每隔T0分钟抽取一次,则数据集A的抽取时间集=[Φ,Φ1)+[Φ1,Φ2)+[Φ2,Φ3)+…+[Φn-1,Φn)+…
其中,“[Φn”表示≥Φn,“Φn+1)”表示<Φn+1
Φn表示每隔T0分钟去抽取数据集A的当时的时间点,一般情况下等于Φ+T0*n(n从1开始,表示从Φ开始之后的第n个T0分钟);但是如果由于某些非常特殊的原因(比如异常的网络原因),当某次数据抽取的时间超过T0分钟,则Φn就不等于Φ+T0*n,甚至可能已经滞后很多个T0分钟,此时就存在调度时间滞后的任务追赶问题。例如,T0=5分钟。
因此,对于周期闭环当中的某个[Φn,Φn+1):
lscycle=[Φn-2,Φn-1)
curcycle=[Φn-1,Φn)
endcycle=[Φn-1,Φn)
这几个关键性的信息被调度引擎记忆下来,从而不需要被调程序进行处理,由调度引擎自动告诉被调程序执行以下时间序列的任务:
[Φn-1,Φn)
同时,wstate、bstate、succnum、succtotal、succavg也被调度引擎记忆下来。
对于固定周期的数据ETL调度,假定数据集B,B的起始抽取周期是∏,每隔T1天(例如1天)抽取一次,则数据集B的抽取周期集=∏1+∏2+∏3+…+∏n-1+∏n+…
其中,∏n等于∏+n(n从1开始,表示从∏开始之后的第n天)。因此,对于固定周期当中的某个∏n:
lscycle=∏n-1
curcycle=∏n
endcycle=∏k(假定由于网络原因等造成存在调度时间滞后的任务追赶问题k≥n)
这几个关键性的信息被调度引擎记忆下来,从而不需要被调程序进行处理,由调度引擎自动告诉被调程序执行以下时间序列的任务:
∏n、∏n+1...∏k-1、∏k
同时,wstate、bstate、succnum、succtotal、succavg也被调度引擎记忆下来。
本发明有益效果:根据记忆式调度方法的技术方案,看到记忆式调度具有如下效果:
解决周期闭环抽取问题:可以解决ETL系统中根据时间戳进行抽取的周期闭环问题。
四、附图说明
图1为本发明记忆式调度方法图
五、具体实施方式
图1所示,ETL调度主引擎(主程序)按照预先设定的顺序执行某个任务(支持分布在不同主机上的任务),执行的时候把lscycle、curcycle、endcycle等由调度引擎记忆下来的关键信息传给被调程序,被调程序执行完成之后,由调度引擎记录并保存更新后的调度信息。由于调度引擎针对实时ETL的特点进行了记忆式、有状态的调度,所以使得被调程序可以更关注于自己的业务逻辑。
实施例之一:国内某电信公司实施ETL抽取,抽取的范围包括用户资料和话单数据,用户资料15分钟抽取一次,属于周期闭环的抽取模式;话单数据一天抽取一次,属于固定周期的抽取模式。
调度引擎根据配置周期性的执行以下任务:
Claims (5)
1、用于实时数据ETL系统的记忆式调度方法,其特征是:
ETL调度主程序按照预先设定的顺序执行某个任务,执行的时候把lscycle最近成功数据周期、curcycle当前处理数据周期、endcycle处理截止数据周期等由调度引擎记忆下来的关键信息传给被调程序,被调程序执行完成之后,由调度引擎记录并保存更新后的调度信息;在数据重抽中,通过记忆式调度方法自动对其中的某些任务和某些周期进行自动重抽;
根据ETL数据的变化特点,分成固定周期数据和周期闭环数据:
Wf1的状态={wstate状态、
lscycle最近成功数据周期、
endcycle处理截止数据周期、
curcycle当前处理数据周期}
B1的状态包括={bstate状态、
succnum成功运行次数、
succtotal成功运行总历时、
succavg成功运行平均历时}
某个周期闭环数据集A,A的起始抽取时间是Φ,每隔T0分钟抽取一次,则数据集A的抽取时间集=[Φ,Φ1)+[Φ1,Φ2)+[Φ2,Φ3)+…+[Φn-1,Φn)+…
其中,“[Φn”表示≥Φn,“Φn+1)”表示<Φn+1
Φn表示每隔T0分钟去抽取数据集A的当时的时间点,一般情况下等于Φ+T0*n(n从1开始,表示从Φ开始之后的第n个T0分钟);
因此,对于周期闭环当中的某个[Φn,Φn+1):
lscycle=[Φn-2,Φn-1)
curcycle=[Φn-1,Φn)
endcycle=[Φn-1,Φn)
这几个关键性的信息被调度引擎记忆下来,从而不需要被调程序进行处理,由调度引擎自动告诉被调程序执行以下时间序列的任务:
[Φn-1,Φn)
同时,wstate、bstate、succnum、succtotal、succavg也被调度引擎记忆下来
对于固定周期的数据ETL调度,假定数据集B,B的起始抽取周期是∏,每隔T1天抽取一次,则数据集B的抽取周期集=∏1+∏2+∏3+…+∏n-1+∏n+…
其中,∏n等于∏+n(n从1开始,表示从∏开始之后的第n天);因此,对于固定周期当中的某个∏n:
lscycle=∏n-1
curcycle=∏n
endcycle=∏k
这几个关键性的信息被调度引擎记忆下来,从而不需要被调程序进行处理,由调度引擎自动告诉被调程序执行以下时间序列的任务:
∏n、∏n+1...∏k-1、∏k
同时,wstate、bstate、succnum、succtotal、succavg也被调度引擎记忆下来;
在ETL任务由于某种原因被暂停或执行失败而在时间上滞后预定计划,在该任务重新恢复正常运行时,能进行ETL任务的自动追赶。
2、根据权利要求1所述的记忆式调度方法,其特征是在周期闭环的抽取模式中,根据时间戳进行实时的数据ETL。
3、根据权利要求1所述的记忆式调度方法,其特征是在数据重抽中,通过记忆式调度方法自动对其中的某些任务和某些周期进行自动重抽。
4、根据权利要求1所述的记忆式调度方法,其特征是在ETL任务由于某种原因被暂停或执行失败而在时间上滞后预定计划,在该任务重新恢复正常运行时,能进行ETL任务的自动追赶。
5、根据权利要求1所述的记忆式调度方法,其特征是每个任务都可以对自身的运行情况进行自我评估。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100281042A CN101551811B (zh) | 2009-01-09 | 2009-01-09 | 用于实时数据etl系统的记忆式调度方法 |
US12/644,871 US8335758B2 (en) | 2009-01-09 | 2009-12-22 | Data ETL method applied to real-time data ETL system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100281042A CN101551811B (zh) | 2009-01-09 | 2009-01-09 | 用于实时数据etl系统的记忆式调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101551811A true CN101551811A (zh) | 2009-10-07 |
CN101551811B CN101551811B (zh) | 2011-04-27 |
Family
ID=41156058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100281042A Expired - Fee Related CN101551811B (zh) | 2009-01-09 | 2009-01-09 | 用于实时数据etl系统的记忆式调度方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8335758B2 (zh) |
CN (1) | CN101551811B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108121728A (zh) * | 2016-11-29 | 2018-06-05 | 北京京东尚科信息技术有限公司 | 从数据库抽取数据的方法和装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10133797B1 (en) | 2013-08-16 | 2018-11-20 | Amazon Technologies, Inc. | Distributed heterogeneous system for data warehouse management |
US11138220B2 (en) * | 2016-11-27 | 2021-10-05 | Amazon Technologies, Inc. | Generating data transformation workflows |
WO2019013824A1 (en) * | 2017-07-14 | 2019-01-17 | Hitachi, Ltd. | SYSTEM AND METHOD FOR ENHANCING AGILITY OF DATA ANALYSIS |
US20230244475A1 (en) * | 2022-01-28 | 2023-08-03 | International Business Machines Corporation | Automatic extract, transform and load accelerator for data platform in distributed computing environment |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7953891B2 (en) * | 2003-03-18 | 2011-05-31 | Microsoft Corporation | Systems and methods for scheduling data flow execution based on an arbitrary graph describing the desired data flow |
US7941397B2 (en) * | 2004-02-25 | 2011-05-10 | International Business Machines Corporation | Dynamically capturing data warehouse population activities for analysis, archival, and mining |
CN1897025B (zh) * | 2006-04-27 | 2011-02-02 | 南京联创科技集团股份有限公司 | 海量数据处理中多线程工作包并行的etl技术 |
CN1953490A (zh) * | 2006-09-06 | 2007-04-25 | 南京中兴软创科技有限责任公司 | 一种利用etl技术对计费数据进行抽取提供的方法 |
US20080222634A1 (en) * | 2007-03-06 | 2008-09-11 | Yahoo! Inc. | Parallel processing for etl processes |
EP2079020B1 (en) * | 2008-01-03 | 2013-03-20 | Accenture Global Services Limited | System amd method for automating ETL applications |
US8200614B2 (en) * | 2008-04-30 | 2012-06-12 | SAP France S.A. | Apparatus and method to transform an extract transform and load (ETL) task into a delta load task |
US20100280990A1 (en) * | 2009-04-30 | 2010-11-04 | Castellanos Maria G | Etl for process data warehouse |
-
2009
- 2009-01-09 CN CN2009100281042A patent/CN101551811B/zh not_active Expired - Fee Related
- 2009-12-22 US US12/644,871 patent/US8335758B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108121728A (zh) * | 2016-11-29 | 2018-06-05 | 北京京东尚科信息技术有限公司 | 从数据库抽取数据的方法和装置 |
CN108121728B (zh) * | 2016-11-29 | 2021-05-25 | 北京京东尚科信息技术有限公司 | 从数据库抽取数据的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US8335758B2 (en) | 2012-12-18 |
US20100180088A1 (en) | 2010-07-15 |
CN101551811B (zh) | 2011-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101551811B (zh) | 用于实时数据etl系统的记忆式调度方法 | |
CN104536811B (zh) | 基于hive任务的任务调度方法及装置 | |
CN104317650B (zh) | 一种面向Map/Reduce型海量数据处理平台的作业调度方法 | |
CN104937591B (zh) | 可变持续时间非事件模式匹配 | |
CN104468778B (zh) | 一种基于云服务的云制造执行系统及其制造执行方法 | |
CN110018893A (zh) | 一种基于数据处理的任务调度方法及相关设备 | |
CN107526645B (zh) | 一种通信优化方法及系统 | |
CN108287756A (zh) | 一种处理任务的方法及装置 | |
CN108062672A (zh) | 一种基于区块链智能合约的流程调度方法 | |
CN107220892B (zh) | 一种应用于海量p2p网贷金融数据智能预处理工具及方法 | |
CN109656963A (zh) | 元数据获取方法、装置、设备及计算机可读存储介质 | |
CN101567013A (zh) | 一种etl调度的实现方法及装置 | |
CN109345377A (zh) | 一种数据实时处理系统及数据实时处理方法 | |
CN101873334B (zh) | 一种状态驱动的可执行业务流程执行方法 | |
CN104636232B (zh) | 一种分布式服务系统的性能监控装置和方法 | |
CN108009258A (zh) | 一种可在线配置的数据采集与分析平台 | |
CN103593232B (zh) | 一种数据仓库的任务调度方法及装置 | |
CN112379884A (zh) | 基于Spark和并行内存计算的流程引擎实现方法及系统 | |
CN110278257A (zh) | 一种动态化配置分布式集群节点标签的方法 | |
CN105184452B (zh) | 一种适用于用电信息大数据计算的MapReduce作业依赖控制方法 | |
CN110287006A (zh) | 一种数据调度方法及系统 | |
CN103150164B (zh) | 一种事务规则驱动的敏捷sowf架构方法 | |
CN104346412A (zh) | 一种基于语义信息的rfid复杂事件处理方法 | |
CN104301134B (zh) | 软件设计中基于海量定时器的管理方法及系统 | |
CN102629352B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110427 |