亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種發(fā)布訂閱系統(tǒng)中可靠性保障方法及系統(tǒng)的制作方法

文檔序號:7869624閱讀:231來源:國知局
專利名稱:一種發(fā)布訂閱系統(tǒng)中可靠性保障方法及系統(tǒng)的制作方法
技術領域
本發(fā)明涉及發(fā)布訂閱技術,具體涉及ー種發(fā)布訂閱系統(tǒng)中可靠性保障方法及系統(tǒng)。
背景技術
目前,大多數(shù)物聯(lián)網(wǎng)應用程序依然使用“請求/應答”這種傳統(tǒng)的通信方式,即客戶機/服務器模式,但隨著網(wǎng)絡規(guī)模的擴大和網(wǎng)絡拓撲的變化,這種傳統(tǒng)模式難以滿足用戶的需求。原因在于,客戶端和服務器端之間直接且經(jīng)常地同步通信給雙方造成了緊密的耦合度,并削弱了伸縮性??蛻舳溯喸冞h端的數(shù)據(jù)源,就需要使用相應資源來交換數(shù)據(jù)的正確性。短的輪詢間隔帶來的不必要的請求會浪費資源,而長的輪詢間隔會增加更新的延遲。另外,“請求/應答”方式約束了系統(tǒng)的發(fā)展。將控制流編碼于應用組件當中,這雖然方便了工程師的使用,卻也將系統(tǒng)的實際配置和各個組件的應用邏輯混雜在一起。因此,通過在運行時調(diào)整應用組件來協(xié)調(diào)整個系統(tǒng)的能力受到了限制。隨著物聯(lián)網(wǎng)技術的不斷發(fā)展,物聯(lián)網(wǎng)應用程序?qū)⒅鸩竭\行在大型的分布式計算環(huán)境中,發(fā)布/訂閱模式隨之產(chǎn)生。在發(fā)布/訂閱模式中,信息發(fā)布者往往脫離了信息消費者,甚至不需要知道它們的存在。每個消息發(fā)布/訂閱節(jié)點可以獨立地運行,不受其他節(jié)點影響。但是,在這種模式中,若系統(tǒng)中某一個節(jié)點因故障而丟失,則節(jié)點中的用戶將不能收到該節(jié)點發(fā)布的消息。因此,如何在發(fā)布/訂閱模式中使信息以穩(wěn)定的、有序的、安全的方式傳播,尤其是如何保障這些信息在系統(tǒng)中可靠地傳輸,成為目前需要解決的問題。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供ー種發(fā)布訂閱系統(tǒng)中可靠性保障方法及系統(tǒng),保證拓撲中的節(jié)點不會因為故障而丟失,保障訂閱的可靠性,提升了用戶的體驗。為達到上述目的,本發(fā)明的技術方案是這樣實現(xiàn)的本發(fā)明提供了ー種發(fā)布訂閱系統(tǒng)中可靠性保障系統(tǒng),該可靠性保障系統(tǒng)包括可靠訂閱模塊和節(jié)點中的可靠訂閱子模塊;其中,所述可靠訂閱子模塊,用于在節(jié)點加入發(fā)布訂閱系統(tǒng)時,并在預設的備份/恢復模式為全局備份/恢復模式吋,向所述可靠訂閱模塊發(fā)送節(jié)點加入消息;以及,對接收到的所述可靠訂閱模塊發(fā)送的通知消息進行訂閱備份;所述可靠訂閱模塊,用于在接收到所述節(jié)點加入消息時,獲取所述節(jié)點的配置信息,根據(jù)所述節(jié)點的配置信息選擇ー個以上節(jié)點作為所述節(jié)點的備份節(jié)點,通知相應的節(jié)點進行訂閱備份,并更新拓撲信息表中的節(jié)點拓撲信息。優(yōu)選地,上述方案中,所述節(jié)點為集群代表或集群代理;所述節(jié)點為集群代表時,所述可靠訂閱子模塊,還用于向所述可靠訂閱模塊發(fā)送集群加入消息;相應的,所述可靠訂閱模塊,還用于接收到所述集群加入消息時,獲取所述集群的配置信息,井根據(jù)所述集群的配置信息更新拓撲信息表中的集群拓撲信息。優(yōu)選地,上述方案中,所述可靠訂閱模塊,還用于將所述節(jié)點的備份節(jié)點的信息通知所述節(jié)點的可靠訂閱子模塊,將所述節(jié)點的信息通知所述節(jié)點的備份節(jié)點的可靠訂閱子模塊;相應的,所述可靠訂閱子模塊,還用于將節(jié)點的備份節(jié)點信息和將所述節(jié)點作為備份節(jié)點的其他節(jié)點的信息保存在本地的可靠鄰居表中;為所接收到的訂閱消息建立副本,并將訂閱消息副本發(fā)送給所述節(jié)點的備份節(jié)點作為訂閱備份。優(yōu)選地,上述方案中,所述可靠訂閱模塊,還用于在接收到所述節(jié)點失效消息吋,從拓撲信息表中獲取失效節(jié)點的備份節(jié)點,向優(yōu)先級最高的備份節(jié)點的可靠訂閱子模塊發(fā)送對所述失效節(jié)點進行訂閱恢復的通知消息,并更新拓撲信息表;相應的,所述優(yōu)先級最高的備份節(jié)點的可靠訂閱子模塊,還用于對所述失效節(jié)點 進行訂閱恢復。
優(yōu)選地,上述方案中,所述可靠訂閱子模塊還用于,接收到備份節(jié)點的可靠訂閱子模塊發(fā)送的備份消息吋,將所述備份節(jié)點的信息添加到所述可靠鄰居表中的備份節(jié)點信息中;接收到新訂閱消息吋,為所述新訂閱消息建立副本,從所述可靠鄰居表中獲取所述節(jié)點的備份節(jié)點,并將新訂閱消息副本發(fā)送給所述節(jié)點的備份節(jié)點作為訂閱備份。優(yōu)選地,上述方案中,所述可靠訂閱子模塊,還用于在預設的備份/恢復模式為本地備份/恢復模式吋,為所接收到的訂閱消息建立副本作為所述節(jié)點的訂閱備份,并在本地保存所述節(jié)點的訂閱備份;還用于當所述節(jié)點失效時,讀取所述本地保存的訂閱備份進行訂閱恢復。優(yōu)選地,上述方案中,所述可靠訂閱子模塊,還用于接收到新訂閱消息時,為所接收到的新訂閱消息建立副本,并作為所述節(jié)點當前的訂閱備份,同時刪除之前的訂閱備份。優(yōu)選地,上述方案中,該系統(tǒng)還包括可靠Web消息模塊,用于在待發(fā)送的消息中添加消息序列,并在希望接收到確認的消息中插入AckRequested報頭;用于在接收到攜帶有AckRequested報頭的消息后,返回確認消息。本發(fā)明還提供了ー種發(fā)布訂閱系統(tǒng)中可靠性保障方法,該方法包括在節(jié)點加入發(fā)布訂閱系統(tǒng)吋,并在預設的備份/恢復模式為全局備份/恢復模式時,節(jié)點本地的可靠訂閱子模塊向可靠訂閱模塊發(fā)送節(jié)點加入消息;可靠訂閱模塊接收到節(jié)點加入消息時,獲取所述節(jié)點的配置信息,根據(jù)所述節(jié)點的配置信息選擇ー個以上節(jié)點作為所述節(jié)點的備份節(jié)點,通知相應節(jié)點進行訂閱備份,并更新拓撲信息表中的節(jié)點拓撲信息。優(yōu)選地,上述方案中,所述節(jié)點為集群代表或集群代理;所述節(jié)點為集群代表時,在所述節(jié)點本地的可靠訂閱子模塊向可靠訂閱模塊發(fā)送節(jié)點加入消息以前,該方法還包括所述可靠訂閱子模塊向所述可靠訂閱模塊發(fā)送集群加入消息;所述可靠訂閱模塊接收到所述集群加入消息吋,獲取所述集群的配置信息,井根據(jù)所述集群的配置信息更新拓撲信息表中的集群拓撲信息。優(yōu)選地,上述方案中,所述通知相應節(jié)點進行訂閱備份為
所述可靠訂閱模塊將所述節(jié)點的備份節(jié)點的信息通知所述節(jié)點的可靠訂閱子模塊,將所述節(jié)點的信息通知所述節(jié)點的備份節(jié)點的可靠訂閱子模塊;所述可靠訂閱子模塊將所述節(jié)點的備份節(jié)點信息和將所述節(jié)點作為備份節(jié)點的其他節(jié)點的信息保存在本地的可靠鄰居表中;所述可靠訂閱子模塊為所接收到的訂閱消息建立副本,并將訂閱消息副本發(fā)送給所述節(jié)點的備份節(jié)點的可靠訂閱子模塊作為訂閱備份。優(yōu)選地,上述方案中,該方法還包括所述可靠訂閱模塊接收到所述節(jié)點失效消息吋,從拓撲信息表中獲取失效節(jié)點的備份節(jié)點,通知優(yōu)先級最高的備份節(jié)點的可靠訂閱子模塊對所述失效節(jié)點進行訂閱恢復,并更新拓撲信息表。優(yōu)選地,上述方案中,該方法還包括 所述可靠訂閱子模塊接收到備份節(jié)點的可靠訂閱子模塊發(fā)送的備份消息時,將所述備份節(jié)點的信息添加到所述可靠鄰居表中的備份節(jié)點信息中;所述可靠訂閱子模塊接收到新訂閱消息吋,為所述新訂閱消息建立副本,從所述可靠鄰居表中獲取所述節(jié)點的備份節(jié)點,并將新訂閱消息副本發(fā)送給所述節(jié)點的備份節(jié)點的可靠訂閱子模塊作為訂閱備份。優(yōu)選地,上述方案中,所述預設的備份/恢復模式為本地備份/恢復模式時,該方法還包括所述可靠訂閱子模塊為所接收到的訂閱消息建立副本作為所述節(jié)點的訂閱備份,并在本地保存所述節(jié)點的訂閱備份。優(yōu)選地,上述方案中,該方法還包括 所述節(jié)點失效時,可靠訂閱子模塊讀取所述節(jié)點本地保存的訂閱備份進行訂閱恢復;所述可靠訂閱子模塊接收到新訂閱消息時,為所接收到的新訂閱消息建立副本,并作為所述節(jié)點當前的訂閱備份,同時刪除之前的訂閱備份。優(yōu)選地,上述方案中,該方法還包括在終端與所述節(jié)點之間進行消息傳輸過程中,消息發(fā)送端在待發(fā)送的消息中添加消息序列,并在希望接收到確認的消息中插入應答需求AckRequested報頭;消息接收端在接收到攜帶有AckRequested報頭的消息后,向消息發(fā)送端發(fā)送確認消息。本發(fā)明提供的發(fā)布訂閱系統(tǒng)中可靠性保障方法及系統(tǒng),通過可靠訂閱模塊管理和維護拓撲的可靠性,通過節(jié)點管理和維護本地的可靠性;當有新節(jié)點加入發(fā)布訂閱系統(tǒng)吋,根據(jù)節(jié)點本地存儲的預設的備份/恢復模式為全局備份/恢復模式,節(jié)點本地的可靠訂閱子模塊向可靠訂閱模塊發(fā)送節(jié)點加入消息;可靠訂閱模塊接收到節(jié)點加入消息,獲取所述節(jié)點的配置信息,根據(jù)所述節(jié)點的配置信息選擇ー個以上節(jié)點作為所述節(jié)點的備份節(jié)點,通知相應節(jié)點進行訂閱備份;當收到節(jié)點失效消息時,通過讀取可靠訂閱模塊中存儲的拓撲信息表獲得失效節(jié)點的備份節(jié)點,選擇優(yōu)先級最高的備份節(jié)點的訂閱備份進行訂閱恢復,如此,可保證發(fā)布訂閱系統(tǒng)中的節(jié)點不會因為故障而丟失,確保訂閱的可靠性,提升了用戶的體驗;且通過優(yōu)先級的選擇使拓撲中的各個節(jié)點的負載均衡。
另外,在終端與節(jié)點間的消息傳輸中,通過在待發(fā)送的消息中添加消息序列,并在希望收到確認的消息中插入AckRequested報頭;在接收到攜帶有AckRequested報頭的消息后,向消息發(fā)送端發(fā)送確認消息;如此,實現(xiàn)了在消息傳輸過程中的有序交付、接收保障,確保消息發(fā)送端發(fā)送的消息能成功抵達消息接收端,保障了消息傳輸?shù)目煽啃浴?br>

圖I為本發(fā)明發(fā)布訂閱系統(tǒng)中可靠性保障系統(tǒng)的組成架構示意圖;圖2為本發(fā)明中可靠訂閱模塊收到不同類型的消息后的處理方法流程示意圖;圖3為本發(fā)明中可靠訂閱子模塊在節(jié)點加入時的處理方法流程示意圖;
圖4為本發(fā)明中終端與節(jié)點間消息傳輸?shù)姆椒鞒淌疽鈭D。
具體實施例方式本發(fā)明的基本思想是將處在同一個局域網(wǎng)的代理組成ー個集群,在集群內(nèi)部選擇ー個代理作為集群代表,集群之間通過集群代表進行通信;每個集群內(nèi)部包含ー個以上的節(jié)點,節(jié)點可以是集群代表,也可以是集群代理;系統(tǒng)中有一個服務于整個發(fā)布訂閱環(huán)境的可靠訂閱模塊,負責管理和維護整個拓撲訂閱的可靠性;每個節(jié)點中有一個服務于節(jié)點本地的發(fā)布訂閱環(huán)境的可靠訂閱子模塊,負責管理和維護節(jié)點本地訂閱的可靠性。在節(jié)點的備份/恢復模式為全局備份/恢復模式吋,可靠訂閱模塊會根據(jù)所述節(jié)點的配置信息選擇ー個以上節(jié)點作為所述節(jié)點的備份節(jié)點,并通知相應節(jié)點進行訂閱備份;在節(jié)點失效時,可靠訂閱模塊讀取拓撲信息表獲得失效節(jié)點的備份節(jié)點,并通知所述失效節(jié)點的備份節(jié)點進行訂閱恢復;其中,可靠訂閱模塊中存儲有拓撲信息表,所述拓撲信息表中記錄了整個拓撲中的備份信息。一旦某ー節(jié)點失效,可通過讀取拓撲信息表獲知失效節(jié)點的備份節(jié)點,進而通知所述失效節(jié)點的備份節(jié)點進行訂閱恢復;其中,可靠訂閱子模塊中存儲有可靠鄰居表,可靠鄰居表中記錄了節(jié)點的備份情況,管理并維護節(jié)點本地訂閱的可靠性。下面結(jié)合附圖及具體實施例對本發(fā)明再作進ー步詳細的說明。圖I為本發(fā)明發(fā)布訂閱系統(tǒng)中可靠性保障系統(tǒng)的組成架構示意圖,如圖I所示,該可靠性保障系統(tǒng)包括可靠訂閱模塊11和節(jié)點中的可靠訂閱子模塊12 ;其中,所述可靠訂閱子模塊12,用于節(jié)點加入發(fā)布訂閱系統(tǒng)時,并在預設的備份/恢復模式為全局備份/恢復模式吋,向所述可靠訂閱模塊11發(fā)送節(jié)點加入消息;以及,對接收到的所述可靠訂閱模塊發(fā)送的通知消息進行訂閱備份;所述可靠訂閱模塊11,用于在接收到節(jié)點加入消息時,獲取所述節(jié)點的配置信息,根據(jù)所述節(jié)點的配置信息選擇ー個以上節(jié)點作為所述節(jié)點的備份節(jié)點,通知相應的節(jié)點進行訂閱備份,并更新拓撲信息表中的節(jié)點拓撲信息;優(yōu)選地,所述節(jié)點為集群代表或集群代理;所述節(jié)點為集群代表時,所述可靠訂閱子模塊12,還用于向所述可靠訂閱模塊11發(fā)送集群加入消息;相應的,所述可靠訂閱模塊11,還用于接收到集群加入消息時,獲取所述集群的配置信息,井根據(jù)所述集群的配置信息更新拓撲信息表中的集群拓撲信息。優(yōu)選地,所述可靠訂閱模塊11,還用于將所述節(jié)點的備份節(jié)點的信息通知所述節(jié)點的可靠訂閱子模塊12,將所述節(jié)點的信息通知所述節(jié)點的備份節(jié)點的可靠訂閱子模塊12 ;相應的,所述可靠訂閱子模塊12,還用于將自身的備份節(jié)點信息和將所述節(jié)點作為備份節(jié)點的其他節(jié)點的信息保存在本地的可靠鄰居表中;為所接收到的訂閱消息建立副本,并將訂閱消息副本發(fā)送給所述節(jié)點的備份節(jié)點作為訂閱備份。優(yōu)選地,所述可靠訂閱模塊11,還用于在接收到所述節(jié)點失效消息吋,從拓撲信息表中獲取失效節(jié)點的備份節(jié)點,向優(yōu)先級最高的備份節(jié)點的可靠訂閱子模塊12發(fā)送對所述失效節(jié)點進行訂閱恢復的通知消息,并更新拓撲信息表;相應的,所述優(yōu)先級最高的備份節(jié)點的可靠訂閱子模塊12,還用于對所述失效節(jié)點進行訂閱恢復。 相應的,所述系統(tǒng)還包括管理者模塊,用于檢測失效節(jié)點,井向可靠訂閱模塊11發(fā)送節(jié)點失效消息。這里,備份節(jié)點的優(yōu)先級由拓撲信息和節(jié)點負載能力決定,同一集群內(nèi)的備份節(jié)點的優(yōu)先級高于不同集群間的備份節(jié)點的優(yōu)先級,負載能力強的備份節(jié)點的優(yōu)先級高于負載能力弱的備份節(jié)點的優(yōu)先級;例如Groupl中的備份節(jié)點的優(yōu)先級高于Group2中的備份節(jié)點的優(yōu)先級。優(yōu)選地,所述可靠訂閱子模塊12,還用于接收到備份節(jié)點的可靠訂閱子模塊12發(fā)送的備份消息吋,將所述備份節(jié)點的信息添加到所述可靠鄰居表中的備份節(jié)點信息中;在接收到新訂閱消息吋,為所述新訂閱消息建立副本,從所述可靠鄰居表中獲取所述節(jié)點的備份節(jié)點,并將新訂閱消息副本發(fā)送給所述節(jié)點的備份節(jié)點作為訂閱備份。 優(yōu)選地,所述可靠訂閱子模塊12,還用于在預設的備份/恢復模式為本地備份/恢復模式吋,為所接收到的訂閱消息建立副本作為所述節(jié)點訂閱備份,并在本地保存所述節(jié)點的訂閱備份;還用于當所述節(jié)點失效時,讀取所述本地保存的訂閱備份進行訂閱恢復。優(yōu)選地,所述可靠訂閱子模塊12,還用于在接收到新訂閱消息時,為所接收到的新訂閱消息建立副本,并作為所述節(jié)點當前的訂閱備份,同時刪除之前的訂閱備份。優(yōu)選地,該可靠性保障系統(tǒng)還包括可靠Web消息模塊,用于在待發(fā)送的消息中添加消息序列,并在希望接收到確認的消息中插入AckRequested報頭;用于在接收到攜帶有AckRequested報頭的消息后,返回確認消息。為實現(xiàn)上述系統(tǒng),本發(fā)明還提供了了ー種發(fā)布訂閱系統(tǒng)中可靠性保障方法,該方法包括在節(jié)點加入發(fā)布訂閱系統(tǒng)吋,并在預設的備份/恢復模式為全局備份/恢復模式時,節(jié)點本地的可靠訂閱子模塊向可靠訂閱模塊發(fā)送節(jié)點加入消息;可靠訂閱模塊接收到節(jié)點加入消息時,獲取所述節(jié)點的配置信息,根據(jù)所述節(jié)點的配置信息選擇ー個以上節(jié)點作為所述節(jié)點的備份節(jié)點,通知相應節(jié)點進行訂閱備份,并更新拓撲信息表中的節(jié)點拓撲信息。這里,所述節(jié)點的配置信息在所述節(jié)點本地存儲,所述備份/恢復模式為預先設置;其中,所述節(jié)點的配置信息包括節(jié)點的IP地址、節(jié)點所屬的集群號、節(jié)點號、節(jié)點備份能力信息;所述節(jié)點備份能力信息具體為當前節(jié)點所能承受的備份信息量。優(yōu)選地,所述節(jié)點為集群代表或集群代理;所述節(jié)點為集群代表時,在所述節(jié)點本地的可靠訂閱子模塊向可靠訂閱模塊發(fā)送節(jié)點加入消息以前,該方法還包括所述可靠訂閱子模塊向所述可靠訂閱模塊發(fā)送集群加入消息;所述可靠訂閱模塊接收到所述集群加入消息時,獲取所述集群的配置信息,井根據(jù)所述集群的配置信息更新拓撲信息表中的集群拓撲信息。這里,當所述節(jié)點作為集群代表要加入拓撲吋,需先發(fā)送集群加入消息,再發(fā)送節(jié)點加入消息。
、
這里,所述集群的配置信息包括集群號、節(jié)點號、節(jié)點的備份能力信息。表I為本發(fā)明可靠訂閱模塊中的拓撲信息表的不意表;如表I所不,假設系統(tǒng)中包括兩個集群,所述集群名稱分別為Groupl和Group2,Groupl中包含有節(jié)點A、節(jié)點B和節(jié)點C三個節(jié)點,Group2中包含有節(jié)點D和節(jié)點E兩個節(jié)點,以節(jié)點A為例,節(jié)點A將訂閱消息副本發(fā)送給節(jié)點B和節(jié)點D,則節(jié)點B和節(jié)點D為節(jié)點A的備份節(jié)點,同時節(jié)點C將訂閱消息副本發(fā)送給節(jié)點A,則節(jié)點A為節(jié)點C的被備份節(jié)點;其余四個節(jié)點的備份情況和被備份情況的得出過程與節(jié)點A相同,得到如表I中所述的拓撲信息表在Groupl中,節(jié)點A的備份節(jié)點為節(jié)點B和節(jié)點D,被備份節(jié)點為節(jié)點C ;節(jié)點B的備份節(jié)點為節(jié)點C和節(jié)點E,被備份節(jié)點為節(jié)點A和節(jié)點D ;節(jié)點C的備份節(jié)點為節(jié)點A和節(jié)點D,被備份節(jié)點為節(jié)點B和節(jié)點E ;在Group2中,節(jié)點D的備份節(jié)點為節(jié)點E和節(jié)點B,被備份節(jié)點為節(jié)點A、節(jié)點C和節(jié)點E ;節(jié)點E的備份節(jié)點為節(jié)點D和節(jié)點C,被備份節(jié)點為節(jié)點B和節(jié)點D ;
拓撲信息表
節(jié)點Ciroup Γ 備份Ti點被備份節(jié)點
XIB.:.........DC
BII C, E ' A, D
廠1IA F\D U
IIJ~\、 JL/JD、 XZr
D2「 E、BA、C、E E2「 D、CB, D表I優(yōu)選地,所述通知相應節(jié)點進行訂閱備份具體為所述可靠訂閱模塊將所述節(jié)點的備份節(jié)點的信息通知所述節(jié)點的可靠訂閱子模塊,將所述節(jié)點的信息通知所述節(jié)點的備份節(jié)點的可靠訂閱子模塊;所述可靠訂閱子模塊將所述節(jié)點的備份節(jié)點信息和將所述節(jié)點作為備份節(jié)點的其他節(jié)點的信息保存在本地的可靠鄰居表中;
所述可靠訂閱子模塊為所接收到的訂閱消息建立副本,并將訂閱消息副本發(fā)送給所述節(jié)點的備份節(jié)點的可靠訂閱子模塊作為訂閱備份。這里,所述備份節(jié)點信息和所述節(jié)點作為備份節(jié)點的其他節(jié)點的信息包括節(jié)點的IP地址、節(jié)點所屬的集群名和節(jié)點名等信息。表2為本發(fā)明節(jié)點中的可靠鄰居表的示意表,如表2所示,可靠鄰居表中包含備份鄰居表和被備份鄰居表兩張表格,其中,表2(a)為備份鄰居表,表示當前節(jié)點將訂閱備份保存在備份節(jié)點中。備份鄰居表中包含當前節(jié)點的備份節(jié)點信息,包括備份節(jié)點的IP地址、集群名和節(jié)點名;例如當前節(jié)點的備份節(jié)點名稱為Brokerl,其所在集群名稱為Groupl,備份節(jié)點的IP地址為192. 168. I. 15。表2(b)為被備份鄰居表,表示其他節(jié)點將當前節(jié)點作為備份節(jié)點,將訂閱備份保存在當前節(jié)點中。被備份鄰居表中包含被備份節(jié)點的IP地址、集群名和節(jié)點名。
權利要求
1.一種發(fā)布訂閱系統(tǒng)中可靠性保障系統(tǒng),其特征在于,該可靠性保障系統(tǒng)包括可靠訂閱模塊和節(jié)點中的可靠訂閱子模塊;其中,所述可靠訂閱子模塊,用于在節(jié)點加入發(fā)布訂閱系統(tǒng)時,并在預設的備份/恢復模式為全局備份/恢復模式時,向所述可靠訂閱模塊發(fā)送節(jié)點加入消息;以及,對接收到的所述可靠訂閱模塊發(fā)送的通知消息進行訂閱備份;所述可靠訂閱模塊,用于在接收到所述節(jié)點加入消息時,獲取所述節(jié)點的配置信息,根據(jù)所述節(jié)點的配置信息選擇一個以上節(jié)點作為所述節(jié)點的備份節(jié)點,通知相應的節(jié)點進行訂閱備份,并更新拓撲信息表中的節(jié)點拓撲信息。
2.根據(jù)權利要求I所述的可靠性保障系統(tǒng),其特征在于,所述節(jié)點為集群代表或集群代理;所述節(jié)點為集群代表時,所述可靠訂閱子模塊,還用于向所述可靠訂閱模塊發(fā)送集群加入消息;相應的,所述可靠訂閱模塊,還用于接收到所述集群加入消息時,獲取所述集群的配置信息,并根據(jù)所述集群的配置信息更新拓撲信息表中的集群拓撲信息。
3.根據(jù)權利要求I或2所述的可靠性保障系統(tǒng),其特征在于,所述可靠訂閱模塊,還用于將所述節(jié)點的備份節(jié)點的信息通知所述節(jié)點的可靠訂閱子模塊,將所述節(jié)點的信息通知所述節(jié)點的備份節(jié)點的可靠訂閱子模塊;相應的,所述可靠訂閱子模塊,還用于將節(jié)點的備份節(jié)點信息和將所述節(jié)點作為備份節(jié)點的其他節(jié)點的信息保存在本地的可靠鄰居表中;為所接收到的訂閱消息建立副本,并將訂閱消息副本發(fā)送給所述節(jié)點的備份節(jié)點作為訂閱備份。
4.根據(jù)權利要求I或2所述的可靠性保障系統(tǒng),其特征在于,所述可靠訂閱模塊,還用于在接收到所述節(jié)點失效消息時,從拓撲信息表中獲取失效節(jié)點的備份節(jié)點,向優(yōu)先級最高的備份節(jié)點的可靠訂閱子模塊發(fā)送對所述失效節(jié)點進行訂閱恢復的通知消息,并更新拓撲信息表;相應的,所述優(yōu)先級最高的備份節(jié)點的可靠訂閱子模塊,還用于對所述失效節(jié)點進行訂閱恢復。
5.根據(jù)權利要求I或2所述的可靠性保障系統(tǒng),其特征在于,所述可靠訂閱子模塊還用于,接收到備份節(jié)點的可靠訂閱子模塊發(fā)送的備份消息時,將所述備份節(jié)點的信息添加到所述可靠鄰居表中的備份節(jié)點信息中;接收到新訂閱消息時,為所述新訂閱消息建立副本,從所述可靠鄰居表中獲取所述節(jié)點的備份節(jié)點,并將新訂閱消息副本發(fā)送給所述節(jié)點的備份節(jié)點作為訂閱備份。
6.根據(jù)權利要求I所述的可靠性保障系統(tǒng),其特征在于,所述可靠訂閱子模塊,還用于在預設的備份/恢復模式為本地備份/恢復模式時,為所接收到的訂閱消息建立副本作為所述節(jié)點的訂閱備份,并在本地保存所述節(jié)點的訂閱備份;還用于當所述節(jié)點失效時,讀取所述本地保存的訂閱備份進行訂閱恢復。
7.根據(jù)權利要求6所述的可靠性保障系統(tǒng),其特征在于,所述可靠訂閱子模塊,還用于接收到新訂閱消息時,為所接收到的新訂閱消息建立副本,并作為所述節(jié)點當前的訂閱備份,同時刪除之前的訂閱備份。
8.根據(jù)權利要求3、5或7所述的可靠性保障系統(tǒng),其特征在于,該系統(tǒng)還包括可靠 Web消息模塊,用于在待發(fā)送的消息中添加消息序列,并在希望接收到確認的消息中插入 AckRequested報頭;用于在接收到攜帶有AckRequested報頭的消息后,返回確認消息。
9.一種發(fā)布訂閱系統(tǒng)中可靠性保障方法,其特征在于,該方法包括在節(jié)點加入發(fā)布訂閱系統(tǒng)時,并在預設的備份/恢復模式為全局備份/恢復模式時,節(jié)點本地的可靠訂閱子模塊向可靠訂閱模塊發(fā)送節(jié)點加入消息;可靠訂閱模塊接收到節(jié)點加入消息時,獲取所述節(jié)點的配置信息,根據(jù)所述節(jié)點的配置信息選擇一個以上節(jié)點作為所述節(jié)點的備份節(jié)點,通知相應節(jié)點進行訂閱備份,并更新拓撲信息表中的節(jié)點拓撲信息。
10.根據(jù)權利要求9所述的方法,其特征在于,所述節(jié)點為集群代表或集群代理;所述節(jié)點為集群代表時,在所述節(jié)點本地的可靠訂閱子模塊向可靠訂閱模塊發(fā)送節(jié)點加入消息以前,該方法還包括所述可靠訂閱子模塊向所述可靠訂閱模塊發(fā)送集群加入消息;所述可靠訂閱模塊接收到所述集群加入消息時,獲取所述集群的配置信息,并根據(jù)所述集群的配置信息更新拓撲信息表中的集群拓撲信息。
11.根據(jù)權利要求9或10所述的方法,其特征在于,所述通知相應節(jié)點進行訂閱備份為所述可靠訂閱模塊將所述節(jié)點的備份節(jié)點的信息通知所述節(jié)點的可靠訂閱子模塊,將所述節(jié)點的信息通知所述節(jié)點的備份節(jié)點的可靠訂閱子模塊;所述可靠訂閱子模塊將所述節(jié)點的備份節(jié)點信息和將所述節(jié)點作為備份節(jié)點的其他節(jié)點的信息保存在本地的可靠鄰居表中;所述可靠訂閱子模塊為所接收到的訂閱消息建立副本,并將訂閱消息副本發(fā)送給所述節(jié)點的備份節(jié)點的可靠訂閱子模塊作為訂閱備份。
12.根據(jù)權利要求9或10所述的方法,其特征在于,該方法還包括所述可靠訂閱模塊接收到所述節(jié)點失效消息時,從拓撲信息表中獲取失效節(jié)點的備份節(jié)點,通知優(yōu)先級最高的備份節(jié)點的可靠訂閱子模塊對所述失效節(jié)點進行訂閱恢復,并更新拓撲信息表。
13.根據(jù)權利要求9或10所述的方法,其特征在于,該方法還包括所述可靠訂閱子模塊接收到備份節(jié)點的可靠訂閱子模塊發(fā)送的備份消息時,將所述備份節(jié)點的信息添加到所述可靠鄰居表中的備份節(jié)點信息中;所述可靠訂閱子模塊接收到新訂閱消息時,為所述新訂閱消息建立副本,從所述可靠鄰居表中獲取所述節(jié)點的備份節(jié)點,并將新訂閱消息副本發(fā)送給所述節(jié)點的備份節(jié)點的可靠訂閱子模塊作為訂閱備份。
14.根據(jù)權利要求9所述的方法,其特征在于,所述預設的備份/恢復模式為本地備份 /恢復模式時,該方法還包括所述可靠訂閱子模塊為所接收到的訂閱消息建立副本作為所述節(jié)點的訂閱備份,并在本地保存所述節(jié)點的訂閱備份。
15.根據(jù)權利要求14所述的方法,其特征在于,該方法還包括所述節(jié)點失效時,可靠訂閱子模塊讀取所述節(jié)點本地保存的訂閱備份進行訂閱恢復;所述可靠訂閱子模塊接收到新訂閱消息時,為所接收到的新訂閱消息建立副本,并作為所述節(jié)點當前的訂閱備份,同時刪除之前的訂閱備份。
16.根據(jù)權利要求11、13或15所述的方法,其特征在于,該方法還包括在終端與所述可靠訂閱子模塊之間進行消息傳輸過程中,消息發(fā)送端在待發(fā)送的消息中添加消息序列,并在希望接收到確認的消息中插入應答需求AckRequested報頭;消息接收端在接收到攜帶有AckRequested報頭的消息后,向消息發(fā)送端發(fā)送確認消
全文摘要
本發(fā)明公開了一種發(fā)布訂閱系統(tǒng)中可靠性保障方法,該方法包括在節(jié)點加入發(fā)布訂閱系統(tǒng)時,并在預設的備份/恢復模式為全局備份/恢復模式時,節(jié)點本地的可靠訂閱子模塊向可靠訂閱模塊發(fā)送節(jié)點加入消息;可靠訂閱模塊接收到節(jié)點加入消息時,獲取所述節(jié)點的配置信息,根據(jù)所述節(jié)點的配置信息選擇一個以上節(jié)點作為所述節(jié)點的備份節(jié)點,通知相應節(jié)點進行訂閱備份,并更新拓撲信息表中的節(jié)點拓撲信息。本發(fā)明還公開了一種發(fā)布訂閱系統(tǒng)中可靠性保障系統(tǒng),采用本發(fā)明的技術方案,保證拓撲中的節(jié)點不會因為故障而丟失,保障訂閱的可靠性,提升了用戶的體驗。
文檔編號H04L29/08GK102984174SQ20121056097
公開日2013年3月20日 申請日期2012年12月21日 優(yōu)先權日2012年12月21日
發(fā)明者章洋, 陳俊亮, 郭文琪 申請人:北京郵電大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1