CN105930103A - 一种分布式存储ceph的纠删码覆盖写方法 - Google Patents

一种分布式存储ceph的纠删码覆盖写方法 Download PDF

Info

Publication number
CN105930103A
CN105930103A CN201610305978.8A CN201610305978A CN105930103A CN 105930103 A CN105930103 A CN 105930103A CN 201610305978 A CN201610305978 A CN 201610305978A CN 105930103 A CN105930103 A CN 105930103A
Authority
CN
China
Prior art keywords
data
write
read
block
node
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.)
Granted
Application number
CN201610305978.8A
Other languages
English (en)
Other versions
CN105930103B (zh
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.)
Nanjing University
State Grid Corp of China SGCC
State Grid Shanghai Electric Power Co Ltd
Nanjing NARI Group Corp
Original Assignee
Nanjing University
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 Nanjing University filed Critical Nanjing University
Priority to CN201610305978.8A priority Critical patent/CN105930103B/zh
Publication of CN105930103A publication Critical patent/CN105930103A/zh
Application granted granted Critical
Publication of CN105930103B publication Critical patent/CN105930103B/zh
Expired - Fee Related 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种分布式存储CEPH的纠删码覆盖写方法,首先客户端节点发送写请求到Ceph的存储节点中的主OSD,主OSD自动选择最优编码方案后计算需要读取的数据块,并根据客户端id和对象id,从缓存中读取数据块返回主OSD;接着主OSD在接收完所有需要的读数据块后,更新数据块和校验块,发送到需要更新的对应OSD;然后数据块节点和校验块节点接收写请求,分配原始数据块附近的新存储位置存储新更新,并记录本次写请求元数据到日志PGLOG,数据和日志落盘后发送ACK给主OSD;最后主OSD接收所有更新节点的ACK后,记录本次更新元数据到内存,并回复ACK给客户端完成写请求。本发明解决了分布式存储系统CEPH不支持纠删码覆盖写的问题。

Description

一种分布式存储CEPH的纠删码覆盖写方法
技术领域
本发明涉及分布式存储领域,特别涉及一种分布式存储CEPH的纠删码覆盖写方法。
背景技术
传统分布式存储采用多副本的存储技术,通过一份数据保存多份来提供高可靠性。多副本带来高可靠性的同时,存储代价也是多倍的。纠删码作为以更小的存储代价获得相同可靠性的方法,已经得到越来越多的应用。
目前纠删码的主要应用领域是冷数据存储,读写模式多为一次写多次读,文件只支持在末尾添加数据的追加模式。追加写的修改模式和写全新文件类似,而纠删码的覆盖写,涉及到数据块的更新和校验块的更新,数据块的更新替换对应偏移数据即可,校验块的更新有两种方式:1)重构写:读取更新数据对应编码条带中不涉及更新的数据,合并新数据后重新编码,得到新的校验块,需要读一次数据块,写一次数据块和一次校验块;2)增量写:利用纠删码的线性性,读取更新数据范围的原始数据,计算原始数据块和更新数据差值并乘以编码系数得到ΔP,再读取校验块P,计算他们的和得到新校验块数据P’,即P’=P+ΔP,需要读取一次数据块和校验块,写一次数据块和一次校验块。两种更新方式中,都需要先读取部分数据,才能重新计算新的校验块。
在分布式系统中,通常采用RS(k,m)的纠删码,即原始数据切片k块,编码出m块校验块,分别存储到k+m个节点中。纠删码覆盖写,需要至少m+1个节点的参与,包括1个数据节点,m个校验块节点。当覆盖数据范围变大时,需要的节点数也会更多。RS(k,m)的纠删码至多容忍m个节点丢失,需要k个节点才能解码原始数据,所以覆盖写更新需要保持至少k个节点数据版本一致,才能保证更新不会造成数据丢失。
纠删码的复杂更新方式使其很少在实际分布式系统中,但随着纠删码越来越多的应用于多读多写的场景,将传统的将覆盖写转化成追加或者全读全覆盖的方式,耗费大量磁盘开销和网络开销。
发明内容
发明目的:针对现有技术中存在的问题,本发明提供一种基于分布式存储CEPH的纠删码覆盖写方法,解决了分布式存储系统CEPH不支持纠删码覆盖写的问题。
技术方案:为实现上述目的,本发明提出一种分布式存储CEPH的纠删码覆盖写方法,包括以下步骤:
步骤1:客户端节点发送写请求到Ceph的存储节点中的主OSD,主OSD自动选择最优编码方案(重构写或者增量写)后,计算需要读取的数据块,并根据客户端id和对象id,从缓存中读取数据块返回主OSD;
该方法确定最优编码方案的具体步骤为:
1)计算写请求涉及的编码条带范围:首先对齐写请求偏移到所在编码条带的首位置;然后根据写请求长度计算写范围的末尾偏移,并对齐到所在条带的末位置;最后根据对齐后的首偏移和尾偏移,得到覆盖写请求的条带覆盖范围偏移和长度;
2)根据写请求的偏移和长度结合条带覆盖范围,计算不同编码方案需要预先读取的数据量:重构写需要读取数据量=对齐后计算得到的范围减去实际更新数据量;增量写需要读取数据量=实际更新数据量;
3)根据需要读取的数据量动态选择编码方案:若对齐后计算得到的范围超过2个编码条带且至少有1个条带已经全覆盖,或者重构读取数据量小于增量写读取数据量,则采用重构写;否则,采用增量写。
该方法主OSD从缓存中读取数据块的具体方法为:
1)根据请求客户端cid检索缓存组,如果存在,则直接提取,如果没有则分配新的缓存组,如果空间足够,则直接分配,如果已分配数超过预定客户端缓存数时,从LRU链表中删除末尾客户端id,新建当前客户端cid的缓存组索引,并加入LRU结构;
2)从缓存组中,根据对象oid和读取范围对应的数据块序号num检索Hashmap的索引结构,如果存在对应数据块,则直接返回;如果不存在,则发起读请求,在读数据返回后将数据块加入缓存组,在缓存满时,根据LRU算法删除最近最久未使用的数据块。
步骤2:主OSD在接收完所有需要的读数据块后,将数据块存入缓存结构,并根据对应编码方法计算校验块更新所需的数据,然后更新数据块和校验块,发送到需要更新的对应OSD;
该方法选择不同的编码方案时,更新校验块所需的数据量和方法不同,具体为:采用重构写时,读取覆盖写范围以外的条带数据,在读取对应数据后,和覆盖数据合并成新的完整块,编码出新的校验块;采用增量写时,读取覆盖写范围以内的条带数据,直接读取新数据并返回,在读取对应数据后,计算覆盖数据D’和原始数据D的有限域差值ΔD,然后计算ΔD乘以对应编码系数的有限域乘后发送到对应的校验块存储节点。
步骤3:数据块节点和校验块节点接收写请求,分配原始数据块附近的新存储位置存储新更新,并记录本次写请求元数据到日志PGLOG,数据和日志落盘后发送ACK给主OSD。
步骤4:主OSD接收所有更新节点的ACK后,记录本次更新元数据到内存,并回复ACK给客户端,完成写请求。
当主OSD接收所有更新节点的ACK回复超,即更新失败时,该方法还包括恢复数据的步骤,采用基于PGLOG日志的回滚机制恢复数据,具体为:
1)PG层周期性进行Peering操作,拉取同组各OSD的PGLOG版本,对比各OSD的版本是否和权威版本一致,若一致,则不做处理,若不一致,则发送PGLOG权威版本到不一致节点;
2)不一致节点收到Peering后的权威PGLOG,进行本地的PGLOG对比合并,发现本地版本超前后,遍历超前的PGLOG,将其加入to_rollback列表;
3)处理完PGLOG版本后,PGLogEntryHandler遍历to_rollback列表,读取每一条pglog的回滚信息,并调用对应的回滚函数,读取pglog中记录的对象id,版本v,根据id和v索引更新时新分配的存储块,然后删除存储块;
4)所有超前pglog回滚完成后,删除这部分pglog,更新本地pglog为权威版本。
该方法不同编码方案对应的更新后校验块读取过程不同,具体为:
1)根据对象id查找主节点的元数据信息对应的更新记录,遍历更新记录,检查是否和读请求偏移和长度有重叠,如果没有重叠,则按原始方法直接构造读请求发送对应节点;如果有重叠,则跳转步骤2;
2)计算读请求和各重叠部分相关的偏移和长度,将这些构造为读请求的额外读中,根据数据块大小将读请求和额外读划分到各个分片的读请求中,并发送对应各节点;校验块节点根据读请求和额外读请求,读取对应对象数据,并将额外读请求数据按版本从小到大顺序合并入原始数据,合并过程中,检查额外读数据元数据信息中的更新方法,如果是重构写,则直接合并,如果是增量写,则计算对应位置原始数据和额外读数据的和,再合并,然后返回主节点。
有益效果:本发明结合了CEPH系统的纠删码框架和恢复框架,以日志形式存储覆盖数据,利用日志回滚机制解决更新失败时数据一致性问题;结合动态选择编码方案,自适应大块写和小块写的复杂场景;利用主节点的缓存机制,减少频繁局部写时的预读请求,以及通过隔离不同客户端的缓存,防止大块写影响小块写的命中率。这些机制的配合从整体上可以减少纠删码覆盖写的磁盘开销和网络开销。
附图说明
图1是CEPH中纠删码条带存储示意图;
图2是CEPH中纠删码覆盖写请求时序图;
图3是CEPH中纠删码覆盖写的重构更新方式示意图;
图4是CEPH中纠删码覆盖写的增量更新方式示意图。
具体实施方式
下面结合实施例对本发明做更进一步的说明。
分布式存储CEPH的纠删码覆盖写方法,具体包括如下步骤:
1、客户端节点根据CEPH的CRUSH算法和节点映射,将写请求的对象id定位到数据存储的主OSD,然后将写请求包括对象id,偏移offset,长度length和数据buffer等发送到的主OSD。
2、主OSD从网络消息中解析出写请求,经过PG层事务处理后,进入纠删码后端处理,判断是覆盖写后进入新的写路径,然后以对象id为key为覆盖写请求构造状态机,并对该对象的加写锁。
3、状态机进入读状态,首先计算写请求涉及的编码条带范围,具体步骤:(1)对齐写请求偏移到所在编码条带的首位置;(2)根据写请求长度计算写范围的末尾偏移,并对齐到所在条带的末位置;(3)根据对齐后的首偏移off_begin和尾偏移off_end,得到覆盖写请求的条带覆盖范围偏移和长度(off_begin,off_end–off_begin)。
4、主OSD根据写请求的偏移和长度结合条带覆盖范围,计算不同编码方案需要预先读取的数据量:(1)重构写需要读取数据量:对齐后计算得到的范围减去实际更新数据量,得到重构写需要读取的数据量;(2)增量写需要读取数据量:实际更新数据量即为增量需要读取的数据量;
然后,根据需要读取的数据量动态选择编码方案,具体方法为:(1)如果对齐后计算得到的范围超过2个编码条带,至少有1个条带已经全覆盖,则直接采用重构写;(2)如果前述计算得到的重构读取数据量小于增量写读取数据量时,则采用重构写;(3)以上情况以外的采用增量写。
5、主OSD根据偏移、长度和不同更新方案计算预读范围,具体为:(1)重构写的读取范围:对齐后的首偏移off_begin到请求偏移offset之间为前段读取范围,偏移off_begin,长度(offset–off_begin);请求尾偏移offset+length到对齐后的尾偏移off_end之间为后端读取范围,偏移(offset+length),长度(off_end–offset–length);(2)增量写的读取范围就是实际覆盖写的范围,偏移offset,长度length;
然后检查缓存中是否存在对应数据。根据请求客户端cid检索缓存组,如果存在,则直接提取,如果没有则分配新的缓存组,如果空间足够,则直接分配,如果已分配数超过预定客户端缓存数时,从LRU链表中删除末尾客户端id,新建当前客户端cid的缓存组索引,并加入LRU结构。从缓存组中,根据对象oid和读取范围对应的数据块序号num检索Hashmap的索引结构,如果存在对应数据块,则直接返回;如果不存在,则发起读请求,在读数据返回后将数据块加入缓存组,在缓存满时,根据LRU算法删除最近最久未使用的数据块;
检索缓存未命中时主节点构造读请求,并将构造好的读请求发送到各个数据节点,步骤如下:(1)把读取范围根据每个节点的数据块chunk长度切分,得到每个数据节点需要读取的范围,多个范围在一个节点时进行合并;(2)根据偏移计算所在编码条带序号,将序号乘以数据块大小,得到每个节点需要读取的范围的实际偏移。
6、主OSD接收完所有节点的读取数据后,调用读完成的回调函数,准备各节点需要更新的数据,其中数据块节点的更新数据即为写请求中数据,校验块的更新数据根据不同更新方法来编码构造,重构写方法具体步骤:(1)合并读取数据和更新数据,得到完整的编码条带;(2)调用编码函数,编码出新的校验块,得到更新数据;增量写方法的具体步骤:(1)以编码数据块大小为界,切分读取数据和写请求数据;(2)计算切分后每组对应的请求数据和原始数据的差值;(3)根据编码矩阵,计算差值乘以编码矩阵中对应系数,得到每一个校验块需要对应记录的数据;
准备好更新数据后状态机进入写状态,根据计算后得到的更新数据构造写请求,如果数据节点和主节点为同一个节点,则直接本地处理,如果数据节点和主节点为不同节点,则通过网络发送到对应的数据节点和校验块节点,发送完后,主节点异步等待节点ACK回复;数据块节点写请求包括对象id,写请求id,版本v,写偏移,写长度和其余附带信息;校验块节点写请求包括对象id,写请求id,版本v,写偏移,写长度、更新方式和其余附带信息。其中版本v指处理写请求时获取的PG中记录日志PGLOG的最新版本号,随着每次写单调递增加1;更新方式为1比特长度,0表示重构写,1表示增量写。
7、数据块节点接收写请求后,根据对象id和版本v申请新存储块,同时将本次更新的对象id,版本v,偏移和长度记录到本地更新日志PGLOG,数据块和日志持久化后,节点发送ACK给主节点。存储块所在文件名为对象id,分片id,版本v的组合,每个数据块节点的对象id和分片id固定,原始数据版本为0。这样的分配方式,新分配的存储块磁盘位置会在原始对象位置附近。节点根据偏移和长度,写入申请得新存储块。同时,节点将本次更新的对象id,版本v,偏移和长度记录到本地更新日志PGLOG。数据块和日志持久化后,节点发送ACK给主节点。
校验块节点接收写请求后,同样根据对象id和版本v申请新存储块,节点根据偏移和长度,写入申请的新存储块,并将更新方式的1比特写入对象元数据中,同时将本次更新的对象id,版本v,偏移和长度记录到更新日志PGLOG,数据块和日志持久化后,节点发送ACK给主节点。
8、主节点异步处理完所有节点的ACK后,状态机进入完成状态,记录本次更新到更新元数据信息,将版本v、偏移offset、长度length封装为value保存到内存数据结构中以对象id为key的列表中,然后更新PG中记录的上一次完成操作的版本变量last_complete为本次版本v,最后返回ACK给客户端完成本次写请求。
主OSD维护着所属PG组的权威日志版本,变量last_complete记录了PGLOG中上一次更新完成的版本号。前述主OSD在写请求超时后,本次写失败,last_complete就不会更新,但是节点数据可能有不一致状态,部分节点完成了本次写操作,部分节点还处于上一次一致状态。通过PG层的周期性peering机制,检查不一致节点发现更新超前,通过原子性的回滚操作保持所有节点数据一致性。具体步骤如下:
1)PG层周期性进行Peering操作,拉取同组各OSD的PGLOG版本,对比计算权威日志版本,然后各OSD的版本是否和权威版本一致,如果不一致则发送PGLOG权威版本到不一致节点;
2)不一致节点收到Peering后的权威PGLOG,进行本地的PGLOG对比合并。发现本地版本超前后,遍历超前的PGLOG,将其加入to_rollback列表;
3)处理完PGLOG版本后,PGLogEntryHandler遍历to_rollback列表,读取每一条pglog的回滚信息,并调用对应的回滚函数,读取pglog中记录的对象id,版本v,根据id和v索引更新时新分配的存储块,然后删除存储块;
4)所有超前pglog回滚完成后,删除这部分pglog,更新本地pglog为权威版本。
本发明方法根据覆盖写请求的块大小自适应不同更新方法,减少磁盘和网络开销。更新后的校验块读取时,需要根据对象id查找主节点的元数据信息对应的更新记录,遍历更新记录,检查是否和读请求偏移和长度有重叠,如果没有重叠,则按原始方法直接构造读请求发送对应节点;如果有重叠,则计算读请求和各重叠部分相关的偏移和长度,将这些构造为读请求的额外读中,根据数据块大小将读请求和额外读划分到各个分片的读请求中,并发送对应各节点,校验块节点根据读请求和额外读请求,读取对应对象数据,并将额外读请求数据按版本从小到大顺序合并入原始数据,合并过程中,检查额外读数据元数据信息中的更新方法,如果是重构写,则直接合并,如果是增量写,则计算对应位置原始数据和额外读数据的和,再合并,然后返回主节点。
读取过程需要读取额外的更新数据,所以更新数据需要定期合并入原始数据,以加快读取过程。在每次写完成后,主节点根据对象元数据,检查累计更新次数,更新大小,默认达到10次更新大小达到一个编码条带大小后,由主节点生成更新请求,将对象id,所有合并版本,发送到各个节点。各节点接收请求,以版本从小到大开始处理,根据对象id,版本v,检索出该次更新偏移和长度,读取对应数据,类似于读请求的处理,利用复制函数,将新数据写入原始数据对应偏移。校验块的更新合并需要检查对应更新方法,重构写可以直接写入,增量写需要类似读取原始数据,计算后再写入。各节点的数据写入操作为原子操作。主节点接收所有节点回滚ACK后删除对应对象的更新元数据,完成合并操作。
下面以纠删码RS(4,2)为例说明本发明方法,即原始数据块切成4块,经过RS编码出2块校验块,所有涉及的运算皆为RS编码中的有限域运算。以4MB大小作为编码条带,其中每个节点都会存储编码条带中1MB大小的数据块,原始文件会以4MB为大小切分成多个编码条带。一个PG组包含6个存储节点OSD,其中前4个节点存储原始数据块,称为数据节点,第2个节点存储编码块,称为校验块节点,并且数据节点中第1块数据块所在节点为主OSD。写请求由额外的1个客户端节点发起。
图1中表示CEPH系统中纠删码实现的条带化存储。原始对象数据按照预定的条带大小4MB切分,最后不足时补零。条带数据按等大切分为4块d0、d1、d2、d3,然后编码出校验块p0、p1,分别存储到6个OSD节点。然后再取下一个条带,编码后追加到之前存储的数据之后。一个PG组包含了以条带形式存储的6个OSD,其中第一个节点即0号节点为主OSD,负责接收客户端写请求,以及分发存储数据,维护着数据的一致性。
图2中表示CEPH系统中实现的纠删码覆盖写时序图。包括客户端发起写请求到主节点,主节点分析写请求,选定编码方法后构造对应的读请求,发送给对应数据块OSD,然后异步等待数据返回。主OSD收到所有数据后,根据选定的编码方法编码校验块数据,然后将需要更新的校验块和数据块发送给对应OSD,各节点保存完数据后,回复ACK给主OSD,主OSD接收所有回复后将本地更新元数据写入本地的缓存并返回客户端完成写请求。上述过程分别对应状态机中读状态、写状态、完成状态的请求的处理与发送过程。
图3中表示CEPH系统中纠删码覆盖写更新的重构写样例。其D0’、D1’、D2’表示更新数据。主OSD接收覆盖写数据后,计算重构写需要预读D3,增量写需要预读D0、D1、D2,判断重构写需要预读的数据块较少,所以选择重构写方案。主OSD确定方案后向D3所在的OSD发起读请求,对应OSD回复数据后,主OSD能够组成完整的编码条带,重新编码出校验块P0’和P1’,然后将更新数据发送给各个OSD,并把更新元数据记录到pglog中。其中D3没有更新数据,所以只记录本次的更新元数据。
为保证数据更新不丢失原始数据,保持数据一致性,所以更新数据不写入原始数据块。根据对象id和版本v,索引并分配新的存储块,例如图中新分配的灰色块。在更新失败触发回滚时,需要删除对应的更新块。
图4中CEPH中纠删码覆盖写的增量更新方式示意图。D0’表示覆盖写更新数据,其余概念同图3说明。主OSD接收覆盖写数据后,计算重构写需要预读D1、D2、D3,增量写需要预读D0,判断增量写需要预读的数据块较少,所以选择重构写方案。主OSD确定方案后向D0所在的OSD发起读请求,对应OSD回复数据后,主OSD计算更新校验块需要的ΔP,然后将对应更新数据块和校验块发送到对应OSD。同样,D1、D2、D3所在OSD没有参与数据更新,只记录pglog,保持数据版本一致。

Claims (7)

1.一种分布式存储CEPH的纠删码覆盖写方法,其特征在于,包括以下步骤:
1)客户端节点发送写请求到Ceph的存储节点中的主OSD,主OSD自动选择最优编码方案后,计算需要读取的数据块,并根据客户端id和对象id,从缓存中读取数据块返回主OSD;
2)主OSD在接收完所有需要的读数据块后,将数据块存入缓存结构,并根据对应编码方法计算校验块更新所需的数据,然后更新数据块和校验块,发送到需要更新的对应OSD;
3)数据块节点和校验块节点接收写请求,分配原始数据块附近的新存储位置存储新更新,并记录本次写请求元数据到日志PGLOG,数据和日志落盘后发送ACK给主OSD;
4)主OSD接收所有更新节点的ACK后,记录本次更新元数据到内存,并回复ACK给客户端,完成写请求。
2.根据权利要求1所述的分布式存储CEPH的纠删码覆盖写方法,其特征在于,步骤1确定最优编码方案的具体步骤为:
1)计算写请求涉及的编码条带范围:首先对齐写请求偏移到所在编码条带的首位置;然后根据写请求长度计算写范围的末尾偏移,并对齐到所在条带的末位置;最后根据对齐后的首偏移和尾偏移,得到覆盖写请求的条带覆盖范围偏移和长度;
2)根据写请求的偏移和长度结合条带覆盖范围,计算不同编码方案需要预先读取的数据量:重构写需要读取数据量=对齐后计算得到的范围减去实际更新数据量;增量写需要读取数据量=实际更新数据量;
3)根据需要读取的数据量动态选择编码方案:若对齐后计算得到的范围超过2个编码条带且至少有1个条带已经全覆盖,或者重构读取数据量小于增量写读取数据量,则采用重构写;否则,采用增量写。
3.根据权利要求1所述的分布式存储CEPH的纠删码覆盖写方法,其特征在于,步骤1主OSD从缓存中读取数据块的具体方法为:
1)根据请求客户端cid检索缓存组,如果存在,则直接提取,如果没有则分配新的缓存组,如果空间足够,则直接分配,如果已分配数超过预定客户端缓存数时,从LRU链表中删除末尾客户端id,新建当前客户端cid的缓存组索引,并加入LRU结构;
2)从缓存组中,根据对象oid和读取范围对应的数据块序号num检索Hashmap的索引结构,如果存在对应数据块,则直接返回;如果不存在,则发起读请求,在读数据返回后将数据块加入缓存组,在缓存满时,根据LRU算法删除最近最久未使用的数据块。
4.根据权利要求1所述的分布式存储CEPH的纠删码覆盖写方法,其特征在于,步骤2选择不同的编码方案时,更新校验块所需的数据量和方法不同,具体为:
采用重构写时,读取覆盖写范围以外的条带数据,在读取对应数据后,和覆盖数据合并成新的完整块,编码出新的校验块;
采用增量写时,读取覆盖写范围以内的条带数据,直接读取新数据并返回,在读取对应数据后,计算覆盖数据D’和原始数据D的有限域差值ΔD,然后计算ΔD乘以对应编码系数的有限域乘后发送到对应的校验块存储节点。
5.根据权利要求1所述的分布式存储CEPH的纠删码覆盖写方法,其特征在于,当主OSD接收所有更新节点的ACK回复超即更新失败时,该方法还包括恢复数据的步骤。
6.根据权利要求5所述的分布式存储CEPH的纠删码覆盖写方法,其特征在于,采用基于PGLOG日志的回滚机制恢复数据,具体为:
1)PG层周期性进行Peering操作,拉取同组各OSD的PGLOG版本,对比各OSD的版本是否和权威版本一致,若一致,则不做处理,若不一致,则发送PGLOG权威版本到不一致节点;
2)不一致节点收到Peering后的权威PGLOG,进行本地的PGLOG对比合并,发现本地版本超前后,遍历超前的PGLOG,将其加入to_rollback列表;
3)处理完PGLOG版本后,PGLogEntryHandler遍历to_rollback列表,读取每一条pglog的回滚信息,并调用对应的回滚函数,读取pglog中记录的对象id,版本v,根据id和v索引更新时新分配的存储块,然后删除存储块;
4)所有超前pglog回滚完成后,删除这部分pglog,更新本地pglog为权威版本。
7.根据根据权利要求1所述的分布式存储CEPH的纠删码覆盖写方法,其特征在于,该方法不同编码方案对应的更新后校验块读取过程不同,具体为:
1)根据对象id查找主节点的元数据信息对应的更新记录,遍历更新记录,检查是否和读请求偏移和长度有重叠,如果没有重叠,则按原始方法直接构造读请求发送对应节点;如果有重叠,则跳转步骤2;
2)计算读请求和各重叠部分相关的偏移和长度,将这些构造为读请求的额外读中,根据数据块大小将读请求和额外读划分到各个分片的读请求中,并发送对应各节点;校验块节点根据读请求和额外读请求,读取对应对象数据,并将额外读请求数据按版本从小到大顺序合并入原始数据,合并过程中,检查额外读数据元数据信息中的更新方法,如果是重构写,则直接合并,如果是增量写,则计算对应位置原始数据和额外读数据的和,再合并,然后返回主节点。
CN201610305978.8A 2016-05-10 2016-05-10 一种分布式存储ceph的纠删码覆盖写方法 Expired - Fee Related CN105930103B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610305978.8A CN105930103B (zh) 2016-05-10 2016-05-10 一种分布式存储ceph的纠删码覆盖写方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610305978.8A CN105930103B (zh) 2016-05-10 2016-05-10 一种分布式存储ceph的纠删码覆盖写方法

Publications (2)

Publication Number Publication Date
CN105930103A true CN105930103A (zh) 2016-09-07
CN105930103B CN105930103B (zh) 2019-04-16

Family

ID=56835461

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610305978.8A Expired - Fee Related CN105930103B (zh) 2016-05-10 2016-05-10 一种分布式存储ceph的纠删码覆盖写方法

Country Status (1)

Country Link
CN (1) CN105930103B (zh)

Cited By (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106406760A (zh) * 2016-09-14 2017-02-15 郑州云海信息技术有限公司 基于云储存的直接纠删码优化方法及系统
CN106598489A (zh) * 2016-11-28 2017-04-26 深圳市中博睿存科技有限公司 一种基于纠删码存储的文件修改算法优化方法
CN106598772A (zh) * 2016-12-13 2017-04-26 郑州云海信息技术有限公司 基于nvram的直接纠删码实现方法及海量存储系统
CN106649141A (zh) * 2016-11-02 2017-05-10 郑州云海信息技术有限公司 一种基于ceph的存储交互装置及存储系统
CN106951559A (zh) * 2017-03-31 2017-07-14 联想(北京)有限公司 分布式文件系统中数据恢复方法及电子设备
CN106991118A (zh) * 2017-02-17 2017-07-28 深圳市中博睿存信息技术有限公司 基于ceph纠删除容错的读取文件方法及装置
CN107678680A (zh) * 2017-07-27 2018-02-09 深圳市云舒网络技术有限公司 分布式块存储系统中纠删码并发io的方法及存储装置
CN107729185A (zh) * 2017-10-26 2018-02-23 新华三技术有限公司 一种故障处理方法及装置
CN107992264A (zh) * 2016-10-27 2018-05-04 中国电信股份有限公司 数据保护方法和装置
CN108052294A (zh) * 2017-12-26 2018-05-18 郑州云海信息技术有限公司 一种分布式存储系统的修改写方法和修改写系统
CN108255429A (zh) * 2018-01-10 2018-07-06 郑州云海信息技术有限公司 一种写操作控制方法、系统、装置及计算机可读存储介质
WO2018167590A1 (en) * 2017-03-15 2018-09-20 International Business Machines Corporation Method for partial updating data content in a distributed storage network
CN108958660A (zh) * 2018-07-02 2018-12-07 深圳市茁壮网络股份有限公司 分布式存储系统及其数据处理方法和装置
CN108958970A (zh) * 2018-05-29 2018-12-07 新华三技术有限公司 一种数据恢复方法、服务器和计算机可读介质
CN109074227A (zh) * 2016-11-25 2018-12-21 华为技术有限公司 一种数据校验的方法及存储系统
CN109101259A (zh) * 2018-08-28 2018-12-28 郑州云海信息技术有限公司 一种OSDMap缓存容器的更新方法、装置及终端
CN109491835A (zh) * 2018-10-25 2019-03-19 哈尔滨工程大学 一种基于动态分组码的数据容错方法
CN109669634A (zh) * 2018-12-17 2019-04-23 浪潮电子信息产业股份有限公司 一种数据落盘方法、装置、设备及可读存储介质
CN109683817A (zh) * 2018-12-14 2019-04-26 浪潮电子信息产业股份有限公司 一种数据写入方法、系统及电子设备和存储介质
CN110190926A (zh) * 2019-04-26 2019-08-30 华中科技大学 基于网络计算的纠删码修复方法、纠删码更新方法及系统
CN110442535A (zh) * 2019-07-19 2019-11-12 华中科技大学 提高分布式固态盘键值缓存系统可靠性的方法及系统
CN110651262A (zh) * 2017-05-22 2020-01-03 麻省理工学院 分层分布式存储系统以及用于边缘计算系统的技术
CN110874181A (zh) * 2018-08-31 2020-03-10 杭州海康威视系统技术有限公司 一种数据更新方法及更新装置
CN110955545A (zh) * 2018-09-26 2020-04-03 深信服科技股份有限公司 一种数据完整性校验方法、系统及相关设备
CN111143117A (zh) * 2018-11-06 2020-05-12 浙江宇视科技有限公司 数据存储方法及装置
CN111273862A (zh) * 2020-01-16 2020-06-12 上海依图网络科技有限公司 数据存储方法及其装置、可读介质和系统
CN111400083A (zh) * 2020-03-17 2020-07-10 上海七牛信息技术有限公司 数据存储方法及系统、存储介质
CN111813334A (zh) * 2020-06-04 2020-10-23 中国科学院上海微系统与信息技术研究所 一种Ceph的写性能优化和双控节点组合方法
CN112395263A (zh) * 2020-11-26 2021-02-23 新华三大数据技术有限公司 一种osd的数据恢复方法及装置
CN112463434A (zh) * 2020-11-19 2021-03-09 苏州浪潮智能科技有限公司 一种基于纠删码的数据重构方法、装置、设备及存储介质
CN112783689A (zh) * 2021-02-08 2021-05-11 上海交通大学 一种基于lrc编码的部分条带写优化方法及装置
CN112925763A (zh) * 2021-03-22 2021-06-08 河北工业大学 一种基于cad快速持久化的方法
CN113190384A (zh) * 2021-05-21 2021-07-30 重庆紫光华山智安科技有限公司 基于纠删码的数据恢复控制方法、装置、设备及介质
CN113515531A (zh) * 2021-05-08 2021-10-19 重庆紫光华山智安科技有限公司 数据访问方法、装置、客户端及存储介质
CN114064346A (zh) * 2021-11-02 2022-02-18 北京大道云行科技有限公司 一种纠删码数据一致性保障方法及系统
CN114115697A (zh) * 2020-08-26 2022-03-01 浙江宇视科技有限公司 云存储数据处理方法、装置、电子设备和存储介质
CN114415976A (zh) * 2022-03-28 2022-04-29 深圳市杉岩数据技术有限公司 一种分布式数据存储系统与方法
CN114579529A (zh) * 2022-05-07 2022-06-03 深圳市杉岩数据技术有限公司 一种基于重定向和日志混合的本地存储方法及系统
CN114594914A (zh) * 2022-03-17 2022-06-07 阿里巴巴(中国)有限公司 用于分布式存储系统的控制方法及系统
WO2024001863A1 (zh) * 2022-06-27 2024-01-04 华为技术有限公司 一种数据处理方法及相关设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110262922B (zh) * 2019-05-15 2021-02-09 中国科学院计算技术研究所 基于副本数据日志的纠删码更新方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040024973A1 (en) * 2002-07-31 2004-02-05 Chron Edward Gustav Storage system and method for providing consistent data modification information
CN102868754A (zh) * 2012-09-26 2013-01-09 北京联创信安科技有限公司 一种实现集群存储高可用性的方法、节点装置和系统
CN103761195A (zh) * 2014-01-09 2014-04-30 浪潮电子信息产业股份有限公司 一种利用分布式数据编码的存储方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040024973A1 (en) * 2002-07-31 2004-02-05 Chron Edward Gustav Storage system and method for providing consistent data modification information
CN102868754A (zh) * 2012-09-26 2013-01-09 北京联创信安科技有限公司 一种实现集群存储高可用性的方法、节点装置和系统
CN103761195A (zh) * 2014-01-09 2014-04-30 浪潮电子信息产业股份有限公司 一种利用分布式数据编码的存储方法

Cited By (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106406760A (zh) * 2016-09-14 2017-02-15 郑州云海信息技术有限公司 基于云储存的直接纠删码优化方法及系统
CN106406760B (zh) * 2016-09-14 2019-05-28 郑州云海信息技术有限公司 基于云储存的直接纠删码优化方法及系统
CN107992264A (zh) * 2016-10-27 2018-05-04 中国电信股份有限公司 数据保护方法和装置
CN107992264B (zh) * 2016-10-27 2021-03-05 中国电信股份有限公司 数据保护方法和装置
CN106649141B (zh) * 2016-11-02 2019-10-18 郑州云海信息技术有限公司 一种基于ceph的存储交互装置及存储系统
CN106649141A (zh) * 2016-11-02 2017-05-10 郑州云海信息技术有限公司 一种基于ceph的存储交互装置及存储系统
CN109074227B (zh) * 2016-11-25 2020-06-16 华为技术有限公司 一种数据校验的方法及存储系统
CN109074227A (zh) * 2016-11-25 2018-12-21 华为技术有限公司 一种数据校验的方法及存储系统
CN106598489A (zh) * 2016-11-28 2017-04-26 深圳市中博睿存科技有限公司 一种基于纠删码存储的文件修改算法优化方法
CN106598772A (zh) * 2016-12-13 2017-04-26 郑州云海信息技术有限公司 基于nvram的直接纠删码实现方法及海量存储系统
CN106991118A (zh) * 2017-02-17 2017-07-28 深圳市中博睿存信息技术有限公司 基于ceph纠删除容错的读取文件方法及装置
GB2574990A (en) * 2017-03-15 2019-12-25 Ibm Method for partial updating data content in a distributed storage network
US10691541B2 (en) 2017-03-15 2020-06-23 International Business Machines Corporation Method for partial updating data content in a distributed storage network
GB2574990B (en) * 2017-03-15 2020-05-20 Ibm Method for partial updating data content in a distributed storage network
WO2018167590A1 (en) * 2017-03-15 2018-09-20 International Business Machines Corporation Method for partial updating data content in a distributed storage network
US10235241B2 (en) 2017-03-15 2019-03-19 International Business Machines Corporation Method for partial updating data content in a distributed storage network
CN106951559A (zh) * 2017-03-31 2017-07-14 联想(北京)有限公司 分布式文件系统中数据恢复方法及电子设备
CN106951559B (zh) * 2017-03-31 2020-08-25 联想(北京)有限公司 分布式文件系统中数据恢复方法及电子设备
CN110651262B (zh) * 2017-05-22 2024-03-26 麻省理工学院 分层分布式存储系统以及用于边缘计算系统的技术
CN110651262A (zh) * 2017-05-22 2020-01-03 麻省理工学院 分层分布式存储系统以及用于边缘计算系统的技术
CN107678680A (zh) * 2017-07-27 2018-02-09 深圳市云舒网络技术有限公司 分布式块存储系统中纠删码并发io的方法及存储装置
CN107678680B (zh) * 2017-07-27 2020-07-17 深圳市联云港科技有限公司 分布式块存储系统中纠删码并发io的方法及存储装置
CN107729185A (zh) * 2017-10-26 2018-02-23 新华三技术有限公司 一种故障处理方法及装置
CN107729185B (zh) * 2017-10-26 2020-12-04 新华三技术有限公司 一种故障处理方法及装置
CN108052294A (zh) * 2017-12-26 2018-05-18 郑州云海信息技术有限公司 一种分布式存储系统的修改写方法和修改写系统
CN108052294B (zh) * 2017-12-26 2021-05-28 郑州云海信息技术有限公司 一种分布式存储系统的修改写方法和修改写系统
CN108255429A (zh) * 2018-01-10 2018-07-06 郑州云海信息技术有限公司 一种写操作控制方法、系统、装置及计算机可读存储介质
CN108958970B (zh) * 2018-05-29 2021-05-07 新华三技术有限公司 一种数据恢复方法、服务器和计算机可读介质
CN108958970A (zh) * 2018-05-29 2018-12-07 新华三技术有限公司 一种数据恢复方法、服务器和计算机可读介质
CN108958660A (zh) * 2018-07-02 2018-12-07 深圳市茁壮网络股份有限公司 分布式存储系统及其数据处理方法和装置
CN109101259B (zh) * 2018-08-28 2021-07-16 郑州云海信息技术有限公司 一种OSDMap缓存容器的更新方法、装置及终端
CN109101259A (zh) * 2018-08-28 2018-12-28 郑州云海信息技术有限公司 一种OSDMap缓存容器的更新方法、装置及终端
CN110874181A (zh) * 2018-08-31 2020-03-10 杭州海康威视系统技术有限公司 一种数据更新方法及更新装置
CN110955545A (zh) * 2018-09-26 2020-04-03 深信服科技股份有限公司 一种数据完整性校验方法、系统及相关设备
CN110955545B (zh) * 2018-09-26 2023-07-14 深信服科技股份有限公司 一种数据完整性校验方法、系统及相关设备
CN109491835A (zh) * 2018-10-25 2019-03-19 哈尔滨工程大学 一种基于动态分组码的数据容错方法
CN109491835B (zh) * 2018-10-25 2022-04-12 哈尔滨工程大学 一种基于动态分组码的数据容错方法
CN111143117A (zh) * 2018-11-06 2020-05-12 浙江宇视科技有限公司 数据存储方法及装置
CN109683817A (zh) * 2018-12-14 2019-04-26 浪潮电子信息产业股份有限公司 一种数据写入方法、系统及电子设备和存储介质
CN109669634B (zh) * 2018-12-17 2022-03-04 浪潮电子信息产业股份有限公司 一种数据落盘方法、装置、设备及可读存储介质
CN109669634A (zh) * 2018-12-17 2019-04-23 浪潮电子信息产业股份有限公司 一种数据落盘方法、装置、设备及可读存储介质
CN110190926A (zh) * 2019-04-26 2019-08-30 华中科技大学 基于网络计算的纠删码修复方法、纠删码更新方法及系统
CN110442535B (zh) * 2019-07-19 2021-06-11 华中科技大学 提高分布式固态盘键值缓存系统可靠性的方法及系统
CN110442535A (zh) * 2019-07-19 2019-11-12 华中科技大学 提高分布式固态盘键值缓存系统可靠性的方法及系统
CN111273862A (zh) * 2020-01-16 2020-06-12 上海依图网络科技有限公司 数据存储方法及其装置、可读介质和系统
CN111400083B (zh) * 2020-03-17 2024-02-23 上海七牛信息技术有限公司 数据存储方法及系统、存储介质
CN111400083A (zh) * 2020-03-17 2020-07-10 上海七牛信息技术有限公司 数据存储方法及系统、存储介质
CN111813334A (zh) * 2020-06-04 2020-10-23 中国科学院上海微系统与信息技术研究所 一种Ceph的写性能优化和双控节点组合方法
CN111813334B (zh) * 2020-06-04 2024-04-05 中国科学院上海微系统与信息技术研究所 一种Ceph的写性能优化和双控节点组合方法
CN114115697B (zh) * 2020-08-26 2024-03-22 浙江宇视科技有限公司 云存储数据处理方法、装置、电子设备和存储介质
CN114115697A (zh) * 2020-08-26 2022-03-01 浙江宇视科技有限公司 云存储数据处理方法、装置、电子设备和存储介质
CN112463434A (zh) * 2020-11-19 2021-03-09 苏州浪潮智能科技有限公司 一种基于纠删码的数据重构方法、装置、设备及存储介质
CN112395263B (zh) * 2020-11-26 2022-08-19 新华三大数据技术有限公司 一种osd的数据恢复方法及装置
CN112395263A (zh) * 2020-11-26 2021-02-23 新华三大数据技术有限公司 一种osd的数据恢复方法及装置
CN112783689A (zh) * 2021-02-08 2021-05-11 上海交通大学 一种基于lrc编码的部分条带写优化方法及装置
CN112783689B (zh) * 2021-02-08 2022-09-02 上海交通大学 一种基于lrc编码的部分条带写优化方法及装置
CN112925763A (zh) * 2021-03-22 2021-06-08 河北工业大学 一种基于cad快速持久化的方法
CN112925763B (zh) * 2021-03-22 2022-04-08 河北工业大学 一种基于cad快速持久化的方法
CN113515531B (zh) * 2021-05-08 2022-12-02 重庆紫光华山智安科技有限公司 数据访问方法、装置、客户端及存储介质
CN113515531A (zh) * 2021-05-08 2021-10-19 重庆紫光华山智安科技有限公司 数据访问方法、装置、客户端及存储介质
CN113190384A (zh) * 2021-05-21 2021-07-30 重庆紫光华山智安科技有限公司 基于纠删码的数据恢复控制方法、装置、设备及介质
CN114064346A (zh) * 2021-11-02 2022-02-18 北京大道云行科技有限公司 一种纠删码数据一致性保障方法及系统
CN114594914A (zh) * 2022-03-17 2022-06-07 阿里巴巴(中国)有限公司 用于分布式存储系统的控制方法及系统
CN114594914B (zh) * 2022-03-17 2024-04-02 阿里巴巴(中国)有限公司 用于分布式存储系统的控制方法及系统
CN114415976B (zh) * 2022-03-28 2022-07-01 深圳市杉岩数据技术有限公司 一种分布式数据存储系统与方法
CN114415976A (zh) * 2022-03-28 2022-04-29 深圳市杉岩数据技术有限公司 一种分布式数据存储系统与方法
CN114579529B (zh) * 2022-05-07 2022-08-05 深圳市杉岩数据技术有限公司 一种基于重定向和日志混合的本地存储方法及系统
CN114579529A (zh) * 2022-05-07 2022-06-03 深圳市杉岩数据技术有限公司 一种基于重定向和日志混合的本地存储方法及系统
WO2024001863A1 (zh) * 2022-06-27 2024-01-04 华为技术有限公司 一种数据处理方法及相关设备

Also Published As

Publication number Publication date
CN105930103B (zh) 2019-04-16

Similar Documents

Publication Publication Date Title
CN105930103A (zh) 一种分布式存储ceph的纠删码覆盖写方法
CN110597455B (zh) 通过改进的元数据管理增加闪存耐用性的方法
US6779001B1 (en) Transactional file system for realizing atomic update of plural files by transactions
CN107077479B (zh) 一种更新列存储数据库系统的方法和系统
US9639468B2 (en) Temporal clones to identify valid items from a set of items
US10021218B2 (en) I/O bandwidth reduction using storage-level common page information
US7716445B2 (en) Method and system for storing a sparse file using fill counts
US7844643B2 (en) Storage management system with integrated continuous data protection and remote copy
US9372794B2 (en) Using logical block addresses with generation numbers as data fingerprints to provide cache coherency
EP2454691B1 (en) Database storage architecture
CN106951375B (zh) 在存储系统中删除快照卷的方法及装置
US8775479B2 (en) Method and system for state maintenance of a large object
CN107735774B (zh) 一种smr感知只追加文件系统
CN110262922A (zh) 基于副本数据日志的纠删码更新方法及系统
US10997153B2 (en) Transaction encoding and transaction persistence according to type of persistent storage
CN105183839A (zh) 一种基于Hadoop的小文件分级索引的存储优化方法
US20060224639A1 (en) Backup system, program and backup method
CN103631539B (zh) 基于擦除编码机制的分布式存储系统及其存储方法
CN1973287A (zh) 压缩存储用文件以及对压缩的文件进行操作的方法和系统
JP6491605B2 (ja) 記憶されたデータユニットに対する操作の管理
JPH11120055A (ja) コンピュータシステムおよびデータ退避方法
US20230046216A1 (en) Data management system and method of controlling
CN110515541B (zh) 分布式存储中纠删码非对齐数据更新方法
KR20150125012A (ko) 저장된 데이터 유닛들의 동작 관리
CN106293990A (zh) 一种基于批量写校验的独立磁盘冗余阵列方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20170314

Address after: No. 163 Qixia Xianlin Avenue District of Nanjing City, Jiangsu province 210023

Applicant after: Nanjing University

Applicant after: State Grid Corporation of China

Applicant after: State Grid Shanghai Municipal Electric Power Company

Applicant after: Nanjing Nari Co., Ltd.

Address before: No. 163 Qixia Xianlin Avenue District of Nanjing City, Jiangsu province 210023

Applicant before: Nanjing University

TA01 Transfer of patent application right
CB02 Change of applicant information

Address after: 210008 Hankou Road, Drum Tower District, Nanjing, Jiangsu Province, No. 22

Applicant after: Nanjing University

Applicant after: State Grid Corporation of China

Applicant after: State Grid Shanghai Municipal Electric Power Company

Applicant after: Nanjing Nari Co., Ltd.

Address before: 163 Xianlin Avenue, Qixia District

Applicant before: Nanjing University

Applicant before: State Grid Corporation of China

Applicant before: State Grid Shanghai Municipal Electric Power Company

Applicant before: Nanjing Nari Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190416

Termination date: 20200510

CF01 Termination of patent right due to non-payment of annual fee