A Computer-implemented data storage method, comprising: dividing a to-be-stored data block into N equal-sized to-be-stored sub-data blocks, wherein the N to-be-stored sub-data blocks are corresponding to N location identifiers, each to-be-stored sub-data block is corresponding to one location identifier, and N is a positive integer greater than 1; selecting one of at least two stored comparison data blocks as a reference data block, wherein the reference data block comprises N reference sub-data blocks, the N reference sub-data blocks are corresponding to the N location identifiers, and each reference sub-data block is corresponding to one location identifier; comparing a to-be-stored sub-data block corresponding to an i th location identifier and a reference sub-data block corresponding to the i th location identifier, and determining a first sub-data block in the N to-be-stored sub-data blocks, wherein i is a positive integer progressively increasing from 1 to N, and the first sub-data block is a to-be-stored sub-data block different from a compared reference sub-data block; selecting a representative sub-data block of the first sub-data block; performing an exclusive OR operation on data of the first sub-data block and data of the representative sub-data block; and compressing a result of the exclusive OR operation, and storing a compression result and location information of the first sub-data block, characterized in that the compressing a result of the exclusive OR operation is implemented by means of run-length encoding, and the selecting a representative sub-data block of the first sub-data block includes: performing an exclusive OR operation on every two first sub-data blocks, and selecting a first sub-data block as the representative sub-data block according to run-length encoding compression ratios of results of the exclusive OR operations, where a result of exclusive OR performed on the first sub-data block and another first sub-data block has a smallest run-length encoding compression ratio; and storing the representative sub-data block, wherein the to-be-stored data block has M first sub-data blocks, wherein the M first sub-data blocks are numbered from 1 to M according to a location sequence in the to-be-stored data block, and an exclusive OR operation is separately performed on every two of the M first sub-data blocks, wherein in the run-length encoding, compression encoding is performed by recording a character that continuously appears and a quantity of times that the character continuously appears, and wherein a run-length encoding compression ratio of a result of exclusive OR performed on each first sub-data block and another first sub-data block is determined by calculating a size of compression space generated by performing run-length encoding on the character that continuously appears in the exclusive OR result. dividing a to-be-stored data block into N equal-sized to-be-stored sub-data blocks, wherein the N to-be-stored sub-data blocks are corresponding to N location identifiers, each to-be-stored sub-data block is corresponding to one location identifier, and N is a positive integer greater than 1; selecting one of at least two stored comparison data blocks as a reference data block, wherein the reference data block comprises N reference sub-data blocks, the N reference sub-data blocks are corresponding to the N location identifiers, and each reference sub-data block is corresponding to one location identifier; comparing a to-be-stored sub-data block corresponding to an i th location identifier and a reference sub-data block corresponding to the i th location identifier, and determining a first sub-data block in the N to-be-stored sub-data blocks, wherein i is a positive integer progressively increasing from 1 to N, and the first sub-data block is a to-be-stored sub-data block different from a compared reference sub-data block; selecting a representative sub-data block of the first sub-data block; performing an exclusive OR operation on data of the first sub-data block and data of the representative sub-data block; and compressing a result of the exclusive OR operation, and storing a compression result and location information of the first sub-data block, characterized in that the compressing a result of the exclusive OR operation is implemented by means of run-length encoding, and the selecting a representative sub-data block of the first sub-data block includes: performing an exclusive OR operation on every two first sub-data blocks, and selecting a first sub-data block as the representative sub-data block according to run-length encoding compression ratios of results of the exclusive OR operations, where a result of exclusive OR performed on the first sub-data block and another first sub-data block has a smallest run-length encoding compression ratio; and storing the representative sub-data block, wherein the to-be-stored data block has M first sub-data blocks, wherein the M first sub-data blocks are numbered from 1 to M according to a location sequence in the to-be-stored data block, and an exclusive OR operation is separately performed on every two of the M first sub-data blocks, wherein in the run-length encoding, compression encoding is performed by recording a character that continuously appears and a quantity of times that the character continuously appears, and wherein a run-length encoding compression ratio of a result of exclusive OR performed on each first sub-data block and another first sub-data block is determined by calculating a size of compression space generated by performing run-length encoding on the character that continuously appears in the exclusive OR result.