网络请求的转发方法、装置、计算机设备以及存储介质制造方法及图纸

技术编号:34776266 阅读:14 留言:0更新日期:2022-08-31 19:49
本发明专利技术公开了一种网络请求的转发方法、装置、计算机设备以及存储介质。该方法包括:创建套接字映射,所述套接字映射的键包括负载均衡器的地址和端口、服务器的地址和端口以及通信协议类型;根据套接字映射生成套接字映射更新程序,以及套接字映射转发程序;将套接字映射更新程序和套接字映射转发程序加载到内核,并与内核事件进行挂载;通过套接字映射更新程序检测到网络请求时,通过套接字映射转发程序在服务器的套接字层将网络请求转发至服务器。使用本发明专利技术的技术方案,可以实现负载均衡器的转发性能的提高。发性能的提高。发性能的提高。

【技术实现步骤摘要】
网络请求的转发方法、装置、计算机设备以及存储介质


[0001]本专利技术涉及数据传输和负载均衡
,尤其涉及一种网络请求的转发方法、装置、计算机设备以及存储介质。

技术介绍

[0002]负载均衡器是一种充当反向代理的设备,可以把网络请求分散到一个服务器集群中的可用服务器上去,从而避免产生服务器集群中大量请求只请求某一台服务器,从而使该服务器宕机的情况。
[0003]负载均衡器在将网络请求转发至某一服务器之后,如果超过超时时间该服务器未响应,则向另一台服务器转发该网络请求。现有技术中通常通过减少超时时间等方式,提高网络请求的转发效率,降低网络延迟。但是现有技术中这种减少超时时间的方式,未能从网络层面上提高负载均衡器的转发性能。

技术实现思路

[0004]本专利技术提供了一种网络请求的转发方法、装置、计算机设备以及存储介质,以实现提高负载均衡器的转发性能。
[0005]第一方面,本专利技术实施例提供了一种网络请求的转发方法,该方法包括:
[0006]创建套接字映射,所述套接字映射的键包括负载均衡器的地址和端口、服务器的地址和端口以及通信协议类型;
[0007]根据套接字映射生成套接字映射更新程序,以及套接字映射转发程序;
[0008]将套接字映射更新程序和套接字映射转发程序加载到内核,并与内核事件进行挂载;
[0009]通过套接字映射更新程序检测到网络请求时,通过套接字映射转发程序在服务器的套接字层将网络请求转发至服务器。
[0010]第二方面,本专利技术实施例还提供了一种网络请求的转发装置,该装置包括:
[0011]套接字映射创建模块,用于创建套接字映射,所述套接字映射的键包括负载均衡器的地址和端口、服务器的地址和端口以及通信协议类型;
[0012]程序生成模块,用于根据套接字映射生成套接字映射更新程序,以及套接字映射转发程序;
[0013]程序加载模块,用于将套接字映射更新程序和套接字映射转发程序加载到内核,并与内核事件进行挂载;
[0014]网络请求转发模块,用于通过套接字映射更新程序检测到网络请求时,通过套接字映射转发程序在服务器的套接字层将网络请求转发至服务器。
[0015]第三方面,本专利技术实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本专利技术实施例中任一所述的网络请求的转发方法。
[0016]第四方面,本专利技术实施例还提供了一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本专利技术实施例中任一所述的网络请求的转发方法。
[0017]本专利技术实施例的技术方案,通过在负载均衡器和服务器之间建立套接字映射,生成套接字映射更新程序和套接字映射转发程序,并将套接字映射更新程序和套接字映射转发程序加载到内核,与内核事件进行挂载,以使套接字映射更新程序和套接字映射转发程序自动运行,从而通过套接字映射更新程序检测到网络请求时,通过套接字映射转发程序在服务器的套接字层将网络请求转发至服务器。解决了现有技术中未能从网络层面上提高负载均衡器的转发性能的问题,从套接字层实现网络请求的转发,避免了内核协议栈对网络请求的处理过程,从而优化了负载均衡器的转发性能,降低了网络迟延。
[0018]应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0019]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020]图1a是本专利技术实施例一提供的一种网络请求的转发方法的流程图;
[0021]图1b是本专利技术实施例一提供的一种网络请求的网络流向示意图;
[0022]图2是本专利技术实施例二提供的一种网络请求的转发方法的流程图;
[0023]图3是本专利技术实施例三提供的一种网络请求的转发装置的结构示意图;
[0024]图4是本专利技术实施例四提供的一种计算机设备的结构示意图。
具体实施方式
[0025]为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。
[0026]需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0027]实施例一
[0028]图1a为本专利技术实施例一提供了一种网络请求的转发方法的流程图,本实施例可适
用于负载均衡器向服务器转发网络请求的情况,该方法可以由网络请求的转发装置来执行,该网络请求的转发装置可以采用硬件和/或软件的形式实现,该网络请求的转发装置可配置于负载均衡器中,以及与负载均衡器通过同一虚拟网卡进行通信的服务器中。
[0029]如图1a所示,该方法包括:
[0030]S110、创建套接字映射,所述套接字映射的键包括负载均衡器的地址和端口、服务器的地址和端口以及通信协议类型。
[0031]套接字映射也即socket类型的映射,套接字映射可以与不同类型的套接字eBPF(Extended Berkeley Packet Filter,扩展伯克利包过滤器)程序配合,实现套接字的转发。示例性的,套接字映射的类型可以是BPF_MAP_TYPE_SOCKMAP或者BPF_MAP_TYPE_SOCKHASH,本实施例对套接字映射的类型不进行限制。eBPF程序的类型可以是BPF_PROG_TYPE_SOCK_OPS、BPF_PROG_TYPE_SK_SKB以及BPF_PROG_TYPE_SK_MSG等。
[0032]在本专利技术实施例中,负载均衡器可以是nginx负载均衡器,nginx是一个高性能的反向代理服务器,具有并发能力强的特点。地址是指IP(Internet Protocol,网际互连协议)地址。
[0033]在本专利技术实施例中,套接字映射的结构体包括套接字映射类型、键、值以及最大条目数,套接字映射的值是套接字本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网络请求的转发方法,其特征在于,包括:创建套接字映射,所述套接字映射的键包括负载均衡器的地址和端口、服务器的地址和端口以及通信协议类型;根据套接字映射生成套接字映射更新程序,以及套接字映射转发程序;将套接字映射更新程序和套接字映射转发程序加载到内核,并与内核事件进行挂载;通过套接字映射更新程序检测到网络请求时,通过套接字映射转发程序在服务器的套接字层将网络请求转发至服务器。2.根据权利要求1所述的方法,其特征在于,根据套接字映射生成套接字映射更新程序,包括:将负载均衡器的地址作为源地址,将负载均衡器的端口作为源端口;将服务器的地址作为目的地址,将服务器的端口作为目的端口;根据源地址、源端口、目的地址、目的端口以及通信协议类型,生成套接字映射更新文件;对所述套接字映射更新文件进行编译,生成套接字映射更新字节码。3.根据权利要求1所述的方法,其特征在于,根据套接字映射生成套接字映射转发程序,包括:将服务器的地址作为源地址,将服务器的端口作为源端口;将负载均衡器的地址作为目的地址,将负载均衡器的端口作为目的端口;根据源地址、源端口、目的地址、目的端口以及通信协议类型,生成套接字映射转发文件;对所述套接字映射转发文件进行编译,生成套接字映射转发字节码。4.根据权利要求2所述的方法,其特征在于,将套接字映射更新程序加载到内核,并与内核事件进行挂载,包括:通过命令行工具将套接字映射更新字节码加载到内核中;将加载到内核的套接字映射更新字节码挂载到控制组群中。5.根据权利要求3所述的方法,其特征在于,将套接字映射转发程序加载到内核,并与内核事件进行挂载,包括:通过命令行工具将套接字映射转发字节码加载到内核中;将加载到内核的套接字映射转发字节码...

【专利技术属性】
技术研发人员:钟丹晔吴后金
申请(专利权)人:江苏保旺达软件技术有限公司
类型:发明
国别省市:

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

1