本發(fā)明是關(guān)于計算機(jī)IT系統(tǒng)的測試領(lǐng)域,具體地,是關(guān)于一種快速恢復(fù)測試的方法及系統(tǒng)。
背景技術(shù):
:在IT系統(tǒng)的建設(shè)及運維過程中,經(jīng)常需要對系統(tǒng)進(jìn)行各種測試,來驗證業(yè)務(wù)可用或影響性、系統(tǒng)可靠性、高可用性等目標(biāo)。在測試過程中,耗時較大的往往是測試的準(zhǔn)備階段,如果有不可預(yù)知的影響,經(jīng)常會需要重復(fù)測試,傳統(tǒng)自動化測試關(guān)注的往往是測試實施階段,而測試準(zhǔn)備階段未能有高效、可靠、適用的技術(shù)手段。目前在IT系統(tǒng),尤其是實時交易系統(tǒng)的測試中,最大的困難不在于測試過程,而在于如何保證數(shù)據(jù)及環(huán)境的有效性,如交易系統(tǒng)的測試,所需的初始數(shù)據(jù)往往和交易體量、交易覆蓋度成正比,越是需要高效、逼真的測試,數(shù)據(jù)量的準(zhǔn)備需求和工作量就越大,以銀行卡刷卡交易測試為例,500萬筆交易所需的初始數(shù)據(jù)量為5000萬條數(shù)據(jù)庫記錄,在測試準(zhǔn)備階段,光是數(shù)據(jù)導(dǎo)入就需4個小時的時間。測試環(huán)境本身的不可控則為測試帶來了測試結(jié)果不可靠的風(fēng)險和反復(fù)測試的需求?,F(xiàn)有測試控制及技術(shù)中,很少能有將兩者聯(lián)合控制,在測試環(huán)境可控的基礎(chǔ)下,實現(xiàn)測試數(shù)據(jù)的快速恢復(fù),從而保證測試質(zhì)量,提高測試效率。技術(shù)實現(xiàn)要素:本發(fā)明實施例的主要目的在于提供一種快速恢復(fù)測試的方法及系統(tǒng),以在測試環(huán)境可控的基礎(chǔ)下,實現(xiàn)測試數(shù)據(jù)的快速恢復(fù),從而提高測試效率,可實現(xiàn)快速、高效的反復(fù)測試。為了實現(xiàn)上述目的,本發(fā)明實施例提供一種快速恢復(fù)測試的方法,所述的方法包括:在資源池中新建一對應(yīng)于測試主機(jī)的第一資源備份機(jī),所述第一資源備份機(jī)中記錄有所述測試主機(jī)的配置信息;在所述第一資源備份機(jī)中對測試數(shù)據(jù)進(jìn)行備份,生成測試數(shù)據(jù)備份文件;根據(jù)用戶的指令,根據(jù)所述測試數(shù)據(jù)備份文件,對所述的測試主機(jī)進(jìn)行恢復(fù)。在一實施例中,在資源池中新建一對應(yīng)于測試主機(jī)的第一資源備份機(jī)之后,所述的方法還包括:在所述第一資源備份機(jī)中記錄所述測試主機(jī)的配置信息。在一實施例中,根據(jù)所述測試數(shù)據(jù)備份文件,對所述的測試主機(jī)進(jìn)行恢復(fù),具體包括:在所述資源池中新建一對應(yīng)于所述測試主機(jī)的第二資源備份機(jī);將所述第二資源備份機(jī)的配置信息配置為所述測試主機(jī)的配置信息;用所述第二資源備份機(jī)替換所述的測試主機(jī)。在一實施例中,上述的根據(jù)所述測試數(shù)據(jù)備份文件,對所述的測試主機(jī)進(jìn)行恢復(fù),具體包括:在所述資源池中新建一對應(yīng)于所述測試主機(jī)的第三資源備份機(jī);將所述測試數(shù)據(jù)備份文件恢復(fù)至所述的第三資源備份機(jī)中;用所述第三資源備份機(jī)替換所述的測試主機(jī)。在一實施例中,上述的根據(jù)所述測試數(shù)據(jù)備份文件,對所述的測試主機(jī)進(jìn)行恢復(fù),具體包括:根據(jù)所述測試數(shù)據(jù)備份文件在外置存儲資源中生成存儲鏡像;將所述測試數(shù)據(jù)所在卷組卸卷,掛載所述的存儲鏡像,以替換所述的測試數(shù)據(jù)。本發(fā)明實施例還提供一種快速恢復(fù)測試的系統(tǒng),所述的系統(tǒng)包括:第一資源新建單元,用于在資源池中新建一對應(yīng)于測試主機(jī)的第一資源備份機(jī),所述第一資源備份機(jī)中記錄有所述測試主機(jī)的配置信息;第一備份單元,用于在所述第一資源備份機(jī)中對測試數(shù)據(jù)進(jìn)行備份,生成測試數(shù)據(jù)備份文件;第一恢復(fù)單元,用于根據(jù)用戶的指令,根據(jù)所述測試數(shù)據(jù)備份文件,對所述的測試主機(jī)進(jìn)行恢復(fù)。在一實施例中,上述的第一資源新建單元還用于:在所述第一資源備份機(jī)中記錄所述測試主機(jī)的配置信息。在一實施例中,上述的第一恢復(fù)單元具體用于:接收用戶的指令,在所述資源池中新建一對應(yīng)于所述測試主機(jī)的第二資源備份機(jī);將所述第二資源備份機(jī)的配置信息配置為所述測試主機(jī)的配置信息;用所述第二資源備份機(jī)替換所述的測試主機(jī)。在一實施例中,上述的第一恢復(fù)單元具體用于:接收用戶的指令,在所述資源池中新建一對應(yīng)于所述測試主機(jī)的第三資源備份機(jī);將所述測試數(shù)據(jù)備份文件恢復(fù)至所述的第三資源備份機(jī)中;用所述第三資源備份機(jī)替換所述的測試主機(jī)。在一實施例中,上述的第一恢復(fù)單元具體用于:根據(jù)所述測試數(shù)據(jù)備份文件在外置存儲資源中生成存儲鏡像;將所述測試數(shù)據(jù)所在卷組卸卷,掛載所述的存儲鏡像,以替換所述的測試數(shù)據(jù)。本發(fā)明實施例的有益效果在于,不同的數(shù)據(jù)類型(靜態(tài)、動態(tài))和不同的數(shù)據(jù)內(nèi)容(文件、目錄、數(shù)據(jù)庫、表)、不同的資源容量,決定了不同的備份和恢復(fù)、復(fù)原方法,本發(fā)明實施例提供了滿足不同需求和環(huán)境條件下的快速復(fù)原方法,為快速/反復(fù)/高效測試提供了可能行,整合數(shù)據(jù)和資源的差異性,并統(tǒng)一管理,通過SSH客戶端、NFS和不同的腳本實現(xiàn)跨系統(tǒng)、跨硬件、跨軟件的整合。附圖說明為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為根據(jù)本發(fā)明實施例的快速恢復(fù)測試的方法的流程圖;圖2為根據(jù)本發(fā)明實施例的數(shù)據(jù)管理模塊20的結(jié)構(gòu)示意圖;圖3為根據(jù)本發(fā)明實施例的資源管理模塊30的結(jié)構(gòu)示意圖;圖4為根據(jù)本發(fā)明實施例的數(shù)據(jù)管理模塊20執(zhí)行本發(fā)明實施例的快速恢復(fù)測試的方法的流程圖;圖5為交易系統(tǒng)執(zhí)行傳統(tǒng)測試過程的各步驟耗時統(tǒng)計示意圖;圖6為根據(jù)本發(fā)明實施例的快速恢復(fù)測試的系統(tǒng)的結(jié)構(gòu)示意圖。具體實施方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實施例提供一種快速恢復(fù)測試的方法及系統(tǒng)。以下結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)說明。本發(fā)明實施例提供一種快速恢復(fù)測試的方法,如圖1所示,該快速恢復(fù)測試的方法主要包括以下步驟:步驟S101:在資源池中新建一對應(yīng)于測試主機(jī)的第一資源備份機(jī);步驟S102:在第一資源備份機(jī)中對測試數(shù)據(jù)進(jìn)行備份,生成測試數(shù)據(jù)備份文件;步驟S103:根據(jù)用戶的指令,根據(jù)測試數(shù)據(jù)備份文件,對測試主機(jī)進(jìn)行恢復(fù)。通過上述的步驟S101至步驟S103,本發(fā)明實施例的快速恢復(fù)測試的方法能夠?qū)⑻幱跍y試環(huán)境的主機(jī)、數(shù)據(jù)庫、配置屬性等信息作為一個整體進(jìn)行備份,以便在后續(xù)過程中快速恢復(fù)原始的測試環(huán)境,從而方便快捷地進(jìn)入到下一個測試過程中。以下結(jié)合具體示例對本發(fā)明實施例的快速恢復(fù)測試的方法中的各個步驟進(jìn)行具體說明。上述的步驟S101,在資源池中新建一對應(yīng)于測試主機(jī)的第一資源備份機(jī)。搭建測試的初始環(huán)境和數(shù)據(jù)準(zhǔn)備,確認(rèn)環(huán)境條件具備后(在未發(fā)起實際測試過程前),進(jìn)行數(shù)據(jù)分類分析,制定不同的策略,并進(jìn)行統(tǒng)一管理。本發(fā)明實施例中,可以是采用PHP搭建B/S架構(gòu),采用MVC模型,提供頁面進(jìn)行策略主體、資源的錄入、更新、刪除管理。本實施例中提供的策略模型主要屬性信息如表1所示。表1針對測試系統(tǒng)本身,可組合不同的策略主體進(jìn)行搭配,例如交易仿真測試系統(tǒng),其包含的策略主體為主機(jī)1(key=1)、主機(jī)2(key=2)、數(shù)據(jù)庫1(key=3)、數(shù)據(jù)庫2(key=4)等。在具體實施時,可根據(jù)測試環(huán)境的不同,將測試過程中所需使用的測試主機(jī)、該測試主機(jī)的屬性信息(編號、IP、參數(shù)等)以及測試所針對的測試數(shù)據(jù),構(gòu)建為策略主體。針對上述的測試主機(jī),在資源池中新建一對應(yīng)于測試主機(jī)的第一資源備份機(jī)。其中,該第一資源備份機(jī)是為后續(xù)多個資源備份、恢復(fù)過程提供所需的備份基準(zhǔn)文件,為了實現(xiàn)反復(fù)恢復(fù),必須要保留一個基準(zhǔn)的備份文件,而不將第一資源備份機(jī)直接恢復(fù)到測試主機(jī)。需要說明的是,在此實施例中,是以該新建的資源對應(yīng)的是測試主機(jī)進(jìn)行說明的。但在實際應(yīng)用當(dāng)中,在資源池中新建的資源還可以是數(shù)據(jù)文件、主機(jī)服務(wù)器、數(shù)據(jù)庫等,可根據(jù)資源的實際使用環(huán)境而定,本發(fā)明并不以此為限。在一實施例中,上述的第一資源備份機(jī)中記錄有測試主機(jī)的配置信息,該配置信息包括測試主機(jī)的編號、IP地址、參數(shù)等。上述的步驟S102,在第一資源備份機(jī)中將測試數(shù)據(jù)進(jìn)行備份,生成測試數(shù)據(jù)備份文件。針對上述的策略主體中不同類型的數(shù)據(jù),有不同的備份方案,由不同的腳本實現(xiàn),在錄入策略主體時進(jìn)行選擇,根據(jù)其策略主體中錄入的配置,可生成不同的策略載體。在實際應(yīng)用中,對應(yīng)每個策略主體有其唯一的備份方法,可編寫相應(yīng)的備份腳本執(zhí)行備份操作。例如:針對數(shù)據(jù)庫,表級別,一般為單表或多表的備份,腳本為通用腳本,參數(shù)為表名集合;針對數(shù)據(jù)庫,庫級別,一般為數(shù)據(jù)庫整庫鏡像備份,如db2的backup,參數(shù)為數(shù)據(jù)庫名和訪問用戶、密碼等;針對文件系統(tǒng),一般為tar包或gzip包,腳本為通用腳本,參數(shù)為全路徑文件目錄列表。其中,策略載體主要用于存放策略主體的備份,根據(jù)不同的策略主體,可以是表備份、文件備份、數(shù)據(jù)庫備份等。需要說明的是,同一數(shù)據(jù)或環(huán)境主體(如測試主機(jī))可以配置為不同的幾個策略主體,來適應(yīng)不同的備份和恢復(fù)需求。例如,如聯(lián)機(jī)庫可配置策略一為表備份,則需生成一份全庫表導(dǎo)出備份,作為策略載體,放置在資源池中(包括ip、路徑等要素)。同樣,聯(lián)機(jī)庫也可配置策略二為整庫備份,則需生成一份db2backup的數(shù)據(jù)庫備份鏡像,作為策略載體,放置在資源池中。在具體實施中,是通過在資源池中進(jìn)行資源分配,將該資源作為上述的策略載體,存儲策略主體中的數(shù)據(jù)庫備份文件,由上文內(nèi)容可知,此實施例中所述的數(shù)據(jù)庫備份文件僅為測試數(shù)據(jù)中的一種,本發(fā)明并不以此為限。資源本身可以是數(shù)據(jù)文件、主機(jī)服務(wù)器、數(shù)據(jù)庫等。資源本身需與策略主體建立映射關(guān)系,其映射關(guān)系為1策略主體:N資源,即一個策略主體可以對應(yīng)多個資源。這里需要說明的是,資源也可以是策略主體本身。然后在對應(yīng)于上述的策略主體的資源中,對策略主體中的數(shù)據(jù)庫文件進(jìn)行備份,生成數(shù)據(jù)庫備份文件。上述的步驟S103,根據(jù)用戶的指令,根據(jù)測試數(shù)據(jù)備份文件,對測試主機(jī)進(jìn)行恢復(fù)。在完成測試原始數(shù)據(jù)的備份后,可根據(jù)用戶的指令或是操作,觸發(fā)測試原始數(shù)據(jù)的恢復(fù)操作,根據(jù)上述步驟S102中生成的數(shù)據(jù)庫備份文件恢復(fù)該測試主機(jī)。具體地,可以是在資源池中新建一對應(yīng)于該測試主機(jī)的第二資源備份機(jī);將該第二資源備份機(jī)的配置信息配置為該測試主機(jī)的配置信息,用第二資源備份機(jī)替換該測試主機(jī),從而實現(xiàn)快速有效地恢復(fù)原始測試環(huán)境及測試數(shù)據(jù),便于開啟再一次的測試過程。不同類型的數(shù)據(jù)其恢復(fù)方法不同,例如針對數(shù)據(jù)庫,表級別,一般恢復(fù)方法為整表導(dǎo)入,恢復(fù)腳本為通用腳本,參數(shù)為庫名,表名;針對數(shù)據(jù)庫,庫級別,一般恢復(fù)方法為整庫恢復(fù),恢復(fù)腳本為通用腳本,參數(shù)為庫名,用戶名,密碼;針對文件系統(tǒng),一般為tar包或gzip包,腳本為通用腳本,參數(shù)為tar包名,主機(jī)用戶、密碼等。在一實施例中,上述步驟S103還可主要通過以下各步驟實現(xiàn):在資源池中新建一對應(yīng)于測試主機(jī)的第三資源備份機(jī);將測試數(shù)據(jù)備份文件恢復(fù)至第三資源備份機(jī)中;用該第三資源備份機(jī)替換上述的測試主機(jī)。在此實施例中,主要是針對有多余的主機(jī)和數(shù)據(jù)庫資源的情況下,在資源池中新建一第三資源備份機(jī),并將第一備份單元備份的測試數(shù)據(jù)備份文件恢復(fù)至第三資源備份機(jī)中;然后,將測試主機(jī)替換為該第三資源備份機(jī)。在另一實施例中,上述步驟S103還可主要通過以下各步驟實現(xiàn):根據(jù)測試數(shù)據(jù)備份文件在外置存儲資源中生成存儲鏡像;將測試數(shù)據(jù)所在卷組卸卷,掛載存儲鏡像,以替換測試數(shù)據(jù)。在此實施例中,主要是針對具有多余的存儲資源(外置盤存儲資源)的情況下,根據(jù)測試數(shù)據(jù)備份文件在外置存儲資源中生成存儲鏡像(例如HP公司的B/C卷同步或存儲快照技術(shù)生成原數(shù)據(jù)庫的快照卷),然后,將原測試數(shù)據(jù)所在卷組卸卷,掛載上述的存儲鏡像,以替換原測試數(shù)據(jù)。在實際應(yīng)用中,上述的快速恢復(fù)測試的方法可應(yīng)用于如圖2所示的數(shù)據(jù)管理模塊20中。數(shù)據(jù)管理模塊20主要工作流程如下:策略管理模塊201負(fù)責(zé)完成策略的錄入、刪除、更新,在策略校驗?zāi)K202中,可以對現(xiàn)有的策略進(jìn)行校驗,以便完成后續(xù)命令的組裝,保證命令的有效性。命令管理模塊203可以將測試系統(tǒng)的各種需求,生成指令,通過命令發(fā)送模塊204發(fā)送至如圖3所示的資源管理模塊30進(jìn)行測試數(shù)據(jù)的備份、恢復(fù)、及環(huán)境復(fù)原。某個策略主體對應(yīng)一個測試數(shù)據(jù)或者環(huán)境主體,并設(shè)置相關(guān)屬性。如圖3所示,資源管理模塊30用以對測試環(huán)境中的資源進(jìn)行操作。資源管理模塊工作流如下:資源管理模塊30的命令接收模塊301可以接收數(shù)據(jù)管理模塊20發(fā)送來的命令,并轉(zhuǎn)發(fā)至SSH客戶端302,SSH客戶端302獲取命令中的IP地址、執(zhí)行用戶、密碼、路徑及腳本名稱、參數(shù)信息等,到資源主機(jī)執(zhí)行相關(guān)腳本,完成所需操作。在一較佳實施例中,數(shù)據(jù)管理模塊20執(zhí)行本發(fā)明實施例的快速恢復(fù)測試的方法的具體實現(xiàn)過程如圖4所示。在此實施例中,是執(zhí)行銀行卡刷卡仿真交易測試,其聯(lián)機(jī)庫在測試前后變化很大,同時也是測試分析的主要對象,則定為動態(tài)數(shù)據(jù),其需求主要是測試前的快速恢復(fù)(初始狀態(tài))。首先構(gòu)件策略主體,并在數(shù)據(jù)管理模塊20中錄入策略主體的相應(yīng)的信息,例如表2所示。表2名稱cupa-pit-paonldb-0編號(key)1011IP地址172.16.184.22策略載體名稱數(shù)據(jù)庫備份策略載體位置//sharenfs/cupa-pit-paonldb/20150515策略備份腳本://sharenfs/scripts/dbbackup.sh策略參數(shù)一paonldb策略參數(shù)二pa_onldb……………………然后,針對上述的策略主體(key=1011)執(zhí)行備份操作。例如本實例中,首先由資源管理模塊30中新增一個資源,用于聯(lián)機(jī)主庫策略(策略主體)一的備份,其屬性定義并錄入如表3所示。表3在數(shù)據(jù)管理模塊20中,針對策略主體(key=1011),執(zhí)行備份操作,使用資源(key=3988),則通過命令管理模塊203,生成指令,發(fā)送至資源管理模塊30,資源管理模塊30調(diào)用相應(yīng)的備份腳本執(zhí)行數(shù)據(jù)庫備份,其結(jié)果會在策略載體所配置的路徑下生成一份數(shù)據(jù)庫備份。當(dāng)測試結(jié)束后,需要對測試環(huán)境及測試數(shù)據(jù)進(jìn)行恢復(fù)時,執(zhí)行恢復(fù)操作。首先,在資源管理模塊30中新增資源,其屬性定義如表4所示。表4名稱cupa-paonldb-backup-2編號(key)3989IP地址172.16.184.22對應(yīng)的策略主體(key)1011恢復(fù)腳本1//sharenfs/scripts/db2restore.sh是否IP映射是復(fù)原腳本1//sharenfs/scripts/db2refresh.sh············在數(shù)據(jù)管理模塊20中,針對策略主體(key=1011),執(zhí)行恢復(fù)操作,使用資源(key=3989),則通過命令管理模塊203,生成指令,發(fā)送至資源管理模塊30,資源管理模塊30調(diào)用相應(yīng)的恢復(fù)腳本執(zhí)行數(shù)據(jù)庫恢復(fù),其結(jié)果會將策略載體下的數(shù)據(jù)庫備份恢復(fù)至編號為3989,ip地址為172.16.184.22的數(shù)據(jù)庫。這里需要說明的是,此時的恢復(fù)對象僅僅為數(shù)據(jù)庫。其資源主機(jī)的基礎(chǔ)環(huán)境,如主機(jī)信息、用戶、實例等,可通過手工創(chuàng)建,并僅可能與原策略主體一致(取決于應(yīng)用環(huán)境是否要求)。最后,執(zhí)行復(fù)原操作。在數(shù)據(jù)管理模塊20中,針對策略主體(key=1011),執(zhí)行復(fù)原操作,使用資源(key=3989),則通過命令管理模塊203,生成指令,發(fā)送至資源管理模塊30,資源管理模塊30調(diào)用相應(yīng)的復(fù)原腳本執(zhí)行環(huán)境復(fù)原。復(fù)原應(yīng)盡量透明化,即不需對應(yīng)用或業(yè)務(wù)系統(tǒng)本身進(jìn)行修改。其中,根據(jù)可用資源的不同,具體的復(fù)原操作可分為以下幾種。復(fù)原方法一:可編寫恢復(fù)腳本,修改各應(yīng)用服務(wù)器主機(jī)的聯(lián)機(jī)庫編目地址,修改為資源(key=3989)所對應(yīng)的主機(jī),重啟應(yīng)用即可。復(fù)原方法二:修改資源(key=3989)的IP地址為原策略主體(key=1011)的IP地址(包括網(wǎng)卡配置及網(wǎng)絡(luò)端口配置),使用資源備份替換原策略主體。復(fù)原方法三:如有富余的存儲資源(外置存儲資源),可將原數(shù)據(jù)庫放置在外置盤,生成一份外置盤數(shù)據(jù)庫鏡像(例如HP公司的B/C卷同步或存儲快照技術(shù)生成原數(shù)據(jù)庫的快照卷),復(fù)原時直接掛載快照卷即可。上述的復(fù)原方法中,方法一可以腳本實現(xiàn),但需修改應(yīng)用配置,方法二需手工配合網(wǎng)絡(luò)操作實現(xiàn),但透明化程度高,無需修改應(yīng)用配置。在資源富余的情況下,最好的方法為方法三。在一具體應(yīng)用實例中,交易系統(tǒng)在應(yīng)用本發(fā)明實施例的快速恢復(fù)測試的方法之前,其測試過程中各步驟耗時統(tǒng)計如圖5及表5所示。表5交易系統(tǒng)在應(yīng)用本發(fā)明實施例的快速恢復(fù)測試的方法之后,聯(lián)機(jī)主庫數(shù)據(jù)導(dǎo)入、管理庫參數(shù)導(dǎo)入時間可瞬時完成(若資源有限,采用恢復(fù)原策略主體,則耗時由2400分鐘減為30分鐘,若資源富余,則復(fù)原可在1分鐘內(nèi)完成),整個測試效率由原來的6930分鐘縮短至4560分鐘左右,效率提升65.8%。本發(fā)明實施例提供一種快速恢復(fù)測試的系統(tǒng),如圖6所示,該快速恢復(fù)測試的系統(tǒng)主要包括:第一資源新建單元1、第一備份單元2及第一恢復(fù)單元3等。其中,第一資源新建單元1用于在資源池中新建一對應(yīng)于測試主機(jī)的第一資源備份機(jī);第一備份單元2用于在第一資源備份機(jī)中對測試數(shù)據(jù)進(jìn)行備份,生成測試數(shù)據(jù)備份文件;第一恢復(fù)單元3用于根據(jù)用戶的指令,根據(jù)測試數(shù)據(jù)備份文件,對測試主機(jī)進(jìn)行恢復(fù)。通過上述的各個組成部分,本發(fā)明實施例的快速恢復(fù)測試的系統(tǒng)能夠?qū)⑻幱跍y試環(huán)境的主機(jī)、數(shù)據(jù)庫、配置屬性等信息作為一個整體進(jìn)行備份,以便在后續(xù)過程中快速恢復(fù)原始的測試環(huán)境,從而方便快捷地進(jìn)入到下一個測試過程中。以下結(jié)合具體示例對本發(fā)明實施例的快速恢復(fù)測試的系統(tǒng)中的各個組成部分進(jìn)行具體說明。上述的第一資源新建單元1,用于在資源池中新建一對應(yīng)于測試主機(jī)的第一資源備份機(jī)。搭建測試的初始環(huán)境和數(shù)據(jù)準(zhǔn)備,確認(rèn)環(huán)境條件具備后(在未發(fā)起實際測試過程前),進(jìn)行數(shù)據(jù)分類分析,制定不同的策略,并進(jìn)行統(tǒng)一管理。本發(fā)明實施例中,可以是采用PHP搭建B/S架構(gòu),采用MVC模型,提供頁面進(jìn)行策略主體、資源的錄入、更新、刪除管理。本實施例中提供的策略模型主要屬性如表1所示。針對測試系統(tǒng)本身,可組合不同的策略主體進(jìn)行搭配,例如交易仿真測試系統(tǒng),其包含的策略主體為主機(jī)1(key=1)、主機(jī)2(key=2)、數(shù)據(jù)庫1(key=3)、數(shù)據(jù)庫2(key=4)等。在具體實施時,可根據(jù)測試環(huán)境的不同,將測試過程中所需使用的測試主機(jī)、該測試主機(jī)的屬性信息(編號、IP、參數(shù)等)以及測試所針對的測試數(shù)據(jù)作為一個整體,構(gòu)建為策略主體。通過第一資源新建單元1在資源池中新建一對應(yīng)于上述測試主機(jī)的第一資源備份機(jī),第一資源備份機(jī)中記錄有測試主機(jī)的配置信息。其中,該第一資源備份機(jī)是為后續(xù)多個資源備份、恢復(fù)過程提供所需的備份基準(zhǔn)文件,為了實現(xiàn)反復(fù)恢復(fù),必須要保留一個基準(zhǔn)的備份文件,而不將第一資源備份機(jī)直接恢復(fù)到測試主機(jī)。需要說明的是,在此實施例中,是以該新建的資源對應(yīng)的是測試主機(jī)進(jìn)行說明的。但在實際應(yīng)用當(dāng)中,在資源池中新建的資源還可以是數(shù)據(jù)文件、主機(jī)服務(wù)器、數(shù)據(jù)庫等,可根據(jù)資源的實際使用環(huán)境而定,本發(fā)明并不以此為限。在一實施例中,上述的第一資源備份機(jī)中記錄有測試主機(jī)的配置信息,該配置信息包括測試主機(jī)的編號、IP地址、參數(shù)等,根據(jù)測試主機(jī)要備份資源的不同類型,本實施例支持可擴(kuò)展參數(shù)個數(shù),并提供統(tǒng)一接口供命令模塊調(diào)用。上述的第一備份單元2,用于在第一資源備份機(jī)中將測試數(shù)據(jù)進(jìn)行備份,生成測試數(shù)據(jù)備份文件。針對上述的策略主體中不同類型的數(shù)據(jù),有不同的備份方案,由不同的腳本實現(xiàn),在錄入策略主體時進(jìn)行選擇,根據(jù)其策略主體中錄入的配置,可生成不同的策略載體。在實際應(yīng)用中,對應(yīng)每個策略主體有其唯一的備份方法,可編寫相應(yīng)的備份腳本執(zhí)行備份操作。例如:針對數(shù)據(jù)庫,表級別,一般為單表或多表的備份,腳本為通用腳本,參數(shù)為表名集合;針對數(shù)據(jù)庫,庫級別,一般為數(shù)據(jù)庫整庫鏡像備份,如db2的backup,參數(shù)為數(shù)據(jù)庫名和訪問用戶、密碼等;針對文件系統(tǒng),一般為tar包或gzip包,腳本為通用腳本,參數(shù)為全路徑文件目錄列表。其中,策略載體主要用于存放策略主體的備份,根據(jù)不同的策略主體,可以是表備份、文件備份、數(shù)據(jù)庫備份等。需要說明的是,同一數(shù)據(jù)或環(huán)境主體(如測試主機(jī))可以配置為不同的幾個策略主體,來適應(yīng)不同的備份和恢復(fù)需求。例如,如聯(lián)機(jī)庫可配置策略一為表備份,則需生成一份全庫表導(dǎo)出備份,作為策略載體,放置在資源池中(包括ip、路徑等要素)。同樣,聯(lián)機(jī)庫也可配置策略二為整庫備份,則需生成一份db2backup的數(shù)據(jù)庫備份鏡像,作為策略載體,放置在資源池中。在具體實施中,是通過在資源池中進(jìn)行資源分配,將該資源作為上述的策略載體,存儲策略主體中的數(shù)據(jù)庫備份文件,由上文內(nèi)容可知,此實施例中所述的數(shù)據(jù)庫備份文件僅為測試數(shù)據(jù)中的一種,本發(fā)明并不以此為限。資源本身可以是數(shù)據(jù)文件、主機(jī)服務(wù)器、數(shù)據(jù)庫等。資源本身需與策略主體建立映射關(guān)系,其映射關(guān)系為1策略主體:N資源,即一個策略主體可以對應(yīng)多個資源。這里需要說明的是,資源也可以是策略主體本身。然后在對應(yīng)于上述的策略主體的資源中,對策略主體中的數(shù)據(jù)庫文件進(jìn)行備份,生成數(shù)據(jù)庫備份文件。上述的第一恢復(fù)單元3,用于根據(jù)用戶的指令,根據(jù)測試數(shù)據(jù)備份文件,對測試主機(jī)進(jìn)行恢復(fù)。在完成測試原始數(shù)據(jù)的備份后,可根據(jù)用戶的指令或是操作,觸發(fā)測試原始數(shù)據(jù)的恢復(fù)操作,根據(jù)第一備份單元2進(jìn)行備份的數(shù)據(jù)庫備份文件恢復(fù)該測試主機(jī)。具體地,可以是在資源池中新建一對應(yīng)于該測試主機(jī)的第二資源備份機(jī);將該第二資源備份機(jī)的配置信息配置為該測試主機(jī)的配置信息,用第二資源備份機(jī)替換該測試主機(jī),從而實現(xiàn)快速有效地恢復(fù)原始測試環(huán)境及測試數(shù)據(jù),便于開啟再一次的測試過程。不同類型的數(shù)據(jù)其恢復(fù)方法不同,例如針對數(shù)據(jù)庫,表級別,一般恢復(fù)方法為整表導(dǎo)入,恢復(fù)腳本為通用腳本,參數(shù)為庫名,表名;針對數(shù)據(jù)庫,庫級別,一般恢復(fù)方法為整庫恢復(fù),恢復(fù)腳本為通用腳本,參數(shù)為庫名,用戶名,密碼;針對文件系統(tǒng),一般為tar包或gzip包,腳本為通用腳本,參數(shù)為tar包名,主機(jī)用戶、密碼等。在一實施例中,本發(fā)明實施例的第一恢復(fù)單元3具體用于執(zhí)行以下步驟:在資源池中新建一對應(yīng)于測試主機(jī)的第三資源備份機(jī);將測試數(shù)據(jù)備份文件恢復(fù)至第三資源備份機(jī)中;用該第三資源備份機(jī)替換上述的測試主機(jī)。在此實施例中,主要是針對有多余的主機(jī)和數(shù)據(jù)庫資源的情況下,在資源池中通過第二資源新建單元新建一第三資源備份機(jī),并通過第二恢復(fù)單元將第一備份單元備份的測試數(shù)據(jù)備份文件恢復(fù)至第三資源備份機(jī)中;然后,用該第三資源備份機(jī)替換上述的測試主機(jī)。在另一實施例中,本發(fā)明實施例的第一恢復(fù)單元3具體用于執(zhí)行以下步驟:根據(jù)測試數(shù)據(jù)備份文件在外置存儲資源中生成存儲鏡像;將測試數(shù)據(jù)所在卷組卸卷,掛載存儲鏡像,以替換測試數(shù)據(jù)。在此實施例中,主要是針對具有多余的存儲資源(外置盤存儲資源)的情況下,通過存儲鏡像生成單元根據(jù)測試數(shù)據(jù)備份文件在外置存儲資源中生成存儲鏡像(例如HP公司的B/C卷同步或存儲快照技術(shù)生成原數(shù)據(jù)庫的快照卷),然后,通過第二替換單元將原測試數(shù)據(jù)所在卷組卸卷,掛載上述的存儲鏡像,以替換原測試數(shù)據(jù)。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計算機(jī)可讀取存儲介質(zhì)中,比如ROM/RAM、磁碟、光盤等。以上所述的具體實施例,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施例而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁1 2 3