[发明专利]一种实时消息交换平台及分布式集群组建方法在审
申请号: | 201310287701.3 | 申请日: | 2013-07-10 |
公开(公告)号: | CN103475566A | 公开(公告)日: | 2013-12-25 |
发明(设计)人: | 陈刚 | 申请(专利权)人: | 北京发发时代信息技术有限公司 |
主分类号: | H04L12/58 | 分类号: | H04L12/58;H04L29/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100122 北京市朝阳区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实时 消息 交换 平台 分布式 集群 组建 方法 | ||
技术领域
本发明涉及一种实时消息交换平台,尤其涉及一种实时消息交换平台及分布式集群组建方法。
背景技术
实时消息交换平台(Server)扩展了标准XMPP协议,实现群组、部门、会议、文件传输与共享、语音、视频等功能,数据库采用的是mnesia,在所有服务器间复制并分布式存储数据。受初始设计所限,原系统(ejabberd2111)存在以下问题:
(1)集群系统扩展能力受限(上限10~20台)
原系统仅有一种类型的服务器节点,每台服务器节点都为外部客户端提供服务,节点间的互连与数据交换则通过节点间的TCP长连接形成的网格状集群网络来进行。在N个节点的网络中,仅节点间的连接就需要N*(N-1)/2个,假设20个节点的集群网络,节点间数据通讯就将耗用190个连接,100个节点则将达到4950个连接。在服务器数量增长的情况下,整个系统资源的内部消耗更为可怕若集群节点数量上限估计为20个,按每个节点支撑在线用户5000~10000个计算,20个节点的服务器集群系统预计支撑在线用户数量为100000~200000。
(2)数据库(mnesia)支撑能力受限
原系统采用mnesia数据库存储用户数据,包含帐号信息、离线消息、会话信息、用户名片等。通过mnesia的分布式数据存储机制,用户信息存储在所有服务器上,每一个节点都需要存储全部或部分的数据,每一次的数据存储都要在所有节点上完成一次数据库事务。在节点数量超过10~20时,节点间数据的同步将消耗分布式集群系统的大量资源。
发明内容
本发明的目的就在于为了解决上述问题而提供一种实时消息交换平台及分布式集群组建方法。
本发明通过以下技术方案来实现上述目的:
本发明包括应用服务器集群和数据服务器集群,所述应用服务器集群与所述数据服务器集群通过千兆局域网络通信连接。
具体地,所述数据服务器集群包括数据服务器、管理服务器、第一结构化查询语言服务器、第二结构化查询语言服务器和虚拟服务器,所述管理服务器分别与所述数据服务器和第一结构化查询语言服务器和所述第二结构化查询语言服务器通信连接,所述虚拟服务器分别与所述第一结构化查询语言服务器和所述第二结构化查询语言服务器通信连接。
所述数据服务器包括多个,每个所述数据服务器分别与所述管理服务器通信连接。
具体地,所述应用服务器包括聊天服务器、文件代理服务器和语音视频服务器,所述虚拟服务器与所述聊天服务器通信连接,所述虚拟服务器监控所述文件代理服务器和所述语音视频服务器。
本发明所述实时消息交换平台分布式集群组建方法:
步骤一:所述应用服务器集群中的服务器分为普通节点与网关节点两种类型;
(1)普通节点:向外部客户端提供接入服务,完成登录、验证、会话管理、信息处理等实际业务功能的服务器。
(2)网关节点:对外部客户端完全透明,不直接连接外部客户端,仅与各普通节点相连,具备监控普通节点存活情况,在普通节点间转发消息等功能。
步骤二:所有节点信息存储在一张全局节点表中,由系统管理人员、节点自己共同维护全局节点表中的相关信息;每个节点在安装完毕后都由系统管理人员在全局节点表中增加一条节点数据,设置节点名称为安装时指定的节点名称、节点类型为该节点所担仟的角色类型(0/1)、是否启用设置为1/启用、是否运行则应该设置为0/停止、ip为实际IP地址、描述可不填、启动时间由节点自已启动时进行维护;若未在全局节点表中记录节点信息,该节点将无法加入集群,与其它节点间无法通讯。
(1)节点启动:节点在启动前应确保全局节点表中信息的正确,并且是否启用(isenabled)设置为1/启用;启动时,节点服务首先更新当前结点的运行状态(isstart)为1/启动、启动时间(start_time)为当前时间,然后查找全局节点表中所有已处于运行状态的节点,并缓存于节点服务器内存中;至此网关节点、普通节点按不同的算法进行下一步动作;
(2)节点停止:节点停止分为正常停止与异常停止,无论哪种停止情况,监控节点都将收到节点停止消息,当无网关节点在线时,普通节点遇到需要转发到其它节点的消息,则会直接连接至该节点,并监控该节点的在线状态,被监控节点停止时,监控节点同样会收到节点停止消息,将其从本地在线节点缓存中删除,并同步至全局节点表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京发发时代信息技术有限公司,未经北京发发时代信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310287701.3/2.html,转载请声明来源钻瓜专利网。