一種無中心網(wǎng)絡的節(jié)點狀態(tài)快速監(jiān)測方法
【專利摘要】本發(fā)明公開了一種無中心網(wǎng)絡的節(jié)點狀態(tài)快速監(jiān)測方法,屬于計算機網(wǎng)絡領(lǐng)域。該方法的基本思想是,首先建立一個無中心節(jié)點的計算機網(wǎng)絡,網(wǎng)絡中具有P1~Pk共k個節(jié)點,節(jié)點中存儲節(jié)點狀態(tài)表;然后在當前監(jiān)測周期內(nèi),每個開機節(jié)點均向其下一個開機節(jié)點發(fā)送狀態(tài)監(jiān)測包;若一開機節(jié)點Pi連續(xù)m個監(jiān)測周期內(nèi)均未接收到狀態(tài)監(jiān)測包,則Pi的上一開機節(jié)點故障,Pi更新節(jié)點狀態(tài)表并廣播狀態(tài)更新包;若任一關(guān)機節(jié)點Pj開機入網(wǎng),由Pj向其下一開機節(jié)點發(fā)送狀態(tài)監(jiān)測包;Pj的下一開機節(jié)點接收到狀態(tài)監(jiān)測包之后,更新節(jié)點狀態(tài)表并廣播狀態(tài)更新包,開機節(jié)點收到狀態(tài)更新包后更新節(jié)點狀態(tài)表。本方法適用于無中心網(wǎng)絡的節(jié)點狀態(tài)監(jiān)測。
【專利說明】一種無中心網(wǎng)絡的節(jié)點狀態(tài)快速監(jiān)測方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種無中心網(wǎng)絡的節(jié)點狀態(tài)快速監(jiān)測方法,屬于計算機網(wǎng)絡領(lǐng)域,適用于無中心節(jié)點的計算機網(wǎng)絡,尤其適用于并行處理應用的無中心網(wǎng)絡。
【背景技術(shù)】
[0002]在現(xiàn)有的計算機網(wǎng)絡【技術(shù)領(lǐng)域】,并行處理應用主要采用的網(wǎng)絡架構(gòu)有兩種:一種為計算機集群網(wǎng)絡,另一種為無中心節(jié)點的計算機網(wǎng)絡即為無中心網(wǎng)絡。
[0003]其中計算機集群網(wǎng)絡包括集群管理節(jié)點和集群計算節(jié)點幾類不同用途的網(wǎng)絡節(jié)點。集群管理節(jié)點的主要作用是用來分配和管理集群系統(tǒng)的用戶帳號和權(quán)限,在實際的應用中集群管理節(jié)點通常安裝集群管理軟件,作為主節(jié)點對整個集群進行監(jiān)控、管理和作業(yè)調(diào)度等工作;集群計算節(jié)點的主要作用是科學計算、運行并行計算程序,是計算機集群網(wǎng)絡的主體。
[0004]可以看出在計算機集群網(wǎng)絡中,是由集群管理節(jié)點統(tǒng)一實現(xiàn)對集群計算節(jié)點的狀態(tài)監(jiān)控和作業(yè)調(diào)度等,即集群管理節(jié)點是網(wǎng)絡中的中心節(jié)點或關(guān)鍵節(jié)點,如果集群管理節(jié)點出現(xiàn)故障,則導致整個計算機集群網(wǎng)絡處于癱瘓狀態(tài),因此為了提高計算機集群網(wǎng)絡的可靠性,通常都是用兩臺互為熱備的服務器作為集群管理節(jié)點,但是仍然會存在著網(wǎng)絡整體癱瘓的可能性。
[0005]為了避免這種網(wǎng)路整體癱瘓的可能,無中心網(wǎng)絡應運而生。
[0006]在無中心網(wǎng)絡中,各計算機在控制地位上是平等的,沒有主備之分,當有新任務發(fā)起或有計算機出現(xiàn)故障時,由網(wǎng)絡中各計算機自行發(fā)起任務調(diào)度控制。任意一臺或者幾臺計算機節(jié)點出現(xiàn)故障都不會影響網(wǎng)絡完成并行處理應用的能力。
[0007]目前相對于無中心網(wǎng)絡的研究,其研究重點都在于無線傳感器網(wǎng)絡,受限于無線傳感器能量的限制,無線傳感器網(wǎng)絡的節(jié)點監(jiān)測方法較多考慮節(jié)能因素,并不適用于計算機網(wǎng)絡,因此如何對無中心節(jié)點的計算機網(wǎng)絡進行節(jié)點狀態(tài)監(jiān)測是亟待解決的問題。
【發(fā)明內(nèi)容】
[0008]有鑒于此,本發(fā)明提供了一種無中心網(wǎng)絡的節(jié)點狀態(tài)快速監(jiān)測方法,目的在于針對無中心節(jié)點的計算機網(wǎng)絡,提出一種適用于并行處理應用的無中心網(wǎng)絡節(jié)點狀態(tài)快速監(jiān)測方法,以解決無線傳感器網(wǎng)絡的節(jié)點監(jiān)測方法不適用于計算機網(wǎng)絡的問題。
[0009]為達到上述目的,本發(fā)明的技術(shù)方案為,該方法包括如下步驟:
[0010]步驟1、建立一個無中心節(jié)點的計算機網(wǎng)絡,該網(wǎng)絡中具有k個節(jié)點,對于每個節(jié)點進行順序編號記為P1?pk,每個節(jié)點中均存儲節(jié)點狀態(tài)表;
[0011]節(jié)點狀態(tài)表中記載所有節(jié)點的節(jié)點編號、IP地址以及開關(guān)機狀態(tài);
[0012]根據(jù)節(jié)點狀態(tài)表中所記錄的節(jié)點的開關(guān)機狀態(tài),將處于開機狀態(tài)的節(jié)點記為開機節(jié)點,處于關(guān)機狀態(tài)的節(jié)點記為關(guān)機節(jié)點;
[0013]步驟2、在當前監(jiān)測周期內(nèi),所述開機節(jié)點均按照節(jié)點的編號順序向其下一個開機節(jié)點發(fā)送狀態(tài)監(jiān)測包;其中編號為最末的開機節(jié)點以編號最靠前的開機節(jié)點作為下一開機節(jié)點;
[0014]對于任一開機節(jié)點PygPi接收到其上一個開機節(jié)點發(fā)送的狀態(tài)監(jiān)測包,則獲知該已的上一個開機節(jié)點狀態(tài)正常;若其Pi連續(xù)m個監(jiān)測周期內(nèi)均未接收到其上一開機節(jié)點的狀態(tài)監(jiān)測包,則使Pi更新自身所存的節(jié)點狀態(tài)表,將Pi的上一開機節(jié)點的編號對應表項中的開關(guān)機狀態(tài)修改為關(guān)機,Pi向網(wǎng)絡中其他所有開機節(jié)點廣播狀態(tài)更新包;
[0015]狀態(tài)更新包中包括修改狀態(tài)的節(jié)點的編號、IP地址以及開關(guān)機狀態(tài);
[0016]開機節(jié)點接收狀態(tài)更新包,根據(jù)狀態(tài)更新包更新各自所存儲的節(jié)點狀態(tài)表;
[0017]對于任一關(guān)機節(jié)點Pj,若Pj開機入網(wǎng),根據(jù)節(jié)點狀態(tài)表,由Pj向其節(jié)點編號后的下一開機節(jié)點發(fā)送狀態(tài)監(jiān)測包;若P」的下一開機節(jié)點接收到P」發(fā)送的狀態(tài)監(jiān)測包,則判斷Pj已入網(wǎng),P」的下一開機節(jié)點更新自身所存節(jié)點狀態(tài)表,將I的節(jié)點編號對應表項中的開關(guān)機狀態(tài)修改為開機,Pj的下一開機節(jié)點向網(wǎng)絡中其他所有開機節(jié)點發(fā)送狀態(tài)更新包。
[0018]有益效果:
[0019]1、本發(fā)明所提供的一種無中心網(wǎng)絡的節(jié)點狀態(tài)快速監(jiān)測方法,可在一個節(jié)點狀態(tài)監(jiān)測周期內(nèi)快速完成對在網(wǎng)所有節(jié)點的狀態(tài)監(jiān)測,通常一個節(jié)點狀態(tài)監(jiān)測周期可控制在20ms內(nèi),同時本發(fā)明可以動態(tài)地實現(xiàn)節(jié)點的入網(wǎng)和退出,當節(jié)點開機加入網(wǎng)絡時,只需一個節(jié)點狀態(tài)監(jiān)測周期即可完成全網(wǎng)節(jié)點狀態(tài)表的更新。
[0020]2、在本發(fā)明的整個監(jiān)測過程中僅存在一個節(jié)點狀態(tài)表和兩類數(shù)據(jù)包:狀態(tài)監(jiān)測包及狀態(tài)更新包,且狀態(tài)監(jiān)測包內(nèi)容不做限制,狀態(tài)更新包的具體格式與節(jié)點狀態(tài)表一致,可以很大程度地簡化實現(xiàn)過程。
【專利附圖】
【附圖說明】
[0021]圖1為本發(fā)明中狀態(tài)監(jiān)測包流向圖。
【具體實施方式】
[0022]下面結(jié)合附圖并舉實施例,對本發(fā)明進行詳細描述。
[0023]本方法具體為以下步驟:
[0024]步驟1、建立一個無中心節(jié)點的計算機網(wǎng)絡,該網(wǎng)絡中具有k個節(jié)點,對于每個節(jié)點進行順序編號,記為P1~pk,每個節(jié)點中均存儲有節(jié)點狀態(tài)表,其中節(jié)點狀態(tài)表記錄所有節(jié)點的節(jié)點狀態(tài);
[0025]在實際的應用中可以使用二維表的形式建立節(jié)點狀態(tài)表,則以節(jié)點編號建立各條表項,每條表項中存儲的內(nèi)容包括IP地址以及開關(guān)機狀態(tài),節(jié)點編號為表項的唯一索引項,即可以通過節(jié)點編號對節(jié)點狀態(tài)進行查找。
[0026]根據(jù)節(jié)點狀態(tài)表中所記錄的節(jié)點的開關(guān)機狀態(tài),將處于開機狀態(tài)的節(jié)點記為開機節(jié)點,處于關(guān)機狀態(tài)的節(jié)點記·為關(guān)機節(jié)點。
[0027]步驟2、在當前監(jiān)測周期內(nèi),所有的開機節(jié)點均按照節(jié)點的編號順序向下一個開機節(jié)點發(fā)送狀態(tài)監(jiān)測包;其中編號為最末的開機節(jié)點以編號最靠前的開機節(jié)點作為下一開機節(jié)點。其中狀態(tài)監(jiān)測包以單播的方式進行發(fā)送。
[0028]如圖1所示,假設(shè)PpPyPn^Pk均為開機節(jié)點,Pn為關(guān)機節(jié)點,則Pk的下一開機節(jié)點為Pi。則狀態(tài)監(jiān)測包以圖中箭頭所示方向發(fā)送。
[0029]其中狀態(tài)監(jiān)測包內(nèi)容任意設(shè)定;只要當前開機節(jié)點能夠接收到狀態(tài)監(jiān)測包即可證明其上一開機節(jié)點狀態(tài)正常,無異常退出或關(guān)機現(xiàn)象發(fā)生。
[0030]對于任一開機節(jié)點Pi接收到其上一個開機節(jié)點發(fā)送的狀態(tài)監(jiān)測包,則該Pi的上一個開機節(jié)點狀態(tài)正常;若其Pi連續(xù)m個監(jiān)測周期內(nèi)均未接收到其上一開機節(jié)點的狀態(tài)監(jiān)測包,則使Pi更新自身所存的節(jié)點狀態(tài)表,將Pi的上一開機節(jié)點的編號對應表項中的開關(guān)機狀態(tài)修改為關(guān)機,Pi向網(wǎng)絡中其他所有開機節(jié)點廣播狀態(tài)更新包。
[0031]其中m的值可根據(jù)實際效果自行設(shè)定。
[0032]狀態(tài)更新包中包括修改狀態(tài)的節(jié)點的編號、IP地址以及開關(guān)機狀態(tài),以廣播的方式進行發(fā)送。
[0033]開機節(jié)點接收狀態(tài)更新包,并根據(jù)狀態(tài)更新包更新各自所存儲的節(jié)點狀態(tài)表。
[0034]對于任一關(guān)機節(jié)點Pj,若Pj開機入網(wǎng),根據(jù)節(jié)點狀態(tài)表,由Pj向其節(jié)點編號后的下一開機節(jié)點發(fā)送狀態(tài)監(jiān)測包;若P」的下一開機節(jié)點接收到P」發(fā)送的狀態(tài)監(jiān)測包,則判斷Pj已入網(wǎng),由于Pj已發(fā)生改變,則需要更新節(jié)點狀態(tài)表并向其他開機節(jié)點廣播狀態(tài)更新包,但是&可能并不處于穩(wěn)定的開機狀態(tài),因此需要&的下一開機節(jié)點更新自身所存節(jié)點狀態(tài)表,將Pj的節(jié)點編號對應表項中的開關(guān)機狀態(tài)修改為開機,并且由Pj的下一開機節(jié)點向網(wǎng)絡中其他開機節(jié)點發(fā)送狀態(tài)更新包。
[0035]綜上所述,以上僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種無中心網(wǎng)絡的節(jié)點狀態(tài)快速監(jiān)測方法,其特征在于,包括如下步驟: 步驟1、建立一個無中心節(jié)點的計算機網(wǎng)絡,該網(wǎng)絡中具有k個節(jié)點,對于每個節(jié)點進行順序編號記為P1?pk,每個節(jié)點中均存儲節(jié)點狀態(tài)表; 所述節(jié)點狀態(tài)表中記載所有節(jié)點的節(jié)點編號、IP地址以及開關(guān)機狀態(tài); 根據(jù)節(jié)點狀態(tài)表中所記錄的節(jié)點的開關(guān)機狀態(tài),將處于開機狀態(tài)的節(jié)點記為開機節(jié)點,處于關(guān)機狀態(tài)的節(jié)點記為關(guān)機節(jié)點; 步驟2、在當前監(jiān)測周期內(nèi),所述開機節(jié)點均按照節(jié)點的編號順序向其下一個開機節(jié)點發(fā)送狀態(tài)監(jiān)測包;其中編號為最末的開機節(jié)點以編號最靠前的開機節(jié)點作為下一開機節(jié)占.對于任一開機節(jié)點Pi,g Pi接收到其上一個開機節(jié)點發(fā)送的狀態(tài)監(jiān)測包,則獲知該Pi的上一個開機節(jié)點狀態(tài)正常;若其Pi連續(xù)m個監(jiān)測周期內(nèi)均未接收到其上一開機節(jié)點的狀態(tài)監(jiān)測包,則使Pi更新自身所存的節(jié)點狀態(tài)表,將Pi的上一開機節(jié)點的編號對應表項中的開關(guān)機狀態(tài)修改為關(guān)機,Pi向網(wǎng)絡中其他所有開機節(jié)點廣播狀態(tài)更新包; 所述狀態(tài)更新包中包括修改狀態(tài)的節(jié)點的編號、IP地址以及開關(guān)機狀態(tài); 開機節(jié)點接收狀態(tài)更新包,根據(jù)狀態(tài)更新包更新各自所存儲的節(jié)點狀態(tài)表; 對于任一關(guān)機節(jié)點Pp若&開機入網(wǎng),根據(jù)節(jié)點狀態(tài)表,由P」向其節(jié)點編號后的下一開機節(jié)點發(fā)送狀態(tài)監(jiān)測包;若P」的下一開機節(jié)點接收到P」發(fā)送的狀態(tài)監(jiān)測包,則判斷P」已入網(wǎng),Pj的下一開機節(jié)點更新自身所存節(jié)點狀態(tài)表,將&的節(jié)點編號對應表項中的開關(guān)機狀態(tài)修改為開機,Pj的下一開機節(jié)點向網(wǎng)絡中其他所有開機節(jié)點發(fā)送狀態(tài)更新包。
【文檔編號】H04L12/26GK103580957SQ201310544694
【公開日】2014年2月12日 申請日期:2013年11月6日 優(yōu)先權(quán)日:2013年11月6日
【發(fā)明者】林川, 丁一鳴, 劉玉濤 申請人:華北計算技術(shù)研究所