CN112181664B - Load balancing method and device, computer readable storage medium and electronic equipment - Google Patents

Load balancing method and device, computer readable storage medium and electronic equipment Download PDF

Info

Publication number
CN112181664B
CN112181664B CN202011105808.8A CN202011105808A CN112181664B CN 112181664 B CN112181664 B CN 112181664B CN 202011105808 A CN202011105808 A CN 202011105808A CN 112181664 B CN112181664 B CN 112181664B
Authority
CN
China
Prior art keywords
resource process
request
resource
prediction model
load
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011105808.8A
Other languages
Chinese (zh)
Other versions
CN112181664A (en
Inventor
江士雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202011105808.8A priority Critical patent/CN112181664B/en
Publication of CN112181664A publication Critical patent/CN112181664A/en
Application granted granted Critical
Publication of CN112181664B publication Critical patent/CN112181664B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The disclosure relates to the technical field of computers, and provides a load balancing method and device, a computer readable storage medium and electronic equipment. The method is applied to a server, the server comprises a plurality of resource processes, each resource process is used for processing a request for the server, and the method comprises the following steps: responding to a current request of a client, and acquiring values of request quantity parameters in a load prediction model of each resource process corresponding to a current time stamp, so as to determine a target load prediction model of each resource process according to the values of the request quantity parameters; and predicting load data of each resource process according to each target load prediction model so as to determine the target resource process of the current request, and distributing the current request to the target resource process. The method and the device can improve the balance and accuracy of load distribution based on the value of the request quantity parameter in the load prediction model of each resource process corresponding to the obtained current timestamp.

Description

Load balancing method and device, computer readable storage medium and electronic equipment
Technical Field
The disclosure relates to the field of computer technology, and in particular relates to a complex balancing method, a load balancing device, a computer readable storage medium and electronic equipment.
Background
In computer applications, a multi-process approach may be used to increase the processing efficiency of a server. Taking a game server as an example, for a large-scale multiplayer online network game, the online network game has the characteristics of simultaneously increasing the number of online players and requesting server resources at high frequency. Therefore, most of such game servers adopt a multi-process mode to distribute the same resource request to different resource processes with the same function so as to increase the number of load-bearing people of the server.
The existing allocation modes of the resource processes mainly comprise two kinds, namely a random method, namely, for each request, a random number is obtained through a uniformly distributed random number algorithm, and one resource process corresponding to the random number is selected for request processing.
The other is a single point allocation method, that is, an allocation process is started in a server, each request obtains a truly processed resource process through the allocation process, the single allocation process can know the historical request numbers of all the resource processes, so that a resource process with a smaller historical allocation number is selected for allocation, or the allocation process can select a resource process with a lower load for allocation according to the load condition of each process.
However, with the random method, in the case of a small data amount, serious unevenness may occur, resulting in a process overload in which distribution is uneven at some time.
For the single point allocation method, when allocation is performed with a historical allocation number, there are cases where some requests have been processed, and thus the historical allocation number cannot reflect the current load situation, resulting in a problem of uneven allocation. When the allocation is performed under the load condition, the load data of the resource process obtained by the allocation process is synchronized by the resource process, and the data obtained by the allocation process cannot accurately reflect the current state of each resource process due to the fact that delay exists in the synchronization of the data of the resource process and the data of the allocation process, so that the problem of uneven allocation also exists.
It should be noted that the information disclosed in the above background section is only for enhancing understanding of the background of the present disclosure and thus may include information that does not constitute prior art known to those of ordinary skill in the art.
Disclosure of Invention
The disclosure aims to provide a load balancing method and device, a computer readable storage medium and an electronic device, so as to improve the problem of uneven load distribution at least to a certain extent.
Other features and advantages of the present disclosure will be apparent from the following detailed description, or may be learned in part by the practice of the disclosure.
According to a first aspect of the present disclosure, there is provided a load balancing method applied to a server, the server including a plurality of resource processes, each of the resource processes being configured to process a request to the server, including:
responding to a current request of a client, and acquiring the value of a request quantity parameter in a load prediction model of each resource process corresponding to a current time stamp, so as to determine a target load prediction model of each resource process according to the value of the request quantity parameter;
predicting load data of each resource process according to each target load prediction model to determine a target resource process of the current request, and distributing the current request to the target resource process;
and determining the value of the request quantity parameter according to the request distributed by each resource process in the time interval from the latest update to the current timestamp of the load prediction model of each resource process.
In an exemplary embodiment of the present disclosure, based on the foregoing, the load prediction model predicts load data in a next update time interval according to a change value of a request number to which the resource process is allocated at a last update and an access request number to which the resource process is allocated in the update time interval;
The load prediction model includes a Kalman filter model.
In an exemplary embodiment of the present disclosure, based on the foregoing, the kalman filter model is determined by:
Figure GDA0004228261830000031
wherein A is a transformation matrix of the Kalman filtering model, n is the parameter updating times of the Kalman filtering model, a n A request quantity parameter x which is distributed to the resource process in the time interval from the updated Kalman filtering model n-1 times to the current time stamp n-1 For the number of access requests, deltax, allocated to the resource process at the nth-1 update n-1 A change value X of the number of access requests allocated to the resource process in the update time interval from the n-2 th to the n-1 th n State predictive vector, x, for Kalman filter model n A predicted value, deltax, for the number of requests allocated to the resource process at the nth update n For the time interval of two adjacent updatesPredicted value of variation of the number of requests allocated by the resource process, H is output vector of Kalman filtering model, H is used for predicting the state of the vector X n Conversion to load prediction Z of the resource process n
In an exemplary embodiment of the disclosure, after the current request is allocated to the target resource process based on the foregoing scheme, the method further includes:
And updating the value of the request quantity parameter in the load prediction model corresponding to the target resource process according to the current request.
In an exemplary embodiment of the present disclosure, based on the foregoing solution, the updating the value of the request number parameter in the load prediction model corresponding to the target resource process includes:
acquiring a preset resource occupation weight of the current request on the target resource process;
and increasing the value of the request quantity parameter in the load prediction model of the target resource process according to the resource occupation weight so as to update the value of the request quantity parameter.
In an exemplary embodiment of the disclosure, based on the foregoing, the server further includes at least one allocation process for allocating the resource process for the request;
the updating of the load prediction model is realized by the following modes:
the distribution process obtains the load data of each resource process according to a preset time interval;
carrying out parameter updating on the load prediction model of each resource process according to the load data;
when the load prediction model of each resource process is subjected to parameter updating, the value of the request quantity parameter in each load prediction model is cleared.
In an exemplary embodiment of the disclosure, based on the foregoing solution, the determining the currently requested target resource process includes:
and determining the resource process corresponding to the minimum value in the predicted load data as the target resource process.
According to a second aspect of the present disclosure, there is provided a load balancing apparatus applied to a server, the server including a plurality of resource processes, each of the resource processes being for processing a request to the server, including:
the target load prediction model determining module is configured to respond to the current request of the client and acquire the value of a request quantity parameter in the load prediction model of each resource process corresponding to the current timestamp so as to determine the target load prediction model of each resource process according to the value of the request quantity parameter;
a target resource process allocation module configured to predict load data of each of the resource processes according to each of the target load prediction models to determine a target resource process of the current request, and allocate the current request to the target resource process;
and determining the value of the request quantity parameter according to the request distributed by each resource process in the time interval from the latest update to the current timestamp of the load prediction model of each resource process.
According to a third aspect of the present disclosure, there is provided a computer readable storage medium having stored thereon a computer program which when executed by a processor implements a load balancing method as described in the first aspect of the above embodiments.
According to a fourth aspect of embodiments of the present disclosure, there is provided an electronic device, comprising: a processor; and storage means for storing one or more programs which, when executed by the one or more processors, cause the one or more processors to implement the load balancing method as described in the first aspect of the embodiments above.
As can be seen from the above technical solutions, the load balancing method and the load balancing device in the exemplary embodiments of the present disclosure, and the computer readable storage medium and the electronic device for implementing the load balancing method, at least have the following advantages and positive effects:
in the technical solutions provided in some embodiments of the present disclosure, in response to a current request of a client, first, a value of a request number parameter in a load prediction model of each resource process corresponding to a current timestamp is obtained, so that a target load prediction model of each resource process may be determined according to the value of the request number parameter; then, load data of each resource process can be predicted according to each target load prediction model so as to determine a target resource process of the current request, and the current request is distributed to the target resource process; the value of the request quantity parameter may be determined according to the request allocated to each resource process in the time interval from the last update to the current timestamp of the load prediction model of each resource process. Compared with the related art, on one hand, the method and the device can update the load condition of each resource process in real time based on the acquired load prediction model of each resource process in the time interval from the latest update to the current timestamp, so that the accuracy of predicting the load data of each resource process can be improved, and the balance of load distribution of each resource process in a server can be improved; on the other hand, the method and the device can directly realize the distribution of the resource process based on the determined target load prediction model, so that the distribution efficiency of the resource process can be improved.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the disclosure and together with the description, serve to explain the principles of the disclosure. It will be apparent to those of ordinary skill in the art that the drawings in the following description are merely examples of the disclosure and that other drawings may be derived from them without undue effort.
FIG. 1 illustrates a flow diagram of a load balancing method in an exemplary embodiment of the present disclosure;
FIG. 2 illustrates a flow diagram of a method of updating a load prediction model in an exemplary embodiment of the present disclosure;
FIG. 3 illustrates a flow diagram of a method of updating the value of a request quantity parameter in an exemplary embodiment of the present disclosure;
fig. 4 is a schematic diagram showing the structure of a display control apparatus for jumping words in an exemplary embodiment of the present disclosure;
FIG. 5 illustrates a schematic diagram of a computer storage medium in an exemplary embodiment of the present disclosure; the method comprises the steps of,
fig. 6 illustrates a schematic structure of an electronic device in an exemplary embodiment of the present disclosure.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. However, the exemplary embodiments may be embodied in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the present disclosure. One skilled in the relevant art will recognize, however, that the aspects of the disclosure may be practiced without one or more of the specific details, or with other methods, components, devices, steps, etc. In other instances, well-known technical solutions have not been shown or described in detail to avoid obscuring aspects of the present disclosure.
The terms "a," "an," "the," and "said" are used in this specification to denote the presence of one or more elements/components/etc.; the terms "comprising" and "having" are intended to be inclusive and mean that there may be additional elements/components/etc. in addition to the listed elements/components/etc.
Furthermore, the drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus a repetitive description thereof will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities.
In an embodiment of the present disclosure, a load balancing method is provided first, which overcomes at least to some extent the above-mentioned drawbacks of the related art.
Fig. 1 is a flow chart illustrating a load balancing method according to an exemplary embodiment of the present disclosure, where the load balancing method provided in the present embodiment is applied to a server. Wherein the server includes a plurality of resource processes, each resource process for processing a request to the server. Referring to fig. 1, the method includes:
step S110, responding to the current request of the client, acquiring the value of a request quantity parameter in the load prediction model of each resource process corresponding to the current timestamp, and determining a target load prediction model of each resource process according to the value of the request quantity parameter;
step S120, load data of each resource process is predicted according to each target load prediction model so as to determine a target resource process of the current request, and the current request is distributed to the target resource process.
In the technical solution provided in the embodiment shown in fig. 1, in response to a current request of a client, first, a value of a request number parameter in a load prediction model of each resource process corresponding to a current timestamp is obtained, so that a target load prediction model of each resource process can be determined according to the value of the request number parameter; then, load data of each resource process can be predicted according to each target load prediction model so as to determine a target resource process of the current request, and the current request is distributed to the target resource process; the value of the request quantity parameter may be determined according to the request allocated to each resource process in the time interval from the last update to the current timestamp of the load prediction model of each resource process. Compared with the related art, on one hand, the method and the device can update the load condition of each resource process in real time based on the acquired load prediction model of each resource process in the time interval from the latest update to the current timestamp, so that the accuracy of predicting the load data of each resource process can be improved, and the balance of load distribution of each resource process in a server can be improved; on the other hand, the method and the device can directly realize the distribution of the resource process based on the determined target load prediction model, so that the distribution efficiency of the resource process can be improved.
The following describes in detail the specific implementation of each step in the embodiment shown in fig. 1:
in step S110, in response to a current request of a client, a value of a request quantity parameter in a load prediction model of each resource process corresponding to a current timestamp is obtained, so as to determine a target load prediction model of each resource process according to the value of the request quantity parameter;
the value of the request quantity parameter in the load prediction model can be determined according to the request of each resource process allocated in the time interval from the last update to the current timestamp of the load prediction model of each resource process.
In an exemplary embodiment, the resource process may include any process in the server that can actually process the request. The resource process may respond to the request of the client and complete the specific operation corresponding to the request. The target load prediction model for each resource process may be a load prediction model for which the values of the respective parameters have been determined.
Specifically, each resource process corresponds to a load prediction model, and parameters in the load prediction model may at least include: the number of history requests to which the resource process is allocated at the update time, a request number parameter determined from the requests to which the resource process is allocated in the time interval from the last update time to the current time, and the like. The current time may be a current time stamp, and the load prediction model may be updated by acquiring historical load data of the resource process according to a preset time interval, where the preset time interval may be fixed or not fixed.
In an exemplary embodiment, the load prediction model may predict load data in a next update time interval according to a change value of a request number allocated by a resource process at a last update and an access request number allocated by the resource process in the update time interval.
Wherein the load prediction model comprises a Kalman filter model. Of course, the load prediction model may also include an extended kalman filter model, an unscented kalman filter model, or other models that can predict the data of the next time according to the data of the previous time. The present exemplary embodiment is not particularly limited thereto.
Illustratively, the parameters in the kalman filter model may at least also include: the number of historical requests to which the resource process is assigned at the last update time, the number of requests parameter determined from the requests to which the resource process is assigned during the time interval from the last update time to the current timestamp, etc. A Kalman filtering model is a state prediction method, which mainly comprises a state prediction equation and an output equation.
Specifically, the state vector in the state prediction equation may include the above-mentioned historical request number of the resource process at the last update time, and the input data in the state prediction equation may include the above-mentioned value of the request number parameter determined according to the request to which the resource process is allocated in the time interval from the last update time to the current time. The output of the state equation may include the number of requests at the current time predicted from the previous time. The output equation can convert the predicted request number of the resource process at the current time into the load data of the resource process at the current time for output.
In an exemplary embodiment, the state vector in the state prediction equation of the Kalman filter model may further include a change value for the number of requests to which the resource process is allocated within the adjacent update time interval. Therefore, the change value can be used as a base number, so that the floatability of data is reduced, and the prediction stability of the Kalman filtering model is further improved.
Illustratively, the Kalman filter model may be determined by:
Figure GDA0004228261830000081
wherein A is a transformation matrix of the Kalman filtering model, n is the parameter updating times of the Kalman filtering model, a n For the time interval from the update of n-1 times to the current timestamp, the request quantity parameter of the resource process allocated,
Figure GDA0004228261830000082
x n-1 the number of access requests allocated for the resource process at time n-1, deltax n-1 A change value, X, of the number of access requests allocated to a resource process in an update interval of n-2 to n-1 n State predictive vector, X, for Kalman filter model n Is a two-dimensional column vector, and the states in the two-dimensional column vector may include x n And Deltax n ,x n Predicted value for number of requests allocated to resource process at nth update, Δx n The predicted value of the change amount of the allocated request quantity of the resource process in the time interval is updated for two adjacent times (n-1 times and n times), H is the output vector of the Kalman filtering model, and H is used for predicting the state vector X n Load predictor Z for conversion to resource process n
In an exemplary embodiment, the transformation matrix a described above may comprise any matrix of size 2 x 2, for example,
Figure GDA0004228261830000091
wherein, the value of each element in the matrix A is a non-negative number.
The output vector H may be a two-dimensional row vector, wherein the two-dimensional row vector is equal to Deltax n The value of the corresponding row is larger than x n The corresponding row takes on a value, e.g. h= [2 4 ]]Wherein 2 is x in the vector of state predictions n For the corresponding row, 4 is Δx in the state prediction vector n A corresponding row. I.e. setting the latest allocation number (allocation number in the interval of two adjacent updates) to have a greater influence on load data prediction than the historical allocation number(number of allocations before the current update time).
In general, the request has certain timeliness on the occupation of the resource process, namely, the earlier the request is more likely to be processed, the smaller the influence on the occupation rate of the resource process is, so that the influence on the load data prediction by setting the historical allocation quantity is smaller than the influence on the latest allocation quantity, and the prediction accuracy of the Kalman filtering model can be improved.
Meanwhile, the value of the request quantity parameter determined according to the request of the resource process to be distributed in the time interval from the latest update of the Kalman filtering model to the current time stamp is used as the input data of the Kalman filtering model to predict the load data of the resource process, so that the current load state of each resource process can be accurately obtained in real time, the problem of inaccurate current state reaction caused by data synchronization delay in the related art is avoided, and the accuracy and the uniformity of resource process distribution can be further improved.
Illustratively, the server further includes at least one allocation process for allocating resource processes to the requests in the server, such that the allocated resource processes can process the corresponding requests.
When the allocation process allocates the resource process for the request, the current load condition of each resource process can be predicted according to the load prediction model corresponding to each resource process, so as to allocate the resource process for the current request according to the prediction result.
For example, to improve the prediction accuracy of the load prediction model, the parameters of each load prediction model may be updated at preset time intervals, so as to predict the current load situation of each resource process according to the latest state. Referring to fig. 2, the method of updating the load prediction model may include steps S210 to S220.
In step S210, the allocation process obtains load data of each resource process according to a preset time interval.
In an exemplary embodiment, the load data may include an occupancy rate of each resource process to a CPU (central processing unit ) of the server, and the like.
Illustratively, each resource process collects its own historical load data and sends the collected load data to the distribution process at preset time intervals, e.g., every 3 seconds. Thus, the allocation process may receive the historical load data of each resource process at corresponding preset time intervals, e.g., 3 seconds. The historical load data can comprise the occupancy rate of each resource process to the CPU of the server at the update moment.
After the allocation process obtains the load data of each resource process, in step S220, parameter updating is performed on the load prediction model of each resource process according to the load data.
Illustratively, the load prediction model may include the kalman filter model described above, wherein parameters of the kalman filter model may be updated by the following formula:
Figure GDA0004228261830000101
wherein K is n =P n|n-1 ·H T ·S n -1 ,S n =H·P n|n-1 ·H T +R,P n|n-1 =A·P n-1 ·A T +Q,K n For Kalman filtering gain, x n|n-1 P is the state at n updates predicted from the state at n-1 updates n|n-1 The method is characterized in that the method comprises the steps of predicting a posterior estimation error covariance matrix according to the posterior estimation error covariance matrix when n-1 updates are performed, wherein Q is a process noise covariance matrix, and R is an observation noise covariance matrix.
Figure GDA0004228261830000102
For the load data collected at the n-time update, i.e. the load data collected at the n-th time interval in step S210 described above, z n|n-1 Load data at the nth update determined for the state at the nth update according to the state prediction of the n-1 updates.
The distribution process obtains eachLoad data of individual resource processes
Figure GDA0004228261830000111
After that, it is possible to determine +.>
Figure GDA0004228261830000112
Predicted z n|n-1 By using the above formula ∈ ->
Figure GDA0004228261830000113
And updating parameters of the Kalman filtering model.
When parameter updating is performed on a prediction model, such as a Kalman filtering model, according to a preset time interval, load data acquired at the moment of updating is used for updating
Figure GDA0004228261830000114
The current load state can be accurately reflected, so that the value of the request quantity parameter in the prediction model of the resource process can be cleared, namely the value a of the request quantity parameter in the Kalman filter can be cleared n Set to zero.
Taking the example that the load prediction model is a kalman filter model as an example, the specific implementation of the step S110 may be that, in response to the current request of the client, the allocation process determines the request allocated to each resource process in a time interval from the last update of the kalman filter model of each resource process to the current timestamp, determines the value of the request quantity parameter of the kalman filter model of each resource process according to the request allocated to each resource process, and uses the value of the request quantity parameter as the input of the corresponding kalman filter model, thereby determining the target load prediction model of each resource process.
The specific implementation mode of determining the value of the request quantity parameter of the kalman filter model of each resource process according to the allocated request of each resource process may be to obtain the preset resource occupation weight of each request to each resource process, and increase the value of the request quantity parameter of the kalman filter model of each resource process according to the resource occupation weight.
For example, the resource occupancy weight of each request to a resource process may be determined based on the type of request. In particular, if all requests are of the same type, then their occupancy weights for the resource processes are equal, e.g., each time a resource process is assigned a request, the value of the request quantity parameter of the load prediction model of the resource process is increased by 1. If the types of requests are different, for example, there are K types of requests, the weight of each type of request can be determined according to the pre-tested different types of requests for the data occupied by the CPU, namely, the resource occupation weight of the request a with the lowest occupation data of the CPU in the K types is set to be 1, the resource occupation weight of the request b with the occupation data of the CPU being alpha times that of the request a can be set to be alpha, and when a certain resource process is allocated with the request b, the value of the request quantity parameter of the load prediction model of the resource process is increased by alpha.
According to the request of each resource process allocated in the time interval from the last update time to the current time stamp of the load prediction model of each resource process, the value of the request quantity parameter in the load prediction model of each resource process corresponding to the current time stamp can be determined, so that the target load prediction model of each resource process corresponding to the current time stamp is generated.
With continued reference to fig. 1, after the target load prediction model is generated, in step S120, load data of each resource process is predicted according to each target load prediction model, so as to determine a target resource process of the current request, and the current request is allocated to the target resource process.
In an exemplary embodiment, the target load prediction model may include a load prediction model in which the value of the request quantity parameter has been determined as described above. The target resource process may be a resource process corresponding to a minimum value in the predicted load data.
For example, in the specific implementation manner of step S120, the load data of each resource process at the current time is predicted according to the load data of each resource process at the previous update time and the value of the request quantity parameter determined according to the allocated request of each resource process in the time interval from the previous update time to the current time stamp, so as to determine that the resource process corresponding to the minimum value in the predicted load data is the target resource process, and allocate the current request to the target resource process.
After the current request is distributed to the target resource process, the method further comprises updating the value of the request quantity parameter in the load prediction model corresponding to the target resource process according to the current request.
For example, referring to fig. 3, a method for updating the value of the request quantity parameter in the load prediction model corresponding to the target resource process may include steps S310 to S320.
In step S310, a resource occupation weight of the target resource process by the preset current request is obtained.
Before acquiring the preset resource occupation weight of the current request to the target resource process, the resource occupation weight of each request to the resource process can be determined.
By way of example, a specific embodiment of determining the resource occupation weight of each request to the resource process is to determine the weight of each type of request according to the occupation data of the CPU by the pre-tested different types of requests. The details of which are described in the relevant part of step S110, and will not be described here again.
After determining the resource occupation weights of the resource processes by the requests, the resource occupation weights of the target resource processes by the current requests can be obtained.
Next, in step S320, the value of the request quantity parameter in the load prediction model of the target resource process is increased according to the resource occupation weight to update the value of the request quantity parameter.
The update formula for the value of the request quantity parameter may be a n =a n +a α Wherein a is n May be the value of the request quantity parameter, a, in the load prediction model of the target resource process α May be the currently requested resource occupancy weight.
For example, the load of the target resource process corresponding to the current timestampThe value of the request quantity parameter in the predictive model may be a n The resource occupation weight corresponding to the current request can be a α Then, after the current request is allocated to the target resource process, the value a of the request quantity parameter in the load prediction model of the target resource process n Can be updated to a n +a α
When the next load prediction model updating time arrives, the current load state of each resource process is accurately reflected in the historical load data used in updating, so that the value a of the request quantity parameter in the load prediction model can be calculated n Set to zero. That is, at the time of updating the load prediction model, the value a of the request quantity parameter in the load prediction model of each resource process n Zero; the value of the request quantity parameter in the load prediction model of each resource process in the time interval of the load prediction model update can be determined according to the allocated request of each resource process in the time interval from the last update time to the current time stamp.
Through the steps S110-S120, when the prediction model is a kalman filter model, the kalman filter model is updated at a preset time interval, and according to the characteristic that the estimated value of the kalman filter model approaches to the real value after multiple parameter updates, the problem of uneven load distribution caused by delay in real data synchronization can be solved. Meanwhile, the accuracy of the load state of each obtained resource process can be improved through updating the request quantity parameters in the load prediction model, so that the accuracy of prediction is improved, and the load balancing performance of the server is improved.
In addition, by setting the resource occupation weights of different types of requests, the load balancing method in the present exemplary embodiment may have universality, that is, the allocation of different request types may use the load balancing method provided in the present exemplary embodiment to implement the allocation of resource processes, without depending on a specific request type.
Further, the load balancing method in the present exemplary embodiment may be applied to any server, such as a game server, and of course, the load balancing method in the present exemplary embodiment may also be extended to a server cluster, so as to implement load balancing of multiple servers, which is also within the protection scope of the present disclosure.
When the server in the present exemplary embodiment is a game server, by using the load balancing method provided in the present exemplary embodiment, the current CPU load state of the game server may be used to more accurately allocate a resource process, so as to improve the balance of the allocation result, thereby improving the service performance of the game server, for example, increasing the number of players that are simultaneously loaded.
Those skilled in the art will appreciate that all or part of the steps implementing the above embodiments are implemented as a computer program executed by a CPU. When executed by a CPU, performs the functions defined by the above-described method provided by the present invention. The program may be stored in a computer readable storage medium, which may be a read-only memory, a magnetic disk or an optical disk, etc.
Furthermore, it should be noted that the above-described figures are merely illustrative of the processes involved in the method according to the exemplary embodiment of the present invention, and are not intended to be limiting. It will be readily appreciated that the processes shown in the above figures do not indicate or limit the temporal order of these processes. In addition, it is also readily understood that these processes may be performed synchronously or asynchronously, for example, among a plurality of modules.
Fig. 4 illustrates a schematic structure of a load balancing apparatus in an exemplary embodiment of the present disclosure. The load balancing device is applied to a server, wherein the server comprises a plurality of resource processes, and each resource process is used for processing requests for the server. Referring to fig. 4, the load balancing apparatus 400 includes: a target load prediction model determination module 410, a target resource process allocation module 420. Wherein:
the above-mentioned target load prediction model determining module 410 is configured to respond to a current request of a client, and obtain a value of a request number parameter in a load prediction model of each resource process corresponding to a current timestamp, so as to determine a target load prediction model of each resource process according to the value of the request number parameter;
the above-mentioned target resource process allocation module 420 is configured to predict load data of each resource process according to each target load prediction model, so as to determine a target resource process of the current request, and allocate the current request to the target resource process.
In some exemplary embodiments of the present disclosure, based on the foregoing embodiments, the value of the request quantity parameter in the target load prediction model determination module 410 described above may be determined by:
And determining the value of the request quantity parameter according to the request allocated by each resource process in the time interval from the latest update to the current timestamp according to the load prediction model of each resource process.
In some exemplary embodiments of the present disclosure, the load prediction model described above may include a kalman filter model based on the foregoing embodiments.
In some exemplary embodiments of the present disclosure, based on the foregoing embodiments, the above-described kalman filter model may be determined by:
Figure GDA0004228261830000151
wherein A is a transformation matrix of the Kalman filtering model, n is the parameter updating times of the Kalman filtering model, a n The request quantity parameter, X, of the resource process allocated in the time interval from the updated Kalman filtering model n-1 to the current time stamp n State predictive vector, x, for Kalman filter model n Value of the number of requests allocated for the resource process at the nth update, Δx n For the change value of the allocated request quantity of the resource process in the adjacent two updating time intervals, H is the output vector of the Kalman filtering model, and H is used for predicting the state vector X n Load predictor Z for conversion to resource process n
In some exemplary embodiments of the present disclosure, based on the foregoing embodiments, the load balancing apparatus further includes a request quantity parameter updating module configured to:
And updating the value of the request quantity parameter in the load prediction model corresponding to the target resource process according to the current request.
In some exemplary embodiments of the present disclosure, based on the foregoing embodiments, the request quantity parameter updating module is further specifically configured to:
acquiring a preset resource occupation weight of a current request on a target resource process;
and increasing the value of the request quantity parameter in the load prediction model of the target resource process according to the resource occupation weight so as to update the value of the request quantity parameter.
In some exemplary embodiments of the present disclosure, based on the foregoing embodiments, the server further includes at least one allocation process for allocating resource processes for the request;
the load balancing device further comprises a load prediction model updating module configured to:
the distribution process acquires load data of each resource process according to a preset time interval;
parameter updating is carried out on the load prediction model of each resource process according to the load data;
when the load prediction model of each resource process is updated, the value of the request quantity parameter in each load prediction model is cleared.
In some exemplary embodiments of the present disclosure, based on the foregoing embodiments, the target resource process allocation module 420 is further specifically configured to:
And determining the resource process corresponding to the minimum value in the predicted load data as a target resource process.
The specific details of each unit in the load balancing device are described in detail in the corresponding load balancing method, so that the details are not repeated here.
It should be noted that although in the above detailed description several modules or units of a device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit in accordance with embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into a plurality of modules or units to be embodied.
Furthermore, although the steps of the methods in the present disclosure are depicted in a particular order in the drawings, this does not require or imply that the steps must be performed in that particular order or that all illustrated steps be performed in order to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step to perform, and/or one step decomposed into multiple steps to perform, etc.
From the above description of embodiments, those skilled in the art will readily appreciate that the example embodiments described herein may be implemented in software, or may be implemented in software in combination with the necessary hardware. Thus, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (may be a CD-ROM, a U-disk, a mobile hard disk, etc.) or on a network, including several instructions to cause a computing device (may be a personal computer, a server, a mobile terminal, or a network device, etc.) to perform the method according to the embodiments of the present disclosure.
In an exemplary embodiment of the present disclosure, a computer storage medium capable of implementing the above method is also provided. On which a program product is stored which enables the implementation of the method described above in the present specification. In some possible embodiments, the various aspects of the present disclosure may also be implemented in the form of a program product comprising program code for causing a terminal device to carry out the steps according to the various exemplary embodiments of the disclosure as described in the "exemplary methods" section of this specification, when the program product is run on the terminal device.
Referring to fig. 5, a program product 500 for implementing the above-described method according to an embodiment of the present disclosure is described, which may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present disclosure is not limited thereto, and in this document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium can be, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium would include the following: an electrical connection having one or more wires, a portable disk, a hard disk, random Access Memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The computer readable signal medium may include a data signal propagated in baseband or as part of a carrier wave with readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device, partly on a remote computing device, or entirely on the remote computing device or server. In the case of remote computing devices, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., connected via the Internet using an Internet service provider).
In addition, in an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above method is also provided.
Those skilled in the art will appreciate that the various aspects of the present disclosure may be implemented as a system, method, or program product. Accordingly, various aspects of the disclosure may be embodied in the following forms, namely: an entirely hardware embodiment, an entirely software embodiment (including firmware, micro-code, etc.) or an embodiment combining hardware and software aspects may be referred to herein as a "circuit," module "or" system.
An electronic device 600 according to such an embodiment of the present disclosure is described below with reference to fig. 6. The electronic device 600 shown in fig. 6 is merely an example and should not be construed to limit the functionality and scope of use of embodiments of the present disclosure in any way.
As shown in fig. 6, the electronic device 600 is in the form of a general purpose computing device. Components of electronic device 600 may include, but are not limited to: the at least one processing unit 610, the at least one memory unit 620, a bus 630 connecting the different system components (including the memory unit 620 and the processing unit 610), and a display unit 640.
Wherein the storage unit stores program code that is executable by the processing unit 610 such that the processing unit 610 performs steps according to various exemplary embodiments of the present disclosure described in the above-described "exemplary methods" section of the present specification. For example, the processing unit 610 may perform the operations as shown in fig. 1: step S110, responding to the current request of the client, acquiring the value of a request quantity parameter in the load prediction model of each resource process corresponding to the current timestamp, and determining a target load prediction model of each resource process according to the value of the request quantity parameter; step S120, load data of each resource process is predicted according to each target load prediction model so as to determine a target resource process of the current request, and the current request is distributed to the target resource process.
As another example, the processing unit 610 may perform the steps as described in fig. 2, 3.
The storage unit 620 may include readable media in the form of volatile storage units, such as Random Access Memory (RAM) 6201 and/or cache memory unit 6202, and may further include Read Only Memory (ROM) 6203.
The storage unit 620 may also include a program/utility 6204 having a set (at least one) of program modules 6205, such program modules 6205 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of which may include an implementation of a network environment.
Bus 630 may be a local bus representing one or more of several types of bus structures including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or using any of a variety of bus architectures.
The electronic device 600 may also communicate with one or more external devices 700 (e.g., keyboard, pointing device, bluetooth device, etc.), one or more devices that enable a user to interact with the electronic device 600, and/or any device (e.g., router, modem, etc.) that enables the electronic device 600 to communicate with one or more other computing devices. Such communication may occur through an input/output (I/O) interface 650. Also, electronic device 600 may communicate with one or more networks such as a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network, such as the Internet, through network adapter 660. As shown, network adapter 660 communicates with other modules of electronic device 600 over bus 630. It should be appreciated that although not shown, other hardware and/or software modules may be used in connection with electronic device 600, including, but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, data backup storage systems, and the like.
From the above description of embodiments, those skilled in the art will readily appreciate that the example embodiments described herein may be implemented in software, or may be implemented in software in combination with the necessary hardware. Thus, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (may be a CD-ROM, a U-disk, a mobile hard disk, etc.) or on a network, including several instructions to cause a computing device (may be a personal computer, a server, a terminal device, or a network device, etc.) to perform the method according to the embodiments of the present disclosure.
Furthermore, the above-described figures are only schematic illustrations of processes included in the method according to the exemplary embodiments of the present disclosure, and are not intended to be limiting. It will be readily appreciated that the processes shown in the above figures do not indicate or limit the temporal order of these processes. In addition, it is also readily understood that these processes may be performed synchronously or asynchronously, for example, among a plurality of modules.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any adaptations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.

Claims (8)

1. A method of load balancing, for use with a server, the server comprising a plurality of resource processes, each of the resource processes for processing a request to the server, the method comprising:
responding to a current request of a client, and acquiring the value of a request quantity parameter in a load prediction model of each resource process corresponding to a current time stamp, so as to determine a target load prediction model of each resource process according to the value of the request quantity parameter;
predicting load data of each resource process according to each target load prediction model to determine a target resource process of the current request, and distributing the current request to the target resource process;
determining the value of the request quantity parameter according to the request distributed by each resource process in the time interval from the latest update to the current timestamp of the load prediction model of each resource process;
the load prediction model predicts load data in the next updating time interval according to the change value of the request quantity allocated by the resource process in the last updating and the access request quantity allocated by the resource process in the updating time interval;
The load prediction model comprises a Kalman filter model, which is determined by:
Figure FDA0004228261820000011
wherein A is a transformation matrix of the Kalman filtering model, n is the parameter updating times of the Kalman filtering model, a n A request quantity parameter x which is distributed to the resource process in the time interval from the updated Kalman filtering model n-1 times to the current time stamp n-1 For the number of access requests, deltax, allocated to the resource process at the nth-1 update n-1 A change value X of the number of access requests allocated to the resource process in the update time interval from the n-2 th to the n-1 th n State predictive vector, x, for Kalman filter model n A predicted value, deltax, for the number of requests allocated to the resource process at the nth update n A predicted value of the variation of the number of the allocated requests of the resource process in the time interval of two adjacent updates, H is an output vector of the Kalman filtering model, and H is used for predicting the state of the vector X n Conversion to load prediction Z of the resource process n
2. The load balancing method of claim 1, wherein after assigning the current request to the target resource process, the method further comprises:
And updating the value of the request quantity parameter in the load prediction model corresponding to the target resource process according to the current request.
3. The load balancing method according to claim 2, wherein updating the value of the request quantity parameter in the load prediction model corresponding to the target resource process includes:
acquiring a preset resource occupation weight of the current request on the target resource process;
and increasing the value of the request quantity parameter in the load prediction model of the target resource process according to the resource occupation weight so as to update the value of the request quantity parameter.
4. The load balancing method of claim 1, wherein the server further comprises at least one allocation process for allocating the resource process for the request;
the updating of the load prediction model is realized by the following modes:
the distribution process obtains the load data of each resource process according to a preset time interval;
carrying out parameter updating on the load prediction model of each resource process according to the load data;
when the load prediction model of each resource process is subjected to parameter updating, the value of the request quantity parameter in each load prediction model is cleared.
5. The load balancing method according to claim 1, wherein the determining the currently requested target resource process comprises:
and determining the resource process corresponding to the minimum value in the predicted load data as the target resource process.
6. A load balancing apparatus for use with a server, the server comprising a plurality of resource processes, each of the resource processes for processing requests to the server, comprising:
the target load prediction model determining module is configured to respond to the current request of the client and acquire the value of a request quantity parameter in the load prediction model of each resource process corresponding to the current timestamp so as to determine the target load prediction model of each resource process according to the value of the request quantity parameter;
a target resource process allocation module configured to predict load data of each of the resource processes according to each of the target load prediction models to determine a target resource process of the current request, and allocate the current request to the target resource process;
determining the value of the request quantity parameter according to the request distributed by each resource process in the time interval from the latest update to the current timestamp of the load prediction model of each resource process;
The load prediction model predicts load data in the next updating time interval according to the change value of the request quantity allocated by the resource process in the last updating and the access request quantity allocated by the resource process in the updating time interval;
the load prediction model comprises a Kalman filter model, which is determined by:
Figure FDA0004228261820000031
wherein A is a transformation matrix of the Kalman filtering model, n is the parameter updating times of the Kalman filtering model, a n A request quantity parameter x which is distributed to the resource process in the time interval from the updated Kalman filtering model n-1 times to the current time stamp n-1 For the number of access requests, deltax, allocated to the resource process at the nth-1 update n-1 A change value X of the number of access requests allocated to the resource process in the update time interval from the n-2 th to the n-1 th n State predictive vector, x, for Kalman filter model n A predicted value, deltax, for the number of requests allocated to the resource process at the nth update n A predicted value of the variation of the number of the allocated requests of the resource process in the time interval of two adjacent updates, H is an output vector of the Kalman filtering model, and H is used for predicting the state of the vector X n Conversion to load prediction Z of the resource process n
7. A computer readable storage medium, on which a computer program is stored, characterized in that the program, when executed by a processor, implements the load balancing method according to any one of claims 1 to 5.
8. An electronic device, comprising:
one or more processors;
storage means for storing one or more programs which, when executed by the one or more processors, cause the one or more processors to implement the load balancing method of any of claims 1 to 5.
CN202011105808.8A 2020-10-15 2020-10-15 Load balancing method and device, computer readable storage medium and electronic equipment Active CN112181664B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011105808.8A CN112181664B (en) 2020-10-15 2020-10-15 Load balancing method and device, computer readable storage medium and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011105808.8A CN112181664B (en) 2020-10-15 2020-10-15 Load balancing method and device, computer readable storage medium and electronic equipment

Publications (2)

Publication Number Publication Date
CN112181664A CN112181664A (en) 2021-01-05
CN112181664B true CN112181664B (en) 2023-07-14

Family

ID=73950550

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011105808.8A Active CN112181664B (en) 2020-10-15 2020-10-15 Load balancing method and device, computer readable storage medium and electronic equipment

Country Status (1)

Country Link
CN (1) CN112181664B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113176906A (en) * 2021-04-25 2021-07-27 京东数字科技控股股份有限公司 Model management method, model management device, computer equipment and storage medium
CN114510003A (en) * 2021-12-28 2022-05-17 浙江中控技术股份有限公司 Controller load balance detection method of industrial control system
CN117311984B (en) * 2023-11-03 2024-03-29 北京创璞科技有限公司 Method and system for balancing server load based on comparison service

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104010028A (en) * 2014-05-04 2014-08-27 华南理工大学 Dynamic virtual resource management strategy method for performance weighting under cloud platform
CN105631196A (en) * 2015-12-22 2016-06-01 中国科学院软件研究所 Microservice-oriented container level flexible resource supply system and method
CN108228347A (en) * 2017-12-21 2018-06-29 上海电机学院 The Docker self-adapting dispatching systems that a kind of task perceives
CN109586971A (en) * 2018-12-14 2019-04-05 广东外语外贸大学 A kind of load resource demand appraisal procedure based on linear relationship

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120173709A1 (en) * 2011-01-05 2012-07-05 Li Li Seamless scaling of enterprise applications
US20170168729A1 (en) * 2015-12-11 2017-06-15 Netapp, Inc. Methods and systems for managing resources of a networked storage environment
US10432722B2 (en) * 2016-05-06 2019-10-01 Microsoft Technology Licensing, Llc Cloud storage platform providing performance-based service level agreements
US10102025B2 (en) * 2016-05-31 2018-10-16 Huawei Technologies Co., Ltd. Virtual machine resource utilization in a data center

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104010028A (en) * 2014-05-04 2014-08-27 华南理工大学 Dynamic virtual resource management strategy method for performance weighting under cloud platform
CN105631196A (en) * 2015-12-22 2016-06-01 中国科学院软件研究所 Microservice-oriented container level flexible resource supply system and method
CN108228347A (en) * 2017-12-21 2018-06-29 上海电机学院 The Docker self-adapting dispatching systems that a kind of task perceives
CN109586971A (en) * 2018-12-14 2019-04-05 广东外语外贸大学 A kind of load resource demand appraisal procedure based on linear relationship

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种基于Kalman的实时话务量预测算法;刘军搏;孙岩;王大鸣;崔唯嘉;;通信技术(第06期);86-88 *

Also Published As

Publication number Publication date
CN112181664A (en) 2021-01-05

Similar Documents

Publication Publication Date Title
CN112181664B (en) Load balancing method and device, computer readable storage medium and electronic equipment
Liu et al. A hierarchical framework of cloud resource allocation and power management using deep reinforcement learning
US10063634B2 (en) Deployment of multi-task analytics applications in multi-clouds
WO2018194836A1 (en) Systems and methods for proactively and reactively allocating resources in cloud-based networks
EP1750200A2 (en) System and method for executing job step, and computer product
KR101471749B1 (en) Virtual machine allcoation of cloud service for fuzzy logic driven virtual machine resource evaluation apparatus and method
US8732307B1 (en) Predictive control for resource entitlement
CN111597048B (en) Micro-service scheduling method and system based on service quality and electronic equipment
KR101882383B1 (en) A container resource allocation device and method in virtual desktop infrastructure
CN112148492B (en) Service deployment and resource allocation method considering multi-user mobility
CN112162891A (en) Performance test method in server cluster and related equipment
Devi et al. Multi-objective heuristics algorithm for dynamic resource scheduling in the cloud computing environment
US8819239B2 (en) Distributed resource management systems and methods for resource management thereof
US11354163B2 (en) Virtual machine placement method and virtual machine placement device implementing the same
CN111565216A (en) Back-end load balancing method, device, system and storage medium
CN114564313A (en) Load adjustment method and device, electronic equipment and storage medium
CN113485833A (en) Resource prediction method and device
US9501321B1 (en) Weighted service requests throttling
CN102184124A (en) Task scheduling method and system
CN115794358B (en) Cloud workflow task scheduling method and device, electronic equipment and storage medium
CN114466014B (en) Service scheduling method and device, electronic equipment and storage medium
CN115437794A (en) I/O request scheduling method and device, electronic equipment and storage medium
CN110347502A (en) Load equilibration scheduling method, device and the electronic equipment of cloud host server
CN115729645A (en) Micro-service configuration method and device, electronic equipment and readable storage medium
CN114020469A (en) Edge node-based multi-task learning method, device, medium and equipment

Legal Events

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