專利名稱:基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及測控技術(shù),特別涉及一種基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法、裝置及系統(tǒng)。
背景技術(shù):
隨著電子技術(shù)的發(fā)展,滿足新測試需求的技術(shù)也在推陳出新,而利用計算機(jī)和網(wǎng)絡(luò)等技術(shù)對傳統(tǒng)產(chǎn)業(yè)進(jìn)行改造已是大勢所趨?!叭嵝詼y試”技術(shù)的概念正是為了解決這個問題而提出的。柔性測試將測試測量解決方案或系統(tǒng)的實現(xiàn)作為一個整體來考慮,根據(jù)測試要求和測量對象,從應(yīng)用角度出發(fā)來規(guī)劃完整的測試平臺,完成常規(guī)測試測量技術(shù)難以實現(xiàn)的測試要求,為各種測試測量需求提供完整的解決方案。測試數(shù)據(jù)的版本控制是軟件配置管理的基礎(chǔ),它管理并保護(hù)開發(fā)者的軟件資源。當(dāng)多人協(xié)同開發(fā)一個軟件項目時,項目組的每個成員在各自電腦上都有著與該項目相關(guān)的資料文檔以及軟件代碼,并且每個人會根據(jù)自己的工作分配和職責(zé)對相關(guān)代碼進(jìn)行修改和編碼工作,在完成各自的工作后,所有的代碼會被整理到一臺機(jī)器上進(jìn)行代碼整合和調(diào)試。如果沒有版本管理或者版本控制本身缺乏正確的流程管理,在項目的開發(fā)過程中會遇到諸如軟件代碼一致性差,代碼內(nèi)容冗余較多,軟件過程的事物性、開發(fā)過程的并發(fā)性以及源代碼的安全性較差等問題,同時由于多人工作,會造成合作不暢通,錯誤難于定位和追溯等問題。針對上述問題,現(xiàn)有技術(shù)目前尚缺少有效的解決方案,因此降低了柔性測試的效率和可靠性。
發(fā)明內(nèi)容
在下文中給出關(guān)于本發(fā)明的簡要概述,以便提供關(guān)于本發(fā)明的某些方面的基本理解。應(yīng)當(dāng)理解,這個概述并不 是關(guān)于本發(fā)明的窮舉性概述。它并不是意圖確定本發(fā)明的關(guān)鍵或重要部分,也不是意圖限定本發(fā)明的范圍。其目的僅僅是以簡化的形式給出某些概念,以此作為稍后論述的更詳細(xì)描述的前序。本發(fā)明提供一種基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法、裝置及系統(tǒng),用以解決現(xiàn)有技術(shù)中缺乏有效版本控制方案的缺陷,實現(xiàn)高效率和高可靠性的柔性測試。本發(fā)明提供了一種基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法,包括:接收客戶端發(fā)送的包含條目文件的操作請求,所述條目文件包含當(dāng)前測試數(shù)據(jù)版本的版本信息;根據(jù)所述版本信息判斷所述當(dāng)前測試數(shù)據(jù)版本是否為最新版本;根據(jù)判斷結(jié)果對所述操作請求進(jìn)行響應(yīng)。本發(fā)明還提供了一種基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制裝置,包括:接收模塊,用于接收客戶端發(fā)送的包含條目文件的操作請求,所述條目文件包含當(dāng)前測試數(shù)據(jù)版本的版本信息;判斷模塊,用于根據(jù)所述接收模塊接收到的所述版本信息判斷所述當(dāng)前測試數(shù)據(jù)版本是否為最新版本;響應(yīng)模塊,用于根據(jù)所述判斷模塊的判斷結(jié)果對所述操作請求進(jìn)行響應(yīng)。本發(fā)明還提供了一種基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制系統(tǒng),包括:客戶端和服務(wù)器,所述服務(wù)器為上述基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制裝置,所述客戶端與所述服務(wù)器通過互聯(lián)網(wǎng)傳輸數(shù)據(jù)。本發(fā)明提供的基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法、裝置及系統(tǒng),通過客戶端上傳的版本信息判斷客戶端中的當(dāng)前測試數(shù)據(jù)版本是否為最新版本,并根據(jù)判斷結(jié)果對客戶端的上傳或更新請求進(jìn)行響應(yīng),實現(xiàn)了有效的版本控制,有利于實現(xiàn)數(shù)據(jù)按需管理(Data On Demand),提高了柔性測試的效率和可靠性。
為了更清 楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法第一實施例的流程圖;圖2為本發(fā)明基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法第二實施例的流程圖;圖3為本發(fā)明基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法第三實施例的流程圖;圖4為本發(fā)明基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法第四實施例的流程圖;圖5為本發(fā)明基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制裝置第一實施例的結(jié)構(gòu)示意圖;圖6為本發(fā)明基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制裝置第二實施例的結(jié)構(gòu)示意圖;圖7為本發(fā)明基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制裝置第三實施例的結(jié)構(gòu)示意圖;圖8為本發(fā)明基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制系統(tǒng)實施例的系統(tǒng)框圖。
具體實施例方式為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。在本發(fā)明的一個附圖或一種實施方式中描述的元素和特征可以與一個或更多個其它附圖或?qū)嵤┓绞街惺境龅脑睾吞卣飨嘟Y(jié)合。應(yīng)當(dāng)注意,為了清楚的目的,附圖和說明中省略了與本發(fā)明無關(guān)的、本領(lǐng)域普通技術(shù)人員已知的部件和處理的表示和描述。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有付出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。圖1為本發(fā)明基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法第一實施例的流程圖。如圖1所示,本發(fā)明實施例提供了一種基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法,包括:步驟101、接收客戶端發(fā)送的包含條目文件的操作請求,該條目文件包含當(dāng)前測試數(shù)據(jù)版本的版本信息;
步驟102、根據(jù)上述版本信息判斷當(dāng)前測試數(shù)據(jù)版本是否為最新版本;步驟103、根據(jù)判斷結(jié)果對上述操作請求進(jìn)行響應(yīng)。 在本發(fā)明實施例中,上述步驟可以由服務(wù)器執(zhí)行。當(dāng)客戶端欲進(jìn)行上傳或更新測試數(shù)據(jù)版本的操作時,需要首先向服務(wù)器發(fā)送相應(yīng)的包含條目文件的操作請求,條目文件中包含了當(dāng)前測試數(shù)據(jù)版本的版本信息,該當(dāng)前測試數(shù)據(jù)版本為客戶端中當(dāng)前工作環(huán)境下的測試數(shù)據(jù)版本。條目文件可以是一個可擴(kuò)展標(biāo)志語言(extensible Markup Language,簡稱XML)文檔,包含了關(guān)于工作拷貝中版本化資源的大多數(shù)管理性信息,可以保留文件在版本庫中的統(tǒng)一資源定位符(Uniform Resource Locator,簡稱URL)、原始修訂版本、文件校驗數(shù)據(jù)、可知的最后提交信息(如,作者、修訂版本和時間戳)以及本地拷貝歷史等。無論用戶添加、修改或刪除版本管理的文件夾中的文件,其操作均可寫入條目文件。服務(wù)器接收到操作請求后,根據(jù)其攜帶的版本信息與存儲于服務(wù)器的版本庫中的信息作對比,以判斷上述當(dāng)前測試數(shù)據(jù)版本是否為最新版本。然后,根據(jù)判斷結(jié)果以及操作請求的不同類型對操作請求做不同的響應(yīng)。在多人對同一文件進(jìn)行修改時,通過對客戶端中當(dāng)前版本的判斷,以對修改版本進(jìn)行版本控制,確保目標(biāo)文件版本的正確性和修改的有效性。本發(fā)明提供的基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法,通過客戶端上傳的版本信息判斷客戶端中的當(dāng)前測試數(shù)據(jù)版本是否為最新版本,并根據(jù)判斷結(jié)果對客戶端的上傳或更新請求進(jìn)行響應(yīng),實現(xiàn)了有效的版本控制,有利于實現(xiàn)數(shù)據(jù)按需管理(Data OnDemand ),提高了柔性測試的效率和可靠性。圖2為本發(fā)明基于 柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法第二實施例的流程圖。如圖2所示,在上述實施例的基礎(chǔ)上,當(dāng)上述操作請求為上傳請求時,客戶端發(fā)送的當(dāng)前測試數(shù)據(jù)版本的版本信息包含當(dāng)前測試數(shù)據(jù)版本的版本號,步驟102可以包括:步驟201、比較當(dāng)前測試數(shù)據(jù)版本的版本號N與版本庫中最新版本信息表中的版本號M的大小,當(dāng)版本號N大于版本號M時,執(zhí)行步驟202,否則,執(zhí)行步驟203 ;步驟202、確定當(dāng)前測試數(shù)據(jù)版本為最新版本;步驟203、確定當(dāng)前測試數(shù)據(jù)版本為非最新版本。在本發(fā)明實施例中,當(dāng)客戶端發(fā)送上傳請求時,服務(wù)器判斷客戶端中的當(dāng)前測試數(shù)據(jù)版本是否為最新版本,即,判斷當(dāng)前測試數(shù)據(jù)版本是否在客戶端中經(jīng)過修改。文件的每個修訂版本會被賦予一個獨一無二的自然數(shù)作為版本號,初始的版本號設(shè)為0,當(dāng)文件被修改后,要在該文件所有修訂版本的版本號中最大的版本號加一,作為其最新的版本號。也就是說,當(dāng)前版本在修改前無論是不是最新版本,其修改后的版本一定是最新版本。服務(wù)器中的版本庫作為核心部分是數(shù)據(jù)的中央倉庫,以典型的文件和目錄結(jié)構(gòu)形式文件系統(tǒng)樹來保存信息。版本庫由實體文件和數(shù)據(jù)庫兩部分組成。實體文件為客戶端每次上傳的不同版本文件,為區(qū)分不同版本上傳的文件,版本庫的文件命名組成可以為:源文件名_上傳用戶名_上傳機(jī)器碼_上傳時間(服務(wù)器上的時間戳為準(zhǔn))。同一文件的不同版本放在同一文件夾下,文件夾的層次結(jié)構(gòu)與客戶端上傳的文件夾層次保持一致。數(shù)據(jù)庫包括最新版本信息表和版本上傳詳細(xì)信息表,主要提供版本相關(guān)信息和對應(yīng)的實體文件路徑信息等。其中,最新版本信息表保存項目組的所有項目成員的最新版本信息,包括最新版本的目錄樹(包含實體文件的路徑)和版本號,以及最新上傳版本的用戶名、上傳機(jī)器、上傳時間、上傳備注等信息。當(dāng)服務(wù)器接收到客戶端發(fā)送的上傳請求時,將其攜帶的當(dāng)前測試數(shù)據(jù)版本的版本號N與最新版本信息表中的版本號M做比較,當(dāng)N>M時,證明當(dāng)前測試數(shù)據(jù)版本已在客戶端做過修訂,為最新版本。進(jìn)一步地,步驟103可以包括:步驟204、在當(dāng)前測試數(shù)據(jù)版本為非最新版本時,向客戶端發(fā)送禁止上傳響應(yīng);步驟205、在當(dāng)前測試數(shù)據(jù)版本為最新版本時,向客戶端發(fā)送上傳許可響應(yīng),并繼續(xù)執(zhí)行步驟206 ;步驟206、接收客戶端上傳的當(dāng)前測試數(shù)據(jù)版本;步驟207、將當(dāng)前測試數(shù)據(jù)版本存儲至版本庫;步驟208、根據(jù)當(dāng)前測試數(shù)據(jù)版本的版本信息更新存儲于版本庫的最新版本信息表;步驟209、根據(jù)當(dāng)前測試數(shù)據(jù)版本的版本信息生成版本上傳詳細(xì)信息表,并存儲于版本庫中。服務(wù)器進(jìn)行上傳核查,若當(dāng)前測試數(shù)據(jù)版本不是最新版本,則禁止上傳,若是最新版本,則允許上傳。當(dāng)客戶端接收到上傳許可響應(yīng)時,向服務(wù)器發(fā)送當(dāng)前測試數(shù)據(jù)版本,并更新本地的條目文件。服務(wù)器將該當(dāng)前測試數(shù)據(jù)版本存儲至版本庫的實體文件中,并將該版本的版本信息更新到版本庫的最新版本信息表中,由于客戶端更多的操作是更新操作(即,下載最新版本的操作),這樣便于更快的檢索最新版本的目錄樹及實體文件所在路徑,提聞下載效率。 服務(wù)器根據(jù)當(dāng)前測試數(shù)據(jù)版本的版本信息生成版本上傳詳細(xì)信息表,并存儲于版本庫中的數(shù)據(jù)庫中。版本上傳詳細(xì)信息表保存上傳文件的相關(guān)信息,包括每次上傳版本的目錄樹和版本號,以及上傳版本的用戶名、上傳時間、上傳標(biāo)注等信息。該表詳細(xì)記錄每次版本的修改信息,用于查看每個項目成員的上傳版本信息,對上傳的版本信息進(jìn)行檢索,以及舊版本的回溯。當(dāng)客戶端上傳文件時,除了將客戶端要上傳的條目文件與數(shù)據(jù)庫中的最新版本信息進(jìn)行比對核查,還可以同上傳臨時列表中其他用戶正在上傳的文件列表進(jìn)行核查,當(dāng)有多個用戶同時上傳時,上傳文件若有包含或交叉關(guān)系,則只允許一個用戶進(jìn)行上傳,其他用戶上傳失敗。本發(fā)明提供的基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法,通過客戶端上傳的版本號判斷客戶端中的當(dāng)前測試數(shù)據(jù)版本是否為最新版本,并根據(jù)判斷結(jié)果對客戶端的上傳請求進(jìn)行響應(yīng),實現(xiàn)了有效的版本控制,提高了柔性測試的效率和可靠性。圖3為本發(fā)明基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法第三實施例的流程圖。如圖3所示,在上述方法第一實施例的基礎(chǔ)上,當(dāng)上述操作請求為更新請求時,客戶端發(fā)送的當(dāng)前測試數(shù)據(jù)版本的版本信息包含當(dāng)前測試數(shù)據(jù)版本的版本號和最終修改時間,步驟102可以包括:步驟301、比較當(dāng)前測試數(shù)據(jù)版本的版本號N與版本庫中最新版本信息表中的版本號M的大小,當(dāng)版本號N大于版本號M時,執(zhí)行步驟303,當(dāng)版本號N小于版本號M時,執(zhí)行步驟304,當(dāng)版本號N等于版本號M時,執(zhí)行步驟302 ;
步驟S302、比較當(dāng)前測試數(shù)據(jù)版本的最終修改時間Tn與版本庫中最新版本信息表中的最終修改時間Tm的大小,當(dāng)最終修改時間Tn等于最終修改時間Tm時,執(zhí)行步驟303,否則,執(zhí)行步驟304 ;步驟303、確定當(dāng)前測試數(shù)據(jù)版本為最新版本;步驟304、確定當(dāng)前測試數(shù)據(jù)版本為非最新版本。進(jìn)一步地,步驟103可以包括:步驟305、在當(dāng)前測試數(shù)據(jù)版本為最新版本時,向客戶端發(fā)送禁止更新響應(yīng);步驟306、在當(dāng)前測試數(shù)據(jù)版本為非最新版本時,向客戶端發(fā)送更新許可響應(yīng),并執(zhí)行步驟307 ;步驟307、向客戶端發(fā)送存儲于版本庫中的最新測試數(shù)據(jù)版本。在本發(fā)明實施例中,當(dāng)客戶端發(fā)送更新請求(S卩,下載最新版本的請求)時,服務(wù)器根據(jù)該更新請求中攜帶的當(dāng)前測試數(shù)據(jù)版本的版本號和最終修改時間判斷其是否為最新版本。當(dāng)N>M時,說明當(dāng)前測試數(shù)據(jù)版本已在客戶端做過修訂,此時不能進(jìn)行更新操作;當(dāng)N〈M時,說明當(dāng)前測試數(shù)據(jù)版本在客戶端未做過修訂,且服務(wù)器中的版本為最新版本,此時可以進(jìn)行更新操作;當(dāng)N=M時,分兩種情況,若Tn=Tm,則說明當(dāng)前測試數(shù)據(jù)版本與服務(wù)器中的最新版本完全一致,是同一版本,也就是說客戶端中的當(dāng)前測試數(shù)據(jù)版本是最新版本,因此不需要進(jìn)行更新操作,若Tnf Tm,則說明當(dāng)前測試數(shù)據(jù)版本已在客戶端中做過修訂,而服務(wù)器中也由其他客戶端上傳了更新的最新版本,此時允許客戶端進(jìn)行更新操作,而客戶端中在當(dāng)前測試數(shù)據(jù)版本做的修訂需要重新在新版本中進(jìn)一步修改。在本發(fā)明實施例中,上傳時不會同時下載最新版本的信息,下載時若本地已經(jīng)修改也不會將已經(jīng)修改的文件上傳,二者是相互獨立的。本發(fā)明提供的基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法,通過客戶端上傳的版本號及最終修改時間來判斷客戶端中的當(dāng)前測試數(shù)據(jù)版本是否為最新版本,并根據(jù)判斷結(jié)果對客戶端的更新請求進(jìn)行響應(yīng),實現(xiàn)了有效的版本控制,提高了柔性測試的效率和可靠性。圖4為本發(fā)明基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法第四實施例的流程圖。如圖4所示,在上述方法實施例的基礎(chǔ)上,本發(fā)明實施例提供的基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法還可以包括:步驟401、接收客戶端發(fā)送的回溯請求,該回溯請求包含待回溯測試數(shù)據(jù)版本的版本號;步驟402、根據(jù)該版本號查找待回溯測試數(shù)據(jù)版本的目錄樹;步驟403、根據(jù)該目錄樹查找上述待回溯測試數(shù)據(jù)版本,并發(fā)送至客戶端。在本發(fā)明實施例中,客戶端發(fā)送回溯請求(B卩,請求下載之前的版本)時,首先訪問版本庫中的數(shù)據(jù)庫,查找對應(yīng)版本的目錄樹(包括對應(yīng)實體文件的路徑),服務(wù)器在發(fā)送實體文件的同時將下載相關(guān)信息發(fā)送至客戶端以更新條目文件。本發(fā)明提供的基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法,客戶端允許一部分文件回溯到過去的某一版本,允許工作拷貝的任何一個部分在歷史中前進(jìn)或后退,實現(xiàn)了有效的版本控制,提 高了柔性測試的效率和可靠性。圖5為本發(fā)明基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制裝置第一實施例的結(jié)構(gòu)示意圖。如圖5所示,本發(fā)明實施例提供了一種基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制裝置,包括:接收模塊51、判斷模塊52和響應(yīng)模塊53。其中,接收模塊51用于接收客戶端發(fā)送的包含條目文件的操作請求,該條目文件包含當(dāng)前測試數(shù)據(jù)版本的版本信息;判斷模塊52用于根據(jù)接收模塊51接收到的版本信息判斷當(dāng)前測試數(shù)據(jù)版本是否為最新版本;響應(yīng)模塊53用于根據(jù)判斷模塊52的判斷結(jié)果對上述操作請求進(jìn)行響應(yīng)。在本發(fā)明實施例中,上述基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制裝置可以為服務(wù)器。當(dāng)客戶端欲進(jìn)行上傳或更新測試數(shù)據(jù)版本的操作時,需要首先向服務(wù)器發(fā)送相應(yīng)的包含條目文件的操作請求,條目文件中包含了當(dāng)前測試數(shù)據(jù)版本的版本信息,該當(dāng)前測試數(shù)據(jù)版本為客戶端中當(dāng)前工作環(huán)境下的測試數(shù)據(jù)版本。條目文件可以是一個XML文檔,包含了關(guān)于工作拷貝中版本化資源的大多數(shù)管理性信息,可以保留文件在版本庫中的URL、原始修訂版本、文件校驗數(shù)據(jù)、可知的最后提交信息(如,作者、修訂版本和時間戳)以及本地拷貝歷史等。無論用戶添加、修改或刪除版本管理的文件夾中的文件,其操作均可寫入條目文件。接收模塊51接收到操作請求后,判斷模塊52根據(jù)其攜帶的版本信息與存儲于服務(wù)器的版本庫中的信息作對比,以判斷上述當(dāng)前測試數(shù)據(jù)版本是否為最新版本。然后,響應(yīng)模塊53根據(jù)判斷結(jié)果以及操作請求的不同類型對操作請求做不同的響應(yīng)。在多人對同一文件進(jìn)行修改時,通過對客戶端中當(dāng)前版本的判斷,以對修改版本進(jìn)行版本控制,確保目標(biāo)文件版本的正確性和修改的有效性。本發(fā)明提供的基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制裝置,通過客戶端上傳的版本信息判斷客戶端中的當(dāng)前測試數(shù)據(jù)版本是否為最新版本,并根據(jù)判斷結(jié)果對客戶端的上傳或更新請求進(jìn)行響應(yīng),實現(xiàn)了有效的版本控制,提高了柔性測試的效率和可靠性。圖6為本發(fā)明基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制裝置第二實施例的結(jié)構(gòu)示意圖。如圖6所示,在上述裝置第一實施例的基礎(chǔ)上,當(dāng)上述操作請求為上傳請求時,接收模塊51接收到的當(dāng)前測試數(shù)據(jù)版本的版本 信息包含當(dāng)前測試數(shù)據(jù)版本的版本號,判斷模塊52可以用于比較當(dāng)前測試數(shù)據(jù)版本的版本號N與版本庫中最新版本信息表中的版本號M的大小,當(dāng)版本號N大于版本號M時,確定當(dāng)前測試數(shù)據(jù)版本為最新版本,否則,確定當(dāng)前測試數(shù)據(jù)版本為非最新版本;在本發(fā)明實施例中,當(dāng)客戶端發(fā)送上傳請求時,判斷模塊52判斷客戶端中的當(dāng)前測試數(shù)據(jù)版本是否為最新版本,即,判斷當(dāng)前測試數(shù)據(jù)版本是否在客戶端中經(jīng)過修改。文件的每個修訂版本會被賦予一個獨一無二的自然數(shù)作為版本號,初始的版本號設(shè)為0,當(dāng)文件被修改后,要在該文件所有修訂版本的版本號中最大的版本號加一,作為其最新的版本號。也就是說,當(dāng)前版本在修改前無論是不是最新版本,其修改后的版本一定是最新版本。服務(wù)器中的版本庫作為核心部分是數(shù)據(jù)的中央倉庫,以典型的文件和目錄結(jié)構(gòu)形式文件系統(tǒng)樹來保存信息。版本庫由實體文件和數(shù)據(jù)庫兩部分組成。實體文件為客戶端每次上傳的不同版本文件,為區(qū)分不同版本上傳的文件,版本庫的文件命名組成可以為:源文件名_上傳用戶名_上傳機(jī)器碼_上傳時間(服務(wù)器上的時間戳為準(zhǔn))。同一文件的不同版本放在同一文件夾下,文件夾的層次結(jié)構(gòu)與客戶端上傳的文件夾層次保持一致。數(shù)據(jù)庫包括最新版本信息表和版本上傳詳細(xì)信息表,主要提供版本相關(guān)信息和對應(yīng)的實體文件路徑信息等。其中,最新版本信息表保存項目組的所有項目成員的最新版本信息,包括最新版本的目錄樹(包含實體文件的路徑)和版本號,以及最新上傳版本的用戶名、上傳機(jī)器、上傳時間、上傳備注等信息。當(dāng)服務(wù)器接收到客戶端發(fā)送的上傳請求時,判斷模塊52將其攜帶的當(dāng)前測試數(shù)據(jù)版本的版本號N與最新版本信息表中的版本號M做比較,當(dāng)N>M時,證明當(dāng)前測試數(shù)據(jù)版本已在客戶端做過修訂,為最新版本。進(jìn)一步地,響應(yīng)模塊53可以包括:發(fā)送單元61、接收單元62、存儲單元63和更新單元64。其中,發(fā)送單元61用于當(dāng)判斷模塊52判斷當(dāng)前測試數(shù)據(jù)版本為非最新版本時,向客戶端發(fā)送禁止上傳響應(yīng);當(dāng)判斷模塊52判斷當(dāng)前測試數(shù)據(jù)版本為最新版本時,向客戶端發(fā)送上傳許可響應(yīng);接收單元62用于接收客戶端上傳的當(dāng)前測試數(shù)據(jù)版本;存儲單元63用于將接收單元62接收到的當(dāng)前述測試數(shù)據(jù)版本存儲至版本庫;更新單元64用于根據(jù)當(dāng)前測試數(shù)據(jù)版本的版本信息更新存儲于版本庫的最新版本信息表,根據(jù)當(dāng)前測試數(shù)據(jù)版本的版本信息生成版本上傳詳細(xì)信息表,并存儲于版本庫中。判斷模塊52進(jìn)行上傳核查,若當(dāng)前測試數(shù)據(jù)版本不是最新版本,則發(fā)送單元61向客戶端發(fā)送禁止上傳響應(yīng),若是最新版本,則發(fā)送單元61向客戶端發(fā)送上傳許可響應(yīng)。當(dāng)客戶端接收到上傳許可響應(yīng)時,向服務(wù)器發(fā)送當(dāng)前測試數(shù)據(jù)版本,并更新本地的條目文件。接收單元62接收到該當(dāng)前測試數(shù)據(jù)版本后,存儲單元63將其存儲至版本庫的實體文件中,更新單元64將該版本的版本信息更新到版本庫的最新版本信息表中,由于客戶端更多的操作是更新操作(即,下載最新版本的操作),這樣便于更快的檢索最新版本的目錄樹及實體文件所在路徑,提高下載效率。更新單元64還根據(jù)當(dāng)前測試數(shù)據(jù)版本的版本信息生成版本上傳詳細(xì)信息表,并存儲于版本庫中的數(shù)據(jù)庫中。版本上傳詳細(xì)信息表保存上傳文件的相關(guān)信息,包括每次上傳版本的目錄樹和版本號,以及上傳版本的用戶名、上傳時間、上傳標(biāo)注等信息。該表詳細(xì)記錄每次版本的修改信息,用于查看每個項目成員的上傳版本信息,對上傳的版本信息進(jìn)行檢索,以及舊版本的回溯。當(dāng)客戶端上傳文件時,除了將客戶端要上傳的條目文件與數(shù)據(jù)庫中的最新版本信息進(jìn)行比對核查,還可以·同上傳臨時列表中其他用戶正在上傳的文件列表進(jìn)行核查,當(dāng)有多個用戶同時上傳時,上傳文件若有包含或交叉關(guān)系,則只允許一個用戶進(jìn)行上傳,其他用戶上傳失敗。本發(fā)明提供的基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制裝置,通過客戶端上傳的版本號判斷客戶端中的當(dāng)前測試數(shù)據(jù)版本是否為最新版本,并根據(jù)判斷結(jié)果對客戶端的上傳請求進(jìn)行響應(yīng),實現(xiàn)了有效的版本控制,提高了柔性測試的效率和可靠性。圖7為本發(fā)明基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制裝置第三實施例的結(jié)構(gòu)示意圖。如圖7所示,在上述裝置第一實施例的基礎(chǔ)上,當(dāng)上述操作請求為更新請求時,接收模塊51接收到的當(dāng)前測試數(shù)據(jù)版本的版本信息包含當(dāng)前測試數(shù)據(jù)版本的版本號和最終修改時間,判斷模塊52可以包括:第一比較單元71和第二比較單元72。其中,第一比較單元71用于比較當(dāng)前測試數(shù)據(jù)版本的版本號N與版本庫中最新版本信息表中的版本號M的大小,當(dāng)版本號N大于版本號M時,確定當(dāng)前測試數(shù)據(jù)版本為最新版本,當(dāng)版本號N小于版本號M時,確定當(dāng)前測試數(shù)據(jù)版本為非最新版本;第二比較單元,用于當(dāng)版本號N等于版本號M時,比較當(dāng)前測試數(shù)據(jù)版本的最終修改時間Tn與版本庫中最新版本信息表中的最終修改時間Tm的大小,當(dāng)最終修改時間Tn等于最終修改時間Tm時,確定當(dāng)前測試數(shù)據(jù)版本為最新版本,否則,確定當(dāng)前測試數(shù)據(jù)版本為非最新版本。進(jìn)一步地,響應(yīng)模塊53可以用于當(dāng)判斷模塊52判斷當(dāng)前測試數(shù)據(jù)版本為最新版本時,向客戶端發(fā)送禁止更新響應(yīng);當(dāng)判斷模塊52判斷當(dāng)前測試數(shù)據(jù)版本為非最新版本時,向客戶端發(fā)送更新許可響應(yīng),并向客戶端發(fā)送存儲于版本庫中的最新測試數(shù)據(jù)版本。在本發(fā)明實施例中,當(dāng)客戶端發(fā)送更新請求(S卩,下載最新版本的請求)時,判斷模塊52根據(jù)該更新請求中攜帶的當(dāng)前測試數(shù)據(jù)版本的版本號和最終修改時間判斷其是否為最新版本。第一比較單元71對N和M的大小進(jìn)行比較,當(dāng)N>M時,說明當(dāng)前測試數(shù)據(jù)版本已在客戶端做過修訂,此時不能進(jìn)行更新操作;當(dāng)N〈M時,說明當(dāng)前測試數(shù)據(jù)版本在客戶端未做過修訂,且服務(wù)器中的版本為最新版本,此時可以進(jìn)行更新操作;當(dāng)N=M時,第二比較單元72對Tn和Tm的大小進(jìn)行比較,分兩種情況,若Tn=Tm,則說明當(dāng)前測試數(shù)據(jù)版本與服務(wù)器中的最新版本完全一致,是同一版本,也就是說客戶端中的當(dāng)前測試數(shù)據(jù)版本是最新版本,因此不需要進(jìn)行更新操作,響應(yīng)模塊53發(fā)送更新許可響應(yīng);若Tn Φ Tm,則說明當(dāng)前測試數(shù)據(jù)版本已在客戶端中做過修訂,而服務(wù)器中也由其他客戶端上傳了更新的最新版本,此時響應(yīng)模塊53發(fā)送更新許可響應(yīng),允許客戶端進(jìn)行更新操作,而客戶端中在當(dāng)前測試數(shù)據(jù)版本做的修訂需要重新在新版本中進(jìn)一步修改。
在本發(fā)明實施例中,上傳時不會同時下載最新版本的信息,下載時若本地已經(jīng)修改也不會將已經(jīng)修改的文件上傳,二者是相互獨立的。
本發(fā)明提供的基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制裝置,通過客戶端上傳的版本號及最終修改時間來判斷客戶端中的當(dāng)前測試數(shù)據(jù)版本是否為最新版本,并根據(jù)判斷結(jié)果對客戶端的更新請求進(jìn)行響應(yīng),實現(xiàn)了有效的版本控制,提高了柔性測試的效率和可靠性。圖8為本發(fā)明基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制系統(tǒng)實施例的系統(tǒng)框圖。如圖8所示,本發(fā)明實施例提供了一種基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制系統(tǒng),包括:客戶端81和服務(wù)器82,服務(wù)器82為上述裝置實施例中的基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制裝置,客戶端81與服務(wù)器82通過互聯(lián)網(wǎng)傳輸數(shù)據(jù)。當(dāng)客戶端81向服務(wù)器82發(fā)送包含條目文件的操作請求時,服務(wù)器82接收該操作請求,根據(jù)條目文件中包含的當(dāng)前測試數(shù)據(jù)版本的版本信息判斷當(dāng)前測試數(shù)據(jù)版本是否為最新版本,并根據(jù)判斷結(jié)果對上述操作請求進(jìn)行響應(yīng)。本系統(tǒng)實施例中服務(wù)器82的功能如上述裝置實施例中的具體描述,在此不再贅述。本發(fā)明提供的基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制系統(tǒng),通過客戶端上傳的版本信息判斷客戶端中的當(dāng)前測試數(shù)據(jù)版本是否為最新版本,并根據(jù)判斷結(jié)果對客戶端的上傳或更新請求進(jìn)行響應(yīng),實現(xiàn)了有效的版本控制,提高了柔性測試的效率和可靠性。在本發(fā)明上述各實施例中,實施例的序號僅僅便于描述,不代表實施例的優(yōu)劣。對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:只讀存儲器(Read-Only Memory,簡稱 ROM)、隨機(jī)存取存儲器(Random Access Memory,簡稱 RAM)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。在本發(fā)明的裝置和方法等實施例中,顯然,各部件或各步驟是可以分解、組合和/或分解后重新組合的。這些分解和/或重新組合應(yīng)視為本發(fā)明的等效方案。同時,在上面對本發(fā)明具體實施例的描述中,針對一種實施方式描述和/或示出的特征可以以相同或類似的方式在一個或更多個其它實施方式中使用,與其它實施方式中的特征相組合,或替代其它實施方式中的特征。應(yīng)該強(qiáng)調(diào),術(shù)語“包括/包含”在本文使用時指特征、要素、步驟或組件的存在,但并不排除一個或更多個其它特征、要素、步驟或組件的存在或附加。最后應(yīng)說明的是:雖然以上已經(jīng)詳細(xì)說明了本發(fā)明及其優(yōu)點,但是應(yīng)當(dāng)理解在不超出由所附的權(quán)利要求所限定的本發(fā)明的精神和范圍的情況下可以進(jìn)行各種改變、替代和變換。而且,本發(fā)明的范圍不僅 限于說明書所描述的過程、設(shè)備、手段、方法和步驟的具體實施例。本領(lǐng)域內(nèi)的普通技術(shù)人員從本發(fā)明的公開內(nèi)容將容易理解,根據(jù)本發(fā)明可以使用執(zhí)行與在此所述的相應(yīng)實施例基本相同的功能或者獲得與其基本相同的結(jié)果的、現(xiàn)有和將來要被開發(fā)的過程、設(shè)備、手段、方法或者步驟。因此,所附的權(quán)利要求旨在在它們的范圍內(nèi)包括這樣的過程、設(shè)備、手段、方法或者步驟。
權(quán)利要求
1.一種基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法,其特征在于,包括: 接收客戶端發(fā)送的包含條目文件的操作請求,所述條目文件包含當(dāng)前測試數(shù)據(jù)版本的版本信息; 根據(jù)所述版本信息判斷所述當(dāng)前測試數(shù)據(jù)版本是否為最新版本; 根據(jù)判斷結(jié)果對所述操作請求進(jìn)行響應(yīng)。
2.根據(jù)權(quán)利要求1所述的基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法,其特征在于,所述操作請求為上傳請求,所述當(dāng)前測試數(shù)據(jù)版本的版本信息包含所述當(dāng)前測試數(shù)據(jù)版本的版本號;所述根據(jù)所述版本信息判斷所述當(dāng)前測試數(shù)據(jù)版本是否為最新版本包括: 比較所述當(dāng)前測試數(shù)據(jù)版本的版本號N與版本庫中最新版本信息表中的版本號M的大小,當(dāng)所述版本號N大于所述版本號M時,確定所述當(dāng)前測試數(shù)據(jù)版本為最新版本,否則,確定所述當(dāng)前測試數(shù)據(jù)版本為非最新版本。
3.根據(jù)權(quán)利要求2所述的基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法,其特征在于,所述根據(jù)判斷結(jié)果對所述操作請求進(jìn)行響應(yīng)包括: 當(dāng)所述當(dāng)前測試數(shù)據(jù)版本為非最新版本時,向所述客戶端發(fā)送禁止上傳響應(yīng);和/或, 當(dāng)所述當(dāng)前測試數(shù)據(jù)版本為最新版本時,向所述客戶端發(fā)送上傳許可響應(yīng),接收所述客戶端上傳的所述當(dāng)前測試數(shù)據(jù)版本;將所述當(dāng)前測試數(shù)據(jù)版本存儲至所述版本庫;根據(jù)所述當(dāng)前測試數(shù)據(jù)版本的版本信息更新存儲于所述版本庫的最新版本信息表;根據(jù)所述當(dāng)前測試數(shù)據(jù)版本的版本信息生成版本上傳詳細(xì)信息表,并存儲于所述版本庫中。
4.根據(jù)權(quán)利要求1所述的基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法,其特征在于,所述操作請求為更新請求,所述當(dāng)前測試數(shù)據(jù)版本的版本信息包含所述當(dāng)前測試數(shù)據(jù)版本的版本號和最終修改時 間;所述根據(jù)所述版本信息判斷所述當(dāng)前測試數(shù)據(jù)版本是否為最新版本包括: 比較所述當(dāng)前測試數(shù)據(jù)版本的版本號N與版本庫中最新版本信息表中的版本號M的大小,當(dāng)所述版本號N大于所述版本號M時,確定所述當(dāng)前測試數(shù)據(jù)版本為最新版本,當(dāng)所述版本號N小于所述版本號M時,確定所述當(dāng)前測試數(shù)據(jù)版本為非最新版本,當(dāng)所述版本號N等于所述版本號M時,執(zhí)行以下步驟: 比較所述當(dāng)前測試數(shù)據(jù)版本的最終修改時間Tn與所述版本庫中最新版本信息表中的最終修改時間Tm的大小,當(dāng)所述最終修改時間Tn等于所述最終修改時間Tm時,確定所述當(dāng)前測試數(shù)據(jù)版本為最新版本,否則,確定所述當(dāng)前測試數(shù)據(jù)版本為非最新版本。
5.根據(jù)權(quán)利要求4所述的基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法,其特征在于,所述根據(jù)判斷結(jié)果對所述操作請求進(jìn)行響應(yīng)包括: 當(dāng)所述當(dāng)前測試數(shù)據(jù)版本為最新版本時,向所述客戶端發(fā)送禁止更新響應(yīng); 當(dāng)所述當(dāng)前測試數(shù)據(jù)版本為非最新版本時,向所述客戶端發(fā)送更新許可響應(yīng),并向所述客戶端發(fā)送存儲于所述版本庫中的最新測試數(shù)據(jù)版本。
6.根據(jù)權(quán)利要求1至5中任一所述的基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法,其特征在于,還包括: 接收客戶端發(fā)送的回溯請求,所述回溯請求包含待回溯測試數(shù)據(jù)版本的版本號; 根據(jù)所述版本號查找所述待回溯測試數(shù)據(jù)版本的目錄樹; 根據(jù)所述目錄樹查找所述待回溯測試數(shù)據(jù)版本,并發(fā)送至所述客戶端。
7.一種基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制裝置,其特征在于,包括: 接收模塊,用于接收客戶端發(fā)送的包含條目文件的操作請求,所述條目文件包含當(dāng)前測試數(shù)據(jù)版本的版本信息; 判斷模塊,用于根據(jù)所述接收模塊接收到的所述版本信息判斷所述當(dāng)前測試數(shù)據(jù)版本是否為最新版本; 響應(yīng)模塊,用于根據(jù)所述判斷模塊的判斷結(jié)果對所述操作請求進(jìn)行響應(yīng)。
8.根據(jù)權(quán)利要求7所述的基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制裝置,其特征在于,所述操作請求為上傳請求,所述當(dāng)前測試數(shù)據(jù)版本的版本信息包含所述當(dāng)前測試數(shù)據(jù)版本的版本號, 所述判斷模塊用于比較所述當(dāng)前測試數(shù)據(jù)版本的版本號N與版本庫中最新版本信息表中的版本號M的大小,當(dāng)所述版本號N大于所述版本號M時,確定所述當(dāng)前測試數(shù)據(jù)版本為最新版本,否則,確定所述當(dāng)前測試數(shù)據(jù)版本為非最新版本; 所述響應(yīng)模塊包括: 發(fā)送單元,用于當(dāng)所述判斷模塊判斷所述當(dāng)前測試數(shù)據(jù)版本為非最新版本時,向所述客戶端發(fā)送禁止上傳響應(yīng);當(dāng)所述判斷模塊判斷所述當(dāng)前測試數(shù)據(jù)版本為最新版本時,向所述客戶端發(fā)送上傳許可響應(yīng); 接收單元,用于接收所述客戶端上傳的所述當(dāng)前測試數(shù)據(jù)版本; 存儲單元,用于將所述接收單元接收到的所述當(dāng)前述測試數(shù)據(jù)版本存儲至所述版本庫; 更新單元,用于根據(jù)所述當(dāng)前測試數(shù)據(jù)版本的版本信息更新存儲于所述版本庫的最新版本信息表;根據(jù)所述當(dāng)前測試數(shù)據(jù)版本的版本信息生成版本上傳詳細(xì)信息表,并存儲于所述版本庫中。
9.根據(jù)權(quán)利要求7所述的基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制裝置,其特征在于,所述操作請求為更新請求,所述當(dāng)前測試數(shù)據(jù)版本的版本信息包含所述當(dāng)前測試數(shù)據(jù)版本的版本號和最終修改時間, 所述判斷模塊包括: 第一比較單元,用于比較所述當(dāng)前測試數(shù)據(jù)版本的版本號N與版本庫中最新版本信息表中的版本號M的大小,當(dāng)所述版本號N大于所述版本號M時,確定所述當(dāng)前測試數(shù)據(jù)版本為最新版本,當(dāng)所述版本號N小于所述版本號M時,確定所述當(dāng)前測試數(shù)據(jù)版本為非最新版本; 第二比較單元,用于當(dāng)所述版本號N等于所述版本號M時,比較所述當(dāng)前測試數(shù)據(jù)版本的最終修改時間Tn與所述版本庫中最新版本信息表中的最終修改時間Tm的大小,當(dāng)所述最終修改時間Tn等于所述最終修改時間Tm時,確定所述當(dāng)前測試數(shù)據(jù)版本為最新版本,否貝U,確定所述當(dāng)前測試數(shù)據(jù)版本為非最新版本; 所述響應(yīng)模塊用于當(dāng)所述判斷模塊判斷所述當(dāng)前測試數(shù)據(jù)版本為最新版本時,向所述客戶端發(fā)送禁止更新響應(yīng);當(dāng)所述判斷模塊判斷所述當(dāng)前測試數(shù)據(jù)版本為非最新版本時,向所述客戶端發(fā)送更新許可響應(yīng),并向所述客戶端發(fā)送存儲于所述版本庫中的最新測試數(shù)據(jù)版本。
10.一種基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制系統(tǒng),其特征在于,包括:客戶端和服務(wù)器,所述服務(wù)器為上述權(quán)利要求7至9中任一所述的基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制裝置,所述客戶端與所 述服務(wù)器通過互聯(lián)網(wǎng)傳輸數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種基于柔性測試技術(shù)的測試數(shù)據(jù)版本控制方法、裝置及系統(tǒng)。該方法包括接收客戶端發(fā)送的包含條目文件的操作請求,所述條目文件包含當(dāng)前測試數(shù)據(jù)版本的版本信息;根據(jù)所述版本信息判斷所述當(dāng)前測試數(shù)據(jù)版本是否為最新版本;根據(jù)判斷結(jié)果對所述操作請求進(jìn)行響應(yīng)。該裝置包括接收模塊、判斷模塊和響應(yīng)模塊。該系統(tǒng)包括客戶端和服務(wù)器。本發(fā)明通過客戶端上傳的版本信息判斷客戶端中的當(dāng)前測試數(shù)據(jù)版本是否為最新版本,并根據(jù)判斷結(jié)果對客戶端的上傳或更新請求進(jìn)行響應(yīng),實現(xiàn)了有效的版本控制,提高了柔性測試的效率和可靠性。
文檔編號H04L12/26GK103248524SQ201310169388
公開日2013年8月14日 申請日期2013年5月9日 優(yōu)先權(quán)日2013年5月9日
發(fā)明者左毅, 高向東, 顧飛, 宮晨 申請人:北京泛華恒興科技有限公司