Project environment configuration-based edge application automatic deployment method and related equipment

Through the automatic deployment method of edge application configuration based on project environment configuration, the problem that existing tools cannot meet complex deployment needs is solved, diversified deployment of industrial logistics management and control platforms is achieved, the deployment process is simplified, and deployment efficiency and security are improved. .

CN119127224APending Publication Date: 2024-12-13武汉钢铁有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411224206.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-03
Publication Date
2024-12-13

AI Technical Summary

Technical Problem

Existing automatic deployment tools cannot effectively solve complex software deployment needs, especially the deployment problems of non-mirror applications, and cannot meet the diversified deployment needs of industrial logistics management and control platforms, resulting in cumbersome, time-consuming, labor-intensive and security risks. .

Method used

A method of automatic deployment of edge applications based on project environment configuration is proposed. By defining project application information and deployment policy information, it supports one-click deployment of mirror applications, and handles the complex deployment requirements of middleware and non-mirror applications, providing multiple deployment methods Selections include image package deployment, executing file edge deployment, and uploading packages, monitoring deployment processes in real time, generating retry and rollback deployment instructions, and optimizing deployment strategies to improve success and resource utilization.

Benefits of technology

It realizes rapid and accurate deployment of various types of software and applications, reduces the risk of deployment failure, simplifies the deployment process, saves time, reduces manpower configuration, improves the convenience and security of system maintenance, and adapts to different environments and scenarios. deployment requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119127224A_ABST
    Figure CN119127224A_ABST
Patent Text Reader

Abstract

The invention discloses an edge application automatic deployment method based on project environment configuration and related equipment, and relates to the field of related management.The method comprises the steps that project application information is defined, and the project application information comprises project basic information, application state information and operation information; deploying strategy information is defined, and the deploying strategy information comprises a deploying mode, a deploying file address and a deploying script command; and performing project application automatic deployment based on the project application information and the deployment strategy information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to related management fields, and more specifically, the present application relates to an automatic deployment method for edge applications based on project environment configuration and related equipment. Background Art

[0002] In the application of relevant project management platforms, such as the Tiegang Interface Intelligent Management and Control Platform, the number of applications maintained by system services continues to increase due to the use of a large number of microservice application architectures. As project functions expand, the installation and deployment of software applications become more and more complex, and the required human resources also increase. At present, some automatic deployment tools have appeared on the market, such as Fuxi Pipeline and Jenkins, which mainly perform one-click deployment of images for microservice applications. The main features of these tools include:

[0003] Fuxi Pipeline supports automated software delivery and deployment, and implements CI / CD (continuous integration / continuous delivery) through pipeline process management. Its deployment model is usually based on a containerized microservice architecture and relies on images for one-click deployment.

[0004] Jenkins is a widely used open source automation server that integrates and deploys through pipeline scripts and plug-ins. Although Jenkins supports multiple deployment methods, its mainstream application is still focused on container-based microservice deployment.

[0005] However, the deployment methods of these tools are often limited to one-click deployment using images, which cannot meet the more complex deployment requirements involved in the relevant management and control platforms, such as specifying addresses, specifying methods, and deploying non-image applications. Therefore, existing tools cannot effectively solve the complex deployment problems of software and non-image applications in this project. In order to at least solve some of the above problems, it is urgent to provide an automatic deployment method for edge applications based on project environment configuration. Summary of the invention

[0006] A series of simplified concepts are introduced in the Summary of the Invention section, which will be further described in detail in the Detailed Description of the Invention section. The Summary of the Invention section of this application does not mean to attempt to define the key features and essential technical features of the claimed technical solution, nor does it mean to attempt to determine the scope of protection of the claimed technical solution.

[0007] In the first aspect, the present application proposes an automatic deployment method for edge applications based on project environment configuration, including:

[0008] Define project application information, wherein the project application information includes basic project information, application status information and operation information;

[0009] Define deployment strategy information, where the deployment strategy information includes deployment method, deployment file address and deployment script command;

[0010] The project application is automatically deployed based on the project application information and the deployment strategy information.

[0011] In a feasible implementation manner, the above-mentioned basic project information includes project application IP, project application port and project application package;

[0012] The above application status information includes version information;

[0013] The above-mentioned operation information includes application operation log, operation environment information and current thread information;

[0014] The above deployment methods include image package deployment, execution file edge deployment and upload package.

[0015] In a feasible implementation, it also includes:

[0016] Monitor the results of the automatic deployment process of the above projects;

[0017] The above automatic deployment process result is sent to the user's deployment client, so that the deployment user inputs a secondary deployment instruction based on the above automatic deployment process result to perform secondary deployment, wherein the above secondary deployment instruction includes a retry deployment instruction and a rollback deployment instruction.

[0018] In a feasible implementation, it also includes:

[0019] Obtaining deployment failure application information based on the above automatic deployment process results;

[0020] When the number of the above-mentioned deployment failure application information is less than or equal to the preset number, obtaining address information corresponding to the deployment failure application information;

[0021] Determine the process information corresponding to the failed address based on the above address information;

[0022] Determine the importance of the process based on the above process information;

[0023] Determine the version information of the rollback deployment based on the importance of the above process;

[0024] The rollback deployment instruction is generated based on the rollback deployment version information.

[0025] In a feasible implementation, it also includes:

[0026] When the number of the above-mentioned deployment failure application information is greater than the above-mentioned preset number, obtaining historical deployment data and historical monitoring data during the deployment process;

[0027] Generate a retry deployment strategy based on the above historical deployment data and the historical monitoring data during the above deployment process;

[0028] Retry deployment based on the above retry deployment strategy.

[0029] In a feasible implementation manner, the above-mentioned generating a retry deployment strategy based on the above-mentioned historical deployment data and the historical monitoring data in the above-mentioned deployment process includes:

[0030] Performing data cleaning and data conversion on the above historical deployment data and the above historical monitoring data to obtain standardized historical deployment data and standardized historical monitoring data;

[0031] Perform feature extraction based on the standardized historical deployment data and the standardized historical monitoring data to obtain feature information, wherein the feature information includes the relationship between deployment time and deployment success rate, the relationship between deployment environment and resource consumption, and the relationship between deployment mode and failure rate;

[0032] Based on the above feature information, the objective function is optimized and the above retry deployment strategy is generated based on a non-dominated sorting genetic algorithm.

[0033] In a feasible implementation, the above optimization objective function is:

[0034] Minimize F(x)=(λ1f1(x),λ2f2(x),λ3f3(x),λ4f4(x))

[0035] Among them, f1(x) is the optimization target of deployment success rate, f2(x) is the optimization target of resource consumption, f3(x) is the optimization target of time cost, f4(x) is the optimization target of failure rate, and λ1, λ2, λ3, and λ4 are the weight coefficients of each target.

[0036] In a second aspect, the present application proposes an edge application automatic deployment device based on project environment configuration, comprising:

[0037] A first definition unit is used to define project application information, wherein the project application information includes basic project information, application status information and operation information;

[0038] A second definition unit is used to define deployment strategy information, wherein the deployment strategy information includes a deployment method, a deployment file address, and a deployment script command;

[0039] The deployment unit is used to automatically deploy the project application based on the project application information and the deployment strategy information.

[0040] In a third aspect, an electronic device comprises: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor is used to implement the steps of the method for automatic deployment of edge applications based on project environment configuration as described in any one of the first aspects above when executing the computer program stored in the memory.

[0041] In a fourth aspect, the present application further proposes a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the method for automatically deploying edge applications based on project environment configuration according to any one of the first aspects.

[0042] In summary, the method for automatic deployment of edge applications based on project environment configuration proposed in the embodiment of the present application includes: defining project application information, wherein the above-mentioned project application information includes basic project information, application status information and operation information; defining deployment strategy information, wherein the above-mentioned deployment strategy information includes deployment mode, deployment file address and deployment script command; based on the above-mentioned project application information and the above-mentioned deployment strategy information, the project application is automatically deployed. The method of this application not only supports one-click deployment of mirror applications, but also can handle the complex deployment requirements of middleware and other non-mirror applications. This flexibility enables various types of software and applications in the management and control platform project to be deployed quickly and accurately. By defining project application information and deployment strategy information, the method of this application can accurately refine deployment parameters, such as specified deployment addresses, deployment methods and script commands. This refined control ensures the accuracy and controllability of the deployment process and reduces the risk of deployment failure. The method of this application significantly simplifies the process of software installation and deployment through the one-click deployment function. This simplification not only saves time, but also improves the convenience of system maintenance. At present, there are many application services for industrial logistics control platform projects, and the deployment methods are different and the environments vary greatly, which makes the deployment process cumbersome, time-consuming and labor-intensive. At the same time, many incomprehensible deployment commands increase the security risks of deployment. Aiming at the existing industrial logistics control platform application service deployment scenarios, the present invention proposes a one-click deployment solution that integrates various environments and scenarios, provides a variety of deployment method options, and deploys the application package deployment of edge applications and the command deployment of middleware under the condition of realizing the mirror application deployment function, which simplifies the deployment process for staff and reduces the deployment manpower configuration. The one-click deployment for edge applications not only solves the problem that the traditional one-click deployment of application packages is not supported, but also liberates key technical personnel. At present, technical personnel only need to enter relevant deployment strategies in the system. Even operation and maintenance personnel with no deployment experience can complete the application installation and deployment through simple selection. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the detailed description of the preferred embodiments below. The accompanying drawings are only for the purpose of illustrating the preferred embodiments and are not to be considered as limiting the present specification. Also, the same reference symbols are used throughout the accompanying drawings to represent the same components. In the accompanying drawings:

[0044] Figure 1 A process diagram of an edge application automatic deployment method based on project environment configuration provided in an embodiment of the present application;

[0045] Figure 2 A schematic diagram of the structure of an edge application automatic deployment device based on project environment configuration provided in an embodiment of the present application;

[0046] Figure 3 A schematic diagram of the structure of an edge application that automatically deploys electronic equipment based on project environment configuration is provided in an embodiment of the present application. DETAILED DESCRIPTION

[0047] The terms "first", "second", "third", "fourth", etc. (if any) in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices. The technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all of the embodiments.

[0048] See also Figure 1 , which is a flow diagram of an edge application automatic deployment method based on project environment configuration provided by an embodiment of the present application, which may specifically include:

[0049] S110, defining project application information, wherein the project application information includes basic project information, application status information and operation information;

[0050] For example, you first need to define the project application information. The above project application information includes the following three parts:

[0051] The basic information of the project is the core information of the project, which involves the IP address of the project application, the port of the project application, and the related information of the project application package. This information is the basis for project deployment and ensures that the application can run normally in the specified network environment.

[0052] Application status information includes application version information, which is used to record and manage the current version of the project and ensure that different versions of applications can be identified and managed during the deployment process.

[0053] The operation information includes application operation logs, operation environment information, and current thread information. This information is used to monitor the application's operation status in real time, identify potential operation problems, and provide necessary data support to optimize the deployment process.

[0054] S120, defining deployment strategy information, wherein the deployment strategy information includes deployment mode, deployment file address, and deployment script command;

[0055] For example, defining deployment strategy information is a key step to ensure that the project can be deployed smoothly. The above deployment strategy information includes the following parts:

[0056] The deployment method is the deployment method of the project. You can choose image package deployment, executable file edge deployment, or upload package. This information determines the deployment form of the application to adapt to different edge devices and environment requirements.

[0057] The deployment file address points to the storage location of the project application file. This is the file resource address that needs to be accessed and used during the deployment process.

[0058] Deployment script commands These commands define how to perform deployment operations. Through these script commands, the deployment process can be completed automatically, reducing human operation errors and improving deployment efficiency.

[0059] S130: Automatically deploy project applications based on the project application information and the deployment strategy information.

[0060] Exemplarily, based on the previously defined project application information and deployment strategy information, the system will automatically perform the deployment operation of the project. This step is the core of the entire process, ensuring that the project is correctly deployed to the specified edge environment according to the established deployment strategy. The automatic deployment process in this step includes the following operations: Determine the deployment target device and environment based on the project application information. Select a suitable deployment method based on the deployment strategy information and execute the corresponding script command. Monitor the deployment process in real time to ensure the success rate of the deployment and handle problems in a timely manner when they arise.

[0061] In summary, the present application method not only supports one-click deployment of mirror applications, but also can handle the complex deployment requirements of middleware and other non-mirror applications. This flexibility enables various types of software and applications in the control platform project to be deployed quickly and accurately. By defining project application information and deployment strategy information, the present application method can accurately refine deployment parameters, such as specified deployment addresses, deployment methods, and script commands. This refined control ensures the accuracy and controllability of the deployment process and reduces the risk of deployment failure. The present application method significantly simplifies the process of software installation and deployment through a one-click deployment function. This simplification not only saves time, but also improves the convenience of system maintenance. At present, there are many application services for industrial logistics control platform projects, and the deployment methods are different and the environments are very different, which makes the deployment process cumbersome and time-consuming and labor-intensive. At the same time, many incomprehensible deployment commands increase the security risks of deployment. Aiming at the existing industrial logistics control platform application service deployment scenarios, the present invention proposes a one-click deployment solution that integrates various environments and scenarios, provides a variety of deployment options, and implements the mirror application deployment function. It also deploys the edge application package deployment and the middleware command deployment, which simplifies the deployment process for the staff and reduces the deployment manpower configuration. The one-click deployment of edge applications not only solves the problem that the traditional one-click deployment of application packages is not supported, but also liberates key technical personnel. Currently, technical personnel only need to enter relevant deployment strategies in the system. Even operation and maintenance personnel with no deployment experience can complete the application installation and deployment through simple selection.

[0062] In some examples, the above basic project information includes project application IP, project application port and project application package;

[0063] The above application status information includes version information;

[0064] The above-mentioned operation information includes application operation log, operation environment information and current thread information;

[0065] The above deployment methods include image package deployment, execution file edge deployment and upload package.

[0066] For example, the basic information of a project includes the project application IP, project application port, and project application package. This information defines the specific parameters of the project application in the network environment, ensuring that the application runs on the correct IP address and port and is deployed using the specified application package.

[0067] Application status information includes version information. Version information is used to identify the specific version of the application, ensuring that different versions of applications can be tracked and managed during the deployment process. This is especially important for maintaining the consistency and stability of the application during updates or rollbacks.

[0068] The running information includes the application running log, running environment information and current thread information. The running log records the running status of the application, the running environment information describes the operating system, library files and other environment configurations that the application relies on, and the current thread information is used to monitor the application's thread execution. This information provides important data support for the stable operation and troubleshooting of the application.

[0069] Deployment methods include image package deployment, executable file edge deployment, and upload package. Image package deployment is suitable for containerized applications, which packages the application into an image file and deploys it. Executable file edge deployment directly deploys executable files on edge devices, which is suitable for non-containerized applications. The upload package method supports uploading the application package to a specified location and deploying it, which is suitable for applications that need to run in a specific directory.

[0070] In some examples, this also includes:

[0071] Monitor the results of the automatic deployment process of the above projects;

[0072] The above automatic deployment process result is sent to the user's deployment client, so that the deployment user inputs a secondary deployment instruction based on the above automatic deployment process result to perform secondary deployment, wherein the above secondary deployment instruction includes a retry deployment instruction and a rollback deployment instruction.

[0073] For example, the system will automatically monitor the results of the automatic deployment process of the above project. This process involves real-time tracking and recording of deployment operations to ensure that every step of the deployment process is monitored in detail. By monitoring the results of the deployment process, the system can promptly discover problems that occur during the deployment process, such as deployment failures, abnormal resource consumption, etc., thereby providing data support for subsequent operations.

[0074] When the project is automatically deployed, the system will send the results of the automatic deployment process to the user's deployment client. This operation allows the deployment user to obtain the deployment result information immediately, understand whether the deployment is successful, and whether further actions are required. This result information may include whether the deployment is successful, resource usage, log information, etc., to help users evaluate the effectiveness of the deployment.

[0075] Based on the above automatic deployment process results, users can enter secondary deployment instructions through the deployment client. These instructions are responses to the initial deployment results and are used to handle abnormal situations that occur during the deployment process or to further optimize the deployment effect. Specifically, secondary deployment instructions include two main types:

[0076] Retry deployment instructions: When the initial deployment fails, the user can choose to enter a retry deployment instruction. The system will perform the deployment operation again according to the preset strategy or user-specified parameters to try to resolve the problem that caused the initial deployment failure.

[0077] Rollback deployment instructions: If a serious problem is found in the application after deployment, the user can choose to enter a rollback deployment instruction. The system will automatically roll back the application to the previous stable version to ensure that the system can continue to operate normally.

[0078] In this embodiment, by monitoring the results of the automatic deployment process of the above project, the system can provide users with real-time deployment feedback. Based on these feedbacks, users can input secondary deployment instructions, including retry deployment instructions and rollback deployment instructions, to ensure the ultimate success of deployment and the stability of the system. This design not only improves the flexibility of deployment, but also enhances the reliability of the system, providing users with better deployment management tools.

[0079] In some examples, this also includes:

[0080] Obtaining deployment failure application information based on the above automatic deployment process results;

[0081] When the number of the above-mentioned deployment failure application information is less than or equal to the preset number, obtaining address information corresponding to the deployment failure application information;

[0082] Determine the process information corresponding to the failed address based on the above address information;

[0083] Determine the importance of the process based on the above process information;

[0084] Determine the version information of the rollback deployment based on the importance of the above process;

[0085] The rollback deployment instruction is generated based on the rollback deployment version information.

[0086] For example, during the automatic deployment of a project, if a deployment fails, the system will obtain the application information of the failed deployment based on the above automatic deployment process results. This information includes detailed data of the failed application, such as application name, version, failure reason, etc. The purpose of this step is to collect relevant information in a timely manner after the deployment fails for further analysis and processing.

[0087] After obtaining the application information of failed deployment, the system will check the number of the above failed deployment application information. If the number of failed deployment applications is less than or equal to the preset number, proceed to the next step. This step ensures that the system only takes rollback actions when a few applications fail, and the deployment process of the entire system will not be affected by individual failures.

[0088] When the number of failed deployment applications is confirmed to be within the preset range, the system will obtain the address information corresponding to the failed deployment application information. This address information usually includes the specific location of the application on the server or edge device, such as IP address, storage path, etc. The purpose of obtaining this address information is to accurately locate the failed deployment point, which is convenient for subsequent analysis and processing.

[0089] Next, the system will determine the process information corresponding to the failed address based on the above address information. Process information refers to the specific link or stage of the application in the entire deployment process. By determining the process information corresponding to the failed address, the system can determine the specific step or link where the failure occurred, thereby evaluating its impact on the overall deployment.

[0090] After determining the process information corresponding to the failed address, the system will determine the process importance based on the process information. The process importance determines the impact of deployment failure on the overall operation of the system. For important processes, failure may cause key functions to not operate normally, so they need to be handled first; for minor processes, failure may not have a significant impact on the system.

[0091] Based on the determined process importance, the system will determine the version information for rollback deployment based on the process importance. This version information is usually a previously verified stable version. By rolling back to this version, you can ensure that the system can continue to operate normally. The selection of the rollback version needs to consider the stability of the application and the dependencies of the process.

[0092] Finally, the system will generate the above rollback deployment instruction based on the above rollback deployment version information. This instruction is used to automatically perform the rollback operation and roll back the application that failed to be deployed to the previous stable version. After the rollback deployment instruction is generated, the system will automatically perform the rollback operation to ensure that the impact of the deployment failure is minimized.

[0093] In this embodiment, by obtaining deployment failure application information, determining the number of failed applications, obtaining address information, determining process information, determining process importance, and finally generating and executing rollback deployment instructions, the system can respond quickly after deployment failure and roll back to a stable application version. This automated rollback mechanism ensures the stability and reliability of the system and reduces the risk caused by deployment failure.

[0094] In some examples, this also includes:

[0095] When the number of the above-mentioned deployment failure application information is greater than the above-mentioned preset number, obtaining historical deployment data and historical monitoring data during the deployment process;

[0096] Generate a retry deployment strategy based on the above historical deployment data and the historical monitoring data during the above deployment process;

[0097] Retry deployment based on the above retry deployment strategy.

[0098] For example, during the automatic deployment of the project, the system will obtain the application information of failed deployment and determine whether the number of the application information of failed deployment is greater than the preset number. If the number of application information of failed deployment is greater than the preset number, it indicates that there is a serious failure in the deployment process and further measures need to be taken to handle it.

[0099] After confirming that the number of applications that have failed to be deployed exceeds the preset range, the system will obtain historical deployment data and historical monitoring data during the deployment process. Historical deployment data includes detailed records of previous deployment operations, such as deployment methods, version information, deployment environment, etc. Historical monitoring data is the operating indicator data collected during the deployment process, such as CPU usage, memory usage, network traffic, etc. These data can provide comprehensive background information for analyzing the reasons for the current deployment failure.

[0100] Based on the collected historical deployment data and historical monitoring data, the system will generate a retry deployment strategy. The generation process of this strategy includes the following steps:

[0101] Data analysis: The system analyzes patterns and anomalies in historical deployment data and monitoring data to identify factors that may cause the current deployment to fail.

[0102] Strategy formulation: Based on the results of data analysis, the system formulates corresponding retry deployment strategies. This may involve adjusting the deployment method, changing resource allocation, modifying the deployment order, etc.

[0103] Risk assessment: The system evaluates the formulated retry deployment strategy to ensure that the strategy can effectively improve the deployment success rate and does not introduce new risks.

[0104] After the retry deployment strategy is generated, the system will retry the deployment based on the above retry deployment strategy. This process includes executing the adjustment measures in the strategy and restarting the deployment process. The system will monitor the process in real time to ensure that the retry deployment can be completed successfully and further optimize the strategy based on the deployment results.

[0105] This embodiment can effectively deal with complex deployment failure scenarios by acquiring historical deployment data and historical monitoring data during the deployment process when the number of deployment failure applications exceeds a preset range, generating a retry deployment strategy, and performing retry deployment based on the retry deployment strategy. This method improves the success rate of deployment through data-driven analysis and strategy optimization, and reduces the risks and impacts caused by large-scale deployment failures.

[0106] In some examples, the generating of the retry deployment strategy based on the historical deployment data and the historical monitoring data during the deployment process includes:

[0107] Performing data cleaning and data conversion on the above historical deployment data and the above historical monitoring data to obtain standardized historical deployment data and standardized historical monitoring data;

[0108] Perform feature extraction based on the standardized historical deployment data and the standardized historical monitoring data to obtain feature information, wherein the feature information includes the relationship between deployment time and deployment success rate, the relationship between deployment environment and resource consumption, and the relationship between deployment mode and failure rate;

[0109] Based on the above feature information, the objective function is optimized and the above retry deployment strategy is generated based on a non-dominated sorting genetic algorithm.

[0110] Exemplarily, in the initial stage of generating a retry deployment strategy, the system first needs to perform data cleaning and data conversion on the acquired historical deployment data and the above-mentioned historical monitoring data. The purpose of data cleaning is to remove invalid, erroneous or incomplete data to ensure the accuracy of the analysis. Data conversion is to standardize the original data to obtain standardized historical deployment data and standardized historical monitoring data. This standardization process helps to eliminate differences between different data sources, making subsequent analysis and feature extraction more consistent and reliable.

[0111] After obtaining the standardized data, the system will perform feature extraction based on the above standardized historical deployment data and the above standardized historical monitoring data. The purpose of feature extraction is to identify the key factors that affect the deployment success rate. Specifically, the system will extract the following feature information:

[0112] Relationship between deployment time and deployment success rate: Analyze the deployment success rate in different time periods and identify which time periods are more suitable for deployment.

[0113] Relationship between deployment environment and resource consumption: Analyze resource consumption in different deployment environments to determine whether there are resource bottlenecks or abnormal consumption in a specific environment.

[0114] Relationship between deployment method and failure rate: Analyze the failure rates under different deployment methods, identify the deployment method that is most likely to fail, and optimize the deployment strategy accordingly.

[0115] These characteristic information provides data support for subsequent strategy optimization, ensuring that the generated retry deployment strategy can effectively improve the deployment success rate.

[0116] After extracting the feature information, the system will optimize the objective function based on this information. The optimized objective function is the balance point that the system needs to reach in the retry deployment. There may be conflicts between these objectives, so they need to be weighed through the optimization algorithm. In this embodiment, the system uses a non-dominated sorting genetic algorithm to generate a retry deployment strategy. The non-dominated sorting genetic algorithm is a multi-objective optimization algorithm that simulates the process of natural selection and genetic evolution to find the optimal balance point between multiple objectives. The algorithm can effectively handle complex multi-objective optimization problems in the deployment process and generate a set of Pareto optimal solutions, that is, a solution set that optimizes a certain goal without compromising other goals.

[0117] Through this process, the system is able to generate retry deployment strategies that are suitable for the current environment and conditions, and apply these strategies in subsequent retry deployments to maximize the success rate and efficiency of deployment.

[0118] In the embodiment of the present application, the historical deployment data and historical monitoring data are cleaned and converted to obtain standardized data; then feature extraction is performed to identify the key factors affecting the deployment; finally, the objective function is optimized based on the feature information and a retry deployment strategy is generated using a non-dominated sorting genetic algorithm. This series of steps ensures that the system can effectively generate and execute a retry deployment strategy when faced with a deployment failure, thereby improving the overall deployment success rate and system stability.

[0119] In some examples, the above optimization objective function is:

[0120] Minimize F(x)=(λ1f1(x), λ2f2(x), λ3f3(x), λ4f4(x))

[0121] Among them, f1(x) is the optimization target of deployment success rate, f2(x) is the optimization target of resource consumption, f3(x) is the optimization target of time cost, f4(x) is the optimization target of failure rate, and λ1, λ2, λ3, and λ4 are the weight coefficients of each target.

[0122] In this exemplary embodiment, the optimization objective function is used to balance multiple objectives, which may conflict with each other during the deployment process. The optimization objective function can be expressed as:

[0123] Minimize F(x)=(λ1f1(x), λ2f2(x), λ3f3(x), λ4f4(x))

[0124] f1(x) is the optimization target of the deployment success rate: the optimization of this target aims to maximize the success rate of deployment and ensure that the possibility of failure is minimized when retrying deployment.

[0125] f2(x) is the optimization target of resource consumption: the optimization of this target aims to minimize resource consumption (such as CPU usage, memory usage, etc.) to ensure that the system does not consume excessive resources during the retry deployment process, thereby maintaining the stability and efficiency of the system.

[0126] f3(x) is the optimization target of time cost: the optimization of this target aims to minimize the time required for deployment and ensure that the retried deployment can be completed in the shortest time to reduce system downtime and user waiting time.

[0127] f4(x) is the optimization target of the failure rate: the optimization of this target aims to minimize the probability of deployment failure, reduce the risk of system caused by deployment failure, and ensure the reliability and continuous operation capability of the system.

[0128] In the optimization objective function, the weight coefficients λ1,λ2,λ3,λ4 of each objective are used to adjust the importance of each objective. These coefficients play a key role in the final optimization result:

[0129] λ1 represents the importance of the deployment success rate. A higher λ1 value means that the system is more inclined to optimize the deployment success rate, that is, to prioritize the success of retry deployment.

[0130] λ2 represents the importance of resource consumption. A higher λ2 value means that the system pays more attention to the efficient use of resources and minimizes the occupation of system resources by retry deployment.

[0131] λ3 represents the importance of time cost. A higher λ3 value means that the system pays more attention to the deployment speed and strives to complete the deployment as quickly as possible.

[0132] λ4 represents the importance of the failure rate. A higher λ4 value means that the system is more inclined to reduce the risk of deployment failure, that is, to prioritize the reliability of the deployment process.

[0133] In this embodiment, by adjusting the above weight coefficients, the system can dynamically generate the optimal retry deployment strategy according to the specific deployment requirements and environment. For example, if the system is resource-constrained in the current environment, the value of λ2 can be appropriately increased to minimize resource consumption. If the time of the deployment process is critical, the value of λ3 can be increased to speed up the deployment. If the stability of the current system is critical, the value of λ4 can be increased to minimize the failure rate.

[0134] Finally, the system will find a set of optimal solutions based on the above-mentioned optimization objective function through a non-dominated sorting genetic algorithm or other optimization algorithms. These solutions can achieve the best balance between multiple objectives and generate a retry deployment strategy suitable for the current environment. The optimization objective function in the embodiment of the present application balances the four objectives of deployment success rate, resource consumption, time cost and failure rate, and combines their respective weight coefficients, so that the system can generate a targeted retry deployment strategy. This process ensures that the system can flexibly adjust the deployment strategy according to actual needs, optimize the deployment process, and improve the stability and efficiency of the overall system.

[0135] like Figure 2 As shown, this application proposes an edge application automatic deployment device based on project environment configuration, including:

[0136] The first definition unit 21 is used to define project application information, wherein the project application information includes basic project information, application status information and operation information;

[0137] The second definition unit 22 is used to define deployment strategy information, wherein the deployment strategy information includes a deployment method, a deployment file address, and a deployment script command;

[0138] The deployment unit 23 is used to automatically deploy the project application based on the project application information and the deployment strategy information.

[0139] In some examples, the above basic project information includes project application IP, project application port and project application package;

[0140] The above application status information includes version information;

[0141] The above-mentioned operation information includes application operation log, operation environment information and current thread information;

[0142] The above deployment methods include image package deployment, execution file edge deployment and upload package.

[0143] In some examples, this also includes:

[0144] Monitor the results of the automatic deployment process of the above projects;

[0145] The above automatic deployment process result is sent to the user's deployment client, so that the deployment user inputs a secondary deployment instruction based on the above automatic deployment process result to perform secondary deployment, wherein the above secondary deployment instruction includes a retry deployment instruction and a rollback deployment instruction.

[0146] In some examples, this also includes:

[0147] Obtaining deployment failure application information based on the above automatic deployment process results;

[0148] When the number of the above-mentioned deployment failure application information is less than or equal to the preset number, obtaining address information corresponding to the deployment failure application information;

[0149] Determine the process information corresponding to the failed address based on the above address information;

[0150] Determine the importance of the process based on the above process information;

[0151] Determine the version information of the rollback deployment based on the importance of the above process;

[0152] The rollback deployment instruction is generated based on the rollback deployment version information.

[0153] In some examples, this also includes:

[0154] When the number of the above-mentioned deployment failure application information is greater than the above-mentioned preset number, obtaining historical deployment data and historical monitoring data during the deployment process;

[0155] Generate a retry deployment strategy based on the above historical deployment data and the historical monitoring data during the above deployment process;

[0156] Retry deployment based on the above retry deployment strategy.

[0157] In some examples, the generating of the retry deployment strategy based on the historical deployment data and the historical monitoring data during the deployment process includes:

[0158] Performing data cleaning and data conversion on the above historical deployment data and the above historical monitoring data to obtain standardized historical deployment data and standardized historical monitoring data;

[0159] Perform feature extraction based on the standardized historical deployment data and the standardized historical monitoring data to obtain feature information, wherein the feature information includes the relationship between deployment time and deployment success rate, the relationship between deployment environment and resource consumption, and the relationship between deployment mode and failure rate;

[0160] Based on the above feature information, the objective function is optimized and the above retry deployment strategy is generated based on a non-dominated sorting genetic algorithm.

[0161] In some examples, the above optimization objective function is:

[0162] Minimize F(x)=(λ1f1(x), λ2f2(x), λ3f3(x), λ4f4(x))

[0163] Among them, f1(x) is the optimization target of deployment success rate, f2(x) is the optimization target of resource consumption, f3(x) is the optimization target of time cost, f4(x) is the optimization target of failure rate, and λ1, λ2, λ3, and λ4 are the weight coefficients of each target.

[0164] like Figure 3 As shown, an embodiment of the present application also provides an electronic device 300, including a memory 310, a processor 320, and a computer program 311 stored in the memory 310 and executable on the processor. When the processor 320 executes the computer program 311, the steps of any method for automatic deployment of edge applications based on project environment configuration are implemented.

[0165] Since the electronic device introduced in this embodiment is a device used to implement an edge application automatic deployment device based on project environment configuration in an embodiment of the present application, based on the method introduced in the embodiment of the present application, technical personnel in this field can understand the specific implementation mode of the electronic device of this embodiment and its various variations. Therefore, how the electronic device implements the method in the embodiment of the present application is not introduced in detail here. As long as the equipment used by technical personnel in this field to implement the method in the embodiment of the present application is within the scope of protection of this application.

[0166] In the specific implementation process, when the computer program 311 is executed by the processor, it can achieve Figure 1 Any implementation manner in the corresponding embodiments.

[0167] It should be noted that in the above embodiments, the description of each embodiment has its own emphasis, and for parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0168] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.

[0169] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded computer, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0170] These computer program instructions may also be stored in a computer readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0171] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process in the computer or other programmable device. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0172] An embodiment of the present application also provides a computer program product, which includes computer software instructions. When the computer software instructions are executed on a processing device, the processing device executes the process of automatic deployment of edge applications based on project environment configuration in the corresponding embodiment.

[0173] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, a computer, a server or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can store or a data storage device such as a server or a data center that includes one or more available media integration. The available medium can be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state drive (SSD)), etc.

[0174] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0175] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0176] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0177] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0178] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), disk or optical disk and other media that can store program codes.

[0179] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. A method for automatic deployment of edge applications based on project environment configuration, characterized in that: include: Defining project application information, wherein the project application information includes basic project information, application status information and operation information; Defining deployment strategy information, wherein the deployment strategy information includes deployment mode, deployment file address and deployment script command; Automatically deploy the project application based on the project application information and the deployment strategy information.

2. The method according to claim 1, characterized in that The basic project information includes project application IP, project application port and project application package; The application status information includes version information; The operation information includes application operation log, operation environment information and current thread information; The deployment methods include image package deployment, execution file edge deployment and upload package.

3. The method according to claim 1, characterized in that: Also includes: Monitoring the results of the automatic deployment process of the project; The automatic deployment process result is sent to the user's deployment client, so that the deployment user inputs a secondary deployment instruction based on the automatic deployment process result to perform secondary deployment, wherein the secondary deployment instruction includes a retry deployment instruction and a rollback deployment instruction.

4. The method according to claim 3, characterized in that Also includes: Acquire deployment failure application information based on the automatic deployment process result; When the number of the deployment failure application information is less than or equal to a preset number, acquiring address information corresponding to the deployment failure application information; Determine the process information corresponding to the failed address based on the address information; Determining the importance of a process based on the process information; Determine the version information of the rollback deployment based on the importance of the process; The rollback deployment instruction is generated based on the rollback deployment version information.

5. The method according to claim 4, characterized in that Also includes: When the number of the deployment failure application information is greater than the preset number, acquiring historical deployment data and historical monitoring data during the deployment process; Generate a retry deployment strategy based on the historical deployment data and the historical monitoring data during the deployment process; Retry deployment based on the retry deployment strategy.

6. The method according to claim 5, characterized in that The generating a retry deployment strategy based on the historical deployment data and the historical monitoring data during the deployment process includes: Performing data cleaning and data conversion on the historical deployment data and the historical monitoring data to obtain standardized historical deployment data and standardized historical monitoring data; Performing feature extraction based on the standardized historical deployment data and the standardized historical monitoring data to obtain feature information, wherein the feature information includes a relationship between deployment time and deployment success rate, a relationship between deployment environment and resource consumption, and a relationship between deployment mode and failure rate; The retry deployment strategy is generated based on the feature information, optimizing the objective function and based on a non-dominated sorting genetic algorithm.

7. The method according to claim 6, characterized in that The optimization objective function is: Minimize F(x)=(λ1f1(x), λ2f2(x), λ3f3(x), λ4f4(x)) Among them, f1(x) is the optimization target of deployment success rate, f2(x) is the optimization target of resource consumption, f3(x) is the optimization target of time cost, f4(x) is the optimization target of failure rate, and λ1, λ2, λ3, and λ4 are the weight coefficients of each target.

8. An automatic deployment device for edge applications based on project environment configuration, characterized in that: include: A first definition unit is used to define project application information, wherein the project application information includes basic project information, application status information and operation information; A second definition unit is used to define deployment strategy information, wherein the deployment strategy information includes a deployment method, a deployment file address, and a deployment script command; A deployment unit is used to automatically deploy project applications based on the project application information and the deployment strategy information.

9. An electronic device, comprising: A memory and a processor, wherein the processor is used to implement the steps of the method for automatically deploying edge applications based on project environment configuration as described in any one of claims 1 to 7 when executing a computer program stored in the memory.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method for automatically deploying edge applications based on project environment configuration as described in any one of claims 1 to 7 are implemented.