Cloud-edge collaborative scheduling method in unstable connection scenarios

Through node status perception, scheduling alternative decisions and task monitoring, cloud-edge collaborative scheduling is achieved in unstable connection scenarios, solving the problems of discontinuous task operation and system instability, improving system continuity and reducing network perception overhead.

CN119759526BActive Publication Date: 2025-09-12NAT UNIV OF DEFENSE TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411891154.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-20
Publication Date
2025-09-12
Estimated Expiration
2044-12-20

AI Technical Summary

Technical Problem

Existing cloud-edge collaborative computing solutions suffer from discontinuous task execution and unstable system operation in an environment with unstable network connection, and fail to effectively solve the continuity and availability problems of task scheduling.

Method used

It adopts the methods of node status perception, scheduling alternative decision-making, task scheduling execution and task operation monitoring, and ensures the continuity and stability of tasks among the cloud, edge and end through accompanying network status perception and active task offloading.

Benefits of technology

In unstable connection scenarios, the continuity of task scheduling is improved, network perception overhead is reduced, and stable operation of the system is ensured.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119759526B_ABST
    Figure CN119759526B_ABST
Patent Text Reader

Abstract

The present invention discloses a cloud-edge collaborative scheduling method in an unstable connection scenario, which relates to the field of edge computing technology. The method comprises the following steps: each node in the cloud-edge collaborative network collaboratively perceives network status information, forms list status information, and refreshes it in real time; when each node generates a task, it executes a scheduling strategy based on the perceived status information to determine a list of alternative execution nodes for task execution; the node sequentially initiates a task execution request to the unmarked nodes in the list of alternative execution nodes until a service node accepts the request. The node that accepts the request is called a service node, and then the task is scheduled to the service node for execution; the running status of the task initiated by each node is monitored, and the nodes that do not meet the conditions are marked. The method has the advantages of good operation continuity and low perception overhead.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of edge computing technology, and in particular to a cloud-edge-terminal collaborative scheduling method under an unstable connection scenario. Background Art

[0002] The cloud-edge-end collaborative computing network is a new paradigm for collaborative computing that effectively combines the advantages of cloud computing, edge computing, and end-to-end computing to meet the task scheduling needs of diverse scenarios. The cloud-edge-end collaborative architecture forms a hierarchical network interconnection and task scheduling framework, providing timely and context-aware services. However, in environments with unstable network connections, communication between devices or systems is susceptible to interference and interruption, significantly limiting the continuity and availability of task scheduling. Therefore, finding a collaborative scheduling method for unstable scenarios is key to improving task scheduling continuity and maintaining stable system operation.

[0003] The algorithms proposed in existing cloud-edge-device collaborative computing solutions mostly focus on cloud-edge-device computing offloading strategies under ideal network connection conditions, with the aim of optimizing computing efficiency. However, in actual deployment and implementation, they do not consider problems such as discontinuous task operation and unstable system operation caused by unstable network connection, resulting in unstable and easily interrupted task operation. Summary of the Invention

[0004] The technical problem to be solved by the present invention is how to provide a cloud-edge collaborative scheduling method in an unstable connection scenario with good operation continuity and low perception overhead.

[0005] To solve the above technical problems, the technical solution adopted by the present invention is: a cloud-edge-device collaborative scheduling method in an unstable connection scenario, comprising the following steps:

[0006] S101, node status perception: Each node in the cloud-edge collaborative network collaboratively perceives network status information, forms a list of status information, and refreshes it in real time;

[0007] S102, Scheduling Alternative Decision: When each node generates a task, it executes the scheduling strategy based on the state information it senses and determines a list of candidate execution nodes for the task.

[0008] S103, task scheduling and execution: The node sends a task execution request to the unmarked nodes in the candidate execution node list in order until a service node accepts the request. The node that accepts the request is called the service node. The task is then scheduled to the service node for execution.

[0009] S104, task operation monitoring: monitor the operation status of the tasks initiated by each node. When the connection between the node and the service node cannot meet the transmission conditions required for task execution, or the service node fails, the node actively unloads the task and marks the nodes that do not meet the conditions, and then goes to step S103 for processing.

[0010] The beneficial effects of adopting the above technical solution are: First, good continuity: in unstable connection scenarios, tasks are scheduled and calculated among the cloud, edge and end based on the current network status, and are actively unloaded in unstable connection scenarios, thereby improving the continuity of service operation; Second, low network perception overhead: using a companion method for network status perception can effectively reduce perception overhead compared to periodic perception solutions. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0012] Figure 1 is a flow chart of the method according to an embodiment of the present invention;

[0013] Figure 2 Schematic diagram of cloud-edge-device collaborative scheduling and task computing in the method described in an embodiment of the present invention;

[0014] Figure 3 is a flowchart of node status perception in the method according to an embodiment of the present invention;

[0015] Figure 4 This is a flow chart of a node list, a resource list, and a connection list obtained by collecting status information in the method according to an embodiment of the present invention;

[0016] Figure 5 is a flowchart of scheduling alternative decision-making in the method according to an embodiment of the present invention;

[0017] Figure 6 Schematic diagram of node computing power analysis in the method according to an embodiment of the present invention;

[0018] Figure 7 is a flowchart of candidate node screening in the method according to an embodiment of the present invention;

[0019] Figure 8 This is a flowchart of the initial screening of time-invariant nodes in the method according to an embodiment of the present invention;

[0020] Figure 9 This is a flow chart of the final screening of time-varying nodes in the method according to an embodiment of the present invention;

[0021] Figure 10 is a flowchart of task scheduling execution in the method according to an embodiment of the present invention;

[0022] Figure 11 is a flowchart of task operation monitoring in the method according to an embodiment of the present invention;

[0023] Figure 12 It is a flowchart of the completion of the computing task in the method described in the embodiment of the present invention. DETAILED DESCRIPTION

[0024] The following is a clear and complete description of the technical solutions in the embodiments of the present invention, in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts are within the scope of protection of the present invention.

[0025] In the following description, many specific details are set forth to facilitate a full understanding of the present invention. However, the present invention may also be implemented in other ways different from those described herein. Those skilled in the art may make similar generalizations without violating the connotation of the present invention. Therefore, the present invention is not limited to the specific embodiments disclosed below.

[0026] like Figure 1 As shown, an embodiment of the present invention discloses a cloud-edge-device collaborative scheduling method in an unstable connection scenario, the method comprising the following steps:

[0027] S101: Node status perception: Each node in the cloud-edge collaborative network collaboratively perceives network status information, including the computing and storage resources of each node, load information, connection status between nodes, etc., to form a list of status information;

[0028] S102: Scheduling candidate decision: When each node generates a task, it executes the scheduling policy based on the state information it senses and determines a list of candidate execution nodes for the task. The node list includes the node that generated the task and other nodes that meet the requirements determined based on the scheduling policy.

[0029] S103: Task scheduling and execution: The task generation node sequentially initiates task execution requests to the unmarked nodes in the candidate execution node list. During the request process, the list status information is updated in a concomitant manner until a service node accepts the request. The node that accepts the request is called the service node. The task is then scheduled to the service node for execution.

[0030] S104: Task operation monitoring: The node periodically monitors the operation status of each task it initiates. When the connection between the node and the service node cannot meet the transmission conditions required for task execution, or the service node fails, the node actively unloads the task, marks the current service node, and goes to step S103.

[0031] Figure 2 A possible scenario for collaborative scheduling of computing tasks is presented. Tasks will be offloaded between nodes, including from end nodes to edge nodes, end nodes to cloud nodes, etc. In unstable connection scenarios, if the connection between nodes cannot meet the transmission conditions required for task execution, or the service node fails, the task needs to be offloaded.

[0032] Further, such as Figure 3 As shown, the specific method of node status perception includes the following steps:

[0033] S1011: Node status perception: Perceive the computing and storage resources and load information of each node, as well as the connection status information such as the transmission bandwidth, transmission delay, and delay jitter between nodes;

[0034] The computing resources refer to the number of cores in the node's CPU and the number of threads each core can process.

[0035] The storage resource amount refers to the total amount of physical memory of the node and the operating frequency of the memory;

[0036] The load information refers to the utilization rate of the node's current computing and storage resources. The greater the utilization rate, the greater the node load.

[0037] The transmission bandwidth refers to the average data transmission rate that a network connection can provide when data is transmitted between nodes;

[0038] The transmission delay refers to the average time required for a data packet to be transmitted from the sending node to the receiving node;

[0039] Delay jitter refers to the deviation between the time interval for a data packet to arrive at the receiving end and the expected time interval during data transmission;

[0040] The state information can be continuously updated in parallel, thereby ensuring that the information used is relatively new.

[0041] S1012: Status information list generation: Analyze the collected status information to generate status information such as node list, resource list, connection list, etc.

[0042] The node list refers to a list of three types of nodes: cloud nodes, edge nodes, and end nodes in the cloud-edge-end collaborative network. Suppose there are N nodes in total, which are recorded in the list as U={U1, U2...U N};

[0043] The resource list refers to a list containing the computing capacity, storage capacity and load information of N nodes, wherein the resource list of the i-th node is respectively denoted as {C i ,Li ,S i};

[0044] The connection list refers to the transmission bandwidth matrix B between nodes ij , transmission delay matrix T ij , are N×N dimensional matrices, where B ij represents the bandwidth when node i transmits data to node j, T ij represents the delay of data transmission from node i to node j.

[0045] S1013: State information sharing: Each node shares the state information it senses with other nodes in the cloud-edge collaborative network so that all nodes can make scheduling decisions based on the latest network status;

[0046] Among them, a possible list of state sense generation is as follows Figure 4 As shown, the node list includes all cloud nodes, edge nodes and end nodes; C in the resource list i 、S i and L i Represent the computing power, storage capacity and load of node i respectively; for N nodes, the connection list contains N-dimensional bandwidth matrix and delay matrix, where B ij represents the bandwidth when node i transmits data to node j, T ij represents the delay of data transmission from node i to node j, i, j∈{1,2……N}, i≠j;

[0047] Further, such as Figure 5 As shown, the step scheduling alternative decision specifically includes the following steps:

[0048] S1021: Computing power analysis: Obtain the amount of computing data for the task, analyze the computing cost of the task execution process, including latency and execution power consumption, and analyze the constraints of task execution, including computing accuracy, maximum allowable delay, task compatibility, real-time performance, and task safety requirements;

[0049] The delay refers to the time it takes to complete the task execution;

[0050] The execution power consumption refers to the energy consumed by the service node when the task is executed and the energy consumed during uplink and downlink during the offloading process;

[0051] The calculation accuracy refers to the floating point accuracy requirement of the task during the calculation process;

[0052] The maximum allowable delay refers to the maximum delay time that can be accepted when completing the task. If this delay time is exceeded, the value of the task execution result will be significantly reduced;

[0053] S1022: Determine the scheduling target: For each task, determine the optimization target of task scheduling;

[0054] The optimization goal refers to the target condition for task execution, such as the highest calculation accuracy, the lowest calculation delay, the lowest calculation cost, etc.

[0055] S1023: Candidate node screening: Based on the scheduling target and constraints of the task, the nodes in the node list are screened, and all nodes that meet the constraints form the candidate node list of the task;

[0056] like Figure 6 As shown, the node computing power analysis step specifically includes the following steps:

[0057] S10211: Local execution delay calculation: define f i is the node computing power (processor frequency), c represents the cycle of processing one bit of data, d i Indicates the size of the task data. When the computing task is offloaded to the local computer, the computing delay is: where β i Indicates the CPU ratio of the end node allocated to task i;

[0058] S10212: Local execution power consumption calculation: The energy consumption generated by task i in local calculation is E i =p i T i , where p i Indicates the power of local execution;

[0059] S10213: Calculation of unloaded uplink rate: When a task is unloaded from node i to node j for execution, the bandwidth of node j is B, and the bandwidth ratio allocated by node j to node i is λ ij , the power of node i uploading data is P i up , the channel gain in the wireless channel is H i , the distance between the two nodes is d(i,j), the noise gain of the channel is N0, the path loss index of the transmission channel is ξ, and the margin introduced to meet the uplink signal-to-noise ratio is Γ(g up ), the calculation task uplink rate is

[0060] S10214: Calculation of uplink unloading delay: The transmission delay of the uplink unloading task is

[0061] S10215: Calculation of uplink power consumption for unloading: The uplink transmission energy consumption is

[0062] S10216: Calculation of the delay in unloading execution: The time required for the task to be unloaded from node i to be executed at node j is where f j is the computing power of node j;

[0063] S10217: Offload execution power consumption calculation: The energy consumption of the corresponding calculation task for the execution task is

[0064] S10218: Offload downlink rate calculation: The downlink and uplink have the same channel environment. When the task calculation is completed and offloaded from node j to node i for execution, the bandwidth of node i is B, and the bandwidth ratio allocated by node i to node j is λ ij , the power of the downlink data of node j is P i do , the channel gain in the wireless channel is H i , the distance between the two nodes is d(i,j), the noise gain of the channel is N0, the path loss index of the transmission channel is ξ, and the margin introduced to meet the uplink signal-to-noise ratio is Γ(g up ), the downlink rate of the calculation task is:

[0065] S10219: Calculation of downlink unloading delay: The transmission delay of the downlink unloading task is

[0066] S102110: Calculation of downlink power consumption when offloading: The downlink transmission energy consumption is

[0067] S102111: Calculation of total offloading execution time: The total time from offloading from node i to executing the computing task at node j is

[0068] S102112: Calculation of total power consumption for offloading execution: The total power consumption of computing tasks offloaded from node i to node j is

[0069] S102113: Task processing cost calculation: Define the total cost of local calculation as C i =αT i +(1-α)E i ; The total cost of offloading calculation is The results of these cost calculations are used in scheduling decisions to determine which node to execute the task on most cost-effectively. Sending computation requests to a set of nodes sorted in ascending order of computational cost can optimize resource allocation and improve the overall performance and efficiency of the system.

[0070] like Figure 7 As shown, the candidate node screening step specifically includes the following steps:

[0071] S10231: Refresh node status information list: Refresh the resource list and connection status matrix to obtain the latest status.

[0072] S10232: Extract node: sequentially retrieve node U from the node list U i , each node is extracted only once in a single task cycle, and the number of extractions is counted as ξ=i;

[0073] S10233: Time-invariant node initial screening: The three time-invariant properties of the candidate execution nodes, security, compatibility, and calculation accuracy, will not change with unstable connection conditions such as network jitter. For the computing task's requirements for these three points, a preliminary screening is performed to narrow the range of candidate nodes and form a preliminary candidate list U primary ={U1,U2......U n}, n≤N;

[0074] S10234: Final screening of time-varying nodes: The resource capacity, computing power, storage space, and delay jitter of candidate execution nodes will change with unstable connection conditions such as network jitter. For the requirements of computing tasks, the candidate list U primary Nodes that meet the time-varying property are screened to form the final candidate list U final ={U1,U2......U m},m≤n;

[0075] like Figure 8 As shown, the initial screening of invariant nodes in the step specifically includes the following steps:

[0076] S102331: Determine whether the accuracy meets the computing task requirements: The cloud uses double-precision (FP64) or single-precision (FP32) floating-point numbers for high-precision calculations. Due to resource limitations, the edge and terminal devices use half-precision (FP16) or lower precision numerical representations. Based on the processing and analysis requirements of the calculated data, if the calculation accuracy matches, go to step S102332; otherwise, go to step S10232.

[0077] S102332: Determine whether the node compatibility meets the computing task requirements: Check whether the software version running on the current node matches the task requirements and whether the hardware supports the features required by the task. If the computing task requirements are compatible with the node software and hardware, go to step S102333; otherwise, go to step S10232.

[0078] S102333: Determine whether the node security meets the computing task requirements: Determine whether the current node meets the security requirements, such as encryption, access control, etc. Ensure that the node meets industry standards and regulatory requirements. If the node security meets the computing task requirements, add the node to the sequence U. primaryOtherwise, go to step S10232;

[0079] S102334: Determine ξ=N: When ξ<N, the nodes have not been traversed yet, and go to S10232; when ξ=N, N nodes have been traversed, and go to S102325;

[0080] S102335: Primary candidate list generation: After the traversal is completed, a primary candidate list U is formed. primary ={U1,U2......U n}, n≤N.

[0081] like Figure 9 As shown, the final screening of the degenerative nodes in the step specifically includes the following steps:

[0082] S102341: From the node list U primary Sequentially retrieve the node U i , each node is extracted only once in a single task cycle, and the number of extractions is counted as ζ = i;

[0083] S102342: Judgment C n <C r : Check the computing power of the current node resource list, for the total node resource C i , the node has used resources C u , calculate the remaining resources of the node C r =C i -C u , by calculating the task data volume d i Estimate the amount of resources required for the task C n , if C n <C r Then go to step S102343, otherwise go to step S102341;

[0084] S102343: Determine T<L available : Check the load capacity L in the current node resource list i , the node has used a load of L u , calculate the maximum available resources under the condition of ensuring the remaining m% resource utilization rate is Calculate the actual available resources as Computational task complexity Where k is a constant and n is a complexity index. The processing efficiency of the computation task is B p is the processing bandwidth of the system, and the node hardware performance is Where P is the number of floating-point operations per second of the CPU, and the total load of the computing task T = T c +T e +T h, if T<L available Then go to step S102344, otherwise go to step S102341;

[0085] S102344: Judge d i <S r ': Check the storage capacity of the current node resource list, for the total physical memory S of the node i , the node has used storage space S u , calculate the remaining memory S of the node r =S i -S u , p% of the storage space is reserved for redundancy and backup, and the actual available storage space is calculated as If d i <S r 'Then go to step S102345, otherwise go to step S102341;

[0086] S102345: Determine whether the node's real-time performance meets the requirements: Evaluate the real-time requirements of the computing task. For tasks with high real-time requirements, if the node's latency jitter is low and meets the requirements, proceed to step S102346; otherwise, proceed to step S102341.

[0087] S102346: Judgment or T i <T R :The response time requirement of the computing task is T R , if the current node is a local node and T i <T R , or the current node is a heretic node and Add the node to sequence O and go to step S102347, otherwise go to step S102341;

[0088] S102347: Determine if ζ=n: When ζ<n, the nodes have not been traversed yet, and go to S102341; when ξ=n, n nodes have been traversed, and go to S102348;

[0089] S102348: Determine the ultimate candidate list: Finally form the candidate node list U final ={U1,U2......U m},m≤n, where m is the number of candidate nodes, U i Represents an alternative node.

[0090] Further, such as Figure 10 As shown, the task scheduling execution specifically includes the following steps:

[0091] S1031: Alternative node sorting: only refresh the status information list of nodes in O, andfinal ={U1,U2......U m}, and sort the nodes that meet the requirements from best to worst according to the scheduling requirements. The nodes that do not meet the calculation requirements are marked and placed at the end of the list to form a sequential node list R = {R1, R2......R m};

[0092] The sorting process is related to the scheduling objective. For minimizing the scheduling objective, the nodes are sorted in ascending order according to the scheduling objective, so that the nodes with smaller scheduling objective values ​​are sorted first. For maximizing the scheduling objective, the nodes are sorted in descending order according to the scheduling objective, so that the nodes with larger scheduling objective values ​​are sorted first.

[0093] For example, when the scheduling goal is to minimize the task computation cost, the candidate nodes are sorted in ascending order according to the computation cost to form a sorted candidate node list;

[0094] Since each user's task weight may be different, different tasks should be assigned different weights according to the task type. When the task is delay-sensitive, the value of weight α should be appropriately increased. When the task is energy-sensitive, the value of weight α should be appropriately reduced. The specific initialization value can be selected based on a large number of experiments.

[0095] S1032: Generate adjacent node list: Identify the node list R={R1, R2...R m}, extract the neighboring nodes of the node to generate the neighboring node list R N ={R1,R2......R k};

[0096] The neighboring nodes are the k unmarked nodes after the first unmarked node. The number of k is determined based on the network conditions. When the network is very unstable, the node status information varies greatly over time. The number of k should be increased appropriately to increase the selectivity of the task generation node.

[0097] S1033: Neighboring node refresh: only for R N Update the status information list of the nodes in R N ={R1,R2......R k} The list is updated according to its time-varying nature to ensure the accuracy and timeliness of the nodes. N If a marked node meets the calculation requirements, the mark is removed. If an unmarked node does not meet the calculation requirements due to instability, the node is marked.

[0098] S1034: Sort adjacent nodes: sort the marked nodes from R NDelete it and make changes to R N The unmarked nodes are reordered according to the scheduling goal.

[0099] S1035: Judge R N Is it empty: When R N If there is no node, jump to S1031.

[0100] S1036: Determine whether R1 meets the calculation requirements: Task generates node P i To R N The first node R1 sends a task execution request and senses the node status information to determine whether the node meets the computing requirements. If the node meets the requirements, a timeout period τ is set. out , start timing from the time the task is sent, and wait for E i Return a confirmation response. If the node does not meet the calculation requirements, mark the node and jump to S1033;

[0101] S1037: Determine whether the execution node is confirmed: If τ out Within time P i After receiving the response from R1, the execution node is defined as the service node S. i , if τ out No response received within the time, P i Actively abandon the execution node, mark the node and go to S1033;

[0102] S1038: The task generation node sends the task: The request contains necessary parameters and configuration information so that the execution node can understand and execute the task;

[0103] The necessary parameters and configuration information refer to the amount of input data and environment variables required for task execution, the number of times the task needs to be executed in batch or repetitive tasks, the execution node identifier used to specify the node that executes the task, and the address or callback URL where the result is sent back after the task is completed;

[0104] S1039: Computing Task Allocation: Service Node S i Perform verification and preparation, add tasks to its task queue, and allocate available computing resources;

[0105] S10310: Computing task started: Service node S i Initializes the required execution environment, loads necessary applications, dependencies, and input data, and starts executing the tasks assigned to it.

[0106] like Figure 11 As shown, the task operation monitoring step specifically includes the following steps:

[0107] S1041: Determine whether the service task is started normally: Node P i Monitor the startup status of the task on the service node to determine whether the task is successfully started on the expected node. Since the service node is time-varying, when the transmission requirements for task execution cannot be met or the service node fails, the node needs to offload the task and go to step S1042. Otherwise, go to step S1043.

[0108] S1042: Failed Node Marking: During actual computing tasks, node connections are affected by network fluctuations, hardware failures, software updates, and other factors. Node loads may increase or decrease due to factors such as task completion, new task allocation, and resource consumption and release. The dynamic and adaptive nature of distributed systems requires monitoring and adjustment mechanisms to address these changes, maintain system stability and efficiency, mark failed nodes, and proceed to S1033.

[0109] S1043: Execute computing tasks: perform necessary preprocessing on the data and select appropriate algorithms or models based on task requirements;

[0110] S1044: Calculation result processing: After the task is completed, the service node will process the calculation results, verify, format and store the results. After processing, the results are returned to the node that requested the task or stored in a designated location;

[0111] S1045: Computing task completed: The service node completes the collaborative execution task and restores all settings to the initial state.

[0112] like Figure 12 As shown, the steps of completing the calculation task specifically include the following steps:

[0113] S10451: Release computing resources: The task node releases all resources related to the task, including CPU, memory, and other computing resources;

[0114] S10452: Task log record: Provides log information of task startup, including startup time, node information, and warnings or errors during task startup;

[0115] S10453: Status Update and Notification: The service node updates the task status to "Completed" and notifies other nodes in the node list of this status change;

[0116] S10454: Waiting for Task Delivery: The service node determines whether to schedule a new computing task based on the current resource status and task queue. If there are pending tasks, the node selects the next task to execute based on the predefined scheduling policy. If there are no pending tasks, the node may enter standby mode, awaiting the arrival of new tasks.

[0117] It should be noted that the system corresponds to the method, and the specific implementation methods of the modules in the system can refer to the implementation steps of the method.

[0118] In summary, the method has two advantages: First, good continuity: in unstable connection scenarios, tasks are scheduled and calculated among the cloud, edge, and end based on the current network status, and are actively unloaded in unstable connection scenarios, improving the continuity of service operation; second, low network perception overhead: using a companion approach to perceive network status can effectively reduce perception overhead compared to periodic perception solutions.

Claims

1. A cloud-edge-device collaborative scheduling method in an unstable connection scenario, characterized by The steps include: S101, node status perception: Each node in the cloud-edge collaborative network collaboratively perceives network status information, forms a list of status information, and refreshes it in real time; S102, Scheduling Alternative Decision: When each node generates a task, it executes the scheduling strategy based on the state information it senses and determines a list of candidate execution nodes for the task. S103, task scheduling and execution: The node sends a task execution request to the unmarked nodes in the candidate execution node list in order until a service node accepts the request. The node that accepts the request is called the service node. The task is then scheduled to the service node for execution. S104, task operation monitoring: monitor the operation status of the tasks initiated by each node. When the connection between the node and the service node cannot meet the transmission conditions required for task execution, or the service node fails, the node actively offloads the task and marks the node that does not meet the conditions. Then, the process goes to step S103 for processing. The S102 scheduling alternative decision includes the following steps: S1021, node computing power analysis: obtain the task computing data volume, analyze the computing cost of the task execution process and analyze the constraints of the task execution; S1022, determining a scheduling target: for each task, determining an optimization target for task scheduling; S1023, candidate node screening: Based on the scheduling target and constraints of the task, the nodes in the node list are screened, and all nodes that meet the constraints form the candidate node list of the task; The step S1023 of selecting candidate nodes specifically includes the following steps: S10231, refresh node status information list: refresh the resource list and connection status matrix to obtain the latest status; S10232, extract node: sequentially retrieve node U from the node list U i , each node is extracted only once in a single task cycle, and the number of extractions is counted as ξ=i; S10233, Time-invariant node initial screening: The three time-invariant properties of the candidate execution nodes, security, compatibility, and calculation accuracy, will not change with unstable connection conditions such as network jitter. For the computing task's requirements for these three points, a preliminary screening is performed to narrow the range of candidate nodes and form a preliminary candidate list U primary ={U1,U2……U n }, n≤N; S10234, final screening of time-varying nodes: The resource capacity, computing power, storage space, and delay jitter of candidate execution nodes will change with unstable connection conditions such as network jitter. For the requirements of computing tasks, the candidate list U primary Nodes that meet the time-varying property are screened to form the final candidate list U final ={U1,U2……U m },m≤n.

2. The cloud-edge-device collaborative scheduling method in an unstable connection scenario according to claim 1, characterized in that: The node status perception step S101 specifically includes the following steps: S1011, node status perception: Perceive the status information of each node, including computing and storage resources, load information, inter-node transmission bandwidth, transmission delay, and delay jitter; S1012, generating a status information list: analyzing the collected status information to form a node list, a resource list, and a connection list; The node list refers to a list of three types of nodes: cloud nodes, edge nodes, and end nodes in the cloud-edge-end collaborative network. Suppose there are N nodes in total, which are recorded in the list as U={U1, U2...U N }; The resource list refers to a list containing the computing capacity, storage capacity and load information of N nodes, wherein the resource list of the i-th node is respectively denoted as {C i ,L i ,S i }; The connection list refers to the transmission bandwidth matrix B between nodes ij , transmission delay matrix T ij , are N×N dimensional matrices, where B ij represents the bandwidth when node i transmits data to node j, T ij represents the delay of data transmission from node i to node j; S1013, status information sharing: Each node shares the perceived status information with other nodes in the cloud-edge collaborative network so that all nodes can make scheduling decisions based on the latest network status.

3. The cloud-edge-device collaborative scheduling method in an unstable connection scenario according to claim 1 is characterized in that: The S1021 node computing power analysis includes the following steps: S10211, Local execution delay calculation: define f i is the node computing power, c represents the cycle of processing one bit of data, d i Indicates the size of the task data. When the computing task is offloaded to the local computer, the computing delay is: where β i Indicates the CPU ratio of the end node allocated to task i; S10212, local execution power consumption calculation: The energy consumption generated by task i in local calculation is E i =p i T i , where p i Indicates the power of local execution; S10213, calculation of the unloaded uplink rate: When the task is unloaded from node i to node j for execution, the bandwidth of node j is B, and the bandwidth ratio of node j to node i is λ ij , the power of node i uploading data is P i up , the channel gain in the wireless channel is H i , the distance between the two nodes is d(i,j), the noise gain of the channel is N0, the path loss index of the transmission channel is ξ, and the margin introduced to meet the uplink signal-to-noise ratio is Γ(g up ), the calculation task uplink rate is S10214, calculation of uplink unloading delay: The transmission delay of the uplink unloading task is S10215, calculation of uplink power consumption: uplink transmission energy consumption is S10216, calculation of unloading execution delay: The time required for the task to be unloaded from node i to be executed at node j is where f j is the computing power of node j; S10217, offload execution power consumption calculation: the energy consumption of the corresponding calculation task of the execution task is S10218, offload downlink rate calculation: The downlink and uplink have the same channel environment. When the task calculation is completed and offloaded from node j to node i for execution, the bandwidth of node i is B, and the bandwidth ratio allocated by node i to node j is λ ij , the power of the downlink data of node j is P i do , the channel gain in the wireless channel is H i , the distance between the two nodes is d(i,j), the noise gain of the channel is N0, the path loss index of the transmission channel is ξ, and the margin introduced to meet the uplink signal-to-noise ratio is Γ(g up ), the downlink rate of the calculation task is: S10219, calculation of downlink unloading delay: The transmission delay of downlink unloading task is S102110, calculation of downlink power consumption for unloading: Downlink transmission energy consumption is S102111, calculation of total offloading execution time: the total time from offloading from node i to executing the computing task at node j is S102112, calculate the total power consumption of offloading execution: the total power consumption of computing tasks offloaded from node i to node j is S102113, Task processing cost calculation: Define the total cost of local calculation as C i =αT i +(1-α)E i ; The total cost of offloading calculation is The calculation results of these costs are used for scheduling decisions to determine on which node the task is executed more economically and efficiently, and computing requests are sent sequentially to a group of nodes arranged in ascending order of computing costs.

4. The cloud-edge-device collaborative scheduling method in an unstable connection scenario according to claim 1 is characterized in that: The initial screening of time-invariant nodes in S10233 specifically includes the following steps: S102331, determine whether the accuracy meets the computing task requirements: the cloud uses double-precision or single-precision floating-point numbers for high-precision calculations, while the edge and terminal devices use half-precision or lower-precision numerical representations due to resource limitations. Based on the processing and analysis requirements of the calculated data, if the calculation accuracy matches, go to step S102332; otherwise, go to step S10232; S102332, determine whether the node compatibility meets the computing task requirements: check whether the software version running on the current node matches the task requirements and whether the hardware supports the features required by the task. If the computing task requirements are compatible with the node software and hardware, go to step S102333; otherwise, go to step S10232; S102333, determine whether the node security meets the computing task requirements: determine whether the current node meets the security requirements and ensure that the node complies with industry standards and regulatory requirements. If the node security meets the computing task requirements, add the node to the sequence U. primary Otherwise, go to step S10232; S102334, determine ξ=N: When ξ<N, the nodes have not been traversed yet, go to S10232; when ξ=N, the N nodes have been traversed, go to S102325; S102335, primary candidate list generation: After the traversal is completed, a primary candidate list U is formed. primary ={U1,U2......U n }, n≤N.

5. The cloud-edge-device collaborative scheduling method in an unstable connection scenario according to claim 4 is characterized in that: The final screening of the degeneration node at S10234 specifically includes the following steps: S102341: From the node list U primary Sequentially retrieve the node U i , each node is extracted only once in a single task cycle, and the number of extractions is counted as ζ = i; S102342, judgment C n <C r : Check the computing power of the current node resource list, for the total node resource C i , the node has used resources C u , calculate the remaining resources of the node C r =C i -C u , by calculating the task data volume d i Estimate the amount of resources required for the task C n , if C n <C r Then go to step S102343, otherwise go to step S102341; S102343, judge T<L available : Check the load capacity L in the current node resource list i , the node has used a load of L u , calculate the maximum available resources under the condition of ensuring the remaining m% resource utilization rate is Calculate the actual available resources as Computational task complexity Where k is a constant and n is a complexity index; the processing efficiency of the computing task is B p is the processing bandwidth of the system, and the node hardware performance is Where P is the number of floating-point operations per second of the CPU, and the total load of the computing task T = T c +T e +T h , if T<L available Then go to step S102344, otherwise go to step S102341; S102344, judge d i <S r ': Check the storage capacity of the current node resource list, for the total physical memory S of the node i , the node has used storage space S u , calculate the remaining memory S of the node r =S i -S u , p% of the storage space is reserved for redundancy and backup, and the actual available storage space is calculated as If d i <S r 'Then go to step S102345, otherwise go to step S102341; S102345, determine whether the node's real-time performance meets the requirements: Evaluate the real-time requirements of the computing task. For tasks with high real-time requirements, if the node's delay jitter is low and meets the requirements, go to step S102346; otherwise, go to step S102341; S102346, judgment or T i <T R :The response time requirement of the computing task is T R , if the current node is a local node and T i <T R , or the current node is a heretic node and Add the node to sequence O and go to step S102347, otherwise go to step S102341; S102347, determine ζ = n: When ζ < n, the node traversal is not complete, go to S102341; when ξ = n, n nodes have been traversed, go to S102348; S102348, determine the ultimate candidate list: finally form the candidate node list U final ={U1,U2......U m },m≤n, where m is the number of candidate nodes, U i Represents an alternative node.

6. The cloud-edge-device collaborative scheduling method in an unstable connection scenario according to claim 1, characterized in that: The S103 task scheduling execution specifically includes the following steps: S1031, sorting candidate nodes: only refresh the status information list of nodes in O, and sort the status information list of nodes in U. final ={U1,U2......U m }, and sort the nodes that meet the requirements from best to worst according to the scheduling requirements. The nodes that do not meet the calculation requirements are marked and placed at the end of the list to form a sequential node list R = {R1, R2......R m }; The sorting process is related to the scheduling objective. For minimizing the scheduling objective, the nodes are sorted in ascending order according to the scheduling objective, so that the nodes with smaller scheduling objective values ​​are sorted first. For maximizing the scheduling objective, the nodes are sorted in descending order according to the scheduling objective, so that the nodes with larger scheduling objective values ​​are sorted first. S1032, generate a neighboring node list: identify the node list R={R1, R2...R m }, extract the neighboring nodes of the node to generate the neighboring node list R N ={R1, R2……R k }; S1033, neighboring node refresh: only for R N Update the status information list of the nodes in R N ={R1,R2......R k } The list is refreshed when the property changes. If R N If a marked node meets the calculation requirements, the mark will be removed. If an unmarked node does not meet the calculation requirements due to instability, the node will be marked. S1034, sorting adjacent nodes: sort the marked nodes from R N Delete it and make changes to R N The unmarked nodes are reordered according to the scheduling goal; S1035, judge R N Is it empty: When R N If there is no node, jump to S1031; S1036, determine whether R1 meets the calculation requirements: the task generates node P i To R N The first node R1 sends a task execution request and senses the node status information to determine whether the node meets the calculation requirements. If the node meets the requirements, the timeout time τ is set. out , start timing from the time the task is sent, and wait for E i Return a confirmation response; if the node does not meet the calculation requirements, mark the node and jump to S1033; S1037, determine whether the execution node is confirmed: If τ out Within time P i After receiving the response from R1, the execution node is defined as the service node S. i , if τ out No response received within the time, P i Actively abandon the execution node, mark the node and go to S1033; S1038, the task generation node sends the task: the request contains necessary parameters and configuration information so that the execution node can understand and execute the task; S1039, computing task allocation: service node S i Perform verification and preparation, add tasks to their task queues, and allocate available computing resources; S10310, computing task starts: service node S i Initializes the required execution environment, loads necessary applications, dependencies, and input data, and begins executing assigned tasks.

7. The cloud-edge-device collaborative scheduling method in an unstable connection scenario according to claim 1, characterized in that: The S104 task operation monitoring specifically includes the following steps: S1041, determine whether the service task is started normally: Node P i Monitor the startup status of the task on the service node to determine whether the task is successfully started on the expected node. Since the service node is time-varying, when the transmission requirements for task execution cannot be met or the service node fails, the node needs to offload the task and go to step S1042. Otherwise, go to step S1043. S1042, failed node marking: During actual computing tasks, the dynamic and adaptive nature of the distributed system requires monitoring and adjustment mechanisms to cope with these changes, maintain system stability and efficiency, and mark failed nodes. The process then proceeds to S1033; S1043, executing computing tasks: preprocessing the data and selecting appropriate algorithms or models based on task requirements; S1044, calculation result processing: After the task is completed, the service node processes the calculation results, verifies, formats and stores the results. After processing is completed, the results are returned to the node that requested the task or stored in a designated location; S1045, computing task completed: the service node completes the collaborative execution task and restores all settings to the initial state.

8. The cloud-edge-device collaborative scheduling method in an unstable connection scenario according to claim 7, characterized in that: The S1045 calculation task completion specifically includes the following steps: S10451, Release computing resources: The task node releases all resources related to the task, including CPU, memory, and other computing resources; S10452, Task Log Record: Provides log information of task startup, including startup time, node information, and warnings or errors during task startup; S10453, Status Update and Notification: The service node updates the task status to Completed and notifies other nodes in the node list of this status change; S10454, waiting for task issuance: The service node decides whether to schedule new computing tasks based on the current resource status and task queue; if there are pending tasks, the node will select the next task to execute according to the predetermined scheduling strategy; if there are no pending tasks, the node may enter standby mode and wait for the arrival of new tasks.

Citation Information

Patent Citations

  • Space-based computing autonomous service discovery and collaboration method based on subscription and publishing

    CN114500579A

  • Service scheduling method and device, electronic equipment and computer readable storage medium

    CN115934264A