Large content file optimization
AssigneeCohesity, Inc.
InventorsZhihuan Qiu, Ganesha Shanmuganathan
Life of this patent
Estimating the term…
Abstract
A size associated with a content file is determined to be greater than a threshold size. In response to the determination, file metadata of the content file split and stored across a plurality of component file metadata structures. The file metadata of the content file specifies tree structure organizing data components of the content file and each component file metadata structure of the plurality of component file metadata structures stores a portion of the tree structure. A snapshot tree is updated to reference the plurality of component file metadata structures for the content file.
Claims20
A system, comprising:
- a processor configured to:
- determine that a size associated with a content file is greater than a threshold size, wherein a storage system is configured to generate one or more component file metadata structures for the content file, wherein metadata associated with the content file is stored in a first component file metadata structure;
- in response to the determination that the size associated with the content file is greater than the threshold size;
- generate one or more additional component file metadata structures for the content file:
- store file metadata of the content file split across a plurality of component file metadata structures, wherein the plurality of component file metadata structures are associated with different portions of the content file, wherein the first component file metadata structure is configured to store file metadata corresponding to the content file prior to the split and the one or more additional component file metadata structures are configured to store file metadata corresponding to the content file after the split, wherein a component file metadata structure of the content file specifies a tree structure organizing data components of the content file and each component file metadata structure of the plurality of component file metadata structures is configured to store a portion of the file metadata of content file, wherein each component file metadata structure includes a corresponding root node, a corresponding plurality of intermediate nodes, and a corresponding plurality of leaf nodes;
- and
- update a snapshot tree to reference the plurality of component file metadata structures for the content file, wherein the snapshot tree is configured to store file system metadata associated with a primary system, wherein the snapshot tree includes a first root node, a first plurality of intermediate nodes, and a first plurality of leaf nodes, wherein a first leaf node of the first plurality of leaf nodes includes a first reference to a first root node associated with the first component file metadata structure of the component file metadata structures and a second leaf node of the first plurality of leaf nodes includes a second reference to a second root node associated with a second component file metadata structure of the component file metadata structures;
- and
- a memory coupled to the processor and configured to provide the processor with instructions.
(canceled)
A method, comprising:
- determining that a size associated with a content file is greater than a threshold size, wherein a storage system is configured to generate one or more component file metadata structures for the content file, wherein metadata associated with the content file is stored in a first component file metadata structure;
- in response to the determining that the size associated with the content file is greater than the threshold size:
- generating one or more additional component file metadata structures for the content file;
- storing file metadata of the content file split across a plurality of component file metadata structures, wherein the plurality of component file metadata structures are associated with different portions of the content file, wherein the first component file metadata structure is configured to store metadata corresponding to the content file prior to the split and the one or more additional component file metadata structures are configured to store metadata corresponding to the content file after the split, wherein a component file metadata structure of the content file specifies a tree structure organizing data components of the content file and each component file metadata structure of the plurality of component file metadata structures is configured to store a portion of the file metadata of the content file, wherein each component file metadata structure includes a corresponding root node, a corresponding plurality of intermediate nodes, and a corresponding plurality of leaf nodes;
- and
- updating a snapshot tree to reference the plurality of component file metadata structures for the content file, wherein the snapshot tree is configured to store file system metadata associated with a primary system, wherein the snapshot tree includes a first root node, a first plurality of intermediate nodes, and a first plurality of leaf nodes, wherein a first leaf node of the first plurality of leaf nodes includes a first reference to a first root node associated with the first component file metadata structure of the component file metadata structures and a second leaf node of the first plurality of leaf nodes includes a second reference to a second root node associated with a second component file metadata structure of the component file metadata structures.
A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
- determining that a size associated with a content file is greater than a threshold size, wherein a storage system is configured to generate one or more component file metadata structures for the content file, wherein metadata associated with the content file is stored in a first component file metadata structure;
- in response to the determination that the size associated with the content file is greater than the threshold size:
- generate one or more additional component file metadata structures for the content file;
- storing file metadata of the content file split across a plurality of component file metadata structures, wherein the plurality of component file metadata structures are associated with different portions of the content file, wherein the first component file metadata structure is configured to store metadata corresponding to the content file prior to the split and the one or more additional component file metadata structures are configured to store metadata corresponding to the content file after the split, wherein a component file metadata structure of the content file specifies tree structure organizing data components of the content file and each component file metadata structure of the plurality of component file metadata structures is configured to store a portion of the file metadata of the content file, wherein each component file metadata structure includes a corresponding root node, a corresponding plurality of intermediate nodes, and a corresponding plurality of leaf nodes;
- and
- updating a snapshot tree to reference the plurality of component file metadata structures for the content file, wherein the snapshot tree is configured to store file system metadata associated with a primary system, wherein the snapshot tree includes a first root node, a first plurality of intermediate nodes, and a first plurality of leaf nodes, wherein a first leaf node of the first plurality of leaf nodes includes a first reference to a first root node associated with the first component file metadata structure of the component file metadata structures and a second leaf node of the first plurality of leaf nodes includes a second reference to a second root node associated with a second component file metadata structure of the component file metadata structures.
Dependencies are inferred from the claim text.