已阅读5页,还剩50页未读, 继续免费阅读
(计算机应用技术专业论文)基于openofficeorg的协同编辑系统zoffice的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于o p e n o f f i c t o r g 的协同编辑系统z o f f i c e 的研究摘要摘要本文介绍了如何基于o p e n o f f i c e o r g 开发一个协同编辑系统。阐述了协同编辑模型系统z e d i t o r 的设计与实现。本文首先介绍计算机支持协同工作c s c w 和c s c w 中的协同编辑,其次给出了基于o p e n o f f i c e o r g 的协同编辑系统的框架及o p e n o f f i c e o r g 的二次开发。然后着莺介绍了两个协同编辑模块一用户管理模块和文档管理模块。根据设计的协同编辑系统的设计方法、算法等,给出了文本协同编辑模型系统z e d i t o r 的设计与实现。最后是总结与展望。办公系统不再是单纯的实现个人文档编辑,支持多用户的协同编辑已经成为迫切的需要f l 】。协同文档编辑作为办公系统的一种新的发展方向,z o f f i c e 的设计是协同编辑系统设计的又一种尝试,为文档协同编辑提供理论借鉴及实现方法。关键词:c s c wo p e n o f f i c e o r g协同编辑作者:郁春江指导老师:朱巧明a b s t f a c t基于o p e n o l t i c e o r g 的协同编辑系统z o f f i c g 的研究t h er e s e a r c ho fo p e n o f f i c e o r g - b a s e dc o o p e r a t i v ee d i t i n gs y s t e 卧- - z o f f i c ea b s t r a c ti nt h i sa r t i c l ei ti n t r o d u c e sh o wt od e v e l o pac o o p e r a t i v ee d i t i n gs y s t e mb a s e do no p e n o f f i c e o r g i te x p l a i n st h ed e s i g na n di m p l e m e n t a t i o no f t h em o d e ls y s t e m - - z e d i t o r i nt h ef i r s tp l a c ei ti n t r o d u c e st h ec o m p u t e rc o o p e r a t i v ew o r k - - - c s c wa n dc o o p e r a t i v ee d i t i n g i nt h es e c o n dp l a c ei ta n a l y s i sz o f f i c e sf r a m ea n dm e t h o do fd e v e l o p m e n tf r o mo p e n o f f i c e o r gt oz o f f i c e a n di te m p h a s i z e st oi n t r o d u c et w oc o o p e r a t i v ee d i t i n gm o d u l e s - - - u s e rm a n a g e m e n tm o d u l ea n dd o c u m e n tm a n a g e m e n tm o d u l e t h e ne x p l a i nt h ed e s i g na n di m p l e m e n t a t i o no f t e x tc o o p e r a t i v ee d i t i n gs y s t e m - - z e d i t o r , w h i c hi sb a s e do nt h em e t h o d ,a n a l y s i sa b o v e t h el a s ti sc o n c l u s i o na n dp r o s p e c t t h eo as y s t e mi sn o tm e r e l yo f d o c u m e n te d i t m u l t i u s e r sd o c u m e n tc o o p e r a t i v ee d i t i n gs y s t e mi sn e e d e db a d l y i ”d o c u m e n tc o o p e r a t i v ee d i t i n gi san e wd e v e l o p m e n td i r e c t i o no f o as y s t e m t h ed e s i g no f z o f l i c ei san e wt r yt od e s i g nt h ed o c u m e n tc o o p e r a t i v ee d i t i n gs y s t e m i ti sar e f e r e n c eo f d e s i g n i n gt h ed o c u m e n tc o o p e r a t i v ee d i t i n gs y s t e mo nt h e o r ya n dd e v e l o p m e n tm e t h o d 1 lw r i t t e nb yy uc h u n j i a n gs u p e r v is e db yz h uq i a o m i n g苏州大学学位论文独创性声明及使用授权声明学位论文独创性声明本人郑重声明:所提交的学位论文是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含其他个人或集体已经发表或撰写过的研究成果,也不含为获得苏州大学或其它教育机构的学位证书而使用过的材料。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。本人承担本声明的法律责任。研究生签名:日期:学位论文使用授权声明苏州大学、中国科学技术信息研究所、国家图书馆、清华大学论文合作部、中国社科院文献信息情报中心有权保留本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登)授权苏州大学学位办办理。研究生签名导师签名同期栌筠聃-基于( ) p e n o m c e o r g 的协同编辑系统z o f f i c e 的研究第一章绪论1 1 计算机支持协同工作c s c w 的基本概念“计算机支持协同工作”( c o m p u t e r s u p p o r tc o o p e r a t i v e w o r k ,c s c w ) 最早是由麻省理工大学的i r e n g r e i f 和n e c 公司的p a u l c a s h m a n 在1 9 8 4 年提出的。他的含义1 2 是指在计算机支持的环境中( 即c s ) 一个群体协同工作完成一项共同的任务( 即c w ) 。他的目标是要设计各种各样的协同工作的应用系统。他致力于研究人们在一起工作的方式、计算机及有关技术对协同二l = 作所产生的影响,并使之理论化。c s c w 的形成和发展有一定的必然性。首先,在现代的信息社会中,人的生活方式和劳动方式具有群体性、交互性、分枷性和协作性等特点。认知科学、通讯技术及计算机网络技术的飞速发展,构成了c s c w 实现的技术基础。因此可以说c s c w是现代社会中。以人们协同工作方式为背景的以计算机和通讯技术的发展和融合为基础,具有广泛的应用领域为前提条件而自然形成的。它涉及到众多的学科领域,如计算机、管理学、通讯、分布系统、人工智能、社会学、心理学、组织理论等。1 1 1c s c w 的三要素c s c w 的目的就是在计算机环境下提供对人们群体工作的支持。因此说,通信、合作、协同是c s c w 的三要素【3 】。c s c w 的基础是通信。自然的组通信发生在地理上是分布的用户之间( 本地通信可以认为是分_ 布系统的特例) ,因此网络通信是至关重要的,并且在合作环境中处理多媒体文件传输和数据控制是很复杂的。而基于计算机的或者计算机为媒体的通信,并没有完全和其他的通信形式相结合。异步的基二r 文本的电予1 1 1 1 h :l :乖l 公告板系统,与同步的电话或两对面的交谈是不同的。把计算机处理技术和通信技术结合起来可以帮助解决这个问题。c s c w 的形式是合作。与通信相似,合作是小组活动的重要内容。在群体活动中,任何一项活动都必须多人合作完成。有效的合作要求人们必须共享信息。但是当前的信息系统尤其是数据库系统在很多情况下把人们互相隔离开。比如,当两个设计人员使用同一个c a d 数据库进行操作时,他们不可能同时修改同一设计物体的绪论基于o p e n o f f i c e o r g 的t h l i q 编辑系统z o f l i c c 的研究不同部分,并且也不可能知道他的合作者所作的修改,他们必须通过互相检查才能知道对方所做的工作。许多任务都需要良好的共享环境,可以在适当的时候友好地通知群组活动信息以及各个用户的活动。c s c w 的关键是协同。如果一个组的活动是协同的,那么它的通信和合作将会得到大大得到加强。一个不能很好的进行协同的工作小组,它的成员之间势必会经常发生冲突和重复劳动。当几个部分共同组成一个任务时,协同本身被看作是一个必不可少的活动。当前的数据库应用提供了对共享对象的访问,但是大多数软件工具只提供对单用户的支持,对支持小组的协同这一重要功能所作的却很少。协同编辑是c s c w 的重要应用领域之一,因此它也具备c s c w 的三要素。1 1 2c s c w 的分类c s c w 的分类有多种方法,主要可以从应用系统角度和时空特性角度来进行分类。目前,以一定方式支持协同工作的计算机应用系统主要包括以下类型”1 :信息系统:也称为电子邮件系统。i t u c c i t t 的x 4 0 0 方案是标准的电子邮件系统,另外,u s e n e t 的“n e w s g r o u p ”系统和电子公告牌等也属于该类型。该类系统支持群体间信息的异步交流。电子会议室:可以支持群体成员面对面实时进行办同工作和决策,通常包括大屏幕、电视终端、输入和表决设备和控制终端等。工作流:用以提高由若干独立的任务所构成的办公室事务的自动化处理程度,促进办公自动化。计算机会议系统:多媒体计算机会议系统和实时计算机系统是对群体成员进彳亍协作的最有效支持,也是对计算机支持要求最高的应用之一,需要交互式视频和音频传输的支持。协同创作和讨论系统:支持群体成员协同写作和讨论,最后产生共同文档。日历安排系统:通过共享日记提供对会议安排的自动支持。从时空角度进行分类”3 :按照c s c w 的两个基本特征一时间特性和空问特性对c s c w 系统分类,使研究人员能更好地描述和研究种类繁多的c s c w 系统的特性。支持的交互方式:人们协同、交互的方式通常可以分为同步方式和异步方式。2基于o p e n o f 6 c e o r g 的协同编辑系统z o f f i c c 的研究同步方式要求所有的合作者在场。信息是实时传输的,称为实时c s c w 系统。异步交互则发生在一段较长的时间里,不需要合作者在场,信息也无须实时传输,称为非实时的c s c w 系统。系统的地理特性:合作者可以在同一地点,也可以是远程的,分布在不同的地点。这样的分类既是一个逻辑的概念也是一个物理尺度上的分类。该方式关心的是用户间的互访方式,而不是他们之间的物理距离这两个特性把c s c w 系统分为四类,构成一个群体时空矩阵( 见表1 1 ) 。表1 1 群体协作时空矩阵同一时间不同时间同一地点面对面交互异步交互不同地点同步分布交互异步分布交互针对上述四类c s c w 应用系统的实例分别为:电子会议系统、电子公告牌系统、实时分布式协同工作系统、电子邮件系统。实际上,一个实时的c s c w 应用系统通常不可能简单的归入群体协同时空矩阵的某一类中,而是几种应用类型的集合。协同编辑属于协同创作和讨论系统,按时空特性角度分它可能是同时同地,也可能是不同时不同地,所以是几种应用类型的集合。1 2c s c w 中的协同编辑1 2 1 协同编辑的概述在信息化时代,文档处理仍然是计算机应用的一个主要领域。目前随着人们工作规模的扩大、复杂程度的提高、分工更加精细,而单个人的知识和能力非常的有限,文档由单个人编辑力所难及,一般都需要多个人合作共同完成。由于人员的分散化和工作地点的不定性,编辑成员往往在地理上是分散的,支持多用户的协同编辑已成为迫切的需要。计算机支持的协同编辑系统就是试图通过建立一个具有群体性、交互性、分布性和协作性的人机网络工作环境来协助多个地里分散的作者对同一个文档的共同编辑。是c s c w 技术在文档编辑领域的一个典型的应用【6 1 。图1 1给出了协同编辑系统的网络结构图,该系统中各个编辑者分散在不同的地理位置,通过网络实现共同编辑。信息共享是协同编辑的基本任务,只有方便可靠的信息采集、访问、修改、删除机制才能促进成员之间的协同工作。具体地说就是:提供运行在不同操作平台上基于o v e o m c e o r g 的协同编辑系统z o f f i c e 的研究的应用程序对数据的存储和交换;支持分布成员、信息资源以及当前活动信息的维护,便于人们去寻找相应的工作伙伴,利用相应的资源参加某类特定的活动;提供共享信息的不同访问方式;支持用户了解当前被其他用户同步使用时所作的修改。魇秀嚣图1 1 协同编辑结构图在协同编辑领域中,很多研究工作已经展开,并取得了一些成果。在支持异步协同编辑方面。一种方法是提供了一个共享的数据区,其中各部分文档可以被独立的访问和加锁,如分枷文件系统c o d a 或c v s i7 1 ,这类系统只是为标准编辑器提供文档。另一种方法是在分布式文件系统之上创建一个特定的编辑器用于文档的处理,如c e s q u i l tp r e p t 8 1 等。同步协同编辑交互来源于共享的应用系统如s h a r e x t 9 1 和x s h a r e ,这种系统允许各个应用系统在工作站之间共享应用窗口湿示于各工作站屏幕,从某一工作站接受输入,这种系统的特点是所有用户都具有相同的显示( w y s i w i s w h a t y o us e e i sw h a tis e e ) 。其后的一些编辑工具支持文档同步编辑,例如组编辑器g r o v e s a s e t l o 】等。这些工具仅限于l a n 环境,如要提供广域网支持,则需要提供锁协议及一些中心控制和存储方法。近年来,国内也对协同编辑领域进行了研究,并开发出一些实验系统,其中较为成熟的如清华大学的d m c w 1 1 1 系统,国防科技大学的h i b 1 2 1 系统,文本协同编辑器c o e d i t o r 等。为了更好的支持群体的协同工作,协同编辑中需要解决一系列的问题,倒如:如何选择合适的系统结构从而更好的支持群体工作:如何维护系统中共享数据的一致性;如何在界面中既支持人机交互,又支持人与入的交互;如何处理协同编辑过程中的冲突等。4基于o p e n o f f i c eo r g 的协同编辑系统z o i l i c e 的研究绪论1 2 2 协同编辑器c o e d i t o r 的简介在国内的协同编辑领域中,能够找到拿来介绍的比较具有代表性的协同编辑系统很少。协同编辑器c o e d i t o r 的设计与实现0 6 i - - 文中给出了协同编辑器c o e d i t o r的介绍。据论文所述c o e d i t o r 所运用的技术是目前协同编辑领域比较流行和常用的一些技术,所以简单加以介绍。c o e d i t o r 是一个支持群体工作的协同编辑器,其设计思想是以人即编辑者为中心。同时尽量提供一个虚拟的共享编辑空间,使协作者感到他是在与人一起工作,而不是与机器打交道。c o e d i t o r 在组织协同编辑时把任务分为:编辑管理模式、人员确定、任务分配、角色分配。同时文档库的设计针对人员、文档及其关系的动态变化和版本控制等协同编辑器的关键需求设计了一个4 层库表存储结构对文档信息的存储。对于并发控制也使用了基于控制矩阵的对象锁定机制和对操作事件进行排队两种方法。协同感知使用了光标跟踪和字体颜色。c o e d i t o r 可以说已经基本具备了一个协同编辑器所应该具备的基本要素,是一个简单的协同编辑器模型。但是,距离一个完善的协同编辑器还有一定的差距。比如虽然有人员确定、角色分配,但是还没有人员管理、角色管理,权限管理等。在并发控制中,用控制矩阵的对象锁和操作事件排队还存在着不足,比如控制矩阵的对象锁中的对象粒度的确定加锁的状态种类及状态问的转化等。我在后而的章节巾针对这些问题提出了相应的解决方法。1 3 当前协同编辑遇到的挑战国内外对于文本协同编辑理论研究的已经比较成熟。有关文本协同编辑的论文已经相当的丰富。这些研究中主要有对文本协同编辑系统整体框架的研究、对系统中某个技术难点的研究、对某个设计中的问题提出新的算法等。当然,除了纯理论的研究以外,建立系统的理论模型也较多。也就是针对某一个应用领域设计一套相应的理论模型,然后用某些工具实现之,如上面提到的c o e d i t o r 。但是,这些系统的应用局限性很大,通用性得不到满足。微软在办公系统方丽总是充当着领头羊的地位。这次微软的新版o f f i c e 2 0 0 3 把主要目标定位在了那些需要协同工作的用户身上。o f f i c e2 0 0 3 可以说是微软改变其在这一产品上的战略的开始 1 7 1 。事实上,除了版本号的更新之外,微软已经丌始把o f f i c e 称之为系统了。这主要是因为,新版o f f i c e 的精髓在于:超越单机桌面应用,结论基于o p c n o f l i c e o t g 的协同编辑系统z o f f i c c 的研究把数据拓展到整个工作场所中。o f f i c e2 0 0 3 开始把重点转向协同工作上来。转到功效的提高和工作流程的再造上来。作为开端,新o f f i c e 系统中集成了经过改进的s h a r e p o i n ts e r v i c e s 系统【体j 。该系统允许员工在整个公司范围内协同工作,一起完成对文档的编辑。s h a r e p o i n ts e r v i c e s 核心功能允许团队成员张贴文档,进行在线讨论,链接动态网络内容,从协作数据库中生成数据表等等。微软这次战略方向的改变,从一定程度上表示了协同办公系统正在从理论发展到实践阶段。以后的办公系统除了具备单机的文档编辑功能之外,在整个工作场所中的协同办公已经必不可少。协同编辑理论已经渐渐趋向成熟,同时它又是办公软件今后发展的方向。在这样的条件下本文提如了设计基于o p e n o f f i c e o r g 的协同编辑系统z o f f i c e 。z o f f i c e 的设计不仅可以运用现有的协同编辑理论,同时它作为一种新的动向,是对协同编辑系统的又一次挑战。办公系统不再是单纯的实现个人文档编辑,而是把编辑工作扩展到了整个工作场所中。它将是其他现有的办公系统的协同化的参考。1 4 本文所作的工作随着国内外对于协同工作的大量研究,网络技术、计算机软硬件技术的发展,协同工作已经开始从理论走向实践。2 0 0 3 年1 1 月微软推出重点转向协同工作的o f f i c e 2 0 0 3 ,o r a c l e 在协同方面也有了协同组件,王志东所在的点击科技的分析师们预言:协同在未来几年内会超过c r m 、e r p ,成为w i n d o w s 、o f i i c e 之后的又一个通用软件深入到业务管理中1 1 9 1 。这些事实说明,协同工作将是未来软件业的新的发展方向。协同工作在微软的办公系统o f f i c e 2 0 0 3 中首先提出,标志着办公系统领域已经走出了单机的文档编辑阶段,面临的将是协同的信息处理与信息共享。目前o p c n o f f i c e o r g t ”j 中的文本编辑t e x t d o c m n e n t 在功能上已经非常的完善,同时当前协同编辑领域f 在从理论走向实践阶段。本文的工作就是研究把目前的协同编辑理论与t e x td o c u m e n t 结合起来,建立一套基于o p e n o f t i c e o r g 的协同编辑系统。为了实现把协同编辑理论与t e x t d o c u m e n t 结合起来,首先根据o p e n o f f i c e o r g现有的功能及二次开发能力与协同编辑理论的常用方法设计一套整体框架以及基于o p e n o f i i c e o r g 的二次丌发。然后就其中的两个协同编辑模块一用户管理模块和文档管理模块作了进一步的分析与探讨。通过对o p e n o f t i c e o r g 的二次开发所得的z o f f i c e 相对于一般的协同编辑器,如6基于o p e n o t f i c e o r g 的协同编辑系统z - o f f i c e 的研究绪论c o e d i t o r ,及微软的s h a r e p o i n ts e r v i c e s 系统有自己的特点。由于它是建立在o p c n o f f i c e o r g 之上的,所以和一般的协同编辑系统相比其具有更好的文档编辑功能,同时我们在设计的过程中收集大量的目前比较成熟或比较流行的协同编辑方面的算法、方法,在其中选则我们所需要的并加以改进,所以我们的系统在开发技术也是有自己的特色的。同时,z o f f i c c 支持文档编辑过程的协同,也就是现实多人对同一文档的异步或同步编辑。这个功能目前在微软的s h a r c p o i n ts e r v i c e s 系统中是没有的。所以本课题的提出是有意义的。为了验证所建立理论的有效性,依据所建立的理论开发了一个协同编辑模型系统z e d i t o r 。该模型除了在某些点上进行了简化外,包含了协同编辑理论的基本内容。在这个模型的建立过程中所发现的问题,在我们的理论模型中及时地得到修改。通过这个模型的建立,给我们在o p v n o f f i c e o r g 上进行二次开发提供了借鉴。由于我们在后面几章中所介绍的方法是针对于o p c n o f f i e e o r g 的( 虽然有些方法是很常见的) ,我们的模型系统是验证这些方法、算法的,必然与上面提到的c o e d i t o r 等一般协同编辑系统存在质的区别。协同编辑系统是文档编辑软件发展的又一里程碑。本文的研究只是项目的前期工作。但是却是后画工作顺利开展的必要前提。通过本课题的研究重在探索协同编辑系统如何与现有的功能完善的单机编辑系统融合在一起。实现多人的异步或同步的文档协同编辑。同时在这个系统中,如何解决出于多人的同时参与而引发的一系列的技术问题。由于涉及的是文档编辑软件,协同编辑又是一个热门同时又较复杂的研究方向。通过本课题的研究也希望能够给现有单机文档编辑软件的协同化有所借鉴。z o f f i c e 的整体框架及o p e n o f l i c e o r g 的二次开发基于o p e n o 币c c o r g 笪垫旦塑塑墨堕丝堕堕塑堑塑第二章z o f fic e 的整体框架及o p e n o f fio e o r g 的二次开发2 1 0 p e n o f f i c e o r g 简介o p e n o f f i c e o r g 是一套跨平台的办公套件系统,能在s o l a r i s ,l i n u x ,w i n d o w s ,f r e e b s d m a co sx 上稳定可靠的运行。它主要包括了文字处理( w r i t e r ) 、电子表格( c a l c ) 、演示器( i m p r e s s ) 及画图( d r a w ) 等几项主要功能。o p e n o f f i c e o r g 不但能够读写m i c o r s o f lo f f i c e 的文件格式,而且还可以将文档文件转换成p d f 格式的文件,以及将图像文档转换成s w f ( f l a s h ) 文件。同时令人欣喜的是o p e n o f f i c e o r g是一个自由软件。s t a r d i v i s i o n 是s t a r o f f i c e 的创始公司。在八十年代中期在德国创立。s u n 在一九九九年收购s t a r d i v i s i o n 后,于二零零零年六月推出s t a r o f f i c e5 2 ,并将大部分s t a r o f f l c e 的源代码及相关开发技术移交给自由软件团体o p e n o i t l c e o r g 。s t a r o f f i c e6 0 和以后的版本都会以o p e n o f l i c e ,o r g 为基础。o p e n o f f i c e o r g 是主计划名称。在o p e n o f f i e e o r g 旗下还有二十多个计划。这些计划可以分为三大类f 2 2 1 。见下表2 1 :表2 1o p e n o f f i e e o r g 中计划的划分计划类型说明包括大部分技术性与非技术性的计划。这类计划公认的计划的领袖拥有投票权。这类计划的主要目的是为以非英语为第一语言的国际化计划人士而设。这类计划是仍在试验阶段的计划。这些计划都是试验计划由o p e n o f f i c e o r g 社团资助的。一般来说,成功的计划都会在半年以后由试验计划转为公认的计划。于2 0 0 0 年7 月发布的o p e n o f f i c e o r g 不仅仅是个软件,它包含了超过2 0 个同8苎王旦竺2 蟹竺:竺! 塑堡型塑塑墨堕垄篓竺箜型壅垄塑! ! 竺些笪堡墨丝! 堡竺2 望! ! :! 堡塑三姿茎垄时进行的计划的集合,包括a p i ,数据库开发,u i 增强等等。它的最终目标是建立一套能够在所有的主要平台之上运行的国际化的办公系统,并提供了通过基于a p i s和) ( m l 文件格式的开放组件来访问所有的功能和数据,与此同时提供对该套件源代码的自由存取来进一步改进其性能。实际上,s t a r o f f i c e 的下一版本将基于o p e n o f f i c e o r g 源码之上,而s u n 将继续公开这些源码。通过让社会参与套件的开发,将有助于确保o v e n o f f i c e o r g 不会像其他有版权限制的同胞那样不久便为世人所遗忘。o p e n o f f i c e o r g 既是开放源代码的产品也是一个项目“。产品是指一个多平台的办公自动化套件,它主要包括文字处理、电子表格、演示管理器、画图程序等,他们的功能和特性与其他的办公套件很相似。o p e n o f f i c e o r g 还能够透明的处理多种文件格式,包括m i c r o s o f t 的o f f i c e 。目前o p e n o f f i c e o r g 已支持2 5 种语言并且还在稳步的增加中。能在s o l a r i s ,l i n u x ,w i n d o w s ,f r e e b s d ,m a co sx 上稳定可靠地运行。c + + 写的并且提供了文档的a p i s ,在协议g n u 的通用公共授权l g p l 和s u ni n d u s t r ys t a n d a r d ss o u r c el i c e n s e ( s i s s l ) 的许可下,o p e n o f f i c e o r g 允许丌发者们从中获益。o p e n o f f i c e o r g 的文件格式是x m l ,互操作性容易,使得将来的开发和采用变得很方便f 2 0 1 。2 2 基于o p e n o f f i c e o r g 中t e x td o c u m e n t 的协同编辑系统z o f f i c e 的框架本协同编辑系统是基于o p e n o f f i c e o r g 之上的,所以除了拥有o p e n o f f i c e o r g的编辑环境、文档操作界面外,还包括文档管理、用户管理、协同管理、并发控制、用户访问控制、安全性管理,通信管理等模块。协同编辑并不是各个简单的c s c w 应用的堆砌。而是各个功能模块有机的结合在一起。图2 i 所示。9婴堡! ! 塑些堡堡型墨9 e 竺旦塑! ! :! 堡塑三竖茎茎董主! 翌竺旦受! ! :! 堡塑坐旦塑丝墨竺丝堡! ! 塑苎! ! 塑o p e n o f f i c e o r g q - 的t e x t d o c u m e n t 文档编辑平台用户管理l文档管理i协l 司组织l并发控制l 网络通讯l土i网络软硬件环境i善协同文档编辑服务器匝巫习e 圃口圃臣巫习厂磊函订雨丽l数据库巾数据存取i+i后台数据库系统i图2 1z o f f i c e 整体框架图由于我们所要设计的系统是建立在o p e n o f f i c e o r g 的基础之上。为了达到协同编辑的目的,我们希望通过在o p e n o f f i c e o r g 的编辑环境之上开发出支持协同编辑的功能模块。这些功能模块通过通信模块的支持,达到信息的交互。通信模块又是依靠网络软硬件环境的支持使得各个客户端能够顺利地和服务器端进行信息的交互。服务器端保存着系统所使用的各种数据,这些数据保存在数据库中。使用数据库保存这些信息可以使得保存数据更方便、更有效。使用数据库可以帮助我们在数据管理。l ! 二只要和数据库管理系统进行交互,省去了很多工作,同时安全性和有效性方面都有了保障。在我们的系统中设计了“文档空间”。所谓文档空间就是系统存在一个存放和管理文档的中心。当用户需要打开和编辑文档时,用户不需要了解文档存放的地址和存放的位置,同时在编辑文档的时候,系统提供一个编辑的空间,编辑者在进行编辑的时候就好像在本机上进行工作的感觉一样。用户只要登录到本系统,系统就会让用户选择需要打开的文档列表。这些文档的存放和维护是由系统来完成,用户不必关心文档如何存放。由于本系统是基于网络的,因此在任何时候任何地点用户只要有一个客户端,就可以编辑自己的文档,编辑结束以后所保存的文档由系统帮助维护。本系统不光是一个简单的文本编辑系统,协作是他的主要特点。也就是说,在编辑的过程中编辑者们还可以协作完成文档的编辑工作。这样大大扩展了单机编1 0基:f o p e n o f l i c e o 堕堕垫同犏墼系堕z o f f i c 跫的研究z o 峨c e 的蝗体框架及o p e n o f f i c e 嘶的二次开发辑系统的有限性,在信息孤岛之间建立起了桥梁,使编辑者们在共同的讨论和协作下完成工作。文档空间的设计主要是为了让编辑者使用本系统时更加的方便,基于网络的工作如同在本机上进行工作的感觉一样。既然系统是面向网络的那么在编辑的时候,特别是在和他人进行协同编辑时,就会出现编辑的牵制感。通过建立文档空间,系统创造一个共同编辑的空间。在这个空间中,编辑者之间的关系由系统来处理,编辑者只要处理好自己编辑的部分。文档空问为编辑者们工作的顺畅进行提供了外部环境基础。2 3z o f fic e 的系统模块设计由于o p e n o f f i c e o r g 是开放源代码的办公系统,并且提供了在它之上进行二次开发的s d k 及文档。我们在o p e n o f f i c e o r g 的编辑环境基础之上加入新的功能模块。新的功能模块分为服务器端和客户端,见图2 2 系统模块设计。文档服务器端用来存放以成员信息库和协同编辑文档库为主的主要数据库,及用户管理模块、文档管理模块、以及并发控制模块等。成员信息库中主要包括有成员的基本信息权限。角色,成员拥有的文档等数据。这些数据通过数据库_ 来管理。分别放在不同的表中。文档库中主要保存着文档的数据。这些文档的数据,通过数据库表保存在不同的表中。用户管理模块负责系统用户的管理与维护。用户登录时的身份验证,用户的添加和删除,用户的权限、角色及用户权限、角色的分配回收等。文档管理模块主要负责文档内容的管理,文档的组织结构的管理,文档的加锁状态的管理、文档节点的管理等。这两个模块管理着系统的主要数据。在下一章我们将详细分析。并发控制模块用来处理多个人同时编辑文档时产生的冲突。它在通信模块的支撑下管理多个人协同编辑的顺利进行。! 旦里! ! 塑壁箜堡型丛生唑些! ! :! 堡箜三姿墅丝苎塑q 篓! ! :! 堡塑堡堕塑堡墨墼竺! ! 竺婴塑图2 2z o f f i c e 系统模块设计同时服务器作为一个通信平台,协调各个编辑者之间的协同工作。当多个用户在同时编辑一篇文档的时候,他们之间的信息交换都是通过通信模块( 图2 2 中的网络管理模块) 之间的信息交换进行的。比如某个用户在编辑自己的章节的同时,可以看到整篇文档的编辑情况。整篇文档的信息,是由服务器通过文档管理模块收集并通过通信模块及时和各个客户端进行信息的交换的得到的。对于普通的编辑者,通过o p e n o f f i c e o r g 中t e x td o c u m e n t 编辑软件进行文档的编辑。融合在这个软件中的、新增的文档编辑模块管理着编辑者编辑文档的过程。主要包括文档节点编辑权限的申请,和服务器上的文档管理模块进行交互存取服务器上的文档内容等。并发控制模块和服务器上的并发控制模块一起。在多个编辑者之间进行协调处理。网络管理模块起着通信的作用,是协同编辑的基础,其他模块都是在这个模块之上进行的。对于主编来说,除了具有普通编辑者所具有的功能外,还要进行文档编辑过程苎量旦墼! 里里! ! :! 堡塑堡旦堕塑墨竺丝璺竺塑竺墨坐箜墼堡堡墨墨竺! ! ! q 璺竺:! ! e 箜三姿茎垄中用户的管理,文档的管理及安全管理。用户管理主要是在同步编辑的过程中,如何添加、删除文档的编辑者,如何给编辑者分配工作,如何给编辑者们分配权限、角色等。文档管理模块主要是如何组织文档的结构,如何增减章节点、叶节点等。安全管理模块主要是文档的安全管理,比如误删。2 4 z o f f i c e 的系统功能流程图系统有编辑客户端和编辑服务器端组成。编辑客户端在登录编辑服务器端时都必须使用已注册的账号。如果一个用户没有在本系统中注册过,则可以向系统管理员申请注册。对于注册用户,系统就返回给该用户系统为他所维护的文档列表。当用户选择某篇文档打开后,系统就会从文档数据库中的把该文档的结构和内容取出分析后组织成完整的文档,再传给用户。见图2 3 所示。z o m c e 的整体框架及o p e n o m c e o r g 的二次开发基于o p c n o l l i c co r g 的协同编辑系统z o i l i c e 的研究图2 3z o f f i c e 系统功能流程图当需要编辑文档时,该用户对这篇文档的编辑功能进行申请。如果这篇文档是私人文档,也就是该用户自己所有的,那么就可以取得编辑权限进行编辑。如果这1 三基于o p o m o r g 的协同编辑系统z o t b e e 的研究z o f l e 的整体堡挚壁o p e n o m c e , 0 7 曼塑三盗哥垄篇文档是公有的,那么就会有很多种情况了。如果文档处于编辑状态,也就是主编在线状态,如果主编已经把该用户加入了文档编辑者列表中,同时已经分配了任务、角色、权限那么该用户就可以对自己的任务进行编辑。如果该用户不在文档的编辑者列表中的,则主编对该用户的申请进行处理。处理的结果有两种。一种是分配任务、角色、权限,一种是拒绝申请。如果文档处于非编辑状态,也就是主编不在线状态,那么就有两种结果。一种是该用户在文档编辑者列表中,那么就可以编辑自己的部分。另一种是该用户不在文档编辑者列表中,则该用户无法获得编辑权限,也就无法进行文档的编辑。当然在编辑过程中不免会有冲突,这个过程由并发控制、冲突处理来解决。2 5 0 p e n o f fig e o r g 的二次开发我们采用u n o ( u n i v e r s a ln e t w o r ko b j e c t ) 技术【2 4 】、u n o 间的通信技术、协同技术等进行二次) 1 :发。在o p e n o f f i c e o r g 中提供了u n o 技术。u n o 的疆标是提供使网络q | 的刈歙能够和编程语言及运行5 f 台无关,达到u n o 对象在网络巾的任何地方都能够运行和通信。为了达到这个目的,u n o 提供了下列基本框架:u n o 对象是通过一种称为u n oi d l ( i n t e r f a c ed e f i n i t i o nl a n g u a g e ) 的元语言来定义的,类似于c o r b a 的i d l 或m i d l 。l r n o 用服务管理器( s e r v i c em a n a g e r ) 来管理在目标环境中实例化u n o 组件。u n o 组件间通过“桥”( b r i d g e ) 来交互实现语言不同的进程和对象之间发送访问方法和接收返回结果。u n o 开发的组件,能够融合在o p e n o f f i c e o r g 中。o p e n o f f i c e o r g 是一个世界公开的项目。为了能够组织世界上优秀的丌发者们参与和推动这个项目,o p e n o f f i c e o r g 组织提供了一套完整的歼发标准和开发工具。丌发者们在遵循丌发标准的前提下,可以利用开发工具来给o p e n o f f i c e o r g 增加新的功能。使得o p e n o f f i c e o r g 更符合我们的需要,实现订制。基于这样的条件,我们在进行协同编辑系统的开发过程中,就希望利用o p e n o f f i c e o r g 中t e x td o c u m e n t的编辑环境,再利用o o e n o f f i c e o r g 的开发环境,开发出符合我们的协同支持,这样就可以站在比较高的台阶上进行项目的开发了。生塑! ! 堕鳖竺堡墨墨塑旦里! ! :竺塑三姿墅丝薹兰竺竺! 塑! ! :! 堡塑堡婴堕塑墨竺! ! 墅! ! 塑堕鎏2 5 1o p e n o f f i c e o r g 二次开发需开发的功能由于项目是在o o e n o f f i c e o r g 基础上进行的,但是o p e n o f f i c e o r g 提供的是一个单机环境下的办公套件,如m i c r o s o f t 的o f f i c e 一样。o p e n o f f i c e o r g 提供了一套完整的办公套件,而我们所要的只是其中的文本编辑系统t e x td o c u m e n t ,这个编辑软件是个功能和m i c r o s o f t 的w o r d 可以媲美的软件,这样我们所进行的开发就是如何让t e x td o c u m e n t 网络化、协同化、多用户化。网络化就是使t e x td o c u m e n t 支持网络通信,通过网络协议在服务器和客户机之间建立进行信息交换的通道。网络化是多用户化和协同化的前提。为了实现网络化,需要开发服务器和客户机进行通信的模块。在t e x td o c u m e n t 中开发通信组件,使t e x td o c u m e n t 在启动的时候启动这个组件服务。服务器也要开发基于相同协议的通信模块。网络化是编辑系统协同化的基础,但是本课题主要研究的是协同化。协同化就是协调多个编辑者进行协调、有序的工作。协同化主要体现在用户管理模块和文档管理模块。协同需要有多用户的共同参与,同时编辑的文档在内容的组织管理上要适合协同,要把协同的思想融入到具体模块的设计中。多用户化就是让t e x td o c u m e n t 能够支持多用户的协同编辑。当多个用户异步或同步进行编辑的时候,系统需要有用户管理模块来管理整个文档的编辑用户。多用户化的过程中,用户问的关系,用户的权限管理,用户的角色分配等问题都需要解决。o p e n o f f i c e o r g 提供的u n o 技术,通过o p e n o f f i c e o r g 的a p i s 来读写o p e n o f f i c e o r g 的对象。通过u n o 技术可以利用和丌发出交叉语言、组件技术、平台和网络的组件。目前在w i n d o w s 平台上可以利用j a v a 、c + + 和o p e n o f f i c e o r g 的b a s i c 来开发u n o 组件。利用c + + 或者j a v a 开发出的u n o 组件,能够被o f f i c e 的进程所实例化,从而给o p e n o f f i c e o r g 提供新的功能,甚至可以丌发出作为群件系统的客户端软件。我们开发出支持网络及支持协同的u n o 组件,在o p e n o f f i c e o r g 启动的时候,把这些组件实例化。2 5 2o p e n o f f i c e o r g 二次开发的工具及步骤首先,丌发所需要的文件包括o p e n o f f i c e 。o r g 的安装文件和a p i 的文档。其次如果提供j a v a 的开发环境则需要安装j d k1 3 1 ( 或者更高版本) ,j a v ai d e 和o p e n o f f i c e o r gs o f t w a r ed e v e l o p m e n tk i t ( s d k ) 。1 6基于o p e n o f l i c e o r g 的协同鳊辑系统z o m c e 的研究z o m c e 的整体框架及o p e n o m c eo r g 的二次开发o p e n o f f i c e o r gs d k ( s o f t w a r ed e v e l o p m e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/Z 177.2-2026人工智能终端智能化分级第2部分:总体要求
- 2026年荆州中考物理试题及答案
- 深度解析(2026)《GBT 30047-2013煤粉(泥)可浮性评定方法》
- 2026 年烟花爆竹零售门店安全隐患排查表
- 《DLT 5580.2-2022燃煤耦合生物质发电生物质能电量计算第2部分:农林废弃物直燃耦合》(2026年)合规红线与避坑实操手册
- 2026年食品生产合同(豆制品行业)
- 2026.5.7 小米袋拆垛机器人
- 2026年3月浙里初中升学联考英语仿真卷(一)(含答案)
- 某省市场与金融机构第2章金融产品某省市场
- 吴江就业指导服务中心
- 八年级下学期期中家长会课件
- 2026年乡镇高层次人才引进笔试题库与解析
- 雨课堂学堂在线学堂云《自然辩证法概论( 武汉科技大)》单元测试考核答案
- 2025年7月浙江省普通高中学业水平考试化学试卷(含答案)
- 药物研发中的生物信息学数据处理
- 46566-2025温室气体管理体系管理手册及全套程序文件
- TCECS 1451-2023 国际建设项目风险管理标准
- 2025年高级人工智能训练师(三级)理论考试题库-含答案
- 铁路防护栅栏实施施工组织设计
- AEO(关务)管理手册
- DB32-T 4581-2023 人民建议征集工作规范
评论
0/150
提交评论