CN111124740A - Data reading method and device, storage equipment and machine-readable storage medium - Google Patents
Data reading method and device, storage equipment and machine-readable storage medium Download PDFInfo
- Publication number
- CN111124740A CN111124740A CN201911266222.7A CN201911266222A CN111124740A CN 111124740 A CN111124740 A CN 111124740A CN 201911266222 A CN201911266222 A CN 201911266222A CN 111124740 A CN111124740 A CN 111124740A
- Authority
- CN
- China
- Prior art keywords
- sub
- storage
- data
- storage node
- original data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000008439 repair process Effects 0.000 claims abstract description 59
- 230000008569 process Effects 0.000 abstract description 24
- 230000001360 synchronised effect Effects 0.000 description 16
- 238000011084 recovery Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/102—Error in check bits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
The embodiment of the invention provides a data reading method, a data reading device, a storage device and a machine-readable storage medium, wherein if reading fails in the process of reading original data from a specified storage area of a main storage node, the specified storage area is indicated to possibly have a bad track, at the moment, the original data is obtained by reading the data from any backup storage node, the obtained original data is fed back to a client, the obtained original data is subjected to an overlay writing operation in the specified storage area, and the repair of the bad track is completed if the writing is successful. In the bad channel repairing process, the storage nodes with the bad channels do not need to be isolated, the operations of feeding back original data to the client and repairing the bad channels are synchronously performed, the occurrence of service interruption is avoided, and therefore the influence of the bad channel repairing on the service performance of the distributed storage system is reduced.
Description
Technical Field
The present invention relates to the field of storage technologies, and in particular, to a data reading method and apparatus, a storage device, and a machine-readable storage medium.
Background
The distributed storage system comprises a plurality of storage nodes and can provide storage services for mass data. The storage node is used as a hardware storage device, a certain failure rate exists in the storage node, and the failure of the storage node can reduce the read-write rate of the distributed storage system or interrupt service. Currently, the more common failures include bad tracks and bad disks. The bad tracks are divided into two types, namely physical bad tracks and logical bad tracks, wherein the physical bad tracks are that data of partial sectors cannot be accessed due to damage of a physical structure of a storage node and are usually unrepairable; the logical bad track is caused by software exception inside the storage node or ECC (Error correction Code) Error of data, and can be repaired.
At present, the main adopted mode for repairing the bad track is as follows: and physically isolating the storage nodes with the bad tracks, identifying the bad tracks in the storage nodes, and performing overwriting operation on the originally stored data in the bad tracks, wherein if the writing operation is successful, the bad track repair is completed.
When a bad track is repaired, a storage node of the bad track needs to be isolated from the system, and the bad track is repaired independently for the storage node, in the process, the distributed storage system cannot feed back a reading request of a client, only after the bad track is successfully repaired, the distributed storage system can normally feed back the reading request of the client, namely, the distributed storage system has a service interruption phenomenon in the bad track repairing process, and the service performance of the distributed storage system is influenced.
Disclosure of Invention
Embodiments of the present invention provide a data reading method, an apparatus, a storage device, and a machine-readable storage medium, so as to reduce an influence of bad track repair on service performance of a distributed storage system. The specific technical scheme is as follows:
in a first aspect, an embodiment of the present invention provides a data reading method, which is applied to a main storage node of a distributed storage system, and the method includes:
acquiring a reading request sent by a client, wherein the reading request comprises first identification information of a specified storage area in a main storage node;
reading original data from a designated storage area according to the first identification information;
if the reading fails, reading data from any backup storage node to obtain original data;
and feeding back the obtained original data to the client, and performing an overlay write operation on the obtained original data in the specified storage area to repair the bad track of the specified storage area.
Optionally, any backup storage node stores a copy of the original data; the method comprises the steps of reading data from any backup storage node to obtain original data, and comprises the following steps:
sending an acquisition request to any backup storage node, wherein the acquisition request comprises second identification information of a storage area in the backup storage node, which stores the copy of the original data, so that the backup storage node reads from the storage area and feeds back the copy of the original data to the main storage node according to the second identification information;
and receiving a copy of the original data fed back by the standby storage node as the original data.
Optionally, check code data of the original data is stored in any one of the standby storage nodes; the method comprises the steps of reading data from any backup storage node to obtain original data, and comprises the following steps:
sending an acquisition request to any standby storage node, wherein the acquisition request comprises third identification information of a storage area in the standby storage node, which stores the check code data, so that the standby storage node reads the check code data from the storage area and feeds the check code data back to the main storage node according to the third identification information;
and receiving check code data fed back by the standby storage node, and restoring the check code data to obtain original data.
Optionally, after the step of obtaining the original data by reading data from any of the storage nodes, the method further includes:
if the data are not read from all the standby storage nodes, dividing the designated storage area into a plurality of first sub-storage blocks, and sending a dividing instruction to each standby storage node, so that each standby storage node divides the local storage area into a plurality of second sub-storage blocks according to the dividing instruction, wherein each first sub-storage block corresponds to each second sub-storage block one to one;
reading each subdata obtained by dividing the original data from each first sub-storage block respectively;
for any first sub storage block, if the subdata is not read, reading the data of a second sub storage block corresponding to the first sub storage block in any backup storage node to obtain the subdata;
the method comprises the steps of feeding back the acquired original data to a client, and performing an overlay write operation on the acquired original data in a specified storage area, wherein the overlay write operation comprises the following steps:
and feeding back each sub-data read from the first sub-storage block and each sub-data obtained from the second sub-storage block to the client, and performing an overwriting writing operation on each sub-data obtained from the second sub-storage block in the first sub-storage block storing the sub-data in the specified storage area so as to repair the bad track of the specified storage area.
Optionally, any backup storage node stores a copy of the original data; the step of obtaining the subdata by reading data of a second sub storage block corresponding to the first sub storage block in any backup storage node includes:
sending an acquisition request to any backup storage node, wherein the acquisition request comprises fourth identification information of a second sub storage block corresponding to the first sub storage block in the backup storage node, so that the backup storage node reads from the second sub storage block and feeds back a copy of the sub data to the main storage node according to the fourth identification information;
and receiving a copy of the subdata fed back by the backup storage node as the subdata.
Optionally, check code data of the original data is stored in any one of the standby storage nodes; the step of obtaining the subdata by reading data of a second sub storage block corresponding to the first sub storage block in any backup storage node includes:
sending an acquisition request to any standby storage node, wherein the acquisition request comprises fifth identification information of a second sub storage block corresponding to the first sub storage block in the standby storage node, so that the standby storage node reads sub check code data from the second sub storage block and feeds back the sub check code data to the main storage node according to the fifth identification information;
and receiving sub-check code data fed back by the backup storage node, and restoring the sub-check code data to obtain sub-data.
In a second aspect, an embodiment of the present invention provides a data reading apparatus, which is applied to a main storage node of a distributed storage system, and the apparatus includes:
the system comprises an acquisition module, a storage module and a processing module, wherein the acquisition module is used for acquiring a reading request sent by a client, and the reading request comprises first identification information of a specified storage area in a main storage node;
the reading module is used for reading original data from the specified storage area according to the first identification information;
the obtaining module is used for reading data from any backup storage node to obtain original data if the reading fails;
and the repairing module is used for feeding back the obtained original data to the client and performing covering write-in operation on the obtained original data in the specified storage area so as to repair the bad track of the specified storage area.
Optionally, any backup storage node stores a copy of the original data; an obtaining module, specifically configured to:
sending an acquisition request to any backup storage node, wherein the acquisition request comprises second identification information of a storage area in the backup storage node, which stores the copy of the original data, so that the backup storage node reads from the storage area and feeds back the copy of the original data to the main storage node according to the second identification information;
and receiving a copy of the original data fed back by the standby storage node as the original data.
Optionally, check code data of the original data is stored in any one of the standby storage nodes; an obtaining module, specifically configured to:
sending an acquisition request to any standby storage node, wherein the acquisition request comprises third identification information of a storage area in the standby storage node, which stores the check code data, so that the standby storage node reads the check code data from the storage area and feeds the check code data back to the main storage node according to the third identification information;
and receiving check code data fed back by the standby storage node, and restoring the check code data to obtain original data.
Optionally, the apparatus further comprises:
the dividing module is used for dividing the designated storage area into a plurality of first sub-storage blocks and sending a dividing instruction to each standby storage node if data is not read from all the standby storage nodes, so that each standby storage node divides the local storage area into a plurality of second sub-storage blocks according to the dividing instruction, and each first sub-storage block corresponds to each second sub-storage block one to one;
the reading module is further used for respectively reading each subdata obtained by dividing the original data from each first sub-storage block;
the obtaining module is further configured to, for any first sub storage block, if sub data is not read, obtain the sub data by reading data of a second sub storage block corresponding to the first sub storage block in any backup storage node;
the repair module is specifically configured to:
and feeding back each sub-data read from the first sub-storage block and each sub-data obtained from the second sub-storage block to the client, and performing an overwriting writing operation on each sub-data obtained from the second sub-storage block in the first sub-storage block storing the sub-data in the specified storage area so as to repair the bad track of the specified storage area.
Optionally, any backup storage node stores a copy of the original data; an obtaining module, specifically configured to:
sending an acquisition request to any backup storage node, wherein the acquisition request comprises fourth identification information of a second sub storage block corresponding to the first sub storage block in the backup storage node, so that the backup storage node reads from the second sub storage block and feeds back a copy of the sub data to the main storage node according to the fourth identification information;
and receiving a copy of the subdata fed back by the backup storage node as the subdata.
Optionally, check code data of the original data is stored in any one of the standby storage nodes; an obtaining module, specifically configured to:
sending an acquisition request to any standby storage node, wherein the acquisition request comprises fifth identification information of a second sub storage block corresponding to the first sub storage block in the standby storage node, so that the standby storage node reads sub check code data from the second sub storage block and feeds back the sub check code data to the main storage node according to the fifth identification information;
and receiving sub-check code data fed back by the backup storage node, and restoring the sub-check code data to obtain sub-data.
In a third aspect, an embodiment of the present invention provides a storage device, including a processor and a machine-readable storage medium, where the machine-readable storage medium stores machine-executable instructions executable by the processor; the processor is caused by machine execution of the instructions to: the data reading method provided by the first aspect of the embodiment of the invention is realized.
In a fourth aspect, an embodiment of the present invention provides a machine-readable storage medium, where machine-readable instructions are stored, and when the machine-readable storage medium is called and executed by a processor, the data reading method provided in the first aspect of the embodiment of the present invention is implemented.
According to the data reading method and device, the storage device and the machine-readable storage medium provided by the embodiment of the invention, the main storage node acquires a reading request sent by the client, reads original data from a local specified storage area according to first identification information of the specified storage area carried by the reading request, and if the reading fails, acquires the original data by reading the data from any backup storage node, feeds the acquired original data back to the client, and performs an overlay writing operation on the acquired original data in the specified storage area to repair a bad track of the specified storage area. If the reading fails in the process of reading the original data from the designated storage area of the main storage node, the designated storage area is indicated to possibly have a bad track, at the moment, the original data is obtained by reading the data from any backup storage node, the obtained original data is fed back to the client, the obtained original data is subjected to covering writing operation in the designated storage area, and the repairing of the bad track is completed if the writing is successful. In the bad channel repairing process, the storage nodes with the bad channels do not need to be isolated, the operations of feeding back original data to the client and repairing the bad channels are synchronously performed, the occurrence of service interruption is avoided, and therefore the influence of the bad channel repairing on the service performance of the distributed storage system is reduced.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
FIG. 1 is a flow chart illustrating a data reading method according to an embodiment of the present invention;
FIG. 2 is a flow chart illustrating a data reading method according to another embodiment of the present invention;
FIG. 3 is a schematic flow chart of synchronous repair of three copies of bad tracks according to an embodiment of the present invention;
FIG. 4 is a flowchart illustrating synchronous repair of bad channels of check codes according to an embodiment of the present invention;
FIG. 5 is a flowchart illustrating asynchronous bad track repair according to an embodiment of the present invention;
FIG. 6 is a schematic structural diagram of a data reading apparatus according to an embodiment of the present invention;
fig. 7 is a schematic structural diagram of a storage device according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
In order to reduce the influence of bad track repair on the service performance of a distributed storage system, embodiments of the present invention provide a data reading method, an apparatus, a storage device, and a machine-readable storage medium. Next, a data reading method provided in an embodiment of the present invention is first described.
The execution main body of the data reading method provided by the embodiment of the invention is a main storage node with a bad track in the distributed storage system, and the main storage node is a storage node which receives a reading request initiated by a client and feeds back data to the client in the distributed storage system. The method for implementing the data reading method provided by the embodiment of the invention may be at least one of software, an electronic circuit and a logic circuit in the electronic device.
A data reading method provided in an embodiment of the present invention, as shown in fig. 1, may include the following steps.
S101, a reading request sent by a client is obtained, wherein the reading request comprises first identification information of a specified storage area in a main storage node.
The client sends a reading request to the distributed storage system, where the reading request includes first identification information of a designated storage area in a main storage node in the distributed storage system, that is, to which storage area of which storage node in the distributed storage system the client requests to read data, the client may send the reading request to the distributed storage system, and the main storage node obtains the reading request.
S102, reading original data from the designated storage area according to the first identification information.
After the reading request is obtained, the original data is directly read to a local designated storage area according to the first identification information carried by the reading request. The first identification information specifying the storage region may generally be determined by the offset and length of the data stored in the primary storage node.
S103, if the reading fails, the original data is obtained by reading the data from any backup storage node.
If the original data read from the designated storage area of the main storage node fails, the situation that the designated storage area of the main storage node possibly has a bad track is described, and the bad track needs to be repaired. The distributed storage system is provided with a plurality of spare storage nodes, the spare storage nodes store copies of original data stored in a designated storage area of a main storage node or check code data, hash values and the like of the original data, and the data of the original data can be restored, and the original data can be obtained in a manner of reading the data from any spare storage node.
And S104, feeding back the obtained original data to the client, and performing covering write-in operation on the obtained original data in the specified storage area to repair the bad track of the specified storage area.
After the original data is obtained, feeding back the obtained original data to the client, and simultaneously performing an overlay write operation on the obtained original data in the specified storage area, namely directly performing a data write operation in the specified storage area to overlay the original data in the specified storage area, wherein if the write operation is successful, a state code which is successfully written is replied at the bottom layer of the specified storage area to indicate that the bad track of the specified storage area is repaired. If the writing fails, the writing is tried again, and if the continuous writing fails within a long period of time, the current physical bad track is considered to be incapable of being repaired, and in this case, a technician can be notified to replace the storage node.
By applying the embodiment of the invention, the main storage node acquires the reading request sent by the client, reads the original data from the local specified storage area according to the first identification information of the specified storage area carried by the reading request, and if the reading fails, acquires the original data by reading the data from any backup storage node, feeds the acquired original data back to the client, and performs the covering and writing operation on the acquired original data in the specified storage area to repair the bad track of the specified storage area. If the reading fails in the process of reading the original data from the designated storage area of the main storage node, the designated storage area is indicated to possibly have a bad track, at the moment, the original data is obtained by reading the data from any backup storage node, the obtained original data is fed back to the client, the obtained original data is subjected to covering writing operation in the designated storage area, and the repairing of the bad track is completed if the writing is successful. In the bad channel repairing process, the storage nodes with the bad channels do not need to be isolated, the operations of feeding back original data to the client and repairing the bad channels are synchronously performed, the occurrence of service interruption is avoided, and therefore the influence of the bad channel repairing on the service performance of the distributed storage system is reduced.
Under the condition of bad track, the scheme provided by the embodiment of the invention can synchronously carry out the operations of feeding back original data to the client and repairing the bad track, the mode is called bad track synchronous repair, and the bad track synchronous repair is divided into copy bad track synchronous repair and check code bad track synchronous repair according to the storage strategy of the distributed storage system. Next, description is made on copy bad track synchronous repair and check code bad track synchronous repair, respectively.
Under the embodiment of synchronous repair of the copy bad track, the copy of the original data stored by the main storage node is backed up and stored on a plurality of standby storage nodes. In this embodiment, the step of obtaining the original data by reading data from any of the backup storage nodes may specifically include: sending an acquisition request to any backup storage node, wherein the acquisition request comprises second identification information of a storage area in the backup storage node, which stores the copy of the original data, so that the backup storage node reads from the storage area and feeds back the copy of the original data to the main storage node according to the second identification information; and receiving a copy of the original data fed back by the standby storage node as the original data.
The method includes the steps that the storage position of original data in a main storage node and the storage position of a copy of the original data in each backup storage node (namely identification information of a storage area is usually represented by offset and data length) are recorded in advance, when data reading fails due to bad tracks in the process of reading the original data from a specified storage area of the main storage node, an acquisition request is sent to any backup storage node to inform the backup storage node of which storage area the data are read, after the backup storage node reads the data, the read data are fed back, and as the backup storage node stores the copy of the original data, the backup storage node feeds back the original data for repairing the bad tracks. For implementation convenience, the location of the primary storage node storing the original data and the location of the backup storage node storing the copy of the original data may be set to be identical (i.e. have the same offset and data length), and the identification information of the designated storage node in the primary storage node may be directly sent when the fetch request is sent.
In the implementation mode of synchronous repair of bad channels of check codes, check code data are calculated for original data, and the check code data are stored in standby storage nodes, namely storage nodes in a distributed storage system are divided into two types, wherein one type is used for storing the original data, and the other type is used for storing the check code data. In this embodiment, the step of obtaining the original data by reading data from any of the backup storage nodes may specifically include: sending an acquisition request to any standby storage node, wherein the acquisition request comprises third identification information of a storage area in the standby storage node, which stores the check code data, so that the standby storage node reads the check code data from the storage area and feeds the check code data back to the main storage node according to the third identification information; and receiving check code data fed back by the standby storage node, and restoring the check code data to obtain original data.
The check code data is used for checking and restoring one data, the check code data corresponds to the original data, the corresponding original data can be restored by utilizing the check code data, and the check code data can be an erasure code and the like.
The method comprises the steps of recording the storage position of original data in a main storage node and the storage position of check code data of the original data in each backup storage node in advance, sending an acquisition request to any backup storage node when data reading fails due to bad tracks in the process of reading the original data from a specified storage area of the main storage node, informing the backup storage node of which storage area the check code data are read, feeding back the read check code data after the backup storage node reads the check code data, and restoring the check code data by the main storage node to obtain the original data for repairing the bad tracks. For implementation convenience, the location of the primary storage node storing the original data and the location of the backup storage node storing the check code data of the original data may be set to be identical (i.e. have the same offset and data length), and the identification information of the designated storage node in the primary storage node may be directly sent when the acquisition request is sent.
In another implementation manner, the original data and the check code data may be stored in a plurality of storage nodes on average, for example, the original data is split into two parts, one part is stored in the storage node 1, the other part is stored in the storage node 2, correspondingly, the check code data is also split into two parts, one part is stored in the storage node 3, the other part is stored in the storage node 4, when a certain part of data fails to be read, the check code data is read from the corresponding storage node, and then data restoration and overwriting operations are performed, thereby realizing the repair of the bad track of the storage node.
Based on the embodiment shown in fig. 1, an embodiment of the present invention further provides a data reading method, as shown in fig. 2, the method may include the following steps:
s201, a reading request sent by a client is acquired, wherein the reading request comprises first identification information of a specified storage area in a main storage node.
S202, reading original data from the designated storage area according to the first identification information.
And S203, if the reading fails, reading data from any backup storage node to obtain original data.
S201 to S203 are the same as S101 to S103 in the embodiment shown in fig. 1, and are not described again here.
S204, if the data are not read from all the standby storage nodes, dividing the designated storage area into a plurality of first sub-storage blocks, and sending a dividing instruction to each standby storage node, so that each standby storage node divides the local storage area into a plurality of second sub-storage blocks according to the dividing instruction, wherein each first sub-storage block corresponds to each second sub-storage block one to one.
When a main storage node reads data from a standby storage node, if no data is read from all the standby storage nodes, the situation that each standby storage node may have a bad track is described, at this time, the bad track asynchronous repair needs to be performed, that is, a designated storage area of the main storage node and a storage area corresponding to the standby storage node are divided, specifically, the designated storage area of the main storage node is divided into a plurality of first sub-storage blocks, and a dividing instruction is sent to each standby storage node, the dividing instruction carries identification information of the storage area needing to be divided, the size of each storage block and the like, after each standby storage node receives the dividing instruction, the storage area locally used for storing copies of original data or check code data is divided into a plurality of second sub-storage blocks according to the dividing instruction, the data of the second sub-storage blocks is the same as the data of the first sub-storage blocks, the second sub-memory blocks are in one-to-one correspondence with the first sub-memory blocks.
S205, reading the sub data obtained by dividing the original data from each first sub storage block.
And S206, aiming at any first sub storage block, if the subdata is not read, reading the data of a second sub storage block corresponding to the first sub storage block in any backup storage node to obtain the subdata.
The designated storage area is divided, that is, the original data stored in the designated storage area is divided, and each first sub storage block stores each sub data obtained by dividing the original data. And respectively reading each subdata from each first sub-storage block, wherein for a certain first sub-storage block, if the subdata can be read, the condition that the first sub-storage block is normal and has no bad track is shown, and if the subdata cannot be read, the condition that the first sub-storage block has the bad track is shown and needs to be repaired. Correspondingly, the sub data can be obtained by reading the data from the second sub storage block corresponding to the first sub storage block in any backup storage node.
And S207, feeding back the sub data read from the first sub storage block and the sub data obtained from the second sub storage block to the client, and performing an overwriting operation on the first sub storage block storing the sub data in the designated storage area aiming at the sub data obtained from the second sub storage block so as to repair a bad track of the designated storage area.
After the sub data are obtained from the second sub storage block, the sub data read from the first sub storage block and the sub data obtained from the second sub storage block are fed back to the client together, meanwhile, the sub data obtained from the second sub storage block are subjected to covering writing operation in the corresponding first sub storage block, the original sub data of the first sub storage block are covered, if the writing is successful, a state code which is written successfully is replied at the bottom layer of the designated storage area, and the fact that the bad track of the first sub storage block is repaired is indicated. If the writing fails, the writing is tried again, and if the continuous writing fails within a long period of time, the current physical bad track is considered to be incapable of being repaired, and in this case, a technician can be notified to replace the storage node.
By applying the embodiment of the invention, the situation that the main storage node and the standby storage node are likely to have bad tracks is solved, the problem that the bad tracks of the main storage node cannot be repaired due to the bad tracks of the standby storage node is solved, and the probability and the repairing efficiency of the bad tracks are improved.
The scheme shown in fig. 2 is called as bad track asynchronous repair, and the bad track asynchronous repair is further divided into copy bad track asynchronous repair and check code bad track asynchronous repair according to the storage policy of the distributed storage system. In the following, description is respectively given to asynchronous repair of a duplicate bad track and asynchronous repair of a check code bad track.
In an embodiment of asynchronous repair of bad tracks of copies, copies of original data stored by a main storage node are backed up and stored on a plurality of backup storage nodes, a designated storage area of the main storage node, where the original data is stored, is divided into a plurality of first sub-storage blocks, a storage area of the backup storage node, where the copies of the original data are stored, is divided into a plurality of second sub-storage blocks, each first sub-storage block is used for storing each sub-data obtained by dividing the original data, each second sub-storage block is used for storing each copy of each sub-data obtained by dividing the original data, and each first sub-storage block corresponds to each second sub-storage block one to one.
In this embodiment, the step of obtaining the sub data by reading the data of the second sub storage block corresponding to the first sub storage block in any backup storage node may specifically include: sending an acquisition request to any backup storage node, wherein the acquisition request comprises fourth identification information of a second sub storage block corresponding to the first sub storage block in the backup storage node, so that the backup storage node reads from the second sub storage block and feeds back a copy of the sub data to the main storage node according to the fourth identification information; and receiving a copy of the subdata fed back by the backup storage node as the subdata.
Dividing a designated storage area of a main storage node for storing original data and a storage area of a backup storage node for storing a copy of the original data (generally dividing according to offset length of a minimum unit), recording in advance a position of a first sub storage block for storing sub data and a position of a second sub storage block for storing the copy of the sub data (namely identification information of the first sub storage block and the second sub storage block, usually expressed by offset and sub data length), when reading failure is caused by a bad track in the process of reading the sub data from a certain first sub storage block, sending an acquisition request to any backup storage node for informing the backup storage node to which second sub storage block the copy of the sub data is read, after reading the copy of the sub data, feeding back the read copy of the sub data, and after acquiring the fed back copy of the sub data, correspondingly, the first sub-storage block is subjected to the covering writing operation, only one sub-storage block is subjected to bad track repair, and the repair efficiency can be improved. For convenience of implementation, the location of the first sub storage block storing the sub data and the location of the second sub storage block storing the copy of the sub data may be set to be identical (i.e., have the same offset and data length), and the identification information of the first sub storage block may be directly sent when the obtaining request is sent.
In the implementation mode of asynchronous repair of bad tracks of check codes, the check code data is calculated from the original data and stored in the standby storage nodes, namely the storage nodes in the distributed storage system are divided into two types, one type is used for storing the original data, and the other type is used for storing the check code data. And the designated storage area of the primary storage node for storing the original data is divided into a plurality of first sub-storage blocks, the storage area of the backup storage node for storing the check code data of the original data is divided into a plurality of second sub-storage blocks, and the first sub-storage blocks are in one-to-one correspondence with the second sub-storage blocks.
In this embodiment, obtaining the sub data by reading the data of the second sub storage block corresponding to the first sub storage block in any backup storage node may specifically include: sending an acquisition request to any standby storage node, wherein the acquisition request comprises fifth identification information of a second sub storage block corresponding to the first sub storage block in the standby storage node, so that the standby storage node reads sub check code data from the second sub storage block and feeds back the sub check code data to the main storage node according to the fifth identification information; and receiving sub-check code data fed back by the backup storage node, and restoring the sub-check code data to obtain sub-data.
The method comprises the steps of recording the position of a first sub storage block for storing a copy of subdata and the position of a second sub storage block for storing subdeck code data of the subdata in advance, sending an acquisition request to any backup storage node when reading failure is caused by a bad channel in the process of reading the subdata from a certain first sub storage block, informing the backup storage node to which second sub storage block the subdeck code data are read, feeding back the read subdeck code data after the subdeck code data are read by the backup storage node, restoring the subdeck code data by a main storage node, obtaining the subdeck data for repairing the bad channel, and correspondingly performing covering writing operation on the first sub storage block. For convenience of implementation, the location of the first sub storage block storing the sub data and the location of the second sub storage block storing the sub check code data of the sub data may be set to be identical (i.e., have the same offset and data length), and the identification information of the first sub storage block may be directly transmitted when the acquisition request is transmitted.
For convenience of understanding, the following describes, in conjunction with the embodiments shown in fig. 1 and fig. 2, the whole process of data reading and bad track repairing according to the embodiments of the present invention in detail, taking the main storage node where the bad track occurs as an execution subject.
Under the mode of synchronous repair of the bad track of the copy, the copy storage strategy is that in a distributed storage system, a main storage node stores original data, a backup storage node stores a copy of the original data, the positions of the stored data in each storage node are consistent, and the data are preferentially read on the main storage node when being read. When data reading fails due to bad tracks in the data reading process, firstly, data recovery is carried out to read the copy of the original data on the standby storage node, after the data reading succeeds, the copy of the original data is written in the main storage node in an overlaying mode locally, and if the operation of the overlaying writing succeeds (namely the status code of successful writing replied by bottom-layer hardware is received), the bad tracks of the main storage node are repaired successfully. As shown in fig. 3, a schematic flow chart of synchronous repair of three copies of bad tracks mainly includes the following steps:
firstly, a client sends a reading request to a distributed storage system, firstly, data is read from a storage node 1, a storage area 1 represents the offset and the length of the read data, and a storage area 2 represents a bad track area in the storage node 1.
In the second step, because there is a bad track in the storage node 1, the data reading of the whole storage area 1 fails, and at this time, the storage node 1 will read the copy on the storage node 2. After the read is successful, the copy is returned to storage node 1.
Third, the storage node 1 returns the copy read on the storage node 2 to the client.
And fourthly, synchronously repairing, wherein the storage node 1 performs coverage writing on the read copy in the whole storage area 1. If the write is successful, the bad track in storage node 1 will be repaired.
In a mode of synchronous repair of bad tracks of check codes, a check code storage strategy is that check code data are calculated from a piece of data in a distributed storage system, then original data and the check code data are averagely stored in a plurality of storage nodes, the storage nodes are divided into a data disk and a check disk, the original data are stored in the data disk, the check code data are stored in the check disk, and the offset and the length of data storage in the data disk and the check disk are the same. When data reading fails due to bad tracks in the data reading process, the data on the check disk is read, then data recovery is carried out, if the data recovery is successful, the data is rewritten into the storage node, and then the data of the data disks are returned to the client as a whole. As shown in fig. 4, a schematic flow chart of synchronous repair of bad tracks of check codes is shown, where storage node 1 and storage node 2 are data disks, and storage node 3 is a check disk, and the method mainly includes the following steps:
firstly, a client sends a reading request to a distributed storage system. First, data is read from the storage nodes 1 and 2.
In the second step, because there is a bad track in the storage node 1, it will result in a failure to read data from the storage node 1, and at this time, the storage node 1 will read the check code data from the storage node 3. After the reading is successful, the check code data is returned to the storage node 1.
And thirdly, the storage node 1 restores the received check code data into original data, acquires data from the storage node 2, and returns the restored data and the data acquired from the storage node 2 to the client.
And fourthly, synchronously repairing, wherein the storage node 1 writes the restored data in the whole storage area 1 in an overlaying manner. If the write is successful, the bad track in storage node 1 will be repaired.
It can be seen from the above that synchronous repair of a bad track requires that the distributed storage system can restore or read complete data from other storage nodes according to a storage policy when the read data encounters the bad track, and then repair the bad track by using the complete data. In an actual distributed storage system, if a plurality of storage nodes have bad tracks, data cannot be restored or read from other storage nodes, and then asynchronous repair of the bad tracks is required.
In the bad track asynchronous repair mode, the strategy of the copy and the check code is the same as that of the synchronous repair transfer into the asynchronous repair process, as shown in fig. 5, the three storage nodes all have bad tracks (shaded parts in the figure) with different offset addresses and lengths in the storage area, which causes the failure of the three storage nodes when reading the data of the whole storage area at one time, so that the bad track repair cannot be completed, at this time, the storage area needs to be divided according to the offset length of the minimum unit, correspondingly, the data is also divided, subsequently, data reading or data restoration is performed on each sub-storage block of the minimum unit, and then, the bad track recovery of the corresponding sub-storage block is performed. Although each storage node in fig. 5 has a bad track, each bad track corresponds to the areas of the other two storage nodes, and therefore bad track repair may be completed when a bad track is encountered during subsequent block reading.
Corresponding to the above method embodiment, an embodiment of the present invention provides a data reading apparatus, as shown in fig. 6, the apparatus may include:
an obtaining module 610, configured to obtain a read request sent by a client, where the read request includes first identification information of a specified storage area in a main storage node;
a reading module 620, configured to read original data from a designated storage area according to the first identification information;
an obtaining module 630, configured to, if the reading fails, obtain original data by reading data from any backup storage node;
and the repairing module 640 is configured to feed back the obtained original data to the client, and perform an overwriting operation on the obtained original data in the specified storage area to repair a bad track in the specified storage area.
Optionally, any backup storage node stores a copy of the original data; the obtaining module 630 may be specifically configured to:
sending an acquisition request to any backup storage node, wherein the acquisition request comprises second identification information of a storage area in the backup storage node, which stores the copy of the original data, so that the backup storage node reads from the storage area and feeds back the copy of the original data to the main storage node according to the second identification information;
and receiving a copy of the original data fed back by the standby storage node as the original data.
Optionally, check code data of the original data is stored in any one of the standby storage nodes; the obtaining module 630 may be specifically configured to:
sending an acquisition request to any standby storage node, wherein the acquisition request comprises third identification information of a storage area in the standby storage node, which stores the check code data, so that the standby storage node reads the check code data from the storage area and feeds the check code data back to the main storage node according to the third identification information;
and receiving check code data fed back by the standby storage node, and restoring the check code data to obtain original data.
Optionally, the apparatus may further include:
the dividing module is used for dividing the designated storage area into a plurality of first sub-storage blocks and sending a dividing instruction to each standby storage node if data is not read from all the standby storage nodes, so that each standby storage node divides the local storage area into a plurality of second sub-storage blocks according to the dividing instruction, and each first sub-storage block corresponds to each second sub-storage block one to one;
the reading module can be further used for respectively reading each subdata obtained by dividing the original data from each first sub-storage block;
the obtaining module may be further configured to, for any first sub storage block, if sub data is not read, obtain the sub data by reading data of a second sub storage block corresponding to the first sub storage block in any backup storage node;
the repair module 640 may be specifically configured to:
and feeding back each sub-data read from the first sub-storage block and each sub-data obtained from the second sub-storage block to the client, and performing an overwriting writing operation on each sub-data obtained from the second sub-storage block in the first sub-storage block storing the sub-data in the specified storage area so as to repair the bad track of the specified storage area.
Optionally, any backup storage node stores a copy of the original data; the obtaining module 630 may be specifically configured to:
sending an acquisition request to any backup storage node, wherein the acquisition request comprises fourth identification information of a second sub storage block corresponding to the first sub storage block in the backup storage node, so that the backup storage node reads from the second sub storage block and feeds back a copy of the sub data to the main storage node according to the fourth identification information;
and receiving a copy of the subdata fed back by the backup storage node as the subdata.
Optionally, check code data of the original data is stored in any one of the standby storage nodes; the obtaining module 630 may be specifically configured to:
sending an acquisition request to any standby storage node, wherein the acquisition request comprises fifth identification information of a second sub storage block corresponding to the first sub storage block in the standby storage node, so that the standby storage node reads sub check code data from the second sub storage block and feeds back the sub check code data to the main storage node according to the fifth identification information;
and receiving sub-check code data fed back by the backup storage node, and restoring the sub-check code data to obtain sub-data.
By applying the embodiment of the invention, the main storage node acquires the reading request sent by the client, reads the original data from the local specified storage area according to the first identification information of the specified storage area carried by the reading request, and if the reading fails, acquires the original data by reading the data from any backup storage node, feeds the acquired original data back to the client, and performs the covering and writing operation on the acquired original data in the specified storage area to repair the bad track of the specified storage area. If the reading fails in the process of reading the original data from the designated storage area of the main storage node, the designated storage area is indicated to possibly have a bad track, at the moment, the original data is obtained by reading the data from any backup storage node, the obtained original data is fed back to the client, the obtained original data is subjected to covering writing operation in the designated storage area, and the repairing of the bad track is completed if the writing is successful. In the bad channel repairing process, the storage nodes with the bad channels do not need to be isolated, the operations of feeding back original data to the client and repairing the bad channels are synchronously performed, the occurrence of service interruption is avoided, and therefore the influence of the bad channel repairing on the service performance of the distributed storage system is reduced.
Embodiments of the present invention also provide a storage device, as shown in fig. 7, the storage device includes a processor 701 and a machine-readable storage medium 702, where the machine-readable storage medium 702 stores machine-executable instructions capable of being executed by the processor 701, and the processor is caused by the machine-executable instructions to: the data reading method provided by the embodiment of the invention is realized.
In the embodiment of the present invention, the processor 701 is caused by machine executable instructions to realize that by reading the machine executable instructions stored in the machine readable storage medium 702: the main storage node obtains a reading request sent by a client, reads original data from a local specified storage area according to first identification information of the specified storage area carried by the reading request, if the reading fails, the original data is obtained by reading the data from any one of the standby storage nodes, the obtained original data is fed back to the client, and the obtained original data is subjected to covering and writing operation in the specified storage area to repair a bad track of the specified storage area. If the reading fails in the process of reading the original data from the designated storage area of the main storage node, the designated storage area is indicated to possibly have a bad track, at the moment, the original data is obtained by reading the data from any backup storage node, the obtained original data is fed back to the client, the obtained original data is subjected to covering writing operation in the designated storage area, and the repairing of the bad track is completed if the writing is successful. In the bad channel repairing process, the storage nodes with the bad channels do not need to be isolated, the operations of feeding back original data to the client and repairing the bad channels are synchronously performed, the occurrence of service interruption is avoided, and therefore the influence of the bad channel repairing on the service performance of the distributed storage system is reduced.
The machine-readable storage medium may include a RAM (Random Access Memory) and a NVM (Non-volatile Memory), such as at least one disk Memory. Alternatively, the machine-readable storage medium may be at least one memory device located remotely from the processor.
The Processor may be a general-purpose Processor, including a Central Processing Unit (CPU), a Network Processor (NP), and the like; but also a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array) or other Programmable logic device, discrete Gate or transistor logic device, discrete hardware component.
In addition, an embodiment of the present invention provides a machine-readable storage medium, where machine-executable instructions are stored in the machine-readable storage medium, and when the machine-readable storage medium is called and executed by a processor, the data reading method provided in the embodiment of the present application is implemented.
In this embodiment, the machine executable instructions stored in the machine readable storage medium are capable of, when executed: the main storage node obtains a reading request sent by a client, reads original data from a local specified storage area according to first identification information of the specified storage area carried by the reading request, if the reading fails, the original data is obtained by reading the data from any one of the standby storage nodes, the obtained original data is fed back to the client, and the obtained original data is subjected to covering and writing operation in the specified storage area to repair a bad track of the specified storage area. If the reading fails in the process of reading the original data from the designated storage area of the main storage node, the designated storage area is indicated to possibly have a bad track, at the moment, the original data is obtained by reading the data from any backup storage node, the obtained original data is fed back to the client, the obtained original data is subjected to covering writing operation in the designated storage area, and the repairing of the bad track is completed if the writing is successful. In the bad channel repairing process, the storage nodes with the bad channels do not need to be isolated, the operations of feeding back original data to the client and repairing the bad channels are synchronously performed, the occurrence of service interruption is avoided, and therefore the influence of the bad channel repairing on the service performance of the distributed storage system is reduced.
For the embodiments of the storage device and the machine-readable storage medium, since the contents of the related methods are substantially similar to those of the foregoing embodiments of the methods, the description is relatively simple, and for the relevant points, reference may be made to the partial description of the embodiments of the methods.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
All the embodiments in the present specification are described in a related manner, and the same and similar parts among the embodiments may be referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the apparatus, storage device, and machine-readable storage medium embodiments, since they are substantially similar to the method embodiments, the description is relatively simple, and in relation to the description, reference may be made to some portions of the method embodiments.
The above description is only for the preferred embodiment of the present invention, and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention shall fall within the protection scope of the present invention.
Claims (14)
1. A data reading method applied to a master storage node of a distributed storage system, the method comprising:
acquiring a reading request sent by a client, wherein the reading request comprises first identification information of a designated storage area in the main storage node;
reading original data from the designated storage area according to the first identification information;
if the reading fails, the original data is obtained by reading data from any backup storage node;
and feeding back the obtained original data to the client, and performing an overlay write operation on the obtained original data in the specified storage area to repair a bad track of the specified storage area.
2. The method of claim 1, wherein any of the backup storage nodes stores a copy of the original data; the obtaining the original data by reading data from any backup storage node includes:
sending an acquisition request to any backup storage node, wherein the acquisition request comprises second identification information of a storage area in any backup storage node, which stores the copy of the original data, so that any backup storage node reads from the storage area and feeds back the copy of the original data to the main storage node according to the second identification information;
and receiving a copy of the original data fed back by any backup storage node as the original data.
3. The method of claim 1, wherein any of the backup storage nodes stores parity data of the original data; the obtaining the original data by reading data from any backup storage node includes:
sending an acquisition request to any standby storage node, wherein the acquisition request comprises third identification information of a storage area in any standby storage node, which stores the check code data, so that any standby storage node reads from the storage area and feeds the check code data back to the main storage node according to the third identification information;
and receiving the check code data fed back by any backup storage node, and restoring the check code data to obtain the original data.
4. The method of claim 1, wherein after the retrieving the raw data by reading data from any of the backup storage nodes, the method further comprises:
if the data are not read from all the standby storage nodes, dividing the designated storage area into a plurality of first sub-storage blocks, and sending a dividing instruction to each standby storage node, so that each standby storage node divides the local storage area into a plurality of second sub-storage blocks according to the dividing instruction, wherein each first sub-storage block corresponds to each second sub-storage block one to one;
reading each subdata obtained by dividing the original data from each first sub storage block respectively;
for any first sub storage block, if the subdata is not read, reading the data of a second sub storage block corresponding to the first sub storage block in any backup storage node to obtain the subdata;
the feeding back the obtained original data to the client and performing an overlay write operation on the obtained original data in the specified storage area includes:
and feeding back the sub data read from the first sub storage block and the sub data obtained from the second sub storage block to the client, and performing an overwriting operation on the first sub storage block storing the sub data in the specified storage area aiming at the sub data obtained from the second sub storage block so as to repair a bad track of the specified storage area.
5. The method of claim 4, wherein any of the backup storage nodes stores a copy of the original data; the obtaining the sub data by reading the data of the second sub storage block corresponding to the first sub storage block in any backup storage node includes:
sending an acquisition request to any backup storage node, wherein the acquisition request comprises fourth identification information of a second sub storage block corresponding to the first sub storage block in any backup storage node, so that any backup storage node reads from the second sub storage block and feeds back a copy of the sub data to the main storage node according to the fourth identification information;
and receiving a copy of the subdata fed back by any backup storage node as the subdata.
6. The method of claim 4, wherein any of the backup storage nodes stores parity data of the original data; the obtaining the sub data by reading the data of the second sub storage block corresponding to the first sub storage block in any backup storage node includes:
sending an acquisition request to any standby storage node, wherein the acquisition request comprises fifth identification information of a second sub storage block corresponding to the first sub storage block in any standby storage node, so that any standby storage node reads sub check code data from the second sub storage block and feeds back the sub check code data to the main storage node according to the fifth identification information;
and receiving sub-check code data fed back by any backup storage node, and restoring the sub-check code data to obtain sub-data.
7. A data reading apparatus applied to a master storage node of a distributed storage system, the apparatus comprising:
an obtaining module, configured to obtain a read request sent by a client, where the read request includes first identification information of a specified storage area in the main storage node;
the reading module is used for reading original data from the specified storage area according to the first identification information;
an obtaining module, configured to, if the reading fails, obtain the original data by reading data from any of the backup storage nodes;
and the repairing module is used for feeding back the obtained original data to the client and performing covering write-in operation on the obtained original data in the specified storage area so as to repair the bad track of the specified storage area.
8. The apparatus according to claim 7, wherein any of the backup storage nodes stores a copy of the original data; the obtaining module is specifically configured to:
sending an acquisition request to any backup storage node, wherein the acquisition request comprises second identification information of a storage area in any backup storage node, which stores the copy of the original data, so that any backup storage node reads from the storage area and feeds back the copy of the original data to the main storage node according to the second identification information;
and receiving a copy of the original data fed back by any backup storage node as the original data.
9. The apparatus of claim 7, wherein any of the storage nodes stores parity data of the original data; the obtaining module is specifically configured to:
sending an acquisition request to any standby storage node, wherein the acquisition request comprises third identification information of a storage area in any standby storage node, which stores the check code data, so that any standby storage node reads from the storage area and feeds the check code data back to the main storage node according to the third identification information;
and receiving the check code data fed back by any backup storage node, and restoring the check code data to obtain the original data.
10. The apparatus of claim 7, further comprising:
the dividing module is used for dividing the designated storage area into a plurality of first sub-storage blocks and sending a dividing instruction to each standby storage node if data is not read from all the standby storage nodes, so that each standby storage node divides the local storage area into a plurality of second sub-storage blocks according to the dividing instruction, and each first sub-storage block corresponds to each second sub-storage block one to one;
the reading module is further configured to read each sub data obtained by dividing the original data from each first sub storage block;
the obtaining module is further configured to, for any first sub storage block, if sub data is not read, obtain the sub data by reading data of a second sub storage block corresponding to the first sub storage block in any backup storage node;
the repair module is specifically configured to:
and feeding back the sub data read from the first sub storage block and the sub data obtained from the second sub storage block to the client, and performing an overwriting operation on the first sub storage block storing the sub data in the specified storage area aiming at the sub data obtained from the second sub storage block so as to repair a bad track of the specified storage area.
11. The apparatus according to claim 10, wherein any of the backup storage nodes stores a copy of the original data; the obtaining module is specifically configured to:
sending an acquisition request to any backup storage node, wherein the acquisition request comprises fourth identification information of a second sub storage block corresponding to the first sub storage block in any backup storage node, so that any backup storage node reads from the second sub storage block and feeds back a copy of the sub data to the main storage node according to the fourth identification information;
and receiving a copy of the subdata fed back by any backup storage node as the subdata.
12. The apparatus of claim 10, wherein any of the storage nodes stores parity data of the original data; the obtaining module is specifically configured to:
sending an acquisition request to any standby storage node, wherein the acquisition request comprises fifth identification information of a second sub storage block corresponding to the first sub storage block in any standby storage node, so that any standby storage node reads sub check code data from the second sub storage block and feeds back the sub check code data to the main storage node according to the fifth identification information;
and receiving sub-check code data fed back by any backup storage node, and restoring the sub-check code data to obtain sub-data.
13. A storage device comprising a processor and a machine-readable storage medium, wherein the machine-readable storage medium stores machine-executable instructions executable by the processor; the processor is caused by machine-executed instructions to: carrying out the method of any one of claims 1 to 6.
14. A machine-readable storage medium having stored thereon machine-executable instructions which, when invoked and executed by a processor, perform the method of any of claims 1-6.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911266222.7A CN111124740A (en) | 2019-12-11 | 2019-12-11 | Data reading method and device, storage equipment and machine-readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911266222.7A CN111124740A (en) | 2019-12-11 | 2019-12-11 | Data reading method and device, storage equipment and machine-readable storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111124740A true CN111124740A (en) | 2020-05-08 |
Family
ID=70498573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911266222.7A Pending CN111124740A (en) | 2019-12-11 | 2019-12-11 | Data reading method and device, storage equipment and machine-readable storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111124740A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930550A (en) * | 2020-08-18 | 2020-11-13 | 政采云有限公司 | Client repairing method, device, equipment and medium |
CN113849352A (en) * | 2021-09-27 | 2021-12-28 | 北京金山云网络技术有限公司 | Business data storage exception processing method and device and server |
CN114489464A (en) * | 2020-10-27 | 2022-05-13 | 北京金山云网络技术有限公司 | Data writing method and device and electronic equipment |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103370692A (en) * | 2012-11-21 | 2013-10-23 | 华为技术有限公司 | Method and apparatus for restoring data |
CN104639661A (en) * | 2015-03-13 | 2015-05-20 | 华存数据信息技术有限公司 | Distributed storage system and storing and reading method for files |
CN106201788A (en) * | 2016-07-26 | 2016-12-07 | 乐视控股(北京)有限公司 | Copy restorative procedure and system for distributed storage cluster |
CA3071925A1 (en) * | 2016-11-16 | 2018-05-24 | 10353744 Canada Ltd. | Erasure code-based partial write-in method and apparatus, storage medium and equipment |
US20180260146A1 (en) * | 2017-03-10 | 2018-09-13 | International Business Machines Corporation | Managing data storage by an asynchronous copy service |
US10191678B1 (en) * | 2017-04-27 | 2019-01-29 | EMC IP Holding Company LLC | System and method for data re-protection with erasure coding |
CN109783016A (en) * | 2018-12-25 | 2019-05-21 | 西安交通大学 | A kind of elastic various dimensions redundancy approach in distributed memory system |
-
2019
- 2019-12-11 CN CN201911266222.7A patent/CN111124740A/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103370692A (en) * | 2012-11-21 | 2013-10-23 | 华为技术有限公司 | Method and apparatus for restoring data |
CN104639661A (en) * | 2015-03-13 | 2015-05-20 | 华存数据信息技术有限公司 | Distributed storage system and storing and reading method for files |
CN106201788A (en) * | 2016-07-26 | 2016-12-07 | 乐视控股(北京)有限公司 | Copy restorative procedure and system for distributed storage cluster |
CA3071925A1 (en) * | 2016-11-16 | 2018-05-24 | 10353744 Canada Ltd. | Erasure code-based partial write-in method and apparatus, storage medium and equipment |
US20180260146A1 (en) * | 2017-03-10 | 2018-09-13 | International Business Machines Corporation | Managing data storage by an asynchronous copy service |
US10191678B1 (en) * | 2017-04-27 | 2019-01-29 | EMC IP Holding Company LLC | System and method for data re-protection with erasure coding |
CN109783016A (en) * | 2018-12-25 | 2019-05-21 | 西安交通大学 | A kind of elastic various dimensions redundancy approach in distributed memory system |
Non-Patent Citations (3)
Title |
---|
YUZHE LI ET AL: "RE-Store: Reliable and Efficient KV-Store with Erasure Coding and Replication", 《2019 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING (CLUSTER)》 * |
刘冰星等: "一种网络编码分布式存储系统中的数据更新策略", 《小型微型计算机系统》 * |
汪先锋: "《生态环境大数据》", 31 October 2019, 中国环境出版社 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930550A (en) * | 2020-08-18 | 2020-11-13 | 政采云有限公司 | Client repairing method, device, equipment and medium |
CN114489464A (en) * | 2020-10-27 | 2022-05-13 | 北京金山云网络技术有限公司 | Data writing method and device and electronic equipment |
CN113849352A (en) * | 2021-09-27 | 2021-12-28 | 北京金山云网络技术有限公司 | Business data storage exception processing method and device and server |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2017228544B2 (en) | Nonvolatile media dirty region tracking | |
CN106776130B (en) | Log recovery method, storage device and storage node | |
US9430329B2 (en) | Data integrity management in a data storage device | |
US7640412B2 (en) | Techniques for improving the reliability of file systems | |
JP5466953B2 (en) | Backup method and disk array system | |
US6701455B1 (en) | Remote copy system with data integrity | |
EP2857971B1 (en) | Method and device for repairing error data | |
US10481988B2 (en) | System and method for consistency verification of replicated data in a recovery system | |
CN111124740A (en) | Data reading method and device, storage equipment and machine-readable storage medium | |
WO2024113685A1 (en) | Data recovery method for raid array and related apparatus | |
CN112214175A (en) | Data processing method, data processing device, data node and storage medium | |
US20040128582A1 (en) | Method and apparatus for dynamic bad disk sector recovery | |
CN117472292B (en) | Data reconstruction method for redundant array of independent disk, storage system and controller | |
JP4143040B2 (en) | Disk array control device, processing method and program for data loss detection applied to the same | |
JP2001142650A (en) | Method and device for controlling array disk | |
US20100169572A1 (en) | Data storage method, apparatus and system for interrupted write recovery | |
JP2018136735A (en) | Memory controller and memory control method | |
CN118152181A (en) | Solid state disk data recovery method, terminal equipment, electronic equipment and storage medium | |
US20220374310A1 (en) | Write request completion notification in response to partial hardening of write data | |
US20220254435A1 (en) | Semiconductor storage device and error processing method for defective memory cell in the device | |
CN108228090A (en) | Hard disk array and reconstruction method thereof | |
CN116601609A (en) | Storing data in computer storage | |
CN107122261B (en) | Data reading and writing method and device of storage equipment | |
JP2000047832A (en) | Disk array device and its data control method | |
CN118708130B (en) | Remote replication method and device for data volume, computer equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200508 |