CN1134938C - 设置于服务器群组前端的连接倒换系统及其倒换方法 - Google Patents
设置于服务器群组前端的连接倒换系统及其倒换方法 Download PDFInfo
- Publication number
- CN1134938C CN1134938C CNB011293136A CN01129313A CN1134938C CN 1134938 C CN1134938 C CN 1134938C CN B011293136 A CNB011293136 A CN B011293136A CN 01129313 A CN01129313 A CN 01129313A CN 1134938 C CN1134938 C CN 1134938C
- Authority
- CN
- China
- Prior art keywords
- server
- user
- address
- module
- port
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 13
- 238000012545 processing Methods 0.000 claims description 30
- 238000001514 detection method Methods 0.000 claims description 17
- 230000009471 action Effects 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 2
- 230000001360 synchronised effect Effects 0.000 claims 1
- 230000007704 transition Effects 0.000 description 11
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种设置于服务器群组前端的TCP连接倒换系统,以及在服务器发生故障时将数据包的传递接续至与该服务器对应的备份服务器上的倒换方法,连接倒换系统截断用户和服务器之间的TCP连接,而分别与用户和服务器建立TCP连接,服务器发生故障时,连接倒换系统冒充服务器收发消息,同时,又发起和备份服务器的TCP连接,并使其再次与用户端衔接。
Description
本发明涉及网络服务器,尤其涉及在用户与服务器之间建立TCP(传输控制协议)连接的系统及方法。
目前,在网络服务器系统中,在服务器群组前端广泛使用负载均衡设备,如4/7层交换机,首先,将网络服务器编组,组中各台服务器提供完全相同的服务,在这组服务器的前端,放置一台4/7层交换机,由4/7层交换机把用户请求轮转发送到服务器上,这不仅解决了各台服务器的负荷分担问题,而且也一定程度地提高了服务的可靠性,当组中的某台服务器发生故障时,这台服务器上的所有TCP连接中断,正在进行的请求得不到服务。但是,可以通过4/7层交换机检测出故障服务器,用户只要重新发起请求,4/7层交换机就不再把新的用户请求转发到这台服务器上,而由组内其它的服务器服务。
随着IP(互联网协议)网上语音业务,如IP电话等业务的迅速发展,使处理IP网上的语音呼叫、完成相当于窄带语音交换机上的呼叫处理功能的呼叫服务器得到大量配置,这样,就需要服务器类设备的可靠性满足公共电话网络要求的标准。如果对服务器类设备仍采用设置4/7层交换机的现有技术方案,那么,当服务器发生故障时,在该服务器上进行的呼叫全部中断,即使4/7层交换机检测到故障发生并不再把新的用户请求转发到这台服务器上,但仍未能避免已发生的大量呼损,所有被中断的呼叫都要由用户重新发起。针对此类情况,现有技术中尚无在服务器发生故障时避免呼损的解决方案。
本发明的目的在于:针对现有技术中的不足,提供一种设置于服务器群组前端的连接倒换系统及其倒换方法,使服务器上的连接在发生故障时倒换到与该服务器对应的备份服务器上继续进行,从而提高服务可靠性。
为达到上述目的,本发明采用的技术方案是:一种设置于服务器群组前端并在服务器发生故障时将数据包的传递接续至与该服务器对应的备份服务器上的连接倒换系统,其特征在于:所述连接倒换系统由用户端口模块、服务器端口模块、主处理模块和服务器检测模块组成并且具有系统IP地址,
所述服务器检测模块与所述主处理模块、所述服务器端口模块连接,用于检测服务器故障发生并将故障发生信息传送给主处理模块和服务器端口模块;
所述主处理模块与所述用户端口模块、所述服务器端口模块、所述服务器检测模块连接,用于接收所述服务器检测模块发来的故障发生信息后,对用户端TCP连接状态、服务器端TCP连接状态、用户端数据包传递顺序号和服务器端数据包传递顺序号进行记录与处理使属于同一个流的数据包在用户端与服务器端之间通过地址转换双向传递;
所述服务器端口模块与所述用户端口模块、所述主处理模块、所述服务器检测模块连接,用于接收服务器检测模块发来的故障发生信息后,对服务器建立TCP状态,将来自服务器端的数据包以服务器IP地址为源地址、以服务器端口号为源端口号,以用户IP地址为目的地址、以用户端口号为目的端口号,并对数据包规定地址转换动作;
所述用户端口模块与所述服务器端口模块、所述主处理模块连接,用于对来自用户端的数据包以用户IP地址为源地址、以用户端口号为源端口号,以系统IP地址为目的地址、以系统端口号为目的端口号更改用户端TCP连接,并对数据包规定地址转换动作。
连接倒换系统中用于在服务器发生故障时将数据包的传递接续至与该服务器对应的备份服务器上的倒换方法,其特征在于:当所述服务器检测模块检测到服务器发生故障时,依下述步骤进行:
A、服务器端口模块删除关于服务器的记录;
B、修改用户端口模块中的地址转换动作,将数据包转往主处理模块;
C、主处理模块向用户端发出应答,同时根据记录,使用用户IP地址和用户端口号向备份服务器发出请求,建立TCP连接,并在服务器端口模块中加入该备份服务器的记录;
D、根据备份服务器的IP地址和端口号修改用户端口模块和服务器端口模块中的地址转换动作;并根据主处理模块记录的用户端数据包传递顺序号和服务器端数据包传递顺序号对当前数据包进行顺序号转换。
由于本发明采用了以上连接倒换系统及倒换方法,由连接倒换系统截断用户和服务器之间的TCP连接,而分别与用户和服务器建立TCP连接。对用户而言,连接倒换系统冒充服务器;而对服务器而言,连接倒换系统又冒充用户,系统通过地址转换等操作衔接两个TCP连接。当服务器发生故障时,连接倒换系统冒充服务器收发消息,保持和客户的TCP连接,同时,又发起和备份服务器的TCP连接,当连接建立成功后,连接倒换系统通过TCP顺序号转换,再次衔接两个TCP连接,避免了服务器上的连接因故障而中断,将服务倒换到备份服务器上继续进行,提高了服务的可靠性。
下面结合附图和实施例对本发明技术方案作进一步说明。
图1是本发明方案中连接倒换系统的总体结构图;
图2是本发明方案中倒换方法的流程图。
参照图1,连接倒换系统由用户端口模块、服务器端口模块、主处理模块和服务器检测模块组成并且具有系统IP地址,该IP地址是向用户公开的虚拟IP地址,用户端口模块与用户相连接,服务器端口模块与服务器相连接。用户端口模块和服务器端口模分别设有用户端流表和服务器端流表,以源地址、源端口号、协议号、目的地址和目的端口号这五个字段标识数据包所属的TCP流,流表中还包含对数据包的处理动作。所述用户端口模块用于对来自用户端的数据包以用户IP地址为源地址、以用户端口号为源端口号,以系统IP地址为目的地址、以系统端口号为目的端口号建立用户端TCP连接,并对数据包规定地址转换动作;所述服务器端口模块用于对服务器建立TCP连接,将来自服务器端的数据包以服务器IP地址为源地址、以服务器端口号为源端口号,以用户IP地址为目的地址、以用户端口号为目的端口号,并对数据包规定地址转换动作;所述主处理模块设有TCP控制块表,用于对用户端TCP连接状态、服务器端TCP连接状态、用户端数据包传递顺序号和服务器端数据包传递顺序号进行记录与处理使属于同一个流的数据包在用户端与服务器端之间通过地址转换双向传递;所述服务器检测模块用于检测服务器故障发生并将故障发生信息传送给主处理模块和服务器端口模块。
下面以一个TCP连接的发起、形成来说明本发明方案中连接倒换系统的工作过程。
首先,用户发出TCP初始包,发起到连接倒换系统的TCP连接。标识这个包的五个字段是用户IP地址、用户端口号、TCP、系统IP地址、系统端口号,此包到达连接倒换系统用户端口。因为此包是流的初始包,用户端口模块通知主处理器模块和服务器端口模块,为这个新TCP流分配TCP控制块,在两个流表中也分配表项。然后,由主处理器模块确定主用服务器的IP地址,在各表项中填入的内容及流表中的地址转换动作、TCP控制块表中的TCP顺序号等,并建立关联。
第2步,由用户端口模块根据已经存在于流表中的地址转换动作,把连接发到主用服务器。
第3步,服务器返回应答包,此包到达连接倒换系统服务器端口。标识这个包的五个字段是服务器IP地址、服务器端口号、TCP、用户IP地址、用户端口号。由服务器端口处理模块在服务器端流表中检索,检索出该TCP流的表项。然后,服务器端口处理模块先更改相应TCP控制块表中的TCP状态、顺序号等表项,再根据服务器端流表的内容进行地址转换操作。
第4步,服务器端口模块根据流表中的动作规定把应答包向用户发送。
第5步,用户端口模块收到用户发来的后续数据包,在用户端流表检索出该TCP流的表项。然后先更改相应TCP控制块表中的TCP状态、顺序号等表项,再根据用户端流表的内容进行地址转换操作。
第6步,用户端口模块根据用户端流表中的动作规定把数据包向服务器发送。
本发明的连接倒换系统可以设置有多个外部接口,用户与用户端口模块、服务器与服务器端口模块通过上述外部接口相连接。所述外部接口可采用以太网接口、DDN(数字数据网)接口、X.25接口(用专用电路连接到公用数据网上的分组式数据终端设备与数据终接设备之间的接口)等。
当服务器检测模块检测到服务器发生故障时,将故障发生信息传送给主处理模块和服务器端口模块。连接倒换系统开始执行倒换,将数据包的传递接续至与该服务器对应的备份服务器上,所述服务器及与之对应的备份服务器可以是遵循同步备份协议的。下面,结合图2详细说明倒换方法的执行步骤。
首先,执行步骤A,服务器端口模块删除关于服务器的记录,如服务器端流表中的服务器IP地址、服务器端口号。再执行步骤B,修改用户端口模块中的地址转换动作,将数据包转往主处理模块,至此,切断了服务器端的TCP连接。然后执行步骤C,主处理模块向用户端发出应答,同时根据记录,使用用户IP地址和用户端口号向备份服务器发出请求,建立TCP连接,并在服务器端口模块中加入该备份服务器的记录,如服务器IP地址、服务器端口号。其中主处理模块向用户端发出应答,可以是通知用户端重发数据包,其实质是冒充TCP服务器作应答,使用户端的连接得以保持;而与此同时,建立与备份服务器的TCP连接,将备份服务器的IP地址、端口号加入服务器端流表。最后执行步骤D,根据备份服务器的IP地址和端口号修改用户端口模块和服务器端口模块中的地址转换动作;并根据主处理模块记录的用户端数据包传递顺序号和服务器端数据包传递顺序号对当前数据包进行顺序号转换。由于备份服务器是中途加入,所以,服务器端传递的第1个数据包实际为用户端传递的第N个数据包,而主处理模块中记录有用户端数据包传递顺序号和服务器端数据包传递顺序号,依照记录进行顺序号转换,保证了对应关系正确,经过上述倒换,使用户端TCP连接与服务器端TCP连接再次衔接。当主用服务器恢复正常,亦可依同等步骤将连接倒换回主用服务器。
本领域技术人员依照本发明技术方案作出的其他变型,亦在本发明保护范围之内。
Claims (5)
1、一种设置于服务器群组前端并在服务器发生故障时将数据包的传递接续至与该服务器对应的备份服务器上的连接倒换系统,其特征在于:所述连接倒换系统由用户端口模块、服务器端口模块、主处理模块和服务器检测模块组成并且具有系统IP地址,
所述服务器检测模块与所述主处理模块、所述服务器端口模块连接,用于检测服务器故障发生并将故障发生信息传送给主处理模块和服务器端口模块;
所述主处理模块与所述用户端口模块、所述服务器端口模块、所述服务器检测模块连接,用于接收所述服务器检测模块发来的故障发生信息后,对用户端TCP连接状态、服务器端TCP连接状态、用户端数据包传递顺序号和服务器端数据包传递顺序号进行记录与处理使属于同一个流的数据包在用户端与服务器端之间通过地址转换双向传递;
所述服务器端口模块与所述用户端口模块、所述主处理模块、所述服务器检测模块连接,用于接收服务器检测模块发来的故障发生信息后,对服务器建立TCP状态,将来自服务器端的数据包以服务器IP地址为源地址、以服务器端口号为源端口号,以用户IP地址为目的地址、以用户端口号为目的端口号,并对数据包规定地址转换动作;
所述用户端口模块与所述服务器端口模块、所述主处理模块连接,用于对来自用户端的数据包以用户IP地址为源地址、以用户端口号为源端口号,以系统IP地址为目的地址、以系统端口号为目的端口号更改用户端TCP连接,并对数据包规定地址转换动作。
2、如权利要求1所述的连接倒换系统,其特征在于:该连接倒换系统设置有多个外部接口,用户与用户端口模块、服务器与服务器端口模块通过上述外部接口相连接。
3、如权利要求1所述的连接倒换系统,其特征在于:所述服务器及与之对应的备份服务器遵循同步备份协议。
4、一种在如权利要求1所述的连接倒换系统中用于在服务器发生故障时将数据包的传递接续至与该服务器对应的备份服务器上的倒换方法,其特征在于:当所述服务器检测模块检测到服务器发生故障时,依下述步骤进行:
A、服务器端口模块删除关于服务器的记录;
B、修改用户端口模块中的地址转换动作,将数据包转往主处理模块;
C、主处理模块向用户端发出应答,同时根据记录,使用用户IP地址和用户端口号向备份服务器发出请求,建立TCP连接,并在服务器端口模块中加入该备份服务器的记录;
D、根据备份服务器的IP地址和端口号修改用户端口模块和服务器端口模块中的地址转换动作;并根据主处理模块记录的用户端数据包传递顺序号和服务器端数据包传递顺序号对当前数据包进行顺序号转换。
5、如权利要求4所述的倒换方法,其特征在于:所述主处理模块向用户端发出应答为通知用户端重发数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB011293136A CN1134938C (zh) | 2001-06-11 | 2001-06-11 | 设置于服务器群组前端的连接倒换系统及其倒换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB011293136A CN1134938C (zh) | 2001-06-11 | 2001-06-11 | 设置于服务器群组前端的连接倒换系统及其倒换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1391378A CN1391378A (zh) | 2003-01-15 |
CN1134938C true CN1134938C (zh) | 2004-01-14 |
Family
ID=4669074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB011293136A Expired - Fee Related CN1134938C (zh) | 2001-06-11 | 2001-06-11 | 设置于服务器群组前端的连接倒换系统及其倒换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1134938C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101192964B (zh) * | 2006-11-24 | 2011-04-06 | 中兴通讯股份有限公司 | 组播源主备倒换系统 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4411222B2 (ja) * | 2005-02-02 | 2010-02-10 | Necインフロンティア株式会社 | ネットワーク、ネットワーク端末装置及びそれらに用いるipアドレス管理方法並びにそのプログラム |
CN100423513C (zh) * | 2006-03-21 | 2008-10-01 | 杭州华三通信技术有限公司 | 一种tcp连接的合并方法 |
CN101222350B (zh) * | 2007-01-12 | 2011-08-24 | 华为技术有限公司 | 保护倒换决策方法和保护倒换决策系统 |
CN101146215B (zh) * | 2007-10-09 | 2011-08-10 | 华为技术有限公司 | 基于组播的视频服务冗余备份方法、装置及系统 |
CN104348637B (zh) * | 2013-07-26 | 2018-07-03 | 中国科学院声学研究所 | 一种在故障切换时保持tcp连接的方法 |
CN103944698B (zh) * | 2014-04-10 | 2017-10-03 | 四川华雁信息产业股份有限公司 | 一种双机热备方法 |
CN106331156A (zh) * | 2016-09-26 | 2017-01-11 | 广东小天才科技有限公司 | 一种终端信息交互方法及装置 |
CN109714190A (zh) * | 2018-11-28 | 2019-05-03 | 四川商通实业有限公司 | 一种基于应用级别的负载均衡与故障转移系统及其方法 |
-
2001
- 2001-06-11 CN CNB011293136A patent/CN1134938C/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101192964B (zh) * | 2006-11-24 | 2011-04-06 | 中兴通讯股份有限公司 | 组播源主备倒换系统 |
Also Published As
Publication number | Publication date |
---|---|
CN1391378A (zh) | 2003-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5999965A (en) | Automatic call distribution server for computer telephony communications | |
EP1309142B1 (en) | Communication system and method | |
EP1579654B1 (en) | Controller for multimedia sessions | |
AU743500B2 (en) | Method and apparatus for establishing and facilitating a direct quality voice call to a telephone extension | |
EP1906681B1 (en) | Changeover-to-backup technique in a computer system | |
JP5337820B2 (ja) | 転送エラー復帰技術 | |
CN101675346A (zh) | 伪线负载平衡 | |
CN1134938C (zh) | 设置于服务器群组前端的连接倒换系统及其倒换方法 | |
CN102209047A (zh) | 一种信息共享的即时通讯系统及方法 | |
CN106385334A (zh) | 呼叫中心系统及其异常检测及自恢复方法 | |
CN1414775A (zh) | 一种为ip电话接续备份的路径选择方法 | |
JP2000242589A (ja) | データ転送制御コンピュータシステム | |
CN112564990B (zh) | 一种用于音频管理服务器切换的管理方法 | |
CN101426060B (zh) | 一种双归属软交换的方法、软交换设备及系统 | |
CN1547843A (zh) | 实现计算机电话接口的自动呼叫分配 | |
CN1147094C (zh) | 通过路由器实现桥接报文的接收和发送方法 | |
CN100442791C (zh) | 使用浮动ip地址提高数据通信可靠性的方法 | |
US20030204642A1 (en) | System and method for creating a communication connection | |
CN101242335A (zh) | 多链路负荷分担的处理装置、处理方法及mpls vpn网络设备 | |
US20020021774A1 (en) | Dispatcher configurable linking of software elements | |
CN100479518C (zh) | 一种主用、备用mcu的倒换装置及方法 | |
US6519624B1 (en) | System for transmitting/receiving data records among computer nodes with communication applications via an internet or via a broadband connection depending on the type of data records | |
CN100344202C (zh) | 智能网系统中实现业务处理单元备份的方法及装置 | |
CN1679347B (zh) | 传递信令消息的方法和相关组成部分 | |
CN1893684A (zh) | 控制和承载分离网络中的双归属实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20040114 Termination date: 20150611 |
|
EXPY | Termination of patent right or utility model |