Method for separating requests

By selecting multiple replica or checksum redundant schemes based on I/O request type and offloading the checksum calculation task to external storage nodes, the multi-replica redundant scheme is solved by low storage utilization and checksum redundant scheme calculations. The problem of high resource consumption achieves high performance and high efficiency storage access.

CN119166068AActive Publication Date: 2024-12-20HANGZHOU WOQU NETWORK TECH
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411326350.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-23
Publication Date
2024-12-20
Estimated Expiration
2044-09-23

AI Technical Summary

Technical Problem

In the prior art, the multi-replica data redundancy scheme results in low storage utilization, while the checksum data redundancy scheme consumes a large amount of computing resources, resulting in shortage of computing resources in computers and poor storage access performance.

Method used

A method of separating the request is proposed. According to the type of the I/O request, whether it is a performance I/O type or a calculation I/O type. If it is a performance I/O type, multiple replica redundancy is used. If it is a calculation The I/O type adopts checksum redundancy and offloads the checksum computing task to an external storage node to avoid consuming the computing resources of the target computer.

Benefits of technology

It realizes the improvement of storage utilization while ensuring high storage access performance, and offloading computing tasks to external storage nodes, reducing the computing resource consumption of target computers and improving the efficiency of computing parity sums.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119166068A_ABST
    Figure CN119166068A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of electric digital data processing, in particular to a method for separating requests. The method comprises the steps of obtaining a target I / O request; if the target I / O request is a write-in request, judging the type of the target I / O request according to the type of data to be written in by the target I / O request; if the type of the target I / O request is a performance I / O type, N disks are selected from disks of the target computer to serve as target disks of the target I / O request, and data to be written in the target I / O request are written into each disk in the target disks; and if the type of the target I / O request is a calculation I / O type, sending the target I / O request to a target external storage node to realize verification and redundancy of data to be written in the target I / O request in the target external storage node. According to the invention, high performance of storage access can be ensured and a relatively high storage utilization rate can be provided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of electronic digital data processing, and in particular to a method for separating and processing requests. Background Art

[0002] In storage systems, data redundancy solutions are usually adopted to ensure data reliability. Conventional data redundancy solutions include multiple copies and checksums. Multiple copies of data redundancy solutions do not consume too many computing resources and can usually provide better storage access performance. However, the cost of multiple copies of data redundancy solutions is high. The valid data corresponding to the two-copy data redundancy solution is 1 / 2 of the total storage component capacity, and the valid data corresponding to the three-copy data redundancy solution is 1 / 3 of the total storage component capacity, and so on. The checksum data redundancy solution does not store data repeatedly, so it can effectively solve the problem of low storage utilization in the multiple copies of data redundancy solutions. For example, the valid data in the raid5 solution constructed by 5 disks is 4 / 5 of the total storage component capacity, and the valid data in the raid6 solution constructed by 6 disks is 4 / 6 of the total storage component capacity. However, the checksum data redundancy solution requires parity check and calculation of the data, so it will consume a lot of computing resources in the computer, resulting in a shortage of computing resources in the computer and poor storage access performance. Summary of the invention

[0003] The present invention aims to provide a method for separating and processing requests to ensure high performance of storage access and provide higher storage utilization.

[0004] According to the present invention, a method for separating and processing requests is provided, comprising the following steps:

[0005] S100, obtaining a target I / O request; the target I / O request is an upper-layer I / O request received by the database file system or an I / O request generated by the database file system itself.

[0006] S200, if the target I / O request is a write request, the type of the target I / O request is determined according to the type of data to be written by the target I / O request; the type of data to be written by the target I / O request is a metadata type or a non-metadata type, and the type of the target I / O request is a performance I / O type or a computing I / O type.

[0007] S300: If the type of the target I / O request is a performance I / O type, then enter S400; if the type of the target I / O request is a computing I / O type, then enter S500.

[0008] S400, select N disks from the disks of the target computer as target disks for the target I / O request, and write the data to be written in the target I / O request into each of the target disks respectively, so as to realize N copies of redundancy of the data to be written in the target I / O request in the target computer; N is the redundant number corresponding to the target I / O request; the target computer is the computer on which the database file system runs.

[0009] S500, sending a target I / O request to a target external storage node to implement verification and redundancy of data to be written in the target I / O request in the target external storage node; the target external storage node is an external storage node among several external storage nodes of the target computer.

[0010] Compared with the prior art, the present invention has at least the following beneficial effects:

[0011] The present invention first determines whether an upper-layer I / O request received by a database file system or a request generated by the database file system itself is a write request. If so, the type of the request is determined according to the type of data to be written in the request; if the request is a performance I / O type, the data in the request is stored on the disk of a target computer and multiple copies are performed for redundancy; if the request is a computing I / O type, the request is sent to a target external storage node so that the target external storage node can verify and redundancy the data to be written in the request. The present invention supports two data redundancy schemes in a file system. For I / O requests of performance I / O type (the storage address of the corresponding data to be written is accessed more frequently), a multi-copy data redundancy scheme is used to ensure higher storage access performance; for I / O requests of calculation type (the storage address of the corresponding data to be written is accessed less frequently), a checksum data redundancy scheme is used to improve data storage utilization, and checksum redundancy is performed in an external storage node, so that the calculation task can be unloaded from the calculation node of the target computer to the external storage node, without consuming the resources of the calculation node of the target computer, and more calculation resources are reserved for the calculation node. At the same time, there is no task in the external storage node to compete with the task of calculating the parity checksum, which can improve the efficiency of calculating the parity checksum. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0013] Figure 1A flowchart of a method for separating and processing requests provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0014] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.

[0015] According to the present invention, Figure 1 As shown, a method for separating and processing requests is provided, comprising the following steps:

[0016] S100, obtaining a target I / O request; the target I / O request is an upper-layer I / O request received by the database file system or an I / O request generated by the database file system itself.

[0017] As a specific implementation, the upper-layer I / O request received by the database file system is the I / O request generated when the user reads or writes. The I / O request generated by the database file system itself includes the I / O request for reading metadata triggered by user behavior or the I / O request generated by the scheduled task not triggered by user behavior, etc.

[0018] S200, if the target I / O request is a write request, the type of the target I / O request is determined according to the type of data to be written by the target I / O request; the type of data to be written by the target I / O request is a metadata type or a non-metadata type, and the type of the target I / O request is a performance I / O type or a computing I / O type.

[0019] In this embodiment, the I / O request is an input / output request, the input request corresponds to reading data, and the output request corresponds to writing data. When the I / O request corresponds to writing data, the I / O request is judged to be a write request; when the I / O request corresponds to reading data, the I / O request is judged to be a read request. As a specific implementation, the I / O request includes an identifier for characterizing whether the I / O request is a write request or a read request, and the I / O request can be obtained based on the identifier as to whether it is a write request or a read request.

[0020] In this embodiment, the type of data to be written by the target I / O request is known; if the I / O request is a write request, the I / O request also includes an identifier for characterizing the type of data to be written by the I / O request. As a specific implementation, if the identifier for characterizing the type of data to be written by the I / O request is 1, it indicates that the type of data to be written by the I / O request is a metadata type; if the identifier for characterizing the type of data to be written by the I / O request is 0, it indicates that the type of data to be written by the I / O request is a non-metadata type.

[0021] As a specific implementation, judging the type of the target I / O request according to the type of data to be written by the target I / O request includes:

[0022] S210, if the type of data to be written by the target I / O request is a metadata type, determine that the type of the target I / O request is a performance I / O type; if the type of data to be written by the target I / O request is a non-metadata type, enter S220.

[0023] S220, if the data to be written by the target I / O request is hot data, determine the type of the target I / O request to be a performance I / O type; if the data to be written by the target I / O request is cold data, determine the type of the target I / O request to be a computing I / O type.

[0024] In this embodiment, hot data in metadata type data and non-metadata type data are data that are frequently accessed, and cold data in non-metadata type data are data that are infrequently accessed.

[0025] In this embodiment, if the target I / O request is a read request, the type of the target I / O request is not determined, and S300-S500 are not executed, and any method for processing a read request in the prior art can be used. As a specific implementation, S220 also includes a process for determining whether the data to be written by the target I / O request is hot data or cold data, and the process includes:

[0026] S221, obtaining a virtual address add1 of data to be written in the target I / O request.

[0027] In this embodiment, if the target I / O request is a write request, the target I / O request also includes the address of the data to be written, which is a virtual address. The actual storage address (i.e., the physical address) of the data to be written in the target I / O request can be obtained based on the virtual address and the conversion relationship from the virtual address to the physical address.

[0028] S222, obtaining the access frequency f1 of the physical address corresponding to add1 in the target historical time period.

[0029] In this embodiment, the target historical time period is the historical time period closest to the current moment and having a preset length.

[0030] In this embodiment, no matter whether data is written or read from the physical address corresponding to add1 within the target historical time period, it is regarded as the physical address corresponding to add1 being accessed; the frequency f1 of the physical address corresponding to add1 being accessed within the target historical time period is the sum of the frequency of the physical address corresponding to add1 being written to within the target historical time period and the frequency of the physical address corresponding to add1 being read from within the target historical time period.

[0031] S223, if f1≥f0, determine that the data to be written by the target I / O request is hot data; otherwise, determine that the data to be written by the target I / O request is cold data.

[0032] In this embodiment, f0 is an empirical value.

[0033] S300: If the type of the target I / O request is a performance I / O type, then enter S400; if the type of the target I / O request is a computing I / O type, then enter S500.

[0034] In this embodiment, if the type of the target I / O request is a performance I / O type, it means that the address to which the target I / O request intends to write data is frequently accessed, and the performance of storage access is more concerned, and the performance requirement for storage access is relatively high; if the type of the target I / O request is a computing I / O type, it means that the address to which the target I / O request intends to write data is not frequently accessed, and the performance of storage access is not concerned, and the performance requirement for storage access is relatively low.

[0035] S400, select N disks from the disks of the target computer as target disks for the target I / O request, and write the data to be written in the target I / O request into each of the target disks respectively, so as to realize N copies of redundancy of the data to be written in the target I / O request in the target computer; N is the redundant number corresponding to the target I / O request; the target computer is the computer on which the database file system runs.

[0036] In this embodiment, the number of disks included in the target disk is N, N≥2, and the data to be written in the target I / O request is written to each disk in the target disk respectively, so that each disk in the target disk stores the data to be written in the target I / O request, and N copies of the data to be written in the target I / O request can be achieved. Redundancy of N copies of the data to be written in the target I / O request. Since the data redundancy scheme for multiple copies does not need to consume too many computing resources, therefore, in this embodiment, writing the data to be written in the target I / O request to the disk of the target computer does not consume a large amount of computing resources inside the target computer, and does not affect the speed of processing other computing tasks inside the computer.

[0037] As an optional specific implementation, the redundancy numbers corresponding to different I / O requests are equal, N is a preset value, and 2≤N≤5.

[0038] As a preferred specific implementation, the redundancy numbers corresponding to different I / O requests may be the same or different, and the process of obtaining N includes:

[0039] S410, obtaining the number of times the target address is accessed in the most recent first time period H, where H = (H1, H2, ..., H i ,…,H n ), H i H is the number of times the i-th target address is accessed in the most recent first time period, i ranges from 1 to n, and n is the current number of copies of the data to be written by the target I / O request; the target address is the storage address corresponding to the data to be written by the target I / O request, and different target addresses correspond to different disks; H i =(H i,1 ,H i,2 ,…,H i,j ,…,H i,m ), H i,j is the number of times the i-th target address is accessed in the j-th sub-time period in the most recent first time period, the value range of j is 1 to m, and m is the number of sub-time periods included in the most recent first time period.

[0040] In this embodiment, the duration of the first time period and the duration of the sub-time period are both empirical values. As a specific implementation, the duration of the first time period is 1 minute, and the duration of the sub-time period is 1 second.

[0041] In this embodiment, n is known; the target I / O request includes a virtual address corresponding to the data to be written, and the storage address (which is a physical address) corresponding to the data to be written by the target I / O request can be obtained based on the virtual address and the conversion relationship from the virtual address to the physical address; if the number of copies corresponding to the data stored at the storage address is s, that is, the data stored at the storage address has backup in another s-1 disks, then n=s.

[0042] S420, traverse H, and obtain the average number of times PH that the i-th target address is accessed in the most recent first time period i , PH i =∑ m j=1 H i,j / m.

[0043] S430, obtaining the number of times the target disk is accessed in the most recent first time period D, where D = (D1, D2, ..., D i ,…,Dn ), D i is the number of times the i-th target disk is accessed in the most recent first time period, and the i-th target disk is the disk corresponding to the i-th target address; D i =(D i,1 ,D i,2 ,…,D i,j ,…,D i,m ), D i,j is the number of times the i-th target disk is accessed in the j-th sub-time period in the most recent first time period.

[0044] S440, traverse D to obtain the average number of times PD the i-th target disk is accessed in the most recent first time period i , P.D. i =∑ m j=1 D i,j / m.

[0045] S450, according to PH i and PD i Obtain a copy quantity adjustment judgment value F of data to be written by the target I / O request.

[0046] Preferably, F satisfies the following condition: F = ∑ n i=1 ((PH i / PD i -a / 1000)×1000+(PD i / TD i -b / 100)×100) / n, where a is the preset heat expansion threshold, b is the preset disk pressure threshold, TD i is the upper limit of the number of times the i-th target disk is accessed in a single sub-time period.

[0047] In this embodiment, a, b and TD i They are all empirical values. The larger the value of a is, the higher the access heat requirement for the target address corresponding to the data when the replica capacity is increased; the larger the value of b is, the higher the access pressure requirement for the disk corresponding to the target address when the replica capacity is increased; as a specific implementation method, a=1, b=80.

[0048] S460, if F is less than the lower limit value of the preset copy number adjustment judgment value interval, then determine whether n is greater than the first preset copy number, if so, determine n-1 as N; if F is greater than the upper limit value of the preset copy number adjustment judgment value interval, then determine whether n is less than the second preset copy number, if so, determine n+1 as N; the lower limit value of the preset copy number adjustment judgment value interval is less than 0, and the upper limit value of the preset copy number adjustment judgment value interval is greater than 0.

[0049] In this embodiment, when F is smaller than the lower limit of the preset copy number adjustment judgment value interval, if n is not greater than the first preset copy number, n is determined to be N.

[0050] In this embodiment, when F is greater than the upper limit of the preset copy number adjustment judgment value interval, if n is not less than the second preset copy number, n is determined to be N.

[0051] In this embodiment, if n-1 is determined to be N, n-1 target disks are selected from the n target disks to store the data to be written by the target I / O request; if n+1 is determined to be N, a disk of a target computer is added as the target disk, so that there are n+1 disks to store the data to be written by the target I / O request.

[0052] In this embodiment, if F belongs to the preset copy quantity adjustment judgment value interval, n is determined to be N.

[0053] In this embodiment, the lower limit value of the preset copy quantity adjustment judgment value interval, the upper limit value of the preset copy quantity adjustment judgment value interval, the first preset copy quantity and the second preset copy quantity are all empirical values. Optionally, the first preset copy quantity is 2 and the second preset copy quantity is 5.

[0054] Based on S410-S460, when the access popularity of the target address corresponding to the data and the access pressure of the disk corresponding to the target address are both high, the number of copies corresponding to the data is increased, thereby improving the storage access performance of the data; when the access popularity of the target address corresponding to the data and the access pressure of the disk corresponding to the target address are both low, the number of copies corresponding to the data is reduced, thereby reducing the storage cost of the data; thus, this embodiment achieves the purpose of balancing the storage access performance and storage cost of the data.

[0055] S500, sending a target I / O request to a target external storage node to implement verification and redundancy of data to be written in the target I / O request in the target external storage node; the target external storage node is an external storage node among several external storage nodes of the target computer.

[0056] Since the data redundancy scheme of the checksum needs to consume a large amount of computing resources inside the target computer, and the computing resources inside the target computer are very tight, preferably, the scheme of this embodiment sends the target I / O request to the target external storage node through the Remote Direct Memory Access (RDMA) technology to offload the checksum calculation task originally performed inside the target computer to the external storage node. Therefore, the calculation of the checksum of this embodiment only consumes the computing resources of the external storage node, but not the computing resources inside the target computer; and inside the external storage node, since there is no business need to compete with the calculation of the checksum for computing resources, the efficiency of calculating the parity checksum can be improved, and more computing resources can be reserved for the business inside the target computer.

[0057] In this embodiment, the external storage node can be expanded as needed. As an optional specific implementation, the number of external storage nodes is greater than or equal to 2, and a certain external storage node is randomly selected as the target external storage node. As a preferred specific implementation, the process of obtaining the target external storage node includes:

[0058] S501, obtain the total computing power E of the external storage nodes, E=(E1, E2, …, E k ,…,E q ), E k is the total computing power of the kth external storage node. The value range of k is 1 to q, q is the number of external storage nodes, and q≥2.

[0059] In this embodiment, E k The following conditions are met: k =(y k,1 ×c k ×u+y k,2 × k )×w k , where y k,1 is the main frequency of the CPU of the kth external storage node, y k,2 is the main frequency of the memory of the kth external storage node, c k is the number of CPU cores of the kth external storage node, z k is the ratio of the memory size of the kth external storage node to the unit memory size, u is the preset CPU weight, u>1, w k is the preset weight of the kth external storage node. Thus, the total computing power of each external storage node can be estimated more accurately and quickly.

[0060] In this embodiment, the unit memory size is 1 GB.

[0061] In this embodiment, wk and u are empirical values. As a specific implementation, u=10.

[0062] S502, obtaining the computing power ratio R consumed by the external storage node, R = (R1, R2, ..., R k ,…,R q ), R k The percentage of computing power consumed by the kth external storage node.

[0063] In this embodiment, R k Meet the following conditions: R k =(x k,1 ×u+x k,2 ) / (u+1), x k,1 is the CPU usage percentage of the kth external storage node, x k,2 is the memory usage percentage of the kth external storage node.

[0064] S503, traverse E and R, according to E k and R k Get the remaining computing power G of the kth external storage node k .

[0065] In this embodiment, G k Meet the following conditions: G k =E k ×(1-R k ).

[0066] S504: Determine the external storage node with the largest remaining computing power as the target external storage node.

[0067] Based on S501-S504, the external storage node with the largest remaining computing power can be obtained more accurately and quickly, which is conducive to achieving load balancing of the external storage nodes.

[0068] As a specific implementation, implementing the verification and redundancy of the data to be written in the target I / O request in the target external storage node includes:

[0069] S510, dividing the data to be written in the target I / O request into Q slices; Q is a preset number of slices.

[0070] In this embodiment, Q is an empirical value, and optionally, Q=4.

[0071] S520, obtain the parity checksums of the Q slices.

[0072] Those skilled in the art know that any method for calculating a parity checksum in the prior art falls within the protection scope of the present invention.

[0073] S530, use Q+M disks in the target external storage node to store Q shards and the parity sums of the Q shards; wherein, Q disks in the Q+M disks are used to store the Q shards, and different disks store different shards; M disks in the Q+M disks are used to store the parity sums of the Q shards, and the parity sums of the Q shards stored by different disks are the same, and M is the preset number of disks for storing parity sums.

[0074] In this embodiment, after the data to be written in the target I / O request is split, different shards in the obtained Q shards have different data corresponding to them, and the data corresponding to different shards are stored on different disks. Using Q disks can realize the storage of the data to be written in the target I / O request.

[0075] In this embodiment, M is an empirical value, and M=1 or M=2 is optional. If M=1, Q+1 disks are required to implement the checksum redundancy of the data to be written in the target I / O request in the target external storage node, where Q disks are used to store the data to be written in the target I / O request, and 1 disk is used to store the parity checksum of Q shards; if M=2, Q+2 disks are required to implement the checksum redundancy of the data to be written in the target I / O request in the target external storage node, where Q disks are used to store the data to be written in the target I / O request, and 2 disks are used to store the parity checksum of Q shards.

[0076] Small-scale experiments have shown that this embodiment reduces the cost by more than 50% compared to a data redundancy solution that only uses multiple copies, improves the storage access performance of this embodiment by more than 70% compared to a data redundancy solution that only uses checksums, and reduces the computing resource consumption inside the target computer of this embodiment by about 80%.

[0077] This embodiment first determines whether an upper-layer I / O request received by the database file system or a request generated by the database file system itself is a write type request. If so, the type of the request is determined according to the type of data to be written in the request; if the request is a performance I / O type, the data in the request is stored on the disk of the target computer and multiple copies are performed for redundancy; if the request is a computing I / O type, the request is sent to the target external storage node so that the target external storage node can verify and redundancy the data to be written in the request. This embodiment supports two data redundancy schemes in a file system. For I / O requests of performance I / O type (the storage address of the corresponding data to be written is accessed more frequently), a multi-copy data redundancy scheme is used to ensure higher storage access performance; for I / O requests of computing type (the storage address of the corresponding data to be written is accessed less frequently), a checksum data redundancy scheme is used to improve data storage utilization, and checksum redundancy is performed on the external storage node, which can offload the computing task from the computing node of the target computer to the external storage node, does not consume the resources of the computing node of the target computer, and reserves more computing resources for the computing node. At the same time, there is no task inside the external storage node to compete with the task of calculating the parity checksum, which can improve the efficiency of calculating the parity checksum.

[0078] Although some specific embodiments of the present invention have been described in detail by way of example, it will be appreciated by those skilled in the art that the above examples are for illustration only and are not intended to limit the scope of the present invention. It will also be appreciated by those skilled in the art that various modifications may be made to the embodiments without departing from the scope and spirit of the present invention. The scope of the present invention is defined by the appended claims.

Claims

1. A method for separating and processing requests, characterized in that: The following steps are involved: S100, obtaining a target I / O request; the target I / O request is an upper layer I / O request received by the database file system or an I / O request generated by the database file system itself; S200, if the target I / O request is a write request, determining the type of the target I / O request according to the type of data to be written by the target I / O request; the type of the data to be written by the target I / O request is a metadata type or a non-metadata type, and the type of the target I / O request is a performance I / O type or a computing I / O type; S300, if the type of the target I / O request is a performance I / O type, then enter S400; if the type of the target I / O request is a computing I / O type, then enter S500; S400, selecting N disks from the disks of the target computer as target disks of the target I / O request, and writing the data to be written in the target I / O request to each of the target disks respectively, so as to realize N copies of redundancy of the data to be written in the target I / O request in the target computer; N is the number of redundancies corresponding to the target I / O request; the target computer is the computer on which the database file system runs; S500, sending a target I / O request to a target external storage node, so as to implement verification and redundancy of data to be written in the target I / O request in the target external storage node; The target external storage node is an external storage node among several external storage nodes of the target computer.

2. The method for separating requests according to claim 1, characterized in that: Judging the type of the target I / O request based on the type of data to be written by the target I / O request includes: S210, if the type of data to be written by the target I / O request is a metadata type, then determine that the type of the target I / O request is a performance I / O type; if the type of data to be written by the target I / O request is a non-metadata type, proceed to S220; S220, if the data to be written by the target I / O request is hot data, determine the type of the target I / O request to be a performance I / O type; if the data to be written by the target I / O request is cold data, determine the type of the target I / O request to be a computing I / O type.

3. The method for separating requests according to claim 2, characterized in that: S220 also includes a process of determining whether the data to be written by the target I / O request is hot data or cold data, and the process includes: S221, obtaining a virtual address add1 of the data to be written in the target I / O request; S222, obtaining the access frequency f1 of the physical address corresponding to add1 in the target historical time period; S223, if f1≥f0, determine that the data to be written by the target I / O request is hot data; otherwise, determine that the data to be written by the target I / O request is cold data.

4. The method for separating and processing requests according to claim 1, characterized in that: Implementing the checksum and redundancy of the data to be written in the target I / O request in the target external storage node includes: S510, dividing the data to be written in the target I / O request into Q shards, where Q is a preset number of shards; S520, obtaining the parity checksums of the Q slices; S530, use Q+M disks in the target external storage node to store Q shards and the parity sums of the Q shards; wherein, Q disks in the Q+M disks are used to store the Q shards, and different disks store different shards; M disks in the Q+M disks are used to store the parity sums of the Q shards, and the parity sums of the Q shards stored by different disks are the same, and M is the preset number of disks for storing parity sums.

5. The method for separating and processing requests according to claim 4, characterized in that: M=1 or M=2.

6. The method for separating and processing requests according to claim 1, characterized in that: 2≤N≤5。 7. The method for separating and processing requests according to claim 1, characterized in that: The target I / O request is sent to the target external storage node through remote direct memory access (RDMA) technology.

Citation Information

Patent Citations

  • Network storage system

    CN101291347A

  • Method for separately processing data reading and writing requests and metadata reading and writing requests

    CN104571952A

  • Cold and hot data redundancy method and device, equipment and storage medium

    CN115543690A

  • Method, device, system and equipment for processing I / O request and storage medium

    CN115729440A

  • Storage device

    US20180011763A1