A data collection method, comprising: a network management device collecting data files to be processed under all leaf directories under a non-leaf directory reported by a network element device; assigning the data files to be processed as a plurality of tasks; and adding the plurality of tasks into a task queue and extracting tasks from the task queue one by one for processing; wherein the step of assigning the data files to be processed as a plurality of tasks comprises: evaluating capacity of the data files to be processed; evaluating local calculation ability; obtaining local configuration parameters; calculating task payload according to the capacity of the data files to be processed, the local calculation ability and the configuration parameter; and assigning the data files to be processed as the plurality of tasks based on the task payload, wherein each task is only responsible for the collection and parse work of a subset of all the leaf directories; wherein the local calculation ability comprises: local CPU processing speed and memory capacity; and the configuration parameter comprises: a number of threads and maximum activation time of the threads; wherein the task payload of each thread is equal to total capacity of the data files to be processed divided by a number of processing batch, and then divided by the number of threads; wherein the number of processing batch = Max (total data CPU processing time / (the number of threads * the maximum activation time), the total capacity of the data files to be processed / the memory capacity), wherein, Max represents to take a maximum; wherein the total data CPU processing time is equal to the total capacity of the data files to be processed divided by the CPU processing speed. a network management device collecting data files to be processed under all leaf directories under a non-leaf directory reported by a network element device; assigning the data files to be processed as a plurality of tasks; and adding the plurality of tasks into a task queue and extracting tasks from the task queue one by one for processing; wherein the step of assigning the data files to be processed as a plurality of tasks comprises: evaluating capacity of the data files to be processed; evaluating local calculation ability; obtaining local configuration parameters; calculating task payload according to the capacity of the data files to be processed, the local calculation ability and the configuration parameter; and assigning the data files to be processed as the plurality of tasks based on the task payload, wherein each task is only responsible for the collection and parse work of a subset of all the leaf directories; evaluating capacity of the data files to be processed; evaluating local calculation ability; obtaining local configuration parameters; calculating task payload according to the capacity of the data files to be processed, the local calculation ability and the configuration parameter; and assigning the data files to be processed as the plurality of tasks based on the task payload, wherein each task is only responsible for the collection and parse work of a subset of all the leaf directories; wherein the local calculation ability comprises: local CPU processing speed and memory capacity; and the configuration parameter comprises: a number of threads and maximum activation time of the threads; wherein the task payload of each thread is equal to total capacity of the data files to be processed divided by a number of processing batch, and then divided by the number of threads; wherein the number of processing batch = Max (total data CPU processing time / (the number of threads * the maximum activation time), the total capacity of the data files to be processed / the memory capacity), wherein, Max represents to take a maximum; wherein the total data CPU processing time is equal to the total capacity of the data files to be processed divided by the CPU processing speed.