一种基于分布式开放资源管理服务的“云存储”(PPStroe)方案研究(Theanalysisofmassdatacloudstoragesystem)李建国上海黄浦江行人隧道公司ShanghaiHuangpujiangPedestrianTunnelCo.Ltd.袁平鹏华中科技大学HuazhongUniversityofScienceandTechnology摘要:云存储技术因其能为用户提供了安全、海量、随时随地的数据存储功能而得以快速发展。本文提出了利用网络上现存的自然分布于世界各地的大量免费存储服务,如网盘、ftp、email以及其他形式等存储空间,将这些服务集中起来,为用户提供价廉、可靠的存储系统。本文介绍了一种低开销、快速度、高可用、可扩展的云存储拓扑系统,以期在该拓扑架构下实现以文件存储和共享服务为基础,不断扩展其他功能,最终形成一个分布式存储资源共享社区的目的。Abstract:Becauseabletoprovideuserswithsafetyandmassdatastoragefunction,cloudstoragetechnologydevelopedveryrapidlyinrecentyears.Thispaperintroducesthebasicprincipleofcloudstoragetechnologyandanalyzesthepresentsituationofthecloudstoragetechnology,Introducedtheuseofexistingnaturaldistributionnetworkaroundtheworldplentyoffreestorageservice,suchasdisc,FTP,emailandotherformsofstorage.Theseserviceswillbeheldtogether,soastoprovideuserswithlowpriceandreliablestoragesystems.Thispaperintroducesthedesignofakindoflowcost,quickspeed,highavailability,canbeexpandedcloudstoragetopologysystem.Bymeansofthesystemtoexpandingotherfunction,achievefinallyadistributedstorageresourcessharingofpurpose.关键词:云计算、云存储、分布式的数据存储、ppStore方案一、分布式文件系统数据的备份、安全存储一直是计算机领域关注的热点之一。人们习惯于将文件或数据存储在自己运用的单体物理机上。然而,单体物理机面临着各种各样的不确定性风险,诸如系统的崩溃、硬件的物理性损坏、病毒感染、包括追悔莫及的人为误操作等等,因此重要文件或数据的丢失时有发生。此外,单体物理机的存储容量是极为有限的,且不具备不受限的扩展能力。为了从上述集中式存储系统的不足中得以解脱,分布式存储系统的问世也就顺理成章了。分布式系统并非是什么新鲜概念,其源头或许可以追述到工业控制领域从集散型控制过渡到分布式控制的理解进程,忽多忽少有点类似于证券市场流行的不要将鸡蛋放在一个篮子里的理念。将文件存储在面阵分布的服务器群中并形成众多的镜像文件,文件存储的安全性自然得以大幅提升。分布式存储系统是建立在网络之上的存储系统(结构如图1)。分布式存储系统具有高度的透明性,为用户提供较高的安全性、及可扩展性。处理来自于各种各样数据接口及各种各样数据格式的文件的归一化、系统的快照和备份、元数据集群的负载平衡等,是分布式文件系统所面临的技术难点。事实上,计算、网络和存储的标准接口是任何云系统成功构造的最基本保证。图1分布式文件系统由于广域网上分布式存储系统通常限于局域网内,为了构建更大范围的分布存储系统,人们提出了网格文件系统;期望在网格环境下,把整个因特网整合成可以实现计算资源、存储资源、数据资源、信息资源、专家资源的全面共享和协同,实现互联网上所有资源的全面连通。实际上,网格文件系统是分布式文件系统的延伸,所采用的传输协议GirdFTP只是在网格环境下对FTP进行优化,并要求对存储服务器拥有较多的控制权。Google公司针对大规模数据存储、处理的需要,设计了Google文件系统GFS(结构如图2)。GFS由一个主服务器(master)、多个块服务器(chunkserver)和多个访问客户端(clients)组成。从GFS的组成可知,由于只有一个主服务器,本质上,GFS还是被束缚在集散型系统的思维框架内,系统存在单一的失效点。图2GFS的体系结构二、ppStore云存储方案介绍(1)ppStore期望实现的目标利用现有网上丰富的存储服务,将之聚合并管理,使之形成一个资源服务“云”,实现分布式开放资源管理服务系统(以下简称ppStore),是ppSrore主要目的。通过对分散的存储服务点聚合并管理,使得由原来的点到点的形式转化为综合各种存储服务功能、相互关联的归一化的面到点服务模式;运行中,ppStore“服务云”的规模将不断得以自行扩大,赋予用户的服务功能也越发强大。构建一个可靠的云存储系统,其中涉及的技术难点绝不仅仅是一个硬件系统,而是一个牵涉到网络设备及公共访问接口、服务器及存储设备、应用软件、客户端程序等组成的复杂系统。该复杂系统以存储设备为核心,通过应用软件来对外提供数据存储及访问服务。ppStore需完成两个基本任务:文件的存储管理和文件的共享处理。(2)ppStore功能模块组态首先,ppStore需获取并管理存储服务。所幸的是这些存储服务相当容易得到。其次,对各种存储服务进行整合,最终创建网络拓扑结构。通过客户端和服务端的配合,完成文件的存储管理和文件的共享处理是ppStore需要完成的二个基本任务。A.服务端服务端主要为数据存储提供管理功能,由元数据管理、存储服务管理及存储服务选择及调度等模块组成(图3)。各功能模块定义:元数据管理-记录元数据,动态维护系统中所需状态和索引信息,协助客户端完成文件共享操作。存储服务管理-对存储群实行管理,尽力发挥存储群及每个存储服务点的服务效率。WEB服务应用功能上传下载本地数据管理内存数据管理本地文件系统接口客户端元数据维护查找文件分片合并通信覆盖网服务索引服务心跳检测P2P管理数据传输层服务端应答层本地事务处理层图3服务端功能组件图B.客户端客户端由本地数据管理、文件处理和资源定位等模块组成(图4)。各功能模块定义:本地数据管理-接受服务器的元数据,并存于内存,以缓解服务器的压力。文件处理-为不同属性的文件制定恰当的共享策略。资源定位-以元数据为依据,综合系统的当前状态,定位资源所在位置。为了减轻存储服务的负担,客户端构成了一P2P覆盖网,用户之间可以对等地共享数据。为了维护覆盖网络,客户端保存以下元数据:客户的邻接点,客户保存文件信息,用户的部分操作记录以及在线时长等。图4客户端功能组件图C.服务端-客户端功能模块组态图5为服务端-客户端功能模块组态图。元数据管理动态更新底层逻辑视图搜索数据放置数据备份监控客户端管理图5服务端-客户端功能模块组态图(3)标准数据传输接口为整合网络上各类独立的存储服务,需要应对各种应用协议;换句话说,需要设计一个标准接口来解析各种不同的数据组帧格式。并且,为了今后的发展,该标准接口必须是柔顺的、便以扩充的。这个标准接口实际上就是一个广泛适应的“编译器”,应该对不同协议所采用的不同组帧格式能够正确地屏蔽它们的异构性。(4)数据共享网络覆盖对策以延迟量为依据,每个节点的底层维护一个基于Meridian的同心多解析结构,节点的应用层多播组建立在此环结构之上。Meridian是一种松散的无结构化网络拓扑,在Meridian中,每个节点维护一批固定数量的邻近节点,并根据延迟量被组织成同心的多个解析环(见图6)。Meridian保证了在满足连通性的情况下相互之间延迟小的节点被聚集在一起的要求,保证了多播组节点的低延迟特征。整个网络中的应用层多播节点类似于完全分布式的开放网络协议Gnutella网络的拓扑。多多多多多多多图6拓扑结构图新结点的加入依照先向服务器上的调度服务后向所有调度节点发出请求的顺序,最终,调度结点在它们维护的多解析环的每个环上随机选择若干节点,这些选中的节点作为种子节点提供给新节点,新加入节点经过与这些种子节点测速后,得到与种子节点之间的延迟信息,为自己的多解析环选择合格的种子节点。新节点构建起自己的多环结构后,定期在自己多环结构中的每个环上选取若干连接良好的节点组成调度节点,并向这些调度节点请求种子节点信息,重复新节点加入时的过程。通过与种子结点间的测速定期获取新的延迟信息,依据新的延迟信息更新每一层的环结构。如果有节点退出,退出结点所属环结构的中心结点与其通信时会发现消息不可达,最终在其环结构队列中将其删除。应用层多播组是共享信息路由转发的途径。每个节点的应用层多播组从自己维护的多解析环结构最内层的环中挑选节点。初始时应用层多播组中没有节点,多解析环结构中与中心节点延迟小的一组候选节点就被作为新的应用层多播节点。应用层多播组通过心跳机制来维护组内节点,通过周期性询问与应答来保证组内的存活节点。如果组内有死亡节点,则将之删除,启动节点挑选线程纳入新的节点加入。如果多解析环机构的最内层为空,则延时一个时间长度,以便多解析环结构在维护过程中填充最内层环,延时时间过后如果最内层环还是为空,则激发多解析环结构从服务器调度来重新构建环结构。(5)数据复制及对策为实现有效的数据主动复制机制,需要考察二个因素:1.确定启动数据复制流程的时机,2.数据的复制价值。确定启动复制时机的关键是能够对节点的行为,进行较为准确的预测。由于网络中每个用户的行为具有极大的随机性,准确预测的难度颇大。一个基本的思路是统计用户会话时长的历次分布,获取会话时长的平均值。分析用户当前在线时间与会话时长的平均值间是否存在某种关联,利用这种关联预测用户节点的退出时机。当然这种方法并不具有十分的准确性,但至少降低了数据复制的频度。引入需求系数和供给系数来度量数据的复制价值。被请求访问的数量越大,数据块的需求系数越高;数据块在用户缓存空间中副本数量越大,数据块的副本供给系数越高。因此,一个需求系数及供给系数高的数据块并不被赋予高的复制价值,而一个需求系数高、供给系数低的数据块将被赋予高的复制价值。综合上述分析,启动数据的主动复制机制,数据的供给系数是个重要依据,其优先级应高于需求系数,因为一个需求系数高但有众多副本备份的数据块再次启动累计复制的价值就很低;而分析用户当前在线时间与会话时长的平均值间是否存在某种关联,其结论也仅具统计价值,但确实也能起到部分缓解服务端的压力。确保缓存的数据块的快照信息与相应数据库中的缓存状态一致,关乎到数据文件的准确定位及当前数据块数据的正确性。由于客户机的存储能力有限,因此其处理缓存的策略是留新去旧,而被去除的旧的缓存数据是指磁盘中复制价值最小的数据槽。缓存服务器执行任何数据块的添加或删除操作,应该与该数据块所属文件的快照信息更新操作紧密结合,确保缓存的数据块的快照信息能够准确反映当前缓存的状态。任何数据库的添加或删除操作的失败将触发数据操作回滚和恢复。三、结论PPStore所构建的“存储服务云”,将分散孤立的网上存储服务资源实现统一管理,为用户提供更安全、更丰富的存储服务;PPStore对数据复制提出了合理的对策,具有高效率管理存储空间、减轻服务器压力的特点。PPStore利用可以轻松获取的网络上存储服务资源,因此具有极高的性价比,其规模可根据需要实现动态伸缩,将原来点到点的服务转化为面到点的服务,大大提高了服务质量。参考文献:[1]金海,袁平鹏著,语义网数据管理技术及应用,科学出版社,2010.2(受科学出版基金资助)[2]HayesB.CloudComputing[J].Com