Fault prediction model training method, equipment fault determination method, device and equipment

By acquiring and collecting memory performance and fault information from electronic devices and training the target model, the problem of insufficient accuracy in downtime prediction is solved and accurate prediction of future downtime is achieved.

CN115168173BActive Publication Date: 2025-10-03ALIBABA (CHINA) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210880637.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-25
Publication Date
2025-10-03
Estimated Expiration
2042-07-25

AI Technical Summary

Technical Problem

In the prior art, the accuracy of electronic device downtime prediction is poor, mainly because log information and device information lack obvious changes before the downtime, resulting in inaccurate prediction.

Method used

By obtaining initial data from multiple electronic devices, including device information and memory information, performing feature statistics and labeling results, training the target model, and utilizing changes in memory performance and fault information, we can predict future downtime caused by memory failures.

Benefits of technology

The accuracy of downtime prediction is improved, and it can accurately predict whether electronic equipment will downtime due to memory failure in the future.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115168173B_ABST
    Figure CN115168173B_ABST
Patent Text Reader

Abstract

The embodiments of the present application provide a fault prediction model training method, a device fault determination method, an apparatus, and a device. The method may include: obtaining multiple pieces of initial data from multiple electronic devices; performing feature statistics on the initial data corresponding to each electronic device based on device information and data sampling time to obtain multiple statistical data; determining the labeling results of the multiple statistical data based on the downtime information of the multiple electronic devices, the labeling results being used to indicate the length of time to be down between the time the statistical data was collected and the time the electronic device downtime; performing model training based on the multiple statistical data and the labeling results corresponding to each statistical data to obtain a target model, the target model being used to determine whether the electronic device will downtime due to memory failure in a future time period. This improves the accuracy of electronic device downtime prediction.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a fault prediction model training method, an equipment fault determination method, a device, and a device. Background Art

[0002] Electronic devices (e.g., servers) can provide a variety of services such as data computing, data storage, and program execution. To prevent electronic devices from downtime due to memory failures and thus affecting services, downtime prediction can be performed on electronic devices.

[0003] Related technologies collect log information and device information from electronic devices and use this information to predict downtime. Device information can include the manufacturer and location of the electronic device. However, because log information and device information may not change significantly before a downtime occurs, the accuracy of downtime prediction for electronic devices is relatively low. Summary of the Invention

[0004] Various aspects of the present application provide a fault prediction model training method, an equipment fault determination method, an apparatus, and an apparatus to improve the accuracy of downtime prediction for electronic equipment.

[0005] In a first aspect, an embodiment of the present application provides a fault prediction model training method, comprising:

[0006] Acquire multiple pieces of initial data from multiple electronic devices, the initial data including: device information, memory information of memories in the electronic devices, and data sampling time, the memory information including memory fault information and memory performance information;

[0007] Performing feature statistics on the initial data corresponding to each electronic device according to the device information and the data sampling time to obtain a plurality of statistical data;

[0008] Determining, based on the downtime information of the plurality of electronic devices, annotation results of the plurality of statistical data, the annotation results being used to indicate a pending downtime duration between a time when the statistical data was collected and a time when the electronic device downtime occurred;

[0009] Model training is performed based on the multiple statistical data and the annotation results corresponding to each statistical data to obtain a target model, and the target model is used to determine whether the electronic device will crash due to memory failure in a future time period.

[0010] In a possible implementation, based on the device information and the data sampling time, feature statistics are performed on the initial data corresponding to each electronic device to obtain multiple statistical data, including:

[0011] Determining initial data corresponding to each electronic device based on the electronic device information;

[0012] For each electronic device, the initial data corresponding to the electronic device is divided into a plurality of data groups according to the data sampling time and the preset time window, wherein the data sampling time of the initial data in a data group is within the corresponding time window;

[0013] Feature statistics are performed on the initial data in each data group to obtain statistical data corresponding to the electronic device, and one data group corresponds to one piece of statistical data.

[0014] In a possible implementation, the memory fault information includes: the number of error reports and the fault location corresponding to each fault type;

[0015] For any one of the multiple data groups, performing feature statistics on the initial data in the data group to obtain statistical data corresponding to the data group includes:

[0016] Performing characteristic statistics on the number of error reports corresponding to each fault type in the data group to obtain an error report statistical value corresponding to each fault type;

[0017] Performing feature statistics on the memory performance information in the data group to obtain a memory performance statistical value;

[0018] Counting the fault locations in the data group to obtain a statistical value of the number of faults of each block in the memory within a time window corresponding to the data group;

[0019] The statistical data corresponding to the data group include: the error reporting statistical value corresponding to each fault type, the memory performance statistical value and the fault number statistical value.

[0020] In a possible implementation, the downtime information includes the downtime time; any statistical data corresponding to any electronic device; and determining a labeling result of the statistical data based on the downtime information of the electronic device includes:

[0021] Determining a collection time of the statistical data according to a data sampling time in the initial data corresponding to the statistical data;

[0022] Obtaining the initial duration between the acquisition time and the downtime time;

[0023] According to the preset time unit, the initial duration is rounded to an integer to obtain the pending downtime duration, where the pending downtime duration is an integer multiple of the preset time unit;

[0024] Determine that the annotation result of the statistical data includes the pending downtime duration.

[0025] In a possible implementation manner, the downtime information includes a downtime identifier and a downtime time, or the downtime information includes a non-downtime identifier;

[0026] For any piece of statistical data corresponding to any electronic device; determining a labeling result of the statistical data based on downtime information of the electronic device, including:

[0027] If the downtime information includes the downtime identifier and the downtime time, determining the collection time according to the data sampling time in the initial data corresponding to the statistical data; obtaining the initial duration between the collection time and the downtime time; rounding the initial duration according to a preset time unit to obtain the pending downtime duration, where the pending downtime duration is an integer multiple of the preset time unit; and determining that the annotation result of the statistical data includes the pending downtime duration;

[0028] If the downtime information includes the non-downtime identification, it is determined that the identification result of the statistical data is non-downtime or the waiting downtime time is greater than or equal to a preset time.

[0029] In one possible implementation, performing model training based on the plurality of statistical data and the annotation results corresponding to each statistical data to obtain a target model includes:

[0030] Determine, based on the plurality of statistical data and the labeling results corresponding to each statistical data, M pieces of positive sample data and N pieces of negative sample data from the plurality of statistical data, wherein the pending downtime duration indicated by the labeling results corresponding to the positive sample data is less than or equal to a preset duration, and the pending downtime duration indicated by the labeling results corresponding to the negative sample data is greater than the preset duration, and M and N are respectively positive integers;

[0031] According to M and N, determining a plurality of first positive sample data from the M pieces of positive sample data, and determining a plurality of first negative sample data from the N pieces of negative sample data, wherein a difference between the number of the first positive sample data and the number of the first negative sample data is within a preset range;

[0032] Model training is performed based on the multiple first positive sample data, the multiple first negative sample data, the labeling results corresponding to the multiple first positive sample data, and the labeling results corresponding to the multiple first negative sample data to obtain the target model.

[0033] In one possible implementation, performing model training based on the plurality of first positive sample data, the plurality of first negative sample data, the labeling results corresponding to the plurality of first positive sample data, and the labeling results corresponding to the plurality of first negative sample data to obtain the target model includes:

[0034] Performing a first model training based on the plurality of first positive sample data, the plurality of first negative sample data, the labeling results corresponding to the plurality of first positive sample data, and the labeling results corresponding to the plurality of first negative sample data to obtain an intermediate model, and determining the importance of each data feature in the statistical data;

[0035] Arrange the data features in the statistical data in descending order according to their importance, retain the feature values ​​of the first K data features in the plurality of first positive samples to obtain a plurality of second positive sample data, and retain the feature values ​​of the first K data features in the plurality of first negative samples to obtain a plurality of second negative sample data;

[0036] The intermediate model is trained for the second time based on the multiple second positive sample data, the multiple second negative sample data, the labeling results corresponding to the multiple second positive sample data, and the labeling results corresponding to the multiple second negative sample data to obtain the target model.

[0037] In a possible implementation manner, the first positive sample data and the first negative sample data respectively include multiple data features;

[0038] Performing a first model training based on the plurality of first positive sample data, the plurality of first negative sample data, the labeling results corresponding to the plurality of first positive sample data, and the labeling results corresponding to the plurality of first negative sample data to obtain an intermediate model, including:

[0039] Determining a first data feature from the plurality of data features based on the feature values ​​of each data feature in the plurality of first positive sample data and the feature values ​​of each data feature in the plurality of first negative sample data; wherein a difference between the feature value corresponding to the first data feature in the first positive sample and the feature value corresponding to the first data feature in the first negative sample is greater than or equal to a second threshold;

[0040] updating the plurality of first positive sample data and the plurality of first negative sample data according to the first data feature, wherein the updated plurality of first positive sample data and the updated plurality of first negative sample data include a feature value of the first data feature;

[0041] Model training is performed based on the updated multiple first positive sample data, the updated multiple first negative sample data, the labeling results corresponding to the updated multiple first positive sample data, and the labeling results corresponding to the updated multiple first negative sample data to obtain the intermediate model.

[0042] In a possible implementation, determining, based on the M and the N, a plurality of first positive sample data items from the M pieces of positive sample data, and determining a plurality of first negative sample data items from the N pieces of negative sample data, includes:

[0043] If M is greater than N, and the difference between M and N is greater than or equal to a first threshold, downsampling the M pieces of positive sample data, and determining the downsampled positive sample data as the plurality of first positive sample data, and determining the N pieces of negative sample data as the plurality of first negative sample data; or

[0044] If N is greater than M, and the difference between N and M is greater than or equal to the first threshold, the N negative sample data are downsampled, and the negative sample data after downsampling are determined as the multiple first negative sample data, and the M positive sample data are determined as the multiple first positive sample data.

[0045] In a second aspect, an embodiment of the present application provides a method for determining a device failure, comprising:

[0046] Acquire multiple pieces of initial data from an electronic device, the initial data including: device information, memory information of a memory in the electronic device, and a data sampling time, the memory information including memory fault information and memory performance information;

[0047] Performing feature statistics on the plurality of initial data according to the data sampling time to obtain a plurality of statistical data;

[0048] The plurality of statistical data are processed through a target model to determine whether the electronic device will crash due to a memory failure in a future period; wherein the target model is trained according to the method described in any one of the first aspects.

[0049] In a possible implementation, the memory fault information includes: the number of error reports and the fault location corresponding to each fault type;

[0050] According to the data sampling time, feature statistics are performed on the multiple pieces of initial data to obtain multiple statistical data, including:

[0051] According to a preset time window, the plurality of initial data are divided into a plurality of data groups, wherein the data sampling time of the initial data in a data group is located within the corresponding time window;

[0052] For any one of the multiple data groups, performing characteristic statistics on the number of error reports corresponding to each fault type in the data group to obtain an error report statistic value corresponding to each fault type;

[0053] Performing feature statistics on the memory performance information in the data group to obtain a memory performance statistical value;

[0054] Counting the fault locations in the data group to obtain a statistical value of the number of faults of each block in the memory within a time window corresponding to the data group;

[0055] The statistical data corresponding to the data group include: the error reporting statistical value corresponding to each fault type, the memory performance statistical value and the fault number statistical value.

[0056] In a third aspect, an embodiment of the present application provides a model training device, comprising: an acquisition module, a statistics module, a determination module, and a training module, wherein:

[0057] The acquisition module is used to acquire multiple pieces of initial data from multiple electronic devices, the initial data including: device information, memory information of the memory in the electronic device and data sampling time, the memory information including memory fault information and memory performance information;

[0058] The statistical module is used to perform feature statistics on the initial data corresponding to each electronic device according to the device information and the data sampling time to obtain multiple statistical data;

[0059] The determining module is configured to determine, based on the downtime information of the plurality of electronic devices, labeling results of the plurality of statistical data, the labeling results being used to indicate a pending downtime duration between a time when the statistical data was collected and a time when the electronic device downtime occurred;

[0060] The training module is used to perform model training based on the multiple statistical data and the labeling results corresponding to each statistical data to obtain a target model, and the target model is used to determine whether the electronic device will crash due to memory failure in a future time period.

[0061] In a possible implementation, the statistics module is specifically configured to:

[0062] Determining initial data corresponding to each electronic device based on the electronic device information;

[0063] For each electronic device, the initial data corresponding to the electronic device is divided into a plurality of data groups according to the data sampling time and the preset time window, wherein the data sampling time of the initial data in a data group is within the corresponding time window;

[0064] Feature statistics are performed on the initial data in each data group to obtain statistical data corresponding to the electronic device, and one data group corresponds to one piece of statistical data.

[0065] In a possible implementation, the memory fault information includes: the number of error reports and the fault location corresponding to each fault type; the statistical module is specifically configured to:

[0066] Performing characteristic statistics on the number of error reports corresponding to each fault type in the data group to obtain an error report statistical value corresponding to each fault type;

[0067] Performing feature statistics on the memory performance information in the data group to obtain a memory performance statistical value;

[0068] Counting the fault locations in the data group to obtain a statistical value of the number of faults of each block in the memory within a time window corresponding to the data group;

[0069] The statistical data corresponding to the data group include: the error reporting statistical value corresponding to each fault type, the memory performance statistical value and the fault number statistical value.

[0070] In a possible implementation, the downtime information includes the downtime time; any statistical data corresponding to any electronic device; and the determining module is specifically configured to:

[0071] Determining a collection time of the statistical data according to a data sampling time in the initial data corresponding to the statistical data;

[0072] Obtaining the initial duration between the acquisition time and the downtime time;

[0073] According to the preset time unit, the initial duration is rounded to an integer to obtain the pending downtime duration, where the pending downtime duration is an integer multiple of the preset time unit;

[0074] Determine that the annotation result of the statistical data includes the pending downtime duration.

[0075] In a possible implementation manner, the downtime information includes a downtime identifier and a downtime time, or the downtime information includes a non-downtime identifier;

[0076] For any piece of statistical data corresponding to any electronic device, the determination module is specifically configured to:

[0077] If the downtime information includes the downtime identifier and the downtime time, determining the collection time according to the data sampling time in the initial data corresponding to the statistical data; obtaining the initial duration between the collection time and the downtime time; rounding the initial duration according to a preset time unit to obtain the pending downtime duration, where the pending downtime duration is an integer multiple of the preset time unit; and determining that the annotation result of the statistical data includes the pending downtime duration;

[0078] If the downtime information includes the non-downtime identification, it is determined that the identification result of the statistical data is non-downtime or the waiting downtime time is greater than or equal to a preset time.

[0079] In a possible implementation, the training module is specifically used to:

[0080] Determine, based on the plurality of statistical data and the labeling results corresponding to each statistical data, M pieces of positive sample data and N pieces of negative sample data from the plurality of statistical data, wherein the pending downtime duration indicated by the labeling results corresponding to the positive sample data is less than or equal to a preset duration, and the pending downtime duration indicated by the labeling results corresponding to the negative sample data is greater than the preset duration, and M and N are respectively positive integers;

[0081] According to M and N, determining a plurality of first positive sample data from the M pieces of positive sample data, and determining a plurality of first negative sample data from the N pieces of negative sample data, wherein a difference between the number of the first positive sample data and the number of the first negative sample data is within a preset range;

[0082] Model training is performed based on the multiple first positive sample data, the multiple first negative sample data, the labeling results corresponding to the multiple first positive sample data, and the labeling results corresponding to the multiple first negative sample data to obtain the target model.

[0083] In a possible implementation, the training module is specifically used to:

[0084] Performing a first model training based on the plurality of first positive sample data, the plurality of first negative sample data, the labeling results corresponding to the plurality of first positive sample data, and the labeling results corresponding to the plurality of first negative sample data to obtain an intermediate model, and determining the importance of each data feature in the statistical data;

[0085] Arrange the data features in the statistical data in descending order according to their importance, retain the feature values ​​of the first K data features in the plurality of first positive samples to obtain a plurality of second positive sample data, and retain the feature values ​​of the first K data features in the plurality of first negative samples to obtain a plurality of second negative sample data;

[0086] The intermediate model is trained for the second time based on the multiple second positive sample data, the multiple second negative sample data, the labeling results corresponding to the multiple second positive sample data, and the labeling results corresponding to the multiple second negative sample data to obtain the target model.

[0087] In a possible implementation, the first positive sample data and the first negative sample data each include multiple data features; and the training module is specifically configured to:

[0088] Determining a first data feature from the plurality of data features based on the feature values ​​of each data feature in the plurality of first positive sample data and the feature values ​​of each data feature in the plurality of first negative sample data; wherein a difference between the feature value corresponding to the first data feature in the first positive sample and the feature value corresponding to the first data feature in the first negative sample is greater than or equal to a second threshold;

[0089] updating the plurality of first positive sample data and the plurality of first negative sample data according to the first data feature, wherein the updated plurality of first positive sample data and the updated plurality of first negative sample data include a feature value of the first data feature;

[0090] Model training is performed based on the updated multiple first positive sample data, the updated multiple first negative sample data, the labeling results corresponding to the updated multiple first positive sample data, and the labeling results corresponding to the updated multiple first negative sample data to obtain the intermediate model.

[0091] In a possible implementation, the training module is specifically used to:

[0092] If M is greater than N, and the difference between M and N is greater than or equal to a first threshold, downsampling the M pieces of positive sample data, and determining the downsampled positive sample data as the plurality of first positive sample data, and determining the N pieces of negative sample data as the plurality of first negative sample data; or

[0093] If N is greater than M, and the difference between N and M is greater than or equal to the first threshold, the N negative sample data are downsampled, and the negative sample data after downsampling are determined as the multiple first negative sample data, and the M positive sample data are determined as the multiple first positive sample data.

[0094] In a fourth aspect, an embodiment of the present application provides a device for determining a device failure, comprising: an acquisition module, a statistics module, and a processing module, wherein:

[0095] The acquisition module is used to acquire a plurality of initial data from the electronic device, the initial data including: device information, memory information of the memory in the electronic device and data sampling time, the memory information including memory fault information and memory performance information;

[0096] The statistical module is used to perform feature statistics on the multiple initial data according to the data sampling time to obtain multiple statistical data;

[0097] The processing module is used to process the multiple statistical data through a target model to determine whether the electronic device will crash due to a memory failure in a future time period; wherein the target model is trained according to the method described in any one of the first aspects.

[0098] In a possible implementation, the memory fault information includes: the number of error reports and the fault location corresponding to each fault type; the statistical module is specifically configured to:

[0099] According to a preset time window, the plurality of initial data are divided into a plurality of data groups, wherein the data sampling time of the initial data in a data group is located within the corresponding time window;

[0100] For any one of the multiple data groups, performing characteristic statistics on the number of error reports corresponding to each fault type in the data group to obtain an error report statistic value corresponding to each fault type;

[0101] Performing feature statistics on the memory performance information in the data group to obtain a memory performance statistical value;

[0102] Counting the fault locations in the data group to obtain a statistical value of the number of faults of each block in the memory within a time window corresponding to the data group;

[0103] The statistical data corresponding to the data group include: the error reporting statistical value corresponding to each fault type, the memory performance statistical value and the fault number statistical value.

[0104] In a fifth aspect, an embodiment of the present application provides an electronic device, including: a memory and a processor;

[0105] The memory stores computer-executable instructions;

[0106] The processor executes the computer-executable instructions stored in the memory, so that the processor executes the fault prediction model training method described in any one of the first aspects.

[0107] In a sixth aspect, an embodiment of the present application provides an electronic device, including: a memory and a processor;

[0108] The memory stores computer-executable instructions;

[0109] The processor executes the computer-executable instructions stored in the memory, so that the processor executes the device fault determination method described in any one of the second aspects.

[0110] In a seventh aspect, an embodiment of the present application provides a computer-readable storage medium, in which computer execution instructions are stored. When the computer execution instructions are executed by a processor, they are used to implement the fault prediction model training method described in any one of the first aspects.

[0111] In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the device fault determination method described in the second aspect.

[0112] In a ninth aspect, an embodiment of the present application provides a computer program product, comprising a computer program, which, when executed by a processor, implements the fault prediction model training method shown in any one of the first aspects.

[0113] In a tenth aspect, an embodiment of the present application provides a computer program product, comprising a computer program, which, when executed by a processor, implements the device fault determination method shown in any one of the second aspects.

[0114] The embodiments of the present application provide a fault prediction model training method, an equipment fault determination method, an apparatus and a device, which can obtain multiple initial data from multiple electronic devices. The initial data may include device information, memory information of the memory in the electronic device and the data sampling time. The memory information includes memory fault information and memory performance information. Based on the device information and the data sampling time, feature statistics can be performed on the initial data corresponding to each electronic device to obtain multiple statistical data, and the labeling results of the multiple statistical data can be determined based on the downtime information of the multiple electronic devices. The model training device can determine positive sample data and negative sample data from the multiple statistical data, and then determine multiple first positive sample data and multiple first negative sample data based on the number of positive sample data and negative sample data. Model training can be performed based on the multiple first positive sample data, the multiple first negative sample data, the labeling results corresponding to the multiple first positive sample data and the labeling results corresponding to the multiple first negative sample data to obtain a target model. Because the sample data used for model training includes memory performance and memory failure information, these information typically changes significantly before an electronic device crashes due to a memory failure. Sample data is statistical data within a time period, which clearly reflects data changes. The annotation results include the duration of the expected downtime from the moment of downtime, allowing the trained target model to accurately predict the next few days of downtime. This improves the target model's prediction accuracy, allowing it to accurately predict whether an electronic device will crash due to a memory failure in the future. BRIEF DESCRIPTION OF THE DRAWINGS

[0115] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0116] Figure 1 A schematic diagram of an application scenario provided by an exemplary embodiment of the present application;

[0117] Figure 2 A flowchart of a fault prediction model training method provided by an exemplary embodiment of the present application;

[0118] Figure 3A Schematic diagram of the time window provided for the exemplary embodiment of the present application Figure 1 ;

[0119] Figure 3B Schematic diagram of the time window provided for the exemplary embodiment of the present application Figure 2 ;

[0120] Figure 4 A flowchart of another fault prediction model training method provided by an exemplary embodiment of the present application;

[0121] Figure 5 A schematic structural diagram of a dual in-line memory module provided by an exemplary embodiment of the present application;

[0122] Figure 6 A process diagram of a fault prediction model training method provided by an exemplary embodiment of the present application;

[0123] Figure 7 A schematic diagram of a process of a device fault determination method provided by an exemplary embodiment of the present application;

[0124] Figure 8 A schematic structural diagram of a model training device provided by an exemplary embodiment of the present application;

[0125] Figure 9 A schematic structural diagram of a device for determining a device failure provided by an exemplary embodiment of the present application;

[0126] Figure 10 A schematic structural diagram of an electronic device provided as an exemplary embodiment of the present application. DETAILED DESCRIPTION

[0127] To make the purpose, technical solutions, and advantages of this application more clear, the technical solutions of this application will be clearly and completely described below in conjunction with the specific embodiments of this application and the corresponding drawings. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0128] Figure 1 This is a schematic diagram of an application scenario provided by an exemplary embodiment of this application. Figure 1 , including a model training device and multiple electronic devices. For example, the multiple electronic devices may include electronic device-1, electronic device-2, ..., electronic device-n. The model training device and any of the electronic devices can communicate with each other. The model training device can obtain initial data from the multiple electronic devices and perform model training based on the initial data obtained from the multiple electronic devices to obtain a target model.

[0129] After obtaining the target model, the target model can be set in an electronic device or a fault prediction device. The electronic device or the fault prediction device can predict the fault of the electronic device through the target model to determine whether the electronic device will cause memory failure and crash in the future.

[0130] In related technologies, electronic device log information and device information can be collected and used to predict electronic device downtime. However, because log information and device information may not change significantly before a downtime occurs, the accuracy of downtime prediction is relatively poor.

[0131] In an embodiment of the present application, a target model obtained through training can be used to predict downtime of an electronic device. The sample data used for model training includes memory performance information and memory fault information. Before an electronic device crashes due to a memory fault, the memory performance information and memory fault information of the electronic device usually change significantly, and the sample data is statistical data within a period of time (for example, average value, maximum value, variance, etc.). The statistical data can clearly reflect the data changes. Therefore, an accurate target model can be trained based on the above sample data, so that the accuracy of downtime prediction of the electronic device can be improved based on the target model.

[0132] The technical solutions shown in this application are described in detail below through specific embodiments. It should be noted that the following embodiments can exist independently or in combination with each other, and the same or similar contents will not be repeated in different embodiments.

[0133] The technical solution of this application may include two processes, namely the process of fault prediction model training and the process of equipment fault determination. Figure 2 ,First, the process of fault prediction model training is explained.

[0134] Figure 2 This is a flowchart of a fault prediction model training method provided by an exemplary embodiment of the present application. Figure 2 , the method may include:

[0135] S201. Acquire multiple pieces of initial data from multiple electronic devices.

[0136] The execution subject of the embodiments of the present application can be a model training device, or a model training device provided in the model training device. The model training device can be implemented by software or by a combination of software and hardware. For example, the model training device can be a computer, server, or other device.

[0137] Initial data refers to relevant information obtained from an electronic device. Initial data may include device information, memory information in the electronic device's memory, and data sampling time.

[0138] Device information may include the manufacturer, serial number, city, launch time, and memory manufacturer of the electronic device.

[0139] Memory information may include memory fault information and memory performance information.

[0140] Memory failures can be recorded by deploying a standard tool for recording failures on the electronic device, such as mcelog or kernel log.

[0141] Memory failures may include correctable memory errors, memory scrubbing errors, bad page offlining errors, memory read errors, uncorrectable memory errors, and memory write errors.

[0142] Memory performance information can include: recently accessed active memory (mem_active), temporary storage for raw disk blocks (mem_buffers), page cache for files read from disk (mem_cached), memory waiting to be written back to disk (mem_dirty), inactive memory that has not been accessed recently (mem_inactive), all available memory (mem_memtotal), locked memory (mem_mlocked), currently unused swap space (mem_swapfree), memory that cannot be called out (mem_unevictable), memory usage, memory read speed, etc.

[0143] The data sampling time refers to the time when the electronic device collects initial data. For example, the data sampling time may be 2022 / 06 / 09 10:30.

[0144] The model training device can establish connections with multiple electronic devices through a wireless network or a wired network, and can then obtain initial data from the multiple electronic devices.

[0145] S202: Perform feature statistics on the initial data corresponding to each electronic device according to the device information and the data sampling time to obtain multiple statistical data.

[0146] In an optional embodiment, multiple statistical data can be obtained in the following manner: based on the electronic device information, the initial data corresponding to each electronic device is determined; for each electronic device, the initial data corresponding to the electronic device is divided into multiple data groups according to the data sampling time and the preset time window, and the data sampling time of the initial data in a data group is within the corresponding time window; feature statistics are performed on the initial data in each data group to obtain statistical data corresponding to the electronic device, and one data group corresponds to one statistical data.

[0147] The time window may be a sliding time window, which may be a continuous time window or include multiple small time windows.

[0148] Next, combine Figure 3A-Figure 3B , explaining the time window.

[0149] Figure 3A Schematic diagram of the time window provided for the exemplary embodiment of the present application Figure 1 See Figure 3AIf the time window is set as a sliding time window, the window duration is one continuous hour, and the sliding duration is 20 minutes, then time window 1 can be a continuous hour between 10:00 and 11:00; if the sliding step is 20 minutes, time window 2 can be obtained. Time window 2 is a continuous hour between 10:20 and 11:20; sliding again by 20 minutes, time window 3 can be obtained. Time window 3 is a continuous hour between 10:40 and 11:40.

[0150] Figure 3B Schematic diagram of the time window provided for the exemplary embodiment of the present application Figure 2 See Figure 3B If the time window is set as a sliding time window, including two small time windows (10 minutes in length) and a sliding step of 5 minutes, then time window 1 can include time window 1-1 and time window 1-2. Time window 1-1 is the 10 minutes between 2022 / 05 / 09 10:35 and 2022 / 05 / 09 10:45, and time window 1-2 is the 10 minutes between 2022 / 05 / 10 10:35 and 2022 / 05 / 10 10:45. If the sliding step is 5 minutes, time window 2 can be obtained. Time window 2 may include time window 2-1 and time window 2-2, where time window 2-1 is 10 minutes between 2022 / 05 / 09 10:40 and 2022 / 05 / 09 10:50, and time window 2-2 is 10 minutes between 2022 / 05 / 10 10:40 and 2022 / 05 / 10 10:50.

[0151] Feature statistics can include sum, difference, variance and other statistical methods. When feature statistics are sum, variance and other statistical methods, the time window can be as follows Figure 3A When the feature statistics are differential statistics, the time window can be as follows Figure 3B shown.

[0152] Since the device information may include the serial number of the electronic device, the model training device can determine the initial data corresponding to each electronic device from the multiple pieces of initial data based on the device information.

[0153] For example, if the model training device can determine 150 pieces of initial data corresponding to electronic device-1 from 1000 pieces of initial data based on device information, and if the preset time window is 1 hour and each piece of initial data has a corresponding data sampling time, then the 150 pieces of initial data corresponding to electronic device-1 can be divided into multiple data groups based on the data sampling time and the preset time window. For example, if time window-1 is 1 hour from 2022 / 05 / 09 10:00 to 2022 / 05 / 09 11:00, the data sampling time of initial data-1 is 2022 / 05 / 09 10:00, the data sampling time of initial data-2 is 2022 / 05 / 09 10:30, and the data sampling time of initial data-3 is 2022 / 05 / 09 11:00, then initial data-1, initial data-2, and initial data-3 can be divided into one data group.

[0154] Assuming that 50 data groups can be obtained, each data group includes 3 initial data, then for any data group, the 3 initial data included in the data group can be summed, averaged, differed, variance and other statistics to obtain the statistical data corresponding to the data group.

[0155] S203: Determine labeling results of multiple statistical data according to the downtime information of multiple electronic devices.

[0156] Downtime information refers to relevant information when an electronic device crashes. For example, downtime information may include the time of the crash.

[0157] The labeling result can be used to indicate the expected downtime duration between the statistical data collection time and the electronic device downtime time. The labeling result can be represented by a number. For example, if the statistical data collection time is 2022 / 05 / 09 10:30 and the downtime time is 2022 / 05 / 12 10:30, the labeling result can be -3, indicating that the statistical data collection time is 3 days before the electronic device downtime time.

[0158] Optionally, for any piece of statistical data corresponding to any electronic device, determining the labeling result of the statistical data may include the following two methods:

[0159] Method 1: For any statistical data, the downtime duration between the statistical data collection time and the electronic device downtime time is used for marking.

[0160] In an optional embodiment, the annotation results of the statistical data can be determined in the following manner: determine the collection time based on the data sampling time in the initial data corresponding to the statistical data; obtain the initial duration between the collection time and the downtime time; round the initial duration according to the preset time unit to obtain the pending downtime duration, which is an integer multiple of the preset time unit; and determine that the annotation results of the statistical data include the pending downtime duration.

[0161] Rounding can include rounding up and rounding down. For example, if the initial duration between the collection time and the downtime is 1 day and 15 hours, and the preset time unit is 1 day, the initial duration can be rounded up to 2 days. If the initial duration between the collection time and the downtime is 1 day and 2 hours, the initial duration can be rounded down to 1 day.

[0162] For example, if data group 1 includes initial data 1, initial data 2, initial data 3, and initial data 4 as shown in Table 1, and the statistical data of data group 1 is shown in Table 3, then the data sampling time corresponding to initial data 1, 2022 / 05 / 09 10:00, can be determined as the collection time. If the downtime time of electronic device-1 is determined to be 2022 / 05 / 12 13:27, and the preset time unit is day, then the initial duration between the collection time 2022 / 05 / 09 10:00 and the downtime time 2022 / 05 / 12 13:27 can be determined to be 3 days, 3 hours, and 27 minutes. The initial duration can be rounded down to obtain a waiting downtime duration of 3 days, and it can be determined that the annotation result of any statistical data corresponding to data group 1 is -3. Among them, "3" represents the waiting downtime duration, and "duration" means that the collection time of the statistical data is before the downtime.

[0163] Method 2: Mark based on downtime ID and downtime time, or mark based on non-downtime ID.

[0164] The downtime information may include a downtime identifier and a downtime time, or the downtime information may include a non-downtime identifier.

[0165] Optionally, the statistical data annotation results determined in this way may include the following two situations:

[0166] Case 1: The downtime information includes the downtime ID and downtime time.

[0167] In this case, the collection time can be determined based on the data sampling time in the initial data corresponding to the statistical data; the initial duration between the collection time and the downtime time can be obtained; the initial duration can be rounded according to a preset time unit to obtain the expected downtime duration, which is an integer multiple of the preset time unit; and the statistical data annotation results can be determined to include the expected downtime duration. The expected downtime duration is less than the preset duration.

[0168] For example, if the preset duration is 15 days, and if Data Group 1 includes Initial Data 1, Initial Data 2, Initial Data 3, and Initial Data 4 as shown in Table 1, and the statistical data for Data Group 1 is shown in Table 3, then the data sampling time corresponding to Initial Data 1, 2022 / 05 / 09 10:00, can be determined as the collection time. If the downtime of Electronic Device-1 is determined to be 2022 / 05 / 15 23:17, and the preset time unit is days, then the initial duration between the collection time 2022 / 05 / 09 10:00 and the downtime time 2022 / 05 / 15 23:17 can be determined to be 6 days, 13 hours, and 17 minutes. The initial duration can be rounded up to obtain a pending downtime duration of 7 days. It can then be determined that the labeling result for any statistical data item corresponding to Data Group 1 is -7.

[0169] Case 2: The downtime information includes a non-downtime indicator.

[0170] In this case, the statistical data can be determined to indicate that the electronic device has not experienced a downtime. The no-downtime indicator indicates that the electronic device has not experienced a downtime within a preset period of time after the initial data was sampled in the electronic device. The preset period of time can be 10 days, 15 days, etc.

[0171] In an optional embodiment, a flag can be set in any electronic device to record whether the electronic device has experienced a downtime within a preset time period, and the flag bit can be used to determine whether the device has experienced a downtime and a downtime flag. If the flag bit is 0, the non-downtime flag can be determined to be 0, indicating that the electronic device has not experienced a downtime within the preset time period; if the flag bit is 1, the downtime flag can be determined to be 1, indicating that the electronic device has experienced a downtime within the preset time period. At the beginning of the next preset time period, the flag bit can be reset from 1 to 0 to indicate whether a downtime has occurred within the next preset time period.

[0172] For example, if the downtime information of the electronic device-1 includes the non-downtime identification 0, it can be determined that the identification results of the statistical data corresponding to the electronic device-1 are all “non-downtime”.

[0173] Optionally, the identification result of the statistical data may be determined to be a pending downtime duration, and the pending downtime duration may be greater than or equal to a preset duration.

[0174] For example, if the preset duration is 15 days, if Data Group 1 includes Initial Data 1, Initial Data 2, Initial Data 3, and Initial Data 4 as shown in Table 1, and the statistical data for Data Group 1 is shown in Table 3, then the data sampling time corresponding to Initial Data 1, 2022 / 05 / 09 10:00, can be determined as the collection time. If the downtime of Electronic Device-1 is determined to be 2022 / 05 / 26 15:34, and the preset time unit is days, then the initial duration between the collection time 2022 / 05 / 09 10:00 and the downtime time 2022 / 05 / 26 15:34 can be determined to be 17 days, 5 hours, and 34 minutes. This initial duration can be rounded down to obtain a predicted downtime duration of 17 days. Therefore, the labeling result for any statistical data item corresponding to Data Group 1 can be determined to be -17. Since the labeling result is -17, the preset duration is 15, and the absolute value of 17 is greater than 15, labeling results greater than 15 indicate that downtime will not occur within 15 days.

[0175] S204: Perform model training based on the plurality of statistical data and the annotation results corresponding to each statistical data to obtain a target model.

[0176] The target model can be used to determine whether the electronic device will crash due to memory failure in the future.

[0177] In an optional embodiment, the model training device can determine positive sample data and negative sample data from multiple statistical data, and determine the first sample data in the positive sample data, and determine the first negative sample data in the negative sample data, and then perform model training based on the first sample data and the first negative sample data, as well as the corresponding labeling results to obtain a target model.

[0178] Optionally, M pieces of positive sample data and N pieces of negative sample data may be determined from the multiple statistical data according to the multiple statistical data and the labeling results corresponding to each statistical data, where M and N are positive integers respectively.

[0179] Positive sample data refers to sample data indicating that an electronic device will experience downtime in the future. The labeling result corresponding to the positive sample data indicates that the expected downtime duration is less than or equal to the preset duration. For example, if the preset duration is 15 days and the labeling result of statistical data 1 is -3, it can be determined that the expected downtime duration is 3 days. Since the expected downtime duration of 3 days is less than the preset duration of 15 days, the statistical data -1 can be determined as positive sample data.

[0180] Negative sample data refers to sample data indicating that the electronic device will not experience downtime in the future. The duration of downtime indicated in the annotation result corresponding to the negative sample data is greater than the preset duration. For example, if the preset duration is 15 days and the annotation result of statistical data 2 is -17, it can be determined that the duration of downtime is 17 days. Since the duration of downtime of 17 days is less than the preset duration of 15 days, statistical data 2 can be determined as negative sample data.

[0181] If the corresponding labeling result for a statistical data item is any value between -1 and -14, the statistical data item can be determined as positive sample data. If the corresponding labeling result for a statistical data item is "not down" or any value with an absolute value greater than or equal to 15, the statistical data item can be determined as negative sample data. Assume that based on the labeling result corresponding to each statistical data item, 100 positive sample data items and 500 negative sample data items can be determined from the multiple statistical data items. Then M is 100 and N is 500.

[0182] Since the number of positive and negative sample data differs greatly, which is not conducive to training the target model, multiple first positive sample data can be determined from the M positive sample data based on M and N, and multiple first negative sample data can be determined from the N negative sample data. The difference between the number of the first positive sample data and the number of the first negative sample data is within a preset range.

[0183] For example, if the number of positive sample data, M, is 100, the number of negative sample data, N, is 500, and the preset range is 50, then since M is less than N, all 100 positive sample data can be determined as first positive sample data, and 150 first negative sample data can be determined from the 500 negative sample data. Then, the number of first positive sample data is 100, and the number of first negative sample data is 150, and the difference between the two is within the preset range of 50.

[0184] After determining the plurality of first positive sample data and the plurality of first negative sample data, model training can be performed based on the plurality of first positive sample data, the plurality of first negative sample data, the labeling results corresponding to the plurality of first positive sample data, and the labeling results corresponding to the plurality of first negative sample data to obtain a target model. This target model can be referred to as a fault prediction model. This target model can be used to predict faults in electronic devices, specifically, to predict whether the electronic device will crash due to a memory failure.

[0185] During model training, an ensemble learning algorithm can be used to train the target model. For example, ensemble learning algorithms can include Extreme Gradient Boosting (XGBoost), Light Gradient Boosting Machine (Light GBM), Random Forest, and other algorithms.

[0186] In an embodiment of the present application, a model training device can obtain multiple pieces of initial data from multiple electronic devices. The initial data may include device information, memory information of the memory in the electronic device, and data sampling time. The memory information includes memory fault information and memory performance information. The model training device can perform feature statistics on the initial data corresponding to each electronic device according to the device information and the data sampling time to obtain multiple pieces of statistical data, and can determine the labeling results of the multiple pieces of statistical data according to the downtime information of the multiple electronic devices. The model training device can determine positive sample data and negative sample data from the multiple pieces of statistical data, and then determine multiple pieces of first positive sample data and multiple pieces of first negative sample data according to the number of positive sample data and negative sample data. Model training can be performed based on the multiple pieces of first positive sample data, the multiple pieces of first negative sample data, the labeling results corresponding to the multiple pieces of first positive sample data, and the labeling results corresponding to the multiple pieces of first negative sample data to obtain a target model. Because the sample data used for model training includes memory performance and memory failure information, which typically changes significantly before an electronic device crashes due to a memory failure, the sample data is statistical data within a time period, which clearly reflects data changes. The annotation results include the expected downtime duration from the crash time, allowing the trained target model to accurately predict the next few days of likely downtime. These three factors combined improve the target model's prediction accuracy.

[0187] Next, combine Figure 4 , the fault prediction model training method is further explained in detail. Figure 4 This is a flowchart of another fault prediction model training method provided by an exemplary embodiment of the present application. Figure 4 , the method may include:

[0188] S401. Acquire multiple pieces of initial data from multiple electronic devices.

[0189] The model training device can establish connections with multiple electronic devices via a wireless or wired network, and can then obtain initial data from the multiple electronic devices. The initial data may include device information, memory information in the electronic device's memory, and the data sampling time.

[0190] S402: Determine initial data corresponding to each electronic device based on the electronic device information.

[0191] For any electronic device, since the device information may include the serial number of the electronic device, the model training device can determine the initial data corresponding to each electronic device from multiple pieces of initial data based on the device information.

[0192] After determining the initial data corresponding to the electronic device, feature statistics are performed on the initial data corresponding to the electronic device. The process of performing feature statistics on the initial data corresponding to each electronic device is the same. Below, the process of performing feature statistics on the initial data corresponding to any electronic device is used as an example to illustrate.

[0193] S403: Divide the initial data corresponding to the electronic device into multiple data groups according to the data sampling time and the preset time window.

[0194] Assume that 8 pieces of initial data corresponding to electronic device-1 can be determined in the initial data based on the electronic device information, and the data sampling time of each piece of initial data is as shown in Table 1:

[0195] Table 1

[0196] Initial data Data sampling time Initial data 1 2022 / 05 / 09 10:00 Initial data 2 2022 / 05 / 09 10:20 Initial data 3 2022 / 05 / 09 10:40 Initial data 4 2022 / 05 / 09 11:00 Initial data 5 2022 / 05 / 10 10:00 Initial data 6 2022 / 05 / 10 10:20 Initial data 7 2022 / 05 / 10 10:40 Initial data 8 2022 / 05 / 10 11:00

[0197] When performing summation, variance, and other statistics, if the preset time window 1 is set to a continuous 1 hour, the initial data corresponding to electronic device 1 can be divided into two data groups based on the data sampling time and the preset time window 1, and recorded as data group 1 and data group 2. Data group 1 can include initial data 1, initial data 2, initial data 3, and initial data 4, and the data sampling times of these four initial data are all within the 1 hour from 2022 / 05 / 09 10:00 to 2022 / 05 / 09 11:00; data group 2 can include initial data 5, initial data 6, initial data 7, and initial data 8, and the data sampling times of these four initial data are all within the 1 hour from 2022 / 05 / 10 10:00 to 2022 / 05 / 10 11:00.

[0198] When performing differential statistics (for example, first-order differences, second-order differences, etc.), if the preset time window 2 is set to include two 10-minute time windows, namely 2022 / 05 / 09 10:35-2022 / 05 / 09 10:45 and 2022 / 05 / 10 10:35-2022 / 05 / 10 10:45, then data group 3 can be determined according to the data sampling time and the preset time window 2, and data group 3 can include initial data 3 and initial data 7.

[0199] After the three data groups are determined, feature statistics can be performed on the initial data in the three data groups to obtain three statistical data corresponding to the electronic device-1, with one data group corresponding to one statistical data.

[0200] S404: Perform feature statistics on the initial data in each data group to obtain statistical data corresponding to the electronic device.

[0201] Optionally, the initial data may be preprocessed before feature statistics are performed. The preprocessing may include eliminating some data that cannot be collected by most electronic devices, or replacing some occasionally missing data with 0.

[0202] In an optional embodiment, the initial data can be characterized by statistics in the following manner: performing characteristic statistics on the number of errors corresponding to each fault type in the data group to obtain error statistics corresponding to each fault type; performing characteristic statistics on the memory performance information in the data group to obtain memory performance statistics; performing statistics on the fault locations in the data group to obtain failure count statistics for each block in the memory within the time window corresponding to the data group; wherein the statistical data corresponding to the data group include error statistics corresponding to each fault type, memory performance statistics and failure count statistics.

[0203] The fault location may be a detailed physical location of a dynamic random-access memory (DRAM) fault that is parsed from a DRAM fault log.

[0204] Next, combine Figure 5 , describe the fault location in detail.

[0205] Figure 5 This is a schematic diagram of the structure of a dual inline memory module provided by an exemplary embodiment of the present application. The memory of an electronic device may include 24 dual inline memory modules (DIMMs). Figure 5 For any DIMM, there are two memory ranks: Rank-1 and Rank-2. Each rank contains 16 banks. For example, Rank-2 may include Bank2-1, Bank2-2, Bank2-3, ..., Bank2-16. There are a total of 32 banks in Rank-1 and Rank-2. Each memory access only accesses one of the 32 banks.

[0206] In general, each Bank has 217217 rows (Row) and 210210 columns (Column, Col). You can use tuples<Dimm,Rank,Bank,Row,Col> Indicates where a DRAM failure occurs in the memory of an electronic device, or it can be represented by a tuple<Dimm,Rank,Bank> Indicates the location of the memory in an electronic device where a DRAM failure occurs. As shown in Figure 3, if there are 5 DRAM failures in row 1, column 3 of Dimm1, Rank1, Bank2-1, the failure location can be recorded as<Dimm1,Rank1,Bank2-1,1,3> , the number of failures is 5. For any Bank, the number of Bank failures is equal to the sum of the number of DRAM failures at all locations in the Bank. For example, if the fault location<Dimm1,Rank1,Bank2-1,1,3> There have been 5 DRAM failures at the fault location.<Dimm1,Rank1,Bank2-1,1,2> If 3 DRAM failures have occurred,<Dimm1,Rank1,Bank2-1> A total of 8 DRAM failures occurred.

[0207] For example, assume that the data contents of each initial data in Table 1 are as shown in Table 2:

[0208] Table 2

[0209]

[0210]

[0211] If data group 1 includes initial data 1, initial data 2, initial data 3, and initial data 4; array 2 includes initial data 5, initial data 6, initial data 7, and initial data 8; and data group 3 includes initial data 3 and initial data 7, statistics can be taken on the initial data in the three data groups. The obtained statistics can be shown in Table 3. In Table 3, each Bank is located in Dimm1, Rank1. For ease of description, Dimm1 and Rank1 are omitted in Table 3:

[0212] Table 3

[0213]

[0214]

[0215] In practice, the statistical data obtained may have different attributes, orders of magnitude, and units, making it difficult to train on different statistical data. To eliminate these differences and facilitate subsequent model training, the statistical data can be normalized. Normalization involves scaling the statistical data so that they fall within the same data interval and range. For example, various statistical data can be normalized to convert them into decimals between (0, 1).

[0216] S405: Determine labeling results of multiple statistical data according to the downtime information of multiple electronic devices.

[0217] It should be noted that the specific execution process of step S405 can be found in step S203 and will not be repeated here.

[0218] S406 : Determine M pieces of positive sample data and N pieces of negative sample data from the multiple statistical data according to the multiple statistical data and the labeling results corresponding to each piece of statistical data.

[0219] The labeling result can be expressed as a number, with the absolute value of the number representing the expected downtime duration. Positive sample data corresponding to the labeling result indicates that the expected downtime duration is less than or equal to the preset duration, while negative sample data corresponding to the labeling result indicates that the expected downtime duration is greater than the preset duration. For example, if the labeling result is -3, the "3" indicates that the expected downtime duration is 3 days, and the "-" indicates that the statistical data was collected before the downtime occurred.

[0220] For example, if the preset time length is 15 days, among multiple statistical data, multiple statistical data with labeling results between -1 and -14 can be determined as positive sample data; multiple statistical data with labeling results of "no downtime" or labeling results with absolute values ​​greater than or equal to 15 can be determined as negative sample data.

[0221] S407 : According to M and N, determine a plurality of first positive sample data from the M pieces of positive sample data, and determine a plurality of first negative sample data from the N pieces of negative sample data.

[0222] Optionally, if the number of positive sample data is M and the number of negative sample data is N, then based on M and N, multiple first positive sample data can be determined in the M positive sample data, and multiple first negative sample data can be determined in the N negative sample data, so that the difference between the number of first positive sample data and the number of first negative sample data is within a preset range.

[0223] Determining multiple pieces of first positive sample data and multiple pieces of first negative sample data may include the following two situations:

[0224] Case 1: If M is greater than N, and the difference between M and N is greater than or equal to the first threshold.

[0225] In this case, the M pieces of positive sample data may be downsampled, and the downsampled positive sample data may be determined as a plurality of first positive sample data, and the N pieces of negative sample data may be determined as a plurality of first negative sample data.

[0226] The first threshold value may be determined according to the requirements of the training target model. For example, the first threshold value may be 50.

[0227] Downsampling is usually used when the number of positive and negative samples differs significantly and the small sample data is insufficient. Downsampling is to extract a portion of the sample data from the large sample data to make the number of positive and negative samples equal.

[0228] For example, if the number of positive sample data, M, is 1000, the number of negative sample data, N, is 600, the first threshold is 50, and the preset range is 50, since M is greater than N, and the difference between M and N is 400, which is greater than the first threshold of 50, then the 1000 positive sample data can be downsampled to determine 640 first positive sample data; and the 600 negative sample data can all be determined as 600 first negative sample data. Then, the difference between the number of first positive sample data, 640, and the number of first negative sample data, 600, is 40, which is within the preset range of 50.

[0229] Case 2: If N is greater than M, and the difference between N and M is greater than or equal to the first threshold

[0230] In this case, the N pieces of negative sample data may be downsampled, and the downsampled negative sample data may be determined as a plurality of first negative sample data, and the M pieces of positive sample data may be determined as a plurality of first positive sample data.

[0231] For example, if the number of positive sample data, M, is 700, the number of negative sample data, N, is 900, the first threshold is 50, and the preset range is 50, since N is greater than M and the difference between N and M is 200, which is greater than or equal to the first threshold of 50, then the 900 negative sample data can be downsampled to determine 742 first negative sample data; and all 700 positive sample data can be determined as 700 first positive sample data. Then, the difference between the number of first positive sample data, 700, and the number of first negative sample data, 742, is 42, which is within the preset range of 50.

[0232] S408 : Determine a first data feature from the plurality of data features according to the feature values ​​of each data feature in the plurality of first positive sample data and the feature values ​​of each data feature in the plurality of first negative sample data.

[0233] The first data feature refers to a data feature that is significantly different between the first positive sample data and the first negative sample data. The difference between the feature value corresponding to the first data feature in the first positive sample and the feature value corresponding to the first data feature in the first negative sample is greater than or equal to a second threshold.

[0234] The second threshold can be set based on the characteristic value corresponding to the first data characteristic. For example, if the first data characteristic is memory usage, the second threshold can be set to 20%; if the first data characteristic is the total number of bank failures, the second threshold can be set to 100.

[0235] Optionally, when determining the first data feature, a hypothesis test can be used for feature selection. A hypothesis test is a statistical inference method that can be used to determine whether the difference between the first positive sample data and the first negative sample data is due to sampling error or due to an essential difference. For example, the hypothesis test can be a chi-square test, an F test, etc.

[0236] Assume that the data included in a first positive sample data and a first negative sample data are as shown in Table 4:

[0237] Table 4

[0238]

[0239] If hypothesis testing is used to perform feature selection on the first positive sample data and the first negative sample data, the selected first data features may include: the number of memory read errors, the number of page offline errors, the number of memory occupancy rates, the memory read speed, and the total number of bank failures. Since the number of memory scrubbing errors is 259 in the first positive sample data and 236 in the first negative sample data, showing no significant difference, the number of memory scrubbing errors cannot be used as the first data feature.

[0240] S409 : Update multiple pieces of first positive sample data and multiple pieces of first negative sample data according to the first data feature.

[0241] In an optional embodiment, based on the first data feature, multiple first sample data and multiple first negative sample data are updated, that is, the first data feature in the multiple first sample data and the multiple first negative sample data is retained, and non-first data features are removed, then the updated multiple first positive sample data and the updated multiple first negative sample data include the feature value of the first data feature.

[0242] For example, if the first positive sample data and the first negative sample data are as shown in Table 4, and the selected first data features include the number of memory read errors, the number of page offline errors, the number of memory occupancy rates, the memory read speed, and the total number of bank failures, then the number of memory read errors, the number of page offline errors, the number of memory occupancy rates, the memory read speed, and the total number of bank failures in the first positive sample data and the first negative sample data can be retained, and the number of memory cleanup errors can be removed. The updated first positive sample data and the first negative sample data are shown in Table 5:

[0243] Table 5

[0244]

[0245] S410. Perform a first model training based on the plurality of first positive sample data, the plurality of first negative sample data, the labeling results corresponding to the plurality of first positive sample data, and the labeling results corresponding to the plurality of first negative sample data to obtain an intermediate model, and determine the importance of each data feature in the statistical data.

[0246] For example, if the updated first positive sample data and the first negative sample data are as shown in Table 5, and the labeling result of each data in the first positive sample data is -3, and the labeling result of each data in the first negative sample data is -21, then the model training can be performed based on the first positive sample data and the first negative sample data in Table 5, and the corresponding labeling results, to obtain an intermediate model.

[0247] The intermediate model can determine the importance of each data feature. Optionally, different levels of importance can be represented by numerical values ​​between 1 and 10. The larger the numerical value, the more important the data feature.

[0248] For example, the importance of each data feature determined by the intermediate model can be shown in Table 6:

[0249] Table 6

[0250] Data characteristics Importance Number of memory read errors 3 Number of page offline errors 1 Average memory usage 6 Memory read speed 2 The total number of bank failures 8

[0251] It should be noted that in actual work, the number of first positive sample data and first negative sample data may still differ significantly. In this case, during model training, the Focal Loss function can be used instead of the Cross Entropy Loss function to improve the model training effect. The Focal Loss function is a loss function that handles a serious imbalance in the ratio of positive and negative sample data.

[0252] S411 , arranging the importance of each data feature from high to low, and determining a plurality of second positive sample data and a plurality of second negative sample data.

[0253] In an optional embodiment, the importance of each data feature can be arranged in descending order, and the feature values ​​of the first K data features are retained in multiple first positive sample data to obtain multiple second positive sample data, and the feature values ​​of the first K data features are retained in multiple first negative sample data to obtain multiple second negative sample data.

[0254] For example, if the importance of each data feature is as shown in Table 6, then the importance of each data feature can be arranged in order from high to low, and the following can be obtained:

[0255] Table 7

[0256]

[0257]

[0258] If K is set to 3, the first three data features can be determined to be: the total number of bank failures, the average memory usage, and the number of memory read errors. Assuming that the first positive sample data and the first negative sample data are as described in Table 5, the feature values ​​of these three data features can be retained in the first positive sample data to obtain multiple second positive sample data, and the feature values ​​of these three data features can be retained in multiple first negative sample data to obtain multiple second negative sample data. The second positive sample data and the second negative sample data can then be shown in Table 8:

[0259] Table 8

[0260]

[0261] S412. Perform a second model training on the intermediate model based on the plurality of second positive sample data, the plurality of second negative sample data, the labeling results corresponding to the plurality of second positive sample data, and the labeling results corresponding to the plurality of second negative sample data to obtain a target model.

[0262] Since the second positive sample data and the second negative sample data are determined from the first positive sample data and the first negative sample data, the labeling results corresponding to the first positive sample data and the first negative sample data are the labeling results corresponding to the second positive sample data and the second negative sample data.

[0263] For example, if the second positive sample data and the second negative sample data are as shown in Table 8, the labeling result corresponding to the second positive sample data is -3, and the labeling result corresponding to the second negative sample data is -17, then the intermediate model can be trained for the second time based on the second positive sample data and the second negative sample data, and the corresponding labeling results, to obtain the target model.

[0264] In real-world model training, the target model often includes hundreds or even thousands of parameters. While some parameters can be optimized through model training, others cannot. These parameters are called hyperparameters. Alternatively, other algorithms can be used to tune hyperparameters that cannot be optimized within the target model. For example, algorithms such as grid search, random search, and Bayesian optimization can be used to tune hyperparameters.

[0265] In an embodiment of the present application, the model training device can obtain multiple initial data from multiple electronic devices, and determine the initial data corresponding to each electronic device based on the electronic device information, and then divide the initial data corresponding to the electronic device into multiple data groups based on the data sampling time and the preset time window. The model training device can perform feature statistics on the initial data in each data group respectively to obtain statistical data corresponding to the electronic device, and determine the labeling results of the multiple statistical data based on the downtime information of the multiple electronic devices. The model training device can determine multiple positive sample data and multiple negative sample data in the multiple statistical data based on the labeling results, and determine multiple first positive sample data in the multiple positive sample data, and determine multiple first negative sample data in the multiple negative sample data. It is also possible to determine a first data feature from a plurality of data features in the plurality of first positive sample data and the plurality of first negative sample data, and update the plurality of first positive sample data and the plurality of first negative sample data based on the first data feature, and then perform model training based on the updated plurality of first positive sample data, the updated plurality of first negative sample data, the labeling results corresponding to the updated plurality of first positive sample data, and the labeling results corresponding to the updated plurality of first negative sample data, to obtain an intermediate model and determine the importance of each data feature. The model training device can arrange the importance of each data feature in order from high to low, determine the top K data features, and determine a plurality of second positive sample data from the plurality of first positive sample data and a plurality of second negative sample data from the plurality of first negative samples based on the top K data features, and then perform a second model training on the intermediate model based on the plurality of second positive sample data, the plurality of second negative sample data, the labeling results corresponding to the plurality of second positive sample data, and the labeling results corresponding to the plurality of second negative sample data, to obtain a target model. Since the sample data used for model training includes memory performance information and memory fault information, before an electronic device crashes due to a memory fault, the memory performance information and memory fault information of the electronic device will usually change significantly; the sample data is statistical data within a period of time, and the statistical data can clearly reflect data changes; secondary training can be performed based on the top K data features output by the intermediate model to improve the training effect of the model. Combining the above three points, an accurate target model can be trained according to the above fault prediction model training method, so that the accuracy of downtime prediction for electronic devices can be improved through this target model.

[0266] Next, combine Figure 6 , through specific examples, the above fault prediction model training method is explained in detail.

[0267] Figure 6 A process diagram of a fault prediction model training method provided by an exemplary embodiment of the present application. Figure 6 , including process 1, process 2 and process 3.

[0268] Referring to process 1, the model training device may obtain multiple pieces of initial data from multiple electronic devices. For example, the multiple pieces of initial data may include initial data-1, initial data-2, initial data-3, ..., initial data-p.

[0269] For any initial data, the initial data may include device information, memory information of the memory in the electronic device and data sampling time, and the memory information includes memory fault information and memory performance information. The model training device can determine the initial data corresponding to each electronic device based on the device information, and for any electronic device, the initial data corresponding to the electronic device can be divided into multiple data groups based on the data sampling time and the preset time window. Figure 6 As shown, assuming that the p initial data include the initial data corresponding to w electronic devices, the initial data corresponding to the W electronic devices can be divided according to the data sampling time and the preset time window. Assuming that a total of q data groups can be obtained, the q data groups include the data groups corresponding to the W electronic devices.

[0270] For any data group, the data group may include multiple initial data. For example, data group-1 may include initial data-1, initial data-2, and initial data-3. The initial data in each data group may be subjected to characteristic statistics such as summation, variance, and difference to obtain corresponding statistical data. Since the statistical data corresponds to the data group one-to-one, the statistical data includes statistical data corresponding to W electronic devices respectively. Based on the downtime information corresponding to the W electronic devices respectively, the labeling results corresponding to each statistical data may be determined. For example, the labeling result of statistical data-1 may be -3, indicating that the collection time corresponding to the statistical data is 3 days before the electronic device downtime.

[0271] Refer to step 2. You can use the annotation results corresponding to each statistical data item to determine M positive sample data and N negative sample data from the multiple statistical data items. If the number of positive sample data and negative sample data differs significantly, you can downsample the larger sample data to determine multiple first positive sample data from the M positive sample data items, and multiple first negative sample data from the N negative sample data items, to ensure a relatively balanced number of first positive sample data and first negative sample data.

[0272] Optionally, a hypothesis test can be performed to determine a first data feature with a significant difference among the multiple data features based on the characteristic values ​​of each data feature in the multiple first positive sample data and the characteristic values ​​of each data feature in the multiple first negative sample data. Based on the first data feature, the multiple first sample data and the multiple first negative sample data can be updated, i.e., the first data features in the multiple first sample data and the multiple first negative sample data are retained, while non-first data features are removed, to obtain the updated multiple first positive sample data and the multiple first negative sample data.

[0273] Model training is performed based on the updated plurality of first positive sample data, the updated plurality of first negative sample data, the updated annotation results corresponding to the plurality of first positive sample data, and the updated annotation results corresponding to the plurality of first negative sample data to obtain an intermediate model. The intermediate model can determine the importance of each data feature. The data features can be ranked from highest to lowest importance to determine the top K data features.

[0274] Referring to process 3, based on the first K data features, the feature values ​​of the first K data features can be retained in the updated multiple first positive sample data to obtain multiple second positive sample data, and the feature values ​​of the first K data features can be retained in the updated multiple first negative sample data to obtain multiple second negative sample data. For example, if the updated multiple first positive sample data include feature values ​​of 10 data features, if K is set to 3, and the first three data features determined are data feature-1, data feature-2, and data feature-3, then the feature values ​​corresponding to data feature-1, data feature-2, and data feature-3 can be retained from the 10 data features, and the feature values ​​corresponding to the other 7 data features can be removed to obtain the second positive sample data. The second positive sample data then includes the feature values ​​corresponding to data feature-1, data feature-2, and data feature-3.

[0275] The intermediate model may be trained for the second time based on the plurality of second positive sample data, the plurality of second negative sample data, the labeling results corresponding to the plurality of second positive sample data, and the labeling results corresponding to the plurality of second negative sample data to obtain a target model.

[0276] In an embodiment of the present application, a model training device can obtain multiple pieces of initial data from multiple electronic devices, and determine the initial data corresponding to each electronic device based on the electronic device information, and then divide the initial data corresponding to the electronic device into multiple data groups based on the data sampling time and a preset time window. The model training device can perform feature statistics on the initial data in each data group to obtain multiple statistical data, and can determine the labeling results of the multiple statistical data based on the downtime information of the multiple electronic devices. The model training device can determine positive sample data and negative sample data from the multiple statistical data, and then determine multiple first positive sample data and multiple first negative sample data based on the number of positive sample data and negative sample data. The model training device determines the first data feature through hypothesis testing, and updates the multiple first positive sample data and multiple first negative sample data based on the first data feature, and then performs model training based on the updated multiple first positive sample data, the updated multiple first negative sample data, the labeling results corresponding to the updated multiple first positive sample data, and the labeling results corresponding to the updated multiple first negative sample data, to obtain an intermediate model and determine the importance of each data feature. Determine the first K data features, and determine multiple second positive sample data from multiple first positive sample data based on the first K data features, and determine multiple second negative sample data from multiple first negative samples. The intermediate model can be trained for the second time based on the multiple second positive sample data, the multiple second negative sample data, the labeling results corresponding to the multiple second positive sample data, and the labeling results corresponding to the multiple second negative sample data to obtain a target model. Since the sample data used for model training includes memory performance information and memory fault information, before the electronic device crashes due to a memory fault, the memory performance information and memory fault information of the electronic device usually have more obvious changes; the sample data is statistical data within a period of time, and the statistical data can obviously reflect the data changes; the first K data features output by the intermediate model can be used for secondary training to improve the training effect of the model. Combining the above three points, an accurate target model can be trained according to the above fault prediction model training method, so that the accuracy of downtime prediction of electronic devices can be improved through the target model.

[0277] After the target model is trained, it can be used to predict multiple electronic devices to determine whether the multiple electronic devices will crash due to memory failure in the future.

[0278] Optionally, when using the target model to make predictions for multiple electronic devices, the target model is deployed in a fault prediction device. The fault prediction device can obtain initial data of multiple electronic devices and make predictions for each electronic device through the target model; the target model can also be deployed in each electronic device to make predictions for each electronic device through the target model.

[0279] Next, combine Figure 7 , explaining the method for determining equipment failure.

[0280] Figure 7 This is a process diagram of a device fault determination method provided by an exemplary embodiment of the present application. Figure 6 , the method may include:

[0281] S701: Acquire multiple pieces of initial data from an electronic device.

[0282] The initial data may include: device information, memory information of the memory in the electronic device and data sampling time. The memory information may include memory fault information and memory performance information. The memory fault information may include the number of error reports and fault location corresponding to each fault type.

[0283] Optionally, obtaining initial data from the electronic device may include the following two methods:

[0284] Method 1: Obtain initial data in real time.

[0285] For example, if the data sampling frequency is set to 15 minutes / time, each electronic device can perform a sample every 15 minutes to obtain initial data and send the initial data to the model training device so that the model training device can obtain the initial data of multiple electronic devices.

[0286] Method 2: Obtain initial data periodically.

[0287] For example, if the data sampling frequency is set to 15 minutes / time and the sending period is 1 hour, each electronic device can perform a sample every 15 minutes and send initial data to the model training device every 1 hour, so that the model training device can obtain the initial data of multiple electronic devices.

[0288] S702: Perform feature statistics on the multiple pieces of initial data according to the data sampling time to obtain multiple pieces of statistical data.

[0289] In an optional embodiment, multiple statistical data can be obtained in the following manner: according to a preset time window, multiple initial data are divided into multiple data groups, and the data sampling time of the initial data in a data group is within the corresponding time window; for any data group among the multiple data groups, characteristic statistics are performed on the number of errors corresponding to each fault type in the data group to obtain error statistics corresponding to each fault type; characteristic statistics are performed on the memory performance information in the data group to obtain memory performance statistics; statistics are performed on the fault locations in the data group to obtain statistics on the number of failures of each block in the memory within the time window corresponding to the data group.

[0290] The statistical data corresponding to the data group includes: error statistics, memory performance statistics, and fault count statistics corresponding to each fault type.

[0291] It should be noted that the specific execution process of step S702 can refer to step S202 or steps S402-S404, and will not be repeated here.

[0292] S703: Process the plurality of statistical data by using the target model to determine whether the electronic device will be down due to a memory failure in a future period.

[0293] The target model is obtained through the above Figure 2 and Figure 4 The fault prediction model is obtained by training using the fault prediction model training method in the illustrated embodiment.

[0294] For any electronic device, after obtaining multiple statistical data corresponding to the electronic device, the multiple statistical data can be processed through the target model to determine the top K data features corresponding to the multiple statistical data, and then based on the top K data features and the corresponding feature values, it is predicted whether the electronic device will crash due to memory failure in the future period.

[0295] The future period can be set to 15 days, and the target model can be used to predict the downtime of any electronic device that may be caused by memory failure within the next 15 days.

[0296] For example, if K is set to 3 and the future period is 15 days, after processing multiple statistical data pieces through the target model, the top three data features corresponding to these statistical data pieces are determined to be: the total number of bank failures, the average memory usage rate, and the number of memory read errors. If the corresponding feature values ​​are equivalent to the corresponding feature values ​​in the first positive sample data labeled as -8, the output prediction result can be determined to be 8, indicating that the electronic device is likely to experience a downtime event due to a memory failure on the eighth day in the future.

[0297] If the corresponding eigenvalue is equivalent to the corresponding eigenvalue in the first negative sample data with the labeled result of -17, the prediction result can be determined to be 17, indicating that the electronic device may experience a downtime event due to memory failure on the 17th day in the future.

[0298] Optionally, since the future period predicted by the target model is set to 15 days, if the prediction result is greater than 15, the prediction result can be further output as "no downtime" or "the probability of a downtime event is very small", which is used to indicate that a downtime event caused by memory failure will not occur within the next 15 days.

[0299] In an embodiment of the present application, for any electronic device, multiple pieces of initial data can be obtained from the electronic device, and based on the data sampling time, feature statistics are performed on the multiple pieces of initial data to obtain multiple pieces of statistical data, and then the multiple pieces of statistical data can be processed through the target model to obtain whether the electronic device will crash due to memory failure in the future time period. If it is determined that the data features and corresponding feature values ​​of the statistical data are equivalent to the corresponding feature values ​​in the first positive sample data, the prediction result can be determined based on the labeling result of the first positive sample data to be the number of days in the future time period on which a crash event due to memory failure may occur; if it is determined that the data features and corresponding feature values ​​of the statistical data are equivalent to the corresponding feature values ​​in the first negative sample data, the prediction result can be determined based on the labeling result of the first negative sample data to be the number of days in the future time period on which a crash event due to memory failure will occur. Since the target model can be used to predict the number of days in the future time period on which the electronic device will crash due to memory failure, the accuracy of the crash prediction of the electronic device is improved.

[0300] Figure 8 For a structural diagram of a model training device provided by an exemplary embodiment of this application, see Figure 8 The model training device includes: an acquisition module 11, a statistical module 12, a determination module 13 and a training module 14, wherein:

[0301] The acquisition module 11 is used to acquire multiple pieces of initial data from multiple electronic devices, the initial data including: device information, memory information of the memory in the electronic device and data sampling time, the memory information including memory fault information and memory performance information;

[0302] The statistical module 12 is used to perform feature statistics on the initial data corresponding to each electronic device according to the device information and the data sampling time to obtain multiple statistical data;

[0303] The determining module 13 is configured to determine, based on the downtime information of the plurality of electronic devices, labeling results of the plurality of statistical data, wherein the labeling results are used to indicate the length of the pending downtime between the time when the statistical data was collected and the time when the electronic device downtime occurred;

[0304] The training module 14 is used to perform model training based on the multiple statistical data and the labeling results corresponding to each statistical data to obtain a target model, and the target model is used to determine whether the electronic device will crash due to memory failure in a future period.

[0305] The model training device provided in the embodiment of the present application can execute the technical solution shown in the above method embodiment. Its implementation principles and beneficial effects are similar and will not be repeated here.

[0306] In a possible implementation, the statistics module 12 is specifically configured to:

[0307] Determining initial data corresponding to each electronic device based on the electronic device information;

[0308] For each electronic device, the initial data corresponding to the electronic device is divided into a plurality of data groups according to the data sampling time and the preset time window, wherein the data sampling time of the initial data in a data group is within the corresponding time window;

[0309] Feature statistics are performed on the initial data in each data group to obtain statistical data corresponding to the electronic device, and one data group corresponds to one piece of statistical data.

[0310] In a possible implementation, the memory fault information includes: the number of error reports and the fault location corresponding to each fault type; the statistical module 12 is specifically configured to:

[0311] Performing characteristic statistics on the number of error reports corresponding to each fault type in the data group to obtain an error report statistical value corresponding to each fault type;

[0312] Performing feature statistics on the memory performance information in the data group to obtain a memory performance statistical value;

[0313] Counting the fault locations in the data group to obtain a statistical value of the number of faults of each block in the memory within a time window corresponding to the data group;

[0314] The statistical data corresponding to the data group include: the error reporting statistical value corresponding to each fault type, the memory performance statistical value and the fault number statistical value.

[0315] In a possible implementation, the downtime information includes the downtime time; any statistical data corresponding to any electronic device; and the determining module 13 is specifically configured to:

[0316] Determining a collection time of the statistical data according to a data sampling time in the initial data corresponding to the statistical data;

[0317] Obtaining the initial duration between the acquisition time and the downtime time;

[0318] According to the preset time unit, the initial duration is rounded to an integer to obtain the pending downtime duration, where the pending downtime duration is an integer multiple of the preset time unit;

[0319] Determine that the annotation result of the statistical data includes the pending downtime duration.

[0320] In a possible implementation manner, the downtime information includes a downtime identifier and a downtime time, or the downtime information includes a non-downtime identifier;

[0321] For any statistical data corresponding to any electronic device, the determination module 13 is specifically configured to:

[0322] If the downtime information includes the downtime identifier and the downtime time, determining the collection time according to the data sampling time in the initial data corresponding to the statistical data; obtaining the initial duration between the collection time and the downtime time; rounding the initial duration according to a preset time unit to obtain the pending downtime duration, where the pending downtime duration is an integer multiple of the preset time unit; and determining that the annotation result of the statistical data includes the pending downtime duration;

[0323] If the downtime information includes the non-downtime identification, it is determined that the identification result of the statistical data is non-downtime or the waiting downtime time is greater than or equal to a preset time.

[0324] In a possible implementation, the training module 14 is specifically configured to:

[0325] Determine, based on the plurality of statistical data and the labeling results corresponding to each statistical data, M pieces of positive sample data and N pieces of negative sample data from the plurality of statistical data, wherein the pending downtime duration indicated by the labeling results corresponding to the positive sample data is less than or equal to a preset duration, and the pending downtime duration indicated by the labeling results corresponding to the negative sample data is greater than the preset duration, and M and N are respectively positive integers;

[0326] According to M and N, determining a plurality of first positive sample data from the M pieces of positive sample data, and determining a plurality of first negative sample data from the N pieces of negative sample data, wherein a difference between the number of the first positive sample data and the number of the first negative sample data is within a preset range;

[0327] Model training is performed based on the multiple first positive sample data, the multiple first negative sample data, the labeling results corresponding to the multiple first positive sample data, and the labeling results corresponding to the multiple first negative sample data to obtain the target model.

[0328] In a possible implementation, the training module 14 is specifically configured to:

[0329] Performing a first model training based on the plurality of first positive sample data, the plurality of first negative sample data, the labeling results corresponding to the plurality of first positive sample data, and the labeling results corresponding to the plurality of first negative sample data to obtain an intermediate model, and determining the importance of each data feature in the statistical data;

[0330] Arrange the data features in the statistical data in descending order according to their importance, retain the feature values ​​of the first K data features in the plurality of first positive samples to obtain a plurality of second positive sample data, and retain the feature values ​​of the first K data features in the plurality of first negative samples to obtain a plurality of second negative sample data;

[0331] The intermediate model is trained for the second time based on the multiple second positive sample data, the multiple second negative sample data, the labeling results corresponding to the multiple second positive sample data, and the labeling results corresponding to the multiple second negative sample data to obtain the target model.

[0332] In a possible implementation, the first positive sample data and the first negative sample data each include multiple data features; the training module 14 is specifically configured to:

[0333] Determining a first data feature from the plurality of data features based on the feature values ​​of each data feature in the plurality of first positive sample data and the feature values ​​of each data feature in the plurality of first negative sample data; wherein a difference between the feature value corresponding to the first data feature in the first positive sample and the feature value corresponding to the first data feature in the first negative sample is greater than or equal to a second threshold;

[0334] updating the plurality of first positive sample data and the plurality of first negative sample data according to the first data feature, wherein the updated plurality of first positive sample data and the updated plurality of first negative sample data include a feature value of the first data feature;

[0335] Model training is performed based on the updated multiple first positive sample data, the updated multiple first negative sample data, the labeling results corresponding to the updated multiple first positive sample data, and the labeling results corresponding to the updated multiple first negative sample data to obtain the intermediate model.

[0336] In a possible implementation, the training module 14 is specifically configured to:

[0337] If M is greater than N, and the difference between M and N is greater than or equal to a first threshold, downsampling the M pieces of positive sample data, and determining the downsampled positive sample data as the plurality of first positive sample data, and determining the N pieces of negative sample data as the plurality of first negative sample data; or

[0338] If N is greater than M, and the difference between N and M is greater than or equal to the first threshold, the N negative sample data are downsampled, and the negative sample data after downsampling are determined as the multiple first negative sample data, and the M positive sample data are determined as the multiple first positive sample data.

[0339] The model training device provided in the embodiment of the present application can execute the technical solution shown in the above method embodiment. Its implementation principles and beneficial effects are similar and will not be repeated here.

[0340] Figure 8 The model training device shown in the embodiment can also be called a fault prediction model device. The model training device is a device in a server or a device in a terminal device (for example, a computer).

[0341] Figure 9 This is a schematic diagram of a device fault determination apparatus provided by an exemplary embodiment of the present application, see Figure 9 The device for determining equipment failure includes: an acquisition module 21, a statistical module 22 and a processing module 23, wherein:

[0342] The acquisition module 21 is used to acquire multiple pieces of initial data from the electronic device, the initial data including: device information, memory information of the memory in the electronic device and data sampling time, the memory information including memory fault information and memory performance information;

[0343] The statistical module 22 is used to perform feature statistics on the multiple initial data according to the data sampling time to obtain multiple statistical data;

[0344] The processing module 23 is used to process the multiple statistical data through a target model to determine whether the electronic device will crash due to a memory failure in a future period; wherein the target model is trained according to the method according to any one of claims 1-9.

[0345] The device fault determination apparatus provided in the embodiment of the present application can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar and will not be repeated here.

[0346] In a possible implementation, the memory fault information includes: the number of error reports and the fault location corresponding to each fault type; the statistical module 22 is specifically configured to:

[0347] According to a preset time window, the plurality of initial data are divided into a plurality of data groups, wherein the data sampling time of the initial data in a data group is located within the corresponding time window;

[0348] For any one of the multiple data groups, performing characteristic statistics on the number of error reports corresponding to each fault type in the data group to obtain an error report statistic value corresponding to each fault type;

[0349] Performing feature statistics on the memory performance information in the data group to obtain a memory performance statistical value;

[0350] Counting the fault locations in the data group to obtain a statistical value of the number of faults of each block in the memory within a time window corresponding to the data group;

[0351] The statistical data corresponding to the data group include: the error reporting statistical value corresponding to each fault type, the memory performance statistical value and the fault number statistical value.

[0352] The device fault determination apparatus provided in the embodiment of the present application can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar and will not be repeated here.

[0353] Figure 9 The device failure determination apparatus shown in the embodiment may be a device in a server or a device in a terminal device (eg, a computer).

[0354] The exemplary embodiment of the present application provides a structural diagram of an electronic device, see Figure 10 The electronic device 30 may include a processor 31 and a memory 32. Exemplarily, the processor 31 and the memory 32 are interconnected via a bus 33.

[0355] The memory 32 stores computer-executable instructions;

[0356] The processor 31 executes the computer-executable instructions stored in the memory 32 , so that the processor 31 performs the fault prediction model training method as shown in the above method embodiment.

[0357] Figure 10 The electronic device shown in the embodiment may be a model training device or a fault prediction device.

[0358] Accordingly, an embodiment of the present application provides a computer-readable storage medium, which stores computer execution instructions. When the computer execution instructions are executed by a processor, they are used to implement the fault prediction model training method or equipment fault determination method described in the above method embodiment.

[0359] Accordingly, an embodiment of the present application may also provide a computer program product, including a computer program. When the computer program is executed by a processor, it can implement the fault prediction model training method or the equipment fault determination method shown in the above method embodiment.

[0360] It will be understood by those skilled in the art that embodiments of the present invention may be provided as methods, systems, or computer program products. Thus, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Furthermore, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0361] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowcharts and / or block diagrams, as well as combinations of processes and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowcharts and / or block diagrams. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0362] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0363] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0364] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.

[0365] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.

[0366] Computer-readable media includes permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media (transitory media), such as modulated data signals and carrier waves.

[0367] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.

[0368] The foregoing is merely an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should all be included within the scope of the claims of the present application.

Claims

1. A fault prediction model training method, characterized in that: include: Acquire multiple pieces of initial data from multiple electronic devices, the initial data including: device information, memory information of memories in the electronic devices, and data sampling times, the memory information including memory fault information and memory performance information; the memory fault information including: the number of error reports and the fault location corresponding to each fault type; Based on the device information and the data sampling time, characteristic statistics are performed on the initial data corresponding to each electronic device to obtain multiple statistical data, wherein the multiple statistical data include statistical data corresponding to multiple data groups, and the statistical data corresponding to each data group include: error statistics corresponding to each fault type obtained by characteristic statistics of the number of error reports corresponding to the data group, memory performance statistics obtained by characteristic statistics of memory performance information in the data group, and failure count statistics of each block in the memory within a time window corresponding to the data group obtained by performing statistics on the fault location in the data group; the data group is any one of the multiple data groups; for each electronic device, the multiple data groups are obtained by dividing the initial data corresponding to the electronic device according to the data sampling time and a preset time window, and the data sampling time of the initial data in a data group is within the corresponding time window; Determining, based on the downtime information of the plurality of electronic devices, annotation results of the plurality of statistical data, the annotation results being used to indicate a pending downtime duration between a time when the statistical data was collected and a time when the electronic device downtime occurred; Model training is performed based on the multiple statistical data and the annotation results corresponding to each statistical data to obtain a target model, and the target model is used to determine whether the electronic device will crash due to memory failure in a future time period.

2. The method according to claim 1, characterized in that Also includes: Initial data corresponding to each electronic device is determined according to the electronic device information.

3. The method according to claim 1 or 2, characterized in that The downtime information includes the downtime time; any statistical data corresponding to any electronic device; and determining a labeling result of the statistical data based on the downtime information of the electronic device, including: Determining a collection time of the statistical data according to a data sampling time in the initial data corresponding to the statistical data; Obtaining the initial duration between the acquisition time and the downtime time; According to the preset time unit, the initial duration is rounded to an integer to obtain the pending downtime duration, where the pending downtime duration is an integer multiple of the preset time unit; Determine that the annotation result of the statistical data includes the pending downtime duration.

4. The method according to claim 1 or 2, characterized in that The downtime information includes a downtime identifier and a downtime time, or the downtime information includes a non-downtime identifier; Any statistical data corresponding to any electronic device; Determining, based on the downtime information of the electronic device, a labeling result of the statistical data, including: if the downtime information includes the downtime identifier and the downtime time, determining a collection time based on a data sampling time in initial data corresponding to the statistical data; obtaining an initial duration between the collection time and the downtime time; rounding the initial duration according to a preset time unit to obtain the pending downtime duration, where the pending downtime duration is an integer multiple of the preset time unit; and determining that the labeling result of the statistical data includes the pending downtime duration; If the downtime information includes the non-downtime identification, it is determined that the identification result of the statistical data is non-downtime or the waiting downtime time is greater than or equal to a preset time.

5. The method according to any one of claims 1 to 4, characterized in that Model training is performed based on the plurality of statistical data and the annotation results corresponding to each statistical data to obtain a target model, including: Determine, based on the plurality of statistical data and the labeling results corresponding to each statistical data, M pieces of positive sample data and N pieces of negative sample data from the plurality of statistical data, wherein the pending downtime duration indicated by the labeling results corresponding to the positive sample data is less than or equal to a preset duration, and the pending downtime duration indicated by the labeling results corresponding to the negative sample data is greater than the preset duration, and M and N are respectively positive integers; According to M and N, determining a plurality of first positive sample data from the M pieces of positive sample data, and determining a plurality of first negative sample data from the N pieces of negative sample data, wherein a difference between the number of the first positive sample data and the number of the first negative sample data is within a preset range; Model training is performed based on the multiple first positive sample data, the multiple first negative sample data, the labeling results corresponding to the multiple first positive sample data, and the labeling results corresponding to the multiple first negative sample data to obtain the target model.

6. The method according to claim 5, characterized in that Performing model training based on the plurality of first positive sample data, the plurality of first negative sample data, the labeling results corresponding to the plurality of first positive sample data, and the labeling results corresponding to the plurality of first negative sample data to obtain the target model includes: Performing a first model training based on the plurality of first positive sample data, the plurality of first negative sample data, the labeling results corresponding to the plurality of first positive sample data, and the labeling results corresponding to the plurality of first negative sample data to obtain an intermediate model, and determining the importance of each data feature in the statistical data; Arrange the data features in the statistical data in descending order according to their importance, retain the feature values ​​of the first K data features in the plurality of first positive samples to obtain a plurality of second positive sample data, and retain the feature values ​​of the first K data features in the plurality of first negative samples to obtain a plurality of second negative sample data; The intermediate model is trained for the second time based on the multiple second positive sample data, the multiple second negative sample data, the labeling results corresponding to the multiple second positive sample data, and the labeling results corresponding to the multiple second negative sample data to obtain the target model.

7. The method according to claim 5 or 6, characterized in that The first positive sample data and the first negative sample data respectively include a plurality of data features; Performing a first model training based on the plurality of first positive sample data, the plurality of first negative sample data, the labeling results corresponding to the plurality of first positive sample data, and the labeling results corresponding to the plurality of first negative sample data to obtain an intermediate model, including: Determining a first data feature from the plurality of data features based on the feature values ​​of each data feature in the plurality of first positive sample data and the feature values ​​of each data feature in the plurality of first negative sample data; wherein a difference between the feature value corresponding to the first data feature in the first positive sample and the feature value corresponding to the first data feature in the first negative sample is greater than or equal to a second threshold; updating the plurality of first positive sample data and the plurality of first negative sample data according to the first data feature, wherein the updated plurality of first positive sample data and the updated plurality of first negative sample data include a feature value of the first data feature; Model training is performed based on the updated multiple first positive sample data, the updated multiple first negative sample data, the labeling results corresponding to the updated multiple first positive sample data, and the labeling results corresponding to the updated multiple first negative sample data to obtain the intermediate model.

8. The method according to any one of claims 5 to 7, characterized in that: Determining, according to the M and the N, a plurality of first positive sample data from the M pieces of positive sample data, and determining a plurality of first negative sample data from the N pieces of negative sample data, including: If M is greater than N, and the difference between M and N is greater than or equal to a first threshold, downsampling the M pieces of positive sample data, and determining the downsampled positive sample data as the plurality of first positive sample data, and determining the N pieces of negative sample data as the plurality of first negative sample data; or If N is greater than M, and the difference between N and M is greater than or equal to the first threshold, the N negative sample data are downsampled, and the negative sample data after downsampling are determined as the multiple first negative sample data, and the M positive sample data are determined as the multiple first positive sample data.

9. A method for determining equipment failure, characterized in that: include: Acquire multiple pieces of initial data from an electronic device, the initial data including: device information, memory information of a memory in the electronic device, and a data sampling time, the memory information including memory fault information and memory performance information; Performing feature statistics on the plurality of initial data according to the data sampling time to obtain a plurality of statistical data; The plurality of statistical data are processed through a target model to determine whether the electronic device will be down due to a memory failure in a future period; wherein the target model is trained according to the method according to any one of claims 1-8.

10. The method according to claim 9, characterized in that The memory fault information includes: the number of error reports and the fault location corresponding to each fault type; According to the data sampling time, feature statistics are performed on the multiple pieces of initial data to obtain multiple statistical data, including: According to a preset time window, the plurality of initial data are divided into a plurality of data groups, wherein the data sampling time of the initial data in a data group is located within the corresponding time window; For any one of the multiple data groups, performing characteristic statistics on the number of error reports corresponding to each fault type in the data group to obtain an error report statistic value corresponding to each fault type; Performing feature statistics on the memory performance information in the data group to obtain a memory performance statistical value; Counting the fault locations in the data group to obtain a statistical value of the number of faults of each block in the memory within a time window corresponding to the data group; The statistical data corresponding to the data group include: the error reporting statistical value corresponding to each fault type, the memory performance statistical value and the fault number statistical value.

11. An electronic device, characterized in that: include: memory and processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory, so that the processor executes the fault prediction model training method according to any one of claims 1 to 8, or the equipment fault determination method according to any one of claims 9 to 10.

12. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the fault prediction model training method according to any one of claims 1 to 8, or the equipment fault determination method according to any one of claims 9 to 10.

13. A computer program product, comprising a computer program, which, when executed by a processor, implements the fault prediction model training method according to any one of claims 1 to 8, or the equipment fault determination method according to any one of claims 9 to 10.

Citation Information

Patent Citations

  • Fault identification model training method and device, fault identification method and device and electronic equipment

    CN112308126A

  • Early warning method and device for memory fault

    CN113297046A