付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于分布式的电子白板系统的实现
电子白板作为一种虚拟教室的工具模块,是计算机支持的协同工作系统中的一个重要同步交流工具。例如,特定的通信手段用于在电子环境中创建公共区域,使不同地点的员工能够在“通用”屏幕上讨论问题。任何活动(图纸、对话、标记等)都可以实时传输到所有用户的观点上。它的主要应用范围是在分布式环境下,因此要求电子白板设计要满足操作响应在协作允许范围内使用户与用户之间的协作流畅自然。本文将着重讨论电子白板系统的实现及其关键技术。1电子白板的功能特性电子白板是一个虚拟公用区域。教师和学生可利用电子白板进行课堂教学、专题讨论等教学活动。电子白板作为典型的CSCW系统,其主要功能涉及以下方面:1)基本的书写与绘画功能,用于参与者之间的交流。2)操作提示和操作反馈功能。3)白板内容的恢复和更新功能。4)用户权限的辨别功能。电子白板系统具有以下的特性:1)通信的实时性。电子白板的服务器端与客户端通信是实时的。其主要有两种方式实现:一种服务器可以主动发送的双向交互法;另一种是客户机的单向轮询法。两种方式各有千秋,且各自已形成了成熟的技术。双向交互比较灵活,但是,轮询法在服务器繁忙的情况下的效率很高。所以虚拟教室的电子白板采用轮询法实现。2)权限的差异性。参与者应根据身份赋予权力。一般虚拟教室中的身份有两种:教师和学生。教师的权力最大,不仅在通常情况下拥有发言权,而且有控制学生发言的权力。3)数据的安全性。电子白板作为一个临界区,在激烈的讨论中,会出现几个参与者同时对其进竞争操作的情况。系统提供互斥的保护和管理机制,在缺省的情况下,由系统根据先来先服务、轮转或最少发言者优先的原则赋予发言权,保证了数据信息的安全传输。2c/s模式介绍现有电子白板系统采用的体系结构可分为两种模式:一是传统的基于C/S的模式;另外一种是基于B/S的模式,这种模式下客户端是标准的浏览器,服务器端为标准的Web服务器。文中所实现的电子白板系统结合了以上两种系统的优点,系统既接受B/S模式的优点,即电子白板服务器端和客户端两部分组成,使客户端程序仅用浏览器即运行,服务器端监听客户对某个特定端口的网络连接请求,并之建立连接,这样,这个客户的数据就可以发送到服务器,再服务器转发给其他客户。客户端的任务是将用户的输入数据送给服务器,同时接收服务器转发的别的用户的输入数据。每客户端只与服务器进行通信,并不直接与其他客户建立连接,同时也利用C/S模式的优点,采用JAVA的Applet和Application分别对客户端和服务器端编程,从而提高白板的交互能力。白板服务器负责创建和管理连接客户的线程,同时不断侦听、接收来自各个客户端用户的信息,包括绘制图形和聊天文字信息,并将其转发给其他用户;白板客户端负责创建客户端用界面,并处理客户端消息以及客户端和服务器之间的通信。3电子白板的关键和实现3.1电子白板的设计电子白板由服务器和客户端两部分组成,应用服务器与客户机的通信采用Socket技术。用户通过Web浏览器进入,将操作消息发送到应用服务器。因为本白板系统中存在大量动态设计文字、图形及图片,所以客户端的图形用户界面选择JavaApplet来实现。java引进了Socket的概念,提供了.Socket和.ServerSocket类库,这两个类一起提供完整的TCP/IP连接的支持。前者用于客户端,后者用于服务器。一种服务通过监听一个端口号,可以与向该端口号发出请求的客户程序进行通信。本系统中的电子白板的通讯利用套接字实现网络上客户端和服务器端之间的连接。启动服务器后,开辟一个未用端口,用于等待客户端连接请求,服务器将在此端口上侦听以等待客户的连接请求,让服务器永远等待,直到客户端连接到该端口,一旦有客户送来正确的请求,连接到该端口,随即确认连接就返回一个Socket对象,表示已经建立好连接,客户被分配一个本地端口号并且与一个Socket连接。客户通过写Socket来通知服务器,通过读Socket来获取信息。服务器也需要给它的本地端口连接一个Socket,通过读写Socket来与客户端通信。用Socket对象获得一个输入/输出流在服务器和客户这两个端点进行信息传递。在电子白板的设计中,Client端的Applet相关代码如下:上面的代码中,第二行声明一个Socket变量s,在初始化方法中,得到在html文档中预先设置好的端口号为20000,由getcodeBase()得到主机的IP地址。在openSocket()方法中,创建一Socket对象,该Socket的端口号为服务器端ServerSocket所监听的端口号,主机为该Applet的宿主机。由于JavaApplet安全性,Applet只允许向其宿主机打开Socket连接。若想与任何主机建立Socket连接,则需要对Applet进行数据签名。创建好Socket连接后,便可进行通信。Server端的Application相关代码如下:在服务器端程序中,当生成新的ServerSocket对象时,它还不能侦听到达端口的客户机请求,这要在调用ServerSocket对象的accept()方法后才开始,accept()方法要等客户机连接服务器后才返回,ServerSocket并不用于实际通信,它只为服务器端程序生成一个新的Socket实例,与相连的客户机交谈,这个Socket实例在accept()方法接受一个连接时生成的。值得注意的是在run()函数中使用了一个while(true)语句,用它来实现轮询,这是因为ServerSocketss在接收到客户请求并激活相应的User线程后,还要监听下一个客户的请求,重新调用accept()方法,进入封锁状态。3.2传输边界不稳定电子白板实现中应用了多线程,多线程是实现并发机制的一种有效手段。在服务器端的Servlet服务程序将根据多个用户请求建立多个用户服务线程。当线程完成任务时将被Java的垃圾处理器收集并销毁,线程所占资源被完全释放,而不会导致在白板服务器运行的过程中逐渐消耗掉系统资源。这样就保证了白板服务器可以长期可靠运行。当用户在白板上连续绘画时可能产生大量的图形数据,尤其是绘制自由曲线,客户端Applet若在白板的AWT事件处理程序中完成将这些数据传输给服务器的任务,则很有可能由于网络I/O的瓶颈作用,使得AWT事件处理线程受阻,从而影响白板Applet、浏览器等正在运行的应用软件。解决的办法就是使Applet再建立一个后台绘图数据传输线程,白板的AWT事件处理程序将用户的绘图数据通过管道流Stream)传输给这个线程后就返回,把网络传输的任务留给这个线程进行。3.3客户转发和中心同步控制在协同学习的虚拟教室环境中,多个课堂成员并行工作,他们可能同时对同一个对象提出要求或者同一时刻对同一个对象进行操作,为了保证系统的一致性,我们采用集中控制的方式。所有白板数据消息都由白板服务器进行接收处理后转发。白板服务器数据消息缓存中的数据,由白板服务器专门的处理数据消息线程程序处理,对缓存中的每一个消息都更新服务器中保持的白板共享信息表,然后向所有与它建立连接的客户转发消息,保证每一个客户端的数据消息副本的一致性。对白板系统中存在并发控制问题,我们采用两种并发控制机制:一种为对象锁,另一种为白板锁。对象锁锁住的是一个媒体对象;而白板锁可以锁住整个白板。白板中的任一对象在同一时刻只能被一个课堂成员所使用。当一个课堂成员想要对白板的某一对象进行操作时,服务器首先确认该对象是否已被锁定。如果没有被锁定,则用户对这个对象所做的操作就会被接受,否则此用户的对此对象的任何操作都当作无效处理。白板锁控制机制就是对整个白板的编辑区域实行一个时刻只允许一个用户操作,而在本系统中,只有老师有控制白板锁的权利。对白板系统中存在的并发信息流的问题,我们对客户和服务器间传送的各种消息,无论是客户端的本地消息,还是服务器端消息,都采用了Java的对象串行化处理。对这些消息所进行的串行化处理是保证同步协同共享的前提条件。当串行器接收到对象后,就会分配给此对象一个编号,因此得以保证事件按编号顺序执行。在服务器内部,对多个用户同时产生的输入消息的处理方法是利用一个全局白板消息队列,此消息队列是Java中Vector类的实例,该Vector类中的各种方法保证了对Vector内容的串
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院医疗废弃物管理与规范制度
- 如何制度应急预案(3篇)
- 2026年IT行业实验室技术支持面试问题及答案参考
- 植物生产与环境模拟试题及答案
- 写一份值班制度
- 体育消费券制度
- 仓库退料流程制度
- 老年人入住老人家属联系制度
- 制药菌种培育工诚信测试考核试卷含答案
- 园林植保工岗前操作评估考核试卷含答案
- GB/T 9944-2025不锈钢丝绳
- PS通道抠图课件
- 危险化学品岗位安全生产操作规程编写导则
- 2026年高考政治一轮复习:必修2《经济与社会》知识点背诵提纲
- 2026年高考总复习优化设计一轮复习语文-第2节 赏析科普文的语言和主要表现手法
- 豆腐研学课件
- (2025秋新版)青岛版科学三年级上册全册教案
- 2025年北京市中考数学试卷深度评析及2026年备考策略
- 检验检测机构资质认定评审员培训教程(2023版)
- 2025年杭州水务考试题库
- 新《治安管理处罚法》解读课件
评论
0/150
提交评论