Job processing method, image forming apparatus and storage medium
By adjusting the execution order in the task queue according to user permissions and workload, the problem of task conflicts in the image forming apparatus is solved, achieving efficient task management and improved user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ZHUHAI PANTUM ELECTRONICS CO LTD
- Filing Date
- 2023-03-23
- Publication Date
- 2026-05-26
AI Technical Summary
In an image forming apparatus shared by multiple users, how can the execution order of tasks be determined to avoid task conflicts and improve the user experience?
The position and execution order of tasks in the task queue are determined based on user permissions and workload, including pausing currently executing tasks to prioritize high-privilege or urgent tasks, combined with user permission registration and management terminal review.
It improves the flexibility of job processing and user experience, ensuring the timely processing of urgent or high-priority tasks.
Smart Images

Figure CN116320188B_ABST
Abstract
Description
[Technical Field]
[0001] This invention relates to the field of image forming apparatus technology, and more particularly to a task processing method, an image forming apparatus, and a storage medium. [Background Technology]
[0002] An image forming apparatus is a device that forms an image on a recording medium using imaging principles, such as a printer, copier, fax machine, multifunction image making and copying apparatus, electrostatic printing apparatus, and any other similar apparatus.
[0003] In various scenarios, multiple users may share a single image forming apparatus. When the image forming apparatus receives multiple job tasks within a short period, task conflicts may occur. Therefore, determining the execution order of each job task to improve the user experience is a pressing issue that needs to be addressed. [Summary of the Invention]
[0004] To address the aforementioned problems, embodiments of the present invention provide a job task processing method, an image forming apparatus, and a storage medium, which can determine the position of a first job task in the task queue based on the workload of the first job task and user permissions, thereby overcoming the aforementioned task conflict situation.
[0005] In a first aspect, embodiments of the present invention provide a job task processing method, including:
[0006] Based on the user identification information of the first task, determine the user permissions corresponding to the first task;
[0007] The decision on whether to prioritize the execution of the first task is determined based on the workload of the first task and the user's permissions, as well as the workload and corresponding user permissions of each task in the task queue; wherein, the task queue contains tasks that are currently being executed and tasks that are waiting to be executed.
[0008] In this embodiment of the invention, when multiple tasks are issued, the system determines whether to pause the currently executing tasks in the task queue and immediately execute the first task based on the user permissions corresponding to the tasks and the workload. This enhances the flexibility of processing multiple tasks and improves the user experience.
[0009] In one possible implementation, determining whether to prioritize the execution of the first job task based on the workload of the first job task and the user permissions, as well as the workload and corresponding user permissions of each job task in the task queue, includes:
[0010] If the user permissions of the first job task are greater than the user permissions of the currently executing job task, then the currently executing job task is paused and the first job task is executed immediately.
[0011] In one possible implementation, determining whether to prioritize the execution of the first job task based on the workload of the first job task and the user permissions, as well as the workload and corresponding user permissions of each job task in the task queue, includes:
[0012] If the user permission of the first job task is less than or equal to the user permission of the job task being executed, then a first ratio between the workload of the first job task and the workload of the job task being executed is determined.
[0013] Based on the first ratio, determine whether to pause the currently executing task and immediately execute the first task.
[0014] In one possible implementation, determining whether to pause the currently executing job task and immediately execute the first job task based on the first ratio includes:
[0015] If the first ratio is less than a preset threshold, then the currently executing task is paused and the first task is executed immediately;
[0016] If the first ratio is greater than or equal to the preset threshold, the position of the first task in the task queue is determined based on the workload corresponding to the first task and the user permissions, as well as the workload and corresponding user permissions of the tasks waiting to be executed.
[0017] In one possible implementation, before determining whether to prioritize the execution of the first job task based on the workload of the first job task and the user permissions, as well as the workload and corresponding user permissions of each job task in the task queue, the method further includes:
[0018] Determine whether the job type of the first job task is the job type matched by the corresponding user permissions;
[0019] If the job type of the first job task is not a job type that matches the user's permissions, a first request is sent to the management terminal corresponding to the image forming apparatus. The first request is used to determine whether the first job task is allowed to be executed.
[0020] Receive the response information to the first request sent by the management terminal;
[0021] If the response message indicates that execution is not allowed, then the execution of the first job task will be cancelled.
[0022] In one possible implementation, determining the user permissions corresponding to the first job task based on the user identifier information of the first job task includes:
[0023] Locate the registered user permissions that are bound to the user identification information;
[0024] The registered user permissions are determined as the user permissions corresponding to the first job task.
[0025] In one possible implementation, the method further includes:
[0026] Receive a user permission registration request, the user permission registration request including target user identification information and the user permission to be registered;
[0027] Find the corresponding registerable user permissions based on the target user identification information;
[0028] If the user permission requested for registration is a user permission included in the registerable user permissions, then the user permission registration request is determined to be successful, and the target user identification information and the user permission requested for registration are bound and stored.
[0029] In a second aspect, embodiments of the present invention provide an image forming apparatus, comprising:
[0030] The resource control module is used to determine the user permissions corresponding to the first task based on the user identification information of the first task.
[0031] The pre-scheduling module is used to determine whether to prioritize the execution of the first job task based on the workload of the first job task and the user permissions, as well as the workload and corresponding user permissions of each job task in the task queue; wherein, the task queue contains job tasks that are being executed and job tasks that are waiting to be executed.
[0032] Thirdly, embodiments of the present invention provide another image forming apparatus, including: a processor, a memory, and a computer program, wherein the computer program is stored in the memory, and the computer program includes instructions that, when executed, cause the image forming apparatus to perform the method described in the first aspect.
[0033] Fourthly, embodiments of the present invention provide a computer-readable storage medium comprising a stored program, wherein the program, when executed, controls the device containing the computer-readable storage medium to perform the method described in the first aspect.
[0034] 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 are similar, and will not be described again. [Attached Image Description]
[0035] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0036] Figure 1 A flowchart of a job task processing method provided in an embodiment of the present invention;
[0037] Figure 2 A flowchart of another job task processing method provided in an embodiment of the present invention;
[0038] Figure 3 A flowchart of another job task processing method provided in an embodiment of the present invention;
[0039] Figure 4 This is a schematic diagram of the structure of an image forming apparatus provided in an embodiment of the present invention;
[0040] Figure 5 This is a schematic diagram of another image forming apparatus provided in an embodiment of the present invention.
Detailed Implementation Methods
[0041] To better understand the technical solutions in this specification, the embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
[0042] It should be understood that the described embodiments are merely some, not all, of the embodiments in this specification. All other embodiments obtained by those skilled in the art based on the embodiments in this specification without inventive effort are within the scope of protection of this invention.
[0043] The terminology used in the embodiments of this invention is for the purpose of describing particular embodiments only and is not intended to be limiting of this specification. The singular forms “a,” “the,” and “the” as used in the embodiments of this invention and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise.
[0044] In this embodiment of the invention, the user permissions corresponding to the first task are determined based on the user identification information of the first task, and the task is judged as to whether to prioritize the execution of the first task based on the workload of the first task and the corresponding user permissions, as well as the workload of each task in the task queue and the corresponding user permissions. This solves the problem of urgent task requirements or high-priority queue-jumping requirements, improves the flexibility of task processing, and enhances the user experience.
[0045] Figure 1 This is a flowchart illustrating a task processing method provided in an embodiment of the present invention. The method is applied to an image forming apparatus, such as... Figure 1 As shown, the method includes:
[0046] Step 101: Determine the user permissions corresponding to the first job task based on the user identification information of the first job task. The user can issue the first job task to the image forming apparatus via a user terminal. Optionally, the user identification information can be included in the first job task, and the image forming apparatus obtains the user identification information after parsing the first job task. Alternatively, the image forming apparatus obtains the corresponding user identification information from the user terminal after receiving the first job task.
[0047] User permissions are used to determine the priority of the first task; the higher the user's permissions, the higher the priority of the first task. To determine the user permissions corresponding to the first task, you can first search for registered user permissions bound to user identification information, and then use these registered user permissions as the user permissions corresponding to the first task.
[0048] Step 102: Determine whether to prioritize the execution of the first task based on its workload and user permissions, as well as the workload and corresponding user permissions of each task in the task queue. The task queue contains currently executing tasks and tasks awaiting execution.
[0049] The image forming apparatus includes a pre-scheduling module and a job scheduling module. Upon receiving a first job task, the pre-scheduling module parses the job type (e.g., printing, scanning, and copying) and determines if there are any ongoing or pending job tasks in the corresponding task queue. If there are no job tasks in the task queue corresponding to the job type of the first job task, the first job task is added to the corresponding task queue for execution. If there are ongoing or pending job tasks in the task queue, the job pre-scheduling module calls the job scheduling module to determine the execution priority. For example, after parsing the first job task, the pre-scheduling module determines that the job type is printing. It then checks if there are other ongoing or pending printing job tasks in the printing task queue. If the printing task queue is empty, the first job task is added to the printing task queue for execution. If there are other ongoing or pending printing job tasks in the printing task queue, the job scheduling module is called. For a copying job, it can be broken down into a scanning task and a printing task for execution.
[0050] The job scheduling module is used to determine whether to prioritize the execution of the first job based on the workload and user permissions of the first job, other jobs in the task queue, and their corresponding user permissions. In a specific example, if the user permissions of the first job are greater than those of the currently executing job, the currently executing job can be paused and the first job executed immediately. If the user permissions of the first job are less than or equal to those of the currently executing job, a first ratio is determined between the workload of the first job and the workload of the currently executing job. Based on this first ratio, it is determined whether to pause the currently executing job and execute the first job immediately. The workload can be the number of pages, the number of words, or other forms. For example, in a print job, the workload can be the total number of pages to be printed, the total number of words to be printed, or the size of the original file corresponding to the first job.
[0051] Specifically, if the first ratio is less than a preset threshold, the currently executing job task is paused and the first job task is executed immediately. If the first ratio is greater than or equal to the preset threshold, the position of the first job task in the task queue is determined based on the workload and user permissions corresponding to the first job task, as well as the workload and corresponding user permissions of the jobs waiting to be executed. Specifically, the tasks in the task queue can be sorted according to their user permissions. For tasks with the same user permissions, the order of tasks with the same user permissions can be determined according to the order in which they were received. Alternatively, the tasks with the same user permissions can be sorted according to their workload. Optionally, different weights can be set for user permissions and workload, and then a weighted calculation can be performed based on the workload and user permissions of each task, and the tasks in the task queue can be sorted according to the result of the weighted calculation.
[0052] In this embodiment of the invention, when a new job task is received, a comprehensive judgment is made based on the workload of the job task, the user's permissions, and the workload and user permissions of the job tasks in the task queue, thereby processing multiple job tasks more effectively and improving the flexibility of job processing.
[0053] In some embodiments, different preset thresholds can be set for judging the cases where the user permissions of the first task are equal to those of the currently executing task, and the cases where the user permissions of the first task are less than those of the currently executing task. When the user permissions of the first task and the currently executing task are the same, the judgment is then made based on the workload. Specifically, if the first ratio between the workload of the first task and the workload of the currently executing task is less than a first threshold, the currently executing task can be paused and the first task executed immediately. The first threshold can be set to 1 / 100. The first threshold can be adjusted according to actual needs. When the user permissions of the first task are less than those of the currently executing task, the workload of the first task is also judged. When the first ratio between the workload of the first task and the workload of the currently executing task is less than a second threshold, the currently executing first task can be paused and the first task executed immediately. The second threshold can be set to be less than the first threshold, for example, 1 / 130. In the method provided by this embodiment of the invention, when the user permissions of the first task and the currently executing task are the same, the judgment is made based on the workload. When the user permissions for the first task are lower than those for the currently executing task, if the workload of the first task is smaller than that of the currently executing task, the first task with lower permissions will still be prioritized for execution. For example, if the user permissions for the first task are "normal" and the user permissions for the currently executing task are "advanced," and if the workload of the first task is 1 page while that of the currently executing task is 150 pages, placing the first task after the currently executing task would result in a poor user experience. Therefore, the user experience can be improved by pausing the currently executing task and immediately executing the first task. After the first task is completed, the paused tasks can then resume execution.
[0054] In some embodiments, before determining whether to prioritize the execution of the first job task, it may be necessary to first determine whether the first job task is allowed to be executed based on user permissions. For example... Figure 2 As shown, the processing steps of this method include:
[0055] Step 201: Determine whether the job type of the first job task matches the job type corresponding to the user's permissions. User permissions can match at least one job type. User permissions can be obtained through registration. For example, if a user has pre-registered advanced permissions for printing and scanning, then upon receiving the first job task from the user terminal, the task type of the first job task is parsed. If the job type is printing, then the first job task is determined to be a job type matched by the user's permissions. If the task type of the first job task is copying, then the first job task is determined not to be a job type newly matched by the user.
[0056] Step 202: If the job type of the first job is not a job type that matches the user's permissions, a first request is sent to the management terminal corresponding to the image forming apparatus. The first request is used to determine whether the first job is allowed to be executed. When the job type of the first job is not a job type that matches the user's permissions, sending the first request to the management terminal allows the administrator to manually review the first job, thereby managing the job. Optionally, the first request may include job type information of the first job, user permissions, and user identification information.
[0057] Step 203: Receive the response information for the first request sent by the management terminal. Upon receiving the first request, the user of the management terminal can preview the content of the first job task and manually approve it based on user permissions and user identification information, thereby determining the response information for the first request.
[0058] Step 204: If the response message is "not allowed to execute", then cancel the execution of the first task.
[0059] In some embodiments, users can register new user permissions via a user terminal or by operating directly on the image forming apparatus. For example... Figure 3 As shown, the processing steps of this method include:
[0060] Step 301: Receive a user permission registration request. The user permission registration request includes the target user's identification information and the user permissions requested for registration. For example, when a user registers for the first time, they can choose to apply for user permissions for one or more job types and fill in personal information such as name and contact information. Table 1-1 is a user permission registry provided in an embodiment of the present invention.
[0061]
[0062] Table 1-1
[0063] As shown in Table 1-1, there are four types of permissions, each with three levels, and each level corresponds to a binary identifier. Users can apply for basic printing permissions and basic scanning permissions, etc.
[0064] Step 302: Locate the corresponding registerable user permissions based on the target user identification information. Different registerable user permissions can be pre-configured for different user identification information. Full control refers to administrator permissions, and the user terminal with administrator permissions is the aforementioned management terminal. For example, the registerable user permissions for all users in the first department can be configured as ordinary photocopying permissions, while the registerable user permissions for all users in the second department can be configured as advanced printing permissions. After receiving a user permission registration request, the image forming apparatus can locate the corresponding registerable user permissions based on the user identification information contained in the request.
[0065] Step 303: If the requested user permission is one of the user permissions included in the registerable user permissions list, the user permission registration request is deemed successful. The target user identifier information and the requested user permission are then bound and stored. Specifically, when binding the requested user permission with the target user identifier information, the target user identifier information can be bound and associated with the identifier code corresponding to the requested user permission, according to Table 1-1. When the image forming apparatus queries the corresponding user permission based on the user identifier information, it can retrieve the identifier code corresponding to that user identifier information, thereby determining the corresponding user permission.
[0066] If the requested user permissions are not among the user permissions available for registration, a second request can be sent to the management terminal. This second request determines whether the user permission registration request should be approved. The success of the user permission registration request can then be determined based on the response from the management terminal.
[0067] In a specific example, after confirming that the user's registration request is approved, the target user identification information, the personal information filled in by the user, and the identification code can be encrypted and stored. Specifically, the target user identification information, the personal information filled in by the user, and the identification code can be merged into user information. Then, the user information is aligned to 4KB using a cache alignment method, and a circular XOR operation is performed with the administrator's private key to obtain an information storage pair. This information storage pair is then stored in the storage medium of the image forming apparatus. In this embodiment of the invention, the encryption method uses cache alignment, which results in fast write speed to memory. Furthermore, the circular XOR operation with the administrator's private key ensures high security and does not change the size of the information pair, guaranteeing fast write speed to memory.
[0068] In some embodiments, user information can also be synchronized to a server or remote terminal to prevent damage to locally stored user information. Optionally, the image forming apparatus includes an information synchronization unit that sends user information to a server or remote terminal using the communication protocol format in Table 1-2.
[0069]
[0070] Table 1-2
[0071] As shown in Table 1-2, the protocol header and trailer are customizable. The command header indicates that the purpose of this communication is to transmit interactive information. The encrypted string (signed with the administrator's private key and a terminal manufacturer-specific code) is used for terminal authentication; only after successful authentication can subsequent information parsing proceed. The data header identifies the data type, used to represent user information during transmission, followed by data of that type, then the CRC32 of the transmitted data is calculated and appended to the protocol trailer. The CRC32 is a checksum; after the server or remote terminal receives the communication protocol, it can be used to verify data integrity. Optionally, to reduce the amount of data during user information synchronization, incremental data can be used for data synchronization. Data synchronization is only triggered when a user registers user permissions through the user terminal or changes registered user permissions, and data transmission is performed in incremental form.
[0072] In some embodiments, to improve the security of user information stored in the image forming apparatus, the user information can be securely backed up. Optionally, a dual-redundancy backup method can be adopted. The user information structure can point to different partitions in the storage medium of the image forming apparatus, or it can point to cross-storage (server, cloud, etc.). After confirming that the user permission registration request has passed or when it is necessary to change the permissions of a registered user, the updated user information can first be XORed in a loop to obtain information storage pairs. Then, the information storage pairs are written to the local storage medium of the image forming apparatus, and the corresponding hash value is recalculated and written to the storage medium. Then, the hash values of user information in cross-storage areas (user information stored in other partitions of the local storage medium and user information stored on the server, etc.) are verified. If the verification passes, the user information in cross-storage areas can be updated. Then, the hash value of the updated user information in cross-storage areas is recalculated and written to the cross-storage areas.
[0073] When user information stored in the image forming apparatus is abnormal, it can be recovered based on user information stored across different storage areas. Specifically, it can be first determined whether the user information in the different storage areas is normal. If the user information in the different storage areas is normal, the abnormal user information can be recovered based on the user information in the different storage areas. If the user information in the different storage areas is also abnormal, the user information can be initialized.
[0074] Corresponding to the above-described task processing method, this embodiment of the invention provides a schematic diagram of an image forming apparatus. For example... Figure 4 As shown, the image forming apparatus includes a resource control module 401 and a pre-scheduling module 402.
[0075] The resource control module 401 is used to determine the user permissions corresponding to the first task based on the user identification information of the first task.
[0076] The pre-scheduling module 402 is used to determine whether to prioritize the execution of the first job task based on the workload and user permissions of the first job task, as well as the workload and corresponding user permissions of each job task in the task queue. The task queue contains currently executing job tasks and job tasks waiting to be executed.
[0077] Figure 4 The image forming apparatus provided in the illustrated embodiment can be used to execute this specification. Figures 1-3 The implementation principle and technical effects of the method embodiment shown can be further referred to the relevant description in the method embodiment.
[0078] Figure 5 This is a schematic diagram of another image forming apparatus provided in an embodiment of the present invention, such as... Figure 5 As shown, the image forming apparatus described above may include a processor, a memory, and a computer program, wherein the computer program is stored in the memory and includes instructions that, when executed, cause the image forming apparatus to perform the functions described herein. Figures 1-3 The illustrated embodiment provides a job task processing method.
[0079] like Figure 5 As shown, the image forming apparatus is represented in the form of a general-purpose computing device. The components of the image forming apparatus may include, but are not limited to: one or more processors 510, a communication interface 520 and a memory 530, and a communication bus 540 connecting different system components (including the memory 530, the communication interface 520 and the processing unit 510).
[0080] The communication bus 540 represents one or more of several bus architectures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any of the various 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 Interconnect (PCI) bus.
[0081] Image forming apparatuses typically include a variety of computer-readable media. These media can be any available media that can be accessed by the image forming apparatus, including volatile and non-volatile media, and removable and non-removable media.
[0082] Memory 530 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) and / or cache memory. The image forming apparatus may further include other removable / non-removable, volatile / non-volatile computer system storage media. Memory 530 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the embodiments described herein.
[0083] A program / utility having a set (at least one) of program modules may be stored in memory 530. 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 typically perform the functions and / or methods described in the embodiments of this specification.
[0084] Processor 510 executes various functional applications and data processing by running programs stored in memory 530, such as implementing the functions described in this specification. Figures 1-3 The illustrated embodiment provides a job task processing method.
[0085] This specification provides a computer-readable storage medium storing computer instructions that cause a computer to execute this specification. Figures 1-3The illustrated embodiment provides a job task processing method.
[0086] The aforementioned computer-readable storage medium may be any combination of one or more computer-readable media. A computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium may be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), or flash memory, optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this document, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in connection with an instruction execution system, apparatus, or device.
[0087] The foregoing has described specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are possible or may be advantageous.
[0088] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this specification. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.
[0089] 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 technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this specification, "a plurality of" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0090] Any process or method described in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing custom logic functions or processes, and the scope of the preferred embodiments of this specification includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as will be understood by those skilled in the art to which the embodiments of this specification pertain.
[0091] Depending on the context, the word "if" as used here can be interpreted as "when," "when," "in response to determination," or "in response to detection." Similarly, depending on the context, the phrase "if determination" or "if detection (of the stated condition or event)" can be interpreted as "when determination," "in response to determination," "when detection (of the stated condition or event)," or "in response to detection (of the stated condition or event)."
[0092] It should be noted that the devices involved in the embodiments of this specification may include, but are not limited to, personal computers (PCs), personal digital assistants (PDAs), wireless handheld devices, tablet computers, mobile phones, MP3 displays, MP4 displays, etc.
[0093] In the several embodiments provided in this specification, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and 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. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0094] Furthermore, the functional units in the various embodiments of this specification can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or in a combination of hardware and software functional units.
[0095] The integrated units implemented as software functional units described above can be stored in a computer-readable storage medium. These software functional units, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, a connector, or a network device, etc.) or a processor to execute some steps of the methods described in the various embodiments of this specification. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0096] The above description is merely a preferred embodiment of this specification and is not intended to limit this specification. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this specification should be included within the scope of protection of this specification.
Claims
1. A method for processing job tasks, characterized in that, include: Based on the user identification information of the first task, determine the user permissions corresponding to the first task; The decision on whether to prioritize the execution of the first task is determined based on the workload of the first task, the user's permissions, and the workload and corresponding user permissions of each task in the task queue; wherein, the task queue contains tasks that are currently being executed and tasks that are waiting to be executed. The step of determining whether to prioritize the execution of the first task based on the workload of the first task and the user permissions, as well as the workload and corresponding user permissions of each task in the task queue, includes: If the user permission of the first job task is less than or equal to the user permission of the job task being executed, then a first ratio between the workload of the first job task and the workload of the job task being executed is determined. Based on the first ratio, determine whether to pause the currently executing task and immediately execute the first task.
2. The method according to claim 1, characterized in that, Determining whether to prioritize the execution of the first task based on the workload of the first task and the user permissions, as well as the workload and corresponding user permissions of each task in the task queue, includes: If the user permissions of the first job task are greater than the user permissions of the currently executing job task, then the currently executing job task is paused and the first job task is executed immediately.
3. The method according to claim 1, characterized in that, Determining whether to pause the currently executing task and immediately execute the first task based on the first ratio includes: If the first ratio is less than a preset threshold, then the currently executing task is paused and the first task is executed immediately; If the first ratio is greater than or equal to the preset threshold, the position of the first task in the task queue is determined based on the workload corresponding to the first task and the user permissions, as well as the workload and corresponding user permissions of the tasks waiting to be executed.
4. The method according to claim 1, characterized in that, Before determining whether to prioritize the execution of the first job task based on the workload of the first job task and the user permissions, as well as the workload and corresponding user permissions of each job task in the task queue, the method further includes: Determine whether the job type of the first job task is the job type matched by the corresponding user permissions; If the job type of the first job task is not a job type that matches the user's permissions, a first request is sent to the management terminal corresponding to the image forming apparatus. The first request is used to determine whether the first job task is allowed to be executed. Receive the response information to the first request sent by the management terminal; If the response message indicates that execution is not allowed, then the execution of the first job task will be cancelled.
5. The method according to claim 1, characterized in that, Based on the user identifier information of the first task, determine the user permissions corresponding to the first task, including: Locate the registered user permissions that are bound to the user identification information; The registered user permissions are determined as the user permissions corresponding to the first job task.
6. The method according to claim 5, characterized in that, The method further includes: Receive a user permission registration request, the user permission registration request including target user identification information and the user permission to be registered; Find the corresponding registerable user permissions based on the target user identification information; If the user permission requested for registration is a user permission included in the registerable user permissions, then the user permission registration request is determined to be successful, and the target user identification information and the user permission requested for registration are bound and stored.
7. An image forming apparatus, characterized in that, include: The resource control module is used to determine the user permissions corresponding to the first task based on the user identification information of the first task. The pre-scheduling module is used to determine whether to prioritize the execution of the first job task based on the workload of the first job task and the user permissions, as well as the workload and corresponding user permissions of each job task in the task queue; wherein, the task queue contains job tasks that are being executed and job tasks that are waiting to be executed. The pre-scheduling module is specifically used for: If the user permission of the first job task is less than or equal to the user permission of the job task being executed, then a first ratio between the workload of the first job task and the workload of the job task being executed is determined. Based on the first ratio, determine whether to pause the currently executing task and immediately execute the first task.
8. An image forming apparatus, characterized in that, include: The processor, memory, and computer program, wherein the computer program is stored in the memory, the computer program including instructions that, when executed, cause the image forming apparatus to perform the method of any one of claims 1-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, it controls the device on which the computer-readable storage medium is located to perform the method according to any one of claims 1-6.