消息路由裝置和方法
【專利摘要】本發(fā)明提供了一種消息路由裝置,包括:多租戶會話標識生成單元,用于生成多租戶會話標識,使即時通信消息在集群不同域和節(jié)點之間數(shù)據(jù)傳輸;消息路由單元,用于在多租戶共享架構(gòu)模式下,將傳輸?shù)募磿r通信消息從一段發(fā)送到另外一段;分布式緩存單元,用于分布式緩存會話路由表和域路由表;分布式服務調(diào)用單元,用于從分布式緩存的會話路由表和域路由表中,查找出遠程網(wǎng)絡(luò)節(jié)點,通過分布式遠程調(diào)用,將消息路由到對應節(jié)點或者對應域中的節(jié)點。本發(fā)明還提供了一種消息路由方法。通過本發(fā)明的技術(shù)方案,可以在現(xiàn)有的消息路由方式基礎(chǔ)上,充分利用單對象類型完成多對象類型的消息路由,建立多對象類型參與的消息路由的通用、統(tǒng)一路由思路。
【專利說明】消息路由裝置和方法
[0001]
【技術(shù)領(lǐng)域】
[0002]本發(fā)明涉及數(shù)據(jù)處理【技術(shù)領(lǐng)域】,具體地,涉及一種消息路由裝置和一種消息路由方法。
[0003]
【背景技術(shù)】
[0004]隨著互聯(lián)網(wǎng)移動化智能化,?。?見5標準的統(tǒng)一,互聯(lián)網(wǎng)八??、移動八??、企業(yè)應用、網(wǎng)絡(luò)游戲、手游等都需要嵌入即時通訊的功能,使人與人、企業(yè)與客戶、企業(yè)與企業(yè)之間即時的溝通、協(xié)作和分享。目前,只有少數(shù)大的互聯(lián)網(wǎng)公司具備即時通訊的技術(shù)和運營團隊,并且研發(fā)成本和技術(shù)門檻較高,主要涉及到大數(shù)據(jù)存儲、高并發(fā)、數(shù)據(jù)安全、高可用易擴展、大數(shù)據(jù)分析和挖掘等關(guān)鍵技術(shù)。縱觀互聯(lián)網(wǎng)即時通訊領(lǐng)域,以及即時通訊應用現(xiàn)狀,目前該尤其在企業(yè)即時通訊技術(shù)和運營上比較混亂,主要存在以下問題:
⑴不同企業(yè)消息通信數(shù)據(jù)只是以簡單賬號隔離,無法在宏觀上對消息按照多個維度統(tǒng)計和分析。
[0005]⑵消息按照簡單的集群節(jié)點對等路由;無法實現(xiàn)不同域之間消息路由,部署方式無法滿足企業(yè)集團多域復雜場景。
[0006]⑶消息并不能按照企業(yè)和應用在不同集群域和節(jié)點之間路由。
[0007]⑷弱網(wǎng)絡(luò)環(huán)境下消息路由到達率無法保證。
[0008](5)自行研發(fā),技術(shù)門檻較高,周期較長;雖然有開源即時通訊協(xié)議和技術(shù)框架,但改造難度較大
(6)支持千萬級甚至更大在線用戶高可靠,高并發(fā)服務集群架構(gòu)難度較大;
采用怎樣的架構(gòu)滿足即時通信消息在集群節(jié)點不同域或者子域之間路由,滿足復雜多變的應用場景,并能夠為千千萬萬互聯(lián)網(wǎng)和企業(yè)應用提供低成本的即時通訊和消息推送服務,是該方案的立足點和待解決的問題。
[0009]因此,需要一種新的消息路由技術(shù),可以在現(xiàn)有的消息路由方式基礎(chǔ)上,充分利用單對象類型完成多對象類型的消息路由,建立多對象類型參與的消息路由的通用、統(tǒng)一路由思路。
[0010]
【發(fā)明內(nèi)容】
[0011]本發(fā)明正是基于上述問題,提出了一種新的消息路由技術(shù),可以在現(xiàn)有的消息路由方式基礎(chǔ)上,充分利用單對象類型完成多對象類型的消息路由,建立多對象類型參與的消息路由的通用、統(tǒng)一路由思路。
[0012]有鑒于此,本發(fā)明提出了一種消息路由裝置,包括:多租戶會話標識生成單元,用于生成多租戶會話標識,使即時通信消息在集群不同域和節(jié)點之間數(shù)據(jù)傳輸;消息路由單元,用于在多租戶共享架構(gòu)模式下,將傳輸?shù)募磿r通信消息從一段發(fā)送到另外一段,消息在網(wǎng)絡(luò)服務器節(jié)點之間路由,進行多租戶云即時通訊消息集群路由;分布式緩存單元,用于分布式緩存會話路由表和域路由表,根據(jù)會話或者域能找到其對應的網(wǎng)絡(luò)節(jié)點;分布式服務調(diào)用單元,用于從分布式緩存的會話路由表和域路由表中,查找出遠程網(wǎng)絡(luò)節(jié)點,通過分布式遠程調(diào)用,將消息路由到對應節(jié)點或者對應域中的節(jié)點。在該技術(shù)方案中,可以用于云端即時通訊,實現(xiàn)企業(yè)云端即時通訊多租戶共享架構(gòu)的消息路由。
[0013]在上述技術(shù)方案中,優(yōu)選地,所述多租戶會話標識生成單元,具體包括:標識生成模塊,用于生成的多租戶會話標識310;消息發(fā)送模塊,用于根據(jù)生成的多租戶會話標識310,發(fā)送消息給客戶端。在該技術(shù)方案中,可以構(gòu)建互聯(lián)網(wǎng)和企業(yè)即時通信消息數(shù)據(jù)模型,從企業(yè)和應用維度對數(shù)據(jù)隔離,以不同粒度在宏觀上對整個企業(yè)即時通訊消息數(shù)據(jù)分析、挖掘和預測。
[0014]在上述技術(shù)方案中,優(yōu)選地,所述消息路由單元,具體包括:標識會話模塊,用于基于生成的多租戶會話標識310,發(fā)送待路由的消息;集群節(jié)點會話模塊,用于發(fā)送的消息被負載均衡到任一集群節(jié)點,該集群節(jié)點根據(jù)路由策略進行消息路由;集群節(jié)點查找模塊,用于如果路由策略是本地域,從分布式緩存中取出接受客戶端的多租戶會話標識,根據(jù)接收方的會話標識在本地路由表中查找會話;節(jié)點連接模塊,用于如果路由策略從選擇遠程域,則將消息投遞到遠程域集群中;子域消息路由模塊,用于如果路由策略從選擇子域,把該消息路由到該子域下的外部組件。在該技術(shù)方案中,可以實現(xiàn)即時通訊消息在集群域和節(jié)點之間的消息路由,在架構(gòu)上能滿足復雜的應用場景,達到集群和應用無限擴展。
[0015]在上述技術(shù)方案中,優(yōu)選地,所述多租戶會話標識生成單元生成的多租戶會話標識,是實現(xiàn)多租戶云即時通訊共享架構(gòu)的基礎(chǔ),多租戶會話標識由用戶標識、企業(yè)標識、應用標識、域、子域、設(shè)備構(gòu)成在全集群節(jié)點唯一;也是即時通訊消息數(shù)據(jù)隔離的底層數(shù)據(jù)結(jié)構(gòu)依據(jù),能夠為上層服務提供基礎(chǔ)數(shù)據(jù)模型;和/或,所述集群節(jié)點會話模塊根據(jù)路由策略進行消息路由的操作中,所述路由策略包括:本地域、子域、遠程域;和/或,所述集群節(jié)點查找模塊根據(jù)接收方的會話標識在本地路由表中查找會話的操作,進一步包括:如果能查找出會話,則會話投遞消息;如果在本地路由表中為找到會話,則從分布式緩存中查找該會話所在的集群節(jié)點,如果找到集群該集群節(jié)點,則調(diào)用多租戶遠程調(diào)用服務,將消息發(fā)送到該集群節(jié)點,從該集群節(jié)點中查找出會話,由會話投遞消息;和/或,所述節(jié)點連接模塊將消息投遞到遠程域集群中的操作,進一步包括:從分布式緩存的域路由表中根據(jù)域查找出對應的集群節(jié)點,如果集群節(jié)點存在,則消息通過多租戶遠程調(diào)用服務將消息路由到對應的集群節(jié)點,該集群節(jié)點負責再次路由;如果在緩存域路由表中查找不到對應的集群節(jié)點,則建立323域節(jié)點連接,再把該域添加到域路由表中,由域集群節(jié)點負責再次路由。
[0016]在上述技術(shù)方案中,優(yōu)選地,所述分布式服務調(diào)用單元,具體包括:節(jié)點查找模塊,用于從分布式緩存的會話路由表和域路由表中,查找出遠程網(wǎng)絡(luò)節(jié)點;消息調(diào)用及路由模塊,用于通過分布式遠程調(diào)用,將消息路由到對應遠程網(wǎng)絡(luò)節(jié)點或者對應域中的遠程網(wǎng)絡(luò)節(jié)點。在該技術(shù)方案中,可以實現(xiàn)多租戶云即時通訊共享架構(gòu),為成千上萬的互聯(lián)網(wǎng)應用和企業(yè)提供云即時通訊和消息推送服務。
[0017]根據(jù)本發(fā)明的又一個方面,還提出了一種消息路由方法,包括:步驟202:生成多租戶會話標識,使即時通信消息在集群不同域和節(jié)點之間數(shù)據(jù)傳輸;步驟204:在多租戶共享架構(gòu)模式下,將傳輸?shù)募磿r通信消息從一段發(fā)送到另外一段,消息在網(wǎng)絡(luò)服務器節(jié)點之間路由,進行多租戶云即時通訊消息集群路由;步驟206:多租戶云即時通訊消息集群路由后,分布式緩存會話路由表和域路由表,根據(jù)會話或者域能找到其對應的網(wǎng)絡(luò)節(jié)點;步驟208:從分布式緩存的會話路由表和域路由表中,查找出遠程網(wǎng)絡(luò)節(jié)點,通過分布式遠程調(diào)用,將消息路由到對應節(jié)點或者對應域中的節(jié)點。在該技術(shù)方案中,可以用于云端即時通訊,實現(xiàn)企業(yè)云端即時通訊多租戶共享架構(gòu)的消息路由。
[0018]在上述技術(shù)方案中,優(yōu)選地,所述步驟202,具體包括:步驟302:生成的多租戶會話標識310 ;步驟304:根據(jù)生成的多租戶會話標識310,發(fā)送消息給客戶端。在該技術(shù)方案中,可以構(gòu)建互聯(lián)網(wǎng)和企業(yè)即時通信消息數(shù)據(jù)模型,從企業(yè)和應用維度對數(shù)據(jù)隔離,以不同粒度在宏觀上對整個企業(yè)即時通訊消息數(shù)據(jù)分析、挖掘和預測。
[0019]在上述技術(shù)方案中,優(yōu)選地,所述步驟204,具體包括:步驟402:基于生成的多租戶會話標識310,發(fā)送待路由的消息;步驟404:發(fā)送的消息被負載均衡到任一集群節(jié)點,該集群節(jié)點根據(jù)路由策略進行消息路由;步驟406:如果路由策略是本地域,從分布式緩存中取出接受客戶端的多租戶會話標識,根據(jù)接收方的會話標識在本地路由表中查找會話;步驟408:如果路由策略從選擇遠程域,則將消息投遞到遠程域集群中;步驟410:如果路由策略從選擇子域,把該消息路由到該子域下的外部組件。在該技術(shù)方案中,可以實現(xiàn)即時通訊消息在集群域和節(jié)點之間的消息路由,在架構(gòu)上能滿足復雜的應用場景,達到集群和應用無限擴展。
[0020]在上述技術(shù)方案中,優(yōu)選地,所述步驟202生成的多租戶會話標識,是實現(xiàn)多租戶云即時通訊共享架構(gòu)的基礎(chǔ),多租戶會話標識由用戶標識、企業(yè)標識、應用標識、域、子域、設(shè)備構(gòu)成在全集群節(jié)點唯一;也是即時通訊消息數(shù)據(jù)隔離的底層數(shù)據(jù)結(jié)構(gòu)依據(jù),能夠為上層服務提供基礎(chǔ)數(shù)據(jù)模型;和/或,所述步驟404根據(jù)路由策略進行消息路由的操作中,所述路由策略包括:本地域、子域、遠程域;和/或,所述步驟406根據(jù)接收方的會話標識在本地路由表中查找會話的操作,進一步包括:如果能查找出會話,則會話投遞消息;如果在本地路由表中為找到會話,則從分布式緩存中查找該會話所在的集群節(jié)點,如果找到集群該集群節(jié)點,則調(diào)用多租戶遠程調(diào)用服務,將消息發(fā)送到該集群節(jié)點,從該集群節(jié)點中查找出會話,由會話投遞消息;和丨或,所述步驟408將消息投遞到遠程域集群中的操作,進一步包括:從分布式緩存的域路由表中根據(jù)域查找出對應的集群節(jié)點,如果集群節(jié)點存在,則消息通過多租戶遠程調(diào)用服務將消息路由到對應的集群節(jié)點,該集群節(jié)點負責再次路由;如果在緩存域路由表中查找不到對應的集群節(jié)點,則建立323域節(jié)點連接,再把該域添加到域路由表中,由域集群節(jié)點負責再次路由。
[0021]在上述技術(shù)方案中,優(yōu)選地,所述步驟208,具體包括:步驟502:從分布式緩存的會話路由表和域路由表中,查找出遠程網(wǎng)絡(luò)節(jié)點;步驟504:通過分布式遠程調(diào)用,將消息路由到對應遠程網(wǎng)絡(luò)節(jié)點或者對應域中的遠程網(wǎng)絡(luò)節(jié)點。在該技術(shù)方案中,可以實現(xiàn)多租戶云即時通訊共享架構(gòu),為成千上萬的互聯(lián)網(wǎng)應用和企業(yè)提供云即時通訊和消息推送服務。
[0022]通過以上技術(shù)方案,可以在現(xiàn)有的消息路由方式基礎(chǔ)上,充分利用單對象類型完成多對象類型的消息路由,建立多對象類型參與的消息路由的通用、統(tǒng)一路由思路。
[0023]
【專利附圖】
【附圖說明】
[0024]圖1示出了根據(jù)本發(fā)明的實施例的消息路由裝置的框圖;
圖2示出了根據(jù)本發(fā)明的實施例的消息路由方法的流程圖;
圖3示出了根據(jù)本發(fā)明的實施例的多租戶會話標識生成單元的流程圖;
圖4示出了根據(jù)本發(fā)明的實施例的消息路由單元的流程圖;
圖5示出了根據(jù)本發(fā)明的實施例的分布式服務調(diào)用單元的流程圖;
圖6示出了根據(jù)本發(fā)明的實施例的基于多租戶云即時通訊消息集群路由的方法的邏輯關(guān)系圖;
圖7示出了根據(jù)本發(fā)明的實施例的講解多租戶云即時通訊消息集群路由的流程圖。
[0025]
【具體實施方式】
[0026]為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結(jié)合附圖和【具體實施方式】對本發(fā)明進行進一步的詳細描述。需要說明的是,在不沖突的情況下,本申請的實施例及實施例中的特征可以相互組合。
[0027]在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明的保護范圍并不受下面公開的具體實施例的限制。
[0028]圖1示出了根據(jù)本發(fā)明的實施例的消息路由裝置的框圖。
[0029]如圖1所示,根據(jù)本發(fā)明的實施例的消息路由裝置100,包括:多租戶會話標識生成單元102,用于生成多租戶會話標識,使即時通信消息在集群不同域和節(jié)點之間數(shù)據(jù)傳輸;消息路由單元104,用于在多租戶共享架構(gòu)模式下,將傳輸?shù)募磿r通信消息從一段發(fā)送到另外一段,消息在網(wǎng)絡(luò)服務器節(jié)點之間路由,進行多租戶云即時通訊消息集群路由;分布式緩存單元106,用于分布式緩存會話路由表和域路由表,根據(jù)會話或者域能找到其對應的網(wǎng)絡(luò)節(jié)點;分布式服務調(diào)用單元108,用于從分布式緩存的會話路由表和域路由表中,查找出遠程網(wǎng)絡(luò)節(jié)點,通過分布式遠程調(diào)用,將消息路由到對應節(jié)點或者對應域中的節(jié)點。在該技術(shù)方案中,可以用于云端即時通訊,實現(xiàn)企業(yè)云端即時通訊多租戶共享架構(gòu)的消息路由。
[0030]在上述技術(shù)方案中,優(yōu)選地,多租戶會話標識生成單元102,具體包括:標識生成模塊1022,用于生成的多租戶會話標識310 ;消息發(fā)送模塊1024,用于根據(jù)生成的多租戶會話標識310,發(fā)送消息給客戶端。在該技術(shù)方案中,可以構(gòu)建互聯(lián)網(wǎng)和企業(yè)即時通信消息數(shù)據(jù)模型,從企業(yè)和應用維度對數(shù)據(jù)隔離,以不同粒度在宏觀上對整個企業(yè)即時通訊消息數(shù)據(jù)分析、挖掘和預測。
[0031]在上述技術(shù)方案中,優(yōu)選地,消息路由單元104,具體包括:標識會話模塊1042,用于基于生成的多租戶會話標識310,發(fā)送待路由的消息;集群節(jié)點會話模塊1044,用于發(fā)送的消息被負載均衡到任一集群節(jié)點,該集群節(jié)點根據(jù)路由策略進行消息路由;集群節(jié)點查找模塊1046,用于如果路由策略是本地域,從分布式緩存中取出接受客戶端的多租戶會話標識,根據(jù)接收方的會話標識在本地路由表中查找會話;節(jié)點連接模塊1048,用于如果路由策略從選擇遠程域,則將消息投遞到遠程域集群中;子域消息路由模塊1050,用于如果路由策略從選擇子域,把該消息路由到該子域下的外部組件。在該技術(shù)方案中,可以實現(xiàn)即時通訊消息在集群域和節(jié)點之間的消息路由,在架構(gòu)上能滿足復雜的應用場景,達到集群和應用無限擴展。
[0032]在上述技術(shù)方案中,優(yōu)選地,多租戶會話標識生成單元102生成的多租戶會話標識,是實現(xiàn)多租戶云即時通訊共享架構(gòu)的基礎(chǔ),多租戶會話標識由用戶標識、企業(yè)標識、應用標識、域、子域、設(shè)備構(gòu)成在全集群節(jié)點唯一;也是即時通訊消息數(shù)據(jù)隔離的底層數(shù)據(jù)結(jié)構(gòu)依據(jù),能夠為上層服務提供基礎(chǔ)數(shù)據(jù)模型;和/或,集群節(jié)點會話模塊1044根據(jù)路由策略進行消息路由的操作中,路由策略包括:本地域、子域、遠程域;和/或,集群節(jié)點查找模塊1046根據(jù)接收方的會話標識在本地路由表中查找會話的操作,進一步包括:如果能查找出會話,則會話投遞消息;如果在本地路由表中為找到會話,則從分布式緩存中查找該會話所在的集群節(jié)點,如果找到集群該集群節(jié)點,則調(diào)用多租戶遠程調(diào)用服務,將消息發(fā)送到該集群節(jié)點,從該集群節(jié)點中查找出會話,由會話投遞消息;和/或,節(jié)點連接模塊1048將消息投遞到遠程域集群中的操作,進一步包括:從分布式緩存的域路由表中根據(jù)域查找出對應的集群節(jié)點,如果集群節(jié)點存在,則消息通過多租戶遠程調(diào)用服務將消息路由到對應的集群節(jié)點,該集群節(jié)點負責再次路由;如果在緩存域路由表中查找不到對應的集群節(jié)點,則建立323域節(jié)點連接,再把該域添加到域路由表中,由域集群節(jié)點負責再次路由。
[0033]在上述技術(shù)方案中,優(yōu)選地,分布式服務調(diào)用單元108,具體包括:節(jié)點查找模塊1082,用于從分布式緩存的會話路由表和域路由表中,查找出遠程網(wǎng)絡(luò)節(jié)點;消息調(diào)用及路由模塊1084,用于通過分布式遠程調(diào)用,將消息路由到對應遠程網(wǎng)絡(luò)節(jié)點或者對應域中的遠程網(wǎng)絡(luò)節(jié)點。在該技術(shù)方案中,可以實現(xiàn)多租戶云即時通訊共享架構(gòu),為成千上萬的互聯(lián)網(wǎng)應用和企業(yè)提供云即時通訊和消息推送服務。
[0034]圖2示出了根據(jù)本發(fā)明的實施例的消息路由方法的流程圖。
[0035]如圖2所示,根據(jù)本發(fā)明的實施例的消息路由方法,包括:步驟202:生成多租戶會話標識,使即時通信消息在集群不同域和節(jié)點之間數(shù)據(jù)傳輸;步驟204:在多租戶共享架構(gòu)模式下,將傳輸?shù)募磿r通信消息從一段發(fā)送到另外一段,消息在網(wǎng)絡(luò)服務器節(jié)點之間路由,進行多租戶云即時通訊消息集群路由;步驟206:多租戶云即時通訊消息集群路由后,分布式緩存會話路由表和域路由表,根據(jù)會話或者域能找到其對應的網(wǎng)絡(luò)節(jié)點;步驟208:從分布式緩存的會話路由表和域路由表中,查找出遠程網(wǎng)絡(luò)節(jié)點,通過分布式遠程調(diào)用,將消息路由到對應節(jié)點或者對應域中的節(jié)點。在該技術(shù)方案中,可以用于云端即時通訊,實現(xiàn)企業(yè)云端即時通訊多租戶共享架構(gòu)的消息路由。
[0036]在上述技術(shù)方案中,優(yōu)選地,如圖3所示,步驟202,具體包括:步驟302:生成的多租戶會話標識310 ;步驟304:根據(jù)生成的多租戶會話標識310,發(fā)送消息給客戶端。在該技術(shù)方案中,可以構(gòu)建互聯(lián)網(wǎng)和企業(yè)即時通信消息數(shù)據(jù)模型,從企業(yè)和應用維度對數(shù)據(jù)隔離,以不同粒度在宏觀上對整個企業(yè)即時通訊消息數(shù)據(jù)分析、挖掘和預測。
[0037]在上述技術(shù)方案中,優(yōu)選地,如圖4所示,步驟204,具體包括:步驟402:基于生成的多租戶會話標識310,發(fā)送待路由的消息;步驟404:發(fā)送的消息被負載均衡到任一集群節(jié)點,該集群節(jié)點根據(jù)路由策略進行消息路由;步驟406:如果路由策略是本地域,從分布式緩存中取出接受客戶端的多租戶會話標識,根據(jù)接收方的會話標識在本地路由表中查找會話;步驟408:如果路由策略從選擇遠程域,則將消息投遞到遠程域集群中;步驟410:如果路由策略從選擇子域,把該消息路由到該子域下的外部組件。在該技術(shù)方案中,可以實現(xiàn)即時通訊消息在集群域和節(jié)點之間的消息路由,在架構(gòu)上能滿足復雜的應用場景,達到集群和應用無限擴展。
[0038]在上述技術(shù)方案中,優(yōu)選地,步驟202生成的多租戶會話標識,是實現(xiàn)多租戶云即時通訊共享架構(gòu)的基礎(chǔ),多租戶會話標識由用戶標識、企業(yè)標識、應用標識、域、子域、設(shè)備構(gòu)成在全集群節(jié)點唯一;也是即時通訊消息數(shù)據(jù)隔離的底層數(shù)據(jù)結(jié)構(gòu)依據(jù),能夠為上層服務提供基礎(chǔ)數(shù)據(jù)模型;和/或,步驟404根據(jù)路由策略進行消息路由的操作中,路由策略包括:本地域、子域、遠程域;和/或,步驟406根據(jù)接收方的會話標識在本地路由表中查找會話的操作,進一步包括:如果能查找出會話,則會話投遞消息;如果在本地路由表中為找到會話,則從分布式緩存中查找該會話所在的集群節(jié)點,如果找到集群該集群節(jié)點,則調(diào)用多租戶遠程調(diào)用服務,將消息發(fā)送到該集群節(jié)點,從該集群節(jié)點中查找出會話,由會話投遞消息;和/或,步驟408將消息投遞到遠程域集群中的操作,進一步包括:從分布式緩存的域路由表中根據(jù)域查找出對應的集群節(jié)點,如果集群節(jié)點存在,則消息通過多租戶遠程調(diào)用服務將消息路由到對應的集群節(jié)點,該集群節(jié)點負責再次路由;如果在緩存域路由表中查找不到對應的集群節(jié)點,則建立323域節(jié)點連接,再把該域添加到域路由表中,由域集群節(jié)點負責再次路由。
[0039]在上述技術(shù)方案中,優(yōu)選地,如圖5所示,步驟208,具體包括:步驟502:從分布式緩存的會話路由表和域路由表中,查找出遠程網(wǎng)絡(luò)節(jié)點;步驟504:通過分布式遠程調(diào)用,將消息路由到對應遠程網(wǎng)絡(luò)節(jié)點或者對應域中的遠程網(wǎng)絡(luò)節(jié)點。在該技術(shù)方案中,可以實現(xiàn)多租戶云即時通訊共享架構(gòu),為成千上萬的互聯(lián)網(wǎng)應用和企業(yè)提供云即時通訊和消息推送服務。
[0040]本發(fā)明的技術(shù)方案,涉及一種基于云端多租戶的即時通訊消息的路由方法和裝置;可用于云端即時通訊,通過本發(fā)明的技術(shù)方案,實現(xiàn)企業(yè)云端即時通訊多租戶共享架構(gòu)的消息路由。
[0041]基于現(xiàn)有技術(shù)存在的缺點,本發(fā)明的技術(shù)方案提出一種基于多租戶云即時通訊消息集群路由的技術(shù)方案。本發(fā)明的技術(shù)方案,較好地解決了上述問題,其特點是:
⑴以企業(yè)、應用、組織、用戶為中心,構(gòu)建互聯(lián)網(wǎng)和企業(yè)即時通信消息數(shù)據(jù)模型,從企業(yè)和應用維度對數(shù)據(jù)隔離,以不同粒度在宏觀上對整個企業(yè)即時通訊消息數(shù)據(jù)分析、挖掘和預測。
[0042]⑵實現(xiàn)即時通訊消息在集群域和節(jié)點之間的消息路由,在架構(gòu)上能滿足復雜的應用場景,達到集群和應用無限擴展。
[0043]⑶實現(xiàn)多租戶云即時通訊共享架構(gòu),為成千上萬的互聯(lián)網(wǎng)應用和企業(yè)提供云即時通訊和消息推送服務。
[0044]為了實現(xiàn)上述目標,本發(fā)明技術(shù)方案提出的基于多租戶云即時通訊消息集群路由的技術(shù)方案,主要包括四個單元:會話多租戶會話標識生成單元、消息路由單元、分布式緩存單元、分布式服務調(diào)用單元。本發(fā)明技術(shù)方案的邏輯關(guān)系圖如圖6所示。
[0045]㈠多租戶會話標識生成單元
多租戶會話標識是實現(xiàn)多租戶云即時通訊共享架構(gòu)的基礎(chǔ),多租戶會話標識由用戶標識、企業(yè)標識、應用標識、域、子域、設(shè)備構(gòu)成在全集群節(jié)點唯一。也是即時通訊消息數(shù)據(jù)隔離的底層數(shù)據(jù)結(jié)構(gòu)依據(jù),為上層服務提供基礎(chǔ)數(shù)據(jù)模型。使即時通信消息在集群不同域和節(jié)點之間數(shù)據(jù)傳輸。
[0046]多租戶會話標識,簡稱310,用公式表示:
810 = 1)86107.61^垃
[0047]多租戶會話標識單元包含以下幾個組件:
1、用戶標識:即時通訊系統(tǒng)用戶帳號
2、企業(yè)標識:即時通訊系統(tǒng)企業(yè)賬號
3、應用標識:即時通訊系統(tǒng)應用賬號
4、域:即時通訊系統(tǒng)集群或子集群標識
5、設(shè)備:終端類型 ㈡消息路由單元
在多租戶共享架構(gòu)模式下,即時通信消息從一段發(fā)送到另外一段,消息需要在網(wǎng)絡(luò)服務器節(jié)點之間路由。如何讓消息安全可靠的路由到正確的集群節(jié)點或者子域集群節(jié)點是多組合云即時通訊的關(guān)鍵所在。這其中涉及到10(^1節(jié)點、節(jié)點、域或子域節(jié)點如何路由消息。
[0048]多租戶云即時通訊消息集群路由步驟描述如下:
1、客戶端發(fā)送消息給另一客戶端,客戶端用多租戶會話標識生成單元生成多租戶會話標識310,并發(fā)送消息。
[0049]2、消息被負載均衡到任一集群節(jié)點,該集群節(jié)點根據(jù)路由策略做消息路由,路由策略包括:本地域、子域、遠程域。
[0050]3、如果路由策略是本地域,從分布式緩存中取出接受客戶端的多租戶會話標識,根據(jù)接收方的會話標識在首先在本地理由表中查找,如果能查找出會話,則會話投遞消息;如果在本地路由表中為找到會話,則從分布式緩存中查找該會話所在的集群節(jié)點,如果找到集群該集群節(jié)點,則調(diào)用多租戶遠程調(diào)用服務,將消息發(fā)送到該集群節(jié)點,從該集群節(jié)點中查找出會話,由會話投遞消息。
[0051]4、如果路由策略從選擇遠程域,則說明消息會被投遞到遠程域集群中。首先從分布式緩存的域理由表中根據(jù)域查找出對應的集群節(jié)點,如果集群節(jié)點存在,則消息通過多租戶遠程調(diào)用服務將消息路由到對應的集群節(jié)點,該集群節(jié)點負責再次路由;如果在緩存域路由表中查找不到對應的集群節(jié)點,則建立323域節(jié)點連接,再把該域添加到域路由表中,由域集群節(jié)點負責再次路由。
[0052]5、如果路由策略從選擇子域,會把該消息理由到該子域下的外部組件。
[0053]圖7詳細講解多租戶云即時通訊消息集群路由流程。
[0054]㈢分布式緩存單元
分布式緩存單元緩存會話路由表和域路由表,根據(jù)會話或者域能找到其對應的網(wǎng)絡(luò)節(jié)點。
[0055]㈣分布式服務調(diào)用單元
從分布式緩存的會話路由表和域路由表中查找出遠程網(wǎng)絡(luò)節(jié)點,通過過分布式遠程調(diào)用裝置,將消息路由到對應節(jié)點或者對應域中的節(jié)點。
[0056]本發(fā)明的技術(shù)方案,以企業(yè)、應用、組織、用戶為數(shù)據(jù)模型,實現(xiàn)企業(yè)云端多租戶共享架構(gòu)即時通訊消息的路由。采用本發(fā)明的技術(shù)方案,一方面實現(xiàn)不同域之間的消息路由;另一方面以企業(yè)、應用、組織對數(shù)據(jù)隔離,實現(xiàn)虛擬組織應用。與現(xiàn)有技術(shù)的區(qū)別之處:
⑴以企業(yè)、應用、組織、用戶為中心,構(gòu)建互聯(lián)網(wǎng)和企業(yè)即時通信消息數(shù)據(jù)模型,從企業(yè)和應用維度對數(shù)據(jù)隔離,以不同粒度在宏觀上對整個企業(yè)即時通訊消息數(shù)據(jù)分析、挖掘和預測。
[0057]⑵實現(xiàn)即時通訊消息在集群域和節(jié)點之間的消息路由,在架構(gòu)上能滿足復雜的應用場景,達到集群和應用無限擴展。
[0058]⑶實現(xiàn)多租戶云即時通訊共享架構(gòu),為成千上萬的互聯(lián)網(wǎng)應用和企業(yè)提供云即時通訊和消息推送服務。
[0059]以上結(jié)合附圖詳細說明了本發(fā)明的技術(shù)方案,考慮到相關(guān)技術(shù)中沒有簡便的、統(tǒng)一的針對復雜類型元數(shù)據(jù)路由的解決辦法。現(xiàn)有的消息路由無法完成有復雜類型參與的消息路由過程。因此,本發(fā)明提出了一種消息路由裝置和一種消息路由方法,可以在現(xiàn)有的消息路由方式基礎(chǔ)上,充分利用單對象類型完成多對象類型的消息路由,建立多對象類型參與的消息路由的通用、統(tǒng)一路由思路。
[0060]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種消息路由裝置,其特征在于,包括: 多租戶會話標識生成單元,用于生成多租戶會話標識,使即時通信消息在集群不同域和節(jié)點之間數(shù)據(jù)傳輸; 消息路由單元,用于在多租戶共享架構(gòu)模式下,將傳輸?shù)募磿r通信消息從一段發(fā)送到另外一段,消息在網(wǎng)絡(luò)服務器節(jié)點之間路由,進行多租戶云即時通訊消息集群路由; 分布式緩存單元,用于分布式緩存會話路由表和域路由表,根據(jù)會話或者域能找到其對應的網(wǎng)絡(luò)節(jié)點; 分布式服務調(diào)用單元,用于從分布式緩存的會話路由表和域路由表中,查找出遠程網(wǎng)絡(luò)節(jié)點,通過分布式遠程調(diào)用,將消息路由到對應節(jié)點或者對應域中的節(jié)點。
2.根據(jù)權(quán)利要求1所述的消息路由裝置,其特征在于,所述多租戶會話標識生成單元,具體包括: 標識生成模塊,用于生成的多租戶會話標識SID ; 消息發(fā)送模塊,用于根據(jù)生成的多租戶會話標識SID,發(fā)送消息給客戶端。
3.根據(jù)權(quán)利要求1或2所述的消息路由裝置,其特征在于,所述消息路由單元,具體包括: 標識會話模塊,用于基于生成的多租戶會話標識SID,發(fā)送待路由的消息; 集群節(jié)點會話模塊,用于發(fā)送的消息被負載均衡到任一集群節(jié)點,該集群節(jié)點根據(jù)路由策略進行消息路由; 集群節(jié)點查找模塊,用于如果路由策略是本地域,從分布式緩存中取出接受客戶端的多租戶會話標識,根據(jù)接收方的會話標識在本地路由表中查找會話; 節(jié)點連接模塊,用于如果路由策略從選擇遠程域,則將消息投遞到遠程域集群中; 子域消息路由模塊,用于如果路由策略從選擇子域,把該消息路由到該子域下的外部組件。
4.根據(jù)權(quán)利要求3所述的消息路由裝置,其特征在于,所述多租戶會話標識生成單元生成的多租戶會話標識,是實現(xiàn)多租戶云即時通訊共享架構(gòu)的基礎(chǔ),多租戶會話標識由用戶標識、企業(yè)標識、應用標識、域、子域、設(shè)備構(gòu)成在全集群節(jié)點唯一;也是即時通訊消息數(shù)據(jù)隔離的底層數(shù)據(jù)結(jié)構(gòu)依據(jù),能夠為上層服務提供基礎(chǔ)數(shù)據(jù)模型; 和/或, 所述集群節(jié)點會話模塊根據(jù)路由策略進行消息路由的操作中,所述路由策略包括:本地域、子域、遠程域; 和/或, 所述集群節(jié)點查找模塊根據(jù)接收方的會話標識在本地路由表中查找會話的操作,進一步包括: 如果能查找出會話,則會話投遞消息;如果在本地路由表中為找到會話,則從分布式緩存中查找該會話所在的集群節(jié)點,如果找到集群該集群節(jié)點,則調(diào)用多租戶遠程調(diào)用服務,將消息發(fā)送到該集群節(jié)點,從該集群節(jié)點中查找出會話,由會話投遞消息; 和/或, 所述節(jié)點連接模塊將消息投遞到遠程域集群中的操作,進一步包括: 從分布式緩存的域路由表中根據(jù)域查找出對應的集群節(jié)點,如果集群節(jié)點存在,則消息通過多租戶遠程調(diào)用服務將消息路由到對應的集群節(jié)點,該集群節(jié)點負責再次路由;如果在緩存域路由表中查找不到對應的集群節(jié)點,則建立S2S域節(jié)點連接,再把該域添加到域路由表中,由域集群節(jié)點負責再次路由。
5.根據(jù)權(quán)利要求1或2所述的消息路由裝置,其特征在于,所述分布式服務調(diào)用單元,具體包括: 節(jié)點查找模塊,用于從分布式緩存的會話路由表和域路由表中,查找出遠程網(wǎng)絡(luò)節(jié)占.消息調(diào)用及路由模塊,用于通過分布式遠程調(diào)用,將消息路由到對應遠程網(wǎng)絡(luò)節(jié)點或者對應域中的遠程網(wǎng)絡(luò)節(jié)點。
6.一種消息路由方法,其特征在于,包括: 步驟202:生成多租戶會話標識,使即時通信消息在集群不同域和節(jié)點之間數(shù)據(jù)傳輸;步驟204:在多租戶共享架構(gòu)模式下,將傳輸?shù)募磿r通信消息從一段發(fā)送到另外一段,消息在網(wǎng)絡(luò)服務器節(jié)點之間路由,進行多租戶云即時通訊消息集群路由; 步驟206:多租戶云即時通訊消息集群路由后,分布式緩存會話路由表和域路由表,根據(jù)會話或者域能找到其對應的網(wǎng)絡(luò)節(jié)點; 步驟208:從分布式緩存的會話路由表和域路由表中,查找出遠程網(wǎng)絡(luò)節(jié)點,通過分布式遠程調(diào)用,將消息路由到對應節(jié)點或者對應域中的節(jié)點。
7.根據(jù)權(quán)利要求6所述的消息路由方法,其特征在于,所述步驟202,具體包括: 步驟302:生成的多租戶會話標識SID ; 步驟304:根據(jù)生成的多租戶會話標識SID,發(fā)送消息給客戶端。
8.根據(jù)權(quán)利要求6或7所述的消息路由方法,其特征在于,所述步驟204,具體包括: 步驟402:基于生成的多租戶會話標識SID,發(fā)送待路由的消息; 步驟404:發(fā)送的消息被負載均衡到任一集群節(jié)點,該集群節(jié)點根據(jù)路由策略進行消息路由; 步驟406:如果路由策略是本地域,從分布式緩存中取出接受客戶端的多租戶會話標識,根據(jù)接收方的會話標識在本地路由表中查找會話; 步驟408:如果路由策略從選擇遠程域,則將消息投遞到遠程域集群中; 步驟410:如果路由策略從選擇子域,把該消息路由到該子域下的外部組件。
9.根據(jù)權(quán)利要求8所述的消息路由方法,其特征在于,所述步驟202生成的多租戶會話標識,是實現(xiàn)多租戶云即時通訊共享架構(gòu)的基礎(chǔ),多租戶會話標識由用戶標識、企業(yè)標識、應用標識、域、子域、設(shè)備構(gòu)成在全集群節(jié)點唯一;也是即時通訊消息數(shù)據(jù)隔離的底層數(shù)據(jù)結(jié)構(gòu)依據(jù),能夠為上層服務提供基礎(chǔ)數(shù)據(jù)模型; 和/或, 所述步驟404根據(jù)路由策略進行消息路由的操作中,所述路由策略包括:本地域、子域、遠程域; 和/或,所述步驟406根據(jù)接收方的會話標識在本地路由表中查找會話的操作,進一步包括:如果能查找出會話,則會話投遞消息;如果在本地路由表中為找到會話,則從分布式緩存中查找該會話所在的集群節(jié)點,如果找到集群該集群節(jié)點,則調(diào)用多租戶遠程調(diào)用服務,將消息發(fā)送到該集群節(jié)點,從該集群節(jié)點中查找出會話,由會話投遞消息; 和/或, 所述步驟408將消息投遞到遠程域集群中的操作,進一步包括: 從分布式緩存的域路由表中根據(jù)域查找出對應的集群節(jié)點,如果集群節(jié)點存在,則消息通過多租戶遠程調(diào)用服務將消息路由到對應的集群節(jié)點,該集群節(jié)點負責再次路由;如果在緩存域路由表中查找不到對應的集群節(jié)點,則建立S2S域節(jié)點連接,再把該域添加到域路由表中,由域集群節(jié)點負責再次路由。
10.根據(jù)權(quán)利要求6或7所述的消息路由方法,其特征在于,所述步驟208,具體包括: 步驟502:從分布式緩存的會話路由表和域路由表中,查找出遠程網(wǎng)絡(luò)節(jié)點; 步驟504:通過分布式遠程調(diào)用,將消息路由到對應遠程網(wǎng)絡(luò)節(jié)點或者對應域中的遠程網(wǎng)絡(luò)節(jié)點。
【文檔編號】H04L29/08GK104468805SQ201410770738
【公開日】2015年3月25日 申請日期:2014年12月12日 優(yōu)先權(quán)日:2014年12月12日
【發(fā)明者】王宇光 申請人:用友軟件股份有限公司