專利名稱:協同文檔處理系統及方法
技術領域:
本發明涉及辦公領域,尤其涉及一種協同文檔處理系統及方法。
背景技術:
目前有幾類多人文檔協同編輯的方案。一類是傳統的基于電子流轉的多人文檔協同編輯的方式。另一類是類似Google Docs (谷歌開發的一種軟件)的多人實時在線編輯的方式。基于電子流轉的多人文檔協同編輯的方式還具有以下幾種。第一種是利用郵件流轉功能實現多人文檔協同編輯。具體的,按既定編排順序利用郵件將文件發送到下一個用戶,該用戶修訂完成后再次發送到下一個用戶,以此類推,最后自動返回到初始發送用戶,用這種方法可以收集多人對一個文件的意見,該方式需特定郵件服務器和郵件客戶端支持,如微軟的Exchange (郵件服務器)和Outlook (郵件客戶端)。第二種是基于OA (OfficeAutomation)等工作流系統實現流轉,實現方式與上述郵件流轉類似,是比較常見的一種協作方式。第三種是基于網絡共享和權限控制實現多人文檔協同編輯,即在同一時刻只允許一個用戶編輯、其他用戶只能查閱,這是最為普遍的多人文檔編輯模式。這類方案都存在一些缺陷一人只能修改一次,除非設置順序多次流轉(效率低);一次只能一個人修改,不能多人同時編輯,本質上還是單人編輯模式。類似Google Docs的多人實時在線編輯方式也存在如下不足多人同時編輯,相互影響;必須在線才能編輯,不方便,不夠實用。因此,有必要提出一種新的多人協同文檔處理方案。
發明內容
針對現有技術中存在的問題,本發明提出一種多人協同文檔處理系統及方法,其可以使得多人多次修改一篇文檔,方便實用。根據本發明的一個方面,本發明提出一種協同文檔處理系統,其包括服務器和與所述服務器通過網絡連接的客戶端,用戶通過客戶端能與所述服務器建立連線,所述客戶端包括有文檔處理模塊。所述服務器內存儲有多個文檔,至少有一個文檔具有一個或多個基礎版本以及基于每個基礎版本的一個或多個修訂版本,其中所述文檔處理模塊能單獨打開和編輯所述基礎版本,所述文檔處理模塊需要結合對應的基礎版本才能打開和編輯所述修訂版本,所述修訂版本包括一條或多條修訂信息,所述修訂信息是由客戶端的文檔處理模塊編輯對應的文檔而形成。進一步的,每條修訂信息包括文檔編號、修訂編號、用戶名、修訂時間、修訂類型、修訂位置和修訂內容中的一項或幾項。更進一步的,所述服務器存儲有各個用戶對每個文檔的處理權限,所述處理權限包括修訂權,具有一個目標文檔的修訂權的用戶通過客戶端與所述服務器建立連線后,能從所述服務器下載目標文檔的每個版本,并在所述客戶端的文檔處理模塊中對下載的一個版本的目標文檔進行編輯,客戶端將編輯得到的修訂信息上傳至服務器,服務器基于客戶端上傳的修訂信息為所述目標文檔形成一個新的修訂版本。更進一步的,用戶利用所述客戶端的文檔處理模塊以追蹤修訂模式對下載的一個版本的目標文檔進行編輯以形成一個臨時修訂版本,該臨時修訂版本包括一條或多條修訂信息,在所述文檔處理模塊保存所述目標文檔時,將所述臨時修訂版本的修訂信息傳送至所述服務器,所述服務器將傳送來的修訂信息保存為所述目標文檔的一個新的修訂版本。更進一步的,每個文檔的每個版本都有版本編號,用戶通過所述客戶端就一個目標文檔與所述服務器進行同步的過程如下所述服務器根據其上的有關該目標文檔的版本編號和客戶端上的有關該目標文檔的版本編號確定兩者之間的差異版本;所述服務器將差異版本傳回所述客戶端,所述客戶端的文檔處理模塊根據新下載的差異版本及已有版本得到所述目標文檔的最新版本;所述客戶端將臨時修訂版本中的修訂信息傳送至所述服務器,所述服務器端將新上傳的修訂信息存儲為一個新創建的修訂版本。進一步的,在所述客戶端與所述服務器離線時,用戶仍能在所述客戶端上對所述目標文檔進行編輯以得到所述目標文檔的臨時修訂版本,并能在所述客戶端上保存所述目標文檔的臨時修訂版本,在所述客戶端與所述服務器連線時,所述客戶端將所述臨時修訂版本內的修訂信息上傳至服務器,并在服務器上生成一個新的修訂版本。進一步的,服務器根據目標文檔的修訂量提醒具有相應權限的用戶對所述目標文檔的修訂版本進行審定;在用戶通過所述客戶端對所述目標文檔的修訂版本進行審定后,所述服務器得到所述目標文檔的一個新的基礎版本。進一步的,所述客戶端包括總線、中央處理器、由隨機存取存儲器和只讀存儲器組成的系統存儲器、存儲裝置、輸入/輸出接口和網絡接口,所述存儲裝置中存儲有所述文檔處理模塊和客戶端協同控制模塊,所述客戶端協同控制模塊作為文檔處理模塊和服務器之前的橋梁來負責文檔協同處理事項。所述服務器包括服務器端協同處理模塊、用戶管理數據庫、權限管理數據庫,所述服務器端協同處理模塊與所述客戶端協同控制模塊進行通訊以實現文檔的協同處理,所述用戶管理數據庫用于登錄所述服務器的用戶信息,所述權限管理數據庫管理著各個用戶對不同文檔的處理權限。根據本發明的另一個方面,本發明提出一種協同文檔處理方法,其包括服務器內存儲有多個文檔,每個文檔具有一個或多個基礎版本以及基于每個基礎版本的一個或多個修訂版本;用戶通過與服務器網絡連接的客戶端登錄所述服務器,并下載所述服務器中的一個版本的目標文檔至所述客戶端;用戶在所述客戶端上的文檔處理模塊中對所述目標文檔進行編輯以形成臨時修訂版本,所述臨時修訂版本包括一條或多條修訂信息;將客戶端上的臨時修訂版本中的修訂信息上傳至所述服務器;所述服務器將上傳的修訂信息為所述目標文檔的一個新的修訂版本。進一步的,每條修訂信息包括文檔編號、修訂編號、用戶名、修訂時間、修訂類型、修訂位置和修訂內容中的一項或幾項。進一步的,所述服務器存儲有各個用戶對每個文檔的處理權限,所述處理權限包括修訂權,具有一個目標文檔的修訂權的用戶通過客戶端與所述服務器建立連線后,能從所述服務器下載目標文檔的每個版本,并在所述客戶端的文檔處理模塊中對下載的一個版本的目標文檔進行編輯,客戶端將編輯得到的修訂信息上傳至服務器,服務器基于客戶端上傳的修訂信息為所述目標文檔形成一個新的修訂版本。進一步的,用戶利用所述客戶端的文檔處理模塊以追蹤修訂模式對下載的一個版本的目標文檔進行編輯以形成一個臨時修訂版本,該臨時修訂版本包括一條或多條修訂信息,在所述文檔處理模塊保存所述目標文檔時,將所述臨時修訂版本的修訂信息傳送至所述服務器,所述服務器將傳送來的修訂信息保存為所述目標文檔的一個新的修訂版本。根據本發明的另一個方面,本發明提出一種協同文檔處理方法,其包括在服務器上形成一個文檔的基礎版本;在服務器上形成該文檔的基于基礎版本的一個或多個修訂版本,所述修訂版本一條或多條修訂信息,所述修訂信息來自與所述服務器網絡連接的客戶端,其中所述基礎版本能被單獨打開和編輯,所述修訂版本需要結合所述基礎版本才能被打開和編輯,每條修訂信息包括文檔編號、修訂編號、用戶名、修訂時間、修訂類型、修訂位置和修訂內容中的一項或幾項。進一步的,多個用戶中的每個都能通過客戶端對所述服務器上的目標文檔進行編輯以在服務器上形成該文檔的基于基礎版本的一個或多個修訂版本。 與現有技術相比,本發明中通過在服務器上記錄一個文檔的原始版本以及來自各個客戶端的關于該文檔的修訂版本,這樣可以實現多人多次對同一個文檔的協同編輯。此夕卜,客戶端既可以在連線狀態下進行編輯,也可以在離線狀態下進行編輯,既可以同步編輯,也可以異步編輯。服務器和客戶端之間針對同一個文檔進行同步后,客戶端上也能獲得該文檔的最新版本,方便使用。
圖1為本發明中的多人協同文檔處理系統在一個實施例中的系統架構示意圖;圖2為圖1中的客戶端在一個實施例中的示意結構框圖;圖3為圖1中示出的服務器在一個實施例中的示例結構框圖,圖4是本發明中的多人協同文檔處理方法在一個實施例中的流程示意圖。
具體實施例方式為使本發明的上述目的、特征和優點能夠更加明顯易懂,下面結合附圖和具體實施方式
對本發明作進一步詳細的說明。本發明的詳細描述主要通過程序、步驟、邏輯塊、過程或其他象征性的描述來呈現,其直接或間接地模擬本發明中的技術方案的運作。所屬領域內的技術人員使用此處的這些描述和陳述向所屬領域內的其他技術人員有效的介紹他們的工作本質。此處所稱的“一個實施例”或“實施例”是指與所述實施例相關的特定特征、結構或特性至少可包含于本發明至少一個實現方式中。在本說明書中不同地方出現的“在一個實施例中”并非必須都指同一個實施例,也不必須是與其他實施例互相排斥的單獨或選擇實施例。此外,表示一個或多個實施例的方法、流程圖或功能框圖中的模塊順序并非固定的指代任何特定順序,也不構成對本發明的限制。本發明中提出一種多人協同文檔處理系統,該系統包括服務器和可以通過網絡與所述服務器相連的客戶端,在所述服務器上記錄一個文檔的基礎版本以及來自各個客戶端的基于該文檔的基礎版本的修訂版本,這樣可以實現多人多次對同一個文檔的協同編輯。此外,客戶端既可以聯網狀態進行編輯,也可以在離線狀態進行編輯,既可以同步編輯,也可以異步編輯,使用起來非常方便,符合人們的使用習慣。圖1為本發明中的多人協同文檔處理系統100在一個實施例中的系統架構示意圖。如圖1所示,所述多人協同文檔處理系統100包括服務器120、通過網絡160與所述服務器120建立連接的多個客戶端140。所述網絡160可以包括局域網(LAN)、廣域網(WAN)、移動通信網、公共交換電話網絡(PSTN )、因特網或它們的組合。所述客戶端140可以包括個人計算機、筆記本電腦、平板電腦、智能手機或個人數字助理(PDA)等信息處理裝置。圖2為圖1中示出的客戶端140的一個示例的結構框圖,所述客戶端140包括總線210、中央處理器(CPU) 201、由隨機存取存儲器(RAM) 202和只讀存儲器(ROM) 203組成的系統存儲器、存儲裝置204、輸入/輸出接口 205和網絡接口 207。所述總線210可以提供為各個模塊之間的通訊提供路徑。通過所述輸入/輸出接口 205可以與鍵盤、鼠標、顯示器、打印機、觸控裝置等輸入輸出設備相連。所述存儲裝置204可以為 硬盤、光盤、固態硬盤(Solid State Disk, SSD)、各種存儲卡(比如SD卡等閃存卡)等外部存儲介質,其內可以存儲操作系統以及其他各種應用程序。所述客戶端140可以通過網絡接口 207連接到其他類型的計算機或服務器上并與之進行數據交互。當然,其他架構的信息處理系統同樣可以用來作為本發明中的客戶端。在一個實施例中,所述存儲裝置204中存儲有文檔處理模塊241和客戶端協同控制模塊242。所述文檔處理模塊241負責文檔的創建和編輯,所述文檔處理模塊可以是微軟或其他公司的文字處理程序,比如word,也可以是微軟或其他公司的簡報處理程序,比如PowerPoint,還可以是其他文檔處理程序。優先的,本發明尤其適合于文字處理程序(比如MS word)的協同處理。所述客戶端協同控制模塊242可以作為文檔處理模塊241和服務器120之前的橋梁來負責文檔協同處理事項。在一個實施例中,所述服務器120包括服務器端協同處理模塊310、用戶管理數據庫320、文檔管理數據庫330和權限管理數據庫340。所述服務器端協同處理模塊310與所述客戶端協同控制模塊242進行通訊以實現文檔的協同處理。所述用戶管理數據庫320用于管理有權登錄所述服務器120的用戶信息。所述文檔管理數據330內可以存儲有多個文
檔F1、F2、......、FN,其中FN可以被稱為文檔的文檔編號,并且每個文檔中可以具有多個不
同版本,比如文檔FN的多個不同版本分別為FN1、FN2、……、FNM,其中FNM可以被稱為文檔的版本編號,其中N和M都是自然數。其中每個文檔的多個版本中包括一個或多個基礎版本以及基于每個基礎版本的一個或多個修訂版本,其中所述基礎版本為無修訂信息的版本,第一個基礎版本也可以被稱為原始版本,文檔處理模塊可以單獨基于文檔的基礎版本進行顯示和編輯,每個修訂版本包括一條或多條修訂信息,每條修訂信息包括文檔編號、修訂編號(每條修訂信息都有一個修訂編號)、用戶名(修訂人的用戶名)、修訂時間(比如精確到毫秒)、修訂類型(比如插入、刪除、格式等)、修訂位置(比如頁面ID+段落ID+頁ID等)和修訂內容中的一項或幾項,比如每條修訂信息可以包括修訂編號、用戶名、修訂時間、修訂類型、修訂位置和修訂內容。所述修訂版本需要結合對應的基礎版本才能由文檔處理模塊正確的顯示和編輯。所述權限管理數據庫340管理著各個用戶對不同文檔的處理權限,比如用戶A對文檔Fl的處理權限為修訂權,用戶B對文檔Fl的處理權限為修訂權和審定權等,當然還可以設定其他處理權限并在各個用戶之間進行分配。登錄和注冊用戶可以通過任意客戶端140登錄所述服務器120。具體的,所述登錄方法或過程包括在客戶端140上運行所述客戶端協同控制模塊241 ;隨后用戶可以通過所述客戶端協同控制模塊241輸入用戶名和密碼;所述客戶端協同控制模塊241將用戶輸入的用戶信息發送給所述服務器端協同處理模塊310 ;所述服務器端協同處理模塊310基于用戶管理數據庫內的用戶信息對來自客戶端140的用戶信息進行認證;如果認證通過,則所述客戶端協同控制模塊241與所述服務器端協同處理模塊310建立有效的連接,表示登錄成功,此時可以認為所述客戶端140與所述服務器120處于連線狀態;如果認證不通過,表示登錄失敗,所述客戶端協同控制模塊241與所述服務器端協同處理模塊310無連接,此時可以認為所述客戶端140與所述服務器120處于離線狀態。為了實現用戶的登錄,用戶需要實現向所述服務器120進行注冊,在注冊過程中,所述服務器端協同處理模塊310收集用戶信息,并將這些用戶信息存儲如用戶管理數據庫320 中。權限管理一些用戶(比如張三)在通過客戶端140登錄所述服務器120后,可以向所述服務器120設定一個文檔的處理權限,比如設定自己具有修訂權和審定權,設定其他用戶(比如李四、王五等)具有修訂權;所述服務器協同處理模塊310將所述文檔的處理權限存儲于所述權限管理數據庫340中。如果一個用戶具有一個文檔的修訂權,那么該用戶可以從所述服務器120中下載該文檔的各個版本,并對它們進行編輯修訂。如果一個用戶具有一個文檔的審定權,那么該用戶可以對該文檔的各個版本進行審定。用戶通過所述客戶端對所述服務器上的文檔進行編輯時,需要審核該用戶是否具有相應權限,如果有,則允許相應的編輯操作,否則不允許。協同編輯和同步一個用戶(比如張三)在通過客戶端140登錄所述服務器120后,可以通過客戶端的客戶端協同控制模塊242上傳一個文檔(比如,***. doc文件或***. xls等)至所述服務器端協同處理模塊310 ;所述服務器端協同處理模塊310將來自客戶端140的文檔存儲為原始版本(第一個基礎版本),并賦予文檔編號和版本編號。當然,服務器120中的文檔的原始版本也可以是通過存儲設備(比如U盤或)上傳的,還可以是其它任何方式(比如網絡下載等)得到的。通常,初始時,一個文檔在服務器120中只有原始版本(第一個基礎版本)。具有修訂權的用戶可以通過所述客戶端140從所述服務器120上下載一個目標文件的原始版本;所述客戶端協同控制模塊242將所述原始版本交由所述文檔處理模塊241以修訂模式進行編輯,所述客戶端協同控制模塊242創建一個臨時修訂版本,將新編輯形成的修訂信息存儲入所述臨時修訂版本;編輯了一段時間之后,在所述客戶端上保存編輯的目標文檔時(或者設置專門的協同保存按鈕,在點擊該按鈕時),所述客戶端協同控制模塊242會將所述目標文檔的臨時修訂版本中的修訂信息傳送至所述服務器端控制模塊310 ;所述服務器端控制模塊310將新上傳的修訂信息存儲為一個新創建的修訂版本,賦予版本編號。這樣就基于原始版本形成了一個修訂版本。采用同樣的方法,每個用戶都可以從服務器上下載目標文檔的基礎版本,編輯保存之后,所述服務器為每個用戶針對所述目標文檔的修訂信息創建一個新的修訂版本。此外,有相應權限的用戶可以通過客戶端打開服務器120上的一個目標文檔的任意歷史版本,比如第X個修訂版本,此時服務器120將對應的基礎版本和相應的修訂版本一起傳輸至該用戶的客戶端,客戶端140的文檔處理程序基于下載的基礎版本和相應的修訂版本通過文檔更改服務(File Change Service,以下簡稱FCS)可以重現該歷史版本。隨后,該用戶還可以對該歷史版本進行編輯以得到一個臨時修訂版本,該臨時修訂版本內存儲有一條或多條修訂信息,在點擊保存后,所述服務器120可以將新上傳的修訂信息存儲為一個新的修訂版本。所述客戶端140可以就當前正在處理的一個目標文檔與所述服務器進行同步,這樣可以使得兩者都具有最新版本的目標文件。同步過程如下一個用戶通過客戶端140提出有關一個目標文檔的同步請求;所述服務器端協同處理模塊310對比服務器上的有關該目標文檔的版本信息和客戶端上有關該目標文檔的版本信息,以確定兩者之間的差異版本;所述服務器120將差異版本(或差異版本的修訂信息)傳回客戶端140,所述客戶端140的文檔處理模塊241根據新下載的差異版本(或者差異版本的修訂信息)和當前正在編輯的目標文檔的版本得到所述目標文檔的最新版本;所述客戶端140將臨時修訂版本中的修訂信息傳送至所述服務器端控制模塊310,所述服務器端控制模塊310將新上傳的修訂信息存儲為一個新創建的修訂版本,賦予版本編號。類似的,所述客戶端140可以就一個目標文檔與所述服務器直接進行同步,同步過程如下所述服務器120將目標文檔的所有版本(包括一個最新的基礎版本和基于該最新的基礎版本的一個或多個修訂版本)直接傳輸至所述客戶端140,所述客戶端140上的文檔處理模塊241基于目標文檔的基礎版本和修訂版本通過文檔更改服務FCS得到所述目標文檔的最終版本。這樣,各個有權限的用戶可以隨時通過客戶端140對服務器120上的目標文檔進行編輯,并將編輯得到的修訂版本上傳給所述服務器120。不同的用戶可以同步編輯,也可以異步編輯,可以離線編輯,也可以在線編輯。在進行數據上傳時,大多只傳輸增量數據(即修訂數據),數據傳輸量大大將少。所述服務器120在存儲文檔的不同版本時,采用存儲一個基礎版本,對于后續的編輯版本采用修訂版本的方式進行存儲,大大的減小了存儲空間。多個基礎版本要獲得最新版或某個歷史版本的內容,需要在原始版本的基礎上匯入至歷史版本為止的全部修訂信息,經文檔更改服務加工才能形成。越往后移,歷史版本的修訂量會越多,FCS加工處理的工作量就會越大,造成性能損耗。為此,在一個優選的實施例中,可以每隔一定數量的修訂版本就可以根據前一個基礎版本和后續的修訂版本生成一個新的基礎版本,以提升效能。所述服務器120可以統計修訂信息的數量,比如修訂信息的數量超過預定閾值(如100條修訂)時,可提醒有審定權的用戶執行審定工作。有審定權的用戶通過客戶端對所述目標文檔的修訂信息進行審定,從而形成一個新的基礎版本,降低服務器端和客戶端的負載壓力。該新的基礎版本不再帶有修訂信息,不再依靠其他版本就能夠獨立進行編輯和顯示。這種做法也符合日常操作習慣,往往幾個人修訂一段時間后形成統一意見,成為某個中間版,下次基于該版本進一步修訂,直至形成最終版。離線編輯及連線同步在所述客戶端140與所述服務器120離線時,用戶仍能在所述客戶端上對所述目標文檔進行編輯以得到所述目標文檔的修訂信息,并能在所述客戶端上緩存所述目標文檔的修訂信息。在所述客戶端140與所述服務器120連線時,所述客戶端140與所述服務器120可以對所述目標文檔進行同步,比如客戶端用戶手動點擊同步按鈕,或者設置連線后自動同步。本發明中的協同文檔處理方案還可以實現為一種方法,圖4示出了協同文檔處理方法在一個實施例中的流程示意圖。結合圖2和4所示,所述協同文檔處理方法包括如下步驟。步驟410,服務器內存儲有多個文檔,每個文檔具有一個或多個基礎版本以及基于每個基礎版本的一個或多個修訂版本。步驟420,用戶通過與服務器網絡連接的客戶端登錄所述服務器,并下載所述服務器中的一個版本的目標文檔至所述客戶端。步驟430,用戶在所述客戶端上的文檔處理模塊中對所述目標文檔進行編輯以形成臨時修訂版本,所述臨時修訂版本包括一條或多條修訂信息。其中,每條修訂信息包括文檔編號、修訂編號、用戶名、修訂時間、修訂類型、修訂位置和修訂內容中的一項或幾項。步驟440,將客戶端上的臨時修訂版本中的修訂信息上傳至所述服務器。步驟450,所述服務器將上傳的修訂信息為所述目標文檔的一個新的修訂版本。在一個實施例中,所述服務器存儲有各個用戶對每個文檔的處理權限,所述處理權限包括修訂權,具有一個目標文檔的修訂權的用戶通過客戶端與所述服務器建立連線后,能從所述服務器下載目標文檔的每個版本,并在所述客戶端的文檔處理模塊中對下載的一個版本的目標文檔進行編輯,客戶端將編輯得到的修訂信息上傳至服務器,服務器基于客戶端上傳的修訂信息為所述目標文檔形成一個新的修訂版本。在一個實施例中,用戶利用所述客戶端的文檔處理模塊以追蹤修訂模式對下載的一個版本的目標文檔進行編輯以形成一個臨時修訂版本,該臨時修訂版本包括一條或多條修訂信息,在所述文檔處理模塊保存所述目標文檔時,將所述臨時修訂版本的修訂信息傳送至所述服務器,所述服務器將傳送來的修訂信息保存為所述目標文檔的一個新的修訂版本。所述協同文檔處理方法中的諸多內容可以參看上文中對協同文檔處理系統的描述,此處不再贅述。為了使得本發明更為清楚,下面列舉了一個本發明中的協同文檔處理系統和方法的應用示例。張三通過客戶端140登錄所述服務器120,之后將一個文檔(名稱為x項目的可行性研究.doc)上傳至所述服務器120。所述服務器120將所述文檔(X項目的可行性研究.doc)保存為原始版本,并賦予文檔編號和版本編號。張三可以通過設定所述文檔(X項目的可行性研究.doc)的處理權限,李四、張三和王五有修訂權,王五有審定權。
李四通過客戶端140登錄所述服務器120,從所述服務器120上下載所述文檔(x項目的可行性研究.doc),服務器120將該文檔的所有版本(此時只有一個原始版本)傳輸至李四的客戶端140,李四可以在客戶端140上進行編輯以得到一個臨時修訂版本,該臨時修訂版本包括一條或多條修訂信息。在保存所述文檔時,所述客戶端140將所述臨時版本中的修訂信息上傳至服務器120。所述服務器120將來自李四客戶端的修訂信息保存為所述文檔的一個修訂版本。王五通過客戶端140登錄所述服務器120,從所述服務器120上下載所述文檔(x項目的可行性研究.doc),服務器120將該文檔的所有版本(此時有一個原始版本和李四的一個修訂版本)傳輸至王五的客戶端140,在客戶端140上將不同版本合并為一個最終的版本,之后王五可以進行編輯以得到一個臨時修訂版本。王五保存之后,同樣可以在服務器120上形成另一個修訂版本。每個用戶針對同一個文檔都可以產生不同的修訂版本。在修訂版本到達一定數量后,王五在于李四和張三討論后,可以通過客戶端140對服務器120上的所述文檔(X項目的可行性研究.doc)進行審定,即逐條查看修訂信息,是否接受修訂。在對所有修訂信息審定后,可以在服務器上得到所述文檔(X項目的可行性研究.doc)的另一個基礎版本。之后又可以在新的基礎版本的基礎上形成不同的修訂版本,之后在進行一次審定以再得到另一個基礎版本,如此不斷重復。總體來看,本方案具有下列優勢I)支持多人多次編輯同一文件;2)支持離線編輯,在線后自動或手動同步3)支持版本管理、多版本對比;4)操作簡便,與傳統單機修訂模式基本一致;5)增量保存,占用的存儲空間小。雖然通過實施例描述了本發明,本領域普通技術人員知道,本發明有許多變形和變化而不脫離本發明的精神,希望所附的權利要求包括這些變形和變化而不脫離本發明的精神。
權利要求
1.一種協同文檔處理系統,其包括服務器和與所述服務器通過網絡連接的客戶端,用戶通過客戶端能與所述服務器建立連線,所述客戶端包括有文檔處理模塊, 其特征在于,所述服務器內存儲有多個文檔,至少有一個文檔具有一個或多個基礎版本以及基于每個基礎版本的一個或多個修訂版本,其中所述文檔處理模塊能單獨打開和編輯所述基礎版本,所述文檔處理模塊需要結合對應的基礎版本才能打開和編輯所述修訂版本,所述修訂版本包括一條或多條修訂信息,所述修訂信息是由客戶端的文檔處理模塊編輯對應的文檔而形成。
2.根據權利要求1所述的協同文檔處理系統,其特征在于,每條修訂信息包括文檔編號、修訂編號、用戶名、修訂時間、修訂類型、修訂位置和修訂內容中的一項或幾項。
3.根據權利要求2所述的協同文檔處理系統,其特征在于,所述服務器存儲有各個用戶對每個文檔的處理權限,所述處理權限包括修訂權,具有一個目標文檔的修訂權的用戶通過客戶端與所述服務器建立連線后,能從所述服務器下載目標文檔的每個版本,并在所述客戶端的文檔處理模塊中對下載的一個版本的目標文檔進行編輯,客戶端將編輯得到的修訂信息上傳至服務器,服務器基于客戶端上傳的修訂信息為所述目標文檔形成一個新的修訂版本。
4.根據權利要求3所述的協同文檔處理系統,其特征在于,用戶利用所述客戶端的文檔處理模塊以追蹤修訂模式對下載的一個版本的目標文檔進行編輯以形成一個臨時修訂版本,該臨時修訂版本包括一條或多條修訂信息,在所述文檔處理模塊保存所述目標文檔時,將所述臨時修訂版本的修訂信息傳送至所述服務器,所述服務器將傳送來的修訂信息保存為所述目標文檔的一個新的修訂版本。
5.根據權利要求4所述的協同文檔處理系統,其特征在于,每個文檔的每個版本都有版本編號,用戶通過所述客戶端就一個目標文檔與所述服務器進行同步的過程如下 所述服務器根據其上的有關該目標文檔的版本編號和客戶端上的有關該目標文檔的版本編號確定兩者之間的差異版本;所述服務器將差異版本傳回所述客戶端,所述客戶端的文檔處理模塊根據新下載的差異版本及已有版本得到所述目標文檔的最新版本;所述客戶端將臨時修訂版本中的修訂信息傳送至所述服務器,所述服務器端將新上傳的修訂信息存儲為一個新創建的修訂版本。
6.根據權利要求3所述的協同文檔處理系統,其特征在于,在所述客戶端與所述服務器離線時,用戶仍能在所述客戶端上對所述目標文檔進行編輯以得到所述目標文檔的臨時修訂版本,并能在所述客戶端上保存所述目標文檔的臨時修訂版本,在所述客戶端與所述服務器連線時,所述客戶端將所述臨時修訂版本內的修訂信息上傳至服務器,并在服務器上生成一個新的修訂版本。
7.根據權利要求3所述的協同文檔處理系統,其特征在于,服務器根據目標文檔的修訂量提醒具有相應權限的用戶對所述目標文檔的修訂版本進行審定;在用戶通過所述客戶端對所述目標文檔的修訂版本進行審定后,所述服務器得到所述目標文檔的一個新的基礎版本。
8.根據權利要求1-7任一所述的協同文檔處理系統,其特征在于,所述客戶端包括總線、中央處理器、由隨機存取存儲器和只讀存儲器組成的系統存儲器、存儲裝置、輸入/輸出接口和網絡接口,所述存儲裝置中存儲有所述文檔處理模塊和客戶端協同控制模塊,所述客戶端協同控制模塊作為文檔處理模塊和服務器之前的橋梁來負責文檔協同處理事項,所述服務器包括服務器端協同處理模塊、用戶管理數據庫、權限管理數據庫,所述服務器端協同處理模塊與所述客戶端協同控制模塊進行通訊以實現文檔的協同處理,所述用戶管理數據庫用于登錄所述服務器的用戶信息,所述權限管理數據庫管理著各個用戶對不同文檔的處理權限。
9.一種協同文檔處理方法,其特征在于,其包括 服務器內存儲有多個文檔,每個文檔具有一個或多個基礎版本以及基于每個基礎版本的一個或多個修訂版本; 用戶通過與服務器網絡連接的客戶端登錄所述服務器,并下載所述服務器中的一個版本的目標文檔至所述客戶端; 用戶在所述客戶端上的文檔處理模塊中對所述目標文檔進行編輯以形成臨時修訂版本,所述臨時修訂版本包括一條或多條修訂信息; 將客戶端上的臨時修訂版本中的修訂信息上傳至所述服務器; 所述服務器將上傳的修訂信息為所述目標文檔的一個新的修訂版本。
10.根據權利要求9所述的協同文檔處理方法,其特征在于,每條修訂信息包括文檔編號、修訂編號、用戶名、修訂時間、修訂類型、修訂位置和修訂內容中的一項或幾項。
11.根據權利要求9所述的協同文檔處理方法,其特征在于,所述服務器存儲有各個用戶對每個文檔的處理權限,所述處理權限包括修訂權,具有一個目標文檔的修訂權的用戶通過客戶端與所述服務器建立連線后,能從所述服務器下載目標文檔的每個版本,并在所述客戶端的文檔處理模塊中對下載的一個版本的目標文檔進行編輯,客戶端將編輯得到的修訂信息上傳至服務器,服務器基于客戶端上傳的修訂信息為所述目標文檔形成一個新的修訂版本。
12.根據權利要求11所述的協同文檔處理方法,其特征在于,用戶利用所述客戶端的文檔處理模塊以追蹤修訂模式對下載的一個版本的目標文檔進行編輯以形成一個臨時修訂版本,該臨時修訂版本包括一條或多條修訂信息,在所述文檔處理模塊保存所述目標文檔時,將所述臨時修訂版本的修訂信息傳送至所述服務器,所述服務器將傳送來的修訂信息保存為所述目標文檔的一個新的修訂版本。
13.一種協同文檔處理方法,其特征在于,其包括 在服務器上形成一個文檔的基礎版本; 在服務器上形成該文檔的基于基礎版本的一個或多個修訂版本,所述修訂版本一條或多條修訂信息,所述修訂信息來自與所述服務器網絡連接的客戶端, 其中所述基礎版本能被單獨打開和編輯,所述修訂版本需要結合所述基礎版本才能被打開和編輯, 每條修訂信息包括文檔編號、修訂編號、用戶名、修訂時間、修訂類型、修訂位置和修訂內容中的一項或幾項。
14.根據權利要求13所述的協同文檔處理方法,其特征在于,多個用戶中的每個都能通過客戶端對所述服務器上的目標文檔進行編輯以在服務器上形成該文檔的基于基礎版本的一個或多個修訂版本。
全文摘要
本發明公開了一種協同文檔處理系統和方法。該系統包括服務器和與所述服務器網絡連接的客戶端,用戶通過客戶端能與所述服務器建立連線,所述客戶端包括有文檔處理模塊。所述服務器內存儲有多個文檔,至少有一個文檔具有一個或多個基礎版本以及基于每個基礎版本的一個或多個修訂版本,其中所述文檔處理模塊能單獨打開和編輯所述基礎版本,所述文檔處理模塊需要結合對應的基礎版本才能打開和編輯所述修訂版本,所述修訂版本包括一條或多條修訂信息,所述修訂信息是由客戶端的文檔處理模塊編輯對應的文檔而形成。這樣可以實現多人多次對同一個文檔的協同編輯,方便使用。
文檔編號H04L29/08GK103020026SQ20121046043
公開日2013年4月3日 申請日期2012年11月15日 優先權日2012年11月15日
發明者榮明軍 申請人:無錫永中軟件有限公司