API请求的处理方法及装置与流程

文档序号:16063459发布日期:2018-11-24 12:25阅读:139来源:国知局

本发明实施例涉及通信技术,尤其涉及一种应用程序编程接口(applicationprogramminginterface,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请求进行路由的方式,本发明实施例在进行api请求的路由时,依据了api请求中的更多内容,从而,提高了api请求路由的正确率。

附图说明

图1是本发明实施例提供的api请求的处理方法的应用场景的示意图;

图2是本发明实施例提供的api请求的处理方法实施例一的流程示意图;

图3是本发明实施例提供的api请求的处理方法实施例二的流程示意图;

图4为图3所示实施例中配置数据的一种实现方式的示意图;

图5是本发明实施例提供的api请求的处理方法实施例三的流程示意图;

图6是本发明实施例提供的api请求的处理装置实施例一的结构示意图;

图7是本发明实施例提供的api请求的处理装置实施例二的结构示意图;

图8是本发明实施例提供的api请求的处理装置实施例三的结构示意图;

图9是本发明实施例提供的一种服务器的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

图1是本发明实施例提供的api请求的处理方法的应用场景的示意图。如图1所示,本发明实施例提供的api请求的处理方法可以由电商平台的负载均衡服务器12执行。负载均衡服务器12分别与客户端11及后端的业务服务器集群13连接。每个业务服务器集群13中均包括多个业务服务器131。负载均衡服务器12还可以与每个业务服务器131连接。不同的业务服务器集群13处理的业务或操作不同。客户端11可以向电商平台发送api请求,以进行购物或其他操作。电商平台中的负载均衡服务器12接收客户端发送的api请求,并需要根据api请求中包括的内容对api请求路由,即,负载均衡服务器12需要确定将接收到的api请求发送至哪个业务服务器集群13,并确定发送至该业务服务器集群中哪个业务服务器。该业务服务器接收到api请求后,对该api请求进行处理,以完成客户端11所请求的业务或操作。本发明实施例提供的api请求的处理方法中,负载均衡服务器12可以根据api请求中的目标域名及目标接口标识对api请求进行路由,相较于目前只根据api请求中的请求路径对api请求进行路由的方式,本发明实施例在进行api请求的路由时,依据了api请求中的更多内容,从而,提高了路由的正确率。

图2是本发明实施例提供的api请求的处理方法实施例一的流程示意图。如图2所示,本发明实施例提供的api请求的处理方法包括如下步骤:

步骤201:接收客户端发送的api请求。

其中,api请求中包括api请求待访问的目标域名以及目标域名下的api请求待访问的目标接口标识。

具体地,客户端在接收到用户的操作时,根据用户的操作生成api请求,并将该api请求发送至负载均衡服务器。

本发明实施例中所涉及的api请求可以为超文本传输协议(hypertexttransportprotocol,http)请求或者网络套接字(websocket)请求。

api请求中包括其待访问的目标域名及目标域名下的待访问的目标接口标识等多项内容。以下以api请求为http请求为例进行说明,假设某个http请求的请求头中包括:

https://www.example.com/gateway/api?method=trade.create&spm=a21bo.2017.201870.1.62d311d99ylh9g&contentid=25048864,其中,www.example.com为该http请求待访问的目标域名,/gateway/api为该http请求的目标请求路径,method=trade.create&spm=a21bo.2017.201870.1.62d311d99ylh9g&contentid=25048864为该目标域名下该http请求的参数,其中method=trade.create为待访问的目标接口标识(可以使用任意参数作为接口标识)。

从上述例子中可以看出,api请求中目标域名下包括目标请求路径和目标接口标识。在实际业务中,多个不同的目标接口标识可能会具有相同的目标请求路径,因此,目前只根据目标请求路径对api请求进行路由的方式会造成api请求的路由正确率较低。

需要说明的是,本发明实施例中,api请求中的目标接口标识为该api请求所请求的业务的标识或者发送该api请求的客户端的用户所进行的操作的标识。

步骤202:获取api请求中的目标域名与目标接口标识。

具体地,负载均衡服务器可以从api请求的请求头中获取目标域名及目标接口标识。

更具体地,负载均衡服务器可以根据api请求的请求头的标识字段识别目标域名及目标接口标识。继续以步骤201中的http请求的例子为例进行说明,目标域名的标识字段可以是以“://”为开始标识字段,以“://”之后的第一个“/”为结束标识字段,请求的参数是“?”为开始标识字段,以空格或回车为结束标识字段,目标接口标识是请求的参数中的任意一个。

步骤203:根据配置数据、目标域名与目标接口标识,确定api请求对应的目标业务服务器集群,并确定目标业务服务器集群中接收api请求的目标业务服务器。

其中,配置数据用于指示域名、接口标识与业务服务器集群的映射关系。

具体地,负载均衡服务器在获取到api请求中的目标域名和目标接口标识之后,可以基于获取到的api请求中的内容以及配置数据,确定该api请求对应的目标业务服务器集群。

本发明实施例中的配置数据与目前的配置数据的区别在于:本发明实施例中的配置数据指示的是所有的api请求中的域名、接口标识与业务服务器集群的映射关系;目前的配置数据指示的是所有的api请求中的请求路径与业务服务器集群的映射关系。

配置数据具体如何指示域名、接口标识与业务服务器集群之间的映射关系的方案将在实施例二中进行详细描述。

本发明实施例中的配置数据可以是负载均衡服务器中内置的配置文件中的数据,也可以是负载均衡服务器从配置系统中读取并存储的配置数据。后一种实现方式将在实施例二中进行详细描述。

本发明实施例中,负载均衡服务器在确定出api请求对应的目标业务服务器集群后,可以根据负载均衡策略确定该目标业务服务器集群中接收该api请求的目标业务服务器。

具体的负载均衡策略可以有以下几种:

1、轮询方式:将api请求依次轮询发送给目标业务服务器集群中的每个业务服务器;

2、最小链接方式:将api请求发送给目标业务服务器集群中目前负载最少的业务服务器;

3、互联网协议(internetprotocol,ip)地址哈希方式:通过对目标业务服务器集群中的业务服务器的ip地址进行哈希计算,确定将api请求发送给哪个业务服务器;

4、权重方式:目标业务服务器集群中的业务服务器的权重越大,处理api请求的概率越高。

负载均衡服务器按照上述负载均衡策略,从目标业务服务器集群中确定出具体处理该api请求的目标业务服务器。

步骤204:将api请求发送至目标业务服务器。

具体地,目标业务服务器在接收到负载均衡服务器发送的api请求后,对该api请求进行处理,并将处理结果反馈至客户端。例如,api请求的请求操作为将物品a放入购物车中,则目标业务服务器接收到该api请求后,执行将物品a放入购物车的操作,并将处理结果反馈给客户端,则客户端会显示物品a已经放入购物车的页面。

目标业务服务器反馈处理结果的方式可以是目标业务服务器直接反馈给客户端,也可以是目标业务服务器先将处理结果反馈至负载均衡服务器,再由负载均衡服务器将处理结果反馈至客户端。本发明实施例对此不做限制。

本发明实施例提供的api请求的处理方法,通过接收客户端发送的api请求,其中,api请求中包括api请求待访问的目标域名以及目标域名下的api请求待访问的目标接口标识,获取api请求中的目标域名与目标接口标识,根据配置数据、目标域名与目标接口标识,确定api请求对应的目标业务服务器集群,并确定目标业务服务器集群中接收api请求的目标业务服务器,将api请求发送至目标业务服务器,实现了根据api请求中的目标域名与目标接口标识对api请求进行路由,相较于目前只根据api请求中的请求路径对api请求进行路由的方式,本发明实施例在进行api请求的路由时,依据了api请求中的更多内容,从而,提高了api请求路由的正确率。

图3是本发明实施例提供的api请求的处理方法实施例二的流程示意图。本发明实施例在图2所示实施例的基础上,对根据配置数据、目标域名与目标接口标识,确定api请求对应的目标业务服务器集群的具体步骤作一详细说明。如图3所示,本发明实施例提供的api请求的处理方法包括如下步骤:

步骤301:从配置系统中读取配置数据,并存储配置数据。

本发明实施例中的配置数据具体用于指示域名与路由规则集的映射关系,路由规则集中包括多个路由规则,每个路由规则用于指示接口标识与业务服务器集群的映射关系。

图4为图3所示实施例中配置数据的一种实现方式的示意图。如图4所示,本发明实施例中的配置数据的结构包括两级映射:

第一级映射为域名与路由规则集的映射关系,一个域名可以对应多个路由规则集,图4中,域名a与路由规则集a1、a2、a3及a4对应,域名b与路由规则集b1、b2及b3对应;

第二级映射为路由规则集中的每个路由规则指示的映射关系,每个路由规则集中包括多个路由规则,每个路由规则指示接口标识与业务服务器集群的映射关系,图4中,举例来说,路由规则集a1中包括路由规则a11及路由规则a12,路由规则a11用于指示接口标识a111与业务服务器集群a112的映射关系,路由规则a12用于指示接口标识a113与业务服务器集群a114的映射关系。

本发明实施例中的配置系统指的是能通过界面对配置数据进行修改的系统。配置系统和负载均衡服务器之间可以进行通信。

第一种实现方式中,负载均衡服务器在接收api请求之前从配置系统中读取配置数据,并将该配置数据存储在存储空间中。

目前的api请求的路由方式中,配置数据内置在负载均衡服务器中,在负载均衡服务器开始对api请求进行路由后,假设配置数据被修改,如果希望修改后的配置数据生效,则需要重新启动负载均衡服务器,这花费了较长时间,导致了负载均衡服务器对api请求的处理效率降低,会造成api请求的堆积,无法满足业务实际需求。同时,目前对配置数据进行修改的步骤较为繁琐,修改效率较低。

本发明实施例中,一方面,设置了单独的配置系统,开发人员可以通过该配置系统的界面对配置数据进行修改,步骤简洁,修改效率较高。另一方面,本发明实施例中,在接收api请求之前,负载均衡服务器读取配置数据并存储该配置数据,假设配置数据已经被修改,则负载均衡服务器会更新修改后的配置数据,在后续处理api请求时,就会按照该最新的配置数据处理,在此过程中,并不会重新启动负载均衡服务器。相较于目前在配置数据修改后需要重启负载均衡服务器的情况,本发明实施例中并不会出现由于修改了配置数据而导致负载均衡服务器的处理效率降低甚至中断的情况。

第二种实现方式中,负载均衡服务器在“根据配置数据以及目标域名,确定配置数据中目标域名对应的目标路由规则集”之前,从配置系统中读取配置数据,并存储配置数据。即,在该实现方式中,步骤301、步骤302与步骤303并没有时序关系,只要保证步骤301在步骤304之前执行即可。该实现方式同样可以达到第一种实现方式的技术效果,此处不再赘述。

步骤302:接收客户端发送的api请求。

其中,api请求中包括api请求待访问的目标域名以及目标域名下的api请求待访问的目标接口标识。

步骤302与步骤201的技术原理和实现过程类似,此处不再赘述。

步骤303:获取api请求中的目标域名与目标接口标识。

步骤303与步骤202的技术原理和实现过程类似,此处不再赘述。

步骤304:根据配置数据以及目标域名,确定配置数据中目标域名对应的目标路由规则集。

步骤305:根据目标路由规则集及目标接口标识,确定目标路由规则集中目标接口标识对应的目标路由规则,并确定目标路由规则对应的目标业务服务器集群。

在步骤304与步骤305中,基于配置数据的两级映射结构,先依据配置数据以及目标域名,从第一级映射关系中确定出目标域名对应的目标路由规则集,再依据该目标路由规则集及目标接口标识,从第二级映射关系中确定出目标接口标识对应的目标路由规则,进而,从该目标路由规则中确定出目标业务服务器集群。

举例来说,以图4为例进行说明,假设一个api请求中,目标域名为域名a,目标接口标识为a113。依据域名a和配置数据可以确定出域名a对应的目标路由规则集为a1、a2、a3及a4。再根据接口标识a113及目标路由规则集a1、a2、a3及a4,确定接口标识a113对应的目标路由规则为a12,目标路由规则a12对应的目标业务服务器集群为a114。至此可以确定出目标域名a、目标接口标识a113的api请求对应的目标业务服务器集群为a114。

步骤306:确定目标业务服务器集群中接收api请求的目标业务服务器。

步骤306与步骤203中相应技术特征的技术原理和实现过程类似,此处不再赘述。

步骤307:将api请求发送至目标业务服务器。

步骤307与步骤204的技术原理和实现过程类似,此处不再赘述。

本发明实施例提供的api请求的处理方式,通过从配置系统中读取配置数据,并存储配置数据,配置数据具体用于指示域名与路由规则集的映射关系,路由规则集中包括多个路由规则,每个路由规则用于指示接口标识与业务服务器集群的映射关系,接收客户端发送的api请求,获取api请求中的目标域名与目标接口标识,根据配置数据以及目标域名,确定配置数据中目标域名对应的目标路由规则集,根据目标路由规则集及目标接口标识,确定目标路由规则集中目标接口标识对应的目标路由规则,并确定目标路由规则对应的目标业务服务器集群,确定目标业务服务器集群中接收api请求的目标业务服务器,将api请求发送至目标业务服务器,一方面,设置了单独的配置系统,开发人员可以通过该配置系统的界面对配置数据进行修改,步骤简洁,修改效率较高,另一方面,负载均衡服务器每处理完一个api请求,就会重新从配置系统中读取最新的配置数据,并存储该配置数据,在处理下一个api请求时,就会按照该最新的配置数据处理,在此过程中,并不会重新启动负载均衡服务器,不会出现由于修改了配置数据而导致负载均衡服务器的处理效率降低的情况,再一方面,根据配置数据的具体实现方式确定目标业务服务器集群的过程简洁,实现效率较高。因此,本发明实施例提供的api请求的处理方法,在提高api请求路由正确率的基础上,提高了配置数据的修改效率以及提高了处理api请求的处理效率。

图5是本发明实施例提供的api请求的处理方法实施例三的流程示意图。本发明实施例在图2和图3所示实施例的基础上,对如何对api请求进行限速的步骤作一详细说明。如图5所示,本发明实施例提供的api请求的处理方法包括如下步骤:

步骤501:接收客户端发送的api请求。

其中,api请求中包括api请求待访问的目标域名以及目标域名下的api请求待访问的目标接口标识。

步骤501与步骤201的技术原理和实现过程类似,此处不再赘述。

步骤502:获取api请求中的目标域名与目标接口标识。

步骤502与步骤202的技术原理和实现过程类似,此处不再赘述。

在本发明实施例中也可以在接收客户端发送的api请求之前,从配置系统中读取配置数据,并存储配置数据。其实现过程与实施例二中的实现过程相同,此处不再赘述。

本发明实施例中,负载均衡服务器除了可以对api请求进行路由之外,还可以对api请求进行限速,以保证电商平台的负载不会超出其能力范围,或者,保证业务的正常运行。

在本发明实施例中,配置数据还用于指示每种接口标识对应的接口请求数量的上限值。不同的接口标识对应的接口请求数量的上限值可以不同,也可以相同,具体可以根据电商平台的实际业务需求进行设置。

步骤503:根据配置数据及目标接口标识,确定目标接口标识对应的第一目标上限值。

例如,电商平台在推出一项秒杀业务后,将该业务的数量限制为10000个。如果目标接口标识对应的业务为秒杀业务,则第一目标上限值为10000。

步骤504:统计当前与目标接口标识具有相同接口标识的接口请求的第一数量,并判断第一数量是否超过第一目标上限值。

步骤505:当确定第一数量大于或等于第一目标上限值时,拒绝继续处理api请求。

步骤506:当确定第一数量小于第一目标上限值时,确定执行根据配置数据、目标域名与目标接口标识,确定api请求对应的目标业务服务器集群的步骤。

在步骤503-步骤506中,首先确定出目标接口标识对应的第一目标上限值。然后,统计当前与目标接口标识具有相同接口标识的接口请求的第一数量,判断该第一数量与第一目标上限值的大小,以确定需要如何处理该api请求。如果第一数量大于或等于第一目标上限值,说明此时目标接口标识对应的目标接口请求的数量已经达到限值,为了保证目标接口标识对应的业务或者操作按照预期运行,则需要拒绝处理该api请求。如果第一数量小于第一目标上限值,说明此时目标接口标识对应的目标接口请求的数量还没有达到限值,可以继续处理该api请求。

步骤507:根据配置数据、目标域名与目标接口标识,确定api请求对应的目标业务服务器集群。

步骤507与步骤203中相应技术特征的技术原理和实现过程类似,此处不再赘述。

可选地,本发明实施例中,配置数据还用于指示每组业务服务器集群能处理的接口请求数量的上限值。该上限值可以表明业务服务器集群的处理能力,在该上限值内的api请求可以被处理,超出该上限值的api请求无法被处理。

步骤508:根据配置数据及目标业务服务器集群,确定目标业务服务器集群对应的第二目标上限值。

步骤509:统计目标业务服务器集群当前处理的接口请求的第二数量,并判断第二数量是否超过第二目标上限值。

步骤510:当确定第二数量大于或等于第二目标上限值时,拒绝继续处理api请求。

步骤511:当确定第二数量小于第二目标上限值时,确定执行确定目标业务服务器集群中接收api请求的目标业务服务器的步骤。

在步骤508-步骤511中,首先确定出目标业务服务器集群对应的第二目标上限值。然后,统计该目标业务服务器集群当前处理的接口请求的第二数量,判断该第二数量与第二目标上限值的大小,以确定需要如何处理该api请求。如果第二数量大于或等于第二目标上限值,说明该目标业务服务器集群已经达到处理能力的上限,无法再处理该api请求,则负载均衡服务器需要拒绝处理该api请求。如果第二数量小于第二目标上限值,说明此时该目标业务服务器集群还没有达到处理能力的上限,还可以处理该api请求。

步骤512:确定目标业务服务器集群中接收api请求的目标业务服务器。

步骤512与步骤203中的相应技术特征的技术原理和实现过程类似,此处不再赘述。

步骤513:将api请求发送至目标业务服务器。

步骤513与步骤204的技术原理和实现过程类似,此处不再赘述。

需要说明的是,在本发明实施例中,步骤503-步骤506与步骤508-步骤511可以只选其中的一组执行:如果执行步骤503-步骤506,则只是进行接口请求数量的限制,以保证业务按照预期运行;如果执行步骤508-步骤511,则是对业务服务器集群的处理能力进行限制,避免出现在业务服务器集群达到处理极限时,还发送api请求,使业务服务器集群出现宕机等现象。

在本发明实施例中,步骤503-步骤506与步骤508-步骤511也可以都执行,即,同时对接口请求数量进行限制和对业务服务器集群的处理能力进行限制。

本发明实施例提供的api请求的处理方法,通过对api请求进行限速,一方面实现对接口请求数量的限制,以保证业务按照预期运行,另一方面,对业务服务器集群的处理能力进行限制,避免出现在业务服务器集群达到处理极限时,还发送api请求,使业务服务器集群出现宕机等现象,提高了业务服务器集群的运行稳定性。

图6是本发明实施例提供的api请求的处理装置实施例一的结构示意图。如图6所示,本发明实施例提供的api请求的处理装置包括如下模块:接收模块61、获取模块62、第一确定模块63以及发送模块64。

接收模块61,用于接收客户端发送的api请求。

其中,api请求中包括api请求待访问的目标域名以及目标域名下的api请求待访问的目标接口标识。

获取模块62,用于获取api请求中的目标域名与目标接口标识。

可选地,获取模块62具体用于:从api请求的请求头中获取目标域名与目标接口标识。

第一确定模块63,用于根据配置数据、目标域名与目标接口标识,确定api请求对应的目标业务服务器集群,并确定目标业务服务器集群中接收api请求的目标业务服务器。

其中,配置数据用于指示域名、接口标识与业务服务器集群的映射关系。

发送模块64,用于将api请求发送至目标业务服务器。

本发明实施例中的api请求为:http请求或者websocket请求。

本发明实施例所提供的api请求的处理装置可执行本发明图2所示实施例所提供的api请求的处理方法,具备执行方法相应的功能模块和有益效果。

图7是本发明实施例提供的api请求的处理装置实施例二的结构示意图。本发明实施例在图7所示实施例的基础上,对api请求的处理装置中的其他模块以及第一确定模块63的具体组成作一详细说明。如图7所示,本发明实施例提供的api请求的处理装置还包括:

读取存储模块71,用于从配置系统中读取配置数据,并存储配置数据。

本发明实施例中,配置数据具体用于指示域名与路由规则集的映射关系,路由规则集中包括多个路由规则,每个路由规则用于指示接口标识与业务服务器集群的映射关系。

基于配置数据的这种实现方式,第一确定模块63具体包括:第一确定子模块631和第二确定子模块632。

第一确定子模块631,用于根据配置数据以及目标域名,确定配置数据中目标域名对应的目标路由规则集。

第二确定子模块632,用于根据目标路由规则集及目标接口标识,确定目标路由规则集中目标接口标识对应的目标路由规则,并确定目标路由规则对应的目标业务服务器集群。

本发明实施例所提供的api请求的处理装置可执行本发明图3所示实施例所提供的api请求的处理方法,具备执行方法相应的功能模块和有益效果。

图8是本发明实施例提供的api请求的处理装置实施例三的结构示意图。本发明实施例在图6和图7所示实施例的基础上,配置数据还用于指示每种接口标识对应的接口请求数量的上限值,以及,配置数据还用于指示每组业务服务器集群能处理的接口请求数量的上限值。基于配置数据的这种实现方式,本发明实施例对api请求的处理装置包括的其他模块作一详细说明。如图8所示,本发明实施例提供的api请求的处理装置还包括:第二确定模块81、第一统计判断模块82、第一拒绝模块83、第三确定模块84、第四确定模块85、第二统计判断模块86、第二拒绝模块87以及第五确定模块88。

第二确定模块81,用于根据配置数据及目标接口标识,确定目标接口标识对应的第一目标上限值。

第一统计判断模块82,用于统计当前与目标接口标识具有相同接口标识的接口请求的第一数量,并判断第一数量是否超过第一目标上限值。

第一拒绝模块83,用于当确定第一数量大于或等于第一目标上限值时,拒绝继续处理api请求。

第三确定模块84,用于当确定第一数量小于第一目标上限值时,确定执行根据配置数据、目标域名与目标接口标识,确定api请求对应的目标业务服务器集群的步骤。

第四确定模块85,用于根据配置数据及目标业务服务器集群,确定目标业务服务器集群对应的第二目标上限值。

第二统计判断模块86,用于统计目标业务服务器集群当前处理的接口请求的第二数量,并判断第二数量是否超过第二目标上限值。

第二拒绝模块87,用于当确定第二数量大于或等于第二目标上限值时,拒绝继续处理api请求。

第五确定模块88,用于当确定第二数量小于第二目标上限值时,确定执行确定目标业务服务器集群中接收api请求的目标业务服务器的步骤。

本发明实施例所提供的api请求的处理装置可执行本发明图5所示实施例所提供的api请求的处理方法,具备执行方法相应的功能模块和有益效果。

图9是本发明实施例提供的一种服务器的结构示意图。如图9所示,该服务器包括处理器91和存储器92。服务器中处理器91的数量可以是一个或多个,图9中以一个处理器91为例;服务器中的处理器91和存储器92可以通过总线或其他方式连接,图9中以通过总线连接为例。

存储器92作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的api请求的处理方法对应的程序指令/模块(例如,api请求的处理装置中的接收模块61、获取模块62、第一确定模块63以及发送模块64)。处理器91通过运行存储在存储器92中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述的api请求的处理方法。

存储器92可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器92可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器92可进一步包括相对于处理器91远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种api请求的处理方法,该方法包括:

接收客户端发送的api请求;其中,所述api请求中包括所述api请求待访问的目标域名以及所述目标域名下的所述api请求待访问的目标接口标识;

获取所述api请求中的目标域名与目标接口标识;

根据配置数据、所述目标域名与所述目标接口标识,确定所述api请求对应的目标业务服务器集群,并确定所述目标业务服务器集群中接收所述api请求的目标业务服务器;其中,所述配置数据用于指示域名、接口标识与业务服务器集群的映射关系;

将所述api请求发送至所述目标业务服务器。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的api请求的处理方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述api请求的处理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1