Automatic test environment deployment method, program product, equipment and medium

The automated deployment method assisted by deep learning models solves the problem of low efficiency of manual operation in network device testing environments, and achieves efficient and accurate testing environment deployment.

CN120950087APending Publication Date: 2025-11-14HUBEI TIANRONGXIN NETWORK SECURITY TECH CO LTD +3
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511103577.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-07
Publication Date
2025-11-14

AI Technical Summary

Technical Problem

In existing technologies, the deployment of test environments for network devices relies on manual operation, which leads to low efficiency and makes it difficult to effectively solve problems such as software installation failure and startup failure.

Method used

By responding to user-input deployment commands, the system leverages deep learning models to acquire deployment knowledge, automatically downloads and installs compatible software suites, and employs an execution engine for automated deployment, including semantic analysis, package deduplication, dependency handling, and error resolution.

Benefits of technology

It achieves fully automated deployment of the testing environment, improves deployment efficiency, reduces the knowledge requirements for users, and ensures the accuracy and efficiency of deployment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120950087A_ABST
    Figure CN120950087A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a test environment automatic deployment method, a program product, equipment and a medium, and relates to the technical field of testing. The automatic test environment deployment method comprises the steps of obtaining deployment knowledge of a test environment in response to a test environment deployment instruction input by a user; wherein the deployment knowledge comprises a downloading mode and an installation mode of a component required for deploying the test environment; downloading the software package of the component according to the downloading mode, and storing the software package of the component in a software library of the component; generating a plurality of software suites of the component based on the software library; wherein each software suite in the plurality of software suites comprises a plurality of mutually compatible software packages in a software library; and respectively installing each software suite in the plurality of software suites according to the installation mode by adopting an execution engine to obtain a plurality of deployment results of the test environment. The embodiment of the invention can realize the technical effects of automatically deploying the test environment in the whole process and effectively improving the deployment efficiency of the test environment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of testing technology, and more specifically, to a method, program product, device, and medium for automated deployment of a testing environment. Background Technology

[0002] Network devices are typically specialized hardware devices used to build, connect, and manage computer networks. Their main functions include data transmission, path selection, and security protection. Verifying the modular functionality of network devices requires multiple steps, including test environment deployment, test parameter setting, test parameter verification, and test environment recovery.

[0003] Deploying a test environment is a necessary step in verifying the functions of network devices. It mainly relies on manual operation, which often requires the deployment personnel to have a strong knowledge of deployment and to be able to correctly solve problems such as software installation failure and software startup failure encountered during the deployment process. There are many complex problems that accumulate and repeated manual attempts to solve problems, making it difficult to effectively improve the efficiency of test environment deployment. Summary of the Invention

[0004] The purpose of this application is to provide a method, program product, device and medium for automated deployment of a test environment, so as to achieve fully automated deployment of the test environment and effectively improve the efficiency of test environment deployment.

[0005] In a first aspect, embodiments of this application provide an automated deployment method for a test environment, including: In response to user input of test environment deployment instructions, the system obtains deployment knowledge of the test environment; wherein, the deployment knowledge includes the download and installation methods of the components required to deploy the test environment; Download the component's software package according to the download method, and store the component's software package in the component's software library; Multiple software suites of the component are generated based on the software library; wherein each software suite includes multiple mutually compatible software packages from the software library; The execution engine is used to install each of the multiple software packages according to the installation method described, resulting in multiple deployment results for the test environment.

[0006] In the above implementation process, by responding to the user's input test environment deployment command, the system obtains the deployment knowledge of the test environment, downloads the component software packages according to the download method of the components required for deploying the test environment included in the deployment knowledge, stores the component software packages in the component's software library, generates multiple software suites of the component based on the software library, and ensures that each software suite in the multiple software suites includes multiple mutually compatible software packages from the software library. The execution engine uses the installation method of the components included in the deployment knowledge to install each software suite in the multiple software suites respectively, obtaining multiple deployment results of the test environment. It can automatically download the component software packages, generate multiple software suites of the component that meet the functional verification requirements of the network device, and automatically install multiple software suites of the component to diversify the deployment of the test environment after the user inputs the test environment deployment command, thereby realizing the fully automated deployment of the test environment and effectively improving the deployment efficiency of the test environment.

[0007] Furthermore, the step of responding to user input regarding test environment deployment instructions and obtaining deployment knowledge of the test environment includes: Semantic analysis is performed on the deployment instructions for the test environment to determine the architecture information of the test environment; wherein, the architecture information includes the components; A pre-trained deep learning model is used to query the deployment knowledge corresponding to the architecture information from a pre-built knowledge base.

[0008] In the above implementation process, in response to the user's input test environment deployment command, semantic analysis is performed on the test environment deployment command to determine the architectural information such as components involved in the test environment. A pre-trained deep learning model is used to query the deployment knowledge corresponding to the architectural information from a pre-built knowledge base, which can quickly and accurately obtain the deployment knowledge of the test environment and effectively improve the deployment efficiency of the test environment.

[0009] Furthermore, the generation of multiple software suites based on the software library for the components includes: Based on the dependency information of multiple software packages in the software library, the multiple software packages are divided into one or more software package groups; wherein, each software package group in the one or more software package groups includes multiple mutually compatible software packages; A software suite is generated based on each of the one or more software package groups to obtain the plurality of software suites.

[0010] In the above implementation process, by dividing multiple software packages into one or more package groups based on the dependency information of multiple software packages in the software library, each package group in the one or more package groups includes multiple mutually compatible software packages, and a software suite is generated based on each package group in the one or more package groups, resulting in multiple software suites. This can accurately determine the compatibility relationship between multiple software packages in the software library to generate multiple component suites of components, effectively improving the deployment efficiency of the test environment.

[0011] Furthermore, before generating multiple software suites of the components based on the software library, the method further includes: The multiple software packages are deduplicated to update the software library.

[0012] In the above implementation process, by first deduplicating multiple software packages in the software library, updating the software library, and then generating multiple software suites of components based on the updated software library, it is possible to effectively avoid duplication of multiple compatible software packages in the software suite, and effectively improve the deployment efficiency of the test environment.

[0013] Furthermore, the software library also includes software packages of the component crawled using a search engine, and / or software packages of the component uploaded by the user.

[0014] In the above implementation process, in addition to downloading the component's software package according to the component's download method, a search engine is also used to crawl the component's software package from the Internet, and / or the component's software package uploaded by users. All the obtained software packages are stored in the component's software library, which can ensure the comprehensive acquisition of multiple software packages of the component and enrich the component's software library.

[0015] Furthermore, the method also includes: In response to an operation command query instruction, a pre-trained deep learning model is used to query a pre-built knowledge base to determine whether the operation command is executable, and the query result of the operation command is obtained; wherein, the operation command query instruction is sent by the execution engine for any operation command during the installation of the software suite; The query result of the operation command is sent to the execution engine to indicate whether the execution engine should execute the operation command.

[0016] In the above implementation process, by supporting the execution engine to send an operation command query instruction for any operation command during the software package installation process, and responding to the operation command query instruction, a pre-trained deep learning model is used to query from a pre-built knowledge base whether the operation command is an executable command, obtain the query result of the operation command, and send the query result of the operation command to the execution engine to instruct the execution engine whether to execute the operation command. This can automatically guide the execution engine to correctly install the software package, avoid the execution engine from making mistakes during the software package installation process, and thus better realize the fully automated deployment of the test environment, effectively improving the deployment efficiency of the test environment.

[0017] Furthermore, the method also includes: In response to an error resolution instruction, a pre-trained deep learning model is used to query a pre-built knowledge base for solutions to the error, and the query result for the error is obtained; wherein, the error resolution instruction is sent by the execution engine for any error encountered during the installation of the software suite; The query results of the error problem are sent to the execution engine to instruct the execution engine to handle the error problem according to the solution or return an installation failure message.

[0018] In the above implementation process, the execution engine is supported in sending error resolution instructions for any error encountered during the software suite installation process. In response to these instructions, a pre-trained deep learning model queries a pre-built knowledge base to determine if a solution exists for the error. The query result is then sent to the execution engine to instruct it to handle the error according to the specified solution or return an installation failure message. This automatically guides the execution engine to correctly resolve errors encountered during software suite installation, helping it to quickly and accurately install the software suite. This better enables fully automated deployment of the test environment and effectively improves the deployment efficiency of the test environment.

[0019] Furthermore, the deployment knowledge also includes the configuration method of the components; The execution engine installs each of the multiple software packages according to the installation method, resulting in multiple deployment results for the test environment, including: After successfully installing the software suite, configure the software suite according to the configuration method to obtain the deployment result corresponding to the software suite.

[0020] In the above implementation process, after the software suite is successfully installed in the execution engine, the software suite is configured according to the configuration method of the components included in the deployment information of the test environment to obtain the deployment result corresponding to the software suite, which can meet the user's personalized configuration needs for the test environment.

[0021] Furthermore, the method also includes: In response to a deployment result extraction command input by the user for any one of the multiple deployment results, an extraction file containing the deployment result is sent to the user; wherein, the extraction file includes a virtual machine installation file or an image file, and the image file includes a container image file.

[0022] In the above implementation process, by responding to the user's command to extract the deployment result for any of the multiple deployment results, the system uses virtual machines, images, or containers to send the extracted file containing the deployment result to the user, which enables the user to quickly deploy the test environment on the platform.

[0023] Secondly, embodiments of this application provide an automated deployment apparatus for a test environment, comprising: The deployment knowledge acquisition module is used to respond to user input of test environment deployment instructions and acquire deployment knowledge of the test environment; wherein, the deployment knowledge includes the download and installation methods of the components required to deploy the test environment; A software package acquisition module is used to download the software package of the component according to the download method and store the software package of the component in the software library of the component; A software suite generation module is used to generate multiple software suites of the component based on the software library; wherein each software suite in the multiple software suites includes multiple mutually compatible software packages in the software library; The test environment deployment module is used to install each of the multiple software packages according to the installation method using the execution engine, thereby obtaining multiple deployment results of the test environment.

[0024] Thirdly, embodiments of this application provide a computer program product, the computer program product including instructions, which, when executed by a computer, cause the computer to perform the method described above.

[0025] Fourthly, embodiments of this application provide an electronic device, including a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor; the processor executes the computer program to implement the method described above.

[0026] Fifthly, embodiments of this application provide a computer-readable storage medium, the computer-readable storage medium including a stored computer program; wherein, when the computer program is executed, it controls the device where the computer-readable storage medium is located to perform the method described above. Attached Figure Description

[0027] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0028] Figure 1 A flowchart illustrating an automated deployment method for a test environment provided in the first embodiment of this application; Figure 2 This is a schematic diagram of the structure of an automated deployment device for a test environment provided in the second embodiment of this application; Figure 3 This is a schematic diagram of the structure of an electronic device provided in the fourth embodiment of this application. Detailed Implementation

[0029] The technical solutions in the embodiments of this application will now be described with reference to the accompanying drawings.

[0030] It should be noted that in the description of this application, the terms "first," "second," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance. Furthermore, the step numbers in the text are only for the convenience of explaining the embodiments of this application and are not intended to limit the order in which the steps are performed.

[0031] Network devices are typically specialized hardware devices used to build, connect, and manage computer networks. Their main functions include data transmission, path selection, and security protection. Verifying the modular functionality of network devices requires multiple steps, including test environment deployment, test parameter setting, test parameter verification, and test environment recovery.

[0032] In related technologies, test environment deployment, as a necessary step to verify the functions of network devices, mainly relies on manual operation. This often requires deployment personnel to have a strong knowledge of deployment and to be able to correctly solve problems such as software installation failures and software startup failures encountered during the deployment process. There are many complex problems that accumulate and repeated manual attempts to solve problems, making it difficult to effectively improve the efficiency of test environment deployment.

[0033] To address this, this application proposes an automated test environment deployment method. By responding to user-inputted test environment deployment commands, the method acquires deployment knowledge of the test environment. It then downloads the component software packages according to the download methods for the components required for deploying the test environment, as outlined in the deployment knowledge. These component software packages are stored in the component's software library. Based on the software library, multiple software suites for the component are generated, each containing multiple mutually compatible software packages from the software library. An execution engine then installs each software suite according to the installation methods outlined in the deployment knowledge, resulting in multiple deployment outcomes for the test environment. This method automatically downloads component software packages, generates multiple software suites that meet the functional verification requirements of network devices, and automatically installs multiple software suites to diversify the deployment of the test environment after the user inputs a test environment deployment command. This achieves fully automated test environment deployment, effectively improving deployment efficiency.

[0034] The technical solutions of the embodiments of this application will be described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments.

[0035] The methods provided in this application can be executed by relevant terminal devices, and the following descriptions all use user terminals as the execution subject.

[0036] Please refer to Figure 1 , Figure 1 This is a flowchart illustrating an automated deployment method for a test environment according to the first embodiment of this application. The automated deployment method for a test environment according to the first embodiment of this application includes steps S101-S104: S101. Respond to the user's input test environment deployment command and obtain the deployment knowledge of the test environment; wherein, the deployment knowledge includes the download and installation methods of the components required to deploy the test environment.

[0037] As an example, the user determines the basic architecture of the test environment based on the functional verification requirements of the network device in the actual application, and inputs test environment deployment instructions to the user terminal to indicate the basic architecture of the test environment.

[0038] It should be noted that user terminals include terminal devices owned by users that have network communication capabilities.

[0039] After receiving the test environment deployment command input by the user, the user terminal responds to the test environment deployment command and obtains the deployment knowledge of the test environment.

[0040] The basic architecture of the test environment includes the components required for deploying the test environment, the test environment deployment instructions for deploying the required components, and the test environment deployment knowledge, including the download and installation methods for the required components.

[0041] In practical applications, the basic architecture of a test environment may also include a platform for deploying the test environment. Test environment deployment instructions also specify the platform for deploying the test environment, and test environment deployment knowledge also includes the installation method of the platform for deploying the test environment.

[0042] By supporting user input of test environment deployment commands to indicate the basic architecture of the test environment, including the components required for deploying the test environment, and responding to user input of test environment deployment commands to automatically obtain the deployment knowledge of the test environment, it can not only reduce the deployment knowledge requirements of users, but also ensure the accurate acquisition of the deployment knowledge of the test environment.

[0043] S102. Download the component's software package according to the download method, and store the component's software package in the component's software library.

[0044] As an example, a software library of components is pre-built for the components required to deploy the test environment.

[0045] After obtaining the deployment knowledge of the test environment, the user terminal can determine the download method of the components required for deploying the test environment, download the component software package according to the download method, and store the component software package in the component's software library.

[0046] In practical applications, there are multiple ways to download components. By downloading the component's software package using each of these methods, multiple software packages of the component can be obtained.

[0047] S103. Multiple software suites generated based on software library components; wherein each software suite in the multiple software suites includes multiple mutually compatible software packages in the software library.

[0048] As an example, the component's software library stores the component's software package downloaded in this download method, and may also store the component's software package obtained in other download methods, such as the component's software package previously downloaded for deploying another test environment. The component's software library stores multiple software packages of the component.

[0049] Based on the compatibility relationships between multiple software packages in the software library, multiple software suites of components are generated, wherein each software suite includes multiple mutually compatible software packages from the software library.

[0050] For example, suppose a software library contains five software packages for a component: package 1, package 2, package 3, package 4, and package 5. The compatibility relationships among these five packages are as follows: packages 1, 2, and 3 are mutually compatible (package 1 is compatible with package 2, package 1 is compatible with package 3, and package 2 is compatible with package 3); package 4 and 5 are compatible. Then, the two software suites that generate the component are component suite 1, which includes packages 1, 2, and 3, and software suite 2, which includes packages 4 and 5.

[0051] S104. Using the execution engine, install each software suite in multiple software suites according to the installation method to obtain multiple deployment results in the test environment.

[0052] As an example, after obtaining multiple software packages of components, the user terminal determines the installation method of the components required to deploy the test environment based on the deployment knowledge of the test environment. For each software package, the execution engine installs the software package according to the installation method to obtain a deployment result of the test environment, thereby obtaining multiple deployment results of the test environment.

[0053] In practical applications, if the test environment deployment command specifies the components required for deploying the test environment but not the platform, the user terminal can respond to the command, analyze the required platform and its installation method based on the necessary components, install the platform according to that method, and then install the execution engine on the platform. Conversely, if the deployment command specifies both the required components and the platform, the user terminal can determine the platform's installation method based on its knowledge of test environment deployment, install the platform according to that method, and then install the execution engine on the platform.

[0054] By generating multiple software suites for a component using a component-based software library, and then using an execution engine to install each software suite according to the component's installation method, multiple deployment results of the test environment can be obtained. This not only provides the execution engine with all the software combinations within the components that meet the functional verification requirements of network devices in the form of software suites, but also enables the execution engine to automatically install multiple software suites of the component, allowing for the deployment of the test environment using multiple deployment methods and providing users with multiple deployment results of the test environment.

[0055] This application embodiment, in response to user-inputted test environment deployment commands, acquires deployment knowledge of the test environment, downloads component software packages according to the download methods of the components required for deploying the test environment as included in the deployment knowledge, stores the component software packages in the component's software library, generates multiple software suites for the component based on the software library, and ensures that each software suite includes multiple mutually compatible software packages from the software library. An execution engine is then used to install each software suite according to the installation methods of the components included in the deployment knowledge, resulting in multiple deployment results for the test environment. This allows for the automatic download of component software packages, the generation of multiple software suites that meet the functional verification requirements of network devices, and the automatic installation of multiple software suites to diversify the deployment of the test environment after the user inputs a test environment deployment command. This achieves fully automated test environment deployment, effectively improving the deployment efficiency of the test environment.

[0056] In an optional embodiment, the step of responding to a user-inputted test environment deployment command and obtaining deployment knowledge of the test environment includes: performing semantic analysis on the test environment deployment command to determine the architecture information of the test environment; wherein the architecture information includes components; and using a pre-trained deep learning model to query the deployment knowledge corresponding to the architecture information from a pre-built knowledge base.

[0057] As an example, after receiving a test environment deployment instruction from the user, the user terminal responds to the test environment deployment instruction by performing semantic analysis on the test environment deployment instruction to determine the architecture information of the test environment, wherein the architecture information includes the components required to deploy the test environment.

[0058] In practical applications, the test environment deployment instructions input by the user can be a text statement. By using text processing technology to perform semantic analysis on the test environment deployment instructions, keywords can be extracted from them, such as the components required to deploy the test environment and the platform used to deploy the test environment. At this point, the architectural information of the test environment, including the extracted keywords, can be determined.

[0059] After determining the architecture information of the test environment, the user terminal uses a pre-trained deep learning model to query the deployment knowledge corresponding to the architecture information from a pre-built knowledge base. This deployment knowledge is the deployment knowledge of the test environment.

[0060] Deep learning refers to machine learning based on deep neural network models and methods. It has evolved from statistical machine learning and artificial neural network algorithms, combined with the development of modern big data and high-performance computing. The most important technical characteristic of deep learning is its ability to automatically extract features; these extracted features are also called deep features or deep feature representations. Compared to manually designed features, deep features are more powerful and robust. Therefore, the essence of deep learning is feature representation learning. Deep neural networks are the model foundation for deep learning's ability to automatically extract features; deep neural networks are essentially a series of nested nonlinear transformations.

[0061] In practical applications, big data technology can be used to collect a large amount of deployment knowledge from multiple test environments, build a knowledge base, and train a deep learning model based on the pre-built knowledge base. The pre-trained deep learning model can support in-depth analysis of the architecture information of any test environment, and query the deployment knowledge corresponding to the architecture information from the pre-built knowledge base based on the features extracted from the architecture information.

[0062] This application embodiment responds to user-inputted test environment deployment instructions by performing semantic analysis on the instructions to determine the architectural information such as components involved in the test environment. It then uses a pre-trained deep learning model to query the deployment knowledge corresponding to the architectural information from a pre-built knowledge base, which can quickly and accurately obtain the deployment knowledge of the test environment and effectively improve the deployment efficiency of the test environment.

[0063] In an optional embodiment, the multiple software suites generated based on the software library include: dividing multiple software packages into one or more software package groups according to the dependency information of multiple software packages in the software library; wherein each software package group in the one or more software package groups includes multiple mutually compatible software packages; and generating a software suite according to each software package group in the one or more software package groups to obtain multiple software suites.

[0064] As an example, the component's software library stores multiple software packages for the component, as well as dependency information for the multiple software packages.

[0065] Based on the dependency information of multiple software packages, the compatibility relationships between the multiple software packages are determined, and based on the compatibility relationships between the multiple software packages, the multiple software packages are divided into one or more software package groups, wherein each software package group in the one or more software package groups includes multiple mutually compatible software packages.

[0066] In practical applications, software package dependency information typically includes the dependency version range and dependency files. Multiple software packages in a software library can be grouped into one or more package groups based on their dependency information using any of the following methods: 1. Identify multiple software packages in the software library whose dependency version ranges overlap and are not violated by the API (Application Programming Interface) or ABI (Application Binary Interface) as multiple mutually compatible packages, and group these mutually compatible packages into one package group; 2. Identify multiple software packages in the software library whose dependency files are executable files as multiple mutually compatible packages, and group these mutually compatible packages into one package group.

[0067] After obtaining one or more software packages, a software suite for the component is generated based on each of the one or more software packages, thus obtaining multiple software suites for the component.

[0068] This application embodiment divides multiple software packages into one or more package groups based on the dependency information of multiple software packages in the software library. Each package group in the one or more package groups includes multiple mutually compatible software packages. A software suite is generated based on each package group in the one or more package groups, resulting in multiple software suites. This can accurately determine the compatibility relationship between multiple software packages in the software library to generate multiple component suites of components, effectively improving the deployment efficiency of the test environment.

[0069] In an optional embodiment, before generating multiple software packages based on the software library components, the method further includes: deduplicating multiple software packages to update the software library.

[0070] As an example, before generating multiple software suites of a component from a component-based software library, considering that there may be duplicates among the multiple software packages of the component stored in the software library, in order to avoid duplicates among the multiple compatible software packages included in the subsequently generated software suites, the multiple software packages in the software library can be deduplicated first, the software library can be updated, and then multiple software suites of the component can be generated based on the updated software library.

[0071] In practical applications, the duplication relationship between multiple software packages in a software library can be determined by comparing their software information. A package with identical software information is randomly selected from the pool of packages and retained, resulting in an updated software library. The software information of a package includes its name, code, and source.

[0072] This application embodiment first deduplicates multiple software packages in the software library, updates the software library, and then generates multiple software suites of components based on the updated software library. This can effectively avoid duplication of multiple compatible software packages in the software suite and effectively improve the deployment efficiency of the test environment.

[0073] In optional embodiments, the software library may also include software packages of components crawled by a search engine, and / or software packages of components uploaded by users.

[0074] As an example, in order to enrich the software library of a component, in addition to downloading the component's software package according to the component's download method, the user terminal can also obtain the component's software package in the following ways: crawling the component's software package from the Internet using a search engine, and / or obtaining the component's software package uploaded by the user, and storing all the obtained software packages in the component's software library.

[0075] It should be noted that the software library includes software packages of components crawled from the web using search engines, and / or software packages of components uploaded by users. There are mainly three scenarios: 1. The software library includes software packages of components crawled from the web using search engines; 2. The software library includes software packages of components uploaded by users; 3. The software library includes software packages of components crawled from the web using search engines, as well as software packages of components uploaded by users.

[0076] This application embodiment, in addition to downloading the component's software package according to the component's download method, also uses a search engine to crawl the component's software package from the Internet, and / or the component's software package uploaded by the user, and stores all the obtained software packages in the component's software library, which can ensure the comprehensive acquisition of multiple software packages of the component and enrich the component's software library.

[0077] In an optional embodiment, the method further includes steps S105-S106: S105. In response to the operation command query instruction, a pre-trained deep learning model is used to query whether the operation command is an executable command from a pre-built knowledge base, and the query result of the operation command is obtained; wherein, the operation command query instruction is sent by the execution engine for any operation command during the installation of the software package.

[0078] As an example, during the installation of any software suite, the execution engine needs to execute multiple operation commands. Before executing each operation command, it sends an operation command query instruction to the user terminal for that operation command.

[0079] After receiving the operation command query instruction sent by the execution engine, the user terminal responds to the operation command query instruction by using a pre-trained deep learning model to query the pre-built knowledge base to see if the operation command is an executable command, and obtains the query result of the operation command.

[0080] In practical applications, big data technology can be used to collect a large amount of deployment knowledge from multiple test environments, including the standard operation commands required for each test environment. A knowledge base can be built, and a deep learning model can be trained based on the pre-built knowledge base. The pre-trained deep learning model can support in-depth analysis of the operation commands required for deploying any test environment. Based on the features extracted from the operation command, the standard operation command that matches the extracted features can be queried from the pre-built knowledge base. If a standard operation command is found, the query result is output that the operation command is an executable command; otherwise, the query result is output that the operation command is not an executable command.

[0081] S106. Send the query result of the operation command to the execution engine to indicate whether the execution engine should execute the operation command.

[0082] As an example, after receiving the query result of the operation command, the user terminal sends the query result of the operation command to the execution engine, so that the execution engine can determine whether the operation command is allowed to be executed at this time based on the query result of the operation command. If the operation command is allowed to be executed, it is executed directly; if the operation command is not allowed to be executed, the installation of the software package is suspended until the problem is resolved.

[0083] This application embodiment supports the execution engine in sending an operation command query instruction for any operation command during the software suite installation process. In response to the operation command query instruction, a pre-trained deep learning model queries a pre-built knowledge base to determine whether the operation command is executable, obtains the query result, and sends the query result to the execution engine to instruct the execution engine whether to execute the operation command. This can automatically guide the execution engine to correctly install the software suite, avoid errors in the execution engine during the software suite installation process, and thus better achieve fully automated deployment of the test environment, effectively improving the deployment efficiency of the test environment.

[0084] In an optional embodiment, the method further includes steps S107-S108: S107. In response to the error resolution instruction, a pre-trained deep learning model is used to query the pre-built knowledge base for a solution to the error and obtain the query result of the error. The error resolution instruction is sent by the execution engine for any error during the installation of the software package.

[0085] As an example, if the execution engine detects an error during the installation of any software suite, such as an operation command being unexecutable or the software suite failing to start, it sends an error resolution instruction to the user terminal in response to the error.

[0086] After receiving the error resolution instruction sent by the execution engine, the user terminal responds to the error resolution instruction by using a pre-trained deep learning model to query the pre-built knowledge base for a solution to the error and obtain the query result for the error.

[0087] In practical applications, big data technology can be used to collect a large amount of deployment knowledge from multiple test environments, including historical error issues detected in each test environment and their solutions. A knowledge base can be built, and a deep learning model can be trained based on this pre-built knowledge base. This pre-trained deep learning model can support in-depth analysis of error issues detected in any test environment. Based on the features extracted from the error issue, the solution to the historical error issue that matches the extracted features can be queried from the pre-built knowledge base. If a solution to the historical error issue is found, the query result will include the solution; otherwise, the query result indicating that the error issue cannot be resolved will be output.

[0088] S108. Send the query results of the error problem to the execution engine to instruct the execution engine to handle the error problem according to the solution or return a prompt message indicating that the installation failed.

[0089] As an example, after receiving the query results for the error, the user terminal sends the query results to the execution engine, so that the execution engine can determine whether the error can be resolved based on the query results. If it is determined that the error can be resolved, the error is handled directly according to the solution method included in the query results. If it is determined that the error cannot be resolved, the installation of the software package is terminated, and a message indicating that the software package installation failed is returned to the user terminal.

[0090] This application embodiment supports the execution engine in sending error resolution instructions for any error encountered during the software suite installation process. In response to these instructions, a pre-trained deep learning model queries a pre-built knowledge base to determine if a solution exists for the error, obtains the query result, and sends it to the execution engine. This instructs the execution engine to handle the error according to the specified solution or return an installation failure message. This automatically guides the execution engine to correctly resolve errors encountered during software suite installation, helping it to quickly and accurately install the software suite. This better enables fully automated deployment of the test environment and effectively improves the deployment efficiency of the test environment.

[0091] In an optional embodiment, the deployment knowledge also includes the configuration method of the components; the step of using the execution engine to install each of the multiple software packages according to the installation method to obtain multiple deployment results of the test environment includes: after successfully installing the software package, configuring the software package according to the configuration method to obtain the deployment result corresponding to the software package.

[0092] As an example, users can also customize the configuration information of the test environment according to the functional verification requirements of network devices in actual applications, and input test environment deployment instructions to the user terminal to indicate the basic architecture and configuration information of the test environment.

[0093] The test environment configuration information includes the configuration information of the components required to deploy the test environment, such as the port configuration information of the components, the test environment deployment instructions indicating the components required to deploy the test environment and the configuration information of the components, and the test environment deployment knowledge including the download method, installation method and configuration method of the components required to deploy the test environment.

[0094] After the execution engine successfully installs any one of the multiple software packages according to the component installation method, it determines the configuration method of the component based on the deployment knowledge of the test environment, configures the software package according to the configuration method, and obtains the deployment result corresponding to the software package.

[0095] This application embodiment configures the software suite according to the configuration method of the components included in the deployment information of the test environment after the software suite is successfully installed in the execution engine, and obtains the deployment result corresponding to the software suite, which can meet the user's personalized configuration needs for the test environment.

[0096] In an optional embodiment, the method further includes step S109: S109. In response to the user's instruction to extract deployment results for any one of the multiple deployment results, send the user an extraction file containing the deployment results; wherein the extraction file includes virtual machine installation files or image files, and the image file includes container image files.

[0097] As an example, after obtaining multiple deployment results of the test environment, the multiple deployment results of the test environment can be stored.

[0098] Users can select any one of the multiple deployment results based on their actual application needs, and input the deployment result retrieval command to the user terminal for that deployment result.

[0099] After receiving the deployment result extraction instruction from the user, the user terminal responds to the instruction by generating an extraction file containing the deployment result and sending the extraction file to the user. The extraction file includes virtual machine installation files or image files, and the image files include container image files.

[0100] By providing users with deployment results of test environments using virtual machines, images, or containers, users can easily and quickly deploy test environments on the platform.

[0101] This application embodiment responds to a user's command to extract deployment results from any of multiple deployment results, and uses virtual machines, images, or containers to send an extraction file containing the deployment results to the user, enabling the user to quickly deploy a test environment on the platform.

[0102] Please refer to Figure 2 , Figure 2 This is a schematic diagram of the structure of an automated test environment deployment device provided in the second embodiment of this application. The second embodiment of this application provides an automated test environment deployment device, including: a deployment knowledge acquisition module 201, used to acquire deployment knowledge of the test environment in response to a user-inputted test environment deployment command; wherein, the deployment knowledge includes the download and installation methods of components required for deploying the test environment; a software package acquisition module 202, used to download the software packages of the components according to the download methods and store the software packages of the components in the component's software library; a software suite generation module 203, used to generate multiple software suites of the components based on the software library; wherein, each software suite in the multiple software suites includes multiple mutually compatible software packages in the software library; and a test environment deployment module 204, used to install each software suite in the multiple software suites according to the installation methods using an execution engine, thereby obtaining multiple deployment results of the test environment.

[0103] In an optional embodiment, the step of responding to a user-inputted test environment deployment command and obtaining deployment knowledge of the test environment includes: performing semantic analysis on the test environment deployment command to determine the architecture information of the test environment; wherein the architecture information includes components; and using a pre-trained deep learning model to query the deployment knowledge corresponding to the architecture information from a pre-built knowledge base.

[0104] In an optional embodiment, the multiple software suites generated based on the software library include: dividing multiple software packages into one or more software package groups according to the dependency information of multiple software packages in the software library; wherein each software package group in the one or more software package groups includes multiple mutually compatible software packages; and generating a software suite according to each software package group in the one or more software package groups to obtain multiple software suites.

[0105] In an optional embodiment, the software suite generation module 203 is further configured to deduplicatize multiple software packages before generating multiple software suites based on the software library generation component, in order to update the software library.

[0106] In optional embodiments, the software library may also include software packages of components crawled by a search engine, and / or software packages of components uploaded by users.

[0107] In an optional embodiment, the test environment deployment module 204 is further configured to: respond to an operation command query instruction, use a pre-trained deep learning model to query from a pre-built knowledge base whether the operation command is an executable command, and obtain the query result of the operation command; wherein, the operation command query instruction is sent by the execution engine for any operation command during the installation of the software suite; and send the query result of the operation command to the execution engine to indicate whether the execution engine should execute the operation command.

[0108] In an optional embodiment, the test environment deployment module 204 is further configured to: respond to an error resolution instruction, use a pre-trained deep learning model to query a pre-built knowledge base for a solution to the error, and obtain a query result for the error; wherein the error resolution instruction is sent by the execution engine for any error during the installation of the software suite; and send the query result for the error to the execution engine to instruct the execution engine to handle the error according to the solution or return an installation failure message.

[0109] In an optional embodiment, the deployment knowledge also includes the configuration method of the components; the step of using the execution engine to install each of the multiple software packages according to the installation method to obtain multiple deployment results of the test environment includes: after successfully installing the software package, configuring the software package according to the configuration method to obtain the deployment result corresponding to the software package.

[0110] In an optional embodiment, the apparatus further includes: a deployment result extraction module, configured to respond to a user's input of a deployment result extraction command for any one of multiple deployment results, and to issue an extraction file containing the deployment result to the user; wherein the extraction file includes a virtual machine installation file or an image file, and the image file includes a container image file.

[0111] The specific implementation process of the functions and roles of each module in the above-mentioned device can be found in the implementation process of the corresponding steps in the method described in the first embodiment of this application, and will not be repeated here.

[0112] The third embodiment of this application provides a computer program product, which includes instructions that, when executed by a computer, cause the computer to perform the method described in the first embodiment of this application and achieve the same beneficial effects.

[0113] The methods described in the first embodiment of this application can be implemented, in whole or in part, by software, hardware, firmware, or any combination thereof. When implemented in software, they can be implemented, in whole or in part, in the form of a computer program product. A computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the various embodiments of this application are performed, in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user equipment, a core network device, an OAM (Open Application Model), or other programmable devices.

[0114] Computer programs or instructions can be stored in or transferred from one computer-readable storage medium to another. For example, a computer program or instructions can be transferred from one website, computer, server, or data center to another via wired or wireless means. A computer-readable storage medium can be any usable medium that a computer can access, or a data storage device such as a server or data center that integrates one or more usable media. Usable media can be magnetic media, such as floppy disks, hard disks, and magnetic tapes; optical media, such as digital video discs; or semiconductor media, such as solid-state drives. The computer-readable storage medium can be volatile or non-volatile, or may include both types.

[0115] Please refer to Figure 3 , Figure 3This is a schematic diagram of the structure of an electronic device provided in the fourth embodiment of this application. The fourth embodiment of this application provides an electronic device 30, including a processor 301, a memory 302, and a computer program stored in the memory 302 and configured to be executed by the processor 301; when the processor 301 executes the computer program, it implements the method described in the first embodiment of this application and can achieve the same beneficial effects.

[0116] When the processor 301 reads a computer program from the memory 302 via the bus 303 and executes the computer program, it can implement any of the methods described in the first embodiment of this application.

[0117] Processor 301 can process digital signals and may include various computing architectures. For example, it may be a complex instruction set computer architecture, a reduced instruction set computer architecture, or an architecture that implements multiple instruction set combinations. In some examples, processor 301 may be a microprocessor.

[0118] The memory 302 can be used to store instructions executed by the processor 301 or data related to the execution of instructions. These instructions and / or data may include code for implementing some or all of the functions of one or more modules described in the embodiments of this application. The processor 301 of this disclosure embodiment can be used to execute instructions in the memory 302 to implement the method described in the first embodiment of this application. The memory 302 includes dynamic random access memory, static random access memory, flash memory, optical memory, or other memories well known to those skilled in the art.

[0119] The fifth embodiment of this application provides a computer-readable storage medium, which includes a stored computer program; wherein, when the computer program is running, it controls the device where the computer-readable storage medium is located to perform the method described in the first embodiment of this application, and can achieve the same beneficial effects.

[0120] The method described in the first embodiment of this application can be implemented, in whole or in part, by software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the various embodiments of this application are executed, in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user equipment, a core network device, an OAM (Open Application Model), or other programmable devices.

[0121] The computer program or instructions may be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions may be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium may be any available medium that a computer can access, or a data storage device such as a server or data center that integrates one or more available media. The available medium may be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; or an optical medium, such as a digital video optical disc; or a semiconductor medium, such as a solid-state drive. The computer-readable storage medium may be a volatile or non-volatile storage medium, or may include both volatile and non-volatile types of storage media.

[0122] In summary, this application provides an automated deployment method, program product, device, and medium for a test environment. The automated deployment method includes: responding to a user-inputted test environment deployment command and acquiring deployment knowledge of the test environment; wherein the deployment knowledge includes the download and installation methods of components required for deploying the test environment; downloading the component software packages according to the download methods and storing the component software packages in the component's software library; generating multiple software suites of the component based on the software library; wherein each software suite in the multiple software suites includes multiple mutually compatible software packages in the software library; and using an execution engine to install each software suite in the multiple software suites according to the installation methods, thereby obtaining multiple deployment results of the test environment. This application embodiment, in response to user-inputted test environment deployment commands, acquires deployment knowledge of the test environment, downloads component software packages according to the download methods of the components required for deploying the test environment as included in the deployment knowledge, stores the component software packages in the component's software library, generates multiple software suites for the component based on the software library, and ensures that each software suite includes multiple mutually compatible software packages from the software library. An execution engine is then used to install each software suite according to the installation methods of the components included in the deployment knowledge, resulting in multiple deployment results for the test environment. This allows for the automatic download of component software packages, the generation of multiple software suites that meet the functional verification requirements of network devices, and the automatic installation of multiple software suites to diversify the deployment of the test environment after the user inputs a test environment deployment command. This achieves fully automated test environment deployment, effectively improving the deployment efficiency of the test environment.

[0123] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can also be implemented in other ways. The apparatus embodiments described above are merely illustrative; for example, the flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram and / or flowchart, and combinations of blocks in block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0124] In addition, the functional modules in the various embodiments of this application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.

[0125] If the aforementioned functions are implemented as software functional modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0126] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for automated deployment of a test environment, characterized in that, include: In response to user input of test environment deployment instructions, the system obtains deployment knowledge of the test environment; wherein, the deployment knowledge includes the download and installation methods of the components required to deploy the test environment; Download the component's software package according to the download method, and store the component's software package in the component's software library; Multiple software suites of the component are generated based on the software library; wherein each software suite includes multiple mutually compatible software packages from the software library; The execution engine is used to install each of the multiple software packages according to the installation method described, resulting in multiple deployment results for the test environment.

2. The method according to claim 1, characterized in that, The step of responding to user input regarding test environment deployment commands and obtaining deployment knowledge of the test environment includes: Semantic analysis is performed on the deployment instructions for the test environment to determine the architecture information of the test environment; wherein, the architecture information includes the components; A pre-trained deep learning model is used to query the deployment knowledge corresponding to the architecture information from a pre-built knowledge base.

3. The method according to claim 1, characterized in that, The multiple software suites generated based on the software library include: Based on the dependency information of multiple software packages in the software library, the multiple software packages are divided into one or more software package groups; wherein, each software package group in the one or more software package groups includes multiple mutually compatible software packages; A software suite is generated based on each of the one or more software package groups to obtain the plurality of software suites.

4. The method according to claim 3, characterized in that, Prior to generating multiple software suites of the components based on the software library, the method further includes: The multiple software packages are deduplicated to update the software library.

5. The method according to claim 1, characterized in that, The software library also includes software packages of the component crawled using a search engine, and / or software packages of the component uploaded by the user.

6. The method according to claim 1, characterized in that, The method further includes: In response to an operation command query instruction, a pre-trained deep learning model is used to query a pre-built knowledge base to determine whether the operation command is executable, and the query result of the operation command is obtained; wherein, the operation command query instruction is sent by the execution engine for any operation command during the installation of the software suite; The query result of the operation command is sent to the execution engine to indicate whether the execution engine should execute the operation command.

7. The method according to claim 1, characterized in that, The method further includes: In response to an error resolution instruction, a pre-trained deep learning model is used to query a pre-built knowledge base for a solution to the error, and the query result for the error is obtained; wherein, the error resolution instruction is sent by the execution engine for any error encountered during the installation of the software suite; The query results of the error problem are sent to the execution engine to instruct the execution engine to handle the error problem according to the solution or return an installation failure message.

8. The method according to claim 1, characterized in that, The deployment knowledge also includes the configuration methods of the components; The execution engine installs each of the multiple software packages according to the installation method, resulting in multiple deployment results for the test environment, including: After successfully installing the software suite, configure the software suite according to the configuration method to obtain the deployment result corresponding to the software suite.

9. The method according to any one of claims 1 to 8, characterized in that, The method further includes: In response to a deployment result extraction command input by the user for any one of the multiple deployment results, an extraction file containing the deployment result is sent to the user; wherein, the extraction file includes a virtual machine installation file or an image file, and the image file includes a container image file.

10. A computer program product, characterized in that, The computer program product includes instructions that, when executed by a computer, cause the computer to perform the method according to any one of claims 1 to 9.

11. An electronic device, characterized in that, It includes a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor; when the processor executes the computer program, it implements the method according to any one of claims 1 to 9.

12. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a stored computer program; wherein, when the computer program is executed, it controls the device on which the computer-readable storage medium is located to perform the method according to any one of claims 1 to 9.