CN112148426A - Bandwidth allocation method and device - Google Patents
Bandwidth allocation method and device Download PDFInfo
- Publication number
- CN112148426A CN112148426A CN202010864296.7A CN202010864296A CN112148426A CN 112148426 A CN112148426 A CN 112148426A CN 202010864296 A CN202010864296 A CN 202010864296A CN 112148426 A CN112148426 A CN 112148426A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- bandwidth
- physical
- physical host
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000009826 distribution Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 18
- 238000003860 storage Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The application relates to the technical field of cloud platforms, in particular to a bandwidth allocation method and device. The method is applied to a cloud operating system in a cloud platform, and comprises the following steps: configuring bandwidth allocation strategies corresponding to the business services respectively based on the flow attributes of different business services, wherein one bandwidth allocation strategy is used for ensuring the minimum bandwidth of the associated virtual machine when executing the related business service; creating virtual machines for running different business services, and respectively setting the priority of each virtual machine based on the business service run by each virtual machine; and respectively establishing association relations among the bandwidth allocation strategies corresponding to the virtual machines based on the service services operated by the virtual machines, wherein at least one target virtual machine is operated on one physical host, and the physical host allocates the bandwidth to the target virtual machines based on the bandwidth allocation strategies associated with the target virtual machines and the priorities of the target virtual machines.
Description
Technical Field
The application relates to the technical field of cloud platforms, in particular to a bandwidth allocation method and device.
Background
The current private cloud computing service is widely applied to enterprise production, a cloud operating system is used as a resource management and scheduling platform, the use of users can be greatly simplified, the resource utilization rate is improved, and an OVS virtual switch is used as one aspect of a virtualization technology, so that the cloud host flow guiding is realized.
At present, part of cloud platforms do not perform bandwidth allocation operation on each cloud host, that is, how to allocate bandwidth for the cloud hosts is not involved.
The bandwidth allocation is generally performed on the cloud host in the cloud platform by using the following method for part of the cloud platform: the type selection and allocation are carried out based on the intranet bandwidth and the intranet transceiving packets, the maximum available bandwidth is set for different cloud hosts, and therefore the bandwidth of high-priority services cannot be guaranteed when network congestion and resources are limited.
Disclosure of Invention
The application provides a bandwidth allocation method and a bandwidth allocation device, which are used for solving the problem that the bandwidth of a high-priority service cannot be ensured due to network congestion and limited resources in the prior art.
In a first aspect, the present application provides a bandwidth allocation method, which is applied to a cloud operating system in a cloud platform, and the method includes:
configuring bandwidth allocation strategies corresponding to the business services respectively based on the flow attributes of different business services, wherein one bandwidth allocation strategy is used for ensuring the minimum bandwidth of the associated virtual machine when executing the related business service;
creating virtual machines for running different business services, and respectively setting the priority of each virtual machine based on the business service run by each virtual machine;
and respectively establishing association relations among the bandwidth allocation strategies corresponding to the virtual machines based on the service services operated by the virtual machines, wherein at least one target virtual machine is operated on one physical host, and the physical host allocates the bandwidth to the target virtual machines based on the bandwidth allocation strategies associated with the target virtual machines and the priorities of the target virtual machines.
Optionally, the traffic attributes of the service attributes at least include: domain name information, and/or, protocol information, and/or, port information, and/or, IP address/MAC address information.
Optionally, the step of creating a virtual machine for running different business services includes:
respectively determining the size of the bandwidth required by virtual machines to be created for running different business services and the size of the physical bandwidth currently available by each physical host;
and creating each virtual machine to be created to a corresponding physical host based on the size of the bandwidth required by the virtual machine to be created for running different business services and the size of the physical bandwidth currently available by each physical host.
Optionally, the creating, based on the size of the bandwidth required by the virtual machines to be created for running different business services and the size of the physical bandwidth currently available to each physical host, each virtual machine to be created onto a corresponding physical host includes:
judging whether a target physical host with the current available bandwidth larger than or equal to the bandwidth required by the target virtual machine to be created exists in the physical hosts;
if a target physical host with the current available physical bandwidth larger than or equal to the bandwidth required by the target virtual machine to be created exists in the physical hosts, creating the target virtual machine on the target physical host;
and if the target physical host with the current available physical bandwidth larger than or equal to the bandwidth required by the target virtual machine to be created does not exist in the physical hosts, creating the target virtual machine on the physical host with the maximum current available physical bandwidth, wherein when the total bandwidth required by each virtual machine created in one physical host is larger than the current available bandwidth of the physical host, the bandwidth is allocated to each virtual machine based on the priority of each virtual machine.
Optionally, the method further comprises:
based on the virtual switch technology, a corresponding forwarding flow table is set for each virtual machine, and the hit priority of each forwarding flow table is set, wherein when the traffic of each service is forwarded, the traffic of the forwarding flow table with higher hit priority is forwarded preferentially based on the hit priority of each forwarding flow table.
In a second aspect, the present application provides a bandwidth allocation apparatus applied to a cloud operating system in a cloud platform, the apparatus including:
the configuration unit is used for configuring bandwidth allocation strategies corresponding to the business services respectively based on the flow attributes of different business services, wherein one bandwidth allocation strategy is used for ensuring the minimum bandwidth of the associated virtual machine when the associated virtual machine executes the related business service;
the system comprises a creating unit, a judging unit and a judging unit, wherein the creating unit is used for creating virtual machines for running different business services and respectively setting the priority of each virtual machine based on the business service run by each virtual machine;
and the establishing unit is used for respectively establishing the association relationship between the bandwidth allocation strategies corresponding to the virtual machines based on the service operated by the virtual machines, wherein one physical host operates at least one target virtual machine, and the physical host performs bandwidth allocation on the target virtual machines based on the bandwidth allocation strategies associated with the target virtual machines and the priorities of the target virtual machines.
Optionally, the traffic attributes of the service attributes at least include: domain name information, and/or, protocol information, and/or, port information, and/or, IP address/MAC address information.
Optionally, when the virtual machine for running different service services is created, the creating unit is specifically configured to:
respectively determining the size of the bandwidth required by virtual machines to be created for running different business services and the size of the physical bandwidth currently available by each physical host;
and creating each virtual machine to be created to a corresponding physical host based on the size of the bandwidth required by the virtual machine to be created for running different business services and the size of the physical bandwidth currently available by each physical host.
Optionally, when each virtual machine to be created is created to a corresponding physical host based on the size of the bandwidth required by the virtual machine to be created for running different service services and the size of the physical bandwidth currently available to each physical host, the creating unit is specifically configured to:
judging whether a target physical host with the current available bandwidth larger than or equal to the bandwidth required by the target virtual machine to be created exists in the physical hosts;
if a target physical host with the current available physical bandwidth larger than or equal to the bandwidth required by the target virtual machine to be created exists in the physical hosts, creating the target virtual machine on the target physical host;
and if the target physical host with the current available physical bandwidth larger than or equal to the bandwidth required by the target virtual machine to be created does not exist in the physical hosts, creating the target virtual machine on the physical host with the maximum current available physical bandwidth, wherein when the total bandwidth required by each virtual machine created in one physical host is larger than the current available bandwidth of the physical host, the bandwidth is allocated to each virtual machine based on the priority of each virtual machine.
Optionally, the apparatus further comprises:
and the setting unit is used for setting a corresponding forwarding flow table for each virtual machine based on the virtual switch technology and setting the hit priority of each forwarding flow table, wherein when the traffic of each service is forwarded, the traffic of the forwarding flow table with higher hit priority is preferentially forwarded based on the hit priority of each forwarding flow table.
In a third aspect, an embodiment of the present application further provides a bandwidth allocation apparatus, where the bandwidth allocation 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, the present application further provides a computer-readable storage medium storing computer-executable instructions for causing a computer to perform the steps of the method according to any one of the above first aspects.
To sum up, the bandwidth allocation method provided in the embodiment of the present application configures bandwidth allocation policies corresponding to different service services, based on traffic attributes of the different service services, where one bandwidth allocation policy is used to ensure a minimum bandwidth of a virtual machine associated with the bandwidth allocation policy when executing a relevant service; creating virtual machines for running different business services, and respectively setting the priority of each virtual machine based on the business service run by each virtual machine; and respectively establishing association relations among the bandwidth allocation strategies corresponding to the virtual machines based on the service services operated by the virtual machines, wherein at least one target virtual machine is operated on one physical host, and the physical host allocates the bandwidth to the target virtual machines based on the bandwidth allocation strategies associated with the target virtual machines and the priorities of the target virtual machines.
By adopting the bandwidth allocation method provided by the embodiment of the application, the corresponding minimum available bandwidth for ensuring the flow of the target service is set according to the service flow attribute, when the virtual machine is created, the priority of each virtual machine is set according to the importance of the service executed by each virtual machine, the association relation between each virtual machine and the corresponding bandwidth allocation strategy is established, and when the bandwidth allocation is subsequently carried out, the physical bandwidth allocation is carried out based on the bandwidth allocation strategy associated with the virtual machine, namely the priority of the virtual machine, so that a scheme for effectively allocating the bandwidth to each virtual machine in a cloud platform is provided, meanwhile, the available bandwidth of the important service flow can be effectively ensured when the physical resources are in shortage, the utilization rate of a network card is improved, and the user experience degree 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 needed to be used in the description of the embodiments of the present application or the prior art will be 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 detailed flowchart of a bandwidth allocation method provided in an embodiment of the present application;
fig. 2 is a schematic diagram of creating a virtual machine according to an embodiment of the present application;
fig. 3 is a schematic diagram of another virtual machine creation provided in the embodiment of the present application;
fig. 4 is a schematic diagram of a flow table setup provided in an embodiment of the present application;
fig. 5 is a schematic structural diagram of a bandwidth distribution apparatus according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of another bandwidth allocation 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 in the embodiments of the present application 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" as used may be interpreted as "at … …" or "when … …" or "in response to a determination".
Exemplarily, referring to fig. 1, a detailed flowchart of a bandwidth allocation method provided in an embodiment of the present application is shown, where the method is applied to a cloud operating system in a cloud platform, and the method includes the following steps:
step 100: and configuring bandwidth allocation strategies corresponding to the business services respectively based on the flow attributes of different business services, wherein one bandwidth allocation strategy is used for ensuring the minimum bandwidth of the associated virtual machine when the associated virtual machine executes the relevant business service.
In this embodiment of the present application, the cloud operating system may include a bandwidth allocation policy management platform, where the bandwidth allocation policy management platform configures, in advance, bandwidth allocation policies corresponding to respective service services based on traffic attributes of the respective service services, for example, a bandwidth allocation policy 1(qos1) is configured according to an Office Automation (OA) network, a bandwidth allocation policy 2(qos2) is set according to an access-specified web service (e.g., http.xxx.com), or a bandwidth allocation policy 3(qos3) is set according to a tcp service, and a bandwidth policy 4(qos4) is set according to a udp service.
Specifically, in this embodiment of the present application, the traffic attributes of the service attributes at least include: domain name information, and/or, protocol information, and/or, port information, and/or, IP address/MAC address information.
In practical applications, a bandwidth allocation policy may include a combination of at least one matching condition and a minimum guaranteed bandwidth value, for example, it is assumed that the at least one matching condition included in the bandwidth allocation policy is: condition 1, domain name information carried by traffic, condition 2, port information used for forwarding the traffic, condition 3, protocol information for forwarding the traffic; if the minimum guaranteed bandwidth is 200M, it is necessary to guarantee the minimum bandwidth that can be used by the traffic that satisfies the above 3 conditions at the same time.
That is, in the embodiment of the present application, a preferable implementation manner is that, when a pending traffic is detected, the traffic is matched with the condition 1, if the pending traffic is matched, the traffic is continuously matched with the condition 2, if the pending traffic is matched, the traffic is continuously matched with the condition 3, and if the pending traffic is matched, it is determined that the traffic simultaneously satisfies the above 3 conditions, that is, the bandwidth allocation policy is hit.
In the embodiment of the present application, the configuration manner of the bandwidth allocation policy is various, and for example, the configuration may be performed based on a domain name and a protocol included in the traffic attribute, or may be performed based on a port and a protocol. That is, each flow attribute combination may be performed according to application scenarios of different users (enterprises) and/or different requirements, and in the embodiment of the present application, no specific limitation is made herein.
Step 110: and creating virtual machines for running different business services, and respectively setting the priority of each virtual machine based on the business service run by each virtual machine.
In this embodiment of the present application, each virtual machine needs to be created on each physical host of the cloud platform, in this embodiment of the present application, the cloud operating system may further include a virtual machine management platform, based on the virtual machine management platform, virtual machines for running different service services may be created on each physical host, and based on parameters such as importance of the service services run by each virtual machine, the priority of each virtual machine is set, where, for a virtual machine on the same physical host, the higher the priority is, the higher the authority to use the bandwidth is.
In the embodiment of the present application, the current available bandwidths of the physical hosts in the cloud platform are different, and the bandwidths required by the virtual machines to be created for running different business services are also different, so when creating the virtual machines for running different business services, a preferred implementation manner is to respectively determine the size of the bandwidth required by the virtual machines to be created for running different business services and the size of the physical bandwidth currently available to the physical hosts; and creating each virtual machine to be created to a corresponding physical host based on the size of the bandwidth required by the virtual machine to be created for running different business services and the size of the physical bandwidth currently available by each physical host.
Further, in the embodiment of the present application, when creating each virtual machine to be created onto a corresponding physical host based on the size of the bandwidth required by the virtual machine to be created for running different service services and the size of the currently usable physical bandwidth of each physical host, a preferred implementation manner is to determine whether a target physical host whose currently usable bandwidth is greater than or equal to the bandwidth required by the target virtual machine to be created exists in each physical host; if a target physical host with the current available physical bandwidth larger than or equal to the bandwidth required by the target virtual machine to be created exists in the physical hosts, creating the target virtual machine on the target physical host; if there is no target physical host with the current available physical bandwidth larger than or equal to the bandwidth required by the target virtual machine to be created in the physical hosts, creating the target virtual machine on the physical host with the maximum current available physical bandwidth, wherein when the total bandwidth required by each virtual machine created in one physical host is larger than the current available bandwidth of the physical host, the bandwidth is allocated to each virtual machine based on the priority of each virtual machine.
That is, when the physical host bandwidth resources in the cloud platform are sufficient, for example, the currently available bandwidth of the physical host 1 is 100M, and the bandwidth required by the virtual machine X to be created for running the business service 1 is 80M, the virtual machine X can be created on the physical host 1. When the bandwidth required by the virtual machine Y to be created for running the business service 2 is 200M, the currently available bandwidth of each physical machine in the current cloud platform is less than 200, and the currently available bandwidth of the physical host 2 is the largest, the virtual machine Y may be created on the physical host 2 with the largest currently available bandwidth among the physical hosts.
Illustratively, referring to fig. 2, a schematic diagram of creating a virtual machine according to an embodiment of the present application is provided. The virtual machines to be created include a virtual machine 1, a virtual machine 2 and a virtual machine 3, the bandwidth required by the virtual machine 1 is 100M, the bandwidth required by the virtual machine 2 is 20M, and the bandwidth required by the virtual machine 3 is 30M, when the cloud operating system detects that the bandwidth currently available to the physical host 1 is 200M and the bandwidth currently available to the physical host 2 is 80M, a preferred implementation is to create the virtual machine 1 on the physical host 1 and create the virtual machine 2 and the virtual machine 3 on the physical host 2, of course, since the total bandwidth required by the virtual machine 1, the virtual machine 2 and the virtual machine 3 is 130M and the bandwidth currently available to the physical host 1 is 200M, then another preferred implementation is to create the virtual machine 1, the virtual machine 2 and the virtual machine 3 on the physical node 1.
Illustratively, referring to fig. 3, a schematic diagram is created for another virtual machine provided in the embodiment of the present application. The virtual machines to be created comprise a virtual machine 1, a virtual machine 2 and a virtual machine 3, the bandwidth required by the virtual machine 1 is 100M, the bandwidth required by the virtual machine 2 is 20M, the bandwidth required by the virtual machine 3 is 30M, and the cloud operating system detects that only the physical host 3 has the currently usable bandwidth of 50M and the other physical hosts have no currently usable bandwidth, then the virtual machine 1, the virtual machine 2 and the virtual machine 3 can be created on the physical node 3, at this time, since the corresponding priority is set when the virtual machine is created (for example, the priority of the virtual machine 1 is high, the priority of the virtual machine 2 is medium, and the priority of the virtual machine 3 is low), the physical host 3 can use the bandwidth preferentially for the virtual machine 1, when the virtual machine 1 is idle, the physical host 3 can use the bandwidth preferentially for the virtual machine 2, when the virtual machine 1 and the virtual machine 2 are idle, the physical host 3 can currently use bandwidth first for the virtual machine 3.
Step 120: and respectively establishing association relations among the bandwidth allocation strategies corresponding to the virtual machines based on the service services operated by the virtual machines, wherein at least one target virtual machine is operated on one physical host, and the physical host allocates the bandwidth to the target virtual machines based on the bandwidth allocation strategies associated with the target virtual machines and the priorities of the target virtual machines.
In this embodiment of the present application, after a virtual machine is created on each physical host, a bandwidth allocation policy configured based on traffic attributes of the virtual machine needs to be determined according to the traffic service operated by the virtual machine, for example, if the virtual machine 1 is used to operate the traffic service 1, the virtual machine 2 is used to operate the traffic service 2, the virtual machine 3 is used to operate the traffic service 3, and the bandwidth allocation policy 1 is configured based on the traffic attributes of the traffic service 1, the bandwidth allocation policy 2 is configured based on the traffic attributes of the traffic service 2, and the bandwidth allocation policy 3 is configured based on the traffic attributes of the traffic service 3, then after the virtual machine 1, the virtual machine 2, and the virtual machine 3 are created, an association relationship between the virtual machine 1 and the bandwidth allocation policy 1 is established, and an association relationship between the virtual machine 2 and the bandwidth allocation policy 2 is established, and establishing an association relation between the virtual machine 3 and the bandwidth allocation strategy 3. When the subsequent flow forwarding is performed, the bandwidth allocation strategy 1 can be adopted to ensure the forwarding of the service flow of the virtual machine 1, the bandwidth allocation strategy 2 can be adopted to ensure the forwarding of the service flow of the virtual machine 2, and the bandwidth allocation strategy 3 can be adopted to ensure the forwarding of the service flow of the virtual machine 3.
Further, in this embodiment of the present application, the bandwidth allocation method may further include the following steps: based on the virtual switch technology, a corresponding forwarding flow table is set for each virtual machine, and the hit priority of each forwarding flow table is set, wherein when the traffic of each service is forwarded, the traffic of the forwarding flow table with higher hit priority is forwarded preferentially based on the hit priority of each forwarding flow table.
Exemplarily, referring to fig. 4, a flow table setting schematic diagram provided in the embodiment of the present application is shown, where a flow table 1 is formed based on a bandwidth allocation policy 1 associated with a virtual machine 1, and if the priority of the virtual machine 1 is high, the priority of the flow table 1 corresponding to the virtual machine 1 is high, and the hit priority is high; forming a flow table 2 based on a bandwidth allocation policy 2 associated with the virtual machine 2, wherein the priority of the virtual machine 2 is medium, and then the priority of the flow table 2 corresponding to the virtual machine 2 is medium, and the hit priority is medium; flow table 3 is formed based on bandwidth allocation policy 3 associated with virtual machine 3, and the priority of virtual machine 32 is low, so that the priority of flow table 3 corresponding to virtual machine 3 is low, and the hit priority is low.
Based on the same inventive concept as the method embodiment described above, exemplarily, refer to fig. 5, which is a schematic structural diagram of a bandwidth allocation apparatus provided in an embodiment of the present application, and the bandwidth allocation apparatus is applied to a cloud operating system, and the apparatus includes:
a configuration unit 50, configured to configure bandwidth allocation policies corresponding to different service services, based on traffic attributes of the different service services, where one bandwidth allocation policy is used to ensure a minimum bandwidth of a virtual machine associated therewith when executing a relevant service;
a creating unit 51, configured to create virtual machines for running different service services, and set priorities of the virtual machines based on the service services run by the virtual machines, respectively;
the establishing unit 52 is configured to respectively establish an association relationship between bandwidth allocation policies corresponding to the virtual machines based on the service services run by the virtual machines, where at least one target virtual machine runs on one physical host, and the physical host performs bandwidth allocation on each target virtual machine based on the bandwidth allocation policy associated with each target virtual machine and the priority of each target virtual machine.
Optionally, the traffic attributes of the service attributes at least include: domain name information, and/or, protocol information, and/or, port information, and/or, IP address/MAC address information.
Optionally, when creating a virtual machine for running different service services, the creating unit 51 is specifically configured to:
respectively determining the size of the bandwidth required by virtual machines to be created for running different business services and the size of the physical bandwidth currently available by each physical host;
and creating each virtual machine to be created to a corresponding physical host based on the size of the bandwidth required by the virtual machine to be created for running different business services and the size of the physical bandwidth currently available by each physical host.
Optionally, when creating each virtual machine to be created onto a corresponding physical host based on the size of the bandwidth required by the virtual machine to be created for running different service services and the size of the physical bandwidth currently available to each physical host, the creating unit 51 is specifically configured to:
judging whether a target physical host with the current available bandwidth larger than or equal to the bandwidth required by the target virtual machine to be created exists in the physical hosts;
if a target physical host with the current available physical bandwidth larger than or equal to the bandwidth required by the target virtual machine to be created exists in the physical hosts, creating the target virtual machine on the target physical host;
and if the target physical host with the current available physical bandwidth larger than or equal to the bandwidth required by the target virtual machine to be created does not exist in the physical hosts, creating the target virtual machine on the physical host with the maximum current available physical bandwidth, wherein when the total bandwidth required by each virtual machine created in one physical host is larger than the current available bandwidth of the physical host, the bandwidth is allocated to each virtual machine based on the priority of each virtual machine.
Optionally, the apparatus further comprises:
and the setting unit is used for setting a corresponding forwarding flow table for each virtual machine based on the virtual switch technology and setting the hit priority of each forwarding flow table, wherein when the traffic of each service is forwarded, the traffic of the forwarding flow table with higher hit priority is preferentially forwarded based on the hit priority of each forwarding flow table.
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).
To sum up, the bandwidth allocation method provided in the embodiment of the present application configures bandwidth allocation policies corresponding to different service services, based on traffic attributes of the different service services, where one bandwidth allocation policy is used to ensure a minimum bandwidth of a virtual machine associated with the bandwidth allocation policy when executing a relevant service; creating virtual machines for running different business services, and respectively setting the priority of each virtual machine based on the business service run by each virtual machine; and respectively establishing association relations among the bandwidth allocation strategies corresponding to the virtual machines based on the service services operated by the virtual machines, wherein at least one target virtual machine is operated on one physical host, and the physical host allocates the bandwidth to the target virtual machines based on the bandwidth allocation strategies associated with the target virtual machines and the priorities of the target virtual machines.
By adopting the bandwidth allocation method provided by the embodiment of the application, the corresponding minimum available bandwidth for ensuring the flow of the target service is set according to the service flow attribute, when the virtual machine is created, the priority of each virtual machine is set according to the importance of the service executed by each virtual machine, the association relation between each virtual machine and the corresponding bandwidth allocation strategy is established, and when the bandwidth allocation is subsequently carried out, the physical bandwidth allocation is carried out based on the bandwidth allocation strategy associated with the virtual machine, namely the priority of the virtual machine, so that a scheme for effectively allocating the bandwidth to each virtual machine in a cloud platform is provided, meanwhile, the available bandwidth of the important service flow can be effectively ensured when the physical resources are in shortage, the utilization rate of a network card is improved, and the user experience degree is improved.
Further, in the bandwidth allocation apparatus provided in the embodiment of the present application, from a hardware level, a schematic diagram of a hardware architecture of the bandwidth allocation apparatus may be shown in fig. 6, where the bandwidth allocation apparatus may include: a memory 60 and a processor 61, wherein,
the memory 60 is used to store program instructions; the processor 61 calls the program instructions stored in the memory 60 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 also provides a bandwidth distribution apparatus comprising at least one processing element (or chip) for performing the above-described 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: a RAM (random Access Memory), a volatile Memory, a non-volatile Memory, a 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, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or 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 exemplary of the present application and should not be taken as limiting the present application, as any modification, equivalent replacement, or improvement made within the spirit and principle of the present application should be included in the scope of protection of the present application.
Claims (10)
1. A bandwidth allocation method is applied to a cloud operating system in a cloud platform, and comprises the following steps:
configuring bandwidth allocation strategies corresponding to the business services respectively based on the flow attributes of different business services, wherein one bandwidth allocation strategy is used for ensuring the minimum bandwidth of the associated virtual machine when executing the related business service;
creating virtual machines for running different business services, and respectively setting the priority of each virtual machine based on the business service run by each virtual machine;
and respectively establishing association relations among the bandwidth allocation strategies corresponding to the virtual machines based on the service services operated by the virtual machines, wherein at least one target virtual machine is operated on one physical host, and the physical host allocates the bandwidth to the target virtual machines based on the bandwidth allocation strategies associated with the target virtual machines and the priorities of the target virtual machines.
2. The method of claim 1, wherein the traffic attributes of the business service attributes comprise at least: domain name information, and/or, protocol information, and/or, port information, and/or, IP address/MAC address information.
3. The method of claim 1, wherein the step of creating virtual machines for running different business services comprises:
respectively determining the size of the bandwidth required by virtual machines to be created for running different business services and the size of the physical bandwidth currently available by each physical host;
and creating each virtual machine to be created to a corresponding physical host based on the size of the bandwidth required by the virtual machine to be created for running different business services and the size of the physical bandwidth currently available by each physical host.
4. The method of claim 3, wherein the step of creating each virtual machine to be created onto the corresponding physical host based on the size of the bandwidth required by the virtual machine to be created for running different business services and the size of the physical bandwidth currently available to each physical host comprises:
judging whether a target physical host with the current available bandwidth larger than or equal to the bandwidth required by the target virtual machine to be created exists in the physical hosts;
if a target physical host with the current available physical bandwidth larger than or equal to the bandwidth required by the target virtual machine to be created exists in the physical hosts, creating the target virtual machine on the target physical host;
and if the target physical host with the current available physical bandwidth larger than or equal to the bandwidth required by the target virtual machine to be created does not exist in the physical hosts, creating the target virtual machine on the physical host with the maximum current available physical bandwidth, wherein when the total bandwidth required by each virtual machine created in one physical host is larger than the current available bandwidth of the physical host, the bandwidth is allocated to each virtual machine based on the priority of each virtual machine.
5. The method of claim 1, wherein the method further comprises:
based on the virtual switch technology, a corresponding forwarding flow table is set for each virtual machine, and the hit priority of each forwarding flow table is set, wherein when the traffic of each service is forwarded, the traffic of the forwarding flow table with higher hit priority is forwarded preferentially based on the hit priority of each forwarding flow table.
6. The bandwidth distribution device is applied to a cloud operating system in a cloud platform, and comprises the following components:
the configuration unit is used for configuring bandwidth allocation strategies corresponding to the business services respectively based on the flow attributes of different business services, wherein one bandwidth allocation strategy is used for ensuring the minimum bandwidth of the associated virtual machine when the associated virtual machine executes the related business service;
the system comprises a creating unit, a judging unit and a judging unit, wherein the creating unit is used for creating virtual machines for running different business services and respectively setting the priority of each virtual machine based on the business service run by each virtual machine;
and the establishing unit is used for respectively establishing the association relationship between the bandwidth allocation strategies corresponding to the virtual machines based on the service operated by the virtual machines, wherein one physical host operates at least one target virtual machine, and the physical host performs bandwidth allocation on the target virtual machines based on the bandwidth allocation strategies associated with the target virtual machines and the priorities of the target virtual machines.
7. The apparatus of claim 6, wherein the traffic attributes of the business service attributes comprise at least: domain name information, and/or, protocol information, and/or, port information, and/or, IP address/MAC address information.
8. The apparatus according to claim 6, wherein, when creating the virtual machine for running different business services, the creating unit is specifically configured to:
respectively determining the size of the bandwidth required by virtual machines to be created for running different business services and the size of the physical bandwidth currently available by each physical host;
and creating each virtual machine to be created to a corresponding physical host based on the size of the bandwidth required by the virtual machine to be created for running different business services and the size of the physical bandwidth currently available by each physical host.
9. The apparatus according to claim 8, wherein when each virtual machine to be created is created to a corresponding physical host based on the size of the bandwidth required by the virtual machine to be created for running different business services and the size of the physical bandwidth currently available to each physical host, the creating unit is specifically configured to:
judging whether a target physical host with the current available bandwidth larger than or equal to the bandwidth required by the target virtual machine to be created exists in the physical hosts;
if a target physical host with the current available physical bandwidth larger than or equal to the bandwidth required by the target virtual machine to be created exists in the physical hosts, creating the target virtual machine on the target physical host;
and if the target physical host with the current available physical bandwidth larger than or equal to the bandwidth required by the target virtual machine to be created does not exist in the physical hosts, creating the target virtual machine on the physical host with the maximum current available physical bandwidth, wherein when the total bandwidth required by each virtual machine created in one physical host is larger than the current available bandwidth of the physical host, the bandwidth is allocated to each virtual machine based on the priority of each virtual machine.
10. The apparatus of claim 6, wherein the apparatus further comprises:
and the setting unit is used for setting a corresponding forwarding flow table for each virtual machine based on the virtual switch technology and setting the hit priority of each forwarding flow table, wherein when the traffic of each service is forwarded, the traffic of the forwarding flow table with higher hit priority is preferentially forwarded based on the hit priority of each forwarding flow table.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010864296.7A CN112148426A (en) | 2020-08-25 | 2020-08-25 | Bandwidth allocation method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010864296.7A CN112148426A (en) | 2020-08-25 | 2020-08-25 | Bandwidth allocation method and device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112148426A true CN112148426A (en) | 2020-12-29 |
Family
ID=73888912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010864296.7A Pending CN112148426A (en) | 2020-08-25 | 2020-08-25 | Bandwidth allocation method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112148426A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174407A (en) * | 2022-06-17 | 2022-10-11 | 上海仪电(集团)有限公司中央研究院 | Method and system for dynamically allocating bandwidth based on private cloud environment |
CN115378885A (en) * | 2022-07-18 | 2022-11-22 | 北京志凌海纳科技有限公司 | Virtual machine service network bandwidth management method and device under super-convergence architecture |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499021A (en) * | 2008-01-31 | 2009-08-05 | 国际商业机器公司 | Method and apparatus for dynamically distributing resources on a plurality of virtual machines |
CN103548324A (en) * | 2012-02-22 | 2014-01-29 | 华为技术有限公司 | Method for virtual machine assignment and device for virtual machine assignment |
US20140201738A1 (en) * | 2013-01-11 | 2014-07-17 | Electronics And Telecommunications Research Institute | Switch and method for guaranteeing quality of service of multi-tenant cloud service and system having the same switch |
CN106453126A (en) * | 2016-11-29 | 2017-02-22 | 郑州云海信息技术有限公司 | Virtual machine traffic control method and device |
CN106572032A (en) * | 2016-09-28 | 2017-04-19 | 浪潮电子信息产业股份有限公司 | Method for realizing virtual network priority |
WO2017100987A1 (en) * | 2015-12-15 | 2017-06-22 | 上海交通大学 | Embedding implementation method for non-uniform bandwidth virtual data centre based on congestion avoidance |
CN107346264A (en) * | 2016-05-05 | 2017-11-14 | 北京金山云网络技术有限公司 | A kind of method, apparatus and server apparatus of virtual machine load balance scheduling |
CN110430112A (en) * | 2019-06-26 | 2019-11-08 | 苏州浪潮智能科技有限公司 | A kind of method and apparatus for realizing virtual machine network IO priority |
CN110661654A (en) * | 2019-09-19 | 2020-01-07 | 北京浪潮数据技术有限公司 | Network bandwidth resource allocation method, device, equipment and readable storage medium |
CN110730205A (en) * | 2019-09-06 | 2020-01-24 | 深圳平安通信科技有限公司 | Cluster system deployment method and device, computer equipment and storage medium |
CN110753009A (en) * | 2019-10-23 | 2020-02-04 | 重庆邮电大学 | Virtual machine and network bandwidth joint distribution method based on multi-QoS grouping |
-
2020
- 2020-08-25 CN CN202010864296.7A patent/CN112148426A/en active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499021A (en) * | 2008-01-31 | 2009-08-05 | 国际商业机器公司 | Method and apparatus for dynamically distributing resources on a plurality of virtual machines |
CN103548324A (en) * | 2012-02-22 | 2014-01-29 | 华为技术有限公司 | Method for virtual machine assignment and device for virtual machine assignment |
US20140201738A1 (en) * | 2013-01-11 | 2014-07-17 | Electronics And Telecommunications Research Institute | Switch and method for guaranteeing quality of service of multi-tenant cloud service and system having the same switch |
WO2017100987A1 (en) * | 2015-12-15 | 2017-06-22 | 上海交通大学 | Embedding implementation method for non-uniform bandwidth virtual data centre based on congestion avoidance |
CN107346264A (en) * | 2016-05-05 | 2017-11-14 | 北京金山云网络技术有限公司 | A kind of method, apparatus and server apparatus of virtual machine load balance scheduling |
CN106572032A (en) * | 2016-09-28 | 2017-04-19 | 浪潮电子信息产业股份有限公司 | Method for realizing virtual network priority |
CN106453126A (en) * | 2016-11-29 | 2017-02-22 | 郑州云海信息技术有限公司 | Virtual machine traffic control method and device |
CN110430112A (en) * | 2019-06-26 | 2019-11-08 | 苏州浪潮智能科技有限公司 | A kind of method and apparatus for realizing virtual machine network IO priority |
CN110730205A (en) * | 2019-09-06 | 2020-01-24 | 深圳平安通信科技有限公司 | Cluster system deployment method and device, computer equipment and storage medium |
CN110661654A (en) * | 2019-09-19 | 2020-01-07 | 北京浪潮数据技术有限公司 | Network bandwidth resource allocation method, device, equipment and readable storage medium |
CN110753009A (en) * | 2019-10-23 | 2020-02-04 | 重庆邮电大学 | Virtual machine and network bandwidth joint distribution method based on multi-QoS grouping |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174407A (en) * | 2022-06-17 | 2022-10-11 | 上海仪电(集团)有限公司中央研究院 | Method and system for dynamically allocating bandwidth based on private cloud environment |
CN115174407B (en) * | 2022-06-17 | 2024-06-04 | 上海仪电(集团)有限公司中央研究院 | Bandwidth dynamic allocation method and system based on private cloud environment |
CN115378885A (en) * | 2022-07-18 | 2022-11-22 | 北京志凌海纳科技有限公司 | Virtual machine service network bandwidth management method and device under super-convergence architecture |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10009284B2 (en) | Policy-based session establishment and transfer in a virtualized/cloud environment | |
US10411951B2 (en) | Network policy conflict detection and resolution | |
US11240745B2 (en) | Network slice instance processing method and apparatus, and system | |
CN109981493B (en) | Method and device for configuring virtual machine network | |
US11106503B2 (en) | Assignment of resources to database connection processes based on application information | |
EP3073374A1 (en) | Thread creation method, service request processing method and related device | |
CN106411558B (en) | Method and system for limiting data flow | |
JP2015115059A (en) | Method, information handling system and computer program for dynamically changing cloud computing environment | |
CN105791254B (en) | Network request processing method and device and terminal | |
US10593009B1 (en) | Session coordination for auto-scaled virtualized graphics processing | |
CN112148426A (en) | Bandwidth allocation method and device | |
CN112367267B (en) | Virtual machine management method and device | |
CN106533961B (en) | Flow control method and device | |
US11316916B2 (en) | Packet processing method, related device, and computer storage medium | |
WO2013082742A1 (en) | Resource scheduling method, device and system | |
CN104991822A (en) | Memory management method and apparatus | |
Chen et al. | The container scheduling method based on the min-min in edge computing | |
US11057308B2 (en) | User- and application-based network treatment policies | |
CN110515728B (en) | Server scheduling method and device, electronic equipment and machine-readable storage medium | |
WO2021012506A1 (en) | Method and apparatus for realizing load balancing in speech recognition system, and computer device | |
CN111338803A (en) | Thread processing method and device | |
CN111835797A (en) | Data processing method, device and equipment | |
EP3342113B1 (en) | Dynamic allocation of resources within network devices | |
CN110300068B (en) | ARP resource management method and device and electronic equipment | |
CN113630339A (en) | Flow forwarding method and device, electronic equipment and storage medium |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201229 |
|
RJ01 | Rejection of invention patent application after publication |