(通信与信息系统专业论文)linux下视频点播系统服务器的实现.pdf_第1页
(通信与信息系统专业论文)linux下视频点播系统服务器的实现.pdf_第2页
(通信与信息系统专业论文)linux下视频点播系统服务器的实现.pdf_第3页
(通信与信息系统专业论文)linux下视频点播系统服务器的实现.pdf_第4页
(通信与信息系统专业论文)linux下视频点播系统服务器的实现.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(通信与信息系统专业论文)linux下视频点播系统服务器的实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

撼要 多媒体是指由在内容上相互关联的文本、图形、图像、音频和视频等媒体数 据构成的一种复合信息实体,蔼多媒体通信就是指集这些通蓿媒介为一体的,其 有集成性、同步性与交互性的邋信方式。多媒体通馈业务在网络上的传输应用包 括视频点播、视频会议、可视电话、远程教学、远程医疗等等。而视频点播( v o d ) 是交互式点播系统,用户可以根据自己的意愿选择收看节目,从根本上改变了过 去被动式收毳的不足,完全实现了由用户掌握获褥镶息匏主动权。v o d 的最大糁点 是信息的使用者可以根据自己的要求主动获得多媒体信息,它区别与信息发布最 大的不同在予:一是主动性,二是选择性。本文中针对台湾l e a d t e k 公司的客户 霖求,详细介绍了l i n u x 操作系统的优点及其在局域网环壤下的视频点播系统瞧 方案进行设计和实现。 文章首先在第一章中介绍多媒体通信和视频点播技术。第二章中具体介绍 l i n u x 操作系统的特点和优势。第三章论述我f 、】妁视频点播系统方案设计及实现。 第四露重点介绍其中媒体服务器的具体功能、设计和工作流程。第五章总结项目 过程中所遇到的一照闯题及其稻应的解决方案,并为以后的解决问题方式提出一 些建议。 关键字;v o d ,视频点播,流媒体,r t p r t c p ,多媒体,1i n u x a b s t r a c t m u l t i m e d i ai sa m u l t i p l ei n f o r m a t i o ne n t i t yc o m p r i s i n g o f i n t e r r e l a t e dt e x t 、g r a p h 、 i m a g e 、a u d i oa n dv i d e o ,a n dm u l t i m e d i a c o m m u n i c a t i o ni saw a yo f c o m m u n i c a t i o ni n w h i c ht h et r a n s m i t t i n gd a t ai st h em u l t i m e d i ai n f o r m a t i o n m u l t i m e d i ac o m m u n i c a t i o n a p p l i c a t i o n si n c l u d ev o d 、n e t m e e t i n g 、v i d e o p h o n e 、d i s t a n c e e d u c a t i o na n dd i s t a n c e t h e r a p y e t c v i d e oo nd e m a n d ( v o d ) i sa l t e r n a t i n gv i d e o - o r d e r i n gs y s t e m u s e r sc a r lc h o o s e p r o g r a m so nt h e i rw i l l ,w h i c hr a d i c a l l y o v e r c o m et h es h o r t a g e so fp a s s i v ew a yo n w a t c h i n g ,a n dc o m p l e t e l yi m p l e m e n t t h eu s e r s i n i t i a t i v eo f g e t t i n gi n f o r m a t i o n + r e f e r t oc u s t o m e r s d e m a n d so nt h i s p r o j e c t ,t h i s a r t i c l ei n t r o d u c e sl i n u x o p e r a t e r s y s t e m e x c e l l e n c e s i n d e t a i l s ,a n dp r e s e n th o wt od e s i g na n di m p l e m e n tt h ev o d s y s t e mi nl a n t h ef i r s t p a r to ft h i s a r t i c l ei n t r o d u c e sm u l t i m e d i ac o m m u n i c a t i o na n dv o d t e c h n o l o g y t h es e c o n dp a r ti n t r o d u c e sl i n u x sc h a r a c t e r sa n dm e r i t s t h et h i r dp a r t p r e s e n t st h ev o d s y s t e m sd e s i g n a n di m p l e m e n t t h ef o u r t hp a r ti n t r o d u c e st h em e d i a s e r v e r t h el a s tp a r ts u m su ps o m ep r o b l e m sa n dt h es o l v i n gw a y s k 蟛w o r d s : v o d ,v i d e oo nd e m a n d ,m e d i a s e r v e r ,r t p r t c p ,m u l t i m e d i a ,l i n u x j 豪郏 犬学嫒“ 研究生毕韭论文 l 1 n u x 下视频点攒系统瑕势嚣熬实瑷 第一章多媒体通信技术和视频点播概述 1 。1 多媒体通信介绍 随着科学技术的邋速发震和社会需求的嗣益增长,单一媒体提供的传统的 单一服务,如电话、电视、传真等,已经不再能够满足人们懿要求。如今隧 着通信技术的发展,诸如数据、文本、图彤、图像、音频和视频等多种媒体 信怒可戬皴一个整体呈现在我们的隈前。这里的多种媒体,指的是幽在内容 上楣互关联的文本、图形、图像、誊频和视频等媒体数据构成戆一秽复合痿 息实体;多媒体计算机技术以数字化的方式对任何一种媒体进行表示、存储、 转输和处理,并艇穗这些不两类型的媒体数据有机地合成在一起,形成多媒 体数据。在这种时代鹜景下,传随藿多媒体计算投技本与电话、广摇、电视、 微波、卫尾通信、广域网和局域网等各种通信技术相结合,产生了一种边缘 往技术多媒体通信。多媒体技术的产生和发暇,是技术和应用发展的必 然。在信毖社会,人们遗切希望计算飒钱以人类露懊戆方式提供售惑鼹务, 因而多媒体技术应运而生。它的出现,完全改变了计算机的表现形式和应用 价值。用户不仅可以通过文字信息,还可以通过赢接看潮的影像和听到的声 音,柬了鼹感兴趣懿对象,并褥以参与或改变荣惠魏演示。 多媒体通信魑通信技术和多媒体技术结合的产物。它并蓄兼收了计算机的 交互性、多媒体的复合性、通信的分布性以及电视的真实性等优点。多媒体 通傣在过去是难予想象瓣,毽现在毫基本骰到了,将来一定会改进褥更好。 所以说,不论固定或移潮,不沦有线或无线,不论是点对点或点对多点,多 媒体通信将是通信发展的方向。在这里,我们要区分多媒体通信与综合业务 夔赛线。综合监务数字瓣i s d n 是捂诿音、图像、数据三静信患鼗务筢够综合, 在同一通信网内传送和交换,假三者之间各不相关。面多媒体通信则是话音、 图像和数粥三种有关的信息密切配合运用,这些信息彼此之间相互关联,要 求爨步传送移浸示。 l 隶郝l & 丈学碳l 鹾究生毕韭论文l i n u x 下我频点耩系统聪务耩赫实髓 1 2 多媒体通信的沥史、现状及其发展趋势 多媒体通信的发展可以追溯剿2 0 世纪8 0 年代,但是她却经历的是一个飞速 发展的过历程,至如今,多媒体逶售已经秘我们戆生活塞惑摆关,残为我们瑷代 生活的一个重要组成部分。多媒体通信的发展,是同计算机技术的快速发展和通 信技术的日新月异紧密联系在一起的。 1 2 1 多媒体通信的应用现状 多媒体涉及的技术范围很广,技术很新,研究内容也很深,是多种学科和多 种技术交叉酌领域。目前,多媒体技术的研究和实际应用开发主要在下歹0 几个方 程: 1 视频会议系统 多媒体技术的突破、广域网的成熟以及视窗操作系统的支持使视频会议系统 成为多媒钵技术应鼷豹瑟热点。獠频会议系统怒一耪篷要懿多媒俸逶售系统,它 将计算机的交互性、通信的分布性和电视的真实性融为一体。现在视频会议系统 比较成熟的产品已经出现。 2 。虚拟现实 虚拟现实是一项与多媒体技术密切相关的边缘技术,它通过综合应用计算机 图像处理、模拟与仿真、传感技术、显示系统等技术和设备,以模拟仿真的方式, 绘震户提供一令囊实反映搽终对象变讫与相互份震熬三维图像强襞,放瑟构成豹 廉拟世界,并通过特殊设备( 如头盔和数据手套) 提供给用户一个与该虚拟世界 相互作用的三维交互式用户界面。 3 超文本( h y p e r t e x t ) 超文本是随着多媒体计算机发展而发展起来的文本处理技术,它提供了将” 声、文、图”结合在一起,综合表达信息的强有力的手段,是多媒体应用的有效工 獒。鏊蓊超文本方式在i n t e r n e t 上褥到了广泛豹应蔫。 4 家庭视听 其实多媒体最看得见的应用,就是数字化的音乐和影像进入了家庭。由于数 字诧熬多媒箨箕有话输诺存方便、傈真魔菲常离,在个久电簸甭户申广泛受到青 4 乾衷j | 【fl 乜人学颟 :研究生毕业论义 l i n u xt 税频点播系统服务器瓣实琨 睐,而专f j 抟数字视听产晶,也大量进入了家庭,如c d 、v c d 、d v d 等设备。 i 2 2 多媒体通信发展趋势 末来对多媒体的研究,主要有以下几个研究方面:数据压缩、多媒体信息特 性与建模、多媒体信息的缀缓与管理、多媒镕信息表现与交互、多媒体通信与分 布处理、多媒体的软硬件平台、虚拟现实技术、多媒体应用开发。展望未来,网 络和计算机技术相交融的交互式多媒体将成为2 l 世纪多媒体发展方向。所谓交互 式多媒体是撵不仅可以从网络上接受信息、选择信息,还可潋发送信息,箕信息 是以多媒体的形式传输。利用这一技术,人们能够在家里购物、点播自己喜欢的 电视节目。2 l 世纪的交互式多媒体技术的实现将以电视或者以个人计算机为基 础。 未来的多媒体将会激动人心,我们生活中数字信息的数爨在今后几十年中将 急剧增加,质整上也将大大地改善。多媒体正在迅速的、意想不到的方式进入人们 生活的多个方面,大的趋势是各个方面都将赣着当今新技术综合的方向发展,这 其中包括:大容量光碟存储器、国际互联网和交互电视。这个综合正是。场广泛 革命的核心,它不仅影响信息的包装方式和我们如何运用这些信息,而且将改变 我翔互相逶绩秘方式。 l 。3 视频点播系统 视频点播又简称v o d ( v i d e oo nd e m a n d ) ,也称为交甄式电视点播系统。 v o d 从技术上讲是一种受用户控制的视频分配和检索业务,观众可以自由选择 在何时观看何种节目。v o d 的最大特点是信息的使用者可以根据自己的蹑求主 动获褥多薅体蕾息,它区羽与信息发表最大的不屈在于:一是主动缝,二是选 择性。在r o d 应用系统中,信息提供者将节翻存储在视频照务器中,服务器随 时应观众的需求,通过传输网络将用户选择的多媒体信息传送到客户端,然后 密用户诗算祝或视项盒将多媒体信息解码君输出到显示器或电视机供用户观 看。用户可以根掘自己的意愿选择收看电视节毽,从根本上改变了过去被动式 收看电视的不足,完全实现了由用户掌握获得信息的主动权。 5 北京邮i 扎人学颅1 1 研究生毕业论文l i n u x 下视频点播系统服务器的实现 从长远来看,视频点播具有巨大的潜在市场和深远的发展前景,因为从深 层次来看,v o d 不仅仅是视频节目点播的问题,它代表未来全功能网络化和数 字交互式信息的应用发展趋势,是一种从内容、形式上更深层次上的互动,也 是数字影院、交互视频新闻、广告等新应用的基础,具有广阔的发展潜力,v o d 是未来信息高速公路构架的重要组成部分,是未来信息服务中宽带业务的灵 魂。 1 4 1 视频点播( v o d ) 系统的构成 从总体来讲,v o d 系统是一种多级服务器和多级网络交换的结构。多媒体 数据经过压缩、存储、检索和网络传输到达用户终端,用户终端完成节目的解 压缩和同步回放。v o d 的系统组成结构如下: 匝困 斟剧 前端包括服务器、前端设备;骨干网用来连接多个前端,使网络从局域到广 域,延伸到更远更广;接入网则连接用户和前端;而机顶盒则把压缩信号恢复 为模拟视频信号,完成人机的交互控制等。简单的说,v o d 系统由视频服务器, 网络系统和客户端构成。 1 服务器 服务端系统主要由视频服务器、事务处理系统和码流检索与输出系统。如 图所示: 北京邮电人学坝i 研究生毕业论文 l i n u x 下视频点播系统服务器的实现 业务管理系统 事务处理系统处理服务器与机顶盒之间的控制信令。数据库中存有节目的 目录、节目的存储位置、服务器资源使用情况等信息。事务处理系统采用一定 的访问控制算法接受或拒绝用户的点播请求,当用户的请求被接受时,事务处 理系统向码流检索和输出系统发出相应的操作指令。由码流检索与输出系统完 成具体的数据访问操作。事务处理系统还向业务管理系统提供原始信息,包括 计费信息等。 码流检索与输出系统按照一定的调度算法为每个获得服务的用户读取相 应的节目,并通过网络接口传给用户。节目检索与输出系统可以分为节目存储、 码流交换和输出模块3 个子系统。存储系统处理用户对磁盘数据的多重并发访 问,以平稳的速度向用户提供码流,输出码流经过码流交换系统输出到相应的 输出模块,输出模块完成节目下行传输的下行转换。用户点播一个节目的过程 就是一个v o d 会话的建立过程。而呼叫控制和连接是与网络信令有关的,因而 一个典型的r o d 通信过程如下: 用户启动客户端的v o d 应用程序,向服务器发出请求,建立基本连接。 服务器向用户传送包括所提供的各种服务选项的首页。 用户选择所需要的服务。 服务器的业务网关分析用户选项,由相应单元功能进行处理。 用户选择要点播的节目。 服务器分析本次会话要需要的资源,通知网络的呼叫控制和连接控制, 为这次会话建立连接;同时服务器通知节目提供者,从节目提供者处调用户所 点播的节目。 服务器与用户之间会话建立完毕,结束会话过程,这时只有s l ,s 2 信 息流,用户可以通过s 2 控制s l 信息流,如影片的快进,暂停等。 北京邮电大学坝f j 聊f 究生毕业论文 l i n u x 下视频点播系统服务器的实现 2 网络系统和客户端 网络系统包括主干网络和本地网络两部分。它负责视频信息流的实时传 输,是影响连续媒体网络服务系统性能极为关键的部分。同时,媒体服务系统 的网络部分投资巨大,故而在设计时不仅要考虑当前的媒体应用对高带宽的需 求,而且还要考虑将来发展的需要和向后兼容性。当前,可用于建立这种服务 系统的网络物理介质主要是:c a t v ( 有线电视) 的同轴电缆、光纤和双绞线。 而采用的网络技术主要是:快速以太网、f d d i 和a t m 技术。客户端主要是带 有机顶盒的电视机或者有解码能力的计算机。 1 4 2 视频点播系统参考模型 v o d 系统的分层模型分为用户面、控制面和管理面,如下图所示。 用户面完成用户数据处理,在各实体问透明传送用户信息,用户信息 只对发送和接收者有意义,v o d 中的用户信息包括节目内容、下载数据等: 控制面为各个控制实体间传送信息,完成呼叫控制、连接控制、会话 控制、负责处理各种相关的信令和协议; 管理面为各个管理实体间传送信息,也分为面管理和层管理,完成系 统管理和维护功能,包括故障处理、配置、性能监测、保密、计费、资源管 理等。 每个面又分为4 个业务层,从下到上分别是: l 3 网络服务层,这是唯一的一个与别的子系统有物理通信连接的层, 它完成与分配网络有关的功能,如网络的物理传输,建立连接和拆除等,高 层上的信息都有通过l 3 这一层完成交互: l 2 会话传输层,建立,管理和维护会话过程,为l 1 上的用户提供一个 北京邮也人学硕- :研究生毕业论文l i n u x 下视频点播系统服务器的实现 端到端的通信; l 1 应用服务层,为更高一层的具体应用提供资源,在服务提供者和用 户终端上为完成各个应用构成一个必须的环境,如各个应用所需的控制信息 传送: l 0 主要服务层,为达到一定的目的而提供的具体应用,它利用l l 的实 体交换信息。 v o d 系统的一个网络参考模型如下图。图中标示了v o d 系统的参考点、信 息流,通过这些参考点和信息流,一个子系统可以将其他予系统看成是一个 黑盒子,只需知道它的外部特征便可与其进行通信。这里定义了4 种信息流, 分别是s 1 ,s 2 ,s 3 ,s 4 。 v o d 系统参考模型 。s l 位于用户面上,即一般情况下的下行信道,是一个从服务器到客户端 北京邮电人学硕f 研究生毕业论文 l i n u x 下视频点播系统服务器的实现 的高速单向数据流,它只对服务器和终端有意义,任何中间实体都对s 1 进行透明传送。s l 的高层采用m p e 6 的传送流,对于低速数据也可以采用 t c p i p ,低层则根据不同的网络有不同的协议结构。 s 2 是用户面上端到端的控制信息流,位于应用服务层l l 上,s 2 也是端 到端的,中间传送实体只对s 2 进行透明传输。即通常意义上的双向控制 信道,它完成远端过程调用,下载和用户到服务器的交互控制等三项功能。 接收到s 2 的目标实体可根据s 2 的内容改变状态,s l 信息流也可以受s 2 控制,如通过s 2 流可以控制s 1 流的暂停,快进等。s 2 协议栈的低层也与 具体的网络实现有关;s 2 协议栈的高层与s 2 信号流的具体功能有关,s 2 利用呢用户用户控制规程来实现服务器和用户终端会话的交互控制。 s 3 是控制面的会话控制信息流,是在会话传输服务层l 2 上同等实体间 传送的会话控制信息流。除了位于不同的服务层之外,s 3 与s 2 非常相似, 典型的s 3 信息流包括:建立、改变和终止一个会话、协商资源请求等。 s 3 信息流的低层协议也与s l ,s 2 一样,与具体网络有关,s 3 的高层协议 采用用户到网络的控制规程。 s 4 是控制面上网络服务层l 3 上的呼叫、连接控制信息,与s 2 ,s 3 的功 能相似,只是s 4 位于l 3 上,负责网络链路上与连接建立、管理、拆除有 关控制信息,因此实际上s 4 就相当于各个网络中的信令。不同网络采用 的信令不同,如a d s l 中可以用p p p ,q 9 3 1 等协议。不同网络的s 4 内容 不同,s 4 信号流的低层和高层协议都与具体的网络有关。 从图中还可以看到各种信号流经过网络时的情况,s l ,s 2 为端到端的业 务信息流,与网络无关,网络对s 1 ,s 2 透明传送。s 3 ,s 4 则属控制信号流, 与会话、呼叫、连接的管理有关,因此与网络有很大关系。 1 4 流媒体技术 在网络上传输音频视频( a v ) 等多媒体信息目前主要有下载和流式传输两 种方案。a v 文件一般都较大,所以需要的存储容量也较大;同时由于网络带宽 的限制下载常常要花数分钟甚至数小时,所以这种处理方法延迟也很大。流式 传输时,声音、影像或动画等时基媒体( t i m e b a s e dm e d i a ) 由音频视频服务器 0 北京邮也人学硕i :研究生毕业论义 l i n u x 下视频点播系统服务器的实现 向用户计算机连续、实时传送,用户不必等到整个文件全部下载完毕,而只需经 过几秒或十数秒的启动延时即可进行观看。当声音等时基媒体在客户机上播放时, 文件的剩余部分将在后台从服务器内继续下载。流式不仅使启动延时成十倍、百 倍地缩短,而且不需要太大的缓存容量,从而避免了用户必须等待整个文件全部 从i n t e r n e t 上下载才能观看的缺点。 流媒体指在i n t e r n e t i n t r a n e t 中使用流式传输技术的连续时基媒体,如: 晋频、视频或多媒体文件。流式媒体在播放前并不下载整个文件,只将开始部分 内容存入内存,流式媒体的数据流随时传送随时播放,只是在开始时有些延迟。 流服务器,文件即通过顺序流发送。采用哪种传输方法依赖于用户的需求。当然, 流式文件也支持在播放前完全下载到硬盘。 顺序流式传输 顺序流式传输是顺序下载,在下载文件的同时用户可观看在线媒体,在给定 时刻,用户只能观看已下载的那部分,而不能跳到还未下载的前头部分,顺序流 式传输不象实时流式传输在传输期间根据用户连接的速度做调整。由于标准的 h t t p 服务器可发送这种形式的文件,也不需要其他特殊协议,它经常被称作h t t p 流式传输。 实时流式传输 实时流式传输指保证媒体信号带宽与网络连接匹配,使媒体可被实时观看到。 实时流需要专用的流媒体服务器与传输协议。实时流式传输总是实时传送,特别 适合现场事件,也支持随机访问,用户可快进或后退以观看前面或后面的内容。 理论上,实时流一经播放就不会停止,但实际上,可能发生周期暂停。 流媒体技术基本原理 流式传输的实现需要缓存。因为i n t e r n e t 以包传输为基础进行断续的异步传 输,对一个实时a v 源或存储的a v 文件,在传输中它们要被分解为许多包,由 于网络是动态变化的,各个包选择的路由可能不尽相同,故到达客户端的时间延 迟也就不等,甚至先发的数据包还有可能后到。为此,使用缓存系统来弥补延迟 北京邮电人学硕l + 列f 究生毕业论文 l i n u x 下视频点播系统服务器的实现 和抖动的影响,并保证数据包的顺序正确,从而使媒体数据能连续输出,而不会 因为网络暂时拥塞使播放出现停顿。通常高速缓存所需容量并不大,因为高速缓 存使用环形链表结构来存储数据:通过丢弃已播放的内容,流可以重新利用空出 的高速缓存空间来缓存后续尚未播放的内容。 流式传输的实现需要合适的传输协议。由于t c p 需要较多的开销,故不太适 合传输实时数据。在流式传输的实现方案中,一般采用1 4 t t p t c p 来传输控制信息, 而用r t p u d p 来传输实时音频视频数据。 流式传输的过程一般是这样的:用户选择某一流媒体服务后,w e b 浏览器与 w e b 服务器之间使用h t t p t c p 交换控制信息,以便把需要传输的实时数据从原始 信息中检索出来;然后客户机上的w e b 浏览器启动a v 播放器程序,使用h t t p 从w e b 服务器检索相关参数对播放器程序初始化。这些参数可能包括目录信息、 a v 数据的编码类型或与a v 检索相关的服务器地址。a v 播放器程序及a v 服 务器运行实时流控制协议( r t s p ) ,以交换a v 传输所需的控制信息。r t s p 提供 了操纵播放、快进、快倒、暂停及录制等命令的方法。a v 服务器使用r t p u d p 协议将a v 数据传输给a v 客户程序( 一般可认为客户程序等同于播放器程序) , 一旦a v 数据抵达客户端,a v 客户程序即可播放输出。 需要说明的是,在流式传输中,使用r t p u d p 和r t s p t c p 两种不同的通信协 议与a v 服务器建立联系,是为了能够把服务器的输出和客户端的接收建立双重 联系,分别来传送数据信息和控制信息。 1 2 北京邮电人学硕1 研究生毕业论文 l i n u x 下视频点播系统服务器的实现 第二章1 i n u x 介绍 2 1 l i n u x 操作系统简介 l i n u x 是目前唯一可免费获得的、为p c 机的多个用户提供多任务、多进程功 能的操作系统。安装l i n u x ,不仅可以亲身体验成为系统管理员的个中滋味,为 用户了解世界上流行的u n i x 操作系统提供了廉价的机会:还可以通过在网络上开 放一些服务而建立自己的网站。现今比较流行的版本是:t u r b ol i n u x 、r e d h a t l i n u x 、s l a c k w a r el i n u x 、s o l a r i s 。我国支持的是红旗l i n u x 。 l i n u x 以其优越稳定的网络服务器性能征服了众多的软、硬件制造商和广大计 算机迷。据c n e t 报导,i d c 资料显示,l i n u x 在伺服器市场已经夺下第二名的宝 座。从1 9 9 8 到1 9 9 9 ,l i n u x 在伺服器市场的占有率从1 6 大幅成长为2 5 ,i d c 原本预期l i n u x 将在2 0 0 2 或2 0 0 3 年实现市场占有率第二,没想到这个预测1 9 9 9 就实现了。 l i n u x 操作系统在短短的几年之内得到了非常迅猛的发展,这与l i n u x 具有的 良好特性是分不开的。l i n u x 包含了u n i x 的全部功能和特性。简单的说,l i n u x 具有以下主要特性: 1 开放性 开放性是指系统遵循世界标准规范,特别是遵循开放系统互连( o s i ) 国 际标准。凡遵循国际标准所开发的硬件和软件,都能彼此兼容,可方便地实 现互连。 2 多用户 多用户是指系统资源可以被不同用户各自拥有使用,即每个用户对自己的 资源( 例如:文件、设备) 有特定的权限,互不影响。l i n u x 和u n i x 都具有 多用户的特性。 3 多任务 多任务是现代计算机的最主要的一个特点。它是指计算机同时执行多个程 序,而且各个程序的运行互相独立。l i n u x 系统调度每一个进程平等地访问微 处理器。由于c p u 的处理速度非常快,其结果是,启动的应用程序看起来好 北京邮电大学硕| :研究生毕业论文 l i n u x 下视频点播系统服务器的实现 像在并行运行。事实上,从处理器执行一个应用程序中的一组指令到l i n u x 调度微处理器再次运行这个程序之间只有很短的时间延迟,用户是感觉不出 来的。 4 良好的用户界面 l i n u x 向用户提供了两种界面:用户界面和系统调用。l i n u x 的传统用户 界面是基于文本的命令行界面,即s h e l l ,它既可以联枫使用,又可存在文件 上脱机使用。s h e l l 有很强的程序设计能力,用户可方便地用它编制程序,从 而为用户扩充系统功能提供了更高级的手段。可编程s h e l l 是指将多条命令 组合在一起,形成一个s h e l l 程序,这个程序可以单独运行,也可以与其他 程序同时运行。 系统调用给用户提供编程时使用的界面。用户可以在编程时直接使用系统 提供的系统调用命令。系统通过这个界面为用户程序提供低级、高效率的服 务。 l i n u x 还为用户提供了图形用户界面。它利用鼠标、菜单、窗口、滚动条 等设旌,给用户呈现一个直观、易操作、交互性强的友好的图形化界面。 5 设备独立性 设备独立性是指操作系统把所有外部设备统一当作成文件来看待,只要安 装它们的驱动程序,任何用户都可以象使用文件一样,操纵、使用这些设备, 而不必知道它们的具体存在形式。 具有设备独立性的操作系统,通过把每一个外围设备看作一个独立文件来 简化增加新设备的工作。当需要增加新设备时、系统管理员就在内核中增加 必要的连接。这种连接( 也称作设备驱动程序) 保证每次调用设备提供服务 时,内核以相同的方式来处理它们。当新的及更好的外设被开发并交付给用 户时,操作允许在这些设备连接到内核后,就能不受限制地立即访问它们。 设备独立性的关键在于内核的适应能力。其他操作系统只允许一定数量或一 定种类的外部设备连接。而设备独立性的操作系统能够容纳任意种类及任意 数量的设备,因为每一个设备都是通过其与内核的专用连接独立进行访问。 l i n u x 是具有设备独立性的操作系统,它的内核具有高度适应能力,随着 更多的程序员加入l i n u x 编程,会有更多硬件设备加入到各种l i n u x 内核和 1 4 北京邮电人学硕 研究生毕业论文 l i n u x 下视频点播系统服务器的实现 发行版本中。另外,由于用户可以免费得到l i n u x 的内核源代码,因此,用 户可以修改内核源代码,以便适应新增加的外部设备。 6 供了丰富的网络功能 完善的内置网络是l i n u x 的一大特点。l i n u x 在通信和网络功能方面优 于其他操作系统。其他操作系统不包含如此紧密地和内核结合在一起的连接 网络的能力,也没有内置这些联网特性的灵活性。而l i n u x 为用户提供了完 善的、强大的网络功能。 支持i n t e r n e t 是其网络功能之一,l i n u x 免费提供了大量支持i n t e r n e t 的软件,i n t e r n e t 是在u n i x 领域中建立并繁荣起来的,在这方面使用l i n u x 是相当方便的,用户能用l i n u x 与世界上的其他人通过i n t e r n e t 网络进行通 信。文件传输是其网络功能之二,用户能通过一些l i n u x 命令完成内部信息或 文件的传输。远程访问是其网络功能之三,l i n u x 不仅允许进行文件和程序的 传输,它还为系统管理员和技术人员提供了访问其他系统的窗口。通过这种 远程访问的功能,一位技术人员能够有效地为多个系统服务,即使那些系统 位于相距很远的地方。 7 可靠的系统安全 l i n u x 采取了许多安全技术措施,包括对读、写进行权限控制、带保护的 子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要 的安全保障。 8 良好的可移植性 可移植性是指将操作系统从一个平台转移到另一个平台使它仍然能按其 自身的方式运行的能力。l i n u x 是一种可移植的操作系统,能够在从微型计算 机到大型计算机的任何环境中和任何平台上运行。可移植性为运行l i n u x 的 不同计算机平台与其他任何机器进行准确而有效的通信提供了手段,不需要 另外增加特殊的和昂贵的通信接口。 2 2 l i n u x 网络编程 所有网络都是基于通信协议进行工作,大多数l i n u x 系统都使用t c p i p 协议与 网络连接;i n t e r n e t 和许多局域网都使用这种协议。 巍豪瓣l 毪火学鞭士移 究生毕烂滏文 l i n u x 下搅舞赢撬系缝骚务器弱宴巍 爨络程序程普邋熬程序有一个最大熬区瘸楚网络程序楚国秀个帮分缝成静一 一客户端和服务器端。网络程序怒先由服务器程序启动,等待客户端程序运行并 建立连接。一般来说是服务端程序在一个端口上监听,直到有一个客户端程序发 寒请求。 t c p ( t r a n s f e rc o n t r o lp r o t o c 0 1 ) 传输控制协议是一种丽向连接的协议,当 我们的网络程序使用这个协议的时候,网络可以保证我们的辑户端和服务端的遣 接是霹靠豹,安全戆。 u d p ( u s e rd a t a g r a m p r o t o c 0 1 ) 用户数据报协议是一种非蕊向连接的协议,这 种协议并不能保证我们的网络程序的连接是可靠的,所以我们现在编写的程序一 般是采怒t c p 耱议静。 2 2 1 套接翻网络编程 l i n u x 系统是通过提供套接口( s o c k e t ) 来进行网络编程的。网络程序通过 s o c k e t 葶羹萁它凡个避数熬满耀,会返銎一个通讯翡文 串箍述符,我们可馥将这个 描述符蓊成普通的文件的描述符来操作,这就是l i n u x 的设餐无关j | 生的好处。我 们可以通过向描述符读写操作实现网络之间的数据交流。下面将简要介绍一下 s o c k e t 、b i n d 、l i s t e n 、c o n n e c t 、a c c e p t 、r e c v 帮s e n d 几个系统蕊数的参数。 s o c k e t ( ) 每一个褰接日都是一个数据透信通遵。在两个避程通j 窭套接掰j 建立连接者,它们 就是用套接口攒述来从套接网中读取数撼,蒉向套接口中写数据。 系统调用s o c k e t 带有以下参数: s o c k e t ( i n td o m a i n ,i n tt y p e ,i n tp r o t o c 0 1 ) d o m a i n :说明我们网络程序掰在的主枧采用静遴滚协议族。 t y p e :网络程序所采用的通讯协议( s o c k s t r e a m ,s o c k d g r a m 等) 。s o c k _ s t r e a m 表明用的是t c p 游议,提供按顺序、可靠、取向、面向连接的眈特流。s o c kd g r a m 表明用的是u d p 协议,这样只会提供定长瓣、不可靠、无连接毂逶镫。 p r o t o c o l :由于我们指定了t y p e ,所以这个地方一般只要用0 来代替就可以了。 s o c k e t 为溺络邋讯做基本的准备。成功对返圈文件描述符,失败时邋回一1 ,由返 北京邮也人学硕t :t j t - 究生毕业论义 l 1 n u x 下视频点播系统服务器的实现 回的e r r n o 可知道出错的详细情况。 b i n d 0 函数b i n d 将一个进程和一个套接口联系起来。函数b i n d 通常用于服务器进程中 为接入的客户连接建立个套接口。函数b i n d 的参数如下: b i n d ( i n ts o c k e t ,s t r u c ts o c k a d d r * m y a d d r , i n tm y a d d r _ a d d r l e n ) s o c k e t :是前一个对函数s o c k e t 调用返回的套接口值。 a d d r l e n :是s o c k a d d r 结构的长度。 m y a d d r :是一个指向s o c k a d d r 的指针。在u s r i n c l u d e l i n u x s o c k e t h 中有 s o c k a d d r 的定义: s t r u c ts o c k a d d r u n i s g n e ds h o r ta s f a m i l y : c h a rs ad a t a 1 4 : j : 我们主要使用i n t e r n e t 所以s i n f a m i l y 一般为a f i n e t ,s i n a d d r 设置为 1 n a d d ra n y ,表示可以和任何的主机通信,s i n p o r t 是我们要监听的端口号。 s i n z e r o 8 是用来填充的。b i n d 将本地的端口同s o c k e t 返回的套接口值捆绑在 一起。成功是返回o ,失败的情况和s o c k e t 一样。 l i s t e n 0 在套接口被创建并和进程联系在一起以后,服务器型的进程可以调用1 i s t e r n 函 数来监听接入的套接口连接。系统调用1 i s t e n 的参数如下: 1 i s t e n ( i d ts o c k e t ,i n ti n p u t q u e u e s i z e ) s o c k e t :整型的套接口值,是由前一个对函数s o c k e t 的调用返回的。 i n p u t q u e u e s i z e :指定接入的队列大小。当有多个客户端程序和服务端相连时, 使用这个表示可以介绍的排队长度。1 i s t e n 函数将b i n d 的文件描述符变为监听 套接口。返回的情况和b i n d 一样。 北京邮电大学硕f :研究生毕业论文 l i n u x 下 ;! i l 频点播系统服务器的实现 c o n n e c t0 系统函数c o n n e c t 用来将本地套接口与远程服务联系起来,它的一般用法是为运 行在远程计算机上的服务器程序指定计算机主机的信息。函数c o n n e c t 的参数为: c o n n e c t ( i n ts o c k e t ,s t r u c ts o c k a d d r * s e r v e r a d d r e s s i n ts e r v e r _ a d d r e s s l e n g t h ) s o c k e t :是由系统函数s o c k e t 的返回值定义的。 s o c k a d d r :数据元素是一个由1 4 个8 比特字组成的数据块,用来指定协议的地址。 r e v 0 函数r e v 用来接收从已经连接的套接口传来的消息,此套接口已经通过c o n n e c t 与另一个套接口连在一起。函数r e c v 的参数是: r e c v ( i n ts o c k e t ,v o i d b u f ,i n tb u l l e n ,u n s i g n e di n tf l a g s ) s o c k e t :定义了一个s o c k e t ,此s o c k e t 必须是使用c o n n e c t 与一个端口连接好 的。 b u f :是指向内存块的指针,此内存块用来存储接收的信息。 b u l l e n :指定所保留的内存块的大小。 s e n d 0 系统调用s e n d 用来通过套接口向其他程序传递数据。客户端和服务器端都是用函 数s e n d ;客户端应用程序使用s e n d 向远程服务进程传送服务请求,服务器端应 用程序使用s e n d 向客户端返回数据。函数s e n d 带有以下参数: s e n d ( i n ts o c k e t ,c o n s tv o i d * m e s s a g e d a t a , i n t m e s s a g e d a t a _ l e n g t h ,u n s i g n e di n tf l a g s ) s o c k e t :是调用函数s o c k e t 时返回的套接口值。 m e s s a g e d a t a :包含了要传送的数据。 m e s s a g e d a t a _ l e n g t h :指定信息数据的大小。 总结 总的来说网络程序是由两个部分组成的客户端和服务器端。它们的建立步骤 一般是: 北京邮电人学硕i 研究生毕业论文 l i n u x 下视频点播系统服务器的实现 服务器端s o c k e t = = b i n d = = l i s t e n = 2 ) a c c e p t 客户端 s o c k e t - - c o n n e c t 下表3 1 给出了与插口有关的系统函数的简要小结 表3 1 插口函数及其含义的小结 函数名含义 s o c k e t创建一个用于网络通信的描述符 c o n n e c t连接一个远程对等实体( 客户机) w r l t e 通过一个连接发送出数据( o u t g o i n gd a t a ) r e a a 从一个连接中获得入数据( i n c o m i n gd a t a ) c 1 0 s e中止通信并释放一个描述符 b i n d将一个本地i p 地址和一个协议端口号绑定到一个插口上 1 i s t e n 将插口置于被动模式,并设置在系统中排队的t c p 入连接的个数 ( 服务器) a c c e p t接收下一个入连接( 服务器) r e c v 接收下一个流进的数据报 i r e c v m s g接收下一个流进的数据报( r e c v 的变种) l s e n d 发送一个流出的数据报 2 2 2l i n u x 程序编译 在l i n u x 开发环境下工作,使用g n uc + + 编译器完成c h 代码的编译,使用 g + + 命令,g + + 还可使用如下选项: 一w 选项,发出警告信息 一0 选项,对代码进行不同级别的优化 一g 或一g g d b 3 选项,产生调试符号 一1 选项,使用库中的代码程序很大时,使用g u nm a k e ,即在m a k e f i l e 文件中定义创建程序自动编译和连接的规则,接着使用g n um a k e 处理这个文件并 创建工程,该程序调用编译器、连接器、汇编器和其他来创建最终可执行文件所 必需的程序。 9 北京邮电大学硕i 。研究生毕业论文l i n u x 下视频点播系统服务器的实现 第三章k o d 项目综述 3 1 被开发软件的一般描述 本系统采用基于w e b 的客户机服务器机制,设计并实现一个l i n u x 平台上的 多用户视频点播系统。服务器端操作系统采用l i n u x2 4 x ,用户端只需一个浏 览器即可点播节目。 系统是由客户端发起的,服务器处于被动状态,等待客户的各种请求,然后 通过消息触发和消息响应机制来完成它的工作。软件应用的主要过程是这样的: 首先,用户通过i p 地址或者域名向服务器发出连接请求,服务器向客户机发送用 户名和密码文本输入框;用户在输入框中输入用户名和密码,服务器收到后进行 身份验证,如果是合法用户,检查当前用户是否已满,如果未满,则向该用户发 送节目目录。否则,返回拒绝请求页面。用户从收到的节目目录中选择节目进行 点播,在点播过程中可对节目进行暂停,快进,倒带等交互操作。当用户要断开 连接,服务器返回该用户本次连接的费用。 我们的系统支持m p e g 一1 ,m p e g 一2 节目流。 我们要开发的软件包括两个部分:服务器部分和客户部分。服务器软件装在 多媒体服务提供机构( s e r v e r 上) ,用户界面通过浏览器下载。 系统组成基本模型 外部接口基本模型 北京邮电大学硕i :研究生毕业论文 l i n u x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论