本發(fā)明屬于服務(wù)器技術(shù)領(lǐng)域,尤其涉及一種服務(wù)器啟動(dòng)代碼的保護(hù)系統(tǒng)及保護(hù)方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,云計(jì)算、大數(shù)據(jù)、ai智能逐步走進(jìn)用戶的視野,滲透到社會(huì)的方方面面,給工作和生活帶來極大的便利。在這些技術(shù)的背后離不開核心設(shè)備-服務(wù)器。因此,服務(wù)器的可靠性和穩(wěn)定性對(duì)于當(dāng)今社會(huì)而言極其重要。
服務(wù)器啟動(dòng)時(shí)會(huì)先讀取存在flashmemory中的啟動(dòng)代碼,對(duì)系統(tǒng)進(jìn)行初始化,然后進(jìn)入正常工作狀態(tài)。若開關(guān)機(jī)過程系統(tǒng)電源不穩(wěn)定,或者讀寫flashmemory過程中突然掉電,這些不可控的因素產(chǎn)生的干擾都有可能引起啟動(dòng)代碼損壞,導(dǎo)致服務(wù)器不能開機(jī)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種服務(wù)器啟動(dòng)代碼的保護(hù)系統(tǒng),旨在解決現(xiàn)有技術(shù)中服務(wù)器開關(guān)機(jī)過程中出現(xiàn)異常狀況時(shí),引起啟動(dòng)代碼損壞,導(dǎo)致服務(wù)器不能開機(jī)的問題。
本發(fā)明是這樣實(shí)現(xiàn)的,一種服務(wù)器啟動(dòng)代碼的保護(hù)系統(tǒng),所述系統(tǒng)包括:
控制器,與服務(wù)器系統(tǒng)電源和cpu連接,用于分別對(duì)所述服務(wù)器系統(tǒng)電源和cpu進(jìn)行電源狀態(tài)監(jiān)測(cè),判斷所述服務(wù)器系統(tǒng)電源和cpu狀態(tài)信號(hào)的電平高低,當(dāng)所述服務(wù)器系統(tǒng)電源和cpu狀態(tài)信號(hào)均為高電平時(shí),判定所述服務(wù)器系統(tǒng)電源供電正常,當(dāng)所述服務(wù)器系統(tǒng)電源和cpu狀態(tài)信號(hào)中有一個(gè)或兩個(gè)的電平為低電平時(shí),判定所述服務(wù)器系統(tǒng)電源供電異常,并生成啟動(dòng)代碼保護(hù)指令;
與所述控制器信號(hào)連接的保護(hù)開關(guān),所述保護(hù)開關(guān)分別通過總線與所述cpu和flashmemory信號(hào)連接,用于接收所述控制器發(fā)送的啟動(dòng)代碼保護(hù)指令,控制切斷與所述cpu和flashmemory連接的總線;
備用電源,分別與所述控制器和保護(hù)開關(guān)連接,用于為所述控制器和保護(hù)開關(guān)供電。
作為一種改進(jìn)的方案,所述控制器和所述保護(hù)開關(guān)集成在復(fù)雜可編程邏輯器件cpld內(nèi)。
作為一種改進(jìn)的方案,所述復(fù)雜可編程邏輯器件cpld與所述cpu、所述flashmemory連接的總線為spi總線。
作為一種改進(jìn)的方案,所述復(fù)雜可編程邏輯器件cpld設(shè)有與所述spi總線連接的spi總線接口。
本發(fā)明的另一目的在于提供一種服務(wù)器啟動(dòng)代碼的保護(hù)方法,所述方法包括下述步驟:
控制器對(duì)服務(wù)器系統(tǒng)電源和cpu進(jìn)行電源狀態(tài)監(jiān)測(cè),并根據(jù)監(jiān)測(cè)結(jié)果生成啟動(dòng)代碼保護(hù)指令,并發(fā)送給所述保護(hù)開關(guān);
保護(hù)開關(guān)根據(jù)所述啟動(dòng)代碼保護(hù)指令,控制切斷與所述cpu和flashmemory連接的總線。
作為一種改進(jìn)的方案,所述控制器對(duì)服務(wù)器系統(tǒng)電源和cpu進(jìn)行電源狀態(tài)監(jiān)測(cè),并根據(jù)監(jiān)測(cè)結(jié)果生成啟動(dòng)代碼保護(hù)指令的步驟具體包括下述步驟:
對(duì)所述服務(wù)器系統(tǒng)電源和cpu進(jìn)行電源狀態(tài)監(jiān)測(cè);
判斷所述服務(wù)器系統(tǒng)電源和cpu狀態(tài)信號(hào)的電平高低;
當(dāng)所述服務(wù)器系統(tǒng)電源和cpu狀態(tài)信號(hào)均為高電平時(shí),判定所述服務(wù)器系統(tǒng)電源供電正常;
當(dāng)所述服務(wù)器系統(tǒng)電源和cpu狀態(tài)信號(hào)中有一個(gè)或兩個(gè)的電平為低電平時(shí),判定所述服務(wù)器系統(tǒng)電源供電異常,并生成啟動(dòng)代碼保護(hù)指令。
作為一種改進(jìn)的方案,所述方法還包括下述步驟:
當(dāng)所述服務(wù)器系統(tǒng)電源和cpu狀態(tài)信號(hào)中有一個(gè)或兩個(gè)的電平為低電平時(shí),判定所述服務(wù)器系統(tǒng)電源供電異常時(shí),備用電源為所述控制器和保護(hù)開關(guān)供電。
作為一種改進(jìn)的方案,所述所述控制器和所述保護(hù)開關(guān)集成在復(fù)雜可編程邏輯器件cpld內(nèi)。
作為一種改進(jìn)的方案,所述復(fù)雜可編程邏輯器件cpld與所述cpu、所述flashmemory連接的總線為spi總線。
作為一種改進(jìn)的方案,所述復(fù)雜可編程邏輯器件cpld設(shè)有與所述spi總線連接的spi總線接口。
在本發(fā)明實(shí)施例中,服務(wù)器啟動(dòng)代碼的保護(hù)系統(tǒng)包括控制器、保護(hù)開關(guān)和備用電源,控制器分別對(duì)所述服務(wù)器系統(tǒng)電源和cpu進(jìn)行電源狀態(tài)監(jiān)測(cè),判斷所述服務(wù)器系統(tǒng)電源和cpu狀態(tài)信號(hào)的電平高低,并根據(jù)電平高低生成啟動(dòng)代碼保護(hù)指令;保護(hù)開關(guān)根據(jù)啟動(dòng)代碼保護(hù)指令,控制切斷與cpu和flashmemory連接的總線;備用電源為所述控制器和保護(hù)開關(guān)供電,實(shí)現(xiàn)服務(wù)器供電異常時(shí),對(duì)啟動(dòng)代碼的保護(hù),提高了服務(wù)器的穩(wěn)定性和可靠性。
附圖說明
圖1是本發(fā)明提供的服務(wù)器啟動(dòng)代碼的保護(hù)系統(tǒng)的結(jié)構(gòu)示意圖;
圖2是本發(fā)明提供的服務(wù)器啟動(dòng)代碼的保護(hù)方法的實(shí)現(xiàn)流程圖;
圖3是本發(fā)明提供的控制器對(duì)服務(wù)器系統(tǒng)電源和cpu進(jìn)行電源狀態(tài)監(jiān)測(cè),并根據(jù)監(jiān)測(cè)結(jié)果生成啟動(dòng)代碼保護(hù)指令的實(shí)現(xiàn)流程圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
圖1示出了本發(fā)明提供的服務(wù)器啟動(dòng)代碼的保護(hù)系統(tǒng)的結(jié)構(gòu)示意圖,為了便于說明,圖中僅給出了與本發(fā)明相關(guān)的部分。
服務(wù)器啟動(dòng)代碼的保護(hù)系統(tǒng)包括:
控制器,與服務(wù)器系統(tǒng)電源和cpu連接,用于分別對(duì)所述服務(wù)器系統(tǒng)電源和cpu進(jìn)行電源狀態(tài)監(jiān)測(cè),判斷所述服務(wù)器系統(tǒng)電源和cpu狀態(tài)信號(hào)的電平高低,當(dāng)所述服務(wù)器系統(tǒng)電源和cpu狀態(tài)信號(hào)均為高電平時(shí),判定所述服務(wù)器系統(tǒng)電源供電正常,當(dāng)所述服務(wù)器系統(tǒng)電源和cpu狀態(tài)信號(hào)中有一個(gè)或兩個(gè)的電平為低電平時(shí),判定所述服務(wù)器系統(tǒng)電源供電異常,并生成啟動(dòng)代碼保護(hù)指令;
與所述控制器信號(hào)連接的保護(hù)開關(guān),所述保護(hù)開關(guān)分別通過總線與所述cpu和flashmemory信號(hào)連接,用于接收所述控制器發(fā)送的啟動(dòng)代碼保護(hù)指令,控制切斷與所述cpu和flashmemory連接的總線;
備用電源,分別與所述控制器和保護(hù)開關(guān)連接,用于為所述控制器和保護(hù)開關(guān)供電。
在該實(shí)施例中,在系統(tǒng)上電之前保護(hù)開關(guān)處于打開狀態(tài),即cpu和flashmemory斷開,系統(tǒng)上電過程中,控制器監(jiān)測(cè)服務(wù)器系統(tǒng)電源的狀態(tài),直到服務(wù)器系統(tǒng)電源穩(wěn)定后,控制器通知保護(hù)開關(guān)閉合,使cpu與flashmemory連接,cpu開始從flashmemory讀取啟動(dòng)代碼,直到系統(tǒng)正常開機(jī)運(yùn)行;
在運(yùn)行過程中,控制器持續(xù)實(shí)時(shí)監(jiān)測(cè)服務(wù)器系統(tǒng)電源的供電狀態(tài);
當(dāng)供電異常(例如突然掉電)時(shí),控制器通知保護(hù)開關(guān)斷開總線,保護(hù)flashmemory中的啟動(dòng)代碼,備用電源在服務(wù)器系統(tǒng)電源異常時(shí)支持該控制器和保護(hù)開關(guān)繼續(xù)工作,實(shí)現(xiàn)斷電保護(hù)。
在本發(fā)明實(shí)施例中,上述控制器和保護(hù)開關(guān)可集成在復(fù)雜可編程邏輯器件cpld內(nèi)(參考圖1中虛線),即cpld具備上文所記載的switch開關(guān)功能和控制器的功能,以實(shí)現(xiàn)上述啟動(dòng)代碼的保護(hù);
該復(fù)雜可編程邏輯器件cpld與所述cpu、所述flashmemory連接的總線為spi總線;
對(duì)應(yīng)地,該復(fù)雜可編程邏輯器件cpld設(shè)有與所述spi總線連接的spi總線接口。
在該實(shí)施例中,復(fù)雜可編程邏輯器件cpld一端連接cpu的spi總線接口,另一端連接flashmemory的spi總線接口,cpld內(nèi)部可以通過編程實(shí)現(xiàn)一個(gè)switch開關(guān)將這兩個(gè)spi總線連接或斷開。
在本發(fā)明實(shí)施例中,當(dāng)供電正常時(shí),控制器控制cpld使cpu的spi總線和flashmemory的spi總線連接在一起,cpu通過spi總線從flashmemory中讀取啟動(dòng)代碼,正常啟動(dòng),當(dāng)供電異常時(shí),控制器控制cpld使cpu的spi總線和flashmemory的spi總線斷開,保護(hù)flashmemory中的啟動(dòng)代碼。
圖2示出了本發(fā)明提供的服務(wù)器啟動(dòng)代碼的保護(hù)方法的實(shí)現(xiàn)流程圖,其具體包括下述步驟:
在步驟s101中,控制器對(duì)服務(wù)器系統(tǒng)電源和cpu進(jìn)行電源狀態(tài)監(jiān)測(cè),并根據(jù)監(jiān)測(cè)結(jié)果生成啟動(dòng)代碼保護(hù)指令,并發(fā)送給保護(hù)開關(guān)。
在步驟s102中,保護(hù)開關(guān)根據(jù)所述啟動(dòng)代碼保護(hù)指令,控制切斷與所述cpu和flashmemory連接的總線。
其中,如圖3所示,該控制器對(duì)服務(wù)器系統(tǒng)電源和cpu進(jìn)行電源狀態(tài)監(jiān)測(cè),并根據(jù)監(jiān)測(cè)結(jié)果生成啟動(dòng)代碼保護(hù)指令的步驟具體包括下述步驟:
在步驟s201中,對(duì)服務(wù)器系統(tǒng)電源和cpu進(jìn)行電源狀態(tài)監(jiān)測(cè)。
在步驟s202中,判斷所述服務(wù)器系統(tǒng)電源和cpu狀態(tài)信號(hào)的電平高低。
在步驟s203中,當(dāng)所述服務(wù)器系統(tǒng)電源和cpu狀態(tài)信號(hào)均為高電平時(shí),判定服務(wù)器系統(tǒng)電源供電正常。
在步驟s204中,當(dāng)所述服務(wù)器系統(tǒng)電源和cpu狀態(tài)信號(hào)中有一個(gè)或兩個(gè)的電平為低電平時(shí),判定所述服務(wù)器系統(tǒng)電源供電異常,并生成啟動(dòng)代碼保護(hù)指令。
其具體實(shí)現(xiàn)過程如上述圖1所示,在此不再贅述。
在本發(fā)明實(shí)施例中,服務(wù)器啟動(dòng)代碼的保護(hù)系統(tǒng)包括控制器、保護(hù)開關(guān)和備用電源,控制器分別對(duì)所述服務(wù)器系統(tǒng)電源和cpu進(jìn)行電源狀態(tài)監(jiān)測(cè),判斷所述服務(wù)器系統(tǒng)電源和cpu狀態(tài)信號(hào)的電平高低,并根據(jù)電平高低生成啟動(dòng)代碼保護(hù)指令;保護(hù)開關(guān)根據(jù)啟動(dòng)代碼保護(hù)指令,控制切斷與cpu和flashmemory連接的總線;備用電源為所述控制器和保護(hù)開關(guān)供電,實(shí)現(xiàn)服務(wù)器供電異常時(shí),對(duì)啟動(dòng)代碼的保護(hù),提高了服務(wù)器的穩(wěn)定性和可靠性。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。