论文部分内容阅读
随着国家大力推进互联网、广播电视网、移动网的三网融合,有越来越多的视频数据需要畅游于三网之间。然而,三网间网络带宽、播放设备以及播放软件各不相同,因此需要对视频进行转码。但三网间有着规模高达百亿级的视频文件,其转码任务的存储量达到100PB级,转码任务的计算量也达到P级,如此大的存储量和计算量,无法依靠单台计算机来实现。本文提出了一种通过计算机集群系统的解决方案。首先研究了集群的体系结构,集群的特点,集群的分类和几种常用的集群调度算法,并针对视频转码的特殊背景,选择LVS(Linux virtual Server)作为集群的解决方案,通过剖析LVS的内部机制、调度算法的比较和算法的分析,提出了一种针对视频转码的改进型动态负载均衡算法:ADLBA算法(Advanced Dynamic Load Balance Algorithm)。ADLBA算法分为调度器端和节点端两个部分。调度器会定期收集各个计算节点实时的CPU信息和内存信息,获得每个计算节点的真实负载。同时,根据视频格式间相互转换时所需的资源需求,制定转码系数表,确定视频任务对资源的预期需求。最后调度器根据节点真实负载和任务的预期资源需求计算得出一个综合负载需求,选择综合负载最小的计算节点来调度。在节点端,算法通过优先级反馈队列的设置,来进行任务排队队列的管理,并选择优先级最高的任务到CPU上执行。最后,本文完整实现了ADLBA算法,并搭建了集群系统环境,通过与WLC算法在任务运行时间、平均等待时间和平均CPU利用率等方面的比较,验证了ADLBA算法的有效性。