CN106357559B - Bandwidth allocation method and device - Google Patents
Bandwidth allocation method and device Download PDFInfo
- Publication number
- CN106357559B CN106357559B CN201610839722.5A CN201610839722A CN106357559B CN 106357559 B CN106357559 B CN 106357559B CN 201610839722 A CN201610839722 A CN 201610839722A CN 106357559 B CN106357559 B CN 106357559B
- Authority
- CN
- China
- Prior art keywords
- bandwidth
- bandwidths
- user
- sum
- adjusting
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention discloses a method and a device for bandwidth allocation, relates to the technical field of internet, and solves the problem that the existing bandwidth resources are unreasonable in use. The method of the invention comprises the following steps: counting historical use bandwidth parameters of the same user in the same target time period in different periods; calculating a bandwidth configuration parameter of the current target time period according to the historical bandwidth usage parameter; and allocating the bandwidth for the user according to the bandwidth configuration parameters. The invention is applied to the process of network bandwidth allocation.
Description
Technical Field
The invention relates to the technical field of internet, in particular to a method and a device for bandwidth allocation.
Background
The total bandwidth of a network is fixed, and when a plurality of users use a network at the same time, the bandwidth needs to be allocated. How to reasonably allocate the bandwidth is crucial to meet the demands of all users as much as possible. Generally, when bandwidth allocation is performed, two problems need to be considered: first, in any case, it is necessary to guarantee a certain bandwidth to each user to use the underlying network services; second, when the bandwidth is free, the bandwidth is used to the maximum extent so that the user uses the network service more efficiently.
Currently, the commonly used bandwidth allocation strategy is: the users in the network are divided into different levels, and the administrator formulates a bandwidth allocation strategy according to the levels of the users. Setting a minimum use bandwidth and a lower maximum use bandwidth for users with low grades; a minimum usage bandwidth is set for the users with high grade as well as the users with low grade, and a higher maximum usage bandwidth is set.
When the bandwidth is allocated by using the above-mentioned strategy for allocating bandwidth, the inventor finds that the phenomenon that the bandwidth resource is not reasonably used often occurs. For example, for a user with a low rank, a situation that the actually required maximum bandwidth is high and the set maximum bandwidth is low may occur, and this situation may affect the work efficiency of the user with the low rank; for a high-level user, a situation may occur in which the actually required maximum used bandwidth is low and the set maximum used bandwidth is high, which may cause a waste of bandwidth.
Disclosure of Invention
In view of the above problems, the present invention provides a method and an apparatus for allocating bandwidth, so as to solve the problem of unreasonable use of bandwidth resources in the prior art.
In one aspect, the present invention provides a method for bandwidth allocation, including:
counting historical use bandwidth parameters of the same user in the same target time period in different periods;
calculating a bandwidth configuration parameter of the current target time period according to the historical bandwidth usage parameter;
and allocating the bandwidth for the user according to the bandwidth configuration parameters.
Specifically, the counting of the historical bandwidth usage parameters of the same user in the same target time period in different periods includes:
counting the minimum used bandwidths of the users in the same target time period in different periods respectively to obtain a plurality of minimum used bandwidths, wherein the minimum used bandwidths correspond to the periods one by one;
and counting the maximum use bandwidths of the users in the same target time period in different periods respectively to obtain a plurality of maximum use bandwidths, wherein the maximum use bandwidths correspond to the periods one by one.
Specifically, the calculating the bandwidth configuration parameter of the current target time interval according to the historical bandwidth usage parameter includes:
determining a guaranteed bandwidth of the current target time period according to a maximum value of a plurality of minimum used bandwidths, wherein the guaranteed bandwidth is a lower limit value of bandwidth allocated to the user;
and determining the limited bandwidth of the current target time interval according to the average value of a plurality of maximum used bandwidths, wherein the limited bandwidth is the upper limit value of the bandwidth allocated to the user.
Specifically, the determining the guaranteed bandwidth of the current target time interval according to the maximum value of the minimum used bandwidths includes:
calculating the guaranteed bandwidth according to the following formula:
λ*max(Amax,ε)
wherein λ is the adjustment coefficient, AmaxAnd epsilon is the maximum value in the minimum used bandwidths, and epsilon is a preset minimum guaranteed bandwidth.
Specifically, the determining the limited bandwidth of the current target time interval according to the average value of the multiple maximum used bandwidths includes:
determining the limiting bandwidth according to the following formula
Where Ag is the guaranteed bandwidth, W is the total bandwidth of the network,is the sum of guaranteed bandwidths corresponding to all users in the network, AavgIs the average of the plurality of maximum bandwidths used,and the sum of a plurality of the average values respectively corresponding to all the users is obtained, m is the number of the users in the network, and i represents the ith user.
Specifically, the method further comprises:
counting the sum of the use bandwidths of all users at the current moment;
and when the sum of the used bandwidths is smaller than a preset threshold value, dynamically adjusting the guaranteed bandwidth and the limited bandwidth according to the sum of the used bandwidths.
Specifically, the dynamically adjusting the guaranteed bandwidth according to the total bandwidth includes:
adjusting the adjusting coefficient according to the difference value between the sum of the used bandwidths and the preset threshold value, wherein the adjusting amplitude of the adjusting coefficient is in direct proportion to the difference value;
and correspondingly adjusting the guaranteed bandwidth according to the adjusted adjusting coefficient.
Specifically, the dynamically adjusting the limited bandwidth according to the total bandwidth includes:
correspondingly adjusting the limited bandwidth according to the adjusted guaranteed bandwidth to obtain a first adjusted limited bandwidth;
calculating a second adjustment limit bandwidth according to the sum of the used bandwidths;
assigning a larger one of the first adjusted limiting bandwidth and the second adjusted limiting bandwidth to the limiting bandwidth.
Specifically, the calculating a second adjustment limit bandwidth according to the sum of the usage bandwidths includes:
calculating the second regulatory limit bandwidth according to the following formula:
wherein mu is a preset load factor of the network,for said sum of used bandwidths, AcurrentThe bandwidth used by the user at the current moment.
In another aspect, the present invention provides a bandwidth allocation apparatus, including:
the history counting unit is used for counting the historical use bandwidth parameters of the same user in the same target time period in different periods;
the calculating unit is used for calculating the bandwidth configuration parameters of the current target time interval according to the historical use bandwidth parameters;
and the allocation unit is used for allocating the bandwidth for the user according to the bandwidth configuration parameter.
Specifically, the history statistics unit includes:
the first statistical module is used for counting the minimum used bandwidths of the users in the same target time period in different periods respectively to obtain a plurality of minimum used bandwidths, and the minimum used bandwidths correspond to the periods one by one;
and the second statistical module is used for counting the maximum use bandwidths of the users in the same target time period in different periods respectively to obtain a plurality of maximum use bandwidths, and the maximum use bandwidths correspond to the periods one by one.
Specifically, the calculation unit includes:
a first calculation module, configured to determine, according to a maximum value of multiple minimum usage bandwidths, a guaranteed bandwidth of the current target time period, where the guaranteed bandwidth is a lower limit value of a bandwidth allocated to the user;
and the second calculation module is used for determining the limited bandwidth of the current target time interval according to the average value of a plurality of maximum used bandwidths, wherein the limited bandwidth is the upper limit value of the bandwidth allocated to the user.
Specifically, the first calculating module is configured to:
calculating the guaranteed bandwidth according to the following formula:
λ*max(Amax,ε)
wherein λ is the adjustment coefficient, AmaxAnd epsilon is the maximum value in the minimum used bandwidths, and epsilon is a preset minimum guaranteed bandwidth.
Specifically, the second calculating module is configured to:
determining the limiting bandwidth according to the following formula
Where Ag is the guaranteed bandwidth, W is the total bandwidth of the network,is the sum of guaranteed bandwidths corresponding to all users in the network, AavgIs the average of the plurality of maximum bandwidths used,and the sum of a plurality of the average values respectively corresponding to all the users is obtained, m is the number of the users in the network, and i represents the ith user.
Specifically, the apparatus further comprises:
the current counting unit is used for counting the sum of the use bandwidths of all the users at the current moment;
and the adjusting unit is used for dynamically adjusting the guaranteed bandwidth and the limited bandwidth according to the sum of the used bandwidths when the sum of the used bandwidths is smaller than a preset threshold.
Specifically, the adjusting unit includes:
the adjusting module is used for adjusting the adjusting coefficient according to the difference value between the sum of the used bandwidths and the preset threshold, and the adjusting amplitude of the adjusting coefficient is in direct proportion to the difference value;
and the first adjusting module is used for correspondingly adjusting the guaranteed bandwidth according to the adjusted adjusting coefficient.
Specifically, the adjusting unit includes:
the second adjusting module is used for correspondingly adjusting the limited bandwidth according to the adjusted guaranteed bandwidth to obtain a first adjusted limited bandwidth;
the third calculation module is used for calculating a second adjustment limit bandwidth according to the sum of the used bandwidths;
and the assignment module is used for assigning the larger limited bandwidth of the first adjustment limited bandwidth and the second adjustment limited bandwidth to the limited bandwidth.
Specifically, the third calculating module is configured to:
calculating the second regulatory limit bandwidth according to the following formula:
wherein mu is a preset load factor of the network,for said sum of used bandwidths, AcurrentThe bandwidth used by the user at the current moment.
The method and the device for bandwidth allocation provided by the invention can firstly count the historical bandwidth usage parameters of the same user in the same target time period in different periods, then calculate the bandwidth configuration parameters corresponding to the user in the current target time period according to the historical bandwidth usage parameters, and finally allocate the bandwidth to the user according to the obtained bandwidth configuration parameters. Compared with the prior art, the method and the device can calculate the bandwidth configuration parameters in the current period by taking the bandwidth parameters used by the users in the historical period as the basis, and do not enable an administrator to set the bandwidth configuration parameters at will according to different user levels, so that the actual requirements of the user bandwidth can be met better, and the use of the network bandwidth is more reasonable.
The foregoing description is only an overview of the technical solutions of the present invention, and the embodiments of the present invention are described below in order to make the technical means of the present invention more clearly understood and to make the above and other objects, features, and advantages of the present invention more clearly understandable.
Drawings
Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiments. The drawings are only for purposes of illustrating the preferred embodiments and are not to be construed as limiting the invention. Also, like reference numerals are used to refer to like parts throughout the drawings. In the drawings:
fig. 1 is a flowchart illustrating a method for allocating bandwidth according to an embodiment of the present invention;
fig. 2 is a flow chart of another bandwidth allocation method provided by the embodiment of the invention;
FIG. 3 is a block diagram illustrating an apparatus for bandwidth allocation according to an embodiment of the present invention;
fig. 4 is a block diagram illustrating another bandwidth allocation apparatus provided in an embodiment of the present invention.
Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
In order to solve the problem of unreasonable use of the existing bandwidth resources, an embodiment of the present invention provides a method for allocating bandwidth, as shown in fig. 1, the method includes:
it should be noted that, since the methods for calculating the bandwidth configuration parameter by different users in the same target time period and in different target time periods by the same user are the same, the present embodiment takes the calculation process of the bandwidth configuration parameter by one user in one target time period as an example.
101. And counting the historical bandwidth usage parameters of the same user in the same target time period in different periods.
The different periods refer to the historical periods before the current period, and in practical applications, the historical periods may be defined according to the working characteristics of users in the network and the time length defined by one period. For example, if a period is one day, the corresponding history period may be defined as the previous week in combination with the working characteristics of the user; if one period is one week, the corresponding history period can be the previous four weeks by combining the working characteristics of the user; and so on. In addition, one cycle may be divided into a plurality of periods, each of which is taken as one target period. The division of the cycle is exemplarily illustrated: for example, if a cycle is one day, the cycle may be divided into 0 according to the difference of bandwidth used by most users in different time periods in the day: 00-12: 00 and 12: 00-24: 00 two target periods, or divided into 0: 00-6: 00. 6: 00-12: 00, 13: 00-18: 00, 18: four target time periods of 00-24: 00; if a cycle is a week, the cycle can be divided into two target time periods of monday to friday and saturday to sunday; and so on.
102. And calculating the bandwidth configuration parameters of the current target time interval according to the historical use bandwidth parameters.
The problem of bandwidth allocation involved with network utility is mainly present in enterprises. The working requirements of the same user in an enterprise in a defined historical period usually change slightly, and the corresponding bandwidth use requirements may have a certain rule, so that the possible bandwidth use parameters of the user in the current target period can be estimated according to the historical bandwidth use parameters of the user in the historical period, which are in the same period as the current target period, so as to determine the bandwidth configuration parameters of the user in the current target period.
The historical period corresponding to each current target time interval is different, so the obtained historical bandwidth usage parameters are usually different, that is, the historical bandwidth usage parameters are dynamically changed parameters. For example, assuming that the historical period is defined as the previous week, and one period is one day, when the bandwidth configuration parameter of the current target period is calculated every day, the corresponding acquired historical bandwidth usage parameter is the bandwidth usage parameter of the target period in the previous week of the current day, so that the acquired historical bandwidth usage parameter is dynamically changed. The dynamically changed historical bandwidth usage parameters can ensure that the bandwidth configuration parameters are readjusted at any time according to the recent historical bandwidth usage of the user.
103. And allocating the bandwidth for the user according to the bandwidth configuration parameters.
The bandwidth configuration parameters comprise a guaranteed bandwidth and a limited bandwidth, wherein the guaranteed bandwidth is a lower limit value of bandwidth allocated to a user, and the limited bandwidth is an upper limit value of bandwidth allocated to the user. When bandwidth allocation is carried out for users, the use flow of the users is controlled according to the guaranteed bandwidth and the limited bandwidth: when the bandwidth required by the user is less than or equal to the guaranteed bandwidth, providing the guaranteed bandwidth for the user; when the bandwidth required by the user is larger than the guaranteed bandwidth and smaller than the limited bandwidth, providing the actual required bandwidth for the user; and when the bandwidth required by the user is greater than or equal to the limit bandwidth, providing the limit bandwidth for the user.
In the prior art, when bandwidth is allocated according to user classes, a user with the highest class, such as a boss, is not usually set with a limited bandwidth, so that a phenomenon that a large amount of bandwidth resources are occupied when the user with the highest class suddenly uses an application with a large occupied bandwidth or is maliciously utilized may occur, and normal use of other users is further affected. By using the method for allocating the bandwidth according to the historical use bandwidth parameters of the users in the embodiment, the phenomenon that the normal use of the bandwidth of other users is influenced by sudden use of a large amount of bandwidth by individual users can be effectively avoided.
The bandwidth allocation method provided by the embodiment of the invention can firstly count the historical bandwidth usage parameters of the same user in the same target time period in different periods, then calculate the bandwidth configuration parameters corresponding to the user in the current target time period according to the historical bandwidth usage parameters, and finally allocate the bandwidth to the user according to the obtained bandwidth configuration parameters. Compared with the prior art, the embodiment of the invention can calculate the bandwidth configuration parameters in the current period by taking the bandwidth parameters used by the users in the historical period as the basis, and does not enable an administrator to set the bandwidth configuration parameters at will according to different user levels, so that the actual requirements of the user bandwidth can be met better, and the use of the network bandwidth is more reasonable.
Further, as a refinement and an extension of the method shown in fig. 1, another embodiment of the present invention further provides a method for bandwidth allocation. As shown in fig. 2, the method includes:
201. and counting the historical bandwidth usage parameters of the same user in the same target time period in different periods.
The historical bandwidth usage parameters comprise minimum bandwidth usage and maximum bandwidth usage, the minimum bandwidth usage and the maximum bandwidth usage are minimum bandwidth usage and maximum bandwidth usage used by users in a target time period, each period obtains a minimum bandwidth usage and a maximum bandwidth usage, and different periods obtain a plurality of minimum bandwidth usage and a plurality of maximum bandwidth usage.
202. And determining the guaranteed bandwidth of the current target time interval according to the maximum value of the minimum used bandwidths.
Firstly, comparing a plurality of minimum used bandwidths obtained in different periods to determine the maximum value of the minimum used bandwidths. And then determining the guaranteed bandwidth of the current target time interval according to the maximum value of the minimum used bandwidth. Specifically, the guaranteed bandwidth is calculated according to the following formula:
Ag=λ*max(Amax,ε)
where Ag is the guaranteed bandwidth, λ is the adjustment factor, AmaxAnd epsilon is the maximum value in the minimum used bandwidths, and epsilon is the preset minimum guaranteed bandwidth. Wherein λ is a positive number greater than or equal to 1, and ε is a preset guarantee user use baseThe lowest bandwidth used for the network service.
It can be seen from the calculation formula of the guaranteed bandwidth that when the maximum value of the historical minimum bandwidth of a certain user is greater than the minimum guaranteed bandwidth, the minimum bandwidth which can be used by the user is determined according to the maximum value of the minimum bandwidth in the historical period. Compared with the prior art, the method has the advantages that the guaranteed bandwidth of the user is set to be the preset minimum guaranteed bandwidth distribution mode under any condition, and the working efficiency of the user can be improved.
203. And determining the limited bandwidth of the current target time interval according to the average value of the plurality of maximum used bandwidths.
Firstly, averaging a plurality of maximum used bandwidths obtained in different periods, and then determining the limited bandwidth of the current target time interval according to the obtained average of the maximum used bandwidths. Specifically, the bandwidth limit is determined according to the following formula:
where At is the bandwidth limit, W is the total bandwidth of the network,is the sum of the corresponding guaranteed bandwidths of all users in the current network, AavgIs the average of a plurality of maximum used bandwidths,the average value of the maximum used bandwidth corresponding to all the users in the current network is the sum, m is the number of the users in the current network, and i represents the ith user.
The bandwidth limiting method is determined according to the average value of the maximum used bandwidth in the user history period, the historical bandwidth requirements of the user can be combined more fully, and compared with the method for allocating the bandwidth according to the user grade in the prior art, the method can configure more reasonable limited bandwidth for the user.
204. And allocating the bandwidth for the user according to the bandwidth configuration parameters.
The implementation of this step is the same as that of step 103 in fig. 1, and is not described here again.
Further, under the condition of low network load, that is, when the sum of the bandwidths of all users in the network at the current time is smaller than the preset threshold, the guaranteed bandwidth and the limited bandwidth determined in fig. 2 are further adjusted, mainly to improve the guaranteed bandwidth and the limited bandwidth, so that the network bandwidth resources are fully utilized. The preset threshold is determined according to the total bandwidth W of the network and a preset load coefficient μ of the network, and is usually set to μ × W, where μ has a value range of (0, 1).
The specific process of adjusting the guaranteed bandwidth is as follows:
firstly, calculating the sum of the use bandwidths of all users in the network at the current moment; secondly, calculating the difference between the sum of the used bandwidths of all the users and a preset threshold; thirdly, adjusting the adjusting coefficient lambda according to the difference in the second step, wherein the larger the difference is, the larger the adjusting amplitude of lambda is. In practical application, the amplitude adjustment value can be set according to the number of users in the network, the difference value, the guaranteed bandwidth corresponding to different users and the like, or can be directly set according to experience; finally, the adjusted adjustment coefficient is substituted into the formula for calculating the guaranteed bandwidth in step 202 to obtain the adjusted guaranteed bandwidth, and the adjusted guaranteed bandwidth is covered over the original guaranteed bandwidth to realize the adjustment of the guaranteed bandwidth.
The specific process of adjusting the limited bandwidth is as follows:
firstly, the bandwidth limit is correspondingly adjusted according to the adjusted guaranteed bandwidth to obtain a first adjusted limited bandwidth, that is, the adjusted guaranteed bandwidth is substituted into the formula for calculating the limited bandwidth in step 203 to obtain the first adjusted limited bandwidth. Secondly, calculating a second adjustment limit bandwidth according to the sum of the use bandwidths of all the users in the network at the current moment, specifically according to a formulaTo calculate a second adjusted constrained bandwidth, wherein,for the sum of the bandwidths used by all users in the network at the present moment, AcurrentThe bandwidth is the use bandwidth of the current user at the current moment; thirdly, comparing the sizes of the first adjustment limiting bandwidth and the second adjustment limiting bandwidth, and taking the larger limiting bandwidth of the first adjustment limiting bandwidth and the second adjustment limiting bandwidth as the adjusted limiting bandwidth to cover the original limiting bandwidth so as to realize the adjustment of the limiting bandwidth.
Further, as an implementation of the foregoing embodiments, another embodiment of the embodiments of the present invention further provides a bandwidth allocation apparatus, which is used to implement the methods described in fig. 1 and fig. 2. As shown in fig. 3, the apparatus includes: a history statistics unit 31, a calculation unit 32 and an allocation unit 33.
And the history counting unit 31 is used for counting the history use bandwidth parameters of the same user in the same target time period in different cycles.
The different periods refer to the historical periods before the current period, and in practical applications, the historical periods may be defined according to the working characteristics of users in the network and the time length defined by one period.
And the calculating unit 32 is used for calculating the bandwidth configuration parameter of the current target time interval according to the historical use bandwidth parameter.
The problem of bandwidth allocation involved with network utility is mainly present in enterprises. The working requirements of the same user in an enterprise in a defined historical period usually change slightly, and the corresponding bandwidth use requirements may have a certain rule, so that the possible bandwidth use parameters of the user in the current target period can be estimated according to the historical bandwidth use parameters of the user in the historical period, which are in the same period as the current target period, so as to determine the bandwidth configuration parameters of the user in the current target period.
The historical period corresponding to each current target time interval is different, so the obtained historical bandwidth usage parameters are usually different, that is, the historical bandwidth usage parameters are dynamically changed parameters. The dynamically changed historical bandwidth usage parameters can ensure that the bandwidth configuration parameters are readjusted at any time according to the recent historical bandwidth usage of the user.
And the allocating unit 33 is configured to allocate the bandwidth to the user according to the bandwidth configuration parameter.
The bandwidth configuration parameters comprise a guaranteed bandwidth and a limited bandwidth, wherein the guaranteed bandwidth is a lower limit value of bandwidth allocated to a user, and the limited bandwidth is an upper limit value of bandwidth allocated to the user. When bandwidth allocation is carried out for users, the use flow of the users is controlled according to the guaranteed bandwidth and the limited bandwidth: when the bandwidth required by the user is less than or equal to the guaranteed bandwidth, providing the guaranteed bandwidth for the user; when the bandwidth required by the user is larger than the guaranteed bandwidth and smaller than the limited bandwidth, providing the actual required bandwidth for the user; and when the bandwidth required by the user is greater than or equal to the limit bandwidth, providing the limit bandwidth for the user.
Further, as shown in fig. 4, the history statistics unit 31 includes:
the first statistics module 311 is configured to count minimum used bandwidths of the user in the same target time period in different cycles, respectively, to obtain multiple minimum used bandwidths, where the minimum used bandwidths correspond to the cycles one to one;
the second statistical module 312 is configured to count maximum bandwidths of the users in the same target time period in different periods, respectively, to obtain multiple maximum bandwidths, where the maximum bandwidths correspond to the periods one to one.
Further, as shown in fig. 4, the calculating unit 32 includes:
a first calculating module 321, configured to determine, according to a maximum value in the multiple minimum used bandwidths, a guaranteed bandwidth in a current target time period, where the guaranteed bandwidth is a lower limit value of a bandwidth allocated to a user;
the second calculating module 322 is configured to determine a limited bandwidth of the current target time interval according to an average value of a plurality of maximum used bandwidths, where the limited bandwidth is an upper limit value of a bandwidth allocated to a user.
Further, the first calculating module 321 is configured to:
the guaranteed bandwidth is calculated according to the following formula:
λ*max(Amax,ε)
wherein λ is the adjustment coefficient, AmaxAnd epsilon is the maximum value in the minimum used bandwidths, and epsilon is the preset minimum guaranteed bandwidth.
λ is a positive number greater than or equal to 1, and ∈ is a minimum usage bandwidth corresponding to a preset guarantee that the user uses the basic network service.
It can be seen from the calculation formula of the guaranteed bandwidth that when the maximum value of the historical minimum bandwidth of a certain user is greater than the minimum guaranteed bandwidth, the minimum bandwidth which can be used by the user is determined according to the maximum value of the minimum bandwidth in the historical period. Compared with the prior art, the method has the advantages that the guaranteed bandwidth of the user is set to be the preset minimum guaranteed bandwidth distribution mode under any condition, and the working efficiency of the user can be improved.
Further, the second calculating module 322 is configured to:
determining the limiting bandwidth according to the following equation
Where Ag is the guaranteed bandwidth, W is the total bandwidth of the network,for the sum of the guaranteed bandwidths corresponding to all users in the network, AavgIs the average of a plurality of maximum used bandwidths,and the sum of a plurality of average values respectively corresponding to all users is obtained, m is the number of users in the network, and i represents the ith user.
The bandwidth limiting method is determined according to the average value of the maximum used bandwidth in the user history period, the historical bandwidth requirements of the user can be combined more fully, and compared with the method for allocating the bandwidth according to the user grade in the prior art, the method can configure more reasonable limited bandwidth for the user.
Further, as shown in fig. 4, the apparatus further includes:
a current statistics unit 34, configured to count a sum of bandwidth used by all users at the current time;
and an adjusting unit 35, configured to dynamically adjust the guaranteed bandwidth and the limited bandwidth according to the sum of the used bandwidths when the sum of the used bandwidths is smaller than a preset threshold.
The preset threshold is determined according to the total bandwidth W of the network and a preset load coefficient μ of the network, and is usually set to μ × W, where μ has a value range of (0, 1).
Further, as shown in fig. 4, the adjusting unit 35 includes:
and the adjusting module 351 is used for adjusting an adjusting coefficient according to the difference between the sum of the used bandwidths and a preset threshold, wherein the adjusting amplitude of the adjusting coefficient is in direct proportion to the difference.
The larger the difference, the larger the adjustment amplitude of λ. In practical application, the adjustment amplitude value may be set according to the number of users in the network, the difference value, the guaranteed bandwidth corresponding to different users, or directly set according to experience.
And a first adjusting module 352, configured to correspondingly adjust the guaranteed bandwidth according to the adjusted adjustment coefficient.
The adjusted adjustment coefficient is substituted into the formula for calculating the guaranteed bandwidth in the first calculation module 321 to obtain the adjusted guaranteed bandwidth, and the adjusted guaranteed bandwidth is covered with the original guaranteed bandwidth to realize the adjustment of the guaranteed bandwidth.
Further, as shown in fig. 4, the adjusting unit 35 includes:
the second adjusting module 353 is configured to correspondingly adjust the limited bandwidth according to the adjusted guaranteed bandwidth to obtain a first adjusted limited bandwidth;
the adjusted guaranteed bandwidth is substituted into the formula for calculating the constrained bandwidth in the second calculation module 322 to obtain the first adjusted constrained bandwidth.
A third calculating module 354 for calculating a second adjustment limit bandwidth according to the sum of the used bandwidths;
an assigning module 355 for assigning the larger of the first adjusted limiting bandwidth and the second adjusted limiting bandwidth to the limiting bandwidth.
Further, the third calculating module 354 is configured to:
calculating a second regulatory limit bandwidth according to the following formula:
wherein mu is a preset load factor of the network,to use the sum of bandwidths, AcurrentThe bandwidth used by the user at the current moment.
The bandwidth allocation device provided by the embodiment of the invention can firstly count the historical bandwidth usage parameters of the same user in the same target time period in different periods, then calculate the bandwidth configuration parameters corresponding to the user in the current target time period according to the historical bandwidth usage parameters, and finally allocate the bandwidth to the user according to the obtained bandwidth configuration parameters. Compared with the prior art, the embodiment of the invention can calculate the bandwidth configuration parameters in the current period by taking the bandwidth parameters used by the users in the historical period as the basis, and does not enable an administrator to set the bandwidth configuration parameters at will according to different user levels, so that the actual requirements of the user bandwidth can be met better, and the use of the network bandwidth is more reasonable.
In the foregoing embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
It will be appreciated that the relevant features of the method and apparatus described above are referred to one another. In addition, "first", "second", and the like in the above embodiments are for distinguishing the embodiments, and do not represent merits of the embodiments.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
The algorithms and displays presented herein are not inherently related to any particular computer, virtual machine, or other apparatus. Various general purpose systems may also be used with the teachings herein. The required structure for constructing such a system will be apparent from the description above. Moreover, the present invention is not directed to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any descriptions of specific languages are provided above to disclose the best mode of the invention.
In the description provided herein, numerous specific details are set forth. It is understood, however, that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: that the invention as claimed requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention.
Those skilled in the art will appreciate that the modules in the device in an embodiment may be adaptively changed and disposed in one or more devices different from the embodiment. The modules or units or components of the embodiments may be combined into one module or unit or component, and furthermore they may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments described herein include some features included in other embodiments, rather than other features, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.
The various component embodiments of the invention may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art will appreciate that a microprocessor or Digital Signal Processor (DSP) may be used in practice to implement some or all of the functions of some or all of the components in the title of the invention (e.g., bandwidth allocated devices) according to embodiments of the invention. The present invention may also be embodied as apparatus or device programs (e.g., computer programs and computer program products) for performing a portion or all of the methods described herein. Such programs implementing the present invention may be stored on computer-readable media or may be in the form of one or more signals. Such a signal may be downloaded from an internet website or provided on a carrier signal or in any other form.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The usage of the words first, second and third, etcetera do not indicate any ordering. These words may be interpreted as names.
Claims (10)
1. A method of bandwidth allocation, the method comprising:
counting historical use bandwidth parameters of the same user in the same target time period in different periods;
calculating a bandwidth configuration parameter of the current target time period according to the historical bandwidth usage parameter;
allocating the bandwidth for the user according to the bandwidth configuration parameter;
the counting of the historical bandwidth usage parameters of the same user in the same target time period in different periods comprises the following steps:
counting the minimum used bandwidths of the users in the same target time period in different periods respectively to obtain a plurality of minimum used bandwidths, wherein the minimum used bandwidths correspond to the periods one by one;
counting the maximum use bandwidths of the users in the same target time period in different periods respectively to obtain a plurality of maximum use bandwidths, wherein the maximum use bandwidths correspond to the periods one by one;
the calculating the bandwidth configuration parameter of the current target time interval according to the historical bandwidth usage parameter comprises:
determining a guaranteed bandwidth of the current target time period according to a maximum value of a plurality of minimum used bandwidths, wherein the guaranteed bandwidth is a lower limit value of bandwidth allocated to the user;
determining the limited bandwidth of the current target time interval according to the average value of a plurality of maximum used bandwidths, wherein the limited bandwidth is the upper limit value of the bandwidth allocated to the user;
the determining the guaranteed bandwidth of the current target time period according to the maximum value of the plurality of minimum used bandwidths comprises:
calculating the guaranteed bandwidth according to the following formula:
λ*max(Amax,ε)
wherein λ is the adjustment coefficient, AmaxThe minimum used bandwidth is the maximum value of the minimum used bandwidths, and epsilon is a preset minimum guaranteed bandwidth;
the determining the limited bandwidth of the current target time interval according to the average value of the plurality of maximum used bandwidths comprises:
determining the limiting bandwidth according to the following formula
Where Ag is the guaranteed bandwidth, W is the total bandwidth of the network,is the sum of guaranteed bandwidths corresponding to all users in the network, AavgIs the average of the plurality of maximum bandwidths used,and the sum of a plurality of the average values respectively corresponding to all the users is obtained, m is the number of the users in the network, and i represents the ith user.
2. The method of claim 1, further comprising:
counting the sum of the use bandwidths of all users at the current moment;
and when the sum of the used bandwidths is smaller than a preset threshold value, dynamically adjusting the guaranteed bandwidth and the limited bandwidth according to the sum of the used bandwidths.
3. The method of claim 2, wherein dynamically adjusting the guaranteed bandwidth according to the sum of the used bandwidths comprises:
adjusting the adjusting coefficient according to the difference value between the sum of the used bandwidths and the preset threshold value, wherein the adjusting amplitude of the adjusting coefficient is in direct proportion to the difference value;
and correspondingly adjusting the guaranteed bandwidth according to the adjusted adjusting coefficient.
4. The method of claim 3, wherein dynamically adjusting the bandwidth limit according to the sum of the bandwidths of the users comprises:
correspondingly adjusting the limited bandwidth according to the adjusted guaranteed bandwidth to obtain a first adjusted limited bandwidth;
calculating a second adjustment limit bandwidth according to the sum of the used bandwidths;
assigning a larger one of the first adjusted limiting bandwidth and the second adjusted limiting bandwidth to the limiting bandwidth.
5. The method of claim 4, wherein said calculating a second adjusted bandwidth limit based on said sum of bandwidth usage comprises:
calculating the second regulatory limit bandwidth according to the following formula:
6. An apparatus for bandwidth allocation, the apparatus comprising:
the history counting unit is used for counting the historical use bandwidth parameters of the same user in the same target time period in different periods;
the calculating unit is used for calculating the bandwidth configuration parameters of the current target time interval according to the historical use bandwidth parameters;
the allocation unit is used for allocating the bandwidth for the user according to the bandwidth configuration parameter;
the history statistical unit comprises:
the first statistical module is used for counting the minimum used bandwidths of the users in the same target time period in different periods respectively to obtain a plurality of minimum used bandwidths, and the minimum used bandwidths correspond to the periods one by one;
the second statistical module is used for counting the maximum use bandwidths of the users in the same target time interval in different periods respectively to obtain a plurality of maximum use bandwidths, and the maximum use bandwidths correspond to the periods one by one;
the calculation unit includes:
a first calculation module, configured to determine, according to a maximum value of multiple minimum usage bandwidths, a guaranteed bandwidth of the current target time period, where the guaranteed bandwidth is a lower limit value of a bandwidth allocated to the user;
a second calculating module, configured to determine, according to an average of multiple maximum used bandwidths, a limited bandwidth of the current target time period, where the limited bandwidth is an upper limit value of a bandwidth allocated to the user;
the first computing module is configured to:
calculating the guaranteed bandwidth according to the following formula:
λ*max(Amax,ε)
wherein λ is the adjustment coefficient, AmaxThe minimum used bandwidth is the maximum value of the minimum used bandwidths, and epsilon is a preset minimum guaranteed bandwidth;
the second calculation module is configured to:
determining the limiting bandwidth according to the following formula
Where Ag is the guaranteed bandwidth, W is the total bandwidth of the network,is the sum of guaranteed bandwidths corresponding to all users in the network, AavgIs the average of the plurality of maximum bandwidths used,and the sum of a plurality of the average values respectively corresponding to all the users is obtained, m is the number of the users in the network, and i represents the ith user.
7. The apparatus of claim 6, further comprising:
the current counting unit is used for counting the sum of the use bandwidths of all the users at the current moment;
and the adjusting unit is used for dynamically adjusting the guaranteed bandwidth and the limited bandwidth according to the sum of the used bandwidths when the sum of the used bandwidths is smaller than a preset threshold.
8. The apparatus of claim 7, wherein the adjusting unit comprises:
the adjusting module is used for adjusting the adjusting coefficient according to the difference value between the sum of the used bandwidths and the preset threshold, and the adjusting amplitude of the adjusting coefficient is in direct proportion to the difference value;
and the first adjusting module is used for correspondingly adjusting the guaranteed bandwidth according to the adjusted adjusting coefficient.
9. The apparatus of claim 8, wherein the adjusting unit comprises:
the second adjusting module is used for correspondingly adjusting the limited bandwidth according to the adjusted guaranteed bandwidth to obtain a first adjusted limited bandwidth;
the third calculation module is used for calculating a second adjustment limit bandwidth according to the sum of the used bandwidths;
and the assignment module is used for assigning the larger limited bandwidth of the first adjustment limited bandwidth and the second adjustment limited bandwidth to the limited bandwidth.
10. The apparatus of claim 9, wherein the third computing module is configured to:
calculating the second regulatory limit bandwidth according to the following formula:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610839722.5A CN106357559B (en) | 2016-09-21 | 2016-09-21 | Bandwidth allocation method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610839722.5A CN106357559B (en) | 2016-09-21 | 2016-09-21 | Bandwidth allocation method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106357559A CN106357559A (en) | 2017-01-25 |
CN106357559B true CN106357559B (en) | 2020-02-21 |
Family
ID=57859092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610839722.5A Active CN106357559B (en) | 2016-09-21 | 2016-09-21 | Bandwidth allocation method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106357559B (en) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018137779A1 (en) * | 2017-01-30 | 2018-08-02 | Telefonaktiebolaget Lm Ericsson (Publ) | Communication device and method for adapting radio frequency receiving bandwidth |
CN107248959B (en) * | 2017-06-30 | 2020-07-24 | 联想(北京)有限公司 | Flow optimization method and device |
CN107688471B (en) * | 2017-08-07 | 2021-06-08 | 北京中科睿芯科技集团有限公司 | Computing system and method for dynamically adjusting resource bandwidth of data stream architecture |
CN108989238A (en) * | 2018-07-20 | 2018-12-11 | 浪潮电子信息产业股份有限公司 | Method for distributing service bandwidth and related equipment |
CN108965455B (en) * | 2018-08-01 | 2021-07-27 | 中国联合网络通信集团有限公司 | Method and system for adjusting video container cloud |
CN110213131B (en) * | 2019-06-05 | 2022-01-11 | 腾讯科技(深圳)有限公司 | Bandwidth determination method and device, computer equipment and storage medium |
CN110445842A (en) * | 2019-07-13 | 2019-11-12 | 恒大智慧科技有限公司 | A kind of method for down loading, router and computer readable storage medium |
CN110474852B (en) * | 2019-08-01 | 2023-06-20 | 网宿科技股份有限公司 | Bandwidth scheduling method and device |
CN112804694B (en) * | 2019-11-14 | 2022-12-16 | 中国移动通信集团重庆有限公司 | Method, system, computing device and storage medium for configuring communication network bandwidth |
CN111405319B (en) | 2020-03-31 | 2021-07-23 | 北京达佳互联信息技术有限公司 | Bandwidth determination method and device, electronic equipment and storage medium |
CN114339863B (en) * | 2021-12-27 | 2024-06-11 | 浙江大华技术股份有限公司 | Uplink data transmission method and device, storage medium and electronic device |
CN117319322B (en) * | 2023-12-01 | 2024-02-27 | 成都睿众博芯微电子技术有限公司 | Bandwidth allocation method, device, equipment and storage medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102088754A (en) * | 2010-12-06 | 2011-06-08 | 中国人民解放军信息工程大学 | Network access behavior-based access control method and system for wireless local area network |
CN102857470A (en) * | 2011-06-27 | 2013-01-02 | 腾讯科技(深圳)有限公司 | Network transmission system, servers and client |
CN104463351A (en) * | 2014-11-15 | 2015-03-25 | 国家电网公司 | Communication bandwidth prediction method and device based on power business requirements |
CN104967528A (en) * | 2015-05-12 | 2015-10-07 | 中国联合网络通信集团有限公司 | Bandwidth adjusting method and system based on SDN controller |
CN105227489A (en) * | 2015-08-26 | 2016-01-06 | 联想(北京)有限公司 | A kind of bandwidth management method and electronic equipment |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4419541B2 (en) * | 2003-12-03 | 2010-02-24 | 株式会社日立製作所 | Polishing equipment |
US20150172216A1 (en) * | 2013-12-18 | 2015-06-18 | International Business Machines Corporation | Determining rules for partitioning internet connection bandwidth |
-
2016
- 2016-09-21 CN CN201610839722.5A patent/CN106357559B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102088754A (en) * | 2010-12-06 | 2011-06-08 | 中国人民解放军信息工程大学 | Network access behavior-based access control method and system for wireless local area network |
CN102857470A (en) * | 2011-06-27 | 2013-01-02 | 腾讯科技(深圳)有限公司 | Network transmission system, servers and client |
CN104463351A (en) * | 2014-11-15 | 2015-03-25 | 国家电网公司 | Communication bandwidth prediction method and device based on power business requirements |
CN104967528A (en) * | 2015-05-12 | 2015-10-07 | 中国联合网络通信集团有限公司 | Bandwidth adjusting method and system based on SDN controller |
CN105227489A (en) * | 2015-08-26 | 2016-01-06 | 联想(北京)有限公司 | A kind of bandwidth management method and electronic equipment |
Also Published As
Publication number | Publication date |
---|---|
CN106357559A (en) | 2017-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106357559B (en) | Bandwidth allocation method and device | |
US20230283681A1 (en) | System and method for throttling service requests having non-uniform workloads | |
US9178763B2 (en) | Weight-based collocation management | |
US10037230B2 (en) | Managing data processing resources | |
CN107688492B (en) | Resource control method and device and cluster resource management system | |
US7036123B2 (en) | System using fair-share scheduling technique to schedule processes within each processor set based on the number of shares assigned to each process group | |
JP4112420B2 (en) | Method and system for allocating system resources to applications using weights | |
US9525644B2 (en) | Method and system for managing resources among different clients for an exclusive use | |
WO2017080172A1 (en) | Network scheduling method and system | |
US9104482B2 (en) | Differentiated storage QoS | |
CN103699445A (en) | Task scheduling method, device and system | |
US11496413B2 (en) | Allocating cloud computing resources in a cloud computing environment based on user predictability | |
CN105159775A (en) | Load balancer based management system and management method for cloud computing data center | |
CN103986715A (en) | Network traffic control method and device | |
CN103391299A (en) | Load balance method and load balance system | |
CN103502944A (en) | Method and device for adjusting memories of virtual machines | |
Tighe et al. | Integrating cloud application autoscaling with dynamic VM allocation | |
CN109189548B (en) | Resource scheduling method, device, computer equipment and computer readable storage medium | |
CN110502321A (en) | A kind of resource regulating method and system | |
CN108462647A (en) | bandwidth adjusting method and gateway | |
CN110888732A (en) | Resource allocation method, equipment, device and computer readable storage medium | |
CN108664321A (en) | System resource allocation method of adjustment and device | |
Meskar et al. | Fair multi-resource allocation in mobile edge computing with multiple access points | |
CN109982385A (en) | Network intelligence equalization methods and device based on LTE type of service feature | |
CN106775925B (en) | Quota processing method and device for CPU of virtual machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |