Job scheduling method, image forming device and storage medium

By setting weight levels and scheduling deadlines for image forming device jobs and dynamically adjusting user scores, the problem of image forming device resources not being fairly scheduled is solved, fair scheduling and high-priority jobs are achieved, and the user experience is improved.

CN116339946BActive Publication Date: 2025-10-10ZHUHAI PANTUM ELECTRONICS CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310297306.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-23
Publication Date
2025-10-10
Estimated Expiration
2043-03-23

AI Technical Summary

Technical Problem

In image forming devices shared by multiple people, the first-in-first-out queuing method used in the prior art results in unfair resource scheduling and inability to meet urgent or high-priority job demands.

Method used

By setting job weight levels and scheduling deadlines for pending jobs, dynamically adjusting user scores, pausing high-priority jobs and lowering their weight levels and deadlines, fair scheduling is ensured.

Benefits of technology

It achieves fair resource scheduling of image forming equipment, meets users' needs for queue jumping and urgent work, and improves user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116339946B_ABST
    Figure CN116339946B_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of image forming equipment, and particularly relates to a job scheduling method, image forming equipment and storage medium. The method comprises the following steps: executing a first job in a task queue, the task queue is used for storing jobs to be executed obtained by the image forming equipment, each job to be executed in the task queue is provided with a job weight level and a scheduling time limit, the first job is a job to be executed with the highest job weight level in the task queue; when the scheduling time limit of any job to be executed in the task queue is reached, it is judged whether the first job is executed completely; if not, the first job is suspended, a second job with the highest job weight level in the current task queue is executed, and the job weight level and the scheduling time limit of the first job are lowered, so that the fair scheduling of each job to be executed in the task queue is realized, and the use experience of the user is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical field

[0001] The present invention relates to the technical field of image forming equipment, and in particular to a job scheduling method, an image forming equipment and a storage medium. [Background Technology]

[0002] In office or public settings, multiple people often share a single image forming device. Existing technologies often employ a first-in-first-out queuing system. Consequently, when a user issues a large job, the terminal resources of the image forming device are occupied for a long time, forcing other users to wait for their job to print. This results in unfair scheduling of the shared terminal resources of the image forming device. Urgent or high-priority job requests cannot be met. Therefore, improving fair resource scheduling in this scenario is a pressing issue. [Summary of the invention]

[0003] In order to solve the above problem, embodiments of the present invention provide a job scheduling method, an image forming device, and a storage medium, which can fairly schedule received jobs to be executed.

[0004] In a first aspect, an embodiment of the present invention provides a job scheduling method applied to an image forming device, comprising:

[0005] Executing a first job in a task queue, the task queue being used to store pending jobs acquired by an image forming device, each pending job in the task queue being set with a job weight level and a scheduling time limit, the first job being the pending job with the highest current job weight level in the task queue;

[0006] When the scheduling time limit of any job to be executed in the task queue is reached, determining whether the first job has been completed;

[0007] If not completed, determining whether the task queue has acquired a second job with a job weight level greater than the first job;

[0008] If so, the first job is suspended and the second job is executed, and the job weight level and scheduling time limit of the first job are lowered.

[0009] In one possible implementation, each pending job in the task queue is provided with a job weight level and a scheduling time limit, including:

[0010] Acquire a job type of the to-be-executed job and a user type of a user corresponding to the to-be-executed job; the job type includes at least one of a print job, a copy job, and a scan job; and the user type includes at least one of a high-level user, a common user, and a low-level user;

[0011] Determining a job weight level of the job to be executed according to the job type and the user type;

[0012] The scheduling time limit of the job to be executed is determined according to the job weight level.

[0013] In a possible implementation, lowering the job weight level and scheduling time limit of the first job includes:

[0014] Obtaining a user score corresponding to the first assignment;

[0015] Deducting points from the user's rating;

[0016] Re-determining the weight level of the assignment based on the user score after the deduction;

[0017] The scheduling time limit is adjusted according to the re-determined job weight level; wherein, the lower the user score, the lower the job weight level, and the lower the job weight level, the shorter the scheduling time limit.

[0018] In a possible implementation, after the first job is completed, the method further includes:

[0019] Obtaining the time taken to complete the first operation;

[0020] The user score corresponding to the first job is updated according to the time consumption.

[0021] In a possible implementation, updating the user score corresponding to the first job according to the time consumption includes:

[0022] If the time consumption is less than the unadjusted scheduling time limit of the first job, adding points to the user score;

[0023] If the duration is equal to the unadjusted scheduling deadline of the first job, keeping the user score unchanged;

[0024] If the time consumed is greater than the unadjusted scheduling time limit of the first job, the user score is deducted.

[0025] In a possible implementation, the first job and the second job are print jobs or copy jobs, and the method further includes:

[0026] Different identification information is added to the imaging media of the first job and the second job to distinguish the imaging result of the first job from the imaging result of the second job.

[0027] In a possible implementation, the first job and the second job are scanning jobs, and the method further includes:

[0028] The scanning results of the first job and the second job are classified and stored.

[0029] In a second aspect, an embodiment of the present invention provides an image forming device, comprising:

[0030] an execution module, configured to execute a first job in a task queue, the task queue being configured to store pending jobs acquired by an image forming device, each pending job in the task queue being configured with a job weight level and a scheduling time limit, the first job being the pending job with the highest current job weight level in the task queue;

[0031] a judgment module, configured to judge whether the execution of any job to be executed in the task queue is completed when the scheduling time limit of the job to be executed in the task queue is reached;

[0032] The judgment module is further configured to, if the task is not completed, determine whether the task queue has acquired a second job with a job weight level greater than that of the first job;

[0033] The processing module is used to suspend the first job and execute the second job when the judgment module determines that the task queue obtains a second job with a job weight level greater than the first job, and lower the job weight level and scheduling time limit of the first job.

[0034] In a third aspect, an embodiment of the present invention provides an image forming device, comprising: a processor, a memory, and a computer program, wherein the computer program is stored in the memory, and the computer program includes instructions, which, when executed, enable the image forming device to execute the method described in the first aspect.

[0035] In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, wherein the computer-readable storage medium includes a stored program, wherein when the program is running, the device where the computer-readable storage medium is located is controlled to execute the method described in the first aspect.

[0036] It should be understood that the second to fourth aspects of the embodiments of the present invention are consistent with the technical solutions of the first aspect of the embodiments of the present invention, and the beneficial effects achieved by each aspect and the corresponding feasible implementation methods are similar and will not be repeated here.

[0037] In this embodiment of the present invention, by assigning job weights and scheduling deadlines to each pending job and triggering job scheduling based on the scheduling deadlines, the situation in which an image forming device is occupied for extended periods by a single user is avoided. This also satisfies queue-jumping, priority, and temporary printing requirements when multiple users share a single image forming device. This ensures fair job scheduling for each user, improving the user experience.

Brief Description of the Drawings

[0038] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0039] Figure 1 A flowchart of a job scheduling method provided by an embodiment of the present invention;

[0040] Figure 2 A flowchart of another job scheduling method provided by an embodiment of the present invention;

[0041] Figure 3 A schematic diagram of a task queue provided by an embodiment of the present invention;

[0042] Figure 4 A schematic structural diagram of an image forming device provided by an embodiment of the present invention;

[0043] Figure 5 A schematic structural diagram of another image forming device provided by an embodiment of the present invention;

[0044] Figure 6 A schematic structural diagram of another image forming device provided by an embodiment of the present invention. [Specific implementation method]

[0045] In order to better understand the technical solutions of this specification, the embodiments of the present invention are described in detail below with reference to the accompanying drawings.

[0046] It should be clear that the embodiments described are only part of the embodiments of this specification, not all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.

[0047] The terminology used in the description of the application herein is for the purpose of describing particular embodiments only and is not intended to be limiting thereof. As used in the description of the application and the appended claims herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.

[0048] In the embodiments of the application, the one-time job scheduling is triggered according to the scheduling time limit, if the first job being executed is not executed completely, the first job is suspended and the second job with the highest job weight level in the task queue is executed, so that the fair scheduling and fair execution of the jobs are realized, the needs of the user for the queuing and the priority are met, and the use experience of the user is improved.

[0049] Figure 1 A flowchart of a job scheduling method provided by the embodiments of the application is shown in FIG. 1. The method can be applied to an image forming device. The image forming device can be specifically implemented as a printer, a copier or an all-in-one machine integrating a printing function and a scanning function, etc. As shown in FIG. 1, the method comprises the following steps. Figure 1

[0050] In step 101, a first job in a task queue is executed. The task queue is used to store the to-be-executed jobs acquired by the image forming device. Each to-be-executed job in the task queue is provided with a job weight level and a scheduling time limit. The first job is the to-be-executed job with the highest job weight level in the task queue.

[0051] The job weight level and the scheduling time limit of the to-be-executed job can be determined according to the job type and the user type. Figure 2 A flowchart of another job scheduling method provided by the embodiments of the application is shown in FIG. 2.

[0052] As shown in FIG. 2, the method processing steps comprise the following steps. Figure 2

[0053] In step S1011, the job type of the to-be-executed job and the user type of the user corresponding to the to-be-executed job are acquired. The job type can include a normal job and a combined job. The normal job specifically includes a printing job and a scanning job. The combined job is a copying job. The user type can include a senior user, a normal user and a junior user.

[0054] In step S1012, the job weight level of the to-be-executed job is determined according to the job type and the user type. Different values can be set for different job types and user types. Finally, the job weight level of the to-be-executed job is specifically determined based on the value of the user type and the value of the job type.

[0055] ​​In a specific example, an embodiment of the present invention provides a user type value table, as shown in Table 1-1, the binary value corresponding to a high-level user is 00, the binary value corresponding to an ordinary user is 01, and the binary value corresponding to a low-level user is 10.

[0056] User type (U) Value (binary) Advanced user 00 Ordinary user 01 Low-level user 10

[0057] Table 1-1

[0058] The embodiment of the present invention further provides a job type value table. As shown in Table 1-2, the binary value corresponding to a normal job is 01, and the binary value corresponding to a joint job is 00.

[0059] Job type (J) Value (binary) Ordinary job (print job, scan job) 01 Combined job (copy job) 00

[0060] Table 1-2

[0061] The job weight level of the job to be executed can be determined based on the contents in Tables 1-1 and 1-2. Specifically, a weighted algorithm can be used to perform weighted calculation on the values ​​of the user type and the job type to obtain the job weight level value of the job to be executed. That is, P S =n×J+m×U, where P S is the value of the job weight level, J is the value corresponding to the job type, U is the value corresponding to the user type, m and n are the weight values ​​of the weighted calculation, which can be adjusted according to needs. In a specific example, the value of n can be determined to be 4 and the value of m can be determined to be 1, then the corresponding job weight level value P S =4×J+U. According to this formula and the contents of Table 1-1 and Table 1-2, P S The value range of Ps is 0 to 7, and each Ps value corresponds to a job weight level. It should be noted that the smaller the value of the job weight, the higher the corresponding job weight level. The larger the value of the job weight, the lower the corresponding job weight level. Specifically, when the Ps value is 0, the corresponding job weight level is level 1. When the Ps value is 7, the corresponding job weight level is level 8, and the level 1 job weight is higher than the level 8 job weight. For example, the job weight value of the job A to be executed is 01, and the job weight value of the job B to be executed is 10. Then the job weight level corresponding to A is level 2, and the job weight level corresponding to B is level 3. Therefore, the job weight level of A is higher than the job weight level of B.

[0062] Step S1013, determine the scheduling time limit of the job to be executed according to the job weight level. The scheduling time limit of the job to be executed can be calculated according to the formula Tb=MAX((M-Ps)×Ta,Tm). Tb is the scheduling time limit, MAX represents the maximum value, M represents the maximum value of the job weight level (for example, the job weight level in the above embodiment is 1 to 8, then M is equal to 8), Ta is the user's minimum scheduling time limit, and Tm is the standard minimum scheduling time limit. Both Ta and Tb are determined according to the time required for the image forming device to print a page. Specifically, Ta=Tsch×T1, Tm=Tsch×preset threshold. Tsch is the time required for the image forming device to print a standard page, which is determined by the mechanical engine of the image forming device and the job portrait. For example, if a standard page is set to contain 800 words in a size 4 font, the time required for the image forming device to print the standard page is recorded as Tsch. The T1 parameter is determined according to the user score corresponding to the job to be executed, and the default value is equal to the preset threshold in the Tm formula. If the user score is greater than 0, it indicates that the user uses the image forming device intermittently. This type of user often has a high frequency of operations, frequent interactions with the image forming device, and high real-time requirements. Therefore, T1 can be reduced accordingly. If the user score is less than 0, it indicates that the user occupies the image forming device for a long time. This type of user tends to have lower real-time requirements but tends to use the device for longer periods of time. Therefore, T1 can be increased to achieve a balance between job queue interruption and image forming device system performance.

[0063] Specifically, to ensure the continuous execution time of each job and the continuity of paper output by the image forming device, the preset threshold in the Tm formula can be set to 2, and the corresponding initial value of T1 can also be set to 2. This ensures that the minimum unit of the scheduling time limit is 2 Tsch. This allows for a page of buffering during job execution, ensuring the continuity of paper output for a single job without paper output interruptions. Take the situations in Tables 1-1 and 1-2 as examples. The job weight level ranges from 0 to 7, with the maximum weight level being 8. The job weight level of the pending job is 1 (i.e., 01 in binary). Therefore, the scheduling time limit for the pending job is Tb = MAX((8-1)×Ta, Tm). Since the initial value of T1 is 2, Ta = Tm, so Tb = 8×Ta. Expanding Ta to Tsch×T1, Tb = 8×Tsch×2 = 16×Tsch. Therefore, the scheduling time limit for the pending task is the time required to print 16 standard pages.

[0064] Step 102: When the scheduled time limit of any pending job in the task queue is reached, determine whether the first job has been completed. For example, if the scheduled time limit of 5 pending jobs in the task queue is reached after 2 Tsch of the first job has been executed, it can be determined whether the first job has been completed.

[0065] Step 103: If the job is not completed, the first job is paused and the second job with the highest job weight in the current task queue is executed. The job weight and scheduling time limit of the first job are lowered. When the scheduling time limit of the first job is lowered, the scheduling time limit of the first job will be shortened. If the first job is not completed each time, the job weight level will be further lowered. When the job weight level is lowered, it will become increasingly difficult to schedule the first job, thereby resolving the problem of the image forming device being occupied for a long time by a single user due to the excessive number of pages printed by the first job, thereby achieving fair execution and fair scheduling of jobs issued by multiple users.

[0066] Optionally, when the scheduling time limit of any job to be executed in the task queue is reached and the first job is completed, the second job with the highest job weight level in the current task queue can be directly executed.

[0067] In some embodiments, when lowering the job weight level and scheduling time limit of the first job, the specific job weight level and job time limit after the reduction can be calculated based on the user score. Specifically, the user score corresponding to the first job can be obtained first. In the case of the same job weight level, since the first job has not been completed by the set scheduling time limit, it is necessary to deduct points from the user score. Thereafter, the job weight level is re-determined based on the user score after the deduction. The scheduling time limit is adjusted according to the re-determined job weight level. The lower the user score, the lower the job weight level, and the lower the job weight level, the shorter the scheduling time limit. Therefore, in an embodiment of the present application, the user job priority weight level can be dynamically adjusted in combination with the user's usage scenarios and habits to meet the needs of urgent jobs or high-priority jobs and ensure fairness for users.

[0068] Specifically, if the first job is not completed when the scheduling time limit of the first job arrives, the user score is -1. The adjusted job weight level is denoted as Pd (to distinguish from the initial job weight level Ps determined according to the job type and the user type, and Pd and Ps have the same value range), and specifically, the adjusted job weight level Pd = MAX((0, MIN(Ps-Score, Pmax)) where MIN is the minimum value. Score is the user score, and Pmax is the maximum value of the value range of Pd (for example, the value range is 0-7, and Pmax is 7). The new job weight level Pd is calculated according to the reduced user score Score and the initial job weight level Ps by the above formula. Assuming that Ps is 1 and the adjusted Score is -1, the formula is: Pd = MAX(0, MIN(1-(-1), 7)). After calculation, Pd = MAX(0, MIN(2, 7)). MIN(2, 7) = 2, MAX(0, 2) = 2, so Pd = 2. It can be seen that Pd is greater than Ps by 1, so the adjusted job weight level Pd is lower than the initial job weight level Ps by one level.

[0069] After obtaining the new job weight level Pd, the adjusted scheduling time limit can be calculated according to Pd. Specifically, the adjusted scheduling time limit is denoted as Tj (to distinguish from the initially determined scheduling time limit Tb), and Tj = MAX((M-Pd) x Ta, Tm). Continue to calculate Tj with Ps = 1 and Pd = 2. Then Tj = MAX((8-2) x Ta, Tm). Then Tj = 6 x Ta. Then, the original scheduling time limit Tb = MAX((8-Ps) x Ta, Tm) = MAX((8-1) x Ta, Tm) = 7 x Ta. It can be seen that the adjusted scheduling time limit Tj is less than the adjusted scheduling time limit Tb. Under the premise that the job weight level of the first job is reduced, the scheduling time limit of the first job is also reduced. When the scheduling time limit of the first job arrives, the job weight level of the first job is reduced, so the job weight level of the job to be executed in the task queue will be scheduled in priority. And since the first job is still not completed when the scheduling is triggered this time, the job weight level of the first job will be reduced again, and the scheduling time limit will gradually become shorter, so the first job is more and more difficult to be scheduled, until the job weight level of the first job is reduced to the maximum value of the value range (i.e., the lowest level of job weight).

[0070] The above embodiments mainly describe the case that the first job is not executed completely when the scheduling time limit of any job in the task queue arrives. For the scenario that the first job is executed completely when the scheduling time limit arrives, the user score needs to be adjusted according to the specific execution situation. After the first job is executed completely, the time consumption of completing the first job can be acquired first, and then the user score corresponding to the first job is updated according to the time consumption. Optionally, the first time when the first job is scheduled and executed for the first time and the second time when the first job is executed completely can be determined first, and the difference between the second time and the first time is the time consumption of the first job.

[0071] Specifically, if the time consumption is less than the scheduling time limit of the first job without adjustment, the user score is increased. For example, after the user issues the first job, it is determined through calculation that the scheduling time limit of the first job is 6×Tsch. If the time consumption of completing the first job is less than 6×Tsch, it indicates that the job amount of the first job is small, and the user is intermittent in using the image forming device, and therefore the user score can be increased by 1.

[0072] If the time consumption is equal to the scheduling time limit of the first job without adjustment, the user score remains unchanged. For example, the scheduling time limit of the first job is 6×Tsch, and when the first job is scheduled and executed, no other job is inserted. Finally, the time consumption of the first job is 6×Tsch, and since there is no mutual competition among multiple jobs, the user score remains unchanged.

[0073] If the time consumption is greater than the scheduling time limit of the first job without adjustment, the user score is decreased. For example, after the user issues the first job, it is determined that the scheduling time limit of the first job is 10×Tsch. The first job is added to the task queue to wait for being scheduled. When the first job is scheduled, the first job is executed. After 4Tsch of the first job is executed, the scheduling time limit of the second job in the task queue arrives, and therefore the second job is inserted to be executed, the first job is paused, the job weight level of the first job is reduced, and the scheduling time limit of the first job is reduced to 8×Tsch to restart timing. Therefore, the time consumption of the first job is greater than the original scheduling time limit 10×Tsch. Therefore, the user score corresponding to the first job can be decreased by 1.

[0074] In some embodiments, after the first job is completed, the user's usage habits can be identified based on the execution status of this time, and the user's T1 parameter can be adjusted to make the T1 parameter more consistent with the user's usage habits. When T1 is adjusted, the user's Ta parameter will also change according to the change in T1. When the user corresponding to the first job issues another job again, the change in Ta will also affect the job time limit. Specifically, after the first job is completed, it is determined whether the current user score is greater than or equal to 0. If so, it is determined whether the current user score is greater than the user score of the previous job issued by the user at the completion. If so, T1 is reduced by 1; otherwise, T1 remains unchanged. If the user score is less than 0, it is determined whether the current user score is less than the user score of the previous job issued by the user at the completion. If so, T1 is increased by 1; otherwise, T1 remains unchanged. Therefore, in embodiments of the present application, the user job priority weight level can be dynamically adjusted based on the user's usage scenario and habits to meet the needs of urgent jobs or high-priority jobs, ensuring fair user usage.

[0075] In some embodiments, two task queues may be set for each engine (print engine and scan engine) of the image forming device, one being a running job queue (run queue) and the other being a suspended job queue (pause queue). Figure 3 A task queue diagram provided by an embodiment of the present invention. Figure 3 As shown in [1], the run queue and pause queue are implemented as arrays, each with a length of Pmax. The array elements are pointers to the job queue heads whose array subscripts correspond to the job weight levels. The image forming device schedules pending jobs in the arrays in a first-in, first-out order. Figure 3The job1 and job2 in the list are the pending jobs in the corresponding array elements added to the task queue. For example, after the user issues the first job, it is determined that the job weight level of the first job is 2, and the first job is placed in the array element of the run queue with a subscript of 2 to wait for scheduling. When the scheduling time limit of any pending job in the run queue or the pause queue arrives, the image forming device directly searches for the pending job in the array element with a subscript of 0 at the front and schedules it. If there is no pending job in the array element with a subscript of 0, the pending job is searched for in the array element with a subscript of 1 and scheduled, and so on. If there are multiple pending jobs in the same array element, they are scheduled in a first-in-first-out manner. When the first job being executed is interrupted by the second job, the job weight level of the first job is reduced, and the first job is placed in the array element corresponding to the array subscript in the pause queue according to the value of the reduced job weight level of the first job. When the scheduling deadline of a pending job arrives, you can first determine whether there are pending tasks in the run queue. If not, you can swap the pause queue with the run queue, and transfer the unfinished suspended jobs in the pause queue to the run queue for scheduling in sequence.

[0076] The above-mentioned task queue provided by the embodiment of the present invention is used to organize tasks to be executed, which can save the job search time of the job forming device and reduce the algorithm complexity.

[0077] In some embodiments, since the minimum scheduling unit in the embodiments of the present invention is a page, output confusion may occur in queue-jumping scenarios. For example, after the first job prints four pages, the second job jumps in. The second job prints six pages and then completes, and then the first job continues to print. In this case, the imaging results of the first and second jobs may be mixed at the paper outlet of the image forming device, affecting the user experience. Therefore, corresponding measures need to be taken to distinguish the imaging results of different jobs. Optionally, if the first and second jobs are print jobs or copy jobs, different identification information can be added to the imaging media of the first and second jobs to distinguish the imaging results of the first job from the imaging results of the second job. For example, page numbers with different font sizes can be set for the first and second jobs. Optionally, the first and second jobs can be separated by larger imaging media, and a user identification can be added to the larger imaging media. For example, if the first job prints four pages first, and then the second job jumps in, a larger sheet of paper with the user identification of the second job can be output before the second job prints, followed by the imaging results of the second job. Alternatively, other media types can be used to separate the imaging results of the first and second jobs. For example, coated paper can be used to separate the first and second jobs. Alternatively, the imaging results of the first and second jobs can be differentiated by changing the driving force for paper ejection. For example, the ejection force of the second job, which is executed in the queue, is greater, so that the imaging structure of the second job is pushed further away. Alternatively, the image forming device can be provided with multiple paper ejection ports for ejecting different jobs.

[0078] If the first job and the second job are scanning jobs, the scanning results of the first job and the second job may be stored in different categories, for example, by outputting the first job and the second job to different storage paths to distinguish them.

[0079] Therefore, in the embodiment of the present application, jobs can be separated by adding identification information or adopting a physical isolation method similar to the above-mentioned embodiment of the present application to avoid output confusion, facilitate the user to collect and organize jobs, and improve user convenience. Corresponding to the above-mentioned job scheduling method, the embodiment of the present invention provides an image forming device. Figure 4 FIG1 is a schematic diagram of the structure of an image forming device provided by an embodiment of the present invention. Figure 4 As shown in , the image forming apparatus includes: an execution module 401 , a determination module 402 and a processing module 403 .

[0080] The execution module 401 is used to execute the first job in the task queue. The task queue is used to store the pending jobs obtained by the image forming device. Each pending job in the task queue is set with a job weight level and a scheduling time limit. The first job is the pending job with the highest current job weight level in the task queue.

[0081] The judgment module 402 is used to judge whether the first job is completed when the scheduling time limit of any job to be executed in the task queue is reached.

[0082] The judgment module 402 is further configured to judge whether the task queue has obtained a second job with a job weight level greater than the first job if the task is not completed.

[0083] The processing module 403 is configured to, when the judging module judges that the task queue obtains a second job with a job weight greater than the first job, suspend the first job and execute the second job, and lower the job weight and scheduling time limit of the first job.

[0084] Figure 4 The image forming apparatus provided in the illustrated embodiment can be used to implement the present invention. Figures 1 to 3 The technical solution of the method embodiment shown, its implementation principle and technical effects can be further referred to the relevant description in the method embodiment.

[0085] Figure 5 A schematic structural diagram of another image forming device provided by an embodiment of the present invention, such as Figure 5 As shown, the image forming device further includes an acquisition module 404 .

[0086] The acquisition module 404 is configured to acquire the job type of the job to be executed and the user type of the user corresponding to the job to be executed.

[0087] The processing module 403 is further configured to determine the job weight level of the job to be executed according to the job type and the user type, and determine the scheduling time limit of the job to be executed according to the job weight level.

[0088] In some embodiments, the acquisition module 404 is further configured to acquire a user score corresponding to the first job.

[0089] Processing module 403 is specifically configured to deduct points from the user's score. The job weight level is re-determined based on the deducted user score. The scheduling deadline is adjusted based on the re-determined job weight level. The lower the user score, the lower the job weight level, and the lower the job weight level, the shorter the scheduling deadline.

[0090] In some embodiments, the acquisition module 404 is further configured to acquire the time taken to complete the first job.

[0091] The processing module 403 is further configured to update the user score corresponding to the first job according to the time consumption.

[0092] In some embodiments, the processing module 403 is specifically configured to:

[0093] If the elapsed time is less than the unadjusted scheduled time limit of the first job, the user's score is increased. If the elapsed time is equal to the unadjusted scheduled time limit of the first job, the user's score remains unchanged. If the elapsed time is greater than the unadjusted scheduled time limit of the first job, the user's score is deducted.

[0094] In some embodiments, the first job and the second job are print jobs or copy jobs. The execution module 401 is further configured to:

[0095] Different identification information is added to the imaging media of the first job and the second job to distinguish the imaging result of the first job from the imaging result of the second job.

[0096] In some embodiments, the first job and the second job are scanning jobs, and the execution module 401 is further configured to:

[0097] The scanning results of the first job and the second job are classified and stored.

[0098] Figure 5 The image forming apparatus provided in the illustrated embodiment can be used to implement the present invention. Figures 1 to 3 The technical solution of the method embodiment shown, its implementation principle and technical effects can be further referred to the relevant description in the method embodiment.

[0099] Figure 6 A schematic structural diagram of another image forming device provided by an embodiment of the present invention, such as Figure 6 As shown, the above-mentioned image forming device may include a processor, a memory, and a computer program, wherein the computer program is stored in the memory and includes instructions. When the instructions are executed, the image forming device performs the operations of the present invention. Figures 1 to 3 The illustrated embodiment provides a job scheduling method.

[0100] like Figure 6 As shown, the image forming device is represented as a general-purpose computing device. Components of the image forming device may include, but are not limited to, one or more processors 610, a communication interface 620, and a memory 630, and a communication bus 640 connecting the various system components (including the memory 630, the communication interface 620, and the processor 610).

[0101] Communication bus 640 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor, or a local bus using any of a variety of bus architectures. Examples of these architectures include, but are not limited to, the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MAC) bus, the Enhanced ISA bus, the Video Electronics Standards Association (VESA) local bus, and the Peripheral Component Interconnection (PCI) bus.

[0102] The image forming device typically includes a variety of computer system readable media. These media can be any available media that can be accessed by the image forming device, including volatile and non-volatile media, removable and non-removable media.

[0103] Memory 630 may include computer-readable media in the form of volatile memory, such as random access memory (RAM) and / or cache memory. The image forming device may further include other removable / non-removable, volatile / non-volatile computer storage media. Memory 630 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of various embodiments of this specification.

[0104] A program / utility having a set (at least one) of program modules may be stored in memory 630. Such program modules include, but are not limited to, an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment. The program modules generally implement the functions and / or methods of the embodiments described herein.

[0105] The processor 610 executes various functional applications and data processing by running the programs stored in the memory 630, such as implementing the present specification. Figures 1 to 3 The illustrated embodiment provides a job scheduling method.

[0106] The embodiment of this specification provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer instructions, wherein the computer instructions enable the computer to execute the present specification. Figures 1 to 3The job scheduling method provided by the embodiment shown.

[0107] The computer readable storage medium can take the form of one or more computer readable medium. The computer readable medium can be a computer readable signal medium or a computer readable storage medium. The computer readable storage medium may, for example, be— but is not limited to— an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium include 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 suitable combination of the foregoing. In this document, the computer readable storage medium can be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.

[0108] The above describes specific embodiments of the present specification. Other embodiments are within the scope of the appended claims. In some cases, the acts or steps recited in the claims can be performed in a different order than the order in which they are recited and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve the desired results. In certain implementations, multitasking and parallel processing can be advantageous.

[0109] In the description of the present specification, the description referring to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" and the like means that the specific feature, structure, material or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present specification. The illustrative expressions of the above terms in the present specification do not necessarily refer to the same embodiment or example. Also, the specific features, structures, materials or characteristics described can be combined in any suitable manner in one or more embodiments or examples. In addition, the person skilled in the art can combine and combine the different embodiments or examples described in the present specification and the features of the different embodiments or examples, without contradiction.

[0110] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of the technical features being referred to. Thus, a feature specified as "first" or "second" may explicitly or implicitly include at least one such feature. Throughout this specification, "plurality" means at least two, such as two or three, unless otherwise specifically defined.

[0111] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, segment or portion of code comprising one or more executable instructions for implementing the steps of a custom logical function or process, and the scope of the preferred embodiments of this specification includes alternative implementations in which functions may be performed out of the order shown or discussed, including performing functions in a substantially simultaneous manner or in the reverse order depending on the functions involved, which should be understood by those skilled in the art to which the embodiments of this specification belong.

[0112] The word "if," as used herein, may be interpreted as "at the time of" or "when" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined" or "if (stated condition or event) is detected" may be interpreted as "when it is determined" or "in response to the determination" or "when detecting (stated condition or event)" or "in response to detecting (stated condition or event)," depending on the context.

[0113] It should be noted that the devices involved in the embodiments of this specification may include but are not limited to personal computers (Personal Computer; hereinafter referred to as: PC), personal digital assistants (Personal Digital Assistant; hereinafter referred to as: PDA), wireless handheld devices, tablet computers (Tablet Computer), mobile phones, MP3 displays, MP4 displays, etc.

[0114] In the several embodiments provided in this specification, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed may be through some interface, indirect coupling or communication connection of devices or units, which may be electrical, mechanical or other forms.

[0115] In addition, the functional units in the various embodiments of this specification may be integrated into a single processing unit, each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or hardware plus software functional units.

[0116] The above-mentioned integrated unit implemented in the form of a software functional unit can be stored in a computer-readable storage medium. The above-mentioned software functional unit is stored in a storage medium and includes a number of instructions for causing a computer device (which can be a personal computer, a connector, or a network device, etc.) or a processor to execute some steps of the method described in each embodiment of this specification. The aforementioned storage medium includes: a USB flash drive, a mobile hard disk, a read-only memory (hereinafter referred to as: ROM), a random access memory (hereinafter referred to as: RAM), a magnetic disk or an optical disk, and other media that can store program code.

[0117] The above description is only a preferred embodiment of this specification and is not intended to limit this specification. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of this specification should be included in the scope of protection of this specification.

Claims

1. A job scheduling method, characterized in that: The method is applied to an image forming device, comprising: Executing a first job in a task queue, the task queue being used to store pending jobs acquired by an image forming device, each pending job in the task queue being set with a job weight level and a scheduling time limit, the first job being the pending job with the highest current job weight level in the task queue; When the scheduling time limit of any job to be executed in the task queue is reached, determining whether the first job has been completed; If not completed, suspend the first job and execute the second job with the highest job weight in the current task queue, and lower the job weight and scheduling time limit of the first job; Each pending job in the task queue is set with a job weight level and a scheduling time limit, including: Acquire a job type of the to-be-executed job and a user type of a user corresponding to the to-be-executed job; the job type includes at least one of a print job, a copy job, and a scan job; and the user type includes at least one of a high-level user, a common user, and a low-level user; Determining a job weight level of the job to be executed according to the job type and the user type; The scheduling time limit of the job to be executed is determined according to the job weight level.

2. The method according to claim 1, characterized in that Lowering the job weight level and scheduling time limit of the first job includes: Obtaining a user score corresponding to the first assignment; Deducting points from the user's rating; Re-determining the weight level of the assignment based on the user score after the deduction; The scheduling time limit is adjusted according to the re-determined job weight level; wherein, the lower the user score, the lower the job weight level, and the lower the job weight level, the shorter the scheduling time limit.

3. The method according to claim 2, characterized in that After the first job is completed, the method further includes: Obtaining the time taken to complete the first operation; The user score corresponding to the first job is updated according to the time consumption.

4. The method according to claim 3, characterized in that The updating of the user score corresponding to the first job according to the time consumption includes: If the time consumption is less than the unadjusted scheduling time limit of the first job, adding points to the user score; If the duration is equal to the unadjusted scheduling deadline of the first job, keeping the user score unchanged; If the time consumed is greater than the unadjusted scheduling time limit of the first job, the user score is deducted.

5. The method according to claim 1, wherein The first job and the second job are print jobs or copy jobs, and the method further includes: Different identification information is added to the imaging media of the first job and the second job to distinguish the imaging result of the first job from the imaging result of the second job.

6. The method according to claim 1, characterized in that The first job and the second job are scanning jobs, and the method further includes: The scanning results of the first job and the second job are classified and stored.

7. An image forming device, characterized in that: include: an execution module, configured to execute a first job in a task queue, the task queue being configured to store pending jobs acquired by an image forming device, each pending job in the task queue being configured with a job weight level and a scheduling time limit, the first job being the pending job with the highest current job weight level in the task queue; a judgment module, configured to judge whether the execution of any job to be executed in the task queue is completed when the scheduling time limit of the job to be executed in the task queue is reached; The judgment module is further configured to, if the task is not completed, determine whether the task queue has acquired a second job with a job weight level greater than that of the first job; a processing module configured to, when the judgment module determines that the task queue has acquired a second job whose job weight is greater than that of the first job, suspend the first job and execute the second job, and lower the job weight and scheduling time limit of the first job; Each pending job in the task queue is set with a job weight level and a scheduling time limit, including: Acquire a job type of the to-be-executed job and a user type of a user corresponding to the to-be-executed job; the job type includes at least one of a print job, a copy job, and a scan job; and the user type includes at least one of a high-level user, a common user, and a low-level user; Determining a job weight level of the job to be executed according to the job type and the user type; The scheduling time limit of the job to be executed is determined according to the job weight level.

8. An image forming apparatus, characterized in that: include: A processor, a memory, and a computer program, wherein the computer program is stored in the memory, and the computer program includes instructions, and when the instructions are executed, the image forming device executes the method according to any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that The computer-readable storage medium includes a stored program, wherein when the program is executed, the device where the computer-readable storage medium is located is controlled to execute the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Electronic device and task processing method executed by electronic device

    CN110333942A

  • Task allocation method and device, electronic device and storage medium

    CN110618855A