流媒体服务器软件的设计与实现

流媒体服务器软件的设计与实现

论文摘要

流媒体技术随着当下视频分享与社交网络的流行而迅速发展,对于流媒体技术而言,流媒体服务器软件是其中最重要的部分之一。流媒体服务器软件管理着底层的硬件资源,同时控制着网络协议的传输,它的性能,对流媒体服务的质量而言至关重要。随着流媒体技术的发展,流媒体服务器软件由早期的简单音视频服务提供者转变为了现在的实时互动服务提供者。按照流媒体服务器软件的功能需求,可以将它分成内核层与外壳层两个层次,内核层则注重控制服务器硬件资源与网络资源,而外壳层主要为网络用户提供服务,控制网络协议的传输。进一步细分,内核层可以分成网络通信、内存管理、线程管理、文件管理、数据库管理五个模块。网络通信模块管理底层的网络I/O;内存管理模块主要负责内存池的创建与管理;线程管理模块实现了两级线程池,将所有耗时操作集中到一个线程池来进行处理;文件管理模块则负责媒体文件信息的维护以及文件的磁盘I/O控制;数据库管理模块负责数据库的连接管理与查询管理。外壳层可以分成启动模块、进程守护模块、负载均衡模块和外挂协议模块。启动模块负责启动内容服务程序并初始化相关数据;进程守护模块用于守护内容服务程序的进程并定时向负载均衡服务器通报内容服务器状态信息;负载均衡模块用于管理内容服务器集群并平衡分摊服务器负载;外挂协议模块用于流媒体协议的解析与封装。流媒体服务器软件实现的关键技术主要在完成端口网络通信、内存池与事件队列模型的实现以及RTMP协议的解析与封装。完成端口与事件队列模型结合,使用两级线程池解决了网络I/O操作与后台协议解析操作的分离,大大提高了网络的吞吐量。内存池管理使用事先预估分配空间并加入链表的方式实现了对所有对象内存的统一管理,减少了内存碎片的产生。

论文目录

  • 摘要
  • Abstract
  • 1 绪论
  • 1.1 研究背景与研究意义
  • 1.2 国内外研究现状
  • 1.3 本文研究内容
  • 1.4 本文结构
  • 2 相关理论和技术
  • 2.1 完成端口
  • 2.2 顺序流式传输与实时流式传输
  • 2.3 Flash 与 RTMP 协议
  • 2.4 线程池与内存池
  • 2.5 MySql
  • 2.6 本章小结
  • 3 流媒体服务器软件的需求分析
  • 3.1 系统功能需求
  • 3.2 系统性能需求
  • 3.3 系统工作流程分析
  • 3.4 本章小结
  • 4 流媒体服务器软件的设计
  • 4.1 系统整体架构
  • 4.2 内核模块的设计
  • 4.3 外壳模块的设计
  • 4.4 本章小结
  • 5 流媒体服务器软件的实现
  • 5.1 文件管理与网络通信模块的实现
  • 5.2 内存管理模块的实现
  • 5.3 线程管理模块的实现
  • 5.4 外挂协议模块的实现
  • 5.5 辅助工具与应用实现
  • 5.6 压力测试与结果分析
  • 5.7 本章小结
  • 6 总结与展望
  • 6.1 论文总结
  • 6.2 展望
  • 致谢
  • 参考文献
  • 相关论文文献

    标签:;  ;  ;  ;  

    流媒体服务器软件的设计与实现
    下载Doc文档

    猜你喜欢