A method for data migration performed by a first terminal device, comprising: connecting to a hotspot established by a second terminal device for receiving a first data set and a second data set transmitted by the second terminal device; determining whether the number of threads for data recoveries currently running in parallel is less than or equal to a first threshold; performing data recovery of the first data set using a first one of a plurality of threads for data recoveries currently running in parallel in the first terminal device when the first terminal device completely receives the first data set, based on a determination that the number of threads for data recoveries currently running in parallel is less than or equal to the first threshold; and performing data recovery of the second data set using a second one of the plurality of threads for data recoveries currently running in parallel in the first terminal device during the data recovery of the first data set, based on a determination that the number of threads for data recoveries currently running in parallel is less than or equal to the first threshold, wherein during data recovery of the first data set, after the second data set transmitted by the second terminal device is completely received, the first terminal device performs data recovery of the second data set, wherein the first data set or the second data set is divided into a plurality of data subsets if a size of the first data set or the second data set is greater than or equal to a second threshold, data recovery of the plurality of data subsets is performed in serial using a same one of the plurality of threads for data recoveries currently running in parallel in the first terminal device; wherein the second terminal device transmits (S203, S304), the first data set to the first terminal device after the first terminal device is connected to the hotspot; and the second terminal device transmits (S205, S308) the second data set to the first terminal device after the first data set is completely transmitted. connecting to a hotspot established by a second terminal device for receiving a first data set and a second data set transmitted by the second terminal device; determining whether the number of threads for data recoveries currently running in parallel is less than or equal to a first threshold; performing data recovery of the first data set using a first one of a plurality of threads for data recoveries currently running in parallel in the first terminal device when the first terminal device completely receives the first data set, based on a determination that the number of threads for data recoveries currently running in parallel is less than or equal to the first threshold; and performing data recovery of the second data set using a second one of the plurality of threads for data recoveries currently running in parallel in the first terminal device during the data recovery of the first data set, based on a determination that the number of threads for data recoveries currently running in parallel is less than or equal to the first threshold, wherein during data recovery of the first data set, after the second data set transmitted by the second terminal device is completely received, the first terminal device performs data recovery of the second data set, wherein the first data set or the second data set is divided into a plurality of data subsets if a size of the first data set or the second data set is greater than or equal to a second threshold, data recovery of the plurality of data subsets is performed in serial using a same one of the plurality of threads for data recoveries currently running in parallel in the first terminal device; wherein the second terminal device transmits (S203, S304), the first data set to the first terminal device after the first terminal device is connected to the hotspot; and the second terminal device transmits (S205, S308) the second data set to the first terminal device after the first data set is completely transmitted.