WO2018040583A1 - Data storage method in data storage system and coordinating storage node - Google Patents

Data storage method in data storage system and coordinating storage node Download PDF

Info

Publication number
WO2018040583A1
WO2018040583A1 PCT/CN2017/081073 CN2017081073W WO2018040583A1 WO 2018040583 A1 WO2018040583 A1 WO 2018040583A1 CN 2017081073 W CN2017081073 W CN 2017081073W WO 2018040583 A1 WO2018040583 A1 WO 2018040583A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage
data
node
storage node
length
Prior art date
Application number
PCT/CN2017/081073
Other languages
French (fr)
Chinese (zh)
Inventor
刘强
蒋中斌
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2018040583A1 publication Critical patent/WO2018040583A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Definitions

  • the present invention relates to the field of information technology, and in particular, to a data storage method and a coordinated storage node in a data storage system.
  • the redundancy modes mainly include copy redundancy and EC (Erasure code) redundancy.
  • multi-copy redundancy is to copy the original data into multiple copies of data, and each copy data is stored on one storage node.
  • EC redundancy divides the original data into X pieces of data, and uses the EC algorithm to verify the X pieces of data, and obtains Y pieces of check data, and then stores X+Y pieces into different pieces. On the storage node.
  • the most widely used data storage method is a combination of multiple copy redundancy and EC redundancy.
  • the specific storage process is as follows: the client copies the original data, obtains multiple copies of the data, stores the plurality of copies of the data on different copy storage nodes, and sends any copy data to the EC coordination node, and the EC coordination node copies the copy.
  • the data is divided into X pieces of data, and the X pieces of data are verified by the EC algorithm to obtain Y pieces of check data, and the EC coordination node stores one piece of data, and then X+Y-1
  • the fragments are sent to different EC storage nodes for storage.
  • any replica data needs to be sent to the EC coordination node first, and then the EC coordination node will include multiple segments including fragment data and fragmentation verification data.
  • the slices are sent to different EC storage nodes for storage. This process transmits a large amount of data, resulting in a large consumption of network resources in the storage system.
  • the embodiment of the present invention provides a data storage method and a coordinated storage node in the storage system.
  • the technical solution is as follows:
  • a first aspect provides a data storage method in a storage system, where the storage system includes a plurality of storage nodes, and N storage nodes of the plurality of storage nodes store data of length M, and the N storage nodes include A coordinated storage node, where N is a natural number greater than 1, the method comprising:
  • the coordinated storage node divides the length of the M data into X data fragments, and each data slice has one.
  • the starting address and length, the starting address of each data fragment is the position of the data fragment in the data of length M, and the length of each data fragment is M/X.
  • the coordinated storage node obtains Y verification fragments by verifying X data fragments, and the length of each verification fragment is also M/X.
  • the coordination storage node For the i-th data fragment in the X data fragments, the coordination storage node sends the start address and length of the i-th data fragment to the i-th storage node of the N storage nodes, where i is greater than 1 and less than or equal to the natural number of D, D is the minimum of X and N.
  • the coordinated storage node allocates each of the XN data fragments and the Y parity fragments to a first storage node, where the first storage node is a plurality of storage nodes other than N. Any storage node.
  • the coordination storage node allocates a second storage node for each of the Y verification fragments, the second storage node being any one of the plurality of storage nodes except X storage nodes. Storage node.
  • the data storage node as a coordinated storage node has a dual function, not only can the complete data be stored, but also The shards including data sharding and parity sharding can also be distributed, so that it is not necessary to send the complete data to a dedicated coordinated storage node, which greatly reduces the amount of data transmission in the storage system and saves the storage system. The consumption of network resources within.
  • the storage system where the coordination node is located further includes a view management node, and the coordinated storage node is configured to slice the i-th data based on the view management node.
  • the storage node information sent by the view management node may be received first, where the storage node information includes information of a storage node storing data of length M, the information Includes storage node IDs and more.
  • the coordination storage node sends the starting address and length of the i-th data fragment to the i-th storage node of the N storage nodes in a targeted manner according to the received storage node information.
  • the coordination storage node further receives a storage success message, which is stored by the storage node storing the X data fragments and the Y parity fragments.
  • the other storage nodes except the coordination storage node are sent.
  • the coordination storage node can learn the storage condition of each fragment, so that when any fragment is not successfully stored, the fragment is sent to the corresponding storage node for storage in time to ensure data integrity.
  • the coordinated storage node is capable of targeting the starting address and length of the ith data fragment.
  • the view management node in the storage system may perform hash calculation on the data of length M to obtain a hash value, and determine the data of length M according to the hash value and the previously constructed hash space.
  • the position in the Greek space, and starting from the position, the N storage nodes in the specified direction are used as the storage node storing the data of length M and storing the N points in the X data fragments and the Y verification fragments.
  • Slice storage node may perform hash calculation on the data of length M to obtain a hash value, and determine the data of length M according to the hash value and the previously constructed hash space.
  • the position in the Greek space, and starting from the position, the N storage nodes in the specified direction are used as the storage node storing the data of length M and storing the N points in the X data fragments and the Y verification fragments.
  • a second aspect provides a coordinated storage node, where the coordinated storage node is located in a storage system, where the storage system includes a plurality of storage nodes and a view management node, and the storage nodes of the plurality of storage nodes have a length of The data of the M, the coordinated storage node is included in the N storage nodes, where N is a natural number greater than 1, the coordinated storage node is configured to execute the method performed by the coordinated storage node in the first aspect, and the view management node uses The method performed by the view management node in performing the above first aspect.
  • a third aspect provides a coordinated storage node, where the coordinated storage node is located in a storage system, where the storage system includes a plurality of storage nodes, and N of the plurality of storage nodes stores data of length M, And the coordinated storage node is included in N storage nodes, wherein N is natural data greater than 1, the coordinated storage node includes a memory, a processor, and a bus, and the memory and the processor are directly connected through the bus;
  • the memory is for storing computer instructions for executing computer instructions for performing memory storage for performing the data storage method in the storage system of the first aspect described above.
  • the coordinated storage node of the foregoing second aspect and the third aspect may perform the following steps through a specific structural unit or a processor:
  • a first storage node is allocated for each of the XN data fragments and the Y verification fragments, and the first storage node is divided into the multiple storage nodes. Any storage node other than the N storage nodes.
  • the coordinated storage node of the foregoing second aspect and the third aspect may perform the following steps through a specific structural unit or a processor:
  • a second storage node is allocated for each of the Y verification fragments, and the second storage node is the X storage nodes among the plurality of storage nodes. Any storage node other than .
  • FIG. 1 is a schematic diagram of a structure of a storage system according to an embodiment of the present invention.
  • FIG. 2 is a flowchart of a data storage method in a storage system according to another embodiment of the present invention.
  • FIG. 3 is a schematic diagram of a consistent hash algorithm according to another embodiment of the present invention.
  • FIG. 4 is a schematic diagram of a distribution of storage nodes in a storage system according to another embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a data storage process according to another embodiment of the present invention.
  • FIG. 6 is a schematic diagram of a data storage process according to another embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of a coordinated storage node according to another embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of a coordinated storage node according to another embodiment of the present invention.
  • 9 is an illustrative computer architecture of a coordinated storage node for use in another embodiment of the present invention.
  • a storage system is illustrated that includes a view management node 101, a client 102, and a storage node 103.
  • the view management node 101 can be a single computing device or a computing cluster composed of multiple computing devices.
  • the view management node is configured to receive the heartbeat information reported by the storage node 103, and according to the storage node 103.
  • the reported heartbeat information updates the node status of the storage node 103.
  • the view management node 101 is also used to allocate storage nodes for data in the client 102.
  • the view management node 101 also maintains a view of the correspondence between the hash value and the storage node for the client 102 to query data from the storage node.
  • the client 102 can be a smart phone, a tablet, a laptop, etc., and the present embodiment does not specifically limit the product type of the client 102.
  • the client 102 is configured to receive a view pushed by the view management node 101 and query data according to the view.
  • the storage node 103 is a physical medium for storing data in the storage system.
  • the storage node reports heartbeat information to the view management node for a preset duration, so that the view management node maintains the state of the storage node.
  • the view management node 101 and the client 102 and the data node 103 can communicate through a wired network or a wireless network, and the client 102 and the data node 103 can communicate through a wired network or a wireless network.
  • an embodiment of the present invention provides a data storage method, where the storage system includes a plurality of storage nodes and a view management node, wherein N storage nodes of the plurality of storage nodes store lengths For the data of M, and the N storage nodes include a coordinated storage node, referring to FIG. 2, the method flow provided by the embodiment of the present invention includes:
  • the view management node allocates storage node information for data of length M.
  • the number of storage nodes included in the storage system is large, and the data of the length M is stored in a redundant manner for the purpose of minimizing the network resource consumption in the system during the data transmission.
  • the view management node will also use the storage node selection algorithm to allocate storage nodes for data of length M.
  • the storage node selection algorithm may include a consistent hash algorithm and the like. Consistent hashing algorithm principle is as follows: a configuration 0 to the Hash space 232-1 of the Hash space 0 ⁇ 232-1 ring composed of a hash, the hash ring into a plurality of equal intervals, each The hash values within the intervals have the same range of differences.
  • FIG. 3 shows a hash ring composed of a hash space. Referring to FIG. 3, the hash ring is equally divided into 20 intervals, which are respectively P0 to P19 and the hash values of P0 to P19 have the same difference range.
  • the number of duplicate data (the data of length M obtained by copying), the number of data fragments, and the fragmentation of data
  • the number of verification slices obtained by the verification is determined.
  • the number of duplicate data is N
  • the number of data fragments is X
  • the number of verification fragments is Y, where N is greater than
  • the natural number of 1, X and Y are natural numbers.
  • the view management node may include the following steps 2011 to 2013 when the storage node selection algorithm is used to allocate the storage node to the data of length M:
  • the view management node hashes the data of length M to obtain a hash value.
  • the view management node may perform hash calculation on the data of length M by using a specified hash algorithm to obtain a hash value.
  • the specified hash algorithm includes an addition hash algorithm, a multiplication hash algorithm, a division hash algorithm, a bit operation hash algorithm, a table look hash algorithm, and the like.
  • the view management node determines the position of the data of length M in the hash space according to the hash value.
  • each interval in the hash space corresponds to a hash value range.
  • the position where the interval is located may be the data of length M.
  • the position in the hash space For example, the data KEY of length M is hash-calculated, and the obtained hash value is k1, and the k1 is located in the area where P0 is located in FIG. In the meantime, therefore, the position where P0 is located can be used as the position of the data KEY of length M in the hash space.
  • the view management node takes the location as a starting point, and uses N storage nodes in the specified direction as storage nodes for storing data of length M.
  • the specified direction may be a clockwise direction starting from a position where the hash value is located, or a counterclockwise direction starting from a position where the hash value is located. Since the data of length M is redundantly stored by using N copies in this embodiment, the view management node needs to allocate N storage nodes in the copy storage mode for the data of length M. Based on the hash value obtained by hashing the data of the length M, the view management node takes the location of the hash value as a starting point, and uses N storage nodes in the specified direction as the storage node storing the data of length M.
  • the N storage nodes may be selected continuously, that is, the N consecutive storage nodes in the specified direction starting from the location of the hash value are used as storage nodes for storing data of length M, and may also be discontinuous.
  • the N non-contiguous storage nodes in the specified direction starting from the location of the hash value are used as storage nodes for storing data of length M.
  • the view management node takes the location as a starting point, and uses N storage nodes in the specified direction as storage nodes that store N data slices and N slices in the Y parity slices.
  • the view management node Based on the hash value obtained by hashing the data of length M, the view management node takes the location of the hash value as a starting point, and stores N storage nodes in the specified direction as storing X data fragments and Y schools.
  • the storage node of the N fragments in the fragmentation slice, the selection manner of the N storage nodes in the X data fragment and the Y parity slices and the selection of the N storage nodes storing the data of the length M In the same manner, if N storage nodes storing data of length M are selected in a continuous manner, N consecutive storage nodes starting from the location of the hash value are used as storage X data fragments and Y schools.
  • the N storage nodes in the fragmentation slice if the N storage nodes storing the data of length M are selected in a discontinuous manner, the N discontinuous storage nodes starting from the location of the hash value As a storage node storing X pieces of data and N pieces of Y check pieces. Regardless of how the method is selected, it is ensured that the N storage nodes storing the data of length M and the storage nodes storing the N data fragments and the N fragments of the Y verification fragments are maximally overlapped. .
  • the view management node allocates a storage node for data of length M, and can refer to the following example.
  • the view management node For the data KEY of length M, the view management node performs hash calculation on the data KEY of length M to obtain a hash value k1.
  • the view management node determines the location of the hash value k1 from the hash space according to the hash value k1, and uses the position as the starting point, and stores the three storage nodes in the clockwise direction as the storage length M.
  • P0, P1, and P2 are storage nodes that store data of length M.
  • the view management node determines the location of the hash value k1 from the hash space according to the hash value k1, and uses the location as the starting point, and stores three data nodes in the clockwise direction as four data.
  • P0, P1, and P2 are three slices of the data slice and two of the two check slices. Storage node.
  • the storage node allocated by the view management node for the length M data is actually a virtual storage node where each interval in the hash space is located, and the virtual storage node cannot truly store data, and the virtual storage node and the storage system need to be
  • the physical storage node establishes a mapping relationship, and persists data on the corresponding virtual storage node to the physical storage node.
  • the view management node also maintains a single a mapping table in which a mapping relationship between each interval of the hash space and the physical storage node is stored.
  • the number of physical storage nodes is smaller than the number of intervals in the hash space, so that each physical storage node is actually Data corresponding to multiple intervals, that is, multiple virtual storage nodes, is stored on the same physical storage node.
  • the hash space is equally divided into 20 intervals of P0 to P19, and the storage system includes four physical storage nodes, namely, a physical storage node 1, a physical storage node 2, a physical storage node 3, and a physical storage node 4.
  • A(P0), E(P4), I(P8), M(P12), Q(P16) are mapped to physical node 1
  • B(P1), F(P5), J(P9), N (P13), R(P17) are mapped to physical node 2
  • C(P3), G(P6), K(P10), 0(P14), S(P18) are mapped to physical node 3
  • D(( P4), H(P7), L(P11), P(P15), T(P19) are mapped onto the physical node 4.
  • the client when the client needs to query the data KEY1 from the storage system, the client may first calculate the hash value k1 of the KEY1, and determine that the hash value k1 is in the hash space. The location, and then according to the mapping table, find the physical storage node where the hash value is located, thereby querying the data KEY1 from the physical storage node.
  • the view management node sends the storage node information to the coordination storage node and the client.
  • the storage node storing data of length M and the storage node storing N pieces of data and N pieces of Y check pieces are the key for the client to perform multiple copy storage and coordinate storage nodes for EC storage.
  • the view management node may store the storage node information of the N storage nodes allocated for the data of length M, and store X data fragments and Y schools.
  • the storage node information of the storage nodes of the N fragments in the fragmentation slice is sent to the client and the coordination storage node.
  • the storage node information includes a storage node identifier and the like.
  • the client copies the data of length M according to the storage node information, and sends the copied data to the N storage nodes for storage.
  • the client When receiving the storage node information sent by the view management node, the client copies N shares of data of length M to obtain N data of length M, and then sends N data of length M to the allocated N storages. Nodes are stored by each storage node.
  • the storage system can convert the storage mode of the data according to the amount of access by the client.
  • the storage system can trigger the coordinated storage node to convert the data from the copy storage mode. Store for EC storage mode.
  • the coordination storage node divides the data of length M into X data fragments, and performs verification on X data fragments to obtain Y verification fragments.
  • the storage system in this embodiment uses X data fragments and Y parity fragments to store in a redundant manner. Therefore, in the EC storage mode, the coordinated storage node needs to store the length of the node as M.
  • the data is equally divided into X data fragments. Based on the divided X data fragments, the coordinated storage node uses a specified check algorithm to verify X data fragments to obtain Y parity fragments.
  • the specified check algorithm includes a parity check algorithm, a CRC cyclic redundancy check algorithm, and the like.
  • the coordinating storage node sends the starting address and length of the i th data fragment to the i th storage node of the N storage nodes.
  • the storage node may send the fragmentation information to the N storage nodes, and each storage node cuts the stored data of length M according to the fragmentation information to obtain a data fragment and store it.
  • the fragmentation information includes a starting address and a length of the data fragment.
  • the coordination storage node For the i-th data fragment in the X data fragments, the coordination storage node sends the start address and length of the i-th data fragment to the i-th storage node of the N storage nodes, by the ith storage The node cuts the stored data of length M according to the starting address and length of the i-th data fragment, obtains data fragments corresponding to the starting address and length, and stores the data fragment.
  • the coordinated storage section allocates a first storage node for each of the X-N data fragments and the Y verification fragments.
  • the first storage node is any storage node other than the N storage nodes among the plurality of storage nodes.
  • X is greater than N, it indicates that the number of data fragments is greater than the number of copies of data of length M.
  • the coordinated storage node needs to allocate one for each of XN data fragments and Y parity fragments.
  • the first storage node sends XN data fragments and Y parity fragments to the allocated first storage node, and is stored by the first storage node.
  • the coordinated storage section allocates a second storage node for each of the Y check slices.
  • the second storage node is any storage node other than the X storage nodes among the plurality of storage nodes.
  • X is not greater than N, it indicates that the number of data fragments is less than or equal to the number of copies of data of length M.
  • the coordinated storage section needs to allocate a second storage node for each of the Y verification fragments. And sending the Y check fragments to the second storage node for storage by the second storage node.
  • the set data size is 4M
  • the storage node allocated by the view management node for the data with the storage length of 4M is N1, N2, and N3, and the storage node allocated for the four data fragments and the two parity fragments is N1, N2, N3, N4, N5, N6, the coordination storage node N1 divides the data of length 4M into 4 1M data fragments, and verifies 4 data fragments to obtain 2 check scores. sheet.
  • the coordinated storage node N1 stores the length of the node to be 4M according to the fragmentation information of the start address of 0 and the length of 1M.
  • the data is cut, the data is fragmented and stored, and the fragment information with the start address of 1M and the length of 1M is sent to the storage node N2, and the fragment information with the start address of 2M and the length of 1M is sent to the storage node N3.
  • the data of the length 4M stored by the node is cut by the storage nodes N2 and N3 to obtain data fragments and stored.
  • the coordinated storage node N1 can store the data with the start address of 3M and the length of 1M to the storage node N4, and store the check fragment with the start address of 0 and the length of 1M. It is sent to the storage node N5 for storage, and the verification slice with the start address of 1M and the length of 1M is sent to the storage node N6 for storage.
  • the designated storage node will also send a storage success message to the coordinated storage node when each data fragment or check fragment is successfully stored.
  • the designated storage node is a storage node other than the coordinated storage node among the storage nodes storing the X data fragments and the Y parity fragments.
  • FIG. 6 is a process diagram for performing data storage when data is transferred from a multiple copy storage mode to an EC storage mode.
  • the view management node allocates storage nodes N1, N2, and N3 for data of length M, which are four.
  • the storage nodes allocated by the data fragment and the two parity fragments are N1, N2, N3, N4, N5, and N6.
  • the coordinated storage node N1 divides the stored data of length M into 4 data fragments, and 4 data pieces. The data fragment is verified to obtain two verification fragments.
  • the coordination storage node N1N1 cuts the data of length M stored by the node according to the fragmentation information ⁇ offset1, len1>, obtains data fragmentation and stores it, and sends the fragmentation information ⁇ offset2, len2> to the storage node N2.
  • the storage node N2 cuts the stored data of length M according to ⁇ offset2, len2> to obtain a data fragment and stores it; sends fragmentation information ⁇ offset3, len3> to N3, according to ⁇ offset3 by storage node N3.
  • len3> cuts the stored data of length M to obtain a data fragment and stores it; sends the fragment of the fragment information to ⁇ offset4, len4> to the storage node N4 for storage, and two schools The test pieces are sent to storage nodes N5 and N6 for storage.
  • the method provided by the embodiment of the present invention when the data is transferred from the multiple copy storage mode to the EC storage mode for storage, does not need to send data to a dedicated coordinated storage node, but performs data distribution by using a storage node that can serve as a data coordination node.
  • the data transmission amount is greatly reduced, and the network resource consumption in the system is saved.
  • an embodiment of the present invention provides a coordinated storage node, where the coordinated storage node is located in a storage system, where the storage system includes multiple storage nodes, and N storage nodes of the plurality of storage nodes are stored with a length of M.
  • the coordination storage node is included in N storage nodes, where N is a natural number greater than 1, and the coordination storage node includes:
  • the dividing unit 701 is configured to divide the data of length M into X data fragments, and verify the X data fragments to obtain Y verification fragments, wherein X and Y are natural numbers, and each The length of one data slice and each check slice is M/X;
  • the sending unit 702 is configured to send the start address and the length of the ith data fragment to the ith storage node of the N storage nodes, where i is a natural number greater than 1 and small equal to D, and D is X. And the minimum value in N;
  • the allocating unit 703 is configured to allocate, when X is greater than N, a first storage node for each of the XN data fragments and the Y verification fragments, where the first storage node is a plurality of storage nodes. Any storage node other than N storage nodes.
  • the allocating unit 703 is configured to allocate, when X is not greater than N, a second storage node for each of the Y verification fragments, and the second storage node is multiple Any storage node other than X storage nodes in the storage node.
  • the allocating unit 703 is configured to allocate a first storage node for each of the XN data fragments and the Y parity fragments when X is greater than N.
  • the first storage node is any one of the plurality of storage nodes except the N storage nodes; when X is not greater than N, a second storage node is allocated for each of the Y verification fragments.
  • the second storage node is any storage node other than the X storage nodes among the plurality of storage nodes.
  • the storage system further includes a view management node, and the coordination storage node further includes a receiving unit 704;
  • the receiving unit 704 is configured to receive storage node information sent by the view management node, where the storage node information includes information about a storage node that stores data of length M;
  • the sending unit 702 is specifically configured to send, according to the storage node information, the start address and the length of the i th data fragment to the i th storage node of the N storage nodes.
  • the receiving unit 704 is further configured to receive a storage success message, where the storage success message is other than the coordinated storage node in the storage node that stores the X data fragments and the Y parity fragments.
  • the storage node sends.
  • the view management node is configured to perform hash calculation on the data of length M to obtain a hash value; and determine the position of the data of length M in the hash space according to the hash value.
  • the N storage nodes in the specified direction are used as storage nodes for storing data of length M; starting from the position, the N storage nodes in the specified direction are stored as X data fragments and Y. Verify the storage nodes of the N slices in the slice.
  • the system provided by the embodiment of the present invention does not need to send data to a dedicated coordinated storage node when the data is transferred from the multiple copy storage mode to the EC storage mode, and the storage can be used as a data coordination node.
  • the node performs data distribution, which greatly reduces the amount of data transmission and saves network resource consumption in the system.
  • the coordinated storage node 900 is a server or a storage device.
  • the coordinated storage node 900 includes a processor 901, a memory 902, and a bus 903, wherein the processor 901 and the memory 902 are connected by a bus 903.
  • the coordinated storage node 900 further includes a basic input/output system (I/O system) 904 that facilitates transferring information between various devices within the computing device and for storing operating systems, applications, and other program modules.
  • the mass storage device 905 is connected to the processor 901 by a mass storage controller (not shown) connected to the bus 903.
  • the mass storage device 905 and its associated computer readable medium provide non-volatile storage for the coordinating storage node 900. That is, the mass storage device 905 can include a computer readable medium (not shown) such as a hard disk or a CD-ROM drive.
  • the computer readable medium can include computer storage media and communication media.
  • Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Computer storage media include RAM, ROM, EPROM, EEPROM, flash memory or other solid state storage technologies, CD-ROM, DVD or other optical storage, tape cartridges, magnetic tape, magnetic disk storage or other magnetic storage devices.
  • RAM random access memory
  • ROM read-only memory
  • EPROM Erasable programmable read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • flash memory or other solid state storage technologies
  • CD-ROM compact discs
  • DVD or other optical storage CD-ROM, DVD or other optical storage
  • tape cartridges magnetic tape
  • magnetic disk storage magnetic disk storage devices
  • the coordinated storage node 900 may also be operated by a remote computer connected to the network through a network such as the Internet. That is, the coordination storage node 900 can be connected to the network 907 through a network interface unit 906 connected to the bus 903, or can also be connected to other types of networks or remote computer systems using the network interface unit 906 (not shown) ).
  • the network interface unit 906 can be a network card (also referred to as a network interface card) or a host bus adapter.
  • the computer device provided by the embodiment of the present invention does not need to send data to a dedicated coordinated storage node when data is transferred from a multiple copy storage mode to an EC storage mode, but is distributed by using a storage node that can serve as a data coordination node. , greatly reducing the amount of data transmission, saving network resource consumption within the system.
  • the coordinated storage node when the data is stored in the foregoing embodiment, the coordinated storage node only exemplifies the division of each functional module. In actual applications, the function distribution may be completed by different functional modules as needed. The internal structure of the coordination storage node is divided into different functional modules to perform all or part of the functions described above.
  • the embodiment of the data storage method in the foregoing embodiment is the same as the embodiment of the data storage method in the data storage system. For details, refer to the method embodiment, and details are not described herein.
  • a person skilled in the art may understand that all or part of the steps of implementing the above embodiments may be completed by hardware, or may be instructed by a program to execute related hardware, and the program may be stored in a computer readable storage medium.
  • the storage medium mentioned may be a read only memory, a magnetic disk or an optical disk or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A data storage method in a data storage system and a coordinating storage node (103), relating to the technical field of information. The method comprises: the coordinating storage node (103) equally divides data having a length of M into X data fragments and obtains Y check fragments; the coordinating storage node (103) sends an initial address and a length of the ith data fragment to the ith storage node (103) in N storage nodes (103); when X is greater than N, the coordinating storage node (103) allocates a first storage node (103) to each of (X-N) data fragments and the Y check fragments; when X is not greater than N, the coordinating storage node (103) allocates a second storage node (103) to each of the Y check fragments. By means of the method, when data is switched from a multi-copy storage mode to an EC storage mode for storage, it is unnecessary to send the data to a special coordinating storage node; instead, the data is distributed by means of a storage node (103) capable of serving as a data coordination node, so that the data transmission amount is greatly decreased and network resource consumption in the system is reduced.

Description

数据存储系统中的数据存储方法及协调存储节点Data storage method and coordinated storage node in data storage system 技术领域Technical field
本发明涉及信息技术领域,特别涉及一种数据存储系统中的数据存储方法及协调存储节点。The present invention relates to the field of information technology, and in particular, to a data storage method and a coordinated storage node in a data storage system.
背景技术Background technique
为了提高数据的安全性,避免数据在传输过程中丢失,在分布式存储中常采用冗余方式对数据进行存储。目前冗余方式主要有副本冗余和EC(Erasure code,纠错码)冗余两种。其中,多副本冗余是将原始数据复制成多个副本数据,每个副本数据存储在一个存储节点上。EC冗余是将原始数据等分为X个分片数据,采用EC算法对X个分片数据进行校验,得到Y个分片校验数据,进而将X+Y个分片存储到不同的存储节点上。In order to improve the security of data and avoid data loss during transmission, redundant data is often used to store data in distributed storage. At present, the redundancy modes mainly include copy redundancy and EC (Erasure code) redundancy. Among them, multi-copy redundancy is to copy the original data into multiple copies of data, and each copy data is stored on one storage node. EC redundancy divides the original data into X pieces of data, and uses the EC algorithm to verify the X pieces of data, and obtains Y pieces of check data, and then stores X+Y pieces into different pieces. On the storage node.
当前应用最为广泛的是多副本冗余和EC冗余相结合的数据存储方式。具体存储过程如下:客户端对原始数据进行复制,得到多个副本数据,将多个副本数据存储在不同的副本存储节点上,将任一副本数据发送至EC协调节点,EC协调节点将该副本数据等分为X个分片数据,并采用EC算法对X个分片数据进行校验,得到Y个分片校验数据,EC协调节点存储一个分片数据,进而将X+Y-1个分片发送到不同的EC存储节点进行存储。The most widely used data storage method is a combination of multiple copy redundancy and EC redundancy. The specific storage process is as follows: the client copies the original data, obtains multiple copies of the data, stores the plurality of copies of the data on different copy storage nodes, and sends any copy data to the EC coordination node, and the EC coordination node copies the copy. The data is divided into X pieces of data, and the X pieces of data are verified by the EC algorithm to obtain Y pieces of check data, and the EC coordination node stores one piece of data, and then X+Y-1 The fragments are sent to different EC storage nodes for storage.
当数据存储方式由副本冗余转换为EC冗余时,需要先将任一副本数据发送至EC协调节点,再由EC协调节点将包括分片数据和分片校验数据在内的多个分片发送到不同的EC存储节点进行存储,该过程传输大量数据,导致存储系统内网络资源消耗较大。When the data storage mode is converted from replica redundancy to EC redundancy, any replica data needs to be sent to the EC coordination node first, and then the EC coordination node will include multiple segments including fragment data and fragmentation verification data. The slices are sent to different EC storage nodes for storage. This process transmits a large amount of data, resulting in a large consumption of network resources in the storage system.
发明内容Summary of the invention
为了减少将数据由多副本存储模式转为EC存储模式进行存储时,存储系统内网络资源消耗,本发明实施例提供了一种存储系统中的数据存储方法及协调存储节点。所述技术方案如下:In order to reduce the network resource consumption in the storage system when the data is transferred from the multiple copy storage mode to the EC storage mode, the embodiment of the present invention provides a data storage method and a coordinated storage node in the storage system. The technical solution is as follows:
第一方面,提供了一种存储系统中的数据存储方法,该存储系统包括多个存储节点,多个存储节点中的N个存储节点上存储有长度为M的数据,该N个存储节点包括一个协调存储节点,其中,N为大于1的自然数,该方法包括:A first aspect provides a data storage method in a storage system, where the storage system includes a plurality of storage nodes, and N storage nodes of the plurality of storage nodes store data of length M, and the N storage nodes include A coordinated storage node, where N is a natural number greater than 1, the method comprising:
在存储系统中,因业务需求,将数据由多副本存储模式转化EC存储模式进行存储时,协调存储节点将长度为M个数据等分为X个数据分片,每个数据分片都具有一个起始地址和长度,每个数据分片的起始地址为该数据分片在长度为M的数据中的位置,每个数据分片的长度均为M/X。基于所得到的X个数据分片,协调存储节点通过对X个数据分片进行校验,得到Y个校验分片,每个校验分片的长度也为M/X。In the storage system, when the data is converted from the multiple copy storage mode to the EC storage mode for storage according to the business requirement, the coordinated storage node divides the length of the M data into X data fragments, and each data slice has one. The starting address and length, the starting address of each data fragment is the position of the data fragment in the data of length M, and the length of each data fragment is M/X. Based on the obtained X data fragments, the coordinated storage node obtains Y verification fragments by verifying X data fragments, and the length of each verification fragment is also M/X.
对于X个数据分片中的第i个数据分片,协调存储节点将第i个数据分片的起始地址和长度发送给N个存储节点中的第i个存储节点,其中,i为大于1且小于等于D的自然数,D为X和N中的最小值。For the i-th data fragment in the X data fragments, the coordination storage node sends the start address and length of the i-th data fragment to the i-th storage node of the N storage nodes, where i is greater than 1 and less than or equal to the natural number of D, D is the minimum of X and N.
当X大于N时,协调存储节点分别将X-N个数据分片和Y个校验分片中的每一个分片分配一个第一存储节点,该第一存储节点为多个存储节点中除N以外的任一存储节点。When X is greater than N, the coordinated storage node allocates each of the XN data fragments and the Y parity fragments to a first storage node, where the first storage node is a plurality of storage nodes other than N. Any storage node.
当X小于等于N时,协调存储节点为Y个校验分片中的每一个分片分配一个第二存储节点,该第二存储节点为多个存储节点中除X个存储节点以外的任一存储节点。When X is less than or equal to N, the coordination storage node allocates a second storage node for each of the Y verification fragments, the second storage node being any one of the plurality of storage nodes except X storage nodes. Storage node.
由于作为协调存储节点的数据存储节点具有双重功能,不仅可存储完整的数据,而且 还可对包括数据分片和校验分片在内的分片进行分发,因而无需将完整的数据发送至专门的协调存储节点,大大减小了存储系统内的数据传输量,节省了存储系统内的网络资源消耗。Since the data storage node as a coordinated storage node has a dual function, not only can the complete data be stored, but also The shards including data sharding and parity sharding can also be distributed, so that it is not necessary to send the complete data to a dedicated coordinated storage node, which greatly reduces the amount of data transmission in the storage system and saves the storage system. The consumption of network resources within.
结合第一方面,在第一方面的第一种可能的实现方式中,协调节点所在的存储系统还包括视图管理节点,基于该视图管理节点,协调存储节点在将第i个数据分片的起始地址和长度发送给N个存储节点中的第i个存储节点时,可先接收视图管理节点发送的存储节点信息,该存储节点信息包括存储长度为M的数据的存储节点的信息,该信息包括存储节点标识等等。协调存储节点根据所接收到的存储节点信息,将第i个数据分片的起始地址和长度有针对性地发送给N个存储节点中的第i个存储节点。With reference to the first aspect, in a first possible implementation manner of the first aspect, the storage system where the coordination node is located further includes a view management node, and the coordinated storage node is configured to slice the i-th data based on the view management node. When the start address and the length are sent to the i th storage node of the N storage nodes, the storage node information sent by the view management node may be received first, where the storage node information includes information of a storage node storing data of length M, the information Includes storage node IDs and more. The coordination storage node sends the starting address and length of the i-th data fragment to the i-th storage node of the N storage nodes in a targeted manner according to the received storage node information.
结合第一方面,在第一方面的第二种可能的实现方式中,协调存储节点还将接收存储成功消息,该存储成功消息由存储X个数据分片和Y个校验分片的存储节点中除协调存储节点以外的其他存储节点发送。通过接收存储成功消息,协调存储节点可获知每个分片的存储情况,从而在任一分片未成功存储时,及时将该分片发送至相应的存储节点进行存储,以确保数据完整。In conjunction with the first aspect, in a second possible implementation of the first aspect, the coordination storage node further receives a storage success message, which is stored by the storage node storing the X data fragments and the Y parity fragments. The other storage nodes except the coordination storage node are sent. By receiving the storage success message, the coordination storage node can learn the storage condition of each fragment, so that when any fragment is not successfully stored, the fragment is sent to the corresponding storage node for storage in time to ensure data integrity.
结合第一方面的第一种可能的实现方式,在第一方面方面的第三种可能的实现方式中,为使协调存储节点能将第i个数据分片的起始地址和长度有针对性地,存储系统中的视图管理节点可对长度为M的数据进行哈希计算,得到哈希值,并根据该哈希值及预先所构造的哈希空间,确定出长度为M的数据在哈希空间中的位置,进而以该位置为起点,将指定方向的N个存储节点作为存储长度为M的数据的存储节点以及存储X个数据分片和Y个校验分片中的N个分片的存储节点。In conjunction with the first possible implementation of the first aspect, in a third possible implementation of the first aspect, the coordinated storage node is capable of targeting the starting address and length of the ith data fragment. The view management node in the storage system may perform hash calculation on the data of length M to obtain a hash value, and determine the data of length M according to the hash value and the previously constructed hash space. The position in the Greek space, and starting from the position, the N storage nodes in the specified direction are used as the storage node storing the data of length M and storing the N points in the X data fragments and the Y verification fragments. Slice storage node.
第二方面,提供了一种协调存储节点,该协调存储节点位于存储系统中,该存储系统包括多个存储节点和视图管理节点,该多个存储节点中的N个存储节点上存储有长度为M的数据,该协调存储节点包含于N个存储节点中,其中,N为大于1的自然数,该协调存储节点用于执行上述第一方面中协调存储节点所执行的方法,该视图管理节点用于执行上述第一方面中视图管理节点所执行的方法。A second aspect provides a coordinated storage node, where the coordinated storage node is located in a storage system, where the storage system includes a plurality of storage nodes and a view management node, and the storage nodes of the plurality of storage nodes have a length of The data of the M, the coordinated storage node is included in the N storage nodes, where N is a natural number greater than 1, the coordinated storage node is configured to execute the method performed by the coordinated storage node in the first aspect, and the view management node uses The method performed by the view management node in performing the above first aspect.
第三方面,提供了一种协调存储节点,该协调存储节点位于存储系统中,该存储系统包括多个存储节点,该多个存储节点中的N个存储节点上存储有长度为M的数据,且该协调存储节点包含于N个存储节点中,其中,N为大于1的自然数据,该协调存储节点包括存储器、处理器和总线,且存储器和处理器通过总线直连;A third aspect provides a coordinated storage node, where the coordinated storage node is located in a storage system, where the storage system includes a plurality of storage nodes, and N of the plurality of storage nodes stores data of length M, And the coordinated storage node is included in N storage nodes, wherein N is natural data greater than 1, the coordinated storage node includes a memory, a processor, and a bus, and the memory and the processor are directly connected through the bus;
该存储器用于存储计算机指令,该处理器用于执行存储器存储的计算机指令用于执行上述第一方面所述的存储系统中的数据存储方法。The memory is for storing computer instructions for executing computer instructions for performing memory storage for performing the data storage method in the storage system of the first aspect described above.
具体地,上述第二方面和第三方面的协调存储节点,通过具体的结构单元或处理器,可执行如下步骤:Specifically, the coordinated storage node of the foregoing second aspect and the third aspect may perform the following steps through a specific structural unit or a processor:
将所述长度为M的数据等分为X个数据分片,并对所述X个数据分片进行校验,得到Y个校验分片,其中,X和Y为自然数,且每一个数据分片和每一个校验分片的长度均为M/X;Dividing the data of length M into X data fragments, and verifying the X data fragments to obtain Y verification fragments, wherein X and Y are natural numbers, and each data The length of the slice and each check slice is M/X;
将第i个数据分片的起始地址和长度发送给所述N个存储节点中的第i个存储节点, 其中,i为大于1且小于等于D的自然数,D为X和N中的最小值;Sending a starting address and a length of the i th data fragment to an i th storage node of the N storage nodes, Where i is a natural number greater than 1 and less than or equal to D, and D is a minimum of X and N;
当X大于N时,分别为X-N个数据分片和所述Y个校验分片中的每一个分片分配一个第一存储节点,所述第一存储节点为所述多个存储节点中除所述N个存储节点以外的任一存储节点。When X is greater than N, a first storage node is allocated for each of the XN data fragments and the Y verification fragments, and the first storage node is divided into the multiple storage nodes. Any storage node other than the N storage nodes.
具体地,上述第二方面和第三方面的协调存储节点,通过具体的结构单元或处理器,可执行如下步骤:Specifically, the coordinated storage node of the foregoing second aspect and the third aspect may perform the following steps through a specific structural unit or a processor:
将所述长度为M的数据等分为X个数据分片,并对所述X个数据分片进行校验,得到Y个校验分片,其中,X和Y为自然数,且每一个数据分片和每一个校验分片的长度均为M/X;Dividing the data of length M into X data fragments, and verifying the X data fragments to obtain Y verification fragments, wherein X and Y are natural numbers, and each data The length of the slice and each check slice is M/X;
将第i个数据分片的起始地址和长度发送给所述N个存储节点中的第i个存储节点,其中,i为大于1且小于等于D的自然数,D为X和N中的最小值;Transmitting a starting address and a length of the i th data fragment to an i th storage node of the N storage nodes, where i is a natural number greater than 1 and less than or equal to D, and D is a minimum of X and N value;
当X不大于N时,为所述Y个校验分片中的每一个分片分配一个第二存储节点,所述第二存储节点为所述多个存储节点中除所述X个存储节点以外的任一存储节点。When X is not greater than N, a second storage node is allocated for each of the Y verification fragments, and the second storage node is the X storage nodes among the plurality of storage nodes. Any storage node other than .
本发明实施例提供的技术方案带来的有益效果是:The beneficial effects brought by the technical solutions provided by the embodiments of the present invention are:
在将数据由多副本存储模式转为EC存储模式进行存储时,无需将数据发送至专门的协调存储节点,而借助可作为数据协调节点的存储节点进行数据分发,大大减少了数据传输量,节省了系统内网络资源消耗。When data is transferred from the multi-copy storage mode to the EC storage mode for storage, there is no need to send data to a dedicated coordinated storage node, and data distribution can be performed by using a storage node that can serve as a data coordination node, thereby greatly reducing data transmission amount and saving. The network resource consumption in the system.
附图说明DRAWINGS
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings used in the description of the embodiments will be briefly described below. It is obvious that the drawings in the following description are only some embodiments of the present invention. Other drawings may also be obtained from those of ordinary skill in the art in light of the inventive work.
图1是本发明一个实施例提供一种存储系统结构的示意图;1 is a schematic diagram of a structure of a storage system according to an embodiment of the present invention;
图2是本发明另一个实施例提供的一种存储系统中的数据存储方法流程图;2 is a flowchart of a data storage method in a storage system according to another embodiment of the present invention;
图3是本发明另一个实施例提供的一致性哈希算法的示意图;3 is a schematic diagram of a consistent hash algorithm according to another embodiment of the present invention;
图4是本发明另一个实施例提供的一种存储系统中存储节点的分布示意图;FIG. 4 is a schematic diagram of a distribution of storage nodes in a storage system according to another embodiment of the present invention; FIG.
图5是本发明另一个实施例提供的数据存储过程的示意图;FIG. 5 is a schematic diagram of a data storage process according to another embodiment of the present invention; FIG.
图6是本发明另一个实施例提供的数据存储过程的示意图;6 is a schematic diagram of a data storage process according to another embodiment of the present invention;
图7是本发明另一个实施例提供的协调存储节点的结构示意图;FIG. 7 is a schematic structural diagram of a coordinated storage node according to another embodiment of the present invention; FIG.
图8是本发明另一个实施例提供的协调存储节点的结构示意图;FIG. 8 is a schematic structural diagram of a coordinated storage node according to another embodiment of the present invention; FIG.
图9是本发明另一个实施例中使用的协调存储节点的说明性计算机体系结构。9 is an illustrative computer architecture of a coordinated storage node for use in another embodiment of the present invention.
具体实施方式detailed description
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。The embodiments of the present invention will be further described in detail below with reference to the accompanying drawings.
参见图1,其示出了一种存储系统,该存储系统包括视图管理节点101、客户端102及存储节点103。Referring to FIG. 1, a storage system is illustrated that includes a view management node 101, a client 102, and a storage node 103.
其中,视图管理节点101可以为一台单独的计算设备,也可以为由多台计算设备组成的计算集群。该视图管理节点用于接收存储节点103上报的心跳信息,并根据存储节点103 上报的心跳信息,更新存储节点103的节点状态。视图管理节点101还用于为客户端102中的数据分配存储节点。视图管理节点101还维护一张哈希值与存储节点之间对应关系的视图,该视图用于客户端102从存储节点中查询数据。The view management node 101 can be a single computing device or a computing cluster composed of multiple computing devices. The view management node is configured to receive the heartbeat information reported by the storage node 103, and according to the storage node 103. The reported heartbeat information updates the node status of the storage node 103. The view management node 101 is also used to allocate storage nodes for data in the client 102. The view management node 101 also maintains a view of the correspondence between the hash value and the storage node for the client 102 to query data from the storage node.
客户端102可以为智能手机、平板电脑、笔记本电脑等等,本实施例不对客户端102的产品类型作具体的限定。客户端102用于接收视图管理节点101推送的视图,并根据该视图查询数据。The client 102 can be a smart phone, a tablet, a laptop, etc., and the present embodiment does not specifically limit the product type of the client 102. The client 102 is configured to receive a view pushed by the view management node 101 and query data according to the view.
存储节点103为存储系统中存储数据的物理介质,该存储节点每隔预设时长会向视图管理节点上报心跳信息,以使视图管理节点维护本存储节点的状态。The storage node 103 is a physical medium for storing data in the storage system. The storage node reports heartbeat information to the view management node for a preset duration, so that the view management node maintains the state of the storage node.
上述视图管理节点101与客户端102及数据节点103可通过有线网络或无线网络进行通信,客户端102与数据节点103可通过有线网络或无线网络进行通信。The view management node 101 and the client 102 and the data node 103 can communicate through a wired network or a wireless network, and the client 102 and the data node 103 can communicate through a wired network or a wireless network.
基于图1所示的数据库系统,本发明实施例提供了一种数据存储方法,该存储系统包括多个存储节点及视图管理节点,其中,多个存储节点中的N个存储节点上存储有长度为M的数据,且N个存储节点包括一个协调存储节点,参见图2,本发明实施例提供的方法流程包括:Based on the database system shown in FIG. 1 , an embodiment of the present invention provides a data storage method, where the storage system includes a plurality of storage nodes and a view management node, wherein N storage nodes of the plurality of storage nodes store lengths For the data of M, and the N storage nodes include a coordinated storage node, referring to FIG. 2, the method flow provided by the embodiment of the present invention includes:
201、视图管理节点为长度M的数据分配存储节点信息。201. The view management node allocates storage node information for data of length M.
由于存储系统中包括的存储节点数量较多,为了有针对性对长度为M的数据采用冗余方式进行存储,同时最大限度地降低数据传输过程中系统内网络资源消耗,在本实施例中,视图管理节点还将采用存储节点选择算法为长度为M的数据分配存储节点。In this embodiment, the number of storage nodes included in the storage system is large, and the data of the length M is stored in a redundant manner for the purpose of minimizing the network resource consumption in the system during the data transmission. The view management node will also use the storage node selection algorithm to allocate storage nodes for data of length M.
其中,存储节点选择算法可以包括一致性哈希算法等。一致性哈希算法原理如下:构造一个0~232-1的哈希空间,将0~232-1的哈希空间组成一个哈希环,将哈希环分成多个相等的区间,每个区间内的哈希值的差值范围相同。图3示出了一个哈希空间组成的哈希环,参见图3,该哈希环被等分为20个区间,分别为P0~P19且P0~P19的哈希值的差值范围相同。The storage node selection algorithm may include a consistent hash algorithm and the like. Consistent hashing algorithm principle is as follows: a configuration 0 to the Hash space 232-1 of the Hash space 0 ~ 232-1 ring composed of a hash, the hash ring into a plurality of equal intervals, each The hash values within the intervals have the same range of differences. FIG. 3 shows a hash ring composed of a hash space. Referring to FIG. 3, the hash ring is equally divided into 20 intervals, which are respectively P0 to P19 and the hash values of P0 to P19 have the same difference range.
受限于存储系统自身的性能,存储系统对长度为M的数据采用冗余方式进行存储时,副本数据(复制得到的长度为M的数据)的数量、数据分片的数量以及对数据分片校验得到的校验分片的数量是确定的。对于本实施例所述的存储系统系统采用冗余方式进行存储时,副本数据的数量为N个,数据分片的数量为X个,校验分片的数量为Y个,其中,N为大于1的自然数,X和Y为自然数。Limited by the performance of the storage system itself, when the storage system stores the data of length M in a redundant manner, the number of duplicate data (the data of length M obtained by copying), the number of data fragments, and the fragmentation of data The number of verification slices obtained by the verification is determined. When the storage system system in this embodiment is stored in a redundant manner, the number of duplicate data is N, the number of data fragments is X, and the number of verification fragments is Y, where N is greater than The natural number of 1, X and Y are natural numbers.
具体地,视图管理节点在采用存储节点选择算法,为长度为M的数据分配存储节点时,可包括以下步骤2011~2013:Specifically, the view management node may include the following steps 2011 to 2013 when the storage node selection algorithm is used to allocate the storage node to the data of length M:
2011、视图管理节点对长度为M的数据进行哈希计算,得到哈希值。In 2011, the view management node hashes the data of length M to obtain a hash value.
视图管理节点可采用指定哈希算法对长度为M的数据进行哈希计算,得到哈希值。其中,指定哈希算法包括加法哈希算法、乘法哈希算法、除法哈希算法、位运算哈希算法、查表哈希算法等等。The view management node may perform hash calculation on the data of length M by using a specified hash algorithm to obtain a hash value. The specified hash algorithm includes an addition hash algorithm, a multiplication hash algorithm, a division hash algorithm, a bit operation hash algorithm, a table look hash algorithm, and the like.
2012、视图管理节点根据哈希值,确定长度为M的数据在哈希空间中的位置。2012, the view management node determines the position of the data of length M in the hash space according to the hash value.
在本实施例中,哈希空间中的每个区间都对应一个哈希值范围,当哈希值位于哈希空间的任一区间内,可将该区间所在的位置作为长度为M的数据在哈希空间中的位置。例如,长度为M的数据KEY经过哈希计算,得到的哈希值为k1,该k1位于图3中P0所在的区 间内,因此,可将P0所在的位置作为长度为M的数据KEY在哈希空间中的位置。In this embodiment, each interval in the hash space corresponds to a hash value range. When the hash value is in any interval of the hash space, the position where the interval is located may be the data of length M. The position in the hash space. For example, the data KEY of length M is hash-calculated, and the obtained hash value is k1, and the k1 is located in the area where P0 is located in FIG. In the meantime, therefore, the position where P0 is located can be used as the position of the data KEY of length M in the hash space.
2013、视图管理节点以位置为起点,将指定方向的N个存储节点作为存储长度为M的数据的存储节点。In 2013, the view management node takes the location as a starting point, and uses N storage nodes in the specified direction as storage nodes for storing data of length M.
其中,指定方向可以为以哈希值所在位置为起点的顺时针方向,还可以为以哈希值所在位置为起点的逆时针方向。由于本实施例中采用N个副本对长度为M的数据进行冗余存储,因此,视图管理节点需要为长度为M的数据在副本存储模式下分配N个存储节点。基于对长度为M的数据进行哈希计算得到的哈希值,视图管理节点以该哈希值所在的位置为起点,将指定方向上的N个存储节点作为存储长度为M的数据的存储节点,该N个存储节点的选取方式可以为连续选取,即将指定方向上以该哈希值所在位置为起点的N个连续的存储节点作为存储长度为M的数据的存储节点,还可为不连续选取,即将指定方向上以该哈希值所在位置为起点的N个不连续的存储节点作为存储长度为M的数据的存储节点。The specified direction may be a clockwise direction starting from a position where the hash value is located, or a counterclockwise direction starting from a position where the hash value is located. Since the data of length M is redundantly stored by using N copies in this embodiment, the view management node needs to allocate N storage nodes in the copy storage mode for the data of length M. Based on the hash value obtained by hashing the data of the length M, the view management node takes the location of the hash value as a starting point, and uses N storage nodes in the specified direction as the storage node storing the data of length M. The N storage nodes may be selected continuously, that is, the N consecutive storage nodes in the specified direction starting from the location of the hash value are used as storage nodes for storing data of length M, and may also be discontinuous. The N non-contiguous storage nodes in the specified direction starting from the location of the hash value are used as storage nodes for storing data of length M.
2014、视图管理节点以位置为起点,将指定方向的N个存储节点作为存储X个数据分片和Y个校验分片中的N个分片的存储节点。In 2014, the view management node takes the location as a starting point, and uses N storage nodes in the specified direction as storage nodes that store N data slices and N slices in the Y parity slices.
基于对长度为M的数据进行哈希计算得到的哈希值,视图管理节点以该哈希值所在的位置为起点,将指定方向的N个存储节点作为存储X个数据分片和Y个校验分片中的N个分片的存储节点,该存储X个数据分片和Y个校验分片中的N个存储节点的选取方式与存储长度为M的数据的N个存储节点的选取方式相同,如果存储长度为M的数据的N个存储节点采用连续方式进行选取,则将以该哈希值所在位置为起点的N个连续的存储节点作为存储X个数据分片和Y个校验分片中的N个分片的存储节点,如果存储长度为M的数据的N个存储节点采用不连续方式进行选取,则以该哈希值所在位置为起点的N个不连续的存储节点作为存储X个数据分片和Y个校验分片中的N个分片的存储节点。无论如何采用何种方式进行选取,确保存储长度为M的数据的N个存储节点与存储X个数据分片和Y个校验分片中的N个分片的存储节点最大限度的重合即可。Based on the hash value obtained by hashing the data of length M, the view management node takes the location of the hash value as a starting point, and stores N storage nodes in the specified direction as storing X data fragments and Y schools. The storage node of the N fragments in the fragmentation slice, the selection manner of the N storage nodes in the X data fragment and the Y parity slices and the selection of the N storage nodes storing the data of the length M In the same manner, if N storage nodes storing data of length M are selected in a continuous manner, N consecutive storage nodes starting from the location of the hash value are used as storage X data fragments and Y schools. The N storage nodes in the fragmentation slice, if the N storage nodes storing the data of length M are selected in a discontinuous manner, the N discontinuous storage nodes starting from the location of the hash value As a storage node storing X pieces of data and N pieces of Y check pieces. Regardless of how the method is selected, it is ensured that the N storage nodes storing the data of length M and the storage nodes storing the N data fragments and the N fragments of the Y verification fragments are maximally overlapped. .
以采用3副本数据、4数据分片、2校验分片的冗余存储方式为例,视图管理节点为长度为M的数据分配存储节点的过程,可参见下述例子。Taking the redundant storage mode of 3 copy data, 4 data slice, and 2 check slice as an example, the view management node allocates a storage node for data of length M, and can refer to the following example.
(1)、对于长度为M的数据KEY,视图管理节点对该长度为M的数据KEY进行哈希计算,得到哈希值k1。(1) For the data KEY of length M, the view management node performs hash calculation on the data KEY of length M to obtain a hash value k1.
(2)、视图管理节点根据该哈希值k1,从哈希空间中确定该哈希值k1所在的位置,并将该位置为起点,将顺时针方向的3个存储节点作为存储长度为M的数据的存储节点,参见图3,P0、P1、P2即为存储长度为M的数据的存储节点。(2) The view management node determines the location of the hash value k1 from the hash space according to the hash value k1, and uses the position as the starting point, and stores the three storage nodes in the clockwise direction as the storage length M. For the storage node of the data, see FIG. 3, P0, P1, and P2 are storage nodes that store data of length M.
(3)、视图管理节点根据该哈希值k1,从哈希空间中确定该哈希值k1所在的位置,并将该位置为起点,将顺时针方向的3个存储节点作为存储4个数据分片和2个校验分片中的3个分片的存储节点,参见图3,P0、P1、P2即为存储4个数据分片和2个校验分片中的3个分片的存储节点。(3) The view management node determines the location of the hash value k1 from the hash space according to the hash value k1, and uses the location as the starting point, and stores three data nodes in the clockwise direction as four data. For the storage node of the slice and the three slices of the two check slices, refer to FIG. 3, P0, P1, and P2 are three slices of the data slice and two of the two check slices. Storage node.
上述视图管理节点为长度为M的数据所分配的存储节点实际上为哈希空间中每个区间所在的虚拟存储节点,该虚拟存储节点无法真正地存储数据,需要将虚拟存储节点与存储系统中的物理存储节点建立映射关系,将对应虚拟存储节点上的数据持久化到与物理存储节点中。为了便于对虚拟存储节点和物理存储节点进行管理,视图管理节点还维护一张该 映射表,该映射表内存储了哈希空间的每个区间与物理存储节点之间的映射关系,通常物理存储节点的数量要小于哈希空间中的区间数量,这样每个物理存储节点实际上会对应多个区间,也即是多个虚拟存储节点的数据存储于同一物理存储节点上。参见图3,哈希空间被等分为P0~P19共20个区间,存储系统包括4个物理存储节点,分别为物理存储节点1、物理存储节点2、物理存储节点3及物理存储节点4,其中,A(P0)、E(P4)、I(P8)、M(P12)、Q(P16)被映射到物理节点1上,B(P1)、F(P5)、J(P9)、N(P13)、R(P17)被映射到物理节点2上,C(P3)、G(P6)、K(P10)、0(P14)、S(P18)被映射到物理节点3上,D(P4)、H(P7)、L(P11)、P(P15)、T(P19)被映射到物理节点4上。The storage node allocated by the view management node for the length M data is actually a virtual storage node where each interval in the hash space is located, and the virtual storage node cannot truly store data, and the virtual storage node and the storage system need to be The physical storage node establishes a mapping relationship, and persists data on the corresponding virtual storage node to the physical storage node. To facilitate management of virtual storage nodes and physical storage nodes, the view management node also maintains a single a mapping table in which a mapping relationship between each interval of the hash space and the physical storage node is stored. Usually, the number of physical storage nodes is smaller than the number of intervals in the hash space, so that each physical storage node is actually Data corresponding to multiple intervals, that is, multiple virtual storage nodes, is stored on the same physical storage node. Referring to FIG. 3, the hash space is equally divided into 20 intervals of P0 to P19, and the storage system includes four physical storage nodes, namely, a physical storage node 1, a physical storage node 2, a physical storage node 3, and a physical storage node 4. Among them, A(P0), E(P4), I(P8), M(P12), Q(P16) are mapped to physical node 1, B(P1), F(P5), J(P9), N (P13), R(P17) are mapped to physical node 2, C(P3), G(P6), K(P10), 0(P14), S(P18) are mapped to physical node 3, D(( P4), H(P7), L(P11), P(P15), T(P19) are mapped onto the physical node 4.
参见图4,基于视图管理节点所维护的映射表,当客户端需要从存储系统中查询数据KEY1,客户端可可先计算该KEY1的哈希值k1,并确定哈希值k1在哈希空间中的位置,进而根据该映射表,查找该哈希值所在的物理存储节点,从而从该物理存储节点上查询到数据KEY1。Referring to FIG. 4, based on the mapping table maintained by the view management node, when the client needs to query the data KEY1 from the storage system, the client may first calculate the hash value k1 of the KEY1, and determine that the hash value k1 is in the hash space. The location, and then according to the mapping table, find the physical storage node where the hash value is located, thereby querying the data KEY1 from the physical storage node.
202、视图管理节点将存储节点信息发送至协调存储节点和客户端。202. The view management node sends the storage node information to the coordination storage node and the client.
由于存储长度为M的数据的存储节点及存储X个数据分片和Y个校验分片中的N个分片的存储节点,是客户端进行多副本存储、协调存储节点进行EC存储的关键,为使客户端和协调存储节点能够进行有针对地存储,视图管理节点可将为长度为M的数据所分配的N个存储节点的存储节点信息、以及存储X个数据分片和Y个校验分片中的N个分片的存储节点的存储节点信息发送至客户端和协调存储节点。其中,存储节点信息包括存储节点标识等等。The storage node storing data of length M and the storage node storing N pieces of data and N pieces of Y check pieces are the key for the client to perform multiple copy storage and coordinate storage nodes for EC storage. In order to enable the client and the coordinated storage node to perform targeted storage, the view management node may store the storage node information of the N storage nodes allocated for the data of length M, and store X data fragments and Y schools. The storage node information of the storage nodes of the N fragments in the fragmentation slice is sent to the client and the coordination storage node. The storage node information includes a storage node identifier and the like.
203、客户端根据存储节点信息,对长度为M的数据进行复制,并将复制后的数据发送至N个存储节点进行存储。203. The client copies the data of length M according to the storage node information, and sends the copied data to the N storage nodes for storage.
当接收到视图管理节点发送的存储节点信息,客户端对长度为M的数据复制N份,得到N个长度为M的数据,进而将N个长度为M的数据发送至所分配的N个存储节点,由每个存储节点进行存储。When receiving the storage node information sent by the view management node, the client copies N shares of data of length M to obtain N data of length M, and then sends N data of length M to the allocated N storages. Nodes are stored by each storage node.
为了提高数据访问速率,存储系统可根据客户端的访问量转换数据的存储模式,当客户端对任一数据的访问量大于一定的数值时,存储系统可触发协调存储节点将数据由副本存储模式转换为EC存储模式进行存储。In order to improve the data access rate, the storage system can convert the storage mode of the data according to the amount of access by the client. When the client accesses any data to a certain value, the storage system can trigger the coordinated storage node to convert the data from the copy storage mode. Store for EC storage mode.
204、协调存储节点将长度为M的数据等分为X个数据分片,并对X个数据分片进行校验,得到Y个校验分片。204. The coordination storage node divides the data of length M into X data fragments, and performs verification on X data fragments to obtain Y verification fragments.
由于本实施例中的存储系统采用X个数据分片、Y个校验分片的冗余方式进行存储,因此,在EC存储模式下,协调存储节点需要将本节点上所存储的长度为M的数据等分为X个数据分片。基于所划分的X个数据分片,协调存储节点采用指定校验算法,对X个数据分片进行校验,得到Y个校验分片。其中,指定校验算法包括奇偶校验算法、CRC循环冗余校验算法等等。The storage system in this embodiment uses X data fragments and Y parity fragments to store in a redundant manner. Therefore, in the EC storage mode, the coordinated storage node needs to store the length of the node as M. The data is equally divided into X data fragments. Based on the divided X data fragments, the coordinated storage node uses a specified check algorithm to verify X data fragments to obtain Y parity fragments. The specified check algorithm includes a parity check algorithm, a CRC cyclic redundancy check algorithm, and the like.
205、协调存储节点将第i个数据分片的起始地址和长度发送给N个存储节点中的第i个存储节点。205. The coordinating storage node sends the starting address and length of the i th data fragment to the i th storage node of the N storage nodes.
其中,i为大于1且小于等于D的自然数,D为X和N中的最小值。由于N个存储节点中已存储了长度为M的数据,因此,为了节省数据在系统内传输所消耗的网络资源,协 调存储节点可将分片信息发送至N个存储节点,由每个存储节点根据分片信息对所存储的长度为M的数据进行剪切,得到一个数据分片并存储。其中,分片信息包括数据分片的起始地址和长度等。对于X个数据分片中的第i个数据分片,协调存储节点将第i个数据分片的起始地址和长度发送给N个存储节点中的第i个存储节点,由第i个存储节点根据第i个数据分片的起始地址和长度,对所存储的长度为M的数据进行剪切,得到与起始地址和长度相应的数据分片,并存储该数据分片。Where i is a natural number greater than 1 and less than or equal to D, and D is a minimum of X and N. Since the data of length M has been stored in the N storage nodes, in order to save data, the network resources consumed in the system are transmitted. The storage node may send the fragmentation information to the N storage nodes, and each storage node cuts the stored data of length M according to the fragmentation information to obtain a data fragment and store it. The fragmentation information includes a starting address and a length of the data fragment. For the i-th data fragment in the X data fragments, the coordination storage node sends the start address and length of the i-th data fragment to the i-th storage node of the N storage nodes, by the ith storage The node cuts the stored data of length M according to the starting address and length of the i-th data fragment, obtains data fragments corresponding to the starting address and length, and stores the data fragment.
206、当X大于N时,协调存储节分别为X-N个数据分片和Y个校验分片中的每一个分片分配一个第一存储节点。206. When X is greater than N, the coordinated storage section allocates a first storage node for each of the X-N data fragments and the Y verification fragments.
其中,第一存储节点为多个存储节点中除N个存储节点以外的任一存储节点。当X大于N时,说明数据分片的数量大于长度为M的数据的副本数量,此时,协调存储节点需要为X-N个数据分片和Y个校验分片中的每一个分片分配一个第一存储节点,并将X-N个数据分片和Y个校验分片发送至所分配的第一存储节点,由第一存储节点进行存储。The first storage node is any storage node other than the N storage nodes among the plurality of storage nodes. When X is greater than N, it indicates that the number of data fragments is greater than the number of copies of data of length M. At this time, the coordinated storage node needs to allocate one for each of XN data fragments and Y parity fragments. The first storage node sends XN data fragments and Y parity fragments to the allocated first storage node, and is stored by the first storage node.
207、当X不大于N时,协调存储节为Y个校验分片中的每一个分片分配一个第二存储节点。207. When X is not greater than N, the coordinated storage section allocates a second storage node for each of the Y check slices.
其中,第二存储节点为多个存储节点中除X个存储节点以外的任一存储节点。当X不大于N时,说明数据分片的数量小于等于长度为M的数据的副本数量,此时协调存储节需要为Y个校验分片中的每一个分片分配一个第二存储节点,并将Y个校验分片发送至第二存储节点,由第二存储节点进行存储。The second storage node is any storage node other than the X storage nodes among the plurality of storage nodes. When X is not greater than N, it indicates that the number of data fragments is less than or equal to the number of copies of data of length M. At this time, the coordinated storage section needs to allocate a second storage node for each of the Y verification fragments. And sending the Y check fragments to the second storage node for storage by the second storage node.
对于上述过程,为了便于理解,下面将以一个具体的例子进行说明。For the above process, for ease of understanding, a specific example will be described below.
参见图5,设定数据大小为4M,视图管理节点为存储长度为4M的数据分配的存储节点为N1、N2、N3,为4个数据分片和2个校验分片分配的存储节点为N1、N2、N3、N4、N5、N6,协调存储节点N1将长度为4M的数据等分为4个1M的数据分片,并对4个数据分片进行校验,得到2个校验分片。当需要将长度为M的数据由多副本存储模式转为EC存储模式进行存储时,协调存储节点N1根据起始地址为0和长度为1M的分片信息,对本节点所存储的长度为4M的数据进行剪切,得到数据分片并存储,并向存储节点N2发送起始地址为1M和长度为1M的分片信息,向存储节点N3发送起始地址为2M和长度为1M的分片信息,由存储节点N2和N3对本节点所存储的长度为4M的数据进行剪切,得到数据分片并存储。对于存储节点N4、N5、N6,协调存储节点N1可将起始地址为3M和长度为1M的数据分片至存储节点N4进行存储,将起始地址为0和长度为1M的校验分片发送至存储节点N5进行存储,将起始地址为1M和长度为1M的校验分片发送至存储节点N6进行存储。Referring to FIG. 5, the set data size is 4M, and the storage node allocated by the view management node for the data with the storage length of 4M is N1, N2, and N3, and the storage node allocated for the four data fragments and the two parity fragments is N1, N2, N3, N4, N5, N6, the coordination storage node N1 divides the data of length 4M into 4 1M data fragments, and verifies 4 data fragments to obtain 2 check scores. sheet. When it is necessary to convert the data of length M from the multiple copy storage mode to the EC storage mode for storage, the coordinated storage node N1 stores the length of the node to be 4M according to the fragmentation information of the start address of 0 and the length of 1M. The data is cut, the data is fragmented and stored, and the fragment information with the start address of 1M and the length of 1M is sent to the storage node N2, and the fragment information with the start address of 2M and the length of 1M is sent to the storage node N3. The data of the length 4M stored by the node is cut by the storage nodes N2 and N3 to obtain data fragments and stored. For the storage nodes N4, N5, and N6, the coordinated storage node N1 can store the data with the start address of 3M and the length of 1M to the storage node N4, and store the check fragment with the start address of 0 and the length of 1M. It is sent to the storage node N5 for storage, and the verification slice with the start address of 1M and the length of 1M is sent to the storage node N6 for storage.
为使客户端能够获知EC存储模式下数据的存储请求,指定存储节点在成功存储每个数据分片或校验分片时,还将向协调存储节点发送存储成功消息。其中,指定存储节点为存储X个数据分片和Y个校验分片的存储节点中除协调存储节点以外的其他存储节点。In order to enable the client to know the storage request of the data in the EC storage mode, the designated storage node will also send a storage success message to the coordinated storage node when each data fragment or check fragment is successfully stored. The designated storage node is a storage node other than the coordinated storage node among the storage nodes storing the X data fragments and the Y parity fragments.
图6示出了将数据由多副本存储模式转为EC存储模式时进行数据存储的过程图,参见图6,视图管理节点为长度为M的数据分配存储节点N1、N2、N3,为4个数据分片和2个校验分片分配的存储节点为N1、N2、N3、N4、N5、N6。在由多副本存储模式转为EC存储模式时,协调存储节点N1将所存储的长度为M的数据分为4个数据分片,并对4个 数据分片进行校验,得到2个校验分片。协调存储节点N1N1根据分片信息<offset1,len1>,对本节点所存储的长度为M的数据进行剪切,得到数据分片并存储;并向存储节点N2发送分片信息<offset2,len2>,由存储节点N2根据<offset2,len2>对所存储的长度为M的数据进行剪切,得到一个数据分片并存储;向N3发送分片信息<offset3,len3>,由存储节点N3根据<offset3,len3>对所存储的长度为M的数据进行剪切,得到一个数据分片并存储;将分片信息为<offset4,len4>的数据分片发送至存储节点N4进行存储,将两个校验分片分别发送至存储节点N5和N6进行存储。6 is a process diagram for performing data storage when data is transferred from a multiple copy storage mode to an EC storage mode. Referring to FIG. 6, the view management node allocates storage nodes N1, N2, and N3 for data of length M, which are four. The storage nodes allocated by the data fragment and the two parity fragments are N1, N2, N3, N4, N5, and N6. When the multi-copy storage mode is switched to the EC storage mode, the coordinated storage node N1 divides the stored data of length M into 4 data fragments, and 4 data pieces. The data fragment is verified to obtain two verification fragments. The coordination storage node N1N1 cuts the data of length M stored by the node according to the fragmentation information <offset1, len1>, obtains data fragmentation and stores it, and sends the fragmentation information <offset2, len2> to the storage node N2. The storage node N2 cuts the stored data of length M according to <offset2, len2> to obtain a data fragment and stores it; sends fragmentation information <offset3, len3> to N3, according to <offset3 by storage node N3. , len3> cuts the stored data of length M to obtain a data fragment and stores it; sends the fragment of the fragment information to <offset4, len4> to the storage node N4 for storage, and two schools The test pieces are sent to storage nodes N5 and N6 for storage.
本发明实施例提供的方法,在将数据由多副本存储模式转为EC存储模式进行存储时,无需将数据发送至专门的协调存储节点,而借助可作为数据协调节点的存储节点进行数据分发,大大减少了数据传输量,节省了系统内网络资源消耗。The method provided by the embodiment of the present invention, when the data is transferred from the multiple copy storage mode to the EC storage mode for storage, does not need to send data to a dedicated coordinated storage node, but performs data distribution by using a storage node that can serve as a data coordination node. The data transmission amount is greatly reduced, and the network resource consumption in the system is saved.
参见图7,本发明实施例提供了一种协调存储节点,该协调存储节点位于存储系统中,该存储系统包括多个存储节点,多个存储节点中的N个存储节点上存储有长度为M的数据,协调存储节点包含于N个存储节点中,其中,N为大于1的自然数,协调存储节点包括:Referring to FIG. 7, an embodiment of the present invention provides a coordinated storage node, where the coordinated storage node is located in a storage system, where the storage system includes multiple storage nodes, and N storage nodes of the plurality of storage nodes are stored with a length of M. Data, the coordination storage node is included in N storage nodes, where N is a natural number greater than 1, and the coordination storage node includes:
划分单元701,用于将长度为M的数据等分为X个数据分片,并对X个数据分片进行校验,得到Y个校验分片,其中,X和Y为自然数,且每一个数据分片和每一个校验分片的长度均为M/X;The dividing unit 701 is configured to divide the data of length M into X data fragments, and verify the X data fragments to obtain Y verification fragments, wherein X and Y are natural numbers, and each The length of one data slice and each check slice is M/X;
发送单元702,用于将第i个数据分片的起始地址和长度分别发送给N个存储节点中的第i个存储节点,其中,i为大于1且小等于D的自然数,D为X和N中的最小值;The sending unit 702 is configured to send the start address and the length of the ith data fragment to the ith storage node of the N storage nodes, where i is a natural number greater than 1 and small equal to D, and D is X. And the minimum value in N;
分配单元703,用于当X大于N时,分别为X-N个数据分片和Y个校验分片中的每一个分片分配一个第一存储节点,第一存储节点为多个存储节点中除N个存储节点以外的任一存储节点。The allocating unit 703 is configured to allocate, when X is greater than N, a first storage node for each of the XN data fragments and the Y verification fragments, where the first storage node is a plurality of storage nodes. Any storage node other than N storage nodes.
在本发明的另一个实施例中,分配单元703,用于当X不大于N时,为Y个校验分片中的每一个分片分配一个第二存储节点,第二存储节点为多个存储节点中除X个存储节点以外的任一存储节点。In another embodiment of the present invention, the allocating unit 703 is configured to allocate, when X is not greater than N, a second storage node for each of the Y verification fragments, and the second storage node is multiple Any storage node other than X storage nodes in the storage node.
可选的,本发明的另一个实施例中,分配单元703用于当X大于N时,分别为X-N个数据分片和Y个校验分片中的每一个分片分配一个第一存储节点,第一存储节点为多个存储节点中除N个存储节点以外的任一存储节点;当X不大于N时,为Y个校验分片中的每一个分片分配一个第二存储节点,第二存储节点为多个存储节点中除X个存储节点以外的任一存储节点。Optionally, in another embodiment of the present invention, the allocating unit 703 is configured to allocate a first storage node for each of the XN data fragments and the Y parity fragments when X is greater than N. The first storage node is any one of the plurality of storage nodes except the N storage nodes; when X is not greater than N, a second storage node is allocated for each of the Y verification fragments. The second storage node is any storage node other than the X storage nodes among the plurality of storage nodes.
参见图8,在本发明的另一个实施例中,存储系统还包括视图管理节点,协调存储节点还包括接收单元704;Referring to FIG. 8, in another embodiment of the present invention, the storage system further includes a view management node, and the coordination storage node further includes a receiving unit 704;
接收单元704,用于接收视图管理节点发送的存储节点信息,存储节点信息包括存储长度为M的数据的存储节点的信息;The receiving unit 704 is configured to receive storage node information sent by the view management node, where the storage node information includes information about a storage node that stores data of length M;
发送单元702,具体用于根据存储节点信息将第i个数据分片的起始地址和长度分别发送给N个存储节点中的第i个存储节点。The sending unit 702 is specifically configured to send, according to the storage node information, the start address and the length of the i th data fragment to the i th storage node of the N storage nodes.
在本发明的另一个实施例中,接收单元704,还用于接收存储成功消息,存储成功消息由存储X个数据分片和Y个校验分片的存储节点中除协调存储节点以外的其他存储节点发送。 In another embodiment of the present invention, the receiving unit 704 is further configured to receive a storage success message, where the storage success message is other than the coordinated storage node in the storage node that stores the X data fragments and the Y parity fragments. The storage node sends.
在本发明的另一个实施例中,视图管理节点,用于对长度为M的数据进行哈希计算,得到哈希值;根据哈希值,确定长度为M的数据在哈希空间中的位置;以该位置为起点,将指定方向的N个存储节点作为存储长度为M的数据的存储节点;以该位置为起点,将指定方向的N个存储节点作为存储X个数据分片和Y个校验分片中的N个分片的存储节点。In another embodiment of the present invention, the view management node is configured to perform hash calculation on the data of length M to obtain a hash value; and determine the position of the data of length M in the hash space according to the hash value. Starting from the position, the N storage nodes in the specified direction are used as storage nodes for storing data of length M; starting from the position, the N storage nodes in the specified direction are stored as X data fragments and Y. Verify the storage nodes of the N slices in the slice.
综上所述,本发明实施例提供的系统,在将数据由多副本存储模式转为EC存储模式进行存储时,无需将数据发送至专门的协调存储节点,而借助可作为数据协调节点的存储节点进行数据分发,大大减少了数据传输量,节省了系统内网络资源消耗。In summary, the system provided by the embodiment of the present invention does not need to send data to a dedicated coordinated storage node when the data is transferred from the multiple copy storage mode to the EC storage mode, and the storage can be used as a data coordination node. The node performs data distribution, which greatly reduces the amount of data transmission and saves network resource consumption in the system.
参见图9,其示出了本发明的一个实施例中使用的协调存储节点900的说明性计算机体系结构。所述协调存储节点900为服务器或存储设备。所述协调存储节点900包括处理器901、存储器902和总线903,其中,处理器901和存储器902通过总线903连接。可选的,所述协调存储节点900还包括帮助计算设备内的各个器件之间传输信息的基本输入/输出系统(I/O系统)904和用于存储操作系统、应用程序和其他程序模块的大容量存储设备905。Referring to Figure 9, an illustrative computer architecture of a coordinated storage node 900 for use in one embodiment of the present invention is shown. The coordinated storage node 900 is a server or a storage device. The coordinated storage node 900 includes a processor 901, a memory 902, and a bus 903, wherein the processor 901 and the memory 902 are connected by a bus 903. Optionally, the coordinated storage node 900 further includes a basic input/output system (I/O system) 904 that facilitates transferring information between various devices within the computing device and for storing operating systems, applications, and other program modules. Mass storage device 905.
可选的,所述大容量存储设备905通过连接到总线903的大容量存储控制器(未示出)连接到处理器901。所述大容量存储设备905及其相关联的计算机可读介质为协调存储节点900提供非易失性存储。也就是说,所述大容量存储设备905可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。Alternatively, the mass storage device 905 is connected to the processor 901 by a mass storage controller (not shown) connected to the bus 903. The mass storage device 905 and its associated computer readable medium provide non-volatile storage for the coordinating storage node 900. That is, the mass storage device 905 can include a computer readable medium (not shown) such as a hard disk or a CD-ROM drive.
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。Without loss of generality, the computer readable medium can include computer storage media and communication media.
计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media include RAM, ROM, EPROM, EEPROM, flash memory or other solid state storage technologies, CD-ROM, DVD or other optical storage, tape cartridges, magnetic tape, magnetic disk storage or other magnetic storage devices. Of course, those skilled in the art will appreciate that the computer storage medium is not limited to the above.
根据本发明的各种实施例,所述协调存储节点900还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即协调存储节点900可以通过连接在所述总线903上的网络接口单元906连接到网络907,或者说,也可以使用网络接口单元906来连接到其他类型的网络或远程计算机系统(未示出)。其中,网络接口单元906可以为网卡(又称之为网络接口卡)或主机总线适配器等。According to various embodiments of the present invention, the coordinated storage node 900 may also be operated by a remote computer connected to the network through a network such as the Internet. That is, the coordination storage node 900 can be connected to the network 907 through a network interface unit 906 connected to the bus 903, or can also be connected to other types of networks or remote computer systems using the network interface unit 906 (not shown) ). The network interface unit 906 can be a network card (also referred to as a network interface card) or a host bus adapter.
本发明实施例提供的计算机设备,在将数据由多副本存储模式转为EC存储模式进行存储时,无需将数据发送至专门的协调存储节点,而借助可作为数据协调节点的存储节点进行数据分发,大大减少了数据传输量,节省了系统内网络资源消耗。The computer device provided by the embodiment of the present invention does not need to send data to a dedicated coordinated storage node when data is transferred from a multiple copy storage mode to an EC storage mode, but is distributed by using a storage node that can serve as a data coordination node. , greatly reducing the amount of data transmission, saving network resource consumption within the system.
需要说明的是:上述实施例提供的协调存储节点在存储数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将协调存储节点的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的协调存储节点与数据存储系统中的数据存储方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。It should be noted that, when the data is stored in the foregoing embodiment, the coordinated storage node only exemplifies the division of each functional module. In actual applications, the function distribution may be completed by different functional modules as needed. The internal structure of the coordination storage node is divided into different functional modules to perform all or part of the functions described above. In addition, the embodiment of the data storage method in the foregoing embodiment is the same as the embodiment of the data storage method in the data storage system. For details, refer to the method embodiment, and details are not described herein.
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。 A person skilled in the art may understand that all or part of the steps of implementing the above embodiments may be completed by hardware, or may be instructed by a program to execute related hardware, and the program may be stored in a computer readable storage medium. The storage medium mentioned may be a read only memory, a magnetic disk or an optical disk or the like.
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。 The above are only the preferred embodiments of the present invention, and are not intended to limit the present invention. Any modifications, equivalents, improvements, etc., which are within the spirit and scope of the present invention, should be included in the protection of the present invention. Within the scope.

Claims (10)

  1. 一种存储系统中的数据存储方法,其特征在于,所述存储系统包括多个存储节点,所述多个存储节点中的N个存储节点上存储有长度为M的数据,所述N个存储节点包括一个协调存储节点,其中,N为大于1的自然数,所述方法包括:A data storage method in a storage system, wherein the storage system includes a plurality of storage nodes, and N storage nodes of the plurality of storage nodes store data of length M, the N storages The node includes a coordinated storage node, where N is a natural number greater than 1, the method comprising:
    所述协调存储节点将所述长度为M的数据等分为X个数据分片,并对所述X个数据分片进行校验,得到Y个校验分片,其中,X和Y为自然数,且每一个数据分片和每一个校验分片的长度均为M/X;The coordinated storage node divides the data of length M into X data fragments, and performs verification on the X data fragments to obtain Y verification fragments, where X and Y are natural numbers. , and the length of each data slice and each check slice is M/X;
    所述协调存储节点将第i个数据分片的起始地址和长度发送给所述N个存储节点中的第i个存储节点,其中,i为大于1且小于等于D的自然数,D为X和N中的最小值;The coordination storage node sends the start address and length of the i-th data fragment to the i-th storage node of the N storage nodes, where i is a natural number greater than 1 and less than or equal to D, and D is X And the minimum value in N;
    当X大于N时,所述协调存储节分别为X-N个数据分片和所述Y个校验分片中的每一个分片分配一个第一存储节点,所述第一存储节点为所述多个存储节点中除所述N个存储节点以外的任一存储节点;When X is greater than N, the coordinated storage section allocates a first storage node for each of the XN data fragments and the Y verification fragments, and the first storage node is the plurality of Any storage node other than the N storage nodes;
    当X不大于N时,所述协调存储节为所述Y个校验分片中的每一个分片分配一个第二存储节点,所述第二存储节点为所述多个存储节点中除所述X个存储节点以外的任一存储节点。When X is not greater than N, the coordinated storage section allocates a second storage node for each of the Y verification fragments, and the second storage node is a middle of the plurality of storage nodes. Any storage node other than X storage nodes.
  2. 根据权利要求1所述的方法,其特征在于,所述存储系统还包括视图管理节点,所述协调存储节点将第i个数据分片的起始地址和长度发送给所述N个存储节点中的第i个存储节点,包括:The method according to claim 1, wherein the storage system further comprises a view management node, wherein the coordinated storage node sends a start address and a length of the i-th data slice to the N storage nodes. The i-th storage node, including:
    所述协调存储节点接收所述视图管理节点发送的存储节点信息,所述存储节点信息包括存储所述长度为M的数据的存储节点的信息;The coordination storage node receives the storage node information sent by the view management node, where the storage node information includes information of a storage node that stores the data of length M;
    所述协调存储节点根据所述存储节点信息将第i个数据分片的起始地址和长度发送给所述N个存储节点中的第i个存储节点。And the coordinated storage node sends the start address and length of the ith data fragment to the i-th storage node of the N storage nodes according to the storage node information.
  3. 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method of claim 1 further comprising:
    所述协调存储节点接收存储成功消息,所述存储成功消息由存储X个数据分片和Y个校验分片的存储节点中除所述协调存储节点以外的其他存储节点发送。The coordinated storage node receives a storage success message, and the storage success message is sent by a storage node other than the coordinated storage node among the storage nodes storing the X data fragments and the Y parity fragments.
  4. 根据权利要求2所述的方法,其特征在于,所述方法还包括:The method of claim 2, wherein the method further comprises:
    所述视图管理节点对所述长度为M的数据进行哈希计算,得到哈希值;The view management node performs hash calculation on the data of length M to obtain a hash value;
    所述视图管理节点根据所述哈希值,确定所述长度为M的数据在哈希空间中的位置;Determining, by the view management node, a location of the data of length M in a hash space according to the hash value;
    所述视图管理节点以所述位置为起点,将指定方向的N个存储节点作为存储所述长度为M的数据的存储节点;The view management node takes the location as a starting point, and uses N storage nodes in a specified direction as a storage node that stores the data of length M;
    所述视图管理节点以所述位置为起点,将指定方向的N个存储节点作为存储所述X个数据分片和所述Y个校验分片中的N个分片的存储节点。The view management node takes the location as a starting point and uses N storage nodes in a specified direction as storage nodes that store the X data fragments and the N slices of the Y parity fragments.
  5. 一种协调存储节点,其特征在于,所述协调存储节点位于存储系统中,所述存储系统包括多个存储节点,所述多个存储节点中的N个存储节点上存储有长度为M的数据,所述协调存储节点包含于所述N个存储节点中,其中,N为大于1的自然数,所述协调存储 节点包括:A coordinated storage node, wherein the coordinated storage node is located in a storage system, the storage system includes a plurality of storage nodes, and N of the plurality of storage nodes stores data of length M The coordinated storage node is included in the N storage nodes, where N is a natural number greater than 1, the coordinated storage Nodes include:
    划分单元,用于将所述长度为M的数据等分为X个数据分片,并对所述X个数据分片进行校验,得到Y个校验分片,其中,X和Y为自然数,且每一个数据分片和每一个校验分片的长度均为M/X;a dividing unit, configured to divide the data of length M into X data fragments, and perform verification on the X data fragments to obtain Y verification fragments, wherein X and Y are natural numbers , and the length of each data slice and each check slice is M/X;
    发送单元,用于将第i个数据分片的起始地址和长度分别发送给所述N个存储节点中的第i个存储节点,其中,i为大于1且小等于D的自然数,D为X和N中的最小值;a sending unit, configured to send a starting address and a length of the i th data fragment to an i th storage node of the N storage nodes, where i is a natural number greater than 1 and small equal to D, where D is The minimum of X and N;
    分配单元,用于当X大于N时,分别为X-N个数据分片和所述Y个校验分片中的每一个分片分配一个第一存储节点,所述第一存储节点为所述多个存储节点中除所述N个存储节点以外的任一存储节点。An allocating unit, configured to allocate, when X is greater than N, a first storage node for each of the XN data fragments and the Y verification fragments, where the first storage node is the Any storage node other than the N storage nodes.
  6. 根据权利要求5所述的协调存储节点,其特征在于,所述分配单元,还用于当X不大于N时,为所述Y个校验分片中的每一个分片分配一个第二存储节点,所述第二存储节点为所述多个存储节点中除所述X个存储节点以外的任一存储节点。The coordination storage node according to claim 5, wherein the allocation unit is further configured to allocate a second storage for each of the Y verification fragments when X is not greater than N a node, the second storage node being any one of the plurality of storage nodes except the X storage nodes.
  7. 根据权利要求5所述的协调存储节点,其特征在于,所述存储系统还包括视图管理节点,所述协调存储节点还包括接收单元;The coordinated storage node according to claim 5, wherein the storage system further comprises a view management node, the coordinated storage node further comprising a receiving unit;
    所述接收单元,用于接收所述视图管理节点发送的存储节点信息,所述存储节点信息包括存储所述长度为M的数据的存储节点的信息;The receiving unit is configured to receive storage node information sent by the view management node, where the storage node information includes information of a storage node that stores the data of length M;
    所述发送单元,具体用于根据所述存储节点信息将第i个数据分片的起始地址和长度分别发送给所述N个存储节点中的第i个存储节点。The sending unit is specifically configured to send, according to the storage node information, a starting address and a length of the i th data fragment to the i th storage node of the N storage nodes.
  8. 根据权利要求5所述的协调存储节点,其特征在于,所述接收单元,还用于接收存储成功消息,所述存储成功消息由存储X个数据分片和Y个校验分片的存储节点中除所述协调存储节点以外的其他存储节点发送。The coordination storage node according to claim 5, wherein the receiving unit is further configured to receive a storage success message, where the storage success message is a storage node that stores X data fragments and Y parity fragments. The other storage nodes other than the coordinated storage node are sent.
  9. 根据权利要求7所述的协调存储节点,其特征在于,所述视图管理节点,用于对所述长度为M的数据进行哈希计算,得到哈希值;根据所述哈希值,确定所述长度为M的数据在哈希空间中的位置;以所述位置为起点,将指定方向的N个存储节点作为存储所述长度为M的数据的存储节点;以所述位置为起点,将指定方向的N个存储节点作为存储所述X个数据分片和所述Y个校验分片中的N个分片的存储节点。The coordination storage node according to claim 7, wherein the view management node is configured to perform hash calculation on the data of length M to obtain a hash value, and determine the location according to the hash value. The position of the data of length M in the hash space; starting from the position, the N storage nodes in the specified direction are used as storage nodes storing the data of length M; starting from the position, The N storage nodes in the specified direction are used as storage nodes that store the X data fragments and the N slices of the Y parity fragments.
  10. 一种协调存储节点,其特征在于,所述协调存储节点位于存储系统中,所述存储系统包括多个存储节点,所述多个存储节点中的N个存储节点上存储有长度为M的数据,所述协调存储节点包含于所述N个存储节点中,其中,N为大于1的自然数,所述协调存储节点包括存储器、处理器和总线,且所述存储器和所述处理器通过所述总线直连;A coordinated storage node, wherein the coordinated storage node is located in a storage system, the storage system includes a plurality of storage nodes, and N of the plurality of storage nodes stores data of length M The coordinated storage node is included in the N storage nodes, wherein N is a natural number greater than 1, the coordinated storage node includes a memory, a processor, and a bus, and the memory and the processor pass the Direct bus connection;
    所述存储器用于存放计算机指令,所述处理器用于执行所述存储器存储的计算机指令用于执行权利要求1至4任一项所述的存储系统中的数据存储方法。 The memory is for storing computer instructions for executing the memory stored computer instructions for performing the data storage method in the storage system of any one of claims 1 to 4.
PCT/CN2017/081073 2016-09-05 2017-04-19 Data storage method in data storage system and coordinating storage node WO2018040583A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610803072.9A CN106383665B (en) 2016-09-05 2016-09-05 Date storage method and coordination memory node in data-storage system
CN201610803072.9 2016-09-05

Publications (1)

Publication Number Publication Date
WO2018040583A1 true WO2018040583A1 (en) 2018-03-08

Family

ID=57938089

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/081073 WO2018040583A1 (en) 2016-09-05 2017-04-19 Data storage method in data storage system and coordinating storage node

Country Status (2)

Country Link
CN (1) CN106383665B (en)
WO (1) WO2018040583A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110149373A (en) * 2019-04-28 2019-08-20 平安科技(深圳)有限公司 Date storage method, device, medium and server based on point to point network
CN111309801A (en) * 2018-12-11 2020-06-19 航天信息股份有限公司 Method and device for fragmenting alliance chain
CN113609090A (en) * 2021-08-06 2021-11-05 杭州网易云音乐科技有限公司 Data storage method and device, computer readable storage medium and electronic equipment
CN113691581A (en) * 2021-07-08 2021-11-23 杭州又拍云科技有限公司 Efficient CDN (content delivery network) fragment refreshing method

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106383665B (en) * 2016-09-05 2018-05-11 华为技术有限公司 Date storage method and coordination memory node in data-storage system
CN107436733B (en) * 2017-06-29 2020-11-06 华为技术有限公司 Fragment management method and fragment management device
CN107491361B (en) * 2017-07-21 2019-04-02 山东九州信泰信息科技股份有限公司 The method for being classified other redundant storage is carried out to column in tables of data
EP3792766A1 (en) 2017-12-20 2021-03-17 Huawei Technologies Co., Ltd. Data storage method, apparatus, and system
CN108647523B (en) * 2018-04-28 2020-01-17 华南理工大学 Block chain-based electronic certification system and certificate storage and file recovery method
CN109062512B (en) * 2018-07-26 2022-02-18 郑州云海信息技术有限公司 Distributed storage cluster, data read-write method, system and related device
CN113986944B (en) * 2021-12-29 2022-03-25 天地伟业技术有限公司 Writing method and system of fragment data and electronic equipment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110154A (en) * 2011-02-21 2011-06-29 中国科学院计算技术研究所 File redundancy storage method in cluster file system
US8458287B2 (en) * 2009-07-31 2013-06-04 Microsoft Corporation Erasure coded storage aggregation in data centers
CN103631539A (en) * 2013-12-13 2014-03-12 百度在线网络技术(北京)有限公司 Distributed storage system and distributed storage method based on erasure coding mechanism
CN103984607A (en) * 2013-02-08 2014-08-13 华为技术有限公司 Distributed storage method, device and system
CN105573680A (en) * 2015-12-25 2016-05-11 北京奇虎科技有限公司 Storage method and device for replicated data
CN106383665A (en) * 2016-09-05 2017-02-08 华为技术有限公司 Data storage method in data storage system and coordinate storage node

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8458287B2 (en) * 2009-07-31 2013-06-04 Microsoft Corporation Erasure coded storage aggregation in data centers
CN102110154A (en) * 2011-02-21 2011-06-29 中国科学院计算技术研究所 File redundancy storage method in cluster file system
CN103984607A (en) * 2013-02-08 2014-08-13 华为技术有限公司 Distributed storage method, device and system
CN103631539A (en) * 2013-12-13 2014-03-12 百度在线网络技术(北京)有限公司 Distributed storage system and distributed storage method based on erasure coding mechanism
CN105573680A (en) * 2015-12-25 2016-05-11 北京奇虎科技有限公司 Storage method and device for replicated data
CN106383665A (en) * 2016-09-05 2017-02-08 华为技术有限公司 Data storage method in data storage system and coordinate storage node

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309801A (en) * 2018-12-11 2020-06-19 航天信息股份有限公司 Method and device for fragmenting alliance chain
CN110149373A (en) * 2019-04-28 2019-08-20 平安科技(深圳)有限公司 Date storage method, device, medium and server based on point to point network
CN113691581A (en) * 2021-07-08 2021-11-23 杭州又拍云科技有限公司 Efficient CDN (content delivery network) fragment refreshing method
CN113609090A (en) * 2021-08-06 2021-11-05 杭州网易云音乐科技有限公司 Data storage method and device, computer readable storage medium and electronic equipment

Also Published As

Publication number Publication date
CN106383665A (en) 2017-02-08
CN106383665B (en) 2018-05-11

Similar Documents

Publication Publication Date Title
WO2018040583A1 (en) Data storage method in data storage system and coordinating storage node
US10664492B2 (en) Replication of data objects from a source server to a target server
US9749419B2 (en) Check operation dispersed storage network frame
US20170147218A1 (en) Retrieving data segments from a dispersed storage network
US10120739B2 (en) Prioritized data rebuilding in a dispersed storage network
US9501341B2 (en) Directory synchronization of a dispersed storage network
US10180884B2 (en) Dispersed storage network with customized security and methods for use therewith
US9274977B2 (en) Storing data integrity information utilizing dispersed storage
CN107219997B (en) Method and device for verifying data consistency
US11397668B2 (en) Data read/write method and apparatus, and storage server
US20120226667A1 (en) Determining a staleness state of a dispersed storage network local directory
US20160150012A1 (en) Content-based replication of data between storage units
WO2017084563A1 (en) Distributed system-based file reading method and device
KR20120018178A (en) Swarm-based synchronization over a network of object stores
CN111949210A (en) Metadata storage method, system and storage medium in distributed storage system
WO2015039569A1 (en) Copy storage device and copy storage method
US20140325260A1 (en) Slice migration in a dispersed storage network
WO2015067035A1 (en) Data copy management device and data copy method thereof
WO2019071595A1 (en) Method and device for storing data in distributed block storage system, and computer readable storage medium
US20240095131A1 (en) Secure Storage Network and Methods for use Therewith
US20130226867A1 (en) Apparatus and method for converting replication-based file into parity-based file in asymmetric clustering file system
US20180356987A1 (en) Information processing system, information processing apparatus, and information processing method
US20210311654A1 (en) Distributed Storage System and Computer Program Product
US9223840B2 (en) Fast object fingerprints

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17844891

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17844891

Country of ref document: EP

Kind code of ref document: A1