CN113504983A - 一种编排模板资源的方法及装置 - Google Patents
一种编排模板资源的方法及装置 Download PDFInfo
- Publication number
- CN113504983A CN113504983A CN202110584219.0A CN202110584219A CN113504983A CN 113504983 A CN113504983 A CN 113504983A CN 202110584219 A CN202110584219 A CN 202110584219A CN 113504983 A CN113504983 A CN 113504983A
- Authority
- CN
- China
- Prior art keywords
- resource
- resources
- target
- list
- arrangement
- 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
- 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/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及云计算技术领域,特别涉及一种编排模板资源的方法及装置。该方法包括:读取模板包括的各资源,获取编排资源列表;基于所述各资源的各属性,确定所述各资源之间的依赖关系;基于所述各资源之间的依赖关系,在所述编排资源列表中对所述各资源进行编排处理,其中,若第一资源依赖第二资源,则在所述编排资源列表中将所述第二资源编排在所述第一资源之前。
Description
技术领域
本申请涉及云计算技术领域,特别涉及一种编排模板资源的方法及装置。
背景技术
随着云计算技术的普及和应用,计算机应用程序开始大量的部署于云计算技术的基础设施中。对于复杂的计算机应用的部署依赖于手动部署、或硬编码、或脚本协同手动来实现,存在着部署过程复杂、应用升级困难的问题。
应用编排云服务(Application Orchestration Service,简称AOS)为企业提供应用上云的自动化能力,通过标准语言(YAML/JSON)统一描述所需基础资源、应用系统、应用上层配套服务及三者之间的关系。统一描述就是根据资源声明规范和模板声明规范要求编写资源体、模板,在模板中定义所需的输入参数、云计算资源、资源间的依赖关系、执行模板的输出数据体等。然后编排解析器可一键式按照模板定义的依赖顺序,自动完成资源开通、应用部署、应用服务加载。
那么,如何针对模板包括的各资源进行自动编排处理,成为目前亟待解决的技术问题。
发明内容
本申请提供了一种编排模板资源的方法及装置,用以解决现有技术中存在的模板中资源不能自动编排的问题。
第一方面,本申请提供了一种编排模板资源的方法,所述方法包括:
读取模板包括的各资源,获取编排资源列表;
基于所述各资源的各属性,确定所述各资源之间的依赖关系;
基于所述各资源之间的依赖关系,在所述编排资源列表中对所述各资源进行编排处理,其中,若第一资源依赖第二资源,则在所述编排资源列表中将所述第二资源编排在所述第一资源之前。
可选地,在读取模板包括的各资源之后,基于所述各资源的各属性,确定所述各资源之间的依赖关系之前,所述方法还包括:
对所述编排资源列表中的资源进行去重处理。
可选地,基于所述各资源的各属性,确定所述各资源之间的依赖关系的步骤包括:
从所述编排资源列表中第一个资源开始,依次遍历所述编排资源列表;
将当前遍历的资源作为目标资源;
获取所述目标资源的各属性,并依次遍历所述目标资源的各属性,判断所述目标资源的各属性是否依赖其它资源。
可选地,基于所述各资源之间的依赖关系,在所述编排资源列表中对所述各资源进行编排处理的步骤包括:
若判定所述目标资源的一个属性依赖其它资源,则在所述编排资源列表中置换所述目标资源和其所依赖资源的排列位置;
将其所依赖资源作为新的目标资源,并执行判断所述新的目标资源的各属性是否依赖其它资源的步骤;
若判定所述目标资源的各属性不依赖其它资源,则将所述目标资源的当前排列位置确定为所述目标资源在所述编排资源列表中的排列位置,并将所述编排资源列表中所述目标资源的下一个资源作为新的目标资源,并执行判断所述新的目标资源的各属性是否依赖其它资源的步骤。
可选地,所述方法还包括:
在确定所述编排资源列表中所有资源均已编排处理完成之后,输出编排完成之后的所述编排资源列表。
第二方面,本申请提供了一种编排模板资源的装置,所述装置包括:
读取单元,用于读取模板包括的各资源,获取编排资源列表;
确定单元,用于基于所述各资源的各属性,确定所述各资源之间的依赖关系;
编排单元,用于基于所述各资源之间的依赖关系,在所述编排资源列表中对所述各资源进行编排处理,其中,若第一资源依赖第二资源,则在所述编排资源列表中将所述第二资源编排在所述第一资源之前。
可选地,所述装置还包括:
去重单元,用于对所述编排资源列表中的各资源进行去重处理。
可选地,基于所述各资源的各属性,确定所述各资源之间的依赖关系时,所述确定单元具体用于:
从所述编排资源列表中第一个资源开始,依次遍历所述编排资源列表;
将当前遍历的资源作为目标资源;
获取所述目标资源的各属性,并依次遍历所述目标资源的各属性,判断所述目标资源的各属性是否依赖其它资源。
可选地,基于所述各资源之间的依赖关系,在所述编排资源列表中对所述各资源进行编排处理时,所述编排单元具体用于:
若判定所述目标资源的一个属性依赖其它资源,则在所述编排资源列表中置换所述目标资源和其所依赖资源的排列位置;
将其所依赖资源作为新的目标资源,并执行判断所述新的目标资源的各属性是否依赖其它资源的步骤;
若判定所述目标资源的各属性不依赖其它资源,则将所述目标资源的当前排列位置确定为所述目标资源在所述编排资源列表中的排列位置,并将所述编排资源列表中所述目标资源的下一个资源作为新的目标资源,并执行判断所述新的目标资源的各属性是否依赖其它资源的步骤。
可选地,所述装置还包括:
输出单元,用于在确定所述编排资源列表中所有资源均已编排处理完成之后,输出编排完成之后的所述编排资源列表。
第三方面,本申请实施例提供一种编排模板资源的装置,该编排模板资源的装置包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如上述第一方面中任一项所述的方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第一方面中任一项所述方法的步骤。
综上可知,本申请实施例提供的编排模板资源的方法,读取模板包括的各资源,获取编排资源列表;基于所述各资源的各属性,确定所述各资源之间的依赖关系;基于所述各资源之间的依赖关系,在所述编排资源列表中对所述各资源进行编排处理,其中,若第一资源依赖第二资源,则在所述编排资源列表中将所述第二资源编排在所述第一资源之前。
采用本申请实施例提供的编排模板资源的方法,能够通过遍历模板包括的各资源,根据各资源的所有属性,判断当前解析资源是否依赖其它资源,基于各资源之间的依赖关系,最终使得资源列表中被依赖的资源排列在依赖资源的前列,实现了模板资源自动编排的操作。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其它的附图。
图1为本申请实施例提供的一种编排模板资源的方法的详细流程图;
图2为本申请实施例提供的一种编排模板资源的装置的结构示意图;
图3为本申请实施例提供的另一种编排模板资源的装置的结构示意图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
示例性的,参阅图1所示,为本申请实施例提供的一种编排模板资源的方法的详细流程图,该方法包括以下步骤:
步骤100:读取模板包括的各资源,获取编排资源列表。
本申请实施例中,需要预先确定模板包括的资源,具体地,可以根据资源声明规范和模板声明规范要求预先编写资源、模板。即预先将模板需要的资源编辑加入模板中。
接着,读取模板包括的各资源,获取编排资源列表。进一步的,对所述各资源进行去重处理。
即在读取到模板包括的各资源之后,对相同的资源进行去重处理,以防对同一资源进行重复编排解析。
步骤110:基于所述各资源的各属性,确定所述各资源之间的依赖关系。
本申请实施例中,在基于所述各资源的各属性,确定所述各资源之间的依赖关系时,一种较佳地实现方式为,从所述编排资源列表中第一个资源开始,依次遍历所述编排资源列表;将当前遍历的资源作为目标资源;获取所述目标资源的各属性,并依次遍历所述目标资源的各属性,判断所述目标资源的各属性是否依赖其它资源。
所谓依赖指的是,若一个资源的一个属性的值需要从其它资源获取,则该资源依赖该其它资源。
实际应用中,可以根据资源的所有属性,解析每一属性是否依赖其它资源的方式确定一个资源是否依赖其它资源。
例如,根据资源类型获取其对应的资源体属性,递归解析资源的每一个属性是否依赖其他资源,递归算法如下:如果资源的所有属性都是基础类(如,STRING/NUMBER/BOOLEAN/PASSWORD/JSON),则确定该资源不依赖其它资源,可选地,把该资源添加到排序的资源列表中(即将该资源在资源列表中的当前位置确定为该资源的排列位置);如果资源的属性含有扩展类型(KVP/ARRAY/MAP/TABLE),则获取扩展类型的属性,并根据扩展属性类型判断该资源是否依赖其它资源,若扩展属性为基础类,则确定该资源不依赖其它资源;否则,继续获取扩展类型的属性,继续判断获取到的扩展属性的类别。
步骤120:基于所述各资源之间的依赖关系,在所述编排资源列表中对所述各资源进行编排处理,其中,若第一资源依赖第二资源,则在所述编排资源列表中将所述第二资源编排在所述第一资源之前。
本申请实施例中,在所述编排资源列表中对所述各资源进行编排处理时,一种较佳地实现方式为,若判定所述目标资源的一个属性依赖其它资源,则在所述编排资源列表中置换所述目标资源和其所依赖资源的排列位置;将其所依赖资源作为新的目标资源,并执行判断所述新的目标资源的各属性是否依赖其它资源的步骤;若判定所述目标资源的各属性不依赖其它资源,则将所述目标资源的当前排列位置确定为所述目标资源在所述编排资源列表中的排列位置,并将所述编排资源列表中所述目标资源的下一个资源作为新的目标资源,并执行判断所述新的目标资源的各属性是否依赖其它资源的步骤。
例如,假设读取到的模板包括的资源包括资源1,资源2,资源3和资源4,资源列表中资源初始排列顺序为资源1,资源2,资源3和资源4,那么,首先针对资源1,依次获取资源1的各属性,并依次判断各属性是否依赖其它资源,若判定资源1的各属性均不依赖其它资源,则将资源1在资源列表中的当前位置确定为在资源列表中的排列位置,接着,针对资源2执行是否依赖其它资源的判断;若判定资源1的一个属性依赖资源3,则在资源列表中置换资源1和资源3的排列位置,并针对资源3执行是否依赖其它资源的判断,依据上述执行规则,直至资源列表中排列在最后的一个资源的排列位置确定时,确定完成模板资源的编排处理。
由上可知,假设资源列表中资源初始排列顺序为资源1,资源2,资源3和资源4,针对资源1进行解析时,若确定资源1依赖资源3,则将资源列表中资源的排列顺序为资源3,资源2,资源1和资源4;接着,针对资源3进行解析,若确定资源3不依赖其它资源,则固定资源3的排列位置;接着,针对资源2进行解析,若确定资源2依赖资源4,则将资源列表中资源的排列顺序为资源3,资源4,资源1和资源2;接着,针对资源4进行解析,若确定资源4仅依赖资源3,不依赖其它资源,由于资源3在资源4前列,则无需调换资源3和资源4的位置,固定资源4的排列位置;接着,解析资源1,如资源1仅依赖资源3,而不依赖其它资源,则固定资源1的排列位置,此时,仅剩资源2未解析,而无论资源2是否依赖其它资源,均可以固定资源2的排列位置,最终资源列表中各资源的排列顺序为资源3,资源4,资源1和资源2。
进一步地,在确定所述编排资源列表中所有资源均已编排处理完成之后,输出编排完成之后的所述编排资源列表。
下面结合具体应用场景对本申请实施例提供的编排模板资源的方法过程进行详细说明。
步骤1:读取War包部署到虚拟机模板中的资源,包括:APP.APPLICATION、APP.GROUP、APP.SPRINGCLOUD、APP.WAR、APP.INSTANCE五种资源。
步骤2:五种资源没有重复,所以去重操作后五种资源顺序为APP.APPLICATION、APP.GROUP、APP.SPRINGCLOUD、APP.WAR、APP.INSTANCE,对五种资源逐一进行解析排序。
步骤3:获取APP.APPLICATION资源体的所有属性,包括:package、appgroup_uuid和name,递归解析这三个属性是否依赖其他资源,递归过程如下:
(1)由package属性的类型可知它依赖APP.WAR和APP.IMAGE资源的一个,模板中包含APP.WAR资源,并且排序后的资源列表中不包含该资源,把该资源优先级升高,置换资源APP.APPLICATION和APP.WAR在排序前资源列表的位置,五种资源的顺序为APP.WAR、APP.GROUP、APP.SPRINGCLOUD、APP.APPLICATION、APP.INSTANCE;
(2)获取APP.WAR资源体的所有属性,包括env、containerEnv、apm和vm_metadata,递归解析这四个属性是否依赖其他资源:第一个属性env为扩展类型KVP,则获取它key和value的类型都是STRING基础类型;第二个属性containerEnv为扩展类型TABLE,则获取它column的name和value的类型都是STRING基础类型;第三个属性apm为BOOLEAN基础类型;第四个属性vm_metadata为扩展类型MAP,则获取它的属性instance的类型为扩展类型ARRAY,再获取它value的类型为APP.INSTANCE,可知它依赖APP.INSTANCE资源,模板中包含该资源且排序后的资源列表中不包含该资源,把该资源优先级升高,置换资源APP.WAR和APP.INSTANCE在排序前资源列表的位置,五种资源的顺序为APP.INSTANCE、APP.GROUP、APP.SPRINGCLOUD、APP.APPLICATION、APP.WAR;
(3)获取APP.INSTANCE资源体的所有属性,包括instanceId和password,递归解析这两个属性的类型分别为STRING和PASSWORD都是基础类型,则把该资源添加到排序的资源列表中,列表中第一个资源为APP.INSTANCE。
步骤4:获取APP.GROUP资源体的所有属性,包括name和svc_engine_id,递归解析这两个属性是否依赖其他资源,递归过程如下:
(1)第一个属性name为STRING基础类型;第二个属性的类型为APP.SPRINGCLOUD:svc_engine_id,可知它依赖APP.SPRINGCLOUD资源的svc_engine_id属性,模板中包含该资源且排序后的资源列表中不包含该资源,把该资源优先级升高,置换资源APP.WAR和APP.INSTANCE在排序前资源列表的位置,五种资源的顺序为APP.INSTANCE、APP.SPRINGCLOUD、APP.GROUP、APP.APPLICATION、APP.WAR;
(2)获取APP.SPRINGCLOUD资源体的所有属性,包括svc_engine_id和type,递归解析这两个属性的类型分别都为STRING基础类型,则把该资源添加到排序的资源列表中,列表中第二个资源为APP.SPRINGCLOUD。
步骤5:获取APP.GROUP资源体的所有属性,包括name和svc_engine_id,递归解析这两个属性是否依赖其他资源,递归过程如下:
(1)第一个属性name为STRING基础类型;第二个属性的类型为APP.SPRINGCLOUD:svc_engine_id,可知它依赖APP.SPRINGCLOUD资源的svc_engine_id属性,模板中包含该资源,但排序后的资源列表中已经包含该资源,则不进行任何操作;
(2)资源APP.GROUP全部属于解析完,则把该资源添加到排序的资源列表中,列表中第三个资源为APP.GROUP。
步骤6:获取APP.APPLICATION资源体的所有属性,包括:package、appgroup_uuid和name,递归解析这三个属性是否依赖其他资源,递归过程如下:
(1)由package属性的类型可知它依赖APP.WAR和APP.IMAGE资源的一个,模板中包含APP.WAR资源,并且排序后的资源列表中不包含该资源,把该资源优先级升高,置换资源APP.APPLICATION和APP.WAR在排序前资源列表的位置,五种资源的顺序为APP.INSTANCE、APP.SPRINGCLOUD、APP.GROUP、APP.WAR、APP.APPLICATION;
(2)获取APP.WAR资源体的所有属性,包括env、containerEnv、apm和vm_metadata,递归解析这四个属性是否依赖其他资源:第一个属性env为扩展类型KVP,则获取它key和value的类型都是STRING基础类型;第二个属性containerEnv为扩展类型TABLE,则获取它column的name和value的类型都是STRING基础类型;第三个属性apm为BOOLEAN基础类型;第四个属性vm_metadata为扩展类型MAP,则获取它的属性instance的类型为扩展类型ARRAY,再获取它value的类型为APP.INSTANCE,可知它依赖APP.INSTANCE资源,模板中包含该资源,但排序后的资源列表中已经包含该资源,则不进行任何操作;
(3)资源APP.WAR全部属于解析完,则把该资源添加到排序的资源列表中,列表中第四个资源为APP.WAR。
步骤7:获取APP.APPLICATION资源体的所有属性,包括:package、appgroup_uuid和name,递归解析这三个属性是否依赖其他资源,递归过程如下:
(1)由package属性的类型可知它依赖APP.WAR和APP.IMAGE资源的一个,模板中包含APP.WAR资源,但排序后的资源列表中已经包含该资源,则不进行任何操作;
(2)由appgroup_uuid属性的类型可知它依赖APP.GROUP资源的uuid属性,模板中包含该资源,但排序后的资源列表中已经包含该资源,则不进行任何操作;
(3)第三个属性name为STRING基础类型,并且资源APP.APPLICATION的属性全部解析完,则把该资源添加到排序的资源列表中,列表中第五个资源为APP.APPLICATION。
步骤8:模板所有资源已经遍历解析,则输出排序的资源列表:APP.INSTANCE、APP.SPRINGCLOUD、APP.GROUP、APP.WAR、APP.APPLICATION,
基于与上述方法实施例同样的发明构思,示例性的,参阅图2所示,为本申请实施例提供的一种编排模板资源的装置的结构示意图,该装置包括:
读取单元20,用于读取模板包括的各资源,获取编排资源列表;
确定单元21,用于基于所述各资源的各属性,确定所述各资源之间的依赖关系;
编排单元22,用于基于所述各资源之间的依赖关系,在所述编排资源列表中对所述各资源进行编排处理,其中,若第一资源依赖第二资源,则在所述编排资源列表中将所述第二资源编排在所述第一资源之前。
可选地,所述装置还包括:
去重单元,用于对所述编排资源列表中的各资源进行去重处理。
可选地,基于所述各资源的各属性,确定所述各资源之间的依赖关系时,所述确定单元21具体用于:
从所述编排资源列表中第一个资源开始,依次遍历所述编排资源列表;
将当前遍历的资源作为目标资源;
获取所述目标资源的各属性,并依次遍历所述目标资源的各属性,判断所述目标资源的各属性是否依赖其它资源。
可选地,基于所述各资源之间的依赖关系,在所述编排资源列表中对所述各资源进行编排处理时,所述编排单元22具体用于:
若判定所述目标资源的一个属性依赖其它资源,则在所述编排资源列表中置换所述目标资源和其所依赖资源的排列位置;
将其所依赖资源作为新的目标资源,并执行判断所述新的目标资源的各属性是否依赖其它资源的步骤;
若判定所述目标资源的各属性不依赖其它资源,则将所述目标资源的当前排列位置确定为所述目标资源在所述编排资源列表中的排列位置,并将所述编排资源列表中所述目标资源的下一个资源作为新的目标资源,并执行判断所述新的目标资源的各属性是否依赖其它资源的步骤。
可选地,所述装置还包括:
输出单元,用于在确定所述编排资源列表中所有资源均已编排处理完成之后,输出编排完成之后的所述编排资源列表。
以上这些单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个单元通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
进一步地,本申请实施例提供的编排模板资源的装置,从硬件层面而言,所述编排模板资源的装置的硬件架构示意图可以参见图3所示,所述编排模板资源的装置可以包括:存储器30和处理器31,
存储器30用于存储程序指令;处理器31调用存储器30中存储的程序指令,按照获得的程序指令执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种编排模板资源的设备,包括用于执行上述方法实施例的至少一个处理元件(或芯片)。
可选地,本申请还提供一种程序产品,例如计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使该计算机执行上述方法实施例。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种编排模板资源的方法,其特征在于,所述方法包括:
读取模板包括的各资源,获取编排资源列表;
基于所述各资源的各属性,确定所述各资源之间的依赖关系;
基于所述各资源之间的依赖关系,在所述编排资源列表中对所述各资源进行编排处理,其中,若第一资源依赖第二资源,则在所述编排资源列表中将所述第二资源编排在所述第一资源之前。
2.如权利要求1所述的方法,其特征在于,在读取模板包括的各资源之后,基于所述各资源的各属性,确定所述各资源之间的依赖关系之前,所述方法还包括:
对所述编排资源列表中的各资源进行去重处理。
3.如权利要求1所述的方法,其特征在于,基于所述各资源的各属性,确定所述各资源之间的依赖关系的步骤包括:
从所述编排资源列表中第一个资源开始,依次遍历所述编排资源列表;
将当前遍历的资源作为目标资源;
获取所述目标资源的各属性,并依次遍历所述目标资源的各属性,判断所述目标资源的各属性是否依赖其它资源。
4.如权利要求3所述的方法,其特征在于,基于所述各资源之间的依赖关系,在所述编排资源列表中对所述各资源进行编排处理的步骤包括:
若判定所述目标资源的一个属性依赖其它资源,则在所述编排资源列表中置换所述目标资源和其所依赖资源的位置;
将其所依赖的资源作为新的目标资源,并执行判断所述新的目标资源的各属性是否依赖其它资源的步骤;
若判定所述目标资源的各属性不依赖其它资源,则将所述目标资源的当前排列位置确定为所述目标资源在所述编排资源列表中的排列位置,并将所述编排资源列表中所述目标资源的下一个资源作为新的目标资源,并执行判断所述新的目标资源的各属性是否依赖其它资源的步骤。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
在确定所述编排资源列表中所有资源均已编排处理完成之后,输出编排完成之后的所述编排资源列表。
6.一种编排模板资源的装置,其特征在于,所述装置包括:
读取单元,用于读取模板包括的各资源,获取编排资源列表;
确定单元,用于基于所述各资源的各属性,确定所述各资源之间的依赖关系;
编排单元,用于基于所述各资源之间的依赖关系,在所述编排资源列表中对所述各资源进行编排处理,其中,若第一资源依赖第二资源,则在所述编排资源列表中将所述第二资源编排在所述第一资源之前。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
去重单元,用于对所述编排资源列表中的各资源进行去重处理。
8.如权利要求6所述的装置,其特征在于,基于所述各资源的各属性,确定所述各资源之间的依赖关系时,所述确定单元具体用于:
从所述编排资源列表中第一个资源开始,依次遍历所述编排资源列表;
将当前遍历的资源作为目标资源;
获取所述目标资源的各属性,并依次遍历所述目标资源的各属性,判断所述目标资源的各属性是否依赖其它资源。
9.如权利要求8所述的装置,其特征在于,基于所述各资源之间的依赖关系,在所述编排资源列表中对所述各资源进行编排处理时,所述编排单元具体用于:
若判定所述目标资源的一个属性依赖其它资源,则在所述编排资源列表中置换所述目标资源和其所依赖资源的排列位置;
将其所依赖资源作为新的目标资源,并执行判断所述新的目标资源的各属性是否依赖其它资源的步骤;
若判定所述目标资源的各属性不依赖其它资源,则将所述目标资源的当前排列位置确定为所述目标资源在所述编排资源列表中的排列位置,并将所述编排资源列表中所述目标资源的下一个资源作为新的目标资源,并执行判断所述新的目标资源的各属性是否依赖其它资源的步骤。
10.如权利要求6所述的装置,其特征在于,所述装置还包括:
输出单元,用于在确定所述编排资源列表中所有资源均已编排处理完成之后,输出编排完成之后的所述编排资源列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110584219.0A CN113504983A (zh) | 2021-05-27 | 2021-05-27 | 一种编排模板资源的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110584219.0A CN113504983A (zh) | 2021-05-27 | 2021-05-27 | 一种编排模板资源的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113504983A true CN113504983A (zh) | 2021-10-15 |
Family
ID=78009421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110584219.0A Pending CN113504983A (zh) | 2021-05-27 | 2021-05-27 | 一种编排模板资源的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113504983A (zh) |
-
2021
- 2021-05-27 CN CN202110584219.0A patent/CN113504983A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI594117B (zh) | 剖析應用程式碼以識別用於fpga實施之程式碼部份 | |
AU2018310287A1 (en) | Smart contract processing method and apparatus | |
CN109508337A (zh) | 一种交易并行执行方法、装置、电子设备及系统 | |
US10394694B2 (en) | Unexplored branch search in hybrid fuzz testing of software binaries | |
US10917456B2 (en) | Application management in an application deployment pipeline | |
CN112307509A (zh) | 一种脱敏处理方法、设备、介质及电子设备 | |
CN113626333A (zh) | 一种接口自动化测试方法及装置 | |
CN111694992B (zh) | 一种数据处理方法和装置 | |
US20130152049A1 (en) | Warning of register and storage area assignment errors | |
CN109582300A (zh) | 基于路径的代码变更分析方法、装置及设备 | |
CN112612537A (zh) | 配置数据缓存方法、装置、设备及存储介质 | |
CN113778838A (zh) | 二进制程序动态污点分析方法及装置 | |
CN113504983A (zh) | 一种编排模板资源的方法及装置 | |
CN109558249B (zh) | 一种并发操作的控制方法及装置 | |
CN109815116A (zh) | 一种软件测试方法和设备平台及计算机可读存储介质 | |
KR101858594B1 (ko) | 안티리버싱 코드 검출 방법 및 그 장치 | |
CN112988558B (zh) | 测试执行方法、装置、电子设备及存储介质 | |
CN110968500A (zh) | 一种测试用例的执行方法及装置 | |
CN110046028A (zh) | 数据处理方法、装置及服务器 | |
CN114691496A (zh) | 单元测试方法、装置、计算设备及介质 | |
CN110874322A (zh) | 一种用于应用程序的测试方法及测试服务器 | |
US20160048629A1 (en) | Automatic generation of test layouts for testing a design rule checking tool | |
CN114169311A (zh) | 一种数据解析方法及装置 | |
CN109903165B (zh) | 一种模型合并方法和装置 | |
CN115878336A (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 |