Patent ID: 8260911
Filing Date: 2012-09-04
Classification: H04L

Abstract:
1. A dispatching method for polling device data, comprising: reading device type description data, wherein managed devices are sorted according to their types, various types of data of each managed device are sorted to different modules, and a priority attribute and a polling period attribute are assigned to each module respectively; determining a first set of devices to be polled from the managed devices, wherein the first set of devices at least comprises an operation device set; and when a system polling is initiated, dispatching a periodical polling by determining at least one module to be polled currently from the operation device set according to the priority attribute and the polling period attribute of the operation device set, wherein a first set of data items for describing the at least one module comprises a device ID, a module ID, a task ID, an occupied flag, an activation time, a priority and a corresponding daemon ID; inserting the at least one module to a current polling task queue according to said periodical polling; setting a polling initiating time at the summation of the current time plus a polling interval; determining whether there is a free task in the current polling task queue based on the occupied flag; if so, continuing a process of selecting a next device module to be polled from the operation device set, otherwise returning to the determining whether there is a free task; selecting the next device module to be polled from the operation device set; and determining whether the information obtained by selecting a next device module to be polled is Null; if not, assigning a first task ID to the selected device module and inserting the first task ID into the current polling task queue, and simultaneously sending a message for initiating the polling of said device module to a daemon process corresponding to a first daemon ID, then returning to the determining whether there is a free task; if so, determining whether all tasks in the current polling task queue are in free state, if all tasks are in free state, ending the process, otherwise returning to the determining whether there is a free task; wherein said activation time is the current time when inserting a task and is updated when a report about executing situation of the task sent from a daemon has been received; said occupied flag is set free after a corresponding message showing the task has been completed is received or the task is overtime; wherein the selecting the next device module to be polled from the operation device set comprises: (c1) selecting the next device module; (c2) determining whether [(the current time−the last polling time)/polling interval multiple of the selected next device module] is greater than or equal to the system polling interval, if so, going to (c3), otherwise going to (c4); and (c3) determining whether there is a module with higher priority of the selected next device module being polled in the current polling task queue; if so, returning to (c1), otherwise returning the device module information and ending the selecting a next device module to be polled from the operation device set; or (c4) determining whether said polling interval multiple is greater than one; if so, returning to (c1), otherwise returning a message of NULL and ending the selecting a next device module to be polled from the operation device set; wherein the polling interval multiple is a polling period attribute of the module that is the ratio of the module polling period and the system polling period.