A data service-oriented computing platform allocation method

By using real number encoding and Pareto archive iterative optimization, the problems of insufficient search capability and flexibility in computing platform allocation methods are solved, realizing efficient and flexible computing platform allocation under different decision preferences and improving the overall system performance.

CN122137879APending Publication Date: 2026-06-02BEIJING BIG DATA ADVANCED TECH RES INST

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
BEIJING BIG DATA ADVANCED TECH RES INST
Filing Date
2026-03-04
Publication Date
2026-06-02

AI Technical Summary

Technical Problem

Existing computing platform allocation methods are difficult to generate effective solutions, have insufficient search capabilities, and are unable to provide better solutions under different decision preferences, especially lacking flexibility under multiple constraints or multiple optimization objectives.

Method used

By encoding the number of data services and the number of edge computing platforms with real numbers, and using a fractional weighting repair strategy and Pareto archive iterative optimization, feasible solutions that meet the total constraints are generated and non-dominated solutions are screened, thereby improving search capabilities and adaptability.

Benefits of technology

It provides better solutions under different decision preferences, adapts to allocation needs in different scenarios, and improves the engineering practicality of the algorithm and the overall system performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122137879A_ABST
    Figure CN122137879A_ABST
Patent Text Reader

Abstract

This application discloses a method, apparatus, device, and storage medium for allocating computing platforms for data services, belonging to the field of cloud computing. The method includes: encoding the number of data services and the number of edge computing platform types with real numbers to obtain an encoded population; applying a fractional weighting repair strategy to the encoded population according to a preset total quantity constraint to obtain a feasible solution population; selecting non-dominated solutions based on the multi-objective fitness of each feasible solution to initialize a Pareto archive; performing iterative optimization on the population according to the Pareto archive until a preset number of iterations is reached to obtain a Pareto optimal solution set; the Pareto optimal solution set includes a set of allocation schemes for edge computing platforms that satisfy the total quantity constraint; and allocating data services to edge computing platforms according to the allocation schemes. This application can solve the problems of insufficient search capability and difficulty in providing optimal solutions under different decision preferences in existing computing platform allocation methods.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of cloud computing, and specifically relates to a computing platform allocation method, apparatus, device and storage medium for data services. Background Technology

[0002] Data services refer to services that provide a range of functions, including data collection, storage, processing, analysis, and transmission. Computing Platform Allocation (CPA) involves how to allocate a series of platforms with different computing resources to a target data service with computing needs for deployment, in order to complete the data service's computing tasks in the most optimized way.

[0003] The current mainstream solution is to use approximate solutions, employing evolutionary algorithms and heuristic rules to obtain approximate solutions. Evolutionary algorithm-based methods are easy to implement, fast to solve, and widely applicable.

[0004] However, computational platform allocation methods based on evolutionary algorithms struggle to generate effective solutions through swarm operations, resulting in insufficient search capabilities. Furthermore, most computational platform allocation methods based on evolutionary algorithms employ a weighted ensemble approach with multiple constraints or optimization objectives to form a single optimization objective CPA, lacking flexibility and failing to provide optimal solutions under different decision preferences. Summary of the Invention

[0005] The purpose of this application is to provide a computing platform allocation method, apparatus, device, and storage medium for data services, which can solve the problems that existing computing platform allocation methods have insufficient search capabilities and are difficult to provide optimal solutions under different decision preferences.

[0006] A first aspect of the present invention provides a computing platform allocation method for data services, comprising: The number of data services and the number of edge computing platform types are encoded using real numbers to obtain an encoding population; the integer part of each encoding represents the number of platforms allocated, and the fractional part of each encoding represents the weighting coefficient. A fractional weighting repair strategy is applied to the encoded population according to the preset total quantity constraint to obtain a feasible solution population. Based on the multi-objective fitness of each feasible solution, non-dominated solutions are selected to initialize the Pareto archive; According to the Pareto profile, iterative optimization is performed on the population until a preset number of iterations is reached to obtain the Pareto optimal solution set; the Pareto optimal solution set includes a set of allocation schemes for edge computing platforms that satisfy the total quantity constraint conditions; According to the allocation scheme, the data service is allocated to the edge computing platform.

[0007] A second aspect of the present invention provides a computing platform allocation apparatus for data services, the apparatus comprising: The encoding module is used to encode the number of data services and the number of edge computing platform types using real numbers to obtain an encoding population; the integer part of each encoding represents the number of platforms allocated, and the fractional part of each encoding represents the weighting coefficient. The repair module is used to perform a fractional weight repair strategy on the encoded population according to a preset total quantity constraint to obtain a feasible solution population. The archive module is used to filter out non-dominated solutions to initialize the Pareto archive based on the multi-objective fitness of each feasible solution; The iteration module is used to perform iterative optimization on the population according to the Pareto profile until a preset number of iterations is reached to obtain the Pareto optimal solution set; the Pareto optimal solution set includes a set of allocation schemes for edge computing platforms that satisfy the total quantity constraint conditions; The allocation module is used to allocate the data service to the edge computing platform according to the allocation scheme.

[0008] A third aspect of the present invention provides an electronic device comprising: A processor, a memory, and a computer program stored in the memory and executable on the processor, characterized in that, when the processor executes the program, it implements a data service-oriented computing platform allocation method as described in any of the foregoing examples.

[0009] In this embodiment, the combinatorial allocation problem is transformed into a continuous optimization problem by encoding the number of platform types and services with real numbers. Secondly, a fractional weighting strategy automatically converts infeasible solutions into feasible solutions that satisfy the total quantity constraints. Non-dominated solutions are then filtered from the feasible solutions, eliminating dominated solutions, reducing invalid searches, improving the quality of the initial population, and thus enhancing the overall robustness of the algorithm. Thirdly, iterative optimization using the Pareto archive improves the quality of the initial search, thereby enhancing the search capability of the method. Finally, a set of Pareto optimal allocation schemes that satisfy the constraints is output. Based on the allocation scheme of the edge computing platform, data services are allocated to the edge computing platform, providing better solutions under different decision preferences, adapting to allocation needs in different scenarios, and significantly improving the engineering practicality of the algorithm and the overall system performance. Attached Figure Description

[0010] Figure 1 This is a flowchart of a data service-oriented computing platform allocation method provided in an embodiment of this application.

[0011] Figure 2 This is a flowchart illustrating the specific steps of a data service-oriented computing platform allocation method provided in an embodiment of this application.

[0012] Figure 3 This is a schematic diagram of a mapping to obtain an encoded population provided in an embodiment of this application.

[0013] Figure 4 This is a schematic diagram illustrating an implementation of a fractional weighting repair strategy provided in an embodiment of this application.

[0014] Figure 5 This is a block diagram of a computing platform allocation device for data services provided in an embodiment of this application.

[0015] Figure 6 This is a block diagram of an electronic device provided in an embodiment of this application.

[0016] Figure 7 This is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0017] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0018] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such use of data can be interchanged where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein. Furthermore, in the specification and claims, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship.

[0019] Data services refer to a range of services that provide data collection, storage, processing, analysis, and transmission. These services can be flexibly allocated in the cloud or locally, assisting enterprises or individuals in better managing and utilizing data resources. With the deepening development of the digital economy, data has become a core production factor driving social progress and industrial upgrading. The cross-integration of technologies such as big data, artificial intelligence, the Internet of Things, and cloud computing has driven an explosive growth in the global data scale. Data types are rapidly expanding from traditional structured data to unstructured and semi-structured data, and data application scenarios are placing higher demands on real-time performance, accuracy, processing efficiency, and value mining capabilities. Against this backdrop, data services, as a bridge connecting data resources and business needs, are becoming increasingly important—whether it's real-time risk control decisions in the financial sector, intelligent assisted diagnosis of medical images, equipment status prediction in the industrial internet, or efficient governance in smart cities, all rely on efficient, stable, and flexible data service support, covering the entire lifecycle of data collection, cleaning, storage, computation, analysis, and sharing.

[0020] Traditional deployment methods for computing platforms are gradually revealing their limitations in addressing the diverse needs of data services. On the one hand, data loads exhibit significant dynamic fluctuations and heterogeneity, making it difficult for static deployment models to achieve on-demand resource allocation and elastic scaling, which can easily lead to low resource utilization or service performance bottlenecks. On the other hand, the rapid iteration of data services and the need for cross-environment allocation (such as collaboration between development, testing, and production environments) pose challenges to the automation and portability of deployment processes. Traditional allocation methods that rely on manual configuration are not only inefficient but also prone to causing inconsistencies in the environment and high operational complexity.

[0021] In real-world applications, data services are provided by different platforms, which have varying computing capabilities and limited resources. Therefore, it is necessary to consider the actual goals and environment and allocate appropriate computing platforms to different data services in order to optimize resource utilization and improve the effectiveness and robustness of data services.

[0022] Evolutionary algorithms, which simulate the survival-of-the-fittest biological behavior or natural phenomena, are methods for iteratively optimizing solutions to problems and have been extensively studied and applied in many fields. The Computing Platform Deployment (CPA) problem is a non-deterministic polynomial (NP) hard problem, making it difficult to find an exact solution in polynomial time. Evolutionary algorithms, however, can obtain approximate solutions to the optimization problem within a given time and possess advantages such as low computational complexity, high global applicability, and strong applicability, making them a primary method in related research.

[0023] Computing Platform Allocation (CPA) involves allocating a series of platforms with different computing resources to deploy on a target data service with computing needs, in order to complete the data service's computing tasks in an optimal manner. CPA is a typical combinatorial optimization problem, requiring improvements in task execution efficiency, cost reduction, and target success rate while meeting task requirements and constraints. Current mainstream solutions employ techniques such as dynamic programming, branch and bound, and Lagrange relaxation for exact solutions on small scales, and approximate solutions using evolutionary algorithms and heuristics for larger scales. Since exact solutions are difficult to apply to large-scale CPA problems, approximate solutions are generally used in practice. Evolutionary algorithm-based methods, in particular, are easy to implement, fast, and widely applicable, and have received extensive research and practical validation.

[0024] Since CPA is a combinatorial optimization problem, evolutionary algorithm-based methods struggle to generate efficient solutions through swarm operations, resulting in insufficient search capabilities. Furthermore, most evolutionary algorithm-based methods employ a weighted ensemble approach with multiple constraints or optimization objectives, forming a single-objective CPA. While simple and effective, this lacks flexibility and fails to provide optimal solutions for different decision preferences.

[0025] To address the aforementioned issues, this disclosure provides a method, apparatus, device, and medium for allocating computing platforms for data services. The following detailed description of the data service-oriented computing platform allocation method provided by this application, in conjunction with the accompanying drawings, will illustrate the specific embodiments and application scenarios.

[0026] Figure 1 This is a flowchart illustrating the steps of a data service-oriented computing platform allocation method provided in an embodiment of this application. Figure 1 As shown, the method may include the following steps.

[0027] Step 101: Encode the number of data services and the number of edge computing platform types using real numbers to obtain the encoded population.

[0028] In the embodiments of this application, the integer part of each code represents the platform allocation quantity, and the fractional part of each code represents the weighting coefficient.

[0029] In the embodiments of this application, real number encoding is a technique for converting real numerical values ​​into a computer-processable binary form.

[0030] In some embodiments, the coding length is determined based on the number of services and the number of categories; the two-dimensional allocation relationship between the number of services and the number of categories is mapped to a one-dimensional vector of coding length to obtain the coding population.

[0031] In some embodiments, prior to step 101, the above-described data service-oriented computing platform allocation method may further include: receiving user input on the number of data services and the number of edge computing platform types.

[0032] In some embodiments, the data services and edge computing platforms can be data services and edge computing platforms within a preset area. For example, an interactive interface displays allocable data services and edge computing platforms, and in response to a user's selection of an area, the number of data services and the number of edge computing platforms in the selected area are obtained.

[0033] In some embodiments, the edge computing platform includes at least one of drones, unmanned vehicles, industrial gateways, and edge servers; the data services include at least one of data storage services, data processing and analysis services, data transmission services, data security services, data sharing and exchange services, and data visualization services.

[0034] Step 102: Perform a fractional weighting repair strategy on the encoded population according to the preset total quantity constraints to obtain a feasible solution population.

[0035] In some embodiments, the total allocation limit includes a total allocation for each edge computing platform that is less than or equal to the available total.

[0036] In some embodiments, the feasible solution population includes a set of platform allocation schemes that satisfy the total quantity constraint, and each solution in the feasible solution population has a corresponding multi-objective fitness value.

[0037] In some embodiments, the encoded population is converted into an allocation matrix; an integer matrix and a fractional matrix are separated from the allocation matrix; if the total number of allocations exceeds the available total, the number of allocations in the integer matrix is ​​reduced according to the weight values ​​in the fractional matrix until the total amount constraint is met.

[0038] It's important to note that the total quantity constraints differ across application scenarios. For example, in emergency rescue scenarios, the total quantity constraint includes: the total allocated number of each type of drone is less than or equal to the actual usable number of that type of drone. In smart city inspection scenarios, the total quantity constraint includes: the allocated number of each type of unmanned vehicle is less than or equal to the number of unmanned vehicles currently in service. Furthermore, in industrial IoT scenarios, the allocated number of edge servers is less than or equal to the total number of servers actually deployed in the data center, and the allocated number of industrial gateways is less than or equal to the total number of gateways that the workshop network nodes can support.

[0039] Step 103: Based on the multi-objective fitness of each feasible solution, select non-dominated solutions to initialize the Pareto archive.

[0040] In this embodiment, the multi-target fitness includes a first fitness and a second fitness.

[0041] In the embodiments of this application, a non-dominated solution refers to a solution for which no other solution is superior to the solution in all objective functions.

[0042] In some embodiments, the feasible solution population includes a set of legal platform allocation schemes that satisfy the total number constraint, each scheme being processed by a fractional weighting repair strategy and carrying a multi-objective fitness value.

[0043] In this embodiment, the Pareto archive is a set of Pareto optimal solutions used to record Pareto solutions generated during the evolution process.

[0044] In some embodiments, all non-dominated solutions selected from the feasible solution population constitute the initial Pareto optimal solution set, which serves as the basic optimal solution set for the algorithm's iterative optimization.

[0045] Step 104: Perform iterative optimization on the population according to the Pareto profile until the preset number of iterations is reached, and obtain the Pareto optimal solution set.

[0046] In this embodiment, the Pareto optimal solution set includes a set of allocation schemes for edge computing platforms that satisfy the total quantity constraint.

[0047] In some embodiments, each solution in the Pareto optimal solution set corresponds to a set of multi-objective fitness values ​​that can no longer be optimized simultaneously. These multi-objective fitness values ​​include a first fitness and a second fitness.

[0048] For example, the first fitness is used In other words, the second fitness is used This indicates that the Pareto optimal solution set is .

[0049] Understandably, the Pareto optimal solution set is not a single solution; it can satisfy different business preferences, such as efficiency priority, cost priority, and equilibrium priority, thereby improving the applicability of the solution.

[0050] In some embodiments, after step 104, the above-described data service-oriented computing platform allocation method may further include: outputting an allocation scheme in the Pareto optimal solution set.

[0051] In this embodiment of the application, the preset iteration number represents the maximum number of iterations, for example, the preset iteration number can be 100 times.

[0052] Step 105: According to the allocation scheme, allocate the data service to the edge computing platform.

[0053] In some embodiments, the Pareto optimal solution set includes different types of allocation schemes, and the data services of any one of them can be allocated to different edge computing platforms.

[0054] For example, in an emergency rescue scenario, the edge computing platform includes 5 small drones and 3 medium-sized drones. Data services include real-time video transmission, disaster area data processing, and data security encryption. The allocation schemes in the Pareto optimal solution set include: 1) Balanced allocation scheme: 3 small drones are allocated to real-time video transmission service, 1 small drone is allocated to disaster area data processing service, 1 medium-sized drone is allocated to disaster area data processing service, and 2 medium-sized drones are allocated to data security encryption service. 2) Video transmission priority allocation scheme: All 5 small drones are allocated to real-time video transmission service, 2 small drones are allocated to disaster area data processing service, and 1 medium-sized drone is allocated to data security encryption service.

[0055] In emergency rescue scenarios, either a balanced allocation scheme or a video transmission priority allocation scheme can be implemented.

[0056] In some embodiments, in response to a user's allocation selection operation, data services are allocated to the edge computing platform according to the selected allocation scheme.

[0057] For example, in an industrial IoT edge computing scenario, the edge computing platform includes 8 edge servers and 12 industrial gateways. Data services include data processing services, data transmission services, data security services, and data visualization services. The allocation schemes in the Pareto optimal solution set include: 1) Security-priority allocation scheme: 4 edge servers are allocated to data processing service, 4 edge servers are allocated to data security service, 6 industrial gateways are allocated to data transmission service, and 4 industrial gateways are allocated to data visualization service.

[0058] 2) High-quality allocation scheme: All 8 edge servers are allocated to data processing service and data security service, and all 12 industrial gateways are allocated to data transmission service and data visualization service.

[0059] 3) Balanced allocation scheme: 4 edge servers are allocated to data processing service, 2 edge servers are allocated to data transmission service, 2 edge servers are allocated to data security service, 6 industrial gateways are allocated to data transmission service, 2 industrial gateways are allocated to data security service, and 4 industrial gateways are allocated to data visualization service.

[0060] In response to the user's choice of a security-priority allocation scheme, four edge servers are deployed to the core production line to run data processing services and process sensor data in real time; four edge servers are deployed to the data center area to run data security services to encrypt and control access to all industrial data; six industrial gateways are deployed to the workshop network nodes to run data transmission services and be responsible for data forwarding between devices and edge servers; and four industrial gateways are deployed to the monitoring center to run data visualization services to display production line status and alarm information.

[0061] In summary, in this embodiment, by encoding the number of platform types and services with real numbers, the combinatorial allocation problem is transformed into a continuous optimization problem. Secondly, through a fractional weighting repair strategy, infeasible solutions are automatically converted into feasible solutions that satisfy the total quantity constraints. By filtering non-dominated solutions from the feasible solutions, dominated solutions can be eliminated, invalid searches are reduced, the quality of the initial population is improved, and thus the overall robustness of the algorithm is enhanced. Thirdly, through iterative optimization of the Pareto archive, the quality of the initial search is improved, thereby enhancing the search capability of the method. Finally, a set of Pareto optimal allocation schemes that satisfy the constraints is output. Based on the allocation scheme of the edge computing platform, data services are allocated to the edge computing platform, which can provide better solutions under different decision preferences, adapt to allocation needs in different scenarios, and significantly improve the engineering practicality of the algorithm and the overall system performance.

[0062] Figure 2 This is a flowchart illustrating the specific steps of a data service-oriented computing platform allocation method provided in an embodiment of this application. (See also...) Figure 2 The method may include the following steps.

[0063] Step 201: Determine the code length based on the number of services and the number of types.

[0064] In some embodiments, the product of the number of services and the number of categories is used as the encoding length.

[0065] For example, there are M types of edge computing platforms in the preset area, and the number of each type of platform is respectively There are T target data services, and the encoding length is represented by L. .

[0066] In some embodiments, the edge computing platform includes at least one of drones, unmanned vehicles, industrial gateways, and edge servers; the data services include at least one of data storage services, data processing and analysis services, data transmission services, data security services, data sharing and exchange services, and data visualization services.

[0067] For example, drones, unmanned vehicles, etc. need to be assigned to target locations according to the allocation results to provide computing resources for data services.

[0068] By combining the mobile platform with various data services, the applicable scenarios are expanded, the versatility and engineering feasibility of the algorithm are enhanced, and the overall performance, real-time performance, security and reliability of the edge computing system are improved.

[0069] In some embodiments, prior to step 201, the above-described data service-oriented computing platform allocation method further includes: obtaining the number of services, the number of types, the computing resource requirement coefficient for each data service, and the allocation cost for each edge computing platform, and establishing an edge computing platform allocation model for data services.

[0070] Step 202: Map the two-dimensional allocation relationship between the number of services and the number of categories into a one-dimensional vector of coding length to obtain the coding population.

[0071] In the embodiments of this application, each element in the coding population corresponds to a real number code. The integer part of each real number code represents the quantity allocated by the platform, and the decimal part of each real number code represents the weight coefficient.

[0072] In some embodiments, the two-dimensional allocation relationship can refer to the M×T dimensional allocation matrix relationship formed between M edge computing platforms and T data services, where the matrix elements represent the number of each platform allocated to each service.

[0073] In some embodiments, the decimal part serves as a weight for the value, providing a basis for repairing solutions that do not meet the constraints.

[0074] For example, Figure 3 This is a schematic diagram of a mapping to obtain an encoded population provided in an embodiment of this application. Figure 3 Taking the allocation problem of multi-objective computing platforms with 4 types of edge computing platforms and 5 target data services as an example, such as... Figure 3 As shown in the two-dimensional matrix on the left, the rows of the two-dimensional matrix represent the edge computing platform, and the columns of the two-dimensional matrix represent the data services. Figure 3 The right side shows the implementation of individual encoding during actual encoding, which involves concatenating the values ​​in each row to form an individual solution of length 20. For example, the value in the first row and second column indicates that the "number" allocated by edge computing platform 1 to data service 2 is 2.78. Similarly, the values ​​in the first row and second column and the first row and third column are 2.78 and 1.99 respectively, indicating that edge computing platform 1 allocates 2 and 1 platforms to target 2 and data service 5 respectively; the decimals are 0.78 and 0.99, indicating that the weight allocated by edge computing platform 1 to data service 5 is greater than the weight allocated by edge computing platform 1 to data service 2.

[0075] Through the above technical solution, since the platform allocation scheme is a two-dimensional structure, while evolutionary algorithms and swarm intelligence algorithms are more suitable for processing one-dimensional vectors, the two-dimensional allocation relationship is mapped to a one-dimensional vector with a coding length, thus transforming the two-dimensional allocation problem into a one-dimensional coding problem, which facilitates algorithm iteration. Furthermore, fixing the coding length and the mapping rules makes the algorithm's search space structure clearer, improving the algorithm's feasibility, search efficiency, and optimization stability.

[0076] Step 203: Convert the encoded population into an allocation matrix.

[0077] In this embodiment of the application, the rows of the allocation matrix represent the number of categories, and the columns of the allocation matrix represent the number of services.

[0078] In some embodiments, the one-dimensional encoded sequence is restored to an M-row, T-column two-dimensional allocation matrix.

[0079] It is understandable that each individual in the encoded population is a one-dimensional real-number encoded sequence, which is the basic form of population iteration, but it cannot directly distinguish which platform is assigned to which service. Therefore, it is necessary to restore the one-dimensional encoding used in algorithm iteration to a two-dimensional allocation structure that fits the business logic, so as to facilitate repair according to the total quantity constraints.

[0080] Step 204: Separate the integer matrix and the fractional matrix from the allocation matrix.

[0081] In some embodiments, the integer part of each real number in the allocation matrix is ​​retained to obtain an integer matrix; the fractional part of each real number in the allocation matrix is ​​retained to obtain a fractional matrix. The integer matrix represents the number of platforms initially allocated to the service, which is the actual number of resources allocated; the fractional matrix represents the priority weight of the allocation item, with a higher weight indicating a higher priority for the allocation item.

[0082] In some embodiments, after step 204, the above-described data service-oriented computing platform allocation method further includes: checking each row in the integer matrix to determine whether the total allocation of each platform exceeds its available total.

[0083] Step 205: If the total allocation exceeds the available total, reduce the allocation in the integer matrix according to the weight values ​​in the fractional matrix until the total amount constraint is met.

[0084] In some embodiments, for platforms with excessive allocation, low-priority allocation items are reduced first according to weight, while maximizing the retention of high-priority allocations while satisfying constraints, thus ensuring the quality of the solution.

[0085] In this embodiment of the application, the sum of each row in the integer matrix represents the total allocation quantity of a certain type of platform. If the sum of the row is greater than the total available quantity of the platform, a reduction is triggered.

[0086] In this embodiment of the application, the total quantity constraint includes that the total allocation quantity for each edge computing platform is less than or equal to the available total quantity.

[0087] For example, in a certain region, there are M types of edge computing platforms, and the number of each type of platform is respectively... The allocation cost for each platform is There are T target data services, and the computational resource requirement coefficient for each target is... The computational service efficiency of the i-th platform for the j-th data service is Where i = 1, 2, ..., M; j = 1, 2, ..., T), The multi-objective computing platform allocation scheme in this scenario is as follows: (1) In formula (1), This represents the number of platforms of type i allocated to target j. The total quantity constraint means that the number of platforms allocated to each edge computing platform must not exceed the total available number of edge computing platforms of that type. .

[0088] Through the above technical solutions, the encoded population is transformed into a platform-service allocation matrix, the integer and decimal matrices are separated, and the over-allocation is intelligently reduced based on weights. This achieves more precise constraint verification, intelligent repair process, and optimal solution quality, effectively improving the stability and optimization effect of the multi-objective optimization algorithm.

[0089] In some embodiments, step 205 includes sub-steps 2051 to 2054.

[0090] Sub-step 2051: If the total allocation exceeds the available total, determine the target row to be repaired in the fractional matrix.

[0091] Sub-step 2052: Sort the elements in the target row in ascending order of their values ​​to obtain a sorted index list.

[0092] Sub-step 2053: Based on the sorted index list, decrease the number of non-zero allocations in the target row by a preset value.

[0093] Sub-step 2054: Repeat the reduction operation until the total number of allocations for the target row is less than or equal to the total number of available allocations.

[0094] In some embodiments, the preset value can be 1, or the preset value can be set according to actual needs.

[0095] In some embodiments, the target row is the row in the decimal matrix that corresponds to the excess row in the integer matrix. For example, if the second row of the integer matrix is ​​excess, the second row of the decimal matrix is ​​the target row to be repaired.

[0096] Understandably, the smaller the weight, the less important the allocation item is, and it is prioritized for reduction. Therefore, all elements in the target row are sorted in ascending order of value, and the position of each element in the original row is recorded to obtain a sorted index list. The sorted index list is used to represent the index rather than the value itself, and it reflects the correspondence between weight and allocation quantity.

[0097] In some embodiments, only items with values ​​greater than 0 in the integer matrix are pruned, and items with a value of 0 are not assigned to be pruned.

[0098] In some embodiments, the total number of allocations for the target row is immediately recalculated after each cut.

[0099] For example, Figure 4 This is a schematic diagram illustrating an implementation of a fractional weighting repair strategy provided in an embodiment of this application. Figure 4 As shown, the two-dimensional matrix IOM has 4 rows and 5 columns, indicating that 4 types of platforms need to be allocated to 5 targets. Matrix U indicates that the number of platforms of the 4 types are 3, 5, 4, and 8, respectively. First, construct the integer matrix IOI and the fractional matrix IOF using the two-dimensional matrix IOM. It can be seen that the sum of the first row of IOI is 5, that is, the allocation quantity of the first type of platform is 5, which is greater than the actual number of available platforms of 3, so it needs to be corrected. Sort the first row of IOF in descending order, which is {4,3,1,5,2}. Traverse the first row of IOI according to the descending order list, first subtract 1 from the 3rd bit and then subtract 1 from the 5th bit. At this time, the constraint condition is met, so the correction of the first row ends.

[0100] The above technical solution only repairs the allocation items of the excessive platform, without interfering with the allocation schemes of other compliant platforms, thus ensuring the accuracy of the repair; it also reduces the allocation items gradually according to priority, avoiding a large-scale reduction at once that would lead to a decrease in solution quality.

[0101] Step 206: Based on the multi-objective fitness of each feasible solution, select non-dominated solutions to initialize the Pareto archive.

[0102] In this embodiment, the multi-target fitness includes a first fitness and a second fitness.

[0103] The method for this step has been explained in step 103 above, and will not be repeated here.

[0104] In some embodiments, step 206 can be transformed into a multi-objective combinatorial optimization problem with constraints. A multi-objective optimization problem refers to the need to simultaneously optimize two or more conflicting optimization objectives.

[0105] For example, the definition of minimizing dynamic multi-objective optimization (DMOP) is as follows: (2) In formula (2), x is the decision vector in space Rn, F(x) is the objective function vector that evaluates the decision vector x, and M is the number of optimization objectives. and These represent the number of inequality constraints and the number of equality constraints, respectively.

[0106] In some embodiments, step 206 includes sub-steps 2061 to 2064.

[0107] Sub-step 2061: Calculate the first fitness based on the computational resource demand coefficient of each data service and the unservice efficiency of each data service under the platform allocation scheme.

[0108] Sub-step 2062: Based on the number of data services allocated by each edge computing platform and the unit allocation cost of each edge computing platform, the second fitness is obtained.

[0109] Sub-step 2063: Based on the first fitness and second fitness of each feasible solution, select all non-dominated solutions from the initial population to obtain the initial set of high-quality solutions.

[0110] Sub-step 2064: Initialize the Pareto archive based on the initial set of high-quality solutions.

[0111] In this embodiment, the first fitness is used to minimize the total computational demand coefficient of all data services. The computational resource demand coefficient represents the intensity of the data service's demand for computational resources.

[0112] In this embodiment, unserved efficiency represents the percentage of computing needs of any data service that are not met by the edge computing platform under the current allocation scheme.

[0113] In this embodiment, the second fitness is used to minimize the total allocation cost.

[0114] In this embodiment of the application, the platform allocation quantity refers to the amount of resources that any edge computing platform allocates to a certain data service, and the unit allocation cost refers to the cost of allocating one unit of resource by any platform.

[0115] For example, the first fitness is used In other words, the second fitness is used If the optimization objective is to minimize the computational demand coefficient and allocation cost of the target data service, then the optimization objective function is: (3) In formula (3), the allocation cost for each platform is: The computational service efficiency of the i-th platform for the j-th data service is (i=1,2,…,M;j=1,2,…,T), where The computational resource requirement coefficient for each objective is: , This represents the number of platforms allocated to the j-th target using the i-th type of platform.

[0116] In the embodiments of this application, for solutions A and B, if the first fitness of solution A is less than or equal to that of solution B, and the second fitness is less than or equal to that of solution B (at least one objective is better), then solution B is "dominated" by solution A; a non-dominated solution is a solution that is not dominated by any other solution.

[0117] In some embodiments, all feasible solutions in the initial population are traversed, and the two fitness values ​​are compared one by one. All dominated solutions are eliminated to obtain the initial set of high-quality solutions.

[0118] For example, Solution 1: First fitness = 0.23, Second fitness = 28; Solution 2: First fitness = 0.20 (better), Second fitness = 30 (worse); Solution 3: First fitness = 0.30 (worse), Second fitness = 25 (better); Solutions 1, 2, and 3 do not dominate each other and all enter the initial set of high-quality solutions; If there is a Solution 4: First fitness = 0.25, Second fitness = 30 (dominated by Solution 1), it is removed.

[0119] In this embodiment, the Pareto archive is a set specifically for storing non-dominated solutions. New solutions generated in subsequent iterations can only be included in the archive if they are better (non-dominated) than existing solutions in the archive, while old solutions dominated by the new solutions are removed.

[0120] In some embodiments, the initial set of high-quality solutions selected is directly used as the initial content of the Pareto archive.

[0121] Through the above technical solutions, precise quantification of multi-dimensional optimization is achieved by defining dual-objective fitness, taking into account both service achievement and cost optimization, thus improving the flexibility of the algorithm. Secondly, the non-dominated solution screening can eliminate inefficient and substitutable allocation schemes in the initial population, preventing the algorithm from wasting computing power in the inefficient solution space and improving iteration efficiency. Finally, the Pareto archive, as the storage carrier of non-dominated solutions, is conducive to guiding the algorithm to continuously search in the direction of optimal trade-offs, thereby generating a high-quality Pareto optimal solution set.

[0122] Step 207: In each iteration, the first descendant solution is generated based on the perceptual probability, and the second descendant solution is generated by performing crossover and mutation operations based on the Pareto profile.

[0123] In the embodiments of this application, the first descendant solution may be generated according to an evolutionary algorithm. For example, the first descendant solution is generated according to the crow search algorithm (CSA).

[0124] It should be noted that CSA is an evolutionary algorithm inspired by the intelligent behavior of crows storing excess food in hidden locations and observing and stealing food hidden by other birds. It includes the following rules: 1) Crows live in groups; 2) Crows remember the locations where they hide food; 3) Crows follow other crows to try to steal the food they hide; 4) Crows will fool the crows that follow them with a certain probability in order to protect their own food.

[0125] Individual crows remember their historical best positions in each iteration of CSA as their food storage locations. If, in one iteration, crow i follows crow j in an attempt to steal food, the following two scenarios may occur: 1) If crow j does not find crow i, then crow i will move closer to crow j's remembered location and update its own position according to the following formula: (4) In formula (4), xi,t+1 represents the position vector of the i-th crow, i and j represent the corresponding individual crows, t represents the number of iterations, and m represents the individual's memorized position. A random number uniformly distributed between (0,1). For individual flight distances; 2) If crow j discovers crow i, then crow j will guide crow i to a random location in the search space. The above two cases are controlled by the awareness probability (AP) parameter, as shown in the following formula: (5) In formula (5), It is a random number uniformly distributed between (0,1).

[0126] In this embodiment, the second descendant solution is generated by performing crossover and mutation operations on the non-dominated solutions in the Pareto archive.

[0127] In some embodiments, step 207 includes sub-steps 2071 to 2076.

[0128] Sub-step 2071: In each iteration, randomly select a solution from the Pareto archive as the global guiding solution.

[0129] Sub-step 2072: Generate a random number within a preset range for each individual in the population, update the position based on the perception probability and the random number, and obtain the first generation solution.

[0130] Sub-step 2073: Arrange the solutions in the Pareto archive from largest to smallest according to multi-objective fitness.

[0131] Sub-step 2074: Perform a single-point crossover operation on the first parent solution selected by the roulette strategy and the randomly selected second parent solution to generate a crossover descendant solution.

[0132] Sub-step 2075: Randomly select the solution to be mutated from the Pareto archive, traverse the encoded values ​​of the solution to be mutated, and update the perturbation based on the random number and mutation probability to obtain the mutated descendant solution.

[0133] Sub-step 2076: Combine the crossover descendant solutions and the mutated descendant solutions to obtain the second descendant solution.

[0134] In some embodiments, when the random number is less than or equal to the perceived probability, the individual converges towards the global guiding solution and updates its position; when the random number is greater than the perceived probability, the individual performs random exploration to update its position and obtains the first descendant solution.

[0135] For example, in the first When the random value is greater than the control parameter AP, the position of the current individual is updated using formula (6): (6) In formula (6), Indicates that individual i is in the first... The position of the generation, The step size is represented by r, which is a vector of length L, and its value is a random number between 0 and 1. The inner product is represented by `leader`, which represents a Pareto solution selected from the archive.

[0136] When the random number is less than or equal to the perceived probability, individual i will fly to a random location with a certain probability, and the location will be updated using formula (7): (7) In formula (7), Representing a random position, the Pareto solution is also considered during the process of flying to the random position, thus achieving better convergence while maintaining a certain degree of diversity.

[0137] In this embodiment of the application, the roulette strategy can be roulette wheel selection.

[0138] In some embodiments: a first parent solution is selected by roulette wheel selection, and a second parent solution is randomly selected from the Pareto archive; a single-point crossover operation is performed on the first and second parent solutions to generate a crossover descendant solution.

[0139] In some embodiments, an individual solution to be mutated is randomly selected from the Pareto archive storing non-dominated solutions; all encoded values ​​of the individual solution are traversed sequentially, and a random value in the interval [0,1] is generated for each encoded value; if the generated random value is less than the preset mutation probability, a random threshold in the interval (0,1) is added to the current encoded value to perturb it; if the random value is not less than the mutation probability, the current encoded value is kept unchanged.

[0140] The above technical solution achieves the following: First, globally oriented solutions are randomly selected from the Pareto archive to ensure convergence efficiency and search capability. Second, solutions in the Pareto archive are sorted from largest to smallest based on multi-objective fitness, and the first parent solution is selected using a roulette wheel strategy to prioritize solutions with better optimization performance as the basis for gene recombination. Simultaneously, a second parent solution is randomly selected to balance the inheritance of high-quality genes and population diversity, reducing the generation of inefficient solutions. Third, only solutions to be mutated are selected from the Pareto archive, focusing on high-quality solutions for local perturbation. Combined with the control of mutation probability and random thresholds, this avoids destroying the core structure of high-quality solutions while exploring new solution spaces through small-amplitude perturbations. Finally, since the first generation solutions achieve efficient convergence using the crow search algorithm, and the second generation solutions achieve high-quality gene recombination and innovation through crossover mutation, the resulting set of descendant solutions combines convergence and diversity.

[0141] Step 208: Merge the first and second descendant solutions to obtain the descendant solution set, and apply a fractional weighting repair strategy to the descendant solution set to obtain a feasible solution set.

[0142] In this embodiment, after merging the two types of descendant solutions, a fractional weighting repair strategy is implemented, and the solution is transformed into a feasible solution based on the total constraint verification formula.

[0143] For example, the edge computing platform consists of two types of drones (UAV-A and UAV-B), and the data service consists of two computing tasks (Task-1 and Task-2). The encoding population is a real number vector of length 2×2=4, decoded as follows: [UAV-A to Task-1, UAV-A to Task-2, UAV-B to Task-1, UAV-B to Task-2], where the integer part represents the quantity and the fractional part represents the weight. Suppose the current file contains 3 repaired feasible solutions: S1=[1.3,0.6,2.4,0.8], representing assigning 1 A machine to Task-1, 0 A machines to Task-2, 2 B machines to Task-1, and 0 B machines to Task-2; S2=[0.2,2.1,1.5,0.9]; S3=[1.8,0.3,0.7,1.2]; the current population is assumed to have 2 individuals, namely X1=[0.5,1.7,2.2,0.1] and X2=[1.1,0.4,0.9,1.5]. The perception probability AP=0.1, the number of crossovers CN=1, the number of mutations MN=1, and the mutation probability PB=0.2. The above iterative process can be represented by the following steps.

[0144] 1. Randomly select one from the files [S1,S2,S3]. Let's assume that S2 ([0.2,2.1,1.5,0.9]) is selected as the global guided solution.

[0145] 2. For X1: Generate a random number 0.15. 0.15 > AP(0.1), so X1 is not found and it moves closer to S2. According to formula (6), assume that the new position of X1 is calculated as [0.3, 1.9, 1.8, 0.5].

[0146] 3. For X2: Generate a random number 0.05. Since 0.05≤AP(0.1), X2 is discovered and flies to a random position. According to formula (7), assuming the random vector r=[1.0,0.5,2.0,1.0], the new position of X2 is calculated as [(1.0+0.2) / 2,(0.5+2.1) / 2,(2.0+1.5) / 2,(1.0+0.9) / 2]=[0.6,1.3,1.75,0.95].

[0147] 4. Obtain the first descendant solution: Offspring1={[0.3,1.9,1.8,0.5],[0.6,1.3,1.75,0.95]}.

[0148] 5. Assuming the total computational delay of the task is used as the optimization objective when sorting the files, S2 performs best, followed by S1, and S3 performs worst. After normalization, S2 has the highest probability of being selected by the roulette wheel.

[0149] 5. Roulette wheel selection chooses S2 as the first parent. Randomly select another different solution from the archive, and assume that S1 is selected as the second parent. For example, S2 = [0.2, 2.1|1.5, 0.9], and S1 = [1.3, 0.6|2.4, 0.8].

[0150] 6. Randomly select the crossover point after position 2. Take the first segment of S2 + the second segment of S1. After crossover, generate the offspring: C1 = [0.2, 2.1, 2.4, 0.8.

[0151] 7. Randomly select one from the archive, and assume that S3 ([1.8, 0.3, 0.7, 1.2]) is selected.

[0152] 8. Position 1: Random number 0.15, 0.15 < PB(0.2), mutation is required. Add a random number (0, 1), such as 0.4, and it becomes 1.8 + 0.4 = 2.2. Position 2: Random number 0.25, 0.25 > PB, remain unchanged, keep 0.3. Position 3: Random number 0.18, 0.18 < PB, add random number 0.6, and it becomes 0.7 + 0.6 = 1.3. Position 4: Random number 0.30, 0.30 > PB, remain unchanged, keep 1.2. Get the mutated offspring: M1 = [2.2, 0.3, 1.3, 1.2].

[0153] 9. Combine the crossover offspring solution and the mutated offspring solution, and obtain the second offspring solution: Offspring2 = {C1, M1} = {[0.2, 2.1, 2.4, 0.8], [2.2, 0.3, 1.3, 1.2]}.

[0154] 10. Combine the first offspring solution and the second offspring solution to obtain all the new solutions generated in this iteration. Take the set of all new solutions as the offspring solution set: TotalOffspring = Offspring1 + Offspring2 = {[0.3, 1.9, 1.8, 0.5], [0.6, 1.3, 1.75, 0.95], [0.2, 2.1, 2.4, 0.8], [2.2, 0.3, 1.3, 1.2]}.

[0155] Step 209, retain the new non-dominated solutions in the feasible solution set through non-dominance screening, and delete the old solutions corresponding to the new non-dominated solutions in the Pareto archive to update the Pareto archive.

[0156] In some embodiments, according to the first fitness and the second fitness, screen the new non-dominated solutions in the feasible solution set; add the new non-dominated solutions to the Pareto archive and delete the dominated old solutions.

[0157] For example, given two solutions x and y, when the constraints shown in formulas (8) and (9) are satisfied, x is said to dominate y, expressed as follows: : (8) (9) Given a solution If and only if there is no other solution that dominates it, i.e. When x is a Pareto optimal solution, the set of all Pareto optimal solutions in the decision space Ω is called the Pareto Set (PS), as shown in formula (10): (10) The set of target vectors corresponding to PS is called the Pareto Front (PF), as shown in formula (11): (11) According to formulas (8) to (11), new non-dominated solutions are selected from the descendant solution set (Total Offspring) obtained in step 208 and retained, and old solutions corresponding to new non-dominated solutions in the Pareto archive are deleted to update the Pareto archive.

[0158] Step 210: Repeat the above iterative steps until the preset number of iterations is reached, and take the Pareto file obtained in the last iteration as the Pareto optimal solution set.

[0159] In this embodiment of the application, the preset iteration number represents the maximum number of iterations, for example, the preset iteration number can be 100 times.

[0160] It should be noted that the Pareto optimal solution set differs in different application scenarios. For example, in emergency rescue scenarios, edge computing platforms include small and medium-sized drones, and data services include real-time video transmission, disaster area data processing, and data security encryption services. The Pareto optimal solution set includes: 1) a rescue-first solution with low demand gap and high allocation cost; 2) a conventional rescue solution that balances demand gap and cost; 3) a resource-constrained solution with low cost and relatively high demand gap; and 4) a data-sensitive solution that prioritizes security services.

[0161] Step 211: According to the allocation scheme, allocate the data service to the edge computing platform.

[0162] The method for this step has been explained in step 105 above, and will not be repeated here.

[0163] In some embodiments, after step 211, the above-described data service-oriented computing platform allocation method may further include: adjusting the computing resource demand coefficient of each data service and the allocation cost of each edge computing platform according to real-time load and demand changes; and re-establishing the data service-oriented edge computing platform allocation model according to the adjusted computing resource demand coefficient of each data service and the allocation cost of each edge computing platform.

[0164] In some embodiments, the above-described computing platform allocation method for data services is also referred to as the Enhanced Strategy Multi-objective Crow Search Algorithm (ESMCSA).

[0165] In summary, this application introduces a real-number encoding method, using integers as the platform allocation quantity and decimals as the allocation weights. Based on this encoding method, a decimal weight repair strategy for infeasible solutions is designed, effectively improving the algorithm's solution quality to address problem constraints. Secondly, the crow search algorithm is improved in terms of search process and population diversity. An archive-based search method and an enhanced generation strategy are introduced, effectively improving the population diversity and convergence optimization ability of the crow search algorithm, further enhancing its performance when applied to multi-objective computing platform allocation problems. Finally, the output Pareto optimal solution set is adapted to dynamic and complex edge computing scenarios, supporting resource allocation for mobile platforms such as drones and unmanned vehicles with various data services, achieving comprehensive optimization of resource utilization, service quality, and cost.

[0166] This application also provides a block diagram of a computing platform allocation device for data services, such as... Figure 5 As shown, the computing platform allocation device 300 for data services includes the following modules.

[0167] The encoding module is used to encode the number of data services and the number of edge computing platforms using real numbers to obtain an encoding population; the integer part of each encoding represents the number of platforms allocated, and the decimal part of each encoding represents the weight coefficient; The repair module is used to perform a fractional weight repair strategy on the encoded population according to the preset total quantity constraints to obtain a feasible solution population. The archive module is used to filter out non-dominated solutions to initialize the Pareto archive based on the multi-objective fitness of each feasible solution; The iteration module is used to perform iterative optimization on the population according to the Pareto profile until the preset number of iterations is reached, and obtain the Pareto optimal solution set; the Pareto optimal solution set includes a set of allocation schemes for edge computing platforms that meet the total number of constraints. The allocation module is used to allocate the data service to the edge computing platform according to the computing platform allocation scheme.

[0168] Optional, encoding modules include: The length determination submodule is used to determine the encoding length based on the number of services and types. The encoding mapping submodule is used to map the two-dimensional allocation relationship between the number of services and the number of categories into a one-dimensional vector of encoding length, thus obtaining an encoding population; each element in the encoding population corresponds to a real number encoding.

[0169] Optionally, the total allocation constraint includes a requirement that the total allocation for each edge computing platform is less than or equal to the available total. The fix module includes: The matrix transformation submodule is used to convert the encoded population into an allocation matrix; the rows of the allocation matrix represent the number of species, and the columns of the allocation matrix represent the number of services. The matrix separation submodule is used to separate the integer matrix and the fractional matrix from the allocation matrix; The decimal correction submodule is used to reduce the number of allocations in the integer matrix according to the weight values ​​in the decimal matrix when the total number of allocations exceeds the available total, until the total amount constraint is met.

[0170] Optionally, in cases where the total allocation exceeds the available total, a decimal correction submodule includes: The determination unit is used to identify the target row to be repaired in the fractional matrix when the total allocation exceeds the available total. The sorting unit is used to sort the elements in the target row in ascending order of their values, thus obtaining a sorted index list; The reduction unit is used to reduce the number of non-zero allocations in the target row by a preset value according to the sorted index list; Repeating units are used to repeat the reduction operation until the total number of allocations for the target row is less than or equal to the total number of available allocations.

[0171] Optionally, multi-objective fitness includes first fitness and second fitness; the archive module includes: The first calculation submodule is used to calculate the first fitness based on the computing resource requirement coefficient of each data service and the unservice efficiency of each data service under the platform allocation scheme; the first fitness is used to minimize the total computing requirement coefficient of all data services. The second calculation submodule is used to obtain a second fitness based on the number of data services allocated by each edge computing platform and the unit allocation cost of each edge computing platform; the second fitness is used to minimize the total allocation cost. The high-quality solution screening submodule is used to screen all non-dominated solutions from the initial population based on the first fitness and second fitness of each feasible solution, and obtain the initial set of high-quality solutions. The initialization submodule is used to initialize the Pareto archive based on the initial set of high-quality solutions.

[0172] Optional, iterative modules include: The descendant solution generation submodule is used to update and generate the first descendant solution based on the perceptual probability in each iteration, and to perform crossover and mutation operations based on the Pareto archive to generate the second descendant solution. The descendant solution repair submodule is used to merge the first and second descendant solutions to obtain the descendant solution set, and to perform a fractional weight repair strategy on the descendant solution set to obtain a feasible solution set. The feasible solution filtering submodule is used to retain new non-dominated solutions in the feasible solution set through non-dominated filtering and delete the old solutions corresponding to the new non-dominated solutions in the Pareto archive to update the Pareto archive. The iterative submodule is used to repeat the above iterative steps until the preset number of iterations is reached, and the Pareto file obtained in the last iteration is taken as the Pareto optimal solution set.

[0173] Optionally, the descendant solution generation submodule includes: The selection unit is used to randomly select a solution from the Pareto archive as the global guiding solution in each iteration. The first generation unit is used to generate random numbers within a preset range for each individual in the population, update the position based on the perception probability and the random numbers, and obtain the first generation solution. The sorting unit is used to sort the solutions in the Pareto archive from largest to smallest according to multi-objective fitness. The crossover unit is used to perform a single-point crossover operation on the first parent solution selected by the roulette strategy and the randomly selected second parent solution to generate a crossover descendant solution. The mutation unit is used to randomly select a solution to be mutated from the Pareto archive, traverse the encoded values ​​of the solution to be mutated, and update the perturbation based on the random number and mutation probability to obtain the mutated descendant solution. The second generation unit is used to merge the crossover descendant solutions and the mutated descendant solutions to obtain the second descendant solution.

[0174] Optionally, the edge computing platform includes at least one of drones, unmanned vehicles, industrial gateways, and edge servers; the data services include at least one of data storage services, data processing and analysis services, data transmission services, data security services, data sharing and exchange services, and data visualization services.

[0175] As the device embodiment is basically similar to the method embodiment, the description is relatively simple, and relevant parts can be found in the description of the method embodiment.

[0176] like Figure 6 As shown, this application embodiment also provides an electronic device 600, including a processor 601 and a memory 602. The memory 602 stores a program or instructions that can run on the processor 601. When the program or instructions are executed by the processor 601, they implement the various steps of the above-described computing platform allocation method embodiment for data services and can achieve the same technical effect. To avoid repetition, they will not be described again here.

[0177] It should be noted that the electronic devices in the embodiments of this application include the mobile electronic devices and non-mobile electronic devices described above.

[0178] Figure 7 A schematic diagram of the hardware structure of an electronic device to implement an embodiment of this application.

[0179] The electronic device 700 includes, but is not limited to, components such as: radio frequency unit 701, network module 702, audio output unit 703, input unit 704, sensor 705, display unit 706, user input unit 707, interface unit 708, memory 709, and processor 710.

[0180] Those skilled in the art will understand that the electronic device 700 may also include a power supply (such as a battery) for supplying power to various components. The power supply may be logically connected to the processor 710 through a power management system, thereby enabling functions such as managing charging, discharging, and power consumption through the power management system. Figure 7 The electronic device structure shown does not constitute a limitation on the electronic device. The electronic device may include more or fewer components than shown, or combine certain components, or have different component arrangements, which will not be elaborated here.

[0181] The processor 710 is used to implement the various steps of the data service-oriented computing platform allocation method embodiment in the above method embodiments.

[0182] It should be understood that, in this embodiment, the input unit 704 may include a graphics processing unit (GPU) 7041 and a microphone 7042. The GPU 7041 processes image data of still images or videos obtained by an image capture device (such as a camera) in video capture mode or image capture mode. The display unit 706 may include a display panel 7061, which may be configured in the form of a liquid crystal display, an organic light-emitting diode, or the like. The user input unit 707 includes at least one of a touch panel 7071 and other input devices 7072. The touch panel 7071 is also called a touch screen. The touch panel 7071 may include a touch detection device and a touch controller. Other input devices 7072 may include, but are not limited to, a physical keyboard, function keys (such as volume control buttons, power buttons, etc.), a trackball, a mouse, and a joystick, which will not be described in detail here.

[0183] The memory 709 can be used to store software programs and various data. The memory 709 may primarily include a first storage area for storing programs or instructions and a second storage area for storing data. The first storage area may store the operating system, application programs, or instructions required for functions (such as sound playback functions, image playback functions, etc.). Furthermore, the memory 709 may include volatile memory or non-volatile memory, or it may include both volatile and non-volatile memory. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct memory bus RAM (DRRAM). The memory 709 in the embodiments of this application includes, but is not limited to, these and any other suitable types of memory.

[0184] Processor 710 may include one or more processing units; optionally, processor 710 integrates an application processor and a modem processor, wherein the application processor mainly handles operations involving the operating system, user interface, and applications, and the modem processor mainly handles wireless communication signals, such as a baseband processor. It is understood that the aforementioned modem processor may also not be integrated into processor 710.

[0185] This application also provides a readable storage medium storing a program or instructions. When the program or instructions are executed by a processor, they implement the various processes of the above-described data service-oriented computing platform allocation method embodiments and achieve the same technical effects. To avoid repetition, they will not be described again here.

[0186] The processor is the processor in the electronic device described in the above embodiments. The readable storage medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk.

[0187] This application also provides a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run programs or instructions to implement the various processes of the above-described data service-oriented computing platform allocation method embodiments and can achieve the same technical effect. To avoid repetition, it will not be described again here.

[0188] It should be understood that the chip mentioned in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.

[0189] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.

[0190] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0191] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.

Claims

1. A method for allocating computing platforms for data services, characterized in that, The method includes: The number of data services and the number of edge computing platform types are encoded using real numbers to obtain an encoding population; the integer part of each encoding represents the number of platforms allocated, and the fractional part of each encoding represents the weighting coefficient. A fractional weighting repair strategy is applied to the encoded population according to the preset total quantity constraint to obtain a feasible solution population. Based on the multi-objective fitness of each feasible solution, non-dominated solutions are selected to initialize the Pareto archive; According to the Pareto profile, iterative optimization is performed on the population until a preset number of iterations is reached to obtain the Pareto optimal solution set; the Pareto optimal solution set includes a set of allocation schemes for edge computing platforms that satisfy the total quantity constraint conditions; According to the allocation scheme, the data service is allocated to the edge computing platform.

2. The method according to claim 1, characterized in that, The number of services to be allocated and the number of edge computing platform types are encoded using real numbers to obtain an encoding population, including: The encoding length is determined based on the number of services and the number of categories; The two-dimensional allocation relationship between the number of services and the number of types is mapped to a one-dimensional vector of the encoding length to obtain the encoding population; each element in the encoding population corresponds to a real number encoding.

3. The method according to claim 1, characterized in that, The total quantity constraint includes that the total allocation quantity for each edge computing platform is less than or equal to the available total quantity. The step of applying a fractional weighting repair strategy to the encoded population according to the preset total quantity constraint to obtain a feasible solution population includes: The encoded population is converted into an allocation matrix; the rows of the allocation matrix represent the number of species, and the columns of the allocation matrix represent the number of services. Separate the integer matrix and the fractional matrix from the allocation matrix; If the total number of allocations exceeds the available total, the number of allocations in the integer matrix is ​​reduced according to the weight values ​​in the fractional matrix until the total amount constraint is met.

4. The method according to claim 3, characterized in that, When the total allocation quantity exceeds the available quantity, the allocation quantity in the integer matrix is ​​reduced according to the weight values ​​in the fractional matrix until the total quantity constraint condition is met, including: If the total number of allocations exceeds the total number of available allocations, determine the target row to be repaired in the fractional matrix; Sort the elements in the target row in ascending order of their values ​​to obtain a sorted index list; Based on the sorted index list, the number of non-zero allocations in the target row is reduced by a preset value in turn; Repeat the reduction operation until the total number of allocations for the target row is less than or equal to the total number of available rows.

5. The method according to claim 1, characterized in that, The multi-objective fitness includes a first fitness and a second fitness. The step of selecting non-dominated solutions to initialize the Pareto archive based on the multi-objective fitness of each feasible solution includes: The first fitness is calculated based on the computational resource requirement coefficient of each data service and the unservice efficiency of each data service under the platform allocation scheme; the first fitness is used to minimize the total computational requirement coefficient of all data services. The second fitness is obtained based on the number of data services allocated by each edge computing platform and the unit allocation cost of each edge computing platform; the second fitness is used to minimize the total allocation cost. Based on the first fitness and second fitness of each feasible solution, all non-dominated solutions are selected from the initial population to obtain the initial set of high-quality solutions; The Pareto archive is initialized based on the initial set of high-quality solutions.

6. The method according to claim 1, characterized in that, The step of performing iterative optimization on the population according to the Pareto profile until a preset number of iterations is reached to obtain the Pareto optimal solution set includes: In each iteration, the first descendant solution is generated based on the perceptual probability update, and the second descendant solution is generated based on the Pareto profile by performing crossover and mutation operations. The first descendant solution and the second descendant solution are merged to obtain a descendant solution set, and a fractional weighting repair strategy is applied to the descendant solution set to obtain a feasible solution set; The new non-dominated solutions in the feasible solution set are retained by non-dominated screening, and the old solutions corresponding to the new non-dominated solutions in the Pareto archive are deleted to update the Pareto archive. Repeat the above iterative steps until the preset number of iterations is reached, and use the Pareto file obtained in the last iteration as the Pareto optimal solution set.

7. The method according to claim 6, characterized in that, The process of updating and generating a first descendant solution based on the perceptual probability in each iteration, and generating a second descendant solution by performing a crossover and mutation operation based on the Pareto archive, includes: In each iteration, a solution is randomly selected from the Pareto archive as the global guiding solution; For each individual in the population, a random number within a preset range is generated. The position is updated based on the perceived probability and the random number to obtain the first generation solution. The solutions in the Pareto archive are arranged from largest to smallest according to multi-objective fitness. The first parent solution selected by the roulette strategy and the second parent solution selected randomly are subjected to a single-point crossover operation to generate a crossover descendant solution. Randomly select a solution to be mutated from the Pareto archive, iterate through the encoded values ​​of the solution to be mutated, and perform perturbation updates based on the random number and mutation probability to obtain the mutated descendant solution; The second descendant solution is obtained by merging the crossover descendant solution and the mutated descendant solution.

8. The method according to any one of claims 1 to 6, characterized in that, The edge computing platform includes at least one of drones, unmanned vehicles, industrial gateways, and edge servers; the data services include at least one of data storage services, data processing and analysis services, data transmission services, data security services, data sharing and exchange services, and data visualization services.

9. A computing platform allocation device for data services, characterized in that, The device includes: The encoding module is used to encode the number of data services and the number of edge computing platform types using real numbers to obtain an encoding population; the integer part of each encoding represents the number of platforms allocated, and the fractional part of each encoding represents the weighting coefficient. The repair module is used to perform a fractional weight repair strategy on the encoded population according to a preset total quantity constraint to obtain a feasible solution population. The archive module is used to filter out non-dominated solutions to initialize the Pareto archive based on the multi-objective fitness of each feasible solution; The iteration module is used to perform iterative optimization on the population according to the Pareto profile until a preset number of iterations is reached to obtain the Pareto optimal solution set; the Pareto optimal solution set includes a set of allocation schemes for edge computing platforms that satisfy the total quantity constraint conditions; The allocation module is used to allocate the data service to the edge computing platform according to the allocation scheme.

10. An electronic device, characterized in that, It includes a processor, a memory, and a program or instructions stored in the memory and executable on the processor, wherein the program or instructions, when executed by the processor, implement the steps of the data service-oriented computing platform allocation method as described in any one of claims 1-8.