Block-Based File Compression Using Per-Block Algorithms
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data compression technologies are limited in their ability to apply different compression algorithms to different portions of a file, often restrict data size limits, and cannot efficiently compress large files, leading to suboptimal compression and potential file path damage during restoration.
Innovation Solution
A method and apparatus that divide a file into blocks, allowing each block to be compressed using the most suitable algorithm, generating a compression file with block headers and bodies, and restoring the original file by parsing block headers and bodies, while encoding file path information to prevent damage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If one compression algorithm is applied to the entire file, then the compression process is simple, but different portions cannot be compressed with optimal algorithms and compression efficiency is reduced
Solution Approach 1:
The file is divided into multiple blocks, allowing different compression algorithms to be applied to different blocks. Each block can be independently compressed with the most suitable algorithm, improving overall compression efficiency while maintaining manageable complexity through modular processing
Solution Approach 2:
Different compression algorithms are selected for different portions (blocks) of the file based on their specific characteristics. This allows each block to be compressed with locally optimal algorithms, achieving high compression efficiency for diverse file contents without requiring a single complex algorithm for the entire file
2Quantity of substance
If compression algorithms are applied to large files, then more data can be compressed, but data size limits prevent compression of files exceeding the limit
Solution Approach 1:
Large files are divided into multiple smaller blocks that each fall within the compression algorithm's data size limits. This allows files of arbitrary size to be compressed by processing them in manageable segments, effectively removing the data size limitation while maintaining reliable compression
Solution Approach 2:
The problem of data size limitation is solved by transitioning from processing the entire file as a single unit to processing it as multiple independent blocks. This dimensional change from whole-file processing to block-level processing enables compression of files exceeding traditional size limits
3Reliability
If file path information is not encoded during compression, then the compression process is simpler, but file path damage occurs during restoration
Solution Approach 1:
File path information is encoded and stored in the block header during the compression process before restoration occurs. This preliminary action ensures that the original file path is preserved and can be correctly restored later, preventing file path damage while adding minimal complexity to the compression process
Data Source
AI summary
An apparatus for compressing and decompressing data is disclosed. The apparatus for compressing data includes a block setting unit that divides data of at least one original file into two or more blocks, a compression unit that generates block compression data by applying a compression algorithm to data corresponding to at least one block among blocks divided by the block setting unit, and a compression file generation unit that generates a block header and the block body of the block for each block divided by the block setting unit, in which the block body includes the block compression data if the block is compressed by the compression unit or includes the original data of the block if the block is not compressed the by compression unit.


