Virtual component installation step determination method and device, equipment and storage medium

By analyzing the execution speed, dependency and branch control information of the virtual component installation steps, the installation steps with the best time are determined, and multi-threaded parallel installation is used to solve the problem of low installation efficiency of virtual component installation in the prior art, achieving a more efficient installation process.

CN120045197APending Publication Date: 2025-05-27JINAN INSPUR DATA TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510167581.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-14
Publication Date
2025-05-27

AI Technical Summary

Technical Problem

In the prior art, virtual components are installed inefficiently, resulting in the chaos platform requiring more additional work to affect installation efficiency when the number of users, hosts and reinstalls increase.

Method used

By obtaining multiple installation steps of virtual components to be installed, the execution speed, dependency and branch control information of each installation step is determined, multiple installation scenarios are determined based on this information, and the multi-threading method is used to achieve the optimal time-time virtual component installation steps.

Benefits of technology

It improves the installation efficiency of virtual components, reduces the need for manual installation, adapts to the increase in the number of users and hosts, and improves the efficiency of the use of chaotic platforms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120045197A_ABST
    Figure CN120045197A_ABST
Patent Text Reader

Abstract

The invention discloses a virtual component installation step determination method and device, equipment and a storage medium, which are applied to the technical field of chaos engineering, and comprise the following steps: determining an execution speed, a dependency relationship and branch control information corresponding to each installation step; determining a plurality of installation scenes based on condition information corresponding to the installation steps; determining a time optimal virtual component installation step corresponding to each installation scene based on the execution speed, the dependency relationship and the branch control information; the time-optimal virtual component installation step includes a parallel installation step determined based on the execution speed and the dependency, and a non-execution step determined based on the branch control information. The step of determining the installation of the virtual component with the optimal time comprises a parallel step determined based on the execution speed and the dependency relationship and a step of deleting branch steps which do not need to be executed based on the branch control information, so that the current installation step is the installation step with the optimal time, and the installation efficiency of the virtual component is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of chaos engineering, and particularly to a method, device, equipment and storage medium for determining virtual component installation steps. Background Art

[0002] Since the experiments of the chaos platform are widely used as long as the operating system is accessible, the host as the operation object can be used regardless of whether its architecture and software are complete. For the existing platform, manual deployment supports users to install virtual components according to the actual situation. Once the number of users, the number of hosts and the number of reinstallations increase, more additional workload is added to the use of chaos in addition to the main experimental function, which greatly affects the installation efficiency of virtual components (probes).

[0003] Obviously, how to improve the installation efficiency of virtual components is a technical problem that those skilled in the art urgently need to solve. Summary of the Invention

[0004] In view of this, the purpose of the present invention is to provide a method, device, equipment and storage medium for determining virtual component installation steps, which solves the technical problem of low installation efficiency of virtual components in the prior art.

[0005] To solve the above technical problem, the present invention provides a method for determining virtual component installation steps, which is applied to a chaos engineering platform and includes:

[0006] Obtain multiple installation steps corresponding to the virtual component to be installed;

[0007] Determine the execution speed, dependency relationship and branch control information corresponding to each installation step; wherein, the branch control information is information for determining whether the current installation step is a must-execute step;

[0008] Determine multiple installation scenarios based on the condition information corresponding to the installation step; wherein, the condition information is information determined based on whether the conditions in the installation step are met;

[0009] Determine the time-optimal virtual component installation steps corresponding to each installation scenario based on the execution speed, the dependency relationship and the branch control information, and implement the simultaneous installation of the parallel installation steps in the time-optimal virtual component installation steps by using a multi-threaded method; wherein, the time-optimal virtual component installation steps include the parallel installation steps determined based on the execution speed and the dependency relationship, and the steps that do not need to be executed determined based on the branch control information.

[0010] On the one hand, obtaining multiple installation steps corresponding to the virtual component to be installed includes:

[0011] Obtain multiple main installation steps corresponding to the virtual component to be installed; wherein, the main installation steps include confirming whether the host of the virtual component to be installed already exists in the database, determining whether the host virtual component service of the virtual component to be installed is started, determining the connectivity of the host address of the virtual component to be installed, determining whether the virtual component has been installed on the host of the virtual component to be installed, determining the host architecture of the virtual component to be installed, installing the virtual component, starting the virtual component, and updating the installation database record.

[0012] On the one hand, determine the execution speed, dependency relationship, and branch control information corresponding to each installation step, including:

[0013] Obtain the execution time corresponding to each installation step;

[0014] When the execution time corresponding to the installation step is lower than the set minimum execution time threshold, determine that the execution speed in the step characteristics is fast execution;

[0015] When the execution time corresponding to the installation step is lower than the minimum execution time threshold, determine that the execution speed parameter in the step characteristics is slow execution;

[0016] Determine whether each installation step depends on other installation steps;

[0017] When depending on other installation steps, determine that the dependency relationship of the current installation step is to depend on the target installation step; wherein, the type of the target installation step on which it depends includes indirect dependency;

[0018] When not depending on other installation steps, determine that the dependency relationship of the current installation step is empty;

[0019] Determine whether the current installation step is a step that is executed in any installation scenario;

[0020] When the installation step is executed in any installation scenario, determine that the branch control information of the current installation step is a must;

[0021] When the installation step does not need to be executed in any installation scenario, determine that the branch control information of the current installation step is non-essential;

[0022] When the installation step needs to be executed only in the target installation scenario, determine that the branch control information of the current installation step is a must for the specific installation scenario.

[0023] On the other hand, after determining the time-optimal virtual component installation steps corresponding to each installation scenario based on the execution speed, the dependency relationship, and the branch control information, and implementing the simultaneous installation of the parallel installation steps in the time-optimal virtual component installation steps using the multi-thread method, it further includes:

[0024] Install the virtual component to be installed based on the time-optimal virtual component installation steps corresponding to the current installation scenario;

[0025] During the installation of the virtual component to be installed, persist the process of each installation step based on the installation storage service; wherein, the installation storage service is a tool for storing virtual component installation information.

[0026] On the one hand, during the installation of the virtual component to be installed, persist the process of each installation step based on the installation storage service, including:

[0027] Traverse the host list of the virtual component to be installed;

[0028] Judge whether the host address of the current host is in the installation table in the installation storage service;

[0029] If the current host address is not in the installation table, add a new initial information record corresponding to the host to the installation table; wherein, the information in the installation table includes the host address of the virtual component to be installed, the installation package required for installing the virtual component, whether the virtual component has been installed, whether the virtual component to be installed has been connected, whether the virtual component has been started, and the installation result;

[0030] If the current host address is in the installation table, judge whether the host address is connectable based on the network fault diagnosis tool;

[0031] If it is connectable, determine that the value of whether the virtual component to be installed has been connected is true based on the protocol for remotely accessing and managing computers through the network;

[0032] If it is not connectable, determine that the value of whether the virtual component to be installed has been connected is false, and the installation result is that the host cannot be connected. Please confirm the connection and then install the virtual component;

[0033] Judge whether the virtual component is installed based on the time-optimal virtual component installation steps;

[0034] If the virtual component has been installed, set the value of whether the virtual component has been started to true, and the installation result is that the host plugin has been started and no installation is required;

[0035] If the virtual component has not been installed, set the value of whether the virtual component has been started to false;

[0036] Obtain the host architecture of the virtual component to be installed and update the value of the installation package required for installing the virtual component in this record to be non-empty;

[0037] Continue to traverse the next host until the traversal is completed, and complete the update of the installation table;

[0038] Traverse the installation table again based on the traversal period.

[0039] On the one hand, when there are new hosts and the new hosts have not installed virtual components, it includes:

[0040] Traverse the installation table. If the current new host is connectable and has not installed virtual components, install the virtual components and set the information on whether the virtual components have been installed to "installing";

[0041] Continue to traverse the next host for virtual component installation until the traversal is completed;

[0042] Traverse the installation table based on a set time interval. If the information on whether the virtual components have been installed is "installing", and the value of whether the virtual components to be installed are connected is true, and the value of whether the virtual components have been started is false, then determine whether the virtual components have been installed based on the first port information;

[0043] If the virtual component installation is successful, set the values of whether the virtual components have been installed and whether the virtual components have been started to true, and set the value of the installation result to "success";

[0044] If the virtual components have not been installed completely, it means that the virtual component installation fails. Then set the value of whether the virtual components have been installed to false, and set the value of the installation result to "installation failed".

[0045] On the other hand, when there are new hosts and there are hosts among the new hosts that have installed virtual components, it includes:

[0046] Traverse the installation table. If the value of whether the virtual components have been installed is true, and the value of whether the virtual components to be installed are connected is true, and the value of whether the virtual components have been started is false, then start the virtual components and set the value of whether the virtual components have been started to "starting";

[0047] Continue to traverse the next host for virtual component startup until the traversal is completed;

[0048] Traverse the installation table based on a set time interval to determine whether the virtual components have been installed;

[0049] If the value of whether the virtual components have been installed is true, and the value of whether the virtual components to be installed are connected is true, and the value of whether the virtual components have been started is "starting", then determine whether the virtual components have been started based on the second port information;

[0050] If the virtual component startup is successful, determine that the value of whether the virtual components have been started is true, and the installation result is "success";

[0051] If the virtual component startup fails, determine that the value of whether the virtual components have been started is false, and the installation result is "startup failed".

[0052] An embodiment of the present invention further provides a virtual component installation step determination device, which is applied to a chaos engineering platform and includes:

[0053] A plurality of installation step determination modules, configured to obtain a plurality of installation steps corresponding to the virtual component to be installed;

[0054] An information determination module, configured to determine the execution speed, dependency relationship, and branch control information corresponding to each installation step; wherein, the branch control information is information for determining whether the current installation step is a must-execute step;

[0055] A scenario determination module, configured to determine a plurality of installation scenarios based on the condition information corresponding to the installation steps; wherein, the condition information is information determined based on whether the conditions in the installation steps are met;

[0056] A time-optimal virtual component installation step determination module, configured to determine the time-optimal virtual component installation steps corresponding to each installation scenario based on the execution speed, the dependency relationship, and the branch control information, and implement the simultaneous installation of the parallel installation steps in the time-optimal virtual component installation steps by using a multi-threaded method; wherein, the time-optimal virtual component installation steps include the parallel installation steps determined based on the execution speed and the dependency relationship, and the steps that do not need to be executed determined based on the branch control information.

[0057] An embodiment of the present invention further provides a virtual component installation step determination device, including:

[0058] A memory, configured to store a computer program;

[0059] A processor, configured to execute the computer program to implement the steps of the virtual component installation step determination as described above.

[0060] An embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the virtual component installation step determination as described above are implemented.

[0061] The present invention further provides a computer program product, including a computer program / instructions, and when the computer program / instructions are executed by a processor, the steps of the above-described virtual component installation step determination method are implemented.

[0062] To solve the above technical problems, an embodiment of the present invention provides a method for determining virtual component installation steps, which is applied to a chaos engineering platform and may include: obtaining a plurality of installation steps corresponding to the virtual component to be installed; determining the execution speed, dependency relationship, and branch control information corresponding to each installation step; wherein the branch control information is information for determining whether the current installation step is a mandatory execution step; determining a plurality of installation scenarios based on the condition information corresponding to the installation steps; wherein the condition information is information determined based on whether the conditions in the installation steps are met; determining the time-optimal virtual component installation steps corresponding to each installation scenario based on the execution speed, dependency relationship, and branch control information, and implementing the simultaneous installation of the parallel installation steps in the time-optimal virtual component installation steps by using a multi-threaded method; wherein the time-optimal virtual component installation steps include parallel installation steps determined based on the execution speed and dependency relationship, and steps that do not need to be executed determined based on the branch control information.

[0063] As can be seen from the above technical solutions, the beneficial effect of the present invention is that: compared with the current manual installation of virtual components, the present invention analyzes the virtual component installation steps, determines the time-optimal virtual component installation steps based on the execution speed, dependency relationship, and branch control information. Since the time-optimal virtual component installation steps include parallel steps determined based on the execution speed and dependency relationship, and steps are deleted based on the branch control information, the current installation steps are the time-optimal installation steps, thereby improving the installation efficiency of virtual components. BRIEF DESCRIPTION OF THE DRAWINGS

[0064] To more clearly illustrate the embodiments of the present invention, the following will briefly introduce the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0065] Figure 1 It is a flowchart of a method for determining virtual component installation steps provided by an embodiment of the present invention;

[0066] Figure 2 It is a schematic diagram of the dependency relationship of the main installation steps provided by an embodiment of the present invention;

[0067] Figure 3 It is a flow example diagram of a method for state detection persistence provided by an embodiment of the present invention;

[0068] Figure 4 It is a schematic diagram of the persistence of the installation probe process provided by an embodiment of the present invention;

[0069] Figure 5Another schematic diagram of the persistence of the probe installation process provided by the embodiment of the present invention;

[0070] Figure 6 Schematic structural diagram of a virtual component installation step determination device provided by the embodiment of the present invention;

[0071] Figure 7 Schematic structural diagram of a virtual component installation step determination device provided by the embodiment of the present invention. Detailed implementation manners

[0072] Next, the technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.

[0073] The terms "including" and "having" in the specification of the present invention and the accompanying drawings, and any variations related to "including" and "having", are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units, but may include steps or units not listed.

[0074] In order to enable those skilled in the art to better understand the solution of the present invention, the present invention will be further described in detail below in conjunction with the accompanying drawings and specific implementation manners.

[0075] ChaosBlade is a chaos engineering project that was open-sourced in 2019. It includes the chaos engineering experiment tool chaosblade and the chaos engineering platform chaosblade-box, aiming to help enterprises solve high-availability problems in the cloud-native process through chaos engineering. The experiment tool chaosblade supports 3 major system platforms and 4 programming language applications, covering more than 200 experiment scenarios and more than 3,000 experiment parameters, enabling fine-grained control of the experiment scope. The chaos engineering platform chaosblade-box supports the hosting of experiment tools. In addition to hosting chaosblade, it also supports the Litmuschaos experiment tool. The main elements of the experiment are scenarios and operation objects. The connection between scenarios and operation objects is achieved through probes. The current platform supports manual deployment of probes and automatic installation of individual probes. Since the experiments on the chaos platform are widely used and only require access to the operating system, the operation object, i.e., the host, can be used regardless of its architecture and software completeness. However, the existing manual deployment of the platform allows users to install probes according to the actual situation. Once the number of users, hosts, and reinstallation times increases, more additional workload is added to the use of chaos beyond the main experiment function, deviating from the original intention of chaos to release human resources. Therefore, it is particularly important to find a way to optimize the probe installation steps.

[0076] Next, a method for determining the installation steps of virtual components provided in the embodiments of the present invention will be described in detail. Figure 1 The flowchart of a method for determining the installation steps of virtual components provided in the embodiments of the present invention is applied to a chaos engineering platform. The method may include:

[0077] S101, obtain multiple installation steps corresponding to the virtual component to be installed.

[0078] The execution subject in this embodiment is the chaos engineering platform. The virtual component to be installed in this embodiment is a probe. This embodiment does not limit the specific installation steps. The installation steps in this embodiment may be all the steps for installing the virtual component; or the installation steps in this embodiment may be multiple main installation steps.

[0079] It should be further noted that the multiple installation steps corresponding to the virtual component to be installed described above may include: obtaining multiple main installation steps corresponding to the virtual component to be installed; where the main installation steps include confirming whether the host of the virtual component to be installed already exists in the database, determining whether the host virtual component service of the virtual component to be installed has been started, determining the connectivity of the host address of the virtual component to be installed, determining whether the virtual component has been installed on the host of the virtual component to be installed, determining the host architecture of the virtual component to be installed, installing the virtual component, starting the virtual component, and updating the installation database record. When the installation steps in this embodiment are multiple main installation steps, it is not necessary to obtain all the installation steps, so only the time-optimal virtual component installation steps corresponding to the multiple main installation steps need to be determined, thereby improving the efficiency of the time-optimal virtual component installation steps.

[0080] S102. Determine the execution speed, dependency relationship, and branch control information corresponding to each installation step; where the branch control information is the information for determining whether the current installation step is a must-execute step.

[0081] The execution speed in this embodiment is used to determine the steps with a slow installation speed, and based on the dependency relationship, it is determined whether parallel installation can be performed on the steps with a slow installation speed. The branch control information in this embodiment is to determine whether this step is a must-execute step. If not, this step can be skipped.

[0082] It should be further noted that based on any of the above embodiments, in order to improve the accuracy of determining the execution speed, dependency relationship, and branch control information, determining the execution speed, dependency relationship, and branch control information corresponding to each installation step may include:

[0083] S1021. Obtain the execution time corresponding to each installation step.

[0084] S1022. When the execution time corresponding to the installation step is lower than the set minimum execution time threshold, determine that the execution speed in the step characteristics is fast execution.

[0085] This embodiment does not limit the specific minimum execution time threshold. For example, the minimum execution time threshold in this embodiment can be 1 second; or the minimum execution time threshold in this embodiment can be 2 seconds.

[0086] S1023. When the execution time corresponding to the installation step is lower than the minimum execution time threshold, determine that the execution speed parameter in the step characteristics is slow execution.

[0087] S1024. Determine whether each installation step depends on other installation steps.

[0088] S1025, when depending on other installation steps, determine that the dependency of the current installation step is the target installation step to be depended on; wherein, the type of the target installation step to be depended on includes indirect dependency.

[0089] The indirect dependency in this embodiment does not directly depend on a certain step, but comes after this step. For example, B depends on A, and C depends on B. At this time, C indirectly depends on A.

[0090] S1026, when not depending on other installation steps, determine that the dependency of the current installation step is empty.

[0091] S1027, determine whether the current installation step is a step to be executed in any installation scenario.

[0092] S1028, when the installation step is to be executed in any installation scenario, determine that the branch control information of the current installation step is a mandatory item.

[0093] S1029, when the installation step does not need to be executed in any installation scenario, determine that the branch control information of the current installation step is a non-mandatory item.

[0094] S10210, when the installation step needs to be executed only in the target installation scenario, determine that the branch control information of the current installation step is a mandatory item for the specific installation scenario.

[0095] For ease of understanding, when multiple steps are the main installation steps as described above, the execution speed, dependency, and branch control information corresponding to each main installation step are shown in Table 1.

[0096] Table 1 A schematic table of an execution speed, dependency, and branch control information

[0097]

[0098] To make the dependency clearer, please refer to Figure 2 , Figure 2 which is a schematic diagram of the dependency of the main installation steps provided by the embodiment of the present invention. As can be seen from Figure 2 it, b directly depends on a; c depends on b and indirectly depends on a.

[0099] S103, determine multiple installation scenarios based on the condition information corresponding to the installation step; wherein, the condition information is the information determined based on whether the conditions in the installation step are met.

[0100] This embodiment determines multiple installation scenarios based on the conditional information corresponding to the installation steps, which means that there are judgment conditions in some installation steps. If so, one path will be executed; if not, another path will be executed, thus forming two scenarios. This embodiment does not limit the specific method for determining multiple installation scenarios. For example, this embodiment can determine multiple installation scenarios through permutation and combination of conditional information; or this embodiment can also determine multiple installation scenarios through a decision tree.

[0101] It should be further noted that, based on any of the above embodiments, determining multiple installation scenarios based on the conditional information corresponding to the installation steps may include: obtaining the installation steps with conditional information, analyzing the installation steps with conditional information to obtain the corresponding decision tree structure, and analyzing based on the decision tree structure to determine multiple installation scenarios. This embodiment can identify the conditional information included in the installation steps and construct a decision tree according to the conditional information. Each node of the decision tree represents a conditional judgment, and each branch represents the result of the condition (usually "yes" or "no"). Starting from the root node, according to the logical order and dependency of the conditions, gradually construct the branches of the tree. Ensure that the decision tree covers all possible conditional combinations, and define one or more installation scenarios at the end of each branch. By traversing the decision tree and analyzing each branch path, determine the installation scenario corresponding to each path. This embodiment determines multiple installation scenarios through a decision tree, which can improve the accuracy and efficiency of determining installation scenarios.

[0102] S104, determine the time-optimal virtual component installation steps corresponding to each installation scenario based on the execution speed, dependency relationship, and branch control information, and use the multi-thread method to implement the simultaneous installation of the parallel installation steps in the time-optimal virtual component installation steps; where the time-optimal virtual component installation steps include parallel installation steps determined based on the execution speed and dependency relationship, and steps that do not need to be executed determined based on the branch control information.

[0103] This embodiment determines the time-optimal virtual component installation steps corresponding to each installation scenario based on the execution speed, dependency relationship, and branch control information, so that when installing in different installation scenarios, the time for the virtual component installation steps is the shortest, improving the virtual component installation efficiency. This embodiment uses the multi-thread method to implement the simultaneous installation of the parallel installation steps in the time-optimal virtual component installation steps. It can be understood that the chaos engineering platform realizes parallelism by calling the thread method. For example, thread1: detection, thread2: installation; thread3 starts.

[0104] It should be further noted that, based on any of the above embodiments, after determining the time-optimal virtual component installation steps corresponding to each installation scenario based on the execution speed, dependency relationship, and branch control information, and implementing the simultaneous installation of the parallel installation steps in the time-optimal virtual component installation steps using a multi-threaded method, it may further include: installing the virtual component to be installed based on the time-optimal virtual component installation steps corresponding to the current installation scenario; during the installation of the virtual component to be installed, persisting the process of each installation step based on the installation storage service; where the installation storage service is a tool for storing virtual component installation information. This embodiment does not limit the specific installation storage service. For example, the installation storage service in this embodiment may be a database; or the installation storage service in this embodiment may also be a hard disk. By persisting each actual installation step, this embodiment enables quick determination of which installation steps have been completed, thereby improving the efficiency of subsequent judgment on whether the installation process is complete.

[0105] It should be further noted that, based on any of the above embodiments, during the installation of the virtual component to be installed, persisting the process of each installation step based on the installation storage service may include:

[0106] S1, traversing the host list of the virtual component to be installed;

[0107] The execution of this embodiment is a chaos engineering platform, and the environment where the chaos engineering platform executes is any machine with an operating system.

[0108] S2, determining whether the host address of the current host is in the installation table in the installation storage service;

[0109] S3, if the current host address is not in the installation table, adding a new initial information record corresponding to the host to the installation table; where the information in the installation table includes the host address of the virtual component to be installed, the installation package required to install the virtual component, whether the virtual component has been installed, whether the virtual component to be installed has been connected, whether the virtual component has been started, and the installation result;

[0110] S4, if the current host address is in the installation table, determining whether the host address is reachable based on a network fault diagnosis tool;

[0111] In this embodiment, the chaos engineering platform determines whether the host address is reachable by sending a ping command. Ping is a network fault diagnosis tool used to detect the connectivity between network hosts.

[0112] S5, if it is reachable, determining that the value of whether the virtual component to be installed has been connected is true based on the protocol for remotely accessing and managing computers over a network;

[0113] In this embodiment, the chaos platform determines whether the value of whether the virtual component to be installed is connected is true by sending a Telnet command, that is, whether the host port is connectable. The Telnet protocol is a protocol for remotely accessing and managing computers over a network. It allows users to connect to a remote host over a network and operate on the system resources of the remote host on a local terminal, just as if operating directly in front of the console of the remote host. In the scenario of the chaos platform, the platform utilizes this feature of the Telnet protocol to send a Telnet command to a specific port of the target host. If the connection can be successfully established, it indicates that the corresponding port of the host is open and connectable; if the connection fails, it indicates that the port may be closed, blocked by a firewall, or there are other network problems preventing connectivity. In this way, the chaos platform can quickly detect the connectivity of the host port, providing a basis for subsequent operations such as testing, monitoring, or troubleshooting.

[0114] S6, if it is not connectable, then determine that the value of whether the virtual component to be installed is connected is false, and the installation result is that the host cannot be connected. Please confirm the connection and then install the virtual component.

[0115] S7, determine whether the virtual component is installed based on the time-optimal virtual component installation steps.

[0116] S8, if the virtual component has been installed, then determine that the value of whether the virtual component has been started is set to true, and the installation result is that the host plugin has been started and no installation is required.

[0117] S9, if the virtual component has not been installed, then determine that the value of whether the virtual component has been started is set to false.

[0118] S10, obtain the host architecture of the virtual component to be installed and update the value of the installation package required for installing the virtual component in this record to be not empty.

[0119] S11, continue to traverse the next host until the traversal is completed, and complete the update of the installation table.

[0120] S12, re-traverse the installation table based on the traversal period.

[0121] This embodiment does not limit the specific traversal period. For example, the traversal period in this embodiment is 300 seconds; or the traversal period in this embodiment is 200 seconds. The virtual component in this embodiment is a probe. At this time, the overall process may include: obtaining the host list hosts corresponding to the probe to be installed, whose value is [host1, host2, host3... hostn], traversing the host list hosts of the probe to be installed, and determining whether the hostIp (host address) of hostx is in the table install_table in the database. If it exists, continue to the next step; if not, add a record of hostx to install_table, and the record format is [hostIp, installPackage, installed, linked, started, message], and its initial value can be [hostIp, empty, false, true, false, empty]. Field explanation: hostIp: the host IP of the probe to be installed; installPackage: the installation package required to install the probe; installed: whether the probe has been installed, default is false, that is, not installed by default; linked: whether the probe to be installed has been connected, default is true, that is, can be connected; started: whether the probe has been started, default is false, that is, not started; message: installation result, default is empty. This embodiment can determine whether hostx's hostIp is reachable through ping, execute the command: ping–c 5 hostip. If the return result is 5 received, it means it is reachable and no operation is required; otherwise, set linked to false, and message is: The host hostx cannot be connected. Please confirm the connection and then install the probe. Determine whether the probe is installed by checking the port availability, execute the command: telnet hostip 19527. If the return result is Connected, it means the probe has been installed, then set started to true, and message is: The hostx plugin of the host has been started and no installation is required; otherwise, no operation is required. Obtain the architecture of the host hostx of the probe to be installed and update the installPackage of this record. This embodiment gives the specific form of the installation table and the specific process of installing and persisting the component to be installed based on the installation table. For easy understanding, please refer to Figure 3 , Figure 3 is a flowchart example of a status detection and persistence method provided by an embodiment of the present invention, and this flowchart corresponds to the above process. This embodiment combines the requirement of the chaos platform to reinstall the host irregularly, adds a timing detection mechanism, and can perform dynamic maintenance when it detects unavailability, ensuring the usability and reliability of the chaos platform and greatly improving the user experience.

[0122] It should be further noted that when there are new hosts and the virtual components have not been installed on the new hosts, the following steps can be included: traverse the installation table. If the current new host is connectable and the virtual components have not been installed, install the virtual components and set the information indicating whether the virtual components have been installed to "installing"; continue to traverse the next host for virtual component installation until the traversal is completed; traverse the installation table based on a set time interval. If the information indicating whether the virtual components have been installed is "installing", the value indicating whether the virtual components to be installed are connected is true, and the value indicating whether the virtual components have been started is false, then determine whether the virtual components have been installed successfully based on the first port information; if the virtual component installation is successful, set the values of whether the virtual components have been installed and whether the virtual components have been started to true, and set the value of the installation result to "success"; if the virtual components have not been installed successfully, it means that the virtual component installation has failed, then set the value of whether the virtual components have been installed to false, and set the value of the installation result to "installation failed"; continue to traverse the next new host until the traversal is completed. The first port information in this embodiment can be 19527; or it can also be other instructions for determining the availability of the port. The process of installing the probe in this embodiment can include: 1. Traverse the installation table; 2. If the current host is connectable and the probe has not been installed, install the probe and set installed to installing; 3. Without waiting for the probe installation result, continue to traverse the next host until the traversal is completed; 4. Traverse the installation table based on a set time interval; 5. If installed = installing and linked = true and started = false, then determine whether the probe has been installed successfully through port availability judgment (for example, execute the command: telnet hostip 19527. If the returned result is "Connected", it means that the probe installation is successful, then set installed and started to true, and message is: success; otherwise, it means that the probe installation has failed), if the probe installation is successful, set installed and started to true, and message is: success; if the probe has not been installed successfully, it means that the probe installation has failed, then set installed to false, and message is: installation failed; 6. Continue to traverse the next host until the traversal is completed. The flowchart corresponding to the above process is as Figure 4 shown in Figure 4 a schematic diagram of the persistence of the process of installing the probe provided by the embodiment of the present invention.

[0123] It should be further noted that, based on any of the above embodiments, when there are newly added hosts and there are hosts among the newly added hosts that have installed virtual components, the following steps may be included: traverse the installation table. If the value of whether the virtual component has been installed is true, the value of whether the virtual component to be installed is connected is true, and the value of whether the virtual component has been started is false, then start the virtual component and set the value of whether the virtual component has been started to starting; continue to traverse the next host to start the virtual component until the traversal is completed; traverse the installation table based on a set time interval to determine whether the virtual component has been installed; if the value of whether the virtual component has been installed is true, the value of whether the virtual component to be installed is connected is true, and the value of whether the virtual component has been started is starting, then determine whether the virtual component has been started based on the second port information; if the virtual component starts successfully, then set the value of whether the virtual component has been started to true and the installation result to success; if the virtual component fails to start, then set the value of whether the virtual component has been started to false and the installation result to start failed; continue to traverse the next newly added host until the traversal is completed. The second port information in this embodiment may be the same as or different from the first port information above. The process of installing the probe in this embodiment may include: 1. Traverse the installation table; 2. If installed=true and linked=true and started=false, then start the probe and set started=starting. 3. Without waiting for the probe installation result, continue to traverse the next host until the traversal is completed; 4. Traverse the installation table; 5. If installed=true and linked=true and started=starting, determine whether the probe has been started by checking the port availability, and execute the command: telnet hostip 19527. If the returned result is Connected, it means the probe has started successfully, then set installed and started to true, and message to: main success; otherwise, it means the probe has failed to start, then set started to false and message to: start failed. 6. Continue to traverse the next host hostx until the traversal is completed. 7. Traverse the installation table again based on a set traversal period to ensure that the service starts automatically once it stops. The flowchart corresponding to the above process is as Figure 5 shown, Figure 5 which is a schematic diagram of another persistent probe installation process provided by an embodiment of the present invention. For the host with the virtual component already added in this embodiment: start the timing detection mechanism, and if a service failure is detected, then restart it.

[0124] A method for determining virtual component installation steps provided by an embodiment of the present invention is applied to a chaos engineering platform and may include: S101, obtaining multiple installation steps corresponding to the virtual component to be installed; S102, determining the execution speed, dependency relationship, and branch control information corresponding to each installation step; wherein, the branch control information is information for determining whether the current installation step is a step that must be executed; S103, determining multiple installation scenarios based on the condition information corresponding to the installation steps; wherein, the condition information is information determined based on whether the conditions in the installation steps are met; S104, determining the time-optimal virtual component installation steps corresponding to each installation scenario based on the execution speed, dependency relationship, and branch control information, and implementing the simultaneous installation of parallel installation steps in the time-optimal virtual component installation steps by using a multi-threaded method; wherein, the optimal virtual component installation steps include parallel installation steps determined based on the execution speed and dependency relationship, and steps that do not need to be executed determined based on the branch control information. Compared with the current need for manual installation of virtual components, by analyzing the virtual component installation steps, the present invention determines the time-optimal virtual component installation steps based on the execution speed, dependency relationship, and branch control information. Since the time-optimal virtual component installation steps include parallel steps determined based on the execution speed and dependency relationship, and steps are deleted based on the branch control information, the current installation steps are the time-optimal installation steps, thereby improving the installation efficiency of virtual components.

[0125] The virtual component installation step determination device provided by an embodiment of the present invention will be introduced below. The virtual component installation step determination device described below can be correspondingly referred to the virtual component installation step determination method described above.

[0126] Figure 6 The structure diagram of a virtual component installation step determination device provided by an embodiment of the present invention is applied to a chaos engineering platform and may include:

[0127] A plurality of installation step determination modules 100 are used to obtain multiple installation steps corresponding to the virtual component to be installed;

[0128] An information determination module 200 is used to determine the execution speed, dependency relationship, and branch control information corresponding to each installation step; wherein, the branch control information is information for determining whether the current installation step is a step that must be executed;

[0129] A scenario determination module 300 is used to determine multiple installation scenarios based on the condition information corresponding to the installation steps; wherein, the condition information is information determined based on whether the conditions in the installation steps are met;

[0130] A time-optimal virtual component installation step determination module 400 is used to determine the time-optimal virtual component installation steps corresponding to each installation scenario based on the execution speed, the dependencies, and the branch control information, and implement the simultaneous installation of the parallel installation steps in the time-optimal virtual component installation steps by using a multi-threaded method; wherein, the time-optimal virtual component installation steps include parallel installation steps determined based on the execution speed and dependencies, and steps that do not need to be executed determined based on the branch control information.

[0131] Further, based on the above embodiments, the above-mentioned multiple installation step determination module 100 may include:

[0132] A plurality of main installation step determination units are used to obtain a plurality of main installation steps corresponding to the virtual components to be installed; wherein, the main installation steps include confirming whether the host of the virtual component to be installed already exists in the database, determining whether the host virtual component service of the virtual component to be installed has been started, determining the connectivity of the host address of the virtual component to be installed, determining whether the virtual component has already been installed on the host of the virtual component to be installed, determining the host architecture of the virtual component to be installed, installing the virtual component, starting the virtual component, and updating the installation database record.

[0133] Further, based on any of the above embodiments, the above-mentioned information determination module 200 may include:

[0134] An execution time determination unit is used to obtain the execution time corresponding to each installation step;

[0135] An execution fast unit is used to determine that the execution speed in the step characteristics is fast when the execution time corresponding to the installation step is lower than the set minimum execution time threshold;

[0136] An execution slow determination unit is used to determine that the execution speed parameter in the step characteristics is slow when the execution time corresponding to the installation step is lower than the minimum execution time threshold;

[0137] A dependency relationship judgment unit is used to determine whether each installation step depends on other installation steps;

[0138] A dependency relationship determination unit is used to determine that the dependency relationship of the current installation step is a dependency on the target installation step when it depends on other installation steps; wherein, the type of the dependency target installation step includes indirect dependency;

[0139] A non-dependency determination unit is used to determine that the dependency relationship of the current installation step is empty when it does not depend on other installation steps;

[0140] A judgment unit is used to determine whether the current installation step is a step that is executed in any installation scenario;

[0141] A mandatory item determination unit, configured to determine the branch control information of the current installation step as a mandatory item when the installation step is executed in any installation scenario;

[0142] A non-mandatory item determination unit, configured to determine the branch control information of the current installation step as a non-mandatory item when the installation step does not need to be executed in any installation scenario;

[0143] A specific scenario mandatory item determination unit, configured to determine the branch control information of the current installation step as a mandatory item for a specific installation scenario when the installation step needs to be executed only in the target installation scenario.

[0144] Further, based on any of the above embodiments, the virtual component installation step determination device may further include:

[0145] A virtual component installation module, configured to install the virtual component to be installed based on the time-optimal virtual component installation step corresponding to the current installation scenario;

[0146] A persistence module, configured to persist the process of each installation step based on the installation storage service during the installation of the virtual component to be installed; wherein, the installation storage service is a tool for storing virtual component installation information.

[0147] Further, based on the above embodiment, the persistence module may include:

[0148] A host list traversal unit for traversing the host list of the virtual component to be installed;

[0149] A host address judgment unit, configured to judge whether the host address of the current host is in the installation table in the installation storage service;

[0150] A host information addition unit, configured to, if the current host address is not in the installation table, add an initial information record corresponding to the host to the installation table; wherein, the information in the installation table includes the host address of the virtual component to be installed, the installation package required for installing the virtual component, whether the virtual component has been installed, whether the virtual component to be installed has been connected, whether the virtual component has been started, and the installation result;

[0151] A connectivity judgment unit, configured to, if the current host address is in the installation table, judge whether the host address is connectable based on a network fault diagnosis tool;

[0152] A first update unit for the value of whether it has been connected, configured to, if it is connectable, determine that the value of whether the virtual component to be installed has been connected is true based on the protocol for remotely accessing and managing a computer through a network;

[0153] A second update unit for the value of whether it is connected, which is used to determine that the value of whether the virtual component to be installed is connected is false if it is not connectable, and the installation result is that the host cannot be connected. Please confirm the connection and then install the virtual component;

[0154] An installation judgment unit, which is used to judge whether the virtual component is installed based on the time-optimal virtual component installation steps;

[0155] A first update unit for the value of whether it has been started, which is used to determine that the value of whether the virtual component has been started is set to true if the virtual component has been installed, and the installation result is that the host plug-in has been started and no installation is required;

[0156] A second update unit for the value of whether it has been started, which is used to determine that the value of whether the virtual component has been started is set to false if the virtual component has not been installed;

[0157] A host architecture determination unit, which is used to obtain the host architecture of the virtual component to be installed and update the value of the installation package required for installing the virtual component in this record to be not empty;

[0158] An installation table update unit, which is used to continue traversing the next host until the traversal is completed and the installation table is updated;

[0159] A re-traversal unit, which is used to re-traverse the installation table based on the traversal period.

[0160] Furthermore, based on the above embodiments, the above virtual component installation step determination device may further include:

[0161] An information determination unit for whether the virtual component has been installed, which is used to traverse the installation table. If the current newly added host is connectable and the virtual component has not been installed, the virtual component is installed and the information on whether the virtual component has been installed is set to being installed;

[0162] A traversal installation unit, which is used to continue traversing the next host for virtual component installation until the traversal is completed;

[0163] A judgment unit for whether the virtual component has been installed, which is used to traverse the installation table based on a set time interval. If the information on whether the virtual component has been installed is being installed, and the value of whether the virtual component to be installed is connected is true, and the virtual component has not been started, it is judged whether the virtual component has been installed based on the first port information;

[0164] A first update unit for the value of the installation result, which is used to set the values of whether the virtual component has been installed and whether the virtual component has been started to true if the virtual component is installed successfully, and the value of the installation result is set to success;

[0165] The second update unit for the value of the installation result is used to set the value indicating whether the virtual component has been installed to false and the value of the installation result to installation failure if the virtual component is not installed successfully, indicating that the installation of the virtual component has failed.

[0166] Further, based on the above embodiments, the virtual component installation step determination device may further include:

[0167] The virtual component startup unit is used to traverse the installation table. If the value indicating whether the virtual component has been installed is true, the value indicating whether the virtual component to be installed is connected is true, and the value indicating whether the virtual component has been started is false, then start the virtual component and set the value indicating whether the virtual component has been started to starting;

[0168] The traversal startup virtual component unit is used to continue traversing the next host to start the virtual component until the traversal is completed;

[0169] The virtual component installation judgment unit is used to traverse the installation table based on a set time interval to determine whether the virtual component is installed successfully;

[0170] The virtual component startup determination unit is used to, if the value indicating whether the virtual component has been installed is true, the value indicating whether the virtual component to be installed is connected is true, and the value indicating whether the virtual component has been started is starting, then determine whether the virtual component has been started based on the second port information;

[0171] The startup success determination unit is used to, if the virtual component is started successfully, determine that the value indicating whether the virtual component has been started is true and the installation result is success;

[0172] The startup identification unit is used to, if the virtual component startup fails, determine that the value indicating whether the virtual component has been started is false and the installation result is startup failure.

[0173] It should be noted that the order of the modules and units in the above virtual component installation step determination device can be changed before and after without affecting the logic.

[0174] Figure 6 The description of the features in the corresponding embodiments can be referred to Figure 6 the relevant descriptions of the corresponding embodiments, which will not be elaborated here one by one.

[0175] The virtual component installation step determination device provided by the embodiment of the present invention is applied to a chaos engineering platform and may include: a plurality of installation step determination modules 100, configured to obtain a plurality of installation steps corresponding to the virtual component to be installed; an information determination module 200, configured to determine the execution speed, dependency relationship, and branch control information corresponding to each installation step; wherein, the branch control information is information for determining whether the current installation step is a step that must be executed; a scenario determination module 300, configured to determine a plurality of installation scenarios based on the condition information corresponding to the installation steps; wherein, the condition information is information determined based on whether the conditions in the installation steps are met; a time-optimal virtual component installation step determination module 400, configured to determine the time-optimal virtual component installation steps corresponding to each installation scenario based on the execution speed, the dependency relationship, and the branch control information, and implement the simultaneous installation of the parallel installation steps in the time-optimal virtual component installation steps by using a multi-threaded method; wherein, the time-optimal virtual component installation steps include parallel installation steps determined based on the execution speed and the dependency relationship, and steps that do not need to be executed determined based on the branch control information. Compared with the current manual installation of virtual components, the present invention analyzes the virtual component installation steps, determines the time-optimal virtual component installation steps based on the execution speed, the dependency relationship, and the branch control information. Since the time-optimal virtual component installation steps include parallel steps determined based on the execution speed and the dependency relationship, and steps are deleted based on the branch control information, the current installation steps are the time-optimal installation steps, thereby improving the installation efficiency of virtual components.

[0176] The following introduces a virtual component installation step determination device provided by the embodiment of the present invention. The virtual component installation step determination device described below can be correspondingly referred to the virtual component installation step determination method described above.

[0177] Figure 7 FIG. is a schematic structural diagram of a virtual component installation step determination device provided by the embodiment of the present invention. As Figure 7 shown, the virtual component installation step determination device may include: a memory 60, configured to store a computer program;

[0178] a processor 61, configured to implement the steps of the virtual component installation step determination method in the above embodiment when executing the computer program.

[0179] The virtual component installation step determination device provided in this embodiment may include, but is not limited to, a smart phone, a tablet computer, a notebook computer, or a desktop computer, etc.

[0180] Among them, the processor 61 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 61 may be implemented in at least one hardware form of digital signal processing (DSP), field-programmable gate array (FPGA), or programmable logic array (PLA). The processor 61 may also include a main processor and a coprocessor. The main processor is a processor used to process data in the wake state, also known as the central processing unit (CPU); the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, the processor 61 may be integrated with a graphics processing unit (GPU), and the GPU is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 61 may further include an artificial intelligence (AI) processor, and the AI processor is used to process computational operations related to machine learning.

[0181] The memory 60 may include one or more computer-readable storage media, and the computer-readable storage media may be non-transitory. The memory 60 may further include high-speed random access memory and non-volatile memory, such as one or more disk storage devices and flash storage devices. In this embodiment, the memory 60 is at least used to store the following computer program 601. After the computer program is loaded and executed by the processor 61, it can implement the relevant steps of the virtual component installation step determination method disclosed in any of the foregoing embodiments. In addition, the resources stored in the memory 60 may further include an operating system 602 and data 603, etc., and the storage method may be temporary storage or permanent storage. Among them, the operating system 602 may include Windows, Unix, Linux, etc. The data 603 may include, but is not limited to, data required for determining the virtual component installation steps.

[0182] In some embodiments, the virtual component installation step determination device may further include a display screen 62, an input / output interface 63, a communication interface 64, a power supply 65, and a communication bus 66.

[0183] Those skilled in the art can understand that Figure 7 the structure shown in

[0184] It can be understood that if the method for determining the virtual component installation steps in the above embodiments is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the current technology, or all or part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and executes all or part of the steps of the methods in the various embodiments of the present invention. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard disks, read-only memory (ROM), random access memory (RAM), electrically erasable programmable ROM, registers, hard disks, removable disks, CD-ROMs, magnetic disks, or optical discs.

[0185] Based on this, an embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, it implements the steps of the method for determining the virtual component installation steps as described above.

[0186] The above has introduced in detail a method for determining the virtual component installation steps provided by the embodiments of the present invention. The various embodiments in the specification are described in a progressive manner. Each embodiment focuses on the differences from other embodiments. The same or similar parts among the various embodiments can be referred to each other. For the device disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple. For the relevant parts, reference can be made to the description in the method part.

[0187] Those skilled in the art can further realize that the units and algorithm steps of the examples described in combination with the embodiments disclosed in this article can be implemented by electronic hardware, computer software, or a combination of the two. To clearly illustrate the interchangeability of hardware and software, the composition and steps of the examples have been generally described according to functions in the above description. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present invention.

[0188] The above has introduced in detail a method, device, equipment and storage medium for determining the installation steps of virtual components provided by the present invention. Specific examples are used in this article to elaborate on the principle and implementation manner of the present invention. The description of the above embodiments is only used to help understand the method and its core idea of the present invention. It should be noted that for those of ordinary skill in the art, without departing from the principle of the present invention, several improvements and modifications can be made to the present invention, and these improvements and modifications also fall within the protection scope of the claims of the present invention.

Claims

1. A method for determining a virtual component installation step, characterized in that: Applied to chaos engineering platforms, including: Obtain multiple installation steps corresponding to the virtual component to be installed; Determine the execution speed, dependency and branch control information corresponding to each installation step; wherein the branch control information is information for determining whether the current installation step is a step that must be executed; Determine multiple installation scenarios based on condition information corresponding to the installation steps; wherein the condition information is information determined based on whether the conditions in the installation steps are met; Based on the execution speed, the dependency relationship and the branch control information, the time-optimal virtual component installation steps corresponding to each installation scenario are determined, and a multi-threaded method is used to implement simultaneous installation of parallel installation steps in the time-optimal virtual component installation steps; wherein the time-optimal virtual component installation steps include the parallel installation steps determined based on the execution speed and the dependency relationship, and the steps that do not need to be executed determined based on the branch control information.

2. The method for determining the virtual component installation steps according to claim 1, characterized in that: Get multiple installation steps corresponding to the virtual component to be installed, including: Obtain multiple main installation steps corresponding to the virtual component to be installed; wherein the main installation steps include confirming whether the host of the virtual component to be installed already exists in the database, determining whether the host virtual component service of the virtual component to be installed is started, determining the connectivity of the host address of the virtual component to be installed, determining whether the host of the virtual component to be installed has already installed the virtual component, determining the host architecture of the virtual component to be installed, installing the virtual component, starting the virtual component and updating the installation database record.

3. The method for determining the virtual component installation steps according to claim 1, characterized in that: Determine the execution speed, dependencies, and branch control information for each installation step, including: Get the execution time corresponding to each installation step; When the execution time corresponding to the installation step is lower than a set minimum execution time threshold, determining the execution speed in the step characteristic as fast execution; When the execution time corresponding to the installation step is lower than the minimum execution time threshold, determining the execution speed parameter in the step characteristics as slow execution; Determine whether each installation step depends on other installation steps; When depending on other installation steps, determining the dependency of the current installation step as a dependent target installation step; wherein the type of the dependent target installation step includes indirect dependency; When there is no dependency on other installation steps, determine that the dependency of the current installation step is empty; Determine whether the current installation step is a step that is executed in any installation scenario; When the installation step is executed in any installation scenario, determining the branch control information of the current installation step is a required item; When the installation step does not need to be executed in any installation scenario, determining the branch control information of the current installation step as a non-essential item; When the installation step needs to be executed only in the target installation scenario, it is determined that the branch control information of the current installation step is a necessary item for the specific installation scenario.

4. The method for determining the virtual component installation steps according to any one of claims 1 to 3, characterized in that: After determining the time-optimal virtual component installation step corresponding to each installation scenario based on the execution speed, the dependency relationship and the branch control information, and implementing the simultaneous installation of the parallel installation steps in the time-optimal virtual component installation step by using a multithreading method, the method further includes: Installing the virtual component to be installed based on the time-optimal virtual component installation step corresponding to the current installation scenario; During the process of installing the virtual component to be installed, the process of each installation step is persisted based on the installation storage service; wherein the installation storage service is a tool for storing virtual component installation information.

5. The method for determining the virtual component installation steps according to claim 4, characterized in that: During the installation of the virtual component to be installed, the process of each installation step is persisted based on the installation storage service, including: Traverse the host list where the virtual component is to be installed; Determine whether the host address of the current host is in the installation table in the installation storage service; If the current host address is not in the installation table, a new initial information corresponding to the host is recorded in the installation table; wherein the information in the installation table includes the host address of the virtual component to be installed, the installation package required to install the virtual component, whether the virtual component has been installed, whether the virtual component to be installed is connected, whether the virtual component has been started, and the installation result; If the current host address is in the installation table, determine whether the host address is connectable based on the network fault diagnosis tool; If it is connectable, determining whether the virtual component to be installed is connected based on a protocol for remotely accessing and managing the computer through a network is true; If it is not connected, the value of whether the virtual component to be installed is connected is false, and the installation result is that the host cannot be connected. Please confirm the connection before installing the virtual component; determining whether the virtual component is installed based on the time-optimal virtual component installation step; If the virtual component is installed, the value of determining whether the virtual component is started is set to true, and the installation result is that the host plug-in is started and does not need to be installed; If the virtual component is not installed, the value determining whether the virtual component is started is set to false; Obtain the host architecture of the virtual component to be installed and update the value of the installation package required for installing the virtual component in the record to be not empty; Continue to traverse the next host until the traversal is completed, completing the update of the installation table; The installation table is re-traversed based on a traversal period.

6. The method for determining the virtual component installation steps according to claim 5, characterized in that: When a new host is added and no virtual components have been installed on the new host, the following occurs: Traversing the installation table, if the newly added host is currently connectable and the virtual component is not installed, installing the virtual component based on the time-optimal virtual component installation step, and setting the information on whether the virtual component has been installed to being installed; Continue to traverse the next host to install the virtual component until the traversal is completed; Traversing the installation table based on a set time interval, if the information of whether the virtual component has been installed is in the process of being installed, and the value of whether the virtual component to be installed has been connected is true, and the value of whether the virtual component has been started is false, then determining whether the virtual component has been installed based on the first port information; If the virtual component is successfully installed, the values ​​of whether the virtual component has been installed and whether the virtual component has been started are set to true, and the value of the installation result is set to success; If the virtual component is not installed completely, it means that the installation of the virtual component has failed, and the value of whether the virtual component has been installed is set to false, and the value of the installation result is set to installation failure.

7. The method for determining the virtual component installation steps according to claim 5, characterized in that: When a new host is added and some of the new hosts have virtual components installed, the following occurs: Traversing the installation table, if the value of whether the virtual component has been installed is true, the value of whether the virtual component to be installed has been connected is true, and the value of whether the virtual component has been started is false, then starting the virtual component and setting the value of whether the virtual component has been started to starting; Continue to traverse the next host to start the virtual component until the traversal is completed; Traversing the installation table based on a set time interval to determine whether the virtual component has been installed; If the value of whether the virtual component has been installed is true, the value of whether the virtual component to be installed is connected is true, and the value of whether the virtual component has been started is starting, then determining whether the virtual component is started based on the second port information; If the virtual component is started successfully, the value of determining whether the virtual component has been started is true, and the installation result is successful; If the virtual component fails to start, the value of determining whether the virtual component has been started is false, and the installation result is a startup failure.

8. A device for determining a virtual component installation step, characterized in that: Applied to chaos engineering platforms, including: A plurality of installation step determination modules are used to obtain a plurality of installation steps corresponding to the virtual components to be installed; An information determination module, used to determine the execution speed, dependency and branch control information corresponding to each installation step; wherein the branch control information is information for determining whether the current installation step is a step that must be executed; A scenario determination module, used to determine multiple installation scenarios based on condition information corresponding to the installation steps; wherein the condition information is information determined based on whether the conditions in the installation steps are met; A module for determining the time-optimal virtual component installation steps is used to determine the time-optimal virtual component installation steps corresponding to each installation scenario based on the execution speed, the dependency relationship and the branch control information, and to use a multi-threaded method to implement simultaneous installation of parallel installation steps in the time-optimal virtual component installation steps; wherein the time-optimal virtual component installation steps include the parallel installation steps determined based on the execution speed and the dependency relationship, and the steps that do not need to be executed determined based on the branch control information.

9. A virtual component installation step determination device, characterized in that: include: Memory for storing computer programs; A processor, configured to execute the computer program to implement the steps of determining the virtual component installation steps as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of determining the virtual component installation steps according to any one of claims 1 to 7 are implemented.