CN107786669A - 一种负载均衡处理的方法、服务器、装置及存储介质 - Google Patents

一种负载均衡处理的方法、服务器、装置及存储介质 Download PDF

Info

Publication number
CN107786669A
CN107786669A CN201711105995.8A CN201711105995A CN107786669A CN 107786669 A CN107786669 A CN 107786669A CN 201711105995 A CN201711105995 A CN 201711105995A CN 107786669 A CN107786669 A CN 107786669A
Authority
CN
China
Prior art keywords
address
message
load
server
backend
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.)
Granted
Application number
CN201711105995.8A
Other languages
English (en)
Other versions
CN107786669B (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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201711105995.8A priority Critical patent/CN107786669B/zh
Publication of CN107786669A publication Critical patent/CN107786669A/zh
Application granted granted Critical
Publication of CN107786669B publication Critical patent/CN107786669B/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/1036Load balancing of requests to servers for services different from user content provisioning, e.g. load balancing across domain name servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Landscapes

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

Abstract

一种负载均衡处理的方法、服务器、装置及存储介质,所述方法包括:负载均衡服务器获取来自终端设备的第一报文,第一报文中包括IP首部和校验和字段,更新IP首部和所述校验和字段,得到第二报文,第二报文中的源IP地址为第一IP地址,第二报文中的目的IP地址为后端服务器的第二IP地址,校验和字段包括用于指示负载均衡服务器的后端IP地址的指示信息;负载均衡服务器记录第一IP地址、前端IP地址、后端IP地址和第二IP地址之间的第一映射关系;负载均衡服务器向后端服务器发送第二报文,以使后端服务器获取第一IP地址和后端IP地址,记录第一IP地址、后端IP地址和第二IP地址之间的第二映射关系。通过采用本方案,后端服务器可处理基于第一IP地址的业务。

Description

一种负载均衡处理的方法、服务器、装置及存储介质
技术领域
本申请涉及互联网技术领域,尤其涉及一种负载均衡处理的方法、服务器、装置及存储介质。
背景技术
负载均衡是由多台后端服务器组成一个服务器资源池,对外呈现一个服务器源网际协议(英文全称:internet protocol,英文简称:IP)地址,能够满足服务器的并发访问需求,为互联网多租户提供负载均衡访问,租户是指使用***资源的客户,租户之间共用***资源或程序组件,但用户应用程序、运行环境和数据隔离,一个租户拥有多个客户端。
在用户数据报协议(英文全称:user datagram protocol,英文简称:UDP)场景下,来自客户端的报文经过负载均衡器的分发后,报文中的源IP地址会被替换为负载均衡器的后端IP地址,后端IP地址是指负载均衡器面向后端服务器的IP地址。最终在该报文到达后端服务器后,该报文会丢失客户端的源IP地址。对于需要基于客户端的源IP地址进行数据分析、安全审计或者主动反向发送的业务,后端服务器都无法处理。
发明内容
本申请提供了一种负载均衡处理的方法、服务器、装置及存储介质,能够解决现有技术中后端服务器无法在UDP场景下处理基于客户端的源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地址,以及将所述第三报文中的目的IP地址更新为所述第一IP地址,得到第四报文。
所述负载均衡服务器将所述第四报文发给所述终端设备。
可见,由于所述负载均衡服务器已记录第一映射关系,当后端服务器基于第二映射关系发送的第三报文后,就可以确定该第三报文是针对该终端设备发送的。所以,负载均衡服务器能够基于所述第一映射关系更新目的IP地址后,向终端设备推送第四报文,进而完成整个基于第一IP地址的业务的推送。
可选的,所述指示信息包括所述后端IP地址的子网网段,所述子网网段用于所述后端服务器还原所述后端IP地址。
在一些可能的设计中,所述负载均衡服务器更新所述校验和字段,包括:
所述负载均衡服务器将所述后端IP地址的子网网段转换为预定义数据类型的数据,将转换为所述预定义数据类型的子网网段存储于所述校验和字段。
例如,负载均衡服务器可将该子网网段转换为16进制的数据,然后将得到的16进制的数据存储于所述校验和字段,进而向后端服务器提供自身的后端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地址之后,还可以将所述第二报文中的校验和字段清零,或者重新计算所述第二报文中的校验和字段所指示的校验和。清0或者重新计算后,后端服务器再将该第二报文传送到其部署的虚拟机,收到第二报文的虚拟机可去获取相应的业务报文,并且,该终端设备的第一IP地址对该虚拟机为完全可见的状态。
可见,后端服务器对第二报文中的校验和字段清0或者重新计算后,能够消除认为第二报文为错误的报文,导致无法继续部署基于第一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地址,以及根据所述校验和字段获取所述负载均衡服务器的后端IP地址之前,还用于:
根据所述保留字段确定第二报文为待处理业务的报文,所述待处理业务是指所述后端服务器基于所述终端设备的第一IP地址进行的业务。
可选的,所述保留字段包括第二标记,所述处理模块具体用于:
根据所述第二标记从接收到的报文中识别出所述第二报文为待处理业务的报文。
可选的,所述指示信息包括所述后端IP地址的子网网段,所述处理模块具体用于:
通过收发模块从所述第二报文中的校验和字段获取所述子网网段;
根据所述子网网段还原所述后端IP地址;
所述处理模块在所述收发模块从所述第二报文的IP首部中获取所述第一IP地址之后,还用于:
根据所述第二映射关系将所述第二报文中的源IP地址更新为所述第二IP地址,以及将所述第二报文中的目的IP地址更新为所述后端IP地址,得到第三报文;
通过收发模块向所述负载均衡服务器发送所述第三报文。
可选的,所述处理模块在所述收发模块根据所述校验和字段获取所述负载均衡服务器的后端IP地址之后,还用于:
将所述第二报文中的校验和字段清零,或者重新计算所述第二报文中的校验和字段所指示的校验和。
本申请第五方面提供一种通信***,具有实现上述负载均衡处理的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。
一种可能的设计中,所述通信***包括:
终端设备、第三方面所述的负载均衡服务器以及第四方面所述的后端服务器。
本申请又一方面提供了一种负载均衡处理的装置,其包括至少一个连接的处理器、存储器和收发器,其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中的程序代码来执行上述各方面所述的方法。
本申请又一方面提供了一种计算机存储介质,其包括指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
附图说明
图1为本申请实施例中通信***的一种部署架构示意图;
图2为本申请实施例中UDP报文的结构示意图;
图3为本申请实施例中负载均衡处理的方法的一种流程示意图;
图4为本申请实施例中负载均衡处理的方法的一种流程示意图;
图5为本申请实施例中负载均衡处理的方法的一种流程示意图;
图6为本申请实施例中负载均衡服务器的一种结构示意图;
图7为本申请实施例中后端服务器的一种结构示意图;
图8为本申请实施例中通信***的一种结构示意图;
图9为本申请实施例中执行负载均衡处理的方法的装置的结构示意图。
具体实施方式
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个***中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
本申请供了一种负载均衡处理的方法、服务器、装置及存储介质,用于如图1所示的通信***,所述通信***包括路由器、云网络控制器、至少一个终端设备、至少一个负载均衡服务器、以及至少一个后端服务器。负载均衡服务器上部署负载均衡器,以及至少一个后端服务器上部署虚拟机。本申请中的所述通信***可以部署多种基于终端设备的IP地址的业务应用。通信***在逻辑上可以划分为控制面和数据面,图1中实线所示意的走向路径为数据面(即面向用户的数据访问层),图1中虚线所示意的走向路径为控制面(面向业务逻辑)。云网络控制器可以对终端设备、负载均衡服务器和后端服务器进行配置,可以以流表的形式下发控制面的配置信息,使得终端设备、负载均衡服务器和后端服务器各自进行对应的配置。
其中,所述终端设备是指使用一个租户业务中的客户端。
所述负载均衡服务器用于各后端服务器的负载均衡、部署的应用的状态监控、外部地址和内部地址之间的转换等功能的实现。
所述后端服务器用于提供了访问商业逻辑的途径,以供终端设备的应用程序使用。后端服务器部署至少一台虚拟机,虚拟机可获取应用程序的业务报文,也可获取终端设备的IP地址。
负载均衡服务器相对于终端设备而言体现为前端IP地址(即相对于终端设备体现为外网),相对于后端服务器体现为后端IP地址(即相对于后端服务器体现为局域网)。
基于图1所示的通信***,用户可以基于云网络在终端设备上配置公网负载均衡,具体配置如下:
配置后端服务器的前端端口号为169,配置后端服务器的后端端口号为456,配置后端服务器的IP地址为192.168.10.11。
配置完公网负载均衡后,可将配置信息通过程序接口发给云网络控制器。云网络控制器通过负载均衡服务器代理对负载均衡服务器的内核进行如下配置:配置<目的IP地址:目的端口号>即<200.200.200.200:169:169>,负载均衡服务器将200.200.200.200:169记录为匹配项,匹配项用于匹配接收到的报文。
配置完成后,云网络控制器将配置信息下发至终端设备、负载均衡服务器和后端服务器。
终端设备可通过IP地址之间的映射关系{201.202.203.204→200.200.200.200:169}访问负载均衡服务器的前端IP地址。
终端设备发送的报文达到负载均衡服务器的内核后,内核基于匹配项(200.200.200.200:169)去匹配该报文,若匹配成功,则对该报文设置一个标记,并保存该终端设备的IP地址(201.202.203.204),然后进入负载均衡处理流程。
负载均衡服务器在负载均衡处理流程中,将设置标记的报文中的源IP地址和目的IP地址进行转换,然后将报文的源IP地址修改为终端设备的IP地址,将负载均衡服务器的后端IP地址修改为后端服务器的IP地址,然后将报文发给后端服务器。
本申请实施例中图1所示的通信***能够处理基于终端设备的IP地址的UDP报文。本申请实施例中的UDP报文的结构可参考如图2所示的示意图。其中UDP报文包括IP首部和校验和字段。
IP首部包括源IP地址、目的IP地址和保留字段,源IP地址是指发送报文的源节点的IP地址,目的IP地址是指报文的目的节点的IP地址,保留字段是指为将来定义新的用途的保留字段,一般置0。
校验和字段用于检验接收到的报文是否有差错,校验和字段包含校验和的取值,本申请实施例中的校验和是指UDP的校验和。
其中,需要特别说明的是,本申请涉及的终端设备,可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(英文全称:radio access network,英文简称:RAN)与一个或多个核心网进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语音和/或数据。例如,个人通信业务(英文全称:personal communication sService,英文简称:PCS)电话、无绳电话、会话发起协议(SIP)话机、无线本地环路(wireless local loop,英文简称:WLL)站、个人数字助理(英文全称:personal digital assistant,英文简称:PDA)等设备。无线终端也可以称为***、订户单元(Subscriber Unit)、订户站(Subscriber Station),移动站(Mobile Station)、移动台(Mobile)、远程站(Remote Station)、接入点(Access Point)、远程终端(RemoteTerminal)、接入终端(Access Terminal)、用户终端(User Terminal)、终端设备、用户代理(User Agent)、用户设备(User Device)、或用户装备(User Equipment)。
为解决上述技术问题,本申请主要提供以下技术方案:
负载均衡服务器收到终端设备的报文后,将报文中的外网地址转换为内网地址,并且将转换地址后的报文中源IP地址修改为终端设备的IP地址,将自身的后端IP地址通过保留字段指示给后端服务器,使得后端服务器能够直接从负载均衡服务器转发的报文中获取终端设备的IP地址和负载均衡服务器的后端IP地址,从而使得后端服务器可以基于获取的IP地址执行报文返程的操作。这样后端服务器就可以在通信***中部署基于终端设备的IP地址的业务应用。
请参照图3,以下对本申请提供一种负载均衡处理的方法进行举例说明,本申请实施例主要包括:
301、终端设备向负载均衡服务器发送第一报文。
302、负载均衡服务器根据匹配项匹配到来自终端设备的第一报文。
其中,所述第一报文中包括IP首部和校验和字段,所述IP首部包括源IP地址和目的IP地址,所述源IP地址为所述终端设备的第一IP地址,所述目的IP地址为所述负载均衡服务器的前端IP地址。
例如,终端设备的第一IP地址为201.202.203.204,负载均衡服务器的前端IP地址为200.200.200.200:169,负载均衡服务器的后端IP地址为100.125.10.10。那么,匹配项可以设置为第二IP地址(200.200.200.200:169)。当负载均衡服务器基于该匹配项(200.200.200.200:169)匹配到目的IP地址为200.200.200.200:169的报文时,可以确定该报文为待负载均衡处理的报文。
在一些实施方式中,考虑到负载均衡服务器会同时处理大批量的终端设备的报文,可能接收到的部分或全部报文才需要进行负载均衡处理,以及向后端服务器呈现这些终端设备的IP地址。所述负载均衡服务器还可以对所述第一报文设置第一标记,所述第一标记用于指示所述第一报文为待进行负载均衡处理的报文。
所述负载均衡服务器可将所收到的报文放入任务队列中,在处理任务队列中的报文时,所述负载均衡服务器可以仅更新设置所述第一标记的所述第一报文中的所述IP首部和所述校验和字段。可见,通过设置第一标记,负载均衡服务器能够有针对性的对需要进行负载均衡处理的报文进行处理,提高负载均衡处理的效率以及优化负载均衡处理机制。
303、所述负载均衡服务器更新所述IP首部和所述校验和字段,得到第二报文。
其中,所述第二报文中的源IP地址为所述第一IP地址,所述第二报文中的目的IP地址为后端服务器的第二IP地址,所述校验和字段包括用于指示所述负载均衡服务器的后端IP地址的指示信息。
一、所述负载均衡服务器更新所述IP首部可包括下述两种方式:
(1)所述负载均衡服务器将所述目的IP地址更新为所述第二IP地址。
例如图4所示,终端设备的第一IP地址为201.202.203.204,负载均衡服务器选定的后端服务器的第二IP地址为192.168.10.11:456。那么所述负载均衡服务器可更新第一报文中的目的IP地址,得到源IP地址和目的IP地址的两个映射关系:201.202.203.204→100.125.10.10;100.125.10.10→192.168.10.11:456。
(2)所述负载均衡服务器将所述源IP地址更新为所述负载均衡服务器的后端IP地址,以及将所述目的IP地址更新为所述第二IP地址。这样可得到负载均衡服务器与后端服务器之间的一个映射关系:所述后端IP地址与所述第二IP地址之间的映射关系。
例如,负载均衡服务器的后端IP地址为100.125.10.10,选定的后端服务器的第二IP地址为192.168.10.11:456,那么所述负载均衡服务器更新源IP地址和目的IP地址后,得到源IP地址和目的IP地址的一个映射关系:100.125.10.10→192.168.10.11:456。
然后,所述负载均衡服务器将所述源IP地址更新为所述第一IP地址,这样得到负载均衡服务器与后端服务器之间的一个映射关系:所述第一IP地址与所述第二IP地址之间的映射关系。可见,通过这种更新,可以将第一IP地址传递给所述后端服务器。
例如终端设备的第一IP地址为201.202.203.204,负载均衡服务器的后端IP地址为100.125.10.10,选定的后端服务器的第二IP地址为192.168.10.11:456,那么所述负载均衡服务器再次更新源IP地址后,得到源IP地址和目的IP地址的一个映射关系:201.202.203.204→192.168.10.11:456。
最终,所述负载均衡服务器可得到第一映射关系:{201.202.203.204→200.200.200.200:169,100.125.10.10→192.168.10.11:456}。
二、所述负载均衡服务器更新所述校验和字段时,可将校验和字段中的信息更新为所述指示信息,该指示信息可包括所述后端IP地址的子网网段,所述子网网段用于所述后端服务器还原所述后端IP地址。在一些实施方式中,所述负载均衡服务器可将所述后端IP地址的子网网段转换为预定义数据类型的数据,将转换为所述预定义数据类型的子网网段存储于所述校验和字段,这样所述后端服务器根据该指示信息去还原所述负载均衡服务器的后端IP地址。
一些实施方式中,所述负载均衡服务器更新所述校验和字段,包括:
所述负载均衡服务器将所述后端IP地址的子网网段转换为预定义数据类型的数据,将转换为所述预定义数据类型的子网网段存储于所述校验和字段。
例如,负载均衡服务器可将该子网网段转换为16进制的数据,然后将得到的16进制的数据存储于所述校验和字段,进而向后端服务器提供自身的后端IP地址,便于后端服务器后续可以实现向所述终端设备推送业务的报文返程流程。具体转换的数据类型的数据本申请不作限定。
如图4所示,后端服务器接收到第二报文后,从第二报文的校验和字段中获取到负载均衡服务器的后端IP地址的子网网段10.10,然后根据10.10还原得到负载均衡服务器的后端IP地址:100.125.10.10。
在一些实施方式,与负载均衡服务器类似,后端服务器也会接收到大量的报文。为有针对性的对特定的报文进行负载均衡处理和提高处理效率,所述负载均衡服务器更新所述IP首部之后,还可以在所述IP首部中的保留字段设置第二标记,所述第二标记用于所述后端服务器从接收到的报文中识别出所述第二报文。可见,通过设置第二标记,能够向后端服务器提示哪些报文需要进行负载均衡处理,相较于现有机制,具有一定的针对性,并且能够提高负载均衡处理的效率以及优化负载均衡处理机制。
304、所述负载均衡服务器记录所述第一IP地址、所述前端IP地址、所述后端IP地址和所述第二IP地址之间的第一映射关系。
例如图4所示,终端设备的第一IP地址为201.202.203.204,负载均衡服务器的前端IP地址为200.200.200.200:169,负载均衡服务器的后端IP地址为100.125.10.10,负载均衡服务器分配给终端设备的后端服务器的第二IP地址为192.168.10.11:456。那么,第一映射关系可以是指{201.202.203.204→200.200.200.200:169,100.125.10.10→192.168.10.11:456}。
305、所述负载均衡服务器向所述后端服务器发送所述第二报文。
其中,所述第二报文包括IP首部和校验和字段,所述IP首部包括源IP地址、目的IP地址和保留字段,所述源IP地址为终端设备的第一IP地址,所述目的IP地址为所述后端服务器的第二IP地址,所述校验和字段包括用于指示所述负载均衡服务器的后端IP地址的指示信息。
306、后端服务器接收来自负载均衡服务器的第二报文。
307、所述后端服务器从所述第二报文的IP首部中获取所述第一IP地址。
可选的,除了向所述后端服务器呈现所述第一IP地址的可见性,为了后续后端服务器可向终端设备主动推送业务。还可以包括下述操作308。
308、后端服务器根据所述校验和字段获取所述后端IP地址,并记录所述第一IP地址、所述后端IP地址和所述第二IP地址之间的第二映射关系。
记录所述第二映射关系,便于后续后端服务器可基于第二映射关系向终端设备主动推送业务,从而处理基于终端设备的IP地址的业务。
在一些实施方式中,所述后端服务器从所述第二报文中的校验和字段获取所述子网网段,然后根据所述子网网段即可还原所述后端IP地址。
在一些实施方式中,若所述负载均衡服务器对所述保留字段进行设置,那么,所述后端服务器可根据所述保留字段确定第二报文为待处理业务的报文,所述待处理业务是指所述后端服务器基于所述终端设备的第一IP地址进行的业务。例如,若所述负载均衡服务器在所述保留字段设置第二标记,所述后端服务器可根据所述第二标记从接收到的报文中识别出所述第二报文为待处理业务的报文。
可见,负载均衡服务器通过设置第二标记,能够向后端服务器提示哪些报文需要进行负载均衡处理。较于现有机制,后端服务器基于该第二标记就能够快速的、有针对性的从接收到的大量报文中确定出需要进行负载均衡处理的报文,相较于现有机制,能够提高负载均衡处理的效率以及优化负载均衡处理机制。
本申请实施例中,负载均衡服务器匹配到所述第一报文后,将所述第一报文中的源IP地址更新为所述第一IP地址,得到第二报文,将目的地址更新为第二IP地址,以及将校验和字段更新为用于指示所述负载均衡服务器的后端IP地址的指示信息。记录所述第一IP地址、前端IP地址、后端IP地址和所述第二IP地址之间的第一映射关系。并向所述后端服务器发送所述第二报文,由于第二报文中的源IP地址被更新为终端设备的第一IP地址,校验和包括所述指示信息,所以后端服务器能够从该第二报文中获取到所述第一IP地址,记录所述第二映射关系。这样后端服务器获取到第一IP地址后,就可以根据第二映射关系处理基于该第一IP地址的业务。并且,本申请实施例在不增加报文长度的前提下,应用已有的UDP报文结构就能够实现终端设备的第一IP地址的可见性。
从而实现终端设备的第一IP地址的可见性。
需要说明的是,本申请中的第一报文和第二报文的结构一致、二者所包含的数据一致,区别主要在于保留字段、校验和字段以及目的IP地址不同,本申请实施例采用第一、第二进行区分,仅为便于引用。
可选的,在本申请的一些实施例中中,由于负载均衡服务器修改了原来校验和字段中的信息,所以后端服务器可能会认为第二报文为错误的报文,会丢弃该第二报文。所以,所述后端服务器在根据所述校验和字段获取所述负载均衡服务器的后端IP地址之后,还可以将所述第二报文中的校验和字段清零,或者重新计算所述第二报文中的校验和字段所指示的校验和。清0或者重新计算后,后端服务器再将该第二报文传送到其部署的虚拟机,收到第二报文的虚拟机可去获取相应的业务报文,并且,该终端设备的第一IP地址对该虚拟机为完全可见的状态。
可见,后端服务器对第二报文中的校验和字段清0或者重新计算后,能够消除认为第二报文为错误的报文,导致无法继续部署基于第一IP地址的业务应用的问题。
可选的,在本申请的一些实施例中中,后端服务器在获取上述第一IP地址和上述后端IP地址,以及记录上述第二映射关系后,若该后端服务器需要基于该第一IP地址向终端设备推送业务,还可以基于该第二映射关系向负载均衡服务器发送报文,发送报文的过程可以理解为前述发送第一报文和第二报文的返程,具体流程如图5所示,如下:
501、所述后端服务器根据所述第二映射关系将所述第二报文中的源IP地址更新为所述第二IP地址,以及将所述第二报文中的目的IP地址更新为所述后端IP地址,得到第三报文。
502、所述后端服务器向所述负载均衡服务器发送所述第三报文。
可见,后端服务器能够基于记录的第二映射关系向终端设备推送基于第一IP地址的报文。
503、所述负载均衡服务器接收所述后端服务器发送的第三报文。
504、所述负载均衡服务器根据所述第一映射关系将所述第三报文中的源IP地址更新为所述负载均衡服务器的前端IP地址,以及将所述第三报文中的目的IP地址更新为所述第一IP地址,得到第四报文。
505、所述负载均衡服务器将所述第四报文发给所述终端设备。
506、所述终端设备接收来自所述负载均衡服务器的第四报文。
本申请实施例中,由于所述负载均衡服务器已记录第一映射关系,当后端服务器基于第二映射关系发送的第三报文后,后端服务器就可以确定该第三报文是针对该终端设备发送的。所以,负载均衡服务器能够基于所述第一映射关系更新目的IP地址后,向终端设备推送第四报文,进而完成整个基于第一IP地址的业务的推送。
需要说明的是,本申请中的第三报文和第四报文的结构一致、二者所包含的数据一致,区别主要在于源IP地址和目的IP地址不同,本申请实施例采用第三、第四进行区分,仅为便于引用。
上述图1至图5中任一所对应的实施例中出现的任意特征的定义也同样适用于本申请中的图6至图9所对应的实施例,后续类似之处不再赘述。
以上对本申请中一种负载均衡处理的方法进行说明,以下对执行上述负载均衡的处理方法的负载均衡服务器、后端服务器及通信***进行描述。
参照图6,所述负载均衡服务器可用于执行上述图1至图5中任一所对应的实施例中由负载均衡服务器执行的操作。本申请实施例中,所述负载均衡服务器可包括:
收发模块,用于根据匹配项匹配来自终端设备的第一报文,所述第一报文中包括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地址的子网网段转换为预定义数据类型的数据,将转换为所述预定义数据类型的子网网段存储于所述校验和字段。
参照图7,所述后端服务器可用于执行上述图1至图5中任一所对应的实施例中由后端服务器执行的操作。本申请实施例中,所述后端服务器可包括:
收发模块,用于接收来自负载均衡服务器的第二报文,所述第二报文包括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地址之后,还用于:
将所述第二报文中的校验和字段清零,或者重新计算所述第二报文中的校验和字段所指示的校验和。
参照图8,通信***包括至少一个终端设备、至少一个如图6所示的负载均衡服务器、以及至少一个如图7所示的后端服务器。
图9为本申请实施例提供的负载均衡处理的装置的一结构示意图,其中,可包括至少一个处理器、至少一个网络接口或者其它通信接口、存储器、至少一个通信总线、至少一个收发器用于实现这些装置之间的连接通信。上述处理器用于执行上述存储器中存储的可执行模块,例如计算机程序。上述存储器可能包含高速随机存取存储器(英文全称:randomaccess memory,英文简称:RAM),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个网络接口(可以是有线或者无线)实现该***网关与至少一个其它网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
如图9所示,在一些实施方式中,上述存储器中存储了程序指令,上述程序指令可以被上述处理器执行,通过调用存储器存储的程序指令,上述处理器具体执行本申请实施例中的业务管理的方法时需要调用的程序代码。
需要说明的是,在本申请各实施例(包括图6、图7和图8所示的各实施例)中所有的收发模块对应的实体设备可以为收发器,所有的处理模块对应的实体设备可以为处理器。图6、图7和图8所示的各装置均可以具有如图9所示的结构,当其中一种装置具有如图9所示的结构时,图9中的处理器和收发器实现前述对应该装置的装置实施例提供的处理模块和收发模块相同或相似的功能,图9中的存储器存储处理器执行上述负载均衡处理的方法时需要调用的程序代码。
例如,当图9所示的负载均衡处理的装置实现如图5所示的负载均衡服务器的功能时,所述处理器可调用存储器中的指令执行下述操作:
通过所述收发器根据匹配项匹配来自终端设备的第一报文,所述第一报文中包括IP首部和校验和字段,所述IP首部包括源IP地址和目的IP地址,所述源IP地址为所述终端设备的第一IP地址,所述目的IP地址为所述负载均衡服务器的前端IP地址;
更新所述IP首部和所述校验和字段,得到第二报文,所述第二报文中的源IP地址为所述第一IP地址,所述第二报文中的目的IP地址为后端服务器的第二IP地址,所述校验和字段包括用于指示所述负载均衡服务器的后端IP地址的指示信息;
记录所述第一IP地址、所述前端IP地址、所述后端IP地址和所述第二IP地址之间的第一映射关系;
通过所述收发器向所述后端服务器发送所述第二报文,以使所述后端服务器获取所述第二报文的IP首部中的所述第一IP地址,以及根据所述校验和字段获取所述后端IP地址,记录所述第一IP地址、所述后端IP地址和所述第二IP地址之间的第二映射关系。
例如,当图9所示的负载均衡处理的装置实现如图6所示的后端服务器的功能时,所述处理器可调用存储器中的指令执行下述操作:
通过所述收发器接收来自负载均衡服务器的第二报文,所述第二报文包括IP首部和校验和字段,所述IP首部包括源IP地址、目的IP地址和保留字段,所述源IP地址为终端设备的第一IP地址,所述目的IP地址为所述后端服务器的第二IP地址,所述校验和字段包括用于指示所述负载均衡服务器的后端IP地址的指示信息;
从所述第二报文的IP首部中获取所述第一IP地址,以及根据所述校验和字段获取所述后端IP地址;
记录所述第一IP地址、所述后端IP地址和所述第二IP地址之间的第二映射关系。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘solid state disk(SSD))等。
以上对本申请所提供的技术方案进行了详细介绍,本申请中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (26)

1.一种负载均衡处理的方法,其特征在于,所述方法包括:
负载均衡服务器根据匹配项匹配到来自终端设备的第一报文,所述第一报文中包括IP首部和校验和字段,所述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首部和所述校验和字段之前,所述方法还包括:
所述负载均衡服务器中的内核对所述第一报文设置第一标记,记录所述第一IP地址,将设置所述第一标记的所述第一报文传递给所述负载均衡服务器中的负载均衡代理器,所述第一标记用于指示所述第一报文为待进行负载均衡处理的报文,以及指示对所述第一报文的所述IP首部和所述校验和字段进行更新;
所述负载均衡服务器更新所述IP首部和所述校验和字段,包括:
所述负载均衡服务器中的所述负载均衡代理器将所述源IP地址更新为所述负载均衡服务器的后端IP地址,以及将所述目的IP地址更新为所述第二IP地址,并将更新后的所述第一报文传递给所述负载均衡服务器中的所述内核;
所述负载均衡服务器中的所述内核根据第一标记,将所述源IP地址更新为所述第一IP地址,以及更新设置所述第一标记的所述第一报文中的所述校验和字段。
3.根据权利要求2所述的方法,其特征在于,所述负载均衡服务器中的所述内核根据第一标记,将所述源IP地址更新为所述第一IP地址,以及更新设置所述第一标记的所述第一报文中的所述校验和字段之后,所述方法还包括:
所述负载均衡服务器的内核在所述IP首部中的保留字段设置第二标记,所述第二标记用于所述后端服务器从接收到的报文中识别出所述第二报文为待处理业务的报文,所述待处理业务是指所述后端服务器基于所述终端设备的第一IP地址进行的业务。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
所述负载均衡服务器接收所述后端服务器发送的第三报文;
所述负载均衡服务器根据所述第一映射关系将所述第三报文中的源IP地址更新为所述负载均衡服务器的前端IP地址,以及将所述第三报文中的目的IP地址更新为所述第一IP地址,得到第四报文;
所述负载均衡服务器将所述第四报文发给所述终端设备。
5.根据权利要求2-4中任一项所述的方法,其特征在于,所述指示信息包括所述后端IP地址的子网网段,所述子网网段用于所述后端服务器还原所述后端IP地址。
6.根据权利要求5所述的方法,其特征在于,所述负载均衡服务器中的内核更新所述校验和字段,包括:
所述负载均衡服务器中的内核将所述后端IP地址的子网网段转换为预定义数据类型的数据,将转换为所述预定义数据类型的子网网段存储于所述校验和字段。
7.一种负载均衡处理的方法,其特征在于,所述方法包括:
后端服务器接收来自负载均衡服务器的第二报文,所述第二报文包括IP首部和校验和字段,所述IP首部包括源IP地址、目的IP地址和保留字段,所述源IP地址为终端设备的第一IP地址,所述目的IP地址为所述后端服务器的第二IP地址,所述校验和字段包括用于指示所述负载均衡服务器的后端IP地址的指示信息;
所述后端服务器从所述第二报文的IP首部中获取所述第一IP地址,以及根据所述校验和字段获取所述后端IP地址;
所述后端服务器记录所述第一IP地址、所述后端IP地址和所述第二IP地址之间的第二映射关系。
8.根据权利要求7所述的方法,其特征在于,所述IP首部包括保留字段,所述后端服务器接收来自负载均衡服务器的第二报文之后,所述后端服务器从所述第二报文的IP首部中获取所述第一IP地址,以及根据所述校验和字段获取所述负载均衡服务器的后端IP地址之前,所述方法还包括:
所述后端服务器根据所述保留字段确定第二报文为待处理业务的报文,所述待处理业务是指所述后端服务器基于所述终端设备的第一IP地址进行的业务。
9.根据权利要求8所述的方法,其特征在于,所述保留字段包括第二标记,所述后端服务器根据所述保留字段确定第二报文为待处理业务的报文,包括:
所述后端服务器根据所述第二标记从接收到的报文中识别出所述第二报文为待处理业务的报文;
所述后端服务器从所述第二报文的IP首部中获取所述第一IP地址,以及根据所述校验和字段获取所述后端IP地址,包括:
所述后端服务器根据所述第二标记,从所述第二报文的IP首部中获取所述第一IP地址,以及根据所述校验和字段获取所述后端IP地址。
10.根据权利要求7-9中任一项所述的方法,其特征在于,所述指示信息包括所述后端IP地址的子网网段,所述根据所述校验和字段获取所述后端IP地址,包括:
所述后端服务器从所述第二报文中的校验和字段获取所述子网网段;
所述后端服务器根据所述子网网段还原所述后端IP地址;
所述后端服务器从所述第二报文的IP首部中获取所述第一IP地址之后,所述方法还包括:
所述后端服务器根据所述第二映射关系将所述第二报文中的源IP地址更新为所述第二IP地址,以及将所述第二报文中的目的IP地址更新为所述后端IP地址,得到第三报文;
所述后端服务器向所述负载均衡服务器发送所述第三报文。
11.根据权利要求7-10中任一项所述的方法,其特征在于,所述根据所述校验和字段获取所述负载均衡服务器的后端IP地址之后,所述方法还包括:
将所述第二报文中的校验和字段清零,或者重新计算所述第二报文中的校验和字段所指示的校验和。
12.一种负载均衡服务器,其特征在于,所述负载均衡服务器包括:
收发模块,用于根据匹配项匹配来自终端设备的第一报文,所述第一报文中包括IP首部和校验和字段,所述IP首部包括源IP地址和目的IP地址,所述源IP地址为所述终端设备的第一IP地址,所述目的IP地址为所述负载均衡服务器的前端IP地址;
处理模块,用于更新所述收发模块获取的所述第一报文中的所述IP首部和所述校验和字段,得到第二报文,所述第二报文中的源IP地址为所述第一IP地址,所述第二报文中的目的IP地址为后端服务器的第二IP地址,所述校验和字段包括用于指示所述负载均衡服务器的后端IP地址的指示信息;
记录所述第一IP地址、所述前端IP地址、所述后端IP地址和所述第二IP地址之间的第一映射关系;
通过所述收发模块向所述后端服务器发送所述第二报文,以使所述后端服务器获取所述第二报文的IP首部中的所述第一IP地址,以及根据所述校验和字段获取所述后端IP地址,记录所述第一IP地址、所述后端IP地址和所述第二IP地址之间的第二映射关系。
13.根据权利要求12所述的负载均衡服务器,其特征在于,所述处理模块具体用于:
将所述源IP地址更新为所述负载均衡服务器的后端IP地址,以及将所述目的IP地址更新为所述第二IP地址;
将所述源IP地址更新为所述第一IP地址。
14.根据权利要求13所述的负载均衡服务器,其特征在于,所述处理模块根据匹配项匹配到来自终端设备的第一报文后,更新所述IP首部和所述校验和字段之前,所述处理模块还用于:
对所述第一报文设置第一标记,所述第一标记用于指示所述第一报文为待进行负载均衡处理的报文;
更新设置所述第一标记的所述第一报文中的所述IP首部和所述校验和字段。
15.根据权利要求13或14所述的负载均衡服务器,其特征在于,所述处理模块更新所述IP首部之后,还用于:
在所述IP首部中的保留字段设置第二标记,所述第二标记用于所述后端服务器从接收到的报文中识别出所述第二报文。
16.根据权利要求13-15中任一项所述的负载均衡服务器,其特征在于,所述处理模块还用于:
通过所述收发模块接收所述后端服务器发送的第三报文;
根据所述第一映射关系将所述第三报文中的源IP地址更新为所述负载均衡服务器的前端IP地址,以及将所述第三报文中的目的IP地址更新为所述第一IP地址,得到第四报文;
通过所述收发模块将所述第四报文发给所述终端设备。
17.根据权利要求13-16中任一项所述的负载均衡服务器,其特征在于,所述指示信息包括所述后端IP地址的子网网段,所述子网网段用于所述后端服务器还原所述后端IP地址。
18.根据权利要求17所述的负载均衡服务器,其特征在于,所述处理模块具体用于:
所述负载均衡服务器将所述后端IP地址的子网网段转换为预定义数据类型的数据,将转换为所述预定义数据类型的子网网段存储于所述校验和字段。
19.一种后端服务器,其特征在于,所述后端服务器包括:
收发模块,用于接收来自负载均衡服务器的第二报文,所述第二报文包括IP首部和校验和字段,所述IP首部包括源IP地址、目的IP地址和保留字段,所述源IP地址为终端设备的第一IP地址,所述目的IP地址为所述后端服务器的第二IP地址,所述校验和字段包括用于指示所述负载均衡服务器的后端IP地址的指示信息;
从所述第二报文的IP首部中获取所述第一IP地址,以及根据所述校验和字段获取所述后端IP地址;
处理模块,用于记录所述第一IP地址、所述后端IP地址和所述第二IP地址之间的第二映射关系。
20.根据权利要求19所述的后端服务器,其特征在于,所述IP首部包括保留字段,所述处理模块在所述收发模块接收来自负载均衡服务器的第二报文之后,从所述第二报文的IP首部中获取所述第一IP地址,以及根据所述校验和字段获取所述负载均衡服务器的后端IP地址之前,还用于:
根据所述保留字段确定第二报文为待处理业务的报文,所述待处理业务是指所述后端服务器基于所述终端设备的第一IP地址进行的业务。
21.根据权利要求20所述的后端服务器,其特征在于,所述保留字段包括第二标记,所述处理模块具体用于:
根据所述第二标记从接收到的报文中识别出所述第二报文为待处理业务的报文。
22.根据权利要求19-21中任一项所述的后端服务器,其特征在于,所述指示信息包括所述后端IP地址的子网网段,所述处理模块具体用于:
通过收发模块从所述第二报文中的校验和字段获取所述子网网段;
根据所述子网网段还原所述后端IP地址;
所述处理模块在所述收发模块从所述第二报文的IP首部中获取所述第一IP地址之后,还用于:
根据所述第二映射关系将所述第二报文中的源IP地址更新为所述第二IP地址,以及将所述第二报文中的目的IP地址更新为所述后端IP地址,得到第三报文;
通过收发模块向所述负载均衡服务器发送所述第三报文。
23.根据权利要求19-22中任一项所述的后端服务器,其特征在于,所述处理模块在所述收发模块根据所述校验和字段获取所述负载均衡服务器的后端IP地址之后,还用于:
将所述第二报文中的校验和字段清零,或者重新计算所述第二报文中的校验和字段所指示的校验和。
24.一种负载均衡处理的装置,其特征在于,所述装置包括:
至少一个处理器、存储器和收发器;
其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中存储的程序代码来执行如权利要求1-6任一项所述的方法,或者执行如权利要求7-11中任一项所述的方法。
25.一种计算机存储介质,其特征在于,其包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-6任一所述的方法,或者执行如权利要求7-11中任一项所述的方法。
26.一种包含指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得计算机执行上述权利要求1-6任一所述的方法,或者执行如权利要求7-11中任一项所述的方法。
CN201711105995.8A 2017-11-10 2017-11-10 一种负载均衡处理的方法、服务器、装置及存储介质 Active CN107786669B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711105995.8A CN107786669B (zh) 2017-11-10 2017-11-10 一种负载均衡处理的方法、服务器、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711105995.8A CN107786669B (zh) 2017-11-10 2017-11-10 一种负载均衡处理的方法、服务器、装置及存储介质

Publications (2)

Publication Number Publication Date
CN107786669A true CN107786669A (zh) 2018-03-09
CN107786669B CN107786669B (zh) 2021-06-22

Family

ID=61431763

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711105995.8A Active CN107786669B (zh) 2017-11-10 2017-11-10 一种负载均衡处理的方法、服务器、装置及存储介质

Country Status (1)

Country Link
CN (1) CN107786669B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109361749A (zh) * 2018-10-24 2019-02-19 华为技术有限公司 报文处理方法、相关设备及计算机存储介质
CN110753072A (zh) * 2018-07-24 2020-02-04 阿里巴巴集团控股有限公司 负载均衡***、方法、装置及设备
WO2020024380A1 (zh) * 2018-08-01 2020-02-06 平安科技(深圳)有限公司 一种数据访问方法及***
CN112615784A (zh) * 2020-12-17 2021-04-06 北京天融信网络安全技术有限公司 一种转发报文的方法、装置、存储介质和电子设备
CN113973086A (zh) * 2020-07-07 2022-01-25 中移(苏州)软件技术有限公司 一种数据传输方法、装置及存储介质
CN113973110A (zh) * 2021-10-25 2022-01-25 北京奇艺世纪科技有限公司 一种报文生成方法、装置及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7185067B1 (en) * 2002-08-27 2007-02-27 Cisco Technology, Inc. Load balancing network access requests
CN102255932A (zh) * 2010-05-20 2011-11-23 百度在线网络技术(北京)有限公司 负载均衡方法和负载均衡器
CN102480469A (zh) * 2010-11-29 2012-05-30 北京中和威软件有限公司 一种sip服务集群中基于能量均衡的负载调度的方法及装置
CN102523302A (zh) * 2011-12-26 2012-06-27 成都市华为赛门铁克科技有限公司 虚拟机集群的负载均衡方法、服务器及***
CN103491053A (zh) * 2012-06-08 2014-01-01 北京百度网讯科技有限公司 Udp负载均衡方法、***及装置
CN106686085A (zh) * 2016-12-29 2017-05-17 华为技术有限公司 一种负载均衡的方法、装置和***
CN107026890A (zh) * 2016-02-02 2017-08-08 华为技术有限公司 一种基于服务器集群的报文生成方法和负载均衡器

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7185067B1 (en) * 2002-08-27 2007-02-27 Cisco Technology, Inc. Load balancing network access requests
CN102255932A (zh) * 2010-05-20 2011-11-23 百度在线网络技术(北京)有限公司 负载均衡方法和负载均衡器
CN102480469A (zh) * 2010-11-29 2012-05-30 北京中和威软件有限公司 一种sip服务集群中基于能量均衡的负载调度的方法及装置
CN102523302A (zh) * 2011-12-26 2012-06-27 成都市华为赛门铁克科技有限公司 虚拟机集群的负载均衡方法、服务器及***
CN103491053A (zh) * 2012-06-08 2014-01-01 北京百度网讯科技有限公司 Udp负载均衡方法、***及装置
CN107026890A (zh) * 2016-02-02 2017-08-08 华为技术有限公司 一种基于服务器集群的报文生成方法和负载均衡器
CN106686085A (zh) * 2016-12-29 2017-05-17 华为技术有限公司 一种负载均衡的方法、装置和***

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110753072A (zh) * 2018-07-24 2020-02-04 阿里巴巴集团控股有限公司 负载均衡***、方法、装置及设备
CN110753072B (zh) * 2018-07-24 2022-06-03 阿里巴巴集团控股有限公司 负载均衡***、方法、装置及设备
WO2020024380A1 (zh) * 2018-08-01 2020-02-06 平安科技(深圳)有限公司 一种数据访问方法及***
CN109361749A (zh) * 2018-10-24 2019-02-19 华为技术有限公司 报文处理方法、相关设备及计算机存储介质
CN109361749B (zh) * 2018-10-24 2022-03-29 华为云计算技术有限公司 报文处理方法、相关设备及计算机存储介质
US11316916B2 (en) 2018-10-24 2022-04-26 Huawei Technologies Co., Ltd. Packet processing method, related device, and computer storage medium
CN113973086A (zh) * 2020-07-07 2022-01-25 中移(苏州)软件技术有限公司 一种数据传输方法、装置及存储介质
CN113973086B (zh) * 2020-07-07 2024-01-26 中移(苏州)软件技术有限公司 一种数据传输方法、装置及存储介质
CN112615784A (zh) * 2020-12-17 2021-04-06 北京天融信网络安全技术有限公司 一种转发报文的方法、装置、存储介质和电子设备
CN113973110A (zh) * 2021-10-25 2022-01-25 北京奇艺世纪科技有限公司 一种报文生成方法、装置及电子设备
CN113973110B (zh) * 2021-10-25 2024-03-15 北京奇艺世纪科技有限公司 一种报文生成方法、装置及电子设备

Also Published As

Publication number Publication date
CN107786669B (zh) 2021-06-22

Similar Documents

Publication Publication Date Title
CN107786669A (zh) 一种负载均衡处理的方法、服务器、装置及存储介质
CN104156216B (zh) 一种面向云计算的异构存储管理***及方法
CN105338026B (zh) 数据资源的获取方法、装置和***
CN103404084B (zh) Mac地址强制转发装置及方法
CN104753697B (zh) 一种控制网络设备自动开局的方法、设备及***
CN107078969A (zh) 实现负载均衡的计算机设备、***和方法
CN104038401A (zh) 用于分布式覆盖虚拟环境的互操作性
US11095716B2 (en) Data replication for a virtual networking system
CN104811392B (zh) 用于处理网络中的资源访问请求的方法和***
CN103607432B (zh) 一种网络创建的方法和***及网络控制中心
JP2012213240A5 (zh)
CN103118149B (zh) 同一租户内服务器间的通信控制方法及网络设备
CN105453058B (zh) 目录服务发现和/或学习
CN106155264B (zh) 管理存储子***的电力消耗的计算机方法与计算机***
WO2018214817A1 (zh) 报文转发方法及装置、设备、存储介质
CN105812321A (zh) 一种基于用户信息管理文件资源的网络文件***和处理方法
CN108173893A (zh) 用于连网的方法和设备
JP2024507146A (ja) キャッシュされた構成情報およびキャッシュされない構成情報に基づいたクラウドインフラストラクチャにおけるパケットフロー
CN107168903A (zh) 一种非易失性存储介质
CN106878052A (zh) 一种用户迁移方法和装置
WO2015100628A1 (zh) 网元数据访问方法、装置以及网络管理***
US20190028392A1 (en) Systems and methods for enhanced autonegotiation
CN109981437A (zh) 一种基于vpc的多数据中心互通方法及相关设备
CN104838624A (zh) 一种控制业务数据在虚拟网络中转发的方法、装置及***
CN104243522B (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220215

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.