CN112181664A - 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
CN112181664A
CN112181664A CN202011105808.8A CN202011105808A CN112181664A CN 112181664 A CN112181664 A CN 112181664A CN 202011105808 A CN202011105808 A CN 202011105808A CN 112181664 A CN112181664 A CN 112181664A
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.)
Granted
Application number
CN202011105808.8A
Other languages
Chinese (zh)
Other versions
CN112181664B (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 an electronic device. The method is applied to a server, the server comprises a plurality of resource processes, and each resource process is used for processing a request to the server, and the method comprises the following steps: responding to a current request of a client, acquiring a value of a request quantity parameter in a load prediction model of each resource process corresponding to a current timestamp, and determining a target load prediction model of each resource process according to the value of the request quantity parameter; and predicting the 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. The load distribution 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 present disclosure relates to the field of computer technologies, and in particular, to a complex balancing method, a load balancing apparatus, a computer-readable storage medium, and an electronic device.
Background
In computer application, a multi-process mode can be used for improving the processing efficiency of a server. Taking the game server as an example, for a large-scale multi-player online network game, the game server has the characteristics of more players online at the same time and high-frequency request for server resources. 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 the server carrying people.
The existing resource process allocation methods mainly include two methods, one is a random method, that is, for each request, a random number is obtained through a uniformly distributed random number algorithm, and a resource process corresponding to the random number is selected for request processing.
The other method is a single-point allocation method, namely, an allocation process is started in a server, each request obtains a real processed resource process through the allocation process, the single allocation process can know the historical request number of all resource processes, and therefore a resource process with a small historical allocation number is selected for allocation, or the allocation process can select a resource process with a low load for allocation according to the load condition of each process.
However, for the random method, in the case of a small amount of data, severe unevenness may occur, resulting in overloading of processes that are distributed unevenly 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 already 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 processes obtained by the allocation process is synchronized by the resource processes, and due to the fact that the data synchronization of the resource processes and the data synchronization of the allocation process has a delay condition, the data obtained by the allocation process cannot accurately reflect the current state of each resource process, and therefore the problem of uneven allocation exists.
It is to be noted that the information disclosed in the above background section is only for enhancement of 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 present disclosure is directed to a load balancing method and apparatus, 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.
Additional features and advantages of the disclosure will be set forth in the detailed description which follows, or in part will be obvious from the description, or may be learned by practice of the disclosure.
According to a first aspect of the present disclosure, there is provided a load balancing method applied to a server, where the server includes a plurality of resource processes, and each resource process is configured to process a request to the server, including:
responding to a current request of a client, acquiring a value of a request quantity parameter in a load prediction model of each resource process corresponding to a current timestamp, and determining 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 allocating the current request to the target resource process;
and determining the value of the request quantity parameter according to the request distributed to each resource process in the time interval from the latest update of the load prediction model of each resource process to the current timestamp.
In an exemplary embodiment of the disclosure, based on the foregoing scheme, the load prediction model predicts load data in a next update time interval according to a change value of the number of requests allocated to the resource process at the latest update time and the number of access requests allocated to the resource process in the update time interval;
the load prediction model comprises a kalman filter model.
In an exemplary embodiment of the present disclosure, based on the foregoing scheme, the kalman filtering model is determined by the following form:
Figure BDA0002726922630000031
wherein A is a transformation matrix of the Kalman filtering model, n is the parameter updating times of the Kalman filtering model, anA request quantity parameter, x, allocated to the resource process in a time interval from n-1 updates of the Kalman filtering model to the current timestampn-1The number of access requests, Δ x, allocated to the resource process at the time of the (n-1) th updaten-1A change value, X, of the number of access requests allocated to the resource process in the update time interval from the (n-2) th time to the (n-1) th timenPredicting a vector, x, for a state of a Kalman filtering modelnA predicted value, deltax, of the number of requests allocated by the resource process at the nth updatenA predicted value of the variation of the quantity of the requests distributed to the resource process in the two adjacent updating time intervals is obtained, H is an output vector of a Kalman filtering model, and H is used for predicting the state of the state prediction vector XnConverting into a load prediction value Z for the resource processnQ is a process noise covariance matrix of the Kalman filtering model, and R is an observation noise covariance matrix of the Kalman filtering model.
In an exemplary embodiment of the disclosure, based on the foregoing scheme, after the current request is allocated to the target resource process, 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 scheme, the 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 to 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 present disclosure, based on the foregoing solution, the server further includes at least one allocation process, where the allocation process is configured to allocate the resource process to the request;
the load prediction model is updated by the following method:
the allocation process acquires load data of each resource process according to a preset time interval;
updating parameters of a 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 scheme, the determining the target resource process of the current request 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, where the server includes a plurality of resource processes, and each resource process is configured to process a request to the server, including:
the target load prediction model determining module is configured to respond to a current request of a client, obtain a value of a request quantity parameter in a load prediction model of each resource process corresponding to a current timestamp, and 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 to each resource process in the time interval from the latest update of the load prediction model of each resource process to the current timestamp.
According to a third aspect of the present disclosure, there is provided a computer-readable storage medium, on which a computer program is stored, which when executed by a processor, implements the load balancing method as described in the first aspect of the embodiments above.
According to a fourth aspect of the embodiments of the present disclosure, there is provided an electronic apparatus including: a processor; and a storage device 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 foregoing technical solutions, the load balancing method, the load balancing apparatus, and the computer-readable storage medium and the electronic device for implementing the load balancing method in the exemplary embodiments of the present disclosure have at least 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 quantity 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 quantity 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 can be determined according to the request allocated to each resource process in the time interval from the latest update of the load prediction model of each resource process to the current timestamp. Compared with the prior art, on one hand, the load condition of each resource process can be updated in real time based on the acquired requests distributed by each resource process in the time interval from the latest update of the load prediction model of each resource process to the current timestamp, so that the prediction accuracy of the load data of each resource process can be improved, and the load distribution balance of each resource process in the server can be improved; on the other hand, the resource process can be directly distributed 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 present disclosure and together with the description, serve to explain the principles of the disclosure. It is to be understood that the drawings in the following description are merely exemplary of the disclosure, and that other drawings may be derived from those drawings by one of ordinary skill in the art without the exercise of inventive faculty.
Fig. 1 shows 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 chart diagram of a method of updating a value of a request quantity parameter in an exemplary embodiment of the present disclosure;
fig. 4 is a schematic structural diagram of a display control apparatus for skipping a word in an exemplary embodiment of the present disclosure;
FIG. 5 shows a schematic diagram of a computer storage medium in an exemplary embodiment of the disclosure; and the number of the first and second groups,
fig. 6 shows a schematic structural diagram 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. Example embodiments may, however, be embodied in many different 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 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 disclosure. One skilled in the relevant art will recognize, however, that the subject matter of the present disclosure can be practiced without one or more of the specific details, or with other methods, components, devices, steps, and the like. 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/parts/etc.; the terms "comprising" and "having" are intended to be inclusive and mean that there may be additional elements/components/etc. other than 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 their repetitive description 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 first provided, which overcomes, at least to some extent, the above-mentioned drawbacks of the related art.
Fig. 1 shows a flowchart of a load balancing method in an exemplary embodiment of the present disclosure, and the load balancing method provided in this embodiment is applied to a server. The server comprises a plurality of resource processes, and each resource process is used for processing a request to the server. Referring to fig. 1, the method includes:
step S110, responding to the current request of the client, obtaining the value of the request quantity parameter in the load prediction model of each resource process corresponding to the current timestamp, and determining the target load prediction model of each resource process according to the value of the request quantity parameter;
and step S120, predicting the load data of each resource process according to each target load prediction model to determine the target resource process of the current request, and distributing the current request 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 quantity 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 quantity 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 can be determined according to the request allocated to each resource process in the time interval from the latest update of the load prediction model of each resource process to the current timestamp. Compared with the prior art, on one hand, the load condition of each resource process can be updated in real time based on the acquired requests distributed by each resource process in the time interval from the latest update of the load prediction model of each resource process to the current timestamp, so that the prediction accuracy of the load data of each resource process can be improved, and the load distribution balance of each resource process in the server can be improved; on the other hand, the resource process can be directly distributed based on the determined target load prediction model, so that the distribution efficiency of the resource process can be improved.
The following detailed description of the various steps in the example shown in fig. 1:
in step S110, in response to the current request of the client, obtaining a value of a request quantity parameter in the load prediction model of each resource process corresponding to the current timestamp, 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 requests distributed by each resource process in the time interval from the latest update of the load prediction model of each resource process to the current timestamp.
In an exemplary embodiment, a resource process may include any process in a server that can actually process a request. The resource process can 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 value of each parameter has been determined.
Specifically, each resource process corresponds to a load prediction model, and parameters in the load prediction model at least include: the quantity of historical requests distributed by the resource process at the updating time, the request quantity parameter determined by the requests distributed by the resource process in the time interval from the last updating time to the current time, and the like. The current time may be a current timestamp, and the historical load data of the resource process may be acquired according to a preset time interval, so as to update the load prediction model, where the preset time interval may be fixed or may not be fixed.
In an exemplary embodiment, the load prediction model may predict load data in a next update time interval based on a number of requests assigned to a resource process at a last update and a change in a number of access requests assigned to the resource process during the update time interval.
Wherein the load prediction model comprises a Kalman filtering model. Of course, the load prediction model may also include other models that can predict data at the next time according to data at the previous time, such as an extended kalman filter model and an unscented kalman filter model. The present exemplary embodiment is not particularly limited in this regard.
For example, the parameters in the kalman filtering model may include at least: historical request quantity distributed by the resource process at the last updating time, request quantity parameters determined by the requests distributed by the resource process in the time interval from the last updating time to the current timestamp, and the like. 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 historical request quantity of the resource process at the previous update time, and the input data in the state prediction equation may include the value of the request quantity parameter determined according to the request allocated to the resource process in the time interval from the previous update time to the current time. The output of the state equation may include the number of requests for the current time predicted from the previous time. The output equation may convert the predicted number of requests of the resource process at the current time into 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 variation value of the number of requests to which the resource process is allocated in the adjacent update time interval. Therefore, the change value can be used as a base number, 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 the following form:
Figure BDA0002726922630000081
wherein A is a transformation matrix of the Kalman filtering model, n is the parameter updating times of the Kalman filtering model, anThe parameter of the quantity of the requests distributed by the resource process in the time interval from the update of n-1 times to the current time stamp,
Figure BDA0002726922630000082
xn-1number of access requests, Deltax, allocated for resource processes at time n-1n-1Change value of number of access requests distributed to resource process in updating time interval from n-2 times to n-1 times, XnPredicting a vector, X, for a state of a Kalman filtering modelnIs a two-dimensional column vector in which states may include xnAnd Δ xn,xnA predicted value, deltax, of the number of requests allocated to a resource process at the nth updatenUpdating the predicted value of the variation of the quantity of the requests distributed to the resource process in the time interval for two adjacent times (n-1 times and n times), wherein H is the output vector of the Kalman filtering model and is used for predicting the state of the vector XnConversion to resource ProcessLoad prediction value Z ofnQ is a process noise covariance matrix of the Kalman filtering model, and R is an observation noise covariance matrix of the Kalman filtering model.
In an exemplary embodiment, the transformation matrix a described above may comprise any 2 x 2 sized matrix, for example,
Figure BDA0002726922630000091
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 sum Δ x in the two-dimensional row vectornThe value of the corresponding row is greater than xnThe value of the corresponding row, e.g. H ═ 24]Where 2 is x in the AND state prediction vectornFor the corresponding row, 4 is Δ x in the associated state prediction vectornThe corresponding row. That is, setting the most recent allocation number (the allocation number in two adjacent update time intervals) has a greater impact on load data prediction than the historical allocation number (the allocation number before the current update time).
Generally speaking, the occupation of the request on the resource process has certain timeliness, that is, the earlier request is more likely to be processed and completed, and the influence on the occupancy rate of the resource process is smaller, so that the influence of the set historical distribution quantity on the load data prediction is smaller than the influence of the latest distribution quantity, and the prediction accuracy of the Kalman filtering model can be improved.
Meanwhile, the load data of the resource process is predicted by taking the value of the request quantity parameter determined by the request distributed to the resource process as the input data of the Kalman filtering model within the time interval from the latest update of the Kalman filtering model to the current timestamp, so that the current load state of each resource process can be accurately obtained in real time, the problem of inaccurate response of the current state caused by data synchronization delay in the related technology is avoided, and the distribution accuracy and balance of the resource processes can be improved.
Illustratively, the server further comprises at least one allocation process, and the allocation process is used for allocating resource processes for the requests in the server, so that the allocated resource processes can process the corresponding requests.
When the allocation process allocates the resource processes to 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 that the resource processes are allocated to the current request according to the prediction result.
For example, in order to improve the prediction accuracy of the load prediction model, the parameters of each load prediction model may be updated at preset time intervals to predict the current load condition 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 of a CPU (Central Processing Unit) of the server by each resource process, and the like.
Illustratively, each resource process collects its own historical load data and sends the collected load data to the allocation process at preset time intervals, e.g., every 3 seconds. In this way, the allocation process may receive historical load data for each resource process at corresponding preset time intervals, e.g., 3 seconds. The historical load data may include the occupancy rate of each resource process to the server CPU at the update time.
After the allocation process obtains the load data of each resource process, in step S220, the parameter of the load prediction model of each resource process is updated according to the load data.
For example, the load prediction model may include the kalman filter model described above, wherein the parameters of the kalman filter model may be updated by the following formula:
Figure BDA0002726922630000101
wherein, Kn=Pn|n-1·HT·Sn -1,Sn=H·Pn|n-1·HT+R,Pn|n-1=A·Pn-1·AT+Q,KnIs the Kalman filter gain, xn|n-1For predicting the state at n updates from the state at n-1 updates, Pn|n-1Is a posteriori estimation error covariance matrix at n updates predicted from the posteriori estimation error covariance matrix at n-1 updates, and Q is a process noise covariance matrix.
Figure BDA0002726922630000102
Is the load data collected at the time of the n updates, i.e. the load data collected at the time interval of the n in the above-mentioned step S210, zn|n-1Load data at the time of the n-th update determined for the state at the time of the n-th update predicted from the state of the n-1 updates.
The allocation process obtains the load data of each resource process
Figure BDA0002726922630000111
Then, the load data can be obtained
Figure BDA0002726922630000112
And predicted zn|n-1Using the above formula
Figure BDA0002726922630000113
And updating the parameters of the Kalman filtering model.
When updating the parameters of a prediction model, for example a Kalman filter model, at predetermined time intervals, the load data acquired at the time of updating are used
Figure BDA0002726922630000114
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 clearednIs set to zero.
For example, taking the load prediction model as a kalman filter model as an example, the specific implementation manner of step S110 may be that, in response to a current request of the client, the allocation process determines a 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 a value of a 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 an input of the corresponding kalman filter model, thereby determining the target load prediction model of each resource process.
The specific implementation manner of determining 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 may be to obtain a preset resource occupation weight of each request for 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 the resource process may be determined based on the type of request. In particular, if all requests are of the same type, their occupation weights for the resource process are equal, for example, the value of the request quantity parameter of the load prediction model of the resource process is increased by 1 every time the resource process is allocated a request. If the types of the requests are different, for example, there are K types of requests, the weight of each type of request may be determined according to the data occupied by the different types of requests tested in advance for the CPU, that is, the resource occupation weight of the request a with the lowest occupied data for the CPU is set to 1 in the K types, the resource occupation weight of the request b with the occupied data for the CPU being α times of the request a may be set to α, and when a certain resource process is allocated with the request b, the value of the request number parameter of the load prediction model of the resource process is increased by α.
According to the requests distributed to each resource process in the time interval from the last update time of the load prediction model of each resource process to the current timestamp, the value of the request quantity parameter in the load prediction model of each resource process corresponding to the current timestamp can be determined, and therefore the target load prediction model of each resource process corresponding to the current timestamp is generated.
With continued reference to fig. 1, after the target load prediction models are generated, in step S120, load data of each resource process is predicted according to each target load prediction model 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, the specific implementation of step S120 may be that load data of each resource process at the previous update time is predicted according to the load data of each resource process at the previous update time and a value of a request quantity parameter determined according to a request allocated to each resource process in a time interval from the previous update time to the current timestamp, so as to determine that a resource process corresponding to a minimum value in the predicted load data is a 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 also comprises the step of 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 a value of a request quantity parameter in a load prediction model corresponding to a target resource process may include steps S310 to S320.
In step S310, a preset resource occupation weight of the current request to the target resource process 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 may be determined.
For example, the specific implementation manner 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 different types of requests tested in advance to the CPU. The details thereof have already been described in relevant parts in step S110, and are not described herein again.
After determining the resource occupation weight of each request to the resource process, the resource occupation weight of the current request to the target resource process 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.
For example, the update formula for the value of the request quantity parameter may be an=an+aαWherein a isnMay be the value of a request quantity parameter in a load prediction model of the target resource process, aαMay be the resource occupancy weight of the current request.
For example, the value of the request quantity parameter in the load prediction model of the target resource process corresponding to the current timestamp may be anThe resource occupation weight corresponding to the current request may 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 processnCan be updated to an+aα
When the next load prediction model updating moment comes, 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 usednIs set to zero. Namely, the value a of the parameter of the number of requests in the load prediction model of each resource process at the time of updating the load prediction modelnIs zero; in the time interval of updating the load prediction model, the value of the request quantity parameter in the load prediction model of each resource process can be determined according to the request allocated to each resource process in the time interval from the last update time to the current timestamp.
Through the steps S110 to S120, when the prediction model is the kalman filter model, the kalman filter model is updated at a preset time interval, and according to a characteristic that an estimated value of the kalman filter model approaches a true value after a plurality of parameter updates, a problem of uneven load distribution caused by delay in synchronization of true data can be solved. Meanwhile, the accuracy of the acquired load state of each resource process can be improved by updating the request quantity parameters in the load prediction model, so that the prediction accuracy 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 exemplary embodiment can be made universal, that is, independent of a specific request type, the allocation of different request types can implement the allocation of resource processes by using the load balancing method provided in the exemplary embodiment.
Further, the load balancing method in the present exemplary embodiment may be applied to any server, such as a game server, and the like, and of course, the load balancing method in the present exemplary embodiment may also be extended to a server cluster to achieve load balancing of multiple servers, which is also within the protection scope of the present disclosure.
When the server in the exemplary embodiment is a game server, the load balancing method provided by the exemplary embodiment can more accurately allocate resource processes by using the current CPU load state of the game server, and improve the balance of allocation results, thereby improving the service performance of the game server, for example, increasing the number of players simultaneously carrying the game server.
Those skilled in the art will appreciate that all or part of the steps implementing the above embodiments are implemented as computer programs executed by a CPU. The computer program, when executed by the CPU, performs the functions defined by the 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 or optical disk, or the like.
Furthermore, it should be noted that the above-mentioned figures are only schematic illustrations of the processes involved in the method according to exemplary embodiments of the invention, and are not intended to be limiting. It will be readily understood that the processes shown in the above figures are not intended to indicate or limit the chronological order of the processes. In addition, it is also readily understood that these processes may be performed synchronously or asynchronously, e.g., in multiple modules.
Fig. 4 shows a schematic structural diagram of a load balancing apparatus in an exemplary embodiment of the present disclosure. The load balancing device is applied to a server, and the server comprises a plurality of resource processes, and each resource process is used for processing a request to the server. Referring to fig. 4, the load balancing apparatus 400 includes: a target load prediction model determination module 410 and a target resource process allocation module 420. Wherein:
the target load prediction model determining module 410 is configured to, in response to a current request of the client, obtain a value of a request quantity parameter in the load prediction model of each resource process corresponding to a current timestamp, so as to determine the target load prediction model of each resource process according to the value of the request quantity parameter;
the target resource process allocation module 420 is configured to predict load data of each resource process according to each target load prediction model 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 requests distributed by each resource process in the time interval from the latest update of the load prediction model of each resource process to the current timestamp.
In some exemplary embodiments of the present disclosure, based on the foregoing embodiments, the load prediction model described above may include a kalman filter model.
In some exemplary embodiments of the present disclosure, based on the foregoing embodiments, the kalman filtering model described above may be determined by the following form:
Figure BDA0002726922630000151
wherein A is a transformation matrix of the Kalman filtering model, n is the parameter updating times of the Kalman filtering model, anThe method is characterized in that a resource process is allocated with a request quantity parameter X in a time interval from n-1 updates of a Kalman filtering model to a current timestampnPredicting a vector, x, for a state of a Kalman filtering modelnValue of the number of requests, Δ x, allocated to a resource process at the nth updatenUpdating the change value of the quantity of the allocated requests of the resource process in the time interval for two adjacent times, wherein H is the output vector of the Kalman filtering model and is used for predicting the state of the vector XnConverting to a load prediction value Z for a resource ProcessnQ is a process noise covariance matrix of the Kalman filtering model, and R is an observation noise covariance matrix of the Kalman filtering model.
In some exemplary embodiments of the present disclosure, based on the foregoing embodiments, the load balancing apparatus described above 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 described above is further specifically configured to:
acquiring a preset resource occupation weight of a current request to 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, where the allocation process is configured to allocate a resource process for a request;
the load balancing apparatus further includes a load prediction model updating module configured to:
the allocation process acquires load data of each resource process according to a preset time interval;
updating parameters of the load prediction model of each resource process according to the load data;
when the parameters of the load prediction model of each resource process are updated, the values of the request quantity parameters in each load prediction model are cleared.
In some exemplary embodiments of the present disclosure, based on the foregoing embodiments, the above 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 apparatus have been described in detail in the corresponding load balancing method, and therefore are not described herein again.
It should be noted that although in the above detailed description several modules or units of the 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, according to embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
Moreover, although the steps of the methods of the present disclosure are depicted in the drawings in a particular order, this does not require or imply that the steps must be performed in this particular order, or that all of the depicted steps must be performed, to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step execution, and/or one step broken down into multiple step executions, etc.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, 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 (which may be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which may be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.
In an exemplary embodiment of the present disclosure, there is also provided a computer storage medium capable of implementing the above method. On which a program product capable of implementing the above-described method of the present specification is stored. In some possible embodiments, various aspects of the disclosure may also be implemented in the form of a program product comprising program code for causing a terminal device to perform the steps according to various exemplary embodiments of the disclosure described in the "exemplary methods" section above 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 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. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
A computer readable signal medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. 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 for 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 and partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, 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., through 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.
As will be appreciated by one skilled in the art, aspects of the present disclosure may be embodied as a system, method or program product. Accordingly, various aspects of the present disclosure may be embodied in the form of: an entirely hardware embodiment, an entirely software embodiment (including firmware, microcode, etc.) or an embodiment combining hardware and software aspects that may all generally be referred to herein as a "circuit," module "or" system.
An electronic device 600 according to this embodiment of the disclosure is described below with reference to fig. 6. The electronic device 600 shown in fig. 6 is only an example and should not bring any limitations to the function and scope of use of the embodiments of the present disclosure.
As shown in fig. 6, the electronic device 600 is embodied in the form of a general purpose computing device. The components of the 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 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 to cause the processing unit 610 to perform steps according to various exemplary embodiments of the present disclosure as described in the above section "exemplary methods" of this specification. For example, the processing unit 610 may perform the following as shown in fig. 1: step S110, responding to the current request of the client, obtaining the value of the request quantity parameter in the load prediction model of each resource process corresponding to the current timestamp, and determining the target load prediction model of each resource process according to the value of the request quantity parameter; and step S120, predicting the load data of each resource process according to each target load prediction model to determine the target resource process of the current request, and distributing the current request to the target resource process.
As another example, the processing unit 610 may perform various steps as described in fig. 2 and 3.
The storage unit 620 may include readable media in the form of volatile memory units, such as a random access memory unit (RAM)6201 and/or a cache memory unit 6202, and may further include a read-only memory unit (ROM) 6203.
The memory 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 of which, or some combination thereof, may comprise an implementation of a network environment.
Bus 630 may be 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 a local bus 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.), with one or more devices that enable a user to interact with the electronic device 600, and/or with any devices (e.g., router, modem, etc.) that enable the electronic device 600 to communicate with one or more other computing devices. Such communication may occur via an input/output (I/O) interface 650. Also, the electronic device 600 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network such as the Internet) via the network adapter 660. As shown, the network adapter 660 communicates with the other modules of the electronic device 600 over the bus 630. It should be appreciated that although not shown in the figures, other hardware and/or software modules may be used in conjunction with the electronic device 600, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, 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 (which may be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which may be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.
Furthermore, the above-described figures are merely schematic illustrations of processes included in methods according to exemplary embodiments of the present disclosure, and are not intended to be limiting. It will be readily understood that the processes shown in the above figures are not intended to indicate or limit the chronological order of the processes. In addition, it is also readily understood that these processes may be performed synchronously or asynchronously, e.g., in multiple 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 variations, 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 (10)

1. A load balancing method applied to a server, wherein the server comprises a plurality of resource processes, and each resource process is used for processing a request to the server, the method comprising:
responding to a current request of a client, acquiring a value of a request quantity parameter in a load prediction model of each resource process corresponding to a current timestamp, and determining 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 allocating the current request to the target resource process;
and determining the value of the request quantity parameter according to the request distributed to each resource process in the time interval from the latest update of the load prediction model of each resource process to the current timestamp.
2. The load balancing method according to claim 1, wherein the load prediction model predicts load data in a next update time interval according to a change value of the number of requests allocated to the resource process at the latest update and the number of access requests allocated to the resource process in the update time interval;
the load prediction model comprises a kalman filter model.
3. The load balancing method according to claim 2, wherein the kalman filter model is determined by the form:
Figure FDA0002726922620000011
wherein A is a transformation matrix of the Kalman filtering model, n is the parameter updating times of the Kalman filtering model, anA request quantity parameter, x, allocated to the resource process in a time interval from n-1 updates of the Kalman filtering model to the current timestampn-1The number of access requests, Δ x, allocated to the resource process at the time of the (n-1) th updaten-1A change value, X, of the number of access requests allocated to the resource process in the update time interval from the (n-2) th time to the (n-1) th timenPredicting a vector, x, for a state of a Kalman filtering modelnA predicted value, deltax, of the number of requests allocated by the resource process at the nth updatenA predicted value of the variation of the quantity of the requests distributed to the resource process in the two adjacent updating time intervals is obtained, H is an output vector of a Kalman filtering model, and H is used for predicting the state of the state prediction vector XnConverting into a load prediction value Z for the resource processnQ is a process noise covariance matrix of the Kalman filtering model, and R is an observation noise covariance matrix of the Kalman filtering model.
4. The method of claim 1, wherein after allocating 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.
5. The method according to claim 4, wherein the updating the value of the request quantity parameter in the load prediction model corresponding to the target resource process comprises:
acquiring a preset resource occupation weight of the current request to 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.
6. The method according to claim 1, wherein the server further comprises at least one allocation process, the allocation process being configured to allocate the resource process for the request;
the load prediction model is updated by the following method:
the allocation process acquires load data of each resource process according to a preset time interval;
updating parameters of a 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.
7. The method of 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.
8. A load balancing apparatus applied to a server, wherein the server includes a plurality of resource processes, and each resource process is configured to process a request to the server, comprising:
the target load prediction model determining module is configured to respond to a current request of a client, obtain a value of a request quantity parameter in a load prediction model of each resource process corresponding to a current timestamp, and 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 to each resource process in the time interval from the latest update of the load prediction model of each resource process to the current timestamp.
9. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the method of load balancing according to any one of claims 1 to 7.
10. 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 a method of load balancing as claimed in any one of claims 1 to 7.
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 true CN112181664A (en) 2021-01-05
CN112181664B 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)

Cited By (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
CN117311984A (en) * 2023-11-03 2023-12-29 北京创璞科技有限公司 Method and system for balancing server load based on comparison service

Citations (8)

* 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
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
US20170168729A1 (en) * 2015-12-11 2017-06-15 Netapp, Inc. Methods and systems for managing resources of a networked storage environment
US20170324813A1 (en) * 2016-05-06 2017-11-09 Microsoft Technology Licensing, Llc Cloud storage platform providing performance-based service level agreements
US20170344393A1 (en) * 2016-05-31 2017-11-30 Huawei Technologies Co., Ltd. Virtual machine resource utilization in a data center
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

Patent Citations (8)

* 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
CN104010028A (en) * 2014-05-04 2014-08-27 华南理工大学 Dynamic virtual resource management strategy method for performance weighting under cloud platform
US20170168729A1 (en) * 2015-12-11 2017-06-15 Netapp, Inc. Methods and systems for managing resources of a networked storage environment
CN105631196A (en) * 2015-12-22 2016-06-01 中国科学院软件研究所 Microservice-oriented container level flexible resource supply system and method
US20170324813A1 (en) * 2016-05-06 2017-11-09 Microsoft Technology Licensing, Llc Cloud storage platform providing performance-based service level agreements
US20170344393A1 (en) * 2016-05-31 2017-11-30 Huawei Technologies Co., Ltd. Virtual machine resource utilization in a data center
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的实时话务量预测算法", 通信技术 *

Cited By (4)

* 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
CN117311984A (en) * 2023-11-03 2023-12-29 北京创璞科技有限公司 Method and system for balancing server load based on comparison service
CN117311984B (en) * 2023-11-03 2024-03-29 北京创璞科技有限公司 Method and system for balancing server load based on comparison service

Also Published As

Publication number Publication date
CN112181664B (en) 2023-07-14

Similar Documents

Publication Publication Date Title
CN112181664B (en) Load balancing method and device, computer readable storage medium and electronic equipment
CN107885762B (en) Intelligent big data system, method and equipment for providing intelligent big data service
CN108089921B (en) Server for cloud big data operation architecture and operation resource optimization method thereof
US11188392B2 (en) Scheduling system for computational work on heterogeneous hardware
Nguyen et al. {AGILE}: elastic distributed resource scaling for {infrastructure-as-a-service}
US9081618B2 (en) Method and apparatus for the scheduling of computing tasks
US11088961B2 (en) Monitoring data streams and scaling computing resources based on the data streams
EP1750200A2 (en) System and method for executing job step, and computer product
CN106959894B (en) Resource allocation method and device
CN110753131A (en) Microservice distributed current limiting method and device, storage medium and electronic equipment
KR101882383B1 (en) A container resource allocation device and method in virtual desktop infrastructure
US9547520B1 (en) Virtual machine load balancing
CN108205469B (en) MapReduce-based resource allocation method and server
WO2021130596A1 (en) Elastic execution of machine learning workloads using application based profiling
CN112162891A (en) Performance test method in server cluster and related equipment
JP2014164425A (en) Information processing apparatus, resource control method, and program
CN113485833A (en) Resource prediction method and device
CN114564313A (en) Load adjustment method and device, electronic equipment and storage medium
CN110377427B (en) Task monitoring method, device and system
CN114785693B (en) Virtual network function migration method and device based on layered reinforcement learning
CN115437794A (en) I/O request scheduling method and device, electronic equipment and storage medium
CN114020469A (en) Edge node-based multi-task learning method, device, medium and equipment
Hauser et al. Predictability of resource intensive big data and hpc jobs in cloud data centres
JP2019082819A (en) System and method for supporting charging for use of accelerator part
CN110247802B (en) Resource configuration method and device for cloud service single-machine environment

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