Parallelized Batch Data Processing Workers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Enterprise computing environments face challenges in efficiently processing large or variably-sized sets of work items, leading to instability and inefficiency in data processing systems.

Innovation Solution

A computing platform initializes multiple processing workers to perform parallel processing of work items from a work queue database, dynamically scales worker availability based on workload, and uses machine learning to optimize processing parameters, ensuring efficient and effective data processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple processing workers perform parallel processing of work items, then processing speed and productivity improve, but system complexity and resource management difficulty increase

Engineering Contradiction:
Improveprocessing speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the work queue into multiple partitions and assigns each partition to a specific processing worker. This segmentation enables parallel processing across multiple workers while maintaining manageable complexity through clear division of labor. Each worker independently processes its assigned partition without interfering with other workers, thus improving productivity while controlling system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements dynamic worker availability management where workers can be dynamically added or removed from the pool based on workload conditions. The work queue database dynamically tracks worker availability status and redistributes work items accordingly. This dynamic approach allows the system to scale processing capacity flexibly, improving productivity when needed while maintaining manageable resource allocation.

Inventive Principle:
Principle #15Dynamics

2Reliability

If processing workers read and lock work items from the work queue database, then data consistency and reliability improve, but database access time and processing delay increase

Engineering Contradiction:
Improvedata consistencyVSAvoiddatabase access time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The work queue database is segmented into multiple partitions, each accessible by specific processing workers. This partitioning reduces contention for database locks because workers operate on different partitions simultaneously. The segmentation maintains data consistency within each partition while reducing overall database access time by enabling parallel read operations across multiple partitions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by having processing workers pre-fetch and lock work items from the work queue database before actual processing begins. Workers query the database to retrieve batches of work items and lock them in advance, reducing the frequency of database access operations during processing. This preliminary action maintains reliability through proper locking while minimizing database access time.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If the system dynamically scales worker availability based on workload, then adaptability and resource efficiency improve, but control complexity and monitoring overhead increase

Engineering Contradiction:
ImprovescalabilityVSAvoidcontrol complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms where the work queue database continuously monitors worker availability status and workload conditions. Based on this feedback, the system dynamically adjusts worker availability and redistributes work items. The feedback loop maintains adaptability by responding to changing conditions while managing control complexity through automated decision-making based on predefined criteria.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Processing workers autonomously manage their own availability status and work item retrieval without requiring complex centralized coordination. Workers independently query the work queue database for available work items and lock them for processing. This self-service approach improves adaptability by enabling workers to respond autonomously to workload changes while reducing control complexity by eliminating the need for intricate centralized management.

Inventive Principle:
Principle #25Self-service

4Productivity

If the system uses machine learning to optimize processing parameters, then processing efficiency and productivity improve, but computational overhead and system complexity increase

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidcomputational overhead
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system applies machine learning techniques selectively to optimize only the most critical processing parameters rather than attempting to optimize all parameters. This partial action approach improves processing efficiency for key bottlenecks while minimizing computational overhead by avoiding unnecessary machine learning computations for less critical parameters.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11789786B2Optimizing distributed and parallelized batch data processing
Publication Date: 2023.10.17 BANK OF AMERICA CORP
  • US11789786B2 patent drawing
  • US11789786B2 patent drawing
  • US11789786B2 patent drawing

AI summary

Aspects of the disclosure relate to providing and maintaining efficient and effective processing of sets of work items in enterprise computing environments by optimizing distributed and parallelized batch data processing. A computing platform may initialize at least two processing workers. Subsequently, the computing platform may cause a first processing worker to perform a first query on a work queue database and initiate parallel processing of a first set of work items. Thereafter, the computing platform may cause the second processing worker to perform a second query on the work queue database and initiate parallel processing of a second set of work items. In some instances, performing the second query on the work queue database comprises reading at least one work item that was read and locked by the first processing worker.