批次调度系统 batch-scheduler

MIT
Java HTML/CSS
跨平台
2017-06-22
zhanwei

batch-scheduler项目简介

这是一个企业级批次调度系统, 在成熟的spring框架基础上,实现ETL调度服务. 权限管理部分,采用asofdate hauth项目. batch-schduler与常见的任务调度系统侧重点不同,这个系统设计的初衷,是解决大批量存在依赖关系得任务调度。并不是为了解决定时任务调度。所以,batch-scheduler系统与通常的定时任务调度系统存在一些差异。

引用组件

  1. spring-boot spring社区中一款优秀的快速开发框架

  2. spring-batch 一款非常优秀的批处理框架

  3. spring-security 用户认证管理

  4. quartz 调度器

主要功能点介绍

调度服务主要业务流程

批次     任务组     job信息
batch 包含 group 包含 job
批次中多个group需要设置依赖关系,否则并行执行
任务组中多个job需要设置依赖关系,否则并行执行

 

ETL调度系统,最小的调度单元job,job可以是下边几种类型:

> 数据库存储过程 (已实现,单元测试完成,通过)
> shell脚本 (已实现,单元测试完成,通过)
> CMD批次处理脚本 (已实现,单元测试完成,通过)
> 二进制可执行程序 (已实现,未测试)
> JAR可执行文件 (已实现,未测试)

 

在job之上是任务组, 任务组是对任务的一个打包处理, 同一个任务,可以被任务组包含多次. 任务组内对每个job设置上下依赖关系,ETL调度引擎,会根据依赖关系执行job.

在任务组之上是批次, 同一任务组,在一个批次中可以配置多次, 调度引擎,会根据任务组的依赖关系,解析依赖,执行任务组中的job.

当一个批次被运行起来时, 会首先解析批次中的任务组依赖关系, 根据依赖关系, 找到最顶层的任务组,如果顶层是多个任务组,则并发启动多个任务组. 任务组被启动后,调度引擎会解析任务组中的任务依赖关系,执行任务组中最顶层的job,当上一个job执行完成后,将会自动触发下一个job, 当一个任务组中的job全部执行完成后,任务组状态被设置成"已完成", 调度器将会解析下一个可以运行的任务组. 按照这个执行逻辑,直到所有的任务组中任务执行完成. 当所有任务执行完成后,调度器退出调度.

注意:一旦出现某个job执行失败,调度器将会停止调度这个批次. 其他正常运行的批次不受影响.

项目主要功能图: 

加载中

评论(2)

shmilu
shmilu
若若问下 代码可用么
老衲大海
国产开源作业调度工具TASKCTL已经开源,可关注:https://www.oschina.net/p/taskctl 了解更多。

暂无资讯

暂无问答

数据仓库技术概述(一看就是架构师写的,对我极其有用)

ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、交互转换(transform)、加载(load)至目的端的过程。ETL一词较常用在...

06/21 14:12
59
0
ELT vs ETL

一篇讲述非常清楚的博文。特转放于此,供路过的朋友共享。翻译太麻烦了,不过如果有朋友需要,欢迎留言,共同翻译,共同讨论。 So what is better, ETL or ELT? Vincent McBurney (IBM Infor...

2010/05/17 20:03
1K
0
什么是ETL

ETL讲解(很详细!!!) ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。 ETL是...

04/27 20:48
25
0
003.hive数据仓库-职业方向的定位

有时候:真的别慌张盲目的入职,就像恋爱一下、思考自己适合什么。 今天去美团的一次面试 说说收获: (不管别人画的是否正确,表示很感谢) 1.有了一个稍微清晰一点的方向吧 2.认清了自己从事...

2016/05/09 22:48
108
2
kettle的技巧

kettle的技巧

2015/09/25 23:28
454
0
大数据核心 ETL

前几篇文章都是根据自己所见所知,在前人的基础上加以整合,对大数据概念有了初步的了解。接下来的四篇文章,抛开大数据的概念与基本知识,进入核心。我们从:数据采集、数据存储、数据管理、...

2016/11/25 11:50
598
0
大数据技术核心之ETL

前几篇文章都是根据自己所见所知,在前人的基础上加以整合,对大数据概念有了初步的了解。接下来的四篇文章,抛开大数据的概念与基本知识,进入核心。我们从:数据采集、数据存储、数据管理、...

2014/12/09 00:06
77
0
ETL面试题

1. What is a logical data mapping and what does it mean to the ETL team? 什么是逻辑数据映射?它对ETL项目组的作用是什么? 答:逻辑数据映射(Logical Data Map)用来描述源系统的数据...

2016/11/09 20:05
23
0
crontab的技巧

在crontab中是不执行环境变量的,所以这里要手动运行一下获取变量

2015/09/25 23:27
18
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部