Software fault identification self-healing method and related device

CN115185735BActive Publication Date: 2026-09-04CHINA PING AN PROPERTY INSURANCE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210933311.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-04
Publication Date
2026-09-04
Estimated Expiration
2042-08-04

AI Technical Summary

Technical Problem

[0003]现有自愈系统,具备以下缺点,无法更加快速精准的定位故障,并做出最快的反应,快速恢复;对故障结果,采用无原因分析的方式,使得分析涵盖面较为广泛,不够智能化和自动化

Benefits of technology

[0060]本申请通过实时获取日志最新记录语句,输入到融合模型;基于融合模型,判断待测系统是否发生了已知软件故障;若发生,确定和获取故障自愈处理方式,对待测系统进行自愈处理;自愈处理后,进行验证;判断待测系统是否自愈完成;直到验证成功,获取自愈时对应修改的代码语段作为系统补丁输出保存。本申请采用融合模型对软件故障进行识别和自愈,同时在识别和自愈过程中,采用半自动学习方式,逐步完善融合模型,以便于渐进式的进行模型完善和减少软件故障识别和自愈过程中的人工工作量,且更加智能化和自动化,故障识别和自愈方式选择更加精准快速。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115185735B_ABST
    Figure CN115185735B_ABST
Patent Text Reader

Abstract

The embodiment of the application belongs to the field of artificial intelligence, is applied to the field of intelligent self-recovery of software faults, and relates to a software fault identification and self-recovery method, which comprises the following steps: acquiring log latest record statements in real time and inputting the log latest record statements into a fusion model; judging whether a known software fault occurs in a system under test based on the fusion model; if the known software fault occurs, determining and acquiring a fault self-recovery processing mode, and performing self-recovery processing on the system under test; after the self-recovery processing, performing verification; judging whether the self-recovery of the system under test is completed; and until the verification is successful, acquiring a modified code segment corresponding to the self-recovery as a system patch output and saving the system patch output. The application adopts the fusion model to identify and self-recover software faults, and adopts a semi-automatic learning mode in the identification and self-recovery process, so that the fusion model is gradually improved, the model improvement is progressively performed, the artificial workload in the software fault identification and self-recovery process is reduced, the software fault identification and self-recovery process is more intelligent and automatic, and the fault identification and self-recovery mode selection is more accurate and rapid.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of artificial intelligence technology, and in particular to a software fault identification and self-healing method and related equipment. Background Technology

[0002] Traditional self-healing systems are based on manual input, which involves entering known application fault handling procedures and then converting manual operations into mechanical operations. Based on processes such as wikis, the system directly restores the application's use without cause analysis or makes simple judgments based on the fault results. If the application restores and reports an error, it will repeatedly retry until the maximum number of retry attempts is reached, at which point an alarm will be triggered to notify manual handling.

[0003] Existing self-healing systems have the following drawbacks: they cannot quickly and accurately locate faults and respond and recover rapidly; and they use causeless analysis for fault results, resulting in a broad analysis scope but lacking intelligence and automation. Therefore, this application proposes a software fault identification and self-healing method that uses artificial intelligence and semi-automatic learning to replace traditional self-healing systems for software fault identification and self-healing. Summary of the Invention

[0004] The purpose of this application is to propose a software fault identification and self-healing method and related equipment, which uses artificial intelligence and semi-automatic learning to identify and heal software faults, reduce the amount of manual work in the software fault identification and self-healing process, and make it more intelligent and automated, with more accurate and faster fault identification and self-healing method selection.

[0005] To address the aforementioned technical problems, this application provides a software fault identification and self-healing method, employing the following technical solution:

[0006] A software fault identification and self-healing method includes the following steps:

[0007] The log records output by the system under test are monitored in real time, and the latest recorded statement in the log records is obtained as an input field and input into the fusion model.

[0008] Based on the recognition layer and preset error reporting fields of the fusion model, character sequence recognition is performed on the input field, and based on the recognition results, it is determined whether the system under test has experienced a known software fault.

[0009] If a known software fault occurs, based on the fusion model, the fault self-healing processing method corresponding to the input field is determined and obtained, and the system under test is self-healed based on the fault self-healing processing method.

[0010] The self-healing system under test is connected to the verification layer of the fusion model to obtain the verification results;

[0011] Based on the verification results, it is determined whether the system under test has completed self-healing.

[0012] If the self-healing is not completed, repeat the fault self-healing and verification process for the system under test until the system under test is self-healed. Then, obtain the code segment corresponding to the self-healing and save it as a system patch output.

[0013] Furthermore, before the step of real-time monitoring of the log records output by the system under test and obtaining the latest recorded statement from the log records as an input field to the fusion model, the method further includes:

[0014] Construct N fault self-healing models with the same structure, where N is a positive integer;

[0015] Select one of the fault self-healing models as the model to be fused, and fuse it with other fault self-healing models to generate a fused model.

[0016] Furthermore, prior to the step of constructing N fault self-healing models with identical structures, the method further includes:

[0017] Obtain the original log record document of the system under test;

[0018] Based on the log record document, several hierarchical tree diagrams are generated, wherein the number of hierarchical tree diagrams is the same as the number of different error fields. Each hierarchical tree diagram takes the error field as the root node, the error type corresponding to the error field as the upper-level node of the error field, and the processing method corresponding to the error type as the upper-level node of the error type. Each error field corresponds to at least one error type, and each error type corresponds to at least one processing method.

[0019] Based on the hierarchical tree diagram and the log record document, determine the probability of selecting the corresponding different processing methods for each error field;

[0020] Based on the aforementioned probability, different priorities are set for the different processing methods corresponding to each error field.

[0021] Furthermore, the step of constructing N fault self-healing models with identical structures specifically includes:

[0022] Using the different error fields as units, construct fault self-healing models with the same number of them, and assign a distinguishing number to each fault self-healing model;

[0023] Obtain the hierarchical tree diagram corresponding to the current error field, and determine the different processing methods and priorities corresponding to the current error field.

[0024] Set the current error field to the preset error field of its corresponding fault self-healing model;

[0025] The different processing methods are set as the self-healing processing methods that the fault self-healing model corresponding to the current error field can select to execute in the processing layer;

[0026] The distinction priority is set as the priority for the fault self-healing model corresponding to the current error field to select different processing methods in the identification layer.

[0027] Furthermore, the step of selecting one of the fault self-healing models as the model to be fused, and fusing it with other fault self-healing models to generate a fused model specifically includes:

[0028] Set the preset error field corresponding to the model to be fused and the selectable self-healing processing method as the first input node value and processing node value of the fused model, respectively.

[0029] When fusing other fault self-healing models with the model to be fused, the preset error fields corresponding to the other fault self-healing models and the selectable self-healing processing methods are respectively set as other input node values ​​and processing node values ​​of the fused model. When setting the input node values ​​and processing node values, the difference number corresponding to the fault self-healing model is used as the node number of its corresponding input node value and processing node value.

[0030] The fusion model is obtained after setting the input node values ​​and processing node values ​​that correspond one-to-one with all fault self-healing models in the model to be fused.

[0031] Furthermore, the step of performing character sequence recognition on the input field based on the recognition layer of the fusion model and the preset error reporting field, and determining whether the system under test has experienced a known software fault based on the recognition result, specifically includes:

[0032] Obtain the value of each input node corresponding to the fusion model;

[0033] Based on natural language recognition technology, determine whether the character sequence corresponding to the input field contains the character sequence corresponding to any of the input node values;

[0034] If it is included, then the system under test has experienced a known software fault;

[0035] If not included, and the program of the system under test is running normally, then the system under test has not experienced a software failure;

[0036] If it is not included, but the program of the system under test cannot run normally, then the system under test has experienced an unknown software fault.

[0037] Furthermore, after the step of stating that if the system under test is not included, but the program of the system under test cannot run normally, then the system under test has experienced an unknown software fault, the method further includes:

[0038] The statement that retrieves the latest record of the log document is set as the new input node value of the fusion model;

[0039] Based on the preset alarm reporting mechanism, an early warning is sent to the manual channel and then transferred to manual processing;

[0040] After the system under test is able to operate normally through manual processing, the log processing information recorded in the log record document between the alarm time point and the current time point is set as the new processing node value of the fusion model.

[0041] Furthermore, before the step of connecting the self-healing system under test to the verification layer of the fusion model and obtaining the verification result, the following is specifically included:

[0042] A verification interface is pre-configured in the verification layer of the fusion model, wherein one end of the verification interface is connected to the verification system and the other end is connected to the system under test;

[0043] The step of connecting the self-healing system under test to the verification layer of the fusion model to obtain the verification result specifically includes:

[0044] Obtain the output results of the verification system;

[0045] If the output result is normal, the system under test has completed self-healing.

[0046] Otherwise, the system under test has not completed self-healing.

[0047] To address the aforementioned technical problems, this application also provides a software fault identification and self-healing device, which employs the following technical solution:

[0048] A software fault identification and self-healing device, comprising:

[0049] The acquisition and input module is used to monitor the log records output by the system under test in real time, and to obtain the latest recorded statement in the log records as an input field and input it into the fusion model.

[0050] The fault judgment module is used to perform character sequence recognition on the input field based on the recognition layer and preset error fields of the fusion model, and to determine whether the system under test has experienced a known software fault based on the recognition result.

[0051] The self-healing module is used to determine and obtain the fault self-healing method corresponding to the input field based on the fusion model if a known software fault occurs, and to perform self-healing processing on the system under test based on the fault self-healing method.

[0052] The self-healing verification module is used to connect the self-healed system under test to the verification layer of the fusion model to obtain the verification results.

[0053] The verification and judgment module is used to determine, based on the verification result, whether the system under test has completed self-healing.

[0054] The patch output module is used to repeatedly perform fault self-healing and verification on the system under test if self-healing is not completed, until the system under test is self-healed, and to obtain the code segment corresponding to the self-healing modification as the system patch output and save it.

[0055] To address the aforementioned technical problems, this application also provides a computer device that employs the following technical solution:

[0056] The computer device includes a memory and a processor, the memory storing computer-readable instructions, and the processor executing the computer-readable instructions to implement the steps of the software fault identification and self-healing method as described above.

[0057] To address the aforementioned technical problems, this application also provides a computer-readable storage medium, employing the technical solution described below:

[0058] The computer-readable storage medium stores computer-readable instructions, which, when executed by a processor, implement the steps of the software fault identification and self-healing method described above.

[0059] Compared with the prior art, the embodiments of this application have the following main advantages:

[0060] This application uses a fusion model to obtain the latest log statements in real time and inputs them into the fusion model. Based on the fusion model, it determines whether a known software fault has occurred in the system under test. If so, it identifies and obtains the fault self-healing method and performs self-healing on the system under test. After self-healing, it verifies the process and determines whether the system under test has completed self-healing. Upon successful verification, it obtains the corresponding modified code segments as system patches and saves them. This application uses a fusion model for software fault identification and self-healing. During the identification and self-healing process, a semi-automatic learning method is used to gradually improve the fusion model, facilitating progressive model refinement and reducing manual workload in fault identification and self-healing. It is also more intelligent and automated, with more accurate and faster fault identification and self-healing method selection. Attached Figure Description

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

[0062] Figure 1 This is an exemplary system architecture diagram to which this application can be applied;

[0063] Figure 2 A flowchart of an embodiment of the software fault identification and self-healing method according to this application;

[0064] Figure 3 yes Figure 2 A flowchart illustrating a specific implementation method for generating the fusion model in this embodiment prior to step 201 is shown.

[0065] Figure 4 yes Figure 3 A flowchart of a specific implementation of step 301 shown;

[0066] Figure 5 yes Figure 3 A flowchart of a specific implementation of step 302 shown;

[0067] Figure 6 yes Figure 2 A flowchart of a specific implementation of step 202 shown;

[0068] Figure 7 yes Figure 2 A flowchart of a specific implementation of step 203 shown;

[0069] Figure 8 This is a schematic diagram of a structure of an embodiment of the software fault identification and self-healing device according to this application;

[0070] Figure 9 This is a structural schematic diagram of an embodiment of the semi-automatic learning module according to this application;

[0071] Figure 10 This is a schematic diagram of the structure of one embodiment of the computer device according to this application. Detailed Implementation

[0072] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains; the terminology used herein in the specification of the application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application; the terms "comprising" and "having," and any variations thereof, in the specification, claims, and foregoing drawings of this application, are intended to cover non-exclusive inclusion. The terms "first," "second," etc., in the specification, claims, or foregoing drawings of this application are used to distinguish different objects, not to describe a particular order.

[0073] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.

[0074] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings.

[0075] To address the issues of low execution efficiency and decreased recognition accuracy in fusion models generated in related technologies, this application provides a software fault identification and self-healing method, relating to artificial intelligence software fault identification and self-healing, which can be applied to, for example... Figure 1 In the system architecture 100 shown, the system architecture 100 may include terminal devices 101, 102, and 103, a network 104, and a server 105. The network 104 is used as a medium to provide a communication link between the terminal devices 101, 102, and 103 and the server 105. The network 104 may include various connection types, such as wired or wireless communication links or fiber optic cables, etc.

[0076] Users can use terminal devices 101, 102, and 103 to interact with server 105 via network 104 to receive or send messages, etc. Various communication client applications can be installed on terminal devices 101, 102, and 103, such as web browser applications, shopping applications, search applications, instant messaging tools, email clients, social media platform software, etc.

[0077] Terminal devices 101, 102, and 103 can be various electronic devices with displays and support web browsing, including but not limited to smartphones, tablets, e-book readers, MP3 players (Moving Picture Experts Group Audio Layer III), MP4 players (Moving Picture Experts Group Audio Layer IV), laptops, and desktop computers, etc.

[0078] Server 105 can be a server that provides various services, such as a backend server that supports the pages displayed on terminal devices 101, 102, and 103.

[0079] It should be noted that the software fault identification and self-healing method provided in this application embodiment is generally executed by a server / terminal device, and correspondingly, the software fault identification and self-healing device is generally installed in the server / terminal device.

[0080] It should be understood that Figure 1 The number of terminal devices, networks, and servers shown is merely illustrative. Depending on implementation needs, any number of terminal devices, networks, and servers can be included.

[0081] Continue to refer to Figure 2 The diagram illustrates a flowchart of an embodiment of the software fault identification and self-healing method according to this application. The software fault identification and self-healing method includes the following steps:

[0082] Step 201: Monitor the log records output by the system under test in real time, and obtain the latest recorded statement in the log records as an input field and input it into the fusion model.

[0083] In this embodiment, before the steps of real-time monitoring of the log records output by the system under test and obtaining the latest recorded statement of the log records as an input field and inputting it into the fusion model, the method further includes: constructing N fault self-healing models with the same structure, where N is a positive integer; selecting one of the fault self-healing models as the model to be fused, and fusing the other fault self-healing models with it to generate a fusion model.

[0084] In this embodiment, the fault self-healing model includes an input layer, an identification layer, a verification layer, and an output layer, and the fusion model also includes an input layer, an identification layer, a verification layer, and an output layer.

[0085] By using a fusion model, the latest recorded statements in the log files of the system under test are processed and analyzed to determine whether a software fault has occurred. The fusion model replaces manual processing, and by using artificial intelligence, the amount of manual processing is reduced and the system becomes more intelligent.

[0086] Continue to refer to Figure 3 , Figure 3 yes Figure 2 The flowchart shown above illustrates a specific implementation method for generating the fusion model in this embodiment prior to step 201, including the following steps:

[0087] Step 301: Construct N fault self-healing models with the same structure, where N is a positive integer.

[0088] In this embodiment, before the step of constructing N fault self-healing models with the same structure, the method further includes: obtaining the original log record document of the system under test; generating several hierarchical tree diagrams based on the log record document, wherein the number of hierarchical tree diagrams is the same as the number of different error fields, the hierarchical tree diagrams are rooted at the error field, the error type corresponding to the error field is the upper-level node of the error field, and the processing method corresponding to the error type is the upper-level node of the error type, wherein one error field corresponds to at least one error type, and one error type corresponds to at least one processing method; determining the probability of selecting the different processing methods corresponding to each error field based on the hierarchical tree diagram and the log record document; and setting a priority for the different processing methods corresponding to each error field based on the probability.

[0089] Using the original log records of the system under test, a hierarchical tree diagram is generated, with different error fields as root nodes, the error type corresponding to the error field as the parent node of the error field, and the processing method corresponding to the error type as the parent node of the error type. Then, based on the hierarchical tree diagram and the log records, the probability of selecting the corresponding different processing methods for each error field is determined. This ensures that the data used for model construction is the log records, and that no other external factors affect the model, thus ensuring that the model is more consistent with the current system under test.

[0090] In this embodiment, the determination of the probability of selecting different processing methods for each error field based on the hierarchical tree diagram and the log record document is specifically implemented as follows:

[0091] Obtain the hierarchical tree diagram corresponding to the current error field; determine the different processing methods corresponding to the current error field based on the hierarchical tree diagram; determine the historical number of times different processing methods were selected and the fault was successfully handled when the current error field was generated based on the log record document; determine the probability of selecting the corresponding different processing method for the current error field based on the historical number and the total number of times the current error field was generated; similarly, determine the probability of selecting the corresponding different processing method for each error field.

[0092] By determining the probability of selecting different processing methods for each error field, a priority for self-healing processing methods is set for the fault self-healing model, ensuring that the self-healing processing method with higher priority is used first for self-healing. If it fails, the next priority method is used in sequence for self-healing, which can ensure the high efficiency of self-healing for the vast majority of software faults.

[0093] In this embodiment, the step of constructing N fault self-healing models with the same structure includes: constructing fault self-healing models of the same number as the different error fields, and setting a distinction number for each fault self-healing model; obtaining the hierarchical tree diagram corresponding to the current error field, determining the different processing methods corresponding to the current error field and the distinction priority; setting the current error field as the preset error field of its corresponding fault self-healing model; setting the different processing methods as the self-healing processing methods that the fault self-healing model corresponding to the current error field can choose to execute at the processing layer; and setting the distinction priority as the priority for the fault self-healing model corresponding to the current error field to select different processing methods at the identification layer.

[0094] Continue to refer to Figure 4 , Figure 4 yes Figure 3 A flowchart of a specific implementation of step 301 shown includes the following steps:

[0095] Step 401: Construct a fault self-healing model with the same number of different error fields as the unit, and set a distinguishing number for the fault self-healing model;

[0096] Step 402: Obtain the hierarchical tree diagram corresponding to the current error field, and determine the different processing methods and priorities corresponding to the current error field;

[0097] Step 403: Set the current error field to the preset error field of its corresponding fault self-healing model;

[0098] Step 404: Set the different processing methods as the self-healing processing methods that the fault self-healing model corresponding to the current error field can select to execute in the processing layer;

[0099] Step 405: Set the distinction priority as the priority for the fault self-healing model corresponding to the current error field to select different processing methods in the identification layer.

[0100] By assigning a distinguishing number to the fault self-healing model, it is possible to verify whether the fusion model has been successfully fused, and it is also convenient to distinguish the node values.

[0101] Step 302: Select one of the fault self-healing models as the model to be fused, and fuse it with other fault self-healing models to generate a fused model.

[0102] In this embodiment, the step of selecting one of the fault self-healing models as the model to be fused, and fusing other fault self-healing models with it to generate a fused model specifically includes:

[0103] The preset error field corresponding to the model to be fused and the selectable self-healing processing method are respectively set as the first input node value and processing node value of the fused model. When fusing other fault self-healing models with the model to be fused, the preset error field corresponding to the other fault self-healing models and the selectable self-healing processing method are respectively set as other input node values ​​and processing node values ​​of the fused model. When setting the input node values ​​and processing node values, the difference number corresponding to the fault self-healing model is used as the node number of its corresponding input node value and processing node value. The fused model is obtained after setting the input node values ​​and processing node values ​​corresponding to all fault self-healing models in the model to be fused.

[0104] By setting input node values ​​and processing node values ​​for the fusion model using the preset error fields corresponding to the fault self-healing model and the selectable self-healing processing methods, the fusion model integrates the preset error fields of all fault self-healing models and the self-healing processing methods corresponding to all error fields, ensuring the high availability of the fusion model and making fault identification and self-healing method selection more accurate and faster.

[0105] Continue to refer to Figure 5 , Figure 5 yes Figure 3 A flowchart of a specific implementation of step 302 shown includes the following steps:

[0106] Step 501: Set the preset error field corresponding to the model to be fused and the selectable self-healing processing method as the first input node value and processing node value of the fused model, respectively.

[0107] Step 502: When fusing other fault self-healing models with the model to be fused, the preset error fields corresponding to the other fault self-healing models and the selectable self-healing processing methods are respectively set as other input node values ​​and processing node values ​​of the fused model. When setting the input node values ​​and processing node values, the difference number corresponding to the fault self-healing model is used as the node number of its corresponding input node value and processing node value.

[0108] Step 503: Once the input node values ​​and processing node values ​​corresponding one-to-one with all fault self-healing models have been set in the model to be fused, the fused model is obtained.

[0109] In this embodiment, the step of successfully fusing the fusion model until all input node values ​​and processing node values ​​corresponding to all fault self-healing models are set in the model to be fused further includes: obtaining the node numbers of all input node values ​​and processing node values, and traversing the node numbers corresponding to the input node values ​​and processing node values ​​respectively; if the traversal result is consistent with the difference number of all fault self-healing models, the fusion model is successfully fused; otherwise, the fusion is not yet successful.

[0110] By traversing the node numbers of the input node values ​​and the node numbers of the processed node values ​​respectively, if both traversal results are consistent with the difference numbers of all fault self-healing models, the fusion model is successfully fused, ensuring the availability of the fusion model.

[0111] Step 202: Based on the recognition layer and preset error reporting field of the fusion model, perform character sequence recognition on the input field, and determine whether the system under test has experienced a known software fault based on the recognition result.

[0112] In this embodiment, the step of performing character sequence recognition on the input field based on the recognition layer and preset error reporting field of the fusion model, and determining whether the system under test has experienced a known software fault based on the recognition result, specifically includes: obtaining the value of each input node corresponding to the fusion model; determining whether the character sequence corresponding to the input field contains the character sequence corresponding to any of the input node values ​​based on natural language recognition technology; if it contains the character sequence, the system under test has experienced a known software fault; if it does not contain the character sequence, and the program of the system under test is running normally, the system under test has not experienced a software fault; if it does not contain the character sequence, but the program of the system under test cannot run normally, the system under test has experienced an unknown software fault.

[0113] By using natural language recognition technology and serialization processing, the system under test can identify whether a software fault has occurred and the type of such fault. This allows the fusion model to use different processing methods to handle the fault, making fault identification and self-healing method selection more accurate and faster.

[0114] Continue to refer to Figure 6 , Figure 6 yes Figure 2 A flowchart of a specific implementation of step 202 shown includes the following steps:

[0115] Step 601: Obtain the value of each input node corresponding to the fusion model;

[0116] Step 602: Based on natural language recognition technology, determine whether the character sequence corresponding to the input field contains the character sequence corresponding to any of the input node values;

[0117] In this embodiment, the step of determining whether the character sequence corresponding to the input field contains the character sequence corresponding to any of the input node values ​​based on natural language recognition technology specifically includes: performing serialization processing on the input field to obtain a first serialization result; performing serialization processing on all input node values ​​to obtain a second serialization result; using natural language recognition technology to recognize the first serialization result and the second serialization result; and obtaining the recognition result.

[0118] Step 603: If included, then the system under test has experienced a known software fault;

[0119] Step 604: If not included, and the program of the system under test is running normally, then the system under test has not experienced a software failure.

[0120] Step 605: If not included, but the program of the system under test cannot run normally, then the system under test has experienced an unknown software fault.

[0121] In this embodiment, after the step of "if not included, but the program of the system under test cannot run normally, then the system under test has experienced an unknown software fault", the method further includes: obtaining the latest recorded statement in the log record document and setting it as the new input node value of the fusion model; issuing an early warning to the manual channel based on a preset alarm reporting mechanism and transferring it to manual processing; after the system under test can run normally after manual processing, obtaining the log processing information in the log record document whose recording time is between the alarm time point and the current time point and setting it as the new processing node value of the fusion model.

[0122] By setting up a manual channel, the system ensures that when the fusion model discovers an unknown software fault, it can be promptly transferred to manual processing. At the same time, it can promptly acquire new input node values ​​and processing node values ​​to ensure that the fault can be identified and processed the next time it is encountered. By using a semi-automatic learning method, the fusion model is gradually improved and made more intelligent.

[0123] Step 203: If a known software fault occurs, based on the fusion model, determine and obtain the fault self-healing processing method corresponding to the input field, and perform self-healing processing on the system under test based on the fault self-healing processing method.

[0124] In this embodiment, the step of determining and obtaining the fault self-healing processing method corresponding to the input field based on the fusion model if a known software fault occurs, and performing self-healing processing on the system under test based on the fault self-healing processing method, specifically includes: if a known software fault occurs, determining the input node value corresponding to the input field; determining the processing node value corresponding to the input field based on the input node value; determining different self-healing processing methods corresponding to the input field based on the processing node value; and selecting a target self-healing processing method for self-healing processing based on the priority of the different self-healing processing methods.

[0125] After identifying a known software fault in the system under test, a fusion model is used to select a target self-healing method for self-healing, replacing manual self-healing, which is more automated and intelligent and reduces the amount of manual work.

[0126] Continue to refer to Figure 7 , Figure 7 yes Figure 2 A flowchart of a specific implementation of step 203 shown includes the following steps:

[0127] Step 701: If a known software fault occurs, determine the input node value corresponding to the input field;

[0128] Step 702: Determine the processing node value corresponding to the input field based on the input node value;

[0129] Step 703: Determine the different self-healing processing methods corresponding to the input field based on the processing node value;

[0130] Step 704: Based on the priority of the different self-healing methods, select the target self-healing method for self-healing.

[0131] Step 204: Connect the self-healing system under test to the verification layer of the fusion model to obtain the verification result.

[0132] In this embodiment, before the step of connecting the self-healing system under test to the verification layer of the fusion model and obtaining the verification result, the method specifically includes: setting a verification interface in advance in the verification layer of the fusion model, wherein one end of the verification interface is connected to the verification system and the other end is connected to the system under test.

[0133] In this embodiment, the step of connecting the self-healing system under test to the verification layer of the fusion model and obtaining the verification result specifically includes: obtaining the output result of the verification system; if the output result is normal, the system under test has completed self-healing; otherwise, the system under test has not completed self-healing.

[0134] Step 205: Based on the verification results, determine whether the system under test has completed self-healing.

[0135] Step 206: If self-healing is not completed, repeat the fault self-healing and verification process for the system under test until the system under test is self-healed. Then, obtain the code segment corresponding to the self-healing and save it as a system patch output.

[0136] In this embodiment, the step of repeatedly performing fault self-healing and verification on the system under test if self-healing is not completed until the system under test completes self-healing, and obtaining the modified code segment corresponding to this self-healing as a system patch output and saving, specifically includes: if the current self-healing is not completed, selecting the self-healing processing method corresponding to the next priority and performing self-healing processing again; after the second self-healing processing, executing steps 204 to 205 to determine whether the second self-healing processing makes the system under test complete self-healing; if self-healing is completed, obtaining the modified code segment corresponding to this self-healing as a system patch output and saving; if the system under test still fails to complete self-healing after all the corresponding self-healing processing methods in the fusion model have been used, then a situation has occurred where there is no suitable self-healing processing method for a known software fault, and manual processing is required; after this manual processing, when self-healing verification is successful, the processing information recorded in the log record document is used as the newly added self-healing processing method in the processing node value corresponding to the current input node value.

[0137] By using a cyclical self-healing and self-healing verification method, the system under test is self-healed and verified. This allows for the timely detection of known software faults for which there are no suitable self-healing methods, and the cases are then transferred to manual processing. The processing information recorded in the log document after successful manual processing is then used as a new self-healing method in the processing node value corresponding to the current input node value. By adopting a semi-automatic learning approach, the self-healing processing function of the fusion model is further expanded, making it more intelligent.

[0138] This application acquires the latest log statements in real time and inputs them into a fusion model. Based on the fusion model, it determines whether a known software fault has occurred in the system under test. If so, it identifies and acquires the fault self-healing method and performs self-healing on the system under test. After self-healing, it verifies the process and determines whether the system under test has completed self-healing. Upon successful verification, it acquires the corresponding modified code segments as system patches and saves them. This application uses a fusion model for software fault identification and self-healing. During the identification and self-healing process, a semi-automatic learning method is used to gradually improve the fusion model, facilitating progressive model refinement and reducing manual workload in fault identification and self-healing. It is also more intelligent and automated, with more accurate and faster fault identification and self-healing method selection.

[0139] The embodiments of this application can acquire and process relevant data based on artificial intelligence technology. Artificial intelligence (AI) refers to the theories, methods, technologies, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to obtain optimal results.

[0140] Foundational technologies for artificial intelligence generally include sensors, dedicated AI chips, cloud computing, distributed storage, big data processing, operating / interactive systems, and mechatronics. AI software technologies mainly encompass computer vision, robotics, biometrics, speech processing, natural language processing, and machine learning / deep learning.

[0141] This application uses artificial intelligence to construct the fusion model. At the same time, in the process of intelligent self-healing of software faults, a semi-automatic learning method is used to gradually improve the fusion model. This is to achieve the goal of gradually reducing the amount of manual work while ensuring the intelligence and automation of fault handling during intelligent self-healing of software faults.

[0142] This application can be applied to the field of intelligent self-healing of software faults, making software fault identification and self-healing more intelligent.

[0143] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by instructing related hardware with computer-readable instructions. These computer-readable instructions can be stored in a computer-readable storage medium. When executed, the program can include the processes of the embodiments of the above methods. The aforementioned storage medium can be a non-volatile storage medium such as a magnetic disk, optical disk, or read-only memory (ROM), or random access memory (RAM).

[0144] It should be understood that although the steps in the flowcharts of the accompanying figures are shown sequentially as indicated by the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the accompanying figures may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times, and their execution order is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the sub-steps or stages of other steps.

[0145] Further reference Figure 8 As a response to the above Figure 2 The implementation of the method shown in this application provides an embodiment of a software fault identification and self-healing device, which is similar to... Figure 2 Corresponding to the method embodiments shown, this device can be specifically applied to various electronic devices.

[0146] like Figure 8 As shown, the software fault identification and self-healing device 800 described in this embodiment includes: a data acquisition and input module 801, a fault judgment module 802, a self-healing processing module 803, a self-healing verification module 804, a verification judgment module 805, and a patch output module 806. Wherein:

[0147] The acquisition and input module 801 is used to monitor the log record document output by the system under test in real time, and to obtain the latest recorded statement of the log record document as an input field and input it into the fusion model.

[0148] The fault judgment module 802 is used to perform character sequence recognition on the input field based on the recognition layer and preset error fields of the fusion model, and to determine whether the system under test has experienced a known software fault based on the recognition result.

[0149] The self-healing module 803 is used to determine and obtain the fault self-healing processing method corresponding to the input field based on the fusion model if a known software fault occurs, and to perform self-healing processing on the system under test based on the fault self-healing processing method.

[0150] The self-healing verification module 804 is used to connect the self-healing system under test to the verification layer of the fusion model to obtain the verification result.

[0151] The verification and judgment module 805 is used to determine, based on the verification result, whether the system under test has completed self-healing.

[0152] The patch output module 806 is used to repeatedly perform fault self-healing and verification on the system under test if self-healing is not completed, until the system under test is self-healed, and to obtain the code segment corresponding to the self-healing modification as the system patch output and save it.

[0153] In some optional implementations of this embodiment, the software fault identification and self-healing device further includes a fusion model construction module. The fusion model construction module is used to construct N fault self-healing models with the same structure before the acquisition and input module is executed, where N is a positive integer; select one of the fault self-healing models as the model to be fused, and fuse the other fault self-healing models with it to generate a fusion model.

[0154] The fusion model is constructed using the fusion model construction module, and the fusion model is used for automatic identification and self-healing of software faults, which is more intelligent and reduces the amount of manual work.

[0155] Continue to refer to Figure 9 , Figure 9 The diagram illustrates the structure of the semi-automatic learning module of the software fault identification and self-healing device described in this embodiment. In some optional implementations of this embodiment, the software fault identification and self-healing device further includes a semi-automatic learning module 807, which comprises a first learning submodule 8071 and a second learning submodule 8072.

[0156] The first learning submodule 8071 is used to, after the unknown software fault occurs in the system under test and the fault is successfully handled, obtain the latest recorded statement in the log record document and set it as the new input node value of the fusion model; based on the preset alarm reporting mechanism, issue an early warning to the manual channel and transfer it to manual processing; after the system under test can operate normally after manual processing, obtain the log processing information recorded in the log record document between the alarm time point and the current time point and set it as the new processing node value of the fusion model.

[0157] The second learning submodule 8072 is used to handle situations where, if the system under test fails to complete self-healing after all the corresponding self-healing methods in the fusion model have been used, a known software fault has occurred and there is no suitable self-healing method, and the system is transferred to manual processing; after this manual processing, when the self-healing verification is successful, the processing information recorded in the log document is used as the new self-healing method in the processing node value corresponding to the current input node value.

[0158] Through a semi-automatic learning module, when the software cannot perform automatic self-healing, it learns manual processing methods as new self-healing methods. Through this semi-automatic learning method, the fusion model is gradually improved, so as to facilitate the gradual improvement of the model and reduce the amount of manual work, making it more intelligent and automated.

[0159] The aforementioned software fault identification and self-healing device obtains the latest log statements in real time and inputs them into a fusion model. Based on the fusion model, it determines whether a known software fault has occurred in the system under test. If so, it determines and obtains the fault self-healing handling method and performs self-healing processing on the system under test. After self-healing processing, it verifies the process and determines whether the system under test has completed self-healing. Upon successful verification, it obtains the corresponding modified code segment as a system patch and saves it. This application uses a fusion model for software fault identification and self-healing. Simultaneously, during the identification and self-healing process, a semi-automatic learning method is employed to gradually improve the fusion model, facilitating progressive model refinement and reducing manual workload in software fault identification and self-healing. Furthermore, it is more intelligent and automated, and the selection of fault identification and self-healing methods is more accurate and faster.

[0160] To address the aforementioned technical problems, embodiments of this application also provide a computer device. Please refer to [link / reference needed] for details. Figure 10 , Figure 10 This is a basic structural block diagram of the computer device in this embodiment.

[0161] The computer device 10 includes a memory 10a, a processor 10b, and a network interface 10c that are interconnected via a system bus. It should be noted that only the computer device 10 with components 10a-10c is shown in the figure; however, it should be understood that it is not required to implement all the shown components, and more or fewer components can be implemented alternatively. Those skilled in the art will understand that the computer device described here is a device capable of automatically performing numerical calculations and / or information processing according to pre-set or stored instructions, and its hardware includes, but is not limited to, microprocessors, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs), embedded devices, etc.

[0162] The computer device can be a desktop computer, laptop, handheld computer, or cloud server, etc. The computer device can interact with the user via a keyboard, mouse, remote control, touchpad, or voice control.

[0163] The memory 10a includes at least one type of readable storage medium, including flash memory, hard disk, multimedia card, card-type memory (e.g., SD or DX memory), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, optical disk, etc. In some embodiments, the memory 10a may be an internal storage unit of the computer device 10, such as the hard disk or memory of the computer device 10. In other embodiments, the memory 10a may also be an external storage device of the computer device 10, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc. Of course, the memory 10a may include both internal storage units and external storage devices of the computer device 10. In this embodiment, the memory 10a is typically used to store the operating system and various application software installed on the computer device 10, such as computer-readable instructions for software fault identification and self-healing methods. In addition, the memory 10a can also be used to temporarily store various types of data that have been output or will be output.

[0164] In some embodiments, the processor 10b may be a central processing unit (CPU), controller, microcontroller, microprocessor, or other data processing chip. The processor 10b is typically used to control the overall operation of the computer device 10. In this embodiment, the processor 10b is used to execute computer-readable instructions stored in the memory 10a or to process data, for example, to execute computer-readable instructions of the software fault identification and self-healing method.

[0165] The network interface 10c may include a wireless network interface or a wired network interface, which is typically used to establish communication connections between the computer device 10 and other electronic devices.

[0166] The computer device proposed in this embodiment belongs to the fields of artificial intelligence and software fault identification and self-healing technology. This application obtains the latest log records in real time and inputs them into a fusion model; based on the fusion model, it determines whether a known software fault has occurred in the system under test; if so, it determines and obtains the fault self-healing processing method and performs self-healing processing on the system under test; after self-healing processing, it verifies the process; it determines whether the system under test has completed self-healing; until verification is successful, it obtains the corresponding modified code segment as a system patch and saves it. This application uses a fusion model to identify and self-heal software faults. Simultaneously, during the identification and self-healing process, a semi-automatic learning method is used to gradually improve the fusion model, facilitating progressive model improvement and reducing manual workload in software fault identification and self-healing. It is also more intelligent and automated, with more accurate and faster fault identification and self-healing method selection.

[0167] This application also provides another embodiment, namely, providing a computer-readable storage medium storing computer-readable instructions that can be executed by a processor to cause the processor to perform the steps of the software fault identification and self-healing method described above.

[0168] The computer-readable storage medium proposed in this embodiment belongs to the fields of artificial intelligence and software fault identification and self-healing technology. This application obtains the latest log records in real time and inputs them into a fusion model; based on the fusion model, it determines whether a known software fault has occurred in the system under test; if so, it determines and obtains the fault self-healing processing method and performs self-healing processing on the system under test; after self-healing processing, it verifies the process; it determines whether the system under test has completed self-healing; until verification is successful, it obtains the corresponding modified code segment as a system patch and saves it. This application uses a fusion model to identify and self-heal software faults. Simultaneously, during the identification and self-healing process, a semi-automatic learning method is used to gradually improve the fusion model, facilitating progressive model improvement and reducing manual workload in software fault identification and self-healing. It is also more intelligent and automated, and the selection of fault identification and self-healing methods is more accurate and faster.

[0169] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0170] Obviously, the embodiments described above are only some embodiments of this application, not all embodiments. The accompanying drawings show preferred embodiments of this application, but do not limit the patent scope of this application. This application can be implemented in many different forms; rather, the purpose of providing these embodiments is to provide a more thorough and comprehensive understanding of the disclosure of this application. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art can still modify the technical solutions described in the foregoing specific embodiments, or make equivalent substitutions for some of the technical features. Any equivalent structures made using the content of this application's specification and drawings, directly or indirectly applied to other related technical fields, are similarly within the scope of patent protection of this application.

Claims

1. A software fault identification and self-healing method, characterized in that, Includes the following steps: The log records output by the system under test are monitored in real time, and the latest recorded statement in the log records is obtained as an input field and input into the fusion model. Before the step of real-time monitoring of the log records output by the system under test and obtaining the latest recorded statement from the log records as an input field into the fusion model, the method further includes: Step 301: Construct N fault self-healing models with the same structure, where N is a positive integer. Specifically, this includes: Construct a fault self-healing model with the same number of different error fields as the unit, and set a distinguishing number for the fault self-healing model; Obtain the hierarchical tree diagram corresponding to the current error field to determine the different processing methods and priorities for the current error field; Set the current error field to the preset error field of its corresponding fault self-healing model; Set different processing methods as the self-healing processing methods that the fault self-healing model corresponding to the current error field can choose to execute at the processing layer; The priority distinction is set as the priority for the fault self-healing model corresponding to the current error field to select different processing methods in the identification layer. Before the step of constructing N fault self-healing models with identical structures, the method further includes: Obtain the original log records of the system under test; Based on the log record document, several hierarchical tree diagrams are generated. The number of hierarchical tree diagrams is the same as the number of different error fields. Each hierarchical tree diagram takes an error field as the root node, the error type corresponding to the error field as the upper-level node of the error field, and the processing method corresponding to the error type as the upper-level node of the error type. Each error field corresponds to at least one error type, and each error type corresponds to at least one processing method. Based on the hierarchical tree diagram and the log record document, determine the probability of selecting the corresponding different processing methods for each error field; Based on the aforementioned probability, different priorities are set for the different processing methods corresponding to each error field; Step 302: Select one of the fault self-healing models as the model to be fused, and fuse it with other fault self-healing models to generate a fused model, specifically including: Set the preset error field and the selectable self-healing processing method corresponding to the model to be fused as the first input node value and processing node value of the fused model, respectively. When fusing other fault self-healing models with the model to be fused, the preset error fields and selectable self-healing processing methods corresponding to the other fault self-healing models are obtained and set as other input node values ​​and processing node values ​​of the fused model, respectively. When setting the input node values ​​and processing node values, the difference number corresponding to the fault self-healing model is used as the node number of its corresponding input node value and processing node value. The fusion model is obtained after setting the input node values ​​and processing node values ​​that correspond one-to-one with all fault self-healing models in the model to be fused. Based on the recognition layer and preset error reporting fields of the fusion model, character sequence recognition is performed on the input field, and based on the recognition results, it is determined whether the system under test has experienced a known software fault. If a known software fault occurs, based on the fusion model, the fault self-healing processing method corresponding to the input field is determined and obtained, and the system under test is self-healed based on the fault self-healing processing method. The self-healing system under test is connected to the verification layer of the fusion model to obtain the verification results; Based on the verification results, it is determined whether the system under test has completed self-healing. If the self-healing is not completed, repeat the fault self-healing and verification process for the system under test until the system under test is self-healed. Then, obtain the code segment corresponding to the self-healing and save it as a system patch output.

2. The software fault identification and self-healing method according to claim 1, characterized in that, The step of performing character sequence recognition on the input field based on the recognition layer of the fusion model and the preset error reporting field, and determining whether the system under test has experienced a known software fault based on the recognition result, specifically includes: Obtain the value of each input node corresponding to the fusion model; Based on natural language recognition technology, determine whether the character sequence corresponding to the input field contains the character sequence corresponding to any of the input node values; If it is included, then the system under test has experienced a known software fault; If not included, and the program of the system under test is running normally, then the system under test has not experienced a software failure; If it is not included, but the program of the system under test cannot run normally, then the system under test has experienced an unknown software fault.

3. The software fault identification and self-healing method according to claim 2, characterized in that, After the step of stating that if the system under test is not included, but the program of the system under test cannot run normally, then the system under test has experienced an unknown software fault, the method further includes: The statement that retrieves the latest record of the log document is set as the new input node value of the fusion model; Based on the preset alarm reporting mechanism, an early warning is sent to the manual channel and then transferred to manual processing; After the system under test is able to operate normally through manual processing, the log processing information recorded in the log record document between the alarm time point and the current time point is set as the new processing node value of the fusion model. The alarm time point includes the time point when a warning is issued to the manual channel based on the preset alarm reporting mechanism.

4. The software fault identification and self-healing method according to claim 1, characterized in that, Before the step of connecting the self-healing system under test to the verification layer of the fusion model and obtaining the verification result, the following is specifically included: A verification interface is pre-configured in the verification layer of the fusion model, wherein one end of the verification interface is connected to the verification system and the other end is connected to the system under test; The step of connecting the self-healing system under test to the verification layer of the fusion model to obtain the verification result specifically includes: Obtain the output results of the verification system; If the output result is normal, the system under test has completed self-healing. Otherwise, the system under test has not completed self-healing.

5. A software fault identification and self-healing device, characterized in that, The software fault identification and self-healing device implements the steps of the software fault identification and self-healing method as described in any one of claims 1 to 4, wherein the software fault identification and self-healing device comprises: The acquisition and input module is used to monitor the log records output by the system under test in real time, and to obtain the latest recorded statement in the log records as an input field and input it into the fusion model. The fault judgment module is used to perform character sequence recognition on the input field based on the recognition layer and preset error fields of the fusion model, and to determine whether the system under test has experienced a known software fault based on the recognition result. The self-healing module is used to determine and obtain the fault self-healing method corresponding to the input field based on the fusion model if a known software fault occurs, and to perform self-healing processing on the system under test based on the fault self-healing method. The self-healing verification module is used to connect the self-healed system under test to the verification layer of the fusion model to obtain the verification results. The verification and judgment module is used to determine, based on the verification result, whether the system under test has completed self-healing. The patch output module is used to repeatedly perform fault self-healing and verification on the system under test if self-healing is not completed, until the system under test is self-healed, and to obtain the code segment corresponding to the self-healing modification as the system patch output and save it.

6. A computer device comprising a memory and a processor, wherein the memory stores computer-readable instructions, and the processor, when executing the computer-readable instructions, implements the steps of the software fault identification and self-healing method as described in any one of claims 1 to 4.

7. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-readable instructions, which, when executed by a processor, implement the steps of the software fault identification and self-healing method as described in any one of claims 1 to 4.

Citation Information

Patent Citations

  • Fault self-healing method and device, equipment and storage medium

    CN111880977A

  • Cluster fault repair method, cluster fault repair model training method, cluster fault repair model training device and server

    CN113313134A