A data disaster tolerance method, comprising: monitoring each node of multiple nodes in a logic set, the multiple nodes comprising a master node and a plurality of slave nodes; for each slave node, acquiring log information of a slave node when it is monitored that the master node is abnormal (102, 204), the log information of the slave node comprising a time point when data is synchronized between the slave node and the master node; selecting a slave node having the time point closest to current time from the plurality of slave nodes as a target node according to the log information (103, 205); and taking the target node as a new master node, and switching service in the master node to the target node; wherein the method further comprises: when it is monitored that the master node is abnormal, determining whether the data in the master node has been synchronized to the plurality of slave nodes; when it is determined that the data in the master node has not been synchronized to the plurality of slave nodes, determining whether it is able to flash back the log information corresponding to the data that has not been synchronized; when it is determined that it is able to flash back the log information corresponding to the data that has not been synchronized, flashing back the log information corresponding to the data that has not been synchronized; when it is determined that it is unable to flash back the log information corresponding to the data that has not been synchronized, pulling mirror data from the target node to reconstruct the data in the master node. monitoring each node of multiple nodes in a logic set, the multiple nodes comprising a master node and a plurality of slave nodes; for each slave node, acquiring log information of a slave node when it is monitored that the master node is abnormal (102, 204), the log information of the slave node comprising a time point when data is synchronized between the slave node and the master node; selecting a slave node having the time point closest to current time from the plurality of slave nodes as a target node according to the log information (103, 205); and taking the target node as a new master node, and switching service in the master node to the target node; wherein the method further comprises: when it is monitored that the master node is abnormal, determining whether the data in the master node has been synchronized to the plurality of slave nodes; when it is determined that the data in the master node has not been synchronized to the plurality of slave nodes, determining whether it is able to flash back the log information corresponding to the data that has not been synchronized; when it is determined that it is able to flash back the log information corresponding to the data that has not been synchronized, flashing back the log information corresponding to the data that has not been synchronized; when it is determined that it is unable to flash back the log information corresponding to the data that has not been synchronized, pulling mirror data from the target node to reconstruct the data in the master node. when it is monitored that the master node is abnormal, determining whether the data in the master node has been synchronized to the plurality of slave nodes; when it is determined that the data in the master node has not been synchronized to the plurality of slave nodes, determining whether it is able to flash back the log information corresponding to the data that has not been synchronized; when it is determined that it is able to flash back the log information corresponding to the data that has not been synchronized, flashing back the log information corresponding to the data that has not been synchronized; when it is determined that it is unable to flash back the log information corresponding to the data that has not been synchronized, pulling mirror data from the target node to reconstruct the data in the master node.