[發明專利]一種實時消息交換平臺及分布式集群組建方法在審
| 申請號: | 201310287701.3 | 申請日: | 2013-07-10 |
| 公開(公告)號: | CN103475566A | 公開(公告)日: | 2013-12-25 |
| 發明(設計)人: | 陳剛 | 申請(專利權)人: | 北京發發時代信息技術有限公司 |
| 主分類號: | H04L12/58 | 分類號: | H04L12/58;H04L29/08 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100122 北京市朝陽區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 實時 消息 交換 平臺 分布式 集群 組建 方法 | ||
1.一種實時消息交換平臺,其特征在于:包括應用服務器集群和數據服務器集群,所述應用服務器集群與所述數據服務器集群通過千兆局域網絡通信連接。
2.根據權利要求1所述的實時消息交換平臺,其特征在于:所述數據服務器集群包括數據服務器、管理服務器、第一結構化查詢語言服務器、第二結構化查詢語言服務器和虛擬服務器,所述管理服務器分別與所述數據服務器和第一結構化查詢語言服務器和所述第二結構化查詢語言服務器通信連接,所述虛擬服務器分別與所述第一結構化查詢語言服務器和所述第二結構化查詢語言服務器通信連接。
3.根據權利要求2所述的實時消息交換平臺,其特征在于:所述數據服務器包括多個,每個所述數據服務器分別與所述管理服務器通信連接。
4.根據權利要求1或2所述的實時消息交換平臺,其特征在于:所述應用服務器包括聊天服務器、文件代理服務器和語音視頻服務器,所述虛擬服務器與所述聊天服務器通信連接,所述虛擬服務器監控所述文件代理服務器和所述語音視頻服務器。
5.一種實時消息交換平臺分布式集群組建方法,其特征在于:
步驟一:所述應用服務器集群中的服務器分為普通節點與網關節點兩種類型;
(1)普通節點:向外部客戶端提供接入服務,完成登錄、驗證、會話管理、信息處理等實際業務功能的服務器;
(2)網關節點:對外部客戶端完全透明,不直接連接外部客戶端,僅與各普通節點相連,具備監控普通節點存活情況,在普通節點間轉發消息等功能。
步驟二:所有節點信息存儲在一張全局節點表中,由系統管理人員、節點自己共同維護全局節點表中的相關信息;每個節點在安裝完畢后都由系統管理人員在全局節點表中增加一條節點數據,設置節點名稱為安裝時指定的節點名稱、節點類型為該節點所擔仟的角色類型(0/1)、是否啟用設置為1/啟用、是否運行則應該設置為0/停止、ip為實際IP地址、描述可不填、啟動時間由節點自已啟動時進行維護;若未在全局節點表中記錄節點信息,該節點將無法加入集群,與其它節點間無法通訊。
(1)節點啟動:節點在啟動前應確保全局節點表中信息的正確,并且是否啟用(isenabled)設置為1/啟用;啟動時,節點服務首先更新當前結點的運行狀態(isstart)為1/啟動、啟動時間(start_time)為當前時間,然后查找全局節點表中所有已處于運行狀態的節點,并緩存于節點服務器內存中;至此網關節點、普通節點按不同的算法進行下一步動作;
(2)節點停止:節點停止分為正常停止與異常停止,無論哪種停止情況,監控節點都將收到節點停止消息,當無網關節點在線時,普通節點遇到需要轉發到其它節點的消息,則會直接連接至該節點,并監控該節點的在線狀態,被監控節點停止時,監控節點同樣會收到節點停止消息,將其從本地在線節點緩存中刪除,并同步至全局節點表;
(3)集群網絡自動構建:應用服務集群由若干個節點構成,其中網關節點組成集群的第一層環狀網絡,網關節點間不相互監控,普通節點組成集群的第二層網絡,普通節點間不相互監控(無網關節點時除外)。
步驟三:全局session管理,客戶端登錄后,會在連接節點記錄session信息,以保持會話狀態。組建分布式集群網絡后,session信息應該在全體節點中共亨,因此創建全局session表,由全體節點共同維護。
步驟四:負載均衡,聊天服務器集群負載均衡分為普通節點的負載均衡與網關節點的負載均衡。
(1)普通節點負載均衡,普通節點面向客戶端提供接入及消息處理服務,一個集群網絡包含若干個普通節點,但對外域名或IP只有一個,利用其IP隧道或IP路由技術實現負載均衡;
(2)網關節點負載均衡,在有多個網關節點的集群系統中,網關負載均衡按以下步驟運行:
1)每個普通節點需要轉發信息時,先在本地緩存中查找在線網關節點;
2)按設定的負載均衡算法選擇一個網關節點;
3)將目標節點及轉發信息組包發送網關節點;
4)網關節點收到一個轉發包后,判斷目標節點是否在線;
5)若在線,則轉發信息;
6)若不在線,則轉入離線信息處理。
步驟五:消息路由,Server中的消息主要為分為presence、iq、message三種。
(1)presence,在集群系統中,發送一個presence信息遵循如下路由規則:
1)查找目標用戶(xxx@yyycom/zzz)是否已登錄;
2)目標用戶未登錄則丟棄該消息;
3)目標用戶已登錄,判斷其登錄節點是否本節點;
4)是本節點,則直接發送消息;
5)不是本節點,將目標節點與消息組包,按負載均衡算法選擇一網關節點,轉發消息;
6)普通節點收到一個網關節點發來消息后,判斷目標節點是否自己;
7)若不是,則丟棄該消息;
8)若是,則判斷目標用戶是否在本結點登錄;
9)若不是,則丟棄該消息;
10)若是,則向目標用戶發送該消息。
(2)iq,在集群系統中,發送一個iq信息遵循如下路由規則:
1)查找iq消息是否包含目標用戶;
2)若無,則直接本節點進行處理;
3)若有,查找目標用戶(xxx@yyycom/zzz)是否已登錄;
4)目標用戶未登錄則返回錯誤信息;
5)目標用戶已登錄,判斷其登錄節點是否本節點;
6)是本節點,則直接發送消息;
7)不是本節點,將目標節點與消息組包,按負載均衡算法選擇一網關節點,轉發消息;
8)普通節點收到一個網關節點發來消息后,判斷目標節點是否自己;
9)若不是,則丟棄該消息;
10)若是,則判斷目標用戶是否在本結點登錄;
11)若不是,則丟棄該消息;
12)若是,則向目標用戶發送該消息。
(3)message,在集群系統中,發送一個message信息遵循如下路由規則:
1)查找message消息的目標用戶是否指定特定資源(res);
2)若未指定,如:xxx@yyycom,則在全局session中查找該用戶優先級最高的session;
3)若已指定,則判斷該用戶是否已登錄;
4)若目標用戶未登錄,則轉入離線message消息處理;
5)若目標用戶已登錄,判斷其登錄節點是否本節點;
6)是本節點,則直接發送消息;
7)不是本節點,將目標節點與消息組包,按負載均衡算法選擇一網關節點,轉發消息;
8)普通節點收到一個網關節點發來消息后,判斷目標節點是否自己;
9)若不是,則丟棄該消息;
10)若是,則判斷目標用戶是否在本結點登錄;
11)若不是,則轉入離線消息處理(可能因客戶端異常斷開造成);
12)若是,則向目標用戶發送該消息。
步驟六:文件代理服務器集群,Server在文件代理服務器集群時,考慮將每個節點的代理服務映射到對外域名或IP的一個特定端口,在進行文件代理傳輸前由服務器為客戶端分配一個代理服務節點,確保參與傳輸的雙方都連接至同一代理服務節點。
步驟七:語音視頻服務器集群,Server在語音視頻服務器集群時,考慮將每個節點的服務映射到對外域名或IP的一個特定端口,在進行流數據傳輸前由服務器為客戶端分配一個服務節點,確保參與傳輸的多方客戶端都連接至同一服務節點。
步驟八:數據庫設計采用my結構化查詢語言服務器進行分布式集群,由1個管理節點、2個結構化查詢語言服務器節點、2個數據節點構成,數據分片存儲、復制2份,分別存儲于各個數據節點中,整體在邏輯形成一個完整的數據庫,對外通過虛擬服務器由結構化查詢語言服務器提供數據訪問服務;后期根據數據量的增長、訪問量增加等實際運行情況增加結構化查詢語言服務器節點以及數據節點的數量。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京發發時代信息技術有限公司,未經北京發發時代信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310287701.3/1.html,轉載請聲明來源鉆瓜專利網。





