一种三条带状态转换方法技术

技术编号:11637724 阅读:81 留言:0更新日期:2015-06-24 12:26
本发明专利技术提供一种三条带状态转换方法,包括:更改三条带状态,其中三条带状态用于指示当前的逻辑条带及其位置关系;以及使纠删码位图指示更改后的纠删码条带位置和镜像条带位置上的哪些数据块构成纠删码条带。本发明专利技术降低了数据迁移导致的系统开销,提升了三条带系统的性能。

【技术实现步骤摘要】

本专利技术涉及存储
,更具体地,涉及条带化存储

技术介绍
三条带技术是指对于逻辑层的每个条带,其内部实现均由三个逻辑条带组成,用 于解决传统RAID技术中存在的小写性能过低以及数据写入过程中若失败而导致的数据不 一致问题(write hole问题)。参见图1,三个逻辑条带分别为M条带、RS条带和N条带, 其中: 1、M条带(镜像条带):该条带上的数据使用副本机制进行保护。镜像条带用于 存放小写数据,用以提升数据读写的性能;此外,镜像条带的写入不覆盖纠删码条带上的数 据,因此避免了写入过程中由于节点失效而导致的数据不一致。当镜像条带的小写积累到 满条带或者系统启动镜像条带到纠删码条带的转换以腾出镜像条带占用的空间时,镜像条 带会被转化成纠删码条带。 2、RS条带(纠删码条带):该条带上的数据使用Reed - Solomon编码机制保护。 3、N条带(空条带):不存放数据的条带。空条带是满条带写入时的短暂存放场 所,写完成后其状态立即转变为纠删码条带。空条带的存在使得数据写入不覆盖原来镜像 条带与纠删码条带上的数据,确保不会出现数据不一致的问题。 另外,为了确保镜像条带上的数据具有不低于纠删码条带上的数据的保护级别, 镜像条带上的数据所对应的副本存储在该条带的校验块所在的竖条带(或称副本节点) 上。 尽管具备上述优点,然而现有的三条带系统并没有提及状态转换的具体方式,如 果采用将一个条带的有效数据迀移至另一条带的方式,则由于占用额外的数据带宽和CPU 时间,从而导致效率较低,进而会影响三条带系统的性能。
技术实现思路
为解决上述问题,根据本专利技术的一个实施例,提供,包 括: 更改三条带状态,其中三条带状态用于指示当前的逻辑条带及其位置关系;以及, 使纠删码位图指示更改后的纠删码条带位置和镜像条带位置上的哪些数据块构成纠删码 条带。 上述方法中,除去构成纠删码条带的数据块,更改后的纠删码条带位置和镜像条 带位置上的其他数据块构成镜像条带。 上述方法中,在执行镜像条带到纠删码条带的转换时: 互换镜像条带位置与纠删码条带位置;以及,使纠删码位图指示互换后的纠删码 条带位置和镜像条带位置上的哪些数据块构成纠删码条带。 上述方法中,与所述纠删码位图中的1对应的纠删码条带位置上的数据块,以及 与所述纠删码位图中的O对应的镜像条带位置上的数据块构成纠删码条带。 上述方法中,在使所述纠删码位图指示哪些数据块构成纠删码条带之前,还获得 在互换前的镜像条带上写入的数据、计算校验并将该校验写入互换前的镜像条带。 上述方法中,当满条带写入的空条带转换到纠删码条带时: 将空条带位置更改为纠删码条带位置,并且使另两个位置分别为镜像条带位置和 空条带位置;以及,使纠删码位图指示更改后的纠删码条带位置上的数据块构成纠删码条 带。 上述方法中,所述三条带状态包括: 纠删码条带位置为第一位置、镜像条带位置为第二位置且空条带位置为第三位 置; 镜像条带位置为第一位置、纠删码条带位置为第二位置且空条带位置为第三位 置; 空条带位置为第一位置、镜像条带位置为第二位置且纠删码条带位置为第三位 置;以及 空条带位置为第一位置、纠删码条带位置为第二位置且镜像条带位置为第三位 置。 上述方法中,使用2bit的位图表示所述三条带状态。 本专利技术提供的三条带状态转换方法仅修改三条带状态和纠删码位图,就能实现无 数据迀移、无数据覆盖的转换操作,降低了数据迀移导致的系统开销,提升了三条带系统的 性能。【附图说明】 以下参照附图对本专利技术实施例作进一步说明,其中: 图1是三条带结构的示意图; 图2是根据本专利技术一个实施例的三条带状态转换方法的流程图; 图3是根据本专利技术一个实施例的三条带状态转换机的示意图; 图4(a)和4(b)是根据本专利技术一个实施例的镜像条带写操作的示意图; 图5(a)_5(c)是根据本专利技术一个实施例的镜像条带转换到纠删码条带的示意图; 图6(a)_6(c)是根据本专利技术另一个实施例的镜像条带转换到纠删码条带的示意 图。【具体实施方式】 为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图通过具体实 施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并 不用于限定本专利技术。 根据本专利技术的一个实施例,提供。 概括而言,该方法包括:更改三条带状态,其中三条带状态用于指示当前的逻辑条 带及其位置关系;以及,使纠删码位图指示更改后的纠删码条带位置和镜像条带位置上的 哪些数据块构成纠删码条带。 现结合图2详细描述该三条带状态转换方法,需要说明的是,说明书中描述的方 法的各个步骤并非一定是必须的,而是可以根据实际情形来省略或替换其中的一个或多个 步骤,且其顺序也是可以改变的。 第一步:更改三条带状态 三条带状态用于指示当前三条带中包含哪三个逻辑条带,以及这三个逻辑条带之 间的位置关系。本文中,三条带位置的编号记为c、B、A,以图1所示的三条带结构为例,位 置C在最下面、位置B在中间且位置A在最上面,图1中的三条带状态可表示为RS M N,指 示纠删码(RS)条带位置在位置C、镜像(M)条带位置在位置B,且空(N)条带位置在位置A。 应理解,本文中的逻辑条带位置不等同于逻辑条带。 根据三条带技术的原理,由于在同一时刻三条带中最多只允许有一条有效的纠删 码条带、最多只允许有一条镜像条带并且至少有一条空条带,则考虑同一时刻在不同位置 可能出现的逻辑条带组合,可得到如表1所示的十四个三条带状态,其中最后一个状态ERR 表示条带不可用。 表 1【主权项】1. ,包括: 更改三条带状态,其中三条带状态用于指示当前的逻辑条带及其位置关系;以及 使纠删码位图指示更改后的纠删码条带位置和镜像条带位置上的哪些数据块构成纠 删码条带。2. 根据权利要求1所述的方法,其中,除去构成纠删码条带的数据块,更改后的纠删码 条带位置和镜像条带位置上的其他数据块构成镜像条带。3. 根据权利要求1或2所述的方法,其中,在执行镜像条带到纠删码条带的转换时: 互换镜像条带位置与纠删码条带位置;以及 使纠删码位图指示互换后的纠删码条带位置和镜像条带位置上的哪些数据块构成纠 删码条带。4. 根据权利要求3所述的方法,其中,与所述纠删码位图中的1对应的纠删码条带位置 上的数据块,以及与所述纠删码位图中的〇对应的镜像条带位置上的数据块构成纠删码条 带。5. 根据权利要求3所述的方法,其中,在使所述纠删码位图指示哪些数据块构成纠删 码条带之前,还获得在互换前的镜像条带上写入的数据、计算校验并将该校验写入互换前 的镜像条带。6. 根据权利要求1或2所述的方法,其中,当满条带写入的空条带转换到纠删码条带 时: 将空条带位置更改为纠删码条带位置,并且使另两个位置分别为镜像条带位置和空条 带位置;以及 使纠删码位图指示更改后的纠删码条带位置上的数据块构成纠删码条带。7. 根据权利要求1或2所述的方法,其中,所述三条带状态包括: 纠删码条带位置为第一位置、镜像条带位置为第二位置且空条带位置为第三位置; 镜像条带位置为第一位置、纠删码条带位置为第二位置且空条带位置为第三位置; 空条带位置为第一位置、镜像条带位置为第二位置且纠删码条带位置为第三位本文档来自技高网...

【技术保护点】
一种三条带状态转换方法,包括:更改三条带状态,其中三条带状态用于指示当前的逻辑条带及其位置关系;以及使纠删码位图指示更改后的纠删码条带位置和镜像条带位置上的哪些数据块构成纠删码条带。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘国良董欢庆刘振军蔡杰明张军伟刘浏马留英刘健杨琳
申请(专利权)人:中国科学院计算技术研究所天津中科蓝鲸信息技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1