A data transmission method, comprising: transmitting, by a terminal, data to a base station on one or more normal resources, wherein the normal resources are normal transmission opportunities (TOs); determining, by the terminal, one or more potential resources through a pattern, wherein the pattern is determined according to a position of a normal TO occupied by a first transmission of the data and/or a position of the normal TOs adjusted by the base station; and transmitting, by the terminal, the data to the base station on the one or more potential resources, in the condition that the normal resources is unable to be used for data transmission due to a dynamic changes in resource properties caused by slot-format information, SFI, or in the condition that repeated transmissions with a configured quantity is unable to be completed on the normal resources, wherein the normal resources and the potential resources are uplink grant-free resources which are used for data transmission and semi-statically configured for the terminal by the base station, and in the condition that the normal resources are unavailable and the potential resources do not serve as a third type of resources for other terminals, the terminal is informed by the base station about the pattern and the terminal transmits data according to the TO in the pattern; wherein: the potential resources are in a same configured period as the normal TO occupied by the first transmission of the data; and/or a time interval between a time position of the normal TO occupied by the first transmission of the data and a time position of a first potential resource is larger than K2, and K2 is a predetermined value. transmitting, by a terminal, data to a base station on one or more normal resources, wherein the normal resources are normal transmission opportunities (TOs); determining, by the terminal, one or more potential resources through a pattern, wherein the pattern is determined according to a position of a normal TO occupied by a first transmission of the data and/or a position of the normal TOs adjusted by the base station; and transmitting, by the terminal, the data to the base station on the one or more potential resources, in the condition that the normal resources is unable to be used for data transmission due to a dynamic changes in resource properties caused by slot-format information, SFI, or in the condition that repeated transmissions with a configured quantity is unable to be completed on the normal resources, wherein the normal resources and the potential resources are uplink grant-free resources which are used for data transmission and semi-statically configured for the terminal by the base station, and in the condition that the normal resources are unavailable and the potential resources do not serve as a third type of resources for other terminals, the terminal is informed by the base station about the pattern and the terminal transmits data according to the TO in the pattern; wherein: the potential resources are in a same configured period as the normal TO occupied by the first transmission of the data; and/or a time interval between a time position of the normal TO occupied by the first transmission of the data and a time position of a first potential resource is larger than K2, and K2 is a predetermined value. the potential resources are in a same configured period as the normal TO occupied by the first transmission of the data; and/or a time interval between a time position of the normal TO occupied by the first transmission of the data and a time position of a first potential resource is larger than K2, and K2 is a predetermined value.