CN104468805B - 消息路由装置和方法 - Google Patents
消息路由装置和方法 Download PDFInfo
- Publication number
- CN104468805B CN104468805B CN201410770738.6A CN201410770738A CN104468805B CN 104468805 B CN104468805 B CN 104468805B CN 201410770738 A CN201410770738 A CN 201410770738A CN 104468805 B CN104468805 B CN 104468805B
- Authority
- CN
- China
- Prior art keywords
- message
- domain
- session
- node
- routing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供了一种消息路由装置,包括:多租户会话标识生成单元,用于生成多租户会话标识,使即时通信消息在集群不同域和节点之间数据传输;消息路由单元,用于在多租户共享架构模式下,将传输的即时通信消息从一段发送到另外一段;分布式缓存单元,用于分布式缓存会话路由表和域路由表;分布式服务调用单元,用于从分布式缓存的会话路由表和域路由表中,查找出远程网络节点,通过分布式远程调用,将消息路由到对应节点或者对应域中的节点。本发明还提供了一种消息路由方法。通过本发明的技术方案,可以在现有的消息路由方式基础上,充分利用单对象类型完成多对象类型的消息路由,建立多对象类型参与的消息路由的通用、统一路由思路。
Description
技术领域
本发明涉及数据处理技术领域,具体地,涉及一种消息路由装置和一种消息路由方法。
背景技术
随着互联网移动化智能化,HTML5标准的统一,互联网APP、移动APP、企业应用、网络游戏、手游等都需要嵌入即时通讯的功能,使人与人、企业与客户、企业与企业之间即时的沟通、协作和分享。目前,只有少数大的互联网公司具备即时通讯的技术和运营团队,并且研发成本和技术门槛较高,主要涉及到大数据存储、高并发、数据安全、高可用易扩展、大数据分析和挖掘等关键技术。纵观互联网即时通讯领域,以及即时通讯应用现状,目前该尤其在企业即时通讯技术和运营上比较混乱,主要存在以下问题:
⑴不同企业消息通信数据只是以简单账号隔离,无法在宏观上对消息按照多个维度统计和分析。
⑵消息按照简单的集群节点对等路由;无法实现不同域之间消息路由,部署方式无法满足企业集团多域复杂场景。
⑶消息并不能按照企业和应用在不同集群域和节点之间路由。
⑷弱网络环境下消息路由到达率无法保证。
⑸自行研发,技术门槛较高,周期较长;虽然有开源即时通讯协议和技术框架,但改造难度较大
⑹支持千万级甚至更大在线用户高可靠,高并发服务集群架构难度较大;
采用怎样的架构满足即时通信消息在集群节点不同域或者子域之间路由,满足复杂多变的应用场景,并能够为千千万万互联网和企业应用提供低成本的即时通讯和消息推送服务,是该方案的立足点和待解决的问题。
因此,需要一种新的消息路由技术,可以在现有的消息路由方式基础上,充分利用单对象类型完成多对象类型的消息路由,建立多对象类型参与的消息路由的通用、统一路由思路。
发明内容
本发明正是基于上述问题,提出了一种新的消息路由技术,可以在现有的消息路由方式基础上,充分利用单对象类型完成多对象类型的消息路由,建立多对象类型参与的消息路由的通用、统一路由思路。
有鉴于此,本发明提出了一种消息路由装置,包括:多租户会话标识生成单元,用于生成多租户会话标识,使即时通信消息在集群不同域和节点之间数据传输;消息路由单元,用于在多租户共享架构模式下,将传输的即时通信消息从一段发送到另外一段,消息在网络服务器节点之间路由,进行多租户云即时通讯消息集群路由;分布式缓存单元,用于分布式缓存会话路由表和域路由表,根据会话或者域能找到其对应的网络节点;分布式服务调用单元,用于从分布式缓存的会话路由表和域路由表中,查找出远程网络节点,通过分布式远程调用,将消息路由到对应节点或者对应域中的节点。在该技术方案中,可以用于云端即时通讯,实现企业云端即时通讯多租户共享架构的消息路由。
在上述技术方案中,优选地,所述多租户会话标识生成单元,具体包括:标识生成模块,用于生成的多租户会话标识SID;消息发送模块,用于根据生成的多租户会话标识SID,发送消息给客户端。在该技术方案中,可以构建互联网和企业即时通信消息数据模型,从企业和应用维度对数据隔离,以不同粒度在宏观上对整个企业即时通讯消息数据分析、挖掘和预测。
在上述技术方案中,优选地,所述消息路由单元,具体包括:标识会话模块,用于基于生成的多租户会话标识SID,发送待路由的消息;集群节点会话模块,用于发送的消息被负载均衡到任一集群节点,该集群节点根据路由策略进行消息路由;集群节点查找模块,用于如果路由策略是本地域,从分布式缓存中取出接受客户端的多租户会话标识,根据接收方的会话标识在本地路由表中查找会话;节点连接模块,用于如果路由策略从选择远程域,则将消息投递到远程域集群中;子域消息路由模块,用于如果路由策略从选择子域,把该消息路由到该子域下的外部组件。在该技术方案中,可以实现即时通讯消息在集群域和节点之间的消息路由,在架构上能满足复杂的应用场景,达到集群和应用无限扩展。
在上述技术方案中,优选地,所述多租户会话标识生成单元生成的多租户会话标识,是实现多租户云即时通讯共享架构的基础,多租户会话标识由用户标识、企业标识、应用标识、域、子域、设备构成在全集群节点唯一;也是即时通讯消息数据隔离的底层数据结构依据,能够为上层服务提供基础数据模型;和/或,所述集群节点会话模块根据路由策略进行消息路由的操作中,所述路由策略包括:本地域、子域、远程域;和/或,所述集群节点查找模块根据接收方的会话标识在本地路由表中查找会话的操作,进一步包括:如果能查找出会话,则会话投递消息;如果在本地路由表中为找到会话,则从分布式缓存中查找该会话所在的集群节点,如果找到集群该集群节点,则调用多租户远程调用服务,将消息发送到该集群节点,从该集群节点中查找出会话,由会话投递消息;和/或,所述节点连接模块将消息投递到远程域集群中的操作,进一步包括:从分布式缓存的域路由表中根据域查找出对应的集群节点,如果集群节点存在,则消息通过多租户远程调用服务将消息路由到对应的集群节点,该集群节点负责再次路由;如果在缓存域路由表中查找不到对应的集群节点,则建立S2S域节点连接,再把该域添加到域路由表中,由域集群节点负责再次路由。
在上述技术方案中,优选地,所述分布式服务调用单元,具体包括:节点查找模块,用于从分布式缓存的会话路由表和域路由表中,查找出远程网络节点;消息调用及路由模块,用于通过分布式远程调用,将消息路由到对应远程网络节点或者对应域中的远程网络节点。在该技术方案中,可以实现多租户云即时通讯共享架构,为成千上万的互联网应用和企业提供云即时通讯和消息推送服务。
根据本发明的又一个方面,还提出了一种消息路由方法,包括:步骤202:生成多租户会话标识,使即时通信消息在集群不同域和节点之间数据传输;步骤204:在多租户共享架构模式下,将传输的即时通信消息从一段发送到另外一段,消息在网络服务器节点之间路由,进行多租户云即时通讯消息集群路由;步骤206:多租户云即时通讯消息集群路由后,分布式缓存会话路由表和域路由表,根据会话或者域能找到其对应的网络节点;步骤208:从分布式缓存的会话路由表和域路由表中,查找出远程网络节点,通过分布式远程调用,将消息路由到对应节点或者对应域中的节点。在该技术方案中,可以用于云端即时通讯,实现企业云端即时通讯多租户共享架构的消息路由。
在上述技术方案中,优选地,所述步骤202,具体包括:步骤302:生成的多租户会话标识SID;步骤304:根据生成的多租户会话标识SID,发送消息给客户端。在该技术方案中,可以构建互联网和企业即时通信消息数据模型,从企业和应用维度对数据隔离,以不同粒度在宏观上对整个企业即时通讯消息数据分析、挖掘和预测。
在上述技术方案中,优选地,所述步骤204,具体包括:步骤402:基于生成的多租户会话标识SID,发送待路由的消息;步骤404:发送的消息被负载均衡到任一集群节点,该集群节点根据路由策略进行消息路由;步骤406:如果路由策略是本地域,从分布式缓存中取出接受客户端的多租户会话标识,根据接收方的会话标识在本地路由表中查找会话;步骤408:如果路由策略从选择远程域,则将消息投递到远程域集群中;步骤410:如果路由策略从选择子域,把该消息路由到该子域下的外部组件。在该技术方案中,可以实现即时通讯消息在集群域和节点之间的消息路由,在架构上能满足复杂的应用场景,达到集群和应用无限扩展。
在上述技术方案中,优选地,所述步骤202生成的多租户会话标识,是实现多租户云即时通讯共享架构的基础,多租户会话标识由用户标识、企业标识、应用标识、域、子域、设备构成在全集群节点唯一;也是即时通讯消息数据隔离的底层数据结构依据,能够为上层服务提供基础数据模型;和/或,所述步骤404根据路由策略进行消息路由的操作中,所述路由策略包括:本地域、子域、远程域;和/或,所述步骤406根据接收方的会话标识在本地路由表中查找会话的操作,进一步包括:如果能查找出会话,则会话投递消息;如果在本地路由表中为找到会话,则从分布式缓存中查找该会话所在的集群节点,如果找到集群该集群节点,则调用多租户远程调用服务,将消息发送到该集群节点,从该集群节点中查找出会话,由会话投递消息;和/或,所述步骤408将消息投递到远程域集群中的操作,进一步包括:从分布式缓存的域路由表中根据域查找出对应的集群节点,如果集群节点存在,则消息通过多租户远程调用服务将消息路由到对应的集群节点,该集群节点负责再次路由;如果在缓存域路由表中查找不到对应的集群节点,则建立S2S域节点连接,再把该域添加到域路由表中,由域集群节点负责再次路由。
在上述技术方案中,优选地,所述步骤208,具体包括:步骤502:从分布式缓存的会话路由表和域路由表中,查找出远程网络节点;步骤504:通过分布式远程调用,将消息路由到对应远程网络节点或者对应域中的远程网络节点。在该技术方案中,可以实现多租户云即时通讯共享架构,为成千上万的互联网应用和企业提供云即时通讯和消息推送服务。
通过以上技术方案,可以在现有的消息路由方式基础上,充分利用单对象类型完成多对象类型的消息路由,建立多对象类型参与的消息路由的通用、统一路由思路。
附图说明
图1示出了根据本发明的实施例的消息路由装置的框图;
图2示出了根据本发明的实施例的消息路由方法的流程图;
图3示出了根据本发明的实施例的多租户会话标识生成单元的流程图;
图4示出了根据本发明的实施例的消息路由单元的流程图;
图5示出了根据本发明的实施例的分布式服务调用单元的流程图;
图6示出了根据本发明的实施例的基于多租户云即时通讯消息集群路由的方法的逻辑关系图;
图7示出了根据本发明的实施例的讲解多租户云即时通讯消息集群路由的流程图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的实施例的消息路由装置的框图。
如图1所示,根据本发明的实施例的消息路由装置100,包括:多租户会话标识生成单元102,用于生成多租户会话标识,使即时通信消息在集群不同域和节点之间数据传输;消息路由单元104,用于在多租户共享架构模式下,将传输的即时通信消息从一段发送到另外一段,消息在网络服务器节点之间路由,进行多租户云即时通讯消息集群路由;分布式缓存单元106,用于分布式缓存会话路由表和域路由表,根据会话或者域能找到其对应的网络节点;分布式服务调用单元108,用于从分布式缓存的会话路由表和域路由表中,查找出远程网络节点,通过分布式远程调用,将消息路由到对应节点或者对应域中的节点。在该技术方案中,可以用于云端即时通讯,实现企业云端即时通讯多租户共享架构的消息路由。
在上述技术方案中,优选地,多租户会话标识生成单元102,具体包括:标识生成模块1022,用于生成的多租户会话标识SID;消息发送模块1024,用于根据生成的多租户会话标识SID,发送消息给客户端。在该技术方案中,可以构建互联网和企业即时通信消息数据模型,从企业和应用维度对数据隔离,以不同粒度在宏观上对整个企业即时通讯消息数据分析、挖掘和预测。
在上述技术方案中,优选地,消息路由单元104,具体包括:标识会话模块1042,用于基于生成的多租户会话标识SID,发送待路由的消息;集群节点会话模块1044,用于发送的消息被负载均衡到任一集群节点,该集群节点根据路由策略进行消息路由;集群节点查找模块1046,用于如果路由策略是本地域,从分布式缓存中取出接受客户端的多租户会话标识,根据接收方的会话标识在本地路由表中查找会话;节点连接模块1048,用于如果路由策略从选择远程域,则将消息投递到远程域集群中;子域消息路由模块1050,用于如果路由策略从选择子域,把该消息路由到该子域下的外部组件。在该技术方案中,可以实现即时通讯消息在集群域和节点之间的消息路由,在架构上能满足复杂的应用场景,达到集群和应用无限扩展。
在上述技术方案中,优选地,多租户会话标识生成单元102生成的多租户会话标识,是实现多租户云即时通讯共享架构的基础,多租户会话标识由用户标识、企业标识、应用标识、域、子域、设备构成在全集群节点唯一;也是即时通讯消息数据隔离的底层数据结构依据,能够为上层服务提供基础数据模型;和/或,集群节点会话模块1044根据路由策略进行消息路由的操作中,路由策略包括:本地域、子域、远程域;和/或,集群节点查找模块1046根据接收方的会话标识在本地路由表中查找会话的操作,进一步包括:如果能查找出会话,则会话投递消息;如果在本地路由表中为找到会话,则从分布式缓存中查找该会话所在的集群节点,如果找到集群该集群节点,则调用多租户远程调用服务,将消息发送到该集群节点,从该集群节点中查找出会话,由会话投递消息;和/或,节点连接模块1048将消息投递到远程域集群中的操作,进一步包括:从分布式缓存的域路由表中根据域查找出对应的集群节点,如果集群节点存在,则消息通过多租户远程调用服务将消息路由到对应的集群节点,该集群节点负责再次路由;如果在缓存域路由表中查找不到对应的集群节点,则建立S2S域节点连接,再把该域添加到域路由表中,由域集群节点负责再次路由。
在上述技术方案中,优选地,分布式服务调用单元108,具体包括:节点查找模块1082,用于从分布式缓存的会话路由表和域路由表中,查找出远程网络节点;消息调用及路由模块1084,用于通过分布式远程调用,将消息路由到对应远程网络节点或者对应域中的远程网络节点。在该技术方案中,可以实现多租户云即时通讯共享架构,为成千上万的互联网应用和企业提供云即时通讯和消息推送服务。
图2示出了根据本发明的实施例的消息路由方法的流程图。
如图2所示,根据本发明的实施例的消息路由方法,包括:步骤202:生成多租户会话标识,使即时通信消息在集群不同域和节点之间数据传输;步骤204:在多租户共享架构模式下,将传输的即时通信消息从一段发送到另外一段,消息在网络服务器节点之间路由,进行多租户云即时通讯消息集群路由;步骤206:多租户云即时通讯消息集群路由后,分布式缓存会话路由表和域路由表,根据会话或者域能找到其对应的网络节点;步骤208:从分布式缓存的会话路由表和域路由表中,查找出远程网络节点,通过分布式远程调用,将消息路由到对应节点或者对应域中的节点。在该技术方案中,可以用于云端即时通讯,实现企业云端即时通讯多租户共享架构的消息路由。
在上述技术方案中,优选地,如图3所示,步骤202,具体包括:步骤302:生成的多租户会话标识SID;步骤304:根据生成的多租户会话标识SID,发送消息给客户端。在该技术方案中,可以构建互联网和企业即时通信消息数据模型,从企业和应用维度对数据隔离,以不同粒度在宏观上对整个企业即时通讯消息数据分析、挖掘和预测。
在上述技术方案中,优选地,如图4所示,步骤204,具体包括:步骤402:基于生成的多租户会话标识SID,发送待路由的消息;步骤404:发送的消息被负载均衡到任一集群节点,该集群节点根据路由策略进行消息路由;步骤406:如果路由策略是本地域,从分布式缓存中取出接受客户端的多租户会话标识,根据接收方的会话标识在本地路由表中查找会话;步骤408:如果路由策略从选择远程域,则将消息投递到远程域集群中;步骤410:如果路由策略从选择子域,把该消息路由到该子域下的外部组件。在该技术方案中,可以实现即时通讯消息在集群域和节点之间的消息路由,在架构上能满足复杂的应用场景,达到集群和应用无限扩展。
在上述技术方案中,优选地,步骤202生成的多租户会话标识,是实现多租户云即时通讯共享架构的基础,多租户会话标识由用户标识、企业标识、应用标识、域、子域、设备构成在全集群节点唯一;也是即时通讯消息数据隔离的底层数据结构依据,能够为上层服务提供基础数据模型;和/或,步骤404根据路由策略进行消息路由的操作中,路由策略包括:本地域、子域、远程域;和/或,步骤406根据接收方的会话标识在本地路由表中查找会话的操作,进一步包括:如果能查找出会话,则会话投递消息;如果在本地路由表中为找到会话,则从分布式缓存中查找该会话所在的集群节点,如果找到集群该集群节点,则调用多租户远程调用服务,将消息发送到该集群节点,从该集群节点中查找出会话,由会话投递消息;和/或,步骤408将消息投递到远程域集群中的操作,进一步包括:从分布式缓存的域路由表中根据域查找出对应的集群节点,如果集群节点存在,则消息通过多租户远程调用服务将消息路由到对应的集群节点,该集群节点负责再次路由;如果在缓存域路由表中查找不到对应的集群节点,则建立S2S域节点连接,再把该域添加到域路由表中,由域集群节点负责再次路由。
在上述技术方案中,优选地,如图5所示,步骤208,具体包括:步骤502:从分布式缓存的会话路由表和域路由表中,查找出远程网络节点;步骤504:通过分布式远程调用,将消息路由到对应远程网络节点或者对应域中的远程网络节点。在该技术方案中,可以实现多租户云即时通讯共享架构,为成千上万的互联网应用和企业提供云即时通讯和消息推送服务。
本发明的技术方案,涉及一种基于云端多租户的即时通讯消息的路由方法和装置;可用于云端即时通讯,通过本发明的技术方案,实现企业云端即时通讯多租户共享架构的消息路由。
基于现有技术存在的缺点,本发明的技术方案提出一种基于多租户云即时通讯消息集群路由的技术方案。本发明的技术方案,较好地解决了上述问题,其特点是:
⑴以企业、应用、组织、用户为中心,构建互联网和企业即时通信消息数据模型,从企业和应用维度对数据隔离,以不同粒度在宏观上对整个企业即时通讯消息数据分析、挖掘和预测。
⑵实现即时通讯消息在集群域和节点之间的消息路由,在架构上能满足复杂的应用场景,达到集群和应用无限扩展。
⑶实现多租户云即时通讯共享架构,为成千上万的互联网应用和企业提供云即时通讯和消息推送服务。
为了实现上述目标,本发明技术方案提出的基于多租户云即时通讯消息集群路由的技术方案,主要包括四个单元:会话多租户会话标识生成单元、消息路由单元、分布式缓存单元、分布式服务调用单元。本发明技术方案的逻辑关系图如图6所示。
㈠多租户会话标识生成单元
多租户会话标识是实现多租户云即时通讯共享架构的基础,多租户会话标识由用户标识、企业标识、应用标识、域、子域、设备构成在全集群节点唯一。也是即时通讯消息数据隔离的底层数据结构依据,为上层服务提供基础数据模型。使即时通信消息在集群不同域和节点之间数据传输。
多租户会话标识,简称SID,用公式表示:
SID=Userkey.appkey.etpkey@domain/resource。
多租户会话标识单元包含以下几个组件:
1、用户标识:即时通讯***用户帐号
2、企业标识:即时通讯***企业账号
3、应用标识:即时通讯***应用账号
4、域:即时通讯***集群或子集群标识
5、设备:终端类型
㈡消息路由单元
在多租户共享架构模式下,即时通信消息从一段发送到另外一段,消息需要在网络服务器节点之间路由。如何让消息安全可靠的路由到正确的集群节点或者子域集群节点是多组合云即时通讯的关键所在。这其中涉及到local节点、remote节点、域或子域节点如何路由消息。
多租户云即时通讯消息集群路由步骤描述如下:
1、客户端发送消息给另一客户端,客户端用多租户会话标识生成单元生成多租户会话标识SID,并发送消息。
2、消息被负载均衡到任一集群节点,该集群节点根据路由策略做消息路由,路由策略包括:本地域、子域、远程域。
3、如果路由策略是本地域,从分布式缓存中取出接受客户端的多租户会话标识,根据接收方的会话标识在首先在本地理由表中查找,如果能查找出会话,则会话投递消息;如果在本地路由表中为找到会话,则从分布式缓存中查找该会话所在的集群节点,如果找到集群该集群节点,则调用多租户远程调用服务,将消息发送到该集群节点,从该集群节点中查找出会话,由会话投递消息。
4、如果路由策略从选择远程域,则说明消息会被投递到远程域集群中。首先从分布式缓存的域理由表中根据域查找出对应的集群节点,如果集群节点存在,则消息通过多租户远程调用服务将消息路由到对应的集群节点,该集群节点负责再次路由;如果在缓存域路由表中查找不到对应的集群节点,则建立S2S域节点连接,再把该域添加到域路由表中,由域集群节点负责再次路由。
5、如果路由策略从选择子域,会把该消息理由到该子域下的外部组件。
图7详细讲解多租户云即时通讯消息集群路由流程。
㈢分布式缓存单元
分布式缓存单元缓存会话路由表和域路由表,根据会话或者域能找到其对应的网络节点。
㈣分布式服务调用单元
从分布式缓存的会话路由表和域路由表中查找出远程网络节点,通过过分布式远程调用装置,将消息路由到对应节点或者对应域中的节点。
本发明的技术方案,以企业、应用、组织、用户为数据模型,实现企业云端多租户共享架构即时通讯消息的路由。采用本发明的技术方案,一方面实现不同域之间的消息路由;另一方面以企业、应用、组织对数据隔离,实现虚拟组织应用。与现有技术的区别之处:
⑴以企业、应用、组织、用户为中心,构建互联网和企业即时通信消息数据模型,从企业和应用维度对数据隔离,以不同粒度在宏观上对整个企业即时通讯消息数据分析、挖掘和预测。
⑵实现即时通讯消息在集群域和节点之间的消息路由,在架构上能满足复杂的应用场景,达到集群和应用无限扩展。
⑶实现多租户云即时通讯共享架构,为成千上万的互联网应用和企业提供云即时通讯和消息推送服务。
以上结合附图详细说明了本发明的技术方案,考虑到相关技术中没有简便的、统一的针对复杂类型元数据路由的解决办法。现有的消息路由无法完成有复杂类型参与的消息路由过程。因此,本发明提出了一种消息路由装置和一种消息路由方法,可以在现有的消息路由方式基础上,充分利用单对象类型完成多对象类型的消息路由,建立多对象类型参与的消息路由的通用、统一路由思路。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种消息路由装置,其特征在于,包括:
多租户会话标识生成单元,用于生成多租户会话标识,使即时通信消息在集群不同域和节点之间数据传输;
消息路由单元,用于在多租户共享架构模式下,将传输的即时通信消息从一段发送到另外一段,消息在网络服务器节点之间路由,进行多租户云即时通讯消息集群路由;
分布式缓存单元,用于分布式缓存会话路由表和域路由表,根据会话或者域能找到其对应的网络节点;
分布式服务调用单元,用于从分布式缓存的会话路由表和域路由表中,查找出远程网络节点,通过分布式远程调用,将消息路由到对应节点或者对应域中的节点;
所述消息路由单元,具体包括:
标识会话模块,用于基于生成的多租户会话标识SID,发送待路由的消息;
集群节点会话模块,用于发送的消息被负载均衡到任一集群节点,该集群节点根据路由策略进行消息路由;
集群节点查找模块,用于如果路由策略是本地域,从分布式缓存中取出接收客户端的多租户会话标识,根据接收方的会话标识在本地路由表中查找会话;
节点连接模块,用于如果路由策略选择远程域,则将消息投递到远程域集群中;
子域消息路由模块,用于如果路由策略选择子域,把该消息路由到该子域下的外部组件。
2.根据权利要求1所述的消息路由装置,其特征在于,所述多租户会话标识生成单元,具体包括:
标识生成模块,用于生成多租户会话标识SID;
消息发送模块,用于根据生成的多租户会话标识SID,发送消息给客户端。
3.根据权利要求2所述的消息路由装置,其特征在于,所述多租户会话标识生成单元生成的多租户会话标识,是实现多租户云即时通讯共享架构的基础,多租户会话标识由用户标识、企业标识、应用标识、域、子域和设备构成,多租户会话标识的全集群节点唯一;也是即时通讯消息数据隔离的底层数据结构依据,能够为上层服务提供基础数据模型;
和/或,
所述集群节点会话模块根据路由策略进行消息路由的操作中,所述路由策略包括:本地域、子域、远程域;
和/或,
所述集群节点查找模块根据接收方的会话标识在本地路由表中查找会话的操作,进一步包括:
如果查找出会话,则会话投递消息;如果在本地路由表中未找到会话,则从分布式缓存中查找该会话所在的集群节点,如果找到集群该集群节点,则调用多租户远程调用服务,将消息发送到该集群节点,从该集群节点中查找出会话,由会话投递消息;
和/或,
所述节点连接模块将消息投递到远程域集群中的操作,进一步包括:
从分布式缓存的域路由表中根据域查找出对应的集群节点,如果集群节点存在,则消息通过多租户远程调用服务将消息路由到对应的集群节点,该集群节点负责再次路由;如果在缓存域路由表中查找不到对应的集群节点,则建立S2S(server to server)域节点连接,再把该域添加到域路由表中,由域集群节点负责再次路由。
4.根据权利要求1或2所述的消息路由装置,其特征在于,所述分布式服务调用单元,具体包括:
节点查找模块,用于从分布式缓存的会话路由表和域路由表中,查找出远程网络节点;
消息调用及路由模块,用于通过分布式远程调用,将消息路由到对应远程网络节点或者对应域中的远程网络节点。
5.一种消息路由方法,其特征在于,包括:
步骤202:生成多租户会话标识,使即时通信消息在集群不同域和节点之间数据传输;
步骤204:在多租户共享架构模式下,将传输的即时通信消息从一段发送到另外一段,消息在网络服务器节点之间路由,进行多租户云即时通讯消息集群路由;
步骤206:多租户云即时通讯消息集群路由后,分布式缓存会话路由表和域路由表,根据会话或者域能找到其对应的网络节点;
步骤208:从分布式缓存的会话路由表和域路由表中,查找出远程网络节点,通过分布式远程调用,将消息路由到对应节点或者对应域中的节点;
所述步骤204,具体包括:
步骤402:基于生成的多租户会话标识SID,发送待路由的消息;
步骤404:发送的消息被负载均衡到任一集群节点,该集群节点根据路由策略进行消息路由;
步骤406:如果路由策略是本地域,从分布式缓存中取出接收客户端的多租户会话标识,根据接收方的会话标识在本地路由表中查找会话;
步骤408:如果路由策略选择远程域,则将消息投递到远程域集群中;
步骤410:如果路由策略选择子域,把该消息路由到该子域下的外部组件。
6.根据权利要求5所述的消息路由方法,其特征在于,所述步骤202,具体包括:
步骤302:生成多租户会话标识SID;
步骤304:根据生成的多租户会话标识SID,发送消息给客户端。
7.根据权利要求6所述的消息路由方法,其特征在于,所述步骤202生成的多租户会话标识,是实现多租户云即时通讯共享架构的基础,多租户会话标识由用户标识、企业标识、应用标识、域、子域和设备构成,多租户会话标识的全集群节点唯一;也是即时通讯消息数据隔离的底层数据结构依据,能够为上层服务提供基础数据模型;
和/或,
所述步骤404根据路由策略进行消息路由的操作中,所述路由策略包括:本地域、子域、远程域;
和/或,
所述步骤406根据接收方的会话标识在本地路由表中查找会话的操作,进一步包括:
如果能查找出会话,则会话投递消息;如果在本地路由表中未 找到会话,则从分布式缓存中查找该会话所在的集群节点,如果找到集群该集群节点,则调用多租户远程调用服务,将消息发送到该集群节点,从该集群节点中查找出会话,由会话投递消息;
和/或,
所述步骤408将消息投递到远程域集群中的操作,进一步包括:
从分布式缓存的域路由表中根据域查找出对应的集群节点,如果集群节点存在,则消息通过多租户远程调用服务将消息路由到对应的集群节点,该集群节点负责再次路由;如果在缓存域路由表中查找不到对应的集群节点,则建立S2S(server to server)域节点连接,再把该域添加到域路由表中,由域集群节点负责再次路由。
8.根据权利要求5所述的消息路由方法,其特征在于,所述步骤208,具体包括:
步骤502:从分布式缓存的会话路由表和域路由表中,查找出远程网络节点;
步骤504:通过分布式远程调用,将消息路由到对应远程网络节点或者对应域中的远程网络节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410770738.6A CN104468805B (zh) | 2014-12-12 | 2014-12-12 | 消息路由装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410770738.6A CN104468805B (zh) | 2014-12-12 | 2014-12-12 | 消息路由装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104468805A CN104468805A (zh) | 2015-03-25 |
CN104468805B true CN104468805B (zh) | 2018-08-28 |
Family
ID=52914157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410770738.6A Active CN104468805B (zh) | 2014-12-12 | 2014-12-12 | 消息路由装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104468805B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656811A (zh) * | 2016-12-06 | 2017-05-10 | 上海斐讯数据通信技术有限公司 | 一种基于AllJoyn框架处理远程调用的方法及*** |
CN108540367B (zh) * | 2017-03-06 | 2021-01-15 | ***通信有限公司研究院 | 一种消息处理方法及*** |
CN107332877A (zh) * | 2017-06-02 | 2017-11-07 | 上海金大师网络科技有限公司 | 基于消息路由且缓存上下文的去状态行情网关*** |
CN107819687A (zh) * | 2017-11-15 | 2018-03-20 | 小草数语(北京)科技有限公司 | 固定路由方法、装置及其设备 |
CN108055312B (zh) * | 2017-12-07 | 2021-07-09 | 畅捷通信息技术股份有限公司 | 路由方法及其装置与计算机装置及其可读存储介质 |
CN111917687B (zh) * | 2019-05-08 | 2023-06-27 | 北京京东振世信息技术有限公司 | 一种循环推送提醒消息的方法和装置 |
CN111092816B (zh) * | 2019-11-26 | 2022-02-15 | 金蝶软件(中国)有限公司 | 网关动态路由方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1538316A (zh) * | 2003-04-17 | 2004-10-20 | 联想(北京)有限公司 | 具有层次拓扑结构的消息中间件***及消息传递方法 |
CN103080926A (zh) * | 2010-03-04 | 2013-05-01 | 磁体***公司 | 多租户环境中的个人和社会信息的可移植性 |
CN103544319A (zh) * | 2013-11-06 | 2014-01-29 | 浪潮(北京)电子信息产业有限公司 | 一种多租户共享数据库的方法和多租户数据库即服务*** |
CN103986639A (zh) * | 2014-03-07 | 2014-08-13 | 杭州易和互联软件技术有限公司 | 一种多个独立部署的即时消息***之间实现消息互联互通算法 |
CN104067565A (zh) * | 2012-01-20 | 2014-09-24 | 思科技术公司 | 用于多租户访问网络的连接*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8521780B2 (en) * | 2010-05-07 | 2013-08-27 | Salesforce.Com, Inc. | Methods and systems for sharing email in a multi-tenant database system |
US9392422B2 (en) * | 2013-03-15 | 2016-07-12 | Apollo Education Group, Inc. | Multi-tenant message routing and management |
-
2014
- 2014-12-12 CN CN201410770738.6A patent/CN104468805B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1538316A (zh) * | 2003-04-17 | 2004-10-20 | 联想(北京)有限公司 | 具有层次拓扑结构的消息中间件***及消息传递方法 |
CN103080926A (zh) * | 2010-03-04 | 2013-05-01 | 磁体***公司 | 多租户环境中的个人和社会信息的可移植性 |
CN104067565A (zh) * | 2012-01-20 | 2014-09-24 | 思科技术公司 | 用于多租户访问网络的连接*** |
CN103544319A (zh) * | 2013-11-06 | 2014-01-29 | 浪潮(北京)电子信息产业有限公司 | 一种多租户共享数据库的方法和多租户数据库即服务*** |
CN103986639A (zh) * | 2014-03-07 | 2014-08-13 | 杭州易和互联软件技术有限公司 | 一种多个独立部署的即时消息***之间实现消息互联互通算法 |
Also Published As
Publication number | Publication date |
---|---|
CN104468805A (zh) | 2015-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104468805B (zh) | 消息路由装置和方法 | |
CN104811371B (zh) | 一种全新的即时通信*** | |
CN104521199B (zh) | 用于分布式虚拟交换机的适应性方法、装置以及设备 | |
CN104090825B (zh) | 动态迁移计算机网络 | |
CN109600768A (zh) | 网络切片的管理方法、设备及*** | |
CN103916311B (zh) | 一种信息传输控制方法,装置及*** | |
CN100479415C (zh) | 一种实现数据通讯的***及其方法 | |
CN101917470B (zh) | 一种通信方法、***及装置 | |
CN103475566A (zh) | 一种实时消息交换平台及分布式集群组建方法 | |
CN102025720A (zh) | 关联非企业电话和企业用户的网络架构 | |
CN102833329A (zh) | 链路状态协议控制的网络中路由选择信息的分布式存储 | |
CN101483600A (zh) | 实现一体化网络归属域信息扩散的方法 | |
CN103618801B (zh) | 一种p2p资源共享的方法、设备及*** | |
CN104243608B (zh) | 一种通信方法、云管理服务器及虚拟交换机 | |
CN102780779A (zh) | 一种园区网出口p2p流量优化方法、装置及网关设备 | |
CN105207885B (zh) | 在会话界面中展示用户信息的方法及装置 | |
CN105163062A (zh) | 一种将社会资源接入到公共平台的***及方法 | |
CN104821908A (zh) | 支持专享服务的即时通信方法和*** | |
CN107360089A (zh) | 一种路由建立方法、业务数据转换方法及装置 | |
CN101601227A (zh) | 与网络管理有关的***和方法 | |
CN102037711B (zh) | 在对等网络中限制存储消息 | |
CN107995124A (zh) | 流量调度方法及装置 | |
CN106533884B (zh) | 一种报文传输方法、汇聚设备、交换机及vrrp*** | |
WO2016182424A1 (en) | A new instant messaging(im) routing method and router | |
CN105939404A (zh) | Nat资源的获取方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 100094 Beijing city Haidian District North Road No. 68, UFIDA Software Park Applicant after: Yonyou Network Technology Co., Ltd. Address before: 100094 Beijing city Haidian District North Road No. 68, UFIDA Software Park Applicant before: UFIDA Software Co., Ltd. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |