分布式定时任务调度系统及计算装置制造方法及图纸

技术编号:24682413 阅读:26 留言:0更新日期:2020-06-27 07:43
本发明专利技术提供了一种分布式定时任务调度系统及计算装置,分布式定时任务调度系统包括至少在两个节点中以声明方式配置出的任务调度器、服务调度器及任务定时器,消息队列,调度中心及定时任务下发组件;任务调度器将定时任务下发至消息队列中,剩余节点监听消息队列并创建与下发至消息队列中的定时任务相同的定时任务;消息队列将定时任务中所包含的至少一个定时作业下发至调度中心,调度中心检测节点的响应能力,以根据各个节点的响应能力确定执行定时作业所对应的服务调度器。通过本发明专利技术,确保了对定时任务调度过程的细粒度,提高了对多定时任务的处理能力,实现了对业务数据的自适应编排处理。

Distributed timing task scheduling system and computing device

【技术实现步骤摘要】
分布式定时任务调度系统及计算装置
本专利技术涉及计算机
,尤其涉及一种分布式定时任务调度系统及一种计算装置。
技术介绍
云平台、服务器集群配置环境中运行一个或者多个项目工程(Project),该等项目工程需要配置定时任务(Task)。基于大规模的云平台、服务器集群配置环境中,存在诸多项目以及单个项目中所包含的多个任务的情形,需要对任务,例如,订单系统的超时状态判断、缓存数据的定时更新、定时给用户发邮件,甚至是一些定期计算的报表等。为保证高可用、高容错性,大规模的云平台或者服务器集群通常采用分布式架构,因此分布式定时任务应运而生。目前,主流的分布式定时任务调度基于Quartz框架,并依赖于Zookeeper。Zookeeper可实现数据分片,从而保证数据不会被重复处理,并提升数据处理速度。这在金融行业、移动支付等领域中具有举足轻重的作用。然而,采用Zookeeper的技术路线会对数据库造成非常大的压力,且数据库存在宕机的风险;而在采用Quartz的技术路线中由于对数据库的依赖较强,且数据库部署较为复杂;尤其的,采用Quartz框架实现分布式定时任务调度时对资源的占用过重,且无法保证任务调度过程中的唯一性,而现有技术中单单采用分布式数据库的技术手段又会对分布式数据库造成计算开销及计算压力。更为重要的是的,基于用户请求或者下发任务在规格上呈现多样性,在数量上呈现海量性的特点,导致现有技术中的分布式定时任务调度系统及调度方法存在以下缺陷。首先,对于复杂环境或者需要对定时任务执行频繁调度的场景中,通常会有很多业务,业务通常包含至少一个业务流程,而不同业务流程往往又包含至少一个业务逻辑。这对于开发人员而言需要知悉特定业务所包含的一个或者多个逻辑,显然这在事实上是无法实现的,因为开发人员预先不可能制定出符合用户特定需求的所有业务流程;并且会导致前端开发人员与后端开发人员对运行该分布式定时任务调度系统的应用/程序的开发难度增加。同时,现有技术中通常在计算节点中运行分布式定时任务调度系统,而云平台中的计算节点的规模或者配置是相同的,然而对定时任务进行调度所需要的资源又有所区别,因此现有技术所揭示的分布式定时任务调度系统的云平台等计算集群中无法实现个性化的增加或者删除计算节点提供参考依据,从而造成资源的浪费。有鉴于此,有必要对现有技术中的分布式定时任务调度方法及相关类似技术方案予以改进,以解决上述问题。
技术实现思路
本专利技术的目的在于揭示的一种分布式定时任务调度系统及基于该调度系统的一种计算装置,在提高运行该定时任务的节点的容错性并实现任务调度的一致性的同时,并实现对定时任务调度过程的细粒度,使得实体业务所包含的定时任务能够被合理地确定具体的执行主体,解决多定时任务调度场景中的整体调度处理能力,降低业务编排难度。为实现上述第一个专利技术目的,本专利技术首先提供了一种分布式定时任务调度系统,包括:至少在两个节点中以声明方式配置出的任务调度器、服务调度器及任务定时器,消息队列,部署于消息队列与服务调度器之间的至少两个用于检测节点响应能力的调度中心,定时任务下发组件,选定至少一个节点作为响应定时任务的指定节点,以及,保存定时任务所对应的执行结果的第一存储装置;所述任务调度器将定时任务下发至消息队列中,剩余节点监听消息队列并创建与下发至消息队列中的定时任务相同的定时任务;所述消息队列将定时任务中所包含的至少一个定时作业下发至调度中心,所述调度中心检测节点的响应能力,以根据各个节点的响应能力确定执行定时作业所对应的服务调度器。作为本专利技术的进一步改进,所述任务调度器包含流程调度进程,所述服务调度器包含服务调度进程,各节点之间基于与所述定时任务所对应的分布式锁,使用任务调度器中包含的流程调度进程根据任务定时器所设定的时限确定是否由消息队列中的轮询机制通知调度中心,并通过所述调度中心根据各个节点的响应能力确定执行定时作业所对应的至少一个服务调度器。作为本专利技术的进一步改进,至少两个调度中心以定时任务下发组件所选定至少一个节点中所部署的任务定时器所设定的时限为周期对节点的响应能力进行检测。作为本专利技术的进一步改进,至少在两个节点中以声明方式配置出至少一对流程调度进程与服务调度进程,所述流程调度进程与服务调度进程使用消息队列进行解耦。作为本专利技术的进一步改进,所述第一存储装置保存响应定时任务所对应的执行结果后,由消息队列通知执行定时任务的节点及所述节点中部署的服务调度器;所述第一存储装置选自JVM内存、分布式存储组件或者数据库。作为本专利技术的进一步改进,定时任务下发组件包括:用户界面及负载均衡器;所述用户界面接收定时任务并下发至负载均衡器,各节点之间基于与所述定时任务所对应的分布式锁通过所述负载均衡器所内置的负载均衡策略选定至少一个节点作为指定节点以响应定时任务。作为本专利技术的进一步改进,所述调度中心响应自所述消息队列下发的定时任务,按照定时任务所包含的至少一个定时作业所依赖的配置对所述定时任务执行拆分,并为拆分定时任务后所形成的多个子定时任务确定执行子定时任务所对应的至少一个服务调度器;所述节点为计算节点、存储节点或者网络节点。作为本专利技术的进一步改进,所述分布式定时任务调度系统用于响应多定时任务场景;所述节点配置的任务调度器与服务调度器包含一对或者多对流程调度进程与服务调度进程,并将流程调度进程与服务调度进程使用消息队列进行解耦。作为本专利技术的进一步改进,所述消息队列保存于逻辑上独立于第一存储装置的第二存储装置,所述第二存储装置选自物理服务器或者虚拟服务器或者非易失性存储装置,所述消息队列为RabbitMQ。作为本专利技术的进一步改进,所述服务调度进程被配置为一个或者多个用于响应定时任务的服务单元,所述服务调度进程与服务单元之间具映射关系,所述服务单元部署于任意一个节点。作为本专利技术的进一步改进,所述流程调度进程定义至少一个业务流程,所述服务调度进程定义至少一个业务逻辑,以通过所述业务流程与业务逻辑之间所具有的映射关系配置出不同的分布式定时任务调度服务;业务流程包含自用户向定时任务下发组件下发的业务数据,且所述业务流程不集成至实际业务的可执行代码中;所述业务逻辑集成至所述服务单元中;其中,所述服务单元为容器、虚拟机或者微服务。基于上述相同专利技术思想,本专利技术还揭示了一种计算装置,所述计算装置部署如上述任一项专利技术创造所揭示的一种分布式定时任务调度系统。作为本专利技术的进一步改进,所述计算装置被配置为云计算平台、服务器集群或者数据中心,所述节点为计算节点、存储节点或者网络节点。与现有技术相比,本专利技术的有益效果是:(1)通过部署于消息队列与服务调度器之间的至少两个调度中心,使得定时任务能够通过消息队列被合理的下发到服务调度器中予以执行,从而确保了对定时任务调度过程的细粒度,提高了该分布式定时任务调度系统对多定时任务调度场景中的整体调度处理能力,从而使得配置该分布式定时本文档来自技高网
...

【技术保护点】
1.一种分布式定时任务调度系统,其特征在于,包括:/n至少在两个节点中以声明方式配置出的任务调度器、服务调度器及任务定时器,/n消息队列,/n部署于消息队列与服务调度器之间的至少两个用于检测节点响应能力的调度中心,/n定时任务下发组件,选定至少一个节点作为响应定时任务的指定节点,以及,保存定时任务所对应的执行结果的第一存储装置;/n所述任务调度器将定时任务下发至消息队列中,剩余节点监听消息队列并创建与下发至消息队列中的定时任务相同的定时任务;所述消息队列将定时任务中所包含的至少一个定时作业下发至调度中心,所述调度中心检测节点的响应能力,以根据各个节点的响应能力确定执行定时作业所对应的服务调度器。/n

【技术特征摘要】
1.一种分布式定时任务调度系统,其特征在于,包括:
至少在两个节点中以声明方式配置出的任务调度器、服务调度器及任务定时器,
消息队列,
部署于消息队列与服务调度器之间的至少两个用于检测节点响应能力的调度中心,
定时任务下发组件,选定至少一个节点作为响应定时任务的指定节点,以及,保存定时任务所对应的执行结果的第一存储装置;
所述任务调度器将定时任务下发至消息队列中,剩余节点监听消息队列并创建与下发至消息队列中的定时任务相同的定时任务;所述消息队列将定时任务中所包含的至少一个定时作业下发至调度中心,所述调度中心检测节点的响应能力,以根据各个节点的响应能力确定执行定时作业所对应的服务调度器。


2.根据权利要求1所述的分布式定时任务调度系统,其特征在于,所述任务调度器包含流程调度进程,所述服务调度器包含服务调度进程,各节点之间基于与所述定时任务所对应的分布式锁,使用任务调度器中包含的流程调度进程根据任务定时器所设定的时限确定是否由消息队列中的轮询机制通知调度中心,并通过所述调度中心根据各个节点的响应能力确定执行定时作业所对应的至少一个服务调度器。


3.根据权利要求2所述的分布式定时任务调度系统,其特征在于,至少两个调度中心以定时任务下发组件所选定至少一个节点中所部署的任务定时器所设定的时限为周期对节点的响应能力进行检测。


4.根据权利要求2所述的分布式定时任务调度系统,其特征在于,至少在两个节点中以声明方式配置出至少一对流程调度进程与服务调度进程,所述流程调度进程与服务调度进程使用消息队列进行解耦。


5.根据权利要求1所述的分布式定时任务调度系统,其特征在于,所述第一存储装置保存响应定时任务所对应的执行结果后,由消息队列通知执行定时任务的节点及所述节点中部署的服务调度器;
所述第一存储装置选自JVM内存、分布式存储组件或者数据库。


6.根据权利要求1所述的分布式定时任务调度系统,其特征在于,定时任务下发组件包括:用户界面及负载均衡器;
所述用户界面接收定时任务并下发至负载均衡器,各节点之间基于与所述定时任务所对应的分布式锁通过所述负载均...

【专利技术属性】
技术研发人员:李红
申请(专利权)人:华云数据有限公司
类型:发明
国别省市:安徽;34

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

1