一种tcp连接断线重连方法、设备及系统的制作方法

文档序号:7813100阅读:967来源:国知局
一种tcp连接断线重连方法、设备及系统的制作方法
【专利摘要】本发明实施例公开了一种TCP连接断线重连方法,包括:当检测到与终端设备之间的TCP连接断线时,将与所述TCP连接绑定的资源设置为保护状态;其中,所述设置为保护状态的资源在预设时间内不会被回收;判断是否在所述预设时间内接收到所述终端设备发送的断线重连请求;若判断为是,根据所述断线重连请求中携带的用户标识和登陆票据对所述终端设备进行验证,并当验证通过时,重新建立与所述终端设备的TCP连接,并将所述设置为保护状态的资源与该重新建立的TCP连接绑定。本发明实施例还公开了一种TCP连接断线重连设备和系统。实施本发明实施例,可以提高TCP连接断线重连的效率。
【专利说明】—种TCP连接断线重连方法、设备及系统

【技术领域】
[0001]本发明涉及互联网【技术领域】,尤其涉及一种TCP连接断线重连方法、设备及系统。

【背景技术】
[0002]当前,用户终端与服务器之间建立的TCP (Transmiss1n Control Protocol,传输控制协议)连接时,服务器侧需要从当前的空闲资源中选择合适的资源分配给该TCP连接,当该TCP连接断线之后,服务器侧会直接将为该TCP连接分配的资源回收(重新成为空闲资源);当该用户终端重新请求与该服务器建立TCP连接时,服务器侧则需要从当前的空闲资源中重新选择分配给该TCP连接的资源,即对于该用户终端而言,在其与服务器之间的TCP连接发生断线,到重新建立TCP连接的过程中,需要经过资源回收、资源重新分配的步骤,用户终端与服务器之间恢复通信会话的效率较低。


【发明内容】

[0003]本发明实施例公开了一种TCP连接断线重连方法、设备及系统,能够提高TCP连接断线重连的效率。
[0004]本发明实施例第一方面公开了一种传输控制协议TCP连接断线重连方法,包括:
[0005]当检测到与终端设备之间的TCP连接断线时,将与所述TCP连接绑定的资源设置为保护状态;其中,所述设置为保护状态的资源在预设时间内不会被回收;
[0006]判断是否在所述预设时间内接收到所述终端设备发送的断线重连请求;
[0007]若判断为是,根据所述断线重连请求中携带的用户标识和登陆票据对所述终端设备进行验证,并当验证通过时,重新建立与所述终端设备的TCP连接,并将所述设置为保护状态的资源与该重新建立的TCP连接绑定。
[0008]本发明实施例第二方面公开了一种传输控制协议TCP连接断线重连方法,包括:
[0009]当数据服务器检测到与终端设备之间的TCP连接断线时,所述数据服务器将与所述TCP连接绑定的资源设置为保护状态;其中,所述设置为保护状态的资源在预设时间内不会被回收;
[0010]所述数据服务器判断是否在所述预设时间内接收到所述终端设备发送的断线重连请求;
[0011]若判断为是,所述数据服务器根据所述断线重连请求中携带的用户标识和登陆票据对所述终端设备进行验证,并当验证通过时,重新建立与所述终端设备的TCP连接,并将所述设置为保护状态的资源与该重新建立的TCP连接绑定。
[0012]本发明实施例第三方面公开了一种传输控制协议TCP连接断线重连设备,包括:
[0013]检测模块,用于检测所述设备与终端设备之间的TCP连接是否断线;
[0014]判断模块,用于判断是否在所述预设时间内接收到所述终端设备发送的断线重连请求;
[0015]验证模块,用于当所述判断模块判断为是时,根据所述断线重连请求中携带的用户标识和登陆票据对所述终端设备进行验证;
[0016]建立模块,用于当所述验证模块对所述终端设备验证通过时,重新建立与所述终端设备的TCP连接;
[0017]资源管理模块,用于当所述检测模块检测到所述设备与终端设备之间的TCP连接断线时,将与所述TCP连接绑定的资源设置为保护状态;其中,所述设置为保护状态的资源在预设时间内不会被回收;当所述建立模块重新建立所述设备与所述终端设备之间的TCP连接时,将所述设置为保护状态的资源与该重新建立的TCP连接绑定。
[0018]本发明实施例第四方面公开了一种传输控制协议TCP连接断线重连系统,包括数据服务器和终端设备,其中:
[0019]所述数据服务器,用于当检测到与所述终端设备之间的TCP连接断线时,将与所述TCP连接绑定的资源设置为保护状态;其中,所述设置为保护状态的资源在预设时间内不会被回收;判断是否在所述预设时间内接收到所述终端设备发送的断线重连请求;若判断为是,根据所述断线重连请求中携带的用户标识和登陆票据对所述终端设备进行验证,并当验证通过时,重新建立与所述终端设备的TCP连接,并将所述设置为保护状态的资源与该重新建立的TCP连接绑定。
[0020]实施本发明实施例,具有如下有益效果:
[0021]当检测到与终端设备之间的TCP连接断线时,将与该TCP连接绑定的资源设置为保护状态;并判断是否在预设时间内接收到终端设备发送的断线重连请求;若判断为是,根据该断线重连请求中携带的用户标识和登陆票据对终端设备进行验证,并当验证通过时,重新建立与终端设备的TCP连接,并将设置为保护状态的资源与该重新建立的TCP连接绑定,提高了 TCP连接断线重连的效率。

【专利附图】

【附图说明】
[0022]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023]图1为本发明实施例提供的一种TCP连接断线重连方法的流程示意图;
[0024]图2为本发明实施例提供的另一种TCP连接断线重连方法的流程示意图;
[0025]图3为本发明实施例提供的一种具体应用场景的架构示意图;
[0026]图4为本发明实施例提供的另一种TCP断线重连方法的流程示意图;
[0027]图5为本发明实施例提供的一种连接的状态变化示意图;
[0028]图6为本发明实施例提供的一种资源管理的示意图;
[0029]图7为本发明实施例提供的一种资源管理算法的示意图;
[0030]图8为本发明实施例提供的一种TCP连接断线重连设备的结构示意图;
[0031]图9为本发明实施例公开的另一种TCP连接断线重连设备的结构示意图;
[0032]图10为本发明实施例提供的一种TCP连接断线系统的架构示意图。

【具体实施方式】
[0033]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0034]如图1所示,为本发明实施例提供的一种TCP连接断线重连方法的流程示意图,可以包括以下步骤:
[0035]SlOl、当检测到与终端设备之间的TCP连接断线时,将与TCP连接绑定的资源设置为保护状态;其中,设置为保护状态的资源在预设时间内不会被回收。
[0036]本发明实施例中,终端设备可以为智能手机、掌上电脑、PC(Personal Computer,个人计算机)、移动互联网设备(Mobile Internet Devices,MID)等终端设备,本发明实施例后续不作复述。
[0037]本发明实施例中,当数据服务器检测到与终端设备之间的TCP连接断线时,数据服务器不会直接将与该TCP连接绑定的资源回收,而是会将与该TCP连接绑定的资源设备为保护状态,在预设时间内(可以根据具体场景设置,如1S、2S等)不对该设置为保护状态的资源进行回收。
[0038]S102、判断是否在预设时间内接收到该终端设备发送的断线重连请求。若判断为是,则转至S103 ;否则,转至S105。
[0039]S103、根据断线重连请求中携带的用户标识和登陆票据对该终端设备进行验证。若验证通过,转至S104 ;否则,转至S105。
[0040]S104、重新建立与终端设备的TCP连接,并将该设置为保护状态的资源与该重新建立的TCP连接绑定。
[0041]S105、将该设置为保护状态的资源回收。
[0042]本发明实施例中,数据服务器将与终端设备之间的TCP连接绑定的资源设置为保护状态之后,需要判断是否在预设时间内接收到终端设备发送的断线重连请求;若判断为是,即数据服务器在预设时间内接收到终端设备发送的断线重连请求,可以需要进一步根据该断线重连请求中携带的用户标识和登陆票据对该终端设备进行验证,若验证通过,则确定终端设备断线重连成功,重新建立与该终端设备之间的连接,并将该设置为保护状态的资源与该重新建立的TCP连接绑定;若验证不通过,或数据服务器在预设时间内未接收到终端设备发送的断线重连请求,则数据服务器可以确定终端设备断线重连失败,将该设置为保护状态的资源回收。
[0043]需要注意的是,本发明实施例提供的技术方案中,对于设置为保护状态的资源,当在预设时间内接收到终端设备发送的断线重连请求,但是根据其中携带的用户标识和登陆票据对终端设备验证不通过,可以直接将该设置为保护状态的资源回收,也可以判断此时该预设时间是否超期,若未超期,则继续判断剩余时间内是否接收到该终端设备发送的断线重连请求,若未接收到,则在预设时间超期时,将该设置为保护状态的资源回收,若接收至IJ,则再次执行验证流程,直至验证通过或该预设时间超期。
[0044]通过以上流程可以看出,在图1所示的方法流程中,通过在与终端设备之间的TCP连接断线时,将与该TCP连接绑定的资源设置为保护状态,而不是立即回收,并当终端设备在预设时间内断线重连成功,重新建立与该终端设备之间的TCP连接后,将该设置为保护状态的资源与该重新建立的TCP连接绑定,减少了在TCP断线时将资源回收,并在重新建立TCP连接之后重新在空闲资源中为TCP连接选择分配给该TCP连接的资源的步骤,提高了TCP连接断线重连的效率。
[0045]本发明实施例中,SlOl之前还可以包括以下步骤:
[0046]步骤11)、建立与终端设备之间的TCP连接;
[0047]步骤12)、接收终端设备通过该TCP连接发送的验证请求;
[0048]步骤13)、根据该验证请求中携带的用户标识和登陆票据对终端设备进行验证,并当验证通过时,将为该TCP连接分配的资源与该TCP连接绑定。
[0049]其中,步骤11)?步骤13)描述的为数据服务器与终端设备初始建立TCP连接的流程,图1中所示的方法流程可以为该TCP连接断线时进行断线重连的流程。
[0050]本发明实施例中,终端设备与数据服务器之间建立TCP连接之后,可以主动请求断开TCP连接。
[0051]相应地,当接收到终端设备发送的断开TCP连接的请求时,可以将与该TCP连接绑定的资源回收。
[0052]如图2所示,为本发明实施例提供的另一种TCP连接断线重连方法的流程示意图,可以包括以下步骤:
[0053]S201、数据服务器建立与终端设备之间的TCP连接。
[0054]S202、终端设备通过TCP连接向数据服务器发送验证请求,其中,验证请求中携带有用户标识和登陆票据。
[0055]以网络游戏场景为例,终端设备向数据服务器发送的验证请求中携带的用户标识和登陆票据可以为用户账号和登陆密码。
[0056]S203、数据服务器接收终端设备发送的验证请求,并根据该验证请求中携带的用户标识和登陆票据对终端设备进行验证,并当验证通过时,将为该TCP连接分配的资源与该TCP连接绑定。
[0057]本发明实施例中,数据服务器中可以存储用户标识和登陆票据的映射关系。当数据服务器接收到终端设备发送的验证请求时,可以根据该验证请求中携带的用户标识查询自身存储的用户标识和登陆票据的映射关系,并判断查询到的登陆票据与该验证请求中携带的登陆票据是否一致,若一致,则确定验证通过;否则,确定验证不通过。
[0058]S204、当数据服务器检测到与终端设备之间的TCP连接断线时,所述数据服务器将与所述TCP连接绑定的资源设置为保护状态;其中,所述设置为保护状态的资源在预设时间内不会被回收。
[0059]本发明实施例中,当数据服务器检测到与终端设备之间的TCP连接断线时,数据服务器不会直接将与该TCP连接绑定的资源回收,而是会将与该TCP连接绑定的资源设备为保护状态,在预设时间内(可以根据具体场景设置,如1S、2S等)不对该设置为保护状态的资源进行回收。
[0060]S205、数据服务器判断是否在预设时间内接收到终端设备发送的断线重连请求。若判断为是,转至S206 ;否则,转至S207。
[0061]S206、数据服务器根据断线重连请求中携带的用户标识和登陆票据对终端设备进行验证,并当验证通过时,重新建立与终端设备的TCP连接,并将该设置为保护状态的资源与该重新建立的TCP连接绑定。
[0062]S207、数据服务器将该设置为保护状态的资源回收。
[0063]本发明实施例中,数据服务器将与终端设备之间的TCP连接绑定的资源设置为保护状态之后,需要判断是否在预设时间内接收到终端设备发送的断线重连请求;若判断为是,即数据服务器在预设时间内接收到终端设备发送的断线重连请求,可以需要进一步根据该断线重连请求中携带的用户标识和登陆票据对该终端设备进行验证,若验证通过,则确定终端设备断线重连成功,重新建立与该终端设备之间的连接,并将该设置为保护状态的资源与该重新建立的TCP连接绑定;若验证不通过,或数据服务器在预设时间内未接收到终端设备发送的断线重连请求,则数据服务器可以确定终端设备断线重连失败,将该设置为保护状态的资源回收。
[0064]作为一种可选的实施方式,终端设备断线重连可以自动发起,即不需要用户参与。
[0065]具体的,在该实施方式中,当终端设备检测到与数据服务器之间的TCP连接断线时,向数据服务器发送断线重连请求,该断线重连请求中携带有用户标识和登陆票据;数据服务器接收到该断线重连请求时,可以根据该用户标识和登陆票据对终端设备进行验证,并当验证通过后重新建立TCP连接。
[0066]作为另一种可选的实施方式,终端设备断线重连可以由用户根据需求选择发起。
[0067]具体的,在该实施方式中,当终端设备检测到与数据服务器之间的TCP连接断线时,输出提示消息,该提示消息用于提示用户是否发送断线重连请求,并当接收到用户响应该提示消息输入的发送断线重连请求的指令时,向数据服务器发送断线重连请求,该断线重连请求中携带有用户标识和登陆票据;数据服务器接收到该断线重连请求时,可以根据该用户标识和登陆票据对终端设备进行验证,并当验证通过后重新建立TCP连接。
[0068]举例来说,终端设备检测到与数据服务器之间的TCP连接断线时,可以通过弹出消息框的方式,提示用户选择是否发起断线重连。用户看见该消息框后,可以根据实际需求选择发起或不发起断线重连。当用户选择发起断线重连时,终端设备向数据服务器发送断线重连请求。
[0069]本发明实施例中,终端设备与数据服务器建立TCP连接,并通过该TCP连接向数据服务器发送验证请求之后,可以保存于数据服务器建立TCP连接的地址信息(如数据服务器URL(Uniform Resource Locator,统一资源定位符))和端口信息(所连接的服务器端口),以及用户标识和登陆票据(如用户账号和登陆密码)。当终端设备需要发送断线重连请求时,可以根据自身保存的地址信息和端口信息,向该地址信息对应的数据服务器中该端口信息对应的端口发送断线重连请求,该断线重连请求中携带该用户标识和登陆票据。
[0070]本发明实施例中,终端设备还可以向数据服务器发送断开TCP连接的请求,如针对网络游戏场景,用户选择退出游戏。数据服务器接收到终端设备发送的断开TCP连接的请求时,将与该TCP连接绑定的资源回收。
[0071]通过图1和图2所示的方法流程可以看出,数据服务器通过在与终端设备之间的TCP连接断线时,将与该TCP连接绑定的资源设置为保护状态,而不是立即回收,并当终端设备在预设时间内断线重连成功,重新建立与该终端设备之间的TCP连接后,将该设置为保护状态的资源与该重新建立的TCP连接绑定,减少了在TCP断线时将资源回收,并在重新建立TCP连接之后重新在空闲资源中为TCP连接选择分配给该TCP连接的资源的步骤,提高了 TCP连接断线重连的效率。
[0072]为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体的应用场景对本发明实施例提供的技术方案进行更加详细的描述。
[0073]参见图3,为本发明实施例提供的一种具体应用场景的架构示意图,在该实施例中,以移动网络游戏场景为例进行描述,该应用场景中可以包括:Account (账户管理装置)、GW(网关系统)、LS(登陆服务器)、GS(游戏逻辑服务器),基于该应用场景的TCP连接断线重连方法的流程示意图可以参见图4。
[0074]如图4所示,为本发明实施例提供的一种TCP断线重连方法的流程示意图,可以包括以下步骤:
[0075]S401、移动终端获取游戏用户id和登陆票据。
[0076]S402、移动终端通过url (地址)+port (端口 )访问LS,取得各个游戏服务器分区GS的访问入口 urI+port。
[0077]S403、移动终端选择其中一个访问入口向某个GS建立TCP连接,此时这条连接还未经过校验,状态记为connected (连接);
[0078]S404、移动终端通过建立的TCP连接发送用户id和登陆票据到GS。若GS验证通过,连接状态变换为normal (正常),此时终端可和GS进行正常通信;若GS验证未通过,GS断开此连接。
[0079]S405、若移动终端在正常通信过程中,因某种原因断线,此时该连接进入protected(保护)状态。
[0080]S406、在预设时间内,终端重新向GS发送断线重连请求,此时重新置该条连接状态为connected ;当GS对断线重连请求中携带的用户id和登陆票据验证通过,将该条连接的状态置为normal,从而恢复通信。
[0081]S407、若处于protected状态并超时(预设时间内未发送断线重连请求)或断线重连请求未验证通过,即断开连接,回收相关数据,置状态为disconnected(未连接)。其中,连接的状态变化如图5所示。
[0082]本发明实施例中,终端需要记住上次正常通信的url,port,用户id和登陆票据。在断线重连时,通过记住的url+port恢复TCP连接,同时发送用户id和登陆票据再次鉴权,从而恢复上次正常通信的TCP连接。
[0083]基于上述方法流程,移动终端和服务器建立正常游戏会话后的某一时刻,网络异常掉线,此时终端检测到网络已经掉线,终端会提示用户已经掉线并且停止用户的游戏行为,同时引导用户重连服务器或者终端自动连接服务器,不提示用户。重连成功后,回到用户的游戏场景并重新开启用户的游戏行为。
[0084]为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面对本发明实施例提供的技术方案中服务器侧资源管理的方案进行举例说明。
[0085]在本发明实施例中,设计断线重连的目的主要是为了改善网络异常掉线而引起的服务器资源重新分配,从而导致系统延时严重,影响终端用户的体验。因此断线重连系统的设计需要解决资源管理的问题。
[0086]参见图6,为本发明实施例提供的一种资源管理的示意图。其中,将资源的管理划分为网络层,逻辑层和数据层,每个分层对资源都独立管理,每个分层的数据都保持状态连续性,直到系统通知资源回收。同时对网络事件采用自顶向下的处理方式,确保各个分层资源的正确分配和回收。
[0087]I)、资源分配
[0088](I)、网络层
[0089]当网络层建立TCP连接的时候,采用资源管理算法分配一块资源N ;资源分配成功后通知逻辑层,并发送网络层资源id给逻辑层,并将此id作为网络层和逻辑层的会话id,记为N。
[0090](2)、逻辑层
[0091]逻辑层收到网络层资源分配事件,采用资源管理算法分配一块资源L,并记下会话id。逻辑层资源分配成功后,通知数据层分配资源。
[0092](3)、数据层
[0093]数据层收到逻辑层资源分配事件,采用资源管理算法分配一块资源D,资源分配成功返回给逻辑层所分配的资源id,并由逻辑层记下此id。
[0094]通过(I)、⑵、(3)步骤后,由终端建立起的连接就绑定了 [N,L,D]资源;N,L,D——对应。同时该绑定做映射:user id-> [N,L,D],即建立用户标识与为TCP连接分配的资源的映射关系,以便快速查找。
[0095]2)、资源保持
[0096]在终端和服务器正常通信会话期间,始终使用N、L和D资源;若网络出现异常,导致网络断线,在可配置的时间内,N、L和D资源不会立即回收,系统会保持断线时的数据现场直到超时。断线重连时,建立新的TCP后,终端发送用户id和票据至网络层,若校验通过,则通过映射表user id->[N, L,D]将已经分配给该用户id的资源[N,L,D]绑定到新建立的TCP连接。
[0097]3)、资源回收
[0098]当终端正常退出游戏或者断线超时的情况会出现资源的回收。某一分层收到资源回收事件时,采用资源管理算法回收该资源。终端断线时,服务器收到断线事件,会给网络层资源N附加并启动一个定时器。若该定时器超时,就启动资源回收。资源的回收过程也是网络层_>逻辑层_>数据层。
[0099]参见图7,为本发明实施例提供的一种资源管理算法的示意图,其中:
[0100]I)、资源分配
[0101]需要资源的时候,从空闲队列的头部获取I号资源分配给资源使用方,并将该资源插入忙队列的尾部记为n+1。
[0102]2)、资源回收
[0103]当需要回收忙队列k号资源时,将k号资源从忙队列删除,并将该队列插入空闲队列的尾部记为m+1。
[0104]通过以上描述可以看出,在本发明实施例提供的技术方案中,当检测到与终端设备之间的TCP连接断线时,将与该TCP连接绑定的资源设置为保护状态;并判断是否在预设时间内接收到终端设备发送的断线重连请求;若判断为是,根据该断线重连请求中携带的用户标识和登陆票据对终端设备进行验证,并当验证通过时,重新建立与终端设备的TCP连接,并将设置为保护状态的资源与该重新建立的TCP连接绑定,提高了 TCP连接断线重连的效率。
[0105]基于上述方法实施例相同的技术构思,本发明实施例还提供了一种TCP连接断线重连设备,可以应用于上述方法实施例。
[0106]如图8所示,为本发明实施例提供的一种TCP连接断线重连设备的结构示意图,可以包括:
[0107]检测模块801,用于检测所述设备与终端设备之间的TCP连接是否断线;
[0108]判断模块802,用于判断是否在所述预设时间内接收到所述终端设备发送的断线重连请求;
[0109]验证模块803,用于当所述判断模块82判断为是时,根据所述断线重连请求中携带的用户标识和登陆票据对所述终端设备进行验证;
[0110]建立模块804,用于当所述验证模块83对所述终端设备验证通过时,重新建立与所述终端设备的TCP连接;
[0111]资源管理模块805,用于当所述检测模块检测到所述设备与终端设备之间的TCP连接断线时,将与所述TCP连接绑定的资源设置为保护状态;其中,所述设置为保护状态的资源在预设时间内不会被回收;当所述建立模块重新建立所述设备与所述终端设备之间的TCP连接时,将所述设置为保护状态的资源与该重新建立的TCP连接绑定。
[0112]其中,所述资源管理模块805还可以用于,当所述设备在所述预设时间内接收到所述终端设备发送的断线重连请求,但根据所述断线重连请求中携带的用户标识和登陆票据对终端设备验证不通过时,将所述设置为保护状态的资源回收;或,当所述设备在所述预设时间内未接收到所述终端设备发送的断线重连请求时,将所述设置为保护状态的资源回收。
[0113]请一并参阅图9,图9是本发明实施例公开的另一种TCP连接断线重连设备的结构示意图。其中,图9所示的TCP连接断线重连设备是由图8所示的TCP连接断线重连设备进行优化得到的,与图8所示的TCP连接断线重连设备相比,图9所示的TCP连接断线重连设备还可以包括:接收模块806 ;其中,
[0114]所述建立模块804还可以用于,建立所述设备与所述终端设备之间的TCP连接;
[0115]所示接收模块806,可以用于接收所述终端设备通过所述TCP连接发送的验证请求;
[0116]所述验证模块803还可以用于,根据所述验证请求中携带的用户标识和登陆票据对所述终端设备进行验证;
[0117]所述资源管理模块805还可以用于,当所述验证模块803对所述终端设备验证通过时,将为所述TCP连接分配的资源与该TCP连接绑定。
[0118]其中,所述接收模块806还可以用于,接收所述终端设备发送的断开所述TCP连接的请求;
[0119]所述资源管理模块805还可以用于,当所述接收模块805接收到所述终端设备发送的断开所述TCP连接的请求时,将与所述TCP连接绑定的资源回收。
[0120]基于上述方法实施例相同的技术构思,本发明实施例还提供了一种TCP连接断线重连系统,可以应用于上述方法实施例。
[0121]如图10所示,为本发明实施例提供的一种TCP连接断线系统的架构示意图,可以包括:数据服务器1001和终端设备1002 ;其中:
[0122]所述数据服务器1001,用于当检测到与所述终端设备1002之间的TCP连接断线时,将与所述TCP连接绑定的资源设置为保护状态;其中,所述设置为保护状态的资源在预设时间内不会被回收;判断是否在所述预设时间内接收到所述终端设备1002发送的断线重连请求;若判断为是,根据所述断线重连请求中携带的用户标识和登陆票据对所述终端设备1002进行验证,并当验证通过时,重新建立与所述终端设备1002的TCP连接,并将所述设置为保护状态的资源与该重新建立的TCP连接绑定。
[0123]其中,所述数据服务器1001还可以用于,当在所述预设时间内接收到所述终端设备1002发送的断线重连请求,但根据所述断线重连请求中携带的用户标识和登陆票据对终端设备验证不通过时,将所述设置为保护状态的资源回收;或,当在所述预设时间内未接收到所述终端设备发送的断线重连请求时,将所述设置为保护状态的资源回收。
[0124]其中,所述终端设备1002可以用于,当检测到与所述数据服务器1001之间的TCP连接断线时,向所述数据服务器1001发送断线重连请求,该断线重连请求中携带有用户标识和登陆票据;或,当检测到与所述数据服务器1001之间的TCP连接断线时,输出提示消息,所述提示消息用于提示用户是否发送断线重连请求;并当接收到用户响应该提示消息输入的发送断线重连请求的指令时,向所述数据服务器1001发送断线重连请求,该断线重连请求中携带有用户标识和登陆票据。
[0125]其中,所述数据服务器1001还可以用于,建立与所述终端设备1002之间的TCP连接;接收所述终端设备1002通过所述TCP连接发送的验证请求;根据所述验证请求中携带的用户标识和登陆票据对所述终端设备1002进行验证,并当验证通过时,将为所述TCP连接分配的资源与该TCP连接绑定;
[0126]所述终端设备1002还可以用于,通过所述TCP连接向所述数据服务器1001发送验证请求,其中,所述验证请求中携带有用户标识和登陆票据。
[0127]其中,所述终端设备1002还可以用于,通过所述TCP连接向所述数据服务器1001发送验证请求之后,保存与所述数据服务器1001建立TCP连接的地址信息和端口信息,以及所述用户标识和登陆票据;
[0128]所述终端设备1002可以具体用于,通过以下方式实现向所述数据服务器1001发送断线重连请求:
[0129]根据自身保存的所述地址信息和端口信息,向所述地址信息对应的数据服务器1001中所述端口信息对应的端口发送断线重连请求,该断线重连请求中携带有所述用户标识和登陆票据。
[0130]其中,所述终端设备1002还可以用于,向所述数据服务器1001发送断开所述TCP连接的请求;
[0131]所述数据服务器1001还可以用于,接收所述终端设备1002发送的所述断开所述TCP连接的请求,并将与所述TCP连接绑定的资源回收。
[0132]通过以上描述可以看出,在本发明实施例提供的技术方案中,当检测到与终端设备之间的TCP连接断线时,将与该TCP连接绑定的资源设置为保护状态;并判断是否在预设时间内接收到终端设备发送的断线重连请求;若判断为是,根据该断线重连请求中携带的用户标识和登陆票据对终端设备进行验证,并当验证通过时,重新建立与终端设备的TCP连接,并将设置为保护状态的资源与该重新建立的TCP连接绑定,提高了 TCP连接断线重连的效率。
[0133]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0134]此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0135]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属【技术领域】的技术人员所理解。
[0136]在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(R0M),可擦除可编辑只读存储器(EPR0M或闪速存储器),光纤装置,以及便携式光盘只读存储器(⑶ROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0137]应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0138]本【技术领域】的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0139]此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0140]上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
【权利要求】
1.一种传输控制协议TCP连接断线重连方法,其特征在于,包括: 当检测到与终端设备之间的TCP连接断线时,将与所述TCP连接绑定的资源设置为保护状态;其中,所述设置为保护状态的资源在预设时间内不会被回收; 判断是否在所述预设时间内接收到所述终端设备发送的断线重连请求; 若判断为是,根据所述断线重连请求中携带的用户标识和登陆票据对所述终端设备进行验证,并当验证通过时,重新建立与所述终端设备的TCP连接,并将所述设置为保护状态的资源与该重新建立的TCP连接绑定。
2.如权利要求1所述的方法,其特征在于,该方法还包括: 当在所述预设时间内接收到所述终端设备发送的断线重连请求,但根据所述断线重连请求中携带的用户标识和登陆票据对终端设备验证不通过时,将所述设置为保护状态的资源回收;或, 当在所述预设时间内未接收到所述终端设备发送的断线重连请求时,将所述设置为保护状态的资源回收。
3.如权利要求1所述的方法,其特征在于,所述检测到与终端设备之间的TCP连接断线之前,还包括: 建立与所述终端设备之间的TCP连接; 接收所述终端设备通过所述TCP连接发送的验证请求; 根据所述验证请求中携带的用户标识和登陆票据对所述终端设备进行验证,并当验证通过时,将为所述TCP连接分配的资源与该TCP连接绑定。
4.如权利要求3所述的方法,其特征在于,该方法还包括: 当接收到所述终端设备发送的断开所述TCP连接的请求时,将与所述TCP连接绑定的资源回收。
5.一种传输控制协议TCP连接断线重连方法,其特征在于,包括: 当数据服务器检测到与终端设备之间的TCP连接断线时,所述数据服务器将与所述TCP连接绑定的资源设置为保护状态;其中,所述设置为保护状态的资源在预设时间内不会被回收; 所述数据服务器判断是否在所述预设时间内接收到所述终端设备发送的断线重连请求; 若判断为是,所述数据服务器根据所述断线重连请求中携带的用户标识和登陆票据对所述终端设备进行验证,并当验证通过时,重新建立与所述终端设备的TCP连接,并将所述设置为保护状态的资源与该重新建立的TCP连接绑定。
6.如权利要求5所述的方法,其特征在于,该方法还包括: 当所述数据服务器在所述预设时间内接收到所述终端设备发送的断线重连请求,但根据所述断线重连请求中携带的用户标识和登陆票据对终端设备验证不通过时,将所述设置为保护状态的资源回收;或, 当所述数据服务器在所述预设时间内未接收到所述终端设备发送的断线重连请求时,将所述设置为保护状态的资源回收。
7.如权利要求5所述的方法,其特征在于,所述终端设备向所述数据服务器发送断线重连请求,包括: 当所述终端设备检测到与所述数据服务器之间的TCP连接断线时,向所述数据服务器发送断线重连请求,该断线重连请求中携带有用户标识和登陆票据;或, 当所述终端设备检测到与所述数据服务器之间的TCP连接断线时,输出提示消息,所述提示消息用于提示用户是否发送断线重连请求;并当接收到用户响应该提示消息输入的发送断线重连请求的指令时,向所述数据服务器发送断线重连请求,该断线重连请求中携带有用户标识和登陆票据。
8.如权利要求5所述的方法,其特征在于,所述数据服务器检测到与终端设备之间的TCP连接断线之前,还包括: 所述数据服务器建立与所述终端设备之间的TCP连接; 所述终端设备通过所述TCP连接向所述数据服务器发送验证请求,其中,所述验证请求中携带有用户标识和登陆票据; 所述数据服务器接收所述终端设备通过所述TCP连接发送的验证请求; 所述数据服务器根据所述验证请求中携带的用户标识和登陆票据对所述终端设备进行验证,并当验证通过时,将为所述TCP连接分配的资源与该TCP连接绑定。
9.如权利要求8所述的方法,其特征在于,所述终端设备通过所述TCP连接向所述数据服务器发送验证请求之后,还包括: 所述终端设备保存与所述数据服务器建立TCP连接的地址信息和端口信息,以及所述用户标识和登陆票据; 所述终端设备向所述数据服务器发送断线重连请求,包括: 所述终端设备根据自身保存的所述地址信息和端口信息,向所述地址信息对应的数据服务器中所述端口信息对应的端口发送断线重连请求,该断线重连请求中携带有所述用户标识和登陆票据。
10.如权利要求8所述的方法,其特征在于,该方法还包括: 所述终端设备向所述数据服务器发送断开所述TCP连接的请求; 所述数据服务器接收所述终端设备发送的所述断开所述TCP连接的请求,并将与所述TCP连接绑定的资源回收。
11.一种传输控制协议TCP连接断线重连设备,其特征在于,包括: 检测模块,用于检测所述设备与终端设备之间的TCP连接是否断线; 判断模块,用于判断是否在所述预设时间内接收到所述终端设备发送的断线重连请求; 验证模块,用于当所述判断模块判断为是时,根据所述断线重连请求中携带的用户标识和登陆票据对所述终端设备进行验证; 建立模块,用于当所述验证模块对所述终端设备验证通过时,重新建立与所述终端设备的TCP连接; 资源管理模块,用于当所述检测模块检测到所述设备与终端设备之间的TCP连接断线时,将与所述TCP连接绑定的资源设置为保护状态;其中,所述设置为保护状态的资源在预设时间内不会被回收;当所述建立模块重新建立所述设备与所述终端设备之间的TCP连接时,将所述设置为保护状态的资源与该重新建立的TCP连接绑定。
12.如权利要求11所述的设备,其特征在于, 所述资源管理模块还用于,当所述设备在所述预设时间内接收到所述终端设备发送的断线重连请求,但根据所述断线重连请求中携带的用户标识和登陆票据对终端设备验证不通过时,将所述设置为保护状态的资源回收;或,当所述设备在所述预设时间内未接收到所述终端设备发送的断线重连请求时,将所述设置为保护状态的资源回收。
13.如权利要求11所述的设备,其特征在于, 所述建立模块还用于,建立所述设备与所述终端设备之间的TCP连接; 所述设备还包括: 接收模块,用于接收所述终端设备通过所述TCP连接发送的验证请求; 所述验证模块还用于,根据所述验证请求中携带的用户标识和登陆票据对所述终端设备进行验证; 所述资源管理模块还用于,当所述验证模块对所述终端设备验证通过时,将为所述TCP连接分配的资源与该TCP连接绑定。
14.如权利要求13所述的设备,其特征在于, 所述接收模块还用于,接收所述终端设备发送的断开所述TCP连接的请求; 所述资源管理模块还用于,当所述接收模块接收到所述终端设备发送的断开所述TCP连接的请求时,将与所述TCP连接绑定的资源回收。
15.一种传输控制协议TCP连接断线重连系统,其特征在于,包括数据服务器和终端设备,其中: 所述数据服务器,用于当检测到与所述终端设备之间的TCP连接断线时,将与所述TCP连接绑定的资源设置为保护状态;其中,所述设置为保护状态的资源在预设时间内不会被回收;判断是否在所述预设时间内接收到所述终端设备发送的断线重连请求;若判断为是,根据所述断线重连请求中携带的用户标识和登陆票据对所述终端设备进行验证,并当验证通过时,重新建立与所述终端设备的TCP连接,并将所述设置为保护状态的资源与该重新建立的TCP连接绑定。
16.如权利要求15所述的系统,其特征在于, 所述数据服务器还用于,当在所述预设时间内接收到所述终端设备发送的断线重连请求,但根据所述断线重连请求中携带的用户标识和登陆票据对终端设备验证不通过时,将所述设置为保护状态的资源回收;或,当在所述预设时间内未接收到所述终端设备发送的断线重连请求时,将所述设置为保护状态的资源回收。
17.如权利要求15所述的系统,其特征在于, 所述终端设备用于,当检测到与所述数据服务器之间的TCP连接断线时,向所述数据服务器发送断线重连请求,该断线重连请求中携带有用户标识和登陆票据;或,当检测到与所述数据服务器之间的TCP连接断线时,输出提示消息,所述提示消息用于提示用户是否发送断线重连请求;并当接收到用户响应该提示消息输入的发送断线重连请求的指令时,向所述数据服务器发送断线重连请求,该断线重连请求中携带有用户标识和登陆票据。
18.如权利要求15所述的系统,其特征在于, 所述数据服务器还用于,建立与所述终端设备之间的TCP连接;接收所述终端设备通过所述TCP连接发送的验证请求;根据所述验证请求中携带的用户标识和登陆票据对所述终端设备进行验证,并当验证通过时,将为所述TCP连接分配的资源与该TCP连接绑定; 所述终端设备还用于,通过所述TCP连接向所述数据服务器发送验证请求,其中,所述验证请求中携带有用户标识和登陆票据。
19.如权利要求18所述的系统,其特征在于,所述终端设备还用于,通过所述TCP连接向所述数据服务器发送验证请求之后,保存与所述数据服务器建立TCP连接的地址信息和端口信息,以及所述用户标识和登陆票据;所述终端设备具体用于,通过以下方式实现向所述数据服务器发送断线重连请求:根据自身保存的所述地址信息和端口信息,向所述地址信息对应的数据服务器中所述端口信息对应的端口发送断线重连请求,该断线重连请求中携带有所述用户标识和登陆票据。
20.如权利要求18所述的系统,其特征在于, 所述终端设备还用于,向所述数据服务器发送断开所述TCP连接的请求; 所述数据服务器还用于,接收所述终端设备发送的所述断开所述TCP连接的请求,并将与所述TCP连接绑定的资源回收。
【文档编号】H04L29/06GK104270339SQ201410440655
【公开日】2015年1月7日 申请日期:2014年9月1日 优先权日:2014年9月1日
【发明者】林爱民 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1