CN114978888A - 一种报文转发方法、装置、电子设备及存储介质 - Google Patents
一种报文转发方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114978888A CN114978888A CN202210441445.8A CN202210441445A CN114978888A CN 114978888 A CN114978888 A CN 114978888A CN 202210441445 A CN202210441445 A CN 202210441445A CN 114978888 A CN114978888 A CN 114978888A
- Authority
- CN
- China
- Prior art keywords
- request
- script
- interface
- message
- processing
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000013515 script Methods 0.000 claims abstract description 218
- 238000012545 processing Methods 0.000 claims abstract description 104
- 230000004044 response Effects 0.000 claims abstract description 100
- 238000007781 pre-processing Methods 0.000 claims description 49
- 238000013507 mapping Methods 0.000 claims description 36
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012795 verification Methods 0.000 claims description 9
- 238000012986 modification Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 5
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 230000008859 change Effects 0.000 abstract description 9
- 230000008878 coupling Effects 0.000 abstract description 4
- 238000010168 coupling process Methods 0.000 abstract description 4
- 238000005859 coupling reaction Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
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/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种报文转发方法、装置、电子设备及存储介质。该方法包括获取调用方对服务方接口的调用请求,加载与调用请求中的接口编号对应的目标配置化脚本;通过执行目标配置化脚本处理调用请求中的请求报文,得到满足服务方接口要求的请求报文,向服务方发送满足服务方接口要求的请求报文;获取服务方发送的与请求报文对应的响应报文,通过执行目标配置化脚本对响应报文进行处理,向调用方发送处理后的响应报文。本发明实施例通过调用配置化脚本来满足非标准业务的定制化需求,解决了在面对非标准业务时需要变更网关代码以及重新发布的问题,减少了架构变动风险,增加了代码复用率,降低了代码重复率,实现了代码低耦合。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种报文转发方法、装置、电子设备及存储介质。
背景技术
网关(Gateway)又称为网间连接器或协议转换器。网关在网络层以上实现网络互连,是复杂的网络互连设备,仅用于两个高层协议不同的网络互连。
核心网关在实现通用网关功能之外,还可能会涉及到处理某些非通用网关功能的非标需求。目前,传统业务网关在应对非标需求时,一般的处理方案为:第一、另外配置独立于标准通用网关的非标网关,用于应对非标需求。第二、在原有应用的基础上,针对每次定制化的业务需求均单独开发接口,设计并研发相关的需求。
发明人在实现本发明的过程中,发现现有技术存在如下缺陷:第一种方案虽然可以统一管理非标准业务接口的定制化需求,但是这种方式需要针对定制化需求进行代码开发,并更新网关的代码,涉及代码管理和发布问题。第二种方案需要变更通用网关的代码,也涉及代码管理和发布问题。然而,上述方案中,网关代码的变更是直接在代码中硬编码,破坏了代码的简洁性,同时增加了架构变动风险。此外,每次代码变更均需要重新发布,增加了开发时间。
发明内容
本发明实施例提供了一种报文转发方法、装置、电子设备及存储介质,可以解决目前在面对非标准业务时需要变更网关代码以及重新发布的问题。
根据本发明的一方面,提供了一种报文转发方法,包括:
获取调用方对服务方接口的调用请求,加载与所述调用请求中的接口编号对应的目标配置化脚本;
通过执行所述目标配置化脚本处理所述调用请求中的请求报文,得到满足服务方接口要求的请求报文,向服务方发送满足所述服务方接口要求的请求报文;
获取所述服务方发送的与所述请求报文对应的响应报文,通过执行所述目标配置化脚本对所述响应报文进行处理,向所述调用方发送处理后的响应报文。
根据本发明的另一方面,提供了一种报文转发装置,包括:
脚本加载模块,用于执行获取调用方对服务方接口的调用请求,加载与所述调用请求中的接口编号对应的目标配置化脚本;
请求报文发送模块,用于执行通过执行所述目标配置化脚本处理所述调用请求中的请求报文,得到满足服务方接口要求的请求报文,向服务方发送满足所述服务方接口要求的请求报文;
响应报文发送模块,用于执行获取所述服务方发送的与所述请求报文对应的响应报文,通过执行所述目标配置化脚本对所述响应报文进行处理,向所述调用方发送处理后的响应报文。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的报文转发方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于使处理器执行时实现本发明任一实施例所述的报文转发方法。
本发明实施例的技术方案,通过获取调用方对服务方接口的调用请求以及调用方对应的接口编号,基于接口编号加载对应的目标配置化脚本,通过执行目标配置化脚本对调用请求的请求报文进行处理,并将处理后的请求报文发送转发给服务方,获取服务方发送的与请求报文对应的响应报文,通过执行目标配置化脚本对响应报文进行处理,向调用方发送处理后的响应报文,实现通过调用配置化脚本来满足非标准业务的定制化需求,解决了在面对非标准业务时需要变更网关代码以及重新发布的问题,减少了架构变动风险,增加了代码复用率,降低了代码重复率,实现了代码低耦合。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种报文转发方法的流程图;
图2为本发明实施例提供的另一种报文转发方法的流程图;
图3为本发明实施例提供的一种报文转发装置的结构示意图;
图4为本发明实施例提供的一种电子设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
图1为本发明实施例提供的一种报文转发方法的流程图,本实施例可适用于通用网关处理非标准业务接口的调用请求和调用响应的场景,该方法可以由报文转发装置来执行,该报文转发装置可以采用硬件和/或软件的形式实现,该报文转发装置可配置于电子设备中,该电子设备可以为网关服务器。如图1所示,该方法包括:
S110、获取调用方对服务方接口的调用请求,加载与所述调用请求中的接口编号对应的目标配置化脚本。
其中,调用方为向网关发送调用请求的一方。调用请求为调用方向服务方发送的用于调用服务方接口的请求。在调用请求中携带请求报文和调用方对应的接口编号。请求报文为携带请求参数的报文,请求参数用于表明调用方向服务方请求的服务的相关信息。
相应地,服务方为接收网关转发调用方的调用请求的一方。调用方和服务方分别属于两个高层协议不同的网络,需要通过网关转发调用方的请求报文给服务方,并转发服务方的响应报文给调用方。请求报文和响应报文均为HTTP(HyperText TransferProtocol,超文本传输协议)报文。本发明实施例对请求报文和响应报文的协议类型并不作具体限定。例如,请求报文和响应报文还可以为HTTPS(Secure Hypertext TransferProtocol,安全超文本传输协议)报文、MTP(Media Transfer Protocol,媒体传输协议)报文或FTP(File Transfer Protocol,文件传输协议)报文等。
服务方向调用方提供接口,以使调用方通过服务方接口获取服务方上的数据。例如,根据实际应用场景,服务方接口可以包括增、删、改、查、上传、下载等类型的接口中的一种或几种。非标准业务接口为基于服务方业务诉求而具有定制化需求的服务方接口。具体地,定制化需求包括通过网关转发的报文需要进行加签、加密、参数转换映射、解密、验签、通用报文美化或重试等操作中的一种或多种。
接口编号是通过网关为不同调用方配置的与业务接口对应的唯一标识码。例如,通过网关预先配置某一调用方G,其调用外部服务的接口,接口编号可以为GU。其调用内部服务的接口,接口编号可以为GI。预先基于每个服务方接口的定制化需求开发配置化脚本,并为各个配置化脚本分配对应的脚本编号。需要说明的是,从调用方到服务方的每个步骤均可开发配置化脚本以满足定制化需求,并建立服务方接口与脚本编号的对应关系,以便面对相同业务诉求时,可以实现脚本复用。
配置化脚本为根据非标准业务的定制化需求编写的脚本。配置化脚本包含参数预处理脚本、请求头预处理脚本、加签脚本、加密脚本、验签脚本、解密脚本、响应参数处理脚本、证书配置化处理脚本和参数配置化加载脚本等。目标配置化脚本为根据定制化需求从配置化脚本中选择的至少一个脚本,用于对调用方发送的请求报文进行处理,以满足服务方的定制化的业务诉求。由于服务方的定制化需求不同,目标配置化脚本可以包括加签、验签、加密、解密、参数转换映射、通用报文美化或重试等的一种或多种配置化脚本。
在调用方向服务方发送调用请求之前,调用方通过配置网关实现调用方的接口编号与脚本编码的映射。具体地,网关获取调用方对于服务方接口的配置信息,根据配置信息确定要执行的目标配置化脚本。网关获取调用方对应的接口编号,根据目标配置化脚本的脚本编号和接口编号生成映射表。一种情况下,配置信息用于配置调用服务方接口所要执行的目标配置化脚本。例如,若服务方接口的定制化的业务诉求是要求报文加签,则网关获取的配置信息表明对调用该服务方接口的请求报文执行加签脚本。将加签脚本的脚本编号与调用方对应的接口编号的映射关系添加至映射表。
若服务方接口的定制化的业务诉求是要求报文加签和加密处理,则网关获取的配置信息表明对调用该服务方接口的请求报文执行加签脚本和加密脚本。基于加签脚本、加密脚本的脚本编号与调用方对应的接口编号的映射关系更新映射表。
若服务方接口的定制化的业务诉求是要求报文加签、加密和参数转换映射处理,则网关获取的配置信息表明对调用该服务方接口的请求报文执行加签脚本、加密脚本和参数预处理脚本。将加签脚本、加密脚本和参数预处理脚本的脚本编号与调用方对应的接口编号的映射关系添加至映射表。
其中,映射表用于记录调用方对应的接口编号与配置化脚本的脚本编号的映射关系。在映射表中存储接口编号与脚本编号的多对一映射关系。例如,不同调用方调用同一服务方的查询接口,均需要进行加签处理,则可以将不同调用方的接口编号映射到同一加签脚本的脚本编号。在映射表中还可能存储接口编号与脚本编号的一对多映射关系。例如,调用方调用服务方的查询接口,需要进行加签处理和加密处理,则可以将调用方的接口编号分别映射到加签脚本的脚本编号和加密脚本的脚本编号。在映射表中还可能存储接口编号与脚本编号的多对多映射关系。例如,不同调用方调用同一服务方提供的查询接口,均需要进行加签处理和加密处理,则可以分别将各个调用方的接口编号映射到加签脚本的脚本编号和加密脚本的脚本编号。
示例性地,获取调用方对服务方接口的调用请求,加载与调用请求中的接口编号对应的目标配置化脚本具体包括:获取调用方对服务方接口的调用请求和调用方对应的接口编号。根据接口编号从预设的映射表中确定对应的脚本编号,加载脚本编号对应的目标配置化脚本。具体地,调用方向网关发送的调用请求中携带接口编号。网关获取调用方对服务方接口的调用请求,解析调用请求得到调用请求包含的字段以及各个字段对应的字段内容,获取调用请求中接口编号字段对应的接口编号。然后,根据接口编号查询预设的映射表,得到对应的脚本编号,加载与脚本编号对应的目标配置化脚本。
S120、通过执行所述目标配置化脚本处理所述调用请求中的请求报文,得到满足服务方接口要求的请求报文,向服务方发送满足所述服务方接口要求的请求报文。
其中,服务方接口要求基于服务方的定制化需求确定。具体地,服务方接口要求包括但不限于加签、验签、加密、解密、参数转换映射、通用报文美化或重试中的一种或多种。
一种情况下,根据配置信息中的脚本参数执行目标配置化脚本,通过执行目标配置化脚本对调用请求的请求报文进行请求参数预处理、请求头预处理、加签处理、加密处理、加证书处理和配置化加载处理中的一项或多项,得到满足服务方接口要求的请求报文。其中,脚本参数为目标配置化脚本的传入参数。例如,脚本参数包括请求参数的校验规则、映射关系、抽离规则、加签内容、加密内容、数字证书的序列号和传输协议参数等。
一种需要进行参数预处理的情况下,通过参数预处理脚本对请求报文进行请求参数预处理。其中,请求参数预处理包括对请求参数进行预校验、字段映射和内容提取中的至少一项操作。其中,预校验包括报文格式校验、完整性校验和合法性校验等。字段映射为通过参数预处理脚本件请求参数中的某个字段映射成其它字段。例如,将请求参数中的字段transID映射为字段ID。内容提取为通过参数预处理脚本提取请求参数中的特定内容。例如,通过参数预处理脚本提取请求参数中的data字段的内容。具体地,根据协议规定的字段含义解析请求报文,得到请求头和请求体。获取请求体对应的请求参数,执行参数预处理脚本对请求参数进行预校验、字段映射、内容提取中的至少一项处理。
一种需要进行请求头预处理的情况下,通过请求头预处理脚本对请求报文进行请求头预处理。其中,请求头预处理包括向请求头中添加特定字段。具体地,基于http协议规定的报文格式解析出请求报文包含的http请求头,通过http请求头预处理脚本向http请求头中加入固定值。或者,基于http协议规定的报文格式解析出请求报文包含的http请求头和请求参数,通过http请求头预处理脚本提取请求参照中的特定字段,并添加至http请求头中。
一种需要加签处理的请求下,通过加签脚本处理请求报文得到签名,将签名添加至请求报文,实现对请求报文加签。相应地,在网关接收到服务方的响应报文之后,通过验签脚本对响应报文进行验签,通过加签和验签实现了身份验证。需要说明的是,加签和验签所采用的加签算法和验签算法包括对称加密算法、非加密算法、国密算法和消息摘要算法中的一种或几种的组合。可选地,可以将数据签名添加到请求头。
一种需要加密处理的情况下,通过加密脚本对请求报文进行加密。可选地,还可以通过加密脚本对加签后的请求报文进行加密。可选地,还可以根据加密脚本对请求报文的部分内容进行加密。相应地,在网关接收到服务方的响应报文之后,通过解密脚本对响应报文进行解密,通过加密和解密保证了信息安全。需要说明的是,加密算法和解密算法包括对称加密算法、非加密算法、国密算法和消息摘要算法中的一种或几种的组合。
一种需要加证书处理的情况下,根据配置信息中数字证书的序列号执行目标配置化脚本,通过执行目标配置化脚本对调用请求的请求报文进行加证书处理。具体地,通过证书配置化处理脚本,根据配置信息中的数字证书的序列号从设定数据库读取数据流格式的数字证书,将数据流格式的数字证书添加至请求报文。
需要说明的是,在根据配置信息中数字证书的序列号执行目标配置化脚本之前,还包括基于设定编码算法处理数字证书文件,得到数据流格式的数字证书;将数字证书文件标识和数据流格式的数字证书关联存储至设定数据库。其中,设定编码格式可以基于报文中的数字证书格式确定。例如,设定编码格式可以为base64等。基于base64算法对数字证书文件进行编码,得到数据流格式的数字证书,将数据流格式的数字证书和数字证书的序列号关联存储至设定数据库,实现将数字证书配置于数据库中,可以通过数据库对数字证书进行有效管理,包括期限管理和版本管理等,避免目前数字证书文件配置于各个服务器的特定目录下,需要逐个操作各服务器上的数字证书文件而增加管理难度和复杂度的问题。
一种需要配置化加载处理的情况下,通过参数配置化加载脚本从脚本参数中获取与传输协议相关的特定字段对应的配置参数,基于配置参数、请求头和请求体组装对应传输协议的报文。具体地,在通过参数配置化加载脚本从脚本参数中获取http配置参数时,基于http配置参数、请求头和请求体组装http报文,将组装后的http报文转发给服务方。
一种情况下,需要按照标准化流程规定的脚本执行顺序,依次执行请求参数预处理、请求头预处理、加签处理、加密处理、加证书处理和配置化加载处理中的多项操作。具体地,可以根据服务方接口的定制化的业务诉求,通过组合请求参数预处理、请求头预处理、加签处理、加密处理、加证书处理和配置化加载处理确定多项操作。例如,根据服务方接口的定制化的业务诉求,需要依次执行请求参数预处理和请求头预处理,或者,依次执行请求参数预处理和加签处理,或者,依次执行请求参数预处理和加密处理,或者,依次执行请求参数预处理和加证书处理,或者,依次执行请求参数预处理和配置化加载处理。又如,根据服务方接口的定制化的业务诉求,需要依次执行请求参数预处理、请求头预处理和加签处理,或者,需要依次执行请求参数预处理、请求头预处理、加签处理和加密处理,或者,需要依次执行请求参数预处理、请求头预处理、加签处理、加密处理和加证书处理,或者,需要依次执行请求参数预处理、请求头预处理、加签处理、加密处理、加证书处理和配置化加载处理等。需要说明的是,多项操作中每项操作的处理流程与上述执行单项操作的处理流程相同,此处不再赘述。
S130、获取所述服务方发送的与所述请求报文对应的响应报文,通过执行所述目标配置化脚本对所述响应报文进行处理,向所述调用方发送处理后的响应报文。
具体地,根据配置信息中的脚本参数执行目标配置化脚本,通过执行目标配置化脚本对服务方发送的与请求报文对应的响应报文进行解密处理、验签处理、删除响应参数中的特定字段处理、修改响应参数中的特定字段处理、向响应参数中增加特定字段处理、查询响应参数中的特定字段处理中的一项或多项,得到调用方关注的响应信息。
一种情况下,若请求报文在转发给服务方之前进行了加密,则网关在接收到服务方针对请求报文的响应报文时,通过解密脚本对响应报文进行解密。
一种情况下,若请求报文在转发给服务方之前进行了加签,则网关在接收到服务方针对请求报文的响应报文时,通过验签脚本对响应报文进行验签。
一种情况下,网关在接收到服务方针对请求报文的响应报文时,通过协议规定的报文格式解析响应报文,得到响应头和响应体。可选地,可以通过执行配置化脚本删除响应头中的特定字段。可选地,还可以通过执行配置化脚本对响应体包含的响应参数进行如下处理中的至少一项:删除响应参数中的特定字段、修改响应参数中的特定字段、向响应参数中增加特定字段、查询响应参数中的特定字段。
网关根据处理后的响应参数和响应头生成处理后的响应报文,向调用方发送处理后的响应报文。
本发明实施例通过获取调用方对服务方接口的调用请求以及调用方对应的接口编号,基于接口编号加载对应的目标配置化脚本,通过执行目标配置化脚本对调用请求的请求报文进行处理,并将处理后的请求报文发送转发给服务方,获取服务方的响应报文,通过执行目标配置化脚本对响应报文进行处理,向调用方发送处理后的响应报文,实现通过调用配置化脚本来满足非标准业务的定制化需求,解决了在面对非标准业务时需要变更网关代码以及重新发布的问题,减少了架构变动风险,增加了代码复用率,降低了代码重复率,实现了代码低耦合。
图2为本发明实施例提供的另一种报文转发方法的流程图,本实施例在上述实施例的基础上提供一种从调用方发起调用请求经网关的请求参数映射、请求头预处理、加签处理、加密处理、加证书处理、配置化加载处理转发到服务方,然后,对响应报文进行解密、验签和响应参数映射处理后转发到调用方的标准化流程。如图2所示,该方法包括:
S210、调用方发送调用请求。
其中,调用请求包含调用方对应的接口编号和请求报文。
S220、网关获取调用方发送的调用请求,按照标准化流程规定的脚本执行顺序,加载与调用请求中接口编号对应的参数预处理脚本,通过参数预处理脚本对请求报文中的请求参数进行参数预处理。
S230、网关加载与接口编号对应的请求头预处理脚本,通过请求头预处理脚本对请求报文的请求头进行预处理。
示例性地,通过请求头预处理脚本从请求脚本的请求参数中提取特定字段内容,将特定字段内容加入请求头。可选地,还可以通过请求头预处理脚本向请求头中加入固定值。
S240、网关加载与接口编号对应的加签脚本,通过加签脚本对请求报文进行加签处理。
示例性地,调用方可以通过配置信息配置加签内容,在执行加签脚本时,根据脚本参数中的加签配置信息对请求报文进行加签,实现了定制化加签内容,以满足不同业务需求的效果。
S250、网关加载与接口编号对应的加密脚本,通过加密脚本对请求报文进行加密处理。
示例性地,调用方可以通过配置信息配置加密内容,在执行加密脚本时,根据脚本参数中的加密配置信息对请求报文进行加密,实现了定制化加密内容,以满足不同业务需求的效果。
S260、网关加载与接口编号对应的证书配置化处理脚本,通过证书配置化处理脚本向请求报文中添加数字证书。
S270、网关加载与接口编号对应的参数配置化加载脚本,通过参数配置化加载脚本从脚本参数中加载http配置参数,基于http配置参数、http请求头和请求体组装http报文,并转发http报文给服务方。
S280、服务方发送响应报文。
示例性地,服务方响应于请求报文生成响应报文,发送响应报文给网关。
S290、网关加载与接口编号对应的解密脚本,通过解密脚本对响应报文进行解密处理。
S2100、网关加载与接口编号对应的验签脚本,通过验签脚本对解密后的响应报文进行验签处理。
S2110、网关加载与接口编号对应的响应参数处理脚本,通过响应参数处理脚本对响应报文进行处理,将处理后的响应报文转发给调用方。
需要说明的是,上述网关既有作为通用网关的功能,包括风控、鉴权、路由协议转换、流量控制和降级等功能,还具有处理非标准业务接口的定制化需求的功能。针对服务方的每个定制化需求,均可通过编写配置化脚本的方式实现。上述标准化流程(即S220到S2110)中的每个步骤均可被配置为执行或不执行,并且每个步骤也可以通过编写配置化脚本实现内容定制化。由于定制化脚本通过配置实现,每次新增定制化需求,只需要开发相应的配置化脚本即可,无需对网关架构代码进行改动。通过将脚本编号映射到接口编号,实现对于相同的定制化需求可以复用相同的配置化脚本,实现了脚本的高效复用,实现了将每个配置化脚本作为标准化实例复用到本项目或其它项目中。
本发明实施例通过加载配置化脚本实现非标准业务接口的定制化需求,无需直接改动网关架构代码,减少了架构变动风险;通过配置步骤执行与否实现不同的定制化需求;通过复用配置化脚本,减少了开发时间,增加了代码复用率,同时降低了代码重复率。由于从调用请求到调用响应的每个步骤均可通过配置化脚本实现,实现了代码低耦合。
图3为本发明实施例提供的一种报文转发装置的结构示意图。该报文转发装置可以采用硬件和/或软件的形式实现,该报文转发装置可配置于电子设备中,该电子设备可以为网关服务器。如图3所示,该装置包括:脚本加载模块310、请求报文发送模块320和响应报文发送模块330。
脚本加载模块310,用于执行获取调用方对服务方接口的调用请求,加载与所述调用请求中的接口编号对应的目标配置化脚本;
请求报文发送模块320,用于执行通过执行所述目标配置化脚本处理所述调用请求中的请求报文,得到满足服务方接口要求的请求报文,向服务方发送满足所述服务方接口要求的请求报文;
响应报文发送模块330,用于执行获取所述服务方发送的与所述请求报文对应的响应报文,通过执行所述目标配置化脚本对所述响应报文进行处理,向所述调用方发送处理后的响应报文。
可选的,脚本加载模块310具体用于执行:
获取调用方对服务方接口的调用请求,获取所述调用请求中的接口编号;
根据所述接口编号从预设的映射表中确定对应的脚本编号,加载所述脚本编号对应的目标配置化脚本,其中,所述映射表用于记录所述接口编号与所述脚本编号的映射关系。
可选地,该装置还包括:
配置获取模块,用于执行在获取调用方对服务方接口的调用请求之前,获取所述服务方接口的配置信息,其中,所述配置信息用于配置调用所述服务方接口所要执行的目标配置化脚本;
映射表生成模块,用于执行根据所述配置信息确定所述目标配置化脚本,根据所述目标配置化脚本的脚本编号和所述接口编号生成所述映射表。
可选地,请求报文发送模块320具体用于执行:
根据所述配置信息中的脚本参数执行所述目标配置化脚本,通过执行所述目标配置化脚本对所述调用请求的请求报文进行请求参数预处理、请求头预处理、加签处理、加密处理、加证书处理和配置化加载处理中的一项或多项,得到满足所述服务方接口要求的请求报文。
可选地,该装置还包括:
证书编码模块,用于执行在根据所述配置信息中的脚本参数执行所述目标配置化脚本之前,基于设定编码算法处理数字证书文件,得到数据流格式的数字证书;
证书存储模块,用于执行将数字证书文件标识和所述数据流格式的数字证书关联存储至设定数据库。
可选地,请求报文发送模块320具体还用于执行:
根据所述配置信息中的数字证书的序列号从所述设定数据库读取数据流格式的数字证书,将所述数据流格式的数字证书添加至所述请求报文。
可选地,响应报文发送模块330具体用于执行:
根据所述配置信息中的脚本参数执行所述目标配置化脚本,通过执行所述目标配置化脚本对所述服务方发送的与所述请求报文对应的响应报文进行解密处理、验签处理、删除响应参数中的特定字段处理、修改响应参数中的特定字段处理、向响应参数中增加特定字段处理、查询响应参数中的特定字段处理中的一项或多项,得到调用方关注的响应信息。
本发明实施例所提供的报文转发装置可执行本发明任意实施例所提供的报文转发方法,具备执行方法相应的功能模块和有益效果。
图4为本发明实施例提供的一种电子设备的结构框图。如图4所示,电子设备40包括至少一个处理器41,以及与至少一个处理器41通信连接的存储器42,如只读存储器(ROM)、随机访问存储器(RAM)等,其中,存储器42存储有可被至少一个处理器执行的计算机程序,处理器41可以根据存储在只读存储器(ROM)中的计算机程序或者随机访问存储器(RAM)中的计算机程序,来执行各种适当的动作和处理。在RAM中,还可存储电子设备40操作所需的各种程序和数据。处理器41和存储器42通过总线43彼此相连。
处理器41可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器41的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器41执行上文所描述的报文转发方法实现如下步骤:
获取调用方对服务方接口的调用请求,加载与调用请求中的接口编号对应的目标配置化脚本;
通过执行目标配置化脚本处理调用请求中的请求报文,得到满足服务方接口要求的请求报文,向服务方发送满足服务方接口要求的请求报文;
获取服务方的响应报文,通过执行目标配置化脚本对响应报文进行处理,向调用方发送处理后的响应报文。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于使处理器执行时实现一种报文转发方法,该方法包括:
获取调用方对服务方接口的调用请求,加载与所述调用请求中的接口编号对应的目标配置化脚本;
通过执行所述目标配置化脚本处理所述调用请求中的请求报文,得到满足服务方接口要求的请求报文,向服务方发送满足所述服务方接口要求的请求报文;
获取所述服务方发送的与所述请求报文对应的响应报文,通过执行所述目标配置化脚本对所述响应报文进行处理,向所述调用方发送处理后的响应报文。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的报文转发方法中的相关操作。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种报文转发方法,其特征在于,包括:
获取调用方对服务方接口的调用请求,加载与所述调用请求中的接口编号对应的目标配置化脚本;
通过执行所述目标配置化脚本处理所述调用请求中的请求报文,得到满足服务方接口要求的请求报文,向服务方发送满足所述服务方接口要求的请求报文;
获取所述服务方发送的与所述请求报文对应的响应报文,通过执行所述目标配置化脚本对所述响应报文进行处理,向所述调用方发送处理后的响应报文。
2.根据权利要求1所述的方法,其特征在于,所述获取调用方对服务方接口的调用请求,加载与所述调用请求中的接口编号对应的目标配置化脚本,包括:
获取调用方对服务方接口的调用请求,获取所述调用请求中的接口编号;
根据所述接口编号从预设的映射表中确定对应的脚本编号,加载所述脚本编号对应的目标配置化脚本,其中,所述映射表用于记录所述接口编号与所述脚本编号的映射关系。
3.根据权利要求2所述的方法,其特征在于,在获取调用方对服务方接口的调用请求之前,还包括:
获取所述服务方接口的配置信息,其中,所述配置信息用于配置调用所述服务方接口所要执行的目标配置化脚本;
根据所述配置信息确定所述目标配置化脚本,根据所述目标配置化脚本的脚本编号和所述接口编号生成所述映射表。
4.根据权利要求3所述的方法,其特征在于,所述通过执行所述目标配置化脚本处理所述调用请求中的请求报文,得到满足服务方接口要求的请求报文,包括:
根据所述配置信息中的脚本参数执行所述目标配置化脚本,通过执行所述目标配置化脚本对所述调用请求的请求报文进行请求参数预处理、请求头预处理、加签处理、加密处理、加证书处理和配置化加载处理中的一项或多项,得到满足所述服务方接口要求的请求报文。
5.根据权利要求4所述的方法,其特征在于,在根据所述配置信息中的脚本参数执行所述目标配置化脚本之前,还包括:
基于设定编码算法处理数字证书文件,得到数据流格式的数字证书;
将数字证书文件标识和所述数据流格式的数字证书关联存储至设定数据库。
6.根据权利要求5所述的方法,其特征在于,所述根据所述配置信息中的脚本参数执行所述目标配置化脚本,通过执行所述目标配置化脚本对所述调用请求的请求报文进行加证书处理,包括:
根据所述配置信息中的数字证书的序列号从所述设定数据库读取数据流格式的数字证书,将所述数据流格式的数字证书添加至所述请求报文。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述获取所述服务方发送的与所述请求报文对应的响应报文,通过执行所述目标配置化脚本对所述响应报文进行处理,包括:
根据所述配置信息中的脚本参数执行所述目标配置化脚本,通过执行所述目标配置化脚本对所述服务方发送的与所述请求报文对应的响应报文进行解密处理、验签处理、删除响应参数中的特定字段处理、修改响应参数中的特定字段处理、向响应参数中增加特定字段处理、查询响应参数中的特定字段处理中的一项或多项,得到调用方关注的响应信息。
8.一种报文转发装置,其特征在于,包括:
脚本加载模块,用于执行获取调用方对服务方接口的调用请求,加载与所述调用请求中的接口编号对应的目标配置化脚本;
请求报文发送模块,用于执行通过执行所述目标配置化脚本处理所述调用请求中的请求报文,得到满足服务方接口要求的请求报文,向服务方发送满足所述服务方接口要求的请求报文;
响应报文发送模块,用于执行获取所述服务方发送的与所述请求报文对应的响应报文,通过执行所述目标配置化脚本对所述响应报文进行处理,向所述调用方发送处理后的响应报文。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的报文转发方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于使处理器执行时实现权利要求1-7中任一项所述的报文转发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210441445.8A CN114978888B (zh) | 2022-04-25 | 2022-04-25 | 一种报文转发方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210441445.8A CN114978888B (zh) | 2022-04-25 | 2022-04-25 | 一种报文转发方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114978888A true CN114978888A (zh) | 2022-08-30 |
CN114978888B CN114978888B (zh) | 2024-02-06 |
Family
ID=82978850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210441445.8A Active CN114978888B (zh) | 2022-04-25 | 2022-04-25 | 一种报文转发方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114978888B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808051A (zh) * | 2010-03-15 | 2010-08-18 | 天津威奕达科技有限责任公司 | 应用整合网关及其控制方法 |
CN105589695A (zh) * | 2015-12-23 | 2016-05-18 | 深圳市丽海弘金科技有限公司 | 业务功能的调用方法及系统 |
CN107153539A (zh) * | 2017-04-18 | 2017-09-12 | 北京思特奇信息技术股份有限公司 | 一种文件接口系统 |
CN110825488A (zh) * | 2019-09-29 | 2020-02-21 | 山东中创软件工程股份有限公司 | 一种业务处理方法、装置及电子设备和存储介质 |
CN111182025A (zh) * | 2019-11-26 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种报文处理方法、装置、服务器及存储介质 |
CN112054998A (zh) * | 2020-08-10 | 2020-12-08 | 中粮招商局(深圳)粮食电子交易中心有限公司 | 代理服务方法、装置、设备和计算机可读存储介质 |
CN112433705A (zh) * | 2020-11-25 | 2021-03-02 | 平安普惠企业管理有限公司 | 脚本生成方法、装置、电子设备及存储介质 |
CN112532564A (zh) * | 2019-09-17 | 2021-03-19 | 中国移动通信集团广东有限公司 | 业务调用方法、装置及电子设备 |
CN112688967A (zh) * | 2021-03-11 | 2021-04-20 | 武汉慧联无限科技有限公司 | 一种物联网数据处理方法、装置、设备及存储介质 |
CN113438134A (zh) * | 2021-06-30 | 2021-09-24 | 未鲲(上海)科技服务有限公司 | 请求报文处理方法、装置、服务器及介质 |
-
2022
- 2022-04-25 CN CN202210441445.8A patent/CN114978888B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808051A (zh) * | 2010-03-15 | 2010-08-18 | 天津威奕达科技有限责任公司 | 应用整合网关及其控制方法 |
CN105589695A (zh) * | 2015-12-23 | 2016-05-18 | 深圳市丽海弘金科技有限公司 | 业务功能的调用方法及系统 |
CN107153539A (zh) * | 2017-04-18 | 2017-09-12 | 北京思特奇信息技术股份有限公司 | 一种文件接口系统 |
CN112532564A (zh) * | 2019-09-17 | 2021-03-19 | 中国移动通信集团广东有限公司 | 业务调用方法、装置及电子设备 |
CN110825488A (zh) * | 2019-09-29 | 2020-02-21 | 山东中创软件工程股份有限公司 | 一种业务处理方法、装置及电子设备和存储介质 |
CN111182025A (zh) * | 2019-11-26 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种报文处理方法、装置、服务器及存储介质 |
CN112054998A (zh) * | 2020-08-10 | 2020-12-08 | 中粮招商局(深圳)粮食电子交易中心有限公司 | 代理服务方法、装置、设备和计算机可读存储介质 |
CN112433705A (zh) * | 2020-11-25 | 2021-03-02 | 平安普惠企业管理有限公司 | 脚本生成方法、装置、电子设备及存储介质 |
CN112688967A (zh) * | 2021-03-11 | 2021-04-20 | 武汉慧联无限科技有限公司 | 一种物联网数据处理方法、装置、设备及存储介质 |
CN113438134A (zh) * | 2021-06-30 | 2021-09-24 | 未鲲(上海)科技服务有限公司 | 请求报文处理方法、装置、服务器及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114978888B (zh) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107770182B (zh) | 家庭网关的数据存储方法及家庭网关 | |
CN109766722B (zh) | 一种区块链中构建智能合约的方法 | |
CN108985757B (zh) | 信息处理方法、装置及系统、存储介质、电子设备 | |
CN108197891B (zh) | 一种基于区块链的电子签约装置及方法 | |
CN108377272B (zh) | 一种管理物联网终端的方法及系统 | |
CN111181912B (zh) | 浏览器标识的处理方法、装置、电子设备及存储介质 | |
TW202101350A (zh) | 基於處理模組跨鏈發送可認證訊息的方法和裝置 | |
CN110381103A (zh) | 一种下载运营商配置文件的方法、装置和系统 | |
CN107920081A (zh) | 登录认证方法及装置 | |
CN113556359A (zh) | 一种通讯协议转换方法、设备、系统及网关设备 | |
CN111597543A (zh) | 基于区块链智能合约的广域进程访问权限认证方法及系统 | |
CN109787768A (zh) | 一种身份验证配置方法、装置及计算机可读存储介质 | |
CN111144878A (zh) | 指令生成方法与指令生成装置 | |
CN113542242B (zh) | 设备管理方法及设备管理装置 | |
CN111416816A (zh) | 联调接口的访问方法、装置、计算机设备和存储介质 | |
CN111414640A (zh) | 秘钥访问控制方法和装置 | |
CN108846671B (zh) | 基于区块链的在线安全交易方法和系统 | |
CN113194057B (zh) | 基于as2的数据接收、发送、交互方法和客户端 | |
CN114978888B (zh) | 一种报文转发方法、装置、电子设备及存储介质 | |
CN112887199A (zh) | 网关和云平台及其配置方法、装置、计算机可读存储介质 | |
CN113868713B (zh) | 一种数据验证方法、装置、电子设备及存储介质 | |
CN113922972B (zh) | 基于md5标识码的数据转发方法和装置 | |
CN113014556A (zh) | 银企通讯系统、通讯方法以及电子终端 | |
CN113407958B (zh) | 签名数据处理方法、装置、设备及介质 | |
CN112788341B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |