一種對硬盤測試數(shù)據(jù)進行處理的方法及裝置的制造方法
【專利摘要】本發(fā)明提供了一種對硬盤測試數(shù)據(jù)進行處理的方法及裝置,該方法包括:獲取測試軟件Iometer對硬盤測試后形成的測試原文件;創(chuàng)建第一臨時文件以及第二臨時文件;從所述測試原文件中獲取對所述硬盤進行測試的至少一個測試策略,并將所述至少一個測試策略存儲到所述第一臨時文件中;從所述測試原文件中獲取每一個所述測試策略對應(yīng)的性能測試值,并將所述性能測試值存儲到所述第二臨時文件中;將所述第一臨時文件與第二臨時文件合并,形成測試結(jié)果文件。該裝置包括:獲取單元、創(chuàng)建單元、第一篩選單元、第二篩選單元及合并單元。本方案能夠提高對硬盤測試數(shù)據(jù)進行處理的效率。
【專利說明】
-種對硬盤測試數(shù)據(jù)進行處理的方法及裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及數(shù)據(jù)處理技術(shù)領(lǐng)域,特別設(shè)及一種對硬盤測試數(shù)據(jù)進行處理的方法及 裝置。
【背景技術(shù)】
[0002] 隨著計算機技術(shù)的不斷發(fā)展與進步,服務(wù)器由于其強大的運算能力W及穩(wěn)定的工 作狀態(tài),被廣泛應(yīng)用于各個領(lǐng)域。硬盤作為服務(wù)器必不可少的部件,主要用于存儲服務(wù)器應(yīng) 用程序W及用戶數(shù)據(jù)。硬盤的讀寫性能直接影響服務(wù)器對數(shù)據(jù)進行處理的速度,為了保證 服務(wù)器具有較快的數(shù)據(jù)處理速度,需要對服務(wù)器上的硬盤進行I/O測試,W檢測硬盤的數(shù)據(jù) 讀寫速度是否滿足使用要求。
[0003] 目前一般通過測試軟件Iometer對硬盤進行測試,Iometer對硬盤測試完成后,形 成相應(yīng)的測試原文件,從該測試源文件中獲取硬盤的性能測試值,根據(jù)性能測試值判斷硬 盤的讀寫性能是否滿足使用要求。
[0004] 通過Iometer對硬盤進行測試時,為了保證測試的全面性,Iometer形成的測試原 文件中包括大量的冗余數(shù)據(jù),測試原文件中的測試數(shù)據(jù)量非常大而且數(shù)據(jù)結(jié)構(gòu)繁雜,用戶 需要耗費大量的時間,通過人工查找的方式從繁雜的測試原文件中獲取所需的性能測試 值,因此對硬盤測試數(shù)據(jù)進行處理的效率較低。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實施例提供了一種對硬盤測試數(shù)據(jù)進行處理的方法及裝置,能夠提高對硬 盤測試數(shù)據(jù)進行處理的效率。
[0006] 本發(fā)明實施例提供了一種對硬盤測試數(shù)據(jù)進行處理的方法,獲取測試軟件 Iometer對硬盤測試后形成的測試原文件,還包括:
[0007] 創(chuàng)建第一臨時文件W及第二臨時文件;
[0008] 從所述測試原文件中獲取對所述硬盤進行測試的至少一個測試策略,并將所述至 少一個測試策略存儲到所述第一臨時文件中;
[0009] 從所述測試原文件中獲取每一個所述測試策略對應(yīng)的性能測試值,并將所述性能 測試值存儲到所述第二臨時文件中;
[0010] 將所述第一臨時文件與第二臨時文件合并,形成測試結(jié)果文件。
[0011] 優(yōu)選地,所述測試策略包括:對硬盤進行測試時測試塊大小、讀寫占比W及讀寫類 型中的任意一個或多個,其中所述讀寫類型為隨機讀寫或順序讀寫;
[0012] 所述性能測試值包括:對硬盤進行檢測時硬盤每秒進行讀的次數(shù)、讀帶寬、每秒進 行寫的次數(shù)W及寫帶寬中的任意一個或多個。
[0013] 優(yōu)選地,所述創(chuàng)建第一臨時文件W及第二臨時文件包括:
[0014] 創(chuàng)建一個表格類型的文件作為所述第一臨時文件,并W所述測試塊大小、讀寫占 比W及讀寫類型中的任意一個或多個作為所述第一臨時文件的表頭項目;
[0015] 創(chuàng)建一個表格類型的文件作為所述第二臨時文件,并W所述硬盤每秒進行讀的次 數(shù)、讀帶寬、每秒進行寫的次數(shù)W及寫帶寬中的任意一個或多個作為所述第二臨時文件的 表頭項目。
[0016] 優(yōu)選地,所述從所述測試原文件中獲取對所述硬盤進行測試的至少一種測試策 略,并將所述至少一種測試策略存儲到所述第一臨時文件中包括:
[0017] 將所述第一臨時文件的各個所述表頭項目確定為第一關(guān)鍵字,從所述測試原文件 中匹配所述第一關(guān)鍵字,將匹配成功的每一組數(shù)據(jù)確定為一個測試策略,并將所述測試策 略包括的數(shù)據(jù)存儲到所述第一臨時文件中相應(yīng)的表頭項目下。
[0018] 優(yōu)選地,所述從所述測試原文件中獲取每一個所述測試策略對應(yīng)性能測試值,并 將所述性能測試值存儲到所述第二臨時文件中包括:
[0019] 針對于所述第一臨時文件中存儲的每一個所述測試策略,將該測試策略確定為第 二關(guān)鍵字,從所述源文件中匹配所述第二關(guān)鍵字,將匹配成功的數(shù)據(jù)確定為一個性能測試 值,并將所述性能測試值存儲到所述第二臨時文件中相應(yīng)的表頭項目下。
[0020] 優(yōu)選地,在所述將所述第一臨時文件與所述第二臨時文件合并,形成測試結(jié)果文 件后進一步包括:
[0021 ]將所述第一臨時文件及所述第二臨時文件刪除。
[0022] 本發(fā)明實施例還提供了一種對硬盤測試數(shù)據(jù)進行處理的裝置,包括:獲取單元、倉U 建單元、第一篩選單元、第二篩選單元及合并單元;
[0023] 所述獲取單元,用于獲取測試軟件Iometer對硬盤測試后形成的測試原文件;
[0024] 所述創(chuàng)建單元,用于創(chuàng)建第一臨時文件W及第二臨時文件;
[0025] 所述第一篩選單元,用于從所述獲取單元獲取到的測試原文件中獲取對所述硬盤 進行測試的至少一個測試策略,并將所述至少一個測試策略存儲到所述創(chuàng)建單元創(chuàng)建的第 一臨時文件中;
[0026] 所述第二篩選單元,用于從所述獲取單元獲取到的測試原文件中獲取所述第一篩 選單元獲取到的每一個所述測試策略對應(yīng)的性能測試值,并將所述性能測試值存儲到所述 創(chuàng)建單元創(chuàng)建的第二臨時文件中;
[0027] 所述合并單元,用于將所述創(chuàng)建單元創(chuàng)建的第一臨時文件及第二臨時文件合并, 形成測試結(jié)果文件。
[002引優(yōu)選地,
[0029] 所述創(chuàng)建單元,用于創(chuàng)建一個表格類型的文件作為所述第一臨時文件,并W所述 測試塊大小、讀寫占比W及讀寫類型中的任意一個或多個作為所述第一臨時文件的表頭項 目;創(chuàng)建一個表格類型的文件作為所述第二臨時文件,并W所述硬盤每秒進行讀的次數(shù)、讀 帶寬、每秒進行寫的次數(shù)W及寫帶寬中的任意一個或多個作為所述第二臨時文件的表頭項 目。
[0030] 優(yōu)選地,
[0031] 所述第一篩選單元,用于將所述第一臨時文件的各個所述表頭項目確定為第一關(guān) 鍵字,從所述測試原文件中匹配所述第一關(guān)鍵字,將匹配成功的每一組數(shù)據(jù)確定為一個測 試策略,并將所述測試策略包括的數(shù)據(jù)存儲到所述第一臨時文件中相應(yīng)的表頭項目下。
[00創(chuàng)優(yōu)選地,
[0033] 所述第二篩選單元,用于針對于所述第一臨時文件中存儲的每一個所述測試策 略,將該測試策略確定為第二關(guān)鍵字,從所述源文件中匹配所述第二關(guān)鍵字,將匹配成功的 數(shù)據(jù)確定為一個性能測試值,并將所述性能測試值存儲到所述第二臨時文件中相應(yīng)的表頭 項目下。
[0034] 優(yōu)選地,該裝置進一步包括:刪除單元:
[0035] 所述刪除單元,用于將所述第一臨時文件及所述第二臨時文件刪除。
[0036] 本發(fā)明實施例提供了一種對硬盤測試數(shù)據(jù)進行處理的方法及裝置,在測試軟件 Iometer形成測試原文件后,從測試原文件中獲取對硬盤測試時采用的至少一個測試策略, 將獲取到的測試策略存儲到創(chuàng)建的第一臨時文件中,從測試原文件中獲取硬盤在各個測試 策略下對應(yīng)的性能測試值,將獲取到的性能測試值存儲到創(chuàng)建的第二臨時文件中,將第一 臨時文件與第二臨時文件合并后形成測試結(jié)果文件。運樣,在測試結(jié)果文件中僅包括有對 硬盤進行測試的測試策略W及對應(yīng)的性能測試值,沒有繁雜的冗余數(shù)據(jù),通過測試結(jié)果文 件可W直接獲取硬盤的性能測試值,無需通過手動的方式逐行從測試原文件中查找性能測 試值,縮短了對硬盤測試數(shù)據(jù)進行處理的時間,從而提高了對硬盤數(shù)據(jù)進行處理的效率。
【附圖說明】
[0037] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明 的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可W根據(jù) 運些附圖獲得其他的附圖。
[0038] 圖1是本發(fā)明一個實施例提供的一種對硬盤測試數(shù)據(jù)進行處理的方法流程圖;
[0039] 圖2是本發(fā)明另一個實施例提供的一種對硬盤測試數(shù)據(jù)進行處理的方法流程圖;
[0040] 圖3是本發(fā)明一個實施例提供的一種對硬盤測試數(shù)據(jù)進行處理的裝置所在設(shè)備的 示意圖;
[0041 ]圖4是本發(fā)明一個實施例提供的一種對硬盤測試數(shù)據(jù)進行處理的裝置示意圖;
[0042] 圖5是本發(fā)明另一個實施例提供的一種對硬盤測試數(shù)據(jù)進行處理的裝置示意圖。
【具體實施方式】
[0043] 為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例 中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是 本發(fā)明一部分實施例,而不是全部的實施例,基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員 在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0044] 如圖1所示,本發(fā)明實施例提供了一種對硬盤測試數(shù)據(jù)進行處理的方法,該方法可 W包括W下步驟:
[0045] 步驟101:獲取測試軟件Iometer對硬盤測試后形成的測試原文件;
[0046] 步驟102:創(chuàng)建第一臨時文件W及第二臨時文件;
[0047] 步驟103:從所述測試原文件中獲取對所述硬盤進行測試的至少一個測試策略,并 將所述至少一個測試策略存儲到所述第一臨時文件中;
[0048] 步驟104:從所述測試原文件中獲取每一個所述測試策略對應(yīng)的性能測試值,并將 所述性能測試值存儲到所述第二臨時文件中;
[0049] 步驟105:將所述第一臨時文件與第二臨時文件合并,形成測試結(jié)果文件。
[0050] 本發(fā)明實施例提供了一種對硬盤測試數(shù)據(jù)進行處理的方法,在測試軟件Iometer 形成測試原文件后,從測試原文件中獲取對硬盤測試時采用的至少一個測試策略,將獲取 到的測試策略存儲到創(chuàng)建的第一臨時文件中,從測試原文件中獲取硬盤在各個測試策略下 對應(yīng)的性能測試值,將獲取到的性能測試值存儲到創(chuàng)建的第二臨時文件中,將第一臨時文 件與第二臨時文件合并后形成測試結(jié)果文件。運樣,在測試結(jié)果文件中僅包括有對硬盤進 行測試的測試策略W及對應(yīng)的性能測試值,沒有繁雜的冗余數(shù)據(jù),通過測試結(jié)果文件可W 直接獲取硬盤的性能測試值,無需通過手動的方式逐行從測試原文件中查找性能測試值, 縮短了對硬盤測試數(shù)據(jù)進行處理的時間,從而提高了對硬盤數(shù)據(jù)進行處理的效率。
[0051] 在本發(fā)明一個實施例中,測試策略中包括有對硬盤進行測試時采用的測試塊大 小、讀寫占比W及讀寫類型中的任意一個或多個,其中讀寫類型為隨機讀寫或順序讀寫;性 能測試值包括有對應(yīng)硬盤進行測試時硬盤每秒進行讀的次數(shù)、讀帶寬、每秒進行寫的次數(shù) W及寫帶寬中的任意一個或多個。運樣,通過該方法可W對不同測試策略下形成的硬盤測 試數(shù)據(jù)進行處理,同時可W從測試原文件中獲取包括不同內(nèi)容的性能測試值,提高了該對 硬盤測試數(shù)據(jù)進行處理的方法的適用性。
[0052] 在本發(fā)明一個實施例中,創(chuàng)建兩個表格類型的文件分別作為第一臨時文件和第二 臨時文件,第一臨時文件的表頭項目包括測試塊大小、讀寫占比W及讀寫類型中的任意一 個或多個,第二臨時文件的表頭項目包括硬盤每秒進行讀的次數(shù)、讀帶寬、每秒進行寫的次 數(shù)W及寫帶寬中的任意一個或多個。第一臨時文件和第二臨時文件作為存儲測試策略和性 能測試值的容器,通過設(shè)定表頭項目規(guī)定存儲測試策略和性能測試值的格式,保證獲取到 的測試策略及性能測試值能夠完整、準確的存儲。
[0053] 在本發(fā)明一個實施例中,W第一臨時文件的表頭項目作為第一關(guān)鍵字,從測試原 始文件中匹配第一關(guān)鍵字,匹配成功的每一組數(shù)據(jù)對應(yīng)一個測試策略,根據(jù)第一臨時文件 中由各個表頭項目確定的格式,將匹配出的各個測試策略包括的數(shù)據(jù)存儲到對應(yīng)的表頭項 目下。將第一臨時文件的表頭作為關(guān)鍵字從測試原文件中匹配測試策略,一方面可W獲取 到對硬盤進行測試時采用的各個測試策略,保證對硬盤測試數(shù)據(jù)進行處理的完整性;另一 方面可W保證獲取到的測試策略的格式滿足第一臨時文件的存儲要求。
[0054] 在本發(fā)明一個實施例中,W第一臨時文件中的各個測試策略作為第二關(guān)鍵字,從 測試原文件中匹配第二關(guān)鍵字,針對任意一個第二關(guān)鍵字,與該第二關(guān)鍵字匹配成功的一 組數(shù)據(jù)即為通過與該第二關(guān)鍵字相對應(yīng)的測試策略對硬盤進行測試時硬盤的性能測試值, 將與各個第二關(guān)鍵字匹配成功的性能測試值存儲到第二臨時文件中對應(yīng)的表頭項目下。W 第一臨時文件中的每一個測試策略作為第二關(guān)鍵字,能夠獲取到在各種測試策略下硬盤對 應(yīng)的性能測試值,從而保證最終獲取的測試結(jié)果文件中性能測試值的全面性,提高該對硬 盤測試數(shù)據(jù)進行處理的方法的準確性。
[0055] 在本發(fā)明一個實施例中,在將第一臨時文件與第二臨時文件合并形成測試結(jié)果文 件后,可W將第一臨時文件和第二臨時文件刪除。由于在形成測試結(jié)果文件后第一臨時文 件和第二臨時文件已經(jīng)沒有利用價值,將第一臨時文件及第二臨時文件刪除可W減少系統(tǒng) 內(nèi)存及存儲空間的占用。
[0056] 下面W通過多種測試策略對硬盤進行測試為例,對本發(fā)明實施例提供的對硬盤測 試數(shù)據(jù)進行處理的方法進行說明,如圖2所示,該方法包括:
[0057] 步驟201:獲取測試軟件Iometer對硬盤測試后形成的測試原文件。
[0058] 在本發(fā)明一個實施例中,通過設(shè)置測試軟件Iometer的測試參數(shù),使測試軟件 Iometer通過多種不同的測試策略對硬盤進行測試,測試完成后形成包括整個測試過程中 記錄數(shù)據(jù)的測試原文件。對硬盤的測試結(jié)果進行分析時,需要從測試原文件中獲取在各個 測試策略下硬盤對應(yīng)的性能測試值,導(dǎo)出測試軟件Iometer形成的測試原文件備用。
[0059] 例如,通過測試軟件Iometer對硬盤A進行測試結(jié)束后,形成包括8000行數(shù)據(jù)的測 試原文件,從測試軟件Iometer將該測試原文件輸出備用。
[0060] 步驟202:判斷是否接收到測試軟件Iometer輸出的測試原文件,如果是,執(zhí)行步驟 204,否則執(zhí)行步驟203;
[0061] 在本發(fā)明一個實施例中,測試軟件Iometer輸出的測試原文件作為數(shù)據(jù)處理的對 象,實時判斷是否接收到測試軟件Iometer輸出的測試原文件,當接收到測試原文件后,可 W開始對硬盤測試數(shù)據(jù)進行處理,相應(yīng)地執(zhí)行步驟204;如果沒有接收到測試原文件,需要 對測試人員做出提示,相應(yīng)地執(zhí)行步驟203。
[0062] 例如,檢測是否接收到測試軟件Iometer輸出的對于硬盤A的測試原文件,如果是, 開始對硬盤A的測試數(shù)據(jù)進行處理,相應(yīng)地執(zhí)行步驟204,否則通過顯示器向檢測人員發(fā)出 提示信息,相應(yīng)地執(zhí)行步驟203。
[0063] 步驟203:向測試人員發(fā)出提示信息,并結(jié)束當前流程。
[0064] 在本發(fā)明一個實施例中,如果沒有接收到測試軟件Iometer輸出測試原文件,則沒 有數(shù)據(jù)處理的對象,向測試人員發(fā)出無輸入數(shù)據(jù)的提示信息,然后結(jié)束當前流程。
[0065] 例如,通過腳本程序判斷是否接收到測試軟件Iometer輸出的對硬盤A進行測試后 形成的測試原文件,如果沒有接收到,通過顯示器向檢測人員發(fā)出相應(yīng)的提示信息,具體的 腳本程序如下:
[0066] if[$#-ne l];then{
[0067] echo"Usage:(./filter-iometer.sh name_windows_iometer_result)"
[006引 sle邱 I
[0069] exit
[0070] }
[0071] fi
[0072] 步驟204:創(chuàng)建用于存儲測試策略的第一臨時文件。
[0073] 在本發(fā)明一個實施例中,創(chuàng)建一個表格類型的文件作為第一臨時文件,并根據(jù)對 硬盤進行測試時設(shè)定的測試策略,將測試策略包括的各個項目作為第一臨時文件的表頭項 目,其中測試策略的項目包括測試塊大小、讀寫占比W及讀寫類型中的任意一個或多個,讀 寫類型為隨機讀寫或順序讀寫。
[0074] 例如,通過腳本程序創(chuàng)建一個表格類型的文件1 .CSV作為第一臨時文件,W測試塊 大?。╯ize)、讀寫占比(read_pe;rcentage) W及隨機占比(random_pe;rcentage)作為文件 1 . CSV的表頭,具體的腳本程序如下:
[0075] echo"size(KB)read_percenta邑e random-percenta邑e"〉l.csv
[0076] 通過上述腳本程序,形成表1所示的第一臨時文件,其中表1如下所示:
[0077] 表 1 「00781
[0079] 步驟205:從測試原文件中獲取測試策略,并將獲取到的各個測試策略存儲到第一 臨時文件中。
[0080] 在本發(fā)明一個實施例中,將步驟204中確定的第一臨時文件中的各個表頭項目確 定為第一關(guān)鍵字,從測試原文件中匹配第一關(guān)鍵字,將每一組匹配成功的數(shù)據(jù)作為一個測 試策略,將匹配出的各個測試策略存儲到步驟204中創(chuàng)建的第一臨時文件中,其中每一個測 試策略包括的各個項目存儲在第一臨時文件中對應(yīng)表頭項目下,獲取到對硬盤進行測試時 采用的各個測試策略。
[0081 ] 例如,通過腳本程序W文件1. CSV的表頭size、read_pe;rcentageW及random_ percentage作為關(guān)鍵字,中硬盤A對應(yīng)的測試原文件中進行匹配,共匹配成功6組不同的數(shù) 據(jù),將每一組數(shù)據(jù)作為一個測試策略存儲到文件1.CSV中,其中每一組數(shù)據(jù)中數(shù)據(jù)塊大小對 應(yīng)的值存儲在表頭size下,每一組數(shù)據(jù)中讀寫占比對應(yīng)的值存儲在表頭read_pe;rcentage 下,每一組數(shù)據(jù)中的隨機占比對應(yīng)的數(shù)據(jù)存儲在表頭random_pe;rcentage下,而且同一組數(shù) 據(jù)對應(yīng)的=個數(shù)值位于同一行。具體的獲取并存儲測試策略的腳本程序如下:
[0082] cat$l I sed-n"/~ 'size,/{n;p}"| awk-F" , " ' {p;rint$l"\t"$3"\t"$4"\t"} '〉〉 I . CSV
[0083] 通過上述腳本程序,將獲取到的6個測試策略存儲到文件I.CSV中后,形成如下表2 所示的第一臨時文件,其中表2如下所示:
[0084] 表 2
[0085]
[0086] 步驟206:創(chuàng)建用于存儲性能測試值的第二臨時文件。
[0087] 在本發(fā)明一個實施例中,創(chuàng)建一個表格類型的文件作為第二臨時文件,通過測試 軟件Iometer對硬盤的多個性能項目進行測試,W獲取包括多個性能項目的性能測試值,將 性能測試值包括的各個性能項目作為第二臨時文件的表頭項目,其中第二臨時文件的表頭 項目包括硬盤每秒進行讀的次數(shù)、讀帶寬、每秒進行寫的次數(shù)W及寫帶寬中的任意一個或 多個。
[0088] 例如,通過第二臨時文件創(chuàng)建腳本程序創(chuàng)建一個表格類型的文件2. CSV作為第二 臨時文件,W每秒進行讀的次數(shù)(read_iops)、讀帶寬(read_]\fflps)、每秒進行寫的次數(shù) (>1';[16_;[093)及寫帶寬(>1';[16_]/[893)作為文件2.。3¥的表頭,具體的第二臨時文件創(chuàng)建腳 本程序如下:
[0089] echo"write_iops write_MBps read_iops read_MBps"〉2.csv
[0090] 通過上述第二臨時文件創(chuàng)建腳本程序,形成如下表3所示的第二臨時文件,其中表 3如下所示:
[0091] 表3 「00971
[0093] 步驟207:從測試原文件中獲取性能測試值,并將獲取到的各個性能測試值存儲到 第二臨時文件中。
[0094] 在本發(fā)明一個實施例中,W步驟206中存儲到第一臨時文件中的每一個測試策略 作為一個第二關(guān)鍵字,從測試原文件中匹配各個第二關(guān)鍵字。每一個第二關(guān)鍵字匹配成功 一組數(shù)據(jù),該組數(shù)據(jù)即為通過該第二關(guān)鍵字對應(yīng)的測試策略對硬盤進行測試時硬盤的性能 測試值,將匹配出的各個性能測試值存儲到步驟206中創(chuàng)建的第二臨時文件中,其中每一個 性能測試值包括的各個性能項目的值存儲在第二臨時文件中對應(yīng)的表頭項目下,獲取到每 一種測試策略下硬盤對應(yīng)的性能測試值。
[00M]例如,通過性能測試值獲取及存儲腳本程序,W表2中每一行的3個數(shù)值作為第二 關(guān)鍵字在硬盤A的測試原文件中進行匹配,表2中每一行數(shù)據(jù)匹配出一組數(shù)據(jù)作為該行測試 策略對應(yīng)的性能測試值,將匹配出的6組數(shù)據(jù)存儲到表3所示的文件2.CSV中,其中每一組數(shù) 據(jù)中每秒進行讀的次數(shù)對應(yīng)的值存儲在表頭read_iops下,每一組數(shù)據(jù)中讀帶寬對應(yīng)的值 存儲在表頭read_]\fflps下,每一組數(shù)據(jù)中每秒進行寫的次數(shù)對應(yīng)的值存儲在表頭w;rite_ iops下,每一組數(shù)據(jù)中寫帶寬對應(yīng)的值存儲在表頭write_MBps下,而且同一組數(shù)據(jù)對應(yīng)的 四個位于同一行。具體的性能測試值獲取及存儲腳本程序如下:
[0096] cat$l I sed-n"/- 'I'ai'get Type ,/{n;p}" I awk-F"," ' {p;rint$9"\t"$12"\t"$8"\t" '〉〉2.csv
[0097] 通過上述性能測試值獲取及存儲腳本程序,將匹配出的6個性能測試值存儲到文 件2. CSV中后,形成如下表4所示的第二臨時文件,表4如下所示:
[009引 表4
[0099]
'[0100]步驟208:將第一臨時文件與第二臨時文件合并,形成測試結(jié)果文件。 '
[0101] 在本發(fā)明一個實施例中,在將測試策略存儲到第一臨時文件中,且將性能測試值 存儲到第二臨時文件中之后,將第一臨時文件與第二臨時文件合并,將測試策略與性能測 試值存儲到一個文件中,形成最終的測試結(jié)果文件,其中測試策略與對應(yīng)的性能測試值相 對應(yīng)。
[0102] 例如,通過合并腳本程序?qū)⒈?所示的第一臨時文件與表4所示的第二臨時文件合 并,將6個測試策略及各個測試策略對應(yīng)的性能測試值存儲到一個文件中,形成最終的測試 結(jié)果文件result-iometer-f i Iter. CSV,具體的合并腳本程序如下:
[0103] paste l.csv 2.csv〉result-iometer-filter.csv
[0104] 通過上述合并腳本程序?qū)⒈?所示的第一臨時文件與表4所示的第二臨時文件合 并,形成如下表5所示的測試結(jié)果文件'日31111:-;[0111日1日1-門11日1'.。3¥^日]1(1〇111_9日1'。日]11:日邑6為 0時對應(yīng)順序讀寫,random_pe;rcen化ge為1時對應(yīng)隨機讀寫,其中表5如下所示:
[0105] 表5
[0106]
[0107] 步驟209:將第一臨時文件與第二臨時文件刪除。
[0108] 在本發(fā)明一個實施例中,將第一臨時文件與第二臨時文件合并形成測試結(jié)果文件 后,第一臨時文件與第二臨時文件已經(jīng)失去利用價值,為節(jié)省內(nèi)存占用及存儲空間,將第一 臨時文件及第二臨時文件刪除。
[0109] 例如,通過刪除腳本程序?qū)⒌谝慌R時文件及第二臨時文件刪除,具體刪除腳本程 序如下所示:
[0110] rm-rf l.csv 2.csv
[0111] 通過上述刪除腳本程序,將第一臨時文件I. CSV及第二臨時文件2. CSV刪除。
[0112] 在本發(fā)明一個實施例中,對應(yīng)測試數(shù)據(jù)進行處理的方法可W通過腳本程序?qū)崿F(xiàn), 下面給出一種可W實現(xiàn)的腳本程序:
[0113] if[$#-ne l];then{
[0114] echo"Usage:(./filter-iometer.sh name_windows_iometer_result)"
[0115] sleep I
[0116] exit
[0117] }
[011 引 fi
[0119] echo"size(KB)read_percenta邑e random-percenta邑e"〉l.csv
[0120] cat$l I sed-n"/~ 'size,/{n;p}"| awk-F" , ' {p;rint$l"\t"$3"\t"$4"\t"} '〉〉 I . CSV
[0121] echo"write_iops write_MBps read_iops read_MBps"〉2.csv
[0122] cat$l I sed-n"/- 'I'ai'get Type ,/{n;p}" I awk-F"," ' {p;rint$9"\t"$12"\t"$8"\t" '〉〉2.csv
[0123] paste I.csv 2.csv>result-iometer-filter.csv
[0124] rm-rf I.csv 2.csv
[0125] 如圖3、圖4所示,本發(fā)明實施例提供了一種對硬盤測試數(shù)據(jù)進行處理的裝置。裝置 實施例可W通過軟件實現(xiàn),也可W通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。從硬件層面而言, 如圖3所示,為本發(fā)明實施例提供的對硬盤測試數(shù)據(jù)進行處理的裝置所在設(shè)備的一種硬件 結(jié)構(gòu)圖,除了圖3所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、W及非易失性存儲器之外,實施例中裝置 所在的設(shè)備通常還可W包括其他硬件,如負責處理報文的轉(zhuǎn)發(fā)忍片等等。W軟件實現(xiàn)為例, 如圖4所示,作為一個邏輯意義上的裝置,是通過其所在設(shè)備的CP閑尋非易失性存儲器中對 應(yīng)的計算機程序指令讀取到內(nèi)存中運行形成的。本實施例提供的對硬盤測試數(shù)據(jù)進行處理 的裝置,包括:獲取單元401、創(chuàng)建單元402、第一篩選單元403、第二篩選單元404及合并單元 405;
[0126] 獲取單元401,用于獲取測試軟件Iometer對硬盤測試后形成的測試原文件;
[0127] 創(chuàng)建單元402,用于創(chuàng)建第一臨時文件W及第二臨時文件;
[01%]第一篩選單元403,用于從獲取單元401獲取到的測試原文件中獲取對硬盤進行測 試的至少一個測試策略,并將至少一個測試策略存儲到創(chuàng)建單元402創(chuàng)建的第一臨時文件 中;
[0129] 第二篩選單元404,用于從獲取單元401獲取到的測試原文件中獲取第一篩選單元 403獲取到的每一個測試策略對應(yīng)的性能測試值,并將性能測試值存儲到創(chuàng)建單元402創(chuàng)建 的第二臨時文件中;
[0130] 合并單元405,用于將創(chuàng)建單元402創(chuàng)建的第一臨時文件及第二臨時文件合并,形 成測試結(jié)果文件。
[0131] 在本發(fā)明一個實施例中,創(chuàng)建單元402,用于創(chuàng)建一個表格類型的文件作為第一臨 時文件,并W測試塊大小、讀寫占比W及讀寫類型中的任意一個或多個作為第一臨時文件 的表頭項目;創(chuàng)建一個表格類型的文件作為第二臨時文件,并W硬盤每秒進行讀的次數(shù)、讀 帶寬、每秒進行寫的次數(shù)W及寫帶寬中的任意一個或多個作為第二臨時文件的表頭項目。
[0132] 在本發(fā)明一個實施例中,第一篩選單元403,用于將第一臨時文件的各個表頭項目 確定為第一關(guān)鍵字,從測試原文件中匹配第一關(guān)鍵字,將匹配成功的每一組數(shù)據(jù)確定為一 個測試策略,并將測試策略包括的數(shù)據(jù)存儲到第一臨時文件中相應(yīng)的表頭項目下。
[0133] 在本發(fā)明一個實施例中,第二篩選單元404,用于針對于第一臨時文件中存儲的每 一個測試策略,將該測試策略確定為第二關(guān)鍵字,從源文件中匹配第二關(guān)鍵字,將匹配成功 的數(shù)據(jù)確定為一個性能測試值,并將性能測試值存儲到第二臨時文件中相應(yīng)的表頭項目 下。
[0134] 在本發(fā)明一個實施例中,如圖5所示,該裝置進一步包括:刪除單元406;
[0135] 刪除單元406,用于將第一臨時文件及第二臨時文件刪除。
[0136] 上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實施 例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實施例中的敘述,此處不再寶述。
[0137] 本發(fā)明提供的各個實施例,至少具有如下有益效果:
[0138] 1、本發(fā)明實施例中,在測試軟件Iometer形成測試原文件后,從測試原文件中獲取 對硬盤測試時采用的至少一個測試策略,將獲取到的測試策略存儲到創(chuàng)建的第一臨時文件 中,從測試原文件中獲取硬盤在各個測試策略下對應(yīng)的性能測試值,將獲取到的性能測試 值存儲到創(chuàng)建的第二臨時文件中,將第一臨時文件與第二臨時文件合并后形成測試結(jié)果文 件。運樣,在測試結(jié)果文件中僅包括有對硬盤進行測試的測試策略W及對應(yīng)的性能測試值, 沒有繁雜的冗余數(shù)據(jù),通過測試結(jié)果文件可W直接獲取硬盤的性能測試值,無需通過手動 的方式逐行從測試原文件中查找性能測試值,縮短了對硬盤測試數(shù)據(jù)進行處理的時間,從 而提高了對硬盤數(shù)據(jù)進行處理的效率。
[0139] 2、本發(fā)明實施例中,創(chuàng)建的第一臨時文件的表頭可W包括測試塊大小、讀寫占比 W及讀寫類型中的任意一個或多個,運樣,通過各種測試策略對硬盤進行測試形成的測試 原文件,都可W通過本發(fā)明實施例提供的對硬盤測試數(shù)據(jù)進行處理的方法進行處理,提高 了該對硬盤測試數(shù)據(jù)進行處理的方法的適用性。
[0140] 3、本發(fā)明實施例中,創(chuàng)建的第二臨時文件的表頭可W包括硬盤每秒進行讀的次 數(shù)、讀帶寬、每秒進行寫的次數(shù)W及寫帶寬中的任意一個或多個,運樣,通過定義不同的第 二臨時文件的表頭,可W從測試原文件中獲取包括不同內(nèi)容的性能測試值,從而能夠根據(jù) 需求靈活的確定所需要的性能測試值,提高了該對硬盤測試數(shù)據(jù)進行處理的易用性。
[0141] 4、本發(fā)明實施例中,將測試策略及性能測試值分別存儲到不同的臨時文件中,然 后將兩個臨時文件合并形成測試結(jié)果文件,運樣可W提高從測試原文件中獲取測試策略及 性能測試值的速度,縮短獲取測試策略及性能測試值所需的時間,從而進一步提高了讀硬 盤測試數(shù)據(jù)進行處理的效率。
[0142] 5、本發(fā)明實施例中,在將第一臨時文件與第二臨時文件合并形成測試結(jié)果文件 后,第一臨時文件與第二臨時文件已經(jīng)失去利用價值,將第一臨時文件與第二臨時文件刪 除,可W減小系統(tǒng)內(nèi)存及存儲空間的占用,對硬盤測試數(shù)據(jù)進行處理的裝置的性能。
[0143] 需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個實體 或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示運些實體或操作之間存在 任何運種實際的關(guān)系或者順序。而且,術(shù)語"包括"、"包含"或者其任何其他變體意在涵蓋非 排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素, 而且還包括沒有明確列出的其他要素,或者是還包括為運種過程、方法、物品或者設(shè)備所固 有的要素。在沒有更多限制的情況下,由語句"包括一個......"限定的要素,并不排 除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
[0144] 本領(lǐng)域普通技術(shù)人員可W理解:實現(xiàn)上述方法實施例的全部或部分步驟可W通過 程序指令相關(guān)的硬件來完成,前述的程序可W存儲在計算機可讀取的存儲介質(zhì)中,該程序 在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:R〇M、RAM、磁碟或者光 盤等各種可W存儲程序代碼的介質(zhì)中。
[0145] 最后需要說明的是:W上所述僅為本發(fā)明的較佳實施例,僅用于說明本發(fā)明的技 術(shù)方案,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、 等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。
【主權(quán)項】
1. 一種對硬盤測試數(shù)據(jù)進行處理的方法,其特征在于,獲取測試軟件Iometer對硬盤測 試后形成的測試原文件,還包括: 創(chuàng)建第一臨時文件以及第二臨時文件; 從所述測試原文件中獲取對所述硬盤進行測試的至少一個測試策略,并將所述至少一 個測試策略存儲到所述第一臨時文件中; 從所述測試原文件中獲取每一個所述測試策略對應(yīng)的性能測試值,并將所述性能測試 值存儲到所述第二臨時文件中; 將所述第一臨時文件與第二臨時文件合并,形成測試結(jié)果文件。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述測試策略包括:對硬盤進行測試時測試塊大小、讀寫占比以及讀寫類型中的任意 一個或多個,其中所述讀寫類型為隨機讀寫或順序讀寫; 所述性能測試值包括:對硬盤進行檢測時硬盤每秒進行讀的次數(shù)、讀帶寬、每秒進行寫 的次數(shù)以及寫帶寬中的任意一個或多個。3. 根據(jù)權(quán)利要求2所述的方法,其特征在于, 所述創(chuàng)建第一臨時文件以及第二臨時文件包括: 創(chuàng)建一個表格類型的文件作為所述第一臨時文件,并以所述測試塊大小、讀寫占比以 及讀寫類型中的任意一個或多個作為所述第一臨時文件的表頭項目; 創(chuàng)建一個表格類型的文件作為所述第二臨時文件,并以所述硬盤每秒進行讀的次數(shù)、 讀帶寬、每秒進行寫的次數(shù)以及寫帶寬中的任意一個或多個作為所述第二臨時文件的表頭 項目。4. 根據(jù)權(quán)利要求3所述的方法,其特征在于, 所述從所述測試原文件中獲取對所述硬盤進行測試的至少一種測試策略,并將所述至 少一種測試策略存儲到所述第一臨時文件中包括: 將所述第一臨時文件的各個所述表頭項目確定為第一關(guān)鍵字,從所述測試原文件中匹 配所述第一關(guān)鍵字,將匹配成功的每一組數(shù)據(jù)確定為一個測試策略,并將所述測試策略包 括的數(shù)據(jù)存儲到所述第一臨時文件中相應(yīng)的表頭項目下。5. 根據(jù)權(quán)利要求3所述的方法,其特征在于, 所述從所述測試原文件中獲取每一個所述測試策略對應(yīng)性能測試值,并將所述性能測 試值存儲到所述第二臨時文件中包括: 針對于所述第一臨時文件中存儲的每一個所述測試策略,將該測試策略確定為第二關(guān) 鍵字,從所述源文件中匹配所述第二關(guān)鍵字,將匹配成功的數(shù)據(jù)確定為一個性能測試值,并 將所述性能測試值存儲到所述第二臨時文件中相應(yīng)的表頭項目下。6. 根據(jù)權(quán)利要求1至5中任意所述的方法,其特征在于, 在所述將所述第一臨時文件與所述第二臨時文件合并,形成測試結(jié)果文件后進一步包 括: 將所述第一臨時文件及所述第二臨時文件刪除。7. -種對硬盤測試數(shù)據(jù)進行處理的裝置,其特征在于,包括:獲取單元、創(chuàng)建單元、第一 篩選單元、第二篩選單元及合并單元; 所述獲取單元,用于獲取測試軟件Iometer對硬盤測試后形成的測試原文件; 所述創(chuàng)建單元,用于創(chuàng)建第一臨時文件以及第二臨時文件; 所述第一篩選單元,用于從所述獲取單元獲取到的測試原文件中獲取對所述硬盤進行 測試的至少一個測試策略,并將所述至少一個測試策略存儲到所述創(chuàng)建單元創(chuàng)建的第一臨 時文件中; 所述第二篩選單元,用于從所述獲取單元獲取到的測試原文件中獲取所述第一篩選單 元獲取到的每一個所述測試策略對應(yīng)的性能測試值,并將所述性能測試值存儲到所述創(chuàng)建 單元創(chuàng)建的第二臨時文件中; 所述合并單元,用于將所述創(chuàng)建單元創(chuàng)建的第一臨時文件及第二臨時文件合并,形成 測試結(jié)果文件。8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于, 所述創(chuàng)建單元,用于創(chuàng)建一個表格類型的文件作為所述第一臨時文件,并以所述測試 塊大小、讀寫占比以及讀寫類型中的任意一個或多個作為所述第一臨時文件的表頭項目; 創(chuàng)建一個表格類型的文件作為所述第二臨時文件,并以所述硬盤每秒進行讀的次數(shù)、讀帶 寬、每秒進行寫的次數(shù)以及寫帶寬中的任意一個或多個作為所述第二臨時文件的表頭項 目。9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于, 所述第一篩選單元,用于將所述第一臨時文件的各個所述表頭項目確定為第一關(guān)鍵 字,從所述測試原文件中匹配所述第一關(guān)鍵字,將匹配成功的每一組數(shù)據(jù)確定為一個測試 策略,并將所述測試策略包括的數(shù)據(jù)存儲到所述第一臨時文件中相應(yīng)的表頭項目下; 和/或, 所述第二篩選單元,用于針對于所述第一臨時文件中存儲的每一個所述測試策略,將 該測試策略確定為第二關(guān)鍵字,從所述源文件中匹配所述第二關(guān)鍵字,將匹配成功的數(shù)據(jù) 確定為一個性能測試值,并將所述性能測試值存儲到所述第二臨時文件中相應(yīng)的表頭項目 下。10. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,進一步包括:刪除單元: 所述刪除單元,用于將所述第一臨時文件及所述第二臨時文件刪除。
【文檔編號】G06F11/22GK106021047SQ201610321909
【公開日】2016年10月12日
【申請日】2016年5月13日
【發(fā)明人】閆碩
【申請人】浪潮電子信息產(chǎn)業(yè)股份有限公司