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