OPTIMIZED AND ROBUST IN-PLACE DATA TRANSFORMATION
First Claim
1. A method to be executed at least in part in a computing device for performing in-place data transformation in a file system, the method comprising:
- performing a first transfer operation by transferring data from a source file to a temporary file in individual data blocks in a back to front fashion such that the temporary file is expanded and the source file is truncated after transfer of each data block;
deleting the source file upon completion of the first transfer operation;
performing a second transfer operation by transferring data from the temporary file to a destination file in individual data blocks in a back to front fashion such that the destination file is expanded and the temporary file is truncated after transfer of each data block; and
deleting the temporary file upon completion of the second transfer operation, wherein the data is transformed during one of;
the first transfer operation and the second transfer operation.
2 Assignments
0 Petitions
Accused Products
Abstract
In-place data transformations are performed on file data by moving data blocks from a source file into a temporary file and then from the temporary file into a destination file each time in a back to front fashion enabling truncation of the source file while the temporary file is being expanded and written into. Similar read, write, and truncate operations are performed between the temporary and destination files as well resulting in optimized use of available disk and/or memory space. An initial log file with information such as source file name, size, transformation type and direction is generated for recovery from a mid-transaction interruption. Based on a state (truncation, data content) of the temporary and source files, a status of data transfer prior to interruption is determined and remaining data transferred.
-
Citations
20 Claims
-
1. A method to be executed at least in part in a computing device for performing in-place data transformation in a file system, the method comprising:
-
performing a first transfer operation by transferring data from a source file to a temporary file in individual data blocks in a back to front fashion such that the temporary file is expanded and the source file is truncated after transfer of each data block; deleting the source file upon completion of the first transfer operation; performing a second transfer operation by transferring data from the temporary file to a destination file in individual data blocks in a back to front fashion such that the destination file is expanded and the temporary file is truncated after transfer of each data block; and deleting the temporary file upon completion of the second transfer operation, wherein the data is transformed during one of;
the first transfer operation and the second transfer operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for performing in-place data transformation in a file system, the system comprising:
-
a data storage device; a memory; a processor coupled to the memory, wherein the processor is configured to execute program modules for transforming data in a file stored in the data storage device, the modules including; a transformation module configured to; create a log file that includes a name of a source file, a size of the source file, a type of the transformation, and a direction of the transformation create a temporary file; perform a first transfer operation by transferring data from the source file to the temporary file in individual data blocks in a back to front fashion such that the temporary file is expanded and the source file is truncated after transfer of each data block and the data blocks are written in a reverse order in the temporary file; delete the source file upon completion of the first transfer operation; create a destination file; perform a second transfer operation by transferring data from the temporary file to the destination file in individual data blocks in a back to front fashion such that the destination file is expanded and the temporary file is truncated after transfer of each data block and the data blocks are written in a reverse order in the destination file; and delete the temporary file upon completion of the second transfer operation, wherein the data is transformed during one of;
the first transfer operation and the second transfer operation. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A computer-readable storage medium with instructions encoded thereon for performing in-place data transformation in a file system, the instructions comprising:
-
creating a log file that includes at least one form a set of;
a name of the source file, a size of the source file, a type of the transformation, and a direction of the transformation;creating a temporary file; performing a first transfer operation by transferring data from the source file to the temporary file in individual data blocks such that an order of the data blocks is reversed in the temporary file, wherein the temporary file is expanded and the source file is truncated after the transfer of each data block; deleting the source file upon completion of the first transfer operation; creating a destination file; performing a second transfer operation by transferring data from the temporary file to the destination file in individual data blocks such that an order of the data blocks is reversed in the destination file, wherein the destination file is expanded and the temporary file is truncated after the transfer of each data block; and deleting the temporary file upon completion of the second transfer operation, wherein the data is transformed during at least one of;
the first transfer operation and the second transfer operation. - View Dependent Claims (18, 19, 20)
-
Specification