An abnormal data processing method and device, a storage medium and an electronic device

By acquiring disk array information, determining the number of parity disks, and employing processing strategies to locate and recover abnormal data, the problem of unrepairable abnormal data in RAID arrays in existing technologies is solved, achieving accurate data repair and security.

CN120723520BActive Publication Date: 2026-01-27SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511194743.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-08-26
Publication Date
2026-01-27
Estimated Expiration
2045-08-26

AI Technical Summary

Technical Problem

Existing technologies cannot effectively locate and repair abnormal data in RAID arrays, resulting in errors remaining in the data even after repair.

Method used

By acquiring disk array information, determining the number of check disks, and employing processing strategies to locate and recover abnormal data, a combination of error correction check disks and data disks is used to accurately locate and recover abnormal data.

Benefits of technology

It enables accurate location and repair of abnormal data in RAID arrays, improving the security and consistency of user data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120723520B_ABST
    Figure CN120723520B_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure provide an abnormal data processing method and device, a storage medium and an electronic device, and relate to the technical field of computers. The method comprises: in response to an abnormal processing request, obtaining information of a disk array; determining the number of check disks according to the information of the disk array, and determining a processing strategy according to the number of check disks; the number of check disks in the disk array is different, and the processing strategy adopted is different; the number of check disks is greater than the number of error correction check disks adopted in the processing strategy; and abnormal data positioning and abnormal data recovery are performed on the abnormal strip according to the processing strategy. In this way, different processing strategies are used to perform abnormal data positioning and recovery on the abnormal data disk and / or check disk in the strip.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer technology, and in particular to an abnormal data processing method, apparatus, storage medium, and electronic device. Background Technology

[0002] RAID (Redundant Array of Independent Disks) is a storage technology that improves storage performance and reliability by increasing parity redundancy. RAID technology combines multiple disks to provide a single, larger-capacity logical disk, concurrent I / O read / write capabilities, and data redundancy. RAID arrays use striping, mirroring, and parity to ensure data security. Its development has primarily progressed through the following stages: RAID 0, RAID 1, RAID 10, RAID 5, RAID 6, and RAID TP. RAID 5 added P parity blocks to the disk array, allowing recovery of data from a failed disk. RAID 6 further added Q parity blocks, enabling recovery of data from one or two failed disks by verifying the P and Q parity blocks. RAID TP, building upon RAID 6, added R parity blocks, allowing recovery of data from one to three failed disks by verifying the P, Q, and R parity blocks. Currently, the industry has proposed hardware RAID storage technology (RAID card) based on software RAID storage technology. As the name suggests, hardware RAID storage technology entrusts some of the algorithms, data management and functions of software RAID storage technology to hardware management and implementation in order to improve the I / O performance of the storage system.

[0003] In common RAID algorithms, when data on some disks becomes abnormal, stripe consistency checks can determine which stripes the abnormal data is distributed across, but cannot pinpoint the exact stripes or disks containing the abnormal data. Traditional algorithms repair data within stripes by dividing the data into blocks, calculating new parity blocks (P, Q, R), and then overwriting the old parity blocks.

[0004] However, the above method can only report the stripe containing the abnormal data and restore the stripe to consistency; it actually only modifies the checksum block. If the abnormal data is not in the checksum block, the abnormal data still exists after repair, and the user's data remains erroneous within these stripes. To truly repair the user's abnormal data, it is necessary to determine which disks the abnormal data is on, then calculate the data on those disks using other user data and checksum data within the same stripe, and finally overwrite the abnormal data with new data.

[0005] Therefore, there is a need to provide a method that can locate and recover abnormal data. Summary of the Invention

[0006] This disclosure provides an abnormal data processing method, apparatus, storage medium, and electronic device to at least solve the above-mentioned technical problems existing in the prior art.

[0007] The technical solution of this disclosure embodiment is implemented as follows:

[0008] In a first aspect, embodiments of this disclosure provide an abnormal data processing method, the method being applied to a disk array, the method comprising:

[0009] In response to an exception handling request, obtain information about the disk array;

[0010] The number of parity disks is determined based on the information of the disk array, and a processing strategy is determined based on the number of parity disks; different processing strategies are adopted depending on the number of parity disks in the disk array; the number of parity disks is greater than the number of error correction parity disks used in the processing strategy.

[0011] According to the processing strategy, abnormal data location and recovery are performed on strips with abnormalities.

[0012] Secondly, embodiments of this disclosure provide an abnormal data processing apparatus, the apparatus being applied to a disk array, the apparatus comprising:

[0013] The first processing module is used to obtain information about the disk array in response to an exception handling request;

[0014] The second processing module is used to determine the number of parity disks based on the information of the disk array, and to determine a processing strategy based on the number of parity disks; different processing strategies are adopted depending on the number of parity disks in the disk array; the number of parity disks is greater than the number of error correction parity disks used in the processing strategy.

[0015] The third processing module is used to locate and recover abnormal strips according to the processing strategy.

[0016] Thirdly, embodiments of this disclosure provide an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform any of the abnormal data processing methods described above.

[0017] Fourthly, embodiments of this disclosure provide a non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the abnormal data processing method according to any one of the claims.

[0018] The embodiments disclosed herein have the following beneficial effects:

[0019] The abnormal data processing method, apparatus, storage medium, and electronic device provided in this disclosure, in response to an abnormal processing request, acquires information about the disk array; determines the number of check disks based on the disk array information, and determines a processing strategy based on the number of check disks; different processing strategies are adopted depending on the number of check disks in the disk array; the number of check disks is greater than the number of error correction check disks used in the processing strategy; and performs abnormal data location and recovery on stripes with abnormalities according to the processing strategy. Thus, by locating and recovering abnormal data from abnormal data disks and / or check disks in stripes through the processing strategy, abnormal user data is correctly repaired, greatly improving the security of user data.

[0020] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0021] Figure 1 A schematic diagram of a disk array before data repair, provided as an embodiment of this disclosure;

[0022] Figure 2 A schematic diagram illustrating the calculation of a new verification disk according to an embodiment of this disclosure;

[0023] Figure 3 A schematic diagram of a data-repaired disk array provided in an embodiment of this disclosure;

[0024] Figure 4 A flowchart illustrating an abnormal data processing method provided in an embodiment of this disclosure;

[0025] Figure 5 This is a schematic diagram illustrating an abnormal data processing method provided in an embodiment of the present disclosure;

[0026] Figure 6 This is a schematic diagram illustrating another abnormal data processing method provided in an embodiment of this disclosure;

[0027] Figure 7 A flowchart illustrating an abnormal data processing method provided in an embodiment of this disclosure;

[0028] Figure 8A schematic diagram illustrating an example of abnormal data provided in an embodiment of this disclosure;

[0029] Figure 9 A schematic diagram illustrating an abnormal data detection method provided in an embodiment of this disclosure;

[0030] Figure 10 A schematic diagram illustrating another abnormal data detection method provided in this embodiment of the disclosure;

[0031] Figure 11 A schematic diagram illustrating an abnormal data recovery method provided in this embodiment of the disclosure;

[0032] Figure 12 This is a schematic diagram of the structure of an abnormal data processing device provided in an embodiment of the present disclosure;

[0033] Figure 13 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Detailed Implementation

[0034] To make the objectives, features, and advantages of this disclosure more apparent and understandable, the technical solutions in the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this disclosure, and not all of them. All other embodiments obtained by those skilled in the art based on the embodiments of this disclosure without creative effort are within the scope of protection of this disclosure.

[0035] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0036] If the application documents contain similar descriptions such as "first / second", the following explanation shall be added: In the following description, the terms "first / second / third" are used only to distinguish similar objects and do not represent a specific order of objects. It is understood that "first / second / third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.

[0037] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.

[0038] Before providing a further detailed description of the embodiments of this disclosure, the nouns and terms involved in the embodiments of this disclosure will be explained, and the nouns and terms involved in the embodiments of this disclosure shall be interpreted as follows.

[0039] RAID: Redundant Array of Independent Disks. A RAID array is a redundant array composed of many independent disks. It combines many independent disks into a large-capacity disk group, leveraging the additive effect of data provided by individual disks to improve the overall performance of the disk system. This technology divides data into many segments and stores them on different hard drives.

[0040] Segmentation: Dividing a partition into multiple equal-sized, adjacent blocks is called a segment. Segments are often considered elements of a stripe. The virtual disk uses segments as units to map virtual disk addresses to member disk addresses.

[0041] Disks can be divided into data disks and physical disks. Here, disk refers to a logical disk, which is the logical disk that is written (written to) on the actual physical disk.

[0042] Data disk: Data in 4KB units, also known as data blocks or data units, is stored on a physical disk and can be the actual user data stored there.

[0043] A check disk, also known as a check block or check data unit, is specifically stored on a physical disk and can be check data for a data disk.

[0044] In RAID, a physical disk is a physical entity within a disk array, referring to a real, existing hard drive. Data disks and parity disks can be understood as logical blocks that are mapped to storage locations on physical disks; that is, each data block and parity block is written to a specific area of ​​a physical disk.

[0045] A stripe, also known as a parity stripe, is a collection of position-related stripes across different partitions of an array. It serves as the unit for organizing blocks across different partitions. In RAID 5 and RAID 6, parity blocks are derived from data blocks using stripes as the unit and a specific algorithm is employed.

[0046] Stripe group: A collection of multiple stripes in a RAID array. The number of RAID array disks and each stripe forms a stripe group.

[0047] RAID 5: A RAID array that includes one check disk and has error correction capabilities. When one disk fails, the data on the failed disk can be recovered from the other disks.

[0048] RAID 6: A RAID array containing two check disks with error correction capabilities. When two or fewer disks fail, the data on the failed disks can be recovered from the other disks.

[0049] RAID TP: A RAID array containing 3 check disks with error correction capabilities. When three or fewer disks fail, the data on the failed disks can be recovered from the other disks.

[0050] The following example uses a RAID TP system consisting of 7 disks to illustrate the methods for handling abnormal data in related technologies.

[0051] like Figure 1 As shown, an example of a disk array before data repair is provided, which includes the following physical disks: disk 0, disk 1... disk 6. It has stripe 0 (i.e., stripe 0 in the figure), stripe 1 (i.e., stripe 1 in the figure), and stripe 2 (i.e., stripe 2 in the figure).

[0052] In a disk array configuration, stripes are used cyclically, therefore, Figure 1 Each row in the table represents a stripe. For example, the first four rows each represent stripe 0. Taking the first row as an example, 0, 4, 6, and 12 represent data disks, and P0, Q0, and R0 represent the parity disks for this stripe. The second to fourth rows are not described in detail. Stripes 1 and 2 can actually be used with reference to stripe 0, and the blank spaces can be the data disks.

[0053] Taking stripe 0 as an example, a stripe consistency check reveals an inconsistency, meaning there is abnormal data in stripe 0. All user data disks in stripe 0 are read, and a new parity disk is calculated using the user data blocks. Figure 2 As shown, P0', Q0', R0', etc., all represent the newly calculated parity disks. Finally, the newly calculated parity disks are written to the RAID array, overwriting the old parity disks, and the result is as follows. Figure 3 As shown.

[0054] The above method has the following drawbacks: it can only report the stripe containing the abnormal data and restore the stripe to consistency; in reality, it only modifies the check disk. If the abnormal data is not on the check disk, the abnormal data still exists after restoration, and the user's data remains on these stripes and is still incorrect.

[0055] To truly repair abnormal user data, it's essential to determine which disks contain the abnormal data. Then, by analyzing other user data and checksum data within the same stripe, the data on those disks can be calculated, and the abnormal data can be overwritten with new data. Therefore, when stripes are inconsistent, a method is needed to identify the disks containing abnormal data and correctly repair the user data.

[0056] Based on this, the present disclosure provides an abnormal data processing method. Figure 4 This is a flowchart illustrating an abnormal data processing method provided in an embodiment of this disclosure, as shown below. Figure 4 As shown, the method is applied to RAID, hereinafter referred to as disk array, and the abnormal data processing method includes:

[0057] Step 401: In response to the exception handling request, obtain information about the disk array;

[0058] Step 402: Determine the number of parity disks based on the information of the disk array, and determine the processing strategy based on the number of parity disks; different processing strategies are adopted depending on the number of parity disks in the disk array; the number of parity disks is greater than the number of error correction parity disks used in the processing strategy.

[0059] Step 403: According to the processing strategy, locate and recover abnormal data for the strips with abnormalities.

[0060] Here, exception handling requests can be periodic or user-triggered. For example, a disk array might have an exception checking function that periodically detects abnormal data. This detection could involve stripe consistency checks; if the stripe consistency check fails, the current stripe is considered to contain abnormal data, triggering an exception handling request. Alternatively, a user can proactively trigger exception handling requests based on certain needs, or the disk array can proactively trigger exception handling requests based on certain circumstances. The triggering method for exception handling requests is not limited here. This is merely to illustrate that disk arrays can locate and recover abnormal data based on requirements.

[0061] The aforementioned stripe consistency check refers to the verification of data in a storage system to ensure that data remains consistent during writing and reading. Through consistency checks, errors that may occur during data storage and transmission can be detected and corrected.

[0062] Here, after locating and recovering abnormal data disks and / or parity disks in the stripe through processing strategies, the user's abnormal data can be correctly repaired, greatly improving the security of user data.

[0063] In some embodiments, obtaining information about the disk array includes:

[0064] Obtain the number of data disks and parity disks included in each stripe of the disk array;

[0065] Determine the target rules corresponding to the stripes containing n data disks and m parity disks.

[0066] Here, each disk array typically contains multiple stripes, each stripe containing data disks and parity disks. The data disks are used to store the actual data, while the parity disks are used to store redundant parity information.

[0067] The disk array information includes the number of data disks (n) and the number of parity disks (m), as well as the target rules corresponding to the stripes containing the n data disks and m parity disks. n and m are positive integers greater than or equal to 1.

[0068] Here, in a disk array containing a parity disk, the data disk and the parity disk need to satisfy a certain relationship when being written to the disk. For example, the data on each disk is multiplied by a set of scaling factors, and then an XOR operation is performed to obtain a result of 0. All addition, subtraction, multiplication, and division calculations are performed within the Galois domain GF (Gross Fields). In the Galois field, XOR, addition, and subtraction are equivalent. The relationship satisfied by the n data disks and m parity disks in the stripe is taken as the target rule corresponding to the stripe.

[0069] The following two examples illustrate the target rule.

[0070] In one example, for a RAID6 disk array with n data disks and 2 parity disks, let the data on each data disk be as follows: (i.e., data disk), verify the data on the disk. (i.e., the verification disk), and another set of constants. It follows the identities shown in (1) and (2) below:

[0071]

[0072]

[0073] For each stripe in the above RAID6 disk array, it has n data disks and 2 parity disks. The target rules corresponding to each stripe can include the above equations (1) and (2).

[0074] In another example, for a RAID TP disk array with n data disks and 3 parity disks, let the data on each disk be as follows: (i.e., data disk), verify the data on the disk. (i.e., the verification disk), and another set of constants. It follows the identities shown in (5), (6), and (7):

[0075]

[0076]

[0077]

[0078] For each stripe in the above RAID TP disk array, it has n data disks and 3 parity disks. The target rules corresponding to each stripe can include the above equations (5), (6), and (7).

[0079] In some embodiments, determining the processing strategy based on the number of verification disks includes:

[0080] The number of error correction verification disks is determined based on the number of verification disks;

[0081] The total number of error corrections is determined based on the total number of verification disks and data disks, as well as the number of error correction verification disks.

[0082] Select the error correction check disk and error correction data disk to be used in each error correction round from the data disk and check disk of the strip;

[0083] The error correction verification disk used in each of the error correction rounds is different.

[0084] Here, a processing strategy is proposed. The principle is that data calculated using normal data is always correct, while data calculated using abnormal data is always wrong. Therefore, we can try to determine the data used for error correction and the data to be corrected. The data used for error correction is called the error correction verification disk, and the data to be corrected is called the error correction data disk.

[0085] Here, the processing strategy may include the number of error correction check disks, the total number of error corrections, and the specific error correction check disks and error correction data disks used in each error correction round.

[0086] Assuming each stripe has n data disks and m parity disks, the total number of data disks and parity disks is n+m. K disks are randomly selected from the n+m disks as error correction and parity disks. If abnormal data exists on the remaining disks, the data from these other disks is used. The data calculated for these k error correction and parity disks will not be equal to the original data on those k error correction and parity disks.

[0087] like Figure 5As shown, assuming data disks 0, 1, and 2 are considered as error correction and verification disks, and data disks 3, 4, verification disks P, Q, and R are considered as error correction data disks, where data disk 4 is the disk containing the abnormal data, then the second data of data disk 0 (i.e., 0' in the figure), the second data of data disk 1 (i.e., 1' in the figure), and the second data of data disk 2 (i.e., 1' in the figure) calculated based on data disks 3, 4, P, Q, and R will necessarily be different from the first data of data disk 0 (i.e., the original data), the first data of data disk 1, and the first data of data disk 2.

[0088] However, if the abnormal data is located on some of the selected k disks, while the data on the other disks is normal, then the data calculated using the data from the other disks will definitely be correct. Compared to the original data, some disks will be equal to some, and some will be equal to others. The disks where the data is not equal are the disks containing the abnormal data. Figure 6 As shown, data disk 2 is the disk where the abnormal data is located. The calculated second data of data disk 0 (i.e., 0' in the figure) and the second data of data disk 1 (i.e., 1' in the figure) are the same as the first data of data disk 0 and the first data of data disk 1. However, the second data of data disk 2 (i.e., 1' in the figure) must be different from the first data of data disk 2.

[0089] In some embodiments, the step of locating and recovering abnormal data for stripes with anomalies according to the processing strategy includes:

[0090] Based on the target rule corresponding to the strip, determine the verification rule corresponding to the error correction verification disk;

[0091] Error correction calculations are performed based on the verification rules and the error correction data disk to obtain the error correction result;

[0092] Determine whether the error correction result meets the target condition. If the error correction result meets the target condition, restore the abnormal data according to the error correction result. If the error correction result does not meet the target condition, proceed to the next error correction round for error correction calculation until the abnormal data is restored or until the total number of error corrections is reached.

[0093] Here, based on the target rules corresponding to each stripe with abnormal data (such as the above formulas (1) and (2), or the above formulas (5) to (7)), the verification rules of the error correction verification disk used for error correction can be derived; based on the verification rules and the error correction data disk, error correction calculation is performed to obtain the error correction result; by judging whether the error correction result meets the target conditions, it can be determined whether there is abnormal data and whether data recovery can be performed.

[0094] Specifically, if the error correction result does not meet the target conditions, then proceed to the next round of error correction, continue to use the same method but different verification rules and different error correction data disks to perform error correction calculations, until the data is successfully recovered or the maximum number of error corrections (i.e., the total number of error corrections) is reached.

[0095] This ensures that even if abnormal data occurs, the original data can be recovered as much as possible.

[0096] In some embodiments, the number of error correction verification disks is k, where k is greater than or equal to 1;

[0097] The error correction result satisfies the target condition, including:

[0098] The k error correction check disks include kp first error correction check disks and p second error correction check disks; where p is greater than or equal to 1;

[0099] Wherein, the first data of the first error correction check disk is different from the second data of the first error correction check disk;

[0100] The first data of the second error correction check disk is the same as the second data of the second error correction check disk;

[0101] The first data is the original data of the error correction verification disk, and the second data is the data calculated based on each error correction data disk using the verification rules corresponding to the error correction verification disk.

[0102] Here, error correction and verification disks can be divided into two categories:

[0103] First error correction and verification disk (quantity: kp);

[0104] The second error correction check disk (number of which is p), where p ≥ 1.

[0105] Each error correction check disk has two sets of data: a first set and a second set. The criteria for determining whether the target condition is met are whether the first set of data on the first error correction check disk is the same as the second set of data, and whether the first set of data on the second error correction check disk is the same as the second set of data.

[0106] After each round of error correction calculation, it is determined whether the target conditions are met, whether the abnormal data has been correctly found, and whether the abnormal data has been recovered.

[0107] If the first data of a certain error correction check disk (such as the second error correction check disk) is the same as its second data, then the error correction data disk can be considered correct. Correspondingly, if the first data of other error correction check disks (such as the first error correction check disk) is different from its second data, then they are incorrect error correction check disks. This can realize the location of abnormal data.

[0108] In some embodiments, restoring the abnormal data based on the error correction result includes:

[0109] Replace the first data of the kp first error correction check disks with the second data.

[0110] Here, when the target conditions are met, the first error correction verification disk is identified as the disk where the abnormal data is located, and its original data (i.e., the first data) is replaced with the second data to realize the recovery of the abnormal data.

[0111] In some embodiments, the disk array includes at least one stripe, each stripe including n data disks and m parity disks, where n is greater than or equal to 1 and m is greater than or equal to 1;

[0112] Determining the number of error correction check disks based on the number of check disks includes: determining the number of error correction check disks as k, where k=m;

[0113] The total number of error corrections is determined based on the total number of verification disks and data disks, as well as the number of error correction verification disks. This includes determining the number of times to select k different disk combinations from the total number of verification disks and data disks, according to permutation and combination rules.

[0114] Here, the permutation and combination rule refers to the rule for selecting k different combinations of disks from the parity disk and the data disk.

[0115] For example, It is a permutation and combination operator, representing the number of ways to choose k items from N distinct items. .

[0116] In one example, for a RAID6 disk array, each stripe has 2 parity disks and n data disks, resulting in a total of n+2 disks; the total number of error corrections is... .

[0117] In another example, for a RAID TP disk array, each stripe has 3 parity disks and n data disks, resulting in a total of n+3 disks; the total number of error corrections is... .

[0118] In some embodiments, selecting the error correction check disk and error correction data disk for each error correction round from the data disk and check disk of the stripe includes:

[0119] Select any k disks from the data disks and check disks of the stripe as the error correction check disks, where k=m;

[0120] The disks other than the aforementioned k disks are identified as error correction data disks; the aforementioned k disks include data disks and / or parity disks.

[0121] Here, the error correction check disks are selected from all disks (including data disks and check disks) in the data stripe, specifically k disks are selected as the error correction check disks used in this round of error correction.

[0122] Where k = m, that is, the number of disks selected is m. The value of m is a known value, that is, the number of parity disks actually used by the disk queue.

[0123] Apart from the k selected error correction and verification disks, the remaining disks in the stripe are used as error correction data disks for actual error data recovery.

[0124] Thus, in each round of error correction calculation, k disks are first selected from the data disks and the verification disks as error correction verification disks (k=m), and then the remaining disks are regarded as error correction data disks. By utilizing these selected disks together in the error correction process, through verification and data recovery, it is ensured that abnormal data is repaired.

[0125] In some embodiments, if the abnormal data is not recovered until the total number of error corrections is reached, the method further includes:

[0126] An error message is displayed, indicating that there are at least k+1 abnormal data.

[0127] Here, if the abnormal data is not recovered until the total number of error correction attempts is reached (i.e., the data cannot be recovered in all error correction attempts), it is considered that the number of disks with abnormal data is greater than or equal to the actual number of parity disks used by the disk array. At this time, a prompt message is given to indicate that there are multiple (at least k+1) abnormal data, and it is considered that the data corruption is too severe and exceeds the range of error correction.

[0128] In some embodiments, the number of verification disks is m, and the target rule includes: a first rule and m-1 second rules;

[0129] The first rule indicates that the sum of the values ​​of each disk within the strip is 0;

[0130] The second rule indicates that the sum of the product of the target number of each disk within the stripe and the constant corresponding to the disk is 0; the target number indicates the original data of the disk, or the target operation result of the original data;

[0131] Based on the target rules corresponding to the stripes, the verification rules corresponding to the error correction verification disk are determined, including:

[0132] Based on the first rule and m-1 second rules, construct the verification rules corresponding to each of the m error correction verification disks.

[0133] Here, the first rule indicates that the sum of each disk in the strip is 0; for example, the above equation (1), or the above equation (5).

[0134] The second rule represents that the sum of the result of multiplying the target number of each disk in the stripe by the constant corresponding to the disk is 0; the target number represents the original data of the disk, or the target operation result of the original data; for example, the above formula (2), or the above formulas (6) and (7).

[0135] For each stripe, based on the first rule and m-1 second rules, we can construct the verification rules corresponding to each of the m error correction verification disks. Two examples are provided below.

[0136] In one example, assuming the first rule is equation (1) above and the second rule is equation (2) above, and assuming the selected error correction check disks are check disk P and check disk Q, the check disks can be derived and calculated based on equations (1) and (2) above. (P) The formula for calculating (Q), for example:

[0137]

[0138]

[0139] It is easy to understand that, in other cases, for any two disks selected (including data disks and / or parity disks) as error correction and verification disks, the corresponding formulas can be derived as the verification rules for each error correction and verification disk.

[0140] In another example, suppose the first rule is equation (5) above, the second rule is equations (6) and (7) above, and suppose the selected error correction check disks are check disk P, check disk Q, and check disk R. Based on equations (5) to (7) above, the calculation is performed. After the calculation, the check disks can be obtained. (P) (Q) The formula for calculating (R), for example:

[0141]

[0142]

[0143]

[0144] It is easy to understand that, in other cases, for any three disks selected (including data disks and / or parity disks) as error correction and verification disks, the corresponding formulas can be derived as the verification rules for each error correction and verification disk.

[0145] It should be noted that the above are only examples of k=2 and k=3. In actual applications, if the disk array has more than 3 parity disks, k can also be equal to m, that is, greater than or equal to 3. The corresponding verification rules for the error correction parity disks can be derived, and the abnormal data processing method provided in this embodiment can be used.

[0146] In some embodiments, the method further includes:

[0147] If the abnormal data is located and recovered in the first stripe with an anomaly according to the processing strategy, the abnormal physical disk is determined based on the abnormal data location result of the first stripe.

[0148] Based on the abnormal physical disk, locate the abnormal data in at least one second stripe;

[0149] Based on the abnormal data location results of each second strip, abnormal data recovery is performed on each second strip.

[0150] In some embodiments, based on the abnormal physical disk, abnormal data localization is performed on at least one second stripe, including: determining the target disk corresponding to the abnormal physical disk in each second stripe;

[0151] The step of restoring abnormal data for each second band based on the abnormal data location results of each second band includes:

[0152] The error correction verification disk is determined based on the target disk, and other disks besides the target disk are used as error correction data disks;

[0153] Anomaly location and recovery are performed based on the error correction verification disk and the error correction data disk.

[0154] Here, we consider that if a physical disk fails, the entire contents of that physical disk will typically be compromised. If abnormal data is identified based on a specific stripe, such as abnormal data in the first stripe, the physical disk where the failure occurred can be determined based on the location of the abnormal data in the first stripe. This physical disk may also store data disks and / or parity disks from other stripes.

[0155] Therefore, after identifying the faulty physical disk, abnormal data can be located in at least one second stripe (all stripes other than the first stripe). This is because, based on the above principles regarding faulty physical disks, it is believed that the second stripe may contain data disks and / or parity disks related to the faulty physical disk.

[0156] Here, based on the abnormal physical disk, the abnormal data location for at least one second stripe can be performed by first using the target disk (which can be a data disk and / or a check disk) actually on the abnormal physical disk as the error correction check disk (if the number of abnormal physical disks is less than k, any other disk can be used as the error correction check disk), and using the other disks as error correction data disks for abnormal data location. If this location fails, other rounds of abnormal data location are performed. In this way, the efficiency of abnormal data location and recovery on the second stripe can be improved.

[0157] The method provided in this disclosure provides a basis for data repair by locating the disk containing abnormal data when RAID stripes are inconsistent. After determining the disk containing the abnormal data, the user's abnormal data can be correctly repaired, greatly improving the security of user data. Furthermore, the above method can be used in both hardware and software design in the storage field, and has a wide range of applications.

[0158] Figure 7 A schematic diagram of the structure of an abnormal data processing method provided in an embodiment of this disclosure; as shown Figure 7 As shown, the method includes:

[0159] Step 701: Select k disks as error correction verification disks and the remaining disks as error correction data disks, and increment the selection count by 1;

[0160] In Example 1, this method can be applied to a RAID6 disk array, where each stripe has 2 parity disks and n data disks, resulting in a total of n+2 disks. Here, k=2.

[0161] In Example 2, this method can be applied to a RAID TP disk array, where each stripe has 3 parity disks and n data disks, resulting in a total of n+3 disks. Here, k=3.

[0162] Step 702: Determine if the number of selections is greater than M; if it is greater than M, proceed to step 707; otherwise, proceed to step 703.

[0163] In Example 1, this method can be applied to a RAID 6 disk array, where each stripe has 2 parity disks and n data disks, resulting in a total of n+2 disks. Here, M = .

[0164] In Example 2, this method can be applied to a RAID TP disk array, where each stripe has 3 parity disks and n data disks, resulting in a total of n+3 disks. Here, M = .

[0165] Step 703: Use the error correction data disk to calculate the data of the selected error correction verification disk, obtain the calculated data, and compare the calculated data with the original data of the error correction verification disk;

[0166] Step 704: Determine whether the target conditions are met based on the comparison results; if the target conditions are met, proceed to step 705; if the target conditions are not met, return to step 701.

[0167] Here, the raw data in each selected disk (i.e., each error correction check disk) is compared with the corresponding calculated data. If the comparison results of some error correction check disks are the same (i.e., the raw data and calculated data of the error correction check disk are the same), and the comparison results of others are different, then the target condition is considered to be met; if they are all different, then the target condition is considered not met.

[0168] Step 705: Designate the error correction and verification disk that differs from the calculated data as the disk containing the abnormal data;

[0169] Here, a disk containing abnormal data is one where the original data differs from the calculated data.

[0170] Step 706: Write the calculated data to the error correction and verification disk, overwriting the original data;

[0171] Here, the calculated data is written to the corresponding disk, overwriting the abnormal data, thus repairing the user data.

[0172] Step 707: Determine that the number of disks containing abnormal data is greater than or equal to the number of check disks.

[0173] The above two examples illustrate the selection of k error correction and verification disks.

[0174] In Example 1, referring to formulas (1) and (2) above, we assume that the two disks selected this time are and ,Will and As an error correction and verification disk, from formula (1) and formula (2), we can derive... and The calculation formula is:

[0175]

[0176]

[0177] When two other disks are selected as error correction check disks, the calculation formula is the same, and the formula corresponding to each error correction check disk can also be obtained, for example, formula (11), formula (12), or formula (3), formula (4), which will not be repeated.

[0178] In Example 2, referring to formulas (5), (6), and (7) above, let's assume that the three disks selected this time are... , and ,Will , and As an error correction and verification disk, from formulas (5), (6), and (7), we can derive... , and The calculation formula is:

[0179]

[0180]

[0181]

[0182] When the other three disks are selected as error correction check disks, the calculation formula is the same, and the formula corresponding to each error correction check disk can also be obtained, for example, formula (13), formula (14), formula (15), or formula (8), formula (9) and formula (10), which will not be repeated here.

[0183] Here's a specific example: Consider a RAID TP array consisting of 8 disks, 5 data disks and 3 parity disks. Assume that in the first stripe, disks 1 and 4 experience data anomalies (numbering starts from 0; at this point, it's unknown whether disks 1 and 4 are the ones with the anomalies). Figure 8 As shown.

[0184] The first round of abnormal data processing includes:

[0185] Get disk , , As an error correction and verification disk, the disk... , P, Q, and R are used as data disks, using the disk... , P, Q, and R are used to calculate new data using the algorithm described above. , , .

[0186] Compare and , and , and ,because There is abnormal data, therefore the calculation is... , , All the data is incorrect, therefore the comparison result is as follows: Figure 9 As shown, and Not equal, and Not equal, and They are not equal. Proceed to the next round of calculations.

[0187] The second round of abnormal data processing includes:

[0188] Get disk , , Treat them as verification disks, and put the disks , P, Q, and R are used as data disks, using the disk... , P, Q, and R are used to calculate new data using the algorithm described above. , , .

[0189] Compare and , and , and ,because There is abnormal data, therefore the calculation is... , , All the data is incorrect, therefore the comparison result is as follows: Figure 10 As shown, and Not equal, and Not equal, and They are not equal. Proceed to the next round of calculations.

[0190] The third round of abnormal data processing includes:

[0191] Get disk , , Treat them as verification disks, and put the disks , P, Q, and R are used as data disks, using the disk... , P, Q, and R are used to calculate new data using the algorithm described above. , , .

[0192] Compare and , and , and ,because , There are no outliers in P, Q, and R, therefore the calculated values ​​are... , , All data is correct. And because... This is normal data. , The data contains outliers, therefore the comparison results are as follows: Figure 11 As shown, and equal, and Not equal, and They are not equal.

[0193] It can be confirmed that in this RAID6 array, two disks contain abnormal data, namely... and Calculated , All data is correct. , Write to the corresponding disk and overwrite. , The data was used to fix the user data.

[0194] Figure 12 This is a schematic diagram of the structure of an abnormal data processing device provided in an embodiment of the present disclosure; as shown below. Figure 12 As shown, the device is applied to a disk array, and the device includes:

[0195] The first processing module is used to obtain information about the disk array in response to an exception handling request;

[0196] The second processing module is used to determine the number of parity disks based on the information of the disk array, and to determine a processing strategy based on the number of parity disks; different processing strategies are adopted depending on the number of parity disks in the disk array; the number of parity disks is greater than the number of error correction parity disks used in the processing strategy.

[0197] The third processing module is used to locate and recover abnormal strips according to the processing strategy.

[0198] In some embodiments, the first processing module is used to obtain the number of data disks and the number of parity disks included in each stripe of the disk array;

[0199] Determine the target rules corresponding to the stripes containing n data disks and m parity disks.

[0200] In some embodiments, the second processing module is configured to determine the number of error correction verification disks based on the number of verification disks;

[0201] The total number of error corrections is determined based on the total number of verification disks and data disks, as well as the number of error correction verification disks.

[0202] Select the error correction check disk and error correction data disk to be used in each error correction round from the data disk and check disk of the strip;

[0203] The error correction verification disk used in each of the error correction rounds is different.

[0204] In some embodiments, the third processing module is used to determine the verification rule corresponding to the error correction verification disk according to the target rule corresponding to the strip;

[0205] Error correction calculations are performed based on the verification rules and the error correction data disk to obtain the error correction result;

[0206] Determine whether the error correction result meets the target condition. If the error correction result meets the target condition, restore the abnormal data according to the error correction result. If the error correction result does not meet the target condition, proceed to the next error correction round for error correction calculation until the abnormal data is restored or until the total number of error corrections is reached.

[0207] In some embodiments, the number of error correction verification disks is k, where k is greater than or equal to 1;

[0208] The error correction result satisfies the target condition, including:

[0209] The k error correction check disks include kp first error correction check disks and p second error correction check disks; where p is greater than or equal to 1;

[0210] Wherein, the first data of the first error correction check disk is different from the second data of the first error correction check disk;

[0211] The first data of the second error correction check disk is the same as the second data of the second error correction check disk;

[0212] The first data is the original data of the error correction verification disk, and the second data is the data calculated based on each error correction data disk using the verification rules corresponding to the error correction verification disk.

[0213] In some embodiments, the third processing module is used to replace the first data of the kp first error correction verification disks with the second data.

[0214] In some embodiments, the disk array includes at least one stripe, each stripe including n data disks and m parity disks, where n is greater than or equal to 1 and m is greater than or equal to 1;

[0215] The third processing module is used to determine the number of error correction and verification disks as k, where k=m;

[0216] According to the permutation and combination rules, determine the number of times to select k different disks from the total number of the verification disks and data disks.

[0217] In some embodiments, the third processing module is configured to select any k disks from the data disks and check disks of the stripe as the error correction check disks;

[0218] The disks other than the aforementioned k disks are identified as error correction data disks; the aforementioned k disks include data disks and / or parity disks.

[0219] In some embodiments, the third processing module is further configured to prompt an error message if the abnormal data is not recovered until the total number of error corrections is reached, the error message indicating that there are at least k+1 abnormal data.

[0220] In some embodiments, the number of verification disks is m, and the target rule includes: a first rule and m-1 second rules;

[0221] The first rule indicates that the sum of the values ​​of each disk within the strip is 0;

[0222] The second rule indicates that the sum of the product of the target number of each disk within the stripe and the constant corresponding to the disk is 0; the target number indicates the original data of the disk, or the target operation result of the original data;

[0223] The second processing module is used to construct the verification rules corresponding to each of the m error correction verification disks based on the first rule and m-1 second rules.

[0224] In some embodiments, the third processing module is further configured to perform abnormal data location and abnormal data recovery on the first stripe with an anomaly according to the processing strategy, and determine the abnormal physical disk according to the abnormal data location result of the first stripe.

[0225] Based on the abnormal physical disk, locate the abnormal data in at least one second stripe;

[0226] Based on the abnormal data location results of each second strip, abnormal data recovery is performed on each second strip.

[0227] In some embodiments, the third processing module is used to determine the target disk corresponding to the physical disk of the anomaly in each second stripe;

[0228] The step of restoring abnormal data for each second band based on the abnormal data location results of each second band includes:

[0229] The error correction verification disk is determined based on the target disk, and other disks besides the target disk are used as error correction data disks;

[0230] Anomaly location and recovery are performed based on the error correction verification disk and the error correction data disk.

[0231] It is understood that, when implementing the corresponding abnormal data processing method, the abnormal data processing apparatus provided in the above embodiments can allocate the above processing to different program modules as needed to complete all or part of the processing described above. Furthermore, the apparatus and corresponding method embodiments provided in the above embodiments belong to the same concept, and their specific implementation process is detailed in the method embodiments, which will not be repeated here.

[0232] This application provides a computer program product or computer program that includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform a data processing method.

[0233] This application provides a computer-readable storage medium storing executable instructions, wherein the executable instructions are executed by a processor, causing the processor to execute the data processing method provided in this application.

[0234] In some embodiments, the computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or it may be a variety of devices including one or any combination of the above-mentioned memories.

[0235] In some embodiments, executable instructions may take the form of a program, software, software module, script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.

[0236] As an example, executable instructions may, but do not necessarily, correspond to files in a file system. They may be stored as part of a file that holds other programs or data, for example, in one or more scripts in a Hyper Text Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple collaborating files (e.g., a file that stores one or more modules, subroutines, or code sections).

[0237] As an example, executable instructions can be deployed to execute on a single computing device, or on multiple computing devices located in one location, or on multiple computing devices distributed across multiple locations and interconnected via a communication network.

[0238] Figure 13 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure; as shown below. Figure 13 As shown, the electronic device 130 includes: a processor 1301, and a memory 1302 communicatively connected to the processor 1301; the memory 1302 stores instructions executable by the processor 1301. The instructions are executed by the processor 1301 to enable the processor 1301 to perform:

[0239] In response to an exception handling request, obtain information about the disk array;

[0240] The number of parity disks is determined based on the information of the disk array, and a processing strategy is determined based on the number of parity disks; different processing strategies are adopted depending on the number of parity disks in the disk array; the number of parity disks is greater than the number of error correction parity disks used in the processing strategy.

[0241] According to the processing strategy, abnormal data location and recovery are performed on strips with abnormalities.

[0242] The electronic devices and corresponding abnormal data processing methods provided in the above embodiments belong to the same concept, and their specific implementation process can be found in the method embodiments, which will not be repeated here.

[0243] In practical applications, the electronic device 130 may further include at least one network interface 1303. The various components of the electronic device 130 are coupled together via a bus system 1304. It is understood that the bus system 1304 is used to implement communication between these components. In addition to a data bus, the bus system 1304 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 13All buses are labeled as bus system 1304. The number of processors 1301 can be at least one, and the number of memories 1302 can be at least one. Network interface 1303 is used for wired or wireless communication between electronic device 130 and other devices.

[0244] The memory 1302 in this embodiment is used to store various types of data to support the operation of the electronic device 130.

[0245] The methods disclosed in the above embodiments of this disclosure can be applied to processor 1301, or implemented by processor 1301. Processor 1301 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the integrated logic circuit of the hardware in processor 1301 or by instructions in the form of software. The processor 1301 may be a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Processor 1301 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this disclosure. The general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the methods disclosed in the embodiments of this disclosure can be directly manifested as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor. The software modules may be located in a storage medium, which is located in memory 1302. Processor 1301 reads the information in memory 1302 and, in conjunction with its hardware, completes the steps of the aforementioned data processing method.

[0246] In some embodiments, the electronic device 130 may be implemented by one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers (MCUs), microprocessors, or other electronic components to perform the aforementioned methods.

[0247] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.

[0248] In the above description, the term "some embodiments" refers to a subset of all possible embodiments. However, it is understood that "some embodiments" may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0249] Unless otherwise defined, all technical and scientific terms used in this disclosure have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. The terminology used in this disclosure is for the purpose of describing embodiments of this disclosure only and is not intended to be limiting of this disclosure.

[0250] It should be understood that in the various embodiments of this disclosure, the sequence number of each implementation process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this disclosure.

[0251] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this disclosure, "a plurality of" means two or more, unless otherwise explicitly specified.

[0252] The above description is merely a specific embodiment of this disclosure, but the scope of protection of this disclosure is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this disclosure should be included within the scope of protection of this disclosure. Therefore, the scope of protection of this disclosure should be determined by the scope of the claims.

Claims

1. An abnormal data processing method, characterized in that, The method is applied to a disk array, and the method includes: In response to an exception handling request, obtain information about the disk array; The number of parity disks is determined based on the information of the disk array, and a processing strategy is determined based on the number of parity disks; different processing strategies are adopted depending on the number of parity disks in the disk array; the number of parity disks is greater than the number of error correction parity disks used in the processing strategy. According to the processing strategy, abnormal data location and abnormal data recovery are performed on the strips with abnormality; The processing strategy is determined based on the number of verification disks, including: The number of error correction verification disks is determined based on the number of verification disks; The total number of error corrections is determined based on the total number of verification disks and data disks, as well as the number of error correction verification disks. Select the error correction check disk and error correction data disk to be used in each error correction round from the data disk and check disk of the strip; The error correction verification disk used in each error correction round is different; The step of locating and recovering abnormal data for stripes with anomalies according to the processing strategy includes: Based on the target rule corresponding to the strip, determine the verification rule corresponding to the error correction verification disk; Error correction calculations are performed based on the verification rules and the error correction data disk to obtain the error correction result; Determine whether the error correction result meets the target condition. If the error correction result meets the target condition, restore the abnormal data according to the error correction result. If the error correction result does not meet the target condition, proceed to the next error correction round for error correction calculation until the abnormal data is restored or until the total number of error corrections is reached.

2. The method according to claim 1, characterized in that, The process of obtaining information about the disk array includes: Obtain the number of data disks and parity disks included in each stripe of the disk array; Determine the target rules corresponding to the stripes containing n data disks and m parity disks.

3. The method according to claim 1, characterized in that, The number of error correction verification disks is k, where k is greater than or equal to 1; The error correction result satisfies the target condition, including: The k error correction check disks include kp first error correction check disks and p second error correction check disks; where p is greater than or equal to 1; Wherein, the first data of the first error correction check disk is different from the second data of the first error correction check disk; The first data of the second error correction check disk is the same as the second data of the second error correction check disk; The first data is the original data of the error correction verification disk, and the second data is the data calculated based on each error correction data disk using the verification rules corresponding to the error correction verification disk.

4. The method according to claim 3, characterized in that, The step of restoring abnormal data based on the error correction result includes: Replace the first data of the kp first error correction check disks with the second data.

5. The method according to claim 1, characterized in that, The disk array includes at least one stripe, and each stripe includes n data disks and m parity disks, where n is greater than or equal to 1 and m is greater than or equal to 1. Determining the number of error correction check disks based on the number of check disks includes: determining the number of error correction check disks as k, where k=m; The total number of error corrections is determined based on the total number of verification disks and data disks, as well as the number of error correction verification disks. This includes determining the number of times to select k different disk combinations from the total number of verification disks and data disks, according to permutation and combination rules.

6. The method according to claim 5, characterized in that, Selecting the error correction check disk and error correction data disk for each error correction round from the data disk and check disk of the stripe includes: Select any k disks from the data disks and check disks of the stripe as the error correction check disks; The disks other than the aforementioned k disks are identified as error correction data disks; the aforementioned k disks include data disks and / or parity disks.

7. The method according to claim 1, characterized in that, If the abnormal data is not recovered after reaching the total number of error correction attempts, the method further includes: An error message is displayed, indicating that there are at least k+1 abnormal data.

8. The method according to claim 1, characterized in that, The number of verification disks is m, and the target rules include: a first rule and m-1 second rules; The first rule indicates that the sum of the values ​​of each disk within the strip is 0; The second rule indicates that the sum of the product of the target number of each disk within the stripe and the constant corresponding to the disk is 0; the target number indicates the original data of the disk, or the target operation result of the original data; Based on the target rules corresponding to the stripes, the verification rules corresponding to the error correction verification disk are determined, including: Based on the first rule and m-1 second rules, construct the verification rules corresponding to each of the m error correction verification disks.

9. The method according to claim 1, characterized in that, The method further includes: If the abnormal data is located and recovered in the first stripe with an anomaly according to the processing strategy, the abnormal physical disk is determined based on the abnormal data location result of the first stripe. Based on the abnormal physical disk, locate the abnormal data in at least one second stripe; Based on the abnormal data location results of each second strip, abnormal data recovery is performed on each second strip.

10. The method according to claim 9, characterized in that, Based on the abnormal physical disk, perform abnormal data location on at least one second stripe, including: determining the target disk corresponding to the abnormal physical disk in each second stripe; The step of restoring abnormal data for each second band based on the abnormal data location results of each second band includes: The error correction verification disk is determined based on the target disk, and other disks besides the target disk are used as error correction data disks; Anomaly location and recovery are performed based on the error correction verification disk and the error correction data disk.

11. An abnormal data processing device, characterized in that, The device is used in a disk array, and the device includes: The first processing module is used to obtain information about the disk array in response to an exception handling request; The second processing module is used to determine the number of parity disks based on the information of the disk array, and to determine a processing strategy based on the number of parity disks; different processing strategies are adopted depending on the number of parity disks in the disk array; the number of parity disks is greater than the number of error correction parity disks used in the processing strategy. The third processing module is used to locate and recover abnormal strips according to the processing strategy. The second processing module is used to determine the number of error correction verification disks based on the number of verification disks; The total number of error corrections is determined based on the total number of verification disks and data disks, as well as the number of error correction verification disks. Select the error correction check disk and error correction data disk to be used in each error correction round from the data disk and check disk of the strip; The error correction verification disk used in each error correction round is different; The third processing module is used to determine the verification rule corresponding to the error correction verification disk according to the target rule corresponding to the strip; Error correction calculations are performed based on the verification rules and the error correction data disk to obtain the error correction result; Determine whether the error correction result meets the target condition. If the error correction result meets the target condition, restore the abnormal data according to the error correction result. If the error correction result does not meet the target condition, proceed to the next error correction round for error correction calculation until the abnormal data is restored or until the total number of error corrections is reached.

12. An electronic device, characterized in that, include: At least one processor; And a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform any one of the abnormal data processing methods of claims 1 to 10.

13. A non-transitory computer-readable storage medium storing computer instructions, characterized in that, The computer instructions are used to cause the computer to execute any one of the abnormal data processing methods according to claims 1 to 10.

Citation Information

Patent Citations

  • Data error correction method, device and equipment based on RDP erasure algorithm and medium

    CN114333917A

  • Data recovery method, device and system, electronic equipment and storage medium

    CN116501553A