一種對(duì)bmc升降級(jí)穩(wěn)定性進(jìn)行測試的方法及裝置的制造方法
【專利摘要】本發(fā)明提供了一種對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的方法及裝置,該方法包括:確定對(duì)基板管理控制器BMC進(jìn)行升降級(jí)處理的目標(biāo)次數(shù);對(duì)所述BMC進(jìn)行升降級(jí)處理;獲取對(duì)所述BMC進(jìn)行升降級(jí)處理后所述BMC的狀態(tài)信息;判斷對(duì)所述BMC進(jìn)行升降級(jí)的總次數(shù)是否達(dá)到所述目標(biāo)次數(shù);如果否,執(zhí)行所述對(duì)所述BMC進(jìn)行升降級(jí)處理;如果是,根據(jù)各個(gè)所述狀態(tài)信息是否正常,進(jìn)一步判斷所述BMC的升降級(jí)穩(wěn)定性是否合格。該裝置包括:確定單元、處理單元、獲取單元、判斷單元及執(zhí)行單元。本方案能夠提高服務(wù)器的穩(wěn)定性。
【專利說明】
一種對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及計(jì)算機(jī)性能測試技術(shù)領(lǐng)域,特別涉及一種對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的方法及裝置。【背景技術(shù)】
[0002]隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展與進(jìn)步,計(jì)算機(jī)的應(yīng)用領(lǐng)域越來越廣泛,服務(wù)器作為一種高性能、高安全性的計(jì)算機(jī)也被廣泛應(yīng)用于通信、醫(yī)療、軍事、銀行等領(lǐng)域。為了能夠?qū)Ψ?wù)器進(jìn)行更全面的監(jiān)控以及更便捷的維護(hù),在服務(wù)器主板上設(shè)置有BMC( (Baseboard Management Controller,基板管理控制器)。由于BMC獨(dú)立于操作系統(tǒng),因而通過BMC可以實(shí)現(xiàn)對(duì)服務(wù)器進(jìn)行帶外監(jiān)控,并可以在服務(wù)器操作系統(tǒng)不響應(yīng)或未加載的情況下對(duì)服務(wù)器進(jìn)行開關(guān)機(jī)、信息提取等操作。
[0003]為了完善BMC的功能,需要不斷開發(fā)新的固件,以對(duì)BMC進(jìn)行升級(jí),同時(shí)一些用戶為了實(shí)現(xiàn)特定的目的需要對(duì)BMC進(jìn)行降級(jí),還原到原來的固件版本。[〇〇〇4]目前在對(duì)服務(wù)器進(jìn)行測試時(shí),僅對(duì)服務(wù)器的操作系統(tǒng)以及硬盤設(shè)備的穩(wěn)定性進(jìn)行測試,從而保證服務(wù)器在開始工作后能夠提供穩(wěn)定的計(jì)算服務(wù)。
[0005]由于BMC獨(dú)立于操作系統(tǒng),所以BMC在升級(jí)或降級(jí)過程出現(xiàn)異??赡軙?huì)影響服務(wù)器的操作系統(tǒng),造成服務(wù)器重啟或宕機(jī)。而目前對(duì)服務(wù)器進(jìn)行測試時(shí)不對(duì)BMC的升降級(jí)穩(wěn)定性進(jìn)行測試,BMC升級(jí)或降級(jí)可能造成服務(wù)器重啟或宕機(jī),因而服務(wù)器的穩(wěn)定性較低。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實(shí)施例提供了一種對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的方法及裝置,能夠提高服務(wù)器的穩(wěn)定性。
[0007]本發(fā)明實(shí)施例提供了一種對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的方法,包括:
[0008]確定對(duì)基板管理控制器BMC進(jìn)行升降級(jí)處理的目標(biāo)次數(shù);
[0009]對(duì)所述BMC進(jìn)行升降級(jí)處理;
[0010]獲取對(duì)所述BMC進(jìn)行升降級(jí)處理后所述BMC的狀態(tài)信息;
[0011]判斷對(duì)所述BMC進(jìn)行升降級(jí)的總次數(shù)是否達(dá)到所述目標(biāo)次數(shù);
[0012]如果否,執(zhí)行所述對(duì)所述BMC進(jìn)行升降級(jí)處理;[〇〇13]如果是,根據(jù)各個(gè)所述狀態(tài)信息是否正常,進(jìn)一步判斷所述BMC的升降級(jí)穩(wěn)定性是否合格。
[0014] 優(yōu)選地,所述對(duì)所述BMC進(jìn)行升降級(jí)處理包括:[〇〇15]預(yù)先設(shè)定一個(gè)初始值為1的計(jì)數(shù)值,判斷所述計(jì)數(shù)值是否為奇數(shù);[〇〇16]如果是,對(duì)所述BMC進(jìn)行升級(jí)處理,并對(duì)所述計(jì)數(shù)值加1;[〇〇17]如果否,對(duì)所述BMC進(jìn)行降級(jí)處理,并對(duì)所述計(jì)數(shù)值加1。[〇〇18]優(yōu)選地,所述判斷對(duì)所述BMC進(jìn)行升降級(jí)處理的總次數(shù)是否達(dá)到所述目標(biāo)次數(shù)包括:
[0019]將所述計(jì)數(shù)值與所述目標(biāo)次數(shù)進(jìn)行比較,如果所述計(jì)數(shù)值小于或等于所述目標(biāo)次數(shù),判斷對(duì)所述BMC進(jìn)行升降級(jí)處理的總次數(shù)未達(dá)到所述目標(biāo)次數(shù),如果所述計(jì)數(shù)值大于所述目標(biāo)次數(shù),判斷對(duì)所述BMC進(jìn)行升降級(jí)處理的總次數(shù)已達(dá)到所述目標(biāo)次數(shù)。
[0020]優(yōu)選地,所述獲取對(duì)所述BMC進(jìn)行升降級(jí)處理后所述BMC的狀態(tài)信息包括:[〇〇21]當(dāng)對(duì)所述BMC進(jìn)行升級(jí)處理時(shí),獲取升級(jí)處理后所述BMC的第一狀態(tài)信息,當(dāng)對(duì)所述BMC進(jìn)行降級(jí)處理時(shí),獲取降級(jí)處理后所述BMC的第二狀態(tài)信息,其中所述狀態(tài)信息包括所述第一狀態(tài)信息或所述第二狀態(tài)信息。[0〇22] 優(yōu)選地,[〇〇23]在所述獲取升級(jí)處理后所述BMC的第一狀態(tài)信息之后進(jìn)一步包括:
[0024]將所述第一狀態(tài)信息存儲(chǔ)到預(yù)設(shè)的升級(jí)日志文件中;[〇〇25]在所述獲取降級(jí)處理后所述BMC的第二狀態(tài)信息之后進(jìn)一步包括:
[0026]將所述第二狀態(tài)信息存儲(chǔ)到預(yù)設(shè)的降級(jí)日志文件中;[〇〇27]所述根據(jù)各個(gè)所述狀態(tài)信息是否正常,進(jìn)一步判斷所述BMC的升降級(jí)穩(wěn)定性是否合格包括:
[0028]判斷所述升級(jí)日志文件中記錄的各條第一狀態(tài)信息以及所述降級(jí)日志文件中記錄的各條第二狀態(tài)信息是否均未出現(xiàn)異常,如果是,確定所述BMC的升降級(jí)穩(wěn)定性合格,否則確定所述BMC的升降級(jí)穩(wěn)定性不合格。
[0029]優(yōu)選地,[〇〇3〇]所述狀態(tài)信息包括:BMC固件版本信息、BMC功能狀態(tài)信息、BMC資產(chǎn)信息、BMC的MAC 地址信息以及BMC系統(tǒng)事件日志中的任意一個(gè)或多個(gè)。
[0031]本發(fā)明實(shí)施例還提供了一種對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的裝置,包括:確定單元、處理單元、獲取單元、判斷單元及執(zhí)行單元;[〇〇32]所述確定單元,用于確定對(duì)基板管理控制器BMC進(jìn)行升降級(jí)處理的目標(biāo)次數(shù);[〇〇33] 所述處理單元,用于對(duì)所述BMC進(jìn)行升降級(jí)處理;[〇〇34] 所述獲取單元,用于獲取所述處理單元對(duì)所述BMC進(jìn)行升降級(jí)處理后所述BMC的狀態(tài)fg息;[〇〇35]所述判斷單元,用于判斷所述處理單元對(duì)所述BMC進(jìn)行升降級(jí)處理的總次數(shù)是否達(dá)到所述確定單元確定的目標(biāo)次數(shù);
[0036]所述執(zhí)行單元,用于根據(jù)所述判斷單元的判斷結(jié)果,如果否,觸發(fā)所述處理單元對(duì)所述BMC進(jìn)行升降級(jí)處理,如果是,根據(jù)所述獲取單元獲取到的各個(gè)狀態(tài)信息,進(jìn)一步判斷所述BMC的升降級(jí)穩(wěn)定性是否合格。[〇〇37] 優(yōu)選地,
[0038]所述處理單元,用于預(yù)先設(shè)定一個(gè)初始值為1的計(jì)數(shù)值,判斷所述計(jì)數(shù)值是否為奇數(shù),如果是,對(duì)所述BMC進(jìn)行升級(jí)處理,并對(duì)所述計(jì)數(shù)值加1;如果否,對(duì)所述BMC進(jìn)行降級(jí)處理,并對(duì)所述計(jì)數(shù)值加1。[〇〇39] 優(yōu)選地,
[0040]所述判斷單元,用于將所述計(jì)數(shù)值與所述目標(biāo)次數(shù)進(jìn)行比較,如果所述計(jì)數(shù)值小于或等于所述目標(biāo)次數(shù),判斷對(duì)所述BMC進(jìn)行升降級(jí)處理的總次數(shù)未達(dá)到所述目標(biāo)次數(shù),如果所述計(jì)數(shù)值大于所述目標(biāo)次數(shù),判斷對(duì)所述BMC進(jìn)行升降級(jí)處理的總次數(shù)已達(dá)到所述目標(biāo)次數(shù)。
[0041] 優(yōu)選地,[〇〇42]所述獲取單元,用于當(dāng)對(duì)所述BMC進(jìn)行升級(jí)處理時(shí),獲取升級(jí)處理后所述BMC的第一狀態(tài)信息,當(dāng)對(duì)所述BMC進(jìn)行降級(jí)處理時(shí),獲取降級(jí)處理后所述BMC的第二狀態(tài)信息,其中所述狀態(tài)信息包括所述第一狀態(tài)信息或所述第二狀態(tài)信息。[〇〇43] 優(yōu)選地,
[0044]所述獲取單元,進(jìn)一步用于將所述第一狀態(tài)信息存儲(chǔ)到預(yù)設(shè)的升級(jí)日志文件中, 將所述第二狀態(tài)信息存儲(chǔ)到預(yù)設(shè)的降級(jí)日志文件中;
[0045]所述執(zhí)行單元,用于判斷所述升級(jí)日志文件中記錄的各條第一狀態(tài)信息以及所述降級(jí)日志文件中記錄的各條第二狀態(tài)信息是否均未發(fā)生異常,如果是,確定所述BMC的升降級(jí)穩(wěn)定性合格,否則確定所述BMC的升降級(jí)穩(wěn)定性不合格。
[0046]本發(fā)明實(shí)施例提供了一種對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的方法及裝置,對(duì)BMC進(jìn)行升降級(jí)處理,獲取每次升降級(jí)處理后BMC的狀態(tài)信息,直至對(duì)BMC進(jìn)行升降級(jí)處理的次數(shù)達(dá)到設(shè)定的目標(biāo)次數(shù),根據(jù)每次升降級(jí)處理后獲取到的狀態(tài)信息是否正常判斷BMC的升降級(jí)穩(wěn)定性是否合格。這樣,對(duì)BMC進(jìn)行一定次數(shù)的升級(jí)處理及降級(jí)處理,根據(jù)升級(jí)處理或降級(jí)處理后BMC的狀態(tài)信息判斷對(duì)BMC的升級(jí)處理或降級(jí)處理是否造成了 BMC的狀態(tài)出現(xiàn)異常, 從而判斷BMC的升降級(jí)是否會(huì)對(duì)服務(wù)器的正常運(yùn)行造成影響,避免了 BMC升降級(jí)穩(wěn)定性較差影響服務(wù)器穩(wěn)定性的情況發(fā)生,從而提高了服務(wù)器的穩(wěn)定性。【附圖說明】
[0047]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。[〇〇48]圖1是本發(fā)明一個(gè)實(shí)施例提供的一種對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的方法流程圖;
[0049]圖2是本發(fā)明另一個(gè)實(shí)施例提供的一種對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的方法劉恒圖;
[0050]圖3是本發(fā)明一個(gè)實(shí)施例提供的一種對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的裝置所在設(shè)備的不意圖;[0051 ]圖4是本發(fā)明一個(gè)實(shí)施例提供的一種對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的裝置示意圖。 【具體實(shí)施方式】[〇〇52]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例,基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0053]如圖1所示,本發(fā)明實(shí)施例提供了一種對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的方法,該方法可以包括以下步驟:[〇〇54]步驟101:確定對(duì)基板管理控制器BMC進(jìn)行升降級(jí)處理的目標(biāo)次數(shù);
[0055] 步驟102:對(duì)所述BMC進(jìn)行升降級(jí)處理;[〇〇56] 步驟103:獲取對(duì)所述BMC進(jìn)行升降級(jí)處理后所述BMC的狀態(tài)信息;[〇〇57]步驟104:判斷對(duì)所述BMC進(jìn)行升降級(jí)的總次數(shù)是否達(dá)到所述目標(biāo)次數(shù),如果是,執(zhí)行步驟105,否則執(zhí)行步驟102;[〇〇58]步驟105:根據(jù)各個(gè)所述狀態(tài)信息是否正常,進(jìn)一步判斷所述BMC的升降級(jí)穩(wěn)定性是否合格。
[0059]本發(fā)明實(shí)施例提供了一種對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的方法,對(duì)BMC進(jìn)行升降級(jí)處理,獲取每次升降級(jí)處理后BMC的狀態(tài)信息,直至對(duì)BMC進(jìn)行升降級(jí)處理的次數(shù)達(dá)到設(shè)定的目標(biāo)次數(shù),根據(jù)每次升降級(jí)處理后獲取到的狀態(tài)信息是否正常判斷BMC的升降級(jí)穩(wěn)定性是否合格。這樣,對(duì)BMC進(jìn)行一定次數(shù)的升級(jí)處理及降級(jí)處理,根據(jù)升級(jí)處理或降級(jí)處理后 BMC的狀態(tài)信息判斷對(duì)BMC的升級(jí)處理或降級(jí)處理是否造成了 BMC的狀態(tài)出現(xiàn)異常,從而判斷BMC的升降級(jí)是否會(huì)對(duì)服務(wù)器的正常運(yùn)行造成影響,避免了 BMC升降級(jí)穩(wěn)定性較差影響服務(wù)器穩(wěn)定性的情況發(fā)生,從而提高了服務(wù)器的穩(wěn)定性。
[0060]在本發(fā)明一個(gè)實(shí)施例中,預(yù)先設(shè)定一個(gè)初始值為1的計(jì)數(shù)值,每次對(duì)BMC進(jìn)行升級(jí)處理或降級(jí)處理后,對(duì)計(jì)數(shù)值加1。每次對(duì)BMC進(jìn)行升降級(jí)處理之前,判斷計(jì)數(shù)值為奇數(shù)還是偶數(shù),當(dāng)計(jì)數(shù)值為奇數(shù)時(shí)對(duì)BMC進(jìn)行升級(jí)處理,當(dāng)計(jì)數(shù)值為偶數(shù)時(shí)對(duì)BMC進(jìn)行降級(jí)處理。這樣,通過判斷計(jì)數(shù)值的奇偶性,可以交替對(duì)BMC進(jìn)行升級(jí)處理和降級(jí)處理,使每一次對(duì)BMC進(jìn)行的升降級(jí)處理都會(huì)對(duì)BMC的固件版本進(jìn)行更新,保證每一次升降級(jí)處理的有效性。[0061 ]在本發(fā)明一個(gè)實(shí)施例中,由于計(jì)數(shù)值的初始值為1,而且每一次對(duì)BMC進(jìn)行升級(jí)處理或降級(jí)處理后動(dòng)會(huì)對(duì)計(jì)數(shù)值加1,因而計(jì)數(shù)值減1等于對(duì)BMC已經(jīng)進(jìn)行了的升級(jí)處理次數(shù)與降級(jí)處理次數(shù)之和,將計(jì)數(shù)值與目標(biāo)次數(shù)進(jìn)行比較便可以判斷出對(duì)BMC進(jìn)行的升降級(jí)次數(shù)是否達(dá)到了要求的次數(shù)。這樣,通過設(shè)定計(jì)數(shù)值既可以實(shí)現(xiàn)交替對(duì)BMC進(jìn)行升級(jí)處理和降級(jí)處理,還能夠確定對(duì)BMC進(jìn)行升降級(jí)處理已經(jīng)的完成次數(shù),并能夠在升降級(jí)處理次數(shù)達(dá)到目標(biāo)次數(shù)時(shí)自動(dòng)停止對(duì)BMC進(jìn)行升降級(jí)處理,提高了該對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的方法的易用性。[〇〇62]在本發(fā)明一個(gè)實(shí)施例中,對(duì)BMC進(jìn)行升降級(jí)處理后獲取到的狀態(tài)信息包括第一狀態(tài)信息或第二狀態(tài)信息,其中第一狀態(tài)信息是對(duì)BMC進(jìn)行升級(jí)處理后獲取到的狀態(tài)信息,第二狀態(tài)信息是對(duì)BMC進(jìn)行降級(jí)處理后獲取到的狀態(tài)信息。這樣分別獲取對(duì)BMC進(jìn)行升級(jí)處理及降級(jí)處理后BMC的狀態(tài)信息,可以分別確定BMC的升級(jí)穩(wěn)定性和降級(jí)穩(wěn)定性,從而確定具體是升級(jí)處理過程出現(xiàn)異常還是降級(jí)處理過程出現(xiàn)異常,以針對(duì)性對(duì)BMC進(jìn)行優(yōu)化設(shè)計(jì)。 [〇〇63]在本發(fā)明一個(gè)實(shí)施例中,在獲取到BMC的第一狀態(tài)信息之后,將第一狀態(tài)信息存儲(chǔ)到預(yù)設(shè)的升級(jí)日志文件中,在獲取到BMC的第二狀態(tài)信息之后,將第二狀態(tài)信息存儲(chǔ)到預(yù)設(shè)的降級(jí)日志文件中;在判斷BMC的升降級(jí)穩(wěn)定性是否合格時(shí),分別判斷升級(jí)日志文件中每條第一狀態(tài)信息以及降級(jí)日志文件中每條第二狀態(tài)信息是否均沒有出現(xiàn)異常,如果是則確定 BMC的升降級(jí)穩(wěn)定性合格,否則確定BMC的升降級(jí)穩(wěn)定性不合格。這樣,將每一次升級(jí)操作后獲取到的第一狀態(tài)信息存儲(chǔ)到升級(jí)日志文件中,將每一次降級(jí)操作后獲取到的第二狀態(tài)信息存儲(chǔ)到降級(jí)日志文件中,通過升級(jí)日志文件及降級(jí)日志文件可以獲悉對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的整個(gè)過程中BMC狀態(tài)信息的變化情況,一方面可以記錄測試過程,方便后期查驗(yàn),另一方面為BMC升降級(jí)穩(wěn)定性判斷提供參考。
[0064]在本發(fā)明一個(gè)實(shí)施例中,狀態(tài)信息中包括有BMC固件版本信息、BMC功能狀態(tài)信息、 BMC資產(chǎn)信息、BMC的MAC地址信息以及BMC系統(tǒng)事件日志中的任意一個(gè)或多個(gè)。這樣,通過 BMC的多個(gè)狀態(tài)信息對(duì)BMC的升降級(jí)穩(wěn)定性進(jìn)行評(píng)判,提高了對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的全面性及測試結(jié)果的準(zhǔn)確性。[〇〇65]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面以在windows系統(tǒng)下對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試為例,對(duì)本發(fā)明實(shí)施例提供的對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的方法作進(jìn)一步地詳細(xì)描述。
[0066]如圖2所示,本發(fā)明實(shí)施例提供了一種對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的方法,該方法可以包括以下步驟:[〇〇67] 步驟201:確定對(duì)BMC進(jìn)行升降級(jí)處理的目標(biāo)次數(shù)。[〇〇68] 在本發(fā)明一個(gè)實(shí)施例中,當(dāng)需要對(duì)一個(gè)服務(wù)器上的BMC進(jìn)行升降級(jí)穩(wěn)定性測試時(shí), 根據(jù)客戶的要求或者相應(yīng)地測試標(biāo)準(zhǔn),確定對(duì)BMC進(jìn)行升級(jí)處理及降級(jí)處理的總次數(shù)作為目標(biāo)次數(shù)。[〇〇69] 例如,根據(jù)客戶要求,需要對(duì)A型號(hào)的服務(wù)器上的BMC進(jìn)行400次升級(jí)測試,400次降級(jí)測試,并要求400次升級(jí)測試和400次降級(jí)測試BMC均不能出現(xiàn)異常情況,這樣,將對(duì)A型號(hào)服務(wù)器上的BMC進(jìn)行升降級(jí)處理的次數(shù)確定為800。
[0070] 步驟202:確定對(duì)BMC進(jìn)行升級(jí)處理的第一固件及對(duì)BMC進(jìn)行降級(jí)處理的第二固件。 [〇〇71]在本發(fā)明一個(gè)實(shí)施例中,在對(duì)BMC進(jìn)行升降級(jí)處理之前,確定兩個(gè)BMC固件,兩個(gè) BMC固件中第一固件的版本高于第二固件的版本,第一固件用于對(duì)BMC進(jìn)行升級(jí)處理,第二固件用于對(duì)BMC進(jìn)行降級(jí)處理。其中BMC的原有固件可以與第一固件或第二固件相同,也可以與第一固件及第二固件均不相同,當(dāng)原有固件與第一固件及第二固件均不相同時(shí),原有固件的版本可以比第一固件的版本高,或者比第二固件的版本低,或者位于第一固件的版本與第二固件的版本之間。
[0072] 例如,確定名稱為Cheetah_BMC_1.5.0_Ali_20150616的BMC固件為第一固件,確定名稱為alil211的BMC固件為第二固件,其中BMC的當(dāng)前固件版本與第二固件相同。[〇〇73]步驟203:判斷預(yù)設(shè)的計(jì)數(shù)值是否為奇數(shù),如果是,執(zhí)行步驟204,否則執(zhí)行步驟 206 〇
[0074]在本發(fā)明一個(gè)實(shí)施例中,預(yù)先確定一個(gè)初始值為1的計(jì)數(shù)值,在后續(xù)每一次對(duì)BMC 進(jìn)行升級(jí)處理或降級(jí)處理后都會(huì)對(duì)該計(jì)數(shù)值加1。每一次對(duì)BMC進(jìn)行升級(jí)處理或降級(jí)處理之前對(duì)計(jì)數(shù)值的奇偶性進(jìn)行一次判斷,如果計(jì)數(shù)值是奇數(shù),則對(duì)BMC進(jìn)行升級(jí)處理,相應(yīng)地執(zhí)行步驟204,如果計(jì)數(shù)值是偶數(shù),則對(duì)BMC進(jìn)行降級(jí)處理,相應(yīng)地執(zhí)行步驟206。[0〇75]例如,預(yù)先設(shè)定一個(gè)初始值為1的計(jì)數(shù)值number,通過計(jì)算腳本程序?qū)Ξ?dāng)前的計(jì)數(shù)值number進(jìn)行除以2的運(yùn)算,確定運(yùn)算結(jié)束后的余數(shù),如果余數(shù)是1,說明計(jì)數(shù)值number為奇數(shù),相應(yīng)地執(zhí)行步驟204;如果余數(shù)為0,說明計(jì)數(shù)值number為偶數(shù),相應(yīng)地執(zhí)行步驟206。具體地計(jì)算腳本程序如下所示:
[0076]set/a count= %number% % %2
[0077]if"%count%"= = "l"goto shengji
[0078]if count %//= = //〇//goto jiangji[〇〇79] 其中,腳本程序shengji為對(duì)BMC進(jìn)行升級(jí)處理的腳本程序,在步驟204中被執(zhí)行,腳本程序j i ang j i為對(duì)BMC進(jìn)行降級(jí)處理的腳本城西,在步驟***中被執(zhí)行。
[0080]步驟204:通過第一固件對(duì)BMC進(jìn)行升級(jí)處理。
[0081]在本發(fā)明一個(gè)實(shí)施例中,在判斷計(jì)數(shù)值為奇數(shù)后,讀取當(dāng)前的計(jì)數(shù)值,將當(dāng)前的計(jì)數(shù)值輸出到預(yù)設(shè)的升級(jí)日志文件中,記錄本次對(duì)BMC進(jìn)行升降級(jí)穩(wěn)定性測試的具體次數(shù)。通過步驟202中確定出的第一固件對(duì)BMC進(jìn)行升級(jí)處理,用第一固件替換BMC的當(dāng)前固件,實(shí)現(xiàn)對(duì)BMC進(jìn)行一次升級(jí)處理。[0〇82] 例如,執(zhí)行升級(jí)腳本程序shengji,調(diào)用刷新工具socflash_x64對(duì)BMC進(jìn)行升級(jí)處理,用第一固件〇166七&11_81?:_1.5.0_厶11_20150616替換81(:的當(dāng)前固件3111211,完成對(duì)81?: 進(jìn)行升級(jí)處理。具體的升級(jí)腳本程序shengji如下所示:
[0083]ipmitool?exe_I ms fru read 0./fru.bin
[0084]s〇cflash_x64if = Cheetah_BMC_1.5.0_Ali_20150616
[0085]ping-n 100 127.0.0.l>nul 2>nul[〇〇86]步驟205:獲取升級(jí)處理后BMC的第一狀態(tài)信息,將第一狀態(tài)信息存儲(chǔ)到升級(jí)日志文件中,對(duì)計(jì)數(shù)值加1后執(zhí)行步驟208。[〇〇87]在本發(fā)明一個(gè)實(shí)施例中,對(duì)BMC進(jìn)行升級(jí)處理完成后,對(duì)BMC固件版本信息、BMC功能狀態(tài)信息、BMC資產(chǎn)信息、BMC的MAC地址信息以及BMC系統(tǒng)事件日志中的任意一個(gè)或多個(gè)進(jìn)行獲取,將獲取到的BMC狀態(tài)信息作為第一狀態(tài)信息存儲(chǔ)到升級(jí)日志文件中,并對(duì)計(jì)數(shù)值加1后覆蓋原有計(jì)數(shù)值。然后針對(duì)新的計(jì)數(shù)值執(zhí)行步驟208。[〇〇88]例如,步驟204中提供的升級(jí)腳本程序shengji中還包括另外一部分程序代碼,該部分程序代碼用于獲取升級(jí)處理后BMC的BMC固件版本信息、BMC功能狀態(tài)信息、BMC資產(chǎn)信息、BMC的MAC地址信息以及BMC系統(tǒng)事件日志,將獲取到的BMC固件版本信息、BMC功能狀態(tài)信息、BMC資產(chǎn)信息、BMC的MAC地址信息以及BMC系統(tǒng)事件日志作為第一狀態(tài)信息存儲(chǔ)到升級(jí)日志文件shengji ? log中,然后對(duì)計(jì)數(shù)值number加1后覆蓋原有的計(jì)數(shù)值number。具體的升級(jí)腳本程序shengji包括的另外一部分程序代碼如下所示:
[0089]echo"Below is bmc vers1n〃>>shengj1.log
[0090]ipmitool.exe-1 ms raw 0x06 0x01>>shengj1.log BMC
[0091]echo"Below is sel list">>shengji?log
[0092]ipmitool.exe-1 ms sel list>>shengj1.log BMC
[0093]echo〃Below is ncsi status〃>>shengj1.log
[0094]ipmitool.exe-1 ms raw 0x3a 0x11 0x00>>shengj1.log
[0095]echo〃Below is fru informat1n”》jiangj1.log
[0096]ipmitool.exe-1 ms fru write 0./fru.bin
[0097]ping-n 10 127.0.0.l>nul 2>nul
[0098]ipmitool.exe-1 ms fru>>shengj1.log
[0099]echo"Below is MAC Address">>shengji?log
[0100]ipmitool.exe-1 ms lan print 1|find〃MAC Address〃>>shengj1.log
[0101]ipmitool.exe-1 ms lan print 8|find〃MAC Address〃>>shengj1.log
[0102]set/a number = number+l[〇1〇3] 步驟206:通過第二固件對(duì)BMC進(jìn)行降級(jí)處理D
[0104]在本發(fā)明一個(gè)實(shí)施例中,在判斷計(jì)數(shù)值為偶數(shù)后,讀取當(dāng)前的計(jì)數(shù)值,將當(dāng)前的計(jì)數(shù)值輸出到預(yù)設(shè)的降級(jí)日志文件中,記錄本次對(duì)BMC進(jìn)行升降級(jí)穩(wěn)定性測試的具體次數(shù)。通過步驟202中確定出的第二固件對(duì)BMC進(jìn)行降級(jí)處理,用第二固件替換BMC的當(dāng)前固件,實(shí)現(xiàn)對(duì)BMC進(jìn)行一次降級(jí)處理。[〇1〇5] 例如,通過降級(jí)腳本程序jiangji,調(diào)用刷新工具socflash_x64對(duì)BMC進(jìn)行降級(jí)處理,用第二固件ali 1211 替換BMC的當(dāng)前固件Cheetah_BMC_l ? 5 ? 0_A1 i_20150616,完成對(duì)BMC 進(jìn)行降級(jí)處理。具體的降級(jí)腳本程序jiangji如下所示:
[0106]ipmitool?exe_I ms fru read 0./fru.bin
[0107] socf lash_x64if = alil211
[0108]ping-n 100 127.0.0.l>nul 2>nul[〇1〇9]步驟207:獲取降級(jí)處理后BMC的第二狀態(tài)信息,將第二狀態(tài)信息存儲(chǔ)到降級(jí)日志文件中,并對(duì)計(jì)數(shù)值加1。
[0110]在本發(fā)明一個(gè)實(shí)施例中,對(duì)BMC進(jìn)行降級(jí)處理完成后,對(duì)BMC固件版本信息、BMC功能狀態(tài)信息、BMC資產(chǎn)信息、BMC的MAC地址信息以及BMC系統(tǒng)事件日志中的任意一個(gè)或多個(gè)進(jìn)行獲取,將獲取到的BMC狀態(tài)信息作為第二狀態(tài)信息存儲(chǔ)到降級(jí)日志文件中,并對(duì)計(jì)數(shù)值加1后覆蓋原有計(jì)數(shù)值。
[0111]例如,步驟206中提供的降級(jí)腳本程序jiangji中還包括另外一部分程序代碼,該部分程序代碼用于獲取降級(jí)處理后BMC的固件版本信息、BMC功能狀態(tài)信息、BMC資產(chǎn)信息、 BMC的MAC地址信息以及BMC系統(tǒng)事件日志,將獲取到的BMC固件版本信息、BMC功能狀態(tài)信息、BMC資產(chǎn)信息、BMC的MAC地址信息以及BMC系統(tǒng)事件日志作為第二狀態(tài)信息存儲(chǔ)到降級(jí)日志文件jiangji ? log中,然后對(duì)計(jì)數(shù)值number加1后覆蓋原有的計(jì)數(shù)值number。具體的降級(jí)腳本程序jiangji包括的另外一部分程序代碼如下所示:
[0112]echo〃Below is bmc vers1n”》jiangji?log
[0113]ipmitool?exe_I ms raw 0x06 0x01>>jiangj1.log
[0114]echo〃Below is sel list〃>>jiangji?log
[0115]ipmitool?exe_I ms sel list>>jiangj1.log
[0116]echo〃Below is ncsi status”》jiangji ? log
[0117]ipmitool?exe_I ms raw 0x3a 0x11 0x00>>jiangj1.log
[0118]echo^Below is fru informat1n"》jiangji?log
[0119]ipmitool?exe_I ms fru write 0./fru.bin
[0120]ping-n 10 127.0.0.l>nul 2>nul
[0121]ipmitool?exe_I ms fru>>jiangj1.log
[0122]echo"Below is MAC Address"〉〉jiangji?log
[0123]ipmitool?exe_I ms lan print 1|fincTMAC Address"〉〉jiangji?log
[0124]ipmitool?exe_I ms lan print 8|fincTMAC Address"〉〉jiangji?log
[0125]set/a number = number+l
[0126]步驟208:判斷計(jì)數(shù)值是否大于目標(biāo)次數(shù),如果是,執(zhí)行步驟209,否則執(zhí)行步驟 203〇
[0127]在本發(fā)明一個(gè)實(shí)施例中,在完成一次對(duì)BMC進(jìn)行的升級(jí)處理或降級(jí)處理后,將更新后的計(jì)數(shù)值與步驟201中確定的目標(biāo)次數(shù)進(jìn)行比較,如果計(jì)數(shù)值大于目標(biāo)次數(shù),說明對(duì)BMC 進(jìn)行升級(jí)處理與降級(jí)處理的總次數(shù)已將達(dá)到了要求的次數(shù),無需繼續(xù)對(duì)BMC進(jìn)行升級(jí)處理或降級(jí)處理,相應(yīng)地執(zhí)行步驟209;如果計(jì)數(shù)值小于或等于目標(biāo)次數(shù),說明對(duì)BMC進(jìn)行升級(jí)處理與降級(jí)處理的總次數(shù)還沒有達(dá)到要求的次數(shù),仍需要繼續(xù)對(duì)BMC進(jìn)行升級(jí)處理或降低處理,相應(yīng)地執(zhí)行步驟203。[〇128] 例如,判斷計(jì)數(shù)值number是否大于500,如果是,說明已經(jīng)對(duì)BMC進(jìn)行了400次升級(jí)處理和400次降級(jí)處理,對(duì)BMC進(jìn)行升降級(jí)處理的總次數(shù)已達(dá)到了客戶的要求,無需繼續(xù)對(duì) BMC進(jìn)行升降級(jí)處理,相應(yīng)地執(zhí)行步驟209;如果否,說明對(duì)BMC進(jìn)行升級(jí)處理或降級(jí)處理的次數(shù)還有沒有達(dá)到客戶的要求,還需要繼續(xù)對(duì)BMC進(jìn)行升級(jí)處理或降級(jí)處理,相應(yīng)地執(zhí)行步驟203。其中,當(dāng)計(jì)數(shù)值number等于500時(shí),還需要對(duì)BMC進(jìn)行一次降級(jí)處理便達(dá)到了客戶的要求。
[0129]步驟209:判斷升級(jí)日志文件中各條第一狀態(tài)信息以及降級(jí)日志文件中的各條第二狀態(tài)信息是否均未出現(xiàn)異常,如果是,執(zhí)行步驟210,否則執(zhí)行步驟211。[〇13〇]在本發(fā)明一個(gè)實(shí)施例中,對(duì)BMC進(jìn)行升級(jí)處理與降級(jí)處理的次數(shù)到達(dá)客戶或相應(yīng)標(biāo)準(zhǔn)的要求后,檢查升級(jí)日志文件中的各條第一狀態(tài)信息是否出現(xiàn)異常,并檢查降級(jí)日志文件中的各條第二狀態(tài)信息是否出現(xiàn)異常,如果升級(jí)日志文件中的各條第一狀態(tài)信息以及降級(jí)日志文件中的各條第二狀態(tài)信息均沒有出現(xiàn)異常,說明BMC的升降級(jí)過程沒有造成BMC 出現(xiàn)異常,相應(yīng)地執(zhí)行步驟210;如果升級(jí)日志文件中包括至少一條第一狀態(tài)信息出現(xiàn)異常,或者降級(jí)日志文件中包括至少一條第二狀態(tài)信息出現(xiàn)異常,或者升級(jí)日志文件中包括至少一條第一狀態(tài)信息出現(xiàn)異常且降級(jí)日志文件中包括至少一條第二狀態(tài)信息出現(xiàn)異常, 說明BMC的升降級(jí)過程造成了 BMC出現(xiàn)異常,相應(yīng)地執(zhí)行步驟211。
[0131]例如,對(duì)升級(jí)日志文件shengj1.log中每一次升級(jí)處理后獲取到的BMC的固件版本信息、BMC功能狀態(tài)信息、BMC資產(chǎn)信息、BMC的MAC地址信息以及BMC系統(tǒng)事件日志進(jìn)行檢查, 并對(duì)降級(jí)日志文件jiangj1.log中每一次降級(jí)處理后獲取到的BMC的固件版本信息、BMC功能狀態(tài)信息、BMC資產(chǎn)信息、BMC的MAC地址信息以及BMC系統(tǒng)事件日志進(jìn)行檢查,如果升級(jí)日志文件shengj1.log及降級(jí)日志文件jiangj1.log中的每一個(gè)BMC的固件版本信息、BMC功能狀態(tài)信息、BMC資產(chǎn)信息、BMC的MAC地址信息以及BMC系統(tǒng)事件日志均沒有出現(xiàn)異常,執(zhí)行步驟210;如果升級(jí)日志文件shengj1.log或降級(jí)日志文件jiangj1.log中存在任意一個(gè)BMC的固件版本信息、BMC功能狀態(tài)信息、BMC資產(chǎn)信息、BMC的MAC地址信息或BMC系統(tǒng)事件日志出現(xiàn)異常,執(zhí)行步驟210。
[0132]步驟210:確定BMC的升降級(jí)穩(wěn)定性合格,并結(jié)束當(dāng)前流程。
[0133]步驟211:確定BMC的升降級(jí)穩(wěn)定性不合格。
[0134]需要說明的是,判斷對(duì)BMC進(jìn)行升降級(jí)處理的總次數(shù)是否達(dá)到目標(biāo)次數(shù)的步驟可以在對(duì)BMC進(jìn)行升級(jí)處理或降級(jí)處理之后,也可以在對(duì)BMC進(jìn)行升級(jí)處理或降級(jí)處理之前。 下面以一個(gè)具體的腳本程序?qū)笠环N情況進(jìn)行說明,其中以#開頭的行為注釋內(nèi)容:
[0135]set/a number = 1
[0136]: loop
[0137]#如果需要更改升降級(jí)的總次數(shù),修改如下的800即可。
[0138]if//%number%//= = //800//goto end
[0139]set/a count = % number% % %2
[0140]#奇數(shù)升級(jí)處理[0141 ]if ^ % count %//= = //l ^goto shengji
[0142]#偶數(shù)降級(jí)處理
[0143]ifcount%"= = "(/’goto jiangji
[0144]:shengji[〇145]#將當(dāng)前是第幾次升級(jí)處理輸出到升級(jí)日志文件shengj1.log
[0146]echo〃This is%number% times//>>shengj1.log
[0147]#輸出時(shí)間戳到shengji ? log
[0148]echo%date% % time%>>shengj1.log
[0149]#如下為升級(jí)過程
[0150]ipmitool.exe-1 ms fru read 0./fru.bin
[0151]socflash—x64if = Cheetah—BMC—1.5.0—Ali—20150616
[0152]#BMC刷新完成之后需要時(shí)間生效,此處使用ping來實(shí)現(xiàn)延遲100秒
[0153]ping-n 100 127.0.0.l>nul 2>nul
[0154]#如下為BMC版本、sel內(nèi)容、fru信息的收集過程
[0155]echo"Below is bmc vers1n〃>>shengj1.log
[0156]ipmitool.exe-1 ms raw 0x06 0x01>>shengj1.log
[0157]echo"Below is sel list">>shengji?log
[0158]ipmitool.exe-1 ms sel list>>shengj1.log
[0159]echo"Below is ncsi status〃>>shengj1.log
[0160]ipmitool.exe-1 ms raw 0x3a 0x11 0x00>>shengj1.log [0161 ] echo〃Below is fru informat1n”》jiangj1.log
[0162]ipmitool.exe-1 ms fru write 0./fru.bin
[0163]ping-n 10 127.0.0.l>nul 2>nul
[0164]ipmitool.exe-1 ms fru>>shengj1.log
[0165]echo"Below is MAC Address">>shengji?log
[0166]ipmitool.exe-1 ms lan print 1|find〃MAC Address〃>>shengj1.log
[0167]ipmitool.exe-1 ms lan print 8|find〃MAC Address〃>>shengj1.log
[0168]set/a number = number+l
[0169]goto loop
[0170]jiangji[〇171]#將當(dāng)前是第幾次降級(jí)處理輸出到降級(jí)日志文件jiangj1.log
[0172]echo〃This is%number%times//>> jiangj1.log
[0173]echo% date% % time% >> jiangj1.log
[0174]#如下為降級(jí)過程
[0175]ipmitool.exe-1 ms fru read 0?/fru.bin
[0176]socf lash—x64if = ali 1211
[0177]ping-n 100 127.0.0.l>nul 2>nul
[0178]#如下為BMC版本、sel內(nèi)容、fru信息的收集過程
[0179]echo^Below is bmc vers1n〃>>jiangj1.log
[0180]ipmitool.exe-1 ms raw 0x06 0x01>>jiangj1.log
[0181]echo〃Below is sel list〃>>jiangj1.log
[0182]ipmitool.exe-1 ms sel 1 ist>>jiangj1.log
[0183]echo〃Below is ncsi status”》jiangj1.log
[0184]ipmitool.exe-1 ms raw 0x3a 0x11 0x00>>jiangj1.log
[0185]echo〃Below is fru informat1n”》jiangj1.log
[0186]ipmitool.exe-1 ms fru write 0./fru.bin
[0187]ping-n 10 127.0.0.l>nul 2>nul
[0188]ipmitool.exe-1 ms fru>>jiangj1.log
[0189]echo"Below is MAC Address"〉〉jiangji?log
[0190] ipmitool.exe-1 ms lan print 1|find〃MAC Address”》jiangj1.log
[0191] ipmitool.exe-1 ms lan print 8|find〃MAC Address”〉〉jiangj1.log
[0192]set/a number = number+l
[0193]goto loop
[0194]:end
[0195]exit
[0196]如圖3、圖4所示,本發(fā)明實(shí)施例提供了一種對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的裝置。 裝置實(shí)施例可以通過軟件實(shí)現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。從硬件層面而言,如圖3所示,為本發(fā)明實(shí)施例提供的對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖3所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲(chǔ)器之外,實(shí)施例中裝置所在的設(shè)備通常還可以包括其他硬件,如負(fù)責(zé)處理報(bào)文的轉(zhuǎn)發(fā)芯片等等。以軟件實(shí)現(xiàn)為例,如圖4所示,作為一個(gè)邏輯意義上的裝置,是通過其所在設(shè)備的CPU將非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。本實(shí)施例提供的對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的裝置,包括:確定單元401、處理單元402、獲取單元403、判斷單元404及執(zhí)行單元405;
[0197]確定單元401,用于確定對(duì)基板管理控制器BMC進(jìn)行升降級(jí)處理的目標(biāo)次數(shù);
[0198]處理單元402,用于對(duì)BMC進(jìn)行升降級(jí)處理;
[0199]獲取單元403,用于獲取處理單元402對(duì)BMC進(jìn)行升降級(jí)處理后BMC的狀態(tài)信息; [〇2〇〇] 判斷單元404,用于判斷處理單元402對(duì)BMC進(jìn)行升降級(jí)處理的總次數(shù)是否達(dá)到確定單元401確定的目標(biāo)次數(shù);[〇2〇1 ] 執(zhí)行單元405,用于根據(jù)判斷單元404的判斷結(jié)果,如果否,觸發(fā)處理單元402對(duì)BMC 進(jìn)行升降級(jí)處理,如果是,根據(jù)獲取單元403獲取到的各個(gè)狀態(tài)信息,進(jìn)一步判斷BMC的升降級(jí)穩(wěn)定性是否合格。[〇2〇2]在本發(fā)明一個(gè)實(shí)施例中,處理單元402,用于預(yù)先設(shè)定一個(gè)初始值為1的計(jì)數(shù)值,判斷計(jì)數(shù)值是否為奇數(shù),如果是,對(duì)BMC進(jìn)行升級(jí)處理,并對(duì)計(jì)數(shù)值加1;如果否,對(duì)BMC進(jìn)行降級(jí)處理,并對(duì)計(jì)數(shù)值加1。
[0203]在本發(fā)明一個(gè)實(shí)施例中,判斷單元404,用于將計(jì)數(shù)值與目標(biāo)次數(shù)進(jìn)行比較,如果計(jì)數(shù)值小于或等于目標(biāo)次數(shù),判斷對(duì)BMC進(jìn)行升降級(jí)處理的總次數(shù)未達(dá)到目標(biāo)次數(shù),如果計(jì)數(shù)值大于目標(biāo)次數(shù),判斷對(duì)BMC進(jìn)行升降級(jí)處理的總次數(shù)已達(dá)到目標(biāo)次數(shù);[〇2〇4] 在本發(fā)明一個(gè)實(shí)施例中,獲取單元403,用于當(dāng)對(duì)BMC進(jìn)行升級(jí)處理時(shí),獲取升級(jí)處理后BMC的第一狀態(tài)信息,當(dāng)對(duì)BMC進(jìn)行降級(jí)處理時(shí),獲取降級(jí)處理后BMC的第二狀態(tài)信息, 其中狀態(tài)信息包括第一狀態(tài)信息或第二狀態(tài)信息。[〇2〇5]在本發(fā)明一個(gè)實(shí)施例中,獲取單元403,進(jìn)一步用于將第一狀態(tài)信息存儲(chǔ)到預(yù)設(shè)的升級(jí)日志文件中,將第二狀態(tài)信息存儲(chǔ)到預(yù)設(shè)的降級(jí)日志文件中;執(zhí)行單元405,用于判斷升級(jí)日志文件中記錄的各條第一狀態(tài)信息以及降級(jí)日志文件中記錄的各條第二狀態(tài)信息是否均未發(fā)生異常,如果是,確定BMC的升降級(jí)穩(wěn)定性合格,否則確定BMC的升降級(jí)穩(wěn)定性不合格。
[0206]上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。
[0207]本發(fā)明提供的各個(gè)實(shí)施例,至少具有如下有益效果:[〇2〇8]1、對(duì)BMC進(jìn)行升降級(jí)處理,獲取每次升降級(jí)處理后BMC的狀態(tài)信息,直至對(duì)BMC進(jìn)行升降級(jí)處理的次數(shù)達(dá)到設(shè)定的目標(biāo)次數(shù),根據(jù)每次升降級(jí)處理后獲取到的狀態(tài)信息是否正常判斷BMC的升降級(jí)穩(wěn)定性是否合格。這樣,對(duì)BMC進(jìn)行一定次數(shù)的升級(jí)處理及降級(jí)處理,根據(jù)升級(jí)處理或降級(jí)處理后BMC的狀態(tài)信息判斷對(duì)BMC的升級(jí)處理或降級(jí)處理是否造成了 BMC 的狀態(tài)出現(xiàn)異常,從而判斷BMC的升降級(jí)是否會(huì)對(duì)服務(wù)器的正常運(yùn)行造成影響,避免了 BMC 升降級(jí)穩(wěn)定性較差影響服務(wù)器穩(wěn)定性的情況發(fā)生,從而提高了服務(wù)器的穩(wěn)定性。
[0209]2、本發(fā)明實(shí)施例提供的對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的方法不針對(duì)于某一種特定的服務(wù)器操作系統(tǒng),在各種服務(wù)器操作系統(tǒng)下均能夠通過該方法對(duì)BMC的升降級(jí)穩(wěn)定性進(jìn)行測試,提高了該對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的方法的適用性。[〇21〇]3、設(shè)定一個(gè)初始值為1的計(jì)數(shù)值,每次對(duì)BMC進(jìn)行升級(jí)處理或降級(jí)處理后對(duì)該計(jì)數(shù)值加1,這樣通過判斷計(jì)數(shù)值的奇偶性可以交替對(duì)BMC進(jìn)行升級(jí)處理和降級(jí)處理,使每一次對(duì)BMC進(jìn)行的升降級(jí)處理都會(huì)對(duì)BMC的固件版本進(jìn)行更新,保證每一次升降級(jí)處理的有效性。
[0211]4、每一次對(duì)BMC進(jìn)行升級(jí)處理后降級(jí)處理后都會(huì)對(duì)計(jì)數(shù)值加1,而且計(jì)數(shù)值的初始值為1,從而根據(jù)計(jì)數(shù)值的大小可以確定已經(jīng)對(duì)BMC進(jìn)行了的升降級(jí)處理的總次數(shù),將計(jì)數(shù)值與目標(biāo)次數(shù)進(jìn)行比較,可以實(shí)現(xiàn)在升降級(jí)總次數(shù)達(dá)到目標(biāo)次數(shù)時(shí)自動(dòng)停止對(duì)BMC進(jìn)行升降級(jí)處理,提高了該對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的方法的易用性。[〇212]5、對(duì)BMC進(jìn)行升降處理或降級(jí)處理后獲取的BMC的狀態(tài)信息包括BMC固件版本信息、BMC功能狀態(tài)信息、BMC資產(chǎn)信息、BMC的MAC地址信息以及BMC系統(tǒng)事件日志中的任意一個(gè)或多個(gè),通過BMC的多個(gè)狀態(tài)信息對(duì)BMC的升降級(jí)穩(wěn)定性進(jìn)行評(píng)判,提高了對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的全面性及測試結(jié)果的準(zhǔn)確性。[〇213]需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素, 而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè).......”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
[0214]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲(chǔ)在計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)中。[〇215]最后需要說明的是:以上所述僅為本發(fā)明的較佳實(shí)施例,僅用于說明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、 等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1.一種對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的方法,其特征在于,包括:確定對(duì)基板管理控制器BMC進(jìn)行升降級(jí)處理的目標(biāo)次數(shù);對(duì)所述BMC進(jìn)行升降級(jí)處理;獲取對(duì)所述BMC進(jìn)行升降級(jí)處理后所述BMC的狀態(tài)信息;判斷對(duì)所述BMC進(jìn)行升降級(jí)的總次數(shù)是否達(dá)到所述目標(biāo)次數(shù);如果否,執(zhí)行所述對(duì)所述BMC進(jìn)行升降級(jí)處理;如果是,根據(jù)各個(gè)所述狀態(tài)信息是否正常,進(jìn)一步判斷所述BMC的升降級(jí)穩(wěn)定性是否合 格。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對(duì)所述BMC進(jìn)行升降級(jí)處理包括:預(yù)先設(shè)定一個(gè)初始值為1的計(jì)數(shù)值,判斷所述計(jì)數(shù)值是否為奇數(shù);如果是,對(duì)所述BMC進(jìn)行升級(jí)處理,并對(duì)所述計(jì)數(shù)值加1;如果否,對(duì)所述BMC進(jìn)行降級(jí)處理,并對(duì)所述計(jì)數(shù)值加1。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述判斷對(duì)所述BMC進(jìn)行升降級(jí)處理的總次數(shù)是否達(dá)到所述目標(biāo)次數(shù)包括:將所述計(jì)數(shù)值與所述目標(biāo)次數(shù)進(jìn)行比較,如果所述計(jì)數(shù)值小于或等于所述目標(biāo)次數(shù), 判斷對(duì)所述BMC進(jìn)行升降級(jí)處理的總次數(shù)未達(dá)到所述目標(biāo)次數(shù),如果所述計(jì)數(shù)值大于所述 目標(biāo)次數(shù),判斷對(duì)所述BMC進(jìn)行升降級(jí)處理的總次數(shù)已達(dá)到所述目標(biāo)次數(shù)。4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述獲取對(duì)所述BMC進(jìn)行升降級(jí)處理后所述BMC的狀態(tài)信息包括:當(dāng)對(duì)所述BMC進(jìn)行升級(jí)處理時(shí),獲取升級(jí)處理后所述BMC的第一狀態(tài)信息,當(dāng)對(duì)所述BMC 進(jìn)行降級(jí)處理時(shí),獲取降級(jí)處理后所述BMC的第二狀態(tài)信息,其中所述狀態(tài)信息包括所述第 一狀態(tài)信息或所述第二狀態(tài)信息。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在所述獲取升級(jí)處理后所述BMC的第一狀態(tài)信息之后進(jìn)一步包括:將所述第一狀態(tài)信息存儲(chǔ)到預(yù)設(shè)的升級(jí)日志文件中;在所述獲取降級(jí)處理后所述BMC的第二狀態(tài)信息之后進(jìn)一步包括:將所述第二狀態(tài)信息存儲(chǔ)到預(yù)設(shè)的降級(jí)日志文件中;所述根據(jù)各個(gè)所述狀態(tài)信息是否正常,進(jìn)一步判斷所述BMC的升降級(jí)穩(wěn)定性是否合格 包括:判斷所述升級(jí)日志文件中記錄的各條第一狀態(tài)信息以及所述降級(jí)日志文件中記錄的 各條第二狀態(tài)信息是否均未出現(xiàn)異常,如果是,確定所述BMC的升降級(jí)穩(wěn)定性合格,否則確 定所述BMC的升降級(jí)穩(wěn)定性不合格。6.根據(jù)權(quán)利要求1至5中任一所述的方法,其特征在于,所述狀態(tài)信息包括:BMC固件版本信息、BMC功能狀態(tài)信息、BMC資產(chǎn)信息、BMC的MAC地址 信息以及BMC系統(tǒng)事件日志中的任意一個(gè)或多個(gè)。7.—種對(duì)BMC升降級(jí)穩(wěn)定性進(jìn)行測試的裝置,其特征在于,包括:確定單元、處理單元、 獲取單元、判斷單元及執(zhí)行單元;所述確定單元,用于確定對(duì)基板管理控制器BMC進(jìn)行升降級(jí)處理的目標(biāo)次數(shù);所述處理單元,用于對(duì)所述BMC進(jìn)行升降級(jí)處理;所述獲取單元,用于獲取所述處理單元對(duì)所述BMC進(jìn)行升降級(jí)處理后所述BMC的狀態(tài)信 息;所述判斷單元,用于判斷所述處理單元對(duì)所述BMC進(jìn)行升降級(jí)處理的總次數(shù)是否達(dá)到 所述確定單元確定的目標(biāo)次數(shù);所述執(zhí)行單元,用于根據(jù)所述判斷單元的判斷結(jié)果,如果否,觸發(fā)所述處理單元對(duì)所述 BMC進(jìn)行升降級(jí)處理,如果是,根據(jù)所述獲取單元獲取到的各個(gè)狀態(tài)信息,進(jìn)一步判斷所述 BMC的升降級(jí)穩(wěn)定性是否合格。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述處理單元,用于預(yù)先設(shè)定一個(gè)初始值為1的計(jì)數(shù)值,判斷所述計(jì)數(shù)值是否為奇數(shù), 如果是,對(duì)所述BMC進(jìn)行升級(jí)處理,并對(duì)所述計(jì)數(shù)值加1;如果否,對(duì)所述BMC進(jìn)行降級(jí)處理, 并對(duì)所述計(jì)數(shù)值加1。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述判斷單元,用于將所述計(jì)數(shù)值與所述目標(biāo)次數(shù)進(jìn)行比較,如果所述計(jì)數(shù)值小于或 等于所述目標(biāo)次數(shù),判斷對(duì)所述BMC進(jìn)行升降級(jí)處理的總次數(shù)未達(dá)到所述目標(biāo)次數(shù),如果所 述計(jì)數(shù)值大于所述目標(biāo)次數(shù),判斷對(duì)所述BMC進(jìn)行升降級(jí)處理的總次數(shù)已達(dá)到所述目標(biāo)次 數(shù);和/或,所述獲取單元,用于當(dāng)對(duì)所述BMC進(jìn)行升級(jí)處理時(shí),獲取升級(jí)處理后所述BMC的第一狀 態(tài)信息,當(dāng)對(duì)所述BMC進(jìn)行降級(jí)處理時(shí),獲取降級(jí)處理后所述BMC的第二狀態(tài)信息,其中所述 狀態(tài)信息包括所述第一狀態(tài)信息或所述第二狀態(tài)信息。10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述獲取單元,進(jìn)一步用于將所述第一狀態(tài)信息存儲(chǔ)到預(yù)設(shè)的升級(jí)日志文件中,將所 述第二狀態(tài)信息存儲(chǔ)到預(yù)設(shè)的降級(jí)日志文件中;所述執(zhí)行單元,用于判斷所述升級(jí)日志文件中記錄的各條第一狀態(tài)信息以及所述降級(jí) 日志文件中記錄的各條第二狀態(tài)信息是否均未發(fā)生異常,如果是,確定所述BMC的升降級(jí)穩(wěn) 定性合格,否則確定所述BMC的升降級(jí)穩(wěn)定性不合格。
【文檔編號(hào)】G06F11/26GK106021054SQ201610335044
【公開日】2016年10月12日
【申請(qǐng)日】2016年5月19日
【發(fā)明人】閆碩
【申請(qǐng)人】浪潮電子信息產(chǎn)業(yè)股份有限公司