李 磊, 张 颖, 吕念玲, 严穗东, 张 健, 章晋龙
(1. 华南理工大学 电子与信息学院, 广东 广州 510641; 2. 21 CN有限责任公司,广东 广州 510630; 3. 广东电网发展研究院, 广东 广州 510070)
基于OpenStack弹性网络影视服务平台的构建
李磊1, 张颖2, 吕念玲1, 严穗东2, 张健2, 章晋龙3
(1. 华南理工大学 电子与信息学院, 广东 广州510641; 2. 21CN有限责任公司,广东 广州510630; 3. 广东电网发展研究院, 广东 广州510070)
基于OpenStack开源云计算平台,采用AR模型作为自适应资源构建的模型,构建了一个网络影视服务的云计算平台。该平台能根据预测负载压力弹性地分配计算资源,满足视频点播、在线观看、在线转码等不同的资源需求,实现资源的弹性构建和高效用比。在应用方面,该网络影视服务平台不仅可以成为面向包括在线视频教学、网络影视点播的示范系统,也可作为网络的示范应用系统。
云计算平台; 网络影视平台; 弹性资源构建;OpenStack
在我国,网络影视在互联网的用户数量和使用的频次逐年提高,网络影视应用已经成为当今人们网络文化消费的重要组成部分。据有关统计数据,人的上网时间并不均衡[1],而传统的互联网计算资源投入无法按照互联网用户的行为和需求进行弹性的资源伸缩,造成了资源和能源的巨大浪费,难以实现高效用比。提高网络影视服务资源的效用比,使网络影视的计算资源适配人群的访问压力并得到有效的使用,已成为网络影视服务技术研究的关键问题。
同样,在云计算[2]领域,资源调度和效用比的研究也是当前云计算技术和学术研究的热点之一,包括了用户的资源利用率、资源调度的过程、服务的响应时间和服务队列长度等问题[2-6],其目的在于降低云计算平台运行的无效损耗,提高资源效用比,使得用户的按需使用可以进一步得到精确的体现,达到“绿色云”[7]的要求。
本文结合云计算的特点和优势,以目前开源架构中发展最迅速的架构——OpenStack为基础,构建面向网络影视的云计算平台。该平台具备按需使用的弹性资源调度,实现高质量的网络影视服务,提供包括MOOC在线视频教学、网络影视点播等服务。
OpenStack是由Rackspace和NASA共同发起的云计算平台解决方案,至今已发布了13个版本[8]。OpenStack采用模块化设计,包括7个核心子工程:
(1)Nova——提供虚拟主机的调度、创建和删除、简单网络资源管理功能;
(2)Cinder——提供网络的块存储设备;
(3)Glance——提供创建虚拟主机所需的镜像注册、存储和删除功能;
(4)Swift——提供对象方式的分布式存储功能;
(5)Neutron——提供用户自定义网路的功能,包括用户网络拓扑的定义和网络资源的隔离;
(6)Keystone——服务权限的验证、用户信息注册、修改、删除和相关服务权限管理功能;
(7)Horizon——基于Djiango架构的Web服务,提供面向终端用户的网页操作管理功能。
OpenStack的工程架构如图1所示。
图1 OpenStack工程架构
Nova子工程是OpenStack平台虚拟机资源管理的主要工程,该工程的组建可以划分为两种不同的服务进程:
(1) 接受和处理用户的API请求的WSGI应用,如Nova-Api;
(2) 执行具体任务的Worker守护进程,如Nova-Compute、Nova-Scheduler等。
其中各个服务进程的具体作用包括:
Nova-API:用于接受和响应用户的API请求,初始化大部分业务流程行动(例如运行一个虚拟机实例)以及执行一些流行星系的检查(主要是用户需求的虚拟机配额检查等);
Nova-Scheduler:为OpenStack云平台创建虚拟机时提供资源调度策略,并选择最合适的计算节点,其中策略主要包括简单的随机调度策略、虚拟机优先集中部署的调度策略、基于计算节点已使用CPU、内存、磁盘等信息的筛选调度策略等;
Nova-Compute:通过虚拟化工具的API管理虚拟机的生命周期;
Queue:负责Nova工程各个组件之间的消息传递。
由于网络的用户访问压力是时间序列信息,故采用AR模型作为自适应资源构建模型。AR模型是一种线性预测,即已知N个数据,可由模型推出第N点后面的数据,类似于插值,目的都是为了增加有效数据[9]。式(1)为AR线性模型的数学表述。
(1)
在实际应用过程中,本文采用AR模型的Yule-Walker方程对N(tm+1)进行估计,基本数学表达式为
(2)
其中,
对式(2)建立Yule-Walker方程
(3)
其中r(s)=E[N(tn)N(tt-s)]。通过对a(n)参数的求解,将其代入式(1)可对下一个时刻的互联网的用户访问压力进行预测。
本文为了验证AR模型的有效性,以Matlab为平台,采用Poisson(电信接入的分布模型)分布的随机数据序列作为原始数据输入进行仿真,其中序列长度为m=5。仿真结果显示,在每个时刻其预测结果相对于原始的输入数据数值偏低。为了进行修正,引入了加权修正因子b。修正后的AR线性预测模型数学表达为
式中,b=1.4。
图2为修正前后的仿真结果对比。从图2可以看出,改进后的AR效果在峰值和提前量上有所改进,可以较好地对网络的访问压力进行预测。
图2 修正后的AR线性预测模型仿真效果对比
在实际使用过程中,根据监控数据获取的难易程度,以虚拟机集群CPU的负载作为网络访问压力的指标,结合OpenStack资源调度的特点对资源调度服务Nova-scheduler进行了重新设计,调度策略如图3所示。
图3 基于OpenStack的弹性自适应资源调度策略
为了保证每个虚拟机运行的稳定性,本文规定负载上限为70%,下限为30%,保证系统运行的稳定性。
在整体平台的设计上,本文的主要目的是研发一个以分发系统、转码为基础的多业务化的网络影视服务平台,提供包括视讯点播、多终端适配、高清视频服务等在内的网络影视服务平台,该平台整体结构如图4所示。
OpenStack云计算平台提供云转码的计算资源,提供包括视频编码、直播和播控管理等,主要表现为:
(1) 云转码平台不仅提供对多种终端类型的支持,而且面对不同终端接入实时转码请求时,支持接入终端的型号、浏览器、操作系统、屏幕尺寸和分辨率进行智能匹配;
(2) 支持针对接入终端的播放能力(如媒体格式、编码和比特率等)的智能匹配。
其中智能终端适配网络影视服务的具体步骤如下:
(1) 某一个终端对Web服务发起访问请求;
(2)Web服务的Header头信息提取及处理模板,获取并分析Header头的信息,遍历各个字段比对已知的Header库,并交由处理模块处理,未匹配的信息写入未知的Header头信息库;
(3) 对Header头信息里的UserAgent交由操作系统模块处理:信息与操作系统库的数据进行正则匹配并找到该设备的操作系统,没有匹配则写入未知设备库;
图4 基于OpenStack弹性资源池的网络影视服务系统结构图
(4) 步骤(2)中Header头信息里面的UserAgent交由浏览器系统模块处理:信息与浏览器库的数据进行正则匹配,没有匹配成功则写入未知设备库;
(5) 步骤(2)中Header头信息里面的x-wap-profile交由设备处理模块处理,该步骤主要是获取该终端的设备型号、厂家名称、屏幕宽高等信息并写入设备库。
整体而言,云转码平台采用点播转码、直播转码、点播实时转码,按照网络影视用户对不同内容需求进行不同的转码、流化和封装,并利用RTSP、HTTP和AppleHLS等协议进行数据推送,从而为PC、手机以
及嵌入式机顶盒等多种终端提供数据(见图5)。云转码的主要目的是将视频文件从一种格式转换为另一种格式,通常是将传统视频编码标准(MPEG-2、H.263)的视频流转换为视频编码标准(H.264或VC1)的视频流,可以在不损失视频质量的前提下节省高达50%的网络带宽。目前常见网络影视服务采用离线转码的实现方式,对于上传的每个视频内容都需要在统一内容管理系统中进行转换,生成MPEG-4、H.264两种编码格式以及标清、互联网、移动清晰、移动流畅4种类型的码流。
图5 云转码子系统平台处理流程图
本系统选择的H.264因压缩比高、占用带宽小,逐步成为高清视频的主流格式。为了优化高清视频图像的存储及网络传输,本文所构建的基于OpenStack弹性网络影视服务平台的主要目的就是将各类的视频格式转换为H.264格式在网上进行传播。
本系统的云转码平台包括任务调度和资源调度两部分。任务调度算法需要建立任务池,根据任务的优先级别从任务池内调度转码任务,并且实时监控正在调度任务的运行信息。在任务被调度执行时,任务需要向资源管理申请资源,资源调度主要是依据本文提出的改进AR模型对现有的资源进行调整并实现任务的均衡。在资源分配的同时,还全面收集和分析各种负载的状态信息,以便于后续资源的合理分配。最终完成的转码数据会被放到数据推送池,等待用户的接入,并完成最终视频数据的推送(见图6)。
图6 云转码子系统资源调度的结构图
在实际使用中,云转码平台需要支持通用的输入与输出格式和视频格式。输入可以采用RTSP/RTP、HTTP、AV等输入格式,输出支持手机终端的苹果HTTPLivestreaming规范、RTSP/RTP等协议,视频格式包含了目前主流的视频格式,如MPEG-1,MPEG-2,MPEG-4、WMV7、WMV8、WMV9、H.261、H.263、H.264等,音频支持MP3、AAC、WMA、AC3等。云转码平台不仅要实现视频格式的兼容,也需要根据网络带宽情况设计不同码率的视频流输入,具备对视频流的码率进行自适应的码率转码。
码率自适应流程是:输入视频码流通过变长解码(VLD)和反量化(Q-1)后,实现视频的部分解码,然后根据网络带宽采用不同的量化步长的量化器对码流进行量化(Q)。量化的数据为了去除帧间相关,还进行反DCT变化(IDCT)、帧间运动补偿(MC)和帧间存储(FrameStore)。由于采用不同的量化步长和利用运动补偿机制,可以重新调整码率,并利用变长编码(VLC)输出符合视频流格式的视频码率。此转码方式的最大特点是在保留原有格式的基础上,能自适应根据网络带宽状况调整不同码率的视频流输出。
本文所构建的基于OpenStack弹性网络影视服务平台位于骨干网上,使用的流程主要包括:(1)登录网络影视播控管理系统;(2)创建自己的影视内容;(3)管理自己的影视内容,即上传、删除影视内容,设置影视内容浏览的范围等;(4)预览影视内容;(5)由管理员管理影视的内容;(6)用户可依据自己的客户端观看视频。
构建基于OpenStack弹性网络影视云计算平台的主要目的是实现按需使用云平台的资源,提高资源使用的效用比,并能快速实现按需服务和扩展,避免资源的累加投入带来的资源浪费。本文从成本和扩展性两方面进行对比。
(1) 成本对比。平台采用10台物理服务器,每台物理服务器运行5个虚拟机实例,以每个实例的使用概率为70%计算资源节省效用比。
资源节省效用比=
(5)
即所构建系统的计算资源效用比提高了3.5倍。
(2) 扩展性比对。当需要扩展新的虚拟机资源时,自适应弹性网络影视服务平台可以在短时间内(≤10min)启动已经部署好服务的虚拟机镜像实例,实现资源池的快速扩展,实际运行效果如如图7所示。
图7 弹性资源池与转码需求的匹配效果
当云计算平台计算能力无法满足虚拟机数量与配置时,可以通过动态的方式将新的物理服务器接入平台,无需对原有的资源做任何调整。扩展一个新的物理主机可以支撑5个以上的虚拟云主机运行,效用比优势明显。
基于OpenStack云计算平台构建网络影视服务云平台,旨在为网络用户提供弹性网络视频服务,满足不同用户、不同环境对影视服务的要求,提高云计算平台资源效用比。该平台构建和部署了具有弹性资源系统的网络影视服务云计算平台;通过对原有资源使用方式的对比,体现了云计算平台资源高效用比、按需使用、快速扩展等优点,为我国快速发展的网络影视服务商提供一个高效的资源管理和服务供给模式。
References)
[1] 尉迟学彪,李晓东,阎保平,等.DNS服务中的Internet访问行为测量研究[J].计算机工程与应用,2009,45(34):85-88,106.
[2]MellP,GranceT.TheNISTdefinitionofcloudcomputing(draft)[J].NISTspecialpublication,2011,800(145):7.
[3]ChiangYi-Ju,OuyangYen-Chieh,HsuChing-Hsien.Anefficientgreencontrolalgorithmincloudcomputingforcostoptimization[J].IEEETransactionsonCloudComputing,2014,3(2):1.
[4]SunY,XiaoZ,BaoD,etal.AnArchitectureModelofManagementandMonitoringonCloudServicesResources[C]//3rdInternationalconferenceonadvancedcomputertheoryandengineering(ICACTE).2010:51-60.
[5]WangGuohui,NgTSE.TheimpactofvirtualizationonnetworkperformanceofamazonEC2datacenter[C]//ConferenceonInformationCommunications.2010:1163-1171.
[6]WangKou-Hsiung,HuangHuimei.OptimalcontrolofanM/Ek/1queueingsystemwitharemovableservicestation[J].JOperResSoc,1995,46(8):1014-1022.
[7]ChiangYJ,OuyangYC,HsuCH.AnOptimalCost-EfficientResourceProvisioningforMulti-serversCloudComputing[C]//2013InternationalConferenceonCloudComputingandBigData.Fuzhou, 2013:225-231.
[8]OpenStack[EB/OL].[2015-11-25].http://baike.baidu.com/view/4924215.htm.
[9]ARMA-Modell[EB/OL].[2015-11-25].https://de.wikipedia.org/wiki/ARMA-Modell.
ConstructinganelasticnetworkingvideocloudcomputingplatformbasedonOpenStack
LiLei1,ZhangYing2,LüNianling1,YanSuidong2,ZhangJian2,ZhangJinlong3
(1.SchoolofElectronicandInformationEngineering,SouthChinaUniversityofTechnology,Guangzhou510641,China; 2. 21CNCompanyLtd.,Guangzhou510630,China;3.GuangdongPowerGridDevelopmentResearchInstitute,Guangzhou510070,China)
Withtherapiddevelopmentofcloudcomputing,cloudcomputingcanprovidehighutilityratioandresourcefacingusers’need.ThenetworkingvideoserviceisbecomingoneofthehotutilitiesofInternetandhasmoreandmoreusers,sotheresourceallocationandmaintenancearebecomingmorecomplex.Cloudcomputing,whichprovideshighsecurity,highelasticresourceallocationandlowerhardwarerequirements,cansatisfyquicklytheresourceconstructionforeveryfield.BasedonOpenStackopensourcecommunity,anelasticandhighutilityrationetworkingvideocloudcomputingplatformwasconstructed,whichcanallocateelasticresourcesflexiblyforloadpredication,meetingdifferentneedsfromvideoondemand,videowatchingonlineandvideotranscodeonline.Meanwhile,it’saplatformnotonlyforonlineeducationvideoandonlinevideoservice,butalsoforopennetworkingvideoservice,Internetapplications,etc.
cloudcomputingplatform;networkingvideoserviceplatform;constructionofflexibleresources;OpenStack
DOI:10.16791/j.cnki.sjg.2016.05.040
2015- 11- 20修改日期:2015- 12- 04
国家科技支撑计划项目(2013BAH65F01-2013BAH65F04);广东省战略新兴产业核心攻关项目(2012A010701001)
李磊(1983—),男,云南昆明,硕士,工程师,研究方向为云计算、通信工程和并行化计算.
E-mail:eelilei@scut.edu.cn
TP393.09
A
1002-4956(2016)5- 0155- 05