本發(fā)明屬于網(wǎng)絡監(jiān)測領(lǐng)域,尤其涉及一種雙網(wǎng)心跳監(jiān)測方法及系統(tǒng)。
背景技術(shù):
網(wǎng)絡中的接收和發(fā)送數(shù)據(jù)都是通過操作系統(tǒng)中的socket實現(xiàn)的。但如果此套機制斷開,發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的時候就會出現(xiàn)問題,這就需要在系統(tǒng)中創(chuàng)建心跳監(jiān)聽機制。
傳統(tǒng)“心跳”是指定時發(fā)送一個自定義的結(jié)構(gòu)體(心跳包或心跳幀),即客戶端定時發(fā)送一個固定信息給服務端,服務端收到后回復一個固定信息,讓對方知道自己“在線”,以確保鏈接的有效性,但是此種“心跳”機制無法顯示網(wǎng)絡狀態(tài),會造成即使網(wǎng)絡掉線了,客戶端一直給服務器端發(fā)送信息,即使因為掉線服務器端收不到信息、不回信息,客戶端仍舊定時發(fā)送,會造成網(wǎng)絡掉線無法及時恢復。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明提供一種雙網(wǎng)心跳監(jiān)測方法及系統(tǒng),用以解決無法實時監(jiān)控主機在線狀態(tài)的問題,保證了系統(tǒng)的可靠性。
本發(fā)明采用以下技術(shù)方案:
一種雙網(wǎng)心跳監(jiān)測方法,其中,包括如下步驟:
步驟1,檢測監(jiān)測設備是否上線;若上線,則執(zhí)行步驟2,若未上線,則返回步驟1重新檢測;
步驟2,獲取監(jiān)測設備連接的網(wǎng)絡類型;
步驟3,根據(jù)檢測到的網(wǎng)絡類型選擇網(wǎng)絡發(fā)送心跳信號給服務器端;
步驟4,檢測監(jiān)測設備是否收到服務器發(fā)送的心跳回復信息;若收到心跳回復信息,則返回步驟1;若未收到,則繼續(xù)檢測是否累計三次未收到心跳回復信息,若是,則重啟監(jiān)測設備,若否,則返回步驟1。
優(yōu)選的,所述心跳信號的數(shù)據(jù)包中包括:電壓信號、網(wǎng)絡信號、防火墻狀態(tài)信號和故障信號;所述網(wǎng)絡信號包括網(wǎng)絡類型信號和網(wǎng)絡信號強度值。
優(yōu)選的,還包括步驟5,初始化步驟,包括:
啟動監(jiān)測設備的cpu內(nèi)核;
初始化內(nèi)存、ucos和外設;
讀取flash信息;
網(wǎng)絡連接初始化。
優(yōu)選的,還包括步驟6,監(jiān)測設備的主機cpu檢測外部設備信息,包括:
檢測主機狀態(tài);包括電壓狀態(tài)、電源狀態(tài)、防火墻狀態(tài)及網(wǎng)絡信號強度;
檢測外部設備是否故障;包括主機網(wǎng)絡連接是否正常;若網(wǎng)絡連接不正常,則檢測網(wǎng)卡及網(wǎng)線是否正常工作。
優(yōu)選的,所述步驟3,根據(jù)檢測到的網(wǎng)絡類型選擇網(wǎng)絡發(fā)送心跳信號給服務器端,包括:
根據(jù)檢測到的網(wǎng)絡類型選擇心跳信號類型;所述心跳信號類型包括無線連接心跳信號和有線連接心跳信號;
每隔預設時間發(fā)送心跳信號。
優(yōu)選的,所述預設時間為20秒。
一種雙網(wǎng)心跳監(jiān)測系統(tǒng),包括:
第一檢測模塊,用于檢測監(jiān)測設備是否上線;若上線,則獲取監(jiān)測設備連接的網(wǎng)絡類型,若未上線,則重新檢測;
獲取模塊,用于獲取監(jiān)測設備連接的網(wǎng)絡類型;
發(fā)送模塊,用于根據(jù)檢測到的網(wǎng)絡類型選擇網(wǎng)絡發(fā)送心跳信號給服務器端;
第二檢測模塊,用于檢測監(jiān)測設備是否收到服務器發(fā)送的心跳回復信息;若收到心跳回復信息,則檢測監(jiān)測設備是否上線;若未收到,則繼續(xù)檢測是否累計三次未收到心跳回復信息,若是,則重啟監(jiān)測設備,若否,則檢測監(jiān)測設備是否上線。
優(yōu)選的,還包括初始化模塊,包括:
啟動子模塊,用于啟動監(jiān)測設備的cpu內(nèi)核;
第一初始化子模塊,用于初始化內(nèi)存、ucos和外設;
讀取子模塊,用于讀取flash信息;
第二初始化子模塊,用于網(wǎng)絡連接初始化。
優(yōu)選的,還包括第三檢測模塊,包括:
第一檢測子模塊,用于檢測主機狀態(tài);包括電壓狀態(tài)、電源狀態(tài)、防火墻狀態(tài)及網(wǎng)絡信號強度;
第二檢測子模塊,用于檢測外部設備是否故障;包括主機網(wǎng)絡連接是否正常;若網(wǎng)絡連接不正常,則檢測網(wǎng)卡及網(wǎng)線是否正常工作。
優(yōu)選的,所述發(fā)送模塊,包括:
選擇子模塊,用于根據(jù)檢測到的網(wǎng)絡類型選擇心跳信號類型;所述心跳信號類型包括無線連接心跳信號和有線連接心跳信號;
發(fā)送子模塊,用于每隔預設時間發(fā)送心跳信號。
本發(fā)明的有益效果如下:
本發(fā)明是在傳統(tǒng)“心跳”機制上進一步開發(fā),主機cpu檢測到設備狀態(tài),如供電情況、網(wǎng)線拔出、防火墻斷線、網(wǎng)絡類型、gprs的信號值等,同時在心跳里面加入主機的狀態(tài)信息,將以上信息和一些必要的同步信息(例如布撤防信息、故障信息等)發(fā)送給服務器,服務器解析該數(shù)據(jù)并通過平臺顯示。同時在心跳基礎(chǔ)上再次增加心跳的種類,使同一個設備心跳能夠區(qū)分不同聯(lián)網(wǎng)類型,從而通過心跳類型來區(qū)分不同的網(wǎng)絡,比如gprs無線網(wǎng)絡和有線internet網(wǎng)絡,并在應用層處理網(wǎng)絡連接。
本發(fā)明尤其適于報警系統(tǒng),可以檢查到報警器斷電、網(wǎng)線拔出、防火墻斷線,并在邏輯層處理斷線,通過心跳類別來區(qū)分不同網(wǎng)絡,實現(xiàn)了實時監(jiān)控主機在線狀態(tài),保證了系統(tǒng)的可靠性。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一種雙網(wǎng)心跳監(jiān)測方法的流程圖。
圖2是本發(fā)明一種雙網(wǎng)心跳監(jiān)測系統(tǒng)的框圖。
圖3是本發(fā)明一種雙網(wǎng)心跳監(jiān)測系統(tǒng)中初始化模塊的框圖。
圖4是本發(fā)明一種雙網(wǎng)心跳監(jiān)測系統(tǒng)中第三檢測模塊的框圖。
圖5是本發(fā)明一種雙網(wǎng)心跳監(jiān)測系統(tǒng)中發(fā)送模塊的框圖。
具體實施方式
本實施例提供一種雙網(wǎng)心跳監(jiān)測方法,包括如下步驟:
步驟1,檢測監(jiān)測設備是否上線;若上線,則執(zhí)行步驟2,若未上線,則返回步驟1重新檢測;
步驟2,獲取監(jiān)測設備連接的網(wǎng)絡類型;
步驟3,根據(jù)檢測到的網(wǎng)絡類型選擇網(wǎng)絡發(fā)送心跳信號給服務器端;
步驟4,檢測監(jiān)測設備是否收到服務器發(fā)送的心跳回復信息;若收到心跳回復信息,則返回步驟1;若未收到,則繼續(xù)檢測是否累計三次未收到心跳回復信息,若是,則重啟監(jiān)測設備,若否,則返回步驟1。
該實施例中,報警器的主機cpu檢測外部設備信息和網(wǎng)絡類型,設備向服務器端發(fā)送的心跳信號的數(shù)據(jù)包中加入了主機的狀態(tài)信息和網(wǎng)絡信號信息,能夠根據(jù)心跳信號來區(qū)分不同的網(wǎng)絡,例如gprs無線網(wǎng)絡和有線internet網(wǎng)絡。設備可以根據(jù)檢測到的網(wǎng)絡類型來選擇該網(wǎng)絡發(fā)送心跳信號,例如網(wǎng)絡連接為無線網(wǎng)絡,客戶端選擇該無線網(wǎng)絡發(fā)送心跳信號給服務器端。為避免檢測錯誤,只有當連續(xù)累計三次沒有收到心跳回復信息時,才重啟設備,若未達到連續(xù)累計三次,則返回步驟1重新檢測。
在一個實施例中,該方法還包括步驟5,初始化步驟:包括:
啟動cpu內(nèi)核;
初始化內(nèi)存、ucos和主機外設;
讀取flash信息;
網(wǎng)絡連接初始化。
該實施例中,初始化步驟執(zhí)行在所有步驟之前,先執(zhí)行初始化步驟,將主機cpu內(nèi)存、ucos和外設進行初始化,讀取flash信息,網(wǎng)絡連接初始化,初始化步驟完成后進行下一步驟。
在一個實施例中,還包括步驟6,監(jiān)測設備的主機cpu檢測外部設備信息,包括:
檢測主機狀態(tài);包括電壓狀態(tài)、電源狀態(tài)、防火墻狀態(tài)及網(wǎng)絡信號強度;
檢測外部設備是否故障;包括主機網(wǎng)絡連接是否正常;若網(wǎng)絡連接不正常,則檢測網(wǎng)卡及網(wǎng)線是否正常工作。
該實施例中,主機cpu檢測外部設備信息,檢測主機的狀態(tài)及是否有故障,檢測到的信息包括:電壓狀態(tài)(包括電壓是否正常、是否欠壓),電源狀態(tài)(電源是否正常工作,是否有斷電情況),防火墻狀態(tài)(防火墻是否正常),網(wǎng)絡信號強度(包括網(wǎng)絡信號強度及信號值),網(wǎng)絡連接是否正常,是否有網(wǎng)線拔出等情況。將檢測到的這些信息加入心跳信號的數(shù)據(jù)包中,為服務器端實時了解客戶端的運行狀況提供數(shù)據(jù)支持。
在一個實施例中,所述步驟3,根據(jù)檢測到的網(wǎng)絡類型選擇網(wǎng)絡發(fā)送心跳信號給服務器端,包括:
根據(jù)檢測到的網(wǎng)絡類型選擇心跳信號類型;所述心跳信號類型包括無線連接心跳信號和有線連接心跳信號;
每隔預設時間發(fā)送心跳信號。
該實施例中,預設時間可以根據(jù)實際情況選取,例如預設時間為20秒。為避免系統(tǒng)誤判斷,若主機連續(xù)三次未收到服務器端的反饋信息,則判斷網(wǎng)絡連接出現(xiàn)故障,重啟監(jiān)測設備。
實施例1:
如圖1所示,本實施例提供一種雙網(wǎng)心跳監(jiān)測方法,包括如下步驟:
步驟1,初始化步驟:啟動cpu內(nèi)核;初始化內(nèi)存、ucos和主機外設;讀取flash信息;網(wǎng)絡連接初始化;
步驟2,檢測監(jiān)測設備是否上線;若上線,則執(zhí)行步驟3,若未上線,則返回步驟2重新檢測;
步驟3,獲取監(jiān)測設備連接的網(wǎng)絡類型;
步驟4,根據(jù)檢測到的網(wǎng)絡類型選擇網(wǎng)絡20s計時發(fā)送心跳信號給服務器端;若為有線連接,則選擇有線連接方式,發(fā)送有線類型心跳,20s計時發(fā)送;啊打開是無線連接,則選擇無線連接方式,發(fā)送無線類型心跳信號,20s計時發(fā)送;
步驟5,檢測監(jiān)測設備是否收到服務器發(fā)送的心跳回復信息;若收到心跳回復信息,則返回步驟1;若未收到,則繼續(xù)檢測是否累計三次未收到心跳回復信息,若是,則重啟監(jiān)測設備,若否,則返回步驟1。
服務器端接收客戶端發(fā)送的心跳信號后,解析心跳信號,并顯示解析的內(nèi)容;解析心跳信號,包括:解析心跳信號中的數(shù)據(jù)包,得到電壓信號、網(wǎng)絡信號、防火墻狀態(tài)信號和故障信號;所述網(wǎng)絡信號包括網(wǎng)絡類型信號和網(wǎng)絡信號強度值;所述故障信號包括主機網(wǎng)絡連接是否正常,網(wǎng)卡及網(wǎng)線是否正常;服務器端發(fā)送心跳信號回復的反饋信息。
服務器端接收到客戶端發(fā)送的心跳信號后,可以先執(zhí)行解析心跳信號并顯示解析的內(nèi)容的步驟,也可以先給客戶端發(fā)送反饋信息,然后再執(zhí)行解析心跳信號步驟。客戶端收到服務器的的反饋信息,表明此時連接正常,繼續(xù)在客戶端執(zhí)行檢測步驟。
實施例2:
如圖2所示,對應于上述一種雙網(wǎng)心跳監(jiān)測方法,本實施例提供一種雙網(wǎng)心跳監(jiān)測系統(tǒng),包括:
第一檢測模塊1,用于檢測監(jiān)測設備是否上線;若上線,則獲取監(jiān)測設備連接的網(wǎng)絡類型,若未上線,則重新檢測;
獲取模塊2,用于獲取監(jiān)測設備連接的網(wǎng)絡類型;
發(fā)送模塊3,用于根據(jù)檢測到的網(wǎng)絡類型選擇網(wǎng)絡發(fā)送心跳信號給服務器端;
第二檢測模塊4,用于檢測監(jiān)測設備是否收到服務器發(fā)送的心跳回復信息;若收到心跳回復信息,則檢測監(jiān)測設備是否上線;若未收到,則繼續(xù)檢測是否累計三次未收到心跳回復信息,若是,則重啟監(jiān)測設備,若否,則檢測監(jiān)測設備是否上線。
在一個實施例中,如圖3所示,還包括初始化模塊5,包括:
啟動子模塊501,用于啟動監(jiān)測設備的cpu內(nèi)核;
第一初始化子模塊502,用于初始化內(nèi)存、ucos和外設;
讀取子模塊503,用于讀取flash信息;
第二初始化子模塊504,用于網(wǎng)絡連接初始化。
在一個實施例中,如圖4所示,還包括第三檢測模塊6,包括:
第一檢測子模塊601,用于檢測主機狀態(tài);包括電壓狀態(tài)、電源狀態(tài)、防火墻狀態(tài)及網(wǎng)絡信號強度;
第二檢測子模塊602,用于檢測外部設備是否故障;包括主機網(wǎng)絡連接是否正常;若網(wǎng)絡連接不正常,則檢測網(wǎng)卡及網(wǎng)線是否正常工作。
在一個實施例中,如圖5所示,發(fā)送模塊3,包括:
選擇子模塊301,用于根據(jù)檢測到的網(wǎng)絡類型選擇心跳信號類型;所述心跳信號類型包括無線連接心跳信號和有線連接心跳信號;
發(fā)送子模塊302,用于每隔預設時間發(fā)送心跳信號。
主機cpu檢測到設備狀態(tài),如供電情況、網(wǎng)線拔出、防火墻斷線、網(wǎng)絡類型、gprs的信號值等,同時在心跳里面加入主機的狀態(tài)信息,將以上信息和一些必要的同步信息發(fā)送給服務器,服務器解析該數(shù)據(jù)并通過平臺顯示。同時在心跳基礎(chǔ)上再次增加心跳的種類,使同一個設備心跳能夠區(qū)分不同聯(lián)網(wǎng)類型,從而通過心跳類型來區(qū)分不同的網(wǎng)絡,比如gprs無線網(wǎng)絡和有線internet網(wǎng)絡,并在應用層處理網(wǎng)絡連接。同時通過心跳類別來區(qū)分不同網(wǎng)絡,實現(xiàn)了實時監(jiān)控主機在線狀態(tài),保證了系統(tǒng)的可靠性。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。