任务调度方法、电子设备及存储介质技术

技术编号:34883072 阅读:17 留言:0更新日期:2022-09-10 13:40
本申请提供一种任务调度方法、电子设备及存储介质,该方法包括:基于应用程序请求信息形成应用任务图;确定应用任务图中各个应用任务对应的任务优先级,形成任务优先队列;基于优先队列集合确定队首任务集合;根据队首任务集合确定目标调度任务;分别确定边缘云系统中的各个异构边缘服务器对应的容器配置状态,确定目标调度任务在各个异构边缘服务器中分别对应的第一预估完成时间;确定目标调度任务在边缘云系统中的远程云服务器中的第二预估完成时间;基于各个第一预估完成时间以及第二预估完成时间确定目标调度服务器。本申请提供的方案,能够充分利用服务器资源,提升任务动态调度合理性,提高应用任务处理效率。提高应用任务处理效率。提高应用任务处理效率。

【技术实现步骤摘要】
任务调度方法、电子设备及存储介质


[0001]本申请涉及计算机
,尤其涉及一种任务调度方法、电子设备及存储介质。

技术介绍

[0002]随着云计算的快速发展,移动设备由于资源有限,因此选择将应用请求卸载到远程云数据中心执行,然而云计算难以满足一些延迟敏感应用的服务质量要求,因此需要在互联网边缘部署相对较小的边缘服务器来进行移动边缘计算,以便移动设备能够以低延迟的方式使用周围的计算资源。但由于边缘服务器的资源和计算能力都相对受限,而移动设备向边缘服务器发送的延迟敏感应用程序请求需要及时响应,通常会为这些延迟敏感应用程序请求指定截止日期,同时完善边缘服务器上的服务功能配置,提高延迟敏感应用程序请求调度合理性,以保证服务质量。目前常用的其中一种调度方式是基于静态调度算法生成调度方案,但是静态调度算法是假设处理器能够处理任何的任务请求,对于边缘处理器来说是不适用的,而在实际应用中,应用程序请求到达边缘处理器之前,边缘处理器对应用程序请求到达的顺序和时间在均无法得知,因此基于静态调度算法的调度方案对边缘服务器不适用。
[0003]现有技术中,提出了一种DAG任务调度方法,根据预先存储的元数据信息构建多个任务节点,及根据元数据间依赖关系构建多个任务节点间的依赖关系,对任务节点进行拓扑排序,生成DAG任务关系图,根据触发地对任务节点的调度请求,执行对应的任务节点的任务,并实时修改DAG任务关系图中对应的任务节点的显示样式。
[0004]上述现有技术存在以下缺点:
[0005]该方案仅考虑离线环境下的DAG任务调度问题,而没有考虑实际应用场景中对应用程序请求的处理任务是动态进行的,无法通过提升任务动态调度合理性来提高应用任务处理效率。

技术实现思路

[0006]本申请提供一种任务调度方法、电子设备及存储介质,用以解决现有技术中没有考虑实际应用场景中对应用程序请求的处理任务是动态进行的,从而无法通过提升任务动态调度合理性来提高应用任务处理效率的缺陷,实现充分利用服务器资源,提升任务动态调度合理性的目的,从而提高应用任务处理效率。
[0007]本申请第一方面提供一种任务调度方法,包括:
[0008]获取应用程序请求信息,基于应用程序请求信息形成应用任务图,应用任务图为描述应用程序请求信息中的应用任务信息以及待处理任务数据的有向无环图;
[0009]确定应用任务图中各个应用任务对应的任务优先级,基于各个应用任务对应的任务优先级形成任务优先队列;
[0010]基于优先队列集合确定队首任务集合,优先队列集合为若干个任务优先队列形成的集合,队首任务集合为各个任务优先队列的队首任务形成的集合;
[0011]根据队首任务集合确定目标调度任务;
[0012]分别确定边缘云系统中的各个异构边缘服务器对应的容器配置状态,根据各个异构边缘服务器对应的容器配置状态确定目标调度任务在各个异构边缘服务器中分别对应的第一预估完成时间;
[0013]确定目标调度任务在边缘云系统中的远程云服务器中的第二预估完成时间;
[0014]基于各个第一预估完成时间以及第二预估完成时间确定目标调度服务器,将目标调度任务分配至目标调度服务器中执行任务处理。
[0015]在一种实施例中,根据各个异构边缘服务器对应的容器配置状态确定目标调度任务在各个异构边缘服务器中分别对应的第一预估完成时间,包括:
[0016]获取与目标调度任务对应的前驱任务的前驱完成时间,根据前驱完成时间分别确定目标调度任务在各个异构边缘服务器中对应的第一预估启动时间;
[0017]根据各个异构边缘服务器对应的容器配置状态确定目标调度任务在各个异构边缘服务器中分别对应的第二预估启动时间,容器配置状态包括第一状态、第二状态以及第三状态,第一状态为异构边缘服务器具有与目标调度任务匹配的任务执行容器的状态;第二状态为异构边缘服务器缺少任务执行容器,且异构边缘服务器存在空闲资源配置任务执行容器的状态;第三状态为异构边缘服务器缺少任务执行容器,且异构边缘服务器不存在空闲资源配置任务执行容器的状态;
[0018]基于各个第一预估启动时间以及各个第二预估启动时间确定目标调度任务在各个异构边缘服务器对应的预估任务启动时间;
[0019]分别根据各个预估任务启动时间和目标调度任务的任务处理时间确定目标调度任务在各个异构边缘服务器中分别对应的第一预估完成时间。
[0020]在一种实施例中,根据前驱完成时间分别确定目标调度任务在各个异构边缘服务器中对应的第一预估启动时间,包括:
[0021]根据前驱任务执行完成后的任务数据量以及第一预设数据传输速率确定第一通信开销时间,第一预设数据传输速率为各个异构边缘服务器之间设定的数据传输速率;
[0022]根据前驱完成时间以及第一通信开销时间确定目标调度任务在各个异构边缘服务器中对应的第一预估启动时间。
[0023]在一种实施例中,根据各个异构边缘服务器对应的容器配置状态确定目标调度任务在各个异构边缘服务器中分别对应的第二预估启动时间,包括:
[0024]若容器配置状态为第一状态,则获取任务执行容器的待处理任务队列,基于待处理任务队列确定初始空闲时隙集合,初始空闲时隙集合为相邻待处理任务之间的空闲时隙组成的集合;从初始空闲时隙集合中剔除无效空闲时隙,无效空闲时隙为时长小于任务处理时间的空闲时隙,得到目标空闲时隙集合;当目标空闲时隙集合为非空集合时,则将第二预估启动时间确定为目标空闲时隙集合中时隙开始时间最早的空闲时隙对应的时隙开始时间;
[0025]若容器配置状态为第二状态,则将第二预估启动时间确定为任务执行容器在异构边缘服务器上完成配置的时间;
[0026]若容器配置状态为第三状态,则遍历异构边缘服务器上的所有服务容器的工作状态,当异构边缘服务器上存在至少一个空闲容器时,通过容器替换算法删除目标空闲容器,
并且将任务执行容器配置在异构边缘服务器上,将第二预估启动时间确定为任务执行容器在异构边缘服务器上完成配置的时间;当异构边缘服务器上不存在空闲容器时,在异构边缘服务器的所有服务容器中确定待处理任务最少的服务容器为目标替换容器,将第二预估启动时间确定为目标替换容器完成待处理任务后,将目标替换容器删除并在异构边缘服务器上完成任务执行容器的配置的时间;
[0027]容器替换算法具体为:在至少一个的空闲容器中确定进入空闲状态时间最早的服务容器为目标空闲容器。
[0028]在一种实施例中,基于各个第一预估启动时间以及各个第二预估启动时间确定目标调度任务在各个异构边缘服务器对应的预估任务启动时间,包括:
[0029]分别将各个异构边缘服务器对应的第一预估启动时间与第二预估启动时间进行对比,若当前异构边缘服务器对应的第一预估启动时间大于当前异构边缘服务器对应的第二预估启动时间,则确定当前异构边缘服务器对应的第一预估启动时间为当前异构边缘服务器对应的预估任务启动时间;
[0030]若当前异构边缘服务器本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务调度方法,其特征在于,包括:获取应用程序请求信息,基于所述应用程序请求信息形成应用任务图,所述应用任务图为描述所述应用程序请求信息中的应用任务信息以及待处理任务数据的有向无环图;确定所述应用任务图中各个应用任务对应的任务优先级,基于各个应用任务对应的任务优先级形成任务优先队列;基于优先队列集合确定队首任务集合,所述优先队列集合为若干个任务优先队列形成的集合,所述队首任务集合为各个任务优先队列的队首任务形成的集合;根据所述队首任务集合确定目标调度任务;分别确定边缘云系统中的各个异构边缘服务器对应的容器配置状态,根据各个异构边缘服务器对应的容器配置状态确定所述目标调度任务在各个异构边缘服务器中分别对应的第一预估完成时间;确定所述目标调度任务在所述边缘云系统中的远程云服务器中的第二预估完成时间;基于各个第一预估完成时间以及所述第二预估完成时间确定目标调度服务器,将所述目标调度任务分配至所述目标调度服务器中执行任务处理。2.根据权利要求1所述的任务调度方法,其特征在于,所述根据各个异构边缘服务器对应的容器配置状态确定所述目标调度任务在各个异构边缘服务器中分别对应的第一预估完成时间,包括:获取与所述目标调度任务对应的前驱任务的前驱完成时间,根据所述前驱完成时间分别确定所述目标调度任务在各个异构边缘服务器中对应的第一预估启动时间;根据各个异构边缘服务器对应的容器配置状态确定所述目标调度任务在各个异构边缘服务器中分别对应的第二预估启动时间,所述容器配置状态包括第一状态、第二状态以及第三状态,所述第一状态为所述异构边缘服务器具有与所述目标调度任务匹配的任务执行容器的状态;所述第二状态为所述异构边缘服务器缺少所述任务执行容器,且所述异构边缘服务器存在空闲资源配置所述任务执行容器的状态;所述第三状态为所述异构边缘服务器缺少所述任务执行容器,且所述异构边缘服务器不存在空闲资源配置所述任务执行容器的状态;基于各个第一预估启动时间以及各个第二预估启动时间确定所述目标调度任务在各个异构边缘服务器对应的预估任务启动时间;分别根据各个预估任务启动时间和所述目标调度任务的任务处理时间确定所述目标调度任务在各个异构边缘服务器中分别对应的第一预估完成时间。3.根据权利要求2所述的任务调度方法,其特征在于,所述根据所述前驱完成时间分别确定所述目标调度任务在各个异构边缘服务器中对应的第一预估启动时间,包括:根据所述前驱任务执行完成后的任务数据量以及第一预设数据传输速率确定第一通信开销时间,所述第一预设数据传输速率为各个异构边缘服务器之间设定的数据传输速率;根据所述前驱完成时间以及所述第一通信开销时间确定所述目标调度任务在各个异构边缘服务器中对应的第一预估启动时间。4.根据权利要求2所述的任务调度方法,其特征在于,
所述根据各个异构边缘服务器对应的容器配置状态确定所述目标调度任务在各个异构边缘服务器中分别对应的第二预估启动时间,包括:若所述容器配置状态为所述第一状态,则获取所述任务执行容器的待处理任务队列,基于所述待处理任务队列确定初始空闲时隙集合,所述初始空闲时隙集合为相邻待处理任务之间的空闲时隙组成的集合;从所述初始空闲时隙集合中剔除无效空闲时隙,所述无效空闲时隙为时长小于所述任务处理时间的空闲时隙,得到目标空闲时隙集合;当所述目标空闲时隙集合为非空集合时,则将所述第二预估启动时间确定为所述目标空闲时隙集合中时隙开始时间最早的空闲时隙对应的时隙开始时间;若所述容器配置状态为所述第二状态,则将所述第二预估启动时间确定为所述任务执行容器在所述异构边缘服务器上完成配置的时间;若所述容器配置状态为所述第三状态,则遍历所述异构边缘服务器上的所有服务容器的工作状态,当所述异构边缘服务器上存在至少一个空闲容器时,通过容器替换算法删除...

【专利技术属性】
技术研发人员:李文萃郭少勇李雄安致嫄杨燚吴利杰刘岩陈洁蔚党芳芳董凯丽王雷
申请(专利权)人:北京邮电大学国家电网有限公司
类型:发明
国别省市:

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

1