分布式存储管理

2024-05-24

分布式存储管理(精选十篇)

分布式存储管理 篇1

数据的备份、安全存储一直是计算机领域关注的热点之一。人们习惯于将文件或数据存储在自己运用的单体物理机上。然而,单体物理机面临着各种各样的不确定性风险,诸如系统的崩溃、硬件的物理性损坏、病毒感染、包括追悔莫及的人为误操作等等,因此重要文件或数据的丢失时有发生。此外,单体物理机的存储容量是极为有限的,且不具备不受限的扩展能力。

为了从上述集中式存储系统的不足中得以解脱,分布式存储系统的问世也就顺理成章了。分布式系统并非是什么新鲜概念,其源头或许可以追述到工业控制领域从集散型控制过渡到分布式控制的理解进程,忽多忽少有点类似于证券市场流行的不要将鸡蛋放在一个篮子里的理念。将文件存储在面阵分布的服务器群中并形成众多的镜像文件,文件存储的安全性自然得以大幅提升。分布式存储系统是建立在网络之上的存储系统(结构如图1所示)。分布式存储系统具有高度的透明性,为用户提供较高的安全性及可扩展性。处理来自于各种各样数据接口及各种各样数据格式的文件的归一化、系统的快照和备份、元数据集群的负载平衡等,是分布式文件系统所面临的技术难点。事实上,计算、网络和存储的标准接口是任何云系统成功构造的最基本保证。

由于广域网上分布式存储系统通常限于局域网内,为了构建更大范围的分布存储系统,人们提出了网格文件系统:期望在网格环境下,把整个因特网整合成可以实现计算资源、存储资源、数据资源、信息资源、专家资源的全面共享和协同,实现互联网上所有资源的全面连通。实际上,网格文件系统是分布式文件系统的延伸,所采用的传输协议GirdFTP只是在网格环境下对FTP进行优化,并要求对存储服务器拥有较多的控制权。

Google公司针对大规模数据存储、处理的需要,设计了Google文件系统GFS(结构如图2所示)。GFS由一个主服务器(master)、多个块服务器(chunkserver)和多个访问客户端(clients)组成。从GFS的组成可知,由于只有一个主服务器,本质上,GFS还是被束缚在集散型系统的思维框架内,系统存在单一的失效点。

2 ppStore云存储方案介绍

2.1 ppStore 期望实现的目标

利用现有网上丰富的存储服务,将之聚合并管理,使之形成一个资源服务“云”,实现分布式开放资源管理服务系统(以下简称ppStore)。通过对分散的存储服务点聚合并管理,使得由原来的点到点的形式转化为综合各种存储服务功能、相互关联的归一化的面到点服务模式。运行中,ppStore“服务云”的规模将不断得以自行扩大,赋予用户的服务功能也越发强大。

构建一个可靠的云存储系统,其中涉及的技术难点绝不仅仅是一个硬件系统,而是一个牵涉到网络设备及公共访问接口、服务器及存储设备、应用软件、客户端程序等组成的复杂系统。该复杂系统以存储设备为核心,通过应用软件来对外提供数据存储及访问服务。ppStore需完成两个基本任务:文件的存储管理和文件的共享处理。

2.2 ppStore功能模块组态

首先,ppStore需获取并管理存储服务。所幸的是这些存储服务相当容易得到。其次,对各种存储服务进行整合,最终创建网络拓扑结构。通过客户端和服务端的配合,完成文件的存储管理和文件的共享处理是ppStore需要完成的二个基本任务。

1) 服务端

服务端主要为数据存储提供管理功能,由元数据管理、存储服务管理及存储服务选择及调度等模块组成(如图3所示)。各功能模块定义:

(1) 元数据管理 记录元数据,动态维护系统中所需状态和索引信息,协助客户端完成文件共享操作。

(2) 存储服务管理 对存储群实行管理,尽力发挥存储群及每个存储服务点的服务效率。

2) 客户端

客户端由本地数据管理、文件处理和资源定位等模块组成(如图4所示)。各功能模块定义:

(1) 本地数据管理 接受服务器的元数据,并存于内存,以缓解服务器的压力。

(2) 文件处理 为不同属性的文件制定恰当的共享策略。

(3) 资源定位 以元数据为依据,综合系统的当前状态,定位资源所在位置 。

为了减轻存储服务的负担,客户端构成了一P2P覆盖网,用户之间可以对等地共享数据。为了维护覆盖网络,客户端保存以下元数据:客户的邻接点,客户保存文件信息,用户的部分操作记录以及在线时长等。

3) 服务端-客户端功能模块组态

图5为服务端-客户端功能模块组态图。

2.3 标准数据传输接口

为整合网络上各类独立的存储服务,需要应对各种应用协议。换句话说,需要设计一个标准接口来解析各种不同的数据组帧格式。并且,为了今后的发展,该标准接口必须是柔顺的、便以扩充的。这个标准接口实际上就是一个广泛适应的“编译器”,应该对不同协议所采用的不同组帧格式能够正确地屏蔽它们的异构性。

2.4 数据共享网络覆盖对策

以延迟量为依据,每个节点的底层维护一个基于Meridian的同心多解析结构,节点的应用层多播组建立在此环结构之上。Meridian是一种松散的无结构化网络拓扑,在Meridian中,每个节点维护一批固定数量的邻近节点,并根据延迟量被组织成同心的多个解析环(如图6所示)。Meridian保证了在满足连通性的情况下相互之间延迟小的节点被聚集在一起的要求,保证了多播组节点的低延迟特征。整个网络中的应用层多播节点类似于完全分布式的开放网络协议Gnutella网络的拓扑。

新结点的加入依照先向服务器上的调度服务后向所有调度节点发出请求的顺序,最终,调度结点在它们维护的多解析环的每个环上随机选择若干节点,这些选中的节点作为种子节点提供给新节点,新加入节点经过与这些种子节点测速后,得到与种子节点之间的延迟信息,为自己的多解析环选择合格的种子节点。

新节点构建起自己的多环结构后,定期在自己多环结构中的每个环上选取若干连接良好的节点组成调度节点,并向这些调度节点请求种子节点信息,重复新节点加入时的过程。通过与种子结点间的测速定期获取新的延迟信息,依据新的延迟信息更新每一层的环结构。如果有节点退出,退出结点所属环结构的中心结点与其通信时会发现消息不可达,最终在其环结构队列中将其删除。

应用层多播组是共享信息路由转发的途径。每个节点的应用层多播组从自己维护的多解析环结构最内层的环中挑选节点。初始时应用层多播组中没有节点,多解析环结构中与中心节点延迟小的一组候选节点就被作为新的应用层多播节点。应用层多播组通过心跳机制来维护组内节点,通过周期性询问与应答来保证组内的存活节点。如果组内有死亡节点,则将之删除,启动节点挑选线程纳入新的节点加入。如果多解析环机构的最内层为空,则延时一个时间长度,以便多解析环结构在维护过程中填充最内层环,延时时间过后如果最内层环还是为空,则激发多解析环结构从服务器调度来重新构建环结构。

2.5 数据复制及对策

为实现有效的数据主动复制机制,需要考察二个因素:(1) 确定启动数据复制流程的时机;(2) 数据的复制价值。

确定启动复制时机的关键是能够对节点的行为,进行较为准确的预测。由于网络中每个用户的行为具有极大的随机性,准确预测的难度颇大。一个基本的思路是统计用户会话时长的历次分布,获取会话时长的平均值。分析用户当前在线时间与会话时长的平均值间是否存在某种关联,利用这种关联预测用户节点的退出时机。当然这种方法并不具有十分的准确性,但至少降低了数据复制的频度。

引入需求系数和供给系数来度量数据的复制价值。被请求访问的数量越大,数据块的需求系数越高;数据块在用户缓存空间中副本数量越大,数据块的副本供给系数越高。因此,一个需求系数及供给系数高的数据块并不被赋予高的复制价值,而一个需求系数高、供给系数低的数据块将被赋予高的复制价值。

综合上述分析,启动数据的主动复制机制,数据的供给系数是个重要依据,其优先级应高于需求系数,因为一个需求系数高但有众多副本备份的数据块再次启动累计复制的价值就很低;而分析用户当前在线时间与会话时长的平均值间是否存在某种关联,其结论也仅具统计价值,但确实也能起到部分缓解服务端的压力。

确保缓存的数据块的快照信息与相应数据库中的缓存状态一致,关乎到数据文件的准确定位及当前数据块数据的正确性。由于客户机的存储能力有限,因此其处理缓存的策略是留新去旧,而被去除的旧的缓存数据是指磁盘中复制价值最小的数据槽。

缓存服务器执行任何数据块的添加或删除操作,应该与该数据块所属文件的快照信息更新操作紧密结合,确保缓存的数据块的快照信息能够准确反映当前缓存的状态。任何数据库的添加或删除操作的失败将触发数据操作回滚和恢复。

3 结 语

ppStore所构建的“存储服务云”,将分散孤立的网上存储服务资源实现统一管理,为用户提供更安全、更丰富的存储服务。ppStore对数据复制提出了合理的对策,具有高效率管理存储空间、减轻服务器压力的特点。

ppSsore利用可以轻松获取的网络上存储服务资源,因此具有极高的性价比,其规模可根据需要实现动态伸缩,将原来点到点的服务转化为面到点的服务,大大提高了服务质量。

摘要:云存储技术因其能为用户提供安全、海量、随时随地的数据存储功能而得以快速发展。提出利用网络上现存的自然分布于世界各地的大量免费存储服务,如网盘f、tp、email以及其他形式等存储空间,将这些服务集中起来,为用户提供价廉、可靠的存储系统。介绍一种低开销、快速度、高可用、可扩展的云存储拓扑系统,以期在该拓扑架构下实现以文件存储和共享服务为基础,不断扩展其他功能,最终形成一个分布式存储资源共享社区的目的。

关键词:云计算,云存储,分布式的数据存储,ppStore方案

参考文献

[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 BasedTravel Reservation Software as a Service[C]//Proceedings of the 2009IEEE International Conference on Cloud Computing(CLOUD’09),Sep 21-25,2009,Bangalore,India.Los Alamitos,CA,USA:IEEEComputer Society,2009:147-150.

分布式存储管理 篇2

今年,大数据将继续成为IT行业中备受瞩目的焦点;今年,存储将成为大数据分析领域最大的基础设施开支之一;今年,大数据下架构方向将走向分布式存储的架构。

分布式存储 未来存储的实现之最

近几年互联网行业迅猛发展,强有力的助推了存储产业,目前存储已成为IT基础架构的重要核心。特别是分布式存储系统在互联网行业的大量运用,已经明显影响到传统企业的存储解决方案。而且这种趋势日益明显。

云计算的出现为分布式存储带来了新的需求和挑战。在云计算环境中,数据的存储和操作都是以服务的形式提供的,加之数据的类型多种多样,如普通文件、虚拟机镜像文件这样的二进制大文件、类似XML的格式化数据,甚至数据库的关系型数据等,因此云计算的分布式存储服务设计必须考虑到各种不同数据类型的大规模存储机制,以及数据操作的性能、可靠性、安全性和简单性。

随着云计算的落地,大数据领域的风起云涌,要想利用大数据实现业务创新,必须重新审视存储解决方案。如果沿用传统的SAN方案,采用专用存储服务器来应对数据扩容的话,需要付出高额的前期投资,而且垂直化的专用存储管理软件,难以让不同的子系统之间共享存储资源,这就大大降低了企业的投资回报率。分布式存储就能很好地解决传统SAN难以根除的容量和性能均衡分布的难题。在分布式存储系统中,可对不同热度的数据采取不同的技术策略。

分布式存储是软件定义存储的一种实现,即分布式存储基本都是通过软件实现了存储的虚拟化;同时分布式存储也是云存储的一种实现,只不过云存储是一个更大的概念。

软件定义存储 倍受青睐

软件定义存储作为一个行业的发展趋势,与软件定义网络和软件定义数据中心颇为相似。软件定义存储应该具备云、企业级虚拟化及管理功能,通过抽象资源来实现灵活性和可扩展性。一直以来,专业人士通过抓住软件定义存储的技术,来摆脱原来以硬件为中心的思维框架。随着软件定义存储平台的拓宽,在硬件、软件和云存储供应商之间的区别将会模糊,直至消失。

从市场需求的角度来看,软件定义有更灵活的优势,能够满足不同用户的需求,很大程度上,软件定义的存储是来源于用户的扩展性和灵活性的需求。在海量的存储中,通过软件来有效的分析并且控制,软件定义的存储为企业节约了大量资源。软件定义存储还打破了软件和硬件之间的连接纽带,可以允许管理员去购买低成本的商业服务器。对于想要满足日益增长的存储要求的服务提供商来说,轻便并配有高效软件的商业服务器可以大量的减少预算。在便捷性与成本的较量中,使用传统方法的设备可能会看起来颇具吸引力,但是此便捷性是用高成本换来的,对后续想要扩展的数据中心来说,复杂软件和备份硬件的附加层所带来的额外费用会导致成本的大幅上升。

在“软件定义存储”中,由软件来定义如何保护和分配数据,如何管理和开启设备,而不是依靠人工的干预。它应具有多种部署选项,可用于不同类型的存储,在企业级存储或纯软件的环境中都能运行。从市场角度看,具备这种架构能力的存储厂商将走在领域前沿,更快地响应市场需求。

云存储 热潮来袭

云计算带来了全新的数据处理模式,同时也衍生出了云存储的概念。作为一种新兴的技术理念,正在改变着传统存储的提供与使用方式,也对存储行业带来了深远影响。云存储作为一种能够将网络中大量不同类型的存储设备联系起来的存储方式,如今已被越来越多的企业所接受并采纳。随之而来的是,公有云、私有云、混合云等不同形式的云存储已开始浮出水面。

云存储正在成为全球存储行业的发展潮流之一,云存储产品的应用范围正在不断扩大,并且客户群也更加细分。针对千差万别的行业应用需求,各行业用户只有应用创新的弹性系统架构,才能满足动态增长的存储需求。而结合其创新的弹性云存储系统架构,并采用了分布式存储技术和统一监控管理平台的大规模分布式云存储文件系统,将成为帮助各行业实现海量数据存储、容灾和备份的新模式。对于那些具有较大数据量和高并发访问的应用而言,大规模分布式云存储系统是一个能够提供海量存储空间,并支持灵活扩展、高性能访问的文件共享存储平台。对比于传统的存储系统,分布式云存储系统专门针对大规模分布式数据处理和多媒体应用的特性而设计,可被众多客户端访问。

然而云存储的最大优势体现在灵活的可扩展性方面,企业可以在原有存储架构的基础上,增加存储设备及扩大存储容量,升级为云存储,而不需要花费太多成本。

众所周知,公有云最鲜明的代表就是目前国内竞争激烈的“网盘”服务。用户可以将自己的资料和数据存储在“网盘”中,在不同的设备、不同的平台,随时随地接入网络就能访问和分享数据和资料。也有一些企业借助数据中心托管的方式,将企业数据放置到数据中心,也是一种便利的方法。而对于一些看中安全及保密的企业来说,私有云则在公司内部设立,只有内部权限才能访问,能够保证安全,也就意味着企业需要添置大量的存储设备,以应对大幅增长的数据需求。同时,混合云可以将公有云和私有云结合在一起,可根据用户的特定应用程序和服务等级需求进行优化。如公司需要临时配置容量,可从公有云上划出一部分容量配置私有云,可以有效解决公司迅速增长的负载波动或峰值问题。

结语

在企业实施信息化的过程中,构建一个存储系统是一件复杂的事情,它与用户的应用需求、原有的IT环境、IT资金投入等许多方面都密切相关。当前企业用户对存储容量的需求与日俱增,但存储的使用率却普遍偏低,大多是以一种“孤岛”的形式存在,存储资源的利用率并不高。因此,系统的规划和设计至关重要。系统在实施过程中遇到的存储整合和系统集成等一系列问题如何解决,这也是保证系统成功实施的关键。

分布式存储系统调查 篇3

由于数字设备的产生及快速发展(例如个人电脑、笔记本电脑、平板电脑、及智能电话等),因此新的数据不断产生,其规模越来越庞大。

根据市场研究公司IDC的一项调查显示,全球数字数据量每2年便翻一番。2011年的数据量将达到里程碑式的1.8泽字节(ZB),也就是1.8万亿G字节。IDC调查了一年中世界范围内原创或复制的数据发现:全球IT从业人数的增长并没有与服务器、数据管理及非结构化数据的大量增加成正比。到2020年,服务器数量将是现在的10倍,信息量将是现在的50倍。根据该调查得出的结论,到2020年,全球对从事管理数据工作的IT专业人员的需求量将是现在的1.5倍。

如何有效地管理和存储这些海量的数据,这一难题成为业界所关注的焦点。而分布式存储系统被认为是针对该问题的最佳解决方案,也越来越受到大家的关注。

2 传统的存储系统

2.1 直连式存储(D AS)

开放系统的直连式存储(Direct-Attached Storage,DAS),已经有近40年的发展历史,它的特点是:存储设备是通过电缆(通常是SCSI接口电缆)直接连接服务器。I/O (输入/输出)请求直接发送到存储设备,它基于服务器,其本身是硬件的堆叠,不带有任何存储操作系统。它的缺点是:①管理复杂;②主服务器容易成为访问的瓶颈;③缺乏数据共享能力;④扩展能力有限;⑤不能在线扩展和维护。

2.2 网络附属存储(NAS)

网络附属存储(Network Attached Storage,NAS)是一种将分布、独立的数据整合为大型、集中化管理的数据中心,以便对不同主机和应用服务器进行访问的技术。

NAS被定义为一种特殊的专用数据存储服务器,包括存储器件(例如磁盘阵列、CD/DVD驱动器、磁带驱动器或可移动的存储介质)和内嵌系统软件,可提供跨平台文件共享功能。但是,文件服务器容易成为整个系统的瓶颈,例如在大规模数据访问时会出现性能方面的问题。

2.3 存储区域网络(SAN)

存储区域网络(Storage Area Network)的支撑技术是光线通道(Fiber Channel)技术,这是ANSI为网络和通道I/O接口建立的一个标准集成。支持HIPPI、IPI、SCSI、IP、ATM等多种高级协议,它的最大特性是将网络和设备的通信协议与传输物理介质隔离。这样,多种协议可在同一个物理连接上同时传送,高性能存储体和宽带网络使用单I/O接口使得系统的成本和复杂程度大大降低。

SAN的主要特点是:①具有较高的扩展能力和高存储能力;②数据分享能力有限;③安全性较差。

3分布式存储系统分类

分布式存储系统从数据存储模型上来看,可以分为以下几类。

3.1 存储虚拟化

全球网络存储工业协会(Storage Networking Industry Association,SNIA)对存储虚拟化做了如下定义:从应用、计算机服务器或者一般的网络资源中抽象、隐藏或隔离存储系统,使应用和网络可以独立地管理、存储及获得数据。使用存储虚拟化的应用服务或者设备可以集成不同的存储设备,还能添加底层存储资源来扩展存储能力。

对存储虚拟化(Storage Virtualization)最通俗的理解就是对存储硬件资源进行抽象化表现。通过将一个或多个目标(Target)服务或功能与其他附加的功能集成,统一提供有用的全面功能服务。典型的虚拟化情况有:屏蔽系统的复杂性,增加或集成新的功能,仿真、整合或分解现有的服务功能等。虚拟化是作用在一个或者多个实体上的,而这些实体则是用来提供存储资源或服务的。

存储虚拟化的主要特点是:①通过虚拟化集中管理现有的存储资源以提高资产利用率;②不会增加管理和配置的复杂程度;③可以通过增加新的存储资源(通常是硬件设备),提高线性的扩展存储能力,但不会产生数据搜索方面的问题;④提供安全性更高的租户管理机制,因此用户和数据可以共享虚拟化的资源,而不受其他用户的影响;⑤可以无缝集成多个存储厂家的存储设备,避免了厂家锁定的问题。

存储虚拟化技术在实现层面上划分,有以下几种类别:①基于主机的虚拟化,这是存储虚拟化最早期的实现形式,它在主机的操作系统上基于存储虚拟化软件实现其功能;②基于存储网络的虚拟化是指,在存储的网络层中嵌入智能存储资源管理软件的技术;③基于存储控制器的虚拟化,该架构在阵列的存储控制器上执行虚拟化。一个第三方厂家的阵列可以简单地通过插到FC端口上的方式被虚拟化,解决了一般基于阵列虚拟化的厂家锁定的问题。

3.2 分布式对象存储系统

SNIA的对象存储设备是这样定义的:①一种新的SCSI存储设备;②对象可以类比为传统的文件;③对象是自完备的,包含元数据、数据和属性;④存储设备可以自行决定对象的具体存储位置和数据的分布;⑤存储设备可以对不同的对象提供不同的QoS;⑥对象存储设备相对于块设备具有更高的智能性,上层通过对象ID访问对象,而不需要了解对象的具体空间分布情况。

与传统存储模型相比,对象存储模型有了如下改变:①基于对象的存储,将存储模块转移到存储设备中;②基于对象的存储,将设备的访问接口转变为对象访问接口。传统存储模型与对象存储模型对比情况如图1所示。

对象是平等的,分布在一个平面中,而非文件系统那样的树状逻辑结构中,这也就给了用户很大的操作空间——可以利用对象构建文件系统,也可以直接使用这个平面空间。

用对象替代传统的模块的好处在于:对象的内容本身来自应用,具有“原子性”,因此可以做到:①在存储层进行更智能的空间管理;②内容相关的数据预取和缓存;③可靠的多用户共享访问;④对象级别的安全性。

同时,对象存储架构还具有更好的可伸缩性。对象存储模型如图2所示。

一个对象除了包含ID和用户数据外,还包含了属主、时间、尺寸、位置等源数据信息,以及权限等预定义属性,乃至很多自定义属性。对象存储设备中的对象分成4类:①用户对象,应用创建的普通对象;②集合对象,一组具有共同点的用户对象的集合;③分区对象,容纳用户对象和集合对象的容器,包含了有某些空间管理、安全等方面(比如quota)的共性的对象;④根对象,对象存储设备自己。

3.3 分布式文件系统

分布式文件系统或网络文件系统是指那些可以通过计算机网络访问存储在多个主机中的数据的文件系统,这使得在多用户之间和多应用之间共享数据和存储资源成为可能。

分布式文件系统最初产生于1980年代,其代表是NFS(Network File System)和AFS (Andrew File System)。2000年以后,分布式文件系统得到了更多的关注和长足的发展,其中以GFS (Google File system)和Lustre最为著名。

现在的分布式文件系统更加专注于高性能、高扩展能力、高可靠性、系统的高可用性和容错能力。以GFS为例,它构建在相对便宜的计算机节点上,通过以下手段达到了以上提出的需要付出高昂成本才能实现的存储能力:①通过将控制流与数据流分离的方式来提高系统的吞吐率,用户可以并行在多个节点上提取数据;②将数据分成同等大小的数据块,以方便数据的迁移和复制;③每个数据块都有多个(通常是3个)存储副本,以提高数据的可靠性和读取速度;④一个数据块可以被分布到不同的机器上,以提高系统的容错能力。GFS系统架构如图3所示。

4 结语

分布式存储系统可以存储海量数据,它具有性价比高及灵活的可扩展性等特点,在工业界和学术研究领域得到广泛关注。本文从传统的存储系统出发,比较了传统的存储系统和目前流行的分布式存储系统的区别与联系。同时,对分布式存储系统的分类及特点进行了初步分析。分布式存储系统有多种不同的实现原理和方法,适用于不同的应用领域,我们需要根据应用特点来选择合适的存储方式。

摘要:随着现代IT系统的发展,数据的规模越来越庞大,并且增速也越来越快,因此传统的存储系统遇到了前所未有的挑战。目前,已经有很多公司和组织使用分布式存储系统对其海量数据进行存储和管理,并且越来越多的其他用户也希望能够将其应用于云存储系统中,从而获得更好的性能和更低廉的价格。分布式存储系统作为云存储技术的基础得到了越来越广泛的应用,其中存储虚拟化常常被用于私有云存储的方案中,而面向对象的存储和分布式文件系统被更多地应用于公有云的系统中。文章介绍了目前流行的分布式存储系统,并为用户选择分布式存储系统提供参考。

关键词:分布式存储,文件系统,对象存储,分布式,存储虚拟化,存储,云存储

参考文献

[1]Sanjay Ghemawat,Howard Gobioff,and Shun-Tak Leung.The Google File System[A].19th ACM Symposium on Operating Systems Principles[C].Lake George,NY:October,2003.

[2]Jonathan Corbet.Linux and object storage devices[EB/OL].http:// lwn.net/Articles/305740/osd.html,2008-11-04.

分布式存储管理 篇4

在分布式存储系统中,系统可用性是最重要的指标之一,需要保证在机器发生故障时,系统可用性不受影响,为了做到这点,数据就需要保存多个副本,并且 多个副本要分布在不同的机器上,只要多个副本的数据是一致的,在机器故障引起某些副本失效时,其它副本仍然能提供服务。本文主要介绍数据备份的方式,以及 如何保证多个数据副本的一致性,在系统出现机器或网络故障时,如何保持系统的高可用性。数据备份

数据备份是指存储数据的多个副本,备份方式可以分为热备和冷备,热备是指直接提供服务的备副本,或者在主副本失效时能立即提供服务的备副本,冷备是用于恢复数据的副本,一般通过Dump的方式生成。

数据热备按副本的分布方式可分为同构系统和异步系统。同构系统是把存储节点分成若干组,每组节点存储相同的数据,其中一个主节点,其他为备节点;异 构系统是把数据划分成很多分片,每个分片的多个副本分布在不同的存储节点,存储节点之间是异构的,即每个节点存储的数据分片集合都不相同。在同构系统中,只有主节点提供写服务,备节点只提供读服务,每个主节点的备节点数可以不一样,这样在部署上会有更大的灵活性。在异构系统中,所有节点都是可以提供写服务 的,并且在某个节点发生故障时,会有多个节点参与故障节点的数据恢复,但这种方式需要比较多的元数据来确定各个分片的主副本所在的节点,数据同步机制也会 比较复杂。相比较而言,异构系统能提供更好的写性能,但实现比较复杂,而同构系统架构更简单,部署上也更灵活。鉴于互联网大部分业务场景具有写少读多的特 性,我们选择了更易于实现的同构系统的设计。

系统数据备份的架构如下图所示,每个节点代表一台物理机器,所有节点按数据分布划分为多个组,每一组的主备节点存储相同的数据,只有主节点能提供写 服务,主节点负责把数据变更同步到所有的备节点,所有节点都能提供读服务。主节点上会分布全量的数据,所以主节点的数量决定了系统能存储的数据量,在系统 容量不足时,就需要扩容主节点数量。在系统的处理能力上,如果是写能力不足,只能通过扩容主节点数来解决;而在写能力不足时,则可以通过增加备节点来提 升。每个主节点拥有的备节点数量可以不一样,这在各个节点的数据热度不一样时特别有用,可以通过给比较热的节点增加更多的备节点实现用更少的资源来提升系 统的处理能力。

同步机制

在上面的备份架构中,每个分组只有主节点接收写请求,然后由主节点负责把数据同步到所有的备节点,如下图所示,主节点采用一对多的方式进行同步,相 对于级联的方式,这种方式在某个备节点故障时,不会影响其它备节点的同步。在CAP理论中,可用性和一致性是一对矛盾体,在这里主节点执行写操作后会立即 回复客户端,然后再异步同步数据到备节点,这样并不能保证主备节点的数据强一致性,主备数据会有短暂的不一致,通过牺牲一定的一致性来保证系统的可用性。在这种机制下,客户端可能在备节点读到老数据,如果业务要求数据强一致性,则可以在读请求中设置只读主选项,这样读请求就会被接口层转发到主节点,这种情 况下备节点只用于容灾,不提供服务。

为了保证主备节点的数据一致性,需要一种高效可靠的数据同步机制。同步分为增量同步和全量同步,增量同步是主节点把写请求直接转发到备节点执行,全量同步是主节点把本地的数据发到备节点进行覆盖。接下来详细介绍同步机制的实现,同步的整体流程如下图所示。

系统中数据分片的单位是一致性哈希环中的VNode(虚拟节点),每个VNode有一个自增的同步序列号SyncSeq,VNode中所包含的数据 的每一个写操作都会触发它的SyncSeq进行自增,这样在每个VNode内SyncSeq就标识了每一次写操作,并且SyncSeq的大小也反映了写操 作的执行顺序。数据的每次写操作除了修改数据,还会保存写操作对应的SyncSeq,后面可以看到,SyncSeq是同步机制可靠性的基础。

主节点的写进程收到写请求后,先修改数据,把当前VNode的SyncSeq加1并更新到数据中。接下来会记录Binlog,Binlog是一个三元组

主备节点的数据同步由主节点上的同步进程异步进行,通过扫描上图的同步进度表中主备节点的SyncSeq差异就可知备节点需要同步哪些数据。同步进程通过同步进度表确定需要同步的二元组

接下来介绍一下同步协议如何保证同步的高效和可靠。为了让同步包严格按照主节点的发送顺序到达备节点,采用TCP协议进行同步,在主节点的每个 VNode上到每一个备节点建立一个TCP连接,记为一个同步连接。在每一个同步连接上,主节点会一次性批量发送多个同步包,备节点也会记录已同步的 SyncSeq,对每一个同步包会检查携带的SyncSeq是否符合预期,如果符合预期,则执行同步写操作,执行成功是更新已同步的SyncSeq,在这 种情况写备节点也不需要回应主节点,主节点在未收到备节点的回应时,会认为同步一切正常。只有以下异常情况下,备节点才会回应主节点:

在正常同步后第一次收到错误的SyncSeq,回应主节点自己所期望的SyncSeq,主节点收到回应后,会从备节点所期望的SyncSeq开始同步,需要注意的是,备节点在连续收到错误SyncSeq时,只需对第一个错误回应,否则主节点会出现重复同步的情况;同步连接在断连后重新连接时,备节点告知主节点自己所期望开始同步的SyncSeq,主节点从该SyncSeq开始同步;SyncSeq符合期望但执行出错,一般是增量同步才可能出现,备节点回应主节点同步出错,主节点收到回应后,把出错的同步包改为全量同步。

在增量同步和全量同步交叉进行的情况下,如果某次全量同步已同步了最新的数据,后续的增量同步可能导致写操作重复执行,为了避免这种情况,备节点会 校验同步包中的SyncSeq和数据中的SyncSeq,如果前者不大于后者,说明数据已执行了这次写操作,直接跳过不执行,也不需要回应主节点,这就是 为什么需要在数据中保存SyncSeq的原因。

通过上面介绍和分析,可以看出采用同步连接、批量同步的方法,正常情况下只有单向的同步流量,是非常高效的;而在异常情况下,通过出错回应、SyncSeq校验等机制,保证了同步的可靠性。容灾机制

如果系统需要具有容灾能力,即在机器发生故障时,系统的可用性基本不受影响,那么系统中所有数据至少需要有两个以上的副本,并且系统的处理能力要有 一定的冗余,需要保证在故障机器不能提供服务时,系统不会过载。一般来说,数据的副本数量越多,系统的处理能力越冗余,系统的容灾能力越强。更进一步,还 需要考虑物理部署,通过把数据的不同副本分布在不同机架、不同机房、甚至是不同城市,来把系统的容灾能力提升到不同的级别。

配置运维中心会监控系统存储层所有节点的状态,存储节点会定时上报心跳,如果配置运维中心在一段时间未收到某个存储节点的心跳,则把该节点的状态标 记为故障,并进行故障处理流程。首先需要禁止故障节点继续提供服务,即通知接口层不再把客户端请求转发的故障节点,如果故障节点是主节点,配置运维中心会 查询并对比所有备节点的同步进度,选择数据最新的备节点,将其切换为主节点。由于所有备节点也会记录Binlog,所以在切换为主节点之后,可以直接向其 它备节点进行同步。这里的主备切换可能会导致少量的数据丢失,如果业务不能容忍这样的数据丢失,则需要使用其它强一致性的方案。

在容灾切换之后,还需要进行故障节点的恢复,以便系统恢复到正常的状态。故障机器恢复后,就会进入死机恢复流程,无论故障节点在故障前是主节点还是 备节点,故障恢复后的角色都是备节点。首先待恢复节点需要把机器上所有的数据清空;接着主节点会把当前所有VNode的SyncSeq复制到待恢复节点,并且全量复制所有数据;在全量复制完成之后,开始进行数据同步,由前面的同步机制可知,同步的SyncSeq会从之前复制到待恢复节点的状态开始追赶;在 主节点和待恢复节点之间的SyncSeq差异缩小到正常范围时,待恢复节点的角色就变为备节点,开始提供服务。

配置运维中心会监控主备节点之间的SyncSeq差异,如果某个备节点差异达到一定的阈值,则禁止该备节点提供服务,如果差异在比较长的时间之后仍然无法恢复,则会触发死机恢复流程。数据回档

最后再简单介绍下数据冷备和回档,主要是由备份系统负责。备份任务一般是手动或定时发起,属于业务级别的,备份系统收到一个业务的备份任务后,会远 程备份业务的所有数据,过程比较简单,就是遍历所有的存储节点,把属于该业务的所有数据写入到远程文件系统中,每次备份都需要记录开始时间和结束时间,作 为数据回档的基准。

云计算环境下的分布存储的相关技术 篇5

关键词:云计算环境;分布存储;相关技术

中图分类号:TP333

随社会与科技的发展进步,作为新型计算手段的云计算,在现阶段科学计算与商业计算中所具有的作用越来越重要。而因云计算的数据存储具有较大的规模,很容易就出现数据失效或者消失的情况,不但使其成本增加,也在一定程度上限制云计算的应用与推广。云计算通过浏览器的访问模式向商业提供通用的在线服务,给用户提高可配置并且能资源共享的计算方式,并把大量数据在数据中心内存储,给上层提供更为安全可靠的资料数据,从而实现其作用的发挥。

1 云计算及其产生的背景

1.1 云计算

云计算是指能够提供大量的信息与数据的计算存储服务,也是在科技的发展中而形成的新型计算模式,其能够为用户提供更为方便、更为安全可靠的计算与存储服务。云计算能够结合网络设备与数据节点,建立起一个或多个大型数据中心,从而为用户提供更多的基础服务,满足用户需求。云计算将大量数据库在数据中心不同的节点上存储,也有被存在不同数据中心不同的节点上,而数据信息存储的位置对其使用的用户所提供的服务具有透明性与共享性,用户使用云计算只需提供其访问节后,便能读取在数据中心当中的相关信息[1]。云计算的存储能够给用户提供的服务更为安全可靠,在一定程度上对于成本费用的减少具有促进意义,用户能够根据需求来存储数据,避免了存储空间的浪费。但是因云计算存数数据的信息量非常巨大,对于成本费用与存储技术的要求还需进一步改善。

1.2 云计算产生的背景

当前信息时代的到来,使得计算机在各行各业当中被广泛的应用,使得存数数据的量也随之增加。而随数据量增加,在原有计算机当中的计算模式难以满足当前的需求,因此,云计算应运而生,并有效的处理在数据计算与数据存储当中存在的一些问题,满足其存储需求。云计算在数据分布和存储技术当中,主要是根据用户本身需求来分析计算机存储系统,接着用户再根据本身需求在互联网上购买相应的存储空间[2]。在云计算存储中,数据在数据中心各个节点中被存储,接着数据中心再合理的编排这些数据,同时经由专门端口来把数据传送到客户中,加上云计算的使用,最大的特点是能够实现资源的共享,为用户使用提供更为方便快捷的服务。

2 云计算的环境下分布存储关键技术

2.1 容错性

以往一般都采取高性能的服务器与专用存储设备及RAID技术将存储的容错性有效提高,但是这个方法手段的成本过高,而云计算的供应商所获取的利润比较低,并呈现逐渐降低的趋势,再加上巨大的节点规模与数据量,数据失效率也被进一步提高,并在云计算的环境之下,数据失效逐渐成为一种常见的状态[3]。这样就很容易出现错位行为,对云计算供应商与客户服务带来非常大的损失,所以针对这个问题,必须采取有效的解决对策将其有效的处理。

2.2 可扩展性

在以往以个人的计算机作为核心的数据存储当中,提高计算机可扩展性的主要手段就是运用一个预留磁盘来达到可扩展性要求,这样的方法在以往数据量比较少的时候还能够适用,但是在当前数据量不断增加的现状中,云计算的数据量更为庞大,不管是哪个供应商所提供的存储手段皆难以满足当前的数据存储相关要求[4]。由此可以看出,要求数据中心存储的硬件与组织结构必须具有较大可扩展性,并且只有加大的可扩展性,才可以不断适应数据的存储要求,从而进一步满足用户需求,提高用户满意度。

2.3 成本控制

以往分布存储的数据与节点规模都较小,对于能耗要求也比较低,所以其成本也就比较少。而在云计算的发展环境中,分布存储与数据变得越来越多,其规模也变得原来越大,能耗开销变得越来越重,应用的范围也变得更加的宽广。于制冷设备和散热设备当中的投入越来越大,使得对成本的有效控制就成为几个亟需解决的重要问题。采取降低能耗的方式,不但可以延长设备硬件的使用寿命,还能给商家一个更加简单的获利手段,其在低碳生活理念的范畴当中,为保护环境提供一个新的卖点。

3 在云计算的环境下对分布存储相关技术结构进行对比分析

3.1 将交换机作为核心的结构

该结构主要是通过交换机把数据中心当中的各个服务器有效的连接,从而构建层次分明的树形结构,主要由边缘层与聚合层以及核心层构成。而交换机主要负责的是将服务器连接的用时负责转发相关的数据包,这种将交换机作为核心的结构在操作的过程中非常简单、易于上手,并且较为方便,但是其灵活性相对较差,下层服务器只是负责数据的存储与处理,并不需占用到CPU资源,其利用率也比较低。

3.2 将服务器作为核心的结构

该结构不需要通过交换机来将数据进行转发,在这个结构当中,转发数据的任务就交接给了服务器,主要是由于服务器不但要对数据进行存储与处理,还要转发相关的数据包。这种将服务器作为核心的结构在线路的连接与结构的组成中较为方便快捷,能够让服务器和底层网络交互作用[5]。但是因其没有了交换机,使得该结构链路冗余比较多,导致服务器所具有的负担比较中,从而造成服务器整体的计算效率进一步降低,使得性能发生损失,加大了运行的成本。

3.3 混合结构

所谓的混合结构,就是将交换机作为核心的结构和将服务器作为核心的结构相结合,通过交换机作为服务器的连接节点,并在服务器当中安装更多网卡,同时通过交换机与服务器来提供数据路由的转发功能,从而让服务器参与到转发数据包的功能当中,但是其需要占用比较大的CPU资源。而采取混合结构所具有的灵活性更高,能够有效的在特定网络场景结构当中应用,并在相同的条件之下,其所需消耗的成本更加低。

4 结束语

综上,云计算于商业计算与科学计算的领域当中被广泛应用,数据中心在云计算当中作为基础性存在,必须有效的解决当前大量数据环境中分布存储所出现的容错性与可扩展性及成本控制等问题。由此可知,在数据中心的网络拓扑构建技术应用当中,其分布存储技术还需要进一步研究,而有效的将云计算的环境下分布存储技术所具有的容错性提高,创新节能技术来降低能量消耗,充分的应用各方面有用技术,对构建一个具有较强容错性与良好扩展性及低成本的分布存储技术具有重要的促进作用。而在当前的现状下,在云计算的环境中构建出一个较为先进科学的分布存储空间还具有较大的难度,这就给未来相关的研究指明了研究的方向。

参考文献:

[1]李华清.云计算体系架构与关键技术分析[J].电子制作,2014(14):201-203.

[2]曹鲁.云计算数据中心建设运营分析[J].电信网技术,2012(23):514-516.

[3]叶可江,吴朝晖,姜晓红.虚拟化云计算平台的能耗管理[J].计算机学报,2012(32):821-823.

[4]张莉.浅谈云计算技术国内发展现状[J].计算机光盘软件与应用,2012(25):502-505.

[5]龚兰兰,刘晓升,朱巧明.远程调试系统的关键技术分析[J].计算机应用与软件,2010(08):441-443.

作者简介:陈晓红(1966-),女,罗田人,副教授,硕士,研究方向:计算机应用。

数字图书馆分布式存储设计 篇6

随着数字图书馆建设的发展,传统的集中式数据服务模式显然已经无法满足当前需求,这就要求人们在数据分散的环境下,在众多不同地域、不同技术平台、不同组织检索方式并存条件下,研究在数字资源存储管理中需要解决的问题,建立针对海量数据的有效存储机制,整合整个分布环境中的资源和服务[1]。这种有效的分布式存储管理框架及其实现无疑成为了当前的研究重点。在数字图书馆数字资源建设中,直接存储和管理数字资源的数字资源服务管理系统是分布式存储体系中最为关键的系统,本文在对现有数字图书馆分布式存储框架进行研究与分析的基础上,探讨数字资源服务管理系统设计与实现。

1数字图书馆分布式存储结构框架

数字图书馆中在资源建设阶段生成的数字资源,由分布式存储结构进行 存储和管 理,然后才能 向用户提 供服务。具体而言,分布式存储体系应提供如下关键功能:数字资源存储与管理、数字资源调度、数字资源发布。分布式存储系统存储和管理的数据由数据获取层提供,包括对原始资源的加工和对网络数据的采集。整个存储结构层由数字资源发布、数字资源存储与管理、数字资源调度等几个单元组成。在存储结构之上由数字资源服务层为用户提供服务。目前的存储结构在整体上已经体现出了分布式存储管理体系的主要功能和相互关系,随着数字图书馆资源建设的发展,也遇到了一些需要解决的问题:1由于不同的数字资源具有不同的存储和访问特点,在进行数字资源的分布式存储与管理时也必须针对特定数字资源的不同特点进行有针对性的设计[2];2随着图书馆馆藏资源数字化进程的发展,在进行馆藏资源管理时必须考虑把馆藏数字化资源以资产的方式进行管理,以真正体现数字化资源的价值。

因此,需要将资产化管理的方法引入数字图书馆的数字资源存储与管理中,在分布式存储与管理这一层次体现出这一点。针对上述两个问题,本文将进行相应的分析和探讨,并提出改进后的数字资源存储与管理结构框架。

1.1特定数字资源的存储与管理需求

根据数字资源建设相关技术标准,必须保持馆藏资源原貌,尽可能向读者提供资源的最充分信息。对于这几种数字资源的对象数据,采用图像文件形式,用TIFF作为原始文献的无损格式,同时以不同尺寸的JPG文件作为文献资源的辅助参考格式[3]。在设计分布式存储结构时, 应考虑图形对象的特点进行针对性的设计。

如图1所示,针对每种数字资源,都对应一个数字资源管理服务系统,但所对应的数字资源并不一定存储在不同的对象服务器中。根据数据量的多少以及本身存取特点的异同,它们可以存储在同一台对象服务器中,甚至同一个数据库中。

1.2数字资源存储与管理模块组成结构

数字图书馆中存储的数字资源应由两部分组成:为用户提供服务的数字资源、进行仓储的数字资源。数字资源存储与管理模块应由以下两部分组成:一是管理面向用户的数字资源的数字资源服务管理系统;二是以资产的方式进行管理的数字资源仓储系统[4]。为了实现数字资源存储与管理模块内部的模块化,并将数字资源的资产化管理引入到数字资源存储与管理中,提出数字资源存储与管理模块如图2所示。

分布式存储体系中的数字资源存储与管理模块由直接面向用户的数字资源的一些并行管理模块,以及实现数字资源资产化管理的数字资源仓储管理系统共同组成。

2服务管理系统设计

数字对象管理服务器是数字图书馆建设的基本软件系统之一,是数字文献资源发布的第一个环节,它负责数字对象的存取、显示;同时负责向元数据检索管理子系统发布有关数字对象的元数据。其主要功能模块应包括如下几项:用户验证、数据管理、数字对象存储管理、检索系统、元数据分发。系统内各主要功能模块的结构及关系如图3所示。

由图3可以看出,用户验证 模块用来 保证数字 资源服务管理系统的安全性,只有经过 合法授权 的数字资 源管理者才能登陆使用数字资源服务管理系统。经过资源加工标引后的数字资源分为元数据和对象数据传递到数据管理模块,其中元数据需要事先由MARC元数据转换成DC元数据。数据管理模块通过数字对象存储管理模块把不同的对象数据存储到相应的服务器中。为了给数字资源服务层的资源整合 检索提供 服务,元数据分 发模块还向检索系统提供元数据检索服务并向其发布检索到的元数据。

3数字资源集成设计与实现

3.1异构数据集成方式

为解决数字图书馆中异构数据的集成问题,可以在应用程序与数据库数据之间设置一个中间层,通过中间层用XML把数据封装成统一格式,然后再进行相应操作。异构数据集成方式如图4所示。

图4所示的异 构数据库 可以是IBMDB2、MSSQL Server、Oracle、Informix、Sybase、Access等主流的 商业数据库系统。这些数据源之间彼此独立,由不同的建设单位管理。各异构数据库通过相应的数据库驱动把数字对象提交给中间层,转换成统一的XML标记数据。

结构的第二层属于“中间件”层,负责将各异构数据源的数据转换成可以交互的格式,通常是XML格式。这一层的标准语言是XML。第二层通过提供统一的接口API为应用业务的开发提供标准的XML接口,这使得开发者不必再去区分是对数据库进行操作还是对XML文档进行操作,只要统一针对XML方式进行 开发即可。这样, 有关数据交互的应用程序开发就会变得非常简单。

各数据存储单元间的通信是在第三层实现的。这一层的通信可以采用很多种交互手段,如FTP、MessageSystem、JavaMail等,这主要由应用实现的具体性能要求以及成本要求决定。

由于在数字图书馆中应用到了不同的数据库管理系统,必然要解决不同数据库之间的互操作问题。根据存储结构中的实际应用,这里主要采用JDBC的实现方式。

3.2数字对象封装与存储

在数字图书馆建设中,一般采用DC元数据标准,DC元数据共有15个标记元素,针对具体的数字对象可以进行相应的裁减和修改。

对于所要存储的数字对象而言,在存储时要分别考虑元数据和对象数据的特点,根据数据本身的特点和提供的服务类型来决定其存储方式。

(1)根据元数据和对象数据的特点进行选择。对于元数据,一般是规范的DC格式标引的XML文件,这种文件的特点是文件比较小,而且要求在用户进行检索时能够快速显示。为此,将元数据直接存放DB2这样的关系型数据库中,通过直接操作数据库的方法来提高对元数据的访问速度。

对于对象数据,通常是图像文件或流媒体文件,这样的文件一般尺寸较大,而且在传统关系型数据库中进行存储需要进行相应转换,存取速度较慢。为了便于管理,通过IBM内容管理系统ContentManager进行存储,以提高存储效率。

(2)接口API的选择。这里的API是指完成XML文档与数据库数据之间相互转换功能的软件包。采用SAX类API来处理XML文档,而与数据库的接口则使用JDBC。

摘要:数字图书馆传统的数据存储模式不能适应当前存储要求,应用分布式存储能够有效缓解这一矛盾。基于数字图书馆的分布式存储要求,研究特定数字资源的存储与管理及数字资源存储与管理的组成结构,并对服务管理系统和数字资源集成进行了设计。

关键词:数字图书馆,分布式存储结构,数据集成,数字资源管理

参考文献

[1]镇锡惠.数字图书馆的技术框架[M].北京:北京图书馆出版社,2002.

[2]高文,刘峰,黄铁军,等.数字图书馆——原理与技术实现[M].北京.清华大学出版社,2000.

[3]王轩,黄丹,陈静.数字图书馆发展现状研究[J].软件导刊,2010(5):3-5.

分布式信任证书存储与查找算法研究 篇7

随着互联网技术的兴起和发展, 一些开放分布式多域系统 (如网格、多Agent系统等) 迅速发展, 计算系统正渐渐地从传统的封闭式系统向开放式分布式系统转变。尝试通过信任管理方法使开放式分布式计算系统更加高效和安全是当前研究的一个热点。1996年, Matt Blaze在文献[1]中首次提出“信任管理”概念。信任管理是网络服务中一个值得注意的且重要的安全部分, 是一种以密钥为中心的授权机制, 它把公钥作为主体, 可直接对公钥进行授权。信任管理方法同面向特定应用的授权系统比较来说, 具有更强的通用性和灵活性。信任管理中的核心问题是一致性证明问题[2]:凭证集合C能证明某个请求r与本地安全策略P一致吗?即是否存在一条从授权源到请求者的证书链。所以信任管理的中心问题是判断是否存在那样的一条链。如果存在, 则找到它。由于证书的格式与存储方式会直接影响证书链的发现, 所以本文首先讨论证书的格式与存储问题。

1 信任证书的格式

Kohnfelder给出的第一个证书的定义[3]:是包含名字和公钥的数字签名的数据记录。商业上用的X.509是将每一个全球名字与一个密钥对绑定, 是一种层次化的信任模型, 具有全局层次结构, 主要用于身份认证, 信任从一个可信的CA (Certificate Authority) 开始, 资源拥有者对此没有任何控制。PGP同X.509一样也是将每一个全球名字与一个密钥对绑定, 但它采用平面的设计, 每个私钥可以签发证书, 是一种信任网的信任模型。SPKI/SDSI是将每一个本地名字绑定到0、1或多个密钥对, 采用平等的设计, 每个公钥对应的私钥都可以颁发证书, 主要用于分布式安全访问控制, 信任从资源守护者开始, 请求者提供证书链。由于各种类型的证书只需要经过简单修改, 就可以转换成信任管理中的凭证断言形式, 所以下面仅对SPKI/SDSI、RT0证书进行分析。

1.1 SPKI/SDSI

SPKI/SDSI最突出的是局部名字的概念, 其对立于X.509全局名字。局部名字不易导致混淆和错误。它包括两种证书, 授权证书和名字证书。

1.1.1 SPKI/SDSI授权证书

授权证书表达权限的委托, 是公钥或名字等与权限的绑定。如下面的证书 (为说明方便, 公钥仅用符号表达, 并略去一些无关的属性) :

(cert

(issuer (name Kalice) )

(subject (name"poker buddies") )

(tag (play super-poker) ) )

Alice将权限“play super-poker”委托给名字 (name Kalice"poker buddies") 。

1.1.2 SPKI/SDSI名字证书

名字证书表达名字之间的映射关系, 是名字与名字的绑定。如下面的证书:

(cert

(issuer (name Kalice"poker buddies") )

(subject (name"Sam Washington") ) )

Kalice将名字 (name Kalice"poker buddies") 授给名字 (name Kalice"Sam Washington") 。

将上面两个证书结合起来, "Sam Washington"是拥有权限“play super-poker”。

1.2 RT0

委托技术作为信任管理中的一个核心技术, 同基于角色的访问控制进行结合, Li Ninghui提出了基于角色的信任管理框架RT0[4]。其中, 定义了RT0语言, 用于支持4种信任状:

第一类:A.rB, 将实体B定义为实体A中角色r的成员;

第二类:A.rB.r1, 定义A中角色r的成员包含B中角色r1的成员;

第三类:A.rA.r1.r2, 定义A中角色r1的成员的角色r2的成员, 均是A中角色r的成员。A.r1.r2称为链接角色;

第四类:A.rf1∩f2...∩fk, fj (0

其中的前三类使用SDSI均可表达。第四类是RT0特有的, 表达了特殊的委托语义。

2 信任证书的存储

如果证书集中存放, 用户在查找过程中进行证书的定位肯定比较简单, 但这违背了大规模的、分布式环境的要求。如何实现证书的分布式存放是实现分布式访问控制的一个重要问题。证书的存储策略直接决定了证书链的查找方法和效率。Li Ninghui在文献[4]中提出目前的分布式证书存放的策略有3种:

(1) 证书存放在证书的签发者端;

(2) 证书存放在证书的主体端;

(3) 部分证书存放在签发者端, 部分证书存放在主体端。

前两种策略很可能造成证书过分集中, 从而产生瓶颈现象, 且只支持证书的单向查找。针对第 (3) 种情况, Li Ninghu提出了证书存储的类型系统。

Li Ninghu在文献[4]中使用RT0来描述类型系统, 每个证书可按其issuer存贮, 也可按subject存贮, 也可同时存贮。根据每个证书的存贮方式, 及算法的查找方向, 可以在有向图上定义每个边的可遍历性, 包括前向、反向和双向可遍历性。基于这一点, 可以在每个证书的issuer和subject上定义类型。对于issuer, 包括issuer-traces-none, issuer-traces-def和issuertraces-all。对于subject, 包括subject-traces-none和subjecttraces-all。其中的all类型, 是一种强类型, 例如, 如果是issuertraces-all, 则要求使用反向算法, 可找到相应角色的所有用户。而issuer-traces-def类型仅要求证书存贮在发布方。通过这些类型, 定义了合式证书的概念, 即每个证书的相应类型标记要满足一定的规则。如果系统中的证书都是合式证书, 则使用相应的算法, 在分布式环境下, 证书是可发现的。

Li Ninghu在文献[4]中给出良型证书 (Well-typed Credentials) 的定义:如果下面的5个条件均被满足, 则证书A.re是良型的 (Well typed) 。这5个条件是: (1) A.r和e是良型的; (2) 若A.r是Issuers-traces-all, 则e必为Issuers-traces-all; (3) 若A.r是Subject-traces-all, 则e必为Subject-traces-all; (4) 若A.r是Issuers-traces-all或Issuers-traces-def, 则A存储这个证书; (5) 若A.r是Subject-traces-all, 则证书的每个主体存储这个证书。

虽然证书类型系统确保了良型的证书, 即使当证书的存储是分布式的, 证书链总是能够被发现, 但由于类型系统设计、实现比较困难, 对用户的要求很高, 在实际情况中应用并不多。

3 信任证书的查找

信任证书的查找问题不仅要合理地存储证书, 还要准确地在分布式网络中定位证书和驱动收集证书。Tuomas Auro在文献[5]中形式化委托网络的概念并提出使用证书的存取权力委托的形式化语义, 委托网络可以表示为图, 进行访问控制决定是通过在图中找到路径。下面以SPKI/SDSI为例来说明证书链的发现算法。

在SPKI/SDSI中, 名字证书中的名字可以是本地的也可以是扩展的, 一个名字可以对应0、1或多个公钥。而授权是一个公钥对另一个公钥的授权。在证书链发现算法中需要包括名字证书的缩减。Dwaine Clarke在文献[6]中给出了如下的算法步骤:

(1) 移去无用的证书, 包括无效的、不能满足在线检查的或授权标签与请求的授权不等、不包含的。

(2) 名字缩减, 计算证书集C的名字缩减闭包C#。

(3) 移去所有的名字和名字证书。包括全部名字证书和主体不是单一公钥的全部授权证书, 用C’表示C#中移去后的证书集。

(4) 移去无用的授权证书。包括主体不请求者的公钥且在右边是死的票据 (a dead ticket) , 用C”表示从C’从移去后的证书集。

(5) 使用深度优先遍历在图中找到一条路径 (从资源拥有者至请求者公钥) , 每个公钥表示图的一个顶点, 若在C”中存在授权证书Ki→Kj则在图中有一条Ki到Kj的边。

(6) 重构证书链。用C中证书重构证书链并输出。

经过简单的扩展, 该算法也可以支持门限主体。在上述的算法中, 将每个证书视为一条重写规则 (Rewriting Rule) 并且将证书链发现问题视为项重写问题 (Term-rewriting Problem) , 比较困难之处在于计算缩减闭包。

4 基于有向图的信任证书存储与查找算法

在上节 (1) 中的算法有一个假设, 即潜在相关的证书全部在一个地方被收集。而这与分散式的控制不一致。Li Ninghu在文献[4]中指出在Internet上, 由于数以百万计的证书分布式存储, 而它们中绝大部分是彼此不相关的, 因此面向目标的技术就特别关键。也就是在证书查找的评估过程中能够驱动证书收集, 由于附加的证书不存在而使得评估不能继续时, 暂时挂起评估过程并签发能扩展部分链的证书的请求, 当附加的证书被获得时恢复评估过程。

在面向目标和基于有向图的证书存储和查找算法中, 证书及其含义的集合用证书图来表示, 图中的节点代表证书上的一个角色表达式, 每个证书对应图的一条边, 边的终点是角色, 当终点是链接的角色和交集的边称作衍生边。证书查找过程实际上就是路径的发现问题。基于有向图的搜索算法中有前向搜索法 (从访问控制列表条目中的权限开始证书链的搜索) , 后向搜索法 (从委托的主体开始证书链的搜索) 以及双向搜索法 (分别使用前向搜索和后向搜索同时进行搜索) 。

另外, 基于有向图的证书存储和查找算法还要考虑到信任的传递以及深度控制策略, 以及信任形成环路和存在多条路径时的授权冲突等等问题。

5 结束语

证书的存储与查找不仅是信任管理中的中心问题, 也是其他基于公钥证书的授权系统、可信计算系统的核心问题。目前大部分相关的研究工作都假设潜在相关的证书全部在一个地方被收藏, 这与分散控制的思想是不一致的, 所以面向目标和基于有向图的算法是这方面研究发展的方向。

参考文献

[1]Blaze M, Freigenbaum J, Lacy J.Decentralized trust management[C].Proceedings of the17th Symposium on Security and Privacy, 1996:164~173.

[2]Blaze M, Feigenbaum J, Strauss M.Compliance checking in the policymaker trust management system[C].Proceedings of2nd In-ternational conference on Financial Cryptography.1998:254~274.

[3]Kohnfelder, Loren M.Towards a Practical Public-key Cryptosystem[D].MIT S B Thesis, 1978.

[4]Li Ninghui, Winsborough W H, Mitchell J C.distributed credential chain discovery in trust management[C].Proceedings of the8th ACM conference on Computer and Communication Security.2001:156~165.

[5]Aura T.On the structure of delegation networks[C].Proceedings of11th IEEE Computer Security foundations Workshop, 1998:14~26.

关于分布式存储应用技术的应用 篇8

1 分布式存储简介

分布式存储技术是一个与集中式存储技术相对的概念, 传统的集中式存储技术将信息数据存储在了特定的节点上, 而分布式存储技术则是利用网络的优势将零散的存储空间模拟成一个整体, 并将数据存储在这个虚拟的存储空间中, 实际上数据已经被分散在了各个存储器重, 并非某些特定的节点。分布式存储管理系统是基于分布式存储技术建立的数据资源管理系统, 系统将分散的存储空间进行整合, 利用多台服务器分散存储负荷, 有效保证了系统的可靠性、可用性与安全性, 分布式存储技术的最大特点就是“分散存储, 集中管理”。

2 结构化数据的分布式存储

不同的系统具有不同的数据类型, 结构化数据是计算机信息技术的基础数据, 通常情况下, 结构化数据存储在Oracle、SQL Server等关系型数据库中, 当信息数据超出了单个节点的存储能力时, 系统一般采用扩展的方式解决存储空间问题, 存储空间一般呈现垂直或者水平扩展。

2.1 垂直扩展

垂直扩展是根据数据的功能进行分类, 将同类型的数据存储在指定空间中, 最后对完整的数据库进行分割, 实现存储空间扩展的目的, 这种扩展方式要求数据具备较好的独立性, 数据功能之间的交叉越少越好。

2.2 水平扩展

水平扩展是根据数据行的规则进行分割, 将同行的数据分配到指定的数据库中, 除此之外, 还可以按照特定的规则对数据进行分割, 将具有一定共性的数据分配到相同的数据库, 比如按照数据字段的hash值进行分割。

3 非结构化数据的分布式存储

Google公司已经开发出了一款具有代表性的非结构化数据的分布式存储系统, 该系统名为谷歌文件存储管理系统 (Google File System, GFS) , 下面结合谷歌文件存储管理系统分析非结构化数据的分布式存储系统的特点。谷歌文件存储管理系统主要分为三个功能模块, 包括主服务器模块 (Master) 、客户端模块 (Client) 以及数据块服务器模块 (Chunk Server) 等。

3.1 主服务器模块

主服务器模块主要用于存储元数据, 包括了文件系统的目录结构以及文件相应的位置信息, 主服务器模块相当于分布式存储系统的“中枢”, 与记录着每一个数据块的详细信息, 除此之外, 主服务器模块还会定期更新这些信息, 通过周期性的扫描, 保证数据的准确性;

3.2 客户端模块

客户端模块实际上是主服务器模块预留的接口, 应用程序可以通过这些接口访问系统, 应用程序调用的数据以库文件的形式进行传递, 当然, 这些库文件是应用程序可以直接读取的, 同时库文件与数据库具有一定关联性, 可以与数据库进行链接;

3.3 数据块服务器模块

数据块服务器模块负责具体的存储操作, 将文件的按照标准的大小进行分割, 而数据块就是数据块服务器模块中的最小存储单元, 一般取值为64MB, 再将每一个数据块分割成64KB, 一般的非结构化数据的分布式存储系统具有三个数据块服务器模块, 具体的数量徐涛根据系统与数据的规模进行划分。

4 半结构化数据的分布式存储

目前, 全球范围内的分布式存储系统一般是针对半结构化数据的, 半结构化数据具有一定的规律性, 同时可以根据数据的规模灵活处理, 数据可以根据设计需求进行定义。现有的半结构化数据的分布式存储系统比较多, 需要根据企业与客户的需求进行构建, 主流的方案主要有四种, 包括No SQL数据库、Mongo DB、HDFS以及SWIFT。

(1) No SQL数据库的中文名为非关系数据库, 可以不依靠固定的关系建立数据模型, 具有较好的数据扩展伸缩性, 最重要的一点是可以支持定制存储, 灵活性极好;

(2) Mongo DB实质上是基于JSON的非关系型数据库, 数据库中的格式是BSON, 具有较好的调阅性与解析性, 同时可以应用于多个系统平台中, 具有极强的兼容性, 比如Windows、Linux等。

(3) HDFS可以支持流式访问的超大型文件, 具有较好的复制性, 系统构建成本较低;

(4) SWIFT属于对象存储系统之一, 具有极强的扩展性与持久性。

5 总结

进入21 世纪以来, 我国的计算机信息技术与互联网通讯技术已经取得了较大的成果, 网络的发展催生出大批的新兴网络文化, 网络文化带来了大量的信息数据, 人们在参与网络社会活动时产生的数据是人类文明的重要组成部分。企业的数据往往与资金或者项目具有一定的关联性, 这些信息将直接支撑企业的运营, 对于提升企业的竞争力具有重要意义, 信息存储管理体系必须符合企业的实际需求, 以企业与客户的需求为出发点。分布式存储系统具有更高的安全性, 可以实现信息资源优化, 最大限度降低企业的成本, 本文从分布式存储的概念入手, 详细介绍了几种可行的分布式存储系统, 希望本文的研究有利于我国分布式存储系统的发展。

参考文献

[1]王成山, 武震, 李鹏.分布式电能存储技术的应用前景与挑战[J].电力系统自动化, 2014, 16:1-8+73.

[2]郭栋, 王伟, 曾国荪.基于一致性树分布的数据分布式存储方法[J].计算机应用, 2013, 12:3432-3436.

基于分布式存储的数字图书馆系统 篇9

分布式的数据存储方式主要分为:数据集中和数据分散两种。数据集中方式是指,在网络中设置一个中心数据库,各节点通过网络访问数据库。这种方式通信开销大、性能欠佳、可用性不高、扩充性较差而且难以管理。数据分散方式是指数据存储在多个分散的相对独立的数据库。此时,分布的数据属于不同的个体,这些个体是对等的完全独立的自治单位,互不相属,只是通过某种临时形成的业务逻辑建立联系。不存在一个统一的机构来管理个体之间的关系,且此时个体之间交互是完全由业务的需要而随机决定。

数字图书馆系统的分布式存储系统一般是以数字对象作为数据的基本存储单元,这些数字对象包括规则的数据和不规则的数据。结构化规则的数据直接存储在关系型数据库中。非结构化的不规则数据用XML技术进行封装,然后通常是用LOB(Large Object)将信息存放在数据库内部,也可将其存储在数据库外部,但保持与数据库的连接,由本地操作系统负责管理文档。图1给出分布式存储系统结构。

数字图书馆系统内部采用统一的标准对数字对象进行封装以利于数据交换。数字对象管理系统负责对存储的数据对象进行管理,响应检索系统的请求;数字对象定位系统完成确定数字对象的存储位置的工作;数字对象仓储系统用来保存数字对象的备份。在分布式存储系统之上是为公众提供检索等各类服务的服务层,公众通过数字资源门户来使用数字图书馆提供的各类信息服务。

存储在数据库中的基本信息单元是数字对象,其可以是简单的数字文件,也可以是由多个数字文件按照特定结构所组成的复合对象。这些数字对象可能存放在分布的多个数字资源库中,可以有多个副本或物理位置,可以被修改或重新组合,也可能被移动或删除。因此需要一定方式对数字对象进行标识,以便数字图书馆系统对它们进行指向和调用。当前,一般按照数据的类型来划分数字对象,数字对象一般分为五类,即简单文本对象、流媒体对象、复合数字对象、嵌入式对象、以及交互式对象。为了有效地管理和使用数字对象,一般是运用数字唯一标识符技术,通过永久性的逻辑标识符来标识每个数字对象。在资源加工中,数字资源可以形成数字对象唯一标识符。另外,为了在分布式应用环境下更好地存取分布式的数字资源,需要一种跨系统跨网络的数字对象定位技术,当前一般是通过对数字对象进行统一标识来实现。

2 数字图书馆的分布式存储功能划分

2.1 资源存储与管理

数字图书馆首要功能是资源的长期保存,需要存储的数字资源一般是由两部分组成,一部分是直接表示资源内容的对象数据,另一部分是元数据。对于这两部分数据,由于数据的特点截然不同,一般是采用分类存储的办法,即元数据存入元数据服务器中,对象数据存入对象服务器中。

根据数据量的多少,元数据服务器和对象服务器的数量是可以变化的。对于数据量较少的情况,也可以把元数据服务器和对象服务器进行合并。另外,对于存储的元数据和对象数据,还需要提供一定的增、删、改等管理功能,通过一定的规则进行数据库的维护并且通过不同服务层间的接口,为服务层提供检索、浏览等数据服务。

2.2 资源调度

资源调度系统用于提供数字资源的共建共享,其管理数字资源以及数字资源的动态变化,提供的数字资源分布情况,以此支持资源交换。系统以唯一标识确定各数字图书馆中所有数字资源,通过统一的调度体系和资源命名规则,实现对分布环境中所有数字图书馆数字资源的管理。调度系统在功能上有统一标识机制、调度码注册、调度码解析、元数据管理等。

资源调度的另一个重要功能是资源定位。对于存储在不同的对象服务器中资源,通过对数字对象的唯一标识符的设定,可以准确地定位数字对象的准确存储位置。

2.3 资源发布

资源发布是数字资源,发送到资源管理存储系统的元数据库和数字对象库,使用户通过门户接口访问到相应资源。其支持在分布式网络环境下的信息发布,与此同时将相应调度码的信息发送到调度码库中。

3 基于分布式存储的数字图书馆

分布式存储的数字图书馆框架结构如图2所示。

身份认证用来保证数字资源服务管理系统的安全性。系统中的数字资源分为元数据和对象数据传递到数据管理模块。

存储管理模块存储管理元数据服务器和对象服务器上的对象数据,把不同的对象数据存储到相应的服务器中。分别考虑元数据和对象数据的特点,根据数据本身的特点和提供的服务类型来决定其存储方式。元数据直接存放关系型数据库中,通过直接操作数据库的方法来提高对元数据的访问速度。对象数据因为文件较大,而且在传统的关系型数据库中进行存储需要进行相应的转换,存取速度较慢。系统中通过IBM内容管理系统Content Manager进行存储,以提高存储的效率。为解决数字图书馆中异构数据的集成问题,可以在应用程序与数据库数据之间设置一个中间层,通过中间层用XML把数据封装成统一的格式,然后再进行相应的操作。

检索模块作为对公众用户的访问接口,提供对图书馆系统的检索功能。其通过数字对象定位模块定位资源的位置,并接受存储系统返回的对象数据和元数据,并将其组织,按照用户需要的格式显示给用户。

数字对象定位模块根据数字对象标识符提供数字对象的资源定位、整合检索系统-为用户提供数据检索服务。其完成确定数字对象的存储位置的工作,当用户检索到某个特定数据时,为了访问其对象数据,将会通过对象定位系统定位到相应的对象数据

元数据调度模块向检索系统提供元数据检索服务并向其发布检索到的元数据。该模块的作用是响应检索系统的检索请求,为元数据检索管理子系统发布有关数字对象的元数据,使得发到元数据服务器上的元数据可被检索到。

4 结束语

通过分布式存储技术实现了大规模数字图书馆,解决了在不同空间和数据结构上存储管理,并且可以在异构数据库系统之间进行数据交互。

参考文献

[1]佟晓强,杨帆,孙莉,等.基于Java和XML的分布式数据存储架构[J].郑州:郑州大学学报(自然科学版),2001,33(4)11:37-39.

[2]镇锡惠.数字图书馆的技术框架[J].数字图书馆-新世纪信息技术的机遇与挑战国际研讨会论文集.北京:北京图书馆出版社,2002-07.

[3]高文,刘峰,黄铁军,等.数字图书馆-原理与技术实现[M].北京:清华大学出版社,2000.

[4]毛军,张晓林,曾蕾,等.URI和数字对象唯一标识符.北京:现代图书情报技术,2003,99(2):9-12.

分布式存储管理 篇10

Network Attached Storage (NAS) 是目前极具发展前途的一种存储技术, 安装简单、易于管理, 并且具备高扩展性等优点, 适用于局域网使用, 但成本较高;Storage Area Network (SAN) 是指由光纤通道FC (Fiber Channel) 连接的存储设备网络, 具有高带宽、低延迟、低误码率等优点, 但是成本较高, 因此不适用于本文的研究方案;Internet是一个Overlay网络[4], 其本质上是通过Internet互联各种底层网络构成IP层, 底层网络包括以太网、令牌环网络等。

P2P (Peer-to-Peer) 计算也称为对等计算, 是指两个节点进行资源共享, 尽可能减少中心控制, 其中节点称为Peer。与P2P模式相对应的是CS模式, 相对于P2P而言, C/S模式中客户端是一个哑设备, 所有计算和处理均在服务器端完成, 而P2P中的节点处于对等位置, 并不区分是客户端节点还是服务端节点。

P2P网络是指节点处于对等位置, 并不区分服务器节点和客户端节点, 通过P2P模式进行连接形成网络, 例如Chord和Tapstry都是P2P网络。P2P网络可以用于构造基于Internet的分布式存储系统。

目前处于发展阶段中的P2P海量数据存储系统主要有Ocean Store系统, Past系统和CFS系统[5]。国内有“燕星”系统, Ocean Store系统是基于Tapstry算法发展形成的存储系统;Past系统是基于Pastry算法发展形成的存储系统;而CFS系统是在Chord路由算法基础之上建立起来的文件存储系统。

1 基本概念

1.1 P2P分布式存储机制

得益于Internet迅速发展, P2P模型得到了快速发展, 基于P2P存储技术的分布式存储系统不仅具备高可靠性, 同时具备高可扩展性, 因此受到了广泛关注。

1.2 数据保护系统

网络存储系统对可用性和持久性有很高的要求, 也就是存储系统的可靠性。计算机软硬件故障、病毒黑客攻击、人为操作故障或资源不足引起计划性停机都有可能导致数据丢失。

数据保护系统可靠性指标主要有三项:稳定性、安全性和可用性。稳定性 (Stability) 是指作为存储系统必须有能力为用户持续、24小时不间断服务的能力。

安全性 (Security) 是指系统中数据在运行中保持安全可靠, 数据应该保证完整并可靠地进行存储, 一旦出现故障, 不能影响数据的可用性和一致性, 保证数据的安全有效。

可用性 (Availability) 表示存储系统能够提供正常服务的时间百分比, 在可用时间段内, 能够确保存储系统的正常、稳定工作。

2 P2P分布式存储体系结构

本文通过采用P2P技术, 将梅州供电局的零散计算机通过Internet连接起来, 通过整合资源, 形成一套可靠性高、稳定性好、低成本的分布式存储系统。

按照系统功能进行分类, P2P系统可以分为应用层、会话层、数据层、路由层和物理层, 如图1所示。

应用层的作用是使用户没有远程操作的感觉, 和本地存储一样对存储系统进行操作, 提供了一个面向用户的对外接口。

会话层主要是实现节点管理机制, 检查是否每个节点在线, 是否能够获取节点中的数据等。

数据层主要负责副本数据动态管理, 并且要注意避免“搭便车”及“公共悲剧”等常见的现象, 影响数据的可靠性及可用性。

路由层通过路由机制和拓扑算法, 负责提高搜索的高效性, 减小获取副本数据的时间延迟。

物理层也就是每个节点 (计算机) 及计算机节点之间的网络硬件连接, 是整个P2P分布式存储机制的最底层, 也是硬件基础设施。

2.1 P2P存储系统分类

根据结构关系可以将P2P系统细分为四种拓扑形式:中心化拓扑, 半分布式拓扑, 全分布式非结构化拓扑, 全分布式结构化拓扑四种类型。其中, 中心化拓扑P2P存储系统结构尽管其可维护性最好、发现算法效率最高, 但是考虑到其可靠性差、可扩展性差, 不予采用;半分布式拓扑P2P存储系统结构的可靠性、可扩展性、可维护性及算法效率均处于一般水平, 本文不予采用;全分布式非结构化拓扑结构由于其可扩展性差, 不适合应用于电力系统;全分布式结构化拓扑结构不仅可靠性高、可扩展性好, 而且便于维护, 并且具有较高的搜索效率, 因此本文采用全分布式结构化拓扑结构的P2P存储系统模型。

2.2 选择副本放置策略

一份完整的数据可以通过分割成不同副本的形式存储在不同的网络节点中;当某个节点需要获取数据时, 可以将所需副本从其他节点获取并完成数据恢复。副本在节点中存储的方式称为副本放置策略。

副本放置策略通常有两种, 顺序放置策略和随机放置策略。顺序放置算法是指按照一定顺序选择当前节点及与当前节点相邻的K-1个节点, 将副本进行顺序存储;随机放置策略是指随机选择K个节点对副本进行存储, 并建立索引表便于掌握数据副本的存放位置。两种副本放置策略各自有优缺点, 随机放置策略的优点是数据恢复效率较高, 但缺点是需要建立索引表, 并需要维护索引表的正确性及一致性;顺序放置策略的缺点是恢复数据效率较低, 但优点是可靠性高, 不需要建立和维护索引表, 设计简便。考虑到电力系统对可靠性要求较高, 因此本文的设计采用顺序放置的副本放置策略。

2.3 分布式网络存储系统访问模型

图2给出了分布式存储访问模型, 客户机通过Internet与Internet存储访问服务器连接和交互, Internet存储访问服务器则通过局域网与分布式存储系统中的每一个节点计算机进行连接和交互, Internet负责接收与处理来自用户的存储访问服务请求。

分布式存储访问模型使用户实现远程分布式存储系统进行操作具备了可能性。

3 分布式存储系统的数据保护技术

由于分布式存储系统中的节点可能因故障或下线等原因导致离开网络系统, 为了保障数据的安全性和可靠性, 设计分布式存储系统最大的挑战是怎样在不可靠节点集合中实现可靠的存储服务。

3.1 数据丢失原因

导致系统数据的丢失或破坏的原因主要有计算机软硬件故障、病毒黑客攻击、人为操作故障、资源不足引起计划性停机等。导致数据丢失的原因主要有硬件或系统故障、人为操作错误、软件问题和故障、计算机病毒和自然灾难, 其中硬件或系统故障占56%, 人为操作错误占26%。

3.2 数据冗余策略

数据冗余策略是指同样的数据文件拥有多个备份, 并将不同的备份存储在多个不同的节点上, 当某个节点因故障或不在线等原因导致其数据文件不可使用时, 可以通过其他节点上的备份完成数据重构。

纠删码冗余策略和复制冗余策略是当前广泛使用的两种冗余策略。复制冗余策略相对于纠删码冗余策略比较简单, 只需将副本复制多个备份存储到系统的多个节点中, 当部分节点发生故障或不在线时, 只要有一个节点的副本可用, 该副本文件就可以被获取到, 从而完成数据重构。由于以上特点, 复制冗余策略的可靠性比较高, 存储方法也比较简单, 其可靠性与副本备份数量成正比, 只要通过增加副本数据就可以提高可靠性。

纠删码编解码原理如图3所示。纠删码冗余策略相比复制冗余策略更加复杂, 纠删码冗余策略上是将文件分割成为n份, 并将n份副本编码生成m个编码块, m个节点上分别存储一个编码块, 且m大于n, 通过纠删码冗余策略可以在m个编码块中任意挑选n个编码块, 成功完成原始数据重构。

复制与纠删码两种冗余策略各自有不同的有点, 纠删码所需的存储和网络开销较小[6], 可扩展性更好[7], 但是比较复杂;复制策略实现过程简单, 可靠性高, 研究表明某些特殊情况下, 如系统节点可用性极端低下, 纠删码冗余策略的运行效率反而比复制冗余策略低下[8], 因此本文选用简便的复制策略。

3.3 数据保护的相关技术研究

在分布式存储系统中, 由于维修、定期维护等原因, 总会遇到需要进行数据迁移的情况。生活中经常会用到数据迁移, 例如将目标文件从计算机拷贝到U盘, 就完成了一次数据迁移的过程。所谓数据迁移就是将目标数据从一个存储介质移动到另一个存储介质的过程。当前数据迁移的方式主要有在线迁移和离线迁移。在线迁移是指不中断正常业务的情况下同时进行数据迁移, 但是数据迁移操作可能会增加系统开销, 对正常业务造成干扰, 甚至造成业务停顿;离线迁移是指在业务停止的时候以离线的方式集中执行, 但是对于本文研究的电力系统这种需要不间断服务的业务不适用。针对本文研究的电力系统, 可以采取在线迁移手段。

重复数据越多意味着系统需要消耗更大的存储空间和管理成本。因此删除重复数据可以减小存储需求。当数据重复度较高时, 重复数据删除的工作效果就体现得更为明显。

4 总结

本文针对电力系统可靠性要求高的特点, 同时考虑到节点的可用性与存储额外开销都无法精确描述, 选择复制冗余策略进行数据保护;在副本放置策略选择过程中, 选择设计简便、可靠性高的顺序放置策略;引入数据分布管理、数据迁移技术及重复数据删除技术等数据保护技术, 针对电力系统需要不中断正常业务的情况下进行数据迁移, 优先选择在线迁移技术。本文研究成果对分布式网络存储系统的设计和实现具有一定指导意义。

摘要:持续增长的数据存储需求带动了存储技术的快速发展, 分布式存储技术应运而生。所研究的基于分布式的网络存储系统和数据保护系统对于电力系统有重要的实际意义。针对梅州供电局现存的存储设备问题及实际情况, 开展分布式存储技术及数据保护系统的研究, 以改进存储系统管理, 降低成本。

关键词:分布式,网络存储,数据保护系统

参考文献

[1]Mukesh Singhal and Niranjan G-shi-varatri.Advanced Concepts in Oper-ating System, Distributed, Data-base, and Multiprocessor Operat-ing Systems[M].Mc Graw-Hid, INC, 1994.

[2]Andrew S.Tanenbaum.现代操作系统[M].北京:机械工业出版社, 1999.

[3]陈晓宇, 苏中义.具有副本透明性的分布式文件系统模型的讨论[J].华东交通大学学报, 2000, 17 (1) 51-55.

[4]D.G.Andersen, H.Balakrishnan, M.Kaashoek, et al.Resilient overlay networks[C].In Proc.18th ACM SO-SP, Banff, Canada, October 2001.

[5]Frank Dabek, M.Frans Kaashoek, David Karger, et al.Wide-area Cooperative Storage with CFS[C].In SO-SP, Oct.2001.

[6]H.Weatherspoon, J.Kubiatowicz.Erasure coding vs.rep-lication:A quantitative comparison[C].Proceeding ofIPTPS’02, Cambridge, Massachusetts, March 2002.

[7]A.G.Dimakis, P.G.Godfrey, M.J.Wainwright, et al.Net-work coding for peer-to-peer storage[C].Proceedingof INFOCOM, Anchorage, Alaska, May 2007.

上一篇:物理教学课堂下一篇:实验室网络隐患