《毕业设计基于P2P教学辅导系统论文.doc》由会员分享,可在线阅读,更多相关《毕业设计基于P2P教学辅导系统论文.doc(52页珍藏版)》请在三一办公上搜索。
1、基于p2p教学辅导系统目 录摘 要3ABSTRACT4第1章 绪论51.1 课题的国内外研究现状和存在的问题51.2 IPTV技术在高校教务管理系统中的应用现状61.3 论文主要研究内容61.4 论文结构安排7第2章 相关理论及技术82.1 流媒体82.1.1流媒体技术82.1.2 流式传输的特点92.1.3流媒体技术原理102.2 MVC概述112.2.1 MVC模式112.2.2 JSF框架122.3流媒体关键技术122.3.1视频压缩编码132.3.2操体服务器132.3.3流媒体传输142.4 对等网络技术在IPTV中的应用142.5 p2p流媒体162.5.1 P2P流媒体系统网络结
2、构16第3章 系统需求分析183.1教学辅助系统总体需求183.1.1目标需求183.2系统业务流程分析193.2.1选课子系统业务流程分析193.2.2用户管理子系统业务流程分析203.2.3成绩子系统业务流程分析213.2.4考勤子系统业务流程分析22第4章 系统设计244.1系统设计目标244.2系统架构设计244.2.1系统逻辑体系结构244.2.2系统网络拓扑图254.3系统功能设计264.3.1 在线选课264.3.2用户管理子系统设计274.3.3成绩子系统设计284.3.4视频子系统设计294.3.5 p2p流媒体视频下载294.4系统数据库设计324.4.1数据对象模型设计3
3、24.4.2 数据对象E-R图334.4.3 数据访问33第5章系统实现355.1 开发环境与工具355.2 JSP与p2p流媒体数据交互365.2.1流媒体与JSP365.2.2 交互的JSP流媒体系统36第六章 系统运行及效果406.1 系统信息公告406.2 作业管理416.3 考勤管理436.4 视频点播效果图44结束语45致谢47参考文献48摘 要教学辅导系统是高校信息管理现代化的基础及关键,传统教学辅导依靠人工操作,十分耗时和费力。开发一种基于分布、网络计算的智能教学辅导平台迫在眉睫。本论文结合教学际情况,给出了一种新的高校教学辅导系统的整体模型设计,提出了和J2EE架构技术相结合
4、的设计思路。传统教学辅导系统采用ASP等服务器端脚本语言开发而成,系统业务逻辑与表示层混合在一起,系统可重用性、可移植性等方面较差。因此本文引入业界广泛使用并十分成熟的J2EE体系结构。在以上研究工作的基础上,提出了一个Windows平台下的基于流媒体的视频点播系统的设计方案该方案采用了客户/服务器模式,将系统的设计问题分化为客户端的设计与服务器端的设计,这样简化了系统设计的复杂度,在具体的实现上,客户端和服务器端又分别采用了模块化的思想,简化了实现的难度。采用MVC设计模式并运用JSF Web应用框架来设计和开发一个教学系统,从而试图克服上述的缺点。本系统的主要业务功能是学生考勤管理、课程管
5、理、选课系统开发、成绩管理等。系统遵循软件工程的思想,完成了教学系统的设计。最后,对本文的研究内容进行了总结,并展望了进一步的研究工作。关键词:J2EE;教学辅导系统;MVC;JSFAbstract College teaching management is the foundation of modernization of college information management. The traditional teaching management depends on manual operation, which is time-consuming and laborious
6、. Its critical to develop an intelligent teaching management system based on distributed and network computing.Combined with the present situation of our schools teaching management, the thesis gives a new design model of college management system based on campus network, and proposes a new design c
7、ombining data mining with J2EE teehnology.The traditional teaching system was developed by using ASP or other server scripts, which make reuse and transplantablity poor ,because business logical layer and presentation layer are mixed together.To overcome above disadvantages, the author introduces J2
8、EE, which is widely used in present industry, designs and develops a new teaching management system by adopting MVC model and JSF web framework. The developed teaching management system contains suchmain functions as student information management,teacher management, select-course management, and sc
9、ore management. This thesis completes the static and dynamic modeling of the system by using pd as model language and following the software engineering.At last, a summarization about this thesis and future research workare given.Key words:j2ee; teaching management system; MVC;JSF第1章 绪论1.1 课题的国内外研究现
10、状和存在的问题近年来随着高等教育事业的蓬勃发展,高校教务管理的工作量随之增加。与此同时,计算机应用不断普及、网络速度不断提高,如何充分利用这些资源,使传统的教育方式更好地适应网络时代的发展,是教育领域面临的重大机遇和挑战。教学辅导管理系统(以下简称教学管理系统)是高校的主要日常管理工作之一,涉及到校(院)、系、教师、学生等诸多方面,随着教学体制的不断改革,尤其是学分制、选课制的展开和深入,教学日常管理工作日趋繁重、复杂。计算机化的高校管理系统充分利用计算机和网络资源优势,将全校教师、学生、课程、学生成绩、教室等信息统一管理,代替人工操作,大大提高了工作效率和准确度。在国外,据1999报告显示在
11、美国越来越多的大学通过校园网为师生提供各种服务。约有70.2%1的大学允许学生通过互联网来递交入学申请表。同时,为学生提供在线课程目录的大学比例也从1997年的65.2%1增加到1999年的76.9%1;国内高校教务管理系统的发展主要经历了下面几个阶段2。第一个阶段是基于单机的教务管理系统,这类系统管理内容和功能比较简单,数据不能有效共享,现在已经被淘汰;第二个阶段是基于C/S(Client/Server)模式的教学管理系统,此系统由客户端应用程序和服务器端管理程序组成,其中的客户机被称为“胖”客户机,因为它的业务逻辑全部集中在客户端,在维护和升级上需要耗费大量精力;第三个阶段是基于B/S(B
12、rowse/Server)模式的教学管理系统,也是当今的主流开发模式。目前国内大多数高校的教务管理系统是B/S和C/S模式相结合的开发模式,获得了不错的效果,比如清华大学和西南交通大学的高校教务管理系统都是国内较为先进2的教务系统。但是此类系统也存在着下面的许多问题。以西南交通大学的教务管理系统为例,系统中处理业务逻辑的代码都嵌套在HTML页面中,这样使得表示层与业务逻辑混合在一起,使得页面难以修改和维护,所以需要改进系统的分层结构。同时系统在可复用性、可扩展性上有待改进。1.2 IPTV技术在高校教务管理系统中的应用现状IPTV即网络电视,它是利用IP宽带网络,以“电视机+机顶盒”为主要终端
13、设备,为用户提供包括电视节目在内的互动多媒体服务的宽带增值业务。IPTV能提供点播、广播/直播、视频通信、短信/彩信、信息服务、游戏等业务。 IPTV技术是一项系统技术,主要包括音视频编解码技术、流媒体传送技术、宽带接入网络技术、IP机顶盒技术等。1.3 论文主要研究内容J2EE是一种利用Java2 平台来简化企业级解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是Java 2平台标准版。目前它已经成为企业级应用开发的首选解决方案。本文的主要工作如下:(1)系统 研究了J2EE的体系结构,对体系结构中的各个技术做了简要介绍。(2) 对MVC(Model-View-Con
14、troller)设计模式作了详细介绍,研究了它三个组成部分的职能。接下来对它的实现框架JSF进行分析,并分析了JSF的工作作流程。(3)以 MVC设计模式为基础,运用J2EE相关技术和JSF框架构建高校教学管理系统是本论文工作的核心。作者分析了一些大学教务管理系统的实现机制,以及开发模式,业务逻辑与表示层代码混合在一起,可读性和可修改性较差,因此提出了用新的技术和框架建立一个可复用性好,扩展性强和分层结构清晰的教务系统。对系统的需求进行了较全面的分析和总结,给出了系统的业务流程、系统的用例图,然后对系统进行了总体设计和详细设计,包括数据库设计,系统的功能及结构设计,最后是编码实现。1.4 论文
15、结构安排第一章 绪论:论述了课题的国内外研究现状及存在的问题,并在高校教务系统中引入IPTV技术,探讨其应用现状。第二章 论文相关理论和技术:对论文中用到的相关技术做了简要的介绍,主要有J2EE体系结构、MVC设计模式、JSF框架以及IPTV的概念。第三章 教学辅助系统需求分析:作者首先分析了系统的总体目标和业务功能需求,然后就各个子系统如考勤系统、作业管理系统、成绩系统、教师系统给出了其业务流程,最后给出了它们各自的流程分析图。第四章 教学辅助系统的设计:首先分析系统的功能及结构设计,然后对系统数据库进行详细设计。 第五章 教学辅助系统实现:首先对开发环境和开发工具作了简要的介绍,然后阐述了
16、系统的实现思路。最后给出选课系统、作业管理系统、成绩系统、课程管理系统和课件点播系统的详细设计与实现过程。第六章 系统运行及效果图:截取系统的一些典型的运行效果图并做简单的介绍。结 束 语 :总结论文工作的成果及需要进一步研究的内容。第2章 相关理论及技术2.1 流媒体随着现代网络通信技术的发展,网络开始带给人们形式多样的信息。从在网络上出现第一张图片到现在各种形式的网络视频、三维动画,人们的视听觉在网络上得到了很大的满足。但人们又面临着另外一种不可避免的尴尬:在网络上看到生动清晰的媒体演示的同时,不得不为等待传输文件而花费大量时间。为了解决这个矛盾,一种新的媒体应用技术应运而生,这就是流媒体
17、技术。所谓流媒体(Streaming Media)是指在网络中使用流式传输技术的连续时基媒体,如音频、视频或多媒体文件。显然,流媒体实现的关键技术就是流式传输。而流式传输技术就是把连续的声音和图像信息经过压缩处理后放到网站服务器上,让用户一边下载一边收听观看,而不需要等待整个文件下载到自己的机器后才可以观看的网络传输技术。在这种传输方式下,即使在网络非常拥挤或很差的拨号连接条件下,也能提供清晰、不中断的视音频媒体信息给客户,从而使得窄带互联网传输多媒体成为可能。2.1.1流媒体技术实现流式传输有两种方法 :顺序流式传输 ( progressive streaming transport)和实时
18、流式传输 (real-time streaming transport)。实际应用中采用哪种传输方法可以根据需要进行选择。1.顺序流式传输顺序流式传输是顺序下载,在下载文件的同时用户可以在线观看媒体信息,在给定时刻,用户只能观看已下载的那部分,而不能跳到还未下载的部分。顺序流式传输不像实时流式传输那样,在传输期间根据用户连接的速度做调整。由于标准的HTTP服务器可提供顺序流式传输服务,也不需要其他特殊协议,所以顺序流式传输经常被称作HTTP流式传输。顺序流式传输比较适合高质量的短片段,如片头、片尾和广告,由于该文件在播放前观看的部分是无损下载的,这种方法保证了多媒体播放的最终质量。但这也意味着
19、用户在观看前,必须经历延迟,对较慢的连接尤其如此。对通过调制解调器发布短片段,顺序流式传输显得很实用,它允许用比调制解调器更高的数据速率创建视频片段。尽管有延迟,毕竟可让你发布较高质量的视频片段。顺序流式文件是放在标准 HTTP或 FTP服务器上,易于管理,基本上与防火墙无关。顺序流式传输不适合长片段和有随机访问要求的视频,如:讲座、演说与演示。它也不支持现场广播,严格说来,它是一种点播技术。2.实时流式传输实时流式传输是指保证媒体信号带宽与网络连接带宽相配匹,使媒体可以被实时得看到。实时流与HTTP流式传输不同,他需要专用的流媒体服务器与传输协议。实时流式传输总是实时传送,特别适合现场事件,
20、也支持随机访问,用户可快进或后退以观看前面或后面的内容。理论上,实时流一经播放就可不停止,但实际上,可能发生周期暂停。由于实时流式传输必须配匹连接带宽,这就意味着在以调制解调器速度连接时图象质量较差。而且,如果因为网络拥塞或出现其它问题而导致出错和丢失信息被忽略掉,那么视频质量也会很差。实时流式传输需要专用的流媒体服务器,如QuickTime Streaming Server, RealServer与Windows Media Server。这些服务器允许对媒体发送进行更多级别的控制,因而系统在设置、管理方面要比标准 HTTP服务器更加复杂。实时流式传输还需要特殊网络协议支持,如:RTSP(R
21、ealtime Streaming Protocol)等。这些协议在有防火墙时可能会出现一些问题,导致用户不能看到一些实时内容。2.1.2 流式传输的特点流式传输与单纯的下载方式相比,有以下优势:1.启动延时大幅度地缩短在采用流式传输方式的系统中,用户不必像非流式播放那样等到整个文件全部下载完毕后才能欣赏多媒体内容,而是只需经过几秒或几十秒的启动延时就可以欣赏了,大大缩短了启动延时。2.对系统缓存容量的需求大大降低由于互联网是以包传输为基础进行断续的异步传输,数据被分解为许多包在网络上进行传输,动态变化的网络使各个数据包可能选择不同的路由,故到达用户计算机的时间延迟也就不同。所以,在客户端需要
22、缓存系统来弥补延迟和抖动的影响和保证数据包传输顺序的正确,使媒体数据能够连续输出,不会因网络暂时拥堵而使客户端的播放出现停顿。虽然流式传输仍需要缓存,但由于不需要把所有的动画、视音频内容都下载到缓存中,因此,对系统缓存的要求大大降低。3.流式传输的实现有特定的实时传输协采用RTP(Realtime Ttransport Protocol)/RTCP(Realtime Transport Control Protocol), RTSP等实时传输协议,更加适合视音频多媒体信息在网络上的流式传输。2.1.3流媒体技术原理流式传输的实现需要合适的传输协议。由于 TCP传输需要较多的开销,故不太适合传输
23、实时数据。在流式传输的实现方案中,一般采用 HTTP/TCP来传输控制信息,而用实时传输协议/用户数据报协议 (RTP/UDP)来传输实时数据。流式传输的实现需要缓存。因为一个实时视音频源或存储的视音频文件在传输中被分解为许多数据包,而网络又是动态变化的,各个数据包选择的路由可能不相同,故到达客户端的时延也就不同,甚至先发的数据包有可能后到。为此,需要使用缓存系统来消除时延和抖动的影响,以保证数据包顺序的正确,从而使媒体数据能够连续输出。通常高速缓存所需容量并不大,因为通过丢弃已经播放的内容可以重新利用空出的空间来缓存后续尚未播放的内容。流式传输的过程一般如下:用户选择某一流媒体服务后,Web
24、浏览器与 Web服务器之间使用HTTP/TCP交换控制信息,以便把需要传输的实时数据从原始信息中检索出来; Web浏览器启动音视频客户程序,使用HTTP从Web服务器检索相关参数来对视音频客户程序初始化,这些参数可能包括目录信息、视音频数据的编码类型或与视音频检索相关的服务器地址;视音频客户程序及音视频服务器运行实时流传输协议,以交换音视频传输所需的控制信息,实时流传输协议提供执行播放、快进、快倒、暂停及录制等命令的方法;视音频服务器使用RTP/UDP协议将视音频数据传输给视音频客户程序,一旦视音频数据抵达客户端,视音频客户程序即可播放输出。需要说明的是,在流式传输中,使用RTP/UDP和RT
25、SP/TCP两种不同的通信协议与视音频服务器建立联系,目的是为了能够把服务器的输出重定向到一个非运行视音频客户程序的客户机的目的地址。另外,实现流式传输一般都需要专用服务器和播放器。流媒体技术的原理如图3-1所示:2.2 MVC概述MVC是Model-View-Controller的简称,即模型一视图一控制器。MVC是Xerox在8O年代为Smalltalk语言提出的一种设计模式,其核心为三个模块:模型、视图和控制器。该设计模式如今己被广泛使用。2.2.1 MVC模式在最初的 B/S应用开发过程中,一般处理业务逻辑代码都嵌入在HTML页面中。这样做使得表示层与业务逻辑混合在一起,页面难以修改和
26、维护。M VC设计模式把输入、输出和处理分成独立的处理模块,并在系统运行时将其结合,这样使得程序开发的藕合度非常低。其中,视图负责与用户交互,接收用户输入,并将结果返回给用户,视图一般由JSP页面组成;模型用来处理软件要涉及的业务范围,它主要是业务数据模型和业务逻辑模型,并通常负责与后台数据库交互,模型一般由JavaBean。 EJB等组成;控制器是整个MVC模型的核心,它起着总体协调和控制的作用,如调用某个模型组件完成某些业务功能并最终向用户返回某个视图组件。2.2.2 JSF框架JSF(或者Faces)是构建Java Web应用的UI框架,它基于Java社区流行(JCP)开发,已经成为ja
27、vaEE的一部分。Faces的一个主要目标是为Java Web应用开发领域带来RAD风格的应用开发,就像Microsoft Visual Basic 和 Borland Delphi一样。JSF提供一系列标准部件(按钮、超链接和复选框)、创建定制部件的模型以及在服务器端处理客户端产生事件的方式,并且有良好的工具支持。还可以同步UI组件和相关对象的值,而且不必编写太多令人生厌的代码。所有的JSF应用都构建于Servlet API之上,使用HTTP进行通信,并且使用JSP之类的显示技术。JSF应用并不是一定需要JSP。它也可以使用XML/XSLT、其他模板引擎或者普通Java代码等作为显示技术。然
28、而,Faces实现提供了对JSP的集成基础 。Faces的组件架构使用JavaBean来处理属性并提供基本的工具支持以及事件模型和其他一些东西。JSF被视为Web应用框架,是因为它执行了许多通用的开发任务,所以开发人员可以更加集中精力于更有趣的事情,比如业务逻辑。它的一个关键特征是支持模型2设计模式,这样可以实现表示与业务逻辑代码之间的分离。但是,Faces主要还是集中于UI组件和事件。因此,它可以很好地与其他框架集成,比如Struts,并且与高层次框架的功能有一些生命之处。2.3流媒体关键技术为了在网络上实现较好的流媒体播放质量,需要考虑流媒体传输的所有环节。其中,影响传输质量的三个最关键的
29、因素是:编码和压缩的性能和效率,媒体服务器的性能,媒体流传输的质量控制。2.3.1视频压缩编码影响流媒体压缩编码性能的主要因素有压缩效率和编码的冗余性和可靠性。压缩效率要求在保证一定视音频质量的前提下,媒体流的码流速率尽量的低。由于流媒体的特性,要考虑网络中传输数据丢失对解码质量的影响。为此,可以采用先进的编码技术,比如错误弹性编码(Error-Resilient Encoding),在编码中通过适当的控制使得发生数据丢失后能够最大限度的减少对质量的影响。在互联网络环境下,最典型的方法是多描述编码(Multiple Descriptor Coding, MDC) MDC把原始的视频序列压缩成多
30、位流,每个流对应一种描述,都可以提供可接受的视觉质量。多个描述流结合起来可以提供更好的质量。另外,流媒体的压缩编码还要提供速率调节的能力,因为网络的拥塞状况是不断变化的,流媒体的编码必须能够适应网络速率的变化。一种方法是采用可扩展的层次编码,将多媒体数据压缩编码成多个子位流,其中一个可以独立解码,产生粗糙质量的视频序列,它适应最低的网络带宽,称为基本码流;其他的子位码流可以按层为单位在任何地点截断,称为增强层,用来覆盖网络带宽变化的动态范围,它们不可以单独解码,而只能与基本层和它以前的增强层结合在一起解码,用来提高观看效果。2.3.2操体服务器随着流媒体规模的扩大,流媒体服务器的性能成为制约流
31、媒体服务扩展能力的重要因素:流媒体服务器性能的关键指标是流输出能力和能同时支持的并发请求数量。影响流媒体服务器性能的因素很多,包括CPU能力,I/O总线,存储带宽等。因为单个流媒体服务器的并发数都相对的比较小,因此很多服务器都采用了大规模并行处理的结构来获得更好的性能。例如采用超立方体的结构将各个流媒体服务单元连接起来。还有一种方法就是采用简单的PC集群方式,多个PC流媒体服务器用局域网连接,前端采用内容交换/负载均衡器将流媒体服务的请求分布到各个PC媒体服务单元。后一种方式性能稍低,但成本低、易实现。当媒体服务器响应客户的视频流请求以后,它从存储系统读入一部分视频数据到对应于这个视频流的特定
32、缓存中,再把缓存的内容通过网络接口发送给相应客户,保证视频流的连续输出。目前存在三种类型的视频服务器结构:通用主机方法。采用计算机主机作为视频服务器。它的主要功能是存储、选择、传送数据。缺点是系统成本高而且不利于发挥主机功能。紧祸合多处理机。把一些可以大量完成某指令或者专门功能的硬件单元组合成的专用系统级联起来,就构成了紧祸合多处理机实现的视频服务器。这种服务器费用低、性能高、功能强,但是扩展性较差。调谐视频服务器。这种服务器主板上有一个独特微码的嵌入式仿真器控制。通过在主板中插入更多的服务通路,可以方便地进行扩展2.3.3流媒体传输由于流媒体传输对网络带宽、延时、丢失率等都有很高的要求,而目
33、前的互联网只提供了Best-effort的服务,对带宽资源和服务质量的控制能力都比较弱,在互联网上传输流媒体需要采用一些应用层的质量控制机制来解决传输中的问题。最常用的方式是采用速率适应机制,基本方法是通过一定的速率反馈机制,利用流媒体的速率层次编码能力,在媒体服务器端动态的调节流媒体的传输速率,保证客户端在网络可用带宽变化的时候也能正常的欣赏多媒体节目。速率适应机制附以差错控制和冗余控制能够有效的保证流媒体的正常收看。2.4 对等网络技术在IPTV中的应用1.IPTV的现状国内IPTV与P2P一直是沿着两个不同的方向发展。由于IPTV与传统电视收看方式相似,基本上被看作是有线电视(CATV)
34、或数字电视(DVB)的升级,因而在设计思路上沿用了与之类似的中央服务器的模式。在传统的方式中,网络基本上是广播式的单向信道,即客户端没有能力或只有很少能力发送上行信息,在这种方式下,所有的服务内容由中央服务器发送,所有的处理工作完全由中央服务器完成,无法实现P2P的连接。为了在C/S模式下解决IPTV中的服务器瓶颈问题,目前的方案大多拟采用组播技术,以及配合中央服务器一边缘服务器的内容分发策略(CDS)来实现。组播技术也是近年来十分热门的,优于广播方式的网络中一点对多点传输服务技术。在传统的一点对多点通信中,服务器对每一个请求连接的客户端都要建立独立的连接,一般的服务器最大能提供的连接数量是相
35、当有限的,因此这种方式并不适合媒体服务。广播方式下,可以不用为每个用户建立相应的连接,只将有需求的内容向每个子网以广播方式发送一份拷贝,这样可以保证所有用户都能接收到这份数据。但这种方式的弊端是显而易见的,大量的没有请求这项内容的用户也都收到了这份数据,这将造成网络数据的泛洪,引起阻塞。由此,产生了组播技术。在组播方式下,增加了一个组播组的概念,当用户请求服务时将加入这个组,服务器只向有需要的子网的组播地址发送一份数据拷贝,当这份数据到达子网路由器时,路由器将根据当前组成员状况进行发送,这样只有当前的组成员能够接收到这份数据,从而保证了带宽不被浪费。2.对等网络在IPTV中的应用组播对于减轻服
36、务器负担是有相当作用的,但是组播对硬件要求较高,需要数据源和接收者的下层网络都能支持组播协议。而且组播方式,依然没有利用到客户端的上行通道,即用户接收到的数据仍然不能转发给其他有相同需要的用户。传统网络方式与对等网络方式的网络结构对比如图1。采用对等网络技术的IPTV系统,对底层硬件基本没有要求,只需在应用层上修改即可。由于IPTV具有实时媒体的特点,网络节点并不需要保存资源信息的相关内容,每节点在某一时刻只能提供一种资源的服务,因此对等网络中基于搜索的机制完全可以不予考虑。另外,由于IPTV系统必须具备良好的用户认证收费管理子系统,以及提供相关增值服务的功能,因此不能允许用户随便加入网络,需
37、要有健全的用户管理机制。针对IPTV这种特性,在IPTV中应用对等网络技术,采用集中式的结构比较合适。在基于对等网络的IPTV系统中采用集中式结构,系统中应存在少量的中央服务器,这些服务器除了保存节目内容资源外,还要保存当前的节目单信息和正在收看节目的客户端信息。当用户请求收看某一节目时,服务器将返回正在收看该节目的用户,这里服务器可以根据请求来源的路由信息,在所有收看该节目的用户中挑选与请求用户最接近的,也就是连通性最好的用户信息进行返回。用户收到服务器返回的地址信息后,即开始与正在收看的用户进行连接,获取节目内容。2.5 p2p流媒体近年来,人们把P2P技术引入到流媒体传输中而形成了P2P
38、流媒体技术,该方法有两方面的优点。首先,这种技术并不需要互联网路由器和网络基础设施的支持,因此性价比高,且易于部署;第二,在这种技术中,流媒体用户不只是下载媒体流,而且还把媒体流上载给其他用户,因此,这种方法可以扩大用户组的规模,且更多的需求也带来了更多的资源。2.5.1 P2P流媒体系统网络结构目前存在很多P2P流媒体的研究成果及实际系统,它们在其覆盖网络的组织结构上可以被大体分成两大类,即基于树(Tree-based)的覆盖网络结构和数据驱动随机化的覆盖网络结构。(1)基于树的方法大部分系统都可以归类为基于树的方法。在这种方法中,节点被组织成某种传输数据的拓扑(通常是树,如图1所示),每个
39、数据分组都在同一拓扑上被传输。拓扑结构上的节点有明确定义的关系,例如,树结构中的“父节点-子节点”关系。这一方法是典型的推送方法,即:当节点收到数据包,它就把该数据包的拷贝转发到它的每一个子节点。既然所有的数据包都遵循这一结构,那么保证这一结构在给所有接受节点提供高性能时是最优的。更进一步,当节点随意加入和离开时,该结构必须得以维持。特别地,如果某节点突然崩溃或者其性能显著下降,它在该树结构上所有的后代节点都停止接收数据,且该树结构必须被修复。最后,当组建基于树的结构时,避免出现环是一个必须要解决的重要问题。基于树的方法可能是最自然的方法,不需要复杂的视频编码算法。然而,其中需要重点考虑的一个
40、问题是节点失效,特别地,靠近树根的节点失效将中断大量用户的数据传输,潜在地带来瞬时低性能的结果。此外,在该结构中大多数节点都是叶子节点,他们的上行带宽没有被使用到。为了解决这些问题,已有研究提出了一些带有弹性的结构,如基于多重树的方法。 (2)数据驱动方法近年来,人们又提出用于P2P的数据驱动的方法。数据驱动的覆盖网络与基于树结构的最大不同在于它不组建和维护一个传输数据的明显拓扑结构,它用数据的可用性去引导数据流,而并不是在高度动态的P2P环境下不断地修复拓扑结构。一个不用明确维护拓扑结构的数据分发方法是使用Gossip协议。在典型的Gossip协议中,节点给一组随机选择的节点发送最近生成的消
41、息;这些节点在下一次做同样的动作,其他节点也做同样的动作,直到该消息传送到所有节点。对Gossip目标节点进行随机选择可以在存在随机失效的情况下使系统获得较好的健壮性,另外还可以避免中心化操作。然而,Gossip不能直接用作视频广播,因为其随机推送可能导致高带宽视频的大量冗余。此外,在没有明确的拓扑结构支持下,最小化启动和传输时延成为主要问题。为了解决这些问题,一些解决方案,例如Chainsaw4、Cool-Streaming5采用拉取技术,即:节点维持一组伙伴并周期性地同伙伴交换数据可用性信息,接着节点可以从一个或多个伙伴找回没有获得的数据,或着提供可用数据给伙伴。由于节点只在没有数据时去主
42、动获取,所以避免了冗余。此外,由于任一数据块可能在多个伙伴上可用,所以覆盖网络对时效是健壮的。最后,随机化的伙伴关系意味着节点间的潜在的可用带宽可以被完全利用。第3章 系统需求分析3.1教学辅助系统总体需求本课题的开发目的是依托成熟的校园网环境,为高校教务管理工作提供一个综合性的管理环境,实现信息的集中管理、分散操作。3.1.1目标需求 当前高校普遍实行学分制管理,学分制和学年制相比更加灵活、自主。学分制度要求高校和教师能够开设大量的课程以满足不同学生的不同选择。学分制度灵活性好,有利于学生知识结构趋于多样化,也有利于学科之间的渗透及边缘学科的发展。本文所研究的高校教学系统正是基于学分制。目前
43、高校在校生人数急剧增加,依靠传统的人工方式很难管理如此庞大的学生信息,教学辅助系统也因此应运而生。根据用户的实际需求,教务管理系统需要达到以下几个目标:1、对学生的基本信息进行跟踪管理,即学生信息管理。一个学生基本信息(如考勤,作业,成绩等)都需要进行详细的记录,学生毕业后的处理都需要学生子系统的管理。l 学生可以实现登陆和修改密码。l 学生的角色包括:选课和上课。选课学生可看到。上课学生可选择所有功能。l 学生可以浏览到所有的关于本课程的历史信息。l 学生可以下载课程的相关材料。l 学生可以在线观看老师的教学录象,其中使用IPTV技术,并使用P2P技术进行流媒体优化。l 学生可以提交作业,并
44、查看作业的状态。l 学生可以通过答疑系统提交问题和回答问题。l 学生可以通过文字、声音和视频有选择性地同同学和老师进行讨论,能实现和多个学生同时讨论。2、学生所选课程的成绩要求统一管理,方便日后的查询、统计。课程结束后由教务专门管理人员根据教师给定的成绩进行学生成绩记录。3、课件视频点播,采用流媒体技术,数据以稳定的速率从发送端传送到接收端,而接收端可以在发送端,还没有完全传输完毕之前即可开始处理这些数据信息,这特别适合于实现网络视音频广播,因为互连网的带宽有限,传输数据较慢,特别是对窄带用户来说,要将一个小时的视音频文件从网上下载到本地计算机,需要花费的时间可能超过一个小时。当采用流技术后,
45、就可以在计算机接收视音频数据的同时,进行观看,节约了时间和存储空间。学生可以通过服务终端很流畅的查看老师的教学视频,这一块系统可以在后续中不段升级,可以从点播到直播,将老师上课这些信息从一端传送到另一端是实现远程教学需要解决的问题,在当前网络带宽的限制下,流式传输将是最佳选择。学生在家通过一台计算机、一条电话线、一个调制解调器就可以参加远程教学。教师也无须另外做准备,授课的方法基本与传统授课方法相同,只不过面对的是摄像头和计算机而已。3.2系统业务流程分析在仔细分析教务管理工作的需求之后,我们可以得出教学管理统闭中各个子系统的具体业务流程。下面分别对选课子系统、学生子系统、成绩子系统和教师管理
46、子系统进行业务流程分析。3.2.1选课子系统业务流程分析选课子系统是教学辅导管理系统中十分重要的功能模块,通过仔细调查有关高校选课的信息需求,可以得到选课子系统的一些重要流程信息。管理人员在开放选课子系统之前,首先对选课子系统中的一些系统参数做配置,比如学分上限的设定等,然后开放选课子系统。随后学生在学校内的任何一台连网计算机上都可以通过浏览器,以学号密码登录到选课子系统,参考学期课程表上所列出的全部课程,按照个人的实际情况,可能选择本专业的课程,也可以选择其它专业课程,并在选课子系统中填写选课申请表,然后确认无误后将其提交,如果数据合法,则选课申请提交成功。等待子系统进行选课数据的相应处理。
47、选课子系统的业务流程图如图3-2所示。管理员选课子系统设置选课参数学生选课课表信息选课名单图3-2选课子系统业务流程图3.2.2用户管理子系统业务流程分析用户管理工作是教学管理系统中最原始、最基本的工作。学生入学时的基本信息通过学校招生部门,然后转入新生注册系统形成学生学籍档案,它包括学生注册信息学号、性别、出生年月、民族、籍贯、政治面貌、入学前单位、入校时间、所在学院、所在系、所在班级、专业、家庭住址、邮政编码、电话号码)、学生背景基本信息(社会关系、学历及经历、入学成绩)等。对学生档案数据进行查询、统计等可以得到各类统计报表。同时,教师管理也是高校教学系统中一个十分重要的组成部分,教师是学校的重要组成部分,在教学管理系统中自然扮演着十分重要的角色。一名教师自进入高校起,其基本信息就被录入到教学管理系统,其在校期间的教学情况、科研情况、奖惩情况、进修情况等都将被教师管理系统维护。教学管理人员可以通过此子系统得出某个教师的统计信息,还可以对教师在某一段时间内的表现进行综合评估。在系统中,教师和学生都属于不同的角色,但都是系统的主题同样属于用户管理系统的一部分,用户子系统的业务流程图如图3-3所示。管理员老师、学生用户信息用户权限用户统计教学/选课情