Data Processing Pipeline Data Loss Detection Using Interval Counters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Online systems face inaccuracies in determining metrics for sponsored content due to data loss in data processing pipelines, which can occur due to failures or logic errors, leading to incomplete or inaccurate reports on user interactions.

Innovation Solution

The online system implements a data processing pipeline that includes timestamping data items and using counters to track input and output data items at each time interval, allowing for detection of data loss by comparing input and output counters, and reprocessing lost data items through the pipeline.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data processing pipelines are used to process large amounts of data quickly, then productivity is improved, but data loss may occur leading to measurement precision deterioration

Engineering Contradiction:
Improvedata processing speedVSAvoidmetric accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system performs preliminary actions by generating expected output data from input data using the same processing logic before actual processing occurs. This expected output is then used for subsequent comparison to detect any data loss that may have occurred during processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback by comparing the actual output data from the processing pipeline against the previously generated expected output data. This feedback mechanism identifies discrepancies indicating data loss and triggers corrective actions to regenerate accurate metrics.

Inventive Principle:
Principle #23Feedback

2Productivity

If data processing pipelines distribute operations among multiple components, then productivity is improved, but reliability deteriorates due to potential component failures

Engineering Contradiction:
Improvedata processing throughputVSAvoiddata processing reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system uses feedback by continuously monitoring the output of distributed processing components and comparing it against expected results. When component failures or data loss are detected through this feedback loop, the system can identify the specific failed component and trigger appropriate recovery actions.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system introduces an intermediary verification layer that sits between the distributed processing components and the final output. This intermediary layer validates data integrity by comparing actual outputs with expected outputs, isolating the effects of component failures and enabling targeted recovery without affecting the entire system.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If data loss detection mechanisms are implemented, then measurement precision is improved, but device complexity increases

Engineering Contradiction:
Improvemetric accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system reduces complexity by performing preliminary generation of expected output data using the existing processing logic, rather than implementing complex real-time monitoring and validation mechanisms. This approach leverages the already-present processing rules to create a simple comparison baseline.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses copying by creating a copy of the input data and processing it through the same logic to generate expected output. This copy-based verification approach is simpler than implementing complex validation rules and can be implemented with minimal additional system complexity.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10305848B2Detecting loss of data received at a data processing pipeline of an online system during a specified time interval
Publication Date: 2019.05.28 META PLATFORMS INC
  • US10305848B2 patent drawing
  • US10305848B2 patent drawing
  • US10305848B2 patent drawing

AI summary

An online system receives data and processes the data in a data processing pipeline. To data loss in the data processing pipeline, the online system determines a time interval during which each item of data is received and associates a set of counters with each time interval. For each time interval, an input counter is incremented for each data item received during the time interval and an output counter is incremented for each data item received during the time interval that was processed by the data processing pipeline. The online system compares an input number from the input counter and an output number from the output counter for each time interval. Based on a difference between the input number and output number for a time interval, the online system determines if a loss of data received during the time interval occurred. Lost Data are identified and processed.