CN103561057A - 基于分布式哈希表和纠删码的数据存储方法 - Google Patents
基于分布式哈希表和纠删码的数据存储方法 Download PDFInfo
- Publication number
- CN103561057A CN103561057A CN201310480833.8A CN201310480833A CN103561057A CN 103561057 A CN103561057 A CN 103561057A CN 201310480833 A CN201310480833 A CN 201310480833A CN 103561057 A CN103561057 A CN 103561057A
- Authority
- CN
- China
- Prior art keywords
- block
- piece
- chunk
- key
- server
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000013500 data storage Methods 0.000 title abstract 4
- 238000012423 maintenance Methods 0.000 claims description 2
- 238000012217 deletion Methods 0.000 claims 1
- 230000037430 deletion Effects 0.000 claims 1
- 238000001514 detection method Methods 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 6
- 239000011159 matrix material Substances 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于分布式哈希表和纠删码的数据存储方法,主要涉及分布式存储领域。该方法包括以下步骤:存储系统对数据块的管理整体采用去中心化的分布式哈希表的结构;为保证可靠性,对数据块采用纠删码编码进行冗余存储;后台进程定期扫描数据来维护数据的一致性和冗余。本发明的基于分布式哈希表和纠删码的数据存储方法,具有去中心化的结构,比传统分布式存储系统具有更好的扩展性。同时,在保证数据可靠性的基础上,通过纠删码减少数据冗余带来的存储开销。
Description
技术领域
本发明涉及分布式存储领域,特别涉及一种基于纠删码以及分布式哈希表的数据存储方法,即去中心化存储的方法。
背景技术
分布式存储系统因其海量存储的优势,在互联网领域正逐渐取代传统的本地文件系统。亚马逊公司(Amazon)的Dynamo分布式存储引擎是另外一种典型的分布式存储系统,它的设计是完全去中心化的,具有非常良好的可扩展性和可用性,对外提供基于键值的key-value访问接口。Dynamo内部采用Chord协议来进行信息的路由,在P2P的环境下找到负责某个key对应的节点,同时在Chord中采用一致性哈希,使得整个系统具有较好的可扩展性。在Dynamo中,为了尽量保证数据随时可用,采用的是N副本的策略,每个数据都完全冗余的存储在key对应节点的后继节点列表上,通过Vector Clock和Quorum机制来保证数据的最终一致性。但是Dynamo比较适用于存储大规模的小数据(大小在1MB量级),不太适合提供大规模的中等或者大文件的存储。
Google File System(GFS)是典型的分布式文件系统,提供了一套类似传统文件系统的API接口,文件以分层目录的结构组织,用路径名来标识。同时在GFS中,文件的元数据信息存储在Master节点中,文件的数据信息按照64MB大小切分为若干个chunk块,由chunk 服务器存储和管理,chunk块采用三副本的方式存储。但是因为GFS中存在Master节点,所以当Master出现错误无法工作的时候,会导致整个分布式文件系统不能提供服务,同时对于大规模的小文件的存储,Master会成为瓶颈。在数据规模较大的时候,三副本这种设计方案会使得存储开销大大增加。
Dynamo提供了很好的可扩展性和可用性,但是比较适合存储大规模的小数据,GFS能够提供文件级别的存储,但是可能会存在单点失败的问题,所以,如何设计一个在保证可扩展性和可用性的基础上,又适合具有大规模元数据和数据的分布式存储系统是一个需要解决的技术问题。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提供一个具有高可扩展性,可用性,并兼具减少冗余数据块占用的大规模块存储块(block)层次的分布式存储系统。
(二)技术方案
为解决上述技术问题,本发明提供一种基于分布式哈希表和纠删码的数据存储方法,该方法包括以下步骤:
S1: 基于分布式哈希表(如Chord)建立各服务器节点的拓扑逻辑结构,通过一致性哈希算法,确定各个key对应的block块所在的服务器的位置,服务器的拓扑结构同Chord;
S2: 客户端采用纠删码(如Vandermonde RS Code编码)对原始数据进行编码,将每个键对应的block块编码为若干个chunk块,并通过写操作write()将编码后的若干个chunk块存储到多个服务器节点。每个block块都包含一个版本信息,每次对key对应的block块的写操作都是通过追加写的方式完成,即每次对block的写操作都会使对应的版本号加1。
进一步地,当客户端读取一个指定键对应的block块时,根据该指定键的键值通过读操作read()从相应的服务器节点中获取若干个(如k个,k=2)chunk块,利用纠删码对获取的若干个chunk块进行解码,将获取的若干个chunk块还原成block块。
S3: 每隔预设时间间隔(如10分钟),通过基于分布式哈希表的协议(如Chord协议)检测服务器节点的加入和离开,并依据纠删码的方式计算各个chunk块所在的服务器节点(即存储节点)的位置,维护数据的冗余块的个数保持在预定数量(如3个)。
优选的,block块包括两个属性:block块编号(block-ID)和block块版本号(block-Version),在本系统的设计中,block-ID的值和key的值相同;
优选的,chunk块包括两个属性:chunk块编号(chunk-ID)和chunk块在服务器的文件系统的存储路径chunk-Path,其中chunk-ID与纠删码(Erasure Code编码)中的m有关;
优选地,所述服务器中存储两个key-value表:路由表finger.tbl和数据块表block.tbl;
所述Chord中的路由信息存储在所述路由表finger.tbl中;
所述block的version信息和block块对应的chunk块在文件系统中的地址存储在所述数据块表block.tbl中。
优选地,所述block的版本号,以block-ID+"#"为键key,以block对应的最新版本号为值value,存储在chunk.tbl中;
所述block块对应的chunk块的记录,以block-ID+block-Version+chunk-ID为键key,以该chunk块在服务器的文件系统中的存储路径为值value;
优选地,一个读操作read(key)具体包括以下步骤:
S2.2.1:客户端发送read请求,服务器通过Chord协议确定key对应的管理该key对应的block的节点s1;
S2.2.2:s1访问chunk.tbl表,以key+"#"为键值key,确定对应的block最新的版本号block-Version;
S2.2.3:s1把read请求转发给s1的后继节点列表s1_successor_list(后继节点列表可以通过Chord协议得到);
S2.2.4:s1访问chunk.tbl表,以key+"$"+block-Version+"$"+chunk-ID为键值key,得到chunk块在s1上的路径chunk-Path,把对应的chunk块返回给客户端;
S2.2.5:后继节点列表s1_successor_list接收到请求之后,将进行S2.2.4中的操作,把chunk块返回给客户端;
S2.2.6:客户端根据返回的chunk块,通过Erasure Code解码,把数据还原。
(三)有益效果
本发明提供了一种基于纠删码的去中心化存储的设计方案,其采用Chord作为在p2p的环境下信息路由协议,具有较高的可扩展性和可用性;对数据的存储采用纠删码(Erasure Code)进行编码,有效的减少了在保证数据可靠性的前提下,存储的开销。在读写的过程中保证了读写的一致性,提供了一种最终一致性的解决方案。在本实现中采用的是Vandermonde RS Code编码,是Erasure Code的一种。
附图说明
图1是本发明中基于分布式哈希表和纠删码的数据存储方法的主体流程图。
图2是本发明中使用的Vandermonde RS Code编码的过程。
图3是本发明中使用的Vandermonde RS Code解码的过程。
图4是本发明中使用的路由表finger.tbl和基于Chord的分布式存储的拓扑逻辑结构。
图5是本发明实施例所述一个写入操作数据块表chunk.tbl的变化。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1是本发明中基于分布式哈希表和纠删码的数据存储方法的主体流程图。
步骤S1(节点创建步骤),通过分布式哈希表(如Chord)建立各服务器节点的拓扑逻辑结构(如图4所示),并通过一致性哈希算法,确定各个键(key)对应的block块(或称之为数据块)所在的服务器的位置。在本发明中,整个系统构建在本地的文件系统存储之上,数据块的管理对外提供get(key)返回数据块,put(key,block)写入数据块,read(key, offset, length)读出部分数据,以及write(key, offset, content)写入部分数据的内容。
其中,每个节点的服务器中存储两个key-value表:路由表(finger table,或称之为指针表)finger.tbl,数据块表chunk.tbl(或称之为block.tbl)。所述一致性哈希算法中,用于获取key对应的block所在服务器的信息,并将该信息存储在路由表finger.tbl中。参阅图4所示,所述路由表finger.tbl中,将block块对应的key(对应路由表中的“键”)的id称为RID,将服务器的id称为NID,以当前服务器的NID+2^Nk(即NID加上2的Nk次方,Nk范围为从0到log2(N),其中N为系统中服务器节点的个数)为key,将这个key看做是一个RID,那么以维护这个RID对应的服务器编号NID为value(对应路由表中的“值”)。如图4中,对于NID=0的服务器,路由表中包含三项,分别是Nk值为0,1,2时候的情形,以Nk=0的情况为例,在路由表中将会对应一条记录,这条记录的键key为NID+2^0 = 1,维护RID为1的服务器编号为1,所以对应的值value为1。
所述数据块表chunk.tbl用于存储所述block块的基本信息(或称之为基本属性记录),所述block块的基本信息,以block块标识(block-ID)为键key,以block块对应的最新的版本(block-Version)为值value。
步骤S2(数据写入步骤),客户端采用纠删码(Erasure Code编码,如Vandermonde RS Code编码)对原始数据进行编码,将每个键对应的block块编码为若干个chunk块(或称之为数据片),并通过写操作write()将编码后的若干个chunk块存储到多个服务器节点。其中,该若干个chunk块包含预定数量的数据冗余块(如1个)。每个block块都包含一个版本信息,每次对key对应的block块的写操作都是通过追加写的方式完成,即每次对block的写操作都会使对应的版本号加1。
所述数据块表chunk.tbl还用于存储所述chunk块的基本信息(或称之为基本属性记录)和该chunk块在服务器的文件系统上的存储路径。所述chunk块的基本信息,以block块标识(block-ID)+ "$" + block块版本(block-Version)+ "$" + chunk块标识(chunk-ID)为键key,以chunk块在服务器的文件系统上的存储路径为值value。其中,chunk-ID与Erasure Code编码中的参数m有关(详见对步骤S2的具体描述)。
进一步地,该方法还包括数据读取步骤:当客户端读取一个指定键对应的block块时,根据该指定键的键值通过读操作read()从相应的服务器节点中获取若干个chunk块,利用纠删码对获取的若干个chunk块进行解码,将获取的若干个chunk块还原成block块。
步骤S3(数据维护步骤),每隔预设时间间隔(如10分钟),通过基于分布式哈希表的协议(如Chord协议)检测服务器节点的加入和离开(即增加和删除),并依据纠删码的方式计算各个chunk块所在的服务器节点(即存储节点)的位置,维护数据冗余块的个数保持在该预定数量(如1个)。
下面详细介绍步骤S2中的写操作write()和读操作read()的具体方法步骤。
对于一个写操作write(key1,block1)的详细步骤如下:
S2.1.1:客户端对这个block块进行Vandermonde RS Code编码,得到m个chunk块,其中有m-k个冗余chunk块(m和k可配置)。编码过程如图2,图2中m=3,k=2,原始的数据块为D,D可以看作是两个小的数据块D1和D2构成的向量,矩阵B为Vandermonde矩阵,经过矩阵乘法之后得到3个数据块D1、D2和C1,数据块C1为冗余块;
S2.1.2:客户端发送写请求,服务器通过Chord协议,查找路由表finger.tbl(如图4),得到key1对应的管理该block块的节点s1(每个节点对应一台服务器),通过访问s1上的数据块表chunk.tbl得到当前block块的版本为1,通过Chord协议可以得到s1节点的后继m-1个节点s1_successor_list,将这些信息返回给客户端;
S2.1.3:客户端将编码后的chunk块并行的写到s1和s1_successor_list中,每个节点写入一个chunk块,同时将block-ID+block-Version+chunk-ID(如key1+ "$" + 2 + "$"+ chunk1)作为键值key,以chunk块在文件系统中的存储路径/root/key1_chunk4.data为值value写入chunk.tbl中,其他节点同理。在键值中,采用"$"作为分割各个属性的分割字符,分割字符还可以为“*”、“#”、“”等其他字符,但是其必须区分于本发明实施例的其他特殊字符;
S2.1.4:当所有chunk块写入成功之后,更新block块的版本号(通过更新版本号来确认写block成功),以key1为键值key,1+1=2为值value写入chunk.tbl中,这个时候key1对应的block块的版本就是2了(如图5)。
对于一个读操作read(key1)的详细步骤如下:
S2.2.1:客户端发送read请求,服务器通过Chord协议从路由表finger.tbl中确定管理该指定键key1对应的block块的节点s1;
S2.2.2:s1访问chunk.tbl表,以key1+"#"为键值key,确定对应的block最新的版本号block-Version为2;
S2.2.3:s1把read请求转发给s1的后继节点列表s1_successor_list;
S2.2.4:s1访问chunk.tbl表,以key+"$"+block-Version+"$"+chunk-ID(如key1 + "$" + 2 + "$" + chunk1)为键值key,得到chunk块在s1上的存储路径是/root/key1_chunk4.data,把对应的chunk块返回给客户端;
S2.2.5:后继节点列表s1_successor_list接收到请求之后,将进行S2.2.4中的操作,把chunk块返回给客户端,本实施例从后继节点列表中选取k个节点执行步骤S2.2.4,k为预设值(如k=2);
S2.2.6:客户端根据返回的chunk块,通过Vandermonde RS Code解码,把数据还原。解码过程如图3,图3中对应m=3,k=2的情况,通过对B矩阵的一部分求逆得到矩阵B'-1,客户端返回两个chunk块,分别是D1和C1,这时候,将B'-1和D1与C1构成的矩阵做乘法就能够将原始的数据D1和D2还原。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (7)
1.一种基于分布式哈希表和纠删码的数据存储方法,其特征在于,该方法包括如下步骤:
节点创建步骤: 通过分布式哈希表建立各服务器节点的拓扑逻辑结构,并通过一致性哈希算法,确定各个键key对应的block块所在的服务器的位置;
数据写入步骤: 客户端采用纠删码对原始数据进行编码,将每个键对应的block块编码为若干个chunk块,并通过写操作将编码后的若干个chunk块存储到多个服务器节点,其中,该若干个chunk块包含预定数量的数据冗余块;及
数据维护步骤: 每隔预设时间间隔,通过基于分布式哈希表的协议检测服务器节点的增加和删除,并依据纠删码的方式计算各个chunk块所在的服务器节点的位置,维护数据冗余块的个数保持在该预定数量。
2.如权利要求1所述的基于分布式哈希表和纠删码的数据存储方法,其特征在于:
每个节点的服务器中存储有一个路由表和一个数据块表;
所述路由表存储各个键对应的block块所在服务器的路由信息,将该block块对应的键key的id称为RID,将服务器的id称为NID;
所述数据块表存储block块的基本信息、chunk块的基本信息和chunk块在服务器的文件系统中的存储路径。
3.如权利要求2所述的基于分布式哈希表和纠删码的数据存储方法,其特征在于:
所述block块的基本信息通过以下方式记录,以block块标识block-ID为键key,以block块对应的最新的版本block-Version为值value;
所述chunk块的基本信息通过以下方式记录,以block-ID + "$" + block-Version+ "$" + chunk块标识chunk-ID 为键key,以chunk块在服务器的文件系统中的存储路径为值value,其中,"$"为分割各个属性的分割字符。
4.如权利要求2所述的基于分布式哈希表和纠删码的数据存储方法,其特征在于:
所述路由表中,以当前服务器的NID+2^Nk为键key,将这个key作为一个RID,以维护这个RID对应的服务器编号NID为value,Nk取值为从0到log2(N),N为系统中服务器节点的个数。
5.如权利要求1所述的基于分布式哈希表和纠删码的数据存储方法,其特征在于, 所述数据写入步骤包括:
客户端将block块通过纠删码,产生m个chunk块,其中,数据冗余块为m-k个,m和k为预设值;
通过基于分布式哈希表的协议,从路由表中查找到键key对应的服务器s1;
将第一个chunk块传输到对应的服务器上,依次将后续的chunk块传输到s1的后继节点列表上;及
在数据块表中更新block块对应的版本号。
6.如权利要求1所述的基于分布式哈希表和纠删码的数据存储方法,其特征在于, 该方法还包括:
数据读取步骤: 当客户端读取一个指定键key对应的block块时,根据该指定键的键值通过读操作从相应的服务器节点中获取若干个chunk块,利用纠删码对获取的若干个chunk块进行解码,将获取的若干个chunk块还原成block块。
7.如权利要求6所述的基于分布式哈希表和纠删码的数据存储方法,其特征在于,所述数据读取步骤包括:
通过基于分布式哈希表的协议,从路由表中找到对应的管理该指定键key对应block块的服务器s1;
从数据块表中获取当前block块最新的版本号;
从s1及其后继节点列表中选取k个节点,每个节点根据数据块表中记录的信息,查找到block块标识和block块最新版本对应的chunk块在服务器的文件系统中的存储路径,将对应的chunk块返回给客户端;及
客户端获取k个chunk块,利用纠删码对该k个chunk块进行解码,将该k个chunk块还原成block块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310480833.8A CN103561057A (zh) | 2013-10-15 | 2013-10-15 | 基于分布式哈希表和纠删码的数据存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310480833.8A CN103561057A (zh) | 2013-10-15 | 2013-10-15 | 基于分布式哈希表和纠删码的数据存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103561057A true CN103561057A (zh) | 2014-02-05 |
Family
ID=50015207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310480833.8A Pending CN103561057A (zh) | 2013-10-15 | 2013-10-15 | 基于分布式哈希表和纠删码的数据存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103561057A (zh) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104407807A (zh) * | 2014-10-24 | 2015-03-11 | 华中科技大学 | 一种针对rs编码存储集群的存储扩容方法 |
CN105138281A (zh) * | 2015-08-05 | 2015-12-09 | 华为技术有限公司 | 一种物理磁盘的共享方法及装置 |
CN105824721A (zh) * | 2016-03-14 | 2016-08-03 | 浙江宇视科技有限公司 | 一种数据存储系统及其存储纠删方法 |
CN105930545A (zh) * | 2016-06-29 | 2016-09-07 | 浙江宇视科技有限公司 | 一种文件迁移的方法和装置 |
CN106302573A (zh) * | 2015-05-14 | 2017-01-04 | 杭州海康威视系统技术有限公司 | 一种采用擦除码处理数据的方法、系统及装置 |
CN106708651A (zh) * | 2016-11-16 | 2017-05-24 | 北京三快在线科技有限公司 | 基于纠删码的部分写入方法及装置、存储介质、设备 |
CN107357921A (zh) * | 2017-07-21 | 2017-11-17 | 北京奇艺世纪科技有限公司 | 一种小文件存储定位方法及系统 |
CN107547657A (zh) * | 2017-09-27 | 2018-01-05 | 柏科数据技术(深圳)股份有限公司 | 一种基于云存储系统中单点数据编号的方法、装置以及存储介质 |
CN107707643A (zh) * | 2017-09-27 | 2018-02-16 | 柏域信息科技(上海)有限公司 | 一种数据存储系统中更新数据的方法及装置 |
CN108011967A (zh) * | 2017-12-15 | 2018-05-08 | 四川长虹电器股份有限公司 | 基于aws微服务的图片上传方法 |
CN108234173A (zh) * | 2016-12-21 | 2018-06-29 | 中国电信股份有限公司 | 节点副本更新方法和装置 |
CN109491594A (zh) * | 2018-09-28 | 2019-03-19 | 北京寄云鼎城科技有限公司 | 矩阵求逆过程中优化数据存储空间的方法和装置 |
WO2019057081A1 (zh) * | 2017-09-21 | 2019-03-28 | 杭州海康威视系统技术有限公司 | 数据存储方法、数据查询方法、计算机设备及存储介质 |
CN109542939A (zh) * | 2018-11-21 | 2019-03-29 | 中国人民解放军国防科技大学 | 一种基于纠删码的count-min摘要方法及装置 |
CN109558079A (zh) * | 2018-11-19 | 2019-04-02 | 郑州云海信息技术有限公司 | 一种分布式存储系统处理操作请求的方法及装置 |
CN109871366A (zh) * | 2019-01-17 | 2019-06-11 | 华东师范大学 | 一种基于纠删码的区块链分片存储与查询方法 |
CN110169008A (zh) * | 2018-07-10 | 2019-08-23 | 深圳花儿数据技术有限公司 | 一种基于一致性哈希算法的分布式数据冗余存储方法 |
CN110188007A (zh) * | 2019-06-05 | 2019-08-30 | 深圳市网心科技有限公司 | 分布式数据修复方法、装置、网络节点及存储介质 |
CN110943803A (zh) * | 2019-12-09 | 2020-03-31 | 西南交通大学 | 一种基于纠删编码的数据传输控制方法 |
CN111177092A (zh) * | 2019-12-09 | 2020-05-19 | 成都信息工程大学 | 一种基于纠删码的重复数据删除方法及装置 |
US10740198B2 (en) | 2016-12-22 | 2020-08-11 | Purdue Research Foundation | Parallel partial repair of storage |
CN112100146A (zh) * | 2020-09-21 | 2020-12-18 | 重庆紫光华山智安科技有限公司 | 一种高效的纠删分布式存储写入方法、系统、介质及终端 |
CN113326006A (zh) * | 2021-06-17 | 2021-08-31 | 上海天玑科技股份有限公司 | 一种基于纠删码的分布式块存储系统 |
CN114331395A (zh) * | 2021-12-22 | 2022-04-12 | 南京航空航天大学 | 一种基于纠删码的区块链数据分组存储优化结构及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101630282A (zh) * | 2009-07-29 | 2010-01-20 | 国网电力科学研究院 | 一种基于Erasure编码和副本技术的数据备份方法 |
CN101645039A (zh) * | 2009-06-02 | 2010-02-10 | 中国科学院声学研究所 | 一种基于彼得森图的数据存储和读取方法 |
CN101840377A (zh) * | 2010-05-13 | 2010-09-22 | 上海交通大学 | 基于rs纠删码的数据存储方法 |
CN102270161A (zh) * | 2011-06-09 | 2011-12-07 | 华中科技大学 | 一种基于纠删码的多等级容错数据存储、读取和恢复方法 |
CN102546755A (zh) * | 2011-12-12 | 2012-07-04 | 华中科技大学 | 云存储系统的数据存储方法 |
CN102681793A (zh) * | 2012-04-16 | 2012-09-19 | 华中科技大学 | 一种基于纠删码集群存储系统的局部式数据更新方法 |
CN103209210A (zh) * | 2013-03-04 | 2013-07-17 | 华中科技大学 | 一种提高基于纠删码的存储集群恢复性能的方法 |
-
2013
- 2013-10-15 CN CN201310480833.8A patent/CN103561057A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101645039A (zh) * | 2009-06-02 | 2010-02-10 | 中国科学院声学研究所 | 一种基于彼得森图的数据存储和读取方法 |
CN101630282A (zh) * | 2009-07-29 | 2010-01-20 | 国网电力科学研究院 | 一种基于Erasure编码和副本技术的数据备份方法 |
CN101840377A (zh) * | 2010-05-13 | 2010-09-22 | 上海交通大学 | 基于rs纠删码的数据存储方法 |
CN102270161A (zh) * | 2011-06-09 | 2011-12-07 | 华中科技大学 | 一种基于纠删码的多等级容错数据存储、读取和恢复方法 |
CN102546755A (zh) * | 2011-12-12 | 2012-07-04 | 华中科技大学 | 云存储系统的数据存储方法 |
CN102681793A (zh) * | 2012-04-16 | 2012-09-19 | 华中科技大学 | 一种基于纠删码集群存储系统的局部式数据更新方法 |
CN103209210A (zh) * | 2013-03-04 | 2013-07-17 | 华中科技大学 | 一种提高基于纠删码的存储集群恢复性能的方法 |
Non-Patent Citations (5)
Title |
---|
付东华: "基于HDFS的海量分布式文件系统的研究与优化", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
张小虎: "基于DHT的数据冗余存储技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
朱辉: "面向互联网的多型文件融合存储系统", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
王亚民 等: "一种基于P2P的云存储模型研究", 《现代图书情报技术》 * |
肖哲锋: "基于Erasure Code的高可用分布式存储系统的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104407807A (zh) * | 2014-10-24 | 2015-03-11 | 华中科技大学 | 一种针对rs编码存储集群的存储扩容方法 |
CN104407807B (zh) * | 2014-10-24 | 2017-06-27 | 华中科技大学 | 一种针对rs编码存储集群的存储扩容方法 |
CN106302573A (zh) * | 2015-05-14 | 2017-01-04 | 杭州海康威视系统技术有限公司 | 一种采用擦除码处理数据的方法、系统及装置 |
CN105138281A (zh) * | 2015-08-05 | 2015-12-09 | 华为技术有限公司 | 一种物理磁盘的共享方法及装置 |
CN105138281B (zh) * | 2015-08-05 | 2018-12-07 | 华为技术有限公司 | 一种物理磁盘的共享方法及装置 |
WO2017020668A1 (zh) * | 2015-08-05 | 2017-02-09 | 华为技术有限公司 | 一种物理磁盘的共享方法及装置 |
CN105824721A (zh) * | 2016-03-14 | 2016-08-03 | 浙江宇视科技有限公司 | 一种数据存储系统及其存储纠删方法 |
CN105824721B (zh) * | 2016-03-14 | 2019-07-12 | 浙江宇视科技有限公司 | 一种数据存储系统及其存储纠删方法 |
CN105930545A (zh) * | 2016-06-29 | 2016-09-07 | 浙江宇视科技有限公司 | 一种文件迁移的方法和装置 |
CN105930545B (zh) * | 2016-06-29 | 2019-07-16 | 浙江宇视科技有限公司 | 一种文件迁移的方法和装置 |
US11119849B2 (en) | 2016-11-16 | 2021-09-14 | Beijing Sankuai Online Technology Co., Ltd | Erasure code-based partial write-in |
CN106708651B (zh) * | 2016-11-16 | 2020-09-11 | 北京三快在线科技有限公司 | 基于纠删码的部分写入方法及装置、存储介质、设备 |
CN106708651A (zh) * | 2016-11-16 | 2017-05-24 | 北京三快在线科技有限公司 | 基于纠删码的部分写入方法及装置、存储介质、设备 |
CN108234173B (zh) * | 2016-12-21 | 2021-05-04 | 中国电信股份有限公司 | 节点副本更新方法和装置 |
CN108234173A (zh) * | 2016-12-21 | 2018-06-29 | 中国电信股份有限公司 | 节点副本更新方法和装置 |
US10740198B2 (en) | 2016-12-22 | 2020-08-11 | Purdue Research Foundation | Parallel partial repair of storage |
CN107357921A (zh) * | 2017-07-21 | 2017-11-17 | 北京奇艺世纪科技有限公司 | 一种小文件存储定位方法及系统 |
WO2019057081A1 (zh) * | 2017-09-21 | 2019-03-28 | 杭州海康威视系统技术有限公司 | 数据存储方法、数据查询方法、计算机设备及存储介质 |
CN107547657A (zh) * | 2017-09-27 | 2018-01-05 | 柏科数据技术(深圳)股份有限公司 | 一种基于云存储系统中单点数据编号的方法、装置以及存储介质 |
CN107707643A (zh) * | 2017-09-27 | 2018-02-16 | 柏域信息科技(上海)有限公司 | 一种数据存储系统中更新数据的方法及装置 |
CN108011967A (zh) * | 2017-12-15 | 2018-05-08 | 四川长虹电器股份有限公司 | 基于aws微服务的图片上传方法 |
WO2020010502A1 (zh) * | 2018-07-10 | 2020-01-16 | 深圳花儿数据技术有限公司 | 一种基于一致性哈希算法的分布式数据冗余存储方法 |
CN110169008B (zh) * | 2018-07-10 | 2022-06-03 | 深圳花儿数据技术有限公司 | 一种基于一致性哈希算法的分布式数据冗余存储方法 |
CN110169008A (zh) * | 2018-07-10 | 2019-08-23 | 深圳花儿数据技术有限公司 | 一种基于一致性哈希算法的分布式数据冗余存储方法 |
CN109491594A (zh) * | 2018-09-28 | 2019-03-19 | 北京寄云鼎城科技有限公司 | 矩阵求逆过程中优化数据存储空间的方法和装置 |
CN109491594B (zh) * | 2018-09-28 | 2021-12-03 | 北京寄云鼎城科技有限公司 | 矩阵求逆过程中优化数据存储空间的方法和装置 |
CN109558079A (zh) * | 2018-11-19 | 2019-04-02 | 郑州云海信息技术有限公司 | 一种分布式存储系统处理操作请求的方法及装置 |
CN109542939B (zh) * | 2018-11-21 | 2020-09-01 | 中国人民解放军国防科技大学 | 一种基于纠删码的count-min摘要方法及装置 |
CN109542939A (zh) * | 2018-11-21 | 2019-03-29 | 中国人民解放军国防科技大学 | 一种基于纠删码的count-min摘要方法及装置 |
CN109871366B (zh) * | 2019-01-17 | 2021-09-10 | 华东师范大学 | 一种基于纠删码的区块链分片存储与查询方法 |
CN109871366A (zh) * | 2019-01-17 | 2019-06-11 | 华东师范大学 | 一种基于纠删码的区块链分片存储与查询方法 |
CN110188007A (zh) * | 2019-06-05 | 2019-08-30 | 深圳市网心科技有限公司 | 分布式数据修复方法、装置、网络节点及存储介质 |
CN111177092A (zh) * | 2019-12-09 | 2020-05-19 | 成都信息工程大学 | 一种基于纠删码的重复数据删除方法及装置 |
CN110943803B (zh) * | 2019-12-09 | 2021-10-08 | 西南交通大学 | 一种基于纠删编码的数据传输控制方法 |
CN110943803A (zh) * | 2019-12-09 | 2020-03-31 | 西南交通大学 | 一种基于纠删编码的数据传输控制方法 |
CN112100146B (zh) * | 2020-09-21 | 2021-06-29 | 重庆紫光华山智安科技有限公司 | 一种高效的纠删分布式存储写入方法、系统、介质及终端 |
CN112100146A (zh) * | 2020-09-21 | 2020-12-18 | 重庆紫光华山智安科技有限公司 | 一种高效的纠删分布式存储写入方法、系统、介质及终端 |
CN113326006A (zh) * | 2021-06-17 | 2021-08-31 | 上海天玑科技股份有限公司 | 一种基于纠删码的分布式块存储系统 |
CN113326006B (zh) * | 2021-06-17 | 2023-09-29 | 上海天玑科技股份有限公司 | 一种基于纠删码的分布式块存储系统 |
CN114331395A (zh) * | 2021-12-22 | 2022-04-12 | 南京航空航天大学 | 一种基于纠删码的区块链数据分组存储优化结构及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103561057A (zh) | 基于分布式哈希表和纠删码的数据存储方法 | |
CN110169040B (zh) | 基于多层一致性哈希的分布式数据存储方法与系统 | |
US10467095B2 (en) | Engaging a delegate for modification of an index structure | |
US9767109B2 (en) | Secure data migration in a dispersed storage network | |
US10387382B2 (en) | Estimating a number of entries in a dispersed hierarchical index | |
US7702640B1 (en) | Stratified unbalanced trees for indexing of data items within a computer system | |
JP6198210B2 (ja) | コンピュータ実装された動的シャーディング方法 | |
US10852957B2 (en) | Migration agent employing moveslice request | |
CN110096891B (zh) | 对象库中的对象签名 | |
US10013444B2 (en) | Modifying an index node of a hierarchical dispersed storage index | |
US9104560B2 (en) | Two level addressing in storage clusters | |
US10620830B2 (en) | Reconciling volumelets in volume cohorts | |
US9146810B2 (en) | Identifying a potentially compromised encoded data slice | |
US10671585B2 (en) | Storing indexed data to a dispersed storage network | |
CN102708165B (zh) | 分布式文件系统中的文件处理方法及装置 | |
US11093387B1 (en) | Garbage collection based on transmission object models | |
CN104794123A (zh) | 一种为半结构化数据构建NoSQL数据库索引的方法及装置 | |
US20180074903A1 (en) | Processing access requests in a dispersed storage network | |
JP2015512604A (ja) | 暗号ハッシュ・データベース | |
AU2013274626A1 (en) | Erasure coding and replication in storage clusters | |
US20180329785A1 (en) | File system storage in cloud using data and metadata merkle trees | |
CN103533055A (zh) | 一种基于网络编码的低冗余云存储系统及其实现方法 | |
CN104965835A (zh) | 一种分布式文件系统的文件读写方法及装置 | |
Lee et al. | Erasure coded storage systems for cloud storage—challenges and opportunities | |
CN109542860B (zh) | 基于hdfs的业务数据管理方法、终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140205 |
|
RJ01 | Rejection of invention patent application after publication |