首页 > 范文大全 > 正文

云计算环境中分布式数据存储关键技术研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇云计算环境中分布式数据存储关键技术研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要: 鉴于云计算存在庞大的节点规模和数据规模,云计算系统在可扩展性、高可用性等方面面临着诸多问题。针对云计算环境下的分布数据存储,构建了一种基于递归的正[N]边形网络模型,在数据中心网络结构的基础上给出了数据管理模型,并设计了以提高数据可用性、负载平衡为目的的副本分布策略和副本选择策略。在保证数据可用性的前提下,提出一种基于覆盖集的数据迁移算法,利用节点选择策略尽量减少迁移成本,进行数据迁移让更多的机器休眠,降低能耗。通过对实验数据进行比较分析,验证了提出的网络拓扑结构、数据管理模型、数据迁移技术的正确性和有效性。

关键词: 云计算; 数据中心网络结构; 数据迁移; 软件节能

中图分类号: TN911?34 文献标识码: A 文章编号: 1004?373X(2016)03?0063?05

Research on key technologies of distributed data storage in cloud computing environment

XIANG Chunzhi, FAN Ying

(School of Technology, Henan Radio & Television University, Zhengzhou 450008, China)

Abstract: The cloud computing system is faced with many problems in the aspects of scalability and high availability due to the enormous node scale and data scale of cloud computing. For the distributed data storage in cloud computing environment, an regular N?equilateral polygon (RNEP) network model based on recursion was constructed. The data management model is given on the basis of data center network structure. The transcript distribution strategy and selection strategy were designed to improve the data availability and load balancing ability. A data migration algorithm based on covering set is proposed on the premise of ensuring the data availability, in which the node selection strategy is used to minimize the migration cost and conduct data migration to rest more machines and reduce energy consumption. The experimental data is compared and analyzed, which proves that the proposed network topology, data management model and data migration technology are valid and effective.

Keywords: cloud computing; data center network structure; data migration; software energy saving

0 引 言

云计算中的资源包括网络、服务器、存储和应用等,通过这些资源向用户提供普适的、方便的、按需的网络访问,这些资源可以快速进行使用和释放,不需要很大的管理代价。随着互联网技术的快速发展,导致应用中的数据呈爆发式的增长,海量数据存储技术得到了前所未有的迅速发展。云计算服务的底层基础是大规模的数据中心,成千上万的服务器互联、组织方式,直接影响到云计算服务的高效性和稳定性。合理的网络结构是云计算数据中心高可扩展性和资源高利用率的重要保证。但是,随着数据存储与传输需求的高速增长,目前采用的网络结构在可扩展性、容错性、高性能传输以及跨区域调度等方面面临着诸多问题。

在云计算环境下,底层数据中心规模非常庞大,导致存储成本很高,这里的存储成本不仅包括各种基础设施成本,还包括基础设施在运行过程中的能量消耗。根据调查机构的研究显示,企业存储设备的利用率不足50%,设备利用率普遍比较低。解决成本与云计算系统中不断增长的数据存储以及计算的冲突成为了研究热点。基于从成本、保护环境的角度考虑,降低能耗都具有很大的现实意义和应用前景。

针对云计算环境下分布数据存储在可扩展性、可用性和绿色节能等方面的问题,研究解决分布数据存储的关键技术包括数据中心网络拓扑结构设计、数据管理模型的设计以及节能技术等。数据中心网络结构是云计算的基础,它确保了云计算数据中心的扩展性和资源利用率。首先研究设计合理的网络拓扑,从高可扩展性、经济性、高效性多个角度保证了云计算的服务质量。在此基础上,从数据的高可用性方面研究数据管理技术。从绿色节能角度出发,围绕数据迁移技术展开研究,最终设计出拥有良好的可扩展性、容错性和低成本的云计算环境下海量数据存储方案。

1 [N]边形数据中心网络结构

树型结构以交换机为中心,可以很方便地通过增加机架和相应的交换机进行扩展,但也存在许多问题。为了解决树型结构聚合层带宽瓶颈和单点失效问题,研究者提出了几种改进的树型结构,包括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′网络的交换机,得到Network1。继续扩展时,为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结构的路由策略,根据此算法可以分析得到传输路径长度。

NetworkRouting(n,k,*srcAdd,*dstAdd)

{

//确定需要上传的最高层级

for(intCurrentLevel=k;CurrentLevel>=0;CurrentLevel??)

if(srcAddCurrentLevel!=dstAddCurrentLevel)

break;

//从src将数据包传至最高层级的交换机(SWCurrentLevel)

UpPath(src,SW0);

for(inttemp=0;temp

UpPath(SWtemp,SWtemp+1);

//通过currentlevel的交换机在该层级下实现子网跨越,进入 dst所在子网,由于一个高层级交换机会与数个低层级交换机

互联,所以在向下传递DownPath函数中需要引入相对位置参数

for(temp=CurrentLevel;temp>0;temp??)

DownPath(SWtemp?1,dstAddtemp);

//数据包到达dst所在基本域中

Path(SW0,dst);

}

1.3 RNEP网络结构分析

由于采用了递归构建,和传统树型结构相比,本文提出的网络设计在物理结构上具有良好的可扩展性,能够支持网络规模的指数增长。

根据网络构建过程可知,对于正[n]边形结构来说,每个服务器只需要和其所在域中的其他[n-1]个服务器以及惟一的一个交换机相连即可,所以每个服务器需要支持[[(n-1)+1]]条链路。无论是网络适配器数量[n]还是交换机接口数[2n-1,]只要[n]不超过常用数目,在实际构建中,本文提出的结构都是可行的,同时,RNEP 网络结构可以保证较低的交换机与服务器比例,有效地节省了能耗[1]。

1.4 模拟实验

使用NeuroGrid进行模拟实验,实验主要是构建 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 模拟实现及分析

参考OptorSim模拟器,扩展云模拟器CloudSim的功能,并在扩展后的模拟器上进行了仿真实验。在CloudSim上模拟基于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所示。

在扩展功能后的CloudSim模拟器上进行仿真实验,实现基于覆盖集的数据迁移的算法,CloudSim中的能耗模型根据CPU的利用率计算能耗,通过修改PowerModel类采用的能耗模型计算能耗,并设定休眠的主机功耗为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.