Large Content File Optimization via Component Metadata Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing file systems face bottlenecks when dealing with large content files, as only a single node can hold a write lock for the leaf node of a snapshot tree, leading to sequential creation and modification of file metadata structures, which is time-consuming and inefficient, especially in multi-node systems.
Innovation Solution
The solution involves splitting large content files into component files, each with its own metadata structure, allowing multiple nodes to update metadata in parallel, using a tree data structure with leaf nodes that store pointers to component file metadata structures, and a directory inode that manages these pointers to facilitate parallel operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a single write lock is used for the leaf node of a snapshot tree, then data consistency is maintained, but the time required to create and modify file metadata for large content files increases significantly
Solution Approach 1:
The patent divides the metadata management for large content files into multiple component files, each with its own metadata structure. Instead of locking a single leaf node for the entire large file, the system creates multiple leaf nodes (one per component file), allowing multiple nodes to acquire write locks simultaneously on different component files, thereby enabling parallel metadata operations while maintaining data consistency within each component.
Solution Approach 2:
The patent introduces a new dimension to metadata organization by creating a hierarchical structure where a large content file is represented across multiple component files with individual metadata structures. This dimensional expansion from a single metadata structure to multiple distributed structures allows concurrent access and parallel processing while preserving data integrity through the snapshot tree architecture.
2Reliability
If sequential creation and modification of file metadata structures is performed, then data consistency is ensured, but the productivity of the file system decreases
Solution Approach 1:
By segmenting the large content file into multiple component files with separate metadata structures, the system enables multiple file system nodes to operate in parallel on different components. Each node can create or modify metadata for its assigned component files independently, transforming sequential operations into parallel operations while maintaining consistency through the snapshot tree locking mechanism.
Solution Approach 2:
The patent combines multiple component files and their metadata structures into a unified large content file representation. This merging allows the system to present a single logical file interface to users while maintaining multiple physical metadata structures that can be manipulated in parallel, thus improving productivity without sacrificing the simplicity of the file interface.
3Ease of operation
If large content files are stored as single entities, then file management is simplified, but the device complexity increases due to lock management bottlenecks
Solution Approach 1:
The patent segments large content files into component files with individual metadata structures, distributing the lock management burden across multiple smaller metadata structures rather than one large centralized structure. This segmentation reduces the complexity of acquiring and managing write locks, as multiple nodes can simultaneously manage locks on different components without interfering with each other.
Solution Approach 2:
The snapshot tree structure acts as an intermediary layer between the simplified file interface and the distributed component file metadata structures. This intermediary manages the complexity of parallel lock acquisition and coordination, presenting a simple unified file interface to users while handling the distributed nature of the underlying storage architecture.
Data Source
AI summary
A plurality of portions of a content file are stored. It is determined that the content file has a size that is greater than a threshold size. In response to determining that the content file has the size that is greater than the threshold size, a plurality of component file metadata structures are generated for each of the plurality of portions of the content file. A component file metadata structure of the plurality of component file metadata structures corresponds to one of the portions of the content file. Each of the plurality of component file metadata structures includes corresponding metadata that enables data chunks associated with a corresponding portion of the content file to be located.


