CN112689003A - 服务请求转发方法、装置、设备及存储介质 - Google Patents

服务请求转发方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112689003A
CN112689003A CN202011506862.3A CN202011506862A CN112689003A CN 112689003 A CN112689003 A CN 112689003A CN 202011506862 A CN202011506862 A CN 202011506862A CN 112689003 A CN112689003 A CN 112689003A
Authority
CN
China
Prior art keywords
service
request
service request
target
message
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
Application number
CN202011506862.3A
Other languages
English (en)
Inventor
戴果
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN202011506862.3A priority Critical patent/CN112689003A/zh
Publication of CN112689003A publication Critical patent/CN112689003A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及研发管理领域,公开了一种服务请求转发方法、装置、设备及存储介质。本方法包括:接收目标用户通过业务服务器发送的针对目标服务的服务请求,并确定与该服务请求对应的业务数据;对服务请求进行解析,得到服务请求对应业务数据的关键参数;根据关键参数对业务数据进行处理,并对得到服务请求对应的目标请求报文数据进行验签处理,判断服务请求是否有效;当服务请求有效时,将该服务请求标注为目标服务请求发送至目标服务。解决了无法确定服务请求的有效性,进而对未知的请求进行拦截和告警的技术问题。

Description

服务请求转发方法、装置、设备及存储介质
技术领域
本发明涉及数据分析领域,尤其涉及一种服务请求转发方法、装置、设备及存储介质。
背景技术
随着互联网技术的发展,多个系统之间进行协作的架构不断被应用在服务器中。每个系统之间需要不断发生服务接口的调用,也就是各个系统之间不断存在数据交互过程。现有技术中一般通过服务接口获取到服务器提供的服务,进行数据交互。业务系统不但需要关注本身的业务实现,而且需要根据目标服务(服务请求提供方)系统所要求的数据格式进行数据封装,根据目标服务系统所要求的请求方式请求数据。
现有的服务转发系统对于未知的请求也会进行目标转发,无法确定服务请求的有效性,进而对未知的请求进行拦截和告警。因此,如何使用服务转发系统对服务请求进行管控是本领域技术人员关注的重点问题。
发明内容
本发明的主要目的是解决无法确定服务请求的有效性,而导致请求的安全性较低的技术问题。
本发明第一方面提供了一种服务请求转发方法,包括:
接收目标用户通过业务服务器发送的针对目标服务的服务请求,并确定与所述服务请求对应的业务数据;
对所述服务请求进行解析,得到所述服务请求对应业务数据的关键参数,其中,所述关键参数包括数据格式、签名方法、加密方式、请求方式;
根据所述关键参数对所述业务数据进行处理,得到所述服务请求对应的目标请求报文数据;
对所述目标请求报文数据进行验签,判断所述服务请求是否有效;
若所述服务请求有效,则将所述服务请求标注为目标服务请求,并将所述目标服务请求发送至目标服务,其中,所述目标服务为服务提供方。
可选地,在本发明第一方面的第一种实现方式中,在所述接收目标用户通过业务服务器发送的针对目标服务的服务请求,并确定与所述服务请求对应的业务数据之前,还包括:
确定所有可接入服务转发系统的业务服务器;
分别给每一所述业务服务器均分配一个标识以及与所述标识对应的密钥。
可选地,在本发明第一方面的第二种实现方式中,所述对所述服务请求进行解析,得到所述服务请求对应业务数据的关键参数包括:
对所述服务请求进行解析,得到请求报文数据;
根据所述服务请求对应的协议,对所述请求报文数据进行解析处理,得到关键参数。
可选地,在本发明第一方面的第三种实现方式中,所述对所述目标请求报文数据进行验签,判断所述服务请求是否有效包括:
根据所述目标请求报文数据的报文类型,从预配置的验签配置文件中,确定所述目标请求报文数据预配置的验签项;
根据所述报文预配置的验签项,确定所述目标请求报文数据中需要验签的报文字段;
对所述报文中需要验签的报文字段进行验签,得到验签结果;
基于所述验签结果,判断所述服务请求是否有效。
可选地,在本发明第一方面的第四种实现方式中,所述将所述服务请求标注为目标服务请求,并将所述目标服务请求发送至目标服务包括:
根据所述目标服务请求对应的内部请求协议对所述关键参数进行封装处理,得到内部请求对象;
对所述内部请求对象执行预设管理操作,得到操作结果对象;
将所述操作结果对象发送至目标服务,完成服务请求转发操作。
可选地,在本发明第一方面的第五种实现方式中,在所述将所述服务请求标注为目标服务请求,并将所述目标服务请求发送至目标服务之后,还包括:
若所述服务请求无效,则对所述服务请求进行拦截,并发送告警邮件至预设邮箱。
可选地,在本发明第一方面的第六种实现方式中,在所述根据所述关键参数对所述业务数据进行处理,得到所述服务请求对应的目标请求报文数据之后,还包括:
根据所述目标请求报文数据的报文类型,从预配置的加签配置文件中,确定所述目标请求报文数据的加签项和与所述目标请求报文数据对应的目标加签方式,其中,所述加签配置文件预配置有请求数据与加签项的对应关系;
根据所述请求数据的加签项,确定所述目标请求报文数据中需要加签的报文字段;
根据所述报文字段和所述目标加签方式,对所述请求报文数据进行加签处理,得到得到加签后密文串。
本发明第二方面提供了一种服务请求转发装置,包括:
接收模块,用于接收目标用户通过业务服务器发送的针对目标服务的服务请求,并确定与所述服务请求对应的业务数据;
解析模块,用于对所述服务请求进行解析,得到所述服务请求对应业务数据的关键参数,其中,所述关键参数包括数据格式、签名方法、加密方式、请求方式;
处理模块,用于根据所述关键参数对所述业务数据进行处理,得到所述服务请求对应的目标请求报文数据;
验签模块,用于对所述目标请求报文数据进行验签,判断所述服务请求是否有效;
发送模块,用于当所述服务请求有效时,将所述服务请求标注为目标服务请求,并将所述目标服务请求发送至目标服务,其中,所述目标服务为服务提供方。
可选地,在本发明第二方面的第一种实现方式中,所述服务请求转发装置还包括:
第一确定模块,用于确定所有可接入服务转发系统的业务服务器;
分配模块,用于分别给每一所述业务服务器均分配一个标识以及与所述标识对应的密钥。
可选地,在本发明第二方面的第二种实现方式中,所述解析模块具体用于:
对所述服务请求进行解析,得到请求报文数据;
根据所述服务请求对应的协议,对所述请求报文数据进行解析处理,得到关键参数。
可选地,在本发明第二方面的第三种实现方式中,所述验签模块具体用于:
根据所述目标请求报文数据的报文类型,从预配置的验签配置文件中,确定所述目标请求报文数据预配置的验签项;
根据所述报文预配置的验签项,确定所述目标请求报文数据中需要验签的报文字段;
对所述报文中需要验签的报文字段进行验签,得到验签结果;
基于所述验签结果,判断所述服务请求是否有效。
可选地,在本发明第二方面的第四种实现方式中,所述发送模块包括:
封装单元,用于根据所述目标服务请求对应的内部请求协议对所述关键参数进行封装处理,得到内部请求对象;对所述内部请求对象执行预设管理操作,得到操作结果对象;
发送单元,用于将所述操作结果对象发送至目标服务,完成服务请求转发操作。
可选地,在本发明第二方面的第五种实现方式中,所述服务请求转发装置还包括:
拦截模块,用于当所述服务请求无效时,对所述服务请求进行拦截,并发送告警邮件至预设邮箱。
可选地,在本发明第二方面的第六种实现方式中,所述服务请求转发装置还包括:
第二确定模块,用于根据所述目标请求报文数据的报文类型,从预配置的加签配置文件中,确定所述目标请求报文数据的加签项和与所述目标请求报文数据对应的目标加签方式,其中,所述加签配置文件预配置有请求数据与加签项的对应关系;根据所述请求数据的加签项,确定所述目标请求报文数据中需要加签的报文字段;
加签模块,用于根据所述报文字段和所述目标加签方式,对所述请求报文数据进行加签处理,得到得到加签后密文串。
本发明第三方面提供了一种服务请求转发设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述服务请求转发设备执行上述的服务请求转发方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的服务请求转发方法。
本发明提供的技术方案中,通过接收目标用户通过业务服务器发送的针对目标服务的服务请求,并确定与该服务请求对应的业务数据;对服务请求进行解析,得到服务请求对应业务数据的关键参数;根据关键参数对业务数据进行处理,并对得到服务请求对应的目标请求报文数据进行验签处理,判断服务请求是否有效;当服务请求有效时,将该服务请求标注为目标服务请求发送至目标服务。解决了无法确定服务请求的有效性,进而对未知的请求进行拦截和告警的技术问题。
附图说明
图1为本发明服务请求转发方法的第一个实施例示意图;
图2为本发明服务请求转发方法的第二个实施例示意图;
图3为本发明服务请求转发方法的第三个实施例示意图;
图4为本发明服务请求转发方法的第四个实施例示意图;
图5为本发明服务请求转发方法的第五个实施例示意图;
图6为本发明服务请求转发装置的第一个实施例示意图;
图7为本发明服务请求转发装置的第二个实施例示意图;
图8为本发明服务请求转发设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种服务请求转发方法、装置、设备及存储介质,本发明的技术方案中,首先接收目标用户通过业务服务器发送的针对目标服务的服务请求,并确定与该服务请求对应的业务数据;对服务请求进行解析,得到服务请求对应业务数据的关键参数;根据关键参数对业务数据进行处理,并对得到服务请求对应的目标请求报文数据进行验签处理,判断服务请求是否有效;若是,则将该服务请求标注为目标服务请求,并发送至目标服务。解决了无法确定服务请求的有效性,进而对未知的请求进行拦截和告警的技术问题。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中服务请求转发方法的第一个实施例包括:
101、接收目标用户通过业务服务器发送的针对目标服务的服务请求,并确定与服务请求对应的业务数据;
本实施例中,服务请求可以是HTTP(Hypertext Transfer Protocol,超文本传送协议)类型的请求,也可以是其他类型的请求,本申请对此不做限定。具体的,服务请求中可以包括目标用户的标识、目标服务的标识等信息。
102、对服务请求进行解析,得到服务请求对应业务数据的关键参数,其中,关键参数包括数据格式、签名方法、加密方式、请求方式;
本实施例中,提取出服务请求中的关键参数,也就是该服务请求抛去协议封装的封装数据,保留进行请求的最关键的数据,例如,请求的地址、请求的参数以及请求的内容。其中,服务请求可以是服务调用方向服务提供方发送的。
103、根据关键参数对业务数据进行处理,得到服务请求对应的目标请求报文数据;
本实施例中,根据关键参数对业务数据进行处理,得到服务请求对应的目标请求报文数据。比如,业务数据对应的数据格式为json,签名方法为RSA,加密方式为AES,编码格式为gbk,请求方式为http;首先,根据json的数据格式选择对应的适配器处理器对业务数据进行组装;其次,根据RSA的签名方法选择对应的适配器处理器对业务数据进行加签逻辑处理;接下来,根据AES的加密方式选择对应的适配器处理器对业务数据进行加密处理,各个处理器处理完成后,组成最终的目标请求报文数据;最后,再根据http的请求方式,选择适配器处理器。其中,适配器处理器可以减少业务服务器对接目标服务,也就是服务提供方(第三方系统)的工作量,并且越多的业务服务器通过服务转发系统调用目标服务,也就是服务提供方(第三方系统)时,就越能减少对接目标服务,也就是服务提供方(第三方系统)的工作量,到达到高度复用。
104、对目标请求报文数据进行验签处理,判断服务请求是否有效;
本实施例中,验签是指,接受数据方验证签名是否正确。以此来判断,服务请求(对应请求的数据)是否是合法有效的。简单来说,就是:消息发送方A、接受消息方B、一个需要发送的消息[merNo=001,user=zhangm,pwd=abc123,check=6387]、证书生成工具tools.jar。其中,消息发送方A根据消息内容形成摘要,再根据摘要形成签名字段,最后发送消息;同时,接受消息方B接受消息,再根据消息内容形成摘要,最后根据摘要去验证签名是否正确。若正确,则说明对应的消息是正确的。
105、当服务请求有效时,将服务请求标注为目标服务请求,并将目标服务请求发送至目标服务,其中,目标服务为服务提供方。
本实施例中,服务请求方对请求数据进行加签;服务转发系统对数据进行验签,以确定服务请求的有效性,若有效,则将对应的服务请求标注为目标服务请求,服务转发系统即可按照配置组装目标服务(服务提供方)所要求的数据格式进行数据封装和请求方式将目标服务请求转发至目标服务(服务提供方),同时转发服务系统也能做到数据监控、数据统计。
106、当服务请求无效时,对服务请求进行拦截,并发送告警邮件至预设邮箱。
本实施例中,对于需要调用服务转发系统进行服务请求分发的业务服务系统,分配唯一应用id和密钥,服务请求方对请求数据进行加签,服务转发系统对数据进行验签,以确定请求的有效性。对未知的请求进行拦截和告警,增加权限控制功能。
本发明实施例中,通过接收目标用户通过业务服务器发送的针对目标服务的服务请求,并确定与该服务请求对应的业务数据;对服务请求进行解析,得到服务请求对应业务数据的关键参数;根据关键参数对业务数据进行处理,并对得到服务请求对应的目标请求报文数据进行验签处理,判断服务请求是否有效;若是,则将该服务请求标注为目标服务请求,并发送至目标服务。解决了无法确定服务请求的有效性,进而对未知的请求进行拦截和告警的技术问题。
请参阅图2,本发明实施例中服务请求转发方法的第二个实施例包括:
201、确定所有可接入服务转发系统的业务服务器;
本实施例中,确定所有想要调用服务转发系统进行服务请求转发的服务请求方,这些服务请求方也就是本实施例中所说的业务服务器,同时,包括所有业务服务器的数据信息。比如,业务服务器W,业务服务器E,业务服务器R,业务服务器T,业务服务器Y,业务服务器U,以及这些业务服务器所携带的数据信息。
202、分别给每一业务服务器均分配一个标识以及与标识对应的密钥;
本实施例中,分别给每一个业务服务器分配一个标识ID,以及与标识ID对应的密钥M,进一步地,通过预置接口,获取业务服务器的接口。
本实施例中,ID和M是权限服务生成的,所以服务转发系统是可以根据ID获得对应的M。其中,M不是业务服务器携带过来,是从权限服务中获取的。
203、接收目标用户通过业务服务器发送的针对目标服务的服务请求,并确定与服务请求对应的业务数据;
204、对服务请求进行解析,得到服务请求对应业务数据的关键参数;
205、根据关键参数对业务数据进行处理,得到服务请求对应的目标请求报文数据;
206、对目标请求报文数据进行验签,判断服务请求是否有效;
207、当服务请求有效时,将服务请求标注为目标服务请求,并将目标服务请求发送至目标服务;
208、当服务请求无效时,对服务请求进行拦截,并发送告警邮件至预设邮箱。
本实施例中,对于需要调用服务转发系统进行服务请求分发的业务服务系统,分配唯一应用id和密钥,服务请求方对请求数据进行加签,服务转发系统对数据进行验签,以确定请求的有效性。对未知的请求进行拦截和告警,增加权限控制功能。
本实施例中步骤203-207与第一实施例中的步骤101-105类似,此处不再赘述。
本发明实施例中,通过接收目标用户通过业务服务器发送的针对目标服务的服务请求,并确定与该服务请求对应的业务数据;对服务请求进行解析,得到服务请求对应业务数据的关键参数;根据关键参数对业务数据进行处理,并对得到服务请求对应的目标请求报文数据进行验签处理,判断服务请求是否有效;若是,则将该服务请求标注为目标服务请求,并发送至目标服务。解决了无法确定服务请求的有效性,进而对未知的请求进行拦截和告警的技术问题。
请参阅图3,本发明实施例中服务请求转发方法的第三个实施例包括:
301、接收目标用户通过业务服务器发送的针对目标服务的服务请求,并确定与服务请求对应的业务数据;
302、对服务请求进行解析,得到请求报文数据;
本实施例中,首先对服务请求进行拆包处理,得到请求报文数据。
本实施例中,报文(message)是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变,包含有报文类型,报文版本,报文长度,报文实体等信息。
303、根据服务请求对应的协议,对请求报文数据进行解析处理,得到关键参数;
本实施例中,根据对应的协议进行解析处理得到关键参数。对不同接口的服务请求进行拆包解析得到关键参数,实现将不同服务接口的服务请求抛去不统一的信息数据。其中,服务请求可以是服务调用方向服务提供方发送的。
本实施例中,关键参数包括业务数据采用何种的数据格式、签名方法、加密方式、编码格式、请求方式等。
304、根据关键参数对业务数据进行处理,得到服务请求对应的目标请求报文数据;
305、对目标请求报文数据进行验签,判断服务请求是否有效;
306、当服务请求有效时,将服务请求标注为目标服务请求,并将目标服务请求发送至目标服务;
307、当服务请求无效时,对服务请求进行拦截,并发送告警邮件至预设邮箱。
本实施例中步骤301、304-306与第一实施例中的步骤101、103-105类似,此处不再赘述。
本发明实施例中,通过接收目标用户通过业务服务器发送的针对目标服务的服务请求,并确定与该服务请求对应的业务数据;对服务请求进行解析,得到服务请求对应业务数据的关键参数;根据关键参数对业务数据进行处理,并对得到服务请求对应的目标请求报文数据进行验签处理,判断服务请求是否有效;若是,则将该服务请求标注为目标服务请求,并发送至目标服务。解决了无法确定服务请求的有效性,进而对未知的请求进行拦截和告警的技术问题。
请参阅图4,本发明实施例中服务请求转发方法的第四个实施例包括:
401、接收目标用户通过业务服务器发送的针对目标服务的服务请求,并确定与服务请求对应的业务数据;
402、对服务请求进行解析,得到服务请求对应业务数据的关键参数;
403、根据关键参数对业务数据进行处理,得到服务请求对应的目标请求报文数据;
404、根据目标请求报文数据的报文类型,从预配置的验签配置文件中,确定目标请求报文数据预配置的验签项;
本实施例中,根据报文的报文类型,从预配置的验签配置文件中,确定报文预配置的验签项;验签配置文件预配置有报文类型与验签项的对应关系。
本实施例中,首先确定报文的报文类型,例如,获取报文的数据结构,其中,报文的数据结构包括报文的基本信息,如报文类型。之后从预配置的验签配置文件中,确定报文预配置的验签项。比如,预配置验签配置文件,该验签配置文件可命名为DigitalSignatureConfig.xml(中文为数字签名配置.xml),验签配置文件可为配置有报文类型与验签项的对应关系的动态数组。
405、根据报文预配置的验签项,确定目标请求报文数据中需要验签的报文字段;
本实施例中,在从预配置的验签配置文件中,确定报文预配置的验签项后,根据报文预配置的验签项,确定报文中需要验签的报文字段。
406、对报文中需要验签的报文字段进行验签处理,得到验签结果;
本实施例中,根据报文预配置的验签项,确定报文中需要验签的报文字段后,对报文中需要验签的报文字段进行验签处理,得到验签结果,可以包括:将报文中需要验签的报文字段,组装成待验签明文串;从数据库中获取对应报文的公钥证书;从报文中获取数字签名字段;将待验签明文串,公钥证书和数字签名字段,传送到数字签名服务器,接收数字签名服务器反馈的验签结果。
407、基于验签结果,判断服务请求是否有效;
本实施例中,加签是指,发送消息方对发送的数据加签名;验签是指,接受数据方验证签名是否正确。以此来判断,服务请求(对应请求的数据)是否是合法有效的。若服务转发系统中的签名与服务请求中携带的签名一致,则说明该服务请求为有效服务请求,也即目标服务请求,可以进行转发。简单来说,就是:消息发送方A、接受消息方B、一个需要发送的消息[merNo=001,user=zhangm,pwd=abc123,check=6387]、证书生成工具tools.jar。首先,使用工具生成根证书,用户证书。1.填写工具配置信息。tools会根据消息交互双方的信息+密码生成两个证书,其中双方的信息不重要,重要的是密码。即:保存密码;2.tools会生成一个密钥库,密钥库的密码是上一步设置的密码,然后tools还会生成一个密钥对,即公钥和私钥。然后将公钥和私钥存放到密钥库中。最后tools会生成两个证书文件:根证书(可以得到公钥和私钥)、用户证书(可以得到公钥);3.得到我们想要的东西:根证书、用户证书、密码,其中根证书与密码是一起的,因为从根证书中得到私钥是需要密码的。其次,管理证书:消息发送方A保存根证书与密码,接收消息方B保存用户证书。接下来,发送消息:
1.消息发送方A通过消息
[merNo=001,user=zhangm,pwd=abc123,check=6387]形成摘要,摘要的形成方式自行选择,一般来讲是通过整个消息段做摘要。这里提供一个摘要形成方式:对三个消息字段的值进行一个自定义的排序,形成一个摘要,比如:摘要字[abc123001zhangm6378],这是一种比较简单的摘要形成方式。复杂一点的有先对整个消息通过加密算法进行加密形成加密消息作为摘要;
2.消息发送方A通过根证书与密码得到公钥和私钥;
3.消息发送方A通过公钥和私钥对摘要字段进行签名,形成签名字段,其中,签名字段就是对上一步形成的摘要[abc123001zhangm6378]通过公钥和私钥形成一个加密的串。假设签名字段(加密串)为:w8y98hf;
4.消息发送方A重新组装消息。将签名字段放到消息体中,比如[merNo=001,user=zhangm,pwd=abc123,check=6387,sign=w8y98hf];5.消息发送方A发送消息。
最后,接收消息:1.接收消息方B接收消息;2.接收消息方B根据merNo号去匹配对应的用户证书,然后从证书中拿到公钥;3.接收消息方B通过与A协定好的方式,通过消息字段生成摘要[abc123001zhangm6378];4.接收消息方B通过摘要字段[abc123001zhangm6378],公钥,签名字段sign=w8y98hf,去做验证是否正确。
408、当服务请求有效时,则将服务请求标注为目标服务请求,并将目标服务请求发送至目标服务
409、当服务请求无效时,对服务请求进行拦截,并发送告警邮件至预设邮箱。
本实施例中步骤401-403、408与第一实施例中的步骤101-103、105类似,此处不再赘述。
本发明实施例中,通过接收目标用户通过业务服务器发送的针对目标服务的服务请求,并确定与该服务请求对应的业务数据;对服务请求进行解析,得到服务请求对应业务数据的关键参数;根据关键参数对业务数据进行处理,并对得到服务请求对应的目标请求报文数据进行验签处理,判断服务请求是否有效;若是,则将该服务请求标注为目标服务请求,并发送至目标服务。解决了无法确定服务请求的有效性,进而对未知的请求进行拦截和告警的技术问题。
请参阅图5,本发明实施例中服务请求转发方法的第五个实施例包括:
501、接收目标用户通过业务服务器发送的针对目标服务的服务请求,并确定与服务请求对应的业务数据;
502、对服务请求进行解析,得到服务请求对应业务数据的关键参数;
503、根据关键参数对业务数据进行处理,得到服务请求对应的目标请求报文数据;
504、根据请求报文数据的报文类型,从预配置的加签配置文件中,确定请求报文数据的加签项和与请求报文数据对应的目标加签方式;
本实施例中,根据报文的报文类型,从预配置的加签配置文件中,确定报文预配置的加签项;加签配置文件预配置有报文类型与加签项的对应关系;根据报文预配置的加签项,确定报文中需要加签的报文字段;对报文中需要加签的报文字段进行加签处理,得到加签后密文串;将加签后密文串存入报文中,从而可直接通过加签配置文件,适配不同的报文进行加签,提高了报文加签的处理效率。
本实施例中,首先可以确定报文的报文类型,例如,获取报文的数据结构,其中,报文的数据结构包括报文的基本信息,如报文类型。举一例,确定报文的报文类型可以通过获取报文的数据结构,从预配置的加签配置文件中,确定对应该报文预配置的加签项,每种报文类型都唯一对应一种加签项。举一例,预配置加签配置文件,可基于spring框架(开放源代码的J2EE应用程序框架)的bean(应用程序素材)注入文件,该加签配置文件可命名为DigitalSignatureConfig.xml(中文为数字签名配置.xml)。举一具体实例,预配置加签配置文件可按如下方式配置:首先配置一个HashMap(哈希表)类,用于将报文类型与其对应的加签类对应;将预配置有报文类型与加签项的对应关系注入一个ArrayList(动态数组)中。实施例中,加签配置文件可为配置有报文类型与加签项的对应关系的动态数组。
本实施例中,根据CPU使用情况得到对应的目标加签方式。由于不同的加签方式所适用的场景不同,或者说不同情况下使用不同的加签方式的效果有所不同,比如加签效率高、加签成功率高等,因此在选择对应的加签方式时,根据实际的CPU使用情况来确定当前进行加签处理的方式,进而更好的完成加签操作。
505、根据请求数据的加签项,确定请求报文数据中需要加签的报文字段;
本实施例中,在确定报文预配置的加签项后,根据报文预配置的加签项,确定报文中需要加签的报文字段,每一报文预配置的加签项,都对应一报文中需要加签的报文字段。
506、根据报文字段和目标加签方式,对请求报文数据进行加签处理,得到得到加签后密文串;
本实施例中,根据配置好的加签项,将报文中的对应加签项的报文字段组装成待加签明文串,传送到数字签名服务器进行加签,并接收数字签名服务器反馈的加签后密文串。
507、对目标请求报文数据进行验签,判断服务请求是否有效;
508、根据目标服务请求对应的内部请求协议对关键参数进行封装处理,得到内部请求对象;
本实施例中,根据统一的协议也就是内部请求协议,对关键数据进行封装处理,得到统一的内部请求对象。其中,内部请求协议主要是在服务器内部进行管理操作时,可以统一识别的请求封装协议。具体的,内部请求协议可以采用现有技术提供的任意一种内部请求协议,只要可以使每个关键参数进行统一的封装处理,都可以作为本步骤中的内部请求协议,在此不做具体限定。
509、对内部请求对象执行预设管理操作,得到操作结果对象;
本实施例中,对内部请求对象执行相应的管控操作,也就是预设管理操作,进而得到操作结果对象。其中,预设管理操作可以是单独的一个管理操作,还可以是多个管理操作,具体的可以由技术人员按照一定的管控需求进行设定。例如,目前主要是对服务请求进行安全方面的认证管理,那么就在此将预设管理操作设置为认证管控操作;如果此时需要对服务请求进行多种的管理操作,例如统计操作、权限校验以及参数转换,那么就将预设操作设置为多种操作的集合,并按照顺序对内部请求对象执行以上多种操作,得到最后的操作结果对象。操作结果对象是进行管理操作对内部请求对象进行处理后的结果数据,例如,管理操作是参数转换,那么操作结果对象就是进行参数转换后的结果;如果管理操作是统计操作,那么管理操作实际对内部请求对象不会进行修改,直接将内部请求对象作为操作结果对象,并另外得到统计结果进行保存。
在更实际的应用场景中,每一个管理操作被视作功能插件进行管理。具体在转发的过程中启用什么功能插件,由技术人员对功能插件的配置文件进行编辑,从而管理功能插件的开启和关闭。
510、将操作结果对象发送至目标服务,完成服务请求转发操作;
本实施例中,将操作结果对象发送至服务提供方,以便完成服务请求转发操作。在实际使用的过程中将操作结果对象发送至服务提供方的方式并不唯一,可以根据实际情况选择合适的转发方式,在此不做具体限定。
511、当服务请求无效时,对服务请求进行拦截,并发送告警邮件至预设邮箱。
本实施例中步骤501-503、508与第一实施例中的101-103、104类似,此处不再赘述。
在本发明实施例中,通过接收目标用户通过业务服务器发送的针对目标服务的服务请求,并确定与该服务请求对应的业务数据;对服务请求进行解析,得到服务请求对应业务数据的关键参数;根据关键参数对业务数据进行处理,并对得到服务请求对应的目标请求报文数据进行验签处理,判断服务请求是否有效;若是,则将该服务请求标注为目标服务请求,并发送至目标服务。解决了无法确定服务请求的有效性,进而对未知的请求进行拦截和告警的技术问题。
上面对本发明实施例中服务请求转发方法进行了描述,下面对本发明实施例中服务请求转发装置进行描述,请参阅图6,本发明实施例中服务请求转发装置的第一个实施例包括:
接收模块601,用于接收目标用户通过业务服务器发送的针对目标服务的服务请求,并确定与所述服务请求对应的业务数据;
解析模块602,用于对所述服务请求进行解析,得到所述服务请求对应业务数据的关键参数,其中,所述关键参数包括数据格式、签名方法、加密方式、请求方式;
处理模块603,用于根据所述关键参数对所述业务数据进行处理,得到所述服务请求对应的目标请求报文数据;
验签模块604,用于对所述目标请求报文数据进行验签,判断所述服务请求是否有效;
发送模块605,用于当所述服务请求有效时,将所述服务请求标注为目标服务请求,并将所述目标服务请求发送至目标服务,其中,所述目标服务为服务提供方。
本发明实施例中,通过接收目标用户通过业务服务器发送的针对目标服务的服务请求,并确定与该服务请求对应的业务数据;对服务请求进行解析,得到服务请求对应业务数据的关键参数;根据关键参数对业务数据进行处理,并对得到服务请求对应的目标请求报文数据进行验签处理,判断服务请求是否有效;若是,则将该服务请求标注为目标服务请求,并发送至目标服务。解决了无法确定服务请求的有效性,进而对未知的请求进行拦截和告警的技术问题。
请参阅图7,本发明实施例中服务请求转发装置的第二个实施例,该服务请求转发装置具体包括:
接收模块601,用于接收目标用户通过业务服务器发送的针对目标服务的服务请求,并确定与所述服务请求对应的业务数据;
解析模块602,用于对所述服务请求进行解析,得到所述服务请求对应业务数据的关键参数,其中,所述关键参数包括数据格式、签名方法、加密方式、请求方式;
处理模块603,用于根据所述关键参数对所述业务数据进行处理,得到所述服务请求对应的目标请求报文数据;
验签模块604,用于对所述目标请求报文数据进行验签,判断所述服务请求是否有效;
发送模块605,用于当所述服务请求有效时,将所述服务请求标注为目标服务请求,并将所述目标服务请求发送至目标服务,其中,所述目标服务为服务提供方。
本实施例中,所述服务请求转发装置还包括:
第一确定模块606,用于确定所有可接入服务转发系统的业务服务器;
分配模块607,用于分别给每一所述业务服务器均分配一个标识以及与所述标识对应的密钥。
本实施例中,所述解析模块602具体用于:
对所述服务请求进行解析,得到请求报文数据;
根据所述服务请求对应的协议,对所述请求报文数据进行解析处理,得到关键参数。
本实施例中,所述验签模块604具体用于:
根据所述目标请求报文数据的报文类型,从预配置的验签配置文件中,确定所述目标请求报文数据预配置的验签项;
根据所述报文预配置的验签项,确定所述目标请求报文数据中需要验签的报文字段;
对所述报文中需要验签的报文字段进行验签,得到验签结果;
基于所述验签结果,判断所述服务请求是否有效。
本实施例中,所述发送模块605包括:
封装单元6051,用于根据所述目标服务请求对应的内部请求协议对所述关键参数进行封装处理,得到内部请求对象;对所述内部请求对象执行预设管理操作,得到操作结果对象;
发送单元6052,用于将所述操作结果对象发送至目标服务,完成服务请求转发操作。
本实施例中,所述服务请求转发装置还包括:
拦截模块608,用于当所述服务请求无效时,对所述服务请求进行拦截,并发送告警邮件至预设邮箱。
本实施例中,所述服务请求转发装置还包括:
第二确定模块609,用于根据所述目标请求报文数据的报文类型,从预配置的加签配置文件中,确定所述目标请求报文数据的加签项和与所述目标请求报文数据对应的目标加签方式,其中,所述加签配置文件预配置有请求数据与加签项的对应关系;根据所述请求数据的加签项,确定所述目标请求报文数据中需要加签的报文字段;
加签模块610,用于根据所述报文字段和所述目标加签方式,对所述请求报文数据进行加签处理,得到得到加签后密文串。
本发明实施例中,通过接收目标用户通过业务服务器发送的针对目标服务的服务请求,并确定与该服务请求对应的业务数据;对服务请求进行解析,得到服务请求对应业务数据的关键参数;根据关键参数对业务数据进行处理,并对得到服务请求对应的目标请求报文数据进行验签处理,判断服务请求是否有效;若是,则将该服务请求标注为目标服务请求,并发送至目标服务。解决了无法确定服务请求的有效性,进而对未知的请求进行拦截和告警的技术问题。
上面图6和图7从模块化功能实体的角度对本发明实施例中的服务请求转发装置进行详细描述,下面从硬件处理的角度对本发明实施例中服务请求转发设备进行详细描述。
图8是本发明实施例提供的一种服务请求转发设备的结构示意图,该服务请求转发设备800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)810(例如,一个或一个以上处理器)和存储器820,一个或一个以上存储应用程序833或数据832的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器820和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务请求转发设备800中的一系列指令操作。更进一步地,处理器810可以设置为与存储介质830通信,在服务请求转发设备800上执行存储介质830中的一系列指令操作,以实现上述各方法实施例提供的服务请求转发方法的步骤。
服务请求转发设备800还可以包括一个或一个以上电源840,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口860,和/或,一个或一个以上操作系统831,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图8示出的服务请求转发设备结构并不构成对本申请提供的服务请求转发设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行上述服务请求转发方法的步骤。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
所述领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种服务请求转发方法,应用于服务请求转发系统中的控制服务器,其特征在于,所述服务请求转发方法包括:
接收目标用户通过业务服务器发送的针对目标服务的服务请求,并确定与所述服务请求对应的业务数据;
对所述服务请求进行解析,得到所述服务请求对应业务数据的关键参数,其中,所述关键参数包括数据格式、签名方法、加密方式、请求方式;
根据所述关键参数对所述业务数据进行处理,得到所述服务请求对应的目标请求报文数据;
对所述目标请求报文数据进行验签,判断所述服务请求是否有效;
若所述服务请求有效,则将所述服务请求标注为目标服务请求,并将所述目标服务请求发送至目标服务,其中,所述目标服务为服务提供方。
2.根据权利要求1所述的服务请求转发方法,其特征在于,在所述接收目标用户通过业务服务器发送的针对目标服务的服务请求,并确定与所述服务请求对应的业务数据之前,还包括:
确定所有可接入服务转发系统的业务服务器;
分别给每一所述业务服务器均分配一个标识以及与所述标识对应的密钥。
3.根据权利要求1所述的服务请求转发方法,其特征在于,所述对所述服务请求进行解析,得到所述服务请求对应业务数据的关键参数包括:
对所述服务请求进行解析,得到请求报文数据;
根据所述服务请求对应的协议,对所述请求报文数据进行解析处理,得到关键参数。
4.根据权利要求1所述的服务请求转发方法,其特征在于,所述对所述目标请求报文数据进行验签,判断所述服务请求是否有效包括:
根据所述目标请求报文数据的报文类型,从预配置的验签配置文件中,确定所述目标请求报文数据预配置的验签项;
根据所述报文预配置的验签项,确定所述目标请求报文数据中需要验签的报文字段;
对所述报文中需要验签的报文字段进行验签,得到验签结果;
基于所述验签结果,判断所述服务请求是否有效。
5.根据权利要求1所述的服务请求转发方法,其特征在于,所述将所述服务请求标注为目标服务请求,并将所述目标服务请求发送至目标服务包括:
根据所述目标服务请求对应的内部请求协议对所述关键参数进行封装处理,得到内部请求对象;
对所述内部请求对象执行预设管理操作,得到操作结果对象;
将所述操作结果对象发送至目标服务,完成服务请求转发操作。
6.根据权利要求1所述的服务请求转发方法,其特征在于,在所述将所述服务请求标注为目标服务请求,并将所述目标服务请求发送至目标服务之后,还包括:
若所述服务请求无效,则对所述服务请求进行拦截,并发送告警邮件至预设邮箱。
7.根据权利要求1所述的服务请求转发方法,其特征在于,在所述根据所述关键参数对所述业务数据进行处理,得到所述服务请求对应的目标请求报文数据之后,还包括:
根据所述目标请求报文数据的报文类型,从预配置的加签配置文件中,确定所述目标请求报文数据的加签项和与所述目标请求报文数据对应的目标加签方式,其中,所述加签配置文件预配置有请求数据与加签项的对应关系;
根据所述请求数据的加签项,确定所述目标请求报文数据中需要加签的报文字段;
根据所述报文字段和所述目标加签方式,对所述请求报文数据进行加签处理,得到得到加签后密文串。
8.一种服务请求转发装置,其特征在于,所述服务请求转发装置包括:
接收模块,用于接收目标用户通过业务服务器发送的针对目标服务的服务请求,并确定与所述服务请求对应的业务数据;
解析模块,用于对所述服务请求进行解析,得到所述服务请求对应业务数据的关键参数,其中,所述关键参数包括数据格式、签名方法、加密方式、请求方式;
处理模块,用于根据所述关键参数对所述业务数据进行处理,得到所述服务请求对应的目标请求报文数据;
验签模块,用于对所述目标请求报文数据进行验签,判断所述服务请求是否有效;
发送模块,用于当所述服务请求有效时,将所述服务请求标注为目标服务请求,并将所述目标服务请求发送至目标服务,其中,所述目标服务为服务提供方。
9.一种服务请求转发设备,其特征在于,所述服务请求转发设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述服务请求转发设备执行如权利要求1-7中任一项所述的服务请求转发方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的服务请求转发方法。
CN202011506862.3A 2020-12-18 2020-12-18 服务请求转发方法、装置、设备及存储介质 Pending CN112689003A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011506862.3A CN112689003A (zh) 2020-12-18 2020-12-18 服务请求转发方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011506862.3A CN112689003A (zh) 2020-12-18 2020-12-18 服务请求转发方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN112689003A true CN112689003A (zh) 2021-04-20

Family

ID=75449799

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011506862.3A Pending CN112689003A (zh) 2020-12-18 2020-12-18 服务请求转发方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112689003A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220759A (zh) * 2021-04-27 2021-08-06 深圳市云网万店科技有限公司 大数据存储服务共享方法、装置、计算机设备和存储介质
CN113467855A (zh) * 2021-06-24 2021-10-01 北京达佳互联信息技术有限公司 网页请求处理方法、装置、电子设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220759A (zh) * 2021-04-27 2021-08-06 深圳市云网万店科技有限公司 大数据存储服务共享方法、装置、计算机设备和存储介质
CN113467855A (zh) * 2021-06-24 2021-10-01 北京达佳互联信息技术有限公司 网页请求处理方法、装置、电子设备及存储介质
CN113467855B (zh) * 2021-06-24 2024-03-19 北京达佳互联信息技术有限公司 网页请求处理方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
USRE49673E1 (en) Systems and methods for secure data exchange
US8751788B2 (en) Payment encryption accelerator
US7441116B2 (en) Secure resource distribution through encrypted pointers
US9800556B2 (en) Systems and methods for providing data security services
CN101247232B (zh) 数据交换传输中基于数字签名的加密技术方法
WO2018017609A1 (en) Secure asynchronous communications
RU2003133767A (ru) Система и способ для передачи сокращенной информации из сертификата для выполнения операций шифрования
CN111698225A (zh) 一种适用于电力调度控制系统的应用服务认证加密方法
CN112822255B (zh) 基于区块链的邮件处理方法、邮件发送端、接收端及设备
CN113872940B (zh) 基于NC-Link的访问控制方法、装置及设备
CN111865984A (zh) 一种用于微服务系统的无状态鉴权方法
US11838409B2 (en) Method and apparatus for transferring data in a publish-subscribe system
CN105208024A (zh) 不使用https的数据安全传输方法及系统、客户端和服务端
CN114143108B (zh) 一种会话加密方法、装置、设备及存储介质
CN112511295B (zh) 接口调用的认证方法、装置、微服务应用和密钥管理中心
CN112689003A (zh) 服务请求转发方法、装置、设备及存储介质
CN113364781A (zh) 请求处理方法及系统
CN111414640B (zh) 秘钥访问控制方法和装置
CN110730224B (zh) 一种数据报送的方法及装置
CN115883154A (zh) 访问凭证的颁发方法、基于区块链的数据访问方法及装置
CN114490728A (zh) 数据查询方法、装置、系统、设备及介质
CN105656995A (zh) 基于分布式处理的数据共享方法和系统
US11258615B2 (en) Systems and methods for secure certificate management
US20090157823A1 (en) Apparatus and method for facilitating secure email services using multiple protocols
Makino et al. Implementation and performance of WS-Security

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