1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010387394.6 (22)申请日 2020.05.09 (71)申请人 深圳震有科技股份有限公司 地址 518057 广东省深圳市南山区粤海街 道高新区社区科苑南路3176号彩讯科 技大厦五层、 六层 (72)发明人 向卫东孟庆晓吴闽华 (74)专利代理机构 深圳市君胜知识产权代理事 务所(普通合伙) 44268 代理人 徐凯凯陈专 (51)Int.Cl. H04L 29/08(2006.01) (54)发明名称 一种平滑退出集群系统的方法、 系统及存储 介质 (57
2、)摘要 本发明公开了一种平滑退出集群系统的方 法、 系统及存储介质, 所述方法包括: 当第一业务 服务器退出集群系统前, 第一业务服务器将第一 业务服务器与客户端的连接关系表转移给第二 业务服务器; 转发服务器修改定向转发表用于将 原本转发给第一业务服务器的TCP数据包转发给 第二业务服务器; 当所述第一业务服务器退出所 述集群系统后, 所述客户端通过所述第二业务服 务器保持与所述集群系统的通信。 本发明在一个 业务服务器退出集群系统前将与客户端的连接 关系表转移到另外一个业务服务器上, 避免一个 业务服务器退出集群系统后客户端与集群系统 的通信断开。 权利要求书1页 说明书5页 附图1页 C
3、N 111726391 A 2020.09.29 CN 111726391 A 1.一种平滑退出集群系统的方法, 其特征在于, 所述平滑退出集群系统的方法包括: 当第一业务服务器退出集群系统前, 第一业务服务器将第一业务服务器与客户端的连 接关系表转移给第二业务服务器; 转发服务器修改定向转发表用于将原本转发给第一业务服务器的TCP数据包转发给第 二业务服务器。 2.根据权利要求1所述的平滑退出集群系统的方法, 其特征在于, 所述转发服务器修改 定向转发表将原本转发给第一业务服务器的TCP数据包转发给第二业务服务器, 之后还包 括: 当所述第一业务服务器退出所述集群系统后, 所述客户端通过所述
4、第二业务服务器保 持与所述集群系统的通信。 3.根据权利要求1所述的平滑退出集群系统的方法, 其特征在于, 所述第一业务服务器 上的连接关系表用于记录与所述第一业务服务器建立连接关系的客户端的信息。 4.根据权利要求3所述的平滑退出集群系统的方法, 其特征在于, 所述连接关系表记录 的信息包括: 客户端的IP地址、 客户端的TCP端口号、 集群系统的IP地址和集群系统的TCP端 口号。 5.根据权利要求4所述的平滑退出集群系统的方法, 其特征在于, 所述转发服务器的所 述定向转发表用于记录所述第一业务服务器与所述客户端连接关系对应的转发信息。 6.根据权利要求5所述的平滑退出集群系统的方法,
5、其特征在于, 所述转发信息包括: 客户端的IP地址、 客户端的TCP端口号、 集群系统的IP地址、 集群系统的TCP端口和业务服务 器ID。 7.根据权利要求5所述的平滑退出集群系统的方法, 其特征在于, 所述转发服务器修改 定向转发表用于将原本转发给第一业务服务器的TCP数据包转发给第二业务服务器, 还包 括: 所述转发服务器修改所述第一业务服务器的连接关系表对应的定向转发表的数据, 将 所述连接关系表中转发信息的第一业务服务器ID修改为第二业务服务器ID。 8.根据权利要求1所述的平滑退出集群系统的方法, 其特征在于, 所述TCP数据包包括: SYN数据包、 PSH数据包和FIN数据包。
6、9.一种平滑退出集群系统的系统, 其特征在于, 所述平滑退出集群系统的系统包括: 集 群系统和客户端, 所述客户端和所述集群系统连接; 所述集群系统包括转发服务器和多个业务服务器; 当第一业务服务器退出集群系统前, 所述第一业务服务器将所述第一业务服务器与所 述客户端的连接关系表转移给第二业务服务器; 所述转发服务器修改定向转发表用于将原本转发给所述第一业务服务器的TCP数据包 转发给所述第二业务服务器。 10.一种存储介质, 其特征在于, 所述存储介质存储有平滑退出集群系统的程序, 所述 平滑退出集群系统的程序被处理器执行时实现如权利要求1-8任一项所述的平滑退出集群 系统的方法的步骤。 权
7、利要求书 1/1 页 2 CN 111726391 A 2 一种平滑退出集群系统的方法、 系统及存储介质 技术领域 0001 本发明涉及计算机应用技术领域, 尤其涉及一种平滑退出集群系统的方法、 系统 及存储介质。 背景技术 0002 在大容量的IP业务服务系统中, 通常都会部署多台业务服务器(B、 C、 D、 E.)组成 集群系统, 每一台业务服务器都运行相同的服务软件, 分担处理一部分数据包; 集群系统使 用一个统一的对外通信的IP地址, 一起为众多的用户提供IP业务服务。 0003 在用户发来的数据包中, 有一类是TCP(Transmission Control Protocol, 传输
8、控 制协议)数据包, 通常有SYN数据包(SYN表示建立连接)、 PSH数据包(PSH表示有DATA数据传 输)、 FIN数据包(FIN表示关闭连接)三种, 分别有不同的作用。 0004 TCP是一种基于连接的传输层通信协议, 通信双方在传输通信数据前, 需要先建立 连接关系: 首先发起通信的用户端A会发送SYN数据包, 请求与作为服务端的集群系统建立 通信连接, 集群系统将该SYN数据包转发给业务服务器B处理, 业务服务器B发出ACT数据包 应答并建立连接, 同时业务服务器B还会记录一组形如(A的IP地址、 A的TCP端口号、 集群系 统的IP地址、 集群系统的TCP端口号)的信息: 000
9、5 0006 称为连接关系表, 用来标识与用户端A的连接关系。 只有建立连接关系之后通信双 方才能够互相发送PSH数据包传输通信数据, 直到用户A发送FIN数据包断开连接, 同一个连 接关系对应的SYN数据包、 PSH数据包、 FIN数据包中的(A的IP地址、 A的TCP端口号、 集群系统 的IP地址、 集群系统的TCP端口号)信息相同。 0007 集群系统设有数据包转发服务器, 转发服务器负责将数据包分配转发给集群系统 里的多个业务服务器中的某一个。 分配用户A发来的TCP数据包时, 不能把TCP数据包随机分 配给集群系统内的多个业务服务器去处理, 因为集群系统中只有首先处理了用户发来的 S
10、YN数据包的那台服务器B与用户建立了连接关系, 其它没有与用户A建立连接关系的服务 器C、 D、 E.无法处理用户发来的PSH数据包和FIN数据包。 0008 因此转发服务器通过定向转发表记录和查找与用户建立了连接关系的业务服务 器, 并将TCP数据包转发给业务服务器, 定向转发表如下: 说明书 1/5 页 3 CN 111726391 A 3 0009 0010 当业务服务器B退出集群系统时, 当前与业务服务器B建立连接关系的用户端A将 会断开与集群系统的通信。 0011 因此, 现有技术还有待于改进和发展。 发明内容 0012 本发明的主要目的在于提供一种平滑退出集群系统的方法、 系统及存
11、储介质, 旨 在解决现有技术中某个业务服务器退出集群系统后用户端与集群系统的通信断开的问题。 0013 为实现上述目的, 本发明提供一种平滑退出集群系统的方法, 所述平滑退出集群 系统的方法包括如下步骤: 0014 当第一业务服务器退出集群系统前, 第一业务服务器将第一业务服务器与客户端 的连接关系表转移给第二业务服务器; 0015 转发服务器修改定向转发表用于将原本转发给第一业务服务器的TCP数据包转发 给第二业务服务器。 0016 可选地, 所述的平滑退出集群系统的方法, 其中, 所述转发服务器修改定向转发表 将原本转发给第一业务服务器的TCP数据包转发给第二业务服务器, 之后还包括: 0
12、017 当所述第一业务服务器退出所述集群系统后, 所述客户端通过所述第二业务服务 器保持与所述集群系统的通信。 0018 可选地, 所述的平滑退出集群系统的方法, 其中, 所述第一业务服务器上的连接关 系表用于记录与所述第一业务服务器建立连接关系的客户端的信息。 0019 可选地, 所述的平滑退出集群系统的方法, 其中, 所述连接关系表记录的信息包 括: 客户端的IP地址、 客户端的TCP端口号、 集群系统的IP地址和集群系统的TCP端口号。 0020 可选地, 所述的平滑退出集群系统的方法, 其中, 所述转发服务器的所述定向转发 表用于记录所述第一业务服务器与所述客户端连接关系对应的转发信息
13、。 0021 可选地, 所述的平滑退出集群系统的方法, 其中, 所述转发信息包括: 客户端的IP 地址、 客户端的TCP端口号、 集群系统的IP地址、 集群系统的TCP端口和业务服务器ID。 0022 可选地, 所述的平滑退出集群系统的方法, 其中, 所述转发服务器修改定向转发表 用于将原本转发给第一业务服务器的TCP数据包转发给第二业务服务器, 还包括: 0023 所述转发服务器修改所述第一业务服务器的连接关系表对应的定向转发表的数 据, 将所述连接关系表中转发信息的第一业务服务器ID修改为第二业务服务器ID。 0024 可选地, 所述的平滑退出集群系统的方法, 其中, 所述TCP数据包包括
14、: SYN数据包、 PSH数据包和FIN数据包。 0025 此外, 为实现上述目的, 本发明还提供一种平滑退出集群系统的系统, 其中, 所述 说明书 2/5 页 4 CN 111726391 A 4 平滑退出集群系统的系统包括: 集群系统和客户端, 所述客户端和所述集群系统连接; 0026 所述集群系统包括转发服务器和多个业务服务器; 0027 当第一业务服务器退出集群系统前, 所述第一业务服务器将所述第一业务服务器 与所述客户端的连接关系表转移给第二业务服务器; 0028 所述转发服务器修改定向转发表用于将原本转发给所述第一业务服务器的TCP数 据包转发给所述第二业务服务器。 0029 此外
15、, 为实现上述目的, 本发明还提供一种存储介质, 其中, 所述存储介质存储有 平滑退出集群系统的程序, 所述平滑退出集群系统的程序被处理器执行时实现如上所述的 平滑退出集群系统的方法的步骤。 0030 本发明中, 当第一业务服务器退出集群系统前, 第一业务服务器将第一业务服务 器与客户端的连接关系表转移给第二业务服务器; 转发服务器修改定向转发表用于将原本 转发给第一业务服务器的TCP数据包转发给第二业务服务器; 当所述第一业务服务器退出 所述集群系统后, 所述客户端通过所述第二业务服务器保持与所述集群系统的通信。 本发 明在一个业务服务器退出集群系统前将与客户端的连接关系表转移到另外一个业务
16、服务 器上, 避免一个业务服务器退出集群系统后客户端与集群系统的通信断开。 附图说明 0031 图1是本发明平滑退出集群系统的方法的较佳实施例的流程图; 0032 图2是本发明平滑退出集群系统的系统的较佳实施例的原理示意图。 具体实施方式 0033 为使本发明的目的、 技术方案及优点更加清楚、 明确, 以下参照附图并举实施例对 本发明进一步详细说明。 应当理解, 此处所描述的具体实施例仅仅用以解释本发明, 并不用 于限定本发明。 0034 本发明较佳实施例所述的平滑退出集群系统的方法, 如图1所示, 所述平滑退出集 群系统的方法包括以下步骤: 0035 步骤S10、 当第一业务服务器退出集群系
17、统前, 第一业务服务器将第一业务服务器 与客户端的连接关系表转移给第二业务服务器。 0036 具体地, 所述客户端可包括多个用户(例如用户A, 还可以是其他用户), 所述客户 端与所述集群系统建立通信连接后, 所述客户端可以和所述集群系统进行数据传输。 0037 所述连接关系表记录的信息包括: 客户端的IP地址、 客户端的TCP端口号、 集群系 统的IP地址和集群系统的TCP端口号。 例如业务服务器B(即第一业务服务器)的连接关系表 记录了与业务服务器B建立连接关系的用户A的信息, 例如: 0038 0039 当业务服务器B退出集群系统前, 业务服务器B将它的连接关系表转移给业务服务 器C(即
18、第二业务服务器)。 说明书 3/5 页 5 CN 111726391 A 5 0040 步骤S20、 转发服务器修改定向转发表用于将原本转发给第一业务服务器的TCP数 据包转发给第二业务服务器。 0041 具体地, 所述集群系统中设置有转发数据包(包括TCP数据包)的转发服务器, 所述 转发服务器负责将数据包分配转发给集群系统里的多个业务服务器中的某一个。 所述转发 服务器的所述定向转发表用于记录所述第一业务服务器与所述客户端连接关系对应的转 发信息。 所述转发信息包括: 客户端的IP地址、 客户端的TCP端口号、 集群系统的IP地址、 集 群系统的TCP端口和业务服务器ID。 0042 进一
19、步地, 所述转发服务器修改所述第一业务服务器的连接关系表对应的定向转 发表的数据, 将所述连接关系表中转发信息的第一业务服务器ID修改为第二业务服务器 ID。 例如, 所述转发服务器修改所述业务服务器B的连接关系表对应的定向转发表的数据, 将所述连接关系表中转发信息的业务服务器B的ID修改为业务服务器C的ID。 0043 例如, 转发服务器的定向转发表也记录了上述连接关系对应的转发信息: 0044 0045 转发服务器修改业务服务器B的连接关系表对应的定向转发表的数据为: 0046 0047 即将业务服务器B的ID修改为业务服务器C的ID, 以便将该连接关系对应的TCP数 据包转发给业务服务器
20、C, 在业务服务器B退出集群系统后, 用户A能通过业务服务器C保持 与集群系统的通信。 0048 其中, 所述TCP数据包包括: SYN数据包(SYN表示建立连接)、 PSH数据包(PSH表示有 DATA数据传输)和FIN数据包(FIN表示关闭或者断开连接)。 0049 本发明中, 业务服务器B退出集群系统前将业务服务器B上的与用户A的连接关系 的信息(连接关系表)转移给业务服务器C, 同时转发服务器也修改定向转发表将原本转发 给业务服务器B的数据包转发给服务器C, 该过程称为平滑退出集群系统的过程, 以此避免 业务服务器B退出集群系统后用户A与集群系统的通信断开。 0050 进一步地, 如图
21、2所示, 基于上述平滑退出集群系统的方法, 本发明还相应提供了 一种平滑退出集群系统的系统, 其中, 所述平滑退出集群系统的系统包括: 集群系统和客户 端, 所述客户端和所述集群系统连接。 0051 其中, 所述集群系统包括转发服务器和多个业务服务器; 当第一业务服务器退出 集群系统前, 第一业务服务器将第一业务服务器与客户端的连接关系表转移给第二业务服 务器; 转发服务器修改定向转发表用于将原本转发给第一业务服务器的TCP数据包转发给 第二业务服务器; 当所述第一业务服务器退出所述集群系统后, 所述客户端通过所述第二 业务服务器保持与所述集群系统的通信。 0052 其中, 所述第一业务服务器
22、上的连接关系表用于记录与所述第一业务服务器建立 说明书 4/5 页 6 CN 111726391 A 6 连接关系的客户端的信息。 0053 其中, 所述连接关系表记录的信息包括: 客户端的IP地址、 客户端的TCP端口号、 集 群系统的IP地址和集群系统的TCP端口号。 0054 其中, 所述转发服务器的所述定向转发表用于记录所述第一业务服务器与所述客 户端连接关系对应的转发信息。 0055 其中, 所述转发信息包括: 客户端的IP地址、 客户端的TCP端口号、 集群系统的IP地 址、 集群系统的TCP端口和业务服务器ID。 0056 所述转发服务器修改所述第一业务服务器的连接关系表对应的定
23、向转发表的数 据, 将所述连接关系表中转发信息的第一业务服务器ID修改为第二业务服务器ID。 0057 其中, 所述TCP数据包包括: SYN数据包、 PSH数据包和FIN数据包。 0058 本发明还提供一种存储介质, 其中, 所述存储介质存储有平滑退出集群系统的程 序, 所述平滑退出集群系统的程序被处理器执行时实现如上所述的平滑退出集群系统的方 法的步骤。 0059 综上所述, 本发明提供一种平滑退出集群系统的方法、 系统及存储介质, 所述方法 包括: 当第一业务服务器退出集群系统前, 第一业务服务器将第一业务服务器与客户端的 连接关系表转移给第二业务服务器; 转发服务器修改定向转发表用于将
24、原本转发给第一业 务服务器的TCP数据包转发给第二业务服务器; 当所述第一业务服务器退出所述集群系统 后, 所述客户端通过所述第二业务服务器保持与所述集群系统的通信。 本发明在一个业务 服务器退出集群系统前将与客户端的连接关系表转移到另外一个业务服务器上, 避免一个 业务服务器退出集群系统后客户端与集群系统的通信断开。 0060 当然, 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程, 是可以通过计算机程序来指令相关硬件(如处理器, 控制器等)来完成, 所述的程序可存储 于一计算机可读取的存储介质中, 所述程序在执行时可包括如上述各方法实施例的流程。 其中所述的存储介质可为存储器、 磁碟、 光盘等。 0061 应当理解的是, 本发明的应用不限于上述的举例, 对本领域普通技术人员来说, 可 以根据上述说明加以改进或变换, 所有这些改进和变换都应属于本发明所附权利要求的保 护范围。 说明书 5/5 页 7 CN 111726391 A 7 图1 图2 说明书附图 1/1 页 8 CN 111726391 A 8