论文部分内容阅读
近几年随着网络技术和高清影音技术的不断进步,通信网络也在不断的进化,各种视频分享平台也越来越完善,在线视频技术取得了飞速的发展。相应的在线视频点播平台的视频量也变得越来越多,而不同的点播平台对于视频的格式要求往往是不同的,这就导致了包括分辨率、帧数和编码规范等在内的一些参数的变化,所以对海量视频进行转码变得越来越困难。传统的转码软件往往只能对特定的一些格式进行转码,这种方式无法处理数据量大、数目众多的转码任务,而且不能个性化输出视频,视频的转码效率也较为低下。当面对海量的转码需求时,传统的数据转码系统显然无法及时的进行转码,这就需要对现有的系统进行升级改造,以适应当前的需求。首先本文基于分布式平台设计并实现了一套新的分布式转码系统来代替现有的集中式转码系统。本文针对任务调度平衡问题和可能存在的数据堵塞问题,提出了设计了一种基于Gearman的负载均衡策略,通过管理站来进行任务调度,将任务分配给不同的工作站进行具体的处理。系统管理站包含一个PreTreater预处理模块和JobTracker任务调度模块,其中PreTreater模块是通过配置pipeline的方式来对资源进行合理分配,从而根据每个pipeline获取的资源个数来对任务进行预处理,而JobTracker模块则是在接收到任务信息后,对队列长度和服务器性能做均衡调配,将其拆分然后分发给各个工作站。然后本文在分析了分布式文件存储系统的设计思想和分布式计算的原理,以及视频编解码的相关知识后,解决了如何在分布式平台上实现视频编解码操作和数据存储等问题。根据转码工作的原理,本文设计了统一规范的通信接口。同时本文还构建了基于数据传输失败和运行错误的容错机制,通过心跳检测的方式,查询作业号Job__Id,来对工作站中可能存在的通信错误和传输错误分别做出不同的处理,大大的提高了系统的稳定性和容错率。最后本文针对分布式视频转码系统做了一些简单的测试分析,测试数据表明,在分布式视频转码平台上搭建的转码系统取得了不错的效果。在处理小批量视频时,本系统的性能优势已经很明显,当处理大批量视频时,本系统的性能对比其他系统,大大的减少了视频转码所需的时间;同时本系统具有很高的可靠性和稳定性,通过把工作负载分散到众多的机器上,极大的提高了转码的效率;而容错机制的存在,大大的降低了错误率,在提高转码效率的同时为用户提供了可靠的技术保障。