一种服务请求转发方法及相关装置与流程

文档序号:16515077发布日期:2019-01-05 09:34阅读:160来源:国知局
一种服务请求转发方法及相关装置与流程

本申请涉及计算机技术领域,特别涉及一种服务请求转发方法、服务请求转发装置、服务器以及计算机可读存储介质。



背景技术:

对着互联网技术的发展,多个系统之间进行协作的架构不断被应用在服务器中。每个系统之间需要不断发生服务接口的调用,也就是各个系统之间不断存在数据交互过程。

现有技术中一般通过服务接口获取到服务器提供的服务,进行数据交互。但是,现有的系统中所提供的服务多种多样,每个服务的接口不尽相同。一方面需要服务请求方在发送请求时考虑到请求事件的各个方面,使得接口无法统一,造成请求接口不简洁,易出现请求时的混乱。另一方面,不统一的接口会存在不同的请求方式,信息的发送难以进行把控,无法统一对请求信息进行管控。总的来说,就是现有技术中通过网络请求调用网络服务时的接口多种多样,不统一的接口形式使得服务器没有办法对网络请求进行很好的管理和控制。例如:无法查询现有的服务请求接口并进行测试,同时缺少对网络请求的统计和分析方式,并且对网络请求的认证和授权也缺乏统一的管控方法。

因此,如何使服务对服务请求方式进行管控是本领域技术人员关注的重点问题。



技术实现要素:

本申请的目的是提供一种服务请求转发方法、服务请求转发装置、服务器以及计算机可读存储介质,通过对服务请求进行拆包解析处理,得到关键参数并且封装为统一协议的内部请求对象,实现了协议的统一,在此基础上就可以对服务请求对应的内部请求对象进行相应的管理控制操作,也就是预设管理操作,进而得到操作结果对象并转发至服务提供方,不影响正常的服务请求调用过程。

为解决上述技术问题,本申请提供一种服务请求转发方法,包括:

对接收到的服务请求进行拆包解析处理,得到关键参数;

根据内部请求协议对所述关键参数进行封装处理,得到内部请求对象;

对所述内部请求对象执行预设管理操作,得到操作结果对象;

将所述操作结果对象发送至服务提供方,以便完成服务请求转发操作。

可选的,还包括:

当接收到所述服务提供方发送的返回结果时,对所述返回结果进行封装处理得到结果数据;

将所述结果数据发送至服务调用方。

可选的,对接收到的服务请求进行拆包解析处理,得到关键参数,包括:

对接收到的服务请求进行拆包处理,得到请求报文数据;

根据所述服务请求对应的协议对所述请求报文数据进行解析处理,得到关键参数。

可选的,对所述内部请求对象执行预设管理操作,得到操作结果对象,包括:

根据获取的插件功能的配置文件确定多个管理操作的执行顺序;

根据所述执行顺序对所述内部请求对象执行多个所述管理操作,得到所述操作结果对象。

可选的,将所述操作结果对象发送至服务提供方,以便完成服务请求转发操作,包括:

根据所述服务请求获取到所述服务提供方的接口地址;

将所述操作结果对象发送至所述接口地址,以便完成服务请求转发操作。

本申请还提供一种服务请求转发装置,包括:

关键参数获取模块,用于对接收到的服务请求进行拆包解析处理,得到关键参数;

内部请求获取模块,用于根据内部请求协议对所述关键参数进行封装处理,得到内部请求对象;

管理操作执行模块,用于对所述内部请求对象执行预设管理操作,得到操作结果对象;

请求转发模块,用于将所述操作结果对象发送至服务提供方,以便完成服务请求转发操作。

可选的,还包括:

结果数据获取模块,用于当接收到所述服务提供方发送的返回结果时,对所述返回结果进行封装处理得到结果数据;

结果数据转发模块,用于将所述结果数据发送至所述服务调用方。

可选的,所述关键参数获取模块,包括:

服务请求拆包单元,用于对接收到的服务请求进行拆包处理,得到请求报文数据;

服务请求解析单元,用于根据所述服务请求对应的协议对所述请求报文数据进行解析处理,得到关键参数。

本申请还提供一种服务器,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上所述的服务请求转发方法的步骤。

本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的服务请求转发方法的步骤。

本申请所提供的一种服务请求转发方法,包括:对接收到的服务请求进行拆包解析处理,得到关键参数;根据内部请求协议对所述关键参数进行封装处理,得到内部请求对象;对所述内部请求对象执行预设管理操作,得到操作结果对象;将所述操作结果对象发送至服务提供方,以便完成服务请求转发操作。

通过对服务请求进行拆包解析处理,得到关键参数并且封装为统一协议的内部请求对象,实现了协议的统一,在此基础上就可以对服务请求对应的内部请求对象进行相应的管理控制操作,也就是预设管理操作,进而得到操作结果对象并转发至服务提供方,不影响正常的服务请求调用过程。

本申请还提供一种服务请求转发装置、服务器以及计算机可读存储介质,具有以上有益效果,在此不做赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的一种服务请求转发方法的流程图;

图2为本申请实施例所提供的服务请求转发方法的拆包解析处理方法的流程图;

图3为本申请实施例所提供的服务请求转发方法的管控操作方法的流程图;

图4为本申请实施例所提供的一种服务请求转发装置的结构示意图。

具体实施方式

本申请的核心是提供一种服务请求转发方法、服务请求转发装置、服务器以及计算机可读存储介质,通过对服务请求进行拆包解析处理,得到关键参数并且封装为统一协议的内部请求对象,实现了协议的统一,在此基础上就可以对服务请求对应的内部请求对象进行相应的管理控制操作,也就是预设管理操作,进而得到操作结果对象并转发至服务提供方,不影响正常的服务请求调用过程。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在调用网络服务的应用场景下,现有技术中服务提供方针对不同的服务和不同的服务调用方均提供的不同的接口,以使服务调用方都可以调用服务提供方提供的服务。但是,接口的不统一对服务请求的管控制造了很大的阻碍,有可能出现恶意的服务请求,并且没有办法对服务请求进行相应的统计,总的来说就是对服务请求没有办法进行更好的管理和控制。

因此,本申请提供一种服务请求转发方法,通过对服务请求进行拆包解析处理,得到关键参数并且封装为统一协议的内部请求对象,实现了协议的统一,在此基础上就可以对服务请求对应的内部请求对象进行相应的管理控制操作,也就是预设管理操作,进而得到操作结果对象并转发至服务提供方,不影响正常的服务请求调用过程。

具体的,请参考图1,图1为本申请实施例所提供的一种服务请求转发方法的流程图。

该方法可以包括:

s101,对接收到的服务请求进行拆包解析处理,得到关键参数;

本步骤旨在提取出服务请求中的关键参数,也就是该服务请求抛去协议封装的封装数据,保留进行请求的最关键的数据,例如,请求的地址、请求的参数以及请求的内容。其中,服务请求可以是服务调用方向服务提供方发送的。

本步骤所达到的目的也就是清除服务请求中的差异化信息,只保留可以进行服务请求的关键数据。避免不统一的接口请求服务使得无法进行统一的管控操作,影响服务请求的管控效率。

s102,根据内部请求协议对关键参数进行封装处理,得到内部请求对象;

在步骤s101的基础上,本步骤旨在根据统一的协议也就是内部请求协议,对关键数据进行封装处理,得到统一的内部请求对象。

其中,内部请求协议主要是在服务器内部进行管理操作时,可以统一识别的请求封装协议。具体的,内部请求协议可以采用现有技术提供的任意一种内部请求协议,只要可以使每个关键参数进行统一的封装处理,都可以作为本步骤中的内部请求协议,在此不做具体限定。

据此,通过步骤s101和步骤s102可以将服务请求转换成统一的内部请求对象,避免了由于协议或接口的不统一而造成的无法进行统一的管控操作。

s103,对内部请求对象执行预设管理操作,得到操作结果对象;

在步骤s102的基础上,本步骤旨在对内部请求对象执行相应的管控操作,也就是预设管理操作,进而得到操作结果对象。

其中,预设管理操作可以是单独的一个管理操作,还可以是多个管理操作,具体的可以由技术人员按照一定的管控需求进行设定。例如,目前主要是对服务请求进行安全方面的认证管理,那么就在此将预设管理操作设置为认证管控操作;如果此时需要对服务请求进行多种的管理操作,例如统计操作、权限校验以及参数转换,那么就将预设操作设置为多种操作的集合,并按照顺序对内部请求对象执行以上多种操作,得到最后的操作结果对象。

其中,操作结果对象是进行管理操作对内部请求对象进行处理后的结果数据,例如,管理操作是参数转换,那么操作结果对象就是进行参数转换后的结果;如果管理操作是统计操作,那么管理操作实际对内部请求对象不会进行修改,直接将内部请求对象作为操作结果对象,并另外得到统计结果进行保存。

在更实际的应用场景中,每一个管理操作被视作功能插件进行管理。具体在转发的过程中启用什么功能插件,由技术人员对功能插件的配置文件进行编辑,从而管理功能插件的开启和关闭。

s104,将操作结果对象发送至服务提供方,以便完成服务请求转发操作。

在步骤s103的基础上,本步骤旨在将操作结果对象发送至服务提供方,以便完成服务请求转发操作。在实际使用的过程中将操作结果对象发送至服务提供方的方式并不唯一,可以根据实际情况选择合适的转发方式,在此不做具体限定。

可选的,步骤s104可以包括:

步骤一、根据服务请求获取到服务提供方的接口地址;

步骤二、将操作结果对象发送至接口地址,以便完成服务请求转发操作。

本可选方案主要是根据从服务请求获取的接口地址完成对操作结果的转发操作。

可选的,在本实施例的基础上,该方法还可以包括:

步骤一、当接收到服务提供方发送的返回结果时,对返回结果进行封装处理得到结果数据;

步骤二、将结果数据发送至服务调用方。

本可选方法就是说明当得到服务请求的返回结果时,对返回结果同样需要进行相应的转发操作,也即对返回结果进行封装处理得到结果数据,将结果数据发送至相应的服务调用方。

综上,本实施例通过对服务请求进行拆包解析处理,得到关键参数并且封装为统一协议的内部请求对象,实现了协议的统一,在此基础上就可以对服务请求对应的内部请求对象进行相应的管理控制操作,也就是预设管理操作,进而得到操作结果对象并转发至服务提供方,不影响正常的服务请求调用过程。

基于上一实施例,本实施例主要是针对上一实施例中如何进行拆包解析处理进行具体说明,其他部分与上一实施例大体相同,可以参考上一实施例,在此不做赘述。

请参考图2,图2为本申请实施例所提供的服务请求转发方法的拆包解析处理方法的流程图。

该方法可以包括:

s201,对接收到的服务请求进行拆包处理,得到请求报文数据;

s202,根据服务请求对应的协议对请求报文数据进行解析处理,得到关键参数。

本实施例中首先对服务请求进行拆包处理,得到请求报文数据,进一步的再根据对应的协议进行解析处理得到关键参数。对不同接口的服务请求进行拆包解析得到关键参数,实现将不同服务接口的服务请求抛去不统一的信息数据。其中,服务请求可以是服务调用方向服务提供方发送的。

基于上一实施例,本实施例主要是针对上一实施例中如何执行管控操作进行具体说明,其他部分与上一实施例大体相同,可以参考上一实施例,在此不做赘述。

请参考图3,图3为本申请实施例所提供的服务请求转发方法的管控操作方法的流程图。

该方法可以包括:

s301,根据获取的插件功能的配置文件确定多个管理操作的执行顺序;

s302,根据执行顺序对内部请求对象执行多个管理操作,得到操作结果对象。

本实施例中存在多个管理操作,并且这些管理操作主要是通过插件功能的配置文件进行管理,通常配置文件中保存有多个管理操作的执行顺序,因此本实施例中通过该执行顺序对内部请求对象执行多个管理操作,得到操作结果对象。

下面对本申请实施例提供的一种服务请求转发装置进行介绍,下文描述的一种服务请求转发装置与上文描述的一种服务请求转发方法可相互对应参照。

具体的,请参考图4,图4为本申请实施例所提供的一种服务请求转发装置的结构示意图。

该装置可以包括:

关键参数获取模块100,用于对接收到的服务请求进行拆包解析处理,得到关键参数;

内部请求获取模块200,用于根据内部请求协议对关键参数进行封装处理,得到内部请求对象;

管理操作执行模块300,用于对内部请求对象执行预设管理操作,得到操作结果对象;

请求转发模块400,用于将操作结果对象发送至服务提供方,以便完成服务请求转发操作。

该装置还可以包括:

结果数据获取模块,用于当接收到服务提供方发送的返回结果时,对返回结果进行封装处理得到结果数据;

结果数据转发模块,用于将结果数据发送至服务调用方。

可选的,该关键参数获取模块100,可以包括:

服务请求拆包单元,用于对接收到的服务请求进行拆包处理,得到请求报文数据;

服务请求解析单元,用于根据服务请求对应的协议对请求报文数据进行解析处理,得到关键参数。

本申请实施例还提供一种服务器,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如以上实施例的服务请求转发方法的步骤。

本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如以上实施例的服务请求转发方法的步骤。

该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的一种服务请求转发方法、服务请求转发装置、服务器以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1