CN109634752B - 一种基于页面网关的客户端请求处理方法及系统 - Google Patents

一种基于页面网关的客户端请求处理方法及系统 Download PDF

Info

Publication number
CN109634752B
CN109634752B CN201811258701.XA CN201811258701A CN109634752B CN 109634752 B CN109634752 B CN 109634752B CN 201811258701 A CN201811258701 A CN 201811258701A CN 109634752 B CN109634752 B CN 109634752B
Authority
CN
China
Prior art keywords
request
component interface
client
target request
page
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
Application number
CN201811258701.XA
Other languages
English (en)
Other versions
CN109634752A (zh
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.)
Beijing MetarNet Technologies Co Ltd
Original Assignee
Beijing MetarNet Technologies 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 Beijing MetarNet Technologies Co Ltd filed Critical Beijing MetarNet Technologies Co Ltd
Priority to CN201811258701.XA priority Critical patent/CN109634752B/zh
Publication of CN109634752A publication Critical patent/CN109634752A/zh
Application granted granted Critical
Publication of CN109634752B publication Critical patent/CN109634752B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/549Remote execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例提供一种基于页面网关的客户端请求处理方法及系统,页面网关接收客户端发送的请求,作为目标请求,解析目标请求获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息;根据每个组件接口对应的关联信息向服务端请求调用每个组件接口,获取每个组件接口对应的调用结果;将所有组件接口各自对应的调用结果返回至客户端。该方法及系统通过在客户端和服务端之间加入一层轻量级的页面网关,通过页面网关接收客户端的请求并从服务端获取请求对应的结果以将结果返回至客户端,有效解除了客户端和服务端之间的耦合,有利于客户端和服务端的开发流程、测试和部署,提高了客户端和服务端的可扩展性和可维护性。

Description

一种基于页面网关的客户端请求处理方法及系统
技术领域
本发明实施例涉及Web应用技术领域,更具体地,涉及一种基于页面网关的客户端请求处理方法及系统。
背景技术
在当前的Web应用技术领域中,客户端和服务端都有自己的分工,客户端专注于页面的样式和排版,服务端专注于业务逻辑。然而,在实际应用中,客户端和服务端的交互往往耦合在一起。比如,若客户端页面采用jsp技术,则需在jsp文件中编写服务端代码以获取数据和执行动作;又比如,若客户端页面采用freemarker模板技术,则也需要在ftl文件中编写服务端代码。客户端和服务端之间的耦合不仅给客户端和服务端的开发流程、测试和部署带来困难,而且服务端的代码修改会影响到客户端页面,导致整体的可扩展性和可维护性不高。
发明内容
本发明实施例为了解决现有技术中客户端和服务端之间的耦合问题,提供一种基于页面网关的客户端请求处理方法及系统。
第一方面,本发明实施例提供一种基于页面网关的客户端请求处理方法,包括:
基于页面网关接收客户端发送的请求,作为目标请求,解析目标请求获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息;
基于所述页面网关根据每个组件接口对应的关联信息向服务端请求调用每个组件接口,获取每个组件接口对应的调用结果;
基于所述页面网关将所有组件接口各自对应的调用结果进行整合,将整合后的调用结果返回至客户端;
其中,所述客户端和所述服务端为Web应用的客户端和服务端。
第二方面,本发明实施例提供一种基于页面网关的客户端请求处理系统,包括:
请求解析模块,用于基于页面网关接收客户端发送的请求,作为目标请求,解析目标请求获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息;
接口调用模块,用于基于所述页面网关根据每个组件接口对应的关联信息向服务端请求调用每个组件接口,获取每个组件接口对应的调用结果;
结果返回模块,用于基于所述页面网关将所有组件接口各自对应的调用结果进行整合,将整合后的返回至客户端;
其中,所述客户端和所述服务端为Web应用的客户端和服务端。
第三方面,本发明实施例提供一种电子设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如第一方面所提供的方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如第一方面所提供的方法的步骤。
本发明实施例提供的基于页面网关的客户端请求处理方法及系统,页面网关接收客户端发送的请求,作为目标请求,解析目标请求获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息;根据每个组件接口对应的关联信息向服务端请求调用每个组件接口,获取每个组件接口对应的调用结果;将所有组件接口各自对应的调用结果返回至客户端。该方法及系统通过在客户端和服务端之间加入一层轻量级的页面网关,通过页面网关接收客户端的请求并从服务端获取请求对应的结果以将结果返回至客户端,有效解除了客户端和服务端之间的耦合,有利于客户端和服务端的开发流程、测试和部署,提高了客户端和服务端的可扩展性和可维护性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于页面网关的客户端请求处理方法的流程示意图;
图2为本发明实施例提供的基于页面网关的客户端请求处理系统的结构示意图;
图3为本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明实施例从全局构建的角度出发,在客户端和服务端之间加入一层轻量级的页面网关,通过页面网关对客户端和服务端之间的耦合进行解耦。现以页面网关为执行主体对本发明实施例的技术方案进行具体说明。
图1为本发明实施例提供的基于页面网关的客户端请求处理方法的流程示意图,如图1所示,本发明实施例提供一种基于页面网关的客户端请求处理方法,包括:
S1,接收客户端发送的请求,作为目标请求,解析目标请求获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息;
具体地,当客户端发起请求时,页面网关接收客户端发送的请求,将该请求作为目标请求。页面网关解析目标请求,获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息。需要说明的是,针对任意一个客户端请求,页面网关需要从服务端对应的组件接口获取该请求对应的请求结果,且不同的客户端请求对应的组件接口可以为一个,也可以为多个。因此,为了获取目标请求对应的请求结果,需先获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息。此外,本实施例中,每个组件接口对应的关联信息包括接口名称、接口方法和请求参数。
需要说明的是,本实施例中,页面网关采用SpringMVC框架接收客户端发送的请求,例如,可以通过在页面网关层新增一个Spring MVC的Controller类,以通过Spring MVC的Controller类接收客户端发送的请求。在其他实施例中,页面网关在接收客户端发送的请求时所采用的框架也可以根据实际需求进行设置,此处不做具体限定。
S2,根据每个组件接口对应的关联信息向服务端请求调用每个组件接口,获取每个组件接口对应的调用结果;
具体地,在获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息之后,页面网关根据每个组件接口对应的关联信息向服务端请求调用每个组件接口,获取每个组件接口对应的调用结果。可以理解的是,若目标请求有且仅存在一个对应的组件接口A,则可直接调用组件接口A获取组件接口A对应的调用结果;若目标请求存在两个对应的组件接口A和B,则需分别调用组件接口A和B获取组件接口A和B各自对应的调用结果。同时,可以理解的是,在组件接口的调用过程中,根据接口名称、接口方法和请求参数可以对具体的某个组件进行调用并获得唯一的调用结果。有鉴于此,由于本实施例中的组件接口对应的关联信息包括接口名称、接口方法和请求参数,因此本实施例中根据组件接口对应的关联信息能够有效实现组件接口的调用并获得对应的调用结果。
S3,将所有组件接口各自对应的调用结果返回至客户端。
具体地,在获得每个组件接口对应的调用结果之后,若目标请求有且仅存在一个对应的组件接口,页面网关则直接将该组件接口的调用结果返回至客户端;若目标请求存在多个对应的组件接口,页面网关则需将所有组件接口各自对应的调用结果返回至客户端。其中,页面网关在将所有组件接口各自对应的调用结果返回至客户端之前,还可以先将所有组件接口各自对应的调用结果进行整合,再将整合后的调用结果返回至客户端,有利于客户端将所有调用结果同时进行渲染显示。此外,在页面网关将调用结果返回至客户端的过程中,页面网关可以先将调用结果发送给客户端的视图层,再由视图层的velocity加载调用结果并在客户端页面进行渲染显示。
本发明实施例提供的基于页面网关的客户端请求处理方法,页面网关接收客户端发送的请求,作为目标请求,解析目标请求获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息;根据每个组件接口对应的关联信息向服务端请求调用每个组件接口,获取每个组件接口对应的调用结果;将所有组件接口各自对应的调用结果返回至客户端。该方法通过在客户端和服务端之间加入一层轻量级的页面网关,通过页面网关接收客户端的请求并从服务端获取请求对应的结果以将结果返回至客户端,有效解除了客户端和服务端之间的耦合,有利于客户端和服务端的开发流程、测试和部署,提高了客户端和服务端的可扩展性和可维护性。
基于上述任一实施例,提供一种基于页面网关的客户端请求处理方法,解析目标请求获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息,具体包括:解析目标请求获得目标请求对应的请求类型;若请求类型为页面请求,则获取目标请求对应的页面名称,根据页面名称向服务端请求获得目标请求对应的组件接口列表和组件接口列表中的每个组件接口对应的关联信息。
具体地,页面网关在接收到客户端发送的目标请求之后,解析目标请求获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息,具体实现过程如下:
页面网关首先解析目标请求的URL获得目标请求对应的请求类型,具体地,按照目标请求的URL后缀对目标请求进行分类,若目标请求的URL后缀为.html,则可以确定目标请求对应的请求类型为页面请求。
进一步地,若目标请求对应的请求类型为页面请求,则获取目标请求对应的页面名称。本实施例中,在目标请求的URL中,截取最后一个/至.html之间的字符串作为目标请求对应的页面名称。例如,若目标请求的URL为http://127.0.0.1:8080/test/test.html,则目标请求对应的页面名称为test.html。在此基础上,根据页面名称向服务端请求获得目标请求对应的组件接口列表和组件接口列表中的每个组件接口对应的关联信息。其中,组件接口列表中包含至少两个组件接口。可以理解的是,若目标请求为页面请求,则目标请求的请求结果是一个页面,而一个页面包含的元素不止一个,因此往往需要从服务端的不同组件接口获取页面的不同元素以最终组合成整个页面。
需要说明的是,服务端的数据库中预先存储了页面名称和组件接口的映射关系,且同时存储了每个组件接口的关联信息;在此基础上,页面网关将页面名称作为参数,调用服务端的getInterfaceList接口,即可获得目标请求对应的组件接口列表和组件接口列表中的每个组件接口对应的关联信息。
本发明实施例提供的基于页面网关的客户端请求处理方法,页面网关在接收到客户端发送的目标请求之后,解析目标请求获得目标请求对应的请求类型;若请求类型为页面请求,则获取目标请求对应的页面名称,根据页面名称向服务端请求获得目标请求对应的组件接口列表和组件接口列表中的每个组件接口对应的关联信息。该方法中页面网关能够结合目标请求的请求类型获得目标请求对应的组件接口和每个组件接口对应的关联信息,有利于根据每个组件接口对应的关联信息向服务端请求调用每个组件接口,以最终获得目标请求对应的请求结果,能够有效确保请求结果的准确性。
基于上述任一实施例,提供一种基于页面网关的客户端请求处理方法,解析目标请求获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息,具体包括:解析目标请求获得目标请求对应的请求类型;若请求类型为动作请求,则从目标请求中获取目标请求对应的组件接口和组件接口对应的关联信息。
具体地,页面网关首先解析目标请求的URL获得目标请求对应的请求类型,具体地,按照目标请求的URL后缀对目标请求进行分类,若目标请求的URL后缀为.do,则可以确定目标请求对应的请求类型为动作请求。在此基础上,页面网关可以直接从目标请求中获取目标请求对应的组件接口和组件接口对应的关联信息。需要说明的是,若目标请求为动作请求,则目标请求本身将携带了目标请求对应的组件接口和组件接口对应的关联信息,其中关联信息包括接口名称、接口方法和请求参数,且动作请求对应的组件接口一般仅有一个;因此,可以直接从目标请求中获取目标请求对应的组件接口和组件接口对应的关联信息。
本发明实施例提供的基于页面网关的客户端请求处理方法,页面网关在接收到客户端发送的目标请求之后,解析目标请求获得目标请求对应的请求类型;若请求类型为动作请求,则从目标请求中获取目标请求对应的组件接口和组件接口对应的关联信息。该方法中页面网关能够结合目标请求的请求类型获得目标请求对应的组件接口和每个组件接口对应的关联信息,有利于根据每个组件接口对应的关联信息向服务端请求调用每个组件接口,以最终获得目标请求对应的请求结果,能够有效确保请求结果的准确性。
基于上述任一实施例,提供一种基于页面网关的客户端请求处理方法,解析目标请求获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息,具体包括:解析目标请求获得目标请求对应的请求类型;若请求类型为数据请求,则从目标请求中获取目标请求对应的组件接口和组件接口对应的关联信息。
具体地,页面网关首先解析目标请求的URL获得目标请求对应的请求类型,具体地,按照目标请求的URL后缀对目标请求进行分类,若目标请求的URL后缀为.json,则可以确定目标请求对应的请求类型为数据请求。在此基础上,页面网关可以直接从目标请求中获取目标请求对应的组件接口和组件接口对应的关联信息。需要说明的是,若目标请求为数据请求,则目标请求本身将携带了目标请求对应的组件接口和组件接口对应的关联信息,其中关联信息包括接口名称、接口方法和请求参数,且数据请求对应的组件接口一般仅有一个;因此,可以直接从目标请求中获取目标请求对应的组件接口和组件接口对应的关联信息。
本发明实施例提供的基于页面网关的客户端请求处理方法,页面网关在接收到客户端发送的目标请求之后,解析目标请求获得目标请求对应的请求类型;若请求类型为数据请求,则从目标请求中获取目标请求对应的组件接口和组件接口对应的关联信息。该方法中页面网关能够结合目标请求的请求类型获得目标请求对应的组件接口和每个组件接口对应的关联信息,有利于根据每个组件接口对应的关联信息向服务端请求调用每个组件接口,以最终获得目标请求对应的请求结果,能够有效确保请求结果的准确性。
基于上述任一实施例,提供一种基于页面网关的客户端请求处理方法,根据每个组件接口对应的关联信息向服务端请求调用每个组件接口,获取每个组件接口对应的调用结果,具体包括:利用线程池根据组件接口列表中的每个组件接口对应的关联信息向服务端请求异步调用每个组件接口;采用gRPC框架获取每个组件接口对应的调用结果。
具体地,本实施例中,若目标请求的请求类型为页面请求,则在获得目标请求对应的组件接口列表和组件接口列表中的每个组件接口对应的关联信息之后,根据每个组件接口对应的关联信息向服务端请求调用每个组件接口,获取每个组件接口对应的调用结果,具体实现过程如下:
将组件接口列表中的每个组件接口对应的关联信息放入一个Callable对象中,再把Callable对象放入FutureTask对象中,最终针对每个组件接口获得一个FutureTask对象,最终将每个组件接口对应的FutureTask对象加入taskList队列,具体的参考代码如下:
List<InterfaceBean>interfaceList=pageInfo.getInterfaceList();
for(Interface interfaceBean:interfaceList)
{
List<SubFutureTask<String>>taskList=new ArrayList<SubFutureTask<String>>();
Callable<String>callable=new ResultCallable<String>(request,interfaceBean);
SubFutureTask<String>task=new SubFutureTask<String>(callable);
taskList.add(task);
};
进一步地,利用线程池并发执行每个组件接口对应的FutureTask对象,具体的参考代码如下:
JSONObject pageData=ExecutorServiceManager.getInstanceForJson().getSubmitResult(taskList,response,request);
最终,采用gRPC框架获取每个组件接口对应的调用结果,具体的参考代码如下:
Figure GDA0002633399600000091
Figure GDA0002633399600000101
本发明实施例提供的基于页面网关的客户端请求处理方法,若目标请求的请求类型为页面请求,则在获得目标请求对应的组件接口列表和组件接口列表中的每个组件接口对应的关联信息之后,利用线程池根据组件接口列表中的每个组件接口对应的关联信息向服务端请求异步调用每个组件接口;采用gRPC框架获取每个组件接口对应的调用结果。该方法通过异步并发调用多个组件接口,能够有效避免组件接口的重复调用,解决了同步调用时延过长的问题,缩短了客户端请求的响应时间,有效提高了客户端请求处理的效率。
基于上述任一实施例,提供一种基于页面网关的客户端请求处理方法,将所有组件接口各自对应的调用结果返回至客户端,之前还包括:将每个组件接口对应的调用结果转换为json格式。
具体地,为了适应客户端的格式需求,在将所有组件接口各自对应的调用结果返回至客户端之前,还需将每个组件接口对应的调用结果转换为json格式。此外,在将每个组件接口对应的调用结果转换为json格式之前,还需确保每个组件接口对应的调用结果的完整性。本实施例中,若目标请求为页面请求,则目标请求对应的每个组件接口对应的调用结果包括结果码status、结果码描述message和数据主体data;若目标请求为动作请求,则目标请求对应的每个组件接口对应的调用结果包括结果码status和结果码描述message;若目标请求为数据请求,则目标请求对应的每个组件接口对应的调用结果包括结果码status、结果码描述message和数据主体data。
本发明实施例提供的基于页面网关的客户端请求处理方法,在将所有组件接口各自对应的调用结果返回至客户端之前,将每个组件接口对应的调用结果转换为json格式,以有效确保客户端能够对调用结果进行渲染显示。
基于上述任一实施例,提供一种基于页面网关的客户端请求处理方法,每个组件接口对应的关联信息包括:接口名称、接口方法和请求参数。
具体地,本实施例中,每个组件接口对应的关联信息包括接口名称、接口方法和请求参数。具体表示形式如下:
Figure GDA0002633399600000111
从上述代码可以看出,每个组件接口对应的关联信息包括接口名称(interfaceName)、接口方法(interfaceMethod)和请求参数(param1、param2和param3)。其中,所有的请求参数均封装在paramMap节点中。
本发明实施例提供的基于页面网关的客户端请求处理方法,每个组件接口对应的关联信息包括接口名称、接口方法和请求参数,有利于根据每个组件接口对应的关联信息对每个组件接口进行调用,进而有利于根据各个组件接口对应的调用结果获得客户端请求的请求结果。
图2为本发明实施例提供的基于页面网关的客户端请求处理系统的结构示意图,如图2所示,该请求处理系统包括:请求解析模块21、接口调用模块22和结果返回模块23,其中:
请求解析模块21,用于接收客户端发送的请求,作为目标请求,解析目标请求获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息;
具体地,当客户端发起请求时,页面网关利用请求解析模块21接收客户端发送的请求,将该请求作为目标请求。请求解析模块21解析目标请求,获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息。需要说明的是,针对任意一个客户端请求,页面网关需要从服务端对应的组件接口获取该请求对应的请求结果,且不同的客户端请求对应的组件接口可以为一个,也可以为多个。因此,为了获取目标请求对应的请求结果,需先利用请求解析模块21获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息。此外,本实施例中,每个组件接口对应的关联信息包括接口名称、接口方法和请求参数。
接口调用模块22,用于根据每个组件接口对应的关联信息向服务端请求调用每个组件接口,获取每个组件接口对应的调用结果;
具体地,在请求解析模块21获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息之后,页面网关利用接口调用模块22根据每个组件接口对应的关联信息向服务端请求调用每个组件接口,获取每个组件接口对应的调用结果。可以理解的是,若目标请求有且仅存在一个对应的组件接口A,则可直接调用组件接口A获取组件接口A对应的调用结果;若目标请求存在两个对应的组件接口A和B,则需分别调用组件接口A和B获取组件接口A和B各自对应的调用结果。同时,可以理解的是,在组件接口的调用过程中,根据接口名称、接口方法和请求参数可以对具体的某个组件进行调用并获得唯一的调用结果。有鉴于此,由于本实施例中的组件接口对应的关联信息包括接口名称、接口方法和请求参数,因此本实施例中根据组件接口对应的关联信息能够有效实现组件接口的调用并获得对应的调用结果。
结果返回模块23,用于将所有组件接口各自对应的调用结果返回至客户端。
具体地,在接口调用模块22获得每个组件接口对应的调用结果之后,若目标请求有且仅存在一个对应的组件接口,页面网关则利用结果返回模块23直接将该组件接口的调用结果返回至客户端;若目标请求存在多个对应的组件接口,页面网关则需利用结果返回模块23将所有组件接口各自对应的调用结果返回至客户端。其中,结果返回模块23在将所有组件接口各自对应的调用结果返回至客户端之前,还可以先将所有组件接口各自对应的调用结果进行整合,再将整合后的调用结果返回至客户端,有利于客户端将所有调用结果同时进行渲染显示。此外,在结果返回模块23将调用结果返回至客户端的过程中,可以先将调用结果发送给客户端的视图层,再由视图层的velocity加载调用结果并在客户端页面进行渲染显示。
本发明实施例提供的基于页面网关的客户端请求处理系统,具体执行上述各请求处理方法实施例流程,具体请详见上述各请求处理方法实施例的内容,在此不再赘述。
本发明实施例提供的基于页面网关的客户端请求处理系统,页面网关接收客户端发送的请求,作为目标请求,解析目标请求获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息;根据每个组件接口对应的关联信息向服务端请求调用每个组件接口,获取每个组件接口对应的调用结果;将所有组件接口各自对应的调用结果返回至客户端。该系统通过在客户端和服务端之间加入一层轻量级的页面网关,通过页面网关接收客户端的请求并从服务端获取请求对应的结果以将结果返回至客户端,有效解除了客户端和服务端之间的耦合,有利于客户端和服务端的开发流程、测试和部署,提高了客户端和服务端的可扩展性和可维护性。
图3为本发明实施例提供的电子设备的实体结构示意图。参照图3,所述电子设备,包括:处理器(processor)31、存储器(memory)32和总线33;其中,所述处理器31和存储器32通过所述总线33完成相互间的通信;所述处理器31用于调用所述存储器32中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:接收客户端发送的请求,作为目标请求,解析目标请求获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息;根据每个组件接口对应的关联信息向服务端请求调用每个组件接口,获取每个组件接口对应的调用结果;将所有组件接口各自对应的调用结果返回至客户端。
此外,上述的存储器32中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的请求处理方法,例如包括:接收客户端发送的请求,作为目标请求,解析目标请求获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息;根据每个组件接口对应的关联信息向服务端请求调用每个组件接口,获取每个组件接口对应的调用结果;将所有组件接口各自对应的调用结果返回至客户端。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种基于页面网关的客户端请求处理方法,其特征在于,包括:
基于页面网关接收客户端发送的请求,作为目标请求,解析目标请求获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息;
基于所述页面网关根据每个组件接口对应的关联信息向服务端请求调用每个组件接口,获取每个组件接口对应的调用结果;
基于所述页面网关将所有组件接口各自对应的调用结果进行整合,将整合后的调用结果返回至客户端;
其中,所述客户端和所述服务端为Web应用的客户端和服务端;所述页面网关位于所述客户端和所述服务端之间。
2.根据权利要求1所述的方法,其特征在于,解析目标请求获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息,具体包括:
解析目标请求获得目标请求对应的请求类型;
若请求类型为页面请求,则获取目标请求对应的页面名称,根据页面名称向服务端请求获得目标请求对应的组件接口列表和组件接口列表中的每个组件接口对应的关联信息。
3.根据权利要求1所述的方法,其特征在于,解析目标请求获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息,具体包括:
解析目标请求获得目标请求对应的请求类型;
若请求类型为动作请求,则从目标请求中获取目标请求对应的组件接口和组件接口对应的关联信息。
4.根据权利要求1所述的方法,其特征在于,解析目标请求获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息,具体包括:
解析目标请求获得目标请求对应的请求类型;
若请求类型为数据请求,则从目标请求中获取目标请求对应的组件接口和组件接口对应的关联信息。
5.根据权利要求2所述的方法,其特征在于,根据每个组件接口对应的关联信息向服务端请求调用每个组件接口,获取每个组件接口对应的调用结果,具体包括:
利用线程池根据组件接口列表中的每个组件接口对应的关联信息向服务端请求异步调用每个组件接口;
采用gRPC框架获取每个组件接口对应的调用结果。
6.根据权利要求1所述的方法,其特征在于,将所有组件接口各自对应的调用结果返回至客户端,之前还包括:
将每个组件接口对应的调用结果转换为json格式。
7.根据权利要求1所述的方法,其特征在于,每个组件接口对应的关联信息包括:接口名称、接口方法和请求参数。
8.一种基于页面网关的客户端请求处理系统,其特征在于,包括:
请求解析模块,用于基于页面网关接收客户端发送的请求,作为目标请求,解析目标请求获得目标请求对应的至少一个组件接口和每个组件接口对应的关联信息;
接口调用模块,用于基于所述页面网关根据每个组件接口对应的关联信息向服务端请求调用每个组件接口,获取每个组件接口对应的调用结果;
结果返回模块,用于基于所述页面网关将所有组件接口各自对应的调用结果进行整合,将整合后的调用结果返回至客户端;
其中,所述客户端和所述服务端为Web应用的客户端和服务端;所述页面网关位于所述客户端和所述服务端之间。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至7任一所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至7任一所述的方法。
CN201811258701.XA 2018-10-26 2018-10-26 一种基于页面网关的客户端请求处理方法及系统 Active CN109634752B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811258701.XA CN109634752B (zh) 2018-10-26 2018-10-26 一种基于页面网关的客户端请求处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811258701.XA CN109634752B (zh) 2018-10-26 2018-10-26 一种基于页面网关的客户端请求处理方法及系统

Publications (2)

Publication Number Publication Date
CN109634752A CN109634752A (zh) 2019-04-16
CN109634752B true CN109634752B (zh) 2021-03-02

Family

ID=66066692

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811258701.XA Active CN109634752B (zh) 2018-10-26 2018-10-26 一种基于页面网关的客户端请求处理方法及系统

Country Status (1)

Country Link
CN (1) CN109634752B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110365751B (zh) * 2019-06-26 2020-10-27 口碑(上海)信息技术有限公司 网关系统的业务处理方法、装置及设备
CN110505208A (zh) * 2019-07-19 2019-11-26 广州迪为信息科技有限公司 一种政务服务数据的处理系统和方法
CN110557284B (zh) * 2019-08-30 2023-02-03 贝壳技术有限公司 基于客户端网关的数据聚合方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106453552A (zh) * 2016-10-11 2017-02-22 合肥思盟信息科技有限公司 一种基于互联网技术的wap页面管理系统
CN106503225A (zh) * 2016-11-04 2017-03-15 奇异牛科技(深圳)有限公司 一种碎片化需求和碎片化服务资源的整合平台及整合方法
CN107360261A (zh) * 2017-09-07 2017-11-17 北京奇艺世纪科技有限公司 一种http请求处理方法、装置及电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546810A (zh) * 2012-01-16 2012-07-04 广州市新信荟智信息产业有限公司 一种数据库的远程访问方法
CN103577597B (zh) * 2013-11-15 2017-09-29 北京奇虎科技有限公司 基于当前浏览页面的关键词搜索系统
CN104125290A (zh) * 2014-08-05 2014-10-29 奥盈琦信信息技术(上海)有限公司 实现个人大数据收集、管理和授权的系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106453552A (zh) * 2016-10-11 2017-02-22 合肥思盟信息科技有限公司 一种基于互联网技术的wap页面管理系统
CN106503225A (zh) * 2016-11-04 2017-03-15 奇异牛科技(深圳)有限公司 一种碎片化需求和碎片化服务资源的整合平台及整合方法
CN107360261A (zh) * 2017-09-07 2017-11-17 北京奇艺世纪科技有限公司 一种http请求处理方法、装置及电子设备

Also Published As

Publication number Publication date
CN109634752A (zh) 2019-04-16

Similar Documents

Publication Publication Date Title
CN109634752B (zh) 一种基于页面网关的客户端请求处理方法及系统
CN110275831B (zh) 协议接口的mock数据校验方法和装置
CN109254854A (zh) 异步调用方法、计算机装置及存储介质
US20120331110A1 (en) Methods for implementing web services and devices thereof
CN110489240A (zh) 图像识别方法、装置、云平台及存储介质
CN105068801A (zh) 修改json日期格式的方法及系统
CN112035229A (zh) 一种计算图处理方法、装置及存储介质
CN113342503B (zh) 实时进度反馈方法、装置、设备及存储介质
CN112667204B (zh) 微服务应用的数据处理方法、装置和计算机设备
CN114237594A (zh) 一种表单界面生成方法、装置、系统及可读存储介质
CN107395663B (zh) 数据获取方法及装置
CN113094612A (zh) 客户端加载网页的方法、装置、电子设备及介质
AU2018390863B2 (en) Computer system and method for extracting dynamic content from websites
CN116776030A (zh) 灰度发布方法、装置、计算机设备、存储介质
CN116668520A (zh) 一种基于网关的服务编排方法、系统、设备及存储介质
Dhand Reducing web page post backs through jquery ajax call in a trust based framework
CN114115897A (zh) 基于nodejs脚本动态生成项目本地可执行文件的方法
CN115811481A (zh) 一种交互服务测试方法、装置、计算机设备及存储介质
US20190121649A1 (en) User interface metadata from an application program interface
CN111552578B (zh) 一种第三方接口调用方法及装置
US10592388B1 (en) Methods for facilitating more efficient network message exchange and analysis and devices thereof
US20200226132A1 (en) Profile data store automation via bots
CN113361235B (zh) Html文件的生成方法、装置、电子设备及可读存储介质
CN114510501A (zh) 一种对接口数据实时处理的方法和装置
CN116860240A (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