WO2024148890A1 - 软件修复方法、模板信息生成方法、计算设备和存储介质 - Google Patents
软件修复方法、模板信息生成方法、计算设备和存储介质 Download PDFInfo
- Publication number
- WO2024148890A1 WO2024148890A1 PCT/CN2023/124802 CN2023124802W WO2024148890A1 WO 2024148890 A1 WO2024148890 A1 WO 2024148890A1 CN 2023124802 W CN2023124802 W CN 2023124802W WO 2024148890 A1 WO2024148890 A1 WO 2024148890A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- event information
- abnormal
- template
- information
- central
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 105
- 230000008439 repair process Effects 0.000 title claims abstract description 82
- 230000002159 abnormal effect Effects 0.000 claims abstract description 513
- 230000015654 memory Effects 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 abstract description 19
- 238000004891 communication Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000011218 segmentation Effects 0.000 description 10
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 6
- 230000005856 abnormality Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 4
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000004069 differentiation Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 230000000717 retained effect Effects 0.000 description 3
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 2
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 2
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
Definitions
- the present application relates to the field of communication technology, and in particular to a software repair method, a template information generation method, a computing device and a storage medium.
- the present application provides a software repair method, a template information generation method, a computing device and a storage medium, which can reduce manual participation, reduce the consumption of human resources, and improve the efficiency of software repair.
- the embodiment of the present application provides a software repair method, which can be applied to a server.
- the software repair method may include: the server receives abnormal event information sent by a first terminal device; wherein the first terminal device may be any terminal device connected to the server and installed with the target software, and the abnormal event information is information generated when an abnormal event occurs during the operation of the target software on the first terminal device.
- the server After the server receives the abnormal event information sent by the first terminal device, it determines the target abnormal template corresponding to the abnormal event information from the multiple abnormal templates included in the template information, wherein the similarity between the target abnormal template and the abnormal event information sent by the first terminal device is greater than the set similarity threshold; the template information includes a one-to-one correspondence between multiple abnormal templates and multiple repair strategies.
- the server After the server determines the target abnormal template, it obtains the target repair strategy corresponding to the target abnormal template from the template information, and sends the target repair strategy to the first terminal device.
- the target repair strategy is used by the first terminal device to repair the abnormal event generated by the target software.
- the software repair method provided in the embodiment of the present application is that when an exception occurs during the operation of the software, the terminal device sends abnormal event information to the server.
- the server can quickly find the target abnormal template corresponding to the abnormal event information and the target repair strategy corresponding to the target abnormal template by comparing the abnormal event information with the abnormal template in the saved template information, and send the target repair strategy to the terminal device, so that the terminal device can quickly perform software repair for the abnormal event, reduce manual participation, reduce the consumption of human resources, and improve the efficiency of software repair.
- the server can determine multiple exception templates by the following method: receiving multiple exception event information sent by multiple terminal devices running target software within a set time period, dividing the obtained multiple exception event information into multiple event information sets, wherein each event information set in the multiple event information sets satisfies the following condition: the similarity between every two exception event information in the event information set is greater than or equal to a set value. After obtaining multiple event information sets, the server determines the central event information of each event information set in the multiple event information sets, obtains multiple central event information, and generates multiple exception templates based on the obtained multiple central event information.
- the method can also constrain the similarity division between event information sets by adjusting the set value of similarity, increase the accuracy of abnormal template division, and reduce the time consumed by human intervention.
- the server may determine the central event information of the first event information set based on the similarity of the abnormal event information in the first event information set, wherein the first event information set may be any event information set of multiple event information sets.
- the server when determining the central event information of the first event information set, may respectively determine the mean similarity of each abnormal event information in the first event information set, and use the abnormal event information with the largest mean similarity as the central event information of the event information set.
- the similarity mean of the first abnormal event information is the average value of the similarities between the first abnormal event information and other abnormal event information in the first event information set, and the first abnormal event information may be any abnormal event information in the first event information set.
- the central event information that best represents an event information set is determined based on the mean similarity of each abnormal event information contained in an event information set.
- the abnormal template obtained based on the central event information can accurately reflect the event characteristics of the event information set.
- the server can determine the keywords contained in each of the multiple central event information, and based on the keywords contained in each of the central event information, generate an exception template corresponding to each of the central event information to obtain multiple exception templates.
- the ratio of the number of central event information containing the same keyword to the number of the multiple central event information is less than or equal to the ratio threshold.
- the text content that does not have the distinguishing degree can be removed, and the keywords contained in each of the multiple central event information are determined respectively.
- an abnormal template corresponding to each of the central event information is generated respectively, and multiple abnormal templates are obtained.
- the keywords of the central event information are extracted, and the abnormal template is generated only based on the keywords, which can not only avoid the loss of the accuracy of the text matching similarity of the template, but also avoid the need to store a large amount of useless text data, thus saving storage space.
- the server can also determine in real time whether the template update condition is met. If the template update condition is met, the template information is updated based on the re-acquired multiple abnormal event information.
- the template update condition includes at least one of the following: the time difference between the generation time of the abnormal template in the template information and the current time is greater than or equal to the set duration threshold; or, among the numbers of similar events corresponding to the multiple abnormal templates included in the template information, the difference between the maximum number of similar events and the minimum number of similar events is greater than the set number threshold; wherein, the number of similar events corresponding to any abnormal template among the multiple abnormal templates is the number of abnormal event information contained in the event information set used to generate the abnormal template.
- the template information when the template update conditions are met, the template information can be automatically updated, without the need for manual regular management of the template information. Adding, deleting, and updating the optimal exception template to the template information can improve the standardization and automation of template information management.
- the server when determining the target exception template corresponding to the exception event information, if there are at least two target exception templates corresponding to the exception event information among the multiple exception templates included in the template information, the server can update the template information and determine the target exception template corresponding to the exception event information based on the updated template information.
- an embodiment of the present application provides a method for generating template information, which can be executed by a server.
- the method may include:
- each event information set in the multiple event information sets meets the following conditions: the similarity between each two abnormal event information in the event information set is greater than or equal to a set value;
- the template information is generated based on a one-to-one correspondence between the multiple abnormal templates and the multiple repair strategies.
- respectively determining the central event information of each event information set in the multiple event information sets includes:
- the central event information of the first event information set is determined, and the first event information set is any one of the multiple event information sets.
- determining the central event information of the first event information set according to the similarity of the abnormal event information in the first event information set includes:
- the similarity mean of the first abnormal event information is the average value of the similarity between the first abnormal event information and other abnormal event information in the first event information set; the first abnormal event information is any abnormal event information in the first event information set;
- the abnormal event information with the largest similarity mean is used as the central event information of the first event information set.
- the generating of multiple exception templates based on the multiple center event information includes:
- each center event information Based on the keywords contained in each center event information, generate the exception template corresponding to each center event information, and obtain multiple exceptions template.
- the method further includes:
- the template update condition includes at least one of the following:
- the time difference between the generation time of the abnormal template in the template information and the current time is greater than or equal to the set time threshold; or,
- the difference between the maximum number of similar events and the minimum number of similar events is greater than the set number threshold; wherein, the number of similar events corresponding to any abnormal template among the multiple abnormal templates is the number of abnormal event information contained in the event information set used to generate any abnormal template.
- an embodiment of the present application provides a computing device, comprising a module for executing any one of the methods provided in the first aspect or the second aspect.
- an embodiment of the present application provides a computing device, comprising a memory and a processor; a computer program is stored in the memory; the processor is used to read and execute the computer program stored in the memory, so that any one of the methods provided in the first or second aspect above is executed.
- an embodiment of the present application provides a computing device cluster, comprising at least one computing device, each computing device comprising a processor and a memory; the processor of the at least one computing device is used to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes any one of the methods provided in the first aspect or the second aspect.
- an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to enable a computer to execute any one of the methods provided in the first aspect or the second aspect above.
- an embodiment of the present application provides a computer program product comprising computer executable instructions, which are used to enable a computer to execute any one of the methods provided in the first aspect or the second aspect.
- FIG1 is a schematic diagram of an application scenario of an embodiment of the present application.
- FIG2 is a flow chart of a template information generating method provided in an embodiment of the present application.
- FIG3 is a schematic diagram of the process of step S201 in FIG2 ;
- FIG4 is a schematic diagram of abnormal event information provided by an embodiment of the present application.
- FIG5 is a schematic diagram of the process of step S203 in FIG2 ;
- FIG6 is a schematic diagram of template information provided in an embodiment of the present application.
- FIG7 is a schematic diagram of another template information provided in an embodiment of the present application.
- FIG8 is a flowchart of a software repair method provided in an embodiment of the present application.
- FIG9 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application.
- FIG10 is a structural block diagram of a computing device provided in an embodiment of the present application.
- FIG. 11 is a structural block diagram of another computing device provided in an embodiment of the present application.
- “multiple” refers to two or more. In view of this, in the embodiments of the present application, “multiple” can also be understood as “at least two". "At least one” can be understood as one or more, for example, one, two or more. For example, including at least one means including one, two or more, and there is no restriction on which ones are included. For example, including at least one of A, B and C, then A, B, C, A and B, A and C, B and C, or A and B and C may be included. "And/or” describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and/or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character "/", unless otherwise specified, generally indicates that the previously associated objects are in an "or" relationship.
- ordinal numbers such as “first” and “second” mentioned in the embodiments of the present application are used to distinguish multiple objects and are not used to limit the order, timing, priority or importance of the multiple objects.
- an embodiment of the present application provides a software repair method.
- the method can quickly find the target abnormal template corresponding to the abnormal event information and the repair strategy corresponding to the target abnormal template by comparing the abnormal event information with the abnormal template in the saved template information, thereby quickly locating the problem and performing software repair, reducing manual participation, reducing the consumption of human resources, and improving the repair efficiency of the software.
- FIG. 1 exemplarily shows a schematic diagram of an application scenario of an embodiment of the present application, in which a server 100 can be connected to multiple terminal devices, and the terminal devices can be mobile terminals such as mobile phones, tablet computers, and vehicle-mounted terminals, or terminals such as computers.
- the server 100 can be connected to multiple terminal devices via a network.
- FIG. 1 shows three terminal devices, such as a terminal device 200, a terminal device 300, and a terminal device 400. It should be noted that in different embodiments, the number of terminal devices connected to the server 100 can be more than three or less than three, and the embodiment of the present application does not limit this.
- Software A is installed on the terminal device 200, the terminal device 300 and the terminal device 400.
- any terminal device runs software A
- the abnormal event data when the abnormal event occurs will be recorded, and abnormal event information will be generated and sent to the server 100.
- the server 100 can generate template information based on multiple abnormal event information sent by multiple terminal devices received within a set time period, and save the generated template information.
- the template information saves the corresponding relationship between multiple abnormal templates generated for software A and the repair strategy, wherein the multiple abnormal templates are generated with multiple abnormal event information obtained.
- the server 100 can send a repair strategy for repairing software A to the terminal device based on the abnormal event information sent by the terminal device and the saved template information, so as to improve the efficiency of repairing the software.
- a repair strategy for repairing software A to the terminal device based on the abnormal event information sent by the terminal device and the saved template information, so as to improve the efficiency of repairing the software.
- server 100 may also obtain multiple abnormal event information in other ways, which is not limited in the embodiment of the present application.
- the server can collect multiple abnormal event information sent by multiple terminal devices during the operation of the target software within a set time period, wherein the set time period can be a week, a month or longer, and the target software can be the above-mentioned software A.
- the server can divide the acquired multiple abnormal event information into multiple event information sets, and each event information set in the multiple event information sets meets the following conditions: the similarity of every two abnormal event information in the event information set is greater than or equal to the set similarity threshold.
- the set similarity threshold can be set by the user based on experience, for example, the set similarity threshold can be 80%, 85% or 90%.
- the set similarity threshold is used to determine whether two abnormal event information can be divided into the same event information set.
- the user can adjust the set similarity threshold. For example, when it is found that the set similarity threshold cannot distinguish the abnormal event information of two different abnormal events, the set similarity threshold can be increased to ensure better distinction between the two different abnormal events.
- the server may use a clustering method to divide multiple abnormal event information into multiple event information sets.
- the method may include the following steps:
- Step S2011 selecting at least two pieces of abnormal event information from the acquired plurality of pieces of abnormal event information, wherein the similarity between each two pieces of abnormal event information in the at least two pieces of abnormal event information is less than a set similarity threshold.
- the server may calculate the similarity of multiple groups of abnormal event information respectively to obtain multiple similarities.
- Each group of abnormal event information may include any two abnormal event information from the multiple abnormal event information.
- the server may delete the abnormal event information corresponding to the similarity greater than or equal to the set similarity threshold among the multiple similarities obtained, and only retain one or more groups of abnormal event information with a similarity less than the set similarity threshold, to obtain at least two candidate abnormal event information.
- the server may calculate the similarity of each two candidate abnormal event information among the at least two candidate abnormal event information obtained. If the similarity of any two candidate abnormal event information is greater than or equal to the set similarity threshold, only one of the candidate abnormal event information is retained.
- the two candidate abnormal event information are retained, and the candidate abnormal event information finally retained is used as the abnormal event information obtained by screening, and at least two abnormal event information can be screened out, wherein the similarity of each two abnormal event information is less than the set similarity threshold.
- the server may randomly select one abnormal event information from the acquired multiple abnormal event information as the first abnormal event information. Then, the server may select one abnormal event information whose similarity with the first abnormal event information is less than a set similarity threshold from the remaining abnormal event information in the multiple abnormal event information except the first abnormal event information as the second abnormal event information. Normal event information, thereby obtaining two abnormal event information with similarity less than the set similarity threshold.
- the server may continue to select one abnormal event information with a similarity less than the set similarity threshold with the first abnormal event information from the remaining abnormal event information except the first abnormal event information and the second abnormal event information from the multiple abnormal event information, and the abnormal event information with a similarity less than the set similarity threshold with the first abnormal event information, and the similarity between the abnormal event information and the first abnormal event information is also less than the set similarity threshold, as the third abnormal event information, and so on, more than two abnormal event information can be obtained, and the similarity of each two abnormal event information in the more than two abnormal event information is less than the set similarity threshold.
- FIG4 shows the similarity of two abnormal event information.
- Each abnormal event information may include multiple fields.
- the abnormal event information shown in FIG4 may include an activation name (activity name), an abnormal class (exception class), help for the exception (exception help), an abnormal theme (exception title) and an abnormal mode (exception module).
- the fields contained in different software may be different, which is determined by the business functions implemented by different software.
- the server can compare the two abnormal event information field by field, that is, determine the similarity of the two abnormal event information by text similarity.
- the abnormal event information includes 10 fields, and the weight corresponding to each field is the same, if the contents of the 10 fields of the two abnormal event information are exactly the same, then the similarity of the two abnormal event information is 100%, if the two abnormal event information have 1 field with different contents, and the contents of the remaining 9 fields are exactly the same, then the similarity of the two abnormal event information is 90%.
- the fields of abnormal event information a and abnormal event information b are exactly the same, then the similarity of abnormal event information a and abnormal event information b is 100%.
- different weights may be set for different fields, and the similarity of two abnormal event information may be calculated based on the weights corresponding to the fields.
- At least two pieces of abnormal event information can be selected, wherein the similarity between each pair of abnormal event information is less than a set similarity threshold.
- Step S2012 taking the selected at least two pieces of abnormal event information as abnormal event information in a plurality of event information sets.
- every two abnormal event information belong to different event information sets. For example, assuming that two abnormal event information are selected from multiple abnormal event information, namely the first abnormal event information and the second abnormal event information, then the first abnormal event information and the second abnormal event information belong to different event information sets, for example, the first abnormal event information belongs to event information set A, and the second abnormal event information belongs to event information set B.
- the first abnormal event information, the second abnormal event information and the third abnormal event information belong to different event information sets, for example, the first abnormal event information belongs to event information set A, the second abnormal event information belongs to event information set B, and the third abnormal event information belongs to event information set C.
- Step S2013 determine the event information sets to which the remaining abnormal event information except the at least two abnormal event information in the multiple abnormal event information belongs, and obtain multiple event information sets.
- the following operations can be performed respectively: the abnormal event information is used as the event information to be classified, and for each event information set in the multiple existing event information sets, the event information set is used as the first event information set, and the similarity between the event information to be classified and each abnormal event information in the first event information set is determined respectively. If the similarity between the event information to be classified and each abnormal event information in the first event information set is greater than or equal to the set similarity threshold, the event information to be classified is added to the first event information set, otherwise, it is continued to be determined whether the event information to be classified can be added to the next event information set.
- the first abnormal event information belongs to event information set A
- the second abnormal event information belongs to event information set B
- the third abnormal event information belongs to event information set C.
- the abnormal event information is used as the event information to be classified, and the similarity between the event information to be classified and the first abnormal event information in the event information set A is calculated. If the similarity between the event information to be classified and the first abnormal event information is greater than or equal to the set similarity threshold, the event information to be classified is added to the first data set.
- the similarity between the event information to be classified and the first abnormal event information is less than the set similarity threshold
- the similarity between the event information to be classified and the second abnormal event information in the event information set B is calculated. If the similarity between the event information to be classified and the second abnormal event information is greater than or equal to the set similarity threshold, the event information to be classified is added to the second data set. If the similarity between the event information to be classified and the second abnormal event information is less than the set similarity threshold, the similarity between the event information to be classified and the third abnormal event information in the event information set C is calculated. If the similarity between the event information to be classified and the third abnormal event information is greater than or equal to the set similarity threshold, the event information to be classified is added to the third data set.
- the similarity between the event information to be classified and the third abnormal event information is less than the set similarity threshold, it can be determined that the existing event information set contains abnormal event information whose similarity with the event information to be classified is less than the set similarity threshold, and the newly added event information set can be used as the fourth
- the abnormal event information set uses the fourth abnormal event information set as the event information set to which the event information to be classified belongs.
- multiple abnormal event information can be divided into multiple event information sets, the similarity of every two abnormal event information in the same event information set is greater than or equal to the set similarity threshold, and the similarity of any two abnormal event information belonging to different event information sets is less than the set similarity threshold.
- the similarity between abnormal event information a and abnormal event information b shown in Figure 4 is 100%
- the set similarity threshold shown in Figure 4 is 85%. Since the similarity value between abnormal event information a and abnormal event information b is greater than the set similarity threshold, abnormal event information a and abnormal event information b belong to the same event information set.
- S202 respectively determine the central event information of each event information set in the multiple event information sets to obtain multiple central event information.
- the server may determine the central event information of each event information set according to the similarity of the abnormal event information in each event information set in the multiple event information sets, and obtain multiple central event information.
- the server may perform the following operations for each event information set in multiple event information sets: determine the mean similarity of each abnormal event information in the event information set; wherein the mean similarity of the first abnormal event information is the average of the similarities between the first abnormal event information and other abnormal event information, and other abnormal event information refers to abnormal event information other than the first abnormal event information in the event information set; the first abnormal event information may be any abnormal event information in the event information set.
- the server may use the abnormal event information with the largest mean similarity as the central event information of the event information set.
- abnormal event information b can be determined. Assuming that the average similarity of abnormal event information b is 90%, the average similarity of abnormal event information c is 92%, and the average similarity of abnormal event information d is 90%, then among abnormal event information a, abnormal event information b, abnormal event information c, and abnormal event information d, abnormal event information a has the largest average similarity, so abnormal event information a can be used as the central event information of event information set A.
- the central event information can also be considered as the optimal abnormal event information in an event information set that is most suitable as a template.
- the central event information of each event information set can be determined to obtain a plurality of central event information.
- S203 Generate multiple exception templates based on the obtained multiple center event information.
- each central event information may be used as an exception template.
- the text content does not have the degree of differentiation for the classification of abnormal event information. For example, in the field of "help for abnormality", the word “please” or the text content appears in the corresponding field of each central event information, then it can be determined that the text content does not have the degree of differentiation for the classification of abnormal event information.
- the above-mentioned text content that does not have the degree of differentiation can be removed, and the keywords contained in each of the multiple central event information can be determined respectively.
- the abnormal template corresponding to each central event information is generated respectively, and multiple abnormal templates are obtained. Extracting the keywords of the central event information and generating the abnormal template only based on the keywords can not only avoid the loss of the accuracy of the text matching similarity of the template, but also avoid the need to store a large amount of useless text data, thus saving storage space.
- an exception template may be generated by the method shown in FIG5 , which may include the following steps:
- S2031 pre-processing each of the plurality of central event information to obtain candidate words contained in each of the central event information.
- the server can perform pre-processing such as word segmentation and removal of stop words for each field in the central event information.
- pre-processing such as word segmentation and removal of stop words for each field in the central event information.
- the server can use the Jieba word segmentation method or other general word segmentation methods to perform word segmentation on the central event information to obtain multiple words.
- a field of the central event information may include multiple words, some of which may consist of a single word, and other words may consist of multiple words. Assuming that the text content of a certain field is "Please contact the improver of the software", five words “please”, “contact”, “software”, “of”, and “improver” are obtained after word segmentation.
- the words obtained after word segmentation may include both content words with practical meanings, such as nouns, verbs, adjectives, etc., and function words without practical meanings, such as prepositions, conjunctions, modal particles, auxiliary words, interjections, etc.
- the word "of" obtained by the above word segmentation has no practical meaning and is a function word.
- these function words are called stop words. After ignoring these stop words, the semantics of the entire text will not be affected. Therefore, in some embodiments, the words obtained after word segmentation can be removed.
- the stop words in the multiple words obtained are selected, and the remaining words with practical meanings are used as candidate words for the central event information.
- stop words may not be eliminated, and all words obtained by word segmentation may be used as candidate words; or, some fields of some central event information may not contain stop words, so all words obtained by word segmentation are also used as candidate words for the central event information.
- the candidate words included in each of the plurality of central event information can be determined.
- S2032 Determine a candidate word set based on the candidate words included in the plurality of central event information.
- the candidate word set includes the candidate words contained in each central event information.
- the term frequency-inverse document frequency (TF-IDF) value of each candidate word can be determined, and the TF-IDF value of a candidate word can be used as the discrimination value of the candidate word.
- the TF-IDF value can evaluate the importance of a candidate word to the central event information. The importance of a candidate word to the central event information is proportional to the number of times it appears in the central event information, and inversely proportional to the number of times it appears in other central event information except the central event information.
- a candidate word has a high frequency TF in a central event information and rarely appears in other central event information, it can be considered that the candidate word has good discrimination ability, so its TF-IDF value is large, that is, the discrimination value is large.
- the i-th candidate word its TF-IDF value can be determined by the following process. First, determine the TF value tf i of the i-th candidate word:
- n ij is the number of times the i-th candidate word appears in the j-th central event information
- ⁇ k n k,j is the sum of the number of times all candidate words appear in the j-th central event information.
- is the number of central event information, that is, the number of event information sets
- the TF-IDF value of the i-th candidate word is used as the discrimination value of the i-th candidate word.
- the discrimination value of each candidate word in the candidate word set can be determined.
- S2034 Determine the keywords included in each central event information based on the candidate words included in each central event information and the discrimination value of each candidate word.
- the candidate words whose discrimination value is greater than or equal to the set discrimination threshold can be used as keywords to generate a keyword set, or the candidate words in the candidate word set are sorted from large to small according to the discrimination value, and the first set number of candidate words ranked in front are used as keywords to generate a keyword set.
- the set discrimination threshold can be 0.01, and the first set number can be 15, that is, the top 15 candidate words can be used as keywords to generate a keyword set.
- the candidate words included in the central event information and belonging to the keyword set can be used as keywords included in the central event information.
- the candidate words included in the central event information and having a discrimination value greater than or equal to the set discrimination threshold can be used as keywords included in the central event information.
- the candidate words in the candidate word set can be sorted from large to small according to the discrimination value.
- the candidate words in the candidate words included in the central event information that are ranked before the set value can be used as the keywords included in the central event information.
- the candidate words included in the central event information can be sorted from large to small according to the discrimination value, and the second set number of candidate words ranked in front are used as keywords included in the central event information.
- the second set number can be less than the first set number mentioned above, for example, the second set number can be 5.
- the keywords contained in each of the multiple central event information can be determined.
- the ratio of the number of central event information of the keyword to the number of the plurality of central event information is less than or equal to the ratio threshold.
- an exception template corresponding to the central event information may be generated based on the keywords included in the central event information, and the exception template only includes the keywords included in the central event information.
- the above process of extracting keywords and generating exception templates can be called the process of lightweight templates.
- the purpose of lightweight templates is to reduce the number of words in each exception template. Since a large number of event information sets and central event information will be generated during the actual implementation process, if the central event information is directly used as an exception template, it will take up a large storage space when saved, and an exception template may have many words that are the same as other template words, which cannot well reflect the direct differences of the exception templates. After extracting keywords, you can delete words with less differences in the exception template, which can not only save the storage space required to save the exception template, but also improve the differentiation between exception templates to avoid confusion during use.
- step S204 can be continued.
- the repair strategy corresponding to any one of the abnormal templates may be the repair strategy used when performing software repair on the abnormal event corresponding to the central event information that generates the abnormal template.
- a corresponding relationship between each of the abnormal templates and the repair strategy is established to obtain template information.
- the template information may include multiple pieces of correspondence information.
- a piece of correspondence information may include the name of the abnormal template, the keywords included in the abnormal template, and the repair strategy corresponding to the abnormal template.
- a piece of correspondence information may include the name of the abnormal template, the mean similarity of the central event information generating the abnormal template, the keywords included in the abnormal template, and the repair strategy corresponding to the abnormal template.
- the server can provide a suitable repair strategy for the terminal device based on the template information, thereby saving human resources and improving the efficiency of software repair.
- the template information generation method compares the data of each field of different abnormal event information, determines the category of abnormal event corresponding to the abnormal event information, divides multiple abnormal event information into multiple independent event information sets, and generates independent abnormal templates for each event information set, and finds the corresponding repair strategy to generate template information.
- the generated template information includes multiple abnormal templates, each abnormal template corresponds to a class of abnormal events, and the template information provides a feasible repair strategy for each class of abnormal events. In the process of generating abnormal templates and template information, there is no need to manually screen abnormal templates from abnormal event information. For a large number of repeated abnormal event information, the data association between abnormal event information can be efficiently found and abnormal templates can be generated.
- the method can also constrain the similarity division between event information sets by adjusting and setting the similarity threshold, thereby ensuring and reducing the time spent on human intervention.
- AI algorithm models use artificial intelligence (AI) algorithm models to analyze abnormal event information to predict the type of abnormal event information.
- AI algorithm models are limited by the theoretical basis of machine learning and deep learning. When predicting the type of abnormal event information, they rely more on continuous data, that is, they only predict continuous abnormal event information and generate event information sets. They need to rely on multiple continuous abnormalities to infer the next abnormality, thereby generating a suitable event information set. Therefore, AI algorithm models not only require training time, but also have high requirements for the timing of abnormal event information. That is, when the data itself does not have the conditions to infer the next abnormal event information from one abnormal event information, it is impossible to predict and generate an event information set, and thus it is impossible to obtain a usable abnormal template.
- the embodiment of the present application performs unsupervised classification of abnormal event information based on text similarity, generates an abnormal template for a large number of repeated or highly similar abnormal events, and establishes a repair information generation method without the need for machine learning and deep learning.
- the embodiment of the present application does not rely on the AI algorithm model, nor does it require the continuity of abnormal event information. It can classify random and non-continuous abnormal event information, and can classify and find suitable abnormal templates under the data distribution of different products and different businesses. Therefore, it has a wider scope of application.
- the template information generation method provided in the embodiment of the present application can be applied to the scenario where abnormal events occur in large numbers and repeatedly, and the software version iteration is fast, and the problem of abnormal events cannot be discovered in time and the experience of related repair strategies cannot be reused in the current software version.
- the common features of abnormal event information can be quickly and accurately found, and the corresponding abnormal template can be generated.
- the repair strategy corresponding to the abnormality can be reused on the next similar abnormal event.
- the embodiment of the present application uses a text similarity calculation method to divide the abnormal event information into different event information sets, which helps to uniformly generate corresponding abnormal templates for abnormal event information in various fields. Even if the template information generation method provided in the embodiment of the present application is used across fields, the consistency and uniformity of the abnormal template can be guaranteed.
- the embodiments of the present application can not only automatically generate an abnormal event information set and find the central event information of each event information set, but also extract the corresponding keywords in each central event information, generate abnormal templates based on the keywords, and store the abnormal templates and template information in a lightweight manner.
- FIG8 shows a flowchart of a software repair method provided by an embodiment of the present application, and the software repair method can be executed by a server. As shown in FIG8 , the method may include the following steps:
- the abnormal event information is information when an abnormal event occurs during the operation of the target software on the first terminal device.
- the first terminal device can be any terminal device connected to the server, that is, any terminal device connected to the server can send abnormal event information to the server.
- the target software is software A.
- the terminal device 200 is running software A, if an abnormal event such as failure to run normally is sent, the abnormal event information can be sent to the server.
- S802 Determine a target abnormal template corresponding to the abnormal event information from the multiple abnormal templates included in the template information.
- the similarity between the target abnormal template and the abnormal event information is greater than a similarity threshold.
- the template information also includes a one-to-one correspondence between multiple abnormal templates and multiple repair strategies.
- the abnormal event information is compared with a plurality of abnormal templates in the pre-stored template information respectively to obtain the similarity between the abnormal event information and each abnormal template in the plurality of abnormal templates.
- the similarity between the abnormal event information and any abnormal template can be determined based on whether the keywords of each field of the abnormal template are included in the corresponding field of the abnormal event information. If the keywords of each field of the abnormal template are all included in the corresponding field of the abnormal event information, the similarity between the abnormal event information and the abnormal template is 100%.
- the server determines a target abnormal template corresponding to the abnormal event information according to the similarity between the abnormal event information and each abnormal template in the multiple abnormal templates.
- the server may use an abnormal template having a similarity with the abnormal event information that is greater than or equal to a similarity threshold as a target abnormal template corresponding to the abnormal event information.
- S804 Send the target repair strategy to the first terminal device.
- the server sends the target repair strategy corresponding to the target exception template to the first terminal device, so that the terminal device repairs the target software according to the first repair strategy corresponding to the target exception template.
- the software repair method provided in the embodiment of the present application can quickly and accurately find the target exception template corresponding to the exception event information and the repair strategy corresponding to the target exception template by comparing the exception event information with the exception template in the template information when an exception occurs during the software operation. For the repeated occurrence of the same type of exception events, the problem can be quickly located and the software can be repaired, which reduces manual participation, reduces the consumption of human resources, and improves the efficiency of software repair.
- some abnormal templates may be outdated due to the change of data of some abnormal events or the no longer occurring of some abnormal events over time, resulting in the template information being no longer applicable.
- lifecycle management can be performed for the template information to better ensure the availability of the template information.
- metadata can be marked for each abnormal template in the generated template information, and the marked metadata may include any of the following: the generation time of the abnormal template, the number of similar events of the abnormal template. Among them, the number of similar events of the abnormal template refers to the number of abnormal event information contained in the event information set to which the central event information of the abnormal template is generated.
- the generated abnormal template is distributed evenly; on the contrary, if the difference between the maximum number of similar events and the minimum number of similar events in the number of similar events of all abnormal templates is greater than the set number threshold, it can be considered that the generated abnormal template is distributed unevenly.
- multiple abnormal event information can be reacquired, and the abnormal templates can be regenerated based on the reacquired abnormal event information, and the repair strategies corresponding to each newly generated abnormal template can be re-determined, that is, the template information is updated based on the reacquired abnormal event information.
- multiple abnormal event information can also be reacquired, and the abnormal template can be regenerated based on the reacquired abnormal event information.
- the multiple abnormal time data reacquired may include the originally acquired abnormal time data and the newly acquired abnormal time data.
- an abnormal template when an abnormal template is generated too long and has not been used or applied for a long time, it can be deleted from the template information. When a certain type of abnormality occurs frequently, but no corresponding abnormal template is generated, it can be added to the template information.
- the template information can be updated based on the re-acquired multiple abnormal event information: the time difference between the generation time of at least one abnormal template in the template information and the current time is greater than or equal to the set time. Long threshold; the difference between the maximum number of similar events and the minimum number of similar events in the number of similar events of the abnormal templates contained in the template information is greater than the set number threshold; when determining the target abnormal template corresponding to the abnormal event information, two or more target abnormal templates are obtained. When determining the target abnormal template corresponding to the abnormal event information, two or more target abnormal templates are obtained, indicating that the abnormal template in the existing template information can no longer distinguish an abnormal event, so the template information needs to be updated.
- template information can be automatically updated without manual regular management of template information. Adding, deleting, and updating the best exception templates to the template information can improve the standardization and automation of template information management.
- a computing device is also provided in the embodiment of the present application, and the computing device may be the server 100 shown in Figure 1.
- the computing device may be used to implement the functions of the method embodiment shown in Figure 2 or Figure 8, and thus may achieve the beneficial effects of the above method embodiment.
- the structure of the computing device 900 may be as shown in FIG. 9 , including a processor 901 and a memory 902 connected to the processor 901.
- the processor 901 and the memory 902 may be interconnected via a bus, and the processor 901 may serve as the main processor of the computing device 900, that is, the control core of the computing device 900.
- the bus may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc.
- the bus may be divided into an address bus, a data bus, a control bus, etc.
- the specific connection medium between the processor 901 and the memory 902 is not limited in the embodiments of the present application.
- the memory 902 may include the above-mentioned memory, and the memory 902 may be a volatile memory, such as a random access memory; the memory may also be a non-volatile memory, such as a read-only memory ROM, a flash memory, a hard disk drive (HDD) or a solid-state drive (SSD), or the memory 902 is any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto.
- the memory 902 may be a combination of the above-mentioned memories.
- the memory 902 may be used to store software programs and modules.
- the processor 901 may include one or more processors.
- the processor 901 executes various functional applications and data processing of the physical machine by running software programs and modules stored in the memory 902, such as the method provided in Figure 2 or Figure 8 of the embodiment of the present application.
- the structure illustrated in the embodiments of the present application does not constitute a specific limitation on the computing device.
- the computing device may include more or fewer components than shown in the figure, or combine certain components, or split certain components, or arrange the components differently.
- the components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
- a computing device cluster is also provided in the embodiment of the present application, and the computing device cluster may include at least one computing device.
- each computing device in the at least one computing device may have an internal structure as shown in FIG9, including a processor and a memory.
- the processor of the at least one computing device is used to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster performs the function of the method embodiment shown in FIG2 or FIG8.
- a computing device is also provided in the embodiment of the present application.
- the computing device can be used to implement the functions of any software repair method provided in the above embodiment, so the beneficial effects of the method embodiment shown in FIG8 can be achieved.
- computing device 1000 may include information receiving module 1001, template determining module 1002 and policy making module 1003.
- Computing device 1000 may be used to implement the functions of the software repair method in the above embodiment, and thus may achieve the beneficial effects of the above embodiment of the software repair method.
- the information receiving module 1001 may be used to receive abnormal event information sent by the first terminal device;
- the abnormal event information is information generated when an abnormal event occurs during the running of the target software on the first terminal device;
- the template determination module 1002 may be used to determine a target abnormal template corresponding to the abnormal event information from a plurality of abnormal templates included in the template information, wherein the similarity between the target abnormal template and the abnormal event information is greater than a set similarity threshold; and the template information also includes a one-to-one correspondence between the plurality of abnormal templates and a plurality of repair strategies;
- the policy formulation module 1003 can be used to obtain a target repair policy corresponding to a target abnormal template from template information, and send the target repair policy to the first terminal device, where the target repair policy is used by the first terminal device to repair abnormal events generated by the target software.
- a computing device is also provided in the embodiment of the present application.
- the computing device can be used to implement the functions of any template information generation method provided in the above embodiment, so as to achieve the beneficial effects of the method embodiment shown in FIG2 .
- computing device 1100 may include information partitioning module 1101, information processing module 1102 and template generating module 1103.
- Computing device 1100 may be used to implement the functions of the template information generating method in the above embodiment, and thus may achieve the beneficial effects of the above embodiment of the template information generating method.
- the information division module 1101 can be used to divide the acquired multiple abnormal event information into multiple event information sets; the multiple abnormal event information are sent by multiple terminal devices running the target software within a set time period; each event information set in the multiple event information sets meets the following conditions: the similarity between each two abnormal event information in the event information set is greater than or equal to a set value;
- the information processing module 1102 may be used to respectively determine the central event information of each event information set in the multiple event information sets to obtain multiple central event information;
- the template generation module 1103 can be used to generate multiple exception templates based on multiple central event information, and respectively obtain the repair strategy corresponding to each of the multiple exception templates, and generate template information based on the one-to-one correspondence between the multiple exception templates and the multiple repair strategies.
- the information processing module 1102 can be specifically used to: determine the central event information of the first event information set based on the similarity of the abnormal event information in the first event information set, wherein the first event information set is any event information set of the multiple event information sets.
- the information processing module 1102 may be specifically configured to: determine the mean similarity of each abnormal event information in the first event information set, and use the abnormal event information with the largest mean similarity as the central event information of the first event information set.
- the mean similarity of the first abnormal event information is the average of the similarities between the first abnormal event information and other abnormal event information in the first event information set; the first abnormal event information is any abnormal event information in the first event information set.
- the template generation module 1103 can be specifically used to: determine the keywords contained in each of the multiple central event information respectively; wherein the ratio of the number of central event information containing the same keyword to the number of the multiple central event information is less than or equal to a ratio threshold; based on the keywords contained in each central event information, generate an abnormal template corresponding to each central event information respectively, and obtain multiple abnormal templates.
- the template generation module 1103 can also be used to: after generating the template information, if the template update condition is met, update the template information based on multiple abnormal event information that are re-acquired; the template update condition includes at least one of the following: the time difference between the generation time of the abnormal template in the template information and the current time is greater than or equal to the set duration threshold; or, among the numbers of similar events corresponding to the multiple abnormal templates included in the template information, the difference between the maximum number of similar events and the minimum number of similar events is greater than the set number threshold; wherein the number of similar events corresponding to any abnormal template among the multiple abnormal templates is the number of abnormal event information contained in the event information set used to generate any abnormal template.
- the method steps in the embodiments of the present application can be implemented by hardware, or by a processor executing a computer program or instruction.
- the computer program or instruction can constitute a computer program product.
- the embodiment of the present application also provides a computer program product, including computer executable instructions.
- the computer executable instructions are used to enable a computer to perform the functions in the method embodiment shown in Figure 2 or Figure 8.
- the computer executable instructions may be stored in a computer readable storage medium.
- the present application also provides a computer readable storage medium, wherein the computer readable storage medium stores the executable instructions.
- the computer executable instructions are used to cause a computer to execute the functions in the method embodiment shown in FIG. 2 or FIG. 8 .
- the computer-readable storage medium can be a random access memory (RAM), a flash memory, a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a register, a hard disk, a mobile hard disk, a CD-ROM or any other form of computer-readable storage medium known in the art.
- RAM random access memory
- ROM read-only memory
- PROM programmable read-only memory
- EPROM erasable programmable read-only memory
- EEPROM electrically erasable programmable read-only memory
- Computer executable instructions may be stored in a computer readable storage medium, or transmitted from one computer readable storage medium to another computer readable storage medium.
- the computer program or instructions may be transmitted from one website, computer, server or data center to another website, computer, server or data center by wired or wireless means.
- the computer readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or data center that integrates one or more available media.
- the available medium may be a magnetic medium, such as a floppy disk, a hard disk, or a magnetic tape; it may also be an optical medium, such as a digital video disc (DVD); it may also be a semiconductor medium, such as a solid state drive.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种软件修复方法、模板信息生成方法、计算设备和存储介质,涉及通信技术领域。在本申请中,在软件运行过程中发生异常时,终端设备向服务器发送异常事件信息,服务器通过将异常事件信息与保存的模板信息中的异常模板进行比对,可以快速找到异常事件信息对应的目标异常模板,以及目标异常模板对应的目标修复策略,将目标修复策略发送至终端设备,从而使终端设备可以快速针对异常事件进行软件修复,减少人工参与,降低对人力资源的消耗,并提高软件的修复效率。
Description
相关申请的交叉引用
本申请要求在2023年01月12日提交中国专利局、申请号为202310070418.9、申请名称为“软件修复方法、模板信息生成方法、计算设备和存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及通信技术领域,尤其涉及一种软件修复方法、模板信息生成方法、计算设备和存储介质。
随着信息科技的发展,对软件的需求量也日益增长,在软件的运行过程中发生异常事件的情况也越来越多。由于硬件错误、输入参数错误或程序员疏忽均可能会导致异常事件的发生。
对于应用领域很广的软件而言,在不同用户使用同一软件时,一些异常事件可能会大量重复出现。对于大量一线运维人员来说,每次发生异常事件都需要耗费大量人力和时间,来分析定位发生异常事件的原因并对软件进行修复,软件修复效率低下。
发明内容
本申请提供一种软件修复方法、模板信息生成方法、计算设备和存储介质,可以减少人工参与,降低对人力资源的消耗,并提高软件的修复效率。
第一方面,本申请实施例提供一种软件修复方法,可以应用于服务器。该软件修复方法可以包括:服务器接收第一终端设备发送的异常事件信息;其中,第一终端设备可以是与服务器连接且安装有目标软件的任意一个终端设备,异常事件信息是目标软件在第一终端设备上运行过程中发生异常事件时产生的信息。服务器接收到第一终端设备发送的异常事件信息之后,从模板信息包括的多个异常模板中确定异常事件信息对应的目标异常模板,其中,目标异常模板与第一终端设备发送的异常事件信息之间的相似度大于设定的相似度阈值;模板信息中包括多个异常模板与多个修复策略的一一对应关系。服务器确定目标异常模板之后,从模板信息中获取目标异常模板对应的目标修复策略,并向第一终端设备发送目标修复策略。目标修复策略用于第一终端设备对目标软件产生的异常事件进行修复。
本申请实施例提供的软件修复方法,在软件运行过程中发生异常时,终端设备向服务器发送异常事件信息,服务器通过将异常事件信息与保存的模板信息中的异常模板进行比对,可以快速找到异常事件信息对应的目标异常模板,以及目标异常模板对应的目标修复策略,将目标修复策略发送至终端设备,从而使终端设备可以快速针对异常事件进行软件修复,减少人工参与,降低对人力资源的消耗,并提高软件的修复效率。
在一种可能的实现方式中,服务器可以通过如下方法确定多个异常模板:接收在设定时间段内由多个运行目标软件的终端设备发送的多个异常事件信息,将获取的多个异常事件信息划分为多个事件信息集合,其中,多个事件信息集合中的每个事件信息集合均满足如下条件:事件信息集合内的每两个异常事件信息的相似度均大于或等于设定值。得到多个事件信息集合之后,服务器分别确定多个事件信息集合中每个事件信息集合的中心事件信息,得到多个中心事件信息,并基于得到的多个中心事件信息,生成多个异常模板。
上述实现方式中,在生成异常模板的过程中,无需人工从异常事件信息中筛选异常模板,对于大量重复的异常事件信息,可以高效率地找到异常事件信息之间的数据关联并生成异常模板。在异常事件信息种类很多的场景中,可以大幅度减少人工工作量。该方法还可以通过调整相似度的设定值,来约束事件信息集合之间的相似度划分,增加异常模板划分的准确性,降低人为干预所耗费的时间。
在一种可能的实现方式中,服务器可以根据第一事件信息集合内的异常事件信息的相似度,确定第一事件信息集合的中心事件信息,其中,第一事件信息集合可以是多个事件信息集合的任意一个事件信息集合。
在一种可能的实现方式中,在确定第一事件信息集合的中心事件信息时,服务器可以分别确定第一事件信息集合中每个异常事件信息的相似度均值,将相似度均值最大的异常事件信息作为该事件信息集
合的中心事件信息。其中,第一异常事件信息的相似度均值为第一异常事件信息与第一事件信息集合中其他异常事件信息之间的相似度的平均值,第一异常事件信息可以是第一事件信息集合中的任意一个异常事件信息。
上述实现方式中,根据一个事件信息集合中包含的每个异常事件信息的相似度均值,确定出最能代表该事件信息集合的中心事件信息,基于该中心事件信息得到的异常模板,可以准确地反映该事件信息集合的事件特征。
在一种可能的实现方式中,在得到多个中心事件信息之后,服务器可以分别确定多个中心事件信息中每个中心事件信息包含的关键词,基于每个中心事件信息包含的关键词,分别生成每个中心事件信息对应的异常模板,得到多个异常模板。其中,包含同一关键词的中心事件信息的数量与上述多个中心事件信息的数量的比值小于或等于比例阈值。
上述实现方式中,在基于中心事件信息生成异常模板时,可以去掉不具备区分度的文本内容,分别确定多个中心事件信息中的每个中心事件信息包含的关键词,基于每个中心事件信息包含的关键词,分别生成每个中心事件信息对应的异常模板,得到多个异常模板。提取出中心事件信息的关键词,仅基于关键词生成异常模板,既可以不损失模板的文本匹配相似度的精度,又可以不用存储大量无用的文本数据,节省存储空间。
在一种可能的实现方式中,在生成模板信息之后,服务器还可以实时判断是否满足模板更新条件,若满足模板更新条件,则基于重新获取的多个异常事件信息更新模板信息。其中,模板更新条件包括如下至少一种:模板信息中的异常模板的生成时间与当前时间的时间差大于或等于设定时长阈值;或者,模板信息包含的多个异常模板分别对应的相似事件数量中,最大相似事件数量与最小相似事件数量之间的差值大于设定数量阈值;其中,多个异常模板中任一异常模板对应的相似事件数量为用于生成该异常模板的事件信息集合包含的异常事件信息的数量。
上述实现方式中,在满足模板更新条件时,可以自动更新模板信息,不需要人工定期管理模板信息,新增、删除、更新最优的异常模板到模板信息中,可以提升模板信息管理的标准化和自动化。
在一种可能的实现方式中,在确定异常事件信息对应的目标异常模板时,如果模板信息包括的多个异常模板中存在至少两个异常事件信息对应的目标异常模板,则服务器可以更新模板信息,并基于更新的模板信息确定异常事件信息对应的目标异常模板。
第二方面,本申请实施例提供一种模板信息生成方法,该方法可以由服务器执行。该方法可以包括:
将获取的多个异常事件信息划分为多个事件信息集合;所述多个异常事件信息是在设定时间段内由多个运行所述目标软件的终端设备发送的;所述多个事件信息集合中的每个事件信息集合均满足如下条件:所述事件信息集合内的每两个异常事件信息的相似度均大于或等于设定值;
分别确定所述多个事件信息集合中每个事件信息集合的中心事件信息,得到多个中心事件信息;
基于所述多个中心事件信息,生成多个异常模板,并分别获取所述多个异常模板中每个异常模板对应的修复策略;
基于所述多个异常模板与多个修复策略的一一对应关系,生成所述模板信息。
在一种可能的实现方式中,所述分别确定所述多个事件信息集合中每个事件信息集合的中心事件信息,包括:
根据第一事件信息集合内的异常事件信息的相似度,确定所述第一事件信息集合的中心事件信息,所述第一事件信息集合为所述多个事件信息集合的任意一个事件信息集合。
在一种可能的实现方式中,所述根据第一事件信息集合内的异常事件信息的相似度,确定所述第一事件信息集合的中心事件信息,包括:
分别确定所述第一事件信息集合中每个异常事件信息的相似度均值;其中,第一异常事件信息的相似度均值为所述第一异常事件信息与所述第一事件信息集合中其他异常事件信息之间的相似度的平均值;所述第一异常事件信息为所述第一事件信息集合中的任意一个异常事件信息;
将相似度均值最大的异常事件信息作为所述第一事件信息集合的中心事件信息。
在一种可能的实现方式中,所述基于所述多个中心事件信息,生成多个异常模板,包括:
分别确定所述多个中心事件信息中每个中心事件信息包含的关键词;其中,包含同一关键词的中心事件信息的数量与所述多个中心事件信息的数量的比值小于或等于比例阈值;
基于每个中心事件信息包含的关键词,分别生成每个中心事件信息对应的异常模板,得到多个异常
模板。
在一种可能的实现方式中,所述生成所述模板信息之后,所述方法还包括:
若满足模板更新条件,则基于重新获取的多个异常事件信息更新所述模板信息;所述模板更新条件包括如下至少一种:
模板信息中的异常模板的生成时间与当前时间的时间差大于或等于设定时长阈值;或者,
模板信息包含的多个异常模板分别对应的相似事件数量中,最大相似事件数量与最小相似事件数量之间的差值大于设定数量阈值;其中,所述多个异常模板中任一异常模板对应的相似事件数量为用于生成所述任一异常模板的事件信息集合包含的异常事件信息的数量。
第三方面,本申请实施例提供一种计算设备,包括用于执行第一方面或第二方面提供的任一种方法的模块。
第四方面,本申请实施例提供一种计算设备,包括存储器和处理器;存储器上存储有计算机程序;处理器用于读取存储器中存储的计算机程序并执行,以使得上述第一方面或第二方面提供的任一种方法被执行。
第五方面,本申请实施例提供一种计算设备集群,包括至少一个计算设备,每个计算设备包括处理器和存储器;所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行第一方面或第二方面提供的任一种方法。
第六方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机可执行指令,该计算机可执行指令用于使计算机执行上述第一方面或第二方面提供的任一种方法。
第七方面,本申请实施例提供一种计算机程序产品,包含有计算机可执行指令,该计算机可执行指令用于使计算机执行上述第一方面或第二方面提供的任一种方法。
上述第二方面至第七方面中任一方面可以达到的技术效果可以参照上述第一方面中有益效果的描述,此处不再重复赘述。
图1为本申请实施例的一种应用场景的示意图;
图2为本申请实施例提供的一种模板信息生成方法的流程图;
图3为图2中步骤S201的流程示意图;
图4为本申请实施例提供的一种异常事件信息的示意图;
图5为图2中步骤S203的流程示意图;
图6为本申请实施例提供的一种模板信息的示意图;
图7为本申请实施例提供的另一种模板信息的示意图;
图8为本申请实施例提供的一种软件修复方法的流程图;
图9为本申请实施例提供的一种计算设备的结构示意图;
图10为本申请实施例提供的一种计算设备的结构框图;
图11为本申请实施例提供的另一种计算设备的结构框图。
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本申请实施例进行详细描述。本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
本申请实施例中“多个”是指两个或两个以上,鉴于此,本申请实施例中也可以将“多个”理解为“至少两个”。“至少一个”,可理解为一个或多个,例如理解为一个、两个或更多个。例如,包括至少一个,是指包括一个、两个或更多个,而且不限制包括的是哪几个,例如,包括A、B和C中的至少一个,那么包括的可以是A、B、C、A和B、A和C、B和C、或A和B和C。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。
在软件的运行过程中,可能经常会发生软件无法正常运行的异常事件。由于软件版本的更新快,不同版本的软件之间的软件修复经验无法复用,每次处理异常事件都需要耗费大量人力和时间,导致软件修复的效率低下。为了提高发生异常事件时进行软件修复的效率,本申请实施例提供一种软件修复方法,在软件运行过程中发生异常时,该方法通过将异常事件信息与保存的模板信息中的异常模板进行比对,可以快速找到异常事件信息对应的目标异常模板,以及目标异常模板对应的修复策略,进而快速定位问题并进行软件修复,减少人工参与,降低对人力资源的消耗,并提高软件的修复效率。
本申请实施例提供的软件修复方法可以应用于服务器或其他计算设备中,其中,服务器可以理解为某个软件的后台服务器或服务器集群。图1示例性地示出了本申请实施例的一种应用场景的示意图,在该应用场景中,服务器100可以连接多个终端设备,终端设备可以是手机、平板电脑、车载终端等移动终端,也可以是计算机等终端。服务器100与多个终端设备可以通过网络连接。图1中示出了三个终端设备,如终端设备200、终端设备300和终端设备400。需要说明的是,在不同的实施例中,服务器100连接的终端设备的数量可以多于三台,也可以少于三台,本申请实施例对此不作限定。
终端设备200、终端设备300和终端设备400上均安装有软件A。任意一个终端设备在运行软件A时,如果发生不能正常运行的异常事件,均会记录发生异常事件时的异常事件数据,生成异常事件信息并发送至服务器100。服务器100可以基于设定时间段内接收到的多个终端设备发送的多个异常事件信息生成模板信息,并保存生成的模板信息,模板信息中保存有针对软件A生成的多个异常模板与修复策略之间的对应关系,其中,多个异常模板是具有获取的多个异常事件信息生成的。后续终端设备在运行软件A的过程中发生异常事件时,服务器100可以基于终端设备发送的异常事件信息和保存的模板信息,向终端设备发送用于对软件A进行修复的修复策略,提高对软件进行修复的效率。上述描述过程中,仅是以软件A进行举例,软件A可以理解为终端设备上安装的任意一个软件。
需要说明的是,服务器100也可以通过其他方式获取多个异常事件信息,本申请实施例对此不作限定。
下面首先介绍服务器100生成模板信息的过程,如图2所示,该过程可以包括如下步骤:
S201,将获取的多个异常事件信息划分为多个事件信息集合。
上文中已经介绍,服务器可以收集设定时间段内多个终端设备在运行目标软件过程中发送的多个异常事件信息,其中,设定时间段可以是一个星期、或者一个月或者更长的时间,目标软件可以是上述的软件A。服务器可以将获取的多个异常事件信息划分为多个事件信息集合,多个事件信息集合中的每个事件信息集合均满足如下条件:事件信息集合内的每两个异常事件信息的相似度均大于或等于设定相似度阈值。其中,设定相似度阈值可以是用户根据经验设定的,例如,设定相似度阈值可以是80%、85%或90%。设定相似度阈值用于确定两个异常事件信息是否可以划分至同一个事件信息集合中。当发现划分结果不满足要求时,用户可以调整设定相似度阈值,例如,当发现设定相似度阈值不能区分两种不同异常事件的异常事件信息时,可以提高设定相似度阈值,确保更好地区分两种不同的异常事件。
示例性地,服务器可以采用聚类的方法将多个异常事件信息划分为多个事件信息集合,如图3所示,该方法可以包括如下步骤:
步骤S2011,从获取的多个异常事件信息中选择至少两个异常事件信息,该至少两个异常事件信息中每两个异常事件信息的相似度均小于设定相似度阈值。
在一些实施例中,服务器可以分别计算多组异常事件信息的相似度,得到多个相似度。其中,每组异常事件信息可以包括多个异常事件信息中的任意两个异常事件信息。服务器可以将得到的多个相似度中,大于或等于设定相似度阈值的相似度对应的异常事件信息删除,仅保留相似度小于设定相似度阈值的一组或多组异常事件信息,得到至少两个候选异常事件信息。然后,服务器可以计算得到的至少两个候选异常事件信息中的每两个候选异常事件信息的相似度,若任意两个候选异常事件信息的相似度大于或等于设定相似度阈值,则仅保留其中一个候选异常事件信息,若任意两个候选异常事件信息的相似度小于设定相似度阈值,则保留两个候选异常事件信息,将最终保留的候选异常事件信息作为筛选得到的异常事件信息,可以筛选出至少两个异常事件信息,其中每两个异常事件信息的相似度均小于设定相似度阈值。
在另一些实施例中,服务器可以从获取的多个异常事件信息中随机选择一个异常事件信息,作为第一异常事件信息。然后,服务器可以从多个异常事件信息中,除第一异常事件信息之外的剩余异常事件信息中,选择一个与第一异常事件信息之间的相似度小于设定相似度阈值的异常事件信息,作为第二异
常事件信息,从而得到相似度小于设定相似度阈值的两个异常事件信息。或者,服务器可以继续从多个异常事件信息中,除第一异常事件信息和第二异常事件信息之外的剩余异常事件信息中,选择一个与第一异常事件信息之间的相似度小于设定相似度阈值,并且与第一异常事件信息之间的相似度也小于设定相似度阈值的异常事件信息,作为第三异常事件信息,以此类推,可以得到多于两个异常事件信息,且多于两个异常事件信息中的每两个异常事件信息的相似度均小于设定相似度阈值。
示例性地,图4示出了两个异常事件信息的相似度。每个异常事件信息可以包括多个字段,例如,图4所示的异常事件信息可以包括激活名称(activity name)、异常的类(exception class)、针对异常的帮助(exception help)、异常主题(exception title)和异常模式(exception module)。不同的软件所包含的字段可以是不同的,由不同软件所实现的业务功能决定。服务器可以针对两个异常事件信息进行逐个字段的比对,即通过文本相似度确定两个异常事件信息的相似度。例如,假设异常事件信息包括10个字段,每个字段对应的权重相同,如果两个异常事件信息的10个字段的内容完全相同,则两个异常事件信息的相似度为100%,如果两个异常事件信息有1个字段的内容不同,其余9个字段的内容完全相同,则两个异常事件信息的相似度为90%。如图4所示的两个异常事件信息,异常事件信息a与异常事件信息b的字段完全相同,则异常事件信息a与异常事件信息b的相似度为100%。在一些实施例中,还可以针对不同的字段设置不同的权重,根据各个字段对应的权重,计算两个异常事件信息的相似度。
通过上述方法,可以选择至少两个异常事件信息,其中每两个异常事件信息的相似度均小于设定相似度阈值。
步骤S2012,将选择的至少两个异常事件信息分别作为多个事件信息集合中的异常事件信息。
其中,每两个异常事件信息属于不同的事件信息集合。例如,假设从多个异常事件信息中选择两个异常事件信息,分别是第一异常事件信息和第二异常事件信息,则第一异常事件信息和第二异常事件信息属于不同的事件信息集合,比如,第一异常事件信息属于事件信息集合A,第二异常事件信息属于事件信息集合B。又如,假设从多个异常事件信息中选择三个异常事件信息,分别是第一异常事件信息、第二异常事件信息和第三异常事件信息,则第一异常事件信息、第二异常事件信息和第三异常事件信息分别属于不同的事件信息集合,比如,第一异常事件信息属于事件信息集合A,第二异常事件信息属于事件信息集合B,第三异常事件信息属于事件信息集合C。
步骤S2013,分别确定多个异常事件信息中除上述至少两个异常事件信息之外的剩余异常事件信息所属的事件信息集合,得到多个事件信息集合。
针对多个异常事件信息中除上述至少两个异常事件信息之外的每个异常事件信息,可以分别执行如下操作:将该异常事件信息作为待分类事件信息,针对已存在的多个事件信息集合中的每个事件信息集合,将该事件信息集合作为第一事件信息集合,分别确定待分类事件信息与第一事件信息集合中的每个异常事件信息的相似度,如果待分类事件信息与第一事件信息集合中的每个异常事件信息的相似度均大于或等于设定相似度阈值,则将待分类事件信息添加至第一事件信息集合中,否则,继续判断待分类事件信息是否可以添加到下一个事件信息集合中。如果已存在的事件信息集合中均存在与待分类事件信息的相似度小于设定相似度阈值的异常事件信息,则新增事件信息集合,并将该待分类事件信息作为新增的事件信息集合中的异常事件信息,将新增的事件信息集合添加至已存在的多个事件信息集合中。
例如,假设从多个异常事件信息中选择三个异常事件信息,分别是第一异常事件信息、第二异常事件信息和第三异常事件信息,第一异常事件信息属于事件信息集合A,第二异常事件信息属于事件信息集合B,第三异常事件信息属于事件信息集合C。对于剩余异常事件信息中的任意一个异常事件信息,将该异常事件信息作为待分类事件信息,计算待分类事件信息与事件信息集合A中的第一异常事件信息的相似度,如果待分类事件信息与第一异常事件信息的相似度大于或等于设定相似度阈值,则将待分类事件信息添加至第一数据数据集合中,如果待分类事件信息与第一异常事件信息的相似度小于设定相似度阈值,则计算待分类事件信息与事件信息集合B中的第二异常事件信息的相似度,如果待分类事件信息与第二异常事件信息的相似度大于或等于设定相似度阈值,则将待分类事件信息添加至第二数据数据集合中,如果待分类事件信息与第二异常事件信息的相似度小于设定相似度阈值,再计算待分类事件信息与事件信息集合C中的第三异常事件信息的相似度,如果待分类事件信息与第三异常事件信息的相似度大于或等于设定相似度阈值,则将待分类事件信息添加至第三数据数据集合中。如果待分类事件信息与第三异常事件信息的相似度小于设定相似度阈值,则可以确定已存在的事件信息集合中均存在与待分类事件信息的相似度小于设定相似度阈值的异常事件信息,则新增事件信息集合,可以作为第四
异常事件信息集合,将第四异常事件信息集合作为待分类事件信息所属的事件信息集合。
通过上述过程,可以将多个异常事件信息划分为多个事件信息集合,同一事件信息集合内的每两个异常事件信息的相似度均大于或等于设定相似度阈值,属于不同事件信息集合的任意两个异常事件信息的相似度均小于设定相似度阈值。例如,图4所示的异常事件信息a与异常事件信息b的相似度为100%,图4所示的设定相似度阈值为85%,由于异常事件信息a与异常事件信息b的相似度值大于设定相似度阈值,因此异常事件信息a和异常事件信息b属于同一事件信息集合。
S202,分别确定多个事件信息集合中每个事件信息集合的中心事件信息,得到多个中心事件信息。
服务器可以根据多个事件信息集合中的每个事件信息集合内的异常事件信息的相似度,分别确定每个事件信息集合的中心事件信息,得到多个中心事件信息。
在一些实施例中,服务器可以针对多个事件信息集合中的每个事件信息集合,分别执行如下操作:分别确定该事件信息集合中每个异常事件信息的相似度均值;其中,第一异常事件信息的相似度均值为第一异常事件信息与其他异常事件信息之间的相似度的平均值,其他异常事件信息指该事件信息集合中除第一异常事件信息之外的异常事件信息;第一异常事件信息可以是该事件信息集合中的任意一个异常事件信息。服务器可以将相似度均值最大的异常事件信息作为该事件信息集合的中心事件信息。
示例性地,以事件信息集合A为例,假设事件信息集合A中包括异常事件信息a、异常事件信息b、异常事件信息c和异常事件信息d共四个异常事件信息,以异常事件信息a为例,假设异常事件信息a与异常事件信息b的相似度为100%,异常事件信息a与异常事件信息c的相似度为90%,异常事件信息a与异常事件信息d的相似度为95%,则异常事件信息a的相似度均值为异常事件信息a与其他三个异常事件信息之间的相似度的平均值,即(100%+90%+95%)/3=95%。同理,可以确定异常事件信息b、异常事件信息c和异常事件信息d的相似度均值。假设异常事件信息b的相似度均值为90%、异常事件信息c的相似度均值为92%、异常事件信息d的相似度均值为90%,则异常事件信息a、异常事件信息b、异常事件信息c和异常事件信息d中,相似度均值最大的是异常事件信息a,因此可以将异常事件信息a作为事件信息集合A的中心事件信息。中心事件信息也可以认为是一个事件信息集合中最优的、最适合作为模板的异常事件信息。
针对每个事件信息集合执行上述方法,可以确定每个事件信息集合的中心事件信息,得到多个中心事件信息。
S203,基于得到的多个中心事件信息,生成多个异常模板。
在一些实施例中,可以将每个中心事件信息作为一个异常模板。
在另一些实施例中,考虑到得到的多个中心事件信息中,一些字段中包含相同的文本内容,也就是说,相同的文本内容在每个中心事件信息中的相同字段重复出现,那么该文本内容对于异常事件信息的分类不具备区分度。例如,在“针对异常的帮助”这一字段中,“请”这一词语或文本内容在每个中心事件信息的对应字段中均有出现,则可以确定该文本内容对于异常事件信息的分类不具备区分度。在基于中心事件信息生成异常模板时,可以去掉上述不具备区分度的文本内容,分别确定多个中心事件信息中的每个中心事件信息包含的关键词,基于每个中心事件信息包含的关键词,分别生成每个中心事件信息对应的异常模板,得到多个异常模板。提取出中心事件信息的关键词,仅基于关键词生成异常模板,既可以不损失模板的文本匹配相似度的精度,又可以不用存储大量无用的文本数据,节省存储空间。
示例性地,得到多个中心事件信息之后,可以通过图5所示的方法生成异常模板,该方法可以包括如下步骤:
S2031,对多个中心事件信息中的每个中心事件信息进行预处理,得到每个中心事件信息包含的候选词语。
针对每个中心事件信息,服务器可以对该中心事件信息中的每个字段进行分词和去除停用词等预处理。示例性地,服务器可以采用Jieba分词方法或其它通用分词方法对该中心事件信息进行分词处理,得到多个词语。例如,该中心事件信息的某个字段可以包括多个词语,其中一些词语可以由单个字组成,另一些词语可以由多个字组成。假设某个字段的文本内容为“请联系软件的改进者”,将分词处理后得到“请”、“联系”、“软件”、“的”、“改进者”5个词语。经分词处理后得到的词语中可能既包括具有实际意义的实词,如名词、动词、形容词等,也包括没有实际意义的虚词,如介词、连词、语气词、助词、叹词等。例如,上述分词得到的词语“的”并没有实际意义,为虚词,在计算机领域,这些虚词被称为停用词,忽略这些停用词后,整个文本的语义并不会受到影响。因此,在一些实施例中,可以去除经分词得
到的多个词语中的停用词,将剩余的具有实际意义的词语作为该中心事件信息的候选词语。
需要说明的是,在另一些实施例中,也可以不剔除停用词,将分词得到的所有词语均作为候选词语;或者,一些中心事件信息的各个字段中可能都不包含停用词,因此也将分词得到的所有词语均作为该中心事件信息的候选词语。
通过上述过程,可以确定多个中心事件信息中的每个中心事件信息包含的候选词语。
S2032,基于多个中心事件信息包含的候选词语,确定候选词语集合。
候选词语集合中包括每个中心事件信息包含的候选词语。
S2033,确定候选词语集合中每个候选词语的区分度值。
示例性地,可以确定每个候选词语的词频-逆向文件频率(term frequency-inverse document frequency,TF-IDF)值,将某个候选词语的TF-IDF值作为该候选词语的区分度值。其中,TF-IDF值可以评估一个候选词语对于中心事件信息的重要程度。一个候选词语对于该中心事件信息的重要程度与其在该中心事件信息中出现的次数成正比,同时与其在除该中心事件信息之外的其他中心事件信息中出现的次数成反比。在本申请实施例中,如果某个候选词语在一个中心事件信息中出现的频率TF高,并且在其他中心事件信息中很少出现,则可以认为该候选词语具有很好的区分能力,因此其TF-IDF值较大,即区分度值较大。
对于任意一个候选词语,例如,第i个候选词语,其TF-IDF值可以通过如下过程确定。首先,确定第i个候选词语的TF值tfi:
其中,nij为第i个候选词语在第j个中心事件信息中出现的次数;∑knk,j是第j个中心事件信息中所有候选词语出现的次数的总和。
其次,确定第i个候选词语的IDF值idfi:
其中,|D|是中心事件信息的数量,即事件信息集合的个数;
|{j:ti∈dj}|表示包含第i个候选词语的中心事件信息的数量。
第i个候选词语的TF-IDF值可以表示为:TF-IDF=tfi*idfi。将第i个候选词语的TF-IDF值作为第i个候选词语的区分度值。
通过上述过程,可以确定候选词语集合中每个候选词语的区分度值。
S2034,基于每个中心事件信息包含的候选词语和每个候选词语的区分度值,确定每个中心事件信息包含的关键词。
在一些实施例中,确定候选词语集合中每个候选词语的区分度值之后,可以将区分度值大于或等于设定区分度阈值的候选词语作为关键词,生成关键词集合,或者,将候选词语集合中的候选词语按照区分度值从大到小进行排序,将排序在前的第一设定数量的候选词语作为关键词,生成关键词集合。示例性地,设定区分度阈值可以是0.01,第一设定数量可以是15,即可以将Top15的候选词语作为关键词,生成关键词集合。对于任意一个中心事件信息,可以将该中心事件信息包含的候选词语中,属于关键词集合的候选词语,作为该中心事件信息包含的关键词。
在另一些实施例中,确定候选词语集合中每个候选词语的区分度值之后,对于任意一个中心事件信息,可以将该中心事件信息包含的候选词语中,区分度值大于或等于设定区分度阈值的候选词语,作为该中心事件信息包含的关键词。
在另一些实施例中,确定候选词语集合中每个候选词语的区分度值之后,可以将候选词语集合中的候选词语按照区分度值从大到小进行排序。对于任意一个中心事件信息,可以将该中心事件信息包含的候选词语中,排序在设定数值之前的候选词语,作为该中心事件信息包含的关键词。
在另一些实施例中,确定候选词语集合中每个候选词语的区分度值之后,对于任意一个中心事件信息,可以将该中心事件信息包含的候选词语按照区分度值从大到小进行排序,将排序在前的第二设定数量的候选词语,作为该中心事件信息包含的关键词。其中,第二设定数量可以小于上述的第一设定数量,例如,第二设定数量可以是5。
通过上述方法,可以确定多个中心事件信息中每个中心事件信息包含的关键词。其中,包含同一关
键词的中心事件信息的数量与多个中心事件信息的数量的比值小于或等于比例阈值。
S2035,基于每个中心事件信息包含的关键词,分别生成每个中心事件信息对应的异常模板,得到多个异常模板。
针对每个中心事件信息,可以基于该中心事件信息包含的关键词,生成该中心事件信息对应的异常模板,异常模板中仅包含该中心事件信息包含的关键词。
上述提取关键词及生成异常模板的过程可以称为轻量化模板的过程,轻量化模板的目的是为了减少每个异常模板中的文字数量。由于实际实施过程中,会生成大量的事件信息集合和中心事件信息,如果将中心事件信息直接作为异常模板,在保存时会占用较大的存储空间,并且一个异常模板有很多字词与其他模板字词存在相同的可能,并不能很好地体现出异常模板直接的差异性。提取关键词之后,可以删除异常模板中差异性较小的字词,既能节省保存异常模板所需的存储空间,又可以提高异常模板之间的差异化,避免使用过程中发生混淆。
步骤S203中通过上述过程得到多个异常模板之后,可以继续执行步骤S204。
S204,获取多个异常模板中每个异常模板对应的修复策略,并基于多个异常模板与修复策略的对应关系,生成模板信息。
其中,任意一个异常模板对应的修复策略可以是针对该生成该异常模板的中心事件信息对应的异常事件进行软件修复时所是使用的修复策略。建立多个异常模板中每个异常模板与修复策略之间的对应关系,得到模板信息。
模板信息中可以包括多条对应关系信息。在一些实施例中,如图6所示,一条对应关系信息中可以包括异常模板的名称,异常模板包含的关键词,以及异常模板对应的修复策略。在另一些实施例中,如图7所示,一条对应关系信息中可以包括异常模板的名称,生成该异常模板的中心事件信息的相似度均值,异常模板包含的关键词,以及异常模板对应的修复策略。
在生成模板信息后,在终端设备运行软件A的过程中发生异常事件时,服务器可以基于模板信息为终端设备提供合适的修复策略,从而可以节省人力资源,且提高软件的修复效率。
本申请实施例提供的模板信息生成方法,通过将不同异常事件信息的各个字段的数据进行比对,确定异常事件信息对应的异常事件的类别,将多个异常事件信息划分为多个相互独立的事件信息集合,并且针对每个事件信息集合生成独立的异常模板,并找到对应的修复策略,生成模板信息。生成的模板信息中包括多个异常模板,每个异常模板对应一类异常事件,模板信息针对每一类异常事件提供一种可行的修复策略。在生成异常模板和模板信息的过程中,无需人工从异常事件信息中筛选异常模板,对于大量重复的异常事件信息,可以高效率地找到异常事件信息之间的数据关联并生成异常模板。在异常事件信息种类很多的场景中,可以大幅度减少人工工作量,并且增加模板划分的准确性。该方法还可以通过调整设定相似度阈值,来约束事件信息集合之间的相似度划分,保障和降低了人为干预所耗费的时间。
一些相关技术中使用人工智能(artificial intelligence,AI)算法模型对异常事件信息进行分析,以预测异常事件信息的类型,AI算法模型受限于机器学习和深度学习的理论基础,在预测异常事件信息的类型时比较依赖连续性数据,即只针对连续性的异常事件信息进行预测并生成事件信息集合,需要依靠多个连续异常才能推测出下一个异常,从而生成合适的事件信息集合。因此,AI算法模型不仅需要训练时间,而且对异常事件信息的时序性要求也很高。即当数据本身不具备能从一条异常事件信息推测下一条异常事件信息的条件时,就不能预测并生成事件信息集合,因而不能得到可用的异常模板。
与上述相关技术相比,本申请实施例对异常事件信息进行文本相似度的无监督分类,针对大量重复或相似度很高的异常事件生成一个异常模板,建立在不需要机器学习和深度学习的情况下的修复信息生成方法,本申请实施例不依赖于AI算法模型,也不要求异常事件信息具有连续性,可以针对随机非连续性的异常事件信息进行分类,满足在不同产品不同业务的数据分布下,也能分类找出合适的异常模板,因此,其适用范围更广。
本申请实施例提供的模板信息生成方法,可以适用于异常事件大量且重复出现,同时软件版本迭代快,不能及时发现异常事件的问题并复用相关修复策略的经验到当前软件版本的场景中,快速准确地找到异常事件信息的共同特征,生成对应的异常模板,将该异常对应的修复策略复用到下个同类异常事件上。本申请实施例采用文本相似度计算方式将异常事件信息划分为不同的事件信息集合,有助于针对各个领域的异常事件信息都能统一生成对应的异常模板,即使跨领域使用本申请实施例提供的模板信息生成方法,也能保证异常模板的一致性和统一性。
并且,本申请实施例不仅可以自动生成异常事件信息集合,并找到每个事件信息集合的中心事件信息,而且还可以在每个中心事件信息中提取其对应的关键词,基于关键词生成异常模板,以轻量化的方式存储异常模板和模板信息。
图8示出了本申请实施例提供的一种软件修复方法的流程图,该软件修复方法可以由服务器执行。如图8所示,该方法可以包括如下步骤:
S801,接收第一终端设备发送的异常事件信息。
其中,异常事件信息为目标软件在第一终端设备上运行过程中发生异常事件时的信息。第一终端设备可以是与服务器连接的任何一个终端设备,即与服务器连接的任何一个终端设备均可以向服务器发送异常事件信息。以图1所示的终端设备200,目标软件为软件A为例,终端设备200在运行软件A时,如果发送不能正常运行等异常事件,可以向服务器发送异常事件信息。
S802,从模板信息包括的多个异常模板中确定异常事件信息对应的目标异常模板。
其中,目标异常模板与异常事件信息之间的相似度大于相似度阈值。模板信息中还包括多个异常模板与多个修复策略的一一对应关系。
分别将异常事件信息与预存的模板信息中的多个异常模板进行比对,得到异常事件信息与多个异常模板中每个异常模板的相似度。
异常事件信息与任意一个异常模板的相似度,可以根据该异常模板的各个字段的关键词是否包含在异常事件信息的对应字段中来确定。如果该异常模板的各个字段的关键词均包含在异常事件信息的对应字段中,则异常事件信息与该异常模板的相似度为100%。
服务器根据异常事件信息与多个异常模板中每个异常模板的相似度,确定异常事件信息对应的目标异常模板。
在一些实施例中,在多个异常模板中,服务器可以将与异常事件信息的相似度大于或相似度阈值的异常模板,作为该异常事件信息对应的目标异常模板。
S803,从模板信息获取目标异常模板对应的目标修复策略。
S804,向第一终端设备发送目标修复策略。
服务器将目标异常模板对应的目标修复策略发送至第一终端设备,以使终端设备按照目标异常模板对应的第一修复策略对目标软件进行修复。
本申请实施例提供的软件修复方法,在软件运行过程中发生异常时,通过将异常事件信息与模板信息中的异常模板进行比对,可以快速准确地找到异常事件信息对应的目标异常模板,以及目标异常模板对应的修复策略,针对相同类型的异常事件的反复出现,进而快速定位问题并进行软件修复,减少人工参与,降低对人力资源的消耗,并提高软件的修复效率。
在一些实施例中,在生成模板信息之后,由于随着时间的推移,一些异常事件的数据发生变化或一些异常事件不再发生,因此一些异常模板可能存在过时现象,导致模板信息不再适用。为此,可以针对模板信息进行生命周期管理,更好地确保模板信息的可用性。示例性地,可以对生成的模板信息中的每个异常模板进行元数据标记,标记的元数据可以包括如下任意一种:该异常模板的生成时间、该异常模板的相似事件数量。其中,该异常模板的相似事件数量指生成该异常模板的中心事件信息所属的事件信息集合中包含的异常事件信息的数量。如果所有异常模板的相似事件数量中,最大相似事件数量与最小相似事件数量之间的差值均小于或等于设定数量阈值,则可以认为生成的异常模板分布均衡;相反,如果所有异常模板的相似事件数量中,最大相似事件数量与最小相似事件数量之间的差值大于设定数量阈值,则可以认为生成的异常模板分布不均衡。当生成的异常模板分布不均衡时,可以重新获取多个异常事件信息,基于重新获取的异常事件信息重新生成异常模板,并重新确定各个新生成的异常模板对应的修复策略,即基于重新获取的异常事件信息更新模板信息。如果一个或多个异常模板的生成时间与当前时间的时间差大于或等于设定时长阈值,也可以重新获取多个异常事件信息,基于重新获取的异常事件信息重新生成异常模板。其中,重新获取的多个异常时间数据中,可以包括原来获取的异常时间数据和新获取的异常时间数据。在一些实施例中,当一个异常模板生成过久,且很久这个异常模板没有被使用过或应用到时,可以从模板信息中对其进行删除。当某类异常频繁出现,但没有生成对应的异常模板时,可以在模板信息中对其进行新增。
在一些实施例中,当满足如下模板更新条件中的至少一种时,就可以基于重新获取的多个异常事件信息更新模板信息:模板信息中的至少一个异常模板的生成时间与当前时间的时间差大于或等于设定时
长阈值;模板信息包含的异常模板的相似事件数量中,最大相似事件数量与最小相似事件数量之间的差值大于设定数量阈值;在确定异常事件信息对应的目标异常模板时,得到两个或两个以上的目标异常模板。在确定异常事件信息对应的目标异常模板时,得到两个或两个以上的目标异常模板,说明现有的模板信息中的异常模板已经无法区分一个异常事件,因此需要更新模板信息。
通过上述过程,可以自动更新模板信息,不需要人工定期管理模板信息,新增、删除、更新最优的异常模板到模板信息中,可以提升模板信息管理的标准化和自动化。
与上述实施例基于相同的技术构思,本申请实施例中还提供一种计算设备,该计算设备可以是图1中所示的服务器100。该计算设备可以用于实现图2或图8所示的方法实施例的功能,因此可以实现上述方法实施例所具备的有益效果。
在一些实施例中,该计算设备900的结构可以如图9所示,包括处理器901以及与处理器901连接的存储器902。处理器901和存储器902之间可以通过总线相互连接,处理器901可以作为计算设备900的主处理器,即计算设备900的控制核心。总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。本申请实施例中不限定上述处理器901以及存储器902之间的具体连接介质。
存储器902可以包括上述的内存,存储器902可以是易失性存储器,例如随机存取存储器;存储器也可以是非易失性存储器,例如只读存储器ROM,快闪存储器,硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器902是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器902可以是上述存储器的组合。存储器902可用于存储软件程序以及模块。
处理器901可以包括一个或多个处理器,处理器901通过运行存储在存储器902中的软件程序以及模块,从而执行物理机的各种功能应用以及数据处理,如本申请实施例图2或图8所提供的方法。
可以理解的是,本申请实施例示意的结构并不构成对计算设备的具体限定。在本申请另一些实施例中,计算设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
与上述实施例基于相同的技术构思,本申请实施例中还提供一种计算设备集群,该计算设备集群可以包括至少一个计算设备。在一些实施例中,所述至少一个计算设备中的每个计算设备可以具有图9所示的内部结构,包括处理器和存储器。所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行图2或图8所示的方法实施例的功能。
与上述实施例基于相同的技术构思,本申请实施例中还提供一种计算设备。该计算设备可以用于实现上述实施例中提供的任意一种软件修复方法的功能,因此可以实现图8所示的方法实施例所具备的有益效果。
如图10所示,计算设备1000可以包括信息接收模块1001、模板确定模块1002和策略制定模块1003。计算设备1000可以用于实现上述实施例中软件修复方法的功能,因此可以实现上述软件修复方法的实施例所具备的有益效果。
信息接收模块1001,可以用于接收第一终端设备发送的异常事件信息;所述异常事件信息为目标软件在所述第一终端设备上运行过程中发生异常事件时产生的信息;
模板确定模块1002,可以用于从模板信息包括的多个异常模板中确定异常事件信息对应的目标异常模板,其中,所述目标异常模板与所述异常事件信息之间的相似度大于设定的相似度阈值;所述模板信息中还包括所述多个异常模板与多个修复策略的一一对应关系;
策略制定模块1003,可以用于从模板信息获取目标异常模板对应的目标修复策略,并向第一终端设备发送目标修复策略,所述目标修复策略用于第一终端设备对目标软件产生的异常事件进行修复。
与上述实施例基于相同的技术构思,本申请实施例中还提供一种计算设备。该计算设备可以用于实现上述实施例中提供的任意一种模板信息生成方法的功能,因此可以实现图2所示的方法实施例所具备的有益效果。
如图11所示,计算设备1100可以包括信息划分模块1101、信息处理模块1102和模板生成模块1103。计算设备1100可以用于实现上述实施例中模板信息生成方法的功能,因此可以实现上述模板信息生成方法的实施例所具备的有益效果。
信息划分模块1101,可以用于将获取的多个异常事件信息划分为多个事件信息集合;所述多个异常事件信息是在设定时间段内由多个运行所述目标软件的终端设备发送的;所述多个事件信息集合中的每个事件信息集合均满足如下条件:所述事件信息集合内的每两个异常事件信息的相似度均大于或等于设定值;
信息处理模块1102,可以用于分别确定多个事件信息集合中每个事件信息集合的中心事件信息,得到多个中心事件信息;
模板生成模块1103,可以用于基于多个中心事件信息,生成多个异常模板,并分别获取多个异常模板中每个异常模板对应的修复策略,基于多个异常模板与多个修复策略的一一对应关系,生成模板信息。
在一些实施方式中,信息处理模块1102,具体可以用于:根据第一事件信息集合内的异常事件信息的相似度,确定第一事件信息集合的中心事件信息,其中,第一事件信息集合为所述多个事件信息集合的任意一个事件信息集合。
在一些实施方式中,信息处理模块1102,具体可以用于:分别确定所述第一事件信息集合中每个异常事件信息的相似度均值,将相似度均值最大的异常事件信息作为所述第一事件信息集合的中心事件信息。其中,第一异常事件信息的相似度均值为所述第一异常事件信息与所述第一事件信息集合中其他异常事件信息之间的相似度的平均值;所述第一异常事件信息为所述第一事件信息集合中的任意一个异常事件信息。
在一些实施方式中,模板生成模块1103,具体可以用于:分别确定多个中心事件信息中每个中心事件信息包含的关键词;其中,包含同一关键词的中心事件信息的数量与所述多个中心事件信息的数量的比值小于或等于比例阈值;基于每个中心事件信息包含的关键词,分别生成每个中心事件信息对应的异常模板,得到多个异常模板。
在一些实施方式中,模板生成模块1103,还可以用于:在生成所述模板信息之后,若满足模板更新条件,则基于重新获取的多个异常事件信息更新所述模板信息;所述模板更新条件包括如下至少一种:模板信息中的异常模板的生成时间与当前时间的时间差大于或等于设定时长阈值;或者,模板信息包含的多个异常模板分别对应的相似事件数量中,最大相似事件数量与最小相似事件数量之间的差值大于设定数量阈值;其中,所述多个异常模板中任一异常模板对应的相似事件数量为用于生成所述任一异常模板的事件信息集合包含的异常事件信息的数量。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行计算机程序或指令的方式来实现。计算机程序或指令可以构成计算机程序产品。本申请实施例还提供一种计算机程序产品,包含有计算机可执行指令。在一种实施例中,该计算机可执行指令用于使计算机执行图2或图8所示的方法实施例中的功能。
计算机可执行指令可以被存放于计算机可读存储介质中,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有可执行指令。在一种实施例中,该计算机可执行指令用于使计算机执行图2或图8所示的方法实施例中的功能。
本申请实施例提供的计算机可读存储介质可以是随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmableROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically ePROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的计算机可读存储介质。
计算机可执行指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一
系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的方案进行示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (17)
- 一种软件修复方法,其特征在于,所述方法包括:接收第一终端设备发送的异常事件信息;所述异常事件信息为目标软件在所述第一终端设备上运行过程中发生异常事件时产生的信息;从模板信息包括的多个异常模板中确定所述异常事件信息对应的目标异常模板,其中,所述目标异常模板与所述异常事件信息之间的相似度大于设定的相似度阈值;所述模板信息中还包括所述多个异常模板与多个修复策略的一一对应关系;从所述模板信息获取所述目标异常模板对应的目标修复策略,并向所述第一终端设备发送所述目标修复策略,所述目标修复策略用于所述第一终端设备对所述目标软件产生的异常事件进行修复。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:将获取的多个异常事件信息划分为多个事件信息集合;所述多个异常事件信息是在设定时间段内由多个运行所述目标软件的终端设备发送的;所述多个事件信息集合中的每个事件信息集合均满足如下条件:所述事件信息集合内的每两个异常事件信息的相似度均大于或等于设定值;分别确定所述多个事件信息集合中每个事件信息集合的中心事件信息,得到多个中心事件信息;基于所述多个中心事件信息,生成所述多个异常模板。
- 根据权利要求2所述的方法,其特征在于,所述分别确定所述多个事件信息集合中每个事件信息集合的中心事件信息,包括:根据第一事件信息集合内的异常事件信息的相似度,确定所述第一事件信息集合的中心事件信息,所述第一事件信息集合为所述多个事件信息集合的任意一个事件信息集合。
- 根据权利要求2或3所述的方法,其特征在于,所述根据第一事件信息集合内的异常事件信息的相似度,确定所述第一事件信息集合的中心事件信息,包括:分别确定所述第一事件信息集合中每个异常事件信息的相似度均值;其中,第一异常事件信息的相似度均值为所述第一异常事件信息与所述第一事件信息集合中其他异常事件信息之间的相似度的平均值;所述第一异常事件信息为所述第一事件信息集合中的任意一个异常事件信息;将相似度均值最大的异常事件信息作为所述第一事件信息集合的中心事件信息。
- 根据权利要求2~4任一项所述的方法,其特征在于,所述基于所述多个中心事件信息,生成多个异常模板,包括:分别确定所述多个中心事件信息中每个中心事件信息包含的关键词;其中,包含同一关键词的中心事件信息的数量与所述多个中心事件信息的数量的比值小于或等于比例阈值;基于每个中心事件信息包含的关键词,分别生成每个中心事件信息对应的异常模板,得到多个异常模板。
- 根据权利要求2~5任一项所述的方法,其特征在于,所述生成所述模板信息之后,所述方法还包括:若满足模板更新条件,则基于重新获取的多个异常事件信息更新所述模板信息;所述模板更新条件包括如下至少一种:模板信息中的异常模板的生成时间与当前时间的时间差大于或等于设定时长阈值;或者,模板信息包含的多个异常模板分别对应的相似事件数量中,最大相似事件数量与最小相似事件数量之间的差值大于设定数量阈值;其中,所述多个异常模板中任一异常模板对应的相似事件数量为用于生成所述任一异常模板的事件信息集合包含的异常事件信息的数量。
- 根据权利要求1~6任一项所述的方法,其特征在于,所述从模板信息包括的多个异常模板中确定所述异常事件信息对应的目标异常模板,包括:若所述模板信息包括的多个异常模板中存在至少两个所述异常事件信息对应的目标异常模板,则更新所述模板信息,并基于更新的模板信息确定所述异常事件信息对应的目标异常模板。
- 一种模板信息生成方法,其特征在于,所述方法包括:将获取的多个异常事件信息划分为多个事件信息集合;所述多个异常事件信息是在设定时间段内由多个运行所述目标软件的终端设备发送的;所述多个事件信息集合中的每个事件信息集合均满足如下条件:所述事件信息集合内的每两个异常事件信息的相似度均大于或等于设定值;分别确定所述多个事件信息集合中每个事件信息集合的中心事件信息,得到多个中心事件信息;基于所述多个中心事件信息,生成多个异常模板,并分别获取所述多个异常模板中每个异常模板对应的修复策略;基于所述多个异常模板与多个修复策略的一一对应关系,生成所述模板信息。
- 根据权利要求8所述的方法,其特征在于,所述分别确定所述多个事件信息集合中每个事件信息集合的中心事件信息,包括:根据第一事件信息集合内的异常事件信息的相似度,确定所述第一事件信息集合的中心事件信息,所述第一事件信息集合为所述多个事件信息集合的任意一个事件信息集合。
- 根据权利要求9所述的方法,其特征在于,所述根据第一事件信息集合内的异常事件信息的相似度,确定所述第一事件信息集合的中心事件信息,包括:分别确定所述第一事件信息集合中每个异常事件信息的相似度均值;其中,第一异常事件信息的相似度均值为所述第一异常事件信息与所述第一事件信息集合中其他异常事件信息之间的相似度的平均值;所述第一异常事件信息为所述第一事件信息集合中的任意一个异常事件信息;将相似度均值最大的异常事件信息作为所述第一事件信息集合的中心事件信息。
- 根据权利要求8~10任一项所述的方法,其特征在于,所述基于所述多个中心事件信息,生成多个异常模板,包括:分别确定所述多个中心事件信息中每个中心事件信息包含的关键词;其中,包含同一关键词的中心事件信息的数量与所述多个中心事件信息的数量的比值小于或等于比例阈值;基于每个中心事件信息包含的关键词,分别生成每个中心事件信息对应的异常模板,得到多个异常模板。
- 根据权利要求8~11任一项所述的方法,其特征在于,所述生成所述模板信息之后,所述方法还包括:若满足模板更新条件,则基于重新获取的多个异常事件信息更新所述模板信息;所述模板更新条件包括如下至少一种:模板信息中的异常模板的生成时间与当前时间的时间差大于或等于设定时长阈值;或者,模板信息包含的多个异常模板分别对应的相似事件数量中,最大相似事件数量与最小相似事件数量之间的差值大于设定数量阈值;其中,所述多个异常模板中任一异常模板对应的相似事件数量为用于生成所述任一异常模板的事件信息集合包含的异常事件信息的数量。
- 一种计算设备,其特征在于,包括用于执行如权利要求1~12任一项所述方法的模块。
- 一种计算设备,其特征在于,包括存储器和处理器;所述存储器上存储有计算机程序;所述处理器用于读取所述存储器中存储的所述计算机程序并执行,以使得如权利要求1~12中任一项所述的方法被执行。
- 一种计算设备集群,其特征在于,包括至少一个计算设备,所述至少一个计算设备中的每个计算设备包括处理器和存储器;所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如权利要求1~12中任一项所述的方法。
- 一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1~12中任一项所述的方法。
- 一种计算机程序产品,其特征在于,包含有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1~12中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310070418.9A CN118331621A (zh) | 2023-01-12 | 2023-01-12 | 软件修复方法、模板信息生成方法、计算设备和存储介质 |
CN202310070418.9 | 2023-01-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024148890A1 true WO2024148890A1 (zh) | 2024-07-18 |
Family
ID=91774824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2023/124802 WO2024148890A1 (zh) | 2023-01-12 | 2023-10-16 | 软件修复方法、模板信息生成方法、计算设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN118331621A (zh) |
WO (1) | WO2024148890A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110674129A (zh) * | 2019-08-14 | 2020-01-10 | 平安科技(深圳)有限公司 | 异常事件处理方法、系统、计算机设备及存储介质 |
US10574700B1 (en) * | 2016-09-30 | 2020-02-25 | Symantec Corporation | Systems and methods for managing computer security of client computing machines |
CN111581005A (zh) * | 2020-05-07 | 2020-08-25 | 深圳市创维软件有限公司 | 终端修复方法、终端和存储介质 |
CN112783682A (zh) * | 2021-02-01 | 2021-05-11 | 福建多多云科技有限公司 | 一种基于云手机服务的异常自动修复方法 |
-
2023
- 2023-01-12 CN CN202310070418.9A patent/CN118331621A/zh active Pending
- 2023-10-16 WO PCT/CN2023/124802 patent/WO2024148890A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10574700B1 (en) * | 2016-09-30 | 2020-02-25 | Symantec Corporation | Systems and methods for managing computer security of client computing machines |
CN110674129A (zh) * | 2019-08-14 | 2020-01-10 | 平安科技(深圳)有限公司 | 异常事件处理方法、系统、计算机设备及存储介质 |
CN111581005A (zh) * | 2020-05-07 | 2020-08-25 | 深圳市创维软件有限公司 | 终端修复方法、终端和存储介质 |
CN112783682A (zh) * | 2021-02-01 | 2021-05-11 | 福建多多云科技有限公司 | 一种基于云手机服务的异常自动修复方法 |
Also Published As
Publication number | Publication date |
---|---|
CN118331621A (zh) | 2024-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12073298B2 (en) | Machine learning service | |
WO2019148713A1 (zh) | Sql语句处理方法、装置、计算机设备和存储介质 | |
WO2019062699A1 (zh) | 资源调度方法、调度服务器、云计算系统及存储介质 | |
WO2017124713A1 (zh) | 一种数据模型的确定方法及装置 | |
CN112395293B (zh) | 分库分表方法、分库分表装置、分库分表设备及存储介质 | |
CN111324303B (zh) | Ssd垃圾回收方法、装置、计算机设备及存储介质 | |
WO2021185206A1 (zh) | 集群任务的资源分配方法及装置、计算机装置及存储介质 | |
US20120254173A1 (en) | Grouping data | |
CN111124254B (zh) | 调度存储空间回收请求的方法、电子设备和程序产品 | |
US20210117378A1 (en) | Method, device and computer program product for shrinking storage space | |
WO2020029400A1 (zh) | 项目推荐方法、装置、计算机设备及存储介质 | |
CN110704424A (zh) | 一种应用于数据库的排序方法、装置及相关设备 | |
CN117369731B (zh) | 一种数据的缩减处理方法、装置、设备及介质 | |
WO2024148890A1 (zh) | 软件修复方法、模板信息生成方法、计算设备和存储介质 | |
US20160253591A1 (en) | Method and apparatus for managing performance of database | |
CN114936187A (zh) | 数据文件的处理方法、装置、设备及存储介质 | |
US20230103011A1 (en) | Dataset optimization framework | |
CN114896298A (zh) | 一种同类型标签数据预测方法、终端设备及存储介质 | |
Ouyang et al. | Mitigate data skew caused stragglers through ImKP partition in MapReduce | |
CN111143456B (zh) | 基于Spark的Cassandra数据导入方法、装置、设备及介质 | |
WO2021087981A1 (zh) | 标签数据的更新方法、装置、电子设备及存储介质 | |
US20190138931A1 (en) | Apparatus and method of introducing probability and uncertainty via order statistics to unsupervised data classification via clustering | |
CN112783854A (zh) | 数据库的配置参数的获取方法和装置 | |
US11481130B2 (en) | Method, electronic device and computer program product for processing operation commands | |
US20230018978A1 (en) | Data Layout Model Generation System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23915648 Country of ref document: EP Kind code of ref document: A1 |