Header-Guided Compression Block Parsing for Parallel Decompression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data decompression methods lack efficiency, particularly when dealing with large volumes of compressed data, as they often rely on single or multiple threads without optimizing the decompression process effectively.

Innovation Solution

A method and apparatus for decompressing data that identifies identifiable features in compression blocks to determine to-be-decompressed blocks, allowing for parallel processing by a single thread or multiple threads, thereby improving decompression efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional single-thread or multi-thread decompression methods are used, then the decompression process can be performed, but the decompression efficiency is low and decompression time is long when handling large volumes of compressed data

Engineering Contradiction:
Improvedecompression efficiencyVSAvoiddecompression time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The compressed data stream is segmented into multiple compression blocks based on identifiable features (magic numbers). The system identifies headers containing specific magic numbers to delimit compression blocks, then processes these blocks independently through parallel decomposition, allowing simultaneous decompression of multiple blocks by different threads thereby improving overall decompression efficiency and reducing total decompression time

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary identification of compression block boundaries by scanning for identifiable features (magic numbers) in the compressed data stream before actual decompression begins. This preliminary action of locating headers and determining block ranges enables subsequent parallel processing to start immediately without sequential delays, significantly reducing decompression time for large data volumes

Inventive Principle:
Principle #10Preliminary action

2Productivity

If parallel processing is implemented to improve decompression speed, then decompression efficiency increases, but system complexity increases due to thread management overhead

Engineering Contradiction:
Improvedecompression efficiencyVSAvoidthread management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the decompression task into independent compression blocks that can be processed in parallel. Each block is identified by its header containing a magic number, and these self-contained blocks are distributed to multiple threads for simultaneous processing. This segmentation reduces thread management complexity compared to fine-grained parallelism while maintaining high decompression efficiency through coarse-grained parallel task distribution

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces an intermediary component that manages the parallel decomposition process by receiving compressed data, identifying compression block boundaries through magic number detection, dividing blocks into manageable units, and distributing them to worker threads. This intermediary layer abstracts the complexity of thread management from the core decompression logic, simplifying the overall system architecture while enabling efficient parallel processing

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250274140A1Method and apparatus for decompressing data, electronic device, and computer-readable storage medium
Publication Date: 2025.08.28 GENEMIND BIOSCIENCES CO LTD
  • US20250274140A1 patent drawing
  • US20250274140A1 patent drawing
  • US20250274140A1 patent drawing

AI summary

A method, apparatus, electronic device, or a computer-readable storage medium for decompressing data includes: a) acquiring compressed data, the compressed data including a plurality of compression blocks connected in series, one compression block including a header and a data main body connected to the header, and the header having an identifiable feature; b) identifying the identifiable feature to position a corresponding header, and determining one or more to-be-decompressed blocks in the compressed data according to the positioned header, one to-be-decompressed block including one or more compression blocks; and c) decompressing the to-be-decompressed block by a single thread or a plurality of threads so as to obtain decompressed compressed data, where b) and c) are performed in parallel. The data decompression mode has high efficiency, and can effectively shorten the decompression time especially under the condition that huge data needs to be decompressed.