面向图形对象的协同设计系统的设计与实现

2014-10-17 16:42廖斌
电脑知识与技术 2014年26期
关键词:交互

廖斌

摘要:协同图形编辑是协同设计的一个重要研究方向,支持自然和谐的多用户并发交互是协同图形编辑的重点内容之一。对协同图形编辑系统的进行了设计,提出了相应的解决方案和技术措施。最后在Socket的基础上,给出一个协同图形编辑系统实例的初步探索。

关键词:计算机支持的协同工作;Socket;交互;锁机制;图形编辑

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)26-6076-02

Abstract: An idea collaborative design system for graph object should be high responsiveness, high concurrency, low network traffic and easy natural human-human interaction for the participants. To achieve these goals, a general framework of collaborative design system is analyzed at first. Secondly, several key issues hierarchically integrated in this framework are studied. The issues include consistency retain, concurrency control etc. Finally,the system is principium realized based on Socket.

Key words: CSCW; Socket; interaction; lock; graph editing

实时协同编辑系统支持不同地域的多个协作人员通过网络连接同步或者异步地浏览和编辑文档[1-3]。图形编辑系统处理图形文档,诸如线、框或者任意手绘图形。协同环境下的用户希望协同编辑系统及时响应用户的操作请求。设计实时协同编辑系统的首先一个问题就是根据所要支持的协作的性质、系统赖以运行的软、硬件环境等因素选择一种合适的体系结构。各体系结构有其优缺点,所适用的场合也不同。此外,由于网络延时的不准确性,难以保证消息按照发送的先后顺序到达每一个结点,这些不同顺序的操作如果不加限制就施加于各个数据复本上,必然导致操作结果的不一致[4-6]。基于以上分析,该文设计和实现了一个面向图形对象的协同设计系统。

1 系统设计

由于在CSCW系统中允许多个编辑者对同一部分进行编辑,那么就可能出现不一致性的问题。为此,在CSCW的图形编辑系统中,设定了共享对象。而在共享对象的管理问题上主要采取了分散和集中相结合的管理方式,即在服务器上保存共享对象,各个协作编辑成员的站点机上都有共享对象的副本。协作编辑成员可以将对共享对象的操纵命令送向服务器,由服务器将编辑结果广播给各个协作编辑成员,也可以直接对共享对象的副本进行操作,再将结果向各个协作成员进行广播。利用这样的集中-分散的方式既可以缩短响应时间又便于保证信息的一致性。

出于设计的简便性和实用性的考虑,本系统采用了锁机制来实现共享对象的并发控制。所谓的锁机制就是指当一个用户访问共享对象时首先要先封锁它,即先获得锁,协作成员不能同时获得冲突的锁。对共享对象的操作完成以后,要为被它封锁的对象解锁。但是在封锁机制中封锁粒度的选择尤其重要。封锁粒度的选择不仅要考虑并发性也要考虑系统的开销。因此共享对象协作操纵系统必须选择一个合适的封锁粒度,本系统是以行作为封锁粒度,利用行加锁来进行各种协同编辑操作。

当通信程序由集中式结构转变为全复制结构时,主要应解决对等站点服务器与客户进程冲突的问题,避免死锁的产生。这里采用的算法的主要思想是:程序初始化运行客户端进程并处于监听状态,当网络中有进程向其发出连接请求时程序就调用服务器进程,以服务器形式运行。

当程序由集中式结构两个站点的协同编辑扩展到多个站点时,又有新的问题出现,那就是两个站点可以直接通信,但是多点间的数据传输就不是简单就可以实现的。首先考虑的是数据转发机制既由服务器进程将数据转发给请求连接的客户端进程,该方法较轻松的实现了三个站点间的协同数据编辑,但是当站点数目增加时,因为大量数据的传送,该方法增加了服务器进程的负担,同时由于转发机制的不确定性,可能会造成网上环状数据循环传输对网络资源也有较大的消耗,协同的实时性也难以保证,因此需要新的算法思想来解决这一问题。该文尝试了建立动态路由表的思路,动态路由表的建立,使数据传输具有明确的方向性,切实解决了网上循环数据传输的问题,协同编辑的实时性得到了一定程度的提高。

对于由协同数据编辑改进到协同图形编辑主要思路是将传输的数据改为传输图像编辑数据的数组pen[2],其中pen[0]记录的是画笔的宽度,pen[1]及pen[2]分别记录了画笔中心的到达的横坐标与纵坐标,接收端接收到pen,则调用paint(l,x,y)函数执行绘图命令。变量l由pen[0]赋值,代表画笔的宽度,x、y,由pen[1]及pen[2]赋值,分别代表画笔目的地的横纵坐标,并将执行绘制的数据以数组pen的方式发送出,以次来实现协同图形编辑。

2 系统实现

3 结论

本文介绍了在全复制结构的网络通信基础上开发出协同图形编辑界面,实现交互功能,初步实现全复制结构下协同图形编辑的原型系统。但是,在本文工作中还有许多不足,如没有解决在数据传输过程服务器进程负担较大的问题,一致性维护与并发控制的协调问题(三号演示机在协同编辑中出现一定误差)。今后,将沿着该思路进行下去,对上述问题进行更深入的探索,并逐步扩展到对三维数字化协同设计进行研究。 参考文献:

[1] Ellis C A,Gibbs S J.Concurrency control in groupware systems[C]//Proc. ACM Int. Conf. on Management of Data (SIGMOD89),Seattle,May 1989:399?407.

[2] 冯键,林宗楷.协同编辑系统CoEditor的人-人交互界面研究[J].计算机辅助设计与图形学学报,1999, 11(3):225-227.

[3] 杨光信,史美林.全复制结构下基于对象数据模型的并发控制[J].计算机学报,2000,2(2):113-125.

[4] The Sixth International Workshop on Collaborative Editing Systems[EB/OL].http://cocasoft.csdl.tamu.edu/~lidu/iwces6.

[5] Sun C,Ellis C S.Operational transformation in real-time group editors: issues,algorithms,and achievements[C]//Proc. ACM Int. Conf. on Computer Supported Cooperative Work (CSCW98). Seattle,November 1998:59-68.

[6] Vidot N,Cart M,Ferrié J,et al.Copies convergence in a distributed real-time collaborative environment[C]//Proc. ACM Int. Conf. on Computer Supported Cooperative Work (CSCW00). Philadelphia,December 2000:171-180.

猜你喜欢
交互
使用jQuery实现GridView控件交互操作
网站开发课程交互中朋友圈群体信任解决方案
基于虚拟现实技术的虚拟教学系统设计探究
实验激发思维 问题交流智慧
浅析色彩在人机交互界面中的作用
电子综合艺术在艺术专业领域的应用
基于图形用户界面的多点触控交互技术综述
大学英语教师“交互”信念、知识与教师专业发展
基于WIFI的IPAD白板系统教学应用研究
虚拟现实技术概论