首页 > 范文大全 > 正文

基于多云存储的数据放置策略方案研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于多云存储的数据放置策略方案研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:随着网络技术的快速发展,在不同场景下,用户对于信息获取的实时性需求越来越呈现多样化。研究表明,数据放置策略优化可有效提高数据请求的效率,使得在对性能影响较小的基础上,最终满足用户对数据获取的实时性需求。该文拟在多云存储平台下对数据放置策略进行优化,根据性能及实时性需求的不同,在副本数量、放置位置等方面进行改进和完善,从而满足不同场景的数据实时性需求。

关键词:云存储;数据放置;冗余机制;一致性hash

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)07-0006-03

1 概述

近年来,随着大数据和移动互联网的发展,以及国家、大型企业信息化的大力建设,很多政府部门和企事业单位都纷纷建立了存储大量数据和媒体的应用系统[1]。1998 年图灵奖获得者 Jim Gray 曾断言:现在每18个月新增的存储量等于有史以来存储量之和。根据预测,2020年数据宇宙将达到35.2 ZB(1 ZB = 1百万PB)[5]。面对每天产生的大量数据,银行、国有企业、中大型企业等都耗费大量人力、物力、财力去建立自己的数据中心。但对于小型企业或服务短时用户来说,建立数据中心的费用是不值得去耗费或完全无法支付得起的,从而催生了一种按需收费的云存储技术。

随着云计算和软件即(SaaS)服务的兴起和发展,云存储已成为信息存储领域研究的热点话题。与传统的存储设备相比,云存储不仅仅是多个磁盘的整合,更是一个网络设备、存储设备、服务器、应用软件、公用访问接口、接入网和客户端程序等多个部分组成的系统[2-3]。云存储主要提供的是存储服务,用户通过网络将自己的数据上传至云服务提供商提供的在线存储空间中(公有云)。用户只需对自己所存储的那部分数据所占的存储空间支付费用,不必花费高昂的费用去搭建数据中心,节省了大量的费用。如果用户数据需要安全和保密,则企业或用户可根据自身条件和情况,搭建企业内部的数据中心,用来保存机密性数据,同公有云协同构成混合云来提供存储服务。

云存储是通过集群技术、分布式文件系统,将网络中大量不同类型的存储设备整合起来协同工作,共同对外提供数据存储和业务访问功能[5]。此概念一经提出,就得到众多存储厂商的广泛关注和支持。Amazon公司推出弹性块存储(EBS)技术支持数据持久性存储;Google推出在线存储服务GDrive;EMC公司收购BerkeleyDataSystems,取得该公司的Mozy在线服务软件,并开展SaaS业务;Microsoft公司推出WindowsAzure,并在美国各地建立庞大的数据中心;IBM也将云计算标准作为全球备份中心扩展方案的一部分;阿里巴巴也在世界各地逐渐建立起了庞大的数据中心Aliyun[4]。那么面对众多的云服务提供商,用户选择单云还是多云成为需要考虑的问题。对于用户来讲,不仅要满足用户对于性能和安全的要求,还应尽量地去降低成本;而对于提供商来讲,则重在考虑存储效率及服务的安全性和稳定性,保证满足用户的正常需求。

为应对云服务商垄断和单点故障问题,在学术界就有人提出多云存储架构。为更好地解决多云存储中的性能和可靠性保证,本文提出一种基于多云存储数据放置策略方案,通过优化数据放置和副本存储方案,提高数据访问性能和存储效率。这样既可以为用户提供安全稳定的存储服务,服务商还可进一步提高存储效率。

2 基于多云存储的数据放置策略设计

2.1 云计算与云存储

云计算是在分布式处理(distributed computing)、并行处理(parallel computing)和网格计算(grid computing)等基础上进一步发展的产物,是透过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,然后再交由多台服务器所组成的庞大系统经计算、分析后、将处理结果回传给用户[6]。运用该技术,将不同地区、不同类型的单一服务器或PC中的计算资源和存储资源整合,通过虚拟化技术统一到庞大的云计算系统中,达到可在数秒内处理数以万计的数据请求和访问。云计算系统不仅具备对数据进行处理和计算的功能,还具备存储大量数据的能力,由此可以把云存储理解为以数据存储和数据管理为中心的云计算系统。从三层模型分析得出,云计算和云存储的访问层、接口层相同,在基础层方面,云存储增加了数据管理和数据安全的部分相关功能。

2.2 多云存储

在The ACM Symposium on Cloud Computing (SoCC) 2010会议的“RACS: A Case for Cloud Storage Diversity”的文章中就已提出云服务商垄断的概念,即当用户要将存储的全部数据从单云中迁出时,就不得不为此付出高昂的费用和代价,这样便使得用户对某个云服务平台存在依赖与绑定。在2011年,Amazon 云平台因数据过度备份而耗尽其存储空间,从而导致Amazon云平台在短时间内出现宕机和停止服务的状况,使得多个基于Amazon平台的网站长达24小时都处在离线状态。因此为应对和解决云服务商垄断及单点故障问题,则在学术界提出多云的概念。

多云是将各种类型(public、private、hybrid clouds)和品牌(Azure、Amazon、Rackspace、Aliyun等)的云产品部署在一起。而多云存储则是将这些不同云服务提供商提供的公有云存储整合在一个统一的存储架构体系之内,用户上传的数据分散存储在不同的云存储平台上。

2.3 冗余机制

随着人们对于数据安全性及可靠性需求的不断提高,文件的单副本存储已经完全不能满足用户需求,因此就需要采用多副本进行存储,以实现数据存储的可靠性。多副本存储不仅仅在性能上可以保证数据存取的高度并行性,而且在容错上根据副本数目的不同可以提供不同层次的容错度。

当用户将数据上传至多云架构时,则需明确指出该数据的容错度、实时性需求,性能要求、数据获取的主要区域,位置控制器可根据用户数据的各项参数,决定改数据需要采用什么样的冗余机制、存储区域的选择等。例如针对于新闻来说,这类数据对于实时性要求比较高,在存储时需采用多个副本进行存储(通常为三副本存储),这样就可提供高并行存取。对于游戏数据来说,则对存取性能要求比较高,因此我们则需更高的冗余度来进行存储,以提供更优质的服务。对于国内新闻来说,超过90%以上的用户都来自国内区域,因此我们在存储数据时,则应在国内的数据中心上进行多副本冗余存储,以保证多用户的实时高并发访问。

上图(图4)为冗余机制下数据放置的结构图,当用户将需要存储的数据上传至多云平台时,首先会将数据上传至数据放置控制器,控制器根据用户设定的容错度、实时性、性能以及数据访问的区域的参数,决定数据需要采取哪种冗余机制进行存储。然后按照控制器设定的冗余要求进行冗余存储。存储数据的云平台会根据云服务商提供的区域特点,拟在每个云的不同区域(美国西部、欧洲、亚太地区、南美洲)中选取一个存储节点。然后将多个云服务商提供的存储资源进行合并,构成多节点的冗余存储架构。

图5中描述将六个文件(A、B、C、D、E、F)采用三副本冗余机制上传至多云平台架构的数据分布图。从图中可以表现出冗余机制的以下优点:(1)当用户请求文件A时,多云架构可从Azure、Amazon、Rackspace三个云存储服务中并行下载所需文件,提高用户请求访问效率,降低访问延迟。(2)解决了单云故障问题,当Amazon云平台出现故障宕机时,如用户需要获取文件B时,则可从Rackspace或Aliyun云平台进行获取,避免了单点故障问题造成的存储和访问服务中断。(3)当文件发生损坏或丢失时,可从包含该文件的两个云平台上进行快速恢复,满足用户对于容错度的需求。综上所述,引入冗余机制不仅可以满足用户对于实时信息获取的低延迟和高并发访问,避免了由于单点故障造成的数据或服务中断问题,还提供了数据丢失时的快速恢复机制,保证为用户提供可靠的数据存储和访问服务。

2.4 一致性hash算法概述

consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在 cache 系统中应用非常广泛。在一致性hash算法中,为了满足平衡性,引入了“虚拟节点”的概念。――“虚拟节点”( virtual node )是实际节点(机器)在 hash 空间的复制品( replica ),一实际个节点(机器)对应了若干个“虚拟节点”,这个对应个数也成为“复制个数”,“虚拟节点”在 hash 空间中以hash值排列,每个物理节点生成的虚拟节点越多,各个物理节点之间的负载越均衡,新加入的物理服务器对原有物理服务器的影响就越保持一致[7]。增加虚拟节点后,可以使得数据可以较为分散且均匀地分布在各个节点上。

上图(图6)展示了为引入虚拟节点的对象映射图,从图中可以看出当Node2节点出现故障时,object1指向了Node1节点,object2、object3、object4均指向了Node3节点,因此造成了数据分布特别不均匀;为了应对这一缺点,从而引出“虚拟节点”的概念,下图(图7)描述的是当引入虚拟节点时数据的分布情况,对比图6明显地解决了分布不均匀的问题。根据以上的分析,本文通过运用一致性hash算法到多云架构,使得上传的数据能够均匀地分布在多云架构中,缓解不同区域数据存取的访问性能和效率,提高用户体验。

2.5 场景应用

随着信息技术的发展,用户对于应用的体验要求越来越高,那么如何提高用户体验以及保证不同区域用户体验的相似性成为研究的重点话题,本文拟通过一致性hash算法来解决该问题,使得用户数据在存储时尽可能地分散均匀存储,避免数据存取的不均匀性和两极分化性。

随着应用的不断发展和普及,用户变得越来越分散,那么如何为全球各地的用户提供比较均衡的性能?因此我们提出利用一致性hash算法可以保证数据分布平衡性的特点,将此应用到多云存储架构中,保证用户体验的相对均衡,缓解不同区域用户体验的两极分化现象。例如有一款游戏,它的用户分布在全世界各地,那么我们在存储游戏本身数据和用户数据时,因为考虑到当前主流云存储服务提供商(Azure、Amazon、Rackspace等)的所有regions分布,我们会在美国西部、欧洲、亚太地区、南美洲等四个区域进行数据存储,这样既可保证处在世界各地用户的体验相差不会太大,提高应用的用户体验和评价。另一种情况,我们则会进行特殊处理。例如针对于国内新闻来讲,有可能访问该新闻数据的用户90%以上都处于国内的区域,那么我们在对数据存储时,则会将数据保存在亚太地区regions中的多个数据中心,但数据进行存取时,则应保证数据在国内区域尽可能地分散和均匀,这样不仅可保证用户集中访问的服务可靠性,还可保证全国各地的用户体验近似相同,避免出现两极分化的现象。综上所述,在对数据进行存储模式设置时,我们会根据数据的属性和情况,进行适应性地选择存储模式,在保证性能的同时,还可使得性能在不同区域中得到均衡,避免或减少两极分化的出现。

下图(图8)中描述的是对数据进行随机放置和使用一致性hash算法放置出现的情况对比。从图中上图可以看出,当我们采用随机放置策略时,有可能就会出现数据的区域聚集,导致有些区域的数据块较少。针对于图中所示情况,当美国、欧洲、亚太地区进行数据存取时,都能够较快地获取到所需数据;而当南美洲用户进行数据访问时,则有可能就会出现较大延迟,因为该区域没有存储相关数据,需要在距离较近的美国存储区域进行数据获取,但是由于距离以及网络带宽等的影响,会使得用户获取数据较慢,从而使得用户体验较差;例如当南美洲以为用户访问数据时,因为该区域未存储文件,因此用户的每一次访问都需从其他区域进行获取,那么这就导致南美洲区域的用户体验特别差;而其他三个区域包含了所有的文件,因此当这三个区域的用户访问数据时,都可以及时获取到自己所需数据,用户体验较好。这种数据放置情况下,只保证了一部分用户的较快数据访问,用户体验两极分化现象严重。图中下图表示采用一致性hash进行数据放置的情况,从中可以看出数据分布相对比较均匀,四个区域中的任何一个进行数据访问时,大多数情况都可以在自己所在区域的云上获取所需数据。当出现所需数据不在当前区域时,则可就近选择区域进行数据获取。例如当一位美国用户需要获取文件File4时,其所在区域不包含该文件,则可从距离相对较近的南美洲进行获取。由于这种情况相对较少,而且四个区域的用户出现这种情况的概率基本一致,因此在保证了用户体验较好的情况下,也进一步改善两极分化现象。

3 结论

本文针对多云存储架构下数据放置的不均衡性、用户对于信息获取实时性的需求,提出将多副本存储机制和一致性hash算法应用到多云存储架构中,多副本存储机制可以保证用户对于数据获取性能的要求,还可保证用户数据的安全性和可靠 性;一致性hash算法在保证用户对于实时信息快速获取的同时,还可保证用户体验的均衡,避免出现两极分化现象。

参考文献:

[1] 詹增荣.多云存储平台资源共享与安全架构设计[J].信息技术,2015,15:150-151.

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

[3] LIN G, DASMALCHI G, ZHU J. CloudComputing and IT as a Service:Opportun itiesand Challenges [C]//Proceedings of the IEEE6th International Conference on WebServices (ICWS’08),Sep 23-26,2008,Beijing, China. Los Alamitos, CA,USA: IEEEComputer Society, 2008:5.

[4] 周可,等.云存储技术及其应用[J].中兴通讯技术,2010,16(4):24-27.

[5] 晏强,张晓锋,丁蕊.云存储技术研究[J].计算机与信息技术,2011,12:22-24.

[6] 张龙立.云存储技术探讨[J].云计算与SaaS.电信科学.2010,S1:71-74.

[7] 李宁.基于一致性Hash算法的分布式缓存数据冗余[J].软件导 刊.2016,15(1):47-50.