Computational Task Subflow Queue Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computational task processing methods are inefficient due to the need to restart from the beginning if a failure occurs in one subflow, leading to resource waste and prolonged processing times.

Innovation Solution

A method and apparatus that store input data of each subflow in a queue, allowing for concurrent processing and enabling each task processing thread to proceed immediately after completing one piece of input data, without waiting for previous subflows to finish, and adjusting the number of concurrent threads based on processing time to optimize resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple subflows are executed according to time order, then processing reliability is maintained, but processing time increases and efficiency decreases

Engineering Contradiction:
Improveprocessing reliabilityVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-storing input data of each subflow in a queue before actual processing begins. This allows the system to prepare data in advance for concurrent subflows, so when a subflow needs to be executed, its input data is already available, eliminating the need to wait for previous subflows to complete and enabling parallel execution while maintaining data availability and processing reliability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the computational task into multiple independent subflows, each with its own input data queue. This segmentation allows different subflows to be processed concurrently rather than sequentially, improving processing efficiency while maintaining the integrity of each subflow's data through dedicated queues

Inventive Principle:
Principle #1Segmentation

2Productivity

If concurrent processing of multiple tasks is implemented, then processing efficiency is improved, but resource waste increases when failures occur

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidcomputational resource waste
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent applies preliminary action by pre-storing input data for each subflow in separate queues before concurrent processing begins. If a failure occurs in one subflow, the system can restart only that specific subflow using its pre-stored input data from the queue, rather than restarting all subflows from the beginning. This minimizes computational resource waste while maintaining the efficiency benefits of concurrent processing

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements discarding and recovering by allowing failed subflows to be discarded and restarted independently using recovered pre-stored input data from queues. This enables the system to recover from failures without losing the input data of other subflows, reducing overall resource waste while maintaining concurrent processing efficiency

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS10146588B2Method and apparatus for processing computational task having multiple subflows
Publication Date: 2018.12.04 TENCENT TECHNOLOGY (SHENZHEN) CO LTD
  • US10146588B2 patent drawing
  • US10146588B2 patent drawing
  • US10146588B2 patent drawing

AI summary

A method and an apparatus for processing a computational task is described. The method may include obtaining a computational task that includes multiple subflows. The method includes storing input data of a current subflow of the computational task in a queue and obtaining first input data from the queue and performing data processing according to logic corresponding to the current subflow. The method includes determining whether to enter a next subflow according to a result of the data processing, and, if a result enters a next subflow, storing the result of the data processing in another queue as input data of a next subflow of the current subflow.