Composite Document Storage Pre-allocation for I/O Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing composite document technology experiences performance issues due to excessive patches and inefficient I/O operations, particularly when opening, reading, and writing, caused by uncontrolled sector allocation and small allocation units, leading to frequent jumps and reduced performance.

Innovation Solution

Implementing a pre-allocating storage strategy for inner controlling streams, where initial storing areas are allocated as continuous sectors or sector clusters, and adopting a reading cache and batch writing strategy to optimize I/O operations, ensuring data block continuity and reducing patches.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If uncontrolled sector allocation with small allocation units is used, then the composite document can be flexibly organized, but the number of patches increases and I/O performance deteriorates

Engineering Contradiction:
Improveflexibility of sector allocationVSAvoidI/O performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent pre-allocates continuous sectors or sector clusters for inner controlling streams before actual data storage. This preliminary action ensures that controlling streams are stored contiguously, reducing the number of patches and improving I/O performance without sacrificing the flexibility needed for user data storage.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If continuous sectors are pre-allocated for inner controlling streams, then I/O efficiency is improved and patches are reduced, but storage flexibility may be limited

Engineering Contradiction:
ImproveI/O efficiencyVSAvoidstorage flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent applies different storage strategies to different parts of the composite document. Inner controlling streams are allocated continuous sectors for efficient I/O, while user data streams can utilize fragmented sectors. This local differentiation maintains overall storage flexibility while optimizing I/O performance for critical controlling data.

Inventive Principle:
Principle #3Local quality

3Speed

If sector allocation is optimized for continuity, then reading and writing speeds improve, but the complexity of allocation management increases

Engineering Contradiction:
Improvereading and writing speedVSAvoidallocation management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments the composite document into two categories: inner controlling streams and user data streams. By segmenting the allocation strategy, continuous sectors are reserved for controlling streams to ensure fast access, while user data can use remaining sectors. This segmentation simplifies management complexity compared to managing continuity for all streams.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8788784B2Method and device for storing and reading/writing composite document
Publication Date: 2014.07.22 TENCENT TECHNOLOGY (SHENZHEN) CO LTD
  • US8788784B2 patent drawing
  • US8788784B2 patent drawing
  • US8788784B2 patent drawing

AI summary

A method and device for storing and reading/writing a composite document are disclosed. The method includes: an initial storing area is pre-allocated for an inner controlling stream of the composite document and the initial storing area is continuous sectors or sector clusters; the inner controlling stream is stored in the initial storing area. The patches of a user data stream and the inner controlling stream in the composite document are reduced using the method or device. Correspondingly, pre-allocating storing area makes the probability of continuously storing the user data stream and the inner controlling stream in the composite document increased. The I/O can be optimized by introducing a strategy of reading cache and writing in a batch size, which can improve the efficiency of reading and writing.