Method for managing objects and related device
By leveraging mapping relationships through the First Cloud Management Platform, cross-cloud management synchronization is achieved, solving the problem of high management complexity for large enterprises in multi-cloud environments and enabling flexible management capabilities.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-09-09
- Publication Date
- 2026-07-02
Smart Images

Figure CN2025120106_02072026_PF_FP_ABST
Abstract
Description
A method and related equipment for managing objects
[0001] This application claims priority to Chinese Patent Application No. 202411932094.6, filed with the China National Intellectual Property Administration on December 24, 2024, entitled "A Method and Related Equipment for Managing Objects", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of cloud computing, and more specifically, to a method for managing objects, a computing device, a cluster of computing devices, a computer program product, and a computer-readable storage medium. Background Technology
[0003] Currently, large enterprises generally utilize cloud resources to run internet technology (IT) businesses or conduct internal IT management. Common IT architectures used by large enterprises include three types: centralized, federated, and decentralized. All three architectures involve multiple clouds (e.g., a central cloud and at least one branch cloud), each containing different cloud resources (e.g., computing, communication, and storage resources). The cloud resources in each cloud are used to provide cloud services, and each cloud has its own cloud management system that manages its resources. In a centralized IT architecture, the central cloud is responsible for the oversight, operation, and maintenance of each cloud within the architecture. In a federated IT architecture, the central cloud is responsible for the oversight and operation of each cloud within the architecture, while each branch cloud is responsible for its own maintenance. In a decentralized IT architecture, the central cloud is responsible for the oversight of each cloud within the architecture, while each branch cloud is responsible for its own operation and maintenance. Because different enterprises have different IT governance and control needs, different cloud management solutions need to be developed for different enterprise scenarios. In existing technologies, IT managers in each enterprise need to manually plan and manage cloud resources in multiple clouds according to the enterprise's needs. This results in a large workload and high complexity for IT managers, and there is also the problem of difficulty in flexibly adapting to the management needs of the enterprise at different stages.
[0004] Therefore, how to manage objects in cloud resources across multiple clouds in order to reduce management complexity has become an urgent problem to be solved. Summary of the Invention
[0005] This application provides a method for managing objects, a computing device, a cluster of computing devices, a computer program product, and a computer-readable storage medium, which can manage objects in cloud resources across multiple clouds in order to reduce management complexity.
[0006] Firstly, a method for managing objects is provided. This method is applied to a first cloud management platform, which manages a first infrastructure providing cloud services. The first infrastructure includes a first cloud, which includes at least one of the following resources: computing resources, storage resources, and communication resources. The method includes: receiving first request information from a first user, the first request information requesting the execution of a first operation on a first object in the first cloud, wherein the first user belongs to a first tenant and the first cloud belongs to the first tenant; and sending second request information to a second cloud management platform based on a first mapping relationship and the first request information, the second request information requesting the execution of the first operation on a second object in the second cloud of the first tenant. The second cloud management platform manages a second infrastructure providing cloud services, the second infrastructure including a second cloud, the second cloud including at least one of the following resources: computing resources, storage resources, and communication resources, wherein the cloud resources in the second cloud are different from those in the first cloud, and the first mapping relationship indicates the association between the first object and the second object.
[0007] In some embodiments, the first tenant can be an individual or a group. When the first tenant is a group, the first tenant may be, for example, a business, a school, a hospital, or a government agency.
[0008] In some embodiments, cloud resources in each cloud (e.g., a first cloud or a second cloud) are provided by the same cloud vendor. Cloud resources in different clouds may be provided by the same cloud vendor or different cloud vendors. Different clouds include different cloud resources. Different clouds can communicate with each other. Each cloud has its own cloud management platform, and the cloud management platforms of different clouds are different. Each cloud's cloud management platform is used to manage the cloud resources in that cloud.
[0009] In some embodiments, when the first tenant is a group, each cloud corresponds to at least one organization within the group, and a user in each cloud is an individual or account within that at least one organization. When the first tenant is an individual, each cloud corresponds to at least one business of the first tenant, and a user in each cloud is an account within that at least one business.
[0010] In some embodiments, tenants may divide cloud resources provided by the same cloud vendor or different cloud vendors into different clouds, such as a first cloud and a second cloud, based on the needs of the business they are running or their internal management requirements.
[0011] In this embodiment, after receiving the first request information from the first user, the first cloud management platform sends a second request information to the second cloud management platform through a first mapping relationship. This enables the second cloud management platform to perform the same operation on the second object associated with the first object as on the first object, thereby achieving cross-cloud management synchronization, i.e., synchronizing management capabilities across multiple clouds. Since the first cloud management platform can synchronize management capabilities across multiple clouds based on the pre-configured first mapping relationship, the first user does not need to manually manage objects in multiple clouds, thus reducing management complexity.
[0012] In conjunction with the first aspect, in some implementations, the first object and the second object are of the same type, and the type of the first object includes at least one of the following: organization, business, user, and data set.
[0013] In this embodiment of the application, the first cloud management platform can synchronously manage related objects of the same type in different clouds, thereby reducing the complexity for administrators to manage objects in multiple clouds.
[0014] In conjunction with the first aspect, in some implementations, when the type of the first object is an organization or business, the first operation is used to manage any one of the sub-organizations, sub-businesses, or resources in the first object; or, when the type of the first object is a user, the first operation is used to manage the permissions of the first object; or, when the type of the first object is a data set, the first operation is used to manage the data in the first object.
[0015] In this embodiment, the first cloud management platform can synchronously manage organizations, businesses, users, or data sets in multiple clouds of a tenant, thereby reducing the complexity of managing different types of objects in multiple clouds of a tenant.
[0016] In conjunction with the first aspect, in some implementations, before receiving the first request information from the first user, the first configuration information of the first user is received. The first configuration information is used to configure at least two objects associated with the first tenant in multiple clouds; and the first mapping relationship is determined based on the first configuration information.
[0017] In this embodiment, the first cloud management platform determines the relationships between multiple objects in multiple clouds of a tenant based on the user's configuration, thereby facilitating subsequent synchronous management of multiple clouds based on these relationships. Furthermore, when changes occur in the tenant's multiple clouds, the tenant only needs to update the first mapping relationship, and the first cloud management platform can then perform synchronous management based on the updated first mapping relationship, thus flexibly adapting to the different needs of the tenant.
[0018] For example, changes in a tenant’s multiple clouds include: an increase or decrease in the number of clouds in a tenant’s multiple clouds, an increase or decrease in the amount of resources in one or more clouds in a tenant, a reallocation of resources in one or more clouds in a tenant, an increase or decrease in the number of objects in one or more clouds in a tenant, or a readjustment of objects in one or more clouds in a tenant.
[0019] In conjunction with the first aspect, in some implementations, second configuration information of a first user is received, the second configuration information being used to configure at least two clouds associated among the multiple clouds of the first tenant; based on the second configuration information, a first set is provided to the first user, the first set including at least one object in each of the at least two associated clouds; and first configuration information of the first user is received, the first configuration information being used to configure at least two objects associated among the at least two associated clouds.
[0020] In this embodiment of the application, the first cloud management platform receives at least two associated clouds configured by the user and obtains each object included in the at least two associated clouds, thereby facilitating the user to determine the at least two associated objects and thus facilitating the first cloud management platform to obtain the first configuration information.
[0021] In conjunction with the first aspect, in some implementations, the second configuration information is also used to configure information about at least one application programming interface (API), each of the at least one API being used to perform operations on at least one object in the cloud of the first tenant.
[0022] In conjunction with the first aspect, in some implementations, the information for each API in at least one API includes: the API's function, a Uniform Resource Locator (URL), and information about the request body, which indicates the parameter information input when calling the API.
[0023] In this embodiment of the application, the user can also configure the definition of APIs for performing operations on different types of objects, so that the first cloud management platform can subsequently achieve synchronous management of objects in multiple clouds by calling the corresponding APIs.
[0024] In conjunction with the first aspect, in some implementation methods, based on the first request information and the first mapping relationship, at least one object associated with the first object is determined, and the at least one object associated with the first object includes the second object; the first API corresponding to the first object is invoked to send the second request information to the second cloud management platform, and the first API belongs to at least one API.
[0025] In this embodiment of the application, the first cloud management platform determines at least one object associated with the first object through a first mapping relationship configured by the user, and then performs the same operation on at least one object associated with the first object by calling the API configured by the user, thereby realizing the synchronous management of multiple objects in the cloud.
[0026] Secondly, a first cloud management platform is provided. This first cloud management platform includes modules for implementing the first aspect or any possible implementation thereof.
[0027] Thirdly, a system for managing objects is provided. This system includes a second cloud management platform as described in the first aspect or any possible implementation thereof, and a first cloud management platform as described in the second aspect.
[0028] Fourthly, this application provides a 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 in the first aspect or any possible implementation of the first aspect.
[0029] Fifthly, this application provides a computer program product containing instructions that, when executed by a cluster of computer devices, cause the cluster of computer devices to perform the method described in the first aspect or any possible implementation thereof.
[0030] In a sixth aspect, this application provides a computer-readable storage medium including computer program instructions that, when executed by a cluster of computing devices, perform the method described in the first aspect or any possible implementation thereof.
[0031] In a seventh aspect, a chip system is provided, the chip system including logic circuitry for coupling with an input / output interface, through which data is transmitted to perform the method described in the first aspect or any possible implementation thereof. Attached Figure Description
[0032] Figure 1 is a schematic structural diagram of a cloud scenario according to an embodiment of this application.
[0033] Figure 2 is a schematic structural diagram of a system for managing objects according to an embodiment of this application.
[0034] Figure 3 is a schematic flowchart of a method for managing objects according to an embodiment of this application.
[0035] Figure 4 is a schematic flowchart of a method for managing objects according to another embodiment of this application.
[0036] Figure 5 is a schematic structural diagram of a cloud management platform according to an embodiment of this application.
[0037] Figure 6 is a schematic structural diagram of a computing device according to an embodiment of the present application.
[0038] Figure 7 is a schematic structural diagram of a computing device cluster according to an embodiment of the present application.
[0039] Figure 8 is a schematic diagram of a network connection between computing devices 600A and 600B according to an embodiment of the present application. Detailed Implementation
[0040] The technical solutions in this application will now be described with reference to the accompanying drawings.
[0041] This application will present various aspects, embodiments, or features relating to a system comprising multiple devices, components, modules, etc. It should be understood and appreciated that individual systems may include additional devices, components, modules, etc., and / or may not include all the devices, components, modules, etc. discussed in conjunction with the accompanying drawings. Furthermore, combinations of these approaches are also possible.
[0042] Furthermore, in the embodiments of this application, the words "exemplary," "for example," etc., are used to indicate that they are examples, illustrations, or descriptions. Any embodiment or design scheme described as "exemplary" in the embodiments of this application should not be construed as being better or more advantageous than other embodiments or design schemes. Specifically, the use of the term "exemplary" is intended to present the concept in a concrete manner.
[0043] The business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of technology and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0044] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.
[0045] In this application embodiment, "at least one" refers to one or more, and "more than one" refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0046] To facilitate understanding of the technical solutions in the embodiments of this application, some terms involved in the embodiments of this application are introduced below.
[0047] 1. Cloud Management Platform
[0048] A cloud management platform is used to manage the infrastructure that provides cloud services. This infrastructure includes at least one computing node, each of which may be a container, virtual machine (VM), server, computing device, etc. Each computing node contains cloud service resources, thereby providing corresponding cloud services to tenants.
[0049] The cloud management platform can be located in a cloud data center and can provide access interfaces (such as user interfaces or application program interfaces, APIs). Tenants can remotely access these interfaces to register a cloud account and password on the cloud management platform and log in. After successful authentication of the cloud account and password, the tenant can further select and purchase compute nodes (such as containers, virtual machines, servers, computing devices, etc.) with specific specifications (e.g., processors, memory, disks) on the cloud management platform. After successful purchase, the cloud management platform provides a remote login account and password for the purchased compute node, allowing the tenant to remotely log in to the compute node and install and run their applications on it. Therefore, tenants can create, manage, log in to, and operate compute nodes in the cloud data center through the cloud management platform. These compute nodes can also be referred to as Elastic Compute Service (ECS) or Elastic Instances (different cloud service providers may use different names).
[0050] The cloud management platform's functions include, but are not limited to, a user console, compute management services, network management services, storage management services, authentication services, and image management services. The user console provides an interface or API for interaction with tenants. The compute management service manages servers running virtual machines and containers, as well as bare metal servers. The network management service manages network services (such as gateways and firewalls). The storage management service manages storage services (such as data bucket services). The authentication service manages tenant account passwords. The image management service manages virtual machine images.
[0051] 2. Tenant
[0052] Cloud service tenants can be individuals or groups, such as enterprises, schools, hospitals, and government agencies. When the tenant is a group, they use cloud resources across multiple clouds to run group operations or for internal management. When the tenant is an individual, they use cloud resources across multiple clouds to run personal operations or for internal management. The cloud resources used by the tenant in the multiple clouds can be either public or private clouds. Tenants can divide cloud resources provided by the same or different cloud vendors into multiple clouds based on their business operation needs or internal management needs, with the cloud resources in each cloud belonging to the same cloud vendor. The cloud resources used by the tenant in each cloud are managed by the corresponding cloud management platform for each cloud. That is, each cloud has its own cloud management platform, and the cloud management platforms for different clouds are different. Each cloud includes at least one resource pool, and each resource pool includes at least one of the following resources: computing resources, storage resources, communication resources, etc. The resources included in different clouds are different. The multiple clouds can communicate with each other.
[0053] 3. User
[0054] A user is a sub-concept of a tenant. When a tenant is a group, each cloud corresponds to at least one organization within that group; that is, the resources in each cloud are used by at least one organization corresponding to that cloud, and a user in each cloud is an individual or account within that at least one organization. When a tenant is an individual, each cloud corresponds to at least one business of that tenant; that is, the resources in each cloud are used by at least one business corresponding to that cloud, and a user in each cloud is an account within that at least one business.
[0055] 4. Object
[0056] The object type includes at least one of the following: organization, business, user, or data collection. When the tenant is a group, an object can be, for example, an organization within that group, a user within an organization of that group, or a data collection in the cloud corresponding to an organization of that group. When the tenant is an individual, an object can be, for example, a business of that tenant, a user within a business of that tenant, or a data collection in the cloud corresponding to a business of that tenant.
[0057] Figure 1 is a schematic structural diagram of cloud scenario 100 provided in an embodiment of this application. Cloud scenario 100 in Figure 1 includes a cloud data center 110. The cloud data center 110 includes at least one cloud, and each cloud includes at least one resource: computing resources, storage resources, and communication resources. For example, the cloud data center 110 includes a first cloud 120 and / or a second cloud 130. Tenants can apply to use the resources in the cloud data center 110 to run their businesses or perform internal management. The tenant is a tenant who has registered a public cloud account and purchased public cloud resources. The tenant may be an individual or a group. Tenants can also divide the resources applied for in the cloud data center 110 into multiple clouds, such as a first cloud 120 and a second cloud 130, according to their own business operation needs or internal management needs. The resources in each of these multiple clouds are different. Each of these multiple clouds has its own cloud management system, and the cloud management system of each cloud is used to manage the cloud resources in each cloud. For example, the first cloud 120 includes a first cloud management platform 121, which manages the cloud resources within the first cloud 120. The second cloud 130 includes a second cloud management platform 131, which manages the cloud resources within the second cloud 130. Different clouds can communicate with each other.
[0058] In some embodiments, cloud scenario 100 further includes a cloud data center 140. The cloud data center 140 includes at least one cloud, and each cloud includes at least one resource: computing resources, storage resources, and communication resources. For example, the cloud data center 140 includes a third cloud 150 and / or a fourth cloud 160. Tenants can apply to use the resources in the cloud data center 140 to run their businesses or perform internal management. Tenants can also divide the resources applied for in the cloud data center 140 into multiple clouds, such as a third cloud 150 and a fourth cloud 160, according to their own business operation needs or internal management needs. The resources in each of these multiple clouds are different. Each of these multiple clouds has its own cloud management system, which manages the cloud resources in each cloud. For example, the third cloud 150 includes a third cloud management platform 151, which manages the cloud resources in the third cloud 150. The fourth cloud 160 includes a fourth cloud management platform 161, which manages the cloud resources in the fourth cloud 160. Different clouds can communicate with each other.
[0059] In some embodiments, the cloud resources in cloud data center 110 and cloud resources in cloud data center 140 belong to the same cloud vendor or different cloud vendors.
[0060] In some embodiments, the same tenant may use cloud resources provided by one cloud vendor, such as cloud resources in the first cloud 120 and the second cloud 130. Alternatively, the same tenant may use cloud resources provided by different cloud vendors, such as cloud resources in the first cloud 120 and the third cloud 150.
[0061] In some embodiments, each cloud includes a compute node cluster and / or a storage node cluster. The compute node cluster includes at least one compute node. Multiple compute nodes in the compute node cluster are directly connected or connected via a network, such as a wide area network (WAN) or a local area network (LAN). The storage node cluster includes at least one storage node. This application embodiment does not limit the type of storage node; for example, the storage node can be a centralized storage node or a distributed storage node. The storage node is used to store tenant data, or to store data required and / or generated when performing the methods in this application embodiment. Exemplarily, multiple storage nodes in the storage node cluster are directly connected or connected via a network, such as a wide area network (WAN) or a local area network (LAN).
[0062] In some embodiments, a tenant manages resources and objects across multiple clouds through a first cloud, such as first cloud 120. That is, the tenant configures the first cloud to correspond to a central organization or central business that uses resources in the first cloud. The tenant's multiple clouds also include a second cloud, such as second cloud 130 or third cloud 150 in Figure 1. The tenant can configure the second cloud to correspond to a branch organization or branch business that uses resources in the second cloud. Tenants can manage resources or objects across multiple clouds using the following three management architectures:
[0063] (1) Centralized management architecture: First Cloud is responsible for the supervision, operation and maintenance of multiple clouds of the tenant.
[0064] (2) Federated Management Architecture: The first cloud is responsible for the supervision and operation of multiple clouds for this tenant, and the second cloud is responsible for the operation and maintenance of the second cloud. When the second cloud needs more resources, it sends a request to the first cloud to apply for more resources, and the first cloud allocates the corresponding resources to the second cloud.
[0065] (3) Distributed IT architecture: The first cloud is responsible for the supervision of multiple clouds of the tenant, and the second cloud is responsible for the operation and maintenance of the second cloud. When the second cloud needs more resources, the second cloud sends a request to the tenant's cloud with surplus resources to apply for more resources, and the cloud with surplus resources allocates the corresponding resources to the second cloud.
[0066] In some embodiments, the first cloud may be referred to as the central cloud and the second cloud may be referred to as the branch cloud.
[0067] In some embodiments, a cloud corresponds to at least one organization or at least one business, meaning that the at least one organization or at least one business can use cloud resources in the cloud.
[0068] Figure 2 is a schematic structural diagram of a system 200 for managing objects provided in an embodiment of this application. The system 200 in Figure 2 includes a first cloud management module 210, an object management module 220, and a second cloud management module 230. The system 200 in Figure 2 is used to execute the methods in the embodiments of this application, such as the methods in Figure 3 or Figure 4.
[0069] The first cloud management module 210 is used to manage and maintain the resources and objects in the first cloud of the first tenant. For example, the first cloud management module 210 is deployed on the first cloud management platform 121 in Figure 1, and the first cloud is the first cloud 120 in Figure 1.
[0070] In some embodiments, the first cloud management module 210 is also used to monitor resources and objects in multiple clouds belonging to the first tenant. For example, when the second cloud belongs to the first tenant, the first cloud management module 210 is also used to monitor resources and objects in the second cloud. This second cloud is, for example, the second cloud 130 or the third cloud 150 in Figure 1. That is, the first cloud can be regarded as the central cloud of the first tenant, and the second cloud can be regarded as a branch cloud of the first tenant. The cloud resources in the first cloud and the second cloud are different, and the cloud resources in the first cloud and the second cloud belong to the same cloud vendor or different cloud vendors.
[0071] In some embodiments, the first cloud management module 210 is configured to receive a first request from a first user. The first user belongs to a first tenant. For example, if the first tenant is a group, the first user is an individual or account within that group. If the first tenant is an individual, the first user is either the first tenant or an account configured for that tenant. The first request is used to request the execution of a first operation on a first object in the first cloud.
[0072] For example, the first cloud management module 210 is also configured to provide a first graphical interface to the first user, allowing the first user to select, input, or upload the first request information within the first graphical interface. The specific form of this first graphical interface is not limited in the embodiments of this application.
[0073] In some embodiments, after receiving the first request information, the first cloud management module 210 performs a first operation on the first object according to the first request information. For example, when the first object belongs to the first cloud 131, the first cloud management module 210 performs the first operation on the first object according to the first request information.
[0074] For example, the first object may be any of the following: an organization in at least one organization corresponding to the first cloud, a business in at least one business corresponding to the first cloud, a user or a data set in the organization or business corresponding to the first cloud, etc. The first operation may be any of the following: managing any one of the sub-organizations, sub-businesses or resources in an organization, managing the permissions of a user, managing data in a data set, etc.
[0075] In some embodiments, the first cloud management module 210 transmits first request information to the object management module 220. The object management module 220 performs a first operation on each object associated with the first object based on the first mapping relationship and the first request information. The object associated with the first object belongs to a different cloud than the first object. For example, a second object associated with the first object belongs to a second cloud.
[0076] For example, the first object and the second object are of the same type. That is, when the first object is an organization, the second object is an organization. When the first object is a business, the second object is a business. When the first object is a user, the second object is a user. When the first object is a data collection, the second object is a data collection.
[0077] The object management module 220 includes a configuration module 221, a mapping module 222, an API module 223, and an execution module 224. The configuration module 221 receives first configuration information from a first user. This first configuration information is used to configure at least two objects associated with the first tenant across multiple clouds.
[0078] In some embodiments, the configuration module 221 is further configured to provide a second graphical interface to the first user, allowing the first user to select, input, or upload the first configuration information in the second graphical interface. The specific form of the first graphical interface is not limited in the embodiments of this application.
[0079] In some embodiments, the object management module 220 further includes a collection module 225. The configuration module 221 is configured to receive second configuration information from a first user and transmit the second configuration information to the collection module 225. The second configuration information is used to configure at least two clouds associated with the first tenant. The collection module 225 is configured to obtain a first set from the at least two associated clouds or the cloud management modules corresponding to the at least two associated clouds, based on the second configuration information. The first set includes each object in the at least two associated clouds of the first tenant. For example, the collection module 225 obtains each object in the first cloud from the first cloud, or from the first cloud management module 210. The collection module 225 obtains each object in the second cloud from the second cloud, or from the second cloud management module 230. The collection module 225 is also configured to transmit the first set to the configuration module 221. The configuration module 221 is configured to provide the first set to the first user and receive the first configuration information from the first user.
[0080] For example, the second configuration information is also used to configure information about at least one API, each of which is used to perform operations on objects in at least one cloud of the first tenant. The API information includes the API's functionality, URL, and request body information. The API's functionality indicates the operations that the API can perform. The request body information indicates the parameter information input when calling the API. For example, the API information also includes response body information, which indicates the parameter information responded to when the API is called.
[0081] For example, the configuration module 221 is further configured to provide a third graphical interface to the first user, allowing the first user to select, input, or upload the second configuration information in the third graphical interface. The specific form of this second graphical interface is not limited in the embodiments of this application.
[0082] For example, the configuration module 221 is further configured to provide a fourth graphical interface to the first user, allowing the first user to view the first set in the fourth graphical interface. The specific form of this fourth graphical interface is not limited in the embodiments of this application.
[0083] For example, at least two of the second, third, or fourth graphical interfaces are the same graphical interface, for example, the URLs corresponding to at least two of the second, third, or fourth graphical interfaces are the same. Alternatively, at least two of the second, third, or fourth graphical interfaces are different graphical interfaces, for example, the URLs corresponding to at least two of the second, third, or fourth graphical interfaces are different.
[0084] Configuration module 221 is further configured to transmit first configuration information to mapping module 222, which determines a first mapping relationship based on the first configuration information. The first mapping relationship includes the association relationship between at least two objects associated with at least two clouds in which the first tenant is associated. Configuration module 221 is also configured to transmit second configuration information to API module 223, which stores information about at least one API configured in the second configuration information.
[0085] After the object management module 220 receives the first request information, the mapping module 222 queries the first mapping relationship based on the first request information to determine at least one object associated with the first object in multiple clouds of the first tenant, and transmits the information of the at least one object associated with the first object to the execution module 224. The at least one object associated with the first object includes the second object. The API module 223 determines the first API corresponding to the first object based on the first request information and transmits the information of the first API to the execution module 224. The execution module 224 sends a second request information to the cloud management module to which each object associated with the first object belongs by calling the first API. The second request information is used to request the execution of a first operation on the object associated with the first object. For example, the execution module 224 transmits a second request information to the second cloud management module 230 by calling the first API. The second request information is used to request the execution of a first operation on a second object in the second cloud.
[0086] For example, the execution module 224 calling the first API includes: the execution module 224 using the URL of the first API and using first input information as the request body of the first API. The first API is used to perform a first operation. The first input information may include, for example, identification information of the object to which the first operation needs to be performed (e.g., identification information of a second object). Alternatively, the first input information may include, for example, identification information of the object to which the first operation needs to be performed and first identification information, the first identification information being used to instruct the first API to perform the first operation.
[0087] The second cloud management module 230 is used to manage resources and objects in the second cloud of the first tenant. For example, the second cloud management module 230 is used to manage resources and objects in the second cloud 130 or the third cloud 150 in Figure 1. After receiving the second request information, the second cloud management module 230 performs a first operation on the second object in the second cloud.
[0088] Optionally, when the cloud resources used by the first tenant belong to the same cloud vendor, for example, when the first tenant's multiple clouds include the first cloud 120 and the second cloud 130, the first cloud management module 210 and the object management module 220 are deployed in the first cloud management platform 121, and the second cloud management module 230 is deployed in the second cloud management platform 131. When the cloud resources used by the first tenant belong to different cloud vendors, for example, when the first tenant's multiple clouds include the first cloud 120 and the third cloud 150, the first cloud management module 210 and the object management module 220 are deployed in the first cloud management platform 121, and the second cloud management module 230 is deployed in the third cloud management platform 151.
[0089] After receiving the first user's first configuration information, the system 200 in Figure 2 determines a first mapping relationship based on the first configuration information, thereby associating multiple objects in multiple clouds of the first tenant. This facilitates the synchronization of management capabilities across multiple clouds based on the first mapping relationship. Since the system 200 can perform the same operation on multiple associated objects according to the pre-configured first mapping relationship, the first user does not need to manually manage objects in multiple clouds, thus reducing management complexity. Furthermore, when changes occur in the first tenant's multiple clouds, the system 200 can update the first mapping relationship to manage objects in the changed clouds, thereby flexibly meeting the first tenant's management needs.
[0090] For example, changes in a tenant’s multiple clouds include: an increase or decrease in the number of clouds in a tenant’s multiple clouds, an increase or decrease in the amount of resources in one or more clouds in a tenant, a reallocation of resources in one or more clouds in a tenant, an increase or decrease in the number of objects in one or more clouds in a tenant, or a readjustment of objects in one or more clouds in a tenant.
[0091] Figure 3 is a schematic flowchart of a method for managing objects provided in an embodiment of this application. The method in Figure 3 can be executed by a first cloud management platform. This first cloud management platform is used to manage a first infrastructure providing cloud services. The first infrastructure includes a first cloud, which includes at least one of the following cloud resources: computing resources, storage resources, and communication resources. For example, the first cloud is the first cloud 120 in Figure 1, and the first cloud management platform is the first cloud management platform 121 in Figure 1. The method in Figure 3 includes the following steps.
[0092] 310, Receive the first request information from the first user.
[0093] The first cloud management platform receives a first request from a first user, which requests the execution of a first operation on a first object within the first cloud. This first user belongs to the first tenant. This first cloud belongs to the first tenant.
[0094] In some embodiments, the first tenant can be an individual or a group. The first tenant purchases and uses cloud resources in a cloud data center, such as the cloud resources in data center 110 in Figure 1. If the first tenant is a group, the first user is an individual or account within that group. If the first tenant is an individual, the first user is either the first tenant or an account configured for that tenant.
[0095] For example, the first user is, for instance, the administrator of the first tenant.
[0096] In some embodiments, a first tenant may apply to use cloud resources provided by the same cloud vendor or may apply to use cloud resources provided by different cloud vendors. The first tenant divides the requested cloud resources into multiple clouds based on its own business operation needs or internal management needs, with different cloud resources in each cloud. The cloud resources in each cloud belong to the same cloud vendor. Each cloud corresponds to its own cloud management platform; that is, different clouds have different cloud management platforms. Each cloud's cloud management platform is used to manage the cloud resources within that cloud. The first tenant's multiple clouds can communicate with each other.
[0097] In some embodiments, the type of the first object includes at least one of the following: organization, business, user, and data set. That is, the first object is, for example, any one of the following: an organization in the first cloud, a business in the first cloud, a user in the first cloud, or a data set in the first cloud.
[0098] In some embodiments, when the first object is an organization, the first operation includes managing any one of the sub-organizations, sub-services, or resources within the first object. That is, performing the first operation on the first object includes managing any one of the sub-organizations, sub-services, or resources within the first object, such as: creating a first sub-organization or a first sub-service within the first object, deleting a first sub-organization or a first sub-service within the first object, modifying information (e.g., name, attributes, etc.) of the first sub-organization or the first sub-service within the first object, or allocating resources (e.g., at least one of computing resources, storage resources, or communication resources) to the first sub-organization within the first object. The first sub-organization belongs to at least one sub-organization of the first object. The first sub-service belongs to at least one sub-service of the first object.
[0099] In some embodiments, when the first object is a user, the first operation includes managing the permissions of the first object. That is, performing the first operation on the first object includes managing the permissions of the first object, such as granting the first object a first permission (even if the first object already has the first permission), deleting the first object's first permission (even if the first object no longer has the first permission), changing the scope of the first object's first permission, etc. The first permission belongs to at least one permission of the first object.
[0100] In some embodiments, when the type of the first object is a data set, the first operation includes managing the data in the first object. That is, performing the first operation on the first object includes managing the data in the first object, such as expanding the data collection scope of the first object, narrowing the data collection scope of the first object, adding at least one piece of data to the first object, deleting at least one piece of data from the first object, modifying at least one piece of data in the first object, etc.
[0101] In some embodiments, the first cloud management platform provides a first graphical interface to a first user, allowing the first user to select, input, or upload the first request information within the first graphical interface. The specific form of this first graphical interface is not limited in the embodiments of this application.
[0102] 320. Based on the first mapping relationship and the first request information, send the second request information to the second cloud management platform.
[0103] The first cloud management platform sends a second request to the second cloud management platform based on the first mapping relationship and the first request information. This second request is used to request the execution of a first operation on a second object in the second cloud of the first tenant. The second cloud management platform manages a second infrastructure providing cloud services, which includes the second cloud. The second cloud includes at least one of the following resources: computing resources, storage resources, and communication resources. The cloud resources in the second cloud are different from those in the first cloud. The first mapping relationship indicates the association between the first object and the second object.
[0104] In some embodiments, the first cloud and the second cloud are different clouds configured for the first tenant. The first cloud and the second cloud can communicate with each other.
[0105] In some embodiments, the first cloud and the second cloud belong to the same cloud vendor, or the first cloud and the second cloud belong to different cloud vendors. For example, the first cloud is the first cloud 120 in Figure 1, and the second cloud is the second cloud 130 or the third cloud 150 in Figure 1.
[0106] In some embodiments, when the first tenant is a group, each cloud corresponds to at least one organization within the group, and a user in each cloud is an individual or account within that at least one organization. When the first tenant is an individual, each cloud corresponds to at least one business of the first tenant, and a user in each cloud is an account within that at least one business.
[0107] For example, the first cloud corresponds to the central organization or central business of the first tenant, and the first cloud may also be referred to as the central cloud. The second cloud corresponds to the branch organization or branch business of the first tenant, and the second cloud may also be referred to as the branch cloud.
[0108] In some embodiments, a first cloud management platform determines at least one object associated with a first object based on a first request information and a first mapping relationship. The at least one object associated with the first object includes a second object. The first cloud management platform performs a first operation on the first object in the first cloud. The first cloud management platform sends second request information to the second cloud management platform corresponding to the second object to request the execution of the first operation on the second object.
[0109] Optionally, before step 320, the first cloud management platform receives the first configuration information of the first user, and then determines the first mapping relationship based on the first configuration information. The first configuration information is used to configure at least two objects associated with the first tenant in multiple clouds.
[0110] In some embodiments, the first cloud management platform provides a second graphical interface to a first user, allowing the first user to select, input, or upload the first configuration information within the second graphical interface. The specific form of this second graphical interface is not limited in the embodiments of this application.
[0111] In some embodiments, a first cloud management platform receives second configuration information from a first user, which is used to configure at least two clouds associated with a first tenant among multiple clouds. Based on the second configuration information, the first cloud management platform obtains a first set and provides the first set to the first user. The first set includes each object in each of the at least two clouds associated with the first tenant. After providing the first set to the first user, the first cloud management platform receives the first configuration information from the first user.
[0112] For example, the second configuration information is also used to configure information about at least one API, each of which is used to perform operations on objects in at least one cloud of the first tenant. The API information includes the API's function, URL, and request body information. The API's function indicates the operations that the API can perform. The request body information indicates the parameter information input when calling the API, and this parameter information indicates the information that needs to be entered in the request body when calling the API.
[0113] For example, the information of the API also includes information about the response body, which indicates the parameter information of the response when the API is called, and the parameter information indicates the response information that can be obtained when the API is called.
[0114] For example, each of the at least one API has one or more functions, that is, each API is used to perform one or more operations on at least one object.
[0115] For example, the first cloud management platform provides a third graphical interface to the first user, allowing the first user to select, input, or upload the second configuration information within the third graphical interface. The specific form of this third graphical interface is not limited in the embodiments of this application.
[0116] For example, the first cloud management platform is also used to provide a fourth graphical interface for the first user, so that the first user can view the first set in the fourth graphical interface. The specific form of this fourth graphical interface is not limited in the embodiments of this application.
[0117] For example, at least two of the second, third, or fourth graphical interfaces are the same graphical interface, for example, the URLs corresponding to at least two of the second, third, or fourth graphical interfaces are the same. Alternatively, at least two of the second, third, or fourth graphical interfaces are different graphical interfaces, for example, the URLs corresponding to at least two of the second, third, or fourth graphical interfaces are different.
[0118] In some embodiments, after the first cloud management platform determines at least one object associated with the first object, it invokes a first API corresponding to the first object to send second request information to the cloud management platform corresponding to each object associated with the first object, requesting that a first operation be performed on each object associated with the first object. This first API is at least one API configured by the second configuration information.
[0119] For example, a first cloud management platform calling a first API includes: the first cloud management platform using the URL of the first API and inputting first input information in the request body of the first API to implement the function of the first API. For example, when the first API is used to perform an operation on at least one object, the first input information may include, for example, identification information of at least one object associated with the first object. Alternatively, when the first API is used to perform multiple operations on at least one object, the first input information may include, for example, identification information of at least one object associated with the first object and first identification information. The first identification information is used to instruct the first API to perform a first operation.
[0120] In the method shown in Figure 3, after receiving the first request information from the first user, the first cloud management platform sends second request information to the cloud management platform corresponding to each object associated with the first object through the first mapping relationship. This allows the first user to perform the same operation as the first object on each object associated with it, thereby achieving cross-cloud management synchronization, i.e., synchronizing management capabilities across multiple clouds. Since the first cloud management platform can synchronize management capabilities across multiple clouds based on the pre-configured first mapping relationship, the first user does not need to manually manage objects in multiple clouds, thus reducing management complexity. Furthermore, when changes occur in the first tenant's multiple clouds, the first cloud management platform can update the first mapping relationship to manage objects in the changed multiple clouds, thereby flexibly meeting the first tenant's management needs.
[0121] Figure 4 is a schematic flowchart of a method for managing objects provided in an embodiment of this application. The method in Figure 4 can be executed by a first cloud management platform and a second cloud management platform. The first cloud management platform is used to manage a first infrastructure providing cloud services. The first infrastructure includes a first cloud, which includes at least one of the following cloud resources: computing resources, storage resources, and communication resources. For example, the first cloud is the first cloud 120 in Figure 1, and the first cloud management platform is the first cloud management platform 121 in Figure 1. The second cloud management platform is used to manage a second infrastructure providing cloud services. The second infrastructure includes a second cloud, which includes at least one of the following cloud resources: computing resources, storage resources, and communication resources. For example, the second cloud is the second cloud 130 in Figure 1, and the second cloud management platform is the second cloud management platform 131 in Figure 1. Alternatively, the second cloud is the third cloud 150 in Figure 1, and the second cloud management platform is the third cloud management platform 151 in Figure 1. The method in Figure 4 includes the following steps.
[0122] 410, Receive the third request information from the first user.
[0123] The first cloud management platform receives a third request from the first user. This third request is used to request the configuration of at least one of the following management policies: a first management policy, a second management policy, and a third management policy. The first management policy is used to manage at least one organization or at least one business of the first tenant; that is, the object managed in the first management policy is an organization or a business. The second management policy is used to manage at least one user of the first tenant; that is, the object managed in the second management policy is a user. The third management policy is used to manage at least one data set of the first tenant; that is, the object managed in the third management policy is a data set. The first user and the first tenant are described in Figure 3.
[0124] In some embodiments, the first cloud management platform provides a fifth graphical interface to the first user, allowing the first user to select, input, or upload the third request information within the fifth graphical interface. The specific form of this fifth graphical interface is not limited in the embodiments of this application.
[0125] 420, Receive the second configuration information of the first user.
[0126] The first cloud management platform receives the second configuration information of the first user, which is used to configure at least two clouds associated with the first tenant among multiple clouds.
[0127] For example, the second configuration information for configuring the cloud includes: the second configuration information includes the cloud's identification information and / or the cloud's communication information. The cloud's communication information is used to communicate with the cloud. This communication information includes, for example, an Internet Protocol (IP) address and / or communication port information.
[0128] In some embodiments, the second configuration information is also used to configure information for at least one API. The information for each API includes: the API's function, URL, and request body information. Alternatively, the information for each API includes: the API's function, URL, request body information, and response body information. The at least one API and its information are described in Figure 3.
[0129] When the third request information is used to request configuration of the first management policy, the second configuration information is used to configure multiple clouds to which the first management policy applies. Specifically, the second configuration information is used to configure the clouds corresponding to at least two organizations or at least two services associated with the first tenant. The second configuration information is also used to configure information about at least one API corresponding to the multiple clouds to which the first management policy applies; that is, the second configuration information is also used to configure information about at least one API corresponding to at least two organizations or at least two services associated with the first tenant.
[0130] When the third request information is used to request configuration of the second management policy, the second configuration information is used to configure multiple clouds to which the second management policy applies; that is, the second configuration information is used to configure the clouds corresponding to at least two users associated with the first tenant. The second configuration information is also used to configure information about at least one API corresponding to the multiple clouds to which the second management policy applies; that is, the second configuration information is also used to configure information about at least one API corresponding to at least two users associated with the first tenant.
[0131] When the third request information is used to request the configuration of the third management policy, the second configuration information is used to configure the multiple clouds to which the third management policy applies. Specifically, the second configuration information is used to configure the clouds corresponding to at least two associated data sets of the first tenant. The second configuration information is also used to configure information about at least one API corresponding to the multiple clouds to which the third management policy applies; that is, the second configuration information is also used to configure information about at least one API corresponding to at least two associated data sets of the first tenant.
[0132] In some embodiments, the first cloud management platform provides a third graphical interface to the first user, allowing the first user to select, input, or upload the second configuration information within the third graphical interface. The specific form of this third graphical interface is not limited in the embodiments of this application.
[0133] 430. Based on the second configuration information, provide the first set for the first user.
[0134] After receiving the second configuration information, the first cloud management platform obtains each object in the at least two clouds configured in the second configuration information, that is, obtains the first set.
[0135] For example, when the third request information is used to request the configuration of the first management policy, the first cloud management platform obtains the identification information of each organization or each service in the at least two clouds. When the third request information is used to request the configuration of the second management policy, the first cloud management platform obtains the identification information of each user in the at least two clouds. When the third request information is used to request the configuration of the third management policy, the first cloud management platform obtains the identification information of each data set in the at least two clouds.
[0136] After obtaining the first set, the first cloud management platform provides the first set to the first user so that the first user can select the objects to be associated from the first set.
[0137] In some embodiments, the first cloud management platform provides a fourth graphical interface to the first user, allowing the first user to view the first set within the fourth graphical interface. The specific form of this fourth graphical interface is not limited in the embodiments of this application.
[0138] 440, Receive the first configuration information of the first user.
[0139] After providing the first set to the first user, the first cloud management platform receives the first user's first configuration information. This first configuration information is used to configure at least two objects associated with the first tenant across multiple clouds.
[0140] When the third request information is used to request the configuration of a first management policy, the first configuration information is used to configure the objects included in the first management policy, that is, the first configuration information is used to configure at least two organizations or at least two services associated with the first tenant. When the third request information is used to request the configuration of a second management policy, the first configuration information is used to configure the objects included in the second management policy, that is, the first configuration information is used to configure at least two users associated with the first tenant. When the third request information is used to request the configuration of a third management policy, the first configuration information is used to configure the objects included in the third management policy, that is, the first configuration information is used to configure at least two data sets associated with the first tenant.
[0141] For example, the first configuration information used to configure the object includes: the first configuration information includes the object's identification information. The object's identification information includes, for example, the object's name, number, etc. This application embodiment does not limit the specific representation of the identification information; for example, the identification information includes at least one character, which includes at least one of the following: letters, numbers, symbols, characters, etc.
[0142] In some embodiments, the first cloud management platform provides a second graphical interface to a first user, allowing the first user to select, input, or upload the first configuration information within the second graphical interface. The specific form of this second graphical interface is not limited in the embodiments of this application.
[0143] For example, at least two of the second, third, or fourth graphical interfaces may be the same graphical interface or different graphical interfaces.
[0144] After obtaining the first configuration information, the first cloud management platform determines the first mapping relationship based on the first configuration information. This first mapping relationship includes the association between at least two objects in multiple clouds of the first tenant.
[0145] When the third request information is used to request the configuration of the first management policy, the first mapping relationship includes the association between at least two organizations or at least two services of the first tenant. When the third request information is used to request the configuration of the second management policy, the first mapping relationship includes the association between at least two users of the first tenant. When the third request information is used to request the configuration of the third management policy, the first mapping relationship includes the association between at least two data sets of the first tenant.
[0146] 450, Receive the first request information from the first user. Step 450 is similar to step 310, and will not be described in detail here.
[0147] 460. Based on the first request information and the first mapping relationship, determine at least one object associated with the first object.
[0148] The first cloud management platform determines the type of the first object based on the first object in the first request information, thereby determining the first mapping relationship.
[0149] For example, when the first object is an organization or business, the first mapping relationship is used to indicate the association between at least two organizations or at least two businesses of the first tenant. When the first object is a user, the first mapping relationship is used to indicate the association between at least two users of the first tenant. When the first object is a data set, the first mapping relationship is used to indicate the association between at least two data sets of the first tenant.
[0150] The first cloud management platform determines at least one object associated with the first object based on the first mapping relationship. This at least one object associated with the first object includes a second object.
[0151] In some embodiments, the first cloud management platform performs a first operation on the first object based on the first request information.
[0152] 470, Send the second request information to the second cloud management platform.
[0153] After identifying at least one object associated with the first object, the first cloud management platform determines the cloud management platform corresponding to that object and sends a second request message to that cloud management platform. This second request message requests the execution of a first operation on the object associated with the first object. Each object's corresponding cloud management platform manages the cloud resources within the cloud to which that object belongs.
[0154] For example, the first cloud management platform sends a second request message to the cloud management platform corresponding to the second object. This second request message is used to request the execution of the first operation on the second object. See step 320 for a detailed implementation description.
[0155] For example, if the first request information is used to request the creation of a first sub-organization within a first organization in a first cloud, the first cloud management platform determines a first mapping relationship to which the first organization belongs, and determines, based on the first mapping relationship, a first organization in a second cloud associated with the first organization in the first cloud. The first cloud management platform creates the first sub-organization within the first organization in the first cloud and sends a second request information to the second cloud management platform, which requests the creation of the first sub-organization within the first organization in the second cloud.
[0156] For example, if the first request information is used to request the allocation of a first resource in a first organization in a first cloud, the first cloud management platform determines a first mapping relationship to which the first organization belongs, and determines a first organization in a second cloud associated with the first organization in the first cloud based on the first mapping relationship. The first cloud management platform allocates the first resource in the first organization in the first cloud and sends a second request information to the second cloud management platform, the second request information being used to request the allocation of the first resource in the first organization in the second cloud.
[0157] 480, in response to the second request information, perform the first operation on the second object.
[0158] After receiving the second request information, the second cloud management platform responds to the second request information by performing the first operation on the second object in the second cloud.
[0159] For example, when the second request information is used to request the creation of a first sub-organization within a first organization in the second cloud, the second cloud management platform creates the first sub-organization within the first organization in the second cloud. When the second request information is used to request the allocation of a first resource within the first organization in the second cloud, the second cloud management platform allocates the first resource within the first organization in the second cloud.
[0160] In the method shown in Figure 4, the first cloud management platform determines the relationships between multiple objects in multiple clouds of the first tenant based on the configuration of the first user. This facilitates the synchronization of management capabilities across multiple clouds based on these relationships, eliminating the need for the first user to manually manage objects in multiple clouds, thus reducing management complexity. Furthermore, when changes occur in the first tenant's multiple clouds, the first cloud management platform can update these relationships to manage objects in the changed clouds without requiring the first user to manually develop code to manage these objects, thereby flexibly meeting the first tenant's management needs.
[0161] Figure 5 is a schematic structural diagram of the cloud management platform provided in an embodiment of this application. The cloud management platform 500 in Figure 5 includes a receiving module 510 and a sending module 520. The cloud management platform 500 in Figure 5 can be used to execute the methods performed by the first cloud management platform or the second cloud management platform in the embodiments of this application. The cloud management platform 500 in Figure 5 is, for example, the first cloud management platform 121, the second cloud management platform 131, or the third cloud management platform 151 in Figure 1, or the first cloud management platform or the second cloud management platform in Figure 3 or Figure 4.
[0162] When the cloud management platform 500 executes the method performed by the first cloud management platform in Figure 3, the receiving module 510 receives the first request information from the first user and executes step 310 in Figure 3. The sending module 520 sends the second request information to the second cloud management platform according to the first mapping relationship and the first request information. The sending module 520 executes step 320 in Figure 3.
[0163] When the cloud management platform 500 executes the method performed by the first cloud management platform in Figure 4, the receiving module 510 is used to: receive the third request information of the first user; receive the second configuration information of the first user; provide the first set to the first user according to the second configuration information; receive the first configuration information of the first user; and receive the first request information of the first user. The receiving module 510 is used to execute steps 410-450 in Figure 4. The sending module 520 is used to send the second request information to the second cloud management platform. The sending module 520 is used to execute step 470 in Figure 4.
[0164] In some embodiments, when the cloud management platform 500 performs the method executed by the first cloud management platform in FIG4, the cloud management platform 500 further includes a processing module (not shown in the figure). The processing module is used to determine at least one object associated with the first object based on the first request information and the first mapping relationship, and the processing module 460 is used to perform step 460 in FIG4.
[0165] When the cloud management platform 500 executes the method performed by the second cloud management platform in Figure 4, the cloud management platform 500 further includes a processing module (not shown in the figure). The receiving module 510 is used to receive second request information. The processing module is used to perform a first operation on the second object in response to the second request information. The processing module is used to execute step 480 in Figure 4.
[0166] Both the receiving module 510 and the transmitting module 520 can be implemented in software or in hardware. For example, the implementation of the transmitting module 520 will be described below. Similarly, the implementation of the receiving module 510 can be referenced from the implementation of the transmitting module 520.
[0167] As an example of a software functional unit, the sending module 520 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. Further, the aforementioned computing instance may be one or more. For example, the sending module 520 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 including one or more geographically proximate data centers. Typically, a region may include multiple AZs.
[0168] Similarly, multiple hosts / virtual machines / containers used to run this code can be distributed within the same 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.
[0169] As an example of a hardware functional unit, the transmitting module 520 may include at least one computing device, such as a server. Alternatively, the transmitting module 520 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The 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.
[0170] The multiple computing devices included in the sending module 520 can be distributed in the same region or in different regions. Similarly, the multiple computing devices included in the sending module 520 can be distributed in the same Availability Zone (AZ) or in different AZs. Likewise, the multiple computing devices included in the sending module 520 can be distributed in 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.
[0171] Therefore, the modules of the various examples described in the embodiments of this application can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0172] It should be noted that the above embodiments of the device, when executing the above methods, are only illustrative examples of the division of functional modules. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. For example, the receiving module 510 can be used to execute any step in the above methods, and the sending module 520 can be used to execute any step in the above methods. The steps implemented by the receiving module 510 and the sending module 520 can be specified as needed, and all the functions of the above device can be realized by implementing different steps in the above methods through the receiving module 510 and the sending module 520 respectively.
[0173] Furthermore, the apparatus and method embodiments provided in the above embodiments belong to the same concept, and their specific implementation process can be found in the method embodiments above, which will not be repeated here.
[0174] The method provided in this application can be executed by a computing device, which can also be referred to as a computer system. It includes a hardware layer, an operating system layer running on top of the hardware layer, and an application layer running on the operating system layer. The hardware layer includes hardware such as processing units, memory, and memory control units; the functions and structure of this hardware will be described in detail later. The operating system can be any one or more computer operating systems that implement business processing through processes, such as Linux, Unix, Android, iOS, or Windows. The application layer includes applications such as browsers, address books, word processing software, and instant messaging software. Optionally, the computer system can be a handheld device such as a smartphone, or a terminal device such as a personal computer; this application does not particularly limit this, as long as the method provided in this application can be used. The executing entity of the method provided in this application can be a computing device, or a functional module within the computing device capable of calling and executing programs.
[0175] Figure 6 is a schematic structural block diagram of a computing device 600 provided in an embodiment of this application. The computing device 600 can be a server, a computer, or other device with computing capabilities. The computing device 600 shown in Figure 6 includes at least one processor 610 and a memory 620.
[0176] It should be understood that this application does not limit the number of processors and memories in the computing device 600.
[0177] The processor 610 executes instructions in the memory 620, causing the computing device 600 to implement the method provided in this application. Alternatively, the processor 610 executes instructions in the memory 620, causing the computing device 600 to implement the various functional modules provided in this application, thereby implementing the method provided in this application.
[0178] Optionally, the computing device 600 also includes a communication interface 630. The communication interface 630 uses a transceiver module, such as, but not limited to, a network interface card or a transceiver, to enable communication between the computing device 600 and other devices or communication networks.
[0179] Optionally, the computing device 600 also includes a system bus 640, wherein the processor 610, memory 620, and communication interface 630 are respectively connected to the system bus 640. The processor 610 can access the memory 620 through the system bus 640; for example, the processor 610 can perform data read / write or code execution in the memory 620 through the system bus 640. The system bus 640 is a peripheral component interconnect express (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The system bus 640 is divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is used in Figure 6, but this does not mean that there is only one bus or one type of bus.
[0180] In one possible implementation, the processor 610 primarily functions to interpret the instructions (or code) of a computer program and process data within the computer software. The instructions of the computer program and the data within the computer software can be stored in the memory 620 or the cache of the processor 610.
[0181] Optionally, the processor 610 may be an integrated circuit chip with signal processing capabilities. By way of example and not limitation, the processor 610 may be a general-purpose processor, a digital signal processor (DSP), an ASIC, an FPGA, or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. Among these, a general-purpose processor is a microprocessor, etc. For example, the processor 610 may be a central processing unit (CPU).
[0182] The memory 620 provides runtime space for processes in the computing device 600. For example, the memory 620 stores the computer program (specifically, the program code) used to generate the process. After the computer program is run by the processor to generate a process, the processor allocates corresponding storage space for the process in the memory 620. Furthermore, the aforementioned storage space further includes text segments, initialized data segments, bit initialized data segments, stack segments, heap segments, etc. The memory 620 stores data generated during the process's execution, such as intermediate data or process data, in the aforementioned process-specific storage space.
[0183] Optionally, the memory, also known as RAM, is used to temporarily store the data processed by the processor 610, as well as data exchanged with external storage devices such as hard disks. As long as the computer is running, the processor 610 will load the data required for processing into RAM for computation, and then transfer the result back out after the computation is complete.
[0184] By way of example and not limitation, memory 620 may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile storage medium may be, for example, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory is random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct rambus DRAM (DRDRAM). It should be noted that the memory 620 of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0185] The structure of the computing device 600 listed above is merely illustrative and is not limited thereto. The computing device 600 in this application includes various hardware components in existing computer systems. For example, the computing device 600 also includes other memories besides the memory 620, such as disk storage. Those skilled in the art should understand that the computing device 600 may also include other devices necessary for normal operation. Furthermore, depending on specific needs, those skilled in the art should understand that the computing device 600 may also include hardware devices for implementing other additional functions. In addition, those skilled in the art should understand that the computing device 600 may only include the devices necessary for implementing the embodiments of this application, and not necessarily all the devices shown in FIG. 6.
[0186] This application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device may be a server. In some embodiments, the computing device may also be a desktop computer, a laptop computer, or a smartphone, or other terminal device.
[0187] As shown in Figure 7, the computing device cluster includes at least one computing device 600. The memory 620 of one or more computing devices 600 in the computing device cluster may store the same instructions for performing the methods described above.
[0188] In some possible implementations, the memory 620 of one or more computing devices 600 in the computing device cluster may also each store a portion of the instructions for executing the above-described methods. In other words, a combination of one or more computing devices 600 can jointly execute the instructions of the above-described methods.
[0189] It should be noted that the memories 620 in different computing devices 600 within the computing device cluster can store different instructions, each used to execute a portion of the functions of the aforementioned apparatus. That is, the instructions stored in the memories 620 of different computing devices 600 can implement the functions of one or more modules within the aforementioned apparatus.
[0190] 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 8 illustrates one possible implementation. As shown in Figure 8, two computing devices 600A and 600B are connected via a network. Specifically, they are connected to the network through communication interfaces in each computing device.
[0191] It should be understood that the functions of computing device 600A shown in Figure 8 can also be performed by multiple computing devices 600. Similarly, the functions of computing device 600B can also be performed by multiple computing devices 600.
[0192] In this embodiment of the application, a computer program product containing instructions is also provided. The computer program product may be software or a program product containing instructions that can run on a computing device cluster or be stored on any available medium. When run by the computing device cluster, it causes the computing device cluster to perform the methods provided above, or causes the computing device cluster to perform the functions of the apparatus provided above.
[0193] This application embodiment 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., high-density digital video disc (DVD)), or a semiconductor medium (e.g., a solid-state drive). The computer-readable storage medium includes instructions that, when executed by a cluster of computing devices, cause the cluster of computing devices to perform the method provided above.
[0194] In this embodiment of the application, a system for managing objects is also provided, which includes the first cloud management platform and the second cloud management platform provided above.
[0195] In this embodiment of the application, a chip system is also provided. The chip system includes logic circuitry for coupling with an input / output interface to transmit data via the input / output interface, thereby executing the methods provided above.
[0196] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0197] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0198] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0199] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0200] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0201] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0202] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A method for managing objects, characterized in that, The method is applied to a first cloud management platform, which manages a first infrastructure providing cloud services. The first infrastructure includes a first cloud, which includes at least one of the following cloud resources: computing resources, storage resources, and communication resources. The method includes: Receive a first request information from a first user, the first request information being used to request the execution of a first operation on a first object in a first cloud, the first user belonging to a first tenant, and the first cloud belonging to the first tenant; Based on the first mapping relationship and the first request information, a second request information is sent to the second cloud management platform. The second request information is used to request the execution of the first operation on a second object in the second cloud of the first tenant. The second cloud management platform is used to manage a second infrastructure that provides cloud services. The second infrastructure includes the second cloud, which includes at least one of the following cloud resources: computing resources, storage resources, and communication resources. The cloud resources in the second cloud are different from those in the first cloud. The first mapping relationship is used to indicate the association between the first object and the second object.
2. The method according to claim 1, characterized in that, The first object and the second object are of the same type, and the type of the first object includes at least one of the following: organization, business, user, and data set.
3. The method according to claim 2, characterized in that, When the type of the first object is an organization or business, the first operation is used to manage any one of the sub-organizations, sub-businesses, or resources within the first object; or... When the type of the first object is a user, the first operation is used to manage the permissions of the first object; When the type of the first object is a data collection, the first operation is used to manage the data in the first object.
4. The method according to any one of claims 1 to 3, characterized in that, Before receiving the first request information from the first user, the method further includes: Receive first configuration information from the first user, the first configuration information being used to configure at least two objects associated with multiple clouds of the first tenant, the multiple clouds including the first cloud and the second cloud; The first mapping relationship is determined based on the first configuration information.
5. The method according to claim 4, characterized in that, Receiving the first configuration information of the first user includes: Receive the second configuration information of the first user, the second configuration information being used to configure at least two clouds associated with the first tenant among multiple clouds; Based on the second configuration information, a first set is provided to the first user, the first set including at least one object in each of the at least two associated clouds; The system receives the first configuration information from the first user, which is used to configure at least two objects associated in at least two clouds.
6. The method according to claim 5, characterized in that, The second configuration information is also used to configure information for at least one application programming interface (API), each of the at least one API being used to perform operations on at least one object in the first tenant's cloud.
7. The method according to claim 6, characterized in that, The information for each API in the at least one API includes: the API's function, the Uniform Resource Locator (URL), and the request body information, wherein the request body information is used to indicate the parameter information input when calling the API.
8. The method according to claim 6 or 7, characterized in that, The step of sending second request information to the second cloud management platform according to the first mapping relationship and the first request information includes: Based on the first request information and the first mapping relationship, at least one object associated with the first object is determined, and the at least one object associated with the first object includes the second object; The first API corresponding to the first object is invoked to send the second request information to the second cloud management platform, wherein the first API belongs to the at least one API.
9. A first cloud management platform, characterized in that, The first cloud management platform is used to manage a first infrastructure providing cloud services. The first infrastructure includes a first cloud, which includes at least one of the following resources: computing resources, storage resources, and communication resources. The first cloud management platform includes: The transceiver module is used to receive a first request information from a first user. The first request information is used to request the execution of a first operation on a first object in a first cloud. The first user belongs to a first tenant, and the first cloud belongs to the first tenant. The processing module is configured to send a second request message to a second cloud management platform based on a first mapping relationship and the first request message. The second request message is used to request the execution of the first operation on a second object in the second cloud of the first tenant. The second cloud management platform is used to manage a second infrastructure that provides cloud services. The second infrastructure includes the second cloud, which includes at least one of the following resources: computing resources, storage resources, and communication resources. The cloud resources in the second cloud are different from those in the first cloud. The first mapping relationship is used to indicate the association between the first object and the second object.
10. The first cloud management platform according to claim 9, characterized in that, The first object and the second object are of the same type, and the type of the first object includes at least one of the following: organization, business, user, and data set.
11. The first cloud management platform according to claim 10, characterized in that, When the type of the first object is an organization or business, the first operation is used to manage any one of the sub-organizations, sub-businesses, or resources within the first object; or... When the type of the first object is a user, the first operation is used to manage the permissions of the first object; When the type of the first object is a data collection, the first operation is used to manage the data in the first object.
12. The first cloud management platform according to any one of claims 9 to 11, characterized in that, The transceiver module is further configured to receive first configuration information of the first user, wherein the first configuration information is used to configure at least two objects associated with the first tenant in multiple clouds; The processing module is further configured to determine the first mapping relationship based on the first configuration information.
13. The first cloud management platform according to claim 12, characterized in that, The transceiver module is specifically used for: Receive the second configuration information of the first user, the second configuration information being used to configure at least two clouds associated with the first tenant among multiple clouds; Based on the second configuration information, a first set is provided to the first user, the first set including at least one object in each of the at least two associated clouds; The system receives the first configuration information from the first user, which is used to configure at least two objects associated in at least two clouds.
14. The first cloud management platform according to claim 13, characterized in that, The second configuration information is also used to configure information for at least one application programming interface (API), each of the at least one API being used to perform operations on at least one object in the first tenant's cloud.
15. The first cloud management platform according to claim 14, characterized in that, The information for each API in the at least one API includes: the API's function, the Uniform Resource Locator (URL), and the request body information, wherein the request body information is used to indicate the parameter information input when calling the API.
16. The first cloud management platform according to claim 14 or 15, characterized in that, The processing module is specifically used for: Based on the first request information and the first mapping relationship, at least one object associated with the first object is determined, and the at least one object associated with the first object includes the second object; The first API corresponding to the first object is invoked to send the second request information to the second cloud management platform, wherein the first API belongs to the at least one API.
17. 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 8.
18. 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 8.
19. A computer-readable storage medium, characterized in that, It 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 8.