A method for resource allocation, comprising: determining, by a base station, resources blocks to be allocated to a user equipment UE for transmission; if an index number of any one of the resource blocks of the UE falls within a preset first index number range, wherein an index number points to a frequency domain location of the resource block associated with said index number, then judging whether the number of the resource blocks of the UE is less than a preset first parameter value, wherein the resource blocks are in an order from small to large according to index numbers which are set to the resource blocks in order; if the number of the resource blocks of the UE is less than the preset first parameter value, then raising a scheduling priority of the UE such that more resource blocks are to be allocated to the UE next time when the base station performs a resource allocation until the number of the resource blocks of the UE is greater than the preset first parameter value, wherein the power spectral density of the UE is decreased in accordance with the increase of the number of the resource blocks; or, deleting, from the resource blocks of the UE, a resource block the index number of which falls within the preset first index number range; obtaining an initial resource block from the resource blocks of the UE, wherein the initial resource block is a resource block among the resource blocks of the UE, the index number of which is minimum; determining a preset second parameter value according to the index number of the initial resource block; if the number of the resource blocks of the UE is greater than the preset first parameter value, then judging whether the number of the resource blocks of the UE is greater than a difference value between the preset second parameter value and a current scheduling granularity of the base station, wherein the scheduling granularity is the number of the resource blocks allocated each time; if the number of the resource blocks of the UE is greater than the difference value between the preset second parameter value and the current scheduling granularity of the base station, then stopping allocating resource blocks to the UE; or, deleting, from the resource blocks of the UE, a resource block an index number of which falls within of a preset second index number range, so that the base station continues to allocate resource blocks to the UE. determining, by a base station, resources blocks to be allocated to a user equipment UE for transmission; if an index number of any one of the resource blocks of the UE falls within a preset first index number range, wherein an index number points to a frequency domain location of the resource block associated with said index number, then judging whether the number of the resource blocks of the UE is less than a preset first parameter value, wherein the resource blocks are in an order from small to large according to index numbers which are set to the resource blocks in order; if the number of the resource blocks of the UE is less than the preset first parameter value, then raising a scheduling priority of the UE such that more resource blocks are to be allocated to the UE next time when the base station performs a resource allocation until the number of the resource blocks of the UE is greater than the preset first parameter value, wherein the power spectral density of the UE is decreased in accordance with the increase of the number of the resource blocks; or, deleting, from the resource blocks of the UE, a resource block the index number of which falls within the preset first index number range; obtaining an initial resource block from the resource blocks of the UE, wherein the initial resource block is a resource block among the resource blocks of the UE, the index number of which is minimum; determining a preset second parameter value according to the index number of the initial resource block; if the number of the resource blocks of the UE is greater than the preset first parameter value, then judging whether the number of the resource blocks of the UE is greater than a difference value between the preset second parameter value and a current scheduling granularity of the base station, wherein the scheduling granularity is the number of the resource blocks allocated each time; if the number of the resource blocks of the UE is greater than the difference value between the preset second parameter value and the current scheduling granularity of the base station, then stopping allocating resource blocks to the UE; or, deleting, from the resource blocks of the UE, a resource block an index number of which falls within of a preset second index number range, so that the base station continues to allocate resource blocks to the UE.