前言:想要写出一篇引人入胜的文章?我们特意为您整理了互联网电视智能调度系统探究范文,希望能给你带来灵感和参考,敬请阅读。
0引言
互联网电视业务是基于家庭宽带的一项重要业务,是对家庭宽带质量最为敏感的业务之一。随着家庭宽带带宽升级、提速,对于互联网电视业务的质量提升更应该关注业务平台自身。在日常运维中,互联网电视业务的CDN负荷会因为人员迁徙,节假日、重大活动等发生变化,那么如何快速去均衡已经下沉的CDN负荷,保障用户的业务感知成为了运维的一个难题。
1.1系统总体设计
基于大数据的宽带电视CDN质量智能分析调度系统主要设计为两个模块:采集分析模块、智能调度模块。1.1.1采集分析模块。采集分析模块主要负责数据的采集以及分析,DPDK技术与大数据分析技术是现在数据捕获技术及数据分析领域的重要发展方向,通过二者与OTT的结合是未来OTT视频质量分析技术发展的趋势。本系统的采集分析模块利用上述技术实现OTT用户卡顿精确分析。DPDK(数据平面开发套件)是由6WIND,Intel等多家公司开发,主要基于Linux系统运行,用于快速数据包处理的函数库与驱动集合,可以极大提高数据处理性能和吞吐量,提高数据平面应用程序的工作效率。DPDK的基本构架如图1所示,其中KNI模块将报文从用户态倒灌到内核协议栈处理,IGB_UIO模块将网卡硬件寄存器映射到用户态内存空间,可以使DPDK的驱动运行在用户态,EAL(环境抽象层)能对操作底层资源的抽象与封装,给程序提供统一的访问接口,同时,DPDK提供一系列组件支持,如Timer提供基于HPET的计时器设施等。在利用大数据进行分析研究数据的领域中,处理流式数据主要使用流式计算框架。目前主流的流式计算框架主要有Storm、JStorm、Streaming等。而JStrom因为稳定与时效而被广泛采用,其基于Zookeeper的调度系统,Nimbus作为调度器角色,通过Zookeeper与Supervisior之间的交互,管理任务的提交及调度;Supervisior用以负责Worker的启动与停止;Worker装载Task负责业务计算与逻辑处理。1.1.2智能调度模块。智能调度模块负责生成调度策略,进行CDN节点智能调度。本系统的该模块主要使用基于多链路负载均衡的流量调度算法。该算法是在随机一段时间内,对多条流量链路进行分组分别取样测量,以便得出延迟的阈值和带宽余量。设测量值为d,剩余带宽样本为rd,那么在第N重链路上,第j(j={1,2,...,K})个时刻的时延均值和剩余带宽均值计算公式为:定义第j(j={1,2,...,K})时刻N重链路上的时延和剩余带宽的协方差为:通过协方差与优化目标相比,不停循环计算达到最佳选择。
1.2系统功能概述
(1)分析准确:通过镜像分光CDN用户请求报文,对报文进行质量监测与分析,实时反应出全省、地市、节点、服务器层面的CDN质量情况。(2)业务无感知:收集报文、分析、监测等过程均与CDN平台并行,不会影响CDN服务器性能和业务质量,确保业务感知。(3)调度智能:优化现有以“人工为主”的调度方式向“智能化”调度转变,实现地市内不同节点间均衡、地市间均衡、节点内设备均衡和节目热点智能分布。
1.3系统部署方案
系统采用分布式部署方式,部署的设备包括汇总分析节点、数据采集节点。采集节点部署在CDN节点出口,需要将用户请求流量镜像到采集节点,所有的采集节点需要保证到汇总分析节点的网络连通性。
2智能分析调度系统实现应用
2.1采集分析模块的实现
2.1.1基于DPDK技术的流量采集识别。基于DPDK开发模块完成数据流量的采集识别工作,首先经过内核初始化包括EAL环境抽象层初始化、定时器设施启动、网卡硬件初始化、然后在每个网卡队列上设置环形缓冲区用于存储报文,同时在CPU逻辑核上启动一个线程,并分配的网卡队列用以接收数据包。在收到数据包之后,需要对数据包进行拆包处理,过程如图2所示。对拆封后的数据包解析后获得CMSID:点播/直播、STBID:机顶盒串号、URL:请求播放地址等信息,根据信息内容进入大数据分析系统进行分析处理。2.1.2基于大数据分析技术的实时分析。基于JStorm框架搭建一个Topology,用于实现TF-IDF算法,并支持DRPC远程调用实现所需处理流程,来进行数据分析。首先创建TridentTopology,然后定义一个document流,从消息队列获取文档流,接着定义一个term流,用来对document流中的文档进行分词,然后投影出所需的字段。接着创建StateFactory对象,用于保持与HBased_rt表的持久化存储之间状态,之后创建TridenState对象,用来持久化和保持访问文档数,最后借助DRPC实现实时计算,对外提单词重要度TF-IDF的查询服务。JStorm的运行分为本地模式和分布式模式,本地模式适合调试和开发,分布式模式能保证高性能,Topology将任务交给Nimbus,然后Nimbus将代码分发给各个节点。
2.2智能调度模块的实现
在调度周期的开始,获得每个节点的状态信息,例如节点的服务质量、负载能力和链路状态,而后对所有区域进行遍历。将各个节点的状态进行健康与非健康分类,在非健康状态下的原有节点,流量调度算法会将原有节点中的全部流量调配出去,调配目标为备选节点,在调配到备选节点过程中,调度算法会根据备选节点状态进行是否全部流量调度,如果节点状态良好,则将部分流量分配到良好的节点。否则,报警。
2.3智能分析调度系统的应用
该系统已在陕西移动十地市全面部署,大幅度提升运维工作效率,使得原本手动调度难以均衡的流量实现了智能均衡。以某地市为例,该地市有两个节点,实施智能调度前峰值负载率偏离度9%;均值负载率偏离度7%,实施智能之后,峰值负载率最大偏离度偏离度<3%,均值负载率最大偏离度<1%。3结束语采用大数据分析系统结合DPDK技术,优化现有“以人为主”的调度方式向“智能化调”转变,实时分析各地市CDN服务器质量,结合智能调度系统,实现了地市间、节点间CDN设备负载自动俊航,解决了传统运维方式的弊端。
参考文献
[1]洪一帆.运营商CDN系统视频内容存储调度策略探讨[J].科技与创新,2020(01):145-146.
[2]温晓洁.某省OTTCDN网络评估及优化分析[J/OL].电信科学,2020:1-7.
作者:谢崇斌 赖材栋 张小强 单位:中国移动通信集团陕西有限公司