Method and control system for maintaining consistency of striped data redundancy groups
Patent Information
- Application Number
- CN202310432540.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-04-20
- Publication Date
- 2026-09-08
- Estimated Expiration
- 2043-04-20
AI Technical Summary
目前,对于条带化数据冗余组的数据一致性维护通常需要读取条带化数据冗余组的每份数据,即数据读取量较大,影响一致性检查效率
[0041] This application addresses the consistency maintenance of striped data redundancy groups by eliminating the need to read every single piece of data within the group. Instead, it requires reading only a number of redundant data sets and the original data corresponding to the baseline data tags to achieve the striping check. This reduces the number of data sets that need to be read for consistency checks and improves the efficiency of consistency maintenance. Specifically, the process involves: obtaining several sets of redundant data from the striped data redundancy group through the storage node; determining whether the redundant data tags of these sets are identical; if all redundant data tags are identical, determining the original data based on the redundant data tags and verifying whether the original data tags of the original data are the same as the redundant data tags; if the redundant data tags are different or the original data tags are different from the redundant data tags, pre-setting a baseline data tag, obtaining the original data corresponding to the baseline data tag, and determining the data to be repaired in the striped data redundancy group based on the baseline data tag; pre-setting repair rules based on the number of data sets to be repaired, repairing the data according to the repair rules, and then sending it to the storage node. The maintenance method described in this application can promptly detect data inconsistencies in striped data redundancy groups and promptly repair the corresponding striped data redundancy groups, further ensuring the consistency of striped data redundancy groups.
Smart Images

Figure CN116466889B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of data storage technology, and in particular to a method and control system for maintaining the consistency of striped data redundancy groups. Background Technology
[0002] In distributed storage systems, the cluster size and the amount of data it carries are relatively large, making hardware failures unavoidable during the system's operation. To ensure high data availability—that is, to prevent data loss in the event of hardware failure within a certain tolerance range—distributed storage systems must employ data redundancy strategies for data protection. Erasure coding, a commonly used data redundancy strategy, offers higher storage utilization under the same fault tolerance conditions compared to multi-replica strategies.
[0003] Erasure coding primarily divides user data into multiple equal-sized original data sets. Then, using erasure coding techniques, it generates several redundant data sets, forming a striped data redundancy group. If any data set is lost within this striped data redundancy group, the original data can be reconstructed through decoding, thus achieving data redundancy protection.
[0004] Within the same striped data redundancy group, there is a requirement to ensure data consistency between the original data and the redundant data. For erasure coding technology, data consistency means that the redundant data calculated after erasure coding of the original data is identical to the actually stored redundant data. Currently, maintaining data consistency for striped data redundancy groups typically requires reading every single piece of data in the striped data redundancy group, resulting in a large amount of data reading and impacting the efficiency of consistency checks. Summary of the Invention
[0005] In view of this, this application proposes a consistency maintenance method and control system for striped data redundancy groups to solve the above problems.
[0006] This application proposes a method for maintaining the consistency of striped data redundancy groups, including the following steps:
[0007] Obtain several redundant data sets from the striped data redundancy group through the storage node;
[0008] Determine whether the redundant data labels of several sets of redundant data are completely identical;
[0009] When several sets of redundant data tags are identical, the original data is determined based on the redundant data tags, and it is determined whether the original data tags of the original data are the same as the redundant data tags.
[0010] When several redundant data labels are different or the original data label is different from the redundant data label, a baseline data label is preset, the original data corresponding to the baseline data label is obtained, and the data to be repaired in the striped data redundancy group is determined by the baseline data label.
[0011] Based on the number of copies of the data to be repaired, a repair rule is preset, and the data to be repaired is repaired according to the repair rule and then sent to the storage node.
[0012] As an optional implementation of this application, when several sets of redundant data tags are identical, determining the original data based on the redundant data tags and determining whether the original data tags of the original data are the same as the redundant data tags includes:
[0013] When several sets of redundant data tags are identical, the original data sequence number of the striped data redundancy group that was most recently written and overwritten is determined based on the redundant data tags.
[0014] Read the original data involved in the striped data redundancy group according to the original data sequence number;
[0015] The redundant data label is compared with the original data label of the original data involved in the striped data redundancy group to determine whether the redundant data label and the original data label are the same.
[0016] As an optional implementation of this application, optionally, comparing the redundant data tag with the original data tag of the original data involved in the striped data redundancy group to determine whether the redundant data tag and the original data tag are the same further includes:
[0017] The original data labels of the original data involved in the striped data redundancy group are all compared with the redundant data labels;
[0018] Determine whether all the original data tags are the same as the redundant data tags;
[0019] If so, then the data in the striped data redundancy group is consistent;
[0020] If not, then the data in the striped data redundancy group is repaired.
[0021] As an optional implementation of this application, optionally, when several sets of redundant data tags are different or the original data tags are different from the redundant data tags, a baseline data tag is preset, the original data corresponding to the baseline data tag is obtained, and the data to be repaired in the striped data redundancy group is determined through the baseline data tag, including:
[0022] When several sets of redundant data tags are different, or when the original data tag is different from the redundant data tag, a baseline data tag is preset;
[0023] Obtain the set of original data sequence numbers of the baseline data tag records, and obtain the corresponding original data through the set of original data sequence numbers;
[0024] The original data labels and redundant data labels of the acquired original data are compared with the baseline data labels to determine the data to be repaired in the striped redundant data group.
[0025] As an optional implementation of this application, the preset reference data label may optionally include:
[0026] When several sets of redundant data tags are different, the baseline data tag is the redundant data tag with the highest number of startups and hardware running time;
[0027] When several sets of redundant data labels are identical, and the original data label and the redundant data label are different, the redundant data label is the reference data label.
[0028] As an optional implementation of this application, optionally, the original data tags and redundant data tags of the corresponding acquired original data are compared with the baseline data tags to determine the data to be repaired in the striped redundant data group, including:
[0029] The original data labels and redundant data labels of the corresponding acquired original data are compared with the reference data labels to determine whether they are the same as the reference data labels;
[0030] The original data labels that are the same as the baseline data labels and the redundant data labels are placed in the sameIdset, and the different ones are placed in the diffIdset;
[0031] A preset comparison rule is used to compare the sameIdset and the diffIdset according to the comparison rule to determine the data to be repaired in the striped data redundancy group.
[0032] As an optional implementation of this application, the comparison rule may be to compare the number of data copies in the sameIdset and the diffIdset. If the number of data copies in the sameIdset is less than the number of data copies in the diffIdset, then the data in the sameIdset is data to be repaired; otherwise, the data in the diffIdset is data to be repaired.
[0033] As an optional implementation of this application, optionally, a repair rule is preset based on the number of data copies of the data to be repaired, and the data to be repaired is repaired according to the repair rule and then sent to the storage node, including:
[0034] When the number of copies of the data to be repaired is less than or equal to the number of copies of the redundant data, read the other data in the striped data redundancy group except for the data to be repaired, restore the data to be repaired based on the other data, and then send it to the storage node;
[0035] When the number of copies of the data to be repaired is greater than the number of copies of the redundant data, several new copies of redundant data are generated using the original data of the striped data redundancy group, and the new redundant data are sent to the storage node.
[0036] In another aspect, this application proposes a control system, comprising:
[0037] processor;
[0038] Memory used to store processor-executable instructions;
[0039] The processor is configured to implement the consistency maintenance method for striped data redundancy groups as described above when executing the executable instructions.
[0040] Technical effects of the present invention:
[0041] This application addresses the consistency maintenance of striped data redundancy groups by eliminating the need to read every single piece of data within the group. Instead, it requires reading only a number of redundant data sets and the original data corresponding to the baseline data tags to achieve the striping check. This reduces the number of data sets that need to be read for consistency checks and improves the efficiency of consistency maintenance. Specifically, the process involves: obtaining several sets of redundant data from the striped data redundancy group through the storage node; determining whether the redundant data tags of these sets are identical; if all redundant data tags are identical, determining the original data based on the redundant data tags and verifying whether the original data tags of the original data are the same as the redundant data tags; if the redundant data tags are different or the original data tags are different from the redundant data tags, pre-setting a baseline data tag, obtaining the original data corresponding to the baseline data tag, and determining the data to be repaired in the striped data redundancy group based on the baseline data tag; pre-setting repair rules based on the number of data sets to be repaired, repairing the data according to the repair rules, and then sending it to the storage node. The maintenance method described in this application can promptly detect data inconsistencies in striped data redundancy groups and promptly repair the corresponding striped data redundancy groups, further ensuring the consistency of striped data redundancy groups.
[0042] Other features and aspects of this disclosure will become clear from the following detailed description of exemplary embodiments with reference to the accompanying drawings. Attached Figure Description
[0043] The accompanying drawings, which are included in and form part of this specification, illustrate exemplary embodiments, features, and aspects of this disclosure together with the specification and serve to explain the principles of this disclosure.
[0044] Figure 1 The diagram shown illustrates the consistency maintenance method for striped data redundancy groups according to the present invention.
[0045] Figure 2 The diagram illustrates the implementation flow of the consistency maintenance method for the data redundancy group in this embodiment of the application. Detailed Implementation
[0046] Various exemplary embodiments, features, and aspects of this disclosure will now be described in detail with reference to the accompanying drawings. The same reference numerals in the drawings denote elements that have the same or similar functions. Although various aspects of the embodiments are shown in the drawings, they are not necessarily drawn to scale unless specifically indicated otherwise.
[0047] The term “exemplary” as used herein means “serving as an example, embodiment, or illustration.” Any embodiment illustrated herein as “exemplary” is not necessarily to be construed as superior to or better than other embodiments.
[0048] Furthermore, to better illustrate this disclosure, numerous specific details are set forth in the following detailed description. Those skilled in the art will understand that this disclosure can be practiced without certain specific details. In some instances, methods, means, components, and circuits well known to those skilled in the art have not been described in detail in order to highlight the main points of this disclosure.
[0049] Example 1
[0050] like Figure 1 As shown, this application proposes a method for maintaining the consistency of striped data redundancy groups, comprising the following steps:
[0051] S100: Obtain several redundant data sets from the striped data redundancy group through the storage node;
[0052] S200: Determine whether the redundant data labels of several sets of redundant data are completely identical;
[0053] S300. When several sets of redundant data tags are identical, determine the original data based on the redundant data tags, and determine whether the original data tags of the original data are the same as the redundant data tags.
[0054] S300' When several redundant data labels are different or the original data label is different from the redundant data label, a baseline data label is preset, the original data corresponding to the baseline data label is obtained, and the data to be repaired in the striped data redundancy group is determined by the baseline data label.
[0055] S400. Based on the number of data copies of the data to be repaired, preset repair rules are established, and the data to be repaired is repaired according to the repair rules and then sent to the storage node.
[0056] In this embodiment, for the consistency maintenance of striped data redundancy groups, it is not necessary to read every piece of data in the striped data redundancy group. Only a few pieces of redundant data and the original data corresponding to the baseline data tags are needed to achieve the purpose of striping check, reducing the number of data pieces that need to be read for the consistency check of the striped data redundancy group and improving the efficiency of consistency maintenance. Specifically, the consistency maintenance method for the striped data redundancy group includes: S100, obtaining several pieces of redundant data from the striped data redundancy group through storage nodes. Here, it should be noted that a storage node is selected from the cluster storage nodes as the task execution node for consistency maintenance, i.e., consistency check and repair. That is, several pieces of redundant data from the striped data redundancy group are read through the storage node acting as the task execution node, such as reading m pieces of redundant data from the striped data redundancy group.
[0057] After acquiring several sets of redundant data, step S200 determines whether the redundant data labels of the several sets of redundant data are completely identical. It should be noted that if all the redundant data labels in the m sets of redundant data are identical, then step S300 determines the original data based on the redundant data labels, and further determines whether the original data labels of the original data are the same as the redundant data labels. If the data labels of each set of original data and the redundant data labels are identical, it indicates that the data in the striped data redundancy group is consistent. If the original data labels and the redundant data labels are different, or if the several sets of redundant data labels are not completely identical, then step S300' presets a baseline data label, acquires the original data corresponding to the baseline data label, and determines the data to be repaired in the striped data redundancy group based on the baseline data label. It should be noted that when the m sets of redundant data labels are different, the preset baseline data label is the redundant data label with the highest number of startups and hardware running time. When the m sets of redundant data labels are identical, but the original data label corresponding to the original data determined in step S300 is different from the redundant data label, the redundant data label is the preset baseline data label. It should be noted that the data tag includes the number of times the cluster storage node has been started and the number of seconds the cluster storage node has been running since its most recent start. The running time in seconds can be directly taken from the value of the hardware's running clock. In other words, the hardware running time is the number of seconds the cluster storage node has been running since its most recent start, which is included in the data tag.
[0058] Once the data to be repaired in the striped data redundancy group is determined, in step S400, a repair rule is preset based on the number of data copies of the data to be repaired, and the data to be repaired is repaired according to the repair rule and then sent to the storage node.
[0059] Therefore, the consistency maintenance method for striped data redundancy groups in this embodiment of the present disclosure can realize the judgment and inspection of the consistency of striped data redundancy groups by reading several copies of redundant data and the original data corresponding to the base data labels. In other words, it is not necessary to check every copy of data in the striped data redundancy group, which effectively reduces the number of data copies that need to be read for consistency checks and is more efficient.
[0060] As an optional implementation of this application, optionally, in step S300, when several sets of redundant data tags are all the same, the original data is determined based on the redundant data tags, and it is determined whether the original data tags of the original data are the same as the redundant data tags, including:
[0061] S310. When several sets of the redundant data are identical, determine the original data sequence number that was most recently written and overwritten by the striped data redundancy group based on the redundant data label.
[0062] S320. Read the original data involved in the striped data redundancy group according to the original data sequence number;
[0063] S330. Compare the redundant data tag with the original data tag of the original data in step S320 to determine whether the redundant data tag and the original data tag are the same.
[0064] Furthermore, as an optional embodiment of this application, optionally, in step S330, comparing the redundant data tag with the original data tag of the original data in step S320 to determine whether the redundant data tag and the original data tag are the same further includes:
[0065] S331. Compare the original data labels of the original data described in step S320 with the redundant data labels;
[0066] S332. Determine whether all the original data tags are the same as the redundant data tags;
[0067] S333. If so, the data in the striped data redundancy group is consistent;
[0068] S334. If not, then repair the data of the striped data redundancy group.
[0069] In this embodiment, after determining that several redundant data tags are identical, the system further determines whether the original data tags obtained through the redundant data are identical to the redundant data tags, thereby performing a consistency check on the striped data redundancy group. Specifically, the system determines the original data sequence number covered by the most recently written data in the striped data redundancy group based on the redundant data tags. When m redundant data tags are identical, the storage node, acting as the task execution node, determines the original data sequence number covered by the most recently written data in the striped data redundancy group based on the updateIds in the redundant data tags. It should be noted that the redundant data tags include updateIds, which are used to record the sequence number information of the original data in the striped data redundancy group involved in the writing process, i.e., the original data sequence number. Several original data sets corresponding to the original data sequence numbers within the striped data redundancy group are read based on the original data sequence numbers. For each original data set, the original data tag is compared one by one with the redundant data tags. If each original data tag is consistent with the redundant data tags, the data in the striped data redundancy group is consistent. If the original data tags are inconsistent with the redundant data tags, consistency repair of the striped data redundancy group is required.
[0070] As an optional implementation of this application, optionally, in step S300', when several sets of redundant data tags are different or the original data tags are different from the redundant data tags, a reference data tag is preset, the original data corresponding to the reference data tag is obtained, and the data to be repaired in the striped data redundancy group is determined through the reference data tag, including:
[0071] S310' When several redundant data tags are different, or when the original data tag is different from the redundant data tag, a baseline data tag is preset;
[0072] S320' Obtain the set of original data sequence numbers of the reference data tag record, and obtain the corresponding original data through the set of original data sequence numbers;
[0073] S330': Compare the original data tags and redundant data tags of the original data obtained in step S320' with the reference data tags to determine the data to be repaired in the striped redundant data group.
[0074] Furthermore, as an optional embodiment of this application, optionally, in step S310', a preset reference data label is included, including:
[0075] S311' When several sets of redundant data tags are different, the reference data tag is the redundant data tag with the largest number of startups and the largest hardware running time;
[0076] S312' When several redundant data tags are identical, and the original data tag and the redundant data tag in step S310' are different, the redundant data tag is the reference data tag.
[0077] Furthermore, as an optional embodiment of this application, optionally, in step S330', the original data tags and redundant data tags of the original data obtained in step S320' are compared with the reference data tags to determine the data to be repaired in the striped redundant data group, including:
[0078] S331' Compare the original data label and the redundant data label of the original data obtained in step S320' with the reference data label to determine whether they are the same as the reference data label;
[0079] S332': Place the original data label and the redundant data label that are the same as the reference data label in step S331' into sameIdset, and the different ones into diffIdset;
[0080] S333': Preset comparison rules, compare the sameIdset and the diffIdset according to the comparison rules, and determine the data to be repaired in the striped data redundancy group.
[0081] Furthermore, as an optional implementation of this application, optionally, in step S333', the comparison rule is to compare the number of data copies in the sameIdset and the diffIdset. If the number of data copies in the sameIdset is less than the number of data copies in the diffIdset, then the data in the sameIdset is data to be repaired; otherwise, the data in the diffIdset is data to be repaired.
[0082] In this embodiment, a preset baseline data label is used, and the original data corresponding to the original data sequence set is obtained according to the original data sequence set recorded in the baseline data label. At the same time, the original data and redundant data label corresponding to the obtained original data sequence set are further compared with the baseline data label. Specifically, based on the comparison rules, it is determined whether the original data labels and m redundant data labels obtained in step S320' are the same as the baseline data labels. Labels that are the same as the baseline data labels are placed in sameIdset, and labels that are different from the baseline data labels are placed in diffIdset. Further, based on the number of corresponding data copies in sameIdset and diffIdset, the data to be repaired is determined. If the number of data copies in sameIdset is less than the number of data copies in diffIdset, then the data in sameIdset is the data to be repaired; if the number of corresponding data copies in diffIdset is less than the number of corresponding data copies in sameIdset, then the data in diffIdset is the data to be repaired. This achieves the purpose of obtaining the data to be repaired in the striped data redundancy group, and the set of data sequence numbers of the data to be repaired is denoted as fixIdsSet.
[0083] As an optional implementation of this application, optionally, in step S400, a repair rule is preset according to the number of data copies of the data to be repaired, and the data to be repaired is repaired according to the repair rule and then sent to the storage node, including:
[0084] S410. When the number of copies of the data to be repaired is less than or equal to the number of copies of the redundant data in step S100, read the other data in the striped data redundancy group except for the data to be repaired, and restore the data to be repaired based on the other data, and then send it to the storage node.
[0085] S420. When the number of data copies of the data to be repaired is greater than the number of redundant data copies in step S100, several new redundant data copies are generated using the original data of the striped data redundancy group, and the new redundant data copies are sent to the storage node.
[0086] In this embodiment, if the number of data copies of the data to be repaired is ≤ m, the data other than the data to be repaired in the striped data redundancy group is read by the task execution node, and the data to be repaired is restored using the data redundancy strategy. If the number of data copies of the data to be repaired is > m, m redundant data copies are directly generated from the original data in the striped data redundancy group, and the data tags are updated and sent to the storage node for writing.
[0087] The following will be combined with the appendix Figure 2 This section provides a detailed description of the specific implementation process for each step.
[0088] 1. Select a storage node in the cluster as the task execution node for maintaining the consistency of striped data redundancy groups;
[0089] 2. Use the task execution node to read m redundant data from the striped data redundancy group and compare the redundant data tags carried in the m redundant data;
[0090] 3. If all the redundant data tags carried in m redundant data are the same, then the redundant data tag is recorded as dataTag. The sequence number of the original data overwritten by the most recently written data in the striped data redundancy group is determined according to the updateIds in dataTag, and recorded as updateIdsSet1, where the number of copies is s.
[0091] 4. Read the s original data corresponding to updateIdsSet1 in the striped data redundancy group through the task execution node;
[0092] 5. For each original data in updateIdSet1, compare the original data tag with the dataTag one by one: if they are all the same as the dataTag, it means that the data in the striped data redundancy group is consistent and no repair task needs to be performed.
[0093] 6. If the redundant data tags carried by m redundant data are not completely the same, or if the original data tags of each original data in updateIdSet1 are not all the same as dataTag, it means that the data of the striped data redundancy group is inconsistent and needs to be repaired.
[0094] 7. Determine a base data tag: if all m redundant data tags carried in m redundant data are the same, then the redundant data tag is the base data tag; otherwise, the redundant data tag with the largest number of startups and hardware running time recorded among the m redundant data tags is the base data tag.
[0095] 8. Determine the set of original data sequence numbers of the records in baseDataTag based on its updateIds, and denot it as updateIdsSet2;
[0096] 9. Compare the original data tags of the original data and the redundant data tags of m redundant data in updateIdsSet2 with baseDataTag: put the same ones into sameIdsSet, and the different ones into diffIdsSet;
[0097] 10. Determine the data to be repaired in the striped data redundancy group: If the number of data in sameIdsSet is less than the number of data in diffIdsSet, then the corresponding data in sameIdsSet needs to be repaired; otherwise, the corresponding data in diffIdsSet needs to be repaired. The set of data sequence numbers that need to be repaired is denoted as fixIdsSet.
[0098] 11. If the number of data copies to be recovered in fixIdsSet is ≤ m, the task execution node reads n copies of data in the striped data redundancy group excluding fixIdsSet, recovers the corresponding data in fixIdsSet according to the data redundancy strategy, and sends it to the corresponding storage node for writing.
[0099] 12. If the number of data copies that need to be recovered in fixIdsSet is greater than m, then directly use n original data copies to generate m redundant data copies, update the data tags, and send them to the corresponding storage nodes for writing.
[0100] In summary, the consistency maintenance method for striped data redundancy groups proposed in this application effectively improves the efficiency of consistency maintenance. During consistency checks and repairs, it is not necessary to read every single piece of data within the striped data redundancy group; only the original data corresponding to the redundant data and baseline data labels needs to be read to achieve the purpose of consistency checks. This allows for the timely detection of data inconsistencies within the striped data redundancy group and timely repair of the corresponding striped data redundancy group, further ensuring its consistency.
[0101] It should be noted that although the above description is provided as an example, those skilled in the art will understand that this disclosure is not limited thereto. In fact, users can flexibly configure the settings according to actual application scenarios, as long as the technical functions of this application can be achieved by following the above technical methods.
[0102] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, it can include the processes of the embodiments of the control methods described above. The storage medium can be a magnetic disk, optical disk, read-only memory (ROM), random access memory (RAM), flash memory, hard disk drive (HDD), or solid-state drive (SSD), etc.; the storage medium can also include combinations of the above types of memory.
[0103] Example 2
[0104] Furthermore, in another aspect, this application proposes a control system comprising:
[0105] processor;
[0106] Memory used to store processor-executable instructions;
[0107] The processor is configured to implement the consistency maintenance method for striped data redundancy groups as described above when executing the executable instructions.
[0108] This disclosure discloses an embodiment of a system including a processor and a memory for storing processor-executable instructions. The processor is configured to implement, when executing the executable instructions, a consistency maintenance method for striped data redundancy groups as described above.
[0109] It should be noted here that the number of processors can be one or more. Furthermore, the control system in this embodiment may also include input devices and output devices. The processors, memory, input devices, and output devices can be connected via a bus or other means, without specific limitations herein.
[0110] As a computer-readable storage medium, the memory can be used to store software programs, computer-executable programs, and various modules, such as the program or module corresponding to the striped data redundancy group consistency maintenance method of this disclosure. The processor executes various functional applications and data processing of the control system by running the software programs or modules stored in the memory.
[0111] Input devices can be used to receive input digital numbers or signals. These signals can be key signals related to user settings and function control of the device / terminal / server. Output devices can include display devices such as screens.
[0112] The various embodiments of this disclosure have been described above. These descriptions are exemplary and not exhaustive, and are not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical applications, or technical improvements to the technology in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. A method for maintaining the consistency of striped data redundancy groups, characterized in that, Includes the following steps: Obtain several redundant data sets from the striped data redundancy group through the storage node; Determine whether the redundant data labels of several sets of redundant data are completely identical; When several sets of redundant data tags are identical, the original data is determined based on the redundant data tags, and it is determined whether the original data tags of the original data are the same as the redundant data tags. When several sets of redundant data labels are different, or when the original data label is different from the redundant data label, a baseline data label is preset, the original data corresponding to the baseline data label is obtained, and the data to be repaired in the striped data redundancy group is determined through the baseline data label; including: When several redundant data labels are different, or the original data label is different from the redundant data label, a baseline data label is preset; the set of original data sequence numbers recorded by the baseline data label is obtained, and the corresponding original data is obtained through the set of original data sequence numbers; the original data label and the redundant data label of the corresponding original data are compared with the baseline data label to determine the data to be repaired in the striped data redundancy group. The preset baseline data tag includes: when several redundant data tags are different, the baseline data tag is the redundant data tag with the largest number of startups and the largest hardware running time; When several redundant data tags are identical, and the original data tag and the redundant data tag are different, the redundant data tag is the reference data tag; Based on the number of data copies of the data to be repaired, a preset repair rule is established, and the data to be repaired is repaired according to the repair rule and then sent to the storage node; this includes: when the number of data copies of the data to be repaired is less than or equal to the number of redundant data copies, reading other data in the striped data redundancy group other than the data to be repaired, restoring the data to be repaired based on the other data, and then sending it to the storage node; when the number of data copies of the data to be repaired is greater than the number of redundant data copies, generating several new redundant data copies using the original data of the striped data redundancy group, and sending the new redundant data copies to the storage node.
2. The consistency maintenance method for striped data redundancy groups according to claim 1, characterized in that, When several sets of redundant data tags are identical, the original data is determined based on the redundant data tags, and it is determined whether the original data tags of the original data are the same as the redundant data tags, including: When several sets of redundant data are identical, the original data sequence number overwritten by the most recent data in the striped data redundancy group is determined according to the redundant data label. Read the original data involved in the striped data redundancy group according to the original data sequence number; The redundant data label is compared with the original data label of the original data involved in the striped data redundancy group to determine whether the redundant data label and the original data label are the same.
3. The consistency maintenance method for striped data redundancy groups according to claim 2, characterized in that, The process of comparing the redundant data tags with the original data tags of the original data involved in the striped data redundancy group to determine whether the redundant data tags and the original data tags are the same further includes: The original data labels of the original data involved in the striped data redundancy group are all compared with the redundant data labels; Determine whether all the original data tags are the same as the redundant data tags; If so, then the data in the striped data redundancy group is consistent; If not, then the data in the striped data redundancy group is repaired.
4. The consistency maintenance method for striped data redundancy groups according to claim 1, characterized in that, The original data labels and redundant data labels of the corresponding acquired original data are compared with the baseline data labels to determine the data to be repaired in the striped data redundancy group, including: The original data labels and redundant data labels of the corresponding acquired original data are compared with the reference data labels to determine whether they are the same as the reference data labels; The original data labels that are the same as the baseline data labels and the redundant data labels are placed in the sameIdset, and the different ones are placed in the diffIdset; A preset comparison rule is used to compare the sameIdset and the diffIdset according to the comparison rule to determine the data to be repaired in the striped data redundancy group.
5. The consistency maintenance method for striped data redundancy groups according to claim 4, characterized in that, The comparison rule is as follows: compare the number of data entries in the sameIdset and the diffIdset. If the number of data entries in the sameIdset is less than the number of data entries in the diffIdset, then the data in the sameIdset is data to be repaired; otherwise, the data in the diffIdset is data to be repaired.
6. A control system, characterized in that, include: processor; Memory used to store processor-executable instructions; The processor is configured to implement the consistency maintenance method for striped data redundancy groups as described in any one of claims 1 to 5 when executing the executable instructions.
Citation Information
Patent Citations
An elastic multi-dimensional redundancy method in a distributed storage system
CN109783016A
Using duplicated data to enhance data security in raid environments
US20160266984A1