从功能角度看,白板系统要求支持多角色用户对文字、图形的共同编辑以及白板的共享浏览;从性能的角度,白板系统需要保证数据的实时性和一致性。实时性指同一个用户的操作在本地应该得到立刻实现,并且尽可能快地通知其他节点做相应的改变;一致性是指对于任何一个用户在任何时刻共享对象必须具有相同的状态,处于相同位置,具有相同的属性。围绕上述的两个方面,电子白板需要解决系统的体系结构与协同两个基本问题。
14.1.1 体系结构问题
体系结构主要考虑分布式应用的组织问题,即如何利用网络通信实现共享,通常有两种策略:集中模式和复制模式。
(1)集中模式:由一台主机保留单一的数据副本,其他远程参与者均通过建立到该主机的通信信道来输入或输出数据。一般采用客户机/服务器结构。该模式对共享数据的同步控制简单,易于维护。但其主要缺点是系统响应时间较慢,集中服务器的存在降低了系统的可靠性,服务器的故障会导致系统瘫痪。
(2)复制模式:交互空间中的每个参与者都复制了一个共享数据的副本,用户的输入能够直接从本地得到输出,但需要使用一定的手段来维护副本的一致性。与集中模式相比,复制模式避免了集中服务器带来的可靠性问题,并提高了对本地用户的反应速度,但是由于需要维护所有副本的同步,而使系统控制负载和维护同步的开销增大。
集中模式以其实现简单的优势,普遍运用在大量网络应用中,即使像白板这类数据交互频繁的系统,在用户数目不大的情况下,集中模式也能够较好地保证系统运行。但是,当数据量或用户数目激增时,中心服务器的处理会随之增加,成为系统的瓶颈,因而降低其工作负载是值得研究的课题。
14.1.2 协同问题
协同问题是白板系统交互空间的构造问题,即如何实现资源共享和群体感知功能,该问题可以进一步细化为:一致性维护、冲突消除、并发控制。
(1)一致性维护:白板要求共享事件的发生顺序对于所有用户都必须是一致的,即事件的发生必须具有一致的前后因果关系,否则,不同顺序的事件组合会引起逻辑错误,造成感知的混乱。
(2)冲突消除:白板中的冲突主要是指共享资源的冲突,如数据命名的冲突或数据传输过程中引起的网络资源的冲突。前者是由数据的名字标识不唯一造成的,后者是由于通信带宽有限且交互数据具有明显的突发性而造成的。当同一时刻很多用户同时操作白板或者用户发送大批量数据时均很容易引发冲突,一旦冲突发生,便会引起网络拥塞和丢包,从而导致应用层数据出错。基于全局标识的数据表示模型和分页的传输机制可以有效避免冲突。
(3)并发控制:主要用来解决不同用户对系统共享资源的访问控制,是CSCW的关键技术之一。经典的处理技术有加锁法、时间戳法。加锁法是通过对共享数据加锁(Lock)或解锁(Unlock)达到互斥访问,使共享对象的访问得以串行化,实现简单,但加锁的粒度的大小会影响系统的执行效率;时间戳法是通过全局时间来决定事件发生的前后关系,但是全局时间很难实现。
综合上述两种控制策略,通过加锁方式来保证并发性,通过控制对象的修改和访问的句柄,即在某段时间里通过控制共享对象的修改和访问的句柄,在某一段时间内授予某一唯一的用户修改共享对象的权利,使对共享对象的访问得以串行化,从而保证数据的一致性。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。