A data operation method, in which a client divides a data stripe comprising to-be-written data into a preset quantity of data strips, and separately sends the data strips to a preset quantity of storage devices, so that each storage device stores one of the data strips, wherein the method comprises: sending, by the client, a first message to a storage device corresponding to a data strip that does not need to be modified, wherein the first message carries a new version number and an old version number of the data strip that does not need to be modified; receiving, by the storage device, the first message, and comparing the old version number in the first message with a version number of the data strip, stored with the data strip, in the storage device; and when the old version number in the first message is consistent with the version number of the data strip in the storage device, updating, by the storage device, the version number of the data strip in the storage device according to the new version number in the first message; or when the old version number in the first message is inconsistent with the version number of the data strip in the storage device, sending, by the storage device to the client, a second message indicating a version number mismatch; after receiving the second message, sending, by the client to the storage device that sends the second message, a data strip corresponding to the storage device, and sending a version number of the data strip corresponding to the storage device; and storing, by the storage device, the received data strip, and performing a version number update with respect to the received data strip, wherein the method further comprises: sending, by the client for a data strip that needs to be modified, a third message to a storage device corresponding to the data strip that needs to be modified, wherein the third message comprises the data strip that needs to be modified and a new version number corresponding to the data strip, and after receiving the third message, performing, by the storage device according to content of the third message, an overwrite operation on the data strip that needs to be modified. sending, by the client, a first message to a storage device corresponding to a data strip that does not need to be modified, wherein the first message carries a new version number and an old version number of the data strip that does not need to be modified; receiving, by the storage device, the first message, and comparing the old version number in the first message with a version number of the data strip, stored with the data strip, in the storage device; and when the old version number in the first message is consistent with the version number of the data strip in the storage device, updating, by the storage device, the version number of the data strip in the storage device according to the new version number in the first message; or when the old version number in the first message is inconsistent with the version number of the data strip in the storage device, sending, by the storage device to the client, a second message indicating a version number mismatch; after receiving the second message, sending, by the client to the storage device that sends the second message, a data strip corresponding to the storage device, and sending a version number of the data strip corresponding to the storage device; and storing, by the storage device, the received data strip, and performing a version number update with respect to the received data strip, wherein the method further comprises: sending, by the client for a data strip that needs to be modified, a third message to a storage device corresponding to the data strip that needs to be modified, wherein the third message comprises the data strip that needs to be modified and a new version number corresponding to the data strip, and after receiving the third message, performing, by the storage device according to content of the third message, an overwrite operation on the data strip that needs to be modified. sending, by the client for a data strip that needs to be modified, a third message to a storage device corresponding to the data strip that needs to be modified, wherein the third message comprises the data strip that needs to be modified and a new version number corresponding to the data strip, and after receiving the third message, performing, by the storage device according to content of the third message, an overwrite operation on the data strip that needs to be modified.