基于云部署的在线直播教育系统设计
2017-06-05张丁
张丁
摘 要 随着互联网行业的快速发展,在线教育行业开始蓬勃发展。目前的在线教育平台缺少传统的面授式培训教学模式中的学习研究气氛、一对一交流和学员之间共同进步的机会。所以,在一般的在线教育平台中加入实时互动元素必是大势所需。本文通过使用 VMware vSphere对在线直播教育系统进行云部署,以此提高数据计算和推流效率来实现高效、稳定的互动传输效果。
【关键词】云部署 在线直播 教育系统
近年来,互联网与智能手机迅速普及,4G技术飞速发展,网络环境得到空前改善,反观传统线下教育模式,深受传统因素掣肘的同时还面临着人工成本飞涨等挑战;同时,受教育者个性化需求也导致教学模式逐步向小班及精英课程转型,互联网在线教育呈现蓬勃发展态势。国外各大互联网教育平台或推出产品或获得融资,国内在线教育亦是百花齐放。可纵观现下各系统,均以资源提前录入后学生依据需求回放作为主要教学形式,教学性有余而互动性不足,且产品同质化严重。如何创新出流畅度高、时延性低、互动性强、更适宜当前网络环境及客户需求的在线教育系统成为当下研究的热点问题。
一般的在线教育系统却缺少传统的面授式培训教学模式中的学习研究气氛、现场教学、一对一交流和学员之间共同进步的机会。所以,在一般的在线教育系统中加入实时互动元素必是大势所需。促进学员之间以及学员与教师之间的交流,学员之间可以相互取长补短,交流学习心得,学员对知识点的掌握印象更加深刻并增加了学员的学习兴趣,学员之间共同进步。而教师与学员之间的互动交流,使得教师能清楚的了解到学员的学习进展以及教学侧重的重难点,使教学达到事半功倍的效果。
1 在线直播技术
在线直播的主要技术核心是流媒体推送,而RTMP协议在这方面使用最为广泛且高效。在国内,主流的直播网站,如斗鱼、映客、YY秀、虎牙等都在使用RTMP协议。RTMP在视频直播推流上虽然有天然的优势,但是国内网络带宽较之发达国家仍然处于落后阶段,所以必须借助云服务器来提高计算和处理能力,从而在一定程度上减少数据流传输时间。近几年国内使用较多的云部署技术是iVirtual和vSphere,iVirtual是vcenter的进化版,但是由于底层更新节奏缓慢,已经无法适应现今的大数据环境,被逐渐淘汰。而vSphere开放了WebService接口,面向广大开发人员,集思广益,在这种氛围下,它的发展越来越成熟,优点主要体现在引入了虚拟化层,而且卸载率越来越高,目前国内主流的服务器租借公司如云海、浪潮等都在使用vSphere部署云服务。而在国外,vSphere的使用也已經到了如火如荼的地步,oracle首先启用了linux虚拟机迁移,将系统转移到vSphere上,其他的IT公司如Microsoft、IBM、Apple等也在vSphere技术上有创新和改进。
通过云部署的方式,将服务器移植到云中,利用云库中集成一体化的数据管理功能来实时处理视频流,既能节省计算时间,又能减少租用服务器的成本。如果使用基于vSphere的技术将系统部署在阿里云上,vSphere的优势在于它可以直接安装在物理服务器上,运行后形成虚拟层为终端云服务器提供访问通道,其次它在数据安全管理、高可用性上也提供了可靠的保障。部署时使用的组件为Vmware ESX/ESXi Serve,这套组件对于vSphere的技术支持完善,同时能将IT资源组织集群,提高利用率。
2 云部署研究
使用云部署可以将系统部署在云端,利用云库的计算和存储能力缩短处理时间,这对于解决在线直播平台的多人同时在线引起的并发和缩短数据推流时间具有重要意义。vSphere已拥有成熟的核心技术。使用它来进行云部署,有利于ESXi集群,并在集群中配置和启用功能,功能生效后可以在ESXi中进行调度和协调,因此在构建虚拟化系统平台和简化维护人员工作量上有着非常明显的优势。
更快地交付更多的服务,并提供更大的灵活性,这是vSphere的宗旨。目前国内主流的基于vSphere的部署技术有VMware,VMWare Server能够对提供一些基本的对于云平台中主机、虚拟机和存储使用情况的统计。同大多数云部署方式不同,vSphere的部署方式并不繁琐,甚至已经被简化为oneLine,只需要做好系统备份和迁移即可,如果中途出现故障,也会打印详细的日志,如图1所示。
为保证系统正常运行,需要为云服务器配备一台备份服务器,性能与数据库服务器相近。在正常工作状况下,承担数据库备份工作;在云服务器中的数据出现丢失或者损坏时可以担负期数据库恢复的功能,保证系统顺利运行。存储空间使用NAS在线存储,同时配置自动带库,实现离线存储。
系统迁移的过程即系统虚拟化的过程,考虑到系统存储的大小问题,在前期我们进行虚拟机容量规划和运行内存评估。通常情况下,可以按照图2来计算所需。
在估算虚拟化的容量时,在只考虑CPU的情况下,可以将物理CPU与虚拟CPU按照1:4~1:10甚至更高的比例规划,例如一台物理的主机具有4个8核心的CPU,在内存、存储足够的情况下,按照1:5的比例,则可以虚拟出4×8×5=160个vcpu,假设每个虚拟机需要2个vcpu,则可以创建80个虚拟机。在系统中,大多数虚拟机对CPU的要求并不是非常的高,即使为虚拟机分配了4个或更多的CPU,但实际上该虚拟机的CPU使用率只有10%以下,这时候所消耗的物理主机CPU资源不足0.5个。
其次,系统对内存占用是最大、要求最高的,在实际使用中发现,物理主机的内存会接近80%甚至90%,因为在同一物理主机上,规划的虚拟机数量较多,而且每个虚拟机分配的内存又较大(总是超过该虚拟机实际使用的内存),所以会导致主机可用内存减少。因此,每个虚拟机需要的内存在1GB~4GB甚至更多,还要为VMware ESXi预留一部分内存。所以至少需要配置4个8核心CPU的主机, 96GB甚至更高的内存,或者配置2个6核心CPU的主机, 32~64GB内存。
在构建虚拟化系统平台并验证其可用性之后,就可以进行物理到虚拟的迁移操作,及P2V操作,这样在线实时视频平台和所有从属于其中的数据都能通过虚拟化的方式移植到云库当中。数据迁移的过程类似存储空间的迁移,即从物理服务器本地硬盘和存储阵列迁移到云库中的存儲阵列间,同时保证运行层不变,原理如图3所示。
3 在线直播教育系统平台设计
视频直播网站最大的问题就是网络带宽的问题,以同时在线用户量大约为5000为例,就意味着带宽接近1G。而国内的网络运营商较多,部分用户在电信,部分用户网通,还有移动和联通。考虑到各种用户网络环境,需要做跨运营商处理,这样问题很多,网速也比较慢。一般这样只有两种解决方案,一种是购买多线机房,另外一种就是使用比较稳定的云服务器。考虑到成本问题,我们决定使用阿里云的CDN服务,将内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。解决因分布、带宽、服务器性能带来的访问延迟问题,解决跨运营商、跨地域全网覆盖的音视频分发的问题。
系统中涉及到的资源文件的存储管理,如导师讲义,录制视频,以及实时互动时用户发送的图片、音频等。考虑到上传下载流量在网络带宽的影响,使用oss对象存储服务来保证用户的在线预览速度的同时,也能减少服务端的网络带宽压力。
系统中即时消息模块使用云数据库Redis作为临时数据存储,以消息队列的形式存在,作为内嵌的List存在,可有效应对流量突起,满足实时的高并发高性能需求。如图4所示。
系统服务端、PC版和后台管理系统则使用.NET+MYSQL技术进行开发,采用流行的B/S架构,并提供友好合理的用户交互界面。
Android使用JAVA语言进行开发,IOS使用Object-C语言进行开发。服务端通过WEBAPI给所有客户端(PC端、IOS端、Android端)提供接口,保证系统业务逻辑处理的统一性。
视频流的处理使用开源的nginx-rtmp-module来搭建RTMP流媒体服务器,可以高性能的并发大量连接。
4 结论
在线直播教育系统在使用VMware/EXSi组件封装的vSphere底层核心部署到云端进行运作后。充分利用云计算和处理能力,缩短数据流转时间,提高直播流畅性,减少人工维护成本。对用户观看直播的时延性、流畅性上起到了明显的优化效果。
参考文献
[1]杨现民,田雪松.互联网+教育:中国基础教育大数据[M].电子工业出版社,2016-08-01.
[2]郑勤华.互联网+教育:中国MOOCs建设与发展[M].电子工业出版社,2016-08-01.
[3]Michael J. Kavis(迈克尔·J·凯维斯).让云落地:云计算服务模式(SaaS、PaaS和IaaS)设计决策[M].电子工业出版社,2016-03-01.
[4]Tom White.Hadoop权威指南(第3版 修订版)[Hadoop: The Definitive Guide,3rd Edition][M].清华大学出版社,2015-01-01.
[5]李亚,武洁,黄积武,黄硕.直播:平台商业化风口 社交网络的盈利故事[M].机械工业出版社,2016-09-01.
[6]黄海林.视频革命 重新定义电商[M].电子工业出版社,2016-07-01.
[7]梁森山.3D教育蓝皮书[M].人民邮电出版社,2016-12-01.
[8]曹雨.虚拟实境狂潮:从购物、教育到医疗,VR/AR商机即将未來的十大产业![M].商周出版社,2016-10-08.
[9]胡卫夕,胡腾飞.VR革命:虚拟现实将如何改变我们的生活[M].机械工业出版社,2016-11-01.
[10]虚拟化与云计算小组.云计算宝典――技术与实践[M].电子工业出版社,2011-09-01.
作者单位
湖北工业大学 湖北省武汉市 430068