[发明专利]分布式调度系统中的任务调度方法及分布式调度系统在审
申请号: | 201711173154.0 | 申请日: | 2017-11-22 |
公开(公告)号: | CN108037983A | 公开(公告)日: | 2018-05-15 |
发明(设计)人: | 王勇;赵国贤;张如松;邓钫元;贺红涛 | 申请(专利权)人: | 链家网(北京)科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/54 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;李相雨 |
地址: | 100085 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 调度 系统 中的 任务 方法 | ||
本发明实施例公开一种分布式调度系统中的任务调度方法及分布式调度系统,能保证优先级高的任务优先执行,低优先级的任务等待处理。方法包括:在发起任务调度时,若判断获知调度任务的优先级为P0,且执行服务器的高优任务队列和普通任务队列已满,所述普通任务队列中没有优先级小于P0的任务,所述高优任务队列中有优先级小于P1的任务,则在所述高优任务队列中找到最后加入的且优先级小于P1的任务,将该任务置于取消状态,并将所述调度任务加入到所述高优任务队列中。
技术领域
本发明实施例涉及计算机领域,具体涉及一种分布式调度系统中的任务调度方法及分布式调度系统。
背景技术
调度系统一般是指以时间触发或者事件触发的方式在计算机上执行相应任务的系统。分布式主要是指将任务分布到不同的计算机上,任务执行有上下游,需要协同完成任务的工作方式。调度系统经常以分布式的方式实现,即形成分布式调度系统。主要用于在计算机集群之间执行定时或者被事件触发的任务。
调度系统一般由一个调度服务器(scheduler)简称S和多个执行服务器(executor)组成,简称E,一种场景是S需要每隔一段时间(比如1min,10s)等就需要从多个E中选择一个E来执行一个任务(Job)简称J。
在现有技术中,调度服务器S的工作尤其繁重,尤其是在任务频繁、任务套叠时。例如调度服务器与执行服务器进行通信,有很多任务在任务队列里等待调度,执行服务器E中已经正在执行任务,无法再接收新的任务执行,任务队列的任务只能等待,又有源源不断的任务加入到执行队列等待。这将导致调度服务器的压力特别大,甚至存在崩溃风险。同时,任务有不同的优先级,低优先级的任务在执行,高优先级的任务不能执行,就会导致非常严重的后果。
发明内容
针对现有技术存在的不足和缺陷,本发明实施例提供一种分布式调度系统中的任务调度方法及分布式调度系统。
一方面,本发明实施例提出一种分布式调度系统中的任务调度方法,包括:
S10、在发起任务调度时,若判断获知调度任务的优先级为P0,则判断执行服务器的高优任务队列是否已满,其中,所述调度任务包括新的调度任务和置于取消状态的调度任务,所述置于取消状态的调度任务按周期发起任务调度,调度任务的优先级包括P0、P1和P2三种,P0、P1和P2分别表示高优先级、次高优先级和低优先级;
S20、若所述高优任务队列已满,则判断所述执行服务器的普通任务队列是否已满,其中,所述高优任务队列中任务较所述普通任务队列中任务优先执行;
S30、若所述普通任务队列已满,则判断所述普通任务队列中是否有优先级小于P0的任务;
S40、若所述普通任务队列中没有优先级小于P0的任务,则判断所述高优任务队列中是否有优先级小于P1的任务;
S50、若所述高优任务队列中有优先级小于P1的任务,则在所述高优任务队列中找到最后加入的且优先级小于P1的任务,将该任务置于取消状态,并将所述调度任务加入到所述高优任务队列中。
优选地,所述S20,还包括:
若所述高优任务队列未满,则将所述调度任务加入到所述高优任务队列中。
优选地,所述S30,还包括:
若所述普通任务队列未满,则将所述调度任务加入到所述普通任务队列中。
优选地,所述S40,还包括:
若所述普通任务队列中有优先级小于P0的任务,则在所述普通任务队列中找到最后加入的且优先级小于P0的任务,将该任务置于取消状态,并将所述调度任务加入到所述普通任务队列中。
优选地,所述S50,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于链家网(北京)科技有限公司,未经链家网(北京)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711173154.0/2.html,转载请声明来源钻瓜专利网。