新四季網

一種多方協同操作文件的版本管理控制方法

2023-06-06 14:36:46

專利名稱:一種多方協同操作文件的版本管理控制方法
技術領域:
本發明涉及一種文件的版本管制技術
背景技術:
許多的工程文檔、科學文章、學術報告以及軟體源碼常常被多個作者(用戶)同時編寫修改,為了能夠有效的、無差錯的進行「協同」操作,往往需要進行長時間的反覆的溝通協調。且隨著同時修改的人數的增多,所需的溝通成本急劇增加。為了解決這種「協同」操作所帶來的「衝突」,通常的解決方案有以下幾種1.採用獨佔模式,即將文件存儲在一個公共可以訪問的伺服器上,當某一個用戶在操作該文件(對象)時,伺服器對該文件進行「加鎖」。所謂「加鎖」是指同一個文件在同一時間只允許被一個用戶排他地進行修改。這樣一次只能被一個用戶所編輯修改,從而杜絕了「協同」操作,也不會產生衝突。但是,這樣的解決方案徹底放棄了協同,導致其他生產力的浪費。且在「加鎖」後,當該用戶離開時,其他用戶無法有效地進行更新和修改。2.引入第三方版本控制工具,例如SVN、CVS、GIT等等。引入這些版本控制系統能夠記錄並且跟蹤一個系統內所有文件發生的任何變化,如果出現多個用戶同時修改一個文件的情況,版本控制系統會嘗試自動按照某種算法來進行合併。只有當兩個或者多個用戶同時修改文件的同一行的時候,版本控制系統才不再自動合併修改,而是提示「衝突」,提醒用戶自己手動來解決這個「衝突」。這個解決方案需要用戶安裝相應的客戶端,在伺服器上需要裝相應的服務端。這樣對某些工程而言是一個負擔。並且安裝第三方版本控制工具有時候很難與現有工程完美融合。3.通過公用協議來進行衝突控制。這種方法就是在所有用戶中事先約定一個規範,分配各自的操作對象,使得相互間的操作對象儘可能不重疊,然後在一小段時間後進行檢查。這種方法缺陷非常明顯,即不具備強烈的約束效果。一般很少採用,只在少數特定情況下使用。

發明內容
本發明主要解決的技術問題是提供一種多方協同操作文件的版本管理控制方法, 使得多方用戶能夠有效地、無差錯地操作同一文件,有效避免多方協同操作同一文件所帶來的各種衝突。為了解決上述技術問題,本發明提供了一種多方協同操作文件的版本管理控制方法,包含以下步驟為每個用戶在客戶端設置一工作區、一標準區和一交互區,工作區中保存用戶對文件的本地修改,標準區中保存用戶最新上傳到伺服器的文件,交互區中保存從伺服器下載的文件;在從伺服器進行文件更新時,如果工作區中已存在該文件,且工作區中該文件的版本低於伺服器中該文件的版本,則比較標準區中該文件與工作區中該文件的一致性,如果不一致則從伺服器下載該文件到交互區,並將下載後的該文件與工作區中該文件進行修改合併,將合併後的文件保存到工作區,更新工作區中該文件版本。作為上述技術方案的改進,該方法還包含以下步驟如果標準區中該文件與工作區中該文件一致,則從伺服器下載該文件到工作區, 更新工作區中該文件版本;或者,如果標準區中該文件與工作區中該文件一致,則從伺服器下載該文件到交互區, 並將下載後的該文件複製到工作區,更新工作區中該文件版本。作為上述技術方案的改進,該方法還包含以下步驟在從伺服器進行文件更新時,如果工作區中已存在該文件,且工作區中該文件的版本不低於伺服器中該文件的版本,則終止所述更新。作為上述技術方案的改進,該方法還包含以下步驟在從伺服器進行文件更新時,如果工作區中未存在該文件,則從伺服器下載該文件到工作區,更新工作區中該文件版本;或者,從伺服器下載該文件到交互區,並將下載後的該文件複製到工作區,更新工作區中該文件版本。作為上述技術方案的改進,所述工作區中文件更新後,還包含以下步驟將所述工作區中更新後的文件和文件版本保存到所述標準區。作為上述技術方案的改進,該方法還包含以下步驟用戶將工作區中文件提交到伺服器時,如果伺服器中已存在該文件,且伺服器中該文件的版本號高於工作區中該文件的版本號,則中止所述提交操作,進行文件更新。作為上述技術方案的改進,所述中止提交操作,進行文件更新的步驟中,直接從伺服器下載該文件到交互區,並將下載後的該文件與工作區中該文件進行修改合併,將合併後的文件保存到工作區,更新工作區中該文件版本。完成所述文件更新後,重新進行所述文件提交。作為上述技術方案的改進,該方法還包含以下步驟用戶將工作區中文件提交到伺服器時,如果伺服器中不存在該文件,則將工作區中該文件直接上傳到伺服器,更新上傳後文件的版本號,並將上傳後的文件及其版本號保存到本地標準區中。作為上述技術方案的改進,該方法還包含以下步驟用戶將工作區中文件提交到伺服器時,如果伺服器中已存在該文件,則比較伺服器中該文件的版本號與工作區中該文件的版本號,如果伺服器中該文件的版本號不高於工作區中該文件的版本號,則將工作區中該文件直接上傳到伺服器,更新上傳後文件的版本號,並將上傳後的文件及其版本號保存到本地標準區中。本發明實施方式與現有技術相比,主要區別及其效果在於為每個用戶在客戶端設置一工作區、一標準區和一交互區,工作區中保存用戶對文件的本地修改,標準區中保存用戶最新上傳到伺服器的文件,交互區中保存從伺服器下載的文件。在從伺服器進行文件更新時,首先判斷工作區中是否已存在該文件,以及工作區中該文件的版本是否低於伺服器中該文件的版本,在工作區中已存在該文件且版本比伺服器中低的情況下,比較標準區中該文件與工作區中該文件的一致性,如果不一致則從伺服器下載該文件到交互區,並將下載後的該文件與工作區中該文件進行修改合併,將合併後的文件保存到工作區,更新工作區中該文件版本。從而避免在本地文件與伺服器文件均發生修改時,本地文件被伺服器中文件直接覆蓋,從保護本地文件的角度避免本地文件與伺服器上文件的修改衝突。用戶將工作區中文件提交到伺服器時,如果伺服器中已存在該文件,且伺服器中該文件的版本號高於工作區中該文件的版本號,則中止所述提交操作,進行文件更新。這裡的更新可以是將伺服器下載的文件與工作區中修改後的該文件進行技術性合併。從而避免在本地文件與伺服器文件均發生修改時,伺服器中文件被本地文件直接覆蓋,從保護伺服器上文件的角度避免本地文件與伺服器上文件的修改衝突。


下面結合附圖和具體實施方式
對本發明作進一步詳細說明。圖1是本發明一較佳實施方式的多方協同操作文件的版本管理控制方法中文件更新方法流程圖;圖2是本發明一較佳實施方式的多方協同操作文件的版本管理控制方法中文件提交方法流程圖。
具體實施例方式為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明的實施方式作進一步地詳細描述。本發明一較佳實施方式涉及一種多方協同操作文件的版本管理控制方法。這裡的文件不僅僅指文本文件,還包括伺服器上其他對象。本實施方式中,為每個用戶在客戶端設置一個工作區、一個標準區和一個交互區。其中工作區中存放的文件(包括各類數據對象),用戶可直接對其進行修改、編譯等操作,是用戶的工作空間;標準區中存放客戶端本地最新上傳至伺服器的文件;交互區中存放從伺服器下載到本地的文件,一般情況下從伺服器下載到本地的文件最終需要放置於工作區供用戶操作,因此該交互區只是個臨時區。 在每個客戶端的標準區中存放一個配置文件,用以記錄標準區中文件相關信息,包括版本號、最新上傳的用戶名、時間和文件的消息摘要MD5值。具體結構如下Struct {Version, Username, Time, MD5,…};Message Digest Algorithm MD5 (中文名為消息摘要算法第五版)為計算機安全領域廣泛使用的一種散列函數,用以提供消息的完整性保護。客戶端與伺服器進行交互的操作主要有文件更新(Update)和文件提交 (Commit)。更新即將伺服器上的最新版本文件下載到本地,確保本地與伺服器上文件的同一性;而提交則是指將本地文件上傳到伺服器上(通常在對文件進行本地修改後,需要進行提交)。一般情況下,用戶在對文件進行本地修改後提交到伺服器之前,需要先判斷伺服器上文件版本是否發生變化,如果版本已發生變化,則表明有其他用戶對該文件進行了修改,需要進行文件更新,在文件更新後重新進行上傳。可見,提交操作必須依賴於更新操作, 兩者是相互關聯的。首先對文件更新流程進行描述,具體如圖1所示。步驟101中,查看客戶端本地工作區中是否存在相應文件,若不存在,則直接進入步驟102 ;若存在則進入步驟103。
步驟102中,直接從伺服器下載該文件到本地客戶端的工作區,並修改本地版本號,使該文件在本地的版本號與伺服器上相同,完成該文件的更新,進入步驟107。或者,為了使下載更安全和標準化,也可以從伺服器下載該文件到本地客戶端的交互區,完成該文件的更新,之後再將該文件從交互區中複製到工作區,以便於用戶進行修改、編譯等操作, 之後進入步驟107。步驟103,比較本地工作區中該文件的版本號與伺服器上該文件的版本號,若伺服器上該文件版本號低於或等於本地工作區中該文件版本號(一般絕少出現低於的情況,可以忽略),則表明本地存儲的該文件已是當前最新版本,無需更新,結束本流程;若伺服器上該文件版本號高於本地標準區中該文件版本號,則進入步驟104。步驟104中,分別計算客戶端本地工作區和標準區中該文件的MD5,若MD5相同,則說明在前一次上傳該文件之後,本地工作區中的該文件未進行過修改,進入步驟102,直接將伺服器上該文件下載到本地工作區,覆蓋工作區中原有的該文件,並修改本地版本號,使該文件在本地的版本號與伺服器上相同,完成該文件的更新,接著進入步驟107 ;若計算出的MD5不同,則說明在前一次上傳該文件之後,用戶在本地工作區中對該文件進行了修改, 此時進入步驟105。步驟105中,將伺服器上該文件下載到本地交互區中,接著進入步驟106。步驟106中,利用本地合併工具對交互區中的該文件和工作區中該文件進行修改合併,合併後的文件保存在本地工作區中並修改本地版本號,使該文件在本地的版本號與伺服器上相同。從而避免在本地文件與伺服器文件均發生修改時,本地文件被伺服器中文件直接覆蓋,從保護本地文件的角度避免本地文件與伺服器上文件的修改衝突。至此,整個更新操作就完成了。接著進入步驟107。上述的本地合併工具可以是專業比較合併軟體 Beyond Compare,開源免費軟體WinMerge,google的diff-merge軟體等,當然也可以自己開發相應的合併工具。步驟107中,將工作區中更新後的文件和文件版本保存到標準區。本實施方式中,在步驟103中確定伺服器上該文件版本號高於本地標準區中該文件版本號後,也可以直接將伺服器上該文件下載到本地交互區中,之後再計算本地工作區和標準區中該文件的MD5,若MD5相同,則直接將本地交互區中該文件複製到工作區,覆蓋工作區中原有的該文件;若計算出的MD5不同,則利用本地合併工具對交互區中的該文件和工作區中該文件進行修改合併,合併後的文件保存在本地工作區中並修改本地版本號, 使該文件在本地的版本號與伺服器上相同。需要說明的是,本實施方式中,只在標準區中存放一個配置文件,用以記錄標準區中文件的版本號、MD5值等信息。由於每次更新後,標準區中文件的版本號與工作區中文件版本號是同步更新的,因此在上述流程中,可以直接從該標準區的配置文件中,獲取當前工作區中文件的版本號。在用戶對文件進行修改等操作後,需要將處理後的文件提交到伺服器,下面將描述提交(Commit)操作的整個過程步驟201中,查看伺服器上是否存在該文件,若不存在,則進入步驟202直接上傳本地工作區文件至伺服器,並更新上傳文件的版本號,接著進入步驟203 ;若存在,則轉至步驟204。
步驟203中,將上傳後的文件複製到本地交互區中,並保持該上傳文件的新的版本號和MD5等文件配置信息。步驟204中,比較該文件在伺服器和在本地工作區中的版本號,若伺服器上該文件版本號等於或低於本地工作區中該文件版本號,則進入步驟202,直接上傳本地工作區中的該文件至伺服器,並更新上傳文件的版本號,接著進入步驟203 ;若伺服器上該文件版本號高於本地工作區中該文件版本號,則轉到步驟205。步驟205中,禁止上傳,並提示用戶先進行該文件的更新操作。在用戶選擇更新操作後,可以進入如圖1所示的更新流程。或者,為了簡化操作, 可以直接跳至步驟106,將伺服器上該文件下載到本地交互區中,利用本地合併工具對交互區中的該文件和工作區中該文件進行修改合併,合併後的文件保存在本地工作區中並修改本地版本號,使該文件在本地的版本號與伺服器上相同。從而避免在本地文件與伺服器文件均發生修改時,伺服器中文件被本地文件直接覆蓋,從保護伺服器上文件的角度避免本地文件與伺服器上文件的修改衝突。在文件更新後,用戶可以重新提交該更新後的文件。雖然通過參照本發明的某些優選實施方式,已經對本發明進行了圖示和描述,但本領域的普通技術人員應該明白,可以在形式上和細節上對其作各種改變,而不偏離本發明的精神和範圍。
權利要求
1.一種多方協同操作文件的版本管理控制方法,其特徵在於,包含以下步驟為每個用戶在客戶端設置一工作區、一標準區和一交互區,工作區中保存用戶對文件的本地修改,標準區中保存用戶最新上傳到伺服器的文件,交互區中保存從伺服器下載的文件;在從伺服器進行文件更新時,如果工作區中已存在該文件,且工作區中該文件的版本低於伺服器中該文件的版本,則比較標準區中該文件與工作區中該文件的一致性,如果不一致則從伺服器下載該文件到交互區,並將下載後的該文件與工作區中該文件進行修改合併,將合併後的文件保存到工作區,更新工作區中該文件版本。
2.根據權利要求1所述的多方協同操作文件的版本管理控制方法,其特徵在於,還包含以下步驟如果標準區中該文件與工作區中該文件一致,則從伺服器下載該文件到工作區,更新工作區中該文件版本;或者,如果標準區中該文件與工作區中該文件一致,則從伺服器下載該文件到交互區,並將下載後的該文件複製到工作區,更新工作區中該文件版本。
3.根據權利要求2所述的多方協同操作文件的版本管理控制方法,其特徵在於,還包含以下步驟在從伺服器進行文件更新時,如果工作區中已存在該文件,且工作區中該文件的版本不低於伺服器中該文件的版本,則終止所述更新。
4.根據權利要求3所述的多方協同操作文件的版本管理控制方法,其特徵在於,還包含以下步驟在從伺服器進行文件更新時,如果工作區中未存在該文件,則從伺服器下載該文件到工作區,更新工作區中該文件版本;或者,從伺服器下載該文件到交互區,並將下載後的該文件複製到工作區,更新工作區中該文件版本。
5.根據權利要求4所述的多方協同操作文件的版本管理控制方法,其特徵在於,所述比較標準區中該文件與工作區中該文件的一致性的步驟中,通過分別計算本地工作區中該文件的消息摘要MD5和標準區中該文件的MD5,根據MD5的計算結果確定所述文件是否一致。
6.根據權利要求1至5中任意一項所述的多方協同操作文件的版本管理控制方法,其特徵在於,所述工作區中文件更新後,還包含以下步驟將所述工作區中更新後的文件和文件版本保存到所述標準區。
7.根據權利要求6所述的多方協同操作文件的版本管理控制方法,其特徵在於,還包含以下步驟用戶將工作區中文件提交到伺服器時,如果伺服器中已存在該文件,且伺服器中該文件的版本號高於工作區中該文件的版本號,則中止所述提交操作,進行文件更新。
8.根據權利要求7所述的多方協同操作文件的版本管理控制方法,其特徵在於,所述中止提交操作,進行文件更新的步驟中,直接從伺服器下載該文件到交互區,並將下載後的該文件與工作區中該文件進行修改合併,將合併後的文件保存到工作區,更新工作區中該文件版本。
9.根據權利要求8所述的多方協同操作文件的版本管理控制方法,其特徵在於,完成所述文件更新後,重新進行所述文件提交。
10.根據權利要求9所述的多方協同操作文件的版本管理控制方法,其特徵在於,還包含以下步驟用戶將工作區中文件提交到伺服器時,如果伺服器中不存在該文件,則將工作區中該文件直接上傳到伺服器,更新上傳後文件的版本號,並將上傳後的文件及其版本號保存到本地標準區中。
11.根據權利要求10所述的多方協同操作文件的版本管理控制方法,其特徵在於,還包含以下步驟用戶將工作區中文件提交到伺服器時,如果伺服器中已存在該文件,則比較伺服器中該文件的版本號與工作區中該文件的版本號,如果伺服器中該文件的版本號不高於工作區中該文件的版本號,則將工作區中該文件直接上傳到伺服器,更新上傳後文件的版本號,並將上傳後的文件及其版本號保存到本地標準區中。
全文摘要
本發明公開了一種多方協同操作文件的版本管理控制方法,為每個用戶在客戶端設置一工作區、一標準區和一交互區,工作區中保存用戶對文件的本地修改,標準區中保存用戶最新上傳到伺服器的文件,交互區中保存從伺服器下載的文件。在從伺服器進行文件更新時,首先判斷工作區中該文件的版本是否低於伺服器中的版本,在版本比伺服器中低的情況下,比較標準區中該文件與工作區中的一致性,如果不一致則從伺服器下載該文件到交互區,將下載後的文件與工作區中該文件進行修改合併,將合併後的文件保存到工作區。從而避免在本地文件與伺服器文件均發生修改時,本地文件被伺服器中文件直接覆蓋,從保護本地文件的角度避免本地文件與伺服器上文件的修改衝突。
文檔編號G06F17/30GK102541941SQ201010619298
公開日2012年7月4日 申請日期2010年12月31日 優先權日2010年12月31日
發明者俞高宇, 徐龍龍, 梁俊 申請人:上海可魯系統軟體有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀