Edge node, scheduler and dynamic scheduling method and system of edge computing scene
The dynamic scheduling system for edge computing adapts task allocation to network quality and load, addressing inefficiencies in existing static algorithms by using network probes and schedulers to optimize task distribution and execution.
Patent Information
- Application Number
- CN202411224801.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-03
- Publication Date
- 2024-12-06
- Estimated Expiration
- 2044-09-03
AI Technical Summary
Existing static scheduling algorithms for edge computing fail to consider varying network quality among edge nodes, leading to inefficiencies in task distribution and execution.
A dynamic scheduling system that includes network probes in edge nodes to measure network quality, a scheduler to analyze task requirements and node loads, and a dynamic scheduling decision module to adaptively allocate tasks based on network quality and load, using declarative YAML formats for configuration.
The system ensures efficient task allocation by considering network quality and load, improving resource utilization, reducing execution delays, and enhancing user experience through real-time adjustments and rescheduling.
Smart Images

Figure CN119094396A_ABST
Abstract
Description
Technical Field
[0001] One or more embodiments of the present invention relate to network communication technology, and in particular, to a dynamic scheduling method and system for edge nodes, schedulers, and edge computing scenarios. Background Art
[0002] As edge computing technology continues to mature, more and more communication application scenarios require real-time data processing and analysis on edge nodes. At present, a scheduling scheme is pre-set to pre-assign corresponding tasks to each edge node, and then directly forward the task to the edge node so that the edge node can perform real-time data processing and analysis on the task.
[0003] As communication needs continue to surge, the amount and complexity of tasks are also growing, so a large number of edge nodes are needed. Because each edge node is distributed in different locations in the network, the network quality between each edge node is different. According to the current practice, because each task is pre-assigned to an edge node, factors such as the network quality of the edge node are not considered. Therefore, the current static scheduling algorithm can no longer meet actual needs. Summary of the invention
[0004] One or more embodiments of the present invention describe a dynamic scheduling method and system for edge nodes, schedulers, and edge computing scenarios, using dynamic scheduling to meet business needs.
[0005] According to a first aspect, an edge node is provided, which is deployed at a network edge, and different edge nodes are distributed at different network edge locations; each edge node includes:
[0006] A network probe, which has client functions and server functions; when the network probe acts as a server, it receives connection requests from network probes in other edge nodes; when the network probe acts as a client, it actively connects to network probes in other edge nodes, transmits a predetermined test data packet, and records the round-trip time and loss of the test data packet;
[0007] The task execution module is configured to report the round-trip time and loss of the recorded test data packets to the scheduler so that the scheduler can calculate the key indicators of network quality between each edge node; and receive the scheduler's dispatch and perform data processing and analysis on the tasks assigned by the scheduler.
[0008] The key network quality indicators include at least one of the following: network delay, bandwidth and packet loss rate.
[0009] According to the second aspect, a scheduler is provided, which is deployed between each edge node, and includes: a network quality monitoring module, a task demand analysis module, a node load evaluation module, a dynamic scheduling decision module and a scheduling execution monitoring module; wherein,
[0010] The network quality monitoring module is configured to receive the round-trip time and loss of test data packets sent by the network probe in each edge node, and calculate the key indicators of network quality between each edge node according to the round-trip time and loss of each received test data packet;
[0011] The task requirement analysis module is configured to monitor and read the definitions of each task, classify the tasks into different types, define corresponding priorities for each type, analyze the dependencies between tasks, and determine the execution order and scheduling strategy of the tasks according to the priorities and the dependencies;
[0012] The node load evaluation module is configured to monitor the load of each edge node;
[0013] The dynamic scheduling decision module is configured to determine the dynamic scheduling strategy of the task according to the key network quality indicators between the edge nodes calculated by the network quality monitoring module, the execution order and scheduling strategy of the task determined by the task demand analysis module, and the load conditions of the edge nodes monitored by the node load evaluation module;
[0014] The scheduling execution monitoring module is configured to allocate each task to each edge node according to the dynamic scheduling strategy of the task, and monitor the execution of the task in real time, and make adjustments and optimizations as needed to ensure that the task can be executed according to the dynamic scheduling strategy.
[0015] The task requirement analysis module is configured to perform: parsing the user's definition of the task execution group in a declarative YAML manner to obtain the task type, the dependency relationship between each subtask that needs to be deployed, and at least one of the required maximum delay and minimum bandwidth.
[0016] The dynamic scheduling decision module is configured to execute: parsing the following scheduling algorithm specified by the user in a declarative YAML format:
[0017] Load balancing algorithm: Based on the load of edge nodes, a load balancing algorithm is used to distribute tasks to edge nodes with lower loads for execution;
[0018] Network-aware scheduling algorithm: Based on network quality information, edge nodes with better network quality are selected as task execution targets;
[0019] Dynamic scheduling strategy: Combined with the task type and execution time limit factors, a dynamic scheduling strategy is used to schedule tasks in real time to adapt to different task requirements and system status;
[0020] The scheduling execution monitoring module is further configured to execute: further allocating each task to each edge node according to the load balancing algorithm and the network-aware scheduling algorithm.
[0021] The dynamic scheduling decision module is configured to execute:
[0022] Determine whether the edge node network meets the requirements of the task group, filter out the edge nodes that do not meet the requirements, and only retain the edge nodes that meet the requirements;
[0023] When there are multiple edge nodes that meet the requirements, the multiple edge nodes that meet the requirements are scored based on their network quality. Through simulated scheduling, the sum of the scores of the edge node groups under various scheduling conditions is calculated to determine the group of edge nodes with the highest scores, and the task group is scheduled to the edge nodes with the highest scores in this group.
[0024] According to a third aspect, a dynamic scheduling system for an edge computing scenario is provided, the system comprising: a plurality of edge nodes in any embodiment of the present invention distributed at different network edge locations, and a scheduler in any embodiment of the present invention.
[0025] According to a fourth aspect, a dynamic scheduling method for implementing a system in an edge computing scenario based on an embodiment of the present invention is provided, the method comprising:
[0026] Each edge node transmits a predetermined test data packet to other edge nodes, records the round-trip time and loss of the test data packet, and reports it to the scheduler;
[0027] The scheduler calculates the key indicators of network quality between each edge node based on the round-trip time and loss of each test data packet received;
[0028] The scheduler determines the execution order and scheduling strategy of tasks based on the priorities and dependencies between tasks;
[0029] The scheduler determines the dynamic scheduling strategy of tasks based on the key indicators of network quality between each edge node, the execution order and scheduling strategy of tasks, and the load of each edge node;
[0030] The scheduler assigns each task to each edge node, monitors the execution of the task in real time, and makes adjustments and optimizations as needed;
[0031] Each edge node receives the dispatch from the scheduler and performs data processing and analysis on the tasks assigned by the scheduler.
[0032] The method further comprises:
[0033] Define the task group in a declarative YAML format to define the task type, the dependencies between the subtasks to be deployed, and at least one of the required maximum latency and minimum bandwidth;
[0034] and / or,
[0035] The scheduling algorithm is specified in a declarative YAML format.
[0036] According to a fifth aspect, a computing device is provided, including a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, the method described in any embodiment of the present invention is implemented.
[0037] It can be seen that the edge node, scheduler, and dynamic scheduling method and system for edge computing scenarios provided by the embodiments of the present invention can dynamically adjust tasks according to network quality and schedule services to edge nodes that meet the requirements, thereby making up for the lack of the ability of the edge computing task scheduler to perform scheduling based on aspects such as network quality and bandwidth. The various embodiments of the present invention also have the following beneficial effects:
[0038] 1. Easy to use. Users only need to use YAML declarations to deploy each task group to each edge node that meets the network latency and bandwidth requirements.
[0039] 2. Strong real-time performance. It uses network quality information to make real-time task scheduling decisions and deploy task groups on edge node groups that meet the requirements, making them more adaptable.
[0040] 3. High resource utilization rate. Dynamically adjust task allocation according to node load conditions and task requirements, thus improving resource utilization efficiency.
[0041] 4. Improve user experience: Optimize task scheduling, reduce task waiting time and execution delay, and improve user experience.
[0042] 5. Multiple task groups can be deployed at the same time. The scheduler will automatically sort the tasks according to the dependencies and find the optimal deployment order that meets the conditions.
[0043] 6. The network quality of the edge node where the task is located will be continuously observed. When the task requirements are not met, rescheduling will be automatically triggered.
[0044] 7. The entire process is completed automatically by the program without the user's awareness. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0046] Figure 1 It is a schematic diagram of the architecture of a dynamic scheduling system for an edge computing scenario in one embodiment of the present invention.
[0047] Figure 2 It is a schematic diagram of the structure of an edge node in one embodiment of the present invention.
[0048] Figure 3 It is a schematic diagram of the structure of a scheduler in one embodiment of the present invention.
[0049] Figure 4 It is a flowchart of a dynamic scheduling method for an edge computing scenario in one embodiment of the present invention. DETAILED DESCRIPTION
[0050] As edge computing technology continues to mature, more and more application scenarios require real-time data processing and analysis on edge nodes. However, due to the different network quality between edge nodes, as well as the diversity of task types and load conditions, traditional static scheduling algorithms can no longer meet actual needs. Therefore, a method that can dynamically adjust task scheduling according to network quality is needed. The present invention can calculate the delay and bandwidth between each edge node and schedule services to edge nodes that meet the requirements, thereby making up for the lack of the ability of the edge computing task scheduler to schedule based on network quality and bandwidth.
[0051] The solution provided by the present invention is described below in conjunction with the accompanying drawings.
[0052] First of all, it should be noted that the terms used in the embodiments of the present invention are only for the purpose of describing specific embodiments, and are not intended to limit the present invention. The singular forms "a", "the" and "the" used in the embodiments of the present invention and the appended claims are also intended to include plural forms, unless the context clearly indicates otherwise.
[0053] It should be understood that the term "and / or" used in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.
[0054] In order to facilitate understanding of the method provided by the present invention, the system architecture involved and applicable to the present invention is first described. Figure 1 As shown in , the system includes: a plurality of edge nodes 101 distributed at different network edge locations, and a scheduler 102 located between the edge nodes.
[0055] The functions and structures of the edge node 101 can be implemented by using the edge node provided in any embodiment of the present invention. Figure 2 Any of the described edge nodes.
[0056] The function and structure of the scheduler 102 can be implemented by using the scheduler provided in any embodiment of the present invention. Figure 3 Any of the schedulers described.
[0057] Among them, edge nodes are logical abstractions of the basic common capabilities of various edge-side product forms such as edge gateways, edge controllers, and edge servers. These product forms have common capabilities such as real-time data analysis, local data storage, and real-time network connection. For example, multiple edge nodes distributed at different network edge locations can be cameras distributed at different edge locations of the network, which are far away from the cloud server. Because the number of edge nodes is large and scattered, and the network conditions are different, it is necessary to establish Figure 1 The monitoring network shown in the figure uniformly monitors and schedules the scattered edge nodes.
[0058] It should be understood that Figure 1 The number of edge nodes and schedulers in the example is only for reference. Any number can be selected and deployed according to the implementation requirements.
[0059] See also Figure 1 The scheduler can calculate and record the network quality and resource usage between each edge node in real time, schedule the task group to the edge node that meets the requirements, and continuously observe the network quality of the edge node where the task group is located. When the edge node network does not meet the network quality requirements of the task for a period of time, the scheduler will automatically trigger rescheduling and re-search for a suitable edge node for the task group to always meet the task group's requirements for network quality and ensure the execution performance of the task group.
[0060] The edge nodes, schedulers, and dynamic scheduling methods and systems for edge computing scenarios provided by the embodiments of the present invention can dynamically adjust tasks according to network quality and schedule services to edge nodes that meet the requirements, thereby making up for the lack of the ability of the edge computing task scheduler to perform scheduling based on aspects such as network quality and bandwidth.
[0061] The edge nodes and the scheduler in the system of the present invention are described below respectively.
[0062] Figure 2 FIG. 1 is a schematic diagram of the structure of an edge node in an embodiment of the present invention. Figure 1 and Figure 2 In one embodiment of the present invention, edge nodes are deployed at the edge of a network, and different edge nodes are distributed at different network edge locations; each edge node includes:
[0063] A network probe 201, which has client functions and server functions; when the network probe acts as a server, it receives connection requests from network probes in other edge nodes; when the network probe acts as a client, it actively connects to network probes in other edge nodes, transmits a predetermined test data packet, and records the round-trip time and loss of the test data packet;
[0064] The task execution module 202 is configured to report the round-trip time and loss of the recorded test data packets to the scheduler so that the scheduler can calculate the key indicators of network quality between each edge node; and receive the scheduler's schedule to perform data processing and analysis on the tasks assigned by the scheduler.
[0065] The key network quality indicators include at least one of the following: network delay, bandwidth and packet loss rate.
[0066] exist Figure 2 In the edge nodes shown, the network probe 201 is responsible for regularly sending test data packets to each other and recording the round-trip time and loss of the data packets. The network probe works as both a client and a server. When acting as a client, it will actively connect to the servers of other edge nodes, and at the same time, it will receive connections from other edge nodes as a server. When the connection is established between the client and the server, the client will use technologies such as packet pairs and packet trains to transmit special test traffic. This data can also be transmitted and received through network message protocols such as ICMP or UDP. The network delay and maximum bandwidth between each node are tested without affecting the existing network traffic. By collecting this data, the subsequent scheduler can calculate indicators such as network delay, bandwidth and packet loss rate between each edge node.
[0067] Figure 3 FIG. 1 is a schematic diagram of the structure of a scheduler in one embodiment of the present invention. Figure 1 and Figure 3The scheduler is located between each edge node, and includes: a network quality monitoring module 301, a task demand analysis module 302, a node load evaluation module 303, a dynamic scheduling decision module 304, and a scheduling execution monitoring module 305; wherein,
[0068] The network quality monitoring module 301 is configured to receive the round trip time and loss of the test data packets sent by the network probe in each edge node, and calculate the key network quality indicators between each edge node according to the round trip time and loss of each received test data packet;
[0069] The task requirement analysis module 302 is configured to monitor and read the definitions of each task, classify the tasks into different types, define corresponding priorities for each type, analyze the dependencies between the tasks, and determine the execution order and scheduling strategy of the tasks according to the priorities and the dependencies;
[0070] The node load evaluation module 303 is configured to monitor the load of each edge node;
[0071] The dynamic scheduling decision module 304 is configured to determine the dynamic scheduling strategy of the task according to the key network quality indicators between the edge nodes calculated by the network quality monitoring module 301, the execution order and scheduling strategy of the task determined by the task demand analysis module 302, and the load of each edge node monitored by the node load evaluation module 303;
[0072] The scheduling execution monitoring module 305 is configured to allocate each task to each edge node according to the dynamic scheduling strategy of the task, monitor the execution of the task in real time, and make adjustments and optimizations as needed to ensure that the task can be executed according to the dynamic scheduling strategy.
[0073] It can be seen that in the scheduler provided by the present invention, the above five modules work together to form a complete dynamic scheduling system with the edge nodes. When a new task arrives or the network quality changes, the system will dynamically adjust the allocation and execution order of tasks according to the pre-defined scheduling strategy and real-time monitoring data to maximize resource utilization and task execution performance.
[0074] The specific implementation is as follows:
[0075] In an embodiment of the present invention, by deploying a network quality monitoring module 301 between edge nodes, key network quality indicators such as network delay, bandwidth, and packet loss rate between edge nodes are monitored in real time. Using network probes and network monitoring tools, test data packets are regularly sent between edge nodes, and information such as the round-trip time and packet loss of the data packets is recorded. These data can be transmitted and received through network message protocols such as ICMP or UDP. The network quality monitoring module 301 performs real-time monitoring by adopting a timed polling or event-driven method to ensure that the latest network quality information can be obtained in real time. Among them, the data recorded by all network probes are uniformly summarized and collected by adopting a timed polling or event-driven method, and the network quality is inferred by monitoring network traffic and routing information, and routing status analysis is performed to analyze the transmission path and routing status of the data in the network to determine the current optimal data transmission path, and dynamically model and analyze the network topology and link status.
[0076] In an embodiment of the present invention, the task requirement analysis module 302 monitors and reads the definitions of each task group, divides the tasks into different types according to the characteristics and execution requirements of the tasks, and defines corresponding priorities for each type, such as real-time tasks, batch tasks, etc.
[0077] Regarding task execution time limit setting: the task requirement analysis module 302 will monitor and read the definition of each task group, and set the execution time limit or maximum response time for the task based on user needs or system constraints, execution time requirements (such as maximum response time, maximum execution duration), network requirements (maximum delay, minimum bandwidth), etc., to ensure that the task is completed within the specified time.
[0078] For task dependency analysis: the task requirement analysis module 302 will analyze the dependencies between tasks, determine the execution order and scheduling strategy of tasks, to ensure that the data dependencies between tasks are met, so that the subsequent scheduling decision module can perform optimized scheduling.
[0079] In the embodiment of the present invention, the node load assessment module 303 is responsible for monitoring the load of the edge node, including the utilization of resources such as CPU, memory, and storage. The node load can be acquired and counted in real time through the system monitoring tool and the designed monitoring module. The monitoring module can periodically collect the load information of the node, including indicators such as CPU utilization, memory usage, disk IO, etc., and analyze and judge according to the pre-defined load threshold. If the node load exceeds the set threshold, the system can mark the node as having a high load, which affects the scheduling decision.
[0080] In the embodiment of the present invention, the dynamic scheduling decision module 304 can be implemented according to specific scheduling strategies and algorithms, and adopts appropriate scheduling algorithms to dynamically schedule tasks in combination with network quality, task requirements and node load conditions, so as to achieve effective utilization of resources and maximize task execution performance. Users can specify the corresponding scheduling algorithm in a declarative yaml manner, including the following algorithms:
[0081] 1) Load balancing algorithm: According to the node load, a load balancing algorithm is used to assign tasks to nodes with lower loads to avoid node load imbalance.
[0082] 2) Network-aware scheduling algorithm: Considering network quality information, nodes with better network quality are selected as task execution targets to reduce task execution time and transmission delay.
[0083] 3) Dynamic scheduling strategy: Based on factors such as task type and execution time limit, a dynamic scheduling strategy is used to schedule tasks in real time to adapt to different task requirements and system status.
[0084] According to the actual situation, a suitable scheduling algorithm can be selected to make optimization decisions to meet the execution requirements of the task and the resource constraints of the system.
[0085] Therefore, in one embodiment of the present invention, the task requirement analysis module 302 is configured to perform: parsing the user's definition of the task execution group in a declarative YAML format to obtain the task type, the dependencies between the subtasks that need to be deployed, and at least one of the required maximum delay and minimum bandwidth.
[0086] Therefore, in one embodiment of the present invention, the dynamic scheduling decision module 304 is configured to execute: parsing the following scheduling algorithm specified by the user in a declarative YAML format:
[0087] Load balancing algorithm: Based on the load of edge nodes, a load balancing algorithm is used to distribute tasks to edge nodes with lower loads for execution;
[0088] Network-aware scheduling algorithm: Based on network quality information, edge nodes with better network quality are selected as task execution targets;
[0089] Dynamic scheduling strategy: Combined with the task type and execution time limit factors, a dynamic scheduling strategy is used to schedule tasks in real time to adapt to different task requirements and system status;
[0090] The scheduling execution monitoring module 305 is further configured to execute: further allocating each task to each edge node according to the load balancing algorithm and the network-aware scheduling algorithm.
[0091] In one embodiment of the present invention, the dynamic scheduling decision module 304 is configured to execute:
[0092] Determine whether the edge node network meets the requirements of the task group, filter out the edge nodes that do not meet the requirements, and only retain the edge nodes that meet the requirements;
[0093] When there are multiple edge nodes that meet the requirements, the multiple edge nodes that meet the requirements are scored based on their network quality. Through simulated scheduling, the sum of the scores of the edge node groups under various scheduling conditions is calculated to determine the group of edge nodes with the highest scores, and the task group is scheduled to the edge nodes with the highest scores in this group.
[0094] It can be seen that in the process of calculating the scheduling decision, the dynamic scheduling decision module 304 is the core computing component.
[0095] It will filter and screen tasks based on the deployment order of tasks and the network quality conditions such as network delay and maximum bandwidth of each node collected. When edge node groups that meet the requirements are found, the tasks will be deployed to these edge node groups. This process is divided into two steps: filtering and scoring.
[0096] Filtering: First determine whether the edge node network meets the requirements of the task group, filter out the edge nodes that do not meet the requirements, and only retain the edge nodes that meet the requirements.
[0097] Scoring: When there are multiple edge nodes that meet the requirements, the scheduling calculator will score each edge node. The scoring is based on the network quality of the edge node. The better the network quality of the edge node, the higher the score. The scheduling calculator first simulates scheduling and calculates the sum of the scores of the edge node groups under various scheduling conditions. The higher the score, the better the quality of the entire network line of the task group, and the more suitable it is for scheduling. Through this process, the group of edge nodes with the highest scores, that is, the most suitable edge node group, is found to schedule the task group.
[0098] In addition, it will automatically detect the network quality between the edge nodes where the deployed task groups are located. When the network quality does not meet the requirements of the task group for a period of time, it will trigger the rescheduling of the task group. The scheduling calculator will use the latest network quality to find the edge node group that meets the requirements. When an edge node group that meets the requirements is found, it will be rescheduled in sequence.
[0099] In an embodiment of the present invention, the scheduling execution monitoring module 305 implements the scheduling results into the edge computing system, monitors the execution of the task in real time, and makes adjustments and optimizations as needed to ensure that the task can be effectively executed according to the scheduling strategy. The scheduling execution monitoring module 305 includes two sub-modules: the task manager and the scheduling executor. The scheduling executor is responsible for assigning tasks to appropriate edge nodes and monitoring the execution status and results of the tasks. The task manager is responsible for managing the execution of the entire task. If an abnormal situation occurs during the execution of the task, the task manager can handle it according to a predefined processing strategy, such as rescheduling the task or notifying the user. The scheduling execution monitoring module 305 has the following mechanisms:
[0100] Task allocation and scheduling: Assign tasks to appropriate edge nodes based on scheduling strategies and scheduling decisions, and monitor the execution status and progress of tasks.
[0101] Exception handling and self-healing mechanism: Implement exception handling and self-healing mechanism to promptly discover and handle abnormal situations during task execution, such as edge node failure, task timeout, etc., and trigger rescheduling or notify users according to the strategy to ensure the stability and reliability of the system.
[0102] Performance monitoring and optimization: Monitor system performance indicators, such as task response time, resource utilization, etc., and optimize the scheduling strategy based on the monitoring results to improve the overall performance and efficiency of the system.
[0103] An embodiment of the present invention further proposes a dynamic scheduling method in an edge computing scenario based on any system of the present invention, see Figure 4 , the method comprising:
[0104] Step 401: Each edge node transmits a predetermined test data packet to other edge nodes, records the round trip time and loss of the test data packet, and reports it to the scheduler;
[0105] Step 403: The scheduler calculates the key indicators of network quality between each edge node according to the round-trip time and loss of each received test data packet;
[0106] Step 405: The scheduler determines the execution order and scheduling strategy of the tasks according to the priorities and dependencies between the tasks;
[0107] Step 407: The scheduler determines a dynamic scheduling strategy for the task based on the key indicators of network quality between each edge node, the execution order and scheduling strategy of the task, and the load of each edge node;
[0108] Step 409: The scheduler assigns each task to each edge node, monitors the execution of the task in real time, and makes adjustments and optimizations as needed;
[0109] Step 411: Each edge node receives the dispatch from the scheduler and performs data processing and analysis on the tasks assigned by the scheduler.
[0110] In the method of the present invention, the method further comprises:
[0111] The task group is defined in a declarative YAML format to define the task type, the dependencies between the subtasks to be deployed, and at least one of the required maximum latency and minimum bandwidth.
[0112] In the method of the present invention, the method further includes: specifying the scheduling algorithm by declarative YAML.
[0113] The various embodiments of the present invention have the following beneficial effects:
[0114] 1. Easy to use. Users only need to use YAML declarations to deploy each task group to each edge node that meets the network latency and bandwidth requirements.
[0115] 2. Strong real-time performance. It uses network quality information to make real-time task scheduling decisions and deploy task groups on edge node groups that meet the requirements, making them more adaptable.
[0116] 3. High resource utilization rate. Dynamically adjust task allocation according to node load conditions and task requirements, thus improving resource utilization efficiency.
[0117] 4. Improve user experience: Optimize task scheduling, reduce task waiting time and execution delay, and improve user experience.
[0118] 5. Multiple task groups can be deployed at the same time. The scheduler will automatically sort the tasks according to the dependencies and find the optimal deployment order that meets the conditions.
[0119] 6. The network quality of the edge node where the task is located will be continuously observed. When the task requirements are not met, rescheduling will be automatically triggered.
[0120] 7. The entire process is completed automatically by the program without the user's awareness.
[0121] It should be noted that the above-mentioned devices are usually implemented on the server side, and can be set on independent servers respectively, or some or all of the devices can be combined and set on the same server. The server can be a single server or a server cluster composed of multiple servers. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system. The above-mentioned devices can also be implemented on a computer terminal with strong computing power.
[0122] An embodiment of the present invention provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed in a computer, the computer is caused to execute a method in any one of the embodiments in the specification.
[0123] An embodiment of the present invention provides a computing device, including a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, the method in any embodiment of the specification is implemented.
[0124] It is to be understood that the structure illustrated in the embodiment of the present invention does not constitute a specific limitation on the device of the embodiment of the present invention. In other embodiments of the specification, the above-mentioned device may include more or fewer components than those shown in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0125] The various embodiments of the present invention are described in a progressive manner, and the same or similar parts between the various embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0126] Those skilled in the art should be aware that in one or more of the above examples, the functions described in the present invention can be implemented by hardware, software, widgets, or any combination thereof. When implemented by software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium.
[0127] The specific implementation methods described above further illustrate the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above description is only a specific implementation method of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc. made on the basis of the technical solution of the present invention should be included in the scope of protection of the present invention.
Claims
1. Edge node, characterized in that: The edge node is deployed at the edge of the network. Different edge nodes are distributed at different network edge locations. Each edge node includes: A network probe, which has client functions and server functions; when the network probe acts as a server, it receives connection requests from network probes in other edge nodes; when the network probe acts as a client, it actively connects to network probes in other edge nodes, transmits a predetermined test data packet, and records the round-trip time and loss of the test data packet; The task execution module is configured to report the round-trip time and loss of the recorded test data packets to the scheduler so that the scheduler can calculate the key indicators of network quality between each edge node; and receive the scheduler's dispatch and perform data processing and analysis on the tasks assigned by the scheduler.
2. The edge node according to claim 1, characterized in that: The key network quality indicators include at least one of the following: network delay, bandwidth and packet loss rate.
3. A scheduler, characterized in that The scheduler is deployed between each edge node, and includes: a network quality monitoring module, a task demand analysis module, a node load evaluation module, a dynamic scheduling decision module, and a scheduling execution monitoring module; wherein, The network quality monitoring module is configured to receive the round-trip time and loss of test data packets sent by the network probe in each edge node, and calculate the key indicators of network quality between each edge node according to the round-trip time and loss of each received test data packet; The task requirement analysis module is configured to monitor and read the definitions of each task, classify the tasks into different types, define corresponding priorities for each type, analyze the dependencies between tasks, and determine the execution order and scheduling strategy of the tasks according to the priorities and the dependencies; The node load evaluation module is configured to monitor the load of each edge node; The dynamic scheduling decision module is configured to determine the dynamic scheduling strategy of the task according to the key network quality indicators between the edge nodes calculated by the network quality monitoring module, the execution order and scheduling strategy of the task determined by the task demand analysis module, and the load conditions of the edge nodes monitored by the node load evaluation module; The scheduling execution monitoring module is configured to allocate each task to each edge node according to the dynamic scheduling strategy of the task, and monitor the execution of the task in real time, and make adjustments and optimizations as needed to ensure that the task can be executed according to the dynamic scheduling strategy.
4. The scheduler according to claim 3, characterized in that: The task requirement analysis module is configured to perform: parsing the user's definition of the task execution group in a declarative YAML manner to obtain the task type, the dependency relationship between each subtask that needs to be deployed, and at least one of the required maximum delay and minimum bandwidth.
5. The scheduler according to claim 3, characterized in that: The dynamic scheduling decision module is configured to execute: parsing the following scheduling algorithm specified by the user in a declarative YAML format: Load balancing algorithm: Based on the load of edge nodes, a load balancing algorithm is used to distribute tasks to edge nodes with lower loads for execution; Network-aware scheduling algorithm: Based on network quality information, edge nodes with better network quality are selected as task execution targets; Dynamic scheduling strategy: Combined with the task type and execution time limit factors, a dynamic scheduling strategy is used to schedule tasks in real time to adapt to different task requirements and system status; The scheduling execution monitoring module is further configured to execute: further allocating each task to each edge node according to the load balancing algorithm and the network-aware scheduling algorithm.
6. The scheduler according to claim 3, characterized in that: The dynamic scheduling decision module is configured to execute: Determine whether the edge node network meets the requirements of the task group, filter out the edge nodes that do not meet the requirements, and only retain the edge nodes that meet the requirements; When there are multiple edge nodes that meet the requirements, the multiple edge nodes that meet the requirements are scored based on their network quality. Through simulated scheduling, the sum of the scores of the edge node groups under various scheduling conditions is calculated to determine the group of edge nodes with the highest scores, and the task group is scheduled to the edge nodes with the highest scores in this group.
7. Dynamic scheduling system for edge computing scenarios, characterized by: The system comprises: a plurality of edge nodes distributed at different network edge locations, each edge node being an edge node as described in any one of claims 1 to 2, and a scheduler as described in any one of claims 3 to 6 located between each edge node.
8. A dynamic scheduling method in an edge computing scenario based on the system of claim 7, characterized in that: The method includes: Each edge node transmits a predetermined test data packet to other edge nodes, records the round-trip time and loss of the test data packet, and reports it to the scheduler; The scheduler calculates the key indicators of network quality between each edge node based on the round-trip time and loss of each test data packet received; The scheduler determines the execution order and scheduling strategy of tasks based on the priorities and dependencies between tasks; The scheduler determines the dynamic scheduling strategy of tasks based on the key indicators of network quality between each edge node, the execution order and scheduling strategy of tasks, and the load of each edge node; The scheduler assigns each task to each edge node, monitors the execution of the task in real time, and makes adjustments and optimizations as needed; Each edge node receives the dispatch from the scheduler and performs data processing and analysis on the tasks assigned by the scheduler.
9. The method according to claim 8, characterized in that The method further comprises: Define the task group in a declarative YAML format to define the task type, the dependencies between the subtasks to be deployed, and at least one of the required maximum latency and minimum bandwidth; and / or, The scheduling algorithm is specified in a declarative YAML format.
10. A computing device, comprising a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, the method according to any one of claims 8 to 9 is implemented.
Citation Information
Patent Citations
Task scheduling method and device based on edge computing network
CN111679904A
Network system, client device, and edge network abnormality detection method
CN116132322A
Optimization method and system based on distributed implementation of edge computing
CN117579626A
Joint optimization method for AGV calculation unloading and communication network task scheduling based on edge calculation
CN117715116A
Online task dispatching and scheduling system and method thereof
US11206221B1
Cited By
Automatic testing method and device, equipment and storage medium
CN119292950A
Data acquisition and calculation system based on edge calculation
CN119967028A
Data acquisition and computing system based on edge computing
CN119967028B
SD-WAN low-delay data transmission method and system based on edge computing
CN120321256A
Traffic management system and method of unmanned aerial vehicle, electronic equipment and medium
CN120580892A
