【技术实现步骤摘要】
一种分布式复杂任务调度方法
本专利技术属于分布式调度
,具体涉及一种分布式复杂任务调度方法。
技术介绍
在任务调度领域比较著名的产品有:quartz,xxl-job等。但是这些任务调度产品的应用场景主要是:任务的定时调度,即到达任务的执行时间自动触发任务执行或者配置任务的周期性自动执行。xxl-job通过将把集群的节点分为调度中心和执行节点进行分布式调度,然而没有解决在调度中各子任务之间存在逻辑上的先后关系,逻辑关系在前的任务必须先调度的问题以及如何将多个子任务组合生成一个复杂任务并对外提供一个整体的接口服务的问题。
技术实现思路
本专利技术所要解决的技术问题是克服现有技术的不足,提供一种分布式复杂任务调度方法,将复杂业务的开发流程模板化,可以极大提升开发效率。本专利技术提供一种分布式复杂任务调度方法,包括如下步骤,步骤S1、利用任务树来定义复杂任务,任务树中各节点的层次关系代表任务的依赖关系,并将任务树分为普通任务树和层次任务树;步骤S2、根据规则引擎生成任务树的构建模板, ...
【技术保护点】
1.一种分布式复杂任务调度方法,其特征在于,包括如下步骤,/n步骤S1、利用任务树来定义复杂任务,任务树中各节点的层次关系代表任务的依赖关系,并将任务树分为普通任务树和层次任务树;/n步骤S2、根据规则引擎生成任务树的构建模板,通过构建模板自顶向下逐层构建任务树,任务树中个每个节点都有一个唯一的ID;并将任务树持久化存储到关系数据库中;/n步骤S3、采用分布式架构将调度集群中的节点分为主节点和普通节点,主节点分发调度队列中的任务信息,通过消息队列发送给普通节点;普通节点负责执行任务信息,并将任务执行结果通过消息队列发送给主节点;/n步骤S4、当调度过程中某个任务节点执行失败 ...
【技术特征摘要】
1.一种分布式复杂任务调度方法,其特征在于,包括如下步骤,
步骤S1、利用任务树来定义复杂任务,任务树中各节点的层次关系代表任务的依赖关系,并将任务树分为普通任务树和层次任务树;
步骤S2、根据规则引擎生成任务树的构建模板,通过构建模板自顶向下逐层构建任务树,任务树中个每个节点都有一个唯一的ID;并将任务树持久化存储到关系数据库中;
步骤S3、采用分布式架构将调度集群中的节点分为主节点和普通节点,主节点分发调度队列中的任务信息,通过消息队列发送给普通节点;普通节点负责执行任务信息,并将任务执行结果通过消息队列发送给主节点;
步骤S4、当调度过程中某个任务节点执行失败时,整个任务树的调度会中止,对于调度失败的任务,可以执行人工操作。
2.根据权利要求1所述的一种分布式复杂任务调度方法,其特征在于,所述普通任务树的节点分为根任务、中间任务和原子任务,所述根任务为任务树的根节点,是所有的任务树中最后被执行的任务;所述原子任务为任务树的叶子节点,是任务树中最先被执行的任务;所述中间任务为任务树中的非原子、非根任务,中间任务的执行依赖于原子和其他中间任务。
3.根据权利要求1所述的一种分布式复杂任务调度方法,其特征在于,所述层次任务树的层中可以只有一个任务节点,表示该层的上层任务节点必须等待该节点执行完成后才能执行。
4.根据权利要求1所述的一种分布式复杂任务调度方法,其特征在于,所述任务树的构建过程和每个任务的执行过程解耦,以实现单个任务的复用以及任务树中部分任务分支的复用,任务树的构建定义了各个任务的执行顺序以及依赖关系,同时保存了任务执行的入参。
5.根据权利要求1所述的一种分布式复杂任务调度方法,其特征在于,所述调度集群中的节点通过ZooKeeper动态选择主节点。
6.根据权利要求1所述的一种分布式复杂任务调度方法,其特征在于,所述步骤S3的具体过...
【专利技术属性】
技术研发人员:曹海涛,王璠,颜凯,孙啸寅,何先华,顾军,佘黎明,杜佳,
申请(专利权)人:华泰证券股份有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。