基于云存储的数据备份研究摘要:信息时代,各种数据呈爆炸式增长,数据在人们的日常生活和工作中所扮演的角色越来越重要。然而,黑客活动日益猖獗,病毒泛滥,系统漏洞百出等因素,使得数据面临着极大的威胁,数据安全问题备受人们关注。作为一种安全策略,数据备份在保证数据完整性和可用性的同时,有效地避免了数据丢失引起的损失。阐述了数据备份的3种常用策略,对基于云存储的数据备份进行了深入研究。关键词关键词:云存储;数据备份;数据完整性中图分类号:TP309.3文献标识码:A文章编号文章编号:16727800(2014)005015903作者简介作者简介:夏侯建兵(1970-),男,厦门大学软件学院副教授,研究方向为虚拟现实、金融信息化、信息系统管理、嵌入式系统、高教管理;魏倩倩(1990-),女,厦门大学软件学院硕士研究生,研究方向图像处理;邓小娜(1988-),女,厦门大学软件学院硕士研究生,研究方向为数字媒体技术。0引言信息时代,随着互联网的广泛普及和网络技术的迅速发展,各种数据呈爆炸式增长,而社会对数据的依赖性也随之加强。同时,黑客活动日益猖獗、病毒泛滥、系统漏洞百出等因素,使得数据面临着极大威胁。数据一旦损坏或丢失,将会带来不可估量的损失。通过数据备份,可以有效地保护数据,减少数据灾害带来的损失。传统的数据备份软件,一般需要花费高代价购买存储设备,而且其面对海量数据,越来越难以应对。近年来,作为一种商业计算模型,云计算以其大规模、虚拟化、可靠性的优势,迅速发展和普及起来。随着软件即服务和云计算的出现[1],云备份服务逐渐成为业内一个热点话题,其核心理念是通过服务实现客户价值[2]。1相关概念1.1数据备份作为容灾的基础,数据备份是指将数据复制到其它存储介质上,在数据出现问题后,可以通过备份来恢复之前正常的数据。与数据拷贝不同,数据备份为降低备份数据所占用的额外空间,一般需要转变数据格式,进行压缩等操作。与普通文件备份不同,数据备份需要通过应用插件与数据库协调,以保持备份数据的一致性和完整性。简言之,备份等于拷贝加上管理。根据存储介质的不同,数据备份可分为死备份和活备份。顾名思义,死备份将数据备份到不可擦写的存储介质上,以防错误删除和别人有意篡改;活备份将数据备份到可擦写的存储介质上,以便更新和修改。根据备份的时机不同,数据备份可分为冷备份和热备份。冷备份是当系统处于停机或维护状态下备份数据,而热备份是当系统处于正常运转状态下备份数据,由于备份过程中数据可能随时在更新,所以相对真实数据有一定的滞后性。1.2云计算与云存储云计算是分布式处理、并行处理和网格计算的发展,通过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器所组成的庞大系统经计算分析之后将处理结果回传给用户[3]。云是一个包含大量可用虚拟资源的资源池,它通常由基础设施提供商按照服务等协议采用用时付费的模式开发管理,而这些资源根据不同负载动态的重新配置,以达到更优化的资源利用率[4]。云存储是在云计算概念上延伸和发展而来的一个新概念。云存储是云计算的存储部分,即虚拟化的、易于扩展的存储资源。用户通过云计算使用存储资源,并按使用付费[5]。云存储架构[6]如图1所示,从下往上依次分为存储层、基础管理层、应用接口层和访问层。最基础的存储层包含大量的存储设备,它们分布在不同地域,彼此之间通过广域网、互联网或光纤通道网络连接在一起。通过基础管理层的集群网格等技术,实现存储层中多个设备的协同工作,以对外提供更好的服务。各种运营商根据实际业务需求,开发对应的应用程序接口,为客户提供所需要的应用程序服务。客户经过授权后,通过标准的公用应用程序接口登录云存储系统,享受云存储服务。图1云存储架构2数据备份策略数据备份常用的策略有3种,分别是完全备份、增量备份和差异备份。2.1完全备份完全备份是将某个时间点上的所有数据进行一个完全拷贝。如图2(1)所示,一周内,完全备份每天将所有的数据进行备份,随着时间的推移和数据的增加,备份的数据量会越来越大。每个全备份数据中存在大量的重复数据,占用存储空间大,而且每次备份大量的数据,需要的时间长,但当需要进行数据恢复时,一个完全备份就可以恢复丢失的数据,加快了数据恢复的速度。2.2增量备份增量备份在一次完全备份或增量备份后,以后每次备份只备份与前一次相比增加或修改的数据。如图2(2)所示,每周第一天进行一次完全备份,接下来六天只对当前新的或修改的数据进行备份。每天的备份数据都没有重复,所以备份的数据量不大,需要的时间也短。但是,第一天的完全备份和接下来六天的增量备份像一条链条环环相扣,一旦其中一环出现问题,数据将无法恢复。2.3差异备份差异备份在一次完全备份后到进行差异备份的这段时间内,对那些增减或者修改的数据进行备份。如图2(3)所示,一周内第一天进行一次完全备份后,在接下来的六天里,再将当天所有与星期天相比新的或修改过的数据进行备份。差异备份避免了完全备份在和增量备份缺陷的同时,又具备了它们各自的优点:备份过程中重复数据少、时间短、节省存储空间,数据恢复只要最近的一次完全备份和差异备份即可,方便快速。3基于云存储的数据备份3.1云端设计面对现今海量的数据,传统的数据分析软件显得力不从心,新的海量数据引擎应运而生,Hadoop就是其中的佼佼者。Hadoop是Apache下的一个开源云计算基础框架,是在由大量计算机组成的集群中运行海量数据的分布式计算,其核心是云计算组件MapReduce和分布式文件系统HDFS。HDFS是专门针对廉价硬件设计的分布式文件系统,为分布式计算模式下的数据存储提供底层支持,在软件层内置数据容错能力,提供高吞吐量来访问应用程序的数据,可应用于云存储系统的创建开发[7]。根据云存储的分层模型,云端服务器基于Hadoop开发,其功能模块[8]如图3所示。云端通过数据通道从客户端获取数据缓存于数据模块中,并接受控制通道传来的控制指令。经过数据传输模块,根据接收到的控制指令对数据进行相关处理,包括数据压缩、数据加密和数据重复删除。数据压缩技术通过各种机制来降低备份数据的大小,数据重复删除技术删除多次备份产生的大量冗余,都是为了节省存储空间。数据加密技术降低了数据丢失和被盗的风险,同时也降低了备份的速度,这有客户自由选择,可选择是备份速度优先还是数据安全优先。在数据一致性检查通过后,将数据存放在虚拟化的存储中,可以通过存储介质管理模块来管理,为数据分配存储空间。图3云端功能模块3.2客户端设计开发商通过云存储的应用接口层,为需要数据备份和恢复的客户提供相关应用程序。客户通过应用程序,发出数据备份或恢复的请求即可,其它操作都将由云端完成。3.3数据组织结构存储于云端的数据组织结构如图4所示。顶层是域,服务器上可以包含多个域,即可以保存多个客户的数据备份,并以域的文字建立文件夹。一个域文件夹对应一个客户。一个域可包含多个备份计划,根据客户需求,不同的备份计划保存客户所选择的不同数据,每个备份计划有一个唯一的ID:Plan+创建时间,时间精确到秒,如Plan20120601080023表示是2012年6月1日8点0分23秒生成的备份计划。图4云端数据存储组织结构一个备份计划有多个备份任务,分为全备份、增量备份和差异备份3种。每个备份计划的第一个备份任务必须是全备份,以后的增量备份和差异备份以该备份为基础。每个备份任务也有一个唯一的ID:备份类型+创建时间。FB、IB和DB分别表示完全备份、增量备份和差异备份。每个备份任务都包含一个头文件和多个数据文件。头文件为索引信息,用来保存数据的元信息,包括文件名称、路径、属性等信息;数据文件保存实际的备份数据。3.4数据完整性验证数据完整性和安全是用户最关心的问题之一。常见的数据完整性检查主要有基于访问的、基于挑战和应答的方法。基于访问的方法需要频繁访问服务器的数据,给服务器增加额外负担而且占用网络带宽;基于挑战和应答的方法由客户端提出挑战某些数据块、服务器来生成数据完整性的证据,最后交由客户端来判断结果。Atenises等人[9]提出可证明的数据拥有(ProvableDataPossession,PDP)模型,主要研究静态数据存储,缺少对数据动态存储的支持。Zhu等[10]提出一种分层混合云模型,能有效利用不同云存储服务商提供的云资源来协作存储用户的数据,同时将这个模型分为3层:解释层、服务层和存储层。这种模型在一定程度上增加了系统可靠性的同时,也增加了额外的存储开销。文献[11]基于PDP模型,提出了一种适用于云存储的数据完整性验证协议。客户端在把数据文件及其校验标签上传到云存储服务器后,通过随机抽查的方式,让服务器生成指定数据块的验证证据并返回,由客户端判断数据文件的完整性。对于较小的文件,可以通过检查所有数据块来保证数据的完整性;而对于较大的文件,则可以通过检查部分数据块以一定的概率来保证数据的完整性,从而减少系统资源和网络带宽的消耗。3.5云存储优势作为一个多存储设备、多应用、多服务协同的工作集体,云存储并不是要代替传统的专用存储设备,而是为了应对爆发式增长的数据与带宽限制而产生的新型存储系统,具有以下优势:(1)云存储提供完整的数据服务,用户可使用其智能的备份软件并获得合适的存储容量,且无需专人负责维护数据。(2)云存储不受地理位置的限制,在有网络的地方,用户都可通过互联网获取服务,实现异地备份。(3)云存储仅对数据进行备份,不会任意篡改数据,用户不必担心失去对原始数据的控制。(4)云存储具有价格上的优势,按照使用收费。对多数企业而言,与用户自行购置存储设备建立数据中心相比,云存储所需的成本低很多。4结语随着云计算的发展和数据的海量增长,基于云存储的数据备份越来越受到欢迎。考虑到数据安全性和数据量大的问题,企事业单位可以考虑建立自己的云储存系统,即私有云。而对于个人用户,因为数据量小,在线的云备份系统是一个不错的选择。微软、谷歌、金山等公司都推出了自己的云存储服务,供个人和企业选择使用,按照数据量收费,并提供智能的数据备份和恢复。作为信息领域的另一个研究热点,人工智能具有自学习、自适应的特性。可以考虑将人工智能应用到数据备份中,根据先验知识和自学习积累的经验,只对需要备份的重要数据进行备份,尽量减少冗余备份。对于损坏的数据块,自动屏蔽先不予备份并标记,在使用之前将此数据块恢复后再进行备份,这样可以有效保证数据的完整性。但是人工智能先验知识的确定和如何通过自我学习获取经验,则是一个难题,有待后续深入研究。参考文献参考文献:\[1\]NAMJOSHIJ,GUPTEA.Serviceorientedarchitectureforcloudbasedtravelreservationsoftwareasaservice[C].Proceedingsof2009IEEEInternationalConferenceonCloudComputing(CLOUD),2009:147150.[2]HEZHONGLIN,HEYUHUA.AStudyoncloudbackuptechnologyanditsdevelopment[J].CommunicationsinComputerandInformationScience,2011:17.[3]刘鹏.云计算[M].第2版.北京:电子工业出版社,2011.[4]陈全,邓倩妮.云计算及其关键技术[J].计算机应用,2009,29(9):25622567.[5]云存储.维基百科[EB/OL].http://en.wikipedia.org/wiki/Cloud_storage.[6]云存储架构详解.中国云计算网[EB/OL].http://[7]杜勇.基于HDFS的云数据备份系统[J].吉林大学学报,2012,50(1):101105.[8]叶云.基于分布式架构的数据备份与恢复系统的设计与实现[D].长春:吉林大学,200