调度方法、系统、服务器和计算机可读存储介质技术方案

技术编号:35846826 阅读:21 留言:0更新日期:2022-12-07 10:27
本发明专利技术实施例涉及计算机技术领域,特别涉及一种调度方法、系统、服务器和计算机可读存储介质。上述调度方法包括:获取各待调度任务的信息;其中,所述各待调度任务的信息包括各待调度任务的父子关系;根据所述各待调度任务和所述父子关系,获取所述各待调度任务的多叉树;根据所述多叉树,对所述各待调度任务进行调度。本发明专利技术实施例提供的调度方法,旨在高效地、准确地对各待调度任务进行调度,降低调度资源的开销,无需提升硬件设备性能,避免支付高昂的硬件设备的后期维护成本。高昂的硬件设备的后期维护成本。高昂的硬件设备的后期维护成本。

【技术实现步骤摘要】
调度方法、系统、服务器和计算机可读存储介质


[0001]本申请实施例涉及计算机
,特别涉及一种调度方法、系统、服务器和计算机可读存储介质。

技术介绍

[0002]调度技术一直被广泛的应用于空间环境、物流配送、生产排班、商业服务等领域。在计算机
中,同样存在着计算资源的调度问题。随着大数据技术的飞速发展,计算需求变得越来越复杂和繁重。在数据仓库中会有非常多的计算任务。相关技术中,大多依据任务执行状态表或以往的调度策略进行调度。
[0003]然而,数据仓库中的任务是不断更新、动态增减的,依据先验知识形成的任务执行状态表,以及以往的调度策略,很可能不适用于新的任务调度,这都会导致调度准确性差,调度不稳定,调度效率不高,对此只能提升硬件的设备性能来支持任务正常进行,增加了投入成本和硬件设备的后期维护成本。

技术实现思路

[0004]本申请实施例的主要目的在于提出一种调度方法、系统、服务器和计算机可读存储介质。旨在高效地、准确地对各待调度任务进行调度,降低调度资源的开销,无需提升硬件设备性能,避免支付高昂的硬件设备的后期维护成本。
[0005]为实现上述目的,本申请实施例提供了一种调度方法,所述方法包括:获取各待调度任务的信息;其中,所述各待调度任务的信息包括各待调度任务的父子关系;根据所述各待调度任务和所述父子关系,获取所述各待调度任务的多叉树;根据所述多叉树,对所述各待调度任务进行调度。
[0006]为实现上述目的,本申请实施例还提供一种调度系统,所述系统包括数据库、调度器和计算器;所述数据库分别与所述调度器和所述计算器连接,所述调度器还与所述计算器连接;所述数据库用于存储各待调度任务和所述各待调度任务的信息,其中,所述各待调度任务的信息包括各待调度任务之间的父子关系;所述调度器用于从所述数据库中获取所述各待调度任务的信息,根据所述各待调度任务和所述父子关系,获取所述各待调度任务的多叉树;所述计算器用于从所述数据库获取所述各待调度任务,根据所述多叉树,对所述各待调度任务进行调度。
[0007]为实现上述目的,本申请实施例还提供了一种服务器,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的调度方法。
[0008]为实现上述目的,本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的调度方法。
[0009]本申请提出的调度方法、系统、服务器和计算机可读存储介质,获取各待调度任务
的信息;其中,所述各待调度任务的信息包括各待调度任务之间的父子关系;根据所述各待调度任务和所述父子关系,获取所述各待调度任务的多叉树,多叉树可以将各待调度任务之间的多维生动、形象地展现出来,从而快速、清晰、科学、准确地理清所有待调度任务之间的依赖关系和串行关系。根据所述各待调度任务的多叉树,对所述各待调度任务进行调度,考虑到相关的调度技术只是在以往的调度策略基础上进行调度,不能很好地适用如今不断发生变化的任务,导致调度准确性很差,从而导致任务出错,本专利技术的实施例,通过获取各待调度任务的多叉树并根据多叉树进行调度的方式,可以高效地、准确地对各待调度任务进行调度,降低了调度资源的开销,无需提升硬件设备性能,避免支付高昂的硬件设备的后期维护成本。
附图说明
[0010]图1是根据本专利技术一个实施例的调度方法的流程图一;
[0011]图2是根据本专利技术一个实施例中,根据各待调度任务和父子关系,获取各待调度任务的多叉树的流程图;
[0012]图3是根据本专利技术一个实施例中提供的一种各待调度任务的多叉树的示意图一;
[0013]图4是根据本专利技术一个实施例中,根据多叉树,对各待调度任务进行调度的流程图;
[0014]图5是根据本专利技术另一个实施例的调度方法的流程图二;
[0015]图6是根据本专利技术另一个实施例中提供的一种各待调度任务的多叉树示意图二;
[0016]图7是根据本专利技术另一个实施例中提供的一种根据新增的待调度任务,更新多叉树的流程图;
[0017]图8是根据本专利技术另一个实施例中提供的一种各待调度任务的多叉树示意图三;
[0018]图9是根据本专利技术另一个实施例中提供的一种根据需要修改父任务的任务,更新多叉树的流程图;
[0019]图10是根据本专利技术另一个实施例中提供的一种各待调度任务的多叉树示意图四;
[0020]图11是根据本专利技术另一个实施例的调度系统的结构示意图;
[0021]图12是根据本专利技术另一个实施例中,计算器的具体结构示意图
[0022]图13是根据本专利技术另一个实施例的服务器的结构示意图。
具体实施方式
[0023]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本申请的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
[0024]本专利技术的一个实施例涉及一种调度方法,应用于服务器。下面对本实施例的调度方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
[0025]本专利技术的实施例的应用场景可以包括但不限于:在数据仓库中进行计算机计算任务的调度;在物流车间进行物流货物分拣任务的调度;在外卖平台中进行骑手送餐任务的调度;在公司、工厂中进行生产排班任务的调度;在快递平台中进行快递员送快递任务的调度等。
[0026]本实施例的调度方法的具体流程可以如图1所示,包括:
[0027]步骤101,获取各待调度任务的信息。
[0028]具体而言,服务器在进行调度之前,可以先获取各待调度任务的信息。其中,各待调度任务的信息包括各待调度任务之间的父子关系。
[0029]在具体实现中,各待调度任务的信息还可以包括但不限于:任务的身份标识号(Identity document,简称:ID),任务的父任务ID,任务的有效期,任务执行状态,任务开始时间和任务结束时间等。
[0030]在一个例子中,服务器确定待调度任务包括任务A、任务B、任务E、任务G和任务J,其中,任务A和任务B不需要依赖任何任务的结果即可执行,任务E需要依赖任务A的结果才可以执行,任务G需要依赖任务B的结果才可以执行,任务J需要依赖任务E的结果才可以执行,服务器确定任务A、任务B没有父任务,任务E的父任务为任务A,任务G的父任务为任务B,任务J的父任务为任务E。
[0031]在一个例子中,待调度任务为数据仓库中的所有任务,服务器可以对所有本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种调度方法,应用于服务器,其特征在于,包括:获取各待调度任务的信息;其中,所述各待调度任务的信息包括各待调度任务的父子关系;根据所述各待调度任务和所述父子关系,获取所述各待调度任务的多叉树;根据所述多叉树,对所述各待调度任务进行调度。2.根据权利要求1所述的调度方法,其特征在于,所述根据所述多叉树,对所述各待调度任务进行调度,包括:根据所述多叉树,确定所述各待调度任务中需要进行同一串行运行的任务;将所述需要进行同一串行运行的任务放入同一个线程中,并将所有线程压入线程池;运行所述线程池中的线程。3.根据权利要求2所述的调度方法,其特征在于,所述根据所述多叉树,确定所述各待调度任务中需要进行同一串行运行的任务,包括:对所述多叉树进行广度遍历,确定所述各待调度任务中需要进行同一串行运行的任务。4.根据权利要求1所述的调度方法,其特征在于,在所述根据所述多叉树,对所述各待调度任务进行调度之后,还包括:确定需要进行修复的任务;其中,所述需要进行修复的任务包括运行失败的任务,和/或,运行结果不符合预设标准的任务;根据所述多叉树,确定包含所述需要进行修复的任务的子路径;将所述子路径中的所有任务放入同一个线程中,并将所有线程压入线程池;运行所述线程池中的线程。5.根据权利要求4所述的调度方法,其特征在于,所述根据所述多叉树,确定包含所述需要进行修复的任务的子路径,包括:对所述多叉树进行深度遍历,确定包含所述需要进行修复的任务的子路径。6.根据权利要求1所述的调度方法,其特征在于,根据所述各待调度任务和所述父子关系,获取所述各待调度任务的多叉树,包括:将各待调度任务中没有父任务的待调度任务,作为各待调度任务的多叉树的一级子节点;将各待调度任务中有父任务的待调度任务,作为所述父任务所在节点的子节点,得到所述各待调度任务的多叉树。7.根据权利要求6所述的调度方法,其特征在于,在所述根据所述多叉树,对所述各待调度任务进行调度之后,还包括:获取新增的待调度任务,并获取所述新增的待调度任务的信息;其中,所述新增的待调度任务的信息包括新增的待调度任务的父子关系;根据所述新增的待调度任务的父子关系,判断所述新增的待调度任务是否有父任务;若所述新增的待调度任务没有父任务,将所述新增的待调度任务添加为一级子节点;若所述新增的待调度任务有父任务,且所述...

【专利技术属性】
技术研发人员:赵绍航
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:

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

1