新四季網

即時通信系統的集群伺服器和集群間通信的方法

2023-06-17 01:51:56 2

專利名稱:即時通信系統的集群伺服器和集群間通信的方法
技術領域:
本發明涉及網際網路技術領域,尤其是指一種即時通信系統的集群伺服器和 集群間通信的方法。
背景技術:
隨著網絡技術的發展,可以使得人們之間的相互聯絡和溝通日益方便的即
時通信(Instance Messaging)系統逐漸被用戶所認可和接受,作為網際網路即時 和他人聯繫的一種方式,即時通信具有互動性強、價格便宜等特點,因此能夠 在短時間內得到廣泛普及,其中現在人們廣泛使用的即時通訊系統包括有QQ、 MSN等。
隨著即時通信系統中用戶量的急劇增加,系統狀態廣播消息和即時消息也 越來越多,系統伺服器需要處理數據的任務量越來越大,採用一臺資料庫結構 的伺服器已不能承受該高數量和高任務量的通訊需求,因此多數據伺服器DB (Database Server)的集群化系統應運而生。
在伺服器集群化系統中,多臺伺服器組合集中起來進行同一種服務,每一 集群伺服器分別為多個用戶提供服務,各集群伺服器間相互通訊,實現不同集 群之間的數據通訊連接。
現有即時通信系統採用集群伺服器的通訊方式中,集群伺服器為歸屬於該 集群伺服器的即時通信伺服器分配地址和帳號,使歸屬於該不同集群伺服器的 即時通信伺服器之間能夠利用所分配地址和帳號進行數據傳輸。另外,屬於不 同集群伺服器的客戶端用戶從相應集群伺服器獲得集群間廣播消息,以及將當 前服務狀態上報至其所對應的集群伺服器,並從集群伺服器獲得其他集群服務 器內客戶端用戶的當前服務狀態,
然而隨著客戶端用戶數量的不斷增多,集群間的廣播消息也越來越多,即 時通信系統的性能受到很大影響,同時會極大限制整個系統所能承載的客戶端用戶數量,因此當前的技術發展趨勢勢必要求集群化系統的數據處理能力不斷 提高。

發明內容
本發明技術方案的目的是提供一種即時通信系統中的集群伺服器和集群 間通信的方法,通過對集群間消息進行分類處理,達到有效利用集群間的網絡
帶寬、提高通信效率以及提高整個即時通信系統的承載能力的目的。
為實現上述目的,本發明具體實施例一方面提供一種即時通信系統的集群 伺服器,用於集群化的即時通信系統,所述即時通信系統包括至少兩個所述集 群伺服器,所述集群伺服器內包括即時通信伺服器和客戶端用戶,所述集群服
務器包括
存儲單元,用於保存本集群客戶端用戶訂閱外集群客戶端用戶呈現狀態的 第 一訂閱信息,以及所述外集群客戶端用戶訂閱所述本集群客戶端用戶呈現狀 態的第二訂閱信息;
信息分類單元,用於判斷所述本集群客戶端用戶與所述外集群客戶端用戶 之間發送的通信消息是否為狀態呈現相關消息;
信息發送單元,用於當所述通信消息為狀態呈現相關消息時,根據所述第 一訂閱信息或所述第二訂閱信息發送所述通信消息。
優選地,上述所述的集群伺服器,所述第一訂閱信息用於記錄本集群第一 客戶端用戶與外集群內第二即時通信伺服器之間的對應關係,其中所述第 一客 戶端用戶訂閱呈現狀態的所述外集群客戶端用戶登錄於所述第二即時通信服 務器;所述第二訂閱信息用於記錄所述第一客戶端用戶與外集群的第二集群服 務器之間的對應關係,其中所述第二集群伺服器內的所述外集群客戶端用戶訂 閱所述第 一客戶端用戶的呈現狀態。
優選地,上述所述的集群伺服器,所述信息分類單元判斷所述第一客戶端 用戶發送至所述外集群客戶端用戶的第 一通信消息為狀態呈現相關消息時,所 述信息發送單元根據所述第二訂閱信息,將所述第一通信消息發送至所述第二 集群伺服器;
所述信息分類單元判斷所述外集群客戶端發送至本集群的第二通信消息為狀態呈現相關消息,且所述第二通信消息的發送端為所述第二即時通信服務 器時,所述信息發送單元才艮據所述第一訂閱信息,將所述第二通信消息發送至 所述第一客戶端用戶所登錄的第一即時通信伺服器。
優選地,上述所述的集群伺服器,所述集群伺服器還包括
對外通信接口單元,用於提供與外集群之間的通信接口 ;
用戶分配單元,用於為所述本集群客戶端用戶分配相應的即時通信服務
器;
所述信息發送單元還用於所述第一通信消息為非狀態呈現相關消息時, 通過所述對外通信接口單元查詢所述第一通信消息的目的接收用戶所屬的第 三集群伺服器,將所述第一通信消息發送至所述第三集群伺服器;所述第二通 信消息為非狀態呈現相關消息時,通過所述用戶分配單元獲得所述第二通信消 息的目的接收用戶所登錄的第三即時通信伺服器,將所述第二通信消息發送至 所述第三即時通信伺服器。
優選地,上述所述的集群伺服器,所述信息分類單元還用於,在發送所述 第一通信消息前,判斷所述第一通信消息是否為非實時消息。
優選地,上述所述的集群伺服器,所述信息發送單元還用於所述第一通 信消息為非實時消息時,將所述第一通信消息保存於相對應的消息發送等待隊 列中,當所述消息發送等待隊列的長度達到一預設值時,壓縮所述消息發送等 待隊列為 一複合消息後發送。
優選地,上述所述的集群伺服器,所述信息發送單元還用於當所述第二 通信消息為複合消息時,在通過所述信息分類單元判斷所述第二通信消息是否 為狀態呈現消息之前,所述信息發送單元將所述第二通信消息解析為多個獨立 的消息。
優選地,上述所述的集群伺服器,所述集群伺服器與一全局伺服器通訊連 接,通過所述全局伺服器查詢所述外集群客戶端用戶所屬的相對應集群服務 器。
本發明另 一方面還提供一種即時通信中集群間通信的方法,用於包括即時 通信終端、即時通信伺服器和集群伺服器的即時通信系統中,所述方法包括 獲得本集群客戶端用戶與外集群客戶端用戶之間發送的通信消息;所述通信消息為狀態呈現相關消息,根據預先保存的所述本集群客戶端用 戶訂閱所述外集群客戶端用戶呈現狀態的第 一訂閱信息,或者根據所述外集群 客戶端用戶訂閱所述本集群客戶端用戶呈現狀態的第二訂閱信息,發送所述通 信消息。
優選地,上述所述的方法,所述第一訂閱信息用於記錄本集群第一客戶端 用戶與外集群內第二即時通信伺服器之間的對應關係,其中所述第 一客戶端用
戶訂閱呈現狀態的所述外集群客戶端用戶登錄於所述第二即時通信伺服器;所 述第二訂閱信息用於記錄所述第一客戶端用戶與外集群的第二集群伺服器之
間的對應關係,其中所述第二集群伺服器內的所述外集群客戶端用戶訂閱所述 第一客戶端用戶的呈現狀態。
上述技術方案所述集群伺服器和集群間通信方法中的至少一個技術特徵 具有以下有益效果
通過保存本集群客戶端用戶訂閱外集群客戶端狀態的第 一訂閱信息以及 保存外集群客戶端訂閱本集群該客戶端用戶狀態的第二訂閱信息,並對本集群 客戶端與外集群客戶端之間發送的通信消息進行分類處理,該通信消息為狀態 呈現相關消息時,查閱預先保存的相關訂閱信息,即能夠獲得通信消息的所有 目的接收端地址,從而避免集群伺服器反覆處理大量狀態廣播消息,影響系統 數據處理能力的問題,因而能夠使得集群間的網絡帶寬得到有效利用,通信效
率提高;
所述第 一訂閱信息和第二訂閱信息,將本集群客戶端用戶訂閱外集群客戶 端狀態的訂閱關係擴大至本集群客戶端用戶與外集群內即時通信伺服器之間 的關係,將外集群客戶端訂閱本集群該客戶端用戶狀態的關係擴大至外集群服 務器與本集群客戶端用戶之間的關係,使得本集群客戶端用戶與外集群客戶端 用戶之間狀態呈現的公共消息,均只需要發送一條即可,從而有效減少集群間 傳送的消息總數量和總長度,避免網絡擁塞;
此外,還進一步將消息劃分為實時消息和非實時消息,對於非實時消息, 將所接收消息先保存於欲發送至同一目的接收端的消息發送等待隊列中,當該 消息發送等待隊列的長度達到一預設值時,壓縮該消息發送等待隊列為 一集合 消息後再發送,這樣有效的減少集群間發送消息的總數量和總消息長度,進一步達到有效利用集群間的網絡帶寬,提高通信效率的效果。


圖1為採用本發明具體實施例所述集群伺服器的即時通信系統的結構連
接示意圖2為說明配置圖1所述即時通信系統的流程示意圖3為說明採用圖1所述即時通信系統,集群間進行通信的過程示意圖4為本發明具體實施例所述集群伺服器的結構示意圖5為說明採用本發明具體實施例所述集群伺服器的即時通信系統,發送
非PS相關消息的流程示意圖6為說明採用本發明具體實施例所述集群伺服器的即時通信系統,發送
PS相關消息的流程示意圖7為本發明具體實施例所述方法的流程示意圖。
具體實施例方式
為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖及具體實 施例對本發明進4亍詳細描述。
本發明具體實施例所述用於即時通信系統中的集群伺服器、集群間通信的 系統和方法,集群伺服器在獲得本集群客戶端用戶發送至外集群客戶端用戶的 消息,以及獲得外集群客戶端用戶發送至本集群客戶端用戶的消息時,對收到 的消息進行分類處理,將消息按類型分為狀態呈現(PS, Present Service)相 關消息或非狀態呈現(非PS)相關消息,同時根據消息的特點,PS相關消息 和非PS相關消息又可進一步劃分為實時消息或非實時消息,不同的消息種類 採用不同的處理方式,達到有效利用集群間的網絡帶寬,提高通信效率,同時 也減少集群間傳送的消息總數量和總長度,有效避免網絡擁塞的效果。
為使本領域技術人員 清楚了解本發明具體實施例戶斤述系糹克禾口方法,在止匕先 對"PS相關消息和非PS相關消息"以及"實時消息"和"非實時消息"進行 說明。在即時通信系統中,"PS相關消息"是指與客戶端用戶在線呈現狀態相 關的消息,本領域技術人員可以理解,對於QQ和MSN等該些即時通訊軟體上的用戶,當前狀態會時常發生改變,因此客戶端用戶的狀態相關信息需要時
常反映至訂閱該客戶端用戶狀態的好友用戶;很容易理解,"非PS相關消息"
則是指不涉及客戶端用戶當前狀態的消息。"實時消息"是指需要實時發送的 消息,"非實時消息"是指不需要實時發送的消息。
圖1為採用本發明具體實施例所述集群伺服器的即時通信系統的結構連
接示意圖,參閱圖l,所述即時通信系統包括
多個即時通信終端10,用於即時通信系統中至少一客戶端用戶的登錄; 多個即時通信伺服器20,其中至少有一即時通信終端登錄於一即時通信
伺服器,用於為客戶端用戶提供即時通信服務;
多個集群伺服器30,每一集群伺服器包括至少兩個即時通信伺服器20,
同一集群內的即時通信伺服器20登錄到同 一個集群伺服器30,集群伺服器30
用於為下屬的即時通信伺服器20分配客戶端用戶,並提供與其他集群之間的
通信接口 ;
全局伺服器40,用於存儲客戶端用戶和客戶端用戶所屬的集群伺服器30
之間的對應關係,每一集群伺服器30均連結於該全局伺服器40,通過該全局
伺服器40獲知每一客戶端用戶所對應的集群伺服器30的地址。
上述的所述即時通信中集群間通信的系統構成以全局伺服器40為中心的
多數據伺服器DB ( Database Server)的集群化系統,全局伺服器40為即時通
信系統中的每一集群伺服器編號,保證每一集群伺服器在即時通信系統中的唯
一性;另外還對集群內的每一即時通信伺服器編號,保證每一即時通信伺服器
在該集群內的唯一性。
如圖2所示,採用所述即時通信系統,形成以全局伺服器40為中心的多 DB集群化系統的配置過程包括
步驟S201,所有集群伺服器30根據配置信息登錄至全局伺服器40;
步驟S202,每一集群伺服器30從全局伺服器40獲取其他集群伺服器的 地址信息,並同其他集群伺服器30建立網絡連接;
步驟S203,屬於某一集群內的即時通信伺服器20和該即時通信伺服器20 所在的集群伺服器30建立網絡連接。
通過上述的配置,構成包括即時通信伺服器20、集群伺服器30和全局伺服器40多層結構的多DB集群化系統,利用上述的即時通信系統,集群間進 行通信的執行過程如圖3所示,包括
步驟S301,客戶端用戶登錄一即時通信終端10,該客戶端用戶所屬的集 群伺服器30為該客戶端用戶分配一即時通信伺服器20;
步驟S302,該客戶端用戶與外集群用戶通信,該客戶端用戶所屬的即時 通信伺服器20向該客戶端用戶所登錄的集群伺服器30查詢該客戶端用戶所通 信的外集群用戶所歸屬集群的地址;
步驟S303,集群伺服器30向全局伺服器40查詢,確認該外集群用戶屬 於哪一個集群,並將查詢到的地址信息反饋至即時通信伺服器20;
步驟S304,即時通信伺服器20利用接收到的地址信息,通過該客戶端用 戶所登錄的集群伺服器30,向該客戶端用戶所通信外集群用戶歸屬的集群服 務器30發送消息。
通過上述過程,可類推得出外集群用戶向客戶端用戶發送信息的執行步 驟,在此不再詳述。這樣,通過上述的通信過程,可以實現即時通信系統中集 群間的相互通訊。
在本發明具體實施例中,為提供即時通信系統的通訊效率和承載能力,所 述系統中的即時通信伺服器20在通過所歸屬的集群伺服器30向外集群客戶端 發送消息,或者在收到外集群客戶端發送至本集群客戶用戶的消息時,將消息 區分為PS相關消息或非PS相關消息,同時根據消息的特點,PS相關消息和 非PS相關消息又進一步劃分為實時消息或非實時消息,不同的消息種類採用 不同的處理方式。
以本集群內客戶端用戶所對應集群伺服器為第 一集群伺服器,外集群用戶
端所對應集群伺服器為第二集群伺服器為例,以下將對本發明具體實施例所述 集群伺服器的結構進行詳細說明,但本領域技術人員可以理解,參閱圖1,所 述系統內的集群伺服器的數量並不限於為兩個,在此僅是為了清楚說明而已。 如圖4為本發明具體例實施例所述集群伺服器(第一集群伺服器)30的 結構示意圖,參閱圖4,該集群伺服器(第一集群伺服器)30包括 對外通信接口單元31,用於提供與外集群之間的通信接口 ; 用戶分配單元32,用於為本集群的所述即通信伺服器分配所述客戶端用戶,並記錄所述客戶端用戶與所述客戶端用戶所屬所述即通信伺服器之間的對 應關係;
存儲單元33,用於保存本集群內客戶端用戶訂閱外集群客戶端的呈現狀 態的第 一訂閱信息,以及用於保存所述外集群客戶端訂閱所述客戶端用戶的呈
現狀態的第二訂閱信息;具體地,該第一訂閱信息用於記錄本集群內的第一客 戶端用戶與外集群的第二即時通信伺服器之間的對應關係,其中該第二即時通 信伺服器是該第 一客戶端用戶訂閱狀態信息為外集群內第二客戶端用戶時,該
第二客戶端用戶所登錄的即時通信伺服器;所述第二訂閱信息用於記錄所述第
一客戶端用戶與外集群內第二集群伺服器之間的對應關係,其中該第二集群服 務器為訂閱所述第 一客戶端用戶的狀態信息的集群伺服器。
信息接收單元36,用於接收本集群客戶端用戶與外集群客戶端用戶之間 發送的消息;
信息分類單元34,用於判斷本集群客戶端用戶與外集群客戶端用戶之間 發送的消息為狀態呈現相關消息還是非狀態呈現相關消息;
信息發送單元35,用於當本集群客戶端用戶與外集群客戶端用戶之間 發送的消息為狀態呈現相關消息時,根據所述第一訂閱信息或所述第二訂閱信 息,發送該消息。
具有上述結構的通信伺服器30,通過保存第一訂閱信息以及第二訂閱信 息,並對本集群客戶端與外集群客戶端之間發送的通信消息進行分類處理,當 通信消息為狀態呈現相關消息時,查閱預先保存的相關訂閱信息,即能夠獲得 通信消息的所有目的接收端地址,從而避免集群伺服器反覆處理大量狀態廣播 消息,影響系統數據處理能力的問題,使得集群間的網絡帶寬得到有效利用,
通信效率得到提高。
具體地,所述信息發送單元35發送通信消息的方式為當本集群內的第
一客戶端用戶通過所登錄的第一即時通信伺服器(如圖4中的本集群即時通信
伺服器201)發送的第一通信消息為狀態呈現相關消息時,查詢所述第二訂閱
信息,將所述第一通信消息發送至第二集群伺服器(如圖4中的外集群伺服器
301);當為非狀態呈現相關消息時,則通過所述對外通信接口單元31查詢所
述第一通信消息的目的接收用戶所屬的第三集群伺服器,將所述第一通信消息發送至所述第三集群伺服器。
當接收外集群發送至本集群的第二通信消息,且確定所述第二通信消息的 發送伺服器為所述第二即時通信伺服器時,查詢所述第一訂閱信息,將所述第 二通信消息發送至所述第 一即時通信伺服器;當所述第二通信消息為非狀態呈 現相關消息時,則通過所述用戶分配單元獲得所述第二通信消息的目的接收用 戶所屬的第三即時通信伺服器,將所述第二通信消息發送至所述第三即時通信 伺服器。
所述集群伺服器30通過保存該第一訂閱信息和該第二訂閱信息,且將本 集群客戶端用戶訂閱外集群客戶端狀態的訂閱關係擴大至本集群客戶端用戶 與外集群內即時通信伺服器之間的關係,將外集群客戶端訂閱本集群該客戶端 用戶狀態的關係擴大至外集群伺服器與本集群客戶端用戶之間的關係,這樣當 本集群內客戶端用戶的狀態改變時,不管被多少外集群客戶端訂閱,只需要通 過本集群的集群伺服器向外集群客戶端所屬的相應集群伺服器發送一條公共 消息即可;當外集群客戶端的狀態改變時,不管本集群內的多少客戶端用戶訂 閱該外集群客戶端的狀態信息,本集群的集群伺服器只需要向相應的即時通信 伺服器發送一條^^共消息即可,從而達到有效利用集群間的網絡帶寬,提高通 信效率,同時也減少集群間傳送的消息總數量和總長度,有效避免網絡擁塞的 效果。
此外,本發明具體實施例所述集群伺服器30的信息分類單元34在將各集 群之間發送的消息劃分為PS相關信息和非PS相關信息的基礎上,還進一步 將消息劃分為實時消息和非實時消息,對於實時消息,則依據上述的方法,在 接收到消息後,實時發送至對應的接收端;對於非實時消息,則將所接收消息 先保存於欲發送至同一目的接收端的消息發送等待隊列中,當該消息發送等待 隊列的長度達到一預設值時,壓縮該消息發送等待隊列為一集合消息後發送, 這樣有效的減少集群間發送消息的總數量和總消息長度,進一步達到有效利用 集群間的網絡帶寬,提高通信效率的效果。
基於上述,圖4所述集群伺服器30中的信息接收單元36接收到的外集群 發送的所述第二通信消息可能為一為複合消息,因此該信息接收單元36還用 於判斷該第二通信消息是否為複合消息;而信息發送單元35還用於當所述第二通信消息為複合消息時,將所述第二通信消息解析為多個獨立的通信消 息,之後信息發送單元35對每一獨立的通信消息進行分類處理。
以下將對採用本發明具體實施例所述集群伺服器的即時通信系統在依據 上述的消息劃分方法時,進行消息處理的過程進行詳細描述。圖5為採用本發
明具體實施例所述集群伺服器的即時通信系統發送非PS相關消息的流程示意 圖;圖6為採用本發明具體實施例所述集群伺服器的即時通信系統發送PS相 關消息的流程示意圖。
參閱圖5,為方便理解,將本集群稱之為第一集群,將本集群內的用戶稱 之為第一客戶端用戶,將第一客戶端用戶所屬的即時通信伺服器和集群伺服器 分別稱之為第一即時通信伺服器和第一集群伺服器,同樣,將外集群稱之為第 二集群,將外集群內的用戶稱之為第二客戶端用戶,該第二客戶端用戶所屬的 即時通信伺服器和集群伺服器分別為第二即時通信伺服器和第二集群伺服器。 如圖5,當第一客戶端用戶發送的消息為非PS相關消息時,所述系統對該消 息的處理過程包括
步驟S501,第一即時通信伺服器通過第一集群伺服器查詢發送消息至第 二客戶端用戶所屬的第二集群伺服器的地址;
步驟S502,第一集群伺服器向全局伺服器查詢第二集群伺服器的地址, 並將查詢結果緩存在本地保存,以有效提高信息處理效率並降低全局伺服器的
載荷;
步驟S503,第一集群伺服器將查詢結果反饋至第一即時通信伺服器; 步驟S504,第一即時通信伺服器將所要發送的消息發送至第一集群服務
器;
步驟S505,第一集群伺服器確定所要發送的消息是實時消息還是非實時 消息,若是非實時消息,則將消息放入所要發送至第二集群伺服器的消息發送 等待隊列中,當該消息發送等待隊列中的消息長度達到一預設數值,或者時間 超時,壓縮該消息發送等待隊列中的所有消息為一條複合消息;
步驟S506,第一集群伺服器向第二集群伺服器發送實時消息,或者經壓 縮處理的複合消息;
步驟S507,第二集群伺服器收到第一集群伺服器發送的消息,當該消息為經過壓縮處理的複合消息時,則解析該複合消息,並對複合消息中的每一條
消息逐條解析處理;
步驟S508,第二集群伺服器確定收到消息中已直接指明目的接收端所屬 第二即時通信伺服器的地址時,則將消息直接發送至第二即時通信伺服器;第 二集群伺服器確定收到消息中未直接指明目的接收用戶端所屬的第二即時通 信伺服器的地址時,則根據預先存儲的第二客戶端用戶與第二即時通信伺服器 之間的對應關係,查找到第二即時通信伺服器的地址後,將消息發送出去。
通過上述的步驟S501至S508,所述即時通信系統一集群內的客戶端用戶 能夠將一非PS消息發送至一外集群客戶端,其中當該所欲發送的消息為非實 時消息時,則採用延時發送的方式,將發送至同一集群伺服器的多條消息組成 一條"複合"消息發送,這樣有效的減少集群間發送消息的總數量和總消息長 度,進一步達到有效利用集群間的網絡帶寬,提高通信效率的效果。
圖6為說明當第二客戶端用戶發送的消息為PS相關消息時,所述即時通 信系統對該消息的處理過程示意圖,其中該過程包括
步驟S601,第一即時通信伺服器通過第一集群伺服器查詢發送消息至第 二客戶端用戶所屬的第二集群伺服器的地址;
步驟S602,第一集群伺服器向全局伺服器查詢第二集群伺服器的地址, 並將查詢結果緩存在本地保存;
步驟S603,第一集群伺服器將查詢結果反饋至第一即時通信伺服器;
步驟S604,第一集群通信伺服器向第一集群伺服器發送第二客戶端用戶 的訂閱請求消息,同時指明該訂閱請求消息為PS相關消息,並同時指明接收 該訂閱請求消息的第二集群伺服器的地址;
步驟S605,第一集群伺服器根據該訂閱請求消息保存該客戶端用戶訂閱 第二客戶端用戶狀態的第 一訂閱信息,該第 一訂閱信息包括第 一客戶端用戶的 用戶信息,以及該第一客戶端用戶所訂閱的第二客戶端用戶所屬的第二即時通 信伺服器的地址,使訂閱關係的粒度只細化到相應的即時通訊伺服器,而非單 個外集群客戶端用戶,以此降低集群伺服器所保存數據的量,有利於系統局部 癱瘓後數據恢復;
步驟S606,第一集群伺服器將該訂閱請求轉發至第二集群伺服器;
15步驟S607,第二集群伺服器根據該訂閱請求保存第一客戶端用戶訂閱第
二客戶端用戶狀態的第二訂閱信息,該第二訂閱信息包括第二客戶端用戶的用 戶信息,以及訂閱該第二客戶端用戶狀態信息的第一客戶端用戶所屬的第一集 群伺服器的地址,使訂閱關係的粒度細化到集群伺服器而非具體的客戶端用 戶;
步驟S608,第二集群伺服器將對第二客戶端用戶的訂閱請求轉到目的用 戶端所登陸的第二即時通信伺服器,或者為第二客戶端用戶分配一空閒即時通 信伺服器;
步驟S609,第二客戶端用戶響應該訂閱請求信息,通過第二即時通信服 務器將響應消息轉發送至訂閱請求方(第一客戶端用戶)所登錄的第一即時通 信伺服器;
步驟S610,第二客戶端用戶的狀態發生改變,通過第二即時通信伺服器 將狀態改變的公共消息發送至第二集群伺服器;
步驟S611,第二集群伺服器根據第二訂閱信息,將該狀態改變公共消息 轉發到訂閱了該客戶端用戶狀態的第一集群伺服器上;
步驟S612,第一集群伺服器根據第一訂閱信息,將接收到的第二客戶端 用戶的狀態改變公共消息轉到第 一客戶端用戶所屬的第 一 即時通信伺服器上。
另外,在上述的步驟S606至步驟S612,第一集群伺服器和第二集群服務 器之間在轉發訂閱請求消息或狀態改變消息時,若為非實時消息,同樣採用延 時發送的方式,將發送至同一集群伺服器的多條消息組成一條複合消息之後再 發送。
通過上述的步驟S601至S608以及步驟S601至S612,所述即時通信系統 中的集群伺服器將所處理的消息按類型分為PS相關消息和非PS相關消息, 同時根據消息的特點又分為實時消息和非實時消息,通過對消息的分類,不同 的消息釆用不同發送方式,減少了系統間短消息發送的總數量,達到有效利用 集群間的網絡帶寬,提高通信效率,避免網絡擁塞的效果。
本發明具體實施例另 一方面還提供一種即時通信中集群間通信的方法,用 於包括即時通信終端、即時通信伺服器和集群伺服器的即時通信系統中,所述 方法包括獲得本集群客戶端用戶與外集群客戶端用戶之間發送的通信消息;
所述通信消息為狀態呈現相關消息,根據預先保存的所述本集群客戶端用 戶訂閱所述外集群客戶端用戶呈現狀態的第 一訂閱信息,或者所述外集群客戶 端用戶訂閱所述本集群客戶端用戶呈現狀態的第二訂閱信息,發送所述通信消
自、
如圖7為本發明具體實施例所述方法的流程示意圖,該方法包括
步驟S701,所述集群伺服器中的第一集群伺服器獲得本集群內的第一客 戶端用戶通過所登錄的第 一即時通信伺服器發送的第 一通信消息;
步驟S702,所述第一集群伺服器判斷所述第一通信消息為PS相關消息還 是非PS相關消息,若為狀態呈現相關消息,則向下執行步驟S703,若為非狀 態呈現相關消息,則向下執行步驟S704;
步驟S703,所述第一集群伺服器查詢預先保存的所述外集群客戶端訂閱 所述客戶端用戶狀態的第二訂閱信息,將所述第一通信消息發送至外集群的第 二集群伺服器,其中所述第二訂閱信息記錄有所述第 一客戶端用戶與所述第二 集群伺服器之間的對應關係,該第二集群伺服器為訂閱所述第 一客戶端用戶的 狀態信息的集群伺服器;
步驟S704,所述第一集群伺服器通過所述對外通信接口單元查詢所述第 一通信消息的目的接收用戶所屬的第三集群伺服器,將所述第一通信消息發送 至所述第三集群伺服器;;
步驟S705,所述第一集群伺服器獲得外集群發送至本集群的第二通信消

步驟S706,所述第一集群伺服器判斷所述第二通信消息為PS相關消息還 是非PS相關消息,若為狀態呈現相關消息,則向下執行步驟S707,若為非狀 態呈現相關消息,則向下執行步驟S708;
步驟S707,所述第一集群伺服器查詢預先保存的所述客戶端用戶訂閱外 集群客戶端狀態的第一訂閱信息,根據該第一訂閱信息,將所述第二通信消息 發送至所述第一客戶端用戶所屬的第一即時通信伺服器,該第一訂閱信息用於 記錄本集群內的第一客戶端用戶與外集群的第二即時通信伺服器之間的對應 關係,其中該第二即時通信伺服器是該第 一客戶端用戶訂閱狀態信息為外集群
17內第二客戶端用戶時,該第二客戶端用戶所登錄的即時通信伺服器;
步驟S708,所述第一集群伺服器通過預先存儲的用戶分配信息,查詢所 述第二通信消息的目的接收用戶所屬的第三即時通信伺服器,將所述第二通信 消息發送至所述第三即時通信伺服器。
在上述的步驟S701至708,通過所述第一訂閱信息將本集群客戶端用戶 訂閱外集群客戶端狀態的訂閱關係擴大至本集群客戶端用戶與外集群即時通 信伺服器之間的關係,通過第二訂閱信息將外集群客戶端訂閱本集群該客戶端 用戶狀態的關係擴大至外集群伺服器與本集群客戶端用戶之間的關係,從而使 集群間的網絡帶寬得到充分利用,達到提高通信效率的目的。
另外,在本發明具體實施例所述方法中,所述第一集群伺服器在向所述第 二集群伺服器發送所述第一通信消息前,還需要確定所述第一通信消息是為非 實時消息,當為非實時消息時,首先將所述第一通信消息保存於欲發送至同一 目的接收集群伺服器的消息發送等待隊列中,當所述消息發送等待隊列的長度 達到一預設值時,壓縮所述消息發送等待隊列為一複合消息後再發送,從而使 得即時通信系統內集群間傳送的消息總數量和總長度減少,達到提高通信效 率,有效避免網絡擁塞的效果。
因此,綜合上述,本發明具體實施例所述集群伺服器和集群間通信的方法, 通過對集群間消息進行分類處理,能夠達到有效利用集群間的網絡帶寬、提高 通信效率以及提高整個即時通信系統的承載能力的目的。
以上所述僅是本發明的優選實施方式,應當指出,對於本技術領域的普通 技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾, 這些改進和潤飾也應視為本發明的保護範圍。
權利要求
1.一種即時通信系統的集群伺服器,用於集群化的即時通信系統,所述即時通信系統包括至少兩個所述集群伺服器,所述集群伺服器內包括即時通信伺服器和客戶端用戶,其特徵在於,所述集群伺服器包括存儲單元,用於保存本集群客戶端用戶訂閱外集群客戶端用戶呈現狀態的第一訂閱信息,以及所述外集群客戶端用戶訂閱所述本集群客戶端用戶呈現狀態的第二訂閱信息;信息分類單元,用於判斷所述本集群客戶端用戶與所述外集群客戶端用戶之間發送的通信消息是否為狀態呈現相關消息;信息發送單元,用於當所述通信消息為狀態呈現相關消息時,根據所述第一訂閱信息或所述第二訂閱信息發送所述通信消息。
2. 如權利要求1所述的集群伺服器,其特徵在於,所述第一訂閱信息用 於記錄本集群第 一客戶端用戶與外集群內第二即時通信伺服器之間的對應關 系,其中所述第 一客戶端用戶訂閱呈現狀態的所述外集群客戶端用戶登錄於所述第二即時通信伺服器;所述第二訂閱信息用於記錄所述第一客戶端用戶與外集群的第二集群伺服器之間的對應關係,其中所述第二集群伺服器內的所述外 集群客戶端用戶訂閱所述第 一客戶端用戶的呈現狀態。
3. 如權利要求2所述的集群伺服器,其特徵在於,所述信息分類單元判 斷所述第一客戶端用戶發送至所述外集群客戶端用戶的第一通信消息為狀態 呈現相關消息時,所述信息發送單元根據所述第二訂閱信息,將所述第一通信 消息發送至所述第二集群伺服器;所述信息分類單元判斷所述外集群客戶端發送至本集群的第二通信消息 為狀態呈現相關消息,且所述第二通信消息的發送端為所述第二即時通信服務 器時,所述信息發送單元根據所述第一訂閱信息,將所述第二通信消息發送至 所述第一客戶端用戶所登錄的第一即時通信伺服器。
4. 如權利要求3所述的集群伺服器,其特徵在於,所述集群伺服器還包括對外通信接口單元,用於提供與外集群之間的通信接口 ;用戶分配單元,用於為所述本集群客戶端用戶分配相應的即時通信伺服器;所述信息發送單元還用於所述第 一通信消息為非狀態呈現相關消息時, 通過所述對外通信接口單元查詢所述第一通信消息的目的接收用戶所屬的第 三集群伺服器,將所述第一通信消息發送至所述第三集群伺服器;所述第二通 信消息為非狀態呈現相關消息時,通過所述用戶分配單元獲得所迷第二通信消 息的目的接收用戶所登錄的第三即時通信伺服器,將所述第二通信消息發送至 所述第三即時通信伺服器。
5. 如權利要求3或4所述的集群伺服器,其特徵在於,所述信息分類單 元還用於,在發送所述第一通信消息前,判斷所述第一通信消息是否為非實時 消息。
6. 如權利要求5所述的集群伺服器,其特徵在於,所述信息發送單元還 用於所述第一通信消息為非實時消息時,將所述第一通信消息保存於相對應 的消息發送等待隊列中,當所述消息發送等待隊列的長度達到一預設值時,壓 縮所述消息發送等待隊列為一複合消息後發送。
7. 如權利要求6所述的集群伺服器,其特徵在於,所述信息發送單元還 用於當所述第二通信消息為複合消息時,在通過所述信息分類單元判斷所述 第二通信消息是否為狀態呈現消息之前,所述信息發送單元將所述第二通信消 息解析為多個獨立的消息。
8. 如權利要求1所述的集群伺服器,其特徵在於,所述集群伺服器與一 全局伺服器通訊連接,通過所述全局伺服器查詢所述外集群客戶端用戶所屬的 相對應集群伺服器。
9. 一種即時通信中集群間通信的方法,用於包括即時通信終端、即時通 信伺服器和集群伺服器的即時通信系統中,其特徵在於,所述方法包括獲得本集群客戶端用戶與外集群客戶端用戶之間發送的通信消息;所述通信消息為狀態呈現相關消息,根據預先保存的所述本集群客戶端用 戶訂閱所述外集群客戶端用戶呈現狀態的第 一訂閱信息,或者根據所述外集群 客戶端用戶訂閱所述本集群客戶端用戶呈現狀態的第二訂閱信息,發送所述通 信消息。
10.如權利要求9所述的方法,其特徵在於,所述第一訂閱信息用於記 錄本集群第 一客戶端用戶與外集群內第二即時通信伺服器之間的對應關係,其 中所述第一客戶端用戶訂閱呈現狀態的所述外集群客戶端用戶登錄於所述第二即時通信伺服器;所述第二訂閱信息用於記錄所述第一客戶端用戶與外集群的第二集群伺服器之間的對應關係,其中所述第二集群伺服器內的所述外集群 客戶端用戶訂閱所述第 一客戶端用戶的呈現狀態。
全文摘要
本發明公開了一種即時通信系統中的集群伺服器和集群間通信的方法,所述集群伺服器包括存儲單元,用於保存本集群客戶端用戶訂閱外集群客戶端用戶呈現狀態的第一訂閱信息,以及所述外集群客戶端用戶訂閱所述本集群客戶端用戶呈現狀態的第二訂閱信息;信息分類單元,用於判斷所述本集群客戶端用戶與所述外集群客戶端用戶之間發送的通信消息是否為狀態呈現相關消息;信息發送單元,用於當所述通信消息為狀態呈現相關消息時,根據所述第一訂閱信息或所述第二訂閱信息發送所述通信消息。該集群伺服器和方法通過對集群間消息進行分類處理,達到有效利用集群間的網絡帶寬、提高通信效率以及提高整個即時通信系統的承載能力的目的。
文檔編號H04L29/08GK101631140SQ20091009023
公開日2010年1月20日 申請日期2009年8月3日 優先權日2009年8月3日
發明者崔振峰, 陸劍峰 申請人:中興通訊股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀