本申请涉及计算机网络,具体涉及一种请求发送方法、客户端、电子设备及存储介质。
背景技术:
1、节点之间网络通信在c/s架构中分为客户端以及服务端。某些应用场景中,可能存在这客户端大量向服务端发送请求的场景,这样也就需要客户端与服务端之间创建大量的连接,在这些大量的连接中,有些连接是重复创建的,从而造成客户端与服务端的连接反复创建,耗费时间,导致有些连接的重试次数变多,同时回收这些连接需要相应的资源开销,造成资源的浪费;并且这些连接的建立过程中,有些重复的连接是同时建立的,存在并发的问题。因此,在客户端有大量请求需要向服务端发送的情况下,如何避免客户端与服务端之间创建重复连接的资源消耗,以及并发问题,是目前亟待解决的技术问题。
技术实现思路
1、本申请实施例提供了一种请求发送方法、客户端、电子设备及存储介质,通过设置三个缓存,解决了创建重复连接的资源消耗问题以及并发问题,提高了请求发送的效率。
2、第一方面,本申请实施例提供一种请求发送方法,所述方法应用于客户端,所述方法包括:
3、当通过第一连接向服务端发送第一请求时,基于所述客户端的第一缓存中缓存的历史连接,确定所述客户端与所述服务端之间是否存在可用的所述第一连接;
4、若存在,则复用所述第一连接向所述服务端发送所述第一请求;
5、若不存在,基于所述客户端的第二缓存中缓存的当前正在创建的连接,确定所述客户端当前是否正在创建所述第一连接;
6、若否,将所述第一请求缓存到所述第二缓存,并创建所述第一连接,在创建好所述第一连接后,通过创建好的所述第一连接向所述服务端发送所述第二缓存中缓存的所述第一请求;
7、若是,将所述第一请求缓存到所述客户端的第三缓存,并在创建好所述第一连接后,通过创建好的所述第一连接向所述服务端发送所述第三缓存中缓存的所述第一请求。
8、第二方面,本申请实施例提供一种客户端,所述客户端包括处理单元和收发单元;
9、所述处理单元,用于当通过第一连接向服务端发送第一请求时,基于所述客户端的第一缓存中缓存的历史连接,确定所述客户端与所述服务端之间是否存在可用的所述第一连接;
10、若存在,则控制所述收发单元复用所述第一连接向所述服务端发送所述第一请求;
11、若不存在,基于所述客户端的第二缓存中缓存的当前正在创建的连接,确定所述客户端当前是否正在创建所述第一连接;
12、若否,将所述第一请求缓存到所述第二缓存,并创建所述第一连接,在创建好所述第一连接后,控制所述收发单元通过创建好的所述第一连接向所述服务端发送所述第二缓存中缓存的所述第一请求;
13、若是,将所述第一请求缓存到所述客户端的第三缓存,并在创建好所述第一连接后,控制所述收发单元通过创建好的所述第一连接向所述服务端发送所述第三缓存中缓存的所述第一请求。
14、第三方面,本申请实施例提供一种电子设备,包括:处理器,所述处理器与存储器相连,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,以使得所述电子设备执行如第一方面所述的方法。
15、第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序使得计算机执行如第一方面所述的方法。
16、第五方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机可操作来使计算机执行如第一方面所述的方法。
17、实施本申请实施例,具有如下有益效果:
18、可以看出,在本申请实施例中,当客户端需要向通过第一连接向服务端发送第一请求时,客户端会先从第一缓存的历史连接中,确定是否有可复用的第一连接;若存在,客户端可以直接复用第一连接发送第一连接,避免重复创建相同的连接;若不可复用,客户端会从第二缓存所缓存的当前正在创建的连接中,确定当前是否正在创建第一连接,若存在,则将第一请求缓存到第三缓存,无需再次创建第一连接,等到第一连接创建好之后,通过第一连接发送第一请求,从而解决了连接创建的并发问题;若当前也未在创建第一连接,则将第一请求缓存到第三缓存,并创建第一连接,从而在不存在可复用的第一连接,也未在创建第一连接的情况,直接创建用于发送第一请求的第一连接,保证成功发送第一请求。
1.一种请求发送方法,其特征在于,所述方法应用于客户端,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述客户端的第二缓存中缓存的当前正在创建的连接,确定所述客户端当前是否正在创建所述第一连接,包括:
3.根据权利要求1或2所述的方法,其特征在于,
4.根据权利要求3所述的方法,其特征在于,
5.根据权利要求1-4中任一项所述的方法,其特征在于,
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述方法还包括:
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述方法还包括:
9.根据权利要求1-8中任一项所述的方法,其特征在于,所述方法还包括:
10.根据权利要求9所述的方法,其特征在于,将所述任意一个请求从第三缓存中删除之前,所述方法还包括:
11.根据权利要求1-10中任一项所述的方法,其特征在于,
12.一种客户端,其特征在于,所述客户端包括处理单元和收发单元;
13.一种电子设备,其特征在于,包括:处理器和存储器,所述处理器与所述存储器相连,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,以使得所述电子设备执行如权利要求1-11中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1-11中任一项所述的方法。