CN104660550B - 一种在多服务器之间进行会话迁移的方法 - Google Patents

一种在多服务器之间进行会话迁移的方法 Download PDF

Info

Publication number
CN104660550B
CN104660550B CN201310581670.2A CN201310581670A CN104660550B CN 104660550 B CN104660550 B CN 104660550B CN 201310581670 A CN201310581670 A CN 201310581670A CN 104660550 B CN104660550 B CN 104660550B
Authority
CN
China
Prior art keywords
mirror image
client
image server
migration
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310581670.2A
Other languages
English (en)
Other versions
CN104660550A (zh
Inventor
黄小红
赵钦
闫屾
马严
牟亿
王振华
张晓冬
高志腾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201310581670.2A priority Critical patent/CN104660550B/zh
Publication of CN104660550A publication Critical patent/CN104660550A/zh
Application granted granted Critical
Publication of CN104660550B publication Critical patent/CN104660550B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种在多服务器之间进行会话迁移的方法,包括:第二镜像服务器接收到来自于第二地址转换设备传送的客户端数据包,其中,所述客户端当前由第一镜像服务器通过第一地址转换设备进行数据服务;当需要进行会话迁移的时候,第二镜像服务器通过第二地址转换设备向所述客户端发送一个连接迁移请求包;判断是否接收到客户端返回的响应所述连接迁移请求包的确认包;其中,当接收到所述客户端返回的确认包以后,第二镜像服务器通知管理节点关闭所述客户端与第一镜像服务器之间的连接,并与所述客户端建立连接以提供后续的数据服务。该方法能够在不中断客户端和当前镜像服务器之间的数据服务的情况下实现多服务器之间会话的平滑迁移,用户在完全没有感觉的情况下能够获得更好的网络体验。

Description

一种在多服务器之间进行会话迁移的方法
技术领域
本发明涉及一种在多服务器之间进行会话迁移的方法,具体来说,是指一种TCP会话的迁移方法,属于多媒体通信领域。
背景技术
随着互联网的高速发展,网络应用日益增多,网络负载的日趋增大,服务器的性能、稳定性和可靠性正面临严峻的考验。虽然P2P的网络服务模式正在兴起,但是目前互联网上的主导服务模式仍然是C/S或B/S,针对这种情况,人们纷纷采用负载均衡、双机备份等技术来提供更为稳定的服务。为了给用户提供更好的服务以及减少网络负载,基于TCP连接迁移的方法逐渐开始出现。
TCP是一个端到端的传输层协议,处于应用层和网络层之间。在数据传输之前,由TCP模块在运行于不同主机上的两个应用程序之间建立直接连接,通常称为虚拟连接,其后的TCP报文在此连接的接触上进行传输。TCP协议在IP协议提供的服务基础上,提供了面向连接的、可靠的、全双工的数据流传输服务。TCP协议通过三个报文段完成连接的建立,也就是俗称的三次握手协议。当主动方发出SYN连接请求后,等待对方回答SYN,ACK。这种建立连接的方法可以防止产生错误的连接,TCP使用的流量控制协议是可变大小的协议。第一次握手:建立连接时,客户端发送SYN包(SEQ=X)到服务器,并进入SYN_SEND状态,等待服务器确认。第二次握手:服务器收到SYN包,必须确认客户的SYN(ACK=X+1),同时自己也送一个SYN包(SEQ=Y),即SYN+ACK包,此时服务器进入SYN_RECV状态。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ACK=Y+1),此包发送完毕,客户端和服务器进入Established状态,完成三次握手。
TCP连接迁移是将一个TCP连接的一个端点迁移到另一个节点,而整个迁移过程对于连接的另一端点来说是透明的。所以,前端服务器能够利用TCP连接迁移将客户的连接迁移至后端某一台或者多台服务器上。此后,前端服务器就担当路由器,将该客户发来的报文转发给后端服务器,而后端服务器则将服务数据直接发送给客户,即不经过前端服务器中转,大大减轻前端服务器的负担。
M-TCP(Migratory TCP)是由Rutgers University的Distributed Computing Lab的研究人员开发的,其解决方法是提出一种新的传输层协议,该协议是传统TCP协议的扩展,称为M-TCP协议。使用该协议的服务器集群中的服务器之间可以实现TCP连接的的动态迁移,但迁移是由客户方主动发起的,对客户方不透明。方法的初衷在于与客户端已经建立TCP会话的服务器端因某种不可期的原因宕机,客户端向另一个备用服务器重新发起恢复会话的请求。使用此方法需要修改主机的操作系统,在BSD上实现,并且服务程序也必须使用M-TCP提供的API重新编写。
TCPCP是一种基于TCP连接迁移技术的解决方法。通过将TCP连接一端的套接字从一台主机迁移到另一台主机,就像是在同一台主机上传递一个文件描述符一样。整个过程中,连接不会中断,不需要重新建立连接。其核心技术分为两个部分:TCP连接状态信息的存储与迁移,以及状态信息的恢复。它们通过TCPCP提供的一些列函数来实现。TCPCP使用一个称为ICI的数据结构来存储TCP连接的状态信息,它作为连接状态信息的载体,在迁移的整个过程中起到非常重要的作用。而对于信息的迁移,TCPCP则通过第三方软件来实现。借住迁移来的ICI数据结构,TCPCP提供了一系列的函数来讲ICI数据结构中重要参数重新注入到目的主机的内核中,并恢复连接。
在移动IP网络环境下,一旦客户端与服务器建立上连接,如果用户的位置发生变化,通过其他的接入服务器连接,可能会有更好的服务器能够给用户提供支持,但是在现有的情况下,客户端还是只有从已连接服务器获得数据,只有当用户与原服务器断开过后,才能与新的更好的服务器进行连接,这一过程会使用户明显的感觉到网络的中断,并且会使用户接受的连续文件的已接受部分失效,同时加重网络系统的负载。
基于TCP迁移的技术,能够使服务器根据客户的状态,按照一定的调度规则,将客户方与当前服务器的TCP连接对除传输层以外各层透明的迁移到另外一个服务器,将用户需要的数据通过较近的服务器发送,即有效的减少了客户端的响应延迟,又大大降低了整个网络的负载,从而有效的提高整个系统的性能。
如图1所示,用户从区域#11首先连接接入网关#11,并向CDN镜像#1发起TCP会话,当用户漫游移出接入网关#11的区域,进入并连接接入网关#12,此时由于接入网关#11和#12均位于区域1内,所以由CDN镜像#1提供数据传输较为快速,因此可以纠正相应的数据传输路径。
当用户继续漫游并最终连接接入网关#21时,由于接入网关#21位于区域2,所以由CDN镜像#2为之提供数据传输更为优化。
现有的移动性管理协议出于保持会话连续性的考虑,会始终与CDN镜像#1联系并请求数据。若想要在接入网关#21处从CDN镜像#2取得数据,必须重新发起连接请求,也即必须重新进行全部的“鉴权、会话协商、身份验证、内容请求”等操作。
退一步讲,即使现有移动性管理协议可以将数据流走向纠正,由于CDN镜像#2上起初并没有与用户建立TCP会话,且传输层的会话建立需要三次握手过程,所以现有协议、方法无法进行此类会话的迁移。
发明内容
本发明所要解决的技术问题是提供一种在多服务器之间进行会话迁移的方法,由此使得用户可以于任意时刻在保证会话不重新建立的前提下总与拓扑距离最近的镜像服务器连接,进而获取数据资源。
本发明解决上述技术问题所采取的技术方案如下:
一种在多服务器之间进行会话迁移的方法,包括:
第二镜像服务器接收到来自于第二地址转换设备传送的客户端数据包,其中,所述客户端当前由第一镜像服务器通过第一地址转换设备进行数据服务;
当需要进行会话迁移的时候,在不中断第一镜像服务器和客户端当前数据服务的情况下,第二镜像服务器通过第二地址转换设备向所述客户端发送一个连接迁移请求包;
判断是否接收到客户端返回的响应所述连接迁移请求包的确认包;
其中,当接收到所述客户端返回的确认包以后,第二镜像服务器通知管理节点关闭所述客户端与第一镜像服务器之间的连接,并与所述客户端建立连接以提供后续的数据服务。
进一步地,优选的方法是,当未接收到客户端返回的响应所述连接迁移请求包的确认包的时候,第一镜像服务器和客户端继续进行当前的数据服务。
进一步地,优选的方法是,所述第二镜像服务器接收到来自于第二地址转换设备传送的客户端数据包后,进一步包括:
判断所述客户端数据包中的五元组信息是否保存在所述第二镜像服务器记录的已有会话列表中,其中,当并未在所述第二镜像服务器所记录的已有会话列表中,则认为所述客户端需要进行数据服务会话迁移。
进一步地,优选的方法是,第二镜像服务器接收到来自于第二地址转换设备传送的客户端数据包之前,进一步包括:
管理节点判断当前会话是否需要进行镜像服务器之间的迁移;
其中,确认迁移后,修改接入路由器的路由表,并将客户端数据包发送给相应的第二地址转换设备;
所述第二地址转换设备将第二镜像服务器的条目转换到第二地址转换设备中,并将客户端数据包发送给第二镜像服务器。
进一步地,优选的方法是,当客户端的接入路由器发生变化的时候,触发所述管理节点判断当前会话是否需要进行镜像服务器之间的迁移。
进一步地,优选的方法是,管理节点根据客户端与镜像服务器之间的网络距离、状态和传输成本判断是否需要进行镜像服务器之间的迁移。
进一步地,优选的方法是,所述第二镜像服务器通知管理节点关闭所述客户端与第一镜像服务器之间的连接,并与所述客户端建立连接以提供后续的数据服务,包括:
第二镜像服务器通过第二地址转换设备向管理节点发出索取该客户端的用户信息的请求;
管理节点根据所述请求向第一镜像服务器中索取用户信息,并将索取到的所述用户信息回送给第二镜像服务器;
所述管理节点配置与第一镜像服务器相连接的第一地址转换设备,删除其中该客户端的用户条目,并由管理节点通知第一镜像服务器关闭与该客户端的连接;传输重定向至第二镜像服务器,并开始根据客户端的用户信息进行后续的数据服务。
进一步地,优选的方法是,所述管理节点回送给第二镜像服务器中的用户信息中,进一步包括正在传送的文件信息是否已经初始建立连接的信息;
第二镜像服务器根据收到的用户信息查询服务器中存储的文件,并且计算数据传送的位置以后,向用户提供数据传输。
进一步地,优选的方法是,所述会话为TCP会话,所述客户端数据包为TCP数据包,其中至少包含客户端的五元组信息。
进一步地,优选的方法是,所述连接迁移请求包中,包含会话迁移询问信息;所述确认包中,包含确认信息和客户端和第二镜像服务器进行通信的数值信息。
本发明采取了上述方案以后,能够在不中断客户端和当前镜像服务器之间的数据服务的情况下,而由服务器和管理节点进行协商并由此实现多服务器之间会话的平滑迁移,并且,该种方法中,连接迁移只需要传送少量的报文,降低了迁移的成本,提高了效率,用户在完全没有感觉的情况下能够获得更好的网络体验。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
下面结合附图对本发明进行详细的描述,以使得本发明的上述优点更加明确。其中,
图1是现有技术的基于TCP迁移的技术的示意图;
图2是本发明一种在多服务器之间进行会话迁移的方法的流程示意图;
图3是本发明一种在多服务器之间进行会话迁移的方法的一个应用场景的示意图;
图4是本发明一种在多服务器之间进行会话迁移的方法的一个应用场景的示意图;
图5是本发明一种在多服务器之间进行会话迁移的方法的一个应用场景的示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
具体来说,本发明所要解决的技术问题在于,发明一种方法,能够使已建立的TCP会话可以在多个具有相同属性(如含有相同内容)的镜像服务器之间进行相对主动迁移,即不必等到某一个正在进行数据会话的服务器宕机或TCP会话失败之后被动地进行会话迁移。
并且,本发明和图1中,都会涉及到以下几个模块,在此以下进行介绍如下:客户端、移动网络节点、管理节点、第一接入路由器、第二接入路由器、第一地址转换路由器、第二地址转换路由器(地址翻译设备)、第一镜像服务器(CDN服务器)、第二镜像服务器,其中,客户端与镜像服务器之间主要经由接入路由器和地址转换设备镜像数据服务。
在网络层方面,客户使用一个虚拟目的IP地址建立起来的连接,通过中间的地址转换设备将该虚拟IP转换成对应的镜像服务器的真实IP,并将包发送给镜像服务器,镜像服务器同样通过该地址转换路由将数据包的源IP地址该成虚拟IP,以此将包发送给客户。
连接的迁移,实际上就是移动网络节点修改新的接入路由器的路由表,管理节点则重定向地址转换设备和新的路由器之间的连接,将包发送给对应的地址转换设备,该路由器将包发给对应的镜像服务器,然后该镜像服务器建立起与客户端的连接,也就是说,管理节点和移动网络节点主要起到的是一个管理的作用。
由此,如图2所示,本发明在多服务器之间进行会话迁移的方法,主要包括以下步骤:
步骤1:第二镜像服务器接收到来自于第二地址转换设备传送的客户端数据包,其中,所述客户端当前由第一镜像服务器通过第一地址转换设备进行数据服务;
步骤2:当需要进行会话迁移的时候,在不中断第一镜像服务器和客户端当前数据服务的情况下,第二镜像服务器通过第二地址转换设备向所述客户端发送一个连接迁移请求包;
其中,该步骤中,包括:判断所述客户端数据包中的五元组信息是否保存在所述第二镜像服务器记录的已有会话列表中,其中,当并未在所述第二镜像服务器所记录的已有会话列表中,则认为所述客户端需要进行会话迁移。
在步骤中,会话迁移的具体实现步骤,主要模仿现有的第一次握手、第二次握手和第三次握手。
由于现有TCP协议栈并不具有该功能,因此,本实施例中,对于现有的TCP协议栈进行修改,扩充了两个新的状态机状态,建立起了一个新的TCP状态机模型,本专利定义的使用的部分状态机模型如下所示:
在原有的状态基础上,新增了两个状态,其中所有的原有状态意义都没有改变,新增的状态意义如下:
Mig_SENT:镜像服务器发送“会话迁移询问”,等待对端回复“迁移确认”的状态;
Mig_REVD:客户端接收到“会话迁移询问”,并且回复“迁移确认”后的状态;
在实施例中,该连接迁移请求包即请求报文(SYN=1,ACK=0,SEQ=确认序号-1),将其发送给客户端,自身进入Mig_SENT状态,同时启动计时器,即第一次握手。
步骤3:判断是否接收到客户端返回的响应所述连接迁移请求包的确认包,其中,该确认包即确认报文(SYN=1,ACK=1,SEQ=期望序号-1),客户端发往给镜像服务器后,自身进入Mig_REVD状态,此为第二次握手。
并且,第二镜像服务器收到响应包,建立起连接,同时向管理节点索取该用户的信息,此为第三次握手。
具体来说,当接收到所述客户端返回的确认包以后,步骤4:第二镜像服务器通知管理节点关闭所述客户端与第一镜像服务器之间的连接,并与所述客户端建立连接以提供后续的数据服务。
当然,当未接收到客户端返回的响应所述连接迁移请求包的确认包的时候,第一镜像服务器和客户端继续进行当前的数据服务。
也即是说,本发明能够在不中断客户端和当前镜像服务器之间的数据服务的情况下,而由服务器和管理节点进行协商并由此实现多服务器之间会话的平滑迁移,并且,该种方法中,连接迁移只需要传送少量的报文,降低了迁移的成本,提高了效率,用户在完全没有感觉的情况下能够获得更好的网络体验。
进一步地说明如下,所述第二镜像服务器接收到来自于第二地址转换设备传送的客户端数据包后,进一步包括:
判断所述客户端数据包中的五元组信息是否保存在所述第二镜像服务器记录的已有会话列表中,其中,当并未在所述第二镜像服务器所记录的已有会话列表中,则认为所述客户端需要进行数据服务会话迁移。
并且,步骤1之前,第二镜像服务器接收到来自于第二地址转换设备传送的客户端数据包之前,进一步包括:
管理节点判断当前会话是否需要进行镜像服务器之间的迁移;
其中,确认迁移后,修改接入路由器的路由表,并将客户端数据包发送给相应的第二地址转换设备;
所述第二地址转换设备将第二镜像服务器的条目转换到第二地址转换设备中,并将客户端数据包发送给第二镜像服务器。
具体来说,当客户端的接入路由器发生变化的时候,触发所述管理节点判断当前会话是否需要进行镜像服务器之间的迁移,此时,管理节点根据客户端与镜像服务器之间的网络距离、状态和传输成本判断是否需要进行镜像服务器之间的迁移。
并且,步骤4中,所述第二镜像服务器通知管理节点关闭所述客户端与第一镜像服务器之间的连接,并与所述客户端建立连接以提供后续的数据服务,详细包括:
第二镜像服务器通过第二地址转换设备向管理节点发出索取该客户端的用户信息的请求;
管理节点根据所述请求向第一镜像服务器中索取用户信息,并将索取到的所述用户信息回送给第二镜像服务器;
所述管理节点配置与第一镜像服务器相连接的第一地址转换设备,删除其中该客户端的用户条目,并由管理节点通知第一镜像服务器关闭与该客户端的连接;传输重定向至第二镜像服务器,并开始根据客户端的用户信息进行后续的数据服务。
其中,所述管理节点回送给第二镜像服务器中的用户信息中,进一步包括正在传送的文件信息是否已经初始建立连接的信息;
第二镜像服务器根据收到的用户信息查询服务器中存储的文件,并且计算数据传送的位置以后,向用户提供数据传输。
根据本发明实施例,所述会话为TCP会话,所述客户端数据包为TCP数据包,其中至少包含客户端的五元组信息。
由此,本发明能够在相应的镜像服务器上建立与客户方的连接,且该方法对于用户来说,可以透明的实现移动客户端与服务器连接的无缝迁移,服务器的切换不会中断服务,使得用户能够获得更好的网络体验,同时,也能够有效的降低整个网络的负载。
更具体地说,用户在两个(多个)含有相同内容的不同CDN镜像服务器之间迁移会话的整体过程为:
当移动网络节点发现客户端的位置发生变化,接入路由器发生改变,将改变告知管理节点,由其决定是否要迁移连接;
确认迁移,管理节点修改接入路由器路由表,将包发送给相应地址转换路由起,并且也增加第二镜像服务器2的条目到地址转换路由,此时包发送给镜像服务器2;
第二镜像服务器2接受到该报文,解析出客户端信息,发现该用户不在自己的服务列表,考虑该用户需要迁移,此时,镜像服务器2生成一个特殊的请求报文(SYN=1,ACK=0.SEQ=确认序号-1,保留位第一位为1),将其发送给客户端,自身进入Mig_SENT状态,此为第一次握手。
客户端收到该包,解析,发现是连接迁移请求的包,此时,客户端生成一个响应报文(SYN=1,ACK=1,SEQ=期望序号-1),发送给客户端,自身进入Mig_REVD状态,此为第二次握手。
镜像服务器2收到响应包,建立起连接,同时向管理节点索取该用户的信息,此为第三次握手。
管理节点收到镜像服务器2的请求,查询自身维护的用户表,得知前面由镜像服务器1提供服务,管理节点向镜像服务器1索取信息。
镜像服务器收到请求后,将用户信息发送给管理节点,用户信息包括正在传送的文件信息已经初始建立连接的SEQ等信息。
管理服务器接受到用户信息后发送给镜像服务器2.
镜像服务器2根据收到的用户信息查询文件并且计算该从哪儿开始传送后向用户提供数据传输。
以下结合几个具体的应用场景进行详细说明,具体来说,本专利考虑以下几种应用场景:
1.移动主机的位置发生变化,但是不需要迁移连接;
移动主机接入新的路由器,但是当前接入的分发数据的镜像服务器不需要改变。
2.移动主机的位置发生变化,需要迁移连接;
移动主机接入了新的路由器,并且当前接入的路由器到原分发数据镜像服务器之间网络状态较差,有新的较好的上级路由和分发数据镜像服务器,则进行连接的迁移。
3.移动主机的位置发生变化,迁移请求未成功;
在场景2的条件下,如果迁移的镜像服务器发送的连接迁移请求报文在传送中丢失导致超时,或者移动主机回复的确认报文的某些机制出现问题,亦或者回复的报文丢失导致的超时,管理节点通过接入路由器的路由表使数据能够通过原有的服务器进行传送。
场景1:参见图3,本发明的具体实施例方法主要过程包括:
用户移动,此时从接入路由器2接入,用户位置变化被移动网络节点获知;接入路由器1和接入路由器2进行DMM交接,保证用户数据的正常传送;
移动网络节点查询用户是否从接入路由器1接入;返回否认信息;
由此,配置接入路由器2的路由表,用户和服务器的数据传送直接通过接入路由器2进行,配置完后接入路由器2发送确认信息给移动网络节点;
移动网络节点告知管理节点用户已经从路由器2接入;
管理节点根据所述告知信息,配置地址转换服务器1,此时用户的IP通过它进行转换;地址转换服务器重定向传输隧道,数据通过接入路由器2进行传输。
场景2:参见图4,本发明的具体实施例方法主要过程包括:
用户移动到路由器2的接入位置,移动网络节点将用户信息改变递交给管理节点,此时路由器2有更好的通过地址转换设备2接入到镜像服务器2的传输路径,管理节点计算是否需要迁移;
当需要迁移的时候,管理节点向地址转换设备1询问,用户是否通过其转换IP;返回否认信息;
由此,配置地址转换路由器2,使得用户的IP转换通过它进行,配置结束,返回确认信息;用户数据包正确递交到镜像服务器2;
镜像服务器收到不在维护列表用户的包,生成一个特殊的连接迁移请求包,通过地址转换设备2,接入路由器2发送给用户,模仿第一次握手;
用户正确收到请求包,确定迁移,回复一个确认包,同样通过上面的路径进行传输,正确递交给镜像服务器2,模仿第二次握手;
镜像服务器2收到用户的确认包后,建立起与用户的连接;镜像服务器2向管理节点索取用户的信息;
管理节点像原有的为用户服务的镜像服务器1索取信息;镜像服务器1将用户信息递交给管理节点;
管理节点将用户信息回送给镜像服务器2;管理节点配置地址转换设备1,删除其中该用户的条目;
管理节点通知镜像服务器1关闭与该用户的连接;传输重定向,镜像服务器2开始根据用户的需求进行服务。
场景3:参见图5,本发明的具体实施例方法主要过程包括:
1.用户移动到路由器2的接入位置,移动网络节点将用户信息改变递交给管理节点,此时路由器2有更好的通过地址转换设备2接入到镜像服务器2的传输路径,管理节点计算是否需要迁移;
2.管理节点向地址转换设备1询问,用户是否通过其转换IP;3.返回否认信息;
4.配置地址转换路由器2,使得用户的IP转换通过它进行,配置结束,返回确认信息;5.用户数据包正确递交到镜像服务器2;
6.镜像服务器收到不在维护列表用户的包,生成一个特殊的连接迁移请求包,通过地址转换设备2,接入路由器2发送给用户,此时因为某种原因,等待超时;
7.镜像服务器2告知管理节点迁移失败;
8.管理节点配置接入路由器2,定向到路由器1进行用户数据包的传送;9.配置地址转换设备,删除该用户的条目;
10.通过路由器2->路由器1->地址转换设备1进行数据传送。
也就是说,本发明可以透明的实现移动客户端与服务器连接的无缝迁移,服务器的切换不会中断服务,使得用户能够获得更好的网络体验,同时,也能够有效的降低整个网络的负载。
需要说明的是,对于上述方法实施例而言,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种在多服务器之间进行会话迁移的方法,其特征在于,包括:
第二镜像服务器接收到来自于第二地址转换设备传送的客户端数据包,其中,所述客户端当前由第一镜像服务器通过第一地址转换设备进行数据服务;
当需要进行会话迁移的时候,在不中断第一镜像服务器和客户端当前数据服务的情况下,第二镜像服务器通过第二地址转换设备向所述客户端发送一个连接迁移请求包;
判断是否接收到客户端返回的响应所述连接迁移请求包的确认包;
其中,当接收到所述客户端返回的确认包以后,第二镜像服务器通知管理节点关闭所述客户端与第一镜像服务器之间的连接,并与所述客户端建立连接以提供后续的数据服务。
2.根据权利要求1所述的在多服务器之间进行会话迁移的方法,其特征在于,当未接收到客户端返回的响应所述连接迁移请求包的确认包的时候,第一镜像服务器和客户端继续进行当前的数据服务。
3.根据权利要求1或2所述的在多服务器之间进行会话迁移的方法,其特征在于,所述第二镜像服务器接收到来自于第二地址转换设备传送的客户端数据包后,进一步包括:
判断所述客户端数据包中的五元组信息是否保存在所述第二镜像服务器记录的已有会话列表中,其中,当并未在所述第二镜像服务器所记录的已有会话列表中,则认为所述客户端需要进行数据服务会话迁移。
4.根据权利要求1所述的在多服务器之间进行会话迁移的方法,其特征在于,第二镜像服务器接收到来自于第二地址转换设备传送的客户端数据包之前,进一步包括:
管理节点判断当前会话是否需要进行镜像服务器之间的迁移;
其中,确认迁移后,修改接入路由器的路由表,并将客户端数据包发送给相应的第二地址转换设备;
所述第二地址转换设备将第二镜像服务器的条目转换到第二地址转换设备中,并将客户端数据包发送给第二镜像服务器。
5.根据权利要求4所述的在多服务器之间进行会话迁移的方法,其特征在于,当客户端的接入路由器发生变化的时候,触发所述管理节点判断当前会话是否需要进行镜像服务器之间的迁移。
6.根据权利要求5所述的在多服务器之间进行会话迁移的方法,其特征在于,管理节点根据客户端与镜像服务器之间的网络距离、状态和传输成本判断是否需要进行镜像服务器之间的迁移。
7.根据权利要求1所述的在多服务器之间进行会话迁移的方法,其特征在于,所述第二镜像服务器通知管理节点关闭所述客户端与第一镜像服务器之间的连接,并与所述客户端建立连接以提供后续的数据服务,包括:
第二镜像服务器通过第二地址转换设备向管理节点发出索取该客户端的用户信息的请求;
管理节点根据所述请求向第一镜像服务器中索取用户信息,并将索取到的所述用户信息回送给第二镜像服务器;
所述管理节点配置与第一镜像服务器相连接的第一地址转换设备,删除其中该客户端的用户条目,并由管理节点通知第一镜像服务器关闭与该客户端的连接;传输重定向至第二镜像服务器,并开始根据客户端的用户信息进行后续的数据服务。
8.根据权利要求7所述的在多服务器之间进行会话迁移的方法,其特征在于,所述管理节点回送给第二镜像服务器中的用户信息中,进一步包括正在传送的文件信息是否已经初始建立连接的信息;
第二镜像服务器根据收到的用户信息查询服务器中存储的文件,并且计算数据传送的位置以后,向用户提供数据传输。
9.根据权利要求1所述的在多服务器之间进行会话迁移的方法,其特征在于,所述会话为TCP会话,所述客户端数据包为TCP数据包,其中至少包含客户端的五元组信息。
10.根据权利要求1所述的在多服务器之间进行会话迁移的方法,其特征在于,所述连接迁移请求包中,包含会话迁移询问信息;所述确认包中,包含确认信息和客户端和第二镜像服务器进行通信的数值信息。
CN201310581670.2A 2013-11-20 2013-11-20 一种在多服务器之间进行会话迁移的方法 Active CN104660550B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310581670.2A CN104660550B (zh) 2013-11-20 2013-11-20 一种在多服务器之间进行会话迁移的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310581670.2A CN104660550B (zh) 2013-11-20 2013-11-20 一种在多服务器之间进行会话迁移的方法

Publications (2)

Publication Number Publication Date
CN104660550A CN104660550A (zh) 2015-05-27
CN104660550B true CN104660550B (zh) 2019-03-01

Family

ID=53251258

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310581670.2A Active CN104660550B (zh) 2013-11-20 2013-11-20 一种在多服务器之间进行会话迁移的方法

Country Status (1)

Country Link
CN (1) CN104660550B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105187236B (zh) * 2015-08-12 2019-01-15 广东睿江云计算股份有限公司 一种网络流量迁移的方法
WO2018161263A1 (zh) 2017-03-07 2018-09-13 华为技术有限公司 一种会话迁移方法及设备
CN109257229B (zh) * 2018-10-25 2021-08-06 网宿科技股份有限公司 一种主备切换方法及装置
CN109862088B (zh) * 2019-01-23 2021-06-08 新华三云计算技术有限公司 Tcp连接迁移方法及装置
CN113051342B (zh) * 2019-12-28 2023-06-20 浙江宇视科技有限公司 一种轻量化双机切换的方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1836213A (zh) * 2003-08-14 2006-09-20 甲骨文国际公司 服务器间的透明会话迁移
EP2337296A1 (en) * 2009-12-17 2011-06-22 Juniper Networks, Inc. Session migration between network policy servers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1836213A (zh) * 2003-08-14 2006-09-20 甲骨文国际公司 服务器间的透明会话迁移
EP2337296A1 (en) * 2009-12-17 2011-06-22 Juniper Networks, Inc. Session migration between network policy servers

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
A MIGRATING OPTIMIZATION METHOD FOR CDN BASED ON DISTRIBUTED MOBILITY MANAGEMENT;Shen YAN等;《2013 5th IEEE International Conference on Broadband Network & Multimedia Technology》;20131119;全文
An End-to-End Approach to Host Mobility;Alex C. Snoeren等;《the Proceedings of the 6th annual international conference on Mobile computing and networking》;20001231;全文
Migratory TCP: Connection Migration for Service Continuity in the Internet;Florin Sultan等;《Distributed Computing Systems, 2002. Proceedings. 22nd InternationalConference 》;20021231;全文
Partial-state Asymmetric NAT: Universal and Asymmetric;Shen Yan等;《2013 15th IEEE International Conference on Communication Technology》;20131119;全文

Also Published As

Publication number Publication date
CN104660550A (zh) 2015-05-27

Similar Documents

Publication Publication Date Title
WO2020259509A1 (zh) 一种应用迁移方法及装置
US9173117B2 (en) Enhancing a mobile backup channel to address a node failure in a wireline network
RU2595752C2 (ru) Многоканальные соединения в сеансах файловой системы
Habib et al. The past, present, and future of transport-layer multipath
CN104660550B (zh) 一种在多服务器之间进行会话迁移的方法
EP2629466B1 (en) Method, device and system for forwarding data in communication system
CN110912780A (zh) 一种高可用集群检测方法、系统及受控终端
US20120331160A1 (en) Multi-path transmission control protocol proxy service
Hesmans et al. An enhanced socket API for Multipath TCP
CN113315845B (zh) 数据传输方法、装置及分布式存储系统
CN104539531A (zh) 数据传输方法及装置
CN113382026B (zh) 数据处理方法、装置、相关设备及存储介质
WO2014049432A2 (en) Method operating in a fixed access network and ues
WO2009105983A1 (zh) 边界网关协议分布式系统中邻居迁移的方法和系统
WO2021164259A1 (zh) 报文传输方法、装置及系统
CN105657571A (zh) 一种局域网内视频传输节省带宽的方法
WO2011120463A2 (zh) 跨媒介网络中的qos协商方法和系统及网络设备
CN104519414A (zh) 一种流媒体传输的方法和系统
Li et al. 6G cloud-native system: Vision, challenges, architecture framework and enabling technologies
CN102858025A (zh) 点对点互动操作的方法及设备
CN112994946A (zh) 一种链路聚合方法
CN103166860A (zh) 一种p2p叠加网络数据迁移的方法和装置
WO2012000366A1 (zh) 业务数据的中继方法及中继节点系统
KR102274204B1 (ko) 소프트웨어 정의 네트워크에서 보안 기능을 지원하는 방법 및 이를 위한 네트워크 장치 및 소프트웨어 정의 컨트롤러
CN109257444A (zh) 一种负载分担方法、装置及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant