APP下载

基于P2P分布式开放资源管理服务的云存储方案研究

2014-03-26

机电工程技术 2014年4期
关键词:快照客户端服务器

陈 敏

(广东电网公司,广东广州 510600)

1 概述

安全存储以及备份数据一直是人们在计算机存储领域关注的焦点。人们经常把数据存储于自己的单体计算机上。可是,单体计算机数据丢失的风险很大,比如系统错误、物理损伤、病毒感染、人为错误等,所以时常丢失重要的文件和数据。而且,单体计算机的存储容量是比较有限的,且扩张能力受到了很大的限制[1]。

分布式存储系统的问世使得存储方式从上述的集中式存储系统的缺点中得到了优化。分布式系统从某个角度来看有点同于把鸡蛋放进不同篮子里的理念。这其实是很多年前人类就有的意识,而非是新概念,并且可以追溯到工业控制领域由集散型控制变化至分布式控制的进程。这原理可以解释为在不同的服务器上形成大量的存储文件,它可以显著提高所存储的文件的安全性。分布式存储系统实际上是建立在网络存储系统(图1所示)中。该系统具有高透明性,不仅可以为用户提供高安全性,并能提供更高的可伸缩性。而分布式文件系统也有很多技术难点,其中有不同的接口和数据标准化、元数据集群的负载均衡以及快照备份等。实际上,计算、储存以及标准接口是所有的云系统建设成功的最基本的保证[2]。

图1 分布式文件系统框图

由于广域网的分布式存储系统通常仅限于局域网,并以构建分布式系统存储在更大范围内,网络文件系统理所当然地被提了出来;这是通过互联网联通的网格,融入整个网络可以实现资源存储、信息数据资源、以及其他资源全面协作共享。该协议GirdFTP是存储服务器使用更多的控制权后在FTP上的优化结果,所以,网格文件系统恰是分布式文件系统的扩张。

Google文件系统GFS就是Google公司应对大规模文件处理存储需要的结果,其结构如图2所示。GFS的主要组成部分有一个主服务器(mas⁃ter)、多个访问客户端(clients)以及多个块服务器(chunkserver)。而GFS实际上不具备多个主服务器,因此本质上是属于DCS分散控制系统,因此不可避免地存在单点故障[3]。

图3 服务端功能组图

图2 GFS的体系结构图

2 P2P云存储方案

2.1 系统目标

通过采用现有的网路存储服务,将其整理,这样就有了资源服务“云”,一个分布式资源管理服务系统由此形成。通过分散聚合和管理存储服务点,从而使原来的点被整合在各种存储服务中,形成关联的面至点的服务模式。可以在运行中把自己的系统规模放大。

一个好的云存储安全系统的建设有许多技术上的困难。其中有必不可少的较好的硬件系统、可靠的服务器和存储设备、安全的客户端程序、应用软件以及公共访问端口等。以可靠的存储设备为基础,通过软件程序支持从而最终构成一个可以对外进行访问和数据存储服务的复杂系统[4]。

2.2 功能模块组态

该系统首先需要获取和管理存储服务。这些存储服务可以通过各种方法得到。再者,要创建网络拓扑结构,需要整合各种存储服务。该系统一共有两个基础任务,即通过服务接口和客户端的配合,进行数据的共享处理和存储管理。

(1)服务端

服务端的组成部分有:存储服务管理、元数据管理、调度模块以及存储服务选择模块等。主要是用来提供数据存储管理服务,如图3。各功能模块定义如下:

存储服务管理器——用于管理存储群的效率,最大限度地提高存储点、存储组;

元数据管理——用于记录元数据,管理处理信息系统和期望的状态,以及和文件共享客户端共同处理共享任务。

(2)客户端

客户端的构成部分有:资源定位模块、本地数据管理模块、文件处理等模块,如图4所示。各功能模块定义如下:

资源定位模块——以元数据为基础,通过系统的当前状态判断和定位资源所在区域;

本地数据管理模块——接受服务器数据,存储于内存,缓解了服务器压力;

文档处理模块——可以用不同的方式对不同属性的文件进行共享。

由客户端来构建P2P覆盖网络,这样每个用户都相互共享文件,最终一定程度上解决了存储服务任务太重的问题。客户端通过保存一部分信息,如客户文件保存信息、客户的临接点。客户的操作记录等信息可以更好的维护覆盖网络。

(3)服务器—客户端功能模块配置

具体配置如图5所示。

图4 客户端组件功能

2.3 标准的数据传输接口

图5 服务器-客户端功能模块配置图

为了整合各种网络上的独立存储服务,系统需要接触到各种不同的应用协议,也就是说,需要设计一个标准的接口,这样它甚至可以解决多种数据集的帧格式。而且,出于长远性发展的考虑,标准接口应该是易于扩展的。本标准接口可以被看作是一个广泛适用的“编译器”,它可以在不同的帧格式下屏蔽不同协议的异质性。

2.4 数据共享的网络覆盖

每个节点以延迟量为基本依据来维护一个Meridian多解析同心结构。组播组节点应用就是基于这种环的结构。Meridian实际上是一个松散的非结构化网络拓扑结构。在Meridian中,每个节点负责维护若干相邻节点,而一个通信的多个解析环则是根据延迟量组织而成,如图6所示。Meridian通过上述方法不仅保证了连接,并且把相对较小等待时间的内部节点放在一起,确保了多组节点低延迟特征。应用层组播网络节点实际在拓扑结构上和Gnutella非常相似。

图6 拓扑结构

系统必须要添加新节点,添加新的节点的过程如下所述:向服务器发出调度服务请求,然后将请求发送到在调度中的其他节点,调度节点通过程序在自己的维护的各环中选择几个节点,通过各种子节点和新加入节点之间的测速,利用信息的延迟时间,找到最合适的种子节点。

新节点通过定期在其环结构中更新调度节点,新节点向调度节点发送种子节点请求信息,重复一个新节点被添加的过程系统,更新每层环结构的方法则是测试种子节点之间的延迟信息。一旦有节点退出,该节点所在环结构中心节点会发现与其之间的消息不通,从而将其删除出队列。

共享信息路由是通过应用层多播组转发的。不同节点的应用层多播组挑选节点的位置是自己维护的多解析环结构部分的最内层的环中。开始时应用层多播组中没有节点,选择中心节点与多解析环结构中延迟相对最小的一组候选节点作为新的应用层多播节点。应用层组播组的策略是心跳机制,它使用定期查询反馈以确保节点的活跃。一旦发现组内的死亡节点,系统便会把其删除,然后再用上述方式补充新节点。如果系统发现最内层多解析环结构为空,系统将延迟一个时间长度,以使多解析环结构维护和填充最里面的环,延迟结束后如果发现时间后最里面的环还未空,便要刺激解析环结构,然后通过系统服务器调度重建环状结构。

2.5 数据复制以及对策

如果系统要建立自动复制数据的更有效的机制,系统需要看两个因素,即:数据开始复制的时间和数据复制的价值。

对节点的操作进行比较准确的预测是确定启动复制时机的核心。但是,准确预测的难度是很大的,这其中的一个主要原因便是网络中各个客户的操作有很大的随机性和不确定性。为了解决这个问题,一个基本的方法便是通过获取用户历次会话情况从而得到会话长度的平均值。通过分析用户会话时长的平均值和当前在线时间的某种关联特征,利用这种特点判断预测用户节点的退出时间。虽然不能做到十分准确,但是可以提高准确性,最终减少数据复制的频度。

而估计数据的复制价值需要引入供给系数和需求系数。也就是说数据块的需求系数和被请求访问的数量成正比;供给系数和数据块副本数量成正比。最终,复制价值和需求系数成正比,和供给系数成反比。

综上,数据的供给系数相对于需求系数对于系统数据主动复制机制来讲是一个更重要的参数,这是由于一个数据块即使需求系数高,但该数据有了很多备份拷贝文件,从而复制价值反而可能比较低;而用户节点会话时间平均值与当前在线时间的某种关系,其结论也仅仅具一定的统计价值,不过这确实能够减少服务器的负担。

数据块数据的准确性和数据的准确定位的一个重要因素便是数据块在数据库中的缓存信息和数据块的快照信息的一致程度。而毕竟客户机的存储能力有限度,因而需要留下新数据去除旧的复制价值最小的数据。

为了保障当前缓存的状态能够正确无误地反映于快照信息,缓存服务器进行所有数据块的添加或删除操作都应该和该数据所属文件快照信息更新操作进行紧密结合。而任何一个数据库的添加或删除的失误操作都会触发数据操作的恢复和回滚。

为了保护缓存反映快照正确的信息的工作状态,缓存服务器添加或删除所有的数据块应和提交的信息的快照进行实时的信息交流。添加或删除任何数据库错误都将触发操作回滚和恢复。

3 结论

本文设计的开放资源管理服务系统,通过把孤立分散的网上存储服务资源进行统一管理,从而为用户提供了可靠、快速、低成本的存储服务;本系统一定程度上解决了系统数据复制任务太重的问题,提出了合理的措施,可以高效地管理服务器的存储空间,而且降低了数据复制任务的压力。该系统利用的是网上容易获取的存储资源,本系统采用的存储资源可以在网上获取,而且采用的是面到点的服务,规模可以后续伸缩,性价比高。

[1]金海,袁平鹏.语义网数据管理技术及应用[M].北京:科学出版社,2010.

[2]Hayes B.Cloud Computing [J].Communications of the ACM,2008,51(7):9-11.

[3] NAMJOSHI J,GUPTE A.Service Oriented Architecture for Cloud Based Travel Reservation Software as a Service[A].Proceedings of the 2009 IEEE International Con⁃ference on Cloud Computing (CLOUD’ 09)[C].USA:IEEE Computer Society,2009:147-150.

[4]王庆波,金涬,何乐,等.虚拟化与云计算[M].北京:电子工业出版社,2009.

猜你喜欢

快照客户端服务器
EMC存储快照功能分析
通信控制服务器(CCS)维护终端的设计与实现
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
一种基于Linux 标准分区的快照方法
创建磁盘组备份快照
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御