實時協(xié)同編輯系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及一種能夠保留所有用戶的操作意愿以及融合意愿的實時協(xié)同編輯系統(tǒng)。
【背景技術】
[0002]協(xié)同編輯系統(tǒng)是一種允許處于不同地域的用戶通過計算機網絡同時來編輯同一個文檔(包括文本,圖形,視頻,音頻等)的編輯系統(tǒng),即、多個用戶可以通過協(xié)同編輯系統(tǒng)實時的來編輯同一個文檔。
[0003]目前,協(xié)同編輯系統(tǒng)目前主要有兩種模式:異步協(xié)同和實時協(xié)同。
[0004]異步協(xié)同允許多人在時間上分離地對同一內容進行編輯,并通過加鎖、版本控制等機制保證同一區(qū)域的內容不會在同一個時刻被同時修改,但這種解決方案在用戶感知和并發(fā)度方面存在較大缺陷,只有當用戶提交了本地更新版本之后,其他用戶才可能感知到該用戶的編輯效果,并申請進行修改。
[0005]實時協(xié)同通常采用全復制式架構,各參與用戶通過在本地副本立即執(zhí)行本地操作,并通過操作轉發(fā)方式通知其他用戶來實現共享內容的同步更新。在這種架構下,每個參與用戶擁有對共享內容的對等編輯權限,即、任意用戶可以在任意時刻對共享內容的任意部分執(zhí)行任意的編輯操作。這種對等協(xié)作模式具有較短的響應時間和較高的并發(fā)度等優(yōu)勢。
[0006]然而,當實時協(xié)同出現沖突操作時,即不同的用戶對同一個內容的同一屬性進行了不同的編輯操作,通常采用兩種方式來解決:一、對該沖突操作都不執(zhí)行;二、根據預先設定好的每個用戶的優(yōu)先級,執(zhí)行優(yōu)先級高的用戶的編輯操作。而這兩種處理方式都造成了用戶腦力資源的浪費。
【發(fā)明內容】
[0007]本發(fā)明是為了解決上述問題而進行的,目的在于提供一種能夠保留所有用戶的操作意愿并對沖突意愿進行融合的實時協(xié)同編輯系統(tǒng)。
[0008]本發(fā)明提供了一種實時協(xié)同編輯系統(tǒng),讓至少兩個用戶同時對同一個待編輯文件進行編輯,其特征在于,包括:至少兩個用戶終端,通過通信網絡相通信連接,用于讓每個用戶--對應使用,每個用戶終端包含:畫面存儲部、輸入顯示部、用戶側通信部、用戶側操作執(zhí)行部、時間戳設定部、判斷部以及操作融合部;以及服務器,通過通信網絡與每個用戶終端相通信連接,包含:文件存儲部、服務側通信部以及服務側操作執(zhí)行部,其中,文件存儲部對應存儲有文件名稱和編輯文件,畫面存儲部存儲有待編輯文件設定畫面和文件顯示畫面,輸入顯示部顯示待編輯文件設定畫面,讓用戶輸入待編輯文件名稱從而設定待編輯文件,用戶側通信部通過通信網絡將被輸入的待編輯文件名稱發(fā)送至服務器,服務側通信部通過通信網絡接收用戶終端發(fā)送來的待編輯文件名稱,檢索獲取部基于被接收到的待編輯文件名稱從文件存儲部中檢索出文件名稱,并獲取相應的編輯文件,服務側通信部通過通信網絡將被獲取的編輯文件分別發(fā)送至每個用戶終端,用戶側通信部接收服務器發(fā)送來的編輯文件,輸入顯示部將被接收到的編輯文件顯示在文件顯示畫面中,讓用戶進行編輯操作,用戶側操作執(zhí)行部用于執(zhí)行編輯操作,時間戳設定部用于在編輯操作被執(zhí)行時設定相對應的表示該編輯操作的執(zhí)行時間的時間戳,用戶側通信部將相應的編輯操作與時間戳一起發(fā)送至服務器和其他的用戶終端,判斷部用于判斷被接收到的時間戳與當前的編輯操作的時間戳是否相同,當判斷為是時,進一步判斷相應的編輯操作所針對的編輯對象是否相同,當判斷為是時,操作融合部基于預定融合規(guī)則對相應的編輯操作進行融合從而得到融合操作,輸入顯示部基于預定順序將接收到的編輯操作、當前的編輯操作以及融合操作顯示在文件顯示畫面中,讓用戶從中選定一個作為讓操作執(zhí)行部執(zhí)行的編輯操作,服務側操作執(zhí)行部執(zhí)行被接收到的編輯操作,文件存儲部對執(zhí)行文件名稱和被執(zhí)行編輯操作后的編輯文件進行對應存儲。
[0009]在本發(fā)明提供的實時協(xié)同形編輯系統(tǒng)中,還可以具有這樣的特征:其中,用戶終端還包含網絡連接設定部,用于設定通信網絡的連接和斷開。
[0010]發(fā)明的作用和效果
[0011]根據本發(fā)明所涉及的實時協(xié)同編輯系統(tǒng),用戶通過任意一個用戶終端設定待編輯文件名稱后,用戶側通信部將待編輯文件名稱發(fā)送至服務器,檢索獲取部基于該待編輯文件名稱從文件存儲部中檢索并獲取相應的編輯文件,服務側通信部將該編輯文件發(fā)送至每個用戶終端,讓用戶能夠同時進行編輯操作,時間戳設定部在相應的編輯操作執(zhí)行時設定時間戳,該編輯操作和時間戳一起被發(fā)送至服務器和其他的用戶終端,其他的用戶終端對接收到的編輯操作和當前的編輯操作進行判斷,若時間戳相同,進一步判斷其所針對的編輯對象相同,若相同,操作融合部進行融合得到融合操作,輸入顯示部顯示接收到的編輯操作、當前的編輯操作和融合操作,讓用戶從中選定一個進行執(zhí)行,該選定執(zhí)行的編輯操作被發(fā)送至服務器和其他用戶終端同步執(zhí)行,文件存儲部對被編輯后的編輯文件進行存儲,所以,本發(fā)明的實時協(xié)同編輯系統(tǒng)既實現了讓多個用戶進行協(xié)同編輯,又保留了所有用戶的操作意愿,并且還實現了對用戶的不同操作意愿的融合。
【附圖說明】
[0012]圖1是本發(fā)明的實施例中實時協(xié)同編輯系統(tǒng)的結構框圖;
[0013]圖2是本發(fā)明的實施例中用戶終端的結構框圖;
[0014]圖3是本發(fā)明的實施例中服務器的結構框圖;以及
[0015]圖4是本發(fā)明的實施例中實時協(xié)同編輯系統(tǒng)的動作流程圖。
【具體實施方式】
[0016]為了使本發(fā)明實現的技術手段、創(chuàng)作特征、達成目的與功效易于明白了解,以下實施例結合附圖對本發(fā)明的實時協(xié)同編輯系統(tǒng)作具體闡述。
[0017]圖1是本發(fā)明的實施例中實時協(xié)同編輯系統(tǒng)的結構框圖。
[0018]如圖1所示,在本實施例中,實時協(xié)同編輯系統(tǒng)100用于讓三個處于不同地域的用戶同時對同一個圖中未顯示的待編輯編輯文件進行編輯。這里,編輯文件是文本文件,例如word文檔ο
[0019]實時協(xié)同編輯系統(tǒng)100包含:三個用戶終端10和服務器30。三個用戶終端10用于讓三個用戶一一對應地使用,并且每個用戶終端10通過通信網絡40與服務器30相通信連接。
[0020]在本實施例中,三個用戶終端10的結構完全相同,在此僅對其中一個用戶終端10進行詳細描述,省略對另外兩個用戶終端10的詳細描述。
[0021]圖2是本發(fā)明的實施例中用戶終端的結構框圖。
[0022]用戶終端10包含:畫面存儲部11、輸入顯示部12、用戶側通信部13、用戶側操作執(zhí)行部14、時間戳設定部15、判斷部16、操作融合部17、用戶側暫存部18、網絡連接設定部19以及控制上述各部運行的用戶側控制部20。
[0023]圖3是本發(fā)明的實施例中服務器的結構框圖。
[0024]如圖3所示,服務器30包含:文件存儲部31、服務側通信部32、檢索獲取部33、月艮務側操作執(zhí)行部34以及控制上述各部運行的服務側控制部35。
[0025]文件存儲部31對應存儲有文件名稱和編輯文件。
[0026]畫面存儲部11存儲有待編輯文件設定畫面和文件顯示畫面。
[0027]輸入顯示部12顯示待編輯文件設定畫面,讓用戶輸入待編輯文件名稱從而設定待編輯編輯文件。
[0028]用戶側通信部13通過通信網絡40將被輸入的待編輯文件名稱發(fā)送至服務器30。
[0029]服務側通信部32通過通信網絡40接收用戶終端10發(fā)送來的待編輯文件名稱。
[0030]檢索獲取部33基于被服務側通信部32接收到的待編輯文件名稱從文件存儲部31中檢索出相同的文件名稱,并獲取與該文件名稱相對應的編輯文件。
[0031]服務側通信部32通過通信網絡40將被檢索獲取部33獲取的編輯文件分別發(fā)送至每個用戶終端10。
[0032]用戶側通信部13通過通信網絡40接收服務器30發(fā)送來的編輯文件。
[0033]輸入顯示部12將相應的用戶側通信部13接收到的編輯文件顯示在相應的文件顯示畫面中,從而讓用戶進行編輯操作。
[0034]用戶側操作執(zhí)行部14用于執(zhí)行用戶所進行的編輯操作。
[0035]時間戳設定部15用于在每個編輯操作被執(zhí)行時設定相應的時間戳,該時間戳采用向量形式來表示該編輯操作的執(zhí)行時間,這樣能夠使所有用戶終端之間的時間戳設定標準相同。
[0036]用戶側通信部13通過通信網絡40將相應的編輯操作和時間戳一起發(fā)送至服務器30和另外兩個用戶終端10。
[0037]服務側通信部32通過通信網絡40接收當前的用戶側通信部13發(fā)送來的編輯操作和時間戳;同時,另外兩個用戶終端10所包含的用戶側通信部13也通過通信網絡40接收當前的用戶側通信部13發(fā)送來的編輯操作和時間戳。
[0038]判斷部16用于判斷被接收到的時間戳與當前用戶終端10所進行的編輯操作的時間戳是否相同,當判斷為是時,進一步判斷被接收到的編輯操作與當前的編輯操作所針對的編輯對象是否相同,當判斷為是時,即不同的用戶對同一個編輯對象進行編輯,例如,一個用戶將字符“a”更改為紅色、時間戳為(0,I),另一個用戶將該字符“a”更改為黃色、時間戳為(0,I),這樣,這兩個用戶的編輯操作即為同時針對的同一編輯對象進行編輯,屬于沖突操作。
[0039]在這種情況下,操作融合部17根據預定融合規(guī)則對該同時對同一編輯對象進行編輯的多個編輯操作進行融合,得到融合操作。在本實施例中,預定融合規(guī)則為:當編輯操作B和C沖突時,操作融合部17對編輯操作B和C進行融合得到融合操作BC ;當編輯操作D、E和F沖突時,操作融合部17對編輯操作D和E進行融合得到融合操作DE,對編輯操作D和F進行融合得到融合操作DF,對編輯操作E和F進行融合得到融合操作EF,對編輯操作D、E和F進行融合得到融合操作DEF。
[0040]輸入顯示部12將該接收到的編輯操作、當前的編輯操作以及融合操作顯示在文件顯示畫面中,讓用戶從中選擇一個作為讓相應的用戶側操作執(zhí)行部14執(zhí)行的編輯操作。
[00