基于分布型应用流管理的开发和研究

基于分布型应用流管理的开发和研究

论文摘要

互联网的迅猛发展和普及为流媒体业务发展提供了强大的市场动力,流媒体业务正变得日益流行。流媒体的发展必然引起管理软件的巨大需求,该类软件不仅要求对视频进行观看,还要对多媒体流数据进行各种处理和操作。由于多厂商、多系统及设备环境,造成网络中通信的复杂和低效。这样就迫切需要新技术的引入,确保流管理系统高效性和适应性。因此本文提出了通用的网络流管理中间件的思想,其功能要包含对流数据的一些最常见的操作,并以中间件的形式提供,可以方便的进行二次开发,适合多种不同应用。中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机/服务器的操作系统之上,管理计算资源和网络通信。本流管理中间件具体实现的功能应包括:接收、读取、转发、存储、主调、回调等。接收:指利用Socket接收网络数据,需要实现的网络接收模式包括TCP(服务器模式、客户端模式),UDP(单播、多播、组播)。读取:是指把存储在外存上的流数据按照一定的速率读入内存中。转发:把接收到的数据再次发送到网络中的某个地址。需要实现的网络转发模式包括TCP(服务器模式、客户端模式),UDP(单播、多播、组播)。存储:把接收到的数据保存在外存上。主调:应用程序可以把自己产生的数据“注入”中间件。回调:数据通知回调给应用程序,应用程序根据需要对数据进行处理。接收器、转发器、存储器、读取器、主调器和回调器等六个模块应全部工作在异步模式下,即每个模块都有一个单独的服务线程为其工作。由于涉及到频繁的线程的启动和停止,因此应该采用“线程池”的方式来对线程进行管理,从而减少频繁的启动和停止线程对系统资源的占用。另外各个模块都应该采用动态管理模式,即动态的为其申请和释放内存,从而优化整个中间件内存占用量。而流数据的内存管理,由于涉及到频繁的申请和释放,则需要采用“内存池”的方式,从而避免内存碎片的产生。本文着重介绍了流管理中间件设计的核心思想和具体实现,整个设计很好地体现了高效性和安全性的原则。进一步提出性能优化方案,并且对性能优化结果进行了评估。文章的最后对整个工作进行了总结,并提出了今后的研究方向和改进思路。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 流媒体概述
  • 1.2 网络视频监控发展概述
  • 1.3 本文主要工作
  • 第二章 流管理中间件概述
  • 2.1 中间件概念
  • 2.2 流管理中间件介绍
  • 2.2.1 基本定义
  • 2.2.2 具体模块划分
  • 2.2.3 性能指标
  • 2.2.4 应用模型
  • 2.2.5 核心思想
  • 2.2.6 内存数据管理方案
  • 第三章 流管理中间件的实现
  • 3.1 类结构的设计
  • 3.1.1 中间件结构
  • 3.1.2 接口函数
  • 3.1.3 类模块划分
  • 3.1.4 各模块的具体设计
  • 3.2 实现所需技术要点
  • 3.2.1 dll编程
  • 3.2.2 Winsocket网络编程技术
  • 3.2.3 多线程编程
  • 第四章 性能优化
  • 4.1 线程池的使用
  • 4.1.1 线程池的概念
  • 4.1.2 线程池的使用
  • 4.1.3 使用效果
  • 4.2 内存池的使用
  • 4.2.1 内存管理的一般方法
  • 4.2.2 内存池的概念
  • 4.2.3 内存池的实现
  • 4.2.4 结果比较
  • 第五章 总结
  • 参考文献
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  ;  

    基于分布型应用流管理的开发和研究
    下载Doc文档

    猜你喜欢