共享电子白板系统设计与实现分析

时间:2022-10-31 10:17:44

共享电子白板系统设计与实现分析

随着人类社会的不断发展,分工与合作变成了提高工作效率的关键点,协同办公变成现在比较流行的一个话题,CSCW(计算机支持协同工作)变成了计算机研究的重要方向,共享白板是具有代表性的的协同办公应用,其组成了一个可以大家工作操作的一个交流环境,实现了实时同步一个人的修改操作到这个协同环境的其他计算机上。电子白主要应用于协同工作系统,随着信息网络的高速发展,通过网络等远程通讯方式搭建出一个虚拟化的办公或学习的区域,基于Internet的共享电子白板成为主流,但是网络的不稳定性容易导致用户体验的流畅性得不到保证,而且分布式的白板系统,首先要需要在用户数量上面支持多用户,并且还要保证共享白板系统的操作和响应在一个可以接受的范围。考虑到这些特点和因素,在实现共享电子白板系统上,更加注重解决保持数据的一致和用户体验这两点。

1保持一致性

在白板系统通信的过程中,为了提升相互之间的响应速度,通常会把需要共享的数据信息(如:用户输入的文档信息,一起画的图形信息)拷贝到共享用户的物理计算机上,用户之间通过消息的通信保证各个用户之间信息的同步和一致性的目的,一个用户的信息有变更后,发送消息给其他的用户,其他用户收到后,在本地执行相同的指令信息,从而达到完全同步也就是共享的目的。这时候如果网络速度跟不上,或者出现延迟,电子白板系统没有收到相应的信息或者延迟收到操作信息,就会影响到用户的体验,和共享白板工作的顺利进行。这时候就要用到并发控制方法,目前比较有用的控制方法如:锁定控制法、事务控制机制、轮流控制机制、集中控制机制等。(1)锁定控制法这是一种保证数据一致性的常用的手段,锁定控制法指在一个操作(如:修改某一个文档或者某个图形)即将开始之前先将其上锁,这样在一个用户操作的时候,其他的用户就不可以对这个锁定的对象进行操作。用户首先需要对需要修改的图形对象进行选中操作,被选中后该区域会展示轮廓和变色信息,获取到这个锁的对象之后,才可以对其进行操作。这样就可以限制住一个文件在同一时间只能有一个用户在操作,不会有冲突,但是响应时间比较长效率比较低,而且锁的粒度很难把握,如果设置的太小,无疑会家中系统的负担,但是如果设置的过大,就会严重影响到用户并行的需求。(2)事务控制机制是在分布式的需求中使用的最常见的一种方式,在软件设计中应用的也非常广泛,主要是指在进行一系列事务操作之前,先把之前存在的数据保存,如果事务操作过程中不同的用户同时操作了一个数据,就把数据还原回去,就当作什么也没发生过,当然这个机制显然不适合咱们的共享电子白板系统,事务的响应和效率很低,而且其执行的时候是不被感知的,因此这个并不适合这个系统。(3)轮流控制机制。轮流控制机制顾名思义就是保证同一个时间只能有一个用户进行操作,并不可以有并发的操作,所以如果用户量比较大的情况下,是不适用的。(4)集中控制机制。建立一个集中控制管理的进程,用来做中心管理控制的功能,主要的作用相当于一个消息中心,接收来自各个用户的操作信息,并以广播的形式发送给共享白板的用户,这样可以保证操作的有序性,时效性和一致性,无论什么操作,首先需要把消息发送到管理中心,再由其进行分发。虽然可以保证系统的集中控制,但是这种集中控制有可能会成为系统的瓶颈。同时所有操作都由中心进程分发,会影响效率。虽然可能会受到网络信息的影响,但是目前是相对来说比较好的选择。(5)检测依赖。对于每一个用户的修改都给出时间戳,之后可以查看时间戳之间是否有冲突来判断是否可以执行。这种方法使得没有冲突的本地和异地的都可以执行,但是一但出现了冲突,就需要使用者进行修改。以上对并发的各种控制机制进行比较后,共享电子白板系统可以采用时间戳和集中控制相结合的方式。

2应用之间信息共享技术传输格式设计

系统之间通信主要通过收发消息实现共享,如果其中一个用户修改了信息,系统会把这个信息以指定的格式封装起来,通过网络传输到其他与会用户的计算机上,他们接收到数据之后,按照之前拟定好的协议把指定格式的数据进行解密,如果其他的用户操作并修改了数据,也是同样的方式进行相互之间的传输。由于共享白板服务器既需要把信息发送广播到其他用户,而且还需要接收用户的操作请求,这些信息的数据长度和内容比较难统一,所以为了简单方便,把各种数据和命令序列化为二进制的流,优点在于可以让传输层的数据格式独立于应用显示层,使其适用的平台更为广泛,传输层不再需要关注传输的内容和格式,只要知道数据的长度就可以了,而其他的信息都交给应用层去设计。数据协议的类型主要分为四个类型:(1)图形、文本的管理:新建或编辑的文本、图形的绘制和修改(2)用户信息的管理:用户信息不同光标需要标注(3)同步信息的管理:协同不用用户的不同需求(4)以锁的方式控制并发操作:对不同的用户标记为不同的锁,来加以区分详细使用方法如下:(1)文本数据协议:文本协议类型标识,如‘010’,需要传输的文本或信息,还有发送信息人的IP地址信息,这样就可以让接受信息的人知道文本的发送人,修改文本的格式信息,x,y坐标标识在屏幕的位置,因为TCP在传输的过程中有可能会重新组装数据,所以TCP协议有可能会把所有的重组信息接收完成,才一起发送,所以信息接收者通过在信息流的结尾使用换行符(0x0D),调节文本的输出格式。(2)图形数据协议:协议标识和文本标识的不同之处在于字体和字符串信息更换成了线形填充信息。通信信息格式协议:用户的退出和加入会实时同步到共享白板服务器上,同时把这些消息发送到其他用户那里。主要由序列号如‘020’,加上用户的地址信息和名称信息和结尾符。(3)新的用户进入到系统中时,共享服务器会向所有客户发送新用户的信息,并且需要加上标识信息‘020’,然后把其他的信息更新给新的用户,就完成的数据的同步工作。在用户退出共享白板系统的时候,会发送以‘021’的标识加上退出用户的信息给其他用户,他们本地就会完成删除工作。

3用户相互感知方面

在人们在现实中开会的时候,很容易通过听觉、触觉和视觉领会到彼此之间的肢体动作和实际的语言,更通过两种语言的互补,就可以更加准确的理解其目的,与会人员则可以更加简单的理解其他人的意图、动作和位置,可以说这种协同的效率是很高的。而我们的共享白板系统则是为与会人员创建了一个虚拟的会议空间,虽然可以使大家可以实现远程的协作,但是虚拟空间必然没有现实空间中感受的那么明显,这时候需要关注到白板上能够展示出来的信息,通常来说,解决这个效率低下问题的方法有如下几种:(1)光标信息的可变性:用户进行的操作有很多种,如图形、文本、删除等操作,想要更直观的展示出来不同的操作类型,可以以特定的标记去标识出来操作类型,比如在删除操作时候,光标显示出橡皮擦;在对图形进行操作时候,光标显示图形样式。(2)用户不同,使用不同颜色去标记:不同的用户,首先系统自动分配给不同的颜色,这时候需要注意角色不要过多,颜色之间应该做到有辨识度,这样在每个用户进行操作的结束之后,对其操作的结果进行标记。(3)多个光标显示用户名信息:用户在本地计算机上进行的操作,光标不仅在本地,而且也会在共享白板上显示,同时其他的用户也会这么展示。(4)缩略图显示:首先我们可以展示两个页面,一个展示的是用户的工作环境,用户可以对工作环境的页面进行操作,而另一个页面展示的是当前的缩略图,这个缩略图也会在其他共享的屏幕上展示,这样用户可以做到统观全局,可以加强用户对于当前系统的情况进行充分的了解。在现实情境中,因为网络问题有限制,只需要关注操作的结果,所以只需要记录并展示用户操作的结果信就可以,颜色标记法限制用户的颜色种类,使其应用变得很不自然。如果所有的共享白板客户都修改了这些数据,传输数据的时候就需要附加上IP地址信息(用户在接收到这些信息之后,就可以通过IP地址查询到发送人的详细信息),而参加到共享白板的用户,每个人都会有一个标识自己的光标,用来标识自己的有效性。如果有多个光标的情况,再用深度值去区分自己的和其他用户的光标,深度值最高的永远展示在最前面,当某一个用户选择了远程的光标,这个光标就会出现在当前窗口的中间。

4总结

通过以上的讨论可以确定系统的结构,对于在CSCW的应用的需求下,我们对于共享电子白板系统的设计首先需要有一个消息中心,负责管理会议的查询、参加会议人员的信息和通信的显示。而分布在各个地方的用户可以通过网络连接,系统把内部通信的详细信息隐藏了,只展示给用户简单的页面信息。对于在共享电子白板的设计与实现中,满足了高并发且相互协作应用系统的需求,设计了以网络进行通信的虚构空间,实现了基本的用户操作实例,完成了应用之间通信的传输格式设计、多个用户同时参与、协同共享的数据一致、用户体验流畅。

作者:姜世芬 单位:江门职业技术学院