A reliability verification method for distributed expert systems

By integrating multi-objective evaluation indicators and improved genetic algorithms to generate the optimal injection fault combination solution, the problem of reliability verification of distributed expert systems in highly dynamic and complex interactive environments is solved, and more efficient fault detection and system reliability improvement is achieved.

CN119377089BActive Publication Date: 2025-04-22XIDIAN UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411512898.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-28
Publication Date
2025-04-22
Estimated Expiration
2044-10-28

AI Technical Summary

Technical Problem

In the face of distributed expert systems with high dynamic and complex interactions, it is difficult for the existing technology to fully capture real-time changes in operation, resulting in the disconnection of reliability verification results from the actual situation; methods based on redundant design increase system complexity and cost; traditional dynamic analysis fault injection methods lack intelligence and automation, making it difficult to detect all potential fault modes.

Method used

A reliability verification method for distributed expert systems was designed. By comprehensively considering multiple goals such as expert area coverage, fault type coverage, service call coverage, etc., the improved genetic algorithm is used to generate the optimal injection fault combination scheme, and verify it through the fault injection tool.

Benefits of technology

Real-time calculation of the severity and impact range of faults is achieved, helping to identify weak links in the distributed expert system, prevent and reduce the impact of faults in advance, enhance the system's elasticity and reliability, and improve fault detection capabilities and verification efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119377089B_ABST
    Figure CN119377089B_ABST
Patent Text Reader

Abstract

The present invention discloses a reliability verification method for distributed expert systems, which belongs to the field of intelligent software engineering technology. The method includes: designing a target evaluation function in combination with the characteristics of the distributed expert system; when designing the target evaluation function, comprehensively considering the expert area coverage target, fault type coverage target, expert service call coverage target, fault duration target, fault diffusion target, non-redundant fault injection combination scheme target and the number of abnormalities caused target; solving the target evaluation function using an improved genetic algorithm to obtain an optimal fault injection combination scheme; using a fault injection tool, injecting the optimal fault injection combination scheme into the distributed expert system to obtain a reliability verification result. The present invention shows how to intelligently generate a fault injection combination scheme, and the generated fault injection combination scheme can improve the resilience of the system, ensuring that the system can maintain stable operation and recover quickly when facing various potential faults and challenges.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the technical field of intelligent software engineering, and in particular relates to a reliability verification method for a distributed expert system. Background Art

[0002] Distributed expert systems are an important part of modern information technology and are widely used in fields including industrial automation, medical diagnosis, financial analysis, and intelligent traffic management. Such systems are usually composed of multiple nodes that cooperate with each other. Each node is an independent expert system with the ability to handle specific tasks. Through a distributed architecture, these nodes can share data and knowledge and collaboratively solve complex decision-making problems. However, as the scale and complexity of distributed expert systems increase, the reliability of the system becomes more and more prominent. Reliability is a key factor in whether distributed expert systems can operate long-term and stably.

[0003] In order to ensure that the system can continue to provide correct decision support when facing emergencies, environmental changes, and internal failures, it is particularly important to verify the reliability of the system. At present, the most advanced reliability verification technologies can be roughly divided into three categories: the first category uses Markov models and static analysis methods to analyze and predict the reliability of distributed expert systems by using mathematical models. This method simplifies the state space of distributed expert systems and analyzes the failure and repair process of distributed expert systems, calculates the node state transfer matrix, and obtains the reliability index of distributed expert systems, which helps understand and predict the reliability performance of distributed expert systems in long-term operation; the second category uses methods based on redundant design. This type of method enhances the reliability of the system by creating copies of data and services on different nodes in the distributed expert system. This method can ensure the continuity and stability of the distributed expert system by taking over the work of other nodes when a node fails; the third category uses traditional dynamic analysis fault injection technology. This method artificially introduces faults into the distributed expert system to test the response of the distributed expert system. Fault injection can help evaluate the fault tolerance and reliability of distributed expert systems, and observe the response and recovery capabilities of the system by simulating various fault scenarios.

[0004] However, the existing Markov model and static analysis methods: when faced with highly dynamic and complex interactive distributed expert systems, it is difficult to fully capture the real-time changes in the operation of distributed expert systems, resulting in the verification results being out of touch with the actual operation, and when the distributed expert system changes, the accuracy of the reliability test will also decrease. Existing methods based on redundant design: the system requires additional hardware and software resources and maintenance costs, which leads to a significant increase in initial investment and operating costs; adding redundant design will make the system more complex and increase the difficulty of design, implementation and maintenance. In some cases, redundant design will lead to a waste of resources because the backup system may be idle for a long time; the components between redundant designs may affect each other, especially when redundancy depends on human factors, the reliability will be reduced. In addition, although the traditional dynamic analysis fault injection method performs well when dealing with simple systems, it is too dependent on detailed distributed expert models and talents with relevant knowledge, and the existing test case generation methods are often designed by humans or simply randomly generated, lacking intelligence and automation; when faced with complex and dynamically changing distributed expert systems, building and maintaining these models is often costly. At the same time, faced with the huge injectable fault space, test cases are also difficult to detect all potential failure modes, and the difficulty of managing and updating the injection fault combination scheme has also increased significantly. Summary of the invention

[0005] In order to solve the above problems existing in the prior art, the present invention provides a reliability verification method for a distributed expert system. The technical problem to be solved by the present invention is achieved through the following technical solutions:

[0006] An embodiment of the present invention provides a reliability verification method for a distributed expert system, the method comprising:

[0007] In combination with the characteristics of the distributed expert system, a target evaluation function is designed; wherein, when designing the target evaluation function, the expert area coverage target, the fault type coverage target, the expert service call coverage target, the fault duration target, the fault diffusion target, the non-redundant fault injection combination scheme target and the anomaly number target are comprehensively considered;

[0008] Using an improved genetic algorithm to solve the target evaluation function, an optimal fault injection combination scheme is obtained;

[0009] Using a fault injection tool, injecting the optimal fault injection combination scheme into a distributed expert system to obtain a reliability verification result;

[0010] The process of solving the target evaluation function by using the improved genetic algorithm includes:

[0011] Initialize the population; wherein the initialized population includes a number of individuals, each individual is defined as a combination scheme of injected faults, each individual includes a number of chromosomes, each chromosome is defined as a type of injected fault information, and each chromosome carries gene bits including relative injection time, fault type, fault intensity, fault location, and fault duration;

[0012] The steps performed for each chromosome in the initialized population include: binary encoding of the gene bits carried by the chromosome, including the relative injection time, the fault type and the fault location, and further Gray code encoding of the binary-coded gene bits; real number encoding of the gene bits carried by the chromosome, including the fault intensity and the fault duration; and generating a flag information for representing the encoding method for each gene bit of the chromosome;

[0013] Randomly selecting two gene positions on the encoded chromosome, judging the encoding modes of the two selected gene positions according to the marker information, and performing crossover processing using different crossover methods according to the judged encoding modes;

[0014] A segment is randomly selected on the chromosome after the crossover process, and whether the encoding methods of the gene positions on the segment are the same is determined according to the marker information; if they are the same, a chromosome segment reversal method is used to perform mutation processing on the gene positions on the segment;

[0015] Calculating the fitness value of each individual in the population after the mutation process according to the target evaluation function, and performing individual screening according to the fitness value to obtain a new initialized population;

[0016] The above crossover processing, mutation processing, and individual screening process are performed on the newly initialized population until the iteration stop condition is met, and the optimal individual is output, and the injection fault combination scheme corresponding to the optimal individual is used as the optimal injection fault combination scheme.

[0017] Beneficial effects of the present invention:

[0018] The reliability verification method for distributed expert systems proposed in the present invention proposes a series of fault evaluation indicators including service area coverage target, fault type coverage target, service call coverage target, fault duration target, fault diffusion target, non-redundant fault injection scheme target and anomaly number target, and designs a target evaluation function by integrating these fault evaluation indicators, so as to calculate the severity and impact range of the fault in real time, help identify the weak links of the distributed expert system when facing faults, prevent and reduce the impact of faults in the environment in advance, and thus enhance the resilience of the distributed expert system, that is, the coping ability of the distributed expert system when facing faults or unexpected situations, including the resistance, recovery and adaptability of the distributed expert system; the present invention A fault injection scheme generation method based on evolutionary testing is proposed. The generation of the injection fault combination scheme is realized by establishing a problem model and determining the target evaluation function. In the implementation, the genetic algorithm is used to find the optimal injection fault combination in the fault combination space of the distributed expert system, so as to more effectively discover the elastic defects of the distributed expert system and more comprehensively cover the potential fault points of the distributed expert system, thereby improving the fault detection capability and the reliability of the distributed expert system; the method proposed in the present invention can be used for automated fault injection and observation, thereby improving the efficiency of the test process and reducing the test errors caused by human factors. Through automated testing and fault simulation, the dependence on professional operation and maintenance personnel can be reduced, and the operation and maintenance costs and human resource consumption of the distributed expert system can be reduced. In general, the method proposed in the present invention is based on a series of fault evaluation indicators and genetic algorithm implementation, which can ensure that the injection fault scheme has a higher service coverage and fault type coverage, thereby improving the comprehensiveness of reliability verification, and can simulate different fault scenarios and evaluate the performance of the distributed expert system under various fault conditions. It shows how to intelligently generate an injection fault combination scheme, and verify and improve the elasticity of the distributed expert system through the generated injection fault combination scheme, ensuring that the distributed expert system can maintain stable operation and recover quickly when facing various potential faults and challenges.

[0019] The present invention will be further described in detail below with reference to the accompanying drawings and embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Figure 1 It is a flow chart of a reliability verification method for a distributed expert system provided by an embodiment of the present invention;

[0021] Figure 2 Schematic diagram of a crowd sorting algorithm based on reference points provided in an embodiment of the present invention. DETAILED DESCRIPTION

[0022] The present invention is further described in detail below with reference to specific embodiments, but the embodiments of the present invention are not limited thereto.

[0023] See also Figure 1 The embodiment of the present invention provides a reliability verification method for a distributed expert system, which specifically includes the following steps:

[0024] S10. Design a target evaluation function based on the characteristics of the distributed expert system. When designing the target evaluation function, comprehensively consider the expert area coverage target, fault type coverage target, expert service call coverage target, fault duration target, fault diffusion target, non-redundant fault injection combination scheme target and the number of anomalies caused.

[0025] To form a method for generating fault injection schemes based on evolutionary testing theory, it is necessary to first establish a mathematical model of the problem to be solved. The core part of evolutionary testing is essentially the process of searching for feasible solutions in a certain way in the definition domain of the problem using a certain search algorithm. The mathematical model of the problem is usually a multi-objective optimization model, including decision variables, multiple objective functions to be optimized, and the constraint range of decision variables. In an embodiment of the present invention: decision variables refer to all factors that affect the combination scheme of injected faults, and these factors can be used as decision variables to participate in the optimization solution of the problem; the objective function to be optimized refers to the injection fault scheme with more combinations, more serious damage to the distributed expert system, a larger impact range after injection, and fewer fault combinations solved by optimization; the constraint range of decision variables refers to the number of faults, the combination of faults, and the order of injection schemes. In addition to setting the value range of decision variables according to the actual distributed expert system, further constraints are imposed on the number of faults, the combination of faults, and the sequence of injection schemes. Among them, the objective function to be optimized is designed in combination with the characteristics of the distributed expert system to characterize the evaluation of the injection fault combination scheme, as follows:

[0026] The function corresponding to the expert service area coverage target is denoted as f1(X), where X represents a fault injection combination scheme, X = (x1,…,xi,…,xn), n represents the number of fault information injected in X, and xi represents the i-th fault information injected in X. It is used to evaluate the coverage of the fault injection scheme for each expert node in the distributed expert system. The formula is expressed as follows:

[0027]

[0028] Where L represents the number of expert nodes in the distributed expert system, node1 represents the lth expert node in the distributed expert system, and Hit(node1) represents the function of whether X hits node1. As shown in formula (1), Hit(node1) represents whether the fault injection combination scheme hits the expert node node1. When its value is 1, it means that the fault injection combination scheme hits the expert node node1, and when its value is 0, it means that the fault injection combination scheme does not hit the expert node node1. The value range of the objective function f1(X) is [0,1]. The larger the value, the higher the coverage of the fault injection combination scheme for the expert area involved.

[0029] The function corresponding to the fault type coverage target, denoted as f2(X), is used to evaluate the coverage of the fault injection combination scheme for the specified distributed expert system fault types. The formula is expressed as:

[0030]

[0031] Among them, NewF(xi) represents the function of judging whether xi has a new fault category, and N represents the number of fault categories analyzed by the distributed expert system. As shown in formula (2), NewF(xi) represents the function of judging whether the i-th injected fault information xi in the injected fault combination scheme X has a new fault category. When its value is 1, it means that the injected fault combination scheme X covers a new fault category, and when its value is 0, it means that the injected fault combination scheme X does not cover a new fault category. The value range of the objective function f2(X) is [0,1]. The larger the value, the higher the coverage of the injected fault combination scheme for the fault category.

[0032] The function corresponding to the expert service call coverage target, denoted as f3(X), is used to evaluate the coverage of the upstream and downstream expert service calls by the combined scheme of injected faults. The formula is expressed as:

[0033]

[0034] Among them, NewCall(xi) represents the function of how many new call relations xi covers, and M represents the number of all call relations in the distributed expert system. As shown in formula (3), NewCall(xi) represents how many new call relations the i-th injected fault information xi in the injected fault combination scheme X covers. The value range of the objective function f3(X) is [0,1]. The larger the value, the higher the coverage of the injected fault combination scheme for expert service calls.

[0035] The function corresponding to the fault duration target, denoted as f4(X), is used to evaluate the ability of the injected fault combination scheme to continuously affect the system under the fault tolerance mechanism of the distributed expert system. The formula is expressed as:

[0036]

[0037] Among them, Timedc(xi) represents the time when the distributed expert system discovers xi, Timeda(xi) represents the time after xi is processed by the distributed expert system, Timebegin(xi) represents the time when xi is injected, and Timeend(xi) represents the time when xi ends. As shown in formula (4), Timeda(xi)-Timedc(xi) represents the total time from the distributed expert system discovering the i-th injected fault information xi in the injected fault combination scheme X to being processed or not processed by the distributed expert system fault tolerance mechanism, and Timeend(xi)-Timebegin(xi) represents the total time from the injection of the injected fault information xi to the end. The value range of the objective function f4(X) is [0,1]. The larger the value, the more difficult it is for the fault triggered by the injected fault combination scheme to be processed in time in the distributed expert system.

[0038] The function corresponding to the fault diffusion target, denoted as f5(X), is used to evaluate the interference capability of the fault injection combination scheme to the non-direct injection target expert node when injected. The formula is expressed as:

[0039]

[0040] Among them, Mes(nodel) represents the function of finding the deviation of nodel from the steady state during the X injection period, and Mes(xi) represents the function of finding the deviation of xi from the steady state during the X injection period. As shown in formula (5), the numerator represents the sum of the deviations from the steady state of all expert nodes during the X injection period, and the denominator represents the sum of the deviations from the steady state of all injected fault information during the X injection period. The value range of the objective function f5(X) is [0, +∞), and the larger the value, the stronger the interference ability of the fault injection combination scheme on the non-direct injection target expert node.

[0041] The function corresponding to the objective of the non-redundant fault injection scheme is denoted as f6(X), which is used to evaluate the new fault combination discovery capability of the fault injection combination scheme. The formula is expressed as:

[0042]

[0043] Among them, InjectedSet represents the set of injected fault solutions, Diff(xi ∩ InjectedSet) represents the function of finding the difference between the intersection of xi and InjectedSet. As shown in formula (6), Diff(xi ∩InjectedSet) represents the intersection difference between the injected fault information xi and the set of injected fault solutions. The value range of the objective function f6(X) is [0, +∞). The larger the value, the stronger the ability of this injected fault combination solution to discover new fault combinations.

[0044] The function corresponding to the target number of anomalies is denoted as f7(X), which is used to evaluate the actual destructive power of the fault injection combination scheme on the distributed expert system. The formula is expressed as:

[0045]

[0046] Among them, Log(xi) represents the function of the number of exceptions thrown by the distributed expert system. As shown in formula (7), Log(xi) represents the number of exceptions thrown by the distributed expert system for the injected fault information xi. The value range of the objective function f7(X) is [0, +∞). The larger the value, the stronger the actual destructive ability of this fault injection combination scheme on the distributed expert system.

[0047] Based on seven objectives, namely, expert service area coverage objective, fault type coverage objective, expert service call coverage, fault duration objective, fault diffusion objective, non-redundant fault injection scheme objective, and the number of triggered anomalies objective, the problem model of the embodiment of the present invention, i.e., the objective evaluation function, is designed to ensure that the combined injection fault scheme optimized and generated in multiple dimensions is the optimal feasible solution. The objective evaluation function finally designed is expressed as follows:

[0048]

[0049] Where ω represents a set of fault injection combination schemes, X represents a fault injection combination scheme in ω, X = (x1,…,xi,…,xn), xi represents the i-th injected fault information in X, and f1 ( X )represents the expert area coverage objective function, f2(X) represents the fault type coverage objective function, f3(X) represents the expert service call coverage objective function, f4(X) represents the fault duration objective function, f5(X) represents the fault diffusion objective function, f6(X) represents the non-redundant fault injection combination scheme objective function, f7(X) represents the anomaly number objective function, α and β represent weight coefficients, Time(xi) represents the time cost associated with xi, yj represents the complexity of the jth configuration file associated with xi, j ranges from 1 to J, J represents the number of configuration files, Length(yj) represents the length cost associated with yj, max represents the maximum value operation, and min represents the minimum value operation. As shown in formula (8), the maximum objective function f(X) corresponds to each objective of formula (1) to formula (7), and guides the multi-objective optimization search direction from the aspects of the quality of the fault injection combination scheme, the fairness of the configuration file selection, and the coverage of low-probability events; the minimum objective function Cost(X) restricts the search algorithm from the number and complexity of the configuration files in the fault injection combination scheme to generate a most concise fault injection combination scheme that meets various measurement indicators; α and β reflect the relative importance between time cost (such as task execution time) and other metrics (such as the complexity of the configuration file), and their values ​​are set according to the implementation situation.

[0050] At the same time, constraints can be added, gi(xi)≤0, hi(xi)=0, i=1,…,n. Among them, gi(xi) represents the inequality constraints of the problem, which must be valid for all i, and these inequality constraints gi(xi) define the upper or lower bounds of the decision variables, where gi(xi) represents the inequality constraints of each fault information xi; hi(xi) represents the equality constraints of the problem, which must be valid for all i, and these equality constraints hi(xi) define the precise conditions that the decision variables must satisfy, where hi(xi) represents the equality constraints of each fault information xi. The boundaries of the feasible solutions to the problem are defined by gi(xi) and hi(xi), thereby ensuring that the fault injection combination solution found is practical and feasible.

[0051] S20. Using an improved genetic algorithm to solve the target evaluation function, an optimal combination scheme of fault injection is obtained.

[0052] Based on the target evaluation function constructed by S10, the fault performance and data characteristics of the distributed expert system are analyzed, and a fault injection method based on evolutionary testing is designed. This method describes the possible fault conditions in the distributed expert system as a solution space to be explored, and uses evolutionary testing to efficiently search for feasible solutions from this solution space, that is, the fault combination that may cause an accident in the distributed expert system. Specifically:

[0053] The process of solving the target evaluation function using the improved genetic algorithm in S20 of the present invention comprises the following steps:

[0054] S201, initialize the population; wherein the initialized population includes a number of individuals, each individual is defined as an injected fault combination scheme, each individual includes a number of chromosomes, each chromosome is defined as an injected fault information, and each chromosome carries gene bits including injection relative time, fault type, fault intensity, fault location and fault duration.

[0055] The search algorithm of the embodiment of the present invention adopts a genetic algorithm. The genetic algorithm makes the individuals of the population tend to the optimal solution through the evolutionary operation of the population. In order to generate the specific problem of injecting fault combination schemes, it is necessary to establish the corresponding relationship between faults and populations, individuals and chromosomes. Here, the population is defined as a set of all fault combination schemes to be injected. The population includes a number of individuals, each of which is defined as an injected fault combination scheme, which is a fault combination scheme that can be injected independently. Each individual includes a number of chromosomes, each of which is defined as an injected fault information, and the chromosome carries the gene bits of the relative injection time, fault type, fault intensity, fault location and fault duration. Among them, the relative injection time is used to generate different fault sequence combinations; the fault type is used to determine the actual action mode of the fault in the distributed expert system; the fault intensity is used to determine the size of the fault numerical parameter; the fault location is used to determine which services of the distributed expert system the fault acts on; and the fault duration is used to determine the timing of revoking the fault from the distributed expert system.

[0056] S202. The steps executed for each chromosome in the initialized population include: binary encoding the gene bits carried by the chromosome, including the relative injection time, the fault type and the fault location, and further Gray code encoding the binary-coded gene bits; real number encoding the gene bits carried by the chromosome, including the fault intensity and the fault duration; and generating a flag information for representing the encoding method for each gene bit of the chromosome.

[0057] After the definition is completed in S201, the selection of the encoding method affects the search efficiency of the genetic algorithm and the diversity of the solution space. The embodiment of the present invention adopts a hybrid encoding method according to the characteristics of chromosomes. Specifically:

[0058] The gene bits including the relative injection time, the fault type and the fault location are encoded in binary. That is to say, a binary gene value represents a possibility of the gene bit. At the same time, in order to avoid the problem that the binary gene value digits of adjacent gene bits are too different, resulting in the need for additional evolutionary generations, the embodiment of the present invention continues to use Gray code encoding after binary encoding. The conversion between binary encoding and Gray coding is expressed as follows:

[0059]

[0060] Among them, gi represents the Gray code encoding of the i-th gene position on the chromosome, bi+1 represents the binary code of the i+1-th gene position on the chromosome, bi represents the binary code of the i-th gene position on the chromosome, and m represents the number of gene positions on the chromosome.

[0061] Real number encoding is used for gene bits including fault intensity and fault duration. Under the constraints of a given legal gene value range, real number encoding has higher accuracy and lower search cost than binary encoding.

[0062] Since different crossover and mutation processing schemes will be used for different encoding methods in the future, an additional flag information vector is generated during the encoding process to save the actual encoding method of each gene position of the chromosome.

[0063] S203, randomly selecting two gene positions on the encoded chromosome, judging the encoding methods of the two selected gene positions according to the marker information, and performing crossover processing using different crossover methods according to the judged encoding methods.

[0064] S204, randomly selecting a segment on the chromosome after the crossover process, and judging whether the encoding methods of the gene positions on the segment are the same according to the marker information; if they are the same, performing mutation processing on the gene positions on the segment by using the chromosome segment reversal method.

[0065] The genetic algorithm begins iterative evolution after generating the initial population, and the main operations of evolution are crossover and mutation. Before two parent chromosomes cross to generate offspring chromosomes, it is necessary to determine the pairing rules between chromosomes. The embodiment of the present invention adopts a global crossover pairing method to perform crossover processing, that is, all parent chromosomes are randomly paired to generate offspring chromosomes. However, since a mixed coding method is adopted in the embodiment of the present invention, the embodiment of the present invention randomly selects two gene positions on the encoded chromosome, and judges the coding method of the two selected gene positions according to the flag information corresponding to the gene positions, and adopts different crossover methods to perform crossover processing according to the judged coding method, including: if the coding methods of the two gene positions are both Gray code coding, the two selected gene positions are crossover processed by the two-point crossover method; if the coding methods of the two gene positions are both real coding methods, the two selected gene positions are crossover processed by the uniform distribution crossover method. Among them,

[0066] The two-point crossover method will retain a certain fragment of information in the parent chromosome, and the uniform distribution crossover method randomly mixes the two parent chromosomes, which is conducive to quickly exploring the solution space. In the two-point crossover method, assuming that there are two parent chromosomes, P1 and P2, and two crossover points i and j are selected, the crossover processing of the two-point crossover method can be expressed as follows:

[0067]

[0068] Among them, Children1 and Children2 are the offspring chromosomes after two-point crossover processing, P1[0:i] represents the chromosome segment with gene positions from 0 to i in the parent chromosome P1, P1[i:j] represents the chromosome segment with gene positions from i to j in the parent chromosome P1, P1[j:m-1] represents the chromosome segment with gene positions from j to m-1 in the parent chromosome P1, P2[0:i] represents the chromosome segment with gene positions from 0 to i in the parent chromosome P2, P2[i:j] represents the chromosome segment with gene positions from i to j in the parent chromosome P2, and P2[j:m-1] represents the chromosome segment with gene positions from j to m-1 in the parent chromosome P2.

[0069] In the uniform distribution crossover method, a random number is generated for each gene position and the size of the random number is used to decide whether to exchange the gene values ​​at the corresponding positions of the two parent chromosomes.

[0070] Further, the present invention selects a chromosome segment reversal method to complete the chromosome mutation operation, and its working principle is to randomly select two or more gene positions from the chromosome of an individual to exchange and update the individual. Since a mixed encoding method is adopted, if no additional measures are taken, it is very likely that the gene positions of two different encoding methods will be reversed, so an additional flag position vector is generated during encoding to limit the reversal of the gene positions of different encoding methods. At the same time, since real number encoding will strictly limit the interval range of gene values, when two real number encoded gene positions are reversed, illegal gene values ​​will occur, that is, the gene value of the gene position after the mutation processing exceeds the legal gene value threshold, so it is necessary to adopt a random repair mechanism for repair, specifically: the embodiment of the present invention determines whether the gene value of the gene position after the mutation processing exceeds the legal gene value threshold according to the flag information, and if it exceeds, the random repair mechanism is used to repair the gene value of the corresponding gene position to a random value within a given legal gene value range, wherein the legal gene value threshold and the legal gene value range are set according to the actual situation. The mutation operation is mainly used to increase the search space and help to jump out of the local optimal solution.

[0071] S205. Calculate the fitness value of each individual in the population after the mutation process according to the target evaluation function, and screen the individuals according to the fitness value to obtain a new initialized population.

[0072] For each individual in the population after the S204 mutation processing, the corresponding fitness value is calculated according to the objective evaluation function shown in formula (8), and individuals are screened according to the fitness value to obtain a new initialized population. The diversity of the population needs to be ensured during the screening process. As for how to perform individual screening, an embodiment of the present invention provides a feasible solution, which performs individual screening according to the fitness value to obtain a new initialized population, including: performing non-dominated sorting on all individuals in the population after the mutation processing according to the fitness value; obtaining a number of first reference points, and performing individual screening on the non-dominated sorting results based on each first reference point, and a new initialized population is formed by all screened individuals; wherein the first reference point is obtained using a reference point reconstruction method based on historical experience. More specifically:

[0073] As is known to all, the crowding sorting algorithm based on reference points can ensure the diversity of the population. The algorithm is shown in Figure (2). After the current population completes the crossover and mutation operation, the fitness value of each individual is first calculated according to the objective evaluation function, and then the population is non-dominated sorted according to the fitness value. In multi-objective optimization problems, if a solution dominates another solution, then it is at least as good as the other solution in all objectives and better than the other solution in at least one objective. After non-dominated sorting, the non-dominated individuals in the population are assigned to the first level, and the number of dominated solutions of each individual is recorded. The individuals in each level are sorted according to the number of dominated solutions. In each level, the individuals with the fewest dominated solutions are selected as the secondary solutions, and it is iterated from the first level. Then, a set of reference points is generated and the individuals of the next generation population are selected according to the distance between the individuals and the reference points. The reference points are generally generated uniformly according to the objective evaluation function of the problem and the target space range. The reference points not only represent the coverage area of ​​the expected population, but also guide the evolutionary direction of the population. Finally, each reference point will associate the individuals around it as candidate individuals for the next generation of the population. Therefore, crowding calculations are performed on the individuals around each reference point. For reference points that are associated with too many individuals, it is necessary to remove the individuals with low non-dominated rankings and reselect replacements from the contemporary population.

[0074] However, in order to evaluate the quality of the population generated by the genetic algorithm in the distributed expert system at runtime, the genetic algorithm must be able to cope with dynamic environments. Solving dynamic multi-objective optimization problems in the field of multi-objective optimization is a new challenge. The method of uniformly generating a set of reference points is only applicable to static distributed expert systems and is not applicable to dynamic distributed expert systems. In response to this problem, an embodiment of the present invention designs a reference point reconstruction method based on historical experience. However, historical experience means that in the process of iterative fault injection, the feedback information of the distributed expert system is archived each time a fault is injected. When the genetic algorithm is used to generate a combined scheme for injection of faults next time, the reference point reconstruction can be guided by the archived feedback information. Therefore, the process of obtaining the first reference point by using the reference point reconstruction method based on historical experience proposed in the present invention includes: calculating the historical population center point; calculating the reconstruction offset set based on the historical archived information set, the non-dominated sorting result and the historical population center point; uniformly generating a number of second reference points; and calculating the corresponding first reference point based on the reconstruction offset set and the second reference point. More specifically:

[0075] Assuming that the historical archive information set at the t-1th iteration is Qt-1, and the population at the t-1th iteration is Xt-1, that is, a combined fault injection scheme, the formula for calculating the historical population center point Ctrt-1 at the t-1th iteration is:

[0076]

[0077] in, represents the i-th injected fault information in population Xt-1, and n represents the number of injected fault information in population Xt-1. Then, the reconstruction offset set is calculated based on the historical archive information set Qt-1, the non-dominated sorting result and the historical population center point Ctrt-1, and the formula is expressed as:

[0078]

[0079] Among them, Dift-1 represents the set of reconstructed offsets at the t-1th iteration, represents the non-dominated individuals of the population at the t-1th iteration, Indicates the t-1th iteration The corresponding reconstruction offset. Further, the corresponding first reference point is calculated according to the reconstruction offset set and the second reference point, and the formula is expressed as:

[0080]

[0081] Where RefPt represents the first reference points at the tth iteration. It represents a number of second reference points uniformly generated at the t-th iteration, and min represents the minimum value operation.

[0082] Furthermore, the process obtained by the reference point reconstruction method based on historical experience in the embodiment of the present invention also includes: calculating the incremental values ​​including the fault duration target, the fault diffusion target, the non-redundant fault injection scheme target and the number of anomalies caused target; updating the historical archive information set according to the incremental value and the non-dominated sorting result. Wherein, the historical archive information set is updated according to the incremental value and the non-dominated sorting result, and the formula is expressed as:

[0083]

[0084] Among them, Qt represents the historical archive information set at the tth iteration, represents the non-dominated individuals of the population at the tth iteration, represents the non-dominated individuals of the population at the t-1th iteration, Δ ( f4+f5+f6+f7 )t represents the incremental value obtained by injecting the distributed expert system at the tth iteration, including the fault duration target, fault diffusion target, non-redundant fault injection scheme target and the target of the number of anomalies caused, and T represents the maximum number of iterations. It can be seen that the historical archive information set Qt of each iteration is obtained by recursive calculation formula as shown in the formula. In the problem model shown in formula (8) designed in the embodiment of the present invention, such optimization targets as the fault duration target, fault diffusion target, non-redundant fault injection scheme target and the target of the number of anomalies caused, in fact, it is impossible to evaluate the population quality through the static information of the population. The population quality must be determined through the feedback information after injection, that is, the historical archive information set, so as to solve the challenge of dynamically evaluating the population through iterative injection.

[0085] The embodiment of the present invention provides theoretical support for reference point reconstruction, so that the population always evolves in the direction that is most capable of discovering distributed expert system faults, thereby enhancing the search efficiency and accuracy of the genetic algorithm.

[0086] S206, perform the above crossover processing, mutation processing, and individual screening process on the newly initialized population until the iteration stop condition is met, output the optimal individual, and use the injection fault combination scheme corresponding to the optimal individual as the optimal injection fault combination scheme. For example, the iteration stop condition can be the maximum number of iterations, and when the iteration reaches the maximum number of iterations, the optimal individual is output.

[0087] S30. Using a fault injection tool, inject the optimal fault injection combination scheme into the distributed expert system to obtain reliability verification results.

[0088] The embodiment of the present invention generates the most suitable injection fault combination scheme through S10~S20. In the reliability verification link: the generated injection fault combination scheme is decoded into a structured description file that can be interpreted by the fault injection tool, such as a YAML file, and then the fault injection tool executes the injection process to cause the distributed expert system to fail, and collects data, logs and trajectory information of the distributed expert system in the fault state. At the same time, the structured description file of the fault is used for targeted collection to effectively reduce the data size, and the steady-state identification model of the support vector machine is used to intelligently identify whether the distributed expert system is in a steady state and perform fault-tolerant analysis, and finally obtain the reliability verification result.

[0089] The embodiment of the present invention evaluates the effectiveness and advancement of the method proposed in the present invention by conducting comparative experiments. The experimental results show that the method proposed in the present invention can effectively generate a combination scheme for injecting faults, and the comparative experiments prove that the fault coverage and service coverage of the method proposed in the present invention are improved. Through experimental testing, the results show that compared with the random fault injection method commonly used in the industry, the method proposed in the present invention improves the fault coverage by 46.29% and the service coverage by 27.5%. At the same time, by using the steady-state identification model based on support vector machines, it is possible to effectively identify whether the distributed expert system is in a steady state under normal operating conditions and fault conditions, providing an accurate evaluation basis for fault injection.

[0090] In summary, the reliability verification method for a distributed expert system proposed in an embodiment of the present invention proposes a series of fault evaluation indicators including a service area coverage target, a fault type coverage target, a service call coverage target, a fault duration target, a fault diffusion target, a non-redundant fault injection scheme target, and a triggering anomaly number target, and designs a target evaluation function by integrating these fault evaluation indicators, thereby calculating the severity and impact range of the fault in real time, helping to identify the weak links of the distributed expert system when facing a fault, preventing and reducing the impact of the fault in the environment in advance, and thus enhancing the resilience of the distributed expert system, that is, the ability of the distributed expert system to cope with faults or unexpected situations, including the resistance, recovery and adaptability of the distributed expert system; the present invention implements The embodiment proposes a fault injection scheme generation method based on evolutionary testing, which realizes the generation of injection fault combination schemes by establishing a problem model and determining the target evaluation function. In the implementation, a genetic algorithm is used to find the optimal injection fault combination in the fault combination space of the distributed expert system, so as to more effectively discover the elasticity defects of the distributed expert system and more comprehensively cover the potential fault points of the distributed expert system, thereby improving the fault reliability verification capability and the reliability of the distributed expert system; the method proposed in the embodiment of the present invention can be used for automated fault injection and observation, thereby improving the efficiency of the testing process and reducing test errors caused by human factors, and through automated testing and fault simulation, it can reduce dependence on professional operation and maintenance personnel and reduce the operation and maintenance costs and human resource consumption of the distributed expert system. In general, the method proposed in the present invention is based on a series of fault assessment indicators and genetic algorithms, which can ensure that the fault injection scheme has higher service coverage and fault type coverage, thereby improving the comprehensiveness of reliability verification, and can simulate different fault scenarios, evaluate the performance of distributed expert systems under various fault conditions, and demonstrate how to intelligently generate fault injection combination schemes, and verify and improve the resilience of distributed expert systems through the generated fault injection combination schemes, ensuring that the distributed expert systems can maintain stable operation and recover quickly when facing various potential faults and challenges.

[0091] In the description of the present invention, it should be understood that the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of the present invention, the meaning of "plurality" is two or more, unless otherwise clearly and specifically defined.

[0092] Although the present invention is described herein in conjunction with various embodiments, in the process of implementing the claimed invention, those skilled in the art may understand and implement other variations of the disclosed embodiments by viewing the specification and its drawings. In the specification, the word "comprising" does not exclude other components or steps, and "a" or "one" does not exclude multiple situations. Certain measures are recorded in different embodiments, but this does not mean that these measures cannot be combined to produce good results.

[0093] The above contents are further detailed descriptions of the present invention in combination with specific preferred embodiments, and it cannot be determined that the specific implementation of the present invention is limited to these descriptions. For ordinary technicians in the technical field to which the present invention belongs, several simple deductions or substitutions can be made without departing from the concept of the present invention, which should be regarded as falling within the protection scope of the present invention.

Claims

1. A reliability verification method for distributed expert systems, characterized in that: The method comprises: In combination with the characteristics of the distributed expert system, a target evaluation function is designed; wherein, when designing the target evaluation function, the expert area coverage target, the fault type coverage target, the expert service call coverage target, the fault duration target, the fault diffusion target, the non-redundant fault injection combination scheme target and the anomaly number target are comprehensively considered; Using an improved genetic algorithm to solve the target evaluation function, an optimal fault injection combination scheme is obtained; Using a fault injection tool, injecting the optimal fault injection combination scheme into a distributed expert system to obtain a reliability verification result; The process of solving the target evaluation function by using the improved genetic algorithm includes: Initialize the population; wherein the initialized population includes a number of individuals, each individual is defined as a combination scheme of injected faults, each individual includes a number of chromosomes, each chromosome is defined as a type of injected fault information, and each chromosome carries gene bits including relative injection time, fault type, fault intensity, fault location, and fault duration; The steps performed for each chromosome in the initialized population include: binary encoding of the gene bits carried by the chromosome, including the relative injection time, the fault type and the fault location, and further Gray code encoding of the binary-coded gene bits; real number encoding of the gene bits carried by the chromosome, including the fault intensity and the fault duration; and generating a flag information for representing the encoding method for each gene bit of the chromosome; Randomly selecting two gene positions on the encoded chromosome, judging the encoding modes of the two selected gene positions according to the marker information, and performing crossover processing using different crossover methods according to the judged encoding modes; A segment is randomly selected on the chromosome after the crossover process, and whether the encoding methods of the gene positions on the segment are the same is determined according to the marker information; if they are the same, a chromosome segment reversal method is used to perform mutation processing on the gene positions on the segment; Calculating the fitness value of each individual in the population after the mutation process according to the target evaluation function, and performing individual screening according to the fitness value to obtain a new initialized population; The above crossover processing, mutation processing, and individual screening process are performed on the newly initialized population until the iteration stop condition is met, and the optimal individual is output, and the injection fault combination scheme corresponding to the optimal individual is used as the optimal injection fault combination scheme.

2. The reliability verification method for distributed expert systems according to claim 1, characterized in that: The designed objective evaluation function is expressed as follows: Wherein, ω represents the set of fault injection combination schemes, X represents an injection fault combination scheme in ω, X=(x1,…,xi,…,xn), n represents the number of injected fault information in X, xi represents the i-th injected fault information in X, f1(X) represents the expert area coverage objective function, f2(X) represents the fault type coverage objective function, f3(X) represents the expert service call coverage objective function, f4(X) represents the fault duration objective function, f5(X) represents the fault diffusion objective function, f6(X) represents the non-redundant injection fault combination scheme objective function, f7(X) represents the number of anomalies caused objective function, α and β represent weight coefficients, Time(xi) represents the time cost associated with xi, yj represents the complexity of the j-th configuration file associated with xi, j ranges from 1 to J, J represents the number of configuration files, Length(yj) represents the length cost associated with yj, max represents the maximum value operation, and min represents the minimum value operation.

3. The reliability verification method for distributed expert systems according to claim 2 is characterized in that: The expert area coverage objective function f1(X) is expressed as: Where L represents the number of expert nodes in the distributed expert system, node1 represents the lth expert node in the distributed expert system, and Hit(node1) represents the function of whether X hits node1. The fault type coverage objective function f2(X) is expressed as: Among them, NewF(xi) represents the function to determine whether xi has a new fault category, and N represents the number of fault types analyzed by the distributed expert system; The expert service call coverage objective function f3(X) is expressed as: Among them, NewCall(xi) represents the function of finding how many new call relations xi covers, and M represents the number of all call relations in the distributed expert system; The fault duration objective function f4(X) is expressed as: Among them, Timedc(xi) represents the time when the distributed expert system discovers xi, Timeda(xi) represents the time after xi is processed by the distributed expert system, Timebegin(xi) represents the time when xi is injected, and Timeend(xi) represents the time when xi ends; The fault diffusion objective function f5(X) is expressed as: Wherein, Mes(node1) represents the function for finding the deviation of node1 from the steady state during the X injection period, and Mes(xi) represents the function for finding the deviation of xi from the steady state during the X injection period; The objective function f6(X) of the non-redundant fault injection combination scheme is expressed as: Among them, InjectedSet represents the set of injected fault solutions, Diff(xi ∩ InjectedSet) represents the function of finding the difference between the intersection of xi and InjectedSet; The objective function f7(X) of the number of exceptions triggered is expressed as: Among them, Log(xi) represents the function of the number of exceptions thrown by the distributed expert system for xi.

4. The reliability verification method for distributed expert systems according to claim 1, characterized in that: Different crossover methods are used for crossover processing according to the determined encoding method, including: If the encoding methods of the two gene positions are both Gray code, the two selected gene positions are cross-processed using the two-point crossover method; If the coding methods of the two gene positions are both real coding methods, the uniform distribution crossover method is used to crossover the two selected gene positions.

5. The reliability verification method for distributed expert systems according to claim 1, characterized in that: Before calculating the fitness value of each individual in the population after the mutation processing according to the target evaluation function, it also includes: According to the flag information, it is determined whether the encoding method of the gene bit after the mutation processing is real number encoding. If so, it is further determined whether the gene value of the gene bit after the mutation processing exceeds the legal gene value threshold. If it exceeds, a random repair mechanism is used to repair the gene value of the corresponding gene bit to a random value within a given legal gene value range.

6. The reliability verification method for distributed expert systems according to claim 1, characterized in that: Individual screening is performed according to the fitness value to obtain a new initialized population, including: Performing non-dominated sorting on all individuals in the population after the mutation process according to the fitness value; A number of first reference points are obtained, and non-dominated sorting results are individually screened based on each first reference point, so that all screened individuals constitute a new initialized population; wherein the first reference points are obtained by using a reference point reconstruction method based on historical experience.

7. The reliability verification method for distributed expert systems according to claim 6, characterized in that: The process of obtaining the first reference point by using the reference point reconstruction method based on historical experience includes: Calculate the historical population center point; Calculate a reconstruction offset set according to a historical archive information set, the non-dominated sorting result and the historical population center point; uniformly generating a plurality of second reference points; A corresponding first reference point is calculated according to the reconstruction offset set and the second reference point.

8. The reliability verification method for distributed expert systems according to claim 7, characterized in that: The reconstruction offset set is calculated based on the historical archive information set, the non-dominated sorting result and the historical population center point, and the formula is expressed as: Among them, Dift-1 represents the set of reconstructed offsets at the t-1th iteration, represents the non-dominated individual of the population at the t-1th iteration, Ctrt-1 represents the historical population center at the t-1th iteration, Indicates the t-1th iteration The corresponding reconstruction offset, Qt-1 represents the historical archive information set at the t-1th iteration; The corresponding first reference point is calculated according to the reconstruction offset set and the second reference point, and the formula is expressed as: Where RefPt represents the first reference points at the tth iteration. It represents a number of second reference points uniformly generated at the t-th iteration, and min represents the minimum value operation.

9. The reliability verification method for distributed expert systems according to claim 7, characterized in that: The process of obtaining the reference point reconstruction method based on historical experience also includes: Calculate the incremental values ​​of the fault duration target, fault diffusion target, non-redundant fault injection scheme target, and the number of anomalies caused target; The historical archive information set is updated according to the incremental value and the non-dominated sorting result.

10. The reliability verification method for distributed expert systems according to claim 9, characterized in that: The historical archive information set is updated according to the incremental value and the non-dominated sorting result, and the formula is expressed as: Among them, Qt represents the historical archive information set at the tth iteration, represents the non-dominated individuals of the population at the tth iteration, represents the non-dominated individuals of the population at the t-1th iteration, Δ ( f4+f5+f6+f7 ) t represents the incremental value of the fault duration target, fault diffusion target, non-redundant fault injection scheme target and the number of anomalies caused by injecting into the distributed expert system at the tth iteration, and T represents the maximum number of iterations.

Citation Information

Patent Citations

  • Genetic-algorithm-based fault attack resistance capability evaluation method of integrated circuit

    CN108021975A

  • Fault change code prediction method based on four-objective optimization

    CN108563555A