本發(fā)明涉及機(jī)車安全信息綜合監(jiān)測(cè)技術(shù)領(lǐng)域,尤其涉及一種雙機(jī)熱備的控制方法及系統(tǒng)。
背景技術(shù):
雙機(jī)熱備特指基于高可用系統(tǒng)中的兩臺(tái)服務(wù)器的熱備,因兩機(jī)高可用在國(guó)內(nèi)使用較多,故得名雙機(jī)熱備,雙機(jī)高可用按工作中的切換方式分為:主-備方式和雙主機(jī)方式,主-備方式即指的是一臺(tái)服務(wù)器處于某種業(yè)務(wù)的激活狀態(tài),另一臺(tái)服務(wù)器處于該業(yè)務(wù)的備用狀態(tài)。而雙主機(jī)方式即指兩種不同業(yè)務(wù)分別在兩臺(tái)服務(wù)器上互為主備狀態(tài)。
目前,雙機(jī)熱備系統(tǒng)采用“心跳”方法保證主系統(tǒng)與備用系統(tǒng)的聯(lián)系。所謂“心跳”,指的是主從系統(tǒng)之間相互按照一定的時(shí)間間隔發(fā)送通訊信號(hào),表明各自系統(tǒng)當(dāng)前的運(yùn)行狀態(tài)。一旦“心跳”信號(hào)停止表明主機(jī)系統(tǒng)發(fā)生故障,或者備用系統(tǒng)無(wú)法收到主機(jī)系統(tǒng)的“心跳”信號(hào),則系統(tǒng)的高可用性管理軟件認(rèn)為主機(jī)系統(tǒng)發(fā)生故障,主機(jī)停止工作,并將系統(tǒng)資源轉(zhuǎn)移到備用系統(tǒng)上,備用系統(tǒng)將替代主機(jī)發(fā)揮作用,以保證網(wǎng)絡(luò)服務(wù)運(yùn)行不間斷?;蛘撸谙到y(tǒng)的背板上增加一個(gè)判斷模塊,每次上電時(shí)判斷模塊會(huì)首先工作來(lái)確定誰(shuí)是主機(jī)誰(shuí)是備機(jī),當(dāng)主機(jī)工作異常時(shí),判斷模塊會(huì)使備機(jī)切換為主機(jī)。由此可以看出,現(xiàn)有技術(shù)設(shè)計(jì)復(fù)雜,不容易實(shí)現(xiàn),可靠性會(huì)受到一定影響,在主機(jī)和備機(jī)切換過(guò)程中會(huì)造成部分?jǐn)?shù)據(jù)的丟失。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種雙機(jī)熱備的控制方法,簡(jiǎn)單易實(shí)現(xiàn)、可靠性高、成本低,在主備切換過(guò)程中不會(huì)造成數(shù)據(jù)的丟失。
本發(fā)明提供了一種雙機(jī)熱備的控制方法,包括:
判斷第一控制板和第二控制板是否均可正常通信,若是,則:
判斷在預(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板和第二控制板是否均未接收到總線數(shù)據(jù),若否,則:
判斷在預(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板或第二控制板是否接收到總線數(shù)據(jù),若是,則:
確定接收到總線數(shù)據(jù)的第一控制板或第二控制板作為備板;
判斷主板是否發(fā)生故障,若是,則:
控制備板切換為主板,進(jìn)入主板工作模式。
優(yōu)選地,判斷在預(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板和第二控制板是否均未接收到總線數(shù)據(jù),若是,則:
判斷所述第一控制板和第二控制板的管腳是否均未連接電源,若否,則:
判斷所述第一控制板或第二控制板的管腳是否連接電源,若是,則:
確定連接電源的所述第一控制板或第二控制板為主板。
優(yōu)選地,判斷所述第一控制板和第二控制板的管腳是否均未連接電源,若是,則:
判斷所述第一控制板和第二控制板輸出的工作狀態(tài)監(jiān)測(cè)信號(hào)是否均為1,若否,則:
確定輸出工作狀態(tài)監(jiān)測(cè)信號(hào)為1的第一控制板或第二控制板作為備板。
優(yōu)選地,判斷所述第一控制板和第二控制板輸出的工作狀態(tài)監(jiān)測(cè)信號(hào)是否均為1,若是,則:
通過(guò)異步通信確定主板和備板。
一種雙機(jī)熱備的控制系統(tǒng),包括:
第一判斷單元,用于判斷第一控制板和第二控制板是否均可正常通信;
第二判斷單元,用于當(dāng)所述第一判斷單元判斷第一控制板和第二控制板均可正常通信時(shí),判斷在預(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板和第二控制板是否均未接收到總線數(shù)據(jù);
第三判斷單元,用于當(dāng)?shù)诙袛鄦卧袛嘣陬A(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板和第二控制板是否均未接收到總線數(shù)據(jù)的結(jié)果為否時(shí),判斷在預(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板或第二控制板是否接收到總線數(shù)據(jù);
第一確定單元,用于當(dāng)?shù)谌袛鄦卧袛嘣陬A(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板或第二控制板接收到總線數(shù)據(jù)時(shí),確定接收到總線數(shù)據(jù)的第一控制板或第二控制板作為備板;
第四判斷單元,用于判斷主板是否發(fā)生故障;
第一控制單元,用于當(dāng)?shù)谒呐袛鄦卧袛嘀靼灏l(fā)生故障時(shí),控制備板切換為主板,進(jìn)入主板工作模式。
優(yōu)選地,所述系統(tǒng)還包括:
第五判斷單元,用于當(dāng)?shù)诙袛鄦卧袛嘣陬A(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板和第二控制板均未接收到總線數(shù)據(jù)時(shí),判斷所述第一控制板和第二控制板的管腳是否均未連接電源;
第六判斷單元,用于當(dāng)?shù)谖迮袛鄦卧袛嗨龅谝豢刂瓢搴偷诙刂瓢宓墓苣_是否均未連接電源的結(jié)果為否時(shí),判斷所述第一控制板或第二控制板的管腳是否連接電源;
第二確定單元,用關(guān)于當(dāng)?shù)诹袛鄦卧袛嗨龅谝豢刂瓢寤虻诙刂瓢宓墓苣_連接電源時(shí),確定連接電源的所述第一控制板或第二控制板為主板。
優(yōu)選地,所述系統(tǒng)還包括:
第七判斷單元,用于當(dāng)?shù)谖迮袛鄦卧袛嗨龅谝豢刂瓢搴偷诙刂瓢宓墓苣_均未連接電源時(shí),判斷所述第一控制板和第二控制板輸出的工作狀態(tài)監(jiān)測(cè)信號(hào)是否均為1;
第三確定單元,用于當(dāng)?shù)谄吲袛鄦卧袛嗨龅谝豢刂瓢搴偷诙刂瓢遢敵龅墓ぷ鳡顟B(tài)監(jiān)測(cè)信號(hào)是否均為1的結(jié)果為否時(shí),確定輸出工作狀態(tài)監(jiān)測(cè)信號(hào)為1的第一控制板或第二控制板作為備板。
優(yōu)選地,所述系統(tǒng)還包括:
第四確定單元,用于當(dāng)?shù)谄吲袛鄦卧袛嗨龅谝豢刂瓢搴偷诙刂瓢遢敵龅墓ぷ鳡顟B(tài)監(jiān)測(cè)信號(hào)均為1時(shí),通過(guò)異步通信確定主板和備板。
由上述方案可知,本發(fā)明提供的一種雙機(jī)熱備的控制方法,通過(guò)判斷第一控制板和第二控制板是否均可正常通信,當(dāng)?shù)谝豢刂瓢搴偷诙刂瓢寰烧Mㄐ艜r(shí),在預(yù)設(shè)時(shí)長(zhǎng)后,判斷第一控制板和第二控制板是否接收到總線數(shù)據(jù),當(dāng)在預(yù)設(shè)時(shí)長(zhǎng)后若第一控制板接收到總線數(shù)據(jù),則確定第一控制板為備板,第二控制板為主板,當(dāng)在預(yù)設(shè)時(shí)長(zhǎng)后若第二控制板接收到總線數(shù)據(jù),則確定第二控制板為備板,第一控制板為主板,當(dāng)判斷主板發(fā)生故障時(shí),將備板切換為主板,進(jìn)入主板的工作模式,由此可以看出,該控制方法簡(jiǎn)單易實(shí)現(xiàn)、可靠性高、成本低,在主備切換過(guò)程中不會(huì)造成數(shù)據(jù)的丟失。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例一公開(kāi)的一種雙機(jī)熱備的控制方法的流程圖;
圖2為本發(fā)明實(shí)施例二公開(kāi)的一種雙機(jī)熱備的控制方法的流程圖;
圖3為本發(fā)明實(shí)施例三公開(kāi)的一種雙機(jī)熱備的控制方法的流程圖;
圖4為本發(fā)明實(shí)施例四公開(kāi)的一種雙機(jī)熱備的控制方法的流程圖;
圖5為本發(fā)明實(shí)施例一公開(kāi)的一種雙機(jī)熱備的控制系統(tǒng)的結(jié)構(gòu)示意圖;
圖6為本發(fā)明實(shí)施例二公開(kāi)的一種雙機(jī)熱備的控制系統(tǒng)的結(jié)構(gòu)示意圖;
圖7為本發(fā)明實(shí)施例三公開(kāi)的一種雙機(jī)熱備的控制系統(tǒng)的結(jié)構(gòu)示意圖;
圖8為本發(fā)明實(shí)施例四公開(kāi)的一種雙機(jī)熱備的控制系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1所示,為本發(fā)明實(shí)施例一公開(kāi)的一種雙機(jī)熱備的控制方法,包括:
S101、判斷第一控制板和第二控制板是否均可正常通信,若是,則進(jìn)入S102:
當(dāng)需要對(duì)雙機(jī)熱備進(jìn)行控制時(shí),首先判斷安裝在母板上的第一控制板和第二控制板是否均可正常通信,第一控制板和第二控制板可通過(guò)F48插頭插在母板上,需要說(shuō)明的是第一控制板和第二控制板的物理結(jié)構(gòu)完全一樣,內(nèi)部程序也完全一樣,均可作為主板或者備板。在判斷安裝在母板上的第一控制板和第二控制板是否均可正常通信時(shí),可通過(guò)判斷第一控制板和第二控制板是否可以接收到自身發(fā)送的總線數(shù)據(jù)并且確認(rèn)無(wú)誤來(lái)判斷,當(dāng)?shù)谝豢刂瓢搴偷诙刂瓢蹇梢越邮盏阶陨戆l(fā)送的總線數(shù)據(jù)且確認(rèn)無(wú)誤時(shí),判定第一控制板和第二控制板均可正常通信。
S102、判斷在預(yù)設(shè)時(shí)長(zhǎng)后,第一控制板和第二控制板是否均未接收到總線數(shù)據(jù),若否,則進(jìn)入S103:
當(dāng)判斷第一控制板和第二控制板均可正常通信后,判斷在預(yù)設(shè)時(shí)長(zhǎng)后,例如100ms后,是否均未接收到總線數(shù)據(jù),若判斷結(jié)果為否,則進(jìn)入下一步驟。
S103、判斷在預(yù)設(shè)時(shí)長(zhǎng)后,第一控制板或第二控制板是否接收到總線數(shù)據(jù),若是,則進(jìn)入S104:
當(dāng)判斷第一控制板和第二控制板在預(yù)設(shè)時(shí)長(zhǎng)后,有其中一塊控制板接收到總線數(shù)據(jù)后,進(jìn)一步判斷具體是第一控制板還第二控制板接收到了總線數(shù)據(jù)。
S104、確定接收到總線數(shù)據(jù)的第一控制板或第二控制板作為備板;
當(dāng)判斷第一控制板接收到總線數(shù)據(jù)時(shí),將第一控制板確定為備板,將第二控制板確定為主板;相反的,當(dāng)判斷第二控制板接收到總線數(shù)據(jù)時(shí),將第二控制板確定為備板,將第一控制板確定為主板。
S105、判斷主板是否發(fā)生故障,若是,則進(jìn)入S106:
在確定好主板和備板后,主板進(jìn)入工作模式,在主板進(jìn)入工作模式的過(guò)程中,實(shí)時(shí)判斷主板是否發(fā)生故障。
S106、控制備板切換為主板,進(jìn)入主板工作模式。
當(dāng)判斷主板在工作過(guò)程中發(fā)生故障時(shí),自動(dòng)將備板切換為主板,即啟動(dòng)備板讓備板進(jìn)入工作模式。
綜上所述,在上述實(shí)施例中,通過(guò)判斷第一控制板和第二控制板是否均可正常通信,當(dāng)?shù)谝豢刂瓢搴偷诙刂瓢寰烧Mㄐ艜r(shí),在預(yù)設(shè)時(shí)長(zhǎng)后,判斷第一控制板和第二控制板是否接收到總線數(shù)據(jù),當(dāng)在預(yù)設(shè)時(shí)長(zhǎng)后若第一控制板接收到總線數(shù)據(jù),則確定第一控制板為備板,第二控制板為主板,當(dāng)在預(yù)設(shè)時(shí)長(zhǎng)后若第二控制板接收到總線數(shù)據(jù),則確定第二控制板為備板,第一控制板為主板,當(dāng)判斷主板發(fā)生故障時(shí),將備板切換為主板,進(jìn)入主板的工作模式,由此可以看出,該控制方法簡(jiǎn)單易實(shí)現(xiàn)、可靠性高、成本低,在主備切換過(guò)程中不會(huì)造成數(shù)據(jù)的丟失。
如圖2所示,為本發(fā)明實(shí)施例二公開(kāi)的一種雙機(jī)熱備的控制方法,包括:
S201、判斷第一控制板和第二控制板是否均可正常通信,若是,則進(jìn)入S202:
當(dāng)需要對(duì)雙機(jī)熱備進(jìn)行控制時(shí),首先判斷安裝在母板上的第一控制板和第二控制板是否均可正常通信,第一控制板和第二控制板可通過(guò)F48插頭插在母板上,需要說(shuō)明的是第一控制板和第二控制板的物理結(jié)構(gòu)完全一樣,內(nèi)部程序也完全一樣,均可作為主板或者備板。在判斷安裝在母板上的第一控制板和第二控制板是否均可正常通信時(shí),可通過(guò)判斷第一控制板和第二控制板是否可以接收到自身發(fā)送的總線數(shù)據(jù)并且確認(rèn)無(wú)誤來(lái)判斷,當(dāng)?shù)谝豢刂瓢搴偷诙刂瓢蹇梢越邮盏阶陨戆l(fā)送的總線數(shù)據(jù)且確認(rèn)無(wú)誤時(shí),判定第一控制板和第二控制板均可正常通信。
S202、判斷在預(yù)設(shè)時(shí)長(zhǎng)后,第一控制板和第二控制板是否均未接收到總線數(shù)據(jù),若否,則進(jìn)入S203,若是,則進(jìn)入S207:
當(dāng)判斷第一控制板和第二控制板均可正常通信后,判斷在預(yù)設(shè)時(shí)長(zhǎng)后,例如100ms后,是否均為接收到總線數(shù)據(jù),若判斷結(jié)果為否,則進(jìn)入下一步驟。
S203、判斷在預(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板或第二控制板是否接收到總線數(shù)據(jù),若是,則進(jìn)入S204:
當(dāng)判斷第一控制板和第二控制板在預(yù)設(shè)時(shí)長(zhǎng)后,有其中一塊控制板接收到總線數(shù)據(jù)后,進(jìn)一步判斷具體是第一控制板還第二控制板接收到了總線數(shù)據(jù)。
S204、確定接收到總線數(shù)據(jù)的第一控制板或第二控制板作為備板;
當(dāng)判斷第一控制板接收到總線數(shù)據(jù)時(shí),將第一控制板確定為備板,將第二控制板確定為主板;相反的,當(dāng)判斷第二控制板接收到總線數(shù)據(jù)時(shí),將第二控制板確定為備板,將第一控制板確定為主板。
S205、判斷主板是否發(fā)生故障,若是,則進(jìn)入S206:
在確定好主板和備板后,主板進(jìn)入工作模式,在主板進(jìn)入工作模式的過(guò)程中,實(shí)時(shí)判斷主板是否發(fā)生故障。
S206、控制備板切換為主板,進(jìn)入主板工作模式;
當(dāng)判斷主板在工作過(guò)程中發(fā)生故障時(shí),自動(dòng)將備板切換為主板,即啟動(dòng)備板讓備板進(jìn)入工作模式。
S207、判斷第一控制板和第二控制板的管腳是否均未連接電源,若否,則進(jìn)入S208:
當(dāng)判斷第一控制板和第二控制板均可正常通信后,判斷在預(yù)設(shè)時(shí)長(zhǎng)后,例如100ms后,是否均未接收到總線數(shù)據(jù),若均未接收到總線數(shù)據(jù),通過(guò)檢測(cè)第一控制板和第二控制板的ID來(lái)確定主板和備板。檢測(cè)第一控制板和第二控制板的ID是通過(guò)對(duì)第一控制板和第二控制板的管腳是否與電源連接來(lái)判斷的。例如,第一控制板和第二控制板與母板連接時(shí),兩塊控制板的b12管腳一個(gè)會(huì)接+5V電源,一個(gè)會(huì)接地。
S208、判斷所述第一控制板或第二控制板的管腳是否連接電源,若是,則進(jìn)入S209:
當(dāng)判斷第一控制板和第二控制板的管腳其中一個(gè)連接電源時(shí),進(jìn)一步判斷具體是第一控制板的管腳連接電源,還是第二控制板的管腳連接電源。
S209、確定連接電源的所述第一控制板或第二控制板為主板。
當(dāng)判斷的結(jié)果為第一控制板的管腳連接電源,第二控制板的管腳接地時(shí),確定第一控制板為主板,第二控制板為備板;相反的,當(dāng)判斷結(jié)果為第二控制板的管腳連接電源,第一控制板的管腳接地時(shí),確定第二控制板為主板,第一控制板為備板。
綜上所述,在上一實(shí)施例的基礎(chǔ)上,可通過(guò)第一控制板和第二控制板管腳的連接方式來(lái)進(jìn)一步確定主板和備板。
如圖3所示,為本發(fā)明實(shí)施例三公開(kāi)的一種雙機(jī)熱備的控制方法,包括:
S301、判斷第一控制板和第二控制板是否均可正常通信,若是,則進(jìn)入S302:
當(dāng)需要對(duì)雙機(jī)熱備進(jìn)行控制時(shí),首先判斷安裝在母板上的第一控制板和第二控制板是否均可正常通信,第一控制板和第二控制板可通過(guò)F48插頭插在母板上,需要說(shuō)明的是第一控制板和第二控制板的物理結(jié)構(gòu)完全一樣,內(nèi)部程序也完全一樣,均可作為主板或者備板。在判斷安裝在母板上的第一控制板和第二控制板是否均可正常通信時(shí),可通過(guò)判斷第一控制板和第二控制板是否可以接收到自身發(fā)送的總線數(shù)據(jù)并且確認(rèn)無(wú)誤來(lái)判斷,當(dāng)?shù)谝豢刂瓢? 和第二控制板可以接收到自身發(fā)送的總線數(shù)據(jù)且確認(rèn)無(wú)誤時(shí),判定第一控制板和第二控制板均可正常通信。
S302、判斷在預(yù)設(shè)時(shí)長(zhǎng)后,第一控制板和第二控制板是否均未接收到總線數(shù)據(jù),若否,則進(jìn)入S303,若是,則進(jìn)入S307:
當(dāng)判斷第一控制板和第二控制板均可正常通信后,判斷在預(yù)設(shè)時(shí)長(zhǎng)后,例如100ms后,是否均為接收到總線數(shù)據(jù),若判斷結(jié)果為否,則進(jìn)入下一步驟。
S303、判斷在預(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板或第二控制板是否接收到總線數(shù)據(jù),若是,則進(jìn)入S304:
當(dāng)判斷第一控制板和第二控制板在預(yù)設(shè)時(shí)長(zhǎng)后,有其中一塊控制板接收到總線數(shù)據(jù)后,進(jìn)一步判斷具體是第一控制板還第二控制板接收到了總線數(shù)據(jù)。
S304、確定接收到總線數(shù)據(jù)的第一控制板或第二控制板作為備板;
當(dāng)判斷第一控制板接收到總線數(shù)據(jù)時(shí),將第一控制板確定為備板,將第二控制板確定為主板;相反的,當(dāng)判斷第二控制板接收到總線數(shù)據(jù)時(shí),將第二控制板確定為備板,將第一控制板確定為主板。
S305、判斷主板是否發(fā)生故障,若是,則進(jìn)入S306:
在確定好主板和備板后,主板進(jìn)入工作模式,在主板進(jìn)入工作模式的過(guò)程中,實(shí)時(shí)判斷主板是否發(fā)生故障。
S306、控制備板切換為主板,進(jìn)入主板工作模式;
當(dāng)判斷主板在工作過(guò)程中發(fā)生故障時(shí),自動(dòng)將備板切換為主板,即啟動(dòng)備板讓備板進(jìn)入工作模式。
S307、判斷所述第一控制板和第二控制板的管腳是否均未連接電源,若否,則進(jìn)入S308,若是,則進(jìn)入S310:
當(dāng)判斷第一控制板和第二控制板均可正常通信后,判斷在預(yù)設(shè)時(shí)長(zhǎng)后,例如100ms后,是否均未接收到總線數(shù)據(jù),若均未接收到總線數(shù)據(jù),通過(guò)檢測(cè)第一控制板和第二控制板的ID來(lái)確定主板和備板。檢測(cè)第一控制板和第二控制板的ID是通過(guò)對(duì)第一控制板和第二控制板的管腳是否與電源連接來(lái)判斷的。例如,第一控制板和第二控制板與母板連接時(shí),兩塊控制板的b12管腳一個(gè)會(huì)接+5V電源,一個(gè)會(huì)接地。
S308、判斷所述第一控制板或第二控制板的管腳是否連接電源,若是,則進(jìn)入S309:
當(dāng)判斷第一控制板和第二控制板的管腳其中一個(gè)連接電源時(shí),進(jìn)一步判斷具體是第一控制板的管腳連接電源,還是第二控制板的管腳連接電源。
S309、確定連接電源的所述第一控制板或第二控制板為主板;
當(dāng)判斷的結(jié)果為第一控制板的管腳連接電源,第二控制板的管腳接地時(shí),確定第一控制板為主板,第二控制板為備板;相反的,當(dāng)判斷結(jié)果為第二控制板的管腳連接電源,第一控制板的管腳接地時(shí),確定第二控制板為主板,第一控制板為備板。
S310、判斷所述第一控制板和第二控制板輸出的工作狀態(tài)監(jiān)測(cè)信號(hào)是否均為1,若否,則進(jìn)入S311:
當(dāng)判斷第一控制板和第二控制板的管腳均未連接電源時(shí),即不能通過(guò)控制板的連接管腳來(lái)確定主板和備板時(shí),對(duì)第一控制板和第二控制板輸出的工作狀態(tài)監(jiān)測(cè)信號(hào)進(jìn)行判斷,判斷第一控制板和第二控制板輸出的工作狀態(tài)監(jiān)測(cè)信號(hào)是否均為1。
S311、確定輸出工作狀態(tài)監(jiān)測(cè)信號(hào)為1的第一控制板或第二控制板作為備板。
當(dāng)判斷第一控制板和第二控制板輸出的工作狀態(tài)監(jiān)測(cè)信號(hào)不同時(shí)為1,將輸出工作狀態(tài)監(jiān)測(cè)信號(hào)為1的控制板確定為備板。例如,當(dāng)?shù)谝豢刂瓢遢敵龅墓ぷ鳡顟B(tài)監(jiān)測(cè)信號(hào)為1,第二控制板輸出的工作狀態(tài)監(jiān)測(cè)信號(hào)為0時(shí),確定第一控制板為備板,第二控制板為主板;當(dāng)?shù)谝豢刂瓢遢敵龅墓ぷ鳡顟B(tài)監(jiān)測(cè)信號(hào)為0,第二控制板輸出的工作狀態(tài)監(jiān)測(cè)信號(hào)為1時(shí),確定第一控制板為主板,第二控制板為備板。
綜上所述,本實(shí)施例在上述實(shí)施例的基礎(chǔ)上,可通過(guò)第一控制板和第二控制板輸出的工作狀態(tài)監(jiān)測(cè)信號(hào)來(lái)進(jìn)一步確定主板和備板。
如圖4所示,為本發(fā)明實(shí)施例四公開(kāi)的一種雙機(jī)熱備的控制方法,包括:
S401、判斷第一控制板和第二控制板是否均可正常通信,若是,則進(jìn)入S402:
當(dāng)需要對(duì)雙機(jī)熱備進(jìn)行控制時(shí),首先判斷安裝在母板上的第一控制板和第二控制板是否均可正常通信,第一控制板和第二控制板可通過(guò)F48插頭插在母板上,需要說(shuō)明的是第一控制板和第二控制板的物理結(jié)構(gòu)完全一樣,內(nèi)部程序也完全一樣,均可作為主板或者備板。在判斷安裝在母板上的第一控制板和第二控制板是否均可正常通信時(shí),可通過(guò)判斷第一控制板和第二控制板是否可以接收到自身發(fā)送的總線數(shù)據(jù)并且確認(rèn)無(wú)誤來(lái)判斷,當(dāng)?shù)谝豢刂瓢搴偷诙刂瓢蹇梢越邮盏阶陨戆l(fā)送的總線數(shù)據(jù)且確認(rèn)無(wú)誤時(shí),判定第一控制板和第二控制板均可正常通信。
S402、判斷在預(yù)設(shè)時(shí)長(zhǎng)后,第一控制板和第二控制板是否均未接收到總線數(shù)據(jù),若否,則進(jìn)入S403,若是,則進(jìn)入S407:
當(dāng)判斷第一控制板和第二控制板均可正常通信后,判斷在預(yù)設(shè)時(shí)長(zhǎng)后,例如100ms后,是否均為接收到總線數(shù)據(jù),若判斷結(jié)果為否,則進(jìn)入下一步驟。
S403、判斷在預(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板或第二控制板是否接收到總線數(shù)據(jù),若是,則進(jìn)入S404:
當(dāng)判斷第一控制板和第二控制板在預(yù)設(shè)時(shí)長(zhǎng)后,有其中一塊控制板接收到總線數(shù)據(jù)后,進(jìn)一步判斷具體是第一控制板還第二控制板接收到了總線數(shù)據(jù)。
S404、確定接收到總線數(shù)據(jù)的第一控制板或第二控制板作為備板;
當(dāng)判斷第一控制板接收到總線數(shù)據(jù)時(shí),將第一控制板確定為備板,將第二控制板確定為主板;相反的,當(dāng)判斷第二控制板接收到總線數(shù)據(jù)時(shí),將第二控制板確定為備板,將第一控制板確定為主板。
S405、判斷主板是否發(fā)生故障,若是,則進(jìn)入S406:
在確定好主板和備板后,主板進(jìn)入工作模式,在主板進(jìn)入工作模式的過(guò)程中,實(shí)時(shí)判斷主板是否發(fā)生故障。
S406、控制備板切換為主板,進(jìn)入主板工作模式;
當(dāng)判斷主板在工作過(guò)程中發(fā)生故障時(shí),自動(dòng)將備板切換為主板,即啟動(dòng)備板讓備板進(jìn)入工作模式。
S407、判斷所述第一控制板和第二控制板的管腳是否均未連接電源,若否,則進(jìn)入S408,若是,則進(jìn)入S410:
當(dāng)判斷第一控制板和第二控制板均可正常通信后,判斷在預(yù)設(shè)時(shí)長(zhǎng)后,例如100ms后,是否均未接收到總線數(shù)據(jù),若均未接收到總線數(shù)據(jù),通過(guò)檢測(cè)第一控制板和第二控制板的ID來(lái)確定主板和備板。檢測(cè)第一控制板和第二控制板的ID是通過(guò)對(duì)第一控制板和第二控制板的管腳是否與電源連接來(lái)判斷的。例如,第一控制板和第二控制板與母板連接時(shí),兩塊控制板的b12管腳一個(gè)會(huì)接+5V電源,一個(gè)會(huì)接地。
S408、判斷所述第一控制板或第二控制板的管腳是否連接電源,若是,則進(jìn)入S409:
當(dāng)判斷第一控制板和第二控制板的管腳其中一個(gè)連接電源時(shí),進(jìn)一步判斷具體是第一控制板的管腳連接電源,還是第二控制板的管腳連接電源。
S409、確定連接電源的所述第一控制板或第二控制板為主板;
當(dāng)判斷的結(jié)果為第一控制板的管腳連接電源,第二控制板的管腳接地時(shí),確定第一控制板為主板,第二控制板為備板;相反的,當(dāng)判斷結(jié)果為第二控制板的管腳連接電源,第一控制板的管腳接地時(shí),確定第二控制板為主板,第一控制板為備板。
S410、判斷所述第一控制板和第二控制板輸出的工作狀態(tài)監(jiān)測(cè)信號(hào)是否均為1,若否,則進(jìn)入S411,若是,則進(jìn)入S412:
當(dāng)判斷第一控制板和第二控制板的管腳均未連接電源時(shí),即不能通過(guò)控制板的連接管腳來(lái)確定主板和備板時(shí),對(duì)第一控制板和第二控制板輸出的工作狀態(tài)監(jiān)測(cè)信號(hào)進(jìn)行判斷,判斷第一控制板和第二控制板輸出的工作狀態(tài)監(jiān)測(cè)信號(hào)是否均為1。
S411、確定輸出工作狀態(tài)監(jiān)測(cè)信號(hào)為1的第一控制板或第二控制板作為備板;
當(dāng)判斷第一控制板和第二控制板輸出的工作狀態(tài)監(jiān)測(cè)信號(hào)不同時(shí)為1,將輸出工作狀態(tài)監(jiān)測(cè)信號(hào)為1的控制板確定為備板。例如,當(dāng)?shù)谝豢刂瓢遢敵龅墓ぷ鳡顟B(tài)監(jiān)測(cè)信號(hào)為1,第二控制板輸出的工作狀態(tài)監(jiān)測(cè)信號(hào)為0時(shí),確定第一控制板為備板,第二控制板為主板;當(dāng)?shù)谝豢刂瓢遢敵龅墓ぷ鳡顟B(tài)監(jiān)測(cè)信號(hào)為0,第二控制板輸出的工作狀態(tài)監(jiān)測(cè)信號(hào)為1時(shí),確定第一控制板為主板,第二控制板為備板。
S412、通過(guò)異步通信確定主板和備板。
當(dāng)判斷第一控制板和第二控制板輸出的工作狀態(tài)監(jiān)測(cè)信號(hào)均為1時(shí),表明控制板的硬件ID失效,不能判斷控制板的管腳是接的電源還是接地。此時(shí),第一控制板和第二控制板會(huì)預(yù)先同時(shí)進(jìn)入備用模式,工作狀態(tài)監(jiān)測(cè)輸出會(huì)都輸出1,此時(shí)兩塊控制板間會(huì)啟用異步通信電路,各控制板會(huì)根據(jù)自己的控制狀態(tài)生成數(shù)據(jù)串并發(fā)出,控制板將接收到的另一塊控制板發(fā)出的數(shù)據(jù)串和自己生成的數(shù)據(jù)串進(jìn)行比對(duì),通過(guò)比對(duì)確認(rèn)是主機(jī)還是備機(jī)。
綜上所述,本實(shí)施例在上述實(shí)施例的基礎(chǔ)上,當(dāng)控制板的硬件ID失效后,可通過(guò)啟用異步通信電路來(lái)進(jìn)一步確定主板和備板。
如圖5所示,為本發(fā)明實(shí)施例一公開(kāi)的一種雙機(jī)熱備的控制系統(tǒng),包括:
第一判斷單元501,用于判斷第一控制板和第二控制板是否均可正常通信;
第二判斷單元502,用于當(dāng)所述第一判斷單元判斷第一控制板和第二控制板均可正常通信時(shí),判斷在預(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板和第二控制板是否均未接收到總線數(shù)據(jù);
第三判斷單元503,用于當(dāng)?shù)诙袛鄦卧袛嘣陬A(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板和第二控制板是否均未接收到總線數(shù)據(jù)的結(jié)果為否時(shí),判斷在預(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板或第二控制板是否接收到總線數(shù)據(jù);
第一確定單元504,用于當(dāng)?shù)谌袛鄦卧袛嘣陬A(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板或第二控制板接收到總線數(shù)據(jù)時(shí),確定接收到總線數(shù)據(jù)的第一控制板或第二控制板作為備板;
第四判斷單元505,用于判斷主板是否發(fā)生故障;
第一控制單元506,用于當(dāng)?shù)谒呐袛鄦卧袛嘀靼灏l(fā)生故障時(shí),控制備板切換為主板,進(jìn)入主板工作模式。
本實(shí)施例的系統(tǒng),可以用于執(zhí)行圖1所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
如圖6所示,為本發(fā)明實(shí)施例二公開(kāi)的一種雙機(jī)熱備的控制系統(tǒng),包括:
第一判斷單元601,用于判斷第一控制板和第二控制板是否均可正常通信;
第二判斷單元602,用于當(dāng)所述第一判斷單元判斷第一控制板和第二控制板均可正常通信時(shí),判斷在預(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板和第二控制板是否均未接收到總線數(shù)據(jù);
第三判斷單元603,用于當(dāng)?shù)诙袛鄦卧袛嘣陬A(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板和第二控制板是否均未接收到總線數(shù)據(jù)的結(jié)果為否時(shí),判斷在預(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板或第二控制板是否接收到總線數(shù)據(jù);
第一確定單元604,用于當(dāng)?shù)谌袛鄦卧袛嘣陬A(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板或第二控制板接收到總線數(shù)據(jù)時(shí),確定接收到總線數(shù)據(jù)的第一控制板或第二控制板作為備板;
第四判斷單元605,用于判斷主板是否發(fā)生故障;
第一控制單元606,用于當(dāng)?shù)谒呐袛鄦卧袛嘀靼灏l(fā)生故障時(shí),控制備板切換為主板,進(jìn)入主板工作模式;
第五判斷單元607,用于當(dāng)?shù)诙袛鄦卧袛嘣陬A(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板和第二控制板均未接收到總線數(shù)據(jù)時(shí),判斷所述第一控制板和第二控制板的管腳是否均未連接電源;
第六判斷單元608,用于當(dāng)?shù)谖迮袛鄦卧袛嗨龅谝豢刂瓢搴偷诙刂瓢宓墓苣_是否均未連接電源的結(jié)果為否時(shí),判斷所述第一控制板或第二控制板的管腳是否連接電源;
第二確定單元609,用關(guān)于當(dāng)?shù)诹袛鄦卧袛嗨龅谝豢刂瓢寤虻诙刂瓢宓墓苣_連接電源時(shí),確定連接電源的所述第一控制板或第二控制板為主板。
本實(shí)施例的系統(tǒng),可以用于執(zhí)行圖2所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
如圖7所示,為本發(fā)明實(shí)施例三公開(kāi)的一種雙機(jī)熱備的控制系統(tǒng),包括:
第一判斷單元701,用于判斷第一控制板和第二控制板是否均可正常通信;
第二判斷單元702,用于當(dāng)所述第一判斷單元判斷第一控制板和第二控制板均可正常通信時(shí),判斷在預(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板和第二控制板是否均未接收到總線數(shù)據(jù);
第三判斷單元703,用于當(dāng)?shù)诙袛鄦卧袛嘣陬A(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板和第二控制板是否均未接收到總線數(shù)據(jù)的結(jié)果為否時(shí),判斷在預(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板或第二控制板是否接收到總線數(shù)據(jù);
第一確定單元704,用于當(dāng)?shù)谌袛鄦卧袛嘣陬A(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板或第二控制板接收到總線數(shù)據(jù)時(shí),確定接收到總線數(shù)據(jù)的第一控制板或第二控制板作為備板;
第四判斷單元705,用于判斷主板是否發(fā)生故障;
第一控制單元706,用于當(dāng)?shù)谒呐袛鄦卧袛嘀靼灏l(fā)生故障時(shí),控制備板切換為主板,進(jìn)入主板工作模式;
第五判斷單元707,用于當(dāng)?shù)诙袛鄦卧袛嘣陬A(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板和第二控制板均未接收到總線數(shù)據(jù)時(shí),判斷所述第一控制板和第二控制板的管腳是否均未連接電源;
第六判斷單元708,用于當(dāng)?shù)谖迮袛鄦卧袛嗨龅谝豢刂瓢搴偷诙刂瓢宓墓苣_是否均未連接電源的結(jié)果為否時(shí),判斷所述第一控制板或第二控制板的管腳是否連接電源;
第二確定單元709,用關(guān)于當(dāng)?shù)诹袛鄦卧袛嗨龅谝豢刂瓢寤虻诙刂瓢宓墓苣_連接電源時(shí),確定連接電源的所述第一控制板或第二控制板為主板;
第七判斷單元710,用于當(dāng)?shù)谖迮袛鄦卧袛嗨龅谝豢刂瓢搴偷诙刂瓢宓墓苣_均未連接電源時(shí),判斷所述第一控制板和第二控制板輸出的工作狀態(tài)監(jiān)測(cè)信號(hào)是否均為1;
第三確定單元711,用于當(dāng)?shù)谄吲袛鄦卧袛嗨龅谝豢刂瓢搴偷诙刂瓢遢敵龅墓ぷ鳡顟B(tài)監(jiān)測(cè)信號(hào)是否均為1的結(jié)果為否時(shí),確定輸出工作狀態(tài)監(jiān)測(cè)信號(hào)為1的第一控制板或第二控制板作為備板。
本實(shí)施例的系統(tǒng),可以用于執(zhí)行圖3所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
如圖8所示,為本發(fā)明實(shí)施例四公開(kāi)的一種雙機(jī)熱備的控制系統(tǒng),包括:
第一判斷單元801,用于判斷第一控制板和第二控制板是否均可正常通信;
第二判斷單元802,用于當(dāng)所述第一判斷單元判斷第一控制板和第二控制板均可正常通信時(shí),判斷在預(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板和第二控制板是否均未接收到總線數(shù)據(jù);
第三判斷單元803,用于當(dāng)?shù)诙袛鄦卧袛嘣陬A(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板和第二控制板是否均未接收到總線數(shù)據(jù)的結(jié)果為否時(shí),判斷在預(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板或第二控制板是否接收到總線數(shù)據(jù);
第一確定單元804,用于當(dāng)?shù)谌袛鄦卧袛嘣陬A(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板或第二控制板接收到總線數(shù)據(jù)時(shí),確定接收到總線數(shù)據(jù)的第一控制板或第二控制板作為備板;
第四判斷單元805,用于判斷主板是否發(fā)生故障;
第一控制單元806,用于當(dāng)?shù)谒呐袛鄦卧袛嘀靼灏l(fā)生故障時(shí),控制備板切換為主板,進(jìn)入主板工作模式;
第五判斷單元807,用于當(dāng)?shù)诙袛鄦卧袛嘣陬A(yù)設(shè)時(shí)長(zhǎng)后,所述第一控制板和第二控制板均未接收到總線數(shù)據(jù)時(shí),判斷所述第一控制板和第二控制板的管腳是否均未連接電源;
第六判斷單元808,用于當(dāng)?shù)谖迮袛鄦卧袛嗨龅谝豢刂瓢搴偷诙刂瓢宓墓苣_是否均未連接電源的結(jié)果為否時(shí),判斷所述第一控制板或第二控制板的管腳是否連接電源;
第二確定單元809,用關(guān)于當(dāng)?shù)诹袛鄦卧袛嗨龅谝豢刂瓢寤虻诙刂瓢宓墓苣_連接電源時(shí),確定連接電源的所述第一控制板或第二控制板為主板;
第七判斷單元810,用于當(dāng)?shù)谖迮袛鄦卧袛嗨龅谝豢刂瓢搴偷诙刂瓢宓墓苣_均未連接電源時(shí),判斷所述第一控制板和第二控制板輸出的工作狀態(tài)監(jiān)測(cè)信號(hào)是否均為1;
第三確定單元811,用于當(dāng)?shù)谄吲袛鄦卧袛嗨龅谝豢刂瓢搴偷诙刂瓢遢敵龅墓ぷ鳡顟B(tài)監(jiān)測(cè)信號(hào)是否均為1的結(jié)果為否時(shí),確定輸出工作狀態(tài)監(jiān)測(cè)信號(hào)為1的第一控制板或第二控制板作為備板;
第四確定單元812,用于當(dāng)?shù)谄吲袛鄦卧袛嗨龅谝豢刂瓢搴偷诙刂瓢遢敵龅墓ぷ鳡顟B(tài)監(jiān)測(cè)信號(hào)均為1時(shí),通過(guò)異步通信確定主板和備板。
本實(shí)施例的系統(tǒng),可以用于執(zhí)行圖4所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
本實(shí)施例方法所述的功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算設(shè)備可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明實(shí)施例對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,移動(dòng)計(jì)算設(shè)備或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
本說(shuō)明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同或相似部分互相參見(jiàn)即可。
對(duì)所公開(kāi)的實(shí)施例的上述說(shuō)明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開(kāi)的原理和新穎特點(diǎn)相一致的最寬的范圍。