| CPC G06F 9/485 (2013.01) [G06F 9/4881 (2013.01); G06F 9/5038 (2013.01); G06F 9/542 (2013.01); G06F 9/544 (2013.01)] | 16 Claims |

|
1. A method for processing a workflow, the method comprising:
receiving, by processing circuitry, workflow information of the workflow;
generating, based on the workflow information, the workflow to process input data, the workflow including a plurality of processing tasks and a plurality of buffering tasks, the plurality of processing tasks including a first processing task, a second processing task, and a third processing task, the plurality of buffering tasks including a first buffering task and a second buffering task; and
sequentially processing, by the plurality of processing tasks, a subset of the input data by
causing the first processing task to enter a first running state in which the subset of the input data is processed by the first processing task and output to the first buffering task as first processed subset data;
causing the first processing task to transition from the first running state to a first paused state based on an amount of the first processed subset data stored in the first buffering task being equal to a first threshold, state information of the first processing task being stored in the first paused state;
after the first processing task is transitioned to the first paused state, causing the second processing task to enter a second running state in which the first processed subset data stored in the first buffering task is processed by the second processing task and output to the second buffering task as second processed subset data;
causing the second processing task to transition from the second running state to a second paused state based on one of (i) an amount of the second processed subset data stored in the second buffering task being equal to a second threshold and (ii) the amount of the first processed subset data stored in the first buffering task being provided to the second processing task, state information of the second processing task being stored in the second paused state; and
after the second processing task is transitioned to the second paused state, causing the third processing task to enter a third running state in which the second processed subset data stored in the second buffering task is processed by the third processing task, the first processing task, the second processing task, and the third processing task being different video processing tasks.
|