CN111935029B - 网关负载均衡方法和装置、存储介质及电子设备 - Google Patents
网关负载均衡方法和装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111935029B CN111935029B CN202010983440.9A CN202010983440A CN111935029B CN 111935029 B CN111935029 B CN 111935029B CN 202010983440 A CN202010983440 A CN 202010983440A CN 111935029 B CN111935029 B CN 111935029B
- Authority
- CN
- China
- Prior art keywords
- gateway
- addresses
- address
- time
- reselection
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网关负载均衡方法和装置、存储介质及电子设备。其中,该方法包括:在第一设备上获取第一网关集合中的每个网关的IP地址,得到第一组IP地址,在第一组IP地址中随机选择N个IP地址,在第一设备上分别按照N个IP地址向N个网关发送探测请求,在N个网关中选择最先向第一设备发送探测响应的第一网关,将选择的第一网关的IP地址确定为第一IP地址,将第一设备上接收到的请求均按照第一IP地址发送给第一网关,直到第一重选时刻。本发明解决了相关技术中存在的负载均衡方案较为复杂,负载均衡效率较低的技术问题的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种网关负载均衡方法和装置、存储介质及电子设备。
背景技术
目前,数据存储服务可以基于分布式系统提供,但在通过分布式系统的存储网关使用存储服务的过程中,会出现多个用户服务请求相对集中的通过一个或多个分布式节点使用上述数据存储服务,进而,会造成网络拥堵,无法正常访问上述数据存储服务。
例如,在基于Openstack的云平台中,通常使用Ceph分布式存储系统提供存储服务。云平台通过提供虚拟机和裸机两种计算服务供用户使用,使得用户可以根据实际需要将业务分类安装在虚拟机或者裸机上面。例如,对于性能要求比较高的服务可以安装在裸机上面(比如数据库服务),提供上述数据存储服务的云平台在规模变大之后,所需管理的裸机越来越多,此时,存储网关接收的数据请求也会越来越多,目前的相关技术中,一般使用多个存储网关提供服务来处理这些请求,因此,需要通过负载均衡的方式,来管理多个存储网关,以便上述数据存储服务能够高效地运行。
但是,目前通常采用使用外部服务,例如,Haproxy服务以及Keepalive服务基于虚拟IP实现负载均衡,其存在由于Haproxy服务以及Keepalive服务为相互独立的服务,需要额外安装Haproxy服务以及Keepalive服务,且需要基于虚拟IP实现负载均衡,因此,存在需要依赖外部服务,已来虚拟IP资源存在不可控因素,导致负载均衡方案较为复杂,负载均衡效率较低的技术问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种网关负载均衡方法和装置、存储介质及电子设备,以至少解决相关技术中存在的负载均衡方案较为复杂,负载均衡效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种网关负载均衡方法,包括:在第一设备上获取第一网关集合中的每个网关的IP地址,得到第一组IP地址;在所述第一组IP地址中随机选择N个IP地址,其中,N为大于1的自然数,所述N个IP地址分别为所述第一网关集合中的N个网关的IP地址;在所述第一设备上分别按照所述N个IP地址向所述N个网关发送探测请求;在所述N个网关中选择最先向所述第一设备发送探测响应的所述第一网关,将选择的所述第一网关的IP地址确定为所述第一IP地址,其中,所述探测响应与所述探测请求对应;将所述第一设备上接收到的请求均按照所述第一IP地址发送给所述第一网关,直到第一重选时刻。
根据本发明实施例的另一方面,还提供了一种网关负载均衡装置,包括:获取模块,用于在第一设备上获取第一网关集合中的每个网关的IP地址,得到第一组IP地址;选择模块,用于在所述第一组IP地址中随机选择N个IP地址,其中,N为大于1的自然数,所述N个IP地址分别为所述第一网关集合中的N个网关的IP地址;第一发送模块,用于在所述第一设备上分别按照所述N个IP地址向所述N个网关发送探测请求;确定模块,用于在所述N个网关中选择最先向所述第一设备发送探测响应的所述第一网关,将选择的所述第一网关的IP地址确定为所述第一IP地址,其中,所述探测响应与所述探测请求对应;第二发送模块,用于将所述第一设备上接收到的请求均按照所述第一IP地址发送给所述第一网关,直到第一重选时刻。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述网关负载均衡方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的网关负载均衡方法。
在本发明实施例中,采用在第一设备上获取第一网关集合中的每个网关的IP地址,得到第一组IP地址,在第一组IP地址中随机选择N个IP地址,在第一设备上分别按照N个IP地址向N个网关发送探测请求,在N个网关中选择最先向第一设备发送探测响应的第一网关,将选择的第一网关的IP地址确定为第一IP地址,将第一设备上接收到的请求均按照第一IP地址发送给第一网关,直到第一重选时刻的方式,通过在第一设备上从获取到的第一网关集合中随机选择网关的IP地址,并按照选择的IP地址发送请求,达到了替代相关技术中通过使用外部服务基于虚拟IP进行负载均衡的技术方案的目的,从而实现了负载均衡不依赖于外部服务,提高了负载均衡的效率,降低了负载均衡的成本的技术效果,进而,能够解决相关技术中存在的负载均衡方案较为复杂,负载均衡效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的网关负载均衡方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的网关负载均衡方法的流程示意图;
图3是根据本发明实施例的一种可选的网关负载均衡方法的示意图;
图4是根据本发明实施例的另一种可选的网关负载均衡方法的示意图;
图5是根据本发明实施例的又一种可选的网关负载均衡方法的示意图;
图6是根据本发明实施例的又一种可选的网关负载均衡方法的示意图;
图7是根据本发明实施例的又一种可选的网关负载均衡方法的示意图;
图8是根据本发明实施例的又一种可选的网关负载均衡方法的示意图;
图9是根据本发明实施例的又一种可选的网关负载均衡方法的示意图;
图10是根据本发明实施例的又一种可选的网关负载均衡方法的示意图;
图11是根据本发明实施例的另一种可选的网关负载均衡方法的流程示意图;
图12是根据本发明实施例的又一种可选的网关负载均衡方法的流程示意图;
图13是根据本发明实施例的一种可选的网关负载均衡装置的结构示意图;
图14是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
OpenStack::OpenStack是开源的Iaas管理平台。
Cinder:Cinder是Openstack中提供块存储的组件。
Ceph:Ceph是开源的分布式存储系统,能同时提供对象、块、文件存储服务。
Iscsi:通过Tcp/IP网络传输scsi命令的一种协议。
下面结合实施例对本发明进行说明:
根据本发明实施例的一个方面,提供了一种网关负载均衡方法,可选地,在本实施例中,上述网关负载均衡方法可以应用于如图1所示的由服务器101和用户终端103所构成的硬件环境中。如图1所示,服务器101通过网络与终端103进行连接,可用于为用户终端或用户终端上安装的客户端提供服务,目标客户端可以包括视频客户端、即时通信客户端、浏览器客户端、游戏客户端等。可在服务器上或独立于服务器设置数据库105,用于为服务器101提供数据存储服务,上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络,用户终端103可以是配置有目标客户端的终端,可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile InternetDevices,移动互联网设备)、PAD、台式电脑、智能电视等,上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器,提供上述网关负载均衡服务的应用程序107可以但不限于通过用户终端103进行显示,可通过终端上配置的网关负载均衡的应用程序107的入口,使用上述网关负载均衡服务,例如,可以基于上述应用程序107使用上述网关负载均衡方法,可以通过应用程序107的显示界面显示设备和网关之间的连接状态等信息,上述仅是一种示例,本实施例中对此不作任何限定。
可选地,作为一种可选的实施方式,如图2所示,上述网关负载均衡方法包括:
S202,在第一设备上获取第一网关集合中的每个网关的IP地址,得到第一组IP地址;
S204,在第一组IP地址中随机选择N个IP地址,其中,N为大于1的自然数,N个IP地址分别为第一网关集合中的N个网关的IP地址;
S206,在第一设备上分别按照N个IP地址向N个网关发送探测请求;
S208,在N个网关中选择最先向第一设备发送探测响应的第一网关,将选择的第一网关的IP地址确定为第一IP地址,其中,探测响应与探测请求对应;
S210,将第一设备上接收到的请求均按照第一IP地址发送给第一网关,直到第一重选时刻。
可选地,在本实施例中,上述网络负载均衡方法可以应用于包括但不限于图3所示的应用场景中,如图3所示,该应用场景可以包括但不限于如下内容:
业务层302,包括用户可以直接完成操作的系统层级,比如,可以包括但不限于自助平台,用于向用户提供申请资源的显示界面,用户可以根据业务需求通过自助平台进行操作,以完成申请资源等流程,监控平台,用于监控平台的资源使用情况,运维平台,用于提供管理员操作界面,可以进行宿主机迁移等处理;
云网关层304,包括venus、IP系统和rbac,其中,venus提供统一的原平台资源接口、IP系统管理IP等网络资源、rbac用于进行鉴权操作;
基础云层306,用于配置虚拟云服务,例如,包括openstack提供laas服务,Nova用于管理虚拟机的生命周期,glance用于管理镜像的生命周期,cinder用于管理卷的生命周期;
存储层308,用于通过iscsi协议将Ceph存储集群中的块存储设备读取使用。
可选地,在本实施例中,上述第一设备可以包括但不限于上述图3中的Cinder客户端310,上述第一网关可以包括但不限于上述图3中的iscsi网关312,上述第二网关可以包括但不限于上述图3中的iscsi网关314。
可选地,在本实施例中,上述第一网关集合可以包括但不限于存储层308中包括的iscsi网关312以及iscsi网关314,还可以包括但不限于其他iscsi网关,或者,与iscsi网关类型不同,但是用途相同的存储网关。
上述仅是一种示例,本实施例对此不做任何具体限定。
可选地,在本实施例中,上述随机选择的方式可以包括但不限于使用随机数或者伪随机数的方式进行随机选取,通过为第一网关集合中每个网关配置对应的标识,再通过随机数以及伪随机数的形式从上述第一网关集合对应的第一组IP地址中随机选择出上述第一IP地址。还可以通过包括但不限于将上述第一组IP地址进行随机排序,再从随机排序后的第一组IP地址中的前N个IP地址中随机选择出上述第一IP地址,还可以包括但不限于向上述第一组网关同时并发探测信号,将最先接收到的探测响应消息对应的网关确定为上述第一网关。
上述仅是一种示例,具体进行随机选择的过程可以包括但不限于上述一种或者多种的组合以及其他能够随机选择的方式,本实施例对此不做任何具体的限定。
可选地,在本实施例中,上述探测请求为同时并行发送的探测请求,上述在N个网关中选择最先向第一设备发送探测响应的第一网关可以包括但不限于选择网络延时或者处理速度最快的网关作为接收请求的存储网关。
可选地,在本实施例中,图4是根据本发明实施例的一种可选的网关负载均衡方法的示意图,进行进一步说明:
上述探测响应与探测请求对应可以包括但不限于如图4所示,第一设备402从全部网关集合404中随机选择出N个网关,组成第一网关集合406,同时基于第一组网关IP并行向网关408发送探测请求1,向网关410发送探测请求2,向网关412发送探测请求3,…,向网关414发送探测请求N,并分别接收由网关408返回的探测响应1,由网关410返回的探测响应2,由网关412返回的探测响应3,…,由网关414返回的探测响应N,最后,将最先接收到的探测响应对应的网关412确定为上述第一网关416,通过上述方案能够在网关数量较多的情况下,随机选择其中一部分网关作为需要发送探测信息的对象,再对选择的一部分网关并行发送探测信息,将响应最迅速的网关确定为后续接收请求的第一网关,达到灵活配置网关,提高负载均衡效率的技术效果。
通过本实施例,采用在第一设备上获取第一网关集合中的每个网关的IP地址,得到第一组IP地址,在第一组IP地址中随机选择N个IP地址,在第一设备上分别按照N个IP地址向N个网关发送探测请求,在N个网关中选择最先向第一设备发送探测响应的第一网关,将选择的第一网关的IP地址确定为第一IP地址,将第一设备上接收到的请求均按照第一IP地址发送给第一网关,直到第一重选时刻的方式,通过在第一设备上从获取到的第一网关集合中随机选择网关的IP地址,并按照选择的IP地址发送请求,达到了替代相关技术中通过使用外部服务基于虚拟IP进行负载均衡的技术方案的目的,从而实现了负载均衡不依赖于外部服务,提高了负载均衡的效率,降低了负载均衡的成本的技术效果,进而,能够解决相关技术中存在的负载均衡方案较为复杂,负载均衡效率较低的技术问题。
在一个可选的实施例中,所述在所述第一组IP地址中随机选择N个IP地址,包括:对所述第一组IP地址中的IP地址进行随机排序,得到第三组IP地址;在所述第三组IP地址中选择排列前N位的IP地址,确定为所述N个IP地址。
可选地,在本实施例中,上述第三组IP地址为从第一组IP地址中进行随机排序后确定的一组IP地址,从上述第三组IP地址选择排列前N位的IP地址,上述N可以由系统预设或者在此之前的一段周期内请求的发送数量或者第一组网关的数量动态确定。
可选地,在本实施例中,图5是根据本发明实施例的一种可选的网关负载均衡方法的示意图,进行进一步说明:
上述探测响应与探测请求对应可以包括但不限于如图5所示,第一设备502从全部网关集合514中随机选择出N个网关,并进行随机排序,基于排序的结果确定前N个网关,以上述N等于3为例,确定选出的3个网关的IP地址,例如,网关IP1、网关IP2、网关IP3,同时并行基于网关IP1向网关504发送探测请求1,向网关506发送探测请求2,向网关508发送探测请求3,并分别接收由网关504基于探测请求1返回的探测响应1,由网关506基于探测请求2返回的探测响应2,由网关508基于探测请求3返回的探测响应3,最后,将最先接收到的探测响应对应的网关506确定为上述第一网关516。
需要说明的是,图5中全部网关集合514中的网关数量Z大于等于第一网关集合510的网关数量M,第一网关集合510的网关数量M大于等于第三网关集合512的网关数量N。
上述仅是一种示例,本实施例不做任何具体的限定。
通过本实施例,首先,能够在网关数量较多的情况下,随机选择其中一部分网关进行排序,得到新的一组网关,并从新的一组网关中确定出需要发送探测信息的对象的一组网关并行发送探测信息,将响应最迅速的网关确定为后续接收请求的第一网关,达到灵活配置网关,提高负载均衡效率的技术效果。
在一个可选的实施例中,所述在将所述第一设备上接收到的请求均按照所述第一IP地址发送给所述第一网关,直到第一重选时刻之后,所述方法还包括:在到达所述第一重选时刻时,在第二组IP地址中随机选择第二IP地址,其中,所述第二组IP地址为所述第一组IP地址中删除掉所述第一IP地址所得到的一组IP地址,所述第二IP地址为所述第一网关集合中的第二网关的IP地址;在所述第一重选时刻之后,将所述第一设备上接收到的请求均按照所述第二IP地址发送给所述第二网关,直到第二重选时刻。
可选地,在本实施例中,上述第一重选时刻以及第二重选时刻可以包括但不限于由系统进行预设,例如,可以通过设置时间阈值,在将第一设备上接收到的请求按照第一IP地址发送给第一网关的时长大于上述时间阈值时,将此时刻确定为上述第一重选时刻或者第二重选时刻,还例如,可以通过设置请求发送数量阈值,在将第一设备上接收到的请求按照第一IP地址发送给第一网关的请求发送数量大于上述请求发送数量阈值时,将此时刻确定为上述第一重选时刻或者第二重选时刻。
上述仅是一种示例,本实施例不做任何具体的限制。
图6是根据本发明实施例的一种可选的网络负载均衡方法的示意图,如图6所示,可以但不限于在上述第一设备602中设置用于执行上述网络负载均衡方法的iscsi设备604,其中,通过用于连接网关的客户端606执行上述网络负载均衡方法,从第一网关集合608对应的第一组IP地址中随机选择上述第一IP地址,进而确定上述第一网关集合608中的第一网关610(对应于图6中粗线条指示的存储网关)。
其中,第一设备602还可以包括但不限于管理模块612,其中,管理模块用于管理控制iscsi设备,对到达设备层的请求操作镜像管理,例如,“卷”的增删改查、快照的创建、删除、回滚等。
第一设备602还可以包括但不限于调度模块614,其中,调度模块用于选择连接的存储网关,通过随机选择机制从上述存储网关(对应于前述的第一组网关)中(存储网关个数可以不限于如图6所示)随机选择一个目标网关(对应于前述的第一网关),并将后续的请求均发送至上述目标网关。
第一设备602还可以包括但不限于定时模块616,其中,定时模块用于定时重选存储网关,也即,执行S208,以负载后续请求。
第一设备602还可以包括但不限于重连接模块618,其中,重连接模块用于在之前选择的目标网关停止服务之后(比如,网关发生故障),发起重新选择一个新的目标网关,也即,执行S208。
第一设备602还可以包括但不限于客户端606,其中,客户端用于作为存储网关相连接的客户端,在调度选择完存储网关之后,将对应的请求通过网络发送到存储网关。
通过本实施例,在到达第一重选时刻时,在第二组IP地址中随机选择第二IP地址,在第一重选时刻之后,将第一设备上接收到的请求均按照第二IP地址发送给所述第二网关,直到第二重选时刻,实现多次重选的过程,进而,能够达到提高负载均衡效率的技术效果。
在一个可选的实施例中,所述方法还包括:在到达所述第二重选时刻时,在第四组IP地址中随机选择第三IP地址,其中,所述第四组IP地址为所述第一组IP地址中删除掉所述第二IP地址所得到的一组IP地址,所述第三IP地址为所述第一网关集合中的第三网关的IP地址;在所述第二重选时刻之后,将所述第一设备上接收到的请求均按照所述第三IP地址发送给所述第三网关,直到第三重选时刻。
可选地,在本实施例中,上述到达第二重选时刻可以包括但不限于由系统进行预设,例如,可以通过设置时间阈值,在将第一设备上接收到的请求按照第二IP地址发送给第二网关的时长大于上述时间阈值时,将当前时刻确定为到达第二重选时刻,还例如,可以通过设置请求发送数量阈值,在将第一设备上接收到的请求按照第二IP地址发送给第二网关的请求发送数量大于上述请求发送数量阈值时,将当前时刻确定为到达第二重选时刻。
可选地,在本实施例中,上述第四组IP地址为第一组IP地址中删除掉第二IP地址所得到的一组IP地址,第三IP地址为第一网关集合中的第三网关的IP地址。
可选地,在本实施例中,如图6所示,上述到达第二重选时刻可以由图6中的定时模块616确定,在到达上述第二重选时刻之后,将第一网关集合608中的第一网关610删除,以确定上述第四组IP地址,再通过随机选择的方式确定上述第三IP地址,将第三IP地址对应的网关确定为第三网关,发送请求至第三网关。
需要说明的是,图7是根据本发明实施例的一种可选的网络负载均衡方法的示意图,如图7所示,其中,随机选择第三IP地址的方式可以包括但不限于将第四组IP地址对应的网关集合配置为图7中的网关集合714,第一设备702从网关集合714中随机选择出N个网关,并进行随机排序,基于排序的结果确定前N个网关,以上述N等于3为例,确定选出的3个网关的IP地址,例如,网关IP1、网关IP2、网关IP3,同时并行基于网关IP1向网关704发送探测请求1,向网关706发送探测请求2,向网关708发送探测请求3,并分别接收由网关704基于探测请求1返回的探测响应1,由网关706基于探测请求2返回的探测响应2,由网关708基于探测请求3返回的探测响应3,最后,将最先接收到的探测响应对应的网关706确定为上述第三网关716。
通过本实施例,能够在达到预设条件的情况下,重新随机选择网关,进而实现了灵活配置网络负载均衡,达到提高负载均衡效率,加快网关接收请求的速度的技术效果。
在一个可选的实施例中,所述在到达所述第一重选时刻时,在第二组IP地址中随机选择第二IP地址,包括:在所述第一重选时刻为预先确定的时刻的情况下,在当前时刻到达所述第一重选时刻时,在所述第二组IP地址中随机选择所述第二IP地址,其中,所述第一重选时刻与所述第二重选时刻之间的时间间隔为预设时间间隔;或者在所述第一重选时刻为已发送的请求的数量到达预定数量的时刻的情况下,在第四重选时刻之后所述第一设备向所述第一网关发送的请求的数量到达所述预定数量时,确定到达所述第一重选时刻,并在所述第二组IP地址中随机选择所述第二IP地址,其中,所述已发送的请求为在所述第四重选时刻之后所述第一设备向所述第一网关发送的请求,所述第四重选时刻为所述第一重选时刻的上一个重选时刻,或者,为所述第一重选时刻之前的初始时刻。
可选地,在本实施例中,上述预设时间间隔可以由系统预设,也可以根据当前周期的请求发送数量进行动态调整。
例如,在第一重选时刻为预先确定的时刻的情况下,在当前时刻到达第一重选时刻时,在第二组IP地址中随机选择第二IP地址,也即,在达到上述预设时间间隔的情况下,执行重选逻辑(在第二组IP地址中随机选择第二IP地址),更换当前匹配的网关为新选择的网关。
可选地,在本实施例中,在由第一设备向选定的网关发送的请求数量达到预设阈值的情况下,可以但不限于将上述预设时间间隔缩短,可以根据请求数量的变化量动态调整上述预设时间间隔。
可选地,在本实施例中,上述预定数量可以由系统预设,也可以根据当前周期的请求发送速度进行动态调整。
例如,在第一重选时刻为预先确定的时刻的情况下,在当前时刻到达第一重选时刻时,在第二组IP地址中随机选择第二IP地址,也即,在第一设备向第一网关发送的请求的数量到达预定数量时的情况下,执行重选逻辑(在第二组IP地址中随机选择第二IP地址),更换当前匹配的网关为新选择的网关。
可选地,在本实施例中,在由第一设备向选定的网关发送的速度达到预设阈值的情况下,可以但不限于将上述预定数量调整,可以根据请求数量的变化量动态调整上述预定数量。
通过本实施例,能够灵活地根据当前匹配网关接收请求的数量或者匹配的时间来调整匹配的网关,进而,达到提高网络负载均衡效率的技术效果。
在一个可选的实施例中,所述方法还包括:在所述第一重选时刻之后、到达所述第二重选时刻之前,在检测到所述第二网关出现故障的情况下,在第五组IP地址中随机选择第四IP地址,其中,所述第五组IP地址为所述第一组IP地址中删除掉所述第二IP地址所得到的一组IP地址,所述第四IP地址为所述第一网关集合中的第四网关的IP地址;在所述第二重选时刻之前,将所述第一设备上接收到的请求均按照所述第四IP地址发送给所述第四网关,直到所述第二重选时刻。
可选地,在本实施例中,可以通过包括但不限于监测第一设备和第二网关之间发送请求的链路来确定上述第二网关是否出现故障,还可以通过包括但不限于通过监测第一设备和第二网关之间的心跳信号来确定上述第二网关是否出现故障。
可选地,在本实施例中,在上述第二网关出现故障的情况下,可以将上述出现故障的第二网关从网关集合中删除,以避免再次随机选择到故障的网关,还可以包括但不限于向故障网关发送检测信令,在检测到上述故障网关恢复正常后,将上述恢复正常的网关添加到上述网关集合中。
可选地,在本实施例中,还可以通过标识将网关集合中出现过故障或者故障率较高的网关进行标识,在前述随机选择网关的过程中,如果选择到上述带有标识的网关,则丢弃,并将带有标识的网关从网关集合中删除,以使得随机选择的网关能够正常接收请求。
通过本实施例,能够在网关出现故障时,重新随机选择网关,进而,能够达到提高网络负载均衡效率的技术效果。
在一个可选的实施例中,所述方法还包括:在所述第一重选时刻之后、到达所述第二重选时刻之前,在检测到所述第二网关出现故障的情况下,在第五组IP地址中随机选择第四IP地址,其中,所述第五组IP地址为所述第一组IP地址中删除掉所述第二IP地址所得到的一组IP地址,所述第四IP地址为所述第一网关集合中的第四网关的IP地址;在第五重选时刻之前,将所述第一设备上接收到的请求均按照所述第四IP地址发送给所述第四网关,直到所述第五重选时刻,其中,所述第五重选时刻为所述第二重选时刻的下一个重选时刻,或者,所述第五重选时刻为重选设置的重选时刻、且晚于所述第二重选时刻。
可选地,在本实施例中,上述第五重选时刻为重选设置的重选时刻、且晚于所述第二重选时刻可以包括但不限于在检测到上述第二网关出现故障的情况下,重新随机选择新的网关,并在选择完成新的网关之后,重置网关匹配时间,以避免多次重复重新选择网页,降低资源的开销,达到提高网络负载均衡效率的技术效果。
在一个可选的实施例中,在所述第五重选时刻为所述第二重选时刻的下一个重选时刻的情况下,所述第一重选时刻与所述第二重选时刻之间的时间间隔等于所述第二重选时刻与所述第五重选时刻之间的时间间隔;或者在所述第五重选时刻为重选设置的重选时刻、且晚于所述第二重选时刻的情况下,所述第五重选时刻为已发送的请求的数量到达预定数量的时刻,其中,所述已发送的请求为在检测到所述第二网关出现故障之后所述第一设备向所述第四网关发送的请求。
可选地,在本实施例中,上述第五重选时刻为重选设置的重选时刻、且晚于所述第二重选时刻可以包括但不限于在检测到已发送的请求的数量到达预定数量的情况下,重新随机选择新的网关,并在选择完成新的网关之后,重置已发送的请求的数量,以避免多次重复重新选择网页,降低资源的开销,达到提高网络负载均衡效率的技术效果。
可选地,在本实施例中,上述第五重选时刻为重选设置的重选时刻、且晚于所述第二重选时刻可以包括但不限于第一重选时刻与第二重选时刻之间的时间间隔等于第二重选时刻与第五重选时刻之间的时间间隔的情况下,重新随机选择新的网关,并在选择完成新的网关之后,重置时间间隔,以避免多次重复重新选择网页,降低资源的开销,达到提高网络负载均衡效率的技术效果。
在一个可选的实施例中,所述方法还包括:在第二设备上获取所述第一网关集合中的每个网关的IP地址,得到所述第一组IP地址,其中,所述第一设备和所述第二设备均与所述第一网关集合中的每个网关建立通信连接;在所述第一组IP地址中随机选择第五IP地址,其中,所述第五IP地址为所述第一网关集合中的第五网关的IP地址;将所述第二设备上接收到的请求均按照所述第五IP地址发送给所述第五网关,直到第六重选时刻;在到达所述第六重选时刻时,在第六组IP地址中随机选择第六IP地址,其中,所述第六组IP地址为所述第一组IP地址中删除掉所述第五IP地址所得到的一组IP地址,所述第六IP地址为所述第一网关集合中的第六网关的IP地址;在所述第六重选时刻之后,将所述第二设备上接收到的请求均按照所述第六IP地址发送给所述第六网关,直到第七重选时刻。
可选地,在本实施例中,上述第二设备可以与第一设备相同或者不同,上述第二设备也配置有如图6所示的结构。
图8是根据本发明实施例的一种可选的网关负载均衡的示意图,如图8所示,在第二设备802上获取第一网关集合804中的每个网关的IP地址,得到第一组IP地址,其中,第一设备806和第二设备802均与第一网关集合804中的每个网关建立通信连接;在第一组IP地址中随机选择第五IP地址,其中,第五IP地址为第一网关集合中的第五网关806的IP地址;将第二设备上接收到的请求均按照第五IP地址发送给第五网关806,直到第六重选时刻;在到达第六重选时刻时,在第六组IP地址中随机选择第六IP地址,其中,第六组IP地址为第一组IP地址中删除掉第五IP地址所得到的一组IP地址,第六IP地址为第一网关集合中的第六网关808的IP地址;在第六重选时刻之后,将第二设备上接收到的请求均按照第六IP地址发送给第六网关808,直到第七重选时刻,上述第五网关和上述第一网关810可以相同或者不同,上述第六网关和上述第一网关810可以相同或者不同,换言之,上述第一设备806和第二设备802为相互独立随机选择的设备。
下面结合具体的实施例,对本发明进行进一步解释说明:
图9是根据本发明实施例的一种可选的网关负载均衡的方法示意图,如图9所示,提出一种Ceph iscsi网关负载均衡的方法,主要分为以下几个部分:iscsi网关连接选择调度机制,定时重选机制,iscsi网关服务中断重连机制。
对于iscsi网关连接选择调度机制,做出如下说明:
Iscsi网关连接选择调度机制是在cinder(对应于前述的第一设备)组件的iscsidriver作为网关的客户端向网关发送请求的时候,在众多的网关中选择目标网关进行发送。图9即为多个cinder选择iscsi网关的示意图,两个iscsi driver选择不同的iscsi网关进行通信,Iscsi driver内部模块包括如下部分:
manage模块(对应于前述的管理模块):manage作为iscsi driver的管理控制,对到达driver层的请求操作镜像管理,这些请求操作包括卷的增删改查、快照的创建删除回滚等。
scheduler模块(对应于前述的调度模块):scheduler用于选择iscsi网关以连接,通过选择机制从众多的iscsi网关中(iscsi网关个数不止图9中所示的三个)选择一个目标网关,将后续请求均发送给这个目标网关
timer模块(对应于前述的定时模块):timer定时模块,主要为定时重选iscsi网关,用来负载一个iscsi driver中的不同请求。
reconnect模块(对应于前述的重连接模块):reconnect为重连模块,单之前选择的目标网关停止服务之后(比如网关故障了),发起重新调度选择一个新的目标网关。
gateway client模块(对应于前述的客户端):gateway client作为iscsi网关的客户端,在scheduler模块选择完目标iscsi网关之后,将iscsi卷的请求利用restful格式通过网络发送到iscsi网关。
图10是根据本发明实施例的一种可选的网关负载均衡方法的流程示意图,该流程包括如下步骤:
S1002,通过cinder的配置获取所有iscsi网关的ip,加载到schduler模块;
S1004,对加载的所有iscsi网关的ip进行随机排序;
S1006,对随机排序后的iscsi网关ip进行并发探测窗口的过滤,选择并发窗口大小数量的网关个数;
S1008,对过滤得到的网关并发发起ping请求探测(对应于前述的探测信息),并等待探测请求的应答(对应于前述的探测响应);
S1010,将目标iscsi网关设置为并发ping探测时先返回响应的那个网关。
通过本实施例,schduler模块选择出目标iscsi网关,将后续请求都发送给选择的iscsi网关,达到保证在管理大量裸机资源时,云平台可以稳定运行,由于请求负载可以均衡,iscsi网关可以水平无限扩展的技术效果。
对于定时重选机制,做出如下说明:
图11是根据本发明实施例的一种可选的网关负载均衡方法的流程示意图,如图11所示,定时重选机制为在iscsi driver选完目标网关发送一段时间的请求之后,排除当前网关进行重新选择目标网关,基于不同指标确定重选时机,其中,指标可以包括但不限于固定时间间隔,iscsi driver选择完目标网关之后统计时间,在达到固定时间间隔之后,进行重选;指标还可以包括但不限于:发送的固定请求个数,iscsi driver选择完目标网关之后统计请求,在达到固定请求个数之后,进行重选。对于上述指标至少有一个指标满足,即启动上述重选机制,其步骤如下:
S1102,从cinder配置中读取全部iscsi网关的ip。
S1104,将目标iscsi网关排除,获取全部iscsi网关中除标iscsi网关之外的其他iscsi网关集合;
S1106,对加载的其他iscsi网关集合中的网关ip进行随机排序;
S1108,对随机排序后的iscsi网关ip进行并发探测窗口的过滤,选择并发窗口大小数量的网关个数;
S1110,对过滤得到的网关并发发起ping请求探测(对应于前述的探测信息),并等待探测请求的应答(对应于前述的探测响应);
S1112,将新的目标iscsi网关设置为并发ping探测时先返回响应的那个网关。
对于iscsi网关服务中断重连机制,做出如下说明:
图12是根据本发明实施例的一种可选的网关负载均衡方法的流程示意图,如图12所示,在选择了目标网关之后,iscsi driver在没有满足重选指标时后续的请求都会一直发送到选择的目标网关。在目标网关服务出现故障时,需要让iscsi driver类似进入重新选择iscsi网关的机制,重新选出一个可用的网关在发送请求,达到无感知故障网关切换。
Iscsi网关服务故障重连机制步骤如下:
S1202,iscsi driver的gateway client在发送请求之后,接收到iscsi网关不可用响应,则进入重连机制;
S1204,从cinder配置中读取全部的iscsi网关ip;
S1206,将发生故障的目标iscsi网关排除,获取全部iscsi网关中除发生故障的iscsi网关之外的其他iscsi网关集合;
S1208,对加载的其他iscsi网关集合中的网关ip进行随机排序;
S1210,对随机排序后的iscsi网关ip进行并发探测窗口的过滤,选择并发窗口大小数量的网关个数;
S1212,将过滤的网关并发发起ping请求探测(对应于前述的探测信息),并等待探测请求的应答(对应于前述的探测响应);
S1214,将新的目标iscsi网关设置为并发ping探测时先返回响应的那个网关。
通过本实施例,在网关故障的时,能够重新选择新的目标网关,使得后续iscsidriver的请求发送新的目标网关,实现了iscsi网关故障时可以完成无感知的切换。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述网关负载均衡方法的网关负载均衡装置。如图13所示,该装置包括:
获取模块1302,用于在第一设备上获取第一网关集合中的每个网关的IP地址,得到第一组IP地址;
选择模块1304,用于在所述第一组IP地址中随机选择N个IP地址,其中,N为大于1的自然数,所述N个IP地址分别为所述第一网关集合中的N个网关的IP地址;
第一发送模块1306,用于在所述第一设备上分别按照所述N个IP地址向所述N个网关发送探测请求;
确定模块1308,用于在所述N个网关中选择最先向所述第一设备发送探测响应的所述第一网关,将选择的所述第一网关的IP地址确定为所述第一IP地址,其中,所述探测响应与所述探测请求对应;
第二发送模块1310,用于将所述第一设备上接收到的请求均按照所述第一IP地址发送给所述第一网关,直到第一重选时刻。
在一个可选的实施例中,所述选择模块,包括:排序单元,用于对所述第一组IP地址中的IP地址进行随机排序,得到第三组IP地址;选择单元,用于在所述第三组IP地址中选择排列前N位的IP地址,确定为所述N个IP地址。
在一个可选的实施例中,所述装置还用于:所述在将所述第一设备上接收到的请求均按照所述第一IP地址发送给所述第一网关,直到第一重选时刻之后,在到达所述第一重选时刻时,在第二组IP地址中随机选择第二IP地址,其中,所述第二组IP地址为所述第一组IP地址中删除掉所述第一IP地址所得到的一组IP地址,所述第二IP地址为所述第一网关集合中的第二网关的IP地址;在所述第一重选时刻之后,将所述第一设备上接收到的请求均按照所述第二IP地址发送给所述第二网关,直到第二重选时刻。
在一个可选的实施例中,所述装置还用于:在到达所述第二重选时刻时,在第四组IP地址中随机选择第三IP地址,其中,所述第四组IP地址为所述第一组IP地址中删除掉所述第二IP地址所得到的一组IP地址,所述第三IP地址为所述第一网关集合中的第三网关的IP地址;在所述第二重选时刻之后,将所述第一设备上接收到的请求均按照所述第三IP地址发送给所述第三网关,直到第三重选时刻。
在一个可选的实施例中,所述装置还用于通过如下方式在到达所述第一重选时刻时,在第二组IP地址中随机选择第二IP地址:在所述第一重选时刻为预先确定的时刻的情况下,在当前时刻到达所述第一重选时刻时,在所述第二组IP地址中随机选择所述第二IP地址,其中,所述第一重选时刻与所述第二重选时刻之间的时间间隔为预设时间间隔;或者在所述第一重选时刻为已发送的请求的数量到达预定数量的时刻的情况下,在第四重选时刻之后所述第一设备向所述第一网关发送的请求的数量到达所述预定数量时,确定到达所述第一重选时刻,并在所述第二组IP地址中随机选择所述第二IP地址,其中,所述已发送的请求为在所述第四重选时刻之后所述第一设备向所述第一网关发送的请求,所述第四重选时刻为所述第一重选时刻的上一个重选时刻,或者,为所述第一重选时刻之前的初始时刻。
在一个可选的实施例中,所述装置还用于:在所述第一重选时刻之后、到达所述第二重选时刻之前,在检测到所述第二网关出现故障的情况下,在第五组IP地址中随机选择第四IP地址,其中,所述第五组IP地址为所述第一组IP地址中删除掉所述第二IP地址所得到的一组IP地址,所述第四IP地址为所述第一网关集合中的第四网关的IP地址;在所述第二重选时刻之前,将所述第一设备上接收到的请求均按照所述第四IP地址发送给所述第四网关,直到所述第二重选时刻。
在一个可选的实施例中,所述装置还用于:在所述第一重选时刻之后、到达所述第二重选时刻之前,在检测到所述第二网关出现故障的情况下,在第五组IP地址中随机选择第四IP地址,其中,所述第五组IP地址为所述第一组IP地址中删除掉所述第二IP地址所得到的一组IP地址,所述第四IP地址为所述第一网关集合中的第四网关的IP地址;在第五重选时刻之前,将所述第一设备上接收到的请求均按照所述第四IP地址发送给所述第四网关,直到所述第五重选时刻,其中,所述第五重选时刻为所述第二重选时刻的下一个重选时刻,或者,所述第五重选时刻为重选设置的重选时刻、且晚于所述第二重选时刻。
在一个可选的实施例中,在所述第五重选时刻为所述第二重选时刻的下一个重选时刻的情况下,所述第一重选时刻与所述第二重选时刻之间的时间间隔等于所述第二重选时刻与所述第五重选时刻之间的时间间隔;或者在所述第五重选时刻为重选设置的重选时刻、且晚于所述第二重选时刻的情况下,所述第五重选时刻为已发送的请求的数量到达预定数量的时刻,其中,所述已发送的请求为在检测到所述第二网关出现故障之后所述第一设备向所述第四网关发送的请求。
在一个可选的实施例中,所述装置还用于:在第二设备上获取所述第一网关集合中的每个网关的IP地址,得到所述第一组IP地址,其中,所述第一设备和所述第二设备均与所述第一网关集合中的每个网关建立通信连接;在所述第一组IP地址中随机选择第五IP地址,其中,所述第五IP地址为所述第一网关集合中的第五网关的IP地址;将所述第二设备上接收到的请求均按照所述第五IP地址发送给所述第五网关,直到第六重选时刻;在到达所述第六重选时刻时,在第六组IP地址中随机选择第六IP地址,其中,所述第六组IP地址为所述第一组IP地址中删除掉所述第五IP地址所得到的一组IP地址,所述第六IP地址为所述第一网关集合中的第六网关的IP地址;在所述第六重选时刻之后,将所述第二设备上接收到的请求均按照所述第六IP地址发送给所述第六网关,直到第七重选时刻。
根据本发明实施例的又一个方面,还提供了一种用于实施上述网关负载均衡方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为终端为例来说明。如图14所示,该电子设备包括存储器1402和处理器1404,该存储器1402中存储有计算机程序,该处理器1404被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在第一设备上获取第一网关集合中的每个网关的IP地址,得到第一组IP地址;
S2,在第一组IP地址中随机选择N个IP地址,其中,N为大于1的自然数,N个IP地址分别为第一网关集合中的N个网关的IP地址;
S3,在第一设备上分别按照N个IP地址向N个网关发送探测请求;
S4,在N个网关中选择最先向第一设备发送探测响应的第一网关,将选择的第一网关的IP地址确定为第一IP地址,其中,探测响应与探测请求对应;
S5,将第一设备上接收到的请求均按照第一IP地址发送给第一网关,直到第一重选时刻。
可选地,本领域普通技术人员可以理解,图14所示的结构仅为示意,电子装置电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图14其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图14中所示更多或者更少的组件(如网络接口等),或者具有与图14所示不同的配置。
其中,存储器1402可用于存储软件程序以及模块,如本发明实施例中的网关负载均衡方法和装置对应的程序指令/模块,处理器1404通过运行存储在存储器1402内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的网关负载均衡方法。存储器1402可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1402可进一步包括相对于处理器1404远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1402具体可以但不限于用于存储网关的IP地址与数据请求等信息。作为一种示例,如图14所示,上述存储器1402中可以但不限于包括上述网关负载均衡装置中的获取模块1302、选择模块1304、第一发送模块1306、确定模块1308以及第二发送模块1310。此外,还可以包括但不限于上述网关负载均衡装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1406用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1406包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1406为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器1408,用于显示上述网关集合;和连接总线1410,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述网关负载均衡的过程中获取、选择、发送方面的各种可选实现方式中提供的方法,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在第一设备上获取第一网关集合中的每个网关的IP地址,得到第一组IP地址;
S2,在第一组IP地址中随机选择N个IP地址,其中,N为大于1的自然数,N个IP地址分别为第一网关集合中的N个网关的IP地址;
S3,在第一设备上分别按照N个IP地址向N个网关发送探测请求;
S4,在N个网关中选择最先向第一设备发送探测响应的第一网关,将选择的第一网关的IP地址确定为第一IP地址,其中,探测响应与探测请求对应;
S5,将第一设备上接收到的请求均按照第一IP地址发送给第一网关,直到第一重选时刻。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种网关负载均衡方法,其特征在于,包括:
在第一设备上获取第一网关集合中的每个网关的IP地址,得到第一组IP地址;
在所述第一组IP地址中随机选择N个IP地址,其中,N为大于1的自然数,所述N个IP地址分别为所述第一网关集合中的N个网关的IP地址;
在所述第一设备上分别按照所述N个IP地址向所述N个网关发送探测请求;
在所述N个网关中选择最先向所述第一设备发送探测响应的第一网关,将选择的所述第一网关的IP地址确定为第一IP地址,其中,所述探测响应与所述探测请求对应;
将所述第一设备上接收到的请求均按照所述第一IP地址发送给所述第一网关,直到第一重选时刻;
在到达所述第一重选时刻时,在第二组IP地址中随机选择第二IP地址,其中,所述第二组IP地址为所述第一组IP地址中删除掉所述第一IP地址所得到的一组IP地址,所述第二IP地址为所述第一网关集合中的第二网关的IP地址;
在所述第一重选时刻之后,将所述第一设备上接收到的请求均按照所述第二IP地址发送给所述第二网关,直到第二重选时刻,其中,所述第一重选时刻为预先确定的时刻或已发送的请求的数量到达预定数量的时刻,所述第二重选时刻为将所述第一设备上接收到的请求按照所述第二IP地址发送给所述第二网关的时长大于时间阈值的时刻,或,将所述第一设备上接收到的请求按照所述第二IP地址发送给所述第二网关的请求发送数量大于请求发送数量阈值的时刻;
所述方法还包括:在所述第一重选时刻之后、到达所述第二重选时刻之前,在检测到所述第二网关出现故障的情况下,在第五组IP地址中随机选择第四IP地址,其中,所述第五组IP地址为所述第一组IP地址中删除掉所述第二IP地址所得到的一组IP地址,所述第四IP地址为所述第一网关集合中的第四网关的IP地址;
在第五重选时刻之前,将所述第一设备上接收到的请求均按照所述第四IP地址发送给所述第四网关,直到所述第五重选时刻,其中,所述第五重选时刻为所述第二重选时刻的下一个重选时刻,或者,所述第五重选时刻为重选设置的重选时刻、且晚于所述第二重选时刻;
在所述第五重选时刻为所述第二重选时刻的下一个重选时刻的情况下,所述第一重选时刻与所述第二重选时刻之间的时间间隔等于所述第二重选时刻与所述第五重选时刻之间的时间间隔;或者
在所述第五重选时刻为重选设置的重选时刻、且晚于所述第二重选时刻的情况下,所述第五重选时刻为已发送的请求的数量到达预定数量的时刻,其中,所述已发送的请求为在检测到所述第二网关出现故障之后所述第一设备向所述第四网关发送的请求。
2.根据权利要求1所述的方法,其特征在于,所述在所述第一组IP地址中随机选择N个IP地址,包括:
对所述第一组IP地址中的IP地址进行随机排序,得到第三组IP地址;
在所述第三组IP地址中选择排列前N位的IP地址,确定为所述N个IP地址。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在到达所述第二重选时刻时,在第四组IP地址中随机选择第三IP地址,其中,所述第四组IP地址为所述第一组IP地址中删除掉所述第二IP地址所得到的一组IP地址,所述第三IP地址为所述第一网关集合中的第三网关的IP地址;
在所述第二重选时刻之后,将所述第一设备上接收到的请求均按照所述第三IP地址发送给所述第三网关,直到下一个重选时刻。
4.根据权利要求1所述的方法,其特征在于,所述在到达所述第一重选时刻时,在第二组IP地址中随机选择第二IP地址,包括:
在所述第一重选时刻为预先确定的时刻的情况下,在当前时刻到达所述第一重选时刻时,在所述第二组IP地址中随机选择所述第二IP地址,其中,所述第一重选时刻与所述第二重选时刻之间的时间间隔为预设时间间隔;或者
在所述第一重选时刻为已发送的请求的数量到达预定数量的时刻的情况下,在第四重选时刻之后所述第一设备向所述第一网关发送的请求的数量到达所述预定数量时,确定到达所述第一重选时刻,并在所述第二组IP地址中随机选择所述第二IP地址,其中,所述已发送的请求为在所述第四重选时刻之后所述第一设备向所述第一网关发送的请求,所述第四重选时刻为所述第一重选时刻的上一个重选时刻,或者,为所述第一重选时刻之前的初始时刻。
5.根据权利要求1和3中任一项所述的方法,其特征在于,所述方法还包括:
在第二设备上获取所述第一网关集合中的每个网关的IP地址,得到所述第一组IP地址,其中,所述第一设备和所述第二设备均与所述第一网关集合中的每个网关建立通信连接;
在所述第一组IP地址中随机选择第五IP地址,其中,所述第五IP地址为所述第一网关集合中的第五网关的IP地址;
将所述第二设备上接收到的请求均按照所述第五IP地址发送给所述第五网关,直到第六重选时刻,其中,所述第六重选时刻为预先确定的时刻或已发送的请求的数量到达预定数量的时刻;
在到达所述第六重选时刻时,在第六组IP地址中随机选择第六IP地址,其中,所述第六组IP地址为所述第一组IP地址中删除掉所述第五IP地址所得到的一组IP地址,所述第六IP地址为所述第一网关集合中的第六网关的IP地址;
在所述第六重选时刻之后,将所述第二设备上接收到的请求均按照所述第六IP地址发送给所述第六网关,直到第七重选时刻,其中,所述第七重选时刻为将所述第二设备上接收到的请求按照所述第六IP地址发送给所述第六网关的时长大于时间阈值的时刻,或,将所述第二设备上接收到的请求按照所述第六IP地址发送给所述第六网关的请求发送数量大于请求发送数量阈值的时刻。
6.一种网关负载均衡装置,其特征在于,包括:
获取模块,用于在第一设备上获取第一网关集合中的每个网关的IP地址,得到第一组IP地址;
选择模块,用于在所述第一组IP地址中随机选择N个IP地址,其中,N为大于1的自然数,所述N个IP地址分别为所述第一网关集合中的N个网关的IP地址;
第一发送模块,用于在所述第一设备上分别按照所述N个IP地址向所述N个网关发送探测请求;
确定模块,用于在所述N个网关中选择最先向所述第一设备发送探测响应的第一网关,将选择的所述第一网关的IP地址确定为第一IP地址,其中,所述探测响应与所述探测请求对应;
第二发送模块,用于将所述第一设备上接收到的请求均按照所述第一IP地址发送给所述第一网关,直到第一重选时刻;
所述装置还用于在到达所述第一重选时刻时,在第二组IP地址中随机选择第二IP地址,其中,所述第二组IP地址为所述第一组IP地址中删除掉所述第一IP地址所得到的一组IP地址,所述第二IP地址为所述第一网关集合中的第二网关的IP地址;
在所述第一重选时刻之后,将所述第一设备上接收到的请求均按照所述第二IP地址发送给所述第二网关,直到第二重选时刻,其中,所述第一重选时刻为预先确定的时刻或已发送的请求的数量到达预定数量的时刻,所述第二重选时刻为将所述第一设备上接收到的请求按照所述第二IP地址发送给所述第二网关的时长大于时间阈值的时刻,或,将所述第一设备上接收到的请求按照所述第二IP地址发送给所述第二网关的请求发送数量大于请求发送数量阈值的时刻;
所述装置还用于:在所述第一重选时刻之后、到达所述第二重选时刻之前,在检测到所述第二网关出现故障的情况下,在第五组IP地址中随机选择第四IP地址,其中,所述第五组IP地址为所述第一组IP地址中删除掉所述第二IP地址所得到的一组IP地址,所述第四IP地址为所述第一网关集合中的第四网关的IP地址;
在第五重选时刻之前,将所述第一设备上接收到的请求均按照所述第四IP地址发送给所述第四网关,直到所述第五重选时刻,其中,所述第五重选时刻为所述第二重选时刻的下一个重选时刻,或者,所述第五重选时刻为重选设置的重选时刻、且晚于所述第二重选时刻;
在所述第五重选时刻为所述第二重选时刻的下一个重选时刻的情况下,所述第一重选时刻与所述第二重选时刻之间的时间间隔等于所述第二重选时刻与所述第五重选时刻之间的时间间隔;或者
在所述第五重选时刻为重选设置的重选时刻、且晚于所述第二重选时刻的情况下,所述第五重选时刻为已发送的请求的数量到达预定数量的时刻,其中,所述已发送的请求为在检测到所述第二网关出现故障之后所述第一设备向所述第四网关发送的请求。
7.根据权利要求6所述的装置,其特征在于,所述选择模块,包括:
排序单元,用于对所述第一组IP地址中的IP地址进行随机排序,得到第三组IP地址;
选择单元,用于在所述第三组IP地址中选择排列前N位的IP地址,确定为所述N个IP地址。
8.根据权利要求6所述的装置,其特征在于,所述装置还用于:
在到达所述第二重选时刻时,在第四组IP地址中随机选择第三IP地址,其中,所述第四组IP地址为所述第一组IP地址中删除掉所述第二IP地址所得到的一组IP地址,所述第三IP地址为所述第一网关集合中的第三网关的IP地址;
在所述第二重选时刻之后,将所述第一设备上接收到的请求均按照所述第三IP地址发送给所述第三网关,直到下一个重选时刻。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序被终端设备或计算机运行时执行所述权利要求1至5任一项中所述的方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过执行所述计算机程序实现所述权利要求1至5任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010983440.9A CN111935029B (zh) | 2020-09-18 | 2020-09-18 | 网关负载均衡方法和装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010983440.9A CN111935029B (zh) | 2020-09-18 | 2020-09-18 | 网关负载均衡方法和装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111935029A CN111935029A (zh) | 2020-11-13 |
CN111935029B true CN111935029B (zh) | 2021-06-08 |
Family
ID=73335127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010983440.9A Active CN111935029B (zh) | 2020-09-18 | 2020-09-18 | 网关负载均衡方法和装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111935029B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112995312A (zh) * | 2021-02-20 | 2021-06-18 | 广东省安心加科技有限公司 | 基于物联网云服务器的通信管理方法及通信管理装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101902400A (zh) * | 2010-07-21 | 2010-12-01 | 成都市华为赛门铁克科技有限公司 | 网关负载均衡方法、系统和客户端设备 |
CN103546590A (zh) * | 2013-10-18 | 2014-01-29 | 北京奇虎科技有限公司 | 一种dns服务器的选择方法与装置 |
CN105100152A (zh) * | 2014-05-14 | 2015-11-25 | 腾讯科技(深圳)有限公司 | 应用服务器的选取方法和系统、应用客户端 |
CN105227276A (zh) * | 2015-09-30 | 2016-01-06 | 河南大学 | 一种基于udt的对等网络数据传输方法 |
CN108063840A (zh) * | 2018-01-23 | 2018-05-22 | 广东欧珀移动通信有限公司 | 接入网络的方法及相关产品 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016219859A (ja) * | 2015-05-14 | 2016-12-22 | 富士通株式会社 | コントローラ、コントローラの制御装置、及び、制御方法 |
CN108243113B (zh) * | 2016-12-26 | 2020-06-16 | 深圳市中兴微电子技术有限公司 | 随机负载均衡的方法及装置 |
CN108449772A (zh) * | 2017-02-16 | 2018-08-24 | 网宿科技股份有限公司 | 基于多路径传输协议的路径选择方法及系统、节点服务器 |
CN110417564B (zh) * | 2018-04-26 | 2022-09-02 | 北京东土军悦科技有限公司 | 全网状的链路保护方法、装置、设备及存储介质 |
CN110611701B (zh) * | 2018-08-21 | 2022-10-11 | 汇链丰(北京)科技有限公司 | 一种基于区块链的参数配置和交易处理方法 |
CN110233875A (zh) * | 2019-05-10 | 2019-09-13 | 厦门网宿有限公司 | 一种数据处理方法、对象存储网关池及业务系统 |
CN116366656B (zh) * | 2019-08-18 | 2024-08-16 | 朗德万斯公司 | 用于形成设备网络的方法及系统 |
CN111064781A (zh) * | 2019-12-10 | 2020-04-24 | 北京金山云网络技术有限公司 | 多容器集群监控数据的采集方法、装置及电子设备 |
CN111258765B (zh) * | 2020-01-17 | 2023-08-22 | 深圳乐信软件技术有限公司 | 一种负载均衡方法、装置、计算设备和存储介质 |
-
2020
- 2020-09-18 CN CN202010983440.9A patent/CN111935029B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101902400A (zh) * | 2010-07-21 | 2010-12-01 | 成都市华为赛门铁克科技有限公司 | 网关负载均衡方法、系统和客户端设备 |
CN103546590A (zh) * | 2013-10-18 | 2014-01-29 | 北京奇虎科技有限公司 | 一种dns服务器的选择方法与装置 |
CN105100152A (zh) * | 2014-05-14 | 2015-11-25 | 腾讯科技(深圳)有限公司 | 应用服务器的选取方法和系统、应用客户端 |
CN105227276A (zh) * | 2015-09-30 | 2016-01-06 | 河南大学 | 一种基于udt的对等网络数据传输方法 |
CN108063840A (zh) * | 2018-01-23 | 2018-05-22 | 广东欧珀移动通信有限公司 | 接入网络的方法及相关产品 |
Also Published As
Publication number | Publication date |
---|---|
CN111935029A (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11940965B2 (en) | Data migration method and apparatus | |
CN108256002B (zh) | 跨机房数据同步方法、装置、系统以及服务器 | |
CN106302565B (zh) | 业务服务器的调度方法及系统 | |
CN110311831B (zh) | 基于容器云的系统资源监控方法及相关设备 | |
CN108696581A (zh) | 分布式信息的缓存方法、装置、计算机设备以及存储介质 | |
CN109547524B (zh) | 基于物联网的用户行为存储方法、装置、设备及存储介质 | |
CN110602250A (zh) | 数据同步方法、装置、服务器和终端设备 | |
CN111723024B (zh) | 数据处理方法、装置、系统、客户端服务器及存储服务器 | |
CN110753091A (zh) | 一种云平台管理方法和装置 | |
WO2016082078A1 (zh) | 路径管理的系统、装置和方法 | |
CN110740155B (zh) | 分布式系统中的请求处理方法及装置 | |
CN113411363A (zh) | 一种镜像文件的上传方法、相关设备及计算机存储介质 | |
CN109561054A (zh) | 一种数据传输方法、控制器及接入设备 | |
CN111935029B (zh) | 网关负载均衡方法和装置、存储介质及电子设备 | |
CN113810216A (zh) | 一种集群的故障切换方法、装置及电子设备 | |
US9544371B1 (en) | Method to discover multiple paths to disk devices cluster wide | |
CN109479214B (zh) | 一种负载均衡的方法及相关装置 | |
CN106550002B (zh) | 一种paas云托管系统及方法 | |
CN112363980A (zh) | 一种分布式系统的数据处理方法及装置 | |
CN115695497A (zh) | 诊断数据远程传输方法、装置、电子设备及介质 | |
CN115086194A (zh) | 云应用的数据传输方法、计算设备及计算机存储介质 | |
CN103457771A (zh) | 一种ha的虚拟机集群的管理方法和设备 | |
JP6394212B2 (ja) | 情報処理システム、ストレージ装置及びプログラム | |
CN111200512B (zh) | 网络连接容灾方法、终端设备、存储介质及电子设备 | |
CN112910675A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |