请求处理方法、中间层、电子设备、存储介质及程序产品技术

技术编号:36765945 阅读:9 留言:0更新日期:2023-03-08 21:22
本申请提供一种请求处理方法、中间层、电子设备、存储介质及程序产品,该中间层包括:请求转换器,用于在接收到前端请求后,根据前端请求中的标识信息,使用请求转换器中设定的各处理方式中,与标识信息对应的第一处理方式生成前端请求到后端接口的第一映射;过程处理器,用于使用标识信息对应的第二处理方式,根据第一映射将前端请求发送给后端接口,并输出第二映射;第二映射包括过程处理器接收到的响应的内容,以及该响应与返回该响应对应的后端接口的对应关系;响应转换器,用于对第二映射进行处理,得到符合前端服务需求格式的最终响应,并返回给前端服务。本申请的中间层,相比于纯人工编码的方案而言,开发和维护成本更低,更新难度更小。更新难度更小。更新难度更小。

【技术实现步骤摘要】
请求处理方法、中间层、电子设备、存储介质及程序产品


[0001]本申请涉及计算机
,具体而言,涉及一种请求处理方法、中间层、电子设备、存储介质及程序产品。

技术介绍

[0002]目前,企业可能会同时提供有多种前端服务,且通过成百上千个后端微服务同时为这多种前端服务提供接口。比如,对于A企业,其可能提供有一个商品售卖APP(Application,应用程序),提供有一个商品售卖小程序,还提供有一个打车APP,而这三个前端服务复用该企业的多个后端微服务。
[0003]而在实际应用过程中,前端对数据结构的需求与后端提供的数据结构往往会存在分歧。为此,在大量后端微服务同时为多个前端服务提供接口的架构中,目前通常会在前端和后端之间设置一个中间层来进行处理前述问题。
[0004]目前,常规的中间层实现方式是通过纯人工编码来实现的。但是,对于纯人工编码的方案,开发和维护成本高,且在需要对中间层进行更新时,往往需要对整个代码全部进行变更,更新难度大。

技术实现思路

[0005]本申请实施例的目的在于提供一种请求处理方法、中间层、电子设备、存储介质及程序产品,用以解决上述问题。
[0006]本申请实施例公开了TS1、一种请求处理方法,应用于中间层,所述中间层包括请求转换器、过程处理器和响应转换器;所述方法包括:所述请求转换器在接收到前端请求后,根据所述前端请求中的标识信息,使用所述请求转换器中设定的各处理方式中,与所述标识信息对应的第一处理方式生成所述前端请求到后端接口的第一映射;所述过程处理器使用所述标识信息对应的第二处理方式,根据所述第一映射将所述前端请求发送给后端接口,并输出第二映射;所述第二映射包括所述过程处理器接收到的响应的内容,以及该响应与返回该响应对应的后端接口的对应关系;所述响应转换器对所述第二映射进行处理,得到符合前端服务需求格式的最终响应,并返回给所述前端服务。
[0007]在上述实现过程中,通过请求转换器、过程处理器和响应转换器这些模块化的部件实现了对于前端请求到后端接口的映射,以及后端响应到前端服务的反馈,在需要进行中间层更新时,只需更新相应模块内的实现代码即可,从而相对于纯人工编码的方案而言,开发和维护成本更低,更新难度更小。
[0008]TS2、如TS1所述的方法,其中,所述请求转换器中设定的处理方式包括以下至少之一:第一JSON(JavaScript Object Notation,JavaScript对象表示法)方式、DSL(Domain Specific Language,领域特定语言)方式、JSON和DSL结合方式;
[0009]所述第一JSON方式为:通过预先定义的各所述后端接口的参数来源和转换形式,按照所述前端请求中各参数的来源和设定的转换形式生成所述第一映射;
[0010]所述第一DSL方式为:通过预先定义的DSL模板对所述前端请求进行处理后,依据处理结果生成所述第一映射;所述DSL模板为预先定义好数据处理逻辑的模板;
[0011]所述JSON和DSL结合方式为:按照所述标识信息对应的参数与处理方式对应关系,将所述前端请求中对应JSON方式的参数按照所述第一JSON方式处理,将所述前端请求中对应DSL方式的参数按照所述第一DSL方式处理。
[0012]应理解,在实际应用过程中,还存在着基于GraphQL(Graph Query Language,一种针对Graph(图状数据)进行查询特别有优势的查询语言)框架来进行后端接口聚合的实现方案。但是,GraphQL框架虽然提供了一种标准框架,但该框架对于所能适配的后端接口具有较高的要求,需要后端接口符合该框架的规范要求。因此,并非所有的后端接口都可以纳入GraphQL框架来进行后端接口聚合,场景适用性有限。而相对于GraphQL框架实现的方案,本申请的上述实现方案,在请求转换器、过程处理器和响应转换器所构成的框架下,可以采用JSON方式、或DSL方式、或JSON和DSL结合方式来实现对于前端请求的自定义处理,而JSON和DSL对于后端接口并无门槛限制,因此对于所有的后端接口都可以被本申请的处理框架所容纳,从而可以适用于更为广泛的场景中。且在需要更新后端接口时,只需更新相应的JSON定义和DSL模板即可,方案的灵活性较强。
[0013]TS3、如TS2所述的方法,其中,所述请求转换器中设定的处理方式还包括第一默认方式;所述第一默认方式为:不对所述前端请求中的参数进行格式转换,直接依据所述前端请求生成所述前端请求到后端接口的第一映射。
[0014]应理解,在实际应用过程中,存在某些前端请求无需进行格式转换或者依赖关系处理,就可以直接传递给相应的后端接口的情况。对此,上述实现方式中,通过在请求转换器中设定第一默认方式,从而可以满足这种情况下前端请求的转发需求,从而使得本申请实施例的方案具有更强大的适应性,可以适用于更为广泛的场景中。
[0015]TS4、如TS1所述的方法,其中,所述第二处理方式为:所述过程处理器中设定的各处理方式中,与所述标识信息对应的处理方式;所述过程处理器中设定的各处理方式包括以下至少之一:第二默认方式、第二DSL方式;
[0016]所述第二默认方式为:按照所述第一映射,将所述前端请求透传至对应的后端接口;
[0017]所述第二DSL方式为:通过预先定义的DSL模板对所述第一映射进行处理;所述第一映射中包括有所述前端请求的内容。
[0018]在上述实现过程中,通过第二默认方式可以满足简单场景下所需的前端请求直接透传需求;而通过第二DSL方式,则可以利用DSL所具有的可以灵活定义数学计算、函数计算、配置获取等能力的特性,通过DSL模板实现对于具有接口前后依赖、服务编排等诉求的复杂业务场景的接口调用处理,满足复杂业务场景的需求。
[0019]TS5、如TS1所述的方法,其中,所述响应转换器包括JSON响应转换器和响应组装器;所述响应转换器对所述第二映射进行处理,得到符合前端服务需求格式的最终响应,并返回给所述前端服务,包括:所述JSON响应转换器使用所述JSON响应转换器设定的各处理方式中,与所述标识信息对应的第三处理方式对所述第二映射进行处理;所述响应组装器使用所述响应组装器设定的各处理方式中,与所述标识信息对应的第四处理方式对所述JSON响应转换器处理后的第二映射进行处理,并返回给所述前端服务;其中:所述JSON响应
转换器设定的各处理方式包括:第三默认方式和第二JSON方式;所述响应组装器设定的各处理方式包括:第四默认方式和第三DSL方式;
[0020]所述第三默认方式为:将所述第二映射透传至所述响应组装器;所述第二JSON方式为:通过预先定义的各所述前端服务的转换形式,按照所述转换形式对所述第二映射中的响应的内容进行转换,并将转换后的各响应聚合生成一个响应发至所述响应组装器;
[0021]所述第四默认方式为:将所述JSON响应转换器传来的内容作为所述最终响应返回给所述前端服务;所述第三DSL本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种请求处理方法,其特征在于,应用于中间层,所述中间层包括请求转换器、过程处理器和响应转换器;所述方法包括:所述请求转换器在接收到前端请求后,根据所述前端请求中的标识信息,使用所述请求转换器中设定的各处理方式中,与所述标识信息对应的第一处理方式生成所述前端请求到后端接口的第一映射;所述过程处理器使用所述标识信息对应的第二处理方式,根据所述第一映射将所述前端请求发送给后端接口,并输出第二映射;所述第二映射包括所述过程处理器接收到的响应的内容,以及该响应与返回该响应对应的后端接口的对应关系;所述响应转换器对所述第二映射进行处理,得到符合前端服务需求格式的最终响应,并返回给所述前端服务。2.如权利要求1所述的请求处理方法,其特征在于,所述请求转换器中设定的处理方式包括以下至少之一:第一JSON方式、第一DSL方式、JSON和DSL结合方式;所述第一JSON方式为:通过预先定义的各所述后端接口的参数来源和转换形式,按照所述前端请求中各参数的来源和设定的转换形式生成所述第一映射;所述第一DSL方式为:通过预先定义的DSL模板对所述前端请求进行处理后,依据处理结果生成所述第一映射;所述DSL模板为预先定义好数据处理逻辑的模板;所述JSON和DSL结合方式为:按照所述标识信息对应的参数与处理方式对应关系,将所述前端请求中对应JSON方式的参数按照所述第一JSON方式处理,将所述前端请求中对应DSL方式的参数按照所述第一DSL方式处理。3.如权利要求2所述的请求处理方法,其特征在于,所述请求转换器中设定的处理方式还包括第一默认方式;所述第一默认方式为:不对所述前端请求中的参数进行格式转换,直接依据所述前端请求生成所述前端请求到后端接口的第一映射。4.如权利要求1所述的请求处理方法,其特征在于,所述第二处理方式为:所述过程处理器中设定的各处理方式中,与所述标识信息对应的处理方式;所述过程处理器中设定的各处理方式包括以下至少之一:第二默认方式、第二DSL方式;所述第二默认方式为:按照所述第一映射,将所述前端请求透传至对应的后端接口;所述第二DSL方式为:通过预先定义的DSL模板对所述第一映射进行处理;所述第一映射中包括有所述前端请求的内容。5.如权利要求1所述的请求处理方法,其特征在于,所述响应转换器包括JSON响应转换器和响应组装器;所述响应转换器对所述第二映射进行处理,得到符合前端服务需求格式的最终响应,并返回给所述前端服务,包括:所述JSON响应转换器使用所述JSON响应转换器设定的各处理方式中,与所述标识信息对应的第三处理方式对所述第二映射进行处理;所述响应组装器使用所述响应组装器设定的各处理方式中,与所述标识信息对应的第四处理方式对所述JSON响应转换器...

【专利技术属性】
技术研发人员:杨嘉成刘忠旭
申请(专利权)人:北京橙心无限科技发展有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1