A method for dynamically assigning a task used in a resource-management device, the method comprises: broadcasting work requirements corresponding to the task to a plurality of resource provisioning devices; determining whether an application request transmitted from one of the resource provisioning devices has been received; and assigning the task to a first resource provisioning device of the resource provisioning devices when receiving the application request transmitted from the first resource provisioning device, wherein the method further comprises: receiving sums of task weight scores transmitted by the resource provisioning devices when determining that an application request has not been received from one of the resource provisioning devices; selecting a second resource provisioning device having a minimum sum of task weight scores; and assigning the task to the second resource provisioning device, wherein the sums of task weight scores are obtained by adding task weight scores of the tasks currently executed in each resource provisioning device, the task weight score of each task includes only the values of properties that relate to each task, and the task weight score of each task is expressed as follows: task weight score = priority × amount of data wherein the priority of each task is assigned by the resource-management device, and the amount of data is the amount of data used in each task executed by each resource provisioning device. broadcasting work requirements corresponding to the task to a plurality of resource provisioning devices; determining whether an application request transmitted from one of the resource provisioning devices has been received; and assigning the task to a first resource provisioning device of the resource provisioning devices when receiving the application request transmitted from the first resource provisioning device, wherein the method further comprises: receiving sums of task weight scores transmitted by the resource provisioning devices when determining that an application request has not been received from one of the resource provisioning devices; selecting a second resource provisioning device having a minimum sum of task weight scores; and assigning the task to the second resource provisioning device, wherein the sums of task weight scores are obtained by adding task weight scores of the tasks currently executed in each resource provisioning device, the task weight score of each task includes only the values of properties that relate to each task, and the task weight score of each task is expressed as follows: task weight score = priority × amount of data wherein the priority of each task is assigned by the resource-management device, and the amount of data is the amount of data used in each task executed by each resource provisioning device. receiving sums of task weight scores transmitted by the resource provisioning devices when determining that an application request has not been received from one of the resource provisioning devices; selecting a second resource provisioning device having a minimum sum of task weight scores; and assigning the task to the second resource provisioning device, wherein the sums of task weight scores are obtained by adding task weight scores of the tasks currently executed in each resource provisioning device, the task weight score of each task includes only the values of properties that relate to each task, and the task weight score of each task is expressed as follows: task weight score = priority × amount of data wherein the priority of each task is assigned by the resource-management device, and the amount of data is the amount of data used in each task executed by each resource provisioning device.