论文部分内容阅读
在视频应用普及的今天,电信网,电视网,互联网的整合催生的视频格式转换需求,以及视频应用本身存在的多格式,多平台,多编码标准,高清化,海量化的趋势越来越明显,使得现有的视频处理能力捉襟见肘。层出不穷的云计算技术的出现使得海量视频的处理不再困难,很多基于云的转码系统不断问世,但其中痼疾难除的问题在于视频任务的调度的效果并不能达到用户期待的效果,用户往往无法在可以容忍的时间内拿到转码完成的处理结果,实时转码方案呼之欲出。本文对业界出现的优秀的云解决方案openstack和hadoop进行了深入的介绍,结合它们本身平台和云转码业务的特点进行有针对性的介绍,在介绍云的成熟的分层结构之后,使用openstack构建系统的基础资源即IaaS层,处理计算和存储业务,使用hadoop完成应用平台层的设计,处理分布式转码业务,并使用成熟的消息队列RabbitMQ搭建进程间通信的共享消息平台。本文对于系统的设计和实现的介绍是基于系统的逻辑层次:控制层,业务逻辑层,资源层,以及四个部分:用户管理,镜像管理,集群监控,任务管理,还有独立的功能模块:计算处理模块,视频处理模块,消息模块。本文提出的使用openstack云工具搭建的可伸缩的云基础设施管理平台,使用hadoop构架的实时云转码系统,hadoop配置实时调度策略,使用RabbitMQ消息队列进行通信,能够承接多用户和海量视频的实时视频云转码系统,使用openstack的计算组件nova对资源池进行虚拟机节点的动态创建和销毁,保证系统在资源层高效和稳定,使用多级的容错处理和消息队列机制保证业务系统处理流程的正确性,让转码系统稳定运行。最终,在实验环境下搭建了openstack系统并在其上构建了hadoop集群,对云系统的资源动态伸缩能力和hadoop调度的实时性进行了一系列的测试,证实了系统的正确性和高效性。