混合云中基于动态调度的资源访问策略
——以安徽专技在线平台为例
2021-03-08徐明伟吴文明
樊 浩,徐明伟,吴文明
(1.安徽广播电视大学,合肥 230022;2.合肥滨湖职业技术学院,合肥 230601)
随着安徽广播电视大学专技网络培训事业的发展,在线培训学员规模逐年增长。由于近年来年平均培训人数已达25万人次以上,网络带宽需求陡增,经估算至少需要3G以上的私有云带宽才能满足对应规模的培训量。学校私有云带宽已经无法充分满足对应规模的网络在线培训需求,需要在主流的云计算服务方式中寻求解决方案。对于带宽不足问题,通常采用两种解决方式:一种方式是增加私有云固定带宽的大小,另外一种方式是直接将服务托管至第三方的公有云。私有云带宽一般为固定带宽、按周期付费,公有云带宽可以按需分配、按流量付费。这两种方式单一使用均存在明显的缺陷,第一种方式不够经济且效果不好,第二种方式易造成学校私有云带宽浪费,因而采用切实可行的解决方法,运用私有云和公有云混合云机制下的网络课程资源访问调度策略,将带来更大的“效果性”和“经济性”。
一、当前主流云计算服务方式
云计算将计算、存储、内容传输、网络和应用等从用户终端集中到“云端”,形成了一种新型服务模型。随着云计算服务的发展,当前主流的类型主要有公有云、私有云和混合云。公有云是指以第三方为用户提供服务的云计算平台,具有资源规模大、按需付费等特点,理论上具有无限的资源;私有云是企业或者组织内部所提供服务的专业云计算系统,它的特点是数据安全性好、服务质量高、可以方便地自定义资源。私有云一般部署在单位数据中心的防火墙内,当单位私有云的带宽、存储等基础资源不足时,会使得部分学员远程访问变得比较困难。混合云融合了私有云和公有云,在云计算服务中常常需要构造混合云来统一管理不同云平台中的计算和存储资源,这是近年来云计算的主要发展模式和方向。目前已有学者研究了将混合云运用于课程教学中,并取得了较好的教学效果。
二、带宽无法满足平台培训需求的现状及当前解决办法
(一)现状
1.平台资源库规模大
教学资源具有数据量大、内容复杂,且使用非常频繁等特点,同时鉴于专技培训的特点,平台课程资源每年更新,资源库规模不断扩大。现平台资源库拥有约1万学时左右的课程资源,课程资源的主要组成实体为三分频或者MP4格式的视频资源。为了保证学员的观看体验,视频分辨率一般不低于720P,而平台尚不具有视频清晰度切换功能,同时它没有对课程视频资源进行压缩处理,这就给远程网络培训中的网络带宽等基础资源提出了很高的要求。
2.学员访问周期性集中
专业技术人员的继续教育学习受各地人社主管部门的政策影响比较大,培训开始时间一般为5月上旬,而职称评审的时间又集中于每年的9~10月份,所以专业技术人员上线学习的时间相对集中,经常会出现“井喷”式的现象,尤其集中于每年的7、8两个月。同时根据专业技术人员的群体特点,从平台统计的访问数据来分析,每天的访问高峰主要集中于上午8点到下午5点,这个时间段的访问量要占到单天总访问量的80%。根据平台的历史统计数据来看, 在平台访问高峰期时平均并发人数在5000人左右,而在7、8两个月经常会达到12 000人以上。
3.私有云带宽总量不足
学员学习平台课程资源主要方式为采取长连接的资源访问方式观看课程视频,这种访问方式的特点是一旦学员与服务器建立网络连接以后会一直占用网络带宽。学校现有出口带宽为1.7 Gbps,而平台资源库中公需课的单个视频资源在150 MB左右,专业课的视频资源在80 MB ~ 200 MB之间。学校出口带宽全部用于专技培训按照高峰期10 000人来计算,每人平均分配只能得到0.17 MB的带宽,下载速度仅有20 kb/s。这种情况下,单个公需课网络视频下载时长为14分钟,而公需课单个视频时长为40分钟左右,下载时间占到视频时长的1/3,这种学习体验对于学员来说“效果性”很低。
(二)目前的解决办法
安徽专技在线平台为了解决现有的私有云带宽不足问题,目前采用的是粗放式的云访问方式,即将公需课资源通过公有云(阿里云)CDN的方式为学员提供平台课程视频的访问服务。这样很好地解决了平台访问高峰期出现的带宽瓶颈问题。这种思路就是将学员最有可能访问的课程资源通过公有云的方式访问,但是这种解决办法属于静态式的解决办法,没有充分考虑到学员实时访问的特点来动态调整学员的课程资源访问路径。导致了这种粗放式的解决方法“经济性”不高,学校私有云带宽资源没有得到充分的利用。
三、混合云中基于动态调度的资源访问策略
(一)必要性和可行性
公有云访问和私有云访问从访问方式上只是两个静态云存储访问方式,对于用户来说并不是简单地把公有云和私有云堆砌在一起,就可以发挥混合云的优势。而必须要让两者产生碰撞,形成一个高效的混合云访问方式,从而提高用户跨云访问的带宽资源利用率。当下对于安徽专技在线平台现有的课程资源访问方式来说必须进行调整优化。如果把平台资源库中的所有课程资源都切换至公有云访问,可以有效解决培训高峰期学员学习访问视频效果差的问题,但是学校私有云的带宽得不到充分的利用,“经济性”不高。而只将一部分课程资源切换到公有云访问,则无法充分满足学员高峰期的学习需求,也很难找到一个学员满意和节约带宽流量的平衡点。所以必须改变平台课程资源粗放式的访问方式,采用更优化的混合云访问方式,在学员访问课程资源的时候动态设立访问路径,根据一定策略动态地调整所访问的“云”,改变静态式的访问路径,将“计划分配”转变为“按需分配”。
(二)建立课程热点统计机制
大批量的课程视频下载是导致带宽拥堵的主要问题,可以从课程的访问频率入手,找出高频率访问的课程。这些课程是导致带宽不足问题的主要原因。根据课程的政策导向性、内容特点、组织形式,可以将课程划分为热门课程和冷门课程,其中在一段时间内热门课程也可以分为永久性热(PermanentHotspot)和阶段性热(StageHotspot)两种属性,如果一门课程在一段时间内被持续性的访问,则称之为永久性的热门课程,如果课程阶段性地被频繁访问则称之为突发性的热门课程。基于此可以根据学员访问课程的频率为课程建立课程访问统计表,对学员访问课程的喜好进行记录。表中主要记录课程名称、课程访问次数、课程访问的时间、课程资源的大小。这样可以统计出整个资源库各个课程被访问的总次数、阶段时间内被访问次数、访问高峰时间段,可以用A表示单个课程在某个周期P时间内对于网络带宽所带来的压力。A = 访问的次数 * 课程资源内容大小 * 时间周期(A的大小随着时间周期P会发生变化),形成课程周期性的网络带宽压力表。课程周期性的网络带宽压力表反映了一段时间内课程对于网络带宽所带来的负载压力,对课程周期性的网络带宽压力值排序后,就可以得出一段时间内对于网络带宽带来影响比较大的部分课程。
(三)为网络带宽的“争夺”现象设立阈值机制
网络带宽拥堵时会出现各访问连接“争夺”网络带宽的现象。“争夺”现象并不是一出现就需要采取措施,较短时间内的“争夺”,有可能是由于平台瞬发性的学员访问造成的,视频加载的缓存机制使得这段时间内并不会影响大部分学员的课程视频观看体验,可以将“争夺”的时间段作为参数设置阈值,来避免假性网络带宽“争夺”的影响。采取高低水位的设置方法设置高阈值和低阈值,高阈值为学员视频观看出现卡顿的时间段数值,低阈值为学员课程观看流畅的时间段数值。在一段时间内如果“争夺”现象一直持续并随着时间的增长达到高阈值时则采取一定策略调整部分课程资源访问路径迁移至公有云。当访问高峰期后,“争夺”持续时间不断降低,回落低于低阈值时则采取一定策略调整部分课程路径回迁至私有云,避免频繁的视频访问路径调整对于平台稳定性和性能的影响,以及学校私有云带宽的浪费。
假设高阈值时间值为h
,低阈值时间值为l
,网络带宽延迟时间值为d
,是否采取课程资源访问路径调整取决于它们之间的如下关系:如果网络带宽拥堵一直维持在高阈值以上,则监测端每隔t
时间段发送一次带宽警报信号。 如果网络带宽拥堵一直维持在低阈值以下,则监测端每隔t
时间段发送一次带宽解除警报信号。(四)建立监测机制
在学校私有云带宽监测端与安徽专技在线平台之间建立一个带宽拥堵警告通知机制,在监测端实时地监测学校私有云的可用带宽。可用带宽是网络监测和配置的重要参考依据,能否获得预期的可用带宽,也是部署QoS的关键考核指标。当可用带宽良好,说明客户端访问速度可以得到保障;当可用带宽出现明显下滑时,说明服务端对于当前访问服务的支持出现了问题,而出现问题很大原因是私有云出口带宽不足导致了带宽资源“争夺”。监测端在“争夺”带宽资源情况发生时记录带宽拥堵的时间,结合设立的带宽时间段阈值机制及时地向平台发出警告或解除警告通知,平台在收到相应的通知时采取措施。其中一个重要的措施就是根据课程周期网络带宽压力表来调整压力值比较大的部分课程的访问路径,并根据建立的高低水位阈值机制来动态地调整网络课程资源访问路径在公有云和私有云之间的来回切换。
(五)混合云中课程资源访问动态调整策略的实现
基于动态调度的资源访问策略的实现需要服务端、监测段和客户端共同完成(如图1)。
1.服务端的工作
(1)维护一张课程网络带宽压力表和课程公有云访问表。课程网络带宽压力表中初始存放预期访问量比较大的课程(比如人社主管部门指定学习的公需课程)以及历史同时期访问量比较大的课程。课程公有云访问表是动态变化的,表中存储的是客户端需要到公有云访问的课程编号及课程访问。
(2)实时监测客户端访问资源库课程情况,对学员访问的课程访问量大小进行统计,将持续性热门课程加入课程网络带宽压力表,并根据压力值进行排序。
(3)监听带宽警报信息。当收到带宽不足的警报时,为了防止将最热的课程切换到公有云后而导致私有云访问量大大降低而出现“断崖现象”,可以从课程网络带宽压力表的中间位置开始迁移课程资源的访问路径。假设此时课程网络带宽压力表上课程数量为N,将N/2,N/2+1位置的课程访问路径切换到公有云(将对应课程及路径添加到公有云访问表中,客户端访问课程资源时如果所访问的课程在公有云访问表中将课程对应的公有云链接地址返回给客户端),在收到流量警报时,则取N/2-1,N/2+2的位置的课程,以此类推。如果课程路径本来就在需要切换的“云”中则取相邻位置的课程。当收到解除警报的通知时则采取同样的方法把对应的课程访问路径切换到学校私有云。
2.监测端的工作
监测网络流量,当学校私有云出口流量带宽达到或超过总带宽的80%时开始计时,当时间累积超过设置的“带宽拥堵”高阈值时开始向平台服务端发出带宽不足警报,当出口流量带宽开始下降并低于总带宽的20%时采取同样的计时方法,当时间累积低于设置的“带宽拥堵”低阈值时向平台服务器发出解除带宽不足警报。
3.客户端的工作
根据服务端动态调整课程访问路径,访问课程资源。
图1 服务端、监测端、客户端交互
四、仿真实验
(一)高访问量情景下的实验参数设置及仿真结果
在仿真实验中使用了10 000路线程来模拟高峰期时段用户数量,在1800 s内以10 MB/s的访问下载速度随机地访问平台资源,并设置了热门资源和冷门资源的数量及在被用户访问数中的占比。参数设置及结果对比见表1、表2。
表1 参数设置
表2 结果对比
在仿真结果中取出3次有效仿真结果,从3次仿真的结果可以看出,在访问高峰期时,学校私有云带宽拥堵率分别达到60.9%、59.1%,59.9%,使用动态调度访问策略后,带宽拥堵率下降为15%、13.6%、14.1%,大大降低了资源访问的拥堵时间。且同时在同等情况下与全部使用公有云访问相比动态策略访问的私有云流量在总带宽流量中的占比分别为85.3%、82.9%、83.8%,充分发挥了私有云带宽的使用率,节省了公有云流量。
(二)低访问量情景下的实验参数设置及仿真结果
在仿真实验中使用了1000路线程来模拟在非高峰期时段用户数量,在1800 s内以10 MB/s的访问下载速度随机地访问平台资源,并设置了热门资源和冷门资源的数量及在被用户访问数中的占比。参数设置及仿真结果见表3、表4。
表3 参数设置
表4 结果对比
从仿真结果可以看出在非高峰期时,私有云带宽始终处于充足的状态,此时动态调度的资源访问策略和全私有云访问结果基本一致。
从高峰期和非高峰期的仿真实验中可以得出动态调度的资源访问策略在二者环境下都可以比较好地满足实际的资源访问需求,并达到尽量节约公有云流量的效果。
五、总结与展望
本文提出的资源访问策略,主要根据课程访问热度和带宽“争夺”时间阈值这两个重要指标,进行动态的课程资源访问路径调整。从实验结果可以看出通过有策略的资源访问路径调整,可以在一定程度上解决固定私有云带宽不足导致的网络拥堵问题和公有云带宽流量使用成本昂贵问题。该优化策略尚有可以改进的地方,比如文中网络拥堵监测只考虑了服务端的带宽监测,从更优化的角度考虑,下一步可以结合客户端的本地监测来更敏感地“感知”网络拥堵的发生,在课程资源的路径调整策略上,也可以更深入地研究更加合理的资源路径置换算法,并结合此策略在平台运用中的实际效果,进一步探索并改进,从而形成更加优化的在混合云环境下学员学习“效果性”和“经济性”的整体方案。