專利名稱:對(duì)端狀態(tài)檢測(cè)方法、裝置及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技木,尤其涉及一種對(duì)端狀態(tài)檢測(cè)方法、裝置及設(shè)備。
背景技術(shù):
目前識(shí)別對(duì)端狀態(tài)常用的方法是通過心跳探測(cè)機(jī)制來識(shí)別對(duì)端狀態(tài),根據(jù)對(duì)對(duì)端狀態(tài)的識(shí)別,可以及時(shí)進(jìn)行故障狀態(tài)轉(zhuǎn)移、主備狀態(tài)選舉等操作,還可以在探測(cè)到對(duì)端存在或探測(cè)到對(duì)端故障時(shí)提供相關(guān)事件的通告。心跳探測(cè)機(jī)制的過程是第一設(shè)備周期性的向作為其對(duì)端的第二設(shè)備發(fā)送心跳消息,如果第二設(shè)備未在心跳超時(shí)時(shí)間內(nèi)接收到第一設(shè)備發(fā)送的心跳消息,則第二設(shè)備判定第一設(shè)備發(fā)生故障。
現(xiàn)有心跳探測(cè)機(jī)制實(shí)現(xiàn)簡(jiǎn)單,但靈敏度較低,無法探測(cè)到對(duì)端“閃斷”的情況。例如,假設(shè)心跳消息的發(fā)送周期為10s,心跳超時(shí)時(shí)間為30s,如果第一設(shè)備在Os和IOs分別發(fā)送了心跳消息,而在Ils時(shí)故障(例如系統(tǒng)崩潰),因此重新啟動(dòng),在38s時(shí)第一設(shè)備發(fā)送了重啟后的第一個(gè)心跳消息。從時(shí)序上來看,第二設(shè)備會(huì)收到第一設(shè)備在0s、10s和38s時(shí)發(fā)送的心跳消息,心跳消息僅在10s-38s這段時(shí)間內(nèi)丟失,并未超出心跳超時(shí)時(shí)間(SP30s),所以第二設(shè)備會(huì)認(rèn)為第一設(shè)備一直處于在線狀態(tài),不會(huì)探測(cè)到第一設(shè)備的這次“閃斷”,但是實(shí)際上第一設(shè)備已經(jīng)重新啟動(dòng)過,第一設(shè)備與第二設(shè)備的狀態(tài)已經(jīng)不同步,這將導(dǎo)致雙機(jī)的故障狀態(tài)轉(zhuǎn)移、主備狀態(tài)選舉等運(yùn)行錯(cuò)亂。
發(fā)明內(nèi)容
本發(fā)明提供一種對(duì)端狀態(tài)檢測(cè)方法、裝置及設(shè)備,用以解決現(xiàn)有心跳探測(cè)機(jī)制無法探測(cè)到對(duì)端“閃斷”的問題。本發(fā)明一方面提供一種對(duì)端狀態(tài)檢測(cè)方法,包括第二設(shè)備接收對(duì)端的第一設(shè)備發(fā)送的第一心跳消息,所述第一心跳消息攜帯有第一會(huì)話標(biāo)識(shí)ID,所述第一會(huì)話ID是對(duì)應(yīng)于所述第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID,其中,不同狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID不同;所述第二設(shè)備判斷所述第一會(huì)話ID與所述第二設(shè)備本地存儲(chǔ)的第二會(huì)話ID是否相同,所述第二會(huì)話ID是對(duì)應(yīng)于所述第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID ;如果判斷結(jié)果為不相同,所述第二設(shè)備判定所述第一設(shè)備發(fā)生過故障。本發(fā)明一方面還提供一種對(duì)端狀態(tài)檢測(cè)裝置,設(shè)置在第二設(shè)備中,所述裝置包括第一接收模塊,用于接收對(duì)端的第一設(shè)備發(fā)送的第一心跳消息,所述第一心跳消息攜帯有第一會(huì)話標(biāo)識(shí)ID,所述第一會(huì)話ID是對(duì)應(yīng)于所述第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID,其中,不同狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID不同;第一判斷模塊,用于判斷所述第一會(huì)話ID與所述第二設(shè)備本地存儲(chǔ)的第二會(huì)話ID是否相同,所述第二會(huì)話ID是對(duì)應(yīng)于所述第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID ;判定模塊,用于在所述第一判斷模塊判斷出所述第一會(huì)話ID與所述第二會(huì)話ID不相同時(shí),判定所述第一設(shè)備發(fā)生過故障。本發(fā)明另一方面提供一種對(duì)端狀態(tài)檢測(cè)方法,包括第一設(shè)備生成第一心跳消息,所述第一心跳消息攜帯有第一會(huì)話標(biāo)識(shí)ID,所述第ー會(huì)話ID是對(duì)應(yīng)于所述第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID,其中,不同狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID不同;所述第一設(shè)備將所述第一心跳消息發(fā)送給對(duì)端的第二設(shè)備,以使所述第二設(shè)備根據(jù)所述第一會(huì)話ID和所述第二設(shè)備本地存儲(chǔ)的第二會(huì)話ID判斷所述第一設(shè)備的狀態(tài),所述第二會(huì)話ID是對(duì)應(yīng)于所述第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID。本發(fā)明另一方面還提供一種對(duì)端狀態(tài)檢測(cè)裝置,設(shè)置在第一設(shè)備中,所述裝置包括 第二生成模塊,用于生成第一心跳消息,所述第一心跳消息攜帯有第一會(huì)話標(biāo)識(shí)ID,所述第一會(huì)話ID是對(duì)應(yīng)于所述第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID,其中,不同狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID不同;第二發(fā)送模塊,用于將所述第一心跳消息發(fā)送給對(duì)端的第二設(shè)備,以使所述第二設(shè)備根據(jù)所述第一會(huì)話ID和所述第二設(shè)備本地存儲(chǔ)的第二會(huì)話ID判斷所述第一設(shè)備的狀態(tài),所述第二會(huì)話ID是對(duì)應(yīng)于所述第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID。本發(fā)明又一方面還提供ー種設(shè)備,包括本發(fā)明一方面提供的任一對(duì)端狀態(tài)檢測(cè)裝置,和/或,本發(fā)明另一方面提供的對(duì)端狀態(tài)檢測(cè)裝置。本發(fā)明提供的對(duì)端狀態(tài)檢測(cè)方法、裝置及設(shè)備,第二設(shè)備與對(duì)端的第一設(shè)備使用會(huì)話ID表征不同的狀態(tài)檢測(cè)過程,第二設(shè)備接收第一設(shè)備發(fā)送的攜帯有表征第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的第一會(huì)話ID,然后將第一會(huì)話ID和表征第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的第二會(huì)話ID進(jìn)行比較,通過判斷兩端上當(dāng)前的狀態(tài)檢測(cè)過程是否對(duì)應(yīng)來判斷第一設(shè)備是否發(fā)生過“閃斷”等故障,如果兩個(gè)會(huì)話ID不相同,說明兩端當(dāng)前的狀態(tài)檢測(cè)過程不相同,因此可以判定第一設(shè)備發(fā)生過“閃斷”等故障并重啟了,由此可見,本發(fā)明技術(shù)方案解決了現(xiàn)有心跳探測(cè)機(jī)制無法探測(cè)到對(duì)端“閃斷”等故障的問題。
圖I為本發(fā)明一實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)方法的流程圖;圖2為本發(fā)明另ー實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)方法的流程圖;圖3為本發(fā)明又一實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)方法的流程圖;圖4為本發(fā)明又一實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)方法的流程圖;圖5為本發(fā)明又一實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)方法的流程圖;圖6為本發(fā)明又一實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)方法的流程圖;圖7為本發(fā)明又一實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)方法的流程圖;圖8為本發(fā)明又一實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)方法的流程圖;圖9為本發(fā)明又一實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)方法的流程圖;圖10為本發(fā)明又一實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)方法的流程圖;圖11為本發(fā)明一實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)裝置的結(jié)構(gòu)示意圖;圖12為本發(fā)明另ー實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)裝置的結(jié)構(gòu)示意圖13為本發(fā)明又一實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)裝置的結(jié)構(gòu)示意圖;圖14為本發(fā)明又一實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式圖I為本發(fā)明一實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)方法的流程圖。如圖I所示,本實(shí)施例的方法包括步驟101、第二設(shè)備接收對(duì)端的第一設(shè)備發(fā)送的第一心跳消息,該第一心跳消息攜帶有第一會(huì)話標(biāo)識(shí)(ID),該第一會(huì)話ID是對(duì)應(yīng)于第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID,其中,不同狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID不同。
步驟102、第二設(shè)備判斷第一會(huì)話ID與第二設(shè)備本地存儲(chǔ)的第二會(huì)話ID是否相同,該第二會(huì)話ID是對(duì)應(yīng)于第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID ;如果判斷結(jié)果為否,即不相同,執(zhí)行步驟103 ;如果判斷結(jié)果為是,即相同,則可以結(jié)束操作。步驟103、第二設(shè)備判定第一設(shè)備發(fā)生過故障。在本實(shí)施例中,第二設(shè)備判定第一設(shè)備發(fā)生過的故障主要是指“閃斷”故障,但不限于此,例如也可以是現(xiàn)有心跳探測(cè)機(jī)制無法檢測(cè)到的其他故障。其中,第二設(shè)備與第一設(shè)備互為對(duì)端,本實(shí)施例以第二設(shè)備檢測(cè)第一設(shè)備的狀態(tài)為例進(jìn)行說明,但不限于此。本實(shí)施例的方法同樣適用于第一設(shè)備檢測(cè)第二設(shè)備的狀態(tài)。在此說明,本發(fā)明以下各實(shí)施例中,第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程實(shí)際上是指第一設(shè)備確定的當(dāng)前第二設(shè)備對(duì)第一設(shè)備進(jìn)行狀態(tài)檢測(cè)的過程;第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程實(shí)際上是指第二設(shè)備確定的當(dāng)前第二設(shè)備對(duì)第一設(shè)備進(jìn)行狀態(tài)檢測(cè)的過程。在本實(shí)施例中,第一設(shè)備向第二設(shè)備發(fā)送心跳消息,第二設(shè)備接收第一設(shè)備發(fā)送的心跳消息,從而獲知第一設(shè)備的狀態(tài)。其中,當(dāng)?shù)诙O(shè)備接收到第一設(shè)備發(fā)送的心跳消息時(shí),可以判斷第一設(shè)備未發(fā)生故障,即對(duì)第二設(shè)備來說,第一設(shè)備是正常存在的。進(jìn)ー步,為了檢測(cè)第一設(shè)備是否發(fā)生過“閃斷”等故障,本實(shí)施例中的第一設(shè)備與第二設(shè)備使用會(huì)話ID表征狀態(tài)檢測(cè)過程。其中,不同狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID不同。另外,第一設(shè)備和第二設(shè)備上對(duì)應(yīng)的狀態(tài)檢測(cè)過程對(duì)應(yīng)相同的會(huì)話ID。其中,如果第一設(shè)備在第二設(shè)備上的某一狀態(tài)檢測(cè)過程中未發(fā)生故障,第一設(shè)備與第二設(shè)備上的狀態(tài)檢測(cè)過程是對(duì)應(yīng)的,兩端使用的表征狀態(tài)檢測(cè)過程的會(huì)話ID也是相同的;反之,如果第一設(shè)備在第二設(shè)備上的某一狀態(tài)檢測(cè)過程中發(fā)生了故障,則第一設(shè)備與第二設(shè)備上的狀態(tài)檢測(cè)過程就會(huì)不對(duì)應(yīng),則兩端使用的表征狀態(tài)檢測(cè)過程的會(huì)話ID就會(huì)不同。在本實(shí)施例中,第二設(shè)備正是通過判斷第一設(shè)備與第二設(shè)備上的狀態(tài)檢測(cè)過程是否對(duì)應(yīng)來判斷第一設(shè)備是否發(fā)生了“閃斷”等故障的。更為具體的,第二設(shè)備通過判斷第一設(shè)備發(fā)送的心跳消息攜帯的會(huì)話ID與本地存儲(chǔ)的會(huì)話ID是否相同,來判斷第一設(shè)備與第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程是否相同。于是,第一設(shè)備向第二設(shè)備發(fā)送第一心跳消息時(shí),在第一心跳消息中攜帯表征第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的第一會(huì)話ID。其中,如果第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程是與第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程相對(duì)應(yīng)的狀態(tài)檢測(cè)過程,則第一會(huì)話ID就與第二設(shè)備本地存儲(chǔ)的第二會(huì)話ID相同,則第二設(shè)備就會(huì)判斷出第一會(huì)話ID與第二會(huì)話ID相同。如果第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程不是與第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程,則第一會(huì)話ID就與第二會(huì)話ID不相同,則第二設(shè)備就會(huì)判斷出第一會(huì)話ID與第二會(huì)話ID不相同。如果第二設(shè)備判斷出第一會(huì)話ID與第二會(huì)話ID相同,說明第一設(shè)備在第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程中未發(fā)生過“閃斷”故障。則第二設(shè)備可以結(jié)束操作??蛇x的,第二設(shè)備也可以判定第一設(shè)備在第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程中尚未發(fā)生過“閃斷”故障。如果第二設(shè)備判斷出第一會(huì)話ID與第二會(huì)話ID不相同,說明第一設(shè)備在第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程中發(fā)生過“閃斷”,因此才導(dǎo)致第一會(huì)話ID與第二會(huì)話ID不相同,所以可以判定第一設(shè)備在第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程中發(fā)生過故障。其中,如果第一設(shè)備發(fā)生“閃斷”,意味著第一設(shè)備在很短時(shí)間內(nèi)故障并重新啟動(dòng),由于第一設(shè)備重新啟動(dòng)了,所以第一設(shè)備重新啟動(dòng)的狀態(tài)檢測(cè)過程與“閃斷”之前的狀態(tài)檢測(cè)過程屬于不同的狀態(tài)檢測(cè)過程,所使用的會(huì)話ID并不相同,而第二設(shè)備按照現(xiàn)有心跳探測(cè)機(jī)制尚未發(fā)現(xiàn)第一設(shè)備發(fā)生了“閃斷”,所以使用的會(huì)話ID仍是第一設(shè)備發(fā)生“閃斷”之前使用的會(huì)話ID,因此,在第 一設(shè)備發(fā)生“閃斷”的情況下,第二設(shè)備會(huì)判斷出第一會(huì)話ID與第二會(huì)話ID不相同。在本實(shí)施例的一可選實(shí)施方式中,第二設(shè)備在檢測(cè)出第一設(shè)備發(fā)生過故障后,可以向第二設(shè)備或管理員等通告第二設(shè)備發(fā)生過故障,以便于及時(shí)采取相應(yīng)處理操作。例如,管理員可以及時(shí)對(duì)第一設(shè)備和第二設(shè)備進(jìn)行狀態(tài)同步,或者用第一設(shè)備的備份替換第一設(shè)備,保證有關(guān)業(yè)務(wù)的正常運(yùn)行等。本發(fā)明提供的對(duì)端狀態(tài)檢測(cè)方法,第二設(shè)備與對(duì)端的第一設(shè)備使用會(huì)話ID表征不同的狀態(tài)檢測(cè)過程,第二設(shè)備接收第一設(shè)備發(fā)送的攜帯有表征第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的第一會(huì)話ID,然后將第一會(huì)話ID和表征第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的第二會(huì)話ID進(jìn)行比較,通過判斷兩端上當(dāng)前的狀態(tài)檢測(cè)過程是否對(duì)應(yīng)來判斷第一設(shè)備是否發(fā)生過“閃斷”等故障,如果兩個(gè)會(huì)話ID不相同,說明兩端當(dāng)前的狀態(tài)檢測(cè)過程不相同,因此可以判定第一設(shè)備發(fā)生過“閃斷”等故障并重啟了,由此可見,本實(shí)施例解決了現(xiàn)有心跳探測(cè)機(jī)制無法探測(cè)到對(duì)端“閃斷”等故障的問題,為基于對(duì)對(duì)端狀態(tài)檢測(cè)結(jié)果的故障狀態(tài)轉(zhuǎn)移、主備狀態(tài)選舉、對(duì)端狀態(tài)通告等操作提供了有利條件,為這些操作成功執(zhí)行打下了基礎(chǔ)。圖2為本發(fā)明另ー實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)方法的流程圖。本實(shí)施例基于圖I所示實(shí)施例實(shí)現(xiàn),如圖2所示,本實(shí)施例在步驟101之前包括步驟201、第二設(shè)備生成第二會(huì)話ID,將第二會(huì)話ID發(fā)送給第一設(shè)備,以使第一設(shè)備將第二會(huì)話ID作為第一設(shè)備上與第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID并存儲(chǔ)在本地。本實(shí)施例主要描述由進(jìn)行檢測(cè)的設(shè)備(即第二設(shè)備)負(fù)責(zé)為當(dāng)前狀態(tài)檢測(cè)過程生成對(duì)應(yīng)的會(huì)話ID,并將該會(huì)話ID提供給被檢測(cè)的設(shè)備(即第一設(shè)備),以使被檢測(cè)的設(shè)備在該狀態(tài)檢測(cè)過程中能夠使用該會(huì)話ID。具體的,第二設(shè)備可以在啟動(dòng)第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程時(shí)或之前,生成表征第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的第二會(huì)話ID。第二設(shè)備生成第二會(huì)話ID后,將第二會(huì)話ID存儲(chǔ)在本地,以便于對(duì)對(duì)端的第一設(shè)備進(jìn)行狀態(tài)檢測(cè)。另外,第二設(shè)備將該第二會(huì)話ID提供給第一設(shè)備,以使第一設(shè)備使用第二會(huì)話ID表征第一設(shè)備上與第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程,并在該過程中向第二設(shè)備發(fā)送攜帯有第二會(huì)話ID的心跳消息。可選的,第二設(shè)備將第二會(huì)話ID提供給第一設(shè)備的方式不做限定,例如可以攜帶在第二設(shè)備發(fā)送給第一設(shè)備的心跳消息中,或者攜帯在專門定義的消息中發(fā)送給第一設(shè)備??蛇x的,由于不同的會(huì)話ID表征不同的狀態(tài)檢測(cè)過程,因此,第一設(shè)備和第二設(shè)備可以臨時(shí)存儲(chǔ)會(huì)話ID,一旦該會(huì)話ID表征的狀態(tài)檢測(cè)過程結(jié)束,該會(huì)話ID會(huì)被刪除或丟失。在此說明,如果第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程是與第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程,則第一設(shè)備發(fā)送的第一心跳消息中攜帯的第一會(huì)話ID就是第二會(huì)話ID。在該情況下,第二設(shè)備會(huì)判斷出第一會(huì)話ID與第二會(huì)話ID相同。如果第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程不是與第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程,例如第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程是在第一設(shè)備發(fā)生“閃斷”之后重新啟動(dòng) 的狀態(tài)檢測(cè)過程,則第一設(shè)備發(fā)送的第一心跳消息中攜帯的第一會(huì)話ID不是第二會(huì)話ID,其中,第二會(huì)話ID會(huì)因?yàn)榈谝辉O(shè)備發(fā)生“閃斷”而丟失。在該情況下,第二設(shè)備會(huì)判斷出第ー會(huì)話ID與第二會(huì)話ID不相同。在此說明,第一設(shè)備上預(yù)先設(shè)置有ー默認(rèn)的會(huì)話ID (簡(jiǎn)稱為預(yù)設(shè)的會(huì)話ID),當(dāng)?shù)讴`設(shè)備上不存在第二設(shè)備發(fā)送的會(huì)話ID時(shí),第一設(shè)備會(huì)將預(yù)設(shè)的會(huì)話ID作為當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID。該預(yù)設(shè)的會(huì)話ID與第二設(shè)備生成的各會(huì)話ID不相同。這樣,第一設(shè)備因發(fā)生“閃斷”而重啟后,會(huì)使用預(yù)設(shè)的會(huì)話ID作為第一會(huì)話ID,然后生成第一心跳消息,所以第一心跳消息中的第一會(huì)話ID與第二會(huì)話ID不相同。在此說明,第二設(shè)備可以采用各種方法生成能夠唯一表征每個(gè)狀態(tài)檢測(cè)過程的會(huì)話ID,例如可以采用隨機(jī)生成方法??蛇x的,本實(shí)施例使用的表征狀態(tài)檢測(cè)過程的會(huì)話ID可以是通用唯一識(shí)別碼(Universally Unique Identif ier,簡(jiǎn)稱為 UUID),但不限于此。在本實(shí)施例的一可選實(shí)施方式中,如圖3所示,本實(shí)施例的方法在步驟101之前還包括步驟202、第二設(shè)備判斷心跳超時(shí)時(shí)間是否到達(dá),如果判斷結(jié)果為是,即心跳超時(shí)時(shí)間到達(dá),則執(zhí)行步驟203 ;如果判斷結(jié)果為否,即心跳超時(shí)時(shí)間未到達(dá),則執(zhí)行步驟101。優(yōu)選的,步驟202可以在步驟201之后執(zhí)行,并重新啟動(dòng)對(duì)心跳超時(shí)時(shí)間的計(jì)時(shí)。步驟203、第二設(shè)備判定第一設(shè)備發(fā)生故障。在本實(shí)施例中,第一設(shè)備周期性的向第二設(shè)備發(fā)送第一心跳消息,第二設(shè)備上設(shè)置有心跳超時(shí)時(shí)間,如果在心跳超時(shí)時(shí)間內(nèi)未接收到第一設(shè)備發(fā)送的第一心跳消息,則說明第一設(shè)備發(fā)生故障或丟失,如果在心跳超時(shí)時(shí)間內(nèi)接收到第一設(shè)備發(fā)送的第一心跳消息,則說明第一設(shè)備一直存在或者重新出現(xiàn)。在第一設(shè)備存在或重新出現(xiàn)的情況下,本實(shí)施例的第二設(shè)備通過將第一心跳消息攜帯的第一會(huì)話ID與本地存儲(chǔ)的第二會(huì)話ID進(jìn)行比較,進(jìn)一歩判斷第一設(shè)備是否發(fā)生過“閃斷”等無法通過心跳超時(shí)時(shí)間判斷出的故障。可選的,當(dāng)?shù)诙O(shè)備判定第一設(shè)備發(fā)生故障后,可以向第二設(shè)備和/或管理員發(fā)出故障通告,這樣第一設(shè)備和第二設(shè)備可以重新進(jìn)行狀態(tài)同歩。在第一設(shè)備與第二設(shè)備進(jìn)行狀態(tài)同步后,第一設(shè)備可以繼續(xù)向第二設(shè)備發(fā)送心跳消息,而第二設(shè)備可以繼續(xù)接收第一設(shè)備發(fā)送的心跳消息,該過程以及后續(xù)過程與本實(shí)施例提供的處理第一心跳消息的過程相同。本實(shí)施例通過使用心跳超時(shí)時(shí)間判斷心跳消息是否發(fā)生丟失,以探測(cè)對(duì)端是否發(fā)生故障,進(jìn)ー步與會(huì)話ID相結(jié)合可以提高探測(cè)靈敏度。圖4為本發(fā)明又一實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)方法的流程圖。本實(shí)施例可基于圖I所示實(shí)施例實(shí)現(xiàn),如圖4所示,本實(shí)施例的方法在步驟101之前包括步驟301、第二設(shè)備接收第一設(shè)備發(fā)送的第二心跳消息,第二心跳消息是第一設(shè)備上與第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程中的第一個(gè)心跳消息,該第二心跳消息攜帯有第二會(huì)話ID。步驟302、第二設(shè)備將第二會(huì)話ID存儲(chǔ)在本地。在本實(shí)施例中,第二會(huì)話ID除了表征第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程之外,同時(shí)還表征第一設(shè)備上與第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程。
具體的,第一設(shè)備在啟動(dòng)與第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程吋,生成表征該狀態(tài)檢測(cè)過程的會(huì)話ID,即第二會(huì)話ID,一方面將第二會(huì)話ID存儲(chǔ)在本地,另ー方面將第二會(huì)話ID攜帯在該狀態(tài)檢測(cè)過程中的第一個(gè)心跳消息(即第二心跳消息)中發(fā)送給第二設(shè)備。第二設(shè)備接收第一設(shè)備發(fā)送的第二心跳消息,從中獲取第二會(huì)話ID,由于第二心跳消息是在當(dāng)前狀態(tài)檢測(cè)過程中接收到的第一個(gè)心跳消息,所以第二設(shè)備上尚未存在表征當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID,于是將第二會(huì)話ID存儲(chǔ)在本地,用以表征當(dāng)前狀態(tài)檢測(cè)過程。可選的,第一設(shè)備和第二設(shè)備可以臨時(shí)存儲(chǔ)第二會(huì)話ID。本實(shí)施例主要描述由被檢測(cè)的設(shè)備(即第一設(shè)備)在每次啟動(dòng)狀態(tài)檢測(cè)過程時(shí)生成會(huì)話ID,并通過第一個(gè)心跳消息將會(huì)話ID提供給進(jìn)行檢測(cè)的設(shè)備(即第二設(shè)備),以供進(jìn)行檢測(cè)的設(shè)備在對(duì)應(yīng)的狀態(tài)檢測(cè)過程中能夠使用該會(huì)話ID。其中,第一設(shè)備在毎次啟動(dòng)狀態(tài)檢測(cè)過程時(shí)生成的會(huì)話ID不同,例如可以使用但不限于隨機(jī)生成方法等生成會(huì)話ID。另夕卜,當(dāng)一個(gè)狀態(tài)檢測(cè)過程結(jié)束后,第二設(shè)備會(huì)將對(duì)應(yīng)的會(huì)話ID刪除,相當(dāng)于重新初始化,以便于在下ー個(gè)狀態(tài)檢測(cè)過程對(duì)第一設(shè)備進(jìn)行狀態(tài)檢測(cè)。如果第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程是與第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程,則第一設(shè)備發(fā)送的第一心跳消息中攜帯的第一會(huì)話ID就是第二會(huì)話ID。在該情況下,第二設(shè)備會(huì)判斷出第一會(huì)話ID與第二會(huì)話ID相同。如果第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程不是與第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程,例如第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程是在第一設(shè)備發(fā)生“閃斷”之后重新啟動(dòng)的狀態(tài)檢測(cè)過程,則第一設(shè)備發(fā)送的第一心跳消息中攜帯的第一會(huì)話ID不是第二會(huì)話ID,其中,第二會(huì)話ID會(huì)因?yàn)榈谝辉O(shè)備發(fā)生“閃斷”而丟失,而第一設(shè)備會(huì)重新為新的狀態(tài)檢測(cè)過程生成會(huì)話ID,即第一會(huì)話ID。在該情況下,第二設(shè)備會(huì)判斷出第一會(huì)話ID與第二會(huì)話ID不相同?;谏鲜?,如果第二設(shè)備判斷出第一會(huì)話ID與第二會(huì)話ID不相同,則第二設(shè)備將第二會(huì)話ID刪除,以重新存儲(chǔ)新的狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID。在本實(shí)施例的一可選實(shí)施方式中,如圖5所示,本實(shí)施例的方法在步驟101之前還包括步驟303、第二設(shè)備判斷心跳超時(shí)時(shí)間是否到達(dá),如果判斷結(jié)果為是,即心跳超時(shí)時(shí)間到達(dá),則執(zhí)行步驟304;如果判斷結(jié)果為否,即心跳超時(shí)時(shí)間未到達(dá),則執(zhí)行步驟101,并重新啟動(dòng)對(duì)心跳超時(shí)時(shí)間的計(jì)時(shí)。優(yōu)選的,步驟303可以在步驟302之后執(zhí)行。
步驟304、第二設(shè)備判定第一設(shè)備發(fā)生故障。該實(shí)施方式可參見圖3所示實(shí)施例中相應(yīng)步驟的描述,在此不再贅述。本實(shí)施例通過使用心跳超時(shí)時(shí)間判斷心跳消息是否發(fā)生丟失,以探測(cè)對(duì)端是否發(fā)生故障,進(jìn)ー步與會(huì)話ID相結(jié)合可以提高探測(cè)靈敏度。圖6為本發(fā)明又一實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)方法的流程圖。如圖6所示,本實(shí)施例的方法包括步驟601、第一設(shè)備生成第一心跳消息,該第一心跳消息攜帯有第一會(huì)話ID,該第ー會(huì)話ID是對(duì)應(yīng)于第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID,其中,不同狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID不同。 步驟602、第一設(shè)備將第一心跳消息發(fā)送給對(duì)端的第二設(shè)備,以使第二設(shè)備根據(jù)第ー會(huì)話ID和第二設(shè)備本地存儲(chǔ)的第二會(huì)話ID判斷第一設(shè)備的狀態(tài),該第二會(huì)話ID是對(duì)應(yīng)于第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID。在本實(shí)施例中,第一設(shè)備與第二設(shè)備互為對(duì)端,本實(shí)施例以第二設(shè)備檢測(cè)第一設(shè)備的狀態(tài)為例進(jìn)行說明,但不限于此。本實(shí)施例的方法同樣適用于第一設(shè)備檢測(cè)第二設(shè)備的狀態(tài)。為了使第二設(shè)備能夠成功檢測(cè)到第一設(shè)備是否發(fā)生“閃斷”等故障,第一設(shè)備與第ニ設(shè)備相配合,使用會(huì)話ID表征不同的狀態(tài)檢測(cè)過程,并在發(fā)送給第二設(shè)備的第一心跳消息中攜帯表征第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的第一會(huì)話ID。然后,第一設(shè)備將攜帯第一會(huì)話ID的第一心跳消息發(fā)送給第二設(shè)備,這樣第二設(shè)備就可以通過比較第一會(huì)話ID與本地存儲(chǔ)的表征第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的第二會(huì)話ID,來判斷第一設(shè)備是否曾經(jīng)發(fā)生過“閃斷”等故障。關(guān)于第二設(shè)備比較第一會(huì)話ID與第二會(huì)話ID,來判斷第一設(shè)備是否曾經(jīng)發(fā)生過“閃斷”等故障的詳細(xì)過程可參見上述實(shí)施例中的描述,在此不再贅述。在本實(shí)施例中,第一設(shè)備與第二設(shè)備相配合,使用不同的會(huì)話ID表征不同的狀態(tài)檢測(cè)過程,使得第二設(shè)備可以成功檢測(cè)到第一設(shè)備是否發(fā)生過“閃斷”等故障,解決了現(xiàn)有心跳探測(cè)機(jī)制無法探測(cè)到對(duì)端“閃斷”等故障的問題,為基于對(duì)對(duì)端狀態(tài)檢測(cè)結(jié)果的故障狀態(tài)轉(zhuǎn)移、主備狀態(tài)選舉、對(duì)端狀態(tài)通告等操作提供了有利條件,為這些操作成功執(zhí)行打下了基礎(chǔ)。圖7為本發(fā)明又一實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)方法的流程圖。本實(shí)施例可基于圖6所示實(shí)施例實(shí)現(xiàn),如圖7所示,本實(shí)施例的方法在步驟601之前包括步驟701、第一設(shè)備接收第二設(shè)備發(fā)送的第二會(huì)話ID。步驟702、第一設(shè)備將第二會(huì)話ID作為第一設(shè)備上與第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID,并存儲(chǔ)在本地。本實(shí)施例主要描述由進(jìn)行檢測(cè)的設(shè)備(即第二設(shè)備)負(fù)責(zé)為當(dāng)前狀態(tài)檢測(cè)過程生成對(duì)應(yīng)的會(huì)話ID,并將該會(huì)話ID提供給被檢測(cè)的設(shè)備(即第一設(shè)備),以使被檢測(cè)的設(shè)備在該狀態(tài)檢測(cè)過程中能夠使用該會(huì)話ID。對(duì)第一設(shè)備來說,會(huì)在與第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程中,接收第二設(shè)備提供的第二會(huì)話ID,并將第二會(huì)話ID存儲(chǔ)在本地,用以表征與第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程。這樣,如果第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程就是對(duì)應(yīng)于第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的狀態(tài)檢測(cè)過程,則第一設(shè)備發(fā)送的第一心跳消息中攜帯的第一會(huì)話ID就是第二會(huì)話ID。如果第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程不是對(duì)應(yīng)于第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的狀態(tài)檢測(cè)過程(例如是故障重啟后重新啟動(dòng)的狀態(tài)檢測(cè)過程),則第一設(shè)備發(fā)送的第一心跳消息中攜帯的第一會(huì)話ID不是第二會(huì)話ID0可選 的,由于不同的會(huì)話ID表征不同的狀態(tài)檢測(cè)過程,因此,第一設(shè)備和第二設(shè)備可以臨時(shí)存儲(chǔ)會(huì)話ID,一旦該會(huì)話ID表征的狀態(tài)檢測(cè)過程結(jié)束,該會(huì)話ID會(huì)被刪除或丟失。在此說明,第一設(shè)備上預(yù)先設(shè)置有ー默認(rèn)的會(huì)話ID (簡(jiǎn)稱為預(yù)設(shè)的會(huì)話ID),當(dāng)?shù)讴`設(shè)備上不存在第二設(shè)備發(fā)送的會(huì)話ID時(shí),第一設(shè)備會(huì)將預(yù)設(shè)的會(huì)話ID作為當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID。該預(yù)設(shè)的會(huì)話ID與第二設(shè)備生成的各會(huì)話ID不相同。這樣,第一設(shè)備因發(fā)生“閃斷”而重啟后,由于之前臨時(shí)存儲(chǔ)的會(huì)話ID丟失,所以會(huì)使用預(yù)設(shè)的會(huì)話ID作為第一會(huì)話ID,然后生成第一心跳消息,所以在發(fā)生“閃斷”生成的第一心跳消息中的第ー會(huì)話ID與第二會(huì)話ID不相同?;谏鲜觯襟E601的具體實(shí)施方式
包括第一設(shè)備判斷本地是否存在存儲(chǔ)的會(huì)話ID,如果判斷結(jié)果為是,第一設(shè)備將存儲(chǔ)的會(huì)話ID作為第一會(huì)話ID,然后生成第一心跳消息;如果判斷結(jié)果為否,第一設(shè)備將預(yù)設(shè)的會(huì)話ID作為第一會(huì)話ID,然后生成第一心跳消息??蛇x的,第一設(shè)備可以單獨(dú)設(shè)置用于存儲(chǔ)會(huì)話ID的存儲(chǔ)空間,通過判斷設(shè)置的存儲(chǔ)空間是否為空,如果為空,說明不存在存儲(chǔ)的會(huì)話ID,如果不為空,則說明存在存儲(chǔ)的會(huì)話ID,獲取存儲(chǔ)的會(huì)話ID作為第一會(huì)話ID。在本實(shí)施例的一可選實(shí)施方式中,如圖8所示,本實(shí)施例的方法在步驟602之前包括步驟703、第一設(shè)備判斷心跳周期是否到達(dá),如果判斷結(jié)果為是,執(zhí)行步驟602,并重新啟動(dòng)對(duì)心跳周期的計(jì)時(shí);如果判斷結(jié)果為否,返回步驟703,繼續(xù)判斷心跳周期是否到達(dá)。在本實(shí)施例中,第一設(shè)備周期性的向第二設(shè)備發(fā)送第一心跳消息,只有在心跳周期到達(dá)時(shí),才向第二設(shè)備發(fā)送第一心跳消息,如果心跳周期未到達(dá),則繼續(xù)等待直到心跳周期到達(dá),這樣可以減少第一設(shè)備向第二設(shè)備發(fā)送的第一心跳消息的數(shù)量,在保證能夠探測(cè)到第一設(shè)備是否發(fā)生故障的情況下,有利于減輕第一設(shè)備和第二設(shè)備的處理負(fù)擔(dān)。圖9為本發(fā)明又一實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)方法的流程圖。本實(shí)施例基于圖6所示實(shí)施例實(shí)現(xiàn),如圖9所示,本實(shí)施例的方法在步驟601之前包括步驟801、第一設(shè)備生成第二心跳消息,該第二心跳消息是第一設(shè)備上與第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程中的第一個(gè)心跳消息,該第二心跳消息攜帯有第ニ會(huì)話ID,以使第二設(shè)備將第二會(huì)話ID存儲(chǔ)在本地。本實(shí)施例主要描述由被檢測(cè)的設(shè)備(即第一設(shè)備)在毎次啟動(dòng)狀態(tài)檢測(cè)過程時(shí)生成會(huì)話ID,并通過第一個(gè)心跳消息將會(huì)話ID提供給進(jìn)行檢測(cè)的設(shè)備(即第二設(shè)備),以供進(jìn)行檢測(cè)的設(shè)備在對(duì)應(yīng)的狀態(tài)檢測(cè)過程中能夠使用該會(huì)話ID。其中,第一設(shè)備在毎次啟動(dòng)狀態(tài)檢測(cè)過程時(shí)生成的會(huì)話ID不同,例如可以使用但不限于隨機(jī)生成方法等生成會(huì)話ID。另夕卜,當(dāng)一個(gè)狀態(tài)檢測(cè)過程結(jié)束后,第二設(shè)備會(huì)將對(duì)應(yīng)的會(huì)話ID刪除,相當(dāng)于重新初始化,以便于在下ー個(gè)狀態(tài)檢測(cè)過程對(duì)第一設(shè)備進(jìn)行狀態(tài)檢測(cè)。同理,如果第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程是與第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程,則第一設(shè)備發(fā)送的第一心跳消息中攜帯的第一會(huì)話ID就是第二會(huì)話ID。在該情況下,第二設(shè)備會(huì)判斷出第一會(huì)話ID與第二會(huì)話ID相同。如果第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程不是與第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程,例如第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程是在第一設(shè)備發(fā)生“閃斷”之后重新啟動(dòng)的狀態(tài)檢測(cè)過程,則第一設(shè)備發(fā)送的第一心跳消息中攜帯的第一會(huì)話ID不是第二會(huì)話ID,其中,第二會(huì)話ID會(huì)因?yàn)榈谝辉O(shè)備發(fā)生“閃斷”而丟失,而第一設(shè)備會(huì)重新為新的狀態(tài)檢測(cè)過程生成會(huì)話ID,即第一會(huì)話ID。在該情況下,第二設(shè)備會(huì)判斷出第一會(huì)話ID與第二會(huì)話ID不相同。
·
在本實(shí)施例的一可選實(shí)施方式中,如圖10所示,本實(shí)施例的方法在步驟602之前包括步驟802、第一設(shè)備判斷心跳周期是否到達(dá),如果判斷結(jié)果為是,執(zhí)行步驟602,并重新啟動(dòng)對(duì)心跳周期的計(jì)時(shí);如果判斷結(jié)果為否,返回步驟802,繼續(xù)判斷心跳周期是否到達(dá)。在本實(shí)施例中,第一設(shè)備周期性的向第二設(shè)備發(fā)送第一心跳消息,只有在心跳周期到達(dá)時(shí),才向第二設(shè)備發(fā)送第一心跳消息,如果心跳周期未到達(dá),則繼續(xù)等待直到心跳周期到達(dá),這樣可以減少第一設(shè)備向第二設(shè)備發(fā)送的第一心跳消息的數(shù)量,在保證能夠探測(cè)到第一設(shè)備是否發(fā)生故障的情況下,有利于減輕第一設(shè)備和第二設(shè)備的處理負(fù)擔(dān)。圖11為本發(fā)明一實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)裝置的結(jié)構(gòu)示意圖。本實(shí)施例的裝置設(shè)置在第二設(shè)備中實(shí)現(xiàn),但不限于此,例如本實(shí)施例的對(duì)端狀態(tài)檢測(cè)裝置也可以作為第ニ設(shè)備實(shí)現(xiàn)。如圖11所示,本實(shí)施例的裝置包括第一接收模塊111、第一判斷模塊112和判定模塊113。第一接收模塊111,用于接收對(duì)端的第一設(shè)備發(fā)送的第一心跳消息,該第一心跳消息攜帯有第一會(huì)話ID,該第一會(huì)話ID是對(duì)應(yīng)于第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID,其中,不同狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID不同。第一設(shè)備與第二設(shè)備互為對(duì)端。第一判斷模塊112,與第一接收模塊111連接,用于判斷第一接收模塊111接收到的第一會(huì)話ID與第二設(shè)備本地存儲(chǔ)的第二會(huì)話ID是否相同,該第二會(huì)話ID是對(duì)應(yīng)于第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID。可選的,第一接收模塊111向第一判斷模塊112發(fā)送第一會(huì)話ID,第一判斷模塊112接收第一接收模塊111發(fā)送的第一會(huì)話ID。判定模塊113,與第一判斷模塊112連接,用于在第一判斷模塊112判斷出第一會(huì)話ID與第二會(huì)話ID不相同時(shí),判定第一設(shè)備發(fā)生過故障。可選的,第一判斷模塊112向判定模塊113發(fā)送判斷結(jié)果,判定模塊113接收第一判斷模塊112發(fā)送的判斷結(jié)果。可選的,判定模塊113還用于在第一判斷模塊112判斷出第一會(huì)話ID與第二會(huì)話ID相同時(shí),判定第一設(shè)備在第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程中未發(fā)生過故障。本實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)裝置的各功能模塊可用于執(zhí)行圖I所示實(shí)施例提供的方法流程,其具體工作原理不再贅述,詳見方法實(shí)施例的描述。
本實(shí)施例的對(duì)端狀態(tài)檢測(cè)裝置,與對(duì)端的第一設(shè)備使用會(huì)話ID表征不同的狀態(tài)檢測(cè)過程,接收第一設(shè)備發(fā)送的攜帯有表征第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的第一會(huì)話ID,然后將第一會(huì)話ID和表征本地當(dāng)前狀態(tài)檢測(cè)過程的第二會(huì)話ID進(jìn)行比較,通過判斷兩端上當(dāng)前的狀態(tài)檢測(cè)過程是否對(duì)應(yīng)來判斷第一設(shè)備是否發(fā)生過“閃斷”等故障,如果兩個(gè)會(huì)話ID不相同,說明兩端當(dāng)前的狀態(tài)檢測(cè)過程不相同,因此可以判定第一設(shè)備發(fā)生過“閃斷”等故障并重啟了,解決了現(xiàn)有心跳探測(cè)機(jī)制無法探測(cè)到對(duì)端“閃斷”等故障的問題,為基于對(duì)對(duì)端狀態(tài)檢測(cè)結(jié)果的故障狀態(tài)轉(zhuǎn)移、主備狀態(tài)選舉、對(duì)端狀態(tài)通告等操作提供了有利條件,為這些操作成功執(zhí)行打下了基礎(chǔ)。圖12為本發(fā)明另ー實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)裝置的結(jié)構(gòu)示意圖。本實(shí)施例基于圖11所示實(shí)施例實(shí)現(xiàn),如圖12所示,本實(shí)施例的裝置除了包括第一接收模塊111、第一判斷模塊112和判定模塊113之外,還包括第一生成模塊114和第一發(fā)送模塊115。
第一生成模塊114,用于在第一接收模塊111接收第一心跳消息之前生成第二會(huì)話ID。可選的,第一生成模塊114與第一接收模塊111連接。第一發(fā)送模塊115,與第一生成模塊114連接,用于將第一生成模塊114生成的第ニ會(huì)話ID發(fā)送給第一設(shè)備,以使第一設(shè)備將第二會(huì)話ID作為第一設(shè)備上與第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID并存儲(chǔ)在本地??蛇x的,第一生成模塊114向第一發(fā)送模塊115發(fā)送第二會(huì)話ID,第一發(fā)送模塊115接收第一生成模塊114發(fā)送的第二會(huì)話ID。在本實(shí)施例的一可選實(shí)施方式中,第一接收模塊111還用于在接收第一心跳消息之前,接收第一設(shè)備發(fā)送的第二心跳消息,該第二心跳消息是第一設(shè)備上與第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程中的第一個(gè)心跳消息,該第二心跳消息攜帯有第二會(huì)話ID。基于此,本實(shí)施例的對(duì)端狀態(tài)檢測(cè)裝置還包括第一存儲(chǔ)模塊116。第一存儲(chǔ)模塊116,與第一接收模塊111連接,用于存儲(chǔ)第一接收模塊111接收到的第二會(huì)話ID??蛇x的,第一接收模塊111向第一存儲(chǔ)模塊116發(fā)送第二會(huì)話ID,第一存儲(chǔ)模塊116接收第一接收模塊111發(fā)送的第二會(huì)話ID。基于上述第一存儲(chǔ)模塊116,本實(shí)施例的裝置還包括刪除模塊117。該刪除模塊117與第一判斷模塊112連接,用于在第一判斷模塊112的判斷結(jié)果為不相同時(shí),將第一存儲(chǔ)模塊116存儲(chǔ)的第二會(huì)話ID刪除??蛇x的,刪除模塊117還與第一存儲(chǔ)模塊116連接。在本實(shí)施例的一可選實(shí)施方式中,第一判斷模塊112還用于在第一接收模塊111接收第一心跳消息之前,判斷心跳超時(shí)時(shí)間是否到達(dá),并在判斷出心跳超時(shí)時(shí)間未到達(dá)時(shí),觸發(fā)第一接收模塊111接收第一心跳消息,并重新啟動(dòng)對(duì)所述心跳超時(shí)時(shí)間的計(jì)時(shí)。相應(yīng)地,判定模塊113還用于在第一判斷模塊112判斷出心跳超時(shí)時(shí)間到達(dá)時(shí),判定第一設(shè)備發(fā)生故障。本實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)裝置的各功能模塊可用于執(zhí)行圖I-圖5所示方法實(shí)施例中的相應(yīng)流程,其具體工作原理不再贅述,詳見方法實(shí)施例的描述。本實(shí)施例的對(duì)端狀態(tài)檢測(cè)裝置,除了可以解決現(xiàn)有心跳探測(cè)機(jī)制無法探測(cè)到對(duì)端“閃斷”等故障的問題之外,支持本端和對(duì)端生成表征狀態(tài)檢測(cè)過程的會(huì)話ID,靈活性較好,同時(shí),使用心跳超時(shí)時(shí)間判斷心跳消息是否發(fā)生丟失以探測(cè)對(duì)端是否發(fā)生故障,進(jìn)ー步與會(huì)話ID相結(jié)合可以提高探測(cè)靈敏度。
圖13為本發(fā)明又一實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)裝置的結(jié)構(gòu)示意圖。本實(shí)施例的裝置可設(shè)置在第一設(shè)備中實(shí)現(xiàn),但不限于此,例如本實(shí)施例的裝置也可以作為第一設(shè)備實(shí)現(xiàn)。如圖13所示,本實(shí)施例的裝置包括第二生成模塊131和第二發(fā)送模塊132。第二生成模塊131,用于生成第一心跳消息,該第一心跳消息攜帶有第一會(huì)話ID,該第一會(huì)話ID是對(duì)應(yīng)于第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID,其中,不同狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID不同。第二發(fā)送模塊132,與第二生成模塊131連接,用于將第一心跳消息發(fā)送給對(duì)端的第二設(shè)備,以使第二設(shè)備根據(jù)第一會(huì)話ID和第二設(shè)備本地存儲(chǔ)的第二會(huì)話ID判斷第一設(shè)備的狀態(tài),該第二會(huì)話ID是對(duì)應(yīng)于第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID。其中,第一設(shè)備和第二設(shè)備互為對(duì)端。在本實(shí)施例的一可選實(shí)施方式中,如圖14所示,本實(shí)施例的裝置還包括第二接收模塊133和第二存儲(chǔ)模塊134。
第二接收模塊133,用于在第二生成模塊131生成第一心跳消息之前,接收第二設(shè)備發(fā)送的第二會(huì)話ID??蛇x的,第二接收模塊133與第二生成模塊131連接。第二存儲(chǔ)模塊134,與第二接收模塊133連接,用于將第二接收模塊133接收到的第二會(huì)話ID作為第一設(shè)備上與第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID,并存儲(chǔ)第二會(huì)話ID??蛇x的,第二接收模塊133向第二存儲(chǔ)模塊134發(fā)送第二會(huì)話ID,第二存儲(chǔ)模塊134接收第二接收模塊133發(fā)送的第二會(huì)話ID。基于上述,第二生成模塊131具體可用于判斷第一設(shè)備本地是否存在存儲(chǔ)的會(huì)話ID,如果判斷結(jié)果為是,將存儲(chǔ)的會(huì)話ID作為第一會(huì)話ID,然后生成第一心跳消息,如果判斷結(jié)果為否,將預(yù)設(shè)的會(huì)話ID作為第一會(huì)話ID,然后生成第一心跳消息。在本實(shí)施例的一可選實(shí)施方式中,第二生成模塊131還用于在生成第一心跳消息之前生成第二心跳消息,該第二心跳消息是第一設(shè)備上與第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程中的第一個(gè)心跳消息,該第二心跳消息攜帯有第二會(huì)話ID,以使第二設(shè)備將第二會(huì)話ID存儲(chǔ)在本地。在本實(shí)施例的一可選實(shí)施方式中,如圖14所示,本實(shí)施例的裝置還包括第二判斷模塊135。第二判斷模塊135,與第二發(fā)送模塊132連接,用于在第二發(fā)送模塊132將第一心跳消息發(fā)送給第二設(shè)備之前,判斷心跳周期是否到達(dá),并在判斷出心跳周期到達(dá)時(shí)觸發(fā)第二發(fā)送模塊132將第一心跳消息發(fā)送給第二設(shè)備,并重新啟動(dòng)對(duì)所述心跳周期的計(jì)時(shí)。本實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)裝置的各功能模塊可用于執(zhí)行圖6-圖10所示方法實(shí)施例中的相應(yīng)流程,其具體工作原理不再贅述,詳見方法實(shí)施例的描述。本實(shí)施例的對(duì)端狀態(tài)檢測(cè)裝置,與第二設(shè)備相配合,使用不同的會(huì)話ID表征不同的狀態(tài)檢測(cè)過程,使得第二設(shè)備可以成功檢測(cè)到本實(shí)施的對(duì)端狀態(tài)檢測(cè)裝置所在一端是否發(fā)生過“閃斷”等故障,解決了現(xiàn)有心跳探測(cè)機(jī)制無法探測(cè)到對(duì)端“閃斷”等故障的問題,為基于對(duì)對(duì)端狀態(tài)檢測(cè)結(jié)果的故障狀態(tài)轉(zhuǎn)移、主備狀態(tài)選舉、對(duì)端狀態(tài)通告等操作提供了有利條件,為這些操作成功執(zhí)行打下了基礎(chǔ)。本發(fā)明ー實(shí)施例提供一種設(shè)備,包括圖11或圖12所示實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)裝置。關(guān)于對(duì)端狀態(tài)檢測(cè)裝置的結(jié)構(gòu)和工作原理不再贅述,可參見上述相應(yīng)的裝置和方法實(shí)施例。本實(shí)施例提供的設(shè)備可以是各種具有對(duì)端且需要檢測(cè)對(duì)端狀態(tài)的設(shè)備,例如集群系統(tǒng)中的服務(wù)器、需要進(jìn)行負(fù)載均衡的設(shè)備、熱備系統(tǒng)中的主備設(shè)備等。本實(shí)施例的設(shè)備可用于執(zhí)行圖I-圖5所示實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)方法的流程,同樣可以檢測(cè)出對(duì)端是否發(fā)生“閃斷”等故障問題。本發(fā)明另一實(shí)施例提供一種設(shè)備,包括圖13或圖14所示實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)裝置。關(guān)于對(duì)端狀態(tài)檢測(cè)裝置的結(jié)構(gòu)和工作原理不再贅述,可參見上述相應(yīng)的裝置和方法實(shí)施例。本實(shí)施例提供的設(shè)備可以是各種具有對(duì)端且需要檢測(cè)對(duì)端狀態(tài)的設(shè)備,例如集群系統(tǒng)中的服務(wù)器、需要進(jìn)行負(fù)載均衡的設(shè)備、熱備系統(tǒng)中的主備設(shè)備等。本實(shí)施例的設(shè)備可用于執(zhí)行圖6-圖10所示實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)方法的流程,同樣可以檢測(cè)出對(duì)端是否發(fā)生“閃斷”等故障問題。本發(fā)明又一實(shí)施例提供一種設(shè)備,包括圖11或圖12所示實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)裝置,還包括圖13或圖14所示實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)裝置。關(guān)于對(duì)端狀態(tài)檢測(cè)裝置的結(jié)構(gòu)和工作原理不再贅述,可參見上述相應(yīng)的裝置和方法實(shí)施例。本實(shí)施例提供的 設(shè)備可以是各種具有對(duì)端且需要檢測(cè)對(duì)端狀態(tài)的設(shè)備,例如集群系統(tǒng)中的服務(wù)器、需要進(jìn)行負(fù)載均衡的設(shè)備、熱備系統(tǒng)中的主備設(shè)備等。本實(shí)施例的設(shè)備可用于執(zhí)行上述實(shí)施例提供的對(duì)端狀態(tài)檢測(cè)方法的流程,同樣可以檢測(cè)出對(duì)端是否發(fā)生“閃斷”等故障問題。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲(chǔ)于ー計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。最后應(yīng)說明的是以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
權(quán)利要求
1.一種對(duì)端狀態(tài)檢測(cè)方法,其特征在于,包括 第二設(shè)備接收對(duì)端的第一設(shè)備發(fā)送的第一心跳消息,所述第一心跳消息攜帶有第一會(huì)話標(biāo)識(shí)ID,所述第一會(huì)話ID是對(duì)應(yīng)于所述第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID,其中,不同狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID不同; 所述第二設(shè)備判斷所述第一會(huì)話ID與所述第二設(shè)備本地存儲(chǔ)的第二會(huì)話ID是否相同,所述第二會(huì)話ID是對(duì)應(yīng)于所述第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID ; 如果判斷結(jié)果為不相同,所述第二設(shè)備判定所述第一設(shè)備發(fā)生過故障。
2.根據(jù)權(quán)利要求I所述的對(duì)端狀態(tài)檢測(cè)方法,其特征在于,所述第二設(shè)備接收對(duì)端的第一設(shè)備發(fā)送的第一心跳消息之前包括 所述第二設(shè)備生成所述第二會(huì)話ID,并將所述第二會(huì)話ID發(fā)送給所述第一設(shè)備,以使所述第一設(shè)備將所述第二會(huì)話ID作為所述第一設(shè)備上與所述第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID并存儲(chǔ)在本地;或者所述第二設(shè)備接收對(duì)端的第一設(shè)備發(fā)送的第一心跳消息之前包括 所述第二設(shè)備接收所述第一設(shè)備發(fā)送的第二心跳消息,所述第二心跳消息是所述第一設(shè)備上與所述第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程中的第一個(gè)心跳消息,所述第二心跳消息攜帶有所述第二會(huì)話ID ; 所述第二設(shè)備將所述第二會(huì)話ID存儲(chǔ)在本地。
3.根據(jù)權(quán)利要求2所述的對(duì)端狀態(tài)檢測(cè)方法,其特征在于,還包括 如果判斷結(jié)果為不相同,所述第二設(shè)備將所述第二會(huì)話ID刪除。
4.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的對(duì)端狀態(tài)檢測(cè)方法,其特征在于,所述第二設(shè)備接收對(duì)端的第一設(shè)備發(fā)送的第一心跳消息之前包括 所述第二設(shè)備判斷心跳超時(shí)時(shí)間是否到達(dá); 如果判斷結(jié)果為所述心跳超時(shí)時(shí)間未到達(dá),所述第二設(shè)備執(zhí)行接收對(duì)端的第一設(shè)備發(fā)送的第一心跳消息的操作,并重新啟動(dòng)對(duì)所述心跳超時(shí)時(shí)間的計(jì)時(shí); 所述的對(duì)端狀態(tài)檢測(cè)方法還包括 如果判斷結(jié)果為所述心跳超時(shí)時(shí)間到達(dá),所述第二設(shè)備判定所述第一設(shè)備發(fā)生故障。
5.一種對(duì)端狀態(tài)檢測(cè)方法,其特征在于,包括 第一設(shè)備生成第一心跳消息,所述第一心跳消息攜帶有第一會(huì)話標(biāo)識(shí)ID,所述第一會(huì)話ID是對(duì)應(yīng)于所述第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID,其中,不同狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID不同; 所述第一設(shè)備將所述第一心跳消息發(fā)送給對(duì)端的第二設(shè)備,以使所述第二設(shè)備根據(jù)所述第一會(huì)話ID和所述第二設(shè)備本地存儲(chǔ)的第二會(huì)話ID判斷所述第一設(shè)備的狀態(tài),所述第二會(huì)話ID是對(duì)應(yīng)于所述第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID。
6.根據(jù)權(quán)利要求5所述的對(duì)端狀態(tài)檢測(cè)方法,其特征在于,所述第一設(shè)備生成第一心跳消息之前包括 所述第一設(shè)備接收所述第二設(shè)備發(fā)送的所述第二會(huì)話ID ; 所述第一設(shè)備將所述第二會(huì)話ID作為所述第一設(shè)備上與所述第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID,并存儲(chǔ)在本地;或者所述第一設(shè)備生成第一心跳消息之前包括所述第一設(shè)備生成第二心跳消息,所述第二心跳消息是所述第一設(shè)備上與所述第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程中的第一個(gè)心跳消息,所述第二心跳消息攜帶有所述第二會(huì)話ID,以使所述第二設(shè)備將所述第二會(huì)話ID存儲(chǔ)在本地。
7.根據(jù)權(quán)利要求6所述的對(duì)端狀態(tài)檢測(cè)方法,其特征在于,所述第一設(shè)備生成第一心跳消息包括 所述第一設(shè)備判斷本地是否存在存儲(chǔ)的會(huì)話ID ; 如果判斷結(jié)果為是,所述第一設(shè)備將存儲(chǔ)的會(huì)話ID作為所述第一會(huì)話ID,然后生成所述第一心跳消息; 如果判斷結(jié)果為否,所述第一設(shè)備將預(yù)設(shè)的會(huì)話ID作為所述第一會(huì)話ID,然后生成所述第一心跳消息。
8.根據(jù)權(quán)利要求5-7任一項(xiàng)所述的對(duì)端狀態(tài)檢測(cè)方法,其特征在于,所述第一設(shè)備將所述第一心跳消息發(fā)送給對(duì)端的第二設(shè)備之前包括 所述第一設(shè)備判斷心跳周期是否到達(dá); 如果判斷結(jié)果為所述心跳周期到達(dá),所述第一設(shè)備執(zhí)行將所述第一心跳消息發(fā)送給對(duì)端的第二設(shè)備的操作,并重新啟動(dòng)對(duì)所述心跳周期的計(jì)時(shí)。
9.一種對(duì)端狀態(tài)檢測(cè)裝置,其特征在于,設(shè)置在第二設(shè)備中,所述裝置包括 第一接收模塊,用于接收對(duì)端的第一設(shè)備發(fā)送的第一心跳消息,所述第一心跳消息攜帶有第一會(huì)話標(biāo)識(shí)ID,所述第一會(huì)話ID是對(duì)應(yīng)于所述第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID,其中,不同狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID不同; 第一判斷模塊,用于判斷所述第一會(huì)話ID與所述第二設(shè)備本地存儲(chǔ)的第二會(huì)話ID是否相同,所述第二會(huì)話ID是對(duì)應(yīng)于所述第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID ; 判定模塊,用于在所述第一判斷模塊判斷出所述第一會(huì)話ID與所述第二會(huì)話ID不相同時(shí),判定所述第一設(shè)備發(fā)生過故障。
10.根據(jù)權(quán)利要求9所述的對(duì)端狀態(tài)檢測(cè)裝置,其特征在于,還包括 第一生成模塊,用于在所述第一接收模塊接收所述第一心跳消息之前生成所述第二會(huì)話ID ; 第一發(fā)送模塊,用于將所述第二會(huì)話ID發(fā)送給所述第一設(shè)備,以使所述第一設(shè)備將所述第二會(huì)話ID作為所述第一設(shè)備上與所述第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID并存儲(chǔ)在本地。
11.根據(jù)權(quán)利要求9所述的對(duì)端狀態(tài)檢測(cè)裝置,其特征在于,所述第一接收模塊還用于在接收所述第一心跳消息之前,接收所述第一設(shè)備發(fā)送的第二心跳消息,所述第二心跳消息是所述第一設(shè)備上與所述第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程中的第一個(gè)心跳消息,所述第二心跳消息攜帶有所述第二會(huì)話ID ; 所述對(duì)端狀態(tài)檢測(cè)裝置還包括 第一存儲(chǔ)模塊,用于存儲(chǔ)所述第二會(huì)話ID。
12.根據(jù)權(quán)利要求11所述的對(duì)端狀態(tài)檢測(cè)裝置,其特征在于,還包括 刪除模塊,用于在所述第一判斷模塊的判斷結(jié)果為不相同時(shí),將所述第二會(huì)話ID刪除。
13.根據(jù)權(quán)利要求9-12任一項(xiàng)所述的對(duì)端狀態(tài)檢測(cè)裝置,其特征在于,所述第一判斷模塊還用于在所述第一接收模塊接收所述第一心跳消息之前,判斷心跳超時(shí)時(shí)間是否到達(dá),并在判斷出所述心跳超時(shí)時(shí)間未到達(dá)時(shí),觸發(fā)所述第一接收模塊接收所述第一心跳消息,并重新啟動(dòng)對(duì)所述心跳超時(shí)時(shí)間的計(jì)時(shí); 所述判定模塊還用于在所述第一判斷模塊判斷出所述心跳超時(shí)時(shí)間到達(dá)時(shí),判定所述第一設(shè)備發(fā)生故障。
14.一種對(duì)端狀態(tài)檢測(cè)裝置,其特征在于,設(shè)置在第一設(shè)備中,所述裝置包括 第二生成模塊,用于生成第一心跳消息,所述第一心跳消息攜帶有第一會(huì)話標(biāo)識(shí)ID,所述第一會(huì)話ID是對(duì)應(yīng)于所述第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID,其中,不同狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID不同; 第二發(fā)送模塊,用于將所述第一心跳消息發(fā)送給對(duì)端的第二設(shè)備,以使所述第二設(shè)備根據(jù)所述第一會(huì)話ID和所述第二設(shè)備本地存儲(chǔ)的第二會(huì)話ID判斷所述第一設(shè)備的狀態(tài),所述第二會(huì)話ID是對(duì)應(yīng)于所述第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID。
15.根據(jù)權(quán)利要求14所述的對(duì)端狀態(tài)檢測(cè)裝置,其特征在于,還包括 第二接收模塊,用于在所述第二生成模塊生成所述第一心跳消息之前,接收所述第二設(shè)備發(fā)送的所述第二會(huì)話ID ; 第二存儲(chǔ)模塊,用于將所述第二會(huì)話ID作為所述第一設(shè)備上與所述第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID,并存儲(chǔ)所述第二會(huì)話ID。
16.根據(jù)權(quán)利要求15所述的對(duì)端狀態(tài)檢測(cè)裝置,其特征在于,所述第二生成模塊具體用于判斷本地是否存在存儲(chǔ)的會(huì)話ID,如果判斷結(jié)果為是,將存儲(chǔ)的會(huì)話ID作為所述第一會(huì)話ID,然后生成所述第一心跳消息,如果判斷結(jié)果為否,將預(yù)設(shè)的會(huì)話ID作為所述第一會(huì)話ID,然后生成所述第一心跳消息。
17.根據(jù)權(quán)利要求14所述的對(duì)端狀態(tài)檢測(cè)裝置,其特征在于,所述第二生成模塊還用于在生成所述第一心跳消息之前生成第二心跳消息,所述第二心跳消息是所述第一設(shè)備上與所述第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程對(duì)應(yīng)的狀態(tài)檢測(cè)過程中的第一個(gè)心跳消息,所述第二心跳消息攜帶有所述第二會(huì)話ID,以使所述第二設(shè)備將所述第二會(huì)話ID存儲(chǔ)在本地。
18.根據(jù)權(quán)利要求14-17任一項(xiàng)所述的對(duì)端狀態(tài)檢測(cè)裝置,其特征在于,還包括 第二判斷模塊,用于在所述第二發(fā)送模塊將所述第一心跳消息發(fā)送給所述第二設(shè)備之前,判斷心跳周期是否到達(dá),并在判斷出所述心跳周期到達(dá)時(shí)觸發(fā)所述第二發(fā)送模塊將所述第一心跳消息發(fā)送給所述第二設(shè)備,并重新啟動(dòng)對(duì)所述心跳周期的計(jì)時(shí)。
19.一種設(shè)備,其特征在于,包括權(quán)利要求9-13任一項(xiàng)所述的對(duì)端狀態(tài)檢測(cè)裝置,和/或,權(quán)利要求14-18任一項(xiàng)所述的對(duì)端狀態(tài)檢測(cè)裝置。
全文摘要
本發(fā)明提供一種對(duì)端狀態(tài)檢測(cè)方法、裝置及設(shè)備。一種方法包括第二設(shè)備接收對(duì)端的第一設(shè)備發(fā)送的第一心跳消息,第一心跳消息攜帶有第一會(huì)話標(biāo)識(shí)ID,第一會(huì)話ID是對(duì)應(yīng)于第一設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID,其中,不同狀態(tài)檢測(cè)過程對(duì)應(yīng)的會(huì)話ID不同;第二設(shè)備判斷第一會(huì)話ID與第二設(shè)備本地存儲(chǔ)的第二會(huì)話ID是否相同,第二會(huì)話ID是對(duì)應(yīng)于第二設(shè)備上當(dāng)前狀態(tài)檢測(cè)過程的會(huì)話ID;如果判斷結(jié)果為不相同,第二設(shè)備判定第一設(shè)備發(fā)生過故障。本發(fā)明技術(shù)方案解決了現(xiàn)有心跳探測(cè)機(jī)制無法探測(cè)到對(duì)端“閃斷”的問題。
文檔編號(hào)H04L12/26GK102821011SQ20121031137
公開日2012年12月12日 申請(qǐng)日期2012年8月28日 優(yōu)先權(quán)日2012年8月28日
發(fā)明者楊鑫偉 申請(qǐng)人:北京星網(wǎng)銳捷網(wǎng)絡(luò)技術(shù)有限公司