A task scheduling method and device

CN122095655APending Publication Date: 2026-05-26HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2023-10-18
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

The prior art requires a large amount of information interaction in task scheduling, resulting in reduced efficiency.

Method used

By implementing telemetry functions in network nodes, using telemetry messages to monitor network status information in real time, and directly perform task scheduling decisions based on this information and task requests, reducing dependence on management nodes.

Benefits of technology

It improves the efficiency of task scheduling, reduces the burden of network transmission, and makes timely task scheduling decisions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122095655A_ABST
    Figure CN122095655A_ABST
Patent Text Reader

Abstract

This application provides a task scheduling method and apparatus, relating to the field of communication technology. In this method, a network node receives a task request and telemetry messages from multiple network nodes. These telemetry messages can be used to monitor network status information. Based on the network status information and the task request, task scheduling decisions are made. This avoids multiple forwardings of the task request, facilitates timely processing of the task request, and improves task processing efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Task scheduling method and device Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a task scheduling method and device. Background Art

[0002] A network (such as a mobile edge network) has a management node, as well as network nodes and computing nodes that communicate with the management node respectively. The network node can connect to the computing node and the terminal device. For example, the network node can receive a task request from the terminal device. The task request is used to request the processing of the task. The network node can forward the task request to the computing node connected to the network node. The computing node processes the task corresponding to the task request. For example, the task can be a directed acyclic graph (DAG) task. A DAG task can also be understood as a task represented by a DAG, which consists of multiple subtasks with a certain execution order logic.

[0003] Currently, one method for scheduling tasks involves a management node receiving task requests from network nodes and compute nodes in turn. The management node then receives management information messages from each compute node. These messages indicate the topology information corresponding to the compute node. Based on these messages, the management node determines which compute nodes will handle the task, thus scheduling the task. However, this method requires a large amount of information exchange, which undoubtedly reduces the efficiency of task scheduling.

[0004] Summary of the Invention

[0005] The embodiments of the present application provide a task scheduling method and apparatus for improving the efficiency of task scheduling.

[0006] In a first aspect, embodiments of the present application provide a task scheduling method that can be executed by a first network node. The first network node can be a device, such as a switch (specifically, a smart switch) or a router, or a software or hardware module (such as a chip) in a device, or multiple devices, which are not limited in the embodiments of the present application. The first network node can be any network node in a wireless network. The method includes: receiving a task request, the task request is used to request processing of a first task, the first task including multiple subtasks; receiving telemetry information from K network nodes respectively, obtaining a total of K telemetry information, the K telemetry information indicating K links, one of which includes one network node among the K network nodes and one or more computing nodes communicating with the network node; determining network status information based on the K telemetry information, the network status information including information about a first network topology corresponding to the first network node, the first network topology including L computing nodes in the K links, and each computing node among the L computing nodes being a computing node communicating with one of the K network nodes, where L is a positive integer; determining scheduling information based on the network status information and the task request, the scheduling information indicating Q computing nodes among the L computing nodes and at least one subtask among multiple subtasks executed by each of the Q computing nodes, where Q is a positive integer.

[0007] It should be understood that computing nodes, network nodes and management nodes can be regarded as different nodes in a wireless network (such as a mobile edge network), computing nodes focus on computing functions, network nodes focus on data transmission and reception (or transfer) and task scheduling functions, and management nodes focus on management functions, such as managing network nodes and / or computing node functions. Network nodes can be implemented by switches (such as smart switches) or routers. Computing nodes can be implemented by devices with computing capabilities such as cloud servers, servers or terminal devices. Management nodes can also be implemented by devices with computing capabilities such as cloud servers, servers or terminal devices, and the embodiments of the present application do not make specific restrictions on this. The multiple subtasks included in the first task can have a certain execution order, that is, to execute the first task, it is necessary to execute multiple subtasks in sequence according to the execution order, or it can be disordered, that is, executing the first task can be executing multiple subtasks in parallel. The first task is, for example, a DAG task.

[0008] In an embodiment of the present application, after receiving a task request, the first network node can measure the telemetry messages of other network nodes to obtain network status information with higher real-time performance. The first network node can make task scheduling decisions based on the network status information and the task request, that is, determine which computing node will execute the multiple subtasks included in the first task. Since there is no need to forward the task request to the management node, and there is no need for the management node to perform task scheduling, this reduces the number of nodes that handle task scheduling, which is conducive to more timely task scheduling and can improve the efficiency of task scheduling. In addition, the first network node measures the telemetry message to obtain network status information. Since the telemetry message is actually a business message, that is, the first network node can obtain network status information without performing additional message measurement, which can reduce the transmission burden of the network.

[0009] In one possible implementation, the telemetry information may be carried in the telemetry field of a telemetry message. The telemetry message can be considered to be generated by adding a telemetry field to a service message and then adding telemetry information to the telemetry field. In this case, the first network node can be considered a network device with the ability to send and receive telemetry messages, as well as computing capabilities.

[0010] In one possible implementation, network status information is determined based on K telemetry information, including: determining P network nodes based on K links, wherein the P network nodes include a first network node and some or all of the K network nodes, and a first communication quality between any two adjacent network nodes in the P network nodes satisfies a first condition, and P is a positive integer; traversing the links associated with the P network nodes in the K links, and obtaining L computing nodes based on computing nodes whose second communication quality with each of the P network nodes satisfies a second condition; and determining links between the P network nodes and the L computing nodes to obtain information on the first network topology.

[0011] In the above embodiment, when determining the network status information, the first network node takes into account the communication quality between other network nodes and the first network node, and also takes into account the communication quality between the computing node and the network node. This ensures that the communication quality of the network nodes and computing nodes in the first network topology is good, so that the communication quality of the computing nodes used to execute the first task based on the first network topology decision is also good, which is conducive to improving the success rate and efficiency of the subsequent execution of the first task.

[0012] In a possible implementation, the first communication quality between any two network nodes among the P network nodes satisfies the first condition. In this way, network nodes whose communication quality meets certain conditions can be selected to the greatest extent possible.

[0013] In one possible implementation, the first condition includes: the first communication quality is greater than or equal to a first threshold; or, the sequence number of the first communication quality is the first S1 bits, and the sequence number of the first communication quality is obtained by arranging the communication quality between each two network nodes in the K links in descending order, and S1 is a positive integer.

[0014] In the above embodiment, priority is given to network nodes with relatively good communication quality, which is conducive to the subsequent smooth execution of the first task.

[0015] In one possible implementation, the second condition includes: the second communication quality is greater than or equal to a second threshold; or, the sequence number of the second communication quality is the first S2 bits, and the sequence number of the second communication quality is obtained by arranging the communication quality between each network node in the P network nodes and each computing node in the K links in descending order, and S2 is a positive integer.

[0016] In the above implementation, computing nodes with relatively good communication quality are given priority, which is conducive to the subsequent smooth execution of the first task, thereby improving the success rate and efficiency of executing the first task.

[0017] In one possible implementation, the information of the first network topology is in the form of a relationship graph, wherein: the first type of entity of the relationship graph includes P network nodes, the first type of edge is the connection between the P network nodes, the second type of entity is L computing nodes, the second type of edge is the connection between the L computing nodes, and the connection between the L computing nodes and the P network nodes.

[0018] In the above embodiment, the information of the first network topology may be represented by a relationship graph, which may be, for example, an adjacency relationship graph. Representing the information of the first network topology by a relationship graph facilitates more intuitive task scheduling.

[0019] In one possible implementation, each of the K telemetry information pieces further indicates resources of a computing node in a link of one of the K network nodes, wherein the resources of the L computing nodes satisfy a third condition. Optionally, the task request includes an execution logic diagram of multiple subtasks and resource requirement information for each of the multiple subtasks; the third condition includes that the resources of the L computing nodes all satisfy the resource requirement information.

[0020] In the above embodiment, the telemetry information may also indicate the resources of the computing nodes. When determining the first network topology, computing nodes that meet the resource requirements corresponding to the first task may be screened so that the screened computing nodes can perform the first task more efficiently.

[0021] In one possible implementation, the wireless network further includes a management node; determining scheduling information based on network status information and task requests, including: inputting the network information and task requests into a first model, determining an output of the first model, the output of the first model including scheduling information, wherein the model parameters of the first model are first model parameters, the first model parameters are received from the management node, and the management node and the first network node share the first model.

[0022] In the above embodiment, the first network node can output scheduling information using the first model. Since the first model is pre-trained, this can improve the efficiency of obtaining scheduling information. Furthermore, the first network node can obtain the model parameters of the first model from the management node and assign the training task of the first model to the management node, thereby relatively reducing the processing load of the first network node.

[0023] In one possible implementation, the method further includes: sending first training data to a management node, the first training data including a first state of multiple subtasks at a first moment, actions performed on the multiple subtasks, rewards of the first model, and a second state of the multiple subtasks at a second moment, the actions performed on the multiple subtasks are determined based on scheduling information, and the second moment is later than the first moment; receiving second model parameters from the management node, wherein the second model parameters are obtained by updating and training the first model based on the first training data; and updating the model parameters of the first model to the second model parameters.

[0024] In the above embodiment, the first network node can generate training data based on the real-time scheduling task and send the training data to the management node, so that the management node can update the model parameters of the first model in real time to ensure the accuracy of the first model output.

[0025] In a second aspect, an embodiment of the present application provides a task scheduling device. The task scheduling device can be the first network node in the first aspect above, or a software or hardware module (such as a chip) configured in the first network node. The task scheduling device includes corresponding means (means) or modules for executing the first aspect or any optional embodiment above. For example, the task scheduling device includes a processing module (sometimes also referred to as a processing unit), and a transceiver module (sometimes also referred to as a transceiver unit).

[0026] For example, the transceiver module is used to receive a task request, where the task request is used to request processing of a first task, where the first task includes multiple subtasks;

[0027] The transceiver module is further used to receive K telemetry information from K network nodes respectively, where the K telemetry information indicates K links, where one link includes one network node among the K network nodes and one or more computing nodes communicating with the one network node; the processing module is used to determine network status information based on the K telemetry information, where the network status information includes information of a first network topology corresponding to the first network node, where the first network topology includes L computing nodes in the K links, where each of the L computing nodes is a computing node communicating with one of the K network nodes, where L is a positive integer; and to determine scheduling information based on the network status information and the task request, where the scheduling information indicates Q computing nodes among the L computing nodes and at least one subtask among multiple subtasks executed by each of the Q computing nodes, where Q is a positive integer.

[0028] In a possible implementation manner, the above-mentioned task scheduling device can also implement the task scheduling method shown in any possible implementation manner of the first aspect, and the repeated parts are not listed again.

[0029] In a third aspect, embodiments of the present application provide a task scheduling device. The task scheduling device includes a processor and an interface circuit, the interface circuit being configured to receive signals from a communication device other than the task scheduling device and transmit the signals to the processor, or to transmit the signals from the processor to the communication device other than the task scheduling device, the processor being configured to implement the task scheduling method described in the first aspect or any possible implementation method by using a logic circuit or executing code instructions.

[0030] In a specific implementation, the task scheduling device may be a chip, and the processor may be a transistor, gate circuit, trigger, or various logic circuits. The embodiments of the present application do not limit the specific implementation of the processor. Alternatively, the task scheduling device may be a network device such as an intelligent switch, or a component within a network device, such as an integrated circuit product such as a system-on-chip (SoC) or a communication chip. A system-on-chip may also be referred to as a system-on-chip (SoC), or simply an SoC chip. A communication chip may include a baseband processing chip and a radio frequency processing chip. A baseband processing chip is sometimes also referred to as a modem or baseband chip. A radio frequency processing chip is sometimes also referred to as a radio frequency transceiver or radio frequency chip. In a physical implementation, some or all of the chips within a communication chip may be integrated within the SoC chip. For example, the baseband processing chip may be integrated within the SoC chip, while the radio frequency processing chip is not integrated with the SoC chip. The interface circuit may be a radio frequency processing chip within a wireless communication device, and the processor may be a baseband processing chip within the wireless communication device. The interface circuit may be an input / output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip or chip system.

[0031] In a fourth aspect, embodiments of the present application provide a task scheduling device. The task scheduling device includes: a processing circuit and an interface circuit; wherein: the interface circuit is configured to couple with a memory external to the communication device and provide a communication interface for the processing circuit to access the memory; and the processing circuit is configured to execute program instructions in the memory to implement the task scheduling method described in the first aspect or any possible embodiment.

[0032] In a fifth aspect, embodiments of the present application provide a task scheduling device. The task scheduling device includes: a processor and a memory; the memory is configured to store one or more computer programs, wherein the one or more computer programs include computer-executable instructions; when the task scheduling device is running, the processor executes the one or more computer programs stored in the memory, causing the task scheduling device to perform the task scheduling method described in the first aspect or any possible implementation method.

[0033] Optionally, the communication device further includes other components, such as an antenna, an input / output module, an interface, etc. These components may be hardware, software, or a combination of software and hardware.

[0034] In a sixth aspect, an embodiment of the present application provides a task scheduling system. The system includes: a first network node and K network nodes in a wireless network, where K is a positive integer; the system includes a first network node and K network nodes in a wireless network, where K is a positive integer;

[0035] The first network node is used to receive a task request, where the task request is used to request processing of a first task, where the first task includes multiple subtasks; the K network nodes are used to send telemetry information to the first network node respectively, with a total of K telemetry information, where the K telemetry information indicates K links, where one link includes one network node among the K network nodes and one or more computing nodes communicating with the one network node; the first network node is further used to determine network status information based on the K telemetry information, where the network status information includes information about a first network topology corresponding to the first network node, where the first network topology includes L computing nodes in the K links, where each computing node in the L computing nodes is a computing node communicating with one of the K network nodes, where L is a positive integer; and to determine scheduling information based on the network status information and the task request, where the scheduling information indicates at least one subtask of the multiple subtasks executed by Q computing nodes among the L computing nodes and each computing node among the Q computing nodes, where Q is a positive integer.

[0036] In one possible embodiment, the system also includes a management node; the management node is used to send first model parameters of the first model to the first network node; the first network node is specifically used to input the network information and the task request into the first model, determine the output of the first model, the output of the first model includes the scheduling information, and the model parameters of the first model are the first model parameters.

[0037] In one possible implementation, the above-mentioned task scheduling system can also implement the task scheduling method involved in any possible implementation in the first aspect, and the repeated parts are not listed again. For example, the first network node can also implement the task scheduling method involved in any possible implementation in the first aspect above.

[0038] In a seventh aspect, embodiments of the present application provide a chip system. The chip system includes a processor and an interface. The processor is configured to call and execute instructions from the interface. When the processor executes the instructions, the task scheduling method described in the first aspect or any possible implementation method is implemented.

[0039] In an eighth aspect, embodiments of the present application provide a computer-readable storage medium for storing a computer program or instruction, which, when executed, implements the task scheduling method described in the first aspect or any possible implementation method.

[0040] In a ninth aspect, an embodiment of the present application provides a computer program product comprising instructions, which, when executed on a computer, implements the task scheduling method involved in any of the above-mentioned first aspect or any possible implementation methods.

[0041] Regarding the beneficial effects of any technical solution in the above-mentioned second to ninth aspects, reference can be made to the beneficial effects discussion of the corresponding technical solution in the first aspect, and the repeated parts will not be listed here. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] FIG1 is a schematic diagram of the architecture of a task scheduling system applicable to an embodiment of the present application;

[0043] FIG2 is a schematic diagram of the architecture of a task scheduling system provided in an embodiment of the present application;

[0044] FIG3 is a schematic diagram of the structure of a management node and a network node provided in an embodiment of the present application;

[0045] FIG4 is a schematic diagram of a task scheduling method provided in an embodiment of the present application;

[0046] FIG5 is a schematic diagram of a first network node parsing a telemetry message according to an embodiment of the present application;

[0047] FIG6 is a schematic diagram of a process for determining network status information of a first network node according to an embodiment of the present application;

[0048] FIG7 is a schematic diagram of a task scheduling process provided by an embodiment of the present application;

[0049] FIG8 is a schematic diagram of a method for training a first model provided in an embodiment of the present application;

[0050] FIG9 is a schematic diagram of the structure of a task scheduling device provided by an embodiment of the present application;

[0051] FIG10 is a schematic diagram of the structure of another task scheduling device provided in an embodiment of the present application;

[0052] FIG11 is a schematic structural diagram of another task scheduling device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0053] In order to make the purpose, technical solutions and advantages of the embodiments of the present application clearer, the embodiments of the present application will be further described in detail below with reference to the accompanying drawings.

[0054] In the embodiments of the present application, the number of nouns, unless otherwise specified, means "singular noun or plural noun", that is, "one or more". "At least one" means one or more, and "plural" means two or more. "And / or" describes the association relationship of associated objects, indicating that there may be three relationships. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. For example, A / B means: A or B. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b, or c means: a, b, c, a and b, a and c, b and c, or a and b and c, where a, b, c can be single or multiple.

[0055] The method provided in the embodiment of the present application can be applied to a task scheduling system including network nodes and computing nodes. The task scheduling system can be applied to any wireless network, such as a mobile edge network. The following example is introduced with reference to the architectural diagram of the task scheduling system shown in Figure 1. Figure 1 can also be specifically regarded as an architectural diagram of a task scheduling system under a wireless network (such as a mobile edge network).

[0056] As shown in Figure 1, the task scheduling system includes at least one network node, at least one computing node, and at least one management node. Each network node in the at least one network node communicates with some or all of the computing nodes in the at least one computing node, and can also communicate with some or all of the management nodes in the at least one management node. It should be understood that the nodes involved in the embodiments of the present application can be a device, multiple devices, or a software or hardware module in a device, etc., and the embodiments of the present application do not specifically limit this.

[0057] For example, a user can initiate a task request to at least one network node through a terminal device to request processing of a task. The network node can forward the task to a computing node, which can then process the task. The task can be, for example, a DAG task.

[0058] A terminal device is a device with wireless transceiver capabilities, which can be a fixed device, mobile device, handheld device, wearable device, vehicle-mounted device, or a wireless device built into the above devices (for example, a communication module or chip system, etc.). The terminal device is used to connect people, objects, machines, etc., and can be widely used in various scenarios, such as but not limited to the following scenarios: cellular communication, device-to-device communication (D2D), vehicle to everything (V2X), machine-to-machine / machine-type communication (M2M / MTC), Internet of Things (IoT), virtual reality (VR), augmented reality (AR), industrial control, self-driving, remote medical, smart grid, smart furniture, smart office, smart wearable, smart transportation, smart city, drones, robots, and other scenarios. The terminal device may sometimes be referred to as user equipment (UE), terminal, access station, UE station, remote station, wireless communication device, or user device, etc.

[0059] Any one of the at least one network nodes is a network device having a data forwarding (or switching) function and / or a routing function, for example, it can be implemented by a switch (such as an intelligent switch) and / or a router. Any one of the at least one computing node is a device having data computing capabilities and data transceiving capabilities, for example, it can be implemented by a terminal device and / or a server. Any one of the at least one management node can be a computing device or system with data transceiving capabilities, for example, it can be implemented by computing facilities such as a server and a cloud platform. It should be understood that the network node in the embodiment of the present application is not a management node, and the management node can have both data transceiving and network control functions for controlling the network node. In other words, the management node focuses on management and control functions, while the network node focuses on data routing and forwarding functions, as well as task scheduling functions.

[0060] Figure 1 illustrates three terminal devices (specifically terminal device 110a, terminal device 110b and terminal device 110c as shown in Figure 1), 10 computing nodes (computing node 120a, computing node 120b, computing node 120c, computing node 120d, computing node 120e, computing node f, computing node g, computing node 120h, computing node 120i and computing node 120k as shown in Figure 1), 7 network nodes (specifically network node 130a, network node 130b, network node 130c, network node 130d, network node 130f, network node 130g as shown in Figure 1) and 1 management node (management node 140a). In fact, there is no limit to the number of terminal devices, network nodes, computing nodes and management nodes.

[0061] The following describes the task scheduling method mentioned in the background art by taking the task scheduling system shown in FIG. 1 as an example.

[0062] For example, a user initiates a task request through terminal device 110a, which sends the task request to network node 130d. Network node 130d can then forward the task request to management node 140a via other network nodes 130a. After receiving the task request, management node 140a can decide whether computing nodes 120d and 120h will perform the task. Management node 140a can then send the task request through network nodes 130b and 130e, and can then send the task request through network nodes 130b and 130f. This shows that this task scheduling method involves interactions between multiple nodes, resulting in low task scheduling efficiency. Furthermore, under this method, the management node needs to receive specialized management information messages (which indicate network topology information) from a large number of network nodes before deciding which computing nodes will perform the task. This undoubtedly reduces the efficiency of task scheduling.

[0063] In view of this, an embodiment of the present application provides a task scheduling method, in which a network node (such as a first network node) has a telemetry function, and the first network node can obtain network status information by using telemetry message monitoring in an in-band or out-of-band manner. The network node can make task scheduling decisions based on the network status information and the task request, that is, infer which computing nodes are suitable for executing the multiple subtasks included in the task. Since the tasks are scheduled directly by the network node, there is no need for a large number of transit task requests, nor is there a need to pass through the control plane, which can improve the efficiency of task scheduling and reduce the network transmission burden. In addition, since the network node can determine the information of the first network topology of the first network node through telemetry information, thereby determining the network status information, there is no need for special messages, which can also reduce the network transmission burden.

[0064] In addition to being applicable to the communication system shown in FIG1 , the task scheduling method provided in the embodiment of the present application can also be applied to the task scheduling system shown in FIG2 . FIG2 can also be viewed as an architectural diagram of a task scheduling system under a wireless network. Or FIG2 can also be viewed as a scenario diagram provided in the embodiment of the present application. Unlike FIG1 , the network nodes in the task scheduling system shown in FIG2 can make task scheduling decisions with the help of a model, and the management node can deploy the model with the network nodes. In other words, the management node and the network nodes share the model. The management node can train the model for the network node to obtain the model parameters of the model.

[0065] The model running in the node (such as a network node or a management node) involved in the embodiments of the present application may also be referred to as an agent or intelligent agent. A model can be understood as a specific implementation of a function (such as an artificial intelligence (AI) function) or an algorithm, or can be understood as a characteristic or function, and the model characterizes the mapping relationship between the input and output of the model. The model can be a neural network, a linear regression model, a decision tree model, a support vector machine (SVM), a Bayesian network, a Q learning model or other machine learning models. AI functions may include at least one of the following: data collection (collecting training data and / or inference data), data preprocessing, model training (or model learning), model information release (configuration model information), model verification (verification of the trained model), model reasoning (reasoning using the trained model), or reasoning result release. Among them, reasoning can also be referred to as prediction, use or determination. Models may include AI models and / or machine learning (ML) models, etc.

[0066] Figure 2 illustrates one terminal device (such as terminal device 210a in Figure 2), six computing nodes (such as computing node 220a, computing node 220b, computing node 220c, computing node 220d, computing node 220e and computing node 220f in Figure 2), four network nodes (such as network node 230a, network node 230b, network node 230c and network node 230d in Figure 2) and two management nodes (such as management node 240a and management node 240b in Figure 2).

[0067] As shown in Figure 2, management node 240a and management node 240b both include models that can be used to train corresponding models and feed back the trained model parameters to corresponding network nodes (such as network node 230a, network node 230b, network node 230c, and network node 230d). Network node 230a, network node 230b, network node 230c, and network node 230d can all maintain models and use the models to make decisions. It should be understood that the models maintained by any two network nodes among network node 230a, network node 230b, network node 230c, and network node 230d can be the same or different, and this embodiment of the present application does not impose specific limitations on this.

[0068] Please refer to Figure 3, which is a schematic diagram of the structure of a management node and a network node provided in an embodiment of the present application. Figure 3 illustrates a management node (management node 320 as shown in Figure 3) and a network node (network node 310 as shown in Figure 3). The management node 320 can be the management node shown in either Figure 1 or Figure 2, and the network node 310 can be the network node shown in either Figure 1 or Figure 2. The functions involved in Figure 3 can be regarded as at least one software module (or unit) or at least one hardware module in a node (such as a management node or a network node).

[0069] As shown in Figure 3, network node 310 has both proxy and data plane functions. Proxy functions include responding to user task requests, recording training data, making task scheduling decisions, and generating network status information. The content of network status information is described below. Data plane functions include sensing and identifying telemetry messages. Management node 320 includes model training and training data generation functions. Model training functions are used to train models and may include model parameter distribution. Training data generation functions may specifically include training data aggregation and network status information aggregation.

[0070] The following describes the method provided by the embodiments of the present application in conjunction with the accompanying drawings. In the accompanying drawings corresponding to the various embodiments of the present application, all steps represented by dotted lines are optional steps. In addition, in the various embodiments of the present application, the first network node may be, for example, any network node involved in Figure 1 or Figure 2, the Q computing nodes may be, for example, some or all of the computing nodes involved in Figure 1 or Figure 2, the management node may be any management node involved in Figure 1 or Figure 2, and the terminal device may be, for example, any terminal device involved in Figure 1 or Figure 2, and the structure of any management node involved in the various embodiments of the present application may refer to the structure of the management node shown in Figure 3 above, and the structure of the network node may also refer to the structure of the network node involved in Figure 3 above. If the technical solutions provided by the various embodiments of the present application are applied to other communication systems, the names and / or functions of the devices or nodes may change, and there is no limitation on this.

[0071] Please refer to Figure 4, which is a schematic diagram of a task scheduling method provided by an embodiment of the present application. Figure 4 illustrates steps S401 to S408, which are described below.

[0072] S401: A terminal device sends a task request to a first network node. Correspondingly, the first network node receives the task request from the terminal device.

[0073] For example, when a user needs to process a task (such as a first task), a task request can be initiated through a terminal device. The task request is used to request the processing of the first task, which is, for example, a DAG task or other type of task, and the embodiment of the present application does not specifically limit this. The first task is, for example, to provide data statistics for an application in the terminal device, and the application can be a microservice, a small program, an application pre-installed in the terminal device, or a web page, etc., and there is no specific limitation on this. The task request may indicate (or include) information about the multiple subtasks included in the first task. The information about the multiple subtasks may, for example, include resource requirement information for each of the multiple subtasks. The resource requirement information of each subtask includes, for example, the type and / or quantity of resources required to process the subtask. The information about the multiple subtasks may also include at least one of the identifiers of the multiple subtasks, the execution order of the multiple subtasks, and the business data for implementing the subtask, and the embodiment of the present application does not specifically limit this. Optionally, the task request may also include an identifier of the terminal device, and the identifier of the terminal device may be, for example, the address of the terminal device.

[0074] In the embodiments of the present application, the first network node may be the network node from which the terminal device directly initiates the task request. The first network node may be the network node physically closest to the terminal device in a wireless network (such as a mobile edge network), or may be the network node with the best communication quality with the terminal device, or may be the network node with the best combined score of physical distance and communication quality, etc., and the embodiments of the present application do not specifically limit this.

[0075] S402: K network nodes send K telemetry messages to a first network node. Correspondingly, the first network node receives K telemetry messages from the K network nodes.

[0076] The K network nodes may send telemetry messages periodically. Alternatively, the K network nodes may send telemetry messages irregularly. For example, when the K network nodes need to send a service message (or data message), they may insert a telemetry field into the service message (or data message), carry telemetry information in the telemetry field, and send the telemetry message. The embodiment of the present application does not specifically limit this. For example, a telemetry field may be added to the service message through the data plane programmable capability of the first network node. In this case, each of the K telemetry messages includes a telemetry field, and the telemetry field carries telemetry information. Alternatively, the K network nodes may send telemetry messages when they sense that the topology information corresponding to the network node has changed. The embodiment of the present application does not specifically limit the triggering situation for sending K telemetry messages.

[0077] The K network nodes can be any K network nodes in the wireless network except the first network node, where K is a positive integer. The K network nodes each send telemetry messages to the first network node. By analogy, the first network node can receive at least K telemetry messages. In the embodiment of the present application, K telemetry messages are used as an example. In this example, the K telemetry messages correspond one-to-one to the K network nodes, and each of the K telemetry messages corresponds to one of the K network nodes.

[0078] The telemetry information corresponding to any one of the K network nodes can indicate a link, and any one of the network nodes can be considered the network node sending the telemetry information. This link is associated with the network node, including the network node and one or more computing nodes communicating with the network node. Similarly, K telemetry messages correspond to K telemetry information, and thus K telemetry information correspondingly indicates K links. These K links correspond to K network nodes, and each of the K links corresponds to one of the K network nodes.

[0079] Optionally, each of the K telemetry information pieces may further indicate the resources of a computing node in a link corresponding to the network node that sent the telemetry information. The resources of a computing node in a link corresponding to the network node that sent the telemetry information may, for example, include the type of remaining available resources of the computing node in a link corresponding to a network node, as well as the number of remaining available resources. The types of available resources may include computing resources and / or storage resources. Storage resources may also be divided into memory storage resources and hard disk storage resources, etc.

[0080] It should be understood that any two computing nodes in a wireless network can send telemetry messages to each other, and the telemetry messages of these computing nodes can also be sent to the first network node through K network nodes. That is to say, the K telemetry messages are received by the first network node from K network nodes, but the source nodes of these K telemetry messages may be computing nodes, and there is no specific limitation on this.

[0081] It should be understood that the order in which the K network nodes send the K telemetry messages to the first network node can be arbitrary. For example, the K network nodes send the K telemetry messages to the first network node simultaneously. In addition, the order in which S401 and S402 are executed can be arbitrary. For example, S401 and S402 can be executed simultaneously, S401 can be executed first and then S402, or S402 can be executed first and then S401. This embodiment of the present application does not specifically limit this.

[0082] S403: The first network node determines network status information according to K telemetry information.

[0083] Because the K telemetry messages indicate K links, after parsing the K telemetry messages, the first network node can construct a local relationship graph based on the K telemetry messages. Based on the multiple constructed local relationship graphs, the first network topology corresponding to the first network node can be determined. The first network topology can also be considered a local observation of the first network node. The first network topology includes P network nodes and L computing nodes in the K links. P and L are both positive integers. The P network nodes include the first network node. The P network nodes can be some or all of the network nodes involved in the K links, and the L computing nodes can also be some or all of the computing nodes involved in the K links.

[0084] When a first network node obtains information about the first network topology, it also obtains network state information, which is also considered local observation information or local observation of the first network node. The network state information includes information about the first network topology. Optionally, if the K telemetry information includes resources of computing nodes, the network state information also includes information about the resources of the computing nodes included in the first network topology. Optionally, the network state information may also include information about the resources of the network nodes included in the first network topology.

[0085] For example, please refer to Figure 5, which is a schematic diagram of a first network node parsing a telemetry message according to an embodiment of the present application. As shown in Figure 5, the first network node receives the telemetry message, perceives and identifies the telemetry message, thereby obtaining telemetry information. The first network node also constructs a local relationship graph based on the telemetry information to obtain network status information.

[0086] In one possible implementation, the information of the first network topology is in the form of a relationship graph, and the relationship graph corresponding to the first network topology may also be referred to as a first relationship graph. The first relationship graph may be, for example, an adjacency relationship graph. The first type of entities in the first relationship graph may be P network nodes, and the first type of edges may be connections between the P network nodes. The second type of entities may be L computing nodes, and the second type of edges may be connections between the L computing nodes, as well as connections between the L computing nodes and the P network nodes. The P network nodes may include some or all of the K network nodes, and the L computing nodes may include some or all of the computing nodes included in the K links.

[0087] There may be multiple specific ways for the first network node to determine the network status information, which are described below with examples.

[0088] Exemplarily, the first network node may determine P network nodes from K network nodes. The first network node may also determine L computing nodes from the computing nodes associated with the P network nodes. The computing nodes associated with the P network nodes may include computing nodes that can communicate with the P network nodes. The first network node constructs a first network topology based on the links between the P network nodes and the L computing nodes, and can also obtain information about the first network topology. To reduce the processing load of the first network node, optionally, the P network nodes and the L computing nodes can be nodes within N hops of the first network node, where N is a positive integer, and N can be preconfigured or predefined in the first network node. Optionally, the communication quality of the P network nodes and the L computing nodes also meets certain conditions, as illustrated below.

[0089] In one possible design, the first communication quality between any two adjacent network nodes among the P network nodes satisfies the first condition. For example, the first condition is that the first communication quality is greater than or equal to the first threshold value. In other words, the first communication quality between any two adjacent network nodes among the P network nodes is greater than or equal to the first threshold value. Alternatively, the first condition is that the sequence number of the first communication quality is the first S1 bits, and the sequence of the first communication quality is obtained by arranging the communication quality between every two network nodes in the K links in order from large to small, and S1 is a positive integer. The first communication quality in the embodiment of the present application can be characterized by at least one of bandwidth utilization, transmission delay and packet loss rate, and the embodiment of the present application is not limited to this. Optionally, the first communication quality between any two network nodes among the P network nodes satisfies the first condition. In this way, the communication quality between any two network nodes among the P network nodes can be guaranteed.

[0090] In one possible implementation, among the computing nodes included in the K link gateways, the number of computing nodes whose second communication quality with each of the P network nodes satisfies a second condition is L computing nodes. For example, the second condition is that the second communication quality is greater than or equal to a second threshold. Alternatively, the second condition is that the sequence number of the second communication quality is the first S2 digits, and the sequence of the second communication quality is obtained by arranging the communication quality between each of the P network nodes and each computing node in the K links in descending order, where S2 is a positive integer.

[0091] For example, the first network node may use the first network node (e.g., network node A) as the search starting point and, using the breadth-first principle, identify the Ms network nodes with the best link conditions adjacent to the first network node, denoted as the first network node set RA(Ms). The first network node may also use the breadth-first principle to search for the Ks computing nodes with the best link conditions connected to each network node in the first network node set RA(Ms), forming the first computing node set CA(Ms, Ks). The first network node may then start from the second network node (e.g., network node B) in the first network node set RA(Ms) and search for the Ms network nodes with the best link conditions adjacent to the second network node (these Ms network nodes do not belong to the first network node set RA(Ms), denoted as the second network node set RB(Ms). The first network node may then search for the Ks computing nodes with the best link conditions connected to the second network node (these Ks computing nodes do not belong to the first computing node set CA(Ms, Ks)), denoted as the second computing node set CB(Ms, Ks).

[0092] By analogy, the first network node can obtain the set of network nodes and computing nodes searched within an N-hop range. The set of network nodes within an N-hop range can be considered P network nodes, and the set of computing nodes within an N-hop range can be considered L computing nodes. The first network device can obtain network status information based on the topological relationship information of the network nodes and computing nodes within the N-hop range. N can be an integer greater than or equal to 2. The value of N can be preconfigured in the first network node, for example, configured to the first network node through a protocol or configured to the first network node through a control node.

[0093] The following uses an example to illustrate the content of the first network topology where the first network node searches for a first network topology within an N-hop range.

[0094] For the first hop, for the first network node, the first network node searches for the K nodes with the largest amount of resources in the partial observation range among each network node within the one-hop range in the wireless network. S Computing nodes. S network nodes and K S ×M S The computing nodes are the first hop range.

[0095] In the second hop, when the telemetry message reaches the first hop network node, the M nodes with the lowest link congestion between them and the network node selected by the first hop are searched in the partial observation range of the network node selected by the first hop. S Network nodes (a total of M S 2 If the number of selectable network nodes in some observations is less than M, the switches in the telemetry range are not in the selection range. S The actual number of network nodes is used as the basis for telemetry, so as to determine the K nodes with the largest amount of resources in the partial observation range of each network node. S Compute nodes.

[0096] At the Nth hop, when the telemetry message reaches the N-1th hop network node, the M nodes with the lowest link congestion between them and the N-1th hop network node are searched in the partial observation range of the N-1th hop network node. S Network nodes (a total of M S N Similarly, the network nodes found within the N-hop range are P network nodes, and the computing nodes found are L computing nodes.

[0097] Exemplarily, based on P network nodes and L computing nodes, the first network node considers the P network nodes as first-type entities in a relationship graph, and the links between the P network nodes as first-type edges. The first network node may consider the L computing nodes as second-type entities, and the edges between the L computing nodes and the network nodes directly connected to the L computing nodes as second-type edges, thereby forming a relationship graph and obtaining network status information.

[0098] In one possible implementation, if the telemetry message includes information about computing node resources, the resources of the L computing nodes can satisfy the resource requirement information of each of the multiple subtasks. In this case, when determining the L computing nodes, the first network node will not only consider the communication quality of the computing nodes, but also the resource status of the computing nodes.

[0099] For example, please refer to FIG6 , which is a schematic diagram of a process for determining network status information of a first network node provided in an embodiment of the present application. FIG6 takes the first network node as network node 610a as an example. As shown in FIG6 (1), network node 610a can communicate with network node 610b, network node 610c, and network node 610d, respectively. Network node 610b can communicate with computing node 620a. Network node 610c can communicate with computing node 620b and computing node 620c, respectively. Network node 610d can communicate with computing node 620d.

[0100] As shown in (2) of FIG6 , the first network node determines that the first communication quality with network node 610b satisfies the first condition (indicated by √ in FIG6 ), and determines that the first communication quality with network node 610c satisfies the first condition (indicated by √ in FIG6 ), and determines that the second communication quality between network node 610b and computing node 620b satisfies the second condition (indicated by √ in FIG6 ), and determines that the second communication quality between network node 610c and computing node 620d satisfies the second condition (indicated by √ in FIG6 ). As shown in (3) of FIG6 , the first network node constructs a first relationship graph based on the selected network nodes and computing nodes, with the first network node as the center, thereby obtaining network status information.

[0101] To facilitate the management node to perceive the network status information, the first network node may optionally send the network status information to the management node. However, the timing of the first network node sending the network status information may be arbitrary and is not specifically limited thereto.

[0102] Optionally, the execution order of S401 and S403 can be arbitrary. For example, S401 and S403 can be executed simultaneously, or S401 can be executed first and then S403, or S403 can be executed first and then S401. The embodiments of the present application do not make specific limitations on this.

[0103] In the case where the management node deploys the first model, optionally, the embodiment of the present application includes the following steps S404, S407 to S409.

[0104] S404: The management node sends the first model parameters of the first model to the first network node. Correspondingly, the first network node receives the first model parameters of the first model from the management node.

[0105] For example, the first network node may be preconfigured or predefined with a configuration file for the first model, or the first network node may receive the configuration file for the first model from the management node. The configuration file is used to configure the first model and may, for example, be a code file for running the first model. After the first network node is started, it may run the first model based on the configuration file. The management node may also be preconfigured or predefined with the configuration file for the first model, meaning that the first network node and the management node share the first model. The management node may train the first model, obtain first model parameters for the first model, and send the first model parameters to the first network node.

[0106] It should be understood that if the network includes multiple management nodes, all of the multiple management nodes can share the first model with the first network node, or some of the multiple management nodes can share the first model with the first network node. The embodiments of the present application do not specifically limit this.

[0107] In another possible implementation, the first network node may be preconfigured or predefined with the first model parameters, and the first network node may not need to receive the first model parameters from the management node. That is, S404 is an optional step, which is indicated by a dotted line in FIG4 .

[0108] S405: The first network node determines scheduling information according to the network status information and the task request.

[0109] In one possible implementation, a first network node uses network state information and task requests as inputs to a first model to obtain outputs from the first model, which include scheduling information. The first model can be any type of model, such as a neural network model. In this case, the first model executes first model parameters. In other words, the first model uses the first model parameters and takes the network state information and task requests as inputs to obtain outputs from the first model.

[0110] The scheduling information may indicate Q computing nodes, and each of the Q computing nodes may execute at least one subtask from the plurality of subtasks. In other words, the scheduling information indicates which of the Q computing nodes are to execute the plurality of subtasks. Q is a positive integer, and the Q computing nodes may be some or all of the L computing nodes. Determining the scheduling information using the first model may be applicable when the first network node is deployed with the first model.

[0111] In another possible implementation, the first network node can directly select Q computing nodes from L computing nodes to execute the task based on the task request and network status information. In this approach, the first network node does not need to deploy the first model. In this embodiment, steps S404, S407, and S409 are not required; that is, S404, S407, and S409 are optional.

[0112] To facilitate task deployment by the first network node, after determining the scheduling information, the first network node may optionally construct a second relationship graph. The second relationship graph includes links between the first network node and the Q computing nodes. Optionally, the second relationship graph may also include at least one subtask associated with (or used for execution by) the Q computing nodes. For example, the first-class entity of the second relationship graph may be the first network node and the network nodes used for communication between the Q computing nodes and the first network node. The first-class edge may be a connection between the first-class entities, the second-class entity may be the Q computing nodes, and the second-class edge may be a connection between the Q computing nodes, as well as a connection between the Q computing nodes and the first-class entity.

[0113] S406: The first network node sends a processing request to each of the Q computing nodes. Correspondingly, each of the Q computing nodes receives the processing request from the first network node.

[0114] The first network node determines that Q computing nodes are to perform a task. The first network node may send processing requests to the Q computing nodes, respectively, to request the corresponding computing nodes to perform their corresponding subtasks, for a total of Q processing requests. The contents of the Q processing requests may be the same or different. For example, the Q processing requests each indicate Q computing nodes and at least one subtask to be processed by each of the Q computing nodes. Alternatively, each of the Q processing requests may be used to request the computing node receiving the processing request to perform (or process) at least one subtask.

[0115] For example, please refer to Figure 7, which is a schematic diagram of a task scheduling process provided in an embodiment of the present application. In Figure 7, the first network node is network node 710a, K network nodes include network node 710b and network node 710c, L computing nodes include computing node 720a, computing node 720b, computing node 720c, computing node 720d, and computing node 720e, and the task includes multiple subtasks (specifically subtask a1, subtask a2, subtask a3, subtask a4, and subtask a5 as shown in Figure 7). In addition, Figure 7 also illustrates a management node.

[0116] As shown in Figure 7 , the first network node can determine a first network topology based on telemetry messages from each network node, thereby determining network status information. The first network node can also determine scheduling information based on the network status information and the task request. As shown in Figure 7 , computing node 720a can execute subtask a1, computing node 720c can execute subtasks a2, a3, and a4, and computing node 720e can execute subtask a5.

[0117] The first network node may determine a second relationship graph (such as the relationship graph shown in FIG7 ) between the computing nodes used to execute the subtasks and the first network node, and then, based on the second relationship graph, send a processing request to the corresponding computing node to request execution of the corresponding subtask. For example, the first network node may send a first processing request to computing node 720a, requesting computing node 720a to execute subtask a1. The first network node may send a second processing request to computing node 720c, requesting computing node 720c to execute subtasks a2, a3, and a4. The first network node may also send a third processing request to computing node 720e, requesting computing node 720e to execute subtask a5.

[0118] S407: The first network node sends first training data to the management node. Correspondingly, the management node receives the first training data from the first network node.

[0119] When the management node and the first network node share the first model, after determining the scheduling information, the first network node can generate first training data and send the first training data to the management node. The management node can update the first model based on the first training data. To facilitate management, the management node can optionally write the first training data to an experience pool to cache the first training data. The experience pool can occupy memory space on the management node and, in this case, can also be referred to as a memory pool.

[0120] Optionally, the first training data includes the first states of the multiple subtasks at the first moment, the actions performed on the multiple subtasks, the rewards (also called reward values) of the first model, and the second states of the multiple subtasks at the second moment. In this case, the first training data can be represented as a four-tuple [s t ,a t ,r t ,s t+1 ]. Among them, S t Indicates the first state, S t+1 Indicates the second state, a t Indicates the actions performed on multiple subtasks, r t Indicates a reward corresponding to at least one of the multiple subtasks. The second moment is later than the first moment. The actions performed on the multiple subtasks are determined based on the scheduling information. For example, if the scheduling information instructs a computing node to execute a subtask, the action corresponding to the subtask may be, for example, execution.

[0121] The reward for at least one of the multiple subtasks may be determined based on a first preset algorithm and an indicator of the execution of the subtask. The indicator of the execution of the subtask may include, for example, one or more of the duration of the subtask execution, energy consumption of the communication system, link load, and computing node load. For example, the shorter the duration of the subtask execution, the greater the reward of the first model. Conversely, the longer the duration of the subtask execution, the smaller the reward corresponding to the subtask. Specifically, for example, the reward corresponding to the subtask is the reciprocal of the duration of the subtask execution.

[0122] For example, because multiple subtasks may be executed in a sequential order, the first network node may generate the first training data after executing at least one of the multiple subtasks. In this case, while executing the multiple subtasks, the first network node may generate multiple sets of first training data, and thus the first network node may send multiple sets of first training data to the management node. This embodiment of the present application does not limit the number of sets of first training data.

[0123] Of course, when the first training data includes multiple sets of training data, the first network node may send the first training data to the management node after generating one set of first training data. Alternatively, the first network node may send all the first training data to the management node after generating all the first training data.

[0124] For example, a task includes multiple subtasks: subtask a1, subtask a2, subtask a3, and subtask a4. The execution order of the task is to execute subtask a1 first, then subtask a2 and subtask a3, and finally subtask a4. For example, the first state is the state where subtask a1 has not been executed, represented by 0, and the second state is the state where subtask a1 has been executed, represented by 1. The execution time of subtask a1 is 2 seconds, the duration of the first model is determined to be 1 / 2, and the action for subtask a1 is execution, represented by 1. In this case, the first training data can be represented as [0, 1, 1 / 2, 1].

[0125] A management node can deploy multiple models, any two of which can be different. Multiple models can correspond to multiple network nodes, with one model corresponding to one of the multiple network nodes. To facilitate distinguishing which network node a model corresponds to, in one possible implementation, the first training data may also include an identifier for the first model. In this way, the first network node can determine, based on the identifier of the first model, that the first training data is used to train the first model corresponding to the first network node.

[0126] Exemplarily, the management node may pre-store a first correspondence, which includes identifiers of multiple models and the network nodes corresponding to each of the multiple models. After receiving the first training data, the management node may determine, based on the identifier of the first model, that the first training data is used to update the model parameters of the first model corresponding to the first network node. The identifier of the first model may be determined by negotiation between the first network node and the management node, or may be configured by the management node. The identifier of the first model may specifically be, for example, the address of the first network node, such as the Internet Protocol (IP) address of the first network node. Of course, if the management node only deploys the first model of the first network node, the first training data may not need to carry the identifier of the first model.

[0127] After executing at least one of the multiple subtasks, the first network node may send the execution status of the at least one subtask to the terminal device. Furthermore, after executing the first task, the first network node may send the execution result of the first task to the terminal device. For example, referring again to FIG. 7 , the first network node may provide feedback on the execution status and result of the first task to the terminal device. This allows the user to obtain the execution status and result of the first task in a timely manner. This improves the user experience.

[0128] S408: The management node obtains second model parameters of the first model according to the first training data.

[0129] The management node may train the first model based on the first training data, thereby obtaining updated model parameters of the first model, namely, second model parameters.

[0130] Optionally, the management node may train the first model immediately after receiving a set of first training data, or may update the training of the first model using part or all of the first training data after determining that the number of groups of the first training data is greater than or equal to the first number. There is no specific limitation on this.

[0131] S409: The management node sends the second model parameters of the first model to the first network node. Correspondingly, the first network node receives the second model parameters of the first model from the management node.

[0132] After receiving the second model parameters, the first network node can use the first model running the second model parameters to schedule tasks when using the first model in the future. Since the model parameters of the first model are updated in a timely manner, the accuracy of the first model output can be improved.

[0133] A possible implementation of S408 is described below in conjunction with a schematic diagram of a method for training the first model shown in Figure 8. Figure 8 illustrates three steps S801 to S803, which are described below.

[0134] S801: The management node inputs first training data into a first model.

[0135] Exemplarily, the management node may create a training environment for the first model. This training environment may be, for example, a virtual environment or sandbox environment constructed identically to the operating environment of the first network node. The management node may input the first training data into the first model running in the training environment. When the management node deploys multiple models, the management node may deploy multiple training environments, respectively. Thus, the management node can train the multiple models in each of the multiple training environments, thereby avoiding interference between the multiple models.

[0136] S802: The management node determines the output of the first model, and based on the output of the first model, determines the loss of the first model.

[0137] The management node obtains the output of the first model and determines the loss (or reward) of the first model based on the output of the first model (also called a decision) and the preset output of the first model. The loss of the first model can represent the difference between the output of the first model and the preset output of the first model. The loss of the first model can be obtained by inputting the preset output of the first model and the output of the first model into the second preset algorithm.

[0138] S803: The management node updates the model parameters of the first model based on the loss to obtain second model parameters of the first model.

[0139] For example, the management node may adjust the model parameters of the first model in a direction of reducing the loss of the first model based on the loss of the first model, thereby obtaining the second model parameters of the first model.

[0140] Alternatively, if the management node deploys multiple models, including the first model, the management node can determine the total loss based on the losses of the multiple models and use the total loss to adjust the model parameters of the multiple models to obtain the second model parameters of the first model. The loss of any of the multiple models can refer to the loss of the first model and is not listed here. The total loss can be obtained by taking the weighted sum of the losses of the multiple models. In this case, the management node can combine the total loss to jointly train the multiple models, which is conducive to improving training efficiency.

[0141] It should be understood that the above FIG8 can be regarded as an example of a management node implementing a model training function.

[0142] In the embodiment of the present application, the network nodes can use distributed telemetry, which can quickly respond to and learn real-time changing network status information in a dynamically changing network environment, and integrate network status information for task scheduling, reducing the transmission burden of the network. Since the network status information is more real-time and comprehensive, the accuracy of task scheduling can be improved, and the total task execution delay can be effectively reduced, and the load balancing degree of system nodes and links can be improved, which has high practicality and feasibility. In addition, the embodiment of the present application also proposes a model that can be used for componentized task scheduling and resource allocation. The model can jointly optimize task scheduling and resource allocation decisions to minimize the total task execution delay and node load balancing. In addition, the management node and the network node can interact with each other, and the management node can use the real-time data of the network node to quickly update the model parameters of the model deployed in the network node, so that the model can run more accurately. In addition, the model can consider the topological relationship of the network nodes in the edge computing system with multi-node collaboration and make task allocation decisions quickly.

[0143] It is understood that, in order to implement the functions in the above embodiments, the base station and the terminal include hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily appreciate that, in conjunction with the units and method steps of the various examples described in the embodiments disclosed in this application, this application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in hardware or in a computer software-driven hardware manner depends on the specific application scenario and design constraints of the technical solution.

[0144] Please refer to Figure 9, which is a schematic diagram of the structure of a task scheduling device provided in an embodiment of the present application. These task scheduling devices can be used to implement the functions of the first network node in the above method embodiment, thereby also achieving the beneficial effects of the above method embodiment. In the embodiment of the present application, the task scheduling device can be any of the network nodes shown in Figures 1, 2, or 3.

[0145] As shown in Figure 9 , the task scheduling device 900 includes a transceiver module 910 and a processing module 920. The task scheduling device 900 can be used to implement the function of the first network node in the method embodiment shown in Figure 4 above.

[0146] When the task scheduling device 900 is used to implement the functions of the first network node in the method embodiment shown in FIG4 , the transceiver module 910 may be used to receive a task request and K telemetry messages, and the processing module 920 may be used to execute steps S403 and S405 . Optionally, the transceiver module 910 may also be used to receive first model parameters, send first training data, and receive second model parameters.

[0147] A more detailed description of the transceiver module 910 and the processing module 920 can be directly obtained by referring to the relevant description in the method embodiment shown in FIG4 , and is not repeated here.

[0148] Please refer to Figure 10, which provides a structural diagram of another task scheduling device according to an embodiment of the present application. The task scheduling device 1000 includes a processor 1010 and an interface circuit 1020. The processor 1010 and the interface circuit 1020 are coupled to each other. It is understood that the interface circuit 1020 can be a transceiver or an input / output interface. Optionally, the task scheduling device 1000 may further include a memory 1030 for storing instructions executed by the processor 1010 or storing input data required by the processor 1010 to execute instructions or storing data generated after the processor 1010 executes instructions.

[0149] When the task scheduling device 1000 is used to implement the method shown in Figure 4, the processor 1010 is used to implement the functions of the processing module 920, and the interface circuit 1020 is used to implement the functions of the transceiver module 910. Optionally, the task scheduling device 1000 can implement the functions of any network node shown in Figures 1 to 3 above.

[0150] An embodiment of the present application provides another example of a task scheduling device, which includes at least one processor and at least one memory, the at least one processor and the at least one memory being coupled, the at least one memory being used to store instructions, and when the instructions are executed by the at least one processor, the task scheduling device executes the method in the above embodiment. Taking the task scheduling device including a processor and a memory as an example, as shown in Figure 11, the task scheduling device 1100 includes a processor 1110 and a memory 1120. The processor 1110 and the memory 1120 are coupled, and the memory 1120 stores instructions. When the instructions stored in the memory 1120 are executed by the processor 1110, the task scheduling device 1100 executes the method executed by the first network node in the above embodiment.

[0151] It is understood that the processor involved in the various embodiments of the present application may be a central processing unit (CPU), or may be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor. In addition, the memory involved in the various embodiments of the present application may include volatile memory, such as random access memory (RAM). The memory may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD) or solid state drive (SSD).

[0152] The method steps in each embodiment of the present application can be implemented in hardware or in software instructions that can be executed by a processor. The software instructions can be composed of corresponding software modules, and the software modules can be stored in random access memory, flash memory, read-only memory, programmable read-only memory, erasable programmable read-only memory, electrically erasable programmable read-only memory, registers, hard disk, mobile hard disk, CD-ROM or any other form of storage medium well known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. The storage medium can also be an integral part of the processor. The processor and storage medium can be located in an ASIC. In addition, the ASIC can be located in a base station or a terminal. The processor and storage medium can also exist in a base station or a terminal as discrete components.

[0153] In the above embodiments, all or part of the embodiments may be implemented using software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments may be implemented in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are performed in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user device, or other programmable device. The computer program or instructions may be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions may be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium may be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; an optical medium, such as a digital video disk; or a semiconductor medium, such as a solid-state drive. The computer-readable storage medium may be a volatile or nonvolatile storage medium, or may include both volatile and nonvolatile types of storage media.

[0154] An embodiment of the present application provides a task scheduling system, comprising: K network nodes and a first network node. Optionally, the system further comprises a management node. The functions of the K network nodes, the first network node, and the management node can be referred to as the functions of the K network nodes, the first network node, and the management node, respectively, as described in FIG. 4 above, and any repetitions are omitted. Of course, the system can also implement any of the task scheduling methods described above, such as the task scheduling method described in FIG. 4 above.

[0155] An embodiment of the present application provides a chip system, comprising: a processor and an interface, wherein the processor is configured to call and execute instructions from the interface, and when the processor executes the instructions, implements any of the task scheduling methods described above, such as any of the task scheduling methods described in FIG. 4 .

[0156] An embodiment of the present application provides a computer-readable storage medium for storing computer programs or instructions, which, when executed, implements any of the task scheduling methods shown above, such as any of the task scheduling methods shown in FIG. 4 above.

[0157] An embodiment of the present application provides a computer program product comprising instructions, which, when executed on a computer, implements any of the task scheduling methods described above, such as the task scheduling method described in any one of FIG. 4 .

[0158] In the various embodiments of the present application, unless otherwise specified or there is a logical conflict, the terms and / or descriptions between different embodiments are consistent and can be referenced by each other. The technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationships.

[0159] It should be understood that the various numbers used in the various embodiments of this application are merely for ease of description and are not intended to limit the scope of the embodiments of this application. The order of the sequence numbers of the above-mentioned processes does not necessarily imply a specific order of execution; the order of execution of the processes should be determined by their functions and inherent logic.

Claims

1. A task scheduling method, characterized in that: Applied to a first network node in a wireless network, the wireless network further comprising K network nodes, K being a positive integer, the method comprising: receiving a task request, the task request being used to request processing of a first task, the first task including a plurality of subtasks; receiving K telemetry information from the K network nodes respectively, the K telemetry information indicating K links, wherein one link includes one network node among the K network nodes and one or more computing nodes communicating with the one network node; Determine network status information according to the K telemetry information, the network status information including information of a first network topology corresponding to the first network node, the first network topology including L computing nodes in the K links, each computing node in the L computing nodes being a computing node communicating with one of the K network nodes, and L being a positive integer; Scheduling information is determined according to the network status information and the task request, where the scheduling information indicates at least one subtask of the multiple subtasks to be executed by Q computing nodes among the L computing nodes and each computing node among the Q computing nodes, where Q is a positive integer.

2. The method according to claim 1, characterized in that The K telemetry information are respectively carried in telemetry fields in K telemetry messages.

3. The method according to claim 1 or 2, characterized in that: Determining network status information according to the K telemetry information includes: Determine P network nodes according to the K links, wherein the P network nodes include the first network node and some or all of the K network nodes, a first communication quality between any two adjacent network nodes among the P network nodes satisfies a first condition, and P is a positive integer; Determine, according to the links in the K links associated with the P network nodes, a computing node whose second communication quality with each of the P network nodes satisfies a second condition, to obtain the L computing nodes; Links between the P network nodes and the L computing nodes are determined to obtain information about the first network topology.

4. The method according to claim 3, characterized in that The information of the first network topology is in the form of a relationship graph, wherein: the first type of entities of the relationship graph include the P network nodes, the first type of edges are the connections between the P network nodes, the second type of entities are the L computing nodes, the second type of edges are the connections between the L computing nodes, and the connections between the L computing nodes and the P network nodes.

5. The method according to claim 3 or 4, characterized in that: The first condition includes: The first communication quality is greater than or equal to a first threshold; or, The sequence number of the first communication quality is the first S1 bits, and the sequence number of the first communication quality is obtained by arranging the communication quality between every two network nodes in the K links in descending order, and S1 is a positive integer.

6. The method according to any one of claims 3 to 5, characterized in that: The second condition includes: The second communication quality is greater than or equal to a second threshold; or, The sequence number of the second communication quality is the first S2 bits, and the sequence number of the second communication quality is obtained by arranging the communication quality between each network node in the P network nodes and each computing node in the K links in descending order, and S2 is a positive integer.

7. The method according to any one of claims 1 to 6, characterized in that: Each of the K telemetry information further indicates a resource of a computing node in a link of one of the K network nodes, wherein the resources of the L computing nodes satisfy a third condition.

8. The method according to claim 7, characterized in that The task request includes an execution logic diagram of the plurality of subtasks and resource requirement information of each of the plurality of subtasks; The third condition includes that the resources of the L computing nodes all satisfy the resource requirement information.

9. The method according to any one of claims 1 to 8, characterized in that: The wireless network also includes a management node; determining scheduling information according to the network state information and the task request, including: According to the network information and the task request, an output of a first model is determined, the output of the first model including the scheduling information, wherein a model parameter of the first model is a first model parameter, the first model parameter is received from the management node, and the management node and the first network node share the first model.

10. The method according to claim 9, characterized in that The method further comprises: Sending first training data to the management node, the first training data including first states of the multiple subtasks at a first moment, actions performed on the multiple subtasks, rewards of the first model, and second states of the multiple subtasks at a second moment, the actions performed on the multiple subtasks are determined based on the scheduling information, and the second moment is later than the first moment; receiving a second model parameter from the management node, wherein the second model parameter is obtained by updating and training the first model based on the first training data; The model parameters of the first model are updated to the second model parameters.

11. A task scheduling device, characterized in that: The device is applied to a first network node in a wireless network, and the device includes: A transceiver module, used for receiving a task request, wherein the task request is used for requesting processing of a first task, wherein the first task includes a plurality of subtasks; The transceiver module is further configured to receive K telemetry information from the K network nodes respectively, wherein the K telemetry information indicates K links, wherein one link includes one network node among the K network nodes and one or more computing nodes communicating with the one network node; A processing module is used to determine network status information based on the K telemetry information, the network status information including information of a first network topology corresponding to the first network node, the first network topology including L computing nodes in the K links, each of the L computing nodes being a computing node communicating with one of the K network nodes, L being a positive integer, and determine scheduling information based on the network status information and the task request, the scheduling information indicating at least one subtask of the multiple subtasks executed by Q computing nodes among the L computing nodes and each of the Q computing nodes, Q being a positive integer.

12. The device according to claim 11, characterized in that The K telemetry information are respectively carried in telemetry fields in K telemetry messages.

13. The device according to claim 11 or 12, characterized in that The processing module is specifically used for: Determine P network nodes according to the K links, wherein the P network nodes include the first network node and some or all of the K network nodes, and a first communication quality between any two adjacent network nodes among the P network nodes satisfies a first condition; Determine, according to the links in the K links associated with the P network nodes, a computing node whose second communication quality with each of the P network nodes satisfies a second condition, to obtain the L computing nodes; Links between the P network nodes and the L computing nodes are determined to obtain information about the first network topology.

14. The device according to claim 13, characterized in that The information of the first network topology is in the form of a relationship graph, wherein: the first type of entities of the relationship graph include the P network nodes, the first type of edges are the connections between the P network nodes, the second type of entities are the L computing nodes, the second type of edges are the connections between the L computing nodes, and the connections between the L computing nodes and the P network nodes.

15. The device according to claim 13 or 14, characterized in that The first condition includes: The first communication quality is greater than or equal to a first threshold; or, The sequence number of the first communication quality is the first S1 bits, and the sequence number of the first communication quality is obtained by arranging the communication quality between every two network nodes in the K links in descending order, and S1 is a positive integer.

16. The device according to any one of claims 11 to 15, characterized in that: The second condition includes: The second communication quality is greater than or equal to a second threshold; or, The sequence number of the second communication quality is the first S2 bits, and the sequence number of the second communication quality is obtained by arranging the communication quality between each network node in the P network nodes and each computing node in the K links in descending order, and S2 is a positive integer.

17. The device according to any one of claims 11 to 16, characterized in that: Each of the K telemetry information further indicates a resource of a computing node in a link of one of the K network nodes, wherein the resources of the L computing nodes satisfy a third condition.

18. The device according to claim 17, characterized in that The task request includes an execution logic diagram of the plurality of subtasks and resource requirement information of each of the plurality of subtasks; The third condition includes that the resources of the L computing nodes all satisfy the resource requirement information.

19. The device according to any one of claims 11 to 18, characterized in that: The processing module is specifically used for: The network information and the task request are input into a first model to determine an output of the first model, wherein the output of the first model includes the scheduling information, wherein a model parameter of the first model is a first model parameter, which is received from a management node in the wireless network, and the management node and the first network node share the first model.

20. The device according to claim 19, characterized in that The transceiver module is further configured to send first training data to the management node, wherein the first training data includes a first state of the plurality of subtasks at a first moment, actions performed on the plurality of subtasks, rewards of the first model, and a second state of the plurality of subtasks at a second moment, the actions performed on the plurality of subtasks are determined based on the scheduling information, the second moment is later than the first moment, and receive second model parameters from the management node, wherein the second model parameters are obtained by updating and training the first model based on the first training data; The processing module is further used to update the model parameters of the first model to the second model parameters.

21. A task scheduling system, characterized in that: The system includes a first network node and K network nodes in a wireless network, where K is a positive integer; The first network node is used to receive a task request, where the task request is used to request processing of a first task, where the first task includes a plurality of subtasks; The K network nodes are used to send telemetry information to the first network node respectively, with a total of K telemetry information, where the K telemetry information indicates K links, one of which includes a network node among the K network nodes and one or more computing nodes communicating with the one network node; The first network node is further used to determine network status information based on the K telemetry information, the network status information including information of a first network topology corresponding to the first network node, the first network topology including L computing nodes in the K links, each of the L computing nodes being a computing node communicating with one of the K network nodes, L being a positive integer, and to determine scheduling information based on the network status information and the task request, the scheduling information indicating at least one of the multiple subtasks executed by Q computing nodes among the L computing nodes and each of the Q computing nodes, Q being a positive integer.

22. The system according to claim 21, characterized in that The system also includes a management node; The management node is used to send a first model parameter of a first model to the first network node; The first network node is specifically used to input the network information and the task request into a first model to determine the output of the first model, wherein the output of the first model includes the scheduling information, and the model parameters of the first model are the first model parameters.

23. A communication device, characterized in that: It includes a processor and an interface circuit, wherein the interface circuit is used to receive signals from other communication devices outside the communication device and transmit them to the processor or send signals from the processor to other communication devices outside the communication device, and the processor is used to implement the task scheduling method as described in any one of claims 1-10 through a logic circuit or executing code instructions.

24. The communication device according to claim 23, characterized in that The communication device is a chip.

25. A computer program product comprising instructions, characterized in that When the instruction is executed by the communication device, the communication device executes the task scheduling method according to any one of claims 1 to 10.

26. A computer-readable storage medium, characterized in that: The storage medium stores a computer program or instruction. When the computer program or instruction is executed by the communication device, the task scheduling method according to any one of claims 1 to 10 is implemented.