云存储环境下大数据实时动态迁移算法研究

2021-03-16 06:11杨华芬
机械设计与制造工程 2021年2期
关键词:数据中心框架调度

杨华芬

(上海工商外国语职业学院智能制造与信息工程学院,上海 201399)

在计算机科学技术、网络技术和信息产业的推动下,计算机网络系统的复杂程度逐渐提高[1],数据规模也呈现出PB级增长趋势[2]。大数据的特点不仅在于数据总量的海量性,更在于数据结构的多样性和复杂性,大量半结构化和非结构化的数据类型给大数据的存储与迁移带来巨大难度[3-4]。数据迁移是大数据和云计算系统中的核心技术之一,在云存储环境下大数据的实时动态迁移效率与可靠程度,将决定云计算系统的总体性能[5-6]。数据迁移的过程复杂,尤其是在非结构化和数据不兼容的系统中,既需要对迁移结构进行实时验证,还要关注数据迁移的代价和资源消耗。随着数据存储量的成倍增加,大数据动态迁移的成本也不断提高[7],而可靠性和效率却随之降低,因此在动态迁移过程中采用合理的迁移调度算法十分关键。

文献[8]提出一种基于大数据网络节点存储容量感知的综合调度策略,通过对当前节点容量的计算和分配达到均衡网络负载的目的,但该种算法未能考虑到网络访问次数增加而增加的时间消耗;文献[9]提出一种基于粒子群遗传算法的调度策略,尽管能够从全局的角度均衡网络负载,但迁移效率偏低、耗时过长;钱雪忠、金保林等[10-11]基于一种自适应模糊算法试图平衡数据迁移过程中的网络负载失衡问题,但该算法无法解决上一个周期遗留下来的分配不合理问题,导致某些数据频繁被选取,进而加大了大数据网络系统的硬件开销。针对现有的大数据实时动态迁移算法存在的问题和不足,本文在云存储环境下构建大数据实时迁移框架,基于优化的FA(火焰虫仿生)算法,解决迁移过程中节点之间的任务负载不均衡问题,在节省系统开销和硬件资源的前提下,保持较高的数据动态迁移效率。

1 云存储环境下大数据迁移框架的构建

云存储环境下大数据的存储过程具有更高的效率和更强的容错能力,但在云平台系统中各种计算设备的性能具有较大差异,因此要对数据的迁移过程做出合理的调度,保证不同的计算设备完成与之性能匹配的任务量[12]。在云计算环境中会将待迁移的所有数据划分为几个部分,分别存储于不同的调度中心,以此提高数据迁移的效率和可靠性。用于大数据迁移的云服务模型在数据均衡负载方面具有优势,当网络上多用户同时请求资源时需要在大数据迁移框架下,采用特定的迁移算法平衡繁忙服务器与空闲服务器之间的迁移任务量。大数据实时动态迁移算法只有在特定的迁移框架内才能发挥出均衡网络负载的基础性作用,本文设计的大数据动态迁移框架如图1所示。

框架内设有n个数据监控器,实时监控网络节点的大数据迁移情况,监控器能够连续记录各节点的实时负载情况,作为后续调度算法调整的数据基础。监控器采集网络节点的负载情况实时数据,并传递到数据分析中心,分析中心按照当前节点的数据流情况制定调度指令和优化策略,并将分析中心的指令共享到算法层。在云存储环境下为了提高数据的迁移效率和系统的扩展性能,一般采用NoSQL通用型数据库[13-14]。系统的数据迁移流程如图2所示。

图1 大数据实时动态迁移框架

图2 云存储框架下大数据迁移流程

云存储环境下由于数据结构的多样性和复杂性,在大数据迁移过程中会涉及到数据类型的转换,为避免迁移过程中数据丢失,系统允许一部分冗余数据的存在。利用Hadoop框架中的Sqoop工具对采集到的源数据分类和编辑,以获取到不同模式下的调度方案[15]。云平台数据库中的数据格式存在差异会影响到调度算法的性能,因此利用MAP模块对采集到的源数据进行任务格式调整与转换[16]。迁移数据处理过程中涉及到Hadoop体系中的HDFS模块和HBase模块,将迁移任务随机分配到节点群上并行地执行,在大数据框架体系内利用迁移算法均衡网络节点的负载。云存储环境下Hadoop框架体系通常包括多个数据中心,假定云环境下共包括m个数据中心ci,i=1,2,…,m,具体表示为:

C={c1,c2,…,cm}

(1)

式中:C为数据中心的集合。以中心C为基础分析节点的网络拓扑结构,建立框架模型,并基于优化的FA算法对云存储环境下各节点的迁移任务进行均衡负载和调度。

2 基于优化FA模型的实时动态迁移算法研究

在包含m个数据中心的迁移框架体系内,随着待迁移数据规模的增大,节点数量和数据中心的负载也在增加,而各节点的负载能力不同,随机分配的迁移任务也不相同,有一部分频繁被访问的节点就会出现负载过重的情况,从而造成系统整体性能的降低。大数据迁移中,迁移的质量和效率直接影响到多个数据中心的稳定性,数据迁移算法能够影响到节点位置的选择,并给数据中心集合带来不同的影响结果。对于云存储环境下大数据迁移框架体系中的两类应用而言,系统应用需要保证某些关键数据的位置不发生改变,在开始执行迁移任务时将其他节点任务与目标节点任务进行合理调整,满足系统应用的需求;对于用户应用而言,则需要将与用户需求相关的数据迁移到适合的位置,满足用户的数据访问需求。MAP模块在云计算网络中分配任务后发出任务请求,调用大数据实时动态迁移算法平衡网络系统中节点的负载。本文选用经过优化的FA动态迁移算法,可以根据监控器实时监控到的情况,快速作出反应并可以有效控制系统开销。FA算法是一种群智能仿生算法,火焰虫在群体活动时依靠自身发出的特殊亮光吸引同类个体做出最优位置的选择,其中亮度较高的火焰虫还能够使亮度较低的个体向其自身靠拢。设群体中第i个个体的亮度为Bi,个体i和个体j之间的距离dij与吸引度ηij成反比,则ηij可表示为:

(2)

式中:ηmax为最大吸引度值;κ为吸引度系数,当κ趋近于零时,吸引度最大。在群智能模型中亮度低的个体有向亮度高的个体移动的趋势,个体位置的更新过程可以描述为:

Li(t+1)=Li(t)+ηij[Li(t)-Lj(t)]+λεj

(3)

式中:Li(t)和Lj(t)分别为亮度高的个体与亮度低的个体在t时刻的位置;Li(t+1)为第(t+1)时刻更新后的位置;λ和εj分别为模型参数及个体j移动误差。云存储环境中的m个数据中心包含各种类型的多结构数据,数据中心节点的数据存储和容纳能力不同,如果待迁移数据的存储位置不合理,此时大量用户集中、频繁地访问数据中心节点,会导致节点数据拥塞现象的产生,给服务器造成巨大负担,不仅会影响到数据迁移的效率,甚至会出现数据丢失的现象。网络中节点服务器的性能既与本身硬件资源的配置有关,也与资源的利用情况密切相关,大量用户在短时间内的集中访问,以及节点实际数据负载情况远超过理论负载能力,都会导致数据迁移效率瞬时下降。云存储环境下利用FA迁移算法的目的,就是要通过对多数据中心节点负载的不均衡进行资源调度,缓解个别节点的压力和负担。围绕中心节点形成火焰虫种群,仿生种群个体的分布情况,描述出整个待迁移数据网络中多结构数据的分布。仿生种群中亮度较大的个体会自动地向中心节点处移动,通过计算当前节点的资源利用情况、带宽占用情况及亮度较大个体的适应度函数值,即可初步以高亮度个体为中心将整个数据迁移网络划分为多个种群,节点负载能力较大的个体的亮度值也更大,能够吸引更多的其他个体靠拢,再通过多次迭代寻优,优化个体的位置分布。

随着火焰虫位置及亮度值的持续更新,进入下一轮位置搜索,直到搜索出最优的位置。但经典的FA算法单个体的搜索空间范围有限,且在中后期寻优中由于个体之间的距离变小而导致适应度函数值的局部寻优的能力降低,容易陷入局部最优解,且在寻优过程中的收敛速度较慢,不利于大数据实时动态迁移算法效率的提升。为此本文对经典FA算法进行优化,在经典FA算法的基础上引入适应度值和自适应惯性权重,避免亮度较低个体寻优过程中出现局部最优化的情况,促使个体扩大寻优范围。经过优化的FA算法不仅更有助于个体最优位置的选择,改变多个数据中心负载不均衡的情况,还有助于节省带宽资源,避免短期内用户的集中访问。在云存储网络空间内构建出p个解与数据中心的节点数量相对应,用节点集合{x1,x2,…,xp}与数据中心集合相对应,初始化火焰虫种群的位置Lk:

(4)

(5)

(6)

(7)

在经过多次位置迭代更新之后,火焰虫个体会向种群适应度值最大的区域聚集和靠拢,这个位置就是当前时刻下节点目标函数值的最佳位置。为均衡系统数据中心在数据迁移中的成本,除了得到每个数据中心的最优解之外,还需要得到一部分次优解,并从中计算和选择出节省带宽资源的最优解分布。实际上在迭代后期被保留下来的N个最优解是根据经验得到的,个体的位置并非最佳位置,还需要进一步更新能够提高系统带宽利用率的个体位置。而经过优化的FA大数据实时动态迁移算法将每个服务器都看成是一个仿生信号系统,通过个体位置迭代更新的方式解决节点负载不均衡的问题,并达到降低数据实时迁移系统开销、提高带宽利用率的目的。

3 算法的性能测试

3.1 大数据动态迁移实验环境搭建

算法性能测试实验的网络集群环境基于Hadoop云平台设计完成,包括5台异构主机,硬件配置见表1。

表1 实验系统的硬件配置

本文搭建实验系统所使用的软件及其版本见表2。

表2 测试实验环境软件设置

分别给5台主机安装Windows10专业版系统,并将主机名替换为master、slave1~ slave5,以master节点为中心建立网络映射关系,添加如下的IP地址信息:

#135.0.01.1

#196.168.252.130 master

#196.168.252.131 slave

#196.168.252.133 slave

#196.168.252.134 slave

#196.168.252.135 slave

主机master节点首先生成密钥对,主节点配置完成后再依次在slave节点上配对,配置完成后可以在所构建的网络中的任一个节点登录。为提高检测试验的适用性,源数据既包括MySQL、Oracle等结构型数据,也包括HTML、音频文件、视频文件等非结构化数据。其中结构化数据存储于Hadoop框架内,随机生成20万条数据,应用网络接口通过API调动数据。结构化数据测试表结构见表3。

表3 结构化数据测试表结构

将20万条数据按数据规模分成4组,见表4。

表4 测试用数据按规模分组

3.2 大数据实施迁移中的效率对比

在云存储环境下,分别采用本文提出的优化FA迁移算法、传统的存储容量感知、遗传算法和自适应模糊算法进行实验,验证4种不同规模被测试数据的迁移效率,各种调度算法下的迁移耗时情况如图3~图6所示。

图3 300 MB数据规模各算法的迁移耗时

图4 1.5 GB数据规模各算法的迁移耗时

图5 10.5 GB数据规模各算法的迁移耗时

图6 15.0 GB数据规模各算法的迁移耗时

从图3~图6可以看出,当待迁移的数据规模较小时,传统算法与本文算法的调度性能和迁移耗时相差不大。数据规模逐渐增大,部分网络节点由于负载过高,出现数据拥塞的现象,进而影响到总体数据调度性能的发挥。当数据规模超过10 GB时,本文提出的基于优化FA迁移算法的整体耗时优势较为明显,表明本文算法的迁移效率更高。

3.3 数据迁移成本分析

实验中通过比较大数据随机迁入的位置计算迁移成本,将单位时间内(设定为1 s)数据迁移时间与迁移开销的乘积定义为迁移成本。在云存储环境下如果节点任务分配不均衡,个别节点的负载较高,那么对于整个迁移网络而言,迁移成本就会升高。动态的迁移算法和调度方案将决定最终的迁移成本,在0~100 s的迁移周期内,4种不同迁移算法的迁移成本见表5。

表5 各种算法的迁移成本对比分析 单位:s

由表5可以看出,与传统3种算法相比,本文提出的优化FA算法在每个时间周期内的成本都要更低,而且随着时间周期的延长,成本开销的增长率保持在较低水平范围内。4种算法对于不同规模数据的上传时间和下载时间控制情况见表6,其中本文提出的优化FA迁移算法具有明显的优势。

表6 数据上传与下载时间的成本控制

3.4 节点硬件资源的占用情况

对于大数据迁移网络中的节点而言,频繁的用户访问与过高的节点硬件资源负载,会增加系统CPU和内存等硬件资源的占用,如果硬件的负载过高会降低节点的数据存储和调度性能的发挥。在同等的数据规模前提下(选择的被迁移的数据规模为10.5 GB),观测不同的迁移调度算法下master主节点的CPU和内存等硬件资源占用情况,具体如图7和图8所示。

图7 master主节点的CPU占用率

图8 master主节点的RAM占用率

从大数据实时动态迁移中对主节点硬件资源统计的结果可知,无论是CPU的占用率,还是内存的占用率,优化的FA算法均表现良好。在大数据迁移中master主节点的硬件资源预留出较大的空间,能够更充分地发挥出系统的性能,且能够负担部分高负载slave节点的计算任务,提高数据动态迁移的效率。

4 结束语

随着数据规模的不断扩大,数据迁移的应用场景逐渐增多,为保证大数据实时动态迁移的效率和质量,对网络节点的均衡负载能力、硬件资源配置及软件算法均提出了较高的要求。本文基于已有的研究成果,在云存储环境下提出了一种优化FA动态迁移调度算法,能够实现节点性能与数据迁移要求的均衡。从实际的测试结果可知,本文提出的大数据迁移调度算法的硬件资源占用率更低,在同等条件下的实时迁移效率和成本优于3种传统迁移算法。

猜你喜欢
数据中心框架调度
酒泉云计算大数据中心
框架
浅析数据中心空调节能发展趋势
广义框架的不相交性
《调度集中系统(CTC)/列车调度指挥系统(TDCS)维护手册》正式出版
基于强化学习的时间触发通信调度方法
一种基于负载均衡的Kubernetes调度改进算法
关于建立“格萨尔文献数据中心”的初步构想
虚拟机实时迁移调度算法
关于原点对称的不规则Gabor框架的构造