CN102742223B - 一种对用户服务进行迁移的方法、装置及*** - Google Patents
一种对用户服务进行迁移的方法、装置及*** Download PDFInfo
- Publication number
- CN102742223B CN102742223B CN201180002200.5A CN201180002200A CN102742223B CN 102742223 B CN102742223 B CN 102742223B CN 201180002200 A CN201180002200 A CN 201180002200A CN 102742223 B CN102742223 B CN 102742223B
- Authority
- CN
- China
- Prior art keywords
- user
- link
- socket
- request message
- hyperlink request
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/203—Failover techniques using migration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2038—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2048—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供一种对用户服务进行迁移的方法、装置及***,涉及通讯领域,在应用程序迁移的过程中使用户服务不中断,且用户的服务数据不丢失。该对用户服务进行迁移的方法,包括:保存客户端发送的用户请求链接报文;在冻结应用程序后,保存当前的每条用户链接对应的套接字状态信息、并保存当前的每条用户链接对应的套接字输入缓冲区及套接字输出缓冲区的数据包;将所述用户请求链接报文发送至备服务器,以使得备服务器根据所述用户请求链接报文生成服务端套接字,将所述套接字状态信息及所述数据包发送给备服务器,以使得备服务器更新服务端套接字及缓冲区数据。本发明实施例用于切换通讯链接。
Description
技术领域
本发明涉及通讯领域,尤其涉及一种对用户服务进行迁移的方法、装置及***。
背景技术
随着当前网络的快速发展,很多传统的服务已经转移到网络环境中实施,由于网络环境的脆弱性,常导致服务器需要维护,从而使用户服务出现中断。现今的高可用集群服务器***至少由两个服务器节点组成,并通过主、备服务器的切换,实现长时间不间断的运行。
在实现上述技术方案的过程中,发明人发现现有技术中至少存在如下问题:由于切换用户链接方法的限制,当主服务器上运行的应用程序迁移到备服务器时,该应用程序在备服务器上必须重新启动,才能对外继续提供服务。在主服务器上的应用程序被关闭的情况下,客户端与主服务器建立的通讯链接断开,此时用户会感知到服务的中断;另外,客户端与主服务器之间正在传输的数据包也会丢失,因此给用户的使用带来很大不便。
发明内容
本发明的实施例提供了一种对用户服务进行迁移的方法、装置及***,以使在应用程序迁移的过程中使用户服务不中断,且用户的服务数据不丢失。
为达到上述目的,本发明的实施例采用如下技术方案:
一方面,本发明实施例提供一种对用户服务进行迁移的方法,包括:
接收客户端发送的用户请求链接报文并根据所述用户请求链接报文建立用户链接;
保存客户端发送的用户请求链接报文;
在冻结应用程序后,保存当前的每条用户链接对应的套接字状态信息、并保存当前的每条用户链接对应的套接字输入缓冲区及套接字输出缓冲区的数据包,所述冻结应用程序是指在需要进行用户链接迁移时,暂停应用程序;
将所述用户请求链接报文转发给备服务器,以使得备服务器根据所述用户请求链接报文生成服务端套接字;将所述用户链接对应的套接字状态信息及所述数据包发送给备服务器,以使得备服务器更新服务端套接字及缓冲区数据,完成用户链接迁移。
一方面,本发明实施例还提供一种对用户服务进行迁移的方法,包括:
备服务器接收主服务器发送的用户请求链接报文、用户链接对应的套接字状态信息及用户链接对应的套接字输入缓冲区中数据包和套接字输出缓冲区中数据包;
建立所述主服务器发送的用户请求链接报文与备服务器间的链接并生成相应的服务端套接字;
根据所述主服务器发送的套接字状态信息,更新所述服务端套接字;
根据主服务器发送的套接字缓冲输入区及套接字缓冲输出区的数据包,更新缓冲区数据,完成与客户的链接。
另一方面,本发明实施列提供一种对用户服务进行迁移的装置,包括:
第一报文接收单元,用于接收客户端发送的用户请求链接报文并根据所述用户请求链接报文建立用户链接;
请求链接报文保存单元,用于保存客户端发送的用户请求链接报文;
相关信息存储单元,用于在冻结应用程序后,保存当前的每条用户链接对应的套接字状态信息、并保存当前的每条用户链接对应的套接字缓冲输入区及套接字缓冲输出区的数据包,所述冻结应用程序是指在需要进行用户链接迁移时,暂停应用程序;
存储信息发送单元,用于将所述用户请求链接报文转发给备服务器,并将所述用户链接对应的套接字状态信息及所述数据包发送给备服务器。
另一方面,本发明实施列还提供一种对用户服务进行迁移的装置,包括:
第二报文接收单元,用于接收主服务器发送的用户请求链接报文、用户链接对应的套接字状态信息及用户链接对应的套接字输入缓冲区中数据包和套接字输出缓冲区中数据包;
链接建立单元,用于建立所述主服务器发送的用户请求链接报文与备服务器间的链接并生成相应的服务端套接字;
套接字更新单元,用于根据所述主服务器发送的套接字状态信息,更新所述服务端套接字;
缓冲区更新单元,用于根据主服务器发送的套接字缓冲输入区及套接字缓冲输出区的数据包,更新缓冲区数据,完成与客户端的链接。
另外一方面,本发明实施例提供一种对用户服务进行迁移的***,包括:
如权利要求5-8所述的装置。
本发明实施例提供一种对用户服务进行迁移的方法、装置及***,通过保存主服务器上的用户请求链接报文、套接字状态信息、套接字输入缓冲区及输出缓冲区中的数据包,当应用程序在备服务器上启动后,利用保存下来的用户请求链接报文及套接字状态信息,进行用户链接恢复,使用户服务不中断,提升了用户体验;利用保存下来的主服务器端套接字缓冲区中的数据进行缓冲区数据的恢复,使服务数据不丢失,提高了通信可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1中主服务器侧的对用户服务进行迁移的方法的流程图;
图2为本发明实施例1中备服务器侧的对用户服务进行迁移的方法的流程图;
图3为本发明实施例2中对用户服务进行迁移的方法的流程图;
图4为本发明实施例2中主服务器上用户请求链接报文加入请求链表及应用程序的处理示意图;
图5为本发明实施例2中备服务器恢复链接示意图;
图6为本发明实施例3中主服务器侧的对用户服务进行迁移的装置的框图;
图7为在图6基础上的另一种对用户服务进行迁移的装置的框图;
图8为在图7基础上的另一种对用户服务进行迁移的装置的框图;
图9为本发明实施例3备服务器侧的对用户服务进行迁移的装置的框图;
图10为本发明实施例3一种对用户服务进行迁移的***的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
本发明实施例提供了一种对用户服务进行迁移的方法,该方法为迁移时主服务器侧的方法,如图1所示,该方法步骤包括:
S101、接收客户端发送的用户请求链接报文并根据所述用户请求链接报文建立用户链接。
客户端需要建立链接时,向服务器发送用户请求链接报文建立与客户端的用户链接。
S102、保存客户端发送的用户请求链接报文。
客户端发送用户请求链接报文要求建立链接,主服务器接收并保存该客户端的用户请求链接报文。
S103、冻结应用程序。
冻结主服务器上的应用程序,使其应用程序暂停在某一个状态,以便进行后续的主服务器上的数据、信息的保存。
S104、保存当前的每条用户链接对应的套接字状态信息、并保存当前的每条用户链接对应的套接字输入缓冲区及套接字输出缓冲区的数据包。
实际应用中,可以将保存下来的套接字状态信息及套接字缓冲区的数据包都保存至预设置的链接信息文件中。需要说明的是,主服务器上客户端的套接字状态信息、套接字缓冲区的数据包在本实施例中是保存到链接信息文件中,也可以保存在其他存储结构里,但本发明实施例并不做限制。
S105、将所述用户请求链接报文转发给备服务器,并将所述用户链接对应的套接字状态信息及所述数据包发送给备服务器。
通过将用户请求链接报文发送至备服务器,使得备服务器可以根据所述用户请求链接报文生成服务端套接字;另外,将套接字状态信息和套接字缓冲输入区及套接字缓冲输出区的数据包发送给备服务器,使得备服务器更新服务端套接字及缓冲区数据。
本发明实施例还提供了一种对用户服务进行迁移的方法,该方法为迁移后备服务器侧的方法,如图2所示,该方法步骤包括:
S201、备服务器接收主服务器发送的用户请求链接报文、用户链接对应的套接字状态信息及用户链接对应的套接字输入缓冲区中数据包和套接字输出缓冲区中数据包。
S202、建立所述用户请求链接报文与备服务器间的链接并生成相应的服务端套接字。
读取所述用户请求链接报文,将其与备服务器建立链接,使得备服务器根据所述用户请求链接报文,在备服务器上生成相应的服务端套接字。
S203、备服务器根据所述套接字状态信息,更新所述服务端套接字。
根据所述套接字状态信息,更新所述服务端套接字结构体变量。
S204、备服务器根据所述套接字缓冲输入区及套接字缓冲输出区的数据包,更新缓冲区数据,完成与客户端的链接。
本发明实施例提供一种对用户服务进行迁移的方法,通过保存主服务器上的用户请求链接报文、套接字状态信息、套接字输入缓冲区及输出缓冲区中的数据包,当应用程序在备服务器上启动后,利用保存下来的用户请求链接报文及套接字状态信息,进行链接恢复,使用户服务不中断,提升了用户体验;利用保存下来的主服务器端套接字缓冲区中的数据进行缓冲区数据的恢复,使服务数据不丢失,提高了通信可靠性。
实施例2:
本发明实施例提供了一种对用户服务进行迁移的方法,如图3所示,所述方法包括以下步骤:
S301、在主服务器上保存客户端的用户请求链接报文。
当有客户端要求建立用户链接时,将该客户端的用户请求链接报文保存在请求报文链表中;如果当前有客户端关闭自身的套接字,则从请求报文链表中删除已关闭自身套接字的客户端的用户请求链接报文,以节省存储空间。
实际应用中,可以将保存下来的用户请求链接报文保存至预设置的请求报文链表中。需要说明的是,主服务器上客户端的用户请求链接报文在本实施例中是保存到请求报文链表中,也可以保存在其他存储结构里,但本发明实施例并不做限制。
在S301步骤之后,当需要执行迁移时,执行步骤S302。具体的,可以人为的发出迁移指令;当然,也可以由主服务器自行进行检测,在检测到自身符合预设置的迁移条件时,发出迁移指令。比如,可以对服务器配置迁移条件,使其在出现故障时自动发出迁移指令,从而转向步骤S302。
S302、冻结应用程序。
冻结主服务器上的应用程序,使应用程序保持在某一个状态,以便复制当前的通讯状态中的数据。
S303、保存套接字状态信息、保存套接字缓冲区数据。
对于当前的每一条链接,拷贝主服务器上对应于该链接的套接字状态信息,对于现存的每一条链接,拷贝主服务器上对应于该链接的套接字输入缓冲区及套接字输出缓冲区中的数据包,将保存的信息保存至链接信息文件中,使得用户服务不中断。使服务数据不会丢失。
需要说明的是,主服务器上客户端的套接字状态信息、套接字缓冲区的数据包在本实施例中是保存到链接信息文件中,也可以保存在其他存储结构里,但本发明实施例并不做限制。
S304、关闭应用程序,并且截获主服务器上应用程序发出的链接关闭报文。
具体的,所述链接关闭报文可以是用于通知客户端关闭与主服务器的链接的FIN报文。通过截获链接关闭报文,可以防止客户端接收到链接关闭报文后执行关闭链接的动作,从而使客户服务中断。
S305、将所述用户请求链接报文发送至备服务器,并将所述套接字状态信息及所述数据包发送给备服务器。
在本实施例中,需要将主服务器上保存的信息发送到备服务器上,本发明实施例可以选择在关闭主服务器上应用程序后将用户请求链接报文、套接字状态信息、套接字缓冲区的数据包发送到备服务器;也可以在保存完用户请求链接报文、套接字状态信息、套接字缓冲区中的数据包后,并在关闭主服务器之前发送到备服务器上,以恢复正常的通讯链接,本发明实施例对此不做限制。
S306、将应用程序在备服务器上启动。
利用HA(High Availability,高可用性群集)软件便可以关闭主服务器上的应用程序,并在备服务器上将该应用程序重新启动,让备服务器对外继续提供服务。
S307、备服务器建立与所述用户请求链接报文的链接并生成相应的服务端套接字。
通过读取主服务器发送到备服务器上的请求报文链表中的用户请求链接报文,建立用户请求链接报文与备服务间的链接,并且在备服务器上生成相应的服务端套接字。
S308、备服务器根据所述套接字状态信息,更新所述服务端套接字。
通过S307建立好链接后,读取主服务器发送到备服务器上的套接字状态信息,更新每一条链接的套接字结构体变量,也就是更新服务端套接字结构体变量,使备服务器认为是客户端发送过来的用户请求链接报文。
S309、备服务器根据所述套接字缓冲输入区及套接字缓冲输出区的数据包,更新缓冲区数据。
进一步地,通过利用主服务器发送到备服务器上的套接字输入缓冲区和输出缓冲区中的数据包,更新每一条链接的套接字输入缓冲区和输出缓冲区中的数据,使服务数据不丢失,提高了通信可靠性。
S310、恢复与客户端之间的正常物理寻址。
可以刷新arp(Address Resolution Protocol,地址解析协议)与备服务器连接的交换机的arp缓存。
实际应用中,可以按照如图4所示的方式执行上述步骤S301-S305。在图4中,主服务器X连接有备服务器Y,客户端A与主服务器X建立了链接。
具体来说,当客户端需要建立链接时,主服务器X会将客户端A发送给它的用户请求链接报文A加入到请求报文链表中,当主服务器X判断客户端A已经关闭该端的套接字,则从请求报文链表中删除该客户端的用户请求链接报文A。当主服务器X判断需要将其上正在执行的通讯链接迁移到备服务器Y上时,主服务器X会冻结其当前的应用程序,并且对当前的每一条链接,保存主服务器X上对应于该链接的套接字状态信息,对现存的每一条链接,保存主服务器X上对应于该链接的套接字输入缓冲区及套接字输出缓冲区中的数据包,然后关闭主服务器上相应的应用程序,同时截获主服务器上应用程序发出的链接关闭报文,防止客户端接收到链接关闭报文后执行关闭链接的动作,进而使服务中断,之后,将主服务器X上保存的信息发送到备服务器Y上,以进行用户链接的恢复。
实际应用中,可以按照如图5所示的方式执行上述步骤S306-S310。在图5中,主服务器X链接有备服务器Y,客户端A与备服务器Y建立了链接。
具体来说,利用HA软件在备服务器Y上将应用程序重新启动,让备服务器Y对客户端A继续提供服务,在备服务器Y上读取保存下来的请求报文链表及保存下来的链接信息文件。通过遍历请求报文链表,取出链表中的每一个用户请求链接报文,将它与备服务器Y建立链接。使得备服务器Y认为是客户端A发送过来的请求报文,并且在备服务器Y上生成相应的服务端套接字,当备服务器Y与客户端A建立好链接后,通过保存下来的套接字状态信息,更新每一条链接的套接字结构体变量,也就是更新服务端套接字的结构体变量,然后利用保存下来的套接字输入缓冲区和输出缓冲区中的数据包,更新每一条链接的套接字输入缓冲区和输出缓冲区中的数据,来实现数据的恢复。此后,通过恢复与每个客户端之间的正常物理寻址,来实现备服务器与用户端的正常通讯。
通过以上步骤来实现主服务器与备服务器之间应用程序的直接切换,使用户服务不中断,且用户的服务数据不丢失,解决了当前HA***对应用程序计划内迁移后客户端能感知到网络中断的问题及服务数据因网络断开而丢失的问题。用户无需重新与备服务器建立链接即可以继续进行通信。
本发明实施例提供的对用户服务进行迁移的方法,通过保存主服务器上的用户请求链接报文、保存套接字状态信息、套接字输入缓冲区及输出缓冲区中的数据包,关闭主服务器上应用程序并将主服务器上保存的用户请求链接报文、套接字状态信息及所述数据包发送到备服务器上,当应用程序在备服务器上启动后,利用保存下来的用户请求链接报文及套接字状态信息,进行链接恢复,并且通过截获主服务器发送的链接关闭报文,可以防止客户端接收到链接关闭报文后执行关闭用户链接的动作,使用户服务不中断,提升了用户体验;同时,利用保存下来的主服务器端套接字缓冲区中的数据进行缓冲区数据的恢复,使服务数据不丢失,提高了通信可靠性。另外,对于关闭套接字的客户端,主服务器删除对应的用户请求链接报文,从而节省了存储空间,提高了处理速度。
实施例3:
本发明实施例提供了一种对用户服务进行迁移的装置,如图6所示,在主服务器一侧,所述装置包括第一报文接收单元61、请求链接报文保存单元62、相关信息存储单元63、存储信息发送单元64。
第一报文接收单元61用于接收客户端发送的用户请求链接报文,并根据所述用户请求链接报文建立用户链接。
请求链接报文保存单元62用于保存客户端发送的用户请求链接报文。
实际应用中,可以将保存下来的用户请求链接报文保存至预设置的请求报文链表中。需要说明的是,主服务器上客户端的用户请求链接报文在本实施例中是保存到请求报文链表中,也可以保存在其他存储结构里,但本发明实施例并不做限制。
相关信息存储单元63用于在冻结应用程序后,保存当前的每条用户链接对应的套接字状态信息、并保存当前的每条用户链接对应的套接字缓冲输入区及套接字缓冲输出区的数据包。
需要说明的是,主服务器上客户端的套接字状态信息、套接字缓冲区的数据包在本实施例中可以是保存到链接信息文件中,也可以保存在其他存储结构里,本发明实施例并不做限制。
存储信息发送单元64用于将所述用户请求链接报文发送至备服务器,并将所述套接字状态信息及所述数据包发送给备服务器。
进一步的,如图7所示,所述装置还包括请求链接报文删除单元65。
请求链接报文删除单元65用于当用户链接断开时,删除已保存的对应用户链接的用户请求链接报文。
进一步的,如图8所示,所述装置还包括链接关闭报文拦截单元66。
链接关闭报文拦截单元66用于在关闭所述应用程序后,拦截所述应用程序向所述客户端发送的链接关闭报文,以防止所述客户端关闭链接。
另外,如图9所示,在备服务器一侧的装置包括:第二报文接收单元91链接建立单元92、套接字更新单元93、缓冲区更新单元94。
第二报文接收单元91用于接收主服务器发送的用户请求链接报文、用户链接对应的套接字状态信息及用户链接对应的套接字输入缓冲区中数据包和套接字输出缓冲区中数据包。
需要说明的是,备服务器上的第二报文接收单元91中接收到的用户请求链接报文和第一报文接收单元61中的用户请求链接报文是同一个用户请求链接报文。
链接建立单元92用于建立所述主服务器发送的用户请求链接报文与备服务器间的链接并生成相应的服务端套接字。
套接字更新单元93用于根据所述主服务器发送的套接字状态信息,更新所述服务端套接字。
缓冲区更新单元94用于根据主服务器发送的套接字缓冲输入区及套接字缓冲输出区的数据包,更新缓冲区数据,完成与客户端的链接。
通过利用主服务器发送到备服务器上的套接字输入缓冲区和输出缓冲区中的数据包,更新每一条链接的套接字输入缓冲区和输出缓冲区中的数据,使服务数据不丢失,提高了通信可靠性。
本发明实施例提供了一种对用户服务进行迁移的***,如图10所示,所述装置为上述实施例中主服务器上的装置图8、与备服务器上的装置图9的组合。
需要说明的是,所述对用户服务进行迁移的***可以是主服务器上装置图6-8中任一装置图与备服务器上的装置图9的任意组合,但本发明实施例选用的是装置图8与装置图9的组合,本发明实施例并不做限制。
本发明实施例提供的对用户服务进行迁移的装置及***,当需要执行主服务器与备服务器间迁移时保存主服务器上的用户请求链接报文、保存套接字状态信息、套接字输入缓冲区及输出缓冲区中的数据包,关闭主服务器上应用程序并将主服务器上保存的用户请求链接报文、套接字状态信息及所述数据包发送到备服务器上,当应用程序在备服务器上启动后,利用保存下来的用户请求链接报文及套接字状态信息,进行链接恢复,并且通过截获主服务器发送的链接关闭报文,可以防止客户端接收到链接关闭报文后执行关闭链接的动作,使用户服务不中断,提升了用户体验;同时,利用保存下来的主服务器端套接字缓冲区中的数据进行缓冲区数据的恢复,使服务数据不丢失,提高了通信可靠性。另外,对于关闭套接字的客户端,主服务器删除对应的用户请求链接报文,从而节省了存储空间,提高了处理速度。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (7)
1.一种对用户链接进行迁移的方法,其特征在于,包括:
接收客户端发送的用户请求链接报文并根据所述用户请求链接报文建立用户链接;
保存客户端发送的用户请求链接报文;
在冻结应用程序后,保存当前的每条用户链接对应的套接字状态信息、并保存当前的每条用户链接对应的套接字输入缓冲区及套接字输出缓冲区的数据包,所述冻结应用程序是指在需要进行用户链接迁移时,暂停应用程序;
在关闭所述应用程序后,拦截所述应用程序向所述客户端发送的链接关闭报文,以防止所述客户端关闭用户链接;
将所述用户请求链接报文转发给备服务器,以使得备服务器根据所述用户请求链接报文生成服务端套接字,并将所述用户链接对应的套接字状态信息及所述数据包发送给备服务器,以使得备服务器更新服务端套接字及缓冲区数据,完成用户链接迁移。
2.根据权利要求1所述的方法,其特征在于,还包括:
在客户端终止与主服务器的用户链接时,删除已保存的对应用户链接的用户请求链接报文,以节省存储空间。
3.一种对用户服务进行迁移的方法,其特征在于,包括:
备服务器接收主服务器发送的用户请求链接报文、用户链接对应的套接字状态信息及用户链接对应的套接字输入缓冲区中数据包和套接字输出缓冲区中数据包;
建立所述主服务器发送的用户请求链接报文与备服务器间的链接并生成相应的服务端套接字;
根据所述主服务器发送的套接字状态信息,更新所述服务端套接字;
根据主服务器发送给备服务器的套接字输入缓冲区及套接字输出缓冲区的数据包,更新缓冲区数据,完成与客户端的链接。
4.一种对用户链接进行迁移的装置,其特征在于,包括:
第一报文接收单元,用于接收客户端发送的用户请求链接报文并根据所述用户请求链接报文建立用户链接;
请求链接报文保存单元,用于保存客户端发送的用户请求链接报文;
相关信息存储单元,用于在冻结应用程序后,保存当前的每条用户链接对应的套接字状态信息、并保存当前的每条用户链接对应的套接字缓冲输入区及套接字缓冲输出区的数据包,所述冻结应用程序是指在需要进行用户链接迁移时,暂停应用程序;
链接关闭报文拦截单元,用于在关闭所述应用程序后,拦截所述应用程序向所述客户端发送的链接关闭报文,以防止所述客户端关闭链接;
存储信息发送单元,用于将所述用户请求链接报文转发给备服务器,并将所述用户链接对应的套接字状态信息及所述数据包发送给备服务器。
5.根据权利要求4所述的装置,其特征在于,还包括:
请求链接报文删除单元,用于在客户端终止与主服务器的用户链接时,删除已保存的对应用户链接的用户请求链接报文,以节省存储空间。
6.一种对用户服务进行迁移的装置,其特征在于,包括:
第二报文接收单元,用于接收主服务器发送的用户请求链接报文、用户链接对应的套接字状态信息及用户链接对应的套接字输入缓冲区中数据包和套接字输出缓冲区中数据包;
链接建立单元,用于建立所述主服务器发送的用户请求链接报文与备服务器间的链接并生成相应的服务端套接字;
套接字更新单元,用于根据所述主服务器发送的套接字状态信息,更新所述服务端套接字;
缓冲区更新单元,用于根据主服务器发送的套接字缓冲输入区及套接字缓冲输出区的数据包,更新缓冲区数据,完成与客户端的链接。
7.一种对用户服务进行迁移的***,其特征在于,包括如权利要求4-6任一项所述的装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2011/079842 WO2012149750A1 (zh) | 2011-09-19 | 2011-09-19 | 一种对用户服务进行迁移的方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102742223A CN102742223A (zh) | 2012-10-17 |
CN102742223B true CN102742223B (zh) | 2015-01-21 |
Family
ID=46995190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180002200.5A Active CN102742223B (zh) | 2011-09-19 | 2011-09-19 | 一种对用户服务进行迁移的方法、装置及*** |
Country Status (4)
Country | Link |
---|---|
US (1) | US9401958B2 (zh) |
EP (1) | EP2744166B1 (zh) |
CN (1) | CN102742223B (zh) |
WO (1) | WO2012149750A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11615115B2 (en) | 2010-12-23 | 2023-03-28 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US11544288B2 (en) | 2010-12-23 | 2023-01-03 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US10262050B2 (en) | 2015-09-25 | 2019-04-16 | Mongodb, Inc. | Distributed database systems and methods with pluggable storage engines |
US11403317B2 (en) | 2012-07-26 | 2022-08-02 | Mongodb, Inc. | Aggregation framework system architecture and method |
US11544284B2 (en) | 2012-07-26 | 2023-01-03 | Mongodb, Inc. | Aggregation framework system architecture and method |
CN104782081B (zh) * | 2013-01-27 | 2019-12-03 | 慧与发展有限责任合伙企业 | 用于转移套接字状态的***以及用于迁移tcp连接的方法 |
CN106301820B (zh) * | 2015-05-15 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 一种基于网络连接服务的升级方法和装置 |
US10673623B2 (en) | 2015-09-25 | 2020-06-02 | Mongodb, Inc. | Systems and methods for hierarchical key management in encrypted distributed databases |
US10671496B2 (en) | 2016-05-31 | 2020-06-02 | Mongodb, Inc. | Method and apparatus for reading and writing committed data |
US10776220B2 (en) * | 2016-06-27 | 2020-09-15 | Mongodb, Inc. | Systems and methods for monitoring distributed database deployments |
US10833969B2 (en) * | 2016-07-22 | 2020-11-10 | Intel Corporation | Methods and apparatus for composite node malleability for disaggregated architectures |
JP7193732B2 (ja) * | 2019-04-08 | 2022-12-21 | 富士通株式会社 | 管理装置、情報処理システムおよび管理プログラム |
CN111327639B (zh) * | 2020-03-19 | 2022-07-22 | 刘奇峰 | 一种套接字通信方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179432A (zh) * | 2007-12-13 | 2008-05-14 | 浪潮电子信息产业股份有限公司 | 一种多机环境中实现***高可用的方法 |
CN101572709A (zh) * | 2009-06-01 | 2009-11-04 | 杭州华三通信技术有限公司 | 套接字连接的切换方法、***、服务器和客户端设备 |
CN101876924A (zh) * | 2009-04-30 | 2010-11-03 | 升东网络科技发展(上海)有限公司 | 数据库故障自动检测及转移方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020107966A1 (en) * | 2001-02-06 | 2002-08-08 | Jacques Baudot | Method and system for maintaining connections in a network |
US8244864B1 (en) * | 2001-03-20 | 2012-08-14 | Microsoft Corporation | Transparent migration of TCP based connections within a network load balancing system |
FR2843210B1 (fr) * | 2002-08-02 | 2005-10-14 | Meiosys | Procede de migration de connexions dans une architecture multi-ordinateurs, procede pour realiser une continuite de fonctionnement mettant en oeuvre ce procede de migration, et systeme multi-ordinateurs ainsi equipe. |
US8069218B1 (en) * | 2003-05-05 | 2011-11-29 | Parallels Holdings, Ltd. | System, method and computer program product for process migration with planned minimized down-time |
US7818454B2 (en) * | 2005-09-15 | 2010-10-19 | Hostway Corporation | Host migration system |
US7657787B2 (en) * | 2006-04-11 | 2010-02-02 | Hewlett-Packard Development Company, L.P. | Method of restoring communication state of process |
US9231871B2 (en) * | 2013-11-25 | 2016-01-05 | Versa Networks, Inc. | Flow distribution table for packet flow load balancing |
-
2011
- 2011-09-19 EP EP11864665.2A patent/EP2744166B1/en active Active
- 2011-09-19 CN CN201180002200.5A patent/CN102742223B/zh active Active
- 2011-09-19 WO PCT/CN2011/079842 patent/WO2012149750A1/zh active Application Filing
-
2014
- 2014-03-17 US US14/215,337 patent/US9401958B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179432A (zh) * | 2007-12-13 | 2008-05-14 | 浪潮电子信息产业股份有限公司 | 一种多机环境中实现***高可用的方法 |
CN101876924A (zh) * | 2009-04-30 | 2010-11-03 | 升东网络科技发展(上海)有限公司 | 数据库故障自动检测及转移方法 |
CN101572709A (zh) * | 2009-06-01 | 2009-11-04 | 杭州华三通信技术有限公司 | 套接字连接的切换方法、***、服务器和客户端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102742223A (zh) | 2012-10-17 |
EP2744166A1 (en) | 2014-06-18 |
EP2744166B1 (en) | 2019-04-03 |
WO2012149750A1 (zh) | 2012-11-08 |
US20140201267A1 (en) | 2014-07-17 |
EP2744166A4 (en) | 2014-10-29 |
US9401958B2 (en) | 2016-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102742223B (zh) | 一种对用户服务进行迁移的方法、装置及*** | |
CN103207841B (zh) | 基于键值对缓存的数据读写方法及装置 | |
US9641415B2 (en) | Method and system for seamless SCTP failover between SCTP servers running on different machines | |
US11863370B2 (en) | High availability using multiple network elements | |
CN102868754A (zh) | 一种实现集群存储高可用性的方法、节点装置和*** | |
CN103781149A (zh) | 业务报文转发处理方法、***和接入点ap | |
CN106878072B (zh) | 一种报文传输方法和装置 | |
CN101610533A (zh) | 一种实现访问控制器备份切换的方法和装置 | |
CN116048538B (zh) | 用于dpu的服务网格部署方法及装置 | |
CN103139018A (zh) | 一种调变一体化***下的网卡状态监测与tcp通信方法 | |
CN105389213A (zh) | 一种数据中心***及其配置方法 | |
EP3031188A2 (en) | Reconciliation protocol after icr switchover during bulk sync | |
US9706440B2 (en) | Mobile communication system, call processing node, and communication control method | |
CN102611717A (zh) | 一种业务数据发送方法、***、客户端代理及服务器代理 | |
CN101599907A (zh) | 流量转发方法和*** | |
KR20160090485A (ko) | 소프트웨어 정의 네트워크에서 분산 컨트롤러를 운용하는 방법 및 장치 | |
CN116192863B (zh) | 微服务流量处理方法、dpu服务网格部署方法及*** | |
US11042430B2 (en) | Elastic consistency high availability in multiple boards | |
CN113938421B (zh) | 一种基于Force-up功能的防环机制实现方法、设备及介质 | |
CN105230074B (zh) | 视频缓存切换处理方法、装置和*** | |
JP2018107744A (ja) | 通信ノード、通信システム、通信方法及びプログラム | |
CN113099467B (zh) | 一种5g通信虚拟网元网络配置的修改方法及*** | |
CN108418716B (zh) | 网络连接恢复方法、装置、***及可读存储介质 | |
CN110389713A (zh) | 数据同步方法、设备和计算机可读介质 | |
KR20170131001A (ko) | 메시지분산 서비스 환경에서의 운영 서버 제어 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |