一种TCP连接处理方法、装置、设备及存储介质与流程

文档序号:17429980发布日期:2019-04-17 03:22阅读:187来源:国知局
一种TCP连接处理方法、装置、设备及存储介质与流程

本发明涉及计算机应用技术领域,特别是涉及一种tcp连接处理方法、装置、设备及存储介质。



背景技术:

随着计算机技术及互联网技术的快速发展,网络的应用越来越多,对通过网络进行数据传输的效率的要求也越来越高。目前,可以通过woc(wanoptimizationcontroller,广域网优化控制器)对数据传输的tcp连接的数据包进行一系列优化,解决广域网中数据传输受多因素的影响而导致传输效率低的问题。影响因素可能有丢包、延时、有限的带宽容量、网络拥塞、应用程序及tcp协议缺陷等。

图1所示为一种典型的woc优化系统拓扑示意图,各分支机构通过专线网络与总部通信,每个分支机构部署有woc节点,可以对接收到的tcp连接的数据包进行优化处理,总部部署有woc集群,该woc集群包括多个woc节点,如woc1、woc2、woc3,总部的核心路由器将接收到的tcp连接分发到各个woc节点上,各woc节点对接收到的tcp连接的数据包进行优化处理后,通过核心路由器转发出去。数据包经过woc节点优化处理后,将提高传输效率。

在现有技术中,当woc集群中有woc节点新增或者退出时,都会触发核心路由器对当前tcp连接进行重新分发,这样就会使得有的tcp连接对应的代理优化的woc节点发生变化。而对于一个tcp连接而言,一个woc节点在对该tcp连接的数据包进行优化处理时,需要调用缓存的该tcp连接相关数据及信息,一旦该tcp连接的代理优化的woc节点发生变化,则变化后的woc节点中没有缓存该tcp连接的相关数据及信息,导致变化后的woc节点无法对该tcp连接的数据包进行优化处理,无法保障woc集群的高可用性,降低了数据传输效率。



技术实现要素:

本发明的目的是提供一种tcp连接处理方法、装置、设备及存储介质,以保障woc集群的高可用性,提高数据传输效率。

为解决上述技术问题,本发明提供如下技术方案:

一种tcp连接处理方法,应用于woc集群中的第一woc节点,所述woc集群中每两个woc节点之间互为邻居关系;所述方法包括:

接收核心路由器分发的第一tcp连接;

在确定所述第一tcp连接为邻居woc节点代理优化的tcp连接时,检测所述邻居woc节点是否在线;

如果所述邻居woc节点在线,则将所述第一tcp连接转发给所述邻居woc节点,以使所述邻居woc节点继续对所述第一tcp连接的数据包进行优化处理后,通过所述核心路由器转发出去。

在本发明的一种具体实施方式中,还包括:

在确定所述第一tcp连接非邻居woc节点代理优化的tcp连接时,对所述第一tcp连接的数据包进行优化处理;

将优化处理后的所述第一tcp连接的数据包通过所述核心路由器转发出去。

在本发明的一种具体实施方式中,在所述对所述第一tcp连接的数据包进行优化处理后,还包括:

将所述第一tcp连接的信息同步给所述woc集群的其他每个woc节点。

在本发明的一种具体实施方式中,还包括:

如果检测到所述邻居woc节点不在线,则将所述第一tcp连接的数据包直接通过所述核心路由器转发出去。

在本发明的一种具体实施方式中,还包括:

如果检测到所述邻居woc节点掉线后恢复,则执行所述将所述第一tcp连接转发给所述邻居woc节点的步骤。

一种tcp连接处理装置,应用于woc集群中的第一woc节点,所述woc集群中每两个woc节点之间互为邻居关系;所述装置包括:

连接接收模块,用于接收核心路由器分发的第一tcp连接;

在线检测模块,用于在确定所述第一tcp连接为邻居woc节点代理优化的tcp连接时,检测所述邻居woc节点是否在线;

连接转发模块,用于如果所述邻居woc节点在线,则将所述第一tcp连接转发给所述邻居woc节点,以使所述邻居woc节点继续对所述第一tcp连接的数据包进行优化处理后,通过所述核心路由器转发出去。

在本发明的一种具体实施方式中,还包括优化处理模块,用于:

在确定所述第一tcp连接非邻居woc节点代理优化的tcp连接时,对所述第一tcp连接的数据包进行优化处理;

将优化处理后的所述第一tcp连接的数据包通过所述核心路由器转发出去。

在本发明的一种具体实施方式中,还包括信息同步模块,用于:

在所述对所述第一tcp连接的数据包进行优化处理后,将所述第一tcp连接的信息同步给所述woc集群的其他每个woc节点。

在本发明的一种具体实施方式中,还包括数据包转发模块,用于:

在检测到所述邻居woc节点不在线时,将所述第一tcp连接的数据包直接通过所述核心路由器转发出去。

在本发明的一种具体实施方式中,所述连接转发模块,还用于:

在检测到所述邻居woc节点掉线后恢复时,执行所述将所述第一tcp连接转发给所述邻居woc节点的步骤。

一种tcp连接处理设备,应用于woc集群中的第一woc节点,所述woc集群中每两个woc节点之间互为邻居关系;包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述任一项所述tcp连接处理方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述tcp连接处理方法的步骤。

应用本发明实施例所提供的技术方案,第一woc节点在接收到核心路由器分发的第一tcp连接时,确定第一tcp连接是否为邻居woc节点代理优化的tcp连接,如果是,则进一步检测邻居woc节点是否在线,如果在线,则将第一tcp连接转发给邻居woc节点,这样邻居woc节点可以继续对第一tcp连接的数据包进行优化处理后,通过核心路由器转发出去,避免因第一woc节点中没有缓存第一tcp连接的相关信息和数据而导致第一woc节点无法对第一tcp连接的数据包进行优化处理的问题,保障了woc集群的高可用性,提高了数据传输效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术中一种woc优化系统拓扑示意图;

图2为本发明实施例中tcp连接处理方法的一种实施流程图;

图3为本发明实施例中tcp连接分发结果示意图;

图4为本发明实施例中tcp连接处理过程示意图;

图5为本发明实施例中tcp连接处理方法的另一种实施流程图;

图6为本发明实施例中一种tcp连接处理装置的结构示意图;

图7为本发明实施例中一种tcp连接处理设备的结构示意图。

具体实施方式

本发明的核心是提供一种tcp连接处理方法,该方法可以应用于woc集群中的第一woc节点,woc集群中每两个woc节点之间互为邻居关系,第一woc节点为woc集群中的任意一个woc节点。在实际应用中,在有woc节点要加入woc集群时,可以为该woc节点配置ip地址,该woc节点可以通过广播方式将自己的ip地址广播给woc集群的其他woc节点,这样woc集群的其他每个woc节点即可发现该woc节点,从而两两woc节点之间可以建立邻居关系。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图2所示,为本发明实施例所提供的一种tcp连接处理方法的实施流程图,该方法可以包括以下步骤:

s210:接收核心路由器分发的第一tcp连接。

在实际应用中,tcp连接可以是分支结构往总部方向的,也可以是总部往分支结构方向的。核心路由器在接收到新的tcp连接时,会将接收到tcp连接分发给woc集群的各woc节点,当woc集群中有woc节点新增或者退出时,也会触发核心路由器对当前tcp连接进行重新分发。

第一woc节点在接收到核心路由器分发的第一tcp连接时,可以先确定第一tcp连接是否为邻居woc节点代理优化的tcp连接。

s220:在确定第一tcp连接为邻居woc节点代理优化的tcp连接时,检测邻居woc节点是否在线。

在本发明实施例中,woc集群中的每两个woc节点之间预先建立了邻居关系,每个woc节点可以向其他每个woc节点同步自己代理优化的tcp连接信息。这样,每个woc节点中都有了其他woc节点代理优化的tcp连接信息。

第一woc节点可以通过查询这些tcp连接信息,确定第一tcp连接是否是邻居woc节点代理优化的tcp连接。如果是,则可以进一步检测邻居woc节点是否在线。具体的,可以向该邻居woc节点发送一个ping命令,如果接收到该邻居woc节点的应答信息,则确定该邻居woc节点在线,如果未接收到,或者尝试多次仍未接收到任何应答信息,则可以确定该邻居woc节点不在线,可能因故障或者其他原因掉线了。

s230:如果邻居woc节点在线,则将第一tcp连接转发给邻居woc节点,以使邻居woc节点继续对第一tcp连接的数据包进行优化处理后,通过核心路由器转发出去。

如前所描述的,当woc集群中有woc节点新增或者退出时,也会触发核心路由器对当前tcp连接进行重新分发,重新分发的tcp连接可能没有被分发到原代理的woc节点上。如图1中,在初始分发时,tcp连接1、tcp连接2被分发到了woc2上,tcp连接3、tcp连接4被分发到了woc1上,因woc3掉线,核心路由器对当前4个tcp连接进行重新分发,将tcp连接1、tcp连接3分发到了woc2上,将tcp连接2、tcp连接4分发到了woc1上,如图3所示。为了保证能够继续对第一tcp连接的数据包进行优化处理,可以在检测到邻居woc节点在线时,将第一tcp连接转发给该邻居woc节点,这样邻居woc节点可以继续对第一tcp连接的数据包进行优化处理,并在优化处理后,通过核心路由器转发出去。

如果第一tcp连接是分支结构发往总部的,则邻居woc节点在对第一tcp连接的数据包进行优化处理后,通过核心路由器转发给总部服务器。总部服务器具体可以是邮件服务器、web服务器、文件服务器等。

如果第一次tcp连接是总部发往分支结构的,则邻居woc节点在对第一tcp连接的数据包进行优化处理后,通过核心路由器、防火墙、专线网络等到达分支机构的pc。

第一woc节点在将第一tcp连接转发给邻居woc节点时,可以将第一tcp连接的目的mac地址修改为邻居woc节点的mac地址,将源mac地址修改为本机的mac地址。

应用本发明实施例所提供的方法,第一woc节点在接收到核心路由器分发的第一tcp连接时,确定第一tcp连接是否为邻居woc节点代理优化的tcp连接,如果是,则进一步检测邻居woc节点是否在线,如果在线,则将第一tcp连接转发给邻居woc节点,这样邻居woc节点可以继续对第一tcp连接的数据包进行优化处理后,通过核心路由器转发出去,避免因第一woc节点中没有缓存第一tcp连接的相关信息和数据而导致第一woc节点无法对第一tcp连接的数据包进行优化处理的问题,保障了woc集群的高可用性,提高了数据传输效率。

在本发明的一个实施例中,该方法还可以包括以下步骤:

步骤一:在确定第一tcp连接非邻居woc节点代理优化的tcp连接时,对第一tcp连接的数据包进行优化处理;

步骤二:将优化处理后的第一tcp连接的数据包通过核心路由器转发出去。

为便于描述,将上述两个步骤结合起来进行说明。

在本发明实施例中,第一woc节点在接收到核心路由器分发的第一tcp连接时,通过查询各woc节点同步的tcp连接信息,确定第一tcp连接非邻居woc节点代理优化的tcp连接,表明第一tcp连接可能为一个新连接,第一woc节点可以代理优化该第一tcp连接,对第一tcp连接的数据包进行优化处理,并将优化处理后的第一tcp连接的数据包通过核心路由器转发出去。

同时,还可以将第一tcp连接的信息同步给woc集群的其他每个woc节点,以使其他每个woc节点获知本机代理了第一tcp连接,这样,当核心路由器重新分发tcp连接时,如果将第一tcp连接分发到了其他woc节点上,如第二woc节点,该第二woc节点根据tcp连接信息可以确定第一tcp连接的原代理为第一woc节点,如果第一woc节点在线,则可以将第一tcp连接转发给第一woc节点,以继续对其进行优化代理。

在本发明的一个实施例中,该方法还可以包括以下步骤:

如果检测到邻居woc节点不在线,则将第一tcp连接的数据包直接通过核心路由器转发出去。

在本发明实施例中,第一woc节点在确定第一tcp连接为邻居woc节点代理优化的tcp连接,且检测到邻居woc节点不在线时,因为第一woc节点中没有第一tcp连接的相关信息和数据,第一woc节点无法对第一tcp连接的数据包进行优化处理,所以,第一woc节点将第一tcp连接的数据包直接通过核心路由器转发出去。

第一woc节点可以按照设定时间间隔对邻居woc节点进行在线检测,如果检测到邻居woc节点掉线后恢复,则可以将第一tcp连接转发给邻居woc节点,以使邻居woc节点继续对第一tcp连接的数据包进行优化处理后,通过核心路由器转发出去。最终该第一tcp连接不会断开,可以避免影响相关业务的进行,保障woc集群的高可用性,使得woc优化效果可以持续生效。

在woc集群中,每个woc节点都可以包括linux内核驱动、应用程序和woc处理逻辑,通过这些部件进行tcp连接的优化、转发等处理。

以两个woc节点的交互为例,对tcp连接的处理过程再次进行说明,如图4所示,每个woc节点上均配置有网络接口,通过网络接口与核心路由器连接。通过邻居发现单元可以发现对方,从而建立邻居关系,通过储存及通知单元可以进行tcp连接信息的交互,当接收到核心路由器分发的tcp连接时,通过数据匹配及转发单元确定接收到的tcp连接是否为邻居woc节点代理的连接,如果是,则将该tcp连接转发给邻居woc节点,如果否,则可以通过woc优化单元对代理的tcp连接的数据包进行优化处理。

图5所示为对tcp连接一种具体处理方法示意图,woc集群中的任意一个woc节点在接收到核心路由器分发的第一tcp连接时,确定第一tcp连接是否为邻居woc节点代理优化的tcp连接,如果是,则可以进一步检测邻居woc节点是否在线,如果在线,则可以将第一tcp连接转发给邻居woc节点,以使邻居woc节点继续对第一tcp连接的数据包进行优化处理后,通过核心路由器转发出去,如果不在线,则可以将第一tcp连接的数据包直接通过核心路由器转发出去;如果确定第一tcp连接非邻居woc节点代理优化的tcp连接,则可以直接对第一tcp连接的数据包进行优化处理,将优化处理后的第一tcp连接的数据包通过核心路由器转发出去。

相应于上面的方法实施例,本发明实施例还提供了一种tcp连接处理装置,应用于woc集群中的第一woc节点,woc集群中每两个woc节点之间互为邻居关系;下文描述的一种tcp连接处理装置与上文描述的一种tcp连接处理方法可相互对应参照。

参见图6所示,该装置包括:

连接接收模块610,用于接收核心路由器分发的第一tcp连接;

在线检测模块620,用于在确定第一tcp连接为邻居woc节点代理优化的tcp连接时,检测邻居woc节点是否在线;

连接转发模块630,用于如果邻居woc节点在线,则将第一tcp连接转发给邻居woc节点,以使邻居woc节点继续对第一tcp连接的数据包进行优化处理后,通过核心路由器转发出去。

应用本发明实施例所提供的装置,第一woc节点在接收到核心路由器分发的第一tcp连接时,确定第一tcp连接是否为邻居woc节点代理优化的tcp连接,如果是,则进一步检测邻居woc节点是否在线,如果在线,则将第一tcp连接转发给邻居woc节点,这样邻居woc节点可以继续对第一tcp连接的数据包进行优化处理后,通过核心路由器转发出去,避免因第一woc节点中没有缓存第一tcp连接的相关信息和数据而导致第一woc节点无法对第一tcp连接的数据包进行优化处理的问题,保障了woc集群的高可用性,提高了数据传输效率。

在本发明的一种具体实施方式中,还包括优化处理模块,用于:

在确定第一tcp连接非邻居woc节点代理优化的tcp连接时,对第一tcp连接的数据包进行优化处理;

将优化处理后的第一tcp连接的数据包通过核心路由器转发出去。

在本发明的一种具体实施方式中,还包括信息同步模块,用于:

在对第一tcp连接的数据包进行优化处理后,将第一tcp连接的信息同步给woc集群的其他每个woc节点。

在本发明的一种具体实施方式中,还包括数据包转发模块,用于:

在检测到邻居woc节点不在线时,将第一tcp连接的数据包直接通过核心路由器转发出去。

在本发明的一种具体实施方式中,连接转发模块530,还用于:

在检测到邻居woc节点掉线后恢复时,执行将第一tcp连接转发给邻居woc节点的步骤。

相应于上面的方法实施例,本发明实施例还提供了一种tcp连接处理设备,应用于woc集群中的第一woc节点,woc集群中每两个woc节点之间互为邻居关系;如图6所示,该设备包括:

存储器610,用于存储计算机程序;

处理器620,用于执行计算机程序时实现上述tcp连接处理方法的步骤。

相应于上面的方法实施例,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述tcp连接处理方法的步骤。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1