一种实现TCP长连接通信的负载智能分配系统及方法技术方案

技术编号:9740166 阅读:228 留言:0更新日期:2014-03-06 23:42
本发明专利技术提供一种实现TCP长连接通信的负载智能分配系统及方法,系统包括:负载分流服务器,用于计算出当前最适合进行TCP连接的TCP长连接通信服务器的IP地址、TCP服务端口分配给客户端;TCP通信服务器基础信息管理模块,用于设置通信服务器的基础信息和TCP长连接通信服务器及端口的允许连接数,最大偏移量信息;TCP长连接通信模块,用于根据设置的TCP长连接通信服务器的连接数信息,动态计算TCP长连接通信服务器当前负载及允许的连接数;数据存储服务器,用于存储客户端信息、业务逻辑数据、服务器基础信息、用户信息。本发明专利技术提供实现可水平扩展、TCP连接请求动态分配、服务器资源自定义设置、服务器负载实时监控的实现TCP长连接通信的负载智能分配系统及方法。

【技术实现步骤摘要】
一种实现TCP长连接通信的负载智能分配系统及方法
本专利技术涉及网络通信
,具体涉及一种实现TCP长连接通信的负载智能分配系统及方法。
技术介绍
TCP长连接模式中,连接客户端如果直接将TCP通信服务器IP地址、TCP通信端口进行硬编码、而不是由通信平台接口进行动态分配,将导致通信平台的服务器不能发挥负载均衡及水平扩展的优势,同时连接客户端数量的上升可能导致服务器直接当机或无法接受连接客户端新增加的TCP连接请求,也无法准确计算每个服务实例或硬件服务器当前活跃的在线连接线,系统资源消耗及当前负载。
技术实现思路
本专利技术的目的是结合HTTP、TCP/IP网络协议,提供实现可水平扩展、TCP连接请求动态分配、服务器资源自定义设置、服务器负载实时监控的实现TCP长连接通信的负载智能分配系统及方法。本专利技术是通过以下技术方案来实现的:本专利技术一方面提供一种实现TCP长连接通信的负载智能分配系统,包括:负载分流服务器,用于提供基于Http协议的接口服务,该接口调用TCP长连接通信服务器的TCP连接数、负载计算的业务逻辑,计算出当前符合负载要求的TCP长连接通信服务器的IP地址、TCP服务端口分配给客户端进行TCP连接;TCP通信服务器基础信息管理模块,用于设置TCP长连接通信服务器的基础信息和TCP长连接通信服务器及端口的允许连接数,最大偏移量信息;TCP长连接通信模块,用于提供客户端连接的TCP长连接通信服务,根据消息协议进行相应的业务逻辑处理,根据设置的TCP长连接通信服务器的连接数信息,在客户端连接建立、断开、断线时动态计算TCP长连接通信服务器当前负载及允许的连接数;数据存储服务器,用于存储与应用相关的客户端信息、业务逻辑数据、服务器基础信息、用户信息。进一步地,所述负载分流服务器包括通过Http服务接口实现TCP长连接通信服务的负载均衡器,并设置有非阻塞、带优先级的事件调度模型,所述负载均衡器通过该调度模型处理所有的负载均衡任务分派、进程间通信。进一步地,实现TCP长连接通信的负载智能分配系统还包括:安全认证模块,用于对用户信息、客户端信息、服务接入信息进行安全认证。智能监控模块,用于当监测到各承载Http接口的服务容器出现线程挂起或访问延迟时,及时重启该服务容器。入侵检测模块,用于监控服务器和网络的状态并及时预警。本专利技术另一方面提供一种实现TCP长连接通信的负载智能分配方法,包括:负载分流服务器接收客户端发送的TCP连接请求;负载分流服务器提供的Http接口调用TCP长连接通信服务器的TCP连接数、负载计算的业务逻辑,计算出当前符合负载要求的TCP长连接通信服务器的IP地址、TCP服务端口分配给客户端进行TCP连接;TCP长连接通信服务器在未达到设置的偏移量时,与客户端建立TCP连接并更新服务器列表中当前连接数,以供所述负载分流服务器提供的Http接口调用;与客户端建立连接时TCP长连接通信服务器已达到连接数上限时,TCP长连接服务器反馈消息给客户端,由客户端请求负载分流服务器提供的Http服务接口进行重新分配;TCP长连接通信服务器与客户端的连接断开、断线时,更新服务器列表中当前连接数,以供所述负载分流服务器提供的Http接口调用。进一步地,负载分流服务器负载过大则增加负载分流服务器以分担负载并注册新服务器地址以进行新的负载分配规则;TCP长连接通信服务器负载过大则增加TCP长连接通信服务器,并在信息设置中增加新服务器的参数,由Http服务接口根据新的服务器列表进行客户端连接资源的分配;当数据存储服务器负载过大时则增加数据存储服务器,并修改数据存储服务器配置实现负载分流,数据散列存储。进一步地,实现TCP长连接通信的负载智能分配方法还包括:安全认证步骤:对用户信息、客户端信息、服务接入信息进行安全认证。智能监控步骤:当监测到各承载Http接口的服务容器出现线程挂起或访问延迟时,及时重启该服务容器。入侵检测步骤:监控服务器和网络的状态并及时预警。本专利技术与现有技术相比具有以下优点及有益效果:(1)通过在连接客户端与通信平台建立TCP连接之前先通过Http接口向通信平台请求TCP长连接地址和端口,由通信平台计算出当前负载量最小的服务器地址和端口并分配给TCP连接客户端,实现通信平台可水平扩展、TCP连接请求动态分配;(2)基于Http、TCP等标准网络协议,适用于任何具备网络连接的客户端实现相应的通信协议;(3)为客户端提供统一的接口服务及技术规范,且返回给客户端的信息采用标准的XML或JSON数据交换格式,客户端只需识别约定的数据格式,减少了客户端的开发工作量;(4)支持在虚拟专用网络的环境中建立连接,使客户端与服务器的网络与公网实现隔离,提高了网络的安全性;(5)对客户端进行了安全认证确保了客户端的访问权限以及信息交互安全;(6)设置有智能监控模块,用于服务器各承载Http接口的服务容器的稳定性和可访问性;当监测到某服务容器出现线程挂起或访问延迟时,智能监控模块及时重启该服务容器,确保接口的稳定性和可靠性;(7)设置有入侵检测模块,用于监控服务器和网络的健康状态;若服务器或网络出现异常,入侵检测模块自动发送邮件或手机短信给系统运维管理人员,确保服务器或网络的异常尽快修复;(8)所述Http服务接口、TCP通信服务采用纯Java6的开发语言,具有良好的兼容性,可兼容Linux/Windows/Unix/Solaris等操作系统。附图说明图1是本专利技术的实现TCP长连接通信的负载智能分配系统的结构示意图;图2是本专利技术的实现TCP长连接通信的负载智能分配系统的架构示意图;图3是本专利技术的实现TCP长连接通信的负载智能分配方法的流程示意图;图4是本专利技术的实现TCP长连接通信的负载智能分配系统及方法的实施过程示意图。具体实施方式下面结合附图具体阐明本专利技术的实施方式,附图仅供参考和说明使用,不构成对本专利技术专利保护范围的限制。如图1所示,在本实施例中,本专利技术一方面提供一种实现TCP长连接通信的负载智能分配系统,包括:负载分流服务器,用于提供基于Http协议的接口服务,所述接口调用TCP长连接通信服务器的TCP连接数、负载计算的业务逻辑,计算出当前符合负载要求的TCP长连接通信服务器的IP地址、TCP服务端口分配给客户端进行TCP连接;TCP通信服务器基础信息管理模块,基于Web方式为TCP长连接通信服务器提供基础信息管理模块,用于设置TCP长连接通信服务器的基础信息和TCP长连接通信服务器及端口的允许连接数,最大偏移量信息,最大偏移量为在TCP长连接通信服务器的额定连接数基础上设置一个连接数缓冲范围,从而将允许连接数确定为额定连接数减去最大偏移量的值;例如,管理员根据服务器负载设置允许连接数为2500,最大偏移量为500,与客户端建立连接时TCP长连接通信服务器已达到允许连接数上限2500时,TCP长连接服务器触发事件并反馈消息给客户端,由客户端请求负载分流服务器提供的Http服务接口进行重新分配;TCP长连接通信模块,用于提供客户端连接的TCP长连接通信服务,根据消息协议进行相应的业务逻辑处理,根据设置的TCP长连接通信服务器的连接数信息,在客户端连接建立、断开、断线时动态计算TCP长连接通信服务器当前负载本文档来自技高网...
一种实现TCP长连接通信的负载智能分配系统及方法

【技术保护点】
一种实现TCP长连接通信的负载智能分配系统,其特征在于,包括:负载分流服务器,用于提供基于Http协议的接口服务,该接口调用TCP长连接通信服务器的TCP连接数、负载计算的业务逻辑,计算出当前最适合进行TCP连接的TCP长连接通信服务器的IP地址、TCP服务端口分配给连接的客户端;TCP通信服务器基础信息管理模块,用于设置TCP长连接通信服务器的基础信息和TCP长连接通信服务器及端口的允许连接数,最大偏移量信息;TCP长连接通信模块,用于提供客户端连接的TCP长连接通信服务,根据消息协议进行相应的业务逻辑处理,根据设置的TCP长连接通信服务器的连接数信息,在客户端连接建立、断开、断线时动态计算TCP长连接通信服务器当前负载及允许的连接数;数据存储服务器,用于存储与应用相关的客户端信息、业务逻辑数据、服务器基础信息、用户信息。

【技术特征摘要】
1.一种实现TCP长连接通信的负载智能分配系统,其特征在于,包括:负载分流服务器,用于提供基于Http协议的接口服务,该接口调用TCP长连接通信服务器的TCP连接数、负载计算的业务逻辑,计算出当前符合负载要求的TCP长连接通信服务器的IP地址、TCP服务端口分配给客户端进行TCP连接;TCP通信服务器基础信息管理模块,用于设置TCP长连接通信服务器的基础信息和TCP长连接通信服务器及端口的允许连接数,最大偏移量信息;TCP长连接通信服务器,用于在未达到设置的连接数偏移量时,与客户端建立TCP连接并更新服务器列表中当前连接数,以供所述负载分流服务器提供的Http接口调用;还用于与客户端建立连接时TCP长连接通信服务器已达到连接数上限时,反馈消息给客户端,由客户端请求负载分流服务器提供的Http服务接口进行重新分配;TCP长连接通信模块,用于提供客户端连接的TCP长连接通信服务,根据消息协议进行相应的业务逻辑处理,根据设置的TCP长连接通信服务器的连接数信息,在客户端连接建立、断开、断线时动态计算TCP长连接通信服务器当前负载及允许的连接数;数据存储服务器,用于存储与应用相关的客户端信息、业务逻辑数据、服务器基础信息、用户信息。2.根据权利要求1所述的实现TCP长连接通信的负载智能分配系统,其特征在于:所述负载分流服务器包括通过Http服务接口实现TCP长连接通信服务的负载均衡器,并设置有非阻塞、带优先级的事件调度模型,所述负载均衡器通过该调度模型处理所有的负载均衡任务分派、进程间通信。3.根据权利要求1所述的实现TCP长连接通信的负载智能分配系统,其特征在于,还包括:安全认证模块,用于对用户信息、客户端信息、服务接入信息进行安全认证。4.根据权利要求1所述的实现TCP长连接通信的负载智能分配系统,其特征在于,还包括:智能监控模块,用于当监测到各承载Http接口的服务容器出现线程挂起或访问延迟时,及时重启该服务容器。5.根据权利要求1所述的实现TCP长连接通信的负载智能分配系...

【专利技术属性】
技术研发人员:刘志坚
申请(专利权)人:惠州华阳通用电子有限公司
类型:发明
国别省市:

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

1