A software service life prediction method, system, device, product and medium

By conducting fault category analysis and comprehensive predictive variable clustering on the software, combined with neural network prediction model, the software service life prediction is achieved, the problem of lack of software life prediction in the existing technology is solved, and the preventiveness and efficiency of software maintenance is improved.

CN119179971BActive Publication Date: 2025-02-28CHINA STATE SHIPBUILDING CORP NO 707 RES INST
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

The lack of predictive research on the service life of software in the prior art makes it difficult for software to be warned and prevented in advance during the degradation process, which may lead to software crash or unavailability.

Method used

By selecting the target software, determine its expected residual service life and potential fault types, obtaining historical data sets for data cleaning, extracting fault categories, calculating the frequency and intensity of faults, clustering to obtain comprehensive predictor variables, and predicting the expected residual life of the software through neural network prediction models.

Benefits of technology

It realizes prediction of the service life of the software, and can early warning of software degradation, help developers update or repair software in a timely manner, avoiding greater losses caused by future damage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure FT_1
    Figure FT_1
  • Figure FT_2
    Figure FT_2
  • Figure FT_3
    Figure FT_3
Patent Text Reader

Abstract

The present invention relates to the technical field of software life prediction, and provides a method, system, device, product and medium for predicting software life, including selecting target software; obtaining a historical data set of the target software, performing data cleaning on the historical data set to obtain a target data set; obtaining multiple fault category sets from the target data set; sorting the multiple fault category sets to obtain multiple fault sequences, determining the fault frequency coefficient of each fault sequence based on the multiple faults, determining the fault severity coefficient of each fault sequence, calculating the initial comprehensive prediction variable of each fault sequence, clustering each initial comprehensive prediction variable to obtain a comprehensive prediction variable; determining the target comprehensive prediction variable to obtain a neural network prediction model, inputting the comprehensive prediction variable into the neural network prediction model, and predicting the expected remaining life of the target software through the target comprehensive prediction variable. The present invention effectively predicts the service life of the software.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of software life prediction, and in particular to a method, system, device, product and medium for predicting software service life. Background Art

[0002] Health management has been widely used in hardware systems in both electronic and non-electronic fields, but its application in the software field has not been deeply explored. Although there is a lot of research on software defect prediction, software reliability prediction and maintainability prediction, and software availability, there is no relevant research on the prediction of software remaining useful life in the current software development and use process. Although software does not age over time, it can degrade during the release cycle. Software degradation can be caused by old undeleted code or residual code, which may be contained in the code base, code environment, and bugs that have not been resolved during the change process of the code environment and components. Other reasons include lack of software updates and upgrades, improper maintenance, architecturally incompatible changes to the code, improper integration, memory leaks, data corruption, and unused code. Software health management is limited to the diagnostic assessment of current problems, while the remaining useful life prediction can indicate when future problems will become unacceptable and unusable. Summary of the invention

[0003] The present invention aims to solve at least one of the technical problems existing in the related art. To this end, the present invention provides a software service life prediction method to achieve the prediction of the remaining service life of the software.

[0004] The present invention provides a software service life prediction method, comprising:

[0005] S1: Select target software, determine the expected remaining service life of the target software, and determine potential failure types of the target software;

[0006] S2: Acquire a historical data set of the target software, and perform data cleaning on the historical data set according to the expected remaining service life and the potential fault types to obtain a target data set;

[0007] S3: extracting multiple target data from the target data set, and classifying each target data into fault categories to obtain multiple fault category sets;

[0008] S4: sorting the plurality of fault category sets to obtain a plurality of fault sequences, determining the fault frequency coefficient of each fault sequence in each fault sequence by using the Fibonacci sequence, determining the fault severity coefficient of each fault sequence, calculating the initial comprehensive prediction variable of each fault sequence by using the fault severity coefficient and the fault frequency coefficient, clustering each of the initial comprehensive prediction variables to obtain a comprehensive prediction variable;

[0009] S5: Determine a target comprehensive prediction variable, obtain a neural network prediction model, input the comprehensive prediction variable into the neural network prediction model, and predict the expected remaining life of the target software through the target comprehensive prediction variable.

[0010] According to a software service life prediction method provided by the present invention, step S2 specifically includes:

[0011] S21: Acquire a historical data set of the target software and establish a quality assessment matrix for the target software;

[0012] S22: Determine an expected evaluation result according to the quality evaluation matrix and the expected remaining service life, and select the target data set from the historical data set according to the potential fault type and the expected evaluation result.

[0013] According to a software service life prediction method provided by the present invention, step S4 specifically includes:

[0014] S41: sorting the plurality of fault category sets according to fault frequencies to obtain a plurality of fault sequences;

[0015] S42: generating a Fibonacci sequence for each of the fault sequences, and sorting the Fibonacci sequence according to the fault sequences to obtain a fault frequency coefficient of each of the fault sequences;

[0016] S43: Determine the fault severity coefficient of each of the fault sequences, and calculate the initial comprehensive prediction variable of each of the fault sequences by using the fault severity coefficient and the fault frequency coefficient:

[0017]

[0018] Where CPV represents the initial composite predictor variable, The fault frequency coefficient representing the nth fault category in the fault sequence; The fault severity coefficient representing the nth fault category in the fault sequence;

[0019] S44: Select a clustering algorithm, and cluster each of the initial comprehensive prediction variables using the clustering algorithm to obtain a comprehensive prediction variable.

[0020] According to a software service life prediction method provided by the present invention, step S44 further includes:

[0021] S441: Selecting the clustering algorithm, and obtaining the cluster center by calculating the initial comprehensive prediction variables;

[0022] S442: Clustering all the initial comprehensive prediction variables through the cluster center and using the clustering algorithm to obtain the comprehensive prediction variable.

[0023] According to a software service life prediction method provided by the present invention, step S5 specifically includes:

[0024] S51: Acquire performance expectations, determine the target comprehensive prediction variables through the expected remaining service life and the performance expectations, and acquire the neural network prediction model;

[0025] S52: extracting time information of each of the comprehensive prediction variables, and inputting the comprehensive prediction variables into the neural network prediction model according to the time sequence of the time information;

[0026] S53: The neural network prediction model predicts multiple future comprehensive prediction variables through the comprehensive prediction variables, and obtains the expected remaining life of the target software through the future comprehensive prediction variables and the target comprehensive prediction variables.

[0027] According to a software service life prediction method provided by the present invention, the fault category set includes server faults, network faults, database faults, configuration faults and resource faults.

[0028] The present invention also provides a software service life prediction system, comprising:

[0029] Potential fault type module: used to select target software, determine the expected remaining service life of the target software, and determine the potential fault types of the target software;

[0030] Target data set module: used for acquiring the historical data set of the target software, performing data cleaning on the historical data set according to the expected remaining service life and the potential fault types, and obtaining the target data set;

[0031] Fault category set module: used to extract multiple target data from the target data set, perform fault classification on each target data, and obtain multiple fault category sets;

[0032] Comprehensive prediction variable module: used for sorting the multiple fault category sets to obtain multiple fault sequences, determining the fault frequency coefficient of each fault sequence by the Fibonacci sequence in each fault sequence, determining the fault severity coefficient of each fault sequence, calculating the initial comprehensive prediction variable of each fault sequence by the fault severity coefficient and the fault frequency coefficient, clustering each of the initial comprehensive prediction variables to obtain a comprehensive prediction variable;

[0033] Expected remaining life module: used to determine the target comprehensive prediction variables, obtain the neural network prediction model, input the comprehensive prediction variables into the neural network prediction model, and predict the expected remaining life of the target software through the target comprehensive prediction variables.

[0034] The present invention also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the steps of a software service life prediction method as described in any one of the above are implemented.

[0035] The present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of a software service life prediction method as described in any one of the above are implemented.

[0036] The present invention also provides a computer program product, which includes a computer program stored on a non-transitory computer-readable storage medium, and the computer program includes program instructions. When the program instructions are executed by a computer, the computer can execute the steps of a software service life prediction method as described in any one of the above-mentioned methods.

[0037] The above one or more technical solutions in the embodiments of the present invention have at least one of the following technical effects:

[0038] The present invention provides a software service life prediction method, system, device, product and medium. The method first determines the set of fault categories that affect the software life, and comprehensively characterizes the impact of fault frequency and fault severity on the software life by calculating comprehensive prediction variables. The expected remaining life of the target software is predicted by a neural network prediction model, so that the software can be updated or repaired in time to avoid greater losses caused by future software damage.

[0039] Additional aspects and advantages of the present invention will be given in part in the following description and in part will be obvious from the following description, or will be learned through practice of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] In order to more clearly illustrate the technical solutions in the present invention or the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0041] Figure 1 It is a flow chart of a software service life prediction method provided by the present invention.

[0042] Figure 2 It is a structural schematic diagram of a software service life prediction system provided by the present invention.

[0043] Figure 3 It is a structural schematic diagram of a software service life prediction device provided by the present invention.

[0044] Reference numerals:

[0045] 100, potential fault type module; 200, target data set module; 300, fault category set module; 400, comprehensive prediction variable module; 500, expected remaining life module; 810, processor; 820, communication interface; 830, memory; 840, communication bus. DETAILED DESCRIPTION

[0046] In order to make the purpose, technical scheme and advantages of the present invention clearer, the technical scheme in the present invention will be clearly and completely described below. Obviously, the described embodiments are part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments in the present invention, all other embodiments obtained by ordinary technicians in the field without creative work are within the scope of protection of the present invention. The following embodiments are used to illustrate the present invention, but cannot be used to limit the scope of the present invention.

[0047] In the description of the embodiments of the present invention, it should be noted that the terms “first”, “second” and “third” are only used for descriptive purposes and cannot be understood as indicating or implying relative importance.

[0048] In the description of the embodiments of the present invention, it should be noted that, unless otherwise clearly specified and limited, the terms "connected" and "connection" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection or an indirect connection through an intermediate medium. For ordinary technicians in this field, the specific meanings of the above terms in the embodiments of the present invention can be understood according to specific circumstances.

[0049] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the embodiment of the present invention. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, without contradiction.

[0050] Combine the following Figures 1 to 3 Describing embodiments of the present invention:

[0051] Figure 1 The figure is a flowchart of a software service life prediction method. First, the expected remaining service life and potential fault types are determined and the historical data set is obtained. Then, data cleaning is performed to obtain the fault category set and calculate the initial comprehensive prediction variables. The initial comprehensive prediction variables are clustered to obtain comprehensive prediction variables. Subsequently, the neural network prediction model is used to predict and obtain the expected remaining service life.

[0052] The present invention provides a software service life prediction method, comprising:

[0053] S1: Select target software, determine the expected remaining service life of the target software, and determine potential failure types of the target software;

[0054] Furthermore, the purpose of this stage is to determine the expected remaining service life and potential fault types of the target software. Specifically, first determine a fixed version of software as the target software, and determine the expected remaining service life of the target software, that is, the remaining service life of the target software estimated based on experience; at the same time, determine the potential fault types of the target software, and the potential fault types include faults that may affect the remaining service life of the target software, such as server interface damage, server configuration errors, network connection failures, serious network packet loss, missing database key data, configuration file damage, resource data file damage, etc. In this embodiment, a series of parameters used to measure the performance of the target software to determine whether it has reached its service life can be first determined as software parameters, such as response speed, throughput, execution rate, etc., and then the fault types that will affect the software parameters are taken as potential fault types.

[0055] S2: Acquire a historical data set of the target software, and perform data cleaning on the historical data set according to the expected remaining service life and the potential fault types to obtain a target data set;

[0056] Furthermore, the purpose of this stage is to clean the historical data set to obtain a target data set that can be used to predict the expected remaining life. Step S2 further includes:

[0057] S21: Acquire a historical data set of the target software and establish a quality assessment matrix for the target software;

[0058] S22: Determine an expected evaluation result according to the quality evaluation matrix and the expected remaining service life, and select the target data set from the historical data set according to the potential fault type and the expected evaluation result.

[0059] With respect to the above steps, the specific implementation methods in this embodiment are as follows:

[0060] First, the historical data of the target software is obtained as a historical data set, which includes the fault records of the target software in various time periods in the past, data missing values, error rates, etc. Then, a quality assessment matrix for the target software is established. The specific contents of the quality assessment matrix are as follows:

[0061] Table 1 Quality assessment matrix of target software

[0062]

[0063] In the evaluation criteria, integrity refers to the completeness of the data in the target software, which is measured by the proportion of missing values; accuracy refers to the accuracy of the data in the target software, which is measured by the error rate; consistency refers to the consistency of repeated content in the target software; and timeliness refers to the frequency of data updates in the target software. After determining the quality evaluation matrix, the result expectation can be determined based on the expected remaining service life and the quality evaluation matrix. The result expectation is the evaluation result of the target software in each evaluation dimension when the software reaches the expected remaining service life based on the expected remaining service life and experience. The result expectation will decrease as the expected remaining service life increases. For example, after determining the expected remaining service life of the target software, based on experience and the summary of the software's past historical data, it is determined that when the target software reaches the expected remaining service life, the evaluation results of integrity and consistency should be good, and the evaluation results of accuracy and timeliness should be average. At this time, the evaluation results of integrity and consistency as good and the evaluation results of accuracy and timeliness as average can be used as the result expectation. Then, according to the potential fault types and the evaluation result expectations, the target data set is selected from the historical data set to complete the data cleaning. That is, the data whose fault types in the data are not in the potential fault types and the evaluation results of the target software in the data are lower than the result expectations are eliminated.

[0064] S3: extracting multiple target data from the target data set, and classifying each target data into fault categories to obtain multiple fault category sets;

[0065] Furthermore, the purpose of this stage is to classify the target data and obtain a set of fault categories. Specifically, first, multiple target data are extracted from the target data set. The target data includes the faults that occurred in the target software at a certain time and the time at this time. The time is used as time information. Then, the fault information in each target data is classified, that is, similar faults are classified into one type of fault according to the cause of the fault, so as to obtain a set of fault categories for each target data. The set of fault categories includes server faults, network faults, database faults, configuration faults, and resource faults.

[0066] S4: sorting the plurality of fault category sets to obtain a plurality of fault sequences, determining the fault frequency coefficient of each fault sequence in each fault sequence by using the Fibonacci sequence, determining the fault severity coefficient of each fault sequence, calculating the initial comprehensive prediction variable of each fault sequence by using the fault severity coefficient and the fault frequency coefficient, clustering each of the initial comprehensive prediction variables to obtain a comprehensive prediction variable;

[0067] Furthermore, the purpose of this stage is to arrange the faults and calculate their initial comprehensive prediction variables according to the severity and fault frequency, and obtain the comprehensive prediction variables after clustering. Step S4 specifically includes:

[0068] S41: sorting the plurality of fault category sets according to fault frequencies to obtain a plurality of fault sequences;

[0069] S42: generating a Fibonacci sequence for each of the fault sequences, and sorting the Fibonacci sequence according to the fault sequences to obtain a fault frequency coefficient of each of the fault sequences;

[0070] S43: Determine the fault severity coefficient of each of the fault sequences, and calculate the initial comprehensive prediction variable of each of the fault sequences by using the fault severity coefficient and the fault frequency coefficient:

[0071]

[0072] Where CPV represents the initial composite predictor variable, The fault frequency coefficient representing the nth fault category in the fault sequence; The fault severity coefficient representing the nth fault category in the fault sequence;

[0073] S44: Select a clustering algorithm, and cluster each of the initial comprehensive prediction variables using the clustering algorithm to obtain a comprehensive prediction variable.

[0074] Step S44 also includes:

[0075] S441: Selecting the clustering algorithm, and obtaining the cluster center by calculating the initial comprehensive prediction variables;

[0076] S442: Clustering all the initial comprehensive prediction variables through the cluster center and using the clustering algorithm to obtain the comprehensive prediction variable.

[0077] With respect to the above steps, the specific implementation methods in this embodiment are as follows:

[0078] First, the fault categories included in each fault category set are sorted according to the fault frequency. For example, in this embodiment, the fault frequencies are arranged from low to high, thereby obtaining multiple fault sequences, and the fault sequences contain the time information of the fault sequences. Fault frequency is a measure of the frequency of occurrence of fault categories, and the frequency of occurrence of each fault category is determined according to experience. Then, a Fibonacci sequence is generated for each fault sequence. For example, when a fault sequence includes 5 fault categories that have been arranged from low to high according to the fault frequency, a set of Fibonacci sequences can be generated for it: 1, 2, 3, 5, 8; here, since the first and second digits of the Fibonacci sequence are both 1, the first digit is discarded and the generation starts from the second digit. Since the fault frequency of the fault sequence is sorted from low to high, the corresponding Fibonacci sequence is also arranged from low to high. Then, the numbers in this Fibonacci sequence arranged from low to high can be ranked one by one as the fault frequency coefficient of each fault category in the fault sequence. The Fibonacci sequence is used here because each number in the Fibonacci sequence increases exponentially from the previous number, thus helping users to more easily identify the difference and better distinguish how frequently each fault category occurs.

[0079] Then, the fault severity coefficient of each fault category in the fault sequence is determined based on experience. The fault severity coefficient is a measure of the severity of the consequences caused by the fault category. In this embodiment, the consequences caused by the fault category are first divided into four categories based on experience: extremely serious, serious, moderate and minor. The fault severity coefficients corresponding to the four types of consequences are set to 1, 0.75, 0.5, and 0.25, respectively. Then, a fault severity coefficient is assigned to each fault category, and the fault severity coefficient corresponds to the fault category one by one. Then, the initial comprehensive prediction variable of each fault sequence can be calculated by the fault severity coefficient and the fault frequency coefficient:

[0080]

[0081] Where CPV represents the initial composite predictor variable, The fault frequency coefficient representing the nth fault category in the fault sequence; The fault severity coefficient of the nth fault category in the fault sequence is represented. Here, since the fault sequence includes time information, the initial comprehensive prediction variable also includes the corresponding time information. Here, if the target data corresponding to the fault sequence records the existence of effective repairs for the fault category, since the repair can effectively reduce the frequency of similar faults and increase the service life of the target software, the fault frequency coefficient can be negative.

[0082] Then, a clustering algorithm is selected to cluster the initial comprehensive prediction variables. The clustering algorithm selected here is the k-means method. The cluster center is calculated based on the initial comprehensive prediction variables. The method selected here is to calculate the median of all initial comprehensive prediction variables and use the median of the initial comprehensive prediction variables as the cluster center. Then, all initial comprehensive prediction variables are clustered through the cluster center and the clustering algorithm, and the initial comprehensive prediction variables that are too far from the cluster center are deleted, and the remaining initial comprehensive prediction variables are used as comprehensive prediction variables.

[0083] S5: Determine a target comprehensive prediction variable, obtain a neural network prediction model, input the comprehensive prediction variable into the neural network prediction model, and predict the expected remaining life of the target software through the target comprehensive prediction variable.

[0084] Furthermore, the purpose of this stage is to predict the comprehensive prediction variables through the neural network prediction model, and to obtain the future comprehensive prediction variables through the neural network prediction model, so as to obtain the expected service life of the target software. Among them, step S5 specifically includes:

[0085] S51: Acquire performance expectations, determine the target comprehensive prediction variables through the expected remaining service life and the performance expectations, and acquire the neural network prediction model;

[0086] S52: extracting time information of each of the comprehensive prediction variables, and inputting the comprehensive prediction variables into the neural network prediction model according to the time sequence of the time information;

[0087] S53: The neural network prediction model predicts multiple future comprehensive prediction variables through the comprehensive prediction variables, and obtains the expected remaining life of the target software through the future comprehensive prediction variables and the target comprehensive prediction variables.

[0088] With respect to the above steps, the specific implementation methods in this embodiment are as follows:

[0089] First, obtain the performance expectation. The performance expectation is the lower limit of the target software's performance that users can accept. When the performance of the target software is lower than the performance expectation, it can be considered to have reached the end of its life. Usually, the performance lower limit is the performance of the target software when it reaches the expected remaining service life. Based on past data and experience, determine the comprehensive prediction variable of the target software when it reaches the expected remaining service life and the performance is within the performance expectation, and use it as the target comprehensive prediction variable. Here, because the longer the expected use time of the target software is without human intervention, the more faults it will have, so its target comprehensive prediction variable will also increase with the extension of the expected remaining service life.

[0090] Next, a neural network prediction model is obtained. In this embodiment, the selected neural network prediction model is a long short-term memory recursive neural network model. Next, since time information exists in the comprehensive prediction variable, the time information can be extracted from the comprehensive prediction variable. The time sequence of each comprehensive prediction variable can be determined through the time information, and the comprehensive prediction variable is input into the neural network prediction model according to the time sequence. Subsequently, the neural network prediction model can predict the change of the comprehensive prediction variable over time based on the input comprehensive prediction variable with time information, thereby outputting multiple future comprehensive prediction variables. The future comprehensive prediction variable contains the time required for the target software to reach the future comprehensive prediction variable predicted by the neural network prediction model, that is, the future time information. From the future comprehensive prediction variables, a future comprehensive prediction variable with the same value as the target comprehensive prediction variable is selected, and the expected service life of the software can be determined through the future time information contained in the future comprehensive prediction variable.

[0091] The present invention also verifies the effectiveness of a software service life prediction method. Bugzilla is used as the target software here. Bugzilla is open source software that has been used for more than 20 years. There are multiple software versions that can be configured and used, and it has a fault and improvement data set reported by users or developers. Therefore, it is more suitable as the target software. Here, the response time is used as the basis for judging the service life of the target software. The prediction variables are different version numbers of the software, which are 6.5.0, 6.5.5, 7.0.0, 7.5.0 and 7.5.1 here. First, the response time of the target software when it reaches the end of its life is determined and used as the actual response time. Then, the expected remaining life of the target software is predicted and the response time when the target software reaches the expected remaining life is counted. It is used as the predicted response time. The experimental results are shown in Table 2:

[0092] Table 2 Comparison of actual response time and predicted response time

[0093]

[0094] It can be seen from experiments that the present invention can more effectively predict the service life of target software, thereby providing a reference for developers to release and update software, as well as upgrade the software.

[0095] A software service life prediction system provided by the present invention is described below. The software service life prediction system described below and the software service life prediction method described above can be referenced to each other.

[0096] Figure 2 It is a structural diagram of a software service life prediction system. Figure 2 As shown, a method for predicting the service life of software as described above is used to execute the method, comprising:

[0097] Potential fault type module 100: used to select target software, determine the expected remaining service life of the target software, and determine the potential fault type of the target software;

[0098] The target data set module 200 is used to obtain a historical data set of the target software, and clean the historical data set according to the expected remaining service life and the potential fault types to obtain a target data set;

[0099] The fault category set module 300 is used to extract multiple target data from the target data set, and classify each target data to obtain multiple fault category sets;

[0100] Comprehensive prediction variable module 400: used to sort the multiple fault category sets to obtain multiple fault sequences, determine the fault frequency coefficient of each fault sequence in each fault sequence by using the Fibonacci sequence, determine the fault severity coefficient of each fault sequence, calculate the initial comprehensive prediction variable of each fault sequence by using the fault severity coefficient and the fault frequency coefficient, cluster each of the initial comprehensive prediction variables to obtain a comprehensive prediction variable;

[0101] The expected remaining life module 500 is used to determine the target comprehensive prediction variables, obtain the neural network prediction model, input the comprehensive prediction variables into the neural network prediction model, and predict the expected remaining life of the target software through the target comprehensive prediction variables.

[0102] on the other hand, Figure 3 An example of a physical structure diagram of an electronic device is shown in FIG. Figure 3As shown, the electronic device may include: a processor 810, a communication interface 820, a memory 830 and a communication bus 840, wherein the processor 810, the communication interface 820, and the memory 830 communicate with each other through the communication bus 840. The processor 810 may call the logic instructions in the memory 830 to execute a software service life prediction method, which includes:

[0103] S1: Select target software, determine the expected remaining service life of the target software, and determine potential failure types of the target software;

[0104] S2: Acquire a historical data set of the target software, and perform data cleaning on the historical data set according to the expected remaining service life and the potential fault types to obtain a target data set;

[0105] S3: extracting multiple target data from the target data set, and classifying each target data into fault categories to obtain multiple fault category sets;

[0106] S4: sorting the plurality of fault category sets to obtain a plurality of fault sequences, determining the fault frequency coefficient of each fault sequence in each fault sequence by using the Fibonacci sequence, determining the fault severity coefficient of each fault sequence, calculating the initial comprehensive prediction variable of each fault sequence by using the fault severity coefficient and the fault frequency coefficient, clustering each of the initial comprehensive prediction variables to obtain a comprehensive prediction variable;

[0107] S5: Determine a target comprehensive prediction variable, obtain a neural network prediction model, input the comprehensive prediction variable into the neural network prediction model, and predict the expected remaining life of the target software through the target comprehensive prediction variable.

[0108] In addition, the logic instructions in the above-mentioned memory 830 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when it is sold or used as an independent product. Based on this understanding, the technical solution of the present invention is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program codes.

[0109] On the other hand, the present invention further provides a computer program product, the computer program product comprising a computer program stored on a non-transitory computer-readable storage medium, the computer program comprising program instructions, and when the program instructions are executed by a computer, the computer can execute a software service life prediction method provided by the above methods, the method comprising:

[0110] S1: Select target software, determine the expected remaining service life of the target software, and determine potential failure types of the target software;

[0111] S2: Acquire a historical data set of the target software, and perform data cleaning on the historical data set according to the expected remaining service life and the potential fault types to obtain a target data set;

[0112] S3: extracting multiple target data from the target data set, and classifying each target data into fault categories to obtain multiple fault category sets;

[0113] S4: sorting the plurality of fault category sets to obtain a plurality of fault sequences, determining the fault frequency coefficient of each fault sequence in each fault sequence by using the Fibonacci sequence, determining the fault severity coefficient of each fault sequence, calculating the initial comprehensive prediction variable of each fault sequence by using the fault severity coefficient and the fault frequency coefficient, clustering each of the initial comprehensive prediction variables to obtain a comprehensive prediction variable;

[0114] S5: Determine a target comprehensive prediction variable, obtain a neural network prediction model, input the comprehensive prediction variable into the neural network prediction model, and predict the expected remaining life of the target software through the target comprehensive prediction variable.

[0115] In another aspect, the present invention further provides a non-transitory computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, a method for predicting software service life provided by the above methods is implemented, the method comprising:

[0116] S1: Select target software, determine the expected remaining service life of the target software, and determine potential failure types of the target software;

[0117] S2: Acquire a historical data set of the target software, and perform data cleaning on the historical data set according to the expected remaining service life and the potential fault types to obtain a target data set;

[0118] S3: extracting multiple target data from the target data set, and classifying each target data into fault categories to obtain multiple fault category sets;

[0119] S4: sorting the plurality of fault category sets to obtain a plurality of fault sequences, determining the fault frequency coefficient of each fault sequence in each fault sequence by using the Fibonacci sequence, determining the fault severity coefficient of each fault sequence, calculating the initial comprehensive prediction variable of each fault sequence by using the fault severity coefficient and the fault frequency coefficient, clustering each of the initial comprehensive prediction variables to obtain a comprehensive prediction variable;

[0120] S5: Determine a target comprehensive prediction variable, obtain a neural network prediction model, input the comprehensive prediction variable into the neural network prediction model, and predict the expected remaining life of the target software through the target comprehensive prediction variable.

[0121] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.

[0122] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.

[0123] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A method for predicting software service life, characterized in that: include: S1: Select target software, determine the expected remaining service life of the target software, and determine potential failure types of the target software; S2: Acquire a historical data set of the target software, and perform data cleaning on the historical data set according to the expected remaining service life and the potential fault types to obtain a target data set; S3: extracting multiple target data from the target data set, and classifying each target data into fault categories to obtain multiple fault category sets; S4: sorting the plurality of fault category sets to obtain a plurality of fault sequences, determining the fault frequency coefficient of each fault sequence by using the Fibonacci sequence in each fault sequence, determining the fault severity coefficient of each fault sequence, calculating the initial comprehensive prediction variable of each fault sequence by using the fault severity coefficient and the fault frequency coefficient, clustering each of the initial comprehensive prediction variables to obtain a comprehensive prediction variable; specifically comprising: S41: sorting the plurality of fault category sets according to fault frequencies to obtain a plurality of fault sequences; S42: Generate a Fibonacci sequence for each of the fault sequences, sort the Fibonacci sequence according to the fault sequence, and obtain a fault frequency coefficient of each of the fault sequences; wherein, since the fault frequencies of the fault sequences are sorted from low to high, the corresponding Fibonacci sequence is also sorted from low to high; then the numbers in the Fibonacci sequence arranged from low to high are ranked one by one as the fault frequency coefficient of each fault category in the fault sequence; the Fibonacci sequence is used because each number in the Fibonacci sequence increases exponentially compared to the previous number, thus helping users to more easily identify differences and better distinguish the frequency of occurrence of each fault category; S43: Determine the fault severity coefficient of each of the fault sequences, and calculate the initial comprehensive prediction variable of each of the fault sequences by using the fault severity coefficient and the fault frequency coefficient: Where CPV represents the initial composite predictor variable, The fault frequency coefficient representing the nth fault category in the fault sequence; represents the fault severity coefficient of the nth fault category in the fault sequence; here, if the target data corresponding to the fault sequence records the existence of an effective repair for the fault category, since the repair can effectively reduce the frequency of similar faults and increase the service life of the target software, the fault frequency coefficient is a negative number at this time; S44: selecting a clustering algorithm, and clustering each of the initial comprehensive prediction variables using the clustering algorithm to obtain a comprehensive prediction variable; S5: Determine a target comprehensive prediction variable, obtain a neural network prediction model, input the comprehensive prediction variable into the neural network prediction model, and predict the expected remaining life of the target software through the target comprehensive prediction variable.

2. A software service life prediction method according to claim 1, characterized in that: Step S2 specifically includes: S21: Acquire a historical data set of the target software and establish a quality assessment matrix for the target software; S22: Determine an expected evaluation result according to the quality evaluation matrix and the expected remaining service life, and select the target data set from the historical data set according to the potential fault type and the expected evaluation result.

3. A software service life prediction method according to claim 1, characterized in that: Step S44 also includes: S441: Selecting the clustering algorithm, and obtaining the cluster center by calculating the initial comprehensive prediction variables; S442: Clustering all the initial comprehensive prediction variables through the cluster center and using the clustering algorithm to obtain the comprehensive prediction variable.

4. A software service life prediction method according to claim 1, characterized in that: Step S5 specifically includes: S51: Acquire performance expectations, determine the target comprehensive prediction variables through the expected remaining service life and the performance expectations, and acquire the neural network prediction model; S52: extracting time information of each of the comprehensive prediction variables, and inputting the comprehensive prediction variables into the neural network prediction model according to the time sequence of the time information; S53: The neural network prediction model predicts multiple future comprehensive prediction variables through the comprehensive prediction variables, and obtains the expected remaining life of the target software through the future comprehensive prediction variables and the target comprehensive prediction variables.

5. A software service life prediction method according to claim 1, characterized in that: The fault category set includes server fault, network fault, database fault, configuration fault and resource fault.

6. A software service life prediction system, used to execute a software service life prediction method according to any one of claims 1 to 5, characterized in that: include: Potential fault type module: used to select target software, determine the expected remaining service life of the target software, and determine the potential fault types of the target software; Target data set module: used for acquiring the historical data set of the target software, performing data cleaning on the historical data set according to the expected remaining service life and the potential fault types, and obtaining the target data set; Fault category set module: used to extract multiple target data from the target data set, perform fault classification on each target data, and obtain multiple fault category sets; A comprehensive prediction variable module: used to sort the multiple fault category sets to obtain multiple fault sequences, determine the fault frequency coefficient of each fault sequence in each fault sequence by the Fibonacci sequence, determine the fault severity coefficient of each fault sequence, calculate the initial comprehensive prediction variable of each fault sequence by the fault severity coefficient and the fault frequency coefficient, cluster each of the initial comprehensive prediction variables to obtain a comprehensive prediction variable; specifically includes: S41: sorting the plurality of fault category sets according to fault frequencies to obtain a plurality of fault sequences; S42: Generate a Fibonacci sequence for each of the fault sequences, sort the Fibonacci sequence according to the fault sequence, and obtain a fault frequency coefficient of each of the fault sequences; wherein, since the fault frequencies of the fault sequences are sorted from low to high, the corresponding Fibonacci sequence is also sorted from low to high; then the numbers in the Fibonacci sequence arranged from low to high are ranked one by one as the fault frequency coefficient of each fault category in the fault sequence; the Fibonacci sequence is used because each number in the Fibonacci sequence increases exponentially compared to the previous number, thus helping users to more easily identify differences and better distinguish the frequency of occurrence of each fault category; S43: Determine the fault severity coefficient of each of the fault sequences, and calculate the initial comprehensive prediction variable of each of the fault sequences by using the fault severity coefficient and the fault frequency coefficient: Where CPV represents the initial composite predictor variable, The fault frequency coefficient representing the nth fault category in the fault sequence; represents the fault severity coefficient of the nth fault category in the fault sequence; here, if the target data corresponding to the fault sequence records the existence of an effective repair for the fault category, since the repair can effectively reduce the frequency of similar faults and increase the service life of the target software, the fault frequency coefficient is a negative number at this time; S44: selecting a clustering algorithm, and clustering each of the initial comprehensive prediction variables using the clustering algorithm to obtain a comprehensive prediction variable; Expected remaining life module: used to determine the target comprehensive prediction variables, obtain the neural network prediction model, input the comprehensive prediction variables into the neural network prediction model, and predict the expected remaining life of the target software through the target comprehensive prediction variables.

7. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of a software service life prediction method as described in any one of claims 1 to 5 are implemented.

8. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of a software service life prediction method as described in any one of claims 1 to 5 are implemented.

9. A computer program product, the computer program product comprising a computer program stored on a non-transitory computer-readable storage medium, the computer program comprising program instructions, characterized in that: When the program instructions are executed by a computer, the computer can execute the steps of a software service life prediction method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Fault identification method and system for charging cabinet

    CN116303668A

  • Solid state disk service life monitoring and early warning system and method based on performance analysis

    CN118642921A