应用程序接口API的缓存方法、装置、设备及存储介质与流程

未命名 07-12 阅读:96 评论:0

应用程序接口api的缓存方法、装置、设备及存储介质
技术领域
1.本技术涉及数据存储技术领域,尤其涉及一种应用程序接口api的缓存方法、装置、设备及存储介质。


背景技术:

2.应用程序接口(application programming interface,api)是一些预先定义的函数,用于为用户提供执行程序以访问某软件或硬件。
3.随着互联网技术的高速发展,api被调用的频率越来越高,使得api的响应性能变得越来越重要,而增加缓存是提升api响应性能的有效方式。现有技术中,通常是由工作人员预估使用频率较高的api,将其作为热点api,进而存储至缓存中。
4.但是现有技术中,通过工作人员预估热点api的方式不够准确,且当热点api发生变化时,需要在缓存中重新修改api后台编码数据,使得api缓存效率低下。


技术实现要素:

5.本技术提供一种应用程序接口api的缓存方法、装置、设备及存储介质,用以解决现有技术通过工作人员预估热点api的方式不够准确,且当热点api发生变化时,需要在缓存中重新修改api后台编码数据,使得api缓存效率低下的问题。
6.第一方面,本技术提供一种应用程序接口api的缓存方法,包括:
7.响应于用户的操作获取api请求,所述api请求中包括api的标识信息,所述api请求用于用户访问目标应用程序;
8.根据所述api的标识信息,读取所述api在不同预设时间段内的多个响应性能指标数据,以及判断所述api是否已存储在缓存中;
9.根据所述多个响应性能指标数据,判断所述api是否为热点api;
10.若所述api为热点api且未存储在所述缓存中,则将所述api存储至所述缓存。
11.可选的,所述方法还包括:
12.若所述api为非热点api且已存储在所述缓存中,则将所述api从所述缓存中移出。
13.可选的,所述根据所述多个响应性能指标数据,判断所述api是否为热点api,包括:
14.根据所述多个响应性能指标数据,计算所述api的响应分数;
15.若所述响应分数大于预设分数阈值,则所述api为热点api;
16.若所述响应分数小于或等于所述预设分数阈值,则所述api为非热点api。
17.可选的,所述根据所述多个响应性能指标数据,计算所述api的响应分数,包括:
18.根据所述不同预设时间段内的多个响应性能指标数据,及所述多个响应性能指标数据对应的预设权重,计算各响应性能指标对应的响应分数;
19.根据所述各响应性能指标对应的响应分数,计算所述api的响应分数。
20.可选的,所述根据所述不同预设时间段内的多个响应性能指标数据,及所述多个
响应性能指标数据对应的预设权重,计算各响应性能指标对应的响应分数,包括:
21.根据如下公式计算各响应性能指标对应的响应分数:
22.score_n=(v1n*w1+v2n*w2+

+vmn*wm)*100/(v1n+v2n+

+vmn)
23.其中,score_n表示所述api第n个响应性能指标对应的响应分数,n为正整数;vmn表示所述api在第m个预设时间段内第n个响应性能指标对应的响应性能指标数据,wm表示第m个预设时间段内各响应性能指标数据对应的预设权重。
24.可选的,所述根据所述各响应性能指标对应的响应分数,计算所述api的响应分数,包括:
25.根据如下公式计算所述api的响应分数:
26.score=(score_1+score_2+

+score_n)/100
27.其中,score表示所述api的响应分数;score_1表示所述api第1个响应性能指标对应的响应分数;score_2表示所述api第2个响应性能指标对应的响应分数。
28.可选的,所述判断所述api是否已存储在缓存中,包括:
29.根据所述api的标识信息,与所述缓存中已存储的api进行匹配;
30.若匹配到与所述标识信息对应的api,则所述api已存储在所述缓存中;
31.若未匹配到与所述标识信息对应的api,则所述api未存储在所述缓存中。
32.可选的,所述方法还包括:
33.若所述api为热点api且已存储在所述缓存中,或者,所述api为非热点api且未存储在所述缓存中,则结束缓存流程。
34.第二方面,本技术提供一种应用程序接口api的缓存装置,包括:
35.获取模块,用于响应于用户的操作获取api请求,所述api请求中包括api的标识信息,所述api请求用于用户访问目标应用程序;
36.处理模块,用于根据所述api的标识信息,读取所述api在不同预设时间段内的多个响应性能指标数据,以及判断所述api是否已存储在缓存中;
37.判断模块,用于根据所述多个响应性能指标数据,判断所述api是否为热点api;
38.存储模块,用于若所述api为热点api且未存储在所述缓存中,则将所述api存储至所述缓存。
39.第三方面,本技术提供一种电子设备,包括:至少一个处理器、存储器;
40.所述存储器存储计算机执行指令;
41.所述至少一个处理器执行所述存储器存储的计算机执行指令来执行第一方面任一项所述的应用程序接口api的缓存方法。
42.第四方面,本技术实施例提供一种可读存储介质,其上存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现第一方面任一项所述的应用程序接口api的缓存方法。
43.本技术提供的一种应用程序接口api的缓存方法、装置、设备及存储介质,通过响应于用户的操作获取api请求,其中,api请求中包括api的标识信息,api请求用于用户访问目标应用程序。并根据api的标识信息,读取api在不同预设时间段内的多个响应性能指标数据,以及判断api是否已存储在缓存中。进而根据多个响应性能指标数据,判断api是否为热点api,若api为热点api且未存储在缓存中,则将api存储至缓存。本技术的方法使得热点
api的确定更加准确,提高了api的缓存效率。
附图说明
44.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
45.图1为本技术提供的一种应用场景示意图;
46.图2为本技术实施例提供的一种应用程序接口api的缓存方法的流程示意图;
47.图3为本技术实施例提供的一种判断api是否为热点api的方法的流程示意图;
48.图4为本技术提供的又一种应用程序接口api的缓存方法的流程示意图;
49.图5为本技术实施例提供的一种应用程序接口api的缓存装置的结构示意图;
50.图6为本技术实施例提供的一种电子设备的结构示意图。
51.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
52.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
53.在本技术实施例的描述中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例也可以在本技术图示或描述的那些以外的顺序实施。术语“内”、“外”等指示的方向或位置关系的术语是基于附图所示的方向或位置关系,这仅仅是为了便于描述,而不是指示或暗示装置或构件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。
54.此外,在本技术实施例的描述中,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个构件内部的连通。对于本领域技术人员而言,可根据具体情况理解上述术语在本技术实施例中的具体含义。
55.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
56.随着科学技术的飞速发展,特别是前后端分离技术的出现,用户对后端api的调用频次越来越高,进而对api的响应性能提出了更高的要求。而通过增加缓存是提高api响应性能的有效方式。
57.目前,增加api缓存的方式通常以静态缓存为主,即由工作人员根据通信服务业务和架构,预估使用频率较高的api,将使用频率较高的api作为热点api,并将其存储至缓存中,从而提升api的响应性能。
58.但是目前对热点api的判断是由工作人员预估而来,缺乏具体的数据支撑,热点api的命中率较低,预估结果不够准确。当热点api发生变化时,需要工作人员在缓存中重新修改api后台代码或文件配置,使得api缓存效率低下,且需要重启缓存服务,服务维护性较差,不适用于热点api发生动态变化的场景,影响用户体验。
59.因此,针对现有技术的上述技术问题,本技术提出一种应用程序接口api的缓存方法、装置、设备及存储介质。通过根据获取的api请求,根据该api的历史响应性能指标数据,判断该api是否为热点api。若该api为热点api且未存储在缓存中,则将该api进行存储处理,若该api为非热点api且已存储在缓存中,则将该api进行移出处理,从而提高了热点api判断的准确率和存储效率。
60.为便于理解本技术,下面示例性的说明本技术的一种应用场景,图1为本技术提供的一种应用场景示意图,如图1所示,包括采集器101、决策器102、缓存器103和数据库104。
61.其中,采集器101用于采集api请求,并将其存储至数据库104中,数据库104还存储有该api的历史响应性能指标数据。决策器102根据采集器101采集的数据和数据库104存储的数据,判断该api是否为热点api,若为热点api,将其存储进缓存器103中。当该api被调用时,通过缓存器103对其做出响应。
62.可以理解的是,本技术不对应用场景中采集器101、决策器102、缓存器103和数据库104的形态和数量等进行限定,也不对任意两者之间的交互方式进行限定,上述场景仅用于举例说明,不作为对本技术的限定,在方案的具体应用中,可以根据实际需求进行设定。
63.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
64.图2为本技术实施例提供的一种应用程序接口api的缓存方法的流程示意图,该方法的执行主体可以为具备缓存功能的装置或设备,例如可以是服务器、服务器集群等。本实施例中的方法可以通过软件、硬件或者软硬件结合的方式来实现。如图2所示,该方法具体包括以下步骤:
65.s201、响应于用户的操作获取api请求,api请求中包括api的标识信息,api请求用于用户访问目标应用程序。
66.本实施例中,执行主体以服务器为例,当用户在服务器中确定要访问的目标应用程序后,服务器响应于用户的操作,获取访问该目标应用程序的api请求,在该请求中会包括api的标识信息。
67.s202、根据api的标识信息,读取api在不同预设时间段内的多个响应性能指标数据,以及判断api是否已存储在缓存中。
68.服务器中的采集器会根据该api的标识信息,从数据库中获取不同预设时间段内该api的历史响应性能指标及其对应的响应性能指标数据。
69.其中,响应性能指标包括但不限于:api的请求总数、时延信息(采集开始时间、采集结束时间、平均时延、最大时延等)、请求用户信息等。
70.不同预设时间段内,例如可以是1min时间段内、1min-3min时间段内或1min-15min时间段内。
71.上述不同预设时间段内的多个响应性能指标数据可以如下述示例所示:
72.1min时间段内的api的请求总数、平均时延;1min-3min时间段内的api的请求总数、平均时延。
73.可以理解的是,示例中的响应性能指标及预设时间段仅用于举例说明,不作为对本技术的限制。
74.服务器中的决策器会根据该api的标识信息,判断api是否已存储在缓存即缓存器中。
75.一种可能的实现方式是:
76.根据api的标识信息,与缓存中已存储的api进行匹配。
77.若匹配到与标识信息对应的api,则api已存储在缓存中,若未匹配到与标识信息对应的api,则api未存储在缓存中。
78.本实施例中,缓存器可以是远程字典服务(remote dictionary server,redis)存储系统,也可以是其它内存数据库等,可以理解的是,本技术对缓存器的类型不进行限定。
79.s203、根据多个响应性能指标数据,判断api是否为热点api。
80.决策器根据获取的不同预设时间段内的多个响应性能指标数据,通过预设算法,计算api的响应分数,并根据响应分数与预设阈值的大小,判断该api是否为热点api。
81.在本实施例中,对api的类型不进行限定,api包括但不限于:restful api请求、g远程过程调用(g remote procedure call,grpc)、websocket调用、消息队列(message queue,mq)、函数调用等。
82.需要注意的是,本实施例中对执行判断api是否已存储在缓存中的过程,以及,判断api是否为热点api的过程的时序顺序不进行限定。
83.可以先执行根据api的标识信息判断api是否已存储在缓存中的过程,再执行根据多个响应性能指标数据,判断api是否为热点api的过程。
84.或者,先执行根据多个响应性能指标数据,判断api是否为热点api的过程,再执行根据api的标识信息判断api是否已存储在缓存中的过程。
85.或者,同步执行根据多个响应性能指标数据,判断api是否为热点api的过程,以及,根据api的标识信息判断api是否已存储在缓存中的过程。
86.s204、若api为热点api且未存储在缓存中,则将api存储至缓存。
87.若决策器判断出该api为热点api且未存储在缓存中,则将该api存储至缓存器中。
88.s205、若判断出该api为非热点api且已存储在缓存中,则将该api从缓存器中移出。
89.若判断出该api为热点api且已存储在缓存器中,或者,该api为非热点api且未存储在缓存器中,则结束缓存流程。
90.在本技术的上述实施例中,通过响应于用户的操作获取api请求,其中,api请求中包括api的标识信息,api请求用于用户访问目标应用程序。并根据api的标识信息,读取api在不同预设时间段内的多个响应性能指标数据,以及判断api是否已存储在缓存中。进而根据多个响应性能指标数据,判断api是否为热点api,若api为热点api且未存储在缓存中,则
将api存储至缓存。本实施例使得热点api的确定更加准确,提高了api的缓存效率。
91.进一步的,在上述实施例的基础之上,通过下方实施例详细说明步骤s203中,根据多个响应性能指标数据,判断api是否为热点api的过程。图3为本技术实施例提供的一种判断api是否为热点api的方法的流程示意图,如图3所示,该方法包括以下步骤:
92.s301、根据多个响应性能指标数据,计算api的响应分数。
93.可选的,根据不同预设时间段内的多个响应性能指标数据,及多个响应性能指标数据对应的预设权重,计算各响应性能指标对应的响应分数。
94.如表1所示,假设有m个预设时间段,每个时间段的响应性能指标数据对应的预设权重分别为w1,w2,

,wm,且w1+w2+

+wm=1。每个时间段包括n个响应性能指标,数据分别为v11,v12,v13,

,vmn。
95.表1
[0096][0097]
具体的,根据如下公式计算各响应性能指标对应的响应分数:
[0098]
score_n=(v1n*w1+v2n*w2+

+vmn*wm)*100/(v1n+v2n+

+vmn)
[0099]
其中,score_n表示api第n个响应性能指标对应的响应分数,n为正整数;vmn表示api在第m个预设时间段内第n个响应性能指标对应的响应性能指标数据,wm表示第m个预设时间段内各响应性能指标数据对应的预设权重。
[0100]
因此,各响应性能指标对应的响应分数分别如下:
[0101]
score_1=(v11*w1+v21*w2+

+vm1*wm)*100/(v11+v21+

+vm1)
[0102]
score_2=(v12*w1+v22*w2+

+vm2*wm)*100/(v12+v22+

+vm2)
[0103]
score_3=(v13*w1+v23*w2+

+vm3*wm)*100/(v13+v23+

+vm3)
[0104]

[0105]
其中,score_1表示api第1个响应性能指标对应的响应分数;score_2表示api第2个响应性能指标对应的响应分数;score_3表示api第3个响应性能指标对应的响应分数。
[0106]
可选的,根据各响应性能指标对应的响应分数,计算api的响应分数。
[0107]
具体的,根据如下公式计算api的响应分数:
[0108]
score=(score_1+score_2+

+score_n)/100
[0109]
其中,score表示api的响应分数。
[0110]
s302、判断响应分数是否大于预设分数阈值。
[0111]
s303、若响应分数大于预设分数阈值,则api为热点api。
[0112]
s304、若响应分数小于或等于预设分数阈值,则api为非热点api。
[0113]
其中,预设分数阈值的设置可以根据实际应用情况进行设定。
[0114]
示例性的,假设获取的api在不同预设时间段内的响应性能指标及其对应的响应性能指标数据如表2所示:
[0115]
表2
[0116][0117]
则,各响应性能指标对应的响应分数分别如下:
[0118]
请求总数:
[0119][0120]
平均时延:
[0121][0122]
最大时延:
[0123][0124]
确定出请求总数、平均时延及最大时延对应的响应分数后,进而确定该api的响应分数。
[0125]
api的响应分数:
[0126][0127]
若此时设置的预设分数阈值为0.95,则该api为热点api。若此时设置的预设分数阈值为0.99,则该api为非热点api。
[0128]
在本技术的上述实施例中,通过根据多个响应性能指标数据,计算api的响应分数,若响应分数大于预设分数阈值,则api为热点api,若响应分数小于或等于预设分数阈值,则api为非热点api,本实施例的方法,使得确定的热点api更加准确。
[0129]
更进一步的,为了便于理解本技术的方法,下面,通过具体的示例说明应用程序接口api的缓存方法,图4为本技术提供的又一种应用程序接口api的缓存方法的流程示意图,如图4所示,该方法包括以下步骤:
[0130]
s401、获取api请求。
[0131]
s402、读取api在不同预设时间段内的多个响应性能指标数据。
[0132]
s403、判断api是否已存储在缓存中。
[0133]
s404、若已存储在缓存中,根据不同预设时间段内的多个响应性能指标数据,判断api是否为热点api。
[0134]
s405、若api为热点api,则缓存流程结束。
[0135]
s406、若api为非热点api,则将api移出缓存。
[0136]
s407、若经过步骤s403判断出未存储在缓存中,根据不同预设时间段内的多个响应性能指标数据,判断api是否为热点api。
[0137]
s408、若api为热点api,则将api存储至缓存。
[0138]
s409、若api为非热点api,则缓存流程结束。
[0139]
需要注意的是,本技术中也可以先执行根据不同预设时间段内的多个响应性能指标数据,判断api是否为热点api的过程,再执行api是否已存储在缓存中的过程,或者,上述两过程同步执行。本技术对上述两过程的时序顺序不进行限定,图4仅用于举例说明。
[0140]
上述步骤s401-s409的具体描述可以参见上述的实施例,为避免重复,本实施例对此不再赘述。
[0141]
图5为本技术实施例提供的一种应用程序接口api的缓存装置的结构示意图,该装置包括:获取模块501、处理模块502、判断模块503、存储模块504。
[0142]
获取模块501,用于响应于用户的操作获取api请求,api请求中包括api的标识信息,api请求用于用户访问目标应用程序。
[0143]
处理模块502,用于根据api的标识信息,读取api在不同预设时间段内的多个响应性能指标数据,以及判断api是否已存储在缓存中。
[0144]
判断模块503,用于根据多个响应性能指标数据,判断api是否为热点api。
[0145]
存储模块504,用于若api为热点api且未存储在缓存中,则将api存储至缓存。
[0146]
一种可能的实现方式是,存储模块504还用于:
[0147]
若api为非热点api且已存储在缓存中,则将api从缓存中移出。
[0148]
一种可能的实现方式是,判断模块503具体用于:
[0149]
根据多个响应性能指标数据,计算api的响应分数。
[0150]
若响应分数大于预设分数阈值,则api为热点api。
[0151]
若响应分数小于或等于预设分数阈值,则api为非热点api。
[0152]
一种可能的实现方式是,判断模块503具体还用于:
[0153]
根据不同预设时间段内的多个响应性能指标数据,及多个响应性能指标数据对应的预设权重,计算各响应性能指标对应的响应分数。
[0154]
根据各响应性能指标对应的响应分数,计算api的响应分数。
[0155]
一种可能的实现方式是,判断模块503具体还用于:
[0156]
根据如下公式计算各响应性能指标对应的响应分数:
[0157]
score_n=(v1n*w1+v2n*w2+

+vmn*wm)*100/(v1n+v2n+

+vmn)
[0158]
其中,score_n表示api第n个响应性能指标对应的响应分数,n为正整数;vmn表示api在第m个预设时间段内第n个响应性能指标对应的响应性能指标数据,wm表示第m个预设时间段内各响应性能指标数据对应的预设权重。
[0159]
一种可能的实现方式是,判断模块503具体还用于:
[0160]
根据如下公式计算api的响应分数:
[0161]
score=(score_1+score_2+

+score_n)/100
[0162]
其中,score表示api的响应分数;;score_1表示api第1个响应性能指标对应的响应分数;score_2表示api第2个响应性能指标对应的响应分数。
[0163]
一种可能的实现方式是,处理模块502具体用于:
[0164]
根据api的标识信息,与缓存中已存储的api进行匹配。
[0165]
若匹配到与标识信息对应的api,则api已存储在缓存中。
[0166]
若未匹配到与标识信息对应的api,则api未存储在缓存中。
[0167]
一种可能的实现方式是,存储模块504还用于:
[0168]
若api为热点api且已存储在缓存中,或者,api为非热点api且未存储在缓存中,则结束缓存流程。
[0169]
本实施例提供的应用程序接口api的缓存装置,用于执行前述的方法实施例,其实现原理与技术效果类似,对此不再赘述。
[0170]
图6为本技术实施例提供的一种电子设备的结构示意图,如图6所示,该设备可以包括:至少一个处理器601和存储器602。
[0171]
存储器602,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。
[0172]
存储器602可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0173]
处理器601用于执行存储器602存储的计算机执行指令,以实现前述实施例所描述的方法。其中,处理器601可能是一个中央处理器(central processing unit,简称为cpu),或者是特定集成电路(application specific integrated circuit,简称为asic),或者是被配置成实施本技术实施例的一个或多个集成电路。
[0174]
可选的,该电子设备还可以包括通信接口603。在具体实现上,如果通信接口603、存储器602、处理器601独立实现,则通信接口603、存储器602、处理器601可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(industry standard architecture,简称为isa)总线、外部设备互连(peripheral component,简称为pci)总线或扩展工业标准体系结构(extended industry standard architecture,简称为eisa)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
[0175]
可选的,在具体实现上,如果通信接口603、存储器602、处理器601集成在一块芯片上实现,则通信接口603、存储器602、处理器601可以通过内部接口完成通信。
[0176]
本实施例提供的电子设备,用于执行前述应用程序接口api的缓存方法,其实现原理与技术效果类似,对此不再赘述。
[0177]
本技术还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质其上存储有计算机执行指令,计算机执行指令用于上述应用程序接口api的缓存方法。
[0178]
本技术还提供一种计算机程序产品,该程序产品包括可执行指令,该执行指令存储在可读存储介质中。电子设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得电子设备实施上述的各种实施方式提供的上述应用程序接口api的缓存方法。
[0179]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其
它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求书指出。
[0180]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。

技术特征:
1.一种应用程序接口api的缓存方法,其特征在于,包括:响应于用户的操作获取api请求,所述api请求中包括api的标识信息,所述api请求用于用户访问目标应用程序;根据所述api的标识信息,读取所述api在不同预设时间段内的多个响应性能指标数据,以及判断所述api是否已存储在缓存中;根据所述多个响应性能指标数据,判断所述api是否为热点api;若所述api为热点api且未存储在所述缓存中,则将所述api存储至所述缓存。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述api为非热点api且已存储在所述缓存中,则将所述api从所述缓存中移出。3.根据权利要求1所述的方法,其特征在于,所述根据所述多个响应性能指标数据,判断所述api是否为热点api,包括:根据所述多个响应性能指标数据,计算所述api的响应分数;若所述响应分数大于预设分数阈值,则所述api为热点api;若所述响应分数小于或等于所述预设分数阈值,则所述api为非热点api。4.根据权利要求3所述的方法,其特征在于,所述根据所述多个响应性能指标数据,计算所述api的响应分数,包括:根据所述不同预设时间段内的多个响应性能指标数据,及所述多个响应性能指标数据对应的预设权重,计算各响应性能指标对应的响应分数;根据所述各响应性能指标对应的响应分数,计算所述api的响应分数。5.根据权利要求4所述的方法,其特征在于,所述根据所述不同预设时间段内的多个响应性能指标数据,及所述多个响应性能指标数据对应的预设权重,计算各响应性能指标对应的响应分数,包括:根据如下公式计算各响应性能指标对应的响应分数:score_n=(v1n*w1+v2n*w2+

+vmn*wm)*100/(v1n+v2n+

+vmn)其中,score_n表示所述api第n个响应性能指标对应的响应分数,n为正整数;vmn表示所述api在第m个预设时间段内第n个响应性能指标对应的响应性能指标数据,wm表示第m个预设时间段内各响应性能指标数据对应的预设权重。6.根据权利要求5所述的方法,其特征在于,所述根据所述各响应性能指标对应的响应分数,计算所述api的响应分数,包括:根据如下公式计算所述api的响应分数:score=(score_1+score_2+

+score_n)/100其中,score表示所述api的响应分数;score_1表示所述api第1个响应性能指标对应的响应分数;score_2表示所述api第2个响应性能指标对应的响应分数。7.根据权利要求6所述的方法,其特征在于,所述判断所述api是否已存储在缓存中,包括:根据所述api的标识信息,与所述缓存中已存储的api进行匹配;若匹配到与所述标识信息对应的api,则所述api已存储在所述缓存中;若未匹配到与所述标识信息对应的api,则所述api未存储在所述缓存中。8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述api为热点api且已存储在所述缓存中,或者,所述api为非热点api且未存储在所述缓存中,则结束缓存流程。9.一种应用程序接口api的缓存装置,其特征在于,包括:获取模块,用于响应于用户的操作获取api请求,所述api请求中包括api的标识信息,所述api请求用于用户访问目标应用程序;处理模块,用于根据所述api的标识信息,读取所述api在不同预设时间段内的多个响应性能指标数据,以及判断所述api是否已存储在缓存中;判断模块,用于根据所述多个响应性能指标数据,判断所述api是否为热点api;存储模块,用于若所述api为热点api且未存储在所述缓存中,则将所述api存储至所述缓存。10.一种电子设备,其特征在于,包括:至少一个处理器、存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备执行权利要求1至8任一项所述的应用程序接口api的缓存方法。11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至8任一项所述的应用程序接口api的缓存方法。

技术总结
本申请提供一种应用程序接口API的缓存方法、装置、设备及存储介质。该方法包括:响应于用户的操作获取API请求,其中,API请求中包括API的标识信息,API请求用于用户访问目标应用程序。进而根据API的标识信息,读取API在不同预设时间段内的多个响应性能指标数据,以及判断API是否已存储在缓存中。根据多个响应性能指标数据,判断API是否为热点API,若API为热点API且未存储在缓存中,则将API存储至缓存。本申请的方法,使得热点API的确定更加准确,提高了API的缓存效率。了API的缓存效率。了API的缓存效率。


技术研发人员:岳海涛 黄涛
受保护的技术使用者:联通数字科技有限公司 联通云数据有限公司
技术研发日:2023.03.29
技术公布日:2023/7/7
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐