專利名稱:文件版本管控接口裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種文件版本管控的接口裝置及方法。
背景技術(shù):
在系統(tǒng)開發(fā)中大多數(shù)人都會用到版本控制系統(tǒng),或是錯誤追蹤系統(tǒng)。這樣的版本控制系統(tǒng)包括開放原始碼的程序開發(fā)版本管控程序Concurrent Versions System ( CVS ) 和微軟的 Visual SourceSafe (VSS)。其中該CVS是以文件為主,每個文件的修改版次各自獨(dú)立控管。
在團(tuán)隊開發(fā)或設(shè)計中,不同的人員會對同一個文件進(jìn)行多次修改, 版本管控最大的功能是保證每次修改的獨(dú)立性,不至于新的修改把舊的修改完全覆蓋而無可挽回,可以在一個版本修改結(jié)束后再開始另一次修改,如果修改錯誤,也可以恢復(fù)取到舊的修改,有修改的延續(xù)性。
對于目前許多項目,尤其是開放源碼的項目,開發(fā)人員經(jīng)常都可以透過各種版本控制系統(tǒng)來取得他們最新的源碼。這些項目也大多對于他們所開發(fā)的源碼用相關(guān)的工具做好管控與保護(hù)。
但目前的版本管控系統(tǒng),都需要借助客戶端程序軟件來管理,且只能獨(dú)立運(yùn)行不能集成于其他系統(tǒng);即使有網(wǎng)頁(Web)形式的實現(xiàn)也僅僅是只能瀏覽,沒有版本管控功能。
發(fā)明內(nèi)容
鑒于以上內(nèi)容,本發(fā)明提供一種文件版本管控的接口裝置,該裝置安裝在網(wǎng)絡(luò)服務(wù)器上,并連接版本管控服務(wù)器及網(wǎng)頁,該裝置包括服務(wù)層、文件控制層及模擬客戶層。
其中,該服務(wù)層用于響應(yīng)網(wǎng)頁所接收的用戶上傳、下載文件的請求,并將該請求轉(zhuǎn)換成命令傳送到模擬客戶層;該服務(wù)層還用于接收用戶填寫的對所上傳文件的簡短^務(wù)改信息,編碼該文件的文件名、該文件 的簡短修改信息及用戶名為版本管控服務(wù)器能夠識別的信息,再將該編 碼后的信息傳送到模擬客戶層。
該文件控制層用于在網(wǎng)絡(luò)服務(wù)器上建立一個客戶端目錄,該客戶端 目錄是一個臨時存儲目錄,用于暫時存放用戶所上傳的文件。
該模擬客戶層與版本管控服務(wù)器相連,用于模擬版本管控服務(wù)器的 用戶端所進(jìn)行的操作,其接收服務(wù)層傳送過來的命令后,到客戶端目錄
取得所上傳的文件,再將該文件存儲到版本管控服務(wù)器中;該模擬客戶 層還用于接收傳送過來的編碼信息,將該編碼信息存儲在版本管控服務(wù) 器作為該文件的修改版本歷史信息。
本發(fā)明還提供一種文件版本管控接口方法,該方法通過安裝在網(wǎng)絡(luò) 服務(wù)器上的文件版本管控接口裝置執(zhí)行文件版本管控,該文件版本管控 接口裝置連接網(wǎng)頁及版本管控服務(wù)器。
該方法包括步驟該文件版本接口裝置響應(yīng)用戶通過網(wǎng)頁提交的上 傳文件的請求,接收用戶填寫的對所上傳文件的簡短修改信息及用戶 名;保存該上傳的文件到網(wǎng)絡(luò)服務(wù)器的客戶端目錄;如果用戶上傳的不 是新文件,則判斷該文件是否正在被其他用戶所修改,如果該文件正在 被其他用戶修改,則不允許上傳該文件;如果該文件沒有正在被其他用 戶修改或如果用戶上傳的是新文件,則編碼該簡短修改信息及用戶名 為版本管控服務(wù)器能夠識別的信息,并將上述上傳文件的請求轉(zhuǎn)換成命 令;根據(jù)上述命令從客戶端目錄獲取所上傳的文件,再將該文件存儲到 版本管控服務(wù)器中;將所述編碼信息存儲在版本管控服務(wù)器中作為該文 件的修改版本歷史信息;及用戶經(jīng)由該版本管控服務(wù)器進(jìn)行版本管控, 包括下載文件的最新版本、下載文件的歷史版本、查看文件的修改版本 歷史信息。
本發(fā)明無需借助客戶端安裝程序軟件來管理文件修改的歷史版本, 而是集成于網(wǎng)絡(luò)服務(wù)器上實現(xiàn)了文件版本管控功能,包括文件新加入版 本管控、文件修改后上傳生成新的版本、文件當(dāng)前版本內(nèi)容的下載及文 件歷史版本內(nèi)容的下載、文件修改歷史信息的查詢等,可應(yīng)用網(wǎng)絡(luò)系統(tǒng) 開發(fā)的工作流程管理中。
圖1為本發(fā)明文件版本管控接口裝置較佳實施例的架構(gòu)圖。
圖2為本發(fā)明文件版本管控接口方法的較佳實施例的流程圖。
圖3為本發(fā)明文件版本管控接口方法的文件上傳較佳實施例的流程圖。
圖4為本發(fā)明文件版本管控接口方法的文件下載較佳實施例的流程圖。
圖5為本發(fā)明文件版本管控接口方法文件歷史版本信息返回流程圖。
具體實施例方式
參閱圖1所示,為本發(fā)明文件版本管控接口裝置較佳實施例的架構(gòu) 圖。該接口裝置13安裝在網(wǎng)絡(luò)服務(wù)器11中,其包括服務(wù)層110,文件控 制層lll及模擬客戶層112。網(wǎng)頁IO和版本管控服務(wù)器12通過該接口裝 置13連接到網(wǎng)絡(luò)服務(wù)器11上,以實現(xiàn)對用戶通過網(wǎng)頁IO上傳的文件進(jìn) 行版本管控。
其中,該服務(wù)層110用于響應(yīng)網(wǎng)頁IO所接收的用戶請求,該用戶請 求包括請求上傳文件、請求下載文件、請求查看文件歷史版本信息等。 該請求下載文件又包括請求下載新版本文件、請求下載歷史版本文件 等。該服務(wù)層110將響應(yīng)的請求轉(zhuǎn)換成命令傳送到模擬客戶層112。
該服務(wù)層110還用于接收用戶對上傳文件的簡短修改信息,并將該 用戶名、簡短修改信息、文件名稱編碼成版本管控服務(wù)器12能夠識別的 信息;且將該編碼后的信息也發(fā)送給模擬客戶層112。由于不同用戶可能 使用不同的編碼系統(tǒng),如A用戶使用繁體中文、B用戶使用簡體中文、C 用戶使用中歐語系,所以需要將該不同編碼的信息統(tǒng)一成一種編碼存儲 在版本管控服務(wù)器12中。在本較佳實施例中,是將用戶名、簡短修改信 息、文件名稱等編碼成Unicode碼存儲在版本管控服務(wù)器12中。
該文件控制層111用于在網(wǎng)絡(luò)服務(wù)器11建立一個客戶端目錄113, 該客戶端目錄113是一個臨時存儲目錄,用于暫時存放用戶上傳的文 件。比如網(wǎng)頁10的用戶端上傳的文件先存放到該客戶端目錄113。
該文件控制層111還用于在網(wǎng)絡(luò)服務(wù)器11為每一個上傳的新文件創(chuàng) 建一個控制記錄114,該控制記錄114記載了該文件上傳時所使用的文件 名稱與編碼后存儲在版本管控服務(wù)器12中的文件名稱的對應(yīng)關(guān)系,還記 載了該文件的當(dāng)前最新狀況,該當(dāng)前最新狀況包括當(dāng)前修改該文件的 用戶名、修改日期時間、版本批次及正在修改標(biāo)志位。其中正在修改標(biāo) 志位用于表明該文件目前是否有用戶正在修改。
該文件控制層lll還用于對網(wǎng)頁10的用戶端上傳或訪問的文件設(shè)置 權(quán)限。所設(shè)置的文件權(quán)限包括某個時間段禁止用戶進(jìn)行修改某個文件而 只能瀏覽等。
模擬客戶層112用于模擬版本管控服務(wù)器12端的用戶端,其接收到 服務(wù)層110傳送過來的命令后,到客戶端目錄113取得上傳的文件,再 將該文件存儲到版本管控服務(wù)器12中。該模擬客戶層112還用于模擬版 本管控服務(wù)器12的用戶端所進(jìn)行的其他一些操作,如下栽文件等。該模 擬客戶層112直接與版本管控服務(wù)器12相連。
參閱圖2所示,是本發(fā)明文件版本管控接口方法的較佳實施例的流 程圖。首先,步驟S200,用戶通過網(wǎng)頁IO提交上傳文件的請求,并選擇 需上傳的文件及填寫筒短修改信息,該簡短修改信息包括上傳該文件的 用戶名、修改該文件的原因及修改內(nèi)容的簡單描述等。
步驟S202,網(wǎng)絡(luò)服務(wù)器11中的接口裝置接收到該上傳文件的請求 后,根據(jù)該請求把需上傳的文件存儲到版本管控服務(wù)器12中。
步驟S204,用戶可經(jīng)由該版本管控服務(wù)器12進(jìn)行版本管控,如下載 新版本文件、下載歷史版本文件、查看文件修改版本歷史信息等。
參閱圖3所示,為本發(fā)明文件版本管控接口方法的文件上傳較佳實 施例的流程圖。步驟S300,服務(wù)層IIO接收網(wǎng)頁IO提交的上傳文件的請 求。
步驟S302,該服務(wù)層UO將該上傳的文件存儲到文件控制層111在 網(wǎng)絡(luò)服務(wù)器11中建立的客戶端目錄113中。
步驟S304,該服務(wù)層IIO接收用戶通過網(wǎng)頁IO提交的登錄用戶名和 對該上傳文件的簡短修改信息。
步驟S306,該服務(wù)層110編碼該所接收到用戶名和簡短修改信息成 Unicode碼。
步驟S308,該服務(wù)層UO根據(jù)用戶在網(wǎng)頁IO上所點擊的請求判斷該 需上傳的文件是否是新文件。 一般而言,用戶要上傳文件時會根據(jù)文件 是否是新文件在網(wǎng)頁IO上選擇上傳新文件或上傳修改過的文件。
步驟S310,如果該需上傳的文件不是新文件,則該服務(wù)層110讀取 該文件的控制記錄114。所述的控制記錄114是用來記錄文件的當(dāng)前最新 狀態(tài),每個文件都有一個控制記錄114,該控制記錄114由文件控制層 111創(chuàng)建及管理。所述文件的當(dāng)前最新狀態(tài)包括最近一次上傳該文件的用 戶名、該最近一次上傳的該文件的最新版本批次、修改日期時間、正在 修改標(biāo)志位等。該正在修改標(biāo)志位可以用來表明該文件是否正在被某一 用戶修改。
步驟S312,根據(jù)該控制記錄114中正在修改標(biāo)志位判斷該上傳的文 件是否正被其他用戶修改。如果該上傳的文件正在被其他用戶修改,則 該文件不能上傳,上傳流程結(jié)束。
步驟S314,如果該上傳的文件沒有正在被其他用戶修改,則該服務(wù) 層110將編碼后的用戶名和簡短修改信息發(fā)送給模擬客戶層112,且將從 網(wǎng)頁10所接收的上傳文件的請求轉(zhuǎn)換成命令發(fā)送給模擬客戶層112。該 模擬客戶層112從客戶端目錄113獲取該上傳的文件,將該文件存儲到 版本管控服務(wù)器12。
步驟S316,該模擬客戶層112通知文件控制層111更新該文件的控 制記錄114,也即將本次上傳該文件的用戶名、版本批次、修改日期時間 等替換原來的控制記錄114內(nèi)容。另外,該模擬客戶層U2還將該更新 后的控制記錄114添加到版本控制服務(wù)器12中的該文件對應(yīng)的文件修改 版本歷史信息中。
在步驟S308中,如果該上傳的文件是新文件,則步驟S318,該服 務(wù)層110將編碼后的用戶名和筒短修改信息發(fā)送給模擬客戶層112,且將 從網(wǎng)頁10所接收的上傳文件的請求轉(zhuǎn)換成命令發(fā)送給模擬客戶層112。
該才莫擬客戶層112從客戶端目錄113獲取該上傳的新文件,將該新文件 存儲到版本管控服務(wù)器12中。
步驟S320,該文件控制層111給該新文件創(chuàng)建一個控制記錄114, 記錄下該新文件的上傳用戶名、版本、上傳日期時間。并且由模擬客戶 層112于版本管控服務(wù)器12中創(chuàng)建該新文件的文件修改版本歷史信息, 將該所新創(chuàng)建的控制記錄114添加進(jìn)去。
參閱圖4所示,為本發(fā)明文件版本管控接口方法的文件下載較佳實 施例的流程圖。步驟S400,用戶通過網(wǎng)頁IO提交下載文件的請求,并選 擇下栽的文件的版本,該所選擇的版本包括最新版本及歷史版本。
步驟S402,服務(wù)層110判斷用戶所選擇下載的版本是最新版本還是 歷史版本。
步驟S404,如果用戶選擇的是下載文件的歷史版本,則讀取該文件 的控制記錄114以獲取該文件上傳時的文件名與編碼后存儲在版本管控 服務(wù)器12中文件名的對應(yīng)關(guān)系及該文件的最新版本狀況。
步驟S406,服務(wù)層110將上述獲取的文件名的對應(yīng)關(guān)系、該文件的
112,同時將下載請求轉(zhuǎn)換成命令發(fā)送給模擬客戶層112。
步驟S408,該模擬客戶層112根據(jù)上述參數(shù)到版本管控服務(wù)器12下載用戶所需要的歷史版本,將該歷史版本存儲到客戶端目錄113中。服
務(wù)層110將該文件讀取到Http協(xié)議中的HttpResponse對象中。
步驟S410,所述模擬客戶層112在服務(wù)層110讀取完該文件后,將
該文件從客戶端目錄113中刪除。
步驟S412,用戶在其網(wǎng)頁IO讀取的該文件歷史版本并保存下來。 在步驟S402中,如果用戶所需要下載的是該文件的最新版本,則步
驟S414,則服務(wù)層110將該下載請求轉(zhuǎn)換成命令發(fā)送給模擬客戶層
112。
步驟S416,該模擬客戶層112從版本管控服務(wù)器12下載該文件的最 新版本到客戶端目錄113。服務(wù)層110將該文件讀取到Http協(xié)議中的 HttpResponse對象中。之后轉(zhuǎn)入步驟S412。
參閱圖5所示,為本發(fā)明文件版本管控接口方法中文件歷史版本信息返回流程圖。
步驟S500,服務(wù)層110從網(wǎng)頁10接收到用戶需要瀏覽文件歷史版本信息的請求。
步驟S502,該服務(wù)層110讀取該文件的控制記錄114以獲取該文件上傳時的文件名與編碼后存儲在版本管控服務(wù)器12中的名稱的對應(yīng)關(guān)系。
步驟S504,該服務(wù)層110再將該請求轉(zhuǎn)換成命令傳送給模擬客戶層112,及將上述文件名的對應(yīng)關(guān)系傳送給該模擬客戶層112,該模擬客戶層112根據(jù)上述信息從版本管控服務(wù)器12中獲取該文件的歷史版本信息。所述歷史版本信息包括該文件每次修改的簡短信息、對應(yīng)每次進(jìn)行 修改的用戶名、及每次修改的日期時間等。
步驟S506,該模擬客戶層112解析上述歷史版本信息中的用戶名為實際用戶名、解析上述每次修改的簡短信息為用戶能夠識別的信息且在用戶端顯示。因為在該文件上傳時,用戶名及所提交的簡短修改信息都 被編碼成Unicode碼,所以需要將歷史版本信息重新編碼成用戶端能夠識別的編碼。
權(quán)利要求
1. 一種文件版本管控接口裝置,該裝置安裝在網(wǎng)絡(luò)服務(wù)器上,并連接版本管控服務(wù)器及網(wǎng)頁,其特征在于,該裝置包括服務(wù)層、文件控制層及模擬客戶層,其中該服務(wù)層用于響應(yīng)網(wǎng)頁所接收的用戶上傳、下載文件的請求,并將該請求轉(zhuǎn)換成命令傳送到模擬客戶層;該服務(wù)層還用于接收用戶填寫的對所上傳文件的簡短修改信息,編碼該文件的文件名、該文件的簡短修改信息及用戶名為版本管控服務(wù)器能夠識別的信息,再將該編碼后的信息傳送到模擬客戶層;該文件控制層用于在網(wǎng)絡(luò)服務(wù)器上建立一個客戶端目錄,該客戶端目錄是一個臨時存儲目錄,用于暫時存放用戶所上傳的文件;該模擬客戶層與版本管控服務(wù)器相連,用于模擬版本管控服務(wù)器的用戶端所進(jìn)行的操作,其接收服務(wù)層傳送過來的命令后,到客戶端目錄獲取所上傳的文件,再將該文件存儲到版本管控服務(wù)器中;該模擬客戶層還用于接收傳送過來的編碼信息,將該編碼信息存儲在版本管控服務(wù)器作為該文件的修改版本歷史信息。
2. 如權(quán)利要求1所述的文件版本管控接口裝置,其特征在于,該文 件控制層還用于為上傳的文件創(chuàng)建一個控制記錄并進(jìn)行及時更新,該控 制記錄用于記栽該文件上傳時的文件名與編碼后在版本管控服務(wù)器的名 稱的對應(yīng)關(guān)系及該文件的上傳文件的當(dāng)前最新狀態(tài),該當(dāng)前最新狀態(tài)包 括當(dāng)前修改該文件的用戶名、修改日期時間、版本批次及正在修改標(biāo) 志位。
3. 如權(quán)利要求2所述的文件版本管控接口裝置,其特征在于,該模 擬客戶層還用于將該控制記錄中的該文件的當(dāng)前最新狀態(tài)添加到該文件 的修改版本歷史信息中。
4. 如權(quán)利要求1所述的文件版本管控接口裝置,其特征在于,該文 件控制層還用于對網(wǎng)頁用戶端所上傳或訪問的文件設(shè)置存取權(quán)限。
5. 如權(quán)利要求1所述的文件版本管控接口裝置,其特征在于,該文 件的修改版本歷史信息包括該文件編碼后的文件名、每個版次修改用戶 名、用戶填寫的簡短修改說明、修改日期時間、修改的版本。
6. —種文件版本管控接口方法,該方法通過安裝在網(wǎng)絡(luò)服務(wù)器上的 文件版本管控接口裝置執(zhí)行文件版本管控,該文件版本管控接口裝置連 接網(wǎng)頁及版本管控服務(wù)器,其特征在于,該方法包括步驟該文件版本管控接口裝置響應(yīng)用戶通過網(wǎng)頁提交的上傳文件的請 求,接收用戶填寫的對所上傳文件的簡短修改信息及用戶名;保存該上傳的文件到網(wǎng)絡(luò)服務(wù)器的客戶端目錄,該客戶端目錄臨時 存儲用戶所上傳的文件;如果用戶上傳的不是新文件,則判斷該文件是否正在被其他用戶所 修改,如果該文件正在被其他用戶修改,則不允許上傳該文件;如果該文件沒有正在被其他用戶修改或如杲用戶上傳的是新文件,則編碼該簡短修改信息及用戶名為版本管控服務(wù)器能夠識別的信息, 并將上述上傳文件的請求轉(zhuǎn)換成命令;根據(jù)上述命令從客戶端目錄獲取所上傳的文件,將該文件存儲到版 本管控服務(wù)器中;將所述編碼信息存儲在版本管控服務(wù)器中作為該文件的修改版本歷 史信息;及用戶經(jīng)由該版本管控服務(wù)器進(jìn)行版本管控,包括下栽文件的最新版 本、下載文件的歷史版本及查看文件的修改版本歷史信息。
7. 如權(quán)利要求6所述的文件版本管控接口方法,其特征在于,該方 法還包括步驟如果用戶上傳的是新文件,則為該新文件創(chuàng)建一個控制記錄,該控 制記錄記載了該文件上傳的文件名與編碼后在版本管控服務(wù)器中的名稱 的對應(yīng)關(guān)系及該文件的當(dāng)前最新狀態(tài),該當(dāng)前最新狀態(tài)包括當(dāng)前修改 該文件的用戶名、修改日期時間、版本批次及正在修改標(biāo)志位。
8. 如權(quán)利要求7所述的文件版本管控接口方法,其特征在于,該方 法還包括步驟 將該控制i己錄中的該文4牛的當(dāng)前最新狀態(tài)添加到該文件的f務(wù)改片反本 歷史信息中。
9. 如權(quán)利要求7所述的文件版本管控接口方法,其特征在于,該方 法還包括步驟如果用戶上傳的不是新文件,則更新該文件的控制記錄,也即將進(jìn) 行本次修改的用戶名、版本、修改日期時間替換原來的控制記錄內(nèi)容。
10. 如權(quán)利要求7所述的文件版本管控接口方法,其特征在于,其 中下載文件的歷史版本的步驟包括接收用戶通過網(wǎng)頁提交的下載文件的歷史版本的請求; 根據(jù)該文件的控制記錄獲取該文件在編碼前與編碼后的文件名稱的對應(yīng)關(guān)系及該文件的最新版本,同時將下載請求轉(zhuǎn)換成命令;根據(jù)該文件名的對應(yīng)關(guān)系、該文件的最新版本和用戶需要下栽的版本到版本管控服務(wù)器下載用戶所需要的歷史版本,將該歷史版本存儲到客戶端目錄中;將該文件從客戶端目錄讀取到Http協(xié)議中的HttpResponse對象中; 在用戶讀取完所需要的文件后,將該文件從客戶端目錄中刪除;及 用戶在其網(wǎng)頁上讀取該文件的歷史版本并保存。
11. 如權(quán)利要求7所述的文件版本管控接口方法,其特征在于,其 中查看文件的修改版本歷史信息的步驟包括接收用戶通過網(wǎng)頁提交的需要瀏覽文件歷史版本信息的請求; 讀取該文件的控制記錄以獲取該文件在編碼前與編碼后的文件名稱 的對應(yīng)關(guān)系;將該請求轉(zhuǎn)換成命令,根據(jù)所述命令及文件名稱的對應(yīng)關(guān)系從版本 管控服務(wù)器中獲取該文件的歷史版本信息;解析上述歷史版本信息成為用戶能夠識別的信息且在網(wǎng)頁用戶端顯示。
全文摘要
本發(fā)明提供一種文件版本管控的接口裝置,該裝置包括服務(wù)層、文件控制層及模擬客戶層。該服務(wù)層用于響應(yīng)網(wǎng)頁所接收的用戶上傳、下載文件的請求及將該請求轉(zhuǎn)換成命令傳送到模擬客戶層;該服務(wù)層還用于將該文件的文件名、簡短修改信息及用戶名編碼為版本管控服務(wù)器能夠識別的信息,再將該信息傳送到模擬客戶層。該文件控制層用于在網(wǎng)絡(luò)服務(wù)器上建立存放用戶上傳的文件的客戶端目錄。該模擬客戶層用于將從客戶端目錄取得的文件存儲到版本管控服務(wù)器;該模擬客戶層還用于接收傳送過來的編碼信息,將該編碼信息存儲在版本管控服務(wù)器作為該文件的修改版本歷史信息。本發(fā)明還提供一種文件版本管控的接口方法。本發(fā)明無需在客戶端安裝軟件即可管控文件歷史版本信息。
文檔編號G06F9/44GK101206564SQ200610157700
公開日2008年6月25日 申請日期2006年12月20日 優(yōu)先權(quán)日2006年12月20日
發(fā)明者葉建發(fā), 李大鵬, 李忠一, 李支紅 申請人:鴻富錦精密工業(yè)(深圳)有限公司;鴻海精密工業(yè)股份有限公司