基于雾计算边缘数据存储的缓存置换技术研究
2017-04-05关丽华
关丽华
(山西经贸职业学院,山西 太原 030024)
基于雾计算边缘数据存储的缓存置换技术研究
关丽华
(山西经贸职业学院,山西 太原 030024)
围绕雾计算的边缘数据缓存置换技术的相关概念、实现原理,以及所涉及的主要算法进行了调查研究,并在此基础上针对边缘数据缓存置换技术中蚁群算法的优化与改进提出了一些新的思路和方法,以期为相关领域的研究提供一些参考依据。
雾计算;边缘数据;缓存置换;蚁群算法
雾计算是从云计算技术延伸发展出来的,专用于云平台靠近用户终端层面的边缘数据优化存储和调度的一项技术。主要是针对云端平台上边缘数据的动态存储、响应效率等问题提出的一种数据存储优化解决方案。由于云端数据存储采用的是集中式的处理方式,对于移动接入端所产生的大量时延性要求较高的数据的处理效果并不理想。因此这类边缘数据的运算存储需要通过新的计算模型—雾计算来提高数据处理效率,而雾计算中最为核心的技术就是边缘数据存储缓冲置换技术。
1 边缘数据存储缓冲置换技术
1.1 缓冲置换技术概述
缓冲技术最初是被应用于计算机内部的,用于缓解CPU与输入输出设备之间的数据处理速度不匹配问题的一项技术。其原理是通过某种调度算法预先计算出CPU可能要访问到的数据,并将其提前从输入设备调度到可快速读写的数据存储区中,当CPU访问到这类数据时,就可以从高速数据缓存区中快速读取到;当CPU需要输出数据时,也可以将数据预先写入到数据缓冲区中,再由输出设备依次输出,CPU在这个过程中不必被输出设备一直占用,可同时并行处理其他内部任务。
将缓冲技术应用到雾计算的边缘数据处理中,就是要通过合理的调度算法将移动终端用户可能将要访问到数据预先存储到“雾”的边缘存储节点上,当用户访问该数据时,可以快速通过边缘节点获取到数据。如此既能够提高用户响应速度,又能降低数据在云端传输所占用的内部带宽,减少云端中心服务器的运算负载。
可是由于雾计算中的高速缓存节点存储容量是极其有限的,因此不可能一次性将运算得出的所有结果数据都调度存储起来,还需要有合理的置换算法将可能被最近访问到的数据与不太可能马上将被访问到的数据进行置换。置换算法是否合理,其中一个最重要的衡量指标就是数据命中率。
1.2 缓冲置换算法
常用的缓冲置换算法主要有先进先出堆栈式算法、近期最少访问算法、蜂群算法、蚁群算法等。其中前两者属于传统置换算法,思路简单,易于实现。
顾名思义,先进先出就是将缓存时间最长的数据先置换出去,是最基础的一种调度算法;而近期最少访问算法更优化一些,在先进先出思路上,又综合考虑了数据的访问频率因素,将近期一段时间内最少被访问到的数据置换出缓冲存储区。
随着数据处理需求的日益复杂化,这些传统的调度算法已经很难满足海量数据的访问需求,因此逐渐出现了更加优化、也更加复杂的一类算法。例如蜂群算法和蚁群算法,这类算法主要是通过对蜂群和蚁群的各种行为分析所推演出的优化算法,在智能集群调度、多变量函数优化计算、分布式组合优化计算等方面都得到了广泛的应用。以蚁群算法为例,从蚂蚁寻食的行为中推演得出的最优路径算法,其思路就取决于蚂蚁在寻食过程中,会不断选择若干节点释放激素,为后来经过的蚂蚁提供一个路径判断的条件,后来的蚂蚁再做出判断的同时会在当前节点上再次释放激素。反映到群体行为结果中,就会发现某些路径节点上的激素气味越大,哪条路径被选择的概率就越大。应用到算法设计当中,就可以根据对网络路径的节点上的信息量判断绘制出最优的传输路径。再将其应用到雾计算的边缘数据调度中,就可以通过判断某些数据上的调度频率,来动态实现优化置换。
类似蚁群算法的这类复杂算法,最大的特点就是支持分布式的并发执行运算。每个蚂蚁都可以看作是一个独立的数据运算任务,彼此之间的交互主要通过负载在数据之上的信息元素量。在分布式运算空间,每个运算任务都可以独立解决一个问题,再通过信息素的交互实现复杂组合优化计算,增加了算法的可靠性和全局运算能力。
2 边缘数据存储的缓冲优化策略
2.1 边缘数据存储的缓冲置换效能评价指标
为了能够客观衡量和判断雾计算中数据缓存存储算法的效率如何,设定合理的数据存储效能评价指标体系是非常必要的。在这个体系中最为核心的评价指标主要有两个,一个是前面就提到过的被访问数据对象的命中率,另一个是用户从提出请求到数据节点响应的平均时间间隔长短,也就是平均时延。第一个指标主要反映了预先缓冲置换到的雾计算节点中的数据对象能够被用户访问到命中率有多高,命中率越高,就说明预先缓存的数据对象越符合用户的访问需求;第二个指标用于计算通常情况下,用户从发出请求到获取数据需要等待的时间长短,平均时延的值越小,就说明数据响应越快,这可以表明数据是被缓存在雾计算节点中,还是存储在云端。
2.2 边缘数据存储的缓冲置换算法改进
传统的蚁群算法通常是应用在路径的选择问题中,通过将蚂蚁信息素释放到各个路径节点上,通过遍历进行路径的判断。在雾计算的边缘数据缓存置换技术中蚁群算法是要实现最优的数据对象选择和置换,通过对数据对象上承载的信息量多少与占用存储空间大小两个因素的综合判断来得出结果,因此信息素是加载在被选择的数据对象上的。在遍历数据对象的蚂蚁总数给定的情况下,固定时间间隔内单个数据对象上蚂蚁所释放信息量越大,表示该数据对象被选择的重要程度也就越大;同时该数据对象所占用的存储空间越小,其被蚂蚁选择的期望程度也就越高。通过对这两个因素的运算比对,即可得出最佳的选择结果。
由于移动端用户的位置不确定性,每个数据对象被访问请求的到达时间随机性非常大,很难保持同步,这就使得数据对象的置换时间也是随时在发生变化的。为了不影响缓存空间的充分利用,置换算法还增加了定期对数据对象所承载的信息素进行更新的运算操作。运算思路主要是依据访问量减少的数据对象上的信息素会逐渐减少规律。首先定期更新时,只会对这段时间间隔内被访问到数据对象上的信息素,这段时间没有被选择到的数据对象上的信息素就会自然减少,最后就会被选中置换出边缘数据缓存区。
2.3 边缘数据存储的缓冲置换优化策略的实现
雾计算的边缘节点接收到数据请求后,首先要查询节点上的数据缓存列表,如列表中包含被请求的数据对象,则在该对象的请求次数的记录上累加一次,并将数据响应给请求用户;如列表中没有包含被请求的对象,则向云计算中心请求获取数据对象,并通过置换算法将数据对象存储至边缘节点。
将数据对象置换存储至边缘节点时,首先要计算当前节点的空余空间能否满足数据的存储需求。如能满足,则不需进行置换,直接建立存储记录即可;如不能满足,则需调用置换算法,对计算参数进行初始化,更新数据缓存列表与数据对象的信息素记录。
数据置换初始化工作完成之后,遍历数据缓存列表中的所有数据对象,先对数据对象的信息素进行比对分析,选择出被选择概率较大的数据对象,再将其所占的存储空间的大小与要置换入缓存区的数据对象容量大小进行比对分析,选择存储容量相当的数据对象与其置换。
置换工作完成之后,对存储在边缘节点的新的数据对象进行初始化,并为其创建相应的信息记录,用于记录该数据对象的被访问次数与初始时间。
3 结论
本文针对云计算在移动端实时数据处理性能不足等问题,在雾计算中边缘数据存储的优化思路与策略上进行了深入研究。其中主要涉及到的核心技术—数据缓存置换技术,主要是为了缓解用户数据需求与雾计算边缘节点存储容量不匹配的问题,本文重点就此问题提出了基于蚁群置换算法的改进思路和优化策略,以期为之后的相关技术完善和发展提供一定的研究参考价值。
[1] Li P,Xu Q, Wang N.Evolution Course and Analysis of Things[J].2014(219):132-137.
[2] 张德孚.雾计算中的数据边缘存储优化技术研究[D].杭州:浙江工商大学.2016.
Research on Cache Replacement Technology Based on Fog Computing Edge Data Storage
Guan Lihua
(ShanxiEconomicandTradeVocationalCollege,TaiyuanShanxi030024,China)
In this paper, the related concepts, implementation principles and the main algorithms involved in fog computing are discussed. Based on this, some new ideas and methods are put forward for the optimization and improvement of ant colony algorithm in the edge data cache replacement technology in order to provide some reference for the research in related fields.
fog computing;edge data; cache replacement;ant colony algorithm
2017-07-16
关丽华(1973- ),女,山西清徐人,本科,研究方向:计算机应用。
1674- 4578(2017)04- 0090- 02
TP333;TP311.13
A