应用于分布式存储系统的超安存编解码方法技术方案

技术编号:8325894 阅读:434 留言:0更新日期:2013-02-14 08:31
本发明专利技术公开一种应用于分布式存储系统的超安存编解码方法,该方法将RS算法融入分布式存储系统,解决一般云存储支撑方法采用的简单复制备份方法所造成的磁盘空间的浪费问题,使大规模数据云存储解决方案在拥有超高性能的前提下,提高磁盘的利用率,保障数据的安全性,降低系统总能耗,节约成本。按照本发明专利技术的超安存编解码方法,以参数(M,N)配置系统,则系统中任意不大于N-M台块数据存储节点宕机,均可根据剩余节点解码出原数据,充分保证数据的安全性,元数据服务器能够不断的检测数据块的有效情况,对无效的数据块能够自动恢复原始数据块,又同时以比较小的冗余代价,降低了成本。

【技术实现步骤摘要】

本方法涉及计算机数据存储安全领域,具体涉及一种保障分布式存储系统高可靠性的超安存编解码方法。
技术介绍
目前云存储支撑方法一般是采用分布式文件系统的存储方法,将数据分块存放到廉价的普通计算机上,这样数据的安全问题,也就是容灾问题就成为了一般云存储支撑方法的重要考虑点。一般的云存储支撑方法大多采用简单冗余备份的方式对数据块进行复制备份,一个数据块在多台机器有几份完全一致的副本,但这种容灾方法造成了大量的磁盘空间的浪费,对系统的能耗、成本都有较大影响,本方法采用编解码方式的安全策略,在保证系统性能不降低的前提下,从磁盘利用方面大大提高了磁盘空间的利用率,相对应的也大大降低了系统的成本和能耗。RS (Reed-Solomon)码是一类纠错能力很强的特殊的非二进制BCH码。对于任选正整数S可构造一个相应的码长为n=qS_l的q进制BCH码,而q作为某个素数的幂。当 S=l,q>2时所建立的码长n=q_l的q进制BCH码,称它为RS码。当q=2m(m>l),其码元符号取自于F(2m)的二进制RS码可用来纠正突发差错,它是最常用的RS码。一个RS码有以下几个参数块长度n(=2~m-l)个符号;消息长度k个符号;奇偶校验长度n-k=e个符号; 最小距离dmin=n-k+l个符号,通过缩短,(n, k)RS码的长度可以减少到具有相同符号长度的(n’,k’)RS码,其中η’和k’分别小于或者等于η和k。
技术实现思路
本专利技术的目的在于将RS算法融入分布式存储系统,提供一种超安存编解码方法, 解决一般云存储支撑方法采用的简单复制备份方法所造成的磁盘空间的浪费问题,使大规模数据云存储解决方案在拥有超高性能的前提下,提高磁盘的利用率,保障数据的安全性, 降低系统总能耗,节约成本。本专利技术的超安存编解码方案是在分布式云存储系统的基础上进行设计的。分布式云存储系统(如南京云创存储科技有限公司自行研发的cStor云存储系统,且本专利技术中涉及的元数据管理节点、客户端、块数据存储节点等技术名称与cStor云存储系统中使用的技术名称具有相同的定义)采用分布式的存储策略,主要包括元数据管理节点和多个块数据存储节点,其中,元数据管理节点负责组织调度块数据存储节点,存放及管理元数据信息,块数据存储节点负责存储数据块,客户端的读写操作需先与元数据管理节点交互获得块数据存储节点信息,再与块数据存储节点直接进行数据交互。元数据管理节点由元数据服务器构成,块数据存储节点由块数据服务器构成。本专利技术具体采用如下技术方案一种,包括配置编解码参数(M,N),其中M为原始数据块数目,N为RS编码后数据块数目;客户端写数据时将文件进行顺序分组,每组为X字节大小,X为任意正整数,再对每个组进行顺序分块成M块,每块为连续X/M字节的大小;对于每一个分组,客户端把该分组的 M个数据块存到M个不同的块数据服务器,元数据服务器记录该分组的块存储信息;客户端读数据时,当目标块数据服务器无法访问时,客户端从分组内的任意其余M台可访问的数据块服务器读取数据,并通过RS解码得到目标数据;块数据服务器收到元数据服务器的编解码任务时,把元数据管理节点指示的分组中的 M个数据块复制到本地,以每个块为矩阵的一行,构造成一个M行的矩阵,并根据块索引计算出当前需编解码的数据块在分组中所在的位置,如果小于等于M,则执行RS编码任务,产生冗余数据块;如果大于M小于等于N,则执行RS解码任务,产生原始数据块。有益效果按照本专利技术的超安存编解码方法,以参数(M,N)配置系统,则系统中任意不大于N-M台块数据存储节点宕机,均可根据剩余节点解码出原数据,充分保证数据的安全性,元数据服务器能够不断的检测数据块的有效情况,对无效的数据块能够自动恢复原始数据块,又同时以比较小的冗余代价,降低了成本。附图说明附图I :客户端写数据流程;附图2 :文件数据分组块分布示意图(M=4, N=6);附图3 :客户端读数据流程;附图4 :客户端解码读数据流程;附图5 :元数据服务控制块数据服务器编解码数据流程。具体 实施方式下面结合附图对本专利技术的技术方案进行详细说明4. I客户端编解码方法客户端在向元数据管理节点注册成功后,元数据管理节点向客户端返回编解码参数 (M,N),其中,M为原始数据块数目,N为编码后数据块数目。客户端写数据时不进行编码, 这样保证了客户端写数据的性能,以及不会要求太高的机器硬件配置。客户端读数据时如果所读的原始数据块数据存储节点无法访问,客户端启动解码流程从任意其余M台可访问的块数据存储节点读取分组内的数据块,进行解码运算得到目标数据。4. I. I客户端写数据流程客户端写数据流程如图I所示,文件系统驱动模块收到内核的写数据消息,回调编解码客户端函数,将数据写入写操作缓冲区,由线程负责将数据从缓冲区中取出并发送到块数据存储节点。客户端写数据的过程中,一个文件首先按64MB (以X=64MB大小为例说明) 大小为一个组进行顺序分组,再以64MB/M为一个数据块(chunk,lchunk=1024block)对每个分组进行均匀分块(不足的字节编解码时都用数字O填充),并分别存储到元数据管理节点指定的M个块数据存储节点,元数据服务器记录每个分组的块存储信息(块存储信息包含数据块的块标识、块版本号和存储的位置)。在写入数据的过程中,写数据时请求包括 offset (相对文件起始位置的偏移量)、size (当前写数据的大小)和data (当前请求的实际数据)等字段,客户端计算块索引、block编号以及block内部偏移量,计算过程如下1)根据block_no= offset>>16 得到 block 编号;2)根据chindx= (block_no>>10) *N + (block_no%1024) * M/1024,计算块索引位置,发送消息给元数据服务器,元数据服务器根据索引创建一个新的插槽,并记录新块的元数据信息;3)根据pos=(block_no % (Μ 10)) / M计算得到block在块数据服务器的block偏移量;4)根据from=offset&OxFFFF计算得到block中的偏移量;图2所示为(M=4,N=6)时客户端分块过程,客户端把64MB大小的数据分成连续的4块 (chunk 1> chunk2、chunk3、chunk4),每块大小为16MB。这4个原始数据块保存在4台不同的块数据服务器;chunk5和chunke为2台块数据服务器编码后生成的冗余数据块。4. I. 2客户端读数据客户端不需解码读取数据流程如附图3所示,文件系统驱动模块收到内核的读数据消息,回调编解码客户端函数,客户端根据偏移量计算块索引,向元数据服务器发送请求消息获取该数据块所保存的块数据服务器,客户端从块数据服务器读取数据。在读数据的过程中,读数据时请求包括offset (相对文件起始位置的偏移量)、size (当前读数据的大小)和 data (返回数据的缓冲区)等字段。客户端不需解码读数据时计算块索引的算法如下1)根据block_no= offset>>16 得到 block 编号;2)indx= (block_no>>1本文档来自技高网...

【技术保护点】
一种应用于分布式存储系统的超安存编解码方法,所述其特征在于包括:配置编解码参数(M,N),其中M为原始数据块数目,N为RS编码后数据块数目;客户端写数据时将文件进行顺序分组,每组为X字节大小,X为任意正整数,再对每个组进行顺序分块成M块,每块为连续X/M字节的大小;对于每一个分组,客户端把该分组的M个数据块存到M个不同的块数据服务器,元数据服务器记录该分组的块存储信息;客户端读数据时,当目标块数据服务器无法访问时,客户端从分组内的任意其余M台可访问的数据块服务器读取数据,并通过RS解码得到目标数据;块数据服务器收到元数据服务器的编解码任务时,把元数据管理节点指示的分组中的M个数据块复制到本地,以每个块为矩阵的一行,构造成一个M行的矩阵,并根据块索引计算出当前需编解码的数据块在分组中所在的位置,如果小于等于M,则执行RS编码任务,产生冗余数据块;如果大于M小于等于N,则执行RS解码任务,产生原始数据块。

【技术特征摘要】
1.一种应用于分布式存储系统的超安存编解码方法,所述其特征在于包括 配置编解码参数(M,N),其中M为原始数据块数目,N为RS编码后数据块数目; 客户端写数据时将文件进行顺序分组,每组为X字节大小,X为任意正整数,再对每个组进行顺序分块成M块,每块为连续X/M字节的大小;对于每一个分组,客户端把该分组的M个数据块存到M个不同的块数据服务器,元数据服务器记录该分组的块存储信息; 客户端读数据时,当目标块数据服务器无法访问时,客户端从分组内的任意其余M台可访问的数据块服务器读取数据,并通过RS解码得到目标数据; 块数据服务器收到元数据服务器的编解码任务时,把元数据管理节点指示的分组中的M个数据块复制到本地,以每个块...

【专利技术属性】
技术研发人员:张真刘志明王义飞赵庆福蒋文佼
申请(专利权)人:南京云创存储科技有限公司
类型:发明
国别省市:

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

1