CN113094167A - 一种云计算资源处理方法、装置、设备及存储介质 - Google Patents
一种云计算资源处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113094167A CN113094167A CN202010017849.5A CN202010017849A CN113094167A CN 113094167 A CN113094167 A CN 113094167A CN 202010017849 A CN202010017849 A CN 202010017849A CN 113094167 A CN113094167 A CN 113094167A
- Authority
- CN
- China
- Prior art keywords
- cloud computing
- job
- computing resource
- request
- resource
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 184
- 230000001360 synchronised effect Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000000034 method Methods 0.000 abstract description 47
- 230000008569 process Effects 0.000 description 33
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 18
- 230000001960 triggered effect Effects 0.000 description 14
- 238000013468 resource allocation Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 239000013643 reference control Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种云计算资源处理方法、装置、计算机设备及存储介质,涉及数据处理技术领域。其中方法包括:接收云计算资源处理请求,该云计算资源处理请求中包括需处理的云计算资源数据;调用与云计算资源处理请求相对应的资源编排模板;根据云计算资源数据和资源编排模板生成作业,其中,所述资源编排模板中包括嵌套编排,嵌套编排生成作业的至少一个作业步骤;按照作业的作业步骤顺序,执行作业,以完成对云计算资源的处理。本发明实施例降低了资源编排配置的难度,降低了实现云计算资源处理配置的难度,提高了实现云计算资源处理的效率,降低了定位问题的难度。
Description
技术领域
本发明涉及云计算技术领域,具体涉及一种云计算资源处理方法、装置、计算机设备及存储介质。
背景技术
在云计算中,资源编排是按照编排顺序,以平铺的方式(所有的步骤平铺在一个层级配置)进行。如此,就会导致该资源编排配置复杂且步骤较多,如某一个资源编排涉及超过30个步骤等;且资源编排对应要调用多个不同专业组来完成,以平铺的方式进行资源编排,需要关注其他专业组所涉及的编排的内部实现,导致资源编排实现复杂,需要专业人士进行,而且很容易出错。现有的云计算资源处理很多时候采用上述资源编排的方式进行云计算资源的处理。如此,导致云计算资源处理实现复杂;若出现异常,则需要关注云计算资源处理涉及的资源编排中的每一个步骤,加大了定位异常的难度。
发明内容
本发明实施例提供一种云计算资源处理方法、装置、计算机设备及存储介质,可降低实现云计算资源处理的难度,提高实现云计算资源处理的效率。
本发明实施例提供了一种云计算资源处理方法,包括:
接收云计算资源处理请求,所述云计算资源处理请求中包括需请求的云计算资源数据;
调用与所述云计算资源处理请求相对应的资源编排模板;
根据所述云计算资源数据和所述资源编排模板生成作业,其中,所述源编排模板中包括嵌套编排的编排步骤,所述嵌套编排的编排步骤生成所述作业的至少一个作业步骤;
按照所述作业的作业步骤,执行所述作业,以完成对所述云计算资源的处理。
本发明实施例还提供了一种云计算资源处理装置,包括:
接收单元,用于接收云计算资源处理请求,所述云计算资源处理请求中包括云计算资源数据;
调用单元,用于调用与所述云计算资源处理请求相对应的资源编排模板;
生成单元,用于根据所述云计算资源数据和所述资源编排模板生成作业,其中,所述源编排模板中包括嵌套编排的编排步骤,所述嵌套编排的编排步骤生成所述作业的至少一个作业步骤;
执行单元,用于按照所述作业的作业步骤,执行所述作业,以完成对所述云计算资源的处理。
本发明实施例还提供了一种计算机设备,所述计算机设备包括:一个或多个处理器;存储器;以及一个或多个应用程序,其中所述处理器和所述存储器相连接,所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行上述任一项所述的云计算资源处理方法。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行上述任一项所述的云计算资源处理方法。
本发明实施例提出了云计算资源处理方法,实现云计算资源的处理。其中,当云计算资源处理的过程中涉及调用其他专业组的步骤时,通过嵌套编排来实现调用专业组对应的步骤,如此,无需关注其他专业组所涉及的编排的内容实现,即无需关注其他专业组中每一个步骤的实现,只需要给出其他专业组的输入参数和输出参数即可;通过嵌套编排来实现调用专业组对应的步骤,降低了资源编排配置的难度,降低了实现云计算资源处理配置的难度,提高了实现云计算资源处理的效率;每个专业组的边界非常清晰,也便于查找和定位云计算资源处理中存在的问题,降低了定位问题的难度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的云计算资源处理系统的示意图;
图2是本发明实施例提供的云计算资源处理方法的流程示意图;
图3是本发明实施例提供的云计算资源处理方法的子流程示意图;
图4是本发明实施例提供的云计算资源处理方法的子流程示意图;
图5是本发明实施例提供的Http通用插件的示例图;
图6是本发明实施例提供的服务器与外部交互的示例图;
图7是本发明实施例提供的云计算资源处理方法的另一流程示意图;
图8a-图8d是配置编排的界面的示例图;
图9是本发明实施例提供的云计算资源处理方法的另一流程示意图;
图10是本申请实施例提供的分配云主机资源的流程示意图;
图11是本发明实施例提供的云计算资源处理装置的示意性框图;
图12是本发明实施例提供的云计算资源处理装置的另一示意性框图;
图13是本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。另外,“第一”、“第二”这些术语用来将多个元素彼此区分开。例如,在不脱离本发明范围的前提下,第一预设时间可以被称为第二预设时间,并且类似地,第二预设时间可以被称为第一预设时间。第一预设时间和第二预设时间均为预设时间,但它们并非同一预设时间。
在本发明中,“示例性”一词用来表示“用作例子、例证或说明”。本发明中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本发明所公开的原理和特征的最广范围相一致。
在对本发明实施例进行详细地解释说明之前,先对本发明实施例涉及到的一些名词进行解释说明。
编排,可以简单理解为自动化在特定机器/设备上执行的任务的顺序,尤其是存在各种各样的依赖关系的任务。
资源编排,涉及对资源(例如云计算资源)的编排,用于生成一组彼此关联的资源组合的资源编排模板,即具有拓扑关系的资源组合的资源编排模板,资源编排模板描述了所需资源的集合、资源之间的关联关系以及资源配置细节等内容。
一个编排包括至少一个编排步骤。每个编排包括输入参数,输出参数,可将编排(例如资源编排)的输入参数传递到编排步骤,也可将编排步骤的输出参数作为编排(例如资源编排)的输出参数。
在本申请实施例中,一个编排步骤可以是操作(步骤),也可以是编排步骤,例如嵌套编排步骤。若一个编排步骤是操作(步骤),则编排步骤和操作(步骤)是1:1的关系,即一个编排步骤对应一个操作(步骤),该编排步骤的输入参数和输出参数映射为操作的输入参数和输出参数。若编排步骤是嵌套编排作业步骤,则嵌套编排作业步骤的输入参数和输出参数以编排粒度来定义。
作业,指的是编排实例,一个作业对应一个编排实例,每次调用编排时会生成一个作业。作业中不冗余编排静态定义中的信息,而是直接引用编排静态定义中的信息。
生成作业时会根据编排步骤生成对应的作业步骤,一个编排步骤对应会生成一个作业步骤。作业步骤一旦生成完毕,无论编排步骤如何修改配置,作业步骤的配置都不会受影响。
操作,一个具体的动作。可根据具体动作所需的特性配置操作的输入参数和输出参数,不同的动作可以设置不同的参数。
KAFKA,是一个高性能分布式消息系统,具有实时横向扩展、高吞吐量、支持大量堆积具有容错性和速度快等特点。KAFKA支持消息异步处理功能。
本发明实施例提供一种云计算资源处理方法、装置、计算机设备及存储介质。该云计算资源处理方法运行于设备中,该设备可以是服务器,例如,云计算服务器,具体如手机、Pad、台式电脑等服务器设备。
图1是本发明实施例提供的云计算资源处理系统的示意图。如图1所示,云计算资源处理系统包括用户终端和服务器,用户终端包括需请求云计算资源的用户终端,用户终端可以是手机、Pad、台式电脑等终端设备,服务器可以是云计算服务器等。用户终端发送云计算资源处理请求至服务器,该云计算资源处理请求中包括需处理的云计算资源数据。例如,需向服务器请求分配云计算资源,则云计算资源处理请求中包括需分配的内存资源、CPU核数等云计算资源数据;服务器接收到云计算资源处理请求后,根据云计算资源处理请求为用户终端所对应的用户分配对应的云计算资源,并向用户终端返回云计算资源处理请求的处理结果。
具体地,当向服务器请求分配云计算资源时,在用户终端的资源分配界面上,接收用户输入的需分配的内存和CPU核数等云计算资源数据,例如:32G内存、4核CPU等,当检测到资源分配界面上的提交控件被触发时,根据用户输入的云计算资源数据,向服务器发送云计算资源处理请求。其中,提交控件可以是按钮的形式、图标的形式、标签的形式等,例如,图1中的“提交”按钮。提交控件可以通过多种方式触发,例如,当检测到用户对提交控件的点击/触摸操作时,触发提交控件;也可以通过语音的方式触发,例如,接收用户的语音信息,解析该语音信息,若语音信息中包括触发提交控件的内容,则触发提交控件,例如语音信息为:资源数据填写确认无误,请提交等,则触发提交控件;还可以通过其他的方式触发提交控件。
需要说明的是,图1仅仅是一个示例,在真实场景中,用户可以包括多个用户,服务器也可以是多个服务器。
同时需要说明的是,本文中的专业组,指的是专业组所在的设备,专业组所在的设备完成具体的业务功能,如IP分配、虚拟机创建等。不同的专业组完成不同的业务功能,例如网络组完成IP分配,系统组完成虚拟机创建等。完成不同的业务功能的不同专业组可以是在同一个设备,也可以是不同的设备,较优的,完成不同的业务功能的不同专业组在不同的设备。其中,专业组所在的设备也是服务器,专业组所在的服务器可以与云计算资源处理方法所在的服务器可以是不同的服务器,如此,使得各业务独立,同时方便维护。然而在一些实施例中,专业组所在的服务器可以与云计算资源处理方法所在的服务器也可以是相同的服务器。
图2是本发明实施例提供的云计算资源处理方法的流程示意图,该云计算资源处理方法应用于服务器中,该云计算资源处理方法主要包括下列步骤101~104,具体可以如下:
101,接收云计算资源处理请求,该云计算资源处理请求中包括需处理的云计算资源数据。
接收来自用户终端的云计算资源处理请求,该云计算资源处理请求中包括用户终端需处理的云计算资源数据。例如,向服务器请求分配云计算资源,则云计算资源处理请求中包括需分配的内存资源、CPU资源等云计算资源数据。如图1所示,接收用户在资源处理界面上输入的需要分配的云计算资源数据,检测到提交按钮被触发时,根据输入的云计算资源数据,生成云计算资源处理请求,向服务器发送云计算资源处理请求,服务器接收该云计算资源处理请求,并获取该云计算资源处理请求中包括的云计算资源数据。
102,调用与云计算资源处理请求相对应的资源编排模板。
可以理解地,每个云计算资源处理请求都有一个对应的请求类别,对于每一个请求类别,会预先配置与该请求类别相对应的资源编排模板。在资源编排模板中会对应配置完成该请求类别的云计算资源处理请求的资源编排的每个编排步骤。其中,请求类别可以包括分配请求(例如请求分配虚拟机/容器)、缩容请求(例如请求对虚拟机/容器缩容)、扩容请求(例如请求对虚拟机/容器扩容)等。在接收到云计算资源处理请求后,确定云计算资源处理请求的请求类别;确定并调用与该请求类别相对应的资源编排模板。
103,根据云计算资源数据和资源编排模板生成作业,其中,资源编排模板中包括嵌套编排,该嵌套编排生成作业的至少一个作业步骤。
作业是资源编排模板的实例。其中,生成作业,也可以叫做创建作业。
根据云计算资源处理请求和资源编排模板生成作业,可以简单理解为,将云计算资源处理请求中涉及的云计算资源数据,带入到资源编排模板中,以替换资源编排模板中的输入参数。将输入参数替换后的资源编排模板作为作业,将替换后的输入参数作为作业参数。或者也可以简单理解为实例化资源编排模板。其中,一个作业对应一个资源编排实例。
生成作业的过程,包括校验和绑定作业参数的过程。
校验作业参数的过程,包括:获取资源编排模板中的输入参数以及云计算资源数据;检测资源编排模板中的输入参数与云计算资源数据的中的资源数据是否匹配。其中,匹配包括资源编排模板中的输入参数(除了常量参数之外的输入参数)与云计算资源数据中的资源数据的数量是否相同,以及资源编排模板中的输入参数与云计算资源数据中的资源数据是否对应。例如,资源编排模板中的输入参数(除了常量参数之外的输入参数)的数量为4个,而云计算资源数据中的资源数据的数量为3个,则确定不匹配。例如,资源编排模板中的某个输入参数的参数类型明确规定为字符串(string),而云计算资源数据中,与该输入参数对应的资源数据的数据类型为浮点型(float),则确定不匹配。
可以简单理解为,校验作业参数的过程,即是检测对应的作业参数是否存在,是否存在缺少作业参数的情况。
需要注意的是,该作业是根作业,即该作业没有父级作业,作业参数全部来自于云计算资源数据中的资源数据,因此在匹配时,需检测资源编排模板中的输入参数(除了常量参数之外的输入参数)与云计算资源数据中的资源数据的数量是否相同。若该作业不是根作业,则作业参数的直接来源,可以有多种,则在匹配时,不能通过检测资源编排模板中的输入参数(除了常量参数之外的输入参数)与云计算资源数据中的资源数据的数量是否相同来确定是否匹配,因为本身就存在数量不相同的情况。
绑定作业参数的过程,即是将云计算资源处理请求中涉及的云计算资源数据,替换资源编排模板中的对应输入参数的过程。
其中,校验作业参数的过程和绑定作业参数的过程不应该理解为两个不同的具有先后执行顺序的步骤,而仅仅理解为生成作业中需要完成的功能。
当资源编排模板中包括嵌套编排时,在生成作业时,嵌套编排将生成作业的对应作业步骤。一个嵌套编排生成作业的至少一个作业步骤,一般情况下,一个嵌套编排生成作业的一个作业步骤。其中,嵌套编排指的是资源编排模板中还嵌套有其他编排模板。需要注意的是,当涉及有调用其他专业组(实现的某个功能)时,通常通过调用嵌套编排来实现。具体地,将其他专业组实现某个功能的各个步骤封装该嵌套编排中,以完成该嵌套编排的配置;在使用该嵌套编排时,只需调用该嵌套编排,只关注该嵌套编排的输入参数和输出参数即可,无需关注其他专业组所涉及的嵌套编排的内部实现,无需关注嵌套编排中资源配置的细节,降低了资源编排配置的难度,降低了实现云计算资源处理的配置,提高了实现云计算资源处理的效率。可以理解地,在资源编排模板中,调用嵌套编排的只涉及一个步骤,只需知道该嵌套编排的输入参数和输出参数即可,无需关注嵌套编排的内部实现,即无需在资源编排模板中写入嵌套编排中涉及的资源配置的细节,该配置的细节可能需要较多步骤才可以实现,如此降低了资源编排配置的难度。而且在定位问题时,若是嵌套编排所对应的步骤出了问题,一下就可以定位到,而如果按照平铺的方式编排,在执行时,若某一个步骤出了问题,还需要专业人员来进一步确定该步骤是哪一个步骤,是否涉及其他专业组中的步骤等,增加了定位问题的难度。
104,按照作业的作业步骤顺序,执行作业,以完成对云计算资源的处理。
其中,作业的作业步骤顺序与资源编排模板中的编排步骤顺序一致。
具体地,104包括:按照作业的作业步骤顺序,检测作业的每个作业步骤是嵌套编排作业步骤还是操作步骤;当作业的作业步骤是嵌套编排作业步骤时,调用嵌套编排作业步骤对应的嵌套编排模板,根据嵌套编排模板生成子作业,并按照子作业的作业步骤,执行子作业;当作业的作业步骤是操作步骤时,调用预设的请求处理接口,以实现作业的操作步骤。
如图3所述,步骤104包括以下步骤201~207,具体可以如下:
201,获取作业的一个作业步骤,作为当前作业步骤。
其中,按照作业的作业步骤顺序,从第一个作业步骤开始,获取作业的一个作业步骤。
202,检测当前作业步骤是嵌套编排作业步骤还是操作步骤。
其中,在配置资源编排模板的编排步骤时,会根据用户的选择确定该编排步骤是嵌套编排步骤还是操作步骤,无论是嵌套编排步骤还是操作步骤,都会根据用户的选择生成编排步骤的步骤标识。例如,嵌套编排步骤的步骤标识用1表示,操作步骤的步骤标识用0表示;或者嵌套编排步骤的步骤标识用yes表示,操作步骤的步骤标识用no表示等。
当根据资源编排模板生成作业时,生成的作业的作业步骤顺序与资源编排模板中的编排步骤顺序一致。具体地,资源编排模板中的嵌套编排步骤生成作业中的嵌套编排作业步骤,资源编排模板中的操作步骤生成作业中的操作步骤。因此,在作业中,每个作业步骤都对应有步骤标识,该步骤标识用于标识该作业步骤是嵌套编排作业步骤还是操作步骤。假设嵌套编排步骤的步骤标识用1表示,操作步骤的步骤标识用0表示;若检测到当前作业步骤的步骤标识是1,则确定当前作业步骤是嵌套编排作业步骤,若检测到当前作业步骤的步骤标识是0,则确定当前作业步骤是操作步骤。
203,若当前作业步骤是嵌套编排作业步骤,调用嵌套编排作业步骤对应的嵌套编排模板,根据嵌套编排模板生成子作业。
在配置资源编排模板的编排步骤时,若一个步骤是嵌套编排步骤,则对应会配置该嵌套编排步骤所对应的具体的嵌套编排,每个嵌套编排都会预先配置对应的嵌套编排模板。
如此,若当前作业步骤是嵌套编排作业步骤,调用该嵌套编排作业步骤所对应的嵌套编排模板。获取当前作业步骤的传入参数(实际值),该传入参数的直接来源,可以来自于上一个作业步骤的输出,也可以来自于云计算资源数据中的资源数据等;将当前作业步骤的传入参数,带入到嵌套编排模板中,以替换嵌套编排模板中的输入参数。将输入参数替换后的嵌套编排模板作为子作业,将替换后的输入参数作为子作业的作业参数。或者也可以简单理解为实例化嵌套编排模板。
生成子作业的过程,也包括校验和绑定子作业的作业参数的过程。
其中,校验子作业的作业参数的过程,包括:获取当前作业步骤的传入参数;检测嵌套编排模板中的输入参数(除了常量参数之外的输入参数)与当前作业步骤的传入参数是否匹配。其中,匹配包括嵌套编排模板中的输入参数(除了常量参数之外的输入参数)与当前作业步骤的传入参数的数量是否相同,以及嵌套编排模板中的输入参数与当前作业步骤的传入参数是否对应。例如,嵌套编排模板中的输入参数(除了常量参数之外的输入参数)的数量为3个,而当前作业步骤的传入参数的数量为1个,则确定不匹配。例如,嵌套编排模板中的某个输入参数的参数类型明确规定为字符串(string),而当前作业步骤的传入参数中,与该输入参数对应的传入参数的数据类型为浮点型(float),则确定不匹配。
同样可以简单理解为,校验子作业的作业参数的过程,即是检测子作业的作业参数是否存在,是否存在缺少作业参数的情况。
绑定作业参数的过程,即是将当前作业步骤的传入参数,替换嵌套编排模板中的对应输入参数的过程。
其中,校验子作业的作业参数的过程和绑定作业参数的过程不应该理解为两个不同的具有先后执行顺序的步骤,而仅仅理解为生成子作业中需要完成的功能。
204,按照子作业的作业步骤,执行子作业。
其中,子作业的作业步骤顺序与嵌套编排模板中的编排步骤顺序一致。执行子作业的过程与执行作业的过程一致。具体地,包括:按照子作业的作业步骤顺序,获取子作业的一个作业步骤,作为当前作业步骤;检测当前作业步骤是嵌套编排作业步骤还是操作步骤;若当前作业步骤是嵌套编排作业步骤,则调用嵌套编排作业步骤对应的嵌套编排模板,根据嵌套编排模板生成子作业的子作业,可以理解地,子作业的作业步骤中也可以包括嵌套编排作业步骤,子作业的子作业的作业步骤中也可以包括嵌套编排作业步骤,......;再按照该子作业的子作业,执行该子作业的子作业的作业步骤;若当前作业步骤是操作步骤,则执行子作业的作业步骤;检测当前子作业的作业步骤是否是子作业的最后一步;若当前子作业的作业步骤不是子作业的最后一步,则获取子作业的下一个步骤,作为当前步骤,接着执行检测当前作业步骤是嵌套编排作业步骤还是操作步骤;若当前子作业的作业步骤是子作业的最后一步,则退出子作业,并确定该子作业是否有父级作业,可以理解地,若该子作业是根作业的子作业,则该子作业的父级作业即为根作业;若该子作业有父级作业,则接着执行父级作业的作业步骤。一般情况下,子作业都会有父级作业。
其中,无论是资源编排模板,还是嵌套编排模板,在生成对应的作业时,每个编排模板中的编排步骤都会生成对应的作业步骤,对应作业的每个作业步骤都会有对应的步骤编号,如StepID,对应作业也会有对应的作业步骤总数。检测当前子作业的作业步骤是否是子作业的最后一步,可根据StepID/作业步骤总数来进行检测。
无论是资源编排模板,还是嵌套编排模板,在设置对应的编排模板时,会对应有一个字段,通过该字段可以设置一个标识:parent。若对应的编排模板中有parent标识,则确定该对应的编排模板有父级编排模板。如此,在根据对应的编排模板生成作业时,该作业也会有对应的parent标识。其中,确定一个作业是否有父级作业,可根据该作业中的parent标识来确定。若一个作业中包括parent标识,则表示该作业有父级作业,若一个作业中没有parent标识,则表示该作业是根作业。
205,若当前作业步骤是操作步骤,调用预设的请求处理接口,以实现作业的操作步骤。
其中,实现作业的操作步骤,即执行作业的操作步骤的过程,也包括校验和绑定操作步骤的输入参数的过程,具体地,跟上文中绑定和校验子作业的作业参数中描述的一致。
在绑定和校验操作步骤的输入参数之后,调用预设的请求处理接口,以通过预设的请求处理接口来具体执行作业的操作步骤。
具体地,如图4所示,步骤205,包括以下步骤301~305。
301,获取当前作业步骤的传入参数,根据当前作业步骤的传入参数绑定操作步骤的输入参数。
具体地,根据当前作业步骤的传入参数(操作步骤的传入参数)绑定操作步骤的输入参数,包括:将当前作业步骤的传入参数(实际值),替换操作步骤中的输入参数,以绑定操作步骤的输入参数。
302,调用预设的请求处理接口。
预设的请求处理接口是开发人员开发的,预设的请求处理接口是通用插件类的业务处理接口,其中,通用插件类具体为通用Http插件类。通用Http插件类,是一个继承PluginBase抽象类的JAVA类,使用Http插件类封装的Http通用插件的业务处理接口的基本功能是组装专业组的云计算资源处理请求相关的请求参数,并发送Http请求,如果Http请求失败则立即更新当前步骤状态,如果Http请求成功则异步等待回调。可以理解地,Http通用插件的业务处理接口,通过Http请求同步调用专业组提供的接口(也可以理解为资源提供方接口),异步等待回调。
303,通过预设的请求处理接口,根据传入参数构建操作步骤的执行请求。
其中,预设的请求处理接口的Http通用插件中包括了多个不同的参数。如图5所示,Http通用插件的执行接口中包括了请求参数模板(attributes)、请求头参数(headerParam)、资源预占地址(preOccupancyUrl)、资源释放地址(releaseResourceUrl)、请求方式(requestMode,默认为POST)、请求地址(url,表示所需请求的专业组提供的接口地址)、timeout(超时时间,单位可以为分钟)等参数。其中,timeout参数在图5中未画出。Http通用插件还包括回调接口,如图5中的callback回调接口。
需要注意的是,Http通用插件的执行接口中的各个参数预先会进行配置。请求参数模板(attributes)是参数配置的重点。例如,请求参数模板(attributes)中的参数可以包括:
常量:{“constParam”:”常量值”}
编排参数:{“arrangeParam”:“$编排参数key$”},注意一定要两个$符号将key包围,如果这个参数是数字,布尔,数组类型则不需要双引号。
步骤输出参数:{“outputParam”:”$1.ip$”},这里的1表示编排的第一步,ip表示第一步输出参数中key为“ip”的值。
配置完成后,通过调用预设的请求处理接口,根据传入参数构建操作步骤的执行请求。具体地,步骤303,包括:根据传入参数填充预设的请求处理接口中的请求参数模板;根据预设的请求处理接口和填充后的请求参数模板构建操作步骤的执行请求。
具体地,Http通用插件通过操作步骤的传入参数填充请求参数模板,并获取请求地址、请求头、资源预占接口、资源释放接口和请求方式等,根据填充后的请求参数模板,和所获取的请求地址、资源预占接口、资源释放接口、请求头和请求方式等信息,构建操作步骤对应的完整的执行请求。
需要注意的是,所有的操作步骤(包括根作业的操作步骤,子作业的操作步骤,......等)中,只要是操作,都可预先配置该操作步骤所对应的预设的请求处理接口(Http通用插件的执行接口)中的的各个参数;在执行对应的操作步骤中,将操作步骤的传入参数填充预设的请求处理接口中的请求参数模板,并根据预设的请求处理接口和填充后的请求参数模板构建操作步骤的执行请求。如此,所有的操作步骤都可通过一个预设的请求处理接口来构建不同的执行请求来完成,而不必为每个不同的操作步骤写入大段的计算机程序来生成不同的执行请求,便于管理和维护,满足了交互方式多样化的需求。
304,发送执行请求。
生成了执行请求后,向对应的专业组发送该执行请求,以使得专业组执行该执行请求。例如,假设作业步骤是虚拟机创建,该虚拟机创建的作业步骤的是操作步骤,则根据该操作步骤的传入参数构建该虚拟机创建的执行请求。假设虚拟机创建是其他专业组来完成,那么将该虚拟机创建的执行请求向对应的其他专业组发送,以使得其他专业组接收该虚拟机创建的执行请求,并进行虚拟机创建。
305,通过预设的请求处理接口获取基于执行请求所返回的执行结果。
预设的请求处理接口,通过Http请求同步调用专业组提供的接口(也可以理解为资源提供方接口),异步等待回调。
具体地,步骤305,包括:接收基于执行请求所返回的同步调用结果;监听消息中间件,并消费消息中间件中的消息,该消息包括基于执行请求所返回的异步执行结果;基于异步执行结果,更新作业的操作步骤的执行状态。
其中,同步调用结果包括执行请求是否被专业组接收到的结果。具体地,若执行请求已成功发送至专业组,则专业组发送该执行请求已经接收到的同步调用结果;若执行请求未成功发送至专业组,则返回请求失败的同步调用结果。其中,若接收到请求失败的同步调用结果,则立即更新作业的操作步骤的执行状态。若接收到专业组发送的执行请求已经接收到的同步调用结果,则异步等待回调。
异步等待回调,可以理解为,专业组要执行该执行请求是需要一定的时间的,因此,需要异步等待;专业组执行该执行请求后,会将回调的异步执行结果写入至消息中间件KAFKA。通过监听消息中间件KAFKA,并消费消息中间件KAFKA中的消息,该消息包括基于执行请求所返回的异步执行结果,以读取异步执行结果。其中,消费消息中间件KAFKA中的消息指的是从消息中间件KAFKA中读取消息,具体地,读取基于执行请求所返回的异步执行结果。
基于异步执行结果,更新作业的操作步骤的执行状态。当读取到回调的异步执行结果时,进入Http通用插件的callback回调接口(callback回调函数),通过callback回调接口获取作业的作业步骤的步骤编号StepID,找到对应的作业步骤的上下文信息(Context),如此,以确定是哪一个操作步骤,并根据异步执行结果,更新作业的对应操作步骤的执行状态。再根据对应操作步骤的上下文信息(Context),继续获取下一个作业步骤并执行。
图6是本申请实施例提供的服务器与外部交互的交互示意图。服务器中包括Http通用插件,专业组中包括专业组提供的接口(该专业组提供的接口可以以API的方式存在),在该交互示例图中,还包括消息中间件KAFKA。KAFKA可设置在另一个服务器中。其中,服务器生成了执行请求后,向专业组发送执行请求,专业组接收到执行请求后,返回基于执行请求的同步调用结果。若服务器接收到执行请求已经接收到的同步调用结果,则异步等待回调。专业组执行完成后,会将回调的异步执行结果写入至消息中间件KAFKA,服务器监听消息中间件KAFKA,并消费消息中间件KAFKA中的异步执行结果。
上述步骤301~305详细描述了当作业步骤是操作步骤(包括根作业的操作步骤、子作业的操作步骤,......等)时,如何执行操作步骤。具体地,通过预设的请求处理接口,根据操作步骤的传入参数构建操作步骤的执行请求,并发送该执行请求,以及通过预设的请求处理接口获取基于执行请求所返回的执行结果。如此,当作业步骤是操作步骤时,都可调用预设的请求处理接口,根据该预设的请求处理接口来构建不同的执行请求,发送该执行请求,并接收基于执行请求所返回的执行结果,即当作业步骤是操作步骤时,都可通过一个预设的请求处理接口来完成,而不必为每个不同的操作步骤写入大段的计算机程序来生成不同的执行请求。
206,检测当前作业步骤是否是作业的最后一个作业步骤。
其中,检测当前作业步骤是否是作业的最后一个作业步骤,是通过步骤编号来确定的,当检测到当前作业步骤已经是最后一个步骤编号,则确定当前作业步骤是作业的最后一个作业步骤。
若当前作业步骤是作业的最后一个作业步骤,则结束;若当前作业步骤不是作业的最后一个作业步骤,执行步骤207。
207,获取作业的下一个步骤,作为当前作业步骤。接着执行步骤202。
上述步骤201~207详细描述了执行作业的过程。具体地,详细描述了当作业的作业步骤分别是嵌套编排作业步骤以及操作步骤时,分别是如何执行的。
上述方法实施例在云计算资源处理的过程中,涉及调用其他专业组的步骤时,通过嵌套编排来实现调用专业组对应的步骤,如此,无需关注其他专业组所涉及的编排的内容实现,即无需关注其他专业组中每一个步骤的实现,只需要给出其他专业组的输入参数和输出参数即可;通过嵌套编排来实现调用专业组对应的步骤,降低了资源编排配置的难度,降低了实现云计算资源处理配置的难度,提高了实现云计算资源处理的效率;每个专业组的边界非常清晰,也便于查找和定位云计算资源处理中存在的问题,降低了定位问题的难度。另外,当作业步骤是操作步骤时,可调用预设的请求处理接口,根据该预设的请求处理接口来构建不同的执行请求,发送该执行请求,并接收基于执行请求所返回的执行结果,如此,当作业步骤是操作步骤时,都可通过一个预设的请求处理接口来完成,而不必为每个不同的操作步骤写入大段的计算机程序来生成不同的执行请求,便于管理和维护,满足了交互方式多样化的需求;同时,无需对每个不同的云计算资源处理请求进行单独的处理,大大降低了编排配置的难度。
图7是本申请实施例提供的云计算资源处理方法的另一流程示意图。该云计算资源处理方法应用于服务器中,该云计算资源处理方法主要包括下列步骤401~405,具体可以如下:
401,接收云计算资源处理请求,该云计算资源处理请求中包括需处理的云计算资源数据。
402,根据云计算资源处理请求调用资源预占接口,以进行云计算资源的预占。
资源预占指的是提前将云计算资源处理请求中的涉及的云计算资源数据进行预占,以防止在具体执行云计算资源处理请求中时,所涉及的云计算资源数据不足,不能成功执行云计算资源处理请求。或者也可以理解为,在进行云计算资源处理时,若在执行具体云计算资源处理时,才发现对应云计算资源不够,则会导致整个云计算资源处理不成功,若在进行云计算资源处理之前进行资源预占,则避免进行资源处理时发现云计算资源不够的情况。需要注意的是,进行预占的云计算资源数据,不能供其他用户(提交的云计算资源处理请求)使用,只供执行该云计算资源处理请求时使用。例如,若云计算资源处理请求是请求分配虚拟机,则会涉及为虚拟机分配IP,创建虚拟机等。如此,会涉及虚拟IP的预占、虚拟机资源(包括内存、CPU核数等)的预占等。
具体地,步骤402,包括:调用与云计算资源处理请求相对应的资源编排模板;获取资源编排模板中的所有资源预占接口(包括资源编排模板中的资源预占接口、所有嵌套编排的资源预占接口等),以及资源预占接口的嵌套关系和执行顺序;按照资源预占接口的嵌套关系和执行顺序,根据云计算资源数据、所获取的资源预占接口,执行云计算资源的预占。
需要注意的是,获取资源编排模板中的所有资源预占接口的同时,也会获取资源编排模板中的所有资源释放接口。若资源编排模板中有资源预占接口,则对应也存在资源释放接口。
其中,获取资源编排模板中的所有资源预占接口,以及资源预占接口的嵌套关系和执行顺序,也可以理解为,收集资源预占接口。具体地,包括:遍历资源编排模板中的所有编排步骤,该编排步骤包括所有嵌套编排步骤等;检测编排步骤中是否配置有资源预占接口和资源释放接口;若配置有资源预占接口和资源释放接口,则获取该编排步骤中的资源预占接口和资源释放接口。其中,资源预占接口和资源释放接口仍保留对应的嵌套关系。
其中,按照资源预占接口的嵌套关系和执行顺序,根据云计算资源数据、所获取的资源预占接口,执行云计算资源的预占,包括:将云计算资源数据代入至资源预占接口中,按照资源预占接口的嵌套关系以及执行顺序,执行对应的资源预占接口,以进行云计算资源的预占。其中,资源预占可理解为将资源的状态设置为预占状态,若资源预占接口预占成功,则回调函数返回预占成功的消息。其中,若所有的资源预占接口执行预占时都预占成功,则确定云计算资源预占成功;若检测到其中一个资源预占接口执行预占时预占失败,则确定云计算资源预占失败。
在执行对应的资源预占接口,以进行云计算资源预占的过程中,若检测到有云计算资源预占失败,则倒序调用对应的资源释放接口,释放已预占成功的云计算资源。可以理解为,若一个云计算资源处理请求中需处理(例如分配)的某一个云计算资源不够,那么该云计算资源处理请求一定会执行失败,则需要释放已预占成功的云计算资源。其中,倒序调用对应的资源释放接口指的是按照资源预占的顺序相反的顺序调用对应的资源释放接口。释放已预占成功的云计算资源,即是将云计算资源的状态从预占状态修改为空闲状态。
403,在云计算资源预占成功后,调用与云计算资源处理请求相对应的资源编排模板。
404,根据云计算资源数据和资源编排模板生成作业,其中,资源编排模板中包括嵌套编排,该嵌套编排生成作业的至少一个作业步骤。
405,按照作业的作业步骤顺序,执行作业,以完成对云计算资源的处理。
其中,步骤401、步骤403~405与上述步骤101~104一一对应,因此,步骤401、步骤403~405中涉及的详细内容请参看步骤101~104中描述的内容,在此不再赘述。
需要注意的是,在一些云计算资源处理请求对应的资源编排模板中涉及有资源预占接口,则需要进行云计算资源的预占,在一些云计算资源处理请求对应的资源编排模板中不涉及资源预占接口,则无需进行云计算资源的预占。例如,在云计算资源分配请求中,对应的资源编排模板中涉及有资源预占接口,则需要进行云计算资源的预占;在云计算资源缩容请求中,对应的资源编排模板中不涉及资源预占接口,则无需进行云计算资源的预占。
上述方法实施例在接收到云计算资源处理请求之后,调用与云计算资源处理请求相对应的资源编排模板,并根据资源编排模板,进行云计算资源的预占,以防止在具体执行云计算资源处理请求时,例如,访问其他专业组时,才发现对应的资源不够,则导致执行云计算资源处理请求不成功,白白浪费了服务器的资源。因此,在执行云计算资源处理请求之前,对涉及的云计算资源进行预占,以节省服务器的资源。
在一些实施例中,在接收云计算资源处理请求之前,还包括配置资源编排模板以及所有的嵌套编排模板,或者导入资源编排模板以及所有的嵌套编排模板等。
以配置编排模板为例进行说明。
配置编排模板的步骤包括:当接收到创建编排的创建请求,调用编排基本信息界面;接收用户在编排信息界面中输入的编排基本信息;接收用户在编排信息界面上输入的编排入参信息、编排步骤信息、编排出参信息;根据编排入参信息、编排步骤信息、编排出参信息,生成编排模板,其中,编排步骤包括嵌套编排的编排步骤。
其中,在编排管理界面上,检测到创建编排控件被触发,则检测接收到创建编排的创建请求。如图8a所示,为编排管理界面的示例图。在该编排管理界面上有“创建编排”按钮(创建编排控件),当检测到用户点击/触摸该“创建编排”按钮,则接收到创建编排的创建请求。当接收到创建编排的创建请求时,调用编排基本信息界面。如图8b所示,为编排信息界面的示例图。在该编排信息界面上,可输入编排的基本信息,例如,编排名称、编排供应商、执行方式等信息。
其中,接收用户在编排信息界面输入的编排入参信息包括:在检测到添加入参控件被触发时,生成入参输入控件;接收用户在入参输入控件上输入的入参信息。
如图8c所示,为编排信息界面的示例图,在该编排信息界面上,有“添加编排入参”按钮(添加入参控件),当检测到用户点击/触摸该“添加编排入参”按钮时,触发该添加入参控件。当检测到添加入参控件被触发时,生成入参输入控件,例如,图8c中的name、实例名、vm名称virtual_vm等所在的文本框。接收用户在对应文本框中输入的入参信息。具体地,可多次触发添加入参控件,以得到多个不同的入参信息。
其中,接收用户在编排信息界面输入的编排步骤信息包括:在检测到添加编排控件被触发时,生成编排步骤的步骤编号,并生成对应编排步骤的输入控件,该输入控件包括嵌套编排名称输入控件、嵌套编排入参控件等;接收用户在输入控件上的输入信息,以得到对应嵌套编排的编排步骤信息;在检测到添加操作控件被触发时,生成该操作步骤的步骤编号,并生成对应操作步骤的输入控件,该输入控件包括操作名称输入控件、操作入参控件等;接收用户在输入控件上的输入信息,以得到对应操作的编排步骤信息。
如图8d所示,为编排信息界面的示例图,在该编排信息界面上,有“添加编排”按钮(添加编排控件)、“添加操作”按钮(添加操作控件)。当检测到用户点击/触摸该“添加编排”按钮时,触发该添加编排控件,生成步骤编号为1,并生成对应编排步骤的输入控件,例如图8d中的VPC_子网IP分配等所在的文本框、编排参数选择框、编排参数输入框等。其中,通过“重新选择编排”按钮,可选择目前已存在的所有的嵌套编排。其中,图8d中的子编排即理解为嵌套编排。从图8d中可以看出,嵌套编排在资源编排模板中只有一个步骤。当检测到用户点击/触摸该“添加操作”按钮时,触发该添加操作控件,生成步骤编号为2,并生成对应编排步骤的输入控件,例如图8d中的VM创建(多输出参数)_V3等所在的文本框、操作入参选择框、操作入参输入框等。其中,通过“重新选择操作”按钮,可选择目前已存在的所有的操作步骤。其中,由于VM创建(多输出参数)_V3对应的是操作步骤,因此,需要配置该操作步骤所对应的请求参数模板,请求头参数、资源预占接口、资源释放接口、请求方式、请求地址(可配置绝对路径和相对路径,所需请求的专业组提供的接口地址)等信息。
其中,添加编排出参信息与添加编排入参信息一致,具体请参看添加编排入参信息中的内容,在此不再赘述。
图9是本申请实施例提供的云计算资源处理方法的流程示意图。该云计算资源处理方法应用于服务器中,该云计算资源处理方法主要包括下列步骤501~506,具体可以如下:
501,配置云计算资源分配所对应的资源编排模板。
具体地,请参看上文以及图8a~图8d所对应的描述。
502,接收云计算资源分配请求,该云计算资源分配请求中包括需分配的云计算资源数据。
云计算资源分配请求用于请求服务器分配云主机资源。例如,需分配的云计算资源数据包括需分配的虚拟机的内存、CPU核、虚拟机的数量等数据。
503,根据云计算资源分配请求调用资源预占接口,以进行云计算资源的预占。
504,在云计算资源预占成功后,调用与云计算资源分配请求相对应的资源编排模板。即步骤501中配置的资源编排模板。
505,根据云计算资源数据和资源编排模板生成作业,其中,资源编排模板中包括嵌套编排,该嵌套编排生成作业的至少一个作业步骤。
506,按照作业的作业步骤顺序,执行作业,以完成对云计算资源的分配。
以上步骤的具体执行过程,请参看上文中的对应描述,在此不再赘述。
该方法实施例进一步描述了根据云计算资源分配请求来进行资源预占,生成作业,并执行作业的作业步骤的过程,以完成对云计算资源的分配。
图10是本申请实施例提供的分配云主机资源的流程示意图。该分配云主机资源的流程涉及服务器、网络组(所在的设备)、系统组(所在的设备)、KAFKA中间件(所在的设备)。其中,网络组和系统组是所涉及的专业组。
服务器调用资源编排模板,执行编排,以生成作业,并执行作业。通过预设的请求处理接口,调用网络组的IP分配接口(网络组所提供的请求地址)以向网络组发送IP分配请求(执行请求),网络组接收到IP分配请求后,返回调用结果(同步调用结果)。服务器接收同步调用结果并异步等待回调,监听网络组的KAFKA消息。网络组异步执行IP分配,并向KAFKA发送IP分配结果(异步执行结果)的消息;服务器消费KAFKA,获取IP分配结果。接着通过预设的请求处理接口,调用系统组的云主机创建接口(系统组所提供的请求地址)以向系统组发送云主机创建请求(执行请求),系统组接收到云主机创建请求后,返回调用结果(同步调用结果)。服务器接收同步调用结果并异步等待回调,监听系统组的KAFKA消息。系统组异步执行云主机创建,并向KAFKA发送云主机创建结果(异步执行结果)的消息;服务器消费KAFKA,获取云主机创建结果。至此,分配云主机资源执行完毕。
为了更好实施本发明实施例中云计算资源处理方法,在云计算资源处理方法基础之上,本发明实施例中还提供一种云计算资源处理装置。该云计算资源处理装置集成于设备中,该设备是服务器,如手机、Pad、台式电脑等设备。
图11是本发明实施例提供的云计算资源处理装置的示意性框图,该云计算资源处理装置包括接收单元601、调用单元602、生成单元603以及执行单元604。
接收单元601,用于接收云计算资源处理请求,该云计算资源处理请求中包括云计算资源数据。
调用单元602,用于调用与云计算资源处理请求相对应的资源编排模板。
生成单元603,用于根据云计算资源数据和资源编排模板生成作业,其中,该资源编排模板中包括嵌套编排,嵌套编排生成作业的至少一个作业步骤。
执行单元604,用于按照作业的作业步骤,执行作业,以完成对云计算资源的处理。
其中,执行单元604,具体包括:步骤获取单元6041、步骤检测单元6042、子作业执行单元6043、操作执行单元6044。其中,
步骤获取单元6041,用于按照作业的作业步骤顺序,获取作业的作业步骤。
步骤检测单元6042,用于检测作业的每个作业步骤是嵌套编排作业步骤还是操作步骤。
子作业执行单元6043,用于当作业的作业步骤是嵌套编排作业步骤时,调用嵌套编排作业步骤对应的嵌套编排模板,根据嵌套编排模板生成子作业,并按照子作业的作业步骤,执行子作业。
操作执行单元6044,用于当作业的作业步骤是操作步骤时,调用预设的请求处理接口,以实现作业的操作步骤。
其中,操作执行单元6044,具体用于获取操作步骤的传入参数,根据传入参数绑定操作步骤的输入参数;调用预设的请求处理接口;通过预设的请求处理接口,根据传入参数构建操作步骤的执行请求;发送执行请求;通过预设的请求处理接口获取基于执行请求所返回的执行结果。
其中,通过预设的请求处理接口,根据传入参数构建操作步骤的执行请求,包括:根据传入参数填充预设的请求处理接口中的请求参数模板;根据预设的请求处理接口和填充后的请求参数模板构建操作步骤的执行请求。
其中,通过预设的请求处理接口获取基于执行请求所返回的执行结果,包括:接收基于执行请求所返回的同步调用结果;监听消息中间件,并消费消息中间件中的消息,该消息包括基于执行请求所返回的异步执行结果;基于异步执行结果,更新作业的操作步骤的执行状态。
图12是本发明实施例提供的云计算资源处理装置的示意性框图,该云计算资源处理装置包括接收单元601、调用单元602、生成单元603、执行单元604、预占单元605以及编排配置单元606。其中,接收单元601、调用单元602、生成单元603以及执行单元604请参看上文中的描述,在此不再赘述。
预占单元605,用于根据云计算资源处理请求调用资源预占接口,以进行云计算资源的预占。
预占单元605,具体用于调用与云计算资源处理请求相对应的资源编排模板;获取资源编排模板中的所有资源预占接口,以及资源预占接口的嵌套关系和执行顺序;按照资源预占接口的嵌套关系和执行顺序,根据云计算资源数据、所获取的资源预占接口,执行云计算资源的预占。
调用单元602,用于若云计算资源预占成功,调用与云计算资源处理请求相对应的资源编排模板。
编排配置单元606,用于配置编排模板,包括资源编排模板,嵌套编排模板等。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
本发明实施例还提供一种计算机设备,其集成了本发明实施例所提供的任一种云计算资源处理装置,所述计算机设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行上述任一实施例中所述的云计算资源处理方法中的步骤。
如图13所示,其示出了本发明实施例所涉及的计算机设备的结构示意图,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器701、一个或一个以上计算机可读存储介质的存储器702、电源707和输入单元704等部件。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器701是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器702内的软件程序和/或模块,以及调用存储在存储器702内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器701可包括一个或多个处理核心;优选的,处理器701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。
存储器702可用于存储软件程序以及模块,处理器701通过运行存储在存储器702的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器702还可以包括存储器控制器,以提供处理器701对存储器702的访问。
计算机设备还包括给各个部件供电的电源703,优选的,电源703可以通过电源管理系统与处理器701逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源703还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元704,该输入单元704可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器701会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器702中,并由处理器701来运行存储在存储器702中的应用程序,从而实现各种功能,如下:
接收云计算资源处理请求,所述云计算资源处理请求中包括需处理的云计算资源数据;
调用与所述云计算资源处理请求相对应的资源编排模板;
根据所述云计算资源数据和所述资源编排模板生成作业,其中,所述资源编排模板中包括嵌套编排,所述嵌套编排生成所述作业的至少一个作业步骤;
按照所述作业的作业步骤顺序,执行所述作业,以完成对所述云计算资源的处理。
该计算机设备可以实现本发明实施例所提供的云计算资源处理方法任一实施例中的步骤,因此,可以实现本发明实施例所提供的任一云计算资源处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种存储介质,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行本发明实施例所提供的任一种云计算资源处理方法中的步骤。例如,所述计算机程序被处理器进行加载可以执行如下步骤:
接收云计算资源处理请求,所述云计算资源处理请求中包括需处理的云计算资源数据;
调用与所述云计算资源处理请求相对应的资源编排模板;
根据所述云计算资源数据和所述资源编排模板生成作业,其中,所述资源编排模板中包括嵌套编排,所述嵌套编排生成所述作业的至少一个作业步骤;
按照所述作业的作业步骤顺序,执行所述作业,以完成对所述云计算资源的处理。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种云计算资源处理方法、装置、计算机设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种云计算资源处理方法,其特征在于,包括:
接收云计算资源处理请求,所述云计算资源处理请求中包括需处理的云计算资源数据;
调用与所述云计算资源处理请求相对应的资源编排模板;
根据所述云计算资源数据和所述资源编排模板生成作业,其中,所述资源编排模板中包括嵌套编排,所述嵌套编排生成所述作业的至少一个作业步骤;
按照所述作业的作业步骤顺序,执行所述作业,以完成对所述云计算资源的处理。
2.如权利要求1所述的云计算资源处理方法,其特征在于,所述按照所述作业的作业步骤顺序,执行所述作业,包括:
按照所述作业的作业步骤顺序,检测所述作业的每个作业步骤是嵌套编排作业步骤还是操作步骤;
当所述作业的作业步骤是嵌套编排作业步骤时,调用所述嵌套编排作业步骤对应的嵌套编排模板,根据所述嵌套编排模板生成子作业,并按照所述子作业的作业步骤,执行所述子作业;
当所述作业的作业步骤是操作步骤时,调用预设的请求处理接口,以实现所述作业的所述操作步骤。
3.如权利要求2所述的云计算资源处理方法,其特征在于,所述当所述作业的作业步骤是操作步骤时,调用预设的请求处理接口,以实现所述作业的所述操作步骤,包括:
获取所述作业步骤的传入参数,根据所述传入参数绑定所述操作步骤的输入参数;
调用预设的请求处理接口;
通过所述预设的请求处理接口,根据所述传入参数构建所述操作步骤的执行请求;
发送所述执行请求;
通过所述预设的请求处理接口获取基于所述执行请求所返回的执行结果。
4.如权利要求3所述的云计算资源处理方法,其特征在于,所述通过所述预设的请求处理接口,根据所述传入参数构建所述操作步骤的执行请求,包括:
根据所述传入参数填充所述预设的请求处理接口中的请求参数模板;
根据所述预设的请求处理接口和填充后的请求参数模板构建所述操作步骤的执行请求。
5.根据权利要求3所述的云计算资源处理方法,其特征在于,所述通过所述预设的请求处理接口获取基于所述执行请求所返回的执行结果,包括:
接收基于所述执行请求所返回的同步调用结果;
监听消息中间件,并消费所述消息中间件中的消息,所述消息包括基于所述执行请求所返回的异步执行结果;
基于所述异步执行结果,更新所述作业的所述操作步骤的执行状态。
6.如权利要求1所述的云计算资源处理方法,其特征在于,在调用与所述云计算资源处理请求相对应的资源编排模板的步骤之前,还包括:
根据所述云计算资源处理请求调用资源预占接口,以进行所述云计算资源的预占。
7.如权利要求6所述的云计算资源处理方法,其特征在于,所述根据所述云计算资源处理请求调用资源预占接口,以进行所述云计算资源的预占,包括:
调用与所述云计算资源处理请求相对应的资源编排模板;
获取所述资源编排模板中的所有资源预占接口,以及所述资源预占接口的嵌套关系和执行顺序;
按照所述资源预占接口的嵌套关系和执行顺序,根据所述云计算资源数据、所获取的所述资源预占接口,执行所述云计算资源的预占。
8.一种云计算资源处理装置,其特征在于,包括:
接收单元,用于接收云计算资源处理请求,所述云计算资源处理请求中包括云计算资源数据;
调用单元,用于调用与所述云计算资源处理请求相对应的资源编排模板;
生成单元,用于根据所述云计算资源数据和所述资源编排模板生成作业,其中,所述源编排模板中包括嵌套编排的编排步骤,所述嵌套编排的编排步骤生成所述作业的至少一个作业步骤;
执行单元,用于按照所述作业的作业步骤,执行所述作业,以完成对所述云计算资源的处理。
9.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;存储器;以及一个或多个应用程序,其中所述处理器和所述存储器相连接,所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现权利要求1至7中任一项所述的云计算资源处理方法。
10.一种存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至7任一项所述的云计算资源处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010017849.5A CN113094167A (zh) | 2020-01-08 | 2020-01-08 | 一种云计算资源处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010017849.5A CN113094167A (zh) | 2020-01-08 | 2020-01-08 | 一种云计算资源处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113094167A true CN113094167A (zh) | 2021-07-09 |
Family
ID=76663388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010017849.5A Pending CN113094167A (zh) | 2020-01-08 | 2020-01-08 | 一种云计算资源处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113094167A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107291565A (zh) * | 2017-06-09 | 2017-10-24 | 千寻位置网络有限公司 | 运维可视化自动化作业平台及实现方法 |
CN107302464A (zh) * | 2017-08-16 | 2017-10-27 | 郑州云海信息技术有限公司 | 一种服务编排方法和系统 |
WO2018107442A1 (zh) * | 2016-12-15 | 2018-06-21 | 华为技术有限公司 | 一种业务编排方法、装置及服务器 |
CN108614688A (zh) * | 2016-12-30 | 2018-10-02 | 上海华讯网络系统有限公司 | 应用于混合云环境的可视化应用编排及方法 |
CN109088746A (zh) * | 2018-07-10 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种云资源编排方法和装置 |
CN109120444A (zh) * | 2018-08-21 | 2019-01-01 | 陆明 | 云资源管理方法、处理器以及存储介质 |
CN109766166A (zh) * | 2018-12-29 | 2019-05-17 | 优刻得科技股份有限公司 | 业务流程处理方法、装置、存储介质和设备 |
-
2020
- 2020-01-08 CN CN202010017849.5A patent/CN113094167A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018107442A1 (zh) * | 2016-12-15 | 2018-06-21 | 华为技术有限公司 | 一种业务编排方法、装置及服务器 |
CN108614688A (zh) * | 2016-12-30 | 2018-10-02 | 上海华讯网络系统有限公司 | 应用于混合云环境的可视化应用编排及方法 |
CN107291565A (zh) * | 2017-06-09 | 2017-10-24 | 千寻位置网络有限公司 | 运维可视化自动化作业平台及实现方法 |
CN107302464A (zh) * | 2017-08-16 | 2017-10-27 | 郑州云海信息技术有限公司 | 一种服务编排方法和系统 |
CN109088746A (zh) * | 2018-07-10 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种云资源编排方法和装置 |
CN109120444A (zh) * | 2018-08-21 | 2019-01-01 | 陆明 | 云资源管理方法、处理器以及存储介质 |
CN109766166A (zh) * | 2018-12-29 | 2019-05-17 | 优刻得科技股份有限公司 | 业务流程处理方法、装置、存储介质和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111078315B (zh) | 微服务编排、执行方法及系统、架构、设备、存储介质 | |
CA3000422C (en) | Workflow service using state transfer | |
US8387066B1 (en) | Dependency-based task management using set of preconditions to generate scheduling data structure in storage area network | |
US9413604B2 (en) | Instance host configuration | |
EP2893443B1 (en) | Re-configuration in cloud computing environments | |
US8966025B2 (en) | Instance configuration on remote platforms | |
US20150143382A1 (en) | Scheduling workloads and making provision decisions of computer resources in a computing environment | |
CN111399897A (zh) | 基于kubernetes的应用发布方法以及系统 | |
CN109614227B (zh) | 任务资源调配方法、装置、电子设备及计算机可读介质 | |
US11467874B2 (en) | System and method for resource management | |
WO2013009665A1 (en) | Application resource manager over a cloud | |
JP2009522648A (ja) | エンドユーザによるワークフローの動的な再配置 | |
CN110458468A (zh) | 一种任务处理方法、装置、电子设备及存储介质 | |
US10728169B1 (en) | Instance upgrade migration | |
WO2021143590A1 (zh) | 一种分布式容器镜像构建调度系统及方法 | |
CN112948110B (zh) | 云应用的拓扑与编排系统、方法、存储介质及电子设备 | |
EP4172773A1 (en) | Managed control plane service | |
US10803413B1 (en) | Workflow service with translator | |
CN109426544A (zh) | 虚拟机部署方法和装置 | |
CN112256406B (zh) | 作业流程平台化调度方法 | |
US20230289234A1 (en) | Computing environment pooling | |
CN117076096A (zh) | 任务流程的执行方法、装置、计算机可读介质及电子设备 | |
WO2023179387A1 (zh) | 云应用调度方法、装置、电子设备及存储介质 | |
US11249760B2 (en) | Parameter management between programs | |
CN113094167A (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 |