走在架构师的大道上 Jack.Wang's home

Java, C++, linux c, C#.net 技术,软件架构,领域建模,IT 项目管理 Dict.CN 在线词典, 英语学习, 在线翻译

BlogJava 首页 新随笔 联系 聚合 管理
  195 Posts :: 3 Stories :: 728 Comments :: 0 Trackbacks
原型系统所要实现的基本功能是在Internet上,教师和学生可以完成课堂教学的部分功能。教师在一台教师机上(通过麦克风和摄像头)上课,学生可以通过局域网或者拨号方式,在不同地理位置的学生机上,在不同的窗口看到教师的图像,听到教师的声音并同时看到教师计算机上的数据,完成实时上课。教师也可以将自己的上课的实况录制成相应的媒体文件,存放在媒体流服务器上以便学生进行视频点播。也可以由教师在上课时将该媒体文件通过多播的方式发送给需要接收的学生,学生可以同步的在学生机上接收,完成非实时的上课。考虑到网络传输的带宽问题,学生也可以将教师上课的媒体文件传输到自己的学生机上进行本地播放或者通过WEB服务器提供的媒体流服务,使用HTTP协议穿越防火墙进行远程播放。以上完成的都是远程教学中的音频和视频媒体流的传输和交互。学生和教师都可以通过聊天室进行聊天,完成文字的交互和传输。教师也可以启动电子白板的服务器,并在教师机和学生机上启动电子白板的客户端完成图形和图象的交互和传输。
原型系统要求同时包括视频,音频,文字和数据信息,还要保证各种媒体之间的同步。另外,还要考虑数据流穿越路由器和防火墙和如何保证多媒体信息的服务质量等一系列问题。
5.3系统总体设计
原型系统的体系结构(参见图5.1)中音频和视频的交互和传输的设计思路有两条,一个是采用无服务器方式,即使用标准的WEB服务器和HTTP协议将多媒体数据发送给学生机,另一个是采用专门的多媒体流服务器,它可以存放多媒体文件或者接受教师机的多媒体信号,而且可以使用UDP、TCP、RTP和多播通信协议,有较好的灵活性。但是采用WWW方式可以减少对学生机的要求,提供统一的浏览器界面,方便学生使用。原型系统并不实现媒体服务器和WEB服务器,可以采用现有成熟的产品,媒体服务器可以使用Microsoft Media Server,Cisco IPTV Server,Real Server。WEB服务器可以使用Microsoft IIS,Apache WEB Server等。原型系统中实现一个客户端的媒体播放功能模块,可以以单播或者多播方式接收,用来播放本地和远程的媒体流。系统中也实现多播服务模块用于以多播方式发送媒体流文件或者媒体捕捉。
在很多聊天室的实现中都是以一个中心服务器多个客户机的方式,使用有连接的TCP协议进行通信,在该原型系统中的聊天室部分采用了无连接的UDP协议并通过多播发送,这样不需要建立专门的中心服务器,教师机和学生机完全是对等的。
原型系统中的电子白板仍然采用服务器/客户机方式,可以选择的传输协议包括TCP Socket,HTTP和LRMP(轻量级可靠多播协议),在原型系统中主要采用LRMP协议。白板服务器可以作为独立的服务器,也可以放在教师机上由教师在必要时启动。
原型系统按照上述的体系结构分成三个主要的模块(参见图5.2),音频视频媒体传输模块,聊天室模块和电子白板模块。其中音频视频媒体传输模块包括了服务器的传输本地存储媒体文件和传输视频音频捕捉两个部分,教师机的本地音频视频捕捉和输出到文件模块以及学生机的播放本地媒体,播放远程媒体和多播接收服务器的媒体流三个部分。这三个部分一起完成远程教学的音频视频传输和交互功能;聊天室模块因为采用多播对等方式,所以只需一个模块;电子白板模块包括服务器和客户机两个模块,服务器负责各个客户机间的消息通信和协调,客户机部分完成与用户的交互界面和消息发送接收。
5.4系统设计思路
原型系统主要面向网络运行,考虑到网络的带宽和异构性,原型系统的实现采用了当前比较流行的面向对象的Java语言实现。Java语言具有鲁棒性,安全性等优点,并支持各种操作系统平台,一次编写处处运行。而且提供了非常强大的网络编程机制。面向对象的编程具有继承,封装和多态等特性,能够减少开发周期和维护费用,并具有很好的扩展能力。系统编码采用了Java提供的事件触发和异常处理机制,在产生相应事件时可以通知注册的事件状态进行处理,在系统执行过程中发生异常或者错误,都将调用相关的异常处理代码完成恢复,显示错误信息或者退出执行的操作。除此之外还使用了Java Media Freamwork(JMF)机制,支持多媒体的传输和交互的实现。Java Shared Data Toolkit(JSDT)提供了类似电子白板的数据共享和通信的应用的功能,为实现原型系统的电子白板提供了方便。JSDT提供了三种传输协议实现,TCP Socket,HTTP和LRMP,原型系统采用最后一种,需要一个支持LRMP的Java包。在Java中已经提供了Java.IO包,这个包提供了丰富的网络编程接口,包括多播通信所需要的类。
因为Java具有跨平台的特性,所以对运行原型系统的操作系统平台没有限制,可以是Windows平台或者Unix平台,只要在平台上具有相应的Java虚拟机即可。需要用到的JMF,JSDT和LRMP相关类可以由原型系统自己携带,并制作成安装版本方便安装,分布和共享。
如果通过HTTP分布媒体流,需要WEB服务器,同样的如果需要存储和分发流媒体完成视频点播可以安装成熟的流媒体服务器。电子白板服务器集成在原型系统中,也可以在任何平台上运行。图7.3列出了系统运行所需要的相关内容:




本博客为学习交流用,凡未注明引用的均为本人作品,转载请注明出处,如有版权问题请及时通知。由于博客时间仓促,错误之处敬请谅解,有任何意见可给我留言,愿共同学习进步。
posted on 2008-05-15 12:29 Jack.Wang 阅读(1469) 评论(2)  编辑  收藏 所属分类: 开发技术

Feedback

# re: JSDT 应用研究 2008-08-28 19:35 sluby
楼主真害人,搞的这个QQ群跟我QQ是一个号码,害很多人误会呀!  回复  更多评论
  

# re: JSDT 应用研究 2008-08-28 19:50 Jack.Wang
哈哈
  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: