一种实现高效安全存储的系统和方法技术方案

技术编号:3841625 阅读:205 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种实现高效安全存储的系统和方法,包括:设置存储服务器、协议服务器、编码服务器、解码服务器和元数据服务器;写操作时,协议服务器将待写原始数据写入到存储服务器,并同时指示编码服务器对待写数据进行编码,编码服务器对数据进行编码生成冗余数据,并分发到指定存储服务器,在写入完成后,将写入文件数据的基本信息保存在元数据服务器中;读操作时,协议服务器访问元数据服务器,获取待读原始数据的存储位置,从数据的存储位置中获取数据,组合成文件数据;在原始数据无法正常读取时,访问元数据服务器,获取冗余数据的存储位置,将冗余数据读入解码服务器。通过本发明专利技术可以有效提高数据存储的效率和可靠性。

【技术实现步骤摘要】

本专利技术涉及数据安全存储
,特别是指一种实现高效安全 存储的系统和方法。
技术介绍
在数据存储领域,访问效率、存储效率、可靠性、安全性、平台 兼容性、可拓展性以及易管理性是存储系统设计的几个主要方向,其 直接关系到用户的直接成本、维护成本、升级成本以及设备的保值性 等。数据存储的安全性、有效性是大型企业、互联网服务提供商所头 疼的事情,特别是在今天在线备份、在线存储、网络硬盘、云计算以 及云存储等服务提供商风起云涌之际。过去30多年来,存储方式经历了以下几个典型的时期直连式 存储(DAS)时期,独立冗余磁盘阵列(RAID) +DAS时期,网络 附属存储(NAS)和存储区域网络(SAN)、集群文件系统。如今, 在存储领域有两个热门,分别是集群文件系统和基于异或算法为基础 的编码存储系统。集群文件系统逐步成为应用的主流技术之一,多家 国外著名公司已独立开发出不同的集群文件系统,国内最近几年也先 后出现了蓝鲸集群文件系统和龙存集群文件系统。作为流行的、也最有潜力的集群文件系统在很大程度上解决了原 有存储系统的局限性,其主要特征表现为系统具有更大的伸缩性, 容量可以动态扩展;较高的数据处理能力(IOPS);统一存储;可管 理性;高可用性,避免单节点故障;独立于硬件系统,能够包容大部 分遗留的存储设备;与各类应用兼容。集群文件系统对于传统存储方式来说,是一场变革,也是各大企7业关注的主要技术之一。但对于以存储为特征的运营商和服务商来 说,集群文件系统依然会带来成本、安全、易用性的压力,其主要缺点是集群文件系统都是以多份拷贝为特征的数据冗余机制,存储效 率低;集群文件系统会占用更多的带宽,大容量高密度数据应用环境 对于带宽的占用比较敏感;集群文件系统一般只适合在局域网内应 用,跨广域网应用是个事实难题;网络传输的安全性难以保障,异地 文件的安全管理也是成为难题,特别是敏感的数据。为解决集群文件系统的这些不足,对数据的处理必须借助于其他 技术。在建立冗余编码体系中,需要解决的问题包括(l)计算必然会 带来时间的开销,而时间上的延迟会一定程度上影响系统的处理能 力;(2)编码后的数据不能局限于唯一的通道进行访问,比如RAID 卡、NAS,均高度依赖数据读写头,访问通道会带来单节点故障; (3)编码后的数据在存储上具有一定的拓朴规律,数据访问要求具 有很强的可预期性,才能保证数据能够快速读取;(4)存储体系要求 具有很强的扩展性,可以按需进行配置;(5)编码体系必须在存储、 计算、部署等方面具有可分离的特点,即以上元素不能耦合在一起; (6)数据的处理顺序与物理存储顺序具有一致性。目前,在通信与存储领域中,常用的冗余编码算法有错误检查 和纠正(ECC)算法、Parity算法、Reed-Solomon算法、BCH算 法、多维二进制编码、EVENODD阵列码、RDP阵列码、Liberation 码、B-Code、 X-Code、 DH1/DH2混合码、HDD1/HDD2混合码、以 及其它数学方式的容错编码等。下面对Parity算法和Reed-Solomon算法的原理进行说明。Parity算法本质是对对应位置数据进行异或计算,通过存储原始 数据和异或结果来达到数据冗余的目的,籍此提高存储的可靠性。表 l是异或算法的基本原理。<table>table see original document page 8</column></row><table><table>table see original document page 9</column></row><table>表1参见图1所示,附图1是典型的RAID3体系结构,说明了一个 4+1结构模型的冗余存储方式,原始数据序列(Aq、 Ap A2、 A3、 B0、 Bp B2、 B3、 C。、 C2、 C3、 Do、 D2、 Ds)被分成4组 (A0、 A!、 A2、 A3)、 (B0、 B,、 B2、 B3 )、 (C0、 d 、 C2、 C3 )和 (D。、 Dp D2、 D3),分别进行异或运算,得到冗余数据A、 B、 C 和D。具体计算如下爿=人 ^ j2 J3 5 = 5。 (8) 52 53c = c。 q c2 c3以上计算和存储的过程控制都由RAID卡的芯片控制,其中,通 过计算和存储,数据就如附图1所示,分散存储在RAID中的5个磁 盘上,其中,前4个存储原始数据,最后一个存储冗余数据。这样, (A、 B、 C、 D)形成一组冗余熵,当原始数据中任何一个字节出现 问题时,都可以通过冗余熵恢复数据,此即为RAID3工作的原理。比如,当a2被破坏时,则可以通过对应的(An、 A" A3、 A)计 算出原始数据中的A2:j2 "0④4十j3十^相应的,附图l中每一行中,任何l个原始数据出错,都可以通 过剩余3个原始数据和冗余数据进行恢复,这样就可以确保在读取的 时候,原始数据都能够进行恢复。但如果同一行中,两个数据(包括 冗余数据)同时不可读或者出错,比如,C。和Qt同时不可读,则根 据(d, C3, C)只能计算出"④q的值。c。十c2 = c,④c3④c那么,就不能确定Co和c2分别是什么值。由此可以看出,Parity算法不能纠正一组中的多个错误,这是由Parity算法的的冗 余性所决定的。因为从冗余数据(A、 B、 C、 D)计算方法分析,每 个原始数据所代表的信息只在冗余数据中出现过一次,比如,C代表 了(C。、 d、 C2、 C3)的冗余熵,恢复其中任意一个数据,都需要借 助其它3个数据。所以,C的含义是,(Cn、 d、 C2、 C3)中的任意 一个丢失,都能够恢复数据,但不能同时恢复多个。 下面分析Parity算法的价值不考虑其它因素的情况下,分析比较数据存储后的可靠性和独立 磁盘存储的可靠性。假设所有的磁盘都有相同的可靠性R,则独立磁 盘存储的可靠性等同于磁盘的可靠性Rlfi,e: =^按照附图l所示的案例,存储的可靠性的描述为任意5个磁盘 中,只要不少于4个磁盘的数据是可靠的,则数据是可访问的。由此计算出存储的可靠性R2服为 =C54n-班4+c^s假设11=99.9%,则代入上面的式子,可以得出 =99.9o/o/ 2僻=(^(l-i )1/ 4+C55i 5 =99.999%从以上两个计算结果,不难看出,系统的可靠性提高了 2个9, 相当于可靠性提高了 IOO倍,由此可以得出,Parity算法是一种能够 极大提高数据可靠性的一个算法。结合上述描述,Parity算法具有如下几个特点顺序处理原始数据;顺序存储原始数据和冗余数据; 存储中有一份完整的原始数据,但分散存储;读取数据具有可预期特点,即任意n个节点构成的系统,只要 (n-l)个节点可读,则能够恢复原始数据; 能够大幅度提高数据存储的可靠性。 Reed-Solomon算法的原理10如果把附图1中的每个磁盘当作一个节点,那么,Parity算法很 好的解决了单节点失效带来的问题,很大程度上提高了系统的可靠 性。当数据越来越重要,数据量越来越大的情况下,本文档来自技高网...

【技术保护点】
一种实现高效安全存储的系统,其特征在于,包括: 存储服务器,用于存储原始数据和冗余数据; 元数据服务器,用于保存所有文件数据的基本信息; 协议服务器,在收到写操作请求时,将待写的原始数据写入到存储服务器,并同时指示编码服务 器对所述待写原始数据进行编码,在写入完成后,将写入文件数据的基本信息保存在元数据服务器中;在收到读操作请求时,访问元数据服务器,从文件数据的基本信息中获取待读原始数据的存储位置,从数据的存储位置中获取数据,组合成文件数据; 如果有原始 数据无法正常读取,访问元数据服务器,从文件数据的基本信息中获取冗余数据的存储位置,将冗余数据读入解码服务器; 编码服务器,对数据进行编码生成冗余数据,并分发到指定存储服务器; 解码服务器,对冗余数据进行解码恢复为原始数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨耀敏蒋建平
申请(专利权)人:北京世纪互联宽带数据中心有限公司
类型:发明
国别省市:11[中国|北京]

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

1