A task offloading method based on service cache in low-altitude UAV networks
By optimizing the service cache configuration and task offloading scheduling in the UAV network through the differential evolution algorithm, the problem of low resource utilization in the low-altitude UAV edge network is solved, and efficient task offloading and energy consumption management are achieved.
Patent Information
- Application Number
- CN202311125866.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-01
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2043-09-01
AI Technical Summary
The edge service caching problem is not fully considered in the existing low-altitude UAV edge network, resulting in decreased resource utilization and system performance, and low task offloading efficiency and energy efficiency.
The optimization model is constructed using the differential evolution algorithm, combined with the 3D position deployment of the drone swarm, edge service cache configuration, task offloading scheduling and computing resource allocation. By prioritizing the maximum number of users and the maximum popularity, the service cache configuration and task offloading scheduling are optimized to achieve efficient resource utilization.
By optimizing the UAV location deployment and service cache configuration, the system's unit task delay and unit task energy consumption are reduced, and resource utilization and task offloading efficiency are improved.
Smart Images

Figure CN117295087B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of communication technology, and in particular relates to a task offloading method based on service cache in a low-altitude unmanned aerial vehicle network. Background Art
[0002] In recent years, with the rapid development of mobile communication network technologies, the types and data volumes of applications have exploded. In particular, mobile terminal services are increasingly computationally intensive and latency-sensitive, placing higher demands on computing resources and service latency tolerance. However, due to the limited computing power and energy reserves of mobile terminal devices, this can result in a poor user experience. To provide mobile users with more comprehensive coverage and more efficient task offloading, the application of low-altitude drone edge networks has attracted extensive attention and research.
[0003] Leveraging the flexible maneuverability and excellent line-of-sight communication capabilities of drones, deploying and configuring low-altitude drone edge networks can provide efficient computational offloading services for ground users. Since edge servers not only need to input task data but also cache the program data (applications) required to execute the task, solving the service caching, task scheduling, and resource allocation issues in low-altitude drone edge networks will have a significant impact on computational offloading services for mobile users. Existing research on mobile edge computing mostly assumes that edge nodes can execute any type of computational task, with less consideration given to edge service caching. This can lead to reduced edge network resource utilization and system performance in practical applications, resulting in lower task offloading efficiency and energy efficiency, as well as a deteriorating user experience.
[0004] To address these challenges, this paper comprehensively considers edge network constraints such as computing, storage, and energy resources, as well as effective communication coverage radius, ground user location distribution, task latency tolerance, and service popularity. This paper proposes a service cache-based task offloading method for low-altitude UAV networks. By jointly optimizing the 3D location deployment of the UAV swarm, edge service cache configuration, task offloading scheduling, and computing resource allocation, the system minimizes unit task latency and unit task energy consumption. Summary of the Invention
[0005] The present invention aims to solve the above problems in the prior art. It proposes a task offloading method based on service cache in a low-altitude UAV network. The technical solution of the present invention is as follows:
[0006] A task offloading method based on service cache in a low-altitude UAV network includes the following steps:
[0007] 101. Use differential evolution algorithm to build optimization model. Assume that the number of individuals in the population is K, the mutation scaling factor is ε, the crossover probability is λ, the maximum number of iterations is G, the initial iteration count variable g = 0, the population individual count variable k = 0, and the 3D position vector set of the K-individual drone swarm in the g-th generation population {Q g,k | k≤K};
[0008] 102. If g≤G, go to step 103; otherwise, jump to step 107;
[0009] 103. Let k = k + 1. If k ≤ K, according to the current drone group position vector Q g,k , call sub-algorithm 1 to obtain the drone swarm service cache configuration decision B of the k-th individual in the g-th generation g,k , call sub-algorithm 2 to obtain task offloading decision A g,k and computing resource allocation decision F g,k , calculate the objective function value Γ(A g,k , B g,k , F g,k , Q g,k ), jump to step 104, otherwise, go to step 106;
[0010] 104. Q g,k Perform mutation and crossover operations to obtain the position vector of the drone group after mutation and crossover Call sub-algorithm 1 to obtain the drone swarm service cache configuration decision of the kth mutation crossover individual in the gth generation Call sub-algorithm 2 to obtain task offloading decision and computing resource allocation decisions Calculate the objective function value
[0011] 105. If make Jump to step 103, otherwise, jump to step 103;
[0012] 106. From the K individuals of the g-th generation population {Q g,k | k≤K} select the solution to obtain the optimal individual (A g , B g , F g , Q g )=arg min{Γ(A g,k , B g,k , F g,k , Q g,k )| k∈[1,K]}, where A g , B g, F g , Q g are the optimal drone swarm task offloading decision, service cache configuration decision, computing resource allocation decision, and drone swarm position vector in the g-th generation population, respectively. Let g = g + 1, k = 0, and jump to step 102;
[0013] 107. The solution of selecting the best individual from a total of G generations of populations (A * , B * , F * , Q * )=argmin{Γ(A g , B g , F g , Q g )| g∈[1,G]}, where A * , B * , F * , Q * These are the globally optimal drone swarm task offloading decision, service cache configuration decision, computing resource allocation decision, and drone swarm position vector, and the algorithm ends.
[0014] Furthermore, in step 101, the position vector set of the drone group in the population is initialized {Q g,k | k≤K} method is as follows:
[0015] Let the 3D position vector of drone n be Q g,k (n)=(x n ,y n , h n ), the drone group position vector Q g,k ={Q g,k (n)| n∈N}, where (x n ,y n ) and h n Denote the horizontal coordinate and vertical coordinate of drone n respectively, N is the set of drones, the population individual counting variable k≤K, the population iteration number g≤G, let g=0, randomly generate the initial population of drone group position vector {Q g,k | k≤K}.
[0016] Furthermore, the sub-algorithm 1 in step 103 and step 104 includes the following steps:
[0017] 1) Assume that the maximum available cache capacity of the edge server on each drone n in the drone set N is V n , let the cache state variable b of each service s in the service type set S on drone n be n,s =0, indicating that service s is not cached on drone n. Among them, v s Indicates the data volume of service s;
[0018] 2) Calculate the popularity probability ρ of each service s in the service set S s , according to the relative position relationship between the drone group and the ground users, the number of users ψ in the effective coverage area of each drone n in the set N is obtained n ;
[0019] 3) According to ρ s The value of the set S is sorted in descending order, according to ψ n Arrange the elements of the set N in descending order, let the temporary set N′=N, S′=S, and the counting variable i=1;
[0020] 4) If Take out the first element s in S' and jump to step 5); otherwise, let S' = S and jump to step 4);
[0021] 5) If i≤|N′|, get the i-th element n in N′ and jump to step 6), otherwise, let N′=N, i=1, jump to step 7);
[0022] 6) If v s ≤V n , service s can be cached to the edge server on n, let b n,s =1, V n =V n -v s , remove n from N′, i=1, jump to step 4), otherwise, set i=i+1, jump to step 5);
[0023] 7) If V max <v min , jump to step 8), otherwise, jump to step 4);
[0024] 8) Output service cache configuration decision B = {b n,s | n∈N,s∈S}, the algorithm ends.
[0025] Furthermore, the popularity probability ρ of each service s in step 2) s The calculation method is shown in formula (1):
[0026]
[0027] In formula (1), q s represents the serial number of service s in descending order of service popularity, and γ represents the popularity index of Zipf distribution.
[0028] Furthermore, the sub-algorithm 2 in step 103 and step 104 includes the following steps:
[0029] 11) For each drone n in the drone set N and each user m in the user set M, let the available computing resources of drone n be The available computing energy is Initialize the decision variables for user m to offload type s task to drone n and offloading s-type tasks to local decision variables
[0030] 12) Let the temporary set M′=M, according to the effective coverage radius r of each drone n in M′ n and service cache status {b n,s | s∈S}, establish a candidate drone set N for each user m m , and according to |N m | value, sort the elements in M′ in ascending order;
[0031] 13) If Take out the first user m and jump to step 14); otherwise, jump to step 19);
[0032] 14) If make Jump to step 13), otherwise, jump to step 15);
[0033] 15) Calculate user m to N m The computing resource requirement f for each drone n m,n and calculate energy requirements
[0034] 16) According to The value of N m The elements in descending order, and according to The value pairs in the sequence have the same The drones with the same value are sorted in descending order;
[0035] 17) If From N m Take out the first drone n and jump to step 18); otherwise, let Skip to step 13);
[0036] 18) If and make f m,n As the computing resource allocation decision of user m on drone n, jump to step 13), otherwise, jump to step 17);
[0037] 19) For each drone n in the drone set N, if Greater than the minimum unit computing resource and The energy is greater than the minimum unit, which is User m is assigned the minimum unit computing resources and cyclically updates f m,n , jump to step 20), otherwise, jump to step 20);
[0038] 20) Output task offloading decision and computing resource allocation decision F = {f m,n | m∈M,n∈N}, the algorithm ends.
[0039] Furthermore, in step 12), a candidate drone set N is established for user m. m The method is as follows:
[0040] Assume that the horizontal distance between user m and drone n is l m,n , the effective coverage radius r of drone n n , select the drones in the set N that satisfy l m,n ≤r n , and the cache state variable b of service s on drone n n,s = 1 joins the candidate drone set N established by user m m Among them, l m,n With r n The calculation methods are shown in formula (2) and formula (3):
[0041]
[0042] r n =h n tan(θ) (3)
[0043] In formula (2), (x m ,y m ) represents the horizontal coordinate of user m, (x n ,y n ) represents the horizontal coordinate of UAV n. In formula (3), h n represents the vertical coordinate of UAV n, and θ represents the maximum coverage angle of the UAV.
[0044] Furthermore, in step 15), the computing resource requirement f of user m for each drone n is m,n and calculate energy requirements The calculation methods are shown in formula (4) and formula (5):
[0045]
[0046]
[0047] In formula (4), w m represents the amount of task data for user m, c m Indicates the number of CPU cycles required to process a unit of data. Indicates the maximum tolerable delay of task type s, μ m,n represents the communication rate from user m to drone n, as shown in formula (6); in formula (5), κ′ represents the energy coefficient of the drone;
[0048]
[0049] In formula (6), represents the channel bandwidth of user m, P m represents the transmission power of user m, σ 2 represents the noise power, g m,n represents the channel gain from user m to drone n.
[0050] Furthermore, the definition of the objective function in step 103, step 104, step 105, step 106 and step 107 is shown in formula (7):
[0051]
[0052] In formula (7), (A, B, F, Q) can be expressed as (A g,k , B g,k , F g,k , Q g,k ), (A g , B g , F g , Q g ), (A * , B * , F * , Q * );in, Denotes task offloading decision, B={b n,s | n∈N,s∈S} represents the service cache configuration decision, Q = {(x n ,y n , h n )| n∈N} represents the UAV swarm location deployment decision, F={f m,n | m∈M,n∈N} represents the computing resource allocation decision, α is the weight factor, Offloading latency for tasks The normalization of is shown in formula (8), Offloading energy consumption for tasks The normalization of is shown in formula (9):
[0053]
[0054]
[0055] In formula (8), represents the task offloading delay of user m, as shown in formula (10); in formula (9), represents the task offloading energy consumption of user m, as shown in formula (11):
[0056]
[0057]
[0058] In formula (10), represents the local offloading decision variable of user m. If user m performs the offloading task of type s locally, otherwise represents the drone unloading decision variable of user m. If user m performs type s unloading task on drone n, otherwise, t m and t m,n denote the local unloading delay and the drone unloading delay of user m, respectively, as shown in formula (12) and formula (13); in formula (11), e m and e m,n They represent the local offloading energy consumption and the UAV offloading energy consumption of user m, respectively, as shown in formulas (14) and (15):
[0059]
[0060]
[0061] e m =κ·(w m c m )·(f m ) 2 (14)
[0062]
[0063] In formula (12), f m represents the local computing capability of user m; in formula (13), represents the transmission delay of user m uploading the task to drone n, as shown in formula (16), represents the computational delay of user m’s task executed on drone n, as shown in formula (17); in formula (14), κ represents the energy coefficient of the user; in formula (15), represents the transmission energy consumption of user m uploading the task to drone n, as shown in formula (18):
[0064]
[0065]
[0066]
[0067] In formula (17), f m,n represents the computing resources allocated to user m by drone n.
[0068] Furthermore, in step 104, the position vector Q of the drone group is g,k The methods for performing mutation and crossover operations are as follows:
[0069] 1) Mutation operation: According to formula (19), the individual Q g,k The position vector Q of UAV n g,k (n) Perform mutation processing to obtain the mutation position vector Thus, variant individuals are obtained
[0070]
[0071] In formula (19), ξ1, ξ2, ξ3 are randomly generated integers in the range [1, K], and ξ1≠ξ2≠ξ3≠k, and the scaling factor ε∈[0,1].
[0072] 2) Crossover operation: According to formula (20), by g,k The position vector Q of UAV n g,k (n) Perform cross processing to obtain the cross position vector Thus, we obtain crossover individuals
[0073]
[0074] In formula (20), rand(0, 1) is a random number generated in the interval (0, 1), and the crossover rate λ∈[0, 1]. The advantages and beneficial effects of the present invention are as follows:
[0075] This invention discloses a task offloading method based on service caching in low-altitude unmanned aerial vehicle (UAV) networks. In mobile edge computing, task offloading requires not only inputting task data into the edge server but also pre-caching the program data required to execute the task. However, existing research on mobile edge computing has primarily focused on task offloading and resource allocation, with less consideration given to edge service caching, resulting in low task offloading efficiency and energy efficiency. To address these issues, this method uses differential evolution to establish a task offloading and resource allocation optimization model based on service caching, taking into account constraints such as the relative position of the UAV swarm and ground users, task latency tolerance, and service popularity. The service cache configuration subproblem is solved based on the principles of maximum user number and maximum popularity, while the task offloading scheduling and computing resource allocation subproblem is solved based on the principles of optimal access and maximum resource priority. Using a differential evolution model, these two subproblems are iteratively optimized to continuously improve network resource utilization, achieve optimal UAV location deployment and service cache configuration, and achieve optimal task scheduling and resource allocation, effectively reducing the system's unit task latency and unit task energy consumption. BRIEF DESCRIPTION OF THE DRAWINGS
[0076] Figure 1 This is a flow chart of a task offloading method based on service cache in a low-altitude UAV network according to a preferred embodiment of the present invention. DETAILED DESCRIPTION
[0077] The following will describe the technical solutions in the embodiments of the present invention in detail with reference to the accompanying drawings. The described embodiments are only a part of the embodiments of the present invention.
[0078] The technical solution of the present invention to solve the above technical problems is:
[0079] The concepts and models involved in the content of this invention are as follows.
[0080] 1. Network Model
[0081] In a low-altitude drone network, each drone is equipped with an edge server, each of which can cache a certain number of different types of services. Both ground user devices and drones possess a certain level of computing power. If a server has cached the service type for their task, ground users within the drone's communication radius can offload the task to the associated drone for computation. Otherwise, computation must be performed locally.
[0082] 2. Other symbols involved in the present invention are explained as follows.
[0083] M: Ground user set
[0084] N: Drone Collection
[0085] S: Service type set
[0086] w m : The amount of task data for user m
[0087] c m : The number of CPU cycles required per unit data volume of user m (computational complexity)
[0088] The maximum tolerable delay of the task requesting service type s
[0089] θ: UAV's maximum coverage angle
[0090] User m channel bandwidth
[0091] P m : Transmission power of user m
[0092] σ 2 : Noise power
[0093] γ: popularity index of the Zipf distribution
[0094] v s : Service program data volume
[0095] V n : Maximum available cache capacity of drone n
[0096] κ: User energy coefficient
[0097] κ′: UAV energy coefficient
[0098] f m : The computing power of user m
[0099] Available computing resources of drone n
[0100] Available computing energy of drone n
[0101] α: Delay-energy consumption weight factor
[0102] The technical solutions of the present invention are described as follows.
[0103] 1. Initialization of the drone cluster position vector
[0104] Let the 3D position vector of drone n be Q g,k (n)=(x n ,y n , h n ), the drone group position vector Q g,k ={Q g,k (n)|n∈N}, where (x n ,y n ) and h n Denote the horizontal coordinate and vertical coordinate of drone n respectively, N is the set of drones, the population individual counting variable k≤K, K is the number of individuals in the population, the population iteration number g≤G, G is the maximum number of iterations, let g=0, randomly generate the initial population of drone group position vectors {Q g,k | k≤K}.
[0105] 2. Edge service cache configuration for drone clusters
[0106] 1) Assume that the maximum available cache capacity of the edge server on each drone n in the drone set N is V n , let the cache state variable b of each service s in the service type set S on drone n be n,s =0, indicating that service s is not cached on drone n. Among them, v s Indicates the data volume of service s;
[0107] 2) Calculate the popularity probability ρ of each service s in the service set S s , according to the relative position relationship between the drone group and the ground users, the number of users ψ in the effective coverage area of each drone n in the set N is obtained n ;
[0108] 3) According to ρ s The value of the set S is sorted in descending order, according to ψ n Arrange the elements of the set N in descending order, let the temporary set N′=N, S′=S, and the counting variable i=1;
[0109] 4) If Take out the first element s in S' and jump to step 5); otherwise, let S' = S and jump to step 4);
[0110] 5) If i≤|N′|, get the i-th element n in N′ and jump to step 6), otherwise, let N′=N, i=1, jump to step 7);
[0111] 6) If v s ≤V n , service s can be cached to the edge server on n, let b n,s =1, V n =V n -v s , remove n from N′, i=1, jump to step 4), otherwise, set i=i+1, jump to step 5);
[0112] 7) If V max <v min , jump to step 8), otherwise, jump to step 4);
[0113] 8) Output service cache configuration decision B = {b n,s | n∈N,s∈S}, the algorithm ends.
[0114] 3. Task offloading scheduling and computing resource allocation
[0115] 11) For each drone n in the drone set N and each user m in the user set M, let the available computing resources of drone n be The available computing energy is Initialize the decision variables for user m to offload type s task to drone n and offloading s-type tasks to local decision variables
[0116] 12) Let the temporary set M′=M, according to the effective coverage radius r of each drone n in M′ n and service cache status {b n,s | s∈S}, establish a candidate drone set N for each user m m , and according to |N m | value, sort the elements in M′ in ascending order;
[0117] 13) If Take out the first user m and jump to step 14); otherwise, jump to step 19);
[0118] 14) If make Jump to step 13), otherwise, jump to step 15);
[0119] 15) Calculate user m to N m The computing resource requirement f for each drone n m,n and calculate energy requirements
[0120] 16) According to The value of N m The elements in descending order, and according to The value pairs in the sequence have the same The drones with the same value are sorted in descending order;
[0121] 17) If From N m Take out the first drone n and jump to step 18); otherwise, let Skip to step 13);
[0122] 18) If and make f m,n As the computing resource allocation decision of user m on drone n, jump to step 13), otherwise, jump to step 17);
[0123] 19) For each drone n in the drone set N, if Greater than the minimum unit computing resource and The energy is greater than the minimum unit, which is User m is assigned the minimum unit of computing resources and cyclically updates f m,n , jump to step 20), otherwise, jump to step 20);
[0124] 20) Output task offloading decision and computing resource allocation decision F = {f m,n | m∈M,n∈N}, the algorithm ends.
[0125] 4. Objective Function
[0126] As shown in formula (1):
[0127]
[0128] In formula (1), (A, B, F, Q) can be expressed as (A g,k , B g,k , F g,k , Q g,k ), (A g , B g , F g , Q g ), (A * , B * , F * , Q * );in, Denotes task offloading decision, B={b n,s | n∈N,s∈S} represents the service cache configuration decision, Q = {(x n ,y n , h n )| n∈N} represents the UAV swarm location deployment decision, F={f m,n | m∈M,n∈N} represents the computing resource allocation decision, α is the weight factor, Offloading latency for tasks The normalization of is shown in formula (2), Offloading energy consumption for tasks Normalization of is as shown in formula (3):
[0129]
[0130]
[0131] In formula (2), represents the task offloading delay of user m, as shown in formula (4); in formula (3), represents the task offloading energy consumption of user m, as shown in formula (5):
[0132]
[0133]
[0134] In formula (4), represents the local offloading decision variable of user m. If user m performs the offloading task of type s locally, otherwise represents the drone unloading decision variable of user m. If user m performs type s unloading task on drone n, otherwise, t m and t m,n They represent the local unloading delay and the drone unloading delay of user m, respectively, as shown in formula (6) and formula (7); in formula (5), e m and e m,n They represent the local offloading energy consumption of user m and the UAV offloading energy consumption, respectively, as shown in formulas (8) and (9):
[0135]
[0136]
[0137] e m =κ·(w m c m )·(f m ) 2 (8)
[0138]
[0139] In formula (6), f m represents the local computing capability of user m; in formula (7), represents the transmission delay of user m uploading the task to drone n, as shown in formula (10), represents the computational delay of user m’s task executed on drone n, as shown in formula (11); in formula (8), κ represents the energy coefficient of the user; in formula (9), represents the transmission energy consumption of user m uploading the task to drone n, as shown in formula (12):
[0140]
[0141]
[0142]
[0143] In formula (11), f m,n represents the computing resources allocated to user m by drone n.
[0144] 5. Variation and crossover operations of drone swarm position vectors
[0145] 1) Mutation operation: According to formula (13), the individual Q g,k The position vector Q of UAV n g,k (n) Perform mutation processing to obtain the mutation position vector Thus, variant individuals are obtained
[0146]
[0147] In formula (13), ξ1, ξ2, ξ3 are randomly generated integers in the range [1, K], and ξ1≠ξ2≠ξ3≠k, and the scaling factor ε∈[0,1].
[0148] 2) Crossover operation: According to formula (14), by g,k The position vector Q of UAV n g,k (n) Perform cross processing to obtain the cross position vector Thus, we obtain crossover individuals
[0149]
[0150] In formula (14), rand(0, 1) is a random number generated in the interval (0, 1), and the crossover rate λ∈[0, 1].
[0151] A task offloading method based on service cache in a low-altitude UAV network, the specific implementation method of which includes the following steps:
[0152] Step 1: Use differential evolution algorithm to build optimization model, set the number of individuals in the population to K, the mutation scaling factor to ε, the crossover probability to λ, the maximum number of iterations to G, initialize the iteration count variable g = 0, the population individual count variable k = 0, the 3D position vector set of the K-individual drone swarm in the g-th generation population {Q g,k | k≤K};
[0153] Step 2: If g≤G, go to step 3, otherwise, jump to step 7;
[0154] Step 3: Let k = k + 1. If k ≤ K, according to the current drone group position vector Q g,k , call sub-algorithm 1 to obtain the drone swarm service cache configuration decision B of the k-th individual in the g-th generation g,k , call sub-algorithm 2 to obtain task offloading decision A g,k and computing resource allocation decision F g,k , calculate the objective function value Γ(A g,k , B g,k , F g,k , Q g,k ), jump to step 4, otherwise, go to step 6;
[0155] Step 4: Q g,k Perform mutation and crossover operations to obtain the position vector of the drone group after mutation and crossover Call sub-algorithm 1 to obtain the drone swarm service cache configuration decision of the kth mutation crossover individual in the gth generation Call sub-algorithm 2 to obtain task offloading decision and computing resource allocation decisions Calculate the objective function value
[0156] Step 5: If make Jump to step 3, otherwise, jump to step 3;
[0157] Step 6: From the K individuals {Q g,k | k≤K} select the solution to obtain the optimal individual (A g , B g , F g , Q g )=argmin{Γ(A g,k , B g,k , F g,k , Q g,k )| k∈[1,K]}, where A g , B g , Fg , Q g are the optimal drone swarm task offloading decision, service cache configuration decision, computing resource allocation decision, and drone swarm position vector in the g-th generation population, respectively. Let g = g + 1, k = 0, and jump to step 2.
[0158] Step 7: Select the optimal individual solution (A * , B * , F * , Q * )=arg min{Γ(A g , B g , F g , Q g )| g∈[1,G]}, where A * , B * , F * , Q * These are the globally optimal drone swarm task offloading decision, service cache configuration decision, computing resource allocation decision, and drone swarm position vector, and the algorithm ends.
[0159] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions.
[0160] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.
[0161] The above embodiments should be understood as merely illustrating the present invention and not as limiting the scope of protection of the present invention. After reading the contents of the present invention, technicians may make various changes or modifications to the present invention, and these equivalent changes and modifications also fall within the scope defined by the claims of the present invention.
Claims
1. A task offloading method based on service cache in a low-altitude UAV network, characterized in that: The following steps are involved:
101. Use differential evolution algorithm to build optimization model. Assume that the number of individuals in the population is K, the mutation scaling factor is ε, the crossover probability is λ, the maximum number of iterations is G, the initial iteration count variable g = 0, the population individual count variable k = 0, and the 3D position vector set of the K-individual drone swarm in the g-th generation population {Q g,k | k≤K }; 102. If g≤G, go to step 103; otherwise, jump to step 107; 103. Let k = k + 1. If k ≤ K, according to the current drone group position vector Q g,k , call sub-algorithm 1 to obtain the drone swarm service cache configuration decision B of the k-th individual in the g-th generation g,k , call sub-algorithm 2 to obtain task offloading decision A g,k and computing resource allocation decision F g,k , calculate the objective function value Γ(A g,k ,B g,k ,F g,k ,Q g,k ), jump to step 104, otherwise, go to step 106; 104. Q g,k Perform mutation and crossover operations to obtain the position vector of the drone group after mutation and crossover Call sub-algorithm 1 to obtain the drone swarm service cache configuration decision of the kth mutation crossover individual in the gth generation Call sub-algorithm 2 to obtain task offloading decision and computing resource allocation decisions Calculate the objective function value 105. If make Jump to step 103, otherwise, jump to step 103; 106. From the K individuals of the g-th generation population {Q g,k | k≤K } select the solution to obtain the optimal individual (A g ,B g ,F g ,Q g )=argmin{Γ(A g,k ,B g,k ,F g,k ,Q g,k )| k∈ [ 1,K ]}, where A g , B g , F g , Q g are the optimal drone swarm task offloading decision, service cache configuration decision, computing resource allocation decision, and drone swarm position vector in the g-th generation population, respectively. Let g = g + 1, k = 0, and jump to step 102; 107. The solution of selecting the best individual from a total of G generations of populations (A * ,B * ,F * ,Q * )=argmin{Γ(A g ,B g ,F g ,Q g )| g∈ [ 1,G ]}, where A * , B * , F * , Q * They are the globally optimal drone swarm task offloading decision, service cache configuration decision, computing resource allocation decision, and drone swarm position vector, and the algorithm ends; The sub-algorithm 1 in step 103 and step 104 includes the following steps: 1) Assume that the maximum available cache capacity of the edge server on each drone n in the drone set N is V n , let the cache state variable b of each service s in the service type set S on drone n be n,s =0, indicating that service s is not cached on drone n. Among them, v s Indicates the data volume of service s; 2) Calculate the popularity probability ρ of each service s in the service set S s , according to the relative position relationship between the drone group and the ground users, the number of users ψ in the effective coverage area of each drone n in the set N is obtained n ; 3) According to ρ s The value of the set S is sorted in descending order, according to ψ n Arrange the elements of the set N in descending order, let the temporary set N′=N, S′=S, and the counting variable i=1; 4) If Take out the first element s in S' and jump to step 5); otherwise, let S' = S and jump to step 4); 5) If i≤|N′|, get the i-th element n in N′ and jump to step 6), otherwise, let N′=N, i=1, jump to step 7); 6) If v s ≤V n , service s can be cached to the edge server on n, let b n,s =1, V n =V n -v s , remove n from N′, i=1, jump to step 4), otherwise, set i=i+1, jump to step 5); 7) If V max <v min , jump to step 8), otherwise, jump to step 4); 8) Output service cache configuration decision B = {b n,s | n∈N,s∈S }, the algorithm ends; The sub-algorithm 2 in step 103 and step 104 includes the following steps: 11) For each drone n in the drone set N and each user m in the user set M, let the available computing resources of drone n be The available computing energy is Initialize the decision variables for user m to offload type s task to drone n and offloading s-type tasks to local decision variables 12) Let the temporary set M′=M, according to the effective coverage radius r of each drone n in M′ n and service cache status {b n,s | s∈S }, establish a candidate drone set N for each user m m , and according to |N m | value, sort the elements in M′ in ascending order; 13) If Take out the first user m and jump to step 14); otherwise, jump to step 19); 14) If make Jump to step 13), otherwise, jump to step 15); 15) Calculate user m to N m The computing resource requirement f for each drone n m,n and calculate energy requirements 16) According to The value of N m The elements in descending order, and according to The value pairs in the sequence have the same The drones with the same value are sorted in descending order; 17) If From N m Take out the first drone n and jump to step 18); otherwise, let Skip to step 13); 18) If and make f m,n As the computing resource allocation decision of user m on drone n, jump to step 13), otherwise, jump to step 17); 19) For each drone n in the drone set N, if Greater than the minimum unit computing resource and The energy is greater than the minimum unit, which is User m is assigned the minimum unit of computing resources and cyclically updates f m,n , jump to step 20), otherwise, jump to step 20); 20) Output task offloading decision and computing resource allocation decision F = {f m,n | m∈M,n∈N }, the algorithm ends; The definition of the objective function in step 103, step 104, step 105, step 106 and step 107 is shown in formula (7): In formula (7), (A, B, F, Q) can be expressed as (A g,k ,B g,k ,F g,k ,Q g,k ), (A g ,B g ,F g ,Q g ), (A * ,B * ,F * ,Q * );in, Denotes task offloading decision, B={b n,s | n∈N,s∈S } represents the service cache configuration decision, Q = {(x n ,y n ,h n )| n∈N } represents the UAV swarm location deployment decision, F={f m,n | m∈M,n∈N } represents the computing resource allocation decision, α is the weight factor, Offloading latency for tasks The normalization of is shown in formula (8), Offloading energy consumption for tasks The normalization of is shown in formula (9): In formula (8), represents the task offloading delay of user m, as shown in formula (10); in formula (9), represents the task offloading energy consumption of user m, as shown in formula (11): In formula (10), represents the local offloading decision variable of user m. If user m performs the offloading task of type s locally, otherwise represents the drone unloading decision variable of user m. If user m performs type s unloading task on drone n, otherwise, t m and t m,n denote the local unloading delay and the drone unloading delay of user m, respectively, as shown in formula (12) and formula (13); in formula (11), e m and e m,n They represent the local offloading energy consumption and the UAV offloading energy consumption of user m, respectively, as shown in formulas (14) and (15): e m =κ·(w m ·c m )·(f m ) 2 (14) In formula (12), f m represents the local computing capability of user m; in formula (13), represents the transmission delay of user m uploading the task to drone n, as shown in formula (16), represents the computational delay of user m’s task executed on drone n, as shown in formula (17); in formula (14), κ represents the energy coefficient of the user; in formula (15), represents the transmission energy consumption of user m uploading the task to drone n, as shown in formula (18): In formula (17), f m,n represents the computing resources allocated to user m by drone n.
2. The task offloading method based on service cache in a low-altitude UAV network according to claim 1 is characterized in that: In step 101, the position vector set {Q g,k | k≤K } method is as follows: Let the 3D position vector of drone n be Q g,k (n)=(x n ,y n ,h n ), the drone group position vector Q g,k ={Q g,k (n)| n∈N }, where (x n ,y n ) and h n Denote the horizontal coordinate and vertical coordinate of drone n respectively, N is the set of drones, the population individual counting variable k≤K, the population iteration number g≤G, let g=0, randomly generate the initial population of drone group position vector {Q g,k | k≤K }.
3. The task offloading method based on service cache in a low-altitude UAV network according to claim 1 is characterized in that: The popularity probability ρ of each service s in step 2) s The calculation method is shown in formula (1): In formula (1), q s represents the serial number of service s in descending order of service popularity, and γ represents the popularity index of Zipf distribution.
4. The task offloading method based on service cache in a low-altitude UAV network according to claim 1 is characterized in that: In step 12), a candidate drone set N is established for user m. m The method is as follows: Assume that the horizontal distance between user m and drone n is l m,n , the effective coverage radius r of drone n n , select the drones in the set N that satisfy l m,n ≤r n , and the cache state variable b of service s on drone n n,s = 1 joins the candidate drone set N established by user m m Among them, l m,n With r n The calculation methods are shown in formula (2) and formula (3): r n =h n ·tan(θ) (3) In formula (2), (x m ,y m ) represents the horizontal coordinate of user m, (x n ,y n ) represents the horizontal coordinate of UAV n. In formula (3), h n represents the vertical coordinate of UAV n, and θ represents the maximum coverage angle of the UAV.
5. The task offloading method based on service cache in a low-altitude UAV network according to claim 1 is characterized in that: In step 15), user m's computing resource requirement f for each drone n m,n and calculate energy requirements The calculation methods are shown in formula (4) and formula (5): In formula (4), w m represents the amount of task data for user m, c m Indicates the number of CPU cycles required to process a unit of data. Indicates the maximum tolerable delay of task type s, μ m,n represents the communication rate from user m to drone n, as shown in formula (6); in formula (5), κ′ represents the energy coefficient of the drone; In formula (6), represents the channel bandwidth of user m, P m represents the transmission power of user m, σ 2 represents the noise power, g m,n represents the channel gain from user m to drone n.
6. The task offloading method based on service cache in a low-altitude UAV network according to claim 1 is characterized in that: In step 104, the position vector Q of the drone group is g,k The methods for performing mutation and crossover operations are as follows: 1) Mutation operation: According to formula (19), the individual Q g,k The position vector Q of UAV n g,k (n) Perform mutation processing to obtain the mutation position vector Thus, variant individuals are obtained In formula (19), ξ1, ξ2, ξ3 are randomly generated integers in the range [1, K], and ξ1≠ξ2≠ξ3≠k, and the scaling factor ε∈[0,1]; 2) Crossover operation: According to formula (20), by g,k The position vector Q of UAV n g,k (n) Perform cross processing to obtain the cross position vector Thus, we obtain crossover individuals In formula (20), rand(0,1) is a random number generated in the interval (0,1), and the crossover rate λ∈[0,1].
Citation Information
Patent Citations
Unmanned aerial vehicle assisted service cache edge calculation optimal calculation unloading decision and resource allocation method
CN113873660A
Deployment and unloading method for auxiliary edge computing network of unmanned aerial vehicle
CN116634452A