Resource arrangement template generation method and apparatus, and computing device cluster
By generating resource orchestration templates, the problem of low resource orchestration efficiency in multi-cloud environments is solved, and the standardization and automation of resource orchestration are realized, thereby improving resource orchestration efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
- Filing Date
- 2024-11-25
- Publication Date
- 2026-05-26
AI Technical Summary
In existing technologies, using a single resource orchestration tool makes it difficult to efficiently manage resources in different operating environments in a multi-cloud environment, resulting in low resource orchestration efficiency.
By generating resource orchestration templates, a unified resource orchestration template is generated based on the resource information provided by different infrastructures and the corresponding orchestration templates for the resources. This template is used to manage resource orchestration in a multi-cloud environment, reducing the difficulty of resource orchestration and improving efficiency.
It achieves standardization and automation of resource orchestration in a multi-cloud environment, reducing the difficulty of resource orchestration and improving the efficiency of resource orchestration.
Smart Images

Figure CN122086579A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer technology, and in particular to a method, apparatus, and computing device cluster for generating resource orchestration templates. Background Technology
[0002] Currently, when deploying services or applications, tenants may choose resources from multiple cloud service providers. There are currently corresponding resource orchestration tools and services available for resources in a single operating environment.
[0003] However, due to the complexity of resources in different operating environments, using a single resource orchestration tool may increase the difficulty of resource orchestration and reduce its efficiency. Therefore, there is an urgent need for a technical solution to improve resource orchestration efficiency. Summary of the Invention
[0004] This invention provides a method, apparatus, and computing device cluster for generating resource orchestration templates. By determining the resources provided by different infrastructures and the corresponding orchestration templates, tenants select resources provided by various infrastructures. Subsequently, resource orchestration of different resources is achieved through the orchestration templates corresponding to the resources, reducing the difficulty of resource orchestration and improving the efficiency of resource orchestration.
[0005] In a first aspect, embodiments of the present invention provide a method for generating a resource orchestration template. The method is applied to a management platform and includes: obtaining first resource information, which indicates the orchestration template corresponding to each of M resources provided by a first infrastructure; obtaining second resource information, which indicates the orchestration template corresponding to each of N resources provided by a second infrastructure, wherein the environments of the first infrastructure and the second infrastructure are different, and M and N are positive integers greater than or equal to 1; obtaining a resource orchestration request input by a tenant, which includes the identifier of a first resource and the identifier of a second resource, wherein the M resources include the first resource and the N resources include the second resource; and generating a resource orchestration template based on the resource orchestration request, the first resource information, and the second resource information, wherein the resource orchestration template is used to instruct the first infrastructure to manage the first resource and is also used by the second infrastructure to manage the second resource.
[0006] In this solution, by determining the resources provided by different infrastructures and the corresponding orchestration templates, tenants select the resources provided by various infrastructures. Subsequently, the orchestration of different resources is achieved through the corresponding orchestration templates, which reduces the difficulty of resource orchestration and improves the efficiency of resource orchestration.
[0007] In one possible implementation, generating a resource orchestration template based on a resource orchestration request, first resource information, and second resource information includes: obtaining the attributes of the first resource based on the identifier of the first resource; determining the orchestration template of the first resource based on the attributes of the first resource and the first resource information; obtaining the attributes of the second resource based on the identifier of the second resource; determining the orchestration template of the second resource based on the attributes of the second resource and the second resource information; and generating a resource orchestration template based on the orchestration template of the first resource and the orchestration template of the second resource.
[0008] In this solution, the attributes of a resource are obtained based on its identifier. The orchestration template of the resource is determined by the attributes of the resource. Different orchestration templates of different resources are combined to obtain a resource orchestration template. Tenants only need to be aware of the resource identifier and do not need to be aware of the resource orchestration process, which improves the efficiency of resource orchestration.
[0009] In one possible implementation, the method further includes: obtaining the resource dependency relationship between the first resource and the second resource, the resource dependency relationship being used to indicate that the first resource depends on the second resource; and adding the resource dependency relationship to the resource orchestration template.
[0010] In this solution, resource dependencies between different resources are added to the resource orchestration template, making the resource orchestration template meet actual needs.
[0011] In one possible implementation, the attributes of the first resource include at least one attribute field, the attributes of the second resource include at least one attribute field, and obtaining the resource dependency relationship between the first resource and the second resource includes:
[0012] Based on the attributes of the first resource and the attributes of the second resource, determine that at least one attribute field of the first resource depends on at least one attribute field of the second resource.
[0013] In one possible implementation, the resource orchestration request includes resource dependencies; obtaining the resource dependencies of the first and second resources includes: obtaining the resource dependencies from the resource orchestration request.
[0014] In this solution, the resource dependencies of different resources are obtained through resource orchestration requests.
[0015] In one example of this implementation, before adding resource dependencies to the resource orchestration template, the method further includes: obtaining the tenant's historical resource orchestration template; determining the historical resource dependencies of the first and second resources based on the tenant's historical resource orchestration template; and determining that the resource dependencies and historical resource dependencies match.
[0016] In this solution, resource dependencies are added to the resource orchestration template when there is no conflict between the resource dependencies and historical resource dependencies, thereby increasing the reference value of the resource dependency template.
[0017] In one possible implementation, the method also includes providing resource orchestration templates to tenants.
[0018] Secondly, embodiments of the present invention provide a resource orchestration template generation apparatus. This apparatus includes several modules, each module executing a step in the resource orchestration template generation method provided in the first aspect of the present invention. The division of modules is not limited here. For the specific functions performed by each module of this resource orchestration template generation apparatus and the beneficial effects achieved, please refer to the functions of each step in the resource orchestration template generation method provided in the first aspect of the present invention; further details will not be repeated here.
[0019] For example, the apparatus for generating resource orchestration templates includes:
[0020] The information acquisition module is used to acquire first resource information, which indicates the orchestration template corresponding to each of the M resources provided by the first infrastructure; and to acquire second resource information, which indicates the orchestration template corresponding to each of the N resources provided by the second infrastructure, wherein the first infrastructure and the second infrastructure have different operating environments, and M and N are positive integers greater than or equal to 1.
[0021] The request acquisition module is used to acquire the resource orchestration request input by the tenant. The resource orchestration request includes a first resource and a second resource, wherein M resources include the first resource and N resources include the second resource.
[0022] The template generation module is used to generate a resource orchestration template based on the resource orchestration request, the first resource information, and the second resource information. The resource orchestration template is used to instruct the first infrastructure to manage the first resource and is also used by the second infrastructure to manage the second resource.
[0023] In one possible implementation, the template generation module is used to obtain the attributes of the first resource based on the identifier of the first resource; determine the arrangement template of the first resource based on the attributes of the first resource and the first resource information; obtain the attributes of the second resource based on the identifier of the second resource; determine the arrangement template of the second resource based on the attributes of the second resource and the second resource information; and generate a resource arrangement template based on the arrangement template of the first resource and the arrangement template of the second resource.
[0024] In one possible implementation, the apparatus further includes: an adding module for obtaining the resource dependency relationship between the first resource and the second resource, the resource dependency relationship indicating that the first resource depends on the second resource; and adding the resource dependency relationship to the resource orchestration template.
[0025] In one possible implementation, the attributes of the first resource include at least one attribute field, and the attributes of the second resource include at least one attribute field; an addition module is used to determine, based on the attributes of the first resource and the attributes of the second resource, that at least one attribute field of the first resource depends on at least one attribute field of the second resource.
[0026] In one possible implementation, the resource orchestration request includes resource dependencies;
[0027] Template generation templates are used to obtain resource dependencies from resource orchestration requests.
[0028] In some examples of this implementation, the template generation module is used to record different field values of multiple first instances in the initial resource orchestration template, as well as the number of times each different field value appears.
[0029] In one possible implementation, a module is added to obtain the tenant's historical resource orchestration template; based on the tenant's historical resource orchestration template, the historical resource dependencies of the first and second resources are determined; the resource dependencies are determined to match the historical resource dependencies, and the resource dependencies are added to the resource orchestration template.
[0030] In one possible implementation, the template generation module is also used to provide resource orchestration templates to tenants.
[0031] Thirdly, embodiments of the present invention provide a resource orchestration template generation apparatus, comprising: at least one memory for storing a program; and at least one processor for executing the program stored in the memory, wherein when the program stored in the memory is executed, the processor is used to execute the method provided in the first aspect.
[0032] Fourthly, embodiments of the present invention provide an apparatus for generating resource orchestration templates. The apparatus executes computer program instructions to perform the method provided in the first aspect. For example, the apparatus may be a chip or a processor.
[0033] In one example, the device may include a processor that can be coupled to memory, read instructions from the memory, and execute the methods provided in the first aspect according to those instructions. The memory may be integrated into the chip or processor, or it may be independent of the chip or processor.
[0034] Fifthly, embodiments of the present invention provide a computing device cluster, the computing device cluster including at least one computing device, each computing device including a processor and a memory; the processor of the at least one computing device is used to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster performs the method provided in the first aspect.
[0035] In a sixth aspect, embodiments of the present invention provide a computer storage medium storing instructions that, when executed on a computer, cause the computer to perform the method provided in the first aspect.
[0036] In a seventh aspect, embodiments of the present invention provide a computer program product containing instructions that, when executed on a computer, cause the computer to perform the method provided in the first aspect. Attached Figure Description
[0037] Figure 1 This is a system architecture diagram of a service system provided in an embodiment of the present invention;
[0038] Figure 2 This is a flowchart illustrating the method for generating resource orchestration templates provided in this embodiment of the invention. Figure 1 ;
[0039] Figure 3 This is a flowchart illustrating the method for generating resource orchestration templates provided in this embodiment of the invention. Figure 2 ;
[0040] Figure 4a This is an illustration of a resource registration scenario provided in an embodiment of the present invention. Figure 1 ;
[0041] Figure 4b This is an illustration of a resource registration scenario provided in an embodiment of the present invention. Figure 2 ;
[0042] Figure 4c This is an illustration of a scenario where a tenant and a single provider select resources, as provided in an embodiment of the present invention. Figure 1 ;
[0043] Figure 4d This is an illustration of a scenario where a tenant and a single provider select resources, as provided in an embodiment of the present invention. Figure 2 ;
[0044] Figure 4e This is a schematic diagram illustrating multiple provider resource selection scenarios provided in an embodiment of the present invention;
[0045] Figure 4f This is a schematic diagram illustrating multiple resource selection scenarios for providers and tenants provided in an embodiment of the present invention;
[0046] Figure 5a This is a schematic diagram illustrating the determination of resource orchestration requests provided in an embodiment of the present invention;
[0047] Figure 5b This is a schematic diagram illustrating the determination of resource orchestration requests in a scenario where multiple providers offer resources, as provided in an embodiment of the present invention.
[0048] Figure 5c This is a schematic diagram illustrating the determination of resource orchestration requests in a scenario where multiple providers and tenants offer resources, as provided in an embodiment of the present invention.
[0049] Figure 5d This is a schematic diagram of the tenant determining resource orchestration request operation provided in an embodiment of the present invention;
[0050] Figure 6a This is a schematic diagram of the resource orchestration template provided in an embodiment of the present invention;
[0051] Figure 6b This is a schematic diagram illustrating the determination of resource attributes provided in an embodiment of the present invention;
[0052] Figure 6c This is a schematic diagram of an arrangement template for determining a single resource provided in an embodiment of the present invention;
[0053] Figure 6d This is a schematic diagram of resource aggregation in the resource orchestration template provided in this embodiment of the invention;
[0054] Figure 7a This is a schematic diagram of a resource orchestration template generation scenario provided in an embodiment of the present invention. Figure 1 ;
[0055] Figure 7b yes Figure 7a A flowchart illustrating the process of generating the provided resource orchestration template;
[0056] Figure 8a This is an illustration of generating resource orchestration templates in multiple provider registration resource scenarios provided in this embodiment of the invention. Figure 1 ;
[0057] Figure 8b This is an illustration of generating resource orchestration templates in multiple provider and tenant registration resource scenarios provided in this embodiment of the invention. Figure 1 ;
[0058] Figure 9 This is a flowchart illustrating the method for generating resource orchestration templates provided in this embodiment of the invention. Figure 3 ;
[0059] Figure 10a This is an illustration of a scenario for determining resource dependencies provided in an embodiment of the present invention. Figure 1 ;
[0060] Figure 10b This is an illustration of a scenario for determining resource dependencies provided in an embodiment of the present invention. Figure 2 ;
[0061] Figure 10c This is an illustration of a scenario for determining resource dependencies provided in an embodiment of the present invention. Figure 3 ;
[0062] Figure 11 This is a schematic diagram illustrating the addition of resource dependencies to a resource orchestration template according to an embodiment of the present invention;
[0063] Figure 12 This is a schematic diagram illustrating the scenarios of adding resource dependencies and resource aggregation provided in an embodiment of the present invention;
[0064] Figure 13a This is a schematic diagram of a resource orchestration template generation scenario provided in an embodiment of the present invention. Figure 2 ;
[0065] Figure 13b yes Figure 13a A flowchart illustrating the process of generating the provided resource orchestration template;
[0066] Figure 14a This is a schematic diagram of a resource orchestration template generation scenario provided in an embodiment of the present invention. Figure 3 ;
[0067] Figure 14b yes Figure 14a A flowchart illustrating the process of generating the provided resource orchestration template;
[0068] Figure 15a This is an illustration of generating resource orchestration templates in multiple provider registration resource scenarios provided in this embodiment of the invention. Figure 2 ;
[0069] Figure 15b This is an illustration of generating resource orchestration templates in multiple provider and tenant registration resource scenarios provided in this embodiment of the invention. Figure 2 ;
[0070] Figure 16 This is a schematic diagram of the resource orchestration template generation scenario provided in this embodiment of the invention;
[0071] Figure 17 This is a schematic diagram of the structure of the management platform provided in an embodiment of the present invention;
[0072] Figure 18 This is a schematic diagram of the structure of the computing device provided in an embodiment of the present invention;
[0073] Figure 19 This is a schematic diagram of the structure of a computing device cluster provided in an embodiment of the present invention;
[0074] Figure 20 This is a schematic diagram of computing devices in a computing device cluster connected via a network, as provided in an embodiment of the present invention. Detailed Implementation
[0075] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be described below with reference to the accompanying drawings.
[0076] In the description of the embodiments of the present invention, the words "exemplary," "for example," or "for instance" are used to indicate that they are examples, illustrations, or descriptions. Any embodiment or design that is described as "exemplary," "for example," or "for instance" in the embodiments of the present invention should not be construed as being more preferred or advantageous than other embodiments or designs. Rather, the use of the words "exemplary," "for example," or "for instance" is intended to present the relevant concepts in a specific manner.
[0077] In the description of the embodiments of this invention, the term "and / or" is merely a description of the association relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, B existing alone, and A and B existing simultaneously. Furthermore, unless otherwise stated, the term "multiple" means two or more. For example, multiple systems refer to two or more systems, and multiple terminals refer to two or more terminals.
[0078] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. The terms "comprising," "including," "having," and their variations all mean "including but not limited to," unless otherwise specifically emphasized.
[0079] The following explanations cover some of the terms used in this embodiment. It should be noted that these explanations are for the convenience of those skilled in the art and are not intended to limit the scope of protection claimed by this invention.
[0080] The cloud is a software platform that uses application virtualization technology, integrating multiple functions such as software search, download, use, management, and backup.
[0081] Resources refer to various computing resources and services provided through the cloud, including but not limited to networks, virtual machines, storage, and application software.
[0082] Instance: refers to an actual example or case; in the embodiments of the present invention, an instance of a resource can be understood as a specific object, such as a virtual machine as a resource, and an instance as a virtual machine of different specifications.
[0083] Template: refers to a fixed format for drawing or design scheme. A template is the result of fixing and standardizing the structural rules of a thing, and it reflects the standardization of structural form.
[0084] A Directed Acyclic Graph (DAG) is a type of directed graph that is acyclic, meaning that in a directed graph, it is impossible to return to a vertex from any given vertex by following a series of edges. This type of graph consists of vertices and directed edges, with each edge connecting one vertex to another, forming a non-cyclic structure.
[0085] Resource orchestration is a management method that involves abstract modeling of resources and the generation and maintenance of instances.
[0086] Resource orchestration templates are definitions and descriptions of a set of resources. They are used to write and manage cloud computing resources through template syntax and resource attributes.
[0087] Resource orchestration tools are a class of tools used to automate the management and deployment of cloud computing resources. They help enterprises simplify the complex process of managing IT infrastructure and improve efficiency. These tools automate deployment and operation by defining dependencies and configurations between resources, thereby reducing human intervention and errors.
[0088] Tenant: Refers to an independent user or enterprise as defined by the cloud platform after registering an account. Each tenant has independent resource allocation and management permissions, ensuring data and resource isolation, thereby protecting user data security and privacy.
[0089] Infrastructure refers to virtualized computing resources provided through cloud computing technology, including servers, storage, networks, and other services, which can be allocated to users on demand.
[0090] Management Platform (MP): An internet-based centralized management tool that provides services such as management, monitoring, and automation of infrastructure, applications, and data.
[0091] Environment: This refers to the environment on which applications run and are managed within the infrastructure. This includes resource environments such as computing, networking, security, and storage, as well as software management and deployment environments such as operating systems and virtualization environments. This environment can be provided by cloud service providers, allowing users to use these resources on demand through a cloud management platform, or it can be infrastructure that users maintain, manage, and operate themselves.
[0092] To reduce the difficulty and improve the efficiency of resource orchestration for users, this invention proposes a method for generating resource orchestration templates. It focuses on providing users with standardized and automated resource orchestration capabilities, taking into account scenarios with different types of resources, such as multi-cloud and customized resources.
[0093] The resource orchestration template generation method provided in this embodiment of the invention does not focus on whether the resource orchestration tool or resource orchestration system supports orchestrating the corresponding resources. Instead, it focuses on how to decouple the corresponding conversion relationship of any resource (a template used to describe the resource orchestration). After obtaining the corresponding conversion relationship of any resource, the user can freely combine resources in various scenarios to orchestrate resources based on the corresponding conversion relationship.
[0094] The following section introduces the service systems that may be applied to the resource orchestration template generation method provided in this embodiment of the invention. Figure 1 This diagram illustrates an example architecture of a service system provided by an embodiment of the present invention. The embodiment of the present invention provides a method for generating resource orchestration templates, which can be applied to, for example... Figure 1 The system architecture diagram shown is as follows. Figure 1 As shown, the service system includes a terminal 110, a management platform 120, and infrastructure 130. The terminal 110 communicates with the management platform 120 via a network. The network can be a wired network and / or a wireless network. It is understood that the network can use any known network communication protocol to achieve different communications; the aforementioned network communication protocol can be various wired and / or wireless communication protocols.
[0095] Terminal 110 is a device that provides data connectivity to a user. For example, it can be, but is not limited to, various personal computers, laptops, smartphones, tablets, mobile internet devices (MIDs), and wearable devices such as smartwatches, smart bracelets, and pedometers. Exemplary embodiments of terminal 110 involved in this solution include, but are not limited to, devices running iOS, Android, Windows, Harmony OS, or other operating systems. This invention does not specifically limit the type of terminal 110. In this invention, there can be multiple terminals 110, for example... Figure 1 Three terminals 110 are shown.
[0096] The management platform 120 can be implemented using a standalone server or a cluster of multiple servers. In some possible implementations, the server involved in this solution can be used to provide cloud services; it can be a server capable of establishing communication connections with other devices and providing computing and / or storage functions for those devices, or a hyperterminal. The server involved in this solution can be a hardware server or embedded in a virtualization environment; for example, the server involved in this solution can be a virtual machine running on a hardware server that includes one or more other virtual machines. In some possible implementations, the management platform 120 can serve as a cloud management platform.
[0097] Infrastructure 130 consists of multiple servers and can provide resources. Resources can be a service, an application, or a physical / virtual device that can be allocated to tenants. In specific implementations, infrastructure 130 can provide resource pools, which provide users with access to all available resources. The resource pool is a collection of concrete implementations of an abstract interface for resources. The abstract interface interacts with each specific resource, executing resource operations and maintaining resource status upon receiving instructions from the resource scheduler. For example, resources can include Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). IaaS is a type of cloud computing service that provides customers with infrastructure services such as computing, storage, and networking. Customers can obtain the necessary resources through the cloud management platform 121 without purchasing and maintaining hardware themselves. For example, IaaS can include computing resources such as virtual machines and physical machines; storage services such as distributed storage and backup / disaster recovery; networking services such as high-speed and secure network connections; and infrastructure including hardware, operating systems, and storage. PaaS provides a layer of software development tools and runtime environment on top of cloud computing infrastructure as a service to customers. PaaS helps customers quickly develop and deploy applications, providing corresponding development tools and runtime environments, eliminating the need for customers to purchase and maintain software development tools and servers. For example, PaaS may include development tools: providing various development tools and programming language libraries to facilitate application development; and runtime environments: providing the software environment required for application operation, such as middleware and databases. SaaS provides applications as a service to customers. SaaS applications are hosted and managed by cloud service providers, and customers can use the applications via the internet without installing and maintaining the applications themselves. The advantages of SaaS are reduced maintenance costs and management complexity for customers, while improving application availability and accessibility. For example, SaaS may include applications: including various enterprise-level application software, such as CRM and ERP; the number of resources in data center 130 is generally massive. In this embodiment of the invention, there may be multiple infrastructures 130, for example... Figure 1 Two infrastructures, 130, are shown.
[0098] In this embodiment of the invention, terminal 110 may use resources provided by infrastructure 130. For example, terminal 110 may use resources provided by one infrastructure 130 or resources provided by two infrastructures 130.
[0099] The management platform 120 can orchestrate resources provided by the infrastructure 130 used by the terminal 110. In some possible scenarios, the management platform 120 can also manage the infrastructure 130. For example, the management platform 120 can be deployed independently on servers or virtual machines in the infrastructure 130, or distributed across multiple servers or virtual machines in the infrastructure 130. It can also be partially deployed independently or distributedly in devices in an edge environment (also called edge devices), and partially deployed independently or distributedly in the infrastructure 130. The edge environment is an environment geographically close to the user's terminal computing device, and includes edge devices, such as edge servers and edge stations with computing capabilities.
[0100] Next, in conjunction with the service system provided above, a method for generating a resource orchestration template provided by an embodiment of the present invention will be introduced.
[0101] Figure 2 This is an embodiment of the present invention. Figure 2 A flowchart illustrating the provided resource orchestration template method. (For example...) Figure 2 As shown, the method for generating resource orchestration templates provided in this embodiment of the invention includes at least the following steps:
[0102] Step 201: The management platform 120 obtains the first resource information, which is used to indicate the orchestration template corresponding to each of the M resources provided by the first infrastructure; M is a positive integer greater than or equal to 1.
[0103] Step 202: The management platform 120 obtains the second resource information, which is used to indicate the orchestration template corresponding to each of the N resources provided by the second infrastructure. The environments of the first infrastructure and the second infrastructure are different; N is a positive integer greater than or equal to 1.
[0104] Step 203: The management platform 120 obtains the resource orchestration request input by the tenant. The resource orchestration request includes the identifier of the first resource and the identifier of the second resource, wherein M resources include the first resource and N resources include the second resource.
[0105] Step 204: The management platform 120 generates a resource orchestration template based on the resource orchestration request, the first resource information, and the second resource information. The resource orchestration template is used to instruct the first infrastructure to manage the first resource and also to instruct the second infrastructure to manage the second resource.
[0106] In this solution, by determining the resources provided by different infrastructures and the corresponding orchestration templates, tenants select resources provided by various infrastructures. Subsequently, resource orchestration is achieved through the corresponding orchestration templates, reducing the difficulty and improving the efficiency of resource orchestration. The above is merely an overview of a method for generating resource orchestration templates provided by an embodiment of the present invention; for details, please refer to the description below.
[0107] Next, combining the service systems provided above and Figure 2 The provided method for generating resource orchestration templates details a method for generating resource orchestration templates according to an embodiment of the present invention. This invention will use infrastructure 130A as the first infrastructure and infrastructure 130B as the second infrastructure as an example to illustrate the solution provided in this embodiment. It should be noted that infrastructure 130A and infrastructure 130B are merely examples and do not constitute a specific limitation; in practical applications, more infrastructures 130 may be included.
[0108] Figure 3 This is a flowchart illustrating the resource orchestration template method provided in an embodiment of the present invention. Figure 3 As shown, the method for generating resource orchestration templates provided in this embodiment of the invention includes at least the following steps:
[0109] Step 301: Terminal 110A obtains first resource information. The first resource information is used to indicate the orchestration template corresponding to each of the M resources A provided by infrastructure 130A, where M is a positive integer greater than or equal to 1.
[0110] Among them, infrastructure 130A is used to provide M resources A. For example, the M resources A may include one or more of the following: host, router, virtual private cloud (VPC), load balancer, shared storage, database, big data platform, authentication module, hard disk, key, public IP, and firewall.
[0111] For each of the M resources A, resource A can be a single instance or a type of resource, represented as an instance cluster. An instance cluster includes several instances, where each instance is a concrete object of the resource. For example, a resource might be a host, and instances might be hosts with different rules. In practical applications, the first resource information may include resource acquisition methods, such as a resource list. These resource acquisition methods are used to obtain the identifier of each resource A among the M resources A.
[0112] For each of the M resources A, resource A has attributes. These attributes can include several attribute fields, such as name (a keyword identifying the attribute field), type (indicating the field's value type), value (the field's value), required (indicating whether the field is a mandatory configuration item), description (the field's description information), and constraints (indicating whether the field has other constraints). In practical applications, the first resource information can include attribute retrieval methods, such as the Read interface, which are methods used to retrieve the attributes of each of the M resources A.
[0113] The first resource information may include the transformation relationship corresponding to each of the M resources A. For each of the M resources A, the first resource information may include the transformation relationship corresponding to that resource A. This transformation relationship describes the orchestration template corresponding to that resource A, that is, the template used for template orchestration of that resource A. Specifically, the transformation relationship represents the transformation scheme from the attributes of resource A to the standard attributes in the orchestration template corresponding to that resource. In other words, the transformation relationship corresponding to resource A is used to define the standardized representation of attributes. For example, if the attribute fields are key: "k", value: "v", the standard attribute field in the orchestration template is kv: "kv". In this embodiment of the invention, when resource A is an instance cluster, the transformation relationship is used to transform the attributes of each instance in resource A and place them in the orchestration template (also called the resource definition template) corresponding to the resource. For example, assuming the resource has two instances, the attributes of instance 1 include key: "k1", value: "v1", and the attributes of instance 2 include key: "k2", value: "v2". The transformation relationship corresponding to the resource includes: converting key: "k", value: "v" to kv: "kv", converting key: "k1", value: "v1" in instance 1 to kv: "k1v1", and converting key: "k2", value: "v2" in instance 2 to kv: "k2v2", thereby placing the transformed instance 1 and the transformed instance 2 in the orchestration template corresponding to the resource. It is worth noting that the transformation relationship corresponding to each of the M resources A can be different or partially the same, and can be set according to actual needs.
[0114] In this embodiment of the invention, the transformation relationship corresponding to each of the M resources A is persisted to a storage medium. Specifically, the persistent storage medium includes: a database, a Ceph storage device, a Hadoop distributed file system, a SAN storage device, a NAS storage device, a RAID, or an object storage system. For ease of description, a database is selected as the persistent storage medium in this specification, and it will be used as an example for detailed explanation. Of course, a relational database or an object-oriented database can be used. The transformation relationship corresponding to each of the M resources A stored in the persistent storage medium can be called by the management platform 120 later.
[0115] In some possible implementations, infrastructure 130A can be provided by resource provider A, which can be a provider, a tenant, or both. It should be noted that a tenant can purchase infrastructure 130A. After purchasing infrastructure 130A, the tenant can use it to provide M resources A, which can be customized resources unique to the tenant. Resource provider A (cloud vendor or tenant) can access management platform 120 through terminal 110A. For example, terminal 110A requests to log in to management platform 120. After authentication by management platform 120, terminal 110A successfully accesses management platform 120. After accessing management platform 120, terminal 110A can display an interface, and resource provider A can operate on the interface and input initial resource information. In specific implementations, such as... Figure 4a As shown, the first resource information can be obtained through the resource registration interface. In practical applications, the management platform 120 can provide a resource registration interface, and the terminal 110A can access the resource registration interface, input the first resource information through the resource registration interface, and subsequently send the first resource information to the management platform 120, thereby enabling the management platform 120 to obtain the first resource information through the resource registration interface. When resource provider A needs to input information, it can do so through an interface. Therefore, the resource registration interface may include an interface (for ease of description and distinction, it can be called the first interface), which is at least used to obtain the first resource information determined by the resource provider; for example, as shown... Figure 4bAs shown, resource provider A can access the resource registration interface through terminal 110A, displaying the first interface. On the first interface, users can input a resource list A (a method for obtaining M resources A), a Read interface A (for obtaining attribute fields of the M resources A), and the conversion relationship corresponding to each of the M resources A. The above interface is merely an example. In other possible implementations, the resource registration interface can also be a backend interface. An API (Application Programming Interface) is a type of application programming interface that allows third-party programs to call data or provide data-based services over a network by defining a set of predefined functions or methods.
[0116] It is worth noting that in scenarios where tenants require customized resources, tenants can use tenant resource A1 (a tenant-customized resource, i.e., a resource developed by the tenant through purchased resources) provided by infrastructure 130A, and determine tenant resource A1 provided by infrastructure 130A through terminal 110. Therefore, when resource provider A is both a tenant and provider A, terminal 110A can include terminal 1 and terminal 2, such as... Figure 4c As shown, provider A can input its resource information through terminal 1, and tenants can input their resource information through terminal 2. The resource information of provider A and the resource information of tenants serve as the first resource information. Correspondingly, the M resources A indicated by the first resource information can be tenant resource A1 provided by infrastructure 130A and provider resource A2 provided by infrastructure 130A. When resource provider A is a tenant, the M resources A can be tenant resource A1 provided by infrastructure 130A. If the tenant does not have customized resources, the M resources A can be provider resource A2 provided by infrastructure 130A.
[0117] It should be noted that the first resource information may include the provider information of the infrastructure 130A. On the one hand, the provider information can be used to access the M resources A provided by the infrastructure 130A. On the other hand, it is convenient to distinguish the resources of different providers in the future.
[0118] Step 302: Terminal 110A sends the first resource information to management platform 120.
[0119] Step 303: Terminal 110B obtains second resource information. The second resource information is used to indicate the orchestration template corresponding to each of the N resources B provided by infrastructure 130B, where N is a positive integer greater than or equal to 1.
[0120] The second resource information can be determined by resource provider B. Furthermore, infrastructure 130A and infrastructure 130B have different environments, and these environments belong to different providers. Different environments indicate different providers; therefore, infrastructure 130A and infrastructure 130B have different providers. For details of the second resource information, please refer to the description of the first resource information in step 301, which will not be repeated here. The difference lies in replacing the first resource information with the second resource information, M with N, resource A with resource B, and resource provider A with resource provider B.
[0121] It is worth noting that in scenarios where tenants require customized resources, tenants can use tenant resource B1 (tenant-customized resources) provided by infrastructure 130B, and determine tenant resource B1 provided by infrastructure 130B through terminal 110. Therefore, when resource provider B is both a tenant and provider B, terminal 110B can include terminal 2 and terminal 3, such as... Figure 4d As shown, provider B can input its resource information through terminal 2, and the tenant can input its resource information through terminal 3. The resource information of provider B and the resource information of the tenant serve as the second resource information. Correspondingly, the N resources B indicated by the second resource information can be tenant resource B1 provided by infrastructure 130B and provider resource B2 provided by infrastructure 130B. When resource provider B is a tenant, the N resources B can be tenant resource B1 provided by infrastructure 130B. If the tenant does not have customized resources, the N resources B can be provider resource B2 provided by infrastructure 130A.
[0122] Step 304: Terminal 110B sends the second resource information to management platform 120.
[0123] The management platform 120 acquires first resource information and second resource information. It is worth noting that the first resource information indicates M resources A, which can be tenant resource A1 (tenant-customized resources) and / or provider resource A2 provided by infrastructure 130A. The second resource information indicates N resources B, which can be tenant resource B2 (tenant-customized resources) and / or provider resource B2 provided by infrastructure 130B.
[0124] For example, such as Figure 4eAs shown, the resource providers may include providers A and B. Infrastructure 130A belongs to provider A, and infrastructure 130B belongs to provider B. Provider A determines the first resource information through terminal 1. The first resource information is used to indicate M resources A. The M resources A can be provider resource A2 (resources provided by provider A) provided by infrastructure 130A. Provider B determines the second resource information through terminal 2. The N resources B can be provider resource B2 (resources provided by provider B) provided by infrastructure 130B.
[0125] For example, such as Figure 4f As shown, resource providers can include tenants and providers: Provider A and Provider B. Infrastructure 130A belongs to Provider A, and infrastructure 130B belongs to Provider B. Tenants can use the resources provided by infrastructure 130A and infrastructure 130B. Tenants, Provider A, and Provider B determine their resource information through terminals 110C, 1, and 2, respectively. After obtaining the resource information of tenants, Provider A, and Provider B, the management platform 120 can obtain first resource information and second resource information. The first resource information is used to indicate M resources A, which can be tenant resource A1 provided by infrastructure 130A and provider resource A1 provided by infrastructure 130A (resources provided by Provider A). The second resource information is used to indicate N resources B, which can be tenant resource B1 provided by infrastructure 130B and provider resource B2 provided by infrastructure 130B (resources provided by Provider B).
[0126] It's important to note that the resources provided by different resource providers are independent. For example, suppose provider A provides a virtual machine, and provider B also provides a virtual machine; the virtual machines provided by provider A and provider B are different resources. Furthermore, the resource providers A and B mentioned above are merely examples and do not constitute a specific limitation. In a concrete implementation, there can be more resource providers.
[0127] Step 305: Terminal 110C determines the resource orchestration request input by the tenant. The resource orchestration request includes the identifiers of m resources A and n resources B, where the M resources A include m resources A and the N resources B include n resources B, and m and n are positive integers greater than or equal to 1.
[0128] It should be noted that a resource orchestration request can request the orchestration of at least some of M resources A and N resources B, for example, m resources A and n resources B.
[0129] like Figure 5aAs shown, for M resources A provided by infrastructure 130A, a tenant can determine the identifiers of the m resources A based on the first resource information, determine the identifiers of the n resources B based on the second resource information, and determine the resource orchestration request based on the identifiers of the m resources A and the n resources B. For example, as Figure 5b As shown, provider A and provider B provide first resource information and second resource information. The first resource information describes provider resource A2, and the second resource information describes provider resource B2. Therefore, m resources A can be provider resource A2, and n resources B can be provider resource B2. Figure 5c As shown, the tenant, provider A, and provider B together provide first resource information and second resource information. The first resource information is used to describe provider resource A2 and tenant resource A1, and the second resource information is used to describe provider resource B2 and tenant resource A2. m resources A can be provider resource A2 and / or tenant resource A1, and n resources B can be provider resource B2 and / or tenant resource A2.
[0130] In practical implementation, tenants can access management platform 120. For example, terminal 110B requests to log in to management platform 120. After authentication by management platform 120, terminal 110C successfully accesses management platform 120. After accessing management platform 120, terminal 110B can view at least some of M resources A and N resources B, such as resources purchased by the tenant and / or resources customized by the tenant (i.e., resources developed by the tenant itself). It can then select the identifiers of m resources A and n resources B from the viewed resources to obtain a resource orchestration request. Considering that the resources used by tenants are independent, tenants generally view the resources they have purchased and the resources they have customized. In practical implementation, terminal 110C can send the tenant's identifier (e.g., tenant account) to management platform 120. Management platform 120 can determine the identifiers of the resources purchased by the tenant using the tenant's identifier, first resource information, and second resource information, and send this information to terminal 110C, allowing terminal 110C to obtain the identifiers of the resources purchased by the tenant for easy viewing. It should be noted that tenants can select relevant resources through a specific interface. In other words, the management platform 120 can include an interface (which can be called a second interface for ease of description and distinction), thus providing the necessary support for the selection and operation of relevant resources. In specific implementation, such as... Figure 5dAs shown, resource provider A provides first resource information and sends it to management platform 120. The first resource information includes resource list A (used to obtain the identifier of each resource A in M resources A). Resource provider B provides second resource information and sends it to management platform 120. The second resource information includes resource list B (used to obtain the identifier of each resource B in N resources B). Tenants can access management platform 120 through terminal 110B and display a second interface. The second interface can provide the identifiers of resources A managed by the tenant (resources purchased by the tenant or customized by the tenant) obtained through resource list A, and the identifiers of resources B managed by the tenant (resources purchased by the tenant or customized by the tenant) obtained through resource list B. Subsequently, tenants can perform operations on the resources A (resources purchased by the tenant or customized by the tenant) and resources B managed by the tenant in the second interface, such as selecting resources, thereby determining the identifiers of m resources A and N resources B.
[0131] It should be noted that from the tenant's perspective, they only need to be concerned with whether the resources they need to select are accurate; the process of generating resource orchestration templates is imperceptible to the tenant.
[0132] Step 306: Terminal 110C sends a resource orchestration request to management platform 120.
[0133] Step 307: The management platform 120 generates a resource orchestration template based on the resource orchestration request, the first resource information, and the second resource information. The resource orchestration template is used to instruct infrastructure 130A to manage m resources A and infrastructure 130B to manage n resources B.
[0134] In some possible scenarios, the m resources A and n resources B determined by terminal 110C only include the resource identifiers and do not include the resource attribute values.
[0135] In specific implementation, such as Figure 6a As shown, the management platform 120 can obtain the attributes of each of the m resources A based on the identifier of each resource A; based on the identifier and attributes of each of the n resources B; based on the attributes and first resource information of each of the m resources A, determine the arrangement template of each resource A; based on the attributes and second resource information of each of the n resources B, determine the arrangement template of each resource B; and finally, determine the resource arrangement template by combining the arrangement templates of each resource A in the m resources A and the arrangement templates of each resource B in the n resources B.
[0136] In some possible embodiments, the first resource information may further include the attributes of each of the M resources A. For example, the first resource information may include the identifier of each of the M resources A and a method for obtaining the attribute value corresponding to the identifier, such as a Read interface. Then, for each resource A among the m resources A, based on the identifier of the resource A, the attribute obtaining method for the resource A, such as the Read interface, is determined, and based on the attribute obtaining method for the resource A, such as the Read interface, the attributes of the resource A are obtained. The attributes of resource A include multiple attribute fields and the field value of each of the multiple attribute fields.
[0137] In some possible embodiments, the second resource information may further include attributes of each resource B among the N resources. For example, the second resource information may include an attribute acquisition method, such as a Read interface, for each resource B among the N resources. Then, for each resource B among the n resources, based on the identifier of that resource B, the attribute acquisition method, such as the Read interface, is determined, and based on the attribute acquisition method, such as the Read interface, the attributes of that resource B are obtained. The attributes of resource A include multiple attribute fields and the field value of each attribute field.
[0138] In specific implementation, such as Figure 6b As shown, resource provider A provides first resource information and sends it to management platform 120. The first resource information includes resource list A (used to obtain the identifiers of M resources A) and Read interface A for each of the M resources A. Resource provider B provides second resource information and sends it to management platform 120. The second resource information includes resource list B (used to obtain the identifiers of N resources B) and Read interface B for each of the N resources B. Tenants can access management platform 120 through terminal 110B and display a second interface. The second interface can provide the identifiers of resources A (resources purchased by the tenant or resources customized by the tenant) and resources B managed by the tenant, obtained through resource list A and resource list B. Subsequently, the tenant can perform operations on the resources purchased by the tenant in the second interface, such as selecting resources, thereby determining the identifiers of m resources A and n resources B. Subsequently, for each of the m resources A, the management platform 120 can determine the Read interface of resource A through the identifier of resource A, and obtain the attribute value of resource A through the Read interface of resource A; for each of the n resources B, the management platform 120 can determine the Read interface of resource B through the identifier of resource B, and obtain the attribute value of each resource B through the Read interface of resource B.
[0139] For each of the m resources A, determining the orchestration template for resource A based on its attributes is similar. The following example uses a single resource A to illustrate how to determine the orchestration template for resource A. For instance, the format of the orchestration template can be: Resource Name:, Instance Name:, Attribute Field 1:, Attribute Field 2:, ...
[0140] For resource A, management platform 120 determines the corresponding transformation relationship of resource A from the first resource information. The transformation relationship includes the mapping of the attributes of resource A to standard attributes. For example, the transformation relationship can be the standard attribute field that the attribute field needs to be mapped to. For example, key: "k", value: "v" is converted to kv: "kv". Subsequently, the attributes of resource A are transformed according to the transformation relationship to obtain the arrangement template of resource A.
[0141] If resource A comprises multiple instances, in its implementation, the management platform 120 transforms the attributes of each instance within resource A according to the transformation relationship corresponding to resource A, and then combines them together to obtain the orchestration template for resource A. For example, if... Figure 6c As shown, for resource A, assuming there are 3 instances of resource A, denoted as instance A1, instance A2, and instance A3, the attributes of instance A1, instance A2, and instance A3 are transformed according to the transformation relationship corresponding to resource A, resulting in transformed instance A1, transformed instance A2, and transformed instance A3. Then, based on the transformed instance A1, transformed instance A2, and transformed instance A3, the orchestration template corresponding to resource A is determined.
[0142] To optimize resource orchestration templates, in some possible implementations, such as Figure 6d As shown, the management platform 120 can obtain historical resource orchestration templates used by tenants. Using resources in the orchestration templates as nodes and resource dependencies in the historical orchestration templates as directed edges, a directed graph, such as a DAG, is constructed. Then, resources of the same type that do not have dependencies are aggregated. For example, assuming the resource orchestration templates include: Resource 1, Resource 2, Resource 3, Resource 4, Resource 5, and Resource 6, the directed graph is as follows: Figure 6d As shown, considering that resources 4 and 5 are not related and belong to the same type of resource, resources 4 and 5 in the resource orchestration template can be aggregated.
[0143] It should be noted that the resource orchestration template can include the identifiers of the providers to which m resources A belong, and the identifiers of the providers to which n resources B belong, thus facilitating the subsequent differentiation of resources from different providers. In specific implementations, Infrastructure 130A can manage the m resources A based on the resource orchestration template, such as deploying and deleting them. In some possible scenarios, Infrastructure 130A may include an infrastructure management platform. The infrastructure management platform can determine the first state of the first resource, such as deployed or deleted, and subsequently, based on the resource management template, ensure that the first resource conforms to the first state. The deployment of the infrastructure management platform within Infrastructure 130A is merely an example; in some possible scenarios, the infrastructure management platform can also be deployed outside of Infrastructure 130A.
[0144] Infrastructure 130B can manage n resources B based on resource orchestration templates, such as deployment and deletion. In some cases, Infrastructure 130B may include an infrastructure management platform. The infrastructure management platform can determine a second state for a second resource, such as deployment or deletion, and subsequently, based on the resource management template, make the second resource conform to the second state. The deployment of the infrastructure management platform within Infrastructure 130B is merely an example; in some possible scenarios, the infrastructure management platform can also be deployed outside of Infrastructure 130B.
[0145] In this solution, by identifying the resources provided by different infrastructures and the corresponding conversion relationships, tenants can then select resources provided by various infrastructures and achieve resource orchestration through the corresponding conversion relationships, thereby reducing the difficulty of resource orchestration and improving its efficiency.
[0146] Subsequently, the management platform 120 can provide the resource orchestration template to the tenant's terminal 110, which displays the template. In one possible scenario, the terminal 110 can determine the resource orchestration template and send it to the management platform 120, whereby the resource orchestration template 123 performs resource orchestration based on it. In another possible scenario, the terminal 110 can modify the dependencies between resources in the orchestration template, such as adding or deleting dependencies, and then send the modified template to the management platform 120, which performs resource orchestration based on it.
[0147] It should be noted that the management platform 120 may include an orchestration engine, which is the core of the entire resource orchestration process and represents the brain of the orchestration process. It parses the resource orchestration template according to agreed-upon formats and parameters, and handles resource dependencies in a stack-like manner. Resource dependencies refer to which resources depend on other resources, which resources can be processed in parallel, etc. Then, through algorithmic calculations, a resource dependency graph is obtained. The orchestration engine 130 implements multi-threaded resource processing operations based on the dependency graph. These resource operations include, but are not limited to, creating and updating resources.
[0148] Figure 3 The embodiments shown are merely basic examples of the method of the present invention. Other preferred embodiments of the method can be obtained by making certain optimizations and extensions based on them.
[0149] In embodiments of the present invention, such as Figure 7a As shown, the resource orchestration template generation method provided in this embodiment of the invention provides a resource registration interface, through which resource information determined by multiple resource providers is obtained. The resource information includes the identifier of each resource among the multiple resources, the transformation relationship corresponding to each resource among the multiple resources, and multiple target resources selected by the tenant from multiple resources. Then, based on the transformation relationship corresponding to each target resource among the multiple resources, an orchestration template corresponding to each target resource among the multiple target resources is determined. Based on the orchestration template corresponding to each target resource among the multiple target resources, a resource orchestration template is obtained, thereby reducing the difficulty of resource orchestration and improving the efficiency of resource orchestration.
[0150] Figure 7b This is an embodiment of the present invention. Figure 8a A flowchart illustrating the provided resource orchestration template method. (For example...) Figure 8b As shown, the method for generating resource orchestration templates provided in this embodiment of the invention includes at least the following steps:
[0151] Step 701: The management platform 120 provides a resource registration interface.
[0152] It should be noted that the resource registration interface is the resource registration interface provided by the management platform 120 for resource providers.
[0153] Step 702: Terminals 110 of multiple resource providers access the resource registration interface to obtain resource information. The resource information is used to indicate the attributes, identifiers, and corresponding conversion relationships of each resource among the multiple resources. The conversion relationships are used to explain the orchestration template used to manage the corresponding resources.
[0154] For detailed information, please refer to the descriptions of steps 301 to 304, and the appendix. Figure 4e and Figure 4f The details and related descriptions will not be repeated here.
[0155] For example, multiple resource providers may use multiple infrastructures 130, and multiple resources are resources provided by multiple infrastructures 130, such as M resources A provided by the aforementioned infrastructure 130A and N resources B provided by infrastructure 130B.
[0156] Step 703: Terminals 110 of multiple resource providers send resource information to management platform 120.
[0157] Step 704: The tenant's terminal 110 accesses the resource registration interface to determine the resource orchestration request. The resource orchestration request includes the identifier of each target resource among multiple target resources.
[0158] For details, please refer to the description of step 305, which will not be repeated here.
[0159] For example, multiple resources can be resources provided by multiple infrastructures 130, such as M resources A provided by infrastructure 130A and N resources B provided by infrastructure 130B. Correspondingly, multiple target resources can be resources provided by one or more infrastructures 130, such as m resources A provided by infrastructure 130A and n resources B provided by infrastructure 130B.
[0160] Step 705: The tenant's terminal 110 sends a resource orchestration request to the management platform 120.
[0161] Step 706: The management platform 120 obtains the attributes of each target resource based on the identifier and resource information of each target resource.
[0162] See details Figure 6a and Figure 6b The description will not be repeated here.
[0163] Step 707: The management platform 120 determines the orchestration template for each target resource based on the attributes of each target resource and the corresponding conversion relationship.
[0164] See details Figure 6a , Figure 6c And the description of the orchestration template for resource A determined in step 307.
[0165] Step 708: The management platform 120 determines the resource orchestration template based on the orchestration template of each target resource.
[0166] See details Figure 6a The description of step 307 above and Figure 6d I will not go into details.
[0167] In this solution, resource providers register resource identifiers, attributes, and corresponding conversion relationships through a resource registration interface. Subsequently, tenants select resources provided by various registered infrastructures and orchestrate these resources through the corresponding conversion relationships, thereby reducing the difficulty of resource orchestration and improving its efficiency.
[0168] based on Figure 7a and 7b The provided method for generating resource orchestration templates explains the specific application of this method.
[0169] Figure 8a This is a schematic diagram illustrating a specific application of a resource orchestration template generation method provided for the implementation of this invention. For example... Figure 8a As shown, the specific content includes:
[0170] Provider A accesses the resource registration interface through terminal 1 to determine the first resource information: resource list A2 (used to obtain the identifier of each resource A2 among M resources A2), Read interface B2 (used to obtain the attributes of each resource A2 among M resources A2), and the conversion relationship corresponding to each resource A2 among M resources A2. The first resource information is then sent to management platform 120. For example, terminal 1 accesses the resource registration interface and displays the first interface, where the first resource information is entered.
[0171] Provider A accesses the resource registration interface through terminal 2 to determine the second resource information: resource list B2 (used to obtain the identifiers of N resources B2), Read interface B2 (used to obtain the attribute values of each resource B2 among the N resources B2), and the conversion relationship corresponding to each resource B2 among the N resources B2. The second resource information is then sent to management platform 120. For example, terminal 2 accesses the resource registration interface and displays the first interface, where the second resource information is entered.
[0172] The management platform 120 obtains the resource list AB (used to represent resource list A2 and resource list B2), ReadAB (used to represent Read interface A2 and Read interface B2), and the conversion relationship corresponding to each resource in M resources A2 and N resources B2.
[0173] Tenants access the resource registration interface via terminal 3. Based on the resource list A and B, the interface displays the identifiers of multiple resources managed by the tenant (resources purchased by the tenant or resources customized by the tenant). From the identifiers of these managed resources, the identifier of each target resource among multiple target resources is determined. For example, if terminal 3 accesses the resource registration interface and displays a second interface, this second interface can provide the identifiers of the resources purchased by the tenant obtained from the resource list A and B. Subsequently, the tenant can perform operations on the resources purchased by the tenant in the second interface, such as selecting resource identifiers, thereby determining the identifier of each target resource among multiple target resources. It should be noted that multiple target resources may include several resources A and several resources B.
[0174] The management platform 120 can determine the Read interface of each target resource by identifying the identifier of each target resource among multiple target resources, and obtain the attributes of each target resource through the Read interface of each target identifier; based on the transformation relationship corresponding to each resource among multiple resources, it adopts... Figure 6c The process involves transforming the attributes of each resource into the corresponding orchestration template to determine the orchestration template for each target resource. Based on the orchestration template for each target resource, a resource orchestration template is determined. Subsequently, based on historical resource orchestration templates already used by tenants, the resource dependencies in the historical resource orchestration templates are reused, and the resources in the resource orchestration templates are used as nodes to determine a directed graph of the resource orchestration templates. Based on the directed graph, multiple resources of the same type in the resource orchestration templates that do not have dependencies are aggregated, and the resource orchestration templates are adjusted.
[0175] Figure 8b This is a schematic diagram illustrating a specific application of a resource orchestration template generation method provided for the implementation of this invention. Figure 8b and Figure 8a The differences are as follows:
[0176] Provider A accesses the resource registration interface through terminal 1 to determine its resource information: resource list A2 (used to obtain the identifier of each provider's resource A2), Read interface A2 (used to obtain the attributes of each provider's resource A2), and the conversion relationship corresponding to each provider's resource A2. Provider A then sends this resource information to management platform 120. For example, terminal 2 accesses the resource registration interface and displays the first interface, where the provider's resource information is entered.
[0177] Provider A accesses the resource registration interface through terminal 2 to determine the resource information of provider B: resource list B2 (used to obtain the identifier of each provider's resource B2), Read interface B2 (used to obtain the attributes of each provider's resource B2), and the conversion relationship corresponding to each provider's resource B2. Provider A then sends the resource information of provider B to management platform 120. For example, terminal 2 accesses the resource registration interface and displays the first interface, where the resource information of provider B is entered.
[0178] Tenants access the resource registration interface through terminal 110C to determine their resource information: resource list A1B1 (used to obtain the identifiers of tenant resources A1 and B1), Read interface A1B1 (to obtain the attributes of each tenant resource A1 and B1), and the conversion relationship corresponding to each resource in tenant resources A1 and B1. The tenant's resource information is then sent to the management platform 120. For example, terminal 3 accesses the resource registration interface and displays the first interface, where tenant resource information is entered.
[0179] The management platform 120 obtains the resource list AB (used to represent resource list A2, resource list B2, resource list A1B1), ReadAB (used to represent Read interface A2, Read interface B2, Read interface A1B1), and the conversion relationship corresponding to each resource in resources A1, A2, B1, and B2.
[0180] Figure 9 The diagram shows a flowchart illustrating another method for generating a resource orchestration template provided in an embodiment of the present invention.
[0181] like Figure 9 As shown, in Figure 3 In this embodiment of the invention, steps 301 to 307 shown in the figures further include at least the following steps:
[0182] Step 308: The management platform 120 obtains the target resource dependencies, which include the resource dependencies of m resources A and n resources B.
[0183] The resource dependencies of m resources A and n resources B include the first resource dependency of the m resources A, the second resource dependency of the n resources B, and / or the third resource dependency between the first resource (any one of the m resources A) and the second resource (any one of the n resources B). The first resource dependency describes the resource dependency among the m resources A; the second resource dependency describes the resource dependency among the n resources B. It should be noted that the terms "first," "second," and "third" are merely distinguishing names and do not have specific meanings.
[0184] In some possible embodiments, the first resource information may further include resource dependencies A of M resources A. The resource dependencies A of the M resources A are represented in the following format: attribute field a of resource A depends on attribute field b of resource B. For example, the resource dependencies A of the M resources A could be: a private network depends on a router or VPC, a hard drive depends on a host or a Virtual SAN / Virtual Security Network (VNAS), a public IP address depends on a host, etc.
[0185] Based on the description of step 301 above, if the management platform 120 obtains the first resource information through the resource registration interface, then resource provider A can input the resource dependency relationship A of M resources A (used to describe the dependency relationship between the attribute fields of any two resources A among the M resources A) through the resource registration interface. For example, as... Figure 10a As shown, resource provider A can access the resource registration interface through terminal 110A to display the first interface. On the first interface, the first resource information is entered: resource list A (used to obtain the identifier of each resource A in M resources A), Read interface A (used to obtain the attributes of each resource A in M resources A), the conversion relationship corresponding to each resource A in M resources A, and the resource dependency relationship A of M resources A (used to describe the dependency relationship between the attribute fields of any two resources A in M resources A).
[0186] In practical implementation, tenants can access the management platform 120 to determine the first resource dependencies of m resources A. To determine these resource dependencies, tenants must access a specific interface, such as a second interface. In practical implementation, for example... Figure 10aAs shown, resource provider A can access the resource registration interface through terminal 110, displaying a first interface. On the first interface, the first resource information is entered: resource list A (used to obtain the identifier of each resource A in M resources A), Read interface A (used to obtain the attributes of each resource A in M resources A), the conversion relationship corresponding to each resource A in M resources A, and the resource dependency relationship A of M resources A (used to describe the dependency relationship between the attribute fields of any two resources A in M resources A). Terminal 110A sends the first resource information to management platform 120. The tenant can access management platform 120 through terminal 3, displaying a second interface. The second interface can provide the identifier of the resources A managed by the tenant (resources purchased by the tenant or resources customized by the tenant) obtained through the resource list. Subsequently, the tenant can perform operations on the resources A managed by the tenant (resources purchased by the tenant or resources customized by the tenant) in the second interface, such as selecting m resources A and entering the first resource dependency relationship of m resources A. The input of the first resource dependency relationship of m resources A can be entered directly by the tenant, or the tenant can view the resource dependency relationships of m resources A in the resource dependency relationship A of M resources A, and select the resource dependency relationship from the resource dependency relationship of m resources A. It is worth noting that if the tenant only selects m resources A on the second interface, the tenant will default to selecting the resource dependency relationship of m resources A in the resource dependency relationship A of M resources A.
[0187] It should be noted that if the resource dependency relationship A of M resources A is not defined in the first resource information, the management platform 120 can obtain the tenant's historical resource orchestration template, which includes the first resource dependency relationships of m resources A; the first resource dependency relationships of m resources A can then be obtained from the historical resource orchestration template. It should also be noted that for the same tenant, resource dependencies can be reused; therefore, the first resource dependency relationships of m resources A can be obtained from the tenant's historical resource orchestration template.
[0188] The second resource information may also include the resource dependencies B of N resources B; for details, please refer to the description of the resource dependencies A of M resources A. In specific implementation, tenants can access the management platform 120 to determine the second resource dependencies of the n resources B. For details, please refer to the description above of how tenants can access the management platform 120 to determine the first resource dependencies of the m resources A, which will not be repeated here.
[0189] It should be noted that if the resource dependencies B of N resources B are not defined in the second resource information, the management platform 120 can obtain the tenant's historical resource orchestration template; the historical resource orchestration template includes the second resource dependencies of n resources B; the second resource dependencies of n resources B can be obtained from the historical resource orchestration template. It should also be noted that for the same tenant, resource dependencies can be reused; therefore, the second resource dependencies of n resources B can be obtained through the tenant's historical resource orchestration template.
[0190] It should be noted that the dependency relationship between the first and second resources and the third resource involves different infrastructures 130 and cannot be determined by a single provider; it needs to be determined by the tenant. It is worth noting that the m resources A can be tenant resources A1 (tenant-customized resources) provided by infrastructure 130A and / or provider resources A2; the n resources B can be tenant resources B1 (tenant-customized resources) provided by infrastructure 130B and / or provider resources B2.
[0191] In some possible scenarios, such as Figure 10b As shown, a resource orchestration request may include the third resource dependencies of the first resource in m resources A and the second resource in n resources B; then the management platform 120 can obtain the third resource dependencies of the first and second resources from the resource orchestration request.
[0192] In another possible scenario, the management platform 120 can obtain the tenant's historical resource orchestration template. This template includes the third resource dependencies of the first and second resources. The third resource dependencies of the first and second resources can then be obtained from the historical orchestration template. It should be noted that resource dependencies can be reused for the same tenant; therefore, the third resource dependencies of the first and second resources can be obtained from the tenant's historical orchestration template.
[0193] In some other possible scenarios, tenants can use resources provided by infrastructure 130A and infrastructure 130B. In this case, the tenant can determine the third resource dependency relationship between the first and second resources; if the management platform 120 provides a resource registration interface, the tenant can input the third resource dependency relationship between the first and second resources through the resource registration interface. In specific implementations, such as... Figure 10cAs shown, the management platform 120 obtains first resource information and second resource information. The first resource information includes resource list A (used to obtain the identifier of each resource A in M resources A), and the second resource information includes resource list B (used to obtain the identifier of each resource B in N resources B). The tenant accesses the management platform 120 through terminal 3 and displays a second interface. The second interface can provide the identifiers of the tenant-managed resources A (resources purchased by the tenant or customized by the tenant) and resource B obtained through resource list A and resource list B. Subsequently, the tenant can perform operations on the tenant-managed resources A (resources purchased by the tenant or customized by the tenant) and resources B in the second interface, such as selecting resources, thereby determining m resources A and n resources B. Furthermore, the tenant can directly input the third resource dependency relationship of the first resource in m resources A and the second resource in n resources B.
[0194] Step 309: The management platform 120 adjusts the resource orchestration template based on the target resource dependencies.
[0195] In this embodiment of the invention, the management platform 120 can add target resource dependencies to the resource orchestration template. In some possible implementations, the management platform 120 obtains the tenant's historical resource orchestration template and determines the target historical resource dependencies: historical resource dependencies of m resources A, historical resource dependencies of n resources B, and historical dependencies of the first resource among the m resources A and the second resource among the n resources B; if the target resource dependency and the target historical resource dependency match, the target resource dependency is added to the resource orchestration template. Matching the target resource dependency and the target historical resource dependency can be understood as the target resource dependency and the historical resource dependency not conflicting; for example, the target resource dependency and the historical resource dependency are the same, or the target historical resource dependency does not include the target resource dependency, meaning the target resource dependency does not exist and needs to be added.
[0196] In specific implementation, such as Figure 11 As shown, the management platform 120 can obtain the historical resource orchestration templates used by the tenant, use the resources in the resource orchestration template as nodes and the resource dependencies in the historical resource orchestration template as directed edges, and construct a directed graph, such as a DAG, in the resource orchestration template; then, based on the directed graph, the resource orchestration template is adjusted, such as by adding target resource dependencies.
[0197] Adding dependencies on target resources follows a similar pattern. Let's take the third resource dependency between a first resource (any one of m resources A) and a second resource (any one of n resources B) as an example. Assume the first resource's attributes include the content of several first attribute fields, and the second resource's attributes include the content of several second attribute fields. The third resource dependency between the first and second resources is that several first attribute fields of the first resource depend on several second attribute fields of the second resource. For example, one first attribute field of the first resource depends on one second attribute field of the second resource; or, for instance, one first attribute field of the first resource depends on multiple second attribute fields of the second resource. The specific dependency relationships of attribute fields can be designed according to actual needs.
[0198] In practical implementation, the management platform 120 can determine, based on the attributes of the first resource and the second resource, that several first attribute fields of the first resource depend on several second attribute fields of the second resource. Specifically, for each of the first attribute fields of the first resource, it determines several second attribute fields of the second resource that that first attribute field can depend on. If the content of the first attribute field matches, for example, the content of each second attribute field of the second resource it depends on, and the second resource does not depend on the first resource in the directed graph, then the content of the attribute field of the first resource in the resource orchestration template is replaced with a reference to the second resource. It should be noted that if the content of the first attribute field matches, for example, the content of the second attribute field of the second resource is the same, and the second resource depends on the first resource in the directed graph, this will lead to a cycle, indicating a resource dependency conflict, which may cause problems in resource usage. Therefore, it is necessary to avoid resource dependency cycles. Thus, directed graphs can be used to determine whether there are conflicts between target resource dependencies and historical resource dependencies.
[0199] For example, suppose a directed graph is as follows: Figure 12 As shown, the content of the first attribute field of resource 3 matches the content of the second attribute field of resource 6, and resource 3 depends on resource 6. Therefore, the content of the first attribute field of resource 3 in the resource orchestration template can be replaced with a reference to resource 6.
[0200] It is worth noting that during the process of adding target resource dependencies to the resource orchestration template, resource dependencies are added sequentially. After adding resource dependencies to the resource orchestration template, the added resource dependencies are established in a directed graph. Subsequently, based on the updated directed graph, if it is determined that there is no conflict between the resource dependency to be added and the existing resource dependencies, the resource dependency to be added is added to the resource orchestration template. In other words, in the process of adding resource dependencies to the resource orchestration template, this embodiment of the invention continuously obtains the latest resource dependencies in the resource orchestration template based on the target historical resource dependencies in the tenant's historical resource orchestration template, obtaining all existing resource dependencies. If it is determined that there is no conflict between the resource dependency to be added and the existing resource dependencies, the resource dependency to be added is added to the resource orchestration template, thereby continuously adding other resource dependencies to the resource orchestration template and continuously updating the resource dependencies of the resource orchestration template.
[0201] If the resources in the resource orchestration template are not aggregated in step 307, resource aggregation and dependency addition can be performed in step 309.
[0202] In some possible scenarios, the management platform 120, based on a directed graph, can adjust the resource orchestration template as follows: Multiple resources to be aggregated in the directed graph have no dependencies and belong to the same type of resource; aggregate the multiple resources to be aggregated in the resource orchestration template into a single resource; for the first attribute field of the first resource, if the first field value of the first attribute field matches, for example, the second field value of the second attribute field of the second resource, and the second resource in the directed graph does not depend on the first resource, replace the first field value of the attribute field of the first resource in the resource orchestration template with a reference to the second resource.
[0203] For example, suppose a directed graph is as follows: Figure 12 As shown, resources 4 and 5 are resources that have no association relationship and belong to the same resource, so resources 4 and 5 in the initial resource orchestration template can be aggregated; the content of the first attribute field of resource 3 matches the content of the second attribute field of resource 6, and resource 3 depends on resource 6. Therefore, the content of the first attribute field of resource 3 in the initial resource orchestration template can be replaced with a reference to resource 6.
[0204] In this solution, the resource provider determines the resources and their corresponding conversion relationships. Tenants select various resources provided by the resource provider. Subsequently, the conversion relationships between the resources are used to orchestrate different resources, reducing the difficulty of resource orchestration and improving its efficiency.
[0205] Figure 9 The embodiments shown are merely basic examples of the method of the present invention. Other preferred embodiments of the method can be obtained by making certain optimizations and extensions based on them.
[0206] like Figure 13a As shown, the resource orchestration template generation method provided in this embodiment of the invention provides a resource registration interface. Through the resource registration interface, resource information determined by multiple resource providers is obtained. This resource information includes the identifier of each resource, the transformation relationship corresponding to each resource, the attributes of each resource, and the resource dependencies of the resources. Then, the tenant selects multiple target resources from the various resources. Next, based on the transformation relationship corresponding to each resource, an orchestration template corresponding to each target resource is determined. A resource orchestration template is obtained based on the orchestration template corresponding to each target resource. Target resource dependencies corresponding to the multiple target resources are determined from the resource dependencies of the multiple resources, and these target resource dependencies are added to the resource orchestration template, thereby reducing the difficulty of resource orchestration and improving the efficiency of resource orchestration.
[0207] Figure 13b This is an embodiment of the present invention. Figure 13a A flowchart illustrating the provided resource orchestration template method. (For example...) Figure 13b As shown, the method for generating resource orchestration templates provided in this embodiment of the invention includes at least the following steps:
[0208] Step 1301: The management platform 120 provides a resource registration interface.
[0209] Step 1302: Terminals 110 of multiple resource providers access the resource registration interface to obtain resource information. The resource information is used to indicate the transformation relationship, attributes, and identifiers of each resource among the multiple resources, as well as the resource dependency relationship of the multiple resources. The transformation relationship is used to describe the orchestration template used to manage the corresponding resources.
[0210] For detailed information, please refer to the descriptions of steps 301 to 304, and the appendix. Figure 4e and Figure 4f The descriptions of the steps and related information, including step 308, will not be repeated here.
[0211] For example, multiple resource providers may use multiple infrastructures 130, and multiple resources are resources provided by multiple infrastructures 130, such as M resources A provided by the aforementioned infrastructure 130A and N resources B provided by infrastructure 130B.
[0212] Step 1303: Terminals 110 of multiple resource providers send resource information to the management platform 120.
[0213] Step 1304: The tenant's terminal 110 accesses the resource registration interface, views the identifier of each resource among multiple resources, and determines the resource orchestration request. The resource orchestration request includes the identifier of each target resource among multiple target resources.
[0214] The tenant's terminal 110 accesses the resource registration interface to view the identifiers of multiple managed resources (resources purchased by the tenant or resources customized by the tenant), and selects the identifiers of multiple target resources to obtain resource orchestration requests. See step 305 for details, which will not be repeated here.
[0215] For example, multiple resources can be resources provided by multiple infrastructures 130, such as M resources A provided by infrastructure 130A and N resources B provided by infrastructure 130B. Correspondingly, multiple target resources can be resources provided by one or more infrastructures 130, such as m resources A provided by infrastructure 130A and n resources B provided by infrastructure 130B.
[0216] Step 1305: The tenant's terminal 110 sends a resource orchestration request to the management platform 120.
[0217] Step 1306: The management platform 120 obtains the attributes of each target resource based on the identifier and resource information of each target resource.
[0218] See details Figure 6a and Figure 6b The description will not be repeated here.
[0219] Step 1307: The management platform 120 determines the orchestration template for each target resource based on the attributes of each target resource and the corresponding conversion relationship.
[0220] See details Figure 6a , Figure 6c And the description of the orchestration template for resource A determined in step 307.
[0221] Step 1308: The management platform 120 determines the resource orchestration template based on the orchestration template of each target resource.
[0222] See details Figure 6a The description of step 307 above and Figure 6d I will not go into details.
[0223] Step 1309: The management platform 120 determines the target resource dependencies corresponding to multiple target resources from the resource dependencies of multiple resources in the resource information.
[0224] Step 1310: Add the target resource dependency to the resource orchestration template in the management platform 120.
[0225] For details, please refer to the description of adding target resource dependencies to the resource orchestration template in step 309, which will not be repeated here.
[0226] In this solution, resource providers register resource identifiers, attributes, transformation relationships, and resource dependencies through a resource registration interface. Tenants select resources provided by various registered infrastructures and orchestrate these resources through the corresponding transformation relationships and registered resource dependencies. This reduces the difficulty of resource orchestration and improves its efficiency.
[0227] Figure 9 The embodiments shown are merely basic examples of the method of the present invention. Other preferred embodiments of the method can be obtained by making certain optimizations and extensions based on them.
[0228] like Figure 14a As shown, the resource orchestration template generation method provided in this embodiment of the invention provides a resource registration interface. Through the resource registration interface, resource information determined by multiple resource providers is obtained. This resource information includes the identifier of each resource, the transformation relationship corresponding to each resource, the attributes of each resource, and the resource dependencies of the resources. Then, the tenant selects multiple target resources from the multiple resources and inputs the first target resource dependencies of the multiple target resources. Next, based on the transformation relationship corresponding to each resource, an orchestration template corresponding to each target resource is determined. Based on the orchestration template corresponding to each target resource, a resource orchestration template is obtained. A second target resource dependency is determined from the resource dependencies of the multiple resources. The first and second target resource dependencies are added to the resource orchestration template, thereby reducing the difficulty of resource orchestration and improving the efficiency of resource orchestration.
[0229] Figure 14b This is an embodiment of the present invention. Figure 14a A flowchart illustrating the provided resource orchestration template method. (For example...) Figure 13b As shown, the method for generating resource orchestration templates provided in this embodiment of the invention includes at least the following steps:
[0230] Step 1401: The management platform 120 provides a resource registration interface.
[0231] Step 1402: Terminals 110 of multiple resource providers access the resource registration interface to obtain resource information. The resource information is used to indicate the transformation relationship, attributes, and identifiers of each resource among the multiple resources, as well as the resource dependency relationship of the multiple resources. The transformation relationship is used to describe the orchestration template used to manage the corresponding resources.
[0232] For detailed information, please refer to the descriptions of steps 301 to 304, and the appendix. Figure 4e and Figure 4f The descriptions of the steps and related information, including step 308, will not be repeated here.
[0233] In this context, multiple resource providers can use multiple infrastructures 130, and multiple resources are resources provided by multiple infrastructures 130. For example, infrastructure 130A provides M resources A and infrastructure 130B provides N resources B. Correspondingly, in one possible scenario, the resource dependencies of multiple resources can include the resource dependencies between multiple resources provided by each of the different infrastructures 130, but do not involve the resource dependencies between resources provided by different infrastructures 130. Furthermore, when a tenant is a resource provider and can use resources provided by multiple infrastructures 130, the resource dependencies of multiple resources can also include the resource dependencies between resources provided by different infrastructures 130.
[0234] Step 1403: Terminals 110 of multiple resource providers send resource information to the management platform 120.
[0235] Step 1404: The tenant's terminal 110 accesses the resource registration interface to determine the resource orchestration request. The resource orchestration request includes the identifier of each target resource among multiple target resources and the first target resource dependency relationship among multiple target resources.
[0236] The tenant's terminal 110 accesses the resource registration interface to view the identifiers of multiple managed resources (resources purchased by the tenant or resources customized by the tenant), and selects the identifiers of multiple target resources to obtain resource orchestration requests. See step 305 for details, which will not be repeated here.
[0237] For example, multiple resources can be resources provided by multiple infrastructures 130, such as M resources A provided by infrastructure 130A and N resources B provided by infrastructure 130B. Correspondingly, multiple target resources can be resources provided by one or more infrastructures 130, such as m resources A provided by infrastructure 130A and n resources B provided by infrastructure 130B.
[0238] It should be noted that the first target resource dependency can be directly entered by the tenant, or it can be a resource dependency selected by the tenant from multiple resource dependencies.
[0239] Step 1405: The tenant's terminal 110 sends a resource orchestration request to the management platform 120.
[0240] Step 1406: The management platform 120 obtains the attributes of each target resource based on the identifier and resource information of each target resource.
[0241] For details, please refer to the description of step 204, which will not be repeated here.
[0242] Step 1407: The management platform 120 determines the orchestration template for each target resource based on the attributes of each target resource and the corresponding conversion relationship.
[0243] See Figure 6 and its description for details.
[0244] Step 1408: The management platform 120 determines the resource orchestration template based on the orchestration template of each target resource.
[0245] Step 1409: The management platform 120 determines the second target resource dependency relationship of multiple target resources from the resource dependency relationship of multiple resources in the resource information.
[0246] Step 1410: Add the first target resource dependency and the second target resource dependency to the resource orchestration template in the management platform 120.
[0247] For details, please refer to the description of adding target resource dependencies to the resource orchestration template in step 309, which will not be repeated here.
[0248] It should be noted that, for example, the first target resource dependency is the resource dependency input by the tenant, and the second target resource dependency is the resource dependency registered by several resource providers. The first target resource dependency can be a resource dependency other than the second target resource dependency; for example, the second target resource dependency is the resource dependency between multiple resources provided by each infrastructure 130 in different infrastructures 130, and does not involve the resource dependency between resources provided by different infrastructures 130, while the first target resource dependency can be the resource dependency between resources provided by different infrastructures 130.
[0249] It is worth noting that the first target resource dependency relationship and the second target resource dependency relationship can be the same, partially the same, or different. The specific relationship can be determined based on the actual tenant needs, and this embodiment of the invention does not impose any specific limitations on this.
[0250] In this solution, resource providers register resource identifiers, attributes, transformation relationships, and resource dependencies through a resource registration interface. Tenants select resources provided by various registered infrastructures and input resource dependencies. By using the corresponding transformation relationships, registered resource dependencies, and tenant-input resource dependencies, resource orchestration is achieved for resources provided by various infrastructures, reducing the difficulty of resource orchestration and improving its efficiency.
[0251] based on Figure 15a The provided method for generating resource orchestration templates explains the specific application of this method. Figure 15a This is a schematic diagram illustrating a specific application of a resource orchestration template generation method provided for the implementation of this invention. For example... Figure 15a As shown, the specific content includes:
[0252] Provider A accesses the resource registration interface through terminal 1 to determine its resource information: resource list A2 (used to obtain the identifier of each provider resource A2), Read interface A2 (used to obtain the attributes of each provider resource A2), the conversion relationship corresponding to each provider resource A2, and the resource dependency relationship of provider resource A2. Provider A then sends this resource information to management platform 120. For example, terminal 1 accesses the resource registration interface and displays the first interface, where the resource information of provider A is entered.
[0253] Provider A accesses the resource registration interface through terminal 2 to determine the resource information of provider B: resource list B2 (used to obtain the identifier of each provider resource B2), Read interface B2 (used to obtain the attributes of each provider resource B2), the conversion relationship corresponding to each provider resource B2, and the resource dependency relationship of provider resource B2. Provider A then sends the resource information of provider B to management platform 120. For example, terminal 2 accesses the resource registration interface and displays the first interface, where the resource information of provider B is entered.
[0254] Tenants access the resource registration interface through terminal 3 to determine their resource information: resource list A1B1 (used to obtain the identifiers of each tenant's resources A1 and B1), Read interface A1B1 (to obtain the attributes of each tenant's resources A1 and B1), the conversion relationship corresponding to each tenant's resources A1 and B1, the resource dependency relationship between provider resources A2 and B2, and the resource dependency relationship between tenant resources A1 and B1. The tenant's resource information is then sent to the management platform 120. For example, terminal 3 accesses the resource registration interface and displays the first interface, where tenants input their resource information.
[0255] The management platform 120 obtains the resource list AB (to represent resource list A2, resource list B2, and resource list A1B1), ReadAB (to represent Read interface A2, Read interface B2, and Read interface A1B1), the conversion relationship of each resource in resources A1, A2, B1, and B2, and the resource dependency relationship of resources A1, A2, B1, and B2.
[0256] Tenants access the resource registration interface via terminal 3. Based on the resource list A and B, the interface displays the identifiers of multiple resources managed by the tenant (resources purchased by the tenant or resources customized by the tenant). From the identifiers of these managed resources, the identifier of each target resource among multiple target resources is determined. For example, if terminal 3 accesses the resource registration interface and displays a second interface, this second interface can provide the identifiers of the resources purchased by the tenant obtained from the resource list A and B. Subsequently, the tenant can perform operations on the resources purchased by the tenant in the second interface, such as selecting resource identifiers, thereby determining the identifier of each target resource among multiple target resources.
[0257] The management platform 120 can determine the Read interface of each target resource by identifying its identifier among multiple target resources, and obtain the attributes of each target resource through the Read interface of each target identifier. Based on the transformation relationship corresponding to each resource among multiple resources, it adopts... Figure 6c The process involves: converting the attributes of each resource into the corresponding orchestration template to determine the orchestration template for each target resource; determining the resource orchestration template based on the orchestration template for each target resource; subsequently, reusing the resource dependencies in the historical resource orchestration templates used by the tenant, and using the resources in the resource orchestration templates as nodes to determine the directed graph of the resource orchestration template; aggregating multiple resources of the same type in the resource orchestration template that do not have dependencies based on the directed graph; and determining the target resource dependencies of multiple target resources based on the resource dependencies of resources A1, A2, B1, and B2, and adding the target resource dependencies to the resource orchestration template based on the directed graph.
[0258] based on Figure 15b The provided method for generating resource orchestration templates explains the specific application of this method. Figure 15b This is a schematic diagram illustrating a specific application of a resource orchestration template generation method provided for the implementation of this invention. For example... Figure 15b As shown, the specific content includes:
[0259] Provider A accesses the resource registration interface through terminal 1 to determine its resource information: resource list A2 (used to obtain the identifier of each provider resource A2), Read interface A2 (used to obtain the attributes of each provider resource A2), the conversion relationship corresponding to each provider resource A2, and the resource dependency relationship between provider resources A2. Provider A then sends this resource information to management platform 120. For example, terminal 2 accesses the resource registration interface and displays the first interface, where the provider A's resource information is entered.
[0260] Provider A accesses the resource registration interface through terminal 2 to determine the resource information of provider B: resource list B2 (used to obtain the identifier of each provider's resource B2), Read interface B2 (used to obtain the attributes of each provider's resource B2), and the conversion relationship corresponding to each provider's resource B2. Provider A then sends the resource information of provider B to management platform 120. For example, terminal 2 accesses the resource registration interface and displays the first interface, where the resource information of provider B is entered.
[0261] Provider A accesses the resource registration interface through terminal 1 to determine its resource information: resource list A2 (used to obtain the identifier of each resource A2 among M resources A2), Read interface A2 (used to obtain the attributes of each resource A2 among M resources A2), the transformation relationship corresponding to each resource A2 among M resources A2, and the resource dependency relationship among M resources A2. Provider A then sends this resource information to management platform 120. For example, terminal 1 accesses the resource registration interface and displays the first interface, where the resource information of provider A is entered.
[0262] Provider B accesses the resource registration interface through terminal 1 to determine its resource information: resource list B2 (used to obtain the identifier of each resource B2 among N resources B2), Read interface B2 (used to obtain the attributes of each resource B2 among N resources B2), the transformation relationship corresponding to each resource B2 among N resources B2, and the resource dependency relationship among N resources B2. Provider B then sends this resource information to management platform 120. For example, terminal 2 accesses the resource registration interface and displays the first interface, where the resource information of provider B is entered.
[0263] The management platform 120 obtains the resource list AB (to represent resource list A2 and resource list B2), ReadAB (to represent Read interface A2 and Read interface B2), the conversion relationship of each resource in M resources A2 and N resources B2, and the resource dependency relationship of M resources A2 and N resources B2.
[0264] Tenants access the resource registration interface via terminal 3. Based on the resource list A and B, the interface displays the identifiers of multiple resources managed by the tenant (resources purchased by the tenant or resources customized by the tenant). From the identifiers of the managed resources (resources purchased by the tenant or resources customized by the tenant), the interface identifies the identifier of each of the multiple target resources and inputs the second target resource dependencies of the multiple target resources. For example, terminal 3 accessing the resource registration interface displays a second interface. The second interface can provide the identifiers of the resources purchased by the tenant obtained through the resource list A and B. Subsequently, the tenant can perform operations on the resources purchased by the tenant in the second interface, such as selecting resource identifiers and inputting the second target resource dependencies of the multiple target resources.
[0265] The management platform 120 can determine the Read interface of each target resource by identifying its identifier among multiple target resources, and obtain the attributes of each target resource through the Read interface of each target identifier. Based on the transformation relationship corresponding to each resource among multiple resources, it adopts... Figure 6c The process involves: converting the attributes of each resource into the corresponding orchestration template to determine the orchestration template for each target resource; determining the resource orchestration template based on the orchestration template for each target resource; subsequently, reusing the resource dependencies in the historical resource orchestration templates used by the tenant, and using the resources in the resource orchestration templates as nodes to determine the directed graph of the resource orchestration template; aggregating multiple resources of the same type in the resource orchestration template that do not have dependencies based on the directed graph; determining the second target resource dependencies for multiple target resources based on the resource dependencies of resources A1, A2, B1, and B2, and adding the second target resource dependencies and the first target resource dependencies to the resource orchestration template based on the directed graph.
[0266] Based on the resource orchestration template generation method provided above, the specific application scenarios of the resource orchestration template generation method are explained.
[0267] like Figure 16 As shown, a tenant registers the first resource information with the management platform 120. Assume the registered resource information includes: multiple instances of ResourceA, the corresponding transformation relationship of ResourceA, multiple instances of ResourceB, the corresponding transformation relationship of ResourceB, and the resource dependency relationship between ResourceA and ResourceB: ResourceA's b_id depends on ResourceB's id. The transformation relationship for ResourceA can include: key: "k", value: "v" converted to kv: "kv". The template transformation relationship for ResourceB can include: when there is only one instance, the instance name (name) and ResourceB name remain consistent.
[0268] The tenant registers secondary resource information with the management platform 120. Assume the secondary resource information is as follows:
[0269] ResourceA:
[0270] {name: "A", key: "k", value: "v", b_id: "123"}
[0271] ResourceA:
[0272] {name: "A2", key: "k", value: "v", b_id: "123"}
[0273] ResourceB:
[0274] {name: "b", id: "123"}
[0275] Based on the transformation relationships corresponding to ResourceA and ResourceB, management platform 120 determines the initial resource orchestration template, which is as follows:
[0276]
[0277] The management platform 120 adds resource dependencies between ResourceA and ResourceB: ResourceA's b_id depends on ResourceB's id, and based on the principle of aggregating different instances of the same type of resource, the initial resource orchestration template is adjusted to obtain the resource orchestration template as follows:
[0278]
[0279]
[0280] The management platform 120 will provide the generated resource orchestration template to the tenant. Subsequently, the tenant can use the resource orchestration template or modify it.
[0281] This invention also provides a management platform, which can also be referred to as a device for determining resource orchestration templates, such as... Figure 17 As shown, it includes:
[0282] The information acquisition module is used to acquire first resource information, which indicates the orchestration template corresponding to each of the M resources provided by the first infrastructure; and to acquire second resource information, which indicates the orchestration template corresponding to each of the N resources provided by the second infrastructure, wherein the first infrastructure and the second infrastructure have different operating environments, and M and N are positive integers greater than or equal to 1.
[0283] The request acquisition module is used to acquire the resource orchestration request input by the tenant. The resource orchestration request includes a first resource and a second resource, wherein M resources include the first resource and N resources include the second resource.
[0284] The template generation module is used to generate a resource orchestration template based on the resource orchestration request, the first resource information, and the second resource information. The resource orchestration template is used to instruct the first infrastructure to manage the first resource and is also used by the second infrastructure to manage the second resource.
[0285] The information acquisition module, request acquisition module, and template generation module can all be implemented in software or hardware. For example, the implementation of the information acquisition module will be described below. Similarly, the implementation methods of the request acquisition module and template generation module can refer to the implementation method of the information acquisition module.
[0286] As an example of a software functional unit, the information acquisition module may include code running on a computing instance. The computing instance may include at least one of a physical host (computing device), a virtual machine, or a container. Furthermore, the aforementioned computing instance may be one or more. For example, the information acquisition module may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code may be distributed within the same region or in different regions. Further, the multiple hosts / virtual machines / containers used to run the code may be distributed within the same availability zone (AZ) or in different AZs, each AZ comprising one or more geographically proximate data centers. Typically, a region may include multiple AZs.
[0287] Similarly, multiple hosts / virtual machines / containers used to run this code can be distributed within the same Virtual Private Cloud (VPC) or across multiple VPCs. Typically, a VPC is set up within a region. Communication between two VPCs within the same region, as well as between VPCs in different regions, requires a communication gateway to be set up within each VPC to enable interconnection between VPCs.
[0288] As an example of a hardware functional unit, an information acquisition module may include at least one computing device, such as a server. Alternatively, the information acquisition module may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The aforementioned PLD may be implemented using a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), generic array logic (GAL), or any combination thereof.
[0289] The information acquisition module includes multiple computing devices that can be distributed within the same region or in different regions. Similarly, the information acquisition module can be distributed within the same Availability Zone (AZ) or in different AZs. Likewise, the information acquisition module can be distributed within the same Virtual Private Cloud (VPC) or in multiple VPCs. These multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.
[0290] It should be noted that, in other embodiments, the information acquisition module can be used to execute any step in the resource orchestration template generation method, the steps to be implemented by the request acquisition module can be specified as needed, and the steps to be implemented by the template generation module can be specified as needed. By implementing different steps in the resource orchestration template generation method through the information acquisition module, the request acquisition module, and the template generation module, all functions of the resource orchestration template generation device can be realized.
[0291] The present invention also provides a computing device 1800. For example... Figure 18 As shown, the computing device 1800 includes a bus 1802, a processor 1804, a memory 1806, and a communication interface 1808. The processor 1804, the memory 1806, and the communication interface 1808 communicate with each other via the bus 1802. The computing device 1800 can be a server or a terminal device. It should be understood that the present invention does not limit the number of processors and memories in the computing device 1800.
[0292] The 1802 bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, Figure 18 The bus 1802 may be represented by a single line, but this does not mean that there is only one bus or one type of bus. The bus 1802 may include a path for transmitting information between various components of the computing device 1800 (e.g., memory 1806, processor 1804, communication interface 1808).
[0293] Processor 1804 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0294] The memory 1806 may include volatile memory, such as random access memory (RAM). The processor 1804 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).
[0295] The memory 1806 stores executable program code, and the processor 1804 executes this executable program code to implement the functions of the aforementioned information acquisition module, request acquisition module, and template generation module, thereby realizing the resource orchestration template generation method. That is, the memory 1806 stores instructions for executing the resource orchestration template generation method.
[0296] The communication interface 1808 uses transceiver modules, such as, but not limited to, network interface cards and transceivers, to enable communication between the computing device 1800 and other devices or communication networks.
[0297] This invention also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.
[0298] like Figure 19 As shown, the computing device cluster includes at least one computing device 1800. The memory 1806 of one or more computing devices 1800 in the computing device cluster may store the same instructions for executing a method for generating resource orchestration templates.
[0299] In some possible implementations, the memory 1806 of one or more computing devices 1800 in the computing device cluster may also store partial instructions for executing the resource orchestration template generation method. In other words, a combination of one or more computing devices 1800 can jointly execute the instructions for executing the resource orchestration template generation method.
[0300] It should be noted that the memory 1806 in different computing devices 1800 within the computing device cluster can store different instructions, each used to execute a portion of the management platform's functions. That is, the instructions stored in the memory 1806 of different computing devices 1800 can implement the functions of one or more modules among the information acquisition module, request acquisition module, and template generation module.
[0301] In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc. Figure 20 One possible implementation is shown. For example... Figure 20 As shown, the two computing devices 1800A and 1800B are connected via a network. Specifically, they are connected to the network through the communication interfaces in each computing device. In this possible implementation, the memory 1806 in computing device 1800A stores instructions for executing the functions of the information acquisition module. Simultaneously, the memory 1806 in computing device 1800B stores instructions for executing the functions of the request acquisition module and the template generation module.
[0302] Figure 20 The connection method between the computing device clusters shown can be as follows: considering that the resource orchestration template generation method provided by the present invention needs to obtain and store the first resource information and the second resource information, it is considered that the function implemented by the information acquisition module is executed by the computing device 1800A alone, and the function implemented by the request acquisition module and the template generation module is executed by the computing device 1800B alone.
[0303] It should be understood that Figure 20 The functions of the computing device 1800A shown can also be performed by multiple computing devices 1800. Similarly, the functions of the computing device 1800B can also be performed by multiple computing devices 1800.
[0304] This invention also provides a computer program product containing instructions. The computer program product may be a software or program product containing instructions, capable of running on a computing device or stored on any available medium. When the computer program product is run on at least one computing device, it causes the at least one computing device to execute a method for generating a resource orchestration template.
[0305] This invention also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store, or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to perform a method for generating a resource orchestration template.
[0306] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0307] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
[0308] The basic principles of the present invention have been described above with reference to specific embodiments. However, it should be noted that the advantages, benefits, and effects mentioned in the present invention are merely examples and not limitations, and should not be considered as essential features of the various embodiments of the present disclosure. Furthermore, the specific details disclosed above are for illustrative and facilitative purposes only, and are not limitations. These details do not limit the scope of the present disclosure to the necessity of employing the specific details described above.
[0309] The block diagrams of devices, apparatuses, devices, and systems disclosed herein are merely illustrative examples and are not intended to require or imply that they must be connected, arranged, or configured in the manner shown in the block diagrams. As those skilled in the art will recognize, these devices, apparatuses, devices, and systems can be connected, arranged, and configured in any manner. Words such as “comprising,” “including,” “having,” etc., are open-ended terms meaning “including but not limited to,” and are used interchangeably with them. The terms “or” and “and” as used herein refer to the terms “and / or,” and are used interchangeably with them unless the context clearly indicates otherwise. The term “such as” as used herein refers to the phrase “such as but not limited to,” and is used interchangeably with it.
[0310] It should also be noted that in the apparatus, devices, and methods of this disclosure, the components or steps can be disassembled and / or recombined. These disassemblies and / or recombinations should be considered as equivalent solutions to this disclosure.
[0311] The above description has been given for purposes of illustration and description. Furthermore, this description is not intended to limit the embodiments of this disclosure to the forms disclosed herein. Although numerous exemplary aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, alterations, additions, and sub-combinations therein.
[0312] It is understood that the various numerical designations used in the embodiments of the present invention are merely for descriptive convenience and are not intended to limit the scope of the embodiments of the present invention.
Claims
1. A method for generating a resource orchestration template, characterized in that, The method is applied to a management platform, and the method includes: Obtain first resource information, which is used to indicate the orchestration template corresponding to each of the M resources provided by the first infrastructure; Obtain second resource information, which is used to indicate the orchestration template corresponding to each of the N resources provided by the second infrastructure, wherein the environments of the first infrastructure and the second infrastructure are different, and M and N are positive integers greater than or equal to 1; Obtain a resource orchestration request input by a tenant, the resource orchestration request including the identifier of a first resource and the identifier of a second resource, wherein the M resources include the first resource and the N resources include the second resource; Based on the resource orchestration request, the first resource information, and the second resource information, a resource orchestration template is generated. The resource orchestration template is used to instruct the first infrastructure to manage the first resource and is also used by the second infrastructure to manage the second resource.
2. The method according to claim 1, characterized in that, The step of generating a resource orchestration template based on the resource orchestration request, the first resource information, and the second resource information includes: Based on the identifier of the first resource, obtain the attributes of the first resource; Based on the attributes of the first resource and the information of the first resource, determine the arrangement template of the first resource; Based on the identifier of the second resource, obtain the attributes of the second resource; Based on the attributes and information of the second resource, determine the arrangement template of the second resource; The resource arrangement template is generated based on the arrangement template of the first resource and the arrangement template of the second resource.
3. The method according to claim 2, characterized in that, The method further includes: Obtain the resource dependency relationship between the first resource and the second resource, wherein the resource dependency relationship is used to indicate that the first resource depends on the second resource; Add the resource dependency to the resource orchestration template.
4. The method according to claim 3, characterized in that, The first resource's attributes include at least one attribute field, and the second resource's attributes include at least one attribute field. Obtaining the resource dependency relationship between the first resource and the second resource includes: Based on the attributes of the first resource and the attributes of the second resource, it is determined that at least one attribute field of the first resource depends on at least one attribute field of the second resource.
5. The method according to claim 3, characterized in that, The resource orchestration request includes the resource dependencies; The step of obtaining the resource dependency relationship between the first resource and the second resource includes: Obtain the resource dependencies from the resource orchestration request.
6. The method according to any one of claims 3 to 5, characterized in that, Before adding the resource dependency to the resource orchestration template, the method further includes: Obtain the tenant's historical resource orchestration template; Based on the tenant's historical resource orchestration template, determine the historical resource dependencies between the first resource and the second resource; Determine that the resource dependencies match the historical resource dependencies.
7. A resource orchestration generation apparatus, characterized in that, The device includes: The information acquisition module is used to acquire first resource information, which is used to indicate the orchestration template corresponding to each of the M resources provided by the first infrastructure; and to acquire second resource information, which is used to indicate the orchestration template corresponding to each of the N resources provided by the second infrastructure, wherein the first infrastructure and the second infrastructure have different operating environments, and M and N are positive integers greater than or equal to 1. The request acquisition module is used to acquire resource orchestration requests input by tenants. The resource orchestration requests include first resources and second resources, wherein the M resources include the first resources and the N resources include the second resources. The template generation module is used to generate a resource orchestration template based on the resource orchestration request, the first resource information, and the second resource information. The resource orchestration template is used to instruct the first infrastructure to manage the first resource and is also used by the second infrastructure to manage the second resource.
8. The apparatus according to claim 7, characterized in that, The template generation module is used to obtain the attributes of the first resource based on the identifier of the first resource; Based on the attributes of the first resource and the information of the first resource, determine the arrangement template of the first resource; Based on the identifier of the second resource, obtain the attributes of the second resource; Based on the attributes and information of the second resource, determine the arrangement template of the second resource; The resource arrangement template is generated based on the arrangement template of the first resource and the arrangement template of the second resource.
9. The apparatus according to claim 8, characterized in that, The device further includes: An add module is used to obtain the resource dependency relationship between the first resource and the second resource, wherein the resource dependency relationship is used to indicate that the first resource depends on the second resource; and the resource dependency relationship is added to the resource orchestration template.
10. The apparatus according to claim 9, characterized in that, The attributes of the first resource include at least one attribute field, and the attributes of the second resource include at least one attribute field; The adding module is used to determine, based on the attributes of the first resource and the attributes of the second resource, that at least one attribute field of the first resource depends on at least one attribute field of the second resource.
11. The apparatus according to claim 9, characterized in that, The resource orchestration request includes the resource dependencies; The template generation template is used to obtain the resource dependencies from the resource orchestration request.
12. The apparatus according to any one of claims 9 to 11, characterized in that, The adding module is used to obtain the tenant's historical resource orchestration template; and based on the tenant's historical resource orchestration template, determine the historical resource dependency relationship between the first resource and the second resource; Determine that the resource dependency matches the historical resource dependency, and add the resource dependency to the resource orchestration template.
13. A computing device cluster, characterized in that, It includes at least one computing device, each computing device including a processor and memory; The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device to cause the cluster of computing devices to perform the method as described in any one of claims 1 to 6.
14. A computer program product containing instructions, characterized in that, When the instruction is executed by the computing device cluster, the computing device cluster causes the computing device cluster to perform the method as described in any one of claims 1 to 6.
15. A computer-readable storage medium, characterized in that, Includes computer program instructions, which, when executed by a cluster of computing devices, perform the method as described in any one of claims 1 to 6.