Task unloading method and electronic equipment

By selecting the target server on the LEO satellite based on the urgency of the emergency task and the ideal start time, the problem of insufficient computing power of the user terminal equipment is solved, and efficient task offloading and computing processing is achieved.

CN120416936APending Publication Date: 2025-08-01CHONGQING UNIV +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510769633.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-10
Publication Date
2025-08-01

AI Technical Summary

Technical Problem

In underdeveloped and sparsely populated areas, the problem of computing task timeouts often occur due to insufficient computing power due to user terminal equipment, especially when dealing with computing-intensive and delay-sensitive services.

Method used

By obtaining the emergency time of the task to be calculated, determining the emergency task and selecting the target server based on its ideal start time, offloading the task to the server on the LEO satellite, optimizing the task offload process to reduce the timeout probability.

Benefits of technology

It effectively reduces the probability that the task to be calculated is timed out, improves the computing processing capability and on-time completion rate, and reduces delay.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120416936A_ABST
    Figure CN120416936A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of satellite communication, and discloses a task unloading method, which is applied to a user terminal and comprises the following steps: acquiring emergency time of a to-be-calculated task; determining an emergency task from the to-be-calculated tasks according to the emergency time of the to-be-calculated tasks; acquiring first ideal starting time of the emergency task; determining a first target server for the emergency task from preset first alternative servers according to the first ideal starting time of the emergency task; wherein the first alternative server is a server in a set state in a preset satellite; and unloading the emergency task to a corresponding first target server. According to the method, the probability that the to-be-calculated task is overtime can be reduced. The invention further discloses electronic equipment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of satellite communication technology, for example, to a method and an electronic device for task offloading. Background Art

[0002] In underdeveloped and sparsely populated areas, such as vast ocean regions and some harsh land areas, such as mountainous areas and deserts, there is still no ground network coverage or insufficient ground network infrastructure, which makes user terminal devices, such as smartphones, Internet of Things devices, drones, etc., often face the bottleneck of insufficient computing power. Especially when dealing with computing-intensive and latency-sensitive services, user terminal devices often have problems with insufficient computing service capabilities. Currently, people usually use LEO satellites (Low Earth Orbit - low-orbit satellites) to provide services for user terminal devices. When a user terminal device generates a computing task that needs to be processed, offloading the task to a server on a LEO satellite within the communication range can effectively relieve the computing pressure of the user terminal device. And when a user terminal device generates multiple computing tasks that need to be processed, the related technology is to offload them to the server on the LEO satellite in the order of the generation time of each computing task to be processed. In this way, some tasks with high time limit requirements time out.

[0003] It should be noted that the information disclosed in the above background art section is only used to enhance the understanding of the background of this application, and thus may include information that does not constitute the prior art known to those of ordinary skill in the art. Summary of the Invention

[0004] To have a basic understanding of some aspects of the disclosed embodiments, a simple summary is given below. The summary is not a general review, nor is it intended to identify key / important elements or delineate the protection scope of these embodiments, but rather serves as a preamble to the subsequent detailed description.

[0005] Embodiments of the present disclosure provide a method and an electronic device for task offloading to be able to reduce the probability of a computing task to be processed timing out.

[0006] In some embodiments, the method is applied to a user terminal, and the method includes: obtaining the emergency time of a computing task to be processed; determining an emergency task from the computing tasks to be processed according to the emergency time of the computing task to be processed; obtaining the first ideal start time of the emergency task; determining a first target server for the emergency task from a preset first alternative server according to the first ideal start time of the emergency task; wherein, the first alternative server is a server in a set state among preset satellites; offloading the emergency task to the corresponding first target server.

[0007] In some embodiments, the electronic device includes a processor and a memory storing program instructions. The processor is configured to execute the above-mentioned method for task offloading when running the program instructions.

[0008] The method for task offloading and the electronic device provided by the embodiments of the present disclosure can achieve the following technical effects: Determine the urgent tasks with higher time limit requirements in the tasks to be calculated through the urgent time of the tasks to be calculated. Then, determine the corresponding target server according to the ideal start time of the urgent tasks, and offload the urgent tasks to the corresponding target server. In this way, according to the urgency of the urgent tasks, offload the urgent tasks to the servers on the satellite. It can reduce the probability that the tasks to be calculated are timed out.

[0009] The above general description and the following description are only exemplary and explanatory, and are not used to limit the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] One or more embodiments are exemplarily illustrated by the corresponding drawings. These exemplary illustrations and the drawings do not constitute limitations on the embodiments. Elements with the same reference numerals in the drawings are shown as similar elements. The drawings do not constitute a scale limitation, and among them:

[0011] Figure 1 is a schematic diagram of a system environment for task offloading;

[0012] Figure 2 is a schematic diagram of a method for task offloading provided by an embodiment of the present disclosure;

[0013] Figure 3 is a schematic diagram of an inter-satellite link model of a satellite constellation provided by an embodiment of the present disclosure;

[0014] Figure 4 is a schematic diagram of the structure of an electronic device provided by an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0015] In order to be able to understand the features and technical content of the embodiments of the present disclosure in more detail, the implementation of the embodiments of the present disclosure will be described in detail below with reference to the drawings. The attached drawings are only for reference and explanation, and are not used to limit the embodiments of the present disclosure. In the following technical description, for the sake of explanation, sufficient understanding of the disclosed embodiments is provided through multiple details. However, one or more embodiments can still be implemented without these details. In other cases, well-known structures and devices can be shown in a simplified manner.

[0016] In the description and claims of the embodiments of the present disclosure and the above-mentioned drawings, terms such as "first" and "second" are used to distinguish similar objects, and do not necessarily describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances, so as to implement the embodiments of the present disclosure described herein. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion.

[0017] Unless otherwise specified, the term "plurality" means two or more.

[0018] In the embodiments of the present disclosure, the character " / " indicates that the front and rear objects are in an "or" relationship. For example, A / B means: A or B.

[0019] The term "and / or" is a description of the association relationship of an object, indicating that three relationships can exist. For example, A and / or B means: A or B, or, A and B these three relationships.

[0020] The term "corresponding" may refer to an association relationship or a binding relationship. A corresponding to B means that there is an association relationship or a binding relationship between A and B.

[0021] In the embodiments of the present disclosure, the user terminal is an electronic device with satellite communication capabilities, and the user terminal is communicatively connected to a LEO satellite. In some embodiments, the user terminal is, for example, a mobile device, a computer, or an in-vehicle device built into a hovering vehicle, etc., or any combination thereof. The mobile device may include, for example, a smart phone, a smart home device, a wearable device, a smart mobile device, a virtual reality device, etc., or any combination thereof, wherein the wearable device includes, for example: a smart watch, a smart bracelet, a pedometer, etc.

[0022] Combined with Figure 1 As shown, the system for task offloading includes a LEO satellite 101 and a user terminal 102. Among them, the user terminal 102 is a smart phone. The LEO satellite is communicatively connected to the user terminal.

[0023] Combined with Figure 2 As shown, the embodiments of the present disclosure provide a method for task offloading, which is applied to a user terminal, and the method includes:

[0024] Step S201, the user terminal obtains the emergency time of the task to be calculated.

[0025] The user terminal has one or more tasks that need to be offloaded for computing, and each task contains multiple subtasks. In this way, multiple subtasks that need to be computed are generated on the user terminal. The subtasks that need to be computed are determined as tasks to be computed. Among them, the emergency time of the task to be computed is used to characterize the time limit requirement of the task to be computed. For example, when the current time reaches the emergency time of the task to be computed, the time limit requirement of the task to be computed is high. When the current time does not reach the emergency time of the task to be computed, the time limit requirement of the task to be computed is not high.

[0026] Step S202, the user terminal determines the emergency tasks from the tasks to be computed according to the emergency time of the tasks to be computed.

[0027] Step S203, the user terminal obtains the first ideal start time of the emergency tasks.

[0028] Step S204, the user terminal determines the first target server for the emergency tasks from the preset first alternative servers according to the first ideal start time of the emergency tasks. Among them, the first alternative servers are the servers in the set state among the preset satellites.

[0029] Step S205, the user terminal offloads the emergency tasks to the corresponding first target servers.

[0030] By using the method for task offloading provided by the embodiments of the present disclosure, the emergency tasks with higher time limit requirements in the tasks to be computed are determined through the emergency time of the tasks to be computed. Then, the corresponding target servers are determined according to the ideal start time of the emergency tasks, and the emergency tasks are offloaded to the corresponding target servers. The earlier the ideal start time is, the more urgent the emergency task is. In this way, the emergency tasks with high time limit requirements are first determined, and then the emergency tasks are offloaded to the servers on the satellite according to the urgency of the emergency tasks. The probability that the tasks to be computed are timed out can be reduced.

[0031] In one embodiment, the set state includes the idle state. That is, the first alternative servers are the servers in the idle state among the preset satellites.

[0032] The user terminal obtains the status information of the servers on the satellite by sending a request message to the preset satellite. The status of the servers on the satellite includes the working state or the idle state. For example, when the server processes a task, the status is the working state. After the task is processed, the status is the idle state.

[0033] The preset satellites are satellites capable of communicating with user terminals. The preset satellites include: a first satellite and a second satellite. Among them, the first satellite is a LEO satellite capable of directly communicating with the user terminal. The second satellite is a LEO satellite that cannot directly communicate with the user terminal but can communicate with the first satellite through an inter-satellite link. Therefore, the user terminal can communicate with the second satellite through the first satellite. In this way, the user terminal can access the server on the preset satellite. In the embodiments of the present disclosure, when the user terminal has computationally intensive and latency-sensitive tasks to be processed, the tasks to be calculated are offloaded to the server on the satellite that can communicate with the user terminal on the ground or the adjacent satellite on the inter-satellite link to complete. Each server only executes one task at a time to ensure efficiency and effectively manage computing resources. And, considering the satellites with inter-satellite links to calculate the tasks of the user terminal, the inter-satellite link promotes communication between satellites and enhances the network's ability to process data-intensive applications. It can effectively relieve the computing pressure of ground user terminal devices, improve processing efficiency, and reduce latency.

[0034] Figure 3 Schematic diagram of the inter-satellite link model of the satellite constellation, combined with Figure 3 As shown, the first satellite 301 can directly communicate with the user terminal, and the first satellite 301 is equipped with four inter-satellite links. Two of the links are fixed and are used to connect the satellite to its neighbors in the same orbital plane. For example, the second satellite 303 and the second satellite 305 communicate with the first satellite 301 through the inter-satellite link on the same orbit. The second satellite 303 and the second satellite 305 cannot directly communicate with the user terminal. The other two links are variable and are used to facilitate connections with satellites on adjacent orbital planes. For example, the second satellite 302 and the second satellite 304 communicate with the first satellite 301 through the inter-satellite link on different orbits. The second satellite 302 and the second satellite 304 cannot directly communicate with the user terminal. In this way, the second satellite 302, the second satellite 303, the second satellite 304, and the second satellite 305 can all communicate with the user terminal through the first satellite 301. This configuration can ensure a stable connection within the network, thereby enabling continuous and flexible task routing throughout the constellation.

[0035] In this way, the satellite constellation can be used as an edge computing platform to process complex tasks to be calculated. The tasks to be calculated started from the ground user terminal are transmitted to the satellite for execution. Multiple tasks to be calculated in the user terminal are arranged to be executed on different satellites, and the inter-satellite link assists in necessary communication and data transmission. This decentralized method can effectively utilize satellite resources and shorten the response time.

[0036] Furthermore, obtaining the emergency time of the task to be calculated includes obtaining a maximum calculation duration of the task to be calculated on each of the preset second candidate servers and obtaining a latest completion time of the task to be calculated. The second candidate servers are servers in the preset satellites. The emergency time of the task to be calculated is obtained by calculating the maximum calculation duration and the latest completion time.

[0037] The second candidate servers are all servers in the preset satellite. The maximum calculation duration is the maximum value of the calculation durations of the task to be calculated on each of the second candidate servers.

[0038] Optionally, obtaining the latest completion time of the task to be calculated includes: performing a table lookup operation in a preset first data table to find the latest completion time corresponding to the task to be calculated. The first data table stores a correspondence between the task to be calculated and the latest completion time.

[0039] Optionally, obtain the latest completion time of the task to be calculated, including:

[0040] calculate Get the latest completion time of the task to be calculated. For the task A to be calculated i,j The latest completion time, A i,j The jth subtask of the i-th task that needs to be offloaded on the user terminal. is a Boolean variable, Indicates the task A to be calculated i,j There is a subsequent task A i,x , A i,x The xth subtask of the i-th task that needs to be calculated and offloaded on the user terminal, and the xth subtask of the i-th task is the task to be calculated A i,j Among them, the post-task A i,x Need to be calculated in task A i,j After the processing is completed, the calculation can begin. For subsequent task A i,x The latest completion time. For subsequent task A i,x In this way, taking into account the dependencies between the tasks to be calculated, the latest completion time of the tasks to be calculated can be determined more accurately, thereby ensuring that the tasks to be calculated are completed on time.

[0041] Furthermore, by calculating the maximum calculation time and the latest completion time, the emergency time of the task to be calculated is obtained, including: Get the urgent time of the task to be calculated. For the task A to be calculatedi,j The emergency time is the latest completion time for the task A to be calculated i,j and is the maximum calculation duration for the task A to be calculated on each second alternative server. is the task A to be calculated i,j on each second alternative server.

[0042] Furthermore, the user terminal determines an emergency task from the tasks to be calculated according to the emergency time of the task to be calculated, including: when the emergency time of the task to be calculated is reached at the current moment, determining that the task to be calculated is an emergency task. That is, the emergency task is a task to be calculated with high time limit requirements. The tasks to be calculated with high time limit requirements are determined through the emergency time of each task to be calculated. In this way, the target server is determined first for the tasks to be calculated with high time limit requirements, and then the task offloading is performed first. It can ensure that the urgent tasks to be calculated are processed in time. Thus, the probability of the tasks to be calculated being timed out is reduced.

[0043] Furthermore, obtaining the first ideal start time of the emergency task includes: obtaining the first priority weight, the server calculation efficiency, and the first calculation duration. Among them, the first priority weight is the priority weight of the emergency task, the server calculation efficiency is the calculation efficiency of the preset second alternative server, and the first calculation duration is the calculation duration of the emergency task on the preset second alternative server. Calculate the first priority weight, the server calculation efficiency, and the first calculation duration to obtain the first ideal start time of the emergency task. In this way, when calculating the ideal start time of the emergency task, factors such as the priority weight of the emergency task, the calculation efficiency of the server, and the calculation duration of the emergency task on the server are considered, making the calculated ideal start time better reflect the urgency of the emergency task. The earlier the ideal start time, the more urgent the emergency task.

[0044] Furthermore, calculating the first priority weight, the server calculation efficiency, and the first calculation duration to obtain the first ideal start time of the emergency task includes:

[0045] Calculating to obtain the first ideal start time of the emergency task. Among them, is the j1th subtask of the i1th task that needs to be calculated and offloaded on the user terminal, and the j1th subtask of the i1th task is an emergency task, where i1 ≤ i. is the first ideal start time of the emergency task is the emergency task is the first ideal start time is the emergency task is the latest completion time is the emergency task is the first priority weight of the emergency task, η lThe computing efficiency of the l-th second alternative server is an emergency task The first computing duration on the l-th second alternative server is an emergency task The standard deviation of the first computing durations on all second alternative servers, where L is the number of all second alternative servers. All second alternative servers are the servers on all preset satellites

[0046] When calculating the ideal start time of an emergency task, the standard deviation of the computing durations of all second alternative servers is also considered. In this way, even if the more efficient second alternative servers are occupied, unloading the emergency task according to the ideal start time can still ensure that the emergency task is completed on time

[0047] Furthermore, obtaining the first priority weight includes

[0048] Calculating Obtaining the first priority weight of the emergency task. Wherein is the urgency score of the emergency task, and α is the urgency weight parameter is the importance score of the emergency task and β is the importance weight parameter is the number of times the emergency task has exceeded the latest completion time in history and δ is the overtime completion weight parameter is the emergency task

[0049] Furthermore, the urgency score of the emergency task is obtained in the following way

[0050] Calculating Obtaining the urgency score of the emergency task. Wherein, T0 is the current time is the emergency task

[0051] The latest completion time. The urgency score of the emergency task is the duration from the current time to the latest completion time of the emergency task. The urgency score of the emergency task represents the urgency of the emergency task. The closer to the latest completion time, the greater the urgency score of the emergency task, indicating that the emergency task is more urgent

[0052] Furthermore, the importance score of the emergency task is obtained in the following way: perform a look-up operation in the preset second data table to find the importance score corresponding to the emergency task. Wherein, the second data table stores the corresponding relationship between the emergency task and the importance score

[0052] Furthermore, obtaining the server computing efficiency includes: calculating Obtain the computing efficiency of the l-th second alternative server. Wherein, N l is the total number of tasks processed by the l-th second alternative server within the preset time period t, and t is the preset time period, which is the duration of a preset past time period.

[0053] Furthermore, according to the first ideal start time of the urgent task, determine the first target server for the urgent task from the preset first alternative servers, including: in the order of the first ideal start time from earliest to latest, successively determine the first target server for the urgent task from the preset first alternative servers. Since the first ideal start time can reflect the urgency of the urgent task, it thus reflects the priority of the urgent task. Determining the target server for the urgent task in the chronological order of the ideal start time of the urgent task from earliest to latest can avoid the situation where non-urgent tasks are completed in advance while urgent tasks are timed out. It can increase the probability that all urgent tasks are calculated and completed on time and reduce the probability that urgent tasks are completed overtime.

[0054] Furthermore, determine the first target server for the urgent task from the preset first alternative servers, including: obtain the first transmission duration and the second computing duration of each first alternative server. Wherein, the first transmission duration is the transmission duration for the urgent task to be sent to the first alternative server, and the second computing duration is the computing duration of the urgent task on the first alternative server. Determine the first target server from each first alternative server according to the first transmission duration and the second computing duration of each first alternative server.

[0055] Since the first alternative servers are the servers in the preset satellites that are in an idle state. And the preset satellites include the first satellites that can directly communicate with the user terminal, and also include the second satellites that cannot directly communicate with the user terminal but can communicate with the first satellites through inter-satellite links. Therefore, when the first alternative server is a server in an idle state on the first satellite, the first transmission duration is the transmission delay for the user terminal to send the urgent task to the first satellite where the first alternative server is located. And the transmission durations for the urgent task data to be sent to the first alternative servers on the same first satellite are the same. Optionally, the first transmission duration is obtained by the following method:

[0056] Calculate Obtain the transmission duration for the user terminal to send the urgent task to the first alternative server. Wherein, is the transmission duration for the user terminal k to send the urgent task to the first alternative server on the n-th first satellite. R nk is the data transmission rate from the user terminal k to the n-th first satellite S n d nk is the distance from the user terminal k to the n-th first satellite S nThe distance. n ∈ N, where N is a positive integer and represents the number of the first satellites that include the first alternative server.

[0057] In the case where the first alternative server is a server in an idle state on the second satellite, the first transmission duration is the transmission delay for the user terminal to send an emergency task to the second satellite where the first alternative server is located. Specifically, the first transmission duration includes the transmission duration for the user terminal to send the emergency task to the third satellite and the transmission duration for the third satellite to send the emergency task to the second satellite. Here, the third satellite is the first satellite that has an inter-satellite link with the second satellite. And the transmission durations for sending the emergency task data to the first alternative servers on the same second satellite are the same. Optionally, the first transmission duration is obtained in the following way:

[0058] Calculate Obtain the transmission duration for the user terminal to send an emergency task to the first alternative server. Among them, is the transmission duration for user terminal k to send an emergency task to the first alternative server on the m-th second satellite S m . is the data size of the emergency task . R ek is the data transmission rate of user terminal k to the e-th third satellite S e . R me is the data transmission rate of the e-th third satellite S e to the m-th second satellite S m through the inter-satellite link. c is the speed of light. d ek is the distance from user terminal k to the e-th third satellite S e , d me is the distance from the e-th third satellite S e to the m-th second satellite S m . m ∈ M, where M is a positive integer and represents the number of the second satellites that include the first alternative server. e ∈ E, where E is a positive integer and represents the number of the first satellites that have an inter-satellite link with the second satellite S m , that is, the number of the third satellites.

[0059] Among them, calculate Obtain the data transmission rate of the e-th third satellite S e to the m-th second satellite S m through the inter-satellite link. Among them, B me is the bandwidth of the inter-satellite link between the e-th third satellite S e and the m-th second satellite S m . P me is the transmit power of the e-th third satellite S e and the m-th second satellite S mThe transmission power between. G tran For the e-th third satellite S e The transmitting antenna gain of. G rec For the m-th second satellite S m The receiving antenna gain of. k B Is the Boltzmann constant. T e Is the equivalent system temperature in Kelvin. L me For the e-th third satellite S e And the m-th second satellite S m The path loss between.

[0060] Among them, calculate R ek =Blog2(1 + SNR ek ) to obtain the data transmission rate from the user terminal k to the e-th third satellite S e . Among them, B is the channel bandwidth between the user terminal k and the e-th third satellite S e . SNR ek Is the signal-to-noise ratio, P tran Is the transmission power of the user terminal k, L ek Is the free space path loss between the user terminal k and the e-th third satellite S e . G' tran Is the transmitting antenna gain of the user terminal k. G' rec For the e-th third satellite S e The receiving antenna gain of.

[0061] Furthermore, obtain the second calculation duration, including: calculating To obtain the calculation duration of the emergency task on the first alternative server. Among them, Is the emergency task The calculation duration on the q-th first alternative server. Is the emergency task The calculation load of, c q Is the computing power of the q-th first alternative server. q ∈ Q, Q is a positive integer, and Q is the number of first alternative servers.

[0062] Further, determining a first target server from each first alternative server according to the first transmission duration and the second calculation duration of each first alternative server includes: calculating the sum of the first transmission duration and the second calculation duration of each first alternative server respectively. Determining the first alternative server corresponding to the minimum sum as the first target server. In this way, the first alternative server that consumes the least time is determined as the target server for the corresponding urgent task, so that the more urgent the urgent task can be unloaded to the server that consumes less time for processing. Thus, the tasks to be calculated can be processed more quickly according to the urgency level, improving the efficiency of processing the tasks to be calculated. Moreover, the probability of the tasks to be calculated being timed out is reduced.

[0063] In some embodiments, when the first target server is a server on the first satellite, since the first satellite can directly communicate with the user terminal, the user terminal can directly transmit the corresponding urgent task to the first satellite corresponding to the first target server.

[0064] When the first target server is a server on the second satellite, the user terminal transmits the corresponding urgent task to the fourth satellite, and the fourth satellite then transmits the urgent task to the second satellite corresponding to the first target server through the inter-satellite link. Among them, the fourth satellite is the first satellite corresponding to the minimum first transmission duration. In this way, the urgent task can be transmitted to the target server for processing along the fastest path. The probability of the tasks to be calculated being timed out is reduced.

[0065] In some embodiments, the user terminal sends an urgent task to the first target server, triggering the first target server to process the urgent task. And updating the status of the first target server to the working status. Determining the status of the urgent task as being executed.

[0066] The method for task offloading provided by the embodiments of the present disclosure performs computing offloading based on LEO satellites, effectively solving the bottleneck of the computing power of ground user terminal devices, improving the computing processing ability, and reducing latency. Moreover, the corresponding target server is determined according to the ideal start time of the urgent task, and the urgent task is offloaded to the target server on the satellite according to the urgency level of the urgent task. The probability of the urgent task being timed out can be reduced. At the same time, the embodiments of the present disclosure also consider task dependencies and the inter-satellite links between LEO satellites, achieving a higher on-time completion rate and lower latency.

[0067] In some embodiments, when the first target server receives urgent tasks sent by multiple user terminals, it selects the urgent task with the earliest first ideal start time for execution. The unselected urgent tasks wait for the next round of scheduling.

[0068] Further, after offloading the urgent tasks to the corresponding first target servers, it further includes: determining the other tasks to be calculated except the urgent tasks among all the tasks to be calculated as ready tasks. Obtaining the second ideal start time of the ready tasks. Determining a second target server for each ready task from the preset second alternative servers according to the second ideal start time of the ready tasks. Offloading the ready tasks to the corresponding second target servers.

[0069] Among the tasks to be calculated, the tasks to be calculated that have reached the urgent time are urgent tasks. And the other tasks to be calculated except the urgent tasks, that is, the tasks to be calculated that have not reached the urgent time are ready tasks. That is, the ready tasks are tasks to be calculated with low time limit requirements. In this way, after processing the urgent tasks with high time limit requirements first, then processing the ready tasks with low time limit requirements. It can ensure that all tasks to be calculated can be completed on time, reducing the probability of the tasks to be calculated being timed out. And when offloading the ready tasks, the target server of the ready tasks is still determined according to the ideal start time of the ready tasks, and it can also be offloaded according to the urgency of the ready tasks. Further ensuring that all tasks to be calculated can be processed on time. Further reducing the probability of the tasks to be calculated being timed out.

[0070] Further, obtaining the second ideal start time of the ready tasks includes: obtaining the second priority weight, the server computing efficiency, and the third computing duration. Wherein, the second priority weight is the priority weight of the ready task, the server computing efficiency is the computing efficiency of the second alternative server, and the third computing duration is the computing duration of the ready task on the second alternative server. Calculating the second priority weight, the server computing efficiency, and the third computing duration to obtain the second ideal start time of the ready tasks. In this way, when calculating the ideal start time of the ready tasks, factors such as the priority weight of the ready task, the computing efficiency of the server, and the computing duration of the ready task on the server are considered, so that the calculated ideal start time can reflect the urgency of the ready task. The earlier the ideal start time, the more urgent the ready task.

[0071] Further, calculating the second priority weight, the server computing efficiency, and the third computing duration to obtain the second ideal start time of the ready tasks includes:

[0072] Calculating To obtain the second ideal start time of the ready task Among them, Is the j2th subtask of the i2th task that needs to be calculated and offloaded on the user terminal, and the j2th subtask of the i2th task is a ready task, i2 ≤ i. Is the second ideal start time of the ready task Of, The latest completion time of the ready task and the priority weight of the ready task is η l The computing efficiency of the l-th second alternative server and the third computing duration of the ready task on the l-th second alternative server and the standard deviation of the third computing duration of the ready task on all second alternative servers. L is the number of all second alternative servers

[0073] Furthermore, obtaining the second priority weight includes

[0074] Calculating to obtain the priority weight of the ready task. Wherein is the urgency score of the ready task and α is the urgency weight parameter is the importance score of the ready task and β is the importance weight parameter is

[0075] the number of times the ready task has exceeded the latest completion time in history

[0076] Calculating to obtain the urgency score of the ready task. Wherein T0 is the current time and is the latest completion time of the ready task. The urgency score of the ready task is the duration from the current time to the latest completion time of the ready task. The urgency score of the ready task represents the urgency degree of the ready task. The closer the distance to the latest completion time, the greater the urgency score of the ready task, indicating that the ready task is more urgent

[0077] Furthermore, obtaining the importance score of the ready task: performing a look-up operation in the preset second data table to find out the importance score corresponding to the ready task. Wherein, the second data table stores the corresponding relationship between the ready task and the importance score

[0078] Further, according to the second ideal start time of the ready tasks, determine a second target server for each ready task from the preset second alternative servers, including: in the order from the earliest to the latest of the second ideal start time, sequentially determine the second target server for the ready tasks from the preset second alternative servers. Since the second ideal start time can reflect the urgency of the ready tasks, it thus reflects the priorities of the ready tasks. Determining the target server for the ready tasks in the chronological order from the earliest to the latest of the ideal start time of the ready tasks can avoid the situation where unhurried tasks are completed in advance while urgent tasks are timed out. It can increase the probability that all ready tasks are calculated and completed on time and reduce the probability that ready tasks are completed after the time limit.

[0079] Further, determining a second target server for the ready tasks from the preset second alternative servers includes: obtaining the second transmission duration, the third calculation duration, and the idle time of each second alternative server. Among them, the second transmission duration is the transmission duration for the ready tasks to be sent to each second alternative server, the third calculation duration is the calculation duration for the ready tasks on the second alternative servers, and the idle time is the idle time of the second alternative servers. Determine the second target server from each second alternative server according to the second transmission duration, the third calculation duration, and the idle time of each second alternative server.

[0080] Since the second alternative servers are all the servers on the preset satellites. And the preset satellites include the first satellites that can directly communicate with the user terminals, and also include the second satellites that cannot directly communicate with the user terminals but can communicate with the first satellites through inter-satellite links. Therefore, in the case where the second alternative server is a server on the first satellite, the second transmission duration is the transmission delay for the user terminal to send the ready tasks to the first satellite where the second alternative server is located. And the transmission durations for the ready task data to be sent to the second alternative servers on the same first satellite are the same. Optionally, the second transmission duration is obtained in the following manner:

[0081] Calculate Obtain the transmission duration for the user terminal to send the ready tasks to the second alternative server. Among them, is the transmission duration for the user terminal k to send the ready tasks to the second alternative server on the n'-th first satellite. R n'k is the data transmission rate from the user terminal k to the n'-th first satellite S n' . d n'k is the distance from the user terminal k to the n'-th first satellite S n' . n' ∈ N', N' is a positive integer, and N' is the number of first satellites containing the second alternative servers.

[0082] In the case where the second alternative server is a server on the second satellite, the second transmission duration is the transmission delay for the user terminal to send the ready task to the second satellite where the second alternative server is located. Specifically, the second transmission duration includes the transmission duration for the user terminal to send the ready task to the fifth satellite, and the transmission duration for the fifth satellite to send the ready task to the second satellite. Among them, the fifth satellite is the first satellite that has an inter-satellite link with the second satellite. And the transmission duration for the ready task to be sent to the second alternative server on the same second satellite is the same. Optionally, the second transmission duration is obtained by the following method:

[0083] Calculate Obtain the transmission duration for the user terminal to send the ready task to the second alternative server. Among them, is the transmission duration for user terminal k to send the ready task to the second alternative server on the m'-th second satellite S m' . is the data size of the ready task . R e'k is the data transmission rate from user terminal k to the e'-th fifth satellite S e' . R m'e' is the data transmission rate from the e'-th fifth satellite S e' to the m'-th second satellite S m' through the inter-satellite link. c is the speed of light. d e'k is the distance from user terminal l to the e'-th fifth satellite S e' . d m'e' is the distance from the e'-th fifth satellite S e' to the m'-th second satellite S m' . m' ∈ M', M' is a positive integer, and M' is the number of second satellites containing the second alternative server. e' ∈ E', E' is a positive integer, and E' is the number of first satellites that have an inter-satellite link with the second satellite S m' , that is, the number of fifth satellites.

[0084] Among them, calculate Obtain the data transmission rate from the e'-th fifth satellite S e' to the m'-th second satellite S m' through the inter-satellite link. Among them, B m'e' is the bandwidth of the inter-satellite link between the e'-th fifth satellite S e' and the m'-th second satellite S m' . P m'e' is the transmission power between the e'-th fifth satellite S e' and the m'-th second satellite S m' . G 1tran is the e'-th fifth satellite S e'Transmit antenna gain of. G 1rec For the m'-th second satellite S m' Receive antenna gain of. k B Is the Boltzmann constant. T e Is the equivalent system temperature in Kelvin. L m'e' For the e'-th fifth satellite S e' And the m'-th second satellite S m' The path loss between.

[0085] Wherein, calculating R e'k = B'log2(1 + SNR e'k ) to obtain the data transmission rate from the user terminal k to the e'-th fifth satellite S e' . Wherein, B' is the channel bandwidth between the user terminal k and the e'-th fifth satellite S e' . SNR e'k Is the signal-to-noise ratio, P tran Is the transmission power of the user terminal k, L e'k Is the free space path loss between the user terminal k and the e'-th fifth satellite S e' . G' tran Is the transmit antenna gain of the user terminal k. G 2rec For the e'-th fifth satellite S e' Receive antenna gain of.

[0086] Furthermore, obtaining the third calculation duration includes: calculating To obtain the calculation duration of the ready task on the second alternative server. Wherein, Is the ready task Calculation duration on the l-th second alternative server. Is the ready task Calculation load of, c l Is the computing power of the l-th second alternative server.

[0087] Furthermore, determining the second target server from each second alternative server according to the second transmission duration, the third calculation duration and the idle time of each second alternative server includes: calculating the second transmission duration, the third calculation duration and the idle time of each second alternative server to obtain the estimated completion time of each second alternative server. Determining the second alternative server corresponding to the earliest estimated completion time as the second target server. In this way, the second alternative server with the earliest estimated completion is determined as the target server for the corresponding ready task, so that the more urgent ready tasks can be offloaded to the server that can be completed earlier. Thus, the ready tasks can also be processed according to the degree of urgency. Further reducing the probability that the task to be calculated is processed overtime.

[0088] Among them, calculate to obtain the estimated completion time of the second alternative server. Among them, T l is the estimated completion time of the l-th second alternative server. current time is the current time. is the second transmission duration for the user terminal k to send the ready task to the second alternative server on the m'-th second satellite S m' above. is the idle time of the l-th second alternative server, is the ready task is the computing duration on the l-th second alternative server.

[0089] In some embodiments, when the second target server is a server on the first satellite, since the first satellite can directly communicate with the user terminal, the user terminal can directly transmit the corresponding ready task to the first satellite corresponding to the second target server.

[0090] When the second target server is a server on the second satellite, the user terminal transmits the corresponding ready task to the sixth satellite, and the sixth satellite then transmits the ready task to the second satellite corresponding to the second target server through the inter-satellite link. Among them, the sixth satellite is the first satellite corresponding to the minimum second transmission duration. In this way, the ready task can be transmitted to the target server for processing along the fastest path. The probability that the task to be calculated is timed out is reduced.

[0091] In one embodiment, the user terminal sends the ready task to the second target server, triggers the second target server to process the ready task, and updates the status of the second target server to the working state. The status of the ready task is determined to be in execution.

[0092] In another embodiment, for an emergency task, when the current time has exceeded the latest start time of the emergency task then the emergency task is determined to be a ready task.

[0093] Among them, calculate to obtain the latest start time of the emergency task is the latest start time of the emergency task. is the emergency task is the latest completion time. is the emergency task is the first computing duration on the l-th second alternative server.

[0094] ​For a ready task, if the emergency time of the task is reached at the current moment, the ready task is determined as an emergency task.

[0095] In some embodiments, when the second target server receives ready tasks sent by multiple user terminals, the ready task with the earliest second ideal start time is selected for execution. The unselected ready tasks wait for the next round of scheduling.

[0096] The method for task offloading provided by the embodiments of the present disclosure takes into account the dependencies between tasks executed in the satellite constellation, where certain tasks must be carried out in a strict order to ensure operation integrity and data validity, effectively manages these dependencies, and ensures that the order of task execution follows the application requirements. It takes into account the inter-satellite links, significantly improving the computing power and communication capabilities of the constellation. By optimizing the use of inter-satellite links, the communication latency is minimized and the throughput is maximized, thereby enhancing the overall performance of the satellite network; it takes into account the completion time constraints of satellite tasks, improving the on-time completion rate and reducing the overall task completion time.

[0097] The method for task offloading provided by the embodiments of the present disclosure adopts a decentralized design, and each scheduling entity can make independent decisions on its task scheduling, reducing the dependence on the central scheduling node. It improves the robustness and scalability of the system. Especially in the face of node failures or communication interruptions, the network can still operate efficiently.

[0098] Combined with Figure 4 As shown, the embodiments of the present disclosure provide an electronic device 400, including a processor 404 and a memory 401 storing program instructions. Optionally, the electronic device may further include a communication interface 402 and a bus 403. Among them, the processor 404, the communication interface 402, and the memory 401 can communicate with each other through the bus 403. The communication interface 402 can be used for information transmission. The processor 404 can call the program instructions in the memory 401 to execute the method for task offloading in the above embodiments.

[0099] In addition, when the logical instructions in the above-mentioned memory 401 are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium.

[0100] The memory 401, as a computer-readable storage medium, can be used to store software programs and computer-executable programs, such as the program instructions / modules corresponding to the methods in the embodiments of the present disclosure. The processor 404 executes functional applications and data processing by running the program instructions / modules stored in the memory 401, that is, implements the method for task offloading in the above embodiments.

[0101] The memory 401 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system and application programs required for at least one function; the data storage area may store data created according to the use of the terminal device, etc. In addition, the memory 401 may include high-speed random access memory and may also include non-volatile memory.

[0102] The electronic device has satellite communication capabilities and can communicate with LEO satellites. The electronic device includes mobile devices, in-vehicle devices built into computers or hover vehicles, etc., or any combination thereof. The mobile device may, for example, include a smart phone, a smart home device, a wearable device, a smart mobile device, a virtual reality device, etc., or any combination thereof. Among them, the wearable device may, for example, include: a smart watch, a smart bracelet, a pedometer, etc.

[0103] The technical solution of the embodiments of the present disclosure can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes one or more instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in the embodiments of the present disclosure. The foregoing storage medium may be a non-transitory storage medium, including: various media that can store program codes such as USB flash drives, mobile hard disks, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical discs, or may also be a transient storage medium.

[0104] The above description and the accompanying drawings fully illustrate the embodiments of the present disclosure, enabling those skilled in the art to practice them. Other embodiments may include structural, logical, electrical, process, and other changes. Embodiments only represent possible variations. Unless explicitly required, individual components and functions are optional, and the order of operations may vary. Parts and features of some embodiments may be included in or replace parts and features of other embodiments. Moreover, the terms used in this application are only for describing embodiments and do not limit the claims. As used in the description of embodiments and claims, unless the context clearly indicates otherwise, the singular forms "a", "an", and "the" are intended to also include the plural forms. Similarly, as used in this application, the term "and / or" refers to any and all possible combinations of one or more of the associated listed items. Additionally, when used in this application, the term "comprise" and its variants "comprises" and / or "comprising" etc. mean the presence of the stated features, wholes, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components, and / or groups of these. Without further limitation, an element defined by the statement "comprising an..." does not exclude the presence of additional identical elements in the process, method, or apparatus that includes the element. Herein, what each embodiment focuses on may be the differences from other embodiments, and the same or similar parts among the embodiments may be referred to each other. For the methods, products, etc. disclosed in the embodiments, if they correspond to the method parts disclosed in the embodiments, the relevant parts may refer to the description of the method parts.

[0105] Those skilled in the art can realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed in a hardware or software manner may depend on the specific application and design constraints of the technical solution. The skilled person can use different methods for each specific application to implement the described functions, but such implementation should not be considered to exceed the scope of the embodiments of the present disclosure. The skilled person can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, devices, and units described above can refer to the corresponding processes in the foregoing method embodiments, and will not be elaborated herein.

[0106] In the embodiments disclosed in this document, the disclosed methods, products (including but not limited to devices, equipment, etc.) can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units can be merely a logical function division. In actual implementation, there can be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Additionally, the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces. The indirect couplings or communication connections of the devices or units can be in electrical, mechanical, or other forms. The units described as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they can be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to implement this embodiment. Additionally, in the embodiments of this disclosure, the various functional units can be integrated in one processing unit, or each unit can exist physically separately, or two or more units can be integrated in one unit.

[0107] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to the embodiments of this disclosure. In this regard, each block in the flowchart or block diagram can represent a module, a program segment, or a part of code that contains one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions marked in the blocks can also occur in a different order than that marked in the accompanying drawings. For example, two consecutive blocks can actually be executed substantially in parallel, and they can sometimes be executed in the reverse order, which can depend on the functions involved. In the descriptions corresponding to the flowcharts and block diagrams in the accompanying drawings, the operations or steps corresponding to different blocks can also occur in a different order than that disclosed in the description. Sometimes, there is no specific order between different operations or steps. For example, two consecutive operations or steps can actually be executed substantially in parallel, and they can sometimes be executed in the reverse order, which can depend on the functions involved. Each block in the block diagram and / or flowchart, as well as the combination of blocks in the block diagram and / or flowchart, can be implemented by a dedicated hardware-based system for performing the specified functions or actions, or can be implemented by a combination of dedicated hardware and computer instructions.

Claims

1. A method for task offloading, characterized in that, Applied to a user terminal, including: Obtain the emergency time of the task to be calculated; Determine the emergency tasks from the tasks to be calculated according to the emergency time of the tasks to be calculated; Obtain the first ideal start time of the emergency task; Determine a first target server for the emergency task from a preset first alternative server according to the first ideal start time of the emergency task; wherein, the first alternative server is a server in a set state in a preset satellite; Unload the emergency task to the corresponding first target server.

2. The method according to claim 1, wherein The obtaining of the emergency time of the task to be calculated includes: Obtain the maximum calculation duration of the task to be calculated on a preset second alternative server, and obtain the latest completion time of the task to be calculated; wherein, the second alternative server is a server in a preset satellite; Calculate the emergency time of the task to be calculated by calculating the maximum calculation duration and the latest completion time.

3. The method according to claim 1, wherein The obtaining of the first ideal start time of the emergency task includes: Obtain a first priority weight, server calculation efficiency, and a first calculation duration; wherein, the first priority weight is the priority weight of the emergency task, the server calculation efficiency is the calculation efficiency of a preset second alternative server, and the first calculation duration is the calculation duration of the emergency task on a preset second alternative server; wherein, the second alternative server is a server in a preset satellite; Calculate the first ideal start time of the emergency task by calculating the first priority weight, the server calculation efficiency, and the first calculation duration.

4. The method according to claim 1, characterized in that, Determining a first target server for the emergency task from a preset first alternative server according to the first ideal start time of the emergency task includes: Sequentially determine the first target server for the emergency task from the preset first alternative server in the order of the first ideal start time from earliest to latest.

5. The method according to claim 4, wherein Determining a first target server for the emergency task from a preset first alternative server includes: Obtain the first transmission duration and the second calculation duration of each first alternative server; wherein, the first transmission duration is the transmission duration for the emergency task to be sent to the first alternative server, and the second calculation duration is the calculation duration of the emergency task on the first alternative server; Determine the first target server from each first alternative server according to the first transmission duration and the second calculation duration of each first alternative server.

6. The method according to claim 2, wherein After unloading the emergency task to the corresponding first target server, it further includes: Determine other tasks to be calculated except the emergency task among all tasks to be calculated as ready tasks; Obtain the second ideal start time of the ready tasks; Determine a second target server for each ready task from a preset second alternative server according to the second ideal start time of the ready tasks; Unload the ready tasks to the corresponding second target servers.

7. The method according to claim 6, wherein The obtaining of the second ideal start time of the ready tasks includes: Obtain the second priority weight, the server computing efficiency, and the third computing duration; wherein, the second priority weight is the priority weight of the ready task, the server computing efficiency is the computing efficiency of the second alternative server, and the third computing duration is the computing duration of the ready task on the second alternative server; Calculate the second priority weight, the server computing efficiency, and the third computing duration to obtain the second ideal start time of the ready task.

8. The method according to claim 6, characterized in that, According to the second ideal start time of the ready task, determine a second target server for each ready task from the preset second alternative servers, including: In the order from the earliest to the latest of the second ideal start time, sequentially determine a second target server for the ready task from the preset second alternative servers.

9. The method according to claim 8, wherein Determine a second target server for the ready task from the preset second alternative servers, including: Obtain the second transmission duration, the third computing duration, and the idle time of each second alternative server; wherein, the second transmission duration is the transmission duration when the ready task is sent to each second alternative server, the third computing duration is the computing duration of the ready task on the second alternative server, and the idle time is the idle time of the second alternative server; According to the second transmission duration, the third computing duration, and the idle time of each second alternative server, determine a second target server from each second alternative server.

10. An electronic device, comprising a processor and a memory storing program instructions, characterized in that, The processor is configured to execute the method for task offloading according to any one of claims 1 to 9 when running the program instructions.