CN113849291A - 基于容器集群的任务处理方法、装置、设备、介质及产品 - Google Patents
基于容器集群的任务处理方法、装置、设备、介质及产品 Download PDFInfo
- Publication number
- CN113849291A CN113849291A CN202111194205.4A CN202111194205A CN113849291A CN 113849291 A CN113849291 A CN 113849291A CN 202111194205 A CN202111194205 A CN 202111194205A CN 113849291 A CN113849291 A CN 113849291A
- Authority
- CN
- China
- Prior art keywords
- task
- resource
- parameter
- array
- tasks
- 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
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
- G06F9/5038—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 considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种基于容器集群的任务处理方法、装置、设备、介质及产品,方法包括:获取通过通信中心得到的资源对象标识;通过所述通信中心,从数据库中查找与所述资源对象标识对应的资源配置文件,所述资源配置文件包括:至少两个任务、以及所述至少两个任务的执行顺序;当确定所述资源配置文件中的资源状态参数为资源初始参数时,按照所述执行顺序,依次执行所述至少两个任务。本发明用以解决现有技术中人工干预执行流水线任务,导致任务执行耗时长、效率低的缺陷,实现快速执行流水线任务的目的。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于容器集群的任务处理方法、装置、设备、介质及产品。
背景技术
在当前公有云或私有云中,可以通过只申明目标不说明过程的方式创建实例,以简化并行计算的编写难度。但是,该方式对程序执行过程的控制力较弱,导致处理流水线类型的任务时十分棘手。例如,多个任务无法按指定顺序执行,后续任务需要依赖前一任务的执行结果,才能有效执行等。
因此,在现有技术中,执行流水线类型的任务,只能依靠人工手动干预执行,导致任务执行耗时较长,效率较低。
发明内容
本发明提供一种基于容器集群的任务处理方法、装置、设备、介质及产品,用以解决现有技术中人工干预执行流水线任务,导致任务执行耗时长、效率低的缺陷,实现快速执行流水线任务的目的。
本发明提供一种基于容器集群的任务处理方法,包括:
获取通过通信中心得到的资源对象标识;
通过所述通信中心,从数据库中查找与所述资源对象标识对应的资源配置文件,所述资源配置文件包括:至少两个任务、以及所述至少两个任务的执行顺序;
当确定所述资源配置文件中的资源状态参数为资源初始参数时,按照所述执行顺序,依次执行所述至少两个任务。
根据本发明提供的一种基于容器集群的任务处理方法,所述按照所述执行顺序,依次执行所述至少两个任务,包括:
确定当前任务,将所述当前任务的任务标识添加到所述资源配置文件中的数组中,设置所述数组中的任务状态参数为任务初始参数,执行所述当前任务;
当确定所述当前任务的任务状态参数为任务完成参数,且所述资源状态参数为资源运行参数时,将下一任务的任务标识添加到所述数组中,设置所述数组中的任务状态参数为任务初始参数,执行所述下一任务,直至所述至少两个任务执行完毕。
根据本发明提供的一种基于容器集群的任务处理方法,所述将所述当前任务的任务标识添加到所述资源配置文件中的数组中,设置所述数组中的任务状态参数为任务初始参数,执行所述当前任务,包括:
将所述当前任务的任务标识添加到所述数组中,设置所述数组中的任务状态参数为所述任务初始参数;
将所述资源状态参数更新为所述资源运行参数,执行所述当前任务,并将所述数组中的任务状态参数更新为任务开始参数;
并在确定所述当前任务执行完成后,将所述数组中的任务状态参数更新为所述任务完成参数。
根据本发明提供的一种基于容器集群的任务处理方法,所述方法还包括:
当执行任一所述任务过程中出现执行异常时,执行以下处理过程:将异常任务的任务标识添加到所述数组中,设置所述数组中的任务状态参数为所述任务初始参数,执行所述异常任务,将所述数组中的任务状态参数更新为所述任务开始参数;
监测所述异常任务是否能够执行成功;
当所述异常任务执行成功时,将所述异常任务对应的所述任务状态参数更新为所述任务完成参数;
当所述异常任务执行失败时,重复执行所述处理过程,当执行所述处理过程的次数达到预设次数时,将所述资源状态参数更新为资源错误参数。
根据本发明提供的一种基于容器集群的任务处理方法,所述当执行所述第二处理过程的次数达到预设次数时,将所述资源状态参数更新为资源错误参数之后,还包括:
接收跳转指令;
基于所述跳转指令,将所述资源状态参数更新为所述资源运行参数,并将所述异常任务的下一任务的任务标识添加到所述数组中,设置所述数组中的任务状态参数为所述任务初始参数,执行所述异常任务的下一任务。
根据本发明提供的一种基于容器集群的任务处理方法,所述方法还包括:
当确定所述至少两个任务执行成功时,将所述资源状态参数更新为资源完成参数,所述至少两个任务处理完成。
本发明还提供一种基于容器集群的任务处理装置,包括:
获取模块,用于获取通过通信中心得到的资源对象标识;
查找模块,用于通过所述通信中心,从数据库中查找与所述资源对象标识对应的资源配置文件,所述资源配置文件包括:至少两个任务、以及所述至少两个任务的执行顺序;
执行模块,用于当确定所述资源配置文件中的资源状态参数为资源初始参数时,按照所述执行顺序,依次执行所述至少两个任务。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于容器集群的任务处理方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于容器集群的任务处理方法的步骤。
本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时实现如上述任一种所述基于容器集群的任务处理方法的步骤。
本发明提供的基于容器集群的任务处理方法、装置、设备、介质及产品,获取通过通信中心得到的资源对象标识;通过通信中心,从数据库中查找与资源对象标识对应的资源配置文件,该资源配置文件包括:至少两个任务、以及至少两个任务的执行顺序;当确定资源配置文件中的资源状态参数为资源初始参数时,按照执行顺序,依次执行至少两个任务,本发明通过获取资源对象标识,找到资源配置文件,便可以实现多个任务按照流水线顺序依次执行,实现了一键、快速执行流水线任务的目的,解决了现有技术中需要人工干预执行流水线任务,导致流水线任务执行耗时长、效率低的问题。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于容器集群的任务处理方法的流程示意图之一;
图2是本发明提供的基于容器集群的任务处理方法的流程示意图之二;
图3是本发明提供的基于容器集群的任务处理装置的结构示意图;
图4是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1-图2描述本发明的基于容器集群的任务处理方法。
本发明实施例提供了一种基于容器集群的任务处理方法,该方法可以应用在智能终端,例如,手机、电脑、平板等,也可以应用在服务器中。下面,以该方法应用在服务器为例进行说明,但需要说明的是仅为举例说明,并不用于对本发明的保护范围进行限定。本发明实施例中的一些其他说明,也是举例说明,并不用于对本发明的保护范围进行限定,之后便不再一一说明。
其中,本发明的容器集群为Kubernetes(k8s)集群。
简单介绍一下k8s,k8s是用于管理云平台中多个主机(节点)上的容器化的应用。pod是k8s的最小调度单元和资源单元,由一个或多个容器组成,运行的各个节点上。再简单介绍一下k8s集群,其中,集群是一组用于运行容器化应用的节点计算机(节点)。无论是物理机还是虚拟机,k8s集群都能在本地或云中,实现跨机调度容器和运行容器,使得k8s容器不再受单台计算机的束缚。可以将k8s部署在任一节点计算机中。本发明的基于容器集群的任务处理方法的具体实现,如图1所示:
步骤101,获取通过通信中心得到的资源对象标识。
具体的,容器集群中的计算机节点包括控制节点和工作节点,其中,控制节点为集群的管理控制中心。控制节点包括:通信中心(API Server)和控制中心(controllermanager)。其中,API Server提供了各种资源对应的增、删、改、查操作及通信接口,是整个k8s集群的数据总线和数据中心。其中,通信接口包括Rest接口,具体通过Rest接口实现Etcd中数据的查找操作。其中,controller manager存储有监听程序(pipeline-controller)。
另外,在k8s中只有API Server能够直接操作数据库(Etcd)。
具体的,将资源配置文件(pipeline.yaml)通过API Server写入Etcd后,会触发事件,监听程序会监听到触发的相应任务事件,并通过API Server得到任务事件的资源对象标识。其中,资源对象标识为能够唯一指示任务事件的标识,且,该资源对象标识也是能够唯一指示资源配置文件的标识。具体可参见如下代码:
其中,“name”和/或“uid”的参数值可以作为资源对象标识。其中,kind表示新建的资源的对象类型,pipeline表示流水线任务,即新建的资源的对象类型为流水线任务,metadata用于声明资源的相关信息,name为资源的名称,在同一命名空间中是唯一的,uid为资源的标识,在整个容器集群中是唯一的。根据具体的应用场景和实际工作需要,用户可以自定义资源对象标识具体用什么表示。
具体的,如上代码编码在pipeline.yaml中,pipeline.yaml文件是指定义一系列任务与执行顺序的描述文件。其中,yaml是另一种标记语言,可以简单表达清单、散列表,标量等数据形态。
步骤102,通过通信中心,从数据库中查找与资源对象标识对应的资源配置文件。
其中,资源配置文件包括:至少两个任务、以及至少两个任务的执行顺序。
例如,资源对象标识为“97762656-f00a-4390-9706-7ef38638ce5b”时,通过APIServer,从Etcd中查找与97762656-f00a-4390-9706-7ef38638ce5b对应的pipeline.yaml。
可以得到,k8s在监控得到Etcd中存在资源变化时,便会查找变化的资源,以根据变化内容,执行相应的执行操作。本发明利用k8s的该项特性,通过通信中心将资源配置文件写入Etcd后,便无需在人工操作,就可以实现流水线任务按照执行顺序完成每项任务的执行,节省了人力成本,提高了用户体验。
步骤103,当确定资源配置文件中的资源状态参数为资源初始参数时,按照执行顺序,依次执行至少两个任务。
一个具体实施例中,按照执行顺序,依次执行至少两个任务为循环操作,具体实现方式为:确定当前任务,将当前任务的任务标识添加到资源配置文件中的数组中,设置数组中的任务状态参数为任务初始参数,执行当前任务;当确定当前任务的任务状态参数为任务完成参数,且资源状态参数为资源运行参数时,将下一任务的任务标识添加到数组中,设置数组中的任务状态参数为任务初始参数,执行下一任务,直至至少两个任务执行完毕。
一个具体实施例中,执行当前任务的具体实现为:将当前任务的任务标识添加到数组中,设置数组中的任务状态参数为任务初始参数;将资源状态参数更新为资源运行参数,执行当前任务,并将数组中的任务状态参数更新为任务开始参数;并在确定当前任务执行完成后,将数组中的任务状态参数更新为任务完成参数。
具体的,通过以下示例代码来进行具体说明:
其中,spec用于描述一系列任务和执行顺序,spec下的steps用于确定各个任务的执行顺序,用spec.steps表示,在本实施例中,以step-a、step-b、step-c为例进行说明,status表示资源状态,用,status下的phase表示资源状态参数,用status.phase表示,Init为资源初始参数,Running为资源运行参数,Completed为资源完成参数,status下的steps表示任务参数,用status.steps表示,createtime表示创建时间。
其中,steps下的phase表示任务状态参数,用steps.phase表示,init为任务初始参数,started为任务开始参数,completed为任务完成参数。
下面以当前任务为step-a、step-b为例进行任务循环执行过程的说明:
确定当前任务为step-a,将step-a的任务标识(step-a)添加到任务参数(steps)的数组中,设置数组中的任务状态参数(steps.phase)为任务初始参数(init),执行step-a。当确定step-a的任务状态参数(steps.phase)为任务完成参数(completed),且资源状态参数(phase)为资源运行参数(Running)时,判断是否存在下一任务,当判定存在下一任务时,确定下一任务的任务标识(step-b),将step-b添加到数组中,设置数组中的任务状态参数(steps.phase)为任务初始参数(init),执行step-b,直至所有的任务执行完毕。当判定不存在下一任务时,确定所有任务执行完毕,将资源状态参数(phase)更新为资源完成参数(Completed)。
下面,以任务step-a为中间任意一个任务为例进行当前任务的具体执行过程的说明:
确定当前任务为step-a,将step-a的任务标识(step-a)添加到任务参数(steps)的数组中,设置数组中的任务状态参数(steps.phase)为任务初始参数(init),执行step-a,此时,将任务状态参数(steps.phase)更新为任务开始参数(started),并在确定step-a执行完成后,将任务状态参数(steps.phase)更新为任务完成参数(completed)。
其中,中间任意一个任务不包括第一个任务。
下面,以任务step-a为第一个任务为例进行当前任务的具体执行过程的说明:
当确定资源状态参数(phase)为资源初始参数(Init)时,将step-a添加到任务参数(steps)的数组中,同时,将任务状态参数(steps.phase)设置为任务初始参数(init),将资源状态参数(phase)更新为资源运行参数(Running)。执行step-a,此时,将任务状态参数(steps.phase)更新为任务开始参数(started),并在确定step-a执行完成后,将任务状态参数(steps.phase)更新为任务完成参数(completed)。
下面,以任务step-a为最后一个任务为例进行当前任务的具体执行过程的说明:
将step-a的任务标识(step-a)添加到任务参数(steps)的数组中,设置数组中的任务状态参数(steps.phase)为任务初始参数(init),执行step-a,此时,将任务状态参数(steps.phase)更新为任务开始参数(started),并在确定step-a执行完成后,将任务状态参数(steps.phase)更新为任务完成参数(completed),并在确定所有任务执行完毕后,将资源状态参数(phase)更新为资源完成参数(Completed)。
具体的,资源状态参数(phase)为资源初始参数(Init),当执行第一个任务的时候,在第一个任务的任务状态参数(steps.phase)为任务初始参数(init)时,将资源状态参数(phase)更新为资源运行参数(Running),之后在执行下一个任意任务的时候,资源状态参数(phase)始终为资源运行参数(Running)。
本发明通过pipeline.yaml描述各个任务以及各个任务的执行顺序,即可以通过pipeline.yaml来一键实现流水线任务的执行,无需人工参与,节约了人工成本,并且,本发明的时效性高,不易出错,有效的提高了流水线任务的执行效率,以及有效的提高了用户体验。
一个具体实施例中,在执行任意一个任务的过程中,若出现执行异常时的具体实现方式如图2所示:
步骤201,当执行任一任务过程中出现执行异常时,执行以下处理过程:将异常任务的任务标识添加到数组中,设置数组中的任务状态参数为任务初始参数,执行异常任务,将数组中的任务状态参数更新为任务开始参数。
例如,在step-c在执行时,出现了执行异常,基于step-c执行第二处理过程,将step-c重新添加到任务参数(steps)的数组中,同时,将任务状态参数(steps.phase)设置为任务初始参数(init),执行step-c,此时,将任务状态参数(steps.phase)更新为任务开始参数(started)。
步骤202,监测异常任务是否能够执行成功,若是异常任务执行成功,执行步骤203,否则,执行步骤204。
例如,监测重新执行第二处理过程的step-c是否能够执行成功,若是,step-c执行成功,执行步骤203,否则,执行步骤204。
步骤203,将异常任务对应的任务状态参数更新为任务完成参数。
例如,将step-c的任务状态参数(steps.phase)设置为任务完成参数(completed)。
步骤204,重复执行处理过程,当执行处理过程的次数达到预设次数时,将资源状态参数更新为资源错误参数。
具体的,当执行处理过程的次数达到预设次数时,发出语音报警提示,提示人工介入操作,用户通过命令行工具,将该异常任务执行成功,并在将异常任务执行成功之后,将资源状态参数由资源错误参数(Error)更新为资源运行参数(Running),进而,再自动执行下一任务。
一个具体实施例中,在执行处理过程的次数达到预设次数时,将资源状态参数更新为资源错误参数之后,接收跳转指令;基于跳转指令,将资源状态参数更新为资源运行参数,并将异常任务的下一任务的任务标识添加到数组中,设置数组中的任务状态参数为任务初始参数,执行异常任务的下一任务。
具体的,该跳转指令可以在资源状态参数更新为资源错误参数之后自动生成,也可以是由于人工介入,而触发了跳转指令。
本发明在执行流水线任务的过程中,当出现执行异常时,首先启动自修复策略,即重复执行处理过程,以修复执行异常时的异常任务,若,自修复策略不能有效的解决异常问题,则触发跳转指令,执行异常任务的下一任务,以保证整个流水线任务的完成,有效的提高了用户体验。
一个具体实施例中,当确定所述至少两个任务执行成功时,将所述资源状态参数更新为资源完成参数,所述至少两个任务处理完成。
其中,资源完成参数可以用Completed表示。
本发明通过资源配置文件和监听程序,解决了容器集群中多个任务按指定顺序执行困难的问题。通过在spec中记录所定义的任务内容与执行顺序,status.steps中记录执行过程、执行状态与执行结果,通过监听程序利用事件与资源状态参数,执行对应操作以完成整个流水线任务。整个过程无需人工干预,降低了人工运维成本,提高了任务执行效率和用户体验。
本发明提供的基于容器集群的任务处理方法、装置、设备、介质及产品,获取通过通信中心得到的资源对象标识;通过通信中心,从数据库中查找与资源对象标识对应的资源配置文件,该资源配置文件包括:至少两个任务、以及至少两个任务的执行顺序;当确定资源配置文件中的资源状态参数为资源初始参数时,按照执行顺序,依次执行至少两个任务,本发明通过获取资源对象标识,找到资源配置文件,便可以实现多个任务按照流水线顺序依次执行,实现了一键、快速执行流水线任务的目的,解决了现有技术中需要人工干预执行流水线任务,导致流水线任务执行耗时长、效率低的问题。
下面对本发明提供的基于容器集群的任务处理装置进行描述,下文描述的基于容器集群的任务处理装置与上文描述的基于容器集群的任务处理方法可相互对应参照,重复之处不再赘述。具体如图3所示:
获取模块301,用于获取通过通信中心得到的资源对象标识;
查找模块302,用于通过通信中心,从数据库中查找与资源对象标识对应的资源配置文件,资源配置文件包括:至少两个任务、以及至少两个任务的执行顺序;
执行模块303,当确定资源配置文件中的资源状态参数为资源初始参数时,按照执行顺序,依次执行至少两个任务。
一个具体实施例中,执行模块303,具体用于确定当前任务,将当前任务的任务标识添加到资源配置文件中的数组中,设置数组中的任务状态参数为任务初始参数,执行当前任务;当确定当前任务的任务状态参数为任务完成参数,且资源状态参数为资源运行参数时,将下一任务的任务标识添加到数组中,设置数组中的任务状态参数为任务初始参数,执行下一任务,直至至少两个任务执行完毕。
一个具体实施例中,执行模块303,具体用于将当前任务的任务标识添加到数组中,设置数组中的任务状态参数为任务初始参数;将资源状态参数更新为资源运行参数,执行当前任务,并将数组中的任务状态参数更新为任务开始参数;并在确定当前任务执行完成后,将数组中的任务状态参数更新为任务完成参数。
一个具体实施例中,执行模块303包括:异常执行子模块,异常执行子模块,用于当执行任一任务过程中出现执行异常时,执行以下处理过程:将异常任务的任务标识添加到数组中,设置数组中的任务状态参数为任务初始参数,执行异常任务,将数组中的任务状态参数更新为任务开始参数;监测异常任务是否能够执行成功;当异常任务执行成功时,将异常任务对应的任务状态参数更新为任务完成参数;当异常任务执行失败时,重复执行处理过程,当执行处理过程的次数达到预设次数时,将资源状态参数更新为资源错误参数。
一个具体实施例中,异常执行子模块,还用于接收跳转指令;基于跳转指令,将资源状态参数更新为资源运行参数,并将异常任务的下一任务的任务标识添加到数组中,设置数组中的任务状态参数为任务初始参数,执行异常任务的下一任务。
一个具体实施例中,基于容器集群的任务处理装置还包括更新模块,更新模块,用于当确定至少两个任务执行成功时,将资源状态参数更新为资源完成参数,至少两个任务处理完成。
本发明利用获取模块301获取通过通信中心得到的资源对象标识;利用查找模块302通过通信中心,从数据库中查找与资源对象标识对应的资源配置文件,该资源配置文件包括:至少两个任务、以及至少两个任务的执行顺序;利用执行模块303当确定资源配置文件中的资源状态参数为资源初始参数时,按照执行顺序,依次执行至少两个任务。本发明通过获取资源对象标识,找到资源配置文件,便可以实现多个任务按照流水线顺序依次执行,实现了一键、快速执行流水线任务的目的,解决了现有技术中需要人工干预执行流水线任务,导致流水线任务执行耗时长、效率低的问题。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)401、通信接口(Communications Interface)402、存储器(memory)403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。处理器401可以调用存储器403中的逻辑指令,以执行基于容器集群的任务处理方法,该方法包括:获取通过通信中心得到的资源对象标识;通过通信中心,从数据库中查找与资源对象标识对应的资源配置文件,其中,资源配置文件包括:至少两个任务、以及至少两个任务的执行顺序;当确定资源配置文件中的资源状态参数为资源初始参数时,按照执行顺序,依次执行至少两个任务。
此外,上述的存储器403中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的基于容器集群的任务处理方法,该方法包括:获取通过通信中心得到的资源对象标识;通过通信中心,从数据库中查找与资源对象标识对应的资源配置文件,其中,资源配置文件包括:至少两个任务、以及至少两个任务的执行顺序;当确定资源配置文件中的资源状态参数为资源初始参数时,按照执行顺序,依次执行至少两个任务。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的基于容器集群的任务处理方法,该方法包括:获取通过通信中心得到的资源对象标识;通过通信中心,从数据库中查找与资源对象标识对应的资源配置文件,其中,资源配置文件包括:至少两个任务、以及至少两个任务的执行顺序;当确定资源配置文件中的资源状态参数为资源初始参数时,按照执行顺序,依次执行至少两个任务。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于容器集群的任务处理方法,其特征在于,包括:
获取通过通信中心得到的资源对象标识;
通过所述通信中心,从数据库中查找与所述资源对象标识对应的资源配置文件,所述资源配置文件包括:至少两个任务、以及所述至少两个任务的执行顺序;
当确定所述资源配置文件中的资源状态参数为资源初始参数时,按照所述执行顺序,依次执行所述至少两个任务。
2.根据权利要求1所述的基于容器集群的任务处理方法,其特征在于,所述按照所述执行顺序,依次执行所述至少两个任务,包括:
确定当前任务,将所述当前任务的任务标识添加到所述资源配置文件中的数组中,设置所述数组中的任务状态参数为任务初始参数,执行所述当前任务;
当确定所述当前任务的任务状态参数为任务完成参数,且所述资源状态参数为资源运行参数时,将下一任务的任务标识添加到所述数组中,设置所述数组中的任务状态参数为任务初始参数,执行所述下一任务,直至所述至少两个任务执行完毕。
3.根据权利要求2所述的基于容器集群的任务处理方法,其特征在于,所述将所述当前任务的任务标识添加到所述资源配置文件中的数组中,设置所述数组中的任务状态参数为任务初始参数,执行所述当前任务,包括:
将所述当前任务的任务标识添加到所述数组中,设置所述数组中的任务状态参数为所述任务初始参数;
将所述资源状态参数更新为所述资源运行参数,执行所述当前任务,并将所述数组中的任务状态参数更新为任务开始参数;
并在确定所述当前任务执行完成后,将所述数组中的任务状态参数更新为所述任务完成参数。
4.根据权利要求3所述的基于容器集群的任务处理方法,其特征在于,所述方法还包括:
当执行任一所述任务过程中出现执行异常时,执行以下处理过程:将异常任务的任务标识添加到所述数组中,设置所述数组中的任务状态参数为所述任务初始参数,执行所述异常任务,将所述数组中的任务状态参数更新为所述任务开始参数;
监测所述异常任务是否能够执行成功;
当所述异常任务执行成功时,将所述异常任务对应的所述任务状态参数更新为所述任务完成参数;
当所述异常任务执行失败时,重复执行所述处理过程,当执行所述处理过程的次数达到预设次数时,将所述资源状态参数更新为资源错误参数。
5.根据权利要求4所述的基于容器集群的任务处理方法,其特征在于,所述当执行所述第二处理过程的次数达到预设次数时,将所述资源状态参数更新为资源错误参数之后,还包括:
接收跳转指令;
基于所述跳转指令,将所述资源状态参数更新为所述资源运行参数,并将所述异常任务的下一任务的任务标识添加到所述数组中,设置所述数组中的任务状态参数为所述任务初始参数,执行所述异常任务的下一任务。
6.根据权利要求1-5任一项所述的基于容器集群的任务处理方法,其特征在于,所述方法还包括:
当确定所述至少两个任务执行成功时,将所述资源状态参数更新为资源完成参数,所述至少两个任务处理完成。
7.一种基于容器集群的任务处理装置,其特征在于,包括:
获取模块,用于获取通过通信中心得到的资源对象标识;
查找模块,用于通过所述通信中心,从数据库中查找与所述资源对象标识对应的资源配置文件,所述资源配置文件包括:至少两个任务、以及所述至少两个任务的执行顺序;
执行模块,用于当确定所述资源配置文件中的资源状态参数为资源初始参数时,按照所述执行顺序,依次执行所述至少两个任务。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述基于容器集群的任务处理方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述基于容器集群的任务处理方法的步骤。
10.一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时实现如权利要求1至6任一项所述基于容器集群的任务处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111194205.4A CN113849291A (zh) | 2021-10-13 | 2021-10-13 | 基于容器集群的任务处理方法、装置、设备、介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111194205.4A CN113849291A (zh) | 2021-10-13 | 2021-10-13 | 基于容器集群的任务处理方法、装置、设备、介质及产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113849291A true CN113849291A (zh) | 2021-12-28 |
Family
ID=78978196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111194205.4A Pending CN113849291A (zh) | 2021-10-13 | 2021-10-13 | 基于容器集群的任务处理方法、装置、设备、介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113849291A (zh) |
-
2021
- 2021-10-13 CN CN202111194205.4A patent/CN113849291A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108566290B (zh) | 服务配置管理方法、系统、存储介质和服务器 | |
CN107016480B (zh) | 任务调度方法、装置及系统 | |
CN111190823A (zh) | Ui自动化测试方法、电子装置及计算机可读存储介质 | |
US20220222266A1 (en) | Monitoring and alerting platform for extract, transform, and load jobs | |
CN110162344B (zh) | 一种隔离限流的方法、装置、计算机设备及可读存储介质 | |
CN109274734B (zh) | 一种基于物联网云平台的服务进程调用方法及装置 | |
CN112737800A (zh) | 服务节点故障定位方法、调用链生成方法及服务器 | |
CN112817710A (zh) | 定时任务处理方法、系统、计算机设备及计算机存储介质 | |
CN111381940B (zh) | 分布式数据处理方法及装置 | |
CN115964153A (zh) | 一种异步任务处理方法、装置、设备以及存储介质 | |
CN114090113B (zh) | 数据源处理插件动态加载的方法、装置、设备及存储介质 | |
CN114510317A (zh) | 虚拟机管理方法、装置、设备及存储介质 | |
CN110908644B (zh) | 状态节点的配置方法、装置、计算机设备和存储介质 | |
CN112256384A (zh) | 基于容器技术的服务集合处理方法、装置和计算机设备 | |
CN117119078A (zh) | 基于Kubernetes集群互联互通调度框架的隐私任务调度方法及装置 | |
CN112579247A (zh) | 确定任务状态的方法和装置 | |
CN113849291A (zh) | 基于容器集群的任务处理方法、装置、设备、介质及产品 | |
CN114327673B (zh) | 一种任务启动方法、装置、电子设备及存储介质 | |
CN106708541A (zh) | 版本升级处理方法及装置 | |
CN113641670B (zh) | 数据存储及数据检索方法、装置、电子设备及存储介质 | |
CN111381932B (zh) | 触发应用程序更改的方法、装置、电子设备及存储介质 | |
CN114553859A (zh) | 一种bmc配置管理方法、装置、电子设备及存储介质 | |
CN113656378A (zh) | 一种服务器管理方法、装置、介质 | |
CN114610446A (zh) | 一种自动注入探针的方法、装置及系统 | |
US11146629B2 (en) | Process transfer between servers |
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 |