CPC G06F 11/1469 (2013.01) [G06F 11/1464 (2013.01); G06F 16/128 (2019.01); G06F 2201/84 (2013.01)] | 18 Claims |
1. A method, comprising:
receiving, by a data management system via an interface of the data management system, a request to read one or more files of a filesystem, wherein data of the filesystem is stored across a plurality of sparse files in a cloud environment, the plurality of sparse files comprising respective sets of data blocks;
accessing memory of the data management system, by the data management system and in response to the request to read the one or more files, to retrieve metadata entries from a metadata table stored in the memory of the data management system, wherein the metadata entries are indexed by the one or more files included in the request and the metadata entries comprise one or more target logical address ranges corresponding to the one or more files of the filesystem;
reading, by the data management system and from the cloud environment via a network interface, index information for the plurality of sparse files, wherein the index information indicates respective logical address ranges for data blocks within the plurality of sparse files;
storing, by the data management system in the memory of the data management system and based at least in part on reading the index information, one or more pointers to logical address ranges corresponding to one or more data blocks within one or more sparse files of the plurality of sparse files, wherein storing the one or more pointers is based at least in part on the logical address ranges pointed to by the one or more pointers overlapping with the one or more target logical address ranges corresponding to the one or more files of the filesystem;
transmitting, from the data management system to the cloud environment and via the network interface, one or more read requests for the one or more data blocks, within the one or more sparse files, that are pointed to by the one or more pointers, wherein the one or more read requests are generated based at least in part on the one or more pointers to the logical address ranges that overlap with the one or more target logical address ranges; and
receiving, at the data management system from the cloud environment and via the network interface, the requested one or more data blocks based at least in part on the one or more read requests.
|