CSCW系统中的并发控制技术研究

(河南省开封人民警察学校,河南 开封 475001) 
摘 要:文章分析了CSCW系统的并发控制问题产生的原因 ,简要介绍了传统并发控制策略及CSCW系统中常用的并发控制方法。
关键词:CSCW;并发控制;冲突
中图分类号:TP338.7  文献标识码:A  文章编号:[ HTK]1007—6921(2009)07—0194—02

并发控制是分布式系统、多进程、多线程系统中普遍遇到的一个问题。它的主要目标是保证 在发生对共享资源出现并发的访问情况下能够得到所期望的结果。CSCW中的并发控制技术, 主要解决在协同工作中因多用户同时操作而引起的同步问题,涉及冲突消解和共享数据的 一致性维护。尤其在同步工作模式下,多个用户同时对共享对象进行操作,更要靠并发控制 来消除有冲突的操作和保证共享信息的一致性。并发控制是 CSCW 的关键技术,并发控制算 法的有效程度,直接影响系统对用户行为的协调,进而影响整个CSCW系统的效率。
1 传统并发控制冲突解决方法及其各自特点

传统的实现并发控制的方法有两种:串行化方法和加锁方法。这些方法主要用在数据库系统 或操作系统中,它们的目的是为了维护数据的一致性。而CSCW的并发控制是为了维护用户意 图一致,操作结果一致,因果一致性。
1.1 串行化方法

其基本思想是:将用户的每一个操作均当成分布式系统中的一个事件,系统按照某种方式 在这些事件之间定义一种全局序,然后按照此全局序在各站点处执行各操作。这样就能保证 所有站点共享数据的一致性。事件排序方法可以采用Lamport的逻辑时钟或使用一个集中式 的调度机制进行排序。由于所有的操作都是按同一顺序执行的,因此,若共享对象的初始状 态相同,所有的操作均执行完之后的共享对象的最终状态也必定相同。这种严格的串行化策 略也被称作 “悲观的串行化”。

从实现的角度讲,串行化方法可以比较严格的保证复制对象的一致性,但它也存在一些问题 。例如,悲观的串行化可能导致操作执行总体时间的延长,因为在执行每一个操作时,系统 都必须等待或者能够确信在所定义的全局序中领先于此操作的所有操作,都已经被执行过了 。而乐观的方法由于需要保存操作的执行历史,其开销及复杂性将会增大。从用户界面的角 度来看,悲观的方法由于在执行每一个操作时都需要按照预定义的全局序进行,因此在执行 某些操作时可能需要等待。如果需要等待的操作是本地操作,那么界面的响应速度将会降低 。对于乐观的方法,由于不需要等待,因此界面的响应性比悲观的方法好得多,如果绝大部 分操作都按序到达,这种方法将能达到比较好的效果。问题在于乱序操作到达之后,系统所 必须进行的修补。
1.2 加锁方法

加锁方法要求用户对数据对象操作之前先申请该操作的许可权,即对共享对象设置访问权, 系统有一个调度机制来保证每一段时间内对某一数据的访问只有一个用户,在某一用户占用 此数据的时间内,其他申请等待或放弃申请。

加锁方法在传统数据库得到了广泛的应用,相应的也产生许多锁策略、如读锁、写锁、共享 锁、申请锁、获得锁、授予锁、释放锁等。

从实现的角度来讲,加锁方法同串行化一样,比较简单而且可以比较好地保证数据的一致性 ,但这种方法的具体的选择会对用户的设计产生一些影响。
1.3 在协同设计中应用传统并发控制方法的缺点

传统的并发控制是应用于分布式数据库和分布式操作系统的,它是面向系统的,是为了增加 系统的并行操作能力为目标的。面向多用户的CSCW 系统与传统并发控制方法的应用场合有 所不同,它对并发控制提出了新的要求,不仅要考虑技术方面的因素,还要考虑被传统并 发控制所忽视的人的因素。这样,CSCW 中的并发控制:一方面,要从技术上考虑维护共享 数据的一致性,这与传统并发控制中的要求相同;另一方面,还要从人的因素方面考虑多个 用户间的协同感知,即响应性(包括本地响应性和远地响应性)要好,这是传统并发控制中 所没有的。
2 现有CSCW系统采用的并发控制方法及其特点

从以上的分析可知,传统的分布式系统并发控制技术并不适用于CSCW系统,目前 CSCW 中常 用的并发控制方法,大多为传统方法的简单改进,虽然在某种程度上能完成一定的要求,但 效果并不理想。

当前,国内外已有很多针对实时协同设计系统的研究,对于并发的同步性和冲突解决等问题 有了进一步的了解,并且已开发出不少实用的协同设计系统。例如:Ellis和Gibbs提出的GR OVE系统、ChengZhengSun提出

推荐访问:并发 技术研究 控制 系统 CSCW