一种etl调度的实现方法及装置的制造方法

文档序号:10471103阅读:227来源:国知局
一种etl调度的实现方法及装置的制造方法
【专利摘要】本发明实施例公开了一种ETL调度的实现方法及装置;其中,所述方法包括:建立待执行任务的依赖关系,基于所述依赖关系获得所述待执行任务的第一参数;所述第一参数用于表征所述待执行任务的后续总任务的计算量;获得所述待执行任务的第二参数,所述第二参数用于表征所述待执行任务的紧急程度;基于所述第一参数和所述第二参数按第一预设规则生成第三参数;确定满足第一预设条件且所述第三参数最大时,执行最大的第三参数对应的任务。
【专利说明】
-种ETL调度的实现方法及装置
技术领域
[0001] 本发明设及计算机技术,具体设及一种6化调度的实现方法及装置。
【背景技术】
[0002] 随着大数据时代的到来,数据分析受到了广泛的重视。作为数据分析的基础工作, 数据抽取、转换和加载巧化,Extract-Transform-Load)也越来越繁重。特别当数据来源广 泛,数据格式各异,数据内容千差万别时,E化的组织合理与否一定程度上影响数据分析的 及时性。
[0003] 现有技术的问题在于忽略了系统计算资源的有限性,没有提及调度任务在时间维 度的分布,特别是当任务数量巨大时,对于某一时刻如何从多个任务中选择并启动一个最 佳的任务,相关技术中,对于该问题,尚无有效解决方案。W至于虽然应用服务器资源得到 了充分运用,但调度任务没能按规定的时间点完成,无法满足业务上的需求。

【发明内容】

[0004] 为解决现有存在的技术问题,本发明实施例提供一种6化调度的实现方法及装 置,实现6化调度的优化,提升ETL的调度效率。 阳〇化]为达到上述目的,本发明实施例的技术方案是运样实现的:
[0006] 本发明实施例提供了一种6化调度的实现方法,所述方法包括:
[0007] 建立待执行任务的依赖关系,基于所述依赖关系获得所述待执行任务的第一参 数;所述第一参数用于表征所述待执行任务的后续总任务的计算量;
[0008] 获得所述待执行任务的第二参数,所述第二参数用于表征所述待执行任务的紧急 程度;
[0009] 基于所述第一参数和所述第二参数按第一预设规则生成第Ξ参数;
[0010] 确定满足第一预设条件且所述第Ξ参数最大时,执行最大的第Ξ参数对应的任 务。
[0011] 上述方案中,所述第一参数表征所述待执行任务后续链路任务的计算量总和;
[0012] 所述第一参数满足表达式为:ΣΣP灯l,Ti)ti{i声j,i,je(l,2,3,...,n)};
[0013] 其中,ΣΡ(Τι,Τ,Η,α声j,i,j e (l,2,3,...,n)}为所述待执行任务的后续链路 任务的计算量;P (Ti, Tj) = 1表示任务η依赖任务m,仅当任务m完成后任务η才能开始运 行;Ρ化,Τ,) = 0表示任务η不依赖任务m ;t,为任务j的历史运行时间的平均值;
[0014] 所述第二参数满足表达式为
[0015] 其中,t。胃为当前时间,tse为所述任务最迟起始执行时间。
[0016] 上述方案中,所述基于所述第一参数和所述第二参数按第一预设规则生成第Ξ参 数泡括:
[0017] 所述第Ξ参数Stask。满足表达式为:
[0018]
[0019] 其中,a和b为预设调节系数。
[0020] 上述方案中,所述满足第一预设条件,包括:
[0021] 当前已运行的任务量与待运行的任务量的总和小于预设任务运行量;
[0022] 和,当运行所述待执行任务后,所有任务占用的输入输出I/O带宽小于允许占用 的I/O带宽的极限值;
[0023] 和,当运行所述待执行任务后,所有任务需占用的中央处理器CPU的使用率小于 100%。
[0024] 上述方案中,所述任务最迟起始执行时间tse满足表达式为:
[00巧]tse〇= te η tn; 阳0%] 其中,te。表示任务η要求完成的最终时间;Τ。表示任务η的历史运行时间的平均 值;
[0027] 其中,所述表示任务η要求完成的最终时间te。满足表达式为: 阳028] te〇= Max ( Σ P (T i, Tj) t j U 声 j, i, j e (1, 2, 3, . . .,η)})。
[0029] 上述方案中,所述执行最大的第Ξ参数对应的任务之前,所述方法还包括:判断当 前时间是否晚于所述最大的第Ξ参数对应的任务的最早执行时间;确定所述当前时间晚 于所述最大的第Ξ参数对应的任务的最早执行时间时,执行所述最大的第Ξ参数对应的任 务。
[0030] 本发明实施例还提供了一种6化调度的实现装置,所述装置包括:建立单元、第一 获取单元、第二获取单元、生成单元和执行单元;其中,
[0031] 所述建立单元,用于建立待执行任务的依赖关系;
[0032] 所述第一获取单元,用于基于所述建立单元建立的所述依赖关系获得所述待执行 任务的第一参数;所述第一参数用于表征所述待执行任务的后续总任务的计算量;
[0033] 所述第二获取单元,用于获得所述待执行任务的第二参数,所述第二参数用于表 征所述待执行任务的紧急程度;
[0034] 所述生成单元,用于基于所述第一获取单元获得的所述第一参数和所述第二获取 单元获取的所述第二参数按第一预设规则生成第Ξ参数;
[0035] 所述执行单元,用于确定满足第一预设条件且所述生成单元生成的所述第Ξ参数 最大时,执行最大的第Ξ参数对应的任务。
[0036] 上述方案中,所述第一获取单元获取的所述第一参数表征所述待执行任务后续链 路任务的计算量总和;
[0037] 所述第一参数满足表达式为:Σ Σ Ρ 灯1,Tj) tj {i 声 j,i,j e (1,2, 3,...,η)};
[0038] 其中,EP(Ti,T,)t,{i声j,i,j e (l,2,3,...,n)}为所述待执行任务的后续链路 任务的计算量;P (Ti, Tj) = 1表示任务η依赖任务m,仅当任务m完成后任务η才能开始运 行;Ρ化,Τ,) = 0表示任务η不依赖任务m ;t,为任务j的历史运行时间的平均值;
[0039] 所述第二获取单元获取的所述第二参数满足表达式为
[0040] 其中,t。胃为当前时间,tse为所述任务最迟起始执行时间。
[0041] 上述方案中,所述生成单元生成的所述第Ξ参数Stask。满足表达式为:
[0042]
[0043] 其中,a和b为预设调节系数。 阳044] 上述方案中,所述执行单元,用于确定当前已运行的任务量与待运行的任务量的 总和小于预设任务运行量;和,当运行所述待执行任务后,所有任务占用的输入输出I/O带 宽小于允许占用的I/O带宽的极限值;和,当运行所述待执行任务后,所有任务需占用的中 央处理器CPU的使用率小于100%时,且所述生成单元生成的所述第Ξ参数最大时,执行最 大的第Ξ参数对应的任务。
[0045] 上述方案中,所述任务最迟起始执行时间tse满足表达式为:
[0046] tse〇= te η tn;
[0047] 其中,te。表示任务η要求完成的最终时间;Τ。表示任务η的历史运行时间的平均 值;
[0048] 其中,所述表示任务η要求完成的最终时间te。满足表达式为: 阳049] te〇= Max ( Σ P (T i, Tj) t j U 声 j, i, j e (1, 2, 3, . . .,η)})。
[0050] 上述方案中,所述执行单元,还用于执行最大的第Ξ参数对应的任务之前,判断当 前时间是否晚于所述最大的第Ξ参数对应的任务的最早执行时间;确定所述当前时间晚 于所述最大的第Ξ参数对应的任务的最早执行时间时,执行所述最大的第Ξ参数对应的任 务。
[0051] 本发明实施例提供的6化调度的实现方法及装置,通过建立待执行任务的依赖关 系,基于所述依赖关系获得所述待执行任务的第一参数;所述第一参数用于表征所述待执 行任务的后续总任务的计算量;获得所述待执行任务的第二参数,所述第二参数用于表征 所述待执行任务的紧急程度;基于所述第一参数和所述第二参数按第一预设规则生成第Ξ 参数;确定满足第一预设条件且所述第Ξ参数最大时,执行最大的第Ξ参数对应的任务。如 此,采用本发明实施例的技术方案,基于任务之间的依赖关系,通过任务的紧急程度和所述 任务的后续依赖任务的运行时间运两个维度对6化调度进行优化,在保证任务即时运行的 情况下充分利用资源,避免了后续的任务无法按时完成,一方面解决了分析系统数据处理 的及时性问题,为业务部口提供服务,尽早发现生产经营中存在的问题,及时调整策略,适 应市场;另一方面可W在满足生产需求的前提下,充分发挥经营分析系统产能,减少系统建 设投入;此外,还会明显降低人工维护系统、组织安排调度所投入的人力成本,提升复杂调 度系统的易用性。
【附图说明】
[0052] 图1为本发明实施例的mi调度的实现方法的流程示意图;
[0053] 图2为本发明实施例中任务间的依赖关系示意图;
[0054] 图3为本发明实施例的mi调度的实现装置的组成结构示意图。
【具体实施方式】
[0055] 下面结合附图及具体实施例对本发明作进一步详细的说明。
[0056] 本发明实施例提供了一种mi调度的实现方法。图1为本发明实施例的mi调度 的实现方法的流程示意图;如图1所示,所述方法包括:
[0057] 步骤101 :建立待执行任务的依赖关系,基于所述依赖关系获得所述待执行任务 的第一参数;所述第一参数用于表征所述待执行任务的后续总任务的计算量。
[0058] 本实施例中,首先建立依赖关系模型,所述依赖关系模型为待执行的所有任务之 间的依赖关系模型。任务间存在着错综复杂的依赖关系,一个调度可被多个任务依赖,一个 任务可能需要依赖多个任务。一方面,当一个任务完成时,会通知后续任务开始执行。另一 方面,当前置任务全部完成时,当前任务才能够开始执行。另外,整个任务链条由起始任务 完成后的接口数据到达时触发执行。图2为本发明实施例中任务间的依赖关系示意图;如 图2所示,任务1被后续多个任务所依赖,任务8的生成取决于前置任务1、任务4、任务5 和任务6。
[0059] 具体的,化sk。为待运行的第η个任务,则化sk。与其运行时间W及自身与其他任 务的依赖关系相关;Task。满足的表达式如公式(1)所示: W60] Taskn= {Tn,Rn} (D
[0061] 其中,Τ。表示任务η的历史运行时间的平均值;R。表示任务η与其他任务的关系;
[0062] 其中,满足的表达式如公式似所示:
[0063] Rn= {Ρ (Τ m, Τη) I m, η e (1, 2,. . . , Ζ), m 声 η} 似 W64] 其中,当P(Tm, Τ。)= 1时,表示任务η依赖任务m,仅当任务m完成后任务η才能 开始运行;当Ρ (Tm,Τ。)= 0时,表示任务η不依赖任务m。
[0065] 本步骤中,所述待执行任务的第一参数为所述待执行任务的后续总任务的计算 量,即后续链路任务的计算量总和;W图2中所述的任务5为例,所述任务5的后续任务包 括任务6、任务8、任务9和任务10,则所述任务5的后续总任务的计算量为所述任务6、任 务8、任务9和任务10的计算量;当所述待执行任务的后续总任务的计算量越大,说明为所 述待执行任务预留的执行时间应该越长,则所述待执行任务应尽早执行。基于上述依赖模 型,所述第一参数满足公式(3)所示:
[0066] Σ Σ P 化,Tj) t j a 声 j,i,j e (1,2, 3,...,η)} 做
[0067] 其中,ΣΡ(Τι,Τ,Η,α声j,i,j e (l,2,3,...,n)}为所述待执行任务的后续链路 任务的计算量;P (Ti, Tj) = 1表示任务η依赖任务m,仅当任务m完成后任务η才能开始运 行;Ρ化,Tj) = 0表示任务η不依赖任务m ;tj为任务j的历史运行时间的平均值。其中, 所述待执行任务的后续链路任务的计算量与后续链路任务的的历史平均运行时间t,相关, 则可W理解为,所述后续链路任务的计算量为所述后续链路任务的运行时间。
[0068] 步骤102 :获得所述待执行任务的第二参数,所述第二参数用于表征所述待执行 任务的紧急程度。
[0069] 本实施例中,所述表征所述待执行任务的紧急程度的第二参数如公式(4)表示:
[0070]
(4)
[00川公式(4)中,t。胃为当前时间,tse为所述任务最迟起始执行时间,则tse-t。胃为所 述任务最迟起始执行时间与当前时间之间的时间差,所述时间差越小,说明对应任务需执 行的紧急程度越大;相应的所述时间差越小,则公式(4)表征的所述第二参数的数值则越 大。
[0072] 本实施例中,每一个任务的完成时间存在最终期限;任务可早于所述最终期限完 成,但不可晚于所述最终期限完成。结合步骤101中所述的依赖关系模型,所述最终期限Te 的表达式如公式(5)所示:
[0073] Te = {tei, ?θ2, te], . . . , tej 妨
[0074] 其中,te。表示任务η要求完成的最终时间,即所述任务η不能晚于te。完成,否则 后续的任务将无法按时完成。则某一任务的后续任务所需的运行时间总和为: W75] Σ P(T,,Tj)tj{i ^ j,i, j e (1,2, 3,...,η)} (6)
[0076] 其中,公式化)中所示的1至η表示所述任务后的1至η个任务。则所述任务η 要求完成的最终时间te。为所述任务η后续各任务的运行时间之和的最大值;则te。的表达 式如公式(7)所示: 阳077] ten= Max ( Σ P 灯 1,Tj) t j a 声 j,i,j e (1,2, 3, . . .,η)}) (7)
[0078] 基于公式(7),则所述任务最迟起始执行时间tse的表达式如公式(8)所示: 阳0巧]tse〇= te n_tn 做
[0080] 其中,tse。表不任务η最迟起始执行时间;te。表不任务η要求完成的最终时间; Τ。表示任务η的历史运行时间的平均值。
[0081] 步骤103 :基于所述第一参数和所述第二参数按第一预设规则生成第Ξ参数。
[0082] 本实施例中,所述基于所述第一参数和所述第二参数按第一预设规则生成第Ξ参 数泡括:
[0083] 所述第Ξ参数Stask满足的表达式如公式(9)所示:
[0084]
(9)
[00化]其中,a和b为预设调节系数,可根据实际情况或经验值预先设定;Staskn 为任务η的第Ξ参数;一--为步骤102中生成的所述第二参数;Σ Σ Ρ化,Τ,) .tse - tmw t, a声j,i,j e (1,2, 3,...,η)}为步骤101中获得的所述第一参数。
[0086] 从公式巧)中可W看出,所述第Ξ参数与表征待执行任务的紧急程度的第二参数 和表征待执行任务的后续总任务的计算量的第一参数相关;所述第二参数越大,说明当前 时间距离所述待实行任务的最迟起始执行时间越近,即紧急程度越大;所述第一参数越大, 说明所述待执行任务的后续链路任务的总的计算量越大,需要的时间也越多;因此,对于所 有待执行任务,获得每个待执行任务的Stask值,将获得的Stask值由大到小排列,Stask值 越大,对应的任务需要尽早运行。
[0087] 步骤104 :确定满足第一预设条件且所述第Ξ参数最大时,执行最大的第Ξ参数 对应的任务。
[0088] 本实施例中,Task。所需系统资源主要由两部分构成:一部分为系统输入输出(1/ 0,1吨ut/Ou化ut)资源;另一部分由任务所占用的CPU资源。基于将系统资源得到充分的、 高效的运用,步骤104中,所述满足第一预设条件,包括:
[0089] 当前已运行的任务量与待运行的任务量的总和小于预设任务运行量;
[0090] 和,当运行所述待执行任务后,所有任务占用的输入输出I/O带宽小于允许占用 的I/O带宽的极限值;
[0091] 和,当运行所述待执行任务后,所有任务需占用的中央处理器(CPU)的使用率小 于 100%。
[0092] 其中,所述当前已运行的任务量与待运行的任务量的总和小于预设任务运行量满 足公式(10)所示:
[0093] Prun+Pstart<Pmax (10) 阳094] 其中,Prim表示当前运行的任务数量;Pstart表示待运行的任务数量;Pmax表示 允许运行的任务总量;
[0095] 所述当运行所述待执行任务后,所有任务占用的输入输出I/O带宽小于允许占用 的I/O带宽的极限值满足公式(11)所示:
[0096]
(11) 阳097] 其中,Sused表示当前运行任务已占用的I/O带宽;Rread康示任务i需要占用 的I/O带宽
表示待运行的η个任务需要占用的I/O带宽的总和; Sreadmax表示允许占用的I/O带宽的极限值;
[0098] 所述当运行所述待执行任务后,所有任务需占用的中央处理器(CPU)的使用率小 于100%满足公式(12)所示:
[0099]
(12,) 阳1〇0] 其中,Dcpuused表示当前CPU的使用率;Tcpu康示任务i需要占用的CPU的计算 时间;TcpUi/ (tei-tnow)表示任务i在运行时间内的CPU使用率
表示 待运行的η个任务在运行时间内的CPU的使用率的总和。 阳101] 也就是说,所述满足第一预设条件为:运行的任务量应小于预设的任务运行量,并 且运行任务需要占用的I/O带宽应小于许占用的I/O带宽的极限值,并且运行任务需占用 的CPU使用率应小于100%。在满足上述第一预设条件下,筛选出满足所述第一预设条件的 Μ个任务,再基于所述Μ个任务的Stask值优先选择所述Stask值最大的任务运行。
[0102] 采用本发明实施例的技术方案,基于任务之间的依赖关系,通过任务的紧急程度 和所述任务的后续依赖任务的运行时间运两个维度对mi调度进行优化,在保证任务即时 运行的情况下充分利用资源,避免了后续的任务无法按时完成,一方面解决了分析系统数 据处理的及时性问题,为业务部口提供服务,尽早发现生产经营中存在的问题,及时调整策 略,适应市场;另一方面可W在满足生产需求的前提下,充分发挥经营分析系统产能,减少 系统建设投入;此外,还会明显降低人工维护系统、组织安排调度所投入的人力成本,提升 复杂调度系统的易用性。 阳103] 依据本发明实施例的另一实施例,所述执行最大的第Ξ参数对应的任务之前,所 述方法还包括:判断当前时间是否晚于所述最大的第Ξ参数对应的任务的最早执行时间; 确定所述当前时间晚于所述最大的第Ξ参数对应的任务的最早执行时间时,执行所述最大 的第Ξ参数对应的任务。
[0104] 在本实施例中,每一个任务还存在一个最早执行时间;任务可晚于所述最早执行 时间开始执行,但不可早于所述最早执行时间执行。具体的,任务的最早执行时间由前置依 赖任务的完成情况决定;当所述前置依赖任务全部完成时,所述任务即可触发执行。因此, 所述任务的最早执行时间可基于所述前置依赖任务完成的接口数据到达时间W及所述前 置依赖任务的完成情况获得。
[01化]具体的,所述任务的最早执行时间的表达式满足公式(13)所示: 阳 106] ts = {tsi, ts2,…tsj (13) 阳107] 其中,ts。表示任务η最早执行时间,即所述任务η不能早于Ts。执行。则某一任 务的前置依赖任务所需的运行时间总和为:
[0108] Σ P(T"Tj)tj{i ^ j,i, j e (1,2, 3,...,η)} (14)
[0109] 其中,公式(14)中所示的1至η表示所述任务之前的1至η个任务。则所述任务 η的最早执行时间tsn为所述任务η的前置依赖任务的运行时间之和的最大值;则tsn的 表达式如公式(15)所示: 阳 110] tSn=Max( Σ Pa'i'TiHjU 声 j,i,j e (l,2,3,...,n)}) (巧) 阳111] 基于步骤101至步骤104所述的mi调度的实现方法,在实际应用中,具体的ETL 调度过程包括W下步骤:
[0112] 步骤一:获得任务的依赖关系,计算每个任务的最早执行时间ts。
[0113] 运里,所述最早执行时间ts的计算过程可如上述方法获得,运里不再寶述。
[0114] 步骤二:确定此时允许运行的任务总量Pmax。
[0115] 步骤Ξ :检查当前的待运行任务量P,当P < Pmax时,执行步骤四,否则,不执行任 何操作。
[0116] 步骤四:依据公式(9)计算所有待运行任务的第Ξ参数Stask,并筛选出满足公式 (10)至公式(12)所示条件的待运行任务,将满足所述条件的待运行任务按所述第Ξ参数 Stask由大到小进行排序,按顺序依次运行待运行任务。
[0117] 步骤五:定时监测是否有任务运行结束。当没有任务运行结束时,不做任务处理; 当有任务运行结束时,记录所述任务运行时长到历史表,并重新执行步骤二。
[0118] 本发明实施例还提供了一种6化调度的实现装置。图3为本发明实施例的mi调 度的实现装置的组成结构示意图;如图3所示,所述装置包括:建立单元31、第一获取单元 32、第二获取单元33、生成单元34和执行单元35 ;其中,
[0119] 所述建立单元31,用于建立待执行任务的依赖关系;
[0120] 所述第一获取单元32,用于基于所述建立单元31建立的所述依赖关系获得所述 待执行任务的第一参数;所述第一参数用于表征所述待执行任务的后续总任务的计算量; 阳121] 所述第二获取单元33,用于获得所述待执行任务的第二参数,所述第二参数用于 表征所述待执行任务的紧急程度;
[0122] 所述生成单元34,用于基于所述第一获取单元32获得的所述第一参数和所述第 二获取单元33获取的所述第二参数按第一预设规则生成第Ξ参数;
[0123] 所述执行单元35,用于确定满足第一预设条件且所述生成单元34生成的所述第 Ξ参数最大时,执行最大的第Ξ参数对应的任务。
[0124] 本实施例中,所述第一获取单元32获取的所述第一参数表征所述待执行任务后 续链路任务的计算量总和; 阳125] 所述第一参数满足表达式为:ΣΣP灯l,Ti)ti{i声j,i,je(l,2,3,...,n)}; 阳126] 其中,ΣP灯l,Ti)ti{i声j,i,je(l,2,3,...,n)}为所述待执行任务的后续链路 任务的计算量;P灯1,Tj) = 1表示任务η依赖任务m,仅当任务m完成后任务η才能开始运 行;Ρ化,Τ,) = 0表示任务η不依赖任务m ;t,为任务j的历史运行时间的平均值; 阳127] 所述第二获取单元33获取的所述第二参数满足表达式为
[0128] 其中,t。胃为当前时间,tse为所述任务最迟起始执行时间。
[0129] 所述任务最迟起始执行时间tse满足表达式为: 阳 130] tse"= te " t"; 阳131] 其中,te。表示任务η要求完成的最终时间;Τ。表示任务η的历史运行时间的平均 值; 阳132] 其中,所述表示任务η要求完成的最终时间te。满足表达式为: 阳 1;33] ten=Max( Σ PO'i'TiHjU 声 j,i,j e (l,2,3,...,n)})。
[0134] 本实施例中,所述生成单元34生成的所述第Ξ参数Stask。满足表达式为: 阳 135]
[0136] 其中,a和b为预设调节系数。 阳137] 本实施例中,所述执行单元35,用于确定当前已运行的任务量与待运行的任务量 的总和小于预设任务运行量;和,当运行所述待执行任务后,所有任务占用的输入输出I/O 带宽小于允许占用的I/O带宽的极限值;和,当运行所述待执行任务后,所有任务需占用的 中央处理器CPU的使用率小于100%时,且所述生成单元34生成的所述第Ξ参数最大时,执 行最大的第Ξ参数对应的任务。
[0138] 依据本实施例的另一实施例,所述执行单元35,还用于执行最大的第Ξ参数对应 的任务之前,判断当前时间是否晚于所述最大的第Ξ参数对应的任务的最早执行时间;确 定所述当前时间晚于所述最大的第Ξ参数对应的任务的最早执行时间时,执行所述最大的 第Ξ参数对应的任务。
[0139] 本领域技术人员应当理解,本发明实施例的mi调度的实现装置中各处理单元的 功能,可参照前述6化调度的实现方法的相关描述而理解,本发明实施例的mi调度的实现 装置中各处理单元,可通过实现本发明实施例所述的功能的模拟电路而实现,也可W通过 执行本发明实施例所述的功能的软件在智能终端上的运行而实现。
[0140] 在本发明实施例中,所述mi调度的实现装置中的建立单元31、第一获取单元32、 第二获取单元33、生成单元34和执行单元35,在实际应用中均可由所述mi调度的实现 装置中的中央处理器(CPU, Central Processing Unit)、数字信号处理器值SP,Digital Si即al Processor)或可编程口阵列(FPGA,Field -Programm油le Gate Array)实现。 阳141] 本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序 产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形 式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储 介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0142] 本发明是参照根据本发明实施例的方法、装置、和计算机程序产品的流程图和/ 或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和 /或方框、W及流程图和/或方框图中的流程和/或方框的结合。可提供运些计算机程序指 令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器W产生 一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现 在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0143] 运些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备W特 定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或 多个方框中指定的功能。
[0144] 运些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计 算机或其他可编程设备上执行一系列操作步骤W产生计算机实现的处理,从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图 一个方框或多个方框中指定的功能的步骤。
[0145] W上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
【主权项】
1. 一种数据抽取、转换和加载ETL调度的实现方法,其特征在于,所述方法包括: 建立待执行任务的依赖关系,基于所述依赖关系获得所述待执行任务的第一参数;所 述第一参数用于表征所述待执行任务的后续总任务的计算量; 获得所述待执行任务的第二参数,所述第二参数用于表征所述待执行任务的紧急程 度; 基于所述第一参数和所述第二参数按第一预设规则生成第三参数; 确定满足第一预设条件且所述第三参数最大时,执行最大的第三参数对应的任务。2. 根据权利要求1所述的方法,其特征在于,所述第一参数表征所述待执行任务后续 链路任务的计算量总和; 所述第一参数满足表达式为:Σ Σ P (1 η) t」U辛j,i,j e (1,2, 3, · · ·,η)}; 其中,Σ Pd 乒j,i,j e (1,2, 3,...,n)}为所述待执行任务的后续链路任务 的计算量;P⑴,TJ = 1表示任务η依赖任务m,仅当任务m完成后任务η才能开始运行; Pd Τ,) = 0表示任务η不依赖任务m 为任务j的历史运行时间的平均值; 所述第二参数满足表达式为其中,t_为当前时间,tse为所述任务最迟起始执行时间。3. 根据权利要求2所述的方法,其特征在于,所述基于所述第一参数和所述第二参数 按第一预设规则生成第三参数;包括: 所述第三参数Staskn满足表达式为:其中,a和b为预设调节系数。4. 根据权利要求1所述的方法,其特征在于,所述满足第一预设条件,包括: 当前已运行的任务量与待运行的任务量的总和小于预设任务运行量; 和,当运行所述待执行任务后,所有任务占用的输入输出I/O带宽小于允许占用的I/O 带宽的极限值; 和,当运行所述待执行任务后,所有任务需占用的中央处理器CPU的使用率小于 100%〇5. 根据权利要求2所述的方法,其特征在于,所述任务最迟起始执行时间tse满足表达 式为: tsen= te n tn; 其中,仏"表示任务n要求完成的最终时间;T "表示任务n的历史运行时间的平均值; 其中,所述表示任务η要求完成的最终时间ten满足表达式为: ten= Max ( Σ P (T i,T) t j {i 乒 j,i,j e (1,2, 3, · · ·,η)})。6. 根据权利要求1所述的方法,其特征在于,所述执行最大的第三参数对应的任务之 前,所述方法还包括:判断当前时间是否晚于所述最大的第三参数对应的任务的最早执行 时间;确定所述当前时间晚于所述最大的第三参数对应的任务的最早执行时间时,执行所 述最大的第三参数对应的任务。7. -种ETL调度的实现装置,其特征在于,所述装置包括:建立单元、第一获取单元、第 二获取单元、生成单元和执行单元;其中, 所述建立单元,用于建立待执行任务的依赖关系; 所述第一获取单元,用于基于所述建立单元建立的所述依赖关系获得所述待执行任务 的第一参数;所述第一参数用于表征所述待执行任务的后续总任务的计算量; 所述第二获取单元,用于获得所述待执行任务的第二参数,所述第二参数用于表征所 述待执行任务的紧急程度; 所述生成单元,用于基于所述第一获取单元获得的所述第一参数和所述第二获取单元 获取的所述第二参数按第一预设规则生成第三参数; 所述执行单元,用于确定满足第一预设条件且所述生成单元生成的所述第三参数最大 时,执行最大的第三参数对应的任务。8. 根据权利要求7所述的装置,其特征在于,所述第一获取单元获取的所述第一参数 表征所述待执行任务后续链路任务的计算量总和; 所述第一参数满足表达式为:Σ Σ P (1 η) t」U辛j,i,j e (1,2, 3, · · ·,η)}; 其中,Σ Pd 乒j,i,j e (1,2, 3,...,n)}为所述待执行任务的后续链路任务 的计算量;P⑴,TJ = 1表示任务η依赖任务m,仅当任务m完成后任务η才能开始运行; Pd Τ,) = 0表示任务η不依赖任务m 为任务j的历史运行时间的平均值; 所述第二获取单元获取的所述第二参数满足表达式为:其中,t_为当前时间,tse为所述任务最迟起始执行时间。9. 根据权利要求8所述的装置,其特征在于,所述生成单元生成的所述第三参数 Staskn满足表达式为:其中,a和b为预设调节系数。10. 根据权利要求7所述的装置,其特征在于,所述执行单元,用于确定当前已运行的 任务量与待运行的任务量的总和小于预设任务运行量;和,当运行所述待执行任务后,所有 任务占用的输入输出I/O带宽小于允许占用的I/O带宽的极限值;和,当运行所述待执行任 务后,所有任务需占用的中央处理器CPU的使用率小于100%时,且所述生成单元生成的所 述第三参数最大时,执行最大的第三参数对应的任务。11. 根据权利要求8所述的装置,其特征在于,所述任务最迟起始执行时间tse满足表 达式为: tsen= te n tn; 其中,仏"表示任务n要求完成的最终时间;T "表示任务n的历史运行时间的平均值; 其中,所述表示任务η要求完成的最终时间ten满足表达式为: ten= Max ( Σ P (T i,T) t j {i 乒 j,i,j e (1,2, 3, · · ·,η)})。12. 根据权利要求7所述的装置,其特征在于,所述执行单元,还用于执行最大的第三 参数对应的任务之前,判断当前时间是否晚于所述最大的第三参数对应的任务的最早执行 时间;确定所述当前时间晚于所述最大的第三参数对应的任务的最早执行时间时,执行所 述最大的第三参数对应的任务。
【文档编号】G06F9/48GK105824809SQ201510001683
【公开日】2016年8月3日
【申请日】2015年1月4日
【发明人】李秀清, 赵景科, 侯晓冲, 高梦娇
【申请人】中国移动通信集团河北有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1