1、沈阳理工大学学士学位论文I摘 要基于 TLS 安全的 MTP 命令解释器的设计,它主要实现模拟媒体终端设备对 MTP 消息进行解析。从命令的来源看,可以分为三种方式,第一种方式为Socket 连接(包括加密、不加密) ,第二种方式为 Console 输入以及第三种方式,即文件的多条批处理 MTP 命令的解析。从总体功能来看,可以分为四个模块,即系统启动、接收命令、解析命令以及响应。论文首先论述了课题的背景、开发前提以及开发意义。随着我国数字电影的发展,XXXX 公司研发了以硅基液晶技术为核心的高清晰度4K(40962048)的数字放映机。开发过程中对于媒体终端设备的依赖,开发了MTP Simu
2、lator,继而要从各个方面分析这个系统的可行性以及整体的设计逻辑。其次,论述了该系统的详细设计过程。主要有三大模块,分别为 Socket MTP 模块处理、 Console MTP 模块处理以及 File MTP 模块处理。其中 Socket MTP 模块处理又细化为请求接收、命令处理、命令解析、互斥检查以及response 处理。其余两个模块的的细化流程同 Socket MTP 的细化过程相同。最后,是对该课题所研究的系统进行测试。关键词: MTP Simulator; 图形界面; Socket;Console;文件; MTP(媒体终端协议); TLS(安全传输层协议 )沈阳理工大学学士学
3、位论文IIAbstractMTP commands based on TLS security to explain the design, it is primarily analog media terminal device to parse the MTP message. From the source of the command can be divided into three modules, the first module for Socket connections (including encryption, no encryption), the second mo
4、dule for console input and the third module, file batch MTP command parsing. From the perspective of the overall function, can be divided into four modules, namely, the system starts to receive the command, parses the command and response. The paper first discusses the background of the topic, the d
5、evelopment of the premise and the development of meaning. With the development of digital cinema in China, XXXX has developed a high-resolution liquid crystal on silicon technology for the core 4K (4096 x 2048) digital projectors. The development process for the dependence of the terminal equipment
6、of the media, decided to develop the MTP Simulator, and then from all aspects of the feasibility of this system, as well as the overall design logic.Secondly, it discusses the details of the system design process. There are three major modules, respectively SocketMTP module processing, the ConsoleMT
7、P module processing and FileMTP module handles. SocketMTP module processing also refine the receiver to request, command processing, command parsing, mutex checking and response processing. The refinement process of the remaining two modules with SocketMTP refinement processes the same.Finally, the
8、system under study on the subject to be tested.Key words: MTP Simulator;Graphical interface;Socket;Console;file; Media Terminal Protocol; Transport Layer Security沈阳理工大学学士学位论文III目录1 绪论 .61.1 课题的来源 .61.2 课题背景 .61.3 MTP SIMULATOR 开发前提 .71.4 MTP SIMULATOR 开发意义 .72 MTPSIMULATOR 系统分析 .92.1 MTP SIMULATOR 可
9、行性分析 .92.2 MTP SIMULATOR 的功能分析 .92.3 系统平台分析 .102.4 所用技术分析 .102.4.1 Java 开发语言 .102.4.2 Schema 技术 .112.4.3 Eclipse 开发工具 .112.4.4 安全传输层协议(TLS) .123 MTPSIMULATOR 概要设计 .133.1 系统结构定义 .133.2 系统功能模块划分 .133.2.1 Socket 方式的 MTP 命令 .143.2.2 Console 方式的 MTP 命令 .143.2.3 File 方式的 MTP 命令 .153.3 文件规则定制 .163.3.1 MTP
10、命令格式文件 .163.3.2 MTP 命令互斥控制文件 .173.3.3 Response 文件 .173.4 系统参数设定 .183.4.1 配置文件中设定系统参数 .183.4.2 图形界面设定系统参数 .203.4.3 TLS 证书的导入与导出 .21沈阳理工大学学士学位论文IV4 MTPSIMULATOR 详细设计 .234.1 系统功能逻辑简介 .234.2 模块功能逻辑 .234.2.1 模块的总体处理逻辑 .234.2.2 SocketMTP 模块处理逻辑 .244.2.3 ConsoleMTP 处理逻辑 .304.2.4 FileMTP 模块处理逻辑 .334.2.5 系统包
11、结构 .344.2.6 系统类结构 .354.2.7 类功能详细 .364.2.8 模块线程图 .634.2.9 系统时序图 .655 系统测试 .695.1 软件测试 .695.1.1 测试的基本概念 .695.1.2 测试步骤 .705.2 本系统功能测试 .705.2.1 SocketMTP 功能模块测试 .715.2.2 ConsoleMTP 功能模块测试 .715.2.3 FileMTP 功能模块测试 .71结论 .72致谢 .73参考文献 .74附录 A 英文原文 .75附录 B 中文翻译 .80沈阳理工大学学士学位论文51 绪论1.1 课题的来源随着我国高清数字电影的发展,数字电
12、影已经慢慢的融入到我们的日常生活,4K 数字电影出色的画质大大提高了 3D 放映效果,消除了其它单机 3D 放映系统闪烁和模糊的问题,极大地提升了观众对 3D 的视觉体验,给观众带来极为震撼、真实的 3D 视觉享受。20 世纪 90 年代后,计算机技术飞速发展,信息量相对较小的音频率先进入数字化。随后,用计算机进行电影特技画面制作逐步兴起,影片泰坦尼克号、星球大战的成功放映,使人们感受到了数字技术的神奇。在电影摄影领域,从摄像机出现开始,传统胶片摄影就不断接受挑战,本世纪初,数字高清摄像机逐渐进入电影前期拍摄,从最初的高清到 2K 直到 4K数字摄影机,已有多种数字摄影机应用于电影拍摄。在电影
13、后期制作过程中,数字技术改变了电影制作工艺流程,胶片扫描仪将拍摄在胶片上的原始素材转变成数字信号,进入后期制作工作站,艺术家方便地进行编辑、调色、配光等工作,极大地提高了工作效率。在电影放映领域,20 世纪 90 年代后期电影星球前传 I首次应用数字投影机在影院放映。数字影厅逐年增加,到 2010 年底,数字放映的银幕数达到 3万块以上。数字放映通过硬盘、网络、卫星等传输方式,可以多地同步放映相同影片。数字放映机从高价笨重到经济便捷,从分辨率 1. 3K 到 2K、4K,数字放映技术不断进步。XXXX 公司研发了以硅基液晶技术为核心的高清晰度 4K(40962048)的数字放映机。为了方便 4
14、K 数字放映机的管理,因此决定开发数字影院管理系统系统,开发过程中对于媒体终端设备的依赖,决定开发 MTP Simulator。1.2 课题背景由于数字影院管理系统开发对于媒体终端设备的依赖,目前媒体终端设备的数量不能满足开发需要;为节约成本,保证效率,决定开发基于媒体终端设沈阳理工大学学士学位论文6备实体功能的软件模拟器,即 MTP Simulator。 该软件主要模拟实现媒体终端与数字影院管理系统的 MTP 命令交互功能,对于接收到的 MTP 指令,给出合理的软件响应。1.3 MTP Simulator 开发前提MTP Simulator 软件是为了模拟实现媒体终端与数字影院管理系统交互功
15、能,因此需要充分了解数字影院管理系统与媒体终端设备交互的细节,这就需要了解的数字影院管理系统是如何与媒体终端设备进行交互,交互的内容是什么,通过什么方式通信,最后要得到什么样的效果。开发 MTP Similator的目的是为了能在本地搭建一个整体的数字影院管理系统的开发与调试环境,因此决定开发 MTP Simulator,最终在本地实现整体的数字影院系统的本地开发与调试。该系统的整体构成如图 1.1 所示。PC(OS:Windows)VM(OS:Linux)Prj Simulator数字影院管理系统MTP Simulator图 1.1 整体系统构成1.4 MTP Simulator 开发意义(
16、1) 满足开发需求由于数字影院管理系统开发需要为开发人员配备一台媒体终端设备,因为在开发的同时需要对开发的功能进行调试,因此需要与媒体终端设备通信。由于媒体终端设备的数量不能满足开发需求,因此决定以软件的形式模拟实现媒体终端设备与数字影院管理系统交互的功能。(2) 节约成本,提高效率沈阳理工大学学士学位论文7由于数字影院管理系统的开发需要与媒体终端设备进行交互,如果给每个开发者配备一台媒体终端设备,会使得开发成本很高。媒体终端设备的不足又会导致媒体终端设备的使用非常紧张,整个数字影院管理系统的开发紧张受到制约,极大地影响了项目开发的进度,为了提高效率,节约成本,项目组决定开发 MTP Simu
17、lator 来代替媒体终端设备与数字影院管理系统交互的功能。沈阳理工大学学士学位论文82 MTP Simulator 系统分析2.1 MTP Simulator 可行性分析系统的可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是 否 能 够 解 决 。 在 进 行 可 行 性 研 究 时 需 要 了 解 和 分 析 现 有 的 系 统 , 并 以 概 括 的形 式 表 达 对 现 有 的 系 统 的 认 识 。系统的目标确定后,可以从技术可行性、经济可行性和操作可行性三个方面对能否实现新系统目标进行可行性分析。技术可行性方面,MTPSimulator 采用开源 Eclipse 作为开
18、发工具以 Java 语言作为开发语言,无论在其设计还是开发与安装调试以及部署上都保证作到方便快捷,且操作灵活简单。经济可行性方面,Eclipse 是一款免费的开源的开发工具,在技术方面全部都是免费的。只要有懂得开发技术的开发人员,便可进行本系统的开发工作。本系统主要功能是软件实现媒体终端的功能,减少开发中对媒体终端设备的依赖,降低了开发成本。操作可行性方面,由于本系统主要是模拟实现媒体终端设备的功能,主要与数字影院管理系统进行交互,为了便于本系统的操作,本次也开发了图形操作界面,操作直观、方便。MTP Simulator 软件主要采用 Socket 技术来传输 MTP 命令,在传输过程中,使用
19、 TLS 传输协议对传输命令进行加密。使用线程并行处理多个命令同时请求,使用 Schema 和 XML 技术来规定 MTP 命令和命令返回结果。因此理论上是可以完成 MTP Simulator 的开发。2.2 MTP Simulator 的功能分析MTP Simulator 是硬件媒体终端设备功能的软件实现,主要模拟媒体终端设备对于 MTP 消息的接收、解析和响应。 MTP Simulator 支持客户端采用Socket(加密/ 不加密 )方式进行通信、文件形式批量导入方式通信和在控制台输入 MTP 命令方式通信,并将结果作为响应传送给客户端或者直接显示在终端屏幕上。该系统的输入输出如图 2.
20、1 所示。沈阳理工大学学士学位论文9图 2.1 MTP Simulator 的输入与输出2.3 系统平台分析1硬件支持:计算机(PC)一台,处理器 Pentium III800 以上,内存 256M以上,硬盘空间 2G 以上。2软件支持如下表 2-1 所示:表 2-1 软件与版本# 软件 版本1 Windows XP2 JDK 1.6.0_293 Eclipse 3.72.4 所用技术分析本系统拟采用的技术如下:1. Java 开发语言2. Schema 技术3. Eclipse 开发工具4. 安全传输层协议(TLS:Transport Layer Security)2.4.1 Java 开发
21、语言Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人 PC、数据中心、游戏控制台、科学超级计算沈阳理工大学学士学位论文10机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java 更具备了显著优势和广阔前景。Java 编程语言的风格十分接近 C、C+语言。Java 是一个纯的面向对象的程序
22、设计语言,它继承了 C+ 语言面向对象技术的核心,Java 舍弃了 C +语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承( 以接口取代) 等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理 而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。2.4.2 Schema 技术Schema 是用于描述和规范 XML 文档的逻辑结构的一种语言,它最大的作用就是验证 XML 文件逻辑结构的
23、正确性。可以理解成与 DTD(文档类型定义)功能差不多,但是 Schema 在当前的 WEB 开发环境下优越很多。因为它本身就是一个有效的 XML 文档,因而可以更直观地了解 XML 的结构。除此之外,Schema 支持命名空间,内置多种简单和复杂的数据类型,并支持自定义数据类型。由于存在这么多的优点,所以 Schema 渐渐成为 XML 应用的统一规范。2.4.3 Eclipse 开发工具Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Kit,JDK) 。虽然大多数用户很乐于将 Eclipse 当作 Java 集成开发环境(IDE)来使用,但 Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。