Detailed Description
For the purposes of clarity, technical solutions and advantages of the present disclosure, the following further details the embodiments of the present disclosure with reference to the accompanying drawings.
It should be noted that, as a common office device, the working principle of the printer involves a plurality of links to cooperatively complete a print job. The main working links of the common printer are as follows:
Print job reception-the printer first receives print jobs sent by a computer or other device via an interface (e.g., USB, wi-Fi, bluetooth, etc.), which are typically in the form of digital files, including text, image, etc.
And (3) data processing and conversion, namely after receiving the print task, the printer processes the data and converts the data into a format which can be understood by the printer. This process includes parsing the file, converting the image or text into pixels, and so forth.
Printhead control the printhead of the printer is a critical component to performing a print job. The controller will send instructions to the printhead telling it where to start printing, how to move and when to eject ink or carbon powder.
Paper transport and positioning the printer will feed paper into the print zone by the paper transport mechanism before printing begins. The position of the paper needs to be precisely aligned to ensure that the printed text or image can appear accurately on the paper.
Ink/carbon powder spraying, in which the nozzle of the printing head can spray ink or carbon powder at proper position according to the instruction of the controller.
Image formation and curing-the ink or carbon powder sprayed onto the paper will form text or images. For an inkjet printer, the ink needs a certain time to dry and solidify, while for a laser printer, the carbon powder needs to be heated by a fixer to be fixed on the paper.
Cleaning and maintenance to maintain printer quality, the printer requires periodic cleaning and maintenance, e.g., the printhead requires periodic cleaning to prevent clogging, and the fuser also requires periodic cleaning to prevent residue from affecting printing.
And after the printing is finished, the paper is sent out of the printer through an output mechanism. The user may take the printed paper directly or send it to other equipment for subsequent processing (e.g., copying, stapling, etc.).
In summary, the principle of operation of a printer is a complex and elaborate process involving the coordinated operation of multiple links and components.
Referring to fig. 1, fig. 1 is an optional program architecture diagram when a printer executes a print job, in some printers, a processing module of the printer first performs data input and output through an input/output interface, such as a USB or Network or UDi (UnifiedDisplayInterface ), and in some scenarios, the input interface receives the print job, and then performs data processing on the print job by using a language interpreter, such as PCL (PrinterCommandLanguage, printer control language) or PCLXL (PrinterCommandLanguageExtraLarge, print control language enhancement), to convert the print job into a command in a format that can be understood by the printer, thereby realizing control of the printer.
Specifically, the PCLXL language interpreter parses the web page through PostscriptLevel's interpreter, parses PDF, or parses the picture, etc. The method comprises the steps of analyzing web pages, PDFs or pictures presented on a computer into commands in a format which can be understood by a printer, and further realizing printing of the printer through a job management and printer control system. Further, through the output interface, for example, UDi interface, data such as a printer status may appear through a panel display of the printer, for example, a print completion status or print failure information is displayed through the printer panel.
In the embodiment of the invention, the printer cooperatively completes the printing work by at least two processing modules.
Fig. 2 is a flow chart of a collaborative printing processing method provided in an embodiment of the present invention, referring to fig. 2, the embodiment of the present invention provides a collaborative printing processing method, which is applied to a printer, wherein the printer includes a first processing module, a second processing module, and a printer module, and the method includes:
step 201, the first processing module in a first state monitors a printing instruction;
Step 202, after the first processing module monitors the printing instruction, waking up a second processing module in a second state and storing the printing instruction into a first cache space;
it should be noted that, the power consumption of the second processing module in the first state is lower than the power consumption of the second processing module in the first state; the first cache space is a shared cache space of the first processing module and the second processing module;
and 203, the second processing module entering the first state reads the printing instruction from the first buffer space and controls the printer module to execute the printing task corresponding to the printing instruction.
It should be noted that the states of the processing module may include, but are not limited to, a normal operation state, a standby state, a fault state, and a sleep state.
In a normal working state, the processing module of the printer can perform printing operation according to preset parameters and instructions, the printed content is clear and accurate, and the printing speed is stable.
Under the fault condition, the processing module of the printer may have the problems of unclear printing, slow printing speed, paper jam and the like, and at this time, the processing module needs to be checked and maintained in time so as to ensure that the printing module can recover to a normal working state.
In the standby state, the processing module of the printer does not perform printing operation, but remains connected to the computer or other devices so as to receive printing instructions at any time.
In the sleep state, the power consumption of the processing module of the printer is reduced, and the response speed is also slowed.
It will be appreciated that the standby state is typically a power management mode, primarily for power saving, in which power is required to be always on, and if power is removed midway, memory data before standby will not be saved. The standby state can be used for closing the monitor, the hard disk, the fan and other devices, so that the whole system is in a low-energy consumption state. When the processing module is reused, it will quickly exit the standby mode and accurately return to the on-standby state. The sleep state is a state in which all data in the memory is transferred to a sleep file on the hard disk, and then the power is turned off or cut off. As with normal shutdown, it automatically and accurately restores all work to the off state, and when recovery is needed, the processing module will read data from the hard disk and load the data into the memory, and some time is needed, usually about 1 minute or even longer, depending on the size of the memory and the speed of the hard disk. The sleep state ensures secure storage of data without loss even in the event of a power interruption. In general, the standby state is more suitable for a short time of pause use, and the sleep state is more suitable for a long time of non-use or a situation in which data security needs to be ensured.
In the embodiment of the present invention, the first state may be a normal working state, and the second state may be understood as a sleep state or a standby state. It should be understood that the power consumption of the second processing module in the normal working state is greater than that of the first processing module in the normal working state. Illustratively, the first processing module may be understood as a small-core processor, and the second processing module may be understood as a large-core processor, which is the main processor in performing the above-described print job.
In the embodiment of the invention, the second processing module enters a normal working state after being awakened, and reads the printing instruction from the first buffer space by the second processing module in the normal working state, and controls the printer module to execute the printing task corresponding to the printing instruction.
In addition, it should be noted that, the shared cache space is a shared memory of the first processing module and the second processing module.
Illustratively, if the second state is a standby state, the step 203, that is, the second processing module entering the first state, reads the print instruction from the first cache space, includes:
The second processing module entering the first state directly reads the printing instruction from the first buffer space.
Illustratively, if the second state is the sleep state, the step 203, that is, the second processing module entering the first state, reads the print instruction from the first cache space, includes:
The second processing module entering the first state firstly writes the printing instruction in the hard disk storage space into the first cache space, and then reads the printing instruction from the first cache space so as to execute the printing instruction based on the first cache space.
In some embodiments, the printer is integrated with a System-on-Chip (SOC) module that can integrate the entire contents of the complete System as well as embedded software on one Chip, thereby helping the printer to achieve more complex printing needs. It should be noted that, the SOC (SystemonChip, system-on-chip) module refers to a system-on-chip module integrated with a core control function of the printer, and is responsible for coordinating and managing print tasks, data processing, communication interfaces, and interaction operations with a user, etc. of the printer. The printer can receive instructions from a user or a computer, and control hardware components such as a printing head, a paper transmission mechanism and the like of the printer through internal processing logic to realize the printing output of the document. In an embodiment of the present invention, the first processing module and the second processing module may be two processing modules integrated in an SOC module.
The SOC module includes, for example, a CPU and an MCU (MicrocontrollerUnit, micro control unit) or a microprocessor module, which communicate with each other and with a print control ASIC (ApplicationSpecificIntegratedCircuit, application specific integrated chip) through a data bus. The CPU and MCU cooperatively process the print job.
It should be added that the SOC may be connected to the user terminal, and configured to receive a print instruction carrying a print task sent by the user terminal. Here, the user terminal generally refers to a device directly operated by a user, such as a smart phone, a tablet computer, a computer, and the like. Or the SOC may be connected to other printing devices, and configured to receive a print instruction carrying a print job sent by the other printing devices.
The print command is monitored by the first processing module in a normal working state. Illustratively, the first processing module in a normal operating state listens for print requests from a computer or other device through a data connection of the printer, where the data connection may include, but is not limited to, a USB data connection, a Bluetooth data connection, an infrared data connection, or a Wi-Fi data connection.
It should be noted that the print job usually exists in the form of a data packet, which includes the content, format and other relevant parameters that need to be printed. For example, including but not limited to printing of documents, printing of images, printout of specific formats such as PDF, JPG, etc., black and white printing, color printing, or paper printing of various sizes and materials. It will be appreciated that the print job is primarily dependent upon the specific needs of the user.
According to the embodiment of the invention, the first processing module with lower power consumption monitors the printing instruction, so that the overall power consumption of the printer is reduced, and the printing instruction is switched to the printing processing of the printing instruction by the second processing module with higher power consumption through a shared buffer space, namely the first buffer space after the printing instruction is monitored, so that the overall power consumption of the printer is reduced while the printing quality is ensured, the energy consumption of the printer is saved, the service life of the printer is prolonged, and the like.
In some embodiments, the method may further comprise:
Step 204, after waking up the second processing module, the first processing module starts monitoring the state of the second processing module and/or the printer module;
and 205, executing the printing abnormality processing operation when the second processing module or the printer module is abnormal.
It should be noted that the state of the second processing module may be a fault state, and the state of the printer module may also be a fault state. It will be appreciated that the method further comprises:
and when the condition that the state of the second processing module and/or the printer module is the fault state is monitored, determining that the second processing module or the printer module is abnormal.
Specifically, the state of the second processing module may include, but is not limited to, a state of a data parsing program of the second processing module. The data analysis program is used to analyze a print job corresponding to a print instruction into a format that can be understood by a printer. The data parsing program can be used for realizing the working link of the printer for data processing and conversion. While the state of the data parser may be a normal state or an abnormal state, it is understood that the anomalies of the data parser may include, but are not limited to, data format errors, data type mismatches, data deletions or outliers, encoding or decoding errors, file read-write anomalies, network connection anomalies, parse logic errors, resource limitations or timeouts, etc.
Here, the printer module may be understood as an execution module that executes a data format that can be understood by a printer, for example, to implement a printing head control module, a paper transport module, an ink/carbon powder ejection module, an image forming and curing module, and the like, including but not limited to. Illustratively, the printer module may include a print control ASIC (ApplicationSpecificIntegratedCircuit, application specific integrated chip) that typically performs printing after processing the data by the processing module, illustratively integrated with a print control system as shown in FIG. 1.
Specifically, the state of the printer module may include, but is not limited to, the state of a printer driver for driving the respective hardware of the printer. The printer driver may be used to implement at least one of the above-described printer "print head control", "paper transport and positioning", "ink/toner ejection", and "image formation and curing". While exceptions to the printer driver may include, but are not limited to:
driver files are damaged-the driver files may be damaged for various reasons, such as virus infection, disk failure, etc., causing the printer to fail to operate properly.
Operating systems are incompatible and compatibility problems may exist between the printer driver and the operating system. This may be due to version mismatch or a system update that results in a driver not running. Different printers require different drivers, and some operating systems may not be compatible with some drivers, especially in the case of older versions of operating systems or newer printers.
The driver is installed incorrectly, and when the driver is installed by the user, the printer will not work properly if the installation is incorrect. This is often the case when the user is unfamiliar with the installer or does not operate as prompted.
Printer connection problems-if the printer connection is abnormal, such as connection line damage, interface looseness, etc., it may also cause the driver to fail to operate properly. The printer connection failure includes whether the connection line is firmly connected, whether the USB port is damaged or blocked, and whether the printer is in a normal operating state.
The abnormality of the print driver is a system problem of the printer module.
In other embodiments, the status of the printer module may also include the status of the individual printer hardware, e.g., ink/toner status, paper status, etc. It is understood that anomalies in printer hardware include, but are not limited to, hardware failures such as paper jams, paper-free, ink-free, etc.
In some embodiments, the step 205, that is, when the second processing module or the printer module is abnormal, performs a print abnormality processing operation, including:
and when the second processing module or the printer module is monitored to be abnormal, sending an abnormal indication to the second processing module, determining a printing fault by the second processing module according to the abnormal indication, and feeding back the printing fault.
Therefore, the embodiment of the invention not only can reduce the overall power consumption of the printer while ensuring the printing quality, save the energy consumption of the printer, improve the service life of the printer and the like, but also can discover anomalies in time based on the cooperation of a plurality of processing modules to process the anomalies, reduce the use times of the printer in the anomaly state and further improve the service life of the printer.
In some embodiments, referring to fig. 3, fig. 3 is another flow chart of a collaborative printing processing method according to some embodiments of the present invention, the step 203, that is, the second processing module entering the first state reads a printing instruction from the first buffer space, controls the printer module to execute a printing task, includes:
step 2031, a second processing module entering a first state analyzes a print job corresponding to the print instruction to obtain print data;
step 2032, writing the print data into a second buffer space, wherein the second buffer space is a shared storage space of the first processing module and the second processing module;
step 2033, splitting the print data and distributing the print data.
The second cache space can also be a shared memory space of the first processing module and the second processing module, and the address of the second cache space is different from the address of the first cache space, and the functions are also different.
In the embodiment of the invention, the printing data is written into the second buffer space, namely, the printing data is placed in the shared storage space, so that the first processing module and the second processing module can conveniently carry out cooperative processing on the printing data, and a favorable basis is provided for the cooperative processing of the printing data by the first processing module and the second processing module.
In some embodiments, the splitting the print data and distributing the print data in step 2033 includes splitting the print data according to a splitting policy and distributing the split print data to the first processing module and the second processing module for collaborative processing. The distributing the print data to the first processing module and the second processing module for cooperative processing may include the first processing module and the second processing module reading the print data correspondingly distributed from the second buffer space for cooperative processing.
The above-described embodiments can improve the printing speed, and find printing abnormality or the like in advance.
The splitting policy includes, but is not limited to splitting based on at least one of data volume, data type, processing logic, etc. It can be understood that the distributed quantity is positively correlated with the power consumption of the processing module in the first state, the required power consumption corresponding to the distributed quantity type is positively correlated with the power consumption of the processing module in the first state, and the processing logic comprises a processing priority which is also positively correlated with the power consumption of the processing module in the first state.
Illustratively, the larger the data amount of the distributed print data, the more power consumption is processed by the second processing module of the first state. It should be appreciated that the data types of the print data include, but are not limited to, text types and image types, and that the amount of power consumption required for the image type is greater than the amount of power consumption required for the text type. Illustratively, in the case where the data type of the distributed print data is image data, the processing is performed by the second processing module in the first state, which consumes more power. Illustratively, the higher the priority of the print data, the more power consumption is handled by the second processing module of the first state.
Therefore, the printing data is split and distributed to the two processing modules for cooperative processing, so that the printing processing speed can be improved, and a favorable basis can be provided for sensing abnormality in advance.
In some embodiments, to determine a print failure as soon as possible, the method further comprises:
After waking up the second processing module, the first processing module processes the print task corresponding to the received print instruction to obtain a first task and a second task, wherein the first task and the second task are combined to form the print task, and the first processing module sends the second task to the second processing module;
Step 2031, that is, the second processing module entering the first state parses the task corresponding to the print instruction to obtain print data, includes:
The second processing module entering the first state analyzes the second task to obtain second printing control information;
The method further comprises the steps of:
analyzing the first task by the first processing module to obtain first printing control information;
The first processing module sends the first printing control information to the second processing module, and the second processing module preprocesses the first printing control information to determine first printing condition information in the preprinting process; the second processing module performs preprocessing on the second printing control information and determines second printing condition information in the pre-printing process;
If the first printing condition information or the second printing condition information indicates abnormality, the second processing module sends an abnormality indication to the first processing module, and after the first processing module receives the abnormality indication, a printing fault is determined according to the first printing condition information and the second printing condition information, and the printing fault is fed back.
Therefore, the printing abnormality can be known in advance by splitting the printing task and cooperatively processing the printing task by the first processing module and the second processing module, so that the printing abnormality can be obtained in advance, the problems of poor printing quality and the like caused by the abnormality in the formal printing process are reduced, and a powerful guarantee is provided for improving the printing quality.
It should be noted that the print control information refers to a series of instructions and data obtained by parsing the print job by the first processing module or the second processing module, where the instructions and data are mainly determined by the print job and include, but are not limited to, page layout and format information, such as page size, margin, paper direction (transverse or longitudinal) setting of the print document, which instructs the printer how to arrange the print content on the paper, text and image data, such as data of text, image or other graphic elements to be printed, which are transmitted to the printer in a specific format and coding manner, so that the printer can accurately restore the content of the original document, color and print quality settings, including selection of print colors (e.g. black and white or color), print quality (e.g. resolution, print speed, etc.), print order and print order (e.g. single-sided or double-sided document) setting, control information also includes user-specified print order and print order (e.g. special instructions of single-sided or double-sided documents), and print pages, and other print pages, possibly including some header print instructions, and other print pages. In summary, the print control information is generated by a print job, and the print job demanded by the user is parsed into language information in which the printer can perform a print operation.
Taking a laser printer as an example, in some embodiments, the print control information is transmitted to each printing component of its corresponding laser printer, e.g., the print control information includes text including parameters such as font, size, and the like, and the number of prints, etc., and the print control information calculates the layout of the text on the photosensitive drum by the second processing module, determines the start and end positions of each character, and the required toner amount. The second processing module transmits the printing control information to the photosensitive drum, the photosensitive drum starts preheating to reach the temperature suitable for printing, meanwhile, the rotation speed and the position are adjusted according to the control signal, the scanning of the laser beam is ready to be received, the second processing module transmits the printing control information to the laser head, the laser beam scans on the photosensitive drum according to the appointed path and speed to form an electrostatic latent image corresponding to text content, the second processing module transmits the printing control information to a toner box, the toner box confirms the state and the supply quantity of the toner according to the font size and the printing content, the second processing module transmits the printing control information to the paper conveying mechanism, confirms the number of paper sheets in a paper sheet input tray, the paper sheet size and the like, the paper sheets are sent to the printer from the input tray, the printing content is ready to be received, and meanwhile, the fact that new paper sheets can be automatically sent to print for the second part after the first part is printed is ensured. If the print control information contains double-sided print contents, it is checked whether the paper conveying mechanism reversing function or the like is normal.
The printing status information includes, but is not limited to, consumable information such as paper status, ink/carbon status, etc., printing progress, printing quality, and operating status information of each module of the printer such as printer ambient temperature, fixer preheating temperature, laser control unit, printer main motor, etc.
In some embodiments, the print status information is typically presented to the user through a display screen of the printer, a printer software interface on the computer, or specialized printer management software. For example, the printing condition information comprises paper state information, display paper sufficiency, display paper shortage, display paper jam and display paper jam, wherein the display paper sufficiency indicates that the number of paper sheets in the paper sheet input tray is enough to complete a current printing task, the display paper shortage indicates that the number of paper sheets in the paper sheet input tray is insufficient to complete the current printing task, the paper sheets need to be added, and the display paper sheets are jammed, and the printer encounters obstruction in the paper feeding process, the paper sheets cannot normally pass, and paper jam needs to be cleared.
The ink/carbon powder information indicates that the ink is sufficient, indicates that the ink amount in the ink box is sufficient to complete the current printing task, indicates that the ink amount in the ink box is low, indicates that the ink box needs to be replaced, indicates that the ink is used up, and indicates that the ink in the ink box is used up, and indicates that the ink box needs to be replaced immediately to continue printing.
The printing quality information shows that the printing quality is normal, the printed document is clear and bright in color and accords with the expected effect, the printing quality is poor, the printed document has the problems of blurring, uneven color and the like, and the printing setting or consumable replacement may need to be adjusted.
Fault prompting and displaying a fault code of specific hardware, namely that a certain hardware component (such as a power supply, a sensor, a motor and the like) in the printer has faults and needs to be maintained or replaced.
The preprocessing may refer to detecting a normal hardware state, such as a printhead, an ink cartridge, a paper conveying mechanism, etc., when the print control information is not received, or may refer to detecting a parameter corresponding to the print control information, such as a number of sheets, an ink jet amount, etc., corresponding to the print control information, when the second control logic circuit including the second processing module receives the first print control information or the second print control information, and ensuring the working state thereof.
Here, the preprocessing may also be a preprocessing, which generally refers to a series of preparation and setting works performed before the formal printing, including, but not limited to, typesetting of documents, formatting, selection of fonts and sizes, setting of printing parameters, and the like. Through the pre-printing process, a user can ensure that the printed document meets the expected effect, so that paper and ink are prevented from being wasted, and the printing efficiency is improved.
Note that the main difference between the pre-print process and the print process is that the pre-print is a series of preparation and setting works before the formal print, and the main attention is directed to document processing and parameter setting before the print. The printing process refers to a process of converting electronic files or data contents into paper output by using a printer, and mainly focuses on the actual output, i.e., converting a processed document into a physical paper form by using the printer.
In this embodiment, the performance of the print job (e.g., printing speed, consumable usage) is evaluated by preprocessing, that is, including. According to the evaluation result, the printing control information can be optimized to improve the printing efficiency or save the cost.
In the above embodiment, the first processing module and the second processing module cooperatively analyze the print job, and the abnormal condition of the printer, particularly the abnormal condition of the hardware, is determined in advance by the preprocessing mode, so that the abnormality of the formal printing process can be reduced.
It should be noted that, after step 205, the first processing module in the first state is responsible for monitoring the abnormality of the second processing module and the printer module in the formal printing process, so that the second processing module is not required to separate a part of power consumption for monitoring, and the second processing module can be utilized more greatly, thereby effectively improving the printing speed and the printing quality.
In other embodiments, the step 202 of waking up the second processing module in the second state and storing the print instruction in the first buffer space after the first processing module monitors the print instruction includes:
after the first processing module monitors the printing instruction, determining the task quantity of the printing task corresponding to the printing instruction;
If the task quantity of the printing task corresponding to the printing instruction is larger than the task quantity threshold, waking up the second processing module in the second state and storing the printing instruction in the first buffer space.
Illustratively, the task volume threshold herein is determined by the power consumption available to the first processing module in the first state, it being understood that the power consumption available to the first processing module in the first state is positively correlated to the task volume threshold. Of course, in other embodiments, the task amount threshold may be set empirically, and in other embodiments, the task amount threshold may be dynamically determined according to the duration of use, the memory condition, etc. of the first processing module.
In other embodiments, the method further comprises:
And if the task quantity of the printing task corresponding to the printing instruction is smaller than or equal to the task quantity threshold, controlling the printer module to execute the printing task corresponding to the printing instruction by the first processing module in the first state according to the printing instruction.
Illustratively, the controlling, by the first processing module, the printer module to execute the print job corresponding to the print instruction according to the print instruction includes:
and the first processing module controls the printer module to execute the printing task corresponding to the printing instruction by utilizing the first printing drive of the first processing module according to the printing instruction.
According to the embodiment, through comparing the task quantity of the printing task, when the task quantity is smaller than the task quantity threshold, namely the task quantity is smaller, the first processing module is directly used for printing, the use of the second processing module is reduced, and therefore the overall power consumption of the printer is saved. That is, in the above embodiment, by adding a wake-up condition, that is, only when the print job number is greater than the job number threshold, the second processing module in the second state is woken up, so that the overall power consumption of the printer is further saved.
In some embodiments, the controlling the printer module to execute the print job corresponding to the print instruction by using the first print driver of the first processing module includes:
and calling a second printing drive by using the first printing drive of the first processing module, and controlling the printer module to execute the printing task corresponding to the printing instruction.
In some embodiments, the first print driver of the first processing module does not directly control the printer module to execute the print job corresponding to the print instruction.
In some embodiments, the first print driver is a virtual print driver, and the second print driver is a print driver of the printer, where the second print driver is connected to the printer module and is configured to control the printer module to execute a print job corresponding to the print instruction.
In some embodiments, the first print driver has the same package as the second print driver, but only integrates a function or interface for invoking the second print driver to control the printer module.
Illustratively, the first print driver invokes a second print driver, including related functions and/or interfaces of print control of the first print driver invoking the second print driver.
It should be noted that, the first print driver of the first processing module is a virtual driver, which is mainly used for controlling the printer module to execute the print task corresponding to the print instruction by calling the second print driver, that is, the real print driver, through the virtual driver of the first processing module under the condition that the second processing module is abnormal.
In the above embodiment, the first processing module is used to control the printer module to execute the print job corresponding to the print instruction by the first print driver of the first processing module, that is, by introducing a virtual driver. Thereby providing an advantageous basis for the first processing module and the second processing module to realize collaborative printing.
In other embodiments, the method further comprises:
If the print job quantity corresponding to the print instruction is smaller than or equal to the job quantity threshold, determining a print mode corresponding to the print instruction;
If the printing mode corresponding to the printing instruction is a color printing mode, waking up the second processing module in the second state and storing the printing instruction in the first cache space.
It will be appreciated that in a color print mode, the printer will print a document using different colors of ink or carbon powder, thereby generating a document containing multiple colors. It is necessary for the processing module of the printer to know not only where ink is required to be ejected but also what color of ink is required to be ejected, and therefore, the power consumption of the processing module required for the color printing mode is greater than that required for the black-and-white printing mode in the same number of printing pages.
In the above embodiment, by comparing the task amounts of the print tasks and determining the print mode, the second processing module is still awakened to perform print processing by the second processing module under the condition that the task amounts are smaller than the task amount threshold but the print mode is also the color print mode, so as to ensure the print quality and the print speed. That is, in the above embodiment, by adding another wake-up condition, even if the print job number is less than or equal to the job number threshold, but the print mode is the color print mode, the second processing module in the second state is still woken up, so that the print quality and the print speed are ensured.
In some embodiments, if the print job size corresponding to the print instruction is less than or equal to the job size threshold, determining a print mode corresponding to the print instruction;
And if the printing mode corresponding to the printing instruction is a black-and-white mode, the first processing module in the first state controls the printer module to execute the printing task corresponding to the printing instruction according to the printing instruction.
According to the embodiment, by comparing the task quantity of the printing task, when the task quantity is smaller than the task quantity threshold and the printing mode is the black-and-white mode, the first processing module is directly used for printing, so that the use of the second processing module is reduced, and the overall power consumption of the printer is saved. That is, in the above embodiment, by adding a wake-up condition, that is, waking up the second processing module in the second state under the condition that the print job number is greater than the job number threshold and the print mode is the black-and-white print mode, the overall power consumption of the printer is further saved while the print quality is ensured.
In some embodiments, referring to fig. 4, in step 205 of fig. 2, when an abnormality of the second processing module or the printer module is detected, a print abnormality processing operation is performed, including:
Step 2051, when the engine monitoring program in the first processing module monitors that the second processing module or the printer module is abnormal, feeding back an abnormal signal to the first printing drive in the first processing module;
step 2052, the first print driver of the first processing module sends an abnormal feedback signal to the second print driver of the second processing module according to the abnormal signal;
step 2053, the second print driver of the second processing module performs a print exception handling operation based on the exception feedback signal.
The engine monitoring program is introduced into the first processing module, so that the first processing module can monitor the condition of the second processing module or the printer module in executing the printing task corresponding to the printing instruction, and thus, the abnormality can be fed back in time. In this embodiment, the first processing module may send the exception signal to the second print driver of the second processing module, so as to facilitate in time suspending the operation of the second processing module and reduce the exception expansion.
In some embodiments, the step 2053, that is, the second print driver of the second processing module performs a print exception handling operation based on an exception feedback signal, includes:
The second printing driver of the second processing module determines first pointer information of a first data packet currently executed by the second processing module based on the abnormal feedback signal, and stores the first pointer information in a third cache space, wherein the third cache space is a shared storage space of the first processing module and the second processing module;
and the first processing module reads the first pointer information from the third buffer space, and continues to execute the printing task by using the first printing drive according to the address of the first data packet indicated by the first pointer information.
It will be appreciated that the third buffer space herein may be a hard disk space so that there is sufficient space for storing intermediate data during data processing.
In some embodiments, the third buffer space may also be a memory space, and in order to not affect the running speed, in this embodiment, pointer information indicating the data storage address is stored in the content space, so as to reduce occupation of the memory space, and improve system performance, thereby improving the printing speed.
In addition, after the second print driver of the second processing module obtains the abnormal feedback signal, the first pointer information of the first data packet currently executed by the second processing module is determined, so that the storage address of the first data can be found through the first pointer information, and then the first processing module which is not abnormal replaces the second processing module to process the following data. Therefore, repeated processing of data can be reduced, waiting for abnormality of the second processing module is reduced, various processing resources are fully utilized, and printing speed is improved.
It will be appreciated that the second buffer space includes the address of the first data packet.
Illustratively, the first processing module reads the first pointer information from the third buffer space, and continues to execute the print job with the first print driver according to the address of the first data packet indicated by the first pointer information, including:
the first processing module reads the first pointer information from the third cache space, and acquires a first data packet according to the address of the first data packet indicated by the first pointer information in the second cache space;
The first processing module reads the printing instruction from the first buffer space, and uses the first printing driver to call a function or interface of the second printing driver to continue to execute the printing task based on the first data packet.
It should be noted that, the function or the interface of the second print driver may directly control the printer module, and a communication protocol is provided between the function or the interface and the printer module. In this embodiment, when the second processing module is abnormal, the virtual driver, that is, the second print driver, may still call the function or the interface of the second print driver having the communication protocol with the printer module to continue to execute the print job, so as not to affect the print speed.
In this way, by implementing that the second processing module is abnormal by means of the shared memory space, the virtual driver introduced in the first processing module can call the first printing driver, so as to temporarily replace the second processing module to execute the printing task on the printing instruction stored in the shared space and the printing data corresponding to the printing instruction stored in the shared space.
In other embodiments, the method further comprises:
in the process that the second printing drive of the second processing module executes printing exception handling operation based on an exception feedback signal, the engine monitoring program of the first processing module continues to monitor the state of the second processing module or the printing module;
When the engine monitoring program of the first processing module monitors the abnormal recovery, determining second pointer information of a second data packet which is being executed by the first processing module, and storing the second pointer information in a fourth cache space, wherein the fourth cache space is a shared storage space of the first processing module and the second processing module;
And the second processing module reads the second pointer information from the fourth cache space and continues to execute the print task by utilizing the second print driver according to the address of the second data packet indicated by the second pointer.
The fourth buffer space may be a hard disk space.
In some embodiments, the fourth buffer space may also be a memory space, so that, in order not to affect the printing processing speed, the fourth buffer space may be used to store pointer information of the processed data packet, so that a corresponding data packet may be found according to the pointer information. And because the second processing module and the first processing module share the storage space, the second processing module can find the second data packet according to the second pointer information, so that the printing task can be continuously executed by using the second printing drive.
In some embodiments, the anomaly feedback signal may also be transmitted to a user interface or display screen of the printer via a suitable communication interface, such as the output interface described above. Thus, a user or an administrator can intuitively see the abnormal situation and perform corresponding processing according to the abnormal feedback signal. After receiving the abnormal feedback, the user or administrator can perform fault removal or take other appropriate measures according to the provided information. When the abnormality feedback signal indicates a hardware abnormality, such as an abnormality of paper shortage, etc., paper may be added by a user or administrator to overcome the abnormality, and when the abnormality feedback signal indicates a system abnormality, abnormality processing may be performed by starting a corresponding abnormality processing program.
In the above embodiment, after the abnormality of the second processing module is recovered, the subsequent print job is still submitted to the second processing module with higher power consumption for printing processing, so that the printing quality can be further ensured while the printing speed is improved.
Embodiments of the present invention may be implemented by a single embodiment, which may be detachable, or may be implemented by a combination of any one or more embodiments.
Specifically, referring to fig. 5, fig. 5 is an interactive flow chart of a system print processing method according to some embodiments of the present invention, as shown in fig. 5:
step 51, analyzing the print task to obtain print data;
The PDL/PDLXL language interpreter analyzes the printing task to obtain printing data. It should be noted that the PDL/PDLXL language interpreter may be integrated in the first processing module or in the second processing module.
Step 52, extracting data packets and rendering print data according to the data packets so that the printer can understand and execute the print task;
And a rendering task which can split the print data into a plurality of data packets and render the print data so as to sequentially execute the print task to the second print driver according to the sequence of the data packets.
Step 53, controlling the printer module to execute the print task according to the print data;
the second printing execution controls the printer module to execute the printing task according to the printing data.
Step 52 and step 53 may be understood as step 203 described in the foregoing embodiments, that is, the second processing module entering the first state reads the print command from the first buffer space, and controls the print module to execute the print task corresponding to the print command.
Step 54, sending an abnormal signal;
Here, the engine of the first processing module monitors and monitors that the second processing module or the printer module is abnormal, and sends an abnormal signal to the first print driver of the first processing module, where step 54 may be understood as step 2051 described above.
Step 55, sending an abnormal feedback signal;
Here, the first print driver of the first processing module sends an abnormal feedback signal to the second print driver of the second processing module. Step 55 here may be understood as step 2052 described above.
Step 56, the second print driver calls the function or interface of the first print driver;
Here, the second print driver, that is, the virtual driver, calls the function or the interface of the first print driver, so that the function or the interface of the second print driver is used to control the printer module to execute the print job corresponding to the print instruction.
Step 57, storing pointer information of the data packet currently being processed in a third buffer space;
Step 57 may be understood as determining, based on the abnormal feedback signal, the first pointer information of the first data packet currently being executed by the second processing module by the second print driver of the second processing module according to the above embodiment.
Step 58, finding the pointer information of the data packet when the abnormality occurs from the third buffer space, thereby determining the position of the data packet when the abnormality occurs;
and step 59, utilizing a function or an interface of the second printing drive to control the printer module to continue to execute the printing task according to the position of the data packet when the abnormality occurs.
Step 58 and step 59 may be understood as that the first processing module reads the first pointer information from the third buffer space, and continues to execute the print job by using the first print driver according to the address of the first data packet indicated by the first pointer information.
In the above embodiment, the engine monitoring of the first processing module is used to monitor the second processing module and the printer module, and in case of monitoring an abnormality, the first processing module is used to replace the second processing module to continue executing the print job when the second processing module is abnormal based on the shared storage space of the first processing module and the second processing module, that is, the third buffer space, so that the print speed is not affected in case of abnormality occurrence, and the print speed can be improved.
In order to achieve the above objective, an embodiment of the present invention further provides a collaborative printing processing device, which includes a first processing module, a second processing module, and a printer module, please refer to fig. 6, fig. 6 is a schematic diagram of a composition structure of the collaborative printing processing device according to some embodiments of the present invention, the device includes:
A first monitoring module 61, configured to monitor a print instruction by using the first processing module in a first state;
The wake-up module 62 is configured to wake up a second processing module in a second state and store the print instruction in a first buffer space after the first processing module monitors the print instruction, where the power consumption of the second processing module in the second state is lower than the power consumption of the second processing module in the first state, the power consumption of the first processing module in the first state is lower than the power consumption of the second processing module in the first state, and the second processing module enters the first state after being waken up, where the first buffer space is a shared buffer space of the first processing module and the second processing module;
the reading and controlling module 63 is configured to read the print instruction from the first buffer space by using the second processing module that enters the first state, and control the printer module to execute a print job corresponding to the print instruction;
A second monitoring module 64, configured to, after waking up the second processing module, enable the first processing module to monitor a status of the second processing module and/or the printer module;
And an execution module 65, configured to execute a print abnormality processing operation when an abnormality of the second processing module or the printer module is detected.
In some embodiments, the read and control module 63 may also be used to:
the second processing module entering the first state analyzes the printing task corresponding to the printing instruction to obtain printing data;
writing the printing data into a second cache space, wherein the second cache space is a shared storage space of the first processing module and the second processing module;
Splitting the print data and distributing the print data.
In some embodiments, the first wake-up module 62 may also be configured to:
after the first processing module monitors the printing instruction, determining the task quantity of the printing task corresponding to the printing instruction;
and if the task quantity of the printing task corresponding to the printing instruction is larger than a task quantity threshold, waking up a second processing module in a second state and storing the printing instruction in the first cache space.
In some embodiments, the apparatus further comprises:
and the control module is used for controlling the printer module to execute the printing task corresponding to the printing instruction according to the printing instruction by the first processing module in the first state if the task quantity of the printing task corresponding to the printing instruction is smaller than or equal to the task quantity threshold.
In some embodiments, the apparatus further comprises:
the determining module is used for determining a printing mode corresponding to the printing instruction if the printing task quantity corresponding to the printing instruction is smaller than or equal to the task quantity threshold;
and the third awakening module is used for awakening the second processing module in the second state and storing the printing instruction in the first cache space if the printing mode corresponding to the printing instruction is a color printing mode.
In some embodiments, the execution module 65 is further configured to:
when the engine monitoring program in the first processing module monitors that the second processing module or the printer module is abnormal, an abnormal signal is fed back to the first printing drive in the first processing module;
The first printing driver of the first processing module sends an abnormal feedback signal to the second printing driver of the second processing module according to the abnormal signal;
And the second printing drive of the second processing module executes printing exception handling operation based on the exception feedback signal.
In some embodiments, the control module is further to:
The second printing driver of the second processing module determines first pointer information of a first data packet currently being executed by the second processing module based on the abnormal feedback signal, and stores the first pointer information in a third cache space, wherein the third cache space is a shared storage space of the first processing module and the second processing module;
And the first processing module reads the first pointer information from the third buffer space, and continues to execute the print task by using the first print driver according to the address of the first data packet indicated by the first pointer information.
In some embodiments, the apparatus further comprises:
The third monitoring module is used for continuously monitoring the state of the second processing module or the printer module by an engine monitoring program in the first processing module in the process that the second printing drive of the second processing module executes the printing exception handling operation based on the exception feedback signal;
The determining processing module is used for determining second pointer information of a second data packet being executed by the first processing module when the engine monitoring program of the first processing module monitors abnormal recovery, and storing the second pointer information in a fourth cache space, wherein the fourth cache space is a shared storage space of the first processing module and the second processing module;
and the execution processing module is used for reading the second pointer information from the fourth cache space by the second processing module and continuously executing the printing task by using the second printing drive according to the address of the second data packet indicated by the second pointer information.
It should be noted that the description of the above print processing apparatus item is similar to the description of the above collaborative print processing method item, and the description of the beneficial effects of the same method is omitted. For technical details not disclosed in the embodiments of the print processing apparatus according to the embodiments of the present invention, please refer to a description of the embodiments of the collaborative print processing method according to the embodiments of the present invention.
As shown in fig. 7, the printer comprises a processor 71 and a memory 72 connected with the processor 71 through a communication bus, wherein the memory 72 is used for storing a printing processing program, the processor 71 is used for executing the collaborative printing processing program so as to realize the collaborative printing processing method steps of any scheme applied to the printer, and the first processing module in a first state monitors a printing instruction;
After the first processing module monitors the printing instruction, waking up a second processing module in a second state and storing the printing instruction in a first cache space, wherein the power consumption of the second processing module in the second state is lower than that of the second processing module in the first state, the power consumption of the first processing module in the first state is lower than that of the second processing module in the first state, the second processing module enters the first state after being woken up, and the first cache space is a shared cache space of the first processing module and the second processing module;
the second processing module entering the first state reads the printing instruction from the first cache space and controls the printer module to execute a printing task corresponding to the printing instruction;
After waking up the second processing module, the first processing module starts monitoring the state of the second processing module and/or the printer module;
and executing printing abnormality processing operation when the second processing module or the printer module is monitored to be abnormal.
The processor 71 is configured to execute the second processing module entering the first state, read the print instruction from the first buffer space, and control the printer module to execute an operation program of a print job, so as to obtain print data by the second processing module entering the first state parsing the print job corresponding to the print instruction;
writing the printing data into a second cache space, wherein the second cache space is a shared storage space of the first processing module and the second processing module;
Splitting the print data and distributing the print data.
Here, the processor 71 is configured to execute the operation program that wakes up the second processing module in the second state and stores the print instruction in the first buffer space after the first processing module monitors the print instruction, so as to implement the following:
after the first processing module monitors the printing instruction, determining the task quantity of the printing task corresponding to the printing instruction;
and if the task quantity of the printing task corresponding to the printing instruction is larger than a task quantity threshold, waking up a second processing module in a second state and storing the printing instruction in the first cache space.
Here, the processor 71 executes an operation program of the collaborative printing process to realize the following:
And if the task quantity of the printing task corresponding to the printing instruction is smaller than or equal to the task quantity threshold, controlling the printer module to execute the printing task corresponding to the printing instruction by the first processing module in the first state according to the printing instruction.
Here, the processor 71 executes an operation program of the collaborative printing process to realize the following:
if the print job quantity corresponding to the print instruction is smaller than or equal to the job quantity threshold, determining a print mode corresponding to the print instruction;
and if the printing mode corresponding to the printing instruction is a color printing mode, waking up a second processing module in a second state and storing the printing instruction in the first cache space.
Here, the processor 71 is configured to execute the operation program for executing the print abnormality processing operation when the second processing module or the printer module is monitored to be abnormal, so as to realize the following:
when the engine monitoring program in the first processing module monitors that the second processing module or the printer module is abnormal, an abnormal signal is fed back to the first printing drive in the first processing module;
The first printing driver of the first processing module sends an abnormal feedback signal to the second printing driver of the second processing module according to the abnormal signal;
And the second printing drive of the second processing module executes printing exception handling operation based on the exception feedback signal.
Here, the processor 71 is configured to execute an operation program of the second print driver of the second processing module to execute a print abnormality processing operation based on the abnormality feedback signal to realize the following:
The second printing driver of the second processing module determines first pointer information of a first data packet currently being executed by the second processing module based on the abnormal feedback signal, and stores the first pointer information in a third cache space, wherein the third cache space is a shared storage space of the first processing module and the second processing module;
And the first processing module reads the first pointer information from the third buffer space, and continues to execute the print task by using the first print driver according to the address of the first data packet indicated by the first pointer information.
Here, the processor 71 executes an operation program of the collaborative printing process to realize the following:
In the process that the second printing drive of the second processing module executes printing exception handling operation based on the exception feedback signal, the engine monitoring program in the first processing module continues to monitor the state of the second processing module or the printer module;
When the engine monitoring program of the first processing module monitors abnormal recovery, determining second pointer information of a second data packet being executed by the first processing module, and storing the second pointer information in a fourth cache space, wherein the fourth cache space is a shared storage space of the first processing module and the second processing module;
And the second processing module reads the second pointer information from the fourth cache space, and continues to execute the print task by utilizing the second print driver according to the address of the second data packet indicated by the second pointer information.
Alternatively, the processor 71 may be a general purpose processor, a digital signal processor (DigitalSignalProcessor, DSP), an application specific integrated circuit (ApplicationSpecificIntegratedCircuit, ASIC), a field programmable gate array (FieldProgrammableGateArray, FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component. Here, the program executed by the processor 71 may be stored in the memory 72 connected to the processor 71 via a communication bus, and the memory 72 may be a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memories. Wherein, the nonvolatile memory can be read-only memory (ROM, readOnlyMemory), programmable read-only memory (PROM, programmableRead-only memory), erasable programmable read-only memory (EPROM, erasableProgrammableRead-only memory), electrically erasable programmable read-only memory (EEPROM, electricallyErasableProgrammableRead-only memory), and memory cell, magnetic random access memory (FRAM, ferromagneticrandomaccessmemory), flash memory (flash memory), magnetic surface memory, compact disk or compact disk-only memory (CD-ROM, compactDiscRead-only memory), which may be magnetic disk memory or magnetic tape memory. the volatile memory may be a random access memory (RAM, randomAccessMemory) that acts as an external cache. By way of example, and not limitation, many forms of RAM are available, such as static random access memory (SRAM, staticRandomAccessMemory), synchronous static random access memory (SSRAM, synchronousStaticRandomAccessMemory), dynamic random access memory (DRAM, dynamicRandomAccessMemory), synchronous dynamic random access memory (SDRAM, synchronousDynamicRandomAccessMemory), Double data rate synchronous dynamic random access memory (DDRSDRAM, doubleDataRateSynchronousDynamicRandomAccessMemory), enhanced synchronous dynamic random access memory (ESDRAM, enhancedSynchronousDynamicRandomAccessMemory), synchronous dynamic random access memory (SLDRAM, syncLinkDynamicRandomAccessMemory), Direct memory bus random access memory (DRRAM, directRambusRandomAccessMemory). The memory 72 described in embodiments of the present invention is intended to comprise, without being limited to, these and any other suitable types of memory 72. The memory 72 in the embodiment of the present invention is used to store various types of data to support the operation of the processor 71. Examples of such data include any computer programs for operation by the processor 71, such as an operating system and application programs, contact data, phonebook data, messages, pictures, videos, etc. The operating system includes various system programs, such as a framework layer, a core library layer, a driver layer, and the like, for implementing various basic services and processing hardware-based tasks.
In some embodiments, the memory 72 in embodiments of the present invention may be volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory. The nonvolatile memory may be a Read-only memory (ROM), a programmable Read-only memory (ProgrammableROM, PROM), an erasable programmable Read-only memory (ErasablePROM, EPROM), an electrically erasable programmable Read-only memory (ElectricallyEPROM, EEPROM), or a flash memory, among others. The volatile memory may be a random access memory (RandomAccessMemory, RAM) that acts as an external cache. By way of example, and not limitation, many forms of RAM are available, such as static random access memory (STATICRAM, SRAM), dynamic random access memory (DYNAMICRAM, DRAM), synchronous dynamic random access memory (SynchronousDRAM, SDRAM), double data rate synchronous dynamic random access memory (DoubleDataRateSDRAM, DDRSDRAM), enhanced synchronous dynamic random access memory (ENHANCEDSDRAM, ESDRAM), synchronous link dynamic random access memory (SYNCHLINKDRAM, SLDRAM), and direct memory bus random access memory (DirectRambusRAM, DRRAM). The memory 72 of the systems and methods described herein is intended to comprise, without being limited to, these and any other suitable types of memory.
And processor 71 may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the above method may be performed by integrated logic circuitry in hardware or instructions in software in the processor 71. The processor 71 may be a general purpose processor, a digital signal processor (DigitalSignalProcessor, DSP), an application specific integrated circuit (ApplicationSpecificIntegratedCircuit, ASIC), an off-the-shelf programmable gate array (FieldProgrammableGateArray, FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component. The disclosed methods, steps, and logic blocks in the embodiments of the present invention may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present invention may be embodied directly in the execution of a hardware decoding processor, or in the execution of a combination of hardware and software modules in a decoding processor. The software modules may be located in a random access memory, flash memory, read only memory, programmable read only memory, or electrically erasable programmable memory, registers, etc. as well known in the art. The storage medium is located in a memory 72 and the processor 71 reads the information in the memory 72 and in combination with its hardware performs the steps of the method described above.
In some embodiments, the embodiments described herein may be implemented in hardware, software, firmware, middleware, microcode, or a combination thereof. For a hardware implementation, the processing units may be implemented within one or more application specific integrated circuits (ApplicationSpecificIntegratedCircuits, ASIC), digital signal processors (DigitalSignalProcessing, DSP), digital signal processing devices (DSPDEVICE, DSPD), programmable logic devices (ProgrammableLogicDevice, PLD), field programmable gate arrays (Field-ProgrammableGateArray, FPGA), general purpose processors, controllers, microcontrollers, microprocessors, other electronic units configured to perform the functions described herein, or a combination thereof.
For a software implementation, the techniques described herein may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The software codes may be stored in a memory and executed by a processor. The memory may be implemented within the processor or external to the processor.
Yet another embodiment of the present invention provides a computer-readable storage medium storing an executable program that, when executed by the processor 71, implements steps of an operating method of a print process applied to the endpoint device or server. Such as one or more of the methods shown in fig. 1 or fig. 2 or fig. 3.
In some embodiments, the computer storage media may include a U disk, a removable hard disk, a read-only memory (ROM, readOnlyMemory), a random access memory (RAM, randomAccessMemory), a magnetic or optical disk, and other various media that may store program code.
The technical schemes described in the embodiments of the present invention may be arbitrarily combined without any conflict.
The foregoing description is only of the preferred embodiments of the present invention, and is not intended to limit the scope of the present invention.