A device allocation method, device and resource arrangement system
By setting up a mapping between tenants and network orchestration clusters in the gateway cluster, the problem of insufficient processing capacity of a single network orchestration cluster is solved, enabling efficient parallel processing of tenant business requests and improving the processing performance and flexibility of the resource orchestration system.
Patent Information
- Application Number
- CN202211687809.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-27
- Publication Date
- 2026-01-13
- Estimated Expiration
- 2042-12-27
AI Technical Summary
Single network orchestration clusters have limited processing capabilities and cannot process tenant services in parallel, resulting in low processing efficiency and serious resource waste, which cannot meet the needs of large-scale cloud network services.
By setting the mapping relationship between network orchestration clusters and tenants in the gateway cluster, business requests from the same tenant are sent to the same network orchestration cluster, reducing data correlation, simplifying gateway cluster logic, processing tenant business requests in parallel, and flexibly setting the number of network orchestration clusters.
It improves the processing efficiency and flexibility of the resource orchestration system, reduces resource waste in network orchestration clusters, and ensures processing performance and data correlation.
Smart Images

Figure CN118301151B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of Internet technology, and in particular to a device allocation method, apparatus and resource orchestration system. Background Technology
[0002] With the development of internet technology, the system architecture of internet technology (IT) has evolved from physical machine architecture to cloud computing architecture. In cloud computing architecture, network resources of cloud data centers are managed in a unified manner through network orchestration clusters.
[0003] In related technologies, a single network orchestration cluster is used to uniformly manage the network resources of a cloud data center. In a single network orchestration cluster architecture, a single network orchestration cluster handles the business requests of all tenants.
[0004] Because a single network orchestration cluster has limited processing capacity, and because tenant services are delivered on demand and processed in the correct order, tenant locks are used internally, making parallel processing of services impossible. Therefore, the processing efficiency of a single network orchestration cluster is relatively low. Summary of the Invention
[0005] This application provides a device allocation method, apparatus, and resource orchestration system to improve the processing efficiency of the resource orchestration system.
[0006] In a first aspect, embodiments of this application provide a first device allocation method, applied to a gateway cluster in a resource orchestration system; the method includes:
[0007] In response to a service request triggered by a target tenant, the network orchestration cluster corresponding to the target tenant is determined based on a preset correspondence; wherein, the preset correspondence includes the correspondence between network orchestration clusters and tenants, and the same tenant corresponds to the same network orchestration cluster in the preset correspondence;
[0008] The service request is sent to the corresponding network orchestration cluster, so that after receiving the service request, the corresponding network orchestration cluster allocates a target service device to the target tenant from multiple service service devices in the target resource cluster corresponding to the service request.
[0009] The above solution improves processing efficiency by processing service requests from different tenants in parallel through multiple network orchestration clusters. By establishing a mapping between network orchestration clusters and tenants in the gateway cluster, each tenant corresponds to a unique network orchestration cluster. Upon receiving a service request triggered by a target tenant, the gateway cluster determines the corresponding network orchestration cluster based on the pre-defined mapping. This means the gateway cluster only needs to maintain the mapping between network orchestration clusters and tenants, sending all service requests from the same tenant to the same network orchestration cluster. This reduces data dependencies between different network orchestration clusters, and the gateway cluster does not need to maintain orchestration data for all network orchestration clusters, simplifying its processing logic and improving the processing performance of the resource orchestration system. Furthermore, since the network orchestration clusters are not deployed according to Availability Zones (AZs), the number of network orchestration clusters can be flexibly set according to the actual application scenario, reducing resource waste and improving the flexibility of the resource orchestration system.
[0010] In some optional implementations, the network orchestration cluster corresponding to the target tenant is determined based on a preset correspondence, including:
[0011] Determine whether the target tenant is included in the tenants in the preset correspondence;
[0012] If so, the network orchestration cluster corresponding to the target tenant is determined from the preset correspondence; otherwise, based on the status parameters of each network orchestration cluster, the network orchestration cluster corresponding to the target tenant is selected from all network orchestration clusters, and the preset correspondence is updated based on the target tenant and the selected network orchestration cluster.
[0013] In the above scheme, after the gateway cluster receives a service request triggered by the target tenant, if the gateway cluster includes the target tenant, it means that the target tenant is not triggering the service request for the first time and a network orchestration cluster has already been assigned to the tenant. The network orchestration cluster corresponding to the target tenant can be accurately and efficiently determined from the preset correspondence. If the gateway cluster does not include the target tenant, it means that the target tenant is triggering the service request for the first time and a network orchestration cluster has not yet been assigned to the tenant. Based on the status parameters of each network orchestration cluster, the gateway cluster corresponding to the target tenant is selected from all network orchestration clusters. The preset correspondence is then updated based on the target tenant and the selected network orchestration cluster, so that all subsequent service requests triggered by the target tenant can be mapped to the network orchestration cluster.
[0014] In some optional implementations, the status parameters include a first quantity and / or a second quantity, where the first quantity is the number of tenants corresponding to each network orchestration cluster, and the second quantity is the number of service ports of each tenant corresponding to each network orchestration cluster; based on the status parameters of each network orchestration cluster, selecting the network orchestration cluster corresponding to the target tenant from all network orchestration clusters includes:
[0015] From all network orchestration clusters, select the network orchestration cluster with the smallest number of clusters as the network orchestration cluster corresponding to the target tenant; or
[0016] From all network orchestration clusters, select the network orchestration cluster with the second smallest number as the network orchestration cluster corresponding to the target tenant; or
[0017] For any network orchestration cluster, a weighted number of the first and second quantities of the network orchestration clusters is determined based on preset weights; from all network orchestration clusters, the network orchestration cluster with the smallest weighted number is selected as the network orchestration cluster corresponding to the target tenant.
[0018] In the above scheme, when allocating network orchestration clusters to target tenants, the gateway cluster can select a network orchestration cluster with fewer associated tenants (i.e., select the network orchestration cluster with the smallest first number as the network orchestration cluster corresponding to the target tenant); or, a network orchestration cluster with fewer associated tenant service ports (i.e., select the network orchestration cluster with the second smallest number as the network orchestration cluster corresponding to the target tenant); or, simultaneously select a network orchestration cluster with fewer associated tenants and fewer associated tenant service ports (select the network orchestration cluster with the smallest weighted number as the network orchestration cluster corresponding to the target tenant). This ensures that the network orchestration clusters in the resource orchestration system maintain a balanced state as much as possible, reduces resource waste in the network orchestration clusters, and guarantees the processing performance of the network orchestration clusters in different application scenarios.
[0019] In some alternative implementations, the method further includes:
[0020] If the number of available network orchestration clusters is less than the preset number, a message indicating the addition of a network orchestration cluster will be sent through a preset notification method; wherein, the available network orchestration clusters are those whose processing performance parameters are less than the preset parameters.
[0021] The above solution indicates that if the number of available network orchestration clusters in the resource orchestration system is less than the preset number, it means that there are too few available network orchestration clusters in the resource orchestration system, and it is necessary to add more network orchestration clusters to the resource orchestration system. The message indicating the addition of network orchestration clusters is notified through a preset notification method so that relevant personnel can be informed in a timely manner that there are too few available network orchestration clusters in the resource orchestration system.
[0022] In some optional implementations, after notifying the user of the message indicating the addition of a network orchestration cluster via a preset notification method, the method further includes:
[0023] In response to a network orchestration cluster addition command, the configuration information of the newly added network orchestration cluster in the network orchestration cluster addition command is determined.
[0024] The above solution, by notifying relevant personnel of the message indicating the addition of a network orchestration cluster through a preset notification method, enables them to promptly learn that there are too few available network orchestration clusters in the resource orchestration system. This triggers a network orchestration cluster addition command carrying the configuration information of the new network orchestration cluster. After receiving the network orchestration cluster addition command, the gateway device determines the configuration information of the new network orchestration cluster and horizontally expands the network orchestration clusters in the resource orchestration system to ensure the processing performance of the network orchestration cluster and provide better service to subsequent tenants.
[0025] Secondly, embodiments of this application provide a second device allocation method, applied to any network orchestration cluster in a resource orchestration system; the method includes:
[0026] The target resource cluster corresponding to the service request is determined; wherein, the service request is sent by the gateway cluster after determining the network orchestration cluster corresponding to the target tenant that triggered the service request based on a preset correspondence; the preset correspondence includes the correspondence between the network orchestration cluster and the tenant, and the same tenant corresponds to the same network orchestration cluster in the preset correspondence;
[0027] Based on the type of the service request, a target service device is allocated to the target tenant from among multiple service devices in the target resource cluster.
[0028] The above solution improves processing efficiency by processing service requests from different tenants in parallel through multiple network orchestration clusters. By establishing a mapping between network orchestration clusters and tenants in the gateway cluster, each tenant corresponds to a unique network orchestration cluster. Upon receiving a service request triggered by a target tenant, the gateway cluster determines the corresponding network orchestration cluster based on the pre-defined mapping. This means the gateway cluster only needs to maintain the mapping between network orchestration clusters and tenants, sending all service requests from the same tenant to the same network orchestration cluster. This reduces data dependencies between different network orchestration clusters, and the gateway cluster does not need to maintain orchestration data for all network orchestration clusters, simplifying its processing logic and improving the processing performance of the resource orchestration system. Furthermore, since the network orchestration clusters are not deployed according to Availability Zones (AZs), the number of network orchestration clusters can be flexibly set according to the actual application scenario, reducing resource waste and improving the flexibility of the resource orchestration system.
[0029] In some optional implementations, obtaining service requests sent by the gateway cluster in the resource orchestration system includes:
[0030] The network orchestration cluster receives service requests sent by the gateway cluster through its message queue (MQ) and retrieves the service requests from the MQ.
[0031] In the above scheme, each network orchestration cluster receives service requests through an independent message queue (MQ), further ensuring that service requests from the same tenant are all assigned to the same network orchestration cluster.
[0032] In some optional implementations, after allocating the target service equipment to the target tenant, the method further includes:
[0033] Information representing the target tenant and information representing the target service device are stored in the database of the network orchestration cluster.
[0034] In the above scheme, each network orchestration cluster stores data independently, further ensuring the data correlation of the same tenant.
[0035] In some optional implementations, based on the type of the service request, a target service device is allocated to the target tenant from multiple service service devices in the target resource cluster, including:
[0036] From the multiple service service devices of the target resource cluster, determine the candidate service device corresponding to the type of the service request;
[0037] Based on the load parameters of each candidate service device, the target service device is selected from all candidate service devices.
[0038] The above solution addresses the issue that each resource cluster typically contains multiple optional devices providing the same service; different types of business requests require different cloud network resources, which in turn correspond to different business service devices; by identifying candidate business service devices from the target resource cluster that match the type of the aforementioned business request, the target business service device that matches the type of the business request can be selected from among the candidate business service devices.
[0039] In some optional implementations, the target service device is selected from all candidate service devices based on the load parameters of each candidate service device, including:
[0040] The candidate service device with the lowest load parameters is determined as the target service device.
[0041] In the above scheme, when the network orchestration cluster allocates target service devices to target tenants, it selects the candidate service device with the smallest load parameter, thereby maintaining the state balance of service devices in the resource orchestration system and reducing resource waste of service devices.
[0042] In some alternative implementations, the method further includes:
[0043] If there are other tenants associated with the target tenant, the orchestration data of the target tenant is sent to the shared data unit; and the orchestration data of other tenants associated with the target tenant is obtained from the shared data unit; wherein the orchestration data includes tenant information, allocated service equipment information and shared information.
[0044] The above solution addresses the issue of shared resource allocation among multiple tenants. Since these tenants are interconnected, they may not necessarily be assigned to the same network orchestration cluster. By setting up a shared data unit, the network orchestration cluster sends the orchestration data of the associated tenants to the shared data unit and retrieves the orchestration data of other tenants associated with that tenant from the shared data unit. This ensures the interconnectivity of data for the same tenant as well as the interconnectivity of data for different but interconnected tenants.
[0045] Thirdly, embodiments of this application provide a resource orchestration system, including: a gateway cluster, multiple network orchestration clusters and multiple resource clusters, wherein multiple service devices are configured in any resource cluster;
[0046] The gateway cluster is used to respond to a service request triggered by a target tenant, determine the network orchestration cluster corresponding to the target tenant based on a preset correspondence, and send the service request to the corresponding network orchestration cluster; wherein, the preset correspondence includes the correspondence between network orchestration clusters and tenants, and the same tenant corresponds to the same network orchestration cluster in the preset correspondence;
[0047] The network orchestration cluster is used to determine the target resource cluster corresponding to the service request after obtaining the service request; and to allocate a target service device to the target tenant from multiple service service devices in the target resource cluster based on the type of the service request.
[0048] In some optional implementations, the gateway cluster is specifically used for:
[0049] Determine whether the target tenant is included in the tenants in the preset correspondence;
[0050] If so, the network orchestration cluster corresponding to the target tenant is determined from the preset correspondence; otherwise, based on the status parameters of each network orchestration cluster, the network orchestration cluster corresponding to the target tenant is selected from all network orchestration clusters, and the preset correspondence is updated based on the target tenant and the selected network orchestration cluster.
[0051] In some optional implementations, the status parameters include a first quantity and / or a second quantity, wherein the first quantity is the number of tenants corresponding to each network orchestration cluster, and the second quantity is the number of tenant service ports corresponding to each network orchestration cluster; the gateway cluster is specifically used for:
[0052] From all network orchestration clusters, select the network orchestration cluster with the smallest number of clusters as the network orchestration cluster corresponding to the target tenant; or
[0053] From all network orchestration clusters, select the network orchestration cluster with the second smallest number as the network orchestration cluster corresponding to the target tenant; or
[0054] For any network orchestration cluster, a weighted number of the first and second quantities of the network orchestration clusters is determined based on preset weights; from all network orchestration clusters, the network orchestration cluster with the smallest weighted number is selected as the network orchestration cluster corresponding to the target tenant.
[0055] In some optional implementations, the gateway cluster is further configured to:
[0056] If the number of available network orchestration clusters is less than the preset number, a message indicating the addition of a network orchestration cluster will be sent through a preset notification method; wherein, the available network orchestration clusters are those whose processing performance parameters are less than the preset parameters.
[0057] In some optional implementations, after notifying the network orchestration cluster via a preset notification method, the gateway cluster is further configured to:
[0058] In response to a network orchestration cluster addition command, the configuration information of the newly added network orchestration cluster in the network orchestration cluster addition command is determined.
[0059] In some optional implementations, the network orchestration cluster is specifically used for:
[0060] From the multiple service service devices of the target resource cluster, determine the candidate service device corresponding to the type of the service request;
[0061] Based on the load parameters of each candidate service device, the target service device is selected from all candidate service devices.
[0062] In some optional implementations, the network orchestration cluster is specifically used for:
[0063] The candidate service device with the lowest load parameters is determined as the target service device.
[0064] In some optional implementations, the network orchestration cluster is further used for:
[0065] If there are other tenants associated with the target tenant, the orchestration data of the target tenant is sent to the shared data unit; and the orchestration data of other tenants associated with the target tenant is obtained from the shared data unit; wherein the orchestration data includes tenant information, allocated service equipment information and shared information.
[0066] Fourthly, embodiments of this application provide a first device allocation apparatus applied to a gateway cluster in a resource orchestration system; the apparatus includes:
[0067] The network orchestration cluster determination module is used to determine the network orchestration cluster corresponding to the target tenant based on a preset correspondence in response to a service request triggered by the target tenant; wherein, the preset correspondence includes the correspondence between the network orchestration cluster and the tenant, and the same tenant corresponds to the same network orchestration cluster in the preset correspondence;
[0068] The request sending module is used to send the service request to the corresponding network orchestration cluster, so that after receiving the service request, the corresponding network orchestration cluster allocates a target service device to the target tenant from multiple service service devices of the target resource cluster corresponding to the service request.
[0069] In some optional implementations, the network orchestration cluster determination module is specifically used for:
[0070] Determine whether the target tenant is included in the tenants in the preset correspondence;
[0071] If so, the network orchestration cluster corresponding to the target tenant is determined from the preset correspondence; otherwise, based on the status parameters of each network orchestration cluster, the network orchestration cluster corresponding to the target tenant is selected from all network orchestration clusters, and the preset correspondence is updated based on the target tenant and the selected network orchestration cluster.
[0072] In some optional implementations, the status parameters include a first quantity and / or a second quantity, wherein the first quantity is the number of tenants corresponding to each network orchestration cluster, and the second quantity is the number of service ports of each tenant corresponding to each network orchestration cluster; the network orchestration cluster determination module is specifically used for:
[0073] From all network orchestration clusters, select the network orchestration cluster with the smallest number of clusters as the network orchestration cluster corresponding to the target tenant; or
[0074] From all network orchestration clusters, select the network orchestration cluster with the second smallest number as the network orchestration cluster corresponding to the target tenant; or
[0075] For any network orchestration cluster, a weighted number of the first and second quantities of the network orchestration clusters is determined based on preset weights; from all network orchestration clusters, the network orchestration cluster with the smallest weighted number is selected as the network orchestration cluster corresponding to the target tenant.
[0076] In some alternative implementations, the device further includes a capacity expansion processing module for:
[0077] If the number of available network orchestration clusters is less than the preset number, a message indicating the addition of a network orchestration cluster will be sent through a preset notification method; wherein, the available network orchestration clusters are those whose processing performance parameters are less than the preset parameters.
[0078] In some optional implementations, after the expansion processing module notifies the user of the message indicating the addition of a network orchestration cluster via a preset notification method, it is further configured to:
[0079] In response to a network orchestration cluster addition command, the configuration information of the newly added network orchestration cluster in the network orchestration cluster addition command is determined.
[0080] Fifthly, embodiments of this application provide a second device allocation apparatus, applied to any network orchestration cluster in a resource orchestration system; the apparatus includes:
[0081] The resource cluster acquisition module is used to determine the target resource cluster corresponding to the service request; wherein, the service request is sent by the gateway cluster after determining the network orchestration cluster corresponding to the target tenant that triggered the service request based on a preset correspondence; the preset correspondence includes the correspondence between the network orchestration cluster and the tenant, and the same tenant corresponds to the same network orchestration cluster in the preset correspondence;
[0082] The resource orchestration module is used to allocate target service devices to the target tenant from multiple service service devices in the target resource cluster based on the type of the service request.
[0083] In some optional implementations, the resource cluster acquisition module is specifically used for:
[0084] The network orchestration cluster receives service requests sent by the gateway cluster through its message queue (MQ) and retrieves the service requests from the MQ.
[0085] In some optional implementations, after allocating target service equipment to the target tenant, the resource orchestration module is further configured to:
[0086] Information representing the target tenant and information representing the target service device are stored in the database of the network orchestration cluster.
[0087] In some optional implementations, the resource orchestration module is specifically used for:
[0088] From the multiple service service devices of the target resource cluster, determine the candidate service device corresponding to the type of the service request;
[0089] Based on the load parameters of each candidate service device, the target service device is selected from all candidate service devices.
[0090] In some optional implementations, the resource orchestration module is specifically used for:
[0091] The candidate service device with the lowest load parameters is determined as the target service device.
[0092] In some alternative implementations, the device further includes a shared processing module for:
[0093] If there are other tenants associated with the target tenant, the orchestration data of the target tenant is sent to the shared data unit; and the orchestration data of other tenants associated with the target tenant is obtained from the shared data unit; wherein the orchestration data includes tenant information, allocated service equipment information and shared information.
[0094] In a sixth aspect, embodiments of this application provide a gateway cluster, including at least one processor and at least one memory, wherein the memory stores a computer program that, when executed by the processor, causes the processor to perform any of the device allocation methods described in the first aspect above.
[0095] In a seventh aspect, embodiments of this application provide a network orchestration cluster, including at least one processor and at least one memory, wherein the memory stores a computer program that, when executed by the processor, causes the processor to perform any of the device allocation methods described in the second aspect above.
[0096] Eighthly, embodiments of this application provide a computer-readable storage medium storing a computer program executable by a processor, which, when run on the processor, causes the processor to perform the device allocation method described in either the first or second aspect above. Attached Figure Description
[0097] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0098] Figure 1 A system architecture diagram of the first resource orchestration system provided in this application embodiment;
[0099] Figure 2 A system architecture diagram of the second resource orchestration system provided in this application embodiment;
[0100] Figure 3 A system architecture diagram of the third resource orchestration system provided in this application embodiment;
[0101] Figure 4 A system architecture diagram of the fourth resource orchestration system provided in this application embodiment;
[0102] Figure 5 An interactive flowchart of the first device allocation method provided in the embodiments of this application;
[0103] Figure 6 An interactive flowchart illustrating the second device allocation method provided in this application embodiment;
[0104] Figure 7 An interactive flowchart of the third device allocation method provided in the embodiments of this application;
[0105] Figure 8 A flowchart illustrating the first device allocation method provided in this application embodiment;
[0106] Figure 9 A flowchart illustrating the second device allocation method provided in this application embodiment;
[0107] Figure 10 This is a schematic diagram of the structure of the first type of equipment distribution device provided in the embodiments of this application;
[0108] Figure 11 This is a schematic diagram of the structure of the second type of equipment distribution device provided in the embodiments of this application;
[0109] Figure 12 This is a schematic diagram of the gateway cluster structure provided in an embodiment of this application. Detailed Implementation
[0110] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0111] The terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this application, unless otherwise stated, "a plurality of" means two or more.
[0112] In the description of this application, it should be noted that, unless otherwise expressly specified and limited, the term "connection" should be interpreted broadly. For example, it can refer to a direct connection, an indirect connection through an intermediate medium, or a connection within two devices. Those skilled in the art can understand the specific meaning of the above term in this application based on the specific circumstances.
[0113] In cloud computing architectures, network resources in cloud data centers are managed uniformly through network orchestration clusters (such as the Neutron component based on the OpenStack framework; OpenStack is a large-scale open-source cloud computing architecture, and Neutron is the component responsible for providing virtual network services). See also... Figure 1 As shown, in a single network orchestration cluster architecture, all tenant business requests are processed through a single network orchestration cluster.
[0114] Because the processing capacity of a network orchestration cluster is limited, message queue (MQ) blocking frequently occurs between plugins and agents within the cluster. Furthermore, to ensure on-demand delivery and processing sequence of tenant services, tenant locks are used internally, which prevents parallel processing and results in low efficiency.
[0115] A single network orchestration cluster cannot support large-scale cloud network service deployments and cannot be flexibly expanded. As the scale of cloud network services increases, a single network orchestration cluster can hardly meet the needs of cloud network services, leading to the emergence of network orchestration cluster cascading solutions.
[0116] See Figure 2 As shown, in some embodiments, domain network orchestration clusters are set up for each AZ, and all domain network orchestration clusters are managed through a central network orchestration cluster. That is, network orchestration clusters are orchestrated through network orchestration clusters, and multiple domain network orchestration clusters are cascaded together for unified management.
[0117] However, domain network orchestration clusters are deployed as resource clusters. Services from the same tenant may be assigned to different domain network orchestration clusters. Because data from the same tenant is interconnected (e.g., IP address allocation within a tenant is achieved through multiple service requests), the central network orchestration cluster not only needs to allocate domain network orchestration clusters but also needs to retain orchestration data from all domain network orchestration clusters, impacting the processing performance of the resource orchestration system. When the service volume is large, the processing performance of the central network orchestration cluster will severely degrade. Furthermore, since domain network orchestration clusters are deployed as resource clusters, even when the service volume of a resource cluster is very small, a complete network orchestration cluster still needs to be deployed, resulting in a waste of network orchestration cluster resources.
[0118] See Figure 3 As shown, there are also some embodiments that integrate network element orchestration, authentication, and accounting functions into the cloud management platform, mainly used to manage and orchestrate a large number of Network Function Virtualization (NFV) network elements. Network element management is performed through the Software Defined Network (SDN) controller in the gateway management layer, and network element forwarding is performed through the network element forwarding layer.
[0119] The above solutions rely on high-performance databases, message queue middleware, etc., and are not applicable to the OpenStack framework.
[0120] In view of this, embodiments of this application propose a device allocation method, apparatus and resource orchestration system to improve the processing performance and flexibility of the resource orchestration system.
[0121] See Figure 4 As shown, the resource orchestration system provided in this embodiment includes a gateway cluster, multiple network orchestration clusters, and multiple resource clusters. Each resource cluster is equipped with multiple service devices, and the same resource cluster belongs to the same Availability Zone (AZ).
[0122] The gateway cluster is used to respond to a service request triggered by a target tenant, determine the network orchestration cluster corresponding to the target tenant based on a preset correspondence, and send the service request to the corresponding network orchestration cluster; wherein, the preset correspondence includes the correspondence between network orchestration clusters and tenants, and the same tenant corresponds to the same network orchestration cluster in the preset correspondence;
[0123] The network orchestration cluster is used to determine the target resource cluster corresponding to the service request after obtaining the service request; and to allocate a target service device to the target tenant from multiple service service devices in the target resource cluster based on the type of the service request.
[0124] For example, the gateway cluster described above can adopt an open-source gateway architecture, such as Zuul2 (an application programming interface gateway) or Nginx (a high-performance hypertext transfer protocol and reverse proxy network server). In implementation, the gateway cluster contains a certain number of servers, and the number of member servers in the gateway cluster can be expanded according to the actual application scenario; that is, this embodiment supports horizontal scaling of servers in the gateway cluster.
[0125] In this embodiment, since the gateway cluster only needs to maintain the correspondence between the network orchestration cluster and the tenant (key-value data), and does not need to maintain the orchestration data of all network orchestration clusters, the processing logic of the gateway cluster is simplified. Therefore, the gateway cluster can use Redis (a lightweight cache) for data caching; or, CACHE (a high-speed cache memory) can be selected as the storage solution to achieve fast access.
[0126] This embodiment does not limit the specific number of network orchestration clusters in the resource orchestration system. Figure 4 Taking M network orchestration clusters as an example, in implementation, more or fewer network orchestration clusters can be set up, and the network orchestration clusters can also be horizontally expanded during use (i.e., the number of network orchestration clusters can be increased).
[0127] The above solution improves processing efficiency by processing service requests from different tenants in parallel through multiple network orchestration clusters. By establishing a mapping between network orchestration clusters and tenants in the gateway cluster, each tenant corresponds to a unique network orchestration cluster. Upon receiving a service request triggered by a target tenant, the gateway cluster determines the corresponding network orchestration cluster based on the pre-defined mapping. This means the gateway cluster only needs to maintain the mapping between network orchestration clusters and tenants, sending all service requests from the same tenant to the same network orchestration cluster. This reduces data dependencies between different network orchestration clusters, and the gateway cluster does not need to maintain orchestration data for all network orchestration clusters, simplifying its processing logic and improving the processing performance of the resource orchestration system. Furthermore, since the network orchestration clusters are not deployed according to Availability Zones (AZs), the number of network orchestration clusters can be flexibly set according to the actual application scenario, reducing resource waste and improving the flexibility of the resource orchestration system.
[0128] The technical solution of this application and how it solves the above-mentioned technical problems will be described in detail below with reference to the accompanying drawings and specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments.
[0129] Figure 5 An interactive flowchart of the first device allocation method provided in the embodiments of this application is shown below. Figure 5As shown, it includes the following steps:
[0130] Step S501: In response to the service request triggered by the target tenant, the gateway cluster determines the network orchestration cluster corresponding to the target tenant based on the preset correspondence.
[0131] The preset correspondence includes the correspondence between network orchestration clusters and tenants, and the same tenant corresponds to the same network orchestration cluster in the preset correspondence.
[0132] In this embodiment, instead of deploying network orchestration clusters according to resource clusters, a tenant is associated with a unique network orchestration cluster. After receiving a service request triggered by the target tenant, the gateway cluster determines the network orchestration cluster corresponding to the target tenant based on a preset correspondence. That is, the gateway cluster only needs to maintain the correspondence between network orchestration clusters and tenants, and sends all service requests of the same tenant to the same network orchestration cluster, reducing the data correlation between different network orchestration clusters. The gateway cluster does not need to maintain orchestration data for all network orchestration clusters, simplifying the processing logic of the gateway cluster and improving the processing performance of the resource orchestration system.
[0133] In practice, all business requests from the same tenant need to be sent to the same network orchestration cluster. Therefore, the default correspondence is that the same tenant corresponds to the same network orchestration cluster, that is, the relationship between the tenant and the network orchestration cluster is one-to-one or many-to-one.
[0134] Step S502: The gateway cluster sends the service request to the corresponding network orchestration cluster.
[0135] In this embodiment, the gateway cluster only needs to maintain the correspondence between the network orchestration cluster and the tenant. The actual resource orchestration needs to be implemented through the network orchestration cluster. Based on this, the gateway cluster needs to send the service request to the corresponding network orchestration cluster.
[0136] Step S503: The network orchestration cluster determines the target resource cluster corresponding to the service request.
[0137] Determining the target resource cluster corresponding to the service request includes:
[0138] If the service request carries the identification information of the target resource cluster, then the target resource cluster is identified based on the identification information of the target resource cluster.
[0139] Otherwise, the resource cluster where the tenant's virtual machine resides is determined as the target resource cluster.
[0140] For example, a tenant can directly specify the target resource cluster, such as by placing the identification information of the target resource cluster in the business request. In this case, the target resource cluster can be determined directly based on the identification information of the target resource cluster. Alternatively, if the tenant does not specify the target resource cluster, the resource cluster where the virtual machine (i.e., the tenant's business host) allocated by the cloud computing platform is located can be determined as the target resource cluster.
[0141] Step S504: Based on the type of the service request, the network orchestration cluster allocates a target service device to the target tenant from multiple service service devices in the target resource cluster.
[0142] In this embodiment, different types of business requests require different cloud network resources, which in turn correspond to different network business service entities (i.e., the aforementioned business service devices, which serve as computing nodes in the cloud data center).
[0143] For example, cloud network resources include routers, computer networks, subnets, ports, security groups, security group policies, Quality of Service (QoS), firewall policies, Network Address Translation (NAT), Virtual Private Networks (VPNs), etc.
[0144] Based on this, the network orchestration cluster needs to allocate target service devices of the same type to the target tenant from multiple service service devices in the target resource cluster, according to the type of the aforementioned service request.
[0145] The above solution improves processing efficiency by processing service requests from different tenants in parallel through multiple network orchestration clusters. By establishing a mapping between network orchestration clusters and tenants in the gateway cluster, each tenant corresponds to a unique network orchestration cluster. Upon receiving a service request triggered by a target tenant, the gateway cluster determines the corresponding network orchestration cluster based on the pre-defined mapping. This means the gateway cluster only needs to maintain the mapping between network orchestration clusters and tenants, sending all service requests from the same tenant to the same network orchestration cluster. This reduces data dependencies between different network orchestration clusters, and the gateway cluster does not need to maintain orchestration data for all network orchestration clusters, simplifying its processing logic and improving the processing performance of the resource orchestration system. Furthermore, since the network orchestration clusters are not deployed according to Availability Zones (AZs), the number of network orchestration clusters can be flexibly set according to the actual application scenario, reducing resource waste and improving the flexibility of the resource orchestration system.
[0146] In practice, the network orchestration clusters use a Virtual Private Cloud (VPC) for network isolation, and each network orchestration cluster uses an independent database (such as MySQL) and message queue (such as RabbitMQ) cluster.
[0147] In some optional implementations, the network orchestration cluster receives service requests sent by the gateway cluster through its own message queue (MQ) and retrieves the service requests sequentially from the MQ.
[0148] In some alternative implementations, after step S504 above, the network orchestration cluster further performs:
[0149] The information representing the target tenant and the information representing the target service equipment are stored in the database of the network orchestration cluster.
[0150] In other words, the network orchestration cluster manages data independently, ensuring the data consistency of the same tenant.
[0151] Figure 6 The interactive flowchart of the second device allocation method provided in the embodiments of this application is as follows: Figure 6 As shown, it includes the following steps:
[0152] Step S601: In response to the service request triggered by the target tenant, the gateway cluster determines whether the target tenant is included in the tenants in the preset correspondence.
[0153] For example, the preset mapping relationship in the gateway device is established based on historical service requests. After the gateway device receives the first service request triggered by the tenant, it allocates a network orchestration cluster to the tenant and establishes a mapping relationship between the tenant and the network orchestration cluster. All subsequent service requests of the tenant are sent to the network orchestration cluster.
[0154] Based on this, after receiving a service request triggered by a target tenant, the gateway cluster needs to determine whether the target tenant is included in the preset correspondence. If the target tenant is included, it means that the target tenant is not triggering a service request for the first time and a network orchestration cluster has been allocated to the tenant. The network orchestration cluster corresponding to the target tenant needs to be determined from the preset correspondence.
[0155] If the target tenant is not included, it means that the target tenant is triggering a business request for the first time and a network orchestration cluster has not yet been assigned to the tenant. Based on the status parameters of each network orchestration cluster, it is necessary to select the network orchestration cluster corresponding to the target tenant from all network orchestration clusters, and update the above-mentioned preset correspondence based on the target tenant and the selected network orchestration cluster, so that all subsequent business requests triggered by the target tenant can be mapped to the network orchestration cluster.
[0156] Step S602: If yes, then determine the network orchestration cluster corresponding to the target tenant from the preset correspondence; otherwise, based on the status parameters of each network orchestration cluster, select the network orchestration cluster corresponding to the target tenant from all network orchestration clusters, and update the preset correspondence based on the target tenant and the selected network orchestration cluster.
[0157] For example, the preset correspondence can be seen in Table 1 below:
[0158] Table 1
[0159]
[0160]
[0161] If the target tenant is tenant 3, the tenants in the above-mentioned preset correspondence include tenant 3. Based on the above-mentioned preset correspondence, the network orchestration cluster 1 corresponding to the target tenant can be determined.
[0162] Taking Table 1 above as an example, if the target tenant is tenant 12, and tenant 12 is not included in the tenants in the above preset correspondence, it is necessary to select the network orchestration cluster corresponding to tenant 12 from these 5 network orchestration clusters according to the status parameters of the above 5 network orchestration clusters. For example, select network orchestration cluster 5 as the network orchestration cluster corresponding to tenant 12.
[0163] The above-mentioned preset correspondence also needs to be updated based on tenant 12 and network orchestration cluster 5. The updated preset correspondence can be found in Table 2.
[0164] Table 2
[0165] Network Orchestration Cluster 1 Tenant 1, Tenant 2, Tenant 3 Network Orchestration Cluster 2 Tenant 4, Tenant 5 Network Orchestration Cluster 3 Tenant 6, Tenant 7 Network Orchestration Cluster 4 Tenant 8, Tenant 9, Tenant 10 Network Orchestration Cluster 5 Tenant 11, Tenant 12
[0166] The original and updated preset correspondences described above are merely illustrative examples and are not intended to limit this application.
[0167] Step S603: The gateway cluster sends the service request to the corresponding network orchestration cluster.
[0168] Step S604: The network orchestration cluster determines the target resource cluster corresponding to the service request.
[0169] Step S605: Based on the type of the service request, the network orchestration cluster allocates a target service device to the target tenant from multiple service service devices in the target resource cluster.
[0170] The specific implementation of steps S603 to S605 can be referred to the above embodiments, and will not be repeated here.
[0171] In the above scheme, after the gateway cluster receives a service request triggered by the target tenant, if the gateway cluster includes the target tenant, it means that the target tenant is not triggering the service request for the first time and a network orchestration cluster has already been assigned to the tenant. The network orchestration cluster corresponding to the target tenant can be accurately and efficiently determined from the preset correspondence. If the gateway cluster does not include the target tenant, it means that the target tenant is triggering the service request for the first time and a network orchestration cluster has not yet been assigned to the tenant. Based on the status parameters of each network orchestration cluster, the gateway cluster corresponding to the target tenant is selected from all network orchestration clusters. The preset correspondence is then updated based on the target tenant and the selected network orchestration cluster, so that all subsequent service requests triggered by the target tenant can be mapped to the network orchestration cluster.
[0172] In some optional implementations, the status parameters include a first quantity and / or a second quantity, wherein the first quantity is the number of tenants corresponding to each network orchestration cluster, and the second quantity is the number of tenant service ports corresponding to each network orchestration cluster.
[0173] Correspondingly, step S603 above can be implemented in, but is not limited to, the following ways:
[0174] From all network orchestration clusters, select the network orchestration cluster with the smallest number of clusters as the network orchestration cluster corresponding to the target tenant; or
[0175] From all network orchestration clusters, select the network orchestration cluster with the second smallest number as the network orchestration cluster corresponding to the target tenant; or
[0176] For any network orchestration cluster, a weighted number of the first and second quantities of the network orchestration clusters is determined based on preset weights; from all network orchestration clusters, the network orchestration cluster with the smallest weighted number is selected as the network orchestration cluster corresponding to the target tenant.
[0177] For example, it is necessary to keep the network orchestration cluster in the resource orchestration system as balanced as possible, reduce resource waste in the network orchestration cluster, and ensure the processing performance of the network orchestration cluster.
[0178] Based on this, when allocating a network orchestration cluster to a target tenant, the gateway cluster needs to select a network orchestration cluster with fewer associated tenants (i.e., select the network orchestration cluster with the smallest first number as the network orchestration cluster corresponding to the target tenant); or, a network orchestration cluster with fewer associated tenant service ports (virtual machines) (i.e., select the network orchestration cluster with the second smallest number as the network orchestration cluster corresponding to the target tenant); or, simultaneously select a network orchestration cluster with fewer associated tenants and fewer associated tenant service ports (select the network orchestration cluster with the smallest weighted number as the network orchestration cluster corresponding to the target tenant).
[0179] The above methods are just illustrative examples. In practice, it is sufficient to balance the working status of all network orchestration clusters.
[0180] Figure 7 The interaction flowchart of the third device allocation method provided in the embodiments of this application is as follows: Figure 7 As shown, it includes the following steps:
[0181] Step S701: In response to the service request triggered by the target tenant, the gateway cluster determines the network orchestration cluster corresponding to the target tenant based on the preset correspondence.
[0182] Step S702: The gateway cluster sends the service request to the corresponding network orchestration cluster.
[0183] Step S703: The network orchestration cluster determines the target resource cluster corresponding to the service request.
[0184] The specific implementation of steps S701 to S703 can be found in the above embodiments, and will not be repeated here.
[0185] Step S704: The network orchestration cluster determines the candidate service service device corresponding to the type of the service request from multiple service service devices of the target resource cluster.
[0186] In this embodiment, a resource cluster typically contains multiple optional devices that provide the same service; different types of business requests require different cloud network resources, which in turn correspond to different business service devices.
[0187] Based on this, this embodiment needs to first determine the candidate service devices that match the type of the above-mentioned service request from the target resource cluster, and then select the target service device from the candidate service devices.
[0188] Step S705: The network orchestration cluster selects the target service device from all candidate service devices based on the load parameters of each candidate service device.
[0189] For example, a resource cluster typically contains multiple optional devices that provide the same service, but these optional devices have different load conditions. In order to improve the efficiency of subsequent business processing, it is necessary to select the target business service device with a smaller load from all candidate business service devices based on the load parameters of each candidate business service device.
[0190] In some alternative implementations, this step can be achieved, but is not limited to, in the following ways:
[0191] The candidate service device with the lowest load parameters is determined as the target service device.
[0192] In some optional implementations, in addition to any of the above embodiments, the gateway cluster further performs the following steps:
[0193] If the number of available network orchestration clusters is less than the preset number, a message indicating the addition of a network orchestration cluster will be sent through a preset notification method; wherein, the available network orchestration clusters are those whose processing performance parameters are less than the preset parameters.
[0194] As mentioned above, network orchestration clusters can be horizontally scaled during use (i.e., the number of network orchestration clusters can be increased). Based on this, if the number of network orchestration clusters available in the resource orchestration system is less than the preset number, it indicates that there are too few network orchestration clusters available in the resource orchestration system. It is necessary to add network orchestration clusters to the resource orchestration system to ensure the processing performance of the network orchestration clusters and provide better services for subsequent tenants.
[0195] Therefore, it is necessary to notify relevant personnel of the message indicating the addition of network orchestration clusters through a preset notification method, so that they can be informed in a timely manner that there are too few available network orchestration clusters in the resource orchestration system.
[0196] For example, the available network orchestration clusters mentioned above are network orchestration clusters whose processing performance parameters are less than preset parameters. In other words, if the processing performance parameters of a network orchestration cluster are less than preset parameters, no new tenants will be associated with that network orchestration cluster.
[0197] The above-mentioned processing performance parameters are indicators that can characterize the remaining processing capacity of the network orchestration cluster. They can be obtained by combining information such as the remaining memory, read speed, and CPU performance of the network orchestration cluster.
[0198] In some optional implementations, after notifying the gateway cluster of the message indicating the addition of a network orchestration cluster via a preset notification method, the gateway cluster also performs the following steps:
[0199] In response to a network orchestration cluster addition command, the configuration information of the newly added network orchestration cluster in the network orchestration cluster addition command is determined.
[0200] For example, by notifying relevant personnel of the addition of a network orchestration cluster through a preset notification method, the relevant personnel can promptly learn that there are too few available network orchestration clusters in the resource orchestration system. This triggers a network orchestration cluster addition command carrying the configuration information of the new network orchestration cluster. After receiving the network orchestration cluster addition command, the gateway device determines the configuration information of the new network orchestration cluster and horizontally expands the network orchestration clusters in the resource orchestration system.
[0201] In some alternative implementations, based on any of the above embodiments, the network orchestration cluster further performs the following steps:
[0202] If there are other tenants associated with the target tenant, the orchestration data of the target tenant is sent to the shared data unit; and the orchestration data of other tenants associated with the target tenant is obtained from the shared data unit; wherein the orchestration data includes tenant information, allocated service equipment information, and sharing information (resources to be shared).
[0203] In implementation, there may be the allocation of shared resources among multiple tenants, such as floating IP addresses (FIPs) and virtual LAN accounts (VLAN IDs). These accounts are related to each other, but they are not necessarily assigned to the same network orchestration cluster.
[0204] Based on this, this embodiment sets up a shared data unit. The network orchestration cluster sends the orchestration data of associated tenants to the shared data unit and obtains the orchestration data of other tenants associated with that tenant from the shared data unit. This ensures the correlation of data for the same tenant as well as the correlation of data for different but related tenants.
[0205] This embodiment does not limit the specific implementation of the shared data unit, such as setting it in any network orchestration cluster of the above-mentioned resource orchestration system, or setting it independently in the above-mentioned resource orchestration system.
[0206] In implementation, in addition to users with tenant identities, users with administrator identities may also appear. Correspondingly, based on any of the above embodiments, the gateway cluster also performs the following steps:
[0207] In response to a read request triggered by an administrator, the first network orchestration cluster corresponding to the read request is determined; after obtaining the first read data from the first network orchestration cluster, the first read data is concatenated to obtain the first concatenated data;
[0208] In response to a write request triggered by an administrator, the second network orchestration cluster corresponding to the write request is determined; the data carried by the write request is written into the second network orchestration cluster.
[0209] For example, the administrator has read and write permissions for all network orchestration clusters. Therefore, when the administrator needs to read some or all of the data in the network orchestration clusters, he can trigger a read request. When the gateway cluster receives the read request, it obtains the first read data from the corresponding first network orchestration cluster and concatenates it.
[0210] When an administrator needs to write data to some or all of the network orchestration clusters, a write request can be triggered. When the gateway cluster receives the write request, it writes the data carried by the write request into the corresponding second network orchestration cluster.
[0211] In some alternative implementations, to ensure the security of the resource orchestration system, the gateway cluster needs to authenticate tenants. This step can be performed through the KeyStone of the gateway cluster (the unit in the OpenStack framework responsible for authentication, service rules, and service tokens).
[0212] The device allocation method performed by the gateway cluster in the resource orchestration system in this application embodiment is as follows: Figure 8 As shown, it includes the following steps:
[0213] Step S801: In response to a service request triggered by a target tenant, determine the network orchestration cluster corresponding to the target tenant based on a preset correspondence; wherein, the preset correspondence includes the correspondence between network orchestration clusters and tenants, and the same tenant corresponds to the same network orchestration cluster in the preset correspondence;
[0214] Step S802: Send the service request to the corresponding network orchestration cluster, so that after receiving the service request, the corresponding network orchestration cluster allocates a target service device to the target tenant from multiple service service devices of the target resource cluster corresponding to the service request.
[0215] In some optional implementations, the network orchestration cluster corresponding to the target tenant is determined based on a preset correspondence, including:
[0216] Determine whether the target tenant is included in the tenants in the preset correspondence;
[0217] If so, the network orchestration cluster corresponding to the target tenant is determined from the preset correspondence; otherwise, based on the status parameters of each network orchestration cluster, the network orchestration cluster corresponding to the target tenant is selected from all network orchestration clusters, and the preset correspondence is updated based on the target tenant and the selected network orchestration cluster.
[0218] In some optional implementations, the status parameters include a first quantity and / or a second quantity, where the first quantity is the number of tenants corresponding to each network orchestration cluster, and the second quantity is the number of service ports of each tenant corresponding to each network orchestration cluster; based on the status parameters of each network orchestration cluster, selecting the network orchestration cluster corresponding to the target tenant from all network orchestration clusters includes:
[0219] From all network orchestration clusters, select the network orchestration cluster with the smallest number of clusters as the network orchestration cluster corresponding to the target tenant; or
[0220] From all network orchestration clusters, select the network orchestration cluster with the second smallest number as the network orchestration cluster corresponding to the target tenant; or
[0221] For any network orchestration cluster, a weighted number of the first and second quantities of the network orchestration clusters is determined based on preset weights; from all network orchestration clusters, the network orchestration cluster with the smallest weighted number is selected as the network orchestration cluster corresponding to the target tenant.
[0222] In some alternative implementations, the method further includes:
[0223] If the number of available network orchestration clusters is less than the preset number, a message indicating the addition of a network orchestration cluster will be sent through a preset notification method; wherein, the available network orchestration clusters are those whose processing performance parameters are less than the preset parameters.
[0224] In some optional implementations, after notifying the user of the message indicating the addition of a network orchestration cluster via a preset notification method, the method further includes:
[0225] In response to a network orchestration cluster addition command, the configuration information of the newly added network orchestration cluster in the network orchestration cluster addition command is determined.
[0226] In the embodiments of this application, the device allocation method executed by any network orchestration cluster in the resource orchestration system is as follows: Figure 9 As shown, it includes the following steps:
[0227] Step S901: Determine the target resource cluster corresponding to the service request; wherein, the service request is sent by the gateway cluster after determining the network orchestration cluster corresponding to the target tenant that triggered the service request based on a preset correspondence; the preset correspondence includes the correspondence between the network orchestration cluster and the tenant, and the same tenant corresponds to the same network orchestration cluster in the preset correspondence;
[0228] Step S902: Based on the type of the service request, allocate a target service device to the target tenant from multiple service service devices in the target resource cluster.
[0229] In some optional implementations, obtaining service requests sent by the gateway cluster in the resource orchestration system includes:
[0230] The network orchestration cluster receives service requests sent by the gateway cluster through its message queue (MQ) and retrieves the service requests from the MQ.
[0231] In some optional implementations, after allocating the target service equipment to the target tenant, the method further includes:
[0232] Information representing the target tenant and information representing the target service device are stored in the database of the network orchestration cluster.
[0233] In some optional implementations, based on the type of the service request, a target service device is allocated to the target tenant from multiple service service devices in the target resource cluster, including:
[0234] From the multiple service service devices of the target resource cluster, determine the candidate service device corresponding to the type of the service request;
[0235] Based on the load parameters of each candidate service device, the target service device is selected from all candidate service devices.
[0236] In some optional implementations, the target service device is selected from all candidate service devices based on the load parameters of each candidate service device, including:
[0237] The candidate service device with the lowest load parameters is determined as the target service device.
[0238] In some alternative implementations, the method further includes:
[0239] If there are other tenants associated with the target tenant, the orchestration data of the target tenant is sent to the shared data unit; and the orchestration data of other tenants associated with the target tenant is obtained from the shared data unit; wherein the orchestration data includes tenant information, allocated service equipment information and shared information.
[0240] Figures 8-9 For details on the specific implementation of the embodiments, please refer to the implementation of the above-described interaction method; repeated details will not be repeated here.
[0241] like Figure 10 As shown, based on and Figure 8Using the same inventive concept as the device allocation method shown, this application provides a first device allocation device 1000, applied to a gateway cluster in a resource orchestration system. The device includes:
[0242] The network orchestration cluster determination module 1001 is used to determine the network orchestration cluster corresponding to the target tenant based on a preset correspondence in response to a service request triggered by the target tenant; wherein, the preset correspondence includes the correspondence between the network orchestration cluster and the tenant, and the same tenant corresponds to the same network orchestration cluster in the preset correspondence.
[0243] The request sending module 1002 is used to send the service request to the corresponding network orchestration cluster, so that after receiving the service request, the corresponding network orchestration cluster allocates a target service device to the target tenant from multiple service service devices of the target resource cluster corresponding to the service request.
[0244] In some optional implementations, the network orchestration cluster determination module 1001 is specifically used for:
[0245] Determine whether the target tenant is included in the tenants in the preset correspondence;
[0246] If so, the network orchestration cluster corresponding to the target tenant is determined from the preset correspondence; otherwise, based on the status parameters of each network orchestration cluster, the network orchestration cluster corresponding to the target tenant is selected from all network orchestration clusters, and the preset correspondence is updated based on the target tenant and the selected network orchestration cluster.
[0247] In some optional implementations, the status parameters include a first quantity and / or a second quantity, wherein the first quantity is the number of tenants corresponding to each network orchestration cluster, and the second quantity is the number of service ports of each tenant corresponding to each network orchestration cluster; the network orchestration cluster determination module 1001 is specifically used for:
[0248] From all network orchestration clusters, select the network orchestration cluster with the smallest number of clusters as the network orchestration cluster corresponding to the target tenant; or
[0249] From all network orchestration clusters, select the network orchestration cluster with the second smallest number as the network orchestration cluster corresponding to the target tenant; or
[0250] For any network orchestration cluster, a weighted number of the first and second quantities of the network orchestration clusters is determined based on preset weights; from all network orchestration clusters, the network orchestration cluster with the smallest weighted number is selected as the network orchestration cluster corresponding to the target tenant.
[0251] In some alternative implementations, the device further includes a capacity expansion processing module 1003, for:
[0252] If the number of available network orchestration clusters is less than the preset number, a message indicating the addition of a network orchestration cluster will be sent through a preset notification method; wherein, the available network orchestration clusters are those whose processing performance parameters are less than the preset parameters.
[0253] In some optional implementations, after the expansion processing module 1003 notifies the user of the message indicating the addition of a network orchestration cluster via a preset notification method, it is further configured to:
[0254] In response to a network orchestration cluster addition command, the configuration information of the newly added network orchestration cluster in the network orchestration cluster addition command is determined.
[0255] like Figure 11 As shown, based on and Figure 9 Using the same inventive concept as the device allocation method shown, this application provides a second device allocation device 1100, applied to any network orchestration cluster in a resource orchestration system. The device includes:
[0256] The resource cluster acquisition module 1101 is used to determine the target resource cluster corresponding to the service request; wherein, the service request is sent by the gateway cluster after determining the network orchestration cluster corresponding to the target tenant that triggered the service request based on a preset correspondence; the preset correspondence includes the correspondence between the network orchestration cluster and the tenant, and the same tenant corresponds to the same network orchestration cluster in the preset correspondence;
[0257] The resource orchestration module 1102 is used to allocate a target service device to the target tenant from multiple service service devices in the target resource cluster based on the type of the service request.
[0258] In some optional implementations, the resource cluster acquisition module 1101 is specifically used for:
[0259] The network orchestration cluster receives service requests sent by the gateway cluster through its message queue (MQ) and retrieves the service requests from the MQ.
[0260] In some optional implementations, after allocating the target service equipment to the target tenant, the resource orchestration module 1102 is further configured to:
[0261] Information representing the target tenant and information representing the target service device are stored in the database of the network orchestration cluster.
[0262] In some optional implementations, resource orchestration module 1102 is specifically used for:
[0263] From the multiple service service devices of the target resource cluster, determine the candidate service device corresponding to the type of the service request;
[0264] Based on the load parameters of each candidate service device, the target service device is selected from all candidate service devices.
[0265] In some optional implementations, resource orchestration module 1102 is specifically used for:
[0266] The candidate service device with the lowest load parameters is determined as the target service device.
[0267] In some alternative implementations, the device further includes a shared processing module 1103 for:
[0268] If there are other tenants associated with the target tenant, the orchestration data of the target tenant is sent to the shared data unit; and the orchestration data of other tenants associated with the target tenant is obtained from the shared data unit; wherein the orchestration data includes tenant information, allocated service equipment information and shared information.
[0269] Figures 10-11 For details on the specific implementation of the embodiments, please refer to the implementation of the above-described interaction method; repeated details will not be repeated here.
[0270] Based on the same technical concept, embodiments of this application also provide a gateway cluster 1200 in a resource orchestration system, such as... Figure 12 As shown, it includes at least one processor 1201 and a memory 1202 connected to at least one processor. In this embodiment, the specific connection medium between the processor 1201 and the memory 1202 is not limited. Figure 12 Taking the connection between processor 1201 and memory 1202 via bus 1203 as an example. The bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, Figure 12 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0271] The processor 1201 serves as the control center of the gateway cluster within the resource orchestration system. It connects to various parts of the gateway cluster via various interfaces and lines, and performs data processing by running or executing instructions stored in the memory 1202 and accessing data stored in the memory 1202. Optionally, the processor 1201 may include one or more processing units. The processor 1201 may integrate an application processor and a modem processor. The application processor primarily handles the operating system, user interface, and applications, while the modem processor primarily handles issuing instructions. It is understood that the modem processor may not be integrated into the processor 1201. In some embodiments, the processor 1201 and the memory 1202 may be implemented on the same chip; in other embodiments, they may be implemented on separate chips.
[0272] Processor 1201 can be a general-purpose processor, such as a central processing unit (CPU), digital signal processor, application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component, capable of implementing or executing the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the device allocation method embodiments can be directly manifested as execution by a hardware processor, or execution by a combination of hardware and software modules within the processor.
[0273] Memory 1202, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules. Memory 1202 may include at least one type of storage medium, such as flash memory, hard disk, multimedia card, card-type memory, random access memory (RAM), static random access memory (SRAM), programmable read-only memory (PROM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), magnetic memory, magnetic disk, optical disk, etc. Memory 1202 can be any other medium capable of carrying or storing desired program code in the form of instructions or data structures that can be accessed by a computer, but is not limited thereto. In the embodiments of this application, memory 1202 can also be a circuit or any other device capable of implementing storage functions for storing program instructions and / or data.
[0274] In this embodiment, the memory 1202 stores a computer program, which, when executed by the processor 1201, causes the processor 1201 to perform the following:
[0275] In response to a service request triggered by a target tenant, the network orchestration cluster corresponding to the target tenant is determined based on a preset correspondence; wherein, the preset correspondence includes the correspondence between network orchestration clusters and tenants, and the same tenant corresponds to the same network orchestration cluster in the preset correspondence;
[0276] The service request is sent to the corresponding network orchestration cluster, so that after receiving the service request, the corresponding network orchestration cluster allocates a target service device to the target tenant from multiple service service devices in the target resource cluster corresponding to the service request.
[0277] In some optional implementations, processor 1201 specifically performs:
[0278] Determine whether the target tenant is included in the tenants in the preset correspondence;
[0279] If so, the network orchestration cluster corresponding to the target tenant is determined from the preset correspondence; otherwise, based on the status parameters of each network orchestration cluster, the network orchestration cluster corresponding to the target tenant is selected from all network orchestration clusters, and the preset correspondence is updated based on the target tenant and the selected network orchestration cluster.
[0280] In some optional implementations, the status parameters include a first quantity and / or a second quantity, where the first quantity is the number of tenants corresponding to each network orchestration cluster, and the second quantity is the number of service ports of each tenant corresponding to each network orchestration cluster; processor 1201 specifically executes:
[0281] From all network orchestration clusters, select the network orchestration cluster with the smallest number of clusters as the network orchestration cluster corresponding to the target tenant; or
[0282] From all network orchestration clusters, select the network orchestration cluster with the second smallest number as the network orchestration cluster corresponding to the target tenant; or
[0283] For any network orchestration cluster, a weighted number of the first and second quantities of the network orchestration clusters is determined based on preset weights; from all network orchestration clusters, the network orchestration cluster with the smallest weighted number is selected as the network orchestration cluster corresponding to the target tenant.
[0284] In some alternative implementations, processor 1201 also performs:
[0285] If the number of available network orchestration clusters is less than the preset number, a message indicating the addition of a network orchestration cluster will be sent through a preset notification method; wherein, the available network orchestration clusters are those whose processing performance parameters are less than the preset parameters.
[0286] In some optional implementations, after notifying the processor 1201 of the message indicating the addition of a network orchestration cluster via a preset notification method, the processor 1201 further performs:
[0287] In response to a network orchestration cluster addition command, the configuration information of the newly added network orchestration cluster in the network orchestration cluster addition command is determined.
[0288] Based on the same technical concept, embodiments of this application also provide any network orchestration cluster in a resource orchestration system, including at least one processor and at least one memory, wherein the memory stores a computer program, and when the program is executed by the processor, the processor performs the following:
[0289] The target resource cluster corresponding to the service request is determined; wherein, the service request is sent by the gateway cluster after determining the network orchestration cluster corresponding to the target tenant that triggered the service request based on a preset correspondence; the preset correspondence includes the correspondence between the network orchestration cluster and the tenant, and the same tenant corresponds to the same network orchestration cluster in the preset correspondence;
[0290] Based on the type of the service request, a target service device is allocated to the target tenant from among multiple service devices in the target resource cluster.
[0291] In some alternative implementations, the processor specifically executes:
[0292] The network orchestration cluster receives service requests sent by the gateway cluster through its message queue (MQ) and retrieves the service requests from the MQ.
[0293] In some optional implementations, after allocating the target service device to the target tenant, the processor also executes:
[0294] Information representing the target tenant and information representing the target service device are stored in the database of the network orchestration cluster.
[0295] In some alternative implementations, the processor specifically executes:
[0296] From the multiple service service devices of the target resource cluster, determine the candidate service device corresponding to the type of the service request;
[0297] Based on the load parameters of each candidate service device, the target service device is selected from all candidate service devices.
[0298] In some alternative implementations, the processor specifically executes:
[0299] The candidate service device with the lowest load parameters is determined as the target service device.
[0300] In some alternative implementations, the processor also performs:
[0301] If there are other tenants associated with the target tenant, the orchestration data of the target tenant is sent to the shared data unit; and the orchestration data of other tenants associated with the target tenant is obtained from the shared data unit; wherein the orchestration data includes tenant information, allocated service equipment information and shared information.
[0302] Based on the same technical concept, embodiments of this application also provide a computer-readable storage medium storing a computer program executable by a processor, which, when run on the processor, causes the processor to perform the steps of the device allocation method described above.
[0303] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0304] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0305] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0306] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0307] Although preferred embodiments of this application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of this application.
[0308] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.
Claims
1. A method of device allocation, characterized by, The method is applied to a gateway cluster in a resource arrangement system, and the method comprises the following steps: In response to a service request triggered by a target tenant, a network arrangement cluster corresponding to the target tenant is determined based on a preset correspondence relationship; wherein the preset correspondence relationship comprises a correspondence relationship between a network arrangement cluster and a tenant, and the same tenant corresponds to the same network arrangement cluster in the preset correspondence relationship; The service request is sent to the corresponding network arrangement cluster, so that the corresponding network arrangement cluster allocates a target service device for the target tenant from a plurality of service devices of a target resource cluster corresponding to the service request after receiving the service request.
2. The method of claim 1, wherein, Determine whether the target tenant is included in the tenants in the preset correspondence relationship; If yes, determine the network arrangement cluster corresponding to the target tenant from the preset correspondence relationship; If no, select the network arrangement cluster corresponding to the target tenant from all network arrangement clusters based on state parameters of each network arrangement cluster, and update the preset correspondence relationship based on the target tenant and the selected network arrangement cluster. The state parameters comprise a first number and / or a second number, the first number is a number of tenants corresponding to each network arrangement cluster, and the second number is a number of tenant service ports corresponding to each network arrangement cluster; 3. The method of claim 2, wherein, Selecting the network arrangement cluster corresponding to the target tenant from all network arrangement clusters based on the state parameters of each network arrangement cluster comprises: Selecting a network arrangement cluster with the smallest first number from all network arrangement clusters as the network arrangement cluster corresponding to the target tenant; or Selecting a network arrangement cluster with the smallest second number from all network arrangement clusters as the network arrangement cluster corresponding to the target tenant; or For any network arrangement cluster, determining a weighted number of the first number and the second number of the network arrangement cluster based on a preset weight; selecting a network arrangement cluster with the smallest weighted number from all network arrangement clusters as the network arrangement cluster corresponding to the target tenant. The method further comprises:
4. The method of claim 1, wherein, If the number of available network arrangement clusters is less than a preset number, a message representing the addition of a network arrangement cluster is notified through a preset notification mode; wherein the available network arrangement cluster is a network arrangement cluster with a processing performance parameter less than a preset parameter. After the message representing the addition of the network arrangement cluster is notified through the preset notification mode, the method further comprises:
5. The method of claim 4, wherein, In response to a network arrangement cluster addition instruction, configuration information of a newly added network arrangement cluster in the network arrangement cluster addition instruction is determined. The method is applied to any network arrangement cluster in a resource arrangement system; 6. A method of device allocation, characterized by, The method comprises: Determine a target resource cluster corresponding to a service request; wherein the service request is sent by a gateway cluster based on a preset correspondence relationship after determining a network arrangement cluster corresponding to a target tenant triggering the service request; the preset correspondence relationship comprises a correspondence relationship between a network arrangement cluster and a tenant, and the same tenant corresponds to the same network arrangement cluster in the preset correspondence relationship; allocating, based on the type of the service request, a target service device for the target tenant from a plurality of service devices of the target resource cluster.
7. The method of claim 6, wherein, Obtaining a service request sent by a gateway cluster in the resource orchestration system, comprising: Receiving the service request sent by the gateway cluster through a message queue (MQ) of the network orchestration cluster, and obtaining the service request from the MQ.
8. The method of claim 6, wherein, After allocating the target service device for the target tenant, further comprising: Storing information representing the target tenant and information representing the target service device in a database of the network orchestration cluster.
9. The method of claim 6, wherein, Allocating, based on the type of the service request, a target service device for the target tenant from a plurality of service devices of the target resource cluster, comprising: Determining, from the plurality of service devices of the target resource cluster, a candidate service device corresponding to the type of the service request; Selecting the target service device from all candidate service devices based on load parameters of each candidate service device.
10. The method of claim 8, wherein, Selecting the target service device from all candidate service devices based on load parameters of each candidate service device, comprising: Determining the candidate service device with the smallest load parameter as the target service device.
11. The method of any one of claims 6-10, wherein, The method further comprises: If there are other tenants associated with the target tenant, sending the orchestration data of the target tenant to a shared data unit, and obtaining the orchestration data of other tenants associated with the target tenant from the shared data unit; wherein the orchestration data includes tenant information, allocated service device information, and shared information.
12. A resource orchestration system, characterized by, Comprising: A gateway cluster, a plurality of network orchestration clusters, and a plurality of resource clusters, and a plurality of service devices are arranged in any resource cluster; The gateway cluster is configured to, in response to a service request triggered by a target tenant, determine a network orchestration cluster corresponding to the target tenant based on a preset correspondence relationship, and send the service request to the corresponding network orchestration cluster; wherein the preset correspondence relationship includes the correspondence relationship between the network orchestration cluster and the tenant, and the same tenant corresponds to the same network orchestration cluster in the preset correspondence relationship. The network orchestration cluster is configured to, after obtaining the service request, determine a target resource cluster corresponding to the service request; and allocate a target service device for the target tenant from a plurality of service devices of the target resource cluster based on the type of the service request.
13. An apparatus dispensing device, characterized by A gateway cluster applied to a resource orchestration system; the device comprises: A network orchestration cluster determination module is configured to, in response to a service request triggered by a target tenant, determine a network orchestration cluster corresponding to the target tenant based on a preset correspondence relationship; wherein the preset correspondence relationship includes the correspondence relationship between the network orchestration cluster and the tenant, and the same tenant corresponds to the same network orchestration cluster in the preset correspondence relationship. The request sending module is configured to send the service request to a corresponding network orchestration cluster, so that the corresponding network orchestration cluster allocates a target service device for the target tenant from a plurality of service devices of a target resource cluster corresponding to the service request after receiving the service request.
14. An apparatus dispensing device, characterized by Any network orchestration cluster applied to a resource orchestration system; The apparatus comprises: The resource cluster obtaining module is configured to determine a target resource cluster corresponding to a service request; wherein the service request is sent by a gateway cluster based on a preset correspondence relationship after the gateway cluster determines a target tenant corresponding to the service request; the preset correspondence relationship comprises a correspondence relationship between a network orchestration cluster and a tenant, and a same tenant corresponds to a same network orchestration cluster in the preset correspondence relationship; The resource orchestration module is configured to allocate a target service device for the target tenant from a plurality of service devices of the target resource cluster based on a type of the service request.
15. A cluster of gateways, characterized in that, The computer program product comprises at least one processor and at least one memory, wherein the memory stores a computer program, and when the program is executed by the processor, the processor executes the method of any one of claims 1-5.
16. A network orchestration cluster, comprising: The computer program product comprises at least one processor and at least one memory, wherein the memory stores a computer program, and when the program is executed by the processor, the processor executes the method of any one of claims 6-11.
17. A computer readable storage medium characterized by: The computer program product comprises at least one processor and at least one memory, wherein the memory stores a computer program, and when the program is executed by the processor, the processor executes the method of any one of claims 1-5, or the method of any one of claims 6-11.
Citation Information
Patent Citations
Software defined data center and scheduling and traffic-monitoring method for service cluster therein
CN108293009A
Business processing method and device based on application service, gateway equipment and medium
CN110138862A