CN109428926B - Method and device for scheduling task nodes - Google Patents

Method and device for scheduling task nodes Download PDF

Info

Publication number
CN109428926B
CN109428926B CN201710769608.4A CN201710769608A CN109428926B CN 109428926 B CN109428926 B CN 109428926B CN 201710769608 A CN201710769608 A CN 201710769608A CN 109428926 B CN109428926 B CN 109428926B
Authority
CN
China
Prior art keywords
user
tasks
operated
node
nodes
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
CN201710769608.4A
Other languages
Chinese (zh)
Other versions
CN109428926A (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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201710769608.4A priority Critical patent/CN109428926B/en
Publication of CN109428926A publication Critical patent/CN109428926A/en
Application granted granted Critical
Publication of CN109428926B publication Critical patent/CN109428926B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Abstract

The invention discloses a method and a device for scheduling task nodes, and relates to the technical field of computers. One embodiment of the method comprises: monitoring the number of tasks to be run of a user; when the number of the tasks to be operated is larger than the preset maximum value of the number of the tasks to be operated of the user, acquiring the preparation node, and monitoring the number of the tasks to be operated of the user after the preparation node is acquired; and if the number of the tasks to be operated of the user after the preparation node is acquired is larger than the maximum value of the number of the tasks to be operated, distributing the preparation node to the user. The invention can monitor the number of the tasks to be operated submitted by the user, and dynamically adjust the number of the nodes distributed by the user to satisfy the task operation by judging whether the number of the nodes distributed by the user satisfies the number of the tasks to be operated submitted by the user, thereby reasonably utilizing and distributing system resources and improving task completion efficiency.

Description

Method and device for scheduling task nodes
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a method and an apparatus for scheduling task nodes, an electronic device terminal, and a computer-readable medium.
Background
In the whole operation process of the task scheduling system taking the nodes as the operation units, the system can generate an executable task according to the parameters of the tasks submitted by the users, and the nodes used for operating the tasks are distributed to the users for use by configuring relevant information of the tasks, including task names, submitted cluster information, execution time rules, dependent parent tasks and dependent child tasks and the like. Each node is limited by the number of concurrent tasks, so that the problem that the system load is too high due to the fact that the number of tasks running at the same time is too large is avoided, but if the number of executable tasks submitted by a user at one time exceeds the limit of the number of concurrent tasks of the nodes, the situation of task queuing occurs, backlog is caused, and the execution efficiency of the tasks is influenced.
In the process of implementing the invention, the inventor finds that at least the following problems exist in the prior art:
aiming at different users, the number of the tasks submitted by the users is different, so that the number of the tasks submitted by some users is small, and some distributed nodes do not run tasks, namely, idle nodes exist; however, the number of tasks submitted by some users is large, all the distributed nodes run in a saturated mode (that is, the number of tasks of all the nodes reaches the threshold value of the number of concurrent tasks), but the number of tasks submitted by the users cannot be met, so that the situations of task queuing and backlog are caused.
Disclosure of Invention
In view of this, embodiments of the present invention provide a method and an apparatus for scheduling task nodes, an electronic device terminal, and a computer readable medium, which can monitor the number of tasks to be executed submitted by a user, and dynamically adjust the number of nodes allocated by the user to satisfy task execution by determining whether the number of nodes allocated by the user satisfies the number of tasks to be executed submitted by the user, so as to reasonably utilize and allocate system resources, and improve task completion efficiency.
To achieve the above object, according to an aspect of an embodiment of the present invention, a method of scheduling task nodes is provided.
The method comprises the following steps: monitoring the number of tasks to be run of a user; when the number of the tasks to be operated is larger than the preset maximum value of the number of the tasks to be operated of the user, acquiring the preparation node, and monitoring the number of the tasks to be operated of the user after the preparation node is acquired; and if the number of the tasks to be operated of the user after the preparation node is acquired is larger than the maximum value of the number of the tasks to be operated, distributing the preparation node to the user.
Optionally, when the number of the tasks to be run is not greater than a preset minimum value of the number of the tasks to be run of the user, acquiring an idle node of the user, and monitoring the number of the tasks to be run of the user after the idle node of the user is acquired; and if the number of the tasks to be operated of the user after the idle node of the user is obtained is not more than the minimum value of the number of the tasks to be operated, recovering the idle node of the user.
Optionally, the preparation node is obtained from a node resource pool.
Optionally, the number of the safe operation nodes is set for the user, and the number of the nodes left by the user after the nodes are recovered is not less than the number of the safe operation nodes.
Optionally, the method further comprises: and determining the initial number of the nodes distributed to the user, the preset maximum value or minimum value of the number of the tasks to be operated and the number of the safe operation nodes according to the historical records of the user.
To achieve the above object, according to another aspect of the embodiments of the present invention, there is provided an apparatus for scheduling task nodes.
The device comprises: a monitoring module; a scheduling module; the system comprises a monitoring module, a scheduling module and a scheduling module, wherein the monitoring module is used for monitoring the number of tasks to be operated of a user, when the number of the tasks to be operated is monitored to be larger than the preset maximum value of the number of the tasks to be operated of the user, the scheduling module requests the scheduling module to allocate a prepared node to the user, and the scheduling module acquires the prepared node to be allocated to the user; the monitoring module monitors the number of tasks to be operated of the user; and if the number of the tasks to be operated of the user is greater than the maximum value of the number of the tasks to be operated, requesting the scheduling module to allocate the acquired preparation node to the user.
Optionally, the monitoring module is further configured to, when the number of the tasks to be executed is not greater than a preset minimum value of the number of the tasks to be executed of the user, request the scheduling module to retrieve the idle node of the user, and send the idle node of the user to the scheduling module, where the scheduling module receives the idle node of the user; after receiving the idle nodes of the user, the scheduling module monitors the number of tasks to be operated of the user; and if the number of the tasks to be operated of the user is not more than the minimum value of the number of the tasks, applying for recovering the idle nodes of the user from the scheduling module.
Optionally, the apparatus further comprises: and the node resource pool module is used for managing and storing the reserved nodes.
Optionally, the scheduling module is further configured to set a number of safe operation nodes for the user, and the number of nodes remaining for the user after node recovery is not less than the number of safe operation nodes.
Optionally, the scheduling module is further configured to determine, according to the history of the user, an initial number of nodes allocated to the user, a maximum value or a minimum value of the preset number of tasks to be run, and the number of nodes in safe running.
To achieve the above object, according to still another aspect of embodiments of the present invention, there is provided an electronic device terminal for scheduling task nodes, including: one or more processors; storage means for storing one or more programs which, when executed by the one or more processors, cause the one or more processors to implement any of the methods of scheduling task nodes.
To achieve the above object, according to still another aspect of embodiments of the present invention, there is provided a computer readable medium for scheduling task nodes, having a computer program stored thereon, wherein the program, when executed by a processor, implements any one of the methods of scheduling task nodes.
One embodiment of the above invention has the following advantages or benefits: because the technical means of monitoring the number of the tasks to be operated submitted by the user and dynamically adjusting the number of the nodes distributed by the user is adopted, the technical problem of task overstock caused by excessive tasks submitted by the user is solved, and the technical effects of reasonably utilizing and distributing system resources and improving task completion efficiency are achieved.
Further effects of the above-mentioned non-conventional alternatives will be described below in connection with the embodiments.
Drawings
The drawings are included to provide a better understanding of the invention and are not to be construed as unduly limiting the invention. Wherein:
FIG. 1 is a schematic diagram of the main steps of a method of scheduling task nodes according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of a main part of an apparatus for scheduling task nodes according to an embodiment of the present invention;
FIG. 3 is an exemplary system architecture diagram in which embodiments of the present invention may be employed;
fig. 4 is a schematic block diagram of a computer system suitable for use in implementing a terminal device or server of an embodiment of the invention.
Detailed Description
Exemplary embodiments of the present invention are described below with reference to the accompanying drawings, in which various details of embodiments of the invention are included to assist understanding, and which are to be considered as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
Fig. 1 is a schematic diagram of the main steps of a method for managing nodes of a task scheduling system according to an embodiment of the present invention, as shown in fig. 1:
step S101 represents that a certain initial number of nodes are allocated to a certain user to run tasks to be run submitted by the user, where each node has a preset threshold value of the number of concurrent tasks, that is, the maximum value of the number of tasks that can be run simultaneously, and a node that does not currently run a task is an idle node. And setting a certain number of safe operation nodes for each user to ensure the daily task operation requirements of the users, wherein the number of the safe operation nodes for each user can be the same as the initial number of the nodes distributed to the users. Setting the maximum value and the minimum value of the number of the tasks to be operated for each user, wherein the maximum value and the minimum value of the number of the tasks to be operated and the initial number of the nodes can be determined according to the historical records of the user, and adjusting in real time according to the actual situation, such as analyzing the number of the tasks to be operated submitted by the user in the past period of time. The system may complete the assignment of nodes by changing configuration parameters, such as username, address, server, etc., and registering within the system.
Step S102 represents monitoring the number of tasks to be executed of a certain user, and if the number of tasks to be executed of the user is greater than a preset maximum value of the number of tasks to be executed of the user, acquiring a preparation node and allocating the preparation node to the user for use. Wherein the provisioning node may be an idle node to be allocated to the user. The preset maximum value of the number of the tasks to be operated is less than or equal to the sum of the threshold values of the number of the concurrent tasks of all the nodes distributed by the user; for example, let the node allocated by the user be { O }1,O2,O3,…,OnN is an integer, and the threshold value of the concurrent task quantity of each corresponding node is { N }1,N2,N3,…NnAnd the sum of concurrent task quantity thresholds of all nodes allocated by the user is equal to
Figure BDA0001394775700000051
Wherein i is 1,2,3, … n. The number of the acquired preparation nodes can be determined according to the difference between the number of the tasks to be operated at the current time of the user and the maximum value of the number of the tasks to be operated preset by the user, such as the current time (T)1Time) the number of tasks to be run of the user is N, the maximum value of the number of the tasks to be run preset by the user is M, and the number of the acquired preparation nodes is N
Figure BDA0001394775700000052
(rounding up the quotient of N/M) so that the number of nodes allocated to the user meets the number of tasks to be run; wherein, the number (T) of the prepared nodes that the user needs to obtain can be calculated first1Time), a list of ready nodes may be formed; the current time (T) of the user is then monitored again2Time of day, T1After the moment), if the number of the tasks to be operated is still larger than the maximum value of the number of the tasks to be operated of the user, the acquired preparation node is allocated to the user.
Step S103 shows that when the number of the tasks to be operated of a certain user is monitored to be not more than the preset number of the tasks to be operated of the userAnd when the quantity is the minimum value, recovering the idle node of the user, namely recovering the node which does not operate the task of the user at present, so that the residual node quantity of the user after the node is recovered meets the quantity of the tasks to be operated. If the user is set with a certain number of safe operation nodes, when the number of the nodes allocated by the user is equal to the number of the safe operation nodes, the nodes which do not operate the task are not recovered even if the nodes exist. When recovering the free node of the user, the current time (T) of the user can be formed first3Time) list of idle nodes, that is, the idle node of the user is obtained; then monitors the current time (T) again4Time of day, T3After the moment), if the number of the tasks to be operated of the user is not more than the minimum value of the number of the tasks to be operated, and nodes which still have no task to be operated exist in an idle node list, recovering the idle nodes in the idle node list, so that the number of the remaining nodes of the user meets the number of the tasks to be operated. The step can further realize the accurate scheduling of the nodes, and prevent the waste of node resources. The system may change the configuration, such as username, address, server, etc. parameters and log off within the system to complete the recovery of the node.
According to the embodiment of the invention, the system can be provided with at least one node resource pool for storing and managing the prepared nodes, wherein the node resource pool can be an abstract node resource pool management system developed according to the requirement.
According to the embodiment of the invention, each node can actively, periodically or in real time publish the task state information of the node through the configuration communication service, wherein the task state information comprises the running concurrent task number of the node. The system can monitor the running state of the node by receiving the task state information of the node. The method for implementing the communication service includes constructing an RPC Protocol (Remote Procedure Call Protocol), a Protocol for requesting a service from a Remote computer program through a network without knowing underlying network technology, such as a heartbeat message for each node.
Fig. 2 is a schematic diagram of a main part of an apparatus 200 for scheduling task nodes according to an embodiment of the present invention, as shown in fig. 2:
the monitoring module 201 is configured to monitor the number of tasks to be executed of a user, and when it is monitored that the number of tasks to be executed is greater than a preset maximum value of the number of tasks to be executed of the user, request the scheduling module 202 to allocate a prepared node to the user, and the scheduling module 202 obtains the prepared node to allocate to the user. Each node has a preset threshold value of the number of concurrent tasks, that is, the maximum value of the number of tasks capable of running simultaneously, a node which does not currently run a task is an idle node, and a preparation node may be an idle node to be allocated to a user. Setting the maximum value and the minimum value of the number of the tasks to be operated for each user, wherein the maximum value and the minimum value of the number of the tasks to be operated and the initial number of the nodes can be determined according to the historical records of the user, and adjusting in real time according to the actual situation, such as analyzing the number of the tasks to be operated submitted by the user in the past period of time. The device 200 may change configuration parameters such as username, address, server, etc. and register within the device 200 to complete the assignment of a node. The preset maximum value of the number of the tasks to be operated is less than or equal to the sum of the threshold values of the number of the concurrent tasks of all the nodes distributed by the user; for example, let the node allocated by the user be { O }1,O2,O3,…,OnN is an integer, and the threshold value of the concurrent task quantity of each corresponding node is { N }1,N2,N3,…NnAnd the sum of concurrent task quantity thresholds of all nodes allocated by the user is equal to
Figure BDA0001394775700000071
Wherein i is 1,2,3, … n. The number of the acquired preparation nodes can be determined according to the difference between the number of the tasks to be operated at the current time of the user and the maximum value of the number of the tasks to be operated preset by the user, such as the current time (T)1Time) the number of tasks to be run of the user is N, the maximum value of the number of the tasks to be run preset by the user is M, and the number of the acquired preparation nodes is N
Figure BDA0001394775700000072
(the quotient of N/M is rounded up) so that the number of nodes assigned to the user satisfies the number of tasks to be run. The monitoring module 201 may monitor the current time (T) of the user again after the scheduling module 202 acquires the preparation node (may form a preparation node list)2Time of day, T1After the time), if the number of the tasks to be executed is still greater than the maximum value of the number of the tasks to be executed of the user, the scheduling module 202 is requested to allocate the acquired preparation node to the user.
When the monitoring module 201 monitors that the number of tasks to be executed of a certain user is not more than the preset minimum value of the number of tasks to be executed of the user, the monitoring module requests the scheduling module 202 to recover the idle node (T) of the user3Time), and sends the idle node (which may form an idle node list) of the user to the scheduling module 202, and the scheduling module 202 receives the idle node of the user, so that the number of nodes remaining for the user after node recovery satisfies the number of tasks to be run. The scheduling module 202 may further set a certain number of safe operation nodes for the user to ensure the daily task operation requirement of the user, where the number of the safe operation nodes of each user may be the same as the initial number of the nodes allocated to the user. When the number of the nodes allocated by the user is equal to the number of the nodes which are operated safely, the nodes which are not operated are not recovered even if the nodes which are not operated. The minimum value of the preset number of the task nodes to be operated can be determined according to the history of the user, so that the user can be ensured to submit the tasks for use normally in daily life. The monitoring module 201 may also monitor the number of tasks to be run (T) of the user at the current time again after the scheduling module 202 receives the idle node of the user4Time of day, T3After the moment), if the number of the tasks to be run of the user is not greater than the minimum value of the number of the tasks, the scheduling module 202 is applied to recover the idle nodes of the user received by the scheduling module, so that the number of the nodes remaining by the user meets the number of the tasks to be run of the user, and the number of the nodes remaining is not less than the number of the nodes which are safely run. The module can further improve the accuracy of the scheduling node and prevent the waste of node resources. The device 200 may change configuration parameters such as user name, address, server, etc. and log off within the device 200 to complete the node recovery.
According to the embodiment of the present invention, at least one node resource pool module 203 may be further provided to store and manage the reserved nodes, where the node resource pool module 203 may be an abstract node resource pool management system developed according to needs.
According to the embodiment of the invention, each node can actively, periodically or in real time publish the task state information of the node through the configuration communication service, wherein the task state information comprises the running concurrent task number of the node. The monitoring module 201 may monitor the operation status of the node by receiving task status information of the node. The method for implementing the communication service includes constructing an RPC Protocol (Remote Procedure Call Protocol), a Protocol for requesting a service from a Remote computer program through a network without knowing underlying network technology, such as a heartbeat message for each node.
Fig. 3 illustrates an exemplary system architecture 300 of a method or apparatus for scheduling task nodes to which embodiments of the present invention may be applied.
As shown in fig. 3, the system architecture 300 may include terminal devices 301, 302, 303, a network 304, and a server 305. The network 304 serves as a medium for providing communication links between the terminal devices 301, 302, 303 and the server 305. Network 304 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
The user may use the terminal device 301, 302, 303 to interact with the server 305 via the network 304 to receive or send messages or the like. The terminal devices 301, 302, 303 may have installed thereon various communication client applications, such as shopping-like applications, web browser applications, search-like applications, instant messaging tools, mailbox clients, social platform software, etc. (by way of example only).
The terminal devices 301, 302, 303 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop portable computers, desktop computers, and the like.
The server 305 may be a server providing various services, such as a background management server (for example only) providing support for shopping-like websites browsed by users using the terminal devices 301, 302, 303. The backend management server may analyze and perform other processing on the received data such as the product information query request, and feed back a processing result (for example, target push information, product information — just an example) to the terminal device.
It should be noted that, the method for scheduling task nodes provided by the embodiment of the present invention is generally performed by the server 305, and accordingly, an apparatus for scheduling task nodes is generally disposed in the server 305.
It should be understood that the number of terminal devices, networks, and servers in fig. 3 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
FIG. 4 is a block diagram of a computer system 400 suitable for implementing a terminal device of an embodiment of the present invention. The terminal device shown in fig. 4 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present invention.
As shown in fig. 4, the computer system 400 includes a Central Processing Unit (CPU)401 that can perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)402 or a program loaded from a storage section 408 into a Random Access Memory (RAM) 403. In the RAM 403, various programs and data necessary for the operation of the system 400 are also stored. The CPU 401, ROM 402, and RAM 403 are connected to each other via a bus 404. An input/output (I/O) interface 405 is also connected to bus 404.
The following components are connected to the I/O interface 405: an input section 406 including a keyboard, a mouse, and the like; an output section 407 including a display device such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage section 408 including a hard disk and the like; and a communication section 409 including a network interface card such as a LAN card, a modem, or the like. The communication section 409 performs communication processing via a network such as the internet. A driver 410 is also connected to the I/O interface 405 as needed. A removable medium 411 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 410 as necessary, so that a computer program read out therefrom is mounted into the storage section 408 as necessary.
In particular, the processes described above with respect to the main step diagrams may be implemented as computer software programs, according to embodiments of the present disclosure. For example, the disclosed embodiments of the invention include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the step diagrams. In such an embodiment, the computer program may be downloaded and installed from a network through the communication section 409, and/or installed from the removable medium 411. The computer program performs the above-described functions defined in the system of the present invention when executed by a Central Processing Unit (CPU) 401.
It should be noted that the computer readable media shown in the present invention include computer readable signal media or computer readable storage media, or any combination of the two. A computer readable storage medium includes, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, semiconductor system, apparatus, or device, or any combination of the foregoing. Computer-readable storage media specifically include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any combination of the foregoing. In the present invention, a computer readable storage medium includes any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device; a computer readable signal medium includes a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave, which may take many forms, including, but not limited to, electromagnetic signals, optical signals, or any combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any combination of the above.
The block diagrams or step diagrams in the figures, which illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention, may each represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or step diagrams, and combinations of blocks in the block diagrams or step diagrams, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The modules described in the embodiments of the present invention may be implemented by software or hardware. The described modules may also be provided in a processor, which may be described as: a processor includes a monitoring module, a scheduling module, and a node resource pool module. The names of these modules do not in some cases constitute a definition of the module itself, for example, the node resource pool module may also be described as a "module for managing and storing the reservation nodes".
On the other hand, the embodiment of the present invention also provides a computer-readable medium, which may be included in the apparatus described in the above embodiment; or may be separate and not incorporated into the device. The computer readable medium carries one or more programs which, when executed by a device, cause the device to comprise: monitoring the number of tasks to be run of a user; and when the number of the tasks to be operated is larger than the preset maximum value of the number of the tasks to be operated of the user, acquiring a prepared node and distributing the prepared node to the user.
According to the technical scheme of the embodiment of the invention, the number of the tasks to be operated submitted by the user can be monitored, and the number of the nodes distributed by the user is dynamically adjusted to meet the task operation by judging whether the number of the nodes distributed by the user meets the number of the tasks to be operated submitted by the user, so that the system resources are reasonably utilized and distributed, and the task completion efficiency is improved.
The above-described embodiments should not be construed as limiting the scope of the invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions can occur, depending on design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (12)

1. A method of scheduling task nodes, comprising:
monitoring the number of tasks to be run of a user;
when the number of the tasks to be operated is larger than the preset maximum value of the number of the tasks to be operated of the user, acquiring a preparation node, and monitoring the number of the tasks to be operated of the user after the preparation node is acquired, wherein the number of the preparation node is determined according to the difference between the number of the tasks to be operated and the maximum value of the number of the tasks to be operated of the user, and the maximum value of the number of the tasks to be operated is determined according to the historical record of the user;
and if the number of the tasks to be operated of the user after the preparation node is acquired is larger than the maximum value of the number of the tasks to be operated, distributing the preparation node to the user.
2. The method according to claim 1, wherein when the number of the tasks to be run is not greater than a preset minimum value of the number of the tasks to be run of the user, the idle node of the user is acquired, and the number of the tasks to be run of the user after the idle node of the user is acquired is monitored;
and if the number of the tasks to be operated of the user after the idle node of the user is obtained is not more than the minimum value of the number of the tasks to be operated, recovering the idle node of the user.
3. The method of claim 1, wherein the provisioning node is obtained from a node resource pool.
4. The method according to claim 2, wherein the number of safe operation nodes is set for the user, and the number of nodes left by the user after node recovery is not less than the number of safe operation nodes.
5. The method of claim 4, further comprising:
and determining the initial number of the nodes distributed to the user, the preset maximum value or minimum value of the number of the tasks to be operated and the number of the safe operation nodes according to the historical records of the user.
6. An apparatus for scheduling task nodes, comprising:
a monitoring module;
a scheduling module;
the system comprises a monitoring module, a scheduling module and a scheduling module, wherein the monitoring module is used for monitoring the number of tasks to be operated of a user, when the number of the tasks to be operated is monitored to be larger than the preset maximum value of the number of the tasks to be operated of the user, a preparation node is requested to be allocated to the user from the scheduling module, the scheduling module acquires the preparation node to be allocated to the user, the number of the preparation node is determined according to the difference between the number of the tasks to be operated and the maximum value of the number of the tasks to be operated of the user, and the maximum value of the number of the tasks to be operated is determined according to the historical record of the user;
the monitoring module monitors the number of tasks to be operated of the user;
and if the number of the tasks to be operated of the user is greater than the maximum value of the number of the tasks to be operated, requesting the scheduling module to allocate the acquired preparation node to the user.
7. The apparatus according to claim 6, wherein the monitoring module is further configured to, when the number of the tasks to be executed is not greater than a preset minimum value of the number of the tasks to be executed of the user, request the scheduling module to retrieve the idle node of the user and send the idle node of the user to the scheduling module, and the scheduling module receives the idle node of the user;
after receiving the idle nodes of the user, the scheduling module monitors the number of tasks to be operated of the user;
and if the number of the tasks to be operated of the user is not more than the minimum value of the number of the tasks to be operated, applying for recovering the idle nodes of the user from the scheduling module.
8. The apparatus of claim 6, further comprising:
and the node resource pool module is used for managing and storing the preparation node.
9. The apparatus according to claim 8, wherein the scheduling module is further configured to set a number of safe operation nodes for the user, and the number of nodes remaining for the user after node recovery is not less than the number of safe operation nodes.
10. The apparatus of claim 9, wherein the scheduling module is further configured to determine an initial number of nodes allocated to the user, a maximum or minimum of the preset number of tasks to be executed, and the number of nodes to be safely executed according to a history of the user.
11. An electronic device terminal for scheduling task nodes, comprising:
one or more processors;
a storage device for storing one or more programs,
when executed by the one or more processors, cause the one or more processors to implement the method of any one of claims 1-5.
12. A computer-readable medium, on which a computer program is stored, which, when being executed by a processor, carries out the method according to any one of claims 1-5.
CN201710769608.4A 2017-08-31 2017-08-31 Method and device for scheduling task nodes Active CN109428926B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710769608.4A CN109428926B (en) 2017-08-31 2017-08-31 Method and device for scheduling task nodes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710769608.4A CN109428926B (en) 2017-08-31 2017-08-31 Method and device for scheduling task nodes

Publications (2)

Publication Number Publication Date
CN109428926A CN109428926A (en) 2019-03-05
CN109428926B true CN109428926B (en) 2022-04-12

Family

ID=65505380

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710769608.4A Active CN109428926B (en) 2017-08-31 2017-08-31 Method and device for scheduling task nodes

Country Status (1)

Country Link
CN (1) CN109428926B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110533281B (en) * 2019-07-17 2023-01-06 江苏苏宁物流有限公司 Order scheduling flow control method and device
CN112631268A (en) * 2019-10-09 2021-04-09 北京京东乾石科技有限公司 Method and device for dispatching robots
CN111245822B (en) * 2020-01-08 2023-03-14 北京小米松果电子有限公司 Remote procedure call processing method and device and computer storage medium
CN113157415B (en) * 2021-04-21 2023-10-13 中国电影科学技术研究所 Farm rendering method, device, electronic equipment and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546437A (en) * 2012-02-20 2012-07-04 南京邮电大学 Internet of things platform-oriented socket implementation method
CN105786587A (en) * 2014-12-23 2016-07-20 华为技术有限公司 Expansion method and device for virtual machine VM

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984621B2 (en) * 2010-02-27 2015-03-17 Novell, Inc. Techniques for secure access management in virtual environments

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546437A (en) * 2012-02-20 2012-07-04 南京邮电大学 Internet of things platform-oriented socket implementation method
CN105786587A (en) * 2014-12-23 2016-07-20 华为技术有限公司 Expansion method and device for virtual machine VM

Also Published As

Publication number Publication date
CN109428926A (en) 2019-03-05

Similar Documents

Publication Publication Date Title
US11762697B2 (en) Method and apparatus for scheduling resource for deep learning framework
CN108737270B (en) Resource management method and device for server cluster
US11146502B2 (en) Method and apparatus for allocating resource
CN108696374B (en) Method and device for updating client configuration
CN109428926B (en) Method and device for scheduling task nodes
CN111786895A (en) Method and apparatus for dynamic global current limiting
CN109905286B (en) Method and system for monitoring running state of equipment
CN110651256A (en) System and method for preventing service interruption during software update
CN111427551A (en) User code operation method of programming platform, equipment and storage medium
CN111062572B (en) Task allocation method and device
CN110113176B (en) Information synchronization method and device for configuration server
CN108764866B (en) Method and equipment for allocating resources and drawing resources
CN114116173A (en) Method, device and system for dynamically adjusting task allocation
CN110071952B (en) Service call quantity control method and device
CN111831503B (en) Monitoring method based on monitoring agent and monitoring agent device
CN113742389A (en) Service processing method and device
CN106657195B (en) Task processing method and relay device
CN112948138A (en) Method and device for processing message
CN113779412B (en) Message touch method, node and system based on blockchain network
CN115665054A (en) Method and module for bandwidth allocation and data transmission management system
CN114924937A (en) Batch task processing method and device, electronic equipment and computer readable medium
CN113127561B (en) Method and device for generating service single number, electronic equipment and storage medium
CN114374657A (en) Data processing method and device
CN114612212A (en) Business processing method, device and system based on risk control
CN113760482A (en) Task processing method, device and system

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