论文部分内容阅读
随着家用电器和数码设备的迅速发展,家庭中越来越多的设备能够产生媒体数据,例如手机的拍照和拍摄功能,数字电视、机项盒等的节目录制功能等,均能产生丰富多彩的媒体数据,PC更是媒体数据的集中地。因此,对于在PC、家电和移动手持设备这些不同种类的设备之间方便的进行数据共享的需求越来越强烈。而伴随着网络技术的不断进步,越来越多的设备具备了接入网络的能力,这就为进行设备互联提供了基础。
在不同设备之间实现数据共享的实现过程中存在着许多阻碍,例如不同的设备在硬件结构上可能存在着巨大差异,使用的操作系统和通信方式也各不相同。因此,UPnP(通用即插即用,Universal Plug and Play,缩写成UPnP[3])被提出用来实现设备的智能互联互通。
UPnP技术扩展了传统单机的设备和计算机系统的概念,在“零配置”[12]的前提下提供了UPnP智能设备之间的寻址、发现、控制和其它信息的交换等互动操作功能[17]。对于用户来说,支持UPnP的设备做到了接上就能用,给办公和生活带来了极大的方便。对于设备提供商来说,因为UPnP建立在互联网标准和技术之上,因此它具有广泛的适用性,可以运行在几乎所有的操作系统平台之上,可以使用C/C++,Java等各种语言进行软件的开发,所以能够在较短时间内形成产品,缩小开发成本,因此UPnP在提出之后获得了广泛的支持。
设备通过UPnP的方式被网络上的其它设备发现、并和其它设备交互,是进行媒体共享的第一步;最终还是需要在设备之间进行媒体数据的上传、下载和流式播放等,因为这才是用户期望的结果。因此,需要有媒体服务器来完成媒体数据的管理和共享。考虑到HTTP使用的广泛性和开发的简单性等特点,本文采用了HTTP作为数据传输的协议。本文中提到的媒体服务器,即为一个支持UPnP协议、并能通过HTTP方式进行媒体数据传输的服务器。
本文主要进行了以下几个方面的工作:
●研究UPnP协议,主要研究UPnP协议如何实现设备的发现、配置和控制;
●实现UPnPAV体系结构,该体系结构是媒体服务器的基础结构;
●结合UPnP的定义及DLNA的规范,定义了系统需要实现的功能;
●在对系统进行全面分析的基础上,设计了系统的整体结构并对系统进行了模块划分;
●使用UML等工具设计了系统的类图、流程图等;
●在Linux环境下使用C++语言完成了基于UPnP协议的媒体服务器的实现;
●搭建实验环境对系统进行部署和系统测试,测试结果表明该媒体服务器完全支持UPnP协议,并能通过HTTP实现媒体数据的在设备间的传输;实现了系统需求中定义的功能。
具体章节安排如下:
第一章绪论。
本章主要介绍了本文的研究背景和研究现状,并阐述了本文的研究内容;
第二章UPnP协议。
本章首先概述了UPnP出现的背景和技术特点,之后详细论述了UPnP协议的组成、体系结构及工作原理;
第三章媒体服务器系统设计。
本章首先叙述了作为系统设计基础的UPnPAV架构,然后对UPnP媒体服务器的系统结构、层次结构等进行了具体论述;然后论述了系统的详细设计,主要包括系统核心模块的类图设计和系统运行顺序图等;
第四章媒体服务器系统实现。
本章首先介绍了媒体服务器的开发环境和开发过程中所用到的工具,然后主要叙述了UPnP媒体服务器实现过程中关键实现,包括:系统启动流程、媒体文件管理、服务的实现等;
第五章系统测试。
本章论述了系统测试的相关内容:首先简要介绍了测试的必要性及测试环境的构成;重点论述了测试用例的设计和实施;
第六章结论与展望。
总结论文进行中的成果与不足,并对研究方向的前景做了展望。