MapReduce分布式系統(tǒng)的測試方法及設(shè)備的制作方法
【專利摘要】本發(fā)明提供一種MapReduce分布式系統(tǒng)的測試方法及設(shè)備。本發(fā)明實(shí)施例通過獲取待測試的MapReduce分布式系統(tǒng)的作業(yè)類型和接口類型,進(jìn)而根據(jù)預(yù)先配置的作業(yè)類型、接口類型與測試用例的對應(yīng)關(guān)系,確定與所述作業(yè)類型和所述接口類型對應(yīng)的測試用例,使得能夠利用輸入數(shù)據(jù)集,在所述MapReduce分布式系統(tǒng)上運(yùn)行所述測試用例,以獲得測試結(jié)果,由于采用與MapReduce分布式系統(tǒng)的作業(yè)類型和接口類型對應(yīng)的測試用例進(jìn)行性能測試,因此,可以全面地對MapReduce分布式系統(tǒng)的性能進(jìn)行基準(zhǔn)測試,從而提高了測試的可靠性和全面性。
【專利說明】MapReduce分布式系統(tǒng)的測試方法及設(shè)備
【【技術(shù)領(lǐng)域】】
[0001]本發(fā)明涉及通信技術(shù),尤其涉及一種MapReduce分布式系統(tǒng)的測試方法及設(shè)備?!尽颈尘凹夹g(shù)】】
[0002]近年來,隨著寬帶網(wǎng)絡(luò)技術(shù)與并行計算理論的快速發(fā)展,一種更簡化的分布式系統(tǒng)即映射和匯總(MapReduce)分布式系統(tǒng)應(yīng)運(yùn)而生,以為多種應(yīng)用提供服務(wù),例如,為搜索引擎提供服務(wù)。在MapReduce分布式系統(tǒng),例如,Hadoop系統(tǒng),中,一個數(shù)據(jù)處理過程稱為一個作業(yè)(Job),Job提交之后,將待處理數(shù)據(jù)分為N份,每份待處理數(shù)據(jù)由一個映射(Map)任務(wù)進(jìn)行處理,Map任務(wù)運(yùn)行在該MapReduce分布式系統(tǒng)中的一個節(jié)點(diǎn)設(shè)備上,一個節(jié)點(diǎn)設(shè)備上可以運(yùn)行一個或多個Map任務(wù);所有Map任務(wù)的輸出結(jié)果由匯總(Reduce)任務(wù)進(jìn)行匯總,輸出對應(yīng)的結(jié)果。其中,Hadoop是阿帕奇軟件基金下的一個開源項(xiàng)目。
[0003]為了評估MapReduce分布式系統(tǒng)的優(yōu)劣,可以對MapReduce分布式系統(tǒng)的性能進(jìn)行測試。然而,現(xiàn)有的測試方法中,對MapReduce分布式系統(tǒng)的性能測試得比較片面,從而導(dǎo)致了測試的可靠性和全面性的降低。
【
【發(fā)明內(nèi)容】
】
[0004]本發(fā)明的多個方面提供一種MapReduce分布式系統(tǒng)的測試方法及設(shè)備,用以提高測試的可靠性和全面性。
[0005]本發(fā)明的一方面,提供一種MapReduce分布式系統(tǒng)的測試方法,包括:
[0006]獲取待測試的MapReduce分布式系統(tǒng)的作業(yè)類型和接口類型;
[0007]根據(jù)預(yù)先配置的作業(yè)類型、接口類型與測試用例的對應(yīng)關(guān)系,確定與所述作業(yè)類型和所述接口類型對應(yīng)的測試用例;
[0008]利用輸入數(shù)據(jù)集,在所述MapReduce分布式系統(tǒng)上運(yùn)行所述測試用例,以獲得測試結(jié)果。
[0009]如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述利用生成的輸入數(shù)據(jù)集,在所述MapReduce分布式系統(tǒng)上運(yùn)行所述測試用例,以獲得測試結(jié)果之前,還包括:
[0010]接收用戶輸入的輸入數(shù)據(jù)量;
[0011 ] 根據(jù)所述輸入數(shù)據(jù)量,生成所述輸入數(shù)據(jù)集。
[0012]如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述利用輸入數(shù)據(jù)集,在所述MapReduce分布式系統(tǒng)上運(yùn)行所述測試用例,以獲得測試結(jié)果之后,還包括:
[0013]將所述測試結(jié)果寫入第一數(shù)據(jù)庫,所述第一數(shù)據(jù)庫為一維數(shù)據(jù)庫。
[0014]如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述將所述測試結(jié)果寫入第一數(shù)據(jù)庫之后,還包括:
[0015]根據(jù)輸出參數(shù),將所述第一數(shù)據(jù)庫中的所述測試結(jié)果寫入第二數(shù)據(jù)庫,所述第二數(shù)據(jù)庫為多維數(shù)據(jù)庫;
[0016]顯示所述第二數(shù)據(jù)庫中的所述測試結(jié)果。
[0017]如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述利用輸入數(shù)據(jù)集,在所述MapReduce分布式系統(tǒng)上運(yùn)行所述測試用例,以獲得測試結(jié)果之后,還包括:
[0018]根據(jù)所述測試結(jié)果,對所述MapReduce分布式系統(tǒng)進(jìn)行性能評估。
[0019]如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述作業(yè)類型包括CPU密集型、1密集型、Map任務(wù)CPU密集型、Reduce任務(wù)1密集型、迭代操作CPU密集型、聚類操作1密集型和指定應(yīng)用作業(yè)中的至少一個。
[0020]如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述接口類型包括Java接口、Streaming接口、Bistreaming接口和HCE接口中的至少一個。
[0021]本發(fā)明的另一方面,提供一種MapReduce分布式系統(tǒng)的測試設(shè)備,包括:
[0022]獲取單元,用于獲取待測試的MapReduce分布式系統(tǒng)的作業(yè)類型和接口類型;
[0023]確定單元,用于根據(jù)預(yù)先配置的作業(yè)類型、接口類型與測試用例的對應(yīng)關(guān)系,確定與所述作業(yè)類型和所述接口類型對應(yīng)的測試用例;
[0024]測試單元,用于利用輸入數(shù)據(jù)集,在所述MapReduce分布式系統(tǒng)上運(yùn)行所述測試用例,以獲得測試結(jié)果。
[0025]如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述設(shè)備還包括輸入單元,接收用戶輸入的輸入數(shù)據(jù)量;
[0026]測試單元,還用于根據(jù)所述輸入數(shù)據(jù)量,生成所述輸入數(shù)據(jù)集。
[0027]如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述設(shè)備還包括存儲單元,用于
[0028]將所述測試結(jié)果寫入第一數(shù)據(jù)庫,所述第一數(shù)據(jù)庫為一維數(shù)據(jù)庫。
[0029]如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述設(shè)備還包括展示單元,用于
[0030]根據(jù)輸出參數(shù),將所述第一數(shù)據(jù)庫中的所述測試結(jié)果寫入第二數(shù)據(jù)庫,所述第二數(shù)據(jù)庫為多維數(shù)據(jù)庫;以及顯示所述第二數(shù)據(jù)庫中的所述測試結(jié)果。
[0031]如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述設(shè)備還包括評估單元,用于
[0032]根據(jù)所述測試結(jié)果,對所述MapReduce分布式系統(tǒng)進(jìn)行性能評估。
[0033]如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述作業(yè)類型包括CPU密集型、1密集型、Map任務(wù)CPU密集型、Reduce任務(wù)1密集型、迭代操作CPU密集型、聚類操作1密集型和指定應(yīng)用作業(yè)中的至少一個。
[0034]如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述接口類型包括Java接口、Streaming接口、Bistreaming接口和HCE接口中的至少一個。
[0035]由上述技術(shù)方案可知,本發(fā)明實(shí)施例通過獲取待測試的MapReduce分布式系統(tǒng)的作業(yè)類型和接口類型,進(jìn)而根據(jù)預(yù)先配置的作業(yè)類型、接口類型與測試用例的對應(yīng)關(guān)系,確定與所述作業(yè)類型和所述接口類型對應(yīng)的測試用例,使得能夠利用輸入數(shù)據(jù)集,在所述MapReduce分布式系統(tǒng)上運(yùn)行所述測試用例,以獲得測試結(jié)果,由于采用與MapReduce分布式系統(tǒng)的作業(yè)類型和接口類型對應(yīng)的測試用例進(jìn)行性能測試,因此,可以全面地對MapReduce分布式系統(tǒng)的性能進(jìn)行基準(zhǔn)測試,從而提高了測試的可靠性和全面性。
【【專利附圖】
【附圖說明】】
[0036]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0037]圖1為本發(fā)明一實(shí)施例提供的MapReduce分布式系統(tǒng)的測試方法的流程示意圖;
[0038]圖2為圖1對應(yīng)的實(shí)施例中所顯示的測試結(jié)果的一可視示意圖;
[0039]圖3為圖1對應(yīng)的實(shí)施例中所顯示的測試結(jié)果的另一可視示意圖;
[0040]圖4為本發(fā)明另一實(shí)施例提供的MapReduce分布式系統(tǒng)的測試設(shè)備的結(jié)構(gòu)示意圖;
[0041]圖5為本發(fā)明另一實(shí)施例提供的MapReduce分布式系統(tǒng)的測試設(shè)備的結(jié)構(gòu)示意圖;
[0042]圖6為本發(fā)明另一實(shí)施例提供的MapReduce分布式系統(tǒng)的測試設(shè)備的結(jié)構(gòu)示意圖;
[0043]圖7為本發(fā)明另一實(shí)施例提供的MapReduce分布式系統(tǒng)的測試設(shè)備的結(jié)構(gòu)示意圖;
[0044]圖8為本發(fā)明另一實(shí)施例提供的MapReduce分布式系統(tǒng)的測試設(shè)備的結(jié)構(gòu)示意圖。
【【具體實(shí)施方式】】
[0045]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0046]另外,本文中術(shù)語“和/或”,僅僅是一種描述關(guān)聯(lián)對象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,A和/或B,可以表示:單獨(dú)存在A,同時存在A和B,單獨(dú)存在B這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對象是一種“或”的關(guān)系。
[0047]圖1為本發(fā)明一實(shí)施例提供的MapReduce分布式系統(tǒng)的測試方法的流程示意圖。
[0048]101、獲取待測試的MapReduce分布式系統(tǒng)的作業(yè)類型和接口類型。
[0049]102、根據(jù)預(yù)先配置的作業(yè)類型、接口類型與測試用例的對應(yīng)關(guān)系,確定與所述作業(yè)類型和所述接口類型對應(yīng)的測試用例。
[0050]103、利用輸入數(shù)據(jù)集,在所述MapReduce分布式系統(tǒng)上運(yùn)行所述測試用例,以獲得測試結(jié)果。
[0051]需要說明的是,101~103的執(zhí)行主體可以是一測試設(shè)備。
[0052]這樣,通過獲取待測試的MapReduce分布式系統(tǒng)的作業(yè)類型和接口類型,進(jìn)而根據(jù)預(yù)先配置的作業(yè)類型、接口類型與測試用例的對應(yīng)關(guān)系,確定與所述作業(yè)類型和所述接口類型對應(yīng)的測試用例,使得能夠利用輸入數(shù)據(jù)集,在所述MapReduce分布式系統(tǒng)上運(yùn)行所述測試用例,以獲得測試結(jié)果,由于采用與MapReduce分布式系統(tǒng)的作業(yè)類型和接口類型對應(yīng)的測試用例進(jìn)行性能測試,因此,可以全面地對MapReduce分布式系統(tǒng)的性能進(jìn)行基準(zhǔn)測試,從而提高了測試的可靠性和全面性。
[0053]可選地,在本實(shí)施例的一個可能的實(shí)現(xiàn)方式中,在102之前,測試設(shè)備還可以進(jìn)一步配置作業(yè)類型、接口類型與測試用例的對應(yīng)關(guān)系,以供該測試設(shè)備執(zhí)行102。其中,所述作業(yè)類型、接口類型與測試用例的對應(yīng)關(guān)系可以如表1所示。
[0054]表1作業(yè)類型、接口類型與測試用例的對應(yīng)關(guān)系
[0055]
【權(quán)利要求】
1.一種MapReduce分布式系統(tǒng)的測試方法,其特征在于,包括: 獲取待測試的MapReduce分布式系統(tǒng)的作業(yè)類型和接口類型; 根據(jù)預(yù)先配置的作業(yè)類型、接口類型與測試用例的對應(yīng)關(guān)系,確定與所述作業(yè)類型和所述接口類型對應(yīng)的測試用例; 利用輸入數(shù)據(jù)集,在所述MapReduce分布式系統(tǒng)上運(yùn)行所述測試用例,以獲得測試結(jié)果.
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述利用輸入數(shù)據(jù)集,在所述MapReduce分布式系統(tǒng)上運(yùn)行所述測試用例,以獲得測試結(jié)果之前,還包括: 接收用戶輸入的輸入數(shù)據(jù)量; 根據(jù)所述輸入數(shù)據(jù)量,生成所述輸入數(shù)據(jù)集。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述利用輸入數(shù)據(jù)集,在所述MapReduce分布式系統(tǒng)上運(yùn)行所述測試用例,以獲得測試結(jié)果之后,還包括: 將所述測試結(jié)果寫入第一數(shù)據(jù)庫,所述第一數(shù)據(jù)庫為一維數(shù)據(jù)庫。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述將所述測試結(jié)果寫入第一數(shù)據(jù)庫之后,還包括: 根據(jù)輸出參數(shù),將所述第一數(shù)據(jù)庫中的所述測試結(jié)果寫入第二數(shù)據(jù)庫,所述第二數(shù)據(jù)庫為多維數(shù)據(jù)庫; 顯示所述第二數(shù)據(jù)庫中的所述測試結(jié)果。
5.根據(jù)權(quán)利要求1~4任一權(quán)利要求所述的方法,其特征在于,所述利用輸入數(shù)據(jù)集,在所述MapReduce分布式系統(tǒng)上運(yùn)行所述測試用例,以獲得測試結(jié)果之后,還包括: 根據(jù)所述測試結(jié)果,對所述MapReduce分布式系統(tǒng)進(jìn)行性能評估。
6.根據(jù)權(quán)利要求1~5任一權(quán)利要求所述的方法,其特征在于,所述作業(yè)類型包括CPU密集型、1密集型、Map任務(wù)CPU密集型、Reduce任務(wù)1密集型、迭代操作CPU密集型、聚類操作1密集型和指定應(yīng)用作業(yè)中的至少一個。
7.根據(jù)權(quán)利要求1~6任一權(quán)利要求所述的方法,其特征在于,所述接口類型包括Java 接口、Streaming 接口、Bistreaming 接口和 HCE 接口中的至少一個。
8.—種MapReduce分布式系統(tǒng)的測試設(shè)備,其特征在于,包括: 獲取單元,用于獲取待測試的MapReduce分布式系統(tǒng)的作業(yè)類型和接口類型; 確定單元,用于根據(jù)預(yù)先配置的作業(yè)類型、接口類型與測試用例的對應(yīng)關(guān)系,確定與所述作業(yè)類型和所述接口類型對應(yīng)的測試用例; 測試單元,用于利用輸入數(shù)據(jù)集,在所述MapReduce分布式系統(tǒng)上運(yùn)行所述測試用例,以獲得測試結(jié)果。
9.根據(jù)權(quán)利要求8所述的設(shè)備,其特征在于,所述設(shè)備還包括輸入單元,接收用戶輸入的輸入數(shù)據(jù)量; 測試單元,還用于根據(jù)所述輸入數(shù)據(jù)量,生成所述輸入數(shù)據(jù)集。
10.根據(jù)權(quán)利要求8或9所述的設(shè)備,其特征在于,所述設(shè)備還包括存儲單元,用于 將所述測試結(jié)果寫入第一數(shù)據(jù)庫,所述第一數(shù)據(jù)庫為一維數(shù)據(jù)庫。
11.根據(jù)權(quán)利要求10所述的設(shè)備,其特征在于,所述設(shè)備還包括展示單元,用于 根據(jù)輸出參數(shù),將所述第一數(shù)據(jù)庫中的所述測試結(jié)果寫入第二數(shù)據(jù)庫,所述第二數(shù)據(jù)庫為多維數(shù)據(jù)庫;以及顯示所述第二數(shù)據(jù)庫中的所述測試結(jié)果。
12.根據(jù)權(quán)利要求8~11任一權(quán)利要求所述的設(shè)備,其特征在于,所述設(shè)備還包括評估單元,用于 根據(jù)所述測試結(jié)果,對所述MapReduce分布式系統(tǒng)進(jìn)行性能評估。
13.根據(jù)權(quán)利要求8~12任一權(quán)利要求所述的設(shè)備,其特征在于,所述作業(yè)類型包括CPU密集型、1密集型、Map任務(wù)CPU密集型、Reduce任務(wù)1密集型、迭代操作CPU密集型、聚類操作1密集型和指定應(yīng)用作業(yè)中的至少一個。
14.根據(jù)權(quán)利要求8~13任一權(quán)利要求所述的設(shè)備,其特征在于,所述接口類型包括Java 接口、Streaming 接口、Bistreaming 接口和 HCE 接口中的至少一個。
【文檔編號】G06F17/30GK104077218SQ201310109307
【公開日】2014年10月1日 申請日期:2013年3月29日 優(yōu)先權(quán)日:2013年3月29日
【發(fā)明者】楊斐 申請人:百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司