CN112543191B - 一种负载均衡方法及装置 - Google Patents

一种负载均衡方法及装置 Download PDF

Info

Publication number
CN112543191B
CN112543191B CN202011375729.9A CN202011375729A CN112543191B CN 112543191 B CN112543191 B CN 112543191B CN 202011375729 A CN202011375729 A CN 202011375729A CN 112543191 B CN112543191 B CN 112543191B
Authority
CN
China
Prior art keywords
data message
type
server
client
target
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
Application number
CN202011375729.9A
Other languages
English (en)
Other versions
CN112543191A (zh
Inventor
刘志文
李欣强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202011375729.9A priority Critical patent/CN112543191B/zh
Publication of CN112543191A publication Critical patent/CN112543191A/zh
Application granted granted Critical
Publication of CN112543191B publication Critical patent/CN112543191B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种负载均衡方法及装置。其中,方法包括:接收客户端发送的数据报文;确定所述数据报文的类型;在所述数据报文的类型为请求类型的情况下,基于所述数据报文重新进行选路,以确定目标服务器;将所述数据报文发送至所述目标服务器。本发明通过对数据报文的类型进行判断,以确定其是否为请求类型的数据,由此能够在其为请求类型的数据的情况下,进行重新选路、确定新的目标服务器,然后将该数据报文发送给新的目标服务器,由此能够实现服务器负载的均衡,达到了请求粒度级别的负载均衡,解决了资源浪费的问题。

Description

一种负载均衡方法及装置
技术领域
本发明涉及通信技术领域,特别涉及一种负载均衡方法及装置。
背景技术
随着互联网技术的发展,用户会经常通过客户端来访问某个网站。在进行访问时,访问过程一般如下:当客户端发起请求时,负载均衡设备会先与客户端进行三次握手流程,建立连接;在连接建立完成后,会解析客户端的发来的http报文,通过报文内容获取对应的服务端信息,根据该信息进行选路,并根据选路结果与对应的服务器建立连接。此后,该客户端与服务器的后续请求,都会基于本次建立的连接进行。而不会重新再与其他的服务器建立连接,由此就会造成服务器负载不均衡的问题。
发明内容
本发明实施例的目的在于提供一种负载均衡方法及装置,用于解决现有技术中的问题中服务器负载不均衡的问题。
为了解决上述技术问题,本申请的实施例采用了如下技术方案:一种负载均衡方法,包括如下步骤:
接收客户端发送的数据报文;
确定所述数据报文的类型;
在所述数据报文的类型为请求类型的情况下,基于所述数据报文重新进行选路,以确定目标服务器;
将所述数据报文发送至所述目标服务器。
可选的,所述确定所述数据报文的类型,具体包括:
对接收的数据报文进行七层数据解析;
根据解析结果确认所述数据报文为请求类型的数据报文或者为非请求类型的数据报文。
可选的,在所述数据报文的类型为请求类型的情况下,所述方法还包括:
确定与所述客户端对应的建立有通信关系的当前服务器;
向所述当前服务器发送断开通信连接请求,以断开与所述当前服务器的通信连接。
可选的,所述基于所述数据报文重新进行选路,以确定目标服务器,具体包括:
对所述数据报文进行解析,获得目标域名;
基于所述目标域名确定目标网络地址,以确定与目标网络地址对应的目标服务器。
可选的,在确定所述数据报文的类型为非请求类型的情况下,所述方法还包括:
基于数据报文中的客户端的地址,确定与所述客户端地址对应的目标服务器地址;
将所述数据报文发送给所述目标服务器。
为解决上述问题,本申请提供一种负载均衡装置,包括:
接收模块,用于接收客户端发送的数据报文;
第一确定模块,用于确定所述数据报文的类型;
第二确定模块,用于在所述数据报文的类型为请求类型的情况下,基于所述数据报文重新进行选路,以确定目标服务器;
发送模块,用于将所述数据报文发送至所述目标服务器
可选的,所述第一确定模块具体用于:
对接收的数据报文进行七层数据解析;
根据解析结果确认所述数据报文为请求类型的数据报文或者为非请求类型的数据报文。
可选的,所述负载均衡装置还包括断开通信连接模块,所述断开通信连接模块用于:
在所述数据报文的类型为请求类型的情况下,确定与所述客户端对应的建立有通信关系的当前服务器;
向所述当前服务器发送断开通信连接请求,以断开与所述当前服务器的通信连接。
可选的,所述第二确定模块具体用于:
对所述数据报文进行解析,获得目标域名;
基于所述目标域名确定目标网络地址,以确定与目标网络地址对应的目标服务器。
可选的,所述负载均衡装置还包括第三确定模块,所述第三确定模块用于:
基于数据报文中的客户端的地址,确定与所述客户端地址对应的目标服务器地址;
所述发送模块还用于:将所述数据报文发送给所述目标服务器。
本发明通过对数据报文的类型进行判断,以确定其是否为请求类型的数据,由此能够在其为请求类型的数据的情况下,进行重新选路、确定新的目标服务器,然后将该数据报文发送给新的目标服务器,由此能够实现服务器负载的均衡,达到了请求粒度级别的负载均衡,解决了资源浪费的问题。
附图说明
图1为本发明实施例一种负载均衡方法的流程图;
图2为本发明实施例中负载均衡设置与客户端以及服务器的通信之间的关系示意;
图3为本发明实施例中负载均衡装置的结构框图。
具体实施方式
此处参考附图描述本申请的各种方案以及特征。
应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本申请的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且与上面给出的对本申请的大致描述以及下面给出的对实施例的详细描述一起用于解释本申请的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特性将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式。
当结合附图时,鉴于以下详细说明,本申请的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本申请的具体实施例;然而,应当理解,所申请的实施例仅仅是本申请的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本申请模糊不清。因此,本文所申请的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本申请。
本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本申请的相同或不同实施例中的一个或多个。
本发明实施例提供一种负载均衡方法,具体可以应用在负载均衡设备上,如图1所示,本实施例中的负载均衡方法包括如下步骤:
步骤S101,接收客户端发送的数据报文。
步骤S102,确定所述数据报文的类型。
本步骤中数据报文的类型包括请求类型和非请求类型。具体可以对接收的数据报文进行七层数据解析;根据解析结果确认所述数据报文为请求类型的数据报文或者为非请求类型的数据报文。例如在对数据报文进行七层数据解析后,可以获得若干字符,然后基于HTTP协议以及解析获得字符来确定数据报文的类型。
步骤S103,在所述数据报文的类型为请求类型的情况下,基于所述数据报文重新进行选路,以确定目标服务器。
本步骤在具体实施过程中,在确定数据报文的类型为请求类型后,具体可以对数据报文进行解析,获得目标域名;然后基于所述目标域名确定与所述目标域名对应的若干网络地址,从所述若干网络地址中确定出目标网络地址,以确定与目标网络地址对应的目标服务器。
步骤S104,将所述数据报文发送至所述目标服务器。
本发明实施中通过对数据报文的类型进行判断,以确定其是否为请求类型的数据,由此能够在其为请求类型的数据的情况下,进行重新选路、确定新的目标服务器,然后将该数据报文发送给新的目标服务器,由此能够实现服务器负载的均衡,达到了请求粒度级别的负载均衡。
本发明又一实施例提供一种负载均衡方法,可以应用在负载均衡设备上,包括如下步骤:
步骤S201,接收客户端发送的数据报文。
步骤S202,对接收的数据报文进行七层数据解析;根据解析结果确认所述数据报文为请求类型的数据报文或者为非请求类型的数据报文。若确认数据报文的类型为请求类型,则执行步骤S203。若确认所述数据报文的类型为非请求类型,则执行步骤S205。
步骤S203,确定与所述客户端对应的建立有通信关系的当前服务器;向所述当前服务器发送断开通信连接请求,以断开与所述当前服务器的通信连接。
步骤S204,对所述数据报文进行解析,获得目标域名;基于所述目标域名确定目标网络地址,以确定与目标网络地址对应的目标服务器。
步骤S205,基于数据报文中的客户端的地址,确定与所述客户端地址对应的目标服务器地址。
本步骤中负载均衡设备在与客户端以及服务器建立了连接关系后,会存储该客户端与该服务器的对应关系,由此能够实现基于客户端的地址查找到之前建立有通信连接关系的服务器。
步骤S206,将所述数据报文发送至所述目标服务器。
本发明实施中,在确定了数据报文的类型为请求类型时,负载均衡设备会先断开与之前建立有通信关系的服务器通信连接,然后负载均衡设备会根据数据报文中的目标域名进行重新选路,以确定新的目标服务器,再与该新的目标服务器建立通信连接关系,由此能够准确的将客户端发送的数据报文转发至该目标服务器,实现了服务器上负载的均衡。
为了对上述实施例做进一步解释,一下结合具体的应用场景进行说明。如图2所示,本实施例中,当负载均衡设备首次接收到客户端发送数据报文时,会与其建立通信连接,该建立连接的过程是标准syn代理的处理流程,即:负载均衡设备AD会先与客户端C进行三次握手建立连接,待三次握手建立完成,负载均衡设备AD会解析客户端的请求,并进行重新选路,根据选路结果(假设选路结果为服务器S-A)与服务器S-A进行三次握手并建立连接。当再次接收到客户端C发送的数据报文时,会判断该数据报文的类型。当确定该数据报文的类型为非请求类型时,负载均衡设备AD会基于之前建立的客户端与服务器S-A的通信连接关系,将该数据报文直接转发给对应的服务器S-A,即负载均衡设备会基于客户端发送的数据报文中的客户端的地址,确定与所述客户端地址对应的当前目标服务器地址;然后将所述数据报文发送给所述当前目标服务器S-A。当负载均衡设备确定客户端发送的数据报文的类型为请求类型时,负载均衡设备会基于客户端的地址确定与所述客户端对应的建立有通信关系的当前服务器S-A;然后负载均衡设备会向所述当前服务器S-A发送断开通信连接请求,以断开与所述当前服务器S-A的通信连接,即负载均衡设备会发起tcp协议的四次挥手流程,以与当前服务器S-A断开连接。负载均衡设备在断开与当前服务器S-A的通信连接关系后,就可以进一步的对所述数据报文进行解析,获得目标域名;基于所述目标域名确定若干网络地址,例如确定3个网络地址,分别对应服务器S-A、S-B和S-C,那么就可以从这3个目标网络地址中确定出目标网络地址,以确定与目标网络地址对应的目标服务器S-C。确定出目标服务器S-C后,负载均衡设备就可以与该目标服务器S-C建立连接,然后将数据报文转发给该目标服务器S-C。
本实施例中,当负载均衡设备确定未与客户端建立有通信连接关系,则说明客户端为首次送数据报文,由此可以在直接基于该数据报文进行选路,确定目标服务器,然后将该数据报文转发给目标服务器。当负载均衡设备确定与客户端建立有通信连接关系,则说明该客户端之前发送过数据报文,负载均衡设备对客户端之前发送的数据报文进行过转发,由此负载均衡设备就可以对该数据报文进行解析,确定该数据报文是否为请求类型的数据报文,以确定是否需要重新进行选路、确定新的目标服务器。
本发明实施例通过对基于七层syn代理的已建立连接上的请求方向的报文进行解析,实现了基于请求的重新调度,不仅拓展了负载均衡设备的基于请求粒度的调度,还避免了基于连接的负载均衡造成的资源浪费。此外,由于本发明可以基于请求进行调度,如果将同一类资源的请求都调度到同一台服务器的话,这样还可以提高服务器的缓存命中率。
本发明又一实施例提供一种负载均衡装置,如图3所示,包括:
接收模块1,用于接收客户端发送的数据报文;
第一确定模块2,用于确定所述数据报文的类型;
第二确定模块3,用于在所述数据报文的类型为请求类型的情况下,基于所述数据报文重新进行选路,以确定目标服务器;
发送模块4,用于将所述数据报文发送至所述目标服务器
本实施例在具体实施过程中,所述第一确定模块具体用于:对接收的数据报文进行七层数据解析;根据解析结果确认所述数据报文为请求类型的数据报文或者为非请求类型的数据报文。
具体的,本实施例中的负载均衡装置还包括断开通信连接模块,所述断开通信连接模块用于:在所述数据报文的类型为请求类型的情况下,确定与所述客户端对应的建立有通信关系的当前服务器;向所述当前服务器发送断开通信连接请求,以断开与所述当前服务器的通信连接。
具体的,本实施例中所述第二确定模块具体用于:
对所述数据报文进行解析,获得目标域名;
基于所述目标域名确定目标网络地址,以确定与目标网络地址对应的目标服务器。
具体的,所述负载均衡装置还包括第三确定模块,所述第三确定模块用于:基于数据报文中的客户端的地址,确定与所述客户端地址对应的目标服务器地址;所述发送模块还用于:将所述数据报文发送给所述目标服务器。
本发明实施例通过对数据报文的类型进行判断,以确定其是否为请求类型的数据,由此能够在其为请求类型的数据的情况下,进行重新选路、确定新的目标服务器,然后将该数据报文发送给新的目标服务器,由此能够实现服务器负载的均衡,达到了请求粒度级别的负载均衡。
以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。

Claims (10)

1.一种负载均衡方法,其特征在于,在确定与客户端建立有通信连接关系的情况下,包括如下步骤:
响应于接收客户端发送的数据报文,确定所述数据报文的类型;
在所述数据报文的类型为请求类型,进而断开与所述客户端对应的建立有通信关系的当前服务器的情况下,基于所述数据报文重新进行选路,以从包括所述当前服务器在内的服务器中确定目标服务器;
将所述数据报文发送至所述目标服务器。
2.如权利要求1所述的方法,其特征在于,所述确定所述数据报文的类型,具体包括:
对接收的数据报文进行七层数据解析;
根据解析结果确认所述数据报文为请求类型的数据报文或者为非请求类型的数据报文。
3.如权利要求1所述的方法,其特征在于,在所述数据报文的类型为请求类型的情况下,所述方法还包括:
确定与所述客户端对应的建立有通信关系的当前服务器;
向所述当前服务器发送断开通信连接请求,以断开与所述当前服务器的通信连接。
4.如权利要求1所述的方法,其特征在于,确定目标服务器,具体包括:
对所述数据报文进行解析,获得目标域名;
基于所述目标域名确定目标网络地址,以确定与目标网络地址对应的目标服务器。
5.如权利要求1所述的方法,其特征在于,在确定所述数据报文的类型为非请求类型的情况下,所述方法还包括:
基于数据报文中的客户端的地址,确定与所述客户端地址对应的目标服务器地址;
将所述数据报文发送给所述目标服务器。
6.一种负载均衡装置,其特征在于,包括:
接收模块,在确定与客户端建立有通信连接关系的情况下,用于接收客户端发送的数据报文;
第一确定模块,用于响应于接收客户端发送的数据报文,确定所述数据报文的类型;
第二确定模块,用于在所述数据报文的类型为请求类型的情况,且断开与所述客户端对应的建立有通信关系的当前服务器下,基于所述数据报文重新进行选路,以从包括所述当前服务器在内的服务器中确定目标服务器;
发送模块,用于将所述数据报文发送至所述目标服务器。
7.如权利要求6所述的装置,其特征在于,所述第一确定模块具体用于:
对接收的数据报文进行七层数据解析;
根据解析结果确认所述数据报文为请求类型的数据报文或者为非请求类型的数据报文。
8.如权利要求6所述的装置,其特征在于,还包括断开通信连接模块,用于:
在所述数据报文的类型为请求类型的情况下,确定与所述客户端对应的建立有通信关系的当前服务器;
向所述当前服务器发送断开通信连接请求,以断开与所述当前服务器的通信连接。
9.如权利要求6所述的装置,其特征在于,所述第二确定模块具体用于:
对所述数据报文进行解析,获得目标域名;
基于所述目标域名确定目标网络地址,以确定与目标网络地址对应的目标服务器。
10.如权利要求6所述的装置,其特征在于,所述装置还包括第三确定模块,所述第三确定模块用于:
基于数据报文中的客户端的地址,确定与所述客户端地址对应的目标服务器地址;
所述发送模块还用于:将所述数据报文发送给所述目标服务器。
CN202011375729.9A 2020-11-30 2020-11-30 一种负载均衡方法及装置 Active CN112543191B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011375729.9A CN112543191B (zh) 2020-11-30 2020-11-30 一种负载均衡方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011375729.9A CN112543191B (zh) 2020-11-30 2020-11-30 一种负载均衡方法及装置

Publications (2)

Publication Number Publication Date
CN112543191A CN112543191A (zh) 2021-03-23
CN112543191B true CN112543191B (zh) 2023-07-18

Family

ID=75016633

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011375729.9A Active CN112543191B (zh) 2020-11-30 2020-11-30 一种负载均衡方法及装置

Country Status (1)

Country Link
CN (1) CN112543191B (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107979592B (zh) * 2013-09-30 2020-06-30 腾讯科技(深圳)有限公司 一种发送业务请求消息的方法及装置
CN106878434A (zh) * 2017-02-28 2017-06-20 杭州迪普科技股份有限公司 一种重定向的方法及装置
CN110086886B (zh) * 2019-05-14 2021-12-31 北京天融信网络安全技术有限公司 动态会话保持方法及装置

Also Published As

Publication number Publication date
CN112543191A (zh) 2021-03-23

Similar Documents

Publication Publication Date Title
US11743855B2 (en) Network-function monitoring and control
JP4648214B2 (ja) 呼制御装置および呼制御方法
RU2464722C2 (ru) Способ, устройство и система для распределения сообщений
US20210297896A1 (en) Wireless communication system
CN1684448A (zh) 通过网关在无线通信网络的用户设备之间建立连接的方法
US10924533B2 (en) System, apparatus and method for load balancing
CN102625287A (zh) 一种手机应用软件的下载方法
EP2485449A1 (en) Method and apparatus for determining gateway and method and system for sending message
US20150127837A1 (en) Relay apparatus and data transfer method
EP3057287A1 (en) Node allocation method, device and system
WO2023000936A1 (zh) 一种数据处理方法、网元设备以及可读存储介质
US9350606B2 (en) System and method for assigning server to terminal and efficiently delivering messages to the terminal
US11864093B2 (en) Methods, systems, and computer readable media for communicating delegated network function (NF) discovery results between service communication proxies (SCPs) and using the delegated NF discovery results for alternate routing
EP4154497A1 (en) Improving classification accuracy in user plane function re-selection scenarios
US20100064182A1 (en) Communication system
CN101938427B (zh) 一种全局负载均衡中的重定向方法和装置
CN114629912B (zh) 基于mec的通信传输方法及装置
EP2480009A1 (en) Multimedia message transmission method and apparatus thereof, and domain name server
CN111757389B (zh) 一种通信装置和方法
CN112543191B (zh) 一种负载均衡方法及装置
CN109120578B (zh) 一种实现链路连接处理的方法及装置
CN112202780B (zh) 一种基于双套接字的数据传输方法、装置、设备及介质
CN113423078B (zh) 应用程序网络分片选择方法、应用服务器及pcf
JP2023547880A (ja) バックアップネットワーク機能を提供するためのネットワークノードおよびネットワークノードにおける方法
CN110809033A (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