CN111010425A - 一种服务器连接方法、负载均衡设备及电子设备 - Google Patents
一种服务器连接方法、负载均衡设备及电子设备 Download PDFInfo
- Publication number
- CN111010425A CN111010425A CN201911153507.XA CN201911153507A CN111010425A CN 111010425 A CN111010425 A CN 111010425A CN 201911153507 A CN201911153507 A CN 201911153507A CN 111010425 A CN111010425 A CN 111010425A
- Authority
- CN
- China
- Prior art keywords
- connection
- connection template
- server
- identity information
- request
- 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
Images
Classifications
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
-
- 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
Abstract
本发明实施例提供了一种服务器连接方法、负载均衡设备及电子设备,所述方法包括接收请求端发送的连接请求;获取请求端的身份信息;在预设的连接模板库中查询是否存储有与请求端的身份信息对应的第一连接模板,其中,第一连接模板包括第一服务器的身份信息;在连接模板库储存有第一连接模板的情况下,根据第一连接模板建立请求端与第一服务器之间的连接。本发明可以实现针对同一个请求端的多次连接请求,确定同一服务器与该请求端建立连接,从而解决由于负载均衡设备针对同一请求端的多次连接请求,确定不同服务器与该请求端建立连接、引起的连接失败的问题。
Description
技术领域
本发明涉及网络通讯技术领域,具体涉及一种服务器连接方法、负载均衡设备及电子设备。
背景技术
随着互联网的飞速发展,各大网站的流量也有着迅猛的飞速增长,负载均衡系统用于将负载(即工作任务)进行均衡分配,使其可以分摊到多个服务器执行,实现多个服务器共同完成工作任务的目的。
负载均衡设备在建立某一用户(以下称为第一用户)与某一服务器(以下称为第一服务器)的连接的同时,通常会设置定时器,在第一用户与第一服务器建立连接后的预设时长内,若第一用户与第一服务器之间没有数据传输,将释放第一服务器与第一用户之间的连接。而当第一用户下一次发起访问请求时,需要重新建立连接,而新建立的连接可能会被分配至除第一服务器以外的其他服务器响应第一用户的访问请求,如此,可能导致第一用户与第二服务器之间建立连接失败的问题。
发明内容
本发明的目的在于提供一种服务器连接方法、负载均衡设备及电子设备,以实现针对同一个请求端的多次连接请求,确定同一服务器与该请求端建立连接,从而解决由于负载均衡设备针对同一请求端的多次连接请求,确定不同服务器与该请求端建立连接、引起的连接失败的问题。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种服务器连接方法,应用于负载均衡设备,所述方法包括:
接收请求端发送的连接请求;
获取所述请求端的身份信息;
在预设的连接模板库中查询是否存储有与所述请求端的身份信息对应的第一连接模板,其中,所述第一连接模板包括第一服务器的身份信息;
在所述连接模板库储存有所述第一连接模板的情况下,根据所述第一连接模板建立所述请求端与所述第一服务器之间的连接。
在本发明实施的第二方面,还提供了一种负载均衡设备,包括:
接收模块,用于接收请求端发送的连接请求;
第一获取模块,用于获取所述请求端的身份信息;
查询模块,用于在预设的连接模板库中查询是否存储有与所述请求端的身份信息对应的第一连接模板,其中,所述第一连接模板包括第一服务器的身份信息;
第一连接模块,用于在所述连接模板库储存有所述第一连接模板的情况下,根据所述第一连接模板建立所述请求端与所述第一服务器之间的连接。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的服务器连接方法。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的服务器连接方法。
本发明实施例中,通过预先将请求端的身份信息与已建立连接的服务器的身份信息进行关联存储、形成连接模板,这样,当负载均衡设备再次接收到请求端的连接请求时,获取该请求端的身份信息,然后查询与该请求端的身份信息对应的连接模板,并通过所查询到的连接模板确定用于与该请求端连接的服务器,以建立该请求端与所确定的服务器之间的连接,因为,请求端的身份信息相对固定,因此,当同一请求端发出多次连接请求时,均会查询到同一连接模板,并依据该连接模板确定同一服务器与该请求端建立连接,从而解决由于负载均衡设备针对同一请求端的多次连接请求,确定不同服务器与该请求端建立连接、引起的连接失败的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例中服务器连接方法流程图;
图2为采用本发明所提供的方法建立连接时,请求端、负载均衡设备与服务器之间的连接示意图;
图3为本发明实施例中负载均衡设备的结构示意图;
图4为本发明实施例中电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
请参见图1,图1为本发明实施例提供的一种服务器连接方法,应用于负载均衡设备,所述方法包括以下步骤:
步骤101:接收请求端发送的连接请求;
步骤102:获取所述请求端的身份信息;
步骤103:在预设的连接模板库中查询是否存储有与所述请求端的身份信息对应的第一连接模板,其中,所述第一连接模板包括第一服务器的身份信息;
步骤104:在所述连接模板库储存有所述第一连接模板的情况下,则根据所述第一连接模板建立所述请求端与所述第一服务器之间的连接。
其中,所述请求端可以为任意一台具有网络通讯功能的电子设备,也可以是某一特定应用平台的用户,请求端的身份信息可以是电子设备的IP地址、端口信息和/或MAC地址等能够代表该电子设备身份的信息,请求端的身份信息还可以是特定用户的账号信息,等等。所述连接模板库中预先存储有多个连接模板,每个连接模板内都存储有一组请求端与服务器的之间对应关系,如此,当同一请求端每次发出连接请求时,均可以通过与之对应的连接模板唯一确定响应该请求端的连接请求的服务器,进而保证同一请求端所发出的所有连接请求均被同一服务器响应。其中,连接模板库中的连接模板的建立过程可以是:当一个某请求端与服务器集群中的任意一台服务器首次建立连接时生成的;也可以是一个某请求端与服务器集群中的任意一台服务器之间的连接模板失效后,当该请求端与该服务器集群中的任意一台服务器再次建立连接时,所生成的。
在通过负载均衡设备建立某一服务器与某一请求端的连接后,会在该服务器与该请求端之间生成一条转发数据流,通过所生成的转发数据流实现该服务器与该请求端之间的报文传输,具体地,转发数据流的格式可以为:<cip/cport,vip/vport,lip/lport,dip/dport>,其中cip是电子设备的IP地址、cport是电子设备的端口、vip是负载均衡设备的用户侧的IP地址、vport是负载均衡设备的用户侧的端口、lip是负载均衡设备的服务器侧的IP地址、lport是负载均衡设备的服务器侧的端口、dip是服务器的IP地址、dport是服务器的端口,其中,在一些转发模式下,vip/vport和lip/lport是相同的,请参见图2,即为通过转发数据流中各个端口之间的连接示意图,其中用户A、用户B1、用户B2和用户B3即为所述电子设备,RS1、RS2和RS3分别为服务器集群中的不同服务器。应当理解地,当某一请求端与某一服务器之间的转发数据流建立后,即意味着二者建立连接完成。
为进一步解释说明本实施例所提供的服务器连接方法,以下以请求端为第一电子设备,负载均衡设备为四层负载均衡设备为例,进一步对本发明实施例所提供的方法进行解释说明:
本实施例中,所述请求端的身份信息可以为发送连接请求的第一电子设备的IP地址(cip),与第一电子设备对应的第一服务器的身份信息可以是第一服务器的IP地址和端口(dip/dport),第一连接模板可以为<cip/-,-/-,-/-,dip/dport>,其中“-”为标识通配项,即连接模板查找匹配的时候无需进行匹配的对象,当四层负载均衡设备接收到第一电子设备发送的连接请求时,获取发送该连接请求的第一电子设备的cip,然后以所获取的cip作为查询条件在连接模板库中进行查询,其中,查询的具体方式可以是将所获取的cip与连接模板中的第一电子设备的IP地址进行匹配,若二者的IP地址相同,即可确定连接模板库中存储有与该第一电子设备对应的连接模板,本实施例中,也即存在第一连接模板<cip/-,-/-,-/-,dip/dport>,根据所查询到的第一连接模板<cip/-,-/-,-/-,-dip/dport>,即可确定第一服务器的IP地址和端口,然后在第一连接模板<cip/-,-/-,-/-,-dip/dport>的基础上,可以进一步根据第一电子设备与四层负载均衡设备之间的通讯协议、以及四层负载均衡设备与第一服务器之间的通讯协议确定cport,vip/vport,lip/lport,以建立第一电子设备与第一服务器之间的转发数据流<cip/cport,vip/vport,lip/lport,dip/dport>。如此,在建立连接之前,通过先查询第一连接模板,然后根据所查询到的第一连接模板,建立第一电子设备与第一服务器之间转发数据流,由于第一连接模板提供了第一电子设备的IP地址与第一服务器的IP地址和端口,如此,只要四层负载均衡设备识别到是该第一电子设备发出的连接请求时,即可通过第一连接模板,建立第一电子设备与第一服务器之间的连接,从而保证第一电子设备多次发出的连接请求均被同一服务器响应,提高了连接的成功率。
本发明实施例中,可以在某一请求端与第一服务器首次建立连接时,创建包括该请求端与第一服务器之间的对应关系的第一连接模板,在该请求端与第一服务器之间的连接断开后,该请求端再次请求访问相同的服务时,可以通过第一连接模板恢复该请求端与第一服务器之间的连接,从而实现连接保持的技术效果。
可选地,若所述请求端为第一网络集合中的网络设备,则获取所述请求端的身份信息,包括:
获取所述请求端对应的第一网络集合的身份信息;
在预设的连接模板库中查询是否存储有与所述请求端的身份信息对应的第一连接模板,包括:
在预设的连接模板库中查询是否存储有与所述第一网络集合的身份信息对应的第二连接模板;
若是,则将所述第二连接模板确定为与所述请求端的身份信息对应的第一连接模板。
其中,所述第一网络集合可以是共用同一网络的多台电子设备所形成的集合,如同一公司内的多台电脑,有些情形下需要保证第一网络集合内的所有电子设备所发出的连接请求均被服务器集群中的同一台服务器响应,例如,该第一网络集合内的某一台电子设备与服务器集群中的某一服务器建立了cookie认证,为了使该第一网络集合内的其他电子设备,在无需再次建立cookie认证的基础上,也可以基于cookie与该服务器进行安全通信,此时,需要保证该第一网络集合内的所有电子设备所发出的连接请求均被服务器集群中的同一台服务器响应。此外,所述第一网络集合的身份信息可以是第一网络集合内所有电子设备的IP地址的公用字段,也可以是包括第一网络集合内的所有电子设备的IP地址的一个IP段,以下以第一网络集合的身份信息为IP段为例,对本实施例所提供的方法,进一步进行解释说明,所述第二连接模板可以为<cip/mask/-,-/-,-/-,-dip/dport>,其中,mask为cip对应的子网掩码,cip/mask表示将cip与对应的mask取与运算,由于同一子网络内,所有电子设备内的IP地址与其对应的子网掩码取与运算后得到的网络地址为同一地址,因此,本实施例通过将cip/mask定义为第一网络集合的身份信息,如此,当接收到第一网络集合内的某一电子设备的连接请求时,通过将该电子设备的IP地址与子网掩码取与运算,即可得到第一网络集合的身份信息cip/mask,并根据cip/mask查询到第二连接模板,例如,如图2所示,用户B1(IP地址为:192.168.88.61)、用户B2(IP地址为:192.168.88.182)和用户B3(IP地址为:192.168.88.12)为同一用户群网络内的三个用户,此时,该用户群网络的身份信息为(192.168.88.0/24),如此,只要四层负载均衡设备识别到是该第一网络集合内的任意一台电子设备发出的连接请求时,即可通过第二连接模板,建立该电子设备与第一服务器之间的连接,从而实现该第一网络集合内的所有电子设备所发出的连接请求均被服务器集群中的同一台服务器响应。
由于负载均衡设备上配置的多个不同服务可能由多个不同的服务器集群进行处理,也可能由同一服务器集群中的多个不同服务器进行处理,还可能由同一台服务器进行处理,而同一请求端可能同时访问负载均衡设备上配置的多个不同服务,即同一请求端可能与服务器集群中的多台服务器同时建立连接关系,因此,同一请求端可能会与服务器集群中的多台服务器之间均存在连接模板,且该多个连接模板均存储于同一连接模板库中,故而,当请求端在断开与服务器集群中的所有服务器之间的连接之后,再次请求访问后端某一服务时,仅通过请求端的身份信息在连接模板库中进行查询时,可能查询到多个连接模板,从而导致连接模板无法确定的问题。
因此,可以进一步在第一连接模板中存储请求端的身份信息、所需访问的服务的标识信息与第一服务器之间的对应关系,如此,当负载均衡设备接收到请求端发送的连接请求时,可以根据该连接请求确定请求端的身份信息及该请求端请求访问的目标服务的服务标识,以所确定的请求端的身份信息及服务标识作为查询条件,在连接模板库中进行查询,如此,当通过请求端的身份信息在连接模板库中进行查询到多个连接模板时,可以通过所述服务标识在所查询到的多个连接模板中进一步进行查询,从而确定唯一一个第一连接模板。
在本发明一可选地实施例中,所述连接请求包括用于标识所述请求端所需访问的目标服务的服务标识,所述在预设的连接模板库中查询是否存储有与所述请求端的身份信息对应的第一连接模板,包括:将所述请求端的身份信息和所述服务标识作为第一查询条件,在所述连接模板库中查询是否存储有与所述第一查询条件对应的第一连接模板,其中,所述第一连接模板还包括所述请求端的身份信息和所述服务标识。
其中,负载均衡设备可以包括多个IP地址vip,每一个不同的IP地址vip可以对应一项不同的服务,也即通过不同的vip标识不同的服务。而请求端所发送的连接请求中的目标地址会包括负载均衡设备的vip/vport,如此,当负载均衡设备接收到请求端发送的连接请求时,通过获取连接请求中的vip,根据负载均衡设备上预先配置的不同vip与不同服务之间的对应关系,即可确定该请求端所需访问的目标服务。因此,上述服务标识可以为负载均衡设备的IP地址vip。
上述第一连接模板的建立过程可以是:在某一请求端(如第一请求端)首次访问后台的某一服务(如A服务),与第一服务器建立连接后,第一请求端与第一服务器之间将会形成一条转发数据流<cip/cport,vip/vport,lip/lport,dip/dport>,其中,此转发数据流中的cip为第一请求端的身份信息,vip为与A服务的服务标识,dip/dport为第一服务器的身份信息,通过获取该转发数据流中的cip、vip与dip/dport,即可建立第一请求端的身份信息、A服务的服务标识与第一服务器的身份信息三者之间的对应关系,从而形成一个第一连接模板<cip/-,vip/-,-/-,-dip/dport>。在完成第一连接模板的建立后,当第一请求端再次请求访问A服务时,可以基于第一连接模板<cip/-,vip/-,-/-,-dip/dport>建立第一请求端与第一服务器之间的连接,从而实现第一请求端多次访问A服务均会被同一服务器响应。
上述第一连接模板可以为<cip/-,vip/-,-/-,-dip/dport>,具体地,当负载均衡设备接收到电子设备发送的连接请求时,获取发送该连接请求的电子设备的IP地址,以及该连接请求中所包括的服务标识vip,通过将所获取的电子设备的IP地址cip和所要访问的服务标识vip作为第一查询条件,在连接模板库中查询是否存在与该第一查询条件相对应的第一连接模板<cip/-,vip/-,-/-,dip/dport>,其中,第一连接模板中不但包括请求端的身份信息还包括目标服务的服务标识,如此,即便连接模板库中多个连接模板都包括请求端的身份信息,也可以根据第一查询条件唯一确定对应的连接模板,从而进一步方便电子设备与服务器之间的转发数据流的建立。
可选地,在所述负载均衡设备包括多个接收端,且所述请求端对应于所述多个接收端中的第一接收端的情况下,所述将所述请求端的身份信息和所述负载均衡设备的身份信息作为第一查询条件,在所述连接模板库中查询是否存储有与所述第一查询条件对应的第一连接模板,包括:将所述请求端的身份信息和所述第一接收端的身份信息作为第一查询条件,在所述连接模板库中查询是否存储有与所述第一查询条件对应的第一连接模板,其中,所述第一连接模板还包括所述请求端的身份信息和所述第一接收端的身份信息。
其中,所述接收端是指用于接收数据请求的端口,请求端对应于所述多个接收端中的第一接收端的情况下是指:请求端仅与负载均衡设备的第一接收端之间存在通讯协议,即请求端与负载均衡设备的第一接收端为单连接通讯协议,在此种情况下,若采用上述连接模板<cip/-,vip/-,-/-,dip/dport>建立请求端与服务器之间的连接,由于连接建立过程中负载均衡设备的接收端vport是随机分配的,因此,负载均衡设备可能选择除第一接收端之外的其他接收端用于建立请求端与服务器之间的连接,此时,所选定的接收端与请求端之间不存在通讯协议,将可能导致连接建立失败的问题。因此,所述第一连接模板可以为<cip/-,vip/vport,-/-,dip/dport>,这样,当接收到请求端的连接请求时,获取发送该连接请求的请求端的身份信息vip及连接请求中的vip/vport,以所述vip及vip/vport作为第一查询条件,在连接模板库中进行查询,当查询到第一连接模板<cip/-,vip/vport,-/-,dip/dport>时,可以确定所要建立的转发数据流中的cip、vip/vport和dip/dport,如此,由于第一连接模板为所要建立的转发数据流提供了确定的第一接收端vport,且该第一接收端为可以与上述请求端进行通讯的端口,从而解决了负载均衡设备在建立请求端与服务器之间的连接的过程中,由于随机确定负载均衡设备的接收端用于建立数据转发流,导致的连接失败的问题。
此外,当负载均衡设备的多个接收端均为通用端口时,即任意一个请求端可与负载均衡设备的任意一个端口进行通讯时,则第一连接模板中可以不包括vport,此时,在根据第一连接模板确定了所要建立的转发数据流的cip、vip及dip/dport后,可以从负载均衡设备的多个接收端中任取一个接收端作为所要建立的转发数据流的vport,以实现转发数流的建立,即实现请求端与服务器之间的连接。
可选地,在所述连接模板库未存储所述第一连接模板的情况下,所述方法还包括:通过预设调度算法模型从服务器集群中选定一个用于响应所述连接请求的第二服务器;获取所述第二服务器的身份信息;根据所述请求端的身份信息和第二服务器的身份信息,生成第二连接模板;将所述第二连接模板储存于所述连接模板库;根据所述第二连接模板建立所述请求端与第二服务器之间的连接。
具体地,当负载均衡设备接收到请求端的连接请求时,若连接模板库中未存储与该请求端对应的第一连接模板,此时,可以通过预设调度算法确定用于响应该连接请求的服务器为第二服务器,并通过第二服务器对该连接请求进行响应,同时,通过获取该第二服务器的身份信息,通过将请求端的身份信息和第二服务器的身份信息进行关联存储,从而生成第二连接模板,如此,当该请求端下次在发起连接请求时,负载均衡设备将在连接模板库中查询到该新建立的第二连接模板,并选择第二服务器对再次发起的连接请求进行相应,从而保证了,同一请求端的多次连接请求均会被同一服务器响应。
可选地,在所述第一服务器故障的情况下,所述方法还包括:
将所述第一连接模板从所述连接模板库中删除;
通过预设调度算法模型从服务器集群中选定一个用于响应所述连接请求的第三服务器,其中,所述第三服务器为所述服务器集群中除第一服务器以外的其他服务器;
根据所述请求端的身份信息和所述第三服务器的身份信息生成第三连接模板;
将所述第三连接模板存储于所述连接模板库;
根据所述第三连接模板建立所述请求端与第三服务器之间的连接。
具体地,当服务器集群中的第一服务器处于故障状态,即处于永久下线状态时,即便负载均衡设备响应请求端的连接请求,在连接模板库中查询到与该请求端对应的服务器是第一服务器,此时,也无法建立请求端与第一服务器之间的连接,为了确保在此种情况下请求端的连接请求也能够得到服务器的响应,本实施例中,可以通过预设调度算法确定一个除第一服务器以外的第三服务器对该连接请求进行响应,并生成该请求端与第三服务器之间的第三连接模板,如此设置,既可保证请求端的连接请求得到响应,同时,当该请求端下次在此发出连接请求时,可以通过第三连接模板在此与第三服务器之间建立连接,从而保证请求端的连接请求在能够被成功响应的基础上,被同一服务器所响应。
可选地,若第一服务器处于繁忙状态,即第一服务器处于暂时无法响应连接请求的状态,当确定第一服务器为用于响应请求端的连接请求的服务器时,此时,可以等待第一服务器恢复正常工作状态时,再建立请求端与第一服务器之间的连接。
可选地,储存于连接模板库中的连接模板在生成的同时,可以自动关联一个与该连接模板对应的定时器,其中定时器的预设时长可以为数小时,具体时长可以根据需要进行设置,当定时器达到预设时长后,若该连接模板仍然没有被调用,此时,可以将该连接模板从连接模板库中予以删除,如此,可以实现定期删除连接模板库中的无用模板,进而保证连接模板库中所存储的模板的有效性,以提高查询连接模板的效率。其中,连接模板库中的某一连接模板被调用后,与该被调用的连接模板关联的定时器将会被重置、并重新开始计时。
本发明实施例中,通过预先将请求端的身份信息与服务器集群中的其中一台服务器(如第一服务器)的身份信息关联存储,以形成连接模板(如第一连接模板),并将所形成的第一连接模板存储于连接模板库中;当负载均衡设备接收到请求端的连接请求时,获取该请求端的身份信息,然后在连接模板库中查询与请求端的身份信息对应的第一连接模板,从而可以确定用于响应所述连接请求的第一服务器的身份信息,进而确定通过第一服务器响应所述连接请求,并建立请求端与第一服务器间的连接,因为,请求端的身份信息相对固定,因此,当同一请求端发出多次连接请求时,均会查询到同一连接模板,并依据该连接模板确定同一服务器与该请求端建立连接,从而解决由于负载均衡设备针对同一请求端的多次连接请求,确定不同服务器与该请求端建立连接、引起的连接失败的问题。
此外,本发明实施例还提供了一种报文转发方法,所述报文转发方法包括以下步骤:
负载均衡设备在接收到请求端的报文转发请求时,首先判断所述请求端是否已经与服务器集群中的任意一个服务器建立了连接,其中,判断是否建立连接的方法可以是在负载均衡设备的当前连接状态表中进行查询,查询当前连接状态表中是否存储有与该请求端对应的转发数据流,其中,当前连接状态表存储着当前所有连接的转发数据流;若该请求端与某一服务器已经建立了连接,此时,直接将报文转发至对应的服务器即可,若判断结果显示,请求端与服务器集群中的任意一个服务器之间均不存在连接关系,此时,可以通过所述服务器连接方法建立该请求端与服务器之间的连接关系,然后将通过所建立的连接将报文转发至对应的服务器。
请参见图3,本发明实施例还提供了一种负载均衡设备300,包括:
接收模块301,用于接收请求端发送的连接请求;
第一获取模块302,用于获取所述请求端的身份信息;
查询模块303,用于在预设的连接模板库中查询是否存储有与所述请求端的身份信息对应的第一连接模板,其中,所述第一连接模板包括第一服务器的身份信息;
第一连接模块304,用于在所述连接模板库储存有所述第一连接模板的情况下,根据所述第一连接模板建立所述请求端与所述第一服务器之间的连接。
本发明实施例中,通过预先将请求端的身份信息与服务器集群中的其中一台服务器(如第一服务器)的身份信息关联存储,以形成连接模板(如第一连接模板),并将所形成的第一连接模板存储于连接模板库中;当负载均衡设备接收到请求端的连接请求时,获取该请求端的身份信息,然后在连接模板库中查询与请求端的身份信息对应的第一连接模板,从而可以确定用于响应所述连接请求的第一服务器的身份信息,进而确定通过第一服务器响应所述连接请求,并建立请求端与第一服务器间的连接,因为,请求端的身份信息相对固定,因此,当同一请求端发出多次连接请求时,均会查询到同一连接模板,并依据该连接模板确定同一服务器与该请求端建立连接,从而解决由于负载均衡设备针对同一请求端的多次连接请求,确定不同服务器与该请求端建立连接、引起的连接失败的问题。
可选地,所述第一获取模块302,具体用于若所述请求端为第一网络集合中的网络设备,获取所述请求端对应的第一网络集合的身份信息;
所述查询模块303包括:
查询子模块,用于在预设的连接模板库中查询是否存储有与所述第一网络集合的身份信息对应的第二连接模板;
确定子模块,用于若所述连接模板库中存储有与所述第一网络集合的身份信息对应的第二连接模板,则将所述第二连接模板确定为与所述请求端的身份信息对应的第一连接模板。
可选地,所述查询模块303:具体用于将所述请求端的身份信息和所述负载均衡设备的身份信息作为第一查询条件,在所述连接模板库中查询是否存储有与所述第一查询条件对应的第一连接模板,其中,所述第一连接模板还包括所述请求端的身份信息和所述负载均衡设备的身份信息。
可选地,在所述负载均衡设备包括多个接收端,且所述请求端对应于所述多个接收端中的第一接收端的情况下,所述查询模块303:具体用于将所述请求端的身份信息和所述第一接收端的身份信息作为第一查询条件,在所述连接模板库中查询是否存储有与所述第一查询条件对应的第一连接模板,其中,所述第一连接模板还包括所述请求端的身份信息和所述第一接收端的身份信息。
可选地,所述设备还包括:
第一调度模块,用于在所述连接模板库未存储所述第一连接模板的情况下,通过预设调度算法模型从服务器集群中选定一个用于响应所述连接请求的第二服务器;
第二获取模块,用于获取所述第二服务器的身份信息;
第一生成模块,用于根据所述请求端的身份信息和第二服务器的身份信息,生成所述第二连接模板;
第一储存模块,用于将所述第二连接模块储存于所述连接模板库;
第二连接模块,用于根据所述第二连接模板建立所述请求端与第二服务器之间的连接。
可选地,所述设备还包括:
删除模块,用于在所述第一服务器故障的情况下,将所述第一连接模板从所述连接模板库中删除;
第二调度模块,用于通过预设调度算法模型从服务器集群中选定一个用于响应所述连接请求的第三服务器,其中,所述第三服务器为所述服务器集群中除第一服务器以外的其他服务器;
第二生成模块,用于根据所述请求端的身份信息和所述第三服务器的身份信息生成第三连接模板;
第二存储模块,用于将所述第三连接模板存储于所述连接模板库;
第三连接模块,用于根据所述第三连接模板建立所述电子设备与第三服务器之间的连接。
本发明实施例还提供了一种电子设备,如图4所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信,
存储器403,用于存放计算机程序;
处理器401,用于执行存储器403上所存放的程序时,实现如下步骤:
接收请求端发送的连接请求;
获取所述请求端的身份信息;
在预设的连接模板库中查询是否存储有与所述请求端的身份信息对应的第一连接模板,其中,所述第一连接模板包括第一服务器的身份信息;
在所述连接模板库储存有所述第一连接模板的情况下,根据所述第一连接模板建立所述请求端与所述第一服务器之间的连接。
可选地,若所述请求端为第一网络集合中的网络设备,则获取所述请求端的身份信息,包括:
获取所述请求端对应的第一网络集合的身份信息;
在预设的连接模板库中查询是否存储有与所述请求端的身份信息对应的第一连接模板,包括:
在预设的连接模板库中查询是否存储有与所述第一网络集合的身份信息对应的第二连接模板;
若是,则将所述第二连接模板确定为与所述请求端的身份信息对应的第一连接模板。
可选地,所述在预设的连接模板库中查询是否存储有与所述请求端的身份信息对应的第一连接模板,包括:
将所述请求端的身份信息和所述负载均衡设备的身份信息作为第一查询条件,在所述连接模板库中查询是否存储有与所述第一查询条件对应的第一连接模板,其中,所述第一连接模板还包括所述请求端的身份信息和所述负载均衡设备的身份信息。
可选地,在所述负载均衡设备包括多个接收端,且所述请求端对应于所述多个接收端中的第一接收端的情况下,所述将所述请求端的身份信息和所述负载均衡设备的身份信息作为第一查询条件,在所述连接模板库中查询是否存储有与所述第一查询条件对应的第一连接模板,包括:
将所述请求端的身份信息和所述第一接收端的身份信息作为第一查询条件,在所述连接模板库中查询是否存储有与所述第一查询条件对应的第一连接模板,其中,所述第一连接模板还包括所述请求端的身份信息和所述第一接收端的身份信息。
可选地,在所述连接模板库未存储所述第一连接模板的情况下,所述方法还包括:
通过预设调度算法模型从服务器集群中选定一个用于响应所述连接请求的第二服务器;
获取所述第二服务器的身份信息;
根据所述请求端的身份信息和第二服务器的身份信息,生成第二连接模板;
将所述第二连接模板储存于所述连接模板库;
根据所述第二连接模板建立所述请求端与第二服务器之间的连接。
可选地,在所述第一服务器故障的情况下,所述方法还包括:
将所述第一连接模板从所述连接模板库中删除;
通过预设调度算法模型从服务器集群中选定一个用于响应所述连接请求的第三服务器,其中,所述第三服务器为所述服务器集群中除第一服务器以外的其他服务器;
根据所述请求端的身份信息和所述第三服务器的身份信息生成第三连接模板;
将所述第三连接模板存储于所述连接模板库;
根据所述第三连接模板建立所述请求端与第三服务器之间的连接。
所述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于所述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
所述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行所述实施例中任一所述的服务器连接方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行所述实施例中任一所述的服务器连接方法。
在所述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种服务器连接方法,应用于负载均衡设备,其特征在于,所述方法包括:
接收请求端发送的连接请求;
获取所述请求端的身份信息;
在预设的连接模板库中查询是否存储有与所述请求端的身份信息对应的第一连接模板,其中,所述第一连接模板包括第一服务器的身份信息;
在所述连接模板库储存有所述第一连接模板的情况下,根据所述第一连接模板建立所述请求端与所述第一服务器之间的连接。
2.根据权利要求1所述的方法,其特征在于,若所述请求端为第一网络集合中的网络设备,则获取所述请求端的身份信息,包括:
获取所述请求端对应的第一网络集合的身份信息;
在预设的连接模板库中查询是否存储有与所述请求端的身份信息对应的第一连接模板,包括:
在预设的连接模板库中查询是否存储有与所述第一网络集合的身份信息对应的第二连接模板;
若是,则将所述第二连接模板确定为与所述请求端的身份信息对应的第一连接模板。
3.根据权利要求1所述的方法,其特征在于,所述连接请求包括用于标识所述请求端所需访问的目标服务的服务标识,所述在预设的连接模板库中查询是否存储有与所述请求端的身份信息对应的第一连接模板,包括:
将所述请求端的身份信息和所述服务标识作为第一查询条件,在所述连接模板库中查询是否存储有与所述第一查询条件对应的第一连接模板,其中,所述第一连接模板还包括所述请求端的身份信息和所述服务标识。
4.根据权利要求1所述的方法,其特征在于,在所述连接模板库未存储所述第一连接模板的情况下,所述方法还包括:
通过预设调度算法模型从服务器集群中选定一个用于响应所述连接请求的第二服务器;
获取所述第二服务器的身份信息;
根据所述请求端的身份信息和第二服务器的身份信息,生成第二连接模板;
将所述第二连接模板储存于所述连接模板库;
根据所述第二连接模板建立所述请求端与第二服务器之间的连接。
5.根据权利要求1所述的方法,其特征在于,在所述第一服务器故障的情况下,所述方法还包括:
将所述第一连接模板从所述连接模板库中删除;
通过预设调度算法模型从服务器集群中选定一个用于响应所述连接请求的第三服务器,其中,所述第三服务器为所述服务器集群中除第一服务器以外的其他服务器;
根据所述请求端的身份信息和所述第三服务器的身份信息生成第三连接模板;
将所述第三连接模板存储于所述连接模板库;
根据所述第三连接模板建立所述请求端与第三服务器之间的连接。
6.一种负载均衡设备,其特征在于,包括:
接收模块,用于接收请求端发送的连接请求;
第一获取模块,用于获取所述请求端的身份信息;
查询模块,用于在预设的连接模板库中查询是否存储有与所述请求端的身份信息对应的第一连接模板,其中,所述第一连接模板包括第一服务器的身份信息;
第一连接模块,用于在所述连接模板库储存有所述第一连接模板的情况下,根据所述第一连接模板建立所述请求端与所述第一服务器之间的连接。
7.根据权利要求6所述的设备,其特征在于,
所述第一获取模块,具体用于若所述请求端为第一网络集合中的网络设备,获取所述请求端对应的第一网络集合的身份信息;
所述查询模块包括:
查询子模块,用于在预设的连接模板库中查询是否存储有与所述第一网络集合的身份信息对应的第二连接模板;
确定子模块,用于若所述连接模板库中存储有与所述第一网络集合的身份信息对应的第二连接模板,则将所述第二连接模板确定为与所述请求端的身份信息对应的第一连接模板。
8.根据权利要求6所述的设备,其特征在于,所述连接请求包括用于标识所述请求端所需访问的目标服务的服务标识,所述查询模块:具体用于将所述请求端的身份信息和所述服务标识作为第一查询条件,在所述连接模板库中查询是否存储有与所述第一查询条件对应的第一连接模板,其中,所述第一连接模板还包括所述请求端的身份信息和所述服务标识。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5中任一所述的方法步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911153507.XA CN111010425A (zh) | 2019-11-22 | 2019-11-22 | 一种服务器连接方法、负载均衡设备及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911153507.XA CN111010425A (zh) | 2019-11-22 | 2019-11-22 | 一种服务器连接方法、负载均衡设备及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111010425A true CN111010425A (zh) | 2020-04-14 |
Family
ID=70112606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911153507.XA Pending CN111010425A (zh) | 2019-11-22 | 2019-11-22 | 一种服务器连接方法、负载均衡设备及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111010425A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114024972A (zh) * | 2021-10-28 | 2022-02-08 | 平安科技(深圳)有限公司 | 一种长连接通信方法、系统、装置、设备及存储介质 |
CN114285643A (zh) * | 2021-12-24 | 2022-04-05 | 北京京东振世信息技术有限公司 | 访问请求处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106713499A (zh) * | 2017-01-23 | 2017-05-24 | 天地融科技股份有限公司 | 一种负载均衡方法、设备及系统 |
CN108768878A (zh) * | 2018-06-06 | 2018-11-06 | 北京奇艺世纪科技有限公司 | 一种负载均衡系统、方法、装置及负载均衡设备 |
CN109743392A (zh) * | 2019-01-07 | 2019-05-10 | 北京字节跳动网络技术有限公司 | 一种负载均衡方法、装置、电子设备及存储介质 |
CN109818997A (zh) * | 2017-11-21 | 2019-05-28 | 中兴通讯股份有限公司 | 一种负载均衡方法、系统及存储介质 |
-
2019
- 2019-11-22 CN CN201911153507.XA patent/CN111010425A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106713499A (zh) * | 2017-01-23 | 2017-05-24 | 天地融科技股份有限公司 | 一种负载均衡方法、设备及系统 |
CN109818997A (zh) * | 2017-11-21 | 2019-05-28 | 中兴通讯股份有限公司 | 一种负载均衡方法、系统及存储介质 |
CN108768878A (zh) * | 2018-06-06 | 2018-11-06 | 北京奇艺世纪科技有限公司 | 一种负载均衡系统、方法、装置及负载均衡设备 |
CN109743392A (zh) * | 2019-01-07 | 2019-05-10 | 北京字节跳动网络技术有限公司 | 一种负载均衡方法、装置、电子设备及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114024972A (zh) * | 2021-10-28 | 2022-02-08 | 平安科技(深圳)有限公司 | 一种长连接通信方法、系统、装置、设备及存储介质 |
CN114024972B (zh) * | 2021-10-28 | 2023-11-03 | 平安科技(深圳)有限公司 | 一种长连接通信方法、系统、装置、设备及存储介质 |
CN114285643A (zh) * | 2021-12-24 | 2022-04-05 | 北京京东振世信息技术有限公司 | 访问请求处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5991828A (en) | System for automatically connecting portable device to network using network environment information including domain name of naming device and community name of network management protocol | |
JP3989969B2 (ja) | クライアントサーバデータ処理システムのための通信システム | |
CN105897444B (zh) | 一种组播组的管理方法和装置 | |
JPH1065737A (ja) | 代理サーバ装置およびサーバ装置 | |
US20080184354A1 (en) | Single sign-on system, information terminal device, single sign-on server, single sign-on utilization method, storage medium, and data signal | |
US10630551B2 (en) | Method and apparatus for automatic networking of gateway device | |
RU2008138577A (ru) | Сетевая система | |
CN105959188B (zh) | 一种控制用户终端上线的方法和装置 | |
CN111010425A (zh) | 一种服务器连接方法、负载均衡设备及电子设备 | |
JP2006261827A (ja) | ネットワーク機器、その管理装置、そのネットワーク接続方法およびそのネットワーク接続管理方法 | |
CN101159597A (zh) | 获取软件配置信息的方法、系统及相关设备 | |
CN101904148B (zh) | 用于公司分机标识进行网络漫游的方法和装置 | |
JP6540063B2 (ja) | 通信情報制御装置、中継システム、通信情報制御方法、および、通信情報制御プログラム | |
JP2003078541A (ja) | ネットワーク接続装置、ネットワーク接続システム及びネットワーク接続方法 | |
US20080301273A1 (en) | Centrally assigning branch specific network addresses | |
CN110474781B (zh) | 一种组播数据转发的方法及装置 | |
CN110809033B (zh) | 报文转发方法、装置及交换服务器 | |
JP3953963B2 (ja) | 認証機能付きパケット通信装置、ネットワーク認証アクセス制御サーバ、および分散型認証アクセス制御システム | |
US20150134843A1 (en) | Method of establishing network connection and system thereof | |
CN110677417A (zh) | 反爬虫系统及方法 | |
JP2017028383A (ja) | センサ収容システム、ゲートウェイ、管理サーバ、センサ収容方法及びセンサ収容プログラム | |
JP7397396B2 (ja) | 回線接続制御装置及び回線接続制御方法 | |
US11552928B2 (en) | Remote controller source address verification and retention for access devices | |
JPH11355303A (ja) | コンピュータ識別システム及び方法 | |
JP7439714B2 (ja) | ネットワーク制御装置およびプログラム |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200414 |
|
RJ01 | Rejection of invention patent application after publication |