一种任务编排和运行的实现方法及装置与流程

文档序号:27388554发布日期:2021-11-15 21:55阅读:171来源:国知局
一种任务编排和运行的实现方法及装置与流程

1.本发明涉及软件开发技术,更具体的说,是涉及一种任务编排和运行的实现方法及装置。


背景技术:

2.在软件开发技术领域,业务需求是开发一个持续集成和持续部署系统,接入server、web、android、ios四端系统的打包和发布需求,建立和统一标准的发布流程,对不同系统的发布行为,建立绝对的控制力。
3.目前,业内基于开源技术,已有成熟的解决方案实现业务开发和部署,其拓展性和灵活性均良好,能满足开发者用户各种需求,但对任务流程的运行缺乏整体的可控和规范性。


技术实现要素:

4.有鉴于此,本发明提供如下技术方案:
5.一种任务编排和运行的实现方法,包括:
6.为所有的元需求配置系统任务模板,得到系统任务模板集合,每一个元需求对应唯一的系统任务模板;
7.管理员复制所述系统任务模板集合中的第一系统任务到系统阶段的预处理阶段,所述第一系统任务包括至少一个系统任务模板;
8.管理员复制所述系统任务模板集合中的第二系统任务到流水线模板,所述第二系统任务包括至少一个系统任务模板;
9.管理员复制所述系统任务模板集合中的第三系统任务到系统阶段的后处理阶段,所述第三系统任务包括至少一个系统任务模板;
10.用户复制所述流水线模板中的系统任务模板构建自定义流水线;
11.在触发所述自定义流水线运行时,将在所述自定义流水线的头部添加所述系统阶段的预处理阶段,并在所述自定义流水线的尾部添加所述系统阶段的后处理阶段,复制得到运行时流水线。
12.可选的,所述管理员复制所述系统任务模板集合中的第二系统任务到流水线模板,包括:
13.管理员复制所述系统任务模板集合中的第二系统任务中的第一个系统任务模板到流水线模板中的第一阶段,所述第一阶段与所述第一个系统任务模板所能够执行的功能对应;
14.管理员复制所述系统任务模板集合中的第二系统任务中的第二个系统任务模板到流水线模板中的第二阶段,所述第二阶段与所述第二个系统任务模板所能够执行的功能对应。
15.可选的,在所述用户复制所述流水线模板中的系统任务模板构建自定义流水线
后,还包括:
16.接收并执行用户对于所述自定义流水线的修改调整指令,得到最终自定义流水线。
17.可选的,所述运行时流水线中包含多个阶段,在执行所述运行时流水线的该过程中,不同的阶段串行执行,同一阶段中对应不同系统任务模板的不同任务并行执行。
18.可选的,还包括:
19.为新增加的元需求配置系统任务模板,以使得新配置的所述系统任务模板能够被复制添加进系统阶段的预处理阶段、流水线模板或系统阶段的后处理阶段。
20.一种任务编排和运行的实现装置,包括:
21.模板配置模块,用于为所有的元需求配置系统任务模板,得到系统任务模板集合,每一个元需求对应唯一的系统任务模板;
22.预处理配置模块,用于使管理员复制所述系统任务模板集合中的第一系统任务到系统阶段的预处理阶段,所述第一系统任务包括至少一个系统任务模板;
23.流水线配置模块,用于使管理员复制所述系统任务模板集合中的第二系统任务到流水线模板,所述第二系统任务包括至少一个系统任务模板;
24.后处理配置模块,用于使管理员复制所述系统任务模板集合中的第三系统任务到系统阶段的后处理阶段,所述第三系统任务包括至少一个系统任务模板;
25.自定义配置模块,用于使用户复制所述流水线模板中的系统任务模板构建自定义流水线;
26.执行处理模块,用于在触发所述自定义流水线运行时,将在所述自定义流水线的头部添加所述系统阶段的预处理阶段,并在所述自定义流水线的尾部添加所述系统阶段的后处理阶段,复制得到运行时流水线。
27.可选的,所述流水线配置模块具体用于:使管理员复制所述系统任务模板集合中的第二系统任务中的第一个系统任务模板到流水线模板中的第一阶段,所述第一阶段与所述第一个系统任务模板所能够执行的功能对应;并使管理员复制所述系统任务模板集合中的第二系统任务中的第二个系统任务模板到流水线模板中的第二阶段,所述第二阶段与所述第二个系统任务模板所能够执行的功能对应。
28.可选的,还包括:
29.修改调整模块,用于在用户复制所述流水线模板构建自定义流水线后,接收并执行用户对于所述自定义流水线的修改调整指令,得到最终自定义流水线。
30.可选的,所述运行时流水线中包含多个阶段,在执行所述运行时流水线的过程中,不同的阶段串行执行,同一阶段中对应不同系统任务模板的不同任务并行执行。
31.可选的,所述模板配置模块还用于:为新增加的元需求配置系统任务模板,以使得新配置的所述系统任务模板能够被复制添加进系统阶段的预处理阶段、流水线模板或系统阶段的后处理阶段。
32.经由上述的技术方案可知,与现有技术相比,本发明实施例公开了一种任务编排和运行的实现方法及装置,方法包括:为所有的元需求配置系统任务模板,得到系统任务模板集合;管理员复制所述系统任务模板集合中的第一系统任务到系统阶段的预处理阶段,复制所述系统任务模板集合中的第二系统任务到流水线模板,并复制所述系统任务模板集
合中的第三系统任务到系统阶段的后处理阶段;用户复制所述流水线模板中的系统任务模板构建自定义流水线;在触发所述自定义流水线运行时,将在所述自定义流水线的头部添加所述系统阶段的预处理阶段,并在所述自定义流水线的尾部添加所述系统阶段的后处理阶段,复制得到运行时流水线。上述实现方案定义和实现一套任务编排和运行的规范,兼具灵活性和可控性,通过流水线阶段的类型划分与权限控制,为管理员提供对需求的全局掌控能力,同时为用户提供了能够个性化配置执行任务的条件,满足用户的各种需求。
附图说明
33.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
34.图1为本发明实施例公开的一种任务编排和运行的实现方法的流程图;
35.图2为本发明实施例公开的另一种任务编排和运行的实现方法的流程图;
36.图3为本发明实施例公开的代码发布需求的任务编排和运行的实现的流程原理示意图;
37.图4为本发明实施例公开的一种任务编排和运行的实现装置的结构示意图。
具体实施方式
38.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
39.图1为本发明实施例公开的一种任务编排和运行的实现方法的流程图,参见图1所示,任务编排和运行的实现方法可以包括:
40.步骤101:为所有的元需求配置系统任务模板,得到系统任务模板集合,每一个元需求对应唯一的系统任务模板。
41.本技术实施例旨在定义一套任务编排和运行的规范,依据规范拆解需求,编排和编写任务,驱动框架运行任务,实现需求。现实中一个需求,往往可以根据前后依赖关系,拆分为多个分步骤,可以类比为一条流水线,各分步骤依次实现,需求也就得以实现。分步骤中又包含彼此没有依赖关系的不可拆分的元需求,其中元需求全部实现,分步的需求才能实现。分步可以类比为流水线中的一个阶段,步骤中的元需求,就是阶段中的任务。任务为最小的需求载体,是需求拆分后的最小单位。阶段中的任务由于彼此没有依赖关系,可以并行,提高需求实现速度。
42.整个方案正式实施前,需要将需求中所有的元需求独立开来,并为每一个元需求编写相应的系统任务模板,便于后续编排调用。
43.步骤102:管理员复制所述系统任务模板集合中的第一系统任务到系统阶段的预处理阶段,所述第一系统任务包括至少一个系统任务模板。
44.在所有的元需求都配置了系统任务模板的情况下,可以开始进行任务编排工作。
本技术实施例中,可以将运行时流水线中的阶段依次划分为三种,即预处理阶段、自定义阶段和后处理阶段。其中,为了保证管理人员对运行时流水线的整体流程可控性,预处理阶段和后处理阶段只能从管理员配置的系统阶段的预处理阶段和系统阶段的后处理阶段复制而来,实现对运行时流水线的整体控制;而其中的自定义阶段则从用户自定义流水线复制而来,用户可以对所述阶段中任务进行自定义编排。
45.步骤103:管理员复制所述系统任务模板集合中的第二系统任务到流水线模板,所述第二系统任务包括至少一个系统任务模板。
46.步骤104:管理员复制所述系统任务模板集合中的第三系统任务到系统阶段的后处理阶段,所述第三系统任务包括至少一个系统任务模板。
47.步骤105:用户复制所述流水线模板中的系统任务模板构建自定义流水线。
48.管理员复制所述系统任务模板集合中的第二系统任务到流水线模板后,用户可以复制流水线模板,构建自定义流水线,也可以以此为基础,再从系统任务模板集合中选取系统任务模板搭建符合自身需求的流水线阶段,从而保证流水线的可自定义性和灵活性。
49.步骤106:在触发所述自定义流水线运行时,将在所述自定义流水线的头部添加所述系统阶段的预处理阶段,并在所述自定义流水线的尾部添加所述系统阶段的后处理阶段,复制得到运行时流水线。
50.预处理阶段可以理解为运行时流水线的头部,后处理阶段可以理解为运行时流水线的尾部,中间部分为自定义阶段。预处理阶段和后处理阶段由管理员进行配置管理,自定义阶段由用户自主配置。
51.本实施例所述任务编排和运行的实现方法,定义和实现一套任务编排和运行的规范,兼具灵活性和可控性,通过流水线阶段的类型划分与权限控制,为管理员提供对需求的全局掌控能力,同时为用户提供了能够个性化配置执行任务的条件,满足用户的各种需求。
52.一个实现中,所述管理员复制所述系统任务模板集合中的第二系统任务到流水线模板,可以但不限制为包括:
53.管理员复制所述系统任务模板集合中的第二系统任务中的第一个系统任务模板到流水线模板中的第一阶段,所述第一阶段与所述第一个系统任务模板所能够执行的功能对应;
54.管理员复制所述系统任务模板集合中的第二系统任务中的第二个系统任务模板到流水线模板中的第二阶段,所述第二阶段与所述第二个系统任务模板所能够执行的功能对应。
55.图2为本发明实施例公开的另一种任务编排和运行的实现方法的流程图,如图2所示,任务编排和运行的实现方法可以包括:
56.步骤201:为所有的元需求配置系统任务模板,得到系统任务模板集合,每一个元需求对应唯一的系统任务模板。
57.步骤202:管理员复制所述系统任务模板集合中的第一系统任务到系统阶段的预处理阶段,所述第一系统任务包括至少一个系统任务模板。
58.步骤203:管理员复制所述系统任务模板集合中的第二系统任务到流水线模板,所述第二系统任务包括至少一个系统任务模板。
59.步骤204:管理员复制所述系统任务模板集合中的第三系统任务到系统阶段的后
处理阶段,所述第三系统任务包括至少一个系统任务模板。
60.步骤205:用户复制所述流水线模板中的系统任务模板构建自定义流水线。
61.步骤206:接收并执行用户对于所述自定义流水线的修改调整指令,得到最终自定义流水线。
62.步骤207:在触发所述最终自定义流水线运行时,将在所述最终自定义流水线的头部添加所述系统阶段的预处理阶段,并在所述自定义流水线的尾部添加所述系统阶段的后处理阶段,复制得到运行时流水线。
63.前述实施例中,所述运行时流水线中包含多个阶段,在执行所述运行时流水线的过程中,不同的阶段串行执行,同一阶段中对应不同系统任务模板的不同任务并行执行。
64.其他实现中,任务编排和运行的实现方法还可以包括:为新增加的元需求配置系统任务模板,以使得新配置的所述系统任务模板能够被复制添加进系统阶段的预处理阶段、流水线模板或系统阶段的后处理阶段。
65.一个示例中,以代码发布需求为例,该代码发布需求包括代码拉取、代码检查、代码编译、代码发布、发布通知五个步骤。
66.系统将流水线中阶段划分为三种:
67.1.预处理阶段。流水线中最先开始运行的阶段,其中包括各种通用预处理任务。比如代码拉取。预处理阶段只有系统管理员才可配置,也可用于对系统的发布行为进行统一控制。比如代码检查,对代码的规范性进行检查,对不满足规范性要求的代码,拒绝其发布,控制生产风险。
68.2.自定义阶段。紧随预处理阶段执行。用户根据需求,拆解任务,可在此阶段中灵活自定义任务。比如用户根据项目特点,自定义代码的编译和发布形式,编写相应的代码编译和代码发布任务。
69.3.后处理阶段。紧随自定义阶段运行,同预处理阶段,只能由管理员进行配置。可以放置一些系统的通用需求,做到全局掌控。比如发布通知,对于生产环境的发布行为,可以周知项目的相关人员,关注项目生产环境的运行情况。
70.具体实现中,代码发布需求的任务编排和运行的实现的流程原理如图4所示,结合图3所示,其可以包括:
71.步骤1、对通用场景下的代码拉取、代码检查、代码编译、代码发布、发布通知五个元需求,编写其相应的系统任务模版。
72.步骤2、管理员根据需要可以配置某些通用需求任务和控制性任务到系统阶段的预处理阶段和后处理阶段。比如,复制步骤1中的代码拉取、代码检查任务配置到预处理阶段,复制步骤1中的发布通知任务配置到后处理阶段。
73.步骤3、管理员复制步骤1中的代码编译与代码发布任务分别到流水线模版的编译阶段与发布阶段。
74.步骤4、用户复制流水线模版得到用户自定义的流水线。用户还可以对自定义流水线中的代码编译和代码发布任务,根据项目的特点,自行定义与修改,满足项目个性化需求。
75.步骤5、触发自定义流水线运行时,将在自定义流水线的头部加上系统阶段中的预处理阶段和尾部加上系统阶段中的后处理阶段,复制得到具体运行时流水线。运行时流水
线将按照阶段串行,阶段中任务并行的方式,运行下去。
76.本技术实施例公开的任务编排和运行的实现方法,不仅为管理员提供对需求的全局掌控能力、为用户提供了能够个性化配置执行任务的条件,而且在实际应用中学习成本低,针对一些通用需求场景,系统已经给出适用的方案模板,直接复制使用即可。此外,需求任务不仅支持脚本语言,还支持高级开发语言任务的插件式开发,系统拓展和处理能力更强大。
77.对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
78.上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了一种装置,下面给出具体的实施例进行详细说明。
79.图4为本发明实施例公开的一种任务编排和运行的实现装置的结构示意图,参见图4所示,任务编排和运行的实现装置40可以包括:
80.模板配置模块401,用于为所有的元需求配置系统任务模板,得到系统任务模板集合,每一个元需求对应唯一的系统任务模板。
81.预处理配置模块402,用于使管理员复制所述系统任务模板集合中的第一系统任务到系统阶段的预处理阶段,所述第一系统任务包括至少一个系统任务模板。
82.流水线配置模块403,用于使管理员复制所述系统任务模板集合中的第二系统任务到流水线模板,所述第二系统任务包括至少一个系统任务模板。
83.后处理配置模块404,用于使管理员复制所述系统任务模板集合中的第三系统任务到系统阶段的后处理阶段,所述第三系统任务包括至少一个系统任务模板。
84.自定义配置模块405,用于使用户复制所述流水线模板中的系统任务模板构建自定义流水线。
85.执行处理模块406,用于在触发所述自定义流水线运行时,将在所述自定义流水线的头部添加所述系统阶段的预处理阶段,并在所述自定义流水线的尾部添加所述系统阶段的后处理阶段,复制得到运行时流水线。
86.本实施例所述任务编排和运行的实现装置,定义和实现一套任务编排和运行的规范,兼具灵活性和可控性,通过流水线阶段的类型划分与权限控制,为管理员提供对需求的全局掌控能力,同时为用户提供了能够个性化配置执行任务的条件,满足用户的各种需求。
87.一个实现中,所述流水线配置模块具体可用于:使管理员复制所述系统任务模板集合中的第二系统任务中的第一个系统任务模板到流水线模板中的第一阶段,所述第一阶段与所述第一个系统任务模板所能够执行的功能对应;并使管理员复制所述系统任务模板集合中的第二系统任务中的第二个系统任务模板到流水线模板中的第二阶段,所述第二阶段与所述第二个系统任务模板所能够执行的功能对应。
88.一个实现中,任务编排和运行的实现装置还包括:修改调整模块,用于在用户复制所述流水线模板构建自定义流水线后,接收并执行用户对于所述自定义流水线的修改调整指令,得到最终自定义流水线。
89.一个实现中,所述运行时流水线中包含多个阶段,在执行所述运行时流水线的该
过程中,不同的阶段串行执行,同一阶段中对应不同系统任务模板的不同任务并行执行。
90.一个实现中,所述模板配置模块还用于:为新增加的元需求配置系统任务模板,以使得新配置的所述系统任务模板能够被复制添加进系统阶段的预处理阶段、流水线模板或系统阶段的后处理阶段。
91.上述实施例中的所述的任意一种任务编排和运行的实现装置包括处理器和存储器,上述实施例中的模板配置模块、预处理配置模块、流水线配置模块、后处理配置模块、自定义配置模块、执行处理模块等均作为程序模块存储在存储器中,由处理器执行存储在所述存储器中的上述程序模块来实现相应的功能。
92.处理器中包含内核,由内核去存储器中调取相应的程序模块。内核可以设置一个或多个,通过调整内核参数来实现回访数据的处理。
93.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
94.本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现上述实施例中所述的任务编排和运行的实现方法。
95.本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述实施例中所述的任务编排和运行的实现方法。
96.进一步,本实施例提供了一种电子设备,包括处理器以及存储器。其中存储器用于存储所述处理器的可执行指令,所述处理器配置为经由执行所述可执行指令来执行上述实施例中所述的任务编排和运行的实现方法。
97.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
98.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
99.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd

rom、或技术领域内所公知的任意其它形式的存储介质中。
100.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一
致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1