WO2015100627A1 - 一种分布式文件存储系统中的数据处理方法及设备 - Google Patents
一种分布式文件存储系统中的数据处理方法及设备 Download PDFInfo
- Publication number
- WO2015100627A1 WO2015100627A1 PCT/CN2013/091143 CN2013091143W WO2015100627A1 WO 2015100627 A1 WO2015100627 A1 WO 2015100627A1 CN 2013091143 W CN2013091143 W CN 2013091143W WO 2015100627 A1 WO2015100627 A1 WO 2015100627A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- stripe
- blocks
- file
- data
- target file
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 133
- 238000000034 method Methods 0.000 claims abstract description 62
- 230000004044 response Effects 0.000 claims description 196
- 238000012217 deletion Methods 0.000 claims description 69
- 230000037430 deletion Effects 0.000 claims description 69
- 238000012795 verification Methods 0.000 claims 11
- 230000008569 process Effects 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000113 differential scanning calorimetry Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- 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/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- 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/13—File access structures, e.g. distributed indices
-
- 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/17—Details of further file system functions
- G06F16/1727—Details of free space management performed by the file system
-
- 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
-
- 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
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/1827—Management specifically adapted to NAS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1028—Distributed, i.e. distributed RAID systems with parity
Definitions
- the present invention relates to the field of storage technologies, and in particular, to a data processing method and device in a distributed file storage system. Background technique
- a distributed file storage system includes multiple storage servers, and multiple storage servers are interconnected by a low-latency, high-throughput network (such as IB network, 10G Ethernet) to form a large network RAID ( Redundant Array of Inexpensive Disks, and all storage servers provide data read and write services at the same time.
- a low-latency, high-throughput network such as IB network, 10G Ethernet
- RAID Redundant Array of Inexpensive Disks
- all storage servers provide data read and write services at the same time.
- the file data is stripped by algorithms such as a cross-node RAID algorithm (such as RAID5, RAID6, or RAIDZ) or an Erasure Code algorithm.
- the file data is divided into a plurality of data strips (Strip), and a corresponding check strip block is generated, and then the data strip block and the check strip block are stored in the corresponding node.
- Strip data strips
- the stored file data When the stored file data is read, a certain number of data strip blocks and a check strip block are read from the storage server node to construct the original file data that the user needs to read.
- the number of data strips that are segmented when the file data is striped is more and more, read and write.
- the disk 10 and the network 10 at the time of operation also increase accordingly. In this way, the number of data strips that are segmented when the file data is striped is correspondingly increased. In the small file scenario, the access performance of the distributed file storage system is greatly burdened.
- the technical problem to be solved by the present invention is how to improve the access performance of a distributed file storage system in a small file scenario.
- a first aspect of the present invention provides a data processing method applied to a distributed file storage system, the method comprising: a client agent receiving a data processing request of a user, where the data processing request carries a file identifier of a target file Information such as an offset address and a file length; the target file is a file to be processed in the data processing request; the client agent obtains a redundancy ratio according to the file identifier of the target file carried in the data processing request Information, the redundancy ratio information includes a number N of data strip blocks of the distributed file storage system and a number M of check strip blocks of the distributed file storage system; according to the data processing request Determining, by the offset address and length information of the target file, the number DSC of valid strip blocks of the target file, the valid strip block being a strip block containing data of the target file; The number of valid strip blocks DSC and the number of the check strip blocks M determine the number of actual strip blocks of the target file ⁇ '; The number N' of the actual strip blocks determines the corresponding
- the number of the check stripe blocks and the number of data stripe blocks N may be multiple groups, and are respectively stored in corresponding directories. In the information form.
- N' determines the corresponding stripe block and processes it further includes:
- the consistent label information may be a timestamp or a version number
- the method when the data processing request is a data read request, the method further includes: acquiring, according to the file identifier, the target file The distribution information of the stripe block; the determining the corresponding stripe block according to the number N' of the actual stripe blocks and performing processing is specifically:
- the data block read request is based on the stripe block of the acquired target file
- the distribution information is sent to a storage server node that stores the actual stripe block; Receiving the response message of the storage server node storing the actual stripe block; the response message is a readable success response message or an unreadable failure response message, where the success response message carries the actual stripe block Consistency tag information and the number of valid slice blocks DSC information; determining whether the target file can be read according to the received response message.
- determining, according to the received response message, whether the target file can be read is: if the received success response message is The quantity is equal to the number N' of the actual stripe blocks, and the consistency label information carried in the success response message and the number of valid stripe blocks are the same, and the target file can be read;
- the number of received success response messages is less than the number of the actual stripe blocks ⁇ ', it is determined whether the number of the received success response messages is greater than the number of the check strip blocks; If the number of successful response messages is greater than the number of the check strip blocks, determine whether the number of successful response messages is greater than or equal to the number DSC of valid strip blocks of the target file, and the success response message is The carried consistency label information and the number of valid stripe blocks are the same; if yes, the target file can be read; otherwise, the data block read request is sent to the storage check according to the acquired distribution information.
- a storage server node of the stripe block if the number of success response messages returned by the storage server node storing the check strip block is greater than or equal to the number DSC of the valid stripe blocks of the target file, and the success response message If the consistency label information carried in the same and the number of valid stripe blocks are the same, the target file can be read;
- the number of success response messages returned by the storage server node storing the check strip block is smaller than the number DSC of the valid stripe blocks of the target file, or the consistency label information carried in the success response message and the valid stripe block. If the number of DSC information is different, the target file cannot be read.
- a device 30 for implementing a data processing method in a distributed file storage system the device 30 communicating with a storage server node 101 in the distributed file storage system 10, the device The receiving module 301, the processing module 303, and the sending module 305 are included:
- the receiving module 301 is configured to receive a data processing request of the user, where the data processing request carries information such as a file identifier, an offset address, and a file length of the target file; and the target file needs to be processed in the data processing request. document;
- the processing module 303 is configured to:
- redundancy ratio information from the storage server node according to the file identifier of the target file carried in the data processing request, where the redundancy ratio information includes a data strip block of the distributed file storage system Number N and the number M of check strip blocks of the distributed file storage system;
- the corresponding stripe block is determined and processed according to the number N' of the actual stripe blocks; the sending module 305 is configured to feed back the processing result to the user.
- the determining, according to the number of the valid stripe blocks, the number of the DSCs, and the number of the check strips, the object file The actual number of strips N' is specifically:
- the actual number of stripe blocks N' of the target file is equal to the number DSC of the valid stripe blocks, that is, N'DSC .
- the determining the corresponding strip according to the number N′ of the actual stripe blocks Blocking and processing also includes:
- the consistent label information may be a timestamp or a version number
- the N' actual stripe blocks and the M check stripe blocks are written to corresponding storage server nodes.
- N' determines the corresponding stripe block and processes it further includes:
- the data block read request is based on the stripe block of the acquired target file
- the distribution information is sent to a storage server node that stores the actual stripe block
- the response message determines whether the target file can be read.
- the receiving module is further configured to receive a data deletion request of the user, where the data deletion request carries a file identifier of the target file;
- the target file is the file that needs to be deleted;
- the processing module obtains redundancy ratio information from the storage server node according to the file identifier, where the redundancy ratio information includes a number N of data strip blocks of the distributed file storage system and the distribution The number of check strip blocks of the file storage system M;
- the response message is one of a response message of deleting success, deleting a response message corresponding to non-existence, and deleting a failed response message;
- the sending module is configured to feed back the result of the deletion success or the deletion failure to the user.
- the effective stripe block is determined according to the size of the target file, and the actual stripe block of the target file is further determined.
- the distributed file storage can also be reduced.
- the number of empty strips in the system 10 can save a large amount of network read/write I/O and disk read/write I/O in a small file scenario, and improve the performance of the distributed storage system 10.
- Figure 2 is a schematic diagram of the distribution of strip blocks
- FIG. 3 is a schematic flowchart of a method for implementing a data processing request according to an embodiment of the present invention
- FIG. 4 is a schematic flowchart of a method for a data processing request as a data write request according to an embodiment of the present invention.
- FIG. 5 is a schematic flowchart of a method for processing a data processing request as a data read request according to an embodiment of the present invention.
- FIG. 6 is a schematic diagram of data in an embodiment of the present invention. A schematic diagram of a method flow for processing a request as a data deletion request;
- FIG. 7 is a schematic structural diagram of an apparatus for implementing a data processing method in a distributed file storage system according to an embodiment of the present invention.
- the main components of the distributed file storage system 10, as shown in FIG. 1, include a plurality of storage servers 101, and a plurality of storage servers 101 pass through a low-latency, high-throughput network (eg, IB network, 10G Ethernet).
- the interconnections form a cluster.
- the distributed file storage system 10 also includes a Front-End switch 50 and a Back-End switch 60.
- the front end switch 50 is used for External business requests and data interactions between the user data and the cluster.
- the backend switch 60 is used for internal request and data interaction between various storage server nodes within the cluster.
- the application server 20 communicates with the distributed file storage system 10 via the front end switch 50.
- each application typically interacts with the storage server 101 in two ways.
- the first way is that each application directly accesses the file system client agent CA (Client Agent) 30 deployed on the application server 20 through a standard portable operating system interface (English: Portable Operating System Interface, abbreviation: POSIX).
- the client agent 30 acts as a portal for the distributed file storage system 10 to provide external services, and then interacts with the storage server 101 inside the cluster after receiving the application request.
- the second access method is that each application accesses a corresponding network attached storage server (NAS Server) through a commonly used NAS protocol (such as NFS/CIFS), and the NAS server and the storage server 101 are deployed in the network. Together, the NAS Server accesses the file system client agent 30 deployed on the server node to implement the storage service.
- the first access mode is used for specific description, and the second access mode adopts a similar implementation principle.
- the service system includes two application servers 20, and the application server 20 communicates with the distributed file storage system 10 through the front-end switch 50.
- the client agent 30 is deployed in the application server 20, and the user's data processing request is first sent to the client agent 30 of the application server 20, and the client agent 30 performs corresponding processing on the data processing request.
- the application server 20 transmits a data processing request to the client agent 30 in the corresponding storage server node 101 through the front end switch 50, The data processing request is processed by the client agent 30 in the storage server node 101.
- the storage servers 101 in the distributed file storage system 10 are interconnected to form a cluster, which constitutes a large network RAID, and the stored data adopts a N+M redundancy protection mechanism.
- M is the number of check strip blocks of the distributed file storage system 10 for redundantly protecting the stored file data.
- the specific value of M can be set to a fixed value according to business needs.
- N is the number of data strips generated when the file data is striped, and N is calculated according to the number of storage server nodes and the value of M of the distributed file storage system 10, and may also be fixed according to service requirements. value.
- the distributed file storage system 10 can set a uniform value of N and M, and can also set different values of N and M for a certain directory, according to service requirements.
- N and M of the distributed file storage system 10 are stored in a file data metadata information table of the distributed file storage system 10.
- the metadata information table is the same as the existing implementation manner, and will not be further described herein.
- a file data to be processed is called a stripe data
- a stripe data striping process is divided into N data strip blocks, and M schools are generated according to the redundancy algorithm.
- the inspection strip has a block.
- the client agent 30 performs striping processing on the received file data, and divides the file data into
- N data strips and then generate M check strip blocks according to the redundancy algorithm, and store the generated data strip block and check strip block into the corresponding storage server node 101, and in the data strip Consistent tag information such as the same time stamp or version number is recorded in the block and check strip blocks.
- N data strip blocks and M check strip blocks are written to the corresponding storage server node 101.
- the stripe blocks may be written to the respective storage server nodes 101 in accordance with the number order of the storage server node 101, or may be written in the corresponding server node 101 according to other rules.
- the write rule is the same as the existing write rule and will not be described here.
- the client agent 30 When the user needs to read the file data, the client agent 30 reads the same number of data strips or check strips of the same consistency label information through the identification information of the file data that needs to be read to obtain the user needs to read. File data.
- the consistency principle of the redundancy algorithm when reading the stripe data with the N+M redundancy protection, at least any N strips of the same consistency label information in the N+M stripe blocks need to be obtained. , in order to ensure that the read strip data is the correct data.
- the distributed file storage system 10 as shown in FIG. 1 includes eight storage server nodes 101. It is assumed that the M of the distributed file storage system 10 is set to 2, and N is set to 6. Of course, M can be set to 2 and N is 5. In the present embodiment, N is 6 and M is 2 for exemplary description.
- the client agent 30 in the application server 20 receives the file data to be stored, and strips the file data into six data strips, and then uses the redundancy. The remaining algorithm generates two check strip blocks, and records the same time stamp or version number consistency label information in the data strip block and the check strip block.
- the client agent 30 stores the six data strips in the order of the storage server node 101 to the storage server node 1 - storage server node 6, and stores the two check strip blocks in order to the storage server node 7 and the storage server.
- node 8 for example, as shown in FIG.
- the client agent 30 reads at least six stripe blocks having the same consistency label information from the storage server node 101 according to the identification information of the file data, and the six stripe blocks are data strips. Any 6 stripe blocks in the block and check strip blocks.
- the valid file data may only occupy part of the data stripe block.
- the remaining data stripe block is a blank stripe block that does not contain valid file data.
- N 6
- M 2
- the check strip block is stored to the storage server node 7 - storage server node 8.
- the small file data is striped, it only takes 2 data strips, such as D1 and D2, and stores them on storage server node 1 and storage server node 2 and records the timestamp T1.
- the present invention proposes a new method for processing small file data in the distributed file storage system 10, which can reduce the operation of empty strip blocks, reduce the overhead of the disk 10 and the network 10 in the distributed file storage system, and improve the distributed file storage system. 10 performance.
- the invention mainly adopts a redundancy protection mechanism of N'+M according to the size of the file to be processed. Where M is the number of check strip blocks of the distributed file storage system, and N' is the number of actual strip blocks determined according to the size of the file data when the file data is striped.
- the size of the file data is different, and the number N' of the actual stripe blocks that are sliced may be different, realizing the dynamic adjustment of the actual number of stripe blocks of the file data.
- This can reduce the number of empty stripe blocks in a small file scenario, thereby reducing the number of disks 10 and 10 in a distributed file storage system and improving the performance of a distributed file storage system.
- N' needs to be larger than M, that is, the actual number of data strips and the number of check strip blocks should be large. Most principles can recover data in any abnormal situation.
- the structure of the distributed file storage system 10 applicable in the embodiment of the present invention is as shown in FIG. 1, and includes eight storage servers 101, and a plurality of storage servers 101 pass through a low-latency, high-throughput network (for example, an IB network). , 10G Ethernet) Interconnects form a cluster.
- the client agent 30 is deployed in the application server 20 and communicates between the user data and the cluster through the front end switch 50.
- Each storage server node 101 in the cluster communicates internally through the backend switch 60.
- the client agent 30 can also be deployed in the various storage server nodes 101 of the distributed file storage system 10, the functions of which are similar to those of the client agent 30 deployed in the application server 20, and will not be described again.
- M is 2 and N is 6.
- M is the number of check strip blocks in the distributed file storage system 10 for redundantly protecting the stored file data.
- the specific value of M may be set according to service requirements.
- N is the number of data strips that are sliced when the file data is striped.
- N is calculated according to the number of storage server nodes and the value of M in the distributed file storage system, and may also be set according to business needs. Fixed value.
- the distributed file storage system can set a uniform value of N and M, and can also set different N and M for a certain directory. The value depends on the business needs. In this embodiment, a unified N and M are taken as an example for description.
- N and M of the distributed file storage system are stored in the file data metadata information table of the distributed file storage system 10.
- the client agent 30 on the application server 20 receives the data processing request of the user sent by the application, and the data processing request carries information such as a file identifier FID, an offset address offset, and a file length length of the target file.
- the target file is a file to be processed.
- Data Strip Count DSO o valid stripe block refers to the data stripe block containing the file data.
- N The larger the size of the distributed file storage system, the smaller file data scenario
- the difference between the number of valid stripe blocks and the number N of data strips of the distributed file storage system is larger.
- the application server 20 When the client agent 30 is deployed on the storage server node 101 of the distributed file storage system 10, after receiving the data processing request, the application server 20 sends the data request to the client agent 30 on a storage server through the front end switch 50. .
- the method by which the application server 20 sends the data processing request to the client agent on the storage server 101 is similar to the existing method and will not be described in detail herein.
- the method of the client agent 30 on the storage server 101 for the data processing request is similar to that of the client agent 30 on the application server 20 and will not be described again.
- the number of valid stripe blocks DSC is greater than the number M of check strip blocks, that is, when DSC>M
- the number of empty stripe blocks is 0, which means that no empty stripe blocks need to be added, which reduces the number of empty stripe blocks in the distributed file storage system.
- the number of valid stripe blocks may be the same as the number N of data strips of the distributed file storage system.
- the number of empty stripe blocks is 0, that is, no empty strips need to be added. Piece.
- the number of actual stripe blocks N' is used instead of the strips of the distributed file storage system.
- the number N effectively reducing the number of hollow strips in the distributed file storage system.
- the read and write 10 operations for empty stripe blocks are reduced, and the performance of the distributed file storage system is improved.
- the client agent 30 processes the N' actual stripe blocks accordingly.
- the specific processing method differs from the type of data processing request.
- the storage server node 1 - the storage server node 8 form a cluster by low latency, high throughput network interconnection.
- the client agent 30 is deployed in the application server 20 and communicates between the user data and the cluster through the front end switch 50.
- Each storage server node 101 in the cluster communicates internally through the backend switch 60.
- the client agent 30 can also be deployed in each storage server node 101 of the distributed file storage system 10. Its function is similar to that of the client agent 30 deployed in the application server 20 and will not be described separately.
- the file data stored in the distributed file storage system 10 adopts a N+M redundancy protection mechanism.
- M is the number of check strip blocks in which the distributed file storage system 10 performs redundancy protection on the stored file data.
- N is the number of data strips that are split when the file data is striped.
- N is calculated according to the number of storage server nodes and the value of M of the distributed file storage system 10, and may also be set according to business needs. Fixed value.
- the distributed file storage system 10 can set a uniform value of N and M, and can also set different values of N and M for a certain directory, according to service requirements. In this embodiment, a unified N and M are taken as an example for description.
- N and M of the distributed file storage system 10 are stored in a file data metadata information table of the distributed file storage system 10.
- M and N for a directory device are stored in the directory metadata table.
- N and M may be equal to the sum of the number of storage server nodes in the distributed file storage system 10, or a plurality of stripe blocks may be stored in one storage server node 101, that is, the sum of N and M may also be larger than that of the storage server node.
- N of the distributed file storage system 10 is 6, and M is 2.
- the data write request is sent to the file system client agent 30 deployed on the application server 20 via a standard portable operating system interface.
- the client agent 30 processes the data write request and communicates with each storage server node 101 via the front end switch 50.
- the application server 20 sends a data write request through the front end switch 50 to the client agent 30 on the corresponding storage server node 101, and the client agent 30 on the storage server node 101 is again
- the data write request is processed and communicated with the storage server node 101 in the cluster via the backend switch 60.
- a data write request is initiated by the client to the client agent 30 on the application server 20.
- the file data to be written is referred to as an object file.
- the data write request carries information such as a file identifier FID, an offset address offset, and a file length length of the target file.
- the file identifier FID is 485, the offset address is 0K, and the file length is 160K.
- Client agent 30 according to the target text
- the file identifier of the piece obtains the redundancy ratio information of the distributed file storage system and the size of the stripe block from the file system metadata information table, that is, the values of N and M. In this embodiment, the value of N is 6, the value of M is 2, and the size of the stripe block is 128K.
- the client agent 30 performs striping processing on the target file according to the offset address, the file length information, and the size of the obtained stripe block in the data write request, to obtain the number DSC of the effective stripe block of the target file.
- the offset address of the target file is 0K
- the file size is 160K
- the size of the stripe block is 128K. Therefore, the client agent strips the target file to generate two valid stripe blocks.
- the client agent 30 compares the number of valid slice blocks that are sliced when the target file is striped, with the number M of the obtained check strip blocks.
- the number DSC of the effective slice blocks is less than or equal to the number M of the check strip blocks, that is, DSC M
- the number of valid stripe blocks is DSC
- the number of check stripe blocks M is 2
- the target file needs to be divided into three stripe blocks, that is, the number of actual stripe blocks of the target file is N', and the number of valid stripe blocks of the target file is 2, This only needs to add 1 empty strip block.
- the target file needs to have 6 strips of data strips. In the case where the effective stripe block is 2, 4 empty stripe blocks need to be added. It can be seen that with the method of the present invention, the number of empty strips can be greatly reduced.
- the number of valid strips that are sliced is DSC
- the check strip is When the number M of blocks is 2, the number DSC of the effective strip blocks of the target file at this time is smaller than the number M of the check strip blocks, that is, DSC ⁇ M.
- the target file is striped, it needs to be divided into 3 stripe blocks, that is, the number of actual stripe blocks of the target file is N', and the number of valid strips of the target file is DS1 is 1, so that Need to add 2 empty strip blocks.
- the number of valid strip blocks sliced when the target file is striped is larger than the number M of the check strips, that is, DSC>M.
- the number of valid stripe blocks is 10
- the number N' of actual strip blocks of the target file can be dynamically adjusted according to the size of the target file, which can ensure that the target file can be correctly read under any circumstances, and can be effective. Reduce the number of empty strips. Accordingly, the read and write 10 operations for empty stripe blocks are reduced, and the performance of the distributed file storage system is improved.
- the client agent 30 generates a M check strip block by using a redundancy algorithm according to the obtained actual stripe block, and adds the consistency label information and the valid strip in the N' actual strip block and the M check strip block.
- the consistency tag information may be the same timestamp timestamp or version number information.
- the client agent 30 strips the target file Korean to get the valid stripes of D1 and D2 ⁇ .
- the number of valid strip blocks of the target file DSC is 2, and the number 2 of valid strip blocks is compared with the number 2 of check strip blocks, and the number of valid strip blocks is DSC and the number of check strip blocks M is equal, the number of actual stripe blocks of the target file N' is 3, and an empty stripe block D3 needs to be added.
- the client agent 30 writes the actual stripe block and the check strip block carrying the consistency tag information and the number of valid stripe blocks DSC into the corresponding storage server node 101. How to confirm each The method of the storage server node 101 that the stripe blocks should be written is similar to the existing implementation method, and will not be described in detail herein.
- the client agent 30 saves the number N' of the actual stripe blocks of the target file and the number M of the check strip blocks and the distribution information of the strip blocks to the metadata information table of the file, so as to facilitate reading of the target file.
- a stripe block of the target file can be read into the corresponding storage server node 101.
- the client agent 30 implements operations such as storage of each strip block through the backend switch 60, and the specific implementation manner is the same as the existing implementation manner. , no further explanation here.
- the number DSC of the effective stripe block segmented by the target file striping process is smaller than the number M of the check strip block of the distributed file storage system
- the number of actual stripe blocks N' is equal to the number of check strips M+1, and the value of M is generally small. At this time, only a few empty stripe blocks need to be added; when the target file is striped
- the number of valid strip blocks DSC is larger than the number M of the check strip blocks of the distributed file storage system
- the number of actual strip blocks N' is equal to the number of valid strip blocks. Empty strips.
- the target file is small file data
- the target file is striped to generate N' actual stripe blocks, instead of the number N of data strips of the distributed file storage system in the prior art, which is reduced.
- the number of stripe blocks effectively reduces the write operation of empty stripe blocks, reduces the operation of the distributed file storage system, and improves the performance of the distributed file storage system.
- the performance improvement of distributed file storage systems is more obvious.
- the following embodiment is described in detail by taking a data processing request as a data read request as an example, and the implemented method flow is as shown in FIG.
- a data read request is a request for a user to read a target file.
- the structure of the distributed file storage system 10 is the same as that of the distributed file storage system 10 for which the data processing request is a data write request application, as shown in FIG.
- the description will be made by taking N as 6 and M as 2.
- the values of N and M can also be set to other values as needed, and the implementation principles are the same and will not be described separately.
- the client agent 30 is also deployed in the application server 20 as an example for description.
- a data read request is initiated to the client agent 30 on the application server 20.
- the data read request carries information such as a file identifier FID, an offset address offset, and a file length length of the target file.
- the client agent 30 obtains the redundancy ratio information of the distributed file storage system 10 from the file system metadata information table according to the file identifier FID carried in the data read request.
- the remainder ratio information is the values of N and M.
- M is the number of check strip blocks in the distributed file storage system in order to redundantly protect the stored file data. The specific value of M may be set according to service requirements.
- N is the number of data strips that are sliced when the file data is striped.
- N is calculated according to the number of storage server nodes and the value of M in the distributed file storage system, and may also be set according to business needs. Fixed value.
- the distributed file storage system 10 can set a uniform value of N and M, and can also set different values of N and M for a certain directory, according to service requirements. In the present embodiment, a unified N and M will be described as an example.
- N and M of the distributed file storage system 10 are stored in the file data metadata information table of the distributed file storage system 10.
- M and N for a directory device are stored in the directory metadata table.
- the value of N of the distributed file storage system 10 is 6, and the value of M is 2.
- the client agent 30 on the application server 20 can obtain the number N of data strips of the target file, the number M of the check strip blocks, and the strip block according to the file identifier. Size.
- the client agent calculates the number DSC of the valid stripe blocks of the target file according to the offset address, the file length information, and the size of the stripe block carried in the data read request.
- the specific calculation method is similar to the method in the data write request scheme, and will not be further described herein. In the following steps, the number of valid stripe blocks of the target file is 2, the number of actual stripe blocks is 3, and the number of check stripe blocks is 2.
- the client agent 30 can search for the distribution information of the stripe block of the target file by using the file identifier FID carried in the data read request, and determine, according to the distribution information, which storage block and the check strip block of the target file are stored. On the server node, the location of the actual stripe block storing the target file and the server node of the check strip block may also be confirmed according to the calculated number of actual stripe blocks N' and the number of check stripe blocks.
- the client agent 30 generates a new data block read request and sends the data block read request to the determined storage server node 101.
- the data block read request is for reading a stripe block of the object file in the storage server node 101.
- the client agent 30 may send a data block read request to all of the determined storage server nodes 101; the data block read request may also be sent to all of the storage server nodes 101 in the distributed file storage system 10.
- the client agent 30 can also send the data block read request to the storage server node 101 of the actual stripe block storing the target file, and the response fed back from the storage server node 101 storing the actual strip file of the target file cannot be correctly read.
- the data block read request is sent to the storage server node 101 of the check strip block storing the target file.
- the data block read request is first sent to the storage server node 101 storing the actual strip file block of the target file, and is fed back to the storage server node storing the actual strip file of the target file.
- the data block read request is sent to the storage server node 101 storing the target file check strip block.
- the storage server node 101 After receiving the data block read request, the storage server node 101 determines whether the stored corresponding stripe block is readable according to the file identifier carried in the data block read request, and if it can be read, sends the readable record to the client proxy. Successful response message, the success response message carries a stripe block The consistency label information and the number of valid stripe blocks DSC information; if the corresponding stripe block is not stored or the stored corresponding stripe block is corrupted and cannot be read, an unreadable failure response message is sent to the client.
- the client agent 30 transmits a data block read request to the storage server node 101 storing the actual strip file block of the target file, and receives the response information of the data block read request returned by each storage server node 101. If the number of successful response messages is the same as the number N' of actual stripe blocks, and the consistency tag information and the number of valid stripe blocks in the success response message are the same, the target file can be read, the client agent 30 reads the actual stripe block and constructs the object file to send to the user. The client agent 30 reads the actual stripe block and constructs the object file in the same way as the existing method, and will not be described here.
- the client agent 30 searches the metadata information table according to the file identifier of the target file carried in the data read request, and obtains the number N of data strips of the target file is 6, and the check strip block
- the quantity M is 2, and the distribution information of the target file stripe block, that is, the actual stripe block D1 is stored in the storage server node 1, the actual stripe block D2 is stored in the storage server node 2, and the actual stripe block D3 is stored in the storage server node. 3.
- the check strip block D7 is stored in the storage server node 7, and the check strip block D8 is stored in the storage server node 8.
- the client agent 30 calculates the number of valid stripe blocks of the target file DSC and the number of actual stripe blocks of the target file N' based on the information carried in the data read request and the information obtained from the file identifier of the target file. For detailed calculation methods, please refer to the relevant description in the process of data write request.
- the client agent 30 generates a new data block read request for reading the stripe block of the object file in the storage server node 101.
- the client agent 30 sends a data block read request to the storage server node 1-3 storing the actual strip file block of the target file.
- the storage server node 1-3 returns a success response message that can be read, and the success response message carries the time stamp information of the stripe block and the quantity information of the valid stripe block respectively.
- the client agent 30 determines that the timestamp information carried in all the response messages and the quantity information of the valid stripe block are Nothing is the same. If they are the same, the client agent 30 reads the actual stripe block and constructs the object file to send to the user. In the embodiment of the present invention, the client agent 30 only needs to read the stripe block with the same consistency label information and the effective stripe block number DSC information, but in the prior art, it needs to be read.
- N the value of the number of data strips N will be larger, and the corresponding number of empty strip blocks that need to be operated will be burdened by the performance of the distributed file storage system. It is also bigger.
- the read operation of the empty stripe block can be effectively reduced, and the performance of the entire distributed file storage system is improved.
- the number of successful response messages fed back by the storage server node 101 storing the actual strip file block is smaller than the number of actual stripe blocks N' or the success response message carries the same consistency label information and the number of valid stripe blocks DSC If the number of information is smaller than the number N' of the actual stripe blocks, it is further determined whether the number of successful response messages or the number of successful response messages with the same consistency label information and the number of valid stripe blocks DSC information is greater than the distributed file.
- the number of check strip blocks of the storage system is ⁇ 1.
- the client agent 30 judges success. Whether the number of response messages and the number of successful response messages with the same consistency label information and the effective stripe block number information is greater than or equal to the number DSC of the valid stripe blocks of the target file, if greater than or equal to the valid stripe of the target file The number of blocks is DSC. At this time, the correct target file can be read, and the client agent 30 performs corresponding processing.
- the specific processing method is the same as the existing implementation method, and will not be further described herein.
- the client agent 30 will The data block read request is sent to the storage server node 101 storing the target file check strip block, and receives the response message of the storage server node 101 storing the target file check strip block.
- the client agent 30 further determines the number of all successful response messages and the number of successful response messages with the same consistency label information and the effective stripe block quantity information is greater than or equal to the number DSC of the valid stripe blocks of the target file, if greater than Or equal to the number DSC of the valid stripe blocks of the target file, at which time the correct target file can be read. If the number of valid stripe blocks of the target file is less than DSC, the user fails to read the failed information.
- the client agent 30 If the number of successful response messages or the number of successful response messages with the same consistency label information and valid stripe block number information is less than or equal to the number M of the check strip blocks of the distributed file storage system, the client agent 30 The data block read request is sent to the storage server node 101 storing the target file check strip block, and the response message of the storage server node 101 storing the target file check strip block is received. The client agent 30 further determines whether the number of all successful response messages or the number of successful response messages with the same consistency label information and the effective stripe block number information is greater than the check strip block of the distributed file storage system. Quantity M.
- the number of all successful responses and the number of successful response messages with the same consistency label information and valid stripe block number information is greater than the number M of check strip blocks of the distributed file storage system, then all success is determined. Whether the number of response messages or the number of successful response messages with the same consistency tag information and the number of valid slice blocks is greater than or equal to the number DSC of valid slice blocks of the target file. If the number of all successful response messages and the number of successful response messages with the same consistency label information and valid stripe block number information is greater than or equal to the number DSC of the valid stripe blocks of the target file, then the correct one can be read.
- Target file if the number of all successful response messages or the number of successful response messages with the same consistency tag information and the number of valid slice blocks is less than the number DSC of the valid slice blocks of the target file, the read failure is fed back to the user.
- Information If the number of all successful response messages or the number of successful response messages with the same consistency tag information and the number of valid slice blocks is smaller than that of the distributed file storage system The number M of stripe blocks is checked, and the client agent 30 feeds back to the user the information that failed to be read. The following is an example in which the number of valid strips of the target file DSC is 2, the number of actual stripe blocks N' is 3, and the number of check stripe blocks M is 2.
- the valid stripe block D1 of the target file is stored in the storage server node 1, and the valid stripe block D2 of the target file is stored in the server node 2, and the empty strip block D3 with the target file is stored in the storage server node 3, and the check strip
- the tape block D7 is stored in the storage server node 7, and the check strip block D8 is stored in the storage server node 8.
- the client agent 30 first transmits the received data block read request of the user to the storage server node 1, the storage server node 2, and the storage server node 3.
- the storage server node 2 feeds back the failure response message due to the damaged stripe block D2, and only two stripe blocks successfully respond, that is, the client agent receives two success response messages, which is smaller than the actual stripe of the target file.
- the number of blocks 3, the client agent 30 needs to further compare the number 2 of successful response messages with the number 2 of check strip blocks of the distributed file storage system.
- the number 2 of successful response messages is equal to the number 2 of the check strip blocks of the distributed file storage system, and the client agent 30 sends a block read request to the storage server node 7 and the storage server node 8. Both the storage server node 7 and the storage server node 8 feed back a message of successful response to the client agent 30.
- the sum of the number of successful response messages with the same time stamp and the valid stripe block number information received by the client agent 30 (the number of successful response messages of the valid stripe block and the success of the check strip block)
- the number of successful response messages with the same time stamp and the number of valid strips is greater than the effective of the target file.
- the number of stripe blocks is 2, then the correct target file can be read at this time, and the client agent 30 reads the stripe blocks D1, D7, and D8 and constructs the target file to be sent to the user.
- the data processing request may also be a data deletion request or a data truncation request.
- the implemented access flow is as shown in FIG. 5.
- the structure of the distributed file storage system 10 applied is the same as that of other data processing requests, as shown in FIG. .
- the implementation method of the data deletion request is similar to the implementation method of the data truncation request.
- the following describes the data deletion request as an example.
- the implementation method of the data truncation request is not described separately.
- the value of N of the distributed file storage system is 6, and the value of M is 2.
- the values of N and M can also be set to other values as needed, and the implementation principles are the same and will not be described separately.
- the client agent 30 is also deployed in the application server 20 as an example for description.
- the user initiates a data deletion request to the client agent 30 on the application server 20, and the file data that the user wants to delete is referred to as an object file, and the data deletion request is used to delete related items stored in the storage server nodes of the target file. With blocks.
- the data deletion request carries the file identifier FID information of the target file.
- the client agent 30 obtains the redundancy ratio information of the distributed file storage system and the stripe block from the file system metadata information table according to the file identifier FID carried in the data deletion request. Distribution information, the redundancy ratio information, that is, the values of N and M. M is the number of check strip blocks in the distributed file storage system in order to redundantly protect the stored file data.
- N is the number of data strips that are split when the file data is striped. N is calculated according to the number of storage server nodes and the value of M in the distributed file storage system, and can also be fixed according to business needs. Value.
- the distributed file storage system may set a uniform value of N and M, and may also set different values of N and M for a certain directory, according to service requirements. In this embodiment, a unified N and M are taken as an example for description.
- Distributed file storage system N and M are stored in distributed text
- the file data metadata information table of the storage system. M and N for a directory device are stored in the directory metadata table.
- the number of check strip blocks of the distributed file storage system of the target file is M
- the number of data strips of the distributed file storage system N is 6 for description.
- the client agent sends a data deletion request to the corresponding storage server node 101 in the distributed file storage system 10 based on the obtained distribution information of the stripe blocks. If there is no stripe block of the target file or only an empty stripe block of the target file in the storage server node 101 that has received the data deletion request, a response message indicating that the deleted object does not exist is returned to the client agent 30. If the valid stripe block or the check strip block of the target file is stored in the storage server node 101 that has received the data deletion request, the stripe block is deleted and the response message of the successful deletion is returned to the client agent 30. If it cannot be deleted or not completely deleted, the response message of the deletion failure is fed back to the client agent 30.
- the client agent 30 After receiving the response message of each storage server node, the client agent 30 determines whether the sum of the received response message and the successful deletion response message is greater than or equal to the number of data strip blocks of the distributed file storage system. N. That is to say, the number of stripe blocks in which the object file is stored in the distributed file storage system cannot exceed the number M of the stripe strips of the distributed file storage system, so as to ensure that the target file can be deleted after the target file is deleted. Read from a distributed file storage system. If the sum of the received response message and the successful deletion response message is greater than or equal to the number N of data stripe blocks of the distributed file storage system, the client agent 30 returns a response message indicating that the deletion was successful to the user. Otherwise, the client agent 30 returns a response message to the user that the deletion failed.
- the client agent 30 After receiving the data deletion request, the client agent 30 searches the metadata information table according to the file identifier of the target file carried in the data deletion request, and obtains the number M of the check strip block of the distributed file storage system is 2, distributed. The number N of stripe strips of the storage system is 6 and the distribution information of the stripe blocks.
- the client agent 30 sends the received data deletion request to the corresponding storage server node 101 in the distributed storage system 30 according to the distribution information of the stripe block.
- storage server The node 1 stores the valid stripe block D1 of the target file
- the storage server node 2 stores the valid stripe block D2 of the target file
- the client proxy 30 transmits the received data deletion request to the storage server node 1 and the storage server node.
- Storage Server Node 1 and Storage Server Node 2 delete the stripe blocks D1 and D2, and return a successful response message to the client agent 30 after successful deletion.
- the storage server node 3 stores an empty stripe block of the target file, and the storage server node 4, the storage server node 5, and the storage server node 6 have no stripe blocks of the target file, and the storage server node 3-6 receives the data deletion request. Thereafter, a response message indicating that the deleted object does not exist is fed back to the client agent 30, respectively.
- the storage server node 7 and the storage server node 8 store the target file check strip block, delete the corresponding strip block D7 and D8, and return a successful response message to the client agent 30 after successful deletion.
- the client agent 30 receives 4 response messages for successful data deletion returned by each storage server node 101, 4 response messages for which the deletion object does not exist, and the received deletion success response message and the response message for which the deletion object does not exist are 8 in total. , greater than the number of striped strips of the distributed file storage system, the client agent 30 returns a response to the successful deletion of the user. In the case that the data processing request is a data deletion request, only the sum of the number of response messages returning the deletion success and the number of response messages not returning the deletion object is greater than or equal to the number of data strip blocks of the distributed file storage system. When the client agent returns a message that the deletion was successful to the user.
- the data deletion operation it is required to compare with the number N of data strip blocks of the distributed file storage system, and the data write request and the data read request need to be compared with the number N' of actual data strip blocks of the target file. This is mainly to confirm that the strip file block of the target file is deleted and it is ensured that the target file cannot be read again.
- the method of deleting the stripe data caused by the truncation is the same as the method of deleting the strip of data strips, and will not be further described herein.
- a redundancy protection mechanism of N'+M is adopted, that is, when the target file is striped, the size is generated according to the size.
- the number of different strip blocks that is, the number of actual strip blocks N'.
- the present invention also provides an apparatus for implementing a data processing method in a distributed file storage system.
- the device may be a client agent.
- the device may be deployed in an application server connected to the distributed file storage system, or may be deployed in each storage server node in the distributed file storage system, as shown in FIG.
- the distributed file storage system 10 includes a plurality of storage servers 101, and a plurality of storage servers 101 are interconnected by a low-latency, high-throughput network (eg, IB network, 10G Ethernet). .
- the distributed file storage system 10 also includes a Front-End switch 50 and a Back-End switch 60.
- the front end switch 50 is used for external service request and data interaction between the user data and the cluster.
- the backend switch 60 is used for internal request and data interaction between the various storage server nodes 101 within the cluster.
- the application server 20 communicates with the distributed file storage system 10 via the front end switch 50.
- each application When the device is deployed in the application server 20 connected to the distributed file storage system 10, each application is directly accessed and deployed on the application server through a standard portable operating system interface (English: Portable Operating System Interface, POSIX). 20 on the file system client agent CA (Client Agent) 30.
- the client agent 30 serves as a portal for the distributed file storage system 10 to provide external services, and then interacts with the storage server 101 inside the cluster after receiving the application request.
- each application accesses the corresponding network attached storage server through a commonly used NAS protocol (such as NFS/CIFS). Attached Storage Server (NAS Server), and the NAS Server is deployed with the storage server.
- the NAS Server then accesses the file system client agent deployed on the server node to implement the storage service.
- the first access mode is specifically described, and the second access mode adopts a similar implementation principle.
- the following uses the device as a client agent as an example for description.
- the service system includes two application servers 20, and the application server 20 communicates with the distributed file storage system 10 through the front-end switch 50.
- the client agent 30 is deployed in the application server 20, and the user's data processing request is first sent to the client agent 30 of the application server 20, and the client agent 30 performs corresponding processing on the data processing request.
- the application server 20 transmits a data processing request to the client agent 30 in the corresponding storage server node 101 through the front end switch 50, The data processing request is processed by the client agent 30 in the storage server node 101.
- the storage servers 101 in the distributed file storage system 10 are interconnected to form a cluster, which constitutes a large-scale network RAID, and the stored data adopts a N+M redundancy protection mechanism.
- the M is a distributed file storage system 10.
- the specific value of the M may be set to a fixed value according to service requirements.
- N is the number of data strips that are split when the file data is striped.
- N is calculated according to the number of storage server nodes and the value of M of the distributed file storage system 10, and may also be set according to business needs. Fixed value.
- the distributed file storage system 10 can set a uniform value of N and M, and can also set different values of N and M for a certain directory, according to service requirements.
- the N and M of the distributed file storage system are stored in a file data metadata information table of the distributed file storage system.
- a file data to be processed is called a stripe data
- a stripe data stripe is divided into N data strip blocks, and M checksums are generated according to the redundancy algorithm.
- Strip block is a file data to be processed.
- the client agent 30 includes a receiving module 301, a processing module 303, and a sending module 305.
- the receiving module 301 of the client proxy 30 is configured to receive a data processing request sent by the application, where the data processing request carries information such as a file identifier FID, an offset address offset, and a file length length of the target file.
- the target file is a file to be processed.
- the processing module 303 is based on the number The number of valid strips (DSC) of the file data is calculated according to the offset address and length information carried in the processing request.
- a valid stripe block is a strip of data strips containing file data.
- the number of valid stripe blocks that are sliced when the file data is striped is smaller than the number N of data strips of the distributed file storage system.
- the application server 20 When the client agent 30 is deployed on the server node 101 of the distributed file storage system 10, after receiving the data processing request, the application server 20 sends the data request to the client agent 30 on a storage server 101 through the front end switch 50. .
- the method by which the application server 20 sends the data processing request to the client agent 30 on the storage server 101 is similar to the existing method and will not be described in detail herein.
- the method of the client agent 30 on the storage server 101 for the data processing request is similar to that of the client agent 30 on the application server 20 and will not be described again.
- the number DSC of valid strip blocks is greater than the number M of check strip blocks, that is, when DSC>M
- the number of empty strip blocks is 0, which means that there is no need to add empty strip blocks, which reduces the number of empty strip blocks in the distributed file storage system.
- the number of valid stripe blocks may be the same as the number N of data strips of the distributed file storage system. In this case, the number of empty stripe blocks is 0, that is, no empty strips need to be added. Piece.
- the number of actual stripe blocks N' is used instead of the strips of the distributed file storage system.
- the number N effectively reducing the number of hollow strips in the distributed file storage system.
- the read and write 10 operations for empty stripe blocks are reduced, and the performance of the distributed file storage system is improved.
- Corresponding processing is performed on N' actual stripe blocks.
- the specific processing method differs from the type of data processing request.
- the sending module 305 is configured to send the result processed by the processing module 303 to the user.
- the receiving module 301 is configured to receive the data write request.
- the processing module 303 performs striping processing on the target file according to the offset address, the file length information, and the size of the obtained stripe block, and obtains the number DSC of the effective stripe blocks of the target file.
- the processing module 303 compares the number DSC of the valid strip blocks sliced when the target file is stripped with the obtained number of the check strip blocks.
- the number DSC of the effective slice blocks is less than or equal to the number M of the check strip blocks, that is, DSC M
- the processing module 303 generates M check bars by using a redundancy algorithm according to the obtained actual stripe block. With blocks, and adding the consistency label information and the number of valid strip blocks DSC in N' actual strip blocks and M check strip blocks.
- the consistency tag information may be the same timestamp timestamp or version number information.
- the processing module 303 writes the actual stripe block and the check strip block carrying the consistency label information and the number of valid stripe blocks DSC into the corresponding storage server node.
- the method of how to confirm the storage server node that each stripe block should be written is similar to the existing implementation method, and will not be described in detail here.
- the processing module 303 saves the number N′ of the actual stripe blocks of the target file and the number M of the check strip blocks and the distribution information of each strip block into the metadata information table of the file, so as to read the target file.
- the stripe block of the target file can be read into the corresponding storage server node.
- the number DSC of the effective stripe block segmented by the target file striping process is smaller than the number M of the check strip block of the distributed file storage system
- the number of actual stripe blocks N' is equal to the number of check strips M+1, and the value of M is generally small. At this time, only a few empty stripe blocks need to be added; when the target file is striped
- the number of valid strip blocks DSC is larger than the number M of the check strip blocks of the distributed file storage system
- the number of actual strip blocks N' is equal to the number of valid strip blocks. Empty strips.
- the target file is small file data
- the target file is striped to generate N' actual stripe blocks, instead of the number N of data strips of the distributed file storage system in the prior art, which is reduced.
- the number of stripe blocks effectively reduces the write operation of the empty stripe block, reduces the 10 operations of the distributed file storage system 10, and improves the performance of the distributed file storage system 10.
- the performance improvement of the distributed file storage system 10 is more obvious.
- the file data to be read by the user is referred to as a target file.
- the data read request is a block that needs to be read to the target file and stored in the corresponding server node, and a request for restoring the original target file is constructed.
- the receiving module 301 is configured to receive the data read request, where the data read request carries The file identifier of the target file identifies information such as FID, offset address offset, and file length length.
- the processing module 303 obtains redundancy ratio information of the distributed file storage system from the file system metadata information table according to the file identifier FID carried in the data read request, where the redundancy ratio information is N and M value.
- M is the number of check strip blocks in the distributed file storage system in order to redundantly protect the stored file data. The specific value of M may be set according to service requirements.
- N is the number of data strips that are split when the file data is striped. N is calculated according to the number of storage server nodes and the value of M in the distributed file storage system, and can also be fixed according to business needs.
- the distributed file storage system may set a uniform value of N and M, and may also set different values of N and M for a certain directory, according to service requirements.
- a unified N and M are taken as an example for description.
- the N and M of the distributed file storage system are stored in a file data metadata information table of the distributed file storage system.
- M and N for a directory device are stored in the directory metadata table.
- the processing module 303 can find the number N of data strip blocks of the target file, the number M of the check strip blocks, and the size of the strip block according to the file identifier.
- the processing module 303 calculates the number DSC of the valid stripe blocks of the target file according to the offset address, the file length information, and the size of the stripe block carried in the data read request.
- the specific calculation method is similar to the method in the data write request scheme, and will not be further described herein.
- the processing module 303 may search for the distribution information of the stripe block of the target file by using the file identifier carried in the data read request, and determine, according to the published information, which storage block and the check strip block of the target file are stored.
- the processing module 303 can send a data read request to all of the determined storage server nodes; the data read request can also be sent to all storage server nodes in the distributed file storage system.
- the processing module 303 may also send the data read request to the storage server node of the actual stripe block storing the target file, and the response fed back by the storage server node storing the actual strip file of the target file may not be correctly read to the target file. Then, the data read request is sent to the storage server node of the check strip block storing the target file.
- the processing is performed in the last case, that is, the processing module 303 first sends the data read request to the storage server node storing the actual strip file block of the target file, and the storage server storing the actual strip file block of the target file.
- the data read request is sent to the storage server node storing the target file check strip block.
- the processing module generates a new data block read request and sends the data block read request to the determined storage server node 101.
- the data block read request is for reading a stripe block of the object file in the storage server node 101.
- the storage server node After receiving the data block read request, the storage server node determines whether the stored corresponding stripe block is readable according to the file identifier carried in the data block read request, and if it can be read, sends the read to the processing module 303 to be read. Success response message, the success response message carries the consistency label information of the stripe block and the number of valid stripe blocks DSC information; if the corresponding stripe block is not stored or the corresponding stripe block of the storage is damaged and cannot be read, Then, the failure processing message that cannot be read is sent to the processing module 303.
- the processing module 303 sends the data block read request to the storage server node storing the actual strip file block of the target file, and receives the response information of the data block read request returned by each storage server node. If the number of successful response messages is the same as the number N' of actual stripe blocks, and the consistency label information and the number of valid stripe blocks DSC in the success response message are the same, the target file can be read at this time, the processing Module 303 reads the actual stripe block and constructs the object file for transmission to the user. The processing module 303 reads the actual stripe block and implements the object file in the same manner as the existing method, and is not described here.
- the number of successful response messages fed back by the storage server node storing the actual strip file block is smaller than the number of actual stripe blocks N' or the success response message with the same consistency label information and the number of valid stripe blocks If the number is smaller than the number N' of the actual stripe blocks, it is further determined whether the number of successful response messages or the number of successful response messages with the same consistency label information and the number of valid stripe blocks is greater than the distributed file storage. The number M of check strips of the storage system.
- the number of successful response messages fed back by the storage server node storing the actual strip file block is smaller than the number of actual stripe blocks N' or the success response message with the same consistency label information and the number of valid stripe blocks If the number is smaller than the number N' of the actual stripe blocks, it is further determined whether the number of successful response messages or the number of successful response messages with the same consistency label information and the number of valid stripe blocks DSC information is greater than the distributed file storage system.
- the number of check strips is M.
- the processing module 303 determines Whether the number of successful response messages or the number of successful response messages with the same consistency tag information and the number of valid slice blocks is greater than or equal to the number of valid slice blocks of the target file DSC, if the number of successful response messages is The number of successful response messages of the same consistency label information and the effective stripe block quantity information is greater than or equal to the number DSC of the valid stripe blocks of the target file, and the correct target file can be read at this time, and the processing module 303 performs corresponding
- the specific processing method is the same as the existing implementation method, and will not be further described here.
- the processing module 303 reads the data The request is sent to a storage server node storing the target file check strip block, and receives a response message of the storage server node storing the target file check strip block.
- the processing module 303 further determines whether the number of all successful response messages or the number of successful response messages with the same consistency label information and the effective stripe block quantity information is greater than or equal to the number of valid stripe blocks of the target file, DSC, all If the number of successful response messages and the number of successful response messages with the same consistency label information and valid stripe block number information is greater than or equal to the number of valid stripe blocks of the target file DSC, the correct target can be read at this time. File, if the number of all successful response messages or with the same consistency label information The number of successful response messages of the valid stripe block number information is smaller than the number DSC of the valid stripe blocks of the target file, and the user is fed back the failed information.
- the processing module 303 If the number of successful response messages or the number of successful response messages with the same consistency label information and valid stripe block number information is less than or equal to the number M of check strip blocks of the distributed file storage system, the processing module 303 And sending the data block read request to the storage server node storing the target file check strip block, and receiving the response message of the storage server node storing the target file check strip block. The processing module 303 further determines whether the number of all successful response messages or the number of successful response messages with the same consistency label information and the effective stripe block quantity information is greater than the check strip block of the distributed file storage system. The number M.
- the number of all successful responses and the number of successful response messages with the same consistency label information and valid stripe block number information is greater than the number M of check strip blocks of the distributed file storage system, then all success is determined. Whether the number of response messages or the number of successful response messages with the same consistency tag information and the number of valid slice blocks is greater than or equal to the number DSC of valid slice blocks of the target file. If the number of all successful response messages and the number of successful response messages with the same consistency label information and valid stripe block number information is greater than or equal to the number DSC of the valid stripe blocks of the target file, then the correct one can be read.
- Target file if the number of all successful response messages or the number of successful response messages with the same consistency tag information and the number of valid slice blocks is less than the number DSC of the valid slice blocks of the target file, the read failure is fed back to the user. Information. If the number of all successful response messages or the number of successful response messages with the same consistency tag information and the number of valid slice blocks is smaller than the number M of the check strip blocks of the distributed file storage system, feedback to the user Read failed information.
- the data processing request may also be a data deletion request or a data truncation request.
- the implementation method of the data deletion request is similar to the implementation method of the data truncation request.
- the implementation method of the data truncation request is not described separately.
- the file data that the user wants to delete is called an object file, and the data deletion request is used to delete the file.
- the associated strip file of the target file stored in each storage server node.
- the data deletion request carries the file identifier FID information of the target file.
- the receiving module 301 receives the data deletion request; the processing module 303 obtains the redundant configuration of the distributed file storage system from the file system metadata information table according to the received file identifier FID carried in the data deletion request.
- the ratio information and the distribution information of the stripe blocks that is, the values of N and M.
- M is the number of check strip blocks in the distributed file storage system in order to redundantly protect the stored file data.
- the specific value of M may be set according to service requirements.
- N is the number of data strips that are split when the file data is striped.
- N is calculated according to the number of storage server nodes and the value of M in the distributed file storage system, and can also be fixed according to business needs. Value.
- the distributed file storage system may set a uniform value of N and M, and may also set different values of N and M for a certain directory, according to service requirements. In this embodiment, a unified N and M are taken as an example for description.
- the N and M of the distributed file storage system are stored in a file data metadata information table of the distributed file storage system.
- M and N for a directory device are stored in the directory metadata table.
- the processing module 303 sends a data deletion request to the corresponding storage server node in the distributed file storage system according to the obtained distribution information of the stripe block. If there is no stripe block of the target file or only an empty stripe block of the target file in the storage server node that receives the data deletion request, a response message indicating that the deleted object does not exist is returned to the processing module 303. If the valid stripe block or the check stripe block of the target file is stored in the storage server node that receives the data deletion request, the stripe block is deleted, and the response message of the successful deletion is returned to the processing module 303. If it cannot be deleted or not completely deleted, the processing module 303 feeds back the response message of the deletion failure.
- the processing module 303 determines whether the sum of the received response message and the deletion success response message is greater than or equal to the data stripe block of the distributed file storage system.
- Quantity N That is to say, the number of stripe blocks in which the object file is stored in the distributed file storage system cannot exceed the number M of the stripe strips of the distributed file storage system, so as to ensure that the target file can be deleted after the target file is deleted.
- Read from a distributed file storage system receive. If the sum of the received response message that the strip does not exist and the response message that is successfully deleted is greater than or equal to the number N of data strip blocks of the distributed file storage system, a response message indicating that the deletion is successful is returned to the user. Otherwise, a response message to the deletion failure is returned to the user.
- the device provided in the embodiment of the present invention when writing a file into the distributed file storage system, adopts a redundancy protection mechanism of N'+M according to the size of the file to be written, that is, according to the size of the target file striping
- the number of different strip blocks is generated, that is, the number of actual strip blocks N'. In this way, it can ensure that the correct target file can be correctly obtained under any circumstances, and the number of hollow strips in the distributed file storage system can be effectively reduced, and the number of disks 10 and 10 in the distributed file storage system can be reduced. Improve the performance of distributed file storage systems.
- the function is implemented in the form of computer software and sold or used as a stand-alone product, it may be considered to some extent that all or part of the technical solution of the present invention (for example, a part contributing to the prior art) is It is embodied in the form of computer software products.
- the computer software product is typically stored in a computer readable non-volatile storage medium, including instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform all of the methods of various embodiments of the present invention. Or part of the steps.
- the foregoing storage medium includes various media that can store program codes, such as a USB flash drive, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA2897129A CA2897129C (en) | 2013-12-31 | 2013-12-31 | Data processing method and device in distributed file storage system |
CN201380002274.8A CN104272274B (zh) | 2013-12-31 | 2013-12-31 | 一种分布式文件存储系统中的数据处理方法及设备 |
EP13900799.1A EP2933733A4 (en) | 2013-12-31 | 2013-12-31 | DATA PROCESSING METHOD AND DEVICE IN A DISTRIBUTED FILE STORAGE SYSTEM |
JP2015559412A JP6106901B2 (ja) | 2013-12-31 | 2013-12-31 | 分散ファイルストレージシステムにおけるデータ処理の方法およびデバイス |
PCT/CN2013/091143 WO2015100627A1 (zh) | 2013-12-31 | 2013-12-31 | 一种分布式文件存储系统中的数据处理方法及设备 |
AU2013409624A AU2013409624B2 (en) | 2013-12-31 | 2013-12-31 | Data processing method and device in distributed file storage system |
US14/806,064 US10127233B2 (en) | 2013-12-31 | 2015-07-22 | Data processing method and device in distributed file storage system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/091143 WO2015100627A1 (zh) | 2013-12-31 | 2013-12-31 | 一种分布式文件存储系统中的数据处理方法及设备 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/806,064 Continuation US10127233B2 (en) | 2013-12-31 | 2015-07-22 | Data processing method and device in distributed file storage system |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015100627A1 true WO2015100627A1 (zh) | 2015-07-09 |
Family
ID=52162404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2013/091143 WO2015100627A1 (zh) | 2013-12-31 | 2013-12-31 | 一种分布式文件存储系统中的数据处理方法及设备 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10127233B2 (zh) |
EP (1) | EP2933733A4 (zh) |
JP (1) | JP6106901B2 (zh) |
CN (1) | CN104272274B (zh) |
AU (1) | AU2013409624B2 (zh) |
CA (1) | CA2897129C (zh) |
WO (1) | WO2015100627A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274208A (zh) * | 2018-12-05 | 2020-06-12 | 杭州海康威视系统技术有限公司 | 锁定文件的方法和装置 |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6318878B2 (ja) * | 2014-06-04 | 2018-05-09 | 富士通株式会社 | 通信装置、システム及び通信処理方法 |
CN104639661A (zh) * | 2015-03-13 | 2015-05-20 | 华存数据信息技术有限公司 | 分布式存储系统及文件存储和读取方法 |
CN106161523B (zh) * | 2015-04-02 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 一种数据处理方法和设备 |
US10466913B2 (en) | 2015-04-29 | 2019-11-05 | EMC IP Holding Company LLC | Method and system for replicating and using grid level metadata in a storage system |
US11237727B2 (en) * | 2015-10-05 | 2022-02-01 | Weka.IO Ltd. | Electronic storage system |
CN105404469B (zh) * | 2015-10-22 | 2018-11-13 | 浙江宇视科技有限公司 | 一种视频数据的存储方法和系统 |
CN105426483B (zh) * | 2015-11-19 | 2019-01-11 | 华为技术有限公司 | 一种基于分布式系统的文件读取方法及装置 |
US11847095B1 (en) * | 2015-12-30 | 2023-12-19 | EMC IP Holding Company LLC | Managing truncation of files of file systems |
CN105824721B (zh) * | 2016-03-14 | 2019-07-12 | 浙江宇视科技有限公司 | 一种数据存储系统及其存储纠删方法 |
CN107203559B (zh) * | 2016-03-17 | 2021-01-01 | 华为技术有限公司 | 一种划分数据条带的方法和装置 |
US10545825B2 (en) * | 2016-04-29 | 2020-01-28 | Synamedia Limited | Fault-tolerant enterprise object storage system for small objects |
CN107247714B (zh) * | 2016-06-01 | 2018-02-27 | 国家电网公司 | 一种基于分布式存储技术的小文件存取系统的存取方法 |
CN107819729B (zh) * | 2016-09-13 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 一种数据请求方法及其系统、接入设备、存储设备和存储介质 |
CN108021333B (zh) * | 2016-11-03 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 随机读写数据的系统、装置及方法 |
JP6526235B2 (ja) * | 2016-11-25 | 2019-06-05 | 華為技術有限公司Huawei Technologies Co.,Ltd. | データチェック方法および記憶システム |
CN108241548A (zh) * | 2016-12-23 | 2018-07-03 | 航天星图科技(北京)有限公司 | 一种基于分布式系统的文件读取方法 |
JP6833990B2 (ja) * | 2017-03-29 | 2021-02-24 | 華為技術有限公司Huawei Technologies Co.,Ltd. | 分散型ストレージシステムにアクセスするための方法、関係する装置及び関係するシステム |
US10057373B1 (en) * | 2017-05-15 | 2018-08-21 | Palantir Technologies Inc. | Adaptive computation and faster computer operation |
CN107273048B (zh) * | 2017-06-08 | 2020-08-04 | 浙江大华技术股份有限公司 | 一种数据写入方法及装置 |
CN109947842B (zh) * | 2017-07-27 | 2021-06-18 | 杭州海康威视数字技术股份有限公司 | 分布式存储系统中的数据存储方法、装置及系统 |
CN109597566B (zh) * | 2017-09-30 | 2022-03-04 | 杭州海康威视系统技术有限公司 | 一种数据读取、存储方法及装置 |
CN107679197A (zh) * | 2017-10-10 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种文件截断的优化方法及装置 |
EP3495939B1 (en) * | 2017-10-13 | 2021-06-30 | Huawei Technologies Co., Ltd. | Method and device for storing data in distributed block storage system, and computer readable storage medium |
CN109672544B (zh) | 2017-10-13 | 2020-12-11 | 杭州海康威视系统技术有限公司 | 一种数据处理方法、装置及分布式存储系统 |
CN107918527B (zh) * | 2017-11-01 | 2021-04-23 | 北京小米移动软件有限公司 | 存储空间分配方法及装置以及文件存储方法及装置 |
US11580068B2 (en) | 2017-12-15 | 2023-02-14 | Palantir Technologies Inc. | Systems and methods for client-side data analysis |
CN110109886B (zh) * | 2018-02-01 | 2022-11-18 | 中兴通讯股份有限公司 | 分布式文件系统的文件存储方法及分布式文件系统 |
US10783214B1 (en) | 2018-03-08 | 2020-09-22 | Palantir Technologies Inc. | Adaptive and dynamic user interface with linked tiles |
CN110413202B (zh) * | 2018-04-28 | 2024-03-08 | 伊姆西Ip控股有限责任公司 | 数据复制方法、设备和计算机程序产品 |
US10768844B2 (en) | 2018-05-15 | 2020-09-08 | International Business Machines Corporation | Internal striping inside a single device |
CN109165208B (zh) * | 2018-07-26 | 2020-12-15 | 佛山市电子政务科技有限公司 | 一种用于将数据加载到数据库中的方法及系统 |
US10606851B1 (en) | 2018-09-10 | 2020-03-31 | Palantir Technologies Inc. | Intelligent compute request scoring and routing |
CN109597903B (zh) * | 2018-11-21 | 2021-12-28 | 北京市商汤科技开发有限公司 | 图像文件处理装置和方法、文件存储系统及存储介质 |
CN109726036B (zh) * | 2018-11-21 | 2021-08-20 | 华为技术有限公司 | 一种存储系统中的数据重构方法和装置 |
US10409641B1 (en) | 2018-11-26 | 2019-09-10 | Palantir Technologies Inc. | Module assignment management |
CN109634525B (zh) * | 2018-12-10 | 2022-03-08 | 浪潮电子信息产业股份有限公司 | 一种存储系统有效容量的估算方法、系统及相关组件 |
WO2020124608A1 (zh) * | 2018-12-22 | 2020-06-25 | 华为技术有限公司 | 分布式存储系统及计算机程序产品 |
CN109814805B (zh) * | 2018-12-25 | 2020-08-25 | 华为技术有限公司 | 存储系统中分条重组的方法及分条服务器 |
WO2020181478A1 (zh) * | 2019-03-12 | 2020-09-17 | 华为技术有限公司 | 亚健康节点的管理方法和装置 |
CN110308875B (zh) * | 2019-06-27 | 2023-07-14 | 深信服科技股份有限公司 | 数据读写方法、装置、设备及计算机可读存储介质 |
CN112394876B (zh) * | 2019-08-14 | 2024-02-23 | 深圳市特思威尔科技有限公司 | 大文件存储/读取方法、存储/读取装置和计算机设备 |
CN112579554A (zh) * | 2019-09-29 | 2021-03-30 | 北京金山云网络技术有限公司 | 服务器配置文件的批量对比方法、装置及电子设备 |
CN110795391A (zh) * | 2019-10-28 | 2020-02-14 | 深圳市元征科技股份有限公司 | 一种汽修资料处理方法、装置及电子设备和存储介质 |
LU101763B1 (en) * | 2020-05-04 | 2021-11-05 | Microsoft Technology Licensing Llc | Microsegment secure speech transcription |
CN111858540B (zh) * | 2020-07-28 | 2024-10-15 | 昆明大棒客科技有限公司 | 带权重的分布式数据存储方法、系统和存储介质 |
CN112083888A (zh) * | 2020-09-10 | 2020-12-15 | 北京金山云网络技术有限公司 | 文件存储方法、装置和电子设备 |
CN113010103B (zh) * | 2021-01-15 | 2023-03-21 | 腾讯科技(深圳)有限公司 | 数据存储方法、装置、相关设备及存储介质 |
CN114281267B (zh) * | 2021-12-30 | 2024-04-26 | 西北工业大学 | 分布式存储系统间的数据迁移方法和装置 |
CN115277735B (zh) * | 2022-07-20 | 2023-11-28 | 北京达佳互联信息技术有限公司 | 数据的处理方法和装置、电子设备及存储介质 |
CN116048424B (zh) * | 2023-03-07 | 2023-06-06 | 浪潮电子信息产业股份有限公司 | Io数据处理方法、装置、设备及介质 |
CN116521091B (zh) * | 2023-06-28 | 2023-09-15 | 苏州浪潮智能科技有限公司 | 数据读取方法、装置、设备、数据传输系统及存储介质 |
CN117057142B (zh) * | 2023-08-15 | 2024-06-18 | 中交一公局集团有限公司 | 一种基于数字孪生的车辆测试数据处理方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834898A (zh) * | 2010-04-29 | 2010-09-15 | 中科院成都信息技术有限公司 | 一种网络分布式编码存储方法 |
CN102364472A (zh) * | 2011-10-25 | 2012-02-29 | 中兴通讯股份有限公司 | 数据存储方法及系统 |
CN102624866A (zh) * | 2012-01-13 | 2012-08-01 | 北京大学深圳研究生院 | 一种存储数据的方法、装置及分布式网络存储系统 |
CN102801784A (zh) * | 2012-07-03 | 2012-11-28 | 华为技术有限公司 | 一种分布式数据存储方法及设备 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4451916A (en) * | 1980-05-12 | 1984-05-29 | Harris Corporation | Repeatered, multi-channel fiber optic communication network having fault isolation system |
US5388108A (en) | 1992-10-23 | 1995-02-07 | Ncr Corporation | Delayed initiation of read-modify-write parity operations in a raid level 5 disk array |
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 |
JP3682256B2 (ja) * | 2001-11-30 | 2005-08-10 | 株式会社東芝 | ディスクアレイ装置及び同装置におけるパリティ処理方法 |
US6985995B2 (en) * | 2002-03-29 | 2006-01-10 | Panasas, Inc. | Data file migration from a mirrored RAID to a non-mirrored XOR-based RAID without rewriting the data |
US7328305B2 (en) * | 2003-11-03 | 2008-02-05 | Network Appliance, Inc. | Dynamic parity distribution technique |
US7680758B2 (en) * | 2004-09-30 | 2010-03-16 | Citrix Systems, Inc. | Method and apparatus for isolating execution of software applications |
KR100579133B1 (ko) * | 2004-12-06 | 2006-05-12 | 한국전자통신연구원 | 블록분할 디스크 어레이에서의 분산 패러티를 이용한데이터 배치 방법 및 블록분할 분산패러티 디스크어레이에서의 대형/소형 블록 읽기/쓰기 제어 방법 |
US7788303B2 (en) * | 2005-10-21 | 2010-08-31 | Isilon Systems, Inc. | Systems and methods for distributed system scanning |
US8209587B1 (en) * | 2007-04-12 | 2012-06-26 | Netapp, Inc. | System and method for eliminating zeroing of disk drives in RAID arrays |
US8442751B2 (en) * | 2007-11-27 | 2013-05-14 | The Boeing Company | Onboard electronic distribution system |
US10133883B2 (en) * | 2009-02-09 | 2018-11-20 | International Business Machines Corporation | Rapid safeguarding of NVS data during power loss event |
US8209513B2 (en) | 2009-11-12 | 2012-06-26 | Autonomy, Inc. | Data processing system with application-controlled allocation of file storage space |
WO2012000997A1 (en) * | 2010-07-02 | 2012-01-05 | International Business Machines Corporation | An apparatus for processing a batched unit of work |
US9092864B2 (en) * | 2010-11-30 | 2015-07-28 | Pixart Imaging Inc | Displacement detection apparatus and method |
JP5405513B2 (ja) | 2011-03-22 | 2014-02-05 | 株式会社東芝 | メモリシステム、不揮発性記憶装置、不揮発性記憶装置の制御方法、及びプログラム |
CN102855194B (zh) * | 2012-08-08 | 2015-05-13 | 北京君正集成电路股份有限公司 | 数据存储方法和存储器 |
US8909860B2 (en) * | 2012-08-23 | 2014-12-09 | Cisco Technology, Inc. | Executing parallel operations to increase data access performance |
US9317363B2 (en) * | 2013-11-06 | 2016-04-19 | International Business Machines Corporation | Management of a secure delete operation in a parity-based system |
-
2013
- 2013-12-31 WO PCT/CN2013/091143 patent/WO2015100627A1/zh active Application Filing
- 2013-12-31 AU AU2013409624A patent/AU2013409624B2/en active Active
- 2013-12-31 CA CA2897129A patent/CA2897129C/en active Active
- 2013-12-31 CN CN201380002274.8A patent/CN104272274B/zh active Active
- 2013-12-31 JP JP2015559412A patent/JP6106901B2/ja active Active
- 2013-12-31 EP EP13900799.1A patent/EP2933733A4/en not_active Withdrawn
-
2015
- 2015-07-22 US US14/806,064 patent/US10127233B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834898A (zh) * | 2010-04-29 | 2010-09-15 | 中科院成都信息技术有限公司 | 一种网络分布式编码存储方法 |
CN102364472A (zh) * | 2011-10-25 | 2012-02-29 | 中兴通讯股份有限公司 | 数据存储方法及系统 |
CN102624866A (zh) * | 2012-01-13 | 2012-08-01 | 北京大学深圳研究生院 | 一种存储数据的方法、装置及分布式网络存储系统 |
CN102801784A (zh) * | 2012-07-03 | 2012-11-28 | 华为技术有限公司 | 一种分布式数据存储方法及设备 |
Non-Patent Citations (1)
Title |
---|
See also references of EP2933733A4 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274208A (zh) * | 2018-12-05 | 2020-06-12 | 杭州海康威视系统技术有限公司 | 锁定文件的方法和装置 |
CN111274208B (zh) * | 2018-12-05 | 2023-06-30 | 杭州海康威视系统技术有限公司 | 锁定文件的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104272274A (zh) | 2015-01-07 |
US10127233B2 (en) | 2018-11-13 |
AU2013409624A1 (en) | 2015-07-30 |
EP2933733A4 (en) | 2016-05-11 |
US20150324371A1 (en) | 2015-11-12 |
CN104272274B (zh) | 2017-06-09 |
JP2016510148A (ja) | 2016-04-04 |
AU2013409624B2 (en) | 2016-11-17 |
JP6106901B2 (ja) | 2017-04-05 |
EP2933733A1 (en) | 2015-10-21 |
CA2897129A1 (en) | 2015-07-09 |
CA2897129C (en) | 2022-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2015100627A1 (zh) | 一种分布式文件存储系统中的数据处理方法及设备 | |
US11281531B2 (en) | Serial storage node processing of data functions | |
US8972779B2 (en) | Method of calculating parity in asymetric clustering file system | |
US7266716B2 (en) | Method and recovery of data using erasure coded data from stripe blocks | |
US9021335B2 (en) | Data recovery for failed memory device of memory device array | |
US11074129B2 (en) | Erasure coded data shards containing multiple data objects | |
US9135115B2 (en) | Storing data in multiple formats including a dispersed storage format | |
US7953771B2 (en) | Virtualized data storage vaults on a dispersed data storage network | |
CN101488104B (zh) | 一种实现高效安全存储的系统和方法 | |
US9311184B2 (en) | Storing raid data as encoded data slices in a dispersed storage network | |
US20180267856A1 (en) | Distributed storage system, data storage method, and software program | |
US7284088B2 (en) | Methods of reading and writing data | |
US7310703B2 (en) | Methods of reading and writing data | |
WO2014056381A1 (zh) | 数据冗余实现方法及装置 | |
WO2013023516A1 (zh) | 数据冗余处理方法、装置和分布式存储系统 | |
WO2020034695A1 (zh) | 数据存储方法、数据恢复方法、装置、设备及存储介质 | |
US11055018B2 (en) | Parallel storage node processing of data functions | |
Liu et al. | Reo: Enhancing reliability and efficiency of object-based flash caching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 2897129 Country of ref document: CA |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2013900799 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2013409624 Country of ref document: AU Date of ref document: 20131231 Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13900799 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2015559412 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |