A method, system, device and medium for application deployment

By acquiring the state vector information of the target application and the application deployment network model, the traffic allocation ratio is adjusted, which solves the problem of the inability to flexibly adjust traffic allocation in real time in existing technologies, improves the efficiency and quality of application deployment, and enhances the user experience.

CN119621239BActive Publication Date: 2026-02-03STATE GRID INFORMATION & TELECOMM BRANCH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411701218.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-26
Publication Date
2026-02-03
Estimated Expiration
2044-11-26

AI Technical Summary

Technical Problem

Existing technologies cannot flexibly adjust traffic allocation strategies in real time during application version updates, resulting in low traffic allocation efficiency and stability, which affects the promotion effect of new version applications and user experience.

Method used

By acquiring the current state vector information of the target application on the application deployment cluster, and combining it with a pre-trained application deployment network model, including a deployment value evaluation sub-model and a deployment strategy determination sub-model, the traffic deployment ratio is adjusted to achieve intelligent and flexible traffic allocation.

Benefits of technology

It improves the flexibility and reliability of traffic allocation during application deployment, enhances deployment efficiency and quality, thereby improving the promotion effect and user experience of the new version of the application.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119621239B_ABST
    Figure CN119621239B_ABST
Patent Text Reader

Abstract

The application discloses an application deployment method, system, device and medium. The method comprises the following steps: obtaining a target application and determining current state vector information of the target application on an application deployment cluster; determining traffic deployment adjustment information of the target application according to the current state vector information and in combination with a pre-trained application deployment network model, wherein the application deployment network model comprises a deployment value evaluation sub-model and a deployment strategy determination sub-model; and adjusting the deployment traffic proportion of the current version of the target application according to the traffic deployment adjustment information, and deploying the current version of the target application by the application deployment cluster according to the deployment traffic proportion. The method determines the traffic deployment adjustment information of the target application by analyzing the current state vector information and the output of the deployment value evaluation sub-model in the application deployment network model, realizes real-time intelligent and dynamic adjustment of the traffic distribution strategy in the application deployment process according to specific conditions, and improves the deployment efficiency and quality of the application.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computer technology, and in particular to an application deployment method, system, device, and medium. Background Technology

[0002] In recent years, with the development of modern software technology, the complexity of software systems has increased dramatically. Data centers, cloud computing platforms, and container orchestration systems (such as Kubernetes) need to handle a large number of application deployments and updates every day. These applications need to release new versions frequently to meet business needs and user expectations.

[0003] Currently, traffic allocation during the process of switching between new and old application versions is mainly handled by two methods: manual allocation and intelligent allocation using machine learning algorithms.

[0004] However, manual traffic allocation is not only time-consuming and labor-intensive, but also difficult to adapt to dynamically changing environments, directly impacting the reliability and efficiency of traffic allocation during application deployment. While machine learning algorithms automatically learn and summarize traffic allocation strategies from large amounts of deployment data, improving deployment and traffic allocation efficiency, they still cannot flexibly adjust strategies in real-time based on specific circumstances. Therefore, they cannot effectively improve the efficiency and stability of traffic allocation during the deployment of new and old application versions, thus affecting the promotion of new application versions and user experience. Summary of the Invention

[0005] This invention relates to the field of computer technology, and in particular to an application deployment method, system, device, and medium, to solve the problem of low efficiency and stability in real-time allocation of traffic between new and old application versions during application version update deployment, which affects the promotion effect of new version applications and user experience.

[0006] In a first aspect, embodiments of the present invention provide an application deployment method, the method comprising:

[0007] Obtain the target application and determine the current state vector information of the target application on the application deployment cluster;

[0008] Based on the current state vector information and combined with the pre-trained application deployment network model, the traffic deployment adjustment information of the target application is determined. The application deployment network model includes: a deployment value evaluation sub-model and a deployment strategy determination sub-model.

[0009] Based on the traffic deployment adjustment information, the deployment traffic ratio of the current version of the target application is adjusted, and the application deployment cluster deploys the current version of the target application according to the deployment traffic ratio.

[0010] Secondly, embodiments of the present invention provide an application deployment system, the system comprising:

[0011] The information acquisition module is used to acquire the target application and determine the current state vector information of the target application on the application deployment cluster;

[0012] The adjustment information determination module is used to determine the traffic deployment adjustment information of the target application based on the current state vector information and in combination with a pre-trained application deployment network model. The application deployment network model includes a deployment value evaluation sub-model and a deployment strategy determination sub-model.

[0013] The traffic ratio adjustment module is used to adjust the deployment traffic ratio of the current version of the target application according to the traffic deployment adjustment information, and the application deployment cluster deploys the current version of the target application according to the deployment traffic ratio.

[0014] Thirdly, embodiments of the present invention provide an electronic device, the electronic device comprising:

[0015] At least one processor;

[0016] and a memory communicatively connected to the at least one processor;

[0017] The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to perform the data type identification method according to any embodiment of the present invention.

[0018] Fourthly, embodiments of the present invention provide a computer-readable storage medium, characterized in that the computer-readable storage medium stores computer instructions, which are used to cause a processor to execute and implement the data type identification method described in any embodiment of the present invention.

[0019] The technical solution of this invention obtains the target application and determines its current state vector information on the application deployment cluster; based on the current state vector information and a pre-trained application deployment network model, it determines the traffic deployment adjustment information of the target application. The application deployment network model includes a deployment value evaluation sub-model and a deployment strategy determination sub-model; based on the traffic deployment adjustment information, it adjusts the deployment traffic ratio of the current version of the target application, and the application deployment cluster deploys the current version of the target application according to the deployment traffic ratio. This solves the problem that the traffic allocation strategy cannot be adjusted intelligently and flexibly in real time according to specific circumstances during application deployment, improving the flexibility, reliability, and efficiency of traffic allocation during application deployment. By continuously adjusting and optimizing traffic allocation, it improves the deployment efficiency and quality of the target application, thereby enhancing the promotion effect and user experience of the newly deployed version of the application.

[0020] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description

[0021] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0022] Figure 1 A flowchart illustrating an application deployment method provided in an embodiment of the present invention;

[0023] Figure 2 This is a schematic diagram of the structure of an application deployment system provided in an embodiment of the present invention;

[0024] Figure 3 A schematic diagram of an electronic device that can be used to implement embodiments of the present invention is shown. Detailed Implementation

[0025] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0026] It should be noted that the terms "target," "first," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0027] It should be noted that during the process of switching between new and old application versions, traffic allocation is often carried out through two methods: manual allocation or intelligent allocation using machine learning algorithms. These two methods cannot flexibly adjust the traffic allocation strategy in real time according to specific circumstances, which directly affects the reliability and efficiency of traffic allocation during the application version deployment process, thereby affecting the efficiency and quality of the new application version deployment.

[0028] Based on this, embodiments of the present invention provide an application deployment method. Figure 1 This is a flowchart of an application deployment method provided by an embodiment of the present invention. The embodiment of the present invention can be applied to application deployment scenarios during the process of application version iteration. The method can be executed by an application deployment system, which can be implemented in the form of software and / or hardware. Optionally, it can be implemented by an electronic device, preferably a mobile terminal, desktop computer, laptop computer, or server.

[0029] like Figure 1 As shown, the application deployment method provided in this embodiment of the invention may specifically include:

[0030] S101. Obtain the target application and determine the current state vector information of the target application on the application deployment cluster.

[0031] The target application can be understood as an application that requires traffic allocation. The application deployment cluster can be considered a platform with automated deployment, scaling, and management capabilities for containerized applications. It can store all cluster data, including cluster status, configuration, and network information. It can also deploy applications by describing their desired state, including the number of application replicas and update strategies. The current state vector information can be understood as a vector of various state information reflecting the application deployment quality during the current round of traffic allocation. It is used to monitor the application's operational status and evaluate the effectiveness of traffic allocation.

[0032] In this embodiment, the target application that has been deployed through the application deployment cluster is obtained based on the application's name, version number, or other unique identifier. The current state vector information of the target application on the application deployment cluster is determined by collecting various state information of the target application during its operation.

[0033] For example, the current state vector information may include performance metrics of the new and old versions of the target application in the current round (such as response time, error rate, and traffic allocation), the traffic allocation ratio of the new version of the target application, system resource usage (such as central processing unit (CPU) utilization and memory utilization), and user feedback metrics (such as user satisfaction). User satisfaction can be the user's rating of the current version of the application.

[0034] S102. Based on the current state vector information and combined with the pre-trained application deployment network model, determine the traffic deployment adjustment information of the target application. The application deployment network model includes: a deployment value evaluation sub-model and a deployment strategy determination sub-model.

[0035] The application deployment network model can be understood as a model used to adjust the traffic allocation ratio between the old and new versions of the target application during deployment. Traffic deployment adjustment information can be considered as information about changes in the traffic allocation ratio of the target application. The deployment value evaluation sub-model can be understood as a model that evaluates the expected value of the target application's next round of state by analyzing the application's current state vector information, used to assist the policy network in making better decisions in the current state. The deployment policy determination sub-model can be understood as a model that determines the traffic deployment adjustment information of the target application based on the current state of the application deployment and the output of the deployment value evaluation sub-model.

[0036] In this embodiment, the current state vector information of the target application is input into a pre-trained application deployment network model. The traffic deployment adjustment information of the target application is determined by the deployment value evaluation sub-model and the deployment strategy determination sub-model in the application deployment network model. For example, the traffic deployment adjustment information can be 5%.

[0037] S103. Based on the traffic deployment adjustment information, adjust the deployment traffic ratio of the target application in the current version, and the application deployment cluster deploys the current version of the target application according to the deployment traffic ratio.

[0038] Here, "current version" can be understood as the newly deployed version of the target application. The deployment traffic proportion of the current version can be considered as the proportion of traffic allocated to the deployed target application of the current version.

[0039] In this embodiment, according to the preset traffic ratio update rules, the deployment traffic ratio of the target application in the current version is adjusted based on the traffic deployment adjustment information. Through the application deployment cluster, such as Kubernetes, the current version of the target application is deployed accordingly according to the deployment traffic ratio to achieve traffic redistribution. Then, the current state vector information of the target application on the application deployment cluster is re-determined, and S102-S103 are executed repeatedly until the current version has a problem or the deployment traffic ratio of the current version reaches a preset value, such as 98% or 95%.

[0040] For example, the preset traffic ratio update rule could be:

[0041] α t+1 =a t +a t ;

[0042] Where, α t It represents the proportion of deployment traffic for the target application in the current round and current version, α. t+1 It is the proportion of deployment traffic of the current version of the target application in the next round, and α t+1 ∈[0,1],a t This is the traffic deployment adjustment information for the target application in the current round, a t ∈[-△a,△a], where △a is the maximum adjustment step size of the flow ratio.

[0043] For example, continuing the example above, if the traffic deployment adjustment information is 5%, and the current round's current version's deployment traffic ratio is 20%, according to the traffic ratio update rule mentioned above, the next round's current version's deployment traffic ratio will be 25%. That is, if there are 100 users using the target application, then in the current round, 20 users will use the current version and 80 users will use the old version. After the traffic allocation adjustment, in the next round, 25 users will use the current version and 75 users will use the old version.

[0044] This invention provides an application deployment method that acquires a target application and determines its current state vector information on an application deployment cluster. Based on the current state vector information and a pre-trained application deployment network model, it determines traffic deployment adjustment information for the target application. The application deployment network model includes a deployment value evaluation sub-model and a deployment strategy determination sub-model. Based on the traffic deployment adjustment information, it adjusts the deployment traffic ratio of the current version of the target application. The application deployment cluster then deploys the current version of the target application according to the deployment traffic ratio. This method solves the problem of not being able to intelligently and flexibly adjust traffic allocation strategies in real time during application deployment, improving the flexibility, reliability, and efficiency of traffic allocation during application deployment. By continuously adjusting and optimizing traffic allocation, it improves the deployment efficiency and quality of the target application, thereby enhancing the promotion effect and user experience of newly deployed application versions.

[0045] As a first optional embodiment of this example, based on the above embodiment, the determination of the current state vector information of the target application on the application deployment cluster can be specified as the following steps:

[0046] a1) Obtain service metric data relative to the target application collected on the application deployment cluster using a data collection tool.

[0047] Among them, service metrics data can be understood as various performance metrics data that reflect the running status of the target application, such as request latency, error rate, throughput, resource usage (such as CPU, memory, disk and network utilization), user satisfaction, traffic ratio, etc.

[0048] In this embodiment, the current version of the target application is deployed through an application deployment cluster, and service indicator data relative to the target application is obtained by data collection tools such as Prometheus and Datadog on the application deployment cluster.

[0049] b1) Extract features from the service indicator data and determine the current state vector information of the target application on the application deployment cluster based on the feature extraction results in the constructed mathematical model.

[0050] In this embodiment, feature extraction is performed on the service indicator data, and mathematical modeling is performed on the traffic allocation strategy problem in the target application version release process. Based on the requirements, the current state vector information of the target application on the application deployment cluster is determined from the feature extraction results. For example, feature extraction results that affect indicators such as traffic allocation strategy and target application running status can be considered.

[0051] For example, based on the constructed mathematical model, the current state vector information can include the following feature extraction results from the current round: the response time of the target application in the current version. Response time of the target application in the old version Error rate of the target application in the current version Error rate of older target applications The current version's target application's deployment traffic ratio α t CPU utilization t Memory utilization (MEM) t and user satisfaction US t Then the current state vector information s t It can be represented as:

[0052]

[0053] The above-described technical solution in this embodiment extracts features from the collected service indicator data and determines the current state vector information of the target application on the application deployment cluster based on the feature extraction results in the constructed mathematical model. This enables the subsequent traffic allocation strategy to fully consider the real-time operation status of the application and make flexible and accurate traffic allocation decisions for specific situations.

[0054] As a second optional embodiment of this example, the step of determining the traffic deployment adjustment information of the target application based on the current state vector information and a pre-trained application deployment network model can be optimized as follows:

[0055] a2) Use the current state vector information as input data for the deployment value evaluation sub-model in the application deployment network model to determine the next state estimated value information output by the deployment value evaluation sub-model.

[0056] The next state estimation value information can be understood as the information obtained by pre-estimating the state performance of the target application in the next round, which is used to assist the policy network in making better decisions.

[0057] In this embodiment, the current state vector information is input into the deployment value evaluation sub-model in the application deployment network model. The deployment value evaluation sub-model is used to analyze the current state vector information and output the next state estimated value information.

[0058] b2) Determine the reward function value of the given reward function based on the current state vector information.

[0059] The reward function can be understood as a function used to guide the behavior of the network model deployed by the application. The reward function value can be considered as a value calculated based on the reward function that reflects whether the changes in the target application's state are positive.

[0060] In this embodiment, the reward function value is determined according to the feature information contained in the current state vector information and the given reward function. The reward function needs to take into account the performance of the target application in the current version and the degree of influence of each performance on the quality of traffic allocation decision.

[0061] For example, the reward function can be set as follows:

[0062]

[0063] Where, r t Here, w1, w2, and w3 represent the reward function value for the current round, and α represents the weighting coefficients of each indicator. t-1 This represents the deployment traffic percentage of the target application in the current version from the previous round.

[0064] c2) The current state vector information, the reward function value, and the next state estimated value information are used as input data for the deployment strategy determination sub-model in the application deployment network model. The traffic adjustment ratio output by the deployment strategy determination sub-model is determined, and the traffic adjustment ratio is determined as the traffic deployment adjustment information.

[0065] The traffic adjustment ratio can be understood as the ratio by which the traffic allocation between the current version and the old version of the target application is adjusted.

[0066] In this embodiment, the current state vector information, the reward function value, and the next state estimated value information output by the deployment value evaluation sub-model are input into the deployment strategy determination sub-model in the application deployment network model. The deployment strategy determination sub-model analyzes the current state vector, the reward function value, and the next state estimated value information to determine the probability distribution of the traffic adjustment ratio, and then determines the output traffic adjustment ratio from it, and determines the traffic adjustment ratio as the traffic deployment adjustment information.

[0067] For example, the traffic adjustment ratio with the highest probability can be determined as the output traffic adjustment ratio, and the output traffic adjustment ratio (i.e., traffic deployment adjustment information) can be determined. t The calculation formula can be expressed as:

[0068]

[0069] Where, π θ (a|s t The deployment strategy determination sub-model determines the current state vector information as s. t In the case of selecting a traffic adjustment ratio of 'a', the probability is given, and θ is the parameter of the deployment strategy determining the sub-model.

[0070] The above-described technical solution in this embodiment determines the next state estimated value information by inputting the current state vector information into the deployment value evaluation sub-model, and uses the current state vector information and the next state estimated value information as input data for the deployment strategy determination sub-model, thereby determining the traffic deployment adjustment information. It fully considers the current state vector information and the next state estimated value information of the target application, improves the accuracy and flexibility of the traffic deployment adjustment information, and thus improves the efficiency and quality of application deployment.

[0071] As a third optional embodiment of this embodiment, based on the above embodiments, it further includes:

[0072] a3) Store the determined current state vector information, the traffic deployment adjustment information, and the next state estimation value information and reward function value obtained during the operation of the application deployment network model in the database as sample data for training the application deployment network model.

[0073] In this embodiment, the current state vector information determined in each round, the traffic deployment adjustment information, and the next state estimation value information and reward function value obtained during the operation of the application deployment network model are stored in a database or other storage system. A training period is set, and the stored data is used as sample data for subsequent training and updating of the application deployment network model.

[0074] The above-described technical solution in this embodiment uses the current state vector information, traffic deployment adjustment information, next state estimated value information, and reward function value of each historical round as sample data for training the application deployment network model. The application deployment network model is updated with new data, and the deployment strategy is adjusted and optimized, so that the application deployment network model can perform traffic allocation and version deployment more intelligently and accurately, thereby improving the quality of target application deployment and user experience.

[0075] As a fourth optional embodiment of this embodiment, based on the above embodiments, it further includes:

[0076] a4) Determine the performance indicators to be detected for the target application and the threshold values ​​for each performance indicator to be detected.

[0077] Among these, the performance metrics to be tested can be understood as indicators reflecting the health status and user experience of the target application. The metric threshold can be understood as the acceptable range for each performance metric to be tested in the target application, such as a response time threshold of 1 second.

[0078] In this embodiment, the performance indicators to be tested for the target application, such as response time and error rate, are determined based on requirements and experience, and threshold values ​​corresponding to each performance indicator to be tested are set.

[0079] b4) If any of the performance metrics to be detected has a current value that exceeds the corresponding threshold, then the application deployment of the target application is determined to be abnormal.

[0080] In this embodiment, the performance indicators of the deployed target application are monitored and compared with preset thresholds. If one or more of the performance indicators exceed the corresponding threshold, the application deployment of the target application is determined to be abnormal. If none of the performance indicators exceed the corresponding threshold, the application deployment of the target application is determined to be normal.

[0081] c4) If it is determined that the application deployment of the target application is abnormal, then the application is deployed according to the historical version of the target application.

[0082] In this context, "historical version" can be understood as the version that was being used before the new version of the target application was deployed.

[0083] In this embodiment, if it is determined that the application deployment of the target application is abnormal, a version rollback is performed, the application is deployed according to the historical version of the target application, the deployment of the current version of the application is canceled, and after the abnormality of the current version is fixed, the application is redeployed and traffic is redistributed through the application deployment cluster.

[0084] The above-described technical solution in this embodiment monitors the performance indicators of the target application and compares them with preset indicator thresholds to determine whether the application deployment of the target application is abnormal. This enables timely detection of problems during the application deployment process and rollback of historical versions to ensure the stable operation of the target application and a good user experience.

[0085] As a fifth optional embodiment of this example, the training steps of the application deployment network model can be specified as follows:

[0086] a5) Based on the historical data stored on the application deployment cluster, determine the sample state vector information of at least one application.

[0087] Historical data information can be understood as the state vector information of each application deployed on the application deployment cluster at different rounds, traffic deployment adjustment information, next state estimation value information obtained from the operation of the deployment network model, and reward function value, etc. Sample state vector information can be considered as the state vector information used as samples for training the application deployment network model.

[0088] In this embodiment, sample state vector information of at least one application is determined based on the historical data information of each application stored on the application deployment cluster.

[0089] b5) Based on the sample state vector information, and in conjunction with the target loss function set relative to the deployment value evaluation sub-model and the target optimization function set relative to the deployment strategy determination sub-model, update the network parameters in the deployment value evaluation sub-model and the deployment strategy determination sub-model respectively.

[0090] The objective loss function can be considered a function set for the deployment value evaluation sub-model, used to assess the accuracy of the model's predictions. The objective optimization function can be considered a function set for the deployment strategy determination sub-model, used to assess the effectiveness of the deployment strategy generated by the model.

[0091] It should be noted that the deployment value evaluation sub-model can be established by using a neural network approximating the state value function with parameter φ, and the deployment strategy determination sub-model can be established by using a neural network approximating the strategy function with parameter θ.

[0092] In this embodiment, the network parameters θ of the deployment value evaluation sub-model are updated based on the sample state vector information and the target loss function set relative to the deployment value evaluation sub-model; the network parameters φ in the deployment strategy determination sub-model are updated based on the sample state vector information and the target optimization function set relative to the deployment strategy determination sub-model.

[0093] As one implementation, this optional embodiment can further specify the following: The network parameters in the deployment value evaluation sub-model and the deployment strategy determination sub-model can be updated based on the sample state vector information, combined with the target loss function set relative to the deployment value evaluation sub-model and the target optimization function set relative to the deployment strategy determination sub-model.

[0094] b51) Obtain the known current sample state estimation value information, and input the sample state vector information into the deployment value evaluation sub-model to obtain the next sample state estimation value information.

[0095] The current sample state estimated value information can be understood as the output information of the deployment value evaluation sub-model when the sample state vector information of the previous round is used as the input of the deployment value evaluation sub-model.

[0096] In this embodiment, known current sample state estimation value information and sample state vector information stored in history are obtained, and the sample state vector information is input into the deployment value evaluation sub-model to obtain the next sample state estimation value information.

[0097] b52) Based on the next sample state estimation value information and the known current sample state estimation value information, determine the sample reward function value of the given reward function, and determine the advantage function value of the given advantage function based on the sample reward function value, the current sample state estimation value information and the next sample state estimation value information.

[0098] The sample reward function value can be considered as the value obtained from the reward function when training the application deployment network model. The advantage function can be understood as a measure of the advantage of implementing a certain traffic deployment adjustment information in a given state relative to the current traffic deployment adjustment information, helping the deployment strategy determine the sub-model update network model to more accurately optimize the strategy selection.

[0099] In this embodiment, the sample reward function value that can be obtained from the known current sample state estimation value information is determined by the given reward function, and the advantage function value of the given advantage function is determined based on the sample reward function value, the current sample state estimation value information and the next sample state estimation value information.

[0100] For example, the advantage function The time difference method can be used to determine this, as shown in the following formula:

[0101]

[0102] Where, r t ' represents the sample reward function value, γ is the discount factor, and s t 'St' represents the current sample state vector information. +1 For the next round of sample state vector information, V φ (st') represents the estimated value information of the current sample state, V φ (s t ' +1 This is used to estimate the state value information for the next sample.

[0103] b53) Based on the sample state vector information, the current sample state estimated value information, the next sample estimated state value information, the sample reward function value, and the advantage function value, and in combination with the target loss function and the target optimization function, determine the target loss function value of the deployment value evaluation sub-model and the target optimization function value of the deployment strategy determination sub-model.

[0104] In this embodiment, the target loss function value corresponding to the target loss function of the deployment value evaluation sub-model and the target optimization function value corresponding to the target optimization function of the deployment strategy determination sub-model are determined based on the sample state vector information, the current sample state estimated value information, the next sample estimated state value information, the sample reward function value, and the advantage function value.

[0105] For example, the target loss function L VF (θ) can be represented by the mean square error function, as shown in the following formula:

[0106]

[0107] in, Estimate the value information for the target state.

[0108] For example, the objective optimization function L CLIP (φ) can be represented as:

[0109]

[0110] Where, θ old The deployment strategy determines the network parameters before the sub-model is updated, and ε is the clipping coefficient.

[0111] b54) The network parameters of the deployment value evaluation sub-model are updated using gradient descent and the loss function value, and the network parameters of the deployment strategy determination sub-model are updated using gradient ascent and the objective optimization function value.

[0112] In this embodiment, gradient descent is used to minimize the loss function value, obtaining the network parameter φ corresponding to the minimum loss function value. The network parameters of the deployment value evaluation sub-model are then updated to the network parameter φ corresponding to the minimum loss function value. Simultaneously, gradient ascent is used to maximize the target optimization function value, obtaining the network parameter θ corresponding to the maximum target optimization function value. The network parameters of the deployment strategy determination sub-model are then updated to the network parameter θ corresponding to the maximum target optimization function value.

[0113] The above-described technical solution in this embodiment improves the performance of the deployment value evaluation sub-model and the deployment strategy determination sub-model by designing appropriate target loss functions and target optimization functions and using gradient descent and gradient ascent methods to obtain updated network parameters.

[0114] c5) The application deployment network model consists of the deployment value evaluation sub-model and the deployment strategy determination sub-model based on the updated network parameters.

[0115] In this embodiment, after the deployment value evaluation sub-model and the deployment strategy determination sub-model are trained respectively, the deployment value evaluation sub-model and the deployment strategy determination sub-model with updated network parameters are combined to form a complete network model, namely the application deployment network model.

[0116] In this embodiment, by using sample state vector information, combined with the target loss function and the target optimization function, the network parameters in the deployment value evaluation sub-model and the deployment strategy determination sub-model are updated respectively. The deployment value evaluation sub-model and the deployment strategy determination sub-model with updated network parameters constitute the application deployment network model. This improves the accuracy of the application deployment network model in analyzing and evaluating the application deployment status and the quality of generating traffic allocation optimization strategies, thereby improving the overall performance of the application deployment network model and enabling it to better serve the deployment and optimization of applications.

[0117] Figure 2 This is a schematic diagram of the structure of an application deployment system provided in an embodiment of the present invention. Figure 2 As shown, the system includes: an information acquisition module 21, an adjustment information determination module 22, and a traffic ratio adjustment module 23, wherein...

[0118] Information acquisition module 21 is used to acquire the target application and determine the current state vector information of the target application on the application deployment cluster;

[0119] The adjustment information determination module 22 is used to determine the traffic deployment adjustment information of the target application based on the current state vector information and in combination with the pre-trained application deployment network model. The application deployment network model includes: a deployment value evaluation sub-model and a deployment strategy determination sub-model.

[0120] The traffic ratio adjustment module 23 is used to adjust the deployment traffic ratio of the current version of the target application according to the traffic deployment adjustment information, and the application deployment cluster deploys the current version of the target application according to the deployment traffic ratio.

[0121] This invention provides an application deployment system that acquires a target application and determines its current state vector information on an application deployment cluster. Based on the current state vector information and a pre-trained application deployment network model, it determines traffic deployment adjustment information for the target application. The application deployment network model includes a deployment value evaluation sub-model and a deployment strategy determination sub-model. Based on the traffic deployment adjustment information, it adjusts the deployment traffic ratio of the current version of the target application. The application deployment cluster then deploys the current version of the target application according to the deployment traffic ratio. This system solves the problem of not being able to intelligently and flexibly adjust traffic allocation strategies in real time during application deployment, improving the flexibility, reliability, and efficiency of traffic allocation during application deployment. By continuously adjusting and optimizing traffic allocation, it improves the deployment efficiency and quality of the target application, thereby enhancing the promotion effect and user experience of newly deployed application versions.

[0122] Furthermore, the information acquisition module 21 can specifically be used for:

[0123] Acquire service metric data relative to the target application on the application deployment cluster using a data acquisition tool;

[0124] Feature extraction is performed on the service indicator data, and the current state vector information of the target application on the application deployment cluster is determined in the constructed mathematical model based on the feature extraction results.

[0125] Furthermore, the adjustment information determination module 22 can be specifically used for:

[0126] The current state vector information is used as input data for the deployment value evaluation sub-model in the application deployment network model to determine the next state estimated value information output by the deployment value evaluation sub-model.

[0127] The reward function value of the given reward function is determined based on the current state vector information;

[0128] The current state vector information, the reward function value, and the next state estimated value information are used as input data for the deployment strategy determination sub-model in the application deployment network model. The traffic adjustment ratio output by the deployment strategy determination sub-model is determined, and the traffic adjustment ratio is determined as the traffic deployment adjustment information.

[0129] Furthermore, the application deployment system also includes a sample data storage module, specifically used for:

[0130] The determined current state vector information, the traffic deployment adjustment information, and the next state estimation value information and reward function value obtained during the operation of the application deployment network model are stored in a database as sample data for training the application deployment network model.

[0131] Furthermore, the application deployment system also includes an anomaly detection module, specifically used for:

[0132] Determine the performance indicators to be detected for the target application and the threshold values ​​for each performance indicator to be detected;

[0133] If any of the performance metrics to be detected exceeds the corresponding threshold, then the application deployment of the target application is determined to be abnormal.

[0134] If it is determined that the application deployment of the target application is abnormal, then the application will be deployed according to the historical version of the target application.

[0135] Furthermore, the application deployment system also includes a network training module, specifically including:

[0136] The sample state determination unit is used to determine sample state vector information of at least one application based on historical data information stored on the application deployment cluster.

[0137] The network parameter update unit is used to update the network parameters in the deployment value evaluation sub-model and the deployment strategy determination sub-model respectively based on the sample state vector information and the target loss function set relative to the deployment value evaluation sub-model and the target optimization function set relative to the deployment strategy determination sub-model.

[0138] The network model determination unit is used to construct the application deployment network model based on the deployment value evaluation sub-model and the deployment strategy determination sub-model after the network parameters are updated.

[0139] Furthermore, the network parameter update unit is specifically used for:

[0140] Obtain known current sample state estimation value information, and input the sample state vector information into the deployment value evaluation sub-model to obtain the next sample state estimation value information;

[0141] The sample reward function value of the given reward function is determined based on the sample state vector information, and the advantage function value of the given advantage function is determined based on the sample reward function value, the current sample state estimated value information, and the next sample estimated state value information.

[0142] Based on the sample state vector information, the estimated value information of the current sample state, the estimated value information of the next sample state, the sample reward function value, and the advantage function value, and in combination with the target loss function and the target optimization function, the target loss function value of the deployment value evaluation sub-model and the target optimization function value of the deployment strategy determination sub-model are determined.

[0143] The network parameters of the deployment value evaluation sub-model are updated using gradient descent and the loss function value, and the network parameters of the deployment strategy determination sub-model are updated using gradient ascent and the objective optimization function value.

[0144] The application deployment system provided in the embodiments of the present invention can execute the application deployment method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.

[0145] Figure 3A schematic diagram of an electronic device 30 that can be used to implement embodiments of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.

[0146] like Figure 3 As shown, the electronic device 30 includes at least one processor 31 and a memory, such as a read-only memory (ROM) 32 or a random access memory (RAM) 33, communicatively connected to the at least one processor 31. The memory stores computer programs executable by the at least one processor. The processor 31 can perform various appropriate actions and processes based on the computer program stored in the ROM 32 or loaded from storage unit 38 into the RAM 33. The RAM 33 can also store various programs and data required for the operation of the electronic device 30. The processor 31, ROM 32, and RAM 33 are interconnected via a bus 34. An input / output (I / O) interface 35 is also connected to the bus 34.

[0147] Multiple components in electronic device 30 are connected to I / O interface 35, including: input unit 36, such as keyboard, mouse, etc.; output unit 37, such as various types of monitors, speakers, etc.; storage unit 38, such as disk, optical disk, etc.; and communication unit 39, such as network card, modem, wireless transceiver, etc. Communication unit 39 allows electronic device 30 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0148] Processor 31 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 31 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 31 performs the various methods and processes described above, such as application deployment methods.

[0149] In some embodiments, the application deployment method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 38. In some embodiments, part or all of the computer program may be loaded and / or installed on electronic device 30 via ROM 32 and / or communication unit 39. When the computer program is loaded into RAM 33 and executed by processor 31, one or more steps of the application deployment method described above may be performed. Alternatively, in other embodiments, processor 31 may be configured to perform the application deployment method by any other suitable means (e.g., by means of firmware).

[0150] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0151] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0152] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0153] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0154] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.

[0155] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.

[0156] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.

[0157] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.

Claims

1. An application deployment method, characterized in that, include: Obtain the target application and acquire service metric data relative to the target application collected on the application deployment cluster using a data collection tool; Feature extraction is performed on the service metric data, and the current state vector information of the target application on the application deployment cluster is determined in the constructed mathematical model based on the feature extraction results; wherein, the current state vector information includes the performance metrics of the current version of the target application, the performance metrics of the old version of the target application, the deployment traffic ratio of the current version of the target application, the system resource usage, and user feedback metrics; The current state vector information is used as input data for the deployment value evaluation sub-model in the application deployment network model to determine the next state estimated value information output by the deployment value evaluation sub-model. The reward function value of the given reward function is determined based on the current state vector information; The current state vector information, the reward function value, and the next state estimated value information are used as input data for the deployment strategy determination sub-model in the application deployment network model. The traffic adjustment ratio output by the deployment strategy determination sub-model is determined, and the traffic adjustment ratio is determined as traffic deployment adjustment information. Based on the traffic deployment adjustment information, the deployment traffic ratio of the current version of the target application is adjusted, and the application deployment cluster deploys the current version of the target application according to the deployment traffic ratio; wherein, the deployment traffic ratio is the proportion of traffic allocated to the current version of the target application.

2. The method according to claim 1, characterized in that, Also includes: The determined current state vector information, the traffic deployment adjustment information, and the next state estimation value information and reward function value obtained during the operation of the application deployment network model are stored in a database as sample data for training the application deployment network model.

3. The method according to claim 1, characterized in that, Also includes: Determine the performance indicators to be detected for the target application and the threshold values ​​for each performance indicator to be detected; If any of the performance metrics to be detected exceeds the corresponding threshold, then the application deployment of the target application is determined to be abnormal. If it is determined that the application deployment of the target application is abnormal, then the application will be deployed according to the historical version of the target application.

4. The method according to claim 1, characterized in that, The training steps for the application deployment network model include: Based on historical data stored on the application deployment cluster, determine sample state vector information for at least one application; Based on the sample state vector information, and combined with the objective loss function set relative to the deployment value evaluation sub-model and the objective optimization function set relative to the deployment strategy determination sub-model, the network parameters in the deployment value evaluation sub-model and the deployment strategy determination sub-model are updated respectively. The application deployment network model consists of the deployment value evaluation sub-model based on network parameter updates and the deployment strategy determination sub-model.

5. The method according to claim 4, characterized in that, The step of updating the network parameters in the deployment value evaluation sub-model and the deployment strategy determination sub-model based on the sample state vector information, combined with the objective loss function set relative to the deployment value evaluation sub-model and the objective optimization function set relative to the deployment strategy determination sub-model, includes: Obtain known current sample state estimation value information, and input the sample state vector information into the deployment value evaluation sub-model to obtain the next sample state estimation value information; The sample reward function value of the given reward function is determined based on the sample state vector information, and the advantage function value of the given advantage function is determined based on the sample reward function value, the current sample state estimated value information, and the next sample estimated state value information. Based on the sample state vector information, the estimated value information of the current sample state, the estimated value information of the next sample state, the sample reward function value, and the advantage function value, and in combination with the target loss function and the target optimization function, the target loss function value of the deployment value evaluation sub-model and the target optimization function value of the deployment strategy determination sub-model are determined. The network parameters of the deployment value evaluation sub-model are updated using gradient descent and the loss function value, and the network parameters of the deployment strategy determination sub-model are updated using gradient ascent and the objective optimization function value.

6. An application deployment system, characterized in that, include: The information acquisition module is used to acquire the target application and determine the current state vector information of the target application on the application deployment cluster; wherein, the current state vector information includes the performance indicators of the current version of the target application, the performance indicators of the old version of the target application, the deployment traffic ratio of the current version of the target application, the system resource usage and user feedback indicators; The adjustment information determination module is used to determine the traffic deployment adjustment information of the target application based on the current state vector information and in combination with a pre-trained application deployment network model. The application deployment network model includes a deployment value evaluation sub-model and a deployment strategy determination sub-model. The traffic ratio adjustment module is used to adjust the deployment traffic ratio of the current version of the target application according to the traffic deployment adjustment information, and the application deployment cluster deploys the current version of the target application according to the deployment traffic ratio; wherein, the deployment traffic ratio is the traffic ratio allocated to the current version of the target application; The information acquisition module is specifically used for: Acquire service indicator data relative to the target application on the application deployment cluster using a data acquisition tool; extract features from the service indicator data, and determine the current state vector information of the target application on the application deployment cluster based on the feature extraction results in the constructed mathematical model; The adjustment information determination module is specifically used for: The current state vector information is used as input data to the deployment value evaluation sub-model in the application deployment network model to determine the next state estimated value information output by the deployment value evaluation sub-model; the reward function value of the given reward function is determined based on the current state vector information; the current state vector information, the reward function value, and the next state estimated value information are used as input data to the deployment strategy determination sub-model in the application deployment network model to determine the traffic adjustment ratio output by the deployment strategy determination sub-model, and the traffic adjustment ratio is determined as the traffic deployment adjustment information.

7. An electronic device, characterized in that, As a control device for the application deployment system of claim 6, it includes: At least one processor; and a memory communicatively connected to the at least one processor; The memory stores a computer program that can be executed by the at least one processor, which is then executed by the at least one processor to enable the at least one processor to perform the application deployment method according to any one of claims 1-5.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that are used to cause a processor to execute the application deployment method according to any one of claims 1-5.

Citation Information

Patent Citations

  • Application deployment method and device

    CN109918090A

  • Heterogeneous application generation method and device of cross-CPU architecture and electronic equipment

    CN118567784A