基于TCP长链接的海量用户接入方法及系统技术方案

技术编号:18119212 阅读:70 留言:0更新日期:2018-06-03 10:59
本发明专利技术公开一种基于TCP长链接的海量用户接入方法及系统,其中,该基于TCP长链接的海量用户接入系统包括:多个客户端、多个TCP服务器、资源管理分配服务器以及内存数据库;多个客户端用于并行发送多个TCP长链接请求,以及接收分配信息并登录指定TCP服务器;多个TCP服务器用于分别以设定周期间隔向外推送各自的运行信息,以及在客户端登录时根据客户端的帐号信息寻址对应的内存数据库;资源管理分配服务器用于接收多个TCP长链接请求,并根据TCP服务器的运行信息发送分配信息;内存数据库用于对客户端输入的实时数据进行读和/或写操作。本发明专利技术的技术方案能够提供海量用户实时访问,具有较佳的扩展性,具有较佳的容错性。

Massive user access method and system based on TCP long link

The invention discloses a mass user access method and system based on TCP long link, in which the mass user access system based on TCP long link includes multiple clients, multiple TCP servers, resource management distribution server and memory database, and a plurality of clients are used to send multiple TCP long link requests in parallel. And receive the distribution information and log in to the specified TCP server; multiple TCP servers are used to send their respective running information at a set interval, respectively, and to address the corresponding memory database according to the client's account information when the client is logged in; the resource management allocation server is used to receive multiple TCP long link requests, The distribution information is sent according to the running information of the TCP server, and the memory database is used to read and / or write the real time data entered by the client. The technical proposal of the invention can provide massive users real-time access, has better expansibility and has better fault tolerance.

【技术实现步骤摘要】
基于TCP长链接的海量用户接入方法及系统
本专利技术涉及通讯
,尤其涉及一种基于TCP长链接的海量用户接入方法及系统。
技术介绍
目前,很多网络均为用户提供服务器的系统,很多都存在一个用户数量,以及同时并发的在线用户数量的问题,特别是基于TCP长链接的系统,当并发的用户数量过多时,就会出现系统响应过慢,或整个系统无法正常提示业务的瓶颈。很多系统设计之初,没有考虑并发的问题,导致后续随着并发用户数量的增加,整个系统所受的压力很大,往往没有很好的方案来解决后续用户增加所带来的一些问题。这样,传统的系统方案在后期会给系统带来非常大的,难以解决的并发问题,以很难通过扩展服务器去支撑所有的业务,系统面临最大的并发用户瓶颈,无法突破,这就会导致用户在使用上的感觉明显变化,从而流失用户。目前海量用户接入系统,大部分都是使用UDP无链接的方式,由于UDP是无链接的,该方案需要解决各个命令的丢失,重发,以及时序的问题。虽然UDP方式没有单台服务器的socket链接量问题,但是对于大系统而言,单台服务器还存在着网络通信流量问题,大并发肯定会带来单台服务器的网络瓶颈,因此UDP方式也不解决大并发的需要。HTTP方式,此方式不需要服务器维持TCP的长链接,只需要在需要提供服务器时,再与服务建立通信,其他时间将断开与服务器的链接,释放服务器的端口,从而单台服务器也能提供高并发数。并且可以通过虚IP技术来提高网络的瓶颈。但是此方案也存在一个致命的问题,就是服务器很多时候,无法及时通知用户事件。因此,此方案只是适合一些实时性要求不高的单通要求场合。
技术实现思路
为解决上述至少一技术问题,本专利技术的主要目的是提供一种基于TCP长链接的海量用户接入系统。为实现上述目的,本专利技术采用的一个技术方案为:提供一种基于TCP长链接的海量用户接入系统,包括:多个客户端,多个所述客户端用于并行发送多个TCP长链接请求,以及接收分配信息并登录指定TCP服务器;多个TCP服务器,多个所述TCP服务器用于分别以设定周期间隔向外推送各自的运行信息,以及在客户端登录时根据客户端的帐号信息寻址对应的内存数据库;资源管理分配服务器,所述资源管理分配服务器用于接收多个TCP长链接请求,并根据TCP服务器的运行信息发送分配信息;内存数据库,所述内存数据库用于对客户端输入的实时数据进行读和/或写操作。优选地,所述TCP服务器,具体用于:在客户端登录时根据与客户端的帐号信息对应的唯一key值,定位对应的内存数据库。优选地,所述TCP服务器,还用于:判断key值为纯数字类型还是包含有字符类型,如果key值为纯数字类型,则根据取模算法对key值取模,并根据取模结果定位对应的内存数据库;如果key值为包含有字符类型,则计算key值的MD5值,根据取模算法对MD5值取模,并根据取模结果定位对应的内存数据库。优选地,所述基于TCP长链接的海量用户接入系统,还包括:固化数据库,所述固化数据库用于在内存数据库不存在客户端的用户数据时,从固化数据库中查找,并将用户数据加载到内存数据库中。为实现上述目的,本专利技术采用的另一个技术方案为:提供一种基于TCP长链接的海量用户接入方法,包括如下步骤:在客户端,并行发送多个TCP长链接请求,以及接收分配信息并登录指定TCP服务器;在TCP服务器端,以设定周期间隔向外推送各自的运行信息,以及在客户端登录时根据客户端的帐号信息寻址对应的内存数据库;在资源管理分配服务器端,接收多个TCP长链接请求,并根据TCP服务器的运行信息发送分配信息;在内存数据库端,对客户端输入的实时数据进行读和/或写操作。优选地,所述在客户端登录时根据客户端的帐号信息寻址对应的内存数据库的步骤,具体包括:在客户端登录时根据与客户端的帐号信息对应的唯一key值,定位对应的内存数据库。优选地,所述在客户端登录时根据客户端的帐号信息寻址对应的内存数据库的步骤,还包括:判断key值为纯数字类型还是包含有字符类型,如果key值为纯数字类型,则根据取模算法对key值取模,并根据取模结果定位对应的内存数据库;如果key值为包含有字符类型,则计算key值的MD5值,根据取模算法对MD5值取模,并根据取模结果定位对应的内存数据库。优选地,所述基于TCP长链接的海量用户接入方法,还包括:在内存数据库端不存在客户端的用户数据时,从固化数据库中查找,并将用户数据加载到内存数据库中。本专利技术的技术方案通过资源管理分配服务器,可以接收客户端发送的多个TCP长链接请求,并根据TCP服务器的运行信息向客户端返回分配信息,以使客户端登录指定TCP服务器,进而寻址对应的内存数据库,可实现客户端的用户数据的实时读和/或写操作,具有至少如下优点:1、由于服务器采用分布式,动态地分配有效的TCP服务器,解决系统的TCP长连接的数量问题;只要增加TCP服务器的数量,就能同时并发更多的用户接入数;2、采用分布式的内存数据库,防止由单台数据库出现数量,以及访问的瓶颈;3、分布式系统,接入的TCP服务器出现故障后,可以其它的TCP服务器接管,防止出现系统不可访问的情况。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。图1为本专利技术一实施例基于TCP长链接的海量用户接入系统的组网图;图2为图1的数据流向图;图3为本专利技术一实施例基于TCP长链接的海量用户接入方法的流程图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明,本专利技术中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本专利技术要求的保护范围之内。请参照图1和图2,在本专利技术实施例中,该基于TCP长链接的海量用户接入系统,包括:多个客户端10,多个所述客户端10用于并行发送多个TCP长链接请求,以及接收分配信息并登录指定TCP服务器;多个TCP服务器30,多个所述TCP服务器30用于分别以设定周期间隔向外推送各自的运行信息,以及在客户端10登录时根据客户端10的帐号信息寻址对应的内存数据库;资源管理分配服务器20,所述资源管理分配服务器20用于接收多个TCP长链接请求,并根据TCP服务器30的运行信息发送分配信息;内存数据库40,所述内存数据库40用于对客户端10输入的实时数据进行读和/或写操作。本实施例中,TCP服务器30推送的运行信息包括运行状态本文档来自技高网...
基于TCP长链接的海量用户接入方法及系统

【技术保护点】
一种基于TCP长链接的海量用户接入系统,其特征在于,所述基于TCP长链接的海量用户接入系统包括:多个客户端,多个所述客户端用于并行发送多个TCP长链接请求,以及接收分配信息并登录指定TCP服务器;多个TCP服务器,多个所述TCP服务器用于分别以设定周期间隔向外推送各自的运行信息,以及在客户端登录时根据客户端的帐号信息寻址对应的内存数据库;资源管理分配服务器,所述资源管理分配服务器用于接收多个TCP长链接请求,并根据TCP服务器的运行信息发送分配信息;内存数据库,所述内存数据库用于对客户端输入的实时数据进行读和/或写操作。

【技术特征摘要】
1.一种基于TCP长链接的海量用户接入系统,其特征在于,所述基于TCP长链接的海量用户接入系统包括:多个客户端,多个所述客户端用于并行发送多个TCP长链接请求,以及接收分配信息并登录指定TCP服务器;多个TCP服务器,多个所述TCP服务器用于分别以设定周期间隔向外推送各自的运行信息,以及在客户端登录时根据客户端的帐号信息寻址对应的内存数据库;资源管理分配服务器,所述资源管理分配服务器用于接收多个TCP长链接请求,并根据TCP服务器的运行信息发送分配信息;内存数据库,所述内存数据库用于对客户端输入的实时数据进行读和/或写操作。2.如权利要求1所述的基于TCP长链接的海量用户接入系统,其特征在于,所述TCP服务器,具体用于:在客户端登录时根据与客户端的帐号信息对应的唯一key值,定位对应的内存数据库。3.如权利要求2所述的基于TCP长链接的海量用户接入系统,其特征在于,所述TCP服务器,还用于:判断key值为纯数字类型还是包含有字符类型,如果key值为纯数字类型,则根据取模算法对key值取模,并根据取模结果定位对应的内存数据库;如果key值为包含有字符类型,则计算key值的MD5值,根据取模算法对MD5值取模,并根据取模结果定位对应的内存数据库。4.如权利要求3所述的基于TCP长链接的海量用户接入系统,其特征在于,所述基于TCP长链接的海量用户接入系统,还包括:固化数据库,所述固化数据库用于在内存数据库不存在客户端的用户数据时,从固化数据库中查找,并将用户数据加载到内存数据库...

【专利技术属性】
技术研发人员:吴武勋刘莉白昀斌谭建军刘跃
申请(专利权)人:广东亿迅科技有限公司
类型:发明
国别省市:广东,44

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

1