CN115495142A - 云资源编排方法、装置、计算机设备及存储介质 - Google Patents
云资源编排方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN115495142A CN115495142A CN202211177519.8A CN202211177519A CN115495142A CN 115495142 A CN115495142 A CN 115495142A CN 202211177519 A CN202211177519 A CN 202211177519A CN 115495142 A CN115495142 A CN 115495142A
- Authority
- CN
- China
- Prior art keywords
- template
- information
- resource
- task
- node
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及云资源技术领域,其公开了一种云资源编排方法、装置、计算机设备及存储介质。其中,所述方法包括:响应于用户在模板配置页面上的模板创建指令,获取模板信息,并根据预设容器中的模板规范信息校验模板信息是否符合规范;若符合规范,则根据模板信息通过预设任务调度服务生成有向无环图,并将与预设任务调度服务相对应的流程ID与模板信息相对应的模板版本进行关联;响应于用户在资源栈配置页面上的资源栈创建指令,获取模目标模板信息,根据目标模板信息生成资源栈及流程实例ID;根据流程实例ID通过预设任务调度服务获取有向无环图中的多个编排任务节点,并执行多个编排任务节点,以创建云资源。本发明实施例可提高云资源编排效率。
Description
技术领域
本发明实施例涉及云资源技术领域,尤其涉及一种云资源编排方法、装置、计算机设备及存储介质。
背景技术
业务上云时,需要为业务创建一系列的云资源,而云资源的创建过程往往比较繁琐,需要较多的时间成本和人力成本。因此,提高创建云资源的效率,简化云资源生成的流程,就显得极为重要。现有技术中,创建所需的云资源或者服务时,需要操作人员自行调用云平台的工具自行创建云资源,创建的过程中存在许多冗余操作且对人工的依赖程度较大,导致编排效率较低。
发明内容
本发明实施例提供了一种云资源编排方法、装置、计算机设备及存储介质,旨在解决现有云资源编排效率较低的问题。
第一方面,本发明实施例提供了一种云资源编排方法,其包括:
响应于用户在模板配置页面上的模板创建指令,获取模板信息,并根据预设容器中的模板规范信息校验所述模板信息是否符合规范;
若所述模板信息符合规范,则根据所述模板信息通过预设任务调度服务生成有向无环图,并将与所述预设任务调度服务相对应的流程ID与所述模板信息相对应的模板版本进行关联;
响应于用户在资源栈配置页面上的资源栈创建指令,获取模目标模板信息,根据所述目标模板信息生成资源栈及与所述资源栈相对应的流程实例ID;
根据所述流程实例ID通过所述预设任务调度服务获取所述有向无环图中的多个编排任务节点,并执行所述多个编排任务节点,以创建云资源。
第二方面,本发明实施例还提供了一种云资源编排装置,其包括:
校验单元,用于响应于用户在模板配置页面上的模板创建指令,获取模板信息,并根据预设容器中的模板规范信息校验所述模板信息是否符合规范;
第一生成单元,用于若所述模板信息符合规范,则根据所述模板信息通过预设任务调度服务生成有向无环图,并将与所述预设任务调度服务相对应的流程ID与所述模板信息相对应的模板版本进行关联;
第二生成单元,用于响应于用户在资源栈配置页面上的资源栈创建指令,获取模目标模板信息,根据所述目标模板信息生成资源栈及与所述资源栈相对应的流程实例ID,并将所述流程实例ID与所述流程ID进行关联;
创建单元,用于根据所述流程实例ID通过所述预设任务调度服务获取所述有向无环图中的多个编排任务节点,并执行所述多个编排任务节点,以创建云资源。
第三方面,本发明实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现上述方法。
本发明实施例提供了一种云资源编排方法、装置、计算机设备及存储介质。其中,所述方法包括:响应于用户在模板配置页面上的模板创建指令,获取模板信息,并根据预设容器中的模板规范信息校验所述模板信息是否符合规范;若所述模板信息符合规范,则根据所述模板信息通过预设任务调度服务生成有向无环图,并将与所述预设任务调度服务相对应的流程ID与所述模板信息相对应的模板版本进行关联;响应于用户在资源栈配置页面上的资源栈创建指令,获取模目标模板信息,根据所述目标模板信息生成资源栈及与所述资源栈相对应的流程实例ID;根据所述流程实例ID通过所述预设任务调度服务获取所述有向无环图中的多个编排任务节点,并执行所述多个编排任务节点,以创建云资源。本发明实施例的技术方案,先通过获取模板配置页面上的模板信息生成有向无环图,再通过获取资源栈配置页面上的目标模板信息生成流程实例ID,最后根据流程实例ID通过预设任务调度服务获取有向无环图中的多个编排任务节点,并执行多个编排任务节点,以创建云资源,整个创建过程,不仅无需人工参与,而且创建过程较为简单,提高了云资源编排效率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种云资源编排方法的流程示意图;
图2为本发明实施例提供的一种云资源编排方法的子流程示意图;
图3为本发明实施例提供的一种云资源编排方法的子流程示意图;
图4为本发明实施例提供的一种云资源编排装置的示意性框图;
图5为本发明实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
请参阅图1,图1是本发明实施例提供的云资源编排方法的流程示意图。下面对所述云资源编排方法进行详细说明。如图1所示,该方法包括以下步骤S100-S130。
S100、响应于用户在模板配置页面上的模板创建指令,获取模板信息,并根据预设容器中的模板规范信息校验所述模板信息是否符合规范;
在本发明实施例中,用户在启动云资源编排服务系统时,在实际应用中,将云资源编排服务系统称为CloudRos,云资源编排服务系统会读取内置在程序中的模板schema规范文件,其中,所述schema规范文件定义了每种云资源的属性名称及属性值类型,而所述属性值类型包括字符串、数值布尔、数值、以及对象等类型。读取所述schema规范文件成功之后,会先构建json-schema配置信息,并判断json-schema是否符合json-schema draft 2019-09规范,若符合,则将与所述schema规范文件相对应的模板规范信息作为对象保存至spring bean容器中以便后续使用。所述云资源编排服务系统正常启动之后,用户点击模板配置,则会出现模板配置页面,用户在所述模板配置页面上输入模板名称及模板内容,其中,所述模板内容包括版本信息、模板参数以及资源信息等,可理解地,所述模板内容为JSON格式的数据,即所述版本信息、所述模板参数以及所述资源信息均以字段及字段值的方式进行配置,例如,所述资源信息的字段为“resources”,而相应的字段值为“resources”之后{}中的值,{}中又可包括其它字段及字段值,例如“gateway”,其字段值为“192.168.201.1”。配置完成之后,用户点击模板创建指令,所述云资源编排服务系统会获取模板信息,其中,所述模板信息为所述模板名称、所述版本信息、所述模板参数以及所述资源信息,并根据spring bean容器中的模板规范信息校验所述模板信息是否符合规范。需要说明的是,在本实施例中,若json-schema不符合json-schema draft2019-09规范不符合规范或者未读取到所述schema文件,所述云资源编排服务系统会抛出异常,以终止启动。还需要说明的是,在本实施例中,所述云资源编排服务系统包括前端、资源栈管理模块、模板管理模块、操作记录模块、Powerjob服务、核心执行器、业务执行器以及回滚业务执行器,其中,所述前端为人机交互界面,例如为所述模板配置页面及所述资源栈配置页面,所述Powerjob服务又包括任务管理子模块、任务编排调度子模块以及流程管理模块。
请参阅图2,在一实施例中,例如,在本发明实施例中,所述步骤S100包括如下步骤S101-S104。
S101、从spring bean容器中获取模板的属性名称及属性值类型;
S102、检测所述模板名称与所述属性名称是否一致;
S103、若所述模板名称与所述属性名称一致,则通过属性值校验规则校验所述版本信息、所述模板参数以及所述资源信息是否满足所述属性值类型,其中,所述属性值校验规则为正则表达式、值范围以及数据类型中的一种或多种组合的校验规则;
S104、若所述版本信息、所述模板参数以及所述资源信息满足所述属性值类型,则判定所述模板名称、所述版本信息、所述模板参数以及所述资源信息符合规范。
在本发明实施例中,所述云资源编排服务系统先从spring bean容器中获取模板的属性名称及属性值类型;然后根据所述属性名称及所述属性值类型校验所述模板名称、所述版本信息、所述模板参数以及所述资源信息是否符合规范。具体地,先检测所述模板名称与所述属性名称是否一致;若所述模板名称与所述属性名称不一致,则发出异常提示信息;若所述模板名称与所述属性名称一致,则通过属性值校验规则校验所述版本信息、所述模板参数以及所述资源信息是否满足所述属性值类型,其中,所述属性值校验规则为正则表达式、值范围以及数据类型中的一种或多种组合的校验规则,例如,校验所述资源信息中的网关字段所对应的字段值是否为整数;若所述版本信息、所述模板参数以及所述资源信息满足所述属性值类型,则判定所述模板名称、所述版本信息、所述模板参数以及所述资源信息符合规范。可理解地,若所述版本信息、所述模板参数以及所述资源信息只要有一种不满足所述属性值类型,则判定所述模板名称、所述版本信息、所述模板参数以及所述资源信息不符合规范,则会向用户发送模板校验失败的提示信息,以提醒用户对输入的所述模板信息进行修改。需要说明的是,在本实施例中,所述模板参数中包括必填字段和非必填字段所对应的字段值,可理解地,所述必填字段必须有字段值。还需要说明的是,在本实施例中,模板的创建及所述模板信息是否符合规范的校验均为所述模块管理模块实现的。
S110、若所述模板信息符合规范,则根据所述模板信息通过预设任务调度服务生成有向无环图,并将与所述预设任务调度服务相对应的流程ID与所述模板信息相对应的模板版本进行关联。
在本发明实施例中,若所述模板信息符合规范,则所述任务管理子模块根据所述模板信息通过预设任务调度服务生成有向无环图,其中,所述任务调度服务为Powerjob服务,所述有向无环图为DAG图。在实际应用中,根据指定字段获取所述模板信息中资源信息,其中,所述指定字段为资源字段,即为“resources”;根据所述资源信息中资源之间的顺序关系通过Powerjob服务生成有向无环图,其中,所述有向无环图中的一个编排任务节点对应于所述资源信息中一种资源。生成所述有向无环图之后,会将与所述Powerjob服务相对应的流程ID与所述模板信息相对应的模板版本进行关联。需要说明的是,在本实施例中,之所以将所述流程ID与所述模板版本进行关联,是因为不同模板版本对应的流程不同。
S120、响应于用户在资源栈配置页面上的资源栈创建指令,获取模目标模板信息,根据所述目标模板信息生成资源栈及与所述资源栈相对应的流程实例ID。
在本发明实施例中,生成所述有向无环图之后,用户在所述云资源编排服务系统中点击资源栈创建按钮,则会生成资源栈配置页面,用户在所述资源栈配置页面依次输入我的模板、模板版本号以及模板内容,并点击下一页,继续进行业务信息配置,其中,所述业务信息包括网络名称、子网名称以及网络地址等信息,配置完成之后,点击确定按钮,所述云资源编排服务系统则会获取目标模板信息,其中,所述目标模板信息包括所述模板信息及所述业务信息,根据所述目标模板信息生成资源栈及与所述资源栈相对应的流程实例ID。具体地,针对所述目标模板信息中的每一资源构建一资源实例以得到资源实例集合;将所述资源实例集合作为资源栈,并生成与所述资源栈相对应的流程实例ID。需要说明的是,在本实施例中,生成所述资源栈之后,会启动业务流程,从生成流程实例ID。还需要说明的是,在本实施例中,所述资源栈的创建是通过所述资源栈管理模块实现的,而所述流程实例ID的创建则是所述流程管理子模块实现的。
S130、根据所述流程实例ID通过所述预设任务调度服务获取所述有向无环图中的多个编排任务节点,并执行所述多个编排任务节点,以创建云资源。
在本发明实施例中,生成所述流程实例ID之后,根据所述流程实例ID通过所述Powerjob服务获取所述有向无环图中的多个编排任务节点,并执行所述多个编排任务节点,以创建云资源。需要说明的是,在本实施例中,是通过所述业务执行器去调用CMP、openstack以及vmware中的一种或多种创建资源或者服务。可理解地,云资源创建完成之后,即所有所述编排任务节点调度完成之后,所述资源栈会进行销毁,而销毁的顺序根据实际需求而定。还需要说明的是,在本实施例汇总,所述回滚业务执行器具有回滚功能,即可以从当前业务回滚到上一业务;所述核心执行器可执行核心业务,以确保核心业务的执行速度。
请参阅图3,在一实施例中,例如,在本发明实施例中,所述步骤S130包括如下步骤S131-S138。
S131、根据所述流程实例ID通过所述预设任务调度服务获取所述有向无环图中的第一编排任务节点作为当前编排任务节点;
S132、判断所述当前编排任务节点是否存在依赖节点,若所述当前编排任务节点存在所述依赖节点,则执行步骤S133,否则执行步骤S134;
S133、获取所述依赖节点的执行结果,并将所述执行结果及所述当前编排任务节点所对应的输入参数作为目标输入参数;
S134、将所述输入参数作为所述目标输入参数;
S135、根据所述目标输入参数执行所述当前编排任务节点,以创建所述当前编排任务节点所对应的云资源;
S136、判断所述当前编排任务节点是否为最后编排任务节点,若所述当前编排任务节点不为最后编排任务节点,则执行步骤S137,否则执行步骤S138;
S137、获取下一编排任务节点,并将所述下一编排任务节点作为所述当前编排任务节点,返回执行步骤S132;
S138、发送创建完成的提示信息。
在本发明实施例中,根据所述流程实例ID通过所述Powerjob服务获取所述有向无环图中的第一编排任务节点作为当前编排任务节点,其中,所述第一编排任务节点为初始编排任务节点,即为入度为0的编排任务节点;判断所述当前编排任务节点是否存在依赖节点;若所述当前编排任务节点存在所述依赖节点,表明所述当前编排任务节点的输入参数与所述依赖节点有关联,则获取所述依赖节点的执行结果,并将所述执行结果及所述当前编排任务节点所对应的输入参数作为目标输入参数;若所述当前编排任务节点不存在所述依赖节点,则直接将所述输入参数作为所述目标输入参数;根据所述目标输入参数执行所述当前编排任务节点,以创建所述当前编排任务节点所对应的云资源;判断所述当前编排任务节点是否为最后编排任务节点,其中,所述最后编排任务节点为出度为0的编排任务节点;若所述当前编排任务节点不为最后编排任务节点,则获取下一编排任务节点,并将所述下一编排任务节点作为所述当前编排任务节点,返回执行所述判断所述当前编排任务节点是否存在依赖节点的步骤,继续执行任务;若所述当前编排任务节点为所述最后编排任务节点,则完成创建所述云资源,并发出创建完成的提示信息。
进一步地,若所述业务执行器执行所述当前编排任务节点中的业务执行成功,则会触发创建成功指令的发送,所述操作记录模块接收所述创建成功指令,将所述当前编排任务节点所对应的执行信息设置为执行成功;可理解地,若接收到创建失败指令,则所述执行信息设置为执行失败;最后会将所述执行信息写入所述流程实例ID所对应的工作流中,以供查询使用。
图4是本发明实施例提供的一种云资源编排装置200的示意性框图。如图4所示,对应于以上云资源编排方法,本发明还提供一种云资源编排装置200。该云资源编排装置200包括用于执行上述云资源编排方法的单元,该装置可以被配置于计算机设备中。具体地,请参阅图4,该云资源编排装置200包括校验单元201、第一生成单元202、第二生成单元203以及创建单元204。
其中,所述校验单元201用于响应于用户在模板配置页面上的模板创建指令,获取模板信息,并根据预设容器中的模板规范信息校验所述模板信息是否符合规范;所述第一生成单元202用于若所述模板信息符合规范,则根据所述模板信息通过预设任务调度服务生成有向无环图,并将与所述预设任务调度服务相对应的流程ID与所述模板信息相对应的模板版本进行关联;所述第二生成单元203用于响应于用户在资源栈配置页面上的资源栈创建指令,获取模目标模板信息,根据所述目标模板信息生成资源栈及与所述资源栈相对应的流程实例ID,并将所述流程实例ID与所述流程ID进行关联;所述创建单元204用于根据所述流程实例ID通过所述预设任务调度服务获取所述有向无环图中的多个编排任务节点,并执行所述多个编排任务节点,以创建云资源。
在某些实施例,例如本实施例中,所述校验单元201包括第一获取单元及第一校验子单元。
其中,所述第一获取单元用于从spring bean容器中获取模板的属性名称及属性值类型;所述第一校验子单元用于根据所述属性名称及所述属性值类型校验所述模板名称、所述版本信息、所述模板参数以及所述资源信息是否符合规范。
在某些实施例,例如本实施例中,所述第一校验子单元包括检测单元、第二校验子单元以及判定单元。
其中,所述检测单元用于检测所述模板名称与所述属性名称是否一致;所述第二校验子单元用于若所述模板名称与所述属性名称一致,则通过属性值校验规则校验所述版本信息、所述模板参数以及所述资源信息是否满足所述属性值类型,其中,所述属性值校验规则为正则表达式、值范围以及数据类型中的一种或多种组合的校验规则;所述判定单元用于若所述版本信息、所述模板参数以及所述资源信息满足所述属性值类型,则判定所述模板名称、所述版本信息、所述模板参数以及所述资源信息符合规范。
在某些实施例,例如本实施例中,所述第一生成单元202包括第二获取单元及第一生成子单元。
其中,所述第二获取单元用于根据指定字段获取所述模板信息中资源信息;所述第一生成子单元用于根据所述资源信息中资源之间的顺序关系通过Powerjob服务生成有向无环图,其中,所述有向无环图中的一个编排任务节点对应于所述资源信息中一种资源。
在某些实施例,例如本实施例中,所述第二生成单元203包括构建单元及第二生成子单元。
所述构建单元用于针对所述目标模板信息中的每一资源构建一资源实例以得到资源实例集合,其中,所述目标模板信息包括所述模板信息及业务信息;所述第二生成子单元用于将所述资源实例集合作为资源栈,并生成与所述资源栈相对应的流程实例ID
在某些实施例,例如本实施例中,所述创建单元204包括第三获取单元、第一判断单元、第一作为单元、第二作为单元、创建子单元、第一设置单元、第二设置单元、写入单元、第二判断单元以及返回执行单元。
其中,所述第三获取单元用于根据所述流程实例ID通过所述预设任务调度服务获取所述有向无环图中的第一编排任务节点作为当前编排任务节点;所述第一判断单元用于判断所述当前编排任务节点是否存在依赖节点;所述第一作为单元用于若所述当前编排任务节点存在所述依赖节点,则获取所述依赖节点的执行结果,并将所述执行结果及所述当前编排任务节点所对应的输入参数作为目标输入参数;所述第二作为单元用于若所述当前编排任务节点不存在所述依赖节点,则将所述输入参数作为所述目标输入参数;所述创建子单元用于根据所述目标输入参数执行所述当前编排任务节点,以创建所述当前编排任务节点所对应的云资源;所述第一设置单元用于若接收到创建成功指令,则将所述当前编排任务节点所对应的执行信息设置为执行成功;所述第二设置单元用于若接收到创建失败指令,则所述执行信息设置为执行失败;所述写入单元将所述执行信息写入所述流程实例ID所对应的工作流中。所述第二判断单元用于判断所述当前编排任务节点是否为最后编排任务节点;若所述当前编排任务节点不为最后编排任务节点,则获取下一编排任务节点,并将所述下一编排任务节点作为所述当前编排任务节点,返回执行所述判断所述当前编排任务节点是否存在依赖节点的步骤。
上述云资源编排装置可以实现为一种计算机程序的形式,该计算机程序可以在如图5所示的计算机设备上运行。
请参阅图5,图5是本发明实施例提供的一种计算机设备的示意性框图。该计算机设备300为具有云资源编排功能的显示设备。
参阅图5,该计算机设备300包括通过系统总线301连接的处理器302、存储器和网络接口305,其中,存储器可以包括非易失性存储介质303和内存储器304。
该非易失性存储介质303可存储操作系统3031和计算机程序3032。该计算机程序3032被执行时,可使得处理器302执行一种云资源编排方法。
该处理器302用于提供计算和控制能力,以支撑整个计算机设备300的运行。
该内存储器304为非易失性存储介质303中的计算机程序3032的运行提供环境,该计算机程序3032被处理器302执行时,可使得处理器302执行一种云资源编排方法。
该网络接口305用于与其它设备进行网络通信。本领域技术人员可以理解,图5中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备300的限定,具体的计算机设备300可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器302用于运行存储在存储器中的计算机程序3032,以实现如下步骤:响应于用户在模板配置页面上的模板创建指令,获取模板信息,并根据预设容器中的模板规范信息校验所述模板信息是否符合规范;若所述模板信息符合规范,则根据所述模板信息通过预设任务调度服务生成有向无环图,并将与所述预设任务调度服务相对应的流程ID与所述模板信息相对应的模板版本进行关联;响应于用户在资源栈配置页面上的资源栈创建指令,获取模目标模板信息,根据所述目标模板信息生成资源栈及与所述资源栈相对应的流程实例ID;根据所述流程实例ID通过所述预设任务调度服务获取所述有向无环图中的多个编排任务节点,并执行所述多个编排任务节点,以创建云资源。
在某些实施例,例如本实施例中,处理器302在实现所述根据预设容器中的模板规范信息校验所述模板信息是否符合规范步骤时,具体实现如下步骤:从spring bean容器中获取模板的属性名称及属性值类型;检测所述模板名称与所述属性名称是否一致;若所述模板名称与所述属性名称一致,则通过属性值校验规则校验所述版本信息、所述模板参数以及所述资源信息是否满足所述属性值类型,其中,所述属性值校验规则为正则表达式、值范围以及数据类型中的一种或多种组合的校验规则;若所述版本信息、所述模板参数以及所述资源信息满足所述属性值类型,则判定所述模板名称、所述版本信息、所述模板参数以及所述资源信息符合规范。
在某些实施例,例如本实施例中,处理器302在实现所述根据所述模板信息通过预设任务调度服务生成有向无环图步骤时,具体实现如下步骤:根据指定字段获取所述模板信息中资源信息;根据所述资源信息中资源之间的顺序关系通过Powerjob服务生成有向无环图,其中,所述有向无环图中的一个编排任务节点对应于所述资源信息中一种资源。
在某些实施例,例如本实施例中,处理器302在实现所述根据所述目标模板信息生成资源栈及与所述资源栈相对应的流程实例ID步骤时,具体实现如下步骤:针对所述目标模板信息中的每一资源构建一资源实例以得到资源实例集合,其中,所述目标模板信息包括所述模板信息及业务信息;将所述资源实例集合作为资源栈,并生成与所述资源栈相对应的流程实例ID。
在某些实施例,例如本实施例中,处理器302在实现所述根据所述流程实例ID通过所述预设任务调度服务获取所述有向无环图中的多个编排任务节点,并执行所述多个编排任务节点,以创建云资源步骤时,具体实现如下步骤:根据所述流程实例ID通过所述预设任务调度服务获取所述有向无环图中的第一编排任务节点作为当前编排任务节点;判断所述当前编排任务节点是否存在依赖节点;若所述当前编排任务节点存在所述依赖节点,则获取所述依赖节点的执行结果,并将所述执行结果及所述当前编排任务节点所对应的输入参数作为目标输入参数;若所述当前编排任务节点不存在所述依赖节点,则将所述输入参数作为所述目标输入参数;根据所述目标输入参数执行所述当前编排任务节点,以创建所述当前编排任务节点所对应的云资源;若接收到创建成功指令,则将所述当前编排任务节点所对应的执行信息设置为执行成功;若接收到创建失败指令,则所述执行信息设置为执行失败;将所述执行信息写入所述流程实例ID所对应的工作流中。判断所述当前编排任务节点是否为最后编排任务节点;若所述当前编排任务节点不为最后编排任务节点,则获取下一编排任务节点,并将所述下一编排任务节点作为所述当前编排任务节点,返回执行所述判断所述当前编排任务节点是否存在依赖节点的步骤。
应当理解,在本发明实施例中,处理器302可以是中央处理单元(CentralProcessing Unit,CPU),该处理器302还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序。该计算机程序被处理器执行时使处理器执行上述云资源编排方法的任意实施例。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,尚且本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种云资源编排方法,其特征在于,包括:
响应于用户在模板配置页面上的模板创建指令,获取模板信息,并根据预设容器中的模板规范信息校验所述模板信息是否符合规范;
若所述模板信息符合规范,则根据所述模板信息通过预设任务调度服务生成有向无环图,并将与所述预设任务调度服务相对应的流程ID与所述模板信息相对应的模板版本进行关联;
响应于用户在资源栈配置页面上的资源栈创建指令,获取模目标模板信息,根据所述目标模板信息生成资源栈及与所述资源栈相对应的流程实例ID;
根据所述流程实例ID通过所述预设任务调度服务获取所述有向无环图中的多个编排任务节点,并执行所述多个编排任务节点,以创建云资源。
2.根据权利要求1所述的方法,其特征在于,所述模板信息包括模板名称、版本信息、模板参数以及资源信息,所述根据预设容器中的模板规范信息校验所述模板信息是否符合规范的步骤,包括:
从spring bean容器中获取模板的属性名称及属性值类型;
根据所述属性名称及所述属性值类型校验所述模板名称、所述版本信息、所述模板参数以及所述资源信息是否符合规范。
3.根据权利要求2所述的方法,其特征在于,所述根据所述属性名称及所述属性值类型校验所述模板名称、所述版本信息、所述模板参数以及所述资源信息是否符合规范的步骤,包括:
检测所述模板名称与所述属性名称是否一致;
若所述模板名称与所述属性名称一致,则通过属性值校验规则校验所述版本信息、所述模板参数以及所述资源信息是否满足所述属性值类型,其中,所述属性值校验规则为正则表达式、值范围以及数据类型中的一种或多种组合的校验规则;
若所述版本信息、所述模板参数以及所述资源信息满足所述属性值类型,则判定所述模板名称、所述版本信息、所述模板参数以及所述资源信息符合规范。
4.根据权利要求1所述的方法,其特征在于,所述根据所述模板信息通过预设任务调度服务生成有向无环图的步骤,包括:
根据指定字段获取所述模板信息中资源信息;
根据所述资源信息中资源之间的顺序关系通过Powerjob服务生成有向无环图,其中,所述有向无环图中的一个编排任务节点对应于所述资源信息中一种资源。
5.根据权利要求1所述的方法,其特征在于,所述根据所述目标模板信息生成资源栈及与所述资源栈相对应的流程实例ID的步骤,包括:
针对所述目标模板信息中的每一资源构建一资源实例以得到资源实例集合,其中,所述目标模板信息包括所述模板信息及业务信息;
将所述资源实例集合作为资源栈,并生成与所述资源栈相对应的流程实例ID。
6.根据权利要求1所述的方法,其特征在于,所述根据所述流程实例ID通过所述预设任务调度服务获取所述有向无环图中的多个编排任务节点,并执行所述多个编排任务节点,以创建云资源的步骤,包括:
根据所述流程实例ID通过所述预设任务调度服务获取所述有向无环图中的第一编排任务节点作为当前编排任务节点;
判断所述当前编排任务节点是否存在依赖节点;
若所述当前编排任务节点存在所述依赖节点,则获取所述依赖节点的执行结果,并将所述执行结果及所述当前编排任务节点所对应的输入参数作为目标输入参数;
若所述当前编排任务节点不存在所述依赖节点,则将所述输入参数作为所述目标输入参数;
根据所述目标输入参数执行所述当前编排任务节点,以创建所述当前编排任务节点所对应的云资源;
判断所述当前编排任务节点是否为最后编排任务节点;
若所述当前编排任务节点不为最后编排任务节点,则获取下一编排任务节点,并将所述下一编排任务节点作为所述当前编排任务节点,返回执行所述判断所述当前编排任务节点是否存在依赖节点的步骤。
7.根据权利要求6所述的方法,其特征在于,所述根据所述目标输入参数执行所述当前编排任务节点,以创建所述当前编排任务节点所对应的云资源的步骤之后,还包括:
若接收到创建成功指令,则将所述当前编排任务节点所对应的执行信息设置为执行成功;
若接收到创建失败指令,则所述执行信息设置为执行失败;
将所述执行信息写入所述流程实例ID所对应的工作流中。
8.一种云资源编排装置,其特征在于,包括:
校验单元,用于响应于用户在模板配置页面上的模板创建指令,获取模板信息,并根据预设容器中的模板规范信息校验所述模板信息是否符合规范;
第一生成单元,用于若所述模板信息符合规范,则根据所述模板信息通过预设任务调度服务生成有向无环图,并将与所述预设任务调度服务相对应的流程ID与所述模板信息相对应的模板版本进行关联;
第二生成单元,用于响应于用户在资源栈配置页面上的资源栈创建指令,获取模目标模板信息,根据所述目标模板信息生成资源栈及与所述资源栈相对应的流程实例ID,并将所述流程实例ID与所述流程ID进行关联;
创建单元,用于根据所述流程实例ID通过所述预设任务调度服务获取所述有向无环图中的多个编排任务节点,并执行所述多个编排任务节点,以创建云资源。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211177519.8A CN115495142A (zh) | 2022-09-26 | 2022-09-26 | 云资源编排方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211177519.8A CN115495142A (zh) | 2022-09-26 | 2022-09-26 | 云资源编排方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115495142A true CN115495142A (zh) | 2022-12-20 |
Family
ID=84471664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211177519.8A Pending CN115495142A (zh) | 2022-09-26 | 2022-09-26 | 云资源编排方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115495142A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116308394A (zh) * | 2023-05-22 | 2023-06-23 | 工业富联(佛山)创新中心有限公司 | 标签关联方法、装置、电子设备及计算机可读存储介质 |
CN116886777A (zh) * | 2023-09-06 | 2023-10-13 | 苏州浪潮智能科技有限公司 | 一种容器编排平台服务流量分配方法和装置 |
-
2022
- 2022-09-26 CN CN202211177519.8A patent/CN115495142A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116308394A (zh) * | 2023-05-22 | 2023-06-23 | 工业富联(佛山)创新中心有限公司 | 标签关联方法、装置、电子设备及计算机可读存储介质 |
CN116308394B (zh) * | 2023-05-22 | 2023-08-04 | 工业富联(佛山)创新中心有限公司 | 标签关联方法、装置、电子设备及计算机可读存储介质 |
CN116886777A (zh) * | 2023-09-06 | 2023-10-13 | 苏州浪潮智能科技有限公司 | 一种容器编排平台服务流量分配方法和装置 |
CN116886777B (zh) * | 2023-09-06 | 2024-01-26 | 苏州浪潮智能科技有限公司 | 一种容器编排平台服务流量分配方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3842948B1 (en) | Method and apparatus for testing edge computing, device, and readable storage medium | |
CN115495142A (zh) | 云资源编排方法、装置、计算机设备及存储介质 | |
CN108804215B (zh) | 一种任务处理方法、装置以及电子设备 | |
US8869111B2 (en) | Method and system for generating test cases for a software application | |
US8589884B2 (en) | Method and system for identifying regression test cases for a software | |
CN110955409B (zh) | 在云平台上创建资源的方法和装置 | |
CN113760476B (zh) | 任务依赖处理方法及相关装置 | |
CN108765083B (zh) | 路由化订单配置及处理方法、以及系统 | |
CN109739527B (zh) | 一种客户端灰度发布的方法、装置、服务器和存储介质 | |
CN108415998B (zh) | 应用依赖关系更新方法、终端、设备及存储介质 | |
CN108776587B (zh) | 数据获取方法、装置、计算机设备以及存储介质 | |
CN111309593A (zh) | Json接口校验的方法、装置、设备及计算机可读存储介质 | |
CN111782527A (zh) | 接口测试方法、装置、计算机设备及存储介质 | |
CN111324540A (zh) | 一种接口测试方法及装置 | |
CN112783568A (zh) | 应用程序的初始化方法、装置、设备和存储介质 | |
CN110163554B (zh) | 工作流的运行方法、装置、服务器和存储介质 | |
CN113468212A (zh) | 事件执行的方法、装置及电子设备 | |
CN113409109B (zh) | 订单创建方法、装置、服务器及存储介质 | |
CN110888800A (zh) | 服务交互功能的测试方法、装置、存储介质及测试系统 | |
CN105100117A (zh) | 一种用于访问组合服务的方法及装置 | |
CN109240906B (zh) | 数据库配置信息适配方法、装置、计算机设备和存储介质 | |
CN109491892B (zh) | 一种项目环境的配置方法和装置 | |
CN112330306A (zh) | 基于业务流程的业务处理方法和设备 | |
CN112540863A (zh) | 数据处理方法、装置、设备及计算机存储介质 | |
CN113886215A (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 |