首页 / 专利库 / 广播 / 多点控制单元 / 用于网关服务器的故障处理方法和装置

用于网关服务器的故障处理方法和装置

阅读:1035发布:2020-07-03

专利汇可以提供用于网关服务器的故障处理方法和装置专利检索,专利查询,专利分析的服务。并且本 申请 实施例 公开了用于网关 服务器 的故障处理方法和装置。该方法的一具体实施方式包括:响应于接收到来自客户端的第一长连接 请求 ,从主负载均衡集群中选取第一主 节点 ,其中,第一主节点基于第一长连接请求建立客户端和业务服务器之间的长连接以及生成会话信息;响应于确定出第一主节点发生故障,执行如下操作:从主负载均衡集群中选取第二主节点,其中,第二主节点接收第一主节点中的数据;从从负载均衡集群中选取第一从节点,控制第二主节点将来自第一主节点的数据发送给第一从节点,以使第一从节点基于会话信息保持客户端与业务服务器之间的长连接。该实施方式在第一主节点发生故障时可以保持客户端和业务服务器之间原有的长连接不断。,下面是用于网关服务器的故障处理方法和装置专利的具体信息内容。

1.一种用于网关服务器的故障处理方法,所述网关服务器与负载均衡集群建立通讯连接,其中,所述负载均衡集群包括主负载均衡集群和从负载均衡集群,所述方法包括:
响应于接收到来自客户端的第一长连接请求,从所述主负载均衡集群中选取主节点作为第一主节点,其中,所述第一主节点基于所述第一长连接请求建立客户端和业务服务器之间的长连接以及生成会话信息;
响应于确定出所述第一主节点发生故障,执行如下操作:从所述主负载均衡集群中选取不同于所述第一主节点的主节点作为第二主节点,其中,所述第二主节点接收所述第一主节点中的数据;从所述从负载均衡集群中选取从节点作为第一从节点,控制所述第二主节点将来自所述第一主节点的数据发送给所述第一从节点,以使所述第一从节点基于所述会话信息保持客户端与业务服务器之间的长连接。
2.根据权利要求1所述的方法,其中,所述从所述主负载均衡集群中选取主节点作为第一主节点,包括:
获取所述主负载均衡集群中主节点的负载信息;
利用负载均衡算法,从所述主负载均衡集群选取主节点作为所述第一主节点。
3.根据权利要求1所述的方法,其中,所述第一主节点被配置成将所述会话信息同步到缓存集群中。
4.根据权利要求3所述的方法,其中,所述从所述从负载均衡集群中选取从节点作为第一从节点,控制所述第二主节点将来自所述第一主节点的数据发送给所述第一从节点,包括:
控制所述第二主节点接收所述第一主节点中的数据;
从所述从负载均衡集群中选取从节点作为第一从节点,控制所述第二主节点将来自所述第一主节点的数据发送到所述第一从节点,其中,所述第一从节点从所述缓存集群中获取所述会话信息,并基于所述会话信息确定出通过所述第一主节点建立长连接的客户端和业务服务器。
5.根据权利要求1所述的方法,其中,在从所述从负载均衡集群中选取从节点作为第一从节点,控制所述第二主节点将来自所述第一主节点的数据发送给所述第一从节点之后,所述方法还包括:
响应于接收到来自所述客户端的第二长连接请求,将第二长连接请求转发到所述第二主节点;
控制所述第二主节点将来自客户端的第二长连接请求转发到所述第一从节点,其中,所述第一从节点基于所述会话信息将来自客户端的第二长连接请求转发到所述业务服务器。
6.根据权利要求5所述的方法,其中,所述第一从节点被配置成更新所述会话信息。
7.一种用于网关服务器的故障处理装置,所述网关服务器与负载均衡集群建立通讯连接,其中,所述负载均衡集群包括主负载均衡集群和从负载均衡集群,所述装置包括:
第一主节点选取单元,被配置成响应于接收到来自客户端的第一长连接请求,从所述主负载均衡集群中选取主节点作为第一主节点,其中,所述第一主节点基于所述第一长连接请求建立客户端和业务服务器之间的长连接以及生成会话信息;
执行单元,被配置成响应于确定出所述第一主节点发生故障,执行如下操作:从所述主负载均衡集群中选取不同于所述第一主节点的主节点作为第二主节点,其中,所述第二主节点接收所述第一主节点中的数据;从所述从负载均衡集群中选取从节点作为第一从节点,控制所述第二主节点将来自所述第一主节点的数据发送给所述第一从节点,以使所述第一从节点基于所述会话信息保持客户端与业务服务器之间的长连接。
8.根据权利要求7所述的装置,其中,所述第一主节点选取单元进一步被配置成:
获取所述主负载均衡集群中主节点的负载信息;
利用负载均衡算法,从所述主负载均衡集群选取主节点作为所述第一主节点。
9.根据权利要求7所述的装置,其中,所述第一主节点被配置成将所述会话信息同步到缓存集群中。
10.根据权利要求9所述的装置,其中,所述执行单元进一步被配置成:
控制所述第二主节点接收所述第一主节点中的数据;
从所述从负载均衡集群中选取从节点作为第一从节点,控制所述第二主节点将来自所述第一主节点的数据发送到所述第一从节点,其中,所述第一从节点从所述缓存集群中获取所述会话信息,并基于所述会话信息确定出通过所述第一主节点建立长连接的客户端和业务服务器。
11.根据权利要求7所述的装置,其中,所述装置还包括:
第二长连接请求转发单元,被配置成响应于接收到来自所述客户端的第二长连接请求,将所述第二长连接请求转发到所述第二主节点;
控制单元,被配置成控制所述第二主节点将来自客户端的第二长连接请求转发到所述第一从节点,其中,所述第一从节点基于所述会话信息将来自客户端的第二长连接请求转发到所述业务服务器。
12.根据权利要求11所述的装置,其中,所述第一从节点被配置成更新所述会话信息。
13.一种网关服务器,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
14.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-6中任一所述的方法。

说明书全文

用于网关服务器的故障处理方法和装置

技术领域

[0001] 本申请实施例涉及计算机技术领域,具体涉及用于网关服务器的故障处理方法和装置。

背景技术

[0002] 随着互联网技术的发展,越来越多的用户开始使用互联网,从而导致后端的业务服务的访问量激增。负载均衡技术正是为了解决这个问题而产生的。通常,负载均衡技术可以保证后端的业务服务器对业务的均衡处理,从而避免出现某一后端业务服务器的负载过高的情况。
[0003] 现有技术中,负载均衡设备在对后端的业务服务进行均衡处理的过程中,时常会发生负载均衡设备故障的情况。这时,需要将故障的负载均衡设备中的数据切换到该故障的负载均衡设备的备用设备上。发明内容
[0004] 本申请实施例提出了用于网关服务器的故障处理方法和装置。
[0005] 第一方面,本申请实施例提供了一种用于网关服务器的故障处理方法,网关服务器与负载均衡集群建立通讯连接,其中,负载均衡集群包括主负载均衡集群和从负载均衡集群,该方法包括:响应于接收到来自客户端的第一长连接请求,从主负载均衡集群中选取主节点作为第一主节点,其中,第一主节点基于第一长连接请求建立客户端和业务服务器之间的长连接以及生成会话信息;响应于确定出第一主节点发生故障,执行如下操作:从主负载均衡集群中选取不同于第一主节点的主节点作为第二主节点,其中,第二主节点接收第一主节点中的数据;从从负载均衡集群中选取从节点作为第一从节点,控制第二主节点将来自第一主节点的数据发送给第一从节点,以使第一从节点基于会话信息保持客户端与业务服务器之间的长连接。
[0006] 在一些实施例中,从主负载均衡集群中选取主节点作为第一主节点,包括:获取主负载均衡集群中主节点的负载信息;利用负载均衡算法,从主负载均衡集群选取主节点作为第一主节点。
[0007] 在一些实施例中,第一主节点被配置成将会话信息同步到缓存集群中。
[0008] 在一些实施例中,从从负载均衡集群中选取从节点作为第一从节点,控制第二主节点将来自第一主节点的数据发送给第一从节点,包括:控制第二主节点接收第一主节点中的数据;从从负载均衡集群中选取从节点作为第一从节点,控制第二主节点将来自第一主节点的数据发送到第一从节点,其中,第一从节点从缓存集群中获取会话信息,并基于会话信息确定出通过第一主节点建立长连接的客户端和业务服务器。
[0009] 在一些实施例中,在从从负载均衡集群中选取从节点作为第一从节点,控制第二主节点将来自第一主节点的数据发送给第一从节点之后,方法还包括:响应于接收到来自客户端的第二长连接请求,将第二长连接请求转发到第二主节点;控制第二主节点将来自客户端的第二长连接请求转发到第一从节点,其中,第一从节点基于会话信息将来自客户端的第二长连接请求转发到业务服务器。
[0010] 在一些实施例中,第一从节点被配置成更新会话信息。
[0011] 第二方面,本申请实施例提供了一种用于网关服务器的故障处理装置,网关服务器与负载均衡集群建立通讯连接,其中,负载均衡集群包括主负载均衡集群和从负载均衡集群,装置包括:第一主节点选取单元,被配置成响应于接收到来自客户端的第一长连接请求,从主负载均衡集群中选取主节点作为第一主节点,其中,第一主节点基于第一长连接请求建立客户端和业务服务器之间的长连接以及生成会话信息;执行单元,被配置成响应于确定出第一主节点发生故障,执行如下操作:从主负载均衡集群中选取不同于第一主节点的主节点作为第二主节点,其中,第二主节点接收第一主节点中的数据;从从负载均衡集群中选取从节点作为第一从节点,控制第二主节点将来自第一主节点的数据发送给第一从节点,以使第一从节点基于会话信息保持客户端与业务服务器之间的长连接。
[0012] 在一些实施例中,解析单元包括:第一主节点选取单元进一步被配置成:获取主负载均衡集群中主节点的负载信息;利用负载均衡算法,从主负载均衡集群选取主节点作为第一主节点。
[0013] 在一些实施例中,第一主节点被配置成将会话信息同步到缓存集群中。
[0014] 在一些实施例中,执行单元进一步被配置成:控制第二主节点接收第一主节点中的数据;从从负载均衡集群中选取从节点作为第一从节点,控制第二主节点将来自第一主节点的数据发送到第一从节点,其中,第一从节点从缓存集群中获取会话信息,并基于会话信息确定出通过第一主节点建立长连接的客户端和业务服务器。
[0015] 在一些实施例中,装置还包括:第二长连接请求转发单元,被配置成响应于接收到来自客户端的第二长连接请求,将第二长连接请求转发到第二主节点;控制单元,被配置成控制第二主节点将来自客户端的第二长连接请求转发到第一从节点,其中,第一从节点基于会话信息将来自客户端的第二长连接请求转发到业务服务器。
[0016] 在一些实施例中,第一从节点被配置成更新会话信息。
[0017] 本申请实施例提供的用于网关服务器的故障处理方法和装置,在接收到来自客户端的第一长连接请求时,可以从主负载均衡集群中选取第一主节点,以便于第一主节点可以基于第一长连接请求建立客户端和业务服务器之间的长连接以及生成会话信息,而后在确定出第一主节点发生故障时,可以从主负载均衡集群中选取第二主节点,以便于该第二主节点可以接收第一主节点中的数据,最后从从负载均衡集群中选取第一从节点,以便于该第一从节点可以接收第二主节点中来自第一主节点的数据,使得第一从节点可以基于会话信息保持客户端和服务器之间的长连接,从而实现了在主负载均衡集群中的第一主节点发生故障时,利用主负载均衡集群中的第二主节点和从负载均衡集群中的第一从节点保持客户端和业务服务器之间原有的长连接不中断。附图说明
[0018] 通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0019] 图1是本申请可以应用于其中的示例性系统架构图;
[0020] 图2是根据本申请的用于网关服务器的故障处理方法的一个实施例的流程图
[0021] 图3是根据本申请的用于网关服务器的故障处理方法的另一个实施例的流程图;
[0022] 图4A-4B是根据本申请的用于网关服务器的故障处理方法的一个应用场景的示意图;
[0023] 图5是根据本申请的用于网关服务器的故障处理装置的一个实施例的结构示意图;
[0024] 图6是适于用来实现本申请实施例的网关服务器的计算机系统的结构示意图。

具体实施方式

[0025] 下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
[0026] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0027] 图1示出了可以应用本申请的用于网关服务器的故障处理方法或用于网关服务器的故障处理装置的实施例的示例性系统架构100。
[0028] 如图1所示,系统架构100可以包括终端设备101、102、103,网络104、网关服务器105和负载均衡集群(包括主负载均衡集群106和从负载均衡集群107)。网络104用以在终端设备101、102、103和网关服务器105之间,以及网关服务器105和负载均衡集群之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0029] 用户可以使用终端设备101、102、103通过网络104与网关服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如游戏类应用、购物类应用、搜索类应用、网页浏览器应用、邮箱客户端、社交平台软件等。
[0030] 终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是支持请求信息发送的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
[0031] 网关服务器105可以提供各种服务,例如对用户通过终端设备101、102、103发送的长连接请求进行分发的后台服务器。后台服务器可以对接收到的长连接请求等数据进行分析处理,从而实现交换的功能。该网关服务器105还可以是交换机或者是路由器等具有交换功能的设备。
[0032] 主负载均衡集群106中可以包括至少一个主节点,各主节点可以用于对后端的业务服务器中的业务进行均衡处理。从负载均衡集群107中可以包括至少一个从节点,从节点可以用于恢复故障的主节点中的数据。
[0033] 需要说明的是,本申请实施例所提供的用于网关服务器的故障处理方法一般由网关服务器105执行,相应地,用于网关服务器的故障处理装置一般设置于网关服务器105中。
[0034] 需要说明的是,网关服务器可以是硬件,也可以是软件。当网关服务器为硬件时,可以实现成多个网关服务器组成的分布式服务器集群,也可以实现成单个网关服务器。当网关服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
[0035] 应该理解,图1中的终端设备、网络、网关服务器和负载均衡集群中的节点的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络、网关服务器和负载均衡集群中的节点。
[0036] 继续参考图2,示出了根据本申请的用于网关服务器的故障处理方法的一个实施例的流程200。该用于网关服务器的故障处理方法,包括以下步骤:
[0037] 步骤201,响应于接收到来自客户端的第一长连接请求,从主负载均衡集群中选取主节点作为第一主节点。
[0038] 在本实施例中,用于网关服务器的故障处理方法的执行主体(例如图1所示的网关服务器105)可以通过有线连接方式或者无线连接方式从用户所在的客户端接收第一长连接请求。这里的长连接请求可以用于请求建立客户端和业务服务器之间的长连接。进一步地,上述执行主体在确定出其接收到来自客户端的第一长连接请求后,可以从主负载均衡集群中选取主节点作为第一主节点。其中,上述执行主体(例如图1所示的网关服务器105)可以与负载均衡集群建立通讯连接。这里,负载均衡集群可以包括主负载均衡集群和从负载均衡集群,主负载均衡集群可以由主节点组成,从负载均衡集群可以由从节点组成。在执行主体选取出第一主节点之后,可以将第一长连接请求转发到所获取的第一主节点。从而使得该第一主节点可以将来自客户端的第一长连接请求转发到业务服务器,建立客户端和业务服务器之间的长连接。可以理解的是,接收第一长连接请求的业务服务器可以为第一主节点基于负载均衡原理从业务服务器集群中所选择出的业务服务器。上述第一主节点在建立客户端和业务服务器之间的长连接时,还可以相应地生成会话(session)信息。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
[0039] 其中,业务服务器可以是对用户发起的例如网页浏览、游戏启动等业务请求提供后端支持的服务器。该业务服务器可以为单台服务器,也可以是由多个服务器节点所构成的业务服务器集群。上述负载均衡集群可以布置在网关服务器和业务服务器之间,用于把来自不同客户端的网络请求分发到可用的业务服务器上去,负载均衡集群中的各节点(包括主负载均衡集群中的主节点和从负载均衡集群中的从节点)可以为负载均衡器、LVS(Linux Virtual Server,Linux虚拟服务器)的负载调度器等具有负载均衡作用的物理设备或虚拟设备。
[0040] 上述主负载均衡集群中的主节点可以相互独立,且各主节点之间可以通过网络相互连接。该主负载均衡集群可以与业务服务器和网关服务器相互作用,以便于各主节点在正常工作情况下可以建立客户端和业务服务器之间的长连接。进一步地,主负载均衡集群中的各主节点的集群配置还可以提高主负载均衡集群的可放缩性。因此,在实际的使用过程中,可以增加主负载均衡集群中的主节点的数目实现集群的横向扩展,或者还减少主负载集群中的主节点的数目。
[0041] 在本实施例的一些可选的实现方式中,上述会话信息中可以包括上述源地址、源端口、目的地址和目的端口等。具体地,当客户端向业务服务器发送第一长连接请求时,该第一长连接请求的源地址和源端口可以为发送该第一长连接请求的客户端的地址和端口,目的地址和目的端口可以为第一主节点的地址(如,虚拟地址)和端口。因此,上述第一长连接请求可以经由客户端转发到第一主节点,第一主节点还可以将该第一长连接请求在FULLNAT模式下进行全地址转换,第一长连接请求的源地址和源端口可以为上述第一主节点的地址和端口,目的地址和目的端口可以为业务服务器的地址和端口。可以理解的是,上述第一节点生成的会话信息还可以包括网络协议、时间戳等信息。通常,FULLNAT模式可以指DNAT(目的地址转换)+SNAT(源地址转换)的模式,进行源地址转换后,业务服务器产生的对长连接请求的应答可以再次回到第一主节点,对网络环境的适应性较强。
[0042] 在本实施例的一些可选的实现方式中,上述执行主体可以通过如下方式从主负载均衡集群中选取主节点作为第一主节点:首先获取主负载均衡集群中的各主节点的负载信息,而后利用负载均衡算法从主负载均衡集群中选取出主节点作为第一主节点。可以理解的是,上述执行主体还可以利用其它的方法策略从主负载均衡集群中选取第一主节点,这里没有唯一的限定。
[0043] 步骤202,响应于确定出第一主节点发生故障,执行步骤2021和2022。
[0044] 在本实施例中,上述执行主体可以监测主负载均衡集群中的各主节点的工作状态。并在确定出主负载均衡集群中的第一主节点发生故障时,执行步骤2021和步骤2022。步骤2021和步骤2022可以保持基于上述第一长连接请求建立的客户端与业务服务器之间的长连接不断。具体如下:
[0045] 步骤2021,从主负载均衡集群中选取不同于第一主节点的主节点作为第二主节点。
[0046] 在本实施例中,在确定出主负载均衡节点中的第一主节点发生故障(例如宕机)时,上述执行主体可以从主负载均衡集群中选取主节点作为第二主节点,以便于该第二主节点可以接收来自已故障的第一主节点中的数据。第一主节点中的数据可以是由该第一主节点被上述执行主体和业务服务器访问所产生的。其中,第二主节点是主负载均衡集群中与第一主节点不同的主节点,并且所选取出的第二主节点可以是单个主节点,或者所选出的第二主节点还可以是多个主节点。作为示例,上述执行主体可以预先在主负载均衡集群中部署用于选取第二主节点的策略,以便可以利用该策略在主负载均衡集群中选取出至少一个主节点作为上述第二主节点。
[0047] 步骤2022,从从负载均衡集群中选取从节点作为第一从节点,控制第二主节点将来自第一主节点的数据发送给第一从节点,以使第一从节点基于会话信息保持客户端与业务服务器之间的长连接。
[0048] 在本实施例中,在确定出主负载均衡节点中的第一主节点发生故障时,上述执行主体还可以从从负载均衡集群中的选取从节点作为第一从节点。而后,上述执行主体可以向第二主节点发送控制指令,从而使得该第二主节点可以将其中来自第一主节点的数据发送给所选取出的第一从节点。该第一从节点可以查询第一主节点所生成的会话信息,并利用所生成的会话信息中包含的源地址和目的地址等信息保持客户端和业务服务器之间的长连接。由此,在第一主节点发生故障时,该方法实现了保持该第一主节点所建立的客户端与业务服务器之间原有的长连接不中断,从而避免了用户在使用应用的过程中出现卡顿的现象。
[0049] 上述从负载均衡集群中的各从节点可以相互独立,且各从节点之间可以通过网络相互连接。该从负载均衡集群中的各从节点可以具有相同的虚拟IP地址,并且各从节点可以拥有主负载均衡集群中的各主节点的内网IP地址。因此,上述第一从节点可以从第二主节点中接收来自第一主节点的数据。可以理解的是,从负载均衡集群中的各从节点的集群配置还可以提高从负载均衡集群的可放缩性。在实际的使用过程中,可以增加从负载均衡集群中的从节点的数目实现集群的横向扩展,或者还减少从负载集群中的从节点的数目。进一步地,该从负载均衡集群中包含的从节点的数目可以小于主负载均衡集群中包含的主节点的数目。与现有技术中的负载均衡的主从结构(每个主节点对应一个从节点)相比,本实施例中的负载均衡的设备(包括主负载均衡集群中的主节点和从负载均衡集群中的从节点)的数目更少,降低了负载均衡的成本。
[0050] 在本实施例的一些可选的实现方式中,上述第一从节点在保持第一主节点所建立的客户端和业务服务器之间原有的长连接不中断之后,上述执行主体还可以继续接收来自客户端的第二长连接请求,并将该第二长连接请求转发到第二主节点,以便于该第二主节点可以将来自客户端的第二长连接请求转发到第一从节点。该第一从节点可以基于第一主节点生成的会话信息将来自客户端的第二长连接请求转发到业务服务器。可见,在第一从节点保持第一主节点所建立的客户端和业务服务器之间原有的长连接不断之后,该第一从节点与主负载均衡集群中的第二主节点相结合可以代替已故障的第一主节点继续支持客户端与业务服务器之间的网页浏览、视频观看等业务。
[0051] 本申请的上述实施例提供的用于网关服务器的故障处理方法,在接收到来自客户端的第一长连接请求时,可以从主负载均衡集群中选取第一主节点,以便于第一主节点可以基于第一长连接请求建立客户端和业务服务器之间的长连接以及生成会话信息,而后在确定出第一主节点发生故障时,可以从主负载均衡集群中选取第二主节点,以便于该第二主节点可以接收第一主节点中的数据,最后从从负载均衡集群中选取第一从节点,以便于该第一从节点可以接收第二主节点中来自第一主节点的数据,使得第一从节点可以基于会话信息保持客户端和服务器之间的长连接,从而实现了在主负载均衡集群中的第一主节点发生故障时,利用主负载均衡集群中的第二主节点和从负载均衡集群中的第一从节点保持客户端和业务服务器之间原有的长连接不断。
[0052] 进一步参考图3,其示出了用于网关服务器的故障处理方法的另一个实施例的流程300。该用于网关服务器的故障处理方法的流程300,包括以下步骤
[0053] 步骤301,响应于接收到来自客户端的第一长连接请求,从主负载均衡集群的主节点中选取主节点作为第一主节点。
[0054] 在本实施例中,用于网关服务器的故障处理方法的执行主体(例如图1所示的网关服务器105)可以通过有线连接方式或者无线连接方式从用户所在的客户端接收第一长连接请求。进一步地,上述执行主体在确定出其接收到来自客户端的第一长连接请求后,可以从主负载均衡集群中选取主节点作为第一主节点。其中,上述执行主体(例如图1所示的网关服务器105)可以与负载均衡集群建立通讯连接。这里,负载均衡集群可以包括主负载均衡集群和从负载均衡集群,主负载均衡集群可以由主节点组成,从负载均衡集群可以由从节点组成。上述执行主体在选取出第一主节点之后,该第一主节点可以基于来自客户端的第一长连接请求建立该客户端和业务服务器之间的长连接。上述第一主节点在建立客户端和业务服务器之间的长连接时,还可以相应地生成会话(session)信息。
[0055] 步骤302,响应于确定出第一主节点发生故障,从主负载均衡集群中选取不同于第一主节点的主节点作为第二主节点。
[0056] 在本实施例中,可以预先构建用于缓存会话信息的缓存集群。上述第一主节点在生成会话信息之后,可以将所生成的会话信息同步到该缓存集群中。可以理解的是,该缓存集群可以是一组相互独立的、通过网络互联的计算机,它们构成了一个组,并以单一系统的模式进行管理。因此,该缓存集群中的各计算机设备之间的信息还可以进行同步。上述第一主节点在与该缓存集群交互时,该缓存集群像是一个独立的服务器,集群配置可以用于提高可用性和可缩放性。因此,在实际的使用过程中,可以增加缓存集群中的设备的数目实现集群的横向扩展,或者还可以减少缓存集群中的设备的数目。
[0057] 在本实施例中,在确定出主负载均衡节点中的第一主节点发生故障时,上述执行主体可以从主负载均衡集群中选取出第二主节点。其中,第二主节点是主负载均衡集群中与第一主节点不同的主节点,并且所选取的第二主节点可以是单个主节点,或者所选取的第二主节点还可以是多个主节点。作为示例,上述执行主体可以预先在主负载均衡集群中部署用于选取第二主节点的策略,以便于其可以利用该策略在主负载均衡集群中选取出至少一个主节点作为上述第二主节点。
[0058] 步骤303,控制第二主节点接收第一主节点中的数据。
[0059] 在本实施例中,基于步骤302选取出的第二主节点,上述执行主体可以控制所选取的第二主节点接收已故障的第一主节点中的数据。此时,第二主节点中包含该第二主节点自身的数据和来自第一主节点中的数据。
[0060] 步骤304,从从负载均衡集群中选取从节点作为第一从节点,控制第二主节点将来自第一主节点的数据发送到第一从节点,其中,第一从节点从缓存集群中获取会话信息,并基于会话信息确定出通过第一主节点建立长连接的客户端和业务服务器。
[0061] 在本实施例中,上述执行主体可以从从负载均衡集群中选取从节点作为用于承担已故障的第一主节点中的数据的第一从节点,以便于该第一从节点可以接收第二主节点中来自已故障的第一主节点的数据。而后,第一从节点可以从缓存集群中获取第一主节点生成并存储的会话信息,并对所获取的会话信息所包含的源地址和目的地址等进行提取,从而可以确定出通过已故障的第一主节点建立长连接的客户端和业务服务器。
[0062] 在本实施例的一些可选的实现方式中,第一从节点在获取会话信息之后,还可以将所获取的会话信息在本地进行缓存。如此,上述客户端再次向业务服务器发送例如网页浏览等请求时,上述执行主体在接收到该请求之后,可以经由第二主节点将该求发送到第一从节点。此时,第一从节点可以直接在本地查询会话信息来确定出与发送请求的客户端长连接的业务服务器,以便于第一从节点可以将该请求发送到所确定的业务服务器。
[0063] 在本实施例中,上述执行主体在确定出的第一主节点所建立的原有长连接的客户端和业务服务器之后,上述第一从节点可以保持所确定出的客户端和业务服务器之间的长连接不中断。因此,上述第一主节点可以接收所确定出的客户端的请求,并将所接收的请求转发到业务服务器,从而实现了保持已故障的第一主节点所建立的客户端和业务服务器之间的原有长连接不中断,避免了客户端应用出现卡顿的现象。
[0064] 在本实施例的一些可选的实现方式中,上述第一从节点在保持客户端和业务服务器之间的长连接不中断的同时,还可以再次接收来自客户端的例如网页浏览等第二长连接请求。并且,第一从节点在将该请求转发到业务服务器时,可以更新缓存集群中的会话信息,从而使得会话信息中的时间戳等可以及时更新。
[0065] 继续参见图4A-4B,图4A-4B是根据本实施例的用于网关服务器的故障处理方法的应用场景的示意图。如图4A所示,网关服务器402在接收到用户通过客户端401发送的第一长连接请求之后,可以从主负载均衡集群403中选取第一主节点4031。该第一主节点4031可以基于第一长连接请求建立客户端401和业务服务器405之间的长连接,如图4A所示,以及生成并同步会话信息到缓存集群406中。而后,在确定出第一主节点4031发生故障时,如图4B所示,网关服务器402可以从主负载均衡集群403中选取与第一主节点4031不同的第二主节点4032,以便于该第二主节点4032可以接收来自第一主节点4031中的数据。最后,网关服务器402可以从从负载均衡集群404中选取第一从节点4041,以便于第二主节点4032可以将该第二主节点4032中来自第一主节点4031的数据发送给第一从节点4041,如图4B所示。第一从节点4041可以从缓存集群406中获取第一主节点4031生成的会话信息,并利用所获取的会话信息确定出通过第一主节点4031建立长连接的客户端401和业务服务器405,从而保持所确定出的客户端401和业务服务器405之间的长连接不中断,如图4B所示。
[0066] 从图3中可以看出,与图2对应的实施例相比,本实施例中的用于网关服务器的故障处理方法的流程300突出了第一主节点和第一从节点与缓存集群的交互。由此,本实施例描述的方案在实现了保持第一主节点所建立的客户端和业务服务器之间原有的长连接不中断的同时,还可以通过缓存集群满足大量会话信息存储的需求。
[0067] 进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于网关服务器的故障处理装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于网关服务器中。
[0068] 如图5所示,本实施例的用于网关服务器的故障处理装置500包括:第一主节点选取单元501和执行单元502,网关服务器与负载均衡集群建立通讯连接,负载均衡集群包括主负载均衡集群和从负载均衡集群。其中,第一主节点选取单元501被配置成响应于接收到来自客户端的第一长连接请求,从主负载均衡集群中选取主节点作为第一主节点,其中,第一主节点基于第一长连接请求建立客户端和业务服务器之间的长连接以及生成会话信息;执行单元502被配置成响应于确定出第一主节点发生故障,执行如下操作:从主负载均衡集群中选取不同于第一主节点的主节点作为第二主节点,其中,第二主节点接收第一主节点中的数据;从从负载均衡集群中选取从节点作为第一从节点,控制第二主节点将来自第一主节点的数据发送给第一从节点,以使第一从节点基于会话信息保持客户端与业务服务器之间的长连接。
[0069] 本申请的上述实施例提供的用于网关服务器的故障处理装置,在收到来自客户端的第一长连接请求时,第一主节点选取单元501可以从主负载均衡集群中选取出主节点作为第一主节点,以便于第一主节点可以基于第一长连接请求建立客户端和业务服务器之间的长连接以及生成会话信息。在确定出第一主节点发生故障时,执行单元502可以执行如下操作:从主负载均衡集群中选取不同于第一主节点的主节点作为第二主节点,以便于第二主节点可以接收第一主节点的数据;以及从从负载均衡集群中选取第一从节点,控制第二主节点将来自第一主节点的数据发送给第一从节点,以使第一从节点可以基于会话信息保持客户端和业务服务器之间长连接,从而实现了在主负载均衡集群中的第一主节点发生故障时,利用主负载均衡集群中的第二主节点和从负载均衡集群中的第一从节点保持客户端和业务服务器之间原有的长连接不断。
[0070] 在本实施例的一些可选的实现方式中,第一主节点选取单元501进一步被配置成:获取主负载均衡集群中主节点的负载信息;利用负载均衡算法,从主负载均衡集群选取主节点作为第一主节点。
[0071] 在本实施例的一些可选的实现方式中,第一主节点被配置成将会话信息同步到缓存集群中。
[0072] 在本实施例的一些可选的实现方式中,执行单元502进一步被配置成:控制第二主节点接收第一主节点中的数据;从从负载均衡集群中选取从节点作为第一从节点,控制第二主节点将来自第一主节点的数据发送到第一从节点,其中,第一从节点从缓存集群中获取会话信息,并基于会话信息确定出通过第一主节点建立长连接的客户端和业务服务器。
[0073] 在本实施例的一些可选的实现方式中,装置500还包括:第二长连接请求转发单元,被配置成响应于接收到来自客户端的第二长连接请求,将第二长连接请求转发到第二主节点;控制单元,被配置成控制第二主节点将来自客户端的第二长连接请求转发到第一从节点,其中,第一从节点基于会话信息将来自客户端的第二长连接请求转发到业务服务器。
[0074] 在本实施例的一些可选的实现方式中,第一从节点被配置成更新会话信息。
[0075] 装置500中记载的诸单元与参考图2和图3描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征同样适用于装置500及其中包含的单元,在此不再赘述。
[0076] 下面参考图6,其示出了适于用来实现本申请实施例的网关服务器的计算机系统600的结构示意图。图6示出的网关服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
[0077] 如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
[0078] 以下部件连接至I/O接口605:包括键盘鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
[0079] 特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。
计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0080] 可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0081] 附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0082] 描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括第一主节点选取单元和执行单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一主节点选取单元还可以被描述为“响应于接收到来自客户端的第一长连接请求,从主负载均衡集群中选取主节点作为第一主节点的单元”。
[0083] 作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:响应于接收到来自客户端的第一长连接请求,从主负载均衡集群中选取主节点作为第一主节点,其中,第一主节点基于第一长连接请求建立客户端和业务服务器之间的长连接以及生成会话信息;响应于确定出第一主节点发生故障,执行如下操作:从主负载均衡集群中选取不同于第一主节点的主节点作为第二主节点,其中,第二主节点接收第一主节点中的数据;从从负载均衡集群中选取从节点作为第一从节点,控制第二主节点将来自第一主节点的数据发送给第一从节点,以使第一从节点基于会话信息保持客户端与业务服务器之间的长连接。
[0084] 以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈