首页 / 一种点对点实时协同编辑系统

一种点对点实时协同编辑系统无效专利 发明

技术内容

技术领域 本发明涉及一种点对点实时协同编辑系统,尤其涉及一种基于Eclipse的点对点实时协同编辑系统。 背景技术 当前,团队协作是各种组织解决复杂问题的重要手段,随着计算机网络的发展,群体间的远程交互发挥着越来越重要的作用。计算机支持的协同工作(Computer SupportedCooperative Work,CSCW)顺应着这种趋势,近年来取得了巨大发展。实时协同编辑系统(Real-Time Collaborative Editing System)作为CSCW下的重要应用,能够为用户提供同步的编辑环境,用户即便在地理位置分隔的情况下仍然能够以同步的方式完成一项工作。由于实时协同编辑应用开发的复杂度,现今的实时协同编辑系统应用中,各种解决方案所提供的服务往往用途较为单一同时扩展性不强。此外对于复杂多变的网络状况,许多解决方案中的网络相关组件还有待优化。 协同编辑系统是(Collaborative Editing System)[4]是CSCW应用的一类主要分支,其基本目标在于使不同的用户能够通过网络编辑同一对象。根据任务环境不同,用户能够选择以同步(synchronously)或异步(asynchronously)的方式进行协同工作。其中同步协同又称为实时协同[4],当用户对目标对象进行操作时,其他用户能够立即感知对象变化,如在Google Doc等在线办公系统中,多个用户能够以同步的方式对同一文档进行修改;异步方式下协同编辑时,用户需自己决定何时发布操作或集成接收到的其他用户操作,典型应用如软件配置管理(Software Configuration Management,SCM)中的SVN、CVS、GIT等版本控制系统。值得注意的是,典型的协同编辑系统往往需要某些中心节点的调度协调以保证整个系统的正确有序,这种对中心节点的依赖尤其限制了实时协同编辑系统的整体伸缩性以及使用灵活性[1]。 从协同编辑系统构建的角度看来,其开发难度较高,周期较长,集中体现在由于其核心算法描述复杂、实现困难,同时还对网络环境的要求较严格。针对实时协同编辑系统已有开发框架的原型存在如GCF[1],但从应用的角度来说,统一且成熟的实时协同编辑解决方案不多。 点对点(Peer-To-Peer,P2P)[5]技术作为现今互联网最主流的网络架构技术,其概念早在互联网发展初期就已被提出,然而其真正广泛流行则要归功于1999年美国东北波士顿大学的Shawn Fanning独立开发的Napster软件。Napster的主要功能是为用户搜寻和共享音乐,同时还能够与其他用户进行交流,其出现犹如一枚重磅炸弹,最高峰时曾吸引了8000万注册用户。自Napster的成功开始,之后P2P应用层出不穷,目不暇接的P2P应用可以说涵盖了网络应用的方方面面,如文件分发、在线视频、远程教育、医疗等等方面[6]。P2P网络的最大特点在于去中心化,正因为具备此特点,在P2P应用中占最大比重的且普及率最高的是文件分发和共享。如最早的Napster,到现今流行的BT,E-Mule等,提供的都是文件分发和共享服务。 P2P技术的去中心化特性恰好能够改善实时协同编辑系统中对中心服务器依赖的缺陷,为实时协同系统增加可观的伸缩性,同时P2P技术还能够简化以往实时协同编辑系统的数据传输过程,提高实时协同编辑系统的性能。因此P2P环境下的实时协同编辑系统是当前协同编辑领域普遍认同的解决方案。 发明内容 基于上述技术背景,本发明设计了一个基于Eclipse的点对点实时协同编辑系统。该系统以Eclipse为载体,利用Eclipse的高度可扩展性,通过层次化的设计,构筑了一个提供泛型实时协同编辑服务的开放平台。同时该系统在引入P2P技术的前提下,强化了内部网络相关组件的自治性管理,从而使系统对网络的适应能力得到保证。 本发明的技术方案如下: 一种点对点实时协同编辑系统,其特征在于,包括配置器、通信组件、泛型引擎、应用依赖接口、工程管理器、UI抽象层和Eclipse扩展。 配置器包括:配置服务器类,是配置器组件提供服务的核心类,全面负责系统配置信息的管理以及各组件初始化;配置管理器类,负责管理系统相关的各种配置信息,所提供的具体功能有默认配置环境的初始化,查询配置信息等;组件代理类,继承自IComponent接口,在各组件初始化并开始行使职责之前,代理类将替代具体类为其他组件提供元数据信息;配置信息包装类,系统内所有配置信息都将被封装在ConfigBundle实例中进行传递;文件管理器类,负责文件的批量操作;默认文件解析器类,继承自IFileParser接口,负责文本文件的的简单解析;配置器整体负责管理系统的配置信息同时负责系统初始化以及管理各组件的生命周期。 通信组件包括:节点组件、共享组组件、消息解析器,通信组件的主要任务是给引擎组件提供完备统一的通信接口,保证在P2P环境中消息的发送和接收,用户同样可以针对自己的需要将实现替换,如采用用户自行编写的基于Socket的实现或其他通讯框架的实现等等。 泛型引擎包括:消息监听线程、调度器线程、过滤器线程、引擎线程、垃圾收集线程和同步器线程。 应用依赖接口包括:Bridge,负责承载应用依赖接口的总体功能;普通操作类:继承IOperation接口,负责描述一个操作;远程操作类,继承AbstractOperation类,负责描述一个远程操作;转换函数的包装类,继承ITransformer接口; UI抽象层的主要功能在与将既有的UI组件适配到Lobo中,具体说来即将Eclipse的UI组件集成到Lobo内。 本发明在Eclipse的基础之上,提供实时协同编辑服务,工程管理,信息共享,版本导出等多种功能。本发明利用Eclipse的既有功能和高度开放性,将P2P环境下的实时协同编辑功能注入其中,提供一个统一的、平台化的实时协同编辑解决方案。在本发明中,除Eclipse默认的文本类编辑功能外,用户或开发人员还能够将更多实用的协同编辑应用集成到一起。此外,由于P2P的引入带来的系统稳定性问题,网络组件中容错能力的强化得到了很好的解决。 附图说明 附图为本发明实施例的系统架构图; 具体实施方式 下面结合附图对本发明做进一步的说明。 参见附图,一种点对点实时协同编辑系统,其特征在于,包括配置器、通信组件、泛型引擎、应用依赖接口、工程管理器、UI抽象层和Eclipse扩展。 配置器包括:配置服务器类,是配置器组件提供服务的核心类,全面负责系统配置信息的管理以及各组件初始化;配置管理器类,负责管理系统相关的各种配置信息,所提供的具体功能有默认配置环境的初始化,查询配置信息等;组件代理类,继承自IComponent接口,在各组件初始化并开始行使职责之前,代理类将替代具体类为其他组件提供元数据信息;配置信息包装类,系统内所有配置信息都将被封装在ConfigBundle实例中进行传递;文件管理器类,负责文件的批量操作;默认文件解析器类,继承自IFileParser接口,负责文本文件的的简单解析;配置器整体负责管理系统的配置信息同时负责系统初始化以及管理各组件的生命周期。 通信组件包括:节点组件、共享组组件、消息解析器,通信组件的主要任务是给引擎组件提供完备统一的通信接口,保证在P2P环境中消息的发送和接收,用户同样可以针对自己的需要将实现替换,如采用用户自行编写的基于Socket的实现或其他通讯框架的实现等等。 泛型引擎包括:消息监听线程、调度器线程、过滤器线程、引擎线程、垃圾收集线程和同步器线程。 应用依赖接口包括:Bridge,负责承载应用依赖接口的总体功能;普通操作类:继承IOperation接口,负责描述一个操作;远程操作类,继承AbstractOperation类,负责描述一个远程操作;转换函数的包装类,继承ITransformer接口; UI抽象层的主要功能在与将既有的UI组件适配到本发明中,具体说来即将Eclipse的UI组件集成到本发明的系统内。 本发明在Eclipse的基础之上,提供实时协同编辑服务,工程管理,信息共享,版本导出等多种功能。本发明利用Eclipse的既有功能和高度开放性,将P2P环境下的实时协同编辑功能注入其中,提供一个统一的、平台化的实时协同编辑解决方案。在本发明中,除Eclipse默认的文本类编辑功能外,用户或开发人员还能够将更多实用的协同编辑应用集成到一起。此外,由于P2P的引入带来的系统稳定性问题,网络组件中容错能力的强化得到了很好的解决。

相关技术
实时协同相关技术
编辑系统相关技术
黄忍冬发明人的其他相关专利技术