專(zhuān)利名稱(chēng):一種點(diǎn)對(duì)點(diǎn)實(shí)時(shí)協(xié)同編輯系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種點(diǎn)對(duì)點(diǎn)實(shí)時(shí)協(xié)同編輯系統(tǒng),尤其涉及一種基于Eclipse的點(diǎn)對(duì)點(diǎn)實(shí)時(shí)協(xié)同編輯系統(tǒng)。
背景技術(shù):
當(dāng)前,團(tuán)隊(duì)協(xié)作是各種組織解決復(fù)雜問(wèn)題的重要手段,隨著計(jì)算機(jī)網(wǎng)絡(luò)的發(fā) 展,群體間的遠(yuǎn)程交互發(fā)揮著越來(lái)越重要的作用。計(jì)算機(jī)支持的協(xié)同工作(Computer SupportedCooperative Work,CSCff)順應(yīng)著這種趨勢(shì),近年來(lái)取得了巨大發(fā)展。實(shí)時(shí)協(xié)同 編輯系統(tǒng)(Real-Time Collaborative Editing System)作為CSCW下的重要應(yīng)用,能夠?yàn)?用戶(hù)提供同步的編輯環(huán)境,用戶(hù)即便在地理位置分隔的情況下仍然能夠以同步的方式完成 一項(xiàng)工作。由于實(shí)時(shí)協(xié)同編輯應(yīng)用開(kāi)發(fā)的復(fù)雜度,現(xiàn)今的實(shí)時(shí)協(xié)同編輯系統(tǒng)應(yīng)用中,各種解 決方案所提供的服務(wù)往往用途較為單一同時(shí)擴(kuò)展性不強(qiáng)。此外對(duì)于復(fù)雜多變的網(wǎng)絡(luò)狀況, 許多解決方案中的網(wǎng)絡(luò)相關(guān)組件還有待優(yōu)化。協(xié)同編輯系統(tǒng)是(Collaborative Editing System) [4]是CSCW應(yīng)用的一類(lèi)主要 分支,其基本目標(biāo)在于使不同的用戶(hù)能夠通過(guò)網(wǎng)絡(luò)編輯同一對(duì)象。根據(jù)任務(wù)環(huán)境不同,用戶(hù) 能夠選擇以同步(synchronously)或異步(asynchronously)的方式進(jìn)行協(xié)同工作。其中 同步協(xié)同又稱(chēng)為實(shí)時(shí)協(xié)同[4],當(dāng)用戶(hù)對(duì)目標(biāo)對(duì)象進(jìn)行操作時(shí),其他用戶(hù)能夠立即感知對(duì)象 變化,如在Google Doc等在線(xiàn)辦公系統(tǒng)中,多個(gè)用戶(hù)能夠以同步的方式對(duì)同一文檔進(jìn)行修 改;異步方式下協(xié)同編輯時(shí),用戶(hù)需自己決定何時(shí)發(fā)布操作或集成接收到的其他用戶(hù)操作, 典型應(yīng)用如軟件配置管理(Software Configuration Management, SCM)中的 SVN、CVS、GIT 等版本控制系統(tǒng)。值得注意的是,典型的協(xié)同編輯系統(tǒng)往往需要某些中心節(jié)點(diǎn)的調(diào)度協(xié)調(diào) 以保證整個(gè)系統(tǒng)的正確有序,這種對(duì)中心節(jié)點(diǎn)的依賴(lài)尤其限制了實(shí)時(shí)協(xié)同編輯系統(tǒng)的整體 伸縮性以及使用靈活性[1]。從協(xié)同編輯系統(tǒng)構(gòu)建的角度看來(lái),其開(kāi)發(fā)難度較高,周期較長(zhǎng),集中體現(xiàn)在由于其 核心算法描述復(fù)雜、實(shí)現(xiàn)困難,同時(shí)還對(duì)網(wǎng)絡(luò)環(huán)境的要求較嚴(yán)格。針對(duì)實(shí)時(shí)協(xié)同編輯系統(tǒng)已 有開(kāi)發(fā)框架的原型存在如GCF[1],但從應(yīng)用的角度來(lái)說(shuō),統(tǒng)一且成熟的實(shí)時(shí)協(xié)同編輯解決 方案不多。點(diǎn)對(duì)點(diǎn)(Peer-To-Peer,P2P) [5]技術(shù)作為現(xiàn)今互聯(lián)網(wǎng)最主流的網(wǎng)絡(luò)架構(gòu)技術(shù),其 概念早在互聯(lián)網(wǎng)發(fā)展初期就已被提出,然而其真正廣泛流行則要?dú)w功于1999年美國(guó)東北 波士頓大學(xué)的Shawn Farming獨(dú)立開(kāi)發(fā)的Napster軟件。Napster的主要功能是為用戶(hù)搜 尋和共享音樂(lè),同時(shí)還能夠與其他用戶(hù)進(jìn)行交流,其出現(xiàn)猶如一枚重磅炸彈,最高峰時(shí)曾吸 引了 8000萬(wàn)注冊(cè)用戶(hù)。自Napster的成功開(kāi)始,之后P2P應(yīng)用層出不窮,目不暇接的P2P 應(yīng)用可以說(shuō)涵蓋了網(wǎng)絡(luò)應(yīng)用的方方面面,如文件分發(fā)、在線(xiàn)視頻、遠(yuǎn)程教育、醫(yī)療等等方面。P2P網(wǎng)絡(luò)的最大特點(diǎn)在于去中心化,正因?yàn)榫邆浯颂攸c(diǎn),在P2P應(yīng)用中占最大比重的且 普及率最高的是文件分發(fā)和共享。如最早的Napster,到現(xiàn)今流行的BT,E-Mule等,提供的 都是文件分發(fā)和共享服務(wù)。
P2P技術(shù)的去中心化特性恰好能夠改善實(shí)時(shí)協(xié)同編輯系統(tǒng)中對(duì)中心服務(wù)器依賴(lài)的 缺陷,為實(shí)時(shí)協(xié)同系統(tǒng)增加可觀的伸縮性,同時(shí)P2P技術(shù)還能夠簡(jiǎn)化以往實(shí)時(shí)協(xié)同編輯系 統(tǒng)的數(shù)據(jù)傳輸過(guò)程,提高實(shí)時(shí)協(xié)同編輯系統(tǒng)的性能。因此P2P環(huán)境下的實(shí)時(shí)協(xié)同編輯系統(tǒng) 是當(dāng)前協(xié)同編輯領(lǐng)域普遍認(rèn)同的解決方案。
發(fā)明內(nèi)容
基于上述技術(shù)背景,本發(fā)明設(shè)計(jì)了一個(gè)基于Eclipse的點(diǎn)對(duì)點(diǎn)實(shí)時(shí)協(xié)同編輯系統(tǒng)。該系統(tǒng)以Eclipse為載體,利用Eclipse的高度可擴(kuò)展性,通過(guò)層次化的設(shè)計(jì),構(gòu)筑了 一個(gè)提供泛型實(shí)時(shí)協(xié)同編輯服務(wù)的開(kāi)放平臺(tái)。同時(shí)該系統(tǒng)在引入P2P技術(shù)的前提下,強(qiáng)化 了內(nèi)部網(wǎng)絡(luò)相關(guān)組件的自治性管理,從而使系統(tǒng)對(duì)網(wǎng)絡(luò)的適應(yīng)能力得到保證。本發(fā)明的技術(shù)方案如下一種點(diǎn)對(duì)點(diǎn)實(shí)時(shí)協(xié)同編輯系統(tǒng),其特征在于,包括配置器、通信組件、泛型引擎、應(yīng) 用依賴(lài)接口、工程管理器、UI抽象層和Eclipse擴(kuò)展。配置器包括配置服務(wù)器類(lèi),是配置器組件提供服務(wù)的核心類(lèi),全面負(fù)責(zé)系統(tǒng)配置 信息的管理以及各組件初始化;配置管理器類(lèi),負(fù)責(zé)管理系統(tǒng)相關(guān)的各種配置信息,所提供 的具體功能有默認(rèn)配置環(huán)境的初始化,查詢(xún)配置信息等;組件代理類(lèi),繼承自IComponent 接口,在各組件初始化并開(kāi)始行使職責(zé)之前,代理類(lèi)將替代具體類(lèi)為其他組件提供元數(shù)據(jù) 信息;配置信息包裝類(lèi),系統(tǒng)內(nèi)所有配置信息都將被封裝在ConfigBimdle實(shí)例中進(jìn)行傳 遞;文件管理器類(lèi),負(fù)責(zé)文件的批量操作;默認(rèn)文件解析器類(lèi),繼承自IFileParser接口,負(fù) 責(zé)文本文件的的簡(jiǎn)單解析;配置器整體負(fù)責(zé)管理系統(tǒng)的配置信息同時(shí)負(fù)責(zé)系統(tǒng)初始化以及 管理各組件的生命周期。通信組件包括節(jié)點(diǎn)組件、共享組組件、消息解析器,通信組件的主要任務(wù)是給引 擎組件提供完備統(tǒng)一的通信接口,保證在P2P環(huán)境中消息的發(fā)送和接收,用戶(hù)同樣可以針 對(duì)自己的需要將實(shí)現(xiàn)替換,如采用用戶(hù)自行編寫(xiě)的基于Socket的實(shí)現(xiàn)或其他通訊框架的 實(shí)現(xiàn)等等。泛型引擎包括消息監(jiān)聽(tīng)線(xiàn)程、調(diào)度器線(xiàn)程、過(guò)濾器線(xiàn)程、引擎線(xiàn)程、垃圾收集線(xiàn)程 和同步器線(xiàn)程。應(yīng)用依賴(lài)接口包括Bridge,負(fù)責(zé)承載應(yīng)用依賴(lài)接口的總體功能;普通操作類(lèi)繼 承IOperation接口,負(fù)責(zé)描述一個(gè)操作;遠(yuǎn)程操作類(lèi),繼承AbstractOperation類(lèi),負(fù)責(zé)描 述一個(gè)遠(yuǎn)程操作;轉(zhuǎn)換函數(shù)的包裝類(lèi),繼承ITransformer接口 ;UI抽象層的主要功能在與將既有的UI組件適配到Lobo中,具體說(shuō)來(lái)即將 Eclipse的UI組件集成到Lobo內(nèi)。本發(fā)明在Eclipse的基礎(chǔ)之上,提供實(shí)時(shí)協(xié)同編輯服務(wù),工程管理,信息共享,版 本導(dǎo)出等多種功能。本發(fā)明利用Eclipse的既有功能和高度開(kāi)放性,將P2P環(huán)境下的實(shí)時(shí) 協(xié)同編輯功能注入其中,提供一個(gè)統(tǒng)一的、平臺(tái)化的實(shí)時(shí)協(xié)同編輯解決方案。在本發(fā)明中, 除Eclipse默認(rèn)的文本類(lèi)編輯功能外,用戶(hù)或開(kāi)發(fā)人員還能夠?qū)⒏鄬?shí)用的協(xié)同編輯應(yīng)用 集成到一起。此外,由于P2P的引入帶來(lái)的系統(tǒng)穩(wěn)定性問(wèn)題,網(wǎng)絡(luò)組件中容錯(cuò)能力的強(qiáng)化得 到了很好的解決。
附圖為本發(fā)明實(shí)施例的系統(tǒng)架構(gòu)圖;
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步的說(shuō)明。參見(jiàn)附圖,一種點(diǎn)對(duì)點(diǎn)實(shí)時(shí)協(xié)同編輯系統(tǒng),其特征在于,包括配置器、通信組件、泛 型引擎、應(yīng)用依賴(lài)接口、工程管理器、UI抽象層和Eclipse擴(kuò)展。配置器包括配置服務(wù)器類(lèi),是配置器組件提供服務(wù)的核心類(lèi),全面負(fù)責(zé)系統(tǒng)配置 信息的管理以及各組件初始化;配置管理器類(lèi),負(fù)責(zé)管理系統(tǒng)相關(guān)的各種配置信息,所提供 的具體功能有默認(rèn)配置環(huán)境的初始化,查詢(xún)配置信息等;組件代理類(lèi),繼承自IComponent 接口,在各組件初始化并開(kāi)始行使職責(zé)之前,代理類(lèi)將替代具體類(lèi)為其他組件提供元數(shù)據(jù) 信息;配置信息包裝類(lèi),系統(tǒng)內(nèi)所有配置信息都將被封裝在ConfigBimdle實(shí)例中進(jìn)行傳 遞;文件管理器類(lèi),負(fù)責(zé)文件的批量操作;默認(rèn)文件解析器類(lèi),繼承自IFileParser接口,負(fù) 責(zé)文本文件的的簡(jiǎn)單解析;配置器整體負(fù)責(zé)管理系統(tǒng)的配置信息同時(shí)負(fù)責(zé)系統(tǒng)初始化以及 管理各組件的生命周期。通信組件包括節(jié)點(diǎn)組件、共享組組件、消息解析器,通信組件的主要任務(wù)是給引 擎組件提供完備統(tǒng)一的通信接口,保證在P2P環(huán)境中消息的發(fā)送和接收,用戶(hù)同樣可以針 對(duì)自己的需要將實(shí)現(xiàn)替換,如采用用戶(hù)自行編寫(xiě)的基于Socket的實(shí)現(xiàn)或其他通訊框架的 實(shí)現(xiàn)等等。泛型引擎包括消息監(jiān)聽(tīng)線(xiàn)程、調(diào)度器線(xiàn)程、過(guò)濾器線(xiàn)程、引擎線(xiàn)程、垃圾收集線(xiàn)程 和同步器線(xiàn)程。應(yīng)用依賴(lài)接口包括Bridge,負(fù)責(zé)承載應(yīng)用依賴(lài)接口的總體功能;普通操作類(lèi)繼 承IOperation接口,負(fù)責(zé)描述一個(gè)操作;遠(yuǎn)程操作類(lèi),繼承AbstractOperation類(lèi),負(fù)責(zé)描 述一個(gè)遠(yuǎn)程操作;轉(zhuǎn)換函數(shù)的包裝類(lèi),繼承ITransformer接口 ;UI抽象層的主要功能在與將既有的UI組件適配到本發(fā)明中,具體說(shuō)來(lái)即將 Eclipse的UI組件集成到本發(fā)明的系統(tǒng)內(nèi)。本發(fā)明在Eclipse的基礎(chǔ)之上,提供實(shí)時(shí)協(xié)同編輯服務(wù),工程管理,信息共享,版 本導(dǎo)出等多種功能。本發(fā)明利用Eclipse的既有功能和高度開(kāi)放性,將P2P環(huán)境下的實(shí)時(shí) 協(xié)同編輯功能注入其中,提供一個(gè)統(tǒng)一的、平臺(tái)化的實(shí)時(shí)協(xié)同編輯解決方案。在本發(fā)明中, 除Eclipse默認(rèn)的文本類(lèi)編輯功能外,用戶(hù)或開(kāi)發(fā)人員還能夠?qū)⒏鄬?shí)用的協(xié)同編輯應(yīng)用 集成到一起。此外,由于P2P的引入帶來(lái)的系統(tǒng)穩(wěn)定性問(wèn)題,網(wǎng)絡(luò)組件中容錯(cuò)能力的強(qiáng)化得 到了很好的解決。
權(quán)利要求
一種點(diǎn)對(duì)點(diǎn)實(shí)時(shí)協(xié)同編輯系統(tǒng),其特征在于,包括配置器、通信組件、泛型引擎、應(yīng)用依賴(lài)接口、工程管理器、UI抽象層和Eclipse擴(kuò)展。
2.根據(jù)權(quán)利要求1所述的一種點(diǎn)對(duì)點(diǎn)實(shí)時(shí)協(xié)同編輯系統(tǒng),其特征在于,配置器包括配 置服務(wù)器類(lèi),是配置器組件提供服務(wù)的核心類(lèi),全面負(fù)責(zé)系統(tǒng)配置信息的管理以及各組件 初始化;配置管理器類(lèi),負(fù)責(zé)管理系統(tǒng)相關(guān)的各種配置信息,所提供的具體功能有默認(rèn)配置 環(huán)境的初始化,查詢(xún)配置信息等;組件代理類(lèi),繼承自IComponent接口,在各組件初始化并 開(kāi)始行使職責(zé)之前,代理類(lèi)將替代具體類(lèi)為其他組件提供元數(shù)據(jù)信息;配置信息包裝類(lèi),系 統(tǒng)內(nèi)所有配置信息都將被封裝在ConfigBimdle實(shí)例中進(jìn)行傳遞;文件管理器類(lèi),負(fù)責(zé)文件 的批量操作;默認(rèn)文件解析器類(lèi),繼承自IFileParser接口,負(fù)責(zé)文本文件的的簡(jiǎn)單解析; 配置器整體負(fù)責(zé)管理系統(tǒng)的配置信息同時(shí)負(fù)責(zé)系統(tǒng)初始化以及管理各組件的生命周期。
3.根據(jù)權(quán)利要求1所述的一種點(diǎn)對(duì)點(diǎn)實(shí)時(shí)協(xié)同編輯系統(tǒng),其特征在于,所述的通信組 件包括節(jié)點(diǎn)組件、共享組組件、消息解析器,通信組件的主要任務(wù)是給引擎組件提供完備 統(tǒng)一的通信接口,保證在P2P環(huán)境中消息的發(fā)送和接收,用戶(hù)同樣可以針對(duì)自己的需要將 實(shí)現(xiàn)替換,如采用用戶(hù)自行編寫(xiě)的基于Socket的實(shí)現(xiàn)或其他通訊框架的實(shí)現(xiàn)等等。
4.根據(jù)權(quán)利要求1所述的一種點(diǎn)對(duì)點(diǎn)實(shí)時(shí)協(xié)同編輯系統(tǒng),其特征在于,所述的泛型引 擎包括消息監(jiān)聽(tīng)線(xiàn)程、調(diào)度器線(xiàn)程、過(guò)濾器線(xiàn)程、引擎線(xiàn)程、垃圾收集線(xiàn)程和同步器線(xiàn)程。
5.根據(jù)權(quán)利要求1所述的一種點(diǎn)對(duì)點(diǎn)實(shí)時(shí)協(xié)同編輯系統(tǒng),其特征在于,所述的應(yīng)用依 賴(lài)接口包括Bridge,負(fù)責(zé)承載應(yīng)用依賴(lài)接口的總體功能;普通操作類(lèi)繼承IOperation接 口,負(fù)責(zé)描述一個(gè)操作;遠(yuǎn)程操作類(lèi),繼承AbstractOperation類(lèi),負(fù)責(zé)描述一個(gè)遠(yuǎn)程操作; 轉(zhuǎn)換函數(shù)的包裝類(lèi),繼承ITransformer接口 ;
6.根據(jù)權(quán)利要求1所述的一種點(diǎn)對(duì)點(diǎn)實(shí)時(shí)協(xié)同編輯系統(tǒng),其特征在于,所述的UI抽象 層的主要功能在與將既有的UI組件適配到Lobo中,具體說(shuō)來(lái)即將Eclipse的UI組件集成 至lj Lobo 內(nèi)。
全文摘要
本發(fā)明涉及一種點(diǎn)對(duì)點(diǎn)實(shí)時(shí)協(xié)同編輯系統(tǒng),尤其涉及一種基于Eclipse的點(diǎn)對(duì)點(diǎn)實(shí)時(shí)協(xié)同編輯系統(tǒng)。本發(fā)明設(shè)計(jì)了一個(gè)基于Eclipse的點(diǎn)對(duì)點(diǎn)實(shí)時(shí)協(xié)同編輯系統(tǒng)。該系統(tǒng)以Eclipse為載體,利用Eclipse的高度可擴(kuò)展性,通過(guò)層次化的設(shè)計(jì),構(gòu)筑了一個(gè)提供泛型實(shí)時(shí)協(xié)同編輯服務(wù)的開(kāi)放平臺(tái)。同時(shí)該系統(tǒng)在引入P2P技術(shù)的前提下,強(qiáng)化了內(nèi)部網(wǎng)絡(luò)相關(guān)組件的自治性管理,從而使系統(tǒng)對(duì)網(wǎng)絡(luò)的適應(yīng)能力得到保證。本發(fā)明一種點(diǎn)對(duì)點(diǎn)實(shí)時(shí)協(xié)同編輯系統(tǒng),其特征在于,包括配置器、通信組件、泛型引擎、應(yīng)用依賴(lài)接口、工程管理器、UI抽象層和Eclipse擴(kuò)展。
文檔編號(hào)G06Q10/00GK101859403SQ20091005887
公開(kāi)日2010年10月13日 申請(qǐng)日期2009年4月9日 優(yōu)先權(quán)日2009年4月9日
發(fā)明者黃忍冬 申請(qǐng)人:黃忍冬