System health status predicting method, device, computer equipment and storage medium

CA3154869CActive Publication Date: 2026-08-1110353744 CANADA LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CA3154869
Authority / Receiving Office
CA · CA
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-04-09
Filing Date
2022-04-11
Publication Date
2026-08-11
Estimated Expiration
2042-04-11
Patent Text Reader

Abstract

The present application relates to a system health status predicting method, and corresponding device, computer equipment and storage medium. The method comprises: obtaining current health curve of system within a current time window; selecting corresponding target health curve from historical health curves of system according to current health curve, and calculating time difference between a time window in which the target health curve resides and current time window; taking any time interval following current time window as prediction time interval; and predicting health status of system within prediction time interval through health status of system in a target historical time interval, wherein target historical time interval is a historical time interval that is before the prediction time interval and differs from the prediction time interval by the time difference. Use of this method enables precognition of health status of system, and enhancement of the timeliness of system health status analysis.
Need to check novelty before this filing date? Find Prior Art

Description

SYSTEM HEALTH STATUS PREDICTING METHOD, DEVICE, COMPUTER EQUIPMENT AND STORAGE MEDIUM BACKGROUND OF THE INVENTION Technical Field

[0001] The present application relates to the field of system detection technology, and more particularly to a system health status predicting method, and corresponding device, computer equipment and storage medium. Description of Related Art

[0002] With the development of the system detection technology, it has become of great importance to perceive in real time the health status of the system and to adequately process application requests according to the health status. However, calculation and detection of the system health status require the consumption of great quantities of memory spaces and computational resources, and calculation of the health status temporally lags behind system interaction.

[0003] It is possible for traditional system health status calculating methods to calculate the health status of a system within a current time interval only after the number of times of successful accesses and the number of times of failed accesses to the system within the current time interval have been known, such calculation of system health status is hence delayed, the health status of the system within the current time interval could be known at or after the next time interval at the earliest, and it is impossible to foresee the future health status of the system. SUMMARY OF THE INVENTION

[0004] In view of the above technical problems, there is an urgent need to provide a system 1 Date Re9ue / Date Received 2022-04-11 health status predicting method, and corresponding device, computer equipment and storage medium capable of realizing system health status prediction and enhancing timeliness of system health status analysis.

[0005] There is provided a system health status predicting method that comprises:

[0006] obtaining a current health curve of a system within a current time window;

[0007] selecting a corresponding target health curve from historical health curves of the system according to the current health curve, and calculating a time difference between a time window in which the target health curve resides and the current time window;

[0008] taking any time interval following the current time window as a prediction time interval; and

[0009] predicting a health status of the system within the prediction time interval through a health status of the system in a target historical time interval, wherein the target historical time interval is a historical time interval that is before the prediction time interval and differs from the prediction time interval by the time difference.

[0010] In one embodiment, the step of obtaining a current health curve of a system within a current time window includes: calculating number of times of successful accesses and number of times of failed accesses to the system within the current time window; and calculating the current health curve of the system within the current time window according to the number of times of successful accesses and the number of times of failed accesses. [OOll] In one embodiment, the step of selecting a corresponding target health curve from historical health curves of the system according to the current health curve includes: selecting plural historical time windows within a certain time range; fitting the current health curve respectively with health curves of the system within the various historical time windows; and as a target health curve, determining the health curve having the highest fitting degree with respect to the current health curve. 2 Date Re9ue / Date Received 2022-04-11

[0012] In one embodiment, the method further comprises: obtaining a preset fitting threshold, and entering the step of predicting a health status of the system within the prediction time interval through a health status of the system in a target historical time interval, when the fitting degree of the target health curve with respect to the current health curve is greater than the fitting threshold.

[0013] In one embodiment, the method further comprises: calculating an actual health status of the system within the prediction time interval, when the fitting degree of the target health curve with respect to the current health curve is smaller than the fitting threshold.

[0014] In one embodiment, the method further comprises: obtaining an actual health status of the system within the prediction time interval; determining a prediction at the prediction time interval as failed, when a predicted health status is inconsistent with the actual health status, and recording number of times of failed predictions; reselecting a new time window to serve as the current time window, when the number of times of failed predictions is greater than a preset number of times, and entering the step of obtaining a current health curve of a system within a current time window.

[0015] In one embodiment, the method further comprises: returning the predicted health status of the system within the prediction time interval to a service requesting end.

[0016] In one embodiment, the method further comprises: degrading any accessing request within the prediction time interval, when the predicted health status of the system within the prediction time interval is unhealthy.

[0017] In one embodiment, the method further compnses: calculating a total number of successful accesses and a total number of failed accesses to the system within the current time window; calculating expected number of times of accesses to the system within the 3 Date Re9ue / Date Received 2022-04-11 next time interval after the current time window according to the total number of successful accesses and the total number of failed accesses; predicting a health status of the system within the next time interval according to the health status of the system within the current time window, when real-time accumulated number of times of accesses to the system within the next time interval after the current time window is smaller than the expected number of times of accesses; and entering the step of obtaining a current health curve of a system within a current time window, when the health status of the system within the next time interval is unpredictable.

[0018] There is provided a system health status predicting device that comprises:

[0019] a time window obtaining module, for obtaining a current health curve of a system within a current time window;

[0020] a time difference calculating module, for selecting a corresponding target health curve from historical health curves of the system according to the current health curve, and calculating a time difference between a time window in which the target health curve resides and the current time window;

[0021] a prediction time interval selecting module, for taking any time interval following the current time window as a prediction time interval; and

[0022] a system status predicting module, for predicting a health status of the system within the prediction time interval through a health status of the system in a target historical time interval, wherein the target historical time interval is a historical time interval that is before the prediction time interval and differs from the prediction time interval by the time difference.

[0023] There is provided a computer equipment that comprises a memory, a processor and a computer program stored on the memory and operable on the processor, and steps of the aforementioned system health status predicting method are realized when the processor executes the computer program. 4 Date Re9ue / Date Received 2022-04-11

[0024] There is provided a computer-readable storage medium storing a computer program thereon, and steps of the aforementioned system health status predicting method are realized when the computer program is executed by a processor.

[0025] In the aforementioned system health status predicting method, and corresponding device, computer equipment and storage medium, a corresponding health curve is screened out of historical health curves through the health curve of the system within the current time window, a time difference between the time window of the screened health curve and the time window of the current health curve is calculated, the health status of the system within any future time interval after the current time window can be predicted by means of the health status of the system within a historical time interval differing therefrom by the time difference, so that the health status of the system can be foreseen, and the timeliness of system health status analysis can be enhanced. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] Fig. la is a view illustrating the application environment for the system health status predicting method in an embodiment;

[0027] Fig. lb is a view illustrating the application environment for the system health status predicting method in another embodiment;

[0028] Fig. 2 is a flowchart schematically illustrating the system health status predicting method in an embodiment;

[0029] Fig. 3 is a view schematically illustrating the use of a narve prediction method to perform system health status prediction in a concrete example of application;

[0030] Fig. 4 is a view schematically illustrating the use of a complex prediction method to 5 Date Re9ue / Date Received 2022-04-11 perform system health status prediction in a concrete example of application;

[0031] Fig. 5 is a :flowchart schematically illustrating a system break method in which are compatibly combined the narve prediction method and the complex prediction method in a concrete example of application;

[0032] Fig. 6 is a :flowchart schematically illustrating a system break method in which are compatibly combined the narve prediction method and the complex prediction method in another concrete example of application;

[0033] Fig. 7 is a block diagram illustrating the structure of the system health status predicting device in an embodiment; and

[0034] Fig. 8 is a view illustrating the internal structure of the computer equipment in an embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0035] To make more lucid and clear the objectives, technical solutions and advantages of the present application, the present application is described in greater detail below with reference to accompanying drawings and embodiments. As should be understood, the specific embodiments described here are merely meant to explain the present application, rather than to restrict the present application.

[0036] The system health status predicting method provided by the present application is applicable to the application environment as shown in Fig. la, in which server 102 can communicate with servers in distributed server cluster 104 through communication interfaces. 6 Date Re9ue / Date Received 2022-04-11

[0037] Specifically, server 102 obtains a current health curve of a system of distributed server cluster 104 within a current time window, selects a corresponding target health curve from historical health curves of the system according to the current health curve, calculates a time difference between a time window in which the target health curve resides and the current time window, takes any time interval following the current time window as a prediction time interval, and predicts a health status of the system within the prediction time interval through a health status of the system in a target historical time interval, wherein the target historical time interval is a historical time interval that is before the prediction time interval and differs from the prediction time interval by the time difference. Server 102 can be any server in the distributed server cluster, and can also be a server deployed independent of the distributed server cluster. Server 102 can be embodied as an independent server or a server cluster consisting of a plurality of servers.

[0038] The method is also applicable to the application environment shown in Fig. lb, in which server 102 can communicate with proxy server 106 through a communication interface. On proxy server 106 is deployed a sidecar service program to which an application program of the distributed system corresponds, and server 102 can realize prediction of the system health status by invoking the sidecar service program.

[0039] As is additionally notable, the aforementioned two embodiments merely exemplarily describe application environments of the system health status predicting method involved in the present application, but the application environments are not restricted thereby, as any system framework suitable for the solution of the present application other than the aforementioned microservice framework and sidecar framework can be used as the application environment for the system health status predicting method of the present application.

[0040] In one embodiment, as shown in Fig. 2, there is provided a system health status predicting method, and the method is explained with an example of its application to the server in 7 Date Re9ue / Date Received 2022-04-11 Fig. la or Fig. lb, to comprise the following steps.

[0041] Step S202 - obtaining a current health curve of a system within a current time window.

[0042] The time window indicates a window that is based on time, that is to say, an event or an affair can be processed or responded within the time interval framed by the time window, and it is allowed for a time window to define a window size, by which are meant the positions and number of unit time intervals framed by a window. The current time window indicates a currently selected time window. The health curve indicates a judging indicator by which to judge whether the system is in a status of being normally accessed. The current health curve indicates a health curve of the system within a time range framed by the current time window on the basis of the current time window. The health curve can be calculated via a health degree of the system or by making statistics on the volume of accesses to the system, and so on.

[0043] Specifically, the server can define the current time window, make statistics on the volume of accesses to the system within the current time window, and calculate the current health curve of the system within the current time window according to the number of times of successful accesses and the total number of accesses to the system within the current time window.

[0044] In one embodiment, the step of obtaining a current health curve of a system within a current time window includes: calculating number of times of successful accesses and number of times of failed accesses to the system within the current time window; and calculating the current health curve of the system within the current time window according to the number of times of successful accesses and the number of times of failed accesses.

[0045] In this embodiment, various time intervals in the current time window can be taken as 8 Date Re9ue / Date Received 2022-04-11 statistical periods, unit numbers of times of successful accesses and unit numbers of times of failed accesses to the system within the various time intervals are accounted, the number of times of successful accesses to the system within the current time window is calculated according to the various unit numbers of times of successful accesses, and the number of times of failed accesses to the system within the current time window is calculated according to the various unit numbers of times of failed accesses.

[0046] More specifically, a sliding calculation window and a time bucket can be utilized in a concrete example of application, for instance, to count and calculate the number of times of accesses to the system.

[0047] Step I -defining a size N of a time window, wherein a current time window is Window(t);

[0048] Step 2 - defining a time bucket, wherein a current time bucket is Bucket(t), collecting measuring data, placing successful access data or failed access data in the newest time bucket Bucket(t), counting data in the bucket by the mode of atomic accumulation;

[0049] Step 3 - defining a sliding calculation window C Window, wherein the sliding calculation window has a size N, and a current sliding calculation window is C Window(t).

[0050] The following formulae are used as basis to calculate and obtain the total number of times of successful accesses S(t) and the total number of times of failed accesses F(t) to the system within the current sliding calculation window:

[0051] S (t) = S [Bucket (t)] + S [Bucket (t-1)] + ... S [Bucket (t-N+l)];

[0052] F (t) =F [Bucket (t)] + F [Bucket (t-1)] + ... F [Bucket (t-N+l)].

[0053] The number of times of successful accesses and the number of times of failed accesses within the current sliding calculation window are the number of times of successful accesses and the number of times of failed accesses to the system within the current time window.

[0054] Step S204 - selecting a corresponding target health curve from historical health curves 9 Date Re9ue / Date Received 2022-04-11 of the system according to the current health curve, and calculating a time difference between a time window in which the target health curve resides and the current time window.

[0055] The historical health curve indicates a health curve of the system within a historical time window before the current time window. The target health curve indicates a historical health curve that matches the current health curve, such as a historical health curve whose similarity or fitting degree with respect to the current health curve satisfies a certain preset condition.

[0056] Specifically, the server can sample from historical health curves of the system to obtain at least one historical health curve of the system, then compare the sampled historical health curve with the current health curve, and determines the historical health curve as a target health curve when the similarity between the two is greater than a preset specific ratio. The time difference between the historical time window in which the target health curve resides and the current time window is calculated, and the time difference can be a difference between starting time of the two time windows or a difference between ending time of the two time windows.

[0057] In one embodiment, the step of selecting a corresponding target health curve from historical health curves of the system according to the current health curve includes: selecting plural historical time windows within a certain time range; fitting the current health curve respectively with health curves of the system within the various historical time windows; and as a target health curve, determining the health curve having the highest fitting degree with respect to the current health curve.

[0058] In this embodiment, plural historical time windows identical in size with the current time window can be sampled within a certain time range by selecting a sampling window and by using the sampling window, historical health curves of the system within the various 10 Date Re9ue / Date Received 2022-04-11 historical time windows are obtained and fitted with the current health curve on a oneby- one basis, and the historical health curve with the highest fitting degree is determined as the target health curve.

[0059] Such optimal sampling parameters of the historical time windows as the sampling range and the number of samples can be determined by previous training and learning of the system through an artificial intelligence algorithm.

[0060] More specifically, it is possible, in a concrete example of application for instance, to determine the target health curve by the following mode, which is described following the aforementioned step 3.

[0061] Step 4-defining a sampling period M*N*t, i.e., the size of the sampling window is M*N, and collecting measurement quantities to fill in the sampling window, wherein M is the number of the historical time windows, N is the size of the historical time windows, and t is the current time interval;

[0062] Step 5 - comparing the current health curve in the current time window Window(t) with historical health curves in the historical time windows, and selecting a window Window(m) that best fits from plural historical time windows Window(m)[m=l,2 .. M-1];

[0063] Step 6- calculating a time difference between the current time window and this historical time window, namely T=t-m.

[0064] Step S206 - taking any time interval following the current time window as a prediction time interval.

[0065] The time interval indicates a certain time period, for example, one second, ten seconds, and one minute, etc. Specifically, a random time interval following the current time interval within the current time window can be selected to serve as the prediction time interval in which the system health status is to be predicted. 11 Date Re9ue / Date Received 2022-04-11

[0066] Step S208 - predicting a health status of the system within the prediction time interval through a health status of the system in a target historical time interval, wherein the target historical time interval is a historical time interval that is before the prediction time interval and differs from the prediction time interval by the time difference.

[0067] Specifically, a historical time interval is determined according to the time difference between the historical time window in which the target health curve resides and the current time window, the historical time interval is identical in time length with the prediction time interval, and the starting time of the historical time interval differs from the starting time of the prediction time interval by the time difference. The health status of the system within the historical time interval is taken to serve as the prediction basis, and the health status of the system within the historical time interval is used to predict the health status of the system within the prediction time interval corresponding in future.

[0068] More specifically, in a concrete example of application for instance, the step of determining the historical time interval that corresponds to the prediction time interval is as follows, and this step is described following the aforementioned step 6.

[0069] Step 7 -the server being enabled to obtain in real time a time bucket Bucket(t+n-T) as a prediction bucket, and using the health status of the system within the Bucket(t+n-T) to predict the health status of the system within a future Bucket(t+n), wherein Bucket(t+n) indicates the future nth time bucket (time interval) after the current time window.

[0070] In the aforementioned system health status predicting method, a corresponding health curve is screened out of historical health curves through the health curve of the system within the current time window, a time difference between the time window of the screened health curve and the time window of the current health curve is calculated, the health status of the system within any future time interval after the current time window 12 Date Re9ue / Date Received 2022-04-11 can be predicted by means of the health status of the system within a historical time interval differing therefrom by the time difference, so that the health status of the system can be predicted, and the timeliness of system health status calculation can be enhanced.

[0071] In one embodiment, the method further comprises: obtaining a preset fitting threshold, and entering the step of predicting a health status of the system within the prediction time interval through a health status of the system in a target historical time interval, when the fitting degree of the target health curve with respect to the current health curve is greater than the fitting threshold.

[0072] In this embodiment, before the historical time interval differing from the prediction time interval by the time difference is used for prediction, it is possible to firstly judge whether the current health curve and the determined target health curve have reached the fitting threshold of prediction, if yes, the subsequent predicting step can be performed, and the prediction precision can be further enhanced through the comparison and verification with the fitting threshold; if not, another mode can be employed for prediction or calculation, such as renewed window selection, fitting comparison, etc.

[0073] In one embodiment, the method further comprises: calculating an actual health status of the system within the prediction time interval, when the fitting degree of the target health curve with respect to the current health curve is smaller than the fitting threshold.

[0074] In this embodiment, when the fitting degree of the selected target health curve with respect to the current health curve does not satisfy the preset condition, it is possible to calculate in real time the health status of the system within the prediction time interval to obtain the actual health status, so as to ensure precision of the system health status analysis result.

[0075] In one embodiment, the method further comprises: obtaining an actual health status of 13 Date Re9ue / Date Received 2022-04-11 the system within the prediction time interval; determining a prediction at the prediction time interval as failed, when a predicted health status is inconsistent with the actual health status, and recording number of times of failed predictions; reselecting a new time window to serve as the current time window, when the number of times of failed predictions is greater than a preset number of times, and entering the step of obtaining a current health curve of a system within a current time window.

[0076] In this embodiment, by comparing the predicted system health status with the actual system health status, when the prediction result does not conform to the actual result, it can be considered that the prediction fails, and the number of times of failed predictions are recorded. When the number of times of failed predictions reaches a preset number of times, the server can reselect a time window, take the reselected time window to serve as the current time window, enter again the step of fitting with the historical health curves, determine a new target health curve, and calculate a new time difference.

[0077] In this embodiment, before the number of times of failed predictions reaches a preset number of times, it is possible to predict the health status of the system within any time interval after the current time window according to the time difference obtained by one round of calculation, while it is not required to perform curve fitting again on each time interval, therefore, the prejudging speed is not only enhanced, but computational resources can also be saved. On the other hand, after the number of times of failed predictions has reached the preset number of times, it is possible to carry out a new round of sampling historical time windows and historical health curves, and to perform curve fitting again to determine the new target health curve and time difference, so that the prediction algorithm is enabled to incessantly learn to incessantly subsume the newest health statuses into the prediction, whereby prediction precision is enhanced.

[0078] For instance, if the current time window matches a historical time window, but the prediction fails, the health degree of the health curve within the current time window is 14 Date Re9ue / Date Received 2022-04-11 [25%, 50%, 75%], the health degree in the next time bucket is t, the health degree of the health curve within the matched historical time window is [25%, 50%, 75%], and the health degree in the next time bucket is 100%, it can then be derived that the prediction value oft as obtained by prediction is 100%, but the actually calculated value is 60%, so prediction fails. At this time, the server records the current number of times of failures, with the backwards sliding of the sliding time window, when a time window in which the health degree is [25%, 50%, 75%] appears next time, the prediction value of the next time bucket as given will be 60%, in other words, the algorithm has learnt the newest health status.

[0079] In one embodiment, the method further comprises: returning the predicted health status of the system within the prediction time interval to a service requesting end.

[0080] In this embodiment, the prediction result of the system health status can be timely returned to the requesting end that requests the prediction service, so as to enable the service requesting end to timely adopt such measures as circuit breaker according to the returned prediction result, to thereby maintain system stability.

[0081] In one embodiment, the method further comprises: degrading any accessing request within the prediction time interval, when the predicted health status of the system within the prediction time interval is unhealthy. In this embodiment, the prediction result can be basis to perform such a process as degrading the accessing request to the system or transferring pressure therefrom in advance, so as to enhance system stability.

[0082] In one embodiment, the method further compnses: calculating a total number of successful accesses and a total number of failed accesses to the system within the current time window; calculating expected number of times of accesses to the system within the next time interval after the current time window according to the total number of successful accesses and the total number of failed accesses; predicting a health status of 15 Date Re9ue / Date Received 2022-04-11 the system within the next time interval according to the health status of the system within the current time window, when real-time accumulated number of times of accesses to the system within the next time interval after the current time window is smaller than the expected number of times of accesses; and entering the step of obtaining a current health curve of a system within a current time window, when the health status of the system within the next time interval is unpredictable.

[0083] In this embodiment, before obtaining the current health curve of the system within the current time window, namely before employing the aforementioned predicting method (hereinafter referred to as "complex prediction algorithm") to predict the system health status, it is further possible to base on the circumstance of the system computational resources to judge whether another method (hereinafter referred to as "narve prediction algorithm") more economical on computational resources is firstly used to perform prediction. When the narve prediction algorithm does not satisfy the prediction condition, the complex prediction algorithm is then employed, the two predicting methods cooperate with each other, enabling the precision of system health prediction and the cost of computational resources to achieve dynamic balance.

[0084] By the prediction on the basis of the aforementioned narve prediction algorithm, since the computational logic based on the number of windows being N is transformed to an operational logic with the number being 2, operating performance of the algorithm is greatly enhanced. The number of times of accesses has broadened the difference in performances, and a number of times of accesses * (N-2) as operated can be actually saved, whereby is achieved very appreciable performance economization. According to an actual test, approximately 2 seconds can be saved in every 10,000 accesses. The narve prediction algorithm can supply limited predicting capability. The prediction supplied by this algorithm achieves a precision of 100%, and the aforementioned performance economization is satisfied. 16 Date Re9ue / Date Received 2022-04-11

[0085] In a concrete example of application, the specific process of basing on the aforementioned narve prediction algorithm to perform system health status prediction can be as follows:

[0086] Step l' - defining a size of a time window as N, wherein a current time window is Window(t);

[0087] Step 2' - defining a time bucket, wherein a current time bucket is Bucket(t), collecting measuring data, placing access succeeding data or access failing data in the newest time bucket Bucket(t), counting data in the bucket by the mode of atomic accumulation;

[0088] Step 3' -defining a sliding calculation window C Window, wherein the sliding calculation window has a size N, and a current sliding calculation window is C Window(t).

[0089] The following formulae are use as basis to calculate and obtain the total number of times of successful accesses S(t) and the total number of times of failed accesses F(t) to the system at the current sliding calculation window:

[0090] S (t) = S [Bucket (t)] + S [Bucket (t-1)] + ... S [Bucket (t-N+l)];

[0091] F (t) =F [Bucket (t)] + F [Bucket (t-1)] + ... F [Bucket (t-N+l)].

[0092] The number of times of successful accesses and the number of times of failed accesses within the current sliding calculation window are ... the current time window (see above).

[0093] Step 4' -defining a health threshold Y of the system, and calculating expected number of times of accesses C(t):

[0094] C (t) = Max{S (t)-{Y / 1-Y)*F(t), S(t)*(l / Y-1)-F(t)};

[0095] Step 5' - employing the health status of the current C Window(t) to predict the health status of the time window Window( t+ 1 ), if the number of times of accesses to the system counted in real time within the next time bucket (time interval) S[Bucket(t+l)]+ F[Bucket(t+l)]< C(t);

[0096] Step 6' - under the circumstance C(t)=0 or C(t)-(S [Bucket(t+l) +F [Bucket(t+l)]=0, calculating the actual health status of the system within the prediction time interval, namely judging: 17 Date Re9ue / Date Received 2022-04-11

[0097] the size relation between (S(t)+S[Bucket(t+ l)]+F[Bucket(t+ l)]) / (S(t)+F(t)+S[Bucket(t+ l)]+F[Bucket(t+ l)])) and the health threshold Y;

[0098] Step 7' - eliminating expired time buckets, updating the sliding calculation window, recalculating the number of times of expected accesses, and entering a new round of prediction.

[0099] In one embodiment, the aforementioned system health status predicting method can also be applied to such fields of application as the router, WAF (Web Application Firewall) routing, application service routing algorithm, and system surveillance, etc., as the system health status predicting method involved in the present application can be correspondingly flexibly applied and horizontally extended in any field of application in which system health status analysis is required.

[0100] The system health status predicting method of the present application is described in further detail below in conjunctions with yet several concrete examples of application.

[0101] See as shown in Figs. 3-6, wherein Fig. 3 is a view schematically illustrating the use of a narve prediction method to perform system health status prediction in a concrete example of application, Fig. 4 is a view schematically illustrating the use of a complex prediction method to perform system health status prediction in a concrete example of application, Fig. 5 is a :flowchart schematically illustrating a system break method in which are compatibly combined the narve prediction method and the complex prediction method in a concrete example of application, and Fig. 6 is a flowchart schematically illustrating a system break method in which are compatibly combined the narve prediction method and the complex prediction method in another concrete example of application.

[0102] As should be understood, although the various steps in the :flowcharts of Figs. 2-6 are sequentially displayed as indicated by arrows, these steps are not necessarily executed in 18 Date Re9ue / Date Received 2022-04-11 the sequences indicated by arrows. Unless otherwise explicitly noted in this paper, execution of these steps is not restricted by any sequence, as these steps can also be executed in other sequences (than those indicated in the drawings). Moreover, at least partial steps in Figs. 2-6 may include plural sub-steps or multi-phases, these sub-steps or phases are not necessarily completed at the same timing, but can be executed at different timings, and these sub-steps or phases are also not necessarily sequentially performed, but can be performed in turns or alternately with other steps or with at least some of substeps or phases of other steps.

[0103] In one embodiment, as shown in Fig. 7, there is provided a system health status predicting device that comprises a time window obtaining module 702, a time difference calculating module 704, a prediction time interval selecting module 706, and a system status predicting module 708, wherein:

[0104] the time window obtaining module 702 is employed for obtaining a current health curve of a system within a current time window;

[0105] the time difference calculating module 704 is employed for selecting a corresponding target health curve from historical health curves of the system according to the current health curve, and calculating a time difference between a time window in which the target health curve resides and the current time window;

[0106] the prediction time interval selecting module 706 is employed for taking any time interval following the current time window as a prediction time interval; and

[0107] the system status predicting module 708 is employed for predicting a health status of the system within the prediction time interval through a health status of the system in a target historical time interval, wherein the target historical time interval is a historical time interval that is before the prediction time interval and differs from the prediction time interval by the time difference.

[0108] In one embodiment, the time window obtaining module 702 calculates number of times of successful accesses and number of times of failed accesses to the system within the 19 Date Re9ue / Date Received 2022-04-11 current time window, and calculates the current health curve of the system within the current time window according to the number of times of successful accesses and the number of times of failed accesses.

[0109] In one embodiment, the time difference calculating module 704 selects plural historical time windows within a certain time range, fits the current health curve respectively with health curves of the system within the various historical time windows, and as a target health curve, determines the health curve having the highest fitting degree with respect to the current health curve.

[0110] In one embodiment, the system status predicting module 708 is further employed for obtaining a preset fitting threshold, and entering the step of predicting a health status of the system within the prediction time interval through a health status of the system in a target historical time interval, when the fitting degree of the target health curve with respect to the current health curve is greater than the fitting threshold.

[0111] In one embodiment, the system status predicting module 708 is further employed for calculating an actual health status of the system within the prediction time interval, when the fitting degree of the target health curve with respect to the current health curve is smaller than the fitting threshold.

[0112] In one embodiment, the system status predicting module 708 is further employed for obtaining an actual health status of the system within the prediction time interval; determining a prediction at the prediction time interval as failed, when a predicted health status is inconsistent with the actual health status, and recording number of times of failed predictions; reselecting a new time window to serve as the current time window, when the number of times of failed predictions is greater than a preset number of times, and entering the step of obtaining a current health curve of a system within a current time window. 20 Date Re9ue / Date Received 2022-04-11

[0113] In one embodiment, the system status predicting module 708 is further employed for returning the predicted health status of the system within the prediction time interval to a service requesting end.

[0114] In one embodiment, the system status predicting module 708 is further employed for degrading any accessing request within the prediction time interval, when the predicted health status of the system within the prediction time interval is unhealthy.

[0115] In one embodiment, the system status predicting module 708 is further employed for calculating a total number of successful accesses and a total number of failed accesses to the system within the current time window; calculating expected number of times of accesses to the system within the next time interval after the current time window according to the total number of successful accesses and the total number of failed accesses; predicting a health status of the system within the next time interval according to the health status of the system within the current time window, when real-time accumulated number of times of accesses to the system within the next time interval after the current time window is smaller than the expected number of times of accesses; and entering the step of obtaining a current health curve of a system within a current time window, when the health status of the system within the next time interval is unpredictable.

[0116] Specific definitions relevant to the system health status predicting device may be inferred from the aforementioned definitions to the system health status predicting method, while no repetition is made in this context. The various modules in the aforementioned system health status predicting device can be wholly or partly realized via software, hardware, and a combination of software with hardware. The various modules can be embedded in the form of hardware in a processor in a computer equipment or independent of any computer equipment, and can also be stored in the form of software in a memory in a 21 Date Re9ue / Date Received 2022-04-11 computer equipment, so as to facilitate the processor to invoke and perform operations corresponding to the aforementioned various modules.

[0117] In one embodiment, a computer equipment is provided, the computer equipment can be a server, and its internal structure can be as shown in Fig. 8. The computer equipment comprises a processor, a memory, and a network interface connected to each other via a system bus. The processor of the computer equipment is employed to provide computing and controlling capabilities. The memory of the computer equipment includes a nonvolatile storage medium and an internal memory. The nonvolatile storage medium stores therein an operating system, a computer program and a database. The internal memory provides environment for the running of the operating system and the computer program in the nonvolatile storage medium. The network interface of the computer equipment is employed to connect to an external terminal via network for communication. The computer program realizes a system health status predicting method when it is executed by a processor.

[0118] As understandable to persons skilled in the art, the structure illustrated in Fig. 8 is merely a block diagram of partial structure relevant to the solution of the present application, and does not constitute any restriction to the computer equipment on which the solution of the present application is applied, as the specific computer equipment may comprise component parts that are more than or less than those illustrated in Fig. 8, or may combine certain component parts, or may have different layout of component parts.

[0119] In one embodiment, there is provided a computer equipment that comprises a memory, a processor and a computer program stored on the memory and operable on the processor, and the following steps are realized when the processor executes the computer program: obtaining a current health curve of a system within a current time window; selecting a corresponding target health curve from historical health curves of the system according to the current health curve, and calculating a time difference between a time window in 22 Date Re9ue / Date Received 2022-04-11 which the target health curve resides and the current time window; taking any time interval following the current time window as a prediction time interval; and predicting a health status of the system within the prediction time interval through a health status of the system in a target historical time interval, wherein the target historical time interval is a historical time interval that is before the prediction time interval and differs from the prediction time interval by the time difference.

[0120] In one embodiment, when the processor executes the computer program to realize the step of obtaining a current health curve of a system within a current time window, the following is realized: calculating number of times of successful accesses and number of times of failed accesses to the system within the current time window; and calculating the current health curve of the system within the current time window according to the number of times of successful accesses and the number of times of failed accesses.

[0121] In one embodiment, when the processor executes the computer program to realize the step of selecting a corresponding target health curve from historical health curves of the system according to the current health curve, the following is realized: selecting plural historical time windows within a certain time range; fitting the current health curve respectively with health curves of the system within the various historical time windows; and as a target health curve, determining the health curve having the highest fitting degree with respect to the current health curve.

[0122] In one embodiment, the processor executes the computer program to further realize the following steps: obtaining a preset fitting threshold, and entering the step of predicting a health status of the system within the prediction time interval through a health status of the system in a target historical time interval, when the fitting degree of the target health curve with respect to the current health curve is greater than the fitting threshold.

[0123] In one embodiment, the processor executes the computer program to further realize the 23 Date Re9ue / Date Received 2022-04-11 following step: calculating an actual health status of the system within the prediction time interval, when the fitting degree of the target health curve with respect to the current health curve is smaller than the fitting threshold.

[0124] In one embodiment, the processor executes the computer program to further realize the following steps: obtaining an actual health status of the system within the prediction time interval; determining a prediction at the prediction time interval as failed, when a predicted health status is inconsistent with the actual health status, and recording number of times of failed predictions; reselecting a new time window to serve as the current time window, when the number of times of failed predictions is greater than a preset number of times, and entering the step of obtaining a current health curve of a system within a current time window.

[0125] In one embodiment, the processor executes the computer program to further realize the following step: returning the predicted health status of the system within the prediction time interval to a service requesting end.

[0126] In one embodiment, the processor executes the computer program to further realize the following step: degrading any accessing request within the prediction time interval, when the predicted health status of the system within the prediction time interval is unhealthy.

[0127] In one embodiment, the processor executes the computer program to further realize the following steps: calculating a total number of successful accesses and a total number of failed accesses to the system within the current time window; calculating expected number of times of accesses to the system within the next time interval after the current time window according to the total number of successful accesses and the total number of failed accesses; predicting a health status of the system within the next time interval according to the health status of the system within the current time window, when realtime accumulated number of times of accesses to the system within the next time interval 24 Date Re9ue / Date Received 2022-04-11 after the current time window is smaller than the expected number of times of accesses; and entering the step of obtaining a current health curve of a system within a current time window, when the health status of the system within the next time interval is unpredictable.

[0128] In one embodiment, there is provided a computer-readable storage medium storing thereon a computer program, and the following steps are realized when the computer program is executed by a processor: obtaining a current health curve of a system within a current time window; selecting a corresponding target health curve from historical health curves of the system according to the current health curve, and calculating a time difference between a time window in which the target health curve resides and the current time window; taking any time interval following the current time window as a prediction time interval; and predicting a health status of the system within the prediction time interval through a health status of the system in a target historical time interval, wherein the target historical time interval is a historical time interval that is before the prediction time interval and differs from the prediction time interval by the time difference.

[0129] In one embodiment, when the computer program is executed by a processor to realize the step of obtaining a current health curve of a system within a current time window, the following is realized: calculating number of times of successful accesses and number of times of failed accesses to the system within the current time window; and calculating the current health curve of the system within the current time window according to the number of times of successful accesses and the number of times of failed accesses.

[0130] In one embodiment, when the computer program is executed by a processor to realize the step of selecting a corresponding target health curve from historical health curves of the system according to the current health curve, the following is realized: selecting plural historical time windows within a certain time range; fitting the current health curve respectively with health curves of the system within the various historical time windows; 25 Date Re9ue / Date Received 2022-04-11 and as a target health curve, determining the health curve having the highest fitting degree with respect to the current health curve.

[0131] In one embodiment, the computer program is executed by a processor to further realize the following steps: obtaining a preset fitting threshold, and entering the step of predicting a health status of the system within the prediction time interval through a health status of the system in a target historical time interval, when the fitting degree of the target health curve with respect to the current health curve is greater than the fitting threshold.

[0132] In one embodiment, when the computer program is executed by a processor, the following step is further realized: calculating an actual health status of the system within the prediction time interval, when the fitting degree of the target health curve with respect to the current health curve is smaller than the fitting threshold.

[0133] In one embodiment, when the computer program is executed by a processor, the following steps are further realized: obtaining an actual health status of the system within the prediction time interval; determining a prediction at the prediction time interval as failed, when a predicted health status is inconsistent with the actual health status, and recording number of times of failed predictions; reselecting a new time window to serve as the current time window, when the number of times of failed predictions is greater than a preset number of times, and entering the step of obtaining a current health curve of a system within a current time window.

[0134] In one embodiment, when the computer program is executed by a processor, the following step is further realized: returning the predicted health status of the system within the prediction time interval to a service requesting end.

[0135] In one embodiment, when the computer program is executed by a processor, the following step is further realized: degrading any accessing request within the prediction time 26 Date Re9ue / Date Received 2022-04-11 interval, when the predicted health status of the system within the prediction time interval is unhealthy.

[0136] In one embodiment, when the computer program is executed by a processor, the following steps are further realized: calculating a total number of successful accesses and a total number of failed accesses to the system within the current time window; calculating expected number of times of accesses to the system within the next time interval after the current time window according to the total number of successful accesses and the total number of failed accesses; predicting a health status of the system within the next time interval according to the health status of the system within the current time window, when real-time accumulated number of times of accesses to the system within the next time interval after the current time window is smaller than the expected number of times of accesses; and entering the step of obtaining a current health curve of a system within a current time window, when the health status of the system within the next time interval is unpredictable.

[0137] As comprehensible to persons ordinarily skilled in the art, the entire or partial flows in the methods according to the aforementioned embodiments can be completed via a computer program instructing relevant hardware, the computer program can be stored in a nonvolatile computer-readable storage medium, and the computer program can include the flows as embodied in the aforementioned various methods when executed. Any reference to the memory, storage, database or other media used in the various embodiments provided by the present application can all include nonvolatile and / or volatile memory / memories. The nonvolatile memory can include a read-only memory (ROM), a programmable ROM (PROM), an electrically programmable ROM (EPROM), an electrically erasable and programmable ROM (EEPROM) or a flash memory. The volatile memory can include a random access memory (RAM) or an external cache memory. To serve as explanation rather than restriction, the RAM is obtainable in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM 27 Date Re9ue / Date Received 2022-04-11 (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct Rambus dynamic RAM (DRDRAM), and Rambus dynamic RAM (RDRAM), etc.

[0138] Technical features of the aforementioned embodiments are randomly combinable, while all possible combinations of the technical features in the aforementioned embodiments are not exhausted for the sake of brevity, but all these should be considered to fall within the scope recorded in the Description as long as such combinations of the technical features are not mutually contradictory.

[0139] The foregoing embodiments are merely directed to several modes of execution of the present application, and their descriptions are relatively specific and detailed, but they should not be hence misunderstood as restrictions to the inventive patent scope. As should be pointed out, persons with ordinary skill in the art may further make various modifications and improvements without departing from the conception of the present application, and all these should pertain to the protection scope of the present application. Accordingly, the patent protection scope of the present application shall be based on the attached Claims. 28 Date Re9ue / Date Received 2022-04-11

Claims

29 CLAIMS 1. A system health status predicting method comprising: obtaining a current health curve of a system within a current time window by: calculating number of times of successful accesses and number of times of failed accesses to the system within the current time window; and calculating the current health curve of the system within the current time window according to the number of times of successful accesses and the number of times of failed accesses; selecting a corresponding target health curve from historical health curves of the system according to the current health curve, and calculating a time difference between a time window in which the target health curve resides and the current time window, by: selecting plural historical time windows within a certain time range; fitting the current health curve respectively with health curves of the system within the various historical time windows; and as a target health curve, determining the health curve having the highest fitting degree with respect to the current health curve; taking any time interval following the current time window as a prediction time interval; and predicting a health status of the system within the prediction time interval through a health status of the system in a target historical time interval, wherein the target historical time interval is a historical time interval that is before the prediction time interval and differs from the prediction time interval by the time difference.

2. The method of claim 1, further comprising: obtaining a preset fitting threshold, and entering the step of predicting a health status of the system within the prediction time interval through a health status of the system in a target historical time interval, when the fitting degree of the target health curve with respect to the current health curve is greater than the fitting threshold.

3. The method of claim 2, further comprising: calculating an actual health status of the system within the prediction time interval, when the fitting degree of the target health curve with respect to the current health curve is CA 3154869 Date reçue / Received date 2025-02-14 30 smaller than the fitting threshold.

4. The method of claim 1, further comprising: obtaining an actual health status of the system within the prediction time interval; determining a prediction at the prediction time interval as failed, when a predicted health status is inconsistent with the actual health status, and recording number of times of failed predictions; reselecting a new time window to serve as the current time window, when the number of times of failed predictions is greater than a preset number of times, and entering the step of obtaining a current health curve of a system within a current time window; returning the predicted health status of the system within the prediction time interval to a service requesting end; and degrading any accessing request within the prediction time interval, when the predicted health status of the system within the prediction time interval is unhealthy.

5. The method of claim 4, further comprising: calculating a total number of successful accesses and a total number of failed accesses to the system within the current time window; calculating expected number of times of accesses to the system within the next time interval after the current time window according to the total number of successful accesses and the total number of failed accesses; predicting a health status of the system within the next time interval according to the health status of the system within the current time window, when real-time accumulated number of times of accesses to the system within the next time interval after the current time window is smaller than the expected number of times of accesses; and entering the step of obtaining a current health curve of a system within a current time window, when the health status of the system within the next time interval is unpredictable.

6. The method of claim 1, wherein selecting plural historical time windows within a certain time range includes: sampling the plural historical time windows within a certain time range by selecting a sampling window and fitting each historical time window with the current health curve CA 3154869 Date reçue / Received date 2025-02-14 31 on a one-by-one basis.

7. The method of claim 6, wherein sampling the plural historical time windows within a certain range uses optimal sampling parameters including a sampling range and number of samples determined by an artificial intelligence algorithm from previous learning of the system.

8. A system health status predicting the device comprising: a time window obtaining module, for obtaining a current health curve of a system within a current time window by: calculating number of times of successful accesses and number of times of failed accesses to the system within the current time window; and calculating the current health curve of the system within the current time window according to the number of times of successful accesses and the number of times of failed accesses; a time difference calculating module, for selecting a corresponding target health curve from historical health curves of the system according to the current health curve, and calculating a time difference between a time window in which the target health curve resides and the current time window, by: selecting plural historical time windows within a certain time range; fitting the current health curve respectively with health curves of the system within the various historical time windows; and as a target health curve, determining the health curve having the highest fitting degree with respect to the current health curve; a prediction time interval selecting module, for taking any time interval following the current time window as a prediction time interval; and a system status predicting module, for predicting a health status of the system within the prediction time interval through a health status of the system in a target historical time interval, wherein the target historical time interval is a historical time interval that is before the prediction time interval and differs from the prediction time interval by the time difference. CA 3154869 Date reçue / Received date 2025-02-14 32 9. The device of claim 8, wherein the time window obtaining module is further configured to: obtain a preset fitting threshold, and entering the step of predicting a health status of the system within the prediction time interval through a health status of the system in a target historical time interval, when the fitting degree of the target health curve with respect to the current health curve is greater than the fitting threshold.

10. The device of claim 9, wherein the time difference calculating module is further configured to: calculate an actual health status of the system within the prediction time interval, when the fitting degree of the target health curve with respect to the current health curve is smaller than the fitting threshold.

11. The device of claim 10, wherein the device further configured to: obtain an actual health status of the system within the prediction time interval; determine a prediction at the prediction time interval as failed, when a predicted health status is inconsistent with the actual health status, and recording number of times of failed predictions; reselect a new time window to serve as the current time window, when the number of times of failed predictions is greater than a preset number of times, and entering the step of obtaining a current health curve of a system within a current time window; return the predicted health status of the system within the prediction time interval to a service requesting end; and degrade any accessing request within the prediction time interval, when the predicted health status of the system within the prediction time interval is unhealthy.

12. The device of claim 11, wherein the device is further configured to: calculate a total number of successful accesses and a total number of failed accesses to the system within the current time window; calculate expected number of times of accesses to the system within the next time interval after the current time window according to the total number of successful accesses and the total number of failed accesses; predict a health status of the system within the next time interval according to the health CA 3154869 Date reçue / Received date 2025-02-14 33 status of the system within the current time window, when real-time accumulated number of times of accesses to the system within the next time interval after the current time window is smaller than the expected number of times of accesses; and enter the step of obtaining a current health curve of a system within a current time window, when the health status of the system within the next time interval is unpredictable.

13. The device of claim 8, wherein selecting plural historical time windows within a certain time range includes: sampling the plural historical time windows within a certain time range by selecting a sampling window and fitting each historical time window with the current health curve on a one-by-one basis.

14. The device of claim 13, wherein sampling the plural historical time windows within a certain range uses optimal sampling parameters including a sampling range and number of samples determined by an artificial intelligence algorithm from previous learning of the system.

15. A computer-readable storage medium, storing a computer-executable instructions thereon, when executed by a computer, the computer is configured to: obtain a current health curve of a system within a current time window by: calculating number of times of successful accesses and number of times of failed accesses to the system within the current time window; and calculating the current health curve of the system within the current time window according to the number of times of successful accesses and the number of times of failed accesses; select a corresponding target health curve from historical health curves of the system according to the current health curve, and calculating a time difference between a time window in which the target health curve resides and the current time window, by: selecting plural historical time windows within a certain time range; fitting the current health curve respectively with health curves of the system within the various historical time windows; and as a target health curve, determining the health curve having the highest fitting degree CA 3154869 Date reçue / Received date 2025-02-14 34 with respect to the current health curve; take any time interval following the current time window as a prediction time interval; and predict a health status of the system within the prediction time interval through a health status of the system in a target historical time interval, wherein the target historical time interval is a historical time interval that is before the prediction time interval and differs from the prediction time interval by the time difference.

16. The storage medium of claim 15, wherein the computer is further configured to: obtain a preset fitting threshold, and entering the step of predicting a health status of the system within the prediction time interval through a health status of the system in a target historical time interval, when the fitting degree of the target health curve with respect to the current health curve is greater than the fitting threshold.

17. The storage medium of claim 15, wherein the computer is further configured to: calculate an actual health status of the system within the prediction time interval, when the fitting degree of the target health curve with respect to the current health curve is smaller than the fitting threshold.

18. The storage medium of claim 15, wherein the computer is further configured to: obtain an actual health status of the system within the prediction time interval; determine a prediction at the prediction time interval as failed, when a predicted health status is inconsistent with the actual health status, and recording number of times of failed predictions; reselect a new time window to serve as the current time window, when the number of times of failed predictions is greater than a preset number of times, and entering the step of obtaining a current health curve of a system within a current time window; return the predicted health status of the system within the prediction time interval to a service requesting end; degrade any accessing request within the prediction time interval, when the predicted health status of the system within the prediction time interval is unhealthy; calculate a total number of successful accesses and a total number of failed accesses to the system within the current time window; CA 3154869 Date reçue / Received date 2025-02-14 35 calculate expected number of times of accesses to the system within the next time interval after the current time window according to the total number of successful accesses and the total number of failed accesses; predict a health status of the system within the next time interval according to the health status of the system within the current time window, when real-time accumulated number of times of accesses to the system within the next time interval after the current time window is smaller than the expected number of times of accesses; and enter the step of obtaining a current health curve of a system within a current time window, when the health status of the system within the next time interval is unpredictable.

19. The storage medium of claim 15, wherein selecting plural historical time windows within a certain time range includes: sampling the plural historical time windows within a certain time range by selecting a sampling window and fitting each historical time window with the current health curve on a one-by-one basis.

20. The storage medium of claim 19, wherein sampling the plural historical time windows within a certain range uses optimal sampling parameters including a sampling range and number of samples determined by an artificial intelligence algorithm from previous learning of the system. CA 3154869 Date reçue / Received date 2025-02-14