本申请涉及计算机技术,特别涉及一种分布式任务的部署方法、部署装置、计算机设备和计算机可读存储介质。
背景技术:
相关技术中,spark的分布式计算任务可部署于kubernetes(k8s),以解决多台服务器资源的管理和分配的问题。
然而,由于同一个业务相关的spark的分布式计算任务,一般分成多个子任务,而每一个子任务都需要重新启动一个新的driverpod以开启executorpod,导致master节点需要频繁启动driverpod。
技术实现要素:
本申请提供了一种分布式任务的部署方法,所述部署方法包括:
接收调度任务并根据所述调度任务生成调动请求以启动调度程序(driverpod),所述调度任务包括多个依次关联的子任务;
接收所述调度程序的执行请求并根据所述执行请求启动第一执行程序(executorpod)以执行所述子任务中的第一子任务;和
根据所述第一执行程序的执行结果和所述执行请求启动第二执行程序以执行所述子任务中的第二子任务,所述第一子任务是所述第二子任务的前置关联子任务。
在某些实施方式中,所述根据所述第一执行程序的执行结果和所述执行请求启动第二执行程序以执行所述子任务中的第二子任务包括:
从hdfs上获取所述第一执行程序(executorpod)的执行结果,并根据所述第一执行程序的执行结果执行第二执行程序。
在某些实施方式中,所述部署方法还包括:
监测所述第一执行程序的运行状态,以判断第一执行程序是否需要重启。
在某些实施方式中,所述部署方法还包括:
判断所述执行结果是否生成;
若所述执行结果未生成,重新启动所述第一执行程序以再次执行所述第一子任务;
在所述执行结果生成时校验结果文件是否正确。
在某些实施方式中,所述第一执行程序以及所述第二执行程序分别在多个子节点执行。
在某些实施方式中,所述调度程序包括应用程序接口,所述部署方法包括;
在所述第一执行程序和所述第二执行程序执行所述子任务时生成日志,
通过所述应用程序接口获取所述日志并以使所述调度程序对所述日志进行归集处理。
在某些实施方式中,所述部署方法还包括:
在所述子任务执行完后,删除所述第一执行程序和所述第二执行程序。
本申请还提供了一种分布式任务的部署装置,所述部署装置包括主节点和多个子节点,所述子节点连接所述主节点;
其中,所述子节点用于运行调度程序、第一执行程序和第二执行程序。
所述主节点用于:
接收调度任务并根据所述调度任务生成调动请求以启动调度程序,所述调度任务包括多个依次关联的子任务;
接收所述调度程序的执行请求并根据所述执行请求启动第一执行程序以执行所述子任务中的第一子任务;和
根据所述第一执行程序的执行结果和所述执行请求启动第二执行程序以执行所述子任务中的第二子任务,所述第一子任务是所述第二子任务的前置关联子任务。
在某些实施方式中,所述部署装置还包括分布式文件系统,所述分布式文件系统与所述子节点连接;所述分布式文件系统用于存储所述子节点生成的日志。
本申请提供了一种计算机设备,包括一个或者多个处理器、存储器;和
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行上述任意一项所述的分布式任务的部署方法的指令。
本申请提供了一种包含计算机程序的非易失性计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,使得所述处理器执行上述的任意一项所述分布式任务的部署方法。
本申请实施方式的分布式任务的部署方法、部署装置、计算机设备和计算机可读存储介质中,通过在接收到包含相关联的子任务的调度任务而启动调度程序后,由调度程序先启动一个执行程序,待执行程序执行完子任务后,再由调度程序根据该执行程序的执行结果启动下一个与先前执行程序相关联的执行程序下一个子任务,如此,对于调度任务中相互依赖的子任务的执行由一个调度程序实现,避免了频繁启动调度程序,使得任务的管理更加清晰。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本申请某些实施方式的部署方法的一个流程示意图。
图2是本申请某些实施方式的部署装置的模块示意图。
图3是本申请某些实施方式的计算机设备的模块示意图。
图4是本申请某些实施方式的处理器和计算机可读存储介质的连接示意图。
图5是本申请某些实施方式的部署方法的一个场景示意图。
图6本申请某些实施方式的部署方法的一个流程示意图。
图7是本申请某些实施方式的部署方法的一个流程示意图。
图8是本申请某些实施方式的部署方法的一个流程示意图。
图9是本申请某些实施方式的部署方法的一个流程示意图。
图10是本申请某些实施方式的日志归集处理的场景示意图。
主要元件符号说明:
部署装置10、主节点12、子节点14、存储卷16、计算机设备100、处理器20、存储器30、程序32、可读存储介质40、计算机程序42。
具体实施方式
下面详细描述本申请的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。
在本申请的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体地限定。
在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接或可以相互通信;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
下文的公开提供了许多不同的实施方式或例子用来实现本申请的不同结构。为了简化本申请的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本申请。此外,本申请可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。
下面详细描述本申请的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。
近年来,物联网、大数据、云计算、人工智能等技术被广泛的应用,大数据和云计算技术也出现了融合趋势。对于大数据的计算分析,目前广泛应用于的spark计算框架。spark计算框架是一种对大数据处理而设计的快速通用的计算引擎,可用它来完成各种各样的运算。
相关技术中,spark计算框架需要的计算资源cpu和内存,可由kubernetes(k8s)集群实现,也即是,kubernetes集群可以作为spark的资源调度器。kubernetes集群是一种开源的用于管理云平台中多个主机上的容器化的应用,用于统一管理主机的资源(cpu和内存)。在spark计算框架对大数据计算任务进行处理时,生成调度任务并发送至kubernetes集群,kubernetes集群可对spark计算框架需要的计算cpu和内存进行分配。
kubernetes集群包括有master节点和若干个node节点。其中,master节点是kubernetes集群的主节点,用于记录kubernetes集群的总的cpu个数和内存,并在spark提交调度任务时启动pod以执行。node节点是kubernetes集群的子节点,用于执行master节点分配的pod。pod是指占用了一定cpu核数和内存的一个运行程序。spark部署在k8s上运行时,pod包括调度pod(driverpod)和执行pod(executorpod)。通常,master节点接收调度任务后,分配一个node节点启动driverpod,由driverpod向master节点申请分配资源,从而再次分配一个或者多个node节点启动executorpod以执行该任务。
然而,大数据计算任务可能包括多个子任务,并且子任务之间一般存在依赖关系,上一个子任务计算结果的输出可能为下一个子任务的输入,而每一个子任务都需要重新启动一个新的driverpod以开启executorpod,导致master节点需要频繁启动driverpod。
有鉴于此,请参阅图1,本申请实施方式提供一种分布式任务的部署方法,分布式任务的部署方法包括步骤:
s12:接收调度任务并根据调度任务生成调动请求以启动调度程序,调度任务包括多个依次关联的子任务;
s14:接收调度程序的执行请求并根据执行请求启动第一执行程序以执行子任务中的第一子任务;和
s16:根据第一执行程序的执行结果和执行请求启动第二执行程序以执行子任务中的第二子任务,第一子任务是第二子任务的前置关联子任务。请进一步参图2,本申请实施方式提供了一种分布式任务的部署装置10。本申请的部署方法可以应用于部署装置10,或者说,部署方法可以由部署装置10实现。
部署装置10包括主节点12和多个子节点14,子节点14连接主节点12;其中,子节点14用于启动调度程序、第一执行程序和第二执行程序。
步骤s12、s14以及s16可以由主节点12实现,也即是,主节点12可以用于接收调度任务并根据调度任务生成调动请求以启动调度程序,调度任务包括多个依次关联的子任务,以及接收调度程序的执行请求并根据执行请求启动第一执行程序以执行子任务中的第一子任务。主节点12还用于根据第一执行程序的执行结果和执行请求启动第二执行程序以执行子任务中的第二子任务,第一子任务是第二子任务的前置关联子任务。
请参阅图4,本申请提供了一种计算机设备100,包括一个或者多个处理器20、存储器30;和一个或多个程序32,其中一个或多个程序32被存储在存储器30中,并且被一个或多个处理器20执行,程序32被处理器20执行分布式任务的部署方法的指令。
请结合图5,本申请提供了一种包含计算机程序42的非易失性计算机可读存储介质40,当计算机程序42被一个或多个处理器20执行时,使得处理器20执行分布式任务的部署方法。
这些实施方式的部署方法、部署装置10、计算机设备100和计算机可读存储介质40中,通过在接收到包含相关联的子任务的调度任务而启动调度程序后,由调度程序先启动一个执行程序,待执行程序执行完子任务后,再由调度程序根据该执行程序的执行结果启动下一个与先前执行程序相关联的执行程序下一个子任务,如此,对于调度任务中相互依赖的子任务的执行由一个调度程序实现,避免了频繁启动调度程序,使得任务的管理更加清晰。
本实施方式以计算机设备100是电脑为例进行说明,也即是说,分布式任务的部署方法和部署装置10应用于但不限于电脑。部署装置10可以是预安装于电脑的硬件或软件,并在电脑上启动运行时可以执行分布式任务的部署方法。例如,部署装置10可以是电脑的底层软件代码段或者说是操作系统的一部分。
在一些实施方式中,部署装置10可以是计算机设备100的一部分。或者说,计算机设备100包括部署装置10。
在一些实施方式中,部署装置10可以是一定方式组装以具有前述功能的分立元件、或者是以集成电路形式存在具有前述功能的芯片、又或者是在计算机上运行时使得计算机具有前述功能的计算机软件代码段。
在一些实施方式中,作为硬件,部署装置10可以是独立或者作为额外增加的外围元件加装到计算机或者计算机系统。部署装置10也可以集成到计算机或者计算机系统,例如,部署装置10是计算机设备100的一部分时,部署装置10可以集成到处理器20上。
在一些部署装置10是计算机设备100的一部分部分的实施方式中,作为软件,部署装置10对应的代码段可以存储于存储器30上通过处理器20执行实现前述功能。或者说部署装置10包括前述的一个或多个程序,又或者说前述的一个或多个程序包括部署装置10。
在一些实施方式中,计算机可读存储介质40可以是内置在计算机设备100的存储介质,例如可以是存储器30,也可以是能够插拔地插接在计算机设备100的存储介质,例如sd卡等。
需要说明的是,部署装置10可以为kubernetes集群。主节点12为kubernetes集群的master节点,子节点14为kubernetes集群的node节点。
调度程序为node节点中的driverpod,需要说明的是,pod是kubernetes集群中的调度的最小单元,pod由master节点分配,每个pod都含有一定计算资源的cpu和内存的逻辑实体,pod中有容器,一个容器就类似一台虚拟的计算机,有自己独立的内存,cpu,和文件系统。在pod运行的过程中,pod和pod之间是隔离的,都有自己的独立文件系统,cpu和内存。在pod的结束时,会释放这些资源,并且容器中运行产生的日志也会随着pod结束而消失。
第一执行程序和第二执行程序为node节点中的executorpod。需要说明的是,第一执行程序和第二执行程序相关联,并且,第一和第二仅仅表示两个关联的执行程序运行的先后,第一执行程序在第二执行程序之前启动运行。
例如,以先后顺序进行排序的执行程序中,包括有一号执行程序、二号执行程序、三号执行程序以及四号执行程序。对于二号执行程序和三号执行程序而言,由于二号执行程序在三号执行程序之前启动运行,所以二号执行程序为第一执行程序,三号执行程序为第二执行程序,可以根据二号执行程序的执行结果和相应的执行请求启动三号执行程序。对于三号执行程序以及四号执行程序而言,由于三号执行程序在四号执行程序之前启动运行,所以三号执行程序为第一执行程序,四号执行程序为第二执行程序,可以根据三号执行程序的执行结果和相应的执行请求启动四号执行程序。
调度任务为spark计算框架进行分布式计算任务。调度任务包括有多个相关联的分布式计算子任务,调度任务中子任务的关联关系可以由用户定义。在本申请中,调度任务中的子任务根据彼此之间的关联关系顺序执行,只有当上一个调度任务执行完生成计算结果后,下一个子任务才能执行。例如,子任务包括第一子任务和第二子任务,当第一子任务执行完后并生成计算结果后,才可执行第二子任务。
调度任务由执行程序执行。一个子任务可以由一个或多个执行程序同时执行,执行程序的个数不设限制,例如,执行程序的数量可以为1、2个、3个、5个、8个、10个甚至更多个,执行程序具体地的数量可根据子任务的数据计算量进行选择。例如,在本申请中,一个子任务可以由两个分布在不同的子节点14上的执行程序执行。可以理解的,执行程序的数据计算量越大设置的执行程序也可以越多,如此,可以节省子任务的处理时间,提升子任务的处理效率。
前置关联子任务是指在当前所执行的子任务之前与当前子任务相关联且已经执行生成执行结果的子任务。例如,第一子任务作为第二子任务的前置,在第二子任务之前执行,第一子任务的执行结果用于第二任务。
请进一步地结合图4,具体地,在主节点12接收到调度任务后生成调动请求,控制子节点14部署调度程序,调度程序运行后生成执行请求并发送至主节点12。在主节点12接收到执行请求后,分配子节点14部署第一执行程序,从而第一执行程序运行时能够执行第一子任务。
进一步地,在第一执行程序执行完第一子任务生成执行结果后,调度程序再次生成调度请求并发送至主节点12,进而,由主节点12分配子节点14部署第二执行程序,由第二执行程序执行与第一子任务相关联的第二子任务。并在第二子任务执行完生成执行结果后,由调度程序再次生成调度请求并发送至主节点12,通过主节点12分配子节点14启动以第二子任务相关联的子任务,循环此过程,也即是,当前一个执行程序生成执行结果后,由调度程序根据前一个执行程序生成执行结果向主节点12分配新的子节点14部署后一个执行程序,直至调度任务的子任务全部执行完。如此,避免了调度任务中子任务较多时造成管理混乱。
请结合图8,在某些实施方式中,步骤s16还包括步骤:
s162:从分布式文件系统上获取第一执行程序的执行结果,并根据第一执行程序的执行结果执行第二执行程序。
请进一步参阅图2,在某些实施方式中,部署装置10还包括分布式文件系统(distributedfilesystem,dsf),分布式文件系统与子节点14连接。步骤s162可以由调度程序实现。或者说,调度程序可用于从分布式文件系统上获取第一执行程序的执行结果,并根据第一执行程序的执行结果执行第二执行程序。
在某些实施方式中,处理器20还可以用于从分布式文件系统上获取第一执行程序的执行结果,并根据第一执行程序的执行结果执行第二执行程序。
相关领域人员可以理解,分布式文件系统是将分布于不同电脑上的文件组合为单一的名称空间,并使得在网络上建立一个单一的、层次化多重文件服务器和服务器共享的工作更为方便的途径。在本申请中,分布式文件系统可以为hadoop分布式文件系统(hadoopdistributedfilesystem,hdfs),hdfs是指被设计成适合运行在通用硬件(commodityhardware)上的分布式文件系统。hdfs能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
具体而言,执行程序在执行完子任务后生成执行结果后,可将执行结果存储于分布式文件系统中。在第一执行程序生成的执行结果存储于分布式文件系统中后,调度程序可从分布式文件系统获取到执行结果,并根据第一执行程序的执行结果再次启动执行请求,并发送至主节点12,主节点12在接收到执行请求后,则分配子节点14启动第二执行程序以执行第二子任务。
请结合图10,在某些实施方式中,部署方法还包括步骤:
s11:监测第一执行程序的运行状态,以判断第一执行程序是否需要重启。
在某些实施方式中,步骤s11可以调度程序实现,或者说,调度程序还可以用于监测第一执行程序的运行状态,以判断第一执行程序是否需要重启。
在某些实施方式中,处理器20可以用于监测第一执行程序的运行状态,以判断第一执行程序是否需要重启。
可以理解,执行程序在运行过程中,可能出现异常。例如,子节点14的运行内存过高、执行程序在运行时cpu异常或者子节点14响应性能下降等导致执行程序运行异常,进而可能导致无法得到执行结果。因此,需要监测第一执行程序的运行状态,从而判断第一执行程序是否需要重启,若第一执行程序的运行状态出现异常时,重启第一执行程序,如此,保证了后续第二执行程序能够顺利执行,最终完成调度任务。
在某些实施方式中,部署方法还包括:
s13,判断执行结果是否生成;
s15,若执行结果未生成,重新启动第一执行程序以再次执行第一子任务;
s17,在执行结果生成时校验结果文件是否正确。
在某些实施方式中,步骤s13、s15以及s17可以调度程序实现,或者说,调度程序还可以用于判断执行结果是否生成,若执行结果未生成,重新启动第一执行程序以再次执行第一子任务;调度程序还可以用于在执行结果生成时校验结果文件是否正确。
在某些实施方式中,处理器20可以用于判断执行结果是否生成以及若执行结果未生成,重新启动第一执行程序以再次执行第一子任务。处理器20还可以用于在执行结果生成时校验结果文件是否正确。
由于第二执行程序的启动运行是由第一执行程序执行第一子任务后生成的执行结果决定,因此,通过判断执行结果是否生成,并在执行结果生成后对执行结果的结果文件进行校验,以判断结果文件是否正确,若校验成功,则可启动第二执行程序以执行第二子任务,若校验失败,则再次启动第一执行程序执行第一子任务以生成执行结果,进而重新对生成的执行结果的结果文件进行校验,直至校验成功而顺利启动允许第二执行程序来执行第二子任务,如此,能够保证第二执行程序的顺利启动运行从而执行第二子任务。
请参阅图10,在某些实施方式中,调度程序包括应用程序接口(applicationprogramminginterface,api),第一执行程序和第二执行程序执行子任务时生成日志,部署方法还包括步骤:
s18:通过应用程序接口获取日志并以使调度程序对日志进行归集处理。
请进一步参阅图2,在某些实施方式中,步骤s18可以由调度程序实现,或者说,调度程序可以用于通过应用程序接口获取日志并以使调度程序对日志进行归集处理。
在某些实施方式中,处理器20还可用于通过应用程序接口获取日志并以使调度程序对日志进行归集处理。
相关领域人员可以理解,应用程序接口又称为应用编程接口,是一组定义、程序及协议的集合,通过应用程序接口可实现计算机软件之间的相互通信。
需要说明的是,第一执行程序和第二执行程序运行过程中还生成日志,而由于当执行程序在子节点14运行结束后,子节点14会释放内存和cpu,使得子节点14中产生的日志也会随着执行程序结束而消失。因此,为了保留一些产生的日志,调度程序设置有应用程序接口,应用程序可包括多个,一个应用程序接口连接一个执行程序,进而在执行程序运行过程中产生日志时,日志可以由应用程序接口获取到,从而调度程序能够对日志进行归集处理。
进一步地,部署装置还包括有存储卷,在调度程序运行过程中,存储卷与调度程序连接。调度程序将归集处理的日志传输至存储卷以对日志进行存储,如此,实现对日志的归集管理,有利于运维人员及时掌握运行情况,给运维人员提供了便利。
更进一步地,在存储卷对日志存储后,调度程序将执行程序删除,使得执行程序进程结束。
另外,还需要说明的是,主节点12也包括应用程序接口,在执行程序运行过程中,调度程序可通过主节点12的应用程序接口监测执行程序对于任务的执行,如此,在调度程序生成日志后,可通过应用程序接口获取到日志。
例如,在一些场景中,数据分析员提交相应的spark任务到kubernetes集群的主节点12中,主节点12在接收spark任务后,在主节点12接收到调度任务后生成调动请求,控制一个子节点14部署调度程序,调度程序运行后生成执行请求并发送至主节点12。在主节点12接收到执行请求后,分配一个子节点14启动执行程序,进而,再由调度此程序将spark任务发送至执行程序,从而执行程序运行时能够执行spark任务,同时,调度程序还向主节点12发送观察请求,使得主节点12监测执行程序执行spark任务的情况。
进一步地,在主节点12监测到执行程序执行完spark任务并生成日志后,由调度程序通过应用程序接口获取到执行程序的日志,进而将日志导出到存储卷中保存。最后由调度程序向主节点发送结束执行请求,从而将执行程序删除,以结束执行程序的进程,结束任务。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
1.一种分布式任务的部署方法,其特征在于,所述部署方法包括:
接收调度任务并根据所述调度任务生成调动请求以启动调度程序,所述调度任务包括多个依次关联的子任务;
接收所述调度程序的执行请求并根据所述执行请求启动第一执行程序以执行所述子任务中的第一子任务;和
根据所述第一执行程序的执行结果和所述执行请求启动第二执行程序以执行所述子任务中的第二子任务,所述第一子任务是所述第二子任务的前置关联子任务。
2.如权利要求1所述的部署方法,其特征在于,所述根据所述第一执行程序的执行结果和所述执行请求启动第二执行程序以执行所述子任务中的第二子任务包括:
从分布式文件系统上获取所述第一执行程序的执行结果,并根据所述第一执行程序的执行结果执行所述第二执行程序。
3.如权利要求1所述的部署方法,其特征在于,所述部署方法包括:
监测所述第一执行程序的运行状态,以判断所述第一执行程序是否需要重启。
4.如权利要求1所述的部署方法,其特征在于,所述部署方法还包括:
判断所述执行结果是否生成;
若所述执行结果未生成,重新启动所述第一执行程序以再次执行所述第一子任务;
在所述执行结果生成时校验结果文件是否正确。
5.如权利要求1所述的部署方法,其特征在于,所述第一执行程序以及所述第二执行程序分别在多个子节点执行。
6.如权利要求1所述的部署方法,其特征在于,所述调度程序包括应用程序接口,所述第一执行程序和所述第二执行程序执行所述子任务时生成日志,所述部署方法包括:
通过所述应用程序接口获取所述日志并以使所述调度程序对所述日志进行归集处理。
7.如权利要求6所述的部署方法,其特征在于,所述部署方法还包括:
在所述子任务执行完后,删除所述第一执行程序和所述第二执行程序。
8.一种分布式任务的部署装置,其特征在于,所述部署装置包括主节点和多个子节点,所述子节点连接所述主节点;
其中,所述子节点用于运行调度程序、第一执行程序和第二执行程序;
所述主节点用于:
接收调度任务并根据所述调度任务生成调动请求以启动调度程序,所述调度任务包括多个依次关联的子任务;
接收所述调度程序的执行请求并根据所述执行请求启动所述第一执行程序以执行所述子任务中的第一子任务;和
根据所述第一执行程序的执行结果和所述执行请求启动所述第二执行程序以执行所述子任务中的第二子任务,所述第一子任务是所述第二子任务的前置关联子任务。
9.如权利要求8所述的部署装置,其特征在于,所述部署装置还包括分布式文件系统和存储卷,所述分布式文件系统和所述存储卷与所述子节点连接;所述分布式文件系统用于存储所述第一执行程序和所述第二执行程序的执行结果;所述存储卷用于存储所述第一执行程序和所述第二执行程序生成的日志。
10.一种计算机设备,其特征在于,包括一个或者多个处理器、存储器;和
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行根据权利要求1-7任意一项所述的分布式任务的部署方法的指令。
11.一种包含计算机程序的非易失性计算机可读存储介质,其特征在于,当所述计算机程序被一个或多个处理器执行时,使得所述处理器执行权利要求1-7中任一项所述的分布式任务的部署方法。
技术总结