基于Linux的流媒体服务器性能的研究与分析

基于Linux的流媒体服务器性能的研究与分析

论文摘要

流媒体(Streaming Media)是一种以音视频数据流的方式在网络上传递多媒体信息的技术。与传统的多媒体下载不同,流媒体传输具有实时性和连续性的特点。流媒体技术具有十分广泛的应用领域,如在线直播、网络广告、视频点播、视讯会议、远程教育等。流媒体系统中的流媒体服务器用于存放和控制流媒体数据,对于当前大多数流媒体系统而言,高速发展的TCP/IP网络已不再成为限制性能的主要因素。然而,随着流媒体技术的飞速发展,以及世界广播电视数字化的来临,流媒体服务器的性能日益成为制约流媒体应用的重要因素。本文首先研究分析了流媒体应用的关键技术,对流媒体的基本原理、传输技术和流媒体传输协议进行了详细介绍。然后分析了目前几个主流的流媒体服务器和影响流媒体服务器性能的关键因素,紧接着研究和分析了Linux操作系统内核机制,介绍了Linux内核的模块机制和内核处理系统调用的过程,并且介绍了在Linux内核中添加系统调用和内核模块的方法。最后重点介绍了基于Linux平台的流媒体服务器的设计和关键模块功能的实现过程,该流媒体服务器采用模块化的的思想进行设计,系统各个模块运行在一个基于异步事件驱动的系统运行框架之上。流媒体服务器软件是以应用软件方式运行在Linux平台下,在执行时,CPU运行在用户态。流媒体服务器的设备I/O通过系统功能调用,从用户态陷入核心态,方能完成。CPU从用户态陷入核心态,再从核心态返回用户态的净开销,相当于CPU执行1000条简单的普通指令。本文所做的工作为实际项目的一个分支,项目的最后目标就是利用Linux操作系统内核的特点,实现流媒体服务器的频繁进行I/O操作的功能模块降到Linux内核中,利用这种方法实现对流媒体服务器的性能改进。本论文受四川省科技厅攻关基金资助,本文对提高流媒体服务器性能的方法做了初步的探索和研究,在今后的项目实施中可以作为参考。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 引言
  • 1.1 研究背景
  • 1.2 流媒体发展现状
  • 1.2.1 国际流媒体产品技术发展状况
  • 1.2.2 国内流媒体产品技术发展状况
  • 1.3 本文主要工作
  • 1.4 论文结构
  • 第二章 流媒体技术介绍
  • 2.1 流媒体系统
  • 2.1.1 基本原理
  • 2.1.2 流媒体系统的组成
  • 2.2 流媒体技术基础
  • 2.2.1 流式传输技术
  • 2.2.1.1 顺序流式(Progressive Streaming)传输
  • 2.2.1.2 实时流式(Real-time Streaming)传输
  • 2.2.2 流媒体传输协议
  • 2.2.2.1 实时传输协议
  • 2.2.2.2 实时传输控制协议
  • 2.2.2.3 实时流协议
  • 2.2.2.4 资源预留协议
  • 2.2.2.5 会话描述协议
  • 2.3 流媒体服务器的分类
  • 2.4 影响流媒体服务器性能因素
  • 2.4.1 硬盘分析
  • 2.4.2 CPU 分析
  • 2.4.3 网卡分析
  • 2.4.4 内部总线、内存、外部总线
  • 2.5 小结
  • 第三章 Linux 操作系统内核
  • 3.1 Linux 内核介绍
  • 3.1.1 Linux 内核组成
  • 3.1.2 Linux 内核工作状态
  • 3.2 Linux 系统调用
  • 3.2.1 系统调用与应用编程接口(API)区别
  • 3.2.2 系统调用过程
  • 3.2.3 系统调用内核实现
  • 3.2.4 Linux 内核中添加系统调用
  • 3.2.4.1 添加系统调用方法
  • 3.2.4.2 使用新添加的系统调用
  • 3.3 Linux 内核模块
  • 3.3.1 构建 Linux 内核模块
  • 3.3.2 加载和移出 Linux 内核模块
  • 3.4 内核态进程与用户态进程通信的研究
  • 3.5 内核调试工具的研究
  • 3.6 小结
  • 第四章 流媒体服务器的研究与设计
  • 4.1 流媒体服务器需求和目标
  • 4.2 系统总体结构
  • 4.3 主要功能模块的设计与实现
  • 4.3.1 网络处理模块
  • 4.3.1.1 异步事件驱动系统
  • 4.3.1.2 事件处理线程
  • 4.3.1.3 任务线程(Task Thread)
  • 4.3.2 系统模块管理器
  • 4.3.2.1 模块机制的设计
  • 4.3.2.2 调用模块
  • 4.3.3 RTSP 协议处理模块
  • 4.3.3.1 RTSP 协议的分析
  • 4.3.3.2 RTSP 协议控制命令
  • 4.3.4 RTP 协议的支持
  • 4.4 小结
  • 第五章 结论
  • 5.1 全文总结
  • 5.2 进一步工作
  • 致谢
  • 参考文献
  • 攻读硕士学位期间的研究成果
  • 相关论文文献

    标签:;  ;  ;  

    基于Linux的流媒体服务器性能的研究与分析
    下载Doc文档

    猜你喜欢