An uplink data retransmission method performed by a user equipment UE, wherein the method comprises: sending data to a base station on a contention resource allocated by the base station, wherein the contention resource is a time-frequency resource that is designated when the base station schedules UEs in a contention resource group by using a contention-based grant, CB-grant; after the data is sent, performing blind detection on an uplink grant, UL-grant; and after a UL-grant is found through blind detection, retransmitting the data on a non-contention resource indicated by the UL-grant, characterised in that the method further comprises: after the data is sent, detecting whether a UL-grant sent by the base station is found through blind detection; if the UL-grant sent by the base station is not found through blind detection, continuing to detect whether a positive acknowledgement that is corresponding to the UE and that is fed back by the base station is received; and if the positive acknowledgement that is corresponding to the UE and that is fed back by the base station is not received, retransmitting the data on the resource indicated by the CB-grant delivered by the base station, wherein the retransmitting the data on the resource indicated by the CB-grant delivered by the base station comprises: obtaining an effective time of a last CB-grant received from the base station; and if a current moment does not exceed the effective time, retransmitting the data on the contention resource; or if a current moment exceeds the effective time, waiting for a next CB-grant sent by the base station, and after the next CB-grant is received, retransmitting the data on a resource indicated by the next CB-grant. sending data to a base station on a contention resource allocated by the base station, wherein the contention resource is a time-frequency resource that is designated when the base station schedules UEs in a contention resource group by using a contention-based grant, CB-grant; after the data is sent, performing blind detection on an uplink grant, UL-grant; and after a UL-grant is found through blind detection, retransmitting the data on a non-contention resource indicated by the UL-grant, characterised in that the method further comprises: after the data is sent, detecting whether a UL-grant sent by the base station is found through blind detection; if the UL-grant sent by the base station is not found through blind detection, continuing to detect whether a positive acknowledgement that is corresponding to the UE and that is fed back by the base station is received; and if the positive acknowledgement that is corresponding to the UE and that is fed back by the base station is not received, retransmitting the data on the resource indicated by the CB-grant delivered by the base station, wherein the retransmitting the data on the resource indicated by the CB-grant delivered by the base station comprises: obtaining an effective time of a last CB-grant received from the base station; and if a current moment does not exceed the effective time, retransmitting the data on the contention resource; or if a current moment exceeds the effective time, waiting for a next CB-grant sent by the base station, and after the next CB-grant is received, retransmitting the data on a resource indicated by the next CB-grant. after the data is sent, detecting whether a UL-grant sent by the base station is found through blind detection; if the UL-grant sent by the base station is not found through blind detection, continuing to detect whether a positive acknowledgement that is corresponding to the UE and that is fed back by the base station is received; and if the positive acknowledgement that is corresponding to the UE and that is fed back by the base station is not received, retransmitting the data on the resource indicated by the CB-grant delivered by the base station, wherein the retransmitting the data on the resource indicated by the CB-grant delivered by the base station comprises: obtaining an effective time of a last CB-grant received from the base station; and if a current moment does not exceed the effective time, retransmitting the data on the contention resource; or if a current moment exceeds the effective time, waiting for a next CB-grant sent by the base station, and after the next CB-grant is received, retransmitting the data on a resource indicated by the next CB-grant. obtaining an effective time of a last CB-grant received from the base station; and if a current moment does not exceed the effective time, retransmitting the data on the contention resource; or if a current moment exceeds the effective time, waiting for a next CB-grant sent by the base station, and after the next CB-grant is received, retransmitting the data on a resource indicated by the next CB-grant.