WO2014056381A1 - 数据冗余实现方法及装置 - Google Patents
数据冗余实现方法及装置 Download PDFInfo
- Publication number
- WO2014056381A1 WO2014056381A1 PCT/CN2013/083249 CN2013083249W WO2014056381A1 WO 2014056381 A1 WO2014056381 A1 WO 2014056381A1 CN 2013083249 W CN2013083249 W CN 2013083249W WO 2014056381 A1 WO2014056381 A1 WO 2014056381A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- storage
- stored
- read
- page
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/373—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
-
- 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
-
- 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/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Definitions
- the present invention relates to the field of communications, and in particular to a data redundancy implementation method and apparatus.
- BACKGROUND OF THE INVENTION In distributed file systems, peripheral storage and local storage devices are used on a large scale. If no additional data redundancy scheme is adopted in the storage system, each additional node will result in a decrease in the security performance of the entire system. As capacity expands, systems become more and more insecure, making them almost unusable.
- the data redundancy scheme must be used to protect the data, and after a certain number of nodes fail to lose data, the redundant nodes are used to recover the faulty nodes to ensure data security. In today's information age, the storage of large amounts of data makes storage space a necessary resource.
- Embodiments of the present invention provide a data redundancy implementation method and apparatus, to at least solve the problem that the related storage technology cannot provide higher storage space utilization.
- a data redundancy implementation method including: acquiring a storage policy identifier of data to be stored; storing the data to be stored in a storage manner corresponding to the storage policy identifier, where The storage policy identifier is used to indicate at least one of the following storage modes: a copy redundancy processing mode, and an erasure codec processing method.
- the storing the data to be stored in the storage mode of the erasure codec processing comprises: obtaining, from the metadata server, the coding ratio information for performing the erasure coding EC coding on the to-be-stored data, where the coding ratio information includes: The number N of data blocks divided by each page of data to be stored, the number M of redundant data blocks after encoding each block of data, the above N and the above M are natural numbers; according to the above coding ratio information and the data to be stored The size of each page of the data to be stored is divided into the above N data blocks, and EC coding is performed by using the above N data blocks as a group, and each of the M redundant data blocks is generated for each group; and when all the data blocks in one page are encoded, the encoded data of the above one page is obtained.
- the block is stored in the database.
- storing the encoded data block of the one page in the database comprises: sending a request message for applying the foregoing N plus the M storage nodes to the database; receiving a reply message of the request message, where the reply message includes : N is added to the node information of the M storage nodes, the N is added to the location information of the M storage nodes; and the N is encoded by the N-th data block and the M data is encoded according to the node information and the location information.
- the blocks are respectively stored in the above-mentioned N plus the above-mentioned M storage nodes.
- storing, according to the node information and the location information, the N and the M data blocks that are encoded by the data block of each page are respectively stored in the N and the M storage nodes that are applied to include: detecting each If there is a failure in the page-encoded data block that is greater than the above-mentioned M data block storage failure, an alarm or notification of the storage failure is sent.
- storing, according to the node information and the location information, the N and the M data blocks that are encoded by the data block of each page are respectively stored in the N and the M storage nodes that are applied to include: detecting each If the data block in the page encoding has less than or equal to the storage failure of the M data blocks, the data block that failed to be stored is re-stored in the storage node corresponding to the storage failure data block, or the data block that fails to be stored is re-stored. Go to the newly requested storage node.
- the data redundancy implementation method further includes: acquiring the read information of the data to be read, where the read information includes: The storage policy identifier of the read data; the storage policy identifier of the data to be read is read by the corresponding read mode, wherein the storage policy identifier of the data to be read is used to indicate the to-be-read
- the data is stored in at least one of the following: a copy redundancy processing method, an erasure coding and decoding processing method.
- the reading the data to be read by using the corresponding reading manner according to the storage policy identifier of the data to be read includes: acquiring the storage in a case where the storage mode of the data to be read adopts an erasure coding and decoding processing manner
- the storage information corresponding to the N and M data blocks that are encoded by the page to be read wherein the storage information includes: the N plus the storage node information of the M storage nodes, and the N plus The position information of the M storage nodes, wherein the N and the M are natural numbers; and reading the N-coded N and the M data blocks from the N and the M storage nodes according to the storage information;
- the N and the M data blocks are sequentially selected to sequentially select the N data blocks for EC decoding, and the data of each page is recovered.
- a data redundancy implementation apparatus including: a first obtaining module, configured to acquire a storage policy identifier of data to be stored; and a storage module configured to adopt the storage policy identifier
- the storage method is configured to store the data to be stored, where the to-be-stored policy identifier is used to indicate at least one of the following storage modes: a replica redundancy processing manner, and an erasure/decryption encoding and decoding processing manner.
- the foregoing storage module includes: an obtaining unit, configured to acquire, from the metadata server, coding ratio information for performing EC coding on the to-be-stored data, where the coding ratio information includes: dividing each page data of the to-be-stored data The number N of data blocks, the number M of redundant data blocks after encoding each block of data, the above N and the above M are natural numbers; the coding unit is set to be based on the above coding ratio information and the size of the data to be stored Each page of data to be stored is divided into the above N data blocks, and EC coding is performed by using the above N data blocks as a group, and each of the M redundant data blocks is generated in each group; the storage unit is set to be in the pair In the case where all the data blocks in one page are encoded, the encoded data block of the above page is stored in the database.
- the data redundancy implementing apparatus further includes: a second obtaining module, configured to acquire read information of the data to be read, wherein the read information includes: a storage policy identifier of the data to be read;
- the storage policy identifier is set to read the data to be read according to the storage policy identifier of the data to be read, wherein the storage policy identifier of the data to be read is used to indicate that the storage manner of the data to be read is adopted.
- the storage policy identifier of the data to be stored is first obtained, where the storage policy identifier is used to indicate at least one of the following storage modes: a replica redundancy processing manner, an erasure decoding codec processing manner, and then adopting
- the storage manner corresponding to the storage policy identifier stores the data to be stored, that is, the storage manner of the storage data may be set according to different needs or actual conditions, for example, when the storage space is sufficient, the redundant processing method may be adopted.
- the foregoing data to be stored is stored, and when the storage space utilization needs to be improved, the data to be stored may be stored by using an erasure coding and decoding process to reduce data redundancy and improve storage while ensuring data security and reliability.
- FIG. 1 is a flow chart of a method for implementing data redundancy according to an embodiment of the present invention
- 2 is a structural block diagram of a data redundancy implementing apparatus according to an embodiment of the present invention
- FIG. 2 is a structural block diagram of a data redundancy implementing apparatus according to an embodiment of the present invention
- FIG. 3 is a structural block diagram of a memory module according to an embodiment of the present invention
- FIG. 4 is another data redundancy implementing apparatus according to an embodiment of the present invention
- FIG. 5 is a schematic structural diagram of a data redundancy implementation system according to an embodiment of the present invention
- FIG. 6 is a flowchart of erasure coding and deletion of data when using an erasure coding and decoding processing method according to an embodiment of the present invention
- 7 is a flowchart of erasing and erasing data when using an erasure codec processing method according to an embodiment of the present invention
- FIG. 8 is a flowchart of writing a file by using an erasure codec processing method according to an embodiment of the present invention
- FIG. 8 is a flowchart of writing a file by using an erasure codec processing method according to an embodiment of the present invention
- FIG. 9 is a flowchart of reading a file by using an erasure codec processing method according to an embodiment of the present invention.
- BEST MODE FOR CARRYING OUT THE INVENTION the present invention will be described in detail with reference to the accompanying drawings. It should be noted that the embodiments in the present application and the features in the embodiments may be combined with each other without conflict.
- This embodiment provides a data redundancy implementation method. As shown in FIG. 1, the data redundancy implementation method includes steps S102 to S104. Step S102: Acquire a storage policy identifier of the data to be stored.
- Step S104 Store the data to be stored in a storage manner corresponding to the storage policy identifier, where the storage policy identifier is used to indicate at least one of the following storage modes: a copy redundancy processing manner, and an erasure/decryption encoding and decoding processing manner.
- the storage policy identifier is used to indicate at least one of the following storage modes: a replica redundancy processing manner, an erasure/decryption encoding and decoding processing manner, and then adopting
- the storage policy identifies the corresponding storage manner to store the data to be stored, that is, the storage manner of the storage data to be set according to different needs or actual conditions.
- the redundant processing method may be used to store the foregoing storage.
- the erasure codec processing method may be used to store the data to be stored, so as to ensure data security and reliability. Reduce data redundancy and improve storage space utilization. Therefore, the storage method of storing data according to different needs or actual conditions can be set, thereby improving the flexibility of data redundancy.
- the foregoing data redundancy implementation method can be applied to a distributed file system to improve the storage space utilization of the distributed file system, and also ensure the reliability of the stored data. Determine copy redundancy processing or erasure codec processing for the data to be stored according to the configuration environment and requirements.
- the copy redundancy technique is to save a complete copy of multiple data to be stored.
- the erasure correction coding process is to encode the data to be encoded according to an Erasure Code (EC) algorithm to form a plurality of fragments; when the system finds that part of the fragments is damaged, the decoding algorithm is performed on the encoded data. Data can still be recovered correctly to avoid system data corruption.
- EC Erasure Code
- the copy redundancy mechanism can be selected.
- the method of erasing the codec can be selected to improve the data reliability. .
- the above data redundancy implementation method proposes a new configurable implementation scheme suitable for distributed file system data redundancy compared with the existing single full replica data redundancy implementation method, the above data redundancy implementation method can When the storage space is sufficient, you can use the full copy mode; you can also use the EC algorithm to encode the stored data in the same storage space, which will be less redundant than the full copy mode. Therefore, compared with the single storage method that uses the replica mechanism to achieve data reliability, under the same data reliability, the data redundancy implementation method of the EC algorithm can effectively improve the utilization of the storage space. Depending on the configuration of the redundancy scheme, the corresponding redundancy scheme is stored for the data to be stored, which greatly increases the practicability of the storage system.
- the data to be stored may be stored in a storage manner of the erasure/decoding and decoding process.
- storing the data to be stored by using the storage method of the above-described erasure coding and decoding process includes: acquiring from a metadata server The encoding ratio information for performing EC encoding on the data to be stored, wherein the encoding ratio information includes: a number N of data blocks divided by each page of the data to be stored, and redundant data encoded by each page of data blocks
- the number of blocks M, the above N and the above M are natural numbers; and each page of the data to be stored is divided into the N pieces of data according to the coding ratio information and the size of the data to be stored, and the N pieces of data are used.
- the above-mentioned N value and M value can be set according to different needs. For example, when the storage space is sufficient, M can be set larger, N value is set smaller, when the data to be stored is larger, and / Or if you need to increase the storage space utilization, set the M value to be smaller and the N value to be larger, that is, you can set the appropriate N value and M value according to different needs and/or actual conditions.
- the encoded data block of the above page may be stored into the database by the following steps in the preferred embodiment, for example, in the case that all the data blocks in one page are not encoded, Applying N plus M buffer areas, storing the encoded data blocks in the buffer area of the application, and transmitting all the data blocks in the page to the database to apply for the above N plus the above M storage nodes.
- the request message is: a reply message of the request message, wherein the reply message includes: the N plus the node information of the M storage nodes, the N plus the location information of the M storage nodes; and the location information according to the node information
- the information stores the N and the M data blocks encoded by each of the above data blocks in the N and the M storage nodes that are applied for.
- the N and the M data blocks encoded by the data block of each page are respectively stored in the N-addition mentioned above according to the node information and the location information.
- the M storage nodes include: an alarm or a notification that the storage failure fails to be sent when the encoded data block of each page is greater than the storage failure of the M data blocks. That is, if it is detected that there is a storage failure greater than the above M data blocks, an alarm or notification that the storage (write) fails is sent to indicate that the data storage to be stored fails.
- the N and the M pieces encoded by the data block of each page are encoded according to the node information and the location information.
- the data blocks are respectively stored in the above-mentioned N plus the above-mentioned M storage nodes, and include: when it is detected that each of the encoded data blocks has less than or equal to the storage failure of the M data blocks, the failed data block will be stored. Re-storing to the storage node corresponding to the storage failure data block, or re-storing the data block that failed to be stored in the newly applied storage node.
- the data redundancy implementation method further includes: acquiring the data to be read.
- the information to be read includes: the storage policy identifier of the data to be read; the storage policy identifier of the data to be read, the data to be read is read by using a corresponding reading manner, where the foregoing to be read
- the storage policy identifier of the data is used to indicate that the storage manner of the data to be read is at least one of the following: a replica redundancy processing manner, and an erasure/decryption encoding and decoding processing manner.
- the data can be read according to the storage method, and the encoded data is decoded to recover the data.
- the data to be read may be read by using an erasure/decryption code processing manner, for example, reading the to-be-read according to the storage policy identifier of the data to be read in a corresponding reading manner.
- Obtaining data includes: storing, in the case where the storage mode of the data to be read is an erasure codec processing manner, storing information corresponding to each of the N and M data blocks encoded by each page of the data to be read, where
- the storage information includes: the N plus the storage node information of the M storage nodes, and the N plus the M Location information of the storage node, wherein the N and the M are natural numbers; and reading the N-coded N and the M data blocks from the N and the M storage nodes according to the storage information;
- the N and the M data blocks are sequentially selected by the N data blocks for EC decoding, and the data of each page is recovered.
- a data redundancy implementation apparatus is provided. As shown in FIG.
- the data redundancy implementation apparatus includes: a first acquisition module 202, configured to acquire a storage policy identifier of data to be stored;
- the second obtaining module 202 is configured to store the data to be stored in a storage manner corresponding to the foregoing storage policy identifier, where the storage policy identifier is used to indicate at least one of the following storage modes: Mode, erasure codec processing method.
- the first obtaining module 202 obtains the storage policy identifier of the to-be-stored data, where the storage policy identifier is used to indicate at least one of the following storage modes: a replica redundancy processing manner, an erasure/decryption encoding and decoding process.
- the storage module 204 stores the data to be stored in a storage manner corresponding to the storage policy identifier, that is, the storage manner of the storage data may be set according to different needs or actual conditions, for example, when the storage space is sufficient.
- the data to be stored may be stored in a redundant manner, and when the storage space utilization needs to be improved, the data to be stored may be stored by using an erasure coding and decoding process to ensure data security and reliability. Reduce data redundancy and improve storage space utilization. Therefore, the storage method of storing data according to different needs or actual conditions can be set, thereby improving the flexibility of data redundancy.
- the storage manner of the storage data may be set according to different needs or actual conditions, for example, when the storage space is sufficient.
- the data to be stored may be stored in a redundant manner, and when the storage space utilization needs to be improved, the data to be stored may be stored by using an erasure coding and decoding process to ensure data security and reliability. Reduce data redundancy and improve storage space utilization. Therefore, the storage method of
- the foregoing storage module 204 includes: a first obtaining unit 2042, configured to acquire, from a metadata server, coding ratio information for performing EC coding on the to-be-stored data, where the coding ratio is The information includes: a number N of data blocks divided by each page of data to be stored, a number M of redundant data blocks encoded by each page of data blocks, the above N and the above M being natural numbers; and an encoding unit 2044, connected The first obtaining unit 2042 is configured to divide each page data of the to-be-stored data into the N data blocks according to the coding ratio information and the size of the data to be stored, and perform the N data blocks as a group.
- the storage unit 2046 is connected to the encoding unit 2044, and is configured to encode the one page after all the data blocks in one page are encoded.
- the data blocks are stored in the database.
- the storage unit 2046 further includes: a sending subunit, configured to send a request message for applying the foregoing N to the M storage nodes to the database; a receiving subunit, connected to the sending subunit, configured to receive the foregoing a reply message of the request message, wherein the reply message includes: the N plus node information of the M storage nodes, the N plus the location information of the M storage nodes; the first storage subunit,
- the method is connected to the receiving subunit, and is configured to store the N and the M data blocks that have been encoded by the data block of each page according to the node information and the location information, respectively, to the N and the M storage nodes that are applied for.
- the storage unit 2046 further includes: a sending subunit, configured to detect the encoded data block in each page. If there is a failure to store more than the above M data blocks, an alarm or notification of the storage failure is sent. a second storage subunit, configured to detect, when the data block after coding of each page has less than or equal to the storage failure of the M data blocks, re-storing the data block that fails to be stored to the storage corresponding to the storage failure data block In the node, or re-storage the data block that failed to be stored in the newly requested storage node.
- a sending subunit configured to detect the encoded data block in each page. If there is a failure to store more than the above M data blocks, an alarm or notification of the storage failure is sent.
- a second storage subunit configured to detect, when the data block after coding of each page has less than or equal to the storage failure of the M data blocks, re-storing the data block that fails to be stored to the storage corresponding to the storage failure data block In the node, or re-
- the data redundancy implementing apparatus further includes: a second obtaining module 206, configured to acquire read information of data to be read, where The reading information includes: a storage policy identifier of the data to be read; the reading module 208 is connected to the second obtaining module 206, and configured to read the foregoing by using a corresponding reading manner according to the storage policy identifier of the data to be read.
- the reading module 208 may include: a second acquiring unit, configured to acquire, when the storage mode of the data to be read is in an erasure coding and decoding processing manner, to store the data to be read Storage information corresponding to N and M data blocks encoded per page, wherein the storage information includes: N and the storage node information of the M storage nodes, and the N plus the location information of the M storage nodes, N and the above M are natural numbers; the reading unit is connected to the second obtaining unit, and configured to read the N-coded N and the M data from the N and the M storage nodes according to the storage information And a decoding unit connected to the reading unit, configured to sequentially select the N data blocks from the read N and the M data blocks to perform EC decoding, and recover the data of each page.
- a second acquiring unit configured to acquire, when the storage mode of the data to be read is in an erasure coding and decoding processing manner, to store the data to be read Storage information corresponding to N and M data blocks encoded per page, wherein
- the above data redundancy implementing means may preferably be applied to a file access client in a distributed file system.
- the data redundancy implementation system includes: a file access client: responsible for providing a similar standard to an application oriented for the file system The interface of the file system invokes the service; it also exists as the actual codec side of the EC.
- Metadata server File Location Register, FLR (File Location Register): responsible for managing the file name, data block and other metadata information of all files in the file system; and providing metadata write and query to the file access client.
- FLR File Location Register
- the file storage attribute flag is added to identify the storage policy of the current file.
- FLR goes to the database to get the flag, and different storage attributes take different processing procedures.
- the metadata server needs to go to the database to obtain the coding proportion of the EC, and then determine the number of copies of the chunk (data block) and return it to the file access client;
- File Access Server responsible for this file system
- the storage medium interacts to perform the read and write operations of the actual data block; the response file accesses the data read and write request of the client, reads the data from the storage medium and returns it to the file access client; reads the data from the file access client and writes Storage media;
- Storage media Generally, it is a normal SCSI (Small Computer System Interface) disk or a SATA (Serial Advanced Technology Attachment) disk.
- a distributed file system (Distributed File System, DFS for short) file access client (File Access Client, referred to as FAC) is taken as an example.
- FAC Distributed File System
- FAC File Access Client
- RS Random-Solomon Codes
- FIG. 6 is a flowchart of erasing and erasing data using the erasure codec processing method according to an embodiment of the present invention. As shown in FIG.
- Step S602 FAC selects a page (equivalent to Step S604: The FAC reads K WORD (bytes) data from the page;
- Step S606 RS-encodes the data in the page to obtain N WORD-encoded data.
- Step S608 The N WORD encoded data are sequentially written into the N coding buffers.
- Step S610 It is judged whether or not a page has been read. If yes, the process goes to step S612, and if no, the process goes to step S604.
- Step S612 Write data of the N coding buffers to the corresponding FAS, respectively, and go to step S602.
- Step S702 FAC separately from K FASs
- the data is sequentially read into the K decoding buffers.
- Step S704 The FAC sequentially selects one WORD data from the K decoding buffer areas, that is, a total of K WORD data.
- Step S706 The FAC decodes the K WORD data to generate K decoded data.
- Step S708 The FAC sequentially stores the K decoded data into the page.
- Step S710 The FAC determines whether the data of the decoding buffer has been read.
- FIG. 8 is a flowchart of writing a file by using an erasure codec processing method according to an embodiment of the present invention. As shown in FIG.
- Step S802 Before accessing the write interface, the file access client The end needs to open (open) the file (equivalent to the data to be stored above) to obtain the file descriptor (fd), and the redundancy mechanism for obtaining the file chunk from the database through the metadata server (equivalent to the above storage strategy) Identifier) is a double copy or an identifier for the EC.
- Step S804 Enter the write interface, determine the storage policy identifier, and then invoke the corresponding policy flow.
- Step S806 The page (page) is divided into smaller data blocks in units of pages (the size of each data block may be 1 Byte (bytes) or the like, and may be based on actual N and M values and pagesize ( Page size) setting, can not be changed after setting), then EC coded for each N data block, and save the encoded data block into the newly applied N+M cache until all the pages (pages) The blocks are all encoded and a page is written.
- Step S808 Before the FAC (File Access Client) writes the encoded data block from the cache to the FAS (File Access Server), it needs to apply for N+M storage nodes to the database to obtain N+M storage nodes.
- step S808 if there is a node write failure, then try to rewrite (two retry: one is to retry to continue writing the node, one is to retry the application to write to other nodes), if there are more than M nodes to write If the failure occurs, the page (page) fails to be written, that is, the file fails to be written, and a write failure alarm or notification is sent; if only M nodes fail to write, then the test is either retried or failed, but subsequent decoding recovery can be performed. Or take a decoding recovery when reading.
- Step S902 FAC first open (open) file (equivalent to the above) The data to be read), the policy identifier is obtained from the database through the metadata server.
- Step S904 Determine which redundancy policy the identifier is, and enter the corresponding process.
- Step S906 One page (page) A page (page) is read. When reading a page, it is necessary to first obtain the storage node information of the N+M storage nodes of the partition block storing the page (page). .
- Step S908 Read N+M chunks (file blocks) from the N+M nodes to the FAC (File Access Server) side, and then take the size of the divided blocks, and sequentially take them from the chunks (file blocks)
- the N data blocks decode the first set of N actual data blocks of the recovery page (page) until the entire page (page) is completely restored; in step S908, as long as no more than M nodes fail to read, the page can be completely restored ( Actual data of page); once more than M nodes fail to read, reading this page (page) fails.
- the storage policy identifier of the data to be stored is obtained, where the storage policy identifier is used to indicate at least one of the following storage modes: The processing mode, the erasure codec processing mode, and then storing the data to be stored in a storage manner corresponding to the storage policy identifier, that is, the storage manner of the storage data may be set according to different needs or actual conditions, for example, when When the storage space is sufficient, the redundant data processing method may be used to store the data to be stored.
- the data to be stored may be stored by using an erasure coding and decoding process to ensure data security.
- the storage method of storing data according to different needs or actual conditions can be set, thereby improving the flexibility of data redundancy.
- Industrial applicability The foregoing embodiment of the present invention can set the storage manner of the storage data according to different needs or actual conditions. For example, when the storage space is sufficient, the redundant processing method can be used to store the data to be stored, and when the storage space needs to be improved.
- the data to be stored may be stored by using an erasure coding and decoding process to reduce data redundancy and improve the utilization of the storage space while ensuring data security and reliability. Therefore, the implementation may be different.
- the storage method of the stored data needs to be set or actual conditions, thereby improving the flexibility of data redundancy implementation and having good industrial applicability.
- modules or steps of the present invention can be implemented by a general-purpose computing device, which can be concentrated on a single computing device or distributed over a network composed of multiple computing devices.
- they may be implemented by program code executable by the computing device, such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein.
- the steps shown or described are performed, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps are fabricated as a single integrated circuit module.
- the invention is not limited to any specific combination of hardware and software.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种数据冗余实现方法及装置,其中,该方法包括:获取待存储数据的存储策略标识;采用与存储策略标识相应的存储方式存储待存储数据,其中,存储策略标识用于指示采用以下存储方式的至少之一:副本冗余处理方式、纠删编解码处理方式。本发明解决了相关技术中无法提供更高的存储空间利用率的问题,从而在确保数据安全性、可靠性的同时,提高存储空间的利用率,高了数据冗余的实现的灵活性。
Description
数据冗余实现方法及装置 技术领域 本发明涉及通信领域, 具体而言, 涉及一种数据冗余实现方法及装置。 背景技术 在分布式文件系统中, 大规模地使用了外设存储和本地存储设备。 如果在存储系 统中不采取额外的数据冗余方案,每增加一个节点都会导致整个系统安全性能的下降。 随着容量的扩展, 系统变得越来越不安全, 以至于几乎不可用。 为了保证数据和系统 的安全性, 必须采用数据冗余方案对数据进行保护, 保证在一定数量的节点发生故障 丢失数据之后, 通过冗余数据来恢复故障节点, 确保数据安全。 在信息时代的今天, 大量数据的存储使得存储空间成为必要的资源。 目前的分布式文件系统大多采用的是 完全副本方式的冗余, 该方式只需要有一个副本安全就可以提供服务, 但其有一个不 足就是存储空间利用率较低。 现有的数据冗余技术无法提供更高的存储空间利用率。 因此, 需要一种新的分布式文件系统数据冗余策略, 能够根据存储环境的需求和实际 条件, 保证数据的可靠性和提高存储空间的利用率。 针对相关技术中上述至少之一的问题, 目前尚未提出有效的解决方案。 发明内容 本发明实施例提供了一种数据冗余实现方法及装置, 以至少解决相关技术中无法 提供更高的存储空间利用率的问题。 根据本发明实施例的一个方面, 提供了一种数据冗余实现方法, 其包括: 获取待 存储数据的存储策略标识; 采用与上述存储策略标识相应的存储方式存储上述待存储 数据, 其中, 上述存储策略标识用于指示采用以下存储方式的至少之一: 副本冗余处 理方式、 纠删编解码处理方式。 优选地, 采用纠删编解码处理的存储方式存储上述待存储数据包括: 从元数据服 务器获取对上述待存储数据进行纠删码 EC编码的编码比例信息, 其中, 上述编码比 例信息包括: 将上述待存储数据的每一页数据划分的数据块的数量 N、 每一页数据块 编码后的冗余数据块的数量 M, 上述 N和上述 M为自然数; 根据上述编码比例信息 和上述待存储数据的大小将上述待存储数据的每一页数据划分成上述 N个数据块, 并
以上述 N个数据块为一组进行 EC编码, 并每一组生成上述 M个冗余数据块; 在对一 页中所有的数据块编码完成的情况下,将上述一页的编码后的数据块存储到数据库中。 优选地, 将上述一页的编码后的数据块存储到数据库中包括: 向上述数据库发送 申请上述 N加上述 M个存储节点的请求消息; 接收上述请求消息的回复消息, 其中, 上述回复消息包括: 上述 N加上述 M个存储节点的节点信息、 上述 N加上述 M个存 储节点的位置信息; 根据上述节点信息和上述位置信息将上述每一页数据块编码后的 上述 N加上述 M个数据块分别存储到申请到的上述 N加上述 M个存储节点中。 优选地, 根据上述节点信息和上述位置信息将上述每一页数据块编码后的上述 N 加上述 M个数据块分别存储到申请到的上述 N加上述 M个存储节点中包括: 检测到 每一页编码后的数据块中有大于上述 M个数据块存储失败的情况下,发送存储失败的 告警或通知。 优选地, 根据上述节点信息和上述位置信息将上述每一页数据块编码后的上述 N 加上述 M个数据块分别存储到申请到的上述 N加上述 M个存储节点中包括: 检测到 每一页编码后的数据块中有小于等于上述 M个数据块存储失败的情况下,将存储失败 的数据块重新存储到上述存储失败数据块对应的存储节点中, 或者将存储失败的数据 块重新存储到新申请的存储节点中。 优选地, 在采用与上述存储策略标识相应的存储方式存储上述待存储数据之后, 上述数据冗余实现方法还包括: 获取待读取数据的读取信息, 其中, 上述读取信息包 括: 上述待读取数据的存储策略标识; 根据上述待读取数据的存储策略标识采用相应 的读取方式读取上述待读取数据, 其中, 上述待读取数据的存储策略标识用于指示上 述待读取数据的存储方式采用以下至少之一: 副本冗余处理方式、 纠删编解码处理方 式。 优选地, 根据上述待读取数据的存储策略标识采用相应的读取方式读取上述待读 取数据包括: 在上述待读取数据的存储方式采用纠删编解码处理方式的情况下, 获取 存储上述待读上述待读取数据的每一页编码后的 N加 M个数据块对应的存储信息, 其中, 上述存储信息包括: 上述 N加上述 M个存储节点的存储节点信息、 上述 N加 上述 M个存储节点的位置信息, 上述 N和上述 M为自然数; 根据上述存储信息从上 述 N加上述 M个存储节点中读取上述每一页编码后的上述 N加上述 M个数据块; 从 读取的上述 N加上述 M个数据块中按照顺序选择上述 N个数据块进行 EC解码, 恢 复得到上述每一页的数据。
根据本发明实施例的另一方面, 提供了一种数据冗余实现装置, 其包括: 第一获 取模块, 设置为获取待存储数据的存储策略标识; 存储模块, 设置为采用与上述存储 策略标识相应的存储方式存储上述待存储数据, 其中, 上述待存储策略标识用于指示 采用以下存储方式的至少之一: 副本冗余处理方式、 纠删编解码处理方式。 优选地, 上述存储模块包括: 获取单元, 设置为从元数据服务器获取对上述待存 储数据进行 EC编码的编码比例信息, 其中, 上述编码比例信息包括: 将上述待存储 数据的每一页数据划分的数据块的数量 N、 每一页数据块编码后的冗余数据块的数量 M, 上述 N和上述 M为自然数; 编码单元, 设置为根据上述编码比例信息和上述待存 储数据的大小将上述待存储数据的每一页数据划分成上述 N个数据块,并以上述 N个 数据块为一组进行 EC编码, 并每一组生成上述 M个冗余数据块; 存储单元, 设置为 在对一页中所有的数据块编码完成的情况下, 将上述一页的编码后的数据块存储到数 据库中。 优选地, 上述数据冗余实现装置还包括: 第二获取模块, 设置为获取待读取数据 的读取信息, 其中, 上述读取信息包括: 上述待读取数据的存储策略标识; 读取模块, 设置为根据上述待读取数据的存储策略标识采用相应的读取方式读取上述待读取数 据, 其中, 上述待读取数据的存储策略标识用于指示上述待读取数据的存储方式采用 以下至少之一: 副本冗余处理方式、 纠删编解码处理方式。 在本发明实施例中, 首先获取上述待存储数据的存储策略标识, 该存储策略标识 用于指示采用以下存储方式的至少之一: 副本冗余处理方式、 纠删编解码处理方式, 然后, 采用与所述存储策略标识相应的存储方式存储所述待存储数据, 即可以根据不 同需要或实际条件对待存储数据的存储方式进行设置, 例如, 当存储空间充裕时, 可 以采用副本冗余处理方式来存储上述待存储数据, 当需要提高存储空间利用率时, 可 以采用纠删编解码处理方式来存储上述待存储数据, 以在确保数据安全性、 可靠性的 同时, 降低数据冗余度, 提高存储空间的利用率, 因此, 实现可以根据不同需要或实 际条件对待存储数据的存储方式进行设置, 从而提高了数据冗余的实现的灵活性。 附图说明 此处所说明的附图用来提供对本发明的进一步理解, 构成本申请的一部分, 本发 明的示意性实施例及其说明用于解释本发明, 并不构成对本发明的不当限定。 在附图 中- 图 1是根据本发明实施例的数据冗余实现方法的流程图;
图 2是根据本发明实施例的数据冗余实现装置的结构框图; 图 3是根据本发明实施例的存储模块的结构框图; 图 4是根据本发明实施例的另一种数据冗余实现装置的结构框图; 图 5是根据本发明实施例的数据冗余实现系统的架构示意图; 图 6是根据本发明实施例的采用纠删编解码处理方式时对数据进行纠删编码的流 程图; 图 7是根据本发明实施例的采用纠删编解码处理方式时对数据进行纠删解码的流 程图; 图 8是根据本发明实施例的采用纠删编解码处理方式写入文件的流程图; 以及 图 9是根据本发明实施例的采用纠删编解码处理方式读取文件的流程图。 具体实施方式 下文中将参考附图并结合实施例来详细说明本发明。 需要说明的是, 在不冲突的 情况下, 本申请中的实施例及实施例中的特征可以相互组合。 本实施例提供了一种数据冗余实现方法, 如图 1所示, 该数据冗余实现方法包括 步骤 S102至步骤 S104。 步骤 S102: 获取待存储数据的存储策略标识。 步骤 S104: 采用与存储策略标识相应的存储方式存储待存储数据, 其中, 存储策 略标识用于指示采用以下存储方式的至少之一: 副本冗余处理方式、 纠删编解码处理 方式。 通过上述步骤, 首先获取上述待存储数据的存储策略标识, 该存储策略标识用于 指示采用以下存储方式的至少之一: 副本冗余处理方式、纠删编解码处理方式, 然后, 采用与所述存储策略标识相应的存储方式存储所述待存储数据, 即可以根据不同需要 或实际条件对待存储数据的存储方式进行设置, 例如, 当存储空间充裕时, 可以采用 副本冗余处理方式来存储上述待存储数据, 当需要提高存储空间利用率时, 可以采用 纠删编解码处理方式来存储上述待存储数据, 以在确保数据安全性、 可靠性的同时,
降低数据冗余度, 提高存储空间的利用率, 因此, 实现可以根据不同需要或实际条件 对待存储数据的存储方式进行设置, 从而提高了数据冗余的实现的灵活性。 优选地, 上述数据冗余实现方法可以适用于分布式文件系统, 以提高分布式文件 系统的存储空间利用率, 同时也保障了存储数据的可靠性。通过根据配置环境和需求, 确定对待存储数据进行副本冗余处理或者纠删编解码处理。 副本冗余技术, 即保存多 个要存储的数据的完整副本。纠删编码处理是对待存储数据按照纠删码(Erasure Code, 简称为 EC)算法进行编码, 形成若干个分片; 当系统发现部分分片损坏后, 通过对编 码的数据的进行译码算法, 仍能将数据正确恢复, 从而避免系统数据崩溃。 当存储空 间充裕时, 可以选择副本冗余机制, 当数据异常时, 只需要有一个副本正常即可; 当 需要提高存储空间利用率时, 则可以选择纠删编解码的方式提高数据可靠性保证。 因 此上述数据冗余实现方法提出了一种新的适用于分布式文件系统数据冗余的可配置实 现方案 与现有单一的完全副本的数据冗余实现方法相比, 上述数据冗余实现方法可以在 存储空间足够时, 可以采用完全副本方式; 也可以在同样的存储空间下, 使用 EC算 法对待存储数据进行编码, 该存储方式将比完全复制方式的冗余度更低。 因此, 相对 于单一采用副本机制实现数据可靠性的存储方式, 在同样的数据可靠性下, 通过 EC 算法的数据冗余实现方式可以有效地提高存储空间的利用率。 根据冗余方案配置的不 同, 对需要存储的数据进行相应的冗余方案存储, 极大地增加了存储系统的实用性。 该方案优选地适用于有元数据服务器的分布式文件系统中。 在上述步骤 S104中,可以通过以下步骤来采用纠删编解码处理的存储方式存储上 述待存储数据,例如,采用上述纠删编解码处理的存储方式存储上述待存储数据包括: 从元数据服务器获取对上述待存储数据进行 EC编码的编码比例信息, 其中, 上述编 码比例信息包括: 将上述待存储数据的每一页数据划分的数据块的数量 N、 每一页数 据块编码后的冗余数据块的数量 M, 上述 N和上述 M为自然数; 根据上述编码比例 信息和上述待存储数据的大小将上述待存储数据的每一页数据划分成上述 N 个数据 块, 并以上述 N个数据块为一组进行 EC编码, 并每一组生成上述 M个冗余数据块; 在对一页中所有的数据块编码完成的情况下, 将上述一页的编码后的数据块存储到数 据库中。 优选地, 上述 N值、 M值可以根据不同需要进行设置, 例如, 在存储空间充裕的 情况下, 可以将 M设置的大一些, N值设置的小一些, 当待存储数据较大, 和 /或需 要提高存储空间利用率的情况下, 将 M值设置的小一点, N值设置的大一些, 即可以 根据不同需要和 /或实际条件设置合适的 N值和 M值。
在实施过程中, 可以通过本优选实施例中的以下步骤来将上述一页的编码后的数 据块存储到数据库中, 例如, 在未对一页中所有的数据块编码完成的情况下, 可以申 请 N加 M个缓存区, 将编码后的数据块存储到申请的缓存区中, 在对一页中所有的 数据块编码完成的情况下, 向上述数据库发送申请上述 N加上述 M个存储节点的请 求消息; 接收上述请求消息的回复消息, 其中, 上述回复消息包括: 上述 N加上述 M 个存储节点的节点信息、 上述 N加上述 M个存储节点的位置信息; 根据上述节点信 息和上述位置信息将上述每一页数据块编码后的上述 N加上述 M个数据块分别存储 到申请到的上述 N加上述 M个存储节点中。 为了提高数据的可靠性, 在本优选实施例中, 根据上述节点信息和上述位置信息 将上述每一页数据块编码后的上述 N加上述 M个数据块分别存储到申请到的上述 N 加上述 M个存储节点中包括: 检测到每一页编码后的数据块中有大于上述 M个数据 块存储失败的情况下, 发送存储失败的告警或通知。 即检测到有大于上述 M个数据块 存储失败的情况下, 发送存储 (写入) 失败的告警或通知, 以指示上述待存储数据存 储失败。 在检测到有数据块存储失败的情况下, 为了提高数据的可靠性, 在本优选实施例 中,根据上述节点信息和上述位置信息将上述每一页数据块编码后的上述 N加上述 M 个数据块分别存储到申请到的上述 N加上述 M个存储节点中包括: 检测到每一页编 码后的数据块中有小于等于上述 M个数据块存储失败的情况下,将存储失败的数据块 重新存储到上述存储失败数据块对应的存储节点中, 或者将存储失败的数据块重新存 储到新申请的存储节点中。 为了满足不同应用场景的需求, 在本优选实施例中, 在采用与上述存储策略标识 相应的存储方式存储上述待存储数据之后, 上述数据冗余实现方法还包括: 获取待读 取数据的读取信息, 其中, 上述读取信息包括: 上述待读取数据的存储策略标识; 根 据上述待读取数据的存储策略标识采用相应的读取方式读取上述待读取数据, 其中, 上述待读取数据的存储策略标识用于指示上述待读取数据的存储方式采用以下至少之 一: 副本冗余处理方式、 纠删编解码处理方式。 即在存储数据后, 可以再根据存储方 式读取数据, 并对编码后的数据进行解码, 以恢复数据。 在本优选实施例中, 可以通过以下步骤来采用纠删编解码处理方式读取上述待读 取数据, 例如, 根据上述待读取数据的存储策略标识采用相应的读取方式读取上述待 读取数据包括: 在上述待读取数据的存储方式采用纠删编解码处理方式的情况下, 获 取存储上述待读取数据的每一页编码后的 N加 M个数据块对应的存储信息, 其中, 上述存储信息包括: 上述 N加上述 M个存储节点的存储节点信息、 上述 N加上述 M
个存储节点的位置信息, 上述 N和上述 M为自然数; 根据上述存储信息从上述 N加 上述 M个存储节点中读取上述每一页编码后的上述 N加上述 M个数据块; 从读取的 上述 N加上述 M个数据块中按照顺序选择上述 N个数据块进行 EC解码, 恢复得到 上述每一页的数据。 在本优选实施例中, 提供了一种数据冗余实现装置, 如图 2所示, 该数据冗余实 现装置包括: 第一获取模块 202, 设置为获取待存储数据的存储策略标识; 存储模块 204, 连接至第一获取模块 202, 设置为采用与上述存储策略标识相应的存储方式存储 上述待存储数据, 其中, 上述存储策略标识用于指示采用以下存储方式的至少之一: 副本冗余处理方式、 纠删编解码处理方式。 在上述优选实施例中, 首先第一获取模块 202获取上述待存储数据的存储策略标 识, 该存储策略标识用于指示采用以下存储方式的至少之一: 副本冗余处理方式、 纠 删编解码处理方式, 然后, 存储模块 204采用与所述存储策略标识相应的存储方式存 储所述待存储数据, 即可以根据不同需要或实际条件对待存储数据的存储方式进行设 置, 例如, 当存储空间充裕时, 可以采用副本冗余处理方式来存储上述待存储数据, 当需要提高存储空间利用率时,可以采用纠删编解码处理方式来存储上述待存储数据, 以在确保数据安全性、 可靠性的同时, 降低数据冗余度, 提高存储空间的利用率, 因 此, 实现可以根据不同需要或实际条件对待存储数据的存储方式进行设置, 从而提高 了数据冗余的实现的灵活性。 在本优选实施例中, 如图 3所示, 上述存储模块 204包括: 第一获取单元 2042, 设置为从元数据服务器获取对上述待存储数据进行 EC编码的编码比例信息, 其中, 上述编码比例信息包括: 将上述待存储数据的每一页数据划分的数据块的数量 N、 每 一页数据块编码后的冗余数据块的数量 M,上述 N和上述 M为自然数;编码单元 2044, 连接至第一获取单元 2042, 设置为根据上述编码比例信息和上述待存储数据的大小将 上述待存储数据的每一页数据划分成上述 N个数据块,并以上述 N个数据块为一组进 行 EC编码, 并每一组生成上述 M个冗余数据块; 存储单元 2046, 连接至编码单元 2044, 设置为在对一页中所有的数据块编码完成的情况下, 将上述一页的编码后的数 据块存储到数据库中。 在本优选实施中, 上述存储单元 2046还包括: 发送子单元, 设置为向上述数据库 发送申请上述 N加上述 M个存储节点的请求消息; 接收子单元, 连接至发送子单元, 设置为接收上述请求消息的回复消息, 其中, 上述回复消息包括: 上述 N加上述 M个 存储节点的节点信息、 上述 N加上述 M个存储节点的位置信息; 第一存储子单元,
连接至接收子单元, 设置为根据上述节点信息和上述位置信息将上述每一页数据块编 码后的上述 N加上述 M个数据块分别存储到申请到的上述 N加上述 M个存储节点中。 在检测到有数据块存储失败的情况下, 为了提高数据的可靠性, 在本优选实施例 中, 上述存储单元 2046还包括: 发送子单元, 设置为检测到每一页编码后的数据块中 有大于上述 M个数据块存储失败的情况下, 发送存储失败的告警或通知。第二存储子 单元,设置为检测到每一页编码后的数据块中有小于等于上述 M个数据块存储失败的 情况下, 将存储失败的数据块重新存储到上述存储失败数据块对应的存储节点中, 或 者将存储失败的数据块重新存储到新申请的存储节点中。 为了满足不同应用场景的需求, 在本优选实施例中, 如图 4所示, 上述数据冗余 实现装置还包括: 第二获取模块 206, 设置为获取待读取数据的读取信息, 其中, 上 述读取信息包括: 上述待读取数据的存储策略标识; 读取模块 208, 连接至第二获取 模块 206, 设置为根据上述待读取数据的存储策略标识采用相应的读取方式读取上述 待读取数据, 其中, 上述待读取数据的存储策略标识用于指示上述待读取数据的存储 方式采用以下至少之一: 副本冗余处理方式、 纠删编解码处理方式。 在本优选实施例中, 上述读取模块 208可以包括: 第二获取单元, 设置为在上述 待读取数据的存储方式采用纠删编解码处理方式的情况下, 获取存储上述待读取数据 的每一页编码后的 N加 M个数据块对应的存储信息, 其中, 上述存储信息包括: 上 述 N加上述 M个存储节点的存储节点信息、上述 N加上述 M个存储节点的位置信息, 上述 N和上述 M为自然数; 读取单元, 连接至第二获取单元, 设置为根据上述存储 信息从上述 N加上述 M个存储节点中读取上述每一页编码后的上述 N加上述 M个数 据块; 解码单元, 连接至读取单元, 设置为从读取的上述 N加上述 M个数据块中按 照顺序选择上述 N个数据块进行 EC解码, 恢复得到上述每一页的数据。 优选地, 上述数据冗余实现装置可以优选地适用于分布式文件系统中的文件访问 客户端上。 以下结合附图对上述各个优选实施例进行详细地描述。 图 5是根据本发明实施例的数据冗余实现系统的架构示意图, 如图 5所示, 该数 据冗余实现系统包括: 文件访问客户端: 负责为本文件系统面向的应用程序提供类似 于标准文件系统的接口调用服务; 同时作为 EC 的实际编解码侧存在。 在其上电后从 元数据服务器侧获取数据存储策略, 完成相应的数据副本存储或 EC编解码算法;
元数据服务器 (File Location Register, 简称为 FLR (文件定位寄存器) ): 负责管 理本文件系统内所有文件的文件名、 数据块等元数据信息; 并向文件访问客户端提供 元数据写入和查询等操作; 在原有的元数据的基础上, 为了实现上述 EC功能, 增加 了文件存储属标志位来标识当前文件的存储策略。 在打开文件时, FLR去数据库获取 该标志位, 不同的存储属性采取不同的处理流程。 文件以 EC存储策略存储时, 元数 据服务器需要去数据库获取 EC的编码比例, 进而确定 chunk (数据块)的副本个数并 返回给文件访问客户端; 文件访问服务器: 负责与本文件系统内的存储介质进行交互, 进行实际数据块的 读写操作; 响应文件访问客户端的数据读写请求, 从存储媒介上读取数据并返回给文 件访问客户端; 从文件访问客户端读取数据并写入存储媒介; 存储媒介: 一般为普通的 SCSI (小型计算机系统接口, Small Computer System Interface)磁盘或 SATA (串行高级技术附件, Serial Advanced Technology Attachment) 磁盘。 基于上述数据冗余实现系统, 在本优选实施例中, 以分布式文件系统为例, 目前 分布式文件系统(Distributed File System,简称为 DFS)的文件访问客户端(File Access Client,简称为 FAC)是以 page为单位管理文件的。 FAC向文件访问服务器(File Access Server, 简称为 FAS)写入文件时, 也是以 page为单位进行操作的。 为了支持 Erasure Code, FAC就需要对 page进行 RS (里德 -所罗门码, Reed-solomon Codes) 编码。 再 将编码后的数据写入存储服务器 FAS。 图 6是根据本发明实施例的采用纠删编解码处 理方式时对数据进行纠删编码的流程图, 如图 6所示, 该流程可以包括如下步骤: 步骤 S602: FAC选取一个 page (相当于上述待存储数据); 步骤 S604: FAC从 page中读取 K个 WORD (字节) 数据; 步骤 S606: 对 page中的数据进行 RS编码, 得到 N个 WORD编码后的数据。 步骤 S608: 将 N个 WORD编码后的数据分别依次写入 N个编码缓冲区。 步骤 S610: 判断是否读完一个 page, 若是, 则转至步骤 S612, 若否, 则转至步 骤 S604。 步骤 S612: 将 N个编码缓冲区的数据分别写入对应的 FAS, 转至步骤 S602。
图 7是根据本发明实施例的采用纠删编解码处理方式时对数据进行纠删解码的流 程图, 如图 7所示, 该流程可以包括如下步骤: 步骤 S702: FAC从 K个 FAS中分别依次读取数据到 K个解码缓存区中。 步骤 S704: FAC从 K个解码缓存区依次分别选取一个 WORD数据, 即共 K个 WORD数据。 步骤 S706: FAC对上述 K个 WORD数据进行解码, 生成 K个解码后的数据。 步骤 S708 : FAC将上述 K个解码后的数据依次存入 page中。 步骤 S710: FAC判断是否读完解码缓冲区的数据, 若是, 则转至步骤 S702, 若 否, 则转至步骤 S704。 在本优选实施例中, 以上述存储策略标识指示配置为纠删编解码策略为例, 使用 文件访问客户端作为纠删编解码的实现侧,将编码后的冗余数据刷入文件访问服务器; 数据部分分片异常时, 文件访问客户端从文件服务器读出其他分片, 由文件访问客户 端实现解码, 获得原始数据。 图 8是根据本发明实施例的采用纠删编解码处理方式写 入文件的流程图, 如图 8所示, 该流程可以包括如下步骤: 步骤 S802: 调用 write (写) 接口之前, 文件访问客户端需要先 open (打开) 该 文件(相当于上述待存储数据)获取文件描述符(fd), 以及通过元数据服务器从数据 库获取该文件 chunk (文件块) 的冗余机制 (相当于上述存储策略标识) 是双副本还 是 EC的标识符。 步骤 S804: 进入 write (写) 接口中, 判断存储策略标识, 然后调用相应的策略 流程。 步骤 S806: 以 page (页)为单位, 将 page (页)分割成更小的数据块(每个数据 块的大小可以为 lByte (字节) 或其他, 可根据实际 N和 M值及 pagesize (页大小) 设置, 设置后不可更改), 然后每 N个数据块为一组进行 EC编码, 将编码后的数据块 存入新申请的 N+M个缓存中, 直至一个 page (页) 的所有块都编码完成, 再写下一 个 page (页)。 步骤 S808 : FAC (文件访问客户端) 端从缓存中将编码后的数据块写入 FAS (文 件访问服务器)之前, 需要向数据库申请 N+M个存储节点, 获取 N+M个存储节点的
存储节点信息及位置信息, 然后才能将这 N+M个编码后的数据块写入分别写入获取 到的 FAS (文件访问服务器) 中。 在步骤 S808中, 如果其中有节点写失败, 则尝试重新写入(两种重试: 一是重试 继续写该节点,一是重试申请写入其他节点),如果有超过 M个节点写失败,则该 page (页) 写失败, 即该文件写失败, 发写失败告警或通知; 如果只有不超过 M个节点写 失败, 则要么重试, 要么不管失败, 但后续可以采取解码恢复, 或在读取的时候采取 解码恢复。 图 9是根据本发明实施例的采用纠删编解码处理方式读取文件的流程图, 如图 9 所示, 该流程可以包括以下步骤: 步骤 S902: FAC先 open (打开) 文件 (相当于上述待读取数据), 通过通过元数 据服务器从数据库获取策略标识符。 步骤 S904: 判断标识符是何种冗余策略, 进入对应流程。 步骤 S906: —个 page (页) 一个 page (页) 读取, 在读取一个 page (页) 时, 需要首先获取存储这个 page (页) 的分割块的 N+M个存储节点的存储节点信息。 步骤 S908: 从这 N+M个节点中将 N+M个 chunk (文件块)读取到 FAC (文件访 问服务器) 侧, 然后通过分割块的大小, 按顺序从这些 chunk (文件块) 中取 N个数 据块解码恢复 page (页) 的第一组 N个实际数据块, 直至完全恢复整个 page (页); 在步骤 S908中, 只要不超过 M个节点读失败, 就能完全恢复这个 page (页) 的 实际数据; 一旦超过 M个节点读失败, 则读这个 page (页) 失败。 从以上的描述中, 可以看出, 本发明实施例实现了如下技术效果: 首先获取上述 待存储数据的存储策略标识,该存储策略标识用于指示采用以下存储方式的至少之一: 副本冗余处理方式、 纠删编解码处理方式, 然后, 采用与所述存储策略标识相应的存 储方式存储所述待存储数据, 即可以根据不同需要或实际条件对待存储数据的存储方 式进行设置, 例如, 当存储空间充裕时, 可以采用副本冗余处理方式来存储上述待存 储数据, 当需要提高存储空间利用率时, 可以采用纠删编解码处理方式来存储上述待 存储数据, 以在确保数据安全性、 可靠性的同时, 降低数据冗余度, 提高存储空间的 利用率, 因此, 实现可以根据不同需要或实际条件对待存储数据的存储方式进行设置, 从而提高了数据冗余的实现的灵活性。 工业实用性
通过本发明的上述实施例可以根据不同需要或实际条件对待存储数据的存储方式 进行设置, 例如, 当存储空间充裕时, 可以采用副本冗余处理方式来存储上述待存储 数据, 当需要提高存储空间利用率时, 可以采用纠删编解码处理方式来存储上述待存 储数据, 以在确保数据安全性、 可靠性的同时, 降低数据冗余度, 提高存储空间的利 用率, 因此, 实现可以根据不同需要或实际条件对待存储数据的存储方式进行设置, 从而提高了数据冗余的实现的灵活性, 具有良好的工业实用性。 显然, 本领域的技术人员应该明白, 上述的本发明的各模块或各步骤可以用通用 的计算装置来实现, 它们可以集中在单个的计算装置上, 或者分布在多个计算装置所 组成的网络上, 可选地, 它们可以用计算装置可执行的程序代码来实现, 从而, 可以 将它们存储在存储装置中由计算装置来执行, 并且在某些情况下, 可以以不同于此处 的顺序执行所示出或描述的步骤, 或者将它们分别制作成各个集成电路模块, 或者将 它们中的多个模块或步骤制作成单个集成电路模块来实现。 这样, 本发明不限制于任 何特定的硬件和软件结合。 以上所述仅为本发明的优选实施例而已, 并不用于限制本发明, 对于本领域的技 术人员来说, 本发明可以有各种更改和变化。 凡在本发明的精神和原则之内, 所作的 任何修改、 等同替换、 改进等, 均应包含在本发明的保护范围之内。
Claims
1. 一种数据冗余实现方法, 包括:
获取待存储数据的存储策略标识;
采用与所述存储策略标识相应的存储方式存储所述待存储数据, 其中, 所 述存储策略标识用于指示采用以下存储方式的至少之一: 副本冗余处理方式、 纠删编解码处理方式。
2. 根据权利要求 1所述的方法, 其中, 采用纠删编解码处理的存储方式存储所述 待存储数据包括:
从元数据服务器获取对所述待存储数据进行纠删码 EC编码的编码比例信 息, 其中, 所述编码比例信息包括: 将所述待存储数据的每一页数据划分的数 据块的数量 N、每一页数据块编码后的冗余数据块的数量 M,所述 N和所述 M 为自然数;
根据所述编码比例信息和所述待存储数据的大小将所述待存储数据的每一 页数据划分成所述 N个数据块, 并以所述 N个数据块为一组进行 EC编码, 并 每一组生成所述 M个冗余数据块;
在对一页中所有的数据块编码完成的情况下, 将所述一页的编码后的数据 块存储到数据库中。
3. 根据权利要求 2所述的方法, 其中, 将所述一页的编码后的数据块存储到数据 库中包括:
向所述数据库发送申请所述 N加所述 M个存储节点的请求消息; 接收所述请求消息的回复消息, 其中, 所述回复消息包括: 所述 N加所述 M个存储节点的节点信息、 所述 N加所述 M个存储节点的位置信息;
根据所述节点信息和所述位置信息将所述每一页数据块编码后的所述 N加 所述 M个数据块分别存储到申请到的所述 N加所述 M个存储节点中。
4. 根据权利要求 3所述的方法, 其中, 根据所述节点信息和所述位置信息将所述 每一页数据块编码后的所述 N加所述 M个数据块分别存储到申请到的所述 N 加所述 M个存储节点中包括:
检测到每一页编码后的数据块中有大于所述 M个数据块存储失败的情况 下, 发送存储失败的告警或通知。
5. 根据权利要求 3所述的方法, 其中, 根据所述节点信息和所述位置信息将所述 每一页数据块编码后的所述 N加所述 M个数据块分别存储到申请到的所述 N 加所述 M个存储节点中包括:
检测到每一页编码后的数据块中有小于等于所述 M 个数据块存储失败的 情况下, 将存储失败的数据块重新存储到所述存储失败数据块对应的存储节点 中, 或者将存储失败的数据块重新存储到新申请的存储节点中。
6. 根据权利要求 1所述的方法, 其中, 在采用与所述存储策略标识相应的存储方 式存储所述待存储数据之后, 还包括:
获取待读取数据的读取信息, 其中, 所述读取信息包括: 所述待读取数据 的存储策略标识;
根据所述待读取数据的存储策略标识采用相应的读取方式读取所述待读取 数据, 其中, 所述待读取数据的存储策略标识用于指示所述待读取数据的存储 方式采用以下至少之一: 副本冗余处理方式、 纠删编解码处理方式。
7. 根据权利要求 6所述的方法, 其中, 根据所述待读取数据的存储策略标识采用 相应的读取方式读取所述待读取数据包括:
在所述待读取数据的存储方式采用纠删编解码处理方式的情况下, 获取存 储所述待读所述待读取数据的每一页编码后的 N加 M个数据块对应的存储信 息, 其中, 所述存储信息包括: 所述 N加所述 M个存储节点的存储节点信息、 所述 N加所述 M个存储节点的位置信息, 所述 N和所述 M为自然数;
根据所述存储信息从所述 N加所述 M个存储节点中读取所述每一页编码 后的所述 N加所述 M个数据块;
从读取的所述 N加所述 M个数据块中按照顺序选择所述 N个数据块进行 EC解码, 恢复得到所述每一页的数据。
8. 一种数据冗余实现装置, 包括:
第一获取模块, 设置为获取待存储数据的存储策略标识;
存储模块, 设置为采用与所述存储策略标识相应的存储方式存储所述待存 储数据, 其中, 所述待存储策略标识用于指示采用以下存储方式的至少之一: 副本冗余处理方式、 纠删编解码处理方式。 根据权利要求 8所述的装置, 其中, 所述存储模块包括:
获取单元, 设置为从元数据服务器获取对所述待存储数据进行 EC编码的 编码比例信息, 其中, 所述编码比例信息包括: 将所述待存储数据的每一页数 据划分的数据块的数量N、 每一页数据块编码后的冗余数据块的数量 M, 所述 N和所述 M为自然数;
编码单元, 设置为根据所述编码比例信息和所述待存储数据的大小将所述 待存储数据的每一页数据划分成所述 N个数据块,并以所述 N个数据块为一组 进行 EC编码, 并每一组生成所述 M个冗余数据块;
存储单元, 设置为在对一页中所有的数据块编码完成的情况下, 将所述一 页的编码后的数据块存储到数据库中。 根据权利要求 8所述的装置, 其中, 还包括:
第二获取模块, 设置为获取待读取数据的读取信息, 其中, 所述读取信息 包括: 所述待读取数据的存储策略标识;
读取模块, 设置为根据所述待读取数据的存储策略标识采用相应的读取方 式读取所述待读取数据, 其中, 所述待读取数据的存储策略标识用于指示所述 待读取数据的存储方式采用以下至少之一: 副本冗余处理方式、 纠删编解码处 理方式。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP13845224.8A EP2908254A4 (en) | 2012-10-11 | 2013-09-10 | METHOD AND DEVICE FOR IMPLEMENTING REDUNDANCY OF DATA |
US14/435,250 US20160006461A1 (en) | 2012-10-11 | 2013-09-10 | Method and device for implementation data redundancy |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210384091.4 | 2012-10-11 | ||
CN201210384091.4A CN102937967B (zh) | 2012-10-11 | 2012-10-11 | 数据冗余实现方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014056381A1 true WO2014056381A1 (zh) | 2014-04-17 |
Family
ID=47696864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2013/083249 WO2014056381A1 (zh) | 2012-10-11 | 2013-09-10 | 数据冗余实现方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20160006461A1 (zh) |
EP (1) | EP2908254A4 (zh) |
CN (1) | CN102937967B (zh) |
WO (1) | WO2014056381A1 (zh) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102937967B (zh) * | 2012-10-11 | 2018-02-27 | 南京中兴新软件有限责任公司 | 数据冗余实现方法及装置 |
CN103118133B (zh) * | 2013-02-28 | 2015-09-02 | 浙江大学 | 基于文件访问频次的混合云存储方法 |
CN103618769A (zh) * | 2013-11-15 | 2014-03-05 | 华为技术有限公司 | 一种冗余配置的方法、系统以及相关设备 |
CN103942116B (zh) * | 2014-04-24 | 2017-02-01 | 深圳市中博科创信息技术有限公司 | 一种对数据进行容错处理的方法及数据处理系统 |
CN105025053A (zh) * | 2014-04-24 | 2015-11-04 | 苏宁云商集团股份有限公司 | 基于云存储技术的分布式文件的上传方法及其系统 |
US9672122B1 (en) | 2014-09-29 | 2017-06-06 | Amazon Technologies, Inc. | Fault tolerant distributed tasks using distributed file systems |
CN104283960B (zh) * | 2014-10-15 | 2018-11-20 | 福建亿榕信息技术有限公司 | 实现异构网络存储的虚拟化整合及分级管理的系统 |
CN105095352B (zh) * | 2015-06-19 | 2019-03-05 | 曙光信息产业股份有限公司 | 应用于分布式系统的数据处理方法及装置 |
CN105630418A (zh) * | 2015-12-24 | 2016-06-01 | 曙光信息产业(北京)有限公司 | 一种数据存储方法及装置 |
CN106227731B (zh) * | 2016-07-06 | 2019-10-29 | 联想(北京)有限公司 | 一种数据处理方法、装置及分布式文件系统 |
CN106686095A (zh) * | 2016-12-30 | 2017-05-17 | 郑州云海信息技术有限公司 | 一种基于纠删码技术的数据存储方法及装置 |
CN106991118A (zh) * | 2017-02-17 | 2017-07-28 | 深圳市中博睿存信息技术有限公司 | 基于ceph纠删除容错的读取文件方法及装置 |
CN109150792B (zh) * | 2017-06-15 | 2022-03-08 | 杭州海康威视数字技术股份有限公司 | 一种提高数据存储安全性方法及装置 |
GB2564696B (en) * | 2017-07-20 | 2020-02-05 | Advanced Risc Mach Ltd | Register-based complex number processing |
CN107809302B (zh) * | 2017-08-23 | 2020-12-15 | 银江股份有限公司 | 一种不可靠链路下的文件元数据冗余传输、接收方法及系统 |
KR102421149B1 (ko) | 2018-01-02 | 2022-07-14 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR20200104601A (ko) | 2019-02-27 | 2020-09-04 | 에스케이하이닉스 주식회사 | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 |
US12118241B2 (en) | 2017-10-27 | 2024-10-15 | SK Hynix Inc. | Memory controller, memory system, and operating method thereof |
KR102456173B1 (ko) * | 2017-10-27 | 2022-10-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
CN109799948B (zh) * | 2017-11-17 | 2023-05-16 | 航天信息股份有限公司 | 一种数据存储方法及装置 |
CN108052655B (zh) * | 2017-12-28 | 2020-11-10 | 新华三技术有限公司 | 数据写入及读取方法 |
KR102663422B1 (ko) * | 2018-01-19 | 2024-05-07 | 삼성전자주식회사 | 객체 스토리지 장치들에 대한 하이브리드 데이터 신뢰성을 위한 시스템 및 방법 |
CN110278222B (zh) * | 2018-03-15 | 2021-09-14 | 华为技术有限公司 | 分布式文件存储系统中数据管理的方法、系统以及相关设备 |
CN111381767B (zh) * | 2018-12-28 | 2024-03-26 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及装置 |
CN109639819B (zh) * | 2018-12-28 | 2022-01-14 | 腾讯科技(深圳)有限公司 | 文件传输方法、客户端、服务器及系统 |
CN109885256B (zh) * | 2019-01-23 | 2022-07-08 | 平安科技(深圳)有限公司 | 一种基于数据分片的数据存储方法、设备及介质 |
CN110347344A (zh) * | 2019-07-19 | 2019-10-18 | 北京计算机技术及应用研究所 | 一种基于分布式存储系统的自动配置块存储方法 |
KR102456176B1 (ko) | 2020-05-21 | 2022-10-19 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US11573891B2 (en) | 2019-11-25 | 2023-02-07 | SK Hynix Inc. | Memory controller for scheduling commands based on response for receiving write command, storage device including the memory controller, and operating method of the memory controller and the storage device |
CN111414271B (zh) * | 2020-03-17 | 2023-10-13 | 上海爱数信息技术股份有限公司 | 一种基于自适应存储冗余策略的存储方法 |
KR102406449B1 (ko) | 2020-06-25 | 2022-06-08 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
KR102435253B1 (ko) | 2020-06-30 | 2022-08-24 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
KR102495910B1 (ko) | 2020-04-13 | 2023-02-06 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
US11755476B2 (en) | 2020-04-13 | 2023-09-12 | SK Hynix Inc. | Memory controller, storage device including the memory controller, and method of operating the memory controller and the storage device |
JP2022074807A (ja) * | 2020-11-05 | 2022-05-18 | 株式会社日立製作所 | ファイルストレージ及びコンピュータシステム |
CN112783445A (zh) * | 2020-11-17 | 2021-05-11 | 北京旷视科技有限公司 | 数据存储方法、装置、系统、电子设备及可读存储介质 |
CN115129506A (zh) * | 2021-03-24 | 2022-09-30 | 华为技术有限公司 | 一种数据传输的系统、方法以及网络设备 |
CN114490522B (zh) * | 2021-12-29 | 2024-10-15 | 中国航空工业集团公司西安飞机设计研究所 | 一种余度系统冗余icd自动查找方法 |
CN118075289A (zh) * | 2024-02-20 | 2024-05-24 | 北京冀银科技有限公司 | 一种金融信息传输方法以及金融信息传输系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840377A (zh) * | 2010-05-13 | 2010-09-22 | 上海交通大学 | 基于rs纠删码的数据存储方法 |
US7886034B1 (en) * | 2006-09-27 | 2011-02-08 | Symantec Corporation | Adaptive liveness management for robust and efficient peer-to-peer storage |
CN102594899A (zh) * | 2011-12-31 | 2012-07-18 | 成都市华为赛门铁克科技有限公司 | 一种存储服务方法以及应用该方法的存储服务器 |
CN102937967A (zh) * | 2012-10-11 | 2013-02-20 | 南京中兴新软件有限责任公司 | 数据冗余实现方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7685126B2 (en) * | 2001-08-03 | 2010-03-23 | Isilon Systems, Inc. | System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system |
US20060167838A1 (en) * | 2005-01-21 | 2006-07-27 | Z-Force Communications, Inc. | File-based hybrid file storage scheme supporting multiple file switches |
US7788303B2 (en) * | 2005-10-21 | 2010-08-31 | Isilon Systems, Inc. | Systems and methods for distributed system scanning |
US20100218037A1 (en) * | 2008-09-16 | 2010-08-26 | File System Labs Llc | Matrix-based Error Correction and Erasure Code Methods and Apparatus and Applications Thereof |
US9098519B2 (en) * | 2008-09-16 | 2015-08-04 | File System Labs Llc | Methods and apparatus for distributed data storage |
US8458287B2 (en) * | 2009-07-31 | 2013-06-04 | Microsoft Corporation | Erasure coded storage aggregation in data centers |
CN102546755A (zh) * | 2011-12-12 | 2012-07-04 | 华中科技大学 | 云存储系统的数据存储方法 |
CN102681793A (zh) * | 2012-04-16 | 2012-09-19 | 华中科技大学 | 一种基于纠删码集群存储系统的局部式数据更新方法 |
-
2012
- 2012-10-11 CN CN201210384091.4A patent/CN102937967B/zh active Active
-
2013
- 2013-09-10 EP EP13845224.8A patent/EP2908254A4/en not_active Withdrawn
- 2013-09-10 WO PCT/CN2013/083249 patent/WO2014056381A1/zh active Application Filing
- 2013-09-10 US US14/435,250 patent/US20160006461A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7886034B1 (en) * | 2006-09-27 | 2011-02-08 | Symantec Corporation | Adaptive liveness management for robust and efficient peer-to-peer storage |
CN101840377A (zh) * | 2010-05-13 | 2010-09-22 | 上海交通大学 | 基于rs纠删码的数据存储方法 |
CN102594899A (zh) * | 2011-12-31 | 2012-07-18 | 成都市华为赛门铁克科技有限公司 | 一种存储服务方法以及应用该方法的存储服务器 |
CN102937967A (zh) * | 2012-10-11 | 2013-02-20 | 南京中兴新软件有限责任公司 | 数据冗余实现方法及装置 |
Non-Patent Citations (1)
Title |
---|
See also references of EP2908254A4 * |
Also Published As
Publication number | Publication date |
---|---|
CN102937967A (zh) | 2013-02-20 |
EP2908254A1 (en) | 2015-08-19 |
EP2908254A4 (en) | 2015-11-25 |
US20160006461A1 (en) | 2016-01-07 |
CN102937967B (zh) | 2018-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2014056381A1 (zh) | 数据冗余实现方法及装置 | |
US9927977B2 (en) | Retrieving data segments from a dispersed storage network | |
US9811405B2 (en) | Cache for file-based dispersed storage | |
US9442800B2 (en) | Data migration between a raid memory and a dispersed storage network memory | |
US8171102B2 (en) | Smart access to a dispersed data storage network | |
US10142115B2 (en) | Distributed storage network data revision control | |
US9170884B2 (en) | Utilizing cached encoded data slices in a dispersed storage network | |
US10067831B2 (en) | Slice migration in a dispersed storage network | |
US10552341B2 (en) | Zone storage—quickly returning to a state of consistency following an unexpected event | |
CN112286714A (zh) | 在基于nand的读取源存储中提高大数据分析吞吐量的方法和系统 | |
US20070106925A1 (en) | Method and system using checksums to repair data | |
US10007575B2 (en) | Alternative multiple memory format storage in a storage network | |
US20180225044A1 (en) | Dispersed storage write process with lock/persist | |
US9229824B2 (en) | Caching rebuilt encoded data slices in a dispersed storage network | |
US20160357646A1 (en) | Multiple memory format storage in a storage network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13845224 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2013845224 Country of ref document: EP Ref document number: A20150258 Country of ref document: BY |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14435250 Country of ref document: US |