[go: up one dir, main page]

CN106383665B - Date storage method and coordination memory node in data-storage system - Google Patents

Date storage method and coordination memory node in data-storage system Download PDF

Info

Publication number
CN106383665B
CN106383665B CN201610803072.9A CN201610803072A CN106383665B CN 106383665 B CN106383665 B CN 106383665B CN 201610803072 A CN201610803072 A CN 201610803072A CN 106383665 B CN106383665 B CN 106383665B
Authority
CN
China
Prior art keywords
storage
data
node
storage node
coordinating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610803072.9A
Other languages
Chinese (zh)
Other versions
CN106383665A (en
Inventor
刘强
蒋中斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610803072.9A priority Critical patent/CN106383665B/en
Publication of CN106383665A publication Critical patent/CN106383665A/en
Priority to PCT/CN2017/081073 priority patent/WO2018040583A1/en
Application granted granted Critical
Publication of CN106383665B publication Critical patent/CN106383665B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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
    • 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]

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

本发明公开了一种数据存储系统中的数据存储方法及协调存储节点,属于信息技术领域。方法包括:协调存储节点将长度为M的数据等分为X个数据分片,并获取Y个校验分片;协调存储节点将第i个数据分片的起始地址和长度发送给N个存储节点中的第i个存储节点;当X大于N时,协调存储节分别为X‑N个数据分片和Y个校验分片中的每一个分片分配一个第一存储节点;当X不大于N时,协调存储节为Y个校验分片中的每一个分片分配一个第二存储节点。本发明在将数据由多副本存储模式转为EC存储模式进行存储时,无需将数据发送至专门的协调存储节点,借助可作为数据协调节点的存储节点进行数据分发,大大减少了数据传输量,节省了系统内网络资源消耗。

The invention discloses a data storage method and a coordinated storage node in a data storage system, belonging to the field of information technology. The method includes: coordinating the storage node to divide the data with a length of M into X data fragments, and obtaining Y verification fragments; coordinating the storage node to send the start address and length of the i-th data fragment to N The i-th storage node among the storage nodes; when X is greater than N, the coordinating storage node allocates a first storage node for each of the X-N data fragments and Y verification fragments; when X When it is not greater than N, the coordinating storage section allocates a second storage node for each of the Y verification fragments. When the present invention converts data from multi-copy storage mode to EC storage mode for storage, there is no need to send data to a special coordinating storage node, and data distribution is performed by means of a storage node that can be used as a data coordinating node, which greatly reduces the amount of data transmission. The consumption of network resources in the system is saved.

Description

数据存储系统中的数据存储方法及协调存储节点Data storage method and coordinating storage nodes in data storage system

技术领域technical field

本发明涉及信息技术领域,特别涉及一种数据存储系统中的数据存储方法及协调存储节点。The invention relates to the field of information technology, in particular to a data storage method and coordinating storage nodes in a data storage system.

背景技术Background technique

为了提高数据的安全性,避免数据在传输过程中丢失,在分布式存储中常采用冗余方式对数据进行存储。目前冗余方式主要有副本冗余和EC(Erasure code,纠错码)冗余两种。其中,多副本冗余是将原始数据复制成多个副本数据,每个副本数据存储在一个存储节点上。EC冗余是将原始数据等分为X个分片数据,采用EC算法对X个分片数据进行校验,得到Y个分片校验数据,进而将X+Y个分片存储到不同的存储节点上。In order to improve data security and avoid data loss during transmission, redundant methods are often used to store data in distributed storage. Currently, there are mainly two types of redundancy methods: copy redundancy and EC (Erasure code, error correction code) redundancy. Among them, multi-copy redundancy refers to copying original data into multiple copy data, and each copy data is stored on a storage node. EC redundancy is to divide the original data into X pieces of data equally, use the EC algorithm to verify the X pieces of data, obtain Y pieces of verification data, and then store the X+Y pieces in different on the storage node.

当前应用最为广泛的是多副本冗余和EC冗余相结合的数据存储方式。具体存储过程如下:客户端对原始数据进行复制,得到多个副本数据,将多个副本数据存储在不同的副本存储节点上,将任一副本数据发送至EC协调节点,EC协调节点将该副本数据等分为X个分片数据,并采用EC算法对X个分片数据进行校验,得到Y个分片校验数据,EC协调节点存储一个分片数据,进而将X+Y-1个分片发送到不同的EC存储节点进行存储。Currently the most widely used data storage method is the combination of multi-copy redundancy and EC redundancy. The specific storage process is as follows: the client copies the original data to obtain multiple copy data, stores the multiple copy data on different copy storage nodes, sends any copy data to the EC coordinator node, and the EC coordinator node stores the copy data The data is equally divided into X pieces of data, and the EC algorithm is used to verify the X pieces of data, and Y pieces of verification data are obtained. The EC coordination node stores a piece of data, and then X+Y-1 Shards are sent to different EC storage nodes for storage.

当数据存储方式由副本冗余转换为EC冗余时,需要先将任一副本数据发送至EC协调节点,再由EC协调节点将包括分片数据和分片校验数据在内的多个分片发送到不同的EC存储节点进行存储,该过程传输大量数据,导致存储系统内网络资源消耗较大。When the data storage method is converted from copy redundancy to EC redundancy, any copy data needs to be sent to the EC coordinating node first, and then the EC coordinating node will send multiple split data including fragment data and fragment 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.

发明内容Contents of the invention

为了减少将数据由多副本存储模式转为EC存储模式进行存储时,存储系统内网络资源消耗,本发明实施例提供了一种存储系统中的数据存储方法及协调存储节点。所述技术方案如下:In order to reduce the consumption of network resources in a storage system when data is stored in an EC storage mode from a multi-copy storage mode, an embodiment of the present invention provides a data storage method and a coordinated storage node in a storage system. Described technical scheme is as follows:

第一方面,提供了一种存储系统中的数据存储方法,该存储系统包括多个存储节点,多个存储节点中的N个存储节点上存储有长度为M的数据,该N个存储节点包括一个协调存储节点,其中,N为大于1的自然数,该方法包括:In a first aspect, a data storage method in a storage system is provided, the storage system includes a plurality of storage nodes, and N storage nodes among the plurality of storage nodes store data with a length of M, and the N storage nodes include A coordinated storage node, wherein N is a natural number greater than 1, the method includes:

在存储系统中,因业务需求,将数据由多副本存储模式转化EC存储模式进行存储时,协调存储节点将长度为M个数据等分为X个数据分片,每个数据分片都具有一个起始地址和长度,每个数据分片的起始地址为该数据分片在长度为M的数据中的位置,每个数据分片的长度均为M/X。基于所得到的X个数据分片,协调存储节点通过对X个数据分片进行校验,得到Y个校验分片,每个校验分片的长度也为M/X。In the storage system, due to business needs, when the data is stored in the EC storage mode from the multi-copy storage mode to the EC storage mode, the coordinating storage node divides the data with a length of M into X data fragments, and each data fragment has a Start address and length, the start address of each data fragment is the position of the data fragment in the data with length M, and the length of each data fragment is M/X. Based on the obtained X data fragments, the coordinating storage node verifies the X data fragments to obtain Y verification 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 among the X data fragments, the coordinating storage node sends the start address and length of the i-th data fragment to the i-th storage node among the N storage nodes, where i is greater than 1 and a natural number less than or equal to D, where D is the smallest value among X and N.

当X大于N时,协调存储节点分别将X-N个数据分片和Y个校验分片中的每一个分片分配一个第一存储节点,该第一存储节点为多个存储节点中除N以外的任一存储节点。When X is greater than N, the coordinating storage node assigns each of the X-N data fragments and Y verification fragments to a first storage node, and the first storage node is a plurality of storage nodes except N any storage node.

当X小于等于N时,协调存储节点为Y个校验分片中的每一个分片分配一个第二存储节点,该第二存储节点为多个存储节点中除X个存储节点以外的任一存储节点。When X is less than or equal to N, the coordinating storage node allocates a second storage node for each of the Y verification slices, and the second storage node is any one of the multiple storage nodes except the X storage nodes. Storage nodes.

由于作为协调存储节点的数据存储节点具有双重功能,不仅可存储完整的数据,而且还可对包括数据分片和校验分片在内的分片进行分发,因而无需将完整的数据发送至专门的协调存储节点,大大减小了存储系统内的数据传输量,节省了存储系统内的网络资源消耗。Since the data storage node as a coordinating storage node has a dual function, it can not only store complete data, but also distribute shards including data shards and check shards, so there is no need to send complete data to a dedicated The coordinated storage nodes in the storage system greatly reduce the amount of data transmission in the storage system and save the consumption of network resources in the storage system.

结合第一方面,在第一方面的第一种可能的实现方式中,协调节点所在的存储系统还包括视图管理节点,基于该视图管理节点,协调存储节点在将第i个数据分片的起始地址和长度发送给N个存储节点中的第i个存储节点时,可先接收视图管理节点发送的存储节点信息,该存储节点信息包括存储长度为M的数据的存储节点的信息,该信息包括存储节点标识等等。协调存储节点根据所接收到的存储节点信息,将第i个数据分片的起始地址和长度有针对性地发送给N个存储节点中的第i个存储节点。With reference to the first aspect, in the first possible implementation manner of the first aspect, the storage system where the coordinating node is located further includes a view management node, and based on the view management node, the coordinating storage node starts from fragmenting the i-th data When sending the start address and length to the i-th storage node among the N storage nodes, it can first receive the storage node information sent by the view management node. Including storage node ID and so on. The coordinating storage node sends the start address and length of the i-th data fragment to the i-th storage node among the N storage nodes in a targeted manner according to the received storage node information.

结合第一方面,在第一方面的第二种可能的实现方式中,协调存储节点还将接收存储成功消息,该存储成功消息由存储X个数据分片和Y个校验分片的存储节点中除协调存储节点以外的其他存储节点发送。通过接收存储成功消息,协调存储节点可获知每个分片的存储情况,从而在任一分片未成功存储时,及时将该分片发送至相应的存储节点进行存储,以确保数据完整。In combination with the first aspect, in the second possible implementation of the first aspect, the coordinating storage node will also receive a storage success message, which is sent by the storage node storing X data fragments and Y verification fragments other storage nodes except the coordinating storage node. By receiving the storage success message, the coordinating storage node can know the storage status 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 combination with the first possible implementation of the first aspect, in the third possible implementation of the first aspect, in order to enable the coordinating storage node to target the start address and length of the i-th data fragment Specifically, the view management node in the storage system can perform hash calculation on the data with a length of M to obtain a hash value, and according to the hash value and the pre-constructed hash space, determine that the data with a length of M is in the hash The position in the Greek space, and then starting from this position, the N storage nodes in the specified direction are used as storage nodes for storing data with a length of M and storing N pieces of X data fragments and Y checksum fragments. Shard storage nodes.

第二方面,提供了一种协调存储节点,该协调存储节点位于存储系统中,该存储系统包括多个存储节点和视图管理节点,该多个存储节点中的N个存储节点上存储有长度为M的数据,该协调存储节点包含于N个存储节点中,其中,N为大于1的自然数,该协调存储节点用于执行上述第一方面中协调存储节点所执行的方法,该视图管理节点用于执行上述第一方面中视图管理节点所执行的方法。In a second aspect, a coordinating storage node is provided. The coordinating storage node is located in a storage system, and the storage system includes a plurality of storage nodes and a view management node. N storage nodes in the plurality of storage nodes store information with a length of M data, the coordinating storage node is included in N storage nodes, wherein N is a natural number greater than 1, and the coordinating storage node is used to execute the method performed by the coordinating storage node in the first aspect above, and the view management node uses In performing the method performed by the view management node in the first aspect above.

第三方面,提供了一种协调存储节点,该协调存储节点位于存储系统中,该存储系统包括多个存储节点,该多个存储节点中的N个存储节点上存储有长度为M的数据,且该协调存储节点包含于N个存储节点中,其中,N为大于1的自然数据,该协调存储节点包括存储器、处理器和总线,且存储器和处理器通过总线直连;In a third aspect, a coordinating storage node is provided, the coordinating storage node is located in a storage system, the storage system includes a plurality of storage nodes, and N storage nodes in the plurality of storage nodes store data with a length of M, And the coordinating storage node is included in N storage nodes, wherein N is natural data greater than 1, the coordinating 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 used to store computer instructions, and the processor is used to execute the computer instructions stored in the memory to execute the data storage method in the storage system described in the first aspect above.

具体地,上述第二方面和第三方面的协调存储节点,通过具体的结构单元或处理器,可执行如下步骤:Specifically, the coordinating storage nodes of the second aspect and the third aspect above may perform the following steps through specific structural units or processors:

将所述长度为M的数据等分为X个数据分片,并对所述X个数据分片进行校验,得到Y个校验分片,其中,X和Y为自然数,且每一个数据分片和每一个校验分片的长度均为M/X;Divide the data with a length of 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 data The length of the slice and each check slice is M/X;

将第i个数据分片的起始地址和长度发送给所述N个存储节点中的第i个存储节点,其中,i为大于1且小于等于D的自然数,D为X和N中的最小值;Send the start address and length of the i-th data fragment to the i-th storage node among the N storage nodes, where i is a natural number greater than 1 and less than or equal to D, and D is the smallest of X and N value;

当X大于N时,分别为X-N个数据分片和所述Y个校验分片中的每一个分片分配一个第一存储节点,所述第一存储节点为所述多个存储节点中除所述N个存储节点以外的任一存储节点。When X is greater than N, each of the X-N data fragments and each of the Y verification fragments is allocated a first storage node, and the first storage node is one of the multiple storage nodes except Any storage node other than the N storage nodes.

具体地,上述第二方面和第三方面的协调存储节点,通过具体的结构单元或处理器,可执行如下步骤:Specifically, the coordinating storage nodes of the second aspect and the third aspect above may perform the following steps through specific structural units or processors:

将所述长度为M的数据等分为X个数据分片,并对所述X个数据分片进行校验,得到Y个校验分片,其中,X和Y为自然数,且每一个数据分片和每一个校验分片的长度均为M/X;Divide the data with a length of 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 data The length of the slice and each check slice is M/X;

将第i个数据分片的起始地址和长度发送给所述N个存储节点中的第i个存储节点,其中,i为大于1且小于等于D的自然数,D为X和N中的最小值;Send the start address and length of the i-th data fragment to the i-th storage node among the N storage nodes, where i is a natural number greater than 1 and less than or equal to D, and D is the smallest of X and N value;

当X不大于N时,为所述Y个校验分片中的每一个分片分配一个第二存储节点,所述第二存储节点为所述多个存储节点中除所述X个存储节点以外的任一存储节点。When X is not greater than N, a second storage node is assigned to each of the Y verification slices, and the second storage node is the storage nodes except the X storage nodes among the plurality of storage nodes Any storage node other than .

本发明实施例提供的技术方案带来的有益效果是:The beneficial effects brought by the technical solution provided by the embodiments of the present invention are:

在将数据由多副本存储模式转为EC存储模式进行存储时,无需将数据发送至专门的协调存储节点,而借助可作为数据协调节点的存储节点进行数据分发,大大减少了数据传输量,节省了系统内网络资源消耗。When the data is stored from the multi-copy storage mode to the EC storage mode, there is no need to send the data to a dedicated coordinating storage node, and the data distribution can be performed with the help of the storage node that can be used as the data coordinating node, which greatly reduces the amount of data transmission and saves Reduced network resource consumption within the system.

附图说明Description of drawings

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings that need to be used in the description of the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present invention. For those skilled in the art, other drawings can also be obtained based on these drawings without creative effort.

图1是本发明一个实施例提供一种存储系统结构的示意图;FIG. 1 is a schematic diagram of a storage system structure provided by an embodiment of the present invention;

图2是本发明另一个实施例提供的一种存储系统中的数据存储方法流程图;Fig. 2 is a flow chart of a data storage method in a storage system provided by another embodiment of the present invention;

图3是本发明另一个实施例提供的一致性哈希算法的示意图;Fig. 3 is a schematic diagram of a consistent hash algorithm provided by another embodiment of the present invention;

图4是本发明另一个实施例提供的一种存储系统中存储节点的分布示意图;FIG. 4 is a schematic diagram of the distribution of storage nodes in a storage system according to another embodiment of the present invention;

图5是本发明另一个实施例提供的数据存储过程的示意图;Fig. 5 is a schematic diagram of a data storage process provided by another embodiment of the present invention;

图6是本发明另一个实施例提供的数据存储过程的示意图;Fig. 6 is a schematic diagram of a data storage process provided by another embodiment of the present invention;

图7是本发明另一个实施例提供的协调存储节点的结构示意图;Fig. 7 is a schematic structural diagram of a coordinating storage node provided by another embodiment of the present invention;

图8是本发明另一个实施例提供的协调存储节点的结构示意图;Fig. 8 is a schematic structural diagram of a coordinating storage node provided by another embodiment of the present invention;

图9是本发明另一个实施例中使用的协调存储节点的说明性计算机体系结构。Figure 9 is an illustrative computer architecture of a coordinating storage node used in another embodiment of the invention.

具体实施方式Detailed ways

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。In order to make the object, technical solution and advantages of the present invention clearer, the implementation manner of the present invention will be further described in detail below in conjunction with the accompanying drawings.

参见图1,其示出了一种存储系统,该存储系统包括视图管理节点101、客户端102及存储节点103。Referring to FIG. 1 , it shows a storage system, which includes a view management node 101 , a client 102 and a storage node 103 .

其中,视图管理节点101可以为一台单独的计算设备,也可以为由多台计算设备组成的计算集群。该视图管理节点用于接收存储节点103上报的心跳信息,并根据存储节点103上报的心跳信息,更新存储节点103的节点状态。视图管理节点101还用于为客户端102中的数据分配存储节点。视图管理节点101还维护一张哈希值与存储节点之间对应关系的视图,该视图用于客户端102从存储节点中查询数据。Wherein, the view management node 101 may be a single computing device, or may be 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 update the node status of the storage node 103 according to the heartbeat information reported by 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 corresponding relationship between hash values and storage nodes, and the view is used by the client 102 to query data from the storage nodes.

客户端102可以为智能手机、平板电脑、笔记本电脑等等,本实施例不对客户端102的产品类型作具体的限定。客户端102用于接收视图管理节点101推送的视图,并根据该视图查询数据。The client 102 may be a smart phone, a tablet computer, a notebook computer, etc., and this embodiment does not specifically limit the product type of the client 102 . The client 102 is used to receive the view pushed by the view management node 101, and query data according to the view.

存储节点103为存储系统中存储数据的物理介质,该存储节点每隔预设时长会向视图管理节点上报心跳信息,以使视图管理节点维护本存储节点的状态。The storage node 103 is the physical medium for storing data in the storage system, and the storage node will report heartbeat information to the view management node every preset period of time, so that the view management node maintains the state of the storage node.

上述视图管理节点101与客户端102及数据节点103可通过有线网络或无线网络进行通信,客户端102与数据节点103可通过有线网络或无线网络进行通信。The view management node 101, the client 102 and the data node 103 may communicate through a wired network or a wireless network, and the client 102 and the data node 103 may 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. The storage system includes a plurality of storage nodes and a view management node, wherein N storage nodes among the plurality of storage nodes store length It is the data of M, and the N storage nodes include a coordinating 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的数据分配存储节点。Due to the large number of storage nodes included in the storage system, in order to store data with a length of M in a redundant manner, and to minimize the consumption of network resources in the system during data transmission, in this embodiment, The view management node will also use the storage node selection algorithm to allocate storage nodes for the data whose length is M.

其中,存储节点选择算法可以包括一致性哈希算法等。一致性哈希算法原理如下:构造一个0~232-1的哈希空间,将0~232-1的哈希空间组成一个哈希环,将哈希环分成多个相等的区间,每个区间内的哈希值的差值范围相同。图3示出了一个哈希空间组成的哈希环,参见图3,该哈希环被等分为20个区间,分别为P0~P19且P0~P19的哈希值的差值范围相同。Wherein, the storage node selection algorithm may include a consistent hash algorithm and the like. The principle of the consistent hashing algorithm is as follows: construct a hash space of 0 to 2 32 -1, form a hash ring from the hash space of 0 to 2 32 -1, and divide the hash ring into multiple equal intervals, each The difference range of the hash values in the two intervals is the same. FIG. 3 shows a hash ring composed of a hash space. Referring to FIG. 3 , the hash ring is equally divided into 20 intervals, respectively P0-P19 and the difference ranges of the hash values of P0-P19 are the same.

受限于存储系统自身的性能,存储系统对长度为M的数据采用冗余方式进行存储时,副本数据(复制得到的长度为M的数据)的数量、数据分片的数量以及对数据分片校验得到的校验分片的数量是确定的。对于本实施例所述的存储系统系统采用冗余方式进行存储时,副本数据的数量为N个,数据分片的数量为X个,校验分片的数量为Y个,其中,N为大于1的自然数,X和Y为自然数。Limited by the performance of the storage system itself, when the storage system stores data with a length of M in a redundant manner, the number of copy data (replicated data with a length of M), the number of data fragments, and the number of data fragments The number of verification fragments obtained by verification is determined. When the storage system described in this embodiment is stored in a redundant manner, the number of copy data is N, the number of data fragments is X, and the number of check fragments is Y, wherein N is greater than A natural number of 1, X and Y are natural numbers.

具体地,视图管理节点在采用存储节点选择算法,为长度为M的数据分配存储节点时,可包括以下步骤2011~2013:Specifically, when the view management node adopts the storage node selection algorithm to allocate storage nodes for the data with a length of M, it may include the following steps 2011-2013:

2011、视图管理节点对长度为M的数据进行哈希计算,得到哈希值。2011. The view management node performs hash calculation on the data with a length of M to obtain a hash value.

视图管理节点可采用指定哈希算法对长度为M的数据进行哈希计算,得到哈希值。其中,指定哈希算法包括加法哈希算法、乘法哈希算法、除法哈希算法、位运算哈希算法、查表哈希算法等等。The view management node can use the specified hash algorithm to perform hash calculation on the data with a length of M to obtain the hash value. Wherein, the specified hash algorithm includes an addition hash algorithm, a multiplication hash algorithm, a division hash algorithm, a bit operation hash algorithm, a table lookup hash algorithm, and the like.

2012、视图管理节点根据哈希值,确定长度为M的数据在哈希空间中的位置。2012. The view management node determines the position of the data with length M in the hash space according to the hash value.

在本实施例中,哈希空间中的每个区间都对应一个哈希值范围,当哈希值位于哈希空间的任一区间内,可将该区间所在的位置作为长度为M的数据在哈希空间中的位置。例如,长度为M的数据KEY经过哈希计算,得到的哈希值为k1,该k1位于图3中PO所在的区间内,因此,可将PO所在的位置作为长度为M的数据KEY在哈希空间中的位置。In this embodiment, each interval in the hash space corresponds to a range of hash values. When the hash value is located in any interval of the hash space, the position of the interval can be used as the data of length M in the position in the hash space. For example, the hash value of the data KEY with a length of M is calculated as k1, and this k1 is located in the interval where the PO is located in Figure 3. Therefore, the position of the PO can be used as the data KEY with a length of M in the hash position in Greek space.

2013、视图管理节点以位置为起点,将指定方向的N个存储节点作为存储长度为M的数据的存储节点。2013. The view management node takes the location as the starting point, and uses N storage nodes in the specified direction as storage nodes for storing data with a length of M.

其中,指定方向可以为以哈希值所在位置为起点的顺时针方向,还可以为以哈希值所在位置为起点的逆时针方向。由于本实施例中采用N个副本对长度为M的数据进行冗余存储,因此,视图管理节点需要为长度为M的数据在副本存储模式下分配N个存储节点。基于对长度为M的数据进行哈希计算得到的哈希值,视图管理节点以该哈希值所在的位置为起点,将指定方向上的N个存储节点作为存储长度为M的数据的存储节点,该N个存储节点的选取方式可以为连续选取,即将指定方向上以该哈希值所在位置为起点的N个连续的存储节点作为存储长度为M的数据的存储节点,还可为不连续选取,即将指定方向上以该哈希值所在位置为起点的N个不连续的存储节点作为存储长度为M的数据的存储节点。Wherein, the specified direction may be a clockwise direction starting from the location of the hash value, or a counterclockwise direction starting from the location of the hash value. Since in this embodiment, N copies are used to redundantly store the data of length M, therefore, 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 with a length of M, the view management node starts from the location of the hash value, and uses N storage nodes in the specified direction as storage nodes for storing data with a length of M , the selection method of the N storage nodes can be continuous selection, that is, the N continuous storage nodes starting from the location of the hash value in the specified direction are used as storage nodes for storing data with a length of M, or discontinuous Select, that is, N discontinuous storage nodes starting from the location of the hash value in the specified direction as storage nodes for storing data with a length of M.

2014、视图管理节点以位置为起点,将指定方向的N个存储节点作为存储X个数据分片和Y个校验分片中的N个分片的存储节点。2014. The view management node takes the location as the starting point, and uses N storage nodes in the specified direction as storage nodes for storing N pieces of X data pieces and Y check pieces.

基于对长度为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 with a length of M, the view management node starts from the location of the hash value and uses N storage nodes in the specified direction as storage nodes for X data fragments and Y collations. The storage nodes of N slices in the verification slice, the selection method of N storage nodes for storing X data slices and Y check slices and the selection of N storage nodes for storing data with a length of M In the same way, if the N storage nodes that store data with a length of M are selected in a continuous manner, then the N continuous storage nodes starting from the location of the hash value will be used to store X data fragments and Y checkpoints. N pieces of storage nodes in the inspection shard, if the N storage nodes that store data with a length of M are selected in a discontinuous manner, then the N discontinuous storage nodes starting from the location of the hash value As a storage node that stores N pieces of X data pieces and Y check pieces. No matter which method is used to select, ensure that the N storage nodes storing data with a length of M overlap with the storage nodes storing N pieces of X data fragments and Y verification fragments to the greatest extent. .

以采用3副本数据、4数据分片、2校验分片的冗余存储方式为例,视图管理节点为长度为M的数据分配存储节点的过程,可参见下述例子。Taking the redundant storage mode of 3 copies of data, 4 data fragments, and 2 parity fragments as an example, the process of allocating storage nodes for data with a length of M by the view management node can be referred to the following example.

(1)、对于长度为M的数据KEY,视图管理节点对该长度为M的数据KEY进行哈希计算,得到哈希值k1。(1) For a data KEY with a length of M, the view management node performs hash calculation on the data KEY with a length of M to obtain a hash value k1.

(2)、视图管理节点根据该哈希值k1,从哈希空间中确定该哈希值k1所在的位置,并将该位置为起点,将顺时针方向的3个存储节点作为存储长度为M的数据的存储节点,参见图3,PO、P1、P2即为存储长度为M的数据的存储节点。(2) According to the hash value k1, the view management node determines the location of the hash value k1 from the hash space, takes this location as the starting point, and uses the three storage nodes in the clockwise direction as the storage length M The storage nodes of the data, referring to Fig. 3, PO, P1, P2 are the storage nodes for storing the data of length M.

(3)、视图管理节点根据该哈希值k1,从哈希空间中确定该哈希值k1所在的位置,并将该位置为起点,将顺时针方向的3个存储节点作为存储4个数据分片和2个校验分片中的3个分片的存储节点,参见图3,P0、P1、P2即为存储4个数据分片和2个校验分片中的3个分片的存储节点。(3) According to the hash value k1, the view management node determines the location of the hash value k1 from the hash space, and takes this location as the starting point, and uses the three storage nodes in the clockwise direction as the storage of four data Shards and 3 storage nodes of 2 verification shards, see Figure 3, P0, P1, and P2 are storage nodes for 4 data shards and 3 of 2 verification shards Storage nodes.

上述视图管理节点为长度为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 above-mentioned view management node allocates the storage node for the data with a length of M. In fact, it is a virtual storage node where each interval in the hash space is located. This virtual storage node cannot actually store data. Establish a mapping relationship with the physical storage node, and persist the data on the corresponding virtual storage node to the physical storage node. In order to facilitate the management of virtual storage nodes and physical storage nodes, the view management node also maintains a mapping table, which stores the mapping relationship between each interval of the hash space and the physical storage nodes. The number of nodes is smaller than the number of intervals in the hash space, so that each physical storage node actually corresponds to multiple intervals, that is, the data of multiple virtual storage nodes is stored on the same physical storage node. Referring to Figure 3, the hash space is equally divided into 20 intervals from P0 to P19. The storage system includes 4 physical storage nodes, namely physical storage node 1, physical storage node 2, physical storage node 3, and 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 to physical node 4.

参见图4,基于视图管理节点所维护的映射表,当客户端需要从存储系统中查询数据KEY1,客户端可可先计算该KEY1的哈希值k1,并确定哈希值k1在哈希空间中的位置,进而根据该映射表,查找该哈希值所在的物理存储节点,从而从该物理存储节点上查询到数据KEY1。Referring to Figure 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 can first calculate the hash value k1 of the KEY1, and determine that the hash value k1 is in the hash space Then, according to the mapping table, look up the physical storage node where the hash value is located, so as to query the data KEY1 from the physical storage node.

202、视图管理节点将存储节点信息发送至协调存储节点和客户端。202. The view management node sends the storage node information to the coordinating storage node and the client.

由于存储长度为M的数据的存储节点及存储X个数据分片和Y个校验分片中的N个分片的存储节点,是客户端进行多副本存储、协调存储节点进行EC存储的关键,为使客户端和协调存储节点能够进行有针对地存储,视图管理节点可将为长度为M的数据所分配的N个存储节点的存储节点信息、以及存储X个数据分片和Y个校验分片中的N个分片的存储节点的存储节点信息发送至客户端和协调存储节点。其中,存储节点信息包括存储节点标识等等。Since the storage node for storing data with a length of M and the storage node for storing N pieces of X data fragments and Y checksum fragments are the keys for the client to perform multi-copy storage and coordinate storage nodes for EC storage , in order to enable the client and the coordinating storage node to store in a targeted manner, the view management node can allocate the storage node information of N storage nodes for data with a length of M, and store X data fragments and Y collation The storage node information of the storage nodes of the N pieces in the verification shard is sent to the client and the coordinating storage node. Wherein, the storage node information includes a storage node identifier and the like.

203、客户端根据存储节点信息,对长度为M的数据进行复制,并将复制后的数据发送至N个存储节点进行存储。203. The client copies the data with a length of M according to the storage node information, and sends the copied data to 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 copies of the data with a length of M to obtain N data with a length of M, and then sends the N data with a length of M to the allocated N storage Nodes are stored by each storage node.

为了提高数据访问速率,存储系统可根据客户端的访问量转换数据的存储模式,当客户端对任一数据的访问量大于一定的数值时,存储系统可触发协调存储节点将数据由副本存储模式转换为EC存储模式进行存储。In order to improve the data access rate, the storage system can convert the data storage mode according to the access volume of the client. When the access volume of the client to any data is greater than a certain value, the storage system can trigger the coordination storage node to convert the data from the copy storage mode. Store for EC storage mode.

204、协调存储节点将长度为M的数据等分为X个数据分片,并对X个数据分片进行校验,得到Y个校验分片。204. The coordinating storage node equally divides the data with a length of M into X data fragments, and verifies the X data fragments to obtain Y verification fragments.

由于本实施例中的存储系统采用X个数据分片、Y个校验分片的冗余方式进行存储,因此,在EC存储模式下,协调存储节点需要将本节点上所存储的长度为M的数据等分为X个数据分片。基于所划分的X个数据分片,协调存储节点采用指定校验算法,对X个数据分片进行校验,得到Y个校验分片。其中,指定校验算法包括奇偶校验算法、CRC循环冗余校验算法等等。Since the storage system in this embodiment uses X data fragments and Y verification fragments for storage in a redundant manner, therefore, in the EC storage mode, the coordinating storage node needs to save the length M The data of is divided into X data fragments equally. Based on the divided X data fragments, the coordinating storage node uses a specified verification algorithm to verify the X data fragments to obtain Y verification fragments. Wherein, 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 start address and length of the i-th data segment to the i-th storage node among the N storage nodes.

其中,i为大于1且小于等于D的自然数,D为X和N中的最小值。由于N个存储节点中已存储了长度为M的数据,因此,为了节省数据在系统内传输所消耗的网络资源,协调存储节点可将分片信息发送至N个存储节点,由每个存储节点根据分片信息对所存储的长度为M的数据进行剪切,得到一个数据分片并存储。其中,分片信息包括数据分片的起始地址和长度等。对于X个数据分片中的第i个数据分片,协调存储节点将第i个数据分片的起始地址和长度发送给N个存储节点中的第i个存储节点,由第i个存储节点根据第i个数据分片的起始地址和长度,对所存储的长度为M的数据进行剪切,得到与起始地址和长度相应的数据分片,并存储该数据分片。Wherein, i is a natural number greater than 1 and less than or equal to D, and D is the minimum value among X and N. Since data of length M has been stored in N storage nodes, in order to save network resources consumed by data transmission in the system, the coordinating storage node can send fragmentation information to N storage nodes, and each storage node Cut the stored data with a length of M according to the slice information to obtain a data slice and store it. Wherein, the fragmentation information includes the start address and length of the data fragmentation. For the i-th data fragment among the X data fragments, the coordinating storage node sends the start address and length of the i-th data fragment to the i-th storage node among the N storage nodes, and the i-th storage node The node cuts the stored data of length M according to the start address and length of the i-th data fragment, obtains a data fragment corresponding to the start address and length, and stores the data fragment.

206、当X大于N时,协调存储节分别为X-N个数据分片和Y个校验分片中的每一个分片分配一个第一存储节点。206. When X is greater than N, the coordinating storage node allocates a first storage node to each of the X-N data fragments and Y verification fragments respectively.

其中,第一存储节点为多个存储节点中除N个存储节点以外的任一存储节点。当X大于N时,说明数据分片的数量大于长度为M的数据的副本数量,此时,协调存储节点需要为X-N个数据分片和Y个校验分片中的每一个分片分配一个第一存储节点,并将X-N个数据分片和Y个校验分片发送至所分配的第一存储节点,由第一存储节点进行存储。Wherein, the first storage node is any storage node except the N storage nodes among the plurality of storage nodes. When X is greater than N, it means that the number of data fragments is greater than the number of copies of data with a length of M. At this time, the coordinating storage node needs to allocate one for each of X-N data fragments and Y verification fragments. The first storage node sends the X-N data fragments and Y verification fragments to the allocated first storage node for storage by the first storage node.

207、当X不大于N时,协调存储节为Y个校验分片中的每一个分片分配一个第二存储节点。207. When X is not greater than N, the coordinating storage node allocates a second storage node for each of the Y check segments.

其中,第二存储节点为多个存储节点中除X个存储节点以外的任一存储节点。当X不大于N时,说明数据分片的数量小于等于长度为M的数据的副本数量,此时协调存储节需要为Y个校验分片中的每一个分片分配一个第二存储节点,并将Y个校验分片发送至第二存储节点,由第二存储节点进行存储。Wherein, the second storage node is any storage node except the X storage nodes among the plurality of storage nodes. When X is not greater than N, it means that the number of data fragments is less than or equal to the number of copies of data with a length of M. At this time, the coordination storage section needs to allocate a second storage node for each of the Y verification fragments. And send the Y verification fragments to the second storage node for storage by the second storage node.

对于上述过程,为了便于理解,下面将以一个具体的例子进行说明。For the above process, in order to facilitate understanding, a specific example will be used below to illustrate.

参见图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 Figure 5, the data size is set to 4M, the storage nodes allocated by the view management node for data with a storage length of 4M are N1, N2, and N3, and the storage nodes allocated for 4 data fragments and 2 check fragments are N1, N2, N3, N4, N5, N6, the coordinating storage node N1 divides the data with a length of 4M into four 1M data fragments, and verifies the four data fragments to obtain 2 verification points piece. When it is necessary to convert the data with a length of M from the multi-copy storage mode to the EC storage mode for storage, the coordinating storage node N1, according to the fragmentation information with a starting address of 0 and a length of 1M, stores the data with a length of 4M The data is cut, and the data fragments are obtained and stored, and the fragmentation information with the starting address of 1M and the length of 1M is sent to the storage node N2, and the fragmentation information with the starting address of 2M and the length of 1M is sent to the storage node N3 , the storage nodes N2 and N3 cut the data with a length of 4M stored in this node to obtain data fragments and store them. For storage nodes N4, N5, and N6, the coordinating storage node N1 can fragment the data with a starting address of 3M and a length of 1M to storage node N4 for storage, and split the checksum with a starting address of 0 and a length of 1M Send to the storage node N5 for storage, and send the check fragment with the starting address of 1M and the length of 1M to the storage node N6 for storage.

为使客户端能够获知EC存储模式下数据的存储请求,指定存储节点在成功存储每个数据分片或校验分片时,还将向协调存储节点发送存储成功消息。其中,指定存储节点为存储X个数据分片和Y个校验分片的存储节点中除协调存储节点以外的其他存储节点。In order to enable the client to know the storage request of data in the EC storage mode, the designated storage node will also send a storage success message to the coordinating storage node when it successfully stores each data segment or verification segment. Wherein, the designated storage node is a storage node other than the coordinating storage node among the storage nodes storing X data fragments and Y verification 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进行存储。Figure 6 shows the process diagram of data storage when the data is converted from the multi-copy storage mode to the EC storage mode. Referring to Figure 6, the view management node allocates storage nodes N1, N2, and N3 for data with a length of M, and there are 4 The storage nodes assigned to data shards and 2 check shards are N1, N2, N3, N4, N5, and N6. When changing from the multi-copy storage mode to the EC storage mode, the coordinating storage node N1 divides the stored data of length M into 4 data fragments, and checks the 4 data fragments to obtain 2 checksums Fragmentation. The coordinating 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>, and obtains a data fragment and stores it; sends the fragment information <offset3, len3> to N3, and the storage node N3 according to <offset3 , len3> cut the stored data with a length of M to obtain a data fragment and store it; send the data fragment whose fragment information is <offset4, len4> to the storage node N4 for storage, and store the two The verified fragments are sent to storage nodes N5 and N6 for storage respectively.

本发明实施例提供的方法,在将数据由多副本存储模式转为EC存储模式进行存储时,无需将数据发送至专门的协调存储节点,而借助可作为数据协调节点的存储节点进行数据分发,大大减少了数据传输量,节省了系统内网络资源消耗。In the method provided by the embodiment of the present invention, when the data is stored from the multi-copy storage mode to the EC storage mode, it is not necessary to send the data to a special coordinating storage node, but to distribute data by means of a storage node that can be used as a data coordinating node. It greatly reduces the amount of data transmission and saves the consumption of network resources in the system.

参见图7,本发明实施例提供了一种协调存储节点,该协调存储节点位于存储系统中,该存储系统包括多个存储节点,多个存储节点中的N个存储节点上存储有长度为M的数据,协调存储节点包含于N个存储节点中,其中,N为大于1的自然数,协调存储节点包括:Referring to FIG. 7 , an embodiment of the present invention provides a coordinated storage node. The coordinated storage node is located in a storage system, and the storage system includes multiple storage nodes. data, the coordinated storage nodes are included in N storage nodes, where N is a natural number greater than 1, and the coordinated storage nodes include:

划分单元701,用于将长度为M的数据等分为X个数据分片,并对X个数据分片进行校验,得到Y个校验分片,其中,X和Y为自然数,且每一个数据分片和每一个校验分片的长度均为M/X;A division unit 701, configured to equally divide the data with a length of 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 a 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 length of the i-th data fragment to the i-th storage node among the N storage nodes, wherein, i is a natural number greater than 1 and less than or equal to D, and D is X and the minimum of N;

分配单元703,用于当X大于N时,分别为X-N个数据分片和Y个校验分片中的每一个分片分配一个第一存储节点,第一存储节点为多个存储节点中除N个存储节点以外的任一存储节点。The allocating unit 703 is configured to allocate a first storage node to each of the X-N data fragments and Y verification fragments when X is greater than N, and the first storage node is a plurality of storage nodes except 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 a second storage node for each of the Y verification slices when X is not greater than N, and the second storage node is a plurality of Any storage node except X storage nodes among the storage nodes.

可选的,本发明的另一个实施例中,分配单元703用于当X大于N时,分别为X-N个数据分片和Y个校验分片中的每一个分片分配一个第一存储节点,第一存储节点为多个存储节点中除N个存储节点以外的任一存储节点;当X不大于N时,为Y个校验分片中的每一个分片分配一个第二存储节点,第二存储节点为多个存储节点中除X个存储节点以外的任一存储节点。Optionally, in another embodiment of the present invention, the allocation unit 703 is configured to allocate a first storage node to each of the X-N data fragments and Y verification fragments when X is greater than N , the first storage node is any storage node except N storage nodes among the plurality of storage nodes; when X is not greater than N, assign a second storage node to each of the Y verification slices, The second storage node is any storage node except 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 coordinating 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 storage node information that stores data with a length of M;

发送单元702,具体用于根据存储节点信息将第i个数据分片的起始地址和长度分别发送给N个存储节点中的第i个存储节点。The sending unit 702 is specifically configured to send the start address and length of the i-th data fragment to the i-th storage node among the N storage nodes according to the storage node information.

在本发明的另一个实施例中,接收单元704,还用于接收存储成功消息,存储成功消息由存储X个数据分片和Y个校验分片的存储节点中除协调存储节点以外的其他存储节点发送。In another embodiment of the present invention, the receiving unit 704 is also used to receive a storage success message, and the storage success message is sent by other storage nodes except the coordinating storage node that store X data fragments and Y verification fragments. Storage node sends.

在本发明的另一个实施例中,视图管理节点,用于对长度为M的数据进行哈希计算,得到哈希值;根据哈希值,确定长度为M的数据在哈希空间中的位置;以该位置为起点,将指定方向的N个存储节点作为存储长度为M的数据的存储节点;以该位置为起点,将指定方向的N个存储节点作为存储X个数据分片和Y个校验分片中的N个分片的存储节点。In another embodiment of the present invention, the view management node is used to perform hash calculation on the data with a length of M to obtain a hash value; according to the hash value, determine the position of the data with a length of M in the hash space ;Take this location as the starting point, use the N storage nodes in the specified direction as the storage nodes for storing data with a length of M; take this location as the starting point, use the N storage nodes in the specified direction as the storage nodes for storing X data fragments and Y Verify the storage nodes of N shards in the shard.

综上所述,本发明实施例提供的系统,在将数据由多副本存储模式转为EC存储模式进行存储时,无需将数据发送至专门的协调存储节点,而借助可作为数据协调节点的存储节点进行数据分发,大大减少了数据传输量,节省了系统内网络资源消耗。To sum up, when the system provided by the embodiment of the present invention converts data from multi-copy storage mode to EC storage mode for storage, it does not need to send data to a dedicated coordinating storage node, but uses the storage system that can be used as a data coordinating node Nodes distribute data, which greatly reduces the amount of data transmission and saves the consumption of network resources 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 for a coordinating storage node 900 used in one embodiment of the invention is shown. The coordinating storage node 900 is a server or a storage device. The coordinating storage node 900 includes a processor 901 , a memory 902 and a bus 903 , where the processor 901 and the memory 902 are connected through the bus 903 . Optionally, the coordinating storage node 900 also includes a basic input/output system (I/O system) 904 that helps to transmit information between various devices in the computing device and a system for storing operating systems, application programs, and other program modules. mass storage device 905 .

可选的,所述大容量存储设备905通过连接到总线903的大容量存储控制器(未示出)连接到处理器901。所述大容量存储设备905及其相关联的计算机可读介质为协调存储节点900提供非易失性存储。也就是说,所述大容量存储设备905可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。Optionally, the mass storage device 905 is connected to the processor 901 through a mass storage controller (not shown) connected to the bus 903 . The mass storage device 905 and its associated computer-readable media provide non-volatile storage for the coordinating storage node 900 . That is, the mass storage device 905 may include a computer readable medium (not shown) such as a hard disk or CD-ROM drive.

不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。Without loss of generality, such computer-readable media may comprise 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 includes 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. Certainly, those skilled in the art know that the computer storage medium is not limited to the above-mentioned ones.

根据本发明的各种实施例,所述协调存储节点900还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即协调存储节点900可以通过连接在所述总线903上的网络接口单元906连接到网络907,或者说,也可以使用网络接口单元906来连接到其他类型的网络或远程计算机系统(未示出)。其中,网络接口单元906可以为网卡(又称之为网络接口卡)或主机总线适配器等。According to various embodiments of the present invention, the coordinating storage node 900 can also run on a remote computer connected to the network through a network such as the Internet. That is, the coordinating storage node 900 can be connected to the network 907 through the network interface unit 906 connected to the bus 903, or in other words, the network interface unit 906 can also be used to connect to other types of networks or remote computer systems (not shown ). Wherein, the network interface unit 906 may be a network card (also referred to as a network interface card) or a host bus adapter or the like.

本发明实施例提供的计算机设备,在将数据由多副本存储模式转为EC存储模式进行存储时,无需将数据发送至专门的协调存储节点,而借助可作为数据协调节点的存储节点进行数据分发,大大减少了数据传输量,节省了系统内网络资源消耗。The computer equipment provided by the embodiment of the present invention, when converting data from the multi-copy storage mode to the EC storage mode for storage, does not need to send the data to a special coordinating storage node, but uses the storage node that can be used as a data coordinating node for data distribution , which greatly reduces the amount of data transmission and saves the consumption of network resources in the system.

需要说明的是:上述实施例提供的协调存储节点在存储数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将协调存储节点的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的协调存储节点与数据存储系统中的数据存储方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。It should be noted that when the coordinating storage node provided in the above embodiment stores data, it only uses the division of the above-mentioned functional modules as an example for illustration. The internal structure of the coordination storage node is divided into different functional modules to complete all or part of the functions described above. In addition, the coordinating storage node provided in the above embodiment is based on the same idea as the data storage method embodiment in the data storage system, and its specific implementation process is detailed in the method embodiment, and will not be repeated here.

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。Those of ordinary skill in the art can understand that all or part of the steps for implementing the above embodiments can be completed by hardware, and can also be completed by instructing related hardware through a program. The program can be stored in a computer-readable storage medium. The above-mentioned The storage medium mentioned may be a read-only memory, a magnetic disk or an optical disk, and the like.

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The above descriptions are only preferred embodiments of the present invention, and are not intended to limit the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present invention shall be included in the protection of the present invention. within range.

Claims (10)

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

Priority Applications (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
PCT/CN2017/081073 WO2018040583A1 (en) 2016-09-05 2017-04-19 Data storage method in data storage system and coordinating storage node

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN106383665A CN106383665A (en) 2017-02-08
CN106383665B true CN106383665B (en) 2018-05-11

Family

ID=57938089

Family Applications (1)

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

Country Status (2)

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

Families Citing this family (11)

* 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
CN112015583B (en) 2017-12-20 2022-06-28 华为云计算技术有限公司 A method, device and system for data storage
CN108647523B (en) * 2018-04-28 2020-01-17 华南理工大学 A blockchain-based electronic certification system and method for storing certificates and files
CN109062512B (en) * 2018-07-26 2022-02-18 郑州云海信息技术有限公司 Distributed storage cluster, data read-write method, system and related device
CN111309801A (en) * 2018-12-11 2020-06-19 航天信息股份有限公司 Method and device for fragmenting alliance chain
CN110149373B (en) * 2019-04-28 2022-01-07 平安科技(深圳)有限公司 Data storage method, device, medium and server based on peer-to-peer network
CN113691581B (en) * 2021-07-08 2023-05-09 杭州又拍云科技有限公司 An Efficient CDN Refresh Fragmentation Method
CN113609090B (en) * 2021-08-06 2024-06-18 杭州网易云音乐科技有限公司 Data storage method and device, computer readable storage medium and electronic equipment
CN113986944B (en) * 2021-12-29 2022-03-25 天地伟业技术有限公司 Method, system and electronic device for writing fragmented data

Citations (5)

* 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

Family Cites Families (1)

* 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

Patent Citations (5)

* 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

Also Published As

Publication number Publication date
WO2018040583A1 (en) 2018-03-08
CN106383665A (en) 2017-02-08

Similar Documents

Publication Publication Date Title
CN106383665B (en) Date storage method and coordination memory node in data-storage system
US9900387B2 (en) Distributed rebuilding of data in a dispersed storage network
US9927977B2 (en) Retrieving data segments from a dispersed storage network
US9749419B2 (en) Check operation dispersed storage network frame
US9152489B2 (en) Revision synchronization of a dispersed storage network
US9201732B2 (en) Selective activation of memory to retrieve data in a dispersed storage network
US11397668B2 (en) Data read/write method and apparatus, and storage server
US20170006099A1 (en) Using broadcast for parallelized and rapid slice replication in a dispersed storage network
US20120226667A1 (en) Determining a staleness state of a dispersed storage network local directory
US20170123856A1 (en) Threshold computing in a distributed computing system
KR20120018178A (en) Swarm-based synchronization of networked object stores
CN110825698B (en) Metadata management method and related device
CN105242879B (en) A kind of date storage method and protocol server
US10067831B2 (en) Slice migration in a dispersed storage network
CN110325958B (en) Data storage method and device in distributed block storage system and computer readable storage medium
US10409679B2 (en) Migrating data slices in a dispersed storage network
US10528282B2 (en) Modifying and utilizing a file structure in a dispersed storage network
JP7139347B2 (en) Method for Partial Update of Data Content in Scattered Storage Networks
CN112422630A (en) Cloud storage system and object processing method in cloud storage system
US20190004730A1 (en) Using index structure to guide load balancing in a distributed storage system
US11132340B2 (en) Storage unit selection of memory devices used for distributed storage network memory
US10956266B2 (en) Processing data access transactions in a dispersed storage network using source revision indicators
CN112948052B (en) Virtual machine migration method across data centers, data center and computer medium
US10140182B2 (en) Modifying allocation of storage resources in a dispersed storage network
CN118233472A (en) Block and node mapping method and device of block chain, medium and equipment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant