发明名称 Distributed storage system
摘要 In one embodiment, a first computing device receives a write request and data from a second computing device; iteratively attempts to write the data until a copy of the data is successfully written to each and every storage node belonging to a storage volume; and transmits a volume identifier of the storage volume and a data identifier assigned to the data to the second computing device. In one embodiment, a first computing device receives a read request and a volume identifier and a data identifier from a second computing device; accesses a cache to select the storage volume identified by the volume identifier; iteratively attempts to read data identified by the data identifier until a copy of the data is successfully read from a storage node belonging to the selected storage volume; and transmits the copy of the data to the second computing device.
申请公布号 US9178958(B2) 申请公布日期 2015.11.03
申请号 US201414298481 申请日期 2014.06.06
申请人 Facebook, Inc. 发明人 Lindamood Jack William;Beaver Douglas John;Lerios Apostolos;Page Matthew;Ruibal Peter Avelino
分类号 G06F15/177;G06F15/167;H04L29/08;G06F3/06;G06F11/20 主分类号 G06F15/177
代理机构 Baker Botts L.L.P. 代理人 Baker Botts L.L.P.
主权项 1. A method comprising: by one or more first computing devices, in response to a write request and data associated with the write request received from a second computing device, selecting from a cache a first storage volume of a plurality of storage volumes, wherein each storage volume of the plurality of storage volumes is identified by a unique volume identifier and comprises a plurality of storage nodes; by the one or more first computing devices, sending instructions to write a copy of the data to each storage node of the first storage volume; in response to a determination that the copy of the data was not successfully written to one or more storage nodes of the first storage volume, by the one or more first computing devices, selecting from the cache a second storage volume of the plurality of storage volumes; by the one or more first computing devices, sending instructions to write a copy of the data to each storage node of the second storage volume; in response to a determination that the copy of the data was successfully written to each storage node of the second storage volume, by the one or more first computing devices, generating a data-scrambler number associated with the data, wherein the data-scrambler number is randomly generated; by the one or more first computing devices, sending to the second computing device: a volume identifier of the second storage volume;a data identifier assigned to the data; andthe data-scrambler number; by the one or more first computing devices, receiving a read request from a third computing device, the read request comprising: the volume identifier of the second storage volume;the data identifier assigned to the data; andan invalid data-scrambler number; and in response to a determination that the invalid data-scrambler number does not match the data-scrambler number associated with the data, by the one or more first computing devices, sending a read-failure message to the third computing device.
地址 Menlo Park CA US