CN109842610A - 接口请求处理方法、装置、计算机设备及存储介质 - Google Patents
接口请求处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109842610A CN109842610A CN201811528184.3A CN201811528184A CN109842610A CN 109842610 A CN109842610 A CN 109842610A CN 201811528184 A CN201811528184 A CN 201811528184A CN 109842610 A CN109842610 A CN 109842610A
- Authority
- CN
- China
- Prior art keywords
- interface
- mark
- data
- base
- valid
- 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.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种接口请求处理方法、装置、计算机设备及存储介质,所述方法包括:在检测到的接口访问请求时,获取该访问请求中包含的基础接口标识,并对基础接口标识进行有效性验证,得到验证结果,当验证结果为该基础接口标识为有效接口标识,则从预设的缓存空间中读取该基础接口标识对应的缓存数据,作为目标缓存数据,进而加载目标缓存数据,使得基础接口标识对应的缓存数据被显示到应用程序的界面上,这种直接从本地读取接口数据的方式,避免了频繁通过向服务端发送网络请求获取接口数据,减少了网络接口访问与网络传输,提高了应用程序的响应速度,使得应用程序的使用性能得到优化。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种接口请求处理方法、装置、计算机设备及存储介质。
背景技术
随着计算机技术的飞速发展和人们生活水平的日益提高,越来越多的应用程序(Application,APP)被开发使用,在一个应用程序上,往往会添加各种各样的功能,这给人们的生活带来了极大便利,其中,应用程序包括PC端的应用程序和移动端的应用程序。
但是,随着应用程序功能的增加,在人们使用这些功能时,需要频繁对服务端发送接口调用请求,这使得服务器压力较大,同时,频繁访问网络,也使得应用程序的响应时间较长,降低了应用程序的响应速度和使用性能。
发明内容
本发明实施例提供一种接口请求处理方法、装置、计算机设备和存储介质,以解决当前应用程序频繁访问网络接口导致的响应速度慢和使用性能低的问题。
一种接口请求处理方法,包括:
若检测到接口访问请求,则获取所述接口访问请求中包含的基础接口标识,其中,所述基础接口标识包含至少一个子接口标识;
对所述基础接口标识进行有效性验证,得到验证结果,其中,所述有效性验证用于验证所述基础接口标识是否为有效接口标识,所述有效接口标识对应的接口数据被预先缓存在预设的缓存空间中;
若所述验证结果为所述基础接口标识为有效接口标识,则从所述预设的缓存空间中,读取所述基础接口标识包含的每个所述子接口标识对应的接口数据,并将读取的每个所述接口数据均作为一个目标缓存数据;
按照所述子接口标识的预设优先级从高到低的顺序,并采用多线程的方式,加载所述子接口标识对应的目标缓存数据,使得所述目标缓存数据被显示到应用程序的界面上。
一种接口请求处理装置,包括:
获取模块,用于若检测到接口访问请求,则获取所述接口访问请求中包含的基础接口标识,其中,所述基础接口标识包含至少一个子接口标识;
验证模块,用于对所述基础接口标识进行有效性验证,得到验证结果,其中,所述有效性验证用于验证所述基础接口标识是否为有效接口标识,所述有效接口标识对应的接口数据被预先缓存在预设的缓存空间中;
读取模块,用于若所述验证结果为所述基础接口标识为有效接口标识,则从所述预设的缓存空间中,读取所述基础接口标识包含的每个所述子接口标识对应的接口数据,并将读取的每个所述接口数据均作为一个目标缓存数据;
加载模块,用于按照所述子接口标识的预设优先级从高到低的顺序,并采用多线程的方式,加载所述子接口标识对应的目标缓存数据,使得所述目标缓存数据被显示到应用程序的界面上。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述接口请求处理方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述接口请求处理方法的步骤。
本发明实施例提供的接口请求处理方法、装置、计算机设备及存储介质,在检测到的接口访问请求时,获取该访问请求中包含的基础接口标识,并对基础接口标识进行有效性验证,得到验证结果,其中,有效性验证用于验证基础接口标识是否为有效接口标识,有效接口标识对应的接口数据被缓存在预设的缓存空间中,当验证结果为该基础接口标识为有效接口标识,则从本地预设的缓存空间中读取该基础接口标识中每个子接口标识对应的缓存数据,作为目标缓存数据,并根据每个子接口标识对应的优先级从高到低的顺序,加载子接口标识对应的目标缓存数据,使得基础接口标识对应的缓存数据被显示到应用程序的界面上,这种直接从本地读取接口数据的方式,避免了频繁通过向服务端发送网络请求获取接口数据,减少了网络接口访问与网络传输,提高了应用程序的响应速度,使得应用程序的使用性能得到优化。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的接口请求处理方法的应用环境示意图;
图2是本发明实施例提供的接口请求处理方法的实现流程图;
图3是本发明实施例提供的接口请求处理方法中步骤S20的实现流程图;
图4是本发明实施例提供的接口请求处理方法中验证结果为基础接口标识不是有效接口标识时对接口访问请求的处理的实现流程图;
图5是本发明实施例提供的接口请求处理方法中对接口信息进行部署的实现流程图;
图6是本发明实施例提供的接口请求处理方法中对有效接口对应的截止时间进行更新的实现流程图;
图7是本发明实施例提供的接口请求处理装置的示意图;
图8是本发明实施例提供的计算机设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1示出本发明实施例提供的接口请求处理方法的应用环境。该接口请求处理方法应用在运用程序的接口请求处理场景中。该接口请求处理场景包括客户端和服务端,其中,客户端和服务端之间通过网络进行连接,客户端上安装有应用程序,并为应用程序提供网络连接服务,服务端上装载有可供应用程序使用的接口数据信息。客户端具体可以但不限于是手机、平板电脑、个人计算机(Personal Computer,PC)和可穿戴式智能终端设备等,服务端具体可以用独立的服务器或者多个服务器组成的服务器集群实现。
请参阅图2,图2示出本发明实施例提供的一种接口请求处理方法,以该方法应用在图1中的客户端为例进行说明,详述如下:
S10:若检测到接口访问请求,则获取接口访问请求中包含的基础接口标识,其中,所述基础接口标识包含至少一个子接口标识。
具体地,安装在客户端的应用程序在达到预设的触发条件后,会触发接口访问请求,客户端在检测到接口访问请求时,获取接口访问请求中包含的基础接口标识。
其中,预设的触发条件可以是在启动应用程序时自动触发,也可以是在检测到用户在相应位置的点击操作后被动触发,具体可根据实际需要进行设置,此处不作具体限制。
其中,基础接口标识是指接口访问请求包含的应用程序编程接口的标识,该标识用以区分不同的应用程序编程接口,应用程序编程接口(Application ProgrammingInterface,API),是一些预先定义的函数程序,目的是提供应用程序基于手智能设备的软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节,每个基础接口标识可包括一个或多个子接口标识,每个子接口标识对应一个或多个预先定义的函数程序。
例如,在一具体实施方式中,用户在启动一应用程序平安普惠APP后,自动触发该应用程序中平安i贷的业务推荐的接口访问请求,该接口访问请求中包含的基础接口标识为iDaiServiceImpl。
S20:对基础接口标识进行有效性验证,得到验证结果,其中,有效性验证用于验证基础接口标识是否为有效接口标识,有效接口标识对应的接口数据被缓存在预设的缓存空间中。
具体地,通过对步骤S10中得到的基础接口标识进行有效性验证,来确认该基础接口标识是否为有效接口标识,在本实施例中,有效接口标识对应的接口数据被缓存在预设的缓存空间中,当该基础接口标识具有有效性时,也即该基础接口标识为有效接口标识时,可执行后续步骤,从预设的缓存空间中对该基础接口对应的接口数据进行读取。
其中,有效性验证是用于验证基础接口标识是否为有效接口标识,其实现方法,可以是在预设的有效接口标识清单进行查找该基础接口标识,也可以是通过网络与服务端进行验证,具体可依据实际情况进行设置,此处不做限定。
其中,预设的缓存空间是用于存储接口的缓存数据,其具体包括但不限于:预设的文件夹、指定的盘符和可进行临时缓存的数据库文件等,具体可根据实际情况进行确定,此处不作具体限制。
优选地,本实施例采用在本地预设的有效接口标识清单进行查找该基础接口标识的方式,来判断基础接口标识是否为有效接口标识。
例如,在一具体实施方式中,基础接口标识为iDaiServiceImpl,从本地预设的有效接口标识清单中,采用字符串比对的方式,对该基础接口标识与有效接口标识清单的字符串标识进行逐一比对操作,当找到与“iDaiServiceImpl”具有完全相同的字符串的有效接口标识时,确定该基础接口标识为有效接口标识,终止字符串的比对操作,若在有效接口标识清单中找不到与“iDaiServiceImpl”具有完全相同的字符串的有效接口标识,则确认该基础接口标识不具有有效性,即不属于有效接口标识。
S30:若验证结果为基础接口标识为有效接口标识,则从预设的缓存空间中读取基础接口标识包含的每个子接口标识对应的接口数据,并将读取的每个接口数据均作为一个目标缓存数据。
具体地,在验证结果为基础接口标识为有效接口标识时,从预设的缓存空间中读取与该基础接口标识相同的有效接口标识包括的子接口标识对应的接口数据,并将该每个接口数据均作为一个目标缓存数据。
其中,预设的缓存空间中存储的接口数据是一种缓存数据,在预设的缓存空间中存储有一个或多个缓存数据,缓存数据是指在存储在硬盘内部的高速存储器的数据,在手机或电脑等智能设备中,缓存就像一块缓冲器一样将一些数据暂时性的保存起来以供读取和再读取,对于数据量多的接口数据,通过缓存在硬盘来存取这些零散文件具有很大的优势。
其中,从预设的缓存空间中读取接口数据,是采用缓存文件读取的方式,缓存文件用于存放缓存数据,具体可以是通过创建临时数组和结果数组,读取缓存文件的缓存数据中的字节型数据,并写入到临时数组,当临时数组空间存满时,将临时数组中的字节型数据写入到结果数组并重置临时数组,同时在每次将字节型数据写入结果数组时,对结果数组进行扩容,以便持续将缓存数据写入到结果数组,从而实现读取缓存文件中的数据,该方式无需对临时数组和结果数组的初始容量进行设定;也可以是通过创建临时数组,并使用构造函数StringBuffer()来绑定该临时数组,实现对临时数组的自动扩容,以便持续将缓存文件中的字节型数据写入到临时数组中,从而实现读取缓存文件中的数据,该方式需要对临时数组的初始容量进行设置。
值得说明的是,在本实施例中,缓存数据仅可被调用,而不会随着应用程序的运行而增加额外的数据,也即,缓存的接口数据的容量大小不会随意变化,可快速确定缓存的接口数据的最小容量,因此,作为一种优选方式,本实施例采用的缓存文件读取的方式为创建临时数组,并使用构造函数StringBuffer()来绑定该临时数组的方式,该方式缓存文件读取效率远高于使用临时数组和结果数组的方式,提高了接口数据的读取效率。
例如,在一具体实施方式中,缓存了三个接口数据,其大小分别为215千字节、152千字节和310千字节,可创建一个初始容量为152字节的临时数据,并使用构造函数StringBuffer()来绑定该临时数组,并进行缓存文件的读取。
S40:按照所述子接口标识的预设优先级从高到低的顺序,并采用多线程的方式,加载子接口标识对应的目标缓存数据,使得目标缓存数据被显示到应用程序的界面上。
具体地,在基础接口标识包含两个或两个以上的子接口标识时,每个子接口标识预先设置有优先级,通过多线程的方式,优先对优先级高的多个子接口对应的目标缓存数据进行加载,在优先级高的子接口对应的目标缓存数据加载完毕后,加载优先级低的子接口标识对应的目标缓存数据,使得子接口标识对应的目标缓存数据被优先加载显示,再所有子接口标识对应的目标缓存数据加载完成后,即可实现基础接口标识对应的缓存数据被显示到应用程序的界面上。
其中,多线程是指同时使用多个并列的线程对任务进行处理,线程数量根据实际情况进行设置,处理过程中将加载任务添加到队列,然后在创建线程后自动启动这些任务,每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管中空闲,则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅助线程但线程的数目永远不会超过最大值。超过最大值的线程可以排队,但他们要等到其他线程完成后才启动。
其中,具体的加载方式可依据实际情况而定,此处不做具体限制,例如,目标缓存数据为一张带有超链接的图像,可先使用图像绘制技术,将该图像显示在应用程序的界面上,并将超链接与图像的地址进行绑定,即可用户在点击应用程序界面的图像后,自动跳转到该超链接对应的页面。
在本实施例中,在检测到的接口访问请求时,获取该访问请求中包含的基础接口标识,并对基础接口标识进行有效性验证,得到验证结果,其中,有效性验证用于验证基础接口标识是否为有效接口标识,有效接口标识对应的接口数据被缓存在本地预设的缓存空间中,当验证结果为该基础接口标识为有效接口标识,则从预设的缓存空间中读取该基础接口标识对应的缓存数据,作为目标缓存数据,进而加载目标缓存数据,使得基础接口标识对应的缓存数据被显示到应用程序的界面上,这种直接从本地读取接口数据的方式,避免了频繁通过向服务端发送网络请求获取接口数据,减少了网络接口访问与网络传输,提高了应用程序的响应速度,使得应用程序的使用性能得到优化。
在图2对应的实施例的基础之上,下面通过一个具体的实施例来对步骤S20中所提及的对基础接口标识进行有效性验证,得到验证结果的具体实现方法进行详细说明。
请参阅图3,图3示出了本发明实施例提供的步骤S20的具体实现流程,详述如下:
S21:查询基础接口标识是否存在于预设的白名单中,其中,白名单包括有效接口标识和有效接口标识对应的截止时间。
具体地,通过对预设的白名单中的有效接口标识进行遍历查询操作,来确定基础接口标识是否存在于预设的白名单中。
其中,白名单记载有应用程序中需要进行缓存接口数据的有效接口标识,以及该有效接口标识对应的截止时间,该截止时间用于界定有效接口标识对应的接口数据的缓存使用的最后期限。
其中,遍历(Traversal)是指对白名单中的有效接口标识的节点树中所有结点的信息的访问,即依次对节点树中每个结点访问一次且仅访问一次。遍历方式包括但不限于:前序遍历、中序遍历和后序遍历等。
优选地,本发明实施例使用的遍历方式为前序遍历,前序遍历的顺序包括NLR或NRL,其中N是指根(Node),L是指根的左节点(Left subtree),R是指根的右节点(Rightsubtree)。
值得说明的是,本步骤中的遍历查询操作,目的是从白名单中的有效接口标识中,找出与基础接口标识相同的有效接口标识,而在预设的白名单中,每个有效接口标识仅出现一次,因而,本发明实施例提供一种优选方案,即在预设的白名单中的有效接口标识中,找到一个与基础接口标识相同的有效接口标识,即结束本次遍历,并确认遍历查询结果为该基础接口标识存在于预设的白名单中。
S22:若白名单包括与基础接口标识相同的有效接口标识,则获取该有效接口标识对应的截止时间,作为对比时间。
具体地,在步骤S21中查询结果为白名单包括与基础接口标识相同的有效接口标识时,需要进一步对有效接口标识对应的截止时间进行验证,此时,获取该有效接口标识对应的截止时间,作为对比时间。
其中,截止时间是指该有效接口标识对应的接口数据缓存的可以使用的最后期限。
例如,在一具体实施方式中,在白名单中,获取到与基础接口标识“iDaiServiceImpl”相同的有效接口标识,该有效接口标识对应的截止时间为“2018-9-8”,即在2018年9月9日之前,该有效接口标识对应的接口数据缓存都可以被调用。
S23:获取当前时间,并将当前时间与对比时间进行比较,若对比时间超过当前时间,则确认对比时间具有时效性,否则,确认对比时间不具有时效性。
具体地,在得到对比时间后,通过date()或者datetime()函数,提取当前时间,进而通过时间比较的方式,对当前时间与对比时间进行比较,确定对比时间是否具有时效性,易理解,在对比时间超过当前时间时,说明还未到达截止时间,即对比时间具有时效性,反之,则不具备时效性。
其中,时间比较的方式,具体实现过程可以是:通过split()函数对当前时间和对比时间进行分割,得到当前时间的年月日和对比时间的年月日,进而依次将当前时间和对比时间的年、月、日进行比较,得到比较结果。
例如,在一具体实施方式中,对比时间为“2018-9-8”,当前时间为“2018-9-7”,通过split()函数进行分割后,得到对比时间的年“2018”、月“9”和日“8”,得到当前时间的年“2018”、月“9”和日“7”,经过对比发现,当前时间和对比时间的年月是一样的,而当前时间的日在对比时间的日之前,因而,确定当前时间在对比时间之前,也即,确认对比时间具有时效性。
值得说明的是,本实施例中,在当前时间与对比时间相同时,判定对比时间具有时效性。
S24:若对比时间具有时效性,则确认验证结果为基础接口标识为有效接口标识。
具体地,在确定对比时间具有时效性时,将基础接口标识为有效接口标识作为最终的验证结果。
在本实施例中,通过查询基础接口标识是否存在于预设的白名单中,并在白名单包括与基础接口标识相同的有效接口标识时,获取该有效接口标识对应的截止时间,作为对比时间,进而获取当前时间,将当前时间与对比时间进行比较,如果对比时间超过当前时间,则确认对比时间具有时效性,此时,可确认验证结果为为基础接口标识为有效接口标识,通过对白名单和截止时间的验证,将存在于白名单且处于截止时间之前的基础接口标识,确认基础接口标识具有有效性,使得对于有效性的判断更为准确,有利于后续进行缓存的接口数据的读取。
在图3对应的实施例的基础之上,该接口请求处理方法还包括在对比时间不具有时效性或白名单不包括与基础接口标识相同的有效接口标识时,针对接口访问请求的处理。
请参阅图4,图4示出了本发明实施例提供的在对比时间不具有时效性或白名单不包括与基础接口标识相同的有效接口标识时,针对接口访问请求的处理的具体实现流程,详述如下:
S51:向服务端发送基础接口标识对应的接口信息的获取请求。
具体地,在对比时间不具有时效性或白名单不包括与基础接口标识相同的有效接口标识时,需要从服务端获取相应的接口信息,因而,客户端通过向服务端发送获取请求,来获取对应的接口信息。
S52:若接收到服务端发送的基础接口标识对应的接口信息,则获取接口信息中包含的临时接口数据和配置参数信息。
具体地,在服务端发送基础接口标识对应的接口信息后,客户端通过网络传输协议接收该接口信息,并获取该接口信息中包含的临时接口数据和配置参数信息。
其中,临时接口数据是指从服务端获取的该基础接口标识对应的接口数据。
其中,配置参数信息是指用于对该临时接口数据进行部署的参数信息,配置参数信息包括但不限于:缓存设置、截止时间设置和用户可编辑设置等。
值得说明的是,配置参数信息包括的缓存设置、截止时间设置和用户可编辑设置,为本实施例的一种优选方式,而不应理解为对本发明的限定,也可根据实际需要选取其他配置参数,此处不作具体限制。
其中,缓存设置(setCache)是用于设置该临时接口数据是否需要缓存到客户端,缓存设置的参数类型为布尔型变量(bool),也即逻辑型变量的定义符,其参数值包括真(true)和假(false),容易理解地,当其参数值被设置为true时,即该临时接口数据需要被缓存到预设的缓存空间,并将该基础接口标识添加到预设的白名单中,当其参数值被设置为false时,即该临时接口数据不能被缓存到预设的缓存空间。
值得说明的是,缓存到预设的缓存空间的好处是:在缓存到预设的缓存空间成功后,无需访问服务端即可直接从预设的缓存空间加载该接口数据,减少了对服务端的访问请求,节约了网络的资源,有利于服务端的稳定运行,同时,这种不需要网络访问的加载方式,也提高了响应速度,优化了用户体验。
其中,截止时间设置(validTime)是指该临时接口数据进行缓存的有效使用时间的最后时间的设置,相对于传统接口,本实施例所采用的方法是将非实时性的接口,即更新频率较低的接口,缓存到预设的缓存空间,但随着市场及一些外在条件的变化,有些非实时性的接口会存在过时的情况,因而,需要对缓存的截止时间进行设置,截止时间设置的参数类型为时间型(time),其参数值为一个具体地时间戳,例如“2018-9-7”,表示该临时接口数据的缓存数据最后可以使用的截止时间为2018年9月7日24点0分0秒。
其中,网络传输协议包括但不限于:互联网控制报文协议(Internet ControlMessage Protocol,ICMP)、地址解析协议(ARP Address Resolution Protocol,ARP)和文件传输协议(File Transfer Protocol,FTP)等。
S53:根据临时接口数据和配置参数信息,对接口信息进行部署。
具体地,根据临时接口数据和获取到的配置参数信息,对接口信息进行部署,具体部署可依据配置参数信息中的各项参数来进行,此处不作具体限制。
在本实施例中,通过向服务端发送基础接口标识对应的接口信息的获取请求,并在接收到服务端发送的基础接口标识对应的接口信息时,获取接口信息中包含的临时接口数据和配置参数信息,进而根据临时接口数据和配置参数信息,对接口信息进行部署,使得在基础接口标识不是有效接口标识时,可以通过服务端获取对应的接口信息,并对该接口信息进行配置,提高了接口信息获取的灵活性与兼容性。
在图4对应的实施例的基础之上,下面通过一个具体的实施例来对步骤S53中所提及的根据临时接口数据和配置参数信息,对接口信息进行部署的具体实现方法进行详细说明。
请参阅图5,图5示出了本发明实施例提供的步骤S53的具体实现流程,详述如下:
S531:若配置参数信息符合预设的接口缓存条件,则将配置参数信息对应的基础接口标识保存到白名单中,并将临时接口数据缓存到预设的缓存空间中,作为该基础接口标识对应的缓存数据。
具体地,在配置参数信息中的各项配置参数满足预设的接口缓存条件时,将配置参数信息对应的接口标识作为一个有效接口标识,并保存到预设的白名单中,同时,将临时接口数据缓存到预设的缓存空间中,作为该有效接口标识对应的缓存数据。
优选地,本实施例的配置参数信息包括:缓存设置、截止时间设置和用户可编辑设置等,预设的接口缓存条件为配置参数信息中缓存设置的参数值为true。
容易理解地,在将临时接口数据缓存到预设的缓存空间后,从预设的缓存空间中加载该临时接口数据,使得该临时接口数据被显示到应用程序的界面上。
S532:若配置参数信息不符合预设的接口缓存条件,则直接加载临时接口数据。
具体地,在配置参数信息中的各项配置参数满足预设的接口缓存条件时,直接加载该临时接口数据,使得该临时接口数据被显示到应用程序的界面上。
需要说明的是,步骤S531和步骤S532之间没有必然的先后执行顺序,其也可以是同时进行判断执行,此处不做限制。
在本实施例中,根据临时接口数据和配置参数信息,对接口信息进行部署,在配置参数信息符合预设的接口缓存条件时,将配置参数信息对应的基础接口标识保存到白名单中,并将临时接口数据缓存到预设的缓存空间中,作为该基础接口标识对应的缓存数据,使得该符合条件的接口信息在后续调用时,可直接从预设的缓存空间中获取,在配置参数信息不符合预设的接口缓存条件时,直接加载临时接口数据,使得该临时接口数据被显示在客户端应用程序的界面上,这种接口部署方式,根据实际需求和设置,将不同配置的接口信息进行分开处理,使得接口信息准确快速地按照配置信息进行部署。
在图3至图5任一个示例图对应的实施例的基础之上,该接口请求处理方法还包括按照需要对有效接口标识对应的截止时间进行更新。
请查阅图6,图6示出了本发明实施例提供的按照需要对有效接口标识对应的截止时间进行更新的具体实现流程,详述如下:
S61:若接收到服务端发送的更新请求,则获取更新请求中包含的更新接口标识和更新接口标识对应的截止时间。
具体地,在服务端根据实际需要对截止时间进行更新时,服务端向客户端的应用程序发送更新请求,客户端应用程序在接收到该更新请求后,通过网络传输协议,获取该更新请求中包含的更新接口标识和更新接口标识对应的截止时间。
值得说明的是,针对任意一个更新接口标识,在白名单中必定能找到一个与之相同的有效接口标识。
例如,在一具体实施方式中,获取到的更新接口标识为“iDaiServiceImpl”,该更新接口标识对应的截止时间为“2018-10-7”。
S62:从白名单中获取与更新接口标识相同的有效接口标识,作为目标接口标识。
具体地,通过遍历查询的方式,从白名单中获取与更新接口标识相同的有效接口标识,作为目标接口标识,其中,遍历查询的方式的具体实现过程可参考步骤S21的描述,为避免重复,此处不再赘述。
S63:将目标接口标识的截止时间更新为更新接口标识对应的截止时间。
具体地,将更新接口标识对应的截止时间作为目标时间,使用该目标时间作为目标接口标识对应的截止时间更新后的截止时间。
其中,更新方式包括但不限于:赋值和数据改写等。
继续以步骤S61中的示例为例,获取到的目标接口标识对应的截止时间为“2018-9-30”,使用更新接口标识“iDaiServiceImpl”对应的截止时间“2018-10-7”作为目标时间,将该目标时间赋值给目标接口标识对应的截止时间,得到更新后的目标接口标识对应的截止时间“2018-10-7”。
在本实施例中,在接收到服务端发送的更新请求时,获取更新请求中包含的更新接口标识和更新接口标识对应的截止时间,并从白名单中获取与更新接口标识相同的有效接口标识,作为目标接口标识,进而将目标接口标识的截止时间更新为更新接口标识对应的截止时间,从而实现了在需要进行截止时间更新时,快速进行截止时间更新,而无需重新获取该更新接口标识对应的接口数据,提高了对截止时间更新的效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图7示出与上述实施例接口请求处理方法一一对应的接口请求处理装置的原理框图。如图7所示,该接口请求处理装置包括数据获取模块10、验证模块20、读取模块和加载模块40。各功能模块详细说明如下:
获取模块10,用于若检测到接口访问请求,则获取接口访问请求中包含的基础接口标识,其中,基础接口标识包含至少一个子接口标识;
验证模块20,用于对基础接口标识进行有效性验证,得到验证结果,其中,有效性验证用于验证基础接口标识是否为有效接口标识,有效接口标识对应的接口数据被预先缓存在预设的缓存空间中;
读取模块30,用于若验证结果为基础接口标识为有效接口标识,则从预设的缓存空间中,读取基础接口标识包含的每个子接口标识对应的接口数据,并将读取的每个接口数据均作为一个目标缓存数据;
加载模块40,用于按照子接口标识的预设优先级从高到低的顺序,并采用多线程的方式,加载子接口标识对应的目标缓存数据,使得目标缓存数据被显示到应用程序的界面上。
进一步地,验证模块20包括:
查询单元21,用于查询基础接口标识是否存在于预设的白名单中,其中,白名单包括有效接口标识和有效接口标识对应的截止时间;
对比时间获取单元22,用于若白名单包括与基础接口标识相同的有效接口标识,则获取该有效接口标识对应的截止时间,作为对比时间;
比较单元23,用于获取当前时间,并将当前时间与对比时间进行比较,若对比时间超过当前时间,则确认对比时间具有时效性,否则,确认对比时间不具有时效性;
判断单元24,用于若对比时间具有时效性,则确认验证结果为基础接口标识为有效接口标识。
该接口请求处理装置还包括:
发送模块,用于向服务端发送基础接口标识对应的接口信息的获取请求;
接收模块,用于若接收到服务端发送的基础接口标识对应的接口信息,则获取接口信息中包含的临时接口数据和配置参数信息;
部署模块,用于根据临时接口数据和配置参数信息,对接口信息进行部署。
进一步地,部署模块包括:
缓存单元,用于若配置参数信息符合预设的接口缓存条件,则将配置参数信息对应的基础接口标识保存到白名单中,并将临时接口数据缓存到预设的缓存空间中,作为该基础接口标识对应的缓存数据;
直接加载单元,用于若配置参数信息不符合预设的接口缓存条件,则直接加载临时接口数据。
该接口请求处理装置还包括:
更新信息提取模块,用于若接收到服务端发送的更新请求,则获取更新请求中包含的更新接口标识和更新接口标识对应的截止时间;
目标接口确定模块,用于从白名单中获取与更新接口标识相同的有效接口标识,作为目标接口标识;
截止时间更新模块,用于将目标接口标识的截止时间更新为更新接口标识对应的截止时间。
关于接口请求处理装置的具体限定可以参见上文中对于接口请求处理方法的限定,在此不再赘述。上述接口请求处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图8是本发明一实施例提供的计算机设备的示意图。该计算机设备可以是客户端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储接口数据的缓存。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种接口请求处理方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例接口请求处理方法的步骤,例如图2所示的步骤S10至步骤S40。或者,处理器执行计算机程序时实现上述实施例接口请求处理装置的各模块/单元的功能,例如图7所示的模块10至模块40的功能。为避免重复,这里不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
在一实施例中,提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例接口请求处理方法的步骤,或者,该计算机程序被处理器执行时实现上述实施例接口请求处理装置中各模块/单元的功能。为避免重复,这里不再赘述。
可以理解地,所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号和电信信号等。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种接口请求处理方法,其特征在于,所述接口请求处理方法包括:
若检测到接口访问请求,则获取所述接口访问请求中包含的基础接口标识,其中,所述基础接口标识包含至少一个子接口标识;
对所述基础接口标识进行有效性验证,得到验证结果,其中,所述有效性验证用于验证所述基础接口标识是否为有效接口标识,所述有效接口标识对应的接口数据被预先缓存在预设的缓存空间库中;
若所述验证结果为所述基础接口标识为有效接口标识,则从所述预设的缓存空间中,读取所述基础接口标识包含的每个所述子接口标识对应的接口数据,并将读取的每个所述接口数据均作为一个目标缓存数据;
按照所述子接口标识的预设优先级从高到低的顺序,并采用多线程的方式,加载所述子接口标识对应的目标缓存数据,使得所述目标缓存数据被显示到应用程序的界面上。
2.如权利要求1所述的接口请求处理方法,其特征在于,所述对所述基础接口标识进行有效性验证,得到验证结果包括:
查询所述基础接口标识是否存在于预设的白名单中,其中,所述白名单包括所述有效接口标识和所述有效接口标识对应的截止时间;
若所述白名单包括与所述基础接口标识相同的有效接口标识,则获取该有效接口标识对应的截止时间,作为对比时间;
获取当前时间,并将所述当前时间与所述对比时间进行比较,若对比时间超过所述当前时间,则确认所述对比时间具有时效性,否则,确认所述对比时间不具有时效性;
若所述对比时间具有时效性,则确认所述验证结果为所述基础接口标识为有效接口标识。
3.如权利要求2所述的接口请求处理方法,其特征在于,若所述对比时间不具有时效性或所述白名单不包括与所述基础接口标识相同的有效接口标识,则所述接口请求处理方法还包括:
向服务端发送所述基础接口标识对应的接口信息的获取请求;
若接收到所述服务端发送的所述基础接口标识对应的接口信息,则获取所述接口信息中包含的临时接口数据和配置参数信息;
根据所述临时接口数据和所述配置参数信息,对所述接口信息进行部署。
4.如权利要求3所述的接口请求处理方法,其特征在于,所述根据所述临时接口数据和所述配置参数信息,对所述接口信息进行部署包括:
若所述配置参数信息符合预设的接口缓存条件,则将所述配置参数信息对应的基础接口标识保存到所述白名单中,并将所述临时接口数据缓存到所述预设的缓存空间中,作为该基础接口标识对应的缓存数据;
若所述配置参数信息不符合预设的接口缓存条件,则直接加载所述临时接口数据。
5.如权利要求2至4任一项所述的接口请求处理方法,其特征在于,所述接口请求处理方法还包括:
若接收到所述服务端发送的更新请求,则获取所述更新请求中包含的更新接口标识和所述更新接口标识对应的截止时间;
从所述白名单中获取与所述更新接口标识相同的有效接口标识,作为目标接口标识;
将所述目标接口标识的截止时间更新为所述更新接口标识对应的截止时间。
6.一种接口请求处理装置,其特征在于,所述接口请求处理装置包括:
获取模块,用于若检测到接口访问请求,则获取所述接口访问请求中包含的基础接口标识,其中,所述基础接口标识包含至少一个子接口标识;
验证模块,用于对所述基础接口标识进行有效性验证,得到验证结果,其中,所述有效性验证用于验证所述基础接口标识是否为有效接口标识,所述有效接口标识对应的接口数据被预先缓存在预设的缓存空间中;
读取模块,用于若所述验证结果为所述基础接口标识为有效接口标识,则从所述预设的缓存空间中,读取所述基础接口标识对应的接口数据,并将读取的每个所述接口数据均作为一个目标缓存数据;
加载模块,用于按照所述子接口标识的预设优先级从高到低的顺序,并采用多线程的方式,加载所述子接口标识对应的目标缓存数据,使得所述目标缓存数据被显示到应用程序的界面上。
7.如权利要求6所述的接口请求处理装置,其特征在于,所述验证模块包括:
查询单元,用于查询所述基础接口标识是否存在于预设的白名单中,其中,所述白名单包括所述有效接口标识和所述有效接口标识对应的截止时间;
对比时间获取单元,用于若所述白名单包括与所述基础接口标识相同的有效接口标识,则获取该有效接口标识对应的截止时间,作为对比时间;
比较单元,用于获取当前时间,并将所述当前时间与所述对比时间进行比较,若对比时间超过所述当前时间,则确认所述对比时间具有时效性,否则,确认所述对比时间不具有时效性;
判断单元,用于若所述对比时间具有时效性,则确认所述验证结果为所述基础接口标识为有效接口标识。
8.如权利要求6或7所述的接口请求处理装置,其特征在于,所述接口请求处理装置还包括:
更新信息提取模块,用于若接收到所述服务端发送的更新请求,则获取所述更新请求中包含的更新接口标识和所述更新接口标识对应的截止时间;
目标接口确定模块,用于从所述白名单中获取与所述更新接口标识相同的有效接口标识,作为目标接口标识;
截止时间更新模块,用于将所述目标接口标识的截止时间更新为所述更新接口标识对应的截止时间。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的接口请求处理方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的接口请求处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811528184.3A CN109842610B (zh) | 2018-12-13 | 2018-12-13 | 接口请求处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811528184.3A CN109842610B (zh) | 2018-12-13 | 2018-12-13 | 接口请求处理方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109842610A true CN109842610A (zh) | 2019-06-04 |
CN109842610B CN109842610B (zh) | 2022-07-26 |
Family
ID=66883237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811528184.3A Active CN109842610B (zh) | 2018-12-13 | 2018-12-13 | 接口请求处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109842610B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110471690A (zh) * | 2019-06-25 | 2019-11-19 | 珠海格力电器股份有限公司 | 动态链接库so文件的加载方法、装置及存储介质 |
CN112231604A (zh) * | 2020-06-12 | 2021-01-15 | 北京沃东天骏信息技术有限公司 | 一种页面显示方法、装置、电子设备和存储介质 |
CN112347442A (zh) * | 2020-11-30 | 2021-02-09 | 四川长虹电器股份有限公司 | 用户权限的验证方法及装置 |
CN112839083A (zh) * | 2020-12-30 | 2021-05-25 | 北京天融信网络安全技术有限公司 | 一种数据传输方法及装置、可读存储介质 |
CN113806651A (zh) * | 2021-09-18 | 2021-12-17 | 深圳市酷开网络科技股份有限公司 | 一种数据缓存方法、装置、服务器及存储介质 |
CN113849753A (zh) * | 2021-09-27 | 2021-12-28 | 平安国际智慧城市科技股份有限公司 | 动态图片缓存方法、装置、设备及存储介质 |
CN114143277A (zh) * | 2021-10-20 | 2022-03-04 | 北京达佳互联信息技术有限公司 | 数据请求处理方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101686156A (zh) * | 2008-09-28 | 2010-03-31 | 北京易路联动技术有限公司 | 一种实现网络服务数据本地缓存的终端和方法 |
CN105681380A (zh) * | 2014-11-20 | 2016-06-15 | 阿里巴巴集团控股有限公司 | 客户端离线化方法及其系统 |
CN106599152A (zh) * | 2016-12-07 | 2017-04-26 | 北京华夏电通科技有限公司 | 一种数据缓存方法及系统 |
CN107168963A (zh) * | 2016-03-07 | 2017-09-15 | 阿里巴巴集团控股有限公司 | 客户端的页面加载和页面的缓存方法、系统和客户端 |
CN107809332A (zh) * | 2017-11-10 | 2018-03-16 | 中国民生银行股份有限公司 | 复合接口配置及复合接口调用方法、装置 |
CN108683604A (zh) * | 2018-04-03 | 2018-10-19 | 平安科技(深圳)有限公司 | 并发访问控制方法、终端设备及介质 |
CN108959307A (zh) * | 2017-05-22 | 2018-12-07 | 平安科技(深圳)有限公司 | 可扩展数据上报方法、系统、及存储介质 |
-
2018
- 2018-12-13 CN CN201811528184.3A patent/CN109842610B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101686156A (zh) * | 2008-09-28 | 2010-03-31 | 北京易路联动技术有限公司 | 一种实现网络服务数据本地缓存的终端和方法 |
CN105681380A (zh) * | 2014-11-20 | 2016-06-15 | 阿里巴巴集团控股有限公司 | 客户端离线化方法及其系统 |
CN107168963A (zh) * | 2016-03-07 | 2017-09-15 | 阿里巴巴集团控股有限公司 | 客户端的页面加载和页面的缓存方法、系统和客户端 |
CN106599152A (zh) * | 2016-12-07 | 2017-04-26 | 北京华夏电通科技有限公司 | 一种数据缓存方法及系统 |
CN108959307A (zh) * | 2017-05-22 | 2018-12-07 | 平安科技(深圳)有限公司 | 可扩展数据上报方法、系统、及存储介质 |
CN107809332A (zh) * | 2017-11-10 | 2018-03-16 | 中国民生银行股份有限公司 | 复合接口配置及复合接口调用方法、装置 |
CN108683604A (zh) * | 2018-04-03 | 2018-10-19 | 平安科技(深圳)有限公司 | 并发访问控制方法、终端设备及介质 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110471690A (zh) * | 2019-06-25 | 2019-11-19 | 珠海格力电器股份有限公司 | 动态链接库so文件的加载方法、装置及存储介质 |
CN110471690B (zh) * | 2019-06-25 | 2021-09-14 | 珠海格力电器股份有限公司 | 动态链接库so文件的加载方法、装置及存储介质 |
CN112231604A (zh) * | 2020-06-12 | 2021-01-15 | 北京沃东天骏信息技术有限公司 | 一种页面显示方法、装置、电子设备和存储介质 |
CN112347442A (zh) * | 2020-11-30 | 2021-02-09 | 四川长虹电器股份有限公司 | 用户权限的验证方法及装置 |
CN112839083A (zh) * | 2020-12-30 | 2021-05-25 | 北京天融信网络安全技术有限公司 | 一种数据传输方法及装置、可读存储介质 |
CN112839083B (zh) * | 2020-12-30 | 2022-07-12 | 北京天融信网络安全技术有限公司 | 一种数据传输方法及装置、可读存储介质 |
CN113806651A (zh) * | 2021-09-18 | 2021-12-17 | 深圳市酷开网络科技股份有限公司 | 一种数据缓存方法、装置、服务器及存储介质 |
CN113806651B (zh) * | 2021-09-18 | 2024-05-24 | 深圳市酷开网络科技股份有限公司 | 一种数据缓存方法、装置、服务器及存储介质 |
CN113849753A (zh) * | 2021-09-27 | 2021-12-28 | 平安国际智慧城市科技股份有限公司 | 动态图片缓存方法、装置、设备及存储介质 |
CN114143277A (zh) * | 2021-10-20 | 2022-03-04 | 北京达佳互联信息技术有限公司 | 数据请求处理方法、装置、电子设备及存储介质 |
CN114143277B (zh) * | 2021-10-20 | 2023-11-24 | 北京达佳互联信息技术有限公司 | 数据请求处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109842610B (zh) | 2022-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109842610A (zh) | 接口请求处理方法、装置、计算机设备及存储介质 | |
JP6626211B2 (ja) | ショートリンクを処理する方法及び装置並びにショートリンクサーバ | |
CN104380278B (zh) | 用于客户端管理会话持续性的设备、系统和方法 | |
CN100518181C (zh) | 服务器之间无状态会话的透明迁移 | |
CN110519401A (zh) | 提高网络访问成功率的方法、装置、设备及存储介质 | |
US20030149958A1 (en) | Automatic code generation for applications which run on common platforms | |
CN104219316A (zh) | 一种分布式系统中的调用请求处理方法及装置 | |
CN108090064A (zh) | 一种数据查询方法、装置、数据存储服务器及系统 | |
CN109561078A (zh) | 一种外链url资源调用方法及装置 | |
CN105808736A (zh) | 一种榜单数据更新方法、装置及系统 | |
CN106372266A (zh) | 一种基于切面和配置文件的云操作系统缓存及访问方法 | |
CN106648755B (zh) | 一种在安卓art环境中动态加载dex的方法及装置 | |
CN103905572A (zh) | 域名解析请求的处理方法及装置 | |
CN105657022B (zh) | 主动推送信息的方法和嵌入式节点操作系统 | |
CN103647656A (zh) | 计费节点负载控制方法、数据访问控制方法及节点 | |
Puliafito et al. | An analytical comparison of the client-server, remote evaluation and mobile agents paradigms | |
US20190228009A1 (en) | Information processing system and information processing method | |
CN109474459A (zh) | 域名配置管理方法、装置、计算机设备及存储介质 | |
CN109117609A (zh) | 一种请求拦截方法及装置 | |
CN111328059A (zh) | 一种数据传输方法、数据传输装置及电子设备 | |
CN109600385A (zh) | 一种访问控制方法及装置 | |
CN110377419A (zh) | 一种服务器调用方法、装置和电子设备 | |
CN109271193B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN103425684A (zh) | 数据库的操作方法及装置 | |
CN110287021B (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 |