CN113220434B - 基于依赖模型的任务调度方法和依赖模型配置方法 - Google Patents
基于依赖模型的任务调度方法和依赖模型配置方法 Download PDFInfo
- Publication number
- CN113220434B CN113220434B CN202110530166.4A CN202110530166A CN113220434B CN 113220434 B CN113220434 B CN 113220434B CN 202110530166 A CN202110530166 A CN 202110530166A CN 113220434 B CN113220434 B CN 113220434B
- Authority
- CN
- China
- Prior art keywords
- task
- task node
- node
- type
- scheduling
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供了一种基于依赖模型的任务调度方法,所述方法包括:响应于调度请求,获取目标工作流;其中,所述目标工作流包括多个任务节点和任务序列,所述任务序列表示所述多个任务节点中的各个任务节点的执行顺序;及根据所述任务序列以及所述依赖模型,控制所述各个任务节点的调度操作;其中,所述依赖模型预先配置有用于触发对所述各个任务节点的调度操作的事件驱动。在本申请实施例,可以通过工作流和依赖模型控制各个任务节有效提升AI实验的效率。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种基于依赖模型的任务调度方法、装置、计算机设备及计算机可读存储介质,以及用于任务调度的依赖模型配置方法。
背景技术
随着计算机技术的发展,人工智能(AI,Artificial Intelligence)开始被人们的热点关注技术,其可以适用于语言识别、图像识别、自然语言处理和目标追踪等各个领域。
AI实验是AI工程中重要的一环,决定着AI的有效性。在现有的工程架构下,创建一个完整的AI实验非常复杂,需要涉及到多个不同系统的使用、debug调试以及各种存储资源的申请。但是,这些复杂和繁琐的流程会导致AI实验效率的下降。
发明内容
本申请实施例的目的是提供一种基于依赖模型的任务调度方法、装置、计算机设备及计算机可读存储介质,以及用于任务调度的依赖模型配置方法,可以用于解决以下问题:AI实验的复杂和繁琐的流程会导致AI实验效率的下降。
本申请实施例的一个方面提供了一种基于依赖模型的任务调度方法,所述方法包括:
响应于调度请求,获取目标工作流;其中,所述目标工作流包括多个任务节点和任务序列,所述任务序列表示所述多个任务节点中的各个任务节点的执行顺序;及
根据所述任务序列以及所述依赖模型,控制所述各个任务节点的调度操作;其中,所述依赖模型预先配置有用于触发对所述各个任务节点的调度操作的事件驱动。
可选的,所述根据所述任务序列以及所述依赖模型,控制所述各个任务节点的调度操作,包括:
获取处于运行状态中的当前任务节点;
基于所述任务序列获取所述当前任务节点的下一个任务节点;及
根据所述当前任务节点的类型、所述下一个任务节点的类型以及所述当前任务节点和所述下一个任务节点之间的事件驱动,控制所述下一个任务节点的调度操作。
可选的,所述当前任务节点的类型为流任务节点,所述下一个任务节点的类型为所述流任务节点,所述当前任务节点和所述下一个任务节点为“输出-输入”的依赖关系,所述事件驱动包括任务状态时间;所述控制所述下一个任务节点的调度操作,包括:
获取所述当前任务节点的任务状态时间;及
根据所述当前任务节点的任务状态时间,控制所述下一个任务节点的任务进度。
可选的,所述当前任务节点的类型为流任务节点,所述下一个任务节点的类型为所述流任务节点,所述当前任务节点和所述下一个任务节点为“输出-维表”的依赖关系,所述事件驱动包括数据时间进度和任务状态时间;所述控制所述下一个任务节点的调度操作,包括:
获取所述当前任务节点的数据时间进度和任务状态时间;及
根据所述当前任务节点的数据时间进度和任务状态时间,控制所述下一个任务节点的启停或任务进度。
可选的,所述当前任务节点的类型为流任务节点,所述下一个任务节点的类型为批任务节点,所述事件驱动包括数据时间进度;所述控制所述下一个任务节点的调度操作,包括:
获取所述当前任务节点的数据时间进度;及
根据所述当前任务节点的数据时间进度,控制所述下一个任务节点的启停。
可选的,所述当前任务节点的类型为批任务节点,所述下一个任务节点的类型为所述批任务节点,所述事件驱动包括任务状态时间;所述控制所述下一个任务节点的调度操作,包括:
获取所述当前任务节点的任务状态时间;及
根据所述当前任务节点的任务状态时间,控制所述下一个任务节点的启停。
可选的,所述当前任务节点的类型为批任务节点,所述下一个任务节点的类型为流任务节点,所述事件驱动包括任务状态时间;所述控制所述下一个任务节点的调度操作,包括:
获取所述当前任务节点的任务状态时间;
根据所述当前任务节点的任务状态时间,控制所述下一个任务节点的启停或任务进度。
可选的,所述响应于调度请求,获取目标工作流,包括:
响应于调度请求,获取与所述调度请求关联的目标任务脚本或可视化配置文件;及
解析所述目标任务脚本或可视化配置文件,以得到所述目标工作流。
本申请实施例的再一个方面提供了一种基于依赖模型的任务调度装置,所述装置包括:
响应模块,用于响应于调度请求,获取目标工作流;其中,所述目标工作流多个任务节点和任务序列,所述任务序列用于表示所述多个任务节点中的各个任务节点的执行顺序;及
控制模块,用于根据所述任务序列以及所述依赖模型,控制所述各个任务节点的调度操作;其中,所述依赖模型预先配置有用于触发对所述各个任务节点的调度操作的事件驱动。
本申请实施例的再一个方面提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,上述处理器执行上述计算机程序时用于实现如上任一项所述的基于依赖模型的任务调度方法的步骤。
本申请实施例的又一个方面提供了一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时用于实现如上任一项所述的基于依赖模型的任务调度方法的步骤。
本申请实施例的又一个方面提供了一种用于任务调度的依赖模型配置方法,所述方法包括:
配置任务节点的多个类型;及
根据上游任务节点的类型和下游任务节点的类型,将上游任务节点和下游任务节点之间的依赖关系抽象为用于触发任务调度的事件驱动,以得到所述依赖模型。
可选的,所述根据上游任务节点的类型和下游任务节点的类型,将上游任务节点和下游任务节点之间的依赖关系抽象为用于触发任务调度的事件驱动,包括:
若所述上游任务节点的类型和所述下游任务节点的类型均为流任务节点,则将所述依赖关系抽象为第一事件驱动,所述第一事件驱动包括数据时间进度和/或任务状态时间,用于指示根据所述上游任务节点的数据时间进度和/或任务状态时间控制所述下游任务节点的启停或任务进度;
若所述上游任务节点的类型为流任务节点且所述下游任务节点的类型为批任务节点,则将所述依赖关系抽象为第二事件驱动,所述第二事件驱动包括数据时间进度,用于指示根据所述上游任务节点的数据时间进度控制所述下游任务节点的启停;
若所述上游任务节点的类型和所述下游任务节点的类型均为批任务节点,则将所述依赖关系抽象为第三事件驱动,所述第三事件驱动包括任务状态时间,用于指示根据所述上游任务节点的任务状态时间控制所述下游任务节点的启停;或
若所述上游任务节点的类型为批任务节点且所述下游任务节点的类型为流任务节点,则将所述依赖关系抽象为第四事件驱动,所述第四事件驱动包括任务状态时间,用于指示根据所述上游任务节点的任务状态时间控制所述下游任务节点的启停或任务进度。
可选的,若所述上游任务节点的类型和所述下游任务节点的类型均为流任务节点,且所述上游任务节点和所述下游任务节点为“输出-输入”依赖,则所述第一事件驱动用于指示根据所述上游任务节点的任务状态时间控制所述下游任务节点的任务进度;或
若所述上游任务节点的类型和所述下游任务节点的类型均为流任务节点,且所述上游任务节点和所述下游任务节点为“输出-维表”依赖,则所述第一事件驱动用于指示根据所述上游任务节点的数据时间进度和任务状态时间控制所述下游任务节点的启停或任务进度。
本申请实施例提供的基于依赖模型的任务调度方法、装置、计算机设备及计算机可读存储介质,以及用于任务调度的依赖模型配置方法,通过工作流和依赖模型控制各个任务节点的启动、停止、任务进度控制等调用操作,有效提升AI实验的效率和用户体验。
附图说明
图1示意性示出了根据本申请实施例的基于依赖模型的任务调度方法的运行架构图;
图2示意性示出了依赖模型的示意图;
图3示意性示出了根据本申请实施例一的基于依赖模型的任务调度方法的流程图;
图4为图3中步骤S302的子步骤流程图;
图5至图9分别为图4中步骤S404的子步骤流程图;
图10为图3中步骤S300的子步骤流程图;
图11示意性示出了根据本申请实施例二的基于依赖模型的任务调度装置的框图;以及
图12示意性示出了根据本申请实施例三的适于实现基于依赖模型的任务调度方法的计算机设备的硬件架构示意图;
图13示意性示出了根据本申请实施例五的用于任务调度的依赖模型配置方法的流程图。
具体实施方式
为了使本申请实施例的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
AI实验是AI工程中重要的一环,决定者AI的有效性。AI实验包括多个方面,如模型训练、离线/在线特征生成、样本构建、模型使用等。在现有的工程架构下,创建一个完整的AI实验非常复杂,需要涉及到多个不同系统的使用、debug调试以及各种存储资源的申请。但是,这些复杂和繁琐的流程会导致AI实验效率的下降。
有鉴于此,本申请旨在提供一套完整的实验流平台,从创建实验到最终的效果验证,均能在该平台上通过简单的代码(如Python代码)或者可视化配置,简化流程并提升实验效率。该平台可以为多个工程项目的AI协议平台,提升项目开发效率。
以下为本申请涉及到的一些术语解释:
AiFlow,是一种分布式任务调度框架,它将一个具有上下级依赖关系的工作流,组装成一个有向无环图。
RPC(Remote Procedure Call,远程过程调用),用于支持分布式系统间的通信。
Web-API,为网络应用程序接口。网络应用通过Web-API,可以实现存储服务、消息服务、计算服务等能力,利用这些能力可以进行开发出强大功能的web应用。
Web-server,提供web服务。在本申请中,用于暴露实验创建与运维管理等业务接口给前端。
DAG(Directed Acyclic Graph),又称有向无环图,DAG中各个边的方向是统一的,即均朝向同一方向,全部边都是从下游指向上游,或者都是从上游指向下游。一般来说,为了便于观察,DAG中的边统一采用从上游指向下游的方向的方式,来展示各个任务节点之间的依赖关系。依赖关系是具有方向性,边的方向表示了依赖关系的方向性。举例而言,在任务节点A到任务节点B之间,存在一条由任务节点A指向任务节点B的边,那么说明任务节点B依赖于任务节点A。
Flink集群(Flink Cluster),是一个分布式系统,用于对无界和有界数据流进行有状态计算。Flink设计为在所有常见的集群环境中运行,以内存速度和任何规模执行计算。
watermark(水印),是Apache Flink为处理EventTime窗口计算提出的一种机制,为一种时间戳。
维表(Dimension Table,维度表),是对数据进行分析时所用的一个量。
HDFS(Hadoop Distributed File System),为Hadoop分布式文件系统。
流任务节点,用于处理流数据的节点。流数据通常为在线数据,无边界性。
批任务节点,用于处理批数据的节点。批数据通常为离线数据,以batch为计量单位。
启停,启动和/或停止。
图1示意性示出了根据本申请实施例的基于依赖模型的任务调度方法的运行架构图。如图1所示,所述运行架构图可以包括接口层2、AiFlow层4以及引擎层6。其中:
接口层(Web-server)2,用于暴露创建与运维管理等业务接口给前端,并用于任务管理。接口层2可以包括用户接口组件(Web-API)、AiFlow客户端组件(aiflow-client)以及存储服务组件(store-service)。所述用户接口组件用于接收用户提交的数据,例如用户通过前端提交的用于任务创建、任务下线、任务提交等的数据。AiFlow客户端组件用于根据提交的数据调用AiFlow层4,以进行任务的具体执行等。存储服务组件,用于存储将任务的元数据等存储到出存储器(如MySQL),及将任务脚本存储到另一存储器(如GitLab)中。任务脚本,可以是基于Python定义的工作流执行代码。
AiFlow客户端组件,根据用户提交的数据(如任务脚本在GitLab的地址)调用AiFlow层4。
AiFlow层4,用于基于AiFlow客户端组件的调用,解析相应的任务脚本并编译得到包括多个任务的工作流DAG,还用于在任务运行时的状态流转和消息传递。AiFlow层4包括AiFlow服务器组件(AiFlowServer)、元数据服务组件(MetadataServer)、消息中心(NotificationServer)和模型中心(ModelCente rServer)。所述AiFlow服务器组件,用于基于工作流DAG中的各个任务调用引擎层6执行数据处理。元数据服务组件,用于元数据的管理。消息中心,用于不同任务之间的消息传递。模型中心,用于注册模型,例如,注册基于任务更新的模型。
引擎层6,用于执行各个任务的运算操作。引擎层6可以为用于实时计算的Flink集群等。示例性的,引擎层6可以基于Saber、Hive、Spark、Kafka、Hbase、Rdeis等实现。
以上列举了所述运行架构的组成,所述运行架构工作流程如下:
步骤一:接口层2通过Web-API接收用户提交的数据,该提交的数据包括任务脚本在GitLab中的地址等。所述任务脚本以Python代码形式定义工作流,用于简化用户操作。
步骤二:接口层2通过AiFlow客户端组件解析用户提交的数据,并通过RPC调用AiFlow层4。
步骤三:响应于AiFlow客户端组件的RPC调用,AiFlow层4通过AiFlow服务端程序解析所述任务脚本并编译得到工作流DAG。其中,所述工作流DAG包括具有执行顺序的多个任务节点,该多个任务节点的部分节点之间通过依赖模型定义有依赖关系。
步骤四:基于所述工作流DAG,AiFlow服务端程序通过调用引擎层执行各个任务节点。
在各个任务节点的执行过程中,各个任务节点的节点执行顺序根据各自在工作流DAG中的位置而定,各个任务节点的启动、停止或任务进度根据依赖模型而定。
本发明人解到,传统的批任务依赖模型,需要一个任务完成后才会触发下一个任务。然而,本申请的依赖模块定义有流流、批批和批流混合依赖关系。具体如下:
(1)对于流任务节点而言,其对应于在线任务,具有无边界的特点。
在所述依赖模型中,可以通过一定的业务规则定义进度,例如基于流任务节点处理到的数据时间来定义进度。
以使用Flink集群作为引擎为例,可以通过watermark描述流任务节点的数据时间进度。当流任务节点运行时,可以记录watermark,并将watermark汇报到消息中心。
(2)对于批任务节点而言:
为方便模型管理,在所述依赖模型中,可以对批任务节点进行抽象,任何批任务节点完成后,也会进行“任务状态时间”的汇报,该“任务状态时间”表示批任务节点自己处理的数据分区时间,格式和流任务节点进度时间完全一致。这样批流任务节点进度都有一个统一的标识,从而可以基于此实现批到流、流到批、流到流、流到批的混合依赖。
如图2所示,作为示例,所述依赖模型包括多种依赖类型,如:
类型一:任务依赖,根据上游任务节点状态起停任务;
类型二:信号依赖,根据上游任务节点进度控制当前任务节点进度或起停;
类型三:组合依赖,根据任务节点状态起停任务,以及在运行时根据上游任务节点进度控制本任务节点进度。
流到流依赖,可以包括输出-输入依赖和输出-维表依赖。其中:
所述输出-输入依赖,对应于任务依赖。在该情况下,两个流任务节点可以并行拉起(运行)。流任务节点根据上游的流任务节点的任务状态时间(即,完成某个业务任务的时间)控制任务进度;
所述输出-维表依赖对应于组合依赖,流任务节点根据上游的流任务节点的任务状态时间启停,且该流任务节点可以根据上游的流任务节点的watermark控制进度。
流到批依赖,对应于信号依赖,批任务节点根据上游的流任务节点的watermark启停。
批到批依赖,对应于任务依赖,批任务节点根据上游的批任务节点的任务状态时间启停。
批到流依赖,对应于组合依赖,流任务节点监听上游的批任务节点的任务状态时间控制启停和任务进度。
以下列举通过AiFlow层2执行的机器学习过程,来介绍所述依赖模型:
步骤一:获取用于机器学习的对应一个目标工作流DAG。
该目标工作流DAG包括依次执行的:任务节点A→任务节点B→任务节点C→任务节点D→任务节点E。其中,任务节点A为流任务节点、任务节点B为流任务节点、任务节点C为批任务节点、任务节点D为批任务节点、任务节点E为流任务节点。
步骤二:流任务节点A到流任务节点B的依赖实现:
根据所述目标工作流DAG运行流任务节点A,并监听流任务节点A的数据数据进度watermark,并通过消息中心将流任务节点A的watermark传递给流任务节点B。
流任务节点B可以根据流任务节点A的watermark控制自身的任务进度,并监听流任务节点B的watermark,并通过消息中心将流任务节点B的watermark传递给批任务节点C。
步骤三:流任务节点B到批任务节点C的依赖实现:
批任务节点C根据流任务节点B的watermark确定是否启停。若启动,则监听批任务节点C的任务状态时间,并通过消息中心将批任务节点C的任务状态时间传递给批任务节点D。
步骤四:批任务节点C到批任务节点D的依赖实现:
批任务节点D根据批任务节点C的任务状态时间确定是否启停。如,批任务节点D根据批任务节点C的任务状态时间(任务业务完成的时间)控制启停。若批任务节点D启动并进入运行状态,并监听批任务节点D的任务状态时间(各个任务业务完成的时间),并通过消息中心将批任务节点D的任务状态时间传递给流任务节点E。
步骤五:批任务节点D到流任务节点E的依赖实现:
流任务节点E可以根据批任务节点D的任务状态时间控制启停或任务进度。
实施例一
图3示意性示出了根据本申请实施例一的基于依赖模型的任务调度方法的流程图。如图3所示,该基于依赖模型的任务调度方法可以包括步骤S300~步骤S302,其中:
步骤S300,响应于调度请求,获取目标工作流;其中,所述目标工作流包括多个任务节点和任务序列,所述任务序列表示所述多个任务节点中的各个任务节点的执行顺序。
步骤S302,根据所述任务序列以及所述依赖模型,控制所述各个任务节点的调度操作;其中,所述依赖模型预先配置有用于触发对所述各个任务节点的调度操作的事件驱动。
本实施例提供的基于依赖模型的任务调度方法,通过工作流和依赖模型控制各个任务节点的启动、停止、进度控制等调用操作,有效提升AI实验的效率,提升用户体验。需要说明的是,本实施例并不限于AI实验,还可以用于各种调度场景中。
作为示例,如图4所示,步骤S302可以包括步骤S400~S404,其中:步骤S400,获取处于运行状态中的当前任务节点;步骤S402,基于所述任务序列获取所述当前任务节点的下一个任务节点;及步骤S404,根据所述当前任务节点的类型、所述下一个任务节点的类型以及所述当前任务节点和所述下一个任务节点之间的事件驱动,控制所述下一个任务节点的调度操作。在本实施例中,可以根据上、下游任务节点的类型,实现不同的调用,例如,实现批任务节点到流任务节点、流任务节点到批任务节点、流任务节点到流任务节点、流任务节点到批任务节点的混合依赖,从而实现了流处理和批处理的流批一体化操作,提升工作流的调度效率。
作为示例,所述当前任务节点的类型为流任务节点,所述下一个任务节点的类型为所述流任务节点,所述当前任务节点和所述下一个任务节点为“输出-输入”的依赖关系,所述事件驱动包括任务状态时间;如图5所示,步骤S404可以包括步骤S500~S502,其中:步骤S500,获取所述当前任务节点的任务状态时间;及步骤S502,根据所述当前任务节点的任务状态时间,控制所述下一个任务节点的任务进度。本实施例实现了当两个任务节点为“输出-输入”的依赖关系时,流任务节点到另一流任务节点的高效调度。
作为示例,所述当前任务节点的类型为流任务节点,所述下一个任务节点的类型为所述流任务节点,所述当前任务节点和所述下一个任务节点为“输出-维表”的依赖关系,所述事件驱动包括数据时间进度和任务状态时间;如图6所示,步骤S404可以包括步骤S600~S602,其中:步骤S600,获取所述当前任务节点的数据时间进度和任务状态时间;及步骤S602,根据所述当前任务节点的数据时间进度和任务状态时间,控制所述下一个任务节点的启停或任务进度。本实施例实现了当两个任务节点为“输出-维表”的依赖关系时,流任务节点到另一流任务节点的高效调度。
作为示例,所述当前任务节点的类型为流任务节点,所述下一个任务节点的类型为批任务节点,所述事件驱动包括数据时间进度;如图7所示,步骤S404可以包括步骤S700~S702,其中:步骤S700,获取所述当前任务节点的数据时间进度;及步骤S702,根据所述当前任务节点的数据时间进度,控制所述下一个任务节点的启停。在本实施例中,实现了流任务节点到批任务节点的高效调度。
作为示例,所述当前任务节点的类型为批任务节点,所述下一个任务节点的类型为所述批任务节点,所述事件驱动包括任务状态时间;如图8所示,步骤S404可以包括步骤S800~S802,其中:步骤S800,获取所述当前任务节点的任务状态时间;及步骤S802,根据所述当前任务节点的任务状态时间,控制所述下一个任务节点的启停。在本实施例中,实现了批任务节点到批任务节点的高效调度。
作为示例,所述当前任务节点的类型为批任务节点,所述下一个任务节点的类型为流任务节点,所述事件驱动包括任务状态时间;如图9所示,步骤S404可以包括步骤S900~S902,其中:步骤S900,获取所述当前任务节点的任务状态时间;步骤S902,根据所述当前任务节点的任务状态时间,控制所述下一个任务节点的启停或任务进度。在本实施例中,实现了批任务节点到流任务节点的高效调度。
作为示例,如图10所示,步骤S300可以包括步骤S1000~S1002,其中:步骤S1000,响应于调度请求,获取与所述调度请求关联的目标任务脚本或可视化配置文件;及步骤S1002,解析所述目标任务脚本或可视化配置文件,以得到所述目标工作流。所述目标任务脚本为用于定义所述目标工作流的代码文件(如Python代码)。所述可视化配置文件为在提供可视化界面的情形下有用户配置的用于定义所述目标工作流的文件。本实施例可以简化用户操作,提升实验效率和工作流的复用性。
实施例二
图11示出了根据本申请实施例二的基于依赖模型的任务调度装置的框图,该基于依赖模型的任务调度装置可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。如图11所示,所述基于依赖模型的任务调度装置1100可以包括响应模块1110和控制模块1120,其中:
响应模块1110,用于响应于调度请求,获取目标工作流;其中,所述目标工作流多个任务节点和任务序列,所述任务序列用于表示所述多个任务节点中的各个任务节点的执行顺序;及
控制模块1120,用于根据所述任务序列以及所述依赖模型,控制所述各个任务节点的调度操作;其中,所述依赖模型预先配置有用于触发对所述各个任务节点的调度操作的事件驱动。
作为示例,所述控制模块1120,还用于:
获取处于运行状态中的当前任务节点;
基于所述任务序列获取所述当前任务节点的下一个任务节点;及
根据所述当前任务节点的类型、所述下一个任务节点的类型以及所述当前任务节点和所述下一个任务节点之间的事件驱动,控制所述下一个任务节点的调度操作。
作为示例,所述当前任务节点的类型为流任务节点,所述下一个任务节点的类型为所述流任务节点,所述当前任务节点和所述下一个任务节点为“输出-输入”的依赖关系,所述事件驱动包括任务状态时间;所述控制模块1120,还用于:获取所述当前任务节点的任务状态时间;及根据所述当前任务节点的任务状态时间,控制所述下一个任务节点的任务进度。
作为示例,所述当前任务节点的类型为流任务节点,所述下一个任务节点的类型为所述流任务节点,所述当前任务节点和所述下一个任务节点为“输出-维表”的依赖关系,所述事件驱动包括数据时间进度和任务状态时间;所述控制模块1120,还用于:获取所述当前任务节点的数据时间进度和任务状态时间;及根据所述当前任务节点的数据时间进度和任务状态时间,控制所述下一个任务节点的启停或任务进度。
作为示例,所述当前任务节点的类型为流任务节点,所述下一个任务节点的类型为批任务节点,所述事件驱动包括数据时间进度;所述控制模块1120,还用于:获取所述当前任务节点的数据时间进度;及根据所述当前任务节点的数据时间进度,控制所述下一个任务节点的启停。
作为示例,所述当前任务节点的类型为批任务节点,所述下一个任务节点的类型为所述批任务节点,所述事件驱动包括任务状态时间;所述控制模块1120,还用于:获取所述当前任务节点的任务状态时间;及根据所述当前任务节点的任务状态时间,控制所述下一个任务节点的启停。
作为示例,所述当前任务节点的类型为批任务节点,所述下一个任务节点的类型为流任务节点,所述事件驱动包括任务状态时间;所述控制模块1120,还用于:获取所述当前任务节点的任务状态时间;根据所述当前任务节点的任务状态时间,控制所述下一个任务节点的启停或任务进度。
作为示例,所述响应模块1110,还用于:响应于调度请求,获取与所述调度请求关联的目标任务脚本或可视化配置文件;及解析所述目标任务脚本或可视化配置文件,以得到所述目标工作流。
实施例三
图12示意性示出了根据本申请实施例三的适于实现基于依赖模型的任务调度方法的计算机设备的硬件架构示意图。所述计算机设备10000可以作为AiFlow层2或AiFlow层的一部分。所述计算机设备10000其是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图12所示,计算机设备10000至少包括但不限于:可通过系统总线相互通信链接存储器10010、处理器10020、网络接口10030。其中:
存储器10010至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器10010可以是计算机设备10000的内部存储模块,例如该计算机设备10000的硬盘或内存。在另一些实施例中,存储器10010也可以是计算机设备10000的外部存储设备,例如该计算机设备10000上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器10010还可以既包括计算机设备10000的内部存储模块也包括其外部存储设备。本实施例中,存储器10010通常用于存储安装于计算机设备10000的操作系统和各类应用软件,例如基于依赖模型的任务调度方法的程序代码等。此外,存储器10010还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器10020在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器10020通常用于控制计算机设备10000的总体操作,例如执行与计算机设备10000进行数据交互或者通信相关的控制和处理等。本实施例中,处理器10020用于运行存储器10010中存储的程序代码或者处理数据。
网络接口10030可包括无线网络接口或有线网络接口,该网络接口10030通常用于在计算机设备10000与其他计算机设备之间建立通信连接。例如,网络接口10030用于通过网络将计算机设备10000与外部终端相连,在计算机设备10000与外部终端之间的建立数据传输通道和通信连接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code Division Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图12仅示出了具有部件10010-10030的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器10010中的基于依赖模型的任务调度方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器10020)所执行,以完成本申请。
实施例四
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的基于依赖模型的任务调度方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的基于依赖模型的任务调度方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
实施例五
图13示意性示出了根据本申请实施例五的基于依赖模型的任务调度方法的流程图。如图13所示,该基于依赖模型的任务调度方法可以包括步骤S1300~步骤S1302,其中:
步骤S1300,配置任务节点的多个类型;及
步骤S1302,根据上游任务节点的类型和下游任务节点的类型,将上游任务节点和下游任务节点之间的依赖关系抽象为用于触发任务调度的事件驱动,以得到所述依赖模型。
作为示例,所述步骤S1302可以包括:
若所述上游任务节点的类型和所述下游任务节点的类型均为流任务节点,则将所述依赖关系抽象为第一事件驱动,所述第一事件驱动包括数据时间进度和/或任务状态时间,用于指示根据所述上游任务节点的数据时间进度和/或任务状态时间控制所述下游任务节点的启停或任务进度;
若所述上游任务节点的类型为流任务节点且所述下游任务节点的类型为批任务节点,则将所述依赖关系抽象为第二事件驱动,所述第二事件驱动包括数据时间进度,用于指示根据所述上游任务节点的数据时间进度控制所述下游任务节点的启停;
若所述上游任务节点的类型和所述下游任务节点的类型均为批任务节点,则将所述依赖关系抽象为第三事件驱动,所述第三事件驱动包括任务状态时间,用于指示根据所述上游任务节点的任务状态时间控制所述下游任务节点的启停;或
若所述上游任务节点的类型为批任务节点且所述下游任务节点的类型为流任务节点,则将所述依赖关系抽象为第四事件驱动,所述第四事件驱动包括任务状态时间,用于指示根据所述上游任务节点的任务状态时间控制所述下游任务节点的启停或任务进度。
作为示例,若所述上游任务节点的类型和所述下游任务节点的类型均为流任务节点,且所述上游任务节点和所述下游任务节点为“输出-输入”依赖,则所述第一事件驱动用于指示根据所述上游任务节点的任务状态时间控制所述下游任务节点的任务进度;或若所述上游任务节点的类型和所述下游任务节点的类型均为流任务节点,且所述上游任务节点和所述下游任务节点为“输出-维表”依赖,则所述第一事件驱动用于指示根据所述上游任务节点的数据时间进度和任务状态时间控制所述下游任务节点的启停或任务进度。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (12)
1.一种基于依赖模型的任务调度方法,其特征在于,所述方法包括:
响应于调度请求,获取目标工作流;其中,所述目标工作流包括多个任务节点和任务序列,所述任务序列表示所述多个任务节点中的各个任务节点的执行顺序;及
根据所述任务序列以及所述依赖模型,控制所述各个任务节点的调度操作;其中,所述依赖模型预先配置有用于触发对所述各个任务节点的调度操作的事件驱动;
其中,所述根据所述任务序列以及所述依赖模型,控制所述各个任务节点的调度操作,包括:获取处于运行状态中的当前任务节点;基于所述任务序列获取所述当前任务节点的下一个任务节点;及根据所述当前任务节点的类型、所述下一个任务节点的类型以及所述当前任务节点和所述下一个任务节点之间的事件驱动,控制所述下一个任务节点的调度操作;任务节点的类型包括流任务节点、批任务节点;事件驱动包括任务状态时间和数据时间进度;调度操作包括启停和任务进度;针对流任务节点,任务状态时间表示流任务节点完成业务任务的时间,数据时间进度表示流任务节点自己处理到的数据时间;针对批任务节点,任务状态时间表示批任务节点自己处理的数据分区时间。
2.根据权利要求1所述的基于依赖模型的任务调度方法,其特征在于,所述当前任务节点的类型为流任务节点,所述下一个任务节点的类型为所述流任务节点,所述当前任务节点和所述下一个任务节点为“输出-输入”的依赖关系,所述事件驱动包括任务状态时间;所述控制所述下一个任务节点的调度操作,包括:
获取所述当前任务节点的任务状态时间;及
根据所述当前任务节点的任务状态时间,控制所述下一个任务节点的任务进度。
3.根据权利要求1所述的基于依赖模型的任务调度方法,其特征在于,所述当前任务节点的类型为流任务节点,所述下一个任务节点的类型为所述流任务节点,所述当前任务节点和所述下一个任务节点为“输出-维表”的依赖关系,所述事件驱动包括数据时间进度和任务状态时间;所述控制所述下一个任务节点的调度操作,包括:
获取所述当前任务节点的数据时间进度和任务状态时间;及
根据所述当前任务节点的数据时间进度和任务状态时间,控制所述下一个任务节点的启停或任务进度。
4.根据权利要求1所述的基于依赖模型的任务调度方法,其特征在于,所述当前任务节点的类型为流任务节点,所述下一个任务节点的类型为批任务节点,所述事件驱动包括数据时间进度;所述控制所述下一个任务节点的调度操作,包括:
获取所述当前任务节点的数据时间进度;及
根据所述当前任务节点的数据时间进度,控制所述下一个任务节点的启停。
5.根据权利要求1所述的基于依赖模型的任务调度方法,其特征在于,所述当前任务节点的类型为批任务节点,所述下一个任务节点的类型为所述批任务节点,所述事件驱动包括任务状态时间;所述控制所述下一个任务节点的调度操作,包括:
获取所述当前任务节点的任务状态时间;及
根据所述当前任务节点的任务状态时间,控制所述下一个任务节点的启停。
6.根据权利要求1所述的基于依赖模型的任务调度方法,其特征在于,所述当前任务节点的类型为批任务节点,所述下一个任务节点的类型为流任务节点,所述事件驱动包括任务状态时间;所述控制所述下一个任务节点的调度操作,包括:
获取所述当前任务节点的任务状态时间;
根据所述当前任务节点的任务状态时间,控制所述下一个任务节点的启停或任务进度。
7.根据权利要求1至6任意一项所述的基于依赖模型的任务调度方法,其特征在于,所述响应于调度请求,获取目标工作流,包括:
响应于调度请求,获取与所述调度请求关联的目标任务脚本或可视化配置文件;及
解析所述目标任务脚本或可视化配置文件,以得到所述目标工作流。
8.一种基于依赖模型的任务调度装置,其特征在于,所述装置包括:
响应模块,用于响应于调度请求,获取目标工作流;其中,所述目标工作流多个任务节点和任务序列,所述任务序列用于表示所述多个任务节点中的各个任务节点的执行顺序;及
控制模块,用于根据所述任务序列以及所述依赖模型,控制所述各个任务节点的调度操作;其中,所述依赖模型预先配置有用于触发对所述各个任务节点的调度操作的事件驱动;
其中,所述控制模块还用于:获取处于运行状态中的当前任务节点;基于所述任务序列获取所述当前任务节点的下一个任务节点;及根据所述当前任务节点的类型、所述下一个任务节点的类型以及所述当前任务节点和所述下一个任务节点之间的事件驱动,控制所述下一个任务节点的调度操作;任务节点的类型包括流任务节点、批任务节点;事件驱动包括任务状态时间和数据时间进度;调度操作包括启停和任务进度;针对流任务节点,任务状态时间表示流任务节点完成业务任务的时间,数据时间进度表示流任务节点自己处理到的数据时间;针对批任务节点,任务状态时间表示批任务节点自己处理的数据分区时间。
9.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1至7任意一项所述基于依赖模型的任务调度方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时用于实现权利要求1至7任意一项所述基于依赖模型的任务调度方法的步骤。
11.一种用于任务调度的依赖模型配置方法,其特征在于,所述方法包括:
配置任务节点的多个类型;及
根据上游任务节点的类型和下游任务节点的类型,将上游任务节点和下游任务节点之间的依赖关系抽象为用于触发任务调度的事件驱动,以得到所述依赖模型;
其中,所述根据上游任务节点的类型和下游任务节点的类型,将上游任务节点和下游任务节点之间的依赖关系抽象为用于触发任务调度的事件驱动,包括:
若所述上游任务节点的类型和所述下游任务节点的类型均为流任务节点,则将所述依赖关系抽象为第一事件驱动,所述第一事件驱动包括数据时间进度和/或任务状态时间,用于指示根据所述上游任务节点的数据时间进度和/或任务状态时间控制所述下游任务节点的启停或任务进度;
若所述上游任务节点的类型为流任务节点且所述下游任务节点的类型为批任务节点,则将所述依赖关系抽象为第二事件驱动,所述第二事件驱动包括数据时间进度,用于指示根据所述上游任务节点的数据时间进度控制所述下游任务节点的启停;
若所述上游任务节点的类型和所述下游任务节点的类型均为批任务节点,则将所述依赖关系抽象为第三事件驱动,所述第三事件驱动包括任务状态时间,用于指示根据所述上游任务节点的任务状态时间控制所述下游任务节点的启停;或
若所述上游任务节点的类型为批任务节点且所述下游任务节点的类型为流任务节点,则将所述依赖关系抽象为第四事件驱动,所述第四事件驱动包括任务状态时间,用于指示根据所述上游任务节点的任务状态时间控制所述下游任务节点的启停或任务进度;
针对流任务节点,任务状态时间表示流任务节点完成业务任务的时间,数据时间进度表示流任务节点自己处理到的数据时间;针对批任务节点,任务状态时间表示批任务节点自己处理的数据分区时间。
12.根据权利要求11所述的用于任务调度的依赖模型配置方法,其特征在于:
若所述上游任务节点的类型和所述下游任务节点的类型均为流任务节点,且所述上游任务节点和所述下游任务节点为“输出-输入”依赖,则所述第一事件驱动用于指示根据所述上游任务节点的任务状态时间控制所述下游任务节点的任务进度;或
若所述上游任务节点的类型和所述下游任务节点的类型均为流任务节点,且所述上游任务节点和所述下游任务节点为“输出-维表”依赖,则所述第一事件驱动用于指示根据所述上游任务节点的数据时间进度和任务状态时间控制所述下游任务节点的启停或任务进度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110530166.4A CN113220434B (zh) | 2021-05-14 | 2021-05-14 | 基于依赖模型的任务调度方法和依赖模型配置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110530166.4A CN113220434B (zh) | 2021-05-14 | 2021-05-14 | 基于依赖模型的任务调度方法和依赖模型配置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113220434A CN113220434A (zh) | 2021-08-06 |
CN113220434B true CN113220434B (zh) | 2022-08-12 |
Family
ID=77092184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110530166.4A Active CN113220434B (zh) | 2021-05-14 | 2021-05-14 | 基于依赖模型的任务调度方法和依赖模型配置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113220434B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113947468B (zh) * | 2021-12-20 | 2022-04-08 | 鲁信科技股份有限公司 | 一种数据管理方法及平台 |
CN114612286A (zh) * | 2022-02-28 | 2022-06-10 | 上海深至信息科技有限公司 | 一种图像处理调度系统和方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069334A (zh) * | 2019-05-05 | 2019-07-30 | 重庆天蓬网络有限公司 | 一种基于包管理的分布式数据作业调度的方法和系统 |
CN110807595A (zh) * | 2019-11-05 | 2020-02-18 | 杭州安恒信息技术股份有限公司 | 任务分发方法和系统 |
CN112346842A (zh) * | 2020-11-19 | 2021-02-09 | 广州嘉为科技有限公司 | 一种基于有向无环图的工作流任务调度方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170178056A1 (en) * | 2015-12-18 | 2017-06-22 | International Business Machines Corporation | Flexible business task flow |
-
2021
- 2021-05-14 CN CN202110530166.4A patent/CN113220434B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069334A (zh) * | 2019-05-05 | 2019-07-30 | 重庆天蓬网络有限公司 | 一种基于包管理的分布式数据作业调度的方法和系统 |
CN110807595A (zh) * | 2019-11-05 | 2020-02-18 | 杭州安恒信息技术股份有限公司 | 任务分发方法和系统 |
CN112346842A (zh) * | 2020-11-19 | 2021-02-09 | 广州嘉为科技有限公司 | 一种基于有向无环图的工作流任务调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113220434A (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113220434B (zh) | 基于依赖模型的任务调度方法和依赖模型配置方法 | |
CN112035238B (zh) | 任务调度处理方法、装置、集群系统及可读存储介质 | |
WO2019000630A1 (zh) | 多任务调度方法、系统、应用服务器及计算机可读存储介质 | |
CN107819640B (zh) | 用于机器人操作系统的监控方法和装置 | |
US11699073B2 (en) | Network off-line model processing method, artificial intelligence processing device and related products | |
CN110611707B (zh) | 一种任务调度的方法及装置 | |
CN111930525B (zh) | Gpu资源使用方法、电子设备及计算机可读介质 | |
CN113467980B (zh) | 日志输出方法、装置及系统和嵌入式设备 | |
CN111861235A (zh) | 任务流程编排方法及装置、电子设备 | |
CN112367363A (zh) | 一种信息共享方法、装置、服务器及存储介质 | |
CN111966943A (zh) | 流式数据分发方法和系统 | |
CN112416568A (zh) | 音视频转码任务的时长预估方法和时长预估装置 | |
CN112395736A (zh) | 一种分布交互仿真系统的并行仿真作业调度方法 | |
CN114666407A (zh) | 一种rpa跨端通信方法及设备 | |
CN117252559A (zh) | 业务流程的处理方法、装置、计算机设备、存储介质 | |
CN112559155A (zh) | 批量作业处理方法、系统、计算机设备及可读存储介质 | |
CN112631759A (zh) | 数据处理方法、装置和系统 | |
CN114564249A (zh) | 推荐调度引擎、推荐调度方法及计算机可读存储介质 | |
CN111190725B (zh) | 任务处理方法、装置、存储介质及服务器 | |
CN113129049B (zh) | 用于模型训练和应用的文件配置方法和系统 | |
CN113468065B (zh) | 测试用例的运行方法及装置 | |
CN114116181B (zh) | 一种分布式的数据分析任务调度系统及方法 | |
CN117421234B (zh) | 一种多平台多并发自动化穿行测试系统 | |
CN109684040B (zh) | 一种适用于linux操作系统的云函数执行系统及方法 | |
CN116932160A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |