云计算环境分布式存储(精选7篇)
云计算环境分布式存储 篇1
摘要:鉴于云计算存在庞大的节点规模和数据规模,云计算系统在可扩展性、高可用性等方面面临着诸多问题。针对云计算环境下的分布数据存储,构建了一种基于递归的正N边形网络模型,在数据中心网络结构的基础上给出了数据管理模型,并设计了以提高数据可用性、负载平衡为目的的副本分布策略和副本选择策略。在保证数据可用性的前提下,提出一种基于覆盖集的数据迁移算法,利用节点选择策略尽量减少迁移成本,进行数据迁移让更多的机器休眠,降低能耗。通过对实验数据进行比较分析,验证了提出的网络拓扑结构、数据管理模型、数据迁移技术的正确性和有效性。
关键词:云计算,数据中心网络结构,数据迁移,软件节能
0 引言
云计算中的资源包括网络、服务器、存储和应用等,通过这些资源向用户提供普适的、方便的、按需的网络访问,这些资源可以快速进行使用和释放,不需要很大的管理代价。随着互联网技术的快速发展,导致应用中的数据呈爆发式的增长,海量数据存储技术得到了前所未有的迅速发展。云计算服务的底层基础是大规模的数据中心,成千上万的服务器互联、组织方式,直接影响到云计算服务的高效性和稳定性。合理的网络结构是云计算数据中心高可扩展性和资源高利用率的重要保证。但是,随着数据存储与传输需求的高速增长,目前采用的网络结构在可扩展性、容错性、高性能传输以及跨区域调度等方面面临着诸多问题。
在云计算环境下,底层数据中心规模非常庞大,导致存储成本很高,这里的存储成本不仅包括各种基础设施成本,还包括基础设施在运行过程中的能量消耗。根据调查机构的研究显示,企业存储设备的利用率不足50%,设备利用率普遍比较低。解决成本与云计算系统中不断增长的数据存储以及计算的冲突成为了研究热点。基于从成本、保护环境的角度考虑,降低能耗都具有很大的现实意义和应用前景。
针对云计算环境下分布数据存储在可扩展性、可用性和绿色节能等方面的问题,研究解决分布数据存储的关键技术包括数据中心网络拓扑结构设计、数据管理模型的设计以及节能技术等。数据中心网络结构是云计算的基础,它确保了云计算数据中心的扩展性和资源利用率。首先研究设计合理的网络拓扑,从高可扩展性、经济性、高效性多个角度保证了云计算的服务质量。在此基础上,从数据的高可用性方面研究数据管理技术。从绿色节能角度出发,围绕数据迁移技术展开研究,最终设计出拥有良好的可扩展性、容错性和低成本的云计算环境下海量数据存储方案。
1N边形数据中心网络结构
树型结构以交换机为中心,可以很方便地通过增加机架和相应的交换机进行扩展,但也存在许多问题。为了解决树型结构聚合层带宽瓶颈和单点失效问题,研究者提出了几种改进的树型结构,包括Fat⁃Tree以及路由方法等,其中胖树结构采用这种全连接的方式使树的上层获得了较高的带宽,解决了树型结构上层的带宽瓶颈问题,但是核心交换机端口数量限制了Fat⁃Tree的扩展性。
1.1 RNEP网络拓扑结构
1.1.1 设计思路
为了能够消除最高处交换机的带宽限制问题,本文参照DCell混合结构与BCube面向集装箱式的、模块化的2 种数据中心网络结构,以低级网络递归构建复杂的高级网络,同时保证网间全连接以及路由机制的分类处理。
递归构建的最基本单位是全连接图,对于它的设计,参照简单的正n边形图形,以可改变参数n来保证数据网络构建的灵活性,满足不同规模数据中心的建设需求,提出基于递归的正N边形网络结构RNEP,该网络结构参照了P2P模型、改进树型结构的思路以及递归的思想,通过引入可变参数、采用递归构建、设计分类路由,来满足云计算数据中心网络结构对高带宽、扩展性、容错性、灵活性以及绿色节能等多方面的需求。
1.1.2 网络结构的定义与构建方法
本文提出的网络结构也采用递归构建。对于递归的正n边形网络结构来说,第0 级网络结构全部由服务器构成,此层级网络只存在网络内部传输,不存在与其他同等层级网络的传输交互。为了兼顾简单且充分表现递归结构,此处以n = 3 为例进行扩展:在第0 级网络结构的基础上增加一个交换机,并和所有节点连接,得到Network0′。以此时的Network0′作为Network1 的虚拟节点,全连接3 个Network0′网络的交换机,得到Net⁃work1。继续扩展时,为Network1 增加交换机,实现当前节点与交换机全连接,得到Network1′作为递归单位,由3 个Network1′得到Network2。
类似地,对于任意n边形k级网络的扩展,都是先对当前层级的网络增加一个交换机,并和k级网络的n个节点分别连接,然后作为递归单位,和其他n - 1 个k级网络全连接构成n边形k + 1 级网络结构。这样的构建,是不断通过添加固定的结构进行扩展,整个网络结构严格进行模块化连接,使得网络扩展简易可行。同时,n - 1 级内部结构是否完全,并不影响第n级结构的构造;在第n级构建完成后,对于任意低层级内部结构的修正,不会影响上层结构。不同层级之间保证了独立性。
1.2 路由策略
在路由策略中,定义源节点src(i0,i1,i2,…,ik-1,ik),目的节点dst(j0,j1,j2,…,jk),以及由src发送的数据包。同时定义源节点发送的数据包中,包含源节点与目的节点的标识信息以及数据包ID,任意一个数据包通过自身ID与源节点的标识,可以得到惟一标记。当目标节点接收到数据包后,也可以根据包中携带的源节点标识信息获得请求节点的信息,路由算法的流程如图1所示。
路由策略算法如下所示,k层级的RNEP结构的路由策略,根据此算法可以分析得到传输路径长度。
1.3 RNEP网络结构分析
由于采用了递归构建,和传统树型结构相比,本文提出的网络设计在物理结构上具有良好的可扩展性,能够支持网络规模的指数增长。
根据网络构建过程可知,对于正n边形结构来说,每个服务器只需要和其所在域中的其他n - 1 个服务器以及惟一的一个交换机相连即可,所以每个服务器需要支持[(n - 1)+ 1] 条链路。无论是网络适配器数量n还是交换机接口数2n - 1,只要n不超过常用数目,在实际构建中,本文提出的结构都是可行的,同时,RNEP网络结构可以保证较低的交换机与服务器比例,有效地节省了能耗[1]。
1.4 模拟实验
使用Neuro Grid进行模拟实验,实验主要是构建RNEP网络结构,并模拟路由算法。验证在无任何失效的情况下,路由机制的运行状况,通过平均路径长度来分析传输性能。以正六边形为例,实验产生初始大小为42~1 554 个节点的网络。在实验中,从一个节点出发,向其余所有节点传递消息,记录路径跳数总和,从而求得平均值。对于n = 6 时的RNEP结构,不同层级节点总数及平均最短路径长度实验所得结果如表1 所示。
表1 反映了无节点失效的情况下,当n= 6 时,任一服务器到达其余节点的平均最短路径情况。由于不考虑节点失效,所以不可达节点数目均为0。实验所得的平均最短路径长度与算法的推导结果基本一致,且实验结果要优于算法的理论结果。
以n = 6,k = 2 的网络结构为例,节点数目为258。通过实验分析平均最短路径长度与链路失效率之间的关系。此处的链路是指交换机与服务器的链接断开,而非服务器(节点)失效。在实验中设置链路失效率的范围为5%~30%,以5%递增。实验结果如图2 所示。
从图2 中可以看出,当节点失效率增加时,平均增加的跳数在1 跳左右,平均路径长度增长缓慢。
继续以n = 6,k = 2 的网络进行试验,分析随着节点失效率的增加,路径失效率的变化情况,并与DCell结构的实验结果进行了对比。实验中,设计节点失效率从2%~20%变化并以2%的增幅增长,通过洪泛传递消息,记录失效路径数目,以求得路径失效率。统计结果展示如图3 所示。
2 RNEP网络结构的数据管理模型
2.1 网络结构的数据管理模型
存储服务器集群可实现存储节点的动态添加和删除的可扩展存储服务,其主要功能是负责数据文件的实际存储,数据请求方通过与主管理服务器和存储服务器集群的通信实现对数据的操作。整个系统对外屏蔽底层实现,为用户提供快速、透明、稳定、可靠的数据存储服务。
服务管理节点管理集群内部的数据块服务器,监控数据块服务器的运行,并为数据创建以及数据访问提供数据块服务器的位置。元数据管理模块负责管理和维护文件系统的元数据,系统监控模块用于查看当前系统的运行状态,负载均衡模块负责对用户的请求进行分配。
2.2 副本管理方法
副本放置位置的不同会使副本的可用性和一致性在访问过程中产生变化,同一域内的多个存储节点上分别存储副本可以最大化利用域内的网络带宽,防止机器失效、磁盘损坏所带来的影响,同时也减少域间写操作的网络通信[2]。
当有新数据上传到数据管理模型中时,客户端向服务管理节点提出创建副本请求,服务管理节点采用如下策略对副本进行放置:
(1)默认副本个数为3,服务管理节点根据存储节点的因素、域内的网络状况因素以及客户端的位置信息进行第一个副本的节点位置选择,存储节点的因素包括:磁盘利用率低;限制每个存储节点“最近”创建的数量。
(2)第二个副本在同域内根据存储节点因素选择最优的存储节点。
(3)第三个副本在不同域间根据第一个副本的位置选择策略进行选择,这种策略减少了域间的数据传输,提高了写操作的效率。
3 个副本其中2 个处于不同的域内,保证副本的可靠性。副本选择算法流程图,如图4 所示。
2.3 模拟实现及分析
参考Optor Sim模拟器,扩展云模拟器Cloud Sim的功能,并在扩展后的模拟器上进行了仿真实验。在Cloud⁃Sim上模拟基于RNEP数据管理模型的副本放置和副本选择策略,对比策略为HDFS副本放置策略和副本选择策略;HDFS的副本放置策略为:如果该客户端上有数据节点,那么随机将副本分别放在本地节点,否则在整个集群中随机选择一个合适的数据节点作为此时的本地机架节点,第一个副本放在本地机架上;第二个副本放在本地机架上的另外一个节点;第三个副本放在不同机架的节点上。HDFS的副本选择策略为客户端总是选择从距离它最近的可用数据节点上读取需要的数据块。
每个Datacenter包含10 台Host,最大功率为250 W,处理器能力为2 000 MIPS,每台主机内存为2 GB,主机带宽为100 Mb/s,每台主机上传100 个数据块,每个数据块有3 个副本。第一个数据中心模拟基于RNEP网络结构的数据管理模型,第二个数据中心模拟HDFS策略。
(1)副本读取时间的比较:副本读取时间是指客户端从发出读取请求到读取完副本所花费的时间。在两个数据中心分别随机选择一个客户端采用各自策略进行100 次随机读取操作的平均时间进行比较,如图5所示。
如图5 所示,基于RNEP数据管理模型的副本读取平均时间均明显要小于HDFS策略的平均读取时间。
(2)负载均衡的比较:在两个数据中心随机选择一个数据块,其中有7 个客户端离选中数据块的一个副本比较近,另外3个客户端分布在较远的节点上,然后这10个客户端随机向这个数据块发出读取请求,分别采用各自的策略:选择与客户端距离最近副本的HDFS策略和基于RNEP网络结构数据管理模型的副本选择策略。将负载表示为副本所在的存储节点接收的客户端读取请求的数量,每隔3 分钟记录一次3 个副本所在的存储节点在这3 分钟内的负载总量。
采用HDFS策略的3 个副本负载不均衡,客户端选择距离最近的副本从而使客户端的访问聚集在一个副本,导致该副本所在的存储节点负载很高,另外两个副本所在的存储节点负载比较低,造成集群负载不均衡。基于RNEP数据管理模型中的3 个副本负载差距不大,达到了负载均衡的效果。实验表明,基于RNEP网络结构的数据管理模型能够提高数据的访问性能,合理地利用网络带宽,使系统负载均衡。
3 基于覆盖集的数据迁移方法
在云存储环境中,数据迁移是一项复杂的任务,为了能更好的节能,在满足数据可用性的前提下,休眠更多的机器,节省更多的能耗。本文提出一种基于覆盖集的数据迁移算法,在进行数据迁移之前,要获得以下信息:源服务器、数据对象、目标服务器、迁移成本。基于覆盖集的数据迁移算法流程图如图6 所示。
在扩展功能后的Cloud Sim模拟器上进行仿真实验,实现基于覆盖集的数据迁移的算法,Cloud Sim中的能耗模型根据CPU的利用率计算能耗,通过修改Power⁃Model类采用的能耗模型计算能耗,并设定休眠的主机功耗为0。
每隔1 000 s,统计数据中心的能耗情况,各种策略的能耗对比数据如图7 所示。基于覆盖集的数据迁移策略虽然在前期数据迁移过程中消耗了能量,使总消耗的能量有所增加,但是,数据迁移后休眠部分节点,使数据中心消耗的能量比不进行数据迁移策略消耗的能量要少,并且随着时间的增多这种优势越来越明显。
设置了不同规模的对比试验,数据中心的节点数分别为20,100,300 和500,如图8 所示,给出的是三种不同的方法在电源消耗方面的对比,其中集群规模表示物理节点数。
数据显示集群的规模越大,基于覆盖集的数据迁移方法节约的能耗越多。这是由于基于覆盖集的数据迁移方法在越大规模的集群中,休眠的机器更多,也就减少了数据中心的能耗。
4 结论
云存储通过集群应用、网格技术或分布式文件系统等功能,将网络中大量不同的设备集合起来协同工作对外提供服务。本文研究云存储中的网络结构、数据管理模型以及数据迁移算法,创新性的提出了基于递归的正N边形网络拓扑结构及其路由机制设计,同时,设计了基于覆盖集的数据迁移方法。使云计算系统易于扩展,提高访问性能,合理利用网络带宽,减少系统能耗,既具有重要的学术价值,也具有广阔的应用前景。
参考文献
[1]左晓静,王荣.一种基于云计算的海量数据分布式存储策略[J].河南科学,2015,33(12):2135-2140.
[2]CHOU J,KIM J,ROTEM D.Energy-aware scheduling in disk storage systems[C]//Proceedings of 2011 31st International Conference on Distributed Computing Systems.[S.l.]:IEEE,2011:423-433.
[3]ABU-LIBDEH H,COSTA P,ROWSTRON A,et al.Symbiotic routing in future data centers[J].ACM SIGCOMM Computer Communication Review,2011,40(4):51-62.
[4]GREENBERG A,HAMILTON J R,JAIN N,et al.VL2:a scalable and flexible data center network[J].Communications of the ACM,2011,54(3):95-104.
[5]吴旦,王改云,李小龙.基于最小覆盖集的WSN数据聚集算法[J].计算机工程,2012,38(2):97-99.
[6]程付超,苗放,陈垦.自适应的分布式文件系统元数据管理模型[J].计算机工程与设计,2014,35(3):867-874.
[7]AVERSA L,BESTAVROS A.Load balancing a cluster of Web servers using distributed packet rewriting[C]//Proceedings of IEEE International Conference on Performance,Computing and Communications.Phoenix:IEEE,2000:24-29.
[8]刘云飞.基于Hadoop的数据迁移与存储的研究[D].北京:北京邮电大学,2015.
云计算环境分布式存储 篇2
1分布存储关键技术在云计算环境下的构成
数据中心是云计算技术体系安全平稳运行的根本保障。通常, 云计算的基本构成主要分为两个部分, 其中硬件部分为计算机设备及相关系统提供必要支撑, 软件部分主要为了数据中心的正常运行提供服务。根据数据中心数据信息通路的转发节点功能类型的不通可将云计算环境下的网络建构划分为以下几种类型, 下面进行具体介绍:
1.1交换机
在云计算环境下分布存储技术出现之前, 交换机设备久已经在现代计算机技术领域得到了十分广泛的应用。在云计算技术体系中, 交换机能够发挥数据中心的作用, 有了交换机, 就能够将用户和整个网络体系联系起来, 实现数据的无障碍交换。一般情况下, 交换机是通过与计算机服务器相连发挥作用, 能够顺畅有序的让数据包在互联网技术环境中进行转发和传递。需要注意的是, 这里提到的计算机服务器其本质上是一种存储设备, 能够进行数据存储和读取操作。交换机通常为树形结构, 从里到外有3层, 分别为聚合层、边缘层和核心层。结合交换机的实际使用情况, 可以看出交换机在使用过程中具有操作简单、连接容易、扩展简单的显著特点。但是, 交换机技术也有一个致命的缺陷, 无法满足大量数据的应用。
1.2服务器
随着服务器在互联网领域的出现, 网络技术传统的服务模式很快就被完全打破, 此后, 运用单体计算机设备, 就可以实现与互联网的顺利连接。就服务器而言, 其主要的任务就是对互联网环境中的数据信息对象进行转发, 其最大的技术优点就是内部结构极其简单, 而最大的缺点则是数据存储空间过于狭小, 这是限制其广泛的最大问题。
2分布存储关键技术在云计算环境中存在的问题
2.1容错性问题
对于容错性问题的解决, 可以通过先进的科学技术得以解决。在此前, 主要是应用RAID技术来解决计算机的容错性问题。当然了还可以通过应用高性能服务器和专用的存储设备, 这些对计算机容错性问题都能够得到有效改善。但是我们必须清楚, 在当前大数据背景下, 数据信息规模和节点数一直在不断增加, 这进一步加大了数据的失效率。如果计算机容错性问题在短时间内不能很好的解决, 一方面势必会增加客户的经济损失, 另一方面, 还会严重影响数据信息处理的工作效率。因此, 计算机容错性问题的解决已经逐渐成为我国相关领域的学者们研究的热点话题, 只有合理解决这一问题, 才有可能实现云计算的长远发展。
2.2扩展性问题
一直以来, 计算机扩展性问题的解决主要是靠冗余磁盘的预留来完成的。客观的讲, 这种解决措施能够使计算机存储磁盘的空间得到有效拓宽, 这样数据的存储将会拥有更大的存储空间。但是我们看到这种解决方式仍然不能解决当前大规模数据存储的情形。因此, 如果一味的通过冗余磁盘的预留方式解决数据存储空间的扩展性问题, 往往是很难彻底解决大规模数据的存储和处理的问题。特别地, 我国当前数据发展的规模已经达到了EB级, 照这个发展速度, 未来我国的数据规模将会更大, 级别也会发展到更高地步。正因为这样, 才有必要对数据网络中心和数据组织结构进行适应性调整, 以满足现代社会的需求。
2.3成本控制问题
在此之前, 云计算技术还没有得到广泛应用, 传统的数据分布储存结构只能适用于小规模数据的存储、计算和处理, 更无法合理解决能耗的问题, 因此在传统技术条件下, 分布储存的材料成本和管理成本都处于较低水平。但是我们必须看到, 当今社会计算机网络信息技术高速发展, 各国直接联系正逐步加强, 相应的, 无论是数据规模还是数据数量都在急剧增加, 使得相关成本也有很大增加, 在这种情况下, 成本的控制问题就成为了现代信息企业所需重点考虑的问题, 如何在获取经济利益最大化的同时保证能耗和成本控制在最低水平, 这是众多商家讨论的焦点。很明显, 商家除了要考虑如何在满足经济利益最大化的同时尽可能的降低成本外, 还要考虑如何在激烈的市场竞争中占据一席之地, 并树立良好的企业形象。
3云计算环境下分布存储关键技术
通过前面的分析可知, 分布存储技术在云计算环境下普遍存在容错性问题、扩展性问题以及成本控制问题三种, 这些问题导致了云计算环境下数据的存储、计算、处理的效率都极其低下, 有待有效提高。目前, 由于网络信息技术发展速度的进一步加快, 顺利有效的解决了容错性问题和成本控制问题。下面所要介绍的容错性技术和节能技术都能够实现云计算环境下分布数据储存能力的有效提升, 下面进行详细介绍:
3.1数据容错技术
数据容错技术在分布存储关键技术研究领域是一项极其重要关键技术, 通过该技术的应用, 不仅能够使得系统的可靠性和实用性得到大幅提高, 还能有效提高数据的访问效率。很多时候, 数据容错技术的应用都是通过增加数据冗余来完成的, 因为一旦有了冗余数据, 这样可以保证在数据失效或者丢失时还能够查找到数据, 但是由于大量的数据冗余, 使得存储资源的消耗进一步加大, 这是个不容忽视的问题。因此, 要考虑在保证容错的同时, 尽量提高存储资源的利用效率, 达到降低成本的目的。目前, 数据容错技术应用最为广泛的主要分为两种, 一种是纠删码容错技术, 另一种是复制容错技术。
3.1.1纠删码容错技术
这种容错技术本质上是一种基于编码的容错技术, 它实际上是通过对多个数据对象的编码, 进而获得已经生成编码的数据对象, 达到完全复制时能够尽可能的降低存储空间。就纠删码容错技术而言, 是一种基于信道传输能够容忍多数据模块丢失的编码技术, 能被应用于分布存储领域, 在实际应用中, 通过纠删码容错技术, 多个数据块信息可以被容忍到极少的冗余信息中, 这种做法可以最大限度的节省存储空间, 但是这种容错技术有一个很大缺陷, 就是在数据的下载时, 下载量往往比失效数据要大的多, 造成计算开销过大, 修复的成本费用也比较高, 不是经济的表现。
3.1.2复制容错技术
就复制容错技术而言, 其基本原理是在一个数据对象中进行多模块的创建, 并将所创建的多个模块分不到多个存储节点中去, 一旦某个数据出现了异常或者失效, 借助于其他数据模块就可以很容易获得该数据。通常复制容错技术主要包括两个方面, 即数据复制策略和数据组织结构。结合实际应用我们发现, 该技术既方便实现又简单直观, 能够大幅改善数据的读取效率, 正是基于这一特点, 复制容错技术才在云计算环境中得到了广泛应用, 但是, 因为该技术针对每个数据对象都进行数据模块的创建, 往往需要巨大的存储空间, 这也是该技术的主要缺陷。
3.2节能技术
在云计算环境中, 数据存储是至关重要的, 它是进行各种计算与服务的基本前提。据有关数据资料显示, 整个数据中心将近一半的能耗都要用于存储系统的能耗, 从这个角度看, 在云计算环境下进行分布存储节能技术的研究, 既可以有效降低运营成本, 还能带来生态效益。就云计算环境下节能技术主要分为两类, 一类是软件节能技术, 另一类是硬件节能技术。下面进行详细论述:
3.2.1软件节能技术
就软件节能技术而言, 其基本思想是在保证系统性能不受影响的前提之下达到降低数据存储中心能耗的目的。目前, 软件节能技术有两个重点方面:一方面就是节点管理技术。该技术主要是通过选择并应用分布存储中的部分节点或磁盘进而使未被选择的节点和磁盘处于低能耗或者完全关闭状态, 从而实现降低能耗的目标;另一方面就是数据管理技术, 该技术与节点的选择有直接关系, 在该技术中, 从数据的类型出发, 可分为三种具体类型, 即基于动态数据的管理技术、基于静态数据的管理技术以及基于缓存预取的管理技术。
3.2.2硬件节能技术
如果从硬件层次角度对硬件节能技术进行技术划分, 主要分为两种技术。第一种主要是基于数据中心, 主要思想是对高性能、高能耗的硬件设备进行更换, 取而代之的是那些低性能、低能耗的设备, 这样能够有效降低能耗。第二种技术主要是基于计算机整体部件, 使用目前最新的体系结构, 降低计算机节点以及分布存储的整体能耗, 实现硬件节能的目标。
参考文献
[1]刘月.云计算环境下分布存储关键技术研究[J].江苏科技信息, 2015 (09) :21-22.
云计算环境下的分布存储关键技术 篇3
一、云计算的含义
随着国内经济的快速发展和各项科研技术的不断完善, 为了满足数据信息计算的准确性和可靠性以及存储需求, 相关科研学者和社会精英研究并设计新型计算模式, 即是云计算。不仅可以提高商业需求, 也可以为个人用户提供便利、自由的网络需求和计算以及存储服务的访问需求。
云计算数据中心可以为用户提供日常需求的基本服务, 从而进一步达到用户的需求。云计算具有多节点的结构特点, 使大量的信息数据共存于不同的节点上, 便于对巨量信息的有效存储, 然而由于云计算数据存储量较大, 及其容易发生信息数据缺失准确性和效率的问题, 在一定程度上不仅增加计算成本, 也对云计算这种新型计算模式的推广和普及造成一定的局限性。在当今国内商业发展的过程中, 运用云计算模式进行商业计算, 不仅可以有效对管理数据信息、存储数据信息、计算数据信息和保证数据信息, 还可以提高众多数据信息较高的准确性、安全性和可靠性。而用户不用建立数据中心, 在一定程度上大大降低了计算使用成本, 只需要一个云计算终端, 就可以使商业发展获得更大的利益[1]。
二、国内当前在云计算环境下分布存储
(一) 容错性
在传统模式中, 都会使用配套的存储设备和专用的高性能服务器, 不仅大大增加存储升本, 还无法有效利用相关的存储设备和技术追求更大经济利润, 再加上传统模式的节点和较大的数据规模, 极其容易导致数据存储发生极大概率的误差, 失去计算的准确性和有效性以及可靠性, 无法为商业计算提供有效计算结果。例如, 在2006年, 谷歌公司的一份调查报告中曾表示:在每个大规模数据集的并行计算作业的过程中, 基本上会发生5个节点甚至5个以上的节点发生数据存储信息失效的问题, 不仅会是磁盘受到磨损, 还会导致数据缺失应有的准确性, 从而为商业发展带来不可估量的经济损失[2]。
(二) 扩展性
经过相关数据信息显示, 传统数据存储计算中, 数据存数的可扩展性一般都是通过预留实现的, 不仅保留数据有足够的存储空间, 还会保证数据的完整性, 从而确保数据信息的准确性、安全性和可靠性, 进一步满足数据包存储、读取和转发的功能。然而随着数据信息量的不断扩大, 数据信息规模的逐渐增大以及数据节点的不断增多, 数据中心对存储容量的需求也同样会发生巨大变化。
三、在云计算的环境下分布存储关键技术的构成
(一) 结构中心以交换机为主
在云计算的日常运转的过程中, 数据中心占据主导地位, 它主要是由以交换机为主的结构中心和以服务为主的结构中心两部分构成。以交换机为主的机构中心主要是通过交换机对各个服务器数据中心进行有效的连接工作, 进行数据存储、读取和转发, 完善存储和处理数据信息。其结构一般可分为边缘层、核心层、聚合层金字塔型三层结构, 具有较高的稳定性、可靠性和准确性, 其操作简单, 具有良好的扩展性。一般适用于传统数据中心对数据信息进行日常存储和计算, 在灵活性方面不是很好, 且容易浪费计算、数据信息资源, 无法充分利用服务器进行计算[3]。
(二) 结构中心以服务器为主
在云计算的环境中, 一般此类结构都是将更多的网卡安装在多个服务数据中心的服务器中, 再利用网线将服务器进行有效连接, 从而形成一个整体网络。由于以服务器为主的交换机作为数据重要的转发配置, 所以, 这种结构的服务器不仅需要对数据进行有效处理和存储, 还需要交换机对数据包具有转发的功能。正因如此结构, 才能使服务器与网络进行交互, 更加高效的开发计算方法。
(三) 混合结构
混合结构就是结构中心以服务器和交换机为主的结构统称, 两者进行混合, 利用交换机作为服务器的连接节点, 将更多的网卡安装在每个服务器上, 从而加强服务器对数据包的转发和传送功能, 混合结构不仅适用于特定的网络结构, 还能降低计算成本[4]。
结束语:
随着国内经济和市场经济的快速发展, 使云计算模式被国内各大计算机企业广泛应用于复杂、繁琐的商业计算中, 云计算的功效和优势也被充分发挥, 通过在实际操作的过程中, 发现新型计算模式的问题, 并通过问题的特点加以分析和研究, 利用一切科学技术手段完善云计算等一系列高科技计算模式的完整性, 是国家科学领域和计算商业领域未来发展的必要趋势, 是推动国家经济发展的重压实现途径。
摘要:随着国内经济的快速发展, 科学技术的不断完善, 为了满足人们巨大储存容量和获取大量日常通信信息的需求, 相关科研工作者经过长时间的积累和借鉴西方发达国家的科研成果研究并开发一项新型计算技术, 就是云计算, 其主要用于商业领域的计算。它具有较强的安全、稳定和可靠性, 可以随时为商业领域提供有效的计算, 然而云计算在国内各大企业推广和普及的过程中, 也曾发生许多技术类的问题, 因此本文针对云计算环境下的分布存储关键性技术进行分析和研究。
关键词:云计算,分布存储,关键性技术
参考文献
[1]张娓娓, 李旸园, 陈绥阳.基于云计算环境下的分布存储技术[J].电子测试, 2013, 22:228-229.
[2]李瑶, 闫勇.云计算环境下的分布存储关键技术[J].通讯世界, 2016, 01:76.
[3]易灿, 邹晶晶.云计算环境下分布存储关键技术解析[J].硅谷, 2014, 20:81-82.
云计算环境下的分布存储关键技术 篇4
1 分布存储技术的产生
现如今的社会是一个网络时代, 计算机已成为人们生活、工作、学习所必不可少的工具, 自然数据量就会大量增加。单独将如此大规模增加的数据存于计算机上, 是没有办法跟上如今社会快速发展的步伐的。那么云计算这一从根本上解决数据存储问题的技术便应运而生。它不仅符合信息技术的快速发展还满足了一定的社会需求。对于数据是以什么样的方式在互联网上进行存储, 这是非常重要的。因为分布存储这一技术是用户根据自身实际的需求量在存储系统中分析, 从而选择租或买网上的存储空间来实现自己的存储需要[1]。由于云计算环境的差别, 数据中心的差别, 大规模的数据便会存储在各自对应的数据中心, 在经过了数据中心的编排后, 通过特定的端口传输给用户, 用户自己在根据特定的端口将数据存储在数据中心。作为最新的计算模式, 同时实现了用户间的资源共享, 当然云计算自然要以互联网技术为基底的。
2 分布存储技术的发展现状
2.1 容错性
RAID技术进行容错性升级, 在此基础上需要通过高性能服务器才能得以实现, 这就造成生产成本大幅度提升。云计算环境下, 数据存储失效问题比较常见, 所造成的经济损失也是不可估量的, 因此需要借助一定措施对分布存储的容错性问题进行解决。
2.2 可扩展性
设计冗余磁盘预留是提升可扩展性性能的常规手段, 云计算环境下, 数据升级至EB级别, 常规手段磁盘预留方式已无法满足要求。所以需要升级数据组织结构, 以此才能促使可扩展性性能的提升。
2.3 成本控制
传统方法可以对小规模节点数据进行管理, 这一过程无特殊的能耗要求, 想通过传统方法促使分布存储成本升级是不可行的。云计算环境下需要对数据存储量和节点进行升级, 也就容易追加成本, 散热与制冷方面同样需要耗能, 因而控制成本成为需要解决的重要问题。
3 分布储存技术的构成
作为云计算技术中枢的数据中心, 也是云计算技术的焦点。云计算技术有硬件、软件2部分, 云计算的应用面很广, 软件与硬件的区别显著, 硬件为基础类设施, 软件为程序[2]。计算机的设备和支撑系统是硬件的重点, 对数据效率以及储存结果产生影响的要素是数据中心的节点结构。所以, 就依照转发功能和节点的不同来分类, 分布储存技术的构成分3类。
3.1 中枢结构服务器
以服务器为中枢就是将很多网卡分装在不一样的服务器中, 经网线逐个连接。该结构里, 服务器不光要处理数及和储存还担负着对数据包进行转发的任务。它有着非常显著的优势, 这种结构以服务器作为中枢使用线路进行连接在构成上都比较方便, 也让网络连接效果有更显著的提升, 实用性增强工作效率自然就高[3]。当然存在显著的优势就会相应的存在缺陷, 链路冗杂, 资源占用大, 负载压力加大等自然就会使计算效率大幅度的下降, 那么必然会增加成本损耗性能。
3.2 结合2个单一结构
结合2个单一结构, 服务器与交换机。结合这两者的优势互补, 不但对网络结构进行优化还能够减少成本。提升了网络结构的活力。这二者的结合结构可以将服务器与交换机的优势表现的更突出, 同时也能在保证同等性能的前提下降低我们的成本, 可谓一举两得。
3.3 将交换机作为中心的结构
在过去的数据储存里被大泛围使用的是交换机, 因此绝大多数用户在云计算技术还未被使用前都在使用以交换机作为媒介将网络与数据存储中心进行连接的方式。将交换机作为中心结构的技术, 分为了3个部分, 这样的结构操作起来更加简单便捷, 性能更强, 但其本身也存在一些瑕疵, 存储空间有限, 技术落后, 这也意味着它同时拥有很大的上升空间, 我们可以强化操作自由度, 提升储存效率等。
4 研究云计算环境下分布存储技术
4.1 容错性
现代科技的迅猛发展, 也让人们更加注重云计算在当前环境下的分布存储技术。容错技数的意思是在系统运转过程中发生错误的情况下依然能够保护用户的数据不会出现错误所提供的技术。优化数据容错技术能够更好的增加系统的可靠性, 使得应用性达到更高的水平, 这对于数据的访问率有着重大的意义[4]。数据容错技术主要对纠、删码技术, 复制容错技术展开分析。
纠、删码技术是对于大量的数据目标进行的一种编码, 它可以通过使用删除数据的办法来进行新对象的查找, 这样可以完全复制并且使存储量大大减低。
复制容错技术在一个数据对象里制造出许多相同的模块, 将这些相同模块分别放置在各个不同的节点之上, 即使别的数据模块失去效用以后用户仍然可以在别的节点中取得相同数据。
4.2 可扩展性
目前, 数据中心的存储量已经升级。因此, 云计算技术也应该紧跟发展的步伐, 将数据中心的存储量进行相应的提升, 通过更新技术来达到快速提升的需要。对于数据存储技术环境的日益发展, 只有强化数据中心在需求上的提升才会对完成云计算环境的系统性扩展起到有利的作用。用户在利用数据中心完成数据存储的过程里要将规模性提升变为现实, 那么存储能力及结构也要提升。这样一来, 就要求我们对硬件的可扩展性做进一步的改进。因为这样才能真正满足用户对于存储需要。
4.3 节能技术
数据统计显示[5], 运行过程中, 储存系统的耗能约占总量的45%左右。所以, 研究节能的过程中, 对储存系统的耗能情况进行深入研究, 不仅可以从这一途径降低成本, 还能为生态环境的维护提供现实意义。目前, 节能技术可以囊括为如下2个方面:1) 软件方面的节能技术, 在确保不降低系统正常运行性能的前提下, 促使存储数据系统的耗能降至最低是软件节能技术所追求的目标。其主要对节点和数据进行管理, 而节点管理是分析云计算环境下存储节点的分布情况, 当进入关闭或低能耗状态时可以达到降低能耗的效果, 数据管理则是对有关数据进行管理从而实现降低能耗效果, 如动态数据、静态数据以及缓存预取管理;2) 硬件方面的节能技术, 从硬件层次对节能技术进行深入了解, 从不同层次对其进行划分, 可包括计算机整体技术和数据中心技术2种不同技术, 其中数据中心技术主要是对高能耗以及高性能设备进行替换的技术, 计算机整体技术主要是利用新型体系结构促使能耗降低的技术。
5 结论
云计算环境下的分布存储关键技术在科技飞速发展的今天, 取代了传统的存储方式, 极大程度的增加了存储空间, 同时也实现了用户间的基础资源共享, 方便快捷而且具有特别强的灵活性。当然, 技术仍然在不断地发展进步节能技术的产生不但提高了存储效率, 大大减低了成本, 最重要的是对于现实生活的影响, 这就是与人们息息相关的环境问题。分布存储技术仍有很广阔的提升空间, 紧跟科技发展的步伐让这一技术运用到更大的领域。
参考文献
[1]苏文, 王焕东, 台运方, 等.面向云计算的多核处理器存储和网络子系统优化设计[J].高技术通讯, 2013, 23 (4) :360-367.
[2]朱晓姝, 孙小雁, 熊莉, 等.基于密钥树的云平台隐私保护与分享技术研究[J].合肥工业大学学报:自然科学版, 2015, 38 (8) :1071-1073, 1136.
[3]王中华, 韩臻, 刘吉强, 等.云环境下多用户文件共享方案[J].计算机研究与发展, 2014, 51 (12) :2614-2622.
[4]王宁, 杨扬, 孟坤, 等.云计算环境下基于用户体验的成本最优存储策略研究[J].电子学报, 2014, 42 (1) :20-27.
云计算环境分布式存储 篇5
当今社会, 互联网逐渐在千家万户中普及, 网络信息技术水平日益提升, 一定程度上促进了社会的快速进步和发展。云技术作为一种创新性的网络技术, 自其诞生以来受到相关领域人士的广泛关注, 并且在实际应用中取得了较为可观的成效, 在国内外相关行业领域发挥了巨大的作用[1]。
一、云计算环境下分布存储技术的结构
1. 服务器为核心。
服务器为核心的数据中心结构主要是指通过网线连接每个服务器终端, 此类结构中, 服务器对各类数据信息进行大批量的处理和存储, 并且为用户提供数据的传输和转发。此类以服务器为核心的结构在连接和组成中较为方便, 去掉不必要的转换器等设备, 可以直接提供数据处理和存储服务, 并与其它网络进行数据交流, 有助于路由算法的高效性。
2. 交换机为核心。
以交换机为核心的结构, 主要是指所有的数据传输和存储, 都是通过交换机进行的, 在云计算网络技术尚未能广泛应用之前, 以交换机为核心的结构是最为实用的数据存储技术, 以交换机作为数据存储的中心, 将用户数据同数据中心连接在一起, 通过交换机为媒介传输。以交换机为核心的结构, 是一种较为穿透过的数据存储技术, 其结构中包括聚合层、边缘层以及核心层三个部分, 此类结构的最为突出的特点就是操作简单、连接容易, 不会占用计算机大量的资源, 同时具有很强的扩展性, 相较于服务器为核心的数据存储技术优势在于不会占用计算机的资源, 能够保证数据处理和存储效率[2]。
3. 服务器与交换机结合。
以服务器为核心的结构会占用大量计算机资源, 但是操作简单, 有利于开发更为实用高效率的路由算法, 而以交换机为核心的结构操作简单, 连接容易, 不会占有计算机资源, 但是由于通过交换机进行数据传输和存储, 交换机的存储容量较小, 制约了大量数据的处理和存储, 由此两种结构有利也有弊。将两者的优势互补, 取其精华, 去其糟粕, 促进两者的有效融合, 形成一种混合的结构, 能够有效地进行大量数据传输和处理。
二、数据容错技术
1. 纠删码容错技术。
在数据容错技术中, 纠删码容错技术是基于信道传输的数据编码技术, 当数据传输和存储过程中丢失了大量的数据, 可以将其纳入到分布式存储领域, 并且由于纠删码容错技术能够大大的减少数据存储的资源占用, 并且基于此种容错技术, 对不同数据对象进行编码, 形成编码数据对象。
2. 复制容错技术。
复制容错技术是将数据对象创建成多个模块, 并将其按照实际需要分布到不同存储节点中, 当其中某一个数据对象失效, 可以通过对其他数据模块进行复制, 获得相同的数据信息。复制容错技术主要包括数据复制策略以及数据组织结构, 一方面复制容错技术的优势在于客观清晰、数据读取速率高、实现方便, 是目前云计算环境中最受用户欢迎的数据传输和存储技术, 并且在实际应用中获得了较为可观的成效, 得到了广泛应用。
三、节能技术
数据存储是云计算环境下最主要的组成部分, 但是随着人们观念的提升, 对于节能技术的应用更为关注, 数据存储对于系统消耗至少占用40%, 所以节能技术的应用是十分有必要的, 可以通过计算机的软件和硬件两方面进行研究。从硬件方面的而节能措施主要可以针对数据中心进行改善, 将消耗高性能和高能耗的硬件设备更换成低能耗和低性能的硬件设备, 或者从计算机整体进行考虑, 增加计算机的数据存储容量来降低数据存储耗能;从软件的角度来看, 可以降低数据中心系统的能源消耗, 主要包括对数据中心的节点管理以及数据村村管理, 全面的降低计算机数据存储耗能。
结论
综上所述, 随着网络技术水平的日益提升, 云计算作为一种创新性的数据计算模式, 受到了国内外相关领域的热烈欢迎并且在不断的创新和发展过程中, 改变着数据存储的大环境。但是由于云计算存储数据量较大, 在实际应用中存在着数据丢失和失效问题, 由此本文对云计算环境下的分布存储关键技术进行客观阐述和分析, 以便为云计算技术的创新和发展奠定基础, 为用户提供更加完善的数据存储功能。
参考文献
[1]郭翠云.云计算环境下的分布存储关键技术分析[J].硅谷, 2013, 12 (16) :42.
云计算环境分布式存储 篇6
1 云计算环境下分布存储技术的结构
确保云计算正常运行的核心基础便是数据中心了, 主要是包含软件与硬件两个部分。在云计算的环境之下, 软件主要是指在数据中心中提供的服务和所需要安装的程序;硬件则是指数据中心的基础设施, 主要包含了计算机的设备与支撑系统。云计算中如果想有可靠的数据和高效的存储都与数据中心的节点结构密不可分, 因此, 通过对数据中心的路由转发功能的节点类型的不同进行分类, 大抵可以将云计算环境下的分布存储技术的结构分为三大类。
1.1 服务器为核心的结构
以服务器为核心的这种结构是利用网线将每个服务器中安装的多个网卡进行相互连接的结构。这种结构中, 服务器即需要对数据进行处理和存储, 还要将数据包的转发功能完全负责。这种以服务器为核心的结构相对来说在线路的连接以及结构的组成方面较为简单, 不存在交换机这种硬件设备, 可以很好的使服务器与底层的网络进行交互, 便于开发高效实用的路由算法。但是此种结构也存在着一定的弊端, 比如链路稍有冗余, 服务器中占用的计算资源较大, 服务器的负载压力加大从而导致服务器的整体计算效率大大降低, 这样, 便会带来成本增加以及性能损失等问题。
1.2 交换机为核心的结构
传统的数据存储都是通过交换机进行的, 因此在云计算的环境尚未盛行之前, 诸多的用户都是采用交换机作为彼此数据存储的中心, 也就是说用户是将网络体系与数据中心联系在一起, 而二者的纽带便是交换机。这种以交换机作为核心结构的存储技术, 主要是采用的树形结构, 主要包含的是聚合层、边缘层和核心层三个部分。树形结构的特点主要是简单的操作方法、连接较为容易、扩展性强等。而这种以交换机为核心的结构也存在着一定的弊端, 比如有限的存储容量、较落后的存储技术等, 但是在数据存储过程中, 能够将操作的灵活性和存储的高效率等方面进行优化处理, 将会有很大的提升空间。
1.3 服务器与交换机相结合的结构
正是由于单一的以服务器为核心的结构或者是单一的以交换机为核心的结构都或多或少的存在诸多的弊端, 因此可以将两者结合起来, 成为混合的结构模式, 扬长避短。这种混合的结构模式的优点主要可以从网络结构方面、路由费用方面、可扩展性方面以及构建成本方面有所体现。在网络结构方面混合的结构可以同时采用由交换机和服务器提供数据的路由转发的功能, 使网络结构更加的自由和灵活;在可扩展性方面来看, 这种混合结构是受每个服务器安装的网卡数目限制的, 数据中心的节点规模也是有限的;成本构建方面则是因为混合结构同时能够结合交换机结构和服务器结构的优点, 会使的具备同样性能的条件下降低所需的成本。
2 数据容错技术
在分布式存储的研究领域一项关键技术便是数据容错技术, 良好的容错技术对于提高系统的可用性和可靠性以及数据的访问效率等都能大大的提高。数据的容错技术往往是通过增加数据冗余来实现, 因为冗余的数据能够确保当数据失效或丢失之后查找的到, 正是因为出现了太多的数据冗余, 也同时加大了存储资源的消耗, 那么, 如何既能保证容错的同时还能够降低成本来提高存储资源的利用率, 目前, 最为常用的便是纠删码容错技术以及复制容错技术。
2.1 纠删码容错技术
纠删码容错技术是一类基于信道传输的编码技术, 当多个数据块丢失可以容忍, 并将其引入到分布式存储的领域, 纠删码容错技术可以减少存储的空间, 基于编码的这种容错技术可以利用多个数据对象进行编码, 生成编码的数据对象, 出现巨大的存储可以实现对完全复制数据的降低, 但是却在下载数据量的方面大于失效的数据大小, 但是这种纠删码的容错技术却有着计算的开销大、修复的成本好的弊端。
2.2 复制容错技术
复制容错技术是指在一个数据对象中创建出多个相同的模块, 将其分布到不同的存储节点之中, 即使当某个数据对象失效之后, 仍然可以利用其它有效的数据模块来获得相同的数据。复制容错技术主要包括两个方面, 即:数据复制策略以及数据组织结构。复制容错技术的优点主要是方面实现、简单直观、读取效率高, 在目前的云计算环境中深受用户的喜爱, 并且得到了广泛的应用, 但同时也存在一定问题, 就是因为每个数据对象都需要建立一定的数据模块, 所以对于存储空间有着较高的要求。
3 节能技术
在云计算的环境下, 数据存储是重要的部分, 但是同时存储系统的消耗占据到了数据中心的40%以上, 所以一定要考虑节能技术, 主要从软件节能和硬件节能两个方面入手。软件节能技术主要是指确保系统性能的基础上, 降低存储数据中心的能耗, 包括节点管理和数据管理;硬件节能技术主要有两个方面, 一是从数据中心进行考虑, 将高性能和高能耗的硬件设备被低性能和低能耗的设备所替换, 另一种是从计算机整体部件考虑, 采用新型体系结构, 实现计算机数据存储能耗的降低。
4 结束语
总之, 在这样科学技术不断发展的今天, 云计算已经作为一种新型的计算模式正在全世界的范围内改变着真个数据存储的环境, 云计算可以将庞大的数据节点与网络设备有效的进行连接, 从而形成一个或一些大规模的数据中心, 为用户提供基本服务来满足不同的需求。但是尽管云计算存储数据的规模很大, 但是也存在着数据失效等问题, 本文则对云计算环境下的数据存储的技术进行分析, 希望能够有一定的现实意义。
摘要:随着网络技术的急速发展, 云计算已经成为目前技术发展的主旋律, 云计算作为一种新型的资源, 加强利用可以大大的提高对数据的处理和存储的安全性, 并将其应用于分布存储的技术之中, 可以极大的提高分布存储的高效性和实用性。本文将从在云计算环境下分布存储技术的现状开始, 对云计算环境下的分布存储技术的结构以及关键技术进行具体分析。
关键词:云计算,分布存储,关键技术
参考文献
[1]王意洁, 孙伟东等.云计算环境下的分布存储关键技术[J].软件学报, 2012 (04) .
基于云计算的分布式存储技术 篇7
自从亚马孙推出Amazon Web Service (AWS) 的Iaa S服务以来, 现在其Amazon EC2、Amazon AWS、Amazon S3、Amazon SQS等云计算平台已经被上千家公司使用。Google公司在2008年提供了基于Paa S的Google App Engine。在Google的基础架构上运行网络应用程序, 能让开发人员在支持着自己的应用程序的可扩展系统上构建网络应用程序。随后, 微软公司也推出了Windows Azure操作系统, 这个系统作为微软云计算计划的服务器端操作系统 (Cloud OS) 为广大开发者提供服务。IBM在2007年提出了“蓝云”计划, 推出共有云和私有云的概念。IBM提出私有云解决方案是为了减少诸如数据、信息安全等共有云现存的问题, 从而抢占企业云计算市场。
在我国云计算产业的发展也得到了政府的高度重视, 在2010年10月召开的十七届五中全会的报告中, 重点提到发展新一代信息技术, 而云计算和三网融合、物联网等一起被作为最重要的方向之一。从2008年开始, 已经有多个地方政府在积极推进云计算产业和应用的发展, 例如:无锡中国云计算中心、上海的“云海计划”、北京的“祥云计划”, 等等, 此外, 成都、佛山、东莞、鄂尔多斯等城市也在纷纷跟进。可以预见, 未来云计算将成为十二五期间, 信息技术领域最重要的发展方向, 无论是技术研发、产品推广还是应用示范等方面, 都将获得政府在政策、资金、项目等方面的大力支持。
云计算的概念与特点
云计算是网格计算 (Grid Computing) 、分布式计算 (Distributed Computing) 、并行计算 (Parallel Computing) 、效用计算 (Utility Computing) 、网络存储 (Network Storage Technologies) 、虚拟化 (Virtualization) 、负载均衡 (Load Balance) 等传统计算机和网络技术发展融合的产物。广义云计算指服务的交付和使用模式, 指通过网络以按需要、易扩展的方式获得服务。这种服务可以是IT软件和互联网相关服务, 也可以是其他服务。狭义云计算指IT基础设施的交付和使用模式, 指通过网络以按需、易扩展的方式获得所需资源。总体来说云计算具有以下几个特点:
(1) 超大规模:“云”具有相当的规模, Google云计算已经拥有100多万台服务器, Amazon、IBM、微软、Yahoo等的“云”均拥有几十万台服务器。企业私有云一般拥有数百上千台服务器。“云”能赋予用户前所未有的计算能力。
(2) 虚拟化:云计算支持用户在任意位置、使用各种终端获取应用服务。所请求的资源来自“云”, 而不是固定的有形的实体。应用在“云”中某处运行, 但实际上用户无需了解、也不用担心应用运行的具体位置。只需要一台笔记本或者一个手机, 就可以通过网络服务来实现我们需要的一切, 甚至包括超级计算这样的任务。
(3) 高可靠性:“云”使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性, 使用云计算比使用本地计算机可靠。
(4) 通用性:云计算不针对特定的应用, 在“云”的支撑下可以构造出千变万化的应用, 同一个“云”可以同时支撑不同的应用运行。
(5) 高可扩展性:“云”的规模可以动态伸缩, 满足应用和用户规模增长的需要。
(6) 按需服务:“云”是一个庞大的资源池, 你按需购买;云可以像自来水, 电, 煤气那样计费。
(7) 廉价性:由于“云”的特殊容错措施可以采用极其廉价的节点来构成云, “云”的自动化集中式管理使大量企业无需负担日益高昂的数据中心管理成本, “云”的通用性使资源的利用率较之传统系统大幅提升, 因此用户可以充分享受“云”的低成本优势。
云计算与云存储
云存储是在云计算 (cloud computing) 概念上延伸和发展出来的一个新的概念, 是指通过集群应用、网格技术或分布式文件系统等功能, 将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作, 共同对外提供数据存储和业务访问功能的一个系统。当云计算系统运算和处理的核心是大量数据的存储和管理时, 云计算系统中就需要配置大量的存储设备, 那么云计算系统就转变成为一个云存储系统, 所以云存储是一个以数据存储和管理为核心的云计算系统。简单来说, 云存储就是将储存资源放到网络上供人存取的一种新兴方案。使用者可以在任何时间、任何地方, 透过任何可连网的装置方便地存取数据。同时, 在云数据中心所使用的存储必须具有良好的兼容性。在云计算时代, 计算资源都被收归到数据中心之中, 再连同配套的存储空间一起分发给用户, 由于众多的用户带来了各种各样的需求, Windows、Linux、Unix、Mac OS, 存储需要面对各种不同的操作系统, 如果给每种操作系统都配备专门的存储的话, 无疑与云计算的精神背道而驰, 因此, 云计算环境中, 首先要解决的就是兼容性问题。其次是存储容量的扩展能力。
Hadoop软件平台
Hadoop是根据Google公司公开的资料开发出来的类似于Google File System的Hadoop File System以及相应的Map/Reduce编程规范。Hadoop是开放源代码, 开发人员可以使用它来开发云计算应用, 尤其是云硬件平台。
Hadoop实现了一个分布式文件系统 (Hadoop Distributed File System) , 简称HDFS。HDFS有着高容错性的特点, 并且用来设计部署在低廉的硬件上。它提供高吞吐量来访问数据, 适合那些有着大量数据的应用程序。HDFS可以以流的形式访问文件系统中的数据。
Hadoop还实现了Map Reduce分布式计算模型。Map Reduce将应用程序的工作分解成很多小的工作块。HDFS为了做到可靠性, 创建了多份数据块的复制 (Replicas) , 并将它们放置在服务器群的计算节点中, Map Reduce就可以在它们所在的节点上处理这些数据。Hadoop是由HDFS、Map Reduce、HBase、Hive和Zoo Keeper等组成, 其中, HDFS和Map Reduce是两个最基础、最重要的成员, 其他子项目提供配套服务。总体来说Hadoop具有以下几个主要特点:1.扩展性强:能可靠地存储和处理千兆字节 (GB) 数据。2.成本低:可以通过普通机器组成的服务器群来分发以及处理数据, 服务器群总计可达数千个节点。3.高效率:通过分发数据, Hadoop可以在数据所在的节点上并行地处理它们, 非常快速。4.可靠性好:Hadoop能自动地维护数据的多份复制, 并且在任务失败后能自动地重新部署计算任务。
1、Hadoop Map/Reduce编程模型
Hadoop Map/Reduce是一个软件构架, 基于它写出来的应用程序能够运行在由上千个机器组成的大型集群上, 并以一种可靠容错的方式并行处理上T级的数据集。一个Map/Reduce作业 (job) 通常会把输入的数据集切分为若干独立的数据块, 由map任务 (task) 以完全并行的方式处理它们。构架会对map的输出先进行排序, 然后把结果输入给reduce任务。通常, 作业的输入和输出都会被存储在文件系统中。整个框架负责任务的调度和监控, 以及重新执行已经失败的任务。
Map/Reduce框架和分布式文件系统通常是运行在一组相同的节点上的, 也就是说, 计算节点和存储节点通常在一起。这种配置允许框架在数据节点上高效地调度任务, 可以非常高效地利用整个集群的网络带宽。Map/Reduce框架由一个单独的主 (master) Job Tracker和每个集群节点一个次 (slave) Task Tracker共同组成。Master负责调度构成一个作业的所有任务, 这些任务分布在不同的slave上, master监控它们的执行, 重新执行已经失败的任务;而slave仅负责执行由master指派的任务。
应用程序至少应该指明输入/输出的位置, 并通过实现合适的接口或抽象类提供map和reduce函数, 再加上其他作业的参数, 就构成了作业配置 (job configuration) 。然后, Hadoop的job client提交作业和配置信息给Job Tracker, 后者负责分发这些软件和配置信息给slave, 调度任务并监控它们的执行, 同时提供状态和诊断信息给job client。
Map Reduce框架的核心步骤主要分成两个部分:Map和Reduce。当向Map Reduce框架提交一个计算作业时, 它会首先把计算作业拆分成若干个Map任务, 然后分配到不同的节点上去执行。每一个Map任务处理输入数据中的一部分, 当Map任务完成后, 它会生成一些中间文件, 这些中间文件将会作为Reduce任务的输入数据。Reduce任务的主要目标就是把前面若干个Map的输出汇总到一起并输出。
Map Reduce的工作过程分为两个阶段:map阶段和reduce阶段。每个阶段都有键/值对作为输入和输出, 并且它们的类型可由程序员选择。程序员还具体定义了两个函数:map函数和reduce函数。在处理大数据集的过程中, 将大数据集分解为成千上万个小数据集, 每个 (或若干个) 数据集分别由集群中的一个结点进行处理并生成中间结果, 这些中间结果又由大量的结点进行合并, 形成最终结果。如图1所示。
2、HDFS的分析
HDFS是Google GFS的开源版本, 是一个高度容错的分布式文件系统, 它能够提供高吞吐量的数据访问, 适合存储PB级的大文件。HDFS采用Master/Slave结构;Name Node维护集群内的元数据, 对外提供创建、打开、删除和重命名文件或目录的功能;Data Node存储数据, 并负责处理数据的读写请求。Data Node定期向Name Node上报心跳, Name Node通过响应心跳来控制Data Node。如图2所示。
Name Node和Data Node被设计成可以在普通的机器上运行, 这些机器一般运行着Linux操作系统。HDFS采用Java语言开发, 因此任何支持Java的机器都可以部署Name Node或Data Node。由于采用了可移植性极强的Jave语言, 使得HDFS可以部署到多种类型的机器上。一台机器上只运行一个Name Node实例, 而集群中的其它机器分别运行一个Data Node实例。集群中单一Name Node的结构大大简化了系统的架构。Name Node是所有HDFS元数据的仲裁者和管理者, 用户数据不会流过Name Node。
(1) HDFS读取数据过程
客户端通过调用Distributed File System对象的open () 来打开文件。对于HDFS来说, 这个对象是分布式文件系统的一个实例。分布式文件系统 (Distributed File System) 通过使用RPC来调用名称节点, 以确定文件开头部分的块的位置。对于每一个块, 名称节点返回具有该块的数据节点地址。此外, 这些数据节点根据它们与客户端的距离来排序。如果该客户端本身就是一个数据节点, 便从本地数据节点中读取。分布式文件系统返回一个FSData Input Stream对象给客户端读取数据。FSData Input Stream转而包装了一个DFSInput Stream对象。接着, 客户端对这个输入流调用r e a d () 操作。存储着文件开头部分的块的数据节点地址的FSData Input Stream随即与这些块最近的数据节点相连接。通过在数据流中重复调用read () , 数据会从数据节点返回客户端。到达块的末端时, DFSInput Stream会关闭与数据节点间的联系, 然后为下一个块找到最佳的数据节点。客户端只需要读取一个连续的流, 这些对于客户端来说都是透明的。客户端从流中读取数据时, 块是按照DFSInput Stream打开与数据节点的新连接的顺序读取。它也会调用名称节点来检索下一组需要的块的数据节点的位置。一旦客户端完成读取, 就对文件系统数据输入流调用close () 操作。如图3所示。
(2) HDFS写入数据过程
客户端通过在分布式文件系统 (Distributed File System) 中调用create () 来创建文件。分布式文件系统通过一个RPC去调用名称节点, 在文件系统的命名空间中创建一个新的文件, 这时没有块与之相联系。名称节点执行各种不同的检查以确保这个文件不存在, 并且客户端有可以创建文件的适当的许可。如果这些检查通过, 名称节点就会生成一个新文件的记录;否则, 文件创建失败并向客户端抛出一个IOException异常。分布式文件系统返回一个文件系统数据输出流, 让客户端开始写入数据。就像读取一样, 文件系统数据输出流控制一个DFSOutput Stream, 负责处理数据节点和名称节点之间的通信。在客户端写入数据时, DFSOutput Stream将它分成一个个的包, 写入内部的队列, 即数据队列。数据队列随数据流流动, 数据流的责任是根据适合的数据节点的列表来要求这些节点为副本分配新的块。DFSOutput Stream也有一个内部的包队列来等待数据节点确认, 称为确认队列。一个包只有在被管线中所有节点确认后才会被移出确认队列。客户端完成数据的写入后, 就会在流中调用close () 操作。在向名称节点发送完信息之前, 此方法会将余下的所有包放入数据节点管线并等待确认。名称节点已经知道文件由哪些块组成, 所以它只需在返回成功前等待块进行最小量的复制。如图4所示。
(3) HDFS负载均衡
HDFS集群会处于长时间运行状态, 尤其是大量的delete操作后, 集群中各个Data Node上的空间使用率可能会存在比较大的差异。所以需要一种机制使各个Data Node保持平衡, 防止少数Data Node存储过多的文件。少数使用率过高的Data Node会导致对其的数据访问效率变低, 并且如果该Data Node停止服务, 则需要更多的时间进行恢复, 对集群也会造成更大的影响。
Hadoop中提供了balancer的机制。Hadoopbalance rthreshold
阀值设置的越小, HDFS各个Data Node的使用率越接近, 整个集群也更加平衡, 但会消耗更多的时间和资源来达到该平衡状态。如果阀值设置的过小, 对于操作非常频繁的HDFS集群, 有可能永远也不会达到该阀值所指定的平衡状态。阀值设置越大HDFS各个Data Node的使用率差距越大, 但是会较容易达到平衡状态。
在balancer的过程, Hadoop会递归的把b l o c k从使用率高的Data Node转移到那些使用率低的Data Node上。在每次递归的过程中, 单个Data Node转移或者接受的block不得超过10G或者它的存储能力的阀值 (根据该Datanode的总空间决定) 。并且每次递归过程的执行也不能超过20分钟。在每次递归过后, 会更新Data Node的最新状态信息, 决定下一次递归的执行。
整个balancer过程是比较复杂的, 首先会计算集群总的使用率, 然后分别计算各个正常运行的Data Node结点的使用率。根据balancer阀值对各个Data Node进行分类, 找到那些使用率过高的和使用率过低的结点。
结语
【云计算环境分布式存储】推荐阅读:
云计算环境下05-10
云计算网络环境07-31
云计算环境概念10-29
云计算环境下网络安全05-26
云计算环境下电子政务05-28
云计算环境下的计算机网络安全07-06
云计算的数据存储技术12-31
分布式云计算07-29
云计算下的存储变革08-07
虚拟计算环境08-15