消息路由装置和方法

文档序号:7822906阅读:191来源:国知局
消息路由装置和方法
【专利摘要】本发明提供了一种消息路由装置,包括:多租户会话标识生成单元,用于生成多租户会话标识,使即时通信消息在集群不同域和节点之间数据传输;消息路由单元,用于在多租户共享架构模式下,将传输的即时通信消息从一段发送到另外一段;分布式缓存单元,用于分布式缓存会话路由表和域路由表;分布式服务调用单元,用于从分布式缓存的会话路由表和域路由表中,查找出远程网络节点,通过分布式远程调用,将消息路由到对应节点或者对应域中的节点。本发明还提供了一种消息路由方法。通过本发明的技术方案,可以在现有的消息路由方式基础上,充分利用单对象类型完成多对象类型的消息路由,建立多对象类型参与的消息路由的通用、统一路由思路。
【专利说明】消息路由装置和方法
[0001]

【技术领域】
[0002]本发明涉及数据处理【技术领域】,具体地,涉及一种消息路由装置和一种消息路由方法。
[0003]

【背景技术】
[0004]随着互联网移动化智能化,!!1见5标准的统一,互联网八??、移动八??、企业应用、网络游戏、手游等都需要嵌入即时通讯的功能,使人与人、企业与客户、企业与企业之间即时的沟通、协作和分享。目前,只有少数大的互联网公司具备即时通讯的技术和运营团队,并且研发成本和技术门槛较高,主要涉及到大数据存储、高并发、数据安全、高可用易扩展、大数据分析和挖掘等关键技术。纵观互联网即时通讯领域,以及即时通讯应用现状,目前该尤其在企业即时通讯技术和运营上比较混乱,主要存在以下问题:
⑴不同企业消息通信数据只是以简单账号隔离,无法在宏观上对消息按照多个维度统计和分析。
[0005]⑵消息按照简单的集群节点对等路由;无法实现不同域之间消息路由,部署方式无法满足企业集团多域复杂场景。
[0006]⑶消息并不能按照企业和应用在不同集群域和节点之间路由。
[0007]⑷弱网络环境下消息路由到达率无法保证。
[0008](5)自行研发,技术门槛较高,周期较长;虽然有开源即时通讯协议和技术框架,但改造难度较大
(6)支持千万级甚至更大在线用户高可靠,高并发服务集群架构难度较大;
采用怎样的架构满足即时通信消息在集群节点不同域或者子域之间路由,满足复杂多变的应用场景,并能够为千千万万互联网和企业应用提供低成本的即时通讯和消息推送服务,是该方案的立足点和待解决的问题。
[0009]因此,需要一种新的消息路由技术,可以在现有的消息路由方式基础上,充分利用单对象类型完成多对象类型的消息路由,建立多对象类型参与的消息路由的通用、统一路由思路。
[0010]


【发明内容】

[0011]本发明正是基于上述问题,提出了一种新的消息路由技术,可以在现有的消息路由方式基础上,充分利用单对象类型完成多对象类型的消息路由,建立多对象类型参与的消息路由的通用、统一路由思路。
[0012]有鉴于此,本发明提出了一种消息路由装置,包括:多租户会话标识生成单元,用于生成多租户会话标识,使即时通信消息在集群不同域和节点之间数据传输;消息路由单元,用于在多租户共享架构模式下,将传输的即时通信消息从一段发送到另外一段,消息在网络服务器节点之间路由,进行多租户云即时通讯消息集群路由;分布式缓存单元,用于分布式缓存会话路由表和域路由表,根据会话或者域能找到其对应的网络节点;分布式服务调用单元,用于从分布式缓存的会话路由表和域路由表中,查找出远程网络节点,通过分布式远程调用,将消息路由到对应节点或者对应域中的节点。在该技术方案中,可以用于云端即时通讯,实现企业云端即时通讯多租户共享架构的消息路由。
[0013]在上述技术方案中,优选地,所述多租户会话标识生成单元,具体包括:标识生成模块,用于生成的多租户会话标识310;消息发送模块,用于根据生成的多租户会话标识310,发送消息给客户端。在该技术方案中,可以构建互联网和企业即时通信消息数据模型,从企业和应用维度对数据隔离,以不同粒度在宏观上对整个企业即时通讯消息数据分析、挖掘和预测。
[0014]在上述技术方案中,优选地,所述消息路由单元,具体包括:标识会话模块,用于基于生成的多租户会话标识310,发送待路由的消息;集群节点会话模块,用于发送的消息被负载均衡到任一集群节点,该集群节点根据路由策略进行消息路由;集群节点查找模块,用于如果路由策略是本地域,从分布式缓存中取出接受客户端的多租户会话标识,根据接收方的会话标识在本地路由表中查找会话;节点连接模块,用于如果路由策略从选择远程域,则将消息投递到远程域集群中;子域消息路由模块,用于如果路由策略从选择子域,把该消息路由到该子域下的外部组件。在该技术方案中,可以实现即时通讯消息在集群域和节点之间的消息路由,在架构上能满足复杂的应用场景,达到集群和应用无限扩展。
[0015]在上述技术方案中,优选地,所述多租户会话标识生成单元生成的多租户会话标识,是实现多租户云即时通讯共享架构的基础,多租户会话标识由用户标识、企业标识、应用标识、域、子域、设备构成在全集群节点唯一;也是即时通讯消息数据隔离的底层数据结构依据,能够为上层服务提供基础数据模型;和/或,所述集群节点会话模块根据路由策略进行消息路由的操作中,所述路由策略包括:本地域、子域、远程域;和/或,所述集群节点查找模块根据接收方的会话标识在本地路由表中查找会话的操作,进一步包括:如果能查找出会话,则会话投递消息;如果在本地路由表中为找到会话,则从分布式缓存中查找该会话所在的集群节点,如果找到集群该集群节点,则调用多租户远程调用服务,将消息发送到该集群节点,从该集群节点中查找出会话,由会话投递消息;和/或,所述节点连接模块将消息投递到远程域集群中的操作,进一步包括:从分布式缓存的域路由表中根据域查找出对应的集群节点,如果集群节点存在,则消息通过多租户远程调用服务将消息路由到对应的集群节点,该集群节点负责再次路由;如果在缓存域路由表中查找不到对应的集群节点,则建立323域节点连接,再把该域添加到域路由表中,由域集群节点负责再次路由。
[0016]在上述技术方案中,优选地,所述分布式服务调用单元,具体包括:节点查找模块,用于从分布式缓存的会话路由表和域路由表中,查找出远程网络节点;消息调用及路由模块,用于通过分布式远程调用,将消息路由到对应远程网络节点或者对应域中的远程网络节点。在该技术方案中,可以实现多租户云即时通讯共享架构,为成千上万的互联网应用和企业提供云即时通讯和消息推送服务。
[0017]根据本发明的又一个方面,还提出了一种消息路由方法,包括:步骤202:生成多租户会话标识,使即时通信消息在集群不同域和节点之间数据传输;步骤204:在多租户共享架构模式下,将传输的即时通信消息从一段发送到另外一段,消息在网络服务器节点之间路由,进行多租户云即时通讯消息集群路由;步骤206:多租户云即时通讯消息集群路由后,分布式缓存会话路由表和域路由表,根据会话或者域能找到其对应的网络节点;步骤208:从分布式缓存的会话路由表和域路由表中,查找出远程网络节点,通过分布式远程调用,将消息路由到对应节点或者对应域中的节点。在该技术方案中,可以用于云端即时通讯,实现企业云端即时通讯多租户共享架构的消息路由。
[0018]在上述技术方案中,优选地,所述步骤202,具体包括:步骤302:生成的多租户会话标识310 ;步骤304:根据生成的多租户会话标识310,发送消息给客户端。在该技术方案中,可以构建互联网和企业即时通信消息数据模型,从企业和应用维度对数据隔离,以不同粒度在宏观上对整个企业即时通讯消息数据分析、挖掘和预测。
[0019]在上述技术方案中,优选地,所述步骤204,具体包括:步骤402:基于生成的多租户会话标识310,发送待路由的消息;步骤404:发送的消息被负载均衡到任一集群节点,该集群节点根据路由策略进行消息路由;步骤406:如果路由策略是本地域,从分布式缓存中取出接受客户端的多租户会话标识,根据接收方的会话标识在本地路由表中查找会话;步骤408:如果路由策略从选择远程域,则将消息投递到远程域集群中;步骤410:如果路由策略从选择子域,把该消息路由到该子域下的外部组件。在该技术方案中,可以实现即时通讯消息在集群域和节点之间的消息路由,在架构上能满足复杂的应用场景,达到集群和应用无限扩展。
[0020]在上述技术方案中,优选地,所述步骤202生成的多租户会话标识,是实现多租户云即时通讯共享架构的基础,多租户会话标识由用户标识、企业标识、应用标识、域、子域、设备构成在全集群节点唯一;也是即时通讯消息数据隔离的底层数据结构依据,能够为上层服务提供基础数据模型;和/或,所述步骤404根据路由策略进行消息路由的操作中,所述路由策略包括:本地域、子域、远程域;和/或,所述步骤406根据接收方的会话标识在本地路由表中查找会话的操作,进一步包括:如果能查找出会话,则会话投递消息;如果在本地路由表中为找到会话,则从分布式缓存中查找该会话所在的集群节点,如果找到集群该集群节点,则调用多租户远程调用服务,将消息发送到该集群节点,从该集群节点中查找出会话,由会话投递消息;和丨或,所述步骤408将消息投递到远程域集群中的操作,进一步包括:从分布式缓存的域路由表中根据域查找出对应的集群节点,如果集群节点存在,则消息通过多租户远程调用服务将消息路由到对应的集群节点,该集群节点负责再次路由;如果在缓存域路由表中查找不到对应的集群节点,则建立323域节点连接,再把该域添加到域路由表中,由域集群节点负责再次路由。
[0021]在上述技术方案中,优选地,所述步骤208,具体包括:步骤502:从分布式缓存的会话路由表和域路由表中,查找出远程网络节点;步骤504:通过分布式远程调用,将消息路由到对应远程网络节点或者对应域中的远程网络节点。在该技术方案中,可以实现多租户云即时通讯共享架构,为成千上万的互联网应用和企业提供云即时通讯和消息推送服务。
[0022]通过以上技术方案,可以在现有的消息路由方式基础上,充分利用单对象类型完成多对象类型的消息路由,建立多对象类型参与的消息路由的通用、统一路由思路。
[0023]

【专利附图】

【附图说明】
[0024]图1示出了根据本发明的实施例的消息路由装置的框图;
图2示出了根据本发明的实施例的消息路由方法的流程图;
图3示出了根据本发明的实施例的多租户会话标识生成单元的流程图;
图4示出了根据本发明的实施例的消息路由单元的流程图;
图5示出了根据本发明的实施例的分布式服务调用单元的流程图;
图6示出了根据本发明的实施例的基于多租户云即时通讯消息集群路由的方法的逻辑关系图;
图7示出了根据本发明的实施例的讲解多租户云即时通讯消息集群路由的流程图。
[0025]

【具体实施方式】
[0026]为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和【具体实施方式】对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
[0027]在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
[0028]图1示出了根据本发明的实施例的消息路由装置的框图。
[0029]如图1所示,根据本发明的实施例的消息路由装置100,包括:多租户会话标识生成单元102,用于生成多租户会话标识,使即时通信消息在集群不同域和节点之间数据传输;消息路由单元104,用于在多租户共享架构模式下,将传输的即时通信消息从一段发送到另外一段,消息在网络服务器节点之间路由,进行多租户云即时通讯消息集群路由;分布式缓存单元106,用于分布式缓存会话路由表和域路由表,根据会话或者域能找到其对应的网络节点;分布式服务调用单元108,用于从分布式缓存的会话路由表和域路由表中,查找出远程网络节点,通过分布式远程调用,将消息路由到对应节点或者对应域中的节点。在该技术方案中,可以用于云端即时通讯,实现企业云端即时通讯多租户共享架构的消息路由。
[0030]在上述技术方案中,优选地,多租户会话标识生成单元102,具体包括:标识生成模块1022,用于生成的多租户会话标识310 ;消息发送模块1024,用于根据生成的多租户会话标识310,发送消息给客户端。在该技术方案中,可以构建互联网和企业即时通信消息数据模型,从企业和应用维度对数据隔离,以不同粒度在宏观上对整个企业即时通讯消息数据分析、挖掘和预测。
[0031]在上述技术方案中,优选地,消息路由单元104,具体包括:标识会话模块1042,用于基于生成的多租户会话标识310,发送待路由的消息;集群节点会话模块1044,用于发送的消息被负载均衡到任一集群节点,该集群节点根据路由策略进行消息路由;集群节点查找模块1046,用于如果路由策略是本地域,从分布式缓存中取出接受客户端的多租户会话标识,根据接收方的会话标识在本地路由表中查找会话;节点连接模块1048,用于如果路由策略从选择远程域,则将消息投递到远程域集群中;子域消息路由模块1050,用于如果路由策略从选择子域,把该消息路由到该子域下的外部组件。在该技术方案中,可以实现即时通讯消息在集群域和节点之间的消息路由,在架构上能满足复杂的应用场景,达到集群和应用无限扩展。
[0032]在上述技术方案中,优选地,多租户会话标识生成单元102生成的多租户会话标识,是实现多租户云即时通讯共享架构的基础,多租户会话标识由用户标识、企业标识、应用标识、域、子域、设备构成在全集群节点唯一;也是即时通讯消息数据隔离的底层数据结构依据,能够为上层服务提供基础数据模型;和/或,集群节点会话模块1044根据路由策略进行消息路由的操作中,路由策略包括:本地域、子域、远程域;和/或,集群节点查找模块1046根据接收方的会话标识在本地路由表中查找会话的操作,进一步包括:如果能查找出会话,则会话投递消息;如果在本地路由表中为找到会话,则从分布式缓存中查找该会话所在的集群节点,如果找到集群该集群节点,则调用多租户远程调用服务,将消息发送到该集群节点,从该集群节点中查找出会话,由会话投递消息;和/或,节点连接模块1048将消息投递到远程域集群中的操作,进一步包括:从分布式缓存的域路由表中根据域查找出对应的集群节点,如果集群节点存在,则消息通过多租户远程调用服务将消息路由到对应的集群节点,该集群节点负责再次路由;如果在缓存域路由表中查找不到对应的集群节点,则建立323域节点连接,再把该域添加到域路由表中,由域集群节点负责再次路由。
[0033]在上述技术方案中,优选地,分布式服务调用单元108,具体包括:节点查找模块1082,用于从分布式缓存的会话路由表和域路由表中,查找出远程网络节点;消息调用及路由模块1084,用于通过分布式远程调用,将消息路由到对应远程网络节点或者对应域中的远程网络节点。在该技术方案中,可以实现多租户云即时通讯共享架构,为成千上万的互联网应用和企业提供云即时通讯和消息推送服务。
[0034]图2示出了根据本发明的实施例的消息路由方法的流程图。
[0035]如图2所示,根据本发明的实施例的消息路由方法,包括:步骤202:生成多租户会话标识,使即时通信消息在集群不同域和节点之间数据传输;步骤204:在多租户共享架构模式下,将传输的即时通信消息从一段发送到另外一段,消息在网络服务器节点之间路由,进行多租户云即时通讯消息集群路由;步骤206:多租户云即时通讯消息集群路由后,分布式缓存会话路由表和域路由表,根据会话或者域能找到其对应的网络节点;步骤208:从分布式缓存的会话路由表和域路由表中,查找出远程网络节点,通过分布式远程调用,将消息路由到对应节点或者对应域中的节点。在该技术方案中,可以用于云端即时通讯,实现企业云端即时通讯多租户共享架构的消息路由。
[0036]在上述技术方案中,优选地,如图3所示,步骤202,具体包括:步骤302:生成的多租户会话标识310 ;步骤304:根据生成的多租户会话标识310,发送消息给客户端。在该技术方案中,可以构建互联网和企业即时通信消息数据模型,从企业和应用维度对数据隔离,以不同粒度在宏观上对整个企业即时通讯消息数据分析、挖掘和预测。
[0037]在上述技术方案中,优选地,如图4所示,步骤204,具体包括:步骤402:基于生成的多租户会话标识310,发送待路由的消息;步骤404:发送的消息被负载均衡到任一集群节点,该集群节点根据路由策略进行消息路由;步骤406:如果路由策略是本地域,从分布式缓存中取出接受客户端的多租户会话标识,根据接收方的会话标识在本地路由表中查找会话;步骤408:如果路由策略从选择远程域,则将消息投递到远程域集群中;步骤410:如果路由策略从选择子域,把该消息路由到该子域下的外部组件。在该技术方案中,可以实现即时通讯消息在集群域和节点之间的消息路由,在架构上能满足复杂的应用场景,达到集群和应用无限扩展。
[0038]在上述技术方案中,优选地,步骤202生成的多租户会话标识,是实现多租户云即时通讯共享架构的基础,多租户会话标识由用户标识、企业标识、应用标识、域、子域、设备构成在全集群节点唯一;也是即时通讯消息数据隔离的底层数据结构依据,能够为上层服务提供基础数据模型;和/或,步骤404根据路由策略进行消息路由的操作中,路由策略包括:本地域、子域、远程域;和/或,步骤406根据接收方的会话标识在本地路由表中查找会话的操作,进一步包括:如果能查找出会话,则会话投递消息;如果在本地路由表中为找到会话,则从分布式缓存中查找该会话所在的集群节点,如果找到集群该集群节点,则调用多租户远程调用服务,将消息发送到该集群节点,从该集群节点中查找出会话,由会话投递消息;和/或,步骤408将消息投递到远程域集群中的操作,进一步包括:从分布式缓存的域路由表中根据域查找出对应的集群节点,如果集群节点存在,则消息通过多租户远程调用服务将消息路由到对应的集群节点,该集群节点负责再次路由;如果在缓存域路由表中查找不到对应的集群节点,则建立323域节点连接,再把该域添加到域路由表中,由域集群节点负责再次路由。
[0039]在上述技术方案中,优选地,如图5所示,步骤208,具体包括:步骤502:从分布式缓存的会话路由表和域路由表中,查找出远程网络节点;步骤504:通过分布式远程调用,将消息路由到对应远程网络节点或者对应域中的远程网络节点。在该技术方案中,可以实现多租户云即时通讯共享架构,为成千上万的互联网应用和企业提供云即时通讯和消息推送服务。
[0040]本发明的技术方案,涉及一种基于云端多租户的即时通讯消息的路由方法和装置;可用于云端即时通讯,通过本发明的技术方案,实现企业云端即时通讯多租户共享架构的消息路由。
[0041]基于现有技术存在的缺点,本发明的技术方案提出一种基于多租户云即时通讯消息集群路由的技术方案。本发明的技术方案,较好地解决了上述问题,其特点是:
⑴以企业、应用、组织、用户为中心,构建互联网和企业即时通信消息数据模型,从企业和应用维度对数据隔离,以不同粒度在宏观上对整个企业即时通讯消息数据分析、挖掘和预测。
[0042]⑵实现即时通讯消息在集群域和节点之间的消息路由,在架构上能满足复杂的应用场景,达到集群和应用无限扩展。
[0043]⑶实现多租户云即时通讯共享架构,为成千上万的互联网应用和企业提供云即时通讯和消息推送服务。
[0044]为了实现上述目标,本发明技术方案提出的基于多租户云即时通讯消息集群路由的技术方案,主要包括四个单元:会话多租户会话标识生成单元、消息路由单元、分布式缓存单元、分布式服务调用单元。本发明技术方案的逻辑关系图如图6所示。
[0045]㈠多租户会话标识生成单元
多租户会话标识是实现多租户云即时通讯共享架构的基础,多租户会话标识由用户标识、企业标识、应用标识、域、子域、设备构成在全集群节点唯一。也是即时通讯消息数据隔离的底层数据结构依据,为上层服务提供基础数据模型。使即时通信消息在集群不同域和节点之间数据传输。
[0046]多租户会话标识,简称310,用公式表示:
810 = 1)86107.61^垃
[0047]多租户会话标识单元包含以下几个组件:
1、用户标识:即时通讯系统用户帐号
2、企业标识:即时通讯系统企业账号
3、应用标识:即时通讯系统应用账号
4、域:即时通讯系统集群或子集群标识
5、设备:终端类型 ㈡消息路由单元
在多租户共享架构模式下,即时通信消息从一段发送到另外一段,消息需要在网络服务器节点之间路由。如何让消息安全可靠的路由到正确的集群节点或者子域集群节点是多组合云即时通讯的关键所在。这其中涉及到10(^1节点、节点、域或子域节点如何路由消息。
[0048]多租户云即时通讯消息集群路由步骤描述如下:
1、客户端发送消息给另一客户端,客户端用多租户会话标识生成单元生成多租户会话标识310,并发送消息。
[0049]2、消息被负载均衡到任一集群节点,该集群节点根据路由策略做消息路由,路由策略包括:本地域、子域、远程域。
[0050]3、如果路由策略是本地域,从分布式缓存中取出接受客户端的多租户会话标识,根据接收方的会话标识在首先在本地理由表中查找,如果能查找出会话,则会话投递消息;如果在本地路由表中为找到会话,则从分布式缓存中查找该会话所在的集群节点,如果找到集群该集群节点,则调用多租户远程调用服务,将消息发送到该集群节点,从该集群节点中查找出会话,由会话投递消息。
[0051]4、如果路由策略从选择远程域,则说明消息会被投递到远程域集群中。首先从分布式缓存的域理由表中根据域查找出对应的集群节点,如果集群节点存在,则消息通过多租户远程调用服务将消息路由到对应的集群节点,该集群节点负责再次路由;如果在缓存域路由表中查找不到对应的集群节点,则建立323域节点连接,再把该域添加到域路由表中,由域集群节点负责再次路由。
[0052]5、如果路由策略从选择子域,会把该消息理由到该子域下的外部组件。
[0053]图7详细讲解多租户云即时通讯消息集群路由流程。
[0054]㈢分布式缓存单元
分布式缓存单元缓存会话路由表和域路由表,根据会话或者域能找到其对应的网络节点。
[0055]㈣分布式服务调用单元
从分布式缓存的会话路由表和域路由表中查找出远程网络节点,通过过分布式远程调用装置,将消息路由到对应节点或者对应域中的节点。
[0056]本发明的技术方案,以企业、应用、组织、用户为数据模型,实现企业云端多租户共享架构即时通讯消息的路由。采用本发明的技术方案,一方面实现不同域之间的消息路由;另一方面以企业、应用、组织对数据隔离,实现虚拟组织应用。与现有技术的区别之处:
⑴以企业、应用、组织、用户为中心,构建互联网和企业即时通信消息数据模型,从企业和应用维度对数据隔离,以不同粒度在宏观上对整个企业即时通讯消息数据分析、挖掘和预测。
[0057]⑵实现即时通讯消息在集群域和节点之间的消息路由,在架构上能满足复杂的应用场景,达到集群和应用无限扩展。
[0058]⑶实现多租户云即时通讯共享架构,为成千上万的互联网应用和企业提供云即时通讯和消息推送服务。
[0059]以上结合附图详细说明了本发明的技术方案,考虑到相关技术中没有简便的、统一的针对复杂类型元数据路由的解决办法。现有的消息路由无法完成有复杂类型参与的消息路由过程。因此,本发明提出了一种消息路由装置和一种消息路由方法,可以在现有的消息路由方式基础上,充分利用单对象类型完成多对象类型的消息路由,建立多对象类型参与的消息路由的通用、统一路由思路。
[0060]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种消息路由装置,其特征在于,包括: 多租户会话标识生成单元,用于生成多租户会话标识,使即时通信消息在集群不同域和节点之间数据传输; 消息路由单元,用于在多租户共享架构模式下,将传输的即时通信消息从一段发送到另外一段,消息在网络服务器节点之间路由,进行多租户云即时通讯消息集群路由; 分布式缓存单元,用于分布式缓存会话路由表和域路由表,根据会话或者域能找到其对应的网络节点; 分布式服务调用单元,用于从分布式缓存的会话路由表和域路由表中,查找出远程网络节点,通过分布式远程调用,将消息路由到对应节点或者对应域中的节点。
2.根据权利要求1所述的消息路由装置,其特征在于,所述多租户会话标识生成单元,具体包括: 标识生成模块,用于生成的多租户会话标识SID ; 消息发送模块,用于根据生成的多租户会话标识SID,发送消息给客户端。
3.根据权利要求1或2所述的消息路由装置,其特征在于,所述消息路由单元,具体包括: 标识会话模块,用于基于生成的多租户会话标识SID,发送待路由的消息; 集群节点会话模块,用于发送的消息被负载均衡到任一集群节点,该集群节点根据路由策略进行消息路由; 集群节点查找模块,用于如果路由策略是本地域,从分布式缓存中取出接受客户端的多租户会话标识,根据接收方的会话标识在本地路由表中查找会话; 节点连接模块,用于如果路由策略从选择远程域,则将消息投递到远程域集群中; 子域消息路由模块,用于如果路由策略从选择子域,把该消息路由到该子域下的外部组件。
4.根据权利要求3所述的消息路由装置,其特征在于,所述多租户会话标识生成单元生成的多租户会话标识,是实现多租户云即时通讯共享架构的基础,多租户会话标识由用户标识、企业标识、应用标识、域、子域、设备构成在全集群节点唯一;也是即时通讯消息数据隔离的底层数据结构依据,能够为上层服务提供基础数据模型; 和/或, 所述集群节点会话模块根据路由策略进行消息路由的操作中,所述路由策略包括:本地域、子域、远程域; 和/或, 所述集群节点查找模块根据接收方的会话标识在本地路由表中查找会话的操作,进一步包括: 如果能查找出会话,则会话投递消息;如果在本地路由表中为找到会话,则从分布式缓存中查找该会话所在的集群节点,如果找到集群该集群节点,则调用多租户远程调用服务,将消息发送到该集群节点,从该集群节点中查找出会话,由会话投递消息; 和/或, 所述节点连接模块将消息投递到远程域集群中的操作,进一步包括: 从分布式缓存的域路由表中根据域查找出对应的集群节点,如果集群节点存在,则消息通过多租户远程调用服务将消息路由到对应的集群节点,该集群节点负责再次路由;如果在缓存域路由表中查找不到对应的集群节点,则建立S2S域节点连接,再把该域添加到域路由表中,由域集群节点负责再次路由。
5.根据权利要求1或2所述的消息路由装置,其特征在于,所述分布式服务调用单元,具体包括: 节点查找模块,用于从分布式缓存的会话路由表和域路由表中,查找出远程网络节占.消息调用及路由模块,用于通过分布式远程调用,将消息路由到对应远程网络节点或者对应域中的远程网络节点。
6.一种消息路由方法,其特征在于,包括: 步骤202:生成多租户会话标识,使即时通信消息在集群不同域和节点之间数据传输;步骤204:在多租户共享架构模式下,将传输的即时通信消息从一段发送到另外一段,消息在网络服务器节点之间路由,进行多租户云即时通讯消息集群路由; 步骤206:多租户云即时通讯消息集群路由后,分布式缓存会话路由表和域路由表,根据会话或者域能找到其对应的网络节点; 步骤208:从分布式缓存的会话路由表和域路由表中,查找出远程网络节点,通过分布式远程调用,将消息路由到对应节点或者对应域中的节点。
7.根据权利要求6所述的消息路由方法,其特征在于,所述步骤202,具体包括: 步骤302:生成的多租户会话标识SID ; 步骤304:根据生成的多租户会话标识SID,发送消息给客户端。
8.根据权利要求6或7所述的消息路由方法,其特征在于,所述步骤204,具体包括: 步骤402:基于生成的多租户会话标识SID,发送待路由的消息; 步骤404:发送的消息被负载均衡到任一集群节点,该集群节点根据路由策略进行消息路由; 步骤406:如果路由策略是本地域,从分布式缓存中取出接受客户端的多租户会话标识,根据接收方的会话标识在本地路由表中查找会话; 步骤408:如果路由策略从选择远程域,则将消息投递到远程域集群中; 步骤410:如果路由策略从选择子域,把该消息路由到该子域下的外部组件。
9.根据权利要求8所述的消息路由方法,其特征在于,所述步骤202生成的多租户会话标识,是实现多租户云即时通讯共享架构的基础,多租户会话标识由用户标识、企业标识、应用标识、域、子域、设备构成在全集群节点唯一;也是即时通讯消息数据隔离的底层数据结构依据,能够为上层服务提供基础数据模型; 和/或, 所述步骤404根据路由策略进行消息路由的操作中,所述路由策略包括:本地域、子域、远程域; 和/或,所述步骤406根据接收方的会话标识在本地路由表中查找会话的操作,进一步包括:如果能查找出会话,则会话投递消息;如果在本地路由表中为找到会话,则从分布式缓存中查找该会话所在的集群节点,如果找到集群该集群节点,则调用多租户远程调用服务,将消息发送到该集群节点,从该集群节点中查找出会话,由会话投递消息; 和/或, 所述步骤408将消息投递到远程域集群中的操作,进一步包括: 从分布式缓存的域路由表中根据域查找出对应的集群节点,如果集群节点存在,则消息通过多租户远程调用服务将消息路由到对应的集群节点,该集群节点负责再次路由;如果在缓存域路由表中查找不到对应的集群节点,则建立S2S域节点连接,再把该域添加到域路由表中,由域集群节点负责再次路由。
10.根据权利要求6或7所述的消息路由方法,其特征在于,所述步骤208,具体包括: 步骤502:从分布式缓存的会话路由表和域路由表中,查找出远程网络节点; 步骤504:通过分布式远程调用,将消息路由到对应远程网络节点或者对应域中的远程网络节点。
【文档编号】H04L29/08GK104468805SQ201410770738
【公开日】2015年3月25日 申请日期:2014年12月12日 优先权日:2014年12月12日
【发明者】王宇光 申请人:用友软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1