Fault processing method, device, equipment, medium and product
By using a pre-trained fault cause analysis model and graph structure analysis, the fault cause type and location information in the software pipeline deployment process are automatically predicted, solving the problem of low efficiency of manual analysis in existing technologies and achieving efficient and accurate fault cause location and repair.
Patent Information
- Application Number
- CN202511710075.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-20
- Publication Date
- 2026-02-17
AI Technical Summary
When a failure occurs during the deployment of a software pipeline, existing technologies require manual analysis of the cause of the failure, which is inefficient.
A pre-trained fault cause analysis model is used to automatically predict fault cause types and location information through information during the software pipeline deployment process. By utilizing the correlation features between configuration information and environmental information, a graph structure is constructed for fault cause analysis.
It improves the efficiency and accuracy of fault cause prediction, narrows the scope of fault cause location, reduces the amount of calculation, and improves the efficiency and accuracy of fault repair.
Smart Images

Figure CN121542085A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of artificial intelligence and the technical field of financial technology, in particular to a fault processing method, device, equipment, medium and product. BACKGROUND
[0002] Software pipeline deployment is an automated software continuous delivery process that decomposes the process from code submission to final deployment and release into a series of automated stages or links. At present, many software or software versions are released by using software pipeline deployment.
[0003] However, if a fault occurs in the software pipeline deployment process, for example, a fault occurs in the software testing process, or the software cannot be normally released in the release process, etc., the cause of the fault can only be analyzed manually, which is low in efficiency. SUMMARY
[0004] In view of the above problems, the present application provides a fault processing method, device, equipment, medium and product for improving the efficiency of determining the cause of a fault in a software pipeline deployment process.
[0005] According to a first aspect of the present application, a fault processing method is provided, comprising: for a target fault occurring in a software pipeline deployment process, based on a pre-trained fault cause analysis model, predicting a target fault cause type of the target fault according to first information in the software pipeline deployment process; based on a fault cause positioning model corresponding to the target fault cause type, predicting target fault cause positioning information of the target fault according to second information associated with the target fault cause type in the software pipeline deployment process; different fault cause types correspond to different fault cause positioning models respectively.
[0006] Optionally, the first information includes an association feature between configuration information and environment information; the determination manner of the association feature comprises: determining the association feature between the configuration information and the environment information based on a first graph structure; the first graph structure includes nodes for representing configuration information, nodes for representing environment information, and edges for representing the association relationship between the nodes.
[0007] Optionally, the method further comprises: for a target fault occurring in a software pipeline deployment process, constructing a first graph structure based on current configuration information and current environment information.
[0008] Optionally, the software pipeline deployment process comprises a pipeline deployment process of the target software; the first information comprises a historical fault cause type in a historical pipeline deployment process of the target software; and the second information comprises historical fault cause positioning information in the historical pipeline deployment process of the target software.
[0009] Optionally, the prediction of the target fault cause type of the target fault comprises prediction of the target fault cause type of the target fault according to the first information associated with the target fault in the software pipeline deployment process; and the prediction of the target fault cause positioning information of the target fault comprises prediction of the target fault cause positioning information of the target fault according to the second information associated with the target fault and the target fault cause type in the software pipeline deployment process.
[0010] Optionally, the first information comprises at least one of the following: configuration information, environment information, deployment log information, code information, association features of the configuration information and the environment information, update information, and description information of the target fault.
[0011] Optionally, the fault cause type comprises at least one of the following: a configuration information type, an environment information type, and a code information type; and the prediction of the target fault cause positioning information of the target fault comprises: in a case where the target fault cause type comprises the configuration information type, prediction of the target fault cause positioning information of the target fault in the configuration information; in a case where the target fault cause type comprises the environment information type, prediction of the target fault cause positioning information of the target fault in the environment information; and in a case where the target fault cause type comprises the code information type, prediction of the target fault cause positioning information of the target fault in the code information.
[0012] Optionally, the method further comprises determining a responsible user corresponding to a link in which the target fault cause positioning information belongs, based on a correspondence between different links in the software pipeline deployment process and responsible users.
[0013] Optionally, the method further comprises generating a repair suggestion for the target fault according to the target fault cause type and the target fault cause positioning information.
[0014] The second aspect of the present application provides a fault processing apparatus, comprising: a type module configured to, for a target fault occurring in a software pipeline deployment process, predict a target fault cause type of the target fault based on a pre-trained fault cause analysis model and according to first information in the software pipeline deployment process; and a positioning module configured to, based on a fault cause positioning model corresponding to the target fault cause type, predict target fault cause positioning information of the target fault according to second information in the software pipeline deployment process associated with the target fault cause type; different fault cause types correspond to different fault cause positioning models respectively.
[0015] The third aspect of the present application provides an electronic device, comprising: one or more processors; and a memory configured to store one or more computer programs, wherein the one or more processors execute the one or more computer programs to implement steps of the method.
[0016] The fourth aspect of the present application further provides a computer-readable storage medium having stored thereon a computer program or instructions, wherein the computer program or instructions, when executed by a processor, implement steps of the method.
[0017] The fifth aspect of the present application further provides a computer program product comprising a computer program or instructions, wherein the computer program or instructions, when executed by a processor, implement steps of the method. BRIEF DESCRIPTION OF DRAWINGS
[0018] The above and other objects, features and advantages of the present application will become more apparent from the following description of embodiments of the present application, taken in conjunction with the accompanying drawings, in which:
[0019] Figure 1 An application scenario diagram of a fault processing method according to an embodiment of the present application is schematically shown;
[0020] Figure 2 A flowchart of a fault processing method according to an embodiment of the present application is schematically shown;
[0021] Figure 3 A structural block diagram of a fault processing apparatus according to an embodiment of the present application is schematically shown;
[0022] Figure 4 A block diagram of an electronic device suitable for implementing a fault processing method according to an embodiment of the present application is schematically shown. DETAILED DESCRIPTION
[0023] Embodiments of the present application will be described herein below with reference to the accompanying drawings. It should be understood, however, that the description is merely exemplary and is not intended to limit the scope of the present application. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the present application. However, it will be apparent to one skilled in the art that the embodiments can be practiced without these specific details. In other instances, well-known structures and techniques have been omitted in order to avoid obscuring the concepts of the present application.
[0024] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present application. As used herein, the term "includes" and tautological expressions thereof, such as "including," "includes," "include," "contains," "containing," and so forth, shall not be taken to exclude
[0025] All terms used herein including technical and scientific terms have the same meanings as commonly understood by one of ordinary skill in the art unless otherwise defined herein. It should be noted that the terms used herein are merely specific examples and should not be construed to limit the present application. Unless otherwise defined, all terms used herein, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the specification and relevant art and should not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
[0026] In the case of using expressions similar to "at least one of A, B, and C, etc.", it should generally be interpreted to include any of them, to exclude any of them, or to include some of them. For example, the expression "at least one of A, B, and C" should be interpreted to include only A, only B, only C, only A and B, only A and C, only B and C, only A, B, and C, etc.
[0027] Software pipeline deployment is an automated software continuous delivery process that decomposes the process from code submission to final deployment and release into a series of automated stages or links. At present, many software or software versions are released by using software pipeline deployment. However, if a failure occurs in the software pipeline deployment process, for example, a failure occurs in the software testing process, or the software cannot be normally released in the release process, etc., the cause of the failure can only be analyzed manually, which is low in efficiency.
[0028] To solve the above technical problem, an embodiment of the present application provides a fault processing method.
[0029] In the method, for any failure occurring in the software pipeline deployment process, the cause of the failure can be automatically predicted by a pre-trained model. By automatically predicting the cause of the failure by the model, the efficiency of determining the cause of the failure can be improved. Specifically, the cause of the failure can be located to determine the content and situation of the cause of the failure, facilitating maintenance.
[0030] Considering that the software pipeline deployment process contains a large amount of information, the cause of the fault can be predicted in stages, that is, the type of the cause of the fault is predicted first, and then the cause of the fault is located from the information of the corresponding type. By screening the information of the type of the cause of the fault to locate the cause of the fault, the calculation amount of predicting the cause of the fault can be reduced, and the accuracy and efficiency of predicting the cause of the fault can be improved.
[0031] The cause of the fault is, for example, configuration information does not support, environment deployment error, and code running error, and the like. In a specific example, during the pipeline deployment process of the software, the code integration link may fail due to problems in the environment information or the configuration information. Accordingly, the type of the cause of the fault is, for example, the configuration information type, the environment information type, and the code information type, and the like.
[0032] It can be understood that for the cause of the fault of the configuration information type, the cause of the fault can be located from the configuration information; for the cause of the fault of the environment information type, the cause of the fault can be located from the environment information; and for the cause of the fault of the code information type, the cause of the fault can be located from the code information. Thus, the range accuracy of locating the cause of the fault can be improved, the range of the cause of the fault that needs to be located can be reduced, the accuracy and efficiency of locating the cause of the fault can be improved, and the calculation amount of locating the cause of the fault can be reduced.
[0033] In the method, considering that the configuration information usually depends on the environment information of the deployment, for example, for the database environment information of the deployment, the corresponding database configuration information can be supported, and the invalidation of the configuration information is usually because the environment information does not support or the environment information changes, therefore, the association relationship between the configuration information and the environment information can be combined to predict the cause of the fault. In other words, the association features between the configuration information and the environment information can be input into the pre-trained model to predict the type of the cause of the fault or the location information. Specifically, the graph structure can be constructed based on the association relationship or the dependency relationship between the configuration information and the environment information, so that the association features between the configuration information and the environment information can be extracted based on the constructed graph structure, and the accuracy of predicting the cause of the fault can be improved.
[0034] It should be noted that the fault processing method and device provided by the embodiments of the present application can be used in the field of artificial intelligence technology and the field of financial technology. For example, the type of the cause of the fault and the location information can be predicted and determined by using the fault processing method provided by the embodiments of the present application for the software pipeline deployment process in the financial field or the banking field. In addition, the fault processing method provided by the embodiments of the present application can also be used in any field other than the field of financial technology, for example, the software pipeline deployment process in the field of risk control or the field of audio and video. The application field of the fault processing method and device provided by the embodiments of the present application is not limited.
[0035] In the technical solutions of the present application, the user information (including but not limited to user personal information, user image information, user device information such as location information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved are all information and data authorized by the user or authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of related data comply with relevant laws, regulations and standards, necessary security measures are taken, do not violate public order and good customs, and corresponding operation portals are provided for users to choose authorization or refusal.
[0036] In the scenario of using personal information for automated decision-making, the method, device and system provided by the embodiments of the present application all provide corresponding operation portals for users to choose to agree or refuse the automated decision-making result; if the user chooses to refuse, the expert decision-making process is entered. The expression "automated decision-making" here refers to the activity of automatically analyzing, evaluating the behavior habits, interests and hobbies or economic, health, credit status of individuals, etc. by computer programs and making decisions. The expression "expert decision-making" here refers to the activity of making decisions by personnel who are engaged in a certain field of work, have special experience, knowledge and skills and reach a certain professional level.
[0037] Figure 1 An application scenario diagram of a fault processing method according to an embodiment of the present application is schematically shown.
[0038] As shown in Figure 1 The application scenario 100 according to the embodiment can include a first terminal device 101, a second terminal device 102, a third terminal device 103, a network 104 and a server 105. The network 104 is a medium for providing a communication link between the first terminal device 101, the second terminal device 102, the third terminal device 103 and the server 105. The network 104 can include various connection types, such as wired, wireless communication links or optical fiber cables, etc.
[0039] The user can use the first terminal device 101, the second terminal device 102 or the third terminal device 103 to interact with the server 105 through the network 104 to receive or send messages, etc. Various communication client applications can be installed on the first terminal device 101, the second terminal device 102 and the third terminal device 103, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc. (only as examples). Related applications of software pipeline deployment can also be installed on the terminal device, and the user can participate in the process of software pipeline deployment through the terminal device.
[0040] The first terminal device 101, the second terminal device 102, and the third terminal device 103 can be various electronic devices with a display screen and supporting web browsing, including but not limited to a smart phone, a tablet computer, a laptop computer, a desktop computer, and the like.
[0041] The server 105 can be a server providing various services, for example, a background management server supporting a website browsed by a user using the first terminal device 101, the second terminal device 102, or the third terminal device 103 (only as an example). The background management server can perform analysis and the like on received user requests and the like, and feed back the processing result (for example, a webpage, information, or data generated or obtained according to a user request, and the like) to the terminal device.
[0042] It should be noted that the fault processing method provided by the embodiments of the present application can generally be executed by the server 105. Correspondingly, the fault processing apparatus provided by the embodiments of the present application can generally be arranged in the server 105. The fault processing method provided by the embodiments of the present application can also be executed by a server or a server cluster different from the server 105 and capable of communicating with the first terminal device 101, the second terminal device 102, the third terminal device 103, and / or the server 105. Correspondingly, the fault processing apparatus provided by the embodiments of the present application can also be arranged in a server or a server cluster different from the server 105 and capable of communicating with the first terminal device 101, the second terminal device 102, the third terminal device 103, and / or the server 105.
[0043] It can be understood that each business personnel can complete software pipeline deployment through a terminal device, specifically, can complete a series of links from development to release of software by executing software pipeline deployment in the server 105 through interaction between the terminal device and the server 105.
[0044] It should be understood that Figure 1 The number of terminal devices, networks, and servers in the above-mentioned system is only illustrative. According to the implementation needs, there can be any number of terminal devices, networks, and servers.
[0045] Figure 2 An illustrative flowchart of a fault processing method according to an embodiment of the present application is shown.
[0046] As Figure 2 shown, the fault processing method provided by the embodiments can include operation S210 and operation S220. The embodiments of the present application do not limit the execution subject of the fault processing method, specifically, the fault processing method can be applied to a server or a server.
[0047] In operation S210, for a target fault occurring in a software pipeline deployment process, a target fault cause type of the target fault is predicted based on a pre-trained fault cause analysis model and first information in the software pipeline deployment process.
[0048] In operation S220, target fault cause positioning information of the target fault is predicted based on a fault cause positioning model corresponding to the target fault cause type and second information associated with the target fault cause type in the software pipeline deployment process. Different fault cause types correspond to different fault cause positioning models.
[0049] The method can predict the target fault cause type of the target fault, and further predict the fault cause positioning information of the target fault based on the fault cause positioning model corresponding to the target fault cause type and the second information associated with the target fault cause type, thereby reducing the calculation amount of predicting the fault cause, improving the accuracy and efficiency of predicting the fault cause, and improving the accuracy and efficiency of predicting the fault cause positioning information.
[0050] The embodiments of the present application are not limited to the software pipeline deployment process. Alternatively, the software pipeline deployment can be an automated software continuous delivery process that decomposes the process from code submission to final deployment and release into a series of automated stages or links. The embodiments of the present application are not limited to the specific links included in the software pipeline deployment process, and the specific links can be divided according to actual business needs. For example, the software pipeline deployment process can include development, deployment, integration, packaging, testing, release, and the like.
[0051] Alternatively, the software pipeline deployment can be used to release different versions of a single software, for example, the same software pipeline deployment process can be used to release different versions of the software as the software is updated. The software pipeline deployment can also be used to release different versions of different software, for example, a plurality of functional software can be released using the same software pipeline deployment process, and the software pipeline deployment process can be reused to reduce the cost of software delivery and improve the efficiency of software delivery.
[0052] Embodiments of the present application do not limit the target fault. Alternatively, the target fault can be any fault occurring in the software pipeline deployment process, and for the convenience of description, any fault in the software pipeline deployment process that needs to determine the fault cause is referred to as the target fault. The target fault is specifically, for example, software release failure, serious error in software testing process, software deployment failure, software running failure, and the like. It can be understood that for the software pipeline deployment process, the fault cause of the target fault can be that some configuration information is wrong, or the environment is invalid, or the software code itself has a serious error, and the like. Embodiments of the present application can improve the efficiency and accuracy of fault cause prediction by two-stage model prediction, that is, predicting the type of fault cause first, and then predicting the location of fault cause, that is, the positioning information of fault cause.
[0053] Embodiments of the present application do not limit the fault cause analysis model. Alternatively, the fault cause analysis model can be used to predict and determine the fault cause type, and can be used to predict and determine the fault cause type of the fault according to the input related information in the software pipeline deployment process, such as log information, update information, configuration information, and the like in the software pipeline deployment process. Embodiments of the present application do not limit the specific structure of the fault cause analysis model. Alternatively, the fault cause analysis model can be a classification model, which can predict and determine one fault cause type from a fixed plurality of fault cause types; the fault cause analysis model can also be a multi-classification model, which can predict and determine one or more fault cause types. Embodiments of the present application do not limit the training method for the fault cause analysis model, and specifically, the training sample can be constructed by determining the sample features according to the information in the historical pipeline deployment process, combining the determined fault cause type as a sample label, and training the fault cause analysis model.
[0054] Embodiments of the present application do not limit the first information. Alternatively, the first information can include related information of the software pipeline deployment process, specifically, for example, deployment log information, software code information, configuration information, resource information, update information, and the like. It can be understood that for the target fault occurring in the software pipeline deployment process, the fault cause of the target fault can be predicted from multiple information dimensions by analyzing the above-mentioned related information of the software pipeline deployment, thereby improving the prediction accuracy and comprehensiveness of the fault cause. In a specific example, the deployment log information can be analyzed to determine that the target fault of deployment failure is caused by memory leakage of some part of the software code during runtime.
[0055] Therefore, optionally, the first information can include at least one of the following: configuration information, environment information, deployment log information, code information, association features of the configuration information and the environment information, update information, and description information of the target fault. By introducing various information in the software pipeline deployment process, the embodiment can improve the prediction accuracy and comprehensiveness of the fault cause type by predicting the fault cause type of the target fault.
[0056] For ease of understanding, in a specific example, the configuration information can be information configured for the software pipeline deployment process, such as configuration item information, configured database information, configured script information, and configured resource information, and the like. The environment information can be an environment deployed for the software pipeline deployment process, such as environment variables, a deployment local area network environment, a deployment environment including multiple databases, and a deployment environment including multiple servers. The deployed environment can be used to execute the software pipeline deployment process. The code information can be software code information in the software pipeline deployment process, such as code information in software that needs to be released, or updated code information in software that needs to be released. The update information can be information updated in the software pipeline deployment process, such as configuration information or environment information that can be updated in the software pipeline deployment process, so that the information of the configuration information or the environment information that is updated can be determined as the update information. The description information of the target fault can be error information related to the target fault, such as a target fault of software deployment failure in the software pipeline deployment process. The description information of the target fault can include detailed information related to the software deployment failure.
[0057] The embodiment of the present application does not limit the fault cause type. Optionally, the fault cause type can be divided according to the information type of the fault cause itself. For example, for the case of a configuration error causing a fault, the fault cause type can be determined as a configuration information type; for the case of an environment failure causing a fault, the fault cause type can be determined as an environment information type. Therefore, optionally, the fault cause type can include at least one of the following: a configuration information type, an environment information type, and a code information type, and the like. Of course, the fault cause type can also be divided in other ways, such as being divided according to the link in the software pipeline deployment process to which the fault cause belongs, which can be divided into a development link type, a deployment link type, a test link type, and a release link type, and the like. The fault cause type can also be further subdivided, such as the configuration information type, the environment information type, and the code information type, and the like, which can be further subdivided into a configuration information failure type, a configuration information error type, an environment information failure type, an environment information missing type, a code information running error type, and a code information missing type, and the like.
[0058] Embodiments of the present application do not limit the fault cause positioning model. Alternatively, the fault cause positioning model can be used to predict the positioning information or location information of the fault cause, which can be specifically predicted according to the relevant information in the software pipeline deployment process, or can be combined with the fault cause type predicted by the fault cause analysis model to narrow down the positioning range of the fault cause. Embodiments of the present application do not limit the specific structure of the fault cause positioning model. Alternatively, the fault cause positioning model can be a neural network model or a deep learning model, which can predict the location or positioning information of the fault cause for the software pipeline deployment process.
[0059] In an alternative embodiment, different fault cause types can correspond to different fault cause positioning models, so that independent fault cause positioning models can be used to predict the positioning information of the fault cause for each fault cause type, improving the accuracy and efficiency of predicting the fault cause positioning information. It can be understood that different fault cause positioning models corresponding to different fault cause types can be independently trained using training samples corresponding to the fault cause type, in order to improve the training effect and prediction accuracy of the fault cause positioning model. Embodiments of the present application do not limit the training method for the fault cause positioning model, which can be specifically determined according to the sample features in the historical pipeline deployment process, and the determined positioning information of the fault cause is used as a sample label to construct a training sample and train the fault cause positioning model.
[0060] In a specific example, the fault cause type can include at least one of the following: configuration information type, environment information type, and code information type. Correspondingly, the fault cause positioning model corresponding to the configuration information type, the fault cause positioning model corresponding to the environment information type, and the fault cause positioning model corresponding to the code information type can be deployed. Through the three fault cause positioning models corresponding to different fault cause types, the efficiency, accuracy and precision of fault cause positioning can be improved.
[0061] It should be emphasized that it is precisely because the complete scheme of two-stage fault cause analysis is adopted to predict and analyze the fault cause type first, so that the independent and accurate processing method can be further selected based on the predicted fault cause type, that is, the fault cause positioning model corresponding to the target fault cause type and the second information associated with the target fault cause type are used to improve the precision and efficiency of further predicting and analyzing the fault cause positioning information for the target fault cause type, and reduce the amount of calculation required for predicting and analyzing the fault cause positioning information.
[0062] The embodiments of this application do not limit the second information. Optionally, the second information may include relevant information associated with the target fault cause type during the software pipeline deployment process, and may be the first information associated with the target fault cause type. Specifically, for example, the target fault cause type may be a configuration information type, thereby determining that the second information is information related to the configuration information type during the software pipeline deployment process, such as the change history of configuration parameters, the dependencies of configuration items, and the correlation between configuration and environment variables, etc. If the target fault cause type is a code information type, thereby determining that the second information is information related to the code information type during the software pipeline deployment process, such as code content, code update information, code execution error status, etc. If the target fault cause type is a testing phase type, thereby determining that the second information is information related to the testing phase type during the software pipeline deployment process, such as log information in the testing phase, test results in the testing phase, configuration information and environment information called in the testing phase, etc.
[0063] The embodiments of this application do not limit the fault cause location information. Optionally, the fault cause location information can be used to characterize the location of the fault cause during the software pipeline deployment process. For example, the fault cause location information can be used to characterize the location of the code segment that caused the fault, the location of the configuration information that caused the fault, or the location of the environmental information that caused the fault. By predicting the fault cause location information, the location of the fault cause can be determined, thereby facilitating accurate location of the fault cause for repair and improving the efficiency and accuracy of fault repair.
[0064] In one optional embodiment, the first information can include correlation features between configuration information and environmental information, and these correlation features can be used to predict the type of fault cause. It is understood that there can be dependencies between configuration information and environmental information, and dependencies can also exist between different configuration information pieces, as well as between different environmental information pieces. Specifically, for example, a configured item may depend on a deployed database, or a deployed environment variable may depend on a deployed server environment, and so on. Many faults may be caused by the failure or disconnection of the database on which a configuration item depends, or by the downtime of the server environment on which an environment variable depends.
[0065] Therefore, combining the correlation characteristics between configuration information and environmental information to predict the type of fault cause can improve the accuracy and comprehensiveness of fault cause type prediction.
[0066] The embodiments of this application do not limit the method for determining the association features between configuration information and environmental information. Optionally, the association features can be extracted directly based on the association or dependency relationship between configuration information and environmental information through a pre-trained model. Alternatively, the association features can be extracted by constructing a graph structure to represent the association relationship between configuration information and environmental information, combined with a graph neural network model, such as a graph convolution model.
[0067] Optionally, the first information may include: association features between configuration information and environmental information; the method for determining the association features includes: determining the association features between configuration information and environmental information based on a first graph structure; the first graph structure may include: nodes for representing configuration information, nodes for representing environmental information, and edges for representing the association relationships between the information represented by the connected nodes. This embodiment can represent configuration information and environmental information through a graph structure, and extract association features based on the graph structure, which can improve the accuracy of the extracted association features and improve the accuracy of fault cause analysis.
[0068] The embodiments of this application are not limited to the specific method of extracting associated features based on the first graph structure. Optionally, associated features can be extracted from the first graph structure using a pre-trained graph structure feature extraction model, or associated features can be extracted from the first graph structure using graph convolution.
[0069] The embodiments of this application do not limit the edges in the first graph structure. Optionally, there can be associations between configuration information, between environmental information, and between configuration information and environmental information. These associations may specifically include dependency relationships. Therefore, optionally, the edges in the first graph structure may include at least one of the following: edges representing associations between different configuration information, edges representing associations between different environmental information, and edges representing associations between configuration information and environmental information.
[0070] The embodiments of this application do not limit the construction method or timing of the first graph structure. Optionally, corresponding nodes and edges can be constructed based on configuration information, environment information, the relationships between configuration information, the relationships between environment information, and the relationships between configuration information and environment information, thereby constructing the first graph structure. Optionally, the first graph structure can be pre-constructed, and association features can be extracted based on the pre-constructed first graph structure; alternatively, the first graph structure can be constructed in real time, utilizing information from the current software pipeline deployment process, and association features can be extracted based on the real-time constructed first graph structure.
[0071] Therefore, optionally, the above method flow may further include: constructing a first graph structure based on the current configuration information and the current environment information for a target fault occurring during software pipeline deployment. This embodiment can construct a first graph structure based on the current configuration information and environment information for a target fault, which can improve the real-time performance of the first graph structure and facilitate improving the accuracy and real-time performance of the extracted associated features. Specifically, it can be that when a target fault is determined to have occurred during software pipeline deployment, a first graph structure is constructed based on the current configuration information and the current environment information.
[0072] The above embodiments explain how to determine the correlation features between configuration information and environmental information during the process of predicting the fault cause type based on the first information. It is understood that the correlation features between configuration information and environmental information can also be used for prediction during the process of predicting fault cause location information based on the second information.
[0073] Optionally, the second information may also include correlation features between configuration information and environmental information, specifically features related to the target fault cause type. For example, the target fault cause type could be a development phase type, thus determining that the second information includes correlation features between configuration information and environmental information within the development phase.
[0074] Accordingly, the association features in the second information can be determined based on the second graph structure. The explanation of the second graph structure can refer to the explanation of the first graph structure. The second graph structure can include: nodes representing configuration information, nodes representing environmental information, and edges representing the association relationships between the information represented by the connected nodes. Optionally, the second graph structure can be determined based on the configuration information associated with the target fault cause type and the environmental information associated with the target fault cause type.
[0075] In one alternative embodiment, considering that the software pipeline deployment process can handle multiple versions of the same software or application, the historical software pipeline deployment process of the same software can be combined to aid in fault cause analysis. It is understood that historical information can help identify high-frequency faults and their causes, thereby enabling the use of more information and dimensions for fault cause analysis.
[0076] Therefore, optionally, the software pipeline deployment process may include: a pipeline deployment process for the target software; the first information may include: historical fault cause types in the historical pipeline deployment process of the target software; the second information may include: historical fault cause location information in the historical pipeline deployment process of the target software. This embodiment can utilize information from the historical pipeline deployment process of the same target software for fault cause analysis of the current target fault, thereby improving the accuracy and comprehensiveness of fault cause analysis. Specifically, the historical pipeline deployment process of the target software may be the pipeline deployment process of historical versions of the target software.
[0077] Understandably, historical fault cause types can specifically refer to common or high-frequency fault cause types observed during the target software's historical pipeline deployment. Historical fault cause location information can specifically refer to common or high-frequency fault cause location information observed during the target software's historical pipeline deployment. Alternatively, other information from the target software's historical pipeline deployment can also be used to analyze the causes of current target faults. For example, historical first and second information from the target software's historical pipeline deployment can be used to easily analyze fault causes by examining the updates and changes in the first and second information.
[0078] Optionally, for the deployment of multiple software pipelines, fault cause analysis can also be performed based on information from the deployment processes of other software pipelines to target the current fault. Specifically, for example, the first information may include: other fault cause types in the deployment processes of other software pipelines; the second information may include: fault cause location information in the deployment processes of other software pipelines. It is understood that among multiple software deployments based on the same software pipeline, the fault conditions of other software also have certain reference value for the fault cause analysis of the target software's target fault. For example, if other software and the target software simultaneously experience the same fault, it may be due to the same fault cause.
[0079] In one optional embodiment, first information and second information can be determined by combining the target fault itself. Specifically, first information and second information associated with the target fault can be determined for corresponding model prediction. This can improve the accuracy of the first information and second information, reduce the amount of data for the first information and second information, and improve the efficiency and accuracy of fault cause analysis.
[0080] Therefore, optionally, predicting the target fault cause type based on the first information during the software pipeline deployment process can specifically include: predicting the target fault cause type based on the first information associated with the target fault during the software pipeline deployment process. Predicting the target fault cause location information based on the second information associated with the target fault cause type during the software pipeline deployment process can specifically include: predicting the target fault cause location information based on the second information associated with both the target fault and the target fault cause type during the software pipeline deployment process. This embodiment can perform fault cause analysis based on the first and second information associated with the target fault, which can improve the accuracy of the first and second information, reduce the amount of data in the first and second information, and improve the efficiency and accuracy of fault cause analysis.
[0081] In a specific example, the first information associated with the target fault may include, for example, deployment log information before and after the occurrence of the target fault, configuration and environment information involved in the target fault, code segments involved in the target fault, etc. The second information associated with the target fault and with the cause type of the target fault may include, for example, the cause type of the target fault could be a code information type, and the second information could include code segments involved in the target fault.
[0082] In one optional embodiment, when locating the cause of a fault, prediction can be made based on the fault cause location model corresponding to the target fault cause type, using second information associated with the target fault cause type. Furthermore, the scope of the prediction can be narrowed down by selecting information from the range corresponding to the target fault cause type, thereby reducing the computational load of the prediction and improving the efficiency, accuracy, and precision of fault cause prediction.
[0083] Optionally, the fault cause type may include at least one of the following: configuration information type, environment information type, and code information type; the target fault cause location information for predicting the target fault may include: (1) if the target fault cause type includes configuration information type, predicting the target fault cause location information in the configuration information; (2) if the target fault cause type includes environment information type, predicting the target fault cause location information in the environment information; (3) if the target fault cause type includes code information type, predicting the target fault cause location information in the code information. This embodiment can reduce the computational load of predicting and locating fault causes by narrowing the scope of fault cause prediction and locating from the information range corresponding to the target fault cause type, thereby improving the efficiency, accuracy, and precision of predicting and locating fault causes.
[0084] Of course, for fault cause types at different stages, the scope of prediction and localization can be narrowed. Optionally, fault cause types can include different stage types in the software pipeline deployment process, such as development stage types, testing stage types, integration stage types, etc. Accordingly, within the stage corresponding to the stage type, based on the fault cause localization model corresponding to the target fault cause type, the target fault cause localization information can be predicted and determined according to the second information. Performing fault cause localization analysis at the stage level can narrow the scope of fault cause localization analysis, reduce the computational load of fault cause localization analysis, and improve the efficiency, accuracy, and precision of fault cause localization.
[0085] In one alternative embodiment, once the location information of the target fault cause is determined, further processing can be carried out on the fault cause. Specifically, automated repair can be performed to improve the efficiency of fault repair, and relevant personnel can be prompted to perform repair.
[0086] Therefore, optionally, once the location information of the target fault is determined, a prompt message can be sent to the relevant business personnel to facilitate their repair.
[0087] The embodiments of this application do not limit the specific method of determining the relevant business personnel. Optionally, the corresponding responsible user can be determined by combining the predicted target fault cause location information. For example, if the predicted target fault cause location information is a certain code segment, the responsible user or the user who submitted that code segment can be identified as the relevant business personnel, and a prompt message can be sent.
[0088] It is understandable that information during the software pipeline deployment process can be pre-set with corresponding responsible users. This allows for the identification of the responsible user based on the location of the fault when the cause of the target failure is predicted and determined. Specifically, responsible users can be assigned to each stage of the software pipeline deployment process, or the user who modifies information during the software pipeline deployment process can be designated as the responsible user.
[0089] Optionally, the above method may further include: determining the responsible user corresponding to the stage to which the target fault cause location information belongs, based on the correspondence between different stages and responsible users in the software pipeline deployment process. This embodiment can improve the comprehensiveness of fault cause analysis by automatically determining the responsible user for the fault cause, facilitate prompting the responsible user to handle the cause of the target fault, improve the efficiency and accuracy of fault repair, and enhance the user experience.
[0090] In one optional embodiment, once the location information of the cause of the fault is determined, corresponding repair suggestions can be generated so that relevant business personnel can quickly understand the cause of the fault and improve the efficiency and accuracy of fault repair.
[0091] The embodiments of this application do not limit the specific method of generating repair suggestions. Optionally, repair suggestions can be generated by combining previously predicted target fault cause types and / or target fault cause location information. Specifically, for example, if it is determined that the target fault cause type is an environment information type and the target fault cause location information is a server environment information, then a repair suggestion to restart the server can be generated by combining historical repair instances.
[0092] Optionally, the above method may further include: generating repair suggestions for the target fault based on the target fault cause type and target fault cause location information. This embodiment can improve the comprehensiveness of fault analysis, the efficiency of fault repair, and the user experience by automatically generating repair suggestions.
[0093] The embodiments of this application do not limit the information on which the repair suggestions are generated. Optionally, the information can be combined with the content or description of the target fault cause itself. For example, the target fault cause itself is a code segment, and the content of that code segment can be analyzed to generate repair suggestions; the target fault cause can be configuration information, and repair suggestions can be generated based on whether the configuration information is effective or whether an error has occurred. In addition, historical information can also be combined, such as repair instances of historical faults, historical repair suggestions, etc.; the description information of the target fault itself can also be combined, and repair suggestions for the fault cause of the target fault can be generated by combining the information that caused the target fault.
[0094] Therefore, optionally, repair suggestions for the target fault can be generated based on preset information. The preset information may include at least one of the following: target fault cause type, target fault cause location information, target fault cause content, target fault cause description information, target fault description information, historical fault information, and historical repair information, etc.
[0095] The embodiments of this application do not limit the specific method of generating repair suggestions. Optionally, repair suggestions can be generated based on the aforementioned preset basis information using a large language model, or repair suggestions that match the aforementioned preset basis information can be determined through information matching.
[0096] Understandably, in one alternative embodiment, if the responsible user corresponding to the target fault location information is determined, the generated repair suggestions for the target fault can be provided to the determined responsible user, thereby improving the efficiency and accuracy of fault repair.
[0097] For ease of understanding, this application also provides an application embodiment.
[0098] Streamlined deployment of software is an automated continuous software delivery process that breaks down the process from code submission to final deployment and release into a series of automated stages or steps. This can improve the efficiency and accuracy of software delivery and reduce human intervention.
[0099] In current pipelined deployments, applications are typically deployed in a pipelined manner, and various faults or problems often occur during the deployment process, such as deployment failures, performance degradation, and insufficient resources due to device failures. To resolve these faults or problems, it is necessary to analyze their causes and take appropriate measures based on the analysis results.
[0100] For example, it can be confirmed whether the error is affected by the pipeline system environment; it is necessary to manually collect and query the deployment log information to confirm the cause and scope of the deployment error; based on the determined cause, corresponding measures should be taken to resolve the deployment problem and update the environment normally, such as: modifying the corresponding pipeline configuration information, fixing the program that caused the error, resolving the resource shortage problem in the corresponding environment, etc.; after resolving the corresponding error, the corresponding pipeline needs to be re-executed and successfully executed before the test environment can be updated normally, and testers can then carry out testing normally; at the same time, compared with the operation and maintenance personnel, the problems that occur and their resolution process need to be manually recorded and analyzed.
[0101] There are some problems with this manual analysis method: (1) Deployment problem resolution takes a long time: Manually querying and analyzing logs requires a lot of time to analyze and diagnose problems, which leads to version updates not being possible and affects the testing progress; (2) High dependence on experience: The way to judge the cause of pipeline problems depends on the experience and skill level of technical personnel. If the operation and maintenance personnel lack experience or make incorrect judgments, it will lead to delays in resolving pipeline problems and unavailability of the test environment; (3) Inability to cover all deployment problems: Since there are many pipeline deployment problems, it is difficult for newly appointed operation and maintenance personnel to cover all situations. Some problems may require other technical means to solve; (4) Requires continuous updates and maintenance: Pipeline configurations are constantly updated and upgraded, requiring operation and maintenance personnel to continuously update and maintain them to adapt to the new technical environment.
[0102] Therefore, this embodiment proposes a method for analyzing the causes of pipeline deployment problems based on cloud computing, in order to improve the reliability and stability of pipeline deployment. Specifically, deployment problems can be deployment failures, that is, problems or failures that occur during the software pipeline deployment process.
[0103] Based on the aforementioned technical problems to be solved, this embodiment proposes a cloud computing-based pipeline deployment problem analysis method to improve the reliability and stability of pipeline deployment. The steps of this method are as follows.
[0104] Step 1: Data Acquisition Module: This module collects relevant data during large-scale deployments, including component configuration information from daily pipelines, deployment results (both successful and failed), test tool output logs, log files, and environment variables (dynamic variables and database configurations). During pipeline operation, it collects multi-source data in real-time, including configuration information, environment variables, resource usage, and deployment logs. It integrates historical deployment data, including both successful and failed cases, to build a comprehensive historical dataset. It extracts features related to deployment failures, such as configuration parameter changes, resource usage trends, and log keywords.
[0105] Step 2: Data Preprocessing Module: This module preprocesses the data collected during pipeline deployment, including data cleaning, missing value handling, and formatting, for subsequent analysis. After the acquisition module completes its collection, it transmits the collected pipeline deployment log information to the preprocessing module. The specific steps the preprocessing module takes to process the pipeline deployment data collected by the acquisition module include the following: cleaning the raw data to remove abnormal or erroneous data, such as missed, duplicate, or inconsistent data, and transmitting the preprocessing results back to the acquisition module in real time. The acquisition module will then re-acquire data based on the results. The preprocessing module will detect whether there is missing data in the acquisition module, and detect and handle missing values, including using interpolation to fill missing values and deleting records with many missing values. In the event of missing data, the preprocessing module will issue a missing data instruction to the acquisition module, which will then search for or re-acquire data based on the location of the missing data. Finally, the preprocessing module will transform or standardize the data as needed to ensure comparability and consistency.
[0106] Common problems are categorized and their causes are built into a knowledge base, such as configuration errors, environmental issues, and code errors. Solutions are compiled, and standard solutions are developed for each type of fault, including step-by-step instructions, scripts, and tools. The knowledge base is dynamically updated in real time and regularly updated to include new fault cases and solutions.
[0107] Step 3: Problem Cause Analysis Module: The core three steps of the problem cause analysis module can be summarized as follows: (1) Extracting correlation features from the graph structure of configuration information and environmental information; (2) Based on the correlation features and other features, using common methods such as logistic regression, decision trees, support vector machines, and deep neural networks to perform cause analysis and predict the cause of the problem; (3) Determining the corresponding localization sub-model based on the type of problem cause (for example, for configuration information or environmental information, a sub-model for locating the cause of the problem), determining the location of the cause of the problem, and facilitating prompting the relevant personnel to perform repairs. The specific details of these three steps are as follows.
[0108] (1) Extract the associated features from the graph structure of configuration information and environment information.
[0109] For example, specific feature engineering methods can be designed to address the relationship between "environmental and configuration information" and "causes of failures." These include: association analysis of environmental variables and configuration information: extracting combined features from environmental variables and configuration information for model training; log keyword extraction: extracting keywords from logs using natural language processing techniques and mapping them to failure types. Model structure improvements can utilize graph embedding techniques: modeling environmental and configuration information as a graph structure, extracting features using graph embedding techniques, and combining this with multimodal learning: combining log text, configuration information, and environmental data, employing multimodal learning methods to enhance the model's predictive ability.
[0110] Determine the nodes and edges. Nodes: Represent specific environment components or configuration items, such as servers, databases, configuration parameters, etc.; Edges: Represent the relationships between them, such as "connected to" or "dependent on".
[0111] The data information obtained from the data acquisition and data preprocessing modules serves as node characteristics. For example, environmental information includes servers, network devices, databases, etc., and may involve log analysis, system monitoring data, etc. Configuration information includes various parameter settings, dependencies, etc., which may come from configuration management tools.
[0112] Choose a suitable graph embedding technique, one that is suitable for large-scale data and supports inductive learning: Input: Graph structure and node features. Process: Generate node embedding vectors by aggregating information from neighboring nodes. Output: A low-dimensional vector representation of each node.
[0113] For capturing local structural information, suitable for smaller datasets, a graph convolutional network is used: Input: Graph structure and node features. Process: Extract features of nodes and their local neighborhoods through convolution operations. Output: Low-dimensional vector representation of each node.
[0114] Data transformation: Converting environmental and configuration data into a graph structure to ensure data integrity and accuracy. Feature representation: Designing appropriate feature representations for nodes and edges, such as server performance metrics and configuration parameter values.
[0115] Feature extraction and application: Node vectors generated by graph embedding technology are used as features to identify and predict deployment problems, improving the model's predictive power and accuracy. Simultaneously, hyperparameters of the graph embedding model, such as the number of layers and embedding dimension, are adjusted experimentally, and comparative experiments are conducted to verify the effectiveness of graph embedding technology in improving model performance.
[0116] By modeling environmental and configuration information as graph structures and utilizing graph embedding, the complex relationships between them can be effectively captured, useful features can be extracted, and the predictive power and accuracy of the model can be improved.
[0117] (2) Based on the correlation features and other features, predict the causes of the problem using a pre-trained model. The predicted causes of the problem can be in the form of the type of the problem cause or the information about the problem cause (which may include the type of the problem cause).
[0118] First, a model is built based on the characteristics of the pipeline deployment log data and the prediction task. The built model is then trained and evaluated. Before building the model using the model building module, feature selection is performed. Features influential on the target prediction are chosen from the preprocessed pipeline deployment data. Feature selection algorithms and correlation analysis can be used to determine relevant features. The dataset consisting of pipeline deployment data is then divided into training and test sets for model training and evaluation. Cross-validation is typically used to ensure the model has sufficient generalization ability. Second, appropriate machine learning algorithms and model architectures are selected. Models are built based on the data characteristics and prediction task requirements, such as logistic regression, decision trees, support vector machines, and deep neural networks. The built model is then trained using the training set. During training, model parameters are adjusted and algorithms are optimized to improve model performance and predictive ability. Finally, the trained model is evaluated using the test set. Evaluation metrics such as accuracy, precision, and recall are calculated to assess model performance, thus completing the model building and training process. After the model is built and trained, it is used in the cause analysis of daily pipeline version building to analyze and judge the possible causes of pipeline deployment problems, and determine whether the problem is caused by the program, the environment, or the pipeline configuration. It can generate data visualization results based on the daily version pipeline deployment information.
[0119] The inputs to the above-mentioned model include large-scale deployment process data collected by the data acquisition module, such as: component configuration information of the daily pipeline (whether the component configuration is incorrect, whether the configuration information has changed compared to the previous build version), deployment result information, test tool output logs, log files, environment variables (dynamic variables and database configuration), etc. During pipeline operation, it also includes real-time collection of configuration information, environment variables, resource usage, extraction of keywords from deployment logs, environment dependency information, and other multi-source data. The model output is the problem cause type determined by the model analysis, such as pipeline build failure caused by incorrect component configuration information, dependent environment problems, or code errors.
[0120] (3) Based on the type of problem cause, determine the corresponding sub-model for the location (e.g., for configuration information or environmental information, determine the sub-model for the location of the problem cause) to facilitate prompting the relevant personnel to fix it.
[0121] Different localization methods are employed to address different types of problem causes. When the problem is initially identified as a configuration error, the system extracts configuration-related features, including the history of configuration parameter changes, dependencies of configuration items, and the correlation between configuration and environment variables. By constructing feature vectors based on graph embedding technology and combining them with historical configuration error cases, a classifier (such as random forest, support vector machine, or deep learning model) is used to predict high-risk configuration items. Simultaneously, the system analyzes the correlation features between configuration information and environmental information (such as the environmental state and resource allocation of configuration dependencies) to further narrow down the problem scope and pinpoint the specific location of the configuration error. If the problem is determined to be an environmental issue, the system extracts environment-related features, including resource usage (such as memory and disk usage), changes in environmental state (such as dynamic adjustments of environment variables), and dependencies of environmental components. High-risk environmental components or abnormal environmental states are identified through cluster analysis or anomaly detection algorithms. Based on historical environmental issue cases, the system will pinpoint the specific source of the environmental problem (such as insufficient resources, environment configuration conflicts, etc.). When the cause of the problem is determined to be a code error, the system will extract code-related features, including error keywords in deployment logs, code change history, and code review results. Key error information in the logs will be extracted using natural language processing technology, and combined with code structure analysis (such as function call chains, exception throwing points, etc.), a deep learning model will be used to predict high-risk code segments or exception locations. Simultaneously, the system will combine the results of code review tools (such as static code analyzers) to further verify the cause of the problem. After locating the cause, the system will automatically match the corresponding maintenance personnel (such as configuration administrators, environment maintenance personnel, developers, etc.) according to the problem type and responsibility attribution, and send problem details and remediation suggestions through the alert triggering module. At the same time, the system will record the cause of the problem and the resolution process, update the knowledge base, and provide a reference for similar problems in the future.
[0122] Furthermore, considering the characteristics of continuous pipeline builds, if it's a continuous build pipeline for the same application with multiple deployments and version updates, it can support the aforementioned predictions by combining features such as historical deployment information, historical issues, and the causes of historical issues. In addition, when locating the root cause of an issue, the feature of "error-prone stages" can be introduced. Based on experience summaries or historical statistics, the error rate of each stage (e.g., development, deployment environment, configuration, testing, etc.) can be determined as one of the features for locating the root cause of the problem. If multiple different applications are involved, a multi-issue comprehensive analysis mechanism can be added to the model to more accurately identify the root cause. It can comprehensively analyze and determine the root cause of the problem based on the deployment issues of multiple applications within the same event segment, allowing for faster analysis and judgment of common causes leading to build failures.
[0123] Step 4: Automatic Prompt Trigger Module: Based on the visualization results generated from the problem cause analysis, when pipeline deployment issues occur, timely prompts can be issued. The module automatically cleans, merges, and analyzes the prompt information. The prompt analysis module can build corresponding graphs based on the prompt information, analyze the relationships between points within the graph to pinpoint the problem, and automatically send the information to relevant developers or operations personnel based on the severity of the fault and the responsibilities of the relevant personnel. This builds a knowledge base for problem cause solutions, enabling intelligent and automated recommendations of repair steps based on fault type. During graph analysis, efficient analysis processes are integrated into the analysis of pipeline deployment problem causes through graph fusion, improving the timeliness of prompts and effectively helping operations personnel quickly identify the causes of deployment problems. For example, if there are configuration errors, relevant configuration information can be modified promptly to handle daily pipeline deployment errors, reducing abnormal situations in the test environment. It also helps developers take timely measures when they receive information about program errors causing pipeline deployment failures, allowing for immediate program modification and restoration of the pipeline version update after a deployment failure. Automated repair functions can be implemented for some common problems (such as configuration errors and insufficient resources). Utilizing automation tools for integration and configuration management, configuration parameters are automatically adjusted. Automated scripts are written to handle common configuration errors and resource release issues. In case of deployment failure, automatic rollback to a stable version ensures system availability. Automated process fault detection uses monitoring tools to detect faults in real time. Based on the fault type, corresponding automated repair processes are triggered. After repair, success is verified and results are recorded. For faults that cannot be resolved automatically, a manual intervention process is automatically triggered. Faults are categorized and pushed to relevant personnel based on their impact and severity, prioritizing high-priority faults.
[0124] The innovations of this embodiment are as follows: (1) Data collection and preprocessing of large-scale pipeline configuration information, pipeline deployment logs, environmental variable configuration information, etc., provide data support for the analysis of the causes of problems. (2) Improve efficiency and reliability: Through automated prediction and repair, reduce manual intervention, speed up fault handling, reduce human error, and improve the stability and reliability of the pipeline. (3) Optimize resources and enhance collaboration: Reasonably allocate resources to reduce resource waste caused by faults, and improve team collaboration efficiency through automatic push and task allocation. (4) Based on the characteristics of pipeline deployment log information data and prediction tasks, build a model, and train and evaluate the built model to identify and promptly analyze the causes of some common abnormal situations (such as incorrect pipeline configuration information, program errors, environmental problems, etc.). It analyzes and judges the possible causes of pipeline deployment problems, and determines whether the problem is caused by the program, the environment, or the pipeline configuration. Compared with manually querying deployment logs, it can quickly process a large amount of deployment log data, reduce tedious manual operations and time consumption, and improve processing efficiency and speed. It can generate pipeline deployment cause analysis data visualization results based on daily version pipeline deployment information.
[0125] Based on the above method embodiments, this application also provides a fault handling apparatus. The following will be combined with... Figure 3 The device is described in detail.
[0126] Figure 3 The diagram illustrates a structural block diagram of a fault handling apparatus according to an embodiment of this application.
[0127] like Figure 3 As shown, the fault handling device 300 provided in this embodiment includes a type module 310 and a positioning module 320.
[0128] The type module 310 is used to predict the target fault cause type of a target fault that occurs during the software pipeline deployment process, based on a pre-trained fault cause analysis model and the first information during the software pipeline deployment process. In one embodiment, the type module 310 can be used to perform the operation S210 described above and related operations, which will not be repeated here.
[0129] The positioning module 320 is used to predict the target fault cause location information based on the fault cause location model corresponding to the target fault cause type and according to the second information associated with the target fault cause type during the software pipeline deployment process; different fault cause types correspond to different fault cause location models. In one embodiment, the positioning module 320 can be used to perform the operation S220 described above and related operations, which will not be repeated here.
[0130] Optionally, the first information includes: the association features between configuration information and environmental information; the method for determining the association features includes: determining the association features between configuration information and environmental information based on the first graph structure; the first graph structure includes: nodes for representing configuration information, nodes for representing environmental information, and edges for representing the association relationship between the information represented by the connected nodes.
[0131] Optionally, the above apparatus further includes a construction module for: constructing a first graph structure based on current configuration information and current environment information for a target fault that occurs during the software pipeline deployment process.
[0132] Optionally, the software pipeline deployment process includes: a pipeline deployment process for the target software; the first information includes: historical fault cause types in the historical pipeline deployment process of the target software; and the second information includes: historical fault cause location information in the historical pipeline deployment process of the target software.
[0133] Optionally, the type module 310 is used to: predict the target fault cause type of the target fault based on the first information associated with the target fault during the software pipeline deployment process; the location module 320 is used to: predict the target fault cause location information of the target fault based on the second information associated with the target fault and the target fault cause type during the software pipeline deployment process.
[0134] Optionally, the first information includes at least one of the following: configuration information, environment information, deployment log information, code information, correlation characteristics between configuration information and environment information, update information, and description information of the target fault.
[0135] Optionally, the fault cause type includes at least one of the following: configuration information type, environment information type, and code information type; the location module 320 is used to: predict the target fault cause location information of the target fault in the configuration information when the target fault cause type includes the configuration information type; predict the target fault cause location information of the target fault in the environment information when the target fault cause type includes the environment information type; and predict the target fault cause location information of the target fault in the code information when the target fault cause type includes the code information type.
[0136] Optionally, the positioning module 320 is also used to: determine the responsible user corresponding to the link to which the target fault location information belongs, based on the correspondence between different links and responsible users in the software pipeline deployment process.
[0137] Optionally, the above-mentioned device may further include a suggestion module for generating repair suggestions for the target fault based on the target fault cause type and the target fault cause location information.
[0138] According to embodiments of this application, any plurality of modules among type module 310, positioning module 320, construction module, and suggestion module can be merged into one module, or any one of these modules can be split into multiple modules. Alternatively, at least part of the functionality of one or more of these modules can be combined with at least part of the functionality of other modules and implemented in one module. According to embodiments of this application, at least one of type module 310, positioning module 320, construction module, and suggestion module can be at least partially implemented as hardware circuitry, such as field-programmable gate array (FPGA), programmable logic array (PLA), system-on-a-chip, system-on-a-substrate, system-on-package, application-specific integrated circuit (ASIC), or implemented by any other reasonable means of integrating or packaging circuitry, or implemented in software, hardware, or firmware, or in any appropriate combination of any of these three implementation methods. Alternatively, at least one of type module 310, positioning module 320, construction module, and suggestion module can be at least partially implemented as a computer program module, which, when run, can perform corresponding functions.
[0139] For an explanation of this device embodiment, please refer to the above method embodiment. Any operation in the above method embodiment can be executed by the corresponding module in this device embodiment.
[0140] Figure 4 A block diagram schematically illustrates an electronic device suitable for implementing a fault handling method according to an embodiment of this application.
[0141] like Figure 4 As shown, an electronic device 900 according to an embodiment of this application includes a processor 901, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 902 or a program loaded from a storage portion 908 into a random access memory (RAM) 903. The processor 901 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or an associated chipset and / or a special-purpose microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 901 may also include onboard memory for caching purposes. The processor 901 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of this application.
[0142] RAM 903 stores various programs and data required for the operation of electronic device 900. Processor 901, ROM 902, and RAM 903 are interconnected via bus 904. Processor 901 executes various operations of the method flow according to embodiments of this application by executing programs in ROM 902 and / or RAM 903. It should be noted that the programs may also be stored in one or more memories other than ROM 902 and RAM 903. Processor 901 may also execute various operations of the method flow according to embodiments of this application by executing programs stored in said one or more memories.
[0143] According to embodiments of this application, the electronic device 900 may further include an input / output (I / O) interface 905, which is also connected to a bus 904. The electronic device 900 may also include one or more of the following components connected to the input / output (I / O) interface 905: an input section 906 including a keyboard, mouse, etc.; an output section 907 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 908 including a hard disk, etc.; and a communication section 909 including a network interface card such as a LAN card, modem, etc. The communication section 909 performs communication processing via a network such as the Internet. A drive 910 is also connected to the input / output (I / O) interface 905 as needed. A removable medium 911, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on the drive 910 as needed so that computer programs read from it can be installed into the storage section 908 as needed.
[0144] This application also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or it may exist independently and not assembled into the device / apparatus / system. The computer-readable storage medium carries one or more programs, which, when executed, implement the method according to the embodiments of this application.
[0145] According to embodiments of this application, the computer-readable storage medium can be a non-volatile computer-readable storage medium, such as including but not limited to: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this application, the computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. For example, according to embodiments of this application, the computer-readable storage medium may include ROM 902 and / or RAM 903 and / or one or more memories other than ROM 902 and RAM 903 described above.
[0146] Embodiments of this application also include a computer program product comprising a computer program containing program code for performing the methods shown in the flowchart. When the computer program product is run on a computer system, the program code is used to cause the computer system to implement any of the method embodiments provided in the embodiments of this application.
[0147] When the computer program is executed by the processor 901, it performs the functions defined in the system / apparatus of this application embodiment. According to the embodiments of this application, the systems, apparatuses, modules, units, etc., described above can be implemented by computer program modules.
[0148] In one embodiment, the computer program may rely on a tangible storage medium such as an optical storage device or a magnetic storage device. In another embodiment, the computer program may also be transmitted and distributed in the form of signals over a network medium, and downloaded and installed via the communication section 909, and / or installed from a removable medium 911. The program code contained in the computer program can be transmitted using any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination thereof.
[0149] In such an embodiment, the computer program can be downloaded and installed from a network via the communication section 909, and / or installed from the removable medium 911. When the computer program is executed by the processor 901, it performs the functions defined in the system of this application embodiment. According to the embodiments of this application, the systems, devices, apparatuses, modules, units, etc., described above can be implemented by computer program modules.
[0150] According to embodiments of this application, program code for executing the computer programs provided in the embodiments of this application can be written in any combination of one or more programming languages. Specifically, these computational programs can be implemented using high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages include, but are not limited to, languages such as Java, C++, Python, "C", or similar programming languages. The program code can be executed entirely on the user's computing device, partially on the user's device, partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0151] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, 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 indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated 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 or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0152] Those skilled in the art will understand that the features described in the various embodiments of this application can be combined and / or combined in various ways, even if such combinations or combinations are not explicitly described in this application. In particular, the features described in the various embodiments of this application can be combined and / or combined in various ways without departing from the spirit and teachings of this application. All such combinations and / or combinations fall within the scope of this application.
Claims
1. A fault handling method, characterized in that, The method includes: For a target fault that occurs during the software pipeline deployment process, based on a pre-trained fault cause analysis model and according to the first information in the software pipeline deployment process, the target fault cause type is predicted. Based on the fault cause localization model corresponding to the target fault cause type, and according to the second information associated with the target fault cause type during the software pipeline deployment process, the target fault cause localization information is predicted; different fault cause types correspond to different fault cause localization models.
2. The method according to claim 1, characterized in that, The first information includes: the correlation characteristics between configuration information and environmental information; The method for determining the associated features includes: determining the associated features between configuration information and environmental information based on the first graph structure; The first graph structure includes: nodes for representing configuration information, nodes for representing environmental information, and edges for representing the relationships between the information represented by the connected nodes.
3. The method according to claim 2, characterized in that, The method further includes: To address the target faults that occur during the software pipeline deployment process, a first graph structure is constructed based on the current configuration information and the current environment information.
4. The method according to claim 1, characterized in that, The software pipeline deployment process includes: a pipeline deployment process for the target software; The first information includes: the types of historical fault causes during the historical pipeline deployment process of the target software; The second information includes: historical fault location information during the historical pipeline deployment process of the target software.
5. The method according to claim 1, characterized in that, The step of predicting the target fault cause type of the target fault based on the first information during the software pipeline deployment process includes: predicting the target fault cause type of the target fault based on the first information associated with the target fault during the software pipeline deployment process; The step of predicting the target fault cause location information of the target fault based on the second information associated with the target fault cause type during the software pipeline deployment process includes: predicting the target fault cause location information of the target fault based on the second information associated with the target fault and the target fault cause type during the software pipeline deployment process.
6. The method according to claim 1 or 5, characterized in that, The first information includes at least one of the following: configuration information, environment information, deployment log information, code information, correlation characteristics between configuration information and environment information, update information, and description information of the target fault.
7. The method according to claim 1, characterized in that, The fault cause type includes at least one of the following: configuration information type, environment information type, and code information type; The target fault cause localization information for predicting the target fault includes: When the target fault cause type includes a configuration information type, the target fault cause location information is predicted in the configuration information. When the target fault cause type includes an environmental information type, predict the target fault cause location information of the target fault from the environmental information; When the target fault cause type includes a code information type, the target fault cause location information is predicted from the code information.
8. The method according to claim 1, characterized in that, The method further includes: Based on the correspondence between different stages and responsible users in the software pipeline deployment process, the responsible user corresponding to the stage to which the target fault cause location information belongs is determined.
9. The method according to claim 1, characterized in that, The method further includes: Based on the target fault cause type and the target fault cause location information, a repair suggestion is generated for the target fault.
10. A fault handling device, characterized in that, The device includes: The type module is used to predict the target fault cause type of the target fault based on a pre-trained fault cause analysis model and the first information in the software pipeline deployment process for the target fault that occurs during the deployment process. The localization module is used to predict the target fault cause localization information of the target fault based on the fault cause localization model corresponding to the target fault cause type and according to the second information associated with the target fault cause type during the software pipeline deployment process; different fault cause types correspond to different fault cause localization models.
11. An electronic device, comprising: One or more processors; Memory, used to store one or more computer programs. The characteristic feature is that the one or more processors execute the one or more computer programs to implement the steps of the method according to any one of claims 1 to 9.
12. A computer-readable storage medium having a computer program or instructions stored thereon, characterized in that, When the computer program or instructions are executed by a processor, they implement the steps of the method according to any one of claims 1 to 9.
13. A computer program product, comprising a computer program or instructions, characterized in that, When the computer program or instructions are executed by a processor, they implement the steps of the method according to any one of claims 1 to 9.