A task control system for high speed printing
By monitoring the load and task completion time in a high-speed printing system, calculating the back pressure hysteresis state index, establishing a compensation gain coefficient mapping relationship, and adjusting task scheduling and resource allocation, the problem of task completion time prediction deviation in the high-speed printing system was solved, and the system stability and throughput were improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHANGHAI RONGYUE ELECTRONIC TECH CO LTD
- Filing Date
- 2026-03-02
- Publication Date
- 2026-05-12
AI Technical Summary
Existing technologies cannot effectively quantify the complex historical memory effects caused by back pressure propagation and engine state switching in high-speed printing systems, resulting in deviations in the estimated task completion time and affecting system stability and throughput.
The status monitoring unit collects job queue load data and task completion time estimates, calculates the back pressure hysteresis state index, and establishes a mapping relationship with the system compensation gain coefficient through the parameter adjustment unit. The coordinating control unit adjusts the task scheduling order, rasterization processing parallelism, and cache resource quota, and optimizes the task completion time estimate by combining the data flow supply continuity index.
It effectively identifies back pressure lag in multi-task concurrent scenarios, improves the accuracy of task completion time prediction and the overall system throughput stability, and avoids capacity reduction and resource contention.
Smart Images

Figure CN121764422B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of task control technology, and more specifically, to a high-speed printing task control system. Background Technology
[0002] In production-level digital printing systems, the digital front-end (DFE) is responsible for interpreting and rasterizing the received job files into a bitmap data stream that the print engine can parse, which is then continuously supplied to the print engine for image output. To maximize production efficiency, modern DFEs typically employ a multi-core parallel processing architecture to address the challenges of high resolution and highly variable data volumes, and incorporate buffering mechanisms between the rasterization module and the print engine to smooth out fluctuations in the data stream.
[0003] However, in actual high-speed printing jobs, the printing engine is typically subject to cycle time constraints. If the upstream data supply rate falls below the engine's consumption rate, causing buffer underload, the printing engine often needs to slow down, pause, or reheat. This state transition results in significant productivity loss and recovery costs. Existing task control and scheduling technologies usually estimate completion time and formulate scheduling strategies based solely on the task size, priority, or submission time in the job queue. This static or instantaneous evaluation method based on the current snapshot may work in single-task or low-load environments, but it often fails in multi-task, high-concurrency scenarios. This is because multi-task concurrency triggers non-linear contention for memory bandwidth and cache resources, leading to sudden fluctuations in rasterization output.
[0004] More importantly, existing technologies ignore path dependence or hysteresis within the system: that is, the actual processing time required for the same workload differs drastically depending on whether the system is in a stable supply state or in a recovery state after an interruption. Because existing technologies cannot effectively quantify the complex historical memory effects caused by backpressure propagation and engine state switching, they often lead to significant deviations in estimated completion times. This deviation further misleads the scheduler, preventing it from taking conservative suppression measures at the critical point when data flow is about to interrupt, and potentially causing it to aggressively increase concurrency, exacerbating resource contention, and ultimately leading to the system frequently falling into a cycle of supply interruption and recovery, severely impacting overall throughput and system stability. Summary of the Invention
[0005] This invention provides a high-speed printing task control system, which solves the technical problems mentioned in the background art.
[0006] This invention provides a high-speed printing task control system, comprising:
[0007] The status monitoring unit is used to collect the load data of the job queue and the estimated task completion time output by the system, and calculate the back pressure hysteresis state index based on the mapping distribution of the load data and the estimated task completion time within the historical window.
[0008] The parameter adjustment unit is used to establish the mapping relationship between the back pressure hysteresis state index and the system compensation gain coefficient, and to generate the system compensation gain coefficient for the current control cycle.
[0009] The collaborative control unit is used to synchronously adjust the scoring weight of task scheduling and sorting, the parallelism of rasterization processing, and the cache resource quota in response to the system compensation gain coefficient; the collaborative control unit is also used to collect the real-time transmission rate and data stream supply continuity index of the data channel, and generate an updated estimated task completion time based on the system compensation gain coefficient.
[0010] The beneficial effects of this invention include: by establishing a mapping distribution relationship between job load and time estimate within a historical window, it effectively identifies back pressure lag caused by resource contention and supply interruption in multi-task concurrent scenarios; by utilizing continuous system compensation gain coefficients to synchronously adjust the aggressiveness of scheduling strategies, the concurrent scale of rasterization processing, and the resident quota of cache resources, it automatically suppresses task bursts and increases buffer absorption capacity when the system is in a high lag state, thereby avoiding the capacity reduction caused by supply interruption of downstream engines; at the same time, by introducing a data flow supply continuity index to correct the service rate, it eliminates the multi-valuedness and path dependence of single-dimensional estimate, significantly improving the accuracy of high-speed printing job completion time estimation and the stability of overall system throughput. Attached Figure Description
[0011] Figure 1 This is a flowchart of a high-speed printing task control system according to the present invention. Detailed Implementation
[0012] The subject matter described herein will now be discussed with reference to exemplary embodiments. It should be understood that these embodiments are discussed only to enable those skilled in the art to better understand and implement the subject matter described herein, and changes may be made to the function and arrangement of the elements discussed without departing from the scope of this specification. Various processes or components may be omitted, substituted, or added as needed in the examples. Furthermore, features described in some examples may be combined in other examples.
[0013] like Figure 1 As shown, a high-speed printing task control system includes:
[0014] The status monitoring unit is used to collect the load data of the job queue and the estimated task completion time output by the system, and calculate the back pressure hysteresis state index based on the mapping distribution of the load data and the estimated task completion time within the historical window.
[0015] The parameter adjustment unit is used to establish the mapping relationship between the back pressure hysteresis state index and the system compensation gain coefficient, and to generate the system compensation gain coefficient for the current control cycle.
[0016] The collaborative control unit is used to synchronously adjust the scoring weight of task scheduling and sorting, the parallelism of rasterization processing, and the cache resource quota in response to the system compensation gain coefficient; the collaborative control unit is also used to collect the real-time transmission rate and data stream supply continuity index of the data channel, and generate an updated estimated task completion time based on the system compensation gain coefficient.
[0017] Preferably, the load data of the collected job queue and the estimated task completion time output by the system include:
[0018] Step A: The status monitoring unit collects data on each pending task in real time. triplet data And transform it into a normalized feature vector. The calculation formula is as follows:
[0019]
[0020] in, The original data size of the task to be processed. The preset base data unit is fixed. , Equivalent data volume; The priority parameter for the task to be processed has a value range of [value range missing]. , These are relative priority values; This refers to the submission timestamp of the pending job task. This is the start time of the current control cycle. To control the cycle duration and fix it to be , These are relative time values;
[0021] Step B: The status monitoring unit is based on the current job queue set. Calculate the load data of the job queue. The calculation formula is as follows:
[0022]
[0023] in, This refers to the current set of job queues. The equivalent data volume of all the pending tasks in the middle. Perform cumulative summation;
[0024] Step C: The status monitoring unit reads the estimated task completion time output from the previous control cycle. If the current period is the first control cycle, the preset initial value is read.
[0025] The raw data size is the original data volume of the job to be processed, which can be obtained by receiving the task data packets reported by the client through the network interface.
[0026] Priority parameters indicate the urgency of pending tasks and can be obtained through client configuration or system preset rules.
[0027] The submission timestamp is a record of the time when a job task is submitted to the system, which can be obtained through the built-in timing module when the server receives the task.
[0028] The benchmark data volume unit is a reference standard used when normalizing the size of the original data. It is preferably 1 megabyte and is a commonly used standard for measuring data volume in the industry. It can achieve a unified scale conversion for task data of different sizes.
[0029] The start time of the current control cycle is the starting point of a single control cycle, which can be obtained through the system's built-in high-precision timing module.
[0030] The control cycle duration is a fixed time length for a single control cycle, preferably 1.0 second, to balance the real-time response speed of the system with the consumption of computing resources, and to avoid resource waste due to too short a cycle or response lag due to too long a cycle.
[0031] The estimated task completion time for the previous cycle is the predicted task completion time output by the system at the end of the previous control cycle.
[0032] The job queue load data is the sum of the equivalent data volume of all unfinished tasks in the current job queue, and is used to reflect the actual data processing pressure of the queue.
[0033] A normalized feature vector is a unified dimensional data carrier formed by combining equivalent data volume, relative priority values, and relative time values in a fixed order.
[0034] The normalization method for submission timestamps uses the start time of the current control period as the sole benchmark. The time difference between the submission timestamp and that start time is calculated, and then this difference is divided by the control period duration to obtain the relative time value. For example, if the start time of the current control period is 200 seconds, a task's submission timestamp is 200.8 seconds, and the control period duration is 1 second, then the relative time value for that task is 0.8. This method eliminates the differences in absolute time scales across different control periods, making the time characteristics of tasks submitted at different times horizontally comparable and avoiding interference from excessively large absolute time values in subsequent calculations.
[0035] The logic for constructing the normalized feature vector involves first normalizing the three core parameters individually, and then combining them. Specifically, the original data size is divided by the baseline data unit to obtain the equivalent data size; the priority parameter is divided by 9 to obtain the relative priority value; and the submission timestamp is converted to a relative time value using the above method. Finally, the three results are combined into a vector in the order of equivalent data size - relative priority value - relative time value. For example, if a task has an original data size of 6 megabytes, a priority of 3, and a submission timestamp 0.3 seconds later than the start time of the current control cycle, its equivalent data size is 6, its relative priority value is 0.3333, and its relative time value is 0.3. The corresponding normalized feature vector is the ordered combination of these three values. This process unifies original parameters of different dimensions and scales to the same standard, simplifying the calculation process of subsequent control logic and avoiding calculation deviations caused by differences in data scale.
[0036] The statistical rule for job queue load data is to only sum the equivalent data volume of all incomplete tasks in the current queue, excluding irrelevant factors such as the original data size unit and task type. For example, if there are three incomplete tasks in the current queue, with equivalent data volumes of 4, 2, and 3 respectively, the load data would be 9. This statistical method accurately focuses on the actual data processing load of the queue, eliminating interference from irrelevant factors.
[0037] The preset base data volume unit is preferably 1 megabyte. This value conforms to the industry practice of data measurement in the high-speed printing field and can reasonably convert task data of different sizes. For example, a task with an original data size of 4 megabytes has an equivalent data volume of 4.
[0038] The preset value range for priority normalization is 0 to 1. Since the value range of the priority parameter is fixed at 0 to 9, by dividing by 9, all priority parameters can be accurately mapped to this range. For example, when the priority is 9, the relative priority value is 1, and when the priority is 0, the relative priority value is 0.
[0039] The estimated completion time for the first control cycle is preferably 10 seconds. This value is based on the common processing time range of high-speed printing tasks and serves as an initial reference value when the system starts up. This ensures that the calculation process of the first control cycle proceeds normally and avoids system malfunctions due to missing initial values.
[0040] Preferably, based on the mapping distribution of the load data and the estimated task completion time within a historical window, the back pressure hysteresis state index is calculated, including:
[0041] Step D: The status monitoring unit maintains the historical window. This window contains recent The load data for each control cycle Compared with the estimated task completion time The data pairs are updated according to the following rules: ,in The preset window length is fixed at 60;
[0042] Step E: The status monitoring unit will process each data pair within the historical window. Mapping to a 2D grid index The mapping formula is:
[0043]
[0044]
[0045] in, The preset load capacity is divided into 10 buckets. The preset time estimate is divided into 10 tiers. This is the preset maximum load constant. This is the preset maximum display time constant; This indicates the floor function;
[0046] Step F: The state monitoring unit initializes a counting matrix with all zeros. Iterate through the historical windows to count the number of cases falling into the first... The load bucket and the first Sample count for each time period Then calculate the conditional probability distribution. With conditional entropy The calculation formula is as follows:
[0047]
[0048]
[0049] in, The preset stable minimum value is set to a value of [value]. ;
[0050] Step G: The state monitoring unit calculates the back pressure hysteresis state index. The calculation formula is as follows:
[0051]
[0052]
[0053] in, For the first Frequency weighting of each load bucket.
[0054] The historical window length is the number of historical samples used to store load data and task completion time prediction data pairs. It is preferably 60 to balance historical data coverage and system real-time response speed. 60 control cycles can fully capture system lag characteristics without generating data lag.
[0055] The maximum load threshold is the upper limit constraint value of the load data, preferably 2048 megabytes, which is the maximum capacity of a queue commonly found in high-speed printing systems and can cover the load range in multi-task concurrent scenarios.
[0056] The maximum time threshold is the upper limit constraint value of the estimated task completion time, preferably 600 seconds, which is a reasonable completion time range for high-speed printing tasks. Estimated values exceeding this value are meaningless for scheduling decisions.
[0057] The number of load buckets is the number of intervals into which the load data value range is divided. It is preferably 10 to balance the load differentiation resolution and computational efficiency, and to avoid too many buckets leading to sparse samples or too few samples leading to insufficient differentiation.
[0058] The number of time estimate tiers is the number of intervals into which the estimated task completion time is divided, preferably 10. The tiers are determined based on the same criteria as the number of load buckets to ensure the balance of the two-dimensional grid.
[0059] A counting matrix is a statistical matrix that records the frequency of data pairs falling into each two-dimensional grid within a historical window.
[0060] The conditional probability distribution is the frequency distribution of data pairs in each time interval within a single load bucket interval.
[0061] The conditional entropy value is a measure of the uncertainty of the conditional probability distribution corresponding to a single load bucket interval.
[0062] The load bucket weighting coefficient is the frequency of occurrence of a single load bucket interval within a historical window, used to balance the influence weights of different load intervals.
[0063] The back pressure hysteresis state index is obtained by weighted summation of the conditional entropy of each load bucket, and is a quantitative indicator characterizing the hysteresis state of the system.
[0064] The historical window management logic employs a first-in, first-out (FIFO) rule, storing only load data and task completion time estimates for the most recently defined number of control cycles. At the end of each control cycle, new data pairs for the current cycle are written to the window, while the oldest data pair is removed, ensuring the window always contains the most up-to-date historical samples. For example, if the historical window length is 60, and the current control cycle is 61, after writing the data pairs for cycle 61, the data pairs for cycle 1 are removed, leaving 60 data pairs from cycle 2 to cycle 61 within the window. This method accurately preserves historical information related to the current system state, avoiding outdated data from interfering with delayed quantization.
[0065] The logic for constructing the two-dimensional grid and calculating conditional entropy is as follows: First, the range of load data and time estimate values is divided into a set number of intervals according to the maximum load threshold and the maximum time threshold, forming a two-dimensional grid with intersecting horizontal and vertical axes. All data pairs within the historical window are traversed, and the number of times each data pair falls into each grid is counted, resulting in a counting matrix. For each load bucket interval, the frequency of falling into each time segment within that interval is divided by the total frequency of that load bucket to obtain the conditional probability distribution. Then, the Shannon entropy formula is substituted to calculate the conditional entropy of that load bucket. For example, if a load bucket has 10 data pairs falling into 3 time segments with frequencies of 5, 3, and 2, and the conditional probability distributions are 0.5, 0.3, and 0.2, the corresponding conditional entropy is the measure of uncertainty of this distribution, reflecting the degree of dispersion of time estimate values under the same load.
[0066] The backpressure hysteresis index is calculated by using the frequency of occurrence of each load bucket as a weighting coefficient, and then summing the conditional entropies of all load buckets. For example, if there are 10 load buckets, one bucket has a frequency of 0.2 and a corresponding conditional entropy of 1.5, while another bucket has a frequency of 0.3 and a corresponding conditional entropy of 1.2. The weighted entropy contributions of these two buckets are 0.3 and 0.36, respectively. The final index is obtained by summing the contributions of all buckets. This method integrates the hysteresis characteristics of different load ranges to generate a single quantitative index, rather than using the entropy value of a single load range in isolation, thus better reflecting the actual situation of the overall system hysteresis state.
[0067] The preset length is preferably 60, corresponding to 60 control cycles. Each control cycle lasts for 1.0 second. The historical window stores the load data and the estimated task completion time for the most recent 60 seconds, ensuring the timeliness and coverage of the historical samples.
[0068] There are 10 load bucket intervals and 10 time tier intervals. The load data is divided into 10 consecutive intervals based on the maximum load threshold, and the time estimate is divided into 10 consecutive intervals based on the maximum time threshold.
[0069] The preset maximum load threshold is preferably 2048 megabytes, and the maximum time threshold is preferably 600 seconds. When the load data exceeds 2048 megabytes, it is processed as 2048 megabytes; when the estimated time exceeds 600 seconds, it is processed as 600 seconds, to avoid interference from extreme values in the calculation results.
[0070] The preferred numerical stability minimum is 10 to the power of -12. This value is extremely small and does not affect the calculation accuracy. It is only used to avoid the case where the denominator is zero when calculating the conditional probability distribution.
[0071] Preferably, establishing the mapping relationship between the back pressure hysteresis state index and the system compensation gain coefficient includes:
[0072] Step H: The parameter adjustment unit uses the Sigmoid activation function to adjust the back pressure hysteresis state index. Mapped to the system compensation gain coefficient The calculation formula is as follows:
[0073]
[0074] in, Represents the natural exponential function; This is the preset first calibration parameter, used to set the basic offset, with a fixed value of 2; The second calibration parameter is a preset value used to set the hysteresis sensitivity slope, with a fixed value of 5; the system compensation gain coefficient It is a range of values The dimensionless scalar between them It is a sigmoid function.
[0075] The back pressure hysteresis index is calculated by mapping the load data and the estimated task completion time within a historical window. It is a quantitative indicator that characterizes the degree of system hysteresis.
[0076] The system compensation gain coefficient is a dimensionless coefficient obtained by transforming the back pressure hysteresis state index through a specific mapping relationship, and is used to modulate the subsequent control strategy.
[0077] The mapping relationship establishes a monotonically decreasing correlation between the back pressure hysteresis state index and the system compensation gain coefficient. As system hysteresis worsens and the back pressure hysteresis state index increases, the system compensation gain coefficient decreases synchronously, causing the control strategy to adjust towards conservatism. For example, when the system is in a low-hysteresis state, the back pressure hysteresis state index is 0.2, and the system compensation gain coefficient is 0.731. In this case, the control strategy is more aggressive to pursue efficiency. When system hysteresis intensifies, the back pressure hysteresis state index increases to 0.8, and the system compensation gain coefficient decreases to 0.018. The control strategy automatically switches to conservatism to suppress risk. This correlation precisely matches the correspondence between system state and control requirements.
[0078] The value range strictly limits the system compensation gain coefficient to an open interval between zero and one. This range avoids hard switching of control when the gain coefficient is equal to zero or one, preventing the system from jumping directly from extremely aggressive to extremely conservative, or vice versa. For example, if the gain coefficient is allowed to be zero, the control strategy will suddenly become completely conservative, leading to a sharp drop in task processing efficiency; if it is allowed to be one, it will suddenly become completely aggressive, exacerbating resource contention. Continuous values within the open interval allow for a smooth transition of the control strategy, ensuring the stability of system operation, while providing a continuously adjustable basis for subsequent multi-dimensional collaborative modulation.
[0079] The first calibration parameter is the basic offset parameter for constructing the inverse linear transformation relationship, preferably 2, so that the linear intermediate variable can be adapted to the effective input range of the subsequent sigmoid function, ensuring the mapping accuracy.
[0080] The second calibration parameter is the slope parameter for adjusting the degree of influence of the back pressure hysteresis state index, preferably 5, so as to balance the hysteresis sensitivity and avoid over-adjustment or untimely response.
[0081] The linear intermediate variable is the intermediate calculation result that connects the linear transformation and the nonlinear mapping, obtained by subtracting the product of the second calibration parameter and the back pressure hysteresis state exponent from the first calibration parameter.
[0082] The system compensation gain coefficient is a dimensionless coefficient generated after linear transformation and nonlinear operation, and its value ranges in the open interval between zero and one.
[0083] The inverse linear transformation relationship uses a first calibration parameter as a baseline value, scales the effect of the back pressure hysteresis state exponent using a second calibration parameter, and then subtracts this scaling result from the baseline value to obtain the linear intermediate variable. For example, if the back pressure hysteresis state exponent is 0.3, the first calibration parameter is 2, and the second calibration parameter is 5, the linear intermediate variable is 2 minus 5 multiplied by 0.3, which equals 0.5. This inverse design ensures that as the back pressure hysteresis state exponent increases, the linear intermediate variable decreases synchronously, providing a basis for the monotonically decreasing gain coefficient after subsequent nonlinear calculations, and accurately matching the correlation requirements between system hysteresis and control strategy.
[0084] The sigmoid function is chosen for nonlinear operations because it maps any input to a value between zero and one, preserving the trend of linear transformations while implementing smooth constraints. For example, when the linear intermediate variable is 0, the sigmoid function outputs 0.5; when it's 2, it outputs approximately 0.88; and when it's -2, it outputs approximately 0.12. This mapping ensures that the gain coefficient changes without abrupt changes, transitioning smoothly near the critical value, while strictly limiting its value range to avoid exceeding the adaptation interval of subsequent control logic, thus guaranteeing the stability and continuity of adjustment.
[0085] The first calibration parameter is preferably 2, and the second calibration parameter is preferably 5. This ensures that the back pressure hysteresis state exponent is within the common range of 0 to 0.8, and the linear intermediate variable falls between -2 and 2, which perfectly matches the sensitive mapping range of the S-shaped function, ensuring the adjustment accuracy and response speed of the gain coefficient.
[0086] The nonlinear operation is an S-shaped function, whose output is equal to one divided by one raised to the power of the negative input plus the natural exponent. The output of this function is sensitive when the input is between plus and minus two, and tends to stabilize when the input exceeds plus or minus five, perfectly adapting to the range of values of the linear intermediate variable.
[0087] Preferably, in response to the system compensation gain coefficient, the scoring weight of task scheduling and sorting, the parallelism of rasterization processing, and the cache resource quota are adjusted synchronously, including:
[0088] Step 1: The collaborative control unit calculates each job task to be processed. Hybrid scheduling score and execution probability The calculation formula is as follows:
[0089]
[0090]
[0091]
[0092] in, A basic scheduling score generated based on a predictive model; Score for conservative scheduling; These are the preset suppression coefficient, priority weight, and waiting weight, each with a fixed value. ; These are the equivalent data volume, relative priority value, and relative time value in the normalized feature vector of the task to be processed, respectively. The system compensation gain coefficient; The preset temperature coefficient has a fixed value. ; The highest mixed scheduling score in the current queue;
[0093] Step J: The collaborative control unit calculates the parallelism of the rasterization processing in the current control cycle. The calculation formula is as follows:
[0094]
[0095] in, and These are the preset minimum and maximum number of parallel threads, respectively, and are fixed values. and ; This indicates the floor function;
[0096] Step K: The collaborative control unit calculates the cache resource quota for the current control cycle. The calculation formula is as follows:
[0097]
[0098] in, and These are the preset minimum and maximum cache block counts, respectively, with fixed values. and .
[0099] The suppression coefficient is a penalty coefficient for the equivalent amount of data when calculating the conservative scheduling score. It is preferably 0.5 to balance the suppression of large tasks with processing efficiency, and to avoid excessive punishment leading to backlog of large tasks or insufficient punishment causing emergencies.
[0100] Priority weight is an amplification factor applied to the relative priority value when calculating the scheduling score. It is preferably 1 to highlight the impact of priority on scheduling order without obscuring the role of other features.
[0101] The waiting weight is a weighting coefficient for relative time values when calculating scheduling scores. It is preferably 0.1, which is a moderate consideration of task waiting time and avoids priority failure due to excessively high waiting weight.
[0102] The temperature coefficient is a parameter in the exponential normalization function that adjusts the sharpness of the distribution. It is preferably 0.5, which makes the execution probability both distinctive and not extreme, avoiding a certain task monopolizing resources or the resources being distributed too evenly.
[0103] The minimum number of parallel threads is the minimum number of threads allowed for rasterization processing, preferably 1, to ensure that the system can maintain basic processing capacity even under extreme lag conditions.
[0104] The maximum number of parallel threads is the maximum number of threads allowed for rasterization processing, preferably 8, to adapt to the multi-core hardware configurations common in high-speed printing systems and balance concurrency efficiency with resource contention.
[0105] The minimum number of cache blocks is the minimum number of blocks allowed by the cache resources, preferably 128, which corresponds to 32 megabytes, to meet the basic buffering requirements of the system and avoid data flow interruption due to insufficient cache.
[0106] The maximum number of cache blocks is the maximum number of blocks allowed by the cache resources, preferably 2048, corresponding to 512 megabytes, to cope with the buffering needs under high latency conditions and absorb data flow fluctuations.
[0107] The basic scheduling score is a scheduling priority score calculated based on the predicted service time of the task, reflecting the ideal processing priority of the task.
[0108] The conservative scheduling score is a scheduling priority score calculated based on normalized feature vectors, focusing on suppressing bursts and ensuring stability.
[0109] The hybrid scheduling score is a weighted sum of the basic scheduling score and the conservative scheduling score, which is used for subsequent execution probability calculation.
[0110] The execution probability is the task execution priority probability obtained by exponentially normalizing the hybrid scheduling score, and is used for resource allocation weight adjustment.
[0111] The parallelism of rasterization processing is the number of threads used for rasterization processing within the current control cycle, which determines the concurrency scale of rasterization processing.
[0112] Cache resource quota is the number of blocks allocated to the cache within the current control period, which determines the cache's ability to absorb fluctuations in data flow.
[0113] The dual-scoring system consists of a basic scheduling score based on predicted service time, biased towards efficiency optimization, and a conservative scheduling score based on equivalent data volume, relative priority, and relative time, biased towards stability suppression. The two scores are smoothly interpolated using a system compensation gain coefficient as weight. For example, when the system compensation gain coefficient is 0.8, the basic scheduling score has a weight of 0.8, and the conservative scheduling score has a weight of 0.2, indicating a scheduling bias towards efficiency. When the coefficient decreases to 0.2, the conservative scheduling score has a weight of 0.8, indicating a scheduling bias towards stability, automatically adapting to changes in system hysteresis.
[0114] The exponential normalization function transforms the hybrid scheduling score into an execution probability between 0 and 1, with the sum of all task probabilities equal to 1. The function takes the form of the exponentially normalized hybrid scheduling score of a single task divided by the sum of the exponentially normalized hybrid scheduling scores of all tasks. For example, if three tasks have hybrid scheduling scores of 3, 2, and 1, with a temperature coefficient of 0.5, their exponentially normalized scores would be approximately 40.3, 7.4, and 2.7, respectively, with execution probabilities of approximately 0.81, 0.15, and 0.04. This avoids the abrupt changes of traditional hard ordering, allowing for a smooth transition in resource allocation.
[0115] The rasterization parallelism is positively correlated with the system compensation gain coefficient, while the cache resource quota is negatively correlated with the system compensation gain coefficient. For example, a system compensation gain coefficient of 0.9 (low hysteresis) corresponds to a parallelism of approximately 8 and a cache quota of approximately 128 blocks, aiming for high concurrency efficiency; a coefficient of 0.1 (high hysteresis) corresponds to a parallelism of approximately 1 and a cache quota of approximately 2048 blocks, suppressing resource contention and enhancing buffering capacity. The two work inversely to form a synergy, precisely matching the system state.
[0116] The preset suppression coefficient is preferably 0.5, the priority weight is preferably 1, and the waiting weight is preferably 0.1. This allows the scheduling score to highlight both priority and waiting time, while also effectively suppressing large task bursts through conservative scoring during periods of high latency.
[0117] The preset temperature coefficient is preferably 0.5. This value allows the execution probability distribution to be balanced between centralized and average distribution, ensuring that high-priority tasks receive more resources without neglecting low-priority tasks.
[0118] The preset minimum number of parallel threads is preferably 1, and the preset maximum number of parallel threads is preferably 8. One thread ensures basic processing capacity, while eight threads adapt to mainstream multi-core hardware, covering concurrency requirements from low to high.
[0119] The preset minimum number of cache blocks is preferably 128, and the maximum number of cache blocks is preferably 2048. Each block is 256 kilobytes in size, corresponding to a cache capacity of 32 megabytes to 512 megabytes. This can meet the basic buffering needs under low load and cope with data flow fluctuations under high latency.
[0120] The exponential normalization function is the Softmax function. The specific calculation logic is to subtract the maximum mixed scheduling score of the current queue from the mixed scheduling score of each task, take the natural exponent, and then divide it by the sum of the exponent results of all tasks to avoid numerical overflow and ensure reasonable distribution.
[0121] Preferably, the real-time transmission rate and data stream supply continuity indicators of the data acquisition channel are collected, and an updated estimated task completion time is generated by combining the system compensation gain coefficient, including:
[0122] Step L: The collaborative control unit calculates the real-time transmission rate. The calculation formula is as follows:
[0123]
[0124] in, This represents the total amount of data successfully output within the current control cycle. The preset base data unit, To control cycle duration;
[0125] Step M: The collaborative control unit calculates the data stream supply continuity index. The calculation formula is as follows:
[0126]
[0127] in, For the time interval sequence of the most recent preset number of output blocks, The standard deviation of the sequence is . Let be the mean of the sequence. This is the preset stable minimum value;
[0128] Step N: The collaborative control unit calculates the hysteresis correction service rate. The calculation formula is as follows:
[0129]
[0130] in, The preset continuity penalty coefficient has a fixed value. ; The minimum service rate reduction percentage is preset and fixed at a value of [value missing]. ; The system compensation gain coefficient;
[0131] Step O: The collaborative control unit calculates the updated estimated task completion time. The calculation formula is as follows:
[0132]
[0133] in, This refers to the load data of the job queue. To prevent the minimum value from being divided by zero.
[0134] The total output data volume of the current control cycle is the total amount of data successfully transmitted to the printing engine within the current control cycle, which can be obtained through the output statistics interface of the data processing module.
[0135] The time interval sequence is a sequence of time differences between two adjacent data output blocks within a sliding window. It can be obtained by recording the timestamp of each output block using the system's built-in timing module.
[0136] The numerically stable minimum is a tiny constant used to avoid the denominator being zero during calculation. It is preferably 10 to the power of negative 9, which does not affect the normal calculation results and can ensure numerical stability.
[0137] The continuity penalty coefficient is a coefficient used to quantify the impact of data flow discontinuity on service rate. It is preferably 1.5 to balance the penalty of continuity on service rate and avoid being too lenient or too severe.
[0138] The minimum service rate reduction ratio is the lowest service rate percentage retained when the system latency is extremely high, preferably 0.3, to ensure that the basic data supply capacity can still be maintained under extreme conditions.
[0139] Real-time transmission rate is the equivalent amount of data output to the printing engine per unit time within the current control cycle, reflecting the real-time efficiency of data transmission.
[0140] The data stream supply continuity index is a quantitative value that characterizes the stability of data stream output; the smaller the value, the more continuous the data stream.
[0141] The continuity penalty is a service rate correction term calculated based on the data flow supply continuity index, used to penalize discontinuous data flow transmission.
[0142] The hysteresis reduction term is a service rate correction term calculated based on the system compensation gain coefficient, used to adapt to the system hysteresis state.
[0143] Hysteresis-corrected service rate is the actual effective service rate obtained by integrating real-time transmission rate, continuity penalty term and hysteresis reduction term, and reflects the true service capability of the system.
[0144] The division-to-zero minimum is a small constant used to avoid the denominator being zero when calculating the estimated task completion time. It is preferably 10 to the power of negative 9, which is consistent with the numerical stability minimum.
[0145] The updated task completion time estimates are calculated based on job queue load data and hysteresis correction service rate, reflecting the expected completion time of tasks under the current system conditions.
[0146] The continuity metric for data stream supply uses the coefficient of variation, which is the ratio of the standard deviation to the mean of the time interval series within a sliding window. For example, if the sliding window contains 50 output blocks, and the corresponding time interval series has a mean of 100 milliseconds and a standard deviation of 20 milliseconds, the metric would be 0.2. This method can accurately eliminate the influence of data volume and simply reflect the degree of fluctuation in output intervals, providing a more objective characterization of data stream stability than directly using the standard deviation.
[0147] Real-time transmission rate reflects basic transmission capacity, continuity penalty term corrects for the impact of discontinuous transmission, and hysteresis reduction term adapts to system hysteresis. For example, if the real-time transmission rate is 10 megabytes per second, the continuity index is 0.5, the continuity penalty coefficient is 1.5, the system compensation gain coefficient is 0.7, the minimum service rate reduction ratio is 0.3, the continuity penalty term is the natural exponent raised to the power of -0.75, approximately 0.472, and the hysteresis reduction term is 0.3 plus 0.7 multiplied by 0.7 equals 0.79. The final hysteresis-corrected service rate is approximately 10 multiplied by 0.472 multiplied by 0.79 equals 3.73.
[0148] The estimated task completion time is calculated by dividing the job queue load data by the hysteresis correction service rate, eliminating multiple values caused by path dependency. For example, for the same load data of 100 megabytes, the predicted value is 20 seconds if the hysteresis correction service rate is 5 megabytes per second under low hysteresis and 40 seconds under high hysteresis. The predicted value under different states can truly reflect the actual situation and avoid the confusion of multiple predicted values corresponding to the same load.
[0149] The preset continuity penalty coefficient is preferably 1.5, so as to reasonably penalize discontinuous data streams without excessively suppressing normal transmission efficiency.
[0150] The preset minimum service rate reduction ratio is preferably 0.3 to ensure that the system can maintain a basic service rate of 30% even under extreme lag conditions, thus avoiding a complete shutdown.
[0151] The preset stable minimum value and the minimum value to prevent division by zero are both preferably 10 to the power of -9. This value is extremely small and will not affect the normal calculation results. It is only used to avoid division by zero errors.
[0152] The sliding window contains the 50 most recent data output blocks. These 50 output blocks can balance data coverage and real-time performance, accurately capturing the continuity characteristics of recent data streams.
[0153] The continuity penalty term based on the natural exponential function is the product of the negative continuity penalty coefficient of the natural exponential and the continuity index of the data flow supply. For example, if the continuity penalty coefficient is 1.5 and the continuity index is 0.4, the penalty term is the natural exponential raised to the power of -0.6, approximately 0.549.
[0154] The embodiments of this example have been described above. However, this example is not limited to the specific implementation methods described above. The specific implementation methods described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms based on the guidance of this example, and all of them are within the protection scope of this example.
Claims
1. A high-speed printing task control system, characterized in that, include: The status monitoring unit is used to collect the load data of the job queue and the estimated task completion time output by the system, and calculate the back pressure hysteresis state index based on the mapping distribution of the load data and the estimated task completion time within a historical window, including: The status monitoring unit maintains a first-in-first-out queue of a preset length as a historical window. The historical window stores data pairs of the load data and the estimated task completion time for the most recent control cycles. In the current control cycle, the latest data pair is written into the historical window and the earliest data pair is removed. The status monitoring unit divides the range of load data into several load bucket intervals and the range of the estimated task completion time into several time intervals based on the preset maximum load threshold and maximum time threshold, and counts the frequency of data pairs falling into each two-dimensional grid formed by the load bucket interval and the time interval within the historical window. For each load bucket interval, the status monitoring unit calculates the conditional probability distribution of the distribution frequency of the data falling into it in each time interval, and calculates the conditional entropy value corresponding to the load bucket interval according to the Shannon entropy formula. The status monitoring unit counts the frequency of occurrence of each load bucket interval within the historical window as a weighting coefficient, and performs a weighted summation of the conditional entropy values corresponding to all load bucket intervals to obtain the back pressure hysteresis state index. The parameter adjustment unit is used to establish the mapping relationship between the back pressure hysteresis state index and the system compensation gain coefficient, and to generate the system compensation gain coefficient for the current control cycle. The collaborative control unit is used to synchronously adjust the scoring weight of task scheduling and sorting, the parallelism of rasterization processing, and the cache resource quota in response to the system compensation gain coefficient; the collaborative control unit is also used to collect the real-time transmission rate and data stream supply continuity index of the data channel, and generate an updated estimated task completion time based on the system compensation gain coefficient.
2. The high-speed printing task control system according to claim 1, characterized in that, Collect the load data of the job queue and the estimated task completion time output by the system, including: The status monitoring unit obtains the original data size, priority parameters, and submission timestamp of each pending job task in real time through a network interface. The status monitoring unit divides the original data size by a preset baseline data size unit to obtain an equivalent data size, normalizes the priority parameter to a relative priority value within a preset value range, and converts the submission timestamp into a relative time value relative to the start time of the current control cycle. Then, it combines the equivalent data size, relative priority value, and relative time value into a normalized feature vector for each task to be processed. The status monitoring unit traverses all unfinished pending tasks in the current job queue set, and accumulates the equivalent data volume of all pending tasks to obtain the load data of the job queue. Meanwhile, the status monitoring unit reads the estimated task completion time output by the collaborative control unit in the previous control cycle and stores it in the system memory.
3. The high-speed printing task control system according to claim 2, characterized in that, The parameter adjustment unit establishes a mapping relationship between the back pressure hysteresis state index and the system compensation gain coefficient. The mapping relationship is configured such that when the back pressure hysteresis state index increases, the system compensation gain coefficient decreases monotonically, and the value range of the system compensation gain coefficient is limited to an open interval between zero and one.
4. A high-speed printing task control system according to claim 3, characterized in that, Establish the mapping relationship between the back pressure hysteresis state index and the system compensation gain coefficient, and generate the system compensation gain coefficient for the current control cycle, including: The parameter adjustment unit is preset with a first calibration parameter and a second calibration parameter, which are used to construct an inverse linear transformation relationship; The parameter adjustment unit calculates the first calibration parameter minus the product of the second calibration parameter and the back pressure hysteresis state index to obtain a linear intermediate variable; The parameter adjustment unit uses the linear intermediate variable as the input independent variable and substitutes it into the S-shaped function for nonlinear calculation to obtain the system compensation gain coefficient.
5. A high-speed printing task control system according to claim 4, characterized in that, In response to the system compensation gain coefficient, the scoring weights for task scheduling, the parallelism of rasterization processing, and the cache resource quota are adjusted synchronously, including: The collaborative control unit obtains the predicted service time based on the normalized feature vector of each task to be processed, calculates the basic scheduling score based on the predicted service time, and calculates the conservative scheduling score based on the equivalent data volume, relative priority value and relative time value in the normalized feature vector of each task to be processed. The collaborative control unit uses the system compensation gain coefficient as the weight of the basic scheduling score, and the difference between one and the system compensation gain coefficient as the weight of the conservative scheduling score. It performs a weighted summation based on the weights of the basic scheduling score and the conservative scheduling score to obtain a hybrid scheduling score. It then converts the hybrid scheduling score into the execution probability of each pending task based on the exponential normalization function, thereby adjusting the score weights for task scheduling and ranking. The collaborative control unit performs linear interpolation calculations based on the preset minimum and maximum number of parallel threads, using the system compensation gain coefficient, and rounds the calculation results to the nearest integer, thereby determining the parallelism of the rasterization processing in the current control cycle. The collaborative control unit performs inverse linear interpolation calculation based on the preset minimum and maximum number of cache blocks, using the difference between one and the system compensation gain coefficient, and rounds the calculation result down to obtain the cache resource quota for the current control cycle.
6. A high-speed printing task control system according to claim 5, characterized in that, The system collects real-time transmission rate and data stream supply continuity indicators of the data acquisition channel, and combines these with the system compensation gain coefficient to generate an updated estimated task completion time, including: The collaborative control unit counts the total amount of data successfully output to the printing engine within the current control cycle, converts it into an equivalent data amount, and divides it by the control cycle duration to obtain the real-time transmission rate. The collaborative control unit records the time interval sequence between two adjacent data output blocks within a sliding window, calculates the ratio of the standard deviation to the mean of the time interval sequence, and obtains the data stream supply continuity index. The collaborative control unit calculates a continuity penalty term based on the natural exponential function using a preset continuity penalty coefficient and the data flow supply continuity index, and calculates a hysteresis reduction term using a preset minimum service rate reduction ratio and the system compensation gain coefficient; the collaborative control unit calculates the hysteresis correction service rate by multiplying the real-time transmission rate, the continuity penalty term, and the hysteresis reduction term together. The collaborative control unit divides the load data of the job queue by the hysteresis correction service rate to obtain the updated estimated task completion time.