一种可视互动实验教学辅助系统的设计与实现

2011-04-10 08:27福建农林大学机电工程学院福建福州350002
长江大学学报(自科版) 2011年31期
关键词:远程桌面服务器端客户端

(福建农林大学机电工程学院,福建 福州350002)

嵌入式系统实验通常是一个软硬件相结合的系统实验,实验难度相对于纯软件实现要复杂得多,学生在实验过程中会出现各种各样的问题,很多问题都没有共性,不方便集中讲解,教师往往要在学生中间巡回手把手的个别指导,一堂课下来,教师往往会疲惫不堪,同时由于学生问题经常不能得到及时解决,导致实验课效率很低。为此,笔者提出了一种可视交互式实验教学辅助系统,使教师和学生都不必离开自己座位,通过屏幕、语音、文件和文本进行互动,不仅能及时解答个别学生问题,而且还能组织部分或全体学生针对某一问题进行可视互动讨论,大大提高了实验教学的效率❶福建农林大学高等教育教学改革基金(01jg04079)。。

1 远程桌面协议

可视互动实验教学辅助系统的核心功能是实现将教师PC屏幕实时图像信息发送到每个学生PC显示器上实时显示,同时学生PC屏幕视频不仅能在教师显示器上回放,而且教师也能够远程操作学生电脑,即 “远程桌面共享”功能。目前实现远程桌面共享功能的主流协议有3种[1],分别是 “X Window”、“RDP”和 “VNC”,X Window是实现Linux系统图形界面的基石,因此主要运用在Linux系统中;Windows操作下常用的远程桌面协议是RDP(Remote Desktop Protocol),该协议专门为远程管理和维护Windows系统设计,适用于多个用户同时互不影响的管理和使用同一电脑;VNC(Virtual Network Computing)协议核心原理是 “将一个矩形区域的象素点放置在一个特定的位置上”[2],因此该协议与操作系统本身无关,即VNC是一种跨平台的远程桌面协议,能在Windows、Mac和Linux等目前主流操作系统上运行,同时,由于VNC只传输屏幕变化的矩形区域部分,因此带宽消耗低,系统资源开销小。

实验教学辅助系统的核心功能是 “双向远程桌面共享”,能满足需求的只有 “X Window”和 “VNC”,但由于嵌入式系统实验过程中学生要同时使用Windows和Linux操作系统,所以最终只能选择目前唯一可以跨平台的VNC协议。

VNC是AT&T剑桥实验室研发的基于TCP/IP的瘦客户平台,由 VNC Server和 VNC viewer组成[2],结构如图1所示。VNC Server产生本地显示,VNC Viewer将这个显示画到自己的屏幕上,两者之间使用的是VNC协议。

图1 VNC结构图

2 系统设计总体框架

系统采用的是C/S架构,由客户端和服务器端组成,如图2所示。

图2 可视互动实验教学辅助系统结构图

实验中教师集中讲解时,通过图2中的屏幕视频服务,将教师屏幕图像向所有学生广播,学生通过自己的显示器能同步观看到教师的操作;学生实验时,教师可随时任意轮巡观看学生屏幕,查看实验进展情况,必要时教师可以远程操作学生PC,以指导学生完成实验;实验过程中教师发现或学生反馈有共性的问题时,教师通过图2中的文件服务,主动获取学生电脑上的相关文件,作为典型错误的资源,教师及时集中讲解或组织学生集体讨论以激发学生积极性;学生间以及师生间可随时通过图2中的文本服务和语音服务进行简单交流,问题较复杂时,再启用前面的双向屏幕交流方式。

师生间通过以上系统提供的文本、语音、文件和屏幕4种互动方式,能有效解决实验中的沟通和交流问题,教师及时答疑解惑,增强了学生实验过程中的自信心,从而提高了教学效率。

3 系统实施和关键技术问题解决

图2所示系统涉及音视频实时采集、编码、解码和回放以及网络即时通讯、网络多播等技术难点[3],系统编程实现难度高工作量极大,系统部署和维护也需要专业人员管理,同时由于视频数据处理和传输都要占用大量的CPU时间和带宽,为了保证视频的实时传输,必须专门配备至少一台高性能服务器,因此系统硬件成本也很高。

为了不增加硬件成本,设计时将服务器端功能移植到客户端中,充分利用实验室每台PC的计算能力,不仅节省了购买专门服务器的开支,而且也不需要专业人员进行集中管理维护,系统部署和维护简单,使用也很方便;通过使用开源和免费软件,只需进行简单的源代码修改和软件配置,就能快速实现系统的所有功能,也节省了软件和人力成本。

IP Messenger[4]是一款全球非常流行的开源局域网即时通信软件,能实现图2中的 “文本交流”、“语音交流”和 “文件交流”功能,该软件既是客户端也是服务器端,能很好地满足该系统需求,同时该软件使用上与QQ类似,师生能很快学会使用,编译生成该软件的绿色版本,就能方便与该系统集成。

TightVNC[5]是一款全球流行的VNC开源软件,能很好地实现图2中的 “屏幕交流”功能,最新版本为V2.0.4,可编译成为绿色版本:客户端功能由 “vncviewer.exe”可执行文件提供,服务器由可执行文件 “tvnserver.exe”和动态库文件 “screenhooks.dll”提供。

如何部署TightVNC是实现该系统核心功能和减轻系统维护工作量的关键,现重点说明如下:

1)教师机上只安装TightVNC客户端,学生机上只安装TightVNC服务器端,这样,教师通过客户端可随时查看和控制学生远程桌面,默认情况下,服务端第一次运行前要求输入密码,运行时其图标会显示在学生系统托盘中,学生通过该图标的右键菜单可以关闭服务器端,这样教师就无法远程查看学生桌面了,学生也可修改服务器端密码,教师因输入密码错误而同样无法访问学生远程桌面。解决问题的方法是让服务器端运行时不提示输入密码,也不显示系统托盘图标,因为这些信息都是记录在注册表中的,因此实现方法是预置所有相关注册表项,对应表项为 “HKEY_LOCAL_MACHINE\SOFTWARE\TightVNC\Server”主键下的 “RunControlInterface”和 “ControlPassword”值项,其中密码是通过DES加密后的密文,通过查看源代码[5],默认64位加密密钥为 “{23,82,107,6,35,78,88,7}”,如果修改该密钥,既使学生知道注册表项中的密文,也无法破解对应的密码,系统安全性会更高。

2)教师集中讲解时,为了实现学生屏幕与教师屏幕同步显示,可以通过在教师机上运行服务器端,而学生机上运行客户端来实现,实践表明当课堂规模在15人左右时,教师机使用3.0GHz主频的双核CPU,系统运行比较流畅,但当学生人数增加时,教师机性能急剧下降,甚至出现长时间无法响应教师操作现象。原因是VNC采用的是点对点有连接TCP方式,每新增一个客户端,连接数就会增加一个,同时实时屏幕视频数据就要多传输一份,因此系统开销会增长很快。解决的方法是使用无连接UDP的组播方式,使用该网络通信方式优点是随着客户端数量增加,服务器始终只需传输一份视频数据,即客户端数量不会影响到服务器性能,不仅减轻了服务器压力,同时也节省了网络带宽。TightProjector软件[5]就是采用这一机制的高效屏幕广播软件,其服务器端由 “tightprj.exe”实现,而客户端由“tightrcv.exe”实现,通过在教师机上安装服务器端,学生机上安装客户端,实现了教师屏幕向所有学生广播功能。

4 结 语

笔者提出的设计方法,整合了各种开源和免费软件资源,不需要增加任何硬件配置,就能快速搭建一套可视互动实验教学辅助系统,不仅可以解决嵌入式实验教学中的实际问题,而且所有基于PC的教学和实验课都可能采用,整个系统运行隐定、实时性好、支持大规模多用户并发使用,维护和管理极其简单。由于3大组成部分自成体系,系统与部分是松耦合的,下一阶段的工作主要是加强各个部分之间的联系。

[1]梁飞蝶,李锦涛.瘦客户计算应用协议中远程显示机制的比较 [J].计算机工程与应用,2004(21):135-137.

[2]Richardson T,Stafford2Fraser Q,Wood KR,et al.Virtual Network Computing [J].IEEE Internet Computing,1998,2(1):33-38.

[3]杨勇,陈新.高性能实时交互式远程教育环境服务器的设计与实现 [J].福州大学学报,2009,37(3):357-361.

[4]IP Message官网 [DB/OL].http://ipmsg.org/index.html.en,2011-03-09.

[5]TightVNC官网 [DB/OL].http://www.tightvnc.com,2011-03-09.

猜你喜欢
远程桌面服务器端客户端
Linux环境下基于Socket的数据传输软件设计
如何看待传统媒体新闻客户端的“断舍离”?
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
浅析异步通信层的架构在ASP.NET 程序中的应用
实战Windows Server 2008 R2远程桌面服务
安装远程桌面服务
基于Qt的安全即时通讯软件服务器端设计
为Windows 2012指定授权服务器