本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種固件刷新對io影響時(shí)間的檢測方法和裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)對服務(wù)器的要求越來越高,技術(shù)的更新?lián)Q代時(shí)間越來越快,固件刷新頻率也越來越高。例如,為了滿足服務(wù)器和存儲裝置間信息傳輸?shù)囊螅枰ㄆ趯ba(hostbusadapter,主機(jī)總線適配器)卡中的固件進(jìn)行刷新。
固件刷新可能影響設(shè)備的io讀寫狀態(tài),造成io停止讀寫。但是,現(xiàn)有的方法無法檢測固件刷新對io影響時(shí)間。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種固件刷新對io影響時(shí)間的檢測方法和裝置,能夠確定固件刷新對io影響時(shí)間。
第一方面,本發(fā)明實(shí)施例提供了一種固件刷新對io影響時(shí)間的檢測方法,包括:
確定測試周期;
控制設(shè)備在所述測試周期中進(jìn)行固件刷新;
按照預(yù)設(shè)的采集周期采集所述設(shè)備的io讀寫狀態(tài);
根據(jù)所述設(shè)備的io讀寫狀態(tài),確定所述固件刷新對io影響時(shí)間。
優(yōu)選地,
進(jìn)一步包括:
確定所述測試周期中,所述固件刷新的時(shí)間;
所述根據(jù)所述設(shè)備的io讀寫狀態(tài),確定所述固件刷新對io影響時(shí)間,包括:
根據(jù)所述設(shè)備的io讀寫狀態(tài),確定所述設(shè)備的io停止讀寫時(shí)間;
根據(jù)所述固件刷新的時(shí)間和所述設(shè)備的io停止讀寫時(shí)間,確定所述固件刷新對io影響時(shí)間。
優(yōu)選地,
在所述根據(jù)所述設(shè)備的io讀寫狀態(tài),確定所述固件刷新對io影響時(shí)間之后,進(jìn)一步包括:
根據(jù)所述固件刷新對io影響時(shí)間生成提示信息,將所述提示信息發(fā)送給用戶。
優(yōu)選地,
所述設(shè)備,包括:主機(jī)總線適配器hba。
第二方面,本發(fā)明實(shí)施例提供了一種固件刷新對io影響時(shí)間的檢測裝置,包括:
確定單元,用于確定測試周期;
刷新單元,用于控制設(shè)備在所述確定單元確定的所述測試周期中進(jìn)行固件刷新;
采集單元,用于按照預(yù)設(shè)的采集周期采集所述設(shè)備的io讀寫狀態(tài);
處理單元,用于根據(jù)所述采集單元采集的所述設(shè)備的io讀寫狀態(tài),確定所述刷新單元中所述固件刷新對io影響時(shí)間。
優(yōu)選地,
所述確定單元,進(jìn)一步用于確定所述測試周期中,所述固件刷新的時(shí)間;
所述處理單元,用于根據(jù)所述采集單元采集的所述設(shè)備的io讀寫狀態(tài),確定所述設(shè)備的io停止讀寫時(shí)間;根據(jù)所述確定單元確定的所述固件刷新的時(shí)間和所述設(shè)備的io停止讀寫時(shí)間,確定所述固件刷新對io影響時(shí)間。
優(yōu)選地,
所述處理單元,進(jìn)一步用于根據(jù)所述固件刷新對io影響時(shí)間生成提示信息,將所述提示信息發(fā)送給用戶。
優(yōu)選地,
所述設(shè)備,包括:主機(jī)總線適配器hba。
第三發(fā)明,本發(fā)明實(shí)施例提供了一種可讀介質(zhì),包括執(zhí)行指令,當(dāng)存儲控制器的處理器執(zhí)行所述執(zhí)行指令時(shí),所述存儲控制器執(zhí)行上述任一實(shí)施例所述的方法。
第四發(fā)明,本發(fā)明實(shí)施例提供了一種存儲控制器,包括:處理器、存儲器和總線;
所述存儲器用于存儲執(zhí)行指令,所述處理器與所述存儲器通過所述總線連接,當(dāng)所述存儲控制器運(yùn)行時(shí),所述處理器執(zhí)行所述存儲器存儲的所述執(zhí)行指令,以使所述存儲控制器執(zhí)行上述任一實(shí)施例所述的方法。
本發(fā)明實(shí)施例提供了一種固件刷新對io影響時(shí)間的檢測方法和裝置,其中,該方法可以控制設(shè)備中的固件在測試周期內(nèi)進(jìn)行刷新,并根據(jù)固件刷新時(shí)設(shè)備的io讀寫狀態(tài),確定固件刷新對io影響時(shí)間。該方法能夠準(zhǔn)確獲取固件刷新對io影響時(shí)間,可用于驗(yàn)證固件產(chǎn)品的穩(wěn)定性。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一個(gè)實(shí)施例提供的一種固件刷新對io影響時(shí)間的檢測方法流程圖;
圖2是本發(fā)明另一個(gè)實(shí)施例提供的一種固件刷新對io影響時(shí)間的檢測方法流程圖;
圖3是本發(fā)明一個(gè)實(shí)施例提供的一種固件刷新對io影響時(shí)間的檢測裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例,基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1所示,本發(fā)明實(shí)施例提供了一種固件刷新對io影響時(shí)間的檢測方法,該方法可以包括以下步驟:
步驟101:確定測試周期;
步驟102:控制設(shè)備在測試周期中進(jìn)行固件刷新;
步驟103:按照預(yù)設(shè)的采集周期采集設(shè)備的io讀寫狀態(tài);
步驟104:根據(jù)設(shè)備的io讀寫狀態(tài),確定固件刷新對io影響時(shí)間。
在圖1所示的本發(fā)明實(shí)施例中,該方法可以控制設(shè)備中的固件在測試周期內(nèi)進(jìn)行刷新,并根據(jù)固件刷新時(shí)設(shè)備的io讀寫狀態(tài),確定固件刷新對io影響時(shí)間。該方法能夠準(zhǔn)確獲取固件刷新對io影響時(shí)間,可用于驗(yàn)證固件產(chǎn)品的穩(wěn)定性。
在本發(fā)明的一個(gè)實(shí)施例中,該方法還包括:確定測試周期中,固件刷新的時(shí)間;
根據(jù)設(shè)備的io讀寫狀態(tài),確定固件刷新對io影響時(shí)間,包括:
根據(jù)設(shè)備的io讀寫狀態(tài),確定設(shè)備的io停止讀寫時(shí)間;
根據(jù)固件刷新的時(shí)間和設(shè)備的io停止讀寫時(shí)間,確定固件刷新對io影響時(shí)間。
在本實(shí)施例中,在測試周期中,可以進(jìn)行多次固件刷新。因此,固件刷新對io影響時(shí)間為多次固件刷新累積的影響時(shí)間,相比于檢測單次固件刷新對io影響時(shí)間,該方法得到
的結(jié)果更加準(zhǔn)確、可靠性較高。
在本發(fā)明的一個(gè)實(shí)施例中,為了將檢測結(jié)果提供給用戶或者技術(shù)人員,以使其根據(jù)檢測結(jié)果確定固件產(chǎn)品的穩(wěn)定性,在根據(jù)設(shè)備的io讀寫狀態(tài),確定固件刷新對io影響時(shí)間之后,還包括:
根據(jù)固件刷新對io影響時(shí)間生成提示信息,將提示信息發(fā)送給用戶。
在本發(fā)明的一個(gè)實(shí)施例中,設(shè)備,包括:hba。
如下所示,是該方法的一種代碼實(shí)現(xiàn)方式:
#!/bin/bash
iostat-d-x-k1>>/home/iostat.log&
sleep5
date>>/home/flash1.log
./sas3flash-o-fmb_it20.bin>>/home/flash1.log
./sas3flash-bmpt3x64.rom>>/home/flash1.log
./sas3flash-bmptsas3.rom>>/home/flash1.log
date>>/home/flash1.log
sleep5
aaa=`ps-au|grepiostat|awk'{print$2}'|sed-n'1p'`
kill-9${aaa}>/dev/null2>&1
echo"testcomplete?。?!"
如圖2所示,本發(fā)明實(shí)施例以hba卡為例,對固件刷新對io影響時(shí)間的檢測方法進(jìn)行詳細(xì)地說明,該方法包括:
步驟201:確定測試周期。
確定測試周期為1min。
步驟202:控制hba卡在測試周期中進(jìn)行固件刷新。
步驟203:確定測試周期中,固件刷新的時(shí)間。
在測試周期中,固件可以進(jìn)行多次刷新,該固件刷新的時(shí)間為固件刷新的有效時(shí)間。
步驟204:按照預(yù)設(shè)的采集周期采集hba卡的io讀寫狀態(tài)。
可以對hba卡的io讀寫狀態(tài)進(jìn)行實(shí)時(shí)采集,也可以按照預(yù)設(shè)的周期進(jìn)行采集。
步驟205:根據(jù)hba卡的io讀寫狀態(tài),確定hba卡的io停止讀寫時(shí)間。
累積在固件刷新過程中io停止讀寫的時(shí)間,該時(shí)間為hba卡的io停止讀寫時(shí)間
步驟206:根據(jù)固件刷新的時(shí)間和設(shè)備的io停止讀寫時(shí)間,確定固件刷新對io影響時(shí)間。
例如,固件刷新的時(shí)間為50s,io停止讀寫時(shí)間為10s,則當(dāng)固件刷新的時(shí)間為50s時(shí),固件刷新對io影響時(shí)間為10s。需要說明的是,io停止讀寫時(shí)間與固件刷新的時(shí)間相關(guān),因此,固件刷新對io影響時(shí)間與固件刷新的時(shí)間相關(guān)。
步驟207:根據(jù)固件刷新對io影響時(shí)間生成提示信息,將提示信息發(fā)送給用戶。
如圖3所示,本發(fā)明實(shí)施例提供了一種固件刷新對io影響時(shí)間的檢測裝置,包括:
確定單元301,用于確定測試周期;
刷新單元302,用于控制設(shè)備在確定單元301確定的測試周期中進(jìn)行固件刷新;
采集單元303,用于按照預(yù)設(shè)的采集周期采集設(shè)備的io讀寫狀態(tài);
處理單元304,用于根據(jù)采集單元303采集的設(shè)備的io讀寫狀態(tài),確定刷新單元302中固件刷新對io影響時(shí)間。
在本發(fā)明的一個(gè)實(shí)施例中,確定單元301,進(jìn)一步用于確定測試周期中,固件刷新的時(shí)間;
處理單元304,用于根據(jù)采集單元303采集的設(shè)備的io讀寫狀態(tài),確定設(shè)備的io停止讀寫時(shí)間;根據(jù)301確定單元確定的固件刷新的時(shí)間和io停止讀寫時(shí)間,確定固件刷新對io影響時(shí)間。
在本發(fā)明的一個(gè)實(shí)施例中,處理單元304,進(jìn)一步用于根據(jù)固件刷新對io影響時(shí)間生成提示信息,將提示信息發(fā)送給用戶。
在本發(fā)明的一個(gè)實(shí)施例中,設(shè)備,包括:主機(jī)總線適配器hba。
本發(fā)明實(shí)施例提供了一種可讀介質(zhì),包括執(zhí)行指令,當(dāng)存儲控制器的處理器執(zhí)行執(zhí)行指令時(shí),存儲控制器執(zhí)行上述任一實(shí)施例的方法。
本發(fā)明實(shí)施例提供了一種存儲控制器,包括:處理器、存儲器和總線;
存儲器用于存儲執(zhí)行指令,處理器與存儲器通過總線連接,當(dāng)存儲控制器運(yùn)行時(shí),處理器執(zhí)行存儲器存儲的執(zhí)行指令,以使存儲控制器執(zhí)行上述任一實(shí)施例的方法。
上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。
綜上,本發(fā)明各個(gè)實(shí)施例至少具有如下效果:
1、在本發(fā)明實(shí)施例中,該方法可以控制設(shè)備中的固件在測試周期內(nèi)進(jìn)行刷新,并根據(jù)固件刷新時(shí)設(shè)備的io讀寫狀態(tài),確定固件刷新對io影響時(shí)間。該方法能夠準(zhǔn)確獲取固件刷新對io影響時(shí)間,可用于驗(yàn)證固件產(chǎn)品的穩(wěn)定性。
2、在本發(fā)明實(shí)施例中,固件刷新會造成設(shè)備的io停止讀寫,通過采集設(shè)備的io讀寫狀態(tài),可以確定設(shè)備的io停止讀寫時(shí)間,進(jìn)而確定固件刷新對io影響時(shí)間。
需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)······”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲在計(jì)算機(jī)可讀取的存儲介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲介質(zhì)包括:rom、ram、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)中。
最后需要說明的是:以上所述僅為本發(fā)明的較佳實(shí)施例,僅用于說明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。