Task scheduling method based on improved bat algorithm in mobile edge computing environment

By optimizing task offloading through improved bat search and MinHash algorithms, the energy consumption and latency issues caused by user mobility in mobile edge computing are resolved, achieving system energy minimization and service quality improvement.

CN119521309BActive Publication Date: 2025-10-31TONGJI UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411502699.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-25
Publication Date
2025-10-31
Estimated Expiration
2044-10-25

AI Technical Summary

Technical Problem

In mobile edge computing environments, existing task scheduling schemes struggle to effectively address the issues of minimizing energy consumption and controlling latency caused by user mobility, especially in large-scale task scheduling, where existing schemes negatively impact task scheduling efficiency.

Method used

An improved bat search algorithm combined with the MinHash algorithm is adopted. By obtaining user task information and edge server information, the task sequence is optimized by using the bat population. Locality-sensitive hashing is used for local search, and individual positions are dynamically updated to optimize the task unloading strategy, thereby minimizing device power consumption and meeting task deadline constraints.

Benefits of technology

It significantly improves the rationality and efficiency of task offloading strategies, reduces the computational burden of local search, enhances global optimization capabilities and the flexibility of the search process, and achieves the minimization of total system energy consumption and service quality assurance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119521309B_ABST
    Figure CN119521309B_ABST
Patent Text Reader

Abstract

This invention discloses a task scheduling method based on an improved bat algorithm in a mobile edge computing environment. The method includes: acquiring user task information and edge server information, and obtaining a sequence of tasks to be unloaded based on the user trajectory; using the user trajectory, user task information, and edge server information as input, and employing the bat search algorithm to find the optimal solution for the current population, wherein each individual in the bat population is mapped to a corresponding task sequence; determining whether a local search is needed for the task sequence, and if so, performing a locality-sensitive hashing (LSH) search to obtain the globally optimal solution after the local search; dynamically updating the individual positions of the bat population based on the globally optimal solution until a set stopping criterion is met, and outputting the final task scheduling decision. This invention improves the quality of task scheduling while ensuring computational efficiency, and has strong versatility and scalability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of mobility-aware edge computing technology, and more specifically, to a task scheduling method based on an improved bat algorithm in a mobile edge computing environment. Background Technology

[0002] With the acceleration of global digitalization, mobile users' demands for data transmission speed and service quality have increased dramatically. However, mobile devices, due to resource constraints, struggle to independently handle complex application tasks, prompting collaboration between cloud computing and terminal devices. However, long-distance data transmission in cloud computing models leads to high latency and bandwidth pressure, especially for applications with extremely high real-time requirements (such as precision manufacturing and medical devices). To address these challenges, Mobile Edge Computing (MEC) technology has emerged. MEC reduces data transmission latency and improves computing efficiency and service quality by deploying computing resources at the network edge.

[0003] Edge computing, as a computing paradigm, fundamentally involves offloading data processing and storage capabilities from traditional centralized or cloud computing architectures and redeploying them to edge devices physically closer to the data generation source. By shortening the data processing path, it significantly reduces data transmission latency and effectively alleviates network bandwidth pressure and potential congestion, thereby significantly improving the real-time performance and efficiency of data processing. Edge computing implementation typically relies on Internet of Things (IoT) devices, various sensor networks, and smart terminals (such as smartphones) as edge nodes. These nodes can directly or instantly perform preliminary processing and analysis on locally generated data, reducing reliance on remote cloud data centers.

[0004] In MEC environments, task scheduling strategies aim to optimize the offloading decisions of computing tasks to achieve goals such as minimizing energy consumption and reducing latency. However, with the proliferation of portable devices, user mobility has become an unavoidable factor in MEC task scheduling. It not only affects the distribution of workloads but also increases the complexity of communication between edge network devices, making it a challenging research area.

[0005] Mobility sensing technology, combined with the advantages of edge computing, enables the real-time capture and analysis of dynamic entity location information. This technology deploys data processing capabilities to the network edge, shortening data transmission paths, significantly reducing latency, and improving system response speed. Through high-precision positioning, sensor data, and machine learning algorithms, edge nodes can analyze movement trajectories in real time, predict future locations, and optimize resource allocation. In fields such as intelligent transportation and intelligent logistics, mobility sensing helps achieve more efficient resource scheduling and decision support, reducing congestion and improving user experience. This technological integration not only enhances the real-time performance and intelligence of the system but also drives the intelligent transformation in the digital age.

[0006] Against this backdrop, swarm intelligence algorithms, as a distributed problem-solving paradigm, have demonstrated significant potential for optimizing task scheduling strategies in mobile edge computing (MEC) environments. Swarm intelligence algorithms simulate the cooperative behavior of biological groups in nature (such as ant colonies, flocks of birds, and schools of fish), solving complex problems through simple interactions and rules among individuals. They possess characteristics such as self-organization, strong robustness, and ease of distributed implementation. In the field of MEC task scheduling, swarm intelligence algorithms can effectively address the uncertainties brought about by user mobility, dynamically adjusting the allocation of computing resources and task offloading strategies to achieve overall system performance optimization.

[0007] Analysis reveals that existing solutions negatively impact task scheduling efficiency in mobile edge computing environments for the local optimization problem of large-scale task scheduling. Although previous research has incorporated user mobility into task scheduling, determining the optimal task execution sequence to minimize total device power consumption and control latency remains a problem worthy of further exploration. Summary of the Invention

[0008] The purpose of this invention is to overcome the shortcomings of the prior art and provide a task scheduling method based on an improved bat algorithm in a mobile edge computing environment. This method includes the following steps:

[0009] For edge computing systems, user task information and edge server information are obtained, and the sequence of tasks to be unloaded is obtained based on the user's trajectory.

[0010] The user trajectory, user task information, and edge server information are used as inputs to solve for the optimal solution of the current population using the bat search algorithm, wherein each individual in the bat population is mapped to a corresponding task sequence, and the optimal solution represents the optimal unloading scheme and the optimal total energy consumption.

[0011] Determine whether a local search is needed for the task sequence. If it is, use locality-sensitive hashing to perform a local search and obtain the global optimal solution after the local search.

[0012] Based on the globally optimal solution found, the individual positions of the bat population are dynamically updated until the set stopping criteria are met, and the final task scheduling decision is output.

[0013] Compared with existing technologies, the advantages of this invention lie in its scientific solution to the task offloading and scheduling problem in mobile edge computing environments by constructing an optimization model that focuses on minimizing device energy consumption while also considering task deadline constraints. This results in high practicality and accuracy. For example, it fully utilizes the characteristics of MinHash (minimum hashing) to optimize the bat search algorithm, minimizing MEC server energy consumption and improving algorithm efficiency. By employing the bat search algorithm, it significantly improves the rationality and efficiency of the task offloading strategy for NP-hard optimization problems. Furthermore, by combining the MinHash linear hash algorithm with three neighborhood structure methods—swapping, inserting, and reversing—it effectively addresses the shortcomings of the original bat algorithm, which is prone to getting trapped in local optima, and reduces unnecessary computational burden during local search, thus improving overall algorithm efficiency. In summary, this invention achieves efficient exploration of the solution space during task scheduling optimization, enhances global optimization capabilities, and maintains the diversity and flexibility of the search process. While ensuring computational efficiency, it further improves the quality of the solution, exhibiting strong versatility and scalability.

[0014] Other features and advantages of the invention will become clear from the following detailed description of exemplary embodiments of the invention with reference to the accompanying drawings. Attached Figure Description

[0015] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments of the invention and, together with their description, serve to explain the principles of the invention.

[0016] Figure 1 This is a flowchart of a task scheduling method based on an improved bat algorithm in a mobile edge computing environment according to an embodiment of the present invention;

[0017] Figure 2 This is a schematic diagram of a task scheduling method based on an improved bat algorithm in a mobile edge computing environment according to an embodiment of the present invention;

[0018] Figure 3 This is a schematic diagram of a mobility-aware edge computing model according to an embodiment of the present invention;

[0019] Figure 4 This is a schematic diagram of two search spaces according to an embodiment of the present invention;

[0020] Figure 5 This is a flowchart of the energy consumption calculation task of the bat search algorithm according to an embodiment of the present invention;

[0021] Figure 6 This is a flowchart of the MinHash calculation process according to an embodiment of the present invention. Detailed Implementation

[0022] Various exemplary embodiments of the present invention will now be described in detail with reference to the accompanying drawings. It should be noted that, unless otherwise specifically stated, the relative arrangement, numerical expressions, and values ​​of the components and steps set forth in these embodiments do not limit the scope of the invention.

[0023] The following description of at least one exemplary embodiment is merely illustrative and is in no way intended to limit the invention or its application or use.

[0024] Techniques, methods, and equipment known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and equipment should be considered part of the specification.

[0025] In all the examples shown and discussed herein, any specific values ​​should be interpreted as merely exemplary and not as limitations. Therefore, other examples of exemplary embodiments may have different values.

[0026] It should be noted that similar labels and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be discussed further in subsequent figures.

[0027] This invention provides a task scheduling method based on an improved bat algorithm in a mobile edge computing environment. This method schedules tasks uploaded by mobile users across multiple MEC servers to obtain a task scheduling scheme that minimizes total system power consumption while satisfying latency constraints, prohibition of parallel processing constraints, and transmission interruption constraints, thereby minimizing total device power consumption within an acceptable latency range.

[0028] Specifically, in combination Figure 1 and Figure 2 As shown, the task scheduling method based on the improved bat algorithm in a mobile edge computing environment includes the following steps:

[0029] Step S1: For the edge computing system, read user task information and edge computing server information, and obtain the dynamic task unloading sequence based on the user's movement trajectory.

[0030] In step S1, an edge computing model is constructed by deploying multiple edge servers in the MEC system. Each edge server is connected to a base station. See [link to relevant documentation]. Figure 3As shown. The device information read includes, but is not limited to, the number of tasks on the terminal device, the device transmission power, etc. Task information includes, but is not limited to, the task data size and the number of CPU cycles required to process each bit of data in the task. MEC server information includes, but is not limited to, the server computing power, the server location information, etc. Assume that the mobile terminal has k tasks to process, where each task is atomic and indivisible, and task processing must meet the first-come, first-served principle, that is, parallel data processing is not allowed.

[0031] The functional models of the edge system model are described in detail below.

[0032] (1) MEC System Model

[0033] The MEC system deploys multiple edge servers, each connected to a base station. The set of deployed MEC servers is denoted by S = {s1, s2, ..., s}. M} represents the number of servers in the MEC system. For a specific set of servers s... k (j∈{1,2,…,M}), its CPU operating frequency is f k (Unit: Hz). In a MEC system, information and data are transmitted efficiently via high-speed links, and edge servers can interconnect through wireless channels. All edge nodes in the system together constitute a computing resource pool. When needed, computing tasks that were originally offloaded to one edge server can be transferred to another edge server for execution, thereby reducing processing latency and achieving load balancing. Mobile devices access the system resource pool formed by the edge nodes through their reachable base stations as access points.

[0034] (2) Task transfer model

[0035] User trajectory is represented using a series of two-dimensional coordinates, i.e., Path = {<x1,y1> ,<x2,y2> ,…, <x T ,y T >}, where the subscript represents the time slot index (unit: s). In any time slot t∈{1,2,…,T}, in order to minimize the overall energy consumption of the MEC server and shorten the completion time of the task subsequence when executing the task sequence, a closer server should be selected for offloading to reduce the energy consumption and latency caused by the transmission process.

[0036] For example, at time slot t, the distance between the mobile user and each edge server is calculated using the formula for the distance between the mobile device and the base station. The calculation is performed, and the nearest edge server is selected as the access point to access the edge network. The final formula for calculating the distance between the mobile user and the nearest edge server is: Among them, (x t yt () represents the two-dimensional coordinates of the moving user at time slot t. Represents edge server s j Let M be the total number of edge servers, and M be the two-dimensional coordinates. Then, at time slot t, the current network transmission information can be obtained according to the formula for calculating the average transmission rate between the mobile device and the edge server base station. The average transmission rate between the mobile device and the edge server base station is expressed as:

[0037]

[0038] Where ω is the channel bandwidth, g0 is the path loss constant, θ is the path loss exponent, dis0 is the reference distance, N0 is the noise power spectral density between the terminal device and the edge server, and P represents the transmission power between the local mobile device and the edge device. Detailed parameter settings related to task transmission are shown in Table 1 below.

[0039] Table 1: Parameters Related to Task Transfer

[0040]

[0041] (3) Task Model

[0042] In practice, a mobile terminal device often has multiple independent tasks that need to be processed. Each task, due to its atomicity, cannot be further divided. Therefore, we use Γ = {ζ1,ζ2,…,ζ} N} represents the set of tasks, where N is the total number of tasks. Any task ζ i All ∈ (i = 1, 2, ..., N) use tuples Let DS represent this, where DS i Indicates task Unloaded data size, CL i express Computational intensity (unit: CPU cycles / bit), DL i Indicates task The deadline for completion. Because data-intensive tasks consume a lot of time and energy when executed on terminal devices, tasks are offloaded to corresponding edge servers for execution, thereby reducing task latency and energy consumption.

[0043] Step S2: Using mobile user trajectories, task information, and edge computing server information as input data, the bat search algorithm is used to solve for the optimal unloading scheme and optimal total energy consumption of the current population.

[0044] Swarm intelligence (SI) algorithms originate from the study of the "social" behavior of biological groups. In nature, many biological groups exert powerful collective intelligence to solve complex problems through interaction mechanisms. SI algorithms borrow from this behavioral pattern of biological groups, simulating the optimization process as various behavioral activities of individual organisms, thus possessing strong self-learning and adaptive characteristics. In the algorithm's search space, each point represents a possible solution. The objective function essentially represents the adaptability of an individual organism to its environment. The higher the value of the objective function, the stronger the adaptability of the individual to the environment, and the closer its solution is to the optimal solution.

[0045] For example, the bat search algorithm is selected and improved. The acquired mobile user trajectories, task information, and MEC (Mobile Edge Computing) server information are used as input data and applied to the improved bat search algorithm. Using the sigmoid mapping method, each individual in the bat population is mapped to a corresponding task sequence, and then the optimal unloading scheme and optimal total energy consumption for the current population are solved using the bat search algorithm.

[0046] In one embodiment, combined Figure 4 and Figure 5 As shown, step S2 mainly includes the following sub-steps:

[0047] Step 2.1: Initialize the bat search algorithm parameters, set the initial population, and calculate the corresponding task list.

[0048] For example, initializing the bat search algorithm includes, but is not limited to, setting the bat population size, individual bat locations, maximum number of iterations, and other relevant parameters. After initialization, the sigmoid mapping method is used to map each individual bat Φ... i ={φ1,φ2,…,φ i ,…,φ N The data is mapped to the corresponding task sequence for subsequent optimal energy consumption calculations. See Table 2 below for the parameter settings for the Bat Algorithm.

[0049] Table 2: Relevant parameters of the bat algorithm

[0050]

[0051] In Table 2, P min and P max This represents the minimum and maximum values ​​of the solution in the bat optimization algorithm. This range determines the value interval of the solution in each iteration. min f represents the minimum sound frequency of an individual bat. max v represents the maximum frequency of a bat's sound waves. min v represents the minimum speed of an individual bat. maxThe maximum speed of an individual bat, A0 represents the initial loudness of the sound wave of an individual bat, r0 represents the initial frequency of the sound wave of an individual bat, v0 represents the initial speed of an individual bat, α and γ are both constants, and α∈[0,1], γ>0.

[0052] Step S2.2: Initialize an empty hash set HashSet.

[0053] Initialize and create an empty hash set HashSet to store the task sequence signatures corresponding to the local optimal solutions found by the bat algorithm in each iteration, so as to facilitate comparison and updates in subsequent optimization steps.

[0054] Step S2.3: Calculate the overall system energy consumption value corresponding to each task sequence according to the energy consumption calculation formula, and use it as the fitness value of the individual bat.

[0055] In one embodiment, according to the energy consumption calculation formula Calculate the overall system energy consumption value E corresponding to each task sequence, which is the fitness value of the individual bat, where FT i Represents task ζ i Completion time, ST i Represents task ζ i The start time, N is the total number of tasks in the task sequence, p is the data transmission power when the mobile terminal device unloads data, and mainly includes the following steps:

[0056] Step S2.3.1: Determine the specific set of execution time slots and corresponding edge servers for each task in the task sequence.

[0057] Specifically, the task sequence obtained through the bat algorithm is used as input, and all time slots are traversed to identify tasks that cause the mobile device to unload. The set of consecutive time slots with the lowest energy consumption. Then, select the task. The target server s determines the time slot group where the task will eventually be executed, and marks all time slots within that time window as unavailable.

[0058] Step S2.3.2: Calculate the total energy consumption based on the energy consumption calculation formula.

[0059] Traversing the task sequence mapped by the Bat Algorithm, the completion of the traversal indicates that all terminal tasks have been unloaded. Based on the energy consumption calculation formula... Obtain the fitness value of this individual bat.

[0060] Step S2.3.3: Assess the feasibility of the task and the total energy consumption based on energy consumption.

[0061] Based on the remaining resources of the edge server, determine whether the current task can be unloaded within an idle time slot. If it cannot be completed, then this task sequence has no feasible solution; if it can be completed, calculate the current total energy consumption and determine the termination condition.

[0062] In step S2.3, in order to minimize the overall energy consumption of the MEC server and shorten the completion time of the task subsequence when executing the task sequence, a closer server should be selected for offloading to reduce the energy consumption and latency caused by the transmission process.

[0063] Step S2.4: The bat population is adjusted based on the best individual bat, and the globally optimal solution is added to the HashSet collection.

[0064] For example, an individual bat at location x i With speed v i Random movement, using a fixed sound wave frequency f i Variable sound wave loudness A i and frequency r i The bats locate prey and automatically adjust the loudness and frequency of their sound waves based on the distance between themselves and the prey. The bat population iteratively adjusts based on the optimal individual bat position. Each bat in each generation updates its position according to a formula... Formula for update speed Update the individual's position and velocity respectively, where ε∈[-1,1] is a random number, and x best This represents the location of the optimal bat individual in the bat population, and the sound wave loudness of bat i at time t. The calculation formula is: Finally, the fitness values ​​of the individual bats calculated in step S2.3 are sorted, and the optimal bat individual is determined based on the sorting results. After determining the global optimal solution, it is added to a HashSet set, and each individual bat in the bat population updates its own position and velocity again according to the position update formula and velocity update formula.

[0065] Step S3: Determine whether the task sequence needs to perform a local search, and further search for the global optimal solution based on the local search results.

[0066] For example, the MinHash algorithm is used to determine whether a local search is needed for the task sequence. Based on the determination result, if the condition is met, a local search is performed to update the population and the optimal solution, ultimately outputting a task offloading scheme and the corresponding optimal energy consumption value.

[0067] Locality-Sensitive Hashing (LSH), as an efficient approximate nearest neighbor search algorithm, can be applied to quickly find similar elements in large-scale datasets or for cluster preprocessing. MinHash, a specific implementation of LSH, is suitable for handling similarity calculations between sets and has low time complexity. Therefore, in the local search phase of the Bat Algorithm, MinHash technology can be used to search for better solutions in its surrounding areas to avoid premature convergence to local optima, thereby obtaining a better solution within an acceptable time delay.

[0068] In step S3, considering that local search is general and easy to implement, but performing a local search for every feasible solution of the task unloading sequence would incur significant time overhead, affecting the system's practicality and efficiency, the MinHash algorithm is used to find similar solutions near the local optimum for local search. This avoids the algorithm getting trapped in local optima while also controlling the potentially increased time cost. See [link to relevant documentation] Figure 6 As shown, step S3 mainly includes:

[0069] Step S3.1: Set k different hash functions.

[0070] Define a hash function, taking x as an integer, as h(x) = (ax + b) % c, where a and b are randomly selected integers less than the maximum value of x, and c is a prime number slightly greater than the maximum value of x. This method generates k distinct hash functions.

[0071] Step S3.2: For the current task sequence, use k hash functions to calculate its MinHash signature, and for each hash function, calculate the minimum value among all hash values ​​of the current task sequence as the i-th element of the signature.

[0072] For example, using the first hash function, the hash value of the current task sequence is calculated, and the minimum value among all calculation results is taken as the first value of the MinHash signature; then, using the second hash function, the minimum hash value obtained is taken as the second value of the signature. This process continues until a MinHash signature vector of length k is obtained. The MinHash algorithm improves the local search strategy of the original Bat Algorithm, thus mitigating the original Bat Algorithm's tendency to get trapped in local optima.

[0073] Step S3.3: For each task sequence, generate a signature using the same k hash functions. By calculating the number of identical signatures, determine whether the current task sequence is similar to a local optimum in the HashSet. If a similar task sequence is found, perform a local search on the current task sequence, i.e., search near the local optimum; if no similar task sequence is found, skip the local search operation. The specific comparison method in step S3.3 is as follows:

[0074] Step S3.3.1: Calculate the MinHash signature of the current task sequence, traverse the MinHash signatures of all locally optimal task sequences in the HashSet, and traverse all hash value positions i, counting the number of times two signatures have the same hash value at the same position i.

[0075] Step S3.3.2: Calculate the similarity estJsim. Using the similarity calculation formula estJsim = count / k, calculate the similarity. If the calculated similarity estJsim is greater than the preset threshold, it indicates that the current task sequence is similar to a local optimum. In this case, perform a local search operation on the current task sequence to search for a potentially better solution near the local optimum.

[0076] In summary, Locality Sensitive Hashing (LSH), as an advanced indexing and search algorithm, is based on the core idea of ​​designing a series of hash functions so that data points that are close in distance in the original search space are mapped to the same bucket or adjacent buckets in the hashed search space with a high probability; conversely, data points that are far apart are less likely to be mapped to the same bucket. This characteristic allows LSH to effectively reduce the search space and improve search efficiency when processing large-scale datasets, especially in scenarios involving high-dimensional data or requiring Approximate Nearest Neighbor (ANN) searches.

[0077] Step S3.4: Perform a local search on the task sequence space to obtain the fitness value of the optimal solution in this task sequence space after the search. If it is better than the fitness value of the global optimal solution, then update the global optimal solution and add it to the HashSet collection.

[0078] For example, step S3.4 includes: step S3.4.1, using three methods, swapping, inserting, and reversing, to construct the domain structure and perform a local search; step S3.4.2, evaluating the domain solutions generated by each method and recording the optimal solution.

[0079] Specifically, three methods for constructing neighborhood structures are randomly selected to perform a local search of the space of similar task sequences: task swapping, task insertion, and task reversing. For the current task scheduling sequence, swapping randomly selects two tasks to swap their order, inserting randomly selects two positions to insert the task at position 1 into position 2, and reversing randomly selects two positions as two reversal points to reverse the order of the task sequence within the range. If a better solution is found, the scheduling solution is changed to the better solution, and the optimal solution is added to the HashSet set.

[0080] In step S4, based on the globally optimal solution found, the bat population dynamically updates the individual positions to ensure that the population continues to move towards the globally optimal direction.

[0081] Step S5: Determine whether the set stopping conditions are met, until the optimal task unloading scheme and the lowest energy consumption are obtained.

[0082] Determine if the set stopping criteria are met (e.g., whether the maximum number of iterations has been reached). If met, output the solution and minimum energy consumption value corresponding to the optimal bat individual; otherwise, repeat steps S2 to S5 until the condition is met.

[0083] By executing steps S1 to S5 above, this invention realizes a mobility-aware edge computing task scheduling optimization process. This process fully utilizes the low latency characteristics of edge computing and the dynamic characteristics of mobile users, and achieves intelligent decision-making on task offloading schemes through an improved bat search algorithm, which can minimize the total system energy consumption while ensuring service quality.

[0084] In summary, this invention provides a task scheduling method based on an improved bat algorithm in a mobile edge computing environment. By reading task information, edge server information, and mobile user trajectory information, the method inputs this information into the improved bat algorithm to obtain task offloading schemes and their corresponding optimal energy consumption. This invention is applicable to large-scale task scheduling and energy-efficient edge computing task scheduling. By combining global search and local optimization of task offloading schemes, it reduces energy consumption and improves system timeliness.

[0085] This invention can be a system, method, and / or computer program product. A computer program product may include a computer-readable storage medium having computer-readable program instructions loaded thereon for causing a processor to implement various aspects of the invention.

[0086] Computer-readable storage media can be tangible devices capable of holding and storing instructions for use by an instruction execution device. Computer-readable storage media can be, for example, but not limited to, electrical storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any suitable combination thereof. The computer-readable storage media used herein are not to be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals transmitted through wires.

[0087] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.

[0088] The computer program instructions used to perform the operations of this invention may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk, C++, Python, etc., and conventional procedural programming languages ​​such as "C" or similar languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing state information from the computer-readable program instructions. This electronic circuitry can execute the computer-readable program instructions to implement various aspects of the invention.

[0089] Various aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0090] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner; thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0091] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0092] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions. It will be known to those skilled in the art that implementation in hardware, implementation in software, and implementation using a combination of software and hardware are equivalent.

[0093] The various embodiments of the present invention have been described above. These descriptions are exemplary and not exhaustive, and are not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical application, or technical improvements to the embodiments in the market, or to enable others skilled in the art to understand the embodiments disclosed herein. The scope of the invention is defined by the appended claims.

Claims

1. A task scheduling method based on an improved bat algorithm in a mobile edge computing environment, comprising the following steps: Step 1: For edge computing systems, obtain user task information and edge server information, and obtain the sequence of tasks to be unloaded based on user trajectories; Step 2: Using the user trajectory, user task information, and edge server information as input, the optimal solution for the current population is obtained using the bat search algorithm, wherein each individual in the bat population is mapped to a corresponding task sequence, and the optimal solution represents the optimal unloading scheme and the optimal total energy consumption; Step 3: Determine whether a local search is needed for the task sequence. If the determination is yes, then use locality-sensitive hashing to perform a local search and obtain the global optimal solution after the local search. Step 4: Based on the globally optimal solution found, dynamically update the individual positions of the bat population until the set stopping criteria are met, and output the final task scheduling decision; Among them, for task sets Any task Use tuples To indicate, DS i Indicates task Unloaded data size, CL i express The computational intensity, DL i Indicates task The completion deadline, step 23 includes: For the input task sequence of the Bat Algorithm, iterate through all time slots to identify the task that causes the mobile device to unload. The set of consecutive time slots with the lowest energy consumption is selected for task selection. The target server s determines the time slot group where the task will eventually be executed, and marks all time slots corresponding to that time slot group as unavailable; Traversing the task sequence mapped by the bat algorithm, upon completion of the traversal, the fitness value of the individual bat is obtained based on the following energy consumption calculation formula: Where p is the data transmission power when the mobile terminal device unloads the task, FT i Indicates tasks in a task sequence Completion time, ST i Indicates task Start time; Based on the remaining resources of the edge server, determine whether the current task can be unloaded within the idle time slot. If it can be completed, calculate the current total energy consumption and determine the termination condition. Step 3 includes: Step 31: Define the hash function as h(x) = (ax + b) % c, and generate k different hash functions, where x is an integer, a and b are randomly selected integers less than the maximum value of x, and c is a prime number slightly greater than the maximum value of x; Step 32: Use the first hash function to calculate the hash value of the current task sequence, and take the minimum value among all the calculation results as the first value of the minimum hash signature; then use the second hash function to calculate the minimum hash value as the second value of the minimum hash signature, and thus obtain the minimum hash signature vector of length k; Step 33: For each task sequence, generate a signature using the same k hash functions. By calculating the number of identical signatures, determine whether the current task sequence is similar to a local optimum in the HashSet. If a task sequence with similarity that meets the set conditions is found, perform a local search on the current task sequence; if no task sequence with similarity that meets the set conditions is found, skip the local search operation. Step 34: After performing a local search on the task sequence space, obtain the fitness value of the optimal solution in this task sequence space after the search. If it is better than the fitness value of the global optimal solution, update the global optimal solution and add it to the HashSet collection. In step 33, the following steps are used to determine whether the current task sequence is similar to a local optimum in the HashSet: Calculate the minimum hash signature of the current task sequence, traverse the minimum hash signature of all locally optimal task sequences in the HashSet, and traverse all hash value positions i, counting the number of times two signatures have the same hash value at the same position i. The similarity estJsim is calculated using the similarity calculation formula estJsim = count / k. If the calculated similarity estJsim is greater than a preset threshold, a local search operation is performed on the current task sequence to search for a better solution that may exist near the local optimum.

2. The method according to claim 1, characterized in that, Step 2 includes: Step 21: Initialize the bat population size, individual bat locations, and maximum number of iterations, and use a sigmoid mapping to assign each individual bat Φ i ={φ1, φ2, ..., φ i ,…,φ N } is mapped to the corresponding task sequence, where N is the total number of tasks; Step 22: Initialize and create an empty hash set HashSet to store the task sequence signatures corresponding to the local optimal solutions found in each iteration; Step 23: Calculate the system energy consumption value E corresponding to each task sequence as the fitness value of the individual bat; Step 24: Iteratively adjust the bat population based on the optimal individual bat, then sort the bats according to their calculated fitness values, and set the optimal individual bat based on the sorting results. After determining the global optimal solution, add it to a HashSet set, where each bat in the current bat population is updated according to the position formula x. new =x old +εA t Update location, x new Indicates the updated position, x old This indicates the position before the update, ε is a constant, and A t This represents the loudness of the sound wave in time slot t.

3. The method according to claim 1, characterized in that, In step 34, three methods for constructing a neighborhood structure are randomly selected to perform a local search on the task sequence: task swapping, task insertion, and task sequence flipping. For the current task scheduling sequence, task swapping randomly selects two tasks to swap their order, task insertion randomly selects two positions and inserts the task at the first position into the task at the second position, and task sequence flipping randomly selects two positions as two flip points for the task sequence and flips the order of the task sequence within the range.

4. The method according to claim 2, characterized in that, In step 24, the formulas for individual update position and update rate for each bat in each generation of the population are expressed as follows: Where ε∈[-1,1] is a random number, x best This indicates the position of the best individual bat in the bat population. Indicates the velocity of time slot t. This represents the velocity in time slot t-1. Indicates the position of time slot t-1. Indicates the position of time slot t, f i It represents the frequency of the sound wave.

5. A computer-readable storage medium having a computer program stored thereon, wherein, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 4.

6. A computer device comprising a memory and a processor, wherein a computer program capable of running on the processor is stored in the memory, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Resource scheduling method of cloud platform based on improved bat algorithm

    CN114358234A

  • Data acquisition system for financial science and technology information

    CN118799045A