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 PDF

Info

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
Application number
CN201911185369.3A
Other languages
Chinese (zh)
Other versions
CN111078397A (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.)
Shanghai Langxi Information Technology Co ltd
Original Assignee
Shanghai Langxi Information Technology 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 Shanghai Langxi Information Technology Co ltd filed Critical Shanghai Langxi Information Technology Co ltd
Priority to CN201911185369.3A priority Critical patent/CN111078397B/en
Publication of CN111078397A publication Critical patent/CN111078397A/en
Application granted granted Critical
Publication of CN111078397B publication Critical patent/CN111078397B/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
    • 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/5083Techniques for rebalancing the load in a distributed system
    • 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

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

Load balancing task allocation method and system suitable for server cluster
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.
CN201911185369.3A 2019-11-27 2019-11-27 Load balancing task allocation method and system suitable for server cluster Active CN111078397B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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