首页> 中国专利> 一种作业调度方法及作业调度系统

一种作业调度方法及作业调度系统

摘要

本发明公开了一种作业调度方法及作业调度系统。所述作业调度系统包括作业提交设备、以及由主服务器及多个子服务器组成的服务器集群。所述主服务器用于接收到服务器集群中任意一台子服务器M针对待处理作业队列中的第j个作业提交的任务处理请求并判断该台子服务器M并非第j个作业的本地服务器时,基于资源预估模型量化计算一个数据块传输周期T内服务器集群中第j个作业的本地服务器向第j个作业发起的任务处理请求次数E

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-09-29

    授权

    授权

  • 2014-12-17

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20140731

    实质审查的生效

  • 2014-11-19

    公开

    公开

说明书

技术领域

本发明涉及任务分配技术领域,更具体地说,涉及一种作业调度方法及作 业调度系统。

背景技术

为提高作业的本地数据资源获取水平,缩短单个作业的执行时间,静态延 迟调度方法得到了广泛使用。然而,静态延迟调度方法还存在如下缺陷:

1)为确保用户提交的作业获取到本地数据资源,提高单个作业的执行效 率,在作业未获取到来自本地数据资源的处理请求的情况下,需要进行作业的 延时调度处理,导致作业难以在预定时间内执行完毕。

2)采用静态延迟调度方法在提高单个作业的执行效率的同时,降低了整 体作业的执行效率。

因此,如何克服静态延迟调度方法所存在的上述缺陷,开发一款兼顾单个 作业的执行效率及整体作业的执行效率的作业调度方法已成为亟待解决的问 题。

发明内容

本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种通 过手势动作对车辆部件进行控制的方法及系统。

本发明解决其技术问题所采用的技术方案是:构造一种作业调度方法, 包括如下步骤:

S1)在接收到由服务器集群中任意一台子服务器M针对待处理作业队列 中的第j个作业提交的任务处理请求时,判断该台子服务器M是否为第j个作 业的本地服务器;M为变量,j为递增变量,M≥1,j≥1,且M、j均为正整 数;

S2)如判断子服务器M并非第j个作业的本地服务器,则基于资源预估 模型量化计算一个数据块传输周期T内服务器集群中第j个作业的本地服务器 针对第j个作业发起的任务处理请求次数Ej

S3)判断该任务处理请求次数Ej是否达到或超过一次;如判断Ej<1,则 响应由子服务器M提交的第j个作业的任务处理请求,将第j个作业的处理任 务分配到子服务器M;如判断Ej≥1,则执行第j个作业的延时调度工作。

在本发明上述作业调度方法中,在所述步骤S1之前还包括如下步骤:

S0)指定服务器集群中用于执行作业受理及分配工作的主服务器,通过该 主服务器接收用户通过作业提交终端提交的作业,并将作业添加到待处理作 业队列。

在本发明上述作业调度方法中,所述步骤S0还包括:根据作业的提交时 间确定待处理作业队列中各个作业的优先级,依照各个作业的优先级对待处 理队列中的各个作业进行排序,以确定各个作业的处理顺序。

在本发明上述作业调度方法中,所述步骤S1中所述判断子服务器M是否 为第j个作业的本地服务器的步骤包括:通过主服务器接收服务器集群中除其 之外的任意一台子服务器M针对第j个作业发起的任务处理请求,遍历待处 理作业队列,读取待处理作业队列中的第j个作业,并判断子服务器M是否 存储有用于处理第j个作业所需的数据块;

如判断子服务器M存储有用于处理第j个作业所需的数据块,则判定子 服务器M为第j个作业的本地服务器;

如判断子服务器M未存储有用于处理第j个作业所需的数据块,则判定 子服务器M为非第j个作业的本地服务器。

在本发明上述作业调度方法中,所述步骤S1还包括:如判断子服务器M 为本地服务器,则响应由子服务器M提交的第j个作业的任务处理请求,将 第j个作业的处理任务分配到子服务器M。

在本发明上述作业调度方法中,所述步骤S1还包括在将第j个作业的处 理任务分配到子服务器M之后所进行的第j个作业的处理步骤,所述第j个作 业的处理步骤包括:

子服务器M查找服务器集群中第j个作业的本地服务器,拷贝由该本地 服务器存储的用于处理第j个作业所需的数据块,并依照第j个作业对拷贝的 数据块进行处理,以将第j个作业执行完毕。

在本发明上述作业调度方法中,所述步骤S2中用于计算一个数据块传输 周期T内服务器集群中第j个作业的本地服务器针对第j个作业所提交的任务 处理请求次数Ej的资源预估模型如下所示:

Ej=T×(N/THeat)×Slotavg×Pslot×PjLocalData×PjCompete;其中

N表示服务器集群中的所有子服务器的数目;

THeat表示服务器集群中子服务器的任务处理请求提交周期;

Slotavg表示每个子服务器在提交任务处理请求时提供的平均时槽数目;

Pslot表示每个子服务器提供的时槽中空闲时槽的概率;

PjLocalData表示服务器集群中请求处理第j个作业的子服务器为第j个作业 的本地服务器的概率;

PjCompete表示服务器集群中第j个作业的竞争服务器数目占服务器集群中 第j个作业的本地服务器数目的百分比;

其中,Pslot的计算公式如下所示:

Pslot=Tavg/THeat

Tavg表示执行一个映射任务所需时间;

PjLocalData的计算公式如下所示:

PjLocalData=Nodesj/N;

Nodesj表示服务器集群中存储有用于处理第j个作业所需数据块的子服务 器的数目,即第j个作业的本地服务器的数目;

N表示服务器集群中的所有服务器数目;

PjCompete的计算公式如下所示:

PjCompete=NodesjAhead/Nodesj

其中,NodesjAhead表示服务器集群中存储有第j个作业的竞争数据块的竞 争服务器的数目;

第j个作业的竞争数据块定义为:用于处理第j个作业以及主服务器的待 处理作业队列中优先级高于第j个作业的其它作业所需的同一个数据块;

竞争服务器定义为:服务器集群中存储有所述竞争数据块的子服务器。

在本发明上述作业调度方法中,所述步骤S3中所述执行第j个作业的延 时调度工作的步骤包括:拒绝由子服务器M提交的针对第j个作业的当前的 任务处理请求,并将第j个作业分配到下一个数据块传输周期T内向主服务器 请求处理第j个作业的任意一台子服务器M′;M′为变量,M′≥1,且M′ 为正整数。

在本发明上述作业调度方法中,所述步骤S3还包括第j个作业的处理步 骤,所述第j个作业的处理步骤包括:

子服务器M查找服务器集群中第j个作业的本地服务器,拷贝该本地服 务器存储的用于处理第j个作业所需的数据块,并依照第j个作业对该拷贝的 数据块进行处理,以将第j个作业执行完毕;

或者子服务器M′调取其存储的用于处理第j个作业所需的数据块,并依 照第j个作业对该拷贝的数据块进行处理,以将第j个作业执行完毕。

在本发明上述作业调度方法中,在所述步骤S3之后还包括如下步骤:

S4)接收服务器集群中任意一台子服务器M提交的针对第(j+1)个作业 的任务处理请求,并依照所述步骤S1至所述步骤S3执行第(j+1)个作业的 调度工作;

重复执行步骤S4,直至待处理作业队列中的所有作业均已调度完毕。

本发明还构造一种作业调度系统,所述作业调度系统包括作业提交设备、 以及由主服务器及多个子服务器组成的服务器集群,所述主服务器可接收由所 述作业提交设备提交的作业,并将作业添加到待处理作业队列,所述主服务器 还用于接收到由服务器集群中任意一台子服务器M针对待处理作业队列中的 第j个作业提交的任务处理请求并判断该台子服务器M并非第j个作业的本地 服务器时,基于资源预估模型量化计算一个数据块传输周期T内服务器集群 中第j个作业的本地服务器向第j个作业发起的任务处理请求次数Ej

所述主服务器还用于判断该任务处理请求次数Ej低于一次时,将第j个作 业的处理任务分配到子服务器M,或者判断该任务处理请求次数Ej达到或超 过一次时,执行第j个作业的延时调度工作。

在本发明上述作业调度系统中,所述资源预估模型如下所示:

Ej=T×(N/THeat)×Slotavg×Pslot×PjLocalData×PjCompete;其中

N表示服务器集群中的所有子服务器的数目;

THeat表示服务器集群中子服务器的任务处理请求提交周期;

Slotavg表示每个子服务器在提交任务处理请求时提供的平均时槽数目;

Pslot表示每个子服务器提供的时槽中空闲时槽的概率;

PjLocalData表示服务器集群中请求处理第j个作业的子服务器为第j个作业 的本地服务器的概率;

PjCompete表示服务器集群中第j个作业的竞争服务器数目占服务器集群中 第j个作业的本地服务器数目的百分比;

其中,Pslot的计算公式如下所示:

Pslot=Tavg/THeat

Tavg表示执行一个映射任务所需时间;

PjLocalData的计算公式如下所示:

PjLocalData=Nodesj/N;

Nodesj表示服务器集群中存储有用于处理第j个作业所需数据块的子服 务器的数目,即第j个作业的本地服务器的数目;

N表示服务器集群中的所有服务器数目;

PjCompete的计算公式如下所示:

PjCompete=NodesjAhead/Nodesj

其中,NodesjAhead表示服务器集群中存储有第j个作业的竞争数据块的竞 争服务器的数目;

第j个作业的竞争数据块定义为:用于处理第j个作业以及主服务器的待 处理作业队列中优先级高于第j个作业的其它作业所需的同一个数据块;

竞争服务器定义为:服务器集群中存储有所述竞争数据块的子服务器。

由于本发明作业调度方法及作业调度系统采用了通过主服务器对作业队 列中的各个作业在数据块传输周期T内可获取到的本地数据资源进行量化计 算,并根据量化计算结果对作业队列中的各个作业进行合理调度的技术方案, 所以克服了现有技术中使用静态延时调度方法执行作业调度工作时,用户提交 的作业通常不能在预定期限内执行完毕,进而拖累到整体作业的执行效率的缺 陷,实现了在整个作业调度过程中,确保单个作业的调度效率的同时,提高本 发明作业调度系统整体作业的调度效率的目的。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是本发明较佳实施例提供的作业调度系统的结构示意图;

图2是图1所示的作业调度系统的主服务器的结构框图;

图3是本发明较佳实施方式提供的作业调度方法的流程图。

具体实施方式

为了解决现有技术中所采用的静态延时调度方法使得用户提交作业通常 不能在预定期限内执行完毕,导致整体作业的执行效率低下的缺陷,本发明的 主要创新点在于:

1)在服务器集群200中指定一台专门用于作业受理及分配工作的主服务 器201,该主服务器201在接收到子服务器M针对待处理作业队列中的第j 个作业发起的任务处理请求,且子服务器M并非第j个作业的本地服务器时, 基于资源预估模型对于一个数据块传输周期T内第j个作业可获取到的来自其 本地服务器的任务处理请求次数Ej进行量化计算,并根据计算所得任务处理 请求次数Ej对第j个作业的处理任务进行合理分配;

2)本发明中使用的资源预估模型充分考虑了作业队列中优先级不同的各 个作业“争抢”服务器集群200数据资源的情况,即作业队列中优先级高于第 j个作业的其它作业请求获取的数据块为第j个作业的本地数据块的情况,提 高了主服务器201的作业调度工作的准确率。

由于本发明采用了通过主服务器201对作业队列中的各个作业在数据块 传输周期T内可获取到的本地数据资源进行量化计算,并根据量化计算结果 对作业队列中的各个作业进行合理调度的设计,所以解决了现有技术所采用 的静态延时调度方法为提高单个作业的执行效率,致使用户提交作业通常不能 在预定期限内执行完毕,进而拖累到整体作业的执行效率的技术问题,实现了 在整个作业调度过程中,确保单个作业的调度效率的同时,提高本发明作业调 度系统整体作业的执行效率的目的。

为了使本发明的目的更加清楚明白,以下结合附图及实施例,对本发明 进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发 明,并不用于限定本发明。

如图1所示,本发明作业调度系统包括作业提交设备100、以及由主服务 器201及多个子服务器202组成的服务器集群200。

其中,主服务器201用于接收用户通过作业提交设备100提交的作业,将 作业添加到待处理作业队列。

主服务器201还用于接收到服务器集群200中任意一台子服务器M针对 待处理作业队列中的第j个作业提交的任务处理请求,并判断该台子服务器M 并非第j个作业的本地服务器时,基于资源预估模型计算一个数据块传输周期 T内服务器集群200中第j个作业的本地服务器向第j个作业发起的任务处理 请求次数Ej

主服务器201还用于判断该任务处理请求次数Ej是否低于一次。如该任 务处理请求次数低于一次,则主服务器201将第j个作业的处理任务分配到子 服务器M。如该任务处理请求次数Ej达到或超过一次时,则主服务器201执 行第j个作业的延时调度工作。

该主服务器201在待处理作业队列中的所有作业均已分配完毕时,停止执 行作业调度工作。

在本发明中,作业提交设备100可以是包括电脑、手机在内的各种计算设 备。M、j均为变量,j为递增变量,M≥1,j≥1,且M、j均为正整数。

如图2所示,本发明的主服务器201包括任务分配模块2022、与该任务 分配模块2022分别电连接的接收模块2011、存储模块2023,且该接收模块 2011分别连接作业提交设备100及多个子服务器202。

其中,该接收模块2011用于接收用户通过作业提交设备100提交的作业, 将作业输入任务分配模块2022。

该任务分配模块2022用于将作业添加到待处理作业队列,根据作业提交 时间确定各个作业的优先级,根据作业优先级对待处理作业队列中的各个作业 进行排序,以确定各个作业的先后处理顺序。

该存储模块2023用于存储待处理作业队列。

该接收模块2011还用于接收服务器集群200中的任意一台子服务器M 针对第j个作业发起的任务处理请求。

该任务分配模块2022还用于判断子服务器M为第j个作业的本地服务 器时,将第j个作业分配到子服务器M。

该任务分配模块2022还用于判断子服务器M并非第j个作业的本地服 务器时,基于资源预估模型计算一个数据块传输周期T内服务器集群200中 第j个作业的本地服务器向第j个作业发起的任务处理请求次数Ej

该任务分配模块2022还用于判断该任务处理请求次数Ej低于一次时, 将第j个作业分配到子服务器M,或者判断该任务处理请求次数Ej达到或超 过一次时,将第j个作业分配到下一个数据块传输周期T内向主服务器201请 求处理第j个作业的任意一台分服务器M′。

在本发明中,用于计算一个数据块传输周期T内服务器集群200中第j 个作业的本地服务器针对第j个作业所提交的任务处理请求次数Ej的资源预 估模型如下所示:

Ej=T×(N/THeat)×Slotavg×Pslot×PjLocalData×PjCompete;其中

N表示服务器集群200中的所有子服务器202的数目;

THeat表示服务器集群200中子服务器202针对主服务器201的任务处理请 求提交周期;

Slotavg表示每个子服务器202在提交任务处理请求时提供的平均时槽数 目;

Pslot表示每个子服务器202提供的时槽中空闲时槽的概率;

PjLocalData表示服务器集群200中请求处理第j个作业的子服务器202为第j 个作业的本地服务器的概率;

PjCompete表示服务器集群200中第j个作业的竞争服务器数目占服务器集 群200中第j个作业的本地服务器数目的百分比。

上述资源预估模型中的Pslot的计算公式如下所示:

Pslot=Tavg/THeat;其中

Tavg表示执行一个映射任务需要的时间。

上述资源预估模型中的PjLocalData的计算公式如下所示:

PjLocalData=Nodesj/N;其中

Nodesj表示服务器集群200中存储有用于处理第j个作业所需数据块的子 服务器202的数目,即第j个作业的本地服务器的数目;

N表示服务器集群200中的所有服务器数目。

上述资源预估模型中的PjCompete的计算公式如下所示:

PjCompete=NodesjAhead/Nodesj;其中

NodesjAhead表示服务器集群200中存储有第j个作业的竞争数据块的竞争 服务器的数目。其中,第j个作业的竞争数据块定义为:用于处理第j个作业 以及主服务器201的待处理作业队列中优先级高于第j个作业的其它作业所需 的同一个数据块。竞争服务器定义为:服务器集群200中存储有所述竞争数据 块的子服务器202。

下面将以本发明的较佳实施方式为例对本发明的作业调度方法进行说 明:

如图3所示,在步骤S101中,本发明作业调度系统管理人员指定服务器 集群200中的一台服务器作为主服务器201,通过主服务器201接收用户通过 作业提交设备100提交的作业,将作业添加到待处理作业队列,并依照作业提 交时间确定待处理作业队列中各个作业的优先级,依照作业的优先级对待处理 作业队列中的作业进行排序,以确定各个作业的先后处理顺序。

在步骤S102中,主服务器201通过接收模块2011接收到服务器集群200 中的任意一台子服务器M针对第j个作业发起的任务处理请求,遍历待处理 作业队列,读取第j个作业。

在步骤S103中,主服务器201判断子服务器M是否为第j个作业的本 地服务器。如子服务器M为第j个作业的本地服务器,则执行步骤S104,否 则,执行步骤S105。

在步骤S104中,主服务器201将第j个作业分配到子服务器M,由子服 务器M对第j个作业进行处理。第j个作业的处理过程如下所示:子服务器M 查找服务器集群200中第j个作业的本地服务器,拷贝由该本地服务器存储的 用于处理第j个作业所需的数据块,并依照第j个作业对拷贝的数据块进行处 理,以将第j个作业执行完毕。

在步骤S105中,主服务器201根据资源预估模型计算一个数据块传输周 期T内服务器集群200中由第j个作业的本地服务器针对第j个作业发起的任 务处理请求次数Ej。其中,该资源预估模型如下所示:

Ej=T×(N/THeat)×Slotavg×Pslot×PjLocalData×PjCompete

在步骤S106中,主服务器201判断该任务处理请求次数Ej是否达到或超 过一次。如该任务处理请求次数Ej低于一次,则表示在下一个数据块传输周 期T内服务器集群200中第j个作业的本地服务器针对第j个作业提交的任务 处理请求次数低于一次。换言之,就第j个作业的任务分配执行效率而言,主 服务器201接收到第j个作业的本地服务器针对第j个作业发起的任务处理请 求所需的等待时间必定超过子服务器M从其它子服务器202拷贝第j个作业 所需本地数据块的时间(即一个数据块的传输周期T)。故在步骤S106中,为 提高主服务器201的任务分配效率,当主服务器201判断该任务处理请求次数 Ej低于一次时,返回步骤S104,并在步骤S104执行完毕时进入步骤S108。

如该任务处理请求次数Ej达到或超过一次,则表示在下一个数据块传输 周期T内服务器集群200中第j个作业的本地服务器针对第j个作业提交的任 务处理请求次数达到或超过一次。换言之,就第j个作业的任务分配执行效率 而言,主服务器201接收到第j个作业的本地服务器针对第j个作业发起的任 务处理请求所需的等待时间不会超过子服务器M从其它子服务器202拷贝第 j个作业所需本地数据块的时间(即一个数据块的传输周期T)。故在步骤S106 中,为提高主服务器201的任务分配效率,当主服务器201判断该任务处理请 求次数Ej达到或超过一次时,执行下一步骤S107。

在步骤S107中,主服务器201通过任务分配模块2022执行第j个作业的 延时调度工作(即将第j个作业分配到下一个数据块传输周期T内服务器集群 200中向第j个作业发起任务处理请求的任意一台子服务器M′;其中,M′ 为变量,M′≥1,且M′为正整数)。

在步骤S108中,主服务器201依照上述步骤S202至步骤S207循坏执行 第(j+1)个作业(即主服务器201的待处理作业队列中优先级低于第j个作 业的下一个作业)的调度工作。需要说明的是,在本发明中,j为变量,j≥1, 且j为正整数,主服务器201每完成第j个作业的任务调度工作,j的值递增1。

在步骤S109中,主服务器201判断待处理作业队列中的所有作业是否均 已分配完毕。如待处理队列中存在尚未调度的作业,则返回步骤S108,否则, 执行下一步骤S110。

在步骤S110中,主服务器201停止执行待处理作业队列中的作业调度工 作。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发 明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号