Cloud task scheduling method and device, equipment, storage medium and program product

By aggregating and distributing cloud tasks when switching satellite states, the energy consumption problem of satellites in illuminated and shadowed areas is solved, mission throughput and battery life are ensured, and energy saving and normal mission execution during state switching are achieved.

CN120670123AActive Publication Date: 2025-09-19CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202511166575.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-20
Publication Date
2025-09-19
Estimated Expiration
2045-08-20

AI Technical Summary

Technical Problem

When the satellite's operating state switches from the illuminated area to the shadowed area, how to effectively save energy and avoid battery loss while ensuring the normal execution of cloud missions in the shadowed area, existing technologies have failed to provide an effective solution.

Method used

When the satellite's operating state switches from the illuminated area to the shadow area, cloud tasks are aggregated in some servers and servers that are not running tasks are shut down. Conversely, when switching from the shadow area to the illuminated area, the shut down servers are turned on and tasks are dispersed. Task scheduling is performed based on the resource utilization and migration adaptability of active servers.

Benefits of technology

The energy-saving goal is achieved when switching satellite states, while ensuring the normal execution of cloud missions and reducing battery loss, avoiding mission loss or execution delay.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120670123A_ABST
    Figure CN120670123A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a cloud task scheduling method and device, equipment, a storage medium and a program product, and the method comprises the steps: obtaining the operation state of a satellite, the operation state of the satellite being an illumination region operation state or a shadow region operation state; when the running state of the satellite is switched from the illumination area running state to the shadow area running state, cloud tasks running in the server of the satellite are aggregated in part of servers, and the servers which do not run the cloud tasks are closed; and when the running state of the satellite is switched from the shadow area running state to the illumination area running state, starting the closed servers, and dispersing the cloud tasks running in the partial servers to each server of the satellite.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the technical field of cloud computing and relates to, but is not limited to, a cloud task scheduling method, apparatus, device, storage medium, and program product. Background Art

[0002] Satellites orbit the Earth periodically, switching between sunlit and shadowed areas as their position changes. In the sunlit area, satellites utilize solar arrays for photoelectric conversion, generating sufficient energy while using batteries to store excess energy. This allows the satellite's servers to complete more tasks. In the shadowed area, satellites lack a direct energy source and rely on batteries, requiring energy conservation. Therefore, when satellite servers are running cloud tasks, the relevant technologies lack a comprehensive solution for improving task throughput in the sunlit areas and achieving energy conservation in the shadowed areas. Summary of the Invention

[0003] The embodiments of the present application provide a cloud task scheduling method, apparatus, device, storage medium, and program product.

[0004] This application embodiment proposes a cloud task scheduling method, which includes: Acquiring an operating state of a satellite, where the operating state of the satellite is an illuminated area operating state or a shadow area operating state; When the operating state of the satellite switches from the operating state in the illuminated area to the operating state in the shadow area, the cloud tasks running in the servers of the satellite are aggregated in some servers, and the servers that are not running cloud tasks are shut down; when the operating state of the satellite switches from the operating state in the shadow area to the operating state in the illuminated area, the shut down servers are turned on, and the cloud tasks running in the some servers are dispersed to the various servers of the satellite.

[0005] The present invention also provides a cloud task scheduling device, which includes: An acquisition module is used to acquire the operating state of the satellite, where the operating state of the satellite is an illuminated area operating state or a shadow area operating state; A processing module is used to aggregate the cloud tasks running in the satellite's servers in some servers and shut down the servers that are not running cloud tasks when the satellite's operating state switches from the illuminated area operating state to the shadow area operating state; and to turn on the shut down servers and disperse the cloud tasks running in some servers to the various servers of the satellite when the satellite's operating state switches from the shadow area operating state to the illuminated area operating state.

[0006] An embodiment of the present application also provides an electronic device, comprising a processor and a memory for storing a computer program that can be run on the processor; wherein the processor is used to run the computer program to execute any one of the above-mentioned cloud task scheduling methods.

[0007] An embodiment of the present application also provides a computer storage medium on which a computer program is stored. When the computer program is executed by a processor, any of the above-mentioned cloud task scheduling methods is implemented.

[0008] An embodiment of the present application also provides a computer program product, including a computer program, which implements any of the above-mentioned cloud task scheduling methods when executed by a processor.

[0009] It can be seen that in the embodiment of the present application, when the operating state of the satellite switches from the illuminated area operating state to the shadowed area operating state, the satellite's power consumption can be reduced by aggregating cloud tasks to some servers and shutting down servers that are not running cloud tasks, thereby achieving energy conservation goals. When the operating state of the satellite switches from the shadowed area operating state to the illuminated area operating state, the task throughput of the satellite's servers can be improved by dispersing cloud tasks and turning on all servers. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Figure 1 A flowchart of the cloud task scheduling method according to an embodiment of the present application; Figure 2 Schematic diagram of the positions of the illuminated area and the shadow area in the embodiment of the present application; Figure 3 This is another flowchart of the cloud task scheduling method according to an embodiment of the present application; Figure 4 This is a schematic diagram of the structure of a cloud task scheduling device according to an embodiment of the present application; Figure 5 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0011] In related technologies, the power supply systems of satellites such as those in Medium Earth Orbit (MEO) orbit utilize a combined solar-energy storage system. Solar arrays dynamically track the sun's angle to achieve photovoltaic power conversion, while energy storage systems primarily utilize lithium-ion batteries, enabling energy storage and short-term storage. However, when MEO satellites enter shadow zones, they rely entirely on battery power. When the depth of discharge (DoD) exceeds the designed threshold, irreversible damage to the battery's active material structure occurs internally, resulting in a reduction in cycle life and effective energy output.

[0012] In the cloud computing field, server consolidation is a classic and effective energy-saving solution. Since the energy consumption of idle servers can reach approximately 70% of that of fully loaded servers, consolidating cloud tasks from underloaded servers onto other servers and shutting down these servers can improve host resource utilization and save overall energy. The specific process includes: 1) Real-time data collection of each server's central processing unit (CPU) usage, memory usage, disk read / write speed, network traffic, and other data is collected to monitor server power consumption. 2) Based on key resource utilization and set thresholds, the server's operating status is determined as idle, underloaded, normal, or overloaded. These thresholds can be static or dynamic. 3) For idle and underloaded servers, the cloud task migration potential is evaluated and a target server is selected based on an appropriate algorithm. 4) The cloud task's payload (typically a virtual machine or container) is transferred to the target server using migration techniques such as pre-copy, post-copy, and hybrid copy. 5) The cloud task continues executing on the target server.

[0013] In related technologies, server consolidation methods include: 1) Heuristic methods, which quickly obtain feasible solutions based on empirical rules. 2) Metaheuristic methods, whose core concept is to explore the solution space and approach the global optimum through swarm intelligence or physical biomimetic mechanisms. 3) Machine learning methods, whose core concept is to learn decision-making strategies from historical data to achieve prediction and adaptive optimization. While heuristic methods are computationally efficient, they do not pursue global optimality. Metaheuristic methods can achieve multi-objective optimization, but due to the introduction of a large number of randomization mechanisms, their efficiency is too low. Machine learning methods rely on large amounts of training data, require hardware acceleration, and have relatively low computational speeds.

[0014] When deploying multi-server clusters on satellites, mirroring the serverless integration solutions employed by cloud data centers, satellite servers also utilize virtualization technologies (KVM / Docker) to pool resources and reduce reliance on physical equipment. For example, virtualization technologies such as Kernel-based Virtual Machine (KVM) and Docker can be used. Similarly, similar to the serverless integration solutions employed by cloud data centers, satellite servers can utilize energy storage systems to mitigate energy fluctuations and improve power supply continuity. High availability can also be achieved through hardware or software redundancy. Therefore, the energy-saving model of server consolidation will help MEO satellites survive the shadow zone.

[0015] When deploying multi-server clusters on satellites, a new server consolidation solution needs to be developed based on the satellite's operating state. Specifically, satellites periodically orbit the Earth, switching between sunlit and shadowed areas as their position changes. In the sunlit area, satellites obtain sufficient energy through photovoltaic conversion using solar arrays, while batteries store excess energy. This allows the satellite's servers to complete more tasks. In the shadowed area, satellites lack a direct energy source and rely on batteries. Due to the continuous discharge in the shadowed area, the satellite's batteries suffer from reduced cycle life and decreased effective energy output. To improve battery utilization in the shadowed area, the first step is to reduce energy consumption in the shadowed area, thereby shortening the duration of battery discharge. At the same time, the normal execution of cloud tasks must be ensured to avoid loss or delay of cloud tasks. In summary, in scenarios where satellite servers execute cloud tasks, improving task throughput in the sunlit area, achieving energy savings in the shadowed area, and reducing battery drain caused by satellite operating state transitions are pressing technical challenges.

[0016] In order to solve the technical problems existing in the related technologies, the technical solutions of the embodiments of the present application are proposed.

[0017] The following is a further detailed description of the embodiments of the present application in conjunction with the accompanying drawings and examples. It should be understood that the embodiments provided herein are merely for explaining the embodiments of the present application and are not intended to limit the embodiments of the present application. In addition, the embodiments provided below are partial embodiments for implementing the present application, rather than providing all embodiments for implementing the present application. In the absence of conflict, the technical solutions described in the embodiments of the present application can be implemented in any combination.

[0018] It should be noted that, in the embodiments of the present application, the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a method or apparatus comprising a series of elements includes not only the elements explicitly stated, but also other elements not explicitly listed, or further includes elements inherent to the implementation of the method or apparatus. In the absence of further restrictions, an element defined by the phrase "comprising a..." does not exclude the presence of other related elements (e.g., steps in a method or units in an apparatus, for example, a unit may be a portion of a circuit, a portion of a processor, a portion of a program or software, etc.) in the method or apparatus comprising the element.

[0019] The cloud task scheduling method provided in the embodiment of the present application includes a series of steps, but the cloud task scheduling method provided in the embodiment of the present application is not limited to the recorded steps. Similarly, the cloud task scheduling device provided in the embodiment of the present application includes a series of modules, but the device provided in the embodiment of the present application is not limited to including the modules explicitly recorded, and can also include modules that need to be set up for obtaining relevant information or performing processing based on information.

[0020] Figure 1 This is a flow chart of the cloud task scheduling method according to an embodiment of the present application. Figure 1 As shown, the process includes: Step 101: Acquire the operating state of the satellite, where the operating state of the satellite is either an illuminated area operating state or a shadow area operating state.

[0021] In the embodiment of the present application, the satellite may be a MEO satellite or other satellite. Figure 2 When the satellite is in an area directly illuminated by sunlight, the satellite's operating state is the illuminated area operating state. When the satellite is not in an area directly illuminated by sunlight (that is, the satellite is in an area blocked by the earth), the satellite's operating state is the shadow area operating state. In some embodiments, the satellite's solar altitude angle sea t and the shadow area elevation angle threshold thr sha The size relationship is used to judge the operating status of the satellite. At the current moment, the satellite's solar altitude angle sea t Greater than or equal to the shadow area elevation angle threshold thr sha When the satellite is in the illumination zone, the satellite is in the illumination zone. At the current moment, the satellite's solar altitude angle sea t Less than or equal to the shadow area elevation angle threshold thr sha When , the satellite's operating state is the shadow zone operating state. It can be seen that as the solar altitude angle increases or decreases, the satellite's operating state may switch.

[0022] A multi-server cluster can be deployed in a satellite. The number of servers deployed in a satellite can be recorded as N, where N is an integer greater than 1. The server list SVR in the satellite is {svr1,…,svr i ,…,svr N}, where svr i Represents the i-th server in the satellite. For any server in the satellite, the server resource capacity list can be recorded as CAP, CAP={cap1,…,cap k ,…,cap K}, cap k Indicates the resource capacity of the kth resource on the server. The value of k ranges from 1 to K, where K is the number of resources on the server.

[0023] Step 102: When the operating state of the satellite switches from the operating state in the illuminated area to the operating state in the shadow area, the cloud tasks running in the satellite's servers are aggregated in some servers, and the servers that are not running cloud tasks are shut down; when the operating state of the satellite switches from the operating state in the shadow area to the operating state in the illuminated area, the shut down servers are turned on, and the cloud tasks running in some servers are dispersed to the various servers of the satellite.

[0024] In the embodiment of the present application, the solar altitude angle sea of ​​the satellite at the current moment can be used to calculate the solar altitude angle sea of ​​the satellite at the current moment. t and the satellite's solar altitude angle sea at the previous moment t-1 , to determine whether the satellite's operating status has switched. and When , it means that the satellite's operating status has not switched. and When , it means that the satellite's operating status has not switched; when and When , it means that the satellite's operating state switches from the illuminated area to the shadow area; when and , it indicates that the satellite's operating state switches from the shadow area operating state to the illuminated area operating state.

[0025] If the operating state of the satellite has not been switched, step 102 may be repeated until the operating state of the satellite is switched.

[0026] When the satellite's operating state switches from the illuminated area operating state to the shadowed area operating state, all cloud tasks in at least one server can be migrated, thereby aggregating the cloud tasks running in the satellite's servers in some servers. When the satellite's operating state switches from the illuminated area operating state to the shadowed area operating state, some cloud tasks in at least one server can also be migrated, thereby distributing the cloud tasks running in some servers to various servers in the satellite.

[0027] In some other embodiments, the operating status of the satellite may not be distinguished, but the region of the satellite may be determined first, and different cloud task scheduling strategies may be adopted when the satellite switches between different regions.

[0028] In practical applications, steps 101 to 102 may be implemented based on a processor, and the processor may be at least one of an application specific integrated circuit (ASIC), a digital signal processor (DSP), a digital signal processing device (DSPD), a programmable logic device (PLD), a field programmable gate array (FPGA), a CPU, a controller, a microcontroller, and a microprocessor.

[0029] It can be seen that in the embodiment of the present application, when the operating state of the satellite switches from the illuminated area operating state to the shadowed area operating state, the satellite's power consumption can be reduced by aggregating cloud tasks to some servers and shutting down servers that are not running cloud tasks, thereby achieving energy conservation goals. When the operating state of the satellite switches from the shadowed area operating state to the illuminated area operating state, the task throughput of the satellite's servers can be improved by dispersing cloud tasks and turning on all servers.

[0030] Furthermore, the embodiments of the present application can schedule cloud tasks in a timely manner when the operating status of the satellite switches, thereby ensuring the normal execution of cloud tasks on the basis of low latency, avoiding the loss or delay of cloud tasks, and effectively reducing the battery loss caused by satellite status switching.

[0031] In the embodiment of the present application, in order to realize the aggregation and dispersion of cloud tasks in the satellite, it is necessary to first determine the active server list SVRA of the satellite, SVRA={svra1,…,svra i ,…,svra N1}, where svra i , represents the i-th active server of the satellite. The active server represents the server that is running the cloud task. N1 is the number of active servers in the satellite. After determining the active server list SVRA of the satellite, the resource sequence SVRRES of the satellite active server at the current moment can be obtained. SVRRES={svrRES1,…, svrRES i ,…,svrRES Q}, where svrRES i svrRES is the resource sequence of the i-th active server in the satellite, and Q is the number of active servers in the satellite. i ={ svrRES i,1 ,…, svrRES i,j,…,svrRES i,K}, svrRES i,j is the occupancy of the jth resource of the i-th active server of the satellite, and K is the number of resources of the satellite server. By traversing the resource sequence SVRRES of the satellite active server at the current moment, the average resource utilization svrAvg of the satellite i-th active server at the current moment can be calculated i , and then the average resource utilization of each active server of the satellite at the current moment is combined into the average resource utilization set of the satellite active servers svrAvg. For example, the average resource utilization svrAvg of the satellite i-th active server at the current moment can be calculated according to formula (1): i .

[0032] (1) in, is the resource weight corresponding to the kth resource of the i-th active server of the satellite, It can be pre-set according to actual needs. Here, the average resource utilization svrAvg i The value can be greater than 1 or less than or equal to 1.

[0033] After determining the satellite's active servers, cloud tasks can be aggregated based on the current average resource utilization of the active servers. In some embodiments, the process of aggregating cloud tasks running on the satellite's servers onto a subset of servers can include: determining a number a of servers to be shut down; and migrating cloud tasks running on the a servers with the lowest average resource utilization among the satellite's active servers to the subset of servers, where the subset of servers are servers other than the a servers in the satellite's active servers.

[0034] It can be seen that after migrating the cloud tasks running on servers with lower average resource utilization, the servers that are not running cloud tasks can be shut down. This is beneficial for reducing the power consumption of the satellite while improving the resource utilization of the satellite's active servers.

[0035] To accurately determine the number a of servers that need to be shut down, the number a of servers that need to be shut down can be determined based on the number of cloud tasks running in the satellite's servers and the number of satellite servers. In some embodiments, the number a of servers that need to be shut down is negatively correlated with the number of cloud tasks running in the satellite's servers and positively correlated with the number of satellite servers.

[0036] For example, a preset satellite cloud mission benchmark number CLOULET can be obtained, and then the number a of servers that need to be shut down can be calculated according to formula (2).

[0037] (2) Where M represents the number of cloud tasks running in all servers of Satellite.

[0038] It can be understood that the more cloud tasks running in the satellite's servers, the fewer servers need to be shut down to meet the operating requirements of the cloud tasks. The more servers deployed in the satellite, the more cloud tasks can be met by shutting down more servers. Therefore, the embodiment of the present application can determine the number of servers that need to be shut down more reasonably and accurately based on the number of cloud tasks running in the satellite's servers and the number of satellite servers.

[0039] In an embodiment of the present application, before migrating the cloud tasks run by the a servers with the lowest average resource utilization to the said partial servers, the a servers with the lowest average resource utilization can also be deleted from the list of active servers of the satellite to obtain an updated list of active servers.

[0040] Exemplarily, the satellite's active server list SVRA and the satellite active server average resource utilization set svrAvg can be traversed a times. Each time the active server list SVRA and the satellite active server average resource utilization set svrAvg are traversed, the initial value of the temporary server variable tmpSvr and the initial value of the temporary average resource utilization variable tmpRes can be obtained first. The initial value of the temporary server variable tmpSvr and the initial value of the temporary average resource utilization variable tmpRes can be preset according to actual needs. For example, the initial value of the temporary server variable tmpSvr is empty, and the initial value of the temporary average resource utilization variable tmpRes is 1 or other values. Each time the active server list SVRA and the satellite active server average resource utilization set svrAvg are traversed, the relationship between the average resource utilization variable tmpRes and the average resource utilization of each active server at the current moment can be judged. According to the size relationship, the temporary server variable tmpSvr and the temporary average resource utilization variable tmpRes are reassigned. When tmpRes>svrAvg i When tmpRes=svrAvg i ,tmpSvr=svra iAfter each iteration of the satellite's active server list SVRA and the satellite's active server average resource utilization set svrAvg, tmpSvr is deleted from the satellite's active server list SVRA, tmpRes is deleted from the satellite's active server average resource utilization set svrAvg, and the next iteration is performed. Thus, after performing a iteration of the satellite's active server list SVRA and the satellite's active server average resource utilization set svrAvg, the a servers with the lowest average resource utilization can be deleted from the satellite's active server list.

[0041] In an embodiment of the present application, cloud task migration can be implemented based on the migration compatibility between cloud tasks and active servers. In some embodiments, the process of migrating cloud tasks running on a servers with the lowest average resource utilization to the said part of servers includes: For the first cloud task in the first cloud task list of the satellite, determine the migration adaptability with each active server in the updated list of active servers. The first cloud task list includes cloud tasks run by a servers with the lowest average resource utilization. The first cloud task is any cloud task in the first cloud task list.

[0042] The first cloud task is migrated to a first target active server, where the first target active server is: an active server corresponding to the greatest migration adaptability among the migration adaptability between the first cloud task and each active server.

[0043] For example, the first cloud task list can be a list consisting of cloud tasks run by a servers with the lowest average resource utilization, or a list consisting of cloud tasks run by a servers with the lowest average resource utilization and other cloud tasks on the satellite. For example, the first cloud task list can be a list CLT of all cloud tasks on the satellite, where CLT={clt1,…,clt i ,…,clt M}, where clt i represents the i-th cloud mission running on the satellite.

[0044] In the embodiment of the present application, the migration compatibility between a cloud task and an active server can indicate the likelihood of migrating the cloud task to the corresponding active service. It can be seen that the embodiment of the present application can select the maximum migration compatibility among the migration compatibility between the first cloud task and each of the active servers, and then migrate the first cloud task to the first target active server corresponding to the maximum migration compatibility. In this way, the first cloud task can be reasonably migrated to a more suitable active server.

[0045] In order to accurately determine the migration adaptability of the first cloud task and the first active server, in some embodiments, the number of collisions between the first cloud task and the first active server and / or the resource matching degree between the first cloud task and the first active server for the same resource can be first determined, and then the migration adaptability of the first cloud task and the first active server can be determined based on the number of collisions between the first cloud task and the first active server and / or the resource matching degree between the first cloud task and the first active server for the same resource.

[0046] Among them, the first active server is any active server among all the active servers, the number of collisions is determined based on the sum of the occupancy of the same resource by the first cloud task and the first active server at historical moments, the resource matching degree is the normalized proportional matching index of the cloud task and the active server, and the resource matching degree is determined based on the occupancy of the same resource by the first cloud task at the current moment and the first remaining occupancy.

[0047] For example, when the current time is t, the historical time period is the time period from tT to t, T is a set value, and the historical time is any time in the historical time period. In order to determine the number of collisions and the resource matching degree, it is necessary to obtain the resource sequence CRES of the cloud task and the resource sequence RES of the active server in advance, CRES={cres1,…,cres i ,…,cres M}, where cres i is the resource sequence of the ith cloud mission running on the satellite, cres i ={cres i,1 ,…,cres i,j ,…,cres i,K},cres i,j is the jth resource sequence of the i-th cloud mission running on the satellite. i,j ={cres i,j,t-T ,…,cres i,j,t},cres i,j,t-T is the amount of resource j occupied by the i-th cloud task running on the satellite at time tT, cres i,j,t RES={res1,..,res i ,…,res N2},res i is the resource sequence of the i-th active server in the updated active server list, and N2 is the number of active servers in the updated active server list. i ={res i,1 ,…,res i,j,…,res i,K},res i,j is the jth resource sequence of the i-th active server in the updated active server list; res i,j ={res i,j,t-T ,…,res i,j,t},res i,j,t-T is the amount of resource j occupied by the i-th active server in the list of active servers updated at time tT, cres i,j,t is the amount of resource j occupied by the i-th active server in the list of active servers updated at the current moment.

[0048] For example, the first cloud task is the pth cloud task clt in the CLT p When the first cloud task occupies the kth resource at time L, it is cres p,k,L The value of p ranges from 1 to M, the value of k ranges from 1 to K, and the value of L ranges from tT to T. When the first active server is the qth active server in the updated active server list, the first active server's occupation of the kth resource at time L is res q , k , L The value of q ranges from 1 to N2. According to the occupation of the kth resource by the first cloud task at time L, cres p,k,L , and the first active server's occupancy of the kth resource at time L res q , k , L , the number of collisions CLS[q][k] between the first cloud task and the first active server can be determined.

[0049] When the first cloud task is the p-th cloud task cltp in the CLT, the current occupation of the k-th resource by the first cloud task is cres p,k,t When the first active server is the qth active server in the updated active server list, the first remaining occupancy corresponding to the kth resource in the first active server at the current moment is cap k -res q,k,t According to the current moment, the first cloud task occupies the kth resource cres p,k,t and the first remaining occupancy cap corresponding to the kth resource in the first active server at the current moment k -res q,k,t , the resource matching degree MACH[q][k] between the first cloud task and the first active server for the k-th resource can be determined.

[0050] Exemplarily, when the sum of the occupancy of the same resource by the first cloud task and the first active server at a historical moment is greater than the preset resource capacity, the number of collisions is a first collision number value; when the sum of the occupancy of the same resource by the first cloud task and the first active server at a historical moment is less than or equal to the preset resource capacity, the number of collisions is a second collision number value, and the first collision number value is greater than the second collision number value.

[0051] The first collision number value and the second collision number value can be set according to actual needs. For example, the second collision number value can be first determined, and then the second collision number value is increased by 1 or other positive numbers to obtain the first collision number value. For example, the first collision number value is 1 and the second collision number value is 0.

[0052] The preset resource capacity can be determined according to actual needs. In one implementation, when the number of collisions between the first cloud task and the first active server is CLS[q][k], the preset resource capacity can be determined according to the resource capacity cap of the kth resource of the server. k Determine, for example, the preset resource capacity is cap k Collision threshold thr with the preset resource cls It can be seen that when the first cloud task is determined, the corresponding number of collisions can be calculated for each resource of the server and each active server in the updated list of active servers. Therefore, all the calculated collision numbers can be combined into a collision matrix CLS. The collision matrix CLS is a matrix of size K*N2. The element corresponding to the k-th resource and the q-th active server in the collision matrix CLS is CLS[q][k]. CLS[q][k] can be calculated according to formula (3).

[0053] (3) Here, b is a set second collision number value, for example, the value of b is 0.

[0054] In practical applications, res can be obtained by traversing the satellite's list of all cloud tasks CLT, the satellite's active server list SVRA, the active server's resource sequence RES, and the resource sequence of each cloud task. q , k , L 、cres p,k,L and cap k And other data, so as to realize the construction of collision matrix CLS.

[0055] Exemplarily, the resource matching degree is negatively correlated with the occupation of the same resource by the first cloud task at the current moment, and is positively correlated with the first remaining occupation at the current moment.

[0056] It can be seen that when the first cloud task is determined, the corresponding resource matching degree can be calculated for each resource of the server and each active server in the updated list of active servers. Therefore, all the calculated resource matching degrees can be combined into a matching matrix MACH. The matching matrix MACH is a matrix of size K*N2. The element corresponding to the k-th resource and the q-th active server in the matching matrix MACH is MACH[q][k]. For example, MACH[q][k] can be calculated according to formula (4).

[0057] (4) In practical applications, res can be obtained by traversing the satellite's list of all cloud tasks CLT, the satellite's active server list SVRA, the active server's resource sequence RES, and the resource sequence of each cloud task. q , k , t 、cres p,k,t and cap k And other data, so as to realize the construction of matching matrix MACH.

[0058] It can be seen that the embodiment of the present application can determine the migration adaptability of the first cloud task and the first active server based on the number of collisions between the first cloud task and the first active server, and / or the resource matching degree of the first cloud task and the first active server for the same resource; and the number of collisions is determined based on the sum of the occupancy of the first cloud task and the first active server for the same resource at historical moments, and the resource matching degree is determined based on the occupancy of the first cloud task for the same resource at the current moment and the first remaining occupancy. Therefore, the embodiment of the present application can more accurately determine the migration adaptability of the first cloud task and the first active server based on comprehensive consideration of the sum of the occupancy of the first cloud task and the first active server for the same resource at historical moments, the occupancy of the first cloud task for the same resource at the current moment, and the first remaining occupancy.

[0059] In an embodiment of the present application, before distributing the cloud tasks running in some servers to the various servers of the satellite, servers that are not in the list of active servers of the satellite can be added to the list of active servers to obtain an updated list of active servers.

[0060] For example, the server list SVR in the satellite can be traversed, and when the i-th server svr in the server list SVR i When not in the satellite's active server list SVRA, the i-th server svr in the server list SVR iInsert the server into the satellite's active server list SVRA to obtain an updated list of active servers, and then start the server inserted into the satellite's active server list.

[0061] In an embodiment of the present application, migration of cloud tasks running on some of the servers can be achieved based on the migration compatibility between cloud tasks and active servers. In some embodiments, the process of migrating cloud tasks running on a servers with the lowest average resource utilization to some of the servers includes: For the second cloud task in the second cloud task list of the satellite, determine the migration adaptability with each active server in the updated list of active servers. The second cloud task list includes all cloud tasks of the satellite. The second cloud task is any cloud task in the second cloud task list. Migrate the second cloud task to the second target active server. The second target active server is: the active server corresponding to the maximum migration adaptability among the migration adaptability between the second cloud task and each active server.

[0062] For example, the second cloud mission list may be a list CLT of all cloud missions of the satellite, CLT={clt1,…,clt i ,…,clt M}, where clt i represents the i-th cloud mission running on the satellite.

[0063] It can be seen that the embodiment of the present application can select the maximum migration adaptability among the migration adaptability of the second cloud task and each active server, and then migrate the second cloud task to the second target active server corresponding to the maximum migration adaptability. In this way, the second cloud task can be reasonably migrated to a more suitable active server.

[0064] In order to accurately determine the migration adaptability of the second cloud task and the second active server, in some embodiments, the number of collisions between the second cloud task and the second active server and / or the resource matching degree between the second cloud task and the second active server for the same resource can be first determined. Then, based on the number of collisions between the second cloud task and the second active server and / or the resource matching degree between the second cloud task and the second active server for the same resource, the migration adaptability of the second cloud task and the second active server can be determined.

[0065] Among them, the second active server is any active server among all the active servers, the number of collisions is determined based on the sum of the occupancy of the same resource by the second cloud task and the second active server at historical moments, and the resource matching degree is determined based on the occupancy of the same resource by the second cloud task at the current moment and the second remaining occupancy.

[0066] For example, when the current moment is t, the historical time period is the time period from tT to t, T is a set value, and the historical moment is any moment in the historical time period. In order to determine the number of collisions and the resource matching degree, it is necessary to obtain the resource sequence CRES of the cloud task and the resource sequence RES of the active server in advance. When the second cloud task is the pth cloud task clt in CLT p When the second cloud task occupies the kth resource at time L, it is cres p,k,L The value of p ranges from 1 to M, the value of k ranges from 1 to K, and the value of L ranges from tT to T. When the second active server is the qth active server in the updated active server list, the amount of the kth resource occupied by the second active server at time L is res q , k , L The value of q ranges from 1 to N2. According to the occupation of the kth resource by the second cloud task at time L, cres p,k,L , and the occupancy of the kth resource by the second active server at time L res q , k , L The number of collisions CLS[q][k] between the second cloud task and the second active server may be determined.

[0067] When the second cloud task is the p-th cloud task cltp in the CLT, the current occupation of the k-th resource by the second cloud task is cres p,k,t When the second active server is the qth active server in the updated active server list, the second remaining occupancy corresponding to the kth resource at the current moment is cap k -res q,k,t According to the current moment the occupation of the kth resource of the second cloud task cres p,k,t and the second remaining occupancy cap corresponding to the kth resource at the current moment k -res q,k,t , the resource matching degree MACH[q][k] between the second cloud task and the second active server for the k-th resource can be determined.

[0068] Exemplarily, when the sum of the occupancy of the same resource by the second cloud task and the second active server at a historical moment is greater than the preset resource capacity, the number of collisions is a third collision number value; when the sum of the occupancy of the same resource by the second cloud task and the second active server at a historical moment is less than or equal to the preset resource capacity, the number of collisions is a fourth collision number value.

[0069] The third collision number value and the fourth collision number value can be set according to actual needs. For example, the third collision number value can be first determined, and then the third collision number value is increased by 1 or another positive number to obtain the fourth collision number value. For example, the third collision number value is 1, and the fourth collision number value is 0. In one implementation, the third collision number value can be the same as the first collision number value, and the fourth collision number value can be the same as the second collision number value. In another implementation, the third collision number value can be set to a value different from the first collision number value, and the fourth collision number value can be set to a value different from the second collision number value.

[0070] In one implementation, when the number of collisions between the second cloud task and the second active server is CLS[q][k], the preset resource capacity can be calculated based on the resource capacity cap of the kth resource of the server. k Determine, for example, the preset resource capacity is cap k Collision threshold thr with the preset resource cls It can be seen that when the second cloud task is determined, the corresponding number of collisions can be calculated for each resource of the server and each active server in the updated list of active servers, so that all the calculated collision numbers can be combined into a collision matrix CLS.

[0071] Exemplarily, the resource matching degree is negatively correlated with the occupancy of the same resource of the second cloud task at the current moment, and is positively correlated with the second remaining occupancy at the current moment.

[0072] It can be seen that when the second cloud task is determined, the corresponding resource matching degree can be calculated for each resource of the server and each active server in the updated list of active servers, so that all the calculated resource matching degrees can be combined into a matching matrix MACH.

[0073] It can be seen that the embodiment of the present application can determine the migration adaptability of the second cloud task and the second active server based on the number of collisions between the second cloud task and the second active server, and / or the resource matching degree of the second cloud task and the second active server for the same resource; and the number of collisions is determined based on the sum of the occupancy of the same resource by the second cloud task and the second active server at historical moments, and the resource matching degree is determined based on the occupancy of the same resource by the second cloud task at the current moment and the second remaining occupancy. Therefore, the embodiment of the present application can more accurately determine the migration adaptability of the second cloud task and the second active server based on comprehensive consideration of the sum of the occupancy of the same resource by the second cloud task and the first active server at historical moments, the occupancy of the same resource by the second cloud task at the current moment, and the second remaining occupancy.

[0074] In some other embodiments, other methods can be used to determine the migration adaptability. For example, the migration adaptability of the cloud task and the active server can be determined based on the number of collisions between the cloud task and all the servers of the satellite. Alternatively, the occupancy of the k-th resource of the cloud task at the current moment can be replaced with the average occupancy of the k-th resource of the cloud task in the historical time period, and the remaining occupancy corresponding to the k-th resource at the current moment can be replaced with the average occupancy of the active server and the k-th resource in the historical time period, thereby determining the resource matching degree of the cloud task and the active server for the k-th resource and the migration adaptability of the cloud task and the active server. It should be noted that the method for determining the migration adaptability proposed in the embodiment of the present application can also be other methods and is not limited to the content recorded above.

[0075] To more accurately calculate the migration compatibility between the p-th cloud task cltp and the q-th active server, in some embodiments, a transfer array TRANS can also be calculated. The transfer array TRANS is a vector of size N2*1. The migration compatibility between the p-th cloud task cltp and the q-th active server is calculated using the transfer array TRANS. For example, the q-th element TRANS[q] in the transfer array TRANS can be calculated by traversing the list CLT of all cloud tasks on the satellite and the resource sequence of the p-th cloud task using formula (5).

[0076] (5) Among them, s is the set transfer cost benchmark value.

[0077] For any cloud task, you can connect the cloud task to the qth active server svra q The migration fitness is recorded as the mapping edge weight W q This application transforms the mapping process between cloud tasks and active servers into the construction of a bipartite graph, calculates the mapping edge weights between cloud tasks and each active server, and selects the active server with the highest mapping edge weight to transfer the cloud task. It can be seen that in the embodiment of this application, for the migration of cloud tasks, it is proposed to consider the number of collisions between the active server and the cloud task's historical resources, as well as the resource matching degree between the active server and the cloud task's current resources, and construct a mapping scheme between cloud tasks and servers based on the bipartite graph.

[0078] For example, the initial value of the optimal mapping edge weight w is 0, and the initial value of the target server subscript DSTSVR is -1. Then, by traversing SVRA, CLS, MACH and TRANS, and using formulas (6) to (8) to calculate the mapping edge weight W q .

[0079] (6) (7) (8) in, is the weight of the number of collisions, is the weight of resource matching, and It is the preset initial value.

[0080] For the p-th cloud task cltp, after each traversal of SVRA to determine an active server, the corresponding mapping edge weight W is calculated. q , in the mapping edge weight W q Greater than W, let W=W q , DSTSVR=q.

[0081] After traversing all active servers in SVRA for the p-th cloud task cltp, the p-th cloud task cltp is migrated to the DSTSVR-th active server. Then, the resource sequence of the DSTSVR-th active server can be updated according to formula (9).

[0082] (9) in, is the updated occupancy of the k-th resource by the DSTSVR-th active server.

[0083] Figure 3 Another flow chart of the cloud task scheduling method according to an embodiment of the present application is shown in FIG. Figure 3 As shown, the process includes: Step 301: Obtain the operating status of the satellite.

[0084] Step 302: Determine whether the operating state of the satellite is switched. If not, repeat step 302; if yes, execute step 303.

[0085] Step 303 , determining whether the operating state of the satellite is switched from the illuminated area operating state to the shadow area operating state, if yes, executing step 304 , if not, executing step 305 .

[0086] Step 304 : Update the list of active servers of the satellite by deleting the active server, and then execute step 306 .

[0087] Step 305 : Insert the active server that is not in the SVRA into the SVRA, and then execute step 306 .

[0088] Step 306: traverse each cloud task in the cloud task list CLT, calculate the mapping edge weight corresponding to each active server, and determine the target active server according to the calculated mapping edge weight.

[0089] Step 307: After each traversal of a cloud task is completed, the cloud task is migrated to the corresponding target active server until all cloud tasks in the cloud task list CLT are traversed.

[0090] The implementation of steps 301 to 307 has been described in the aforementioned content and will not be repeated here.

[0091] Step 308: traverse the server list SVR in the satellite, and when the server in the SVR is not in SVRA, shut down the server. When the server in the SVR is in SVRA, continue to traverse the next server of the SVR until the server traversal of the server list SVR is completed.

[0092] After the server traversal of the server list SVR is completed, the process may return to step 301 .

[0093] The present application proposes a cloud task scheduling method. When a satellite's operating state switches from the illuminated zone to the shadowed zone, low-load servers can be removed from the active server list based on the average resource utilization of the active servers. When the satellite's operating state switches from the shadowed zone to the illuminated zone, all servers can be moved to the active server list to obtain an updated active server list. Next, for all cloud tasks, the target active server corresponding to the cloud task is calculated based on the number of collisions between the cloud task and the active server, the resource matching degree between the cloud task and the active server, and the server to which the cloud task belongs, and the cloud task is transferred to the target active server.

[0094] Compared with the heuristic method proposed in the related art, the embodiment of the present application fully considers multiple indicator dimensions and calculates the global optimal solution of the task scheduling scheme; compared with the meta-heuristic method proposed in the related art, the embodiment of the present application abandons a large number of randomization mechanisms and improves the cloud task scheduling efficiency based on the collision number index of active servers and cloud task historical resources, as well as the resource matching index of active servers and cloud task current resources; compared with the machine learning method proposed in the related art, the embodiment of the present application does not require a large amount of training data and hardware acceleration methods, and obtains the global optimal solution through low-order algebraic calculations, thereby improving the calculation speed.

[0095] Those skilled in the art will understand that in the above-mentioned method of the specific implementation method, the writing order of each step does not mean a strict execution order and does not constitute any limitation on the implementation process. The specific execution order of each step should be determined by its function and possible internal logic.

[0096] Figure 4 This is a schematic diagram of the structure of the cloud task scheduling device according to an embodiment of the present application. Figure 4 As shown, the device includes: The acquisition module 401 is used to acquire the operating state of the satellite, where the operating state of the satellite is an illuminated area operating state or a shadow area operating state.

[0097] The processing module 402 is used to aggregate the cloud tasks running in the servers of the satellite into some servers and shut down the servers that are not running cloud tasks when the operating state of the satellite switches from the operating state in the illuminated area to the operating state in the shadow area; when the operating state of the satellite switches from the operating state in the shadow area to the operating state in the illuminated area, turn on the shut down servers and disperse the cloud tasks running in the some servers to the various servers of the satellite.

[0098] In some embodiments, the processing module 402 aggregates the cloud tasks running in the satellite's servers in some servers, including: determining the number a of servers that need to be shut down; among the satellite's active servers, migrating the cloud tasks running on a servers with the lowest average resource utilization to the some servers, the some servers being the active servers of the satellite excluding the a servers, and the active servers representing the servers running cloud tasks.

[0099] In some embodiments, the number of servers that need to be shut down is negatively correlated with the number of cloud tasks running in the satellite's servers, and positively correlated with the number of servers deployed in the satellite.

[0100] In some embodiments, the processing module 402 is also used to delete the a servers with the lowest average resource utilization from the list of active servers of the satellite before migrating the cloud tasks running on the a servers with the lowest average resource utilization to the partial servers, so as to obtain an updated list of active servers.

[0101] The processing module 402 migrates the cloud tasks run by the a servers with the lowest average resource utilization to the partial servers, including: for the first cloud task in the first cloud task list of the satellite, determining the migration adaptability with each active server in the updated list of active servers, and migrating the first cloud task to the first target active server; the first cloud task list includes the cloud tasks run by the a servers with the lowest average resource utilization, and the first cloud task is any cloud task in the first cloud task list; the first target active server is: the active server corresponding to the largest migration adaptability among the migration adaptability between the first cloud task and each active server.

[0102] In some embodiments, the processing module 402 determines, for the first cloud task in the first cloud task list of the satellite, the migration compatibility with each active server in the updated active server list, including: The migration adaptability of the first cloud task and the first active server is determined based on the number of collisions between the first cloud task and the first active server, and / or the resource matching degree between the first cloud task and the first active server for the same resource; wherein, the first active server is any one of the active servers, the number of collisions is determined based on the sum of the occupancy of the same resource by the first cloud task and the first active server at historical moments, and the resource matching degree is determined based on the occupancy of the same resource by the first cloud task at a current moment and a first remaining occupancy, wherein the first remaining occupancy is the remaining resource capacity of the first active server for the same resource that is not occupied by the first active server.

[0103] In some embodiments, when the sum of the occupation of the same resource by the first cloud task and the first active server at a historical moment is greater than the preset resource capacity, the number of collisions is a first collision number value; when the sum of the occupation of the same resource by the first cloud task and the first active server at a historical moment is less than or equal to the preset resource capacity in the first active server, the number of collisions is a second collision number value, and the first collision number value is greater than the second collision number value.

[0104] The resource matching degree is negatively correlated with the occupation of the same resource by the first cloud task at the current moment, and is positively correlated with the first remaining occupation at the current moment.

[0105] In some embodiments, the processing module 402 is also used to add servers that are not in the list of active servers of the satellite to the list of active servers before distributing the cloud tasks running in the part of the servers to the various servers of the satellite, so as to obtain an updated list of active servers; the active servers represent servers running cloud tasks.

[0106] The processing module 402 disperses the cloud tasks running in the part of the servers to the various servers of the satellite, including: determining the migration adaptability of the second cloud task in the second cloud task list of the satellite with each active server in the updated list of active servers, wherein the second cloud task list includes all the cloud tasks of the satellite, and the second cloud task is any cloud task in the second cloud task list.

[0107] Migrating the second cloud task to a second target active server, where the second target active server is: an active server corresponding to the maximum migration fitness between the second cloud task and the active servers.

[0108] In some embodiments, the processing module 402 determines the migration adaptability of the second cloud task in the second cloud task list of the satellite with each active server in the updated active server list, including: determining the migration adaptability of the second cloud task and the second active server based on the number of collisions between the second cloud task and the second active server, and / or the resource matching degree between the second cloud task and the second active server; wherein, the second active server is any one of the active servers, the number of collisions is determined based on the sum of the occupancy of the same resource by the second cloud task and the second active server in a historical time period, the resource matching degree is determined based on the occupancy of the same resource by the second cloud task and the second active server and the second remaining occupancy, and the second remaining occupancy is the remaining resource capacity of the same resource of the second active server that is not occupied by the second active server.

[0109] In some embodiments, when the sum of the occupancy of the same resource by the second cloud task and the second active server at a historical moment is greater than the preset resource capacity, the number of collisions is a third collision number value; when the sum of the occupancy of the same resource by the second cloud task and the second active server at a historical moment is less than or equal to the preset resource capacity in the second active server, the number of collisions is a fourth collision number value, and the third collision number value is greater than the fourth collision number value.

[0110] The resource matching degree is negatively correlated with the occupation of the same resource of the second cloud task at the current moment, and is positively correlated with the second remaining occupation at the current moment.

[0111] In practical applications, the acquisition module 401 and the processing module 402 can be implemented based on a processor.

[0112] It should be noted that the description of the above device embodiment is similar to the description of the above method embodiment and has similar beneficial effects as the method embodiment. For technical details not disclosed in the device embodiment of this application, please refer to the description of the method embodiment of this application for understanding.

[0113] It should be noted that in the embodiments of the present application, if the above-mentioned method is implemented in the form of a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiments of the present application, or the part that contributes to the existing technology, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for enabling a computer device (which can be a terminal, server, etc.) to execute all or part of the methods described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program code, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a magnetic disk, or an optical disk. In this way, the embodiments of the present application are not limited to any specific combination of hardware and software.

[0114] Correspondingly, an embodiment of the present application further provides a computer program product, which includes computer-executable instructions, and the computer-executable instructions are used to implement any cloud task scheduling method provided in the embodiment of the present application.

[0115] Accordingly, an embodiment of the present application further provides a computer storage medium, on which computer executable instructions are stored, and the computer executable instructions are used to implement any one of the cloud task scheduling methods provided in the above embodiments.

[0116] An embodiment of the present application also provides an electronic device. Figure 5 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application is shown in FIG. Figure 5 As shown, the electronic device 50 may include: Memory 501, used to store executable instructions; The processor 502 is configured to implement any of the above-mentioned cloud task scheduling methods when executing the executable instructions stored in the memory 501.

[0117] The processor 502 may be at least one of an ASIC, a DSP, a DSPD, a PLD, an FPGA, a CPU, a controller, a microcontroller, and a microprocessor.

[0118] The computer-readable storage medium and memory 501 may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic random access memory (FRAM), a flash memory, a magnetic surface mount storage device, an optical disc, or a compact disc read-only memory (CD-ROM); or various terminals including one or any combination of the above memories, such as a mobile phone, a computer, a tablet device, a personal digital assistant, etc.

[0119] In some embodiments, the functions or modules included in the device provided in the embodiments of the present application can be used to execute the method described in the above method embodiments. The specific implementation can refer to the description of the above method embodiments. For the sake of brevity, it will not be repeated here.

[0120] The above description of the various embodiments tends to emphasize the differences between the various embodiments. The same or similar aspects can be referenced with each other and will not be repeated herein for the sake of brevity.

[0121] The methods disclosed in the various method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.

[0122] The features disclosed in the various product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.

[0123] The features disclosed in the various method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments or device embodiments.

[0124] Through the description of the above embodiments, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus the necessary general hardware platform. Of course, they can also be implemented by hardware, but in many cases the former is a more preferred embodiment. Based on this understanding, the technical solution of this application, or the part that contributes to the existing technology, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for enabling a terminal (which can be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in each embodiment of this application.

[0125] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of this application, ordinary technicians in this field can also make many forms without departing from the purpose of this application, all of which are protected by this application.

Claims

1. A cloud task scheduling method, characterized in that: The method comprises: Acquiring an operating state of a satellite, where the operating state of the satellite is an illuminated area operating state or a shadow area operating state; When the operating state of the satellite is switched from the operating state in the illuminated area to the operating state in the shadow area, the cloud tasks running in the servers of the satellite are aggregated in some servers, and the servers that are not running cloud tasks are shut down; when the operating state of the satellite is switched from the operating state in the shadow area to the operating state in the illuminated area, the shut down servers are turned on, and the cloud tasks running in some servers are dispersed to the various servers of the satellite.

2. The cloud task scheduling method according to claim 1, characterized in that: The aggregating the cloud tasks running in the satellite servers into some servers includes: Determine the number of servers that need to be shut down a; Among the active servers of the satellite, the cloud tasks running on a servers with the lowest average resource utilization are migrated to the partial servers, where the partial servers are the servers other than the a servers among the active servers of the satellite, and the active servers represent the servers running cloud tasks.

3. The cloud task scheduling method according to claim 2, characterized in that: The number of servers that need to be shut down is negatively correlated with the number of cloud tasks running in the satellite's servers, and positively correlated with the number of servers deployed in the satellite.

4. The cloud task scheduling method according to claim 2, characterized in that: Before migrating the cloud tasks running on the a servers with the lowest average resource utilization to the partial servers, the method further includes: Deleting the a servers with the lowest average resource utilization from the list of active servers of the satellite to obtain an updated list of active servers; Migrating the cloud tasks running on the a servers with the lowest average resource utilization to the partial servers includes: determining, for a first cloud task in a first cloud task list of the satellite, a migration compatibility with each active server in the updated list of active servers, the first cloud task list including cloud tasks run by a servers having the lowest average resource utilization, the first cloud task being any cloud task in the first cloud task list; The first cloud task is migrated to a first target active server, where the first target active server is: an active server corresponding to the greatest migration fitness between the first cloud task and the active servers.

5. The cloud task scheduling method according to claim 4, characterized in that: Determining the migration compatibility of the first cloud task in the first cloud task list for the satellite with each active server in the updated active server list includes: The migration adaptability of the first cloud task and the first active server is determined based on the number of collisions between the first cloud task and the first active server, and / or the resource matching degree between the first cloud task and the first active server for the same resource; wherein, the first active server is any one of the active servers, the number of collisions is determined based on the sum of the occupancy of the same resource by the first cloud task and the first active server at historical moments, and the resource matching degree is determined based on the occupancy of the same resource by the first cloud task at a current moment and a first remaining occupancy, wherein the first remaining occupancy is the remaining resource capacity of the first active server for the same resource that is not occupied by the first active server.

6. The cloud task scheduling method according to claim 5, characterized in that: When the sum of the occupation of the same resource by the first cloud task and the first active server at a historical moment is greater than a preset resource capacity, the number of collisions is a first collision number value; when the sum of the occupation of the same resource by the first cloud task and the first active server at a historical moment is less than or equal to the preset resource capacity, the number of collisions is a second collision number value, and the first collision number value is greater than the second collision number value; The resource matching degree is negatively correlated with the occupation of the same resource by the first cloud task at the current moment, and is positively correlated with the first remaining occupation at the current moment.

7. The cloud task scheduling method according to claim 1, characterized in that: Before distributing the cloud tasks running in the part of the servers to the respective servers of the satellite, the method further includes: adding servers that are not in the list of active servers of the satellite to the list of active servers to obtain an updated list of active servers; the active servers represent servers running cloud tasks; The distributing of the cloud tasks running in the part of the servers to the respective servers of the satellite includes: Determining, for a second cloud task in a second cloud task list of the satellite, a migration compatibility with each active server in the updated list of active servers, wherein the second cloud task list includes all cloud tasks of the satellite, and the second cloud task is any one cloud task in the second cloud task list; Migrating the second cloud task to a second target active server, where the second target active server is: an active server corresponding to the maximum migration fitness between the second cloud task and the active servers.

8. The cloud task scheduling method according to claim 7, characterized in that: Determining the migration compatibility of the second cloud task in the second cloud task list for the satellite with each active server in the updated active server list includes: The migration adaptability of the second cloud task and the second active server is determined based on the number of collisions between the second cloud task and the second active server, and / or the resource matching degree between the second cloud task and the second active server; wherein the second active server is any one of the active servers, the number of collisions is determined based on the sum of the occupancy of the same resource by the second cloud task and the second active server in a historical time period, the resource matching degree is determined based on the occupancy of the same resource by the second cloud task and a second remaining occupancy, and the second remaining occupancy is the remaining resource capacity of the same resource of the second active server that is not occupied by the second active server.

9. The cloud task scheduling method according to claim 8, characterized in that: When the sum of the amount of the same resource occupied by the second cloud task and the second active server at a historical moment is greater than a preset resource capacity, the number of collisions is a third collision number value; when the sum of the amount of the same resource occupied by the second cloud task and the second active server at a historical moment is less than or equal to the preset resource capacity of the second active server, the number of collisions is a fourth collision number value, and the third collision number value is greater than the fourth collision number value; The resource matching degree is negatively correlated with the occupation of the same resource of the second cloud task at the current moment, and is positively correlated with the second remaining occupation at the current moment.

10. A cloud task scheduling device, characterized in that: The device comprises: An acquisition module is used to acquire the operating state of the satellite, where the operating state of the satellite is an illuminated area operating state or a shadow area operating state; A processing module is used to aggregate the cloud tasks running in the satellite's servers in some servers and shut down the servers that are not running cloud tasks when the satellite's operating state is switched from the illuminated area operating state to the shadow area operating state; and to turn on the shut down servers and disperse the cloud tasks running in some servers to the various servers of the satellite when the satellite's operating state is switched from the shadow area operating state to the illuminated area operating state.

11. An electronic device, characterized in that: The electronic device comprises a processor and a memory for storing a computer program that can be run on the processor; wherein, The processor is used to run the computer program to execute the cloud task scheduling method according to any one of claims 1 to 9.

12. A computer storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the cloud task scheduling method according to any one of claims 1 to 9 is implemented.

13. A computer program product comprising a computer program, characterized in that When executed by a processor, the computer program implements the cloud task scheduling method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Automatic startup and shutdown method for shadow area load of minisatellite sunshine area

    CN111831343A

  • Satellite edge computing task scheduling method and system based on illumination perception, electronic equipment and readable storage medium

    CN118409835A

  • Scheduling method and system for inter-satellite communication service of low-orbit satellites, medium and terminal

    CN120415535A

  • Task delegation in a satellite network

    US20220149931A1