处理网络请求的方法和装置制造方法及图纸

技术编号:33275902 阅读:14 留言:0更新日期:2022-04-30 23:34
本公开披露了一种处理网络请求的方法和装置。该方法应用于客户端,客户端通过连接池中的长连接与分布式系统中的服务器通信,连接池中的长连接包括至少一个虚拟连接,其中每个虚拟连接关联多个物理连接,该方法包括:当需要向分布式系统的服务器发送网络请求时,从连接池的至少一个虚拟连接中选择第一虚拟连接;从第一虚拟连接关联的多个物理连接中选择目标物理连接;通过目标物理连接向分布式系统的服务器发送网络请求。服务器发送网络请求。服务器发送网络请求。

【技术实现步骤摘要】
处理网络请求的方法和装置


[0001]本公开涉及分布式
,具体涉及一种处理网络请求的方法和装置。

技术介绍

[0002]使用连接池的分布式系统,通常默认选择最近使用的长连接发送网络请求,导致分布式系统中的长连接间流量不均衡。

技术实现思路

[0003]有鉴于此,本公开提供一种处理网络请求的方法和装置,以使得分布式系统中的长连接间的流量负载均衡。
[0004]第一方面,提供一种处理网络请求的方法,应用于客户端,所述客户端通过连接池中的长连接与分布式系统中的服务器通信,所述连接池中的长连接包括至少一个虚拟连接,其中每个虚拟连接关联多个物理连接,所述方法包括:当需要向所述分布式系统的服务器发送网络请求时,从所述连接池的至少一个虚拟连接中选择第一虚拟连接;从所述第一虚拟连接关联的多个物理连接中选择目标物理连接;通过所述目标物理连接向所述分布式系统的服务器发送所述网络请求。
[0005]可选地,在一些实施例中,所述从所述第一虚拟连接关联的多个物理连接中选择目标物理连接,包括:获取所述分布式系统的服务器的负载信息;根据所述负载信息从所述多个物理连接中选择所述目标物理连接。
[0006]可选地,在一些实施例中,所述从所述第一虚拟连接关联的多个物理连接中选择目标物理连接,包括:根据所述客户端的流量信息从所述多个物理连接中选择所述目标物理连接。
[0007]可选地,在一些实施例中,所述连接池中的虚拟连接所关联的物理连接是由所述分布式系统中的硬件负载均衡器创建的。
[0008]可选地,在一些实施例中,所述连接池中的长连接为socket连接。
[0009]可选地,在一些实施例中,所述分布式系统为分布式数据库。
[0010]第二方面,提供一种处理网络请求的装置,包括客户端,所述客户端通过连接池中的长连接与分布式系统中的服务器通信,所述连接池中的长连接包括至少一个虚拟连接,其中每个虚拟连接关联多个物理连接,所述客户端包括:第一选择单元,被配置为当需要向所述分布式系统的服务器发送网络请求时,从所述连接池的至少一个虚拟连接中选择第一虚拟连接;第二选择单元,被配置为从所述第一虚拟连接关联的多个物理连接中选择目标物理连接;发送单元,被配置为通过所述目标物理连接向所述分布式系统的服务器发送所述网络请求。
[0011]可选地,在一些实施例中,所述从所述第一虚拟连接关联的多个物理连接中选择目标物理连接,包括:获取所述分布式系统的服务器的负载信息;根据所述负载信息从所述多个物理连接中选择所述目标物理连接。
[0012]可选地,在一些实施例中,所述从所述第一虚拟连接关联的多个物理连接中选择目标物理连接,包括:根据所述客户端的流量信息从所述多个物理连接中选择所述目标物理连接。
[0013]可选地,在一些实施例中,所述连接池中的虚拟连接所关联的物理连接是由所述分布式系统中的硬件负载均衡器创建的。
[0014]可选地,在一些实施例中,所述连接池中的长连接为socket连接。
[0015]可选地,在一些实施例中,所述分布式系统为分布式数据库。
[0016]第三方面,提供一种处理网络请求的装置,包括:存储器,用于存储指令;处理器,用于执行所述存储器中存储的指令,以执行如第一方面所述的方法。
[0017]第四方面,提供一种电子设备,包括:存储器,用于存储指令;处理器,用于执行所述存储器中存储的指令,以执行如第一方面所述的方法。
[0018]第五方面,提供一种计算机可读存储介质,其上存储有可执行代码,当所述可执行代码被执行时,能够实现如第一方面所述的方法。
[0019]第六方面,提供一种计算机程序产品,包括可执行代码,当所述可执行代码被执行时,能够实现如第一方面所述的方法。
[0020]基于上述技术方案,本公开通过使连接池中的每个虚拟长连接关联多个物理长连接,由客户端从虚拟长连接关联的多个物理长连接中选择一个物理长连接发送网络请求的方式,实现了分布式系统中的长连接间流量的负载均衡。此外,本公开提供的处理网络请求的方法无需修改连接池的运行逻辑,因此,可以适用于通用的连接池中。
附图说明
[0021]图1是相关技术提供的分布式系统的结构示意图。
[0022]图2是相关技术提供的分布式系统的结构示意图。
[0023]图3是本公开实施例提供的处理网络请求的方法流程图。
[0024]图4是本公开实施例提供的处理网络请求的方法的系统示意图。
[0025]图5是本公开实施例提供的处理网络请求的装置的结构示意图。
[0026]图6是本公开实施例提供的处理网络请求的装置的结构示意图。
具体实施方式
[0027]下面对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本公开一部分实施例,而不是全部的实施例。
[0028]图1是相关技术提供的分布式系统的结构示意图。如图1所示,分布式系统100可以包括多个节点110。
[0029]在一些实施例中,节点110也可以指分布式系统100的服务器。此时,节点110既可以向外提供服务,也可以管理存储于节点110上的数据。
[0030]在另一些实施例中,分布式系统100还可以包括独立的服务器(图中未示出)。服务器可以用于管理节点110,并向外提供服务。
[0031]不同的节点110可以位于相同的网络或地理环境中,也可以位于不同的网络或地理环境中。
[0032]多个节点110可以经由通信链路(例如,有线连接、无线连接等)彼此通信,以便发送和接收数据。
[0033]在分布式系统100中,虽然每个节点110是独立的,但是所有节点展现给用户的是一个统一的整体。
[0034]图2是相关技术提供的分布式系统的结构示意图。如图2所示,该分布式系统可以包括客户端210和服务端220。用户可以通过客户端210与服务端220通信,以操作服务端220中的数据。
[0035]客户端210可以指任意形式的电子设备。例如,服务器、计算机、笔记本、手机、平板电脑等。客户端也可以指安装并运行在终端设备中的由程序语言编制形成的逻辑体。
[0036]当服务端220的服务器(例如服务器1、服务器2和服务器3)和客户端210位于不同的主机时,二者无法直接通信。此时,需要首先在服务端220的服务器和客户端210之间建立连接。例如,可以在服务端220和客户端210之间建立连接R01、连接R02和连接R03。
[0037]连接也可以称为网络连接。客户端210需要使用连接与服务端220通信,以发送命令和接收、应答数据。
[0038]连接在使用的过程中,需要经过建立连接、使用连接和断开连接三个部分。通常情况下,建立连接需要经过三次握手。当使用完后(例如,一个网络请求执行完成后),断开连接时,需要再经过四次握手。
[0039]连接可以分为长连接和短连接。短连接是指客户端和分布式系统通信时,为每个任务建本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理网络请求的方法,应用于客户端,所述客户端通过连接池中的长连接与分布式系统中的服务器通信,所述连接池中的长连接包括至少一个虚拟连接,其中每个虚拟连接关联多个物理连接,所述方法包括:当需要向所述分布式系统的服务器发送网络请求时,从所述连接池的至少一个虚拟连接中选择第一虚拟连接;从所述第一虚拟连接关联的多个物理连接中选择目标物理连接;通过所述目标物理连接向所述分布式系统的服务器发送所述网络请求。2.根据权利要求1所述的方法,所述从所述第一虚拟连接关联的多个物理连接中选择目标物理连接,包括:获取所述分布式系统的服务器的负载信息;根据所述负载信息从所述多个物理连接中选择所述目标物理连接。3.根据权利要求1所述的方法,所述从所述第一虚拟连接关联的多个物理连接中选择目标物理连接,包括:根据所述客户端的流量信息从所述多个物理连接中选择所述目标物理连接。4.根据权利要求1所述的方法,所述连接池中的虚拟连接所关联的物理连接是由所述分布式系统中的硬件负载均衡器创建的。5.根据权利要求1所述的方法,所述连接池中的长连接为socket连接。6.根据权利要求1所述的方法,所述分布式系统为分布式数据库。7.一种处理网络请求的装置,包括客户端,所述客户端通过连接池中的长连接与分布式系统中的服务器通信,所述连接池中的长连接包括至少一个虚...

【专利技术属性】
技术研发人员:易鸿伟
申请(专利权)人:北京奥星贝斯科技有限公司
类型:发明
国别省市:

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

1