用于數(shù)據(jù)集群的測試方法和裝置制造方法【專利摘要】本發(fā)明公開了一種用于數(shù)據(jù)集群的測試方法和裝置,屬于數(shù)據(jù)集群領(lǐng)域。所述方法包括:獲取與數(shù)據(jù)集群處理業(yè)務(wù)的權(quán)限隔離的測試權(quán)限;根據(jù)數(shù)據(jù)集群處理業(yè)務(wù)所用的計(jì)算資源,獲取測試計(jì)算資源;獲取對業(yè)務(wù)的現(xiàn)網(wǎng)操作流和現(xiàn)網(wǎng)結(jié)果數(shù)據(jù);對現(xiàn)網(wǎng)操作流進(jìn)行還原處理,得到測試業(yè)務(wù)流;基于測試計(jì)算資源和測試權(quán)限,執(zhí)行測試業(yè)務(wù)流中的每一個(gè)業(yè)務(wù)指令對應(yīng)的操作,得到測試結(jié)果數(shù)據(jù);將現(xiàn)網(wǎng)結(jié)果數(shù)據(jù)和測試結(jié)果數(shù)據(jù)進(jìn)行一致性對比,輸出對比結(jié)果。本發(fā)明通過直接使用數(shù)據(jù)集群的生產(chǎn)環(huán)境進(jìn)行測試,無需額外搭建測試場景,降低了人力投入和成本,對數(shù)據(jù)集群的生產(chǎn)環(huán)境進(jìn)行全量覆蓋,增強(qiáng)了覆蓋度,進(jìn)一步地,提高了測試質(zhì)量,降低了漏測率?!緦@f明】用于數(shù)據(jù)集群的測試方法和裝置【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及數(shù)據(jù)集群領(lǐng)域,特別涉及一種用于數(shù)據(jù)集群的測試方法和裝置?!?br>背景技術(shù):
】[0002]大數(shù)據(jù)集群是指成千上萬的計(jì)算機(jī)通過網(wǎng)絡(luò)連接所組成的、能夠共同完成數(shù)據(jù)存儲、數(shù)據(jù)計(jì)算等任務(wù)的計(jì)算機(jī)集群。[0003]大數(shù)據(jù)集群所承載的數(shù)據(jù)量巨大,業(yè)務(wù)復(fù)雜度也很高,因此,為了正常且穩(wěn)定的運(yùn)行,大數(shù)據(jù)集群必須具有高穩(wěn)定性。而為了確保大數(shù)據(jù)集群的高穩(wěn)定性,需要對大數(shù)據(jù)集群的生產(chǎn)環(huán)境進(jìn)行測試。[0004]但相關(guān)的測試方法中,一般都是構(gòu)建出與大數(shù)據(jù)集群的生產(chǎn)環(huán)境類似的測試場景,在該測試場景下進(jìn)行測試,構(gòu)建測試場景耗費(fèi)的成本很高;由于所構(gòu)建的測試場景的業(yè)務(wù)多樣性、業(yè)務(wù)復(fù)雜度和數(shù)據(jù)量等參數(shù)與大數(shù)據(jù)集群的生產(chǎn)環(huán)境有很大的差距,容易導(dǎo)致測試結(jié)果不準(zhǔn)確,不易于發(fā)現(xiàn)大數(shù)據(jù)集群的生產(chǎn)環(huán)境所存在的缺陷,漏測率高?!?br/>發(fā)明內(nèi)容】[0005]為了解決現(xiàn)有技術(shù)的問題,本發(fā)明實(shí)施例提供了一種用于數(shù)據(jù)集群的測試方法。所述技術(shù)方案如下:[0006]第一方面,提供了一種用于數(shù)據(jù)集群的測試方法,所述方法包括:[0007]獲取測試權(quán)限,所述測試權(quán)限與數(shù)據(jù)集群處理業(yè)務(wù)的權(quán)限隔離;[0008]根據(jù)數(shù)據(jù)集群處理業(yè)務(wù)所用的計(jì)算資源,獲取測試計(jì)算資源;[0009]獲取所述數(shù)據(jù)集群對所述業(yè)務(wù)的現(xiàn)網(wǎng)操作流和現(xiàn)網(wǎng)結(jié)果數(shù)據(jù),所述現(xiàn)網(wǎng)結(jié)果數(shù)據(jù)包括現(xiàn)網(wǎng)業(yè)務(wù)指令的操作結(jié)果數(shù)據(jù)和處理業(yè)務(wù)過程的各項(xiàng)指標(biāo)的現(xiàn)網(wǎng)實(shí)際參數(shù);[0010]對所述現(xiàn)網(wǎng)操作流進(jìn)行還原處理,得到測試業(yè)務(wù)流,所述測試業(yè)務(wù)流包括處理所述業(yè)務(wù)過程中所接收到的業(yè)務(wù)指令;[0011]基于所述測試計(jì)算資源和所述測試權(quán)限,執(zhí)行所述測試業(yè)務(wù)流中的每一個(gè)業(yè)務(wù)指令對應(yīng)的操作,得到所述測試業(yè)務(wù)流的測試結(jié)果數(shù)據(jù),所述測試結(jié)果數(shù)據(jù)包括測試業(yè)務(wù)流中每一個(gè)業(yè)務(wù)指令對應(yīng)的操作結(jié)果數(shù)據(jù)和所述各項(xiàng)指標(biāo)的測試結(jié)果參數(shù);[0012]將所述現(xiàn)網(wǎng)結(jié)果數(shù)據(jù)和所述測試結(jié)果數(shù)據(jù)進(jìn)行一致性對比,輸出對比結(jié)果。[0013]第二方面,提供了一種用于數(shù)據(jù)集群的測試裝置,所述裝置包括:[0014]測試權(quán)限獲取模塊,用于獲取測試權(quán)限,所述測試權(quán)限與數(shù)據(jù)集群處理業(yè)務(wù)的權(quán)限隔離;[0015]資源獲取模塊,用于根據(jù)數(shù)據(jù)集群處理業(yè)務(wù)所用的計(jì)算資源,獲取測試計(jì)算資源;[0016]現(xiàn)網(wǎng)業(yè)務(wù)獲取模塊,用于獲取所述數(shù)據(jù)集群對所述業(yè)務(wù)的現(xiàn)網(wǎng)操作流和現(xiàn)網(wǎng)結(jié)果數(shù)據(jù),所述現(xiàn)網(wǎng)結(jié)果數(shù)據(jù)包括現(xiàn)網(wǎng)業(yè)務(wù)指令的操作結(jié)果數(shù)據(jù)和處理業(yè)務(wù)過程的各項(xiàng)指標(biāo)的現(xiàn)網(wǎng)實(shí)際參數(shù);[0017]還原模塊,用于對所述現(xiàn)網(wǎng)操作流進(jìn)行還原處理,得到測試業(yè)務(wù)流,所述測試業(yè)務(wù)流包括處理所述業(yè)務(wù)過程中所接收到的業(yè)務(wù)指令;[0018]測試結(jié)果數(shù)據(jù)獲取模塊,用于基于所述測試計(jì)算資源和所述測試權(quán)限,執(zhí)行所述測試業(yè)務(wù)流中的每一個(gè)業(yè)務(wù)指令對應(yīng)的操作,得到所述測試業(yè)務(wù)流的測試結(jié)果數(shù)據(jù),所述測試結(jié)果數(shù)據(jù)包括測試業(yè)務(wù)流中每一個(gè)業(yè)務(wù)指令對應(yīng)的操作結(jié)果數(shù)據(jù)和所述各項(xiàng)指標(biāo)的測試結(jié)果參數(shù);[0019]對比模塊,用于將所述現(xiàn)網(wǎng)結(jié)果數(shù)據(jù)和所述測試結(jié)果數(shù)據(jù)進(jìn)行一致性對比,輸出對比結(jié)果。[0020]本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果是:[0021]本發(fā)明實(shí)施例提供的方法和裝置,通過在數(shù)據(jù)集群中對現(xiàn)網(wǎng)操作流進(jìn)行還原處理得到處理業(yè)務(wù)過程中接收到的業(yè)務(wù)指令,再次執(zhí)行每個(gè)業(yè)務(wù)指令對應(yīng)的操作,得到各項(xiàng)指標(biāo)的測試結(jié)果數(shù)據(jù),通過將各項(xiàng)指標(biāo)的實(shí)際數(shù)據(jù)和測試結(jié)果數(shù)據(jù)進(jìn)行一致性對比,輸出對比結(jié)果。這種測試方法直接使用數(shù)據(jù)集群的生產(chǎn)環(huán)境進(jìn)行測試,而無需額外搭建測試場景,極大地降低了測試過程中的人力投入和成本,且對數(shù)據(jù)集群的生產(chǎn)環(huán)境進(jìn)行全量覆蓋,增強(qiáng)了覆蓋度,進(jìn)一步地,提高了測試質(zhì)量,降低了漏測率?!緦@綀D】【附圖說明】[0022]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。[0023]圖1是本發(fā)明實(shí)施例提供的一種用于數(shù)據(jù)集群的測試方法的流程圖;[0024]圖2a是本發(fā)明實(shí)施例提供的一種用于數(shù)據(jù)集群的測試方法的流程圖;[0025]圖2b是本發(fā)明實(shí)施例提供的權(quán)限示意圖;[0026]圖2c是本發(fā)明實(shí)施例提供的獲取測試業(yè)務(wù)流的示意圖;[0027]圖2d是本發(fā)明實(shí)施例提供的調(diào)節(jié)業(yè)務(wù)指令示意圖;[0028]圖2e是本發(fā)明實(shí)施例提供的輸出對比結(jié)果示意圖;[0029]圖2f是本發(fā)明實(shí)施例提供的功能模塊示意圖;[0030]圖2g是本發(fā)明實(shí)施例提供的數(shù)據(jù)集群框架圖;[0031]圖2h是本發(fā)明實(shí)施例提供的缺陷個(gè)數(shù)效果圖;[0032]圖2i是本發(fā)明實(shí)施例提供的漏測率效果圖;[0033]圖3是本發(fā)明實(shí)施例提供的一種用于數(shù)據(jù)集群的測試裝置結(jié)構(gòu)示意圖。【具體實(shí)施方式】[0034]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。[0035]為了便于說明,將對數(shù)據(jù)集群進(jìn)行介紹。以該數(shù)據(jù)集群為Hadoop集群為例,Hadoop集群包括HDFS(HadoopDistributedFileSystem,分布式文件系統(tǒng))和映射規(guī)約MapReduce系統(tǒng),HDFS系統(tǒng)用于存儲Hadoop集群中的文件,提供了高傳輸率訪問應(yīng)用程序的數(shù)據(jù),適合具有超大數(shù)據(jù)集的應(yīng)用程序,MapReduce系統(tǒng)用于實(shí)現(xiàn)分布式計(jì)算。HDFS和MapReduce系統(tǒng)可運(yùn)行于大型商用機(jī)集群。[0036]圖1是本發(fā)明實(shí)施例提供的一種用于數(shù)據(jù)集群的測試方法的流程圖,參見圖1,所述方法包括:[0037]100、獲取測試權(quán)限,該測試權(quán)限與數(shù)據(jù)集群處理業(yè)務(wù)的權(quán)限隔離;[0038]101、根據(jù)數(shù)據(jù)集群處理業(yè)務(wù)所用的計(jì)算資源,獲取測試計(jì)算資源;[0039]102、獲取該數(shù)據(jù)集群對該業(yè)務(wù)的現(xiàn)網(wǎng)操作流和現(xiàn)網(wǎng)結(jié)果數(shù)據(jù),該現(xiàn)網(wǎng)結(jié)果數(shù)據(jù)包括現(xiàn)網(wǎng)業(yè)務(wù)指令的操作結(jié)果數(shù)據(jù)和處理業(yè)務(wù)過程的各項(xiàng)指標(biāo)的現(xiàn)網(wǎng)實(shí)際參數(shù);[0040]103、對該現(xiàn)網(wǎng)操作流進(jìn)行還原處理,得到測試業(yè)務(wù)流,該測試業(yè)務(wù)流包括處理該業(yè)務(wù)過程中所接收到的業(yè)務(wù)指令;[0041]104、基于該測試計(jì)算資源和該測試權(quán)限,執(zhí)行該測試業(yè)務(wù)流中的每一個(gè)業(yè)務(wù)指令對應(yīng)的操作,得到該測試業(yè)務(wù)流的測試結(jié)果數(shù)據(jù),該測試結(jié)果數(shù)據(jù)包括測試業(yè)務(wù)流中每一個(gè)業(yè)務(wù)指令對應(yīng)的操作結(jié)果數(shù)據(jù)和該各項(xiàng)指標(biāo)的測試結(jié)果參數(shù);[0042]105、將該現(xiàn)網(wǎng)結(jié)果數(shù)據(jù)和該測試結(jié)果數(shù)據(jù)進(jìn)行一致性對比,輸出對比結(jié)果。[0043]本發(fā)明實(shí)施例提供的方法,通過在數(shù)據(jù)集群中對現(xiàn)網(wǎng)操作流進(jìn)行還原處理得到處理業(yè)務(wù)過程中接收到的業(yè)務(wù)指令,再次執(zhí)行每個(gè)業(yè)務(wù)指令對應(yīng)的操作,得到各項(xiàng)指標(biāo)的測試結(jié)果數(shù)據(jù),通過將各項(xiàng)指標(biāo)的實(shí)際數(shù)據(jù)和測試結(jié)果數(shù)據(jù)進(jìn)行一致性對比,輸出對比結(jié)果。這種測試方法直接使用數(shù)據(jù)集群的生產(chǎn)環(huán)境進(jìn)行測試,而無需額外搭建測試場景,極大地降低了測試過程中的人力投入和成本,且對數(shù)據(jù)集群的生產(chǎn)環(huán)境進(jìn)行全量覆蓋,增強(qiáng)了覆蓋度,進(jìn)一步地,提高了測試質(zhì)量,降低了漏測率。[0044]可選地,基于該測試計(jì)算資源和該測試資源,執(zhí)行該測試業(yè)務(wù)流中的每一個(gè)業(yè)務(wù)指令對應(yīng)的操作,得到該各項(xiàng)指標(biāo)的測試結(jié)果數(shù)據(jù)之前,該方法還包括:[0045]調(diào)節(jié)該測試業(yè)務(wù)流中的業(yè)務(wù)指令,基于調(diào)節(jié)后的業(yè)務(wù)指令執(zhí)行測試過程。[0046]可選地,調(diào)節(jié)該測試業(yè)務(wù)流中的業(yè)務(wù)指令,基于調(diào)節(jié)后的業(yè)務(wù)指令執(zhí)行測試過程包括:[0047]調(diào)節(jié)該測試業(yè)務(wù)流中的業(yè)務(wù)指令的并發(fā)度,該并發(fā)度包括指令并發(fā)度和映射/規(guī)約MR并發(fā)度中的至少一項(xiàng);[0048]根據(jù)調(diào)節(jié)后的并發(fā)度,下發(fā)業(yè)務(wù)指令,基于下發(fā)的業(yè)務(wù)指令執(zhí)行測試過程。[0049]可選地,根據(jù)調(diào)節(jié)后的并發(fā)度,下發(fā)業(yè)務(wù)指令包括:[0050]確定該測試業(yè)務(wù)流中各個(gè)業(yè)務(wù)指令在該現(xiàn)網(wǎng)操作流中的優(yōu)先級;[0051]按照優(yōu)先級從高到低的順序,依次獲取該測試業(yè)務(wù)流中的業(yè)務(wù)指令,直至獲取到的業(yè)務(wù)指令數(shù)目到達(dá)調(diào)節(jié)后的指令并發(fā)度,下發(fā)獲取到的業(yè)務(wù)指令;[0052]和/或,按照優(yōu)先級從高到低的順序,依次獲取該測試業(yè)務(wù)流中的業(yè)務(wù)指令,直至獲取到的業(yè)務(wù)指令在該現(xiàn)網(wǎng)操作流中生成的映射Map任務(wù)和規(guī)約Reduce任務(wù)的個(gè)數(shù)和值到達(dá)調(diào)節(jié)后的MR并發(fā)度,下發(fā)獲取到的業(yè)務(wù)指令。[0053]可選地,確定該測試業(yè)務(wù)流中各個(gè)業(yè)務(wù)指令在該現(xiàn)網(wǎng)操作流中的優(yōu)先級包括:[0054]根據(jù)該測試業(yè)務(wù)流中各個(gè)業(yè)務(wù)指令在該現(xiàn)網(wǎng)操作流中所占的操作時(shí)長,確定各個(gè)業(yè)務(wù)指令在該現(xiàn)網(wǎng)操作流中的優(yōu)先級;或,[0055]根據(jù)該測試業(yè)務(wù)流中各個(gè)業(yè)務(wù)指令在該現(xiàn)網(wǎng)操作流中生成的映射Map任務(wù)和規(guī)約Reduce任務(wù)的個(gè)數(shù),確定各個(gè)業(yè)務(wù)指令在該現(xiàn)網(wǎng)操作流中的優(yōu)先級。[0056]可選地,該方法還包括:[0057]將該測試業(yè)務(wù)流中每一個(gè)業(yè)務(wù)指令對應(yīng)的操作結(jié)果數(shù)據(jù)存儲在該數(shù)據(jù)集群的預(yù)設(shè)庫表中,該預(yù)設(shè)庫表與存儲該現(xiàn)網(wǎng)業(yè)務(wù)指令的操作結(jié)果數(shù)據(jù)的庫表為同一數(shù)據(jù)集群的不同庫表;或,[0058]將該測試業(yè)務(wù)流中每一個(gè)業(yè)務(wù)指令對應(yīng)的操作結(jié)果數(shù)據(jù)存儲在該數(shù)據(jù)集群的預(yù)設(shè)目錄下,該預(yù)設(shè)目錄與存儲現(xiàn)網(wǎng)業(yè)務(wù)指令的操作結(jié)果數(shù)據(jù)為同一個(gè)數(shù)據(jù)集群的不同目錄。[0059]可選地,該方法還包括:[0060]將該各項(xiàng)指標(biāo)的測試結(jié)果數(shù)據(jù)與歷史版本的數(shù)據(jù)集群中各項(xiàng)指標(biāo)的測試結(jié)果數(shù)據(jù)進(jìn)行一致性對比,輸出與歷史版本之間的對比結(jié)果。[0061]可選地,該測試權(quán)限包括只讀當(dāng)前處理業(yè)務(wù)的數(shù)據(jù)的權(quán)限、只讀存儲的實(shí)際數(shù)據(jù)的權(quán)限和讀取/寫入測試結(jié)果數(shù)據(jù)的權(quán)限。[0062]上述所有可選技術(shù)方案,可以采用任意結(jié)合形成本發(fā)明的可選實(shí)施例,在此不再--贅述。[0063]圖2a是本發(fā)明實(shí)施例提供的一種用于數(shù)據(jù)集群的測試方法的流程圖,參見圖2a,所述方法包括:[0064]200、獲取測試權(quán)限,該測試權(quán)限與數(shù)據(jù)集群處理業(yè)務(wù)的權(quán)限隔離。[0065]在本發(fā)明實(shí)施例中,在獲取該測試計(jì)算資源之前,獲取測試權(quán)限。測試人員可以登錄測試賬號,獲取該測試賬號對應(yīng)的測試權(quán)限,從而獲取測試計(jì)算資源,基于該測試權(quán)限和該測試計(jì)算資源,對該數(shù)據(jù)集群進(jìn)行測試。[0066]其中,該測試權(quán)限包含的項(xiàng)目與該處理業(yè)務(wù)的權(quán)限包含的項(xiàng)目一一對應(yīng)且相互隔離,以避免對現(xiàn)網(wǎng)資源造成破壞。測試權(quán)限和處理業(yè)務(wù)的權(quán)限中每個(gè)項(xiàng)目的權(quán)限設(shè)置可以相同,也可以不同。[0067]如,參見圖2b,該數(shù)據(jù)集群包括多個(gè)用戶池,用戶池包括多個(gè)用戶組,用戶組包括多個(gè)用戶,每個(gè)用戶池對應(yīng)一定的計(jì)算資源,該用戶池所對應(yīng)的用戶可以基于用戶池的計(jì)算資源處理業(yè)務(wù)。該處理業(yè)務(wù)的權(quán)限表明了每個(gè)用戶在處理業(yè)務(wù)時(shí)的權(quán)限。根據(jù)該數(shù)據(jù)集群包括的多個(gè)用戶池,設(shè)置多個(gè)測試用戶池,并獲取該測試權(quán)限,該測試權(quán)限表明每個(gè)測試用戶在進(jìn)行測試時(shí)能夠執(zhí)行的操作,而測試用戶在測試時(shí)可以基于測試用戶池所對應(yīng)的測試計(jì)算資源進(jìn)行。[0068]其中,該處理業(yè)務(wù)的權(quán)限包括讀取/寫入當(dāng)前處理業(yè)務(wù)的數(shù)據(jù)的權(quán)限,以及將當(dāng)前處理業(yè)務(wù)得到的實(shí)際數(shù)據(jù)寫入實(shí)際數(shù)據(jù)的數(shù)據(jù)庫或目錄中的權(quán)限。相應(yīng)的,該測試權(quán)限包括只讀當(dāng)前處理業(yè)務(wù)的數(shù)據(jù)的權(quán)限、只讀存儲的實(shí)際數(shù)據(jù)的權(quán)限和讀取/寫入測試結(jié)果數(shù)據(jù)的權(quán)限,以防止測試過程對該數(shù)據(jù)集群的實(shí)際數(shù)據(jù)造成損壞。[0069]201、根據(jù)數(shù)據(jù)集群處理業(yè)務(wù)所用的計(jì)算資源,獲取測試計(jì)算資源。[0070]本發(fā)明實(shí)施例應(yīng)用于在數(shù)據(jù)集群的生產(chǎn)環(huán)境中,對該數(shù)據(jù)集群進(jìn)行測試的場景下。該數(shù)據(jù)集群在處理業(yè)務(wù)的過程中需要消耗計(jì)算資源,相應(yīng)的,在進(jìn)行測試的過程中,同樣需要消耗計(jì)算資源,則先獲取測試計(jì)算資源,以便根據(jù)該測試計(jì)算資源,對該數(shù)據(jù)集群進(jìn)行測試。[0071]其中,該計(jì)算資源是指數(shù)據(jù)集群中用于提供業(yè)務(wù)處理能力的資源,如MapReduce資源,本發(fā)明實(shí)施例對此不作限定。[0072]具體地,獲取與該數(shù)據(jù)集群處理業(yè)務(wù)所用的計(jì)算資源一一對應(yīng)的計(jì)算資源,作為該測試計(jì)算資源,該測試計(jì)算資源與該數(shù)據(jù)集群處理業(yè)務(wù)所用的計(jì)算資源大小相同,以便處理業(yè)務(wù)過程和測試過程能夠基于相同的計(jì)算資源進(jìn)行,進(jìn)一步地,便于對該數(shù)據(jù)集群的穩(wěn)定性進(jìn)行測試??蛇x地,該測試計(jì)算資源與該數(shù)據(jù)集群處理業(yè)務(wù)所用的計(jì)算資源隔離,避免了處理業(yè)務(wù)過程和測試過程之間的資源競爭。[0073]202、獲取該數(shù)據(jù)集群對該業(yè)務(wù)的現(xiàn)網(wǎng)操作流和現(xiàn)網(wǎng)結(jié)果數(shù)據(jù),該現(xiàn)網(wǎng)結(jié)果數(shù)據(jù)包括現(xiàn)網(wǎng)業(yè)務(wù)指令的操作結(jié)果數(shù)據(jù)和處理業(yè)務(wù)過程的各項(xiàng)指標(biāo)的現(xiàn)網(wǎng)實(shí)際參數(shù)。[0074]其中,該現(xiàn)網(wǎng)操作流記錄了該數(shù)據(jù)集群在處理業(yè)務(wù)的過程中接收到的業(yè)務(wù)指令。為了獲取數(shù)據(jù)集群的實(shí)際操作情況,在處理業(yè)務(wù)過程中,采集該現(xiàn)網(wǎng)結(jié)果數(shù)據(jù),該現(xiàn)網(wǎng)結(jié)果數(shù)據(jù)包括現(xiàn)網(wǎng)業(yè)務(wù)指令的操作結(jié)果數(shù)據(jù)和處理業(yè)務(wù)過程的各項(xiàng)指標(biāo)的現(xiàn)網(wǎng)實(shí)際參數(shù),并保存該現(xiàn)網(wǎng)操作流和該現(xiàn)網(wǎng)結(jié)果數(shù)據(jù)。進(jìn)一步地,動態(tài)地從ganglia監(jiān)控平臺、系統(tǒng)進(jìn)程、網(wǎng)管平臺等平臺中采集現(xiàn)網(wǎng)業(yè)務(wù)指令的操作結(jié)果數(shù)據(jù)和處理業(yè)務(wù)過程的各項(xiàng)指標(biāo)的現(xiàn)網(wǎng)實(shí)際參數(shù),并將采集到的操作結(jié)果數(shù)據(jù)(或操作結(jié)果數(shù)據(jù)的統(tǒng)計(jì)結(jié)果數(shù)據(jù))和現(xiàn)網(wǎng)實(shí)際參數(shù)保存在該各項(xiàng)指標(biāo)對應(yīng)的目錄或庫表中。[0075]其中,該各項(xiàng)指標(biāo)包括業(yè)務(wù)關(guān)鍵指標(biāo)、系統(tǒng)關(guān)鍵指標(biāo)和結(jié)果數(shù)據(jù)指標(biāo)等,可以預(yù)先設(shè)定或者根據(jù)測試需求設(shè)定,本發(fā)明實(shí)施例對此不做限定。[0076]可選地,在該數(shù)據(jù)集群中預(yù)留一個(gè)允許獲取現(xiàn)網(wǎng)操作流的接口,通過該接口能夠獲取該數(shù)據(jù)集群對該業(yè)務(wù)的現(xiàn)網(wǎng)操作流。另外,該接口可包含自定義流水操作指令流、數(shù)據(jù)庫流水、日志記錄等集群系統(tǒng)操作信息,本發(fā)明實(shí)施例對此不做限定。[0077]在實(shí)際應(yīng)用過程中,真正的現(xiàn)網(wǎng)業(yè)務(wù)指令的操作結(jié)果數(shù)據(jù)的數(shù)據(jù)量很大,不便于直接進(jìn)行保存,此時(shí)可以采用統(tǒng)計(jì)的方式,對該操作結(jié)果數(shù)據(jù)的各個(gè)字段分別進(jìn)行計(jì)數(shù)、計(jì)算和值、計(jì)算平均值等統(tǒng)計(jì)過程,得到該現(xiàn)網(wǎng)業(yè)務(wù)指令的統(tǒng)計(jì)結(jié)果數(shù)據(jù),將該統(tǒng)計(jì)結(jié)果數(shù)據(jù)作為現(xiàn)網(wǎng)業(yè)務(wù)指令的操作結(jié)果數(shù)據(jù)。在后續(xù)過程中,可以采用與該現(xiàn)網(wǎng)業(yè)務(wù)指令的操作結(jié)果數(shù)據(jù)相同的統(tǒng)計(jì)方式,對該測試業(yè)務(wù)指令的操作結(jié)果數(shù)據(jù)進(jìn)行統(tǒng)計(jì),得到該測試業(yè)務(wù)指令的統(tǒng)計(jì)結(jié)果數(shù)據(jù),該測試業(yè)務(wù)指令的統(tǒng)計(jì)結(jié)果數(shù)據(jù)作為測試業(yè)務(wù)指令的操作結(jié)果數(shù)據(jù),而在一致性對比時(shí),可以通過對現(xiàn)網(wǎng)業(yè)務(wù)指令的操作結(jié)果數(shù)據(jù)和測試業(yè)務(wù)指令的操作結(jié)果數(shù)據(jù)進(jìn)行,也即是,當(dāng)測試業(yè)務(wù)指令的統(tǒng)計(jì)結(jié)果數(shù)據(jù)與現(xiàn)網(wǎng)業(yè)務(wù)指令的統(tǒng)計(jì)結(jié)果數(shù)據(jù)一致,則認(rèn)為現(xiàn)網(wǎng)業(yè)務(wù)指令的操作結(jié)果數(shù)據(jù)和測試業(yè)務(wù)指令的操作結(jié)果數(shù)據(jù)一致。[0078]203、對該現(xiàn)網(wǎng)操作流進(jìn)行還原處理,得到測試業(yè)務(wù)流,該測試業(yè)務(wù)流包括處理該業(yè)務(wù)過程中所接收到的業(yè)務(wù)指令。[0079]具體地,該現(xiàn)網(wǎng)操作流記錄了該數(shù)據(jù)集群在處理業(yè)務(wù)的過程中接收到的多個(gè)業(yè)務(wù)指令,每個(gè)業(yè)務(wù)指令的格式可能不同,則對該現(xiàn)網(wǎng)操作流進(jìn)行過濾和格式整理,以統(tǒng)一該現(xiàn)網(wǎng)操作流中的業(yè)務(wù)指令的格式,分析該現(xiàn)網(wǎng)操作流中每個(gè)業(yè)務(wù)指令的執(zhí)行目標(biāo),將該執(zhí)行目標(biāo)替換為測試目標(biāo),得到測試操作流,對該測試操作流進(jìn)行場景還原,得到該測試業(yè)務(wù)流,該測試業(yè)務(wù)流包括處理業(yè)務(wù)過程中接收到的業(yè)務(wù)指令以及每個(gè)業(yè)務(wù)指令對應(yīng)的測試目標(biāo),以便后續(xù)對每個(gè)測試目標(biāo)執(zhí)行每個(gè)業(yè)務(wù)指令對應(yīng)的操作。[0080]在本發(fā)明實(shí)施例中,對該現(xiàn)網(wǎng)操作流進(jìn)行過濾和格式整理包括但不限于將該現(xiàn)網(wǎng)操作流包含的特殊字符替換為空格或者刪除。其中,該特殊符號為換行符、回車符、多個(gè)空格和注釋等。[0081]可選地,根據(jù)預(yù)先設(shè)定的執(zhí)行目標(biāo)與測試目標(biāo)的對應(yīng)關(guān)系,將業(yè)務(wù)指令的執(zhí)行目標(biāo)替換為測試目標(biāo)。處理業(yè)務(wù)過程的執(zhí)行目標(biāo)與測試目標(biāo)一一對應(yīng),如處理業(yè)務(wù)過程中接收到的業(yè)務(wù)指令為讀取該數(shù)據(jù)集群的目錄A中的數(shù)據(jù),該執(zhí)行目標(biāo)為目錄A中的數(shù)據(jù),則對應(yīng)的測試目標(biāo)為與實(shí)際數(shù)據(jù)邏輯隔離的測試結(jié)果數(shù)據(jù)中,與目錄A對應(yīng)的目錄a中的數(shù)據(jù)。[0082]進(jìn)一步可選地,根據(jù)預(yù)先設(shè)定的測試操作流與測試業(yè)務(wù)場景之間的對應(yīng)關(guān)系,將該數(shù)據(jù)集群的業(yè)務(wù)場景還原為該測試操作流對應(yīng)的測試業(yè)務(wù)場景,以便在還原后的測試業(yè)務(wù)場景下進(jìn)行測試。[0083]例如,參見圖2c,該圖2c所示為對業(yè)務(wù)指令的過濾和格式整理過程。該現(xiàn)網(wǎng)操作流保存在日志記錄或者數(shù)據(jù)庫記錄中,其中的一條業(yè)務(wù)指令為:[0084]“Hadoopjar\n[0085]Xxx.jar\t----[0086]Dmapredoutput,dir-[0087]OnlineTargetDirI...#-注釋-[0088]—user”時(shí),[0089]將該業(yè)務(wù)指令中的特殊符號“\n”、“\t”、空格、注釋等刪除,得到:[0090]“Hadoopjar[0091]Xxx.jar-[0092]Dmapredoutput,dir-[0093]OnlineTargetDirl-[0094]—user”[0095]分析得到業(yè)務(wù)指令的執(zhí)行目標(biāo)為“OnlineTargetDirl”,按照該執(zhí)行目標(biāo)與測試目標(biāo)對應(yīng)關(guān)系表,將執(zhí)行目標(biāo)替換為測試目標(biāo)“TestTargetDirl”,并將用戶替換為測試用戶“TestUser”,得到測試操作流中的業(yè)務(wù)指令:[0096]“Hadoopjar[0097]Xxx.jar-[0098]Dmapredoutput,dir-[0099]TestTargetDirl-[0100]—TestUser”[0101]將得到的測試操作流寫入數(shù)據(jù)庫中,對該測試操作流進(jìn)行場景還原,得到測試業(yè)務(wù)流,將該測試業(yè)務(wù)流寫入數(shù)據(jù)庫中。[0102]其中,執(zhí)行目標(biāo)與測試目標(biāo)的對應(yīng)關(guān)系表如表1所示,包括五個(gè)字段:業(yè)務(wù)ID(序列號)“query_id”、實(shí)際數(shù)據(jù)的數(shù)據(jù)庫“online_db”、執(zhí)行目標(biāo)“online_t”、測試結(jié)果數(shù)據(jù)的數(shù)據(jù)庫“test_db”和測試目標(biāo)“test_table”,執(zhí)行目標(biāo)“Onlineta”對應(yīng)的測試目標(biāo)為“Ttablel”。目標(biāo)替換后得到的測試操作流記錄表如表2所示,包括兩個(gè)字段:業(yè)務(wù)ID“query_id”和測試操作流“OperateFlow”。測試操作流與測試業(yè)務(wù)場景之間的對應(yīng)關(guān)系表如表3所示,包括三個(gè)字段:測試業(yè)務(wù)場景ID“scene_id”、還原順序“step_id”和業(yè)務(wù)ID“query_id”。[0103]表1[0104]【權(quán)利要求】1.一種用于數(shù)據(jù)集群的測試方法,其特征在于,所述方法包括:獲取測試權(quán)限,所述測試權(quán)限與數(shù)據(jù)集群處理業(yè)務(wù)的權(quán)限隔離;根據(jù)數(shù)據(jù)集群處理業(yè)務(wù)所用的計(jì)算資源,獲取測試計(jì)算資源;獲取所述數(shù)據(jù)集群對所述業(yè)務(wù)的現(xiàn)網(wǎng)操作流和現(xiàn)網(wǎng)結(jié)果數(shù)據(jù),所述現(xiàn)網(wǎng)結(jié)果數(shù)據(jù)包括現(xiàn)網(wǎng)業(yè)務(wù)指令的操作結(jié)果數(shù)據(jù)和處理業(yè)務(wù)過程的各項(xiàng)指標(biāo)的現(xiàn)網(wǎng)實(shí)際參數(shù);對所述現(xiàn)網(wǎng)操作流進(jìn)行還原處理,得到測試業(yè)務(wù)流,所述測試業(yè)務(wù)流包括處理所述業(yè)務(wù)過程中所接收到的業(yè)務(wù)指令;基于所述測試計(jì)算資源和所述測試權(quán)限,執(zhí)行所述測試業(yè)務(wù)流中的每一個(gè)業(yè)務(wù)指令對應(yīng)的操作,得到所述測試業(yè)務(wù)流的測試結(jié)果數(shù)據(jù),所述測試結(jié)果數(shù)據(jù)包括測試業(yè)務(wù)流中每一個(gè)業(yè)務(wù)指令對應(yīng)的操作結(jié)果數(shù)據(jù)和所述各項(xiàng)指標(biāo)的測試結(jié)果參數(shù);將所述現(xiàn)網(wǎng)結(jié)果數(shù)據(jù)和所述測試結(jié)果數(shù)據(jù)進(jìn)行一致性對比,輸出對比結(jié)果。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,基于所述測試計(jì)算資源和所述測試權(quán)限,執(zhí)行所述測試業(yè)務(wù)流中的每一個(gè)業(yè)務(wù)指令對應(yīng)的操作,得到所述各項(xiàng)指標(biāo)的測試結(jié)果數(shù)據(jù)之前,所述方法還包括:調(diào)節(jié)所述測試業(yè)務(wù)流中的業(yè)務(wù)指令,基于調(diào)節(jié)后的業(yè)務(wù)指令執(zhí)行測試過程。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,調(diào)節(jié)所述測試業(yè)務(wù)流中的業(yè)務(wù)指令,基于調(diào)節(jié)后的業(yè)務(wù)指令執(zhí)行測試過程包括:調(diào)節(jié)所述測試業(yè)務(wù)流中的業(yè)務(wù)指令的并發(fā)度,所述并發(fā)度包括指令并發(fā)度和映射/規(guī)約MR并發(fā)度中的至少一項(xiàng);根據(jù)調(diào)節(jié)后的并發(fā)度,下發(fā)業(yè)務(wù)指令;基于下發(fā)的業(yè)務(wù)指令執(zhí)行測試過程。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,根據(jù)調(diào)節(jié)后的并發(fā)度,下發(fā)業(yè)務(wù)指令包括:確定所述測試業(yè)務(wù)流中各個(gè)業(yè)務(wù)指令在所述現(xiàn)網(wǎng)操作流中的優(yōu)先級;按照優(yōu)先級從高到低的順序,依次獲取所述測試業(yè)務(wù)流中的業(yè)務(wù)指令,直至獲取到的業(yè)務(wù)指令數(shù)目到達(dá)調(diào)節(jié)后的指令并發(fā)度,下發(fā)獲取到的業(yè)務(wù)指令;和/或,按照優(yōu)先級從高到低的順序,依次獲取所述測試業(yè)務(wù)流中的業(yè)務(wù)指令,直至獲取到的業(yè)務(wù)指令在所述現(xiàn)網(wǎng)操作流中生成的映射Map任務(wù)和規(guī)約Reduce任務(wù)的個(gè)數(shù)和值到達(dá)調(diào)節(jié)后的MR并發(fā)度,下發(fā)獲取到的業(yè)務(wù)指令。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,確定所述測試業(yè)務(wù)流中各個(gè)業(yè)務(wù)指令在所述現(xiàn)網(wǎng)操作流中的優(yōu)先級包括:根據(jù)所述測試業(yè)務(wù)流中各個(gè)業(yè)務(wù)指令在所述現(xiàn)網(wǎng)操作流中所占的操作時(shí)長,確定各個(gè)業(yè)務(wù)指令在所述現(xiàn)網(wǎng)操作流中的優(yōu)先級;或,根據(jù)所述測試業(yè)務(wù)流中各個(gè)業(yè)務(wù)指令在所述現(xiàn)網(wǎng)操作流中生成的映射Map任務(wù)和規(guī)約Reduce任務(wù)的個(gè)數(shù),確定各個(gè)業(yè)務(wù)指令在所述現(xiàn)網(wǎng)操作流中的優(yōu)先級。6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:將所述測試業(yè)務(wù)流中每一個(gè)業(yè)務(wù)指令對應(yīng)的操作結(jié)果數(shù)據(jù)存儲在所述數(shù)據(jù)集群的預(yù)設(shè)庫表中,所述預(yù)設(shè)庫表與存儲所述現(xiàn)網(wǎng)業(yè)務(wù)指令的操作結(jié)果數(shù)據(jù)的庫表為同一數(shù)據(jù)集群的不同庫表;或,將所述測試業(yè)務(wù)流中每一個(gè)業(yè)務(wù)指令對應(yīng)的操作結(jié)果數(shù)據(jù)存儲在所述數(shù)據(jù)集群的預(yù)設(shè)目錄下,所述預(yù)設(shè)目錄與存儲現(xiàn)網(wǎng)業(yè)務(wù)指令的操作結(jié)果數(shù)據(jù)為同一個(gè)數(shù)據(jù)集群的不同目錄。7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:將所述各項(xiàng)指標(biāo)的測試結(jié)果數(shù)據(jù)與歷史版本的數(shù)據(jù)集群中各項(xiàng)指標(biāo)的測試結(jié)果數(shù)據(jù)進(jìn)行一致性對比,輸出與歷史版本之間的對比結(jié)果。8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述測試權(quán)限包括只讀當(dāng)前處理業(yè)務(wù)的數(shù)據(jù)的權(quán)限、只讀存儲的實(shí)際數(shù)據(jù)的權(quán)限和讀取/寫入測試結(jié)果數(shù)據(jù)的權(quán)限。9.一種用于數(shù)據(jù)集群的測試裝置,其特征在于,所述裝置包括:測試權(quán)限獲取模塊,用于獲取測試權(quán)限,所述測試權(quán)限與數(shù)據(jù)集群處理業(yè)務(wù)的權(quán)限隔離;資源獲取模塊,用于根據(jù)數(shù)據(jù)集群處理業(yè)務(wù)所用的計(jì)算資源,獲取測試計(jì)算資源;現(xiàn)網(wǎng)業(yè)務(wù)獲取模塊,用于獲取所述數(shù)據(jù)集群對所述業(yè)務(wù)的現(xiàn)網(wǎng)操作流和現(xiàn)網(wǎng)結(jié)果數(shù)據(jù),所述現(xiàn)網(wǎng)結(jié)果數(shù)據(jù)包括現(xiàn)網(wǎng)業(yè)務(wù)指令的操作結(jié)果數(shù)據(jù)和處理業(yè)務(wù)過程的各項(xiàng)指標(biāo)的現(xiàn)網(wǎng)實(shí)際參數(shù);還原模塊,用于對所述現(xiàn)網(wǎng)操作流進(jìn)行還原處理,得到測試業(yè)務(wù)流,所述測試業(yè)務(wù)流包括處理所述業(yè)務(wù)過程中所接收到的業(yè)務(wù)指令;測試結(jié)果數(shù)據(jù)獲取模塊,用于基于所述測試計(jì)算資源和所述測試權(quán)限,執(zhí)行所述測試業(yè)務(wù)流中的每一個(gè)業(yè)務(wù)指令對應(yīng)的操作,得到所述測試業(yè)務(wù)流的測試結(jié)果數(shù)據(jù),所述測試結(jié)果數(shù)據(jù)包括測試業(yè)務(wù)流中每一個(gè)業(yè)務(wù)指令對應(yīng)的操作結(jié)果數(shù)據(jù)和所述各項(xiàng)指標(biāo)的測試結(jié)果參數(shù);對比模塊,用于將所述現(xiàn)網(wǎng)結(jié)果數(shù)據(jù)和所述測試結(jié)果數(shù)據(jù)進(jìn)行一致性對比,輸出對比結(jié)果。10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括:調(diào)節(jié)模塊,用于調(diào)節(jié)所述測試業(yè)務(wù)流中的業(yè)務(wù)指令,基于調(diào)節(jié)后的業(yè)務(wù)指令執(zhí)行測試過程。11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述調(diào)節(jié)模塊包括:并發(fā)度調(diào)節(jié)單元,用于調(diào)節(jié)所述測試業(yè)務(wù)流中的業(yè)務(wù)指令的并發(fā)度,所述并發(fā)度包括指令并發(fā)度和映射/規(guī)約MR并發(fā)度中的至少一項(xiàng);指令下發(fā)單元,用于根據(jù)調(diào)節(jié)后的并發(fā)度,下發(fā)業(yè)務(wù)指令;測試執(zhí)行單元,用于基于下發(fā)的業(yè)務(wù)指令執(zhí)行測試過程。12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述指令下發(fā)單元包括:優(yōu)先級確定子單元,用于確定所述測試業(yè)務(wù)流中各個(gè)業(yè)務(wù)指令在所述現(xiàn)網(wǎng)操作流中的優(yōu)先級;指令下發(fā)子單元,用于按照優(yōu)先級從高到低的順序,依次獲取所述測試業(yè)務(wù)流中的業(yè)務(wù)指令,直至獲取到的業(yè)務(wù)指令數(shù)目到達(dá)調(diào)節(jié)后的指令并發(fā)度,下發(fā)獲取到的業(yè)務(wù)指令;和/或,指令下發(fā)子單元,還用于按照優(yōu)先級從高到低的順序,依次獲取所述測試業(yè)務(wù)流中的業(yè)務(wù)指令,直至獲取到的業(yè)務(wù)指令在所述現(xiàn)網(wǎng)操作流中生成的映射Map任務(wù)和規(guī)約Reduce任務(wù)的個(gè)數(shù)和值到達(dá)調(diào)節(jié)后的MR并發(fā)度,下發(fā)獲取到的業(yè)務(wù)指令。13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述優(yōu)先級確定子單元用于根據(jù)所述測試業(yè)務(wù)流中各個(gè)業(yè)務(wù)指令在所述現(xiàn)網(wǎng)操作流中所占的操作時(shí)長,確定各個(gè)業(yè)務(wù)指令在所述現(xiàn)網(wǎng)操作流中的優(yōu)先級;或,所述優(yōu)先級確定子單元用于根據(jù)所述測試業(yè)務(wù)流中各個(gè)業(yè)務(wù)指令在所述現(xiàn)網(wǎng)操作流中生成的映射Map任務(wù)和規(guī)約Reduce任務(wù)的個(gè)數(shù),確定各個(gè)業(yè)務(wù)指令在所述現(xiàn)網(wǎng)操作流中的優(yōu)先級。14.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括:第一存儲模塊,用于將所述測試業(yè)務(wù)流中每一個(gè)業(yè)務(wù)指令對應(yīng)的操作結(jié)果數(shù)據(jù)存儲在所述數(shù)據(jù)集群的預(yù)設(shè)庫表中,所述預(yù)設(shè)庫表與存儲所述現(xiàn)網(wǎng)業(yè)務(wù)指令的操作結(jié)果數(shù)據(jù)的庫表為同一數(shù)據(jù)集群的不同庫表;或,第二存儲模塊,用于將所述測試業(yè)務(wù)流中每一個(gè)業(yè)務(wù)指令對應(yīng)的操作結(jié)果數(shù)據(jù)存儲在所述數(shù)據(jù)集群的預(yù)設(shè)目錄下,所述預(yù)設(shè)目錄與存儲現(xiàn)網(wǎng)業(yè)務(wù)指令的操作結(jié)果數(shù)據(jù)為同一個(gè)數(shù)據(jù)集群的不同目錄。15.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括:歷史版本對比模塊,用于將所述各項(xiàng)指標(biāo)的測試結(jié)果數(shù)據(jù)與歷史版本的數(shù)據(jù)集群中各項(xiàng)指標(biāo)的測試結(jié)果數(shù)據(jù)進(jìn)行一致性對比,輸出與歷史版本之間的對比結(jié)果。16.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述測試權(quán)限包括只讀當(dāng)前處理業(yè)務(wù)的數(shù)據(jù)的權(quán)限、只讀存儲的實(shí)際數(shù)據(jù)的權(quán)限和讀取/寫入測試結(jié)果數(shù)據(jù)的權(quán)限?!疚臋n編號】H04L12/26GK104022913SQ201310697802【公開日】2014年9月3日申請日期:2013年12月18日優(yōu)先權(quán)日:2013年12月18日【發(fā)明者】徐天華,熊冬明,蔡偉崗,賀波,馬文韜申請人:深圳市騰訊計(jì)算機(jī)系統(tǒng)有限公司