CN115190011B - 一种报文处理方法、装置、电子设备及存储介质 - Google Patents
一种报文处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115190011B CN115190011B CN202210790894.3A CN202210790894A CN115190011B CN 115190011 B CN115190011 B CN 115190011B CN 202210790894 A CN202210790894 A CN 202210790894A CN 115190011 B CN115190011 B CN 115190011B
- Authority
- CN
- China
- Prior art keywords
- parameter
- request
- parameters
- message
- shifted
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 25
- 230000004044 response Effects 0.000 claims description 168
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000011161 development Methods 0.000 abstract description 11
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 230000006978 adaptation Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0889—Techniques to speed-up the configuration process
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种报文处理方法、装置、电子设备及存储介质,属于互联网技术领域,该方法包括:接收客户端发送的请求报文,请求报文包括接口参数,其中,接口参数用于唯一标定一个目标服务端;从请求参数配置表中获取与接口参数对应的请求参数重写信息,请求参数重写信息包括:参数位置标识、参数别名、待更名请求参数以及待移位请求参数;利用参数别名替换待更名请求参数的参数名;将接口参数从请求报文的请求头中移除;基于参数位置标识对待移位请求参数进行移位处理,生成重写后的请求报文,将重写后的请求报文发送至目标服务端。通过采用上述报文处理方法、装置、电子设备及存储介质,解决了工程开发效率低、产品兼容性差的问题。
Description
技术领域
本申请涉及互联网技术领域,具体而言,涉及一种报文处理方法、装置、电子设备及存储介质。
背景技术
网关又称为网间连接器、协议转换器、它是一种充当转换功能的计算机设备,能够应用于不同的通信协议、数据格式或语言之间。当用户通过客户端请求访问一个网页或者应用中的页面时,需要通过网关向服务端发送请求报文,服务端会根据请求报文中的请求信息生成响应报文,将生成的响应报文返回给对应的客户端,以实现客户端与服务端之间的交互。然而,不同的服务端对于请求报文的请求方式以及请求参数的要求是不同的,不同的服务端返回的响应报文中的响应参数也是不同的,尤其对于多租户多应用的移动开发平台来说,要求开发者在移动开发平台针对不同的服务端开发不同的适配工程,以满足客户端与不同服务端之间的交互要求。
然而,采用上述针对不同服务端开发不同工程的实现方式,会使得每次对接一个新的服务端时,都需要重新开发一套适配工程,导致工程开发效率低。
发明内容
有鉴于此,本申请的目的在于提供一种报文处理方法、装置、电子设备及存储介质,解决了工程开发效率低、产品兼容性差的问题。
第一方面,本申请实施例提供了一种报文处理方法,应用于网关,包括:
接收客户端发送的请求报文,请求报文包括接口参数,其中,接口参数用于唯一标定一个目标服务端;
从请求参数配置表中获取与接口参数对应的请求参数重写信息,请求参数重写信息包括:参数位置标识、参数别名、待更名请求参数以及待移位请求参数;
利用参数别名替换待更名请求参数的参数名;
将接口参数从请求报文的请求头中移除;
基于参数位置标识对待移位请求参数进行移位处理,生成重写后的请求报文,将重写后的请求报文发送至目标服务端。
可选地,在将重写后的请求报文发送至目标服务端的步骤之后,方法还包括:获取目标服务端返回的响应报文;基于响应参数配置表中配置的响应参数重写信息,对响应报文进行响应参数重写,得到重写后的响应报文;将重写后的响应报文发送至客户端。
可选地,参数位置标识包括地址参数标识以及请求头参数标识;基于参数位置标识对待移位请求参数进行移位处理,生成重写后的请求报文,包括:基于请求参数配置表中参数位置标识与待位移请求参数的对应关系,确定与地址参数标识对应的待移位地址参数以及与请求头参数标识对应的待移位请求头参数;基于待移位地址参数以及网关接口地址,构建重写后的请求报文的请求行;将待移位请求头参数从请求报文的请求体移动至请求头中,获得重写后的请求报文的请求头和请求体;由重写后的请求行、请求头以及请求体,构成重写后的请求报文。
可选地,请求参数重写信息还包括目标请求方式;基于待移位地址参数以及网关接口地址,构建重写后的请求报文的请求行,包括:从请求报文的请求体中获取待移位地址参数的参数值;将待移位地址参数的参数值与网关接口地址拼接在一起获取目标服务端接口地址;将待移位地址参数从请求报文的请求体中移除;将目标请求方式、目标服务端接口地址以及传输协议组合在一起,构建重写后的请求报文的请求行。
可选地,待移位地址参数包括待移位路径参数以及待移位查询参数;将待移位地址参数的参数值与网关接口地址拼接在一起获取目标服务端接口地址,包括:按照网关接口地址、待移位路径参数以及待移位查询参数的顺序将每个参数对应的参数值拼接在一起获得目标服务端接口地址。
可选地,对响应报文进行响应参数重写,得到重写后的响应报文,包括:从响应参数配置表中获取与接口参数对应的待返回响应参数、待更名响应参数的参数名以及待更名响应参数的参数别名;将除待返回响应参数之外的响应参数从响应报文中移除;利用待更名响应参数的参数别名替换响应报文中待更名响应参数的参数名,获得重写后的响应报文。
第二方面,本申请实施例还提供了一种报文处理装置,所述装置包括:
请求接收模块,用于接收客户端发送的请求报文,请求报文包括接口参数,其中,接口参数用于唯一标定一个目标服务端;
信息获取模块,用于从请求参数配置表中获取与接口参数对应的请求参数重写信息,请求参数重写信息包括:参数位置标识、参数别名、待更名请求参数以及待移位请求参数;
参数名更换模块,用于利用参数别名替换待更名请求参数的参数名;
参数移除模块,用于将接口参数从请求报文的请求头中移除;
参数移位模块,用于基于参数位置标识对待移位请求参数进行移位处理,生成重写后的请求报文,将重写后的请求报文发送至目标服务端。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的报文处理方法的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的报文处理方法的步骤。
本申请实施例带来了以下有益效果:
本申请实施例提供的一种报文处理方法、装置、电子设备及存储介质,能够通过请求参数配置表获取不同服务端的请求参数要求,并按照请求参数要求对请求报文的请求参数进行重写,无需针对不同服务端建立不同的工程,同时,还能对不同服务端返回的响应报文进行响应参数重写,以返回与客户端对应的响应参数,实现客户端与服务端的交互,与现有技术中的报文处理方法相比,解决了工程开发效率低以及产品兼容性差的问题。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的报文处理方法的流程图;
图2示出了本申请实施例所提供的报文处理装置的结构示意图;
图3示出了本申请实施例所提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本申请保护的范围。
值得注意的是,在本申请提出之前,网关又称为网间连接器、协议转换器、它是一种充当转换功能的计算机设备,能够应用于不同的通信协议、数据格式或语言之间。当用户通过客户端请求访问一个网页或者应用中的页面时,需要通过网关向服务端发送请求报文,服务端会根据请求报文中的请求信息生成响应报文,将生成的响应报文返回给对应的客户端,以实现客户端与服务端之间的交互。然而,不同的服务端对于请求报文的请求方式以及请求参数的要求是不同的,不同的服务端返回的响应报文中的响应参数也是不同的,尤其对于多租户多应用的移动开发平台来说,要求开发者针对不同的服务端开发不同的工程,以满足客户端与不同服务端之间的交互要求。然而,采用上述针对不同服务端开发不同工程的实现方式,会使得每次对接一个新的服务端时,都需要重新开发一套工程,导致工程开发效率低、产品兼容性差的问题。例如:大部分的银行保险App产品,其操作页面以及业务功能逻辑基本一致,但接口请求参数和响应参数会有其差异性,这样会造成开发人员每次对接一个新的银行或者保险公司,都要重新开发工程。
基于此,本申请实施例提供了一种报文处理方法,以提高工程开发效率以及产品兼容性。
首先,对本申请的网关进行介绍,本请通过自定义Apisix网关插件实现报文处理方法。
Apisix是一个高性能、可扩展的微服务API网关。它是基于Nginx和Etcd来实现,和传统API网关相比,Apisix作为微服务请求网关,具有动态路由和热插件加载的特点,通过插件提供负载平衡,日志记录,身份验证等功能,Apisix的功能有很多,包括动态路由、url重写、动态上游、IP黑白名单、A/B测试、灰度发布、限速限流、监控报警、健康检查等。
Apisix网关支持多插件关联使用,可同时或者单独加载请求报文重写插件以及响应报文重写插件,以同时或者单独实现对请求参数的重写以及响应参数的重写。
请参阅图1,图1为本申请实施例所提供的一种报文处理方法的流程图。如图1所示,本申请实施例提供的报文处理方法,应用于网关,包括:
步骤S101,接收客户端发送的请求报文。
该步骤中,请求报文可指客户端通过网关向服务端发送的访问请求,请求报文用于从服务端获取数据。
请求报文分为请求行、请求头以及请求体三个部分。
请求报文包括接口参数,接口参数被放置于请求报文的请求头中。
以多租户多应用移动开发平台为例,接口参数可以是接口ID、租户ID以及应用ID,通过将接口ID、租户ID以及应用ID拼接在一起组成的键值来查询目标服务端的请求参数重写信息以及响应参数重写信息,可以理解的,将接口参数分为三个参数有利于数据隔离,避免接口冲突。
在本申请实施例中,在接受客户端发送的请求报文前,先要对Apisix网关进行配置,可以在请求参数配置表中配置请求参数重写信息,在响应参数配置表中配置响应参数重写信息。客户端会按照约定的目标格式配置请求报文,该请求报文中包括网关接口,将按照目标格式配置的请求报文发送至网关接口所指示的Apisix网关,网关接收客户端发送的请求报文,并对请求报文进行相应的处理。
需要说明的是,在请求参数配置表中,需要配置接口参数对应的请求方式、参数位置标识、请求参数的参数别名、路径参数的参数名、查询参数的参数名。在响应参数配置表中,需要配置接口参数对应的待返回响应参数、待更名响应参数的参数名以及待更名响应参数的参数别名。
目标格式是指请求方式为指定请求方式、接口参数位于请求头内且请求参数位于请求体内的格式。
这里,不同的目标服务端对接收的请求报文的请求方式有不同的要求,然而,客户端无法获取目标服务端对于请求方式的要求,因此,规定客户端需要以统一的post方式向网关发送请求报文,然后,网关根据接口参数从请求配置表中查询目标服务端对应的请求方式,并将post请求方式转换为目标服务端对应的请求方式。
同时,由于不同的请求方式对于请求报文的参数存放位置有不同的要求,因此,需要客户端在发送请求报文时,将接口参数统一配置在请求头内,将请求参数配置在请求体内,这样不但能够满足post请求方式对于参数存放位置的要求,同时,在对请求报文进行加密时,不需要分别对请求头和请求体进行加密和解密,只需要对请求体整体加解密即可,减少了资源消耗,提高了访问效率。
需要说明的是,本申请中的Apisix网关插件是采用Lua语言实现的,Lua的特点是小巧、高效、易于扩展,即使在高并发场景下,响应速度也不会受到太大影响。
步骤S102,从请求参数配置表中获取与接口参数对应的请求参数重写信息。
该步骤中,请求参数重写信息可指对请求参数进行重写处理所需的信息。
请求参数重写信息包括:参数位置标识、参数别名、待更名请求参数以及待移位请求参数。
参数位置标识可指待移位请求参数要移动到的位置的标识,以将待移位请求参数移动至请求头内为例,则参数位置标识为请求头参数标识。请求头标识可以是字符,例如:header。
参数别名可指待更名请求参数要更换到的名称,以待更名请求参数为mobile为例,如果将mobile改为phone,则phone就是该待更名请求参数的参数别名。
在本申请实施例中,由于请求参数配置表中已经配置了接口参数对应的请求参数重写信息,因此,当客户端发送包括接口参数的请求报文后,网关可以从请求报文中获取接口参数,并将接口参数作为索引从请求参数配置表中获取请求参数重写信息。
步骤S103,利用参数别名替换待更名请求参数的参数名。
该步骤中,待更名请求参数可指需要更换参数名的请求参数,待更名请求参数包括待更名请求参数的参数名及参数值。
参数别名是待更名请求参数在目标服务端中的参数名。
由于不同服务端的请求参数的参数名是不同的,当同一个请求报文向不同服务端发送时,存在不适配的问题,服务端可能无法识别请求报文中的请求参数,为了使请求报文中的请求参数与不同服务端的参数名相匹配,可在请求参数配置表中为不同服务端的请求参数配置各自的参数别名,当网关接收到请求报文时,将待更名请求参数替换为参数别名,实现不同服务端的适配。
假设,待更名请求参数为mobile:130XXXXXXXX,其中,mobile为该待更名请求参数的参数名,130XXXXXXXX为该待更名请求参数的参数值,该待更名请求参数的参数别名为phone,则将待更名请求参数的参数名由mobile改为phone,更名处理后为该请求参数为phone:130XXXXXXXX。
步骤S104,将接口参数从请求报文的请求头中移除。
该步骤中,接口参数可指索引参数,接口参数用于唯一标定一个目标服务端。
接口参数用于确定目标服务端的请求参数重写信息以及响应参数重写信息。
在本申请实施例中,接口参数主要用于查询请求参数重写信息以及响应参数重写信息,对于目标服务端来说接口参数是不需要的,因此,要将接口参数从请求报文的请求头中删除,以使得请求头中只包括目标服务端所需要的请求头参数。
步骤S105,基于参数位置标识对待移位请求参数进行移位处理,生成重写后的请求报文,将重写后的请求报文发送至目标服务端。
该步骤中,待移位请求参数可指需要更换参数位置的请求参数,待移位请求参数包括待移位请求参数的参数名及参数值。
移位处理可指将待移位请求参数由请求报文的一个部分移动至另一部分的处理,示例性,移位处理可以是将待移位请求参数由请求报文的请求体部分移至请求头的处理。
由于不同服务端的请求参数的参数位置是不同的,当同一个请求报文向不同服务端发送时,存在参数位置不适配的问题,服务端可能无法识别请求报文中的请求参数,为了使请求报文中的请求参数的参数位置与不同服务端的参数位置相匹配,可在请求参数配置表中为不同服务端的请求参数配置各自的参数位置标识,当网关接收到请求报文时,将待移位请求参数移动至参数位置标识对应的部分,实现不同服务端的适配。
假设,待移位请求参数为uuid:abcd,其中,uuid为该待移位请求参数的参数名,abcd为该待移位请求参数的参数值,参数位置标识为请求头参数标识header,进行移位处理后,待移位请求参数uuid:abcd由请求报文的请求体移动至请求头中。
需要说明的是,请求报文是按目标格式配置的,所有请求参数都位于请求体内,因此,只需要对请求报文中请求体内的待移位请求参数进行移位处理。
在一可选实施例中,参数位置标识包括地址参数标识以及请求头参数标识;基于参数位置标识对待移位请求参数进行移位处理,生成重写后的请求报文,包括:基于请求参数配置表中参数位置标识与待移位请求参数的对应关系,确定与地址参数标识对应的待移位地址参数以及与请求头参数标识对应的待移位请求头参数;基于待移位地址参数以及网关接口地址,构建重写后的请求报文的请求行;将待移位请求头参数从请求报文的请求体移动至请求头中,获得重写后的请求报文的请求头和请求体;由重写后的请求行、请求头以及请求体,构成重写后的请求报文。
这里,地址参数标识可指用于指示待移位地址参数的标识,待移位地址参数是指要被移动至请求行内的待移位请求参数,待移位地址参数用于确定目标服务端接口地址。
请求头参数标识可指用于指示待移位请求头参数的标识,待移位请求头参数是指要被移动至请求头内的待移位请求参数。
具体的,在请求参数配置表中配置了待移位请求参数的参数名,如果该待移位请求参数的参数名对应配置了地址参数标识,则表明该待移位请求参数为待移位地址参数,如果该待移位请求参数的参数名对应配置了请求头参数标识,则表明该待移位请求参数为待移位请求头参数。确定了待移位请求参数为待移位地址参数还是待移位请求头参数后,就可以确定该带移位请求参数要移动到的位置。如果是待移位地址参数,则将该待移位请求参数移动与网关接口地址拼接起来,以构建重写后的请求行;如果是待移位请求头参数,则将该待移位请求参数移动至请求头中,获得重写后的请求头,未被移动的请求参数就构成了重写后的请求体。
在一可选实施例中,请求参数重写信息还包括目标请求方式;基于待移位地址参数以及网关接口地址,构建重写后的请求报文的请求行,包括:从请求报文的请求体中获取待移位地址参数的参数值;将待移位地址参数的参数值与网关接口地址拼接在一起获取目标服务端接口地址;将待移位地址参数从请求报文的请求体中移除;将目标请求方式、目标服务端接口地址以及传输协议组合在一起,构建重写后的请求报文的请求行。
这里,目标请求方式可指目标服务端能够处理的请求方式,目标请求方式是网关发送至目标服务端的重写后的请求报文中的请求方式,也是网关接收客户端发送的请求方式统一为post方式的请求报文后,将post请求方式转换为目标服务端能够处理的请求方式。
示例性的,目标请求方式包括但不限于以下项中的任一项:get、post、put、delete。
由于已经将待移位地址参数的参数值与网关接口地址拼接得到目标服务端接口地址,同时,目标服务端接收的请求报文中不需要待移位地址参数,所以要将待移位地址参数从请求报文的请求体中移除。
客户端向网关发送的请求报文的请求行中存放的是网关接口地址,需要将网关接口地址转换为目标服务端接口地址,同时,利用接口参数从请求参数配置表中获取目标服务端对应的目标请求方式,将请求报文中的post请求方式改为目标请求方式,将目标请求方式、目标服务端接口地址以及传输协议组合起来,确定重写后的请求报文的请求行。
在一可选实施例中,待移位地址参数包括待移位路径参数以及待移位查询参数;将待移位地址参数的参数值与网关接口地址拼接在一起获取目标服务端接口地址,包括:按照网关接口地址、待移位路径参数以及待移位查询参数的顺序将每个参数对应的参数值拼接在一起获得目标服务端接口地址。
这里,待移位路径参数与待移位查询参数共同组成了待位移地址参数。
以网关接口地址为http://10.114.14.99:9000/ebank/user,请求报文的请求体中包括两个路径参数,这两个路径参数的参数值分别为123456以及admin、查询参数index的参数值为1001为例,则将网关接口地址、路径参数的参数值、查询参数的参数值拼接在一起后,得到的http://10.114.14.99:9000/ebank/user/123456/admin?index=1001就是目标服务端接口地址。
需要说明的是,在拼接时会使用到特殊符号,例如:路径参数与查询参数之间用问号相连,如果是查询参数,则该查询参数的参数名也要与其他参数的参数值拼接在一起,并且查询参数的参数名与查询参数的参数值用等号连接。
在一可选实施例中,在将重写后的请求报文发送至目标服务端的步骤之后,方法还包括:获取目标服务端返回的响应报文;基于响应参数配置表中配置的响应参数重写信息,对响应报文进行响应参数重写,得到重写后的响应报文;将重写后的响应报文发送至客户端。
这里,响应报文可指目标服务端返回给网关的报文,响应报文包括响应行、响应头、响应体。
响应参数重写可指对响应报文中的响应参数进行更名以及过滤处理。
响应参数重写信息可指用于确定待重写的响应参数的信息,响应参数重新信息包括但不限于:待返回响应参数的参数名、待更名响应参数的参数名以及待更名响应参数的参数别名。
在本申请实施例中,Apisix网关生成重写后的请求报文后,将该重写后的请求报文发送至目标服务端,目标服务端根据重写后的请求报文中的信息返回响应报文。网关接收到目标服务端返回的响应报文后,根据响应参数配置表中的待返回响应参数的参数名、待更名响应参数的参数名以及参数别名,对响应报文进行响应参数更名及过滤处理,得到重写后的响应报文。
在一可选实施例中,针对响应报文进行响应参数重写处理得到重写后的响应报文,包括:从响应参数配置表中获取与接口参数对应的待返回响应参数的参数名、待更名响应参数的参数名以及待更名响应参数的参数别名;将除待返回响应参数之外的响应参数从响应报文中移除;利用待更名响应参数的参数别名替换响应报文中待更名响应参数的参数名,获得重写后的响应报文。
这里,待更名响应参数可指需要更换参数名的响应参数,待更名响应参数包括待更名响应参数的参数名及参数值。
待返回响应参数可指返回给客户端的响应报文中需要保留的响应参数。
由于不同服务端返回的响应报文的响应参数是不同的,对于客户端来说响应报文中可能存在不需要的响应参数,客户端无法识别这些不需要的响应参数,为了使响应报文中的响应参数与客户端的参数相匹配,可在响应参数配置表中为不同服务端的响应参数配置各自的响应参数配置信息,当网关接收到响应报文时,将根据响应参数配置信息对响应报文进行响应参数重写,实现不同服务端的适配。
具体的,将接口参数作为查询索引,从响应参数配置表中获取与接口参数对应的待返回响应参数的参数名,保留响应报文中与待返回响应参数的参数名对应的响应参数,将其余响应参数从响应报文中过滤掉。
从响应参数配置表中获取与接口参数对应的待更名响应参数的参数名以及待更名响应参数的参数别名,利用待更名响应参数的参数别名对待更名响应参数的参数名进行更换,得到经过过滤和更名处理后的响应报文,即得到重写后的响应报文。
与现有技术中报文处理方法相比,本申请能够通过请求参数配置表获取不同服务端的请求参数要求,并按照请求参数要求对请求报文的请求参数进行重写,无需针对不同服务端建立不同的工程,同时,还能对不同服务端返回的响应报文进行响应参数重写,以返回与客户端对应的响应参数,实现客户端与服务端的交互,解决了工程开发效率低、产品兼容性差的问题。
基于同一发明构思,本申请实施例中还提供了与报文处理方法对应的报文处理装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述报文处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参阅图2,图2为本申请实施例所提供的一种报文处理装置的结构示意图。如图2中所示,所述报文处理装置200包括:
请求接收模块201,用于接收客户端发送的请求报文,请求报文包括接口参数,其中,接口参数用于唯一标定一个目标服务端;
信息获取模块202,用于从请求参数配置表中获取与接口参数对应的请求参数重写信息,请求参数重写信息包括:参数位置标识、参数别名、待更名请求参数以及待移位请求参数;
参数名更换模块203,用于利用参数别名替换待更名请求参数的参数名;
参数移除模块204,用于将接口参数从请求报文的请求头中移除;
参数移位模块205,用于基于参数位置标识对待移位请求参数进行移位处理,生成重写后的请求报文,将重写后的请求报文发送至目标服务端。
可选地,报文处理装置200还包括响应报文重写模块(图中未示出),响应报文重写模块用于:获取目标服务端返回的响应报文;基于响应参数配置表中配置的响应参数重写信息,对响应报文进行响应参数重写,得到重写后的响应报文;将重写后的响应报文发送至客户端。
可选地,参数位置标识包括地址参数标识以及请求头参数标识;参数移位模块205具体用于:基于请求参数配置表中参数位置标识与待位移请求参数的对应关系,确定与地址参数标识对应的待移位地址参数以及与请求头参数标识对应的待移位请求头参数;基于待移位地址参数以及网关接口地址,构建重写后的请求报文的请求行;将待移位请求头参数从请求报文的请求体移动至请求头中,获得重写后的请求报文的请求头和请求体;由重写后的请求行、请求头以及请求体,构成重写后的请求报文。
可选地,请求参数重写信息还包括目标请求方式;参数移位模块205还具体用于:从请求报文的请求体中获取待移位地址参数的参数值;将待移位地址参数的参数值与网关接口地址拼接在一起获取目标服务端接口地址;将待移位地址参数从请求报文的请求体中移除;将目标请求方式、目标服务端接口地址以及传输协议组合在一起,构建重写后的请求报文的请求行。
可选地,待移位地址参数包括待移位路径参数以及待移位查询参数;参数移位模块205还具体用于:按照网关接口地址、待移位路径参数以及待移位查询参数的顺序将每个参数对应的参数值拼接在一起获得目标服务端接口地址。
可选地,响应报文重写模块还具体用于:从响应参数配置表中获取与接口参数对应的待返回响应参数、待更名响应参数的参数名以及待更名响应参数的参数别名;将除待返回响应参数之外的响应参数从响应报文中移除;利用待更名响应参数的参数别名替换响应报文中待更名响应参数的参数名,获得重写后的响应报文。
请参阅图3,图3为本申请实施例所提供的一种电子设备的结构示意图。如图3中所示,所述电子设备300包括处理器310、存储器320和总线330。
所述存储器320存储有所述处理器310可执行的机器可读指令,当电子设备300运行时,所述处理器310与所述存储器320之间通过总线330通信,所述机器可读指令被所述处理器310执行时,可以执行如上述图1所示方法实施例中的报文处理方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1所示方法实施例中的报文处理方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种报文处理方法,其特征在于,应用于网关,包括:
接收客户端发送的请求报文,所述请求报文包括接口参数,其中,接口参数用于唯一标定一个目标服务端;
从请求参数配置表中获取与所述接口参数对应的请求参数重写信息,所述请求参数重写信息包括:参数位置标识、参数别名、待更名请求参数以及待移位请求参数;
利用所述参数别名替换所述待更名请求参数的参数名;
将所述接口参数从所述请求报文的请求头中移除;
基于所述参数位置标识对所述待移位请求参数进行移位处理,生成重写后的请求报文,将所述重写后的请求报文发送至目标服务端;
所述参数位置标识包括地址参数标识以及请求头参数标识;
所述基于所述参数位置标识对所述待移位请求参数进行移位处理,生成重写后的请求报文,包括:
基于请求参数配置表中参数位置标识与待位移请求参数的对应关系,确定与地址参数标识对应的待移位地址参数以及与请求头参数标识对应的待移位请求头参数;
基于所述待移位地址参数以及网关接口地址,构建重写后的请求报文的请求行;
将所述待移位请求头参数从请求报文的请求体移动至请求头中,获得重写后的请求报文的请求头和请求体;
由重写后的请求行、请求头以及请求体,构成重写后的请求报文。
2.根据权利要求1所述的方法,其特征在于,在所述将所述重写后的请求报文发送至目标服务端的步骤之后,所述方法还包括:
获取所述目标服务端返回的响应报文;
基于响应参数配置表中配置的响应参数重写信息,对所述响应报文进行响应参数重写,得到重写后的响应报文;
将所述重写后的响应报文发送至所述客户端。
3.根据权利要求1所述的方法,其特征在于,所述请求参数重写信息还包括目标请求方式;所述基于所述待移位地址参数以及网关接口地址,构建重写后的请求报文的请求行,包括:
从所述请求报文的请求体中获取所述待移位地址参数的参数值;
将所述待移位地址参数的参数值与网关接口地址拼接在一起获取目标服务端接口地址;
将所述待移位地址参数从请求报文的请求体中移除;
将所述目标请求方式、目标服务端接口地址以及传输协议组合在一起,构建重写后的请求报文的请求行。
4.根据权利要求3所述的方法,其特征在于,所述待移位地址参数包括待移位路径参数以及待移位查询参数;所述将所述待移位地址参数的参数值与网关接口地址拼接在一起获取目标服务端接口地址,包括:
按照网关接口地址、待移位路径参数以及待移位查询参数的顺序将每个参数对应的参数值拼接在一起获得目标服务端接口地址。
5.根据权利要求2所述的方法,其特征在于,所述对所述响应报文进行响应参数重写,得到重写后的响应报文,包括:
从响应参数配置表中获取与所述接口参数对应的待返回响应参数、待更名响应参数的参数名以及待更名响应参数的参数别名;
将除待返回响应参数之外的响应参数从所述响应报文中移除;
利用所述待更名响应参数的参数别名替换响应报文中待更名响应参数的参数名,获得重写后的响应报文。
6.一种报文处理装置,其特征在于,包括:
请求接收模块,用于接收客户端发送的请求报文,所述请求报文包括接口参数,其中,接口参数用于唯一标定一个目标服务端;
信息获取模块,用于从请求参数配置表中获取与所述接口参数对应的请求参数重写信息,所述请求参数重写信息包括:参数位置标识、参数别名、待更名请求参数以及待移位请求参数;
参数名更换模块,用于利用所述参数别名替换所述待更名请求参数的参数名;
参数移除模块,用于将所述接口参数从所述请求报文的请求头中移除;
参数移位模块,用于基于所述参数位置标识对所述待移位请求参数进行移位处理,生成重写后的请求报文,将所述重写后的请求报文发送至目标服务端;
所述参数位置标识包括地址参数标识以及请求头参数标识;
所述参数移位模块,具体用于:
基于请求参数配置表中参数位置标识与待位移请求参数的对应关系,确定与地址参数标识对应的待移位地址参数以及与请求头参数标识对应的待移位请求头参数;
基于所述待移位地址参数以及网关接口地址,构建重写后的请求报文的请求行;
将所述待移位请求头参数从请求报文的请求体移动至请求头中,获得重写后的请求报文的请求头和请求体;
由重写后的请求行、请求头以及请求体,构成重写后的请求报文。
7.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至5中任一项所述的报文处理方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至5中任一项所述的报文处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210790894.3A CN115190011B (zh) | 2022-07-05 | 2022-07-05 | 一种报文处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210790894.3A CN115190011B (zh) | 2022-07-05 | 2022-07-05 | 一种报文处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115190011A CN115190011A (zh) | 2022-10-14 |
CN115190011B true CN115190011B (zh) | 2024-02-27 |
Family
ID=83517489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210790894.3A Active CN115190011B (zh) | 2022-07-05 | 2022-07-05 | 一种报文处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115190011B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6049826A (en) * | 1998-02-04 | 2000-04-11 | 3Com Corporation | Method and system for cable modem initialization using dynamic servers |
CN106878311A (zh) * | 2017-02-22 | 2017-06-20 | 杭州迪普科技股份有限公司 | Http报文的重写方法及装置 |
WO2019215390A1 (en) * | 2018-05-09 | 2019-11-14 | Nokia Technologies Oy | Security management for edge proxies on an inter-network interface in a communication system |
CN110753127A (zh) * | 2019-10-29 | 2020-02-04 | 浪潮云信息技术有限公司 | 基于Kong的API网关实现请求参数转换的方法 |
CN111211931A (zh) * | 2020-02-20 | 2020-05-29 | 深圳市风云实业有限公司 | 一种基于可重构技术的报文转发系统 |
CN114185973A (zh) * | 2021-12-14 | 2022-03-15 | 深圳壹账通智能科技有限公司 | 参数调用方法、装置、设备及计算机可读存储介质 |
-
2022
- 2022-07-05 CN CN202210790894.3A patent/CN115190011B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6049826A (en) * | 1998-02-04 | 2000-04-11 | 3Com Corporation | Method and system for cable modem initialization using dynamic servers |
CN106878311A (zh) * | 2017-02-22 | 2017-06-20 | 杭州迪普科技股份有限公司 | Http报文的重写方法及装置 |
WO2019215390A1 (en) * | 2018-05-09 | 2019-11-14 | Nokia Technologies Oy | Security management for edge proxies on an inter-network interface in a communication system |
CN110753127A (zh) * | 2019-10-29 | 2020-02-04 | 浪潮云信息技术有限公司 | 基于Kong的API网关实现请求参数转换的方法 |
CN111211931A (zh) * | 2020-02-20 | 2020-05-29 | 深圳市风云实业有限公司 | 一种基于可重构技术的报文转发系统 |
CN114185973A (zh) * | 2021-12-14 | 2022-03-15 | 深圳壹账通智能科技有限公司 | 参数调用方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115190011A (zh) | 2022-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200404471A1 (en) | A Method of Discovering Services Provided by a Network Repository Function | |
CN110083650B (zh) | 一种基于元数据自发现的数据查询接口自动生成方法 | |
US8069224B2 (en) | Method, equipment and system for resource acquisition | |
CN102694701B (zh) | 基于消息的测试方法及系统 | |
KR100898994B1 (ko) | 단말의 설정 | |
CN110580256B (zh) | 一种识别应用标识的方法、设备及系统 | |
JP6588477B2 (ja) | リモート情報クエリの方法及びサーバ | |
JP2011146037A (ja) | 管理ツリー中の管理対象をアドレッシングする方法及びそれに関連する装置管理システム | |
CN111427613B (zh) | 一种应用程序接口api管理方法和装置 | |
CN101854343B (zh) | 提供节点信息的方法、获取节点信息的方法及设备 | |
RU2654854C1 (ru) | Способ сбора данных о пользователе устройства беспроводной связи и машиночитаемый носитель для реализации этого способа | |
CN109150844B (zh) | 确定数字证书的方法、装置和系统 | |
CN114490889A (zh) | 配置信息处理方法、装置、设备、介质及程序产品 | |
CN115190011B (zh) | 一种报文处理方法、装置、电子设备及存储介质 | |
CN114064732A (zh) | 设备唯一标识符的生成方法和系统 | |
EP1883257A1 (fr) | Procédé de synchronisation entre un equipement mobile et une carte a puce | |
CN111865905B (zh) | 一种基于Ukey的通信方法、装置和存储介质 | |
EP3171565B1 (en) | Methods, devices and system for netconf hello packets interaction | |
CN110830492B (zh) | 一种基于CoreDNS注册服务的边缘应用相互调度的方法及系统 | |
CN112015651A (zh) | 数据处理方法及装置 | |
CN110855782B (zh) | 一种服务调用系统、方法、电子设备及可读存储介质 | |
CN105052207B (zh) | 一种信息查询方法、设备及系统 | |
CA2455493A1 (en) | Distributed service component systems | |
US20160188748A1 (en) | Method for providing information to determine a graph associated with a data item | |
US11546405B2 (en) | Methods for exposing mainframe data as a web service and devices thereof |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |