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