CN111078397B - Load balancing task allocation method and system suitable for server cluster - Google Patents
Load balancing task allocation method and system suitable for server cluster Download PDFInfo
- Publication number
- CN111078397B CN111078397B CN201911185369.3A CN201911185369A CN111078397B CN 111078397 B CN111078397 B CN 111078397B CN 201911185369 A CN201911185369 A CN 201911185369A CN 111078397 B CN111078397 B CN 111078397B
- Authority
- CN
- China
- Prior art keywords
- task
- execution unit
- task execution
- information
- utilization rate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
The invention provides a load balancing task allocation method and a system suitable for a server cluster, wherein the method comprises the following steps: task scheduling and deployment steps: the task scheduling unit is deployed on a task scheduling server, and state information of the task scheduling unit is obtained; the task scheduling unit information comprises a task issuing record, namely a task distribution list of a task execution unit; a resource utilization list deployment step: the resource utilization rate list unit is deployed on a task scheduling server, and resource utilization rate list information is obtained; a task execution unit deployment step: the method comprises the steps of deploying a task execution unit on one or more servers and obtaining task execution unit state information; the task scheduling unit state information indicates the state of a task scheduling unit; the task execution unit state information indicates the state of a task execution unit; the invention can maximize the utilization rate of system resources of the multi-server cluster, and the performance of the cluster can be balanced to the greatest extent.
Description
Technical Field
The invention relates to the field of server clusters, in particular to a load balancing task allocation method and system suitable for server clusters.
Background
Known balancing schemes for multi-server cluster systems include an average allocation method, a random allocation method, a weighted average or weighted random allocation method, and a scheme in which a scheduling server inquires whether an executing server has resources capable of accepting tasks. But all have some drawbacks: whether the average allocation method and the random allocation method are weighted or not, the state of an execution server is not considered at all, and tasks are likely to be allocated to the server with extremely tight resources, so that the overall system efficiency is not effectively improved; the scheduling server temporarily inquires the state of the execution server when the task comes, the inquiry itself is delayed, and the time is more consumed if some servers which cannot respond are encountered. The active timing of the heartbeat signal by the execution server and reporting the resource utilization of the server can also be problematic, if the execution server is suspended due to extremely consumed task execution, the resource list of the scheduling server is incorrect, thereby delaying a lot of time.
Patent document CN101945041a discloses a method, device and system for load balancing of an authoritative server. Clustering a plurality of recursive servers into at least one cluster according to query behavior characteristics of the plurality of recursive servers; and establishing a corresponding relation between each cluster and an authoritative server in the authoritative server group of the target area. The state of the execution server is not considered, and tasks are likely to be distributed to the server with extremely intense resources, so that the overall system efficiency is not effectively improved; the patent still has a large lifting space in task scheduling efficiency.
Disclosure of Invention
Aiming at the defects in the prior art, the invention aims to provide a load balancing task allocation method and system suitable for server clusters.
The load balancing task allocation method suitable for the server cluster comprises the following steps: task scheduling and deployment steps: the task scheduling unit is deployed on a task scheduling server, and state information of the task scheduling unit is obtained; the task scheduling unit information comprises a task issuing record, namely a task distribution list of a task execution unit; a resource utilization list deployment step: the resource utilization rate list unit is deployed on a task scheduling server, and resource utilization rate list information is obtained; a task execution unit deployment step: the method comprises the steps of deploying a task execution unit on one or more servers and obtaining task execution unit state information; the task scheduling unit state information indicates the state of a task scheduling unit; the task execution unit state information indicates the state of a task execution unit; the resource utilization list information indicates a task execution unit resource utilization.
Preferably, the load balancing task allocation method applicable to the server cluster further comprises the following steps: inquiring the resource utilization rate: according to the state information of the task scheduling unit and the resource utilization rate list information, when the task scheduling unit receives a new task, firstly inquiring an allocated execution unit, and if the execution unit is an idle unit, directly allocating the execution unit to the unit; if the execution units are allocated with tasks, inquiring a resource utilization rate list, finding out a task execution unit with the lowest resource utilization rate, and acquiring the task execution unit appointed information with the lowest utilization rate; task issuing step: according to the task execution unit appointed information with the lowest utilization rate, the task is issued to the corresponding task execution unit, and task issuing control information is obtained; the task issuing control information guides the task to issue the behavior of the corresponding task execution unit; the lowest utilization task execution unit specification information indicates a location of a resource lowest utilization task execution unit.
Preferably, the resource utilization querying step includes: the number judging step: judging the number of task execution units with the lowest resource utilization rate, and acquiring confirmation information of a single task execution unit with the lowest utilization rate or confirmation information of a plurality of task execution units with the lowest utilization rate; the task issuing step further comprises the following steps: the direct assignment step: directly designating a task execution unit according to the confirmation information of the single lowest-utilization task execution unit, and acquiring the designation information of the lowest-utilization task execution unit; randomly extracting task execution units: and randomly extracting one task execution unit with the lowest utilization rate according to the confirmation information of the task execution units with the lowest utilization rate, and acquiring the designated information of the task execution unit with the lowest utilization rate.
Preferably, the load balancing task allocation method applicable to the server cluster further comprises the following steps: judging the full load of the resources: according to the task issuing control information, the task scheduling unit issues a task to the task execution unit, judges whether the task execution unit responds or not, and acquires resource full-load label information or task execution unit response information; and a step of replacement allocation task: according to the resource full-load label information, continuously distributing tasks to the next task execution unit meeting the preset requirements in the list, and acquiring task delivery replacement control information; acquiring response information of a task execution unit according to task issuing replacement control information; and the task issuing replacement control information indicates the action of continuing to distribute tasks to the next task execution unit meeting the preset requirements in the list.
Preferably, the load balancing task allocation method applicable to the server cluster further comprises the following steps: resource utilization reporting step: according to the response information of the task execution unit, the task execution unit completes the task, submits a task result to the scheduling unit, and simultaneously submits the current resource utilization rate of the task execution unit, and acquires task completion information and current resource utilization rate information; the current resource utilization information indicates a resource utilization of a current task execution unit.
According to the invention, a load balancing task allocation system suitable for a server cluster comprises: task scheduling and deployment module: the task scheduling unit is deployed on a task scheduling server, and state information of the task scheduling unit is obtained; the resource utilization list deployment module: the resource utilization rate list unit is deployed on a task scheduling server, and resource utilization rate list information is obtained; the task execution unit deployment module: the method comprises the steps of deploying a task execution unit on one or more servers and obtaining task execution unit state information; the task scheduling unit state information indicates the state of a task scheduling unit; the task execution unit state information indicates the state of a task execution unit; the resource utilization list information indicates a task execution unit resource utilization.
Preferably, the load balancing task allocation system applicable to the server cluster further comprises: resource utilization rate query module: inquiring a resource utilization rate list according to the state information of the task scheduling unit and the resource utilization rate list information, and when the task scheduling unit receives that the task quantity reaches a set task quantity threshold value, finding out a task execution unit with the lowest resource utilization rate, and acquiring the task execution unit appointed information with the lowest utilization rate; the task issuing module: according to the task execution unit appointed information with the lowest utilization rate, the task is issued to the corresponding task execution unit, and task issuing control information is obtained; the task issuing control information guides the task to issue the behavior of the corresponding task execution unit; the lowest utilization task execution unit specification information indicates a location of a resource lowest utilization task execution unit.
Preferably, the resource utilization query module includes: the quantity judging module is used for: judging the number of task execution units with the lowest resource utilization rate, and acquiring confirmation information of a single task execution unit with the lowest utilization rate or confirmation information of a plurality of task execution units with the lowest utilization rate; the task issuing step further comprises the following steps: direct assignment module: directly designating a task execution unit according to the confirmation information of the single lowest-utilization task execution unit, and acquiring the designation information of the lowest-utilization task execution unit; and the random extraction task execution unit module is used for: and randomly extracting one task execution unit with the lowest utilization rate according to the confirmation information of the task execution units with the lowest utilization rate, and acquiring the designated information of the task execution unit with the lowest utilization rate.
Preferably, the load balancing task allocation system applicable to the server cluster further comprises: and a resource full load judging module: according to the task issuing control information, the task scheduling unit issues a task to the task execution unit, judges whether the task execution unit responds or not, and acquires resource full-load label information or task execution unit response information; and a replacement allocation task module: according to the resource full-load label information, continuously distributing tasks to the next task execution unit meeting the preset requirements in the list, and acquiring task delivery replacement control information; acquiring response information of a task execution unit according to task issuing replacement control information; and the task issuing replacement control information indicates the action of continuing to distribute tasks to the next task execution unit meeting the preset requirements in the list.
Preferably, the load balancing task allocation system applicable to the server cluster further comprises: resource utilization reporting module: according to the response information of the task execution unit, the task execution unit completes the task, submits a task result to the scheduling unit, and simultaneously submits the current resource utilization rate of the task execution unit, and acquires task completion information and current resource utilization rate information; the current resource utilization information indicates a resource utilization of a current task execution unit.
Compared with the prior art, the invention has the following beneficial effects:
1. the invention fully considers the state of the execution server and can maximize the utilization rate of system resources of the multi-server cluster;
2. the invention can avoid the task being distributed to the server with extremely tense resources, and can lead the performance of the clusters to be balanced to the greatest extent;
3. the invention can effectively solve the problem that the execution server is suspended due to extremely consumed resource of task execution, and can effectively save time.
Drawings
Other features, objects and advantages of the present invention will become more apparent upon reading of the detailed description of non-limiting embodiments, given with reference to the accompanying drawings in which:
FIG. 1 is a schematic flow chart of the present invention.
Fig. 2 is a schematic diagram of the framework of the present invention.
Fig. 3 is a schematic diagram of a framework of a load balancing task allocation system suitable for server clusters according to an embodiment of the present invention.
Detailed Description
The present invention will be described in detail with reference to specific examples. The following examples will assist those skilled in the art in further understanding the present invention, but are not intended to limit the invention in any way. It should be noted that variations and modifications could be made by those skilled in the art without departing from the inventive concept. These are all within the scope of the present invention.
As shown in fig. 1, fig. 2, and fig. 3, the load balancing task allocation method suitable for a server cluster according to the present invention includes: task scheduling and deployment steps: the task scheduling unit is deployed on a task scheduling server, and state information of the task scheduling unit is obtained; the task scheduling unit information comprises a task issuing record, namely a task distribution list of a task execution unit; a resource utilization list deployment step: the resource utilization rate list unit is deployed on a task scheduling server, and resource utilization rate list information is obtained; a task execution unit deployment step: the method comprises the steps of deploying a task execution unit on one or more servers and obtaining task execution unit state information; the task scheduling unit state information indicates the state of a task scheduling unit; the task execution unit state information indicates the state of a task execution unit; the resource utilization list information indicates a task execution unit resource utilization.
Preferably, the load balancing task allocation method applicable to the server cluster further comprises the following steps: inquiring the resource utilization rate: according to the state information of the task scheduling unit and the resource utilization rate list information, when the task scheduling unit receives a new task, firstly inquiring an allocated execution unit, and if the execution unit is an idle unit, directly allocating the execution unit to the unit; if the execution units are allocated with tasks, inquiring a resource utilization rate list, finding out a task execution unit with the lowest resource utilization rate, and acquiring the task execution unit appointed information with the lowest utilization rate; task issuing step: according to the task execution unit appointed information with the lowest utilization rate, the task is issued to the corresponding task execution unit, and task issuing control information is obtained; the task issuing control information guides the task to issue the behavior of the corresponding task execution unit; the lowest utilization task execution unit specification information indicates a location of a resource lowest utilization task execution unit.
Preferably, the resource utilization querying step includes: the number judging step: judging the number of task execution units with the lowest resource utilization rate, and acquiring confirmation information of a single task execution unit with the lowest utilization rate or confirmation information of a plurality of task execution units with the lowest utilization rate; the task issuing step further comprises the following steps: the direct assignment step: directly designating a task execution unit according to the confirmation information of the single lowest-utilization task execution unit, and acquiring the designation information of the lowest-utilization task execution unit; randomly extracting task execution units: and randomly extracting one task execution unit with the lowest utilization rate according to the confirmation information of the task execution units with the lowest utilization rate, and acquiring the designated information of the task execution unit with the lowest utilization rate.
Preferably, the load balancing task allocation method applicable to the server cluster further comprises the following steps: judging the full load of the resources: according to the task issuing control information, the task scheduling unit issues a task to the task execution unit, judges whether the task execution unit responds or not, and acquires resource full-load label information or task execution unit response information; and a step of replacement allocation task: according to the resource full-load label information, continuously distributing tasks to the next task execution unit meeting the preset requirements in the list, and acquiring task delivery replacement control information; acquiring response information of a task execution unit according to task issuing replacement control information; and the task issuing replacement control information indicates the action of continuing to distribute tasks to the next task execution unit meeting the preset requirements in the list.
Preferably, the load balancing task allocation method applicable to the server cluster further comprises the following steps: resource utilization reporting step: according to the response information of the task execution unit, the task execution unit completes the task, submits a task result to the scheduling unit, and simultaneously submits the current resource utilization rate of the task execution unit, and acquires task completion information and current resource utilization rate information; the current resource utilization information indicates a resource utilization of a current task execution unit.
Specifically, in one embodiment, as shown in fig. 3, a load balancing task allocation system adopts the load balancing task allocation method applicable to the server cluster, and the system is composed of two main logic units and an execution unit resource utilization list. The two logic units are respectively: task scheduling unit, task execution unit; the task scheduling unit and the execution unit resource utilization rate list are deployed on the same server and are called as a task scheduling server; the task execution units are deployed on a plurality of different servers and are specially used for task execution; after the task scheduling unit receives a large number of tasks, rapidly inquiring a resource utilization rate list of the execution units, finding out the execution unit with the lowest resource utilization rate through sequencing, randomly extracting one if a plurality of units with the lowest resource utilization rate exist, and simultaneously issuing the tasks to the execution unit in a multithreading mode; if the scheduling unit issues the task to the execution unit, the execution unit does not respond, the scheduling unit marks the full load of the execution unit resource in the execution unit resource utilization rate list, and continues to distribute the task to the next execution unit meeting the requirements in the list; when the execution unit completes the task, submitting a task result to the scheduling unit, and simultaneously submitting the current resource utilization rate of the execution unit;
according to the invention, a load balancing task allocation system suitable for a server cluster comprises: task scheduling and deployment module: the task scheduling unit is deployed on a task scheduling server, and state information of the task scheduling unit is obtained; the resource utilization list deployment module: the resource utilization rate list unit is deployed on a task scheduling server, and resource utilization rate list information is obtained; the task execution unit deployment module: the method comprises the steps of deploying a task execution unit on one or more servers and obtaining task execution unit state information; the task scheduling unit state information indicates the state of a task scheduling unit; the task execution unit state information indicates the state of a task execution unit; the resource utilization list information indicates a task execution unit resource utilization.
Preferably, the load balancing task allocation system applicable to the server cluster further comprises: resource utilization rate query module: inquiring a resource utilization rate list according to the state information of the task scheduling unit and the resource utilization rate list information, and when the task scheduling unit receives that the task quantity reaches a set task quantity threshold value, finding out a task execution unit with the lowest resource utilization rate, and acquiring the task execution unit appointed information with the lowest utilization rate; the task issuing module: according to the task execution unit appointed information with the lowest utilization rate, the task is issued to the corresponding task execution unit, and task issuing control information is obtained; the task issuing control information guides the task to issue the behavior of the corresponding task execution unit; the lowest utilization task execution unit specification information indicates a location of a resource lowest utilization task execution unit.
Preferably, the resource utilization query module includes: the quantity judging module is used for: judging the number of task execution units with the lowest resource utilization rate, and acquiring confirmation information of a single task execution unit with the lowest utilization rate or confirmation information of a plurality of task execution units with the lowest utilization rate; the task issuing step further comprises the following steps: direct assignment module: directly designating a task execution unit according to the confirmation information of the single lowest-utilization task execution unit, and acquiring the designation information of the lowest-utilization task execution unit; and the random extraction task execution unit module is used for: and randomly extracting one task execution unit with the lowest utilization rate according to the confirmation information of the task execution units with the lowest utilization rate, and acquiring the designated information of the task execution unit with the lowest utilization rate.
Preferably, the load balancing task allocation system applicable to the server cluster further comprises: and a resource full load judging module: according to the task issuing control information, the task scheduling unit issues a task to the task execution unit, judges whether the task execution unit responds or not, and acquires resource full-load label information or task execution unit response information; and a replacement allocation task module: according to the resource full-load label information, continuously distributing tasks to the next task execution unit meeting the preset requirements in the list, and acquiring task delivery replacement control information; acquiring response information of a task execution unit according to task issuing replacement control information; and the task issuing replacement control information indicates the action of continuing to distribute tasks to the next task execution unit meeting the preset requirements in the list.
Preferably, the load balancing task allocation system applicable to the server cluster further comprises: resource utilization reporting module: according to the response information of the task execution unit, the task execution unit completes the task, submits a task result to the scheduling unit, and simultaneously submits the current resource utilization rate of the task execution unit, and acquires task completion information and current resource utilization rate information; the current resource utilization information indicates a resource utilization of a current task execution unit.
Specifically, in one embodiment, as shown in FIG. 3, a load balancing task allocation system is comprised of two main logical units and an execution unit resource utilization inventory. The two logic units are respectively: task scheduling unit, task execution unit; the task scheduling unit and the execution unit resource utilization rate list are deployed on the same server and are called as a task scheduling server; the task execution units are deployed on a plurality of different servers and are specially used for task execution; after the task scheduling unit receives a large number of tasks, rapidly inquiring a resource utilization rate list of the execution units, finding out the execution unit with the lowest resource utilization rate through sequencing, randomly extracting one if a plurality of units with the lowest resource utilization rate exist, and simultaneously issuing the tasks to the execution unit in a multithreading mode; if the scheduling unit issues the task to the execution unit, the execution unit does not respond, the scheduling unit marks the full load of the execution unit resource in the execution unit resource utilization rate list, and continues to distribute the task to the next execution unit meeting the requirements in the list; when the execution unit completes the task, submitting a task result to the scheduling unit, and simultaneously submitting the current resource utilization rate of the execution unit;
the invention fully considers the state of the execution server and can maximize the utilization rate of system resources of the multi-server cluster; the invention can avoid the task being distributed to the server with extremely tense resources, and can lead the performance of the clusters to be balanced to the greatest extent; the invention can effectively solve the problem that the execution server is suspended due to extremely consumed resource of task execution, and can effectively save time.
Those skilled in the art will appreciate that the invention provides a system and its individual devices, units in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers, etc. all but by implementing the invention in the form of a pure computer readable program code. Therefore, the system and various devices, units and units thereof provided by the invention can be regarded as a hardware component, and the devices, units and units for realizing various functions included in the system can also be regarded as structures in the hardware component; means, units for implementing various functions may also be regarded as either software units implementing the method or structures within hardware components.
The foregoing describes specific embodiments of the present invention. It is to be understood that the invention is not limited to the particular embodiments described above, and that various changes or modifications may be made by those skilled in the art within the scope of the appended claims without affecting the spirit of the invention. The embodiments of the present application and features in the embodiments may be combined with each other arbitrarily without conflict.
Claims (10)
1. A method for distributing load balancing tasks applicable to a server cluster, comprising:
task scheduling and deployment steps: the task scheduling unit is deployed on a task scheduling server, and state information of the task scheduling unit is obtained; the task scheduling unit information comprises a task issuing record, namely a task distribution list of a task execution unit;
a resource utilization list deployment step: the resource utilization rate list unit is deployed on a task scheduling server, and resource utilization rate list information is obtained;
a task execution unit deployment step: the method comprises the steps of deploying a task execution unit on one or more servers and obtaining task execution unit state information;
the task scheduling unit state information indicates the state of a task scheduling unit;
the task execution unit state information indicates the state of a task execution unit;
the resource utilization list information indicates a task execution unit resource utilization.
2. The method for load balancing task allocation for a server cluster according to claim 1, further comprising:
inquiring the resource utilization rate: according to the state information of the task scheduling unit and the resource utilization rate list information, when the task scheduling unit receives a new task, firstly inquiring an allocated execution unit, and if the execution unit is an idle unit, directly allocating the execution unit to the unit; if the execution units are allocated with tasks, inquiring a resource utilization rate list, finding out a task execution unit with the lowest resource utilization rate, and acquiring the task execution unit appointed information with the lowest utilization rate;
task issuing step: according to the task execution unit appointed information with the lowest utilization rate, the task is issued to the corresponding task execution unit, and task issuing control information is obtained;
the task issuing control information guides the task to issue the behavior of the corresponding task execution unit;
the lowest utilization task execution unit specification information indicates a location of a resource lowest utilization task execution unit.
3. The method for distributing load balancing tasks applicable to a server cluster according to claim 2, wherein the resource utilization querying step comprises:
the number judging step: judging the number of task execution units with the lowest resource utilization rate, and acquiring confirmation information of a single task execution unit with the lowest utilization rate or confirmation information of a plurality of task execution units with the lowest utilization rate;
the task issuing step further comprises the following steps:
the direct assignment step: directly designating a task execution unit according to the confirmation information of the single lowest-utilization task execution unit, and acquiring the designation information of the lowest-utilization task execution unit;
randomly extracting task execution units: and randomly extracting one task execution unit with the lowest utilization rate according to the confirmation information of the task execution units with the lowest utilization rate, and acquiring the designated information of the task execution unit with the lowest utilization rate.
4. The method for load balancing task allocation for a server cluster according to claim 2, further comprising:
judging the full load of the resources: according to the task issuing control information, the task scheduling unit issues a task to the task execution unit, judges whether the task execution unit responds or not, and acquires resource full-load label information or task execution unit response information;
and a step of replacement allocation task: according to the resource full-load label information, continuously distributing tasks to the next task execution unit meeting the preset requirements in the list, and acquiring task delivery replacement control information;
acquiring response information of a task execution unit according to task issuing replacement control information;
and the task issuing replacement control information indicates the action of continuing to distribute tasks to the next task execution unit meeting the preset requirements in the list.
5. The method for load balancing task allocation for a server cluster according to claim 4, further comprising:
resource utilization reporting step: according to the response information of the task execution unit, the task execution unit completes the task, submits a task result to the scheduling unit, and simultaneously submits the current resource utilization rate of the task execution unit, and acquires task completion information and current resource utilization rate information;
the current resource utilization information indicates a resource utilization of a current task execution unit.
6. A load balancing task allocation system for a cluster of servers, comprising:
task scheduling and deployment module: the task scheduling unit is deployed on a task scheduling server, and state information of the task scheduling unit is obtained;
the resource utilization list deployment module: the resource utilization rate list unit is deployed on a task scheduling server, and resource utilization rate list information is obtained;
the task execution unit deployment module: the method comprises the steps of deploying a task execution unit on one or more servers and obtaining task execution unit state information;
the task scheduling unit state information indicates the state of a task scheduling unit;
the task execution unit state information indicates the state of a task execution unit;
the resource utilization list information indicates a task execution unit resource utilization.
7. The load balancing task allocation system for a server cluster of claim 6, further comprising:
resource utilization rate query module: inquiring a resource utilization rate list according to the state information of the task scheduling unit and the resource utilization rate list information, and when the task scheduling unit receives that the task quantity reaches a set task quantity threshold value, finding out a task execution unit with the lowest resource utilization rate, and acquiring the task execution unit appointed information with the lowest utilization rate;
the task issuing module: according to the task execution unit appointed information with the lowest utilization rate, the task is issued to the corresponding task execution unit, and task issuing control information is obtained;
the task issuing control information guides the task to issue the behavior of the corresponding task execution unit;
the lowest utilization task execution unit specification information indicates a location of a resource lowest utilization task execution unit.
8. The load balancing task allocation system for a server cluster of claim 7, wherein the resource utilization query module comprises:
the quantity judging module is used for: judging the number of task execution units with the lowest resource utilization rate, and acquiring confirmation information of a single task execution unit with the lowest utilization rate or confirmation information of a plurality of task execution units with the lowest utilization rate;
the task issuing step further comprises the following steps:
direct assignment module: directly designating a task execution unit according to the confirmation information of the single lowest-utilization task execution unit, and acquiring the designation information of the lowest-utilization task execution unit;
and the random extraction task execution unit module is used for: and randomly extracting one task execution unit with the lowest utilization rate according to the confirmation information of the task execution units with the lowest utilization rate, and acquiring the designated information of the task execution unit with the lowest utilization rate.
9. The load balancing task allocation system for a server cluster of claim 7, further comprising:
and a resource full load judging module: according to the task issuing control information, the task scheduling unit issues a task to the task execution unit, judges whether the task execution unit responds or not, and acquires resource full-load label information or task execution unit response information;
and a replacement allocation task module: according to the resource full-load label information, continuously distributing tasks to the next task execution unit meeting the preset requirements in the list, and acquiring task delivery replacement control information;
acquiring response information of a task execution unit according to task issuing replacement control information;
and the task issuing replacement control information indicates the action of continuing to distribute tasks to the next task execution unit meeting the preset requirements in the list.
10. The load balancing task allocation system for a server cluster of claim 9, further comprising:
resource utilization reporting module: according to the response information of the task execution unit, the task execution unit completes the task, submits a task result to the scheduling unit, and simultaneously submits the current resource utilization rate of the task execution unit, and acquires task completion information and current resource utilization rate information;
the current resource utilization information indicates a resource utilization of a current task execution unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911185369.3A CN111078397B (en) | 2019-11-27 | 2019-11-27 | Load balancing task allocation method and system suitable for server cluster |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911185369.3A CN111078397B (en) | 2019-11-27 | 2019-11-27 | Load balancing task allocation method and system suitable for server cluster |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111078397A CN111078397A (en) | 2020-04-28 |
CN111078397B true CN111078397B (en) | 2023-04-25 |
Family
ID=70311915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911185369.3A Active CN111078397B (en) | 2019-11-27 | 2019-11-27 | Load balancing task allocation method and system suitable for server cluster |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078397B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112636982A (en) * | 2020-12-28 | 2021-04-09 | 中孚安全技术有限公司 | Network countermeasure environment configuration method and experiment cloud platform system for network countermeasure |
CN113326111A (en) * | 2021-05-11 | 2021-08-31 | 山东浪潮科学研究院有限公司 | Distributed monitoring and scheduling method for quantum computer cluster |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103825964A (en) * | 2014-03-19 | 2014-05-28 | 北京邮电大学 | SLS (Service Level Specification) scheduling device and SLS scheduling method based on cloud computing PaaS (platform-as-a-service) platform |
CN105141541A (en) * | 2015-09-23 | 2015-12-09 | 浪潮(北京)电子信息产业有限公司 | Task-based dynamic load balancing scheduling method and device |
CN105373429A (en) * | 2014-08-20 | 2016-03-02 | 腾讯科技(深圳)有限公司 | Task scheduling method, device and system |
WO2018001004A1 (en) * | 2016-06-27 | 2018-01-04 | 中兴通讯股份有限公司 | Docker based cloud platform control method and apparatus |
-
2019
- 2019-11-27 CN CN201911185369.3A patent/CN111078397B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103825964A (en) * | 2014-03-19 | 2014-05-28 | 北京邮电大学 | SLS (Service Level Specification) scheduling device and SLS scheduling method based on cloud computing PaaS (platform-as-a-service) platform |
CN105373429A (en) * | 2014-08-20 | 2016-03-02 | 腾讯科技(深圳)有限公司 | Task scheduling method, device and system |
CN105141541A (en) * | 2015-09-23 | 2015-12-09 | 浪潮(北京)电子信息产业有限公司 | Task-based dynamic load balancing scheduling method and device |
WO2018001004A1 (en) * | 2016-06-27 | 2018-01-04 | 中兴通讯股份有限公司 | Docker based cloud platform control method and apparatus |
Non-Patent Citations (1)
Title |
---|
任侠 ; .基于动态自适应负载均衡的服务器集群优化策略.工业控制计算机.2015,(12),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111078397A (en) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108762896B (en) | Hadoop cluster-based task scheduling method and computer equipment | |
WO2020181813A1 (en) | Task scheduling method based on data processing and related device | |
CN102929707B (en) | Parallel task dynamical allocation method | |
CN106874031B (en) | Method and device for starting system program of terminal equipment | |
US20160306680A1 (en) | Thread creation method, service request processing method, and related device | |
CN105468450A (en) | Task scheduling method and system | |
CN111078397B (en) | Load balancing task allocation method and system suitable for server cluster | |
CN102385541A (en) | Controlled automatic healing of data-center services | |
CN103761146A (en) | Method for dynamically setting quantities of slots for MapReduce | |
CN111309440B (en) | Method and equipment for managing and scheduling multiple types of GPUs | |
US20160116971A1 (en) | Access based resources driven low power control and management for multi-core system on a chip | |
EP3537281A1 (en) | Storage controller and io request processing method | |
CN107341056A (en) | A kind of method and device of the thread distribution based on NFS | |
EP2908465B1 (en) | High availability method and system for improving the utility of physical servers in cloud computing resource pool | |
CN104572279A (en) | Node binding-supporting virtual machine dynamic scheduling method | |
CN107203256A (en) | Energy-conservation distribution method and device under a kind of network function virtualization scene | |
CN106911741B (en) | Method for balancing virtual network management file downloading load and network management server | |
CN106325997B (en) | Virtual resource allocation method and device | |
CN116360922A (en) | Cluster resource scheduling method, device, computer equipment and storage medium | |
EP4206915A1 (en) | Container creation method and apparatus, electronic device, and storage medium | |
CN113138842B (en) | Micro service cluster scheduling method, device and medium | |
CN114265676A (en) | Cluster resource scheduling method, device, equipment and medium | |
CN103973811A (en) | High-availability cluster management method capable of conducting dynamic migration | |
CN104657204A (en) | Short task processing method, device and operation system | |
CN108279982B (en) | Method, system and equipment for managing pbs resources and hadoop resources |
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 |