沈 刚,陈 斌,毛明荣
(1. 三江学院,江苏 南京 210012;2. 南京师范大学,江苏 南京 210023 )
传统的云计算网络采取的是集中式框架,在当前网络数据量与网络终端大爆发的情况下,表现出明显的传输过载和延迟增长。针对该问题,近年来提出了边缘计算,它是利用边缘网络与云核心网络协同工作,将云核心网络的功能进行迁移[1-3]。由于边缘网络更接近用户设备侧,将部分功能迁移至边缘网络,使边缘网络具有数据存储和计算能力,对于用户侧常用的一些资源信息,就可以存储在边缘网络,能够均衡网络任务,降低网络延迟,更好的根据用户需求提供相应的服务质量。但是,在边缘云协同网络数据存储的过程中,面临着存储节点的选择、存储数据的选择、目标数据的提取等问题[4-5]。这些问题的存在,也对其存储策略和应用效果产生严重影响。另外,由于云计算网络业务繁杂,网络数据对于用户的重要程度也越来越大,因此边缘云协同网络必须保证数据安全性和可靠性。当网络局部节点发生断电、宕机或者其它故障时,为避免数据丢失、业务中断等情况出现,需要对数据存储进行容灾备份处理。而容灾备份需要考虑请求响应效率,如何从备份中快速恢复数据,如何确保数据的可靠与完整性[6-7]。针对这些问题,本文提出并设计了一种边缘云协同网络数据存储容灾备份方案。为了改善边缘网络与云核心网络的协同性,在边缘网络中实现用户端兴趣数据的预测存储,不仅能够降低云核心网络的业务压力,同时能够降低网络中传输链路负载,以及用户请求的时间延迟。为了改善数据存储的容灾性,设计了容灾备份策略,利用粒子群算法搜索数据恢复成本与恢复时间的联合最优解,从而提高数据的可靠性与恢复响应。
边缘云协同网络从拓扑结构上可以看做由云服务中心、云核心网络、边缘网络、以及用户设备组成,传统的云计算网络采取以服务中心向外扩散的框架,在数据增加、传输延迟等压力下,显露出明显的应用缺陷。将云核心网络的部分功能推向边缘网络,使其协同完成用户端的任务需求,是当前应对云环境复杂数据快速的主要趋势。在边缘网络中增加智能节点,由它完成边缘网络与云核心网络的数据交换,同时该节点具有存储功能,用于存储用户端经常访问、快速访问的数据。当用户将请求发送至边缘网络后,边缘网络通过智能节点判断请求数据的流行度、热度等信息,并据此来选择从边缘网络的存储中返回响应,还是继续向云核心网络转发请求。对于流行度、热度、频次较高的请求数据,边缘网络存储将会快速响应给用户,避免回传链路的占用。
对边缘网络采取离散分析,假定用于数据存储计算的智能节点s存储空间大小为Ms,则任意时间点上,s都需要判断用户请求、数据流行度等信息,并对其中存储的数据进行相应的调整,调整策略描述为
(1)
这里最终目的是搜索出最为合理的存储调整方案,从而确保边缘网络的数据存储效果。根据调整策略,由数据库中所有数据构成向量m(s,[tk,tk+1))=[m1(s,[tk,tk+1)),…,mi(sD,[tk,tk+1))]T,利用该向量就可以控制存储的命中率。假定[tk,tk+1)时间段内节点s处理用户请求的总数量是J(s,[tk,tk+1)),对应第j次请求的数据表示为l(j),则存储命中率计算公式如下
(2)
其中,pm(s,[tk,tk+1))(l(j))是标记函数,在处理请求过程中,当某次请求数据已经存储于节点时标记为1,未存储于节点时标记为0。为防止节点存储溢出,对其采取如下约束:
≤Ms
(3)
其中,z=[z1,z2,…,zi]T为数据库D中的所有数据大小;存储向量m(s,[tk,tk+1))为约束变量。边缘网络存储空间有限,这里引入数据请求频率,在[tk,tk+1)时间段内,将节点s上发生数据i被请求的总数量记做ci(s,[tk,tk+1)),此时边缘网络的最优存储描述如下
ci(s,[tk,tk+1))s.t.zT·m(s,[tk,tk+1))≤Ms
(4)
经过优化后的边缘网络存储,可以看做离散时间段与节点关系的求解。当网络数据不断刷新,需要对边缘网络存储更新时,由于请求频次与最近最少请求指标[8-9]都难以提高请求效率,并且无法保证存储数据的准确性,因此,这里采取热度数据生命期与流行度两种指标判断数据的更替。节点在接收用户请求时,实时记录用户端的热点数据,将其请求的数据标记时间戳,当数据库中某些数据需要更新时,将对应时刻与请求时间戳做差值计算,得到热度生命期。将存储更新时间记做tu,请求时间戳记做te,于是热度生命期公式如下
T(i)=tu-te
(5)
热度生命期T(i)越大越好,其值越大,说明数据i的热度越高。边缘网络距离用户端最近,利用热度生命期的观测能够更加准确的体现用户端数据倾向,请求数据存在于节点本地,显然数据预测被命中的概率更大。
数据流行度指标根据统计数据获取。假定此前某段时间,统计得到节点s中的数据i被请求的数量是ci(s),于是节点s中的数据i流行度计算如下
(6)
为了综合衡量存储数据的更新策略,将热度生命期与数据流行度进行加权融合,公式表示如下
L(i)=λ/T(i)+(1-λ)pi(s)
(7)
其中,λ是加权因子,可以调节两种指标的控制权重。在存储更新时,将L(i)值较小的数据采取替换操作。
在网络节点出现故障时,为防止数据损坏丢失,保证用户请求能够被正常且及时响应,对数据采取容灾备份,原理如图1所示。容灾备份涉及数据迁移与数据恢复,在未发生故障时,各备份数据库进行同步的数据迁移,在发生故障时,从备份数据库中复制数据,最终目标是快速恢复网络业务。
图1 数据存储容灾原理
容灾备份根据网络数据更新采取动态备份机制,当节点设备初始化时,进行完整数据备份;当网络存储数据增加时,进行增量数据备份;当网络存储数据替换时,进行差别数据备份。图2描述了容灾备份的处理过程。
图2 容灾备份流程
在容灾备份框架的基础上,设计具体的数据调度方法,该过程应该衡量数据恢复带来的成本消耗。对于边缘网络而言,主要有数据存储与数据通信消耗。假定网络中任意节点j对应的存储成本表示为um,j,数据传输成本表示为ut,j,据此,将数据恢复成本描述如下:
(8)
其中,N代表节点中存储的文件数量;Di表示文件i包含的数据大小;Ni,j表示节点j中包含的文件i的备份数量。假定节点j传输链路带宽是Bj,则恢复时间计算公式描述如下:
(9)
其中,Tret表示需要恢复数据的查询时间。
为了对恢复成本与恢复时间联合求解,将其看做为多目标寻优问题,于是,本文引入粒子群算法构建数据恢复模型。对于一个q维度空间而言,初始化部署K个粒子,其中任意粒子位置描述为wi(wi1,wi2,…,wiq),粒子速度描述为vi(vi1,vi2,…,vik)。在进行最优解搜索的过程中,粒子需要不断的调整速度与位置,调整方式表示如下
(10)
(11)
ω=ωmax-n(ωmax-ωmin)/nmax
(12)
(13)
(14)
在每一轮的迭代进化过程中,需要对粒子进行相应的评价和约束,评价的依据就是获得最小的恢复成本和恢复时间,即对(8)与(9)计算最小值。而约束是为了获得更好的容灾效果,约束条件描述如下
(15)
在容灾备份时,利用式(15)对备份容量和备份数量进行了限制,避免产生存储资源溢出和冗余备份情况。通过迭代进化,最终计算得到粒子群最佳位置,即获得最佳成本与恢复时间。
仿真利用Matlab模拟边缘云协同网络,用户任务请求次数采取Zipf分布,任务计算采取正态分布,其它参数设置如表1所示。
表1 仿真实验参数设置
仿真通过任务数据预测准确度、存储命中率,以及恢复时间指标,依次对本文提出的数据存储容灾备份方案进行性能验证。同时,采用文献[2]和文献[6]方案在相同的实验环境中得到各自性能指标,与本文方案进行对比。
本文在网络任务数据预测准确度时,分别将任务数据采取流行度排序,并以10为单位进行分组划分,得到每组的平均预测准确度,结果如图3所示。根据准确度结果曲线,经过纵向比较可以发现,随着分组的靠后,各方法的数据预测准确度都有所降低,而本文方案的准确度显然降低幅度更小,从第一组到最后一组,数据预测准确度仅降低了18.60%。经过横向比较可以发现,对于每种方案的相同分组,本文方案的数据预测准确度都高于对比方案。该结果表明,采用热度数据生命期与流行度两种指标能够更加准确判断出用户端的数据需求倾向,从而确保存储数据的准确性与请求效率。
图3 任务数据预测准确度
存储命中率体现了存储效率的优劣,实验过程中,为了对各方法采取统一衡量标准,计算公式表示如下
(16)
式中,hi表示网络节点i任务数据命中次数;Crequest表示网络中的用户任务累计请求次数。
通过仿真,得到相对存储增加时,存储命中率的变化情况,结果如图4所示。通过结果对比可知,在相对存储增长的过程中,各方案的存储命中率均表现出不同程度的增加。其中文献[2]和文献[6]方案由于数据预测与缓存策略的缺陷,产生较多的冗余数据存储,使得存储命中率明显低于本文方案。该结果表明本文方案有效提高了边缘云协同网络的存储命中率,有利于数据多样性与存储利用率,避免用户请求向云核心网络的转发,能够从自身存储文件中直接向用户提供请求数据,提高请求处理效率。
图4 存储命中率结果
仿真模拟网络故障情况下的数据恢复时间,结果如图5所示。根据结果对比,对于任何大小的数据,本文方案的恢复时间都是最快的,且在数据量增长过程中,该方案的恢复时间增速也最慢。这是由于本文方案基于准确的数据存储,设计了容灾备份策略,利用粒子群算法对预测数据采取合理高效的备份,当网络节点出现故障时,能够根据备份数据,为用户请求快速及时的提供恢复数据,防止数据损坏和丢失。
图5 恢复时间曲线
针对边缘云协同网络的数据存储问题,本文将边缘网络采取离散分析,设计了带有存储命中率与存储容量约束的最优存储策略,并在每次迭代时进行动态调整。同时在网络存储更新时,采取热度数据生命期与流行度两种指标判断数据的更替。此外,设计了数据存储容灾备份模型,并引入粒子群算法搜索最优备份策略。通过仿真实验,验证了本文提出的边缘云协同网络数据存储容灾备份方案能够更加准确判断出用户端的数据需求倾向,对其采取准确有效存储,从而提高请求效率与容灾效果。