[发明专利]一种数据仓库的自适应动态调度方法及系统有效
| 申请号: | 201810285072.3 | 申请日: | 2018-04-02 |
| 公开(公告)号: | CN108509603B | 公开(公告)日: | 2019-01-29 |
| 发明(设计)人: | 房鹏展;陈静 | 申请(专利权)人: | 焦点科技股份有限公司 |
| 主分类号: | G06F16/28 | 分类号: | G06F16/28;G06F16/25 |
| 代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 陈建和 |
| 地址: | 210003 江苏省南京市高新*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 一种数据仓库的自适应动态调度方法及系统,包括如下步骤:步骤一:定义ETL任务优先函数F(E),计算每个ETL任务对应的F(E),F(E)衡量ETL任务的调度优先度,优先度大的ETL任务则需要优先执行。步骤二:定义ETL任务可执行标记R(E),根据ETL中表依赖关系及表状态日志初始化R(E)。ETL任务可执行需其依赖的所有表都已成功执行,否则需继续等待。步骤三:针对R(E)中可执行的ETL,选择F(E)最大的ETL任务并启动任务。步骤四:任务完成后,更新相关元数据表,计算待执行ETL任务对应的R(E),并循环步骤三、步骤四,直到所有的任务都执行完毕。本发明先根据元数据表信息计算每个ETL任务的调度优先度,大大降低了ETL任务的总调度时间。 | ||
| 搜索关键词: | 可执行 优先度 动态调度 数据仓库 自适应 调度 数据表信息 任务完成 循环步骤 依赖关系 优先执行 状态日志 初始化 衡量 更新 成功 | ||
【主权项】:
1.一种数据仓库的自适应动态调度方法,其特征在于,包括如下步骤:步骤一:定义ETL任务优先函数F(E),计算每个ETL任务对应的F(E),用F(E)衡量ETL任务的调度优先度,调度优先度高的ETL任务则需要优先执行;所述步骤一中,包括如下表字段:![]()
![]()
![]()
![]()
其中表权重,根据项目的级别来确定,项目级别越高,权重越高,下面是对于第i个ETL任务,如何计算优先函数F(Ei):1)对于第i个ETL任务Ei来说,根据表和ETL对应关系,得到Ei处理的是Ti表;2)根据表依赖关系,得到k1个表Tik1,是依赖Ti表的,也就是说,这k1个表对应的ETL需要等Ti表更新完才能执行,从表权重中得到Tik1权重分别为Wik1,权重相加和为Wi1,这个是第一层依赖(直接依赖)的表权重之和;3)对于这Tik1个表,可以得到k2个表Tik2是依赖Tik1,也就是间接依赖Ti表,这里称为第二层依赖,Tik2表权重之和为Wi2;4)按照第3步,依次循环下去,得到最后一层(第s层)依赖表的权重和Wis;5)将每一层依赖表的权重和相加得到W(Ei)=Wi1+Wi2+…+Wis;6)通过ETL执行日志,可以计算Ei最近n天的平均执行时间T(Ei),等于最近n天结束时间减去开始时间的平均值;7)定义F(Ei)=W(Ei)/T(Ei),也就是被依赖权重越高、执行时间越短的优先;步骤二:定义ETL任务可执行标记R(E),根据ETL中表依赖关系及表状态日志初始化R(E),ETL任务可执行需要其依赖的所有表都已成功执行,否则需继续等待;所述步骤二中,计算第i个ETL任务Ei可执行标记R(Ei),从表依赖关系中,得到Ti依赖k个表RTik,从表状态日志中,获取RTik是否更新成功,如都已经更新成功,则R(Ei)为1,否则为0;步骤三:针对R(E)中可执行的ETL任务,选择F(E)最大的ETL任务并启动任务;步骤四:任务完成后,更新相关元数据表,计算待执行ETL任务对应的R(E),并循环步骤三、步骤四,直到所有的任务都执行完毕;所述步骤四中,相关元数据表包括表状态日志、ETL执行日志等等,其中,表状态日志插入每个表每天更新的时间以及是否更新成功的标记等信息,ETL执行日志插入每个ETL执行的开始时间、结束时间、成功标记等信息。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于焦点科技股份有限公司,未经焦点科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810285072.3/,转载请声明来源钻瓜专利网。
- 上一篇:一种污水智能监测系统
- 下一篇:一种多个标签页之间共享数据duke组的方法





