Application deployment method and device, electronic equipment and storage medium

By obtaining application change code and project characteristics, generating customized code inspection rules and performing automated deployment, the problem of low automation in the existing technology is solved, and the automation, accuracy and efficiency of application deployment is improved.

CN120066927APending Publication Date: 2025-05-30DUXIAOMAN TECH (BEIJING) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411985378.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

The degree of automation is low during the development of existing software or application and high manual participation, especially during the code inspection and functional testing stages, rules and use cases need to be formulated manually.

Method used

By obtaining the application change code and application project characteristics of the target application, enter the code inspection model to generate customized code inspection rules, check the application change code, and deploy the application after passing the code inspection rules.

Benefits of technology

It improves the automation and efficiency of the application deployment process, and does not require human formulation of code inspection rules. Dynamically generates targeted code inspection rules to improve the accuracy and efficiency of code inspection, thereby improving the accuracy and efficiency of application deployment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120066927A_ABST
    Figure CN120066927A_ABST
Patent Text Reader

Abstract

The invention provides an application deployment method and device, electronic equipment and a storage medium, and relates to the technical field of application development, and the method comprises the following steps: obtaining an application change code of a target application and an application item feature of the target application; inputting the application change codes and the application item features into a code inspection model, and generating code inspection rules of the application change codes; performing code inspection on the application change code based on the code inspection rule; and deploying the target application based on the application change code under the condition that the application change code is checked through the code checking rule. According to the method, code checking rules do not need to be made manually, and the automation degree and efficiency of application deployment are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of application development technologies, and in particular, to an application deployment method, apparatus, electronic device, and storage medium. Background Art

[0002] The current software or application development process includes processes such as functional testing, code inspection, model acceleration, and compilation and construction; in the execution of each development process, the manual participation is relatively high. For example, in the code inspection stage, it is necessary to artificially formulate code inspection rules in advance; in the functional testing stage, it is necessary to artificially select test cases, etc.; it can be seen that the current degree of automation in the software or application development process is relatively low. Summary of the Invention

[0003] The present disclosure provides an application deployment method, apparatus, electronic device, and storage medium. This method can improve the degree of automation in the software development and deployment process. The technical solutions are as follows:

[0004] According to one aspect of the present disclosure, there is provided an application deployment method, the method including:

[0005] Obtain the application change code of the target application and the application project characteristics of the target application;

[0006] Input the application change code and the application project characteristics into a code inspection model to generate code inspection rules for the application change code;

[0007] Perform code inspection on the application change code based on the code inspection rules;

[0008] In the case where the application change code passes the inspection by the code inspection rules, deploy the target application based on the application change code.

[0009] According to another aspect of the present disclosure, there is provided an application deployment apparatus, the apparatus including:

[0010] A first acquisition module, configured to obtain the application change code of the target application and the application project characteristics of the target application;

[0011] A generation module, configured to input the application change code and the application project characteristics into a code inspection model to generate code inspection rules for the application change code;

[0012] A code inspection module, configured to perform code inspection on the application change code based on the code inspection rules;

[0013] A deployment module, configured to deploy the target application based on the application change code in the case where the application change code passes the inspection by the code inspection rules.

[0014] According to one aspect of the present disclosure, there is provided an electronic device, including: a processor and a memory storing a program, the program including instructions that, when executed by the processor, cause the processor to execute the application deployment method as described above.

[0015] According to another aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium storing computer instructions for causing a computer to execute the application deployment method as described above.

[0016] According to another aspect of the present disclosure, there is provided a computer program product, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the above-mentioned application deployment method.

[0017] The beneficial effects brought by the technical solution provided by the embodiments of the present disclosure at least include:

[0018] The embodiments of the present disclosure provide an application deployment method: First, obtain the application change code and application project characteristics of a target application, and generate customized code inspection rules based on the application change code and application project characteristics through a code inspection model, and inspect the application change code. Furthermore, when the application change code passes the inspection of the code inspection rules, deploy the target application based on the application change code; on the one hand, there is no need to manually formulate code inspection rules, which improves the automation degree and efficiency of application deployment; on the other hand, targeted code inspection rules can be dynamically generated according to the application change code and application project characteristics, so that the code inspection rules can be adaptively adjusted according to different application change codes and application project characteristics, improving the accuracy and efficiency of code inspection, and thus improving the accuracy and efficiency of application deployment. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] In the following description of exemplary embodiments with reference to the accompanying drawings, more details, features, and advantages of the present disclosure are disclosed. In the drawings:

[0020] Figure 1 A flowchart of an application deployment method according to an exemplary embodiment of the present disclosure is shown;

[0021] Figure 2 A flowchart of another application deployment method according to an exemplary embodiment of the present disclosure is shown;

[0022] Figure 3 A flowchart of another application deployment method according to an exemplary embodiment of the present disclosure is shown;

[0023] Figure 4 The flowchart of another application deployment method according to an exemplary embodiment of the present disclosure is shown;

[0024] Figure 5 The flowchart of another application deployment method according to an exemplary embodiment of the present disclosure is shown;

[0025] Figure 6 The structural schematic diagram of an application deployment device provided by an embodiment of the present disclosure;

[0026] Figure 7 The structural block diagram of an exemplary electronic device that can be used to implement the embodiments of the present disclosure is shown. Detailed implementation manners

[0027] The embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although some embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. On the contrary, these embodiments are provided to more thoroughly and completely understand the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not used to limit the protection scope of the present disclosure.

[0028] It should be understood that the various steps recorded in the method embodiments of the present disclosure can be executed in different orders and / or executed in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this regard.

[0029] As used herein, the term "including" and its variants are open-ended, that is, "including but not limited to". The term "based on" is "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". The relevant definitions of other terms will be given in the following description. It should be noted that the concepts such as "first" and "second" mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence relationship of the functions performed by these devices, modules or units. It should be noted that the modifications of "one" and "multiple" mentioned in the present disclosure are illustrative rather than restrictive. Those skilled in the art should understand that unless otherwise clearly stated in the context, it should be understood as "one or more". The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only for illustrative purposes and are not used to limit the scope of these messages or information.

[0030] The solutions of the present invention are described below with reference to the accompanying drawings, and the technical solutions provided by the embodiments of the present invention are described in detail through specific embodiments and their application scenarios.

[0031] Please refer to Figure 1 , which shows a flowchart of an application deployment method according to an exemplary embodiment of the present disclosure. Taking the application of this method to an electronic device as an example for illustration. As Figure 1 shown, the method includes:

[0032] Step 101, obtain the application change code of the target application and the application project characteristics of the target application.

[0033] In the application development or application deployment scenario, it is necessary to package the changed application code or the newly added application code to generate an application deployment package, and distribute the application deployment package to each platform where the application is located to achieve the update and deployment of the application. In order to ensure the normal deployment of the application, after the application developer submits the application change code of the application, it is first necessary to check the application change code to avoid subsequent application deployment failures caused by code writing errors.

[0034] When the related technology checks the application change code, it often sets fixed code checking rules, that is, for the code written in the same language, the same fixed code checking rules are adopted, without considering the differences between different applications and the differences in different potential risks of different application change codes for the same application. This affects the accuracy of code checking. Therefore, in order to improve the accuracy of code checking in the embodiments of the present disclosure, after the application developer submits the application change code of the target application, the application project characteristics of the target application will also be obtained, so as to dynamically adjust the code checking rules for the application change code based on the application change code and the application project characteristics.

[0035] Among them, the application project characteristics are characteristics such as the programming language, framework, design pattern, and coding style of the target application. The application project characteristics can be obtained by analyzing and identifying the existing project code library of the target application. Among them, the coding style refers to a coding criterion for the programming language corresponding to the target application, and different programming languages correspond to different coding styles. Exemplarily, the coding style refers to the coding criteria or requirements in aspects such as code file directory organization and naming, comments, declarations, statements, and naming.

[0036] Step 102, input the application change code and the application project characteristics into the code checking model to generate the code checking rules for the application change code.

[0037] To further improve the generation efficiency of dynamic code inspection rules, a code inspection model is deployed, which is used to dynamically generate code inspection rules that meet the requirements of the current code. In a possible implementation, the electronic device inputs the application change code and the application project characteristics into the code inspection model, and the code inspection model dynamically generates customized code inspection rules based on the application project characteristics, the application change code, and the learning results of historical rule cases.

[0038] Among them, the training process of the code inspection model is as follows: a number of historical rule cases (historical change codes, historical project characteristics, and their corresponding historical inspection rules) are collected in advance; the historical change codes and historical project characteristics are input into the code inspection model to obtain predicted inspection rules; furthermore, based on the difference loss between the predicted inspection rules and the historical inspection rules, the code inspection model is trained so that the code inspection model can learn the relationship between the code inspection rules and the change codes from these historical rule cases, so as to provide more accurate code inspection rules for the application change codes for project-specific requirements and common problems.

[0039] Step 103, perform code inspection on the application change code based on the code inspection rules.

[0040] After generating the code inspection rules corresponding to the application change code, code inspection can be performed on the application change code based on the code inspection rules. Among them, the code inspection rules are mainly used to check some code writing errors in the application change code, such as null pointer errors, symbol errors, code spelling errors, and so on.

[0041] Step 104, when the application change code passes the code inspection rules, deploy the target application based on the application change code.

[0042] When the application change code passes the code inspection rules, the target application can be deployed based on the application change code. Among them, if the application change code passes the code inspection rules, that is, there are no code writing errors in the application change code, the application change code can be directly applied to the subsequent application deployment process; if the application change code fails to pass the code inspection rules, the electronic device will display some code error positions after passing the code inspection rules to the developer, and the developer can modify the application change code based on the code error positions and perform the subsequent application deployment process based on the modified application change code.

[0043] In summary, the embodiments of the present disclosure provide an application deployment method: First, obtain the application change code and application project characteristics of the target application, and generate customized code inspection rules based on the application change code and application project characteristics through a code inspection model to inspect the application change code. Then, when the application change code passes the inspection by the code inspection rules, deploy the target application based on the application change code. On the one hand, there is no need to manually formulate code inspection rules, which improves the automation degree and efficiency of application deployment. On the other hand, targeted code inspection rules can be dynamically generated according to the application change code and application project characteristics, enabling the code inspection rules to be adaptively adjusted according to different application change codes and application project characteristics, improving the accuracy and efficiency of code inspection, and further improving the accuracy and efficiency of application deployment.

[0044] During the application deployment process, in addition to code inspection, steps such as functional testing, code acceleration, and code compilation may also be involved. To further improve the automation degree of the application deployment process, the following embodiments provide corresponding intelligent decision-making methods for the above steps.

[0045] Please refer to Figure 2 , which shows a flowchart of another application deployment method according to an exemplary embodiment of the present disclosure. This method is described by taking an example of being applied to an electronic device. As Figure 2 shown, the method includes:

[0046] Step 201, obtain the application change code of the target application and the application project characteristics of the target application.

[0047] Step 202, input the application change code and the application project characteristics into a code inspection model to generate code inspection rules for the application change code.

[0048] Step 203, perform code inspection on the application change code based on the code inspection rules.

[0049] The implementation manners of steps 201 to 203 can refer to the above embodiments, and will not be elaborated herein.

[0050] Step 204, when the application change code passes the inspection by the code inspection rules, input the application change code into a code acceleration model to generate a first acceleration strategy for the application change code.

[0051] The application change code checked by the code inspection rules can only ensure that the application code is written correctly, but cannot ensure that the application code can achieve good running performance when it is subsequently deployed to the application. Therefore, in order to improve the running performance of the subsequent application, it is also necessary to perform performance analysis and improvement on the application change code. In a possible implementation manner, when the application change code passes the code inspection rules, it is also necessary to input the application change code into the code acceleration model to generate a first acceleration strategy for the application change code, and this first acceleration strategy is used to optimize the application change code and improve the running performance of the application change code during operation.

[0052] Among them, the code acceleration model has an analysis network in three stages, specifically including a performance analysis network, a performance improvement network, and an acceleration strategy network. In an exemplary example, the process of the code acceleration model generating the first acceleration strategy may include step 204A to step 204C, that is, step 204 may also include step 204A to step 204C.

[0053] Step 204A: Input the application change code into the performance analysis network to generate the running performance parameters of the application change code.

[0054] Step 204B: Input the running performance parameters into the performance improvement network to generate the performance improvement object of the application change code.

[0055] Step 204C: Input the running performance parameters and the performance improvement object into the acceleration strategy network to generate the first acceleration strategy for the application change code.

[0056] First, utilize the learning and analysis capabilities of the performance analysis network to conduct a comprehensive performance analysis on the application change code, mainly analyzing the resource consumption, computing efficiency, and performance parameter performance on different types of data levels during the operation of the application change code, so as to identify the running performance parameters of the application change code. The running performance parameters refer to the performance bottleneck parameters of the application change code at different levels and components during operation. For example, compute-intensive operations, memory access bottleneck parameters, data transmission latency parameters, and so on.

[0057] After that, input the generated running performance parameters into the performance improvement network. Based on the results of the performance analysis (i.e., the running performance parameters), the performance improvement network evaluates the optimization potential of the application change code, that is, determines the performance improvement object (or performance improvement part) that the application change code can perform performance improvement on. For example, identify which parts of the application change code can improve the code running performance through algorithm optimization, hardware acceleration, or parameter adjustment.

[0058] Further, after obtaining the running performance parameters and the performance improvement object, they can be input into the acceleration policy network. Based on the identified performance bottleneck (running performance parameters) and optimization potential (performance improvement object), the acceleration policy network recommends the most suitable first acceleration policy. Exemplarily, the first acceleration policy may include model pruning, quantization, distillation, hardware acceleration (such as GPU, TPU), and parallel computing, etc. And when recommending the first acceleration policy, the acceleration policy network will also provide the optimal parameter settings. These parameters may involve hyperparameters of model training, configuration parameters during runtime, and allocation parameters of hardware resources, etc.

[0059] Step 205, perform acceleration processing on the application change code based on the first acceleration policy to obtain the optimized application change code.

[0060] After generating the first acceleration policy corresponding to the application change code, the application change code can be accelerated based on the first acceleration policy, that is, the acceleration object (performance improvement object) is optimized based on the acceleration parameters in the first acceleration policy to obtain the optimized application change code. Step 206, deploy the target application based on the optimized application change code.

[0061] After obtaining the optimized application change code, an application deployment package can be directly generated based on the optimized application change code, and then the target application can be deployed based on the application deployment package.

[0062] In some application scenarios, the application change code written by developers cannot be directly run on the machine and needs to be compiled. For example, from JAVA code to binary machine code, and the compilation process involves the conversion between two code types. To improve the compilation success rate, the prediction and analysis capabilities of the large language model can also be used to provide a suitable compilation policy for the compilation process. Correspondingly, on the basis of Figure 2 as Figure 3 shown, Step 206 can be replaced by Steps 301 to 303.

[0063] Step 301, in the case where the optimized application change code needs to be compiled, input the optimized application change code into the compilation policy model to generate the code compilation policy for the optimized application change code.

[0064] After obtaining the optimized application change code, first determine whether the optimized application change code needs to be compiled. If compilation is required, input the optimized application change code into the compilation policy model, use the compilation policy model to predict the impact of the application change code on the compilation process, identify possible compilation failures or performance issues in advance, optimize the compilation order and resource allocation, so as to obtain a suitable code compilation policy, thereby reducing the compilation time and failure rate.

[0065] Among them, the compilation strategy model includes an impact prediction network, a compilation order network, and a compilation resource allocation network. Correspondingly, in an exemplary example, the process of the compilation strategy model generating a code compilation strategy may include steps 301A to 301D.

[0066] Step 301A: Input the optimized application change code into the impact prediction network to generate a first impact parameter on the compilation order and a second impact parameter on resource allocation for the optimized application change code.

[0067] Step 301B: Input the first impact parameter into the compilation order network to generate a compilation order parameter.

[0068] Step 301C: Input the second impact parameter into the compilation resource allocation network to generate a resource allocation parameter.

[0069] Step 301D: Determine the compilation order parameter and the resource allocation parameter as the code compilation strategy for the optimized application change code.

[0070] First, input the optimized application change code into the impact prediction network. The impact prediction network will analyze and evaluate the impact of the optimized application change code on the subsequent code compilation order and resource allocation during compilation. For example, it will identify which modules or components may be affected and the potential build failures or performance issues caused by these impacts, thereby generating a first impact parameter on the compilation order and a second impact parameter on resource allocation for the optimized application change code. Exemplarily, the first impact parameter may include multiple modules or components affected by the application change code; the second impact parameter may include the resource requirement information of the application change code during compilation.

[0071] After that, the first impact parameter can be input into the compilation order network. The compilation order network adjusts the compilation order of each component or module in each application change code based on the first impact parameter to generate a compilation order parameter; to reduce dependency conflicts and resource competition during compilation. For example, if a code change involves modifications to multiple modules, the model may suggest compiling the modules with fewer dependencies first to reduce dependency issues during the compilation of subsequent modules.

[0072] Meanwhile, the second impact parameter can also be input into the compilation resource allocation network, and the compilation resource allocation network optimizes the resource allocation during compilation according to the predicted resource demand information to generate resource allocation parameters. Specifically, it includes adjusting the parameters of the compiler and linker, allocating more computing resources (such as CPU and memory), and optimizing cache and parallel processing strategies. For example, if it is predicted that the compilation of a certain module requires a large amount of computing resources, the model may suggest compiling during a period when resources are sufficient, or allocating more computing resources to speed up the compilation.

[0073] Further, after obtaining the compilation order parameter and the resource allocation parameter, they can be determined as the code compilation strategy for the optimized application change code for subsequent code compilation.

[0074] Step 302, compile the optimized application change code based on the code compilation strategy to generate the target compilation code.

[0075] After generating the adapted code compilation strategy, based on the compilation order parameter in the code compilation strategy, the compilation order of each part in the optimized application change code can be adjusted, and according to the resource allocation parameter in the code compilation strategy, the resources of each part in the optimized application change code during compilation can be adjusted to implement the compilation of the optimized application change code and generate the target compilation code.

[0076] Step 303, deploy the target application based on the target compilation code.

[0077] After generating the target compilation code, an application deployment package can be generated based on the target compilation code for subsequent deployment of the target application.

[0078] In other possible scenarios, after code compilation, it is also necessary to pre-test whether the target compilation code can achieve the expected specific application function during runtime to ensure that the target application can achieve the specific application function after deploying the target application based on the target compilation code. Then, to further improve the accuracy and test efficiency of the function test, the embodiments of the present disclosure also utilize the analysis ability of the model to provide an adapted code test case for the target compilation code. Corresponding to Figure 3 on the basis of, as Figure 4 shown, step 303 can also be replaced by steps 401 to 404.

[0079] Step 401, in the case where the target compilation code needs to be code-tested, input the target compilation code into the change analysis model to obtain the change impact parameter.

[0080] When performing functional testing on code, it is first necessary to identify the impact of the target compiled code on the application function, so as to implement targeted functional testing to improve the test coverage or avoid overtesting. In a possible implementation, when it is determined that the target compiled code needs to be code-tested, the target compiled code can be input into a change analysis model to obtain change impact parameters. Among them, the change impact parameters mainly include: change type (such as addition, modification, or deletion), functions or function scopes affected by the change, etc.

[0081] Step 402: Input the target compiled code and the change impact parameters into the test case model to generate code test cases for the target compiled code.

[0082] To determine test cases adapted to the current change, a test case model is set up to recommend the most suitable code test cases. In a possible implementation, the electronic device inputs the target compiled code and the change impact parameters into the test case model. Based on the learned correlation between the test cases and the code changes, as well as the analysis result of the code changes (change impact parameters), the test case model generates code test cases adapted to the target compiled code.

[0083] In addition, in addition to recommending test cases, the test case model will also optimize the test method according to the change impact parameters. This can include adjusting the execution order of multiple code test cases, selecting a suitable test environment for the code test cases, and configuring some test parameters of the code test cases.

[0084] Step 403: Test the target compiled code based on the code test cases.

[0085] Furthermore, test the target compiled code based on the generated code test cases to determine whether the target compiled code can implement the expected application function. Exemplarily, if the code change involves a modification of the core business logic, the test case model may recommend executing comprehensive integration test cases and performance test cases; if the change only involves an adjustment of the application interface elements, the test case model may recommend executing interface test cases and user interaction test cases.

[0086] Step 404: When the target compiled code passes the code test cases, deploy the target application based on the target compiled code.

[0087] When the target compiled code passes the code test cases, an application deployment package can be generated based on the target compiled code to implement the deployment of the target application.

[0088] To improve the recommendation accuracy of test cases, the test case model also needs to continuously learn and optimize from new code changes and test results. The optimization process for the test case model can include the following steps: First, obtain the code test results after testing the target compiled code with the code test cases.

[0089] Second, update the test case model based on the code test results and the target compiled code.

[0090] Among them, the code test results indicate whether the target compiled code can achieve the expected test effect when tested with the code test cases. If it can be achieved, it means that the code test case recommendation is accurate and the code test is correct; if it cannot be achieved, it means that the code test case recommendation is inaccurate and the code test is incorrect. Exemplarily, the code test results can be obtained through the feedback operation of developers.

[0091] After obtaining the code test results, the test case model can be updated based on the code test results and the target compiled code, enabling it to continuously learn the relationship between new test cases and code changes and improve the recommendation accuracy of the model. Specifically, in the case where the code test results indicate a code test error, the code test case and the target compiled code are used as negative sample data; in the case where the code test results indicate a correct code test, the code test case and the target compiled code are used as positive sample data, and then the test case model is updated based on the negative sample data and the positive sample data.

[0092] Although code acceleration has been performed during the application change code stage, there is code compilation involved in the middle, and code compilation involves code type conversion. To further improve the running performance of subsequent applications, it is also possible to analyze again whether there is an acceleration requirement when the compiled code is running. Corresponding to Figure 4 on the basis of Figure 5 as shown, step 404 can also be replaced by steps 501 to 503.

[0093] Step 501, in the case where the target compiled code passes the test with the code test cases, input the target compiled code into the code acceleration model to generate a second acceleration strategy for the target compiled code.

[0094] Similar to the acceleration process of the application change code, when performing code acceleration on the target compiled code, the target compiled code can also be input into the code acceleration model and go through three stages (performance analysis network - performance improvement network - acceleration strategy network) to generate a second acceleration strategy for the target compiled code.

[0095] Step 502, perform acceleration processing on the target compiled code based on the second acceleration strategy to obtain the optimized target compiled code.

[0096] After generating the second acceleration strategy corresponding to the target compiled code, the target compiled code can be accelerated based on the second acceleration strategy, that is, the acceleration object (performance improvement object) is optimized based on the acceleration parameters in the second acceleration strategy to obtain the optimized target compiled code.

[0097] Step 503, deploy the target application based on the optimized target compiled code.

[0098] After obtaining the optimized target compiled code, an application deployment package can be directly generated based on the optimized target compiled code, and then the target application can be deployed based on the application deployment package.

[0099] In this embodiment, by setting up a code inspection model, a code acceleration model, a compilation strategy model, a test case model, etc., intelligent decision-making for steps such as code inspection, functional testing, code acceleration, and code compilation is realized, further improving the automation degree of the application deployment process.

[0100] Please refer to Figure 6 , which is a schematic structural diagram of an application deployment device provided by an embodiment of the present disclosure. Exemplarily, as Figure 6 shown, the device 600 includes:

[0101] A first acquisition module 601, configured to acquire the application change code of the target application and the application project characteristics of the target application;

[0102] A generation module 602, configured to input the application change code and the application project characteristics into a code inspection model to generate code inspection rules for the application change code;

[0103] A code inspection module 603, configured to perform code inspection on the application change code based on the code inspection rules;

[0104] A deployment module 604, configured to deploy the target application based on the application change code when the application change code passes the inspection by the code inspection rules.

[0105] Optionally, the deployment module 604 is further configured to:

[0106] Input the application change code into a code acceleration model to generate a first acceleration strategy for the application change code;

[0107] Accelerate the application change code based on the first acceleration strategy to obtain an optimized application change code;

[0108] Deploy the target application based on the optimized application change code.

[0109] Optionally, the deployment module 604 is further configured to:

[0110] In the case where the optimized application change code needs to be compiled, input the optimized application change code into the compilation policy model to generate a code compilation policy for the optimized application change code;

[0111] Compile the optimized application change code based on the code compilation policy to generate a target compilation code;

[0112] Deploy the target application based on the target compilation code.

[0113] Optionally, the deployment module 604 is further configured to:

[0114] In the case where the target compilation code needs to be code-tested, input the target compilation code into the change analysis model to obtain change impact parameters;

[0115] Input the target compilation code and the change impact parameters into the test case model to generate a code test case for the target compilation code;

[0116] Test the target compilation code based on the code test case;

[0117] In the case where the target compilation code passes the test of the code test case, deploy the target application based on the target compilation code.

[0118] Optionally, the deployment module 604 is further configured to:

[0119] In the case where the target compilation code passes the test of the code test case, input the target compilation code into the code acceleration model to generate a second acceleration policy for the target compilation code;

[0120] Perform acceleration processing on the target compilation code based on the second acceleration policy to obtain an optimized target compilation code;

[0121] Deploy the target application based on the optimized target compilation code.

[0122] Optionally, the device further includes:

[0123] A second acquisition module, configured to acquire a code test result after testing the target compilation code using the code test case;

[0124] An update module, configured to update the test case model based on the code test result and the target compilation code.

[0125] Optionally, the update module is further configured to:

[0126] In the case where the code test result indicates a code test error, use the code test case and the target compiled code as negative sample data;

[0127] In the case where the code test result indicates a correct code test, use the code test case and the target compiled code as positive sample data;

[0128] Update the test case model based on the negative sample data and the positive sample data.

[0129] The embodiments of the present disclosure provide an application deployment method: First, obtain the application change code and application project characteristics of the target application, and generate customized code inspection rules based on the application change code and application project characteristics through a code inspection model, and inspect the application change code. Then, in the case where the application change code passes the inspection of the code inspection rules, deploy the target application based on the application change code; on the one hand, there is no need to manually formulate code inspection rules, which improves the automation degree and efficiency of application deployment; on the other hand, targeted code inspection rules can be dynamically generated for the application change code and application project characteristics, so that the code inspection rules can be adaptively adjusted according to different application change codes and application project characteristics, improving the accuracy and efficiency of code inspection, and thus improving the accuracy and efficiency of application deployment.

[0130] The exemplary embodiments of the present disclosure further provide an electronic device, including: 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, and when the computer program is executed by the at least one processor, it is used to cause the electronic device to execute the method according to the embodiments of the present disclosure.

[0131] The exemplary embodiments of the present disclosure further provide a non-transitory computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor of a computer, it is used to cause the computer to execute the method according to the embodiments of the present disclosure.

[0132] The exemplary embodiments of the present disclosure further provide a computer program product, including a computer program, wherein when the computer program is executed by a processor of a computer, it is used to cause the computer to execute the application deployment method according to the embodiments of the present disclosure.

[0133] Reference Figure 7, a structural block diagram of an electronic device 700 that can be a server or a client of the present disclosure will now be described. It is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device is intended to represent various forms of digital electronic computer devices, 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, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0134] As Figure 7 shown, the electronic device 700 includes a computing unit 701 that can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 702 or a computer program loaded from a storage unit 708 into a random access memory (RAM) 703. In the RAM 703, various programs and data required for the operation of the device 700 can also be stored. The computing unit 701, the ROM 702, and the RAM 703 are connected to each other via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.

[0135] Multiple components in the electronic device 700 are connected to the I / O interface 705, including: an input unit 706, an output unit 707, a storage unit 708, and a communication unit 709. The input unit 706 can be any type of device that can input information into the electronic device 700. The input unit 706 can receive input digital or character information and generate key signal inputs related to the user settings and / or function controls of the electronic device. The output unit 707 can be any type of device that can present information and can include, but is not limited to, a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer. The storage unit 708 can include, but is not limited to, magnetic disks, optical disks. The communication unit 709 allows the electronic device 700 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks and can include, but is not limited to, a modem, a network card, an infrared communication device, a wireless communication transceiver, and / or a chipset, such as a Bluetooth device, a WiFi device, a WiMax device, a cellular communication device, and / or the like.

[0136] The computing unit 701 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 701 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 701 executes the various methods and processes described above. For example, in some embodiments, Figure 1 , Figure 2 , Figure 3 , Figure 4 , Figure 5 the methods shown can be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 708. In some embodiments, part or all of the computer program can be loaded and / or installed onto the electronic device 700 via the ROM 702 and / or the communication unit 709. In some embodiments, the computing unit 701 can be configured to execute Figure 1 , Figure 2 , Figure 3 , Figure 4 , Figure 5 the methods shown in any other suitable manner (e.g., by means of firmware).

[0137] The program code for implementing the methods of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when the program codes are executed by the processor or controller, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The program codes can be executed entirely on the machine, partially on the machine, as an independent software package partially on the machine and partially on a remote machine, or entirely on a remote machine or server.

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

[0139] As used in this disclosure, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, apparatus, and / or device (e.g., a disk, optical disk, memory, programmable logic device (PLD)) used to provide machine instructions and / or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal used to provide machine instructions and / or data to a programmable processor.

[0140] To provide for interaction with a user, the systems and techniques described herein can be implemented on a computer 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 a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can also be used to provide for 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 acoustic, speech, or tactile input).

[0141] The systems and techniques described herein can be implemented in a computing system including backend components (e.g., as a data server), or a computing system including middleware components (e.g., an application server), or a computing system including frontend components (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described herein), or a computing system including any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected by digital data communication in any form or medium (e.g., a communication network). Examples of communication networks include: local area network (LAN), wide area network (WAN), and the Internet.

[0142] A computer system can include clients and servers. Clients and servers are generally far apart from each other and typically interact through a communication network. The client - server relationship is generated by computer programs running on respective computers and having a client - server relationship with each other.

Claims

1. An application deployment method, characterized in that: The method comprises: Obtaining an application change code of a target application and application project features of the target application; Inputting the application change code and the application project features into a code checking model to generate a code checking rule for the application change code; Performing code checking on the application change code based on the code checking rule; In a case where the application change code passes the code check rule check, the target application is deployed based on the application change code.

2. The method according to claim 1, characterized in that The deploying the target application based on the application change code includes: Inputting the application change code into a code acceleration model to generate a first acceleration strategy for the application change code; Accelerate the application change code based on the first acceleration strategy to obtain an optimized application change code; The target application is deployed based on the optimized application change code.

3. The method according to claim 2, characterized in that The deploying the target application based on the optimized application change code includes: In a case where the optimized application change code needs to be compiled, inputting the optimized application change code into a compilation strategy model to generate a code compilation strategy for the optimized application change code; Compiling the optimized application change code based on the code compilation strategy to generate a target compiled code; The target application is deployed based on the target compiled code.

4. The method according to claim 3, characterized in that The deploying the target application based on the target compiled code includes: In the case where the target compiled code needs to be tested, the target compiled code is input into a change analysis model to obtain a change impact parameter; Inputting the target compiled code and the change impact parameters into a test case model to generate a code test case for the target compiled code; Testing the target compiled code based on the code test case; In a case where the target compiled code passes the code test case test, the target application is deployed based on the target compiled code.

5. The method according to claim 4, characterized in that In the case where the target compiled code passes the code test case test, deploying the target application based on the target compiled code further includes: In a case where the target compiled code passes the code test case test, inputting the target compiled code into the code acceleration model to generate a second acceleration strategy for the target compiled code; Accelerate the target compiled code based on the second acceleration strategy to obtain an optimized target compiled code; The target application is deployed based on the optimized target compiled code.

6. The method according to claim 4, characterized in that The method further comprises: Obtaining a code test result after testing the target compiled code using the code test case; The test case model is updated based on the code test result and the target compiled code.

7. The method according to claim 6, characterized in that The updating of the test case model based on the code test result and the target compiled code includes: In the case where the code test result indicates a code test error, using the code test case and the target compiled code as negative sample data; When the code test result indicates that the code test is correct, taking the code test case and the target compiled code as positive sample data; The test case model is updated based on the negative sample data and the positive sample data.

8. An application deployment device, characterized in that: The device comprises: A first acquisition module, used to acquire an application change code of a target application and application project features of the target application; A generating module, used for inputting the application change code and the application project characteristics into a code checking model to generate a code checking rule for the application change code; A code checking module, used for performing code checking on the application change code based on the code checking rules; A deployment module is used to deploy the target application based on the application change code when the application change code passes the code check rule check.

9. An electronic device, comprising: processor; as well as Memory for storing programs, The program includes instructions, which, when executed by the processor, enable the processor to execute the application deployment method according to any one of claims 1 to 7.

10. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to enable the computer to execute the application deployment method according to any one of claims 1-7.