CN102469126B - Application scheduling system, method thereof and related device - Google Patents

Application scheduling system, method thereof and related device Download PDF

Info

Publication number
CN102469126B
CN102469126B CN201010539497.6A CN201010539497A CN102469126B CN 102469126 B CN102469126 B CN 102469126B CN 201010539497 A CN201010539497 A CN 201010539497A CN 102469126 B CN102469126 B CN 102469126B
Authority
CN
China
Prior art keywords
node
application
computer node
load
computer
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.)
Expired - Fee Related
Application number
CN201010539497.6A
Other languages
Chinese (zh)
Other versions
CN102469126A (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.)
China Mobile Communications Group Co Ltd
Original Assignee
China Mobile Communications Group 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 China Mobile Communications Group Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201010539497.6A priority Critical patent/CN102469126B/en
Publication of CN102469126A publication Critical patent/CN102469126A/en
Application granted granted Critical
Publication of CN102469126B publication Critical patent/CN102469126B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention discloses an application scheduling system, a method thereof and a related device which are used for executing real-time and dynamic scheduling on an application to realize good operation and elastic disposition of the application and raise resource utilization rate of the system. The application scheduling system comprises at least two computer nodes and an application cluster management device. The computer nodes are used for generating and reporting present load information and executing corresponding application scheduling according to a scheduling instruction sent by the application cluster management device. The application cluster management device is used for receiving load information reported by each computer node, determining a source computer node which needs to execute application scheduling and a target computer node to which an application is scheduled according to node load of each computer node, combining with application load of each application disposed on the source computer node, and generating a scheduling instruction and sending the scheduling instruction to the source computer node.

Description

A kind of application schedules system, method and relevant apparatus
Technical field
The present invention relates to mobile Internet field, relate in particular to a kind of application schedules system, method and relevant apparatus.
Background technology
In existing operation (task) dispatching method, mainly contain operation (task) dispatching method using in computer cluster, grid etc., these methods are greatly mainly with centered by system, and the deadline minimum that improves system throughput, utilization rate, realizes all tasks in whole system of take is target.Current representational job scheduling system and method are wherein described below:
Condor is the batch processing queue system for the operation of Management Calculation intensity, is the Open-Source Tools of computer cluster management, for the dedicated computing node of supervisory computer cluster with effectively utilize in grid the not clock cycle of use.The job scheduling method of Condor has solved the problem in two fields, and it uses a kind of computer node based in batch processing queue management by methods cluster on the one hand, can effectively utilize idle node computational resource on the other hand.Typical, use in situation, user is by job invocation to Condor, and it can be ranked and monitor task, then when task completes, result is showed.Condor also can utilize the idling cycle of resource space idle effectively to manage non-private resource, and effectively utilizing idling cycle is the characteristic of Condor dispatching method.
LSF is cluster management system more than, and it makes the computer of a plurality of isomeries can pass through local area network (LAN) or wide area network shared computation resource, and can provide the transparent access to resource for user.Resource regulating method in LSF can be realized load balance, and when user has sent a task requests, LSF system can send to this task corresponding resource location, and selects the lighter machine of load to process this task according to scheduling strategy.Can also realize priority scheduling, when a plurality of users ask same resource, according to user's Request Priority, guarantee that first the user's that priority is high hot job can be met simultaneously.
In above-mentioned two systems, operation (task) dispatch deal to as if job queue, conventionally use the method processing operation (task) based on batch processing queue, the deadline minimum that improves system throughput, utilization rate, realizes all tasks in whole system of take is target, for the operation (task) that has real-time scheduling to require, can not meet the demands.And cannot satisfy the demands for operation (task) scheduling with real-time scheduling requirement.When application schedules to as if the Internet hosting environment under application example time, current existing job scheduling method and system lack to computer resource in real time, follow the tracks of dynamically, thereby cannot realize the timely discovery of available resources and the elasticity of application is disposed.
As can be seen here, how according to system outside, the request of application and the current ruuning situation of system to be carried out in real time, to be dispatched dynamically application, to realize good operation and the elasticity applied in the Internet hosting environment, dispose, improve resource utilization ratio, become one of problem demanding prompt solution in prior art.
Summary of the invention
The invention discloses a kind of application schedules system, method and relevant apparatus, in order to application is carried out in real time, to be dispatched dynamically, to realize good operation and the elasticity of application, dispose, improve resource utilization ratio.
The embodiment of the present invention provides a kind of application schedules system, comprises at least two computer nodes and application cluster management devices, wherein:
Described computer node, for generating self current load information and reporting, described load information comprises the application load of the node load of computer node and each application of computer node deploy; And the dispatch command issuing according to described application cluster management devices is carried out corresponding application schedules;
Described application cluster management devices, for receiving the load information that each computer node reports, according to the node load of each computer node, determine and need to carry out the source computer node of application schedules and the object-computer node that application is scheduled for, and in conjunction with the application load of each application of described source computer node deploy, generate dispatch command and be handed down to described source computer node, described dispatch command is indicated described object-computer node and is deployed in the application that need to carry out application schedules on source computer node.
The embodiment of the present invention provides a kind of application scheduling method thereof, comprising:
Receive the load information that each computer node reports, described load information comprises the application load of the node load of computer node and each application of computer node deploy;
According to the node load of each computer node, determine and need to carry out the source computer node of application schedules and the object-computer node that application is scheduled for, and generating dispatch command in conjunction with the application load of each application of described source computer node deploy, described dispatch command is indicated described object-computer node and is deployed in the application that need to carry out application schedules on source computer node;
The dispatch command of generation is handed down to described source computer node.
The embodiment of the present invention provides a kind of computer node, comprising:
Computer node proxy module, described computer node proxy module comprises generation submodule, reports submodule, implementation sub-module, wherein:
Described generation submodule, for generating the current load information of computer node, described load information comprises the application load of the node load of computer node and each application of computer node deploy;
The described submodule that reports, for reporting the load information of generation;
Described implementation sub-module, for carrying out corresponding application schedules according to the dispatch command receiving, described dispatch command indication is applied the object-computer node being scheduled for and is deployed in the application that need to carry out application schedules on current computer node.
The embodiment of the present invention provides a kind of application cluster management devices, comprising:
Interface module, the load information reporting for receiving each computer node, described load information comprises the application load of the node load of computer node and each application of computer node deploy; And the dispatch command of generation is handed down to the source computer node that need to carry out application schedules;
Administration module, for determining according to the node load of each computer node, need to carry out the source computer node of application schedules and the object-computer node that application is scheduled for, and generating dispatch command in conjunction with the application load of each application of described source computer node deploy, described dispatch command is indicated described object-computer node and is deployed in the application that need to carry out application schedules on source computer node.
Application schedules system, method and relevant apparatus that the embodiment of the present invention provides, each computer node reports self current load information, and load information comprises node load and application load two parts content; Application cluster management devices is according to the node load of each computer node, determine and need to carry out the source computer node of application schedules and the object-computer node that application is scheduled for, and determine in conjunction with the application load of each application of source computer node deploy the application that need to carry out application schedules, thereby generate dispatch command and be handed down to source computer node, dispatch command indicating target computer node and be deployed in the application that need to carry out application schedules on source computer node.Accordingly, source computer node can be carried out application schedules according to the dispatch command receiving.Thereby realized under internet, applications hosting environment, according to application schedules system outside, the request of application and the current ruuning situation of application schedules system are carried out in real time, dispatched dynamically the application of source computer node deploy, reached the good operation of application and elasticity have been disposed, improved resource utilization ratio.
Other features and advantages of the present invention will be set forth in the following description, and, partly from specification, become apparent, or understand by implementing the present invention.Object of the present invention and other advantages can be realized and be obtained by specifically noted structure in the specification write, claims and accompanying drawing.
Accompanying drawing explanation
Fig. 1 is in the embodiment of the present invention, internet, applications hosting environment overall construction drawing;
Fig. 2 is in the embodiment of the present invention, a kind of possible structural representation of application schedules system;
Fig. 3 is in the embodiment of the present invention, the implementing procedure schematic diagram of application scheduling method thereof;
Fig. 4 is in the embodiment of the present invention, a kind of possible structural representation of computer equipment;
Fig. 5 is in the embodiment of the present invention, a kind of possible structural representation of application schedules device;
Fig. 6 is in the embodiment of the present invention, the schematic diagram that multiclass classification module is classified to computer node;
Fig. 7 is in the embodiment of the present invention, the data structure diagram of the node load data of current each computer node;
Fig. 8 is in the embodiment of the present invention, and the Topological Mapping between current each computer node and each application is related to bigraph (bipartite graph);
Fig. 9 is in the embodiment of the present invention, and each module of application schedules system realizes the implementing procedure schematic diagram of application schedules by interaction message.
Embodiment
In order to realize under internet, applications hosting environment, according to application schedules system outside, the request of application and the current ruuning situation of application schedules system are carried out in real time, dispatched dynamically application, to reach, the good operation of application and elasticity are disposed, the object that improves resource utilization ratio, the embodiment of the present invention provides a kind of application schedules system, method and relevant apparatus.
Below in conjunction with Figure of description, the preferred embodiments of the present invention are described, be to be understood that, preferred embodiment described herein is only for description and interpretation the present invention, be not intended to limit the present invention, and in the situation that not conflicting, embodiment and the feature in embodiment in the present invention can combine mutually.
As shown in Figure 1, in the embodiment of the present invention, internet, applications hosting environment overall construction drawing, comprises intelligent route applicator, application cluster management devices, and application cluster three parts, wherein, application cluster comprises application example and computer node two parts.Application schedules process results from the increase of application load, in AH environment, each computer node deploy a plurality of application, an application has a plurality of application examples to be deployed on different computer nodes simultaneously, and application request is distributed on different computer nodes according to load balancing by intelligent route applicator.On certain computer node, the increase of application request can cause the node load of this computer node to increase.What is called is carried out in real time, is dispatched dynamically application, refer to according to the service condition of application request quantity and system resource, application is deployed on the one or more computer nodes in system dynamically, and according to the number of the application example that the visit capacity of application is determined need to move, when the visit capacity of application is increased, can dynamically increase resource and distribute the deployment that improves application, carry out load balancing; When the visit capacity of application reduces, the deployment of a resource shrinkage application can dynamic reducing distributing.
As shown in Figure 2, a kind of possible structural representation of application schedules system for the embodiment of the present invention provides, comprises at least two computer nodes and application cluster management devices, wherein:
Computer node 10, for generating self current load information and reporting, this load information comprises the application load of the node load of computer node and each application of computer node deploy; And the dispatch command issuing according to application cluster management devices 11 is carried out corresponding application schedules;
In concrete enforcement, computer node 10 can be computer equipment, can be also to operate on computer equipment, is responsible for the logic module of operation dispatching instruction.Computer node 10 is responsible for reporting self current load information to application cluster management devices 11.This load information comprises the application load of the node load of computer node and each application of computer node deploy.
Application cluster management devices 11, for receiving the load information that each computer node 10 reports, according to the node load of each computer node, determine and need to carry out the source computer node of application schedules and the object-computer node that application is scheduled for, and in conjunction with the application load of each application of this source computer node deploy, generate dispatch command and be handed down to this source computer node, this dispatch command indicating target computer node and be deployed in the application that need to carry out application schedules on source computer node.
Concrete, application cluster management devices 11, for according at least one the node load threshold value setting in advance, just divides queue-level to each computer node 10 according to node load, obtains at least Liang Ge node queue, from other node queue of high queue level, select computer node as source computer node, for each source computer node, according to node load data, determine that the minimum computer node of load is as object-computer node, and be related to that according to the Topological Mapping between each computer node and each application determination portion is deployed in application that application load on source computer node is the highest as the application that need to carry out application schedules, generate described dispatch command, the node load of data based each computer node extracting from the load report message of each computer node of described node load upgrades, described Topological Mapping relation is upgraded according to the application load of each application of each computer node deploy extracting from the load report message of each computer node.
In concrete enforcement, application cluster management devices 11, the the first scheduling feedback message also sending after according to the corresponding application schedules of dispatch command successful execution for reception sources computer node 10, wherein carry the second scheduling feedback message that self current load information and the application of receiving target computer node on source computer node send after being scheduled for this node, wherein carry self current load information; The load information of source computer node and object-computer node after dispatch command successful execution is extracted in described the first scheduling feedback message and the second scheduling feedback message; According to the node load of source computer node after dispatch command successful execution and object-computer node, upgrade node load data; According to the application load of each application of source computer node after dispatch command successful execution and object-computer node deploy, upgrade the Topological Mapping relation between source computer node and object-computer node and the application of execution application schedules.
In concrete enforcement, application schedules system can also comprise message transmission device 12, computer node 10 is encapsulated in the load information of generation in load report message and sends to message transmission device 12, and message transmission device 12 is responsible for reliable exchange and the transmission of load report message between computer node 10 and application cluster management devices 11.Message transmission device 12 can be for the load report message receiving is stored, and the fetch interface that gives information, and application cluster management devices 11 reads load report message by this message fetch interface; Or message transmission device 12 is transmitted to application cluster management devices 11 by the load report message receiving.
Based on same inventive concept, a kind of application scheduling method thereof, a kind of computer node and a kind of application cluster management devices are also provided in the embodiment of the present invention, because the principle of the method, equipment and relevant apparatus technical solution problem is similar to application schedules system, therefore the enforcement of the method, equipment and relevant apparatus can, referring to the enforcement of system, repeat part and repeat no more.
As shown in Figure 3, the application scheduling method thereof implementing procedure schematic diagram for the embodiment of the present invention provides, comprises the steps:
S301, receive the load information that each computer node reports, this load information comprises the application load of the node load of computer node and each application of computer node deploy;
Concrete, the node load of computer node can be determined according to the CPU usage of this computer node, for example, using the CPU usage of computer node as node load; Also can determine according to the memory usage of this computer node, for example, using the memory usage of computer node as node load; Also can determine in conjunction with CPU usage and memory usage, for example, memory usage and long-pending, the CPU usage of the first weights be carried out to summation operation as node load with the amassing of the second weights; The application load of each application of computer node deploy can be applied corresponding application request quantity and application example quantity is determined according to each of this computer node deploy, concrete, the application load of each application of computer node deploy is that in the unit interval, this of this computer node deploy applied the ratio of corresponding application request quantity and application example quantity.
S302, according to the node load of each computer node, determine and need to carry out the source computer node of application schedules and the object-computer node that application is scheduled for, and generating dispatch command in conjunction with the application load of each application of this source computer node deploy, this dispatch command is indicated described object-computer node and is deployed in the application that need to carry out application schedules on source computer node;
In concrete enforcement, according at least one the node load threshold value setting in advance, each computer node is just divided to queue-level according to node load, obtain at least Liang Ge node queue;
From other node queue of high queue level, select computer node as source computer node; Concrete, can select successively computer node as source computer node according to the node load of computer node order from high to low, also can be at random from other node queue of high queue level, select computer node as source computer node.
For each source computer node, according to node load data, determine that the minimum computer node of load is as object-computer node, and be related to that according to the Topological Mapping between each computer node and each application determination portion is deployed in application that application load on source computer node is the highest as the application that need to carry out application schedules, generate described dispatch command, the node load of data based each computer node extracting from the load report message of each computer node of described node load upgrades, described Topological Mapping relation is upgraded according to the application load of each application of each computer node deploy extracting from the load report message of each computer node.
Concrete, node load data be according to the rickle of the node load of the node load maintenance of each computer node, and the root node of the rickle of described node load is the computer node that node load is minimum.
Concrete, Topological Mapping relation is safeguarded according to the application load of each application of each computer node deploy, described Topological Mapping relation adopts bigraph (bipartite graph) data structure to be described, each limit in described bigraph (bipartite graph) data structure connects an application and a computer node, and the weights on each limit connect for this limit is applied in the application load on the computer node that this limit connects.That is to say, corresponding being applied as in limit that source computer node connects weights maximum is deployed in the highest application of application load on described source computer node.
S303, this dispatch command is handed down to described source computer node.
In concrete enforcement, can also comprise the steps:
Computer node is encapsulated in the load information of generation in load report message and sends to message transmission device;
This message transmission device forwards the load report message receiving.
In concrete enforcement, can also comprise:
The first scheduling feedback message that reception sources computer node sends after according to the corresponding application schedules of dispatch command successful execution, wherein carries self current load information; And the second scheduling feedback message of sending after being scheduled for this node of the application of receiving target computer node on source computer node, wherein carry self current load information;
The load information of source computer node and object-computer node after dispatch command successful execution is extracted in described the first scheduling feedback message and the second scheduling feedback message;
According to the node load of source computer node after dispatch command successful execution and object-computer node, upgrade node load data;
According to the application load of each application of source computer node after dispatch command successful execution and object-computer node deploy, upgrade the Topological Mapping relation between source computer node and object-computer node and the application of execution application schedules.
As shown in Figure 4, a kind of possible structural representation of the computer node providing for the embodiment of the present invention, comprises computer node 10, and this computer node proxy module comprises and generate submodule 101, report submodule 102, implementation sub-module 103, wherein:
Generate submodule 101, for generating the current load information of computer node, this load information comprises the application load of the node load of computer node and each application of computer node deploy;
Report submodule 102, for reporting the load information of generation;
Implementation sub-module 103, for carrying out corresponding application schedules according to the dispatch command receiving, described dispatch command indication is applied the object-computer node being scheduled for and is deployed in the application that need to carry out application schedules on current computer node.
As shown in Figure 5, a kind of possible structural representation of application cluster management devices for the embodiment of the present invention provides, comprising:
Interface module 50, the load information reporting for receiving each computer node, described load information comprises the application load of the node load of computer node and each application of computer node deploy; And the dispatch command of generation is handed down to the source computer node that need to carry out application schedules;
Administration module 51, for determining according to the node load of each computer node, need to carry out the source computer node of application schedules and the object-computer node that application is scheduled for, and generating dispatch command in conjunction with the application load of each application of described source computer node deploy, described dispatch command is indicated described object-computer node and is deployed in the application that need to carry out application schedules on source computer node.
In concrete enforcement, computer node is encapsulated in load information in load report message and reports; A kind of possibility structure of administration module 51, comprises multiclass classification submodule 511, scheduled for executing submodule 512, chooser module 513 and Topological Mapping submodule 514, wherein:
Multiclass classification submodule 511, for the load report message reporting according to each computer node, and at least one the node load threshold value setting in advance, each computer node is just divided to queue-level according to node load, obtain at least Liang Ge node queue; And according to queue-level, the load report message of each computer node is sent to described scheduled for executing submodule 512;
Concrete, multiclass classification submodule 511, can set in advance a threshold value, after receiving the load report message that each computer node reports, and extract node load from this load report message, according to the threshold value setting in advance, node load is arranged to rear formation high capacity node queue higher than the computer node of threshold value according to the height of time of reception or node load; Node load is arranged to the low load node queue of rear formation lower than the computer node of threshold value according to the height of time of reception or node load.
The schematic diagram of computer node being classified according to node load information for multiclass classification submodule 511 as shown in Figure 6.Multiclass classification submodule 511 can also set in advance two threshold values, supposes to be respectively first threshold and Second Threshold, and first threshold is higher than Second Threshold.According to two threshold values that arrange, node load is arranged to rear formation high capacity node queue higher than the node of first threshold according to the height of time of reception or node load; Node load is arranged to rear formation low load node queue higher than the node of Second Threshold according to the height of time of reception or node load lower than first threshold; Node load is arranged to the queue of rear formation ordinary node lower than the node of Second Threshold according to the height of time of reception or node load.
Preferably, multiclass classification submodule 511, can preferentially send to scheduled for executing submodule 512 to process high capacity node queue.
Scheduled for executing submodule 512, for receiving the load report message of each computer node, and is transmitted to described chooser module 513 and Topological Mapping submodule 514; From other node queue of high queue level, once select to carry out the source computer node of application schedules; For each source computer node, to the minimum computer node of chooser module 513 requesting node loads and be deployed in the highest application of application load on described source computer node to Topological Mapping submodule 514 request units, according to the feedback of chooser module 513, determine the object-computer node that application is scheduled for, according to the feedback determination portion of Topological Mapping submodule 514, be deployed in the application that need to carry out application schedules on source computer node, generate described dispatch command.
Concrete, scheduled for executing submodule 512, from the high capacity node queue receiving, according to scheduling strategy, selection need to be carried out the computer node of application schedules as source computer node, and by query selection submodule 513 and Topological Mapping submodule 514, determine respectively the minimum computer node of present node load as object-computer node and be deployed in the highest application of application load on source computer node, generating and will be deployed in application schedules that application load on this source computer node is the highest to the dispatch command moving on object-computer node.
Chooser module 513, extracts the node load of each computer node for the load report message of each computer node of forwarding from scheduled for executing submodule 512, upgrade the node load data of local storage; And after receiving the request of the computer node that 512 pairs of node loads of described scheduled for executing submodule are minimum, according to node load data, to described scheduled for executing submodule 512, feed back corresponding computer node;
Concrete, node load data are comprised of the data structure that is called " heap ".In concrete enforcement, can comprise two kinds of node selection module and application choice modules, node selects module can select fast maximum, the minimum computer node of present load; Application choice module can be selected maximum, the minimum application of application load of the application of current each computer node deploy fast.Node selects module and application choice module all " heap ", to consist of, difference is that the information of node in heap is different, it is the node load numerical value of current each computer node that node is selected module, and application choice module is the application load numerical value of each application of current each computer node deploy.Chooser module 513 extracts the numerical value of the application load of the node load of each computer node and each application of current each computer node deploy in load report message, according to load report message, upgrades and safeguards " heap ".Can select module to determine fast the computer node of present node least-loaded and the computer node of node load maximum or by application load module, judge fast the computer node of application load minimum and the computer node of application load maximum of each application of current computer node deploy by node.
Concrete, as shown in Figure 7, be the data structure diagram of the node load data of current each computer node, each node data is respectively the data structure of the rickle of 1,3,5,7 and 9 data, and root node is the node of node data minimum in all nodes.After receiving the request of the computer node that 512 pairs of node loads of scheduled for executing submodule are minimum, the computer node corresponding to root node of the rickle of node load sent to scheduled for executing submodule 512.
Topological Mapping submodule 514, for the load report message of each computer node from 512 forwardings of scheduled for executing submodule, extract the application load of each application of each computer node deploy, upgrade each computer node of local storage and the Topological Mapping relation between each application; After receiving 512 pairs of scheduled for executing submodules and being deployed in the request of the application that application load on source computer node is the highest, according to Topological Mapping relation to the corresponding application of described scheduled for executing submodule 512 feedback.
Concrete, Topological Mapping submodule 514 extracts the application load of each application of each computer node deploy from the load report message receiving, the Topological Mapping relation between each computer node of updating maintenance and each application.Topological Mapping submodule 514 is described by the bigraph (bipartite graph) data structure being placed in internal memory, as shown in Figure 8, for the Topological Mapping between each computer node and each application is related to bigraph (bipartite graph) data structure schematic diagram, each limit in bigraph (bipartite graph) data structure connects an application and a computer node, and the weights on each limit connect for this limit is applied in the application load on the computer node that this limit connects.The weights on the limit connecting on each computer node and be the total load of this node, the weights on each upper limit connecting of application and be the total load of this application.As shown in Figure 8, be respectively application 1, application 2, application 3, application 4, ... application M computer node 1, computer node 2 ... the deployment scenario on computer node N, for example, for application 2, have 0.3 application example to be deployed on computer node 1, have 0.2 application example to be deployed on computer node 2, the application load of application 2 is 0.5; For computer node 2, computer node 2 deploy apply 0.3 application example of 2, and disposed 0.4 application example applying 3, the node load of computer node 2 is 0.6.By Topological Mapping submodule 514, can check fast the application load situation of each application of each computer node deploy.
In addition, in concrete enforcement, computer node is encapsulated in load information in load report message and reports; Administration module can comprise multiclass classification submodule 511, for the load report message reporting according to each computer node, and at least one the node load threshold value setting in advance, each computer node is just divided to queue-level according to node load, obtain at least Liang Ge node queue; And by the load report information reporting of the computer node in other node queue of high queue level to scheduled for executing submodule 512, and the load report message of each computer node is transmitted to chooser module 513 and Topological Mapping submodule 514;
Scheduled for executing submodule 512, for selecting to carry out the source computer node of application schedules from other node queue of high queue level; For each source computer node, to 513 requests of chooser module, apply the object-computer node being scheduled for and be deployed in the application that need to carry out application schedules on source computer node to Topological Mapping submodule 514 request units, according to the feedback of chooser module 513, determine the object-computer node that application is scheduled for, according to the feedback of Topological Mapping submodule 514, determine the application that need to carry out application schedules, generate described dispatch command;
Chooser module 513, extracts the node load of each computer node for the load report message of each computer node of forwarding from multiclass classification submodule 511, upgrade the node load data of local storage; And after receiving the request of 512 pairs of object-computer nodes of described scheduled for executing submodule, according to node load data to the minimum computer node of scheduled for executing submodule 512 feedback node load;
Topological Mapping submodule 514, for the load report message of each computer node from 511 forwardings of multiclass classification submodule, extract the application load of each application of each computer node deploy, upgrade each computer node of local storage and the Topological Mapping relation between each application; After receiving 512 pairs of scheduled for executing submodules and need to carrying out the request of application of application schedules, according to Topological Mapping relation, to described scheduled for executing submodule 512 feedback section, be deployed in the highest application of application load on source computer node.
In concrete enforcement, scheduled for executing submodule 512, also dispatches feedback message for reception sources computer node according to send after the corresponding application schedules of dispatch command successful execution first, wherein carries self current load information; And the second scheduling feedback message of sending after being scheduled for this node of the application of receiving target computer node on source computer node, wherein carry self current load information; The load information of source computer node and object-computer node after dispatch command successful execution is extracted in described the first scheduling feedback message and the second scheduling feedback message, and be carried at and in topological updating message, send to described chooser module 513 and Topological Mapping submodule 514;
Chooser module 513, also for extract the node load of described source computer node and object-computer node from described topological updating message, upgrades the node load data of local storage;
Topological Mapping submodule 514, also, for extract the application load of each application of described source computer node and object-computer node deploy from described topological updating message, upgrade the source computer node of local storage and the Topological Mapping relation between object-computer node and the application of execution application schedules.
Embodiment for a better understanding of the present invention, below by specific embodiment, the implementation process of the embodiment of the present invention is described, for convenience of description, in the embodiment of the present invention, by scheduled for executing submodule, the load information of each computer node is transmitted to and selects module and Topological Mapping module, as shown in Figure 9, application schedules process comprises the steps:
S901, computer node send to interface module by the load report message that comprises the load information that self is current;
Concrete, each computer node is according to the application load of each application of self current node load and this computer node deploy, generates load information and be encapsulated in load report message to send to interface module.Preferably, computer node can also send to message transmission device by load report message, then by message transmission device, load report message is transmitted to interface module.
S902, interface module send to multiclass classification submodule by the load report message receiving;
S903, multiclass classification submodule are classified to computer node according to the load information in the load report message receiving;
Concrete, multiclass classification submodule can be according to the threshold value setting in advance and the load report receiving message, and the computer node that node load is surpassed to the threshold value setting in advance is divided into high capacity node queue, node load is divided into low load node queue lower than the computer node of the threshold value setting in advance;
Preferably, can also set in advance a Second Threshold that is less than above-mentioned threshold value, node load is divided into normal load node queue lower than the computer node of this Second Threshold.
S904, the load report message of sorted each computer node is sent to scheduled for executing submodule;
Preferably, multiclass classification submodule can be preferentially sends to scheduled for executing submodule by the report message of sorted high capacity node queue.
S905, scheduled for executing submodule trigger application schedules, select to carry out the source computer node of application schedules from high capacity node queue;
S906, scheduled for executing submodule send to chooser module and Topological Mapping submodule by the load report message of each computer node respectively;
The node load data of S907, the updating maintenance of chooser module; The application load of current application on described computer node in Topological Mapping relation between each computer node of Topological Mapping submodule updating maintenance and each application and mapping relations;
S908, scheduled for executing submodule are to selecting the minimum computer node of module request present load;
S909, chooser module are returned to the minimum computer node of present load to scheduler module;
S910, scheduled for executing submodule send request the highest application of application load of source computer node deploy to Topological Mapping submodule;
S911, Topological Mapping submodule return to the highest application of application load of source computer node deploy to scheduler module;
S912, scheduled for executing submodule generate dispatch command;
Concrete, scheduled for executing submodule according to definite source computer node, select the minimum computer node of the node load returning of module determine object-computer node and Topological Mapping module return determine the application that need to carry out application schedules, generate application schedules that on source computer node, application load is high to the dispatch command of carrying out on object-computer node.
S913, scheduled for executing submodule send to interface module by the dispatch command of generation;
S914, interface module send to source computer node by dispatch command;
S915, source computer node are carried out corresponding application schedules according to the dispatch command receiving;
S916, source computer node and object-computer node send scheduling feedback message to interface module;
Concrete, source computer node, according to the first scheduling feedback message sending after the corresponding application schedules of dispatch command successful execution, wherein carries self current load information; The second scheduling feedback message that the application of object-computer node on source computer node sends after being scheduled for this node, wherein carries self current load information;
S917, interface module are to scheduled for executing module forwards scheduling feedback message;
S918, scheduled for executing submodule send topological updating message to chooser module and Topological Mapping submodule respectively;
Concrete, scheduled for executing submodule extracts respectively after dispatch command successful execution the load information of source computer node and object-computer node and is carried at and in topological updating message, sends to respectively chooser module and Topological Mapping submodule from the first scheduling feedback message and the second scheduling feedback message
S919, chooser module, according to the node load of source computer node after dispatch command successful execution and object-computer node, are upgraded node load data;
S920, Topological Mapping submodule, according to the application load of each application of source computer node after dispatch command successful execution and object-computer node deploy, upgrade the Topological Mapping relation between source computer node and object-computer node and the application of execution application schedules.
A kind of application schedules system, method and relevant apparatus that the embodiment of the present invention provides, each computer node reports self current load information, and load information comprises node load and application load two parts content; Application cluster management devices is according to the node load of each computer node, determine and need to carry out the source computer node of application schedules and the object-computer node that application is scheduled for, and determine in conjunction with the application load of each application of source computer node deploy the application that need to carry out application schedules, thereby generate dispatch command and be handed down to source computer node, dispatch command indicating target computer node and be deployed in the application that need to carry out application schedules on source computer node.Accordingly, source computer node can be carried out application schedules according to the dispatch command receiving.Thereby realized under internet, applications hosting environment, according to application schedules system outside, the request of application and the current ruuning situation of application schedules system are carried out in real time, dispatched dynamically the application of source computer node deploy, reached the good operation of application and elasticity have been disposed, improved resource utilization ratio.
Obviously, those skilled in the art can carry out various changes and modification and not depart from the spirit and scope of the present invention the present invention.Like this, if within of the present invention these are revised and modification belongs to the scope of the claims in the present invention and equivalent technologies thereof, the present invention is also intended to comprise these changes and modification interior.

Claims (10)

1. an application schedules system, is characterized in that, comprises at least two computer nodes and application cluster management devices, wherein:
Described computer node, for generating self current load information and reporting, described load information comprises the application load of the node load of computer node and each application of computer node deploy; And the dispatch command issuing according to described application cluster management devices is carried out corresponding application schedules;
Described application cluster management devices, for according at least one the node load threshold value setting in advance, just divides queue-level to each computer node according to node load, obtains at least Liang Ge node queue, from other node queue of high queue level, select computer node as source computer node, for each source computer node, according to node load data, determine that the minimum computer node of load is as object-computer node, and be related to that according to the Topological Mapping between each computer node and each application determination portion is deployed in application that application load on source computer node is the highest as the application that need to carry out application schedules, generate described dispatch command, the node load of data based each computer node extracting from the load report message of each computer node of described node load upgrades, described Topological Mapping relation is upgraded according to the application load of each application of each computer node deploy extracting from the load report message of each computer node, wherein, described node load data are the rickle of the node load safeguarded according to the node load of each computer node, the root node of the rickle of described node load is the computer node that node load is minimum, described Topological Mapping relation adopts bigraph (bipartite graph) data structure to describe, each limit in described bigraph (bipartite graph) data structure connects an application and a computer node, and the weights on each limit connect for this limit is applied in the application load on the computer node that this limit connects.
2. the system as claimed in claim 1, is characterized in that, also comprises message transmission device, wherein:
Described computer node, sends to described message transmission device specifically for the load information of generation is encapsulated in load report message;
Described message transmission device, for being transmitted to described application cluster management devices by the load report message receiving.
3. system as claimed in claim 1 or 2, is characterized in that,
Described application cluster management devices, the first scheduling feedback message also sending after according to the corresponding application schedules of dispatch command successful execution for reception sources computer node, wherein carries self current load information; And the second scheduling feedback message of sending after being scheduled for this node of the application of receiving target computer node on source computer node, wherein carry self current load information; The load information of source computer node and object-computer node after dispatch command successful execution is extracted in described the first scheduling feedback message and the second scheduling feedback message; Node load according to source computer node after dispatch command successful execution and object-computer node, upgrades described node load data; According to the application load of each application of source computer node after dispatch command successful execution and object-computer node deploy, upgrade the Topological Mapping relation between source computer node and object-computer node and the application of execution application schedules.
4. an application scheduling method thereof, is characterized in that, comprising:
Receive the load information that each computer node reports, described load information comprises the application load of the node load of computer node and each application of computer node deploy;
According at least one the node load threshold value setting in advance, each computer node is just divided to queue-level according to node load, obtain at least Liang Ge node queue;
From other node queue of high queue level, select computer node as source computer node;
For each source computer node, according to node load data, determine that the minimum computer node of load is as object-computer node, and be related to that according to the Topological Mapping between each computer node and each application determination portion is deployed in application that application load on source computer node is the highest as the application that need to carry out application schedules, generate described dispatch command, the node load of data based each computer node extracting from the load report message of each computer node of described node load upgrades, described Topological Mapping relation is upgraded according to the application load of each application of each computer node deploy extracting from the load report message of each computer node, wherein, described node load data are the rickle of the node load safeguarded according to the node load of each computer node, the root node of the rickle of described node load is the computer node that node load is minimum, described Topological Mapping relation is safeguarded according to the application load of each application of each computer node deploy, described Topological Mapping relation adopts bigraph (bipartite graph) data structure to be described, each limit in described bigraph (bipartite graph) data structure connects an application and a computer node, the weights on each limit connect for this limit is applied in the application load on the computer node that this limit connects,
The dispatch command of generation is handed down to described source computer node.
5. method as claimed in claim 4, is characterized in that, also comprises:
Described computer node is encapsulated in the load information of generation in load report message and sends to message transmission device;
The load report message receiving described in described message transmission device forwards.
6. method as claimed in claim 4, is characterized in that, also comprises:
The first scheduling feedback message that reception sources computer node sends after according to the corresponding application schedules of dispatch command successful execution, wherein carries self current load information; And the second scheduling feedback message of sending after being scheduled for this node of the application of receiving target computer node on source computer node, wherein carry self current load information;
The load information of source computer node and object-computer node after dispatch command successful execution is extracted in described the first scheduling feedback message and the second scheduling feedback message;
Node load according to source computer node after dispatch command successful execution and object-computer node, upgrades described node load data;
According to the application load of each application of source computer node after dispatch command successful execution and object-computer node deploy, upgrade the Topological Mapping relation between source computer node and object-computer node and the application of execution application schedules.
7. method as claimed in claim 4, is characterized in that, the node load of described computer node is determined according to the CPU usage of described computer node and/or memory usage;
The application load of each application of described computer node deploy applies corresponding application request quantity according to each of computer node deploy and application example quantity is determined.
8. an application cluster management devices, is characterized in that, comprising:
Interface module, for receiving the load information that each computer node reports, described load information comprises the application load of the node load of computer node and each application of computer node deploy, and described computer node is encapsulated in load information in load report message and reports; And the dispatch command of generation is handed down to the source computer node that need to carry out application schedules;
Administration module, comprises multiclass classification submodule, scheduled for executing submodule, chooser module and Topological Mapping submodule, wherein:
Described multiclass classification submodule, for the load report message reporting according to each computer node, and at least one the node load threshold value setting in advance, each computer node is just divided to queue-level according to node load, obtain at least Liang Ge node queue; And according to queue-level, the load report message of each computer node is sent to described scheduled for executing submodule;
Described scheduled for executing submodule, for receiving the load report message of each computer node, and is transmitted to described chooser module and Topological Mapping submodule; From other node queue of high queue level, select to carry out the source computer node of application schedules; For each source computer node, to the minimum computer node of described chooser module requesting node load and be deployed in the highest application of application load on described source computer node to described Topological Mapping submodule request unit; According to the feedback of described chooser module, determine the object-computer node that application is scheduled for, according to the feedback determination portion of described Topological Mapping submodule, be deployed in the application that need to carry out application schedules on source computer node, generate described dispatch command;
Described chooser module, extracts the node load of each computer node for the load report message of each computer node of forwarding from described scheduled for executing submodule, upgrade the node load data of local storage; And receive described scheduled for executing module to after the request of the minimum computer node of node load, according to node load data, to described scheduled for executing module, feed back corresponding computer node; And according to the node load Maintenance Point least-loaded heap of each computer node, the root node of the rickle of described node load is the computer node that node load is minimum
Described Topological Mapping module, the load report message that is used for each computer node of described scheduled for executing module forwards extracts the application load of each application of each computer node deploy, upgrades each computer node of local storage and the Topological Mapping relation between each application; Receiving described scheduled for executing submodule to after being deployed in the request of the application that application load on source computer node is the highest, according to Topological Mapping relation to the corresponding application of described scheduled for executing submodule feedback; And safeguard described Topological Mapping relation according to the application load of each application of each computer node deploy, described Topological Mapping relation adopts bigraph (bipartite graph) data structure to be described, each limit in described bigraph (bipartite graph) data structure connects an application and a computer node, and the weights on each limit connect for this limit is applied in the application load on the computer node that this limit connects.
9. device as claimed in claim 8, is characterized in that, described computer node is encapsulated in load information in load report message and reports; And
Described administration module comprises multiclass classification submodule, scheduled for executing submodule, chooser module and Topological Mapping submodule, wherein:
Described multiclass classification submodule, for the load report message reporting according to each computer node, and at least one the node load threshold value setting in advance, each computer node is just divided to queue-level according to node load, obtain at least Liang Ge node queue; By the load report information reporting of the computer node in other node queue of high queue level, give described scheduled for executing submodule, and the load report message of each computer node is transmitted to described chooser module and Topological Mapping submodule;
Described scheduled for executing submodule, for selecting to carry out the source computer node of application schedules from other node queue of high queue level; For each source computer node, to described chooser module request, apply the object-computer node being scheduled for and be deployed in the application that need to carry out application schedules on source computer node to described Topological Mapping submodule request unit; According to the feedback of described chooser module, determine the object-computer node that application is scheduled for, according to the feedback of described Topological Mapping submodule, determine and the application that need to carry out application schedules generate described dispatch command;
Described chooser module, extracts the node load of each computer node for the load report message of each computer node of forwarding from multiclass classification submodule, upgrade the node load data of local storage; And receive described scheduled for executing submodule to after the request of object-computer node, according to node load data to the minimum computer node of described scheduled for executing submodule feedback node load;
Described Topological Mapping submodule, for the load report message of each computer node from the forwarding of multiclass classification submodule, extract the application load of each application of each computer node deploy, upgrade each computer node of local storage and the Topological Mapping relation between each application; Receiving described scheduled for executing submodule to after need to carrying out the request of application of application schedules, according to Topological Mapping relation, to described scheduled for executing submodule feedback section, be deployed in the highest application of application load on source computer node.
10. install as claimed in claim 8 or 9, it is characterized in that,
Described scheduled for executing submodule, the first scheduling feedback message also sending after according to the corresponding application schedules of dispatch command successful execution for reception sources computer node, wherein carries self current load information; And the second scheduling feedback message of sending after being scheduled for this node of the application of receiving target computer node on source computer node, wherein carry self current load information; The load information of source computer node and object-computer node after dispatch command successful execution is extracted in described the first scheduling feedback message and the second scheduling feedback message, and be carried at and in topological updating message, send to described chooser module and Topological Mapping submodule;
Described chooser module, also for extract the node load of described source computer node and object-computer node from described topological updating message, upgrades the node load data of local storage;
Described Topological Mapping submodule, also, for extract the application load of each application of described source computer node and object-computer node deploy from described topological updating message, upgrade the source computer node of local storage and the Topological Mapping relation between object-computer node and the application of execution application schedules.
CN201010539497.6A 2010-11-10 2010-11-10 Application scheduling system, method thereof and related device Expired - Fee Related CN102469126B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010539497.6A CN102469126B (en) 2010-11-10 2010-11-10 Application scheduling system, method thereof and related device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010539497.6A CN102469126B (en) 2010-11-10 2010-11-10 Application scheduling system, method thereof and related device

Publications (2)

Publication Number Publication Date
CN102469126A CN102469126A (en) 2012-05-23
CN102469126B true CN102469126B (en) 2014-08-06

Family

ID=46072290

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010539497.6A Expired - Fee Related CN102469126B (en) 2010-11-10 2010-11-10 Application scheduling system, method thereof and related device

Country Status (1)

Country Link
CN (1) CN102469126B (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103327072B (en) * 2013-05-22 2016-12-28 中国科学院微电子研究所 Cluster load balancing method and system
CN106550002B (en) * 2015-09-23 2019-12-13 中移(杭州)信息技术有限公司 paas cloud hosting system and method
US20170214634A1 (en) * 2016-01-26 2017-07-27 Futurewei Technologies, Inc. Joint autoscaling of cloud applications
CN107818013A (en) * 2016-09-13 2018-03-20 华为技术有限公司 A kind of application scheduling method thereof and device
CN108156212B (en) * 2017-06-29 2020-12-22 广东网金控股股份有限公司 Elastic expansion method and system based on user perception
CN107341057A (en) * 2017-07-07 2017-11-10 郑州云海信息技术有限公司 A kind of data processing method and device
CN107643939A (en) * 2017-09-14 2018-01-30 郑州云海信息技术有限公司 A kind of method and system for distributing virtual machine
CN109669739A (en) * 2017-10-16 2019-04-23 阿里巴巴集团控股有限公司 A kind of interface rendering method, device, terminal device and storage medium
CN110062032A (en) * 2019-04-01 2019-07-26 北京航天发射技术研究所 A kind of computer network clustered control platform application reconfiguration system
CN112019581B (en) * 2019-05-30 2022-02-25 华为技术有限公司 Method and device for scheduling task processing entities
CN114710484A (en) * 2020-12-16 2022-07-05 中国联合网络通信集团有限公司 Edge calculation cooperation method, edge calculation node, computer device, and medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101452406A (en) * 2008-12-23 2009-06-10 北京航空航天大学 Cluster load balance method transparent for operating system
CN101764835A (en) * 2008-12-25 2010-06-30 华为技术有限公司 Task allocation method and device based on MapReduce programming framework

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7712102B2 (en) * 2004-07-30 2010-05-04 Hewlett-Packard Development Company, L.P. System and method for dynamically configuring a plurality of load balancers in response to the analyzed performance data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101452406A (en) * 2008-12-23 2009-06-10 北京航空航天大学 Cluster load balance method transparent for operating system
CN101764835A (en) * 2008-12-25 2010-06-30 华为技术有限公司 Task allocation method and device based on MapReduce programming framework

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
刘武钊.集群计算机系统负载均衡技术研究.《中国优秀硕士学位论文全文数据库 信息科技辑》.2010,
基于剩余计算能力的动态负载均衡系统;张文昌等;《计算机与数字工程》;20100930;第38卷(第9期);第4.3.1-4.3.2节,第4.3.4节,第5.1节-5.2.2节,第5.4节-5.4.2节,第6.1节 *
张文昌等.基于剩余计算能力的动态负载均衡系统.《计算机与数字工程》.2010,第38卷(第9期),
集群计算机系统负载均衡技术研究;刘武钊;《中国优秀硕士学位论文全文数据库 信息科技辑》;20100615;第4.3.1-4.3.2节,第4.3.4节,第5.1节-5.2.2节,第5.4节-5.4.2节,第6.1节 *

Also Published As

Publication number Publication date
CN102469126A (en) 2012-05-23

Similar Documents

Publication Publication Date Title
CN102469126B (en) Application scheduling system, method thereof and related device
TWI694339B (en) Blockchain consensus method, equipment and system
US8949847B2 (en) Apparatus and method for managing resources in cluster computing environment
Baker et al. Cloud-SEnergy: A bin-packing based multi-cloud service broker for energy efficient composition and execution of data-intensive applications
CN102130938B (en) Resource supply method oriented to Web application host platform
CN103189844B (en) Non-uniform memory access framework use processing position bind I/O resource
CN110162388A (en) A kind of method for scheduling task, system and terminal device
CN103593242A (en) Resource sharing control system based on Yarn frame
CN111782355B (en) Cloud computing task scheduling method and system based on mixed load
CN105045658A (en) Method for realizing dynamic dispatching distribution of task by multi-core embedded DSP (Data Structure Processor)
CN112463375B (en) Data processing method and device
US20240073298A1 (en) Intelligent scheduling apparatus and method
US10037225B2 (en) Method and system for scheduling computing
CN114780227B (en) Task scheduling mapping method and system based on core granular network processor architecture
CN102467411A (en) Workflow processing and workflow agent method, device and system
CN102339233A (en) Cloud computing centralized management platform
CN117971499B (en) Resource allocation method, device, electronic equipment and storage medium
CN110990154A (en) Big data application optimization method and device and storage medium
CN114996018A (en) Resource scheduling method, node, system, device and medium for heterogeneous computing
CN105404549A (en) Yarn architecture-based virtual machine scheduling system
Maruf et al. Extending resources for avoiding overloads of mixed‐criticality tasks in cyber‐physical systems
CN103677983A (en) Scheduling method and device of application
Dargie et al. Energy-aware service execution
Shu-Jun et al. Optimization and research of hadoop platform based on fifo scheduler
CN102098223A (en) Method, device and system for scheduling node devices

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140806

CF01 Termination of patent right due to non-payment of annual fee