一种分布式无上限的网络聊天室消息转发系统技术方案

技术编号:18240647 阅读:21 留言:0更新日期:2018-06-17 05:29
本发明专利技术公开了一种分布式无上限的网络聊天室消息转发系统,包括负载均衡层(用于负载均衡来自客户端的网络连接,避免某个网络连接服务连接压力过大)、网络连接子系统(用于实时跟客户端建立连接,兼容多种网络协议,并负载均衡转发到业务服务系统处理,最终接收业务系统消息,实现转发逻辑,转发给目标用户)、业务处理子系统(用于实时接收网络连接转发的数据,根据实际业务进行数据处理,并群发给网络连接系统)以及用户数据维护子系统(用于保存用户数据,提供第三方查询或提供统计业务)。本发明专利技术可实现提供一种实现分布式网络聊天室的技术方案,最大限度能够减少服务器的开销,同时每个房间最大人数不受单台服务器的性能限制的聊天系统。 1

A distributed and unlimited message forwarding system for network chat rooms

The invention discloses a distributed and unlimited network chat room message forwarding system, which includes load balancing layer (used for load balancing network connection from client, avoiding the excessive pressure of a network connection service connection), network connection subsystem (used for real-time connection with client side, compatible with various network protocols, Load balancing is forwarded to business service system processing, eventually receiving business system message, realizing forwarding logic, forwarding to target user), business processing subsystem (used for real-time receiving and forwarding data, processing data according to actual business, sending to network connection system) and user data maintenance subsystem. System (for saving user data, providing third party queries or providing statistical services). The invention provides a technical scheme for realizing a distributed network chat room, which can minimize the overhead of the server, while the largest number of rooms in each room is not subject to the performance limit of a single server. One

【技术实现步骤摘要】
一种分布式无上限的网络聊天室消息转发系统
本专利技术属于互联网
,具体涉及一种分布式无上限的网络聊天室消息转发系统。
技术介绍
随着目前发展迅猛的直播秀场的发展,网络聊天室作为一种常见的网络沟通工具为多人进行实时交谈、聊天提供重要的信息交流服务。每个直播平台会有多个聊天房间,网络用户经过注册后,可以选择进入其中一个聊天房间,然后在聊天房间里面与主播和其他用户进行互动交流。目前网络聊天室的实现过程是通过服务器将客户端的信息转发到聊天房间的其他客户端。对每个房间的数据处理都是由服务器完成的,并且是为每一个房间配置一个服务进程。这也就意味着服务器上的房间越多,服务进程数也就越多,同样的线程数也就越多,由于服务线程的数量众多,操作系统就需要不停的进行调度以保证每个服务线程都能得到时间使用处理器(CPU)资源来执行代码,所以线程数量越多,操作系统在线程调度上的开销也就越大,也会需要更多的线程调度的开销,这样无疑是系统资源的巨大浪费。同时由于一个房间进程只能在一台服务器上,所以每个房间接受客户端的能力,就受限于单台服务器的性能,不能无限扩展房间中的人数。聊天服务进程出现异常也会导致该房间的所有用户都无法正常聊天。
技术实现思路
鉴于上述,本专利技术提供了一种分布式无上限的网络聊天室消息转发系统,能够最大限度减少服务器的开销,同时每个房间最大人数不受单台服务器的性能限制。一种分布式无上限的网络聊天室消息转发系统,包括客户端、负载均衡中间件、连接层子系统、业务层子系统以及用户数据维护子系统,其中:所述客户端通过负载均衡中间件向连接层子系统发起连接请求,所述负载均衡中间件用于均衡连接层子系统的客户端连接压力,使资源利用最优化;所述连接层子系统负责接受客户端的连接请求,并把客户端的连接请求信息转发给后端的业务层子系统,同时将业务层子系统返回的消息逻辑转发给对应的客户端;所述业务层子系统负责具体的聊天业务处理,其接收连接层子系统转发的消息并进行具体业务规则处理,且功能完全独立;所述用户数据维护子系统用于接收来自业务层子系统的用户数据,并对数据进行智能分析及储存,及时统计当前在线情况并提供包括当前用户在线总数、注册用户在线总数、游客在线总数以及各房间用户在线情况在内的详细数据,为运营提供数据支持。进一步地,所述连接层子系统包括:连接处理模块,用于兼容处理不同客户端的网络协议,建立起与客户端之间有效的网络连接,实现业务数据稳定的收发;业务数据交互模块,通过结合连接池以及连接心跳检测的方式与业务层子系统进行数据交互,以实现连接资源利用率最优化目标;转发逻辑模块,用于存储用户的关键信息,并对客户端与业务层子系统之间的业务信息进行逻辑转发。进一步地,所述业务层子系统包括:业务数据交互模块,用于接收连接层子系统的业务消息,同时将已处理好的业务消息群发至连接层子系统,并维护连接层子系统的连接有效性;数据校验模块,用于过滤非法以及无效的业务数据;业务逻辑处理模块,根据具体业务规则对过滤后的数据进行处理,以保证房间数据准确性,进而对处理后的数据进行再封装并交由业务数据交互模块。进一步地,消息转发逻辑从业务层子系统下放至连接层子系统,所述连接层子系统可通过集群扩展,达到用户连接无上限目标。进一步地,所述业务层子系统可通过集群扩展,达到业务处理能力无上限目标。相较于现有技术,本专利技术系统具有以下五点优势:(1)消息转发逻辑下放至连接层,实现单房间人数无上限连接。(2)支持高并发消息转发和客户端无上限连接请求,同时在网络良好的情况下,消息转发的延迟控制在毫秒级别。(3)高扩展性;单房间的连接人数没有上限,本专利技术中的连接服务和业务服务都可以多机分布式部署,可以根据具体的业务需求,动态增加或减少连接服务和业务服务的进程数。(4)资源利用率高;相比在一台服务器上运行多个聊天服务程序(每个房间都是一个聊天服务进程),本专利技术一台服务器上只需要运行一个连接服务进程。(5)高稳定性;一个业务服务器出现异常或崩溃不影响服务的正常运行,连接服务会根据负载均衡,动态无缝的将消息重新转发到可用的业务服务器上,保证服务的稳定运行。附图说明图1为本专利技术消息转发系统的结构示意图。图2为基于直播秀网络聊天室应用的分布式消息转发系统结构框图。图3为本专利技术消息转发系统中网络连接子系统的处理流程示意图。图4为本专利技术消息转发系统中业务处理子系统的处理流程示意图。具体实施方式为了更为具体地描述本专利技术,下面结合附图及具体实施方式对本专利技术的技术方案进行详细说明。如图1所示,本专利技术聊天消息转发系统包括客户端(PC网页端、PC客户端、手机网页端、手机APP不仅限于IOS,Android)、负载均衡层、连接层子系统、业务层子系统以及用户数据维护子系统,其中:负载均衡层用于均衡各连接层子系统的客户端连接压力,使资源利用最优化;连接层子系统主要负责接受客户端的连接请求,并把客户端的连接请求信息转发给后端的业务层子系统,本专利技术系统把消息转发逻辑业务由业务层下放到连接层,连接服务接受从业务服务返回的消息转发给连接层的目标客户端,从而达到单房间用户连接无上限的核心目标。连接层子系统中的连接处理模块兼容处理多样客户端的网络协议,建立起有效网络连接,实现业务数据稳定的收发;连接层子系统中的转发逻辑模块存储用户关键信息,进行消息逻辑转发,由于本专利技术将与用户进行交互的转发逻辑业务由业务层下放至网络连接层子系统,故单房间用户连接数不局限于业务层子系统,通过连接层子系统的集群扩展,达到用户连接无上限目标;连接层子系统中的业务数据交互模块通过连接池方式结合连接心跳检测方法与后端业务层进行数据交互,达到连接资源利用率最优化目标。业务层子系统主要负责具体的聊天业务处理,其接收连接层子系统转发的消息,进行具体业务规则处理,功能完全独立,可通过集群扩展,达到业务处理能力无上限目标。业务层子系统中的业务数据交互模块主要负责接收连接层子系统的业务消息,群发已处理好的业务消息到连接层子系统,并且维护连接层子系统连接有效性;业务层子系统中的数据校验模块用于过滤非法、无效的业务数据,减轻核心业务处理层的压力,提高业务处理效率;业务层子系统中的业务逻辑处理模块根据具体业务规则保证房间数据准确性,并进行数据再封装。用户数据维护子系统主要接收来自聊天业务层子系统的用户数据,对数据进行智能分析储存,及时统计当前在线情况及提供具体房间在线用户等详细数据,为运营提供数据支持。以下具体实施方式基于目前发展迅猛的直播秀场业务,提供大量的用户需要互动平台,造成单房间超负荷承载,不能及时收发消息,严重影响用户体验的问题,提供了一种分布式消息转发处理系统,其包括至少一个负载均衡服务、至少一个网络连接层系统、至少一个聊天业务层系统、至少一个用户数据维护服务。图2中仅示意性示出了一个负载均衡层10、一个网络连接子系统20、一个业务处理子系统30和一个用户数据维护服务子系统40,除负载均衡层10外其他各层服务子系统均可根据实际业务量集群扩展。在本实施方式分布式消息转发系统中,网络连接子系统20和业务处理子系统30可设置在一台服务器上,也可以设置在不同的服务器上,但是为了最大程度的利用资源,减少环境复杂度,建议设置在不同的服务器上。负载均衡层10会定时收集到网本文档来自技高网...
一种分布式无上限的网络聊天室消息转发系统

【技术保护点】
1.一种分布式无上限的网络聊天室消息转发系统,其特征在于:包括客户端、负载均衡

【技术特征摘要】
1.一种分布式无上限的网络聊天室消息转发系统,其特征在于:包括客户端、负载均衡中间件、连接层子系统、业务层子系统以及用户数据维护子系统,其中:所述客户端通过负载均衡中间件向连接层子系统发起连接请求,所述负载均衡中间件用于均衡连接层子系统的客户端连接压力,使资源利用最优化;所述连接层子系统负责接受客户端的连接请求,并把客户端的连接请求信息转发给后端的业务层子系统,同时将业务层子系统返回的消息逻辑转发给对应的客户端;所述业务层子系统负责具体的聊天业务处理,其接收连接层子系统转发的消息并进行具体业务规则处理,且功能完全独立;所述用户数据维护子系统用于接收来自业务层子系统的用户数据,并对数据进行智能分析及储存,及时统计当前在线情况并提供包括当前用户在线总数、注册用户在线总数、游客在线总数以及各房间用户在线情况在内的详细数据,为运营提供数据支持。2.根据权利要求1所述的网络聊天室消息转发系统,其特征在于:所述连接层子系统包括:连接处理模块,用于兼容处理不同客户端的网络协议,建立起与客户端之间有效的网...

【专利技术属性】
技术研发人员:李勇斯奇能孙培杰
申请(专利权)人:杭州顺网珑腾信息技术有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1