一种反向代理请求处理方法技术

技术编号:39667864 阅读:9 留言:0更新日期:2023-12-11 18:32
本申请提供一种反向代理请求处理方法

【技术实现步骤摘要】
一种反向代理请求处理方法、装置、电子设备及存储介质


[0001]本申请涉及数据处理领域,具体而言,涉及一种反向代理请求处理方法

装置

电子设备及存储介质


技术介绍

[0002]反向代理指的是代理服务器根据上游客户端请求,从其关联的一组或多组后端服务器上获取资源,然后再将这些资源返回给上游的过程,上游客户端只会得知代理服务器的
IP
地址,而无法获知在代理服务器后面的服务器集群

目前的反向代理方案依赖上游异步重试机制,即上游客户端发送资源请求之后,间隔一定时间需要再次发送请求获取代理服务器接收到的资源,造成效率较低,实效性较差


技术实现思路

[0003]本申请实施例的目的在于一种反向代理请求处理方法

装置

电子设备及存储介质,当请求进入代理服务时,创建目标协程去处理这个请求,并阻塞当前目标协程,直至拿到请求结果,唤醒该目标协程,目标协程将请求结果返回给请求方

实现了反向代理服务场景中在一个请求周期内获取到请求结果,提高获得结果的实效性和效率

[0004]第一方面,本申请实施例提供了一种反向代理请求处理方法,包括:将接收到的反向代理请求存储至预先生成的消息队列;创建目标协程,以使目标协程从消息队列中获取反向代理请求,并对反向代理请求进行处理;将目标协程的状态更新为等待;在接收到反向代理请求对应的请求结果之后,唤醒目标协程,以使目标协程将请求结果发送至对应的请求方

[0005]在上述的实现过程中,当请求进入代理服务时,创建目标协程去处理这个请求,并阻塞当前目标协程,直至拿到请求结果,唤醒该目标协程,目标协程将请求结果返回给请求方

实现了反向代理服务场景中在一个请求周期内获取到请求结果,提高反向代理请求处理的实效性和效率

[0006]可选的,在本申请实施例中,在接收到反向代理请求对应的请求结果之后,唤醒目标协程,包括:接收前置服务发送的请求结果;请求结果是由前置服务对消息队列中的反向代理请求进行拉取并处理之后生成的;将请求结果存储至就绪集合队列;唤醒目标协程,通过目标协程从就绪集合队列中获取反向代理请求对应的请求结果

[0007]在上述的实现过程中,目标协程从就绪集合队列中获取反向代理请求对应的请求结果,并将请求结果返回至对应的请求方,实现请求方在一个请求之后就可以获取请求结果,提高操作效率

[0008]可选的,在本申请实施例中,唤醒目标协程,通过目标协程从就绪集合队列中获取反向代理请求对应的请求结果,包括:获取就绪集合队列中请求结果的结果标识;通过实例间广播法唤醒所有待确定协程,基于结果标识从待确定协程中确定目标协程;待确定协程为多个反向代理请求中每一反向代理请求分别对应的协程;通过目标协程从就绪集合队列
中获取反向代理请求对应的请求结果

[0009]在上述的实现过程中,反向代理服务程序可以接受多个客户端发送的多个反向代理请求,无需针对每一个客户端,或每一个三方平台分别设置对应的反向代理服务程序,提高服务性能,以及减少资源浪费

并且通过设置请求标识和结果标识将请求和请求结果相对应,提高请求处理效率和准确率

[0010]可选的,在本申请实施例中,通过实例间广播法唤醒所有待确定协程,基于结果标识从待确定协程中确定目标协程,包括:通过实例间广播法与所有待确定协程进行通信,将每一待确定协程对应的反向代理请求的请求标识,与结果标识进行匹配;其中,反向代理请求的请求标识为预先设置的;若请求标识与结果标识相匹配,则将待确定协程确定为目标协程

[0011]在上述的实现过程中,一个反向代理请求的请求标识,和该反向代理请求对应的请求结果的结果标识具有唯一的映射关系,根据结果标识,将协程对应处理的反向代理请求与请求结果关联起来,实现反向代理服务程序可以接受多个客户端发送的多个反向代理请求,提高服务性能,以及减少资源浪费

[0012]可选的,在本申请实施例中,创建目标协程,包括:从反向代理请求中获取请求标识;基于请求标识查询预设的数据库;若数据库中包括请求标识,则获取反向代理请求的请求状态字段,基于请求状态字段对反向代理请求进行处理;请求状态字段用于表征反向代理请求的处理状态;若数据库中不包括请求标识,则创建目标协程

[0013]在上述的实现过程中,基于请求标识查询预设的数据库,并根据查询结果进行进一步处理,改善了对已经获取到结果的反向代理请求进行重新处理,造成资源浪费的情况

[0014]可选的,在本申请实施例中,基于请求状态字段对反向代理请求进行处理,包括:基于请求状态字段,判断反向代理请求是否获取对应的请求结果;若已获取对应的请求结果,则确认反向代理请求是否需要重试,在需要重试的情况下,将请求状态字段更新为初始态,并创建目标协程;初始态用于表征反向代理请求的处理状态为未获取对应的请求结果;在不需要重试的情况下,将请求结果发送至对应的请求方;若未获取对应的请求结果,则创建目标协程

[0015]在上述的实现过程中,根据请求状态字段,可以判断反向代理请求是否获取对应的请求结果,进而根据各请求获取请求结果的情况进行对应处理,提高数据请求的处理可控性,改善了对已经获取到结果的反向代理请求进行重新处理,造成资源浪费的情况

并且请求状态字段可以根据请求的处理状态进行更新,方便获知每一反向代理请求的处理状态,提高了对反向代理请求的管理能力

[0016]可选的,在本申请实施例中,将接收到的反向代理请求存储至预先生成的消息队列,包括:获取多个请求方发起的反向代理请求,为每一反向代理请求添加对应的请求标识;将接收到的反向代理请求存储至消息队列的队尾,以使前置服务从消息队列的队首批量拉取反向代理请求,并对反向代理请求进行处理

[0017]在上述的实现过程中,为每一反向代理请求添加对应的请求标识,以使反向代理服务程序可以接收并区分多个请求方发送的反向代理请求,节省资源

前置服务从消息队列的队首批量拉取反向代理请求,提高了请求处理的效率

[0018]第二方面,本申请实施例还提供了一种反向代理请求处理装置,包括:接收请求模
块,用于将接收到的反向代理请求存储至预先生成的消息队列;创建协程模块,用于创建目标协程,以使目标协程从消息队列中获取反向代理请求,并对反向代理请求进行处理;阻塞协程模块,用于将目标协程的状态更新为等待;唤醒协程模块,在接收到反向代理请求对应的请求结果之后,唤醒目标协程,以使目标协程将请求结果发送至对应的请求方

[0019]第三方面,本申请实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种反向代理请求处理方法,其特征在于,包括:将接收到的反向代理请求存储至预先生成的消息队列;创建目标协程,以使所述目标协程从所述消息队列中获取所述反向代理请求,并对所述反向代理请求进行处理;将所述目标协程的状态更新为等待;在接收到所述反向代理请求对应的请求结果之后,唤醒所述目标协程,以使所述目标协程将所述请求结果发送至对应的请求方
。2.
根据权利要求1所述的方法,其特征在于,所述在接收到所述反向代理请求对应的请求结果之后,唤醒所述目标协程,包括:接收前置服务发送的所述请求结果;所述请求结果是由所述前置服务对所述消息队列中的所述反向代理请求进行拉取并处理之后生成的;将所述请求结果存储至就绪集合队列;唤醒所述目标协程,通过所述目标协程从所述就绪集合队列中获取所述反向代理请求对应的请求结果
。3.
根据权利要求2所述的方法,其特征在于,所述唤醒所述目标协程,通过所述目标协程从所述就绪集合队列中获取所述反向代理请求对应的请求结果,包括:获取所述就绪集合队列中所述请求结果的结果标识;通过实例间广播法唤醒所有待确定协程,基于所述结果标识从所述待确定协程中确定所述目标协程;所述待确定协程为多个所述反向代理请求中每一所述反向代理请求分别对应的协程;通过所述目标协程从所述就绪集合队列中获取所述反向代理请求对应的请求结果
。4.
根据权利要求3所述的方法,其特征在于,所述通过实例间广播法唤醒所有待确定协程,基于所述结果标识从所述待确定协程中确定所述目标协程,包括:通过所述实例间广播法与所有所述待确定协程进行通信,将每一所述待确定协程对应的所述反向代理请求的请求标识,与所述结果标识进行匹配;其中,所述反向代理请求的请求标识为预先设置的;若所述请求标识与所述结果标识相匹配,则将所述待确定协程确定为所述目标协程
。5.
根据权利要求1所述的方法,其特征在于,所述创建目标协程,包括:从所述反向代理请求中获取请求标识;基于所述请求标识查询预设的数据库;若所述数据库中包括所述请求标识,则获取所述反向代理请求的请求状态字段,基于所述请求状态...

【专利技术属性】
技术研发人员:张顺丰王发修高斌徐志华王鑫
申请(专利权)人:成都新希望金融信息有限公司
类型:发明
国别省市:

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

1