任务调度方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:21224424 阅读:28 留言:0更新日期:2019-05-29 05:10
本申请公开了一种任务调度方法、装置、电子设备及可读存储介质,涉及任务调度技术领域,该方法应用于调度器,该方法包括:确定自身负载参数,监测所述自身负载参数是否超出预设的负载参数阈值;如果是,则确定待释放的第一目标任务,并向服务器发送任务释放指令;所述任务释放指令中携带有所述第一目标负载参数,以及所述第一目标任务的任务识别标识;所述第一目标负载参数为所述自身负载参数。本申请使每个调度器达到负载均衡,避免分布式计算系统出现资源瓶颈,进而提升分布式计算系统的计算效率。

Task Scheduling Method, Device, Electronic Equipment and Readable Storage Media

This application discloses a task scheduling method, device, electronic equipment and readable storage medium, which relates to the technical field of task scheduling. The method is applied to a scheduler. The method includes: determining its own load parameters, monitoring whether the load parameters exceed the preset threshold of load parameters; if so, determining the first target task to be released and sending it to the server. The task release instruction carries the first target load parameter and the task identification identifier of the first target task, and the first target load parameter is the self load parameter. This application enables each dispatcher to achieve load balancing, avoids resource bottlenecks in distributed computing systems, and thus improves the computing efficiency of distributed computing systems.

【技术实现步骤摘要】
任务调度方法、装置、电子设备及可读存储介质
本申请涉及任务调度
,尤其是涉及一种任务调度方法、装置、电子设备及可读存储介质。
技术介绍
现有的分布式计算系统中,在调度器间进行任务调度时,仅在分配任务时,基于每个调度器上运行的任务个数和待分配的任务个数进行任务调度。由于不同任务对调度器的资源占用情况也是不同的,在一些情况下不同调度器上运行的任务个数相近,但占用的资源相差很大。此时仅根据每个调度器上运行的任务个数和待分配的任务个数进行任务调度,会出现资源占用较多的调度器继续抢占更多的任务的情况,每个调度器的运算资源无法达到真正的负载均衡,从而使整个分布式计算系统出现资源瓶颈,影响分布式计算系统的计算效率。
技术实现思路
有鉴于此,本申请的目的在于提供一种任务调度方法、装置、电子设备及可读存储介质,使每个调度器达到负载均衡,避免分布式计算系统出现资源瓶颈,进而提升分布式计算系统的计算效率。第一方面,本申请实施例提供一种任务调度方法,该方法在调度器中执行,该方法包括:确定自身负载参数,监测所述自身负载参数是否超出预设的负载参数阈值;如果是,则确定待释放的第一目标任务,并向服务器发送任务释放指令;所述任务释放指令中携带有所述第一目标负载参数,以及第一目标任务的任务识别标识;所述第一目标负载参数为所述自身负载参数。一种可能的实施方式中,该方法还包括:在监听到第二目标任务的释放任务事件后,根据所述第二目标任务的释放任务事件中携带的第二目标负载参数以及自身负载参数确定是否抢占所述第二目标任务;如果是,向所述服务器发送针对所述第二目标任务的抢占请求。一种可能的实施方式中,所述根据所述第二目标负载参数与自身负载参数确定是否抢占所述第二目标任务,包括:确定所述自身负载参数;将所述自身负载参数与所述第二目标负载参数进行比对;若所述自身负载参数小于所述第二目标负载参数,则确定抢占所述第二目标任务。一种可能的实施方式中,采用如下步骤确定自身负载参数:获取自身的资源信息和任务信息;根据所述资源信息和所述任务信息,确定自身负载参数。一种可能的实施方式中,所述根据所述资源信息和所述任务信息,确定自身负载参数,包括:根据所述资源信息,确定资源负载参数;根据所述任务信息,确定第一任务负载参数;将所述资源负载参数和所述第一任务负载参数中的较大者,确定为所述自身负载参数。一种可能的实施方式中,所述资源信息包括:处理器资源占用率和存储资源占用率;所述根据所述资源信息,确定资源负载参数,包括:根据所述处理器资源占用率以及与所述处理器资源占用率对应的权重系数,确定处理器资源参数;根据所述存储资源占用率以及与所述存储资源占用率对应的权重系数,确定存储资源参数;将所述处理器资源参数和所述存储资源参数中的较大者,确定为所述资源负载参数。一种可能的实施方式中,所述任务信息包括:每个任务中包含任务单元的个数,和调度每个任务所需的时长;所述根据所述任务信息,确定第一任务负载参数,包括:针对每个任务,获取每个任务中包含任务单元的个数大于预设的个数阈值的第一任务集合;针对每个任务,获取调度每个任务所需的时长大于预设的时长阈值的第二任务集合;选取第一任务集合与第二任务集合的并集作为第三任务集合;将所述第三任务集合中包含的任务的个数与所述调度器中运行的总任务数的比值,确定为所述第一任务负载参数。一种可能的实施方式中,所述确定待释放的第一目标任务,包括:根据所述任务信息,确定每个任务的第二任务负载参数;将第二任务负载参数最大的任务确定为所述第一目标任务。一种可能的实施方式中,所述任务信息,包括:每个任务中包含任务单元的个数,和调度每个任务所需的时长;所述根据所述任务信息,确定每个任务的第二任务负载参数,包括:针对每个任务,根据调度该任务所需的时长与预设的时长阈值之间的比值,计算单位调度时长;根据该任务中包含任务单元的个数和所述单位调度时长,得到该任务的第二任务负载参数。一种可能的实施方式中,在向所述服务器发送任务释放指令之前,还包括:检测所述第一目标任务是否处于运行状态;若检测到所述第一目标任务并非处于运行状态,则释放第一目标任务;若检测到所述第一目标任务处于运行状态,则等待所述第一目标任务执行完毕后,释放所述第一目标任务;所述向所述服务器发送任务释放指令,包括:在释放所述第一目标任务后,向所述服务器发送任务释放指令。第二方面,本申请实施例还提供一种任务调度方法,该方法在服务器中执行,该方法包括:接收调度器发送的任务释放指令;任务释放指令中携带有第一目标负载参数以及第一目标任务的任务识别标识;将与所述任务识别标识对应的第一目标任务进行解锁,并根据所述第一目标负载参数生成第一目标任务的释放任务事件。一种可能的实施方式中,该方法还包括:当接收到所述调度器发送的抢占请求后,将第二目标任务分配给调度器,并将所述第二目标任务加锁;其中,所述抢占请求是所述调度器基于自身负载参数以及第二目标负载参数确定的。第三方面,本申请实施例还提供一种任务调度装置,该装置设置在调度器中,包括:检测模块,用于监测自身负载参数是否超出预设的负载参数阈值;确定模块,用于确定待释放的第一目标任务;释放模块,用于向服务器发送任务释放指令;所述任务释放指令中携带有第一目标负载参数,以及第一目标任务的任务识别标识;所述第一目标负载参数为所述自身负载参数。一种可能的实施方式中,该装置还包括:监听模块,用于监听第二目标任务的释放任务事件;获取模块,用于获取第二目标任务的释放任务事件中携带的第二目标负载参数;抢占模块,根据所述第二目标任务的释放任务事件中携带的第二目标负载参数以及自身负载参数,确定是否抢占所述第二目标任务;如果是,向所述服务器发送针对所述第二目标任务的抢占请求。一种可能的实施方式中,所述抢占模块,还用于:确定所述自身负载参数;将所述自身负载参数与所述第二目标负载参数进行比对;若所述自身负载参数小于所述第二目标负载参数,则确定抢占所述第二目标任务。一种可能的实施方式中,所述装置,还包括:计算模块,用于获取自身的资源信息和任务信息;根据自身的资源信息和所述任务信息,确定自身负载参数。一种可能的实施方式中,所述计算模块,具体用于:根据所述资源信息,确定资源负载参数;根据所述任务信息,确定第一任务负载参数;将所述资源负载参数和所述第一任务负载参数中的较大者,确定为所述自身负载参数。一种可能的实施方式中,所述资源信息包括:处理器资源占用率和存储资源占用率;所述计算模块,还用于:根据所述处理器资源占用率以及与所述处理器资源占用率对应的权重系数,确定处理器资源参数;根据所述存储资源占用率以及与所述存储资源占用率对应的权重系数,确定存储资源参数;将所述处理器资源参数和所述存储资源参数中的较大者,确定为所述资源负载参数。一种可能的实施方式中,所述任务信息包括:每个任务中包含任务单元的个数,和调度每个任务所需的时长;所述计算模块,还用于:针对每个任务,获取每个任务中包含任务单元的个数大于预设的个数阈值的第一任务集合;针对每个任务,获取调度每个任务所需的时长大于预设的时长阈值的第二任务集合;选取第一任务集合与第二任务集合的并集作为第三任务集合;将所述第三任务集合中包含的任务的个数与所述调度器中运行的总任务数本文档来自技高网...

【技术保护点】
1.一种任务调度方法,其特征在于,该方法应用于调度器,该方法包括:确定自身负载参数,监测所述自身负载参数是否超出预设的负载参数阈值;如果是,则确定待释放的第一目标任务,并向服务器发送任务释放指令;所述任务释放指令中携带有所述第一目标负载参数,以及所述第一目标任务的任务识别标识;所述第一目标负载参数为所述自身负载参数。

【技术特征摘要】
1.一种任务调度方法,其特征在于,该方法应用于调度器,该方法包括:确定自身负载参数,监测所述自身负载参数是否超出预设的负载参数阈值;如果是,则确定待释放的第一目标任务,并向服务器发送任务释放指令;所述任务释放指令中携带有所述第一目标负载参数,以及所述第一目标任务的任务识别标识;所述第一目标负载参数为所述自身负载参数。2.根据权利要求1所述的方法,其特征在于,该方法还包括:在监听到第二目标任务的释放任务事件后,根据所述第二目标任务的所述释放任务事件中携带的第二目标负载参数以及自身负载参数确定是否抢占所述第二目标任务;如果是,向所述服务器发送针对所述第二目标任务的抢占请求。3.根据权利要求2所述的方法,其特征在于,所述根据所述第二目标负载参数与自身负载参数确定是否抢占所述第二目标任务,包括:确定所述自身负载参数;将所述自身负载参数与所述第二目标负载参数进行比对;若所述自身负载参数小于所述第二目标负载参数,则确定抢占所述第二目标任务。4.根据权利要求1或3所述的方法,其特征在于,采用如下步骤确定自身负载参数:获取自身的资源信息和任务信息;根据所述资源信息和所述任务信息,确定自身负载参数。5.根据权利要求4所述的方法,其特征在于,所述根据所述资源信息和所述任务信息,确定自身负载参数,包括:根据所述资源信息,确定资源负载参数;根据所述任务信息,确定第一任务负载参数;将所述资源负载参数和所述第一任务负载参数中的较大者,确定为所述自身负载参数。6.根据权利要求5所述的方法,其特征在于,所述资源信息包括:处理器资源占用率和存储资源占用率;所述根据所述资源信息,确定所述资源负载参数,包括:根据所述处理器资源占用率以及与所述处理器资源占用率对应的权重系数,确定处理器资源参数;根据所述存储资源占用率以及与所述存储资源占用率对应的权重系数,确定存储资源参数;将所述处理器资源参数和所述存储资源参数中的较大者,确定为所述资源负载参数。7.根据权利要求5所述的方法,其特征在于,所述任务信息包括:每个任务中包含任务单元的个数,和调度每个任务所需的时长;所述根据所述任务信息,确定所述第一任务负载参数,包括:针对每个任务,获取每个任务中包含任务单元的个数大于预设的个数阈值的第一任务集合;针对每个任务,获取调度每个任务所需的时长大于预设的时长阈值的第二任务集合;选取所述第一任务集合与所述第二任务集合的并集作为第三任务集合;将所述第三任务集合中包含的任务的个数与所述调度器中运行的总任务数的比值,确定为所述第一任务负载参数。8.根据权利要求1所述的方法,其特征在于,所述确定待释放的第一目标任务,包括:根据所述任务信息,确定每个任务的第二任务负载参数;将第二任务负载参数最大的任务确定为所述第一目标任务。9.根据权利要求8所述的方法,其特征在于,...

【专利技术属性】
技术研发人员:毛正卫梁鑫李鹏飞
申请(专利权)人:普信恒业科技发展北京有限公司
类型:发明
国别省市:北京,11

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

1