LVS制造技术

技术编号:39771308 阅读:6 留言:0更新日期:2023-12-22 02:22
本发明专利技术提供

【技术实现步骤摘要】
LVS负载均衡中的数据包处理方法


[0001]本专利技术涉及数据包处理
,尤其涉及
LVS
负载均衡中的数据包处理方法


技术介绍

[0002]LVS
相当于基于
IP
地址的虚拟化应用,为基于
IP
地址和内容请求分发的负载均衡提出了高效的解决方法,通过
LVS
达到的负载均衡技术和
Linux
操作系统实现一个高性能高可用的
Linux
服务器集群,具有良好的可靠性

可扩展性和可操作性

从而以低廉的成本实现最优的性能

[0003]现有的技术中,
LVS
负载均衡中的数据包处理方法是采用单一的负载均衡算法选择后端服务器,缺少对后端服务器运行状态的检测,当后端服务器出现故障时无法及时应对,导致客户端在请求访问资源时需要等待较长时间,并且无法确保客户端能够访问成功;比如在申请公开号为
CN113364660A
的中国专利中,公开了负载均衡中的数据包处理方法及装置,该处理方法通过建立的
IP
隧道将响应数据包发送至
LVS
服务器进行转发,实现了响应数据包跨机房传输,解决了用户请求无法完成的问题;但是该方法缺少对后端服务器的运行检测,以及存在故障排除后未及时将服务器并入负载均衡中导致其他服务器可能会因过载出现故障的问题


技术实现思路

[0004]针对现有技术存在的不足,本专利技术提供了
LVS
负载均衡中的数据包处理方法,接收客户端发送的请求数据包,将请求数据包发送至负载均衡器,将请求数据包内的源地址和目的地址进行修改,解析修改数据包中的请求参数,监控后端服务器的连接数情况,当任意两个后端服务器的连接数相差超过延迟极限阈值时进行故障探测处理,当接收到故障服务器的
IP
地址时,输出故障检修信号;此时将原方法中的轮询算法替换为最小连接数算法,重新将后端服务器进行编号;每隔第一探测时间向故障服务器发送探测数据包,当得到正常回应时,短时间内将新负载全部转移到该服务器上,直到该服务器的连接数与连接数最小的后端服务器一样,此时将该服务器重新归入后端服务器,同时将负载均衡算法重新替换为原轮询算法,以解决现有的
LVS
负载均衡中的数据包处理方法中缺少对后端服务器运行状态的检测,无法确保客户端能够访问成功,以及故障排除后未及时将服务器并入负载均衡中导致其他服务器可能会因过载出现故障的问题

[0005]为了实现上述目的,本专利技术是通过如下的技术方案来实现:第一方面,本申请提供
LVS
负载均衡中的数据包处理方法,包括如下步骤:
[0006]步骤
S1
,接收客户端发送的请求数据包,将请求数据包发送至负载均衡器;
[0007]步骤
S2
,根据负载均衡算法选择合适的后端服务器作为目标服务器,并将请求数据包内的源地址和目的地址进行修改,标记为修改数据包;将修改数据包发送给目标服务器;
[0008]步骤
S3
,解析修改数据包中的请求参数,根据请求对应的逻辑进行处理,将响应数
据写入响应数据包;将响应数据包发送给负载均衡器;
[0009]步骤
S4
,将响应数据包内的源地址以及目的地址进行修改,将响应数据包发送给客户端;
[0010]步骤
S5
,监控后端服务器的连接数情况,当任意两个后端服务器的连接数相差超过延迟极限阈值时进行故障探测处理;
[0011]步骤
S6
,当接收到故障服务器的
IP
地址时,输出故障检修信号,同时每间隔第一探测时间向故障服务器发送探测数据包

[0012]进一步地,所述步骤
S1
包括如下子步骤:
[0013]步骤
S101
,预先设定若干可被负载的后端服务器
IP
地址,若干后端服务器具有相同的应用程序和数据;
[0014]步骤
S102
,将负载均衡器的
IP
地址配置为客户端访问服务器的地址;
[0015]步骤
S103
,当客户端请求访问服务器时,将请求数据包发送到负载均衡器的
IP
地址

[0016]进一步地,所述步骤
S2
包括如下子步骤:
[0017]步骤
S201
,将若干后端服务器进行编号,编号
H1

HN
;其中
N
为正整数且
N
大于1;
[0018]步骤
S202
,当接收到请求数据包时,利用轮询算法选择目标服务器;所述轮询算法配置为:
[0019]将
H1
编号至
HN
编号的后端服务器的
IP
地址标记为目标
IP
地址;获取
H1
编号后端服务器的
IP
地址,输出目标
IP
地址;当接收到第二个请求数据包时,获取
H2
编号后端服务器的
IP
地址,输出目标
IP
地址;以此类推,当接收到第
N+1
个请求数据包时,获取
H[(N+1)

N]编号后端服务器的
IP
地址,输出目标
IP
地址,其中%为取余符号,表示
N+1

N
取余;
[0020]步骤
S203
,将请求数据包的源地址写入请求数据包,标记为数据源地址;将请求数据包的源地址修改为负载均衡器的
IP
地址,将目的地址修改为目标
IP
地址;将修改数据包发送至目标服务器

[0021]进一步地,所述步骤
S3
包括如下子步骤:
[0022]步骤
S3011
,获取修改数据包,解析修改数据包中的请求数据,所述请求数据包括请求头

请求体以及请求参数;所述请求头包括
GET
请求方法以及
POST
请求方法;所述请求体为具体请求内容,其中
GET
请求方法的请求体为空,请求参数不为空;
POST
请求方法的请求体包含请求参数;所述请求参数为查询字符串;
[0023]步骤
S3012
,获取请求头;当获取到
GET
请求方法时输出
GET
请求信号;当获取到
POST
请求方法时输出
POST
请求本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.LVS
负载均衡中的数据包处理方法,其特征在于,包括如下步骤:步骤
S1
,接收客户端发送的请求数据包,将请求数据包发送至负载均衡器;步骤
S2
,根据负载均衡算法选择合适的后端服务器作为目标服务器,并将请求数据包内的源地址和目的地址进行修改,标记为修改数据包;将修改数据包发送给目标服务器;步骤
S3
,解析修改数据包中的请求参数,根据请求对应的逻辑进行处理,将响应数据写入响应数据包;将响应数据包发送给负载均衡器;步骤
S4
,将响应数据包内的源地址以及目的地址进行修改,将响应数据包发送给客户端;步骤
S5
,监控后端服务器的连接数情况,当任意两个后端服务器的连接数相差超过延迟极限阈值时进行故障探测处理;步骤
S6
,当接收到故障服务器的
IP
地址时,输出故障检修信号,同时每间隔第一探测时间向故障服务器发送探测数据包
。2.
根据权利要求1所述的
LVS
负载均衡中的数据包处理方法,其特征在于,所述步骤
S1
包括如下子步骤:步骤
S101
,预先设定若干可被负载的后端服务器
IP
地址,若干后端服务器具有相同的应用程序和数据;步骤
S102
,将负载均衡器的
IP
地址配置为客户端访问服务器的地址;步骤
S103
,当客户端请求访问服务器时,将请求数据包发送到负载均衡器的
IP
地址
。3.
根据权利要求2所述的
LVS
负载均衡中的数据包处理方法,其特征在于,所述步骤
S2
包括如下子步骤:步骤
S201
,将若干后端服务器进行编号,编号
H1

HN
;其中
N
为正整数且
N
大于1;步骤
S202
,当接收到请求数据包时,利用轮询算法选择目标服务器;所述轮询算法配置为:将
H1
编号至
HN
编号的后端服务器的
IP
地址标记为目标
IP
地址;获取
H1
编号后端服务器的
IP
地址,输出目标
IP
地址;当接收到第二个请求数据包时,获取
H2
编号后端服务器的
IP
地址,输出目标
IP
地址;以此类推,当接收到第
N+1
个请求数据包时,获取
H[(N+1)

N]
编号后端服务器的
IP
地址,输出目标
IP
地址,其中%为取余符号,表示
N+1

N
取余;步骤
S203
,将请求数据包的源地址写入请求数据包,标记为数据源地址;将请求数据包的源地址修改为负载均衡器的
IP
地址,将目的地址修改为目标
IP
地址;将修改数据包发送至目标服务器
。4.
根据权利要求3所述的
LVS
负载均衡中的数据包处理方法,其特征在于,所述步骤
S3
包括如下子步骤:步骤
S3011
,获取修改数据包,解析修改数据包中的请求数据,所述请求数据包括请求头

请求体以及请求参数;所述请求头包括
GET
请求方法以及
POST
请求方法;所述请求体为具体请求内容,其中
GET
请求方法的请求体为空,请求参数不为空;
POST
请求方法的请求体包含请求参数;所述请求参数为查询字符串;步骤
S3012
,获取请求头;当获取到
GET
请求方法时输出
GET
请求信号;当获取到
POST
请求方法时输出
POST
请求信号
。5.
根据权利要求4所述的
LVS
负载均衡中的数据包处理方法,其特征在于,所述步骤
S3
还包括如下子步骤:步骤
S3021
,接收请求信号;步骤
S3022
,当接收到
GET
请求信号时,根据请求参数中的查询字符串查询服务器中的具体内容,当成功查询到具体内容时,输出状态码为
200
,输出响应时间以及具体响应内容;将数据源地址

具体响应内容以及响应时间封装成响应数据包;将响应数据包发送至负载均衡器;当未查询到具体内容时,输出状态码为
404
...

【专利技术属性】
技术研发人员:章俊郑峤峰俞荫乾
申请(专利权)人:安徽助行软件科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1