亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種處理節(jié)點(diǎn)注冊(cè)通知的方法和系統(tǒng)與流程

文檔序號(hào):12278894閱讀:201來(lái)源:國(guó)知局
一種處理節(jié)點(diǎn)注冊(cè)通知的方法和系統(tǒng)與流程

本發(fā)明涉及移動(dòng)通信領(lǐng)域,特別涉及一種處理節(jié)點(diǎn)注冊(cè)通知的方法和系統(tǒng)。



背景技術(shù):

隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)業(yè)務(wù)的種類(lèi)越來(lái)越多,功能也越來(lái)越豐富。業(yè)務(wù)提供方一般采用分布式系統(tǒng)來(lái)構(gòu)建業(yè)務(wù)后臺(tái),即業(yè)務(wù)后臺(tái)由多個(gè)服務(wù)器組成,一個(gè)服務(wù)器即為分布式系統(tǒng)中的一個(gè)業(yè)務(wù)節(jié)點(diǎn),每個(gè)業(yè)務(wù)節(jié)點(diǎn)一般提供少量或單一的功能服務(wù),這樣,業(yè)務(wù)后臺(tái)接收到涉及多種功能服務(wù)的業(yè)務(wù)請(qǐng)求后,各功能服務(wù)對(duì)應(yīng)的業(yè)務(wù)節(jié)點(diǎn)可以相互通信,然后共同處理該業(yè)務(wù)請(qǐng)求。

分布式系統(tǒng)中存在一個(gè)用于管理業(yè)務(wù)節(jié)點(diǎn)的中心節(jié)點(diǎn),如果某個(gè)業(yè)務(wù)節(jié)點(diǎn)需要加入分布式系統(tǒng)中,則需要在中心節(jié)點(diǎn)處進(jìn)行注冊(cè),然后中心節(jié)點(diǎn)可以向其它業(yè)務(wù)節(jié)點(diǎn)發(fā)送該業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息(如ip(Internet Protocol,網(wǎng)絡(luò)協(xié)議)地址、端口號(hào)等),同時(shí)可以將其它業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息發(fā)送給該業(yè)務(wù)節(jié)點(diǎn),進(jìn)而該業(yè)務(wù)節(jié)點(diǎn)和其它業(yè)務(wù)節(jié)點(diǎn)可以根據(jù)節(jié)點(diǎn)信息進(jìn)行通信。另外,當(dāng)某個(gè)業(yè)務(wù)節(jié)點(diǎn)退出分布式系統(tǒng)后,中心節(jié)點(diǎn)也可以通知其它業(yè)務(wù)節(jié)點(diǎn),從而其它業(yè)務(wù)節(jié)點(diǎn)不再與該業(yè)務(wù)節(jié)點(diǎn)進(jìn)行通信。

在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問(wèn)題:

分布式系統(tǒng)中的業(yè)務(wù)節(jié)點(diǎn)可能部署在不同地區(qū),不同地區(qū)的網(wǎng)絡(luò)提供商一般也不同,而不同網(wǎng)絡(luò)提供商提供的運(yùn)營(yíng)網(wǎng)絡(luò)間的通信質(zhì)量較差,如果分布式系統(tǒng)中的業(yè)務(wù)節(jié)點(diǎn)和中心節(jié)點(diǎn)使用的運(yùn)營(yíng)網(wǎng)絡(luò)不同(即不屬于同一網(wǎng)絡(luò)提供商),由于通信質(zhì)量較差,中心節(jié)點(diǎn)則可能無(wú)法及時(shí)發(fā)現(xiàn)分布式系統(tǒng)中業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)和退出,這樣,業(yè)務(wù)節(jié)點(diǎn)間的通信會(huì)受到較大影響。



技術(shù)實(shí)現(xiàn)要素:

為了解決現(xiàn)有技術(shù)的問(wèn)題,本發(fā)明實(shí)施例提供了一種處理節(jié)點(diǎn)注冊(cè)通知的方法和系統(tǒng)。所述技術(shù)方案如下:

第一方面,提供了一種處理節(jié)點(diǎn)注冊(cè)通知的方法,所述方法應(yīng)用于分布式系統(tǒng),所述分布式系統(tǒng)包括中轉(zhuǎn)路由、多個(gè)中心節(jié)點(diǎn)和多個(gè)業(yè)務(wù)節(jié)點(diǎn),每個(gè)中心節(jié)點(diǎn)分別與所述中轉(zhuǎn)路由及至少一個(gè)業(yè)務(wù)節(jié)點(diǎn)連接,任一中心節(jié)點(diǎn)連接所述中轉(zhuǎn)路由的線路與連接業(yè)務(wù)節(jié)點(diǎn)的線路屬于相同的運(yùn)營(yíng)網(wǎng)絡(luò),所述方法包括:

第一業(yè)務(wù)節(jié)點(diǎn)向與所述第一業(yè)務(wù)節(jié)點(diǎn)相連接的第一中心節(jié)點(diǎn),發(fā)送攜帶有所述第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的注冊(cè)請(qǐng)求;

所述第一中心節(jié)點(diǎn)向所述中轉(zhuǎn)路由和與所述第一中心節(jié)點(diǎn)相連的、除所述第一業(yè)務(wù)節(jié)點(diǎn)之外的其它業(yè)務(wù)節(jié)點(diǎn),發(fā)送攜帶有所述第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的節(jié)點(diǎn)注冊(cè)通知;

所述中轉(zhuǎn)路由向除所述第一中心節(jié)點(diǎn)之外的其它中心節(jié)點(diǎn)發(fā)送所述節(jié)點(diǎn)注冊(cè)通知;

所述其它中心節(jié)點(diǎn)分別向各自連接的業(yè)務(wù)節(jié)點(diǎn)發(fā)送所述節(jié)點(diǎn)注冊(cè)通知,并將所述第一中心節(jié)點(diǎn)的節(jié)點(diǎn)信息和所述第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息對(duì)應(yīng)存儲(chǔ)。

可選的,在第一業(yè)務(wù)節(jié)點(diǎn)向與所述第一業(yè)務(wù)節(jié)點(diǎn)相連接的第一中心節(jié)點(diǎn),發(fā)送攜帶有所述第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的注冊(cè)請(qǐng)求之后,所述方法還包括:

所述第一業(yè)務(wù)節(jié)點(diǎn)基于第一預(yù)設(shè)周期向所述第一中心節(jié)點(diǎn)發(fā)送心跳消息。

可選的,所述方法還包括:

在接收到所述第一業(yè)務(wù)節(jié)點(diǎn)發(fā)送的心跳消息后的第一預(yù)設(shè)時(shí)長(zhǎng)內(nèi),所述第一中心節(jié)點(diǎn)如果沒(méi)有再次接收到所述第一業(yè)務(wù)節(jié)點(diǎn)發(fā)送的心跳消息,則向所述其它業(yè)務(wù)節(jié)點(diǎn)和所述中轉(zhuǎn)路由,發(fā)送所述第一業(yè)務(wù)節(jié)點(diǎn)的下線通知,其中,所述第一預(yù)設(shè)時(shí)長(zhǎng)大于所述第一預(yù)設(shè)周期;

所述中轉(zhuǎn)路由向所述其它中心節(jié)點(diǎn)發(fā)送所述第一業(yè)務(wù)節(jié)點(diǎn)的下線通知;

所述其它中心節(jié)點(diǎn)分別向各自連接的業(yè)務(wù)節(jié)點(diǎn)發(fā)送所述第一業(yè)務(wù)節(jié)點(diǎn)的下線通知。

可選的,在所述其它中心節(jié)點(diǎn)分別向各自連接的業(yè)務(wù)節(jié)點(diǎn)發(fā)送所述節(jié)點(diǎn)注冊(cè)通知之后,所述方法還包括:

第二中心節(jié)點(diǎn)接收與所述第二中心節(jié)點(diǎn)相連接的業(yè)務(wù)節(jié)點(diǎn)發(fā)送的所述第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息;

在接收到與所述第二中心節(jié)點(diǎn)相連接的所有業(yè)務(wù)節(jié)點(diǎn)發(fā)送的所述第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息后,所述第二中心節(jié)點(diǎn)向所述中轉(zhuǎn)路由發(fā)送所述第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息;

在接收到所述第一中心節(jié)點(diǎn)外的所有其它中心節(jié)點(diǎn)發(fā)送的所述第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息后,所述中轉(zhuǎn)路由向所述第一中心節(jié)點(diǎn)發(fā)送所述第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息;

在接收到所述中轉(zhuǎn)路由和所有其它業(yè)務(wù)節(jié)點(diǎn)發(fā)送的所述第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息后,所述第一中心節(jié)點(diǎn)向所述第一業(yè)務(wù)節(jié)點(diǎn)發(fā)送所述第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息。

可選的,所述方法還包括:

在向與所述第二中心節(jié)點(diǎn)相連接的第二業(yè)務(wù)節(jié)點(diǎn)發(fā)送所述第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)注冊(cè)通知后的第二預(yù)設(shè)時(shí)長(zhǎng)內(nèi),所述第二中心節(jié)點(diǎn)如果未接收到所述第二業(yè)務(wù)節(jié)點(diǎn)發(fā)送的所述第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息,則再次向所述第二業(yè)務(wù)節(jié)點(diǎn)發(fā)送所述節(jié)點(diǎn)注冊(cè)通知。

可選的,所述方法還包括:

所述第一中心節(jié)點(diǎn)基于第二預(yù)設(shè)周期,通過(guò)所述中轉(zhuǎn)路由,向所述其它中心節(jié)點(diǎn)發(fā)送攜帶有與所述第一中心節(jié)點(diǎn)相連接的所有業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的同步請(qǐng)求;

所述其它中心節(jié)點(diǎn)存儲(chǔ)與所述第一中心節(jié)點(diǎn)相連接的所有業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息,并通過(guò)所述中轉(zhuǎn)路由,向所述第一中心節(jié)點(diǎn)發(fā)送攜帶有所述其它中心節(jié)點(diǎn)連接的所有業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的同步確認(rèn)消息;

所述第一中心節(jié)點(diǎn)存儲(chǔ)與每個(gè)所述其它中心節(jié)點(diǎn)相連接的所有業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息。

可選的,所述方法還包括:

當(dāng)接收到所述第一業(yè)務(wù)節(jié)點(diǎn)發(fā)送的攜帶有第二業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的業(yè)務(wù)執(zhí)行請(qǐng)求時(shí),所述第一中心節(jié)點(diǎn)確定所述第二業(yè)務(wù)節(jié)點(diǎn)對(duì)應(yīng)的第二中心節(jié)點(diǎn);

所述第一中心節(jié)點(diǎn)通過(guò)所述中轉(zhuǎn)路由向所述第二中心節(jié)點(diǎn)發(fā)送攜帶有所述第二業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的業(yè)務(wù)執(zhí)行請(qǐng)求;

所述第二中心節(jié)點(diǎn)向所述第二業(yè)務(wù)節(jié)點(diǎn)發(fā)送所述業(yè)務(wù)執(zhí)行請(qǐng)求;

所述第二業(yè)務(wù)節(jié)點(diǎn)基于所述業(yè)務(wù)執(zhí)行請(qǐng)求進(jìn)行業(yè)務(wù)執(zhí)行處理。

第二方面,提供了一種處理節(jié)點(diǎn)注冊(cè)通知的系統(tǒng),所述系統(tǒng)包括中轉(zhuǎn)路由、多個(gè)中心節(jié)點(diǎn)和多個(gè)業(yè)務(wù)節(jié)點(diǎn),每個(gè)中心節(jié)點(diǎn)分別與所述中轉(zhuǎn)路由及至少一個(gè)業(yè)務(wù)節(jié)點(diǎn)連接,任一中心節(jié)點(diǎn)連接所述中轉(zhuǎn)路由的線路與連接業(yè)務(wù)節(jié)點(diǎn)的線路屬于相同的運(yùn)營(yíng)網(wǎng)絡(luò),其中:

第一業(yè)務(wù)節(jié)點(diǎn),用于向與所述第一業(yè)務(wù)節(jié)點(diǎn)相連接的第一中心節(jié)點(diǎn),發(fā)送攜帶有所述第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的注冊(cè)請(qǐng)求;

所述第一中心節(jié)點(diǎn),用于向所述中轉(zhuǎn)路由和與所述第一中心節(jié)點(diǎn)相連的、除所述第一業(yè)務(wù)節(jié)點(diǎn)之外的其它業(yè)務(wù)節(jié)點(diǎn),發(fā)送攜帶有所述第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的節(jié)點(diǎn)注冊(cè)通知;

所述中轉(zhuǎn)路由,用于向除所述第一中心節(jié)點(diǎn)之外的其它中心節(jié)點(diǎn)發(fā)送所述節(jié)點(diǎn)注冊(cè)通知;

所述其它中心節(jié)點(diǎn),用于分別向各自連接的業(yè)務(wù)節(jié)點(diǎn)發(fā)送所述節(jié)點(diǎn)注冊(cè)通知,并將所述第一中心節(jié)點(diǎn)的節(jié)點(diǎn)信息和所述第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息對(duì)應(yīng)存儲(chǔ)。

可選的,所述第一業(yè)務(wù)節(jié)點(diǎn),還用于在所述第一業(yè)務(wù)節(jié)點(diǎn)向與所述第一業(yè)務(wù)節(jié)點(diǎn)相連接的第一中心節(jié)點(diǎn),發(fā)送攜帶有所述第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的注冊(cè)請(qǐng)求之后,基于第一預(yù)設(shè)周期向所述第一中心節(jié)點(diǎn)發(fā)送心跳消息。

可選的,所述第一中心節(jié)點(diǎn),還用于在接收到所述第一業(yè)務(wù)節(jié)點(diǎn)發(fā)送的心跳消息后的第一預(yù)設(shè)時(shí)長(zhǎng)內(nèi),如果沒(méi)有再次接收到所述第一業(yè)務(wù)節(jié)點(diǎn)發(fā)送的心跳消息,則向所述其它業(yè)務(wù)節(jié)點(diǎn)和所述中轉(zhuǎn)路由,發(fā)送所述第一業(yè)務(wù)節(jié)點(diǎn)的下線通知,其中,所述第一預(yù)設(shè)時(shí)長(zhǎng)大于所述第一預(yù)設(shè)周期;

所述中轉(zhuǎn)路由,還用于向所述其它中心節(jié)點(diǎn)發(fā)送所述第一業(yè)務(wù)節(jié)點(diǎn)的下線通知;

所述其它中心節(jié)點(diǎn),還用于分別向各自連接的業(yè)務(wù)節(jié)點(diǎn)發(fā)送所述第一業(yè)務(wù)節(jié)點(diǎn)的下線通知。

可選的,第二中心節(jié)點(diǎn),用于在所述其它中心節(jié)點(diǎn)分別向各自連接的業(yè)務(wù)節(jié)點(diǎn)發(fā)送所述節(jié)點(diǎn)注冊(cè)通知之后,接收與所述第二中心節(jié)點(diǎn)相連接的業(yè)務(wù)節(jié)點(diǎn)發(fā)送的所述第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息,在接收到與所述第二中心節(jié)點(diǎn)相連接的所有業(yè)務(wù)節(jié)點(diǎn)發(fā)送的所述第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息后,向所述中轉(zhuǎn)路由發(fā)送所述第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息;

所述中轉(zhuǎn)路由,還用于在接收到所述第一中心節(jié)點(diǎn)外的所有其它中心節(jié)點(diǎn)發(fā)送的所述第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息后,向所述第一中心節(jié)點(diǎn)發(fā)送所述第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息;

所述第一中心節(jié)點(diǎn),還用于在接收到所述中轉(zhuǎn)路由和所有其它業(yè)務(wù)節(jié)點(diǎn)發(fā)送的所述第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息后,向所述第一業(yè)務(wù)節(jié)點(diǎn)發(fā)送所述第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息。

可選的,所述第二中心節(jié)點(diǎn),還用于在向與所述第二中心節(jié)點(diǎn)相連接的第二業(yè)務(wù)節(jié)點(diǎn)發(fā)送所述第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)注冊(cè)通知后的第二預(yù)設(shè)時(shí)長(zhǎng)內(nèi),如果未接收到所述第二業(yè)務(wù)節(jié)點(diǎn)發(fā)送的所述第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息,則再次向所述第二業(yè)務(wù)節(jié)點(diǎn)發(fā)送所述節(jié)點(diǎn)注冊(cè)通知。

可選的,所述第一中心節(jié)點(diǎn),還用于基于第二預(yù)設(shè)周期,通過(guò)所述中轉(zhuǎn)路由,向所述其它中心節(jié)點(diǎn)發(fā)送攜帶有與所述第一中心節(jié)點(diǎn)相連接的所有業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的同步請(qǐng)求;

所述其它中心節(jié)點(diǎn),還用于存儲(chǔ)與所述第一中心節(jié)點(diǎn)相連接的所有業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息,并通過(guò)所述中轉(zhuǎn)路由,向所述第一中心節(jié)點(diǎn)發(fā)送攜帶有所述其它中心節(jié)點(diǎn)連接的所有業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的同步確認(rèn)消息;

所述第一中心節(jié)點(diǎn),還用于存儲(chǔ)與每個(gè)所述其它中心節(jié)點(diǎn)相連接的所有業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息。

可選的,所述第一中心節(jié)點(diǎn),還用于當(dāng)接收到所述第一業(yè)務(wù)節(jié)點(diǎn)發(fā)送的攜帶有第二業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的業(yè)務(wù)執(zhí)行請(qǐng)求時(shí),確定所述第二業(yè)務(wù)節(jié)點(diǎn)對(duì)應(yīng)的第二中心節(jié)點(diǎn),通過(guò)所述中轉(zhuǎn)路由向所述第二中心節(jié)點(diǎn)發(fā)送攜帶有所述第二業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的業(yè)務(wù)執(zhí)行請(qǐng)求;

所述第二中心節(jié)點(diǎn),還用于向所述第二業(yè)務(wù)節(jié)點(diǎn)發(fā)送所述業(yè)務(wù)執(zhí)行請(qǐng)求;

所述第二業(yè)務(wù)節(jié)點(diǎn),還用于基于所述業(yè)務(wù)執(zhí)行請(qǐng)求進(jìn)行業(yè)務(wù)執(zhí)行處理。

本發(fā)明實(shí)施例提供的技術(shù)方案帶來(lái)的有益效果是:

本發(fā)明實(shí)施例中,在分布式系統(tǒng)中,多個(gè)業(yè)務(wù)節(jié)點(diǎn)與一個(gè)中心節(jié)點(diǎn)相連接,多個(gè)中心節(jié)點(diǎn)與一個(gè)中轉(zhuǎn)路由相連接,且中心節(jié)點(diǎn)連接中轉(zhuǎn)路由的線路與連接業(yè)務(wù)節(jié)點(diǎn)的線路屬于相同的運(yùn)營(yíng)網(wǎng)絡(luò),這樣,當(dāng)屬于不同運(yùn)營(yíng)網(wǎng)絡(luò)的多個(gè)業(yè)務(wù)節(jié)點(diǎn)進(jìn)行通信時(shí),可以通過(guò)中心節(jié)點(diǎn)以及中轉(zhuǎn)路由收發(fā)通信消息,由于業(yè)務(wù)節(jié)點(diǎn)到中轉(zhuǎn)路由的線路屬于同一運(yùn)營(yíng)網(wǎng)絡(luò),通信質(zhì)量較好,這樣,運(yùn)營(yíng)網(wǎng)絡(luò)不同對(duì)業(yè)務(wù)節(jié)點(diǎn)間的通信影響較小。

附圖說(shuō)明

為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是本發(fā)明實(shí)施例提供的一種處理節(jié)點(diǎn)注冊(cè)通知的方法流程圖;

圖2是本發(fā)明實(shí)施例提供的一種處理節(jié)點(diǎn)注冊(cè)通知的方法流程圖;

圖3是本發(fā)明實(shí)施例提供的一種處理節(jié)點(diǎn)注冊(cè)通知的方法流程圖;

圖4是本發(fā)明實(shí)施例提供的一種處理節(jié)點(diǎn)注冊(cè)通知的方法流程圖;

圖5是本發(fā)明實(shí)施例提供的一種處理節(jié)點(diǎn)注冊(cè)通知的方法流程圖;

圖6是本發(fā)明實(shí)施例提供的一種分布式系統(tǒng)的結(jié)構(gòu)框架圖;

圖7是本發(fā)明實(shí)施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖。

具體實(shí)施方式

為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。

本發(fā)明實(shí)施例提供了一種處理節(jié)點(diǎn)注冊(cè)通知的方法,該方法可以應(yīng)用于分布式系統(tǒng),分布式系統(tǒng)包括中轉(zhuǎn)路由、多個(gè)中心節(jié)點(diǎn)和多個(gè)業(yè)務(wù)節(jié)點(diǎn),每個(gè)中心節(jié)點(diǎn)分別與中轉(zhuǎn)路由及至少一個(gè)業(yè)務(wù)節(jié)點(diǎn)連接,任一中心節(jié)點(diǎn)連接中轉(zhuǎn)路由的線路與連接業(yè)務(wù)節(jié)點(diǎn)的線路屬于相同的運(yùn)營(yíng)網(wǎng)絡(luò),該方法的執(zhí)行主體為服務(wù)器,本實(shí)施例中的中轉(zhuǎn)路由、中心節(jié)點(diǎn)、業(yè)務(wù)節(jié)點(diǎn)可以分別是中轉(zhuǎn)路由服務(wù)器、中心節(jié)點(diǎn)服務(wù)器、業(yè)務(wù)節(jié)點(diǎn)服務(wù)器。其中,中心節(jié)點(diǎn)服務(wù)器、業(yè)務(wù)節(jié)點(diǎn)服務(wù)器可以統(tǒng)一稱為節(jié)點(diǎn)服務(wù)器,業(yè)務(wù)服務(wù)器可以是用于接收業(yè)務(wù)客戶端發(fā)送業(yè)務(wù)執(zhí)行請(qǐng)求的服務(wù)器,節(jié)點(diǎn)服務(wù)器可以是用于多個(gè)業(yè)務(wù)服務(wù)器之間進(jìn)行聯(lián)網(wǎng)的服務(wù)器。中心節(jié)點(diǎn)是多個(gè)業(yè)務(wù)節(jié)點(diǎn)的管理服務(wù)器,中轉(zhuǎn)路由是連接多個(gè)中心節(jié)點(diǎn)的中轉(zhuǎn)服務(wù)器。系統(tǒng)框架如圖6所示。

下面將結(jié)合具體實(shí)施方式,對(duì)圖1所示的處理流程進(jìn)行詳細(xì)的說(shuō)明,內(nèi)容可以如下:

步驟101,第一業(yè)務(wù)節(jié)點(diǎn)向與第一業(yè)務(wù)節(jié)點(diǎn)相連接的第一中心節(jié)點(diǎn),發(fā)送攜帶有第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的注冊(cè)請(qǐng)求。

在實(shí)施中,當(dāng)業(yè)務(wù)提供商需要將某個(gè)業(yè)務(wù)服務(wù)器(即第一業(yè)務(wù)節(jié)點(diǎn))添加至分布式系統(tǒng)時(shí),可以首先根據(jù)該業(yè)務(wù)服務(wù)器所在的線路確定其對(duì)應(yīng)的中心節(jié)點(diǎn)(即第一中心節(jié)點(diǎn)),業(yè)務(wù)提供商可以再將第一中心節(jié)點(diǎn)的IP、端口號(hào)等節(jié)點(diǎn)信息寫(xiě)入第一業(yè)務(wù)節(jié)點(diǎn),從而第一業(yè)務(wù)節(jié)點(diǎn)可以根據(jù)第一中心節(jié)點(diǎn)的節(jié)點(diǎn)信息通過(guò)TCP協(xié)議與第一中心節(jié)點(diǎn)建立通信連接。之后,第一業(yè)務(wù)節(jié)點(diǎn)可以向第一中心節(jié)點(diǎn)發(fā)送攜帶有第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的注冊(cè)請(qǐng)求。

步驟102,第一中心節(jié)點(diǎn)向中轉(zhuǎn)路由和與第一中心節(jié)點(diǎn)相連的、除第一業(yè)務(wù)節(jié)點(diǎn)之外的其它業(yè)務(wù)節(jié)點(diǎn),發(fā)送攜帶有第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的節(jié)點(diǎn)注冊(cè)通知。

在實(shí)施中,第一業(yè)務(wù)節(jié)點(diǎn)向第一中心節(jié)點(diǎn)發(fā)送注冊(cè)請(qǐng)求之后,第一中心節(jié)點(diǎn)可以生成第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)注冊(cè)通知,該節(jié)點(diǎn)注冊(cè)通知中可以攜帶有第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息。之后,第一中心節(jié)點(diǎn)可以向中轉(zhuǎn)路由和第一中心節(jié)點(diǎn)相連的、除第一業(yè)務(wù)節(jié)點(diǎn)之外的其它業(yè)務(wù)節(jié)點(diǎn)發(fā)送第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)注冊(cè)通知。

另外,第一中心節(jié)點(diǎn)接收到第一業(yè)務(wù)節(jié)點(diǎn)發(fā)送的注冊(cè)請(qǐng)求后,可以根據(jù)預(yù)設(shè)的編號(hào)規(guī)則給第一業(yè)務(wù)節(jié)點(diǎn)進(jìn)行編號(hào),即分配ID,這樣,之后的各服務(wù)器間的通信消息中攜帶的第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息中可以包含有第一業(yè)務(wù)節(jié)點(diǎn)的ID。所有中心節(jié)點(diǎn)為業(yè)務(wù)節(jié)點(diǎn)分配的ID應(yīng)當(dāng)保證不重復(fù),即每個(gè)業(yè)務(wù)節(jié)點(diǎn)的ID具備唯一性,此處,給出了一種可行的編號(hào)規(guī)則:首先對(duì)n個(gè)中心節(jié)點(diǎn)進(jìn)行編號(hào),編號(hào)從1到n,對(duì)于編號(hào)為m的中心節(jié)點(diǎn),1<=m<=n,與其相連接的業(yè)務(wù)節(jié)點(diǎn)的ID可以是m+n、m+2n、m+3n…,這樣,當(dāng)中心節(jié)點(diǎn)增加或減少時(shí),只需修改編碼規(guī)則中的n值即可完成編碼調(diào)整。同時(shí),第一中心節(jié)點(diǎn)可以將其存儲(chǔ)的分布式系統(tǒng)中所有的業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息發(fā)送給第一業(yè)務(wù)節(jié)點(diǎn),以使第一業(yè)務(wù)節(jié)點(diǎn)存儲(chǔ)這些節(jié)點(diǎn)信息,進(jìn)而第一業(yè)務(wù)節(jié)點(diǎn)在后續(xù)業(yè)務(wù)執(zhí)行處理的過(guò)程中可以根據(jù)這些節(jié)點(diǎn)信息與相應(yīng)的業(yè)務(wù)節(jié)點(diǎn)進(jìn)行交互。

步驟103,中轉(zhuǎn)路由向除第一中心節(jié)點(diǎn)之外的其它中心節(jié)點(diǎn)發(fā)送節(jié)點(diǎn)注冊(cè)通知。

在實(shí)施中,中轉(zhuǎn)路由可以設(shè)置有多個(gè)IP地址,每個(gè)IP地址服務(wù)于不同的運(yùn)營(yíng)網(wǎng)絡(luò),即中轉(zhuǎn)路由支持多條線路,并通過(guò)每條線路與對(duì)應(yīng)的中心節(jié)點(diǎn)相連接,此處的對(duì)應(yīng)是指中心節(jié)點(diǎn)的線路與該條線路屬于相同的運(yùn)營(yíng)網(wǎng)絡(luò),這樣,中轉(zhuǎn)路由可以通過(guò)第一IP地址接收到第一中心節(jié)點(diǎn)發(fā)送的第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)注冊(cè)通知。之后,中轉(zhuǎn)路由可以通過(guò)其它IP地址,分別向與其相連接的除第一中心節(jié)點(diǎn)之外的其它中心節(jié)點(diǎn)轉(zhuǎn)發(fā)上述節(jié)點(diǎn)注冊(cè)通知。

步驟104,其它中心節(jié)點(diǎn)分別向各自連接的業(yè)務(wù)節(jié)點(diǎn)發(fā)送節(jié)點(diǎn)注冊(cè)通知,并將第一中心節(jié)點(diǎn)的節(jié)點(diǎn)信息和第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息對(duì)應(yīng)存儲(chǔ)。

在實(shí)施中,與中轉(zhuǎn)路由相連接的、除第一中心節(jié)點(diǎn)之外的其它中心節(jié)點(diǎn)可以接收到中轉(zhuǎn)路由發(fā)送的第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)注冊(cè)通知,之后其它中心節(jié)點(diǎn)中的每個(gè)中心節(jié)點(diǎn)都可以將上述節(jié)點(diǎn)注冊(cè)通知發(fā)送給與其相連接的業(yè)務(wù)節(jié)點(diǎn)。同時(shí)其它中心節(jié)點(diǎn)可以獲取節(jié)點(diǎn)注冊(cè)通知中攜帶的第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息和第一中心節(jié)點(diǎn)的節(jié)點(diǎn)信息,進(jìn)而將上述兩個(gè)節(jié)點(diǎn)信息對(duì)應(yīng)存儲(chǔ)。

與其它中心節(jié)點(diǎn)相連接的業(yè)務(wù)節(jié)點(diǎn)接收到各自連接的中心節(jié)點(diǎn)發(fā)送的第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)注冊(cè)通知后,可以獲取其中攜帶的第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息,然后將該節(jié)點(diǎn)信息存儲(chǔ)在本地。同理,步驟102中,與第一中心節(jié)點(diǎn)相連接的其它業(yè)務(wù)節(jié)點(diǎn)可以接收到第一中心節(jié)點(diǎn)發(fā)送的第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)注冊(cè)通知,也可以獲取其中攜帶的第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息,然后將該節(jié)點(diǎn)信息存儲(chǔ)在本地,并將第一業(yè)務(wù)節(jié)點(diǎn)的運(yùn)行狀態(tài)標(biāo)記為在線狀態(tài)。

可選的,在第一業(yè)務(wù)節(jié)點(diǎn)向第一中心節(jié)點(diǎn)發(fā)送注冊(cè)請(qǐng)求,并完成注冊(cè)之后,可以周期性告知第一中心節(jié)點(diǎn)其運(yùn)行情況,相應(yīng)的處理可以如下:第一業(yè)務(wù)節(jié)點(diǎn)基于第一預(yù)設(shè)周期向第一中心節(jié)點(diǎn)發(fā)送心跳消息。

其中,心跳消息可以是用于幫助消息接收方及時(shí)獲知消息發(fā)送方運(yùn)行狀況的消息。

在實(shí)施中,第一業(yè)務(wù)節(jié)點(diǎn)在第一中心節(jié)點(diǎn)處完成注冊(cè)(即第一業(yè)務(wù)節(jié)點(diǎn)加入分布式系統(tǒng))后,可以基于第一預(yù)設(shè)周期向第一中心節(jié)點(diǎn)發(fā)送心跳消息,該心跳消息中可以攜帶有第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息,這樣,第一中心節(jié)點(diǎn)可以根據(jù)接收到的心跳消息,及時(shí)獲取到第一業(yè)務(wù)節(jié)點(diǎn)的運(yùn)行狀況。

可選的,如果第一中心節(jié)點(diǎn)長(zhǎng)時(shí)間未接收到第一業(yè)務(wù)節(jié)點(diǎn)發(fā)送的心跳消息,則可以進(jìn)行第一業(yè)務(wù)節(jié)點(diǎn)的下線處理,如圖2所示,相應(yīng)的處理流程可以如下:

步驟201,在接收到第一業(yè)務(wù)節(jié)點(diǎn)發(fā)送的心跳消息后的第一預(yù)設(shè)時(shí)長(zhǎng)內(nèi),第一中心節(jié)點(diǎn)如果沒(méi)有再次接收到第一業(yè)務(wù)節(jié)點(diǎn)發(fā)送的心跳消息,則向其它業(yè)務(wù)節(jié)點(diǎn)和中轉(zhuǎn)路由,發(fā)送第一業(yè)務(wù)節(jié)點(diǎn)的下線通知。

其中,第一預(yù)設(shè)時(shí)長(zhǎng)大于第一預(yù)設(shè)周期。

在實(shí)施中,第一業(yè)務(wù)節(jié)點(diǎn)在加入分布式系統(tǒng)后,可以基于第一預(yù)設(shè)周期向第一中心節(jié)點(diǎn)發(fā)送心跳消息,而如果第一中心節(jié)點(diǎn)某次接收到該心跳消息后,在第一預(yù)設(shè)時(shí)長(zhǎng)內(nèi)沒(méi)有再次接收得到第一業(yè)務(wù)節(jié)點(diǎn)發(fā)送的心跳消息,則可以判定第一業(yè)務(wù)節(jié)點(diǎn)處于下線狀態(tài),進(jìn)而可以向與第一中心節(jié)點(diǎn)相連接的其它業(yè)務(wù)節(jié)點(diǎn)和中轉(zhuǎn)路由,發(fā)送第一業(yè)務(wù)節(jié)點(diǎn)的下線通知,該下線通知中可以攜帶有第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息??梢岳斫獾氖?,第一業(yè)務(wù)節(jié)點(diǎn)的下線包括業(yè)務(wù)提供商主動(dòng)下線或由于故障造成的被動(dòng)下線。

步驟202,中轉(zhuǎn)路由向其它中心節(jié)點(diǎn)發(fā)送第一業(yè)務(wù)節(jié)點(diǎn)的下線通知。

在實(shí)施中,中轉(zhuǎn)路由可以接收到第一中心節(jié)點(diǎn)發(fā)送的第一業(yè)務(wù)節(jié)點(diǎn)的下線通知,然后可以向與其相連接的其它中心節(jié)點(diǎn)發(fā)送該下線通知。

步驟203,其它中心節(jié)點(diǎn)分別向各自連接的業(yè)務(wù)節(jié)點(diǎn)發(fā)送第一業(yè)務(wù)節(jié)點(diǎn)的下線通知。

在實(shí)施中,與中轉(zhuǎn)路由相連接的、除第一中心節(jié)點(diǎn)的其它中心節(jié)點(diǎn)可以接收到中轉(zhuǎn)路由發(fā)送的第一業(yè)務(wù)節(jié)點(diǎn)的下線通知,然后可以將該下線通知發(fā)送給各自連接的業(yè)務(wù)節(jié)點(diǎn)。這樣,業(yè)務(wù)節(jié)點(diǎn)接收到該下線通知后,可以將第一業(yè)務(wù)節(jié)點(diǎn)的運(yùn)行狀態(tài)標(biāo)記為下線狀態(tài),即停止當(dāng)前并拒絕后續(xù)和第一業(yè)務(wù)節(jié)點(diǎn)相關(guān)的業(yè)務(wù)執(zhí)行處理。同理,步驟201中的與第一中心節(jié)點(diǎn)相連接的其它業(yè)務(wù)節(jié)點(diǎn)的處理與上述處理相同。

需要說(shuō)明的是,第一業(yè)務(wù)節(jié)點(diǎn)在下線后,如果想要重新加入分布式系統(tǒng),上線處理與步驟101至步驟104的處理基本相同,此處不再贅述。

可選的,在步驟104后,中心節(jié)點(diǎn)和業(yè)務(wù)節(jié)點(diǎn)在接收到第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)注冊(cè)通知后,可以返回注冊(cè)確認(rèn)消息,如圖5所示,相應(yīng)的處理流程可以如下:

步驟105,第二中心節(jié)點(diǎn)接收與第二中心節(jié)點(diǎn)相連接的業(yè)務(wù)節(jié)點(diǎn)發(fā)送的第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息。

在實(shí)施中,第二中心節(jié)點(diǎn)向與其相連接的業(yè)務(wù)節(jié)點(diǎn)發(fā)送第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)注冊(cè)通知后,如果上述業(yè)務(wù)節(jié)點(diǎn)接收到該節(jié)點(diǎn)注冊(cè)通知,則可以向第二中心節(jié)點(diǎn)返回第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息,相應(yīng)的,第二中心節(jié)點(diǎn)則可以接收到該注冊(cè)確認(rèn)消息。同理,與第一中心節(jié)點(diǎn)相連接的除第一業(yè)務(wù)節(jié)點(diǎn)之外的其它業(yè)務(wù)節(jié)點(diǎn)接收到第一中心節(jié)點(diǎn)后,也可以向第一中心節(jié)點(diǎn)返回第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息。

步驟106,在接收到與第二中心節(jié)點(diǎn)相連接的所有業(yè)務(wù)節(jié)點(diǎn)發(fā)送的第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息后,第二中心節(jié)點(diǎn)向中轉(zhuǎn)路由發(fā)送第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息。

步驟107,在接收到第一中心節(jié)點(diǎn)外的所有其它中心節(jié)點(diǎn)發(fā)送的第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息后,中轉(zhuǎn)路由向第一中心節(jié)點(diǎn)發(fā)送第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息。

步驟108,在接收到中轉(zhuǎn)路由和所有其它業(yè)務(wù)節(jié)點(diǎn)發(fā)送的第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息后,第一中心節(jié)點(diǎn)向第一業(yè)務(wù)節(jié)點(diǎn)發(fā)送第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息。

在實(shí)施中,第一中心節(jié)點(diǎn)在接收到中轉(zhuǎn)路由和與其相連接的所有其它業(yè)務(wù)節(jié)點(diǎn)發(fā)送的第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息后,可以向第一業(yè)務(wù)節(jié)點(diǎn)發(fā)送注冊(cè)確認(rèn)消息,第一業(yè)務(wù)節(jié)點(diǎn)接收到該注冊(cè)確認(rèn)消息后,可以獲知本次注冊(cè)成功。

可選的,如果某個(gè)中心節(jié)點(diǎn)未接收到與其相連的某個(gè)業(yè)務(wù)節(jié)點(diǎn)返回的第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息,則該業(yè)務(wù)節(jié)點(diǎn)可能未接收到之前的節(jié)點(diǎn)注冊(cè)通知,上述中心節(jié)點(diǎn)需要再次發(fā)送節(jié)點(diǎn)注冊(cè)通知,相應(yīng)的處理可以如下:在向與第二中心節(jié)點(diǎn)相連接的第二業(yè)務(wù)節(jié)點(diǎn)發(fā)送第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)注冊(cè)通知后的第二預(yù)設(shè)時(shí)長(zhǎng)內(nèi),第二中心節(jié)點(diǎn)如果未接收到第二業(yè)務(wù)節(jié)點(diǎn)發(fā)送的第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息,則再次向第二業(yè)務(wù)節(jié)點(diǎn)發(fā)送節(jié)點(diǎn)注冊(cè)通知。

在實(shí)施中,第二中心節(jié)點(diǎn)向與其相連接的第二業(yè)務(wù)節(jié)點(diǎn)發(fā)送第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)注冊(cè)通知后,如果在第二預(yù)設(shè)時(shí)長(zhǎng)內(nèi)第二中心節(jié)點(diǎn)一直未接收到第二業(yè)務(wù)節(jié)點(diǎn)返回的第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息,則可以再次向第二業(yè)務(wù)節(jié)點(diǎn)發(fā)送上述節(jié)點(diǎn)注冊(cè)通知。進(jìn)一步的,如果在向第二業(yè)務(wù)節(jié)點(diǎn)發(fā)送多次節(jié)點(diǎn)注冊(cè)通知后,始終未接收到第二業(yè)務(wù)節(jié)點(diǎn)返回的注冊(cè)確認(rèn)消息,第二中心節(jié)點(diǎn)則可以停止發(fā)送節(jié)點(diǎn)注冊(cè)通知,并檢測(cè)第二中心節(jié)點(diǎn)和第二業(yè)務(wù)節(jié)點(diǎn)的連接狀態(tài),同時(shí)可以發(fā)出告警消息。

可選的,多個(gè)中心節(jié)點(diǎn)可以周期性的進(jìn)行數(shù)據(jù)同步,如圖3所示,相應(yīng)的處理流程可以如下:

步驟301,第一中心節(jié)點(diǎn)基于第二預(yù)設(shè)周期,通過(guò)中轉(zhuǎn)路由,向其它中心節(jié)點(diǎn)發(fā)送攜帶有與第一中心節(jié)點(diǎn)相連接的所有業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的同步請(qǐng)求。

在實(shí)施中,同步前,第一中心節(jié)點(diǎn)可以先檢測(cè)與其相連接的所有業(yè)務(wù)節(jié)點(diǎn)的運(yùn)行狀況,然后更新本地存儲(chǔ)的與其相連的所有業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息,之后可以生成攜帶有與其相連接的所有業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的同步請(qǐng)求,從而可以通過(guò)中轉(zhuǎn)路由,向其它中心節(jié)點(diǎn)發(fā)送該同步請(qǐng)求。值得一提的是,同步請(qǐng)求中攜帶的只有和第一中心節(jié)點(diǎn)相連接的業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息,不包括與其它中心節(jié)點(diǎn)相連接的業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息。

步驟302,其它中心節(jié)點(diǎn)存儲(chǔ)與第一中心節(jié)點(diǎn)相連接的所有業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息,并通過(guò)中轉(zhuǎn)路由,向第一中心節(jié)點(diǎn)發(fā)送攜帶有其它中心節(jié)點(diǎn)連接的所有業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的同步確認(rèn)消息。

在實(shí)施中,其它中心節(jié)點(diǎn)通過(guò)中轉(zhuǎn)路由可以接收到第一中心節(jié)點(diǎn)發(fā)送的同步請(qǐng)求,之后可以獲取同步請(qǐng)求中攜帶的與第一中心節(jié)點(diǎn)相連接的所有業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息,進(jìn)而將這些節(jié)點(diǎn)信息存儲(chǔ)在本地,即對(duì)本地已存儲(chǔ)的第一中心節(jié)點(diǎn)對(duì)應(yīng)的所有業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息進(jìn)行更新,同時(shí),可以通過(guò)中轉(zhuǎn)路由向第一中心節(jié)點(diǎn)發(fā)送攜帶有其它中心節(jié)點(diǎn)各自連接的所有業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的同步確認(rèn)消息,具體的,第二中心節(jié)點(diǎn)向第一中心節(jié)點(diǎn)發(fā)送的同步確認(rèn)消息中攜帶的是與第二中心節(jié)點(diǎn)相連接的所有業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息。

步驟303,第一中心節(jié)點(diǎn)存儲(chǔ)與每個(gè)其它中心節(jié)點(diǎn)相連接的所有業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息。

在實(shí)施中,第一中心節(jié)點(diǎn)可以通過(guò)中轉(zhuǎn)路由接收到其它中心節(jié)點(diǎn)發(fā)送的同步確認(rèn)消息,進(jìn)而可以獲取上述同步確認(rèn)消息中攜帶的業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息,然后將業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息和其相連接的中心節(jié)點(diǎn)的節(jié)點(diǎn)信息對(duì)應(yīng)存儲(chǔ)??梢钥闯?,每個(gè)中心節(jié)點(diǎn)中存儲(chǔ)業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的方式可以是分別與各自連接的中心節(jié)點(diǎn)的節(jié)點(diǎn)信息對(duì)應(yīng)存儲(chǔ)的,例如存在3個(gè)中心節(jié)點(diǎn),與第一中心節(jié)點(diǎn)相連接的有7個(gè)業(yè)務(wù)節(jié)點(diǎn),與第二中心節(jié)點(diǎn)相連接的有8個(gè)業(yè)務(wù)節(jié)點(diǎn),與第三中心節(jié)點(diǎn)有9個(gè)業(yè)務(wù)節(jié)點(diǎn),這樣,3個(gè)中心節(jié)點(diǎn)中均存儲(chǔ)有24個(gè)業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息,當(dāng)?shù)谝恢行墓?jié)點(diǎn)發(fā)起同步時(shí),同步請(qǐng)求中攜帶有7個(gè)業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息,第二中心節(jié)點(diǎn)返回的同步確認(rèn)消息中攜帶有8個(gè)業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息,第三中心節(jié)點(diǎn)返回的同步確認(rèn)消息中攜帶有9個(gè)業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息。

可選的,本實(shí)施例還公開(kāi)了一種執(zhí)行業(yè)務(wù)請(qǐng)求的處理流程,如圖4所示,具體可以如下:

步驟401,當(dāng)接收到第一業(yè)務(wù)節(jié)點(diǎn)發(fā)送的攜帶有第二業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的業(yè)務(wù)執(zhí)行請(qǐng)求時(shí),第一中心節(jié)點(diǎn)確定第二業(yè)務(wù)節(jié)點(diǎn)對(duì)應(yīng)的第二中心節(jié)點(diǎn)。

在實(shí)施中,第一業(yè)務(wù)節(jié)點(diǎn)接收到業(yè)務(wù)客戶端發(fā)送的業(yè)務(wù)請(qǐng)求后,可以先執(zhí)行本地支持的部分業(yè)務(wù)服務(wù),之后可以確定其它業(yè)務(wù)服務(wù)對(duì)應(yīng)的節(jié)點(diǎn)服務(wù)器(如第二業(yè)務(wù)節(jié)點(diǎn)),進(jìn)而可以向第一中心節(jié)點(diǎn)發(fā)送攜帶有第二業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的業(yè)務(wù)執(zhí)行請(qǐng)求。第一中心節(jié)點(diǎn)接收到業(yè)務(wù)執(zhí)行請(qǐng)求后,可以獲取其中攜帶的第二業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息,然后確定與第二業(yè)務(wù)節(jié)點(diǎn)相連接的第二中心節(jié)點(diǎn)。

步驟402,第一中心節(jié)點(diǎn)通過(guò)中轉(zhuǎn)路由向第二中心節(jié)點(diǎn)發(fā)送攜帶有第二業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的業(yè)務(wù)執(zhí)行請(qǐng)求。

步驟403,第二中心節(jié)點(diǎn)向第二業(yè)務(wù)節(jié)點(diǎn)發(fā)送業(yè)務(wù)執(zhí)行請(qǐng)求。

步驟404,第二業(yè)務(wù)節(jié)點(diǎn)基于業(yè)務(wù)執(zhí)行請(qǐng)求進(jìn)行業(yè)務(wù)執(zhí)行處理。

本發(fā)明實(shí)施例中,在分布式系統(tǒng)中,多個(gè)業(yè)務(wù)節(jié)點(diǎn)與中心節(jié)點(diǎn)相連接,多個(gè)中心節(jié)點(diǎn)與中轉(zhuǎn)路由相連接,且中心節(jié)點(diǎn)連接中轉(zhuǎn)路由的線路與連接業(yè)務(wù)節(jié)點(diǎn)的線路屬于相同的運(yùn)營(yíng)網(wǎng)絡(luò),這樣,當(dāng)屬于不同運(yùn)營(yíng)網(wǎng)絡(luò)的多個(gè)業(yè)務(wù)節(jié)點(diǎn)進(jìn)行通信時(shí),可以通過(guò)中心節(jié)點(diǎn)以及中轉(zhuǎn)路由收發(fā)通信消息,由于業(yè)務(wù)節(jié)點(diǎn)到中轉(zhuǎn)路由的線路屬于同一運(yùn)營(yíng)網(wǎng)絡(luò),通信質(zhì)量較好,這樣,運(yùn)營(yíng)網(wǎng)絡(luò)不同對(duì)業(yè)務(wù)節(jié)點(diǎn)間的通信影響較小。

基于相同的技術(shù)構(gòu)思,本發(fā)明實(shí)施例還提供了一種處理節(jié)點(diǎn)注冊(cè)通知的系統(tǒng),所述系統(tǒng)包括中轉(zhuǎn)路由、多個(gè)中心節(jié)點(diǎn)和多個(gè)業(yè)務(wù)節(jié)點(diǎn),每個(gè)中心節(jié)點(diǎn)分別與所述中轉(zhuǎn)路由及至少一個(gè)業(yè)務(wù)節(jié)點(diǎn)連接,任一中心節(jié)點(diǎn)連接所述中轉(zhuǎn)路由的線路與連接業(yè)務(wù)節(jié)點(diǎn)的線路屬于相同的運(yùn)營(yíng)網(wǎng)絡(luò),其中:

第一業(yè)務(wù)節(jié)點(diǎn),用于向與所述第一業(yè)務(wù)節(jié)點(diǎn)相連接的第一中心節(jié)點(diǎn),發(fā)送攜帶有所述第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的注冊(cè)請(qǐng)求;

所述第一中心節(jié)點(diǎn),用于向所述中轉(zhuǎn)路由和與所述第一中心節(jié)點(diǎn)相連的、除所述第一業(yè)務(wù)節(jié)點(diǎn)之外的其它業(yè)務(wù)節(jié)點(diǎn),發(fā)送攜帶有所述第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的節(jié)點(diǎn)注冊(cè)通知;

所述中轉(zhuǎn)路由,用于向除所述第一中心節(jié)點(diǎn)之外的其它中心節(jié)點(diǎn)發(fā)送所述節(jié)點(diǎn)注冊(cè)通知;

所述其它中心節(jié)點(diǎn),用于分別向各自連接的業(yè)務(wù)節(jié)點(diǎn)發(fā)送所述節(jié)點(diǎn)注冊(cè)通知,并將所述第一中心節(jié)點(diǎn)的節(jié)點(diǎn)信息和所述第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息對(duì)應(yīng)存儲(chǔ)。

可選的,所述第一業(yè)務(wù)節(jié)點(diǎn),還用于在所述第一業(yè)務(wù)節(jié)點(diǎn)向與所述第一業(yè)務(wù)節(jié)點(diǎn)相連接的第一中心節(jié)點(diǎn),發(fā)送攜帶有所述第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的注冊(cè)請(qǐng)求之后,基于第一預(yù)設(shè)周期向所述第一中心節(jié)點(diǎn)發(fā)送心跳消息。

可選的,所述第一中心節(jié)點(diǎn),還用于在接收到所述第一業(yè)務(wù)節(jié)點(diǎn)發(fā)送的心跳消息后的第一預(yù)設(shè)時(shí)長(zhǎng)內(nèi),如果沒(méi)有再次接收到所述第一業(yè)務(wù)節(jié)點(diǎn)發(fā)送的心跳消息,則向所述其它業(yè)務(wù)節(jié)點(diǎn)和所述中轉(zhuǎn)路由,發(fā)送所述第一業(yè)務(wù)節(jié)點(diǎn)的下線通知,其中,所述第一預(yù)設(shè)時(shí)長(zhǎng)大于所述第一預(yù)設(shè)周期;

所述中轉(zhuǎn)路由,還用于向所述其它中心節(jié)點(diǎn)發(fā)送所述第一業(yè)務(wù)節(jié)點(diǎn)的下線通知;

所述其它中心節(jié)點(diǎn),還用于分別向各自連接的業(yè)務(wù)節(jié)點(diǎn)發(fā)送所述第一業(yè)務(wù)節(jié)點(diǎn)的下線通知。

可選的,第二中心節(jié)點(diǎn),用于在所述其它中心節(jié)點(diǎn)分別向各自連接的業(yè)務(wù)節(jié)點(diǎn)發(fā)送所述節(jié)點(diǎn)注冊(cè)通知之后,接收與所述第二中心節(jié)點(diǎn)相連接的業(yè)務(wù)節(jié)點(diǎn)發(fā)送的所述第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息,在接收到與所述第二中心節(jié)點(diǎn)相連接的所有業(yè)務(wù)節(jié)點(diǎn)發(fā)送的所述第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息后,向所述中轉(zhuǎn)路由發(fā)送所述第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息;

所述中轉(zhuǎn)路由,還用于在接收到所述第一中心節(jié)點(diǎn)外的所有其它中心節(jié)點(diǎn)發(fā)送的所述第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息后,向所述第一中心節(jié)點(diǎn)發(fā)送所述第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息;

所述第一中心節(jié)點(diǎn),還用于在接收到所述中轉(zhuǎn)路由和所有其它業(yè)務(wù)節(jié)點(diǎn)發(fā)送的所述第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息后,向所述第一業(yè)務(wù)節(jié)點(diǎn)發(fā)送所述第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息。

可選的,所述第二中心節(jié)點(diǎn),還用于在向與所述第二中心節(jié)點(diǎn)相連接的第二業(yè)務(wù)節(jié)點(diǎn)發(fā)送所述第一業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)注冊(cè)通知后的第二預(yù)設(shè)時(shí)長(zhǎng)內(nèi),如果未接收到所述第二業(yè)務(wù)節(jié)點(diǎn)發(fā)送的所述第一業(yè)務(wù)節(jié)點(diǎn)的注冊(cè)確認(rèn)消息,則再次向所述第二業(yè)務(wù)節(jié)點(diǎn)發(fā)送所述節(jié)點(diǎn)注冊(cè)通知。

可選的,所述第一中心節(jié)點(diǎn),還用于基于第二預(yù)設(shè)周期,通過(guò)所述中轉(zhuǎn)路由,向所述其它中心節(jié)點(diǎn)發(fā)送攜帶有與所述第一中心節(jié)點(diǎn)相連接的所有業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的同步請(qǐng)求;

所述其它中心節(jié)點(diǎn),還用于存儲(chǔ)與所述第一中心節(jié)點(diǎn)相連接的所有業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息,并通過(guò)所述中轉(zhuǎn)路由,向所述第一中心節(jié)點(diǎn)發(fā)送攜帶有所述其它中心節(jié)點(diǎn)連接的所有業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的同步確認(rèn)消息;

所述第一中心節(jié)點(diǎn),還用于存儲(chǔ)與每個(gè)所述其它中心節(jié)點(diǎn)相連接的所有業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息。

可選的,所述第一中心節(jié)點(diǎn),還用于當(dāng)接收到所述第一業(yè)務(wù)節(jié)點(diǎn)發(fā)送的攜帶有第二業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的業(yè)務(wù)執(zhí)行請(qǐng)求時(shí),確定所述第二業(yè)務(wù)節(jié)點(diǎn)對(duì)應(yīng)的第二中心節(jié)點(diǎn),通過(guò)所述中轉(zhuǎn)路由向所述第二中心節(jié)點(diǎn)發(fā)送攜帶有所述第二業(yè)務(wù)節(jié)點(diǎn)的節(jié)點(diǎn)信息的業(yè)務(wù)執(zhí)行請(qǐng)求;

所述第二中心節(jié)點(diǎn),還用于向所述第二業(yè)務(wù)節(jié)點(diǎn)發(fā)送所述業(yè)務(wù)執(zhí)行請(qǐng)求;

所述第二業(yè)務(wù)節(jié)點(diǎn),還用于基于所述業(yè)務(wù)執(zhí)行請(qǐng)求進(jìn)行業(yè)務(wù)執(zhí)行處理。

本發(fā)明實(shí)施例中,在分布式系統(tǒng)中,多個(gè)業(yè)務(wù)節(jié)點(diǎn)與中心節(jié)點(diǎn)相連接,多個(gè)中心節(jié)點(diǎn)與中轉(zhuǎn)路由相連接,且中心節(jié)點(diǎn)連接中轉(zhuǎn)路由的線路與連接業(yè)務(wù)節(jié)點(diǎn)的線路屬于相同的運(yùn)營(yíng)網(wǎng)絡(luò),這樣,當(dāng)屬于不同運(yùn)營(yíng)網(wǎng)絡(luò)的多個(gè)業(yè)務(wù)節(jié)點(diǎn)進(jìn)行通信時(shí),可以通過(guò)中心節(jié)點(diǎn)以及中轉(zhuǎn)路由收發(fā)通信消息,由于業(yè)務(wù)節(jié)點(diǎn)到中轉(zhuǎn)路由的線路屬于同一運(yùn)營(yíng)網(wǎng)絡(luò),通信質(zhì)量較好,這樣,運(yùn)營(yíng)網(wǎng)絡(luò)不同對(duì)業(yè)務(wù)節(jié)點(diǎn)間的通信影響較小。

圖7是本發(fā)明實(shí)施例提供的中心節(jié)點(diǎn)的結(jié)構(gòu)示意圖。該中心節(jié)點(diǎn)700可以是可因配置或性能不同而產(chǎn)生比較大的差異,可以包括一個(gè)或一個(gè)以上中央處理器(central processing units,CPU)722(例如,一個(gè)或一個(gè)以上處理器)和存儲(chǔ)器732,一個(gè)或一個(gè)以上存儲(chǔ)應(yīng)用程序742或數(shù)據(jù)744的存儲(chǔ)介質(zhì)730(例如一個(gè)或一個(gè)以上海量存儲(chǔ)設(shè)備)。其中,存儲(chǔ)器732和存儲(chǔ)介質(zhì)730可以是短暫存儲(chǔ)或持久存儲(chǔ)。存儲(chǔ)在存儲(chǔ)介質(zhì)730的程序可以包括一個(gè)或一個(gè)以上模塊(圖示沒(méi)標(biāo)出),每個(gè)模塊可以包括對(duì)服務(wù)器中的一系列指令操作。更進(jìn)一步地,中央處理器722可以設(shè)置為與存儲(chǔ)介質(zhì)730通信,在中心節(jié)點(diǎn)700上執(zhí)行存儲(chǔ)介質(zhì)730中的一系列指令操作。

中心節(jié)點(diǎn)700還可以包括一個(gè)或一個(gè)以上電源726,一個(gè)或一個(gè)以上有線或無(wú)線網(wǎng)絡(luò)接口750,一個(gè)或一個(gè)以上輸入輸出接口758,一個(gè)或一個(gè)以上鍵盤(pán)756,和/或,一個(gè)或一個(gè)以上操作系統(tǒng)741,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,F(xiàn)reeBSDTM等等。

中心節(jié)點(diǎn)700可以包括有存儲(chǔ)器,以及一個(gè)或者一個(gè)以上的程序,其中一個(gè)或者一個(gè)以上程序存儲(chǔ)于存儲(chǔ)器中,且經(jīng)配置以由一個(gè)或者一個(gè)以上處理器執(zhí)行上述各個(gè)實(shí)施例中所述的中心節(jié)點(diǎn)(可以是第一中心節(jié)點(diǎn)或者其他中心節(jié)點(diǎn))的相關(guān)處理。

另外,中轉(zhuǎn)路由和業(yè)務(wù)節(jié)點(diǎn)的結(jié)構(gòu)與中心節(jié)點(diǎn)的結(jié)構(gòu)大致相同,此處不再進(jìn)行贅述。

本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過(guò)硬件來(lái)完成,也可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤(pán)或光盤(pán)等。

以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1