專利名稱:終端與中心服務(wù)器之間的?;罘椒爸行姆?wù)器、終端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及?;罴夹g(shù)領(lǐng)域,具體涉及終端與中心服務(wù)器之間的?;罘椒爸行姆?wù)器、終端。
背景技術(shù):
在因特網(wǎng)協(xié)議(IP,Internet Protocol)監(jiān)控系統(tǒng)中,各個終端,如編碼器(EC, Encoder)、解碼器(DC,Decoder)等,都需要首先向中心服務(wù)器進行注冊。這些終端必須與中心服務(wù)器實現(xiàn)?;顧C制,如每隔1分鐘終端與中心服務(wù)器交互一次信令,連續(xù)三次交互失敗,則終端和中心服務(wù)器都認(rèn)為?;钍?,于是終端與中心服務(wù)器之間的相關(guān)業(yè)務(wù)全部
停止,終端重新注冊。在小型系統(tǒng)架構(gòu)中,直接在終端和中心服務(wù)器之間進行的?;顧C制十分有效。但當(dāng)系統(tǒng)變大,幾千幾萬個終端同時與中心服務(wù)器進行保活信令的交互,將對中心服務(wù)器造成很大的壓力。如果中心服務(wù)器剛好因為其它業(yè)務(wù)處理繁忙,無法及時響應(yīng)眾多終端的?;钫埱?,就可能使這些終端誤以為?;钍?,從而重新注冊,這不但造成重要業(yè)務(wù)的中斷, 也對中心服務(wù)器造成更嚴(yán)重的處理壓力。而如果加大?;钚帕畹慕换ラg隔,又會造成中心服務(wù)器對終端離線檢測的不及時。
發(fā)明內(nèi)容
本發(fā)明提供終端與中心服務(wù)器之間的?;罘椒爸行姆?wù)器、終端,以減少中心服務(wù)器的處理壓力。本發(fā)明的技術(shù)方案是這樣實現(xiàn)的一種終端與中心服務(wù)器之間的?;罘椒ǎ?dāng)有一個終端注冊時,中心服務(wù)器將該終端標(biāo)識順序記錄到注冊終端列表中,同時,對于任一注冊終端,中心服務(wù)器將在該終端之前注冊的最末一個終端作為該終端的前序終端,將在該終端之后注冊的第一個終端作為該終端的后序終端,將該終端的前序終端標(biāo)識和后序終端標(biāo)識通知該終端,該方法包括當(dāng)一輪?;畈樵冮_始時,中心服務(wù)器向第一注冊終端發(fā)送?;畈樵冃帕?;第一注冊終端接收所述保活查詢信令,向中心服務(wù)器返回保活應(yīng)答信令,同時向第二注冊終端發(fā)送?;畈樵冃帕睿粚τ诘诙恋趎-1注冊終端中的任一終端,該終端接收自身的前序終端發(fā)來的?;畈樵冃帕?,向自身的前序終端返回?;顟?yīng)答信令,同時向自身的后序終端發(fā)送?;畈樵冃帕睿粚τ谧詈笠粋€注冊終端,該終端接收自身的前序終端發(fā)來的?;畈樵冃帕?,向自身的前序終端返回保活應(yīng)答信令,同時向中心服務(wù)器發(fā)送保活查詢信令;中心服務(wù)器接收最后一個注冊終端發(fā)來的保活查詢信令,確認(rèn)本輪?;畈樵兺瓿?,其中,η為注冊終端總數(shù)。所述中心服務(wù)器向第一注冊終端發(fā)送?;畈樵冃帕钪筮M一步包括
若中心服務(wù)器在規(guī)定時間內(nèi)未接收到第一注冊終端返回的保活查詢信令,則將第一注冊終端在本輪保活查詢中的狀態(tài)標(biāo)記為離線,同時將第一注冊終端作為當(dāng)前終端,執(zhí)行步驟A ;若在規(guī)定時間內(nèi)接收到第一注冊終端返回的?;畈樵冃帕?,則不作任何處理;A、中心服務(wù)器向當(dāng)前終端的后序終端發(fā)送保活查詢信令,若在規(guī)定時間內(nèi)未接收到當(dāng)前終端的后序終端返回的保活應(yīng)答信令,則將當(dāng)前終端的后序終端在本輪?;畈樵冎械臓顟B(tài)標(biāo)記為離線,同時將當(dāng)前終端的后序終端作為新的當(dāng)前終端,返回步驟A ;若在規(guī)定時間內(nèi)接收到當(dāng)前終端的后序終端返回的保活應(yīng)答信令,則不作任何處理。對于第二至第n-1注冊終端中的任一終端,所述該終端向自身的后序終端發(fā)送保活查詢信令之后進一步包括該終端未在規(guī)定時間內(nèi)接收到自身的后序終端返回的?;顟?yīng)答信令,則向中心服務(wù)器發(fā)送故障通知信令,該信令攜帶所述后序終端的標(biāo)識;中心服務(wù)器接收所述故障通知信令,向所述后序終端發(fā)送?;畈樵冃帕睿羲龊笮蚪K端接收到該?;畈樵冃帕?,向中心服務(wù)器返回?;顟?yīng)答信令,同時向自身的后序終端發(fā)送?;畈樵冃帕睿蝗糁行姆?wù)器在規(guī)定時間內(nèi)未接收到所述后序終端返回的?;顟?yīng)答信令,則將所述后序終端在本輪?;畈樵冎械臓顟B(tài)標(biāo)記為離線,同時向所述后序終端的后序終端發(fā)送?;畈樵冃帕?。所述終端向中心服務(wù)器發(fā)送故障通知信令之后進一步包括若所述終端未在規(guī)定時間內(nèi)接收到中心服務(wù)器返回的故障通知應(yīng)答信令,則向自身的前序終端發(fā)送故障通知信令,所述前序終端接收到故障通知信令,向中心服務(wù)器發(fā)送故障通知信令,該信令攜帶所述終端的標(biāo)識,中心服務(wù)器接收該故障通知信令,向所述終端發(fā)送?;畈樵冃帕?,若所述終端接收到中心服務(wù)器發(fā)來的保活查詢信令,則再次向中心服務(wù)器發(fā)送故障通知信令,該信令攜帶所述終端的后序終端的標(biāo)識;若中心服務(wù)器未在規(guī)定時間內(nèi)收到所述終端返回的?;顟?yīng)答信令,則將所述終端在本輪?;畈樵冎械臓顟B(tài)標(biāo)記為離線,繼續(xù)向所述終端的后序終端發(fā)送保活查詢信令,若未在規(guī)定時間內(nèi)收到所述終端的后序終端返回的的?;顟?yīng)答信令,則將所述終端的后序終端在本輪?;畈樵冎械臓顟B(tài)標(biāo)記為離線,同時繼續(xù)向所述終端的后序終端的后序終端發(fā)送?;畈樵冃帕?。所述中心服務(wù)器將該終端標(biāo)識順序記錄到注冊終端列表中之前進一步包括中心服務(wù)器為每輪保活查詢設(shè)置一個?;畈樵儠r長,且所述當(dāng)一輪?;畈樵冮_始之后進一步包括中心服務(wù)器發(fā)現(xiàn)所述?;畈樵儠r長已到達,但仍未收到第η注冊終端發(fā)來的?;畈樵冃帕罨蛘弑;顟?yīng)答信令,則依次向每個終端發(fā)送探測信令,對于任一終端,若在規(guī)定時間內(nèi)未收到該終端返回的探測應(yīng)答信令,則將該終端在本輪?;畈樵冎械臓顟B(tài)標(biāo)記為離線。所述中心服務(wù)器確認(rèn)本輪保活查詢完成之后進一步包括中心服務(wù)器檢查各個終端的狀態(tài),對于任一終端,若發(fā)現(xiàn)該終端在上一輪?;畈樵冎斜粯?biāo)記為離線,而在本輪?;畈樵冎袇s未被標(biāo)記為離線,則認(rèn)為該終端已恢復(fù)正常,刪除該終端的所有離線標(biāo)記;若發(fā)現(xiàn)該終端在連續(xù)q輪?;畈樵冎卸急粯?biāo)記為離線,則確認(rèn)該終端已離線,將該終端標(biāo)識從注冊終端列表中刪除,同時,向該終端的前序終端發(fā)送更新后序終端通知,向該終端的后序終端發(fā)送更新前序終端通知,其中,q > 2。所述中心服務(wù)器確認(rèn)本輪?;畈樵兺瓿芍筮M一步包括
中心服務(wù)器調(diào)整注冊終端列表中各終端的注冊順序。所述中心服務(wù)器調(diào)整注冊終端列表中各終端的注冊順序包括中心服務(wù)器將各終端的注冊順序向前移動一個或多個位置;或者,中心服務(wù)器將各終端的注冊順序向后移動一個或多個位置;或者,中心服務(wù)器確定當(dāng)前第一注冊終端所在的網(wǎng)段,在所有注冊終端中查找不屬于該網(wǎng)段的終端,在查找到的終端中選擇一個終端作為新第一注冊終端,按照新第一注冊終端所在位置,更新所有注冊終端的注冊順序。所述方法進一步包括中心服務(wù)器發(fā)現(xiàn)自身的負(fù)載增加,則增加相鄰兩輪?;畈樵冎g的時間間隔;發(fā)現(xiàn)自身的負(fù)載減少,則減少相鄰兩輪保活查詢之間的時間間隔。所述當(dāng)一輪?;畈樵冮_始之后、中心服務(wù)器向第一注冊終端發(fā)送?;畈樵冃帕钪斑M一步包括中心服務(wù)器將同步時間攜帶在?;畈樵冃帕钪校磺宜龅谝蛔越K端向中心服務(wù)器返回?;顟?yīng)答信令的同時進一步包括第一注冊終端根據(jù)所述同步時間校正自身的時間,同時將同步時間攜帶在發(fā)送給第二注冊終端的保活查詢信令中;且對于第二至第n-1注冊終端中的任一終端,所述該終端向自身的前序終端返回?;顟?yīng)答信令的同時進一步包括該終端根據(jù)自身的前序終端發(fā)來的同步時間校正自身的時間,同時將同步時間攜帶在發(fā)送給自身的后序終端的?;畈樵冃帕钪小K鲋行姆?wù)器將該終端標(biāo)識順序記錄到注冊終端列表中之后、一輪保活查詢開始之前進一步包括中心服務(wù)器將注冊終端列表中的所有終端劃分為多個組,對于每個組中的任一終端,將本組中在該終端之前注冊的最末一個終端作為該終端的前序終端,將本組中在該終端之后注冊的第一個終端作為該終端的后序終端,將該終端的前序終端標(biāo)識和后序終端標(biāo)識通知該終端,且將本組中最后注冊的終端的后序終端標(biāo)識設(shè)置為本中心服務(wù)器的標(biāo)識;且所述中心服務(wù)器向第一注冊終端發(fā)送保活查詢信令包括中心服務(wù)器向各個組中的第一注冊終端同時發(fā)送保活查詢信令;且所述第一注冊終端接收所述?;畈樵冃帕睿蛑行姆?wù)器返回?;顟?yīng)答信令, 同時向第二注冊終端發(fā)送?;畈樵冃帕顬槊總€組中的第一注冊終端接收中心服務(wù)器發(fā)來的?;畈樵冃帕?,向中心服務(wù)器返回保活應(yīng)答信令,同時向本組中的第二注冊終端發(fā)送保活查詢信令;所述對于第二至第n-1注冊終端中的任一終端,該終端接收自身的前序終端發(fā)來的?;畈樵冃帕?,向自身的前序終端返回?;顟?yīng)答信令,同時向自身的后序終端發(fā)送保活查詢信令為對于任一組,該組中的第二至第n-1注冊終端中的任一終端,該終端接收自身的前序終端發(fā)來的保活查詢信令,向自身的前序終端返回保活應(yīng)答信令,同時向自身的后序終端發(fā)送?;畈樵冃帕?,其中,η為該組的注冊終端總數(shù);所述對于最后一個注冊終端,該終端接收自身的前序終端發(fā)來的?;畈樵冃帕睿?向自身的前序終端返回?;顟?yīng)答信令,同時向中心服務(wù)器發(fā)送?;畈樵冃帕顬?br>
對于任一組的最后一個注冊終端,該終端接收自身的前序終端發(fā)來的?;畈樵冃帕睿蜃陨淼那靶蚪K端返回?;顟?yīng)答信令,同時向中心服務(wù)器發(fā)送?;畈樵冃帕?;所述中心服務(wù)器接收最后一個注冊終端發(fā)來的保活查詢信令,確認(rèn)本輪?;畈樵兺瓿蔀閷τ谌我唤M,中心服務(wù)器接收該組的最后一個注冊終端發(fā)來的保活查詢信令,確認(rèn)該組的本輪保活查詢完成。一種中心服務(wù)器,該中心服務(wù)器與多個終端相連,該中心服務(wù)器包括注冊終端記錄模塊當(dāng)有一個終端注冊時,將該終端標(biāo)識順序記錄到注冊終端列表中,同時,對于任一注冊終端,將在該終端之前注冊的最末一個終端作為該終端的前序終端,將在該終端之后注冊的第一個終端作為該終端的后序終端,將該終端的前序終端標(biāo)識和后序終端標(biāo)識通知該終端,且將最后注冊的終端的后序終端標(biāo)識設(shè)置為本中心服務(wù)器的標(biāo)識;?;钅K當(dāng)一輪保活查詢開始時,根據(jù)注冊終端記錄模塊中的注冊終端列表,向第一注冊終端發(fā)送?;畈樵冃帕睿允沟玫谝蛔越K端接收到該?;畈樵冃帕睿虻谝蛔越K端的后序終端即,第二注冊終端發(fā)送?;畈樵冃帕睿划?dāng)接收到最后一個注冊終端發(fā)來的?;畈樵冃帕?,確認(rèn)本輪?;畈樵兺瓿伞K霰;钅K進一步用于,當(dāng)向第一注冊終端發(fā)送保活查詢信令后,若在規(guī)定時間內(nèi)未接收到第一注冊終端返回的?;畈樵冃帕?,則將第一注冊終端在本輪?;畈樵冎械臓顟B(tài)標(biāo)記為離線,同時將第一注冊終端作為當(dāng)前終端,向當(dāng)前終端的后序終端發(fā)送?;畈樵冃帕睿粼谝?guī)定時間內(nèi)未接收到當(dāng)前終端的后序終端返回的保活應(yīng)答信令,則將當(dāng)前終端的后序終端在本輪保活查詢中的狀態(tài)標(biāo)記為離線,同時將當(dāng)前終端的后序終端作為新的當(dāng)前終端。所述?;钅K進一步用于,接收注冊終端發(fā)來的故障通知信令,根據(jù)該信令中攜帶的所述終端的后序終端標(biāo)識,向所述終端的后序終端發(fā)送?;畈樵冃帕?,若在規(guī)定時間內(nèi)未接收到所述終端的后序終端返回的保活應(yīng)答信令,則將所述終端的后序終端在本輪保活查詢中的狀態(tài)標(biāo)記為離線,同時向所述后序終端的后序終端發(fā)送保活查詢信令。所述?;钅K進一步用于,當(dāng)發(fā)現(xiàn)本輪?;畈樵兊念A(yù)設(shè)時長已到達,但仍未收到最后一個注冊終端發(fā)來的?;畈樵冃帕罨蛘弑;顟?yīng)答信令,則依次向每個終端發(fā)送探測信令,對于任一終端,若在規(guī)定時間內(nèi)未收到該終端返回的探測應(yīng)答信令,則將該終端在本輪?;畈樵冎械臓顟B(tài)標(biāo)記為離線。所述?;钅K進一步用于,當(dāng)本輪?;畈樵兺瓿珊?,檢查各個注冊終端的狀態(tài),對于任一終端,若發(fā)現(xiàn)該終端在上一輪?;畈樵冎斜粯?biāo)記為離線,而在本輪?;畈樵冎袇s未被標(biāo)記為離線,則認(rèn)為該終端已恢復(fù)正常,刪除該終端的所有離線標(biāo)記;若發(fā)現(xiàn)該終端在連續(xù)q輪?;畈樵冎卸急粯?biāo)記為離線,則確認(rèn)該終端已離線,將該終端標(biāo)識從注冊終端列表中刪除,同時,向該終端的前序終端發(fā)送更新后序終端通知,向該終端的后序終端發(fā)送更新前序終端通知,其中, q彡2。所述?;钅K進一步用于,當(dāng)本輪?;畈樵兺瓿珊?,發(fā)出更新指示;
且,所述中心服務(wù)器進一步包括更新注冊順序模塊,用于在接收到?;钅K發(fā)來的更新指示后,調(diào)整注冊終端記錄模塊記錄的注冊終端列表中各終端的注冊順序。所述保活模塊進一步用于,將同步時間攜帶在發(fā)給第一注冊終端的?;畈樵冃帕钪小K鲎越K端記錄模塊進一步用于,將注冊終端列表中的所有終端劃分為多個組,對于每個組中的任一注冊終端,將本組中在該終端之前注冊的最末一個終端作為該終端的前序終端,將本組中在該終端之后注冊的第一個終端作為該終端的后序終端,將該終端的前序終端標(biāo)識和后序終端標(biāo)識通知該終端,且將本組中第一注冊終端的前序終端標(biāo)識設(shè)置為中心服務(wù)器的標(biāo)識,將本組中最后注冊的終端的后序終端標(biāo)識設(shè)置為本中心服務(wù)器的標(biāo)識;且,所述保活模塊進一步用于,當(dāng)一輪保活查詢開始時,若發(fā)現(xiàn)注冊終端記錄模塊中的注冊終端列表包含多個組,則向各個組中的第一注冊終端同時發(fā)送?;畈樵冃帕?,對于每個組,當(dāng)接收到該組的最后一個注冊終端發(fā)來的?;畈樵冃帕顣r,確認(rèn)該組的本輪?;畈樵兺瓿?。一種終端,包括注冊模塊向中心服務(wù)器發(fā)起注冊,接收并記錄中心服務(wù)器發(fā)來的本終端的前序終端標(biāo)識和后序終端標(biāo)識;保活模塊當(dāng)接收到本終端的前序終端發(fā)來的?;畈樵冃帕顣r,返回?;顟?yīng)答信令,同時根據(jù)注冊模塊記錄的本終端的后序終端標(biāo)識,向本終端的后序終端發(fā)送?;畈樵兯霰;钅K進一步用于,當(dāng)向本終端的后序終端發(fā)送?;畈樵冃帕詈?,若在規(guī)定時間內(nèi)未收到本終端的后序終端返回的保活應(yīng)答信令,則向中心服務(wù)器發(fā)送故障通知信令,該信令攜帶本終端的后序終端標(biāo)識;當(dāng)接收到中心服務(wù)器發(fā)來的?;畈樵冃帕?,向中心服務(wù)器返回保活應(yīng)答信令,同時向本終端的后序終端發(fā)送?;畈樵冃帕?。所述?;钅K進一步用于,當(dāng)向中心服務(wù)器發(fā)送故障通知信令后,若在規(guī)定時間內(nèi)未收到中心服務(wù)器返回的故障通知應(yīng)答信令,則向本終端的前序終端發(fā)送故障通知信令;當(dāng)接收到本終端的后序終端發(fā)來的故障通知信令后,向中心服務(wù)器發(fā)送故障通知信令,該信令攜帶本終端的后序終端標(biāo)識。所述?;钅K進一步用于,發(fā)現(xiàn)接收到的保活查詢信令攜帶同步時間,則根據(jù)該同步時間校正本終端的時間,同時將同步時間攜帶在發(fā)送給本終端的后序終端的?;畈樵冃帕钪小Ec現(xiàn)有技術(shù)相比,本發(fā)明大大減少了中心服務(wù)器與終端間交互的?;钚帕顢?shù),大大降低了中心服務(wù)器的處理壓力。
圖1為本發(fā)明實施例提供的終端與中心服務(wù)器之間的?;罘椒鞒?1
圖2為本發(fā)明實施例提供的中心服務(wù)器的組成圖;圖3為本發(fā)明實施例提供的終端的組成圖。
具體實施例方式下面結(jié)合附圖及具體實施例對本發(fā)明再作進一步詳細(xì)的說明。圖1為本發(fā)明實施例提供的終端與中心服務(wù)器之間的?;罘椒鞒虉D,如圖1所示,其具體步驟如下步驟101 中心服務(wù)器發(fā)現(xiàn)一個終端(設(shè)為終端m,m為正整數(shù))注冊,按照注冊順序,將終端m的IP地址記錄到注冊終端列表中,并將在終端m之前注冊的最末一個終端 (設(shè)為終端m-1)的IP地址作為終端m的前序終端IP地址發(fā)送給終端m,同時將終端m的 IP地址作為終端m-1的后序終端IP地址發(fā)送給終端m-1,終端m記錄自身的前序終端終端m-1的IP地址,終端m-1記錄自身的后序終端終端m的IP地址。若先后有三個終端m-l、m、m+l在中心服務(wù)器注冊,則對于終端m來說,終端m_l為其前序終端,終端m+1為其后序終端。當(dāng)終端m注冊時,中心服務(wù)器要將終端m-1的IP地址作為終端m的前序終端IP地址發(fā)送給終端m,同時將終端m的IP地址作為終端m_l的后序終端IP地址發(fā)送給終端m-1,此時,由于終端m+1還未注冊,終端m會將中心服務(wù)器的IP 地址記錄為自身的后序終端IP地址,此后當(dāng)終端m+1注冊后,中心服務(wù)器會將終端m+1的 IP地址作為終端m的后序終端IP地址發(fā)送給終端m,終端m再將自身記錄的后序終端IP 地址更新為終端m+1的IP地址。這里,對于第一個注冊的終端來說,其前序終端IP地址為中心服務(wù)器的IP地址; 對于最后一個注冊的終端來說,其后序終端IP地址為中心服務(wù)器的IP地址。步驟102 當(dāng)一輪?;畈樵冮_始時,中心服務(wù)器向第一注冊終端發(fā)送?;畈樵冃帕睿谝蛔越K端收到該信令,向中心服務(wù)器返回?;顟?yīng)答信令,同時根據(jù)自身保存的后序終端即,第二注冊終端的IP地址,向自身的后序終端發(fā)送?;畈樵冃帕睢V行姆?wù)器在向第一注冊終端發(fā)送?;畈樵冃帕詈螅粼谝?guī)定時間內(nèi)未收到第一注冊終端返回的?;顟?yīng)答信令,則認(rèn)為第一注冊終端發(fā)生故障,將第一注冊終端在本輪?;畈樵冎械臓顟B(tài)標(biāo)記為離線,并向第二注冊終端發(fā)送保活查詢信令,第二注冊終端接收到該?;畈樵冃帕?,向中心服務(wù)器返回?;顟?yīng)答信令,同時向自身的后序終端即,第三注冊終端發(fā)送?;畈樵冃帕?,本輪?;畈樵兊靡岳^續(xù)進行。需要說明的是,若中心服務(wù)器在規(guī)定時間內(nèi)也未收到第二注冊終端返回的?;顟?yīng)答信令,則將第二注冊終端在本輪保活查詢中的狀態(tài)標(biāo)記為離線,同時將第二注冊終端作為當(dāng)前終端,執(zhí)行步驟A A、中心服務(wù)器繼續(xù)向當(dāng)前終端的后序終端發(fā)送?;畈樵冃帕睿粼谝?guī)定時間內(nèi)接收到當(dāng)前終端的后序終端返回的?;顟?yīng)答信令,則確認(rèn)本輪保活查詢得以繼續(xù)進行,不再作處理;否則,將當(dāng)前終端的后序終端在本輪保活查詢中的狀態(tài)標(biāo)記為離線,將當(dāng)前終端的后序終端作為新的當(dāng)前終端,返回步驟A。步驟103 對于第2 n-1注冊終端,當(dāng)該終端接收到自身的前序終端發(fā)來的?;畈樵冃帕顣r,向該前序終端返回?;顟?yīng)答信令,同時根據(jù)自身記錄的后序終端IP地址,向自身的后序終端發(fā)送?;畈樵冃帕睢?br>
其中,η為注冊終端總數(shù)。對于第1 η-2注冊終端中的任一終端終端m(l彡m彡n_2)而言,當(dāng)該終端m 向自身的后序終端即,終端m+1發(fā)送保活查詢信令后,若在規(guī)定時間內(nèi)未收到終端m+1返回的?;顟?yīng)答信令,則認(rèn)為終端m+1故障,則向中心服務(wù)器發(fā)送故障通知信令,該信令攜帶終端m+1的IP地址;中心服務(wù)器收到該故障通知信令,向終端m返回故障通知應(yīng)答信令,同時向終端 m+1發(fā)送保活查詢信令,若在規(guī)定時間內(nèi)未收到終端m+1返回的?;顟?yīng)答信令,則將終端 m+1在本輪保活查詢中的狀態(tài)標(biāo)記為離線,同時向終端m+1的后序終端即,終端m+2發(fā)送?;畈樵冃帕?,本輪保活查詢得以繼續(xù)進行;若中心服務(wù)器在規(guī)定時間內(nèi)收到終端m+1返回的?;顟?yīng)答信令,則認(rèn)為終端m+1正常,此時,由于終端m+1接收到了中心服務(wù)器發(fā)來的?;畈樵冃帕?,則終端m+1除了向中心服務(wù)器返回?;顟?yīng)答信令外,同時會向自身的后序終端即,終端m+2發(fā)送?;畈樵冃帕?,本輪保活查詢得以繼續(xù)進行;若終端m向中心服務(wù)器發(fā)送故障通知信令后,未在規(guī)定時間內(nèi)收到中心服務(wù)器返回的故障通知應(yīng)答信令,則向自身的前序終端即,終端m-1發(fā)送故障通知信令,終端m-1接收到該故障通知信令,向中心服務(wù)器發(fā)送故障通知信令,該信令攜帶終端m的IP地址,中心服務(wù)器接收該故障通知信令,向終端m發(fā)送?;畈樵冃帕?,若在規(guī)定時間內(nèi)收到終端m返回的?;顟?yīng)答信令,則認(rèn)為終端m正常,此時,由于終端m收到了中心服務(wù)器的?;畈樵冃帕?,則終端m會再次向中心服務(wù)器發(fā)送故障通知信令,該信令攜帶終端m+1的IP地址,這樣本輪?;畈樵兊靡岳^續(xù)進行;若中心服務(wù)器在規(guī)定時間內(nèi)未收到終端m返回的?;顟?yīng)答信令,則將終端m在本輪?;畈樵冎械臓顟B(tài)標(biāo)記為離線,繼續(xù)向終端m的后序終端即,終端m+1 發(fā)送?;畈樵冃帕?,若在規(guī)定時間內(nèi)收到終端m+1的?;顟?yīng)答信令,則認(rèn)為終端m+1正常, 此時,由于終端m+1收到了中心服務(wù)器的?;畈樵冃帕?,則向自身的后序終端即,終端m+2 發(fā)送?;畈樵冃帕?,本輪?;畈樵兊靡岳^續(xù)進行;若中心服務(wù)器未在規(guī)定時間內(nèi)收到終端 m+1的保活應(yīng)答信令,則繼續(xù)向終端m+1的后序終端即,終端m+2發(fā)送?;畈樵冃帕睿来祟愅?,直到中心服務(wù)器收到一個終端返回的?;顟?yīng)答信令為止。步驟104 當(dāng)?shù)讦亲越K端接收到自身的前序終端即,第η_1注冊終端發(fā)來的?;畈樵冃帕顣r,向第n-1注冊終端返回?;顟?yīng)答信令,同時向自身的后序終端即,中心服務(wù)器發(fā)送?;畈樵冃帕?。步驟105 中心服務(wù)器接收第η注冊終端發(fā)來的?;畈樵冃帕?,向第η注冊終端返回?;顟?yīng)答信令,確認(rèn)本輪保活查詢完成。對于第n-1注冊終端,當(dāng)向自身的后序終端即,第η注冊終端發(fā)送?;畈樵冃帕詈?,若在規(guī)定時間內(nèi)未收到第η注冊終端返回的?;顟?yīng)答信令,其處理與第1 η-2注冊終端相同,即向中心服務(wù)器發(fā)送故障通知信令,該信令攜帶第η注冊終端的IP地址;中心服務(wù)器接收到該故障通知信令后,同樣向第n-1注冊終端返回故障通知應(yīng)答信令,同時向第η注冊終端發(fā)送?;畈樵冃帕睿粑丛谝?guī)定時間內(nèi)接收到第η注冊終端返回的?;畈樵冃帕?,則將第η注冊終端在本輪?;畈樵冎械臓顟B(tài)標(biāo)記為離線,同時確認(rèn)本輪?;畈樵兺瓿?;若在規(guī)定時間內(nèi)接收到第η注冊終端返回的?;顟?yīng)答信令,則認(rèn)為第η注冊終端正常,同時確認(rèn)本輪保活查詢完成,此時,由于第η注冊終端收到了中心服務(wù)器發(fā)來的保活查詢信令,則會向中心服務(wù)器返回?;顟?yīng)答信令,因此無需再向中心服務(wù)器發(fā)送保活查詢信令了。在實際應(yīng)用中,可以為每輪?;畈樵冊O(shè)置一個保活查詢時長,若在該保活查詢時長到達后,中心服務(wù)器仍未收到第η注冊終端發(fā)來的保活查詢信令或者?;顟?yīng)答信令,則依次向每個注冊終端發(fā)送探測信令,若在規(guī)定時間內(nèi)未收到某個終端返回的探測應(yīng)答信令,則將該終端在本輪?;畈樵冎械臓顟B(tài)標(biāo)記為離線。在每輪?;畈樵兘Y(jié)束時,中心服務(wù)器要檢查各個注冊終端的狀態(tài),若發(fā)現(xiàn)某個注冊終端在上一輪保活查詢中被標(biāo)記為離線,而在本輪保活查詢中卻未被標(biāo)記為離線,則認(rèn)為該終端已恢復(fù)正常,刪除該終端的所有離線標(biāo)記;若發(fā)現(xiàn)某個終端m在連續(xù)q(q ^ 2,較佳地,q = 3)輪?;畈樵冎卸急粯?biāo)記為離線,則確認(rèn)終端m已離線,將終端m的IP地址從注冊終端列表中刪除,同時,向終端m的前序終端發(fā)送更新后序終端通知信令,該信令攜帶終端m的后序終端的IP地址,并向終端m的后序終端發(fā)送更新前序終端通知信令,該信令攜帶終端m的前序終端的IP地址。同樣,對于一個注冊終端而言,若該終端在連續(xù)q個?;畈樵冎芷趦?nèi),都未接收到任何?;钚帕?,或者,雖接收到?;钚帕畹珔s無法與中心服務(wù)器通信,則確認(rèn)自身已離線, 重新向中心服務(wù)器發(fā)起注冊。在實際應(yīng)用中,考慮到這種情況某個注冊終端與其前序終端和后序終端都可互通,但是與中心服務(wù)器之間實際上卻已經(jīng)出現(xiàn)了故障。為了避免該情況的持續(xù),本發(fā)明實施例中,中心服務(wù)器可以在每輪?;畈樵兘Y(jié)束時,調(diào)整注冊終端列表中各終端的順序,例如 在每輪?;畈樵兘Y(jié)束時,將注冊終端列表中的各個終端向前移動一個位置即,原第二注冊終端成為新注冊終端列表的起點即,成為新第一注冊終端,原第三注冊終端成為新第二注
冊終端,......,原第η注冊終端成為新第η-1注冊終端,原第一注冊終端成為新第η注冊
終端,同時,需要將新第一注冊終端的前序終端IP地址更新為中心服務(wù)器的IP地址,將新第η-1注冊終端的后序終端IP地址更新為新第η注冊終端的IP地址,將新第η注冊終端的前序終端IP地址更新為新第η-1注冊終端的IP地址,將新第η注冊終端的后序終端IP 地址更新為中心服務(wù)器的IP地址;或者,在每輪?;畈樵兘Y(jié)束時,將注冊終端列表中的各個終端向后移動兩個位置即,原第η-1注冊終端成為新注冊終端列表的起點即,成為新第一注冊終端,原第η注冊終端成為
新第二注冊終端,原第1注冊終端成為新第3注冊終端,......,原第η-2注冊終端成為新
第η注冊終端,同時,需要將新第一注冊終端的前序終端IP地址更新為中心服務(wù)器的IP地址,將新第2注冊終端的后序終端IP地址更新為新第3注冊終端的IP地址,將新第3注冊終端的前序終端IP地址更新為新第2注冊終端的IP地址,將新第η注冊終端的后序終端 IP地址更新為中心服務(wù)器的IP地址;或者,在每輪?;畈樵兘Y(jié)束時,確定原第一注冊終端所在的網(wǎng)段,在注冊終端列表中查找不屬于該網(wǎng)段的終端,在查找到的終端中選擇一個終端作為更新后的注冊終端列表的起點即,新第一注冊終端,例如可選擇查找到的第一個終端作為新第一注冊終端,同時根據(jù)需要更新原第一注冊終端、原第η注冊終端、新第一注冊終端、新第η注冊終端的前序終端和/或后序終端IP地址。在下一輪?;畈樵冮_始時,按照更新后的注冊終端列表中的各終端的順序進行保活查詢,具體流程如圖1所示。
14
應(yīng)用本發(fā)明實施例后,由于中心服務(wù)器處理的?;钚帕顢?shù)大大減少,則中心服務(wù)器可將?;钚帕畹膬?yōu)先級設(shè)為最高,以避免一輪保活查詢過程太長。在實際應(yīng)用中,為了進一步縮短每輪?;畈樵兊臅r間,中心服務(wù)器可將注冊終端列表中的所有終端劃分為多個組,針對每個組并行執(zhí)行圖1所示流程,即當(dāng)一輪?;畈樵冮_始時,中心服務(wù)器同時向注冊終端列表中的每個組中的第一注冊終端發(fā)送?;畈樵冃帕?,對于任一組中的任一終端而言,當(dāng)該終端接收到自身在本組中的前序終端發(fā)來的?;畈樵冃帕詈?,向自身在本組中的前序終端返回?;顟?yīng)答信令,同時向自身在本組中的后序終端發(fā)送?;畈樵冃帕?;當(dāng)中心服務(wù)器接收到某個組的最后一個注冊終端發(fā)來的?;畈樵冃帕顣r,向該最后一個注冊終端返回保活應(yīng)答信令,確認(rèn)該組的本輪保活查詢完成。本發(fā)明實施例中,中心服務(wù)器還可以根據(jù)自身負(fù)載的變化,調(diào)整相鄰兩輪?;畈樵冎g的時間間隔,例如當(dāng)發(fā)現(xiàn)負(fù)載增加預(yù)設(shè)值時,將相鄰兩輪?;畈樵冎g的時間間隔增加預(yù)設(shè)時長;當(dāng)發(fā)現(xiàn)負(fù)載減少預(yù)設(shè)值時,將相鄰兩輪?;畈樵冎g的時間間隔減少預(yù)設(shè)時長。本發(fā)明實施例中,中心服務(wù)器向第一注冊終端發(fā)送?;畈樵冃帕顣r,可在該信令中攜帶同步時間,第一注冊終端接收到該信令后,根據(jù)該同步時間校正自身的時間,并在向第二注冊終端發(fā)送的?;畈樵冃帕钪袛y帶同步時間,同樣,對于第2 n-1注冊終端中的任一終端,該終端接收到自身的前序終端發(fā)來的保活查詢信令后,根據(jù)該信令中的同步時間校正自身的時間,并在向自身的后序終端發(fā)送的保活查詢信令中攜帶同步時間。圖2為本發(fā)明實施例提供的中心服務(wù)器的組成圖,該中心服務(wù)器與多個終端相連,如圖2所示,該中心服務(wù)器包括注冊終端記錄模塊21和?;钅K22,其中注冊終端記錄模塊21 當(dāng)有一個終端注冊時,將該終端標(biāo)識順序記錄到注冊終端列表中,同時,對于任一注冊終端,將在該終端之前注冊的最末一個終端作為該終端的前序終端,將在該終端之后注冊的第一個終端作為該終端的后序終端,將該終端的前序終端標(biāo)識和后序終端標(biāo)識通知該終端,且將第一注冊終端的前序終端標(biāo)識設(shè)置為中心服務(wù)器的標(biāo)識,將最后注冊的終端的后序終端標(biāo)識設(shè)置為本中心服務(wù)器的標(biāo)識。注冊終端記錄模塊21還可用于,將注冊終端列表中的所有終端劃分為多個組,對于每個組中的任一注冊終端,將本組中在該終端之前注冊的最末一個終端作為該終端的前序終端,將本組中在該終端之后注冊的第一個終端作為該終端的后序終端,將該終端的前序終端標(biāo)識和后序終端標(biāo)識通知該終端,且將本組中第一注冊終端的前序終端標(biāo)識設(shè)置為中心服務(wù)器的標(biāo)識,將本組中最后注冊的終端的后序終端標(biāo)識設(shè)置為本中心服務(wù)器的標(biāo)識。?;钅K22 當(dāng)一輪?;畈樵冮_始時,根據(jù)注冊終端記錄模塊21中的注冊終端列表,向第一注冊終端發(fā)送?;畈樵冃帕?,以使得第一注冊終端接收到該?;畈樵冃帕?,向第一注冊終端的后序終端即,第二注冊終端發(fā)送?;畈樵冃帕?;當(dāng)接收到最后一個注冊終端發(fā)來的保活查詢信令,確認(rèn)本輪?;畈樵兺瓿伞1;钅K22還可用于,當(dāng)向第一注冊終端發(fā)送?;畈樵冃帕詈?,若在規(guī)定時間內(nèi)未接收到第一注冊終端返回的保活查詢信令,則將第一注冊終端在本輪保活查詢中的狀態(tài)標(biāo)記為離線,同時將第一注冊終端作為當(dāng)前終端,向當(dāng)前終端的后序終端發(fā)送?;畈樵冃帕睿粼谝?guī)定時間內(nèi)未接收到當(dāng)前終端的后序終端返回的?;顟?yīng)答信令,則將當(dāng)前終端的后序終端在本輪?;畈樵冎械臓顟B(tài)標(biāo)記為離線,同時將當(dāng)前終端的后序終端作為新的當(dāng)前終端。?;钅K22還可用于,接收注冊終端發(fā)來的故障通知信令,根據(jù)該信令中攜帶的所述終端的后序終端標(biāo)識,向所述終端的后序終端發(fā)送?;畈樵冃帕?,若在規(guī)定時間內(nèi)未接收到所述終端的后序終端返回的?;顟?yīng)答信令,則將所述終端的后序終端在本輪保活查詢中的狀態(tài)標(biāo)記為離線,同時向所述后序終端的后序終端發(fā)送?;畈樵冃帕?。?;钅K22還可用于,當(dāng)發(fā)現(xiàn)本輪?;畈樵兊念A(yù)設(shè)時長已到達,但仍未收到最后一個注冊終端發(fā)來的保活查詢信令或者?;顟?yīng)答信令,則依次向每個終端發(fā)送探測信令, 對于任一終端,若在規(guī)定時間內(nèi)未收到該終端返回的探測應(yīng)答信令,則將該終端在本輪?;畈樵冎械臓顟B(tài)標(biāo)記為離線。?;钅K22還可用于,當(dāng)本輪?;畈樵兺瓿珊螅瑱z查各個注冊終端的狀態(tài),對于任一終端,若發(fā)現(xiàn)該終端在上一輪?;畈樵冎斜粯?biāo)記為離線,而在本輪?;畈樵冎袇s未被標(biāo)記為離線,則認(rèn)為該終端已恢復(fù)正常,刪除該終端的所有離線標(biāo)記;若發(fā)現(xiàn)該終端在連續(xù) q輪?;畈樵冎卸急粯?biāo)記為離線,則確認(rèn)該終端已離線,將該終端標(biāo)識從注冊終端列表中刪除,同時,向該終端的前序終端發(fā)送更新后序終端通知,向該終端的后序終端發(fā)送更新前序終端通知,其中,q彡2。?;钅K22還可用于,當(dāng)本輪?;畈樵兺瓿珊螅l(fā)出更新指示;且,中心服務(wù)器還包括更新注冊順序模塊,用于在接收到?;钅K22發(fā)來的更新指示后,調(diào)整注冊終端記錄模塊21記錄的注冊終端列表中各終端的注冊順序。保活模塊22還可用于,將同步時間攜帶在發(fā)給第一注冊終端的?;畈樵冃帕钪小1;钅K22還可用于,當(dāng)一輪?;畈樵冮_始時,若發(fā)現(xiàn)注冊終端記錄模塊21中的注冊終端列表包含多個組,則向各個組中的第一注冊終端同時發(fā)送保活查詢信令,對于每個組,當(dāng)接收到該組的最后一個注冊終端發(fā)來的?;畈樵冃帕顣r,向該終端返回?;顟?yīng)答信令,同時確認(rèn)該組的本輪?;畈樵兺瓿?。圖3為本發(fā)明實施例提供的終端的組成圖,如圖3所示,其主要包括注冊模塊31 和?;钅K32,其中注冊模塊31 向中心服務(wù)器發(fā)起注冊,接收并記錄中心服務(wù)器發(fā)來的本終端的前序終端標(biāo)識和后序終端標(biāo)識。?;钅K32 當(dāng)接收到本終端的前序終端發(fā)來的保活查詢信令時,返回?;顟?yīng)答信令,同時根據(jù)注冊模塊31記錄的本終端的后序終端標(biāo)識,向本終端的后序終端發(fā)送?;畈樵冃帕?。?;钅K32還可用于,當(dāng)向本終端的后序終端發(fā)送保活查詢信令后,若在規(guī)定時間內(nèi)未收到本終端的后序終端返回的保活應(yīng)答信令,則向中心服務(wù)器發(fā)送故障通知信令, 該信令攜帶本終端的后序終端標(biāo)識;當(dāng)接收到中心服務(wù)器發(fā)來的?;畈樵冃帕?,向中心服務(wù)器返回?;顟?yīng)答信令,同時向本終端的后序終端發(fā)送保活查詢信令。?;钅K32還可用于,當(dāng)向中心服務(wù)器發(fā)送故障通知信令后,若在規(guī)定時間內(nèi)未收到中心服務(wù)器返回的故障通知應(yīng)答信令,則向本終端的前序終端發(fā)送故障通知信令;當(dāng)接收到本終端的后序終端發(fā)來的故障通知信令后,向中心服務(wù)器發(fā)送故障通知信令,該信令攜帶本終端的后序終端標(biāo)識。
?;钅K32還可用于,當(dāng)發(fā)現(xiàn)中心服務(wù)器或本終端的前序終端發(fā)來的?;畈樵冃帕顢y帶同步時間時,根據(jù)該同步時間校正本終端的時間,同時將同步時間攜帶在發(fā)給本終端的后序終端的?;畈樵冃帕钪?。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。
權(quán)利要求
1.一種終端與中心服務(wù)器之間的保活方法,其特征在于,當(dāng)有一個終端注冊時,中心服務(wù)器將該終端標(biāo)識順序記錄到注冊終端列表中,同時,對于任一注冊終端,中心服務(wù)器將在該終端之前注冊的最末一個終端作為該終端的前序終端,將在該終端之后注冊的第一個終端作為該終端的后序終端,將該終端的前序終端標(biāo)識和后序終端標(biāo)識通知該終端,該方法包括當(dāng)一輪?;畈樵冮_始時,中心服務(wù)器向第一注冊終端發(fā)送?;畈樵冃帕?;第一注冊終端接收所述保活查詢信令,向中心服務(wù)器返回?;顟?yīng)答信令,同時向第二注冊終端發(fā)送?;畈樵冃帕睿粚τ诘诙恋趎-1注冊終端中的任一終端,該終端接收自身的前序終端發(fā)來的?;畈樵冃帕?,向自身的前序終端返回保活應(yīng)答信令,同時向自身的后序終端發(fā)送?;畈樵冃帕?;對于最后一個注冊終端,該終端接收自身的前序終端發(fā)來的?;畈樵冃帕?,向自身的前序終端返回?;顟?yīng)答信令,同時向中心服務(wù)器發(fā)送?;畈樵冃帕?;中心服務(wù)器接收最后一個注冊終端發(fā)來的?;畈樵冃帕?,確認(rèn)本輪?;畈樵兺瓿?,其中,η為注冊終端總數(shù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述中心服務(wù)器向第一注冊終端發(fā)送保活查詢信令之后進一步包括若中心服務(wù)器在規(guī)定時間內(nèi)未接收到第一注冊終端返回的?;畈樵冃帕?,則將第一注冊終端在本輪?;畈樵冎械臓顟B(tài)標(biāo)記為離線,同時將第一注冊終端作為當(dāng)前終端,執(zhí)行步驟A ;若在規(guī)定時間內(nèi)接收到第一注冊終端返回的?;畈樵冃帕睿瑒t不作任何處理;Α、中心服務(wù)器向當(dāng)前終端的后序終端發(fā)送?;畈樵冃帕?,若在規(guī)定時間內(nèi)未接收到當(dāng)前終端的后序終端返回的?;顟?yīng)答信令,則將當(dāng)前終端的后序終端在本輪?;畈樵冎械臓顟B(tài)標(biāo)記為離線,同時將當(dāng)前終端的后序終端作為新的當(dāng)前終端,返回步驟A ;若在規(guī)定時間內(nèi)接收到當(dāng)前終端的后序終端返回的保活應(yīng)答信令,則不作任何處理。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,對于第二至第n-1注冊終端中的任一終端,所述該終端向自身的后序終端發(fā)送?;畈樵冃帕钪筮M一步包括該終端未在規(guī)定時間內(nèi)接收到自身的后序終端返回的?;顟?yīng)答信令,則向中心服務(wù)器發(fā)送故障通知信令,該信令攜帶所述后序終端的標(biāo)識;中心服務(wù)器接收所述故障通知信令, 向所述后序終端發(fā)送?;畈樵冃帕睿羲龊笮蚪K端接收到該?;畈樵冃帕?,向中心服務(wù)器返回保活應(yīng)答信令,同時向自身的后序終端發(fā)送保活查詢信令;若中心服務(wù)器在規(guī)定時間內(nèi)未接收到所述后序終端返回的?;顟?yīng)答信令,則將所述后序終端在本輪?;畈樵冎械臓顟B(tài)標(biāo)記為離線,同時向所述后序終端的后序終端發(fā)送?;畈樵冃帕?。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述終端向中心服務(wù)器發(fā)送故障通知信令之后進一步包括若所述終端未在規(guī)定時間內(nèi)接收到中心服務(wù)器返回的故障通知應(yīng)答信令,則向自身的前序終端發(fā)送故障通知信令,所述前序終端接收到故障通知信令,向中心服務(wù)器發(fā)送故障通知信令,該信令攜帶所述終端的標(biāo)識,中心服務(wù)器接收該故障通知信令,向所述終端發(fā)送保活查詢信令,若所述終端接收到中心服務(wù)器發(fā)來的保活查詢信令,則再次向中心服務(wù)器發(fā)送故障通知信令,該信令攜帶所述終端的后序終端的標(biāo)識;若中心服務(wù)器未在規(guī)定時間內(nèi)收到所述終端返回的?;顟?yīng)答信令,則將所述終端在本輪保活查詢中的狀態(tài)標(biāo)記為離線,繼續(xù)向所述終端的后序終端發(fā)送?;畈樵冃帕?,若未在規(guī)定時間內(nèi)收到所述終端的后序終端返回的的?;顟?yīng)答信令,則將所述終端的后序終端在本輪?;畈樵冎械臓顟B(tài)標(biāo)記為離線,同時繼續(xù)向所述終端的后序終端的后序終端發(fā)送保活查詢信令。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述中心服務(wù)器將該終端標(biāo)識順序記錄到注冊終端列表中之前進一步包括中心服務(wù)器為每輪?;畈樵冊O(shè)置一個?;畈樵儠r長,且所述當(dāng)一輪?;畈樵冮_始之后進一步包括中心服務(wù)器發(fā)現(xiàn)所述?;畈樵儠r長已到達,但仍未收到第η注冊終端發(fā)來的?;畈樵冃帕罨蛘弑;顟?yīng)答信令,則依次向每個終端發(fā)送探測信令,對于任一終端,若在規(guī)定時間內(nèi)未收到該終端返回的探測應(yīng)答信令,則將該終端在本輪?;畈樵冎械臓顟B(tài)標(biāo)記為離線。
6.根據(jù)權(quán)利要求2至5任一所述的方法,其特征在于,所述中心服務(wù)器確認(rèn)本輪?;畈樵兺瓿芍筮M一步包括中心服務(wù)器檢查各個終端的狀態(tài),對于任一終端,若發(fā)現(xiàn)該終端在上一輪?;畈樵冎斜粯?biāo)記為離線,而在本輪?;畈樵冎袇s未被標(biāo)記為離線,則認(rèn)為該終端已恢復(fù)正常,刪除該終端的所有離線標(biāo)記;若發(fā)現(xiàn)該終端在連續(xù)q輪保活查詢中都被標(biāo)記為離線,則確認(rèn)該終端已離線,將該終端標(biāo)識從注冊終端列表中刪除,同時,向該終端的前序終端發(fā)送更新后序終端通知,向該終端的后序終端發(fā)送更新前序終端通知,其中,q > 2。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述中心服務(wù)器確認(rèn)本輪?;畈樵兺瓿芍筮M一步包括中心服務(wù)器調(diào)整注冊終端列表中各終端的注冊順序。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述中心服務(wù)器調(diào)整注冊終端列表中各終端的注冊順序包括中心服務(wù)器將各終端的注冊順序向前移動一個或多個位置;或者,中心服務(wù)器將各終端的注冊順序向后移動一個或多個位置;或者,中心服務(wù)器確定當(dāng)前第一注冊終端所在的網(wǎng)段,在所有注冊終端中查找不屬于該網(wǎng)段的終端,在查找到的終端中選擇一個終端作為新第一注冊終端,按照新第一注冊終端所在位置,更新所有注冊終端的注冊順序。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法進一步包括中心服務(wù)器發(fā)現(xiàn)自身的負(fù)載增加,則增加相鄰兩輪?;畈樵冎g的時間間隔;發(fā)現(xiàn)自身的負(fù)載減少,則減少相鄰兩輪?;畈樵冎g的時間間隔。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述當(dāng)一輪?;畈樵冮_始之后、中心服務(wù)器向第一注冊終端發(fā)送?;畈樵冃帕钪斑M一步包括中心服務(wù)器將同步時間攜帶在?;畈樵冃帕钪?;且所述第一注冊終端向中心服務(wù)器返回保活應(yīng)答信令的同時進一步包括第一注冊終端根據(jù)所述同步時間校正自身的時間,同時將同步時間攜帶在發(fā)送給第二注冊終端的?;畈樵冃帕钪?;且對于第二至第n-1注冊終端中的任一終端,所述該終端向自身的前序終端返回?;顟?yīng)答信令的同時進一步包括該終端根據(jù)自身的前序終端發(fā)來的同步時間校正自身的時間,同時將同步時間攜帶在發(fā)送給自身的后序終端的?;畈樵冃帕钪?。
11.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述中心服務(wù)器將該終端標(biāo)識順序記錄到注冊終端列表中之后、一輪?;畈樵冮_始之前進一步包括中心服務(wù)器將注冊終端列表中的所有終端劃分為多個組,對于每個組中的任一終端, 將本組中在該終端之前注冊的最末一個終端作為該終端的前序終端,將本組中在該終端之后注冊的第一個終端作為該終端的后序終端,將該終端的前序終端標(biāo)識和后序終端標(biāo)識通知該終端,且將本組中最后注冊的終端的后序終端標(biāo)識設(shè)置為本中心服務(wù)器的標(biāo)識;且所述中心服務(wù)器向第一注冊終端發(fā)送?;畈樵冃帕畎ㄖ行姆?wù)器向各個組中的第一注冊終端同時發(fā)送?;畈樵冃帕?;且所述第一注冊終端接收所述?;畈樵冃帕?,向中心服務(wù)器返回?;顟?yīng)答信令,同時向第二注冊終端發(fā)送?;畈樵冃帕顬槊總€組中的第一注冊終端接收中心服務(wù)器發(fā)來的?;畈樵冃帕?,向中心服務(wù)器返回?;顟?yīng)答信令,同時向本組中的第二注冊終端發(fā)送?;畈樵冃帕?;所述對于第二至第n-1注冊終端中的任一終端,該終端接收自身的前序終端發(fā)來的保活查詢信令,向自身的前序終端返回保活應(yīng)答信令,同時向自身的后序終端發(fā)送保活查詢信令為對于任一組,該組中的第二至第n-1注冊終端中的任一終端,該終端接收自身的前序終端發(fā)來的?;畈樵冃帕睿蜃陨淼那靶蚪K端返回?;顟?yīng)答信令,同時向自身的后序終端發(fā)送?;畈樵冃帕?,其中,η為該組的注冊終端總數(shù);所述對于最后一個注冊終端,該終端接收自身的前序終端發(fā)來的?;畈樵冃帕睿蜃陨淼那靶蚪K端返回?;顟?yīng)答信令,同時向中心服務(wù)器發(fā)送?;畈樵冃帕顬閷τ谌我唤M的最后一個注冊終端,該終端接收自身的前序終端發(fā)來的?;畈樵冃帕睿?向自身的前序終端返回?;顟?yīng)答信令,同時向中心服務(wù)器發(fā)送?;畈樵冃帕?;所述中心服務(wù)器接收最后一個注冊終端發(fā)來的保活查詢信令,確認(rèn)本輪保活查詢完成為對于任一組,中心服務(wù)器接收該組的最后一個注冊終端發(fā)來的?;畈樵冃帕?,確認(rèn)該組的本輪?;畈樵兺瓿?。
12.—種中心服務(wù)器,其特征在于,該中心服務(wù)器與多個終端相連,該中心服務(wù)器包括注冊終端記錄模塊當(dāng)有一個終端注冊時,將該終端標(biāo)識順序記錄到注冊終端列表中, 同時,對于任一注冊終端,將在該終端之前注冊的最末一個終端作為該終端的前序終端,將在該終端之后注冊的第一個終端作為該終端的后序終端,將該終端的前序終端標(biāo)識和后序終端標(biāo)識通知該終端,且將最后注冊的終端的后序終端標(biāo)識設(shè)置為本中心服務(wù)器的標(biāo)識;?;钅K當(dāng)一輪保活查詢開始時,根據(jù)注冊終端記錄模塊中的注冊終端列表,向第一注冊終端發(fā)送?;畈樵冃帕?,以使得第一注冊終端接收到該?;畈樵冃帕睿虻谝蛔越K端的后序終端即,第二注冊終端發(fā)送?;畈樵冃帕?;當(dāng)接收到最后一個注冊終端發(fā)來的?;畈樵冃帕?,確認(rèn)本輪?;畈樵兺瓿?。
13.根據(jù)權(quán)利要求12所述的中心服務(wù)器,其特征在于,所述保活模塊進一步用于,當(dāng)向第一注冊終端發(fā)送?;畈樵冃帕詈?,若在規(guī)定時間內(nèi)未接收到第一注冊終端返回的?;畈樵冃帕?,則將第一注冊終端在本輪保活查詢中的狀態(tài)標(biāo)記為離線,同時將第一注冊終端作為當(dāng)前終端,向當(dāng)前終端的后序終端發(fā)送保活查詢信令,若在規(guī)定時間內(nèi)未接收到當(dāng)前終端的后序終端返回的保活應(yīng)答信令,則將當(dāng)前終端的后序終端在本輪保活查詢中的狀態(tài)標(biāo)記為離線,同時將當(dāng)前終端的后序終端作為新的當(dāng)前終端。
14.根據(jù)權(quán)利要求12所述的中心服務(wù)器,其特征在于,所述保活模塊進一步用于,接收注冊終端發(fā)來的故障通知信令,根據(jù)該信令中攜帶的所述終端的后序終端標(biāo)識,向所述終端的后序終端發(fā)送?;畈樵冃帕睿粼谝?guī)定時間內(nèi)未接收到所述終端的后序終端返回的?;顟?yīng)答信令,則將所述終端的后序終端在本輪保活查詢中的狀態(tài)標(biāo)記為離線,同時向所述后序終端的后序終端發(fā)送?;畈樵冃帕?。
15.根據(jù)權(quán)利要求12所述的中心服務(wù)器,其特征在于,所述保活模塊進一步用于,當(dāng)發(fā)現(xiàn)本輪保活查詢的預(yù)設(shè)時長已到達,但仍未收到最后一個注冊終端發(fā)來的保活查詢信令或者?;顟?yīng)答信令,則依次向每個終端發(fā)送探測信令,對于任一終端,若在規(guī)定時間內(nèi)未收到該終端返回的探測應(yīng)答信令,則將該終端在本輪?;畈樵冎械臓顟B(tài)標(biāo)記為離線。
16.根據(jù)權(quán)利要求13至15任一所述的中心服務(wù)器,其特征在于,所述保活模塊進一步用于,當(dāng)本輪?;畈樵兺瓿珊?,檢查各個注冊終端的狀態(tài),對于任一終端,若發(fā)現(xiàn)該終端在上一輪?;畈樵冎斜粯?biāo)記為離線,而在本輪保活查詢中卻未被標(biāo)記為離線,則認(rèn)為該終端已恢復(fù)正常,刪除該終端的所有離線標(biāo)記;若發(fā)現(xiàn)該終端在連續(xù)q輪?;畈樵冎卸急粯?biāo)記為離線,則確認(rèn)該終端已離線,將該終端標(biāo)識從注冊終端列表中刪除,同時,向該終端的前序終端發(fā)送更新后序終端通知,向該終端的后序終端發(fā)送更新前序終端通知,其中,q > 2。
17.根據(jù)權(quán)利要求12所述的中心服務(wù)器,其特征在于,所述?;钅K進一步用于,當(dāng)本輪?;畈樵兺瓿珊?,發(fā)出更新指示;且,所述中心服務(wù)器進一步包括更新注冊順序模塊,用于在接收到保活模塊發(fā)來的更新指示后,調(diào)整注冊終端記錄模塊記錄的注冊終端列表中各終端的注冊順序。
18.根據(jù)權(quán)利要求12所述的中心服務(wù)器,其特征在于,所述?;钅K進一步用于,將同步時間攜帶在發(fā)給第一注冊終端的保活查詢信令中。
19.根據(jù)權(quán)利要求12所述的中心服務(wù)器,其特征在于,所述注冊終端記錄模塊進一步用于,將注冊終端列表中的所有終端劃分為多個組,對于每個組中的任一注冊終端,將本組中在該終端之前注冊的最末一個終端作為該終端的前序終端,將本組中在該終端之后注冊的第一個終端作為該終端的后序終端,將該終端的前序終端標(biāo)識和后序終端標(biāo)識通知該終端,且將本組中第一注冊終端的前序終端標(biāo)識設(shè)置為中心服務(wù)器的標(biāo)識,將本組中最后注冊的終端的后序終端標(biāo)識設(shè)置為本中心服務(wù)器的標(biāo)識;且,所述?;钅K進一步用于,當(dāng)一輪?;畈樵冮_始時,若發(fā)現(xiàn)注冊終端記錄模塊中的注冊終端列表包含多個組,則向各個組中的第一注冊終端同時發(fā)送保活查詢信令,對于每個組,當(dāng)接收到該組的最后一個注冊終端發(fā)來的?;畈樵冃帕顣r,確認(rèn)該組的本輪?;畈樵兺瓿?。
20.一種終端,其特征在于,包括注冊模塊向中心服務(wù)器發(fā)起注冊,接收并記錄中心服務(wù)器發(fā)來的本終端的前序終端標(biāo)識和后序終端標(biāo)識;保活模塊當(dāng)接收到本終端的前序終端發(fā)來的?;畈樵冃帕顣r,返回?;顟?yīng)答信令,同時根據(jù)注冊模塊記錄的本終端的后序終端標(biāo)識,向本終端的后序終端發(fā)送?;畈樵冃帕睢?br>
21.根據(jù)權(quán)利要求20所述的終端,其特征在于,所述?;钅K進一步用于,當(dāng)向本終端的后序終端發(fā)送?;畈樵冃帕詈螅粼谝?guī)定時間內(nèi)未收到本終端的后序終端返回的?;顟?yīng)答信令,則向中心服務(wù)器發(fā)送故障通知信令,該信令攜帶本終端的后序終端標(biāo)識;當(dāng)接收到中心服務(wù)器發(fā)來的?;畈樵冃帕?,向中心服務(wù)器返回保活應(yīng)答信令,同時向本終端的后序終端發(fā)送?;畈樵冃帕?。
22.根據(jù)權(quán)利要求21所述的終端,其特征在于,所述?;钅K進一步用于,當(dāng)向中心服務(wù)器發(fā)送故障通知信令后,若在規(guī)定時間內(nèi)未收到中心服務(wù)器返回的故障通知應(yīng)答信令, 則向本終端的前序終端發(fā)送故障通知信令;當(dāng)接收到本終端的后序終端發(fā)來的故障通知信令后,向中心服務(wù)器發(fā)送故障通知信令,該信令攜帶本終端的后序終端標(biāo)識。
23.根據(jù)權(quán)利要求20所述的終端,其特征在于,所述?;钅K進一步用于,發(fā)現(xiàn)接收到的保活查詢信令攜帶同步時間,則根據(jù)該同步時間校正本終端的時間,同時將同步時間攜帶在發(fā)送給本終端的后序終端的?;畈樵冃帕钪?。
全文摘要
本發(fā)明公開了終端與中心服務(wù)器之間的?;罘椒爸行姆?wù)器、終端。方法包括中心服務(wù)器記錄各終端的注冊順序;當(dāng)一輪?;畈樵冮_始時,中心服務(wù)器向第一注冊終端發(fā)送?;畈樵冃帕睿坏谝蛔越K端向中心服務(wù)器返回?;顟?yīng)答信令,并向第二注冊終端發(fā)送?;畈樵冃帕睿粚τ诘诙恋趎-1注冊終端,該終端接收自身的前序終端發(fā)來的?;畈樵冃帕睿祷乇;顟?yīng)答信令,并向自身的后序終端發(fā)送?;畈樵冃帕?;第n注冊終端接收自身的前序終端發(fā)來的保活查詢信令,返回保活應(yīng)答信令,并向中心服務(wù)器發(fā)送保活查詢信令;中心服務(wù)器接收第n注冊終端發(fā)來的?;畈樵冃帕睿_認(rèn)本輪?;畈樵兺瓿桑渲?,n為注冊終端總數(shù)。本發(fā)明降低了中心服務(wù)器的處理壓力。
文檔編號H04L29/08GK102340480SQ20101022990
公開日2012年2月1日 申請日期2010年7月14日 優(yōu)先權(quán)日2010年7月14日
發(fā)明者余劍聲, 曾文彬 申請人:杭州華三通信技術(shù)有限公司