Cloud task scheduling method, device, equipment, storage medium and program product
By scheduling cloud tasks during satellite state transitions, the issues of mission throughput and energy saving in both illuminated and shadowed areas were resolved, achieving low-latency mission execution and reduced battery consumption during state transitions.
Patent Information
- Application Number
- CN202511166575.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-20
- Publication Date
- 2025-11-04
- Estimated Expiration
- 2045-08-20
AI Technical Summary
In scenarios where satellite servers run cloud missions, the relevant technologies have not provided a reasonable solution on how to improve mission throughput in illuminated areas and achieve energy saving in shaded areas.
By aggregating cloud tasks onto some servers and shutting down servers that are not running tasks when the satellite's operational status changes from a lit area to a shadow area, and conversely, turning on the shut-down servers and distributing cloud tasks when changing from a shadow area to a lit area, cloud task scheduling can be achieved.
During satellite status transitions, power consumption is reduced to achieve energy-saving goals, and cloud tasks are ensured to run normally during status transitions to avoid task loss or delay and reduce battery consumption.
Smart Images

Figure CN120670123B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of cloud computing, and relates to a cloud task scheduling method, device, equipment, storage medium and program product. BACKGROUND
[0002] Satellites periodically orbit the earth, and as the position changes, the satellite will switch between the sunlit area and the shadow area. When in the sunlit area, the satellite performs photoelectric conversion through the solar cell array to obtain sufficient energy, and at the same time, stores the excess energy by means of the battery. At this time, the server of the satellite has the ability to complete more tasks. When in the shadow area, the satellite lacks a direct energy source and relies on the battery for power supply. At this time, the server of the satellite has energy saving needs. Therefore, in the scenario of running cloud tasks on the server of the satellite, how to improve the task throughput in the sunlit area and how to achieve energy saving in the shadow area, the related technology has not given a reasonable solution. SUMMARY
[0003] The application embodiment provides a cloud task scheduling method, device, equipment, storage medium and program product.
[0004] The application embodiment provides a cloud task scheduling method, which comprises the following steps:
[0005] obtaining the running state of a satellite, wherein the running state of the satellite is a sunlit area running state or a shadow area running state;
[0006] when the running state of the satellite switches from the sunlit area running state to the shadow area running state, aggregating the cloud tasks running in the server of the satellite in part of the servers and closing the servers not running the cloud tasks; and when the running state of the satellite switches from the shadow area running state to the sunlit area running state, starting the closed servers and dispersing the cloud tasks running in the part of the servers to each server of the satellite.
[0007] The application embodiment further provides a cloud task scheduling device, which comprises the following modules:
[0008] an obtaining module, configured to obtain the running state of a satellite, wherein the running state of the satellite is a sunlit area running state or a shadow area running state;
[0009] a processing module, configured to, when the running state of the satellite switches from the sunlit area running state to the shadow area running state, aggregate the cloud tasks running in the server of the satellite in part of the servers and close the servers not running the cloud tasks; and when the running state of the satellite switches from the shadow area running state to the sunlit area running state, start the closed servers and disperse the cloud tasks running in the part of the servers to each server of the satellite.
[0010] The embodiment of the present application further provides an electronic device, which comprises a processor and a memory for storing a computer program capable of running on the processor; wherein the processor is used for running the computer program to execute any one of the cloud task scheduling methods.
[0011] The embodiment of the present application further provides a computer storage medium, which stores a computer program, and the computer program is executed by a processor to implement any one of the cloud task scheduling methods.
[0012] The embodiment of the present application further provides a computer program product, which comprises a computer program, and the computer program is executed by a processor to implement any one of the cloud task scheduling methods.
[0013] It can be seen that, in the embodiment of the present application, when the running state of the satellite is switched from the light area running state to the shadow area running state, the power consumption of the satellite can be reduced by aggregating the cloud tasks to part of the servers and closing the servers which do not run the cloud tasks, so as to achieve the energy saving goal. When the running state of the satellite is switched from the shadow area running state to the light area running state, the task throughput of the servers of the satellite can be improved by dispersing the cloud tasks and starting all the servers. BRIEF DESCRIPTION OF DRAWINGS
[0014] Figure 1 A flow chart of the cloud task scheduling method of the embodiment of the present application;
[0015] Figure 2 A position diagram of the light area and the shadow area in the embodiment of the present application;
[0016] Figure 3 Another flow chart of the cloud task scheduling method of the embodiment of the present application;
[0017] Figure 4 A structure diagram of the cloud task scheduling device of the embodiment of the present application;
[0018] Figure 5 A component structure diagram of the electronic device provided by the embodiment of the present application. DETAILED DESCRIPTION
[0019] In the related art, the power supply system of satellites such as Medium Earth Orbit (MEO) satellites adopts solar energy-accumulative energy combined power supply. A solar cell array dynamically tracks the sun angle to realize photoelectric conversion power generation. The accumulative energy system mainly uses lithium ion batteries to realize energy storage and discharge. However, when the MEO satellite enters the shadow area, the satellite completely relies on battery power supply. When the Depth of Discharge (DoD) exceeds the design threshold, irreversible damage to the active material structure of the battery will be caused, and the cycle life will be reduced and the effective energy output will be reduced.
[0020] In the field of cloud computing, server consolidation is a classic and effective energy-saving scheme. The energy consumption of an idle server can reach about 70% of the power consumption of a full-load server. Integrating cloud tasks on low-load servers into other servers and shutting down such servers can improve the utilization of host resources and save overall energy consumption. The specific process includes: 1) Collecting real-time data such as CPU usage, memory usage, hard disk read / write speed, network traffic, and monitoring server power consumption. 2) According to the main resource utilization and the set threshold, determine the running state of the server as idle, low-load, normal, high-load, etc. The threshold setting includes static threshold and dynamic threshold. 3) For idle and low-load servers, evaluate the possibility of migrating cloud tasks, and select the destination server according to the appropriate algorithm. 4) Use pre-copy, post-copy, and hybrid copy migration techniques to transfer the carrier of the cloud task (usually a virtual machine or container) to the destination server. 5) Continue the execution of the cloud task on the destination server.
[0021] In the related art, the server consolidation method includes: 1) Heuristic method, based on experience rules to quickly obtain a feasible solution. 2) Metaheuristics, the core idea is to explore the solution space through swarm intelligence or physical bionic mechanism to approach the global optimum. 3) Machine Learning, the core idea is to learn decision-making strategies from historical data to realize prediction and adaptive optimization. When using heuristic methods, although the calculation efficiency is high, the global optimality is not pursued. Metaheuristic methods can achieve multi-objective optimization, but due to the introduction of a large number of randomization mechanisms, the efficiency is too low. Machine learning methods rely on a large amount of training data and require hardware acceleration, and the calculation speed is relatively low.
[0022] When deploying a multi-server cluster on a satellite, referring to the no-service integration solution adopted by a cloud data center, the servers on the satellite also use virtualization technology (KVM / Docker) to realize resource pooling, reduce dependence on physical devices, for example, the virtualization technology can be Kernel-based Virtual Machine (KVM), Docker, and the like. Referring to the no-service integration solution adopted by a cloud data center, the servers on the satellite can also use the energy storage system to buffer energy fluctuations and improve power supply continuity; the servers on the satellite can also achieve high availability through hardware redundancy or software redundancy. Therefore, the energy-saving model of server integration will help the MEO satellite to pass through the shadow area.
[0023] When deploying a multi-server cluster on a satellite, a new server integration solution needs to be proposed in combination with the running state of the satellite. Specifically, the satellite periodically orbits the earth, and as the position changes, the satellite switches between the sunlight area and the shadow area. In the sunlight area, the satellite performs photoelectric conversion through the solar cell array to obtain sufficient energy, and at the same time, stores excess energy by means of the battery. At this time, the servers of the satellite have the ability to complete more tasks; in the shadow area, the satellite lacks a direct energy source and relies on the battery for power supply. Due to the continuous discharge in the shadow area, the satellite battery has problems of reduced cycle life and decreased effective energy output. In order to improve the battery usage in the satellite shadow area, first of all, the energy consumption of the satellite in the shadow area should be reduced, thereby reducing the time of continuous discharge of the battery, and at the same time, the normal execution of cloud tasks should be ensured to avoid the loss or delay of cloud tasks. In summary, in the scenario of running cloud tasks on the servers of the satellite, how to improve the task throughput in the sunlight area, how to achieve energy saving in the shadow area, and how to reduce the damage to the battery caused by the switching of the running state of the satellite are technical problems that need to be solved.
[0024] In view of the technical problems existing in the related art, the technical solutions of the embodiments of the present application are proposed.
[0025] The embodiments of the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the embodiments provided herein are only used to explain the embodiments of the present application and not to limit the embodiments of the present application. In addition, the embodiments provided below are used to implement some embodiments of the present application, and the technical solutions described in the embodiments of the present application can be implemented in any combined manner without conflict.
[0026] It should be noted that in the embodiments of the present application, the terms "comprising", "containing" or any other variants thereof are intended to cover non-exclusive inclusion, so that a method or device including a series of elements not only includes the elements explicitly listed, but also includes other elements not explicitly listed or inherent to the method or device. Without more limitations, the element defined by the statement "comprising a" does not exclude the presence of other related elements (such as steps in the method or units in the device, for example, the unit can be part of the circuit, part of the processor, part of the program or software, etc.) in the method or device including the element.
[0027] The cloud task scheduling method provided by the embodiments of the present application includes a series of steps, but the cloud task scheduling method provided by the embodiments of the present application is not limited to the steps described. Similarly, the cloud task scheduling device provided by the embodiments of the present application includes a series of modules, but the device provided by the embodiments of the present application is not limited to including the modules explicitly described, and can also include modules required to be set when obtaining related information or processing based on information.
[0028] Figure 1 A flowchart of the cloud task scheduling method of the embodiments of the present application is shown in Figure 1 The flowchart includes the following steps:
[0029] Step 101: Obtain the running state of the satellite. The running state of the satellite is a light area running state or a shadow area running state.
[0030] In the embodiments of the present application, the satellite can be a MEO satellite or other satellites. Referring to Figure 2 When the satellite is in an area directly illuminated by sunlight, the running state of the satellite is a light area running state. When the satellite is not in an area directly illuminated by sunlight (i.e., the satellite is in an area blocked by the Earth), the running state of the satellite is a shadow area running state. In some embodiments, the running state of the satellite can be determined according to the size relationship between the sun elevation angle sea t and the shadow area elevation angle threshold thr sha At the current time, when the sun elevation angle sea t of the satellite is greater than or equal to the shadow area elevation angle threshold thr sha , the running state of the satellite is a light area running state; when the sun elevation angle sea t of the satellite is less than or equal to the shadow area elevation angle threshold thr sha , the running state of the satellite is a shadow area running state. It can be seen that as the sun elevation angle increases or decreases, the running state of the satellite can switch.
[0031] A plurality of server clusters can be deployed in the satellite. The number of servers deployed in the satellite can be denoted as N, N being an integer greater than 1. A list of servers in the satellite SVR = {svr1,..., svr i ,…,svr N} is recorded, where svr i represents the i-th server in the satellite. For any one server of the satellite, a list of server resource capacities CAP = {cap1,..., cap k ,…,cap K} can be recorded, where cap k represents the resource capacity of the k-th resource of the server, k taking a value from 1 to K, K being the number of resources of the server.
[0032] Step 102: When the running state of the satellite is switched from the light area running state to the shadow area running state, the cloud tasks running in the servers of the satellite are aggregated in part of the servers, and the servers not running the cloud tasks are turned off; when the running state of the satellite is switched from the shadow area running state to the light area running state, the turned-off servers are started, and the cloud tasks running in part of the servers are dispersed to each server of the satellite.
[0033] In the embodiment of the application, whether the running state of the satellite is switched can be determined according to the sun elevation angle sea t of the satellite at the current time and the sun elevation angle sea t-1 of the satellite at the previous time. When sea and sea , it is indicated that the running state of the satellite is not switched; when sea and sea , it is indicated that the running state of the satellite is not switched; when sea and sea , it is indicated that the running state of the satellite is switched from the light area running state to the shadow area running state; and when sea and sea , it is indicated that the running state of the satellite is switched from the shadow area running state to the light area running state.
[0034] If the running state of the satellite is not switched, step 102 can be repeatedly executed until the running state of the satellite is switched.
[0035] When the running state of the satellite is switched from the light area running state to the shadow area running state, all cloud tasks in at least one server can be migrated, so that the cloud tasks running in the servers of the satellite are aggregated in part of the servers. When the running state of the satellite is switched from the light area running state to the shadow area running state, part of the cloud tasks in at least one server can be migrated, so that the cloud tasks running in part of the servers are dispersed to each server of the satellite.
[0036] In some other embodiments, the running state of the satellite can not be distinguished, and a region of the satellite can be determined first, and different cloud task scheduling strategies can be adopted when the satellite switches between different regions.
[0037] In actual applications, steps 101 to 102 can be implemented based on a processor, and the processor can 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.
[0038] It can be seen that in the embodiments of the present application, when the running state of the satellite is switched from the light area running state to the shadow area running state, the cloud tasks can be aggregated to part of the servers and the servers not running the cloud tasks can be turned off to reduce the power consumption of the satellite, thereby achieving the energy saving goal. When the running state of the satellite is switched from the shadow area running state to the light area running state, the cloud tasks can be dispersed and all the servers can be turned on to improve the task throughput of the servers of the satellite.
[0039] Further, the embodiments of the present application can timely schedule the cloud tasks when the running state of the satellite is switched, so as to ensure the normal execution of the cloud tasks on the basis of low delay, avoid the loss or delay of the execution of the cloud tasks, and effectively reduce the loss of the battery caused by the state switching of the satellite.
[0040] In the embodiments of the present application, in order to aggregate and disperse the cloud tasks in the satellite, the active server list SVRA of the satellite needs to be determined first, SVRA={svra1,…,svra i ,…,svra N1}, wherein svra i represents the i th active server of the satellite, the active server represents a server running the cloud task, and N1 is the number of the active servers in the servers of the satellite. After the active server list SVRA of the satellite is determined, the resource sequence SVRRES of the active servers of the satellite at the current time can be obtained, SVRRES={svrRES1,…,svrRES i ,…,svrRES Q}, wherein svrRES i is the resource sequence of the i th active server of the satellite, and Q is the number of active servers in the satellite. svrRES i i,1 i,j i,K}, svrRES i,j is the occupancy of the j th resource of the i th active server of the satellite, and K is the number of resources of the server of the satellite. By traversing the resource sequence SVRRES of the active server of the satellite at the current time, the average resource utilization svrAvg i of the i th active server of the satellite at the current time can be calculated, and then the average resource utilization of each active server of the satellite at the current time is combined into the active server average resource utilization set svrAvg of the satellite. Exemplarily, the average resource utilization svrAvg i of the i th active server of the satellite at the current time can be calculated according to formula (1).
[0041] (1)
[0042] wherein, is the resource weight corresponding to the k th resource of the i th active server of the satellite, which can be set in advance according to actual needs. Here, the value of the average resource utilization svrAvg i may be greater than 1, or less than or equal to 1.
[0043] After determining the active servers of the satellite, the aggregation of cloud tasks can be realized according to the average resource utilization of the active servers at the current time. In some embodiments, the process of aggregating the cloud tasks running in the servers of the satellite in part of the servers can include: determining the number of servers to be closed a; migrating the cloud tasks running in the a servers with the lowest average resource utilization in the active servers of the satellite to the part of the servers, and the part of the servers are the servers in the active servers of the satellite except the a servers.
[0044] It can be seen that after migrating the cloud tasks running in the servers with lower average resource utilization, the servers not running cloud tasks can be closed, which is conducive to reducing the power consumption of the satellite while improving the resource utilization of the active servers of the satellite.
[0045] To accurately determine the number a of servers to be closed, the number a of servers to be closed can be determined according to the number of cloud tasks running in the servers of the satellite and the number of servers of the satellite. In some embodiments, the number a of servers to be closed is negatively correlated with the number of cloud tasks running in the servers of the satellite and positively correlated with the number of servers of the satellite.
[0046] Exemplarily, a preset satellite cloud task reference number CLOULET can be acquired, and then the number a of servers to be closed can be calculated according to formula (2).
[0047] (2)
[0048] Wherein, M represents the number of cloud tasks running in all servers of the satellite.
[0049] It can be understood that the more cloud tasks running in the servers of the satellite, the fewer servers that need to be closed to meet the running requirements of the cloud tasks, and the more servers deployed in the satellite, the more servers that can be closed to meet the running requirements of the cloud tasks, therefore, the embodiments of the present application can more reasonably and accurately determine the number of servers to be closed according to the number of cloud tasks running in the servers of the satellite and the number of servers of the satellite.
[0050] In the embodiments of the present application, before migrating the cloud tasks running in the a servers with the lowest average resource utilization to the part of 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.
[0051] Exemplarily, a can be traversed for the active server list SVRA of the satellite and the satellite active server average resource utilization set svrAvg, at each time of traversing the active server list SVRA and the satellite active server average resource utilization set svrAvg, 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 set in advance 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 numerical value; at each time of traversing the active server list SVRA and the satellite active server average resource utilization set svrAvg, the size relationship between the average resource utilization variable tmpRes and the average resource utilization of each active server at the current time can be judged, and the temporary server variable tmpSvr and the temporary average resource utilization variable tmpRes are revalued according to the size relationship, when tmpRes>svrAvg i , tmpRes=svrAvg i , tmpSvr=svra i , at the end of each time of traversing the active server list SVRA of the satellite and the satellite active server average resource utilization set svrAvg, the tmpSvr in the active server list SVRA of the satellite is deleted, and the tmpRes in the satellite active server average resource utilization set svrAvg is deleted, and then the next traversal is performed. In this way, after a times of traversing the active server list SVRA of the satellite and the satellite active server average resource utilization set svrAvg, the a servers with the lowest average resource utilization in the active server list of the satellite can be deleted.
[0052] In the embodiments of the application, the migration of the cloud task can be realized according to the migration adaptation degree of the cloud task and the active server, in some embodiments, the process of migrating the cloud task running on the a servers with the lowest average resource utilization to the part of the servers, comprising:
[0053] For the first cloud task in the first cloud task list of the satellite, the migration adaptation degree of each active server in the updated active server list is determined, the first cloud task list includes the cloud task running on the a servers with the lowest average resource utilization, and the first cloud task is any one of the cloud tasks in the first cloud task list.
[0054] The first cloud task is migrated to the first target active server, and the first target active server is the active server corresponding to the maximum migration adaptation degree in the migration adaptation degree of the first cloud task and each active server.
[0055] Exemplarily, the first cloud task list can be a list composed of cloud tasks running on the a servers with the lowest average resource utilization, or a list composed of cloud tasks running on the 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 of the satellite, CLT={clt1,…,clt i ,…,clt M}, where clt i represents the i-th cloud task running on the satellite.
[0056] In the embodiments of the present application, the migration adaptation degree of the cloud task and the active server can represent the possibility of the cloud task migrating to the corresponding active server. It can be seen that in the migration adaptation degrees of the first cloud task and the active servers, the maximum migration adaptation degree can be selected, and then the first cloud task is migrated to the first target active server corresponding to the maximum migration adaptation degree. In this way, the first cloud task can be reasonably migrated to the more suitable active server.
[0057] In order to accurately determine the migration adaptation degree of the first cloud task and the first active server, in some embodiments, the collision times of 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 can be determined first, and then the migration adaptation degree of the first cloud task and the first active server is determined according to the collision times of 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.
[0058] Wherein the first active server is any one of the active servers, the collision times are determined according to the sum of the possession amounts of the first cloud task and the first active server for the same resource at the historical time, and the resource matching degree is a normalized proportional matching index of the cloud task and the active server, and the resource matching degree is determined according to the possession amount of the first cloud task for the same resource at the current time and the first remaining possession amount.
[0059] Exemplarily, when the current time is t, the historical time period is the time period from t-T to t, T is a set value, and the historical time is any time in the historical time period. In order to determine the above collision times and the above resource matching degree, the resource sequence CRES of the cloud task and the resource sequence RES of the active server need to be obtained in advance, CRES={cres1,…,cres i ,…,cres M}, where cres i is the resource sequence of the i-th cloud task running on the satellite, cresi ={cres i,1 ,…,cres i,j ,…,cres i,K},cres i,j is the jth resource sequence of the ith cloud task running on the satellite at time t-T. cres i,j ={cres i,j,t-T ,…,cres i,j,t},cres i,j,t-T is the amount of the jth resource occupied by the ith cloud task running on the satellite at time t-T, cres i,j,t is the amount of the jth resource occupied by the ith cloud task running on the satellite at the current time. RES={res1,..,res i ,…,res N2},res i is the resource sequence of the ith active server in the updated active server list, and N2 is the number of active servers in the updated active server list. res i ={res i,1 ,…,res i,j ,…,res i,K},res i,j is the jth resource sequence of the ith 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 the jth resource occupied by the ith active server in the updated active server list at time t-T, cres i,j,t is the amount of the jth resource occupied by the ith active server in the updated active server list at the current time.
[0060] Exemplarily, when the first cloud task is the pth cloud task clt p in the CLT, the amount of the kth resource occupied by the first cloud task at time L is cres p,k,L ; p takes a value from 1 to M, k takes a value from 1 to K, and L takes a value from t-T to T. When the first active server is the qth active server in the updated active server list, the amount of the kth resource occupied by the first active server at time L is res q , k , L ; q takes a value from 1 to N2. According to the amount of the kth resource occupied by the first cloud task at time L cres p,k,L , and the amount of the kth resource occupied by the first active server at time L res q , k, L The collision times of the first cloud task and the first active server can be determined as CLS[q][k].
[0061] When the first cloud task is the pth cloud task in the CLT, the occupation of the first cloud task to the kth resource at the current time is cres p,k,t When the first active server is the qth active server in the updated list of active servers, the first remaining occupation corresponding to the kth resource in the first active server at the current time is cap k -res q,k,t According to the occupation cres p,k,t of the first cloud task to the kth resource at the current time and the first remaining occupation cap k -res q,k,t The resource matching degree MACH[q][k] of the first cloud task and the first active server to the kth resource can be determined.
[0062] Exemplarily, when the sum of the occupations of the first cloud task and the first active server to the same resource at the historical time is greater than the preset resource capacity, the collision times are the first collision times value; when the sum of the occupations of the first cloud task and the first active server to the same resource at the historical time is less than or equal to the preset resource capacity, the collision times are the second collision times value, and the first collision times value is greater than the second collision times value.
[0063] The first collision times value and the second collision times value can be set according to actual needs. Exemplarily, the second collision times value can be determined first, and then the second collision times value is increased by 1 or other positive numbers to obtain the first collision times value. For example, the first collision times value is 1, and the second collision times value is 0.
[0064] The preset resource capacity can be determined according to actual needs. In one implementation mode, when the collision times of the first cloud task and the first active server are CLS[q][k], the preset resource capacity can be determined according to the resource capacity cap k of the kth resource of the server, for example, the preset resource capacity is cap k and the preset resource collision threshold thr clsThe product of the first cloud task and the second cloud task. It can be seen that in the case of determining the first cloud task, the corresponding collision times can be calculated for each resource of the server and each active server in the updated active server list, so that all the calculated collision times can be combined into a collision matrix CLS, and the collision matrix CLS is a matrix with a size of K*N2, and the element corresponding to the kth resource and the qth active server in the collision matrix CLS is CLS[q][k]. CLS[q][k] can be calculated according to formula (3).
[0065] (3)
[0066] Wherein, b is a set second collision time value, for example, the value of b is 0.
[0067] In practical applications, by traversing the list CLT of all cloud tasks of the satellite, the active server list SVRA of the satellite, and the resource sequence RES of the active server, the resource sequence of each cloud task, res q , k , L , cres p,k,L and cap k and the like can be obtained, so as to realize the construction of the collision matrix CLS.
[0068] Exemplarily, the resource matching degree is negatively correlated with the occupation amount of the same resource of the first cloud task at the current moment, and is positively correlated with the first remaining occupation amount at the current moment.
[0069] It can be seen that in the case of determining the first cloud task, the corresponding resource matching degree can be calculated for each resource of the server and each active server in the updated active server list, so that all the calculated resource matching degrees can be combined into a matching matrix MACH, and the matching matrix MACH is a matrix with a size of K*N2, and the element corresponding to the kth resource and the qth active server in the matching matrix MACH is MACH[q][k]. Exemplarily, MACH[q][k] can be calculated according to formula (4).
[0070] (4)
[0071] In practical applications, by traversing the list CLT of all cloud tasks of the satellite, the active server list SVRA of the satellite, and the resource sequence RES of the active server, the resource sequence of each cloud task, res q , k , t , cres p,k,t and cap k and the like can be obtained, so as to realize the construction of the matching matrix MACH.
[0072] It can be seen that the embodiment of the application can determine the migration adaptation degree of the first cloud task and the first active server according to the collision times of 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; the collision times are determined according to the sum of the possession amounts of the first cloud task and the first active server for the same resource at the historical time, and the resource matching degree is determined according to the possession amount of the first cloud task for the same resource at the current time and the first residual possession amount, so that the embodiment of the application can more accurately determine the migration adaptation degree of the first cloud task and the first active server on the basis of comprehensively considering the sum of the possession amounts of the first cloud task and the first active server for the same resource at the historical time, the possession amount of the first cloud task for the same resource at the current time, and the first residual possession amount.
[0073] In the embodiment of the application, before dispersing the cloud tasks running in part of the servers to each server of the satellite, the servers not in the list of the active servers of the satellite can be added to the list of the active servers to obtain an updated list of the active servers.
[0074] Exemplarily, the server list SVR in the satellite can be traversed, and when the ith server svri in the server list SVR is not in the active server list SVRA of the satellite, the ith server svri in the server list SVR can be inserted into the active server list SVRA of the satellite to obtain an updated list of the active servers, and then the server inserted into the active server list of the satellite can be started. i Exemplarily, the server list SVR in the satellite can be traversed, and when the ith server svri in the server list SVR is not in the active server list SVRA of the satellite, the ith server svri in the server list SVR can be inserted into the active server list SVRA of the satellite to obtain an updated list of the active servers, and then the server inserted into the active server list of the satellite can be started. i Exemplarily, the server list SVR in the satellite can be traversed, and when the ith server svri in the server list SVR is not in the active server list SVRA of the satellite, the ith server svri in the server list SVR can be inserted into the active server list SVRA of the satellite to obtain an updated list of the active servers, and then the server inserted into the active server list of the satellite can be started.
[0075] In the embodiment of the application, the migration of the cloud tasks running in part of the servers can be realized according to the migration adaptation degree of the cloud task and the active server, and in some embodiments, the process of migrating the cloud tasks running in the a servers with the lowest average resource utilization to part of the servers includes:
[0076] For the second cloud task in the second cloud task list of the satellite, the migration adaptation degree of each active server in the updated list of the active servers is determined, the second cloud task list includes all the cloud tasks of the satellite, and the second cloud task is any one cloud task in the second cloud task list; the second cloud task is migrated to the second target active server, and the second target active server is the active server corresponding to the maximum migration adaptation degree in the migration adaptation degrees of the second cloud task and each active server.
[0077] Exemplarily, the second cloud task list can be a list CLT of all the cloud tasks of the satellite, CLT={clt1,…,clt i ,…,cltM}, where clt i This represents the i-th cloud mission running on the satellite.
[0078] As can be seen, in this embodiment of the application, the maximum migration compatibility between the second cloud task and each of the active servers can be selected, and then the second cloud task can be migrated to the second target active server corresponding to the maximum migration compatibility. In this way, the second cloud task can be reasonably migrated to a more suitable active server.
[0079] To accurately determine the migration compatibility between 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 determined first. 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 compatibility between the second cloud task and the second active server is determined.
[0080] Among them, the second active server is any active server among all active servers. The number of collisions is determined by the sum of the possession of the same resource by the second cloud task and the second active server at historical moments. The resource matching degree is determined by the possession of the same resource by the second cloud task at the current moment and the second remaining possession.
[0081] For example, when the current time is time t, the historical time period is the period from time tT to time t, where T is a set value, and the historical time is any time within the historical time period. To determine the above collision count and 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. In the second cloud task CLT, the p-th cloud task clt... p At time L, the second cloud task's possession of the k-th resource is cres. p,k,L p takes values from 1 to M, k takes values from 1 to K, and L takes values from tT to T. When the second active server is the q-th active server in the updated list of active servers, the second active server's possession of the k-th resource at time L is res. q , k , L The value of q ranges from 1 to N². Based on the second cloud task's possession of the k-th resource at time L, cres... p,k,L And the amount of the second active server holding the k-th resource res at time L. q , k , L The number of collisions between the second cloud task and the second active server can be determined as CLS[q][k].
[0082] When the second cloud task is the pth cloud task cltp in the CLT, the occupancy of the kth resource by the second cloud task at the current time is cres p,k,t When the second active server is the qth active server in the updated list of active servers, the second residual occupancy corresponding to the kth resource at the current time is cap k -res q,k,t According to the occupancy cres p,k,t of the kth resource by the second cloud task at the current time and the second residual occupancy cap k -res q,k,t , the resource matching degree MACH[q][k] of the kth resource by the second cloud task and the second active server can be determined.
[0083] Exemplarily, when the sum of the occupancies of the same resource by the second cloud task and the second active server at the historical time is greater than the preset resource capacity, the collision times are the third collision times value; when the sum of the occupancies of the same resource by the second cloud task and the second active server at the historical time is less than or equal to the preset resource capacity, the collision times are the fourth collision times value.
[0084] The third collision times value and the fourth collision times value can be set according to actual needs. Exemplarily, the third collision times value can be determined first, and then the third collision times value is increased by 1 or other positive numbers to obtain the fourth collision times value, for example, the third collision times value is 1, and the fourth collision times value is 0. In an implementation manner, the third collision times value can be the same as the first collision times value, and the fourth collision times value can be the same as the second collision times value, and in another implementation manner, the third collision times value can be set to a value different from the first collision times value, and the fourth collision times value can be set to a value different from the second collision times value.
[0085] In an implementation manner, when the collision times of the second cloud task and the second active server are CLS[q][k], the preset resource capacity can be determined according to the resource capacity cap k of the kth resource of the server, for example, the preset resource capacity is the product of the preset resource collision threshold thr k and the resource capacity cap cls . It can be seen that in the case of determining the second cloud task, the corresponding collision times 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 times can be combined into a collision matrix CLS.
[0086] Exemplarily, the resource matching degree is negatively correlated with the occupation amount of the same resource of the second cloud task at the current moment, and is positively correlated with the second residual occupation amount at the current moment.
[0087] It can be seen that, in the case of determining the second cloud task, 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.
[0088] It can be seen that, according to the collision times of 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, the migration adaptation degree of the second cloud task and the second active server can be determined; the collision times are determined according to the sum of the occupation amounts of the same resource of the second cloud task and the second active server at the historical moment, and the resource matching degree is determined according to the occupation amount of the same resource of the second cloud task at the current moment and the second residual occupation amount, so that the migration adaptation degree of the second cloud task and the second active server can be more accurately determined on the basis of comprehensively considering the sum of the occupation amounts of the same resource of the second cloud task and the first active server at the historical moment, the occupation amount of the same resource of the second cloud task at the current moment, and the second residual occupation amount.
[0089] In some other embodiments, the migration adaptation degree can also be determined in other ways, for example, the migration adaptation degree of the cloud task and the active server can be determined according to the collision times of the cloud task and all servers of the satellite; the occupation amount of the kth resource of the cloud task at the current moment can be replaced by the average value of the occupation amount of the kth resource of the cloud task in the historical time period, and the residual occupation amount corresponding to the kth resource at the current moment can be replaced by the average value of the residual occupation amount corresponding to the kth resource of the active server in the historical time period, so as to determine the resource matching degree of the cloud task and the active server for the kth resource and the migration adaptation degree of the cloud task and the active server. It should be noted that the way of determining the migration adaptation degree proposed in the embodiments of the present application can also be other ways, and is not limited to the above-mentioned content.
[0090] In order to more accurately calculate the migration adaptation degree of the pth cloud task cltp and the qth active server, in some embodiments, a transfer array TRANS can also be calculated, and the transfer array TRANS is a vector with a size of N2*1. The migration adaptation degree of the pth cloud task cltp and the qth active server is calculated in combination with the transfer array TRANS. Exemplarily, the qth element TRANS[q] in the transfer array TRANS can be calculated by traversing the list CLT of all cloud tasks of the satellite and the resource sequence of the pth cloud task, and using formula (5).
[0091] (5)
[0092] wherein s is a set transfer cost reference value.
[0093] For any one cloud task, the migration adaptation degree of the cloud task and the qth active server svra q is recorded as the mapping edge weight W q . The application converts the mapping process of the cloud task and the active server into the construction of a bipartite graph, calculates the mapping edge weight of the cloud task and each active server, and selects the active server corresponding to the highest mapping edge weight to transfer the cloud task. It can be seen that in the embodiment of the application, for the migration of the cloud task, the number of collision times between the active server and the historical resources of the cloud task is considered, and the resource matching degree index between the active server and the current resources of the cloud task is considered, and the mapping scheme of the cloud task and the server is constructed based on the bipartite graph.
[0094] Exemplarily, 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, the mapping edge weight W q is calculated by traversing SVRA, CLS, MACH and TRANS, and using formulas (6) to (8).
[0095] (6)
[0096] (7)
[0097] (8)
[0098] wherein, is the weight of the number of collisions, is the weight of the resource matching degree, and are preset initial values.
[0099] For the pth cloud task cltp, after determining an active server in each traversal of SVRA, the corresponding mapping edge weight W q is calculated, and when the mapping edge weight W q is greater than W, W=W q , and DSTSVR=q.
[0100] For the pth cloud task cltp, after traversing all active servers in SVRA, the pth cloud task cltp is migrated to the DSTSVRth active server, and then the resource sequence of the DSTSVRth active server can be updated according to formula (9).
[0101] (9)
[0102] wherein, is the updated occupancy of the kth resource by the DSTSVRth active server.
[0103] Figure 3 is another flowchart of the cloud task scheduling method of the present application, as shown in the figure, the flowchart comprises: Figure 3
[0104] Step 301: Obtain the running state of the satellite.
[0105] Step 302: Determine whether the running state of the satellite switches, if not, repeat step 302, if yes, execute step 303.
[0106] Step 303: Determine whether the running state of the satellite switches from the light area running state to the shadow area running state, if yes, execute step 304, if not, execute step 305.
[0107] Step 304: Update the list of active servers of the satellite by deleting the active servers, and then execute step 306.
[0108] Step 305: Insert the active servers not in the SVRA into the SVRA, and then execute step 306.
[0109] Step 306: Traverse each cloud task in the list CLT of cloud tasks, calculate the mapping edge weight corresponding to each active server, and determine the target active server according to the calculated mapping edge weight.
[0110] Step 307: After each cloud task is traversed, migrate the cloud task to the corresponding target active server until all cloud tasks in the list CLT of cloud tasks are traversed.
[0111] The implementation of steps 301 to 307 has been described in the foregoing description, and will not be repeated here.
[0112] Step 308: Traverse the server list SVR in the satellite, when the server in the SVR is not in the SVRA, shut down the server, when the server in the SVR is in the SVRA, continue to traverse the next server of the SVR until the server list SVR is traversed.
[0113] After the server list SVR is traversed, it can return to step 301.
[0114] The embodiment of the application provides a cloud task scheduling method, when the running state of a satellite is switched from an illumination area running state to a shadow area running state, a low-load server can be removed from an active server list according to the average resource utilization of the active server. When the running state of the satellite is switched from the shadow area running state to the illumination area running state, all servers can be moved into the active server list to obtain an updated active server list. Then, for all cloud tasks, the target active server corresponding to the cloud task is sequentially calculated according to the collision times of the cloud task and the active server, the resource matching degree of 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.
[0115] Compared with the heuristic method proposed in the related art, the embodiment of the application fully considers multiple index dimensions to calculate the global optimal solution of the task scheduling scheme; compared with the meta-heuristic method proposed in the related art, the embodiment of the application discards a large number of randomization mechanisms, and improves the cloud task scheduling efficiency according to the collision times index of the active server and the cloud task historical resources and the resource matching degree index of the active server and the current resources of the cloud task; compared with the machine learning method proposed in the related art, the embodiment of the application does not need a large amount of training data and hardware acceleration method, and obtains the global optimal solution through low-order algebraic calculation to improve the calculation speed.
[0116] Those skilled in the art can understand that, in the above method of the specific embodiment, the writing order of each step does not mean a strict execution order and does not constitute any limitation on the implementation process, and the specific execution order of each step should be determined according to its function and possible internal logic.
[0117] Figure 4 A structure diagram of the cloud task scheduling device of the embodiment of the application is shown in FIG. 1, which comprises: Figure 4
[0118] The acquisition module 401 is configured to acquire the running state of a satellite, and the running state of the satellite is an illumination area running state or a shadow area running state.
[0119] The processing module 402 is configured to, when the running state of the satellite is switched from the illumination area running state to the shadow area running state, aggregate the cloud tasks running in the servers of the satellite in part of the servers, and close the servers without running the cloud tasks; and when the running state of the satellite is switched from the shadow area running state to the illumination area running state, start the closed servers, and disperse the cloud tasks running in the part of the servers to each server of the satellite.
[0120] In some embodiments, the processing module 402 aggregates the cloud tasks running in the servers of the satellite in the partial servers, including: determining the number a of servers that need to be closed; migrating the cloud tasks running in the a servers with the lowest average resource utilization to the partial servers from the active servers of the satellite, the partial servers being the servers of the active servers of the satellite except the a servers, the active servers representing the servers running cloud tasks.
[0121] In some embodiments, the number of servers that need to be closed is negatively correlated with the number of cloud tasks running in the servers of the satellite, and is positively correlated with the number of servers deployed in the satellite.
[0122] In some embodiments, the processing module 402 is further configured to, before migrating the cloud tasks running in the a servers with the lowest average resource utilization to the partial servers, delete 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.
[0123] The processing module 402 migrates the cloud tasks running in the a servers with the lowest average resource utilization to the partial servers, including: for a first cloud task in a first cloud task list of the satellite, determining a migration fitness of the first cloud task with each active server in the updated list of active servers, and migrating the first cloud task to a first target active server; the first cloud task list including the cloud tasks running in the a servers with the lowest average resource utilization, the first cloud task being any one of the cloud tasks in the first cloud task list; the first target active server being the active server corresponding to the maximum migration fitness of the migration fitness of the first cloud task with each active server.
[0124] In some embodiments, the processing module 402, for a first cloud task in a first cloud task list of the satellite, determines a migration fitness of the first cloud task with each active server in the updated list of active servers, including:
[0125] determine a migration adaptation degree of the first cloud task and the first active server according to a collision number of the first cloud task and the first active server and / or a resource matching degree of the first cloud task and the first active server for a same resource, wherein the first active server is any one of the active servers, the collision number is determined according to a sum of occupation amounts of the first cloud task and the first active server for the same resource at a historical time, and the resource matching degree is determined according to an occupation amount of the first cloud task for the same resource at a current time and a first residual occupation amount, the first residual occupation amount being a residual resource amount of a resource capacity of the same resource of the first active server that is not occupied by the first active server.
[0126] In some embodiments, when the sum of the occupation amounts of the first cloud task and the first active server for the same resource at the historical time is greater than a preset resource capacity, the collision number is a first collision number value; and when the sum of the occupation amounts of the first cloud task and the first active server for the same resource at the historical time is less than or equal to the preset resource capacity in the first active server, the collision number is a second collision number value, the first collision number value being greater than the second collision number value.
[0127] The resource matching degree is negatively correlated with the occupation amount of the first cloud task for the same resource at the current time and positively correlated with the first residual occupation amount at the current time.
[0128] In some embodiments, the processing module 402 is further configured to, before dispersing the cloud tasks running in the part of the servers to the active servers of the satellite, add a server not in the list of the active servers of the satellite to the list of the active servers to obtain an updated list of the active servers, wherein the active server represents a server running a cloud task.
[0129] The processing module 402 disperses the cloud tasks running in the part of the servers to the active servers of the satellite by determining a migration adaptation degree of each active server in the updated list of the active servers for a second cloud task in a second cloud task list of the satellite, wherein the second cloud task list includes all cloud tasks of the satellite, and the second cloud task is any one of the cloud tasks in the second cloud task list.
[0130] The second cloud task is migrated to a second target active server, the second target active server being an active server corresponding to a maximum migration adaptation degree in the migration adaptation degrees of the second cloud task and the active servers.
[0131] In some embodiments, the processing module 402 determines the migration fitness of each active server in the updated list of active servers for a second cloud task in the second list of cloud tasks of satellites, comprising: determining the migration fitness of the second cloud task and the second active server according to the collision times of 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; wherein the second active server is any one of the active servers, the collision times are determined according to the sum of the possession amounts of the same resource of the second cloud task and the second active server in a historical time period, and the resource matching degree is determined according to the possession amount of the same resource of the second cloud task and the second residual possession amount, and the second residual possession amount is the residual resource amount of the resource capacity of the same resource of the second active server that is not occupied by the second active server.
[0132] In some embodiments, when the sum of the possession amounts of the same resource of the second cloud task and the second active server at the historical time is greater than the preset resource capacity, the collision times are a third collision times value; when the sum of the possession amounts of the same resource of the second cloud task and the second active server at the historical time is less than or equal to the preset resource capacity in the second active server, the collision times are a fourth collision times value, and the third collision times value is greater than the fourth collision times value.
[0133] The resource matching degree is negatively correlated with the possession amount of the same resource of the second cloud task at the current time and positively correlated with the second residual possession amount at the current time.
[0134] In practical applications, the acquisition module 401 and the processing module 402 can be implemented based on a processor.
[0135] It should be noted that the above description of the device embodiments is similar to the description of the above method embodiments, and has similar beneficial effects as the method embodiments. For technical details not disclosed in the device embodiments of the present application, please refer to the description of the method embodiments of the present application for understanding.
[0136] 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 function 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 solutions of the embodiments of the present application can be embodied in the form of a software product, which is stored in a storage medium and includes a number of instructions for causing a computer device (which can be a terminal, a server, etc.) to execute all or part of the methods described in the embodiments of the present application. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a magnetic disk or an optical disk, and various program code storage media. Thus, the embodiments of the present application are not limited to any specific combination of hardware and software.
[0137] Correspondingly, the embodiments of the present application further provide a computer program product, which includes computer executable instructions for implementing any one of the cloud task scheduling methods provided by the embodiments of the present application.
[0138] Correspondingly, the embodiments of the present application further provide a computer storage medium, which stores computer executable instructions for implementing any one of the cloud task scheduling methods provided by the embodiments of the present application.
[0139] The embodiments of the present application also provide an electronic device. Figure 5 As shown in FIG. 5, the electronic device 50 can include: Figure 5
[0140] a memory 501 configured to store executable instructions;
[0141] a processor 502 configured to execute the executable instructions stored in the memory 501 to implement any one of the cloud task scheduling methods described above.
[0142] The processor 502 can be at least one of an ASIC, a DSP, a DSPD, a PLD, an FPGA, a CPU, a controller, a microcontroller, and a microprocessor.
[0143] The computer readable storage medium, the memory 501 can be a read only memory (Read Only Memory, ROM), a programmable read only memory (Programmable Read-Only Memory, PROM), an erasable programmable read only memory (Erasable Programmable Read-Only Memory, EPROM), an electrically erasable programmable read only memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), a ferromagnetic random access memory (Ferromagnetic Random Access Memory, FRAM), a flash memory (Flash Memory), a magnetic surface memory, an optical disc, or a compact disc read only memory (Compact Disc Read-Only Memory, CD-ROM) and the like memory; It can also be various terminals including one or any combination of the above memories, such as mobile phones, computers, tablet devices, personal digital assistants, etc.
[0144] In some embodiments, the apparatus provided by the embodiments of the present application has functions or includes modules that can be used to execute the methods described in the above method embodiment descriptions, and the specific implementation can refer to the descriptions of the above method embodiments. For brevity, they will not be repeated here.
[0145] The above description of various embodiments tends to emphasize the differences between various embodiments, and the same or similar parts can be mutually referred to. For brevity, they will not be repeated here.
[0146] The methods disclosed in each of the method embodiments of the present application can be combined arbitrarily without conflict to obtain new method embodiments.
[0147] The features disclosed in each of the product embodiments of the present application can be combined arbitrarily without conflict to obtain new product embodiments.
[0148] The features disclosed in each of the method or device embodiments of the present application can be combined arbitrarily without conflict to obtain new method or device embodiments.
[0149] Those skilled in the art can clearly understand the above-mentioned embodiment method can be realized by means of software and the necessary general hardware platform, of course, also can be through hardware, but in many cases the former is the better embodiment. Based on such understanding, the technical solutions of the present application essentially or say the part of the prior art contribution can be embodied in the form of software products, the computer software product is stored in a storage medium (such as ROM / RAM, magnetic disc, optical disc), including a number of instructions to make a terminal (may be a mobile phone, computer, server, air conditioner, or network equipment, etc.) executes the method described in various embodiments of the present application.
[0150] The embodiments of the present application are described above in conjunction with the drawings, but the present application is not limited to the above-mentioned specific embodiments, the above-mentioned specific embodiments are only illustrative, but not limited, those skilled in the art can make many forms without departing from the purpose of the present application under the inspiration of the present application, which are all within the protection of the present application.
Claims
1. A cloud task scheduling method, characterized in that, The method includes: The satellite's operational status is obtained, which is either its operational status in a lit area or its operational status in a shaded area. When the satellite's operating state changes from the illuminated area to the shadowed area, the cloud tasks running on the satellite's servers are aggregated into a subset of servers, and the servers that are not running cloud tasks are shut down. When the satellite's operating state changes from the shadowed area to the illuminated area, the shut-down servers are turned on, and the cloud tasks running on the subset of servers are distributed to the various servers of the satellite.
2. The cloud task scheduling method according to claim 1, characterized in that, The aggregation of cloud tasks running on the satellite's servers into a subset of servers includes: Determine the number 'a' of servers that need to be shut down; Among the active servers of the satellite, the cloud tasks running on the servers with the lowest average resource utilization (a) are migrated to the partial servers. The partial servers are the active servers of the satellite other than the a servers. The active servers refer to 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 on the satellite's servers and positively correlated with the number of servers deployed on the satellite.
4. The cloud task scheduling method according to claim 2, characterized in that, Before migrating the cloud tasks running on the servers with the lowest average resource utilization (a) to the selected servers, the method further includes: In the list of active servers for the satellite, remove the 'a' servers with the lowest average resource utilization to obtain an updated list of active servers. The migration of cloud tasks running on the 'a' servers with the lowest average resource utilization to the aforementioned portion of servers includes: For the first cloud task in the first cloud task list of the satellite, determine the migration compatibility with each active server in the updated list of active servers. The first cloud task list includes cloud tasks run by the a servers with the lowest average resource utilization. The first cloud task is any cloud task in the first cloud task list. The first cloud task is migrated to the first target active server, which is the active server corresponding to the largest migration compatibility among the migration compatibility of the first cloud task and each of the active servers.
5. The cloud task scheduling method according to claim 4, characterized in that, The determination of the migration compatibility between the first cloud task in the first cloud task list of the satellite and each active server in the updated list of active servers includes: 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, the migration adaptability of the first cloud task and the first active server is determined; wherein, the first active server is any one of the active servers, the number of collisions is determined based on the sum of the amount of the first cloud task and the first active server occupying the same resource at historical moments, and the resource matching degree is determined based on the amount of the first cloud task occupying the same resource at the current moment and the first remaining amount of occupancy, wherein the first remaining amount of occupancy is the amount of remaining resource capacity of the first active server for the same resource that has not been occupied by the first active server.
6. The cloud task scheduling method according to claim 5, characterized in that, When the sum of the amount of the first cloud task and the first active server occupying the same resource at a historical time is greater than the preset resource capacity, the number of collisions is the first collision number value; when the sum of the amount of the first cloud task and the first active server occupying the same resource at a historical time is less than or equal to the preset resource capacity, the number of collisions is the 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 amount of the first cloud task occupying the same resource at the current time, and positively correlated with the amount of the first remaining resource at the current time.
7. The cloud task scheduling method according to claim 1, characterized in that, Before distributing the cloud tasks running on the partial servers to the various 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 step of distributing the cloud tasks running on the partial servers to the various servers of the satellite includes: For the second cloud task in the satellite's second cloud task list, determine the migration compatibility with each active server in the updated list of active servers. The second cloud task list includes all cloud tasks of the satellite, and the second cloud task is any one of the cloud tasks in the second cloud task list. The second cloud task is migrated to the second target active server, which is the active server corresponding to the largest migration compatibility among the migration compatibility of the second cloud task and each of the active servers.
8. The cloud task scheduling method according to claim 7, characterized in that, The second cloud task in the second cloud task list for the satellite determines its migration compatibility with each active server in the updated list of active servers, including: 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 amount of the second cloud task and the second active server occupying the same resource in a historical time period, and the resource matching degree is determined based on the amount of the second cloud task occupying the same resource and the second remaining amount of occupancy, wherein the second remaining amount of occupancy is the amount of remaining resource capacity of the second active server for the same resource that has not been 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 second cloud task and the second active server occupying the same resource at a historical time is greater than the preset resource capacity, the number of collisions is the third collision number value; when the sum of the amount of the second cloud task and the second active server occupying the same resource at a historical time is less than or equal to the preset resource capacity of the second active server, the number of collisions is the 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 current occupancy of the same resource of the second cloud task and positively correlated with the current remaining occupancy of the second resource.
10. A cloud task scheduling device, characterized in that, The device includes: The acquisition module is used to acquire the satellite's operating status, which is either the operating status in the illuminated area or the operating status in the shaded area. The processing module is configured to, when the satellite's operating state changes from the illuminated area operating state to the shadowed area operating state, aggregate the cloud tasks running on the satellite's servers into a subset of servers and shut down the servers that are not running cloud tasks; and when the satellite's operating state changes from the shadowed area operating state to the illuminated area operating state, turn on the shut-down servers and distribute the cloud tasks running on the subset of servers to the various servers of the satellite.
11. An electronic device, characterized in that, The electronic device includes a processor and a memory for storing computer programs capable of running on the processor; wherein, The processor is used to run the computer program to perform 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 executed by a processor, the computer program implements the cloud task scheduling method according to any one of claims 1 to 9.
13. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it 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