云计算的桌面备份系统实现
来源:科技通报杂志 更新时间:2013-08-14
 
根据相关报告,员工的工作站和笔记本电脑中的数据并未得到充分保护,即使这些数据占到了公司所有数据的60%到70%。目前越来越多个人开始重视自己的数据,并对它们进行备份。同时国外的Google,Amazon,Nirvanix,国内的联想,电信,金山等越来越多的企业进人云存储领域。SNIA也于2010年4月发布了关于云存储的标准CDMI。该标准定义了云存储中的相关概念如Data Object,ContainerObject,Queue Object,MetaData,以及对访问权限,访问接口,访问安全性等问题都做了说明与要求。本文通过增加云存储接口层来屏蔽各厂商接口的差异,同时利用扩充文件和目录元数据来实现目录传输以及多种备份策略,并设计文件分片和断点传输机制,实现对大文件的传输。
    根据相关报告,员工的工作站和笔记本电脑中的数据并未得到充分保护,即使这些数据占到了公司所有数据的60%到70%。目前越来越多个人开始重视自己的数据,并对它们进行备份。同时国外的Google,Amazon,Nirvanix,国内的联想,电信,金山等越来越多的企业进入云存储领域。SNIA(Storage Networking Industry Association)也于2010年4月发布了关于云存储的标准CDMI(Cloud Data Management Interface)。该标准定义了云存储中的相关概念如Data Object,ContainerObject,Queue Object,MetaData,以及对访问权限,访问接口,访问安全性等问题都做了说明与要求。本文通过增加云存储接口层来屏蔽各厂商接口的差异,同时利用扩充文件和目录元数据来实现目录传输以及多种备份策略,并设计文件分片和断点传输机制,实现对大文件的传输。
1 系统设计
    1.1总体设计
    备份客户端运行于客户机上,根据用户所使用的云存储服务,备份客户端将数据备份到不同的云存储平台上。数据分为元数据和数据,元数据和数据即可在独立的HTTPi青求中传输,也可在同一个HTTP请求中传输。如图1所示,传输协议采用HTTP或者HTTPS。在完成整体设计中需要考虑云存储的数据模型,安全访问控制以及备份策略,下面分别说明这几点文件。
  130186897122316123_new.jpg (372×247)
图1 系统总体设计
  130186897254373676_new.jpg (391×296)
图2 接口模型图
  130186897415722905_new.jpg (338×328)
图3 系统结构图
  1.2云存储中的数据模型
    SNIA在CDM中定义云存储的资源域模型。云存储中所有的资源通过URI进行描述,对资源的CRUD操作通过HTTP协议进行。资源采用数据和元数据分离存储,元数据包括了对资源的访问控制,第三方可增加自定义元数据。
    图2是SNIA在CDMI中定义的接口模型,该图中有两个重要的概念Container和DataObjecto Container}c示容器可以容纳DataObject以及Containero DataObject代表着数据对象。
2 实现与关键技术
    2.1整体结构
    系统从下向上分为:云存储层,云存储接口层,系统核心模块,用户。系统核心模块细分为:传输管理,备份策略,差错控制与冗余消除,文件及目录传输,文件元数据提取,本地数据存储,定时设置等子模块。
    2.2云存储接口层
    在云存储服务之上是系统需要直接处理的云存储接口,即SNIA中定义的CDMI接口标准。这里以SNAI的CDMI标准进行说明,并对比Google和Nirvanix提供的接口。
    表1中并未列出所使用的所有接口仅对容器和数据对象做了说明。这里需要强调的一点是,SNIA在CDMI中说Update a Data Object可以更新指定范围的数据对象内容,类似文件的随机修改,也可以追加数据对象内容,类似文件追加写入。
3 实验结果与分析
    本文实现了一个备份客户端的原型,利用实验室的私有云做云存储进行了性能实验。实验室的私有云平台遵循了CDMI中的接口标准,向备份客户端提供Restful风格接口。实验环境如下:
    (1)硬件组成
    服务器端:基于PC的服务器;双64bInter Xeon 2.0GHz,4048KB Cache CPU:8GB内存,挂在RAIDS存储2TB,1000Mbps网卡。客户端:Intel Core2 2.53GHzCPU,2GB内存,SATA 7200转硬盘,1000Mbps网卡。网络:1000Mbps交换机构建的LAN。
    (2)软件环境
    服务器端:RedHat ASS(内核2.6.30),Web服务器APACHE(2.2.16)。客户端:Windows XP(SP2)。
    (3)测试方法
    选用不同大小的连续数据文件进行测试,文件上传包括元数据提取,文件分片等操作。先进行的是分片测试,通过选用不同的分片大小测试出该环境下最佳的文件分片。
    从图4中显示,选用SOM,l00M的数据文件在分片大小为4M时具有最大写速度,速度大小为7MBps。
    选用25M到500M不等的数据进行上传实验。从图5的对比分析可以看出,备份客户端具有较稳定的传输速度。FTP随文件增大而性能出现了下降。最后在300M以上的文件时备份客户端与FTP具有相同的写速度。备份客户端因采用分片传输,所以在传输速度上具有较为稳定的特性,比FTP有较好的传输稳定性。
 130186897609433985_new.jpg (723×227)
表1 云存储接口对照表
  130186898198327667_new.jpg (379×174)
图4 备份写速度
  130186898447171901_new.jpg (369×182)
图5 FTP与备份客户端对比
4 总结
    本文分析了现有云存储接口的差异性,指出大部分云备份软件对目录备份,大文件备份的局限。并详细介绍了备份客户端的实现细节,可以看出增加云存储接口层是屏蔽云存储接口差异的可行办法。同时将目录层次与云端数据模型进行映射,采用分层传输的方法能有效地进行目录的备份。最后文件分片,断点传输机制,以及文件追加接口能较好地解决了大文件备份。