CN107885589B - Job scheduling method and device - Google Patents

Job scheduling method and device Download PDF

Info

Publication number
CN107885589B
CN107885589B CN201711174181.XA CN201711174181A CN107885589B CN 107885589 B CN107885589 B CN 107885589B CN 201711174181 A CN201711174181 A CN 201711174181A CN 107885589 B CN107885589 B CN 107885589B
Authority
CN
China
Prior art keywords
job
priority
user
executed
jobs
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
CN201711174181.XA
Other languages
Chinese (zh)
Other versions
CN107885589A (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.)
Seashell Housing Beijing Technology Co Ltd
Original Assignee
Seashell Housing Beijing 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 Seashell Housing Beijing Technology Co Ltd filed Critical Seashell Housing Beijing Technology Co Ltd
Priority to CN201711174181.XA priority Critical patent/CN107885589B/en
Publication of CN107885589A publication Critical patent/CN107885589A/en
Application granted granted Critical
Publication of CN107885589B publication Critical patent/CN107885589B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Abstract

The invention provides a job scheduling method and device. The method comprises the following steps: judging whether the operation to be executed is a priority operation or not according to a preset priority identification; and if the operation to be executed is a priority operation, sending an instruction for executing the corresponding operation to the operation to be executed according to a pre-established priority identification module. The job scheduling method and the job scheduling device provided by the invention have the advantages that the job scheduling algorithm is intelligentized, and the algorithm is converted into various common job scheduling algorithms through configuration, so that the job scheduling requirements of different users are met.

Description

Job scheduling method and device
Technical Field
The invention relates to the technical field of resource allocation, in particular to a job scheduling method and device.
Background
The main function of job scheduling is to examine whether the system can meet the resource requirement of user job according to the information in the job control block, select some jobs from the external backup queue according to a certain algorithm and then call them into the memory, create processes for them, allocate necessary resources, insert the newly created processes into the ready queue and prepare for execution.
The following common job scheduling algorithms are currently available: first come first serve, response ratio high priority, short job priority, balanced scheduling algorithm and priority scheduling algorithm.
1) First come first serve algorithm
Scheduling is performed in principle according to the order in which the jobs enter the input #, and scheduling is delayed if the resources of the jobs are not satisfied, and the jobs are scheduled in priority when the resources are satisfied.
The advantages of this algorithm are: there is a certain fairness.
The disadvantages of this algorithm: the average turnaround time is long, the throughput rate of the system is low, and when large jobs exist, many small jobs can delay scheduling.
2) Short duration job priority
And preferentially scheduling the jobs with short calculation time, and postponing scheduling under the condition that the resources are not satisfied. This requires the user to have an estimate of the computation time of the job in advance, based on which to schedule.
The advantages of this algorithm are: the selected job can not be completed and exited from the system as soon as possible due to the calculation time of the job, so that the average waiting time of the job is reduced, and the throughput rate of the system is improved.
The disadvantages of this algorithm: large jobs may be unsatisfactory, in the limit making some large jobs always unscheduled.
3) Response ratio higher priority algorithm
The calculation time waiting time is considered, and the problems of job priority with short calculation time and long-term waiting of large jobs are considered. Is defined according to the following formula:
response ratio R-latency/computation time
The calculation time is estimated job calculation time, and the shorter the calculation time is, the higher the response ratio is; on the other hand, the longer the large job waiting time is, the larger the response ratio is. After completion of one job, it is necessary to recalculate the response ratio of each job in the input, and the highest job is scheduled with priority.
4) Priority scheduling algorithm
A priority number is assigned to each job, and jobs with a higher priority number are scheduled first. For the operation with equal priority number, the first-come first-serve is adopted.
The formulation principle of the priority number is as follows: and the operation buffer program, the estimated calculation time, the operation waiting time, the resource application condition and the like are comprehensively considered.
5) Balanced scheduling algorithm
The processes using different resources are executed simultaneously, so that the time consumed by the operation waiting for the similar equipment is reduced, and the operation execution is accelerated.
The scheduling algorithm should do: running as many jobs as possible in a unit time; keeping the processor in a busy state; the I/O equipment is fully utilized; all the operations are fair and reasonable.
Because the demands of the user jobs are different and each scheduling algorithm can only adopt one job in one job, the completion sequence and whether the priority arrangement is different or not, the common job scheduling algorithm cannot meet the complex job scheduling with more demands, such as a first-come first-served algorithm, and because a certain user job needs to be completed in advance, the algorithm for completing the job preferentially according to the job sequence cannot be met.
From the above, it can be seen that due to the differences of the user jobs, such as the first-come first-serve algorithm, since some jobs that should be processed first cannot be scheduled and processed in time, the jobs are scheduled late, and the demand cannot be provided in time. The common job scheduling algorithm is combined with the characteristics of the user job, the common job scheduling algorithm cannot be used universally, the user job is single, the first-come first-serve algorithm is probably selected for most short jobs, if long jobs exist in the user job, the long jobs are occupied for a long time due to the selection of the first-come first-serve algorithm, and the scheduling of the short jobs behind the long jobs is delayed.
Therefore, how to provide a method for improving the efficiency of job scheduling of resource allocation is a problem to be solved urgently.
Disclosure of Invention
Aiming at the defects in the prior art, the invention provides a job scheduling method and device.
In a first aspect, the present invention provides a job scheduling method, including:
judging whether the operation to be executed is a priority operation or not according to a preset priority identification;
and if the operation to be executed is a priority operation, sending an instruction for executing the corresponding operation to the operation to be executed according to a pre-established priority identification module.
In a second aspect, the present invention provides a job scheduling apparatus comprising:
the judging unit is used for judging whether the operation to be executed is a priority operation or not according to a preset priority identification;
and the execution unit is used for sending an instruction for executing the corresponding operation to the job to be executed according to a pre-established priority identification module if the job to be executed is a priority job.
In a third aspect, the present invention further provides a computer device, including a memory and a processor, where the processor and the memory complete communication with each other through a bus; the memory stores program instructions executable by the processor, the processor invoking the program instructions to perform a method comprising:
judging whether the operation to be executed is a priority operation or not according to a preset priority identification;
and if the operation to be executed is a priority operation, sending an instruction for executing the corresponding operation to the operation to be executed according to a pre-established priority identification module.
In a fourth aspect, the present invention also provides a computer program comprising program code for performing the following:
the processor is used for calling the logic instructions in the memory to execute the following method:
judging whether the operation to be executed is a priority operation or not according to a preset priority identification;
and if the operation to be executed is a priority operation, sending an instruction for executing the corresponding operation to the operation to be executed according to a pre-established priority identification module.
In a fifth aspect, the invention provides a computer-readable storage medium having stored thereon a computer program for storing the method of the computer program as described above when executed by a processor.
According to the job scheduling method and device provided by the invention, the process of calling the user job is enriched by judging whether the identifier of the user job is added or not and whether the execution mode is preset or not, and meanwhile, the user job calling process according to different requirements is met, so that each user job can be accessed and meets different user job scheduling requirements, the development workload is reduced, and the application is wide; the process of judging the user job scheduling is gradually formed, namely, an intelligent job calling process is continuously formed, so that the full utilization of resources and intelligent service scheduling are realized.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and those skilled in the art can also obtain other drawings according to the drawings without creative efforts.
Fig. 1 is a schematic flowchart of a job scheduling method according to an embodiment of the present invention;
FIG. 2 is a flowchart illustrating a method for scheduling jobs according to another embodiment of the present invention;
fig. 3 is a schematic structural diagram of a job scheduling apparatus according to an embodiment of the present invention;
fig. 4 is a block diagram of a computer device according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Fig. 1 is a schematic flowchart of a job scheduling method according to an embodiment of the present invention, and as shown in fig. 1, the method includes:
s101, judging whether the operation to be executed is a priority operation or not according to a preset priority identification;
and S102, if the operation to be executed is a priority operation, sending an instruction for executing a corresponding operation to the operation to be executed according to a pre-established priority identification module.
Specifically, for different types of user jobs with different requirements, reasonable job scheduling is required, and the method includes: the method is characterized in that the identifier is easy to identify, self transaction characteristics are displayed, and different meanings, differences and attributions among things are marked as main functions of the identifier. And the object is subjected to priority identification processing, the object characteristics are displayed, and the priority execution of the operation task is facilitated.
When a plurality of tasks are to be executed, the server needs to identify the priority identifier of each job first and judge whether the first job is a priority job;
if the first job needs priority job, sending an instruction for executing corresponding operation to the job to be executed according to a pre-established priority identification module, and executing the corresponding operation by the first job according to the priority scheduling corresponding to the job.
According to the job scheduling method provided by the embodiment of the invention, the process of calling in the user job is enriched by judging whether the identifier of the user job is added or not and whether the identifier is in a preset execution mode or not, and meanwhile, the process of calling in the user job according to different requirements is met, so that each user job can be accessed and meets different user job scheduling requirements, the development workload is reduced, and the application is wide; the process of judging the user job scheduling is gradually formed, namely, an intelligent job calling process is continuously formed, so that the full utilization of resources and intelligent service scheduling are realized.
Optionally, the specific establishment process of the priority identification module is as follows:
if the first job is the priority job and an execution instruction of a first type module is received, judging whether the first job is scheduled according to a third type module, if so, establishing a process and distributing resources;
and if the first job is the priority job and receives an execution instruction of a second type module and an instruction for executing a second job at different times, judging whether the first job is scheduled according to a third type module, and if so, establishing a process and allocating resources.
On the basis of the embodiment, the pre-established priority identification module is used for memorizing the identified attribute of the past user operation aiming at a certain type of user operation, and if the same user operation is met, the attribute can be automatically added; the user job execution method which is completed preferentially can be memorized and applied to next user job scheduling, the execution mode of each user job is recorded and counted, and the optimal execution mode of each type of user job is selected from the recorded execution modes, so that the priority identification module is formed.
The specific establishment process is as follows:
if the first job is the identifier with the priority and an execution instruction of a first type module is received, judging whether the first job is scheduled according to a third type module, and if so, establishing a process and allocating resources;
and if the first job is the priority job and receives an execution instruction of a second type module and an instruction for executing a second job at different times, judging whether the first job is scheduled according to a third type module, and if so, establishing a process and allocating resources. Wherein the first job and the second job represent different jobs, respectively, and the second job is any one job distinguished from the first job, and is not particularly limited to a certain job; the first type module, the second type module and the third type module respectively represent different types of scheduling algorithms, and may be any one of the scheduling algorithms in the prior art, and specifically represent which kind is not specifically limited in the embodiment of the present invention.
To more clearly illustrate the specific establishment process of the priority identification module, a specific example is now described.
Fig. 2 is a flowchart illustrating a method for scheduling a job according to another embodiment of the present invention, as shown in fig. 2.
Firstly, judging whether the operation is priority operation scheduling, if so, needing further judgment;
secondly, if a first type module with short job priority is adopted, whether the scheduling is carried out according to sequential jobs, namely a third type module, needs to be further judged, and if the scheduling is carried out by a sequential module, a process is further created and resources are distributed;
and thirdly, if a second type module with long job priority is adopted, judging whether other jobs, namely the second jobs, are executed simultaneously in the process, if not, further judging whether the jobs in sequence, namely the third type module are scheduled, and if the modules in sequence are adopted for scheduling, further establishing a process and allocating resources.
The execution mode can be set according to the requirement of the user, and is not limited to the execution mode in the embodiment.
Judging whether the user operation is a priority operation or not, if not, further judging whether to carry out operation scheduling in sequence, if so, carrying out operation scheduling on all the user operations in sequence, and carrying out sequential execution according to the time sequence of operation generation, wherein the condition mainly aims at the condition that the user operation is single and the time consumption is short; otherwise, all user jobs enter the creating process and the resource allocation at the same time, and a process that a certain user job waits is not caused.
If the user job is a priority job, the identified priority job may be a short-time job or a long-time job.
For short job priority, the priority arrangement is completed aiming at the situation that user jobs possibly need to be completed in advance under certain conditions, and if the user jobs are completed in sequence, the priority user jobs are completed preferentially in the ordered user jobs; if the user jobs are not required to be in order, the priority user jobs firstly create processes and allocate resources in the process and the resource allocation at the same time with all the user jobs.
For the priority of the long job, since the time of the long job may be relatively long, further determination is made as to whether to execute other user jobs simultaneously, i.e., to perform a process for creating other user jobs and to allocate resources simultaneously. If not, whether the next step is executed according to the sequence is carried out, if yes, the following user job task cannot be continued due to the fact that the long job is not completed, or the long job is directly executed in priority in all user jobs out of the sequence is considered; if the execution is simultaneous, the sequence problem is not involved, and the process is preferentially established and the resource is allocated in all the user jobs.
According to the job scheduling method provided by the embodiment of the invention, the process of calling in the user job is enriched by judging whether the identifier of the user job is added or not and whether the identifier is in a preset execution mode or not, and meanwhile, the process of calling in the user job according to different requirements is met, so that each user job can be accessed and meets different user job scheduling requirements, the development workload is reduced, and the application is wide; the process of judging the user job scheduling is gradually formed, namely, an intelligent job calling process is continuously formed, so that the full utilization of resources and intelligent service scheduling are realized.
Optionally, the establishing of the priority identification module further includes:
and if the first operation is the priority operation, the execution instruction of the second type module is received, and the instruction for simultaneously executing the second operation is received, creating a process and allocating resources.
On the basis of the above embodiment, in the process of establishing the priority identification module, if the long job priority module, that is, the second type module, is adopted, it needs to be determined whether to execute other jobs, that is, the second job, simultaneously in the process, and if the other jobs are executed simultaneously, a process is directly created and resources are allocated.
According to the job scheduling method provided by the embodiment of the invention, the process of calling in the user job is enriched by judging whether the identifier of the user job is added or not and whether the identifier is in a preset execution mode or not, and meanwhile, the process of calling in the user job according to different requirements is met, so that each user job can be accessed and meets different user job scheduling requirements, the development workload is reduced, and the application is wide; the process of judging the user job scheduling is gradually formed, namely, an intelligent job calling process is continuously formed, so that the full utilization of resources and intelligent service scheduling are realized.
Optionally, the sending, according to the pre-established priority identification module, the instruction for executing the corresponding operation to the job to be executed is specifically:
different priority levels are preset according to the operation to be executed;
and sending a corresponding operation instruction to the job to be executed according to the priority level.
On the basis of the above-described embodiment, the priority levels are set for each job requiring priority scheduling, and may be set to, for example, 1 level, 2 level, 3 level, … … as needed.
And for the identified jobs needing priority scheduling, executing the jobs with the highest priority level first and executing the jobs in sequence from high to low.
For example, there are 10 jobs to be executed, of which 9 have priority flags, 2 jobs of level 1, 3 jobs of level 2, and 4 jobs of level 3, and among the 9 jobs to be executed with priority, 4 jobs of level 3, which have a high priority, are executed with priority, then 3 jobs of level 2 are executed, and finally 2 jobs of level 1 are executed.
The method also comprises a function of creating new identification characteristics, and because the number, the difficulty degree, the attributes and the like of each user operation are different, the method can automatically set the characteristics of marking colors and the like to strengthen the characteristics of the user operation for the importance degree which cannot be well distinguished only by marking I, II and III grades, thereby leading the priority definition of the user operation to be more accurate and wider.
In a specific example, two steel balls and two wood beads need to be turned out by two lathes, so that the efficiency is higher, the wood beads can be defined as the prior operation and are not finished in sequence, and in the executing process, the two lathes finish turning the steel balls simultaneously by preferentially turning the wood beads, so that the efficiency is highest, the resources are fully utilized, and the work is finished efficiently.
According to the job scheduling method provided by the embodiment of the invention, the process of calling in the user job is enriched by judging whether the identifier of the user job is added or not and whether the identifier is in a preset execution mode or not, and meanwhile, the process of calling in the user job according to different requirements is met, so that each user job can be accessed and meets different user job scheduling requirements, the development workload is reduced, and the application is wide; the process of judging the user job scheduling is gradually formed, namely, an intelligent job calling process is continuously formed, so that the full utilization of resources and intelligent service scheduling are realized.
Fig. 3 is a schematic structural diagram of a job scheduling apparatus according to an embodiment of the present invention, and as shown in fig. 3, the apparatus includes: a judging unit 10 and an executing unit 20, wherein:
the judging unit 10 is configured to judge whether the job to be executed is a priority job according to a preset priority identifier;
the execution unit 20 is configured to send an instruction for executing a corresponding operation to the job to be executed according to a pre-established priority identification module if the job to be executed is a priority job.
Specifically, for different types of user jobs with different requirements, reasonable job scheduling is required, and the method includes: the method is characterized in that the identifier is easy to identify, self transaction characteristics are displayed, and different meanings, differences and attributions among things are marked as main functions of the identifier. And the object is subjected to priority identification processing, the object characteristics are displayed, and the priority execution of the operation task is facilitated.
When there are many tasks to be executed, the determining unit 10 needs to identify the priority identifier of each job first, and determine whether the first job is a priority job;
if the first job is a priority job, the execution unit 20 is configured to send an instruction for executing a corresponding operation to the job to be executed according to a pre-established priority identification module if the job to be executed is a priority job.
According to the job scheduling device provided by the embodiment of the invention, by judging whether the identifier of the user job is added or not and whether the execution mode is preset or not, the process of calling the user job is enriched, and meanwhile, the process of calling the user job according to different requirements is met, so that each user job can be accessed and meets different user job scheduling requirements, the development workload is reduced, and the application is wide; the process of judging the user job scheduling is gradually formed, namely, an intelligent job calling process is continuously formed, so that the full utilization of resources and intelligent service scheduling are realized.
Optionally, the specific establishment process of the priority identification module is as follows:
if the first job is the priority job and an execution instruction of a first type module is received, judging whether the first job is scheduled according to a third type module, if so, establishing a process and distributing resources;
and if the first job is the priority job and receives an execution instruction of a second type module and an instruction for executing a second job at different times, judging whether the first job is scheduled according to a third type module, and if so, establishing a process and allocating resources.
On the basis of the embodiment, the pre-established priority identification module is used for memorizing the identified attribute of the past user operation aiming at a certain type of user operation, and if the same user operation is met, the attribute can be automatically added; the user job execution method which is completed preferentially can be memorized and applied to next user job scheduling, the execution mode of each user job is recorded and counted, and the optimal execution mode of each type of user job is selected from the recorded execution modes, so that the priority identification module is formed.
The specific establishment process is as follows:
if the first operation is the mark with priority and a first type module is preset, scheduling the operation according to a third type module;
and if the first operation is the identifier with the priority level, the second type module is preset, and the second operation is not executed simultaneously in the process, scheduling according to a third type model.
Wherein the first job and the second job represent different jobs, respectively, and are not particularly limited to a certain job; the first type priority module, the second type priority module and the third type module respectively represent different types of scheduling algorithms, and may be any one of the scheduling algorithms in the prior art, and specifically represent which kind is not specifically limited in the embodiment of the present invention.
According to the job scheduling device provided by the embodiment of the invention, by judging whether the identifier of the user job is added or not and whether the execution mode is preset or not, the process of calling the user job is enriched, and meanwhile, the process of calling the user job according to different requirements is met, so that each user job can be accessed and meets different user job scheduling requirements, the development workload is reduced, and the application is wide; the process of judging the user job scheduling is gradually formed, namely, an intelligent job calling process is continuously formed, so that the full utilization of resources and intelligent service scheduling are realized.
Optionally, the establishing of the priority identification module further includes:
and if the first operation is the priority operation, the execution instruction of the second type module is received, and the instruction for simultaneously executing the second operation is received, creating a process and allocating resources.
On the basis of the above embodiment, in the process of establishing the priority identification module, if the long job priority module, that is, the second type module, is adopted, it needs to be determined whether to execute other jobs, that is, the second job, simultaneously in the process, and if the other jobs are executed simultaneously, a process is directly created and resources are allocated.
According to the job scheduling device provided by the embodiment of the invention, by judging whether the identifier of the user job is added or not and whether the execution mode is preset or not, the process of calling the user job is enriched, and meanwhile, the process of calling the user job according to different requirements is met, so that each user job can be accessed and meets different user job scheduling requirements, the development workload is reduced, and the application is wide; the process of judging the user job scheduling is gradually formed, namely, an intelligent job calling process is continuously formed, so that the full utilization of resources and intelligent service scheduling are realized.
Optionally, the execution unit specifically is:
different priority levels are preset according to the operation to be executed;
and sending a corresponding operation instruction to the job to be executed according to the priority level.
On the basis of the above-described embodiment, the priority levels are set for each job requiring priority scheduling, and may be set to, for example, 1 level, 2 level, 3 level, … … as needed.
And executing the jobs at the highest level in sequence from high to low aiming at the identified jobs needing to be scheduled preferentially.
According to the job scheduling device provided by the embodiment of the invention, by judging whether the identifier of the user job is added or not and whether the execution mode is preset or not, the process of calling the user job is enriched, and meanwhile, the process of calling the user job according to different requirements is met, so that each user job can be accessed and meets different user job scheduling requirements, the development workload is reduced, and the application is wide; the process of judging the user job scheduling is gradually formed, namely, an intelligent job calling process is continuously formed, so that the full utilization of resources and intelligent service scheduling are realized.
Fig. 4 is a block diagram of a computer device according to an embodiment of the present invention, as shown in fig. 4, the computer device includes: a processor (processor)601, a memory (memory)602, and a bus 603;
wherein, the processor 601 and the memory 602 complete the communication with each other through the bus 603;
the processor 601 is configured to call program instructions in the memory 602 to perform the methods provided by the above-mentioned method embodiments, for example, including:
judging whether the operation to be executed is a priority operation or not according to a preset priority identification;
and if the operation to be executed is a priority operation, sending an instruction for executing the corresponding operation to the operation to be executed according to a pre-established priority identification module.
An embodiment of the present invention discloses a computer program product, which includes a computer program stored on a non-transitory computer readable storage medium, the computer program including program instructions, when the program instructions are executed by a computer, the computer can execute the methods provided by the above method embodiments, for example, the method includes:
judging whether the operation to be executed is a priority operation or not according to a preset priority identification;
and if the operation to be executed is a priority operation, sending an instruction for executing the corresponding operation to the operation to be executed according to a pre-established priority identification module.
Embodiments of the present invention provide a non-transitory computer-readable storage medium, which stores computer instructions, where the computer instructions cause the computer to perform the methods provided by the above method embodiments, for example, the methods include:
judging whether the operation to be executed is a priority operation or not according to a preset priority identification;
and if the operation to be executed is a priority operation, sending an instruction for executing the corresponding operation to the operation to be executed according to a pre-established priority identification module.
Those of ordinary skill in the art will understand that: all or part of the steps for implementing the method embodiments may be implemented by hardware related to program instructions, and the program may be stored in a computer readable storage medium, and when executed, the program performs the steps including the method embodiments; and the aforementioned storage medium includes: various media that can store program codes, such as ROM, RAM, magnetic or optical disks.
Through the above description of the embodiments, those skilled in the art will clearly understand that each embodiment can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware. With this understanding in mind, the above-described technical solutions may be embodied in the form of a software product, which can be stored in a computer-readable storage medium such as ROM/RAM, magnetic disk, optical disk, etc., and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the methods described in the embodiments or some parts of the embodiments.
The above-described embodiments of the apparatus and system are only schematic, where the units described as separate parts may or may not be physically separate, and the parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.

Claims (6)

1. A job scheduling method, comprising:
judging whether the operation to be executed is a priority operation or not according to a preset priority identification;
if the operation to be executed is a priority operation, sending an instruction for executing a corresponding operation to the operation to be executed according to a pre-established priority identification module; the pre-established priority identification module is used for automatically adding the attribute of the identified user operation by memorizing the identified attribute of the past user operation aiming at a certain type of user operation if the same user operation is met; the user job execution method which is completed preferentially is also memorized and applied to the next user job scheduling, the execution mode of each user job is recorded and counted, and the optimal execution mode of each type of user job is selected from the recorded execution modes, so that a priority identification module is formed;
the specific establishment process of the priority identification module is as follows:
judging whether the user jobs are priority jobs or not, if not, further judging whether job scheduling is carried out in sequence, if so, carrying out job scheduling on all the user jobs in sequence, and carrying out sequential execution according to the time sequence of job generation; if not, all user jobs enter the creation process and the resource allocation at the same time;
if the first job is the priority job and an execution instruction of a first type module is received, judging whether the first job is scheduled according to a third type module, if so, establishing a process and distributing resources;
if the first job is the priority job and receives an execution instruction of a second type module and an instruction for executing a second job at different times, judging whether the first job is scheduled according to a third type module, if so, establishing a process and allocating resources;
if the first operation is the priority operation, an execution instruction of the second type module is received, and an instruction for executing a second operation at the same time is received, a process is created and resources are allocated;
the first type module adopts short job priority, the second type module adopts long job priority, and the job scheduling according to the third type module is that the jobs are performed according to the sequence.
2. The method according to claim 1, wherein the sending, according to the pre-established priority identification module, the instruction for executing the corresponding operation to the job to be executed is specifically:
different priority levels are preset according to the operation to be executed;
and sending a corresponding operation instruction to the job to be executed according to the priority level.
3. A job scheduling apparatus comprising:
the judging unit is used for judging whether the operation to be executed is a priority operation or not according to a preset priority identification;
the execution unit is used for sending an instruction for executing the corresponding operation to the job to be executed according to a pre-established priority identification module if the job to be executed is a priority job; the pre-established priority identification module is used for automatically adding the attribute of the identified user operation by memorizing the identified attribute of the past user operation aiming at a certain type of user operation if the same user operation is met; the user job execution method which is completed preferentially is also memorized and applied to the next user job scheduling, the execution mode of each user job is recorded and counted, and the optimal execution mode of each type of user job is selected from the recorded execution modes, so that a priority identification module is formed;
the specific establishment process of the priority identification module is as follows:
judging whether the user jobs are priority jobs or not, if not, further judging whether job scheduling is carried out in sequence, if so, carrying out job scheduling on all the user jobs in sequence, and carrying out sequential execution according to the time sequence of job generation; if not, all user jobs enter the creation process and the resource allocation at the same time;
if the first job is the priority job and an execution instruction of a first type module is received, judging whether the first job is scheduled according to a third type module, if so, establishing a process and distributing resources;
if the first job is the priority job and receives an execution instruction of a second type module and an instruction for executing a second job at different times, judging whether the first job is scheduled according to a third type module, if so, establishing a process and allocating resources;
if the first operation is the priority operation, an execution instruction of the second type module is received, and an instruction for executing a second operation at the same time is received, a process is created and resources are allocated;
the first type module adopts short job priority, the second type module adopts long job priority, and the job scheduling according to the third type module is that the jobs are performed according to the sequence.
4. The apparatus according to claim 3, wherein the execution unit is specifically:
different priority levels are preset according to the operation to be executed;
and sending a corresponding operation instruction to the job to be executed according to the priority level.
5. A computer device, comprising a memory and a processor, wherein the processor and the memory communicate with each other via a bus; the memory stores program instructions executable by the processor, the processor invoking the program instructions to perform the method of any of claims 1 to 2.
6. A computer-readable storage 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 to 2.
CN201711174181.XA 2017-11-22 2017-11-22 Job scheduling method and device Active CN107885589B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711174181.XA CN107885589B (en) 2017-11-22 2017-11-22 Job scheduling method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711174181.XA CN107885589B (en) 2017-11-22 2017-11-22 Job scheduling method and device

Publications (2)

Publication Number Publication Date
CN107885589A CN107885589A (en) 2018-04-06
CN107885589B true CN107885589B (en) 2021-02-12

Family

ID=61778127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711174181.XA Active CN107885589B (en) 2017-11-22 2017-11-22 Job scheduling method and device

Country Status (1)

Country Link
CN (1) CN107885589B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109808740A (en) * 2019-02-14 2019-05-28 内蒙古伊泰准东铁路有限责任公司 Train scheduling method, apparatus and system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101707543A (en) * 2009-11-30 2010-05-12 北京中科大洋科技发展股份有限公司 Enterprise media bus system supporting multi-task type and enterprise media bus method supporting multi-task type
CN103761147A (en) * 2014-01-15 2014-04-30 清华大学 Method and system for managing calculation examples in cloud platforms

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030037091A1 (en) * 2001-08-09 2003-02-20 Kozo Nishimura Task scheduling device
US7793294B2 (en) * 2005-02-22 2010-09-07 Northrop Grumman Corporation System for scheduling tasks within an available schedule time period based on an earliest possible end time of the task
JP5120061B2 (en) * 2008-05-15 2013-01-16 富士通株式会社 Priority control program, priority control apparatus, and priority control method
KR101556840B1 (en) * 2011-05-20 2015-10-01 애플 인크. Apparatus and methods for optimizing scheduled operations in hybrid network environments
CN102929720B (en) * 2012-09-24 2017-06-23 曙光信息产业(北京)有限公司 A kind of energy-conservation job scheduling system
CN104021044B (en) * 2013-02-28 2017-05-31 中国移动通信集团浙江有限公司 A kind of job scheduling method and device
CN104735095B (en) * 2013-12-18 2018-02-23 中国移动通信集团四川有限公司 A kind of cloud computing platform job scheduling method and device
CN104657212B (en) * 2015-02-13 2018-02-16 北京亚信数据有限公司 A kind of method and system of task scheduling
CN107239336B (en) * 2016-03-28 2022-09-09 中兴通讯股份有限公司 Method and device for realizing task scheduling

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101707543A (en) * 2009-11-30 2010-05-12 北京中科大洋科技发展股份有限公司 Enterprise media bus system supporting multi-task type and enterprise media bus method supporting multi-task type
CN103761147A (en) * 2014-01-15 2014-04-30 清华大学 Method and system for managing calculation examples in cloud platforms

Also Published As

Publication number Publication date
CN107885589A (en) 2018-04-06

Similar Documents

Publication Publication Date Title
CN104268018B (en) Job scheduling method and job scheduler in a kind of Hadoop clusters
CN111625331B (en) Task scheduling method, device, platform, server and storage medium
CN104239154B (en) Job scheduling method and job scheduler in a kind of Hadoop clusters
CN103294533A (en) Task flow control method and task flow control system
CN105320561A (en) Task management method and system
CN111338791A (en) Method, device and equipment for scheduling cluster queue resources and storage medium
CN102387173A (en) MapReduce system and method and device for scheduling tasks thereof
CN110413412B (en) GPU (graphics processing Unit) cluster resource allocation method and device
CN112783659B (en) Resource allocation method and device, computer equipment and storage medium
CN106293918A (en) A kind of dispatch the method for process, system and computer
EP3376381A1 (en) Resource management method and system, and computer storage medium
CN105389206A (en) Method for rapidly configuring virtual machine resources in cloud computing data center
CN109840149B (en) Task scheduling method, device, equipment and storage medium
CN103257896B (en) A kind of Max-D job scheduling method under cloud environment
CN103455375B (en) Load-monitoring-based hybrid scheduling method under Hadoop cloud platform
CN112416585A (en) GPU resource management and intelligent scheduling method for deep learning
CN115454589A (en) Task scheduling method and device and Kubernetes scheduler
CN110764887A (en) Task rescheduling method and system, and related equipment and device
CN114371926B (en) Refined resource allocation method and device, electronic equipment and medium
CN104820616A (en) Task scheduling method and device
CN113626173B (en) Scheduling method, scheduling device and storage medium
CN107885589B (en) Job scheduling method and device
CN114721818A (en) Kubernetes cluster-based GPU time-sharing method and system
CN111143063B (en) Task resource reservation method and device
CN112860401A (en) Task scheduling method and device, electronic equipment and storage medium

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100085 Floor 101 102-1, No. 35 Building, No. 2 Hospital, Xierqi West Road, Haidian District, Beijing

Applicant after: Seashell Housing (Beijing) Technology Co.,Ltd.

Address before: 100085 Floor 101 102-1, No. 35 Building, No. 2 Hospital, Xierqi West Road, Haidian District, Beijing

Applicant before: LIANJIA(BEIJING) TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant