A resource allocation method performed by a resource allocation apparatus, the method comprising: • determining a quantity of resource blocks required by a user equipment that needs to perform uplink transmission, wherein a quantity of resource blocks required by a first user equipment that needs to perform uplink transmission and a quantity of resource blocks required by a second user equipment that needs to perform uplink transmission are both M, and M is a positive integer (step 501); • allocating M resource blocks in a first subgroup in a first resource group to the first user equipment, and allocating M resource blocks in a second subgroup in the first resource group to the second user equipment, wherein the first resource group comprises multiple subgroups comprising the first subgroup and the second subgroup, and each subgroup comprises the M resource blocks (step 505); • determining whether a quantity of data packets that are of the first user equipment and in which a parse error occurs is greater than a first threshold and/or whether a packet loss rate of the first user equipment is greater than a second threshold, wherein the packet loss rate is a ratio of a quantity of data packets in which a parse error occurs within a preset time to a total quantity of data packets received within the preset time (step 506); and • when it is determined that the quantity of the data packets that are of the first user equipment and in which the parse error occurs is greater than the first threshold and/or the packet loss rate of the first user equipment is greater than the second threshold, allocating M plus 1 resource blocks in a first subgroup in a second resource group to the first user equipment, wherein a quantity of resource blocks in the first subgroup in the second resource group is M plus 1 (step 507). • determining a quantity of resource blocks required by a user equipment that needs to perform uplink transmission, wherein a quantity of resource blocks required by a first user equipment that needs to perform uplink transmission and a quantity of resource blocks required by a second user equipment that needs to perform uplink transmission are both M, and M is a positive integer (step 501); • allocating M resource blocks in a first subgroup in a first resource group to the first user equipment, and allocating M resource blocks in a second subgroup in the first resource group to the second user equipment, wherein the first resource group comprises multiple subgroups comprising the first subgroup and the second subgroup, and each subgroup comprises the M resource blocks (step 505); • determining whether a quantity of data packets that are of the first user equipment and in which a parse error occurs is greater than a first threshold and/or whether a packet loss rate of the first user equipment is greater than a second threshold, wherein the packet loss rate is a ratio of a quantity of data packets in which a parse error occurs within a preset time to a total quantity of data packets received within the preset time (step 506); and • when it is determined that the quantity of the data packets that are of the first user equipment and in which the parse error occurs is greater than the first threshold and/or the packet loss rate of the first user equipment is greater than the second threshold, allocating M plus 1 resource blocks in a first subgroup in a second resource group to the first user equipment, wherein a quantity of resource blocks in the first subgroup in the second resource group is M plus 1 (step 507).