CN118018477A - 一种host请求环境识别分配方法及装置 - Google Patents
一种host请求环境识别分配方法及装置 Download PDFInfo
- Publication number
- CN118018477A CN118018477A CN202410127080.0A CN202410127080A CN118018477A CN 118018477 A CN118018477 A CN 118018477A CN 202410127080 A CN202410127080 A CN 202410127080A CN 118018477 A CN118018477 A CN 118018477A
- Authority
- CN
- China
- Prior art keywords
- request
- request message
- forwarding
- source
- route
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000012546 transfer Methods 0.000 claims abstract description 23
- 230000004044 response Effects 0.000 claims abstract description 20
- 238000004891 communication Methods 0.000 claims description 6
- 238000012423 maintenance Methods 0.000 abstract description 4
- 238000012360 testing method Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种host请求环境识别分配方法及装置,包括:创建第一对象和第二对象,根据所述第一对象和所述第二对象创建中转服务;根据所述中转服务对请求方的请求报文进行解析,并获取所述请求报文的基本信息;所述基本信息包括源I P、请求头、请求体和URI;根据所述基本信息和第一路由规则配置转发路由,并根据所述转发路由确定所述请求报文的目标地址;将组装好的请求报文转发到所述目标地址,并获取目标地址的应答报文,将所述应答报文返回给请求方。本发明通过根据第一对象和第二对象创建中转服务,从而根据中转服务对不同类型的请求报文进行解析,降低挡板维护成本,提高测试的便利性和时效性。
Description
技术领域
本发明涉及路由匹配技术领域,尤其涉及一种host请求环境识别分配方法及装置。
背景技术
常见的请求识别是针对HTTP协议的,但是在实际应用中,系统由于历史原因常常存在多种协议,比如支付渠道,历史存量的支付渠道之间都是TCP协议,近几年新接入的支付渠道又是HTTP协议,现在的技术无法即支持HTTP协议的请求,又支持TCP协议的请求。
现有的请求识别技术是通过识别请求的header或body中某个字段的值,或者识别请求的ur i或ur l来进行路由到目标服务。如果有多个不同的请求需要每个请求都加路由规则,但是往往一个环境中有成千上万个不同的请求,每个请求都需要加路由规则工作量巨大且维护和管理成本高。当多个环境共用一个挡板时,无法识别出同一个的接口请求是来源于哪个环境,无法区分出来源。
发明内容
本发明提供了一种host请求环境识别分配方法及装置,以解决现有请求识别在多环境共用挡板时无法识别请求来源,且路由机制匹配工作量大、维护和管理成本高的技术问题。
为了解决上述技术问题,本发明提供了一种host请求环境识别分配方法,包括:
创建第一对象和第二对象,根据所述第一对象和所述第二对象创建中转服务;
根据所述中转服务对请求方的请求报文进行解析,并获取所述请求报文的基本信息;所述基本信息包括源IP、请求头、请求体和URI;
根据所述基本信息和第一路由规则配置转发路由,并根据所述转发路由确定所述请求报文的目标地址;
将组装好的请求报文转发到所述目标地址,并获取目标地址的应答报文,将所述应答报文返回给请求方。
本发明通过根据第一对象和第二对象创建中转服务,从而根据中转服务对不同类型的请求报文进行解析,获取报文的基本信息,并进行路由配置,确定报文的目标地址,使得能对请求进行路由到真实环境或挡板环境,达到多套环境共用一套挡板时,部分请求走真实环境,部分请求走挡板环境的效果,降低挡板维护成本,提高测试的便利性和时效性。
进一步的,所述根据所述基本信息和第一路由规则配置转发路由,并根据所述转发路由确定所述请求报文的目标地址,具体为:
根据所述基本信息确定路由转发要素,所述路由转发要素包括基本信息中的一个或多个要素;
确定所述请求报文的目标服务,所述目标服务包括IP和端口;
根据所述路由转发要素和所述目标服务确定所述请求报文的目标地址。
进一步的,所述根据所述路由转发要素和所述目标服务确定所述请求报文的目标地址,具体为:
若所述转发要素与所述目标服务匹配时,则将所述目标服务的地址作为所述请求报文的目标地址;
若所述路由转发要素仅包括源IP时,则指定源IP中的所有接口均进行转发;
若所述路由转发要素包括源IP和URI时,则根据URI指定源IP中的部分端口进行转发;
若所述路由转发要素包括源IP、URI和请求体时,则根据URI和请求体指定源IP中的指定端口对部分请求进行转发。
进一步的,所述根据所述中转服务对请求方的请求报文进行解析,并获取所述请求报文的基本信息,具体为:
获取请求方的请求报文,识别所述请求报文的请求类型,并根据所述请求类型对所述请求报文进行解析;
若所述请求类型为HTTP请求,则根据所述第一对象获取所述请求报文的源IP、请求头和请求体;
若所述请求类型为TCP请求,则根据所述第二对象获取所述请求报文的获取TCP请求的源IP和请求体,并将所述请求体中的接口唯一标识字段值作为所述请求报文的URI。
第二方面,本发明提供了一种host请求环境识别分配装置,包括:中转服务创建模块、解析模块、配置转发模块和应答模块;
所述中转服务创建模块,用于创建第一对象和第二对象,根据所述第一对象和所述第二对象创建中转服务;
所述解析模块,用于根据所述中转服务对请求方的请求报文进行解析,并获取所述请求报文的基本信息;所述基本信息包括源IP、请求头、请求体和URI;
所述配置转发模块,用于根据所述基本信息和第一路由规则配置转发路由,并根据所述转发路由确定所述请求报文的目标地址;
所述应答模块,用于将组装好的请求报文转发到所述目标地址,并获取目标地址的应答报文,将所述应答报文返回给请求方。
进一步的,所述配置转发模块,具体用于:
根据所述基本信息确定路由转发要素,所述路由转发要素包括基本信息中的一个或多个要素;
确定所述请求报文的目标服务,所述目标服务包括IP和端口;
根据所述路由转发要素和所述目标服务确定所述请求报文的目标地址。
进一步的,所述配置转发模块,还用于:
若所述转发要素与所述目标服务匹配时,则将所述目标服务的地址作为所述请求报文的目标地址;
若所述路由转发要素仅包括源IP时,则指定源IP中的所有接口均进行转发;
若所述路由转发要素包括源IP和URI时,则根据URI指定源IP中的部分端口进行转发;
若所述路由转发要素包括源IP、URI和请求体时,则根据URI和请求体指定源IP中的指定端口对部分请求进行转发。
进一步的,所述解析模块,具体用于:
获取请求方的请求报文,识别所述请求报文的请求类型,并根据所述请求类型对所述请求报文进行解析;
若所述请求类型为HTTP请求,则根据所述第一对象获取所述请求报文的源IP、请求头和请求体;
若所述请求类型为TCP请求,则根据所述第二对象获取所述请求报文的获取TCP请求的源IP和请求体,并将所述请求体中的接口唯一标识字段值作为所述请求报文的URI。
第三方面,本发明提供了一种计算机设备,包括:处理器、通信接口和存储器,所述处理器、所述通信接口和所述存储器相互连接,其中,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,执行所述的host请求环境识别分配方法。
第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现所述的host请求环境识别分配方法。
附图说明
图1为本发明实施例提供的host请求环境识别分配方法的一种流程示意图;
图2为本发明实施例提供的host请求环境识别分配方法的另一种流程示意图;
图3为本发明实施例提供的host请求环境识别分配装置的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
请参照图1,图1为本发明实施例提供的host请求环境识别分配方法的一种流程示意图,包括步骤101至步骤104,具体如下:
步骤101:创建第一对象和第二对象,根据所述第一对象和所述第二对象创建中转服务;
在本实施例中,中转服务是所有请求报文的接收方,处理接收到的HTTP请求或TCP请求解析出请求中的源IP、请求头、请求体、请求URI,对于TCP协议的请求则将请求体中的接口唯一标识字段值作为URI,用于统一不同协议适用于同一套路由规则。
在本实施例中,在Django框架的项目中创建一个第一对象,所述第一对象为request对象;通过request对象获取HTTP请求的源IP、请求头、请求体。在Django框架的项目中创建一个第二对象,所述第二对象为socket对象,通过socket获取TCP请求的源IP和请求体,解析出请求体中的接口唯一标识字段值作为此请求的URI。
在本实施例中,通过根据第一对象和第二对象创建中转服务,从而根据中转服务对不同类型的请求报文进行解析,获取报文的基本信息,支持HTTP协议的请求,又支持TCP协议的请求,提高请求识别通用性。
步骤102:根据所述中转服务对请求方的请求报文进行解析,并获取所述请求报文的基本信息;所述基本信息包括源IP、请求头、请求体和URI;
在本实施例中,启动中转服务,获取请求方的请求报文,并根据中转服务中的第一对象和第二对象对请求报文进行解析。
请参照图2,图2为本发明实施例提供的host请求环境识别分配方法的另一种流程示意图。
在本实施例中,所述根据所述中转服务对请求方的请求报文进行解析,并获取所述请求报文的基本信息,具体为:
获取请求方的请求报文,识别所述请求报文的请求类型,并根据所述请求类型对所述请求报文进行解析;
若所述请求类型为HTTP请求,则根据所述第一对象获取所述请求报文的源IP、请求头和请求体;
若所述请求类型为TCP请求,则根据所述第二对象获取所述请求报文的获取TCP请求的源IP和请求体,并将所述请求体中的接口唯一标识字段值作为所述请求报文的URI。
步骤103:根据所述基本信息和第一路由规则配置转发路由,并根据所述转发路由确定所述请求报文的目标地址;
在本实施例中,根据第一路由规则配置文件中配置的路由规则转发请求报文。
在本实施例中,所述根据所述基本信息和第一路由规则配置转发路由,并根据所述转发路由确定所述请求报文的目标地址,具体为:
根据所述基本信息确定路由转发要素,所述路由转发要素包括基本信息中的一个或多个要素;
确定所述请求报文的目标服务,所述目标服务包括IP和端口;
根据所述路由转发要素和所述目标服务确定所述请求报文的目标地址。
在本实施例中,在路由规则配置文件中配置转发路由,所述配置文件中包含两部分,一部分是request,用于配置需要命中的路由转发要素,路由转发要素指的中转服务解析出的源IP、请求URI、请求体的某个字段,所述路由转发要素可以是其中的一个或多个,当多个时表示多个要素为且的关系。另一部分是proxy,用于指明转发的目标服务,包含目标服务的IP、端口。
在本实施例中,所述根据所述路由转发要素和所述目标服务确定所述请求报文的目标地址,具体为:
若所述转发要素与所述目标服务匹配时,则将所述目标服务的地址作为所述请求报文的目标地址;
若所述路由转发要素仅包括源IP时,则指定源IP中的所有接口均进行转发;
若所述路由转发要素包括源IP和URI时,则根据URI指定源IP中的部分端口进行转发;
若所述路由转发要素包括源IP、URI和请求体时,则根据URI和请求体指定源IP中的指定端口对部分请求进行转发。
在本实施例中,一个请求进来后通过判断是否与request中的要素进行匹配,匹配时则根据proxy的目标地址进行转发。
在本实施例中,当request的路由转发要素只有源IP时,则指定源IP的所有接口请求均转发。当request的路由转发要素是源IP+请求URI时,则实现了对不同的接口进行转发。当request的路由转发要素是源IP+请求URI+请求体的某个字段时,则实现了对指定源IP的指定接口的部分请求进行了转发。因此当多个环境共用一个挡板时,可以识别出同一个接口请求是来源于哪个环境,然后按照路由规则进行转发到真实环境或挡板环境。
步骤104:将组装好的请求报文转发到所述目标地址,并获取目标地址的应答报文,将所述应答报文返回给请求方。
在本实施例中,根据原样对解析过的请求进行组装,并将组装好的请求报文发送到对应的目标地址。
在本实施例中,接收目标地址中真实环境或挡板环境返回的数据,并原样返回给请求方。
在本实施例中,通过根据第一对象和第二对象创建中转服务,从而根据中转服务对不同类型的请求报文进行解析,获取报文的基本信息,并进行路由配置,确定报文的目标地址,适合所有HTTP和TCP服务接口的应用,使得能对请求进行路由到真实环境或挡板环境,达到多套环境共用一套挡板时,部分请求走真实环境,部分请求走挡板环境的效果,降低挡板维护成本,提高测试的便利性和时效性。
请参照图3,图3为本发明实施例提供的host请求环境识别分配装置的一种结构示意图,包括:中转服务创建模块301、解析模块302、配置转发模块303和应答模块304;
所述中转服务创建模块301,用于创建第一对象和第二对象,根据所述第一对象和所述第二对象创建中转服务;
所述解析模块302,用于根据所述中转服务对请求方的请求报文进行解析,并获取所述请求报文的基本信息;所述基本信息包括源IP、请求头、请求体和URI;
所述配置转发模块303,用于根据所述基本信息和第一路由规则配置转发路由,并根据所述转发路由确定所述请求报文的目标地址;
所述应答模块304,用于将组装好的请求报文转发到所述目标地址,并获取目标地址的应答报文,将所述应答报文返回给请求方。
在本实施例中,所述配置转发模块,具体用于:
根据所述基本信息确定路由转发要素,所述路由转发要素包括基本信息中的一个或多个要素;
确定所述请求报文的目标服务,所述目标服务包括IP和端口;
根据所述路由转发要素和所述目标服务确定所述请求报文的目标地址。
在本实施例中,所述配置转发模块,还用于:
若所述转发要素与所述目标服务匹配时,则将所述目标服务的地址作为所述请求报文的目标地址;
若所述路由转发要素仅包括源IP时,则指定源IP中的所有接口均进行转发;
若所述路由转发要素包括源IP和URI时,则根据URI指定源IP中的部分端口进行转发;
若所述路由转发要素包括源IP、URI和请求体时,则根据URI和请求体指定源IP中的指定端口对部分请求进行转发。
在本实施例中,所述解析模块,具体用于:
获取请求方的请求报文,识别所述请求报文的请求类型,并根据所述请求类型对所述请求报文进行解析;
若所述请求类型为HTTP请求,则根据所述第一对象获取所述请求报文的源IP、请求头和请求体;
若所述请求类型为TCP请求,则根据所述第二对象获取所述请求报文的获取TCP请求的源IP和请求体,并将所述请求体中的接口唯一标识字段值作为所述请求报文的URI。
本发明实施例还提供了一种计算机设备,包括:处理器、通信接口和存储器,所述处理器、所述通信接口和所述存储器相互连接,其中,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,执行所述的host请求环境识别分配方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现所述的host请求环境识别分配方法。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种host请求环境识别分配方法,其特征在于,包括:
创建第一对象和第二对象,根据所述第一对象和所述第二对象创建中转服务;
根据所述中转服务对请求方的请求报文进行解析,并获取所述请求报文的基本信息;所述基本信息包括源IP、请求头、请求体和URI;
根据所述基本信息和第一路由规则配置转发路由,并根据所述转发路由确定所述请求报文的目标地址;
将组装好的请求报文转发到所述目标地址,并获取目标地址的应答报文,将所述应答报文返回给请求方。
2.如权利要求1所述的host请求环境识别分配方法,其特征在于,所述根据所述基本信息和第一路由规则配置转发路由,并根据所述转发路由确定所述请求报文的目标地址,具体为:
根据所述基本信息确定路由转发要素,所述路由转发要素包括基本信息中的一个或多个要素;
确定所述请求报文的目标服务,所述目标服务包括IP和端口;
根据所述路由转发要素和所述目标服务确定所述请求报文的目标地址。
3.如权利要求2所述的host请求环境识别分配方法,其特征在于,所述根据所述路由转发要素和所述目标服务确定所述请求报文的目标地址,具体为:
若所述转发要素与所述目标服务匹配时,则将所述目标服务的地址作为所述请求报文的目标地址;
若所述路由转发要素仅包括源IP时,则指定源IP中的所有接口均进行转发;
若所述路由转发要素包括源IP和URI时,则根据URI指定源IP中的部分端口进行转发;
若所述路由转发要素包括源IP、URI和请求体时,则根据URI和请求体指定源IP中的指定端口对部分请求进行转发。
4.如权利要求1所述的host请求环境识别分配方法,其特征在于,所述根据所述中转服务对请求方的请求报文进行解析,并获取所述请求报文的基本信息,具体为:
获取请求方的请求报文,识别所述请求报文的请求类型,并根据所述请求类型对所述请求报文进行解析;
若所述请求类型为HTTP请求,则根据所述第一对象获取所述请求报文的源IP、请求头和请求体;
若所述请求类型为TCP请求,则根据所述第二对象获取所述请求报文的获取TCP请求的源IP和请求体,并将所述请求体中的接口唯一标识字段值作为所述请求报文的URI。
5.一种host请求环境识别分配装置,其特征在于,包括:中转服务创建模块、解析模块、配置转发模块和应答模块;
所述中转服务创建模块,用于创建第一对象和第二对象,根据所述第一对象和所述第二对象创建中转服务;
所述解析模块,用于根据所述中转服务对请求方的请求报文进行解析,并获取所述请求报文的基本信息;所述基本信息包括源IP、请求头、请求体和URI;
所述配置转发模块,用于根据所述基本信息和第一路由规则配置转发路由,并根据所述转发路由确定所述请求报文的目标地址;
所述应答模块,用于将组装好的请求报文转发到所述目标地址,并获取目标地址的应答报文,将所述应答报文返回给请求方。
6.如权利要求5所述的host请求环境识别分配装置,其特征在于,所述配置转发模块,具体用于:
根据所述基本信息确定路由转发要素,所述路由转发要素包括基本信息中的一个或多个要素;
确定所述请求报文的目标服务,所述目标服务包括IP和端口;
根据所述路由转发要素和所述目标服务确定所述请求报文的目标地址。
7.如权利要求6所述的host请求环境识别分配装置,其特征在于,所述配置转发模块,还用于:
若所述转发要素与所述目标服务匹配时,则将所述目标服务的地址作为所述请求报文的目标地址;
若所述路由转发要素仅包括源IP时,则指定源IP中的所有接口均进行转发;
若所述路由转发要素包括源IP和URI时,则根据URI指定源IP中的部分端口进行转发;
若所述路由转发要素包括源IP、URI和请求体时,则根据URI和请求体指定源IP中的指定端口对部分请求进行转发。
8.如权利要求5所述的host请求环境识别分配装置,其特征在于,所述解析模块,具体用于:
获取请求方的请求报文,识别所述请求报文的请求类型,并根据所述请求类型对所述请求报文进行解析;
若所述请求类型为HTTP请求,则根据所述第一对象获取所述请求报文的源IP、请求头和请求体;
若所述请求类型为TCP请求,则根据所述第二对象获取所述请求报文的获取TCP请求的源IP和请求体,并将所述请求体中的接口唯一标识字段值作为所述请求报文的URI。
9.一种计算机设备,其特征在于,包括:处理器、通信接口和存储器,所述处理器、所述通信接口和所述存储器相互连接,其中,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,执行如权利要求1至4中任一项所述的host请求环境识别分配方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现权利要求1至4中任意一项所述的host请求环境识别分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410127080.0A CN118018477A (zh) | 2024-01-29 | 2024-01-29 | 一种host请求环境识别分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410127080.0A CN118018477A (zh) | 2024-01-29 | 2024-01-29 | 一种host请求环境识别分配方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118018477A true CN118018477A (zh) | 2024-05-10 |
Family
ID=90949831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410127080.0A Pending CN118018477A (zh) | 2024-01-29 | 2024-01-29 | 一种host请求环境识别分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118018477A (zh) |
-
2024
- 2024-01-29 CN CN202410127080.0A patent/CN118018477A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11811657B2 (en) | Updating routing information based on client location | |
US8073936B2 (en) | Providing support for responding to location protocol queries within a network node | |
CN106856434B (zh) | 访问请求转换的方法和装置 | |
US8738700B2 (en) | Method and system for providing network services | |
CN108494891A (zh) | 一种域名解析方法、服务器及系统 | |
EP3567881B1 (en) | Request routing and updating routing information utilizing client location information | |
US8493871B2 (en) | End-to end analysis of transactions in networks with traffic-altering devices | |
CN103095479A (zh) | 业务配置的方法及装置 | |
CN102047243A (zh) | 基于类别请求路由 | |
CN105791315A (zh) | 一种udp协议加速方法和系统 | |
US11102166B2 (en) | Explicit service function chaining (SFC) using DNS extensions | |
JP2006262193A (ja) | 制御装置、パケット転送方法およびパケット処理装置 | |
KR100901281B1 (ko) | 유비쿼터스 웹서비스 방법 | |
CN103618801A (zh) | 一种p2p资源共享的方法、设备及系统 | |
CN111726400A (zh) | 反向连接的方法、装置和服务端系统 | |
US8266639B2 (en) | Remote procedure call (RPC) bind service with physical interface query and selection | |
CN103581361A (zh) | 一种域名解析代理方法、设备及系统 | |
CN114301990A (zh) | 基于内容分发网络的节点调度方法、装置、存储介质 | |
CN110958180B (zh) | 网关路由方法、智能网关、电子设备及计算机存储介质 | |
JP4009591B2 (ja) | データベースにアクセスするためのドメインネーミングシステム(dns) | |
CN109413224B (zh) | 报文转发方法和装置 | |
CN110213365B (zh) | 基于用户分区的用户访问请求处理方法及电子设备 | |
US9021510B2 (en) | Remote procedure call (RPC) bind service with physical interface query and selection | |
CN107222365B (zh) | 数据处理方法、装置及服务器 | |
CN111614792B (zh) | 透传方法、系统、服务器、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |