A data reconstruction method, wherein the method comprises the following sequence of steps: determining a first block in a lost block in a first strip, wherein a block in the first strip is stored by a target quantity of storage devices and wherein the first strip is generated according to an erasure coding algorithm; splitting a check matrix of the first strip into a first submatrix and the target quantity of second submatrices, wherein the first submatrix comprises a column corresponding to the first block and a column corresponding to a second block, each second submatrix comprises a column corresponding to at least one third block, stored on one storage device, in the first strip, the second block is any block in the valid block in the first strip, and the third block is any block other than the second block in the valid block; obtaining a first result from the target quantity of storage devices, wherein each first result is obtained after one of the target quantity of storage devices reads a stored valid block in the first strip and performs calculation based on the read valid block, wherein performing calculation based on the read valid block to obtain a first result comprises forming a block matrix by using the at least one third block, where each row of the block matrix is one third block and multiplying the second submatrix by the block matrix to obtain the first result; sending a first obtaining request to a storage device corresponding to each second submatrix, wherein the first obtaining request carries a second submatrix corresponding to a storage device, block information of the third block corresponding to each column of the second submatrix, and an identifier of a control device; obtaining the first result returned by the target quantity of storage devices based on the first obtaining request; and reconstructing the first block based on the first result from the target quantity of storage devices and the first submatrix. determining a first block in a lost block in a first strip, wherein a block in the first strip is stored by a target quantity of storage devices and wherein the first strip is generated according to an erasure coding algorithm; splitting a check matrix of the first strip into a first submatrix and the target quantity of second submatrices, wherein the first submatrix comprises a column corresponding to the first block and a column corresponding to a second block, each second submatrix comprises a column corresponding to at least one third block, stored on one storage device, in the first strip, the second block is any block in the valid block in the first strip, and the third block is any block other than the second block in the valid block; obtaining a first result from the target quantity of storage devices, wherein each first result is obtained after one of the target quantity of storage devices reads a stored valid block in the first strip and performs calculation based on the read valid block, wherein performing calculation based on the read valid block to obtain a first result comprises forming a block matrix by using the at least one third block, where each row of the block matrix is one third block and multiplying the second submatrix by the block matrix to obtain the first result; sending a first obtaining request to a storage device corresponding to each second submatrix, wherein the first obtaining request carries a second submatrix corresponding to a storage device, block information of the third block corresponding to each column of the second submatrix, and an identifier of a control device; obtaining the first result returned by the target quantity of storage devices based on the first obtaining request; and reconstructing the first block based on the first result from the target quantity of storage devices and the first submatrix. <EOS>