一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

分布式编译方法、装置、设备及可读存储介质与流程

2022-02-22 06:35:42 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,尤其涉及一种分布式编译方法、装置、设备及可读存储介质。


背景技术:

2.目前大型软件平台中间件随着功能的增加,其代码量达到百万甚至千万级别的。若需要支持多种cpu架构时,源码的编译时间将在原来的基础上随着cpu架构数量而成倍增长。当大型软件平台中间件需要以二进制形式对外发布时,庞大的代码量和多cpu架构带来的编译问题将使得整体的发布需要几个小时甚至更长的时间来完成,严重制约了大型软件平台中间件的发布效率。
3.虽然当前采用分布式编译机制解决大型软件平台中间件的发布效率,但传统的分布式编译机制需要在多个虚拟机集群间同步编译文件和配置,从而导致编译效率下降,或当大型软件平台中间件的各个软件模块之间存在大量编译依赖,且软件迭代和版本更新较为频繁时,传统分布式编译系统无法灵活对这种模块间依赖进行分析和处理,则会导致分布式编译的总体任务并行度下降,而选择在分布式编译过程中实时调度处理这些依赖时,会增加额外的开销,导致总体任务的编译效率不高。


技术实现要素:

4.本技术提供了一种分布式编译方法、装置、设备及可读存储介质,以解决统的分布式编译的编译效率太低的问题。
5.为实现上述目的,本发明实施例提供了一种分布式编译方法,所述方法包括以下步骤:
6.执行编译指令,根据所述编译指令和预置共享目录中的源码包生成并发的子任务序列;
7.根据所述子任务序列运行所述预置共享目录中的任务调度服务端,以使各个容器中的任务调度客户端编译所述任务调度服务端从所述子任务序列中分发的子任务;
8.确定各个所述任务调度客户端执行编译所述子任务后,更新任务状态,完成打包工作。
9.为实现上述目的,本发明实施例还提出了一种分布式编译装置,所述分布式编译装置包括:
10.执行模块,用于执行编译指令,根据所述编译指令和预置共享目录中的源码包生成并发的子任务序列;
11.运行及分发,用于根据所述子任务序列运行所述预置共享目录中的任务调度服务端,以使各个容器中的任务调度客户端编译所述任务调度服务端从所述子任务序列中分发的子任务;
12.确定及更新模块,用于确定各个所述任务调度客户端执行编译所述子任务后,更
新任务状态,完成打包工作。
13.为实现上述目的,本发明实施例还提出了一种计算机设备,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如上述的分布式编译方法的步骤。
14.为实现上述目的,本发明实施例还提出了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如上述的分布式编译方法的步骤。
15.本技术公开了一种分布式编译方法、装置、设备及可读存储介质,通过执行编译指令,根据所述编译指令和预置共享目录中的源码包生成并发的子任务序列;根据所述子任务序列运行所述预置共享目录中的任务调度服务端,以使各个容器中的任务调度客户端编译所述任务调度服务端从所述子任务序列中分发的子任务;确定各个所述任务调度客户端执行编译所述子任务后,更新任务状态,完成打包工作。可见,保证了对总体编译任务进行并行划分时的任务颗粒度较小,同时又无需在分布式编译过程中实时调度,从而可以有效提高分布式编译任务的总体并行度和调度,减少了编译时长,提高了编译效率。
附图说明
16.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1为本技术实施例提供的一种分布式编译方法的流程示意图;
18.图2为本技术实施例提供的终端示意场景图;
19.图3为图1中的分布式编译方法的子步骤流程示意图;
20.图4为本技术实施例提供的解析及分片的流程示意图;
21.图5为图1中的分布式编译方法的子步骤流程示意图;
22.图6为本技术实施例提供的一种分布式编译装置的示意性框图;
23.图7为本技术一实施例涉及的计算机设备的结构示意框图。
24.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
25.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
26.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
27.本技术实施例提供一种分布式编译方法、装置、计算机设备及计算机可读存储介质。其中,该分布式编译方法可应用于计算机设备中,该计算机设备可以是笔记本、台式电脑等电子设备。
28.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
29.请参阅图1,图1是本技术的一实施例提供的一种分布式编译方法的示意流程图。
30.如图1所示,本实施例提供了一种分布式编译方法,该方法包括以下步骤:
31.步骤s101:执行编译指令,根据所述编译指令和预置共享目录中的源码包生成并发的子任务序列。
32.示范性的,接收用户输入的编译指令,以执行该编译指令。例如,检测到用户登录,实时接收用户输入的编译指令。在接收到用户输入的编译指令时,执行该编译指令。通过该编译指令和预置共享目录中的源码包生成高并发度的子任务序列,其中,高并发度的子任务序列为高于预置并发度的子任务序列。例如,通过该编译指令对该预置共享目录中的源码包进行编译,以生成高于预置并发度的子任务序列的高并发度的子任务序列。
33.如图2所示,预先在终端中设置多个虚拟机,并在每个虚拟机中运行多个容器。通过多个虚拟机,每个虚拟机中运行多个容器,生成容器集群。例如,设置n个虚拟机,每个虚拟机中运行m个容器,生成由n
×
m个容器组成的容器集群,其中该容器为docker容器。预先在终端中设置共享目录,该容器集群中所有的容器通过虚拟机容器共享技术共享预置共享目录。其中,虚拟机可以是在终端中,该终端可以是一个,也可以是多个,对此不对终端的数量做限定。例如,当终端为一个时,将该终端作为主机,在该主机中设置多个虚拟机,以及在该主机中设置共享目录。或者,当有多个终端时,确定多个终端中一个终端为主机,在主机和/或其它终端中设置多个虚拟机,并在主机中设置共享目录。
34.其中,源码包包括前置任务管理模块,这么做的好处是源码的代码目录和makefile有变化调整时前置任务管理模块的代码也需要同步修改,当前置任务管理模块包含在源码包里的时候就不需要考虑单独管理前置任务管理模块的发布了。反之如果源码包里不包含前置任务管理模块,那么在进行编译时需要读取源码包内的信息来确定前置任务管理模块是否需要更新,如果需要更新,需要先其他位置下载前置任务管理模块后再启动编译。
35.在一实施例中,具体地,参照图3,步骤s101包括:子步骤s1011至子步骤s1013。
36.子步骤s1011、通过所述编译指令运行所述前置任务管理模块;
37.示范性的,预置共享目录中包括源码包,该源码包中包括前置任务管理模块、多个功能模块以及总编译任务。在检测到执行指令时,通过该执行指令运行该前置任务管理模块。
38.子步骤s1012、根据运行的所述前置任务管理模块分析各个所述功能模块,获取各个所述功能模块之间的依赖关系;
39.示范性的,通过运行的前置任务管理模块分析各个功能模块,以获取各个功能模块之间的依赖关系。例如,通过前置任务管理模块获取各个功能模块中的代码逻辑关系,通过该代码逻辑关系获取各个功能模块之间的依赖关系。
40.具体的,所述根据运行的所述前置任务管理模块分析各个所述功能模块,获取各个所述功能模块之间的依赖关系,包括:通过运行的所述前置任务管理模块分析各个所述功能模块的链接参数,获取代码编译依赖图;解析所述代码编译依赖图,获取所述代码编译依赖图中各个所述功能模块的依赖关系。
41.示范性的,通过运行的前置任务管理模块分析各个功能模块的链接参数,获取代码编译依赖图。例如,各个功能模块包括代码目录,而代码目录是有层级的,前置任务管理模块从代码目录树的顶端向叶子节点逐层递归扫描代码目录的makefile,通过makefile中的链接选项确定与其他目录层级的依赖关系,最终生成按树层次进行管理的代码编译依赖图。makefile一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译。
42.在获取到各个功能模块的代码编译依赖图,获取该代码编译依赖图中各个功能的依赖关系。例如,如图4所示,功能模块的代码目录包括mod1、mod2、mod3、mod4,通过得到代码编译依赖图,得到mod3依赖于mod1,mod4依赖于mod1。
43.子步骤s1013、根据所述前置任务管理模块和所述依赖关系对所述总编译任务进行解析和分片,生成并发的子任务序列。
44.示范性的,通过运行的前置任务管理模块和依赖关系对总编译任务进行解析和分片,即将总编译任务分片为多个高并发度的子任务序列。例如,如图4所示,通过前置任务管理模块和依赖关系对总编译任务进行解析,获取该总编译任务中的有依赖链接编译任务和无依赖链接编译任务,通过对该有依赖链接编译任务进行分片,生成编译任务和链接任务,即生成高并发度的子任务序列,该高并发度的子任务序列包括无依赖链接编译任务、编译任务和链接任务。
45.具体的,所述根据所述前置任务管理模块和所述依赖关系对所述总编译任务进行解析和分片,生成高并发度的子任务序列,包括:通过运行的所述前置任务管理模块和所述依赖关系对所述总编译任务进行解析,获取所述总编译任务中各个编译链接任务信息,其中,所述编译链接任务信息包括有依赖编译链接任务和无依赖编译链接任务;通过对所述有依赖编译链接进行切片细化,得到编译任务和链接任务;基于所述无依赖编译链接任务、所述编译任务和所述链接任务,生成高并发度的子任务序列。
46.示范性的,通过运行的前置任务管理模块和依赖关系对总编译任务进行解析,获取总编译任务中各个编译链接任务信息,其中,该解析包括多轮解析。例如,代码编译分两种子过程:一类是编译,另一类是链接。第一轮是对编译命令的直译,如图4所示,有代码子目录mod1、mod2、mod3、mod4;用户要求编译x86和ppc两种工具链,对于目录在不同工具链下的编译顺序进行确定,此时只有一条任务,即编译链接x86架构mod1

编译链接x86架构mod2

编译链接x86架构mod3(依赖mod1)

编译链接ppc架构mod1

编译链接ppc架构mod2

编译链接ppc架构mod4(依赖mod1)。
47.第二轮是按工具链进行分解,此时有两条并发任务,即编译链接x86架构mod1

编译链接x86架构mod2

编译链接x86架构mod3(依赖mod1)、编译链接ppc架构mod1

编译链接ppc架构mod2

编译链接ppc架构mod4(依赖mod1)。
48.第三轮是按目录依赖进行切分,相互间无依赖的在任务池一有四条并发任务,即编译链接x86架构mod1、编译链接x86架构mod2、编译链接ppc架构mod1、编译链接ppc架构mod2;对有依赖的放到任务池二,任务池二依赖于任务池一内的任务,在任务池二有两条并发任务,即编译链接x86架构mod3(依赖mod1)、编译链接ppc架构mod4(依赖mod1)。此时任务池一和任务池二的高并发度取最大值4。
49.第四轮是将任务池二中的编译和链接两个子过程分离,其中编译的任务放到任务池一,而任务池二中只有链接任务2个,即链接x86架构mod3、链接ppc架构mod4。整体上并发数取最大数即任务池一的任务数为6,即编译链接x86架构mod1、编译链接x86架构mod2、编译链接ppc架构mod1、编译链接ppc架构mod2、编译x86架构mod3、编译ppc架构mod4。通过将任务池一和任务池二中的子任务生成高并发度的子任务序列,该子任务序列包括任务池一的编译链接x86架构mod1、编译链接x86架构mod2、编译链接ppc架构mod1、编译链接ppc架构mod2、编译x86架构mod3、编译ppc架构mod4,以及任务池二的链接x86架构mod3、链接ppc架构mod4。
50.步骤s102:根据所述子任务序列运行所述预置共享目录中的任务调度服务端,以使各个容器中的任务调度客户端编译所述任务调度服务端从所述子任务序列中分发子任务。
51.示范性的,在获取到子任务序列时,通过该子任务序列运行预置共享目录中的任务调度服务端,通过该任务调度服务端向各个容器中的任务调度客户端分发子任务序列中的子任务,以使各个任务调度客户端编译该子任务。
52.在一实施例中,具体地,参照图5,步骤s102包括:子步骤s1021至子步骤s1023。
53.子步骤s1021、将所述子任务序列输入任务调度服务端,以运行所述任务调度服务端;
54.示范性的,将获取到的子任务序列输入至任务调度服务端,以运行该任务调度服务端。运行该任务调度服务端后,接收各个任务调度客户端发送的请求信息,获取该请求信息中携带的任务调度客户端名称、任务调度客户端地址等,将获取到的任务调度客户端、任务调度客户端地址等写入预置可分配任务表中。
55.子步骤s1022、通过运行的所述任务调度服务端读取预置可分配任务表,获取所述预置可分配任务表中的多个任务调度客户端;
56.示范性的,通过运行该任务调度服务端,该任务调度客户端读取预置可分配任务表,获取该预置可分配任务表中记录的多个任务调度客户端,例如,获取该预置可分配任务表中记录的各个任务调度客户端的名称、地址等。
57.子步骤s1023、向各个所述任务调度客户端分发所述子任务序列中的子任务,以使各个容器中的任务调度客户端编译所述任务调度服务端从所述子任务序列中分发子任务。
58.示范性的,在获取到预置可分配任务表中的多个任务调度客户端时,向各个任务调度客户端分发子任务序列中的子任务。各个任务调度客户端在接收到任务调度服务端分发的子任务时,对各个子任务进行编译,该编译过程是在预置共享目录中完成,即对子任务进行编译后的子编译文件生成在预置共享目录中。在任务调度客户端完成编译子任务后,再向任务调度服务端发送请求信息,以获取新的子任务。
59.具体的,所述通过运行的所述任务调度服务端读取预置可分配任务表之前,还包括:接收各个所述任务调度客户端发送的请求信息,获取所述请求信息中携带的任务调度客户端信息;将所述任务调度客户端信息添加至预置可分配任务表中。
60.示范性的,接收各个任务调度客户端发送的请求信息,获取请求信息中携带的任务调度客户端信息;将务调度客户端信息添加至预置可分配任务表中。若该任务调度客户端向任务调度服务端发送请求信息后,在预置时长内未接受到子任务,则重新向任务调度
服务端发送请求信息。实施例的,当终端启动时,终端中的容器也随着终端启动,容器启动时运行该任务调度客户端,该任务调度客户端向任务调度服务端发送任务请求消息req,然后等待任务调度服务端回复ack消息;任务调度服务端接收任务调度客户端的req消息,从本地子任务序列中调度分发一个任务随ack消息下发到任务调度客户端执行;任务调度客户端接收任务调度服务端的ack消息,执行子任务指令,完成后向任务调度服务端发送rep消息,然后等待任务调度服务端回复clos消息;任务调度服务端接收任务调度客户端的rep消息,更新子任务状态为完成,然后向任务调度客户端回复clos消息;任务调度客户端接收任务调度服务端的clos消息,完成后关闭本次任务,开始下一次任务请求。其中发送请求信息还包括,获取到任务调度服务端运行时,获取该任务调度服务端的地址信息,通过该地址信息向任务调度服务端发送请求信息。
61.步骤s103:确定各个所述任务调度客户端执行编译所述子任务后,更新任务状态,完成打包工作。
62.示范性的,在确定任务调度客户端执行编译该子任务后,更新任务状态。任务调度客户端在执行编译任务调度服务端分发的子任务后,再次向任务调度服务端发送请求信息,以编译新的子任务,在完成任务调度服务端分发的所有子任务后,任务调度服务端更新任务状态,即停止运行。获取预置共享目录中各个子任务的子编译文件,将多个子编译文件进行打包,生成编译文件,即完成打包工作。
63.在本技术实施例中,通过执行编译指令和预置共享目录中的源码包生成高并发度的子任务序列,根据子任务序列运行预置共享目录中的任务调度服务端,以使各个容器中的任务调度客户端编译任务调度服务端从子任务序列中分发的子任务;确定各个任务调度客户端执行编译所述子任务后,更新任务状态,完成打包工作。可见,保证了对总体编译任务进行并行划分时的任务颗粒度较小,同时又无需在分布式编译过程中实时调度,从而可以有效提高分布式编译任务的总体并行度和调度,减少了编译时长,提高了编译效率。
64.请参照图6,图6为本技术实施例提供的一种分布式编译装置的示意性框图。
65.如图6所示,该分布式编译装置300,包括:执行模块301、运行及分发302、确定及更新模块303。
66.执行模块301,用于执行编译指令,根据所述编译指令和预置共享目录中的源码包生成并发的子任务序列;
67.运行及分发302,用于根据所述子任务序列运行所述预置共享目录中的任务调度服务端,以使各个容器中的任务调度客户端编译所述任务调度服务端从所述子任务序列中分发子任务;
68.确定及更新模块303,用于确定各个所述任务调度客户端执行编译所述子任务后,更新任务状态,完成打包工作。
69.其中,执行模块301具体还用于:
70.通过所述编译指令运行所述前置任务管理模块;
71.根据运行的所述前置任务管理模块分析各个所述功能模块,获取各个所述功能模块之间的依赖关系;
72.根据所述前置任务管理模块和所述依赖关系对所述总编译任务进行解析和分片,生成并发的子任务序列。
73.其中,执行模块301具体还用于:
74.通过运行的所述前置任务管理模块分析各个所述功能模块的链接参数,获取代码编译依赖图;
75.解析所述代码编译依赖图,获取所述代码编译依赖图中各个所述功能模块的依赖关系。
76.其中,执行模块301具体还用于:
77.通过运行的所述前置任务管理模块和所述依赖关系对所述总编译任务进行解析,获取所述总编译任务中各个编译链接任务信息,其中,所述编译链接任务信息包括有依赖编译链接任务和无依赖编译链接任务;
78.通过对所述有依赖编译链接进行切片细化,得到编译任务和链接任务;
79.基于所述无依赖编译链接任务、所述编译任务和所述链接任务,生成并发的子任务序列。
80.其中,运行及分发302具体还用于:
81.将所述子任务序列输入任务调度服务端,以运行所述任务调度服务端;
82.通过运行的所述任务调度服务端读取预置可分配任务表,获取所述预置可分配任务表中的多个任务调度客户端;
83.向各个所述任务调度客户端分发所述子任务序列中的子任务,以使各个容器中的任务调度客户端编译所述任务调度服务端从所述子任务序列中分发子任务。
84.其中,分布式编译装置具体还用于:
85.接收各个所述任务调度客户端发送的请求信息,获取所述请求信息中携带的任务调度客户端信息;
86.将所述任务调度客户端信息添加至预置可分配任务表中。
87.其中,分布式编译装置具体还用于:
88.预先设置多个虚拟机,并对各个所述虚拟机运行多个容器,生成容器集群,其中各个所述容器包括任务调度客户端;
89.预置共享目录,以使所述容器集群中各个所述容器共享所述预置共享目录。
90.需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块及单元的具体工作过程,可以参考前述分布式编译方法实施例中的对应过程,在此不再赘述。
91.上述实施例提供的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图7所示的计算机设备上运行。
92.请参阅图7,图7为本技术实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以为终端。
93.如图7所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
94.非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种分布式编译方法。
95.处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
96.内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被
处理器执行时,可使得处理器执行任意一种分布式编译方法。
97.该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图7中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
98.应当理解的是,处理器可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
99.其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
100.执行编译指令,根据所述编译指令和预置共享目录中的源码包生成并发的子任务序列;
101.根据所述子任务序列运行所述预置共享目录中的任务调度服务端,以使各个容器中的任务调度客户端编译所述任务调度服务端从所述子任务序列中分发子任务;
102.确定各个所述任务调度客户端执行编译所述子任务后,更新任务状态,完成打包工作。
103.在一个实施例中,所述处理器所述源码包包括前置任务管理模块、多个功能模块和总编译任务;所述根据所述编译命令和源码包生成并发的子任务序列实现时,用于实现:
104.通过所述编译指令运行所述前置任务管理模块;
105.根据运行的所述前置任务管理模块分析各个所述功能模块,获取各个所述功能模块之间的依赖关系;
106.根据所述前置任务管理模块和所述依赖关系对所述总编译任务进行解析和分片,生成并发的子任务序列。
107.在一个实施例中,所述处理器根据运行的所述前置任务管理模块分析各个所述功能模块,获取各个所述功能模块之间的依赖关系实现时,用于实现:
108.通过运行的所述前置任务管理模块分析各个所述功能模块的链接参数,获取代码编译依赖图;
109.解析所述代码编译依赖图,获取所述代码编译依赖图中各个所述功能模块的依赖关系。
110.在一个实施例中,所述处理器根据所述前置任务管理模块和所述依赖关系对所述总编译任务进行解析和分片,生成并发的子任务序列实现时,用于实现:
111.通过运行的所述前置任务管理模块和所述依赖关系对所述总编译任务进行解析,获取所述总编译任务中各个编译链接任务信息,其中,所述编译链接任务信息包括有依赖编译链接任务和无依赖编译链接任务;
112.通过对所述有依赖编译链接进行切片细化,得到编译任务和链接任务;
113.基于所述无依赖编译链接任务、所述编译任务和所述链接任务,生成并发的子任
务序列。
114.在一个实施例中,所述处理器以使各个容器中的任务调度客户端编译所述任务调度服务端从所述子任务序列中分发子任务实现时,用于实现:
115.将所述子任务序列输入任务调度服务端,以运行所述任务调度服务端;
116.通过运行的所述任务调度服务端读取预置可分配任务表,获取所述预置可分配任务表中的多个任务调度客户端;
117.向各个所述任务调度客户端分发所述子任务序列中的子任务,以使各个容器中的任务调度客户端编译所述任务调度服务端从所述子任务序列中分发子任务。
118.在一个实施例中,所述处理器通过运行的所述任务调度服务端读取预置可分配任务表之前实现时,用于实现:
119.接收各个所述任务调度客户端发送的请求信息,获取所述请求信息中携带的任务调度客户端信息;
120.将所述任务调度客户端信息添加至预置可分配任务表中。
121.在一个实施例中,所述处理器执行编译指令之前实现时,用于实现:
122.预先设置多个虚拟机,并对各个所述虚拟机运行多个容器,生成容器集群,其中各个所述容器包括任务调度客户端;
123.预置共享目录,以使所述容器集群中各个所述容器共享所述预置共享目录。
124.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时所实现的方法可参照本技术分布式编译方法的各个实施例。
125.其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
126.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
127.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献