CN117349021A - 计算任务调度方法、装置、电子设备及存储介质 - Google Patents

计算任务调度方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN117349021A
CN117349021A CN202311434097.2A CN202311434097A CN117349021A CN 117349021 A CN117349021 A CN 117349021A CN 202311434097 A CN202311434097 A CN 202311434097A CN 117349021 A CN117349021 A CN 117349021A
Authority
CN
China
Prior art keywords
target
cluster
workflow
computing
subtask
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311434097.2A
Other languages
English (en)
Inventor
刘骋昺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN202311434097.2A priority Critical patent/CN117349021A/zh
Publication of CN117349021A publication Critical patent/CN117349021A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请涉及数据处理相关技术领域,具体涉及一种计算任务调度方法、装置、电子设备及存储介质。其中,方法包括:获取多个计算子任务;选取多个计算子任务中未被执行的一个作为目标计算子任务;调用多个集群分别同时执行目标计算子任务;当至少一个集群完成目标计算子任务时,确定目标计算子任务的采信结果,控制其他集群停止;若多个计算子任务中存在计算子任务未被执行,重复执行上述步骤,如此设置,通过多个集群分别同时执行目标计算子任务,即使一些集群故障,也会存在集群较快的确定目标计算子任务采信结果,之后立即控制各个集群执行下一目标计算子任务,以便于更快完成目标工作流的计算。

Description

计算任务调度方法、装置、电子设备及存储介质
技术领域
本申请涉及数据处理相关技术领域,具体涉及一种计算任务调度方法、装置、电子设备及存储介质。
背景技术
随着科技的进步和社会的发展,大数据已经走进人们生活的各个领域。在大数据的应用过程中需要进行大量的计算。一个计算的工作流通常需要多个步骤。其中前面的步骤(任务节点)会产生中间数据,供后面的步骤使用。这样的工作流通常运行在一个存储+计算集群中。在集群故障或者变慢的情况下,会影响计算工作流的具体执行效率,导致计算变慢。
发明内容
有鉴于此,本申请的实施例致力于提供一种计算任务调度方法、装置、电子设备及存储介质,以更加避免集群故障或者变慢的情况下,影响计算工作流的具体执行效率,导致计算变慢。
本申请第一方面提供了一种计算任务调度方法,包括:
获取待执行的目标工作流;其中,所述目标工作流包括存在顺序关系的多个计算子任务;所述目标工作流用于执行预设的计算任务;
选取所述多个计算子任务中未被执行的一个作为目标计算子任务;
调用预设的多个集群,分别同时执行所述目标计算子任务;
针对所述多个集群中执行相同计算子任务的集群,当所述多个集群中的至少一个所述集群完成所述目标计算子任务时,基于完成所述目标计算子任务的集群的执行结果确定所述目标计算子任务的采信结果,控制正在执行目标计算子任务的集群停止执行所述目标计算子任务;
控制多个集群基于采信结果,并行执行与所述目标计算子任务时序相邻的计算子任务。
在一些实施例中,获取待执行的目标工作流,包括:
获取工作流配置文件;其中所述工作流配置文件为需要单集群执行的工作流;
将所述工作流配置文件转化为需要多集群执行工作流,作为目标工作流。
在一些实施例中,将所述工作流配置文件转化为需要多集群执行工作流,作为目标工作流,包括:
确定用于执行目标工作流的集群的集群属性;
将所述工作流配置文件转化为需要多集群执行的且符合所述集群属性的工作流,作为目标工作流。
在一些实施例中,将所述工作流配置文件转化为需要多集群执行工作流包括:
基于Fork-Join框架,在工作流配置文件中添加Fork节点和Join节点,以所述工作流配置文件转化为需要多集群执行工作流。
在一些实施例中,每一个集群均包括哨兵节点;所述哨兵节点用于监测各个集群是否完成目标计算子任务;
所述控制正在执行目标计算子任务的集群停止执行所述目标计算子任务,包括:
针对每一个集群,控制所述集群当所述哨兵节点监测到其他集群完成目标计算子任务时,停止执行目标计算子任务,并获取目标计算子任务的采信结果。
在一些实施例中,所述集群设置有临时目录和输出目录;
所述临时目录用于存储所述集群自身执行完成目标计算子任务后,得到的执行结果;
所述输出目录用于在确定所述目标计算子任务的采信结果后,存储所述采信结果;
所述确定所述目标计算子任务的采信结果,包括:
基于各个集群的临时目录内存储的执行结果,确定所述目标计算子任务的采信结果。
在一些实施例中,所述基于各个集群的临时目录内存储的执行结果,确定所述目标计算子任务的采信结果,包括:
若有且只有一个集群的临时目录存储有执行结果,确定临时目录存储的执行结果为所述目标计算子任务的采信结果;
若存在多个集群的临时目录存储有执行结果,确定在预设的集群信息列表中靠前的集群的临时目录存储的执行结果为所述目标计算子任务采信结果;
其中,集群信息列表中包括按照预设顺序排列的多个集群的信息。
本申请第二方面提供了一种计算任务调度装置,包括:
获取模块,用于获取待执行的目标工作流;其中,所述目标工作流包括存在顺序关系的多个计算子任务;
选取模块,用于选取所述多个计算子任务中未被执行且顺序最靠前的一个作为目标计算子任务;
执行模块,用于调用预设的多个集群,分别同时执行所述目标计算子任务;
确定模块,用于当所述多个集群中存在一个集群完成所述目标计算子任务时,确定所述目标计算子任务的采信结果,控制正在执行目标计算子任务的集群停止执行所述目标计算子任务;
所述选取模块,还用于若所述多个计算子任务中存在计算子任务未被执行,重新执行选取所述多个计算子任务中未被执行且顺序最靠前的一个作为目标计算子任务的步骤。
本申请第三方面提供了一种电子设备,包括:
处理器,以及用于存储所述处理器可执行程序的存储器;
所述处理器,用于通过运行所述存储器中的程序,实现如上述计算任务调度方法。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器运行时使得所述处理器执行上述的计算任务调度方法。
本申请所提供的一种计算任务调度方法,包括:获取待执行的目标工作流;其中,所述目标工作流包括存在顺序关系的多个计算子任务;选取所述多个计算子任务中未被执行且顺序最靠前的一个作为目标计算子任务;调用预设的多个集群,分别同时执行所述目标计算子任务;当所述多个集群中存在一个集群完成所述目标计算子任务时,确定所述目标计算子任务的采信结果,控制正在执行目标计算子任务的集群停止执行所述目标计算子任务;若所述多个计算子任务中存在计算子任务未被执行,转至选取所述多个计算子任务中未被执行且顺序最靠前的一个作为目标计算子任务的步骤。如此设置,本申请提供的方案中,通过多个集群分别同时执行目标计算子任务,如此即使一些集群故障,也会存在一些正常的集群较为快速的确定目标计算子任务采信结果,本申请提供的方案中当存在一个集群完成目标计算子任务时,则采信该结果认为目标计算子任务完成,立即控制各个集群执行下一目标计算子任务。如此本申请提供的方案,整体的运算速率不会受限于单一集群是否故障。在实际应用中,即使存在部分集群发生故障,也可以以较快的速度完成目标工作流的计算。
附图说明
通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本申请一个实施例提供的计算任务调度方法的流程示意图。
图2是本申请一个实施例提供的计算任务调度方法的部分流程示意图。
图3是本申请一个实施例提供的计算任务调度方法的部分流程示意图。
图4是本申请一个实施例提供的工作流转化示意图。
图5是本申请一个实施例提供的计算任务调度装置的结构示意图。
图6是本申请一个实施例提供的电子设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
申请概述
随着科技的进步和社会的发展,大数据已经走进人们生活的各个领域。在大数据的应用过程中需要进行大量的计算。一个计算的工作流通常需要多个步骤。其中前面的步骤(任务节点)会产生中间数据,供后面的步骤使用。这样的工作流通常运行在一个存储+计算集群中。在集群故障或者变慢的情况下,会影响计算工作流的具体执行效率,导致计算变慢。
为了解决上述问题,本申请提供一种方案,获取待执行的目标工作流;其中,所述目标工作流包括存在顺序关系的多个计算子任务;选取所述多个计算子任务中未被执行且顺序最靠前的一个作为目标计算子任务;调用预设的多个集群,分别同时执行所述目标计算子任务;当所述多个集群中存在一个集群完成所述目标计算子任务时,确定所述目标计算子任务的采信结果,控制正在执行目标计算子任务的集群停止执行所述目标计算子任务;若所述多个计算子任务中存在计算子任务未被执行,转至选取所述多个计算子任务中未被执行且顺序最靠前的一个作为目标计算子任务的步骤。如此设置,本申请提供的方案中,通过多个集群分别同时执行目标计算子任务,如此即使一些集群故障,也会存在一些正常的集群较为快速的确定目标计算子任务采信结果,本申请提供的方案中当存在一个集群完成目标计算子任务时,则采信该结果认为目标计算子任务完成,立即控制各个集群执行下一目标计算子任务。如此本申请提供的方案,整体的运算速率不会受限于单一集群是否故障。在实际应用中,即使存在部分集群发生故障,也可以以较快的速度完成目标工作流的计算。
在介绍了本申请的基本原理之后,下面将参考附图来具体介绍本申请的各种非限制性实施例。
示例性方法
图1是本申请一个实施例提供的计算任务调度方法的流程示意图。如图1所示,该方法包括如下内容。
步骤S110,获取待执行的目标工作流;其中,所述目标工作流包括存在顺序关系的多个计算子任务;
需要说明的是,工作流(Workflow),是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。工作流主要是为了实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。本申请提供的方案中,目标工作流是可以是用户直接输入的,也可以是基于用户输入的信息进行调整转化得到的。计算机读取的目标工作流之后,可以得到目标工作流包含的存在顺序关系的多个计算子任务。
步骤S120,选取所述多个计算子任务中未被执行的一个作为目标计算子任务;
需要说明的是,对于一个用于计算的目标工作流,前面的步骤(任务)会产生中间数据,供后面的步骤使用。基于此,一个目标工作流期包含的多个计算子任务之间往往存在顺序关系。一般情况下,需要优先执行的任务的顺序靠前。
步骤S130,调用预设的多个集群,分别同时执行所述目标计算子任务;
步骤S140,针对所述多个集群中执行相同计算子任务的集群,当所述多个集群中的至少一个所述集群完成所述目标计算子任务时,基于完成所述目标计算子任务的集群的执行结果确定所述目标计算子任务的采信结果,控制正在执行目标计算子任务的集群停止执行所述目标计算子任务;
需要强调的是,调用预设的多个集群,分别同时执行所述目标计算子任务;各个集群独立执行目标计算子任务,即使部分集群故障也可以保证存在正常的集群以一个较快的速度完成任务。当一个目标计算子任务完成之后,控制正在执行目标计算子任务的集群停止执行所述目标计算子任务;以便于各个集群分别同时执行下一个所述目标计算子任务,保证整个目标工作流的效率。
步骤S150,控制多个集群基于采信结果,并行执行与所述目标计算子任务时序相邻的计算子任务。
一般情况下,计算子任务的执行是按照预设的顺序一个一个的执行的,基于此,方案中在执行完一个计算子任务之后,可以执行与该计算子任务时序相邻的计算子任务。
具体的,若所述多个计算子任务中存在计算子任务未被执行,则选取所述多个计算子任务中未被执行且顺序最靠前的一个作为目标计算子任务,并调用预设的多个集群,基于所述采信结果,分别同时执行所述目标计算子任务。
具体的,本申请提供的方案中,重复执行步骤S140-步骤S150,直至所述多个计算子任务中不存在计算子任务未被执行,即:直至全部的任务均被执行。当所述的任务均被执行之后的得到的结果就是目标工作流采信结果。
综上所述,本申请提供的方案中,通过多个集群分别同时执行目标计算子任务,如此即使一些集群故障,也会存在一些正常的集群较为快速的确定目标计算子任务采信结果,本申请提供的方案中当存在一个集群完成目标计算子任务时,则采信该结果认为目标计算子任务完成,立即控制各个集群执行下一目标计算子任务。如此本申请提供的方案,整体的运算速率不会受限于单一集群是否故障。在实际应用中,即使存在部分集群发生故障,也可以以较快的速度完成目标工作流的计算。
在一些实施例中,可以通过预设的人机交互装置获取工作流配置文件,进一步的可以提示用户进行工作流的配置时直接配置符合要求的目标工作流。其中,符合要求的目标工作流指的是“需要多集群分别同时执行工作流中每一个任务的”工作流。
当然在实际应用中也可以由用户提供一个较为简单的工作流。这个简单的工作流必须可以较为完美的表征用户的实际需求,之后通过其他专业的工具或程序,对用户提供的简单工作流进行转化,得到符合要求的目标工作流;参照图2这种方式下,“获取待执行的目标工作流”的具体的工作流程包括:
步骤S210,获取工作流配置文件;其中所述工作流配置文件为需要单集群执行的工作流;
需要说明的是,需要单集群执行的工作流比较容易编辑,而且也可以更好的表征用户的对于任务的实际需求。基于此,本申请提供的方案中,支持用户提供需要单集群执行的工作流。
步骤S220,将所述工作流配置文件转化为需要多集群执行工作流,作为目标工作流。
需要说明的是,目标工作流需要多集群执行是本申请提供方案可以正常运行的必要前提,基于此,本申请提供的方案中,可以通过预先设置的程序或者配置,完成工作流配置文件的自动转化,将其转化为目标工作流。
具体的,参照图3“将所述工作流配置文件转化为需要多集群执行工作流,作为目标工作流”包括:
步骤S221,确定用于执行目标工作流的集群的集群属性;
需要说明的是,在实际应用中,为了使得预设的多个集群可以正常执行目标工作流,需要使得目标工作流与预设的多个集群的集群属性互相匹配。集群属性可以包括集群的数量,各个集群是否为高可用集群。
步骤S222,将所述工作流配置文件转化为需要多集群执行的且符合所述集群属性的工作流,作为目标工作流。
具体的,例如,当集群的数量为n时,可以将工作流配置文件转化为n链路的工作流,即:需要n个集群执行的工作流;当各个集群均为高可用集群时,可以修改工作流每一个任务的任务输出目录,将每一个任务的输出时存储的位置修改为输出至一个临时目录,在确定任务实际采信结果后,将该结果存储至输出目标。
在实际应用中,工作流的配置和转化可以使用YAML语言;进一步的,在进行转化时,可以基于Fork-Join框架,在工作流配置文件中添加Fork节点和Join节点,以所述工作流配置文件转化为需要多集群执行工作流。Fork-Join框架使用的是一种分而治之的一种思想模式。具体的,就是通过Fork节点和Join节点,把一个任务转化为多个相同任务,并由各个集群独立的去执行。
具体的转化前和转化后的工作流的对比可以参照图4,图4左侧对应的是转化前的部分工作流,图4右侧对应的是转化后的部分工作流。转化前的工作流为单链路工作流,只需要一个集群运行;转化后的工作流为多链路工作流,采用了fork-join框架,添加了fork节点和join节点需要两个集群运行。
在实际应用中,多集群运行的情况下,必须保证每个集群产出的数据是一致的,否则显然是不可接受的。基于此,本申请提供的方案中,预设的多个集群中,每一个集群均包括哨兵节点;所述哨兵节点用于监测各个集群是否完成目标计算子任务;当所述哨兵节点监测到其他集群完成目标计算子任务时,停止执行目标计算子任务,并从其他集群获取目标计算子任务的采信结果。
具体的,所述集群设置有临时目录和输出目录,用于完成目标计算子任务时,将执行结果存储至所述临时目录,还用于在确定目标计算子任务采信结果后,将所述目标计算子任务采信结果存储至所述输出目录;
需要说明的是,一般情况下,在多个集群中,某一个或多个集群会率先完成目标计算子任务,将得到的结果存储至各自的临时目录中,此时应该“确定所述目标计算子任务的采信结果”。具体的,基于各个集群的临时目录内存储的信息,确定所述目标计算子任务的采信结果。
若一个集群会率先完成目标计算子任务,此时默认临时目录存储的执行结果为所述目标计算子任务采信结果;即:若有且只有一个集群的临时目录存储有执行结果,确定临时目录存储的执行结果为所述目标计算子任务采信结果;
若多个集群会同时完成目标计算子任务,此时,为了保证结果的一致性,需要选择其中一个集群执行目标计算子任务得到的结果作为该目标计算子任务的结果。此时:“确定所述目标计算子任务的采信结果”的步骤如下:若存在多个集群的临时目录存储有执行结果,确定在预设的集群信息列表中靠前的集群的临时目录存储的执行结果为所述目标计算子任务采信结果;如此可以快速的在多个集群得到的结果中,选取出一个作为目标计算子任务采信结果。具体的,每一个集群执行完成目标计算此任务之后会得到一个执行结果,并将这个执行结果储存到临时目录中。如此,若多个集群同时完成目标计算任务,则存在多个集群的临时目录中存储有执行结果。此时,在预设的集群信息列表中查询这些临时目录中存储有执行结果的集群,确定出现位置更靠前的集群,即集群信息列表中在先的集群。对该集群的执行结果进行采信,也就是选取该集群的执行结果,为目标计算子任务采信结果。
需要说明的是,在执行目标工作流之前,需要统计用于执行目标工作流的集群,并将各个集群的信息汇总在一个表格内,得到集群信息列表,集群信息列表按照预设顺序存储有所述多个集群中各个集群的信息。本申请提供的方案中基于集群信息列表中各个集群的顺序作为评判的标准,采信集群信息列表中更靠前的集群的执行结果。当前在实际应用中可以灵活的设置具体的评判标准,本申请对此并不限定。
为了实现上述流程,每一个集群需要执行如下步骤:若哨兵节点检测到本集群率先完成目标计算子任务,则在确定所述目标计算子任务的采信结果后(若仅有本集群完成目标计算子任务,则确定本集群得到的结果为“所述目标计算子任务采信结果”;若存在多个集群完成目标计算子任务,基于前文提到的方式确定所述目标计算子任务的采信结果”)之后将目标计算子任务采信结果(若仅有本集群完成目标计算子任务,则“所述目标计算子任务采信结果”为本集群临时目录中的结果)移动到输出目录中;若哨兵节点检测到其他集群率先完成目标计算子任务,立即停止执行目标计算子任务,并在“确定所述目标计算子任务的采信结果”后,将“确定所述目标计算子任务的采信结果”复制到本集群的输出目录中,以便于下一个目标计算子任务调用本目标计算子任务采信结果。
综合上述各个优先实施例,本申请提供的方案,可以将工作流配置文件自动转化,得到目标工作流,并目标工作流的每个任务节点同时在多个集群上运行,通过哨兵(HA)节点,实现了多集群同时运行任务时的进度对齐、数据一致性保证,使得最快运行结束的集群胜出,将产出数据同步到其他集群,这样既保障了高可用性,也使得各个集群产出结果的一致性。
示例性装置
本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图5所示为本申请一个实施例提供的计算任务调度装置的框图。如图5所示,该装置包括:
获取模块51,用于获取待执行的目标工作流;其中,所述目标工作流包括存在顺序关系的多个计算子任务;
选取模块52,用于选取所述多个计算子任务中未被执行且顺序最靠前的一个作为目标计算子任务;
执行模块53,用于调用预设的多个集群,分别同时执行所述目标计算子任务;
确定模块54,用于当所述多个集群中存在一个集群完成所述目标计算子任务时,确定所述目标计算子任务的采信结果,控制正在执行目标计算子任务的集群停止执行所述目标计算子任务;
所述选取模块52,还用于若所述多个计算子任务中存在计算子任务未被执行,重新执行选取所述多个计算子任务中未被执行且顺序最靠前的一个作为目标计算子任务的步骤。
在一些实施例中,所述获取模块5具体用于:
获取工作流配置文件;其中所述工作流配置文件为需要单集群执行的工作流;
将所述工作流配置文件转化为需要多集群执行工作流,作为目标工作流。
在一些实施例中,所述获取模块51执行将所述工作流配置文件转化为需要多集群执行工作流,作为目标工作流时,具体用于:
确定用于执行目标工作流的集群的集群属性;
将所述工作流配置文件转化为需要多集群执行的且符合所述集群属性的工作流,作为目标工作流。
在一些实施例中,所述获取模块51执行将所述工作流配置文件转化为需要多集群执行工作流时具体用于:
基于Fork-Join框架,在工作流配置文件中添加Fork节点和Join节点,以所述工作流配置文件转化为需要多集群执行工作流。
在一些实施例中,每一个集群均包括哨兵节点;所述哨兵节点用于监测各个集群是否完成目标计算子任务;所述控制正在执行目标计算子任务的集群停止执行所述目标计算子任务,包括:针对每一个集群,控制所述集群当所述哨兵节点监测到其他集群完成目标计算子任务时,停止执行目标计算子任务,并获取目标计算子任务的采信结果。
在一些实施例中,所述集群设置有临时目录和输出目录;所述临时目录用于存储所述集群自身执行完成目标计算子任务后,得到的执行结果;所述输出目录用于在确定所述目标计算子任务的采信结果后,存储所述采信结果;所述确定所述目标计算子任务的采信结果,包括:
基于各个集群的临时目录内存储的执行结果,确定所述目标计算子任务的采信结果。
在一些实施例中,所述基于各个集群的临时目录内存储的执行结果,确定所述目标计算子任务的采信结果,包括:
若有且只有一个集群的临时目录存储有执行结果,确定临时目录存储的执行结果为所述目标计算子任务的采信结果;
若存在多个集群的临时目录存储有执行结果,确定在预设的集群信息列表中靠前的集群的临时目录存储的执行结果为所述目标计算子任务采信结果;
其中,集群信息列表中包括按照预设顺序排列的多个集群的信息。
示例性电子设备
下面,参考图6来描述根据本申请实施例的电子设备。图6图示了根据本申请实施例的电子设备的框图。
如图6所示,电子设备600包括一个或多个处理器610和存储器620。
处理器610可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备600中的其他组件以执行期望的功能。
存储器620可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器610可以运行所述程序指令,以实现上文所述的本申请的各个实施例的计算任务调度方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如类别对应关系等各种内容。
在一个示例中,电子设备600还可以包括:输入装置630和输出装置640,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入设备630还可以包括例如键盘、鼠标、接口等等。该输出装置640可以向外部输出各种信息,包括分析结果等。该输出设备640可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图6中仅示出了该电子设备中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的生计算任务调度方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的计算任务调度方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (10)

1.一种计算任务调度方法,其特征在于,包括:
获取待执行的目标工作流;其中,所述目标工作流包括存在顺序关系的多个计算子任务;所述目标工作流用于执行预设的计算任务;
选取所述多个计算子任务中未被执行的一个作为目标计算子任务;
调用预设的多个集群,分别同时执行所述目标计算子任务;
针对所述多个集群中执行相同计算子任务的集群,当所述多个集群中的至少一个所述集群完成所述目标计算子任务时,基于完成所述目标计算子任务的集群的执行结果确定所述目标计算子任务的采信结果,控制正在执行目标计算子任务的集群停止执行所述目标计算子任务;
控制多个集群基于采信结果,并行执行与所述目标计算子任务时序相邻的计算子任务。
2.根据权利要求1所述的计算任务调度方法,其特征在于,获取待执行的目标工作流,包括:
获取工作流配置文件;其中所述工作流配置文件为需要单集群执行的工作流;
基于预设的转化策略,将所述工作流配置文件转化为需要多集群执行工作流,作为目标工作流。
3.根据权利要求2所述的计算任务调度方法,其特征在于,将所述工作流配置文件转化为需要多集群执行工作流,作为目标工作流,包括:
确定用于执行目标工作流的集群的集群属性;
将所述工作流配置文件转化为需要多集群执行的且符合所述集群属性的工作流,作为目标工作流。
4.根据权利要求2所述的计算任务调度方法,其特征在于,将所述工作流配置文件转化为需要多集群执行工作流包括:
基于Fork-Join框架,在工作流配置文件中添加Fork节点和Join节点,以所述工作流配置文件转化为需要多集群执行工作流。
5.根据权利要求1所述的计算任务调度方法,其特征在于,每一个集群均包括哨兵节点;所述哨兵节点用于监测各个集群是否完成目标计算子任务;
所述控制正在执行目标计算子任务的集群停止执行所述目标计算子任务,包括:
针对每一个集群,控制所述集群当所述哨兵节点监测到至少存在一个集群完成目标计算子任务时,停止执行目标计算子任务,并获取目标计算子任务的采信结果。
6.根据权利要求5所述的计算任务调度方法,其特征在于,所述集群设置有临时目录和输出目录;
所述临时目录用于存储所述集群自身执行完成目标计算子任务后,得到的执行结果;
所述输出目录用于在确定所述目标计算子任务的采信结果后,存储所述采信结果;
所述基于完成所述目标计算子任务的集群的执行结果确定所述目标计算子任务的采信结果,包括:
基于各个集群的临时目录内存储的执行结果,确定所述目标计算子任务的采信结果。
7.根据权利要求1所述的计算任务调度方法,其特征在于,所述基于完成所述目标计算子任务的集群的执行结果确定所述目标计算子任务的采信结果,包括:
若存在多个时序相同的目标计算子任务的执行结果,将集群信息中序号靠前的集群对应的执行结果作为采信结果。
8.一种计算任务调度装置,其特征在于,包括:
获取模块,用于获取待执行的目标工作流;其中,所述目标工作流包括存在顺序关系的多个计算子任务;所述目标工作流用于执行预设的计算任务;
选取模块,用于选取所述多个计算子任务中未被执行且顺序最靠前的一个作为目标计算子任务;
调用模块,用于调用预设的多个集群,分别同时执行所述目标计算子任务;
确定模块,用于针对所述多个集群中执行相同计算子任务的集群,当所述多个集群中的至少一个所述集群完成所述目标计算子任务时,基于完成所述目标计算子任务的集群的执行结果确定所述目标计算子任务的采信结果,控制正在执行目标计算子任务的集群停止执行所述目标计算子任务;
调用模块,用于若所述多个计算子任务中存在计算子任务未被执行,则选取所述多个计算子任务中未被执行且顺序最靠前的一个作为目标计算子任务,并调用预设的多个集群,基于所述采信结果,分别同时执行所述目标计算子任务。
9.一种电子设备,其特征在于,包括:
处理器,以及用于存储所述处理器可执行程序的存储器;
所述处理器,用于通过运行所述存储器中的程序,实现如权利要求1至7中任一项所述的计算任务调度方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器运行时使得所述处理器执行如权利要求1至7中任一项所述的计算任务调度方法。
CN202311434097.2A 2023-10-31 2023-10-31 计算任务调度方法、装置、电子设备及存储介质 Pending CN117349021A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311434097.2A CN117349021A (zh) 2023-10-31 2023-10-31 计算任务调度方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311434097.2A CN117349021A (zh) 2023-10-31 2023-10-31 计算任务调度方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117349021A true CN117349021A (zh) 2024-01-05

Family

ID=89359409

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311434097.2A Pending CN117349021A (zh) 2023-10-31 2023-10-31 计算任务调度方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117349021A (zh)

Similar Documents

Publication Publication Date Title
US10453010B2 (en) Computer device, method, and apparatus for scheduling business flow
CN107431696B (zh) 用于应用自动化部署的方法和云管理节点
US8370802B2 (en) Specifying an order for changing an operational state of software application components
US8108521B2 (en) Methods and systems for dynamic parallel processing
CN112712335B (zh) 一种工作流引擎的工作方法、介质和设备
US8584144B2 (en) Determining the processing order of a plurality of events
CN109684057A (zh) 任务处理方法、装置和存储介质
CN113590386B (zh) 数据的容灾恢复方法、系统、终端设备及计算机存储介质
US20090319835A1 (en) Processor system optimization supporting apparatus and supporting method
CN112579267A (zh) 一种去中心化大数据作业流调度方法及装置
US9313267B2 (en) Using a same program on a local system and a remote system
CN111400011A (zh) 一种实时任务调度方法、系统、设备及可读存储介质
CN104750522A (zh) 任务或流程的动态执行方法和系统
CN115373835A (zh) Flink集群的任务资源调整方法、装置及电子设备
US20020091560A1 (en) Work flow management method and system and processing program thereof
US20070150899A1 (en) Semaphore management method and computer product
US20130263143A1 (en) Information processing method and system
CN117349021A (zh) 计算任务调度方法、装置、电子设备及存储介质
CN113220436A (zh) 一种分布式环境下的通用批量作业执行方法及装置
CN114490000A (zh) 任务处理方法、装置、设备及存储介质
CN113034048A (zh) 任务处理方法、装置、服务器及存储介质
CN112581080A (zh) 一种轻量级的分布式工作流引擎构建系统
CN112992270A (zh) 一种基因测序方法和装置
CN117290113B (zh) 一种任务处理方法、装置、系统和存储介质
CN114637564B (zh) 数据可视化方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination