CPC G06F 3/0656 (2013.01) [G06F 3/061 (2013.01); G06F 3/064 (2013.01); G06F 16/1774 (2019.01); G06F 16/178 (2019.01)] | 18 Claims |
1. A computer-implemented method for use with a computer data storage system including a plurality of client computers and a plurality of collector nodes, the computer-implemented method comprising:
receiving, by a first client computer of the plurality of client computers, a plurality of write requests for a file that is to be collectively stored in the plurality of collector nodes;
storing the data from the plurality of write requests in a set of client side buffers in a volatile memory of the first client computer;
splitting the file into a plurality of data blocks;
for each given write request of the plurality of write requests, determining the data blocks to which the data belongs;
for each given data block, performing location-aware collector node selection by selecting a collector node, from the plurality of collector nodes, by querying a file system allocation subsystem to determine which collector node is assigned to serve the given data block; and
for each given write request of the plurality of write requests, sending the given data, from the first client computer through a communication network to the selected collector nodes for the given write requests.
|