APP下载

基于云计算的可扩展云教室解决方案的设计与实现

2016-03-17霍绍博耿君毅李栓林王晓颖付长冬

计算机应用与软件 2016年2期
关键词:服务器教室性能

霍绍博 耿君毅 单 莘 李栓林 鲁 瑞 王晓颖 付长冬

1(中国移动通信集团有限公司 北京 100032)

2(北京邮电大学 北京 100876)



基于云计算的可扩展云教室解决方案的设计与实现

霍绍博1耿君毅1单莘1李栓林1鲁瑞1王晓颖1付长冬2

1(中国移动通信集团有限公司北京 100032)

2(北京邮电大学北京 100876)

摘要针对当前基于cluster的电子虚拟教室的诸多不足,提出一种基于云计算的云教室的实现方案。该方案通过使用分布式文件系统解决了传统云教室扩展性差的问题,并在很大程度上提高云教室的I/O性能;同时,通过线程调度机制实现了云教室资源调度管理以及多个云教室的同步读写。实验结果表明:该方案能够用于创建大规模高伸缩性的云教室,解决目前电子教室的可扩展性差、I/O性能低以及高峰用户读写响应慢等问题,达到设计要求。

关键词云计算云教室大数据hadoop

DESIGN AND IMPLEMENTATION OF SCALABLE CLOUD CLASSROOM SOLUTION BASED ON CLOUD COMPUTING

Huo Shaobo1Geng Junyi1Shan Xin1Li Shuanlin1Lu Rui1Wang Xiaoying1Fu Changdong2

1(China Mobile Group Corporation,Beijing 100032,China)2(Beijing University of Posts and Telecommunications,Beijing 100876,China)

AbstractAs to the disadvantages of current cluster-based virtual e-learning classroom, this paper proposes an implementing solution of cloud-computing based cloud-classroom. This solution ravels out the problem of poor scalability of traditional cloud classroom by using the distributed files system technology, and improves to great extent the I/O performance of cloud classroom; meanwhile, through thread scheduling mechanism it realises the resources scheduling and management of cloud classrooms as well as the synchronised read-write process between many cloud-classrooms. Experimental result shows that the solution can be used to create large-scale cloud classroom with high scalability, solves the problems of existing e-learning classrooms including poor scalability, low I/O performance and slow read-write responses to users in peak time, and meets the design requirement.

KeywordsCloud computingCloud classroomBig dataHadoop

0引言

随着在线教育的发展,越来越多的商家推出了电子教室服务,如edu.yy.cn、coursera等。使用这些电子教室,所有会员用户都可以开设课程[1],因此这类电子教室不仅需要考虑基本功能实现问题,而且还要考虑系统性能问题,如同时上课的电子教室数量、每个教室人数上限、每个教室可同时切换的教材或内容数量等等,这类性能问题直接关系到用户体验和用户学习质量[2]。

目前主流的电子教室的实现平台多基于Cluster集群模式的系统架构[3],这种架构存在的主要问题包括:1) 同时打开的电子教室数量有限,而且平台扩展性差;2) 电子教室可以同时容纳的学员数量有限,无法满足名教师授课情况下的高峰值、也不符合目前互联网的业务模式;3) 在少量用户的情况下可以很好的运行,但是较多用户的高I/O负载情况下会出现音视频质量下降,严重情况下导致系统崩溃[4];4) 在多个教室同时授课的情况下,对整个系统平台的性能都存在较为严重的影响[5]。

针对上述不足之处,本文结合当前流行的云计算技术具有良好扩展性[6-9]和I/O性能好的特点[10-14],设计并实现了一种可扩展云教室。这种云教室的主要特点是:可随时根据云教室的数量、在线学院的数量对资源进行扩展,具有更好的I/O性能;同时实现了云教室资源的调度管理和多个云教室的同步读写功能。

1实现方案

1.1设计思想

通过使用云计算技术将目前的固定电子教室模式升级扩容为虚拟云教室模式,使之具有高可扩展性、高可伸缩性和高I/O性能。

云教室和云教室平台的核心定位为:

(1) 一个电子教室可以容纳、增加N人,即电子教室的用户数不受限制。这种模式的教室称为云教室;

(2) 一个平台上可以同时实时运行N个云教室,即平台上同时运行的教室数不受限制。这种模式的平台称为云教室平台;

(3) 同时,整个平台系统I/O性能和单个云教室的I/O性能不受用户增加的影响,其基本和服务器数量保持线性关系;

(4) 云教室承载在云教室平台之上,可以任意关闭、打开和管理;

(5) 云教室平台可以动态扩展所需要的计算和存储能力,以满足性能需求。

1.2云教室平台的实现原理

虚拟云教室平台由1个教室平台和N个云教室组成,其采用目前非常流行的大数据云计算架构Hadoop实现。基于Hadoop架构的云教室平台其主要的系统结构如图1所示。

图1中,云教室平台由一个高可扩展的HDFS分布式系统以及N个服务器(包括本地文件系统以及存储设备)、多个云教室组成。其核心原理如下:

(1) 分布式文件系统HDFS将所有的N个服务器组成1个虚拟资源池;

(2) 每个云教室建立时从整个虚拟资源池中抽取所需要的服务器,组成单独的云教室虚拟池,并形成新的分布式系统(HDFS教室);

(3) 当云教室需要增加更多的服务器时,其从云教室平台的虚拟资源池中提取并加入到自己的云教室,形成新的分布式系统(HDFS教室);

(4) 当云教室不再需要自己的服务器资源时,则将相关的服务器释放到云教室平台的虚拟资源池中;

(5) 当云教室平台无法有效支撑目前各云教室的I/O性能需求时,其可以动态增加服务器,以提高整个云教室平台的整体I/O性能,同时而不影响云教室的正常运行。

因此,就具体实现而言,云教室平台是由一个大的HDFS系统和多个小的动态的HDFS教室(系统)组成,它们之间组成动态的集合关系。具体的云教室读写机制全部由HDFS的Master和ChunkServer机制实现。

1.3云教室的实现原理

云教室核心是一个动态的HDFS系统(或活动教室),其采用分布式文件系统HDFS的多副本技术实现,而具体的数据读写完全按照HDFS的Master和Slave分布式机制。云教室的结构框架如图2所示。

图2 云教室的结构框架

从图2中可以看出,云教室由1个主教室和多个扩展教室组成,而主教室和存储师资录课授课课件信息的主服务器属于1∶1关系,其存储和管理主教室目前播放的教室内容。而1个主教室可以根据人数扩展N个扩展教室,每个扩展教室和1个从服务器连接,从服务器是主服务器的数据副本服务器。

因此,基于分布式文件系统的多副本技术,可以非常容易地实现一个高可扩展性的云教室,同时其I/O性能和服务器比例成线性关系。在实际实现中,可以根据用户数动态的扩扩展教室,从而达到空间无限大的云教室。

1.4云教室平台的系统架构与接口

云教室平台从功能实现角度其就是一个统一的云教室管理器,而在系统架构上其是基于分布式文件系统HDFS的客户端管理软件,具体结构图3所示。

图3 云教室平台系统架构

云教室平台是基于HDFS文件Client端的API接口实现,其通过HDFS客户端和Master、Chunkserver交互,实现云教室服务器的捆绑和释放、云教室多副本数据的读写等。因此,云教室平台通过HDFS API实现和Master、ChunkServer的交互,而且通过API和HDFS客户端屏蔽所有的I/O处理细节问题。

云教室平台是基于HDFS的核心机制实现,通过HDFS的客户端接口完全屏蔽了其内部实现细节,只关心云教室平台的统一管理和云教室管理。

1.5云教室的调度管理机制

云教室平台以及云教室统一通过HDFS客户端API和分布式文件系统Master和Chunkserver服务器进行交互;云教室平台核心作用是管理,真正的读写操作由云教室和Chunkserver直接完成。因此,基于分布式文件系统的I/O特点,主教室和扩展教室在系统I/O性能方面基本没有区别。

云教室在具体实现上由1个主线程以及若干个子线程组成,主线程负责所有客户端的I/O请求即用户的调度管理,而子线程则每个对应一个教室,负责具体的I/O读写操作。

云教室的调度管理机制如下:

{

设置每个教室的固定人数;

设置扩展教室的数量;

For(;;) {

异步等待客户端学员的I/O动作;

IF(新学员加入) {

从所有教室中找到目前人数最少的教室;

将新学员分配到该教室;

修改所有教室的人员情况;

通知相关教室;

}

Else if(有学员退出){

修改教室的人员情况;

通知相关教室;

}

Else if(所有教室满员)

拒绝该客户;

}

}

因为HDFS采用虚拟I/O,主教室和扩展教室在I/O性能上没有区别,每个扩展教室或主教室在每次I/O存储时全部存取最近的数据副本。因此云教室的调度管理算法采用公平调度策略,该算法最大的特点是保证每个教室人数相当,从而能够使I/O负载均衡,也从而使I/O数据读写的性能平衡,达到系统的最佳整体性能。

1.6云教室的读写模型与同步机制

由于采用HDFS分布式读取以及多教室的副本并发机制,则必然存在一个云教室下多个教室的异步速度问题,所以必须实现云教室下的多教室同步机制。

云教室I/O模型如图4所示。图4中每个云教室具有1个主线程和N个子线程组成,每个子线程对应一个教室,而主线程仅仅负责I/O请求,而子线程不仅处理I/O请求,而且需要根据I/O请求和具体的ChunkServer交互。

图4 云教室I/O模型

每个子线程单独和Master、ChunkServer交互,它们属于完全独立的I/O行为,因此必须在云教室中进行同步管理,否则会导致同一云教室下的教室进度异步问题。

具体的读写同步算法如下:

{

设置共享区;

每个子进程异步将数据量写到共享区;

For(;;){

检查每个子进程的数据读写进度;

IF(x进程速度超过5%)

异步通知该进程等待;

IF(等待进程已经满足进度要求)

异步通知该进程继续处理;

Sleep(10);

}

}

云教室的同步机制可以使所有主、副教室并发处理的情况下,所有主、扩展教室保持进度一致,从而实现统一教学管理的目的。

2实际测试

为了验证方案的可行性,通过模拟实际生产环境对该方案进行了测试。实验当中只有服务器数量和云教室数量两个主要变量,所以可以使用控制变量法进行对比测试。

2.1测试环境

为了确保测试结果的准确性,选用34台主流x86服务器作为硬件环境。具体服务器配置如表1所示。

表1 服务器硬件配置

同时,在局域网内进行测试,选用千兆32口企业级交换机,确保足够使用的带宽。为了避免服务器网络子系统影响服务器带宽,采用双网卡交换机绑定的方式提高服务器带宽。

服务器网站架构选用当今主流的免费lamp,既操作系统采用linux,服务器采用Apache,数据库采用mysql,以及php脚本解析器。

2.2测试过程

为了模拟实际情况,采用cinder对所有服务器进行统一安装linux操作系统,并使用主流的云计算平台openstack对所有服务器硬件资源进行虚拟化。其中,openstack的计算控制节点、网络节点等组件的控制节点集中放置在两台物理服务器上,剩余32台服务器作为计算节点。计算节点的每个虚拟机设定为一个内核、2 GB内存,所以总共可以获得128台虚拟服务器。服务器分配情况如表2所示。

表2 虚拟服务器分配表

首先使用Loadrunner并发测试工具对前期服务器集群的I/O性进行分析,当达到I/O阈值上限之后以3台/次的速度逐渐添加虚拟服务器,以后再次进行最大I/O测试,直至添加完所有虚拟服务器。

2.3测试结果

对系统的最大并发数测试结果如图5所示。

图5 最大并发数测试结果

通过图5可以看出:随着服务器数目的增加,系统的最大并发数也逐渐增加,在96台服务器之前服务器数量与I/O性能几乎呈线性关系;当服务器数目大于96台时,出现了拐点,随着服务器数量的增加,并发数增长量放缓。因为所采用的虚拟服务

器的配置完全相同,而且负载均衡服务器资源使用率未达到40%, 所以拐点的出现可能是由于openstack框架性能的影响。

随着云教室数目增加,系统I/O会略有降低,这说明云教室数量会在很小程度上影响系统的I/O性能。

3结语

本文基于云计算技术设计并实现了可扩展云教室的方案。该方案所实现的云教室具有很好的可扩展性,能够根据云教室负载情况对硬件资源进行扩展,以适应用户数量达到峰值时的高并发、高I/O性能的要求,这为创建大规模高伸缩性的云教室提供了基础。

由于条件限制,涉及方案只是虚拟机上进行了测试,这和实际的企业生产环境仍有很大的差距,这些差距可能会使得测试结果有一定的偏差。因此,在更大规模物理机上进行实际测试将是下一步的研究的主要工作。

参考文献

[1] 李艳.基于ASP开发的在线教育系统的分析与设计[D] .青岛:中国海洋大学,2006.

[2] 王雪,王志军,王惟远.网络课程与在线教育游戏有机结合的研究[J].福建电脑,2008(2):182-183.

[3] 马坤.教育数字化和在线化变革开启前景广阔[J].股市动态分析,2014(16):102-108.

[4] 张艳明,宋广佳,孟娟娟,等.基于B/S模式的远程教育在线考试系统设计与实现[J].黑龙江科技信息,2012(2):85-92.

[5] 马小强,孔庆仪.无线移动电子教室的发展及构成分析[J].中国电化教育,2009(1):32-34.

[6] 刘嵩,李文蕙.云计算系统中基于边缘节点和容量的延迟分析[J].计算机应用与软件,2014,31(4):35-39,50.

[7] 吴正学,戴牡红.云计算中基于否定规则的访问控制技术的研究[J].计算机应用与软件,2014,31(1):30-33,72.

[8] 黄哲学,曹付元,李俊杰,等.面向大数据的海云数据系统关键技术研究[J].网络新媒体技术,2012,1(6):20-26.

[9] 黄晓云.基于HDFS的云存储服务系统研究[D].大连:大连海事大学,2010.

[10] 徐文强.基于HDFS的云存储系统研究[D].上海:上海交通大学,2011.

[11] 陈虎.基于HDFS的云存储平台的优化与实现[D].广州:华南理工大学,2012.

[12] 成静静.基于Hadoop的分布式云计算/云存储方案的研究与设计[J].数据通信,2012(5):14-18.

[13] 王彦明,奉国和,薛云.近年来Hadoop国外研究综述[J].计算机系统应用,2013,22(6):1-6.

[14] 黎宏剑,刘恒,黄广文,等.基于Hadoop的海量电信数据云计算平台研究[J].电信科学,2012(8):80-85.

中图分类号TP39

文献标识码A

DOI:10.3969/j.issn.1000-386x.2016.02.020

收稿日期:2014-07-02。霍绍博,高工,主研领域:电信网业务和IT支撑,信息安全技术。耿君毅,高工。单莘,高工。李栓林,工程师。鲁瑞,工程师。王晓颖,工程师。付长冬,博士。

猜你喜欢

服务器教室性能
“313”教室
这里的教室静悄悄
如何缔造完美教室
通信控制服务器(CCS)维护终端的设计与实现
提供将近80 Gbps的带宽性能 DisplayPort 2.0正式发布
长时间待在教室更容易近视
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
Al-Se双元置换的基于LGPS的thio-LISICON的制备与性能表征