一种用于数据集成的轻量级分布式调度方法及系统技术方案

技术编号:28372993 阅读:17 留言:0更新日期:2021-05-08 00:00
本发明专利技术涉及计算机信息技术领域和互联网领域,具体涉及一种用于数据集成的轻量级分布式调度方法及系统,包括Manager端和Worker端,所述的Manager端任务的管理、调度、协调、补救和任务数据持久化,所述的Worker端负责任务的具体处理执行,基于注册发现机制,Manager和Worker均可自主组成服务集群,Manager根据worker节点资源和调度策略将任务下发到Worker节点执行;Manager端引入预调度设计,将任务提前一定时间调度下发到Worker进行自调度,将部分调度压力转移到Worker端;Manager端设计分布式锁来协调调度;基于DAG理论还设计了流程任务调度处理引擎。

【技术实现步骤摘要】
一种用于数据集成的轻量级分布式调度方法及系统
本专利技术涉及计算机信息
和互联网领域,具体涉及一种用于数据集成的轻量级分布式调度方法及系统。
技术介绍
目前业界常用任务调度系统因为历史局限性,或多或少存在一些问题或功能缺失,主要有以下几个方面:1.存在单点故障,且无法通过自由扩展节点提升任务调度和处理能力。2.调度或处理能力性能不佳,调度高峰期调度压力过大,且会因网络和服务器间时间不一致导致的调度精确度降低。3.没有解决任务调度的一致性,可能会出现在同一时间窗任务被重复调度执行的问题。4.不支持复杂流程调度,无法实现依赖性任务的调度。
技术实现思路
为克服上述现有技术中存在的问题,本专利技术的目的是提供,解决了现有技术中存在的问题。本专利技术所采用的技术方案是:一种用于数据集成的轻量级分布式调度系统,包括Manager端和Worker端,所述的Manager端任务的管理、调度、协调、补救和任务数据持久化,所述的Worker端负责任务的具体处理执行。进一步基于注册发现机制,Manager和Worker均可自主组成服务集群,Manager根据worker节点资源和调度策略将任务下发到Worker节点执行。进一步Manager端引入预调度设计,将任务提前一定时间调度下发到Worker进行自调度,将部分调度压力转移到Worker端。进一步在Manager和Worker均引入时间轮算法处理任务调度和任务逻辑处理。进一步Worker任务处理的反馈信息进行批量合并上报,Manager接收反馈信息时转入EventBus,由EventBus进行异步处理。进一步Manager端设计分布式锁来协调调度。进一步基于DAG理论还设计了流程任务调度处理引擎。一种用于数据集成的轻量级分布式调度方法,包括如下步骤:S1.Manager监听任务信息触发属性数据中下一次触发时间,如果在预调度的缓冲时间区间内,生成任务实例信息推入Manager的时间轮异步队列调度线程池,同时更新任务信息触发属性数据中的下一次触发时间;S2.Manager时间轮异步队列调度线程池中时间轮会在自转时检查超时项任务,有超时项任务时,将任务推入Manager时间轮异步队列调度线程池的执行线程池中,池程池进行异步处理,选择执行任务的WorkGroup和具体的任务执行Worker,通过RPC将任务下发到任务执行的Worker;S3.Worker在接收到下发任务时,将任务推入Worker时间轮异步队列调度线程池;Worker时间轮异步队列调度线程池中时间轮会在自转时检查超时项任务,有超时项目任务时,将任务推入Worker时间轮异步队列调度线程池的执行线程池中,执行线程池通过任务处理器工厂异步调用定义好的任务处理器,任务处理器根据任务实例配置进行任务处理,在处理开始、运行中和处理完时将任务处理状态和结果上报Manager;S4.Manager接收到Worker的上报信息后转接入EventBus,由EventBus进行异步处理,EventBus根据上报信息不同分别进行上报信息和状态存储、根据流程引擎触发后续任务、检查流程任务时是否结束、失败任务进行故障转移或重试、失败任务告警等操作;S5.Manager的异常任务监听者会定时对失败、异常中断等异常任务进行故障转移或重试处理,对因服务器、网络物理原因引擎的异常任务实例进行补偿处理。本专利技术的有益效果是:1.本专利技术有效解决单点故障,扩展Worker节点提升任务处理能力;2.本专利技术提高了调度的精确度;3.别专利技术有效规避了任务调度的不一致性,防止任务在同一时间窗被重复执行;4.有效解决依赖性任务和流程任务的调度。附图说明图1是本专利技术所属用于数据集成的轻量级分布式调度方法及系统的逻辑结构示意图;图2是本专利技术所属用于数据集成的轻量级分布式调度方法及系统的应用场景示意图;图3是本专利技术所属用于数据集成的轻量级分布式调度方法及系统的任务调度流程示意图。具体实施方式下面结合附图和具体实施方式对本专利技术进行详细说明:本专利技术软件设计有两部组成,一是Manager端(调度系统管理端),负责任务的管理、调度、协调、补救和任务数据持久化,二是Worker端(调度系统具体任务执行端),负责具体任务逻辑处理或调用。本专利技术通过相应技术理论和设计实现以下功能特性:基于注册发现机制,Manager和Worker均可自主组成服务集群,Manager根据worker节点资源和调度策略将任务下发到Worker节点执行,通过此设计有效解决单点故障,并可以通过自由扩展Manager节点提升调度能力,扩展Worker节点提升任务处理能力。Manager端引入预调度设计,将任务提前一定时间调度下发到Worker进行自调度,将部分调度压力转移到Worker端;另,在Manager和Worker均引入时间轮算法处理任务调度和任务逻辑处理,大幅提升调度系统的调度和处理能力,且提高了调度的精确度。为了进一步优化性能,Worker任务处理的反馈信息进行批量合并上报,Manager接收反馈信息时引入了EventBus的设计理念。Manager端设计了分布式锁来协调调度的一致性,目前分布式锁是基于数据库事务实现,实现在同一任务同时或在时间窗内只能由一个Manager节点调度一次,有效规避了任务调度的不一致性,防止任务在同一时间窗被重复执行。为了能调度依赖性任务和流程任务,本专利技术基于DAG(有向无环图)理论设计了流程任务调度处理引擎,可以有效解决依赖性任务和流程任务的调度。具体实施步骤如下:S1.Manager监听任务信息触发属性数据中下一次触发时间,如果在预调度的缓冲时间区间内,生成任务实例信息推入Manager的时间轮异步队列调度线程池,同时更新任务信息触发属性数据中的下一次触发时间。在此过程通过分布式一致算法保持Manager集群中仅有一个节点在进行此逻辑处理,保证预调度逻辑的一致性。其次会通过流程引擎预调度流程任务的所有入口任务。S2.Manager时间轮异步队列调度线程池中时间轮会在自转时检查超时项任务(Manager会提前一段时间触发任务,进行预调度),有超时项任务时,将任务推入Manager时间轮异步队列调度线程池的执行线程池中,池程池进行异步处理,选择执行任务的WorkGroup和具体的任务执行Worker,通过RPC将任务下发到任务执行的Worker。S3.Worker在接收到下发任务时,将任务推入Worker时间轮异步队列调度线程池;Worker时间轮异步队列调度线程池中时间轮会在自转时检查超时项任务(Worker中时间轮进行精准调度),有超时项目任务时,将任务推入Worker时间轮异步队列调度线程池的执行线程池中,执行线程池通过任务处理器工厂异步调用定义好的任务处理器(内置和自定义的一个任务类本文档来自技高网...

【技术保护点】
1.一种用于数据集成的轻量级分布式调度系统,其特征在于:包括Manager端和Worker端,所述的Manager端任务的管理、调度、协调、补救和任务数据持久化,所述的Worker端负责任务的具体处理执行。/n

【技术特征摘要】
1.一种用于数据集成的轻量级分布式调度系统,其特征在于:包括Manager端和Worker端,所述的Manager端任务的管理、调度、协调、补救和任务数据持久化,所述的Worker端负责任务的具体处理执行。


2.根据权利要求1所述的一种用于数据集成的轻量级分布式调度系统,其特征在于:基于注册发现机制,Manager和Worker均可自主组成服务集群,Manager根据worker节点资源和调度策略将任务下发到Worker节点执行。


3.根据权利要求1所述的一种用于数据集成的轻量级分布式调度系统,其特征在于:Manager端引入预调度设计,将任务提前一定时间调度下发到Worker进行自调度,将部分调度压力转移到Worker端。


4.根据权利要求3所述的一种用于数据集成的轻量级分布式调度系统,其特征在于:在Manager和Worker均引入时间轮算法处理任务调度和任务逻辑处理。


5.根据权利要求3所述的一种用于数据集成的轻量级分布式调度系统,其特征在于:Worker任务处理的反馈信息进行批量合并上报,Manager接收反馈信息时转入EventBus,由EventBus进行异步处理。


6.根据权利要求1所述的一种用于数据集成的轻量级分布式调度系统,其特征在于:Manager端设计分布式锁来协调调度。


7.根据权利要求1所述的一种用于数据集成的轻量级分布式调度系统,其特征在于:基于DAG理论还设计了流程任务调度处理引擎。


8.一种用...

【专利技术属性】
技术研发人员:武应彦张秀娟朱耀玺
申请(专利权)人:中电万维信息技术有限责任公司
类型:发明
国别省市:甘肃;62

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1