Scheduling method and device for edge computing task and storage medium

By monitoring the load of edge nodes in real time and scheduling container groups dynamically, the slow response problem caused by excessive load in edge computing is solved, and the load balancing of edge nodes and task response efficiency is improved.

CN119440792APending Publication Date: 2025-02-14HANGZHOU ALICLOUD FEITIAN INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310973070.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-08-03
Publication Date
2025-02-14

AI Technical Summary

Technical Problem

In edge computing scenarios, declarative scheduling methods cause excessive loading of some edge nodes, resulting in slow task response and long calculation cycles.

Method used

By monitoring the load status of each edge node in real time, if the specified criteria are met, select the container group to be scheduled, and assign a new host node to it according to the preset scheduling policy, and terminate the processing of the target container group to free up resources.

Benefits of technology

Dynamic load balancing of each edge node is realized, avoiding the problem of excessive local load, ensuring that edge computing tasks can respond in a timely manner, thereby improving response efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119440792A_ABST
    Figure CN119440792A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides an edge computing task scheduling method and device and a storage medium. The method comprises the following steps: when monitoring that a load state of a target edge node reaches a specified standard, selecting a target container group to be scheduled from each container group running on the target edge node; on the basis, on one hand, a new host node can be redistributed for the target container group according to a flexible scheduling strategy, and the subsequently received edge computing task of the specified target container group is scheduled to the host node; and on the other hand, the target container group on the target edge node can be terminated to release resources occupied by the target container group on the target edge node. Therefore, dynamic load balance of each edge node can be realized and the problem of overlarge local load can be avoided by performing dynamic scheduling on the container group which is already deployed and is running, so that the edge computing task can be ensured to be timely responded by the proper edge node, and the response efficiency of the edge computing task is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of edge computing technology, and in particular to a scheduling method, device, and storage medium for edge computing tasks. Background Art

[0002] As the Internet of Things (IoT) continues to expand, more and more IoT devices are adopting edge computing architectures. This means deploying a certain number of edge nodes with communication, storage, and computing capabilities at the edge of the IoT, close to terminal devices such as sensors and cameras, and performing data calculations and processing directly on the edge nodes.

[0003] Currently, declarative scheduling is commonly used to schedule edge computing tasks. However, this scheduling method often causes some edge nodes to be overloaded, resulting in slow response of local edge computing tasks and long computing cycles. Summary of the Invention

[0004] Multiple aspects of the present application provide a scheduling method, device, and storage medium for edge computing tasks to improve the response efficiency of edge computing tasks.

[0005] This embodiment of the present application provides a method for scheduling edge computing tasks, including:

[0006] Monitor the load status of each edge node;

[0007] If the load status of the target edge node is monitored to meet the specified standard, the target container group to be scheduled is selected from the container groups running on the target edge node;

[0008] Allocate a new host node for the target container group from the edge nodes according to a preset scheduling policy;

[0009] When an edge computing task directed to the target container group is detected, scheduling the edge computing task to the host node;

[0010] The target container group is terminated on the target edge node to release resources occupied by the target container group on the target edge node.

[0011] The embodiment of the present application further provides a control device, including a memory, a processor, and a communication component;

[0012] The memory is used to store one or more computer instructions;

[0013] The processor is coupled to the memory and the communication component, and is configured to execute the one or more computer instructions to execute the aforementioned scheduling method for edge computing tasks.

[0014] An embodiment of the present application also provides a computer-readable storage medium storing computer instructions. When the computer instructions are executed by one or more processors, the one or more processors are caused to execute the aforementioned scheduling method for edge computing tasks.

[0015] In an embodiment of the present application, it is proposed to monitor the load status of each edge node in real time, and when a target edge node whose load status reaches a specified standard is detected, a target container group to be scheduled is selected from the various container groups running on the target edge node; on this basis, on the one hand, a new host node can be reallocated for the target container group according to a flexible scheduling strategy, and the edge computing tasks of the specified target container group received subsequently can be scheduled to the host node; on the other hand, the target container group on the target edge node can also be terminated to release the resources it occupies on the target edge node. Accordingly, by dynamically scheduling the container groups that have been deployed and are in operation, dynamic load balancing of each edge node can be achieved to avoid the problem of excessive local load, which can ensure that the edge computing tasks can be responded to in a timely manner by the appropriate edge nodes, thereby improving the response efficiency of the edge computing tasks. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0017] Figure 1 A flowchart of a method for scheduling edge computing tasks provided by an exemplary embodiment of the present application;

[0018] Figure 2 A logical diagram of a scheduling method for edge computing tasks provided by an exemplary embodiment of the present application;

[0019] Figure 3 A logical diagram of an optional implementation of a scheduling method for edge computing tasks provided by an exemplary embodiment of the present application;

[0020] Figure 4 A schematic diagram of an application logic of a container group queue to be scheduled provided by an exemplary embodiment of the present application;

[0021] Figure 5 A logical diagram of a recovery solution provided by an exemplary embodiment of the present application;

[0022] Figure 6 A schematic diagram of an application scenario provided by an exemplary embodiment of the present application;

[0023] Figure 7A structural diagram of a control device provided as another exemplary embodiment of the present application. DETAILED DESCRIPTION

[0024] To make the purpose, technical solutions, and advantages of this application more clear, the technical solutions of this application will be clearly and completely described below in conjunction with the specific embodiments of this application and the corresponding drawings. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0025] At present, in edge computing scenarios, the phenomenon of local overload often occurs, resulting in some edge computing tasks not being responded to in a timely manner. To this end, in some embodiments of the present application: it is proposed to monitor the load status of each edge node in real time, and when a target edge node whose load status reaches a specified standard is monitored, the target container group to be scheduled is selected from the various container groups running on the target edge node; on this basis, on the one hand, a new host node can be reallocated to the target container group according to a flexible scheduling strategy, and the edge computing tasks of the specified target container group received subsequently can be scheduled to the host node; on the other hand, the target container group on the target edge node can also be terminated to release the resources it occupies on the target edge node. Accordingly, by dynamically scheduling the container groups that have been deployed and are in operation, dynamic load balancing of each edge node can be achieved to avoid the problem of local overload, which can ensure that the edge computing tasks can be responded to in a timely manner by the appropriate edge node, thereby improving the response efficiency of the edge computing tasks.

[0026] The following describes in detail the technical solutions provided by various embodiments of the present application in conjunction with the accompanying drawings.

[0027] Figure 1 A flowchart of a method for scheduling edge computing tasks provided as an exemplary embodiment of the present application. Figure 2 A logical diagram of a scheduling method for edge computing tasks provided by an exemplary embodiment of the present application. Figure 1 and Figure 2 The method can be executed by a scheduling device, which can be implemented as software, hardware or a combination of software and hardware, and the scheduling device can be integrated into a control device.

[0028] The scheduling method for edge computing tasks provided in this embodiment can be adapted to edge computing scenarios. In contrast to cloud computing, edge computing is a new computing model that deploys computing power where data is generated and performs data calculations and processing directly at the edge. Figure 2In the edge computing scenario, multiple edge nodes can be deployed. An edge node refers to a server or server cluster that is close to the terminal device that generates data and has storage, communication, and computing capabilities. The edge node can communicate with the cloud-side server to collaboratively complete services. This type of collaboration is generally referred to as cloud-edge collaboration. In this embodiment, the tasks that need to be performed on the edge node are described as edge computing tasks. It should be understood that the initiator of the edge computing task is not limited in this embodiment. The initiator of the edge computing task can be the aforementioned terminal device that generates data, or it can be certain servers on the cloud side, etc., and no exhaustive or limiting list is given here.

[0029] In addition, optionally, this embodiment can use mechanisms such as kubernetes to manage container groups on edge nodes. A container group refers to a group of containers used to carry applications. Figure 2 In edge computing scenarios, a master-slave architecture can be used to manage container groups on edge nodes, where the edge nodes act as slave nodes and the aforementioned control device acts as the master node. The edge node task scheduling method provided in this embodiment can be implemented by a control device.

[0030] In edge computing scenarios, applications need to be deployed on edge nodes. Specifically, applications need to be loaded into container groups on edge nodes. Typically, a container group hosts one application, but a container group can also host multiple applications, without limitation. After an application is loaded into a container group, edge computing tasks that require the application are scheduled for execution in the container group.

[0031] At present, the scheduling of edge computing tasks usually adopts the declarative scheduling method mentioned in the background technology. That is, when an application needs to be deployed, the amount of resources required for the application can be declared. Based on this, an edge node that can provide sufficient resources can be selected, and a container group can be created for the application on the selected edge node. The application can then be loaded onto the created container group. In this way, the edge computing tasks that need to be processed by the application will be scheduled to the container group created for the application on the selected edge node. It can be understood that the above-mentioned declarative scheduling method is essentially a one-time scheduling solution. After the deployment of the application is completed, the deployment relationship between the application and the edge node will not change. However, the inventor found in actual application that the amount of resources required to be occupied by the application is usually an empirical value. During the actual operation of the application, the actual amount of resources occupied is dynamic. It often happens that the actual amount of resources occupied far exceeds the declared amount of resources occupied, resulting in task congestion problems on the relevant edge nodes and the inability of edge computing tasks to be responded to in a timely manner.

[0032] To this end, this embodiment proposes a scheduling method for edge computing tasks to overcome the shortcomings of traditional declarative scheduling methods and improve the response efficiency of edge computing tasks.

[0033] refer to Figure 1 The edge computing task scheduling method provided in this embodiment may include:

[0034] Step 100: Monitor the load status of each edge node;

[0035] Step 101: If the load status of the target edge node is monitored to meet the specified standard, a target container group to be scheduled is selected from the container groups running on the target edge node;

[0036] Step 102: Allocate a new host node for the target container group from each edge node according to the preset scheduling policy;

[0037] Step 103: When an edge computing task directed to the target container group is detected, the edge computing task is scheduled to the host node;

[0038] Step 104: terminate the target container group on the target edge node to release resources occupied by the target container group on the target edge node.

[0039] Figure 3 A logical diagram of an optional implementation of a scheduling method for edge computing tasks provided by an exemplary embodiment of the present application. Figure 3 A load monitoring component can be deployed in the control device to monitor the load status of multiple edge nodes in the scenario. In step 100, periodic or irregular monitoring can be used, without limitation. It should be understood that, as mentioned above, the control device and edge nodes use a master-slave architecture. Therefore, the load monitoring component in the control device is capable of monitoring the load status of each edge node.

[0040] Continue to refer Figure 1 In step 101, it is determined whether the load status of each edge node has reached a specified standard. Here, the specified standard can be a pre-specified load status critical value. In practical applications, the specified standard can be a specified load threshold, for example, 80%. In this way, if the real-time load of an edge node reaches 80% of its total resources, the edge node will be determined to have a load status that has reached the specified standard. Referring to step 102, for ease of description, in this embodiment, the edge node whose load status has reached the specified standard is described as the target edge node. It should be understood that the target edge node can be any edge node in the scenario that meets the aforementioned conditions.

[0041] In step 101, a target container group to be scheduled can be selected from the container groups running on the target edge node. The container groups running on the target edge node are the container groups on which applications have been deployed as mentioned above. It should be understood that these container groups are all in a running state, and there are usually edge computing tasks being executed on them, and they can receive new edge computing tasks at any time. In step 101, some container groups can be selected from the container groups running on the target edge node as the target container groups to be scheduled. Here, the number of selected target container groups can be one or more, and is not limited here.

[0042] In one exemplary selection scheme, a container group hosting a stateless application can be selected from the container groups running on the target edge node as the target container group. A stateless application is understood as an isolated application that runs independently of context and other applications.

[0043] It should be understood that in this embodiment, other selection schemes may be used to determine the target container group, and the present invention is not limited thereto.

[0044] Figure 4 This is a schematic diagram of an application logic of a container group queue to be scheduled provided by an exemplary embodiment of the present application. Figure 4 This embodiment further proposes that each container group to be scheduled can be managed through a queue of container groups to be scheduled.

[0045] To this end, after step 101, the description information of the target container group selected in step 101 can be added to the queue of container groups to be scheduled. In actual applications, the timing for adding the target container group selected in step 101 to the queue of container groups to be scheduled can be after the subsequent step 104 is completed, or of course, it can also be after the target container group is marked as terminated. In this way, the queue of container groups to be scheduled can contain container groups to be scheduled that have been selected in the scenario and have not yet been processed. Figure 4 In this embodiment, the control device may deploy a first scheduling component and a second scheduling component, wherein the first scheduling component may execute step 101, and the second scheduling component may execute subsequent steps 102-104. Based on this, reference Figure 4In this embodiment, the first scheduling component can be used to add the description information of the target container group selected in step 101 to the queue of container groups to be scheduled. The second scheduling component can then be used to consume the queue of container groups to be scheduled, thereby executing subsequent steps 102-104 for each container group in the queue. It should be understood that the container groups involved in the queue of container groups to be scheduled in this embodiment are dynamic, and container groups in the queue will be removed from the queue after being consumed.

[0046] For ease of description, the target container group is continued to be used as an example to illustrate the subsequent steps 102-104.

[0047] refer to Figure 1 In step 102, a new host node may be allocated to the target container group from each edge node according to a preset scheduling policy.

[0048] In this embodiment, the scheduling strategy can be configured based on reference dimensions such as the distance between nodes, the real-time network quality between nodes, and / or the actual load of the nodes.

[0049] An exemplary scheduling strategy may be:

[0050] Get the distance between the target edge node and other edge nodes;

[0051] Get the current load of each edge node;

[0052] For other edge nodes, perform a weighted sum of the distance and current load to obtain the adaptability of each edge node to the target container group.

[0053] According to the adaptability, a new host node is allocated to the target container group from each edge node.

[0054] Among them, reference Figure 3 , a distance monitoring component can be deployed in the control device, and the distance monitoring component can be used to monitor the distance between each edge node in the scene. In practical applications, the distance monitoring component can be used to maintain the positional topological relationship between each edge node in the scene. The distance here can adopt Manhattan distance, which is not limited here. It should be understood that when a new edge node appears in the scene or an edge node disappears, the positional topological relationship maintained by the distance monitoring component will be updated to ensure the accuracy and freshness of the positional topological relationship. Based on this, in this exemplary scheduling strategy, the distance between the target edge node and other edge nodes can be obtained from the distance monitoring component.

[0055] In addition, referring to the above, it has been proposed in step 100 that the load status of each edge node will be monitored. Based on this, in this exemplary scheduling strategy, the current load corresponding to each of the other edge nodes can be determined based on the monitoring data obtained in step 100. Figure 3 , the current load corresponding to each of the other edge nodes can be obtained from the load monitoring component.

[0056] On this basis, the compatibility between the edge node and the target container group can be characterized as follows:

[0057] Mi=a*Di+b*Ni.

[0058] Here, Mi represents the degree of compatibility between the i-th edge node and the target container group, a represents the weight coefficient corresponding to the distance, Di represents the distance between the i-th edge node and the target edge node, b represents the weight coefficient corresponding to the current load, and Ni represents the current load of the i-th edge node. It is worth noting that the above exemplary scheduling strategy excludes the target edge node from the scheduling scope. This exclusion can also be omitted in actual applications. Accordingly, in the above expression, Di corresponding to the target edge node can be 0.

[0059] In this exemplary scheduling strategy, the fitness is determined by taking a weighted sum of distance and current load. This takes both distance and load factors into account, allowing for a more reasonable allocation of a new host node for the target container group.

[0060] In addition, in this exemplary scheduling strategy, the edge node with the highest adaptability to the target container group can be selected from each edge node as the new host node corresponding to the target container group. In this way, a suitable new host node can be selected for the target container group.

[0061] It is worth noting that the above-mentioned scheduling strategy is merely exemplary, and the scheduling strategy employed in step 102 is not limited thereto. As previously mentioned, at least the network quality between nodes can be incorporated into the scheduling strategy to calculate the degree of compatibility. Of course, in addition to the several exemplary reference dimensions mentioned above, other reference dimensions can be introduced as needed, and other calculation logics besides weighted summation can be used to determine the degree of compatibility, and these are not exhaustive here.

[0062] It can be seen that in this embodiment, by supporting customized scheduling strategies, the scene can be given full control over the scheduling strategy, and the scene can be supported to define the scheduling strategy as needed according to its own situation, thereby improving the scheduling efficiency and scheduling effect in different scenarios based on the scheduling strategy.

[0063] Continue to refer Figure 1In step 103, after a new host node is assigned to the target container group, subsequently monitored edge computing tasks directed to the target container group may be scheduled to the host node. The edge computing tasks directed to the target container group refer to the aforementioned edge computing tasks that need to be executed by the target container group. That is, after a new host node is assigned to the target container group, subsequent edge computing tasks directed to the target container group will be scheduled to the new host node instead of the target edge node.

[0064] Among them, in step 103, the ability to process edge computing tasks directed to the target container group can be pre-configured on the new host node to ensure that the edge computing tasks scheduled to the new host node in step 103 can be responded to in a timely manner. To this end, in an optional implementation:

[0065] If there is a running container group on the host node that is configured the same as the target container group, the edge computing task pointing to the target container group will be scheduled to the running container group;

[0066] If there is no running container group with the same configuration as the target container group on the host node, a new container group with the same configuration as the target container group is created on the host node; and the edge computing tasks pointing to the target container group are scheduled to the new container group.

[0067] In this optional implementation, if there is an existing container group on the new host node that can handle edge computing tasks pointing to the target container group, the edge computing tasks pointing to the target container group can be scheduled to the existing container group, that is, the aforementioned selected running container group. In this case, it is only necessary to schedule the task data such as pictures and videos involved in the edge computing tasks to the new host node. If there is no existing container group on the new host node that can handle edge computing tasks pointing to the target container group, a new container group can be created on the new host node and the configuration of the new container group is consistent with that of the target container group. In this case, it is equivalent to migrating the target container group to the new host node.

[0068] Of course, other implementations can also be used in this embodiment to support scheduling edge computing tasks directed to the target container group to the host node, and the present embodiment is not limited to this. In addition, in actual applications, the connection information of the container group in the new host node that replaces the target container group can be notified to the various initiators of edge computing tasks directed to the target container group in the scenario. In this way, these initiators can subsequently directly initiate corresponding edge computing tasks to the container group in the new host node according to the new connection information, thereby scheduling the edge computing tasks executing the target container group to the host node.

[0069] Continue to refer Figure 1In step 104, the target container group may be terminated on the target edge node to release resources occupied by the target container group on the target edge node.

[0070] An exemplary termination processing scheme may be: sending a termination instruction to the target container group on the target edge node to control the target container group to enter a termination state, wherein, in the termination state, the target container group sends a completion signal after executing the running edge computing task; if the completion signal returned by the target edge node is received within a specified time period, then in response to the received completion signal, the target edge node is controlled to destroy the target container group; if the completion signal returned by the target edge node is not received within the specified time period, a forced destruction instruction for the target container group is sent to the target edge node to control the target edge node to destroy the target container group.

[0071] In this exemplary termination processing scheme, the target container group can be controlled to complete the edge computing tasks that have not been processed before it is determined as the container group to be scheduled, that is, the aforementioned running edge computing tasks, to ensure the smooth completion of this part of the edge computing tasks. As mentioned above, in step 103, after the target container group is determined as the container group to be scheduled, the subsequent edge computing tasks pointing to the target container group will be scheduled to the new host node, and will no longer be scheduled to the target container group on the target edge node. Of course, from the perspective of the target container group, after it enters the termination state, it can actively refuse to receive new edge computing tasks.

[0072] This exemplary termination processing solution also provides logic for handling special situations. That is, if the target container does not return a completion signal on time, the target edge node can be controlled to forcibly destroy the target container group to prevent the target container group from occupying resources on the target edge node for a long time, thereby more efficiently releasing the load pressure on the target edge node.

[0073] In this way, the edge computing task pointing to the target container group will be scheduled to the new host node assigned to the target container group, and the target container group on the target edge node will be destroyed to relieve the load pressure of the target edge node. On the new host node, the edge computing task pointing to the target container group will be responded to in a timely manner. Other edge computing tasks in the scenario can also be reasonably and dynamically scheduled according to the scheduling scheme provided by this embodiment, thereby ensuring that each edge computing task in the scenario is responded to in a timely manner and avoiding task congestion.

[0074] In summary, in this embodiment, it is proposed to monitor the load status of each edge node in real time, and when a target edge node whose load status reaches a specified standard is detected, a target container group to be scheduled is selected from the various container groups running on the target edge node; on this basis, on the one hand, a new host node can be reallocated to the target container group according to a flexible scheduling strategy, and the edge computing tasks of the specified target container group received subsequently can be scheduled to the host node; on the other hand, the target container group on the target edge node can also be terminated to release the resources it occupies on the target edge node. Accordingly, by dynamically scheduling the container groups that have been deployed and are in operation, dynamic load balancing of each edge node can be achieved to avoid the problem of excessive local load, which can ensure that the edge computing tasks can be responded to in a timely manner by the appropriate edge nodes, thereby improving the response efficiency of the edge computing tasks.

[0075] In a further design concept, a post-scheduling recovery scheme is also proposed. Figure 5 A logical diagram of a recovery solution provided by an exemplary embodiment of the present application. Figure 5 In this further design concept, the container group running on each edge node can be restored to the initial deployment position in response to a recovery trigger event. Figure 3 , where the recovery operation can be performed by Figure 3 The first scheduling component in is implemented, of course, this embodiment is not limited to this.

[0076] Among them, the recovery trigger event can be an event such as reaching a specified time point, or the task volume trend of the edge computing task meets specified conditions. This embodiment does not limit the recovery trigger event.

[0077] In addition, the initial deployment location here can be understood as the host node (that is, the edge node) where the container group is located when it is first created. Among them, the operation of creating a new container group on the new host node involved in the scheduling process according to the scheduling method of the edge computing task provided by this embodiment does not belong to the "container group being created for the first time". The first creation of the container group here can be understood as the container group creation operation performed for the application when the application is deployed as mentioned above. Moreover, it is worth noting that the scheduling method of the edge computing task provided by this embodiment may not cause any interference to the traditional declarative scheduling method. In other words, for the target edge node, from the perspective of the declarative scheduling method, the target container group still occupies the amount of resources it declared. Of course, the initial deployment location can also be other locations specified for each container group, for example, the node where the container group is located at a specified time after declarative scheduling, etc. This embodiment is not limited to this.

[0078] To support recovery from the initial deployment location, an exemplary solution maintains source node information for each container group running on each edge node in the scenario. This source node information can be the identification information of the host node where the container group is located at a given point in time. Based on this, when a recovery trigger event occurs, the source node information associated with each container group running on each edge node can be identified. If a first container group exists whose associated source node information is inconsistent with the identification information of the edge node it is currently located at, the first container group is restored to the edge node indicated by the source node information.

[0079] For example, refer to Figure 5 When deploying an application, the container group POD2 created for the application is located on the edge node node-0. During the scheduling phase, based on the scheduling method for edge computing tasks provided in this embodiment, the edge computing task directed to POD2 is scheduled to the edge node node-1. Figure 5 In the recovery phase, if the source node information of POD2 is identified as node-0, node-0 can be assigned as the new host node of POD2, and the edge computing task directed to POD2 can be dispatched back to node-1. Figure 5 , the container groups on node-0 and node-1 are restored to their initial deployment locations.

[0080] Accordingly, this further design concept supports restoring the container groups running on each edge node to their initial deployment locations when a recovery trigger event occurs. This allows applications to be restored to their assigned initial running locations after resolving the response efficiency issue of edge computing tasks. This ensures that applications return to their most appropriate running locations, even when response efficiency issues are not present, thereby reducing the potential impact of this embodiment's scheduling scheme on application operations.

[0081] Figure 6 A schematic diagram of an application scenario provided by an exemplary embodiment of the present application. Figure 6 This application scenario is an intelligent traffic control scenario. In this scenario, edge nodes can be configured for each traffic intersection. An example application might be a traffic flow statistics application. In this application scenario, declarative scheduling can be used to create container groups on edge nodes at certain traffic intersections to load the traffic flow statistics application.

[0082] In practical applications, refer to Figure 6In this example, edge node 1 is located in the city center, while edge node 2 is located in the suburbs. Both edge nodes 1 and 2 have container groups for loading traffic statistics applications. During peak hours, traffic at intersections in the city center is heavy, so the corresponding edge computing tasks consume more resources. Traffic in the suburbs is light, so the corresponding edge computing tasks consume fewer resources.

[0083] Based on the scheduling method for edge computing tasks provided in this embodiment, taking edge node 1 and edge node 2 as an example, the load status of edge node 1 and edge node 2 can be monitored. For example, if it is monitored that the load of edge node 1 exceeds 80%, container group A where the vehicle flow statistics application is located can be determined as the target container group to be scheduled.

[0084] Then, according to the preset scheduling policy, edge node 2 can be selected as the new host node for container group A. Because container group B, which contains the traffic statistics application, already exists on edge node 2, any edge computing tasks directed to container group A that are subsequently monitored can be scheduled for execution on container group B.

[0085] As for container group A, a termination command can be sent to edge node 1, causing it to be destroyed after completing the edge computing tasks it has undertaken. This relieves the load on edge node 1. The edge computing tasks originally handled by container group A will now be handled by container group B.

[0086] As can be seen, the scheduling method for edge computing tasks provided by this embodiment not only effectively reduces the load pressure on edge node 1, but also fully utilizes the idle resources on its edge node 2, thereby achieving dynamic load balancing between edge nodes. Furthermore, traffic flow statistics tasks required at city center intersections will also be promptly responded to by edge node 2, rather than being congested at edge node 1. This ensures that traffic flow statistics for city center intersections are completed in a timely manner.

[0087] It should be noted that some of the processes described in the above embodiments and the accompanying drawings include multiple operations that appear in a specific order. However, it should be clearly understood that these operations may not be executed in the order in which they appear in this document or may be executed in parallel. The sequence numbers of the operations, such as 101, 102, etc., are merely used to distinguish between different operations and do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations may be executed sequentially or in parallel.

[0088] Figure 7 This is a structural diagram of a control device provided by another exemplary embodiment of the present application. Figure 7As shown, the control device includes: a memory 70 , a processor 71 and a communication component 72 .

[0089] The processor 71 is coupled to the memory 70 and the communication component 72 and is configured to execute the computer program in the memory 70 to:

[0090] Monitor the load status of each edge node;

[0091] If the load status of the target edge node is monitored to meet the specified standard, the target container group to be scheduled is selected from the container groups running on the target edge node;

[0092] Allocate a new host node for the target container group from the edge nodes according to a preset scheduling policy;

[0093] When an edge computing task directed to the target container group is detected, scheduling the edge computing task to the host node;

[0094] The target container group is terminated on the target edge node to release resources occupied by the target container group on the target edge node.

[0095] In an optional embodiment, when allocating a new host node for the target container group from the edge nodes according to a preset scheduling policy, the processor 71 may be specifically configured to:

[0096] Obtaining the distance between the target edge node and other edge nodes;

[0097] Obtaining the current load corresponding to each of the other edge nodes;

[0098] Under the other edge nodes, weighted summation is performed on the distance and the current load to obtain the adaptability of each of the other edge nodes to the target container group;

[0099] According to the adaptability, a new host node is allocated to the target container group from the edge nodes.

[0100] In an optional embodiment, when allocating a new host node for the target container group from the edge nodes according to the adaptability, the processor 71 may be specifically configured to:

[0101] An edge node with the highest adaptability to the target container group is selected from the edge nodes as a new host node corresponding to the target container group.

[0102] In an optional embodiment, when scheduling the edge computing task to the host node, the processor 71 may be specifically configured to:

[0103] If there is a running container group on the host node that is consistent with the configuration of the target container group, scheduling the edge computing task to the running container group;

[0104] If there is no running container group on the host node that is consistent with the configuration of the target container group, a new container group that is consistent with the configuration of the target container group is created on the host node; and the edge computing task is scheduled to the new container group.

[0105] In an optional embodiment, when the processor 71 terminates the target container group on the target edge node, it may be specifically configured to:

[0106] Sending a termination instruction to the target container group on the target edge node to control the target container group to enter a termination state, wherein in the termination state, the target container group sends a completion signal after executing the running edge computing task;

[0107] If a completion signal returned by the target edge node is received within a specified time period, in response to the received completion signal, the target edge node is controlled to destroy the target container group;

[0108] If no completion signal returned by the target edge node is received within a specified time period, a forced destruction instruction for the target container group is sent to the target edge node to control the target edge node to destroy the target container group.

[0109] In an optional embodiment, the processor 71 may also be configured to:

[0110] In response to a recovery trigger event, the container group running on each edge node is restored to an initial deployment position.

[0111] In an optional embodiment, when restoring the container group running on each edge node to the initial deployment position, the processor 71 may be specifically configured to:

[0112] Identify source node information associated with each container group running on each edge node;

[0113] If a first container group exists and its associated source node information is inconsistent with the identification information of the edge node where it is currently located, the first container group is restored to the edge node pointed to by the source node information;

[0114] The source node information is identification information of the host node where the container group is located when it is first created, and the source node serves as the initial deployment location of the first container group.

[0115] In an optional embodiment, after selecting the target container group to be scheduled from the container groups running on the target edge node, the processor 71 may further be configured to:

[0116] Add the description information of the target container group to the queue of container groups to be scheduled;

[0117] The queue of containers to be scheduled is used to manage the operation timing of allocating a new host node to each container group to be scheduled.

[0118] In an optional embodiment, when the processor 71 selects the target container group to be scheduled from the container groups running on the target edge node, it may be specifically configured to:

[0119] Selecting, from the container groups running on the target edge node, a container group carrying a stateless application as the target container group;

[0120] The number of target container groups is one or more.

[0121] Further, if Figure 7 As shown, the control device also includes: a power supply component 73 and other components. Figure 7 Only some components are shown schematically, which does not mean that the control device only includes Figure 7 Components shown.

[0122] It is worth noting that the technical details in the above-mentioned embodiments of the control device can be referred to the relevant description in the aforementioned method embodiment. In order to save space, they will not be repeated here, but this should not cause any loss of the protection scope of this application.

[0123] Accordingly, an embodiment of the present application further provides a computer-readable storage medium storing a computer program, which can implement the steps in the above method embodiment when the computer program is executed.

[0124] above Figure 7 The memory in the computing platform is used to store computer programs and can be configured to store various other data to support operations on the computing platform. Examples of such data include instructions for any application or method operating on the computing platform, contact data, phone book data, messages, pictures, videos, etc. The memory can be implemented by any type of volatile or non-volatile storage device or a combination of them, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0125] above Figure 7The communication component in is configured to facilitate wired or wireless communication between the device where the communication component is located and other devices. The device where the communication component is located can access a wireless network based on a communication standard, such as WiFi, 2G, 3G, 4G / LTE, 5G and other mobile communication networks, or a combination thereof. In an exemplary embodiment, the communication component receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.

[0126] above Figure 7 The power supply component in a device provides power to various components of the device in which the power supply component is located. The power supply component may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device in which the power supply component is located.

[0127] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0128] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0129] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1The function specified in one or more boxes.

[0130] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0131] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.

[0132] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0133] The foregoing is merely an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should all be included in the protection scope of the present application.

Claims

1. A scheduling method for edge computing tasks, comprising: Monitor the load status of each edge node; If it is monitored that the load state of the target edge node reaches a specified standard, a target container group to be scheduled is selected from the container groups running on the target edge node; Allocate a new host node for the target container group from each edge node according to a preset scheduling strategy; When an edge computing task directed to the target container group is detected, scheduling the edge computing task to the host node; The target container group is terminated on the target edge node to release resources occupied by the target container group on the target edge node.

2. According to the method of claim 1, allocating a new host node for the target container group from the edge nodes according to a preset scheduling strategy comprises: Obtaining the distance between the target edge node and other edge nodes; Obtaining the current load corresponding to each of the other edge nodes; Under the other edge nodes, weighted sums are respectively performed on the distances and the current loads to obtain the adaptability of each of the other edge nodes to the target container group; According to the adaptability, a new host node is allocated to the target container group from the edge nodes.

3. The method according to claim 2, wherein allocating a new host node for the target container group from each edge node according to the adaptability comprises: An edge node with the highest adaptability to the target container group is selected from the edge nodes as a new host node corresponding to the target container group.

4. The method according to claim 1, scheduling the edge computing task to the host node, comprising: If there is a running container group on the host node that is consistent with the configuration of the target container group, scheduling the edge computing task to the running container group; If there is no running container group on the host node that is consistent with the configuration of the target container group, create a new container group on the host node that is consistent with the configuration of the target container group; The edge computing task is scheduled to the new container group.

5. The method according to claim 1, wherein the terminating process on the target container group on the target edge node comprises: Sending a termination instruction to the target container group on the target edge node to control the target container group to enter a termination state, wherein in the termination state, the target container group sends a completion signal after executing the running edge computing task; If a completion signal returned by the target edge node is received within a specified time period, in response to the received completion signal, the target edge node is controlled to destroy the target container group; If a completion signal returned by the target edge node is not received within a specified time period, a forced destruction instruction for the target container group is sent to the target edge node to control the target edge node to destroy the target container group.

6. The method according to claim 1, further comprising: In response to a recovery triggering event, the container groups running on the respective edge nodes are restored to an initial deployment position.

7. The method according to claim 6, restoring the container groups running on each edge node to the initial deployment position, comprising: Identify source node information associated with each container group running on each edge node; If the first container group exists and the source node information associated with the first container group is inconsistent with the identification information of the edge node where the first container group is currently located, the first container group is restored to the edge node pointed to by the source node information; The source node information is identification information of a host node where the container group is located when the container group is first created, and the source node serves as an initial deployment location of the first container group.

8. According to the method of claim 1, after selecting the target container group to be scheduled from the container groups running on the target edge node, the method further comprises: Adding the description information of the target container group to the queue of container groups to be scheduled; The to-be-scheduled container queue is used to manage the operation timing of allocating a new host node to each to-be-scheduled container group.

9. According to the method of claim 1, selecting a target container group to be scheduled from the container groups running on the target edge node comprises: Selecting, from the container groups running on the target edge node, a container group whose application program is a stateless application program as the target container group; The number of target container groups is one or more.

10. A control device comprising a memory, a processor and a communication component; The memory is used to store one or more computer instructions; The processor is coupled to the memory and the communication component, and is used to execute the one or more computer instructions to execute the scheduling method for edge computing tasks described in any one of claims 1-9.

11. A computer-readable storage medium storing computer instructions, which, when executed by one or more processors, causes the one or more processors to execute the scheduling method for edge computing tasks described in any one of claims 1-9.