CN113839809A - 一种服务器升级的方法、设备及系统 - Google Patents
一种服务器升级的方法、设备及系统 Download PDFInfo
- Publication number
- CN113839809A CN113839809A CN202110988964.1A CN202110988964A CN113839809A CN 113839809 A CN113839809 A CN 113839809A CN 202110988964 A CN202110988964 A CN 202110988964A CN 113839809 A CN113839809 A CN 113839809A
- Authority
- CN
- China
- Prior art keywords
- server
- long connection
- client device
- client
- time
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000011084 recovery Methods 0.000 claims description 55
- 230000003993 interaction Effects 0.000 claims description 33
- 230000005059 dormancy Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 13
- 230000004617 sleep duration Effects 0.000 claims description 9
- 230000015654 memory Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 7
- 230000004622 sleep time Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 4
- 238000001914 filtration Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005291 magnetic effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- 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/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种服务器升级的方法。在服务器需要下线升级前,先由服务器主动向客户端设备发送重启命令报文,以使各个客户端设备在分散分布的时间向服务器发送断开长连接的请求。然后,由建立长连接的客户端设备在不同的时间主动执行四次握手断开与服务器的长连接。在服务器完成升级之后,客户端设备再恢复与服务器之间的长连接。这样做避免了需要升级的服务器在升级之前短时间内与大量客户端设备同时交互断开长连接的四次握手报文。服务器通过重启命令报文通知相关的客户端设备在分散分布的时间主动与服务器断开连接,使得服务器不会在短时间内交互大量的四次握手报文,降低了握手报文的并发量,避免断开连接的过程被误判为ACK Flood攻击的问题。
Description
技术领域
本发明涉及计算机技术领域,尤其是一种适用于服务器升级的方法、设备及系统。
背景技术
在客户端设备连接Web服务器时常见的请求方式分为短连接和长连接。HTTP就是无状态的短连接,客户端设备的浏览器与服务器每进行一次HTTP操作就建立一次连接,任务结束后就断开连接。长连接也叫持久连接,在TCP层握手成功后不会立刻断开连接,而是会在此连接的基础上进行多次消息交互,直到连接的任意一方主动断开连接。长连接的建立通过三次握手进行,而断开则通过四次握手,所以每个连接的建立和断开都是需要客户端设备与服务器进行多次交互,当服务器无法响应客户端设备时,客户端设备将不断地向服务器发送大量报文,这需要消耗一定的网络资源和时间资源。
在长连接的建立和断开的过程中,无论是建立长连接,还是断开长连接,客户端设备与服务器都需要进行相应的报文发送。如果服务器因升级突然离线导致长连接异常断开,则大量建立了长连接的客户端设备会因未收到服务器的响应而在同一时间向服务端发起建立长连接的报文(SYN+ACK),但服务器此时已经无法响应客户端设备,但客户端设备因未收到服务器的响应还在继续发送大量的报文,这不仅会导致服务器在上线时十分拥堵、带宽资源被耗尽,客户端设备也很容易被服务器判断为ACK Flood攻击,导致其IP被封或禁用站点服务。所以,在现有技术中还无法解决在服务器升级时,被异常断开长连接的客户端设备被服务器误判为ACK Flood攻击的问题。
发明内容
本发明的一个目的是提供一种适用于服务器升级的方法,用以解决现有技术中服务器在长连接下工作时因服务器升级,异常断开长连接后产生的将客户端设备发送正常的建立长连接的报文误判为ACK Flood攻击的问题。
为实现上述目的,本发明提供了一种应用于服务器的升级方法,包括:
在服务器升级之前,向与所述服务器建立有长连接的客户端设备发送重启命令报文,以使所述客户端设备在分散分布的时间向服务器发送长连接断开请求;
基于所述客户端设备所发送的长连接断开请求,与所述客户端设备进行四次握手交互,断开与所述客户端设备之间的长连接;
进行升级;
恢复与所述客户端设备之间的长连接。
进一步地,在服务器升级之前,向与所述服务器建立有长连接的客户端设备发送重启命令报文,以使所述客户端设备在分散分布的时间向服务器发送长连接断开请求,包括:
在服务器升级之前,向与所述服务器建立有长连接的客户端设备发送重启命令报文,所述重启命令报文包括断开时间,以使所述客户端设备在所述断开时间向服务器发送长连接断开请求,同一服务器的不同客户端设备的断开时间分散分布;
进一步地,所述重启命令报文包括休眠时长,以使所述客户端设备在断开长连接后,根据休眠时长确定恢复时间,并在恢复时间向服务器发送长连建立请求,同一服务器的不同客户端设备的恢复时间分散分布;
恢复与所述客户端设备之间的长连接,包括:
基于客户端设备在各自的恢复时间所发送的长连接建立请求,与所述客户端设备进行三次握手交互,建立与所述客户端设备之间的长连接;
进一步地,所述重启命令报文包括恢复时间,以使所述客户端设备断开长连接后,在所述恢复时间向服务器发送长连接建立请求,同一服务器的不同客户端设备的恢复时间分散分布;
恢复与所述客户端设备之间的长连接,包括:
基于客户端设备在各自的恢复时间所发送的长连接建立请求,与所述客户端设备进行三次握手交互,建立与所述客户端设备之间的长连接。
进一步地,所述重启命令报文包括目标IP地址,以使所述客户端设备断开长连接后,根据所述目标IP地址向服务器发送长连接建立请求。
进一步地,该方法还包括:
根据服务器的地域信息或运营商环境信息,确定为不同客户端设备分配目标的IP地址。
一种服务器升级方法,所述方法应用于客户端设备,其特征在于,包括:
接收与客户端设备建立有长连接的服务器在升级之前所发送的重启命令报文;
根据所述重启命令报文在分散分布的时间向服务器发送长连接断开请求,与所述服务器进行四次握手交互,断开与所述服务器之间的长连接;
在服务器完成升级之后,恢复与服务器之间的长连接。
进一步地,所述重启命令报文包括断开时间,同一服务器的不同客户端设备的断开时间分散分布;
根据所述重启命令报文在分散分布的时间向服务器发送长连接断开请求,与所述服务器进行四次握手交互,断开与所述客户端设备之间的长连接,包括:
根据所述重启命令报文中的断开时间向服务器发送长连接断开请求,与所述服务器进行四次握手交互,断开与所述服务器之间的长连接。
进一步地,所述重启命令报文包括休眠时长;
恢复与所述客户端设备之间的长连接,包括:
在断开长连接后,根据休眠时长确定恢复时间,并在恢复时间向服务器发送长连建立请求,与所述客户端设备进行三次握手交互,建立与所述客户端设备之间的长连接,同一服务器的不同客户端设备的恢复时间分散分布。
进一步地,所述重启命令报文包括恢复时间;
恢复与所述客户端设备之间的长连接,包括:
断开长连接后,在所述恢复时间向服务器发送长连接建立请求,与所述客户端设备进行三次握手交互,建立与所述客户端设备之间的长连接,同一服务器的不同客户端设备的恢复时间分散分布。
进一步地,所述重启命令报文包括目标IP地址;
恢复与所述客户端设备之间的长连接,包括:
断开长连接后,根据所述目标IP地址向服务器发送长连接建立请求,建立与所述客户端设备之间的长连接。
本发明还提供一种计算设备,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行上述任一项所述方法。
本发明还提供一种网络系统,其特征在于,包括至少一个服务器集群和多个客户端设备,每个服务器集群至少包括一个服务器;
所述服务器,用于执行上述关于服务器的任一项方法;
所述客户端设备,用于执行上述关于客户端设备的任一项方法。
与现有技术相比,本发明提供了一种服务器升级的方法。在服务器需要升级前,先由服务器主动向客户端设备发送重启命令报文,以使各个客户端设备在分散分布的时间向服务器发送断开长连接的请求。然后,由建立长连接的客户端设备在不同的时间主动执行四次握手断开与服务器的长连接。在服务器完成升级之后,客户端设备再恢复与服务器之间的长连接。这样做避免了需要升级的服务器在升级之前短时间内与大量客户端设备同时交互断开长连接的四次握手报文。服务器通过重启命令报文通知相关的客户端设备在分散分布的时间主动与服务器断开连接,使得服务器不会在短时间内交互大量的四次握手报文,降低了握手报文的并发量,避免断开连接的过程被误判为ACK Flood攻击的问题。
进一步地,在服务器在发送的重启命令报文中,可以进一步携带用于确定客户端设备重新建立连接的时间的信息,由此可以使得客户端设备可以在分散分布的时间重新与服务器建立连接,避免建立连接的三次握手报文的集中并发交互,避免恢复连接的过程被误判为遭到ACK Flood攻击的问题。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明实施例所述方法应用于服务器的流程图;
图2为本发明实施例所述方法应用于客户端设备的流程图;
图3为本发明实施例执行所述方法时的图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种服务器升级的方法,当此方法应用于服务器设备时,包括以下步骤:
步骤S101:在服务器升级之前,向与所述服务器建立有长连接的客户端设备发送重启命令报文,以使所述客户端设备在分散分布的时间向服务器发送长连接断开请求;
步骤S102:基于所述客户端设备所发送的长连接断开请求,与所述客户端设备进行四次握手交互,断开与所述客户端设备之间的长连接;
步骤S103:进行升级;
步骤S104:恢复与所述客户端设备之间的长连接。
下面结合图1对本发明所述方法做进一步描述。
步骤S101:在服务器升级之前,向与所述服务器建立有长连接的客户端设备发送重启命令报文,以使所述客户端设备在分散分布的时间向服务器发送长连接断开请求。
所述在服务器进行升级前,可以包括服务器正式断开网络连接之前。在服务器升级前,向与本服务器建立长连接的客户端设备进行通讯,其通讯方式可以是向客户端设备发送重启命令报文,其中,所述重启命令报文可以是基于当前已建立的长连接所发送的数据报文,服务器在向各个客户端设备发送重启命令报文时,也可以在分散分布的时间发送。所述重启命令报文可以包含使客户端设备主动发送与服务器断开长连接的请求等指令或信息,以使客户端设备按照服务器的要求进行操作,其中,所述操作可以是使客户端设备在分散分布的时间向服务器发送长连接的断开请求。
所述客户端设备在分布分散的时间是指每个客户端设备断开与服务器的长连接时间点之间具有一定的时间间隔。例如,如图3所示,客户端设备01开始执行与服务器断开长连接操作的时间节点为12:00,客户端设备02开始执行与服务器断开长连接操作的时间节点为12:01,客户端设备03开始执行与服务器断开长连接操作的时间节点为12:02,客户端设备04与开始执行服务器断开长连接操作的时间节点为12:03,以此类推其他客户端设备。为提高效率,也可以是客户端设备01和客户端设备02开始执行与服务器断开长连接操作的时间节点都为12:00,客户端设备03和客户端设备04开始执行与服务器断开长连接操作的时间节点为12:01,可以是在不影响服务器响应速度的情况下,以此类推其他客户端设备。这样做是为了避免需要升级的服务器在升级之前短时间内与大量客户端设备同时交互断开长连接的四次握手报文,从而降低了握手报文的并发量,避免断开连接的过程被服务器误判为遭到客户端设备ACK Flood攻击。
在本发明的一些实施例中,在服务器升级之前,向与所述服务器建立有长连接的客户端设备发送重启命令报文,以使所述客户端设备在分散分布的时间向服务器发送长连接断开请求,可以是在服务器升级之前,向与所述服务器建立有长连接的客户端设备发送重启命令报文,所述重启命令报文包括断开时间,以使所述客户端设备在所述断开时间向服务器发送长连接断开请求,同一服务器的不同客户端设备的断开时间分散分布。
在服务器进行升级之前,可以向与本服务器建立长连接的客户端设备发送重启命令报文,其中,在重启命令报文中可以包括客户端设备主动发送断开长连接请求的时间点或时间段,以使客户端设备在服务器规定的时间点或时间段开始进行断开长连接的操作。其中,断开操作可以是以四次握手的方式进行。服务器可以对断开的时间进行筛选,筛选的目的在于使所有长连接本服务器的客户端设备在不同的时间点或时间段开始执行断开连接的操作,这就使得同一服务器的不同客户端设备的断开时间分散分布,避免了需要升级的服务器在升级之前短时间内与大量客户端设备同时交互断开长连接的四次握手报文。服务器通过重启命令报文通知相关的客户端设备在分散分布的时间主动与服务器断开连接,由此使得服务器不会在短时间内交互大量的四次握手报文,降低了握手报文的并发量,避免断开连接的过程被误判为遭到ACK Flood攻击的问题。
在本发明的一些实施例中,所述重启命令报文包括目标IP地址,以使所述客户端设备断开长连接后,根据所述目标IP地址向服务器发送长连接建立请求。
所述重启命令报文中可以包含目标IP地址,所述目标IP地址为客户端设备可以连接的服务器的IP地址。这些可以连接的服务器可以是和本服务器提供的功能和/或服务相同或相近的服务器,所提供给客户端设备建立连接的服务器可以不止一个。
在本发明的另一些实施例中,根据服务器的地域信息或运营商环境信息,确定为不同客户端设备分配目标的IP地址。
服务器可以在发送给客户端设备的重启命令报文中发送经过筛选的可连接的服务器的IP地址,其中,这些可连接的服务器可以是和本服务器提供的功能和/或服务相同或相近的服务器,所提供给客户端设备建立连接的服务器可以不止一个。这些服务器的筛选方案可以是按照与客户端设备地理位置,比如,可以是选择距离客户端设备最近的服务器,也可以是按照运营商环境信息进行筛选。比如,可以是选择同一网络运营商的,也可以是按照网络响应速度筛选。比如,可以是选择一些访问量较小或不拥挤的服务器,也可以是按照客户端设备的需求进行筛选并提供满足其需求的服务器IP地址。
在本服务器进行升级前向与本服务器建立长连接的客户端设备提供其他功能相同或相近的服务器,这样可以引导等待本服务器提供服务的客户端设备在其他服务器上得到相同或类似的服务,避免了客户端设备为得到本服务器的服务而等待较长的时间,提高了网络的利用率。也避免了当本服务器重新上线时大量等待建立长连接的客户端设备访问服务器,从而根本上降低了服务器误判客户端设备进行ACK Flood攻击的可能。
步骤S102:基于所述客户端设备所发送的长连接断开请求,与所述客户端设备进行四次握手交互,断开与所述客户端设备之间的长连接。
根据服务器发送的重启命令报文中的内容和/或要求,客户端设备主动向建立长连接的服务器发送断开长连接的请求,其断开服务器的操作方法可以是四次握手交互,服务器被动响应断开连接并进行四次握手的报文发送直至断开与所述客户端设备的长连接。
步骤S103:进行升级。
当服务器断开与所述客户端设备建立的长连接后,服务器就可以进行升级,其中,服务器的升级可以包括服务器离线后进行升级,也可以包括服务器在线升级,其中,服务器在线升级可以包括服务器虽然在线但不能提供服务的情况。
步骤S104:恢复与所述客户端设备之间的长连接。
客户端设备按照重启命令报文的内容和要求主动断开与服务器的连接后,当服务器升级完成后,可以再次请求连接服务器。其中,可以是按照重启命令报文的内容和要求主动重新对服务器发送建立长连接的请求。恢复建立长连接可以包括通过三次握手的方式进行,以使服务器和客户端设备恢复长连接。
在本发明的一些实施例中,所述重启命令报文可以包括休眠时长,以使所述客户端设备在断开长连接后,根据休眠时长确定恢复时间,并在恢复时间向服务器发送长连建立请求,同一服务器的不同客户端设备的恢复时间分散分布;
服务器恢复与所述客户端设备之间的长连接,可以是基于客户端设备在各自的恢复时间发送的长连接建立请求,通过该请求服务器与所述客户端设备进行三次握手的交互后,恢复服务器与客户端设备之间的长连接。
在重启命令报文中可以包括服务器休眠时长信息,其中,休眠时长可以包括服务器升级所需要的时间。在服务器不需要离线升级时,只需客户端设备计算服务器升级时间。当服务器升级完成后客户端设备可与其重新建立长连接。休眠时长也可以是服务器从离线升级至重新上线所需要的时间。当服务器需要离线升级时,休眠时长可以包括至服务器升级完成后重新上线所需要的时长。客户端设备自行计算后获得长连接的恢复时间。此恢复时间可以包括再次启动执行与服务器建立长连接的时间,其中,服务器向客户端设备发送的休眠时长分布分散,以使客户端设备自行计算后获得的恢复时间分布分散。重启命令报文携带用于确定客户端设备重新建立连接的时间信息可以使得客户端设备在分散分布的时间重新与服务器建立连接,避免建立连接的三次握手报文的集中并发交互,从而避免了客户端设备在与服务器恢复连接的过程中被其误判为进行ACK Flood攻击的问题。
在服务器升级完成后,客户端设备依据各自获得的恢复时间主动向服务器发送建立长连接的请求,其中,建立长连接的方式可以是通过三次握手的方式进行,将服务器与客户端设备的长连接恢复。
在本发明的另一些实施例中,所述重启命令报文可以包括恢复时间,以使所述客户端设备断开长连接后,在所述恢复时间向服务器发送长连接建立的请求,同一服务器的不同客户端设备的恢复时间分散分布。
恢复与所述客户端设备之间的长连接,可以是基于客户端设备在各自的恢复时间所发送的长连接建立请求,与所述客户端设备进行三次握手交互,建立与所述客户端设备之间的长连接。
客户端设备可以直接获取到由服务器确定的恢复时间,所述恢复时间可以包括服务器根据与客户端设备断开的时间点来推算的一个时间点,也可以包括由客户端设备依据服务器升级完成的时间点计算本客户端设备可恢复连接的时间点。在这个时间点后,服务器允许客户端设备随时重新建立长连接,其中,服务器允许每个客户端设备重新请求连接的恢复时间分散分布,由客户端设备自行计算可恢复时间也分散分布。
在服务器升级完成后,客户端设备依据各自获取的恢复时间主动向服务器发送建立长连接的请求,其中,建立长连接的方式可以是通过三次握手的方式进行,予以恢复服务器与客户端设备的长连接。
在本发明提供的这种服务器升级方法中,当此方法应用于客户端设备时,包括以下步骤:
步骤S201:接收与客户端设备建立有长连接的服务器在升级之前所发送的重启命令报文;
步骤S202:根据所述重启命令报文在分散分布的时间向服务器发送长连接断开请求,与所述服务器进行四次握手交互,断开与所述服务器之间的长连接;
步骤S203:在服务器完成升级之后,恢复与服务器之间的长连接。
下面结合图2对本发明所述方法做进一步描述。
步骤S201:接收与客户端设备建立有长连接的服务器在升级之前所发送的重启命令报文。
所述重启命令报文可以由服务器生成后发送至客户端设备,其中,所述重启命令报文可以包括服务器升级信息和/或服务器要求客户端设备执行相关操作的指令,客户端设备接收服务器发送的重启命令报文,并将依据重启命令报文里的内容结合其他实际情况执行重启命令报文中的指令。
步骤S202:根据所述重启命令报文在分散分布的时间向服务器发送长连接断开请求,与所述服务器进行四次握手交互,断开与所述服务器之间的长连接。
所述重启命令报文由服务器生成并发送至所述客户端设备,依据重启命令报文中的指令,客户端设备向服务器发送长连接断开请求。其中,每个建立长连接的客户端设备在向服务器发送长连接断开请求的时间分布分散。样做避免了需要升级的服务器在升级之前短时间内与大量客户端设备同时交互断开长连接的四次握手报文。服务器通过重启命令报文通知相关的客户端设备在分散分布的时间主动与其断开连接,由此使得服务器不会在短时间内交互大量的四次握手报文,降低了握手报文的并发量,避免客户端设备在断开连接的过程被误判为进行ACK Flood攻击的问题。
客户端设备与服务器断开连接的方式可以是四次握手的方式,当与服务器建立长连接的客户端设备主动发送断开长连接的请求时,分布分散的断开方式可以使每个客户端设备与服务器顺利的完成四次握手的交互。
在本发明的一些实施例中,所述重启命令报文包括断开时间,同一服务器的不同客户端设备的断开时间分散分布。根据所述重启命令报文在分散分布的时间向服务器发送长连接断开请求,与所述服务器进行四次握手交互,断开与所述客户端设备之间的长连接,可以是根据所述重启命令报文中的断开时间向服务器发送长连接断开请求,与所述服务器进行四次握手交互,断开与所述服务器之间的长连接。
在服务器生成的重启报文命令中,可以包括断开时间,其中,所述断开时间可以是指令客户端设备主动断开与服务器长连接的时间点,也可以是时间段。其中,当断开时间为时间段时,每个与服务器建立长连接的客户端设备获取到的断开时间段可以分散分布,客户端设备可以直接依据时间段选择时间点执行断开操作。当断开时间为时间点时,每个与服务器建立长连接的客户端设备获取到的断开时间点可以分散分布。当客户端设备获取到的断开时间的时间点是分散分布的时,客户端设备根据断开时间向服务器发送断开长连接的请求也是分布分散的,此时客户端设备可以直接在获取到的断开时间执行断开长连接的操作。客户端设备执行断开与服务器的长连接可以通过四次握手的方式进行。
步骤S203:在服务器完成升级之后,恢复与服务器之间的长连接。
在服务器完成升级后,客户端设备可以依据所述重启命令报文的要求与服务器重新建立长连接,可以是由客户端设备主动向服务器发送建立长连接请求。
在本发明的一些实施例中,所述重启命令报文可以包括休眠时长,恢复与所述客户端设备之间的长连接,可以是在断开长连接后,根据休眠时长确定恢复时间,并在恢复时间向服务器发送长连建立请求,与所述客户端设备进行三次握手交互,建立与所述客户端设备之间的长连接。同一服务器的不同客户端设备的恢复时间分散分布。
在服务器升级前生成的重启报文命令中可以包含休眠时长,所述休眠时长可以包括服务器升级完成所需要的时长,也可以包括服务器升级完成并上线后所需要的时长。
当客户端设备与服务器断开连接后,可以根据所述休眠时长计算可以再次与服务器建立连接的时间点。此时间点可以是基于服务器发送的休眠时长信息由客户端设备自行计算,也可以由服务器自行计算后将结果发送至客户端设备。服务器还可以根据不同的客户端设备向其发送不同时长的休眠信息,也可以向每个不同的客户端设备发送相同的休眠时长并指令客户端设备采用不同的计算方法获取不同的可连接服务器的时间点。这些方法的目的在于,使客户端设备可以连接服务器的时间分布分散,当客户端设备连接服务器时,可以通过三次握手的方式进行。
在本发明的另一些实施例中,所述重启命令报文可以包括恢复时间,恢复与所述客户端设备之间的长连接,可以是断开长连接后,在所述恢复时间向服务器发送长连接建立请求,与所述客户端设备进行三次握手交互,建立与所述客户端设备之间的长连接,同一服务器的不同客户端设备的恢复时间分散分布。
在服务器升级前生成的重启命令报文中可以包括恢复时间,所述恢复时间为客户端设备可再次连接服务器的时间点,当客户端设备经过所述恢复时间的时间点时,客户端设备可再次与服务器建立长连接。再次建立长连接可以是三次握手的形式进行。
服务器在生成恢复时间时,可以使发送给每台客户端设备的恢复时间分布分散,此举的作用在于防止大量客户端设备在同一时间向服务器发送建立长连接的三次握手报文的集中并发交互,避免恢复连接的过程被误判为遭到ACK Flood攻击的问题。
结合图3,对采用本发明实施例所提供的方法实现服务器升级的过程做进一步说明:
图中客户端设备01至04即其他客户端设备均与服务器建立了长连接,当服务器将要进行升级时,开始执行本发明相关步骤:
步骤一:服务器生成重启命令报文后,将重启报文命令发送至客户端设备01,其中,服务器重启命令报文可以包含以下信息:
重启命令报文:
{
"sleep_time":60000,
"server_ip":"122.122.56.78",
"msg":"服务端升级原因"
}
sleep_time:设备断连接后服务器的休眠时间,单位毫秒;
server_ip:完成休眠后可以连接的服务端IP;
msg:服务器升级原因。
步骤二:客户端设备01接收到重启命令报文后,开始准备执行与服务器断开长连接的操作,其中,断开连接的操作为四次握手。
步骤三:客户端设备01向服务器发送断开长连接的请求报文,服务器接收到该请求后返回结果,返回结果后服务器向客户端设备发送报文以确认请求为断开长连接,客户端设备01接收到此报文后向服务器发送确认断开长连接的报文。
步骤四:客户端设备断开请求后获取断开完成后的时间信息,并根据重启命令报文中的休眠时间推算可与服务器再次连接最早的时间点。
步骤五:待到时间点以后,开始执行重新连接的操作,其中,重新建立长连接的操作可以采用三次握手的形式进行。在重启命令报文中封装有休眠结束后可连接的服务器IP地址。
步骤六:客户端设备向重启命令报文中的服务器IP地址发送建立长连接的报文,服务器发送确认请求的报文,客户端设备收到报文后确认返回,长连接建立。
在服务器与客户端设备01执行上述操作的同时,可以对客户端设备02进行与客户端设备01相同的操作,但与客户端设备01的区别在于,重启数据报文的内容为:
{
"sleep_time":70000,
"server_ip":"122.122.56.78",
"msg":"服务端升级原因"
}
sleep_time:设备断连接后休眠时间,单位毫秒
server_ip:完成休眠后可以连接的服务端IP
msg:服务器升级原因
其中,客户端设备02接收到的重启数据报文中休眠时长为70000毫秒。在客户端设备03接收到的重启数据报文中休眠时长为80000毫秒,客户端设备04为90000毫秒,以此类推至其他客户端设备。之所以需要设定不同的休眠时长,是因为对于每台客户端设备在重新连接目标服务器时使其连接的时间分布分散。
本发明还涉及一种计算设备,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行上述任一项实施例或方法。
本发明还涉及一种网络系统,包括至少一个服务器集群和多个客户端设备,每个服务器集群至少包括一个服务器,所述服务器,用于执行上述与服务器相关的方法,所述客户端设备,用于执行上述与客户端设备相关的方法。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (13)
1.一种服务器升级方法,所述方法应用于服务器,其特征在于,包括:
在服务器升级之前,向与所述服务器建立有长连接的客户端设备发送重启命令报文,以使所述客户端设备在分散分布的时间向服务器发送长连接断开请求;
基于所述客户端设备所发送的长连接断开请求,与所述客户端设备进行四次握手交互,断开与所述客户端设备之间的长连接;
进行升级;
恢复与所述客户端设备之间的长连接。
2.根据权利要求1所述的方法,其特征在于,在服务器升级之前,向与所述服务器建立有长连接的客户端设备发送重启命令报文,以使所述客户端设备在分散分布的时间向服务器发送长连接断开请求,包括:
在服务器升级之前,向与所述服务器建立有长连接的客户端设备发送重启命令报文,所述重启命令报文包括断开时间,以使所述客户端设备在所述断开时间向服务器发送长连接断开请求,同一服务器的不同客户端设备的断开时间分散分布。
3.根据权利要求1所述的方法,其特征在于,所述重启命令报文包括休眠时长,以使所述客户端设备在断开长连接后,根据休眠时长确定恢复时间,并在恢复时间向服务器发送长连建立请求,同一服务器的不同客户端设备的恢复时间分散分布;
恢复与所述客户端设备之间的长连接,包括:
基于客户端设备在各自的恢复时间所发送的长连接建立请求,与所述客户端设备进行三次握手交互,建立与所述客户端设备之间的长连接。
4.根据权利要求1所述的方法,其特征在于,所述重启命令报文包括恢复时间,以使所述客户端设备断开长连接后,在所述恢复时间向服务器发送长连接建立请求,同一服务器的不同客户端设备的恢复时间分散分布;
恢复与所述客户端设备之间的长连接,包括:
基于客户端设备在各自的恢复时间所发送的长连接建立请求,与所述客户端设备进行三次握手交互,建立与所述客户端设备之间的长连接。
5.根据权利要求1所述的方法,其特征在于,所述重启命令报文包括目标IP地址,以使所述客户端设备断开长连接后,根据所述目标IP地址向服务器发送长连接建立请求。
6.根据权利要求5所述的方法,其特征在于,该方法还包括:
根据服务器的地域信息或运营商环境信息,确定为不同客户端设备分配目标的IP地址。
7.一种服务器升级方法,所述方法应用于客户端设备,其特征在于,包括:
接收与客户端设备建立有长连接的服务器在升级之前所发送的重启命令报文;
根据所述重启命令报文在分散分布的时间向服务器发送长连接断开请求,与所述服务器进行四次握手交互,断开与所述服务器之间的长连接;
在服务器完成升级之后,恢复与服务器之间的长连接。
8.根据权利要求7所述的方法,其特征在于,所述重启命令报文包括断开时间,同一服务器的不同客户端设备的断开时间分散分布;
根据所述重启命令报文在分散分布的时间向服务器发送长连接断开请求,与所述服务器进行四次握手交互,断开与所述客户端设备之间的长连接,包括:
根据所述重启命令报文中的断开时间向服务器发送长连接断开请求,与所述服务器进行四次握手交互,断开与所述服务器之间的长连接。
9.根据权利要求7所述的方法,其特征在于,所述重启命令报文包括休眠时长;
恢复与所述客户端设备之间的长连接,包括:
在断开长连接后,根据休眠时长确定恢复时间,并在恢复时间向服务器发送长连建立请求,与所述客户端设备进行三次握手交互,建立与所述客户端设备之间的长连接,同一服务器的不同客户端设备的恢复时间分散分布。
10.根据权利要求7所述的方法,其特征在于,所述重启命令报文包括恢复时间;
恢复与所述客户端设备之间的长连接,包括:
断开长连接后,在所述恢复时间向服务器发送长连接建立请求,与所述客户端设备进行三次握手交互,建立与所述客户端设备之间的长连接,同一服务器的不同客户端设备的恢复时间分散分布。
11.根据权利要求7所述的方法,其特征在于,所述重启命令报文包括目标IP地址;
恢复与所述客户端设备之间的长连接,包括:
断开长连接后,根据所述目标IP地址向服务器发送长连接建立请求,建立与所述客户端设备之间的长连接。
12.一种计算设备,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行权利要求1至11中任一项所述的方法。
13.一种网络系统,其特征在于,包括至少一个服务器集群和多个客户端设备,每个服务器集群至少包括一个服务器;
所述服务器,用于执行权利要求1至6中任一项所述的方法;
所述客户端设备,用于执行权利要求7至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110988964.1A CN113839809A (zh) | 2021-08-26 | 2021-08-26 | 一种服务器升级的方法、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110988964.1A CN113839809A (zh) | 2021-08-26 | 2021-08-26 | 一种服务器升级的方法、设备及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113839809A true CN113839809A (zh) | 2021-12-24 |
Family
ID=78961452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110988964.1A Pending CN113839809A (zh) | 2021-08-26 | 2021-08-26 | 一种服务器升级的方法、设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113839809A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030084205A1 (en) * | 2001-10-30 | 2003-05-01 | Nec Corporation | Server for synchronization control, channel driver and method of linking channels |
CN101112063A (zh) * | 2004-11-29 | 2008-01-23 | 唐鲍勃 | 能够支持保证实际无拥塞服务的网络的即刻可用实施方案:外部因特网NextGenTCP(方波形式)TCP友好SAN |
CN103997574A (zh) * | 2014-04-30 | 2014-08-20 | 小米科技有限责任公司 | 获取语音服务的方法和装置 |
CN106533845A (zh) * | 2016-12-27 | 2017-03-22 | 海尔优家智能科技(北京)有限公司 | 一种长连接状态监控方法和装置 |
CN106686066A (zh) * | 2017-02-10 | 2017-05-17 | 上海斐讯数据通信技术有限公司 | 一种长连接服务器升级方法及系统 |
CN107018159A (zh) * | 2016-01-27 | 2017-08-04 | 五八同城信息技术有限公司 | 业务请求处理方法及装置、和业务请求方法及装置 |
CN107612844A (zh) * | 2017-08-15 | 2018-01-19 | 武汉斗鱼网络科技有限公司 | 一种减轻服务器脉冲压力的方法、服务器和客户端 |
CN110445834A (zh) * | 2019-07-03 | 2019-11-12 | 福建天泉教育科技有限公司 | 一种解决推送数据丢失的方法及系统 |
CN112019571A (zh) * | 2020-10-22 | 2020-12-01 | 锱云(上海)物联网科技有限公司 | 一种vpn连接实现方法和系统 |
-
2021
- 2021-08-26 CN CN202110988964.1A patent/CN113839809A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030084205A1 (en) * | 2001-10-30 | 2003-05-01 | Nec Corporation | Server for synchronization control, channel driver and method of linking channels |
CN101112063A (zh) * | 2004-11-29 | 2008-01-23 | 唐鲍勃 | 能够支持保证实际无拥塞服务的网络的即刻可用实施方案:外部因特网NextGenTCP(方波形式)TCP友好SAN |
CN103997574A (zh) * | 2014-04-30 | 2014-08-20 | 小米科技有限责任公司 | 获取语音服务的方法和装置 |
CN107018159A (zh) * | 2016-01-27 | 2017-08-04 | 五八同城信息技术有限公司 | 业务请求处理方法及装置、和业务请求方法及装置 |
CN106533845A (zh) * | 2016-12-27 | 2017-03-22 | 海尔优家智能科技(北京)有限公司 | 一种长连接状态监控方法和装置 |
CN106686066A (zh) * | 2017-02-10 | 2017-05-17 | 上海斐讯数据通信技术有限公司 | 一种长连接服务器升级方法及系统 |
CN107612844A (zh) * | 2017-08-15 | 2018-01-19 | 武汉斗鱼网络科技有限公司 | 一种减轻服务器脉冲压力的方法、服务器和客户端 |
CN110445834A (zh) * | 2019-07-03 | 2019-11-12 | 福建天泉教育科技有限公司 | 一种解决推送数据丢失的方法及系统 |
CN112019571A (zh) * | 2020-10-22 | 2020-12-01 | 锱云(上海)物联网科技有限公司 | 一种vpn连接实现方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107645529B (zh) | 心跳包发送方法及装置 | |
US7076691B1 (en) | Robust indication processing failure mode handling | |
CN107528891B (zh) | 一种基于WebSocket的自动集群方法及其系统 | |
JP2004519024A (ja) | 多数のノードを含むクラスタを管理するためのシステム及び方法 | |
CN107919994B (zh) | 实现网络服务双机热备的方法及服务器 | |
CN111615066A (zh) | 一种基于广播的分布式微服务注册及调用方法 | |
CA2778098A1 (en) | Systems, methods and media for distributing peer-to-peer communications | |
CN116048538B (zh) | 用于dpu的服务网格部署方法及装置 | |
CN102624745A (zh) | 一种路径计算单元通信协议会话建立方法及装置 | |
CN114640633B (zh) | 负载均衡器及其实现方法、负载均衡的方法、网关系统 | |
JP2007157148A (ja) | telnetセッション、telnetエージェンシ、およびコンピュータ・ネットワーク・システムを維持する方法 | |
CN112019650B (zh) | Ip地址推荐方法、装置及服务器 | |
CN113839809A (zh) | 一种服务器升级的方法、设备及系统 | |
CN100505735C (zh) | 一种多节点智能网络应用服务系统中的会话管理方法 | |
KR101432326B1 (ko) | 호스트 가장 네트워크 디바이스 및 그의 방법 | |
CN113098706B (zh) | 一种基于云端的vpn服务器切换方法、装置及存储介质 | |
CN114422428A (zh) | 服务节点的重启方法、装置、电子设备及存储介质 | |
CN111416849B (zh) | 断线重连方法、装置、系统和计算机设备 | |
CN109067509A (zh) | 分布式节点信令传输方法和系统、共享计算节点及信令网关 | |
CN114363204A (zh) | 请求监控方法、网络设备及存储介质 | |
CN116260824A (zh) | 业务数据传输方法、系统及存储介质和相关设备 | |
CN113535402A (zh) | 基于5g mec的负载均衡处理方法、装置及电子设备 | |
CN113094074A (zh) | 一种服务集群的更新方法及装置 | |
KR20120121202A (ko) | 데이터 분산 서비스 네트워크 과부하 방지 방법 | |
CN115580555B (zh) | 分布式任务取消方法、装置、系统和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |