Application deployment method and apparatus, and related device

By optimizing the application deployment of edge servers using a mixed-integer linear programming model, the problems of limited edge server resources and high computational load in centralized placement are solved. This enables distributed placement and load balancing of applications in edge computing, reducing the processing latency of user requests.

WO2026031411A9PCT designated stage Publication Date: 2026-04-09CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-11-29
Publication Date
2026-04-09

AI Technical Summary

Technical Problem

In existing technologies, edge servers have limited computing and storage resources, while centralized applications require a huge amount of computing power, making it impossible to effectively deploy computationally intensive and latency-sensitive applications. This may also lead to overload of popular applications while neglecting less popular applications.

Method used

Using a mixed-integer linear programming model, based on the application request data and resource information to be processed by the edge server, an application deployment plan is generated. The mixed-integer linear programming model optimizes the application placement and unloading decisions, realizing the distributed placement of multiple applications in edge computing.

Benefits of technology

It improves the resource utilization of edge servers, achieves better load balancing and minimizes user request processing latency, and ensures the reasonable deployment of applications on edge servers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024135854_09042026_PF_FP_ABST
    Figure CN2024135854_09042026_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure relates to the technical field of software. Provided are an application deployment method and apparatus, and a related device. The method comprises: acquiring application request data to be processed of at least one edge server in a target area, and resource information that can be provided by each edge server; on the basis of a pre-constructed mixed integer linear programming model, said application request data and the resource information that can be provided by each edge server, generating an application deployment scheme in the target area, wherein the application deployment scheme is used for placing, in one or more edge servers in the target area, an application to be deployed; and on the basis of the application deployment scheme, controlling the one or more edge servers in the target area to process said application request data. In the present disclosure, an application is rationally deployed in one or more edge servers in a target area by means of a generated application deployment scheme, thereby realizing distributed placement of multiple applications in edge computing, and improving the resource utilization rate of the edge servers.
Need to check novelty before this filing date? Find Prior Art

Description

Application deployment method and device and related equipment

[0001] Cross-reference to Related Applications

[0002] The present disclosure claims priority to Chinese Patent Application No. 202411081744.0, filed on August 7, 2024, entitled “Application deployment method and device and related equipment”, the entire contents of which are incorporated herein by reference in its entirety. TECHNICAL FIELD

[0003] The present disclosure relates to the field of software technology, and in particular, to an application deployment method, device and related equipment. BACKGROUND

[0004] With the dramatic increase in the number of mobile devices and the rise of large online application providers, in recent years, there have been a large number of computationally intensive and latency-sensitive applications such as augmented / virtual reality, intelligent video surveillance, etc. However, due to the limitation of physical size, the power of mobile devices is difficult to support these applications that require a large amount of computation, therefore, MEC (Mobile edge computing) as an enabling technology to provide cloud computing capabilities for various computationally intensive and latency-sensitive applications, is increasingly attracting attention from the industry and academia. Mobile edge computing servers are usually deployed at the edge of the wireless access network, such as base stations and access points, and there is only one hop of network distance between them and mobile devices, so they can provide ultra-low latency services.

[0005] The feature of MEC that can significantly reduce task latency attracts a large number of application providers to deploy their applications on distributed edge computing servers in order to provide more real-time services for end users. A common application placement scheme for application providers is: in order to shorten the latency of user application requests, the application provider will place a certain number of applications according to the user application request situation of each edge server, for example, according to the number of user application requests in the area of the edge server, sort and only deploy the Top-K (the top K elements from a set of elements) applications, because there are many types of applications and the storage resources of a single edge server are limited, then the user requests corresponding to the applications that are not deployed are offloaded to the nearby edge server that has deployed the application to process, to meet the requests of all users in the area of the current edge server. The common distributed application placement scheme in edge computing in the related art is shown in FIG. 1.

[0006] However, the common distributed application placement scheme has the following problems: first, if all edge servers only deploy the K most popular applications in the region, it is possible that all edge servers only deploy a part of the popular applications, and those unpopular user application requests cannot be processed. Therefore, the application placement strategy of all edge servers must be centrally decided, so that the application request offloading between edge servers can be performed to meet all user application requests. Second, the centralized application placement has a huge amount of calculation. It can be proved that the application placement strategy of all edge servers can be reduced to the NP (Non-deterministic Polynomial, polynomial complexity of non-deterministic problem) hard factory location problem, and therefore a huge amount of calculation is required to obtain the optimal solution. The current solution is to use a heuristic algorithm such as simulated annealing algorithm to solve the approximate solution of the NP hard problem. However, such heuristic algorithms may produce infeasible solutions, such as deploying applications that exceed the memory capacity of the edge server.

[0007] It should be noted that the information disclosed in the above background section is only used to strengthen the understanding of the background of the present disclosure, and therefore can include information that does not constitute prior art known to those of ordinary skill in the art. SUMMARY

[0008] The present disclosure provides an application deployment method, device and related equipment, which at least partially overcomes the problems of limited computing and storage resources of a single edge server and huge calculation amount of centralized application placement in the related art.

[0009] Other characteristics and advantages of the present disclosure will become apparent from the following detailed description, or will be learned by practice of the present disclosure.

[0010] According to one aspect of the present disclosure, an application deployment method is provided, comprising: obtaining application request data to be processed of at least one edge server in a target region and resource information available to each edge server; generating an application deployment scheme in the target region based on a pre-constructed mixed integer linear programming model according to the application request data to be processed and the resource information available to each edge server, wherein the application deployment scheme is used to place an application to be deployed in one or more edge servers in the target region; and controlling one or more edge servers in the target region to process the application request data to be processed according to the application deployment scheme.

[0011] In some example embodiments of the present disclosure, based on the foregoing scheme, before generating the application deployment scheme in the target area based on the pre-constructed mixed integer linear programming model according to the to-be-processed application request data and the resource information that each edge server can provide, the method further comprises: calculating the time delay of one or more edge servers in the target area processing the to-be-processed application request data; constructing a mixed integer linear programming model with the minimum value of the time delay of one or more edge servers in the target area processing the to-be-processed application request data as the objective function and the resource information that each edge server can provide as the constraint condition.

[0012] In some example embodiments of the present disclosure, based on the foregoing scheme, generating the application deployment scheme in the target area based on the pre-constructed mixed integer linear programming model according to the to-be-processed application request data and the resource information that each edge server can provide comprises: determining, based on the pre-constructed mixed integer linear programming model and the obtained to-be-processed application request data and the resource information that each edge server can provide, an application placement probability of placing each application by at least one edge server in the target area; and generating the application deployment scheme in the target area based on the application placement probability of placing each application by at least one edge server in the target area and the resource information that each edge server can provide.

[0013] In some example embodiments of the present disclosure, based on the foregoing scheme, generating the application deployment scheme in the target area based on the pre-constructed mixed integer linear programming model according to the to-be-processed application request data and the resource information that each edge server can provide comprises: determining, based on the pre-constructed mixed integer linear programming model and the obtained to-be-processed application request data and the resource information that each edge server can provide, a first application placement probability of placing each application by at least one edge server in the target area, wherein the first application placement probability is in a first preset range; calculating an optimal fractional solution of the first application placement probability by a simplex method; and obtaining the application deployment scheme in the target area by rounding the optimal fractional solution of the first application placement probability by a random rounding algorithm.

[0014] In some example embodiments of the present disclosure, based on the foregoing scheme, the application deployment scheme is further used to unload the to-be-deployed applications to one or more edge servers in the target area, and according to the application deployment scheme, before the one or more edge servers in the target area process the to-be-processed application request data, the method further comprises: based on the pre-constructed mixed integer linear programming model, according to the obtained to-be-processed application request data and the resource information that each edge server can provide, determining an application unloading probability of unloading each application by at least one edge server in the target area.

[0015] In some example embodiments of the present disclosure, based on the foregoing scheme, according to the application deployment scheme, controlling the one or more edge servers in the target area to process the to-be-processed application request data comprises: based on the application unloading probability of placing each application by at least one edge server in the target area and the resource information that each edge server can provide, generating the application deployment scheme in the target area.

[0016] In some example embodiments of the present disclosure, based on the foregoing scheme, obtaining the to-be-processed application request data of at least one edge server in the target area and the resource information that each edge server can provide comprises: inputting historical application request data of at least one edge server in the target area into a pre-trained application prediction model, and outputting the to-be-processed application request data.

[0017] According to another aspect of the present disclosure, an application deployment apparatus is also provided, comprising: an application information obtaining module configured to obtain to-be-processed application request data of at least one edge server in a target area and resource information that each edge server can provide; an application placement scheme generating module configured to generate, based on a pre-constructed mixed integer linear programming model, an application deployment scheme in the target area according to the to-be-processed application request data and the resource information that each edge server can provide, wherein the application deployment scheme is used to place to-be-deployed applications to one or more edge servers in the target area; and an application placement scheme issuing module configured to control, according to the application deployment scheme, the one or more edge servers in the target area to process the to-be-processed application request data.

[0018] According to still another aspect of the present disclosure, an electronic device is also provided, comprising: a processor; and a memory configured to store executable instructions of the processor; wherein the processor is configured to execute any of the above-mentioned application deployment methods via execution of the executable instructions.

[0019] According to still another aspect of the present disclosure, there is also provided a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements any of the application deployment methods described above.

[0020] According to still another aspect of the present disclosure, there is also provided a computer program product comprising: a computer program or instructions which, when executed by a processor, implements any of the application deployment methods described above.

[0021] The application deployment method, device and related equipment provided in the embodiments of the present disclosure achieve distributed placement of multiple applications in edge computing by obtaining the to-be-processed application request data of at least one edge server in a target area and the resource information that each edge server can provide, generating an application deployment scheme for placing a to-be-deployed application on one or more edge servers in the target area based on a pre-constructed mixed integer linear programming model, and deploying the application on one or more edge servers in the target area through the generated application deployment scheme, thereby improving the resource utilization rate of the edge server and achieving better load balancing.

[0022] It should be understood that the foregoing general description and the following detailed description are only exemplary and explanatory, and are not limiting of the present disclosure. BRIEF DESCRIPTION OF DRAWINGS

[0023] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure. It is readily apparent to one skilled in the art that the accompanying drawings, described below, are merely some embodiments of the present disclosure, and other drawings can be obtained by those skilled in the art without creative labor on the basis of these drawings.

[0024] FIG. 1 shows a common distributed application placement scheme in the related art according to an embodiment of the present disclosure;

[0025] FIG. 2 shows an exemplary application system architecture diagram of an application deployment method according to an embodiment of the present disclosure;

[0026] FIG. 3 shows a schematic diagram of an application deployment method according to an embodiment of the present disclosure;

[0027] FIG. 4 shows a schematic diagram of an application placement scheme generation method according to an embodiment of the present disclosure;

[0028] FIG. 5 shows a schematic diagram of a specific process of an application deployment method according to an embodiment of the present disclosure;

[0029] FIG. 6 shows a schematic diagram of an application deployment device according to an embodiment of the present disclosure;

[0030] FIG. 7 shows a schematic diagram of an electronic device for an application deployment method according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0031] Example implementations are now described with reference to the drawings; however, these descriptions are not intended to limit example implementations to one or more particular embodiments described. Example implementations can be implemented in numerous ways, including as a process, an apparatus, a system, a device or a technique. In this

[0032] Furthermore, described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the disclosure. One skilled in the relevant art will recognize, however, that the aspects of the disclosure can be practiced without one or more of the specific details, or with other methods, components, materials, and so forth. In other instances, well-known structures, devices, methods, or operations are not shown or described in detail to avoid obscuring aspects of the disclosure.

[0033] The flow diagrams shown in the Figures should be understood to be illustrative only and not mandatory steps or sequences of steps. For example, some steps can be combined or performed in a different order than that shown. Also, some steps can be performed in parallel rather than in the sequence shown.

[0034] For the sake of understanding, the following first explains several terms related to the present disclosure as follows:

[0035] Multi-access Edge Computing (MEC): A distributed computing architecture that moves the processing of applications, data, and services from network central nodes to network edge nodes for processing. The key concept of this concept is to move computing resources closer to data sources and end users to reduce latency and improve performance.

[0036] Application Placement (AP): Application placement in edge computing refers to the deployment of applications and services to edge computing nodes to achieve faster response time and higher performance. This process involves distributing computing resources and application logic to locations closer to data sources and end users to reduce data transmission latency, with advantages such as low-latency response, data privacy and compliance, and load balancing.

[0037] Randomized Dependent Rounding Algorithm (RDRA): A randomized algorithm used to solve discrete optimization problems. The core idea is to round the fractional value variables in a linear programming solution to integer values with certain probabilities, while maintaining certain dependency relationships and total quantity constraints. Unlike independent randomized rounding algorithms, dependent randomized rounding algorithms take into account the dependencies between variables, thus better preserving the structure and constraints of the original problem during rounding.

[0038] Figure 2 shows an exemplary application system architecture diagram to which the application deployment method in the embodiments of the present disclosure can be applied. As shown in Figure 2, the system architecture can include a terminal device 201, a network 202, and a server 203.

[0039] The network 202 is a medium for providing a communication link between the terminal device 201 and the server 203, which can be a wired network or a wireless network.

[0040] Optionally, the wireless network or wired network described above uses standard communication technologies and / or protocols. The network is usually the Internet, but can also be any network, including but not limited to a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a mobile, wired or wireless network, a private network or any combination of virtual private networks). In some embodiments, technologies and / or formats such as Hyper Text Mark-up Language (HTML), Extensible Markup Language (XML), etc. are used to represent data exchanged over the network. In addition, all or some links can be encrypted using conventional encryption technologies such as Secure Socket Layer (SSL), Transport Layer Security (TLS), Virtual Private Network (VPN), Internet Protocol Security (IPsec), etc. In other embodiments, custom and / or dedicated data communication technologies can be used instead of or in addition to the above data communication technologies.

[0041] The terminal device 201 can be various electronic devices, including but not limited to smartphones, tablets, laptop computers, desktop computers, wearable devices, augmented reality devices, virtual reality devices, etc.

[0042] Optionally, the application clients installed in different terminal devices 201 are the same, or are clients of the same type of application based on different operating systems. Based on the difference in terminal platforms, the specific forms of the application clients can also be different, for example, the application client can be a mobile phone client, a PC client, etc.

[0043] The server 203 can be a server providing various services, for example, a background management server providing support for the operation of the device by the user using the terminal device 301. The background management server can analyze and process the received request data, etc., and feed back the processing result to the terminal device.

[0044] Optionally, the server can be a stand-alone physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and basic cloud computing services such as big data and artificial intelligence platforms. The terminal can be a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited thereto. The terminal and the server can be connected directly or indirectly through wired or wireless communication, which is not limited in the present application.

[0045] Those skilled in the art can know that the number of terminal devices, networks and servers in FIG. 2 is only illustrative, and any number of terminal devices, networks and servers can be provided according to actual needs. The present disclosure does not limit this.

[0046] Under the above system architecture, an application deployment method is provided in the present disclosure, which can be executed by any electronic device with computing processing capability.

[0047] In some embodiments, the application deployment method provided in the present disclosure can be executed by the terminal device of the above system architecture; in other embodiments, the application deployment method provided in the present disclosure can be executed by the server of the above system architecture; in other embodiments, the application deployment method provided in the present disclosure can be realized by the terminal device and the server of the above system architecture through interaction.

[0048] First, in order to solve the above problems, the application deployment method provided in the embodiments of the present disclosure can be executed by any electronic device with computing processing capability. Compared with the problems of limited computing and storage resources of a single edge server and huge computing amount of centralized application placement in the related art, the embodiments of the present disclosure obtain the to-be-processed application request data of at least one edge server in a target area and the resource information that each edge server can provide, generate an application deployment scheme for placing a to-be-deployed application on one or more edge servers in the target area based on a pre-constructed mixed integer linear programming model, realize distributed placement of multiple applications in edge computing, and reasonably deploy the application on one or more edge servers in the target area through the generated application deployment scheme, thereby improving the resource utilization rate of the edge server and realizing better load balancing.

[0049] FIG. 3 shows a schematic diagram of an application deployment method in the embodiments of the present disclosure, which includes the following steps:

[0050] S302, obtaining to-be-processed application request data of at least one edge server in a target area and resource information that each edge server can provide.

[0051] It should be noted that the to-be-processed application request data in the embodiments of the present disclosure is any to-be-processed application request data. In some embodiments, it can be the number of application requests of all users in the target area and the storage size of each application. In addition, the resource information that each edge server can provide in the embodiments of the present disclosure can be the storage capacity that each edge server can provide.

[0052] S304, generating an application deployment scheme in the target area based on a pre-constructed mixed integer linear programming model according to the to-be-processed application request data and the resource information that each edge server can provide, wherein the application deployment scheme is used to place a to-be-deployed application on one or more edge servers in the target area.

[0053] It should be noted that the pre-constructed mixed integer linear programming model in the embodiments of the present disclosure models the centralized application placement decision of all edge servers and the application request offloading between edge servers into a mixed integer linear programming problem. In addition, the application deployment scheme in the embodiments of the present disclosure includes an application placement scheme and an application offloading scheme between edge servers.

[0054] S306, controlling one or more edge servers in the target area to process the to-be-processed application request data according to the application deployment scheme.

[0055] It should be noted that, according to the placement scheme of the application in the application deployment scheme and the offloading scheme of the application between the edge servers, the embodiments of the present disclosure control one or more edge servers in the target area to complete the application request of all users through application placement and application offloading.

[0056] The application deployment method provided in the embodiments of the present disclosure first acquires the to-be-processed application request data of at least one edge server in the target area and the resource information that each edge server can provide; second, based on the pre-constructed mixed integer linear programming model, generates an application deployment scheme for placing the to-be-deployed application on one or more edge servers in the target area according to the to-be-processed application request data and the resource information that each edge server can provide; and finally, controls one or more edge servers in the target area to process the to-be-processed application request data according to the application deployment scheme. Compared with the problems of limited computing and storage resources of a single edge server and huge computing amount of centralized application placement in the related art, the embodiments of the present disclosure acquire the to-be-processed application request data of at least one edge server in the target area and the resource information that each edge server can provide, generate an application deployment scheme for placing the to-be-deployed application on one or more edge servers in the target area based on the pre-constructed mixed integer linear programming model, realize distributed placement of multiple applications in edge computing, reasonably deploy the application on one or more edge servers in the target area through the generated application deployment scheme, improve the resource utilization rate of the edge server, and realize better load balancing.

[0057] In some embodiments, before generating the application deployment scheme in the target area based on the pre-constructed mixed integer linear programming model according to the to-be-processed application request data and the resource information that each edge server can provide, the application deployment method in the embodiments of the present disclosure further includes: calculating the time delay of one or more edge servers in the target area in processing the to-be-processed application request data; and constructing a mixed integer linear programming model with the minimum value of the time delay of one or more edge servers in the target area in processing the to-be-processed application request data as the objective function and the resource information that each edge server can provide as the constraint condition. Specifically, the mixed integer linear programming model in the embodiments of the present disclosure is constructed for the purpose of satisfying that all edge servers in the target area complete all application requests of all users and for the constraint condition of minimizing the application request processing time delay. The application deployment scheme obtained through the mixed integer linear programming model can ensure that the time delay of one or more edge servers in the target area in processing the to-be-processed application request data is the minimum, effectively reduces the processing time delay of the user request, and improves the resource utilization rate of the edge server.

[0058] In some embodiments, the embodiments of the present disclosure generate an application deployment scheme in a target area according to application request data to be processed and resource information available for each edge server based on a pre-constructed mixed integer linear programming model, including: determining, based on the pre-constructed mixed integer linear programming model and the obtained application request data to be processed and the resource information available for each edge server, an application placement probability of placing each application by at least one edge server in the target area; and generating the application deployment scheme in the target area based on the application placement probability of placing each application by at least one edge server in the target area and the resource information available for each edge server. Specifically, the embodiments of the present disclosure take the application placement probability of each application as 1 or 0, and if , it means that the edge server j should place the application k, and if , it means that the edge server j should not place the application k. The application placement probability of each application is used to reasonably place all application requests in the target area, thereby improving the resource utilization rate of the edge server.

[0059] In some embodiments, as shown in FIG. 4, the embodiments of the present disclosure generate an application deployment scheme in a target area according to application request data to be processed and resource information available for each edge server based on a pre-constructed mixed integer linear programming model, including:

[0060] S402, determining, based on a pre-constructed mixed integer linear programming model and application request data to be processed and resource information available for each edge server, a first application placement probability of placing each application by at least one edge server in a target area, wherein the first application placement probability is in a first preset range.

[0061] S404, calculating an optimal fractional solution of the first application placement probability by a simplex method.

[0062] S406, obtaining an application deployment scheme in the target area by rounding the optimal fractional solution of the first application placement probability to an integer through a random rounding algorithm.

[0063] In some embodiments, the embodiments of the present disclosure take the application placement decision variable of each edge server as ​The pre-constructed mixed integer linear programming model is used to determine the initial application placement probability of each application placed by at least one edge server in the target area. At this time, each initial application placement probability obtained is 0 or 1. The application placement decision variable is relaxed to a value of [0, 1]. Thus, the mixed integer linear programming problem is simplified into a traditional linear programming problem. The first application placement probability obtained by the mixed integer linear programming model is in a first preset range, that is, the range of [0, 1]. The simplex method is used to calculate the optimal fractional solution of the first application placement probability. The random rounding algorithm is used to round the optimal fractional solution of the first application placement probability to obtain the final application placement probability of each application on each edge server. According to the random rounding algorithm, the application placement decision variable is relaxed, and the optimal fractional solution is rounded to determine the application placement probability in the target area. The storage resource limit of all edge servers is met, and reasonable application placement on one or more edge servers in the target area is achieved.

[0064] In some embodiments, the application deployment scheme in the present disclosure is also used to offload the to-be-deployed application to one or more edge servers in the target area. According to the application deployment scheme, before the one or more edge servers in the target area process the to-be-processed application request data, the application deployment method in the present disclosure further includes: based on the pre-constructed mixed integer linear programming model, determining the application offloading probability of each application offloaded by at least one edge server in the target area according to the obtained to-be-processed application request data and the resource information that can be provided by each edge server. Specifically, the pre-constructed mixed integer linear programming model in the present disclosure can not only obtain the application offloading probability of each application on each edge server, but also determine the application offloading probability of each application offloaded by at least one edge server in the target area. The application deployment and application request offloading between edge servers can share the computing and storage resources of multiple edge servers through the cooperation of the application placement probability and the application offloading probability of multiple edge servers in the target area.

[0065] In some embodiments, the application deployment scheme is generated based on the application placement probability of each application and the resource information available to each edge server in the target region. Specifically, the application deployment scheme in the present disclosure includes an application placement scheme and an application offloading scheme. The application requests in the target region are deployed by the calculated application placement probability and the application offloading probability. The multiple edge servers can share the computing and storage resources of the multiple edge servers by cooperatively deploying the applications and offloading the application requests among the edge servers.

[0066] In some embodiments, the application request data to be processed of the at least one edge server in the target region and the resource information available to each edge server are obtained by inputting the historical application request data of the at least one edge server in the target region into a pre-trained application prediction model to output the application request data to be processed. Specifically, the application prediction model is used to predict the number of application requests of all users in the region and the storage size of each application by each edge server.

[0067] In some embodiments, the application deployment scheme is generated based on the application placement probability of each application and the resource information available to each edge server in the target region. Specifically, the application deployment scheme in the present disclosure includes an application placement scheme and an application offloading scheme. The application requests in the target region are deployed by the calculated application placement probability and the application offloading probability. The multiple edge servers can share the computing and storage resources of the multiple edge servers by cooperatively deploying the applications and offloading the application requests among the edge servers.

[0068] In some embodiments, as shown in FIG. 5, the application deployment method in the present disclosure includes the following specific process:

[0069] S502, obtaining the application request data to be processed of the at least one edge server in the target region and the resource information available to each edge server.

[0070] In some embodiments, each edge server is set as j, j∈N{1,2,…,N}, N represents a set of edge servers, wherein k∈K{1,2,…,K}, k represents the kth application, s represents the storage size of the kth application, and represents the predicted number of application requests of all users in the target region.k denotes the storage size of the application k, K denotes the total number of applications in the application set, S j denotes the storage size of the edge server j.

[0071] S504, setting the application placement probability and the application offloading probability, generating the initial application placement probability of each application on each edge server based on the pre-constructed mixed integer linear programming model.

[0072] In some embodiments, the application placement probability of each edge server is denoted as wherein, denotes that the edge server j should place the application k, and the application offloading probability between edge servers is denoted as wherein, i denotes the edge server number, and the application offloading probability is denoted as denotes the request of the edge server i to offload the application k to the edge server j, in order to meet all application requests of all users in all edge server areas while minimizing the application request processing delay, the centralized application placement decision of all edge servers and the application request offloading between edge servers are modeled as a mixed integer linear programming problem, and the initial application placement probability of each application on each edge server is generated through the constructed mixed integer linear programming model. At this time, the initial application placement probability ∈ {0, 1}.

[0073] S506, relaxing the application placement probability, and solving the first application placement probability of each application on each edge server.

[0074] In some embodiments, the application placement probability is relaxed to [0, 1] by the present disclosure, and then the mixed integer linear programming problem is simplified into a traditional linear programming problem. The first application placement probability of each application on each edge server is obtained through the mixed integer linear programming model. At this time, the first application placement probability belongs to [0, 1], and the optimal fractional solution of the first application placement probability is solved by using the classical simplex method.

[0075] S508, using a random dependence rounding algorithm to round the optimal fractional solution of the calculated first application placement probability to obtain the final application placement probability of each application on each edge server, and at the same time, the final obtained application placement probability satisfies the storage capacity limit of each edge server.

[0076] In some embodiments, the storage capacity limit of each edge server is determined by the present disclosure through the following formula (1):

[0077] Specifically, in this embodiment of the disclosure, elements k1 and k2 are randomly selected from the decimal solution set, and the application placement probabilities of k1 and k2 are determined by the following formulas (2) to (7). First, γ1 and γ2 are defined:

[0078] In this embodiment of the disclosure, set up and

[0079] In this embodiment of the disclosure, set up and

[0080] Where k1 represents the first application placement probability of applying k1; k2 represents the first application placement probability of applying k2; γ1 represents the optimal fractional solution of the first application placement probability of applying k1; and γ2 represents the optimal fractional solution of the first application placement probability of applying k2. This represents the probability of application k1 being placed on edge server j; This represents the probability of application k2 being placed on edge server j; This represents the weight information that application k1 places on edge server j; This represents the weight information that application k2 places on edge server j; or If the value is 0 or 1, then the corresponding k1 or k2 takes the value 0 or 1.

[0081] S510, based on a pre-built mixed-integer linear programming model, determines the application uninstallation probability of at least one edge server in the target area to uninstall each application based on the obtained application request data to be processed and the resource information that each edge server can provide.

[0082] In some embodiments, the mixed-integer linear programming problem of centralized application placement decision and application request unloading between edge servers is simplified to the classic linear programming problem of application request unloading between edge servers, and the probability of application request unloading between edge servers can be solved using the simplex algorithm.

[0083] S512, based on the calculated application placement probability and application uninstallation probability of each application, determines the application placement scheme and application uninstallation scheme of each application, and generates an application deployment scheme based on the application placement scheme and application uninstallation scheme of each application, which is used to place the application to be deployed on one or more edge servers in the target area.

[0084] Based on the same inventive concept, the embodiment of the present disclosure also provides an application deployment device, as follows. Since the principle of the device embodiment to solve the problem is similar to the above-mentioned method embodiment, the implementation of the device embodiment can be referred to the implementation of the above-mentioned method embodiment, and the repeated parts will not be described here.

[0085] FIG. 6 shows a schematic diagram of an application deployment device in an embodiment of the present disclosure, which includes:

[0086] The application information acquisition module 601 is configured to acquire the to-be-processed application request data of at least one edge server in the target area and the resource information that each edge server can provide;

[0087] The application placement scheme generation module 602 is configured to generate an application deployment scheme in the target area based on the pre-constructed mixed integer linear programming model, according to the to-be-processed application request data and the resource information that each edge server can provide, wherein the application deployment scheme is used to place the to-be-deployed application on one or more edge servers in the target area;

[0088] The application placement scheme issuing module 603 is configured to control one or more edge servers in the target area to process the to-be-processed application request data according to the application deployment scheme.

[0089] The application deployment device provided in the embodiment of the present disclosure acquires the to-be-processed application request data of at least one edge server in the target area and the resource information that each edge server can provide through the application information acquisition module; generates an application deployment scheme used to place the to-be-deployed application on one or more edge servers in the target area based on the pre-constructed mixed integer linear programming model, according to the to-be-processed application request data and the resource information that each edge server can provide through the application placement scheme generation module; and controls one or more edge servers in the target area to process the to-be-processed application request data according to the application deployment scheme through the application placement scheme issuing module. Compared with the problems of limited computing and storage resources of a single edge server and huge computing amount of centralized application placement in the related art, the embodiment of the present disclosure acquires the to-be-processed application request data of at least one edge server in the target area and the resource information that each edge server can provide, generates an application deployment scheme used to place the to-be-deployed application on one or more edge servers in the target area based on the pre-constructed mixed integer linear programming model, realizes distributed placement of multiple applications in edge computing, and deploys the applications on one or more edge servers in the target area through the generated application deployment scheme, thereby improving the resource utilization rate of the edge server and realizing better load balancing.

[0090] In some embodiments, the application deployment apparatus in the embodiments of the present disclosure further comprises: a delay calculation module configured to calculate a delay of processing the application request data by the one or more edge servers in the target region before generating the application deployment scheme in the target region based on the pre-constructed mixed integer linear programming model and according to the application request data to be processed and the resource information available to each edge server; and a mixed integer linear programming model construction module configured to construct the mixed integer linear programming model with a minimum value of the delay of processing the application request data by the one or more edge servers in the target region as an objective function and with the resource information available to each edge server as a constraint condition.

[0091] In some embodiments, the application placement scheme generation module in the embodiments of the present disclosure is further configured to determine an application placement probability of placing each application by at least one edge server in the target region based on the pre-constructed mixed integer linear programming model and according to the application request data to be processed and the resource information available to each edge server, and generate the application deployment scheme in the target region based on the application placement probability of placing each application by at least one edge server in the target region and the resource information available to each edge server.

[0092] In some embodiments, the application placement scheme generation module in the embodiments of the present disclosure is further configured to determine a first application placement probability of placing each application by at least one edge server in the target region based on the pre-constructed mixed integer linear programming model and according to the application request data to be processed and the resource information available to each edge server, wherein the first application placement probability is in a first preset range, calculate an optimal fractional solution of the first application placement probability by a simplex method, and obtain the application deployment scheme in the target region by rounding the optimal fractional solution of the first application placement probability by a random rounding algorithm.

[0093] In some embodiments, the application deployment scheme in the embodiments of the present disclosure is further used to offload the application to be deployed to the one or more edge servers in the target region, and the application deployment apparatus in the embodiments of the present disclosure further comprises: an application offloading probability determination module configured to determine an application offloading probability of offloading each application by at least one edge server in the target region based on the pre-constructed mixed integer linear programming model and according to the application request data to be processed and the resource information available to each edge server before controlling the one or more edge servers in the target region to process the application request data according to the application deployment scheme.

[0094] In some embodiments, the application placement scheme issuing module in the embodiments of the present disclosure is further configured to generate an application deployment scheme in the target region based on the application offloading probability of each application placed by at least one edge server in the target region and resource information that can be provided by each edge server.

[0095] In some embodiments, the application information obtaining module in the embodiments of the present disclosure is further configured to input historical application request data of at least one edge server in the target region into a pre-trained application prediction model to output the to-be-processed application request data.

[0096] Those skilled in the art can understand that each aspect of the present disclosure can be implemented as a system, a method or a program product. Therefore, each aspect of the present disclosure can be embodied as a whole hardware embodiment, a whole software embodiment (including firmware, microcode, etc.), or an embodiment combining hardware and software aspects, which can be collectively referred to as "circuitry", "module" or "system" herein.

[0097] Based on the same inventive concept, the embodiments of the present disclosure further provide an electronic device, which comprises a processor and a memory configured to store executable instructions of the processor, wherein the processor is configured to execute the application deployment method of any one of the above aspects by executing the executable instructions. Since the principle of solving problems of the electronic device embodiments is similar to that of the above method embodiments, the implementation of the electronic device embodiments can be referred to the implementation of the above method embodiments, and the repeated parts will not be described here.

[0098] The electronic device 700 according to this implementation form of the present disclosure will be described below with reference to FIG. 7. FIG. 7 shows only one example of the electronic device 700, and should not be taken as limiting the functions and the use range of the embodiments of the present disclosure.

[0099] As shown in FIG. 7, the electronic device 700 is in the form of a general computing device. The components of the electronic device 700 can include, but are not limited to, the above-mentioned at least one processing unit 701, the above-mentioned at least one storage unit 702, and a bus 703 connecting different system components, including the storage unit 702 and the processing unit 701.

[0100] The storage unit stores program codes, which can be executed by the processing unit 701, so that the processing unit 701 performs the steps according to various exemplary embodiments of the present disclosure described in the above "Exemplary Methods" section of the present specification.

[0101] In some embodiments, when the electronic device is configured to control the above-mentioned application deployment method of the present disclosure, the processing unit 701 can perform the following steps of the above-mentioned method embodiments:

[0102] Obtain application request data to be processed of at least one edge server in a target region and resource information that each edge server can provide; based on a pre-constructed mixed integer linear programming model, generate an application deployment scheme in the target region according to the application request data to be processed and the resource information that each edge server can provide, wherein the application deployment scheme is used to place an application to be deployed on one or more edge servers in the target region; and control one or more edge servers in the target region to process the application request data to be processed according to the application deployment scheme.

[0103] The storage unit 702 can include a readable medium in the form of volatile storage such as random access memory (RAM) 7021 and / or cache memory 7022, and also include a non-volatile storage such as read-only memory (ROM) 7023.

[0104] The storage unit 702 can also include a program / utility 7024 having a set of program modules 7025 such as an operating system, one or more application programs, other program modules, and program data, each of which can give the electronic device 700 its functionality, at least in part. The program modules 7025 can include, but are not limited to, a network environment implementation, either alone or in combination.

[0105] The bus 703 can represent one or more of several types of bus structures, including a storage bus or bus controller, a peripheral bus, an accelerated graphics port, and a local bus using any of a variety of bus architectures.

[0106] The electronic device 700 can also communicate with one or more external devices 704 such as a keyboard or pointing device, a Bluetooth device, etc.; other devices that enable a user to interact with the electronic device 700; and / or one or more devices that enable the electronic device 700 to communicate with one or more other computing devices. Such communication can occur via an input / output (I / O) interface 705. Still yet, the electronic device 700 can communicate with one or more networks, such as a local area network (LAN), a general wide area network (WAN), and / or a public network, such as the Internet, via a network adapter 706. As depicted, the network adapter 706 is communicatively coupled to the other components of the electronic device 700 via the bus 703. It should be appreciated that the electronic device 700 can be a part of another device or be a stand-alone device, and can be implemented as a wired or wireless device. In addition, the electronic device 700 can be a personal computer (PC), a tablet PC, a personal digital assistant (PDA), a mobile telephone, a web appliance, a network router, switch or bridge, or any other device suitable for the reception, manipulation, storage, communication, or generation of data.

[0107] Those skilled in the art can easily understand from the description of the above embodiments that the example embodiments described herein can be implemented by software or by software in combination with necessary hardware. Therefore, the technical solutions according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a U disk, a mobile hard disk, etc.) or on a network, and includes a number of instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to perform the method according to the embodiments of the present disclosure.

[0108] Based on the same inventive concept, the present disclosure also provides a computer readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the application deployment method of any one of the above. Since the principle of solving problems of the computer readable storage medium embodiment is similar to that of the above method embodiment, the implementation of the computer readable storage medium embodiment can be referred to the implementation of the above method embodiment, and the repeated parts will not be described here.

[0109] More specific examples of the computer readable storage medium in the present disclosure can include, but are not limited to, an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[0110] In the present disclosure, the computer readable storage medium can include a data signal carried in a baseband or as a part of a carrier wave, in which readable program codes are borne. Such a propagated data signal can take various forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. The readable signal medium can also be any readable medium other than the readable storage medium, which can send, propagate or transmit programs for use by or in connection with an instruction execution system, apparatus or device.

[0111] Optionally, the program code contained on the computer readable storage medium can be transmitted by any suitable medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the above.

[0112] In particular embodiments, the program code can execute entirely on the user's computing device, partly on the user's computing device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device or entirely on the remote computing device or server. In the latter scenario, the remote computing device can be connected to the user's computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computing device such as through the Internet using an Internet Service Provider. The application program interface can be a conventional one, such as a Java-based interface, or it can be a proprietary interface using a proprietary protocol and / or format.

[0113] Based on the same inventive concept, the embodiments of the present disclosure further provide a computer program product, comprising a computer program product, comprising: a computer program or instructions, the computer program or instructions being executed by a processor to implement the application deployment method of any one of the above method embodiments. Since the principles of the computer program product embodiments for solving problems are similar to the above method embodiments, the implementation of the computer program product embodiments can be referred to the implementation of the above method embodiments, and the repeated parts will not be described here.

[0114] It should be noted that although several modules or units of the device for action execution are mentioned in the above detailed description, such division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into multiple modules or units for embodiment.

[0115] In addition, although the steps of the method in the present disclosure are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in this specific order, or that all the shown steps must be performed to achieve the desired result. Additionally or alternatively, some steps can be omitted, multiple steps can be combined into one step, one step can be divided into multiple steps, etc.

[0116] Through the description of the above embodiments, those skilled in the art can easily understand that the example embodiments described herein can be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solutions according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash disk, a mobile hard disk, or the like) or a network, and includes a number of instructions to make a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) execute the methods according to the embodiments of the present disclosure.

[0117] Other embodiments of the present disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the features disclosed herein. The present disclosure is intended to cover any variations, uses, or adaptations of the present disclosure following the general principles thereof and including such departures from the present disclosure that come within known use or custom in the art to which the present disclosure pertains. The specification and examples are to be regarded as illustrative only, and the true scope and spirit of the present disclosure are indicated by the appended claims.

Claims

1. A method of application deployment, wherein, The method comprises the following steps: obtaining application request data to be processed of at least one edge server in a target area and resource information available for each edge server; generating an application deployment scheme in the target area based on a pre-constructed mixed integer linear programming model according to the application request data to be processed and the resource information available for each edge server, wherein the application deployment scheme is used to place an application to be deployed on one or more edge servers in the target area; controlling one or more edge servers in the target area to process the application request data to be processed according to the application deployment scheme.

2. The application deployment method of claim 1, wherein, Before generating the application deployment scheme in the target area based on the pre-constructed mixed integer linear programming model according to the application request data to be processed and the resource information available for each edge server, the method further comprises the following steps: calculating a time delay of one or more edge servers in the target area in processing the application request data to be processed; constructing a mixed integer linear programming model with a minimum value of the time delay of one or more edge servers in the target area in processing the application request data to be processed as an objective function and the resource information available for each edge server as a constraint condition.

3. The application deployment method of claim 1, wherein, Generating the application deployment scheme in the target area based on the pre-constructed mixed integer linear programming model according to the application request data to be processed and the resource information available for each edge server comprises the following steps: determining an application placement probability of placing each application by at least one edge server in the target area based on the pre-constructed mixed integer linear programming model according to the obtained application request data to be processed and the resource information available for each edge server; generating the application deployment scheme in the target area based on the application placement probability of placing each application by at least one edge server in the target area and the resource information available for each edge server.

4. The application deployment method of claim 3, wherein, Generating the application deployment scheme in the target area based on the pre-constructed mixed integer linear programming model according to the application request data to be processed and the resource information available for each edge server comprises the following steps: determining a first application placement probability of placing each application by at least one edge server in the target area based on the pre-constructed mixed integer linear programming model according to the obtained application request data to be processed and the resource information available for each edge server, wherein the first application placement probability is in a first preset range; calculating an optimal minimum solution of the first application placement probability by a simplex method; obtaining the application deployment scheme in the target area by rounding off the optimal minimum solution of the first application placement probability by a random dependence rounding algorithm.

5. The application deployment method of claim 1, wherein, The application deployment scheme is also used to unload an application to be deployed to one or more edge servers in the target area, and before controlling one or more edge servers in the target area to process the application request data to be processed according to the application deployment scheme, the method further comprises the following steps: Based on the pre-constructed mixed integer linear programming model, according to the obtained application request data to be processed and the resource information that each edge server can provide, the application offloading probability of each application offloaded by at least one edge server in the target area is determined.

6. The application deployment method of claim 5, wherein, According to the application deployment scheme, the one or more edge servers in the target area are controlled to process the application request data to be processed, including: Based on the application offloading probability of each application placed by at least one edge server in the target area and the resource information that each edge server can provide, the application deployment scheme in the target area is generated.

7. The application deployment method of claim 1, wherein, The application request data to be processed of at least one edge server in the target area and the resource information that each edge server can provide are obtained, including: The historical application request data of at least one edge server in the target area is input into the pre-trained application prediction model, and the application request data to be processed is output.

8. An application deployment apparatus, wherein, Including: An application information acquisition module is configured to obtain the application request data to be processed of at least one edge server in the target area and the resource information that each edge server can provide; An application placement scheme generation module is configured to generate, based on the pre-constructed mixed integer linear programming model, the application deployment scheme in the target area according to the application request data to be processed and the resource information that each edge server can provide, wherein the application deployment scheme is used to place the application to be deployed on one or more edge servers in the target area; An application placement scheme issuing module is configured to control, according to the application deployment scheme, the one or more edge servers in the target area to process the application request data to be processed.

9. An electronic device, comprising: Including: A processor; And A memory configured to store executable instructions of the processor; The processor is configured to execute the executable instructions to perform the application deployment method in any one of claims 1-7.

10. A computer readable storage medium having stored thereon a computer program, wherein, The computer program is executed by the processor to implement the application deployment method in any one of claims 1-7.

11. A computer program product, comprising: Computer program or instructions, characterized in that the computer program or instructions are executed by the processor to implement the application deployment method in any one of claims 1-7.