林清滢,陆锡聪,冯健文
(韩山师范学院计算机科学与工程系,潮州 521041)
云存储环境下基于QoS的动态副本策略研究
林清滢,陆锡聪,冯健文
(韩山师范学院计算机科学与工程系,潮州 521041)
为了解决静态副本策略中易造成负载不均衡、用户服务质量需求得不到满足等问题,提出一种动态副本生成算法和动态副本调整算法;在CloudSim平台上仿真实验,结果表明,与默认副本策略相比,该策略能够根据用户的访问需求动态为数据文件增删副本,大大地减少用户访问时间,满足用户的服务质量需求。
云存储;副本策略;动态副本;服务质量
云存储是随着云计算的诞生而延伸和发展出来的,它通过集群技术、网格技术和分布式文件系统等功能,将网络中大量异构的存储设备集合起来协同工作,从而对用户提供数据存储和访问服务[1]。云存储旨在为用户提供可靠、可用、安全、快速、廉价的基础设施,使得用户以按需付费的方式获得对存储资源的使用[2]。既然云存储作为一种特殊的云计算系统,提供的是存储服务,因此,其服务质量(Quality of Service,QoS)的保障技术得到了企业界和学术界的广泛研究。云存储的服务质量包含多个方面,常见的有I/O性能、可靠性、可用性、安全性、可扩展性、服务成本等[3~6]。而副本策略是保证云存储中数据可靠、可用和服务成本的关键技术之一,合理的副本策略将为用户带来更好的服务质量:如缩短访问响应时间、减少远距离数据传输、降低网络通信流量、平衡节点负载、增强数据可靠性、提高资源容错能力,等等[7]。目前大部分云存储系统采用的是静态随机的副本生成策略,如Google的GFS和Hadoop的HDFS都是由配置参数静态确定副本的数目,然后随机地把副本放置到多个机架和节点上,而实际中,每个节点的存储能力不同,而用户的访问需求也不同。由于在云存储环境下,用户数量庞大,一旦用户在某一时间段内频繁地访问同一数据文件,将很容易造成网络瓶颈,系统的性能会急剧下降。因此有必要根据用户的访问需求动态为数据文件增删副本,这样可以大大地减少用户访问延迟,节约网络带宽资源,提高系统的性能和可靠性。
我们将基于Hadoop的分布式文件系统HDFS来架构云存储环境。HDFS采用的是主从架构模式,主节点称为NameNode,负责元数据管理;从节点称为DataNode,负责实际数据存储。由于云存储环境是由大量存储节点组成,存储节点的故障将不可避免,为了避免个别节点的失效而导致存储数据的丢失。一般情况下,HDFS将存储的文件划分为若干个数据块,每个数据块在存储时采用多个副本,在选择数据块副本存储节点时采用的是机架感知(Rack-Aware)策略,该策略通过静态设置的方式,设置了数据副本数,默认情况下,副本数为3,然后将数据块副本同时存放在本地机架与一个随机的远端机架的不同节点上,如图1所示,从而保证数据存储时的可靠性。
HDFS这种静态副本策略不能根据存储节点状态、用户访问需求等动态地增加或者删除副本,从而满足用户的服务质量需求。因此,我们根据文件访问热度增加或者删除副本,达到在不影响服务质量的同时,满足云存储系统的可靠性。
2.1 模型描述
为了更好地描述该动态副本的策略,我们定义了如下的数学模型:
定义1数据块副本矩阵。假设数据文件F存储时被划分为n个数据块,每个数据块有m个副本,因此,我们可以用矩阵Fn×m来表示文件F在云存储系统中数据块副本的存储情况[8]。
定义2数据块的访问次数矩阵。假设数据文件F在某一时间段T内的访问次数可用矩阵BVn×m来表示。其中bvij表示的是定义1中数据块副本bij在时间段T内的访问次数。
因为当有n个数据块m个副本的文件F被访问时,每一个数据块每次只有一个副本被访问到。因此,文件F在时间段T内的访问次数可用公式(1)来计算。
定义3动态副本计算函数。通过分析数据文件的访问次数,我们可以用公式(2)计算数据文件F在云存储集群中的副本数。
其中,lm,h1,h2,h3,m是正整数,m是数据文件F的最大副本数,lm是数据文件F的最小副本数,1≤lm<m-2,lm可通过分析数据文件F的访问次数而动态设置;h1,h2,h3根据云存储集群的情况给出。该函数通过用户的访问特征和云存储集群的情况,动态计算出合适的副本数,从而满足用户的服务需求,提高存储资源的使用和减少访问时延。
2.2 算法描述
在云存储中,当用户要访问数据文件时,首先向NameNode查询要访问文件的信息。由NameNode查询得到数据块的编号以及对应的DataNode并返回给用户。用户根据得到信息向数据块所在的DataNode发送访问请求。DataNode收到访问请求后,记录被访问数据块编号和访问时间,然后向用户返回请求文件数据。下面我们设计了动态副本的生成算法和调整算法,假定动态副本策略的执行周期为T,当系统启动时,每一周期开始时,DataNode负责记录本周期内数据块的访问次数;NameNode负责执行下面的算法过程,第一个周期结束时,执行了算法1,即动态副本生成算法;从第二周期开始,以后的每个周期结束都执行算法2,即动态副本调整算法。算法过程如下:
算法1动态副本生成算法
算法2动态副本调整算法
为了评价文中给出的动态副本策略,我们在云仿真工具CloudSim上进行了模拟实验,CloudSim能够通过重写代码和配置创建云计算环境下的用户任务和资源。设定文件的访问次数VF随机产生在[0,1000]之间,这样,公式(2)中的h1,h2,h3可分别设为300、600、 900。
实验仿真结果如图2所示。
图2 在不同的访问次数下两种策略的响应时间
如图所示,随着访问次数的增加,在默认副本策略和动态副本策略下,对用户的响应时间都开始增加。默认副本策略在访问次数不是很大时响应时间增加缓慢,但是当访问次数进一步增加时,系统响应时间急剧增加。在动态副本策略下系统响应时间增加平缓且达到一定峰值后缓慢回落。这是因为随着访问次数的增加,系统开始增加副本。由于副本生成需要时间,因此超过在默认副本策略下系统的响应时间。但随着副本增加完成后,由于对数据的分流,使得系统响应时间开始明显降低,并逐渐达到一种比较稳定的状态。由此可得,随着对文件访问次数的增加,动态副本策略较之默认策略更加有效。
在云存储环境下,采用数据副本策略是保证系统可靠、可用的关键技术。合理的副本策略将降低用户访问的响应时间,提高服务质量。因此,本文提出一种数学模型,以描述用户访问数据文件的特征,从而给出一种动态副本生成算法和动态副本调整算法;最后在CloudSim平台上仿真实验,结果表明,与默认副本策略相比,文中提出的策略能够根据用户的访问需求动态为数据文件增删副本,大大地减少用户访问时间,满足用户的服务需求。
参考文献:
[1] Zhao Y,Ou K,Zeng W,et al.Research on Cloud Storage Architecture and Key Technologies[C].2nd International Conference on In teraction Sciences:Information Technology,Culture and Human,ICIS 2009:1044~1048
[2] Abadi D J.Data Management in the Cloud:Limitations and Opportunities[J].IEEE Data Eng.Bull.,2009,32(1):3~12
[3] Wu J C,Brandt S A.Providing Quality of Service Support in Object-Based File System[C].24th IEEE Conference on Mass Storage Systems and Technologies,MSST 2007:157~168
[4] Wang J,Varmany P,Xie C.Avoiding Performance Fluctuation in Cloud Storage[C].17th International Conference on High Performance Computing,HiPC 2010
[5] Mesnier M,Chen F,Luo T,et al.Differentiated Storage Services[C].23rd ACM Symposium on Operating Systems Principles,SOSP 2011:57~70
[6] Ju J,Wu J,Fu J,et al.A Survey on Cloud Storage[J].Journal of Computers,2011,6(8):1764~1771
[7] 付伟,肖侬,卢锡城.QoS感知的副本放置问题研究综述[J].计算机研究与发展,2009,46(suppl.):36~43
[8] 廖彬,于炯,张陶,张兴耀.基于分布式文件系统HDFS的节能算法[J].计算机学报,2013,36(5):1047-1064
Research on the Dynamic Replica Strategy in Cloud Storage Environment Based on QoS
LIN Qing-ying,LU Xi-cong,FENG Jian-wen
(Department of Computer Science and Engineering,Hanshan Normal College,Chaozhou 521041)
The load balancing may be destroyed and the user QoS requirement is not satisfied due to the static replica strategy in the existing default replica strategy.In order to solve these problems,proposes a dynamic replica generation algorithm and a dynamic replica adjust algorithm. Simulates the experiment using CloudSim toolkit,the results show that the proposed strategy is superior to the default replica strategy because it dynamically adds and deletes replicas according to the user's access requirements,which will reduce response time and satisfy user's QoS requirement.
Cloud Storage;Replica Strategy;Dynamic Replica;Quality of Service
1007-1423(2015)02-0006-04
10.3969/j.issn.1007-1423.2015.02.002
林清滢(1970-),女,广东潮州人,硕士,副教授,研究方向为分布式系统、云计算
陆锡聪(1973-),男,广东潮州人,硕士,高级实验师,研究方向为分布式系统、云计算
2014-12-09
2014-12-23
广东省科技计划项目(No.2012B010100036)、韩山师范学院科研团队项目(No.LT201102、LT201101)
冯健文(1975-),男,广东广州人,博士,副教授,研究方向为SOA和云计算