云存储中冷热数据的混合冗余方法研究

2018-09-03 01:48周阳
移动通信 2018年8期
关键词:副本存储系统因子

周阳

(广州杰赛科技股份有限公司,广东 广州 510310)

1 引言

随着信息技术的快速发展,数据量呈爆炸性增长。目前我们已经进入了PB级别的数据量时代。数据的骤增,需要存储技术的快速提升、存储设备成本的大幅度降低。在这一系列的趋势下,具有分布式特征的云存储方法应运而生。但是在满足大容量需求后,其存储速度和数据可靠性越来越成为当今云存储技术研究的热点。为了确保云存储中用户数据的可靠性,云存储系统加入了数据冗余策略,如副本策略和纠删码策略。然而,数据冗余策略一旦加入到云存储系统中,系统的开销必然增大,那么如何平衡数据冗余度和系统开销成为当前研究的重中之重。BFan根据文件大小对数据访问的冷热度进行判断,基于冷热度选取合适存储冗余技术,一般大文件采用纠删码策略,小文件采用副本策略。Mao Bo利用数据块的引用量进行数据访问冷热度判断,其研究表明,引用量越高的数据访问热度也高。袁雪梅根据数据块是否为新增的,利用数据块的访问频率或者数据块的引用量来判断数据的冷热程度。Bartal等人提出一种基于文件访问次数的动态副本访问管理策略,当一个文件的访问次数超过一个阈值时,就为其生成一个文件副本,反之删除文件副本,这种方法的缺陷在于统计文件次数的开销很大。

本文在借鉴前人研究成果的基础上,结合本公司大数据开发平台使用云存储系统场景将上述两种数据冗余策略结合起来,充分利用其优点,设计了一种冷热数据混合冗余策略的云存储系统:结合数据块的访问频率设置数据块更新的周期;利用时间衰减因子来反映文件热度是否动态变化;最后,根据数据块的热度和系统平均热度动态调整数据块的冗余策略。

2 数据冗余技术的相关介绍

2.1 纠删码技术的研究

国内外有多种针对数据冗余来保证数据完整性的技术,如Abu-Libdeh等人通过RACS使用纠删码来缓解厂家锁定的问题,以保证数据的完整性和可用性。Browers等人提出采用HAIL实现完整性验证机制以保证数据的完整性。Hu等人采用NCCloud的方法来修复数据,以提高云存储的可用性。上述几种方法是基于网络编码技术或者纠删码技术,但是随着时间的推移,写入的速度会变得越来越慢。

纠删码技术存在写入放大的问题,致使网络存储性能大幅度下降,降低了云存储系统的I/Os(输入输出控制)的网络通信量。

2.2 副本策略

在云存储系统中,云存储系统将用户的数据复制成一个或者几个副本,保证数据使用的可靠性和完整性。数据副本策略能够提高数据的可用性和可靠性,并且可以保证数据在被访问时,能够平衡负载,提高相应的速度。但是,数据副本策略会面临存储空间和带宽的消耗问题,这意味着用户将支付更多的存储费用。

2.3 当前云存储冗余策略面临的问题

(1)多采用单一的方法来对数据进行冗余,即只采用副本策略或只采用纠删码策略,而这两种技术各有优缺点。即使有些云存储方法采用混合冗余技术进行数据存储,但是其判断的标准比较简单,不能反映实际用户对数据的访问需求。

(2)没有从时间相关性看待冷热数据的问题,单纯从引用量和读写频率来判断数据的冷热程度是不科学的。因为3年前与3个月内的引用量的意义是不同的,因此,需要引入时间衰减因子来衡量数据的冷热程度。

3 基于时间衰减因子的云存储冷热数据混合冗余策略

云存储系统总是关注当前较近时间段内用户对数据块的访问频率和引用量,用户的行为更能反映数据块的热度。随着用户对数据块访问时间的推进,越早的访问行为对热度影响越小。因此,本文提出基于时间衰减因子的云存储冷热数据混合策略,实现文件存储方式的转换,其流程如图1所示。

3.1 文件热度计算

根据Zipf定律,在海量数据量的云存储系统中存在一些访问量比较大的热点文件,这种文件可能在某一个周期内访问量很大,在下一个周期内访问量会变小,就是说文件热度是动态变化的。除此之外,当前周期的文件热度通常和最近周期的热度具有一定的相关性,这就意味着,文件热度是可预测的。本文把文件数据块划分为首次存储和非首次存储两种方式,对于首次存储的方式,文件在指定周期的热度为:

图1 基于时间衰减因子的云存储冷热数据混合冗余策略流程图

其中D指首次存储文件数据块的热度。δi是文件在访问周期的影响指数,如果文件在当前周期受到用户访问,那么影响因子较大。X表示在特定的周期内文件的访问次数。

晌午过后,柳含烟拿浴巾去井台摇起一桶水将整个头颅淹没水中好一会,因为她整个上午都在憧憬萧飞羽为她插上了自由的翅膀,可由于萧飞羽不仅是个名副其实的少年郎,她还能从他似乎把她当成了布娃娃清晰地感知他有童贞般的纯朴,所以她在萧飞羽眼里虽然是个年幼无知的丫头,萧飞羽在她心里也是个稚气未褪的孩子,也由于萧飞羽毕竟是个孩子她被插上自由翅膀的憧憬又与幻想交织,以致她越想越迷糊,越想越扑朔迷离。

对于非首次存储的数据块,本文采用数据块引用量来衡量文件的热度。引用量是数据块的一个重要特性,它可以在一定程度上反应其被用户访问的热度。也就是说,如果一个数据块有较多的引用量,那么就可以说明它是一个被高度重复的块。引用量高的数据块被用户访问的频率可能也更高,即访问热度可能更高,因此该数据块是热数据块的可能性也更大。那么,非首次存储的数据热度为:

其中,D表示数据热度,P表示某个时刻t的数据块引用量。公式(1)和公式(2)采用的是一种相对静止的目光去看待数据块的热度。公式(1)虽然考虑了访问周期的影响指数,但影响指数的设置方法会在很大程度上影响数据块热度的计算精度。因此,本文引用时间衰减因子更新文件热度,从动态的角度来反映数据块热度的变化。

3.2 引入时间衰减因子的文件热度更新方法

在更新数据热度的时候,需要考虑不同时间周期的访问频率对数据块的热度的影响。但是如果周期选择太短,频繁更新系统中文本的热度将会影响系统对外的影响能力;反之,周期太长不利于体现系统中文件热度的变化。根据巴莱多定律,往往80%的用户访问会集中在系统的20%,因此,本文参考Farksa强度函数来设置访问频率的阈值:

其中,V表示用户在某个周期内对文件的访问次数,n表示系统中文件数量。如果文件的访问频率低于上述访问阈值,则给文件设定一个较长的周期更新其热度,反之亦然。

当文件的数据块发生更新行为时,系统会根据一定周期内用户对文件数据块的访问以及访问的时间间隔实现数据块热度的更新。

假设在某一个周期内,用户在当前时刻T进行第n次数据访问,那么在t时刻第k次访问数据块的衰减因子为γT-t,其取值范围为0~1。γ越接近1,表示越重视。因此,引入时间衰减因子后,数据块的热度为:

其中,P表示某个时刻t的数据块访问次数,D表示数据热度值。

3.3 根据系统平均热度调整数据块冗余策略

数据块通过公式(4)进行热度更新,最终根据数据块热度动态调整系统中数据冗余的测量,使其适应系统的负载要求。因此,采用一个数据块平均热度来反映系统数据块的热度平均值:

其中,Daverage是指系统数据块的平均热度,Di表示某一个数据块的热度,n表示系统中数据块的数量。

通过将数据块热度和系统数据块平均热度进行比较可以动态调整文件的冗余策略。如果某数据块热度Di大于系统平均热度值,则判断数据是热数据,采用副本策略进行存储数据;否则,采用纠删码策略实现数据存储。

4 实验结果分析

4.1 测试环境介绍

(1)硬件平台

硬件平台的情况如表1所示:

表1 硬件平台情况

其中,DELL服务器安装ESXi 6.5操作系统,CPU是E52609V4*2,内存是64 G,每台物理机硬盘1.2 T共6台物理机。

(2)测试平台

测试平台的情况如表2所示。

本测试平台共有6个物理节点,安装了VmwareESXi 6.5作为测试系统的Hypervisor。vCenter Server 6.5作为管理物理节点的软件,管理测试架构中所有的资源,包括物理服务器、虚拟机、物理CPU资源、物理内存资源、物理存储空间资源等。

表2 测试平台情况

VSAN使用默认配置部署。每台物理服务器一个磁盘组,每个磁盘组由1块PCI-eSSD和6块HDD组成。使用默认的VSNA存储策略,冗余策略为1:1。

测试系统中共部署6台Windows Server虚拟机,每台物理服务器承载一台虚拟机。以最大化VSAN的并发性能。

测试软件使用iometer 1.1.0。虚拟机上运行iometer服务端,在vCenter Server系统上运行iometer采集端,并控制所有测试虚拟机执行相应的测试操作。

4.2 实验结果分析

一般复杂大型环境也不超过30%的写,其余70%以上基本都在读。因此,测试分为下面几部分:(1)4K 30%写/70%读/100%随机;(2)4K 100%读/100%随机;(3)4K 25%写/75%读/100%随机;(4)16K 75%读/0%随机。VSAN的超融合测试结果如表3所示,本文算法的超融合测试结果如表4所示。

表3 VSAN的超融合测试结果

表4 本文算法的超融合测试结果

表3是通过区分大小文件,对小文件和元数据采取副本策略进行存储,对大文件采用纠删码策略的测试结果。表4是引用时间衰减因子动态判断数据块热度,进而动态调整数据块的冗余策略的测试结果。上述结果表明,本文引入时间衰减因子来判断数据块热度,对不同热度的数据块采取不同的冗余技术,更能适应系统的负载要求,提升了系统的响应能力。小文件和元数据采用副本策略的存储技术,没有充分考虑小文件实际的访问频率。大量的小文件进行副本存储时会消耗过多的磁盘空间;大文件采用纠删码测量进行存储,虽然能够节省存储空间,但是在大量的访问需求下,编码过程会消耗系统大量的计算资源。因此,本文算法在充分考虑了文件访问的动态性变化,根据访问量的变化动态更新文件数据块热度,最终实现数据块存储策略的动态调整,大大减少了平台的响应时间,提高了文件读取的效率。

5 结束语

本文在对数据冗余技术进行梳理的基础上,提出了一种冷热数据的混合冗余技术,也就是从时间相关性看待冷热数据的问题。根据当前数据块的访问频率设置数据块的更新周期;再引用时间衰减因子动态更新数据块的热度;最后,根据数据块的热度和系统平均热度动态调整数据块的冗余策略。实验证明,本文的方法相对于主流的云存储方法在相应时间上具有一定的优势,其优势源于不同热度数据采取不同的冗余技术,这种方法能够在一定程度上减少热数据的访问延迟,提高系统的相应能力,具有一定的可用性。

猜你喜欢
副本存储系统因子
因子von Neumann代数上的非线性ξ-Jordan*-三重可导映射
分布式存储系统在企业档案管理中的应用
一些关于无穷多个素因子的问题
影响因子
面向流媒体基于蚁群的副本选择算法①
天河超算存储系统在美创佳绩
我的健康和长寿因子
副本放置中的更新策略及算法*
华为震撼发布新一代OceanStor 18000 V3系列高端存储系统
一种基于STM32的具有断电保护机制的采集存储系统设计