CN112231053B - Load balancing service distribution method and device - Google Patents

Load balancing service distribution method and device Download PDF

Info

Publication number
CN112231053B
CN112231053B CN202011049745.9A CN202011049745A CN112231053B CN 112231053 B CN112231053 B CN 112231053B CN 202011049745 A CN202011049745 A CN 202011049745A CN 112231053 B CN112231053 B CN 112231053B
Authority
CN
China
Prior art keywords
load balancing
tenant
target
balancing service
virtual machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011049745.9A
Other languages
Chinese (zh)
Other versions
CN112231053A (en
Inventor
高要利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Security Technologies Co Ltd
Original Assignee
New H3C Security Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New H3C Security Technologies Co Ltd filed Critical New H3C Security Technologies Co Ltd
Priority to CN202011049745.9A priority Critical patent/CN112231053B/en
Publication of CN112231053A publication Critical patent/CN112231053A/en
Application granted granted Critical
Publication of CN112231053B publication Critical patent/CN112231053B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

The present application relates to the field of cloud platform technologies, and in particular, to a load balancing service distribution method and apparatus. The method comprises the following steps: receiving a load balancing service application request sent by a tenant, wherein the load balancing service application request carries load balancing service specification information required by the tenant; judging whether available target load balancing equipment exists in the hardware resource pool or not based on the load balancing service specification information; if yes, virtualizing a target logic device from the target load balancing device by utilizing a hardware virtualization technology based on the load balancing service specification information, and allocating the target logic device to the tenant; if not, judging whether an available target server exists in the software resource pool based on the load balancing service specification information, if so, creating a target virtual machine on the target server by using a load balancing virtual machine template based on the load balancing service specification information, and distributing the target virtual machine to the tenant.

Description

Load balancing service distribution method and device
Technical Field
The present application relates to the field of cloud platform technologies, and in particular, to a load balancing service distribution method and apparatus.
Background
With the increasing maturity of cloud platform technology, more and more enterprises and individuals choose to migrate businesses to the cloud platform. However, in the current internet era, due to the increasing amount and complexity of data access, especially in the coming of the 5G era, a single server cannot bear a network with too large data traffic, and how to avoid the interruption of the service due to sudden traffic impact is a considerable problem. The load balancing can improve the processing capacity and the reliability of the service by means of the flow distribution technology.
At present, load balancing methods include load balancing based on software (e.g., LVS, nginx, and haprox) and load balancing based on hardware (load balancing device), however, load balancing based on software depends on a specific operating system, and load balancing software needs to be installed on a specific server, and when a large number of background servers exist, operations are cumbersome, and cannot adapt to a service scenario in which data amount is high and concurrent, such as one hundred thousand data per second; the load balancing based on hardware is suitable for high concurrency scenes, and one implementation mode is as follows: services of a plurality of tenants are distributed on different load balancing devices in a cross mode, and isolation of tenant service flow cannot be achieved by adopting the mode; the other realization mode is as follows: the tenants correspond to the load balancing devices one to one, and by adopting the mode, although isolation of tenant service flow can be achieved, a large amount of load balancing devices are required to support, the number of the load balancing devices needs to be infinitely increased along with increase of the number of the tenants, so that the resource utilization rate is low, and the cost is high.
Disclosure of Invention
The application provides a load balancing service distribution method and device, which are used for solving the problems that a software-based load balancing mode is not suitable for high data concurrency and a hardware-based load balancing mode in the prior art is low in resource utilization rate.
In a first aspect, the present application provides a load balancing service allocation method, which is applied to a cloud platform, where the cloud platform includes a hardware resource pool formed by load balancing devices and a software resource pool formed by servers deployed with load balancing virtual machine templates, and the method includes:
receiving a load balancing service application request sent by a tenant, wherein the load balancing service application request carries load balancing service specification information required by the tenant;
judging whether available target load balancing equipment exists in the hardware resource pool or not based on the load balancing service specification information;
if the judgment result is yes, virtualizing a target logic device from the target load balancing device by using a hardware virtualization technology based on the load balancing service specification information, and allocating the target logic device to the tenant, wherein the target logic device is used for providing a load balancing service for the tenant;
if the judgment result is negative, whether an available target server exists in the software resource pool is judged based on the load balancing service specification information, if the judgment result is positive, a target virtual machine is established on the target server by utilizing a load balancing virtual machine template based on the load balancing service specification information, and the target virtual machine is distributed to the tenant, wherein the target virtual machine is used for providing load balancing service for the tenant.
Optionally, the load balancing service application request further includes software resource pool priority information; after receiving the load balancing service application request sent by the tenant, the method further includes:
judging whether a target server meeting the load balancing service specification exists in the software resource pool or not based on the load balancing service specification information;
if the judgment result is yes, based on the load balancing service specification information, a target virtual machine is created on the target server by using a load balancing virtual machine template, and the target virtual machine is distributed to the tenant;
if the judgment result is negative, judging whether the available target load balancing equipment exists in the hardware resource pool based on the load balancing service specification information, if so, virtualizing a target logic device from the target load balancing equipment by utilizing a hardware virtualization technology based on the load balancing service specification information, and allocating the target logic device to the tenant.
Optionally, after allocating the target logical device to the tenant, the method further comprises:
when the running load of the target logic device is detected to be larger than a set threshold value, virtualizing one logic device from any available load balancing device of the hardware resource pool by using a hardware virtualization technology, and allocating the logic device to the tenant;
after assigning the target virtual machine to the tenant, the method further comprises:
when the running load of the target virtual machine is detected to be larger than a set threshold value, a virtual machine is created on any available server of the software resource pool by using a load balancing virtual machine template, and the virtual machine is distributed to the tenant.
Optionally, the method further comprises:
if the load balancing service applied by any tenant is detected to be expired or a load balancing service deleting instruction applied by any tenant is received, recovering the resources occupied by the load balancing service applied by any tenant.
Optionally, the step of reclaiming resources occupied by the load balancing service applied by any tenant comprises:
deleting the logic equipment which is allocated to any tenant in the hardware resource pool and is used for providing load balancing service for any tenant; alternatively, the first and second liquid crystal display panels may be,
and deleting the virtual machines which are distributed to any tenant in the software resource pool and used for providing load balancing service for any tenant.
In a second aspect, the present application provides a load balancing service distribution apparatus, applied to a cloud platform, where the cloud platform includes a hardware resource pool composed of load balancing devices and a software resource pool composed of servers deployed with load balancing virtual machine templates, the apparatus includes a receiving unit, a determining unit, a virtualization unit, and a creating unit, where,
the receiving unit is configured to receive a load balancing service application request sent by a tenant, where the load balancing service application request carries load balancing service specification information required by the tenant;
the judging unit is used for judging whether available target load balancing equipment exists in the hardware resource pool or not based on the load balancing service specification information;
if the judgment result is yes, the virtualization unit is used for virtualizing a target logic device from the target load balancing device by using a hardware virtualization technology based on the load balancing service specification information and allocating the target logic device to the tenant, wherein the target logic device is used for providing a load balancing service for the tenant;
if the determination result is negative, the determining unit is further configured to determine whether an available target server exists in the software resource pool based on the load balancing service specification information, and if the determination result is positive, the creating unit is configured to create a target virtual machine on the target server by using a load balancing virtual machine template based on the load balancing service specification information, and allocate the target virtual machine to the tenant, where the target virtual machine is used to provide a load balancing service for the tenant.
Optionally, the load balancing service application request further includes priority information of a software resource pool; after the load balancing service application request sent by the tenant is received,
the judging unit is used for judging whether a target server meeting the load balancing service specification exists in the software resource pool or not based on the load balancing service specification information;
if the judgment result is yes, the creating unit is used for creating a target virtual machine on the target server by using a load balancing virtual machine template based on the load balancing service specification information, and distributing the target virtual machine to the tenant;
if the determination result is negative, the determining unit is further configured to determine whether an available target load balancing device exists in the hardware resource pool based on the load balancing service specification information, and if the determination result is positive, the virtualizing unit is configured to virtualize a target logic device from the target load balancing device based on the load balancing service specification information by using a hardware virtualization technology, and allocate the target logic device to the tenant.
Optionally, after the target logical device is allocated to the tenant, the apparatus further includes a detection unit:
when the detection unit detects that the operating load of the target logic device is greater than a set threshold value, the virtualization unit is further configured to virtualize one logic device from any available load balancing device in the hardware resource pool by using a hardware virtualization technology, and allocate the logic device to the tenant;
after the target virtual machine is assigned to the tenant,
when the detecting unit detects that the operating load of the target virtual machine is greater than a set threshold, the creating unit is further configured to create a virtual machine on any available server of the software resource pool by using a load balancing virtual machine template, and allocate the virtual machine to the tenant.
Optionally, the device further comprises a retrieval unit,
if the detection unit detects that the load balancing service applied by any tenant expires or the receiving unit receives a load balancing service deletion instruction applied by any tenant, the recovery unit is configured to recover the resource occupied by the load balancing service applied by any tenant.
Optionally, when the resource occupied by the load balancing service applied by any tenant is reclaimed, the reclaiming unit is specifically configured to:
deleting the logic equipment which is allocated to any tenant in the hardware resource pool and is used for providing load balancing service for any tenant; alternatively, the first and second electrodes may be,
and deleting the virtual machine which is allocated to any tenant in the software resource pool and is used for providing load balancing service for the tenant.
In a third aspect, an embodiment of the present application provides a load balancing service distribution apparatus, where the load balancing service distribution apparatus includes:
a memory for storing program instructions;
a processor for calling program instructions stored in said memory and for executing the steps of the method according to any one of the above first aspects in accordance with the obtained program instructions.
In a fourth aspect, embodiments of the present application further provide a computer-readable storage medium storing computer-executable instructions for causing the computer to perform the steps of the method according to any one of the above first aspects.
In summary, the load balancing service allocation method provided in the embodiment of the present application receives a load balancing service application request sent by a tenant, where the load balancing service application request carries load balancing service specification information required by the tenant; judging whether available target load balancing equipment exists in the hardware resource pool or not based on the load balancing service specification information; if the judgment result is yes, virtualizing a target logic device from the target load balancing device by using a hardware virtualization technology based on the load balancing service specification information, and allocating the target logic device to the tenant, wherein the target logic device is used for providing a load balancing service for the tenant; if the judgment result is negative, whether an available target server exists in the software resource pool is judged based on the load balancing service specification information, if the judgment result is positive, a target virtual machine is established on the target server by utilizing a load balancing virtual machine template based on the load balancing service specification information, and the target virtual machine is distributed to the tenant, wherein the target virtual machine is used for providing load balancing service for the tenant.
By adopting the load balancing service allocation method provided by the embodiment of the application, the load balancing equipment resources in the hardware resource pool are preferentially allocated for each tenant, under the condition that the hardware resources are completely consumed, the load balancing service is provided for the tenant by adopting other idle function servers in the cloud platform in a mode of deploying the load balancing function by the virtual machine, the resource expansion can be completed without newly adding the load balancing equipment, the resource sharing and the reutilization are realized, and the expandability of the load balancing resources is improved; furthermore, the load balancing resources distributed for each tenant are independent logic devices/virtual machines, tenant service flow isolation is achieved, safety of tenant service flow is improved, the tenant can know the logic devices/virtual machines where the service services are located, the tenant can conduct free management and maintenance, and the independence of the tenant in managing the service services is improved.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required to be used in the embodiments of the present application or the technical solutions in the prior art are briefly described below, it is obvious that the drawings in the following description are only some embodiments described in the present application, and other drawings can be obtained by those skilled in the art according to the drawings of the embodiments of the present application.
Fig. 1 is a schematic view of resource management provided in an embodiment of the present application;
fig. 2 is a detailed flowchart of a load balancing service distribution method according to an embodiment of the present application;
fig. 3 is a schematic structural diagram of a load balancing service distribution apparatus according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of another load balancing service distribution apparatus according to an embodiment of the present application.
Detailed Description
The terminology used in the embodiments of the present application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in this application and the claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used herein is meant to encompass any and all possible combinations of one or more of the associated listed items.
It should be understood that although the terms first, second, third, etc. may be used herein to describe various information, the information should not be limited to these terms. These terms are only used to distinguish one type of information from another. For example, first information may also be referred to as second information, and similarly, second information may also be referred to as first information, without departing from the scope of the present application. Depending on the context, moreover, the word "if" may be used to be interpreted as "at 8230; \8230when" or "when 8230; \8230when" or "in response to a determination".
In this embodiment of the application, before a cloud platform provides a load balancing service for a tenant, a cloud service provider needs to find an actual demand to configure, for the cloud platform, resources that can be used for providing the load balancing service for the tenant, such as hardware resources (load balancing devices) and software resources (a server deployed with a virtual machine template having a load balancing function), where of course, the server may be any available server in the cloud platform, as shown in fig. 1, for example, a resource management schematic diagram provided for this embodiment of the application, specifically, adding the load balancing resources to a resource pool includes: adding load balancing equipment (such as the load balancing equipment 1, the load balancing equipment 2 and the load balancing equipment 3, \ 8230; \ 8230;) to a hardware resource pool, and adding a server (such as the server 1, the server 2, the server 3, \ 8230; \ 8230;) deployed with a virtual machine template with a load balancing function to a software resource pool. Therefore, resource quantification processing can be performed on the load balancing equipment/server added into the resource pool, and the use and recovery of resources are conveniently and effectively managed.
Exemplarily, referring to fig. 2, a detailed flowchart of a load balancing service allocation method provided in an embodiment of the present invention is shown, where the method is applied to a cloud platform, where the cloud platform includes a hardware resource pool formed by load balancing devices and a software resource pool formed by servers deployed with load balancing virtual machine templates, and the method includes the following steps:
step 200: receiving a load balancing service application request sent by a tenant, wherein the load balancing service application request carries load balancing service specification information required by the tenant.
In practical application, when a tenant uses a cloud platform, multiple service services are created, and when each service is used, corresponding service traffic is generated.
In the embodiment of the application, when a tenant creates a first service, a load balancing service application is sent to a resource pool management module in a cloud platform system, where the load balancing service application may carry specification information of a load balancing service required by the tenant, and it needs to be noted that the specification information of the load balancing service refers to resource specification information required by the load balancing service required by the tenant.
For example, the resource specification information may include related information such as a CPU size, a memory size, and a disk size required by a load balancing device for providing a load balancing service.
Step 210: and judging whether available target load balancing equipment exists in the hardware resource pool or not based on the load balancing service specification information.
In this embodiment of the present application, a preferable implementation manner is that the load balancing service application request may further carry priority information of the hardware resource pool, or priority information of the software resource pool, and if not carrying any priority information, the request is defaulted as the priority of the hardware resource pool. The priority of the hardware resource pool refers to that load balancing equipment in the hardware resource pool is preferentially used for distributing load balancing service for the tenant; similarly, the software resource pool priority refers to that servers in the software resource pool are preferentially used for distributing load balancing services for the tenant.
Then, in this embodiment of the application, if the load balancing service application request does not carry priority information or carries hardware resource pool priority information, step 210 is executed.
That is, it is determined whether a target server meeting the load balancing service specification required by the tenant exists in the hardware resource pool, that is, whether resources such as a CPU, a memory, and a disk available to the target server meet the requirements of the tenant.
Step 220: if the judgment result is yes, virtualizing a target logic device from the target load balancing device by using a hardware virtualization technology based on the load balancing service specification information, and allocating the target logic device to the tenant, wherein the target logic device is used for providing a load balancing service for the tenant.
That is, if it is determined that a target load balancing device meeting the load balancing service specification required by the tenant exists in the hardware resource pool, a logical device (logical load balancing device) is virtualized from the target load balancing device by using a hardware virtualization technology according to the load balancing service specification information, that is, parameters such as the CPU size, the memory size, and the disk size of the logical load balancing device all meet the requirements of the tenant. And binding the logic load balancing equipment with the tenant, wherein the flow generated when the tenant subsequently uses each service can be subjected to load balancing operation through the logic load balancing equipment.
In practical application, load balancing rules need to be configured for the logic load balancing device (or virtual machine) based on the tenant requirements, so that when the tenant subsequently uses each service, the logic load balancing device (or virtual machine) can perform load balancing operations such as traffic scheduling based on the configured load balancing rules.
Step 130: and if the judgment result is negative, judging whether an available target server exists in the software resource pool based on the load balancing service specification information, if so, creating a target virtual machine on the target server by using a load balancing virtual machine template based on the load balancing service specification information, and distributing the target virtual machine to the tenant, wherein the target virtual machine is used for providing load balancing service for the tenant.
That is, if it is determined that a target load balancing device meeting the load balancing service specification required by the tenant does not exist in the hardware resource pool (that is, the resources in the hardware resource pool are used up/the resources are not enough, so that the available resources do not meet the requirements of the tenant), at this time, the hardware resources cannot be allocated to the tenant.
Further, in this embodiment of the present application, if the load balancing service application request further includes priority information of a software resource pool, after receiving the load balancing service application request sent by the tenant, the method further includes the following steps:
judging whether a target server meeting the load balancing service specification exists in the software resource pool or not based on the load balancing service specification information; if the judgment result is yes, based on the load balancing service specification information, a target virtual machine is created on the target server by using a load balancing virtual machine template, and the target virtual machine is distributed to the tenant; if the judgment result is negative, judging whether the available target load balancing equipment exists in the hardware resource pool based on the load balancing service specification information, if so, virtualizing a target logic device from the target load balancing equipment by utilizing a hardware virtualization technology based on the load balancing service specification information, and allocating the target logic device to the tenant.
Preferentially judging whether a target server meeting the load balancing service specification required by the tenant exists in the software resource pool, and if so, distributing software resources for the tenant; otherwise, further judging whether a target load balancing device meeting the load balancing service specification required by the tenant exists in the hardware resource pool, and if so, allocating the hardware resource for the tenant.
Further, in this embodiment of the application, after the target logical device is allocated to the tenant, the method further includes: when the running load of the target logic device is detected to be larger than a set threshold value, virtualizing one logic device from any available load balancing device of the hardware resource pool by using a hardware virtualization technology, and allocating the logic device to the tenant.
After assigning the target virtual machine to the tenant, the method further comprises: and when detecting that the running load of the target virtual machine is greater than a set threshold value, creating a virtual machine on any available server of the software resource pool by using a load balancing virtual machine template, and allocating the virtual machine to the tenant.
That is, after the tenant is allocated with the logical device/virtual machine, if the flow of the tenant increases and the allocated logical device/virtual machine no longer meets the current requirement, a logical device may be virtualized from the load balancing device available in the hardware resource pool by using the hardware virtualization technology again for the tenant to use, and preferably, another logical device is virtualized from the target load balancing device where the target logical device is located for the tenant to use; or, one virtual machine is created on a server available in the software resource pool for the tenant by using the load balancing virtual machine template again, and preferably, another virtual machine is created on a target server where the target virtual machine is located for the tenant. Correspondingly, if the operation load is detected to be less than or equal to the set threshold, the created logic device/virtual machine can be released.
Furthermore, in the embodiment of the present application, if it is detected that the load balancing service applied by any tenant expires or a load balancing service deletion instruction applied by any tenant is received, the resource occupied by the load balancing service applied by any tenant is recovered.
Specifically, if the resource occupied by the load balancing service applied by any tenant is the load balancing device in the hardware resource pool, the logic device, which is allocated to the tenant in the hardware resource pool and used for providing the load balancing service for the tenant, is deleted.
And if the resources occupied by the load balancing service applied by any tenant are servers in the software resource pool, deleting the virtual machines which are distributed to any tenant in the software resource pool and used for providing the load balancing service for any tenant.
Exemplarily, referring to fig. 3, a schematic structural diagram of a load balancing service distribution apparatus provided in the embodiment of the present application includes a receiving unit 30, a determining unit 31, a virtualization unit 32, and a creating unit 33, wherein,
a receiving unit 30, configured to receive a load balancing service application request sent by a tenant, where the load balancing service application request carries load balancing service specification information required by the tenant;
a determining unit 31, configured to determine, based on the load balancing service specification information, whether there is an available target load balancing device in the hardware resource pool;
if the determination result is yes, the virtualization unit 32 is configured to virtualize a target logic device from the target load balancing device based on the load balancing service specification information by using a hardware virtualization technology, and allocate the target logic device to the tenant, where the target logic device is configured to provide a load balancing service for the tenant;
if the determination result is no, the determining unit 31 is further configured to determine whether an available target server exists in the software resource pool based on the load balancing service specification information, and if the determination result is yes, the creating unit 33 is configured to create a target virtual machine on the target server by using a load balancing virtual machine template based on the load balancing service specification information, and allocate the target virtual machine to the tenant, where the target virtual machine is used to provide a load balancing service for the tenant.
Optionally, the load balancing service application request further includes software resource pool priority information; after receiving the load balancing service application request sent by the tenant,
the judging unit 31 is configured to judge whether a target server meeting the load balancing service specification exists in the software resource pool based on the load balancing service specification information;
if the determination result is yes, the creating unit 33 is configured to create a target virtual machine on the target server by using a load balancing virtual machine template based on the load balancing service specification information, and allocate the target virtual machine to the tenant;
if the determination result is negative, the determining unit 31 is further configured to determine whether an available target load balancing device exists in the hardware resource pool based on the load balancing service specification information, and if the determination result is positive, the virtualizing unit 32 is configured to virtualize a target logic device from the target load balancing device based on the load balancing service specification information by using a hardware virtualization technology, and allocate the target logic device to the tenant.
Optionally, after the target logical device is allocated to the tenant, the apparatus further includes a detection unit:
when the detecting unit detects that the operating load of the target logic device is greater than a set threshold, the virtualization unit 32 is further configured to virtualize one logic device from any available load balancing device in the hardware resource pool by using a hardware virtualization technology, and allocate the logic device to the tenant;
after the target virtual machine is assigned to the tenant,
when the detecting unit detects that the operating load of the target virtual machine is greater than a set threshold, the creating unit 33 is further configured to create one virtual machine on any available server of the software resource pool by using a load balancing virtual machine template, and allocate the virtual machine to the tenant.
Optionally, the device further comprises a retrieval unit,
if the detecting unit detects that the load balancing service applied by any tenant expires, or the receiving unit 30 receives a load balancing service deletion instruction applied by any tenant, the recovering unit is configured to recover the resource occupied by the load balancing service applied by any tenant.
Optionally, when the resource occupied by the load balancing service applied by any tenant is reclaimed, the reclaiming unit is specifically configured to:
deleting the logic equipment which is allocated to any tenant in the hardware resource pool and is used for providing load balancing service for any tenant; alternatively, the first and second electrodes may be,
and deleting the virtual machines which are distributed to any tenant in the software resource pool and used for providing load balancing service for any tenant.
The above units may be one or more integrated circuits configured to implement the above methods, for example: one or more Application Specific Integrated Circuits (ASICs), or one or more microprocessors (DSPs), or one or more Field Programmable Gate Arrays (FPGAs), among others. For another example, when one of the above units is implemented in the form of a Processing element scheduler code, the Processing element may be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor capable of calling program code. For another example, these units may be integrated together and implemented in the form of a system-on-a-chip (SOC).
Further, in the load balancing service distribution apparatus provided in the embodiment of the present application, from a hardware aspect, a schematic diagram of a hardware architecture of the load balancing service distribution apparatus may be shown in fig. 4, where the load balancing service distribution apparatus may include: a memory 40 and a processor 41, which,
memory 40 is used to store program instructions; processor 41 calls program instructions stored in memory 40 and executes the above-described method embodiments in accordance with the obtained program instructions. The specific implementation and technical effects are similar, and are not described herein again.
Optionally, the present application further provides a load balancing service distribution apparatus, including at least one processing element (or chip) for executing the above method embodiments.
Optionally, the present application also provides a program product, such as a computer-readable storage medium, having stored thereon computer-executable instructions for causing the computer to perform the above-described method embodiments.
Here, a machine-readable storage medium may be any electronic, magnetic, optical, or other physical storage device that can contain or store information such as executable instructions, data, and so forth. For example, the machine-readable storage medium may be: RAM (random Access Memory), volatile Memory, non-volatile Memory, flash Memory, a storage drive (e.g., a hard drive), a solid state drive, any type of storage disk (e.g., an optical disk, a dvd, etc.), or similar storage medium, or a combination thereof.
The systems, apparatuses, modules or units described in the above embodiments may be specifically implemented by a computer chip or an entity, or implemented by a product with certain functions. A typical implementation device is a computer, which may take the form of a personal computer, laptop computer, cellular telephone, camera phone, smart phone, personal digital assistant, media player, navigation device, email messaging device, game console, tablet computer, wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being divided into various units by function, and are described separately. Of course, the functionality of the units may be implemented in one or more software and/or hardware when implementing the present application.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present application may 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, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may 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, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
Furthermore, these computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The above description is only a preferred embodiment of the present application and should not be taken as limiting the present application, and any modifications, equivalents, improvements and the like made within the spirit and principle of the present application should be included in the protection scope of the present application.

Claims (10)

1. A load balancing service distribution method is applied to a cloud platform, the cloud platform comprises a hardware resource pool formed by load balancing equipment and a software resource pool formed by a server with a load balancing virtual machine template, and the method comprises the following steps:
receiving a load balancing service application request sent by a tenant, wherein the load balancing service application request carries load balancing service specification information required by the tenant;
judging whether available target load balancing equipment exists in the hardware resource pool or not based on the load balancing service specification information;
if the judgment result is yes, virtualizing a target logic device from the target load balancing device by using a hardware virtualization technology based on the load balancing service specification information, and allocating the target logic device to the tenant, wherein the target logic device is used for providing a load balancing service for the tenant;
if the judgment result is negative, whether an available target server exists in the software resource pool is judged based on the load balancing service specification information, if the judgment result is positive, a target virtual machine is established on the target server by utilizing a load balancing virtual machine template based on the load balancing service specification information, and the target virtual machine is distributed to the tenant, wherein the target virtual machine is used for providing load balancing service for the tenant.
2. The method of claim 1, wherein the load balancing service application request further includes software resource pool precedence information; after the load balancing service application request sent by the tenant is received, the method further includes:
judging whether a target server meeting the load balancing service specification exists in the software resource pool or not based on the load balancing service specification information;
if the judgment result is yes, based on the load balancing service specification information, a target virtual machine is created on the target server by using a load balancing virtual machine template, and the target virtual machine is distributed to the tenant;
if the judgment result is negative, judging whether the available target load balancing equipment exists in the hardware resource pool based on the load balancing service specification information, if the judgment result is positive, virtualizing a target logic equipment from the target load balancing equipment by utilizing a hardware virtualization technology based on the load balancing service specification information, and allocating the target logic equipment to the tenant.
3. The method of claim 1, wherein after assigning the target logical device to the tenant, the method further comprises:
when the running load of the target logic device is detected to be larger than a set threshold value, virtualizing one logic device from any available load balancing device of the hardware resource pool by using a hardware virtualization technology, and allocating the logic device to the tenant;
after assigning the target virtual machine to the tenant, the method further comprises:
and when detecting that the running load of the target virtual machine is greater than a set threshold value, creating a virtual machine on any available server of the software resource pool by using a load balancing virtual machine template, and allocating the virtual machine to the tenant.
4. The method of claim 1, wherein the method further comprises:
if the load balancing service applied by any tenant is detected to be expired or a load balancing service deleting instruction applied by any tenant is received, recovering resources occupied by the load balancing service applied by any tenant.
5. The method of claim 4, wherein the step of reclaiming resources occupied by the load balancing service applied by any tenant comprises:
deleting the logic equipment which is allocated to any tenant in the hardware resource pool and is used for providing load balancing service for any tenant; alternatively, the first and second electrodes may be,
and deleting the virtual machine which is allocated to any tenant in the software resource pool and is used for providing load balancing service for the tenant.
6. A load balancing service distribution device is applied to a cloud platform, the cloud platform comprises a hardware resource pool formed by load balancing equipment and a software resource pool formed by a server with a load balancing virtual machine template, the device comprises a receiving unit, a judging unit, a virtualization unit and a creating unit, wherein,
the receiving unit is configured to receive a load balancing service application request sent by a tenant, where the load balancing service application request carries load balancing service specification information required by the tenant;
the judging unit is used for judging whether available target load balancing equipment exists in the hardware resource pool or not based on the load balancing service specification information;
if the judgment result is yes, the virtualization unit is used for virtualizing a target logic device from the target load balancing device by using a hardware virtualization technology based on the load balancing service specification information and allocating the target logic device to the tenant, wherein the target logic device is used for providing a load balancing service for the tenant;
if the determination result is negative, the determining unit is further configured to determine whether an available target server exists in the software resource pool based on the load balancing service specification information, and if the determination result is positive, the creating unit is configured to create a target virtual machine on the target server by using a load balancing virtual machine template based on the load balancing service specification information, and allocate the target virtual machine to the tenant, where the target virtual machine is used to provide a load balancing service for the tenant.
7. The apparatus of claim 6, wherein the load balancing service application request further comprises software resource pool priority information; after receiving the load balancing service application request sent by the tenant,
the judging unit is used for judging whether a target server meeting the load balancing service specification exists in the software resource pool or not based on the load balancing service specification information;
if the judgment result is yes, the creating unit is used for creating a target virtual machine on the target server by using a load balancing virtual machine template based on the load balancing service specification information, and distributing the target virtual machine to the tenant;
if the determination result is negative, the determining unit is further configured to determine whether an available target load balancing device exists in the hardware resource pool based on the load balancing service specification information, and if the determination result is positive, the virtualizing unit is configured to virtualize a target logic device from the target load balancing device based on the load balancing service specification information by using a hardware virtualization technology, and allocate the target logic device to the tenant.
8. The apparatus of claim 6, wherein after the target logical device is assigned to the tenant, the apparatus further comprises a detection unit to:
when the detection unit detects that the operating load of the target logic device is greater than a set threshold value, the virtualization unit is further configured to virtualize one logic device from any available load balancing device in the hardware resource pool by using a hardware virtualization technology, and allocate the logic device to the tenant;
after the target virtual machine is assigned to the tenant,
when the detection unit detects that the running load of the target virtual machine is greater than a set threshold value, the creation unit is further configured to create one virtual machine on any available server of the software resource pool by using a load balancing virtual machine template, and allocate the virtual machine to the tenant.
9. The apparatus of claim 6, further comprising a retrieval unit,
if it is detected that the load balancing service applied by any tenant is due, or the receiving unit receives a load balancing service deletion instruction applied by any tenant, the reclaiming unit is configured to reclaim the resources occupied by the load balancing service applied by any tenant.
10. The apparatus according to claim 9, wherein when the reclaiming the resource occupied by the load balancing service applied by any tenant is reclaimed, the reclaiming unit is specifically configured to:
deleting the logic equipment which is allocated to any tenant in the hardware resource pool and is used for providing load balancing service for any tenant; alternatively, the first and second electrodes may be,
and deleting the virtual machine which is allocated to any tenant in the software resource pool and is used for providing load balancing service for the tenant.
CN202011049745.9A 2020-09-29 2020-09-29 Load balancing service distribution method and device Active CN112231053B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011049745.9A CN112231053B (en) 2020-09-29 2020-09-29 Load balancing service distribution method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011049745.9A CN112231053B (en) 2020-09-29 2020-09-29 Load balancing service distribution method and device

Publications (2)

Publication Number Publication Date
CN112231053A CN112231053A (en) 2021-01-15
CN112231053B true CN112231053B (en) 2022-12-16

Family

ID=74119302

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011049745.9A Active CN112231053B (en) 2020-09-29 2020-09-29 Load balancing service distribution method and device

Country Status (1)

Country Link
CN (1) CN112231053B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114710502A (en) * 2021-12-28 2022-07-05 南京中孚信息技术有限公司 Virtualization-based data security exchange method and system
CN114826919B (en) * 2022-03-21 2023-09-22 浪潮思科网络科技有限公司 SDN-based load balancing software nanotube method, device, equipment and medium

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103703724A (en) * 2013-08-15 2014-04-02 华为技术有限公司 Resource payment method
CN104239123A (en) * 2014-09-05 2014-12-24 北方工业大学 Campus-cloud-platform-oriented virtual machine management dispatching method and system
CN104579732A (en) * 2013-10-21 2015-04-29 华为技术有限公司 Method, device and system for managing virtualized network function network elements
CN104850450A (en) * 2015-05-14 2015-08-19 华中科技大学 Load balancing method and system facing mixed cloud application
US9569459B1 (en) * 2014-03-31 2017-02-14 Amazon Technologies, Inc. Conditional writes at distributed storage services
CN106506648A (en) * 2016-11-10 2017-03-15 东软集团股份有限公司 Load balancing service management method and system
CN107733991A (en) * 2017-09-19 2018-02-23 大唐网络有限公司 One kind provides load balancing service implementation method based on OpenStack frameworks
CN108063783A (en) * 2016-11-08 2018-05-22 上海有云信息技术有限公司 The dispositions method and device of a kind of load equalizer
CN108701182A (en) * 2016-08-31 2018-10-23 甲骨文国际公司 The data management of multi-tenant identity cloud service
CN110875943A (en) * 2018-09-03 2020-03-10 深信服科技股份有限公司 Security service delivery method and related device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140280595A1 (en) * 2013-03-15 2014-09-18 Polycom, Inc. Cloud Based Elastic Load Allocation for Multi-media Conferencing
US9294557B2 (en) * 2013-04-19 2016-03-22 International Business Machines Corporation Hardware level generated interrupts indicating load balancing status for a node in a virtualized computing environment
WO2016030973A1 (en) * 2014-08-27 2016-03-03 株式会社日立製作所 Multi-tenant resource coordination method
US10348813B2 (en) * 2016-10-28 2019-07-09 International Business Machines Corporation Provisioning a bare-metal server

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103703724A (en) * 2013-08-15 2014-04-02 华为技术有限公司 Resource payment method
CN104579732A (en) * 2013-10-21 2015-04-29 华为技术有限公司 Method, device and system for managing virtualized network function network elements
US9569459B1 (en) * 2014-03-31 2017-02-14 Amazon Technologies, Inc. Conditional writes at distributed storage services
CN104239123A (en) * 2014-09-05 2014-12-24 北方工业大学 Campus-cloud-platform-oriented virtual machine management dispatching method and system
CN104850450A (en) * 2015-05-14 2015-08-19 华中科技大学 Load balancing method and system facing mixed cloud application
CN108701182A (en) * 2016-08-31 2018-10-23 甲骨文国际公司 The data management of multi-tenant identity cloud service
CN108063783A (en) * 2016-11-08 2018-05-22 上海有云信息技术有限公司 The dispositions method and device of a kind of load equalizer
CN106506648A (en) * 2016-11-10 2017-03-15 东软集团股份有限公司 Load balancing service management method and system
CN107733991A (en) * 2017-09-19 2018-02-23 大唐网络有限公司 One kind provides load balancing service implementation method based on OpenStack frameworks
CN110875943A (en) * 2018-09-03 2020-03-10 深信服科技股份有限公司 Security service delivery method and related device

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
IaaS云环境下一种基于综合满意度的虚拟机放置策略;丁炜超等;《华东理工大学学报(自然科学版)》;20180228(第01期);全文 *
OpenFlow-based Server Cluster with Dynamic Load Balancing;Hsien-Yi Liu等;《2018 19th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD)》;20180823;全文 *
媒体资源云化关键技术研究;李青等;《电信科学》;20130620(第06期);全文 *

Also Published As

Publication number Publication date
CN112231053A (en) 2021-01-15

Similar Documents

Publication Publication Date Title
US10242022B1 (en) Systems and methods for managing delayed allocation on clustered file systems
US8789043B2 (en) Optimized placement planning for virtual machines in a network by breaking relocation graph into one or more cores to apply different solutions
US8442955B2 (en) Virtual machine image co-migration
US9274818B2 (en) Reliable and scalable image transfer for data centers with low connectivity using redundancy detection
CN109417488B (en) Method and equipment for managing virtual network function resources
CN108459898B (en) Resource recovery method and device
CN112291382B (en) IP address allocation method and device
US20170017511A1 (en) Method for memory management in virtual machines, and corresponding system and computer program product
CN112231053B (en) Load balancing service distribution method and device
CN101271409A (en) Live migration of a logical partition, method and product thereof
CN104461744A (en) Resource allocation method and device
CN109191287B (en) Block chain intelligent contract fragmentation method and device and electronic equipment
CN108132827B (en) Network slice resource mapping method, related equipment and system
CN104539708A (en) Capacity reduction method, device and system for cloud platform resources
CN113204407A (en) Memory over-allocation management method and device
CN104580194A (en) Virtual resource management method and device oriented to video applications
US9317340B2 (en) Intelligent virtual machine (VM) re-location
US10009249B2 (en) System with on-demand state for applications
CN113703912A (en) Virtual machine management method and device
CN105677481A (en) Method and system for processing data and electronic equipment
CN112631994A (en) Data migration method and system
CN108629566B (en) Information management method and device
CN112367267B (en) Virtual machine management method and device
CN108153484B (en) Shared storage system in virtualization environment and management method thereof
CN113126912A (en) Personal disk mounting method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant