CN114003402A - 接口数据请求方法、装置、设备及计算机可读存储介质 - Google Patents
接口数据请求方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114003402A CN114003402A CN202111173542.5A CN202111173542A CN114003402A CN 114003402 A CN114003402 A CN 114003402A CN 202111173542 A CN202111173542 A CN 202111173542A CN 114003402 A CN114003402 A CN 114003402A
- Authority
- CN
- China
- Prior art keywords
- interface
- data
- interface data
- api
- calling
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000004806 packaging method and process Methods 0.000 claims abstract description 24
- 230000006870 function Effects 0.000 claims description 16
- 238000009877 rendering Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 description 11
- 230000003993 interaction Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000000926 separation method Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种接口数据请求方法、装置、设备及计算机可读存储介质,所述接口数据请求方法应用于前端服务器,该接口数据请求方法包括以下步骤:接收前端传输的接口数据请求;解析所述接口数据请求,得到所需要调用的API接口对应的API集合、调用各API接口对应的接口调用关系参数以及返回至前端对应的数据格式;根据所述API集合和所述接口调用关系参数,获取对应的接口数据;基于所述数据格式,封装所述接口数据,并将封装后的接口数据传输至所述前端,以供所述前端基于接收到的接口数据进行渲染前端页面。本发明大大的减少了前端发送数据请求次数,减轻了前端的数据请求压力。
Description
技术领域
本发明涉及前后端交互技术领域,尤其涉及一种接口数据请求方法、装置、设备及计算机可读存储介质。
背景技术
“前后端分离”已经成为互联网项目开发的业界标杆,可以有效划分前后端任务,进行解耦。“前后端分离”的核心思想是:把数据和图视区分开,前端通过调用后端的API接口(Application Programming Interface,应用程序接口)获取接口数据,并根据接口数据进行页面渲染。
目前,前端页面渲染有两种实现方式包括:CSR模式(Client Side Rendering,客户端渲染)和SSR模式(Server Side Rendering,服务端渲染),主流的前后端分离模式为CSR模式,如图1所示的现有的CSR模式对应的前后端数据交互过程,CSR模式适合用于前后交互频繁的页面中,CSR模式在前后端交互过程中,当渲染一前端页面时,前端需要向后端发出大量的数据请求,来调用后端服务器的多个API接口才能获取到用于渲染前端页面的所有接口数据,因此这种页面渲染方式由于前端需要发出大量的数据请求才能获取到用于渲染前端页面的所有数据,因此存在前端的数据请求压力过大的问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种接口数据请求方法、装置、设备及计算机可读存储介质,旨在解决前端的数据请求压力过大的技术问题。
为实现上述目的,本发明提供一种接口数据请求方法,所述接口数据请求方法应用于前端服务器,所述接口数据请求方法包括以下步骤:
接收前端传输的接口数据请求;
解析所述接口数据请求,得到所需要调用的API接口对应的API集合、调用各API接口对应的接口调用关系参数以及返回至前端对应的数据格式;
根据所述API集合和所述接口调用关系参数,获取对应的接口数据;
基于所述数据格式,封装所述接口数据,并将封装后的接口数据传输至所述前端,以供所述前端基于接收到的接口数据进行渲染前端页面。
可选地,所述根据所述API集合和所述接口调用关系参数,获取对应的接口数据的步骤包括:
根据所述API集合和所述接口调用关系参数,依次遍历各所述API接口,确定在本地缓存中是否存在与所述API接口对应的接口数据;
若所述本地缓存中存在与所述API集合中API接口对应的接口数据,从所述本地缓存中获取所述API接口对应的第一接口数据;
若所述本地缓存中不存在与所述API集合中API接口对应的接口数据,则确定未获取到接口数据对应的目标API集合,并从后端服务器中获取所述目标API集合对应的第二接口数据,并将所述第二接口数据存储于本地缓存;
其中,所述接口数据包括从所述本地缓存中获取的所述第一接口数据或从所述后端服务器中获取的所述第二接口数据。
可选地,所述前端服务器包括并发调用接口,所述确定未获取到接口数据对应的目标API集合,并从后端服务器中获取所述目标API集合对应的第二接口数据的步骤包括:
若所述接口数据请求对应的数据调用接口为并发调用接口,则确定未获取到接口数据对应的目标API集合;
通过所述并发调用接口,从后端服务器中并行获取所述目标API集合对应的第二接口数据。
可选地,所述前端服务器包括依次调用接口,所述确定未获取到接口数据对应的目标API集合,并从后端服务器中获取所述目标API集合对应的第二接口数据的步骤包括:
若所述接口数据请求对应的数据调用接口为依次调用接口,则确定未获取到接口数据对应的目标API集合;
通过所述依次调用接口,依次从后端服务器中调用所述目标API集合中的各API接口对应的第二接口数据。
可选地,所述前端服务器包括自定义调用接口,所述从后端服务器中获取所述目标API集合对应的第二接口数据的步骤包括:
若所述接口数据请求对应的数据调用接口为自定义调用接口,则获取所述自定义调用接口对应的接口调用函数;
根据所述接口调用函数对应的接口调用顺序,从后端服务器中获取所述目标API集合对应的第二接口数据。
可选地,所述前端服务器包括POST调用清除缓存接口,所述基于所述数据格式,封装所述接口数据,并将封装后的接口数据传输至所述前端,以供所述前端基于接收到的接口数据进行渲染前端页面的步骤之后,还包括:
接收更新后台数据请求;
若所述更新后台数据请求对应的数据调用接口为POST调用清除缓存接口,则解析所述更新后台数据请求,得到所述更新后台数据请求对应的API集合以及入参数据;
通过所述POST调用清除缓存接口,根据所述更新后台数据请求对应的API集合以及入参数据,调用后台服务器中对应的目标API接口,以基于所述目标API接口调用对应的更新数据;
清除本地缓存中与所述更新数据对应的缓存数据,并将所述更新数据传输至前端,以供所述前端基于所述更新数据更新所述前端页面。
可选地,所述前端服务器包括后端数据更新通知接口,所述接口数据请求方法还包括:
若接收到后端服务器传输的接口数据更新请求,则通过所述后端数据更新通知接口,清除本地缓存中与所述接口数据更新请求对应的缓存数据,并将所述接口数据更新请求对应的接口数据更新至所述本地缓存中。
此外,为实现上述目的,本发明还提供一种接口数据请求装置,所述接口数据请求装置包括:
接收模块,用于接收前端传输的接口数据请求;
解析模块,用于解析所述接口数据请求,得到所需要调用的API接口对应的API集合、调用各API接口对应的接口调用关系参数以及返回至前端对应的数据格式;
接口数据获取模块,用于根据所述API集合和所述接口调用关系参数,获取对应的接口数据;
封装模块,用于基于所述数据格式,封装所述接口数据,并将封装后的接口数据传输至所述前端,以供所述前端基于接收到的接口数据进行渲染前端页面。
此外,为实现上述目的,本发明还提供一种接口数据请求设备,所述接口数据请求设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的接口数据请求程序,所述接口数据请求程序被所述处理器执行时实现如上述的接口数据请求方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有接口数据请求程序,所述接口数据请求程序被处理器执行时实现如上述的接口数据请求方法的步骤。
本发明通过接收前端传输的接口数据请求;解析所述接口数据请求,得到所需要调用的API接口对应的API集合、调用各API接口对应的接口调用关系参数以及返回至前端对应的数据格式;根据所述API集合和所述接口调用关系参数,获取对应的接口数据;基于所述数据格式,封装所述接口数据,并将封装后的接口数据传输至所述前端,以供所述前端基于接收到的接口数据进行渲染前端页面。本发明通过设置前端服务器介于前端和后端服务器之间,根据前端传递的API接口关系及数据格式,自动调用后端的API接口来获取接口数据再对返回的接口数据进行合并封装,最后返回给前端,也就是说,前端只需要传输一次接口数据请求,前端无需发送多次请求即可一次获取到用于渲染前端页面的接口数据,后端服务器还是可以按照功能开放API接口,前端仅仅一个接口请求就可返回自己所需要的数据,前端页面和后端服务器之间做到最大的解耦,大大的减少了前端发送数据请求次数,减轻了前端的数据请求压力。
附图说明
图1为现有的CSR模式对应的前后端数据交互过程的示意图;
图2是本发明实施例方案涉及的硬件运行环境的接口数据请求设备结构示意图;
图3为本发明接口数据请求方法第一实施例的流程示意图;
图4为本发明接口数据请求方法第二实施例的流程示意图;
图5为本发明接口数据请求方法的前后端数据交互过程的示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的接口数据请求设备结构示意图。
本发明实施例接口数据请求设备可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、便携计算机等具有显示功能的可移动式终端设备。
如图1所示,该接口数据请求设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,接口数据请求设备还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。
本领域技术人员可以理解,图1中示出的接口数据请求设备结构并不构成对接口数据请求设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及接口数据请求程序。
在图1所示的接口数据请求设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的接口数据请求程序。
在本实施例中,接口数据请求设备包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器1001上运行的接口数据请求程序,其中,处理器1001调用存储器1005中存储的接口数据请求程序时,并执行以下操作:
接收前端传输的接口数据请求;
解析所述接口数据请求,得到所需要调用的API接口对应的API集合、调用各API接口对应的接口调用关系参数以及返回至前端对应的数据格式;
根据所述API集合和所述接口调用关系参数,获取对应的接口数据;
基于所述数据格式,封装所述接口数据,并将封装后的接口数据传输至所述前端,以供所述前端基于接收到的接口数据进行渲染前端页面。
进一步地,处理器1001可以调用存储器1005中存储的接口数据请求程序,还执行以下操作:
根据所述API集合和所述接口调用关系参数,依次遍历各所述API接口,确定在本地缓存中是否存在与所述API接口对应的接口数据;
若所述本地缓存中存在与所述API集合中API接口对应的接口数据,从所述本地缓存中获取所述API接口对应的第一接口数据;
若所述本地缓存中不存在与所述API集合中API接口对应的接口数据,则确定未获取到接口数据对应的目标API集合,并从后端服务器中获取所述目标API集合对应的第二接口数据,并将所述第二接口数据存储于本地缓存;
其中,所述接口数据包括从所述本地缓存中获取的所述第一接口数据或从所述后端服务器中获取的所述第二接口数据。
进一步地,处理器1001可以调用存储器1005中存储的接口数据请求程序,还执行以下操作:
若所述接口数据请求对应的数据调用接口为并发调用接口,则确定未获取到接口数据对应的目标API集合;
通过所述并发调用接口,从后端服务器中并行获取所述目标API集合对应的第二接口数据。
进一步地,处理器1001可以调用存储器1005中存储的接口数据请求程序,还执行以下操作:
若所述接口数据请求对应的数据调用接口为依次调用接口,则确定未获取到接口数据对应的目标API集合;
通过所述依次调用接口,依次从后端服务器中调用所述目标API集合中的各API接口对应的第二接口数据。
进一步地,处理器1001可以调用存储器1005中存储的接口数据请求程序,还执行以下操作:
若所述接口数据请求对应的数据调用接口为自定义调用接口,则获取所述自定义调用接口对应的接口调用函数;
根据所述接口调用函数对应的接口调用顺序,从后端服务器中获取所述目标API集合对应的第二接口数据。
进一步地,处理器1001可以调用存储器1005中存储的接口数据请求程序,还执行以下操作:
接收更新后台数据请求;
若所述更新后台数据请求对应的数据调用接口为POST调用清除缓存接口,则解析所述更新后台数据请求,得到所述更新后台数据请求对应的API集合以及入参数据;
通过所述POST调用清除缓存接口,根据所述更新后台数据请求对应的API集合以及入参数据,调用后台服务器中对应的目标API接口,以基于所述目标API接口调用对应的更新数据;
清除本地缓存中与所述更新数据对应的缓存数据,并将所述更新数据传输至前端,以供所述前端基于所述更新数据更新所述前端页面。
进一步地,处理器1001可以调用存储器1005中存储的接口数据请求程序,还执行以下操作:
若接收到后端服务器传输的接口数据更新请求,则通过所述后端数据更新通知接口,清除本地缓存中与所述接口数据更新请求对应的缓存数据,并将所述接口数据更新请求对应的接口数据更新至所述本地缓存中。
本发明还提供一种接口数据请求方法,参照图2,图2为本发明接口数据请求方法第一实施例的流程示意图。
在本实施例中,该接口数据请求方法包括以下步骤:
步骤S10,接收前端传输的接口数据请求;
本发明提出的接口数据请求方法应用于前端服务器,前端服务器包括API合并封装模块,前端服务器设置于前端和后端服务器之间。前端服务器用于接收前端传输的接口数据请求,并根据前端传输的接口数据请求统一从后端获取接口数据,将从后端获取的接口数据统一合并封装起来,再传输给前端,以供前端根据所接收到的接口数据进行渲染前端页面。现有技术中,前端需要向后端发出大量的数据请求,来调用后端服务器中多个API接口才能获取到用于渲染前端页面的所有接口数据,因此这种页面渲染方式由于前端需要发出大量的数据请求才能获取到用于渲染前端页面的所有数据,因此存在前端的数据请求压力过大的问题。参照图5的本发明接口数据请求方法的前后端数据交互过程的示意图,本发明提出的接口数据请求方法通过设置一个前端服务器介于前端和后端服务器之间,根据前端传递的API接口关系及数据格式,自动调用后端的API接口来获取接口数据再对返回的接口数据进行合并封装,最后返回给前端,也就是说,前端只需要传输一次接口数据请求,前端无需发送多次请求即可一次获取到用于渲染前端页面的接口数据,后端服务器还是可以按照功能开放API接口,前端仅仅一个接口请求就可返回自己所需要的数据,前端页面和后端服务器之间做到最大的解耦,同时也大大的减少了前端发送数据请求次数。
进一步地,后端的API接口无需关注前端数据格式,可通过前端服务器的API合并封装模块,按前端所需要的数据格式,封装组合后端API接口返回的接口数据,这也降低了后端和前端数据命名及数据格式上的耦合。
在本实施例中,前端的浏览器需要渲染前端页面时,向前端对应的前端服务器传输接口数据请求,以使前端服务器替前端向后端服务器获取接口数据;前端服务器接收前端传输的接口数据请求,替前端向后端服务器获取接口数据。
步骤S20,解析所述接口数据请求,得到所需要调用的API接口对应的API集合、调用各API接口对应的接口调用关系参数以及返回至前端对应的数据格式;
在本实施例中,前端服务器接收到前端的接口数据请求时,对接口数据请求进行解析,所需要调用的API接口对应的API集合、调用各API接口对应的接口调用关系参数以及返回至前端对应的数据格式。前端服务器从而获取到前端所需要调用的API接口、接口调用的关系和数据的封装格式。其中,API集合包含渲染前端页面所需要调用的所有API接口的信息,因此,前端服务器根据API集合可以获悉所需要调用的所有API接口;接口调用关系参数包含调用的API接口的调用关系,因此,前端服务器根据可以根据接口调用的关系参数进行调用所需要API接口的数据;数据格式为接口数据的合并封装格式,前端服务器可以根据数据格式来对所获取到的所有接口数据进行合并封装。
步骤S30,根据所述API集合和所述接口调用关系参数,获取对应的接口数据;
在本实施例中,前端服务器在得到所需要调用的API接口对应的API集合和调用各API接口对应的接口调用关系参数后,根据API集合中的API接口和接口调用关系参数所表示的接口调用关系,获取对应的接口数据,其中,接口数据包括所需要调用API接口对应的接口数据。需要说明的是,获取接口数据的渠道包括从后端服务器中获取以及从前端服务器的本地缓存中获取两种方式,若本地缓存中能够获取到所有的接口数据,则无需从后端服务器中获取,也就是说,先从本地缓存中获取接口数据,若本地缓存中不存在对应的接口数据,则从后端服务器中调用对应的API接口进行获取。
步骤S40,基于所述数据格式,封装所述接口数据,并将封装后的接口数据传输至所述前端,以供所述前端基于接收到的接口数据进行渲染前端页面。
在本实施例中,前端服务器获取到接口数据后,根据合并封装接口数据对应的数据格式,对接口数据合并封装,并将封装后的接口数据传输至前端。前端在接收到前端服务器传输的接口数据时,根据所接收到的接口数据进行渲染前端页面,生成完整的前端页面以供前端用户浏览。
本实施例提出的接口数据请求方法,通过接收前端传输的接口数据请求;解析所述接口数据请求,得到所需要调用的API接口对应的API集合、调用各API接口对应的接口调用关系参数以及返回至前端对应的数据格式;根据所述API集合和所述接口调用关系参数,获取对应的接口数据;基于所述数据格式,封装所述接口数据,并将封装后的接口数据传输至所述前端,以供所述前端基于接收到的接口数据进行渲染前端页面。本发明通过设置前端服务器介于前端和后端服务器之间,根据前端传递的API接口关系及数据格式,自动调用后端的API接口来获取接口数据再对返回的接口数据进行合并封装,最后返回给前端,也就是说,前端只需要传输一次接口数据请求,前端无需发送多次请求即可一次获取到用于渲染前端页面的接口数据,后端服务器还是可以按照功能开放API接口,前端仅仅一个接口请求就可返回自己所需要的数据,前端页面和后端服务器之间做到最大的解耦,大大的减少了前端发送数据请求次数,减轻了前端的数据请求压力。
基于第一实施例,提出本发明方法的第二实施例,参照图3,在本实施例中,步骤S30包括:
步骤S31,根据所述API集合和所述接口调用关系参数,依次遍历各所述API接口,确定在本地缓存中是否存在与所述API接口对应的接口数据;
步骤S32,若所述本地缓存中存在与所述API集合中API接口对应的接口数据,则从所述本地缓存中获取所述API接口对应的第一接口数据;
步骤S33,若所述本地缓存中不存在与所述API集合中API接口对应的接口数据,则确定未获取到接口数据对应的目标API集合,并从后端服务器中获取所述目标API集合对应的第二接口数据,并将所述第二接口数据存储于本地缓存;
其中,所述接口数据包括从所述本地缓存中获取的所述第一接口数据或从所述后端服务器中获取的所述第二接口数据。
在本实施例中,根据接口调用关系参数,依次遍历API集合中的各API接口,确定在本地缓存中是否存在与所遍历到的API接口对应的接口数据;如果本地缓存中存在与所遍历到的API接口对应的接口数据,则从前端服务器的本地缓存中获取与所遍历到的API接口对应的第一接口数据;若本地缓存中不存在与所遍历到的API接口对应的接口数据,则收集不存在与所遍历到的API接口对应的接口数据对应的API接口,得到未获取到接口数据对应的目标API集合。之后,根据接口调用关系参数,从后端服务器中获取目标API集合对应的第二接口数据,并将第二接口数据存储于本地缓存。
例如,先查询本地缓存是否有相应API的缓存数据,如果本地缓存中没有则调用后台API接口获取数据并缓存到本地;再执行下一个API接口操作。先从缓存中获取,如没有则调用后端API接口....依次循环执行这样的操作。最后把合并封装好后的接口数据返回给前端。
本实施例通过遍历API集合中的各API接口,来确定在本地缓存中是否存在与API接口对应的接口数据,以先从本地缓存中获取接口数据,在本地缓存中不存在对应的接口数据,再从后端服务器中调用对应的API接口进行获取,使得在前端重复调用相同接口时,可直接从本地缓存中快速获取数据,减少调用后端服务器的API接口次数,能够减轻后端服务器的压力,前端请求数据的等待时间也大大的降低。
进一步地,前端服务器包括并发调用接口,所述步骤S33包括:
步骤S3301,若所述接口数据请求对应的数据调用接口为并发调用接口,则确定未获取到接口数据对应的目标API集合;
步骤S3302,通过所述并发调用接口,从后端服务器中并行获取所述目标API集合对应的第二接口数据。
在本实施例中,前端服务器的API合并封装模块对前端开放四个接口:并发调用接口、依次调用接口、自定义调用接口以及POST调用清除缓存接口。
在并发调用API接口场景下:前端通过调用API合并封装模块中并发调用接口,向前端服务器传输接口数据请求。API合并封装模块先解析接口数据请求,先查询本地缓存是否有相应API的缓存数据,如果有则直接提取相应的接口数据填充到需要返回数据中,剩下的API集合,则前端服务器向后端服务器的后端API接口发起并发请求,以从后端服务器的后端API中获取相应的第二接口数据。得到第二接口数据后可以先存到本地缓存中。再根据返回的数据格式,提取第二接口数据进行填充。最后把填充好后的数据返回给前端页面。
本实施例可以实现前端在并发场景下通过前端服务器从后端服务器中获取接口数据,使得可以减轻了前端在并发场景下请求数据的次数,能够减轻前端的请求压力,以及通过在并发获取接口数据进一步减少前端请求数据的等待时间。
进一步地,所述前端服务器包括依次调用接口,所述步骤S33包括:
步骤S3311,若所述接口数据请求对应的数据调用接口为依次调用接口,则确定未获取到接口数据对应的目标API集合;
步骤S3312,通过所述依次调用接口,依次从后端服务器中调用所述目标API集合中的各API接口对应的第二接口数据。
在本实施例中,在依次调用API接口场景下:前端通过调用前端服务器的API合并封装模块中的依次调用接口,对于未获取到接口数据对应的目标API集合中的各个API接口,依次对目标API集合中的各个API接口依次操作,依次从后端服务器中调用与目标API集合中的各API接口对应的第二接口数据。
进一步地,所述前端服务器包括自定义调用接口,所述步骤S33包括:
步骤S3321,若所述接口数据请求对应的数据调用接口为自定义调用接口,则获取所述自定义调用接口对应的接口调用函数;
步骤S3322,根据所述接口调用函数对应的接口调用顺序,从后端服务器中获取所述目标API集合对应的第二接口数据。
在本实施例中,在自定义调用API接口场景:若前端调用了前端服务器API合并封装模块中的自定义调用接口,则获取自定义调用接口对应的接口调用函数;根据接口调用函数对应的接口调用顺序,从后端服务器中调用与目标API集合中的各API接口对应的第二接口数据。
本实施例中,还可以通过自定义接口所自定义进行调用后端服务器的后端API的接口数据,也就是说,提供了一个自定义的接口供用户设置接口的调用关系,提升了接口数据请求的多样性。
进一步地,所述前端服务器包括POST调用清除缓存接口,所述步骤S40之后,还包括:
步骤S50,接收所述前端传输的更新后台数据请求;
步骤S60,若所述更新后台数据请求对应的数据调用接口为POST调用清除缓存接口,则解析所述更新后台数据请求,得到所述更新后台数据请求对应的API集合以及入参数据;
步骤S70,通过所述POST调用清除缓存接口,根据所述更新后台数据请求对应的API集合以及入参数据,调用后台服务器中对应的目标API接口,以基于所述目标API接口调用对应的更新数据;
步骤S80,清除本地缓存中与所述更新数据对应的缓存数据,并将所述更新数据传输至前端,以供所述前端基于所述更新数据更新所述前端页面。
在本实施例中,在POST调用清除缓存接口场景:前端页面需要新增、修改、删除等更新后台数据的时候,可以通过调用API合并封装模块中的POST调用清除缓存接口来实现。具体地,前端服务器在接收到前端传输的更新后台数据请求,解析更新后台数据请求,得到更新后台数据请求对应的API集合以及入参数据,即前端向前端服务器提交后端API接口及其入参数据。API合并封装模块会先根据提交的API接口及其入参数据调用后端API接口,后端处理成功并返回后,API合并封装模块再把缓存中相应的API接口数据清空,以便下次调用这些数据的时候可以从后端获取到新的数据。
进一步地,所述前端服务器包括后端数据更新通知接口,所述接口数据请求方法还包括:
若接收到后端服务器传输的接口数据更新请求,则通过所述后端数据更新通知接口,清除本地缓存中与所述接口数据更新请求对应的缓存数据,并将所述接口数据更新请求对应的接口数据更新至所述本地缓存中。
在本实施例中,除此之外,前端服务器还包括后端数据更新通知接口,在后端有服务器有改造能力的情况下,可以和前端服务器端的API合并封装模块对接开发一个后端数据更新通知接口,如果后端服务器有相应API接口数据被更新,则可以通知给API合并封装模块,API合并封装模块可删除相应API接口缓存。
本实施例提出的接口数据请求方法,通过根据所述API集合和所述接口调用关系参数,依次遍历各所述API接口,确定在本地缓存中是否存在与所述API接口对应的接口数据;若所述本地缓存中存在与所述API集合中API接口对应的接口数据,从所述本地缓存中获取所述API接口对应的第一接口数据;若所述本地缓存中不存在与所述API集合中API接口对应的接口数据,则确定未获取到接口数据对应的目标API集合,并从后端服务器中获取所述目标API集合对应的第二接口数据,并将所述第二接口数据存储于本地缓存。本实施例通过遍历API集合中的各API接口,来确定在本地缓存中是否存在与API接口对应的接口数据,以先从本地缓存中获取接口数据,在本地缓存中不存在对应的接口数据,再从后端服务器中调用对应的API接口进行获取,使得在前端重复调用相同接口时,可直接从本地缓存中快速获取数据,减少调用后端服务器的API接口次数,能够减轻后端服务器的压力,前端请求数据的等待时间也大大的降低。
此外,本发明实施例还提出一种接口数据请求装置,所述接口数据请求装置包括:
接收模块,用于接收前端传输的接口数据请求;
解析模块,用于解析所述接口数据请求,得到所需要调用的API接口对应的API集合、调用各API接口对应的接口调用关系参数以及返回至前端对应的数据格式;
接口数据获取模块,用于根据所述API集合和所述接口调用关系参数,获取对应的接口数据;
封装模块,用于基于所述数据格式,封装所述接口数据,并将封装后的接口数据传输至所述前端,以供所述前端基于接收到的接口数据进行渲染前端页面。
进一步地,所述接口数据获取模块,还用于:
根据所述API集合和所述接口调用关系参数,依次遍历各所述API接口,确定在本地缓存中是否存在与所述API接口对应的接口数据;
若所述本地缓存中存在与所述API集合中API接口对应的接口数据,从所述本地缓存中获取所述API接口对应的第一接口数据;
若所述本地缓存中不存在与所述API集合中API接口对应的接口数据,则确定未获取到接口数据对应的目标API集合,并从后端服务器中获取所述目标API集合对应的第二接口数据,并将所述第二接口数据存储于本地缓存;
其中,所述接口数据包括从所述本地缓存中获取的所述第一接口数据或从所述后端服务器中获取的所述第二接口数据。
进一步地,所述前端服务器包括并发调用接口,所述接口数据获取模块,还用于:
若所述接口数据请求对应的数据调用接口为并发调用接口,则确定未获取到接口数据对应的目标API集合;
通过所述并发调用接口,从后端服务器中并行获取所述目标API集合对应的第二接口数据。
进一步地,所述前端服务器包括依次调用接口,所述接口数据获取模块,还用于:
若所述接口数据请求对应的数据调用接口为依次调用接口,则确定未获取到接口数据对应的目标API集合;
通过所述依次调用接口,依次从后端服务器中调用所述目标API集合中的各API接口对应的第二接口数据。
进一步地,所述前端服务器包括自定义调用接口,所述接口数据获取模块,还用于:
若所述接口数据请求对应的数据调用接口为自定义调用接口,则获取所述自定义调用接口对应的接口调用函数;
根据所述接口调用函数对应的接口调用顺序,从后端服务器中获取所述目标API集合对应的第二接口数据。
进一步地,所述前端服务器包括POST调用清除缓存接口,所述接口数据请求装置还包括:
更新请求接收模块,用于接收更新后台数据请求;
更新请求解析模块,用于若所述更新后台数据请求对应的数据调用接口为POST调用清除缓存接口,则解析所述更新后台数据请求,得到所述更新后台数据请求对应的API集合以及入参数据;
更新数据调用模块,用于通过所述POST调用清除缓存接口,根据所述更新后台数据请求对应的API集合以及入参数据,调用后台服务器中对应的目标API接口,以基于所述目标API接口调用对应的更新数据;
清除模块,用于清除本地缓存中与所述更新数据对应的缓存数据,并将所述更新数据传输至前端,以供所述前端基于所述更新数据更新所述前端页面。
进一步地,所述前端服务器包括后端数据更新通知接口,所述接口数据请求装置还包括:
接口数据更新模块,用于若接收到后端服务器传输的接口数据更新请求,则通过所述后端数据更新通知接口,清除本地缓存中与所述接口数据更新请求对应的缓存数据,并将所述接口数据更新请求对应的接口数据更新至所述本地缓存中。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有接口数据请求程序,所述接口数据请求程序被处理器执行时实现如上述中任一项所述的接口数据请求方法的步骤。
本发明计算机可读存储介质具体实施例与上述接口数据请求方法的各实施例基本相同,在此不再详细赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种接口数据请求方法,其特征在于,所述接口数据请求方法应用于前端服务器,所述接口数据请求方法包括以下步骤:
接收前端传输的接口数据请求;
解析所述接口数据请求,得到所需要调用的API接口对应的API集合、调用各API接口对应的接口调用关系参数以及返回至前端对应的数据格式;
根据所述API集合和所述接口调用关系参数,获取对应的接口数据;
基于所述数据格式,封装所述接口数据,并将封装后的接口数据传输至所述前端,以供所述前端基于接收到的接口数据进行渲染前端页面。
2.如权利要求1所述的接口数据请求方法,其特征在于,所述根据所述API集合和所述接口调用关系参数,获取对应的接口数据的步骤包括:
根据所述API集合和所述接口调用关系参数,依次遍历各所述API接口,确定在本地缓存中是否存在与所述API接口对应的接口数据;
若所述本地缓存中存在与所述API集合中API接口对应的接口数据,从所述本地缓存中获取所述API接口对应的第一接口数据;
若所述本地缓存中不存在与所述API集合中API接口对应的接口数据,则确定未获取到接口数据对应的目标API集合,并从后端服务器中获取所述目标API集合对应的第二接口数据,并将所述第二接口数据存储于本地缓存;
其中,所述接口数据包括从所述本地缓存中获取的所述第一接口数据或从所述后端服务器中获取的所述第二接口数据。
3.如权利要求2所述的接口数据请求方法,其特征在于,所述前端服务器包括并发调用接口,所述确定未获取到接口数据对应的目标API集合,并从后端服务器中获取所述目标API集合对应的第二接口数据的步骤包括:
若所述接口数据请求对应的数据调用接口为并发调用接口,则确定未获取到接口数据对应的目标API集合;
通过所述并发调用接口,从后端服务器中并行获取所述目标API集合对应的第二接口数据。
4.如权利要求2所述的接口数据请求方法,其特征在于,所述前端服务器包括依次调用接口,所述确定未获取到接口数据对应的目标API集合,并从后端服务器中获取所述目标API集合对应的第二接口数据的步骤包括:
若所述接口数据请求对应的数据调用接口为依次调用接口,则确定未获取到接口数据对应的目标API集合;
通过所述依次调用接口,依次从后端服务器中调用所述目标API集合中的各API接口对应的第二接口数据。
5.如权利要求2所述的接口数据请求方法,其特征在于,所述前端服务器包括自定义调用接口,所述从后端服务器中获取所述目标API集合对应的第二接口数据的步骤包括:
若所述接口数据请求对应的数据调用接口为自定义调用接口,则获取所述自定义调用接口对应的接口调用函数;
根据所述接口调用函数对应的接口调用顺序,从后端服务器中获取所述目标API集合对应的第二接口数据。
6.如权利要求1所述的接口数据请求方法,其特征在于,所述前端服务器包括POST调用清除缓存接口,所述基于所述数据格式,封装所述接口数据,并将封装后的接口数据传输至所述前端,以供所述前端基于接收到的接口数据进行渲染前端页面的步骤之后,还包括:
接收更新后台数据请求;
若所述更新后台数据请求对应的数据调用接口为POST调用清除缓存接口,则解析所述更新后台数据请求,得到所述更新后台数据请求对应的API集合以及入参数据;
通过所述POST调用清除缓存接口,根据所述更新后台数据请求对应的API集合以及入参数据,调用后台服务器中对应的目标API接口,以基于所述目标API接口调用对应的更新数据;
清除本地缓存中与所述更新数据对应的缓存数据,并将所述更新数据传输至前端,以供所述前端基于所述更新数据更新所述前端页面。
7.如权利要求1至6任一项所述的接口数据请求方法,其特征在于,所述前端服务器包括后端数据更新通知接口,所述接口数据请求方法还包括:
若接收到后端服务器传输的接口数据更新请求,则通过所述后端数据更新通知接口,清除本地缓存中与所述接口数据更新请求对应的缓存数据,并将所述接口数据更新请求对应的接口数据更新至所述本地缓存中。
8.一种接口数据请求装置,其特征在于,所述接口数据请求装置包括:
接收模块,用于接收前端传输的接口数据请求;
解析模块,用于解析所述接口数据请求,得到所需要调用的API接口对应的API集合、调用各API接口对应的接口调用关系参数以及返回至前端对应的数据格式;
接口数据获取模块,用于根据所述API集合和所述接口调用关系参数,获取对应的接口数据;
封装模块,用于基于所述数据格式,封装所述接口数据,并将封装后的接口数据传输至所述前端,以供所述前端基于接收到的接口数据进行渲染前端页面。
9.一种接口数据请求设备,其特征在于,所述接口数据请求设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的接口数据请求程序,所述接口数据请求程序被所述处理器执行时实现如权利要求1至7中任一项所述的接口数据请求方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有接口数据请求程序,所述接口数据请求程序被处理器执行时实现如权利要求1至7中任一项所述的接口数据请求方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111173542.5A CN114003402A (zh) | 2021-10-08 | 2021-10-08 | 接口数据请求方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111173542.5A CN114003402A (zh) | 2021-10-08 | 2021-10-08 | 接口数据请求方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114003402A true CN114003402A (zh) | 2022-02-01 |
Family
ID=79922356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111173542.5A Pending CN114003402A (zh) | 2021-10-08 | 2021-10-08 | 接口数据请求方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114003402A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115454675A (zh) * | 2022-09-21 | 2022-12-09 | 企查查科技有限公司 | 数据处理方法、装置、设备和计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130074151A1 (en) * | 2010-06-10 | 2013-03-21 | Alibaba Group Holding Limited | Online Business Method, System and Apparatus Based on Open Application Programming Interface |
CN110457143A (zh) * | 2019-07-25 | 2019-11-15 | 腾讯科技(深圳)有限公司 | 微服务的调用方法及装置 |
CN112328939A (zh) * | 2020-11-16 | 2021-02-05 | 北京沃东天骏信息技术有限公司 | 页面处理方法、装置及存储介质 |
CN113343088A (zh) * | 2021-06-09 | 2021-09-03 | 北京奇艺世纪科技有限公司 | 数据处理方法、系统、装置、设备及存储介质 |
-
2021
- 2021-10-08 CN CN202111173542.5A patent/CN114003402A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130074151A1 (en) * | 2010-06-10 | 2013-03-21 | Alibaba Group Holding Limited | Online Business Method, System and Apparatus Based on Open Application Programming Interface |
CN110457143A (zh) * | 2019-07-25 | 2019-11-15 | 腾讯科技(深圳)有限公司 | 微服务的调用方法及装置 |
CN112328939A (zh) * | 2020-11-16 | 2021-02-05 | 北京沃东天骏信息技术有限公司 | 页面处理方法、装置及存储介质 |
CN113343088A (zh) * | 2021-06-09 | 2021-09-03 | 北京奇艺世纪科技有限公司 | 数据处理方法、系统、装置、设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115454675A (zh) * | 2022-09-21 | 2022-12-09 | 企查查科技有限公司 | 数据处理方法、装置、设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8549471B2 (en) | Method and apparatus for providing API service and making API mash-up, and computer readable recording medium thereof | |
US20080151058A1 (en) | Method for Acquiring Video Data by Using Camera Mobile Phone as Computer Camera | |
CN106453572B (zh) | 基于云服务器同步图像的方法及系统 | |
CN102833186B (zh) | 信息传输方法、装置、系统及终端 | |
CN111314646B (zh) | 图像获取方法、图像获取装置、终端设备及可读存储介质 | |
CN104516885A (zh) | 浏览程序双内核组件的实现方法及装置 | |
WO2019105093A1 (zh) | 数据封装、处理方法、装置及电子设备 | |
CN105515887B (zh) | 应用测试方法、服务器及系统 | |
WO2023005711A1 (zh) | 一种服务的推荐方法及电子设备 | |
CN114138139A (zh) | 应用程序卡片的管理方法、电子设备、产品及介质 | |
CN114003402A (zh) | 接口数据请求方法、装置、设备及计算机可读存储介质 | |
CN108959393B (zh) | 动态图片处理方法、装置及存储介质 | |
CN110505253B (zh) | 一种请求网页信息的方法、装置及存储介质 | |
CN111159615A (zh) | 网页处理方法和装置 | |
WO2011104698A2 (en) | Method and apparatus providing for control of a content capturing device with a requesting device to thereby capture a desired content segment | |
CN107707602B (zh) | 数据通信处理终端、方法及计算机可读存储介质 | |
US20140085486A1 (en) | Information processing terminal, information processing method, and apparatus control system | |
CN110958360A (zh) | 图片分享方法、移动终端及计算机可读存储介质 | |
CN107679063B (zh) | 图片显示方法、服务器和计算机可读存储介质 | |
CN112732457B (zh) | 图像传输方法、装置、电子设备和计算机可读介质 | |
CN113018849A (zh) | 游戏互动方法以及相关装置、设备 | |
CN112214712A (zh) | 一种浏览器的自动切换方法、装置、存储介质及电子设备 | |
CN112615973A (zh) | 一种图片显示方法、装置、服务器和计算机可读存储介质 | |
KR101503746B1 (ko) | 이미지 리소스 관리 장치 및 방법 | |
EP4328726A1 (en) | Video generation method and apparatus, and electronic device and storage medium |
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 |