Method, apparatus and program product for managing a computer system
By matching the similarity between receiving service requests and historical requests, using machine learning technology to train the service model and automatically recommend the fault handling solution, solving the problem of inaccurate and relying on manual labor in the existing technology, and achieving more efficient fault handling and User experience.
Patent Information
- Application Number
- CN202110103716.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-01-26
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2041-01-26
AI Technical Summary
The prior art is difficult to effectively deal with computer system failures, and the artificial dependencies are too many and the recommended fault handling solutions are not accurate enough to quickly find a suitable solution.
By receiving service requests, the similarity between them and historical service requests is determined, and the processing scheme is automatically recommended based on paired historical solutions, and the service model is trained using machine learning technology to improve the accuracy and efficiency of fault processing.
It realizes more accurate and efficient troubleshooting, reduces dependence on technical experts, improves user experience, and provides effective troubleshooting solutions in multiple languages and interactive modes.
Smart Images

Figure CN114792089B_ABST
Abstract
Description
Technical Field
[0001] Implementations of the present disclosure relate to management of computer systems, and more particularly, to methods, devices, and computer program products for managing service requests for computer systems. Background Art
[0002] With the development of computer technology, a large number of computer systems can provide a variety of services. For example, computer systems can provide storage services, computing services or other types of services to users. As the computer system runs, states such as failures and alarms may occur in the computer system. At this time, the user of the computer system needs to send a service request to the technical experts of the service center and describe the operating status of the computer system to seek technical support. At this time, how to find an effective fault handling solution based on the service request submitted by the user has become a research hotspot. Summary of the invention
[0003] Therefore, it is expected to develop and implement a technical solution for managing computer systems in a more effective manner. It is expected that the technical solution can process service requests from users in a more convenient and effective manner, and then find an accurate and effective fault handling solution.
[0004] According to a first aspect of the present disclosure, a method for managing a computer system is provided. In the method, a service request for a computer system is received, the service request describing an operating state of the computer system. The similarities between the service request and a plurality of historical service requests executed for the computer system are respectively determined, the plurality of historical service requests respectively describing a plurality of historical operating states of the computer system. In response to determining that the similarity between the service request and a historical service request in the plurality of historical service requests satisfies a predetermined similarity condition, a scheme for processing the service request is determined based on a pairing of the service request and the historical service request and a historical scheme for processing the historical service request.
[0005] According to a second aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; a volatile memory; and a memory coupled to the at least one processor, the memory having instructions stored therein, which, when executed by the at least one processor, cause the device to execute a method according to the first aspect of the present disclosure.
[0006] According to a third aspect of the present disclosure, there is provided a computer program product, which is tangibly stored on a non-transitory computer-readable medium and comprises machine-executable instructions for executing the method according to the first aspect of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The features, advantages and other aspects of various implementations of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings, which illustrate several implementations of the present disclosure in an exemplary and non-limiting manner. In the accompanying drawings:
[0008] Figure 1 A block diagram schematically illustrates an application environment in which an exemplary implementation of the present disclosure may be implemented;
[0009] Figure 2 A block diagram schematically illustrates a process for managing a computer system according to an exemplary implementation of the present disclosure;
[0010] Figure 3 A flowchart of a method for managing a computer system according to an exemplary implementation of the present disclosure is schematically shown;
[0011] Figure 4 A block diagram schematically illustrates a process for obtaining a signature of a service request according to an exemplary implementation of the present disclosure;
[0012] Figure 5 A block diagram schematically illustrates a process for determining a feature vector according to an exemplary implementation of the present disclosure;
[0013] Figure 6 A block diagram schematically illustrates a process for training a service model according to an exemplary implementation of the present disclosure;
[0014] Figure 7 A block diagram schematically illustrates a process for acquiring a service model based on machine learning technology according to an exemplary implementation of the present disclosure;
[0015] Figure 8 A block diagram schematically illustrates a process for determining a solution for processing a service request based on a service model according to an exemplary implementation of the present disclosure; and
[0016] Fig. 9 A block diagram schematically shows a device for managing a computer system according to an exemplary implementation of the present disclosure. DETAILED DESCRIPTION
[0017] The preferred implementations of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although the preferred implementations of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the implementations set forth herein. On the contrary, these implementations are provided to make the present disclosure more thorough and complete, and to fully convey the scope of the present disclosure to those skilled in the art.
[0018] As used herein, the term "including" and its variations mean open inclusion, i.e., "including but not limited to". Unless otherwise stated, the term "or" means "and / or". The term "based on" means "based at least in part on". The terms "an example implementation" and "an implementation" mean "at least one example implementation". The term "another implementation" means "at least one additional implementation". The terms "first", "second", etc. may refer to different or the same objects. Other explicit and implicit definitions may also be included below.
[0019] For ease of description, first see Figure 1 An application environment according to an exemplary implementation of the present disclosure is described. Figure 1 Schematically shows a block diagram of an application environment 100 in which an exemplary implementation of the present disclosure can be implemented. Figure 1 As shown, the computer system 110 may include various types of devices 112, ..., 114. Depending on the type of services provided by the computer system 110, the computer system 110 may include a storage system, a computing system, a network system, etc. A user 120 of the computer system 110 may connect to the computer system 110 via a terminal 130 to access the services provided by the computer system 110.
[0020] For the convenience of description, an exemplary implementation according to the present disclosure will be described below using a storage system as an example. Specifically, the user 120 can write data to the computer system 110 and read data from the computer system 110 via the terminal 130. Various anomalies may occur in the computer system 110 during operation. For example, when the user 120 accesses data in the computer system 110, anomalies such as connection failure and inability to read data may occur. At this time, the user 120 can seek help from a technical expert at the service center in order to seek a corresponding troubleshooting solution.
[0021] The user 120 can initiate a service request by phone, email, message, etc. to describe the operating status of the computer system 110. At this time, the technical experts at the service center need to find an appropriate fault handling solution based on their own experience and keyword search and other technologies. However, such methods rely too much on manual experience and it is difficult to find an accurate and effective fault handling solution.
[0022] A service request processing method based on machine learning technology has been proposed. Specifically, a machine learning model can be trained based on a large number of service requests and corresponding fault handling solutions submitted by users, and the trained machine learning model can be used to recommend corresponding fault handling solutions. However, on the one hand, this method requires the collection of a large number of historical service requests and corresponding fault handling solutions as training data; on the other hand, the accuracy of the recommended fault handling solutions is not satisfactory, and sometimes the recommended solutions cannot effectively solve the user's problems.
[0023] In order to solve the above defects, according to an exemplary implementation of the present disclosure, a method for managing a computer system 110 is proposed. Figure 2 An overview of an exemplary implementation according to the present disclosure is described. Figure 2 Schematically shows a block diagram of a process 200 for managing a computer system 110 according to an exemplary implementation of the present disclosure. Figure 2 As shown, service request 210 is a description of the current state of computer system 110 from a user. History record 220 includes a history log of fault processing generated during the operation of computer system 110, for example, the first column shows the historical service requests submitted by the user, and the second column shows the historical solutions for processing each historical service request. For example, the first row in history record 220 indicates that solution SL1 is used to process service request SR1; the second row indicates that solution SL2 is used to process service request SR2; the shaded row indicates that solution SLI is used to process service request SRI; and the last row indicates that solution SL1 is used to process service request SRN.
[0024] According to an exemplary implementation of the present disclosure, the similarity between the service request 210 and multiple historical service requests executed for the computer system 110 can be determined respectively. One or more historical service requests with higher similarity can be found from the multiple historical service requests (for example, the historical service request SRI shown in shaded form in the historical record 220). Further, based on the pairing 230 of the service request SR and the historical service request SRI and the historical solution 232 for processing the historical service request SRI, a solution 240 is determined. Specifically, since the contents of the service request SR and the historical service request SRI are similar, the historical solution SLI can be selected as the solution 240 for processing the service request 210.
[0025] Using the exemplary implementation of the present disclosure, similarity can take into account the language differences of different users in describing the operating status of the computer system 110, so that a solution that can handle the current problem can be found more effectively. Further, the historical solution 232 records various details of the fault handling process, so it can help provide users with richer fault handling templates.
[0026] In the following, see Figure 3 The various steps of a method according to an exemplary implementation of the present disclosure are described. Figure 3 A flowchart of a method 300 for managing a computer system 110 according to an exemplary implementation of the present disclosure is schematically shown. At block 310, a service request 210 for the computer system 110 is received. Here, the service request 210 describes the operating status of the computer system. For example, the service request 210 may be represented in text and may include the following content: "After normal startup, the computer system is turned on to access the application, but the server cannot be connected, and an alarm with fault number 001 pops up..."
[0027] It will be understood that, although the above schematically shows the service request 210 provided in Chinese text, according to an exemplary implementation of the present disclosure, the service request 210 may further include a text description expressed in other languages (e.g., English, Japanese, French, etc.). At this time, the service request 210 may be processed based on a translation tool so as to convert the service request 210 into the language used by the historical service requests and historical solutions recorded in the historical records 220. Although the translation tool may have errors and thus result in the recommended solution not being accurately matched to the service request 210, compared to the situation where no recommended solution can be provided at all due to language barriers, the exemplary implementation of the present disclosure can provide users with potential problem-solving solutions, thereby improving user experience.
[0028] Alternatively and / or additionally, the service request 210 may include a voice format, in which case the voice may be first converted to text before subsequent processing is performed. In this way, service requests 210 in a variety of formats may be processed, thereby facilitating the provision of services to users in a variety of interactive modes.
[0029] At block 320, similarities between the service request 210 and a plurality of historical service requests executed against the computer system 110 are determined, wherein the plurality of historical service requests respectively describe a plurality of historical operating states of the computer system. Figure 2 Multiple historical service requests are obtained from the historical record 220 shown. It will be understood that the historical record 220 only schematically shows a simplified example. In the following, more details about the historical record 220 are described with reference to Table 1.
[0030] Table 1 Example of historical records
[0031]
[0032] Table 1 shows an example of a historical record 220, in which each row represents various information related to a historical service request. Specifically, the first column shows the unique identifier of each historical service request, the second column shows the title of each historical service request (a summary of the operating status of the computer system 110), the third column shows the description of each historical service request (specific information describing the operating status of the computer system 110), and the fourth column shows the identifier of the historical solution for processing each historical service request. According to an exemplary implementation of the present disclosure, the title and description of the historical service request can be directly connected together to serve as the text content of the historical service request. It will be understood that Table 1 above is merely schematic. Alternatively and / or additionally, the historical record may include only the description portion of the historical service request, and the order of the columns may be different.
[0033] According to an exemplary implementation of the present disclosure, each historical service request in the historical record 220 may be processed one by one in order to find a historical service request that has a higher similarity with the service request 210. Specifically, the service request 210 and the first historical service request in Table 1 may be processed and compared first to determine the similarity between the two. It will be appreciated that since the text content may include complex grammatical structures, the similarity between two service requests may be determined based on signature technology. The signature of the service request 210 (referred to as a service signature) and the signature of the historical service request (referred to as a historical service signature) may be determined separately. The above two signatures may be determined based on the same method, and will be referred to below. Figure 4 Describes more details about determining the signature.
[0034] Figure 4 Schematically shows a block diagram of a process 400 for obtaining a signature of a service request 210 according to an exemplary implementation of the present disclosure. Figure 4 As shown, the text of the service request 210 can be divided into multiple text segments 410, 412, ..., 414. Then, multiple hashes 420, 422, ..., 424 of the multiple text segments 410, 412, ..., 414 can be determined based on multiple hash algorithms currently developed and / or in the future. According to an exemplary implementation of the present disclosure, the MD5 algorithm (or other algorithms) can be selected to determine the hash of each text segment. At this time, each hash can be represented by a 64-bit binary code.
[0035] Further, multiple vectors 430, 432, ..., 434 can be established based on multiple hashes 420, 422, ..., 424, respectively. Specifically, the 0 in the hash can be changed to -1, and the 1 in the hash can be kept unchanged to generate a 64-dimensional vector. Then, the corresponding dimensions of each vector 430, 432, ..., 434 can be summed to obtain the sum 440 of the multiple vectors. Further, the signature 450 of the service request 210 can be determined based on the sum 440. Using the exemplary implementation of the present disclosure, complex text descriptions can be segmented, and the impact of each segment on the overall similarity can be comprehensively considered, thereby improving the accuracy of determining similarity.
[0036] According to an exemplary implementation of the present disclosure, based on Figure 4 The process shown is used to determine the service signature and the historical service signature respectively. Further, the similarity between the service request 210 and the historical service request can be determined based on the distance between the service signature and the historical service signature. According to an exemplary implementation of the present disclosure, the similarity between two service requests can be determined based on the Hamming distance and / or other distances. Using the exemplary implementation of the present disclosure, the determination of the similarity comparison between two complex texts can be converted into a mathematical problem of distance solving. In this way, the complexity of text comparison can be reduced, and the efficiency of establishing pairings of similar service requests can be improved.
[0037] After the similarity between the service request 210 and each historical service request has been determined, a historical service request with a higher similarity may be selected to build a pair with the service request 210. Figure 3 Provide more details. Figure 3 At box 330, in response to determining that the similarity between the service request 210 and a historical service request in multiple historical service requests satisfies a predetermined similarity condition, a scheme 240 for processing the service request 210 is determined based on the pairing 230 of the service request 210 and the historical service request 232 and the historical scheme 232 for processing the historical service request.
[0038] According to an exemplary implementation of the present disclosure, the predetermined similarity condition may include: if the distance between two service requests is less than a threshold value of 5 (or other numerical value), the two service requests are considered to be similar. It will be understood that there is no limit on how many pairings are constructed, and a similarity condition may be set and one or more similar historical service requests may be found based on the condition. Here, the larger the value of the threshold, the more pairings are constructed, and the lower the similarity requirement of the two service requests in the pairing; the smaller the value of the threshold, the fewer pairings are constructed, and the higher the similarity requirement of the two service requests in the pairing. The size of the threshold can be adjusted based on the expected number of pairings so as to provide the user with a suitable number (e.g., within 10) of recommended solutions.
[0039] According to an exemplary implementation of the present disclosure, similar operations may be performed for each pairing. Specifically, the degree of match between the historical solution 232 and the service request 210 for processing the historical service request in the pair 230 may be determined. The degree of match herein refers to whether the historical solution 232 is suitable for processing the service request 210. According to an exemplary implementation of the present disclosure, the degree of match may be represented by a numerical value between 0 and 1. For example, a larger numerical value indicates that the historical solution 232 is more suitable for processing the service request 210, whereas a smaller numerical value indicates that the historical solution 232 is less suitable for processing the service request 210.
[0040] According to an exemplary implementation of the present disclosure, the degree of match between the historical solution 232 and the service request 210 may be determined based on machine learning technology. For example, a service model for outputting the degree of match may be obtained. Specifically, the service model may include the degree of match between the second solution for processing the second service request and the first service request. The service model may be trained based on multiple historical service requests in the historical records 220 and the corresponding historical solutions of these historical service requests. Figure 5 Describes more details about the feature vector of the service model.
[0041] Figure 5 Schematically shows a block diagram of a process 100 for determining a feature vector of a service model according to an exemplary implementation of the present disclosure. Feature vector 510 may include three parts: a first service request 512, a second service request 514, and a matching degree 516. Figure 5As shown, two solutions for processing two historical service requests can be obtained from the historical records 220. As shown in the first and second rows in the historical records 220, the degree of match between the second historical solution and the first historical service request can be determined based on the comparison of the two historical solutions. If the two historical solutions are the same, it can be determined that the second historical solution matches the first historical service request. If the two historical solutions are different, it can be determined that the second historical solution does not match the first historical service request.
[0042] According to an exemplary implementation of the present disclosure, a feature vector for training a service model may be generated based on a first historical service request, a second historical service request, and a matching degree. As shown by arrow 520, a first service request 512 may be set based on a historical service request SR1. As shown by arrow 522, a second service request 514 may be set based on a historical service request SR2. As shown by arrows 524 and 526, a matching degree 516 may be set based on a comparison of historical services SL1 and SL2.
[0043] like Figure 5 As shown, the first row in the history record 220 indicates that the historical solution for processing the historical service request SR1 is SL1. As shown in the second row, the historical solution for processing the historical service request SR2 is SL2. According to an exemplary implementation of the present disclosure, a value "1" may be used to indicate "matched", and a value "0" may be used to indicate "unmatched". Figure 5 In the example, the historical schemes of the two historical service requests are different (SL1≠SL2), so it can be determined that the historical scheme SL2 used to process the historical service request SR2 is not suitable for processing the historical service request SR1. In other words, the matching degree = 0. At this time, the feature vector can be expressed as (SR1, SR2, 0).
[0044] The pairing of any two historical service requests in the history records 220 can be processed in a similar manner. Figure 6 Describe the process of determining a service model. Figure 6 Schematically shows a block diagram of a process 600 for training a service model according to an exemplary implementation of the present disclosure. Figure 6 As shown, various data related to the pairing of historical service requests may be used to generate training data, and then the training data may be used to obtain the final service model 620. Any two historical service requests in the historical records 220 may be combined to obtain the pairing of historical service requests.
[0045] At this time, based on the historical service requests SR1 and SR2 and the matching degree = 0, a feature vector 610 for training can be generated. The first historical service request SR1 and the next historical service request SR3 in the historical record 220 can be processed in a similar manner. Assuming that the historical schemes used to process the historical service requests SR1 and SR3 are the same, another feature vector 612 for training can be determined. In a similar manner, the pairings of any two historical service requests can be used to generate corresponding feature vectors. At this time, based on the pairings of each historical service request in the historical record 220, feature vectors 610, 612, ..., and 614 can be generated. Subsequently, these feature vectors can be used to train the service model 620. Assuming that the historical record 220 includes n historical service requests, n*n pairings can be generated. Table 2 schematically shows the pairings obtained by combining any two historical service requests in Table 1.
[0046] Table 2 Example of pairing
[0047]
[0048] As shown in Table 2, the first column shows the first service request, the second column shows the second service request, the third column shows the distance between the two service requests, and the fourth column shows the matching degree between the second solution of the second service request and the first service request, that is, whether the second solution is suitable for processing the first service request. Figure 4 The method described herein determines the signature of the first service request and the second service request, thereby determining the distance between the two signatures, and based on Figure 5 The process described determines the degree of match between two service requests.
[0049] By using the exemplary implementation of the present disclosure, when generating training data, it is only necessary to read the historical records 220 and determine whether the corresponding historical solutions of the two historical service requests are the same. In this way, it is possible to conveniently and quickly determine whether the second historical solution matches the first historical service request. Compared with the existing technical solutions that require technical experts to manually annotate data, the exemplary implementation of the present disclosure can greatly reduce the workload of generating training data, thereby improving the efficiency of generating the service model 620.
[0050] In order to improve the accuracy of the service model 620, the generated training data can be divided into a training set and a test set. The data in the training set can be used to train the service model 620, and the data in the test set can be used to test whether the output result of the trained service model 620 is correct. According to an exemplary implementation of the present disclosure, the training set and the test set can be divided in the manner of Table 3 below.
[0051] Table 3 Classification of datasets
[0052] type total The amount of data in the training set The number of data in the test set Historical Service Requests 452825 330000 122825 Annotated historical service requests 234376 162892 71484 Pairing of annotated historical service requests 6453992 3002349 3451643
[0053] In Table 3, the first column shows the type of data, the second column shows the total number of data, and the third and fourth columns show the number of data in the training set and the test set, respectively. As shown in the first row in Table 3, there may be 452,825 historical service requests, and the training set and the test set may include 330,000 and 122,825 historical service requests, respectively. Similarly, the annotated historical service requests and the pairs of the annotated historical service requests may be divided into a training set and a test set, respectively. At this time, the training set of the annotated historical service requests will include 162,892 data, and the test set will include 71,484 data. It will be understood that the number of pairs is the square of the number of annotated historical service requests, which will generate a large amount of data, and thus only a portion of the pairs may be selected for use as training data. For example, 6,453,992 pairs may be selected, at which time the corresponding training set will include 3,002,349 data, and the test set will include 3,451,643 data.
[0054] According to an exemplary implementation of the present disclosure, training data can be generated based on a portion of pairings based on the similarity between two historical service requests. The similarity between a first historical service request and a second historical service request in a plurality of historical service requests can be first determined. If it is determined that the similarity satisfies a predetermined selection condition, a service model is trained based on the first historical service request and the second historical service request. Table 4 below schematically shows the number of pairings generated when different similarity thresholds are set and the related proportions.
[0055] Table 4 Pairings obtained according to different thresholds
[0056]
[0057] The first column in Table 4 represents the similarity threshold for selecting pairings. It will be understood that the higher the similarity, the fewer the number of pairings, and the lower the similarity, the larger the number of pairings. When the similarity is represented by distance, the larger the distance, the lower the similarity, and conversely, the smaller the distance, the higher the similarity. The second column in Table 4 represents the number of pairings obtained based on the distance threshold, and the third column represents the number / proportion of pairings with the same solution. As shown in Table 4, the smaller the distance, the higher the ratio, which indicates that the ratio of two historical service requests sharing the same solution is higher. The fourth column in Table 4 represents the number / proportion of service requests covered by the pairing, and the smaller the distance, the lower the ratio. The fifth column in Table 4 represents the number / proportion of service requests covered by the pairing with the same solution, and the smaller the distance, the lower the ratio.
[0058] According to an exemplary implementation of the present disclosure, training data can be generated based on different distance thresholds shown in Table 4. It will be understood that a larger distance threshold means that a smaller similarity is allowed between two historical service requests, and a larger number of pairings can be obtained in this case, thereby generating a larger amount of training data. Although a large amount of training data can cover more situations, it may have an impact on the amount of calculation and the accuracy of the service model. A smaller distance threshold means that a higher similarity is required between the two historical service requests, and a smaller number of pairings can be obtained in this case, thereby generating a smaller amount of training data. This will help reduce the amount of calculation and improve the accuracy of the service model, but there may be a situation where no recommended solution can be given for some service requests 210. According to an exemplary implementation of the present disclosure, a balance can be made between the above two aspects, and the service model can be controlled by setting a similarity condition (for example, with a distance threshold).
[0059] It will be understood that in this training process, all training data used to train the service model can be directly obtained from the historical records 220. The trained service model 620 obtained in this way may include a large number of solutions accumulated by technical experts when handling similar service requests. Further, when a similar service request is encountered later, a solution suitable for handling the current service request 210 can be directly determined from the large number of solutions accumulated in history.
[0060] It will be understood that the service model 620 herein is obtained based on historical data training and can fully reflect the rich and correct historical experience of technical experts in handling historical service requests. At this point, based on these historical experiences, a solution suitable for handling the service request 210 can be quickly found from the collection of historical experiences.
[0061] In the following, we will refer to Figure 7 Describes the process used to obtain a service model. Figure 7 A block diagram of a process 700 for obtaining a service model 620 based on machine learning technology according to an exemplary implementation of the present disclosure is schematically shown. According to an exemplary implementation of the present disclosure, a bidirectional encoder representation based on a transformer (BERT) model may be used to generate the service model 620. Figure 7 As shown, a BERT basic model 710 that has been generated based on a variety of corpora can be obtained. Further, a service request 712 in a training set can be used to perform an MLM (masked language modeling) fine-tuning 714 operation on the BERT basic model 710 to obtain a BERT optimized model 716. Further, an evaluation 720 operation can be performed on the BERT optimized model 716 using a service request 718 in a test set to determine an evaluation index 722 of the BERT optimized model 716.
[0062] Further, the distance 732 between any two pairs in the annotated service requests 730 in the training set can be determined to determine a plurality of pairs for training the service model 620. The plurality of pairs can be divided into pairs in the training set 734 and pairs in the test set 736. Further, the BERT optimization model 716 can be further trained using the pairs in the training set 734 to perform fine tuning 738 of binary classification, thereby generating the final service model 620. The pairings in the test set 736 can be used to perform an evaluation 740 operation on the service model 620 to determine an evaluation metric 742 for the service model 620.
[0063] will understand, Figure 7 The purpose of the evaluation 720 and 740 in the example is to measure the pros and cons of each model rather than to determine the service model 620 itself, so the above evaluation step can be omitted. Using the exemplary implementation of the present disclosure, multiple adjustments can be performed on the BERT base model so that the final service model 620 can truly reflect the historical experience of various fault handling that have been performed in the computer system 110.
[0064] According to an exemplary implementation of the present disclosure, the trained service model 620 may be used to recommend a suitable solution for the current service request 210. Figure 8 More details about using service model 620 are described. Figure 8 Schematically shows a block diagram of a process 800 for determining a solution for processing a service request based on a service model according to an exemplary implementation of the present disclosure. Figure 8 As shown, the service model 620 may be input with: a pair 230 of a service request 210 and a historical service request having a high similarity thereto, and a historical solution 232 for processing the historical service request. At this time, the service model 620 may output a matching degree 810 between the historical solution 232 and the service request 210. If it is determined that the matching degree 810 satisfies a predetermined matching condition (e.g., higher than a threshold value of 0.9), the historical solution 232 is identified as a solution 240 for processing the service request 210.
[0065] By using the exemplary implementation of the present disclosure, the historical experience recorded in the service model 620 can be used to recommend a solution for currently processing the service request 210 in a more accurate and effective manner.
[0066] The above has described a process of determining a recommended solution based on pairing the service request 210 with a similar historical service request. Alternatively and / or additionally, multiple (e.g., 10) historical service requests with high similarity may be selected, and 10 pairings may be constructed. Similar processing may be performed for each pairing to determine the degree of match between the 10 historical solutions and the service request 210, respectively. The 10 historical solutions may be sorted in order of the degree of match from high to low, and the top 5 (or other number) historical solutions may be selected to be recommended to the user of the computer system 110.
[0067] According to an exemplary implementation of the present disclosure, after a solution suitable for processing the service request 210 has been determined, the determined solution can be provided to the user who submitted the service request 210 to guide the user's operation. It will be understood that the solution provided here is a correct solution that has been executed in the past and can solve the problem in the computer system 110, and the solution includes various details about the processing steps. In this way, the user can perform operations according to the various steps recorded in the recommended solution to eliminate the fault in the computer system 110.
[0068] By using the exemplary implementation of the present disclosure, a portion of historical solutions that are not suitable for processing the service request 210 can be initially filtered out based on the similarity between the service request 210 and the historical service request. Further, the service model 620 can determine with higher accuracy whether the historical solution 232 for processing the historical service request in the pairing is suitable for processing the current service request 210 based on historical experience. In this way, the accuracy of the recommendation can be improved, thereby providing a solution that is more suitable for processing the current service request 210.
[0069] It will be understood that although the above only describes the process for managing a computer system by taking a service request submitted when a failure occurs in a storage system as an example. Alternatively and / or additionally, the exemplary implementation according to the present disclosure may be performed in other computer systems. For example, the method 300 described above may be performed in a computing system, a communication system, and / or other types of computer systems.
[0070] See above for Figures 2 to 8An example of a method according to the present disclosure is described in detail, and the implementation of the corresponding device will be described below. According to an exemplary implementation of the present disclosure, a device for managing a computer system is provided. The device includes: a receiving module, configured to receive a service request for a computer system, the service request describing the operating state of the computer system; a determining module, configured to respectively determine the similarity between the service request and multiple historical service requests executed for the computer system, the multiple historical service requests respectively describing multiple historical operating states of the computer system; and a determining module, configured to determine a solution for processing the service request based on the pairing of the service request and the historical service request and the historical solution for processing the historical service request in response to determining that the similarity between the service request and the historical service request in the multiple historical service requests meets a predetermined similarity condition. According to an exemplary implementation of the present disclosure, the device further includes a module for executing other steps in the method 300 described above.
[0071] Fig. 9 A block diagram of a device 900 for managing data patterns according to an exemplary implementation of the present disclosure is schematically shown. As shown, the device 900 includes a central processing unit (CPU) 901, which can perform various appropriate actions and processes according to computer program instructions stored in a read-only memory (ROM) 902 or loaded from a storage unit 908 into a random access memory (RAM) 903. In the RAM 903, various programs and data required for the operation of the device 900 can also be stored. The CPU 901, the ROM 902, and the RAM 903 are connected to each other via a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.
[0072] A number of components in the device 900 are connected to the I / O interface 905, including: an input unit 906, such as a keyboard, a mouse, etc.; an output unit 907, such as various types of displays, speakers, etc.; a storage unit 908, such as a disk, an optical disk, etc.; and a communication unit 909, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 909 allows the device 900 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0073] The various processes and processing described above, such as method 300, can be performed by processing unit 901. For example, in some implementations, method 300 can be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as storage unit 908. In some implementations, part or all of the computer program can be loaded and / or installed on device 900 via ROM 902 and / or communication unit 909. When the computer program is loaded into RAM 903 and executed by CPU 901, one or more steps of method 300 described above can be performed. Alternatively, in other implementations, CPU 901 can also be configured in any other suitable manner to implement the above process / method.
[0074] According to an exemplary implementation of the present disclosure, an electronic device is provided, comprising: at least one processor; a volatile memory; and a memory coupled to the at least one processor, the memory having instructions stored therein, the instructions causing the device to execute a method for managing a computer system when executed by the at least one processor. The method comprises: receiving a service request for a computer system, the service request describing an operating state of the computer system; respectively determining similarities between the service request and a plurality of historical service requests executed for the computer system, the plurality of historical service requests respectively describing a plurality of historical operating states of the computer system; and in response to determining that the similarity between the service request and a historical service request in the plurality of historical service requests satisfies a predetermined similarity condition, determining a scheme for processing the service request based on a pairing of the service request and the historical service request and a historical scheme for processing the historical service request.
[0075] According to an exemplary implementation of the present disclosure, respectively determining the similarity between a service request and multiple historical service requests includes: for historical service requests among the multiple historical service requests, respectively determining a service signature of the service request and a historical service signature of the historical service request; and determining the similarity between the service request and the historical service request based on the distance between the service signature and the historical service signature.
[0076] According to an exemplary implementation of the present disclosure, a service request includes a text description of an operating status, and determining a service signature of the service request includes: respectively determining multiple hashes of multiple text segments in the text description; respectively establishing multiple vectors based on the multiple hashes; and determining the service signature of the service request based on the sum of the multiple vectors.
[0077] According to an exemplary implementation of the present disclosure, determining a solution for processing a service request includes: determining a degree of match between a historical solution and the service request; and in response to determining that the degree of match satisfies a predetermined matching condition, identifying the historical solution as a solution for processing the service request.
[0078] According to an exemplary implementation of the present disclosure, determining the degree of match between a historical solution and a service request includes: obtaining a service model, the service model including a second solution for processing a second service request and a degree of match between the first service request; and determining the degree of match between the service request and the historical solution based on the service request, the historical service request, and the service model.
[0079] According to an exemplary implementation of the present disclosure, obtaining a service model includes: determining the similarity between a first historical service request and a second historical service request among multiple historical service requests; and in response to determining that the similarity satisfies a predetermined selection condition, training the service model based on the first historical service request and the second historical service request.
[0080] According to an exemplary implementation of the present disclosure, training a service model includes: obtaining a first historical solution for processing a first historical service request and a second historical solution for processing a second historical service request; determining a degree of match between the second historical solution and the first historical service request based on a comparison between the first historical solution and the second historical solution; and training a service model based on the first historical service request, the second historical service request and the degree of match.
[0081] According to an exemplary implementation of the present disclosure, determining the degree of match between the second historical scheme and the first historical service request includes at least any one of the following: in response to determining that the first historical scheme is the same as the second historical scheme, determining that the second historical scheme matches the first historical service request; and in response to determining that the first historical scheme is different from the second historical scheme, determining that the second historical scheme does not match the first historical service request.
[0082] According to an exemplary implementation of the present disclosure, a computer system includes a storage system, and an operating status includes a text description of a fault occurring in the storage system.
[0083] According to an exemplary implementation of the present disclosure, the method further includes: providing a solution to the user who submitted the service request to guide the user to handle the service request.
[0084] According to an exemplary implementation of the present disclosure, a computer program product is provided, which is tangibly stored on a non-transitory computer-readable medium and includes machine-executable instructions for executing a method according to the present disclosure.
[0085] According to an exemplary implementation of the present disclosure, a computer-readable medium is provided. The computer-readable medium stores machine-executable instructions, and when the machine-executable instructions are executed by at least one processor, the at least one processor implements the method according to the present disclosure.
[0086] The present disclosure may be a method, an apparatus, a system and / or a computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for executing various aspects of the present disclosure.
[0087] A computer-readable storage medium may be a tangible device that can hold and store instructions used by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples of computer-readable storage media (a non-exhaustive list) include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a raised structure in a groove on which instructions are stored, and any suitable combination of the foregoing. As used herein, a computer-readable storage medium is not to be interpreted as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse through a fiber optic cable), or an electrical signal transmitted through a wire.
[0088] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in the computer-readable storage medium in each computing / processing device.
[0089] The computer program instructions for performing the operation of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages, such as Smalltalk, C++, etc., and conventional procedural programming languages, such as "C" language or similar programming languages. Computer-readable program instructions may be executed entirely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer, partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., using an Internet service provider to connect via the Internet). In some implementations, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may be customized by utilizing the state information of the computer-readable program instructions, and the electronic circuit may execute the computer-readable program instructions, thereby realizing various aspects of the present disclosure.
[0090] Various aspects of the present disclosure are described herein with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products implemented according to the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer-readable program instructions.
[0091] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processing unit of the computer or other programmable data processing device, a device that implements the functions / actions specified in one or more boxes in the flowchart and / or block diagram is generated. These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions cause the computer, programmable data processing device, and / or other equipment to work in a specific manner, so that the computer-readable medium storing the instructions includes a manufactured product, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0092] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operating steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0093] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to multiple implementations of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and a part of a module, program segment or instruction includes one or more executable instructions for realizing the logical function of the specification. In some implementations as replacements, the function marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square boxes can actually be executed substantially in parallel, and they can sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be realized by a special hardware-based system that performs the function or action of the specification, or can be realized by a combination of special hardware and computer instructions.
[0094] The above descriptions of various implementations of the present disclosure are exemplary, non-exhaustive, and not limited to the disclosed implementations. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described implementations. The selection of terms used herein is intended to best explain the principles of the implementations, practical applications, or improvements to the technology in the marketplace, or to enable other persons of ordinary skill in the art to understand the implementations disclosed herein.
Claims
1. A method for managing a computer system, comprising: receiving a service request for the computer system, the service request describing an operating status of the computer system; respectively determining similarities between the service request and a plurality of historical service requests executed for the computer system, the plurality of historical service requests respectively describing a plurality of historical operating states of the computer system; as well as In response to determining that the similarity between the service request and a historical service request among the plurality of historical service requests satisfies a predetermined similarity condition, determining a solution for processing the service request based on a pairing of the service request and the historical service request and a historical solution for processing the historical service request; The service request includes a text description of the operating state, and determining the similarity between the service request and a given one of the plurality of historical service requests includes: respectively determining a plurality of hashes of a plurality of text segments in the text description of the operating state; as well as The similarity between the service request and the historical service requests is determined using the plurality of hashes.
2. The method according to claim 1, wherein respectively determining the similarity between the service request and the plurality of historical service requests comprises: For the historical service request among the multiple historical service requests, respectively determining a service signature of the service request and a historical service signature of the historical service request; as well as The similarity between the service request and the historical service request is determined based on a distance between the service signature and the historical service signature.
3. The method of claim 2, wherein determining the service signature of the service request comprises: Establishing a plurality of vectors based on the plurality of hashes respectively; as well as The service signature of the service request is determined based on a sum of the plurality of vectors.
4. The method of claim 1 , wherein determining the solution for processing the service request comprises: Determining a degree of match between the historical solution and the service request; as well as In response to determining that the degree of match satisfies a predetermined matching condition, the historical solution is identified as the solution for processing the service request.
5. The method according to claim 4, wherein determining the degree of match between the historical solution and the service request comprises: Acquire a service model, the service model including a degree of match between a second solution for processing a second service request and the first service request; as well as The matching degree between the service request and the historical solution is determined based on the service request, the historical service request, and the service model.
6. The method according to claim 5, wherein obtaining the service model comprises: determining a similarity between a first historical service request and a second historical service request among the plurality of historical service requests; as well as In response to determining that the similarity satisfies a predetermined selection condition, the service model is trained based on the first historical service request and the second historical service request.
7. The method according to claim 6, wherein training the service model comprises: Obtaining a first historical solution for processing the first historical service request and a second historical solution for processing the second historical service request; Determining the degree of match between the second historical solution and the first historical service request based on a comparison between the first historical solution and the second historical solution; as well as The service model is trained based on the first historical service request, the second historical service request, and the matching degree.
8. The method according to claim 7, wherein determining the degree of match between the second historical solution and the first historical service request comprises at least any one of the following: In response to determining that the first history scheme is the same as the second history scheme, determining that the second history scheme matches the first history service request; and In response to determining that the first history scheme is different from the second history scheme, it is determined that the second history scheme does not match the first history service request.
9. The method according to claim 1, further comprising: The solution is provided to a user who submits the service request to guide the user in processing the service request.
10. The method of claim 1, wherein the computer system comprises a storage system, and the operational status comprises a textual description of a fault occurring in the storage system.
11. An electronic device, comprising: at least one processor; Volatile memory; as well as a memory coupled to the at least one processor, the memory having instructions stored therein, the instructions, when executed by the at least one processor, causing the apparatus to perform a method for managing a computer system, the method comprising: receiving a service request for the computer system, the service request describing an operating status of the computer system; respectively determining similarities between the service request and a plurality of historical service requests executed for the computer system, the plurality of historical service requests respectively describing a plurality of historical operating states of the computer system; and In response to determining that the similarity between the service request and a historical service request among the plurality of historical service requests satisfies a predetermined similarity condition, determining a solution for processing the service request based on a pairing of the service request and the historical service request and a historical solution for processing the historical service request; The service request includes a text description of the operating state, and determining the similarity between the service request and a given one of the plurality of historical service requests includes: respectively determining a plurality of hashes of a plurality of text segments in the text description of the operating state; and The similarity between the service request and the historical service requests is determined using the plurality of hashes.
12. The apparatus according to claim 11, wherein respectively determining the similarities between the service request and the plurality of historical service requests comprises: For the historical service request among the multiple historical service requests, respectively determining a service signature of the service request and a historical service signature of the historical service request; as well as The similarity between the service request and the historical service request is determined based on a distance between the service signature and the historical service signature.
13. The apparatus of claim 12, wherein determining the service signature of the service request comprises: Establishing a plurality of vectors based on the plurality of hashes respectively; as well as The service signature of the service request is determined based on a sum of the plurality of vectors.
14. The apparatus of claim 11, wherein determining the scheme for processing the service request comprises: Determining a degree of match between the historical solution and the service request; as well as In response to determining that the degree of match satisfies a predetermined matching condition, the historical solution is identified as the solution for processing the service request.
15. The apparatus according to claim 14, wherein determining the degree of match between the historical solution and the service request comprises: Acquire a service model, the service model including a degree of match between a second solution for processing a second service request and the first service request; as well as The matching degree between the service request and the historical solution is determined based on the service request, the historical service request, and the service model.
16. The apparatus according to claim 15, wherein obtaining the service model comprises: determining a similarity between a first historical service request and a second historical service request among the plurality of historical service requests; as well as In response to determining that the similarity satisfies a predetermined selection condition, the service model is trained based on the first historical service request and the second historical service request.
17. The apparatus of claim 16, wherein training the service model comprises: Obtaining a first historical solution for processing the first historical service request and a second historical solution for processing the second historical service request; Determining the degree of match between the second historical solution and the first historical service request based on a comparison between the first historical solution and the second historical solution; as well as The service model is trained based on the first historical service request, the second historical service request, and the matching degree.
18. The device according to claim 17, wherein determining the degree of match between the second historical solution and the first historical service request comprises at least any one of the following: In response to determining that the first history scheme is the same as the second history scheme, determining that the second history scheme matches the first history service request; and In response to determining that the first history scheme is different from the second history scheme, it is determined that the second history scheme does not match the first history service request.
19. The apparatus of claim 11, wherein the computer system comprises a storage system, and the operating status comprises a textual description of a fault occurring in the storage system, and the method further comprises: The solution is provided to a user who submits the service request to guide the user in processing the service request.
20. A non-transitory computer readable medium comprising computer readable instructions thereon, which when executed by a computer, cause the computer to perform the method according to any one of claims 1 to 10.
