[發(fā)明專利]一種心跳模塊自檢測方法有效
| 申請?zhí)枺?/td> | 201310028990.5 | 申請日: | 2013-01-25 |
| 公開(公告)號: | CN103067209B | 公開(公告)日: | 2017-09-15 |
| 發(fā)明(設(shè)計)人: | 王佳 | 申請(專利權(quán))人: | 浪潮電子信息產(chǎn)業(yè)股份有限公司 |
| 主分類號: | H04L12/24 | 分類號: | H04L12/24;H04L12/26 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 250014 山東*** | 國省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 心跳 模塊 檢測 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及高可用集群系統(tǒng)中多節(jié)點消息通信的方法,具體的說是一種心跳模塊自檢測方法。
背景技術(shù)
高可用集群系統(tǒng)是指能夠保證業(yè)務(wù)24小時不中斷,在系統(tǒng)發(fā)生問題或者應(yīng)用軟件發(fā)生問題時,能夠快速恢復(fù)業(yè)務(wù),盡可能將宕機時間控制在分鐘級別的系統(tǒng)。高可用集群系統(tǒng)由下至上主要包括以下幾個模塊:心跳模塊、資源監(jiān)控模塊、資源管理模塊、分布式控制臺模塊和web服務(wù)模塊。
其中,心跳模塊負(fù)責(zé)多節(jié)點的信息傳輸,是整個系統(tǒng)的核心,是信息交換的樞紐。該模塊的可靠性和穩(wěn)定性直接影響整個系統(tǒng)的實時效應(yīng),即實時提供業(yè)務(wù)狀態(tài)并及時進(jìn)行業(yè)務(wù)預(yù)警。面對多節(jié)點多媒介的信息傳輸,要求可進(jìn)行多播和廣播、傳輸速率快、信息量大且不遺漏、資源開銷少。心跳模塊一般采用glib庫中main event loop輪詢機制進(jìn)行消息發(fā)送,以及節(jié)點和媒介的狀態(tài)檢測。但由于該機制復(fù)雜度高,封裝性強,調(diào)用時程序中的某個錯誤可能使得該輪詢在某個運行點失效,從而導(dǎo)致心跳模塊無法正常工作,甚至使高可用集群系統(tǒng)癱瘓。同時高可用集群系統(tǒng)要求保證業(yè)務(wù)7×24小時不間斷運行,對可靠性,穩(wěn)定性要求極高,一旦出現(xiàn)輪詢失效,對企業(yè)將是巨大的損失。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)任務(wù)是解決現(xiàn)有技術(shù)的不足,提供一種心跳模塊自檢測方法。
本發(fā)明的技術(shù)方案是按以下方式實現(xiàn)的,該一種心跳模塊自檢測方法,其具體檢測步驟包括:
發(fā)送心跳流程:發(fā)送心跳流程以心跳時間間隔為頻率定時發(fā)送;
檢測心跳超時流程:用于檢查某個節(jié)點或某個心跳媒介是否出現(xiàn)故障,進(jìn)行業(yè)務(wù)報警;
所述檢測心跳超時流程的執(zhí)行頻率大于發(fā)送心跳流程的執(zhí)行頻率,且這兩個流程對兩個輪詢進(jìn)行互檢,當(dāng)某個輪詢出現(xiàn)異常時,將重新啟動該輪詢,并更新下一次異常檢測時間,所述兩個流程應(yīng)用于高可用集群中。
所述發(fā)送心跳流程的詳細(xì)步驟為:
步驟1、獲取系統(tǒng)自開機以來的當(dāng)前時間;
步驟2、檢測心跳超時檢測流程是否正常,若正常則進(jìn)入步驟6,若不正常則進(jìn)入步驟3;
步驟3、移除心跳超時檢測輪詢;
步驟4、重新根據(jù)心跳超時檢測時間間隔添加新的超時檢測輪詢;
步驟5、更新超時檢測時間;
步驟6、更新心跳發(fā)送時間;
步驟7、創(chuàng)建心跳信息并放到發(fā)送隊列里等待發(fā)送。
所述步驟2的檢測心跳超時檢測流程為:通過比較心跳超時時間與步驟1測量的當(dāng)前時間差值來確定心跳超時檢測輪詢是否異常,如果差值為正數(shù),則表示正常,反之異常。
所述步驟5的詳細(xì)過程為:超時檢測時間更新為當(dāng)前時間與超時檢測時間間隔×4之和,表明再經(jīng)過更新后的超時檢測時間進(jìn)行超時檢測輪詢的異常檢測。
所述步驟6的詳細(xì)過程為:心跳發(fā)送時間更新為當(dāng)前時間與心跳發(fā)送時間間隔×2之和,表明再經(jīng)過更新后的心跳發(fā)送時間進(jìn)行心跳發(fā)送輪詢的異常檢測。
所述檢測心跳超時流程的詳細(xì)步驟為:
步驟1:獲取系統(tǒng)自開機以來的當(dāng)前時間;
步驟2、檢測心跳發(fā)送檢測流程是否正常,若正常則進(jìn)入步驟6,若不正常則進(jìn)入步驟3;
步驟3、移除心跳發(fā)送輪詢;
步驟4、重新根據(jù)心跳發(fā)送時間間隔添加新的心跳發(fā)送輪詢;
步驟5、更新心跳發(fā)送時間;
步驟6、更新超時檢測時間;
步驟7、繼續(xù)進(jìn)行節(jié)點狀態(tài)檢測和心跳媒介的檢測,并將檢測結(jié)果反饋集群各節(jié)點。
所述步驟2的檢測發(fā)送心跳流程是否正確過程為:通過比較心跳發(fā)送時間與當(dāng)前時間差值來確定檢測心跳發(fā)送檢測流程是否正常,如果是正數(shù),表明心跳發(fā)送輪詢正常;如果為非正數(shù),則為異常。
所述步驟5的詳細(xì)過程為:心跳發(fā)送時間更新為當(dāng)前時間與心跳發(fā)送時間間隔×2之和,表明再經(jīng)過更新后的心跳發(fā)送時間進(jìn)行心跳發(fā)送輪詢的異常檢測。
所述步驟6的詳細(xì)過程為:超時檢測時間更新為當(dāng)前時間與超時檢測時間間隔×4之和,表明再經(jīng)過更新后的超時檢測時間進(jìn)行超時檢測輪詢的異常檢測。
本發(fā)明與現(xiàn)有技術(shù)相比所產(chǎn)生的有益效果是:
本發(fā)明的一種心跳模塊自檢測方法該心跳模塊自檢測方法應(yīng)用于高可用集群,能夠解決因輪詢失效無法實時提供業(yè)務(wù)狀態(tài)并及時進(jìn)行業(yè)務(wù)報警的問題,解決了心跳發(fā)送異常問題;提高了節(jié)點和媒介狀態(tài)檢測的可靠性,及時發(fā)現(xiàn)故障,第一時間進(jìn)行業(yè)務(wù)資源切換。
附圖說明
附圖1是本發(fā)明的發(fā)送心跳流程示意圖。
附圖2是本發(fā)明的檢測心跳超時流程示意圖。
具體實施方式
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浪潮電子信息產(chǎn)業(yè)股份有限公司,未經(jīng)浪潮電子信息產(chǎn)業(yè)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310028990.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





