【技术实现步骤摘要】
分布式任务的均衡调度中心、方法、系统和装置
本专利技术涉及数据传输
,具体地说,涉及一种分布式任务的均衡调度中心、方法、系统和装置。
技术介绍
随着计算机、网络信息技术的发展,在一些企业级系统中,大量的任务分布在不同的任务主机完成。如何调度这些任务,合理地分配给相应的任务主机则成为了重要的技术问题。目前,任务调度执行主要分为如下两种:串行单节点任务调度,即单机完成任务的调度和执行。特点实是:实现简单,易于维护。缺点是:但当有大量任务需要调度和执行时,单机压力大,以至无法保证任务履约完成。分布式任务调度,即多机并行调度和执行任务。特点是:充分利用多机硬件资源,可负载大量任务,当任务超过负载时方便横向扩展,有效的解决串行单节点任务调度的不足。目前,企业级任务调度基本以分布式调度为主,并提供各种调度策略、任务同步等机制。例如:采用Quartz轻量级调度框架,主要针对时间周期和时间点的任务调度。或采用ScheduledExecutor,其是Java本身提供的周期性调度线程池,可以实现固定时间周期的任务执行。或者通过ZooKeeper框架对分布式任务执行同步任务,防止重复或无序执行。例如,现有技术采用如下的技术方案实现分布式任务的调度:定义一个或多个可执行的任务;配置每个可执行任务的触发周期或执行时间点;启动Quartz、ScheduledExecutor或其他调度框架,读取调度配置,等待触发任务执行;调度框架触发任务执行,随即进入下一个任务调度周期。可执行任务通过ZooKeeper进行同步控制,防止多机重复执行。然而现有技术中的技术方案只使用调度框架,并不能 ...
【技术保护点】
一种分布式任务的均衡调度方法,包括:按照功能或类型创建多个任务组,为每个任务组配置对应的调度策略;为每个任务组定制多个调度计划,每个调度计划对应一个可执行任务集合;监控每个任务组的当前任务执行量,根据配置参数,计算得到每个调度计划的任务调度量,并将与所述任务调度量对应数量的任务载入任务缓存中的任务队列;根据每个任务组的当前任务执行量和配置参数,计算得到每个任务主机的任务下发量;根据所述每个任务主机的下发量,从所述任务缓存中对应的任务队列取出可执行任务下发给相应的任务主机。
【技术特征摘要】
1.一种分布式任务的均衡调度方法,包括:按照功能或类型创建多个任务组,为每个任务组配置对应的调度策略;为每个任务组定制多个调度计划,每个调度计划对应一个可执行任务集合;监控每个任务组的当前任务执行量,根据配置参数,计算得到每个调度计划的任务调度量,并将与所述任务调度量对应数量的任务载入任务缓存中的任务队列;根据每个任务组的当前任务执行量和配置参数,计算得到每个任务主机的任务下发量;根据所述每个任务主机的下发量,从所述任务缓存中对应的任务队列取出可执行任务下发给相应的任务主机。2.如权利要求1所述的分布式任务的均衡调度方法,其中,所述调度策略至少包括任务主机的分组配置;所述调度计划至少包括调度周期和调度权重。3.如权利要求2所述的分布式任务的均衡调度方法,其中,所述监控每个任务组的当前任务执行量的步骤包括:接收任务主机的任务执行反馈信息,获得一个时间段的总任务执行量;计算所述时间段内的平均任务执行量;根据预设的微调系数,将平均任务执行量乘以所述微调系数得到每个任务组的当前任务执行量其中,所述微调系数的取值为0.8-1.2。4.如权利要求3所述的分布式任务的均衡调度方法,其中,所述计算得到每个调度计划的任务调度量的步骤包括:根据缓存中当前的任务队列长度,计算出所述当前任务队列长度与最大任务队列长度的差值Qe;在保证不超过最大调度量和最大队列长度的情况下,和Qe取最大值作为本次任务调度总量Qt;根据求和公式计算每个任务组的多个调度计划的权重总和Wsum;依据每个调度计划的权重Wi和权重总和Wsum的比值及本次任务调度总量Qt,根据公式1-1计算每个调度计划的调度量Qi,Qi=Qt×(Wi÷Wsum)1-1。5.如权利要求3所述的分布式任务的均衡调度方法,其中,如果所述任务组中的多个调度计划的权重互不相同,所述计算得到每个任务主机的任务下发量的步骤包括:根据求和公式计算任务组中多个调度计划的权重总和Wsum;依据当前任务执行量、权重与权重总和,根据公式2-1计算出针对每个调度计划的下发量Cai,依据当前任务队列长度,算出每个任务主机平均需下发量在和Cai中取最小的值作为任务主机下发量C;如果所述任务组中的多个调度中计划中有相同的权重,所述计算得到每个任务主机的任务下发量C的步骤包括:计算任务组中多个调度计划权重去重后的权重总和其中,所述m为去重后的权重个数,Wi'为第i个权重;依据当前任务执行量、去重权重与权重总和,根据公式2-2计算出每个权重的下发量C'w,计算相同权重下的调度计划的周期总和其中,所述Ii为第i个调度计划的调度周期;根据公式2-3计算相同权重下的调度计划的周期反比Ri,Ri=I'sum÷Ii2-3;根据公式2-4计算相同权重下的调度计划的周期反比之和,得到反比总和Rsum,根据公式2-5,依据相同权重下的调度计划的周期反比Ri及反比总和Rsum和所述权重的下发量Cw得到该调度计划在该周期的任务下发量C'ai,C'ai=C'w×(Ri÷Rsum)2-5;依据当前任务队列长度,算出每个任务主机平均需下发数量在和C'ai中取最小的值作为任务主机下发量C。6.如权利要求1所述的分布式任务的均衡调度方法,其中,还包括为所述待执...
【专利技术属性】
技术研发人员:安伟佳,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。