WO2022007781A1 - 任务处理方法、边缘计算设备、计算机设备和介质 - Google Patents
任务处理方法、边缘计算设备、计算机设备和介质 Download PDFInfo
- Publication number
- WO2022007781A1 WO2022007781A1 PCT/CN2021/104686 CN2021104686W WO2022007781A1 WO 2022007781 A1 WO2022007781 A1 WO 2022007781A1 CN 2021104686 W CN2021104686 W CN 2021104686W WO 2022007781 A1 WO2022007781 A1 WO 2022007781A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- task
- network element
- unit
- type
- pool
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
Definitions
- the present disclosure relates to the technical field of edge computing, and in particular, to a task processing method, an edge computing device, a computer device, and a computer-readable medium.
- MEC Multi-Access Edge Computing/Mobile Edge Computing, mobile edge computing
- 5G Network-side edge deployment
- the present disclosure provides a task processing method, a network management system, an independent computing node, a computer device, and a computer-readable medium.
- an embodiment of the present disclosure provides a task processing method, including: receiving a task sent by a network device; determining an assignment type of the task, dividing the task into task units according to the assignment type, and assigning the The task unit is put into the task pool; according to the type of each task unit in the task pool, the priority of each task unit in the task pool is determined, and the type of the task unit is the assignment of the task to which the task unit belongs type; determine the task unit to be processed according to the delivery priority; if the current processing capability of the edge computing device does not meet the preset first requirement, determine the first network element device, and send the task unit to be processed to the first network element device, so that the first network element device processes the to-be-processed task unit.
- embodiments of the present disclosure provide an edge computing device, including: a receiving module configured to receive a task sent by a network device; a first determining module configured to determine an assignment type of the task; a dividing module configured to The assignment type divides the task into task units, and puts the task units into the task pool; the second determination module is configured to determine each task unit in the task pool according to the type of each task unit in the task pool.
- embodiments of the present disclosure provide a computer device, including: one or more processors; a storage device on which one or more programs are stored; when the one or more programs are stored by the one or more programs When executed by the multiple processors, the one or more processors are made to implement the above-mentioned task processing method.
- an embodiment of the present disclosure provides a computer-readable medium on which a computer program is stored, wherein the above-mentioned task processing method is implemented when the program is executed.
- FIG. 1 is a flowchart of a task processing method provided by an embodiment of the present disclosure
- FIG. 3 is another flowchart of a task processing method provided by an embodiment of the present disclosure.
- FIG. 5 is another flowchart of a task processing method provided by an embodiment of the present disclosure.
- FIG. 6 is a schematic structural diagram of an edge computing device provided by an embodiment of the present disclosure.
- MEC can provide various resource or service scheduling optimization algorithms
- MEC is not an intelligent node, limited by hardware resources, it is difficult to support complex model training and model optimization.
- the MEC is connected to multiple network element devices.
- the present disclosure proposes a task processing method, edge computing device, computer device, and computer-readable medium based on the idea of federated learning.
- FIG. 1 shows a flowchart of a task processing method provided by an embodiment of the present disclosure.
- This task processing method can be applied to edge computing equipment, namely MEC.
- the task processing method provided by this embodiment includes the following steps 101 to 107 .
- step 101 a task sent by a network device is received.
- the MEC receives the task sent by the network device, and the task may be a periodic task or an urgent real-time task.
- the task sent by the network device to the MEC includes a task type and task content corresponding to the task type.
- the content of the task can include the operation object, the operation time, the task intensity, the complete or partial goal of the task, the computing network structure used in the task calculation, various hyperparameters used in the task calculation and other parameters.
- the task type can include: KPI (Key Performance Indicato, Key performance indicator method) anomaly detection model training, RF (Radio Frequency, radio frequency) fingerprint database model training, etc.
- step 102 the assignment type of the task is determined.
- the MEC determines the assignment type for each task.
- the assignment types include tasks (general tasks), subtasks, iterative tasks, and iterative subtasks.
- Each task received by the MEC can be assigned according to the task, or according to the sub-task, or according to the iterative task, or according to the iterative sub-task. It is necessary to determine the assignment type that matches the received task.
- step 103 the tasks are divided into task units according to the assignment type, and the task units are put into the task pool.
- the MEC divides the task into (one or more) task units according to the assignment type, where the type of the task unit is the assignment type of the task to which the task unit belongs. That is, when the assignment type is a task, the type of the task unit is the task (task unit). When the assignment type is subtask, the task is divided into subtasks (subtask units), and the type of task unit is subtask. The number of subtasks can be pre-configured by the MEC and divided according to the fixed number of configurations. When the assignment type is iterative task, the task is divided into iterative tasks (iterative task units), the type of task unit is iterative task, and the number of iterations can be fixed or not.
- the number of iterations When the number of iterations is fixed, the number of iteration tasks is configured according to a fixed number. ; When the number of iterative tasks is not fixed, only one iterative task is divided.
- the assignment type is iterative subtask, the task is divided into iterative subtasks (iterative subtask units), the type of task unit is iterative subtask, and the number of iterations can be fixed or not.
- the iterative subtasks When the number of iterations is fixed, the iterative subtasks are configured according to the fixed number. When the number of iterative tasks is not fixed, only one iterative subtask is divided. For each task, put the divided task units into the task pool.
- step 104 the delivery priority of each task unit in the task pool is determined according to the type of each task unit in the task pool.
- each task unit in the task pool must determine its corresponding delivery priority, and sort all the task units in the task pool.
- the delivery priority of the next task unit is low.
- the type of each task unit needs to be considered.
- the task units in the task pool are updated in real time, and the delivery priority is also updated in real time.
- all task units in the task pool should be re-sorted, and the delivery priority of each task unit in the task pool should be re-determined.
- step 105 the task unit to be processed is determined according to the delivery priority.
- the MEC finds out the task unit with the highest delivery priority in the task pool, and takes it as the task unit to be processed.
- step 106 if the current processing capability of the edge computing device MEC does not meet the preset first requirement, the first network element device is determined.
- the The task unit needs to perform task transfer, and determine the first network element device corresponding to the task transfer.
- the first network element device here may be pre-specified, or may be any network element device.
- step 107 the to-be-processed task unit is sent to the first network element device, so that the first network element device processes the to-be-processed task unit.
- the MEC sends the task unit to be processed to the first network element device, and the delivered task unit includes the task type corresponding to the task unit, the operation object, the operation time, the task intensity, and the various supercomputers used in the task calculation. parameters, etc.
- the first network element device can find a suitable algorithm and iterative function according to the parameters carried in the task unit, and use the data in the local detection sample database to process the to-be-processed task. After the first network element device has processed the to-be-processed task unit, it must return the processing result to the MEC. If the MEC receives the processing result, it determines that the to-be-processed task unit is completed. If the MEC does not receive the processing result, Then it is determined that the pending task unit is not completed.
- the first network element device may execute the subtask based on a Gaussian detection algorithm.
- the types of the task units to be processed are iterative tasks and iterative subtasks
- the first network element device may execute the iterative tasks and iterative subtasks based on the holt-winters algorithm.
- the MEC is a central network element
- the first network element device is a computing network element.
- the first network element device can apply all algorithms, that is, all algorithms that will be used are pre-stored in the first network element device by default.
- the MEC may encrypt and deliver the task unit to be processed, and the first network element device decrypts it using a pre-agreed key.
- the task processing method provided by the embodiment of the present disclosure divides the current task into multiple task units based on the idea of federated learning when the computing resources of the edge computing device are insufficient, and selects the first network element device from the surrounding network element groups to the task unit. Perform processing, realize the transfer calculation of tasks, share the computing power of the first network element device, improve the computing power of the edge computing device, and reduce the task computing delay.
- the embodiments of the present disclosure are especially suitable for urgent real-time tasks, and can quickly transfer urgent real-time tasks to other network element devices, thereby reducing the task calculation delay.
- the task includes a task type
- the task processing method further includes: configuring an algorithm for the task according to the task type of the task.
- MEC configures the algorithm according to the task type of each task.
- the iteration function needs to be configured according to the algorithm. It should be noted here that the configured algorithm and iterative function do not need to be sent to the network element, and the network element can find the algorithm and iterative function matching the received task unit to be processed in the locally stored algorithm.
- FIG. 2 shows another flowchart of the task processing method provided by the embodiment of the present disclosure.
- the determining the assignment type of the task includes the following steps 201 to 204:
- step 201 if it is determined according to the task type that the task cannot be divided into subtasks, and it is determined according to the algorithm that the task cannot be divided into iterative tasks, the assignment type of the task is determined to be a task.
- step 202 if it is determined according to the task type that the task cannot be divided into subtasks, and it is determined according to the algorithm that the task can be divided into iterative tasks, the assignment type of the task is determined to be an iterative task.
- step 203 if it is determined according to the task type that the task can be divided into subtasks, and it is determined according to the algorithm that the subtasks cannot be divided into iterative subtasks, then the assignment type of the task is determined to be subtasks.
- step 204 if it is determined according to the task type that the task can be divided into subtasks, and it is determined according to the algorithm that the subtasks can be divided into iterative subtasks, the assignment type of the task is determined to be iterative subtasks.
- the MEC determines whether the task can be split into subtasks according to the task type, that is, whether the task can be split into subtasks according to the task type and parameters such as the operation object and operation time corresponding to the task type in the task.
- the MEC determines whether a task can be split into iterative tasks according to a preconfigured algorithm matching the task, and determines whether a subtask can be split into iterative subtasks according to an algorithm matching the task. There are four types of assignment of tasks, including tasks, subtasks, iterative tasks and iterative subtasks.
- the task can be divided into subtasks according to the task type judgment, and the subtasks can also be divided into iterative subtasks.
- the model training of KPI anomaly detection requires anomaly detection model training for 1000 cells, then subtasks can be divided into 100 cells, and the iterative subtasks of iterative gradients and hyperparameters can be unpacked under each subtask.
- the iterative processing result of each first network element device is the output data of gradient, hyperparameter and model.
- FIG. 3 shows another flowchart of the task processing method provided by the embodiment of the present disclosure.
- the delivery priority of each task unit in the task pool is determined (ie, the above step 104 ) , including the following steps 301 to 304:
- step 301 if it is determined that the types of each task unit in the task pool include tasks, the priority of each task unit in the task pool is determined according to the configured weight, scheduling frequency and task execution period of the task.
- the MEC configures a corresponding weight, scheduling frequency, and task execution period for each task in advance, and configures the corresponding weight, scheduling frequency, and task execution period according to the task type.
- the scheduling frequency is the number of times a task is scheduled in a cycle.
- the task execution period is the effective period of the task, and each task must be completed within the effective period. In general, the execution period of a task is less than the scheduling period of the task. Tasks with high scheduling frequency are given priority, tasks with higher weights are given priority, and tasks with shorter execution deadlines are given priority.
- the assignment type is iterative tasks and iterative subtasks
- iterative tasks and iterative subtasks are divided according to a fixed number of iterations; when the number of iterations is not fixed, when each task is divided into task units in advance, each task is divided into only one iterative task or iterative subtask .
- the assignment type is iterative subtasks and subtasks
- the number of subtasks is preconfigured, and when each task is divided into task units in advance, the iterative subtasks and subtasks are divided according to a fixed number of subtasks.
- the tasks are first sorted in descending order of weight. Then, according to the order of scheduling frequency from large to small, the tasks with the same weight are sorted. Then, the tasks with the same weight and the same scheduling frequency are sorted according to the order of task execution period from small to large. The delivery priority of the higher order is higher, and the delivery priority of the lower order is lower.
- This sorting method is defined as the task sorting method.
- the weight, scheduling frequency, and task execution period corresponding to task 1 are 5, 2, and 3, respectively.
- the weight, scheduling frequency, and task execution period corresponding to task 2 are 5, 6, and 3, respectively.
- the corresponding weight, scheduling frequency, and task execution period of task 3 are 5, 2, and 4, respectively, and the corresponding weight, scheduling frequency, and task execution period of task 4 are 10, 2, and 4, respectively.
- the final sorting result is, task 4, task 2, task 1, task 3.
- step 302 if the types of each task unit in the task pool include tasks and subtasks, determine the task to which each task unit in the task pool belongs, and determine the task according to the task's configured weight, scheduling frequency, task execution period and subtask sequence number The delivery priority of each task unit in the pool.
- each task unit in the task pool if the types of each task unit in the task pool include tasks and subtasks, the tasks are first sorted according to the task sorting method, and then the subtask numbers are sorted from small to large. order, sort each subtask under each task branch.
- a task unit with a higher order priority has a higher delivery priority
- a task unit with a lower order has a lower delivery priority.
- step 303 if the types of each task unit in the task pool include tasks and iterative tasks, the task to which each task unit in the task pool belongs is determined, and is determined according to the configured weight, scheduling frequency, task execution period and iteration order of the task The delivery priority of each task unit in the task pool.
- each task unit in the task pool includes tasks and iterative tasks
- the tasks are first sorted according to the task sorting method. Then, sort each iterative task under each task branch in descending order of the iteration order.
- a task unit with a higher order priority has a higher delivery priority
- a task unit with a lower order has a lower delivery priority.
- step 304 if the types of each task unit in the task pool include tasks, subtasks, and iterative tasks, or, the types of each task unit in the task pool include tasks, subtasks, and iterative subtasks, or, in the task pool
- the types of each task unit in the task pool include tasks, subtasks, iterative tasks, and iterative subtasks, then determine the tasks to which each task unit in the task pool belongs, and determine the tasks to which each task unit belongs in the task pool.
- the sequence number determines the delivery priority of each task unit in the task pool.
- each task unit in the task pool includes tasks, subtasks, and iterative tasks
- the tasks are first sorted according to the task sorting method. Then, sort each iterative task under each task branch in descending order of the iteration order. Then, sort the subtasks under each task branch in ascending order of the subtask numbers.
- a task unit with a higher order priority has a higher delivery priority
- a task unit with a lower order has a lower delivery priority.
- each task unit in the task pool includes tasks, subtasks, and iterative subtasks
- the tasks are first sorted according to the task sorting method. Then, sort the subtasks under each task branch in ascending order of the subtask numbers. Then, according to the descending order of the iteration order and the descending order of the subtask numbers, sort each iterative subtask under each task branch.
- a task unit with a higher order priority has a higher delivery priority
- a task unit with a lower order has a lower delivery priority.
- the final sorting result is, 2 iterations subtask 1, 2 iterations subtask 2, 1 iteration subtask 1, 1 iteration subtask 1.
- the delivery priority decreases sequentially.
- determining the delivery priority of each task unit in the task pool according to the type of each task unit in the task pool includes: if the types of each task unit in the task pool include multiple types, Then, the delivery priority of each type of task unit is determined respectively, and according to the delivery priority of each type of task unit, the delivery priority of each task unit in the task pool is determined.
- the scheduling frequency and the task execution period determine the delivery priority of the task unit whose type is the task; determine the delivery priority of the task unit whose type is the subtask according to the subtask sequence number; The delivery priority of task units whose type is iterative task is determined according to the iteration order; the delivery priority of task units whose type is iterative subtask is determined according to the iteration order of iterative subtasks and the subtask serial number.
- the delivery priority of each task unit in the task pool is determined according to the delivery priority of each type of task unit. That is, the delivery priorities of each type of task units are aggregated to obtain the delivery priorities of each task unit in the task pool.
- the delivery priorities of each type of task units are aggregated to obtain the delivery priorities of each task unit in the task pool.
- the specific aggregation process refer to the descriptions of the above steps 301-304.
- the method further includes:
- the type of the task unit in the task pool is an iterative task or an iterative subtask, and it is determined according to the algorithm that the number of iterations is not fixed, when receiving the processing result of the previous iteration returned by the first network element device, if the As a result, if it is determined that the iteration is not over, the next iteration task or the next iteration subtask is generated, and the next iteration task or the next iteration subtask is put into the task pool.
- the iterative task or iterative task other than the first iteration task or the first iteration subtask Subtasks all need to be newly spawned.
- the newly generated iterative task or iterative subtask is put into the task pool, and the delivery priority of each task unit in the task pool is recalculated, and when the delivery priority of the newly generated iterative task or iterative subtask is optimal, the It is sent to the first network element device.
- the MEC receives a processing result returned by the first network element device, and judges that the iteration is completed according to the processing result, no new iterative tasks or iterative subtasks are generated.
- FIG. 4 shows another flowchart of the task processing method provided by the embodiment of the present disclosure. As shown in FIG. 4, in some optional embodiments, the method further includes the following steps 401 to 403:
- step 401 if the allocation type is a subtask or an iterative subtask, the processing result returned by each first network element device is received.
- step 402 if it is determined according to the processing result that the corresponding task has been completed and the current processing capability of the edge computing device meets the preset second requirement, the processing result is iteratively optimized to generate a model.
- step 403 if it is determined according to the processing result that the corresponding task has been completed, and the current processing capability of the edge computing device does not meet the preset second requirement, an aggregation task is generated, the second network element device is determined, and the aggregation task is sent to The second network element device.
- steps 401 to 403 if the allocation type is a subtask or an iterative subtask, the processing results returned by each first network element device need to be aggregated.
- the preset second requirement that is, when its own calculation example is sufficient to handle the aggregation task
- the current processing capability of the MEC does not meet the preset second requirement, that is, when the calculation example itself is insufficient to process the aggregation task, an aggregation task is generated, a second network element device is determined, and the aggregation task is sent to the second network element device.
- the second network element device may be specified, or may be any network element device.
- the aggregation process may involve various algorithms, which are not limited here.
- the iterative processing results of each first network element device are gradients, hyperparameters, and output data of the model. Then the result of the aggregation task completion output is the gradient and hyperparameters.
- FIG. 5 shows another flowchart of the task processing method provided by the embodiment of the present disclosure.
- the determining of the first network element device includes the following steps 501 to 503 ):
- step 501 network element data of each network element device in the network element data pool is obtained.
- the network element data includes distance parameters and performance parameters.
- the performance parameter is the parameter indicating the load capacity of the network element.
- a network element data pool is pre-established in the MEC, and the MEC periodically collects the network element data of each connected network element and saves it in the network element data pool. The data in the network element data pool is updated in real time. It should be noted that the collection period of the network element data is inconsistent with the release period of the task unit to be processed, and the collection process of the network element data and the distribution process of the task unit to be processed are independent of each other.
- step 502 network element devices whose distance parameters and performance parameters meet preset conditions are determined.
- step 503 the first network element device is determined according to the performance parameter.
- the network element set can be determined first according to the distance parameter and the performance parameter, and then the first network element device can be determined from the network element devices that meet the preset conditions according to the performance parameter, and the first network element device is determined by the current period of the MEC.
- the network element equipment with the best computing power can be determined first according to the distance parameter and the performance parameter, and then the first network element device can be determined from the network element devices that meet the preset conditions according to the performance parameter, and the first network element device is determined by the current period of the MEC.
- the performance parameters include: the CPU remaining space ratio, the memory MEM remaining space ratio, the disk DISK remaining space ratio, and the cache memory CACHE remaining space ratio; the distance parameter and the performance parameter meet the predetermined requirements.
- the conditions include: the distance parameter is less than or equal to the first threshold, and the proportion of the remaining CPU space is greater than the second threshold, and the proportion of the remaining space in the MEM is greater than the third threshold, and the proportion of the remaining space in the DISK is greater than the fourth threshold, and the proportion of the remaining space in the CACHE is greater than the third threshold. Five-threshold network element equipment.
- the first network element device when specifying the first network element device that receives the task unit to be processed, consider the remaining space ratio of the network element and the central processing unit that is closer to the MEC, the remaining space ratio of the memory MEM, the remaining space ratio of the disk DISK, and For the network elements with larger values of the ratio of the remaining space in the cache memory, that is, considering the network elements closer to the MEC and the network elements with better computing power; it is also necessary to ensure that the selected network element equipment is online.
- the determining the first network element device according to the performance parameter includes: determining the first network element device according to the CPU remaining space ratio, the MEM remaining space ratio, the DISK remaining space ratio, and the CACHE remaining space ratio. Element equipment sorting; determine the first network element equipment according to the sorting.
- the delivery priority of the higher order is higher, and the delivery priority of the lower order is lower.
- the first network element device is the first network element device in the sequence, that is, the first network element device is the network element device with the strongest computing power in the sequence.
- a first network element device with sufficient computing power is selected from the surrounding network element group to perform task transfer calculation, and the computing power of the network element equipment is shared.
- the edge computing capability of MEC is improved, and the task computing delay is reduced at the same time.
- the method further includes:
- the third network element device is determined, so that the third network element device can process the task interruption message the corresponding task unit.
- the MEC receives the task interruption message returned by the first network element device, and the current processing capability of the MEC does not meet the preset third requirement, that is, the computing power of the MEC is insufficient to process the task unit corresponding to the task interruption message, then The third network element device is re-determined, so that the third network element device processes the task unit corresponding to the task interruption message.
- the third network element device may also receive unfinished partial tasks in the task unit corresponding to the processing task interruption message.
- the task when a task processing interruption occurs in the first network element device, the task can be quickly transferred to other first network element devices, and the task calculation is finally completed after a limited number of task transfer.
- the method further includes:
- the processing result returned by the first network element device is not received within the preset time limit, other first network element devices are determined, and the task unit to be processed is sent to the other first network element devices.
- a preset time limit is assigned to each task unit, that is, the execution time limit of the task unit. If the processing result returned by the first network element device is not received within the preset time limit, indicating that the first network element device has not completed the task within the preset time limit, other first network element devices are determined, and the task unit to be processed is sent to other first network element devices.
- a first network element device with sufficient computing power is quickly selected from the surrounding network element group to transfer the task.
- Computing improve the edge computing capability of MEC, and reduce the task computing delay.
- FIG. 6 shows a schematic structural diagram of an edge computing device provided by an embodiment of the present disclosure. Based on the same technical concept as the embodiment corresponding to FIG. 1 , as shown in FIG. 6 , the edge computing device provided by the embodiment of the present disclosure includes the following modules 11 - 17 .
- the receiving module 11 is configured to receive the task sent by the network device.
- the first determination module 12 is configured to determine the assignment type of the task.
- a division module 13 which is configured to divide the task into task units according to the allocation type, and put the task units into a task pool.
- the second determination module 14 is configured to determine the delivery priority of each task unit in the task pool according to the type of each task unit in the task pool, and the type of the task unit is the type of the task to which the task unit belongs. Allocation type.
- the third determination module 15 is configured to determine the task unit to be processed according to the delivery priority.
- the fourth determination module 16 is configured to determine the first network element device if the third determination module 15 determines that the current processing capability of the edge computing device does not meet the preset first requirement.
- the sending module 17 is configured to send the to-be-processed task unit to the first network element device, so that the first network element device processes the to-be-processed task unit.
- the assignment types include tasks, subtasks, iterative tasks, and iterative subtasks.
- the task includes a task type, and before the determining the assignment type of the task, further includes: configuring an algorithm for the task according to the task type of the task;
- the first determining module 12 is configured to: if it is determined according to the task type that the task cannot be divided into subtasks, and it is determined according to the algorithm that the task cannot be divided is an iterative task, then determine that the assignment type of the task is a task; if it is determined according to the task type that the task cannot be divided into subtasks, and it is determined according to the algorithm that the task can be divided into an iterative task, Then it is determined that the assignment type of the task is an iterative task; if it is determined according to the task type that the task can be divided into subtasks, and it is determined according to the algorithm that the subtask cannot be divided into iterative subtasks, then Determine that the assignment type of the task is a subtask; if it is determined according to the task type that the task can be divided into subtasks, and it is determined according to the algorithm that the subtask can be divided into iterative subtasks, then determine The assignment type of the task is iterative subtask.
- the second determining module 14 is configured to: if the type of each task unit in the task pool includes a task, determine according to the configured weight, scheduling frequency and task execution period of the task The delivery priority of each task unit in the task pool; if the types of each task unit in the task pool include tasks and subtasks, determine the task to which each task unit in the task pool belongs, and determine the task to which each task unit belongs in the task pool The configured weight, scheduling frequency, task execution period, and subtask sequence number determine the delivery priority of each task unit in the task pool; if the types of each task unit in the task pool include tasks and iterative tasks, determine the priority of each task unit in the task pool.
- the task to which each task unit in the task pool belongs, and the priority of each task unit in the task pool is determined according to the configured weight, scheduling frequency, task execution period and iteration order of the task;
- the types of each task unit in the Types include tasks, subtasks, iterative tasks, and iterative subtasks, then determine the task to which each task unit in the task pool belongs, and determine the task to which the task has been configured according to the weight, scheduling frequency, task execution period, iteration order, and subtask number.
- the delivery priority of each task unit in the task pool is determined.
- the second determining module 14 is configured to: if the types of each task unit in the task pool include multiple types, respectively determine the delivery priority of each type of task unit, and According to the delivery priority of each type of task unit, the delivery priority of each task unit in the task pool is determined.
- the priority of the task unit of the task type is determined; the priority of the task unit of the subtask type is determined according to the subtask sequence number determine the delivery priority of the task unit whose type is iterative task according to the iteration order; determine the delivery priority of the task unit whose type is iterative subtask according to the iteration order and the subtask serial number.
- the edge computing device further includes a first generation module and a storage module.
- the first generation module is configured to: if the type of the task unit in the task pool is an iterative task or an iterative subtask, and it is determined according to the algorithm that the number of iterations is not fixed, then when receiving the returned message from the first network element device. In the processing result of the previous iteration, if it is determined according to the processing result that the iteration is not over, the next iteration task or the next iteration subtask is generated.
- the storage module is configured to put the next iteration task or the next iteration subtask into the task pool.
- the receiving module 11 is further configured to: if the allocation type is a subtask or an iterative subtask, receive a processing result returned by each first network element device.
- the edge computing device further includes a second generation module, and the second generation module is configured to: if it is determined according to the processing result that the corresponding task has been completed, and the current processing capability of the edge computing device meets the preset second requirement, then the The above processing results are iteratively optimized to generate a model.
- the sending module 17 is further configured to: if it is determined according to the processing result that the corresponding task has been completed, and the current processing capability of the edge computing device does not meet the preset second requirement, generate an aggregation task, and determine the second network element device, and sending the aggregation task to the second network element device.
- the fourth determining module 16 is configured to: acquire network element data of each network element device in the network element data pool, where the network element data includes distance parameters and performance parameters; determine the distance A network element device whose parameters and the performance parameter satisfy a preset condition; and the first network element device is determined according to the performance parameter.
- the performance parameters include: the CPU remaining space ratio of the central processing unit, the memory MEM remaining space ratio, the disk DISK remaining space ratio, and the cache memory CACHE remaining space ratio.
- the distance parameter and the performance parameter satisfying a preset condition include: the distance parameter is less than or equal to a first threshold, and the CPU remaining space ratio is greater than a second threshold, and the MEM remaining A network element device for which the space ratio is greater than the third threshold, the DISK remaining space ratio is greater than the fourth threshold, and the CACHE remaining space ratio is greater than the fifth threshold.
- the fourth determination module 16 is configured to: determine each network network according to the CPU remaining space ratio, the MEM remaining space ratio, the DISK remaining space ratio and the CACHE remaining space ratio Metadevice sorting.
- the first network element device is determined according to the sorting.
- the edge computing device further includes a fifth determination module, the fifth determination module is configured to: if a task interruption message returned by the first network element device is received, the edge If the current processing capability of the computing device does not meet the preset third requirement, a third network element device is determined, so that the third network element device processes the task unit corresponding to the task interruption message.
- the edge computing device further includes a sixth determination module, and the sixth determination module is configured to: if the processing result returned by the first network element device is not received within a preset time limit, determine other first network element devices, and the to-be-processed task unit is sent to the other first network element devices.
- An embodiment of the present disclosure also provides a computer device, the computer device includes: one or more processors and a storage device; wherein, one or more programs are stored on the storage device, when the one or more programs are stored by the one or more programs described above When executed by one or more processors, the above-mentioned one or more processors implement the task processing methods provided by the foregoing embodiments.
- Embodiments of the present disclosure further provide a computer-readable medium on which a computer program is stored, wherein, when the computer program is executed, the task processing method provided by the foregoing embodiments is implemented.
- Computer storage media includes both volatile and nonvolatile implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules or other data flexible, removable and non-removable media.
- Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cartridges, magnetic tape, magnetic disk storage or other magnetic storage devices, or may Any other medium used to store desired information and which can be accessed by a computer.
- communication media typically embodies computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and can include any information delivery media, as is well known to those of ordinary skill in the art .
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
- Multi Processors (AREA)
Abstract
本公开提出一种任务处理方法、边缘计算设备、计算机设备及计算机可读介质,所述方法包括:接收网络设备发送的任务;确定任务的分配类型,并根据所述分配类型将任务划分为任务单元,并将任务单元放入任务池;根据任务池中各个任务单元的类型,确定任务池中各个任务单元的下发优先级,任务单元的类型为任务单元所属任务的分配类型;根据下发优先级确定待处理的任务单元;若边缘计算设备当前处理能力不满足预设第一要求,则确定第一网元设备,并将待处理的任务单元发送到第一网元设备。在边缘计算设备算力资源不足时,从周边网元群中选择第一网元设备进行任务的转移计算,提升了边缘计算设备的算力,同时降低任务计算延时。
Description
相关申请的交叉引用
本申请要求于2020年7月8提交的中国专利申请NO.202010652486.2的优先权,该中国专利申请的全部内容通过引用结合在本申请中。
本公开涉及边缘计算技术领域,特别涉及一种任务处理方法、边缘计算设备、计算机设备及计算机可读介质。
MEC(Multi-Access Edge Computing/Mobile Edge Computing,移动边缘计算)作为具有运营商特色、网络侧边缘部署的一种边缘计算备受关注,也普遍被认为是5G两大关键的业务使能技术之一,尤其是其计算任务能力。随着各种运维业务的不断拓展,考虑到运维网络未来可能的发展变化,对实时性和智能化的要求越来越高,希望提高MEC的算力,实现MEC智能运维。
发明内容
本公开提供一种任务处理方法、网管系统、独立计算节点、计算机设备及计算机可读介质。
第一方面,本公开实施例提供一种任务处理方法,包括:接收网络设备发送的任务;确定所述任务的分配类型,并根据所述分配类型将所述任务划分为任务单元,并将所述任务单元放入任务池;根据所述任务池中各个任务单元的类型,确定所述任务池中各个任务单元的下发优先级,所述任务单元的类型为所述任务单元所属任务的分配类型;根据所述下发优先级确定待处理的任务单元;若边缘计算设备当前处理能力不满足预设第一要求,则确定第一网元设备,并将所述待处理的任务单元发送到所述第一网元设备,以使所述第一网元设备处理所述待处理的任务单元。
第二方面,本公开实施例提供一种边缘计算设备,包括:接收模块,配置为接收网络设备发送的任务;第一确定模块,配置为确定所述任务的分配类型;划分模块,配置为根据所述分配类型将所述任务划分为任务单元,并将所述任务单元放入任务池;第二确定模块,配置为根据所述任务池中各个任务单元的类型, 确定所述任务池中各个任务单元的下发优先级,所述任务单元的类型为所述任务单元所属任务的分配类型;第三确定模块,配置为根据所述下发优先级确定待处理的任务单元;第四确定模块,配置为若所述边缘计算设备当前处理能力不满足预设第一要求,则确定第一网元设备;发送模块,配置为将所述待处理的任务单元发送到所述第一网元设备,以使所述第一网元设备处理所述待处理的任务单元。
第三方面,本公开实施例提供一种计算机设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述的任务处理方法。
第四方面,本公开实施例提供一种计算机可读介质,其上存储有计算机程序,其中,所述程序被执行时实现如上述的任务处理方法。
图1是本公开实施例提供的一种任务处理方法的流程图;
图2是本公开实施例提供的一种任务处理方法的另一流程图;
图3是本公开实施例提供的一种任务处理方法的另一流程图;
图4是本公开实施例提供的一种任务处理方法的另一流程图;
图5是本公开实施例提供的一种任务处理方法的另一流程图;
图6是本公开实施例提供的一种边缘计算设备的结构示意图。
为使本领域的技术人员更好地理解本公开的技术方案,下面结合附图对本公开提供的报文传输方法、接入网关、计算机可读介质进行详细描述。
在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定 的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
在相关技术中,在近距离边缘云的情况下,虽然使用了MEC的近距离边缘云计算能力,但是MEC的算力有限,尤其在面对一些需要实时解决的紧急任务时,导致无法及时处理任务或面临高延迟。
另外,尽管MEC可以提供各种资源或业务调度优化算法,但MEC并不是智能化节点,受限于硬件资源,难以支撑复杂的模型训练和模型优化。
MEC与多个网元设备连接,为了增加MEC的算力,及时处理任务或降低高延迟,本公开基于联邦学习思路,提出一种任务处理方法、边缘计算设备、计算机设备及计算机可读介质。
图1示出本公开实施例提供的任务处理方法的流程图。该任务处理方法可应用于边缘计算设备,即MEC。如图1所示,本实施例提供的任务处理方法包括以下步骤101至107。
在步骤101中,接收网络设备发送的任务。
在该步骤中,MEC接收网络设备发送的任务,该任务可以是周期性的任务,也可以是紧急实时任务。该网络设备发送给MEC的任务中包括任务类型和该任务类型对应的任务内容。任务内容可以包括操作对象,操作时间,任务力度,任务完整目标或者部分目标,任务计算所用的计算网络结构,任务计算使用的各种超参数等参数,任务类型可以包括:KPI(Key Performance Indicato,关键绩效指标法)异常检测模型训练、RF(Radio Frequency,射频)指纹库模型训练等。
在步骤102中,确定任务的分配类型。
在该步骤中,MEC确定每一个任务的分配类型。所述分配类型包括任务(一般任务)、子任务、迭代任务和迭代子任务。MEC接收到的每一个任务可以按照任务分配,也可以按照子任务分配,也可以按照迭代任务分配,也可以按照迭代子任务分配,需确定接收到的任务相匹配的分配类型。
在步骤103中,根据分配类型将任务划分为任务单元,并将任务单元放入任务池。
在该步骤中,MEC根据分配类型将任务划分为(一个或多个)任务单元,所述任务单元的类型为任务单元所属任务的分配类型。即分配类型为任务时,则任务单元的类型即为任务(任务单元)。分配类型为子任务时,则将任务划分为各个子任务(子任务单元),任务单元的类型为子任务。子任务的个数可由MEC预先配置,按照配置的固定个数进行划分。分配类型为迭代任务时,则将任务划分为迭代任务(迭代任务单元),任务单元的类型为迭代任务,迭代次数可以固定也可以不固定,当迭代次数固定时,按照固定个数配置迭代任务;当迭代任务的个数不固定时,只划分出一个迭代任务。分配类型为迭代子任务时,则将任务划分为迭代子任务(迭代子任务单元),任务单元的类型为迭代子任务,迭代次数 可以固定也可以不固定。当迭代次数固定时,按照固定个数配置迭代子任务,当迭代任务的个数不固定时,只划分出一个迭代子任务。针对各个任务,将划分出的任务单元都放入任务池。
在步骤104中,根据任务池中各个任务单元的类型,确定任务池中各个任务单元的下发优先级。
在该步骤中,任务池中的每一个任务单元都要确定其对应的下发优先级,将任务池中的所有任务单元进行排序,排序在前的任务单元的下发优先级高,排序在后的任务单元的下发优先级低。此外,在确定任务池中各个任务单元的下发优先级时,需考虑各个任务单元的类型。
需要说明的是,任务池中的任务单元是实时更新的,下发优先级也是实时更新的。当任务池中增加一个任务单元时,就要重新将任务池中的所有任务单元进行排序,重新确定任务池中各个任务单元的下发优先级。
在步骤105中,根据下发优先级确定待处理的任务单元。
在该步骤中,MEC找出任务池中下发优先级最高的任务单元,将其作为待处理的任务单元。
在步骤106中,若边缘计算设备MEC当前处理能力不满足预设第一要求,则确定第一网元设备。
在该步骤中,若MEC当前处理能力不满足预设第一要求,即待处理的任务单元的任务消耗资源超过了MEC的当前处理能力,MEC的空闲算力资源不足,则所述待处理的任务单元需要进行任务转移,并确定任务转移的对应第一网元设备。
若MEC当前处理能力满足预设第一要求,即MEC可以处理所述待处理任务,则由MEC处理该待处理的任务单元。此处的第一网元设备可以是预先指定的,也可以任意的网元设备。
在步骤107中,将待处理的任务单元发送到第一网元设备,以使第一网元设备处理待处理的任务单元。
在该步骤中,MEC将待处理的任务单元发送到第一网元设备,下发的任务单元中包括任务单元对应的任务类型,操作对象,操作时间,任务力度,任务计算使用的各种超参数等参数。第一网元设备可以根据任务单元中携带的参数找到相适应的算法和迭代函数,并使用本地的检测样本数据库中的数据,处理所述待处理的任务。在第一网元设备处理完所述待处理的任务单元之后都要向MEC返回处理结果,若MEC接收到该处理结果,则确定待处理的任务单元完成,若MEC未接收到该处理结果,则确定待处理的任务单元未完成。
例如,当待处理的任务单元的类型为子任务时,第一网元设备可以基于高斯检测算法执行该子任务。当待处理的任务单元的类型为迭代任务和迭代子任务时,第一网元设备可以基于holt-winters算法执行该迭代任务和迭代子任务。
在可选的实施方式中,MEC为中心网元,第一网元设备为计算网元。默认第一网元设备可以适用所有的算法,即默认在第一网元设备预先保存所有会用到的 算法。MEC可以对待处理的任务单元加密之后下发,第一网元设备使用预先约定好的密钥对其解密。
本公开实施例提供的任务处理方法在边缘计算设备算力资源不足时,基于联邦学习思路,将当前任务拆分为多个任务单元,从周边网元群中选择第一网元设备对任务单元进行处理,实现任务的转移计算,共享第一网元设备的算力,提升了边缘计算设备的算力,同时降低任务计算延时。本公开实施例尤其适用于紧急实时任务,能够快速将紧急实时任务转移到其他网元设备,降低任务计算延时。
在可选的实施方式中,所述任务中包括任务类型,在所述确定任务的分配类型之前,该任务处理方法还包括:根据任务的任务类型为任务配置算法。
在该步骤中,MEC根据每一个任务的任务类型配置算法。在需要迭代的场景还需根据算法配置迭代函数。此处需说明的是,不需要将配置的算法和迭代函数发到网元,网元可以在本地存储的算法找到与接收到的待处理的任务单元相匹配的算法和迭代函数。
图2示出本公开实施例提供的任务处理方法的另一流程图。如图2所示,在一些可选的实施方式中,所述确定所述任务的分配类型(即上述步骤102),包括以下步骤201至204:
在步骤201中,若根据任务类型确定出不能将任务划分为子任务,且根据算法确定出不能将任务划分为迭代任务,则确定任务的分配类型为任务。
在步骤202中,若根据任务类型确定出不能将任务划分为子任务,且根据算法确定出能将任务划分为迭代任务,则确定任务的分配类型为迭代任务。
在步骤203中,若根据任务类型确定出能将任务划分为子任务,且根据算法确定出不能将子任务划分为迭代子任务,则确定任务的分配类型为子任务。
在步骤204中,若根据任务类型确定出能将任务划分为子任务,且根据算法确定出能将子任务划分为迭代子任务,则确定任务的分配类型为迭代子任务。
在步骤201-步骤204中,MEC根据任务类型确定任务能不能拆分成子任务,即根据任务类型和该任务中任务类型对应的操作对象、操作时间等参数确定任务能不能拆分成子任务。MEC根据预先配置的与所述任务匹配的算法确定任务能不能拆分成迭代任务,并根据与所述任务匹配的算法确定子任务能不能拆分成迭代子任务。以确定出任务的分配类型为四种,包括任务、子任务、迭代任务和迭代子任务。
在一个示例性实例中,若任务的任务类型为KPI异常检测的模型训练,根据任务类型判断可以对该任务拆分子任务,子任务也可以拆分成迭代子任务。KPI异常检测的模型训练需要对1000个小区进行异常检测模型训练,则可以按100个小区进行拆分子任务,每个子任务下可以拆封出迭代梯度和超参的迭代子任务。此时,每个第一网元设备的迭代的处理结果为梯度、超参和模型的输出数据。
进一步的,图3示出本公开实施例提供的任务处理方法的另一流程图。如图3所示,在一些可选的实施方式中,所述根据所述任务池中各个任务单元的类型, 确定所述任务池中的各个任务单元的下发优先级(即上述步骤104),包括以下步骤301至304:
在步骤301中,若判定任务池中各个任务单元的类型包括任务,则根据任务已配置的权重、调度频次和任务执行期限确定任务池中的各个任务单元的下发优先级。
在一些可选的实施方式中,MEC预先为每一个任务配置对应的权重、调度频次和任务执行期限,根据任务类型配置对应的权重、调度频次和任务执行期限。调度频次为一个周期调度一个任务的次数。任务执行期限为任务的有效期限,每一个任务需在有效期限内完成。一般情况,任务执行期限小于任务的调度周期。调度频次高的任务优先下发,权重高的任务优先下发,任务执行期限低的任务优先下发。
在一些可选的实施方式中,当分配类型为迭代任务和迭代子任务时,预先确定迭代任务和迭代子任务的迭代次数是否固定,在迭代次数固定时,配置该固定值,当预先对每个任务划分任务单元时,按照固定的迭代次数划分迭代任务和迭代子任务;在迭代次数不固定时,当预先对每个任务划分任务单元时,每个任务只划分一个迭代任务或迭代子任务。当分配类型为迭代子任务和子任务时,预先配置子任务的个数,当预先对每个任务划分任务单元时,按照固定的子任务的个数划分迭代子任务和子任务。
在一些可选的实施方式中,在该步骤中,若任务池中各个任务单元的类型只包括任务,则先按照权重由大到小的顺序,对各任务排序。再按照调度频次由大到小的顺序,对权重相同的任务排序。再按照任务执行期限由小到大的顺序对权重相同、调度频次也相同的任务排序。排序靠前的下发优先级高,排序靠后的下发优先级低。对任务进行排序时,优先考虑权重,再考虑调度频次,再考虑任务执行期限。定义此种排序方法为任务排序方法。
例如,任务池中一共有四个任务,任务1对应的权重、调度频次和任务执行期限分别为5,2,3,任务2对应的权重、调度频次和任务执行期限分别为5,6,3,任务3对应的权重、调度频次和任务执行期限分别为5,2,4,任务4对应的权重、调度频次和任务执行期限分别为10,2,4。则最终的排序结果为,任务4,任务2,任务1,任务3。
在步骤302中,若任务池中各个任务单元的类型包括任务和子任务,则确定任务池中各个任务单元所属的任务,并根据任务已配置的权重、调度频次、任务执行期限和子任务序号确定任务池中各个任务单元的下发优先级。
在一些可选的实施方式中,在该步骤中,若任务池中各个任务单元的类型包括任务和子任务,则先按照所述任务排序方法对各任务排序,再按照子任务序号由小到大的顺序,对每个任务分支下的各个子任务排序。排序靠前的任务单元的下发优先级高,排序靠后的任务单元的下发优先级低。
在步骤303中,若任务池中各个任务单元的类型包括任务和迭代任务,则确 定任务池中各个任务单元所属的任务,并根据任务已配置的权重、调度频次、任务执行期限和迭代次序确定任务池中各个任务单元的下发优先级。
在一些可选的实施方式中,在该步骤中,若任务池中各个任务单元的类型包括任务和迭代任务,则先按照所述任务排序方法对各任务排序。再按照迭代次序由大到小的顺序,对每个任务分支下的各个迭代任务排序。排序靠前的任务单元的下发优先级高,排序靠后的任务单元的下发优先级低。
在步骤304中,若任务池中的各个任务单元的类型包括任务、子任务和迭代任务,或者,任务池中的各个任务单元的类型包括任务、子任务和迭代子任务,或者,任务池中的各个任务单元的类型包括任务、子任务、迭代任务和迭代子任务,则确定任务池中各个任务单元所属的任务,并根据任务已配置的权重、调度频次、任务执行期限、迭代次序和子任务序号确定任务池中的各个任务单元的下发优先级。
在一些可选的实施方式中,在该步骤中,若任务池中各个任务单元的类型包括任务、子任务、迭代任务,则先按照所述任务排序方法对各任务排序。再按照迭代次序由大到小的顺序,对每个任务分支下的各个迭代任务排序。再按照子任务序号由小到大的顺序,对每个任务分支下的各个子任务排序。排序靠前的任务单元的下发优先级高,排序靠后的任务单元的下发优先级低。
在一些可选的实施方式中,在该步骤中,若任务池中各个任务单元的类型包括任务、子任务、迭代子任务,则先按照所述任务排序方法对各任务排序。再按照子任务序号由小到大的顺序,对每个任务分支下的各个子任务排序。再按照迭代次序由大到小的顺序和子任务序号由小到大的顺序,对每个任务分支下的各个迭代子任务排序。排序靠前的任务单元的下发优先级高,排序靠后的任务单元的下发优先级低。
例如,一个任务划分为两个子任务,并且一个子任务划分为两个迭代子任务,则最终的排序结果为,2次迭代子任务1,2次迭代子任务2,1次迭代子任务1,1次迭代子任务1。下发优先级依次降低。
在一些可选的实施方式中,所述根据任务池中各个任务单元的类型,确定任务池中的各个任务单元的下发优先级,包括:若任务池中各任务单元的类型包括多种,则分别确定每种类型的任务单元的下发优先级,并根据每种类型的任务单元的下发优先级,确定任务池中的各个任务单元的下发优先级。
其中,根据任务单元所属的任务已配置的权重、调度频次和任务执行期限确定类型为任务的任务单元的下发优先级;根据子任务序号确定类型为子任务的任务单元的下发优先级;根据迭代次序确定类型为迭代任务的任务单元的下发优先级;根据迭代子任务的迭代次序和子任务序号确定类型为迭代子任务的任务单元的下发优先级。
在该步骤中,根据每种类型的任务单元的下发优先级,确定任务池中的各个任务单元的下发优先级。即对每种类型的任务单元的下发优先级进行汇总,得出 任务池中的各个任务单元的下发优先级,具体汇总的过程参照上述步骤301-步骤304的说明。确定任务单元的下发优先级时,优先考虑任务单元所属的任务已配置的权重、调度频次和任务执行期限,再考虑迭代次数,再考虑子任务序号。
在一些可选的实施方式中,所述方法还包括:
若任务池中任务单元的类型为迭代任务或迭代子任务,且根据算法确定出迭代次数不固定,则当接收到第一网元设备返回的前一次迭代的处理结果时,若根据所述处理结果判定迭代未结束,则生成下一次迭代任务或下一次迭代子任务,并将下一次迭代任务或下一次迭代子任务放入所述任务池中。
在该步骤中,若任务池中任务单元的类型为迭代任务或迭代子任务,且根据算法确定出迭代次数不固定,除第一次迭代任务或第一次迭代子任务以外的迭代任务或迭代子任务都需要新生成。新生成的迭代任务或迭代子任务放入任务池中,重新计算任务池中的各个任务单元的下发优先级,并在新生成的迭代任务或迭代子任务下发优先级最优时,将其发送至第一网元设备。直至MEC接收到某一次第一网元设备返回的处理结果,并根据处理结果判断迭代完成,则不再生成新的迭代任务或迭代子任务。
进一步的,图4示出本公开实施例提供的任务处理方法的另一流程图。如图4所示,在一些可选的实施方式中,所述方法还包括以下步骤401至403:
在步骤401中,若分配类型为子任务或迭代子任务,则接收各第一网元设备返回的处理结果。
在步骤402中,若根据处理结果确定相应任务已完成,且所述边缘计算设备当前处理能力满足预设第二要求,则对处理结果迭代优化,生成模型。
在步骤403中,若根据处理结果确定相应任务已完成,且所述边缘计算设备当前处理能力不满足预设第二要求,则生成汇聚任务,确定第二网元设备,并将汇聚任务发送至第二网元设备。
在一些可选的实施方式中,在步骤401-步骤403中,若分配类型为子任务或迭代子任务,则需要汇聚各第一网元设备返回的处理结果。当MEC当前处理能力满足预设第二要求,即本身算例足够处理汇聚任务时,对各第一网元设备返回的处理结果迭代优化,生成模型。当MEC当前处理能力不满足预设第二要求,即本身算例不足够处理汇聚任务时,生成汇聚任务,确定第二网元设备,并将汇聚任务发送至第二网元设备。
需要说明的是,此处的汇聚任务不用拆分。第二网元设备可以指定,也可以是任意的网元设备。汇聚的过程可以涉及多种算法,此处不作限定。
例如,每个第一网元设备的迭代的处理结果为梯度、超参和模型的输出数据。则汇聚任务完成输出的结果为梯度和超参。
进一步的,图5示出本公开实施例提供的任务处理方法的另一流程图。如图5所示,在一些可选的实施方式中,所述确定第一网元设备(即上述步骤106),包括以下步骤501至503):
在步骤501中,获取网元数据池中各网元设备的网元数据。
在一些可选的实施方式中,所述网元数据包括距离参数和性能参数。性能参数即表明网元负荷能力的参数。在MEC中预先建立网元数据池,MEC周期性采集连接的各网元的网元数据,保存在网元数据池中。网元数据池中的数据是实时更新的。需要说明的是,网元数据的采集周期与待处理的任务单元的下发周期不一致,网元数据的采集过程与待处理的任务单元的下发的过程彼此独立。
在步骤502中,确定距离参数和性能参数满足预设条件的网元设备。
在步骤503中,根据性能参数确定第一网元设备。
即,可先根据距离参数和性能参数确定网元集,然后根据性能参数从满足预设条件的网元设备中确定第一网元设备,所述第一网元设备即为MEC当前周期确定出的算力最优的网元设备。
在一些可选的实施方式中,所述性能参数包括:中央处理器CPU剩余空间比例、内存MEM剩余空间比例、磁盘DISK剩余空间比例和高速缓冲存储器CACHE剩余空间比例;距离参数和性能参数满足预设条件包括:距离参数小于或等于第一阈值,且CPU剩余空间比例大于第二阈值,且MEM剩余空间比例大于第三阈值,且DISK剩余空间比例大于第四阈值,且CACHE剩余空间比例大于第五阈值的网元设备。
需要说明的是,在指定接收待处理的任务单元的第一网元设备时,考虑距离MEC较近的网元和中央处理器CPU剩余空间比例、内存MEM剩余空间比例、磁盘DISK剩余空间比例和高速缓冲存储器CACHE剩余空间比例的值均较大的网元,即考虑距离MEC较近的网元和算力要优的网元;还需要保证选出的网元设备在线。
在一些可选的实施方式中,所述根据所述性能参数确定所述第一网元设备,包括:根据CPU剩余空间比例、MEM剩余空间比例、DISK剩余空间比例和CACHE剩余空间比例对各个网元设备排序;根据排序确定第一网元设备。
在上述步骤中,先按照CPU剩余空间比例由大到小的顺序,对各网元设备排序。再按照MEM剩余空间比例由大到小的顺序,对CPU剩余空间比例相同的网元设备排序。再按照DISK剩余空间比例由大到小的顺序对CPU剩余空间比例相同、MEM剩余空间比例也相同的网元设备排序。再按照CACHE剩余空间比例由大到小的顺序对CPU剩余空间比例相同、MEM剩余空间比例也相同、DISK剩余空间比例也相同的网元设备排序。排序靠前的下发优先级高,排序靠后的下发优先级低。第一网元设备是序列中排在第一位的网元设备,即该第一网元设备是序列中算力最强的网元设备。
在本公开实施例中,在MEC算力资源不足时基于联邦学习思路,从周边网元群中选择一个足够算力的第一网元设备进行任务的转移计算,共享网元设备的算力,提升了MEC的边缘计算能力,同时降低任务计算延时。
在一些可选的实施方式中,所述将待处理的任务单元发送到所述第一网元设备(步骤107)之后,还包括:
若接收到第一网元设备返回的任务中断消息,且所述边缘计算设备当前处理能力不满足预设第三要求,则确定第三网元设备,以使第三网元设备处理任务中断消息对应的任务单元。
在该步骤中,若MEC接收到第一网元设备返回的任务中断消息,且MEC当前处理能力不满足预设第三要求,即MEC的算力不足够处理任务中断消息对应的任务单元,则重新确定第三网元设备,以使第三网元设备处理任务中断消息对应的任务单元。
在一种可选的实施方式中,第三网元设备也可以接收处理任务中断消息对应的任务单元中未完成的部分任务。
本公开实施例中,在第一网元设备发生任务处理中断时可以将任务快速转移到其它第一网元设备,经过有限次的任务转移,最终完成任务计算。
在一些可选的实施方式中,所述将待处理的任务单元发送到所述第一网元设备(步骤107)之后,还包括:
若在预设期限内未接收到第一网元设备返回的处理结果,则确定其他的第一网元设备,并待处理的任务单元发送到其他的第一网元设备。
在确定每个任务的分配类型,并根据分配类型将每个任务划分为任务单元之后,为每一个任务单元分配预设期限,即任务单元的执行期限。若在预设期限内未接收到第一网元设备返回的处理结果,表明预设期限内第一网元设备未完成任务,则确定其他的第一网元设备,并将待处理的任务单元发送到其他的第一网元设备。
本公开实施例中,尤其当任务是紧急实时任务,在MEC算力资源不足时基于联邦学习思路,从周边网元群中快速选择一个足够算力的其他的第一网元设备进行任务的转移计算,提升MEC的边缘计算能力,同时降低任务计算延时。
图6示出本公开实施例提供的边缘计算设备的结构示意图。基于与图1对应的实施例相同的技术构思,如图6所示,本公开实施例提供的边缘计算设备,包括如下模块11-17。
接收模块11,其配置为接收网络设备发送的任务。
第一确定模块12,其配置为确定所述任务的分配类型。
划分模块13,其配置为根据所述分配类型将所述任务划分为任务单元,并将所述任务单元放入任务池。
第二确定模块14,其配置为根据所述任务池中各个任务单元的类型,确定所述任务池中各个任务单元的下发优先级,所述任务单元的类型为所述任务单元所属任务的分配类型。
第三确定模块15,其配置为根据所述下发优先级确定待处理的任务单元。
第四确定模块16,其配置为若第三确定模块15确定所述边缘计算设备当前处理能力不满足预设第一要求,则确定第一网元设备。
发送模块17,其配置为将所述待处理的任务单元发送到所述第一网元设备, 以使所述第一网元设备处理所述待处理的任务单元。
在一些可选的实施方式中,所述分配类型包括任务、子任务、迭代任务和迭代子任务。
在一些可选的实施方式中,所述任务中包括任务类型,所述确定所述任务的分配类型之前,还包括:根据所述任务的任务类型为所述任务配置算法;
在一些可选的实施方式中,所述第一确定模块12配置为:若根据所述任务类型确定出不能将所述任务划分为子任务,且根据所述算法确定出不能将所述任务划分为迭代任务,则确定所述任务的分配类型为任务;若根据所述任务类型确定出不能将所述任务划分为子任务,且根据所述算法确定出能将所述任务划分为迭代任务,则确定所述任务的分配类型为迭代任务;若根据所述任务类型确定出能将所述任务划分为子任务,且根据所述算法确定出不能将所述子任务划分为迭代子任务,则确定所述任务的分配类型为子任务;若根据所述任务类型确定出能将所述任务划分为子任务,且根据所述算法确定出能将所述子任务划分为迭代子任务,则确定所述任务的分配类型为迭代子任务。
在一些可选的实施方式中,所述第二确定模块14配置为:若所述任务池中各个任务单元的类型包括任务,则根据所述任务已配置的权重、调度频次和任务执行期限确定所述任务池中的各个任务单元的下发优先级;若所述任务池中各个任务单元的类型包括任务和子任务,则确定所述任务池中各个任务单元所属的任务,并根据所述任务已配置的权重、调度频次、任务执行期限和子任务序号确定所述任务池中各个任务单元的下发优先级;若所述任务池中各个任务单元的类型包括任务和迭代任务,则确定所述任务池中各个任务单元所属的任务,并根据所述任务已配置的权重、调度频次、任务执行期限和迭代次序确定所述任务池中各个任务单元的下发优先级;若所述任务池中的各个任务单元的类型包括任务、子任务和迭代任务,或者,所述任务池中的各个任务单元的类型包括任务、子任务和迭代子任务,或者,所述任务池中的各个任务单元的类型包括任务、子任务、迭代任务和迭代子任务,则确定所述任务池中各个任务单元所属的任务,并根据所述任务已配置的权重、调度频次、任务执行期限、迭代次序和子任务序号确定所述任务池中的各个任务单元的下发优先级。
在一些可选的实施方式中,所述第二确定模块14配置为:若所述任务池中各任务单元的类型包括多种,则分别确定每种类型的任务单元的下发优先级,并根据每种类型的任务单元的下发优先级,确定所述任务池中的各个任务单元的下发优先级。
其中,根据所述任务单元所属的任务已配置的权重、调度频次和任务执行期限确定类型为任务的任务单元的下发优先级;根据子任务序号确定类型为子任务的任务单元的下发优先级;根据迭代次序确定类型为迭代任务的任务单元的下发优先级;根据迭代次序和子任务序号确定类型为迭代子任务的任务单元的下发优先级。
在一些可选的实施方式中,所述边缘计算设备还包括第一生成模块和存储模块。
第一生成模块配置为:若所述任务池中任务单元的类型为迭代任务或迭代子任务,且根据所述算法确定出迭代次数不固定,则当接收到所述第一网元设备返回的前一次迭代的处理结果时,若根据所述处理结果判定迭代未结束,则生成下一次迭代任务或下一次迭代子任务。
存储模块配置为将所述下一次迭代任务或下一次迭代子任务放入所述任务池中。
在一些可选的实施方式中,所述接收模块11还配置为:若所述分配类型为子任务或迭代子任务,则接收各第一网元设备返回的处理结果。
所述边缘计算设备还包括第二生成模块,第二生成模块配置为:若根据所述处理结果确定相应任务已完成,且所述边缘计算设备当前处理能力满足预设第二要求,则对所述处理结果迭代优化,生成模型。
所述发送模块17还配置为:若根据所述处理结果确定相应任务已完成,且所述边缘计算设备当前处理能力不满足预设第二要求,则生成汇聚任务,确定第二网元设备,并将所述汇聚任务发送至所述第二网元设备。
在一些可选的实施方式中,所述第四确定模块16配置为:获取网元数据池中各网元设备的网元数据,所述网元数据包括距离参数和性能参数;确定所述距离参数和所述性能参数满足预设条件的网元设备;根据所述性能参数确定所述第一网元设备。
在一些可选的实施方式中,所述性能参数包括:中央处理器CPU剩余空间比例、内存MEM剩余空间比例、磁盘DISK剩余空间比例和高速缓冲存储器CACHE剩余空间比例。
在一些可选的实施方式中,所述距离参数和所述性能参数满足预设条件包括:距离参数小于或等于第一阈值,且所述CPU剩余空间比例大于第二阈值,且所述MEM剩余空间比例大于第三阈值,且所述DISK剩余空间比例大于第四阈值,且所述CACHE剩余空间比例大于第五阈值的网元设备。
在一些可选的实施方式中,所述第四确定模块16配置为:根据所述CPU剩余空间比例、所述MEM剩余空间比例、所述DISK剩余空间比例和所述CACHE剩余空间比例对各个网元设备排序。根据排序确定第一网元设备。
在一些可选的实施方式中,所述边缘计算设备还包括第五确定模块,所述第五确定模块配置为:若接收到所述第一网元设备返回的任务中断消息,且所述边缘计算设备当前处理能力不满足预设第三要求,则确定第三网元设备,以使所述第三网元设备处理所述任务中断消息对应的任务单元。
在一些实施例中,所述边缘计算设备还包括第六确定模块,所述第六确定模块配置为:若在预设期限内未接收到所述第一网元设备返回的处理结果,则确定其他的第一网元设备,并所述待处理的任务单元发送到所述其他的第一网元设备。
本公开实施例还提供了一种计算机设备,该计算机设备包括:一个或多个处理器以及存储装置;其中,存储装置上存储有一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如前述各实施例所提供的任务处理方法。
本公开实施例还提供了一种计算机可读介质,其上存储有计算机程序,其中,该计算机程序被执行时实现如前述各实施例所提供的任务处理方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本发明的范围的情况下,可进行各种形式和细节上的改变。
Claims (15)
- 一种任务处理方法,包括:接收网络设备发送的任务;确定所述任务的分配类型,并根据所述分配类型将所述任务划分为任务单元,并将所述任务单元放入任务池;根据所述任务池中各个任务单元的类型,确定所述任务池中各个任务单元的下发优先级,所述任务单元的类型为所述任务单元所属任务的分配类型;根据所述下发优先级确定待处理的任务单元;若边缘计算设备当前处理能力不满足预设第一要求,则确定第一网元设备,并将所述待处理的任务单元发送到所述第一网元设备,以使所述第一网元设备处理所述待处理的任务单元。
- 如权利要求1所述的方法,其中,所述分配类型包括任务、子任务、迭代任务和迭代子任务。
- 如权利要求2所述的方法,其中,所述任务中包括任务类型,所述确定所述任务的分配类型之前,还包括:根据所述任务的任务类型为所述任务配置算法;所述确定所述任务的分配类型,包括:若根据所述任务类型确定出不能将所述任务划分为子任务,且根据所述算法确定出不能将所述任务划分为迭代任务,则确定所述任务的分配类型为任务;若根据所述任务类型确定出不能将所述任务划分为子任务,且根据所述算法确定出能将所述任务划分为迭代任务,则确定所述任务的分配类型为迭代任务;若根据所述任务类型确定出能将所述任务划分为子任务,且根据所述算法确定出不能将所述子任务划分为迭代子任务,则确定所述任务的分配类型为子任务;若根据所述任务类型确定出能将所述任务划分为子任务,且根据所述算法确定出能将所述子任务划分为迭代子任务,则确定所述任务的分配类型为迭代子任务。
- 如权利要求2所述的方法,其中,所述根据所述任务池中各个任务单元的类型,确定所述任务池中的各个任务单元的下发优先级,包括:若所述任务池中各个任务单元的类型包括任务,则根据所述任务已配置的权重、调度频次和任务执行期限确定所述任务池中的各个任务单元的下发优先级;若所述任务池中各个任务单元的类型包括任务和子任务,则确定所述任务池中各个任务单元所属的任务,并根据所述任务已配置的权重、调度频次、任务执行期限和子任务序号确定所述任务池中各个任务单元的下发优先级;若所述任务池中各个任务单元的类型包括任务和迭代任务,则确定所述任务池中各个任务单元所属的任务,并根据所述任务已配置的权重、调度频次、任务执行期限和迭代次序确定所述任务池中各个任务单元的下发优先级;若所述任务池中的各个任务单元的类型包括任务、子任务和迭代任务,或者,所述任务池中的各个任务单元的类型包括任务、子任务和迭代子任务,或者,所述任务池中的各个任务单元的类型包括任务、子任务、迭代任务和迭代子任务,则确定所述任务池中各个任务单元所属的任务,并根据所述任务已配置的权重、调度频次、任务执行期限、迭代次序和子任务序号确定所述任务池中的各个任务单元的下发优先级。
- 如权利要求4所述的方法,其中,所述根据所述任务池中各个任务单元的类型,确定所述任务池中的各个任务单元的下发优先级,包括:若所述任务池中各任务单元的类型包括多种,则分别确定每种类型的任务单元的下发优先级,并根据每种类型的任务单元的下发优先级,确定所述任务池中的各个任务单元的下发优先级;其中,根据所述任务单元所属的任务已配置的权重、调度频次和任务执行期限确定类型为任务的任务单元的下发优先级;根据子任务序号确定类型为子任务的任务单元的下发优先级;根据迭代次序确定类型为迭代任务的任务单元的下发优先级;根据迭代次序和子任务序号确定类型为迭代子任务的任务单元的下发优先级。
- 如权利要求2所述的方法,其中,所述方法还包括:若所述任务池中任务单元的类型为迭代任务或迭代子任务,且根据所述算法确定出迭代次数不固定,则当接收到所述第一网元设备返回的前一次迭代的处理结果时,若根据所述处理结果判定迭代未结束,则生成下一次迭代任务或下一次迭代子任务,并将所述下一次迭代任务或下一次迭代子任务放入所述任务池中。
- 如权利要求2所述的方法,其中,所述方法还包括:若所述分配类型为子任务或迭代子任务,则接收各第一网元设备返回的处理结果;若根据所述处理结果确定相应任务已完成,且所述边缘计算设备当前处理能力满足预设第二要求,则对所述处理结果迭代优化,生成模型;若根据所述处理结果确定相应任务已完成,且所述边缘计算设备当前处理能力不满足预设第二要求,则生成汇聚任务,确定第二网元设备,并将所述汇聚任务发送至所述第二网元设备。
- 如权利要求1所述的方法,其中,所述确定第一网元设备,包括:获取网元数据池中各网元设备的网元数据,所述网元数据包括距离参数和性能参数;确定所述距离参数和所述性能参数满足预设条件的网元设备;根据所述性能参数确定所述第一网元设备。
- 如权利要求8所述的方法,其中,所述性能参数包括:中央处理器CPU剩余空间比例、内存MEM剩余空间比例、磁盘DISK剩余空间比例和高速缓冲存储器CACHE剩余空间比例;所述距离参数和所述性能参数满足预设条件包括:距离参数小于或等于第一阈值,且所述CPU剩余空间比例大于第二阈值,且所述MEM剩余空间比例大于第三阈值,且所述DISK剩余空间比例大于第四阈值,且所述CACHE剩余空间比例大于第五阈值的网元设备;所述根据所述性能参数确定所述第一网元设备,包括:根据所述CPU剩余空间比例、MEM剩余空间比例、DISK剩余空间比例和CACHE剩余空间比例对各个网元设备排序;根据所述排序确定所述第一网元设备。
- 如权利要求1-9任一项所述的方法,其中,所述将所述待处理的任务单元发送到所述第一网元设备之后,还包括:若接收到所述第一网元设备返回的任务中断消息,且所述边缘计算设备当前处理能力不满足预设第三要求,则确定第三网元设备,以使所述第三网元设备处理所述任务中断消息对应的任务单元。
- 如权利要求1所述的方法,其中,所述将所述待处理的任务单元发送到所述第一网元设备之后,所述方法还包括:若在预设期限内未接收到所述第一网元设备返回的处理结果,则确定其他的第一网元设备,并所述待处理的任务单元发送到所述其他的第一网元设备。
- 如权利要求1-11任一项所述的方法,其中,所述方法由所述边缘计算设备实施;且若所述边缘计算设备当前处理能力满足所述预设第一要求,则由所述边缘计算设备自身处理所述待处理的任务单元。
- 一种边缘计算设备,包括:接收模块,配置为接收网络设备发送的任务;第一确定模块,配置为确定所述任务的分配类型;划分模块,配置为根据所述分配类型将所述任务划分为任务单元,并将所述任务单元放入任务池;第二确定模块,配置为根据所述任务池中各个任务单元的类型,确定所述任务池中各个任务单元的下发优先级,所述任务单元的类型为所述任务单元所属任务的分配类型;第三确定模块,配置为根据所述下发优先级确定待处理的任务单元;第四确定模块,配置为若所述边缘计算设备当前处理能力不满足预设第一要求,则确定第一网元设备;发送模块,配置为将所述待处理的任务单元发送到所述第一网元设备,以使所述第一网元设备处理所述待处理的任务单元。
- 一种计算机设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-12任一项所述的任务处理方法。
- 一种计算机可读介质,其上存储有计算机程序,其中,所述程序被执行时实现如权利要求1-12任一项所述的任务处理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP21838803.1A EP4177752A4 (en) | 2020-07-08 | 2021-07-06 | JOB PROCESSING METHOD, PERIPHERAL COMPUTER DEVICE, COMPUTER DEVICE AND MEDIUM |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010652486.2A CN113918314B (zh) | 2020-07-08 | 2020-07-08 | 任务处理方法、边缘计算设备、计算机设备、介质 |
| CN202010652486.2 | 2020-07-08 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022007781A1 true WO2022007781A1 (zh) | 2022-01-13 |
Family
ID=79231603
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2021/104686 Ceased WO2022007781A1 (zh) | 2020-07-08 | 2021-07-06 | 任务处理方法、边缘计算设备、计算机设备和介质 |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4177752A4 (zh) |
| CN (1) | CN113918314B (zh) |
| WO (1) | WO2022007781A1 (zh) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114677781A (zh) * | 2022-04-06 | 2022-06-28 | 广州文远知行科技有限公司 | 一种车辆数据上传方法及其相关装置 |
| CN114780214A (zh) * | 2022-04-01 | 2022-07-22 | 中国电信股份有限公司 | 任务处理方法、装置、系统及设备 |
| CN115114001A (zh) * | 2022-06-29 | 2022-09-27 | 中国银行股份有限公司 | 一种任务处理方法及装置、电子设备、存储介质 |
| CN117251274A (zh) * | 2023-11-14 | 2023-12-19 | 苏州元脑智能科技有限公司 | 作业调度方法、装置、电子设备及存储介质 |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114461309A (zh) * | 2022-01-27 | 2022-05-10 | 联信弘方(北京)科技股份有限公司 | 指令自动编排及自动下发方法 |
| US20250390343A1 (en) * | 2022-06-30 | 2025-12-25 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and apparatus for application management of artificial intelligence, and communication device |
| CN117499341A (zh) * | 2022-07-26 | 2024-02-02 | 中兴通讯股份有限公司 | 计算任务的处理方法、第一设备和存储介质 |
| CN115858109B (zh) * | 2022-10-31 | 2025-08-22 | 西安空间无线电技术研究所 | 考虑子任务依赖及执行截止期的多天基计算任务部署方法 |
| CN115964154A (zh) * | 2023-01-30 | 2023-04-14 | 重庆长安汽车股份有限公司 | 基于移动终端的并行计算系统 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103279385A (zh) * | 2013-06-01 | 2013-09-04 | 北京华胜天成科技股份有限公司 | 一种云计算环境中集群任务调度方法及系统 |
| US20140331233A1 (en) * | 2013-05-06 | 2014-11-06 | Abbyy Infopoisk Llc | Task distribution method and system |
| CN104731649A (zh) * | 2015-04-21 | 2015-06-24 | 中国建设银行股份有限公司 | 一种多任务处理方法及装置 |
| US20190034223A1 (en) * | 2016-03-31 | 2019-01-31 | Alibaba Group Holding Limited | Task resource scheduling method and apparatus |
| CN110109745A (zh) * | 2019-05-15 | 2019-08-09 | 华南理工大学 | 一种针对边缘计算环境的任务协同在线调度方法 |
| CN111176852A (zh) * | 2020-01-15 | 2020-05-19 | 上海依图网络科技有限公司 | 资源分配方法、装置、芯片及计算机可读存储介质 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9720732B1 (en) * | 2013-02-11 | 2017-08-01 | Amazon Technologies, Inc. | Parameter selection for optimization of task execution based on execution history for prior tasks |
| CN105446979B (zh) * | 2014-06-27 | 2019-02-01 | 华为技术有限公司 | 数据挖掘方法和节点 |
| AU2018100381A4 (en) * | 2018-03-27 | 2018-05-10 | Chongqing University Of Posts And Telecommunications | A physical resource scheduling method in cloud cluster |
| US11106495B2 (en) * | 2019-06-13 | 2021-08-31 | Intel Corporation | Techniques to dynamically partition tasks |
| CN111027708A (zh) * | 2019-11-29 | 2020-04-17 | 杭州电子科技大学舟山同博海洋电子信息研究院有限公司 | 一种面向分布式机器学习的参数通信优化方法 |
-
2020
- 2020-07-08 CN CN202010652486.2A patent/CN113918314B/zh active Active
-
2021
- 2021-07-06 WO PCT/CN2021/104686 patent/WO2022007781A1/zh not_active Ceased
- 2021-07-06 EP EP21838803.1A patent/EP4177752A4/en active Pending
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140331233A1 (en) * | 2013-05-06 | 2014-11-06 | Abbyy Infopoisk Llc | Task distribution method and system |
| CN103279385A (zh) * | 2013-06-01 | 2013-09-04 | 北京华胜天成科技股份有限公司 | 一种云计算环境中集群任务调度方法及系统 |
| CN104731649A (zh) * | 2015-04-21 | 2015-06-24 | 中国建设银行股份有限公司 | 一种多任务处理方法及装置 |
| US20190034223A1 (en) * | 2016-03-31 | 2019-01-31 | Alibaba Group Holding Limited | Task resource scheduling method and apparatus |
| CN110109745A (zh) * | 2019-05-15 | 2019-08-09 | 华南理工大学 | 一种针对边缘计算环境的任务协同在线调度方法 |
| CN111176852A (zh) * | 2020-01-15 | 2020-05-19 | 上海依图网络科技有限公司 | 资源分配方法、装置、芯片及计算机可读存储介质 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP4177752A4 |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114780214A (zh) * | 2022-04-01 | 2022-07-22 | 中国电信股份有限公司 | 任务处理方法、装置、系统及设备 |
| CN114780214B (zh) * | 2022-04-01 | 2024-01-09 | 中国电信股份有限公司 | 任务处理方法、装置、系统及设备 |
| CN114677781A (zh) * | 2022-04-06 | 2022-06-28 | 广州文远知行科技有限公司 | 一种车辆数据上传方法及其相关装置 |
| CN114677781B (zh) * | 2022-04-06 | 2023-09-05 | 广州文远知行科技有限公司 | 一种车辆数据上传方法及其相关装置 |
| CN115114001A (zh) * | 2022-06-29 | 2022-09-27 | 中国银行股份有限公司 | 一种任务处理方法及装置、电子设备、存储介质 |
| CN117251274A (zh) * | 2023-11-14 | 2023-12-19 | 苏州元脑智能科技有限公司 | 作业调度方法、装置、电子设备及存储介质 |
| CN117251274B (zh) * | 2023-11-14 | 2024-02-20 | 苏州元脑智能科技有限公司 | 作业调度方法、装置、电子设备及存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP4177752A1 (en) | 2023-05-10 |
| EP4177752A4 (en) | 2024-05-15 |
| CN113918314B (zh) | 2025-09-16 |
| CN113918314A (zh) | 2022-01-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2022007781A1 (zh) | 任务处理方法、边缘计算设备、计算机设备和介质 | |
| Rahbari et al. | Task offloading in mobile fog computing by classification and regression tree | |
| Nikoui et al. | Cost-aware task scheduling in fog-cloud environment | |
| Jain et al. | Qos-aware task offloading in fog environment using multi-agent deep reinforcement learning | |
| Izakian et al. | A novel particle swarm optimization approach for grid job scheduling | |
| US10474504B2 (en) | Distributed node intra-group task scheduling method and system | |
| US9116181B2 (en) | Method, apparatus, and system for virtual cluster integration | |
| Yadav et al. | Ga-pso: Service allocation in fog computing environment using hybrid bio-inspired algorithm | |
| CN112153700A (zh) | 一种网络切片资源管理方法及设备 | |
| Akbari Torkestani | A new approach to the job scheduling problem in computational grids | |
| Xu et al. | Schedule or wait: Age-minimization for IoT big data processing in MEC via online learning | |
| CN106708625A (zh) | 一种基于最小费用最大流的大规模资源调度系统及方法 | |
| Li et al. | Resource scheduling based on improved spectral clustering algorithm in edge computing | |
| CN109710406A (zh) | 数据分配及其模型训练方法、装置、及计算集群 | |
| CN105677447B (zh) | 分布式云中基于聚类的时延带宽极小化虚拟机部署方法 | |
| WO2022001941A1 (zh) | 网元管理方法、网管系统、独立计算节点、计算机设备、存储介质 | |
| Elsharkawey et al. | MLRTS: multi-level real-time scheduling algorithm for load balancing in fog computing environment | |
| CN118502898A (zh) | 任务处理方法、系统、设备和存储介质 | |
| CN104035819A (zh) | 科学工作流调度处理方法及装置 | |
| WO2018114016A1 (en) | Apparatus and method for identifying network object groups | |
| CN120128986A (zh) | 资源调度方法、装置、通信设备和存储介质 | |
| CN110119300A (zh) | 虚拟单元集群的负载均衡方法和装置 | |
| Yang et al. | An offloading strategy based on cloud and edge computing for industrial Internet | |
| Osibo et al. | An edge computational offloading architecture for ultra-low latency in smart mobile devices | |
| CN119396559A (zh) | 一种异构设备的资源分配方法、系统、设备及存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21838803 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2021838803 Country of ref document: EP Effective date: 20230203 |