[发明专利]一种基于纠删码缓存的重构优化方法有效
| 申请号: | 201410154741.5 | 申请日: | 2014-04-17 |
| 公开(公告)号: | CN103914402A | 公开(公告)日: | 2014-07-09 |
| 发明(设计)人: | 黄建忠;曹强;谢长生;王艳群;梁先海 | 申请(专利权)人: | 华中科技大学 |
| 主分类号: | G06F12/08 | 分类号: | G06F12/08 |
| 代理公司: | 华中科技大学专利中心 42201 | 代理人: | 梁鹏 |
| 地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 纠删码 缓存 优化 方法 | ||
技术领域
本发明属于计算机存储领域,更具体地,涉及一种基于纠删码缓存的重构优化方法。
背景技术
纠删码集群存储按照纠删编码方式将多个存储节点进行连接,构成具有一定容错能力的存储系统。构成纠删码集群存储的多个存储节点在逻辑上可以看成是一个大的存储池,各个节点同时工作,提高I/O并行性。由于采用了纠删编码算法,在一定数量的存储节点失效的情况下,可以解码出失效节点上数据,达到容错的目的。一般地,数据恢复操作和客户端I/O相互影响。一方面,在丢失数据恢复的过程中,集群存储的读写性能将降低;另一方面,相对于离线重构模式,在线重构的时间也将增加,原因在于客户端I/O和重构进程双方对磁盘、网络和内存等资源的竞争。另外,研究表明,客户端负载强度对磁盘可靠性存在影响,即当一个磁盘失效后,I/O访问更多地集中到其他存活磁盘上,使得这些存活磁盘的负载强度增加,导致磁盘失效概率增大。同理地,在高负载强度的数据重构过程中,存活磁盘发生失效的概率将进一步提高。
如图1所示,在现有(k+r,k)纠删码存储集群中,含k个数据节点,r个校验节点。集群内数据分布示意图如图2所示。传统纠删码存储集群中的写失效过程存在以下问题:首先,写失效数据节点过程与失效数据重构过程同时进行,两个过程之间相互竞争网络带宽、磁盘、内存等资源,重构时间随之增加,从而降低了系统可靠性;此外,客户端的写请求涉及失效数据恢复、新数据写入,以及校验数据更新三方面操作,因此客户端写请求的响应时间也会增大。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于纠删码缓存的重构优化方法,其不仅能够保证失效数据节点的重构性能,而且能降低客户端失效写的响应时间。
为实现上述目的,按照本发明的一个方面,提供了一种基于纠删码缓存的重构优化方法,包括:
(1)失效数据缓存过程,包括如下步骤:
(1.1)接收客户端写失效数据节点的客户端请求记录,其中,该客户端请求记录包括写数据节点编号node、写数据偏移地址offset和写入的新数据newdata;
(1.2)将客户端请求记录写入由集群中存活节点预分配内存构成的纠删码缓存区中的数据区;
(1.3)根据纠删码缓存区中数据区的原有数据和新写入的客户端请求记录,并利用局部写机制更新纠删码缓存区中的校验区;
(1.4)向客户端返回写失效数据节点完成;
(2)缓存数据迁移过程,包括如下步骤:
(2.1)读取纠删码缓存区中的一条客户端请求记录;
(2.2)从失效节点对应的替换节点中数据偏移地址为offset的位置读取数据;
(2.3)将客户端请求记录对应的新数据newdata写入替换节点中写数据偏移地址为offset的位置;
(2.4)将步骤(2.2)和(2.3)中的数据发送至集群中的所有校验节点,由此完成校验节点更新;
(2.5)对于纠删码缓存区中剩余的客户端请求记录,重复上述步骤(2.2)到(2.4),直到其被全部处理完毕为止。
优选地,该纠删码缓存区是在集群的运行过程中,根据动态选取的k’+r’个存活节点的预分配内存构成,其包括偏移量baseoffset和缓存区大小size,其中k’是集群中存活节点预分配内存构成的纠删码缓存区中数据节点的个数,r’是集群存活节点预分配内存构成的纠删码缓存区中校验节点的个数。
优选地,该纠删码缓存区中数据区的大小为k’*size。
优选地,该纠删码缓存区中校验区的大小是r’*size。
优选地,所构成的纠删码缓存区是RS(k’+r’,k’)缓存区。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
1、本发明的方法在处理客户端写失效数据节点的数据时,由于接收客户端写失效数据节点的客户端请求记录、将客户端请求记录写入由存活节点预分配内存构成的纠删码缓存区中的数据区、并根据纠删码缓存区中数据区的原有数据和新写入的客户端请求记录并利用局部写机制更新纠删码缓存区中的校验区,由预分配内存构成的RS纠删码缓存区能够提高客户端写失效数据节点的数据可靠性。
2、本发明的方法在处理客户端写失效数据节点数据时,将位于失效数据节点的客户端数据缓存到纠删码缓存区后,客户端请求立即返回,避免了从替换节点完成客户端请求,缩短了客户端请求的响应时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410154741.5/2.html,转载请声明来源钻瓜专利网。





