CN111090449A - Api服务的访问方法、装置及电子设备 - Google Patents
Api服务的访问方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111090449A CN111090449A CN201811247892.XA CN201811247892A CN111090449A CN 111090449 A CN111090449 A CN 111090449A CN 201811247892 A CN201811247892 A CN 201811247892A CN 111090449 A CN111090449 A CN 111090449A
- Authority
- CN
- China
- Prior art keywords
- api
- data
- cache
- response
- validity period
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种API服务的访问方法、装置及电子设备,首先获取请求方发送的API访问请求,该API访问请求中携带有API标识;判断API标识对应的API是否开启了数据缓存;如果该API开启了数据缓存,则从API网关相应的缓存区域读取与上述API对应的缓存数据并返回至请求方。在方案中,API网关设置有缓存机制,将API服务对应的数据存储在相应的缓存区域中;在接收到API服务的访问请求后,从相应的缓存区域中直接读取数据返回,从而无需API服务模块和API网关部署在同一机器上,在保证API网关的性能和稳定性的同时,减少API服务访问时间,有效缓解API网关与API服务模块之间的网络通信问题。
Description
技术领域
本发明涉及云计算技术领域,尤其是涉及一种API服务的访问方法、装置及电子设备。
背景技术
云计算(Cloud Computing)由一系列可以动态升级和被虚拟化的资源组成,这些资源被所有云计算的用户共享,用户可以方便地通过API(Application ProgrammingInterface,应用程序编程接口)网关、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服务模块返回的数据是否正常;
在判断结果为所述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为本发明实施例提供的另一种API服务的访问装置的结构示意图;
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前API服务模块和API网关部署在同一个机器中,以减少API网关到API服务模块的网络通信需要的时间。然而由于机器本地资源有限,无法部署所有的API服务模块;且API服务模块和API网关部署在同一台机器上,API网关的性能、稳定性,会受到部署在同一台机器的其他API服务模块的影响。
基于此,本发明实施例提供的一种API服务的访问方法、装置及电子设备,在API网关设置有缓存机制,将API服务对应的数据存储在相应的缓存区域中;在接收到针对API服务的访问请求后,从相应的缓存区域中直接读取数据返回,从而无需API服务模块和API网关部署在同一机器上,在保证API网关的性能和稳定性的同时,减少API服务访问时间,有效缓解API网关与API服务模块之间的网络通信问题。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种API服务的访问方法进行详细介绍。该API服务的访问方法,应用于API服务的访问过程中,通过相关的硬件或者软件实现。
图1示出了本发明实施例提供的一种API服务的访问方法的流程示意图。如图1所示,该API服务的访问方法,可以应用于API网关,具体包括以下步骤:
步骤S101,获取请求方发送的API访问请求,该API访问请求中携带有API标识。
在实际应用时,首先将API服务模块与API网关建立通信连接,然后将API网关接入API网关接入平台。上述API服务模块为多个API的集合,用户可以通过API服务的访问请求,从API服务模块中调用相应的API,以为用户提供相应的服务,并由API服务模块返回相应的数据。
由API网关接入平台进行信息的配置。具体配置如下:确定该API网关接入平台管理的API服务模块中的各个API是否需要开启数据缓存;如果确定,为该API配置默认数据缓存的有效期,并生成相应的配置信息,将该配置信息传输至对应的API网关。
因此在上述步骤S101之前,上述方法还包括:接收API网关接入平台发送的配置信息。
在可能的实施例中,上述配置信息包括API是否需要API网关缓存数据,与API对应的数据缓存的有效期,还可以包括API的API标识。其中API是否需要API网关缓存数据可以通过相应的缓存开启标识符表示。例如当第一API的缓存开启标识符为1时,表示该第一API需要API网关缓存数据,即开启数据缓存;当第一API的缓存开启标识符为0时,表示该第一API不需要API网关缓存数据,即不需要开启数据缓存。
具体地,API网关在接收到配置信息后,根据该配置信息在本地内存中(如缓存)配置该API对应缓存区域,即在内存中划分一部分区域,用于缓存相应的API服务的应答数据。例如,某个API对应的缓存区域为内存地址0010至0100所在的区域。
在实际应用中,请求方可以通过客户端或者是WEB(World Wide Web,全球广域网)页面提交API访问请求。该API访问请求中可以但不限于包括:待访问的API对应的API标识、请求参数、请求方IP(Internet Protocol网络之间互连的协议)、URL(Uniform ResourceLocator,统一资源定位符)等信息。其中URL是根据预先提供的调用规范拼接生成的,该URL对应待访问API的缓存区域。
步骤S102,判断API标识对应的API是否开启了数据缓存。
API网关在接收到API请求后,根据该API标识查找对应的配置信息,例如可以读取配置信息中的缓存开启标识符,通过该缓存开启标识符确定该API是否开启了数据缓存。
步骤S103,在判断结果为API开启了数据缓存的情况下,从API网关的缓存区域中读取与上述API对应的缓存数据并返回至上述请求方。
当API网关确定API开启了数据缓存,则从接收到的API访问请求中读取URL,根据该URL定位到相应的缓存区域,并从该缓存区域读取缓存数据,将数据作为应答信息返回至请求方。其中该缓存数据是请求方之前访问该API时,API网关从API服务模块接收返回的数据并存储的。
在本发明提供的技术方案中,API网关设置有缓存机制,将API服务对应的数据存储在相应的缓存区域中;在接收到针对API服务的访问请求后,从相应的缓存区域中直接读取数据返回,从而无需API服务模块和API网关部署在同一机器上,在保证API网关的性能和稳定性的同时,减少API服务访问时间,有效缓解API网关与API服务模块之间的网络通信问题。
在上述实施例的基础上,本发明实施例提供了另一种API服务的访问方法的流程示意图。如图2所示,该API服务的访问方法包括:
步骤S201,获取请求方发送的API访问请求,该API访问请求中携带有API标识。
步骤S202,判断API标识对应的API是否开启了数据缓存。
该步骤S201和S202分别与步骤S101和S102类似,具体执行过程可参见步骤S101和S102,在此不再赘述。
当确定API标识对应的API未开启数据缓存时,执行步骤S203;当确定API标识对应的API开启数据缓存时,执行步骤S204。
步骤S203,将上述API访问请求转发至API服务模块,并接收API服务模块返回的应答信息,将上述应答信息转发至请求方。
在未开启数据缓存的情况下,API网关的本地内存中并未存储待访问的API对应的应答数据,因此直接将API访问请求转发至API服务模块,以获取应答信息。
步骤S204,对相应的缓存区域中的缓存数据进行校验,并判断是否校验成功。
在可能的实施例中,上述API访问请求还包括请求方的AK(Access Key,访问密钥)和服务标识,可以通过该AK和服务标识对应缓存数据进行校验,如果该AK和服务标识与缓存数据中的AK参数及标识参数匹配,则确定校验成功,执行步骤S205,否则执行步骤S207。
步骤S205,判断上述缓存数据的已缓存时间是否在预设的有效期内。
由于上述缓存数据是请求方之前访问该API时,API网关从API服务模块接收返回的数据并存储的,考虑到API服务模块返回的数据均具有相应的修改频率,如一天、一周或者是一个月,因此缓存区域中存储的缓存数据均设置有相应的有效期。需要说明的是,该有效期可以是上述与所述API对应的数据缓存的有效期,但并不限于此。
当确定上述缓存数据的已缓存时间在预设的有效期内,则执行步骤S206;当确定上述缓存数据的已缓存时间未在预设的有效期内,则执行步骤S207。其中,已缓存时间是指当前时刻与缓存数据进行缓存的初始时间的差值。
步骤S206,从上述缓存区域中读取上述缓存数据,并将该缓存数据返回至上述请求方。
步骤S207,将上述API访问请求转发至API服务模块。
如果对缓存区域中的缓存数据校验失败,或者缓存数据的已缓存时间超出有效期,则说明缓存区域中并没有满足需求的数据,因此需要从API服务模块获取应答信息。
步骤S208,获取上述API服务模块返回的应答信息,根据该应答信息判断API服务模块返回的数据是否正常。
例如可以通过在应答信息中设置相应的返回码,以表示是否为正常返回数据。如果该返回码为错误码,则表示返回的数据异常,执行步骤S209;如果该返回码为非错误码,则表示返回的数据正常。
步骤S209,将上述应答信息返回至上述请求方。
在返回的数据异常的情况下,返回的应答信息只作为提示信息发送至请求方,以进行提示,不再对该应答信息进行数据缓存。
在可能的实施例中,该应答信息可以HTTP(Hyper Text Transfer Protocol,超文本传输协议)报文的形式返回至API网关。
步骤S210,从应答信息中提取应答数据,将该应答数据存储至相应的缓存区域中,并设置该应答数据的有效期。
将该应答数据存储至缓存区域后,便于后续请求方再次访问该API时,直接从本地的缓存区域读取应答数据,加速了访问速度。
在可能的实施例中,在该报文的标头中设置时间信息,以指定该应答数据的缓存时间即有效期。
本发明实施例提供了两种设置上述应答数据的有效期的方式:
(1)从应答信息中提取时间信息,根据该时间信息设置应答数据的有效期。
读取HTTP报文的标头,从该标头中提取时间信息。按照该时间信息实现对应答数据的有效期的动态配置。
(2)根据由预先配置的默认有效时间,设置该应答数据的有效期。
读取API网关接入平台发送的配置信息,从该配置信息中读取默认有效期,按照该默认有效期实现对应答数据的有效期的静态配置。
考虑到数据修改频率的变化因素,设置上述第一种有效期的动态配置方式的优先级,高于第二种有效期的静态配置方式。例如,在实际应用中如果检测到HTTP报文的标头中包含有时间信息,则采用第一种,按照该时间信息进行有效期设置;如果检测到HTTP报文的标头中不包含时间信息,则采用第二种,按照配置信息中的默认有效期进行有效期设置。
步骤S211,将上述应答数据返回给请求方。
将上述应答数据缓存至对应的缓存区域的同时,将应答数据返回给请求方,从而完成了本次API服务的访问。
在本发明提供的技术方案中,API网关设置有缓存机制,将API服务对应的数据存储在相应的缓存区域中;在接收到针对API服务的访问请求后,从相应的缓存区域中直接读取数据返回,从而无需API服务模块和API网关部署在同一机器上,在保证API网关的性能和稳定性的同时,减少API服务访问时间,有效缓解API网关与API服务模块之间的网络通信问题。
针对于上述实施例提供的API服务的访问方法,本发明实施例还提供了一种API服务的访问装置。参见图3,该API服务的访问装置,应用于API网关,包括:
请求获取模块11,用于获取请求方发送的API访问请求,该API访问请求中携带有API标识;
开启判断模块12,用于判断上述API标识对应的API是否开启了数据缓存;
数据返回模块13,用于在判断结果为API开启了数据缓存时,从API网关相应的缓存区域读取上述API对应的缓存数据并返回至上述请求方。
进一步地,参见图4,该装置还包括信息配置模块14,该信息配置模块14用于:
接收API网关接入平台发送的配置信息;其中,该配置信息包括:API是否需要所述API网关缓存数据,与API对应的数据缓存的有效期。
进一步地,数据返回模块13还用于:
对上述缓存数据进行校验;
在校验成功的情况下,判断该缓存数据的已缓存时间是否在预设的有效期内;
在缓存数据在预设的有效期内的情况下,则从上述缓存区域中读取该缓存数据,并将该缓存数据返回至上述请求方。
进一步地,数据返回模块13还用于:
在对上述缓存区域中的缓存数据校验失败,或者上述缓存数据的已缓存时间超出所述有效期的情况下,则将上述API访问请求转发至API服务模块。
进一步地,数据返回模块13还用于:
获取上述API服务模块返回的应答信息,根据上述应答信息判断该API服务模块返回的数据是否正常;
在判断结果为上述API服务模块返回的数据正常的情况下,从上述应答信息中提取应答数据,将该应答数据存储至相应的缓存区域中,并设置该应答数据的有效期;
将上述应答数据返回至上述请求方。
进一步地,数据返回模块13还用于:
从上述应答信息中提取时间信息,根据该时间信息设置上述应答数据的有效期;
或者根据由预先配置的默认有效时间,设置上述应答数据的有效期。
进一步地,数据返回模块13还用于:
在判断结果为上述API服务模块返回的数据异常的情况下,将上述应答信息返回至上述请求方。
在本发明提供的技术方案中,API网关设置有缓存机制,将API服务对应的数据存储在相应的缓存区域中;在接收到针对API服务的访问请求后,从相应的缓存区域中直接读取数据返回,从而无需API服务模块和API网关部署在同一机器上,在保证API网关的性能和稳定性的同时,减少API服务访问时间,有效缓解API网关与API服务模块之间的网络通信问题。
参见图5,本发明实施例还提供一种电子设备100,包括:处理器40,存储器41,总线42和通信接口43,所述处理器40、通信接口43和存储器41通过总线42连接;处理器40用于执行存储器41中存储的可执行模块,例如计算机程序。
其中,存储器41可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口43(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线42可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器41用于存储程序,所述处理器40在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器40中,或者由处理器40实现。
处理器40可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器40中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器40可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器41,处理器40读取存储器41中的信息,结合其硬件完成上述方法的步骤。
本发明实施例提供的API服务的访问装置及电子设备,与上述实施例提供的API服务的访问方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本发明实施例所提供的进行API服务的访问方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置及电子设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
附图中的流程图和框图显示了根据本发明的多个实施例方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (16)
1.一种API服务的访问方法,其特征在于,应用于API网关,包括:
获取请求方发送的API访问请求,所述API访问请求中携带有API标识;
判断所述API标识对应的API是否开启了数据缓存;
在判断结果为所述API开启了数据缓存的情况下,从所述API网关相应的缓存区域中读取与所述API对应的缓存数据并返回至所述请求方。
2.根据权利要求1所述的方法,其特征在于,在所述获取请求方发送的API访问请求之前,还包括:
接收API网关接入平台发送的配置信息;其中,所述配置信息包括:所述API是否需要所述API网关缓存数据,与所述API对应的数据缓存的有效期。
3.根据权利要求1所述的方法,其特征在于,从所述API网关相应的缓存区域中读取与所述API对应的缓存数据并返回至所述请求方包括:
对所述缓存数据进行校验;
在校验成功的情况下,判断所述缓存数据的已缓存时间是否在预设的有效期内;
在所述缓存数据在预设的有效期内的情况下,从所述缓存区域中读取所述缓存数据,并将所述缓存数据返回至所述请求方。
4.根据权利要求3所述的方法,其特征在于,还包括:
在对所述缓存区域中的缓存数据校验失败,或者所述缓存数据的已缓存时间超出所述有效期的情况下,将所述API访问请求转发至所述API服务模块。
5.根据权利要求4方法所述的方法,其特征在于,在所述将所述API访问请求转发至API服务模块之后,还包括:
获取所述API服务模块返回的应答信息,根据所述应答信息判断所述API服务模块返回的数据是否正常;
在判断结果为所述API服务模块返回的数据正常的情况下,从所述应答信息中提取应答数据,将所述应答数据存储至相应的缓存区域中,并设置所述应答数据的有效期;
将所述应答数据返回至所述请求方。
6.根据权利要求5所述的方法,其特征在于,所述设置所述应答数据的有效期包括:
从所述应答信息中提取时间信息,根据所述时间信息设置所述应答数据的有效期;
或者根据由预先配置的默认有效时间,设置所述应答数据的有效期。
7.根据权利要求5所述的方法,其特征在于,还包括:
在判断结果为所述API服务模块返回的数据异常的情况下,将所述应答信息返回至所述请求方。
8.一种API服务的访问装置,其特征在于,应用于API网关,包括:
请求获取模块,用于获取请求方发送的API访问请求,所述API访问请求中携带有API标识;
开启判断模块,用于判断所述API标识对应的API是否开启了数据缓存;
数据返回模块,用于在判断结果为所述API开启了数据缓存的情况下,从所述API网关相应的缓存区域中读取与所述API对应的缓存数据并返回至所述请求方。
9.根据权利要求8所述的装置,其特征在于,还包括信息配置模块,用于接收API网关接入平台发送的配置信息;其中,所述配置信息包括:所述API是否需要所述API网关缓存数据,与所述API对应的数据缓存的有效期。
10.根据权利要求8所述的装置,其特征在于,所述数据返回模块还用于:
对所述缓存数据进行校验;
在校验成功的情况下,判断所述缓存数据的已缓存时间是否在预设的有效期内;
在所述缓存数据在预设的有效期内的情况下,从所述缓存区域中读取所述缓存数据,并将所述缓存数据返回至所述请求方。
11.根据权利要求10所述的装置,其特征在于,所述数据返回模块还用于:
在对所述缓存区域中的缓存数据校验失败,或者所述缓存数据的已缓存时间超出所述有效期的情况下,将所述API访问请求转发至所述API服务模块。
12.根据权利要求11方法所述的装置,其特征在于,所述数据返回模块还用于:
获取所述API服务模块返回的应答信息,根据所述应答信息判断所述API服务模块返回的数据是否正常;
在判断结果为所述API服务模块返回的数据正常的情况下,从所述应答信息中提取应答数据,将所述应答数据存储至相应的缓存区域中,并设置所述应答数据的有效期;
将所述应答数据返回至所述请求方。
13.根据权利要求12所述的装置,其特征在于,所述数据返回模块还用于:
从所述应答信息中提取时间信息,根据所述时间信息设置所述应答数据的有效期;
或者根据由预先配置的默认有效时间,设置所述应答数据的有效期。
14.根据权利要求12所述的装置,其特征在于,所述数据返回模块还用于:
在判断结果为所述API服务模块返回的数据异常的情况下,将所述应答信息返回至所述请求方。
15.一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至7任一项所述的方法。
16.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811247892.XA CN111090449A (zh) | 2018-10-24 | 2018-10-24 | Api服务的访问方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811247892.XA CN111090449A (zh) | 2018-10-24 | 2018-10-24 | Api服务的访问方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111090449A true CN111090449A (zh) | 2020-05-01 |
Family
ID=70392198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811247892.XA Pending CN111090449A (zh) | 2018-10-24 | 2018-10-24 | Api服务的访问方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111090449A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112468583A (zh) * | 2020-11-26 | 2021-03-09 | 福建天泉教育科技有限公司 | 一种api网关的信息处理方法与终端 |
CN113810468A (zh) * | 2021-08-13 | 2021-12-17 | 济南浪潮数据技术有限公司 | K8s架构下网关分发请求的方法、系统、设备和存储介质 |
CN113938527A (zh) * | 2021-08-31 | 2022-01-14 | 阿里巴巴(中国)有限公司 | Api网关的扩展处理方法、计算设备及存储介质 |
CN114785637A (zh) * | 2022-03-15 | 2022-07-22 | 浪潮云信息技术股份公司 | 一种api网关缓存响应数据的实现方法及系统 |
CN115396493A (zh) * | 2022-08-17 | 2022-11-25 | 融慧金科金融服务外包(北京)有限公司 | 分布式动态控制api超时响应的管理系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102202418A (zh) * | 2011-02-23 | 2011-09-28 | 华为技术有限公司 | 业务建立的方法、业务提供的方法、设备及系统 |
CN104348856A (zh) * | 2013-07-30 | 2015-02-11 | 杭州微元科技有限公司 | 一种通过广播网实现网络缓存更新的方法 |
CN106878370A (zh) * | 2016-09-19 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 一种本地缓存的更新方法和设备 |
CN108055322A (zh) * | 2017-12-12 | 2018-05-18 | 青岛海信智能商用系统股份有限公司 | 请求消息处理方法及装置 |
CN108696579A (zh) * | 2018-04-28 | 2018-10-23 | 北京奇艺世纪科技有限公司 | 一种请求响应方法、装置及电子设备 |
-
2018
- 2018-10-24 CN CN201811247892.XA patent/CN111090449A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102202418A (zh) * | 2011-02-23 | 2011-09-28 | 华为技术有限公司 | 业务建立的方法、业务提供的方法、设备及系统 |
CN104348856A (zh) * | 2013-07-30 | 2015-02-11 | 杭州微元科技有限公司 | 一种通过广播网实现网络缓存更新的方法 |
CN106878370A (zh) * | 2016-09-19 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 一种本地缓存的更新方法和设备 |
CN108055322A (zh) * | 2017-12-12 | 2018-05-18 | 青岛海信智能商用系统股份有限公司 | 请求消息处理方法及装置 |
CN108696579A (zh) * | 2018-04-28 | 2018-10-23 | 北京奇艺世纪科技有限公司 | 一种请求响应方法、装置及电子设备 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112468583A (zh) * | 2020-11-26 | 2021-03-09 | 福建天泉教育科技有限公司 | 一种api网关的信息处理方法与终端 |
CN112468583B (zh) * | 2020-11-26 | 2023-09-15 | 福建天泉教育科技有限公司 | 一种api网关的信息处理方法与终端 |
CN113810468A (zh) * | 2021-08-13 | 2021-12-17 | 济南浪潮数据技术有限公司 | K8s架构下网关分发请求的方法、系统、设备和存储介质 |
CN113810468B (zh) * | 2021-08-13 | 2023-04-18 | 济南浪潮数据技术有限公司 | K8s架构下网关分发请求的方法、系统、设备和存储介质 |
CN113938527A (zh) * | 2021-08-31 | 2022-01-14 | 阿里巴巴(中国)有限公司 | Api网关的扩展处理方法、计算设备及存储介质 |
CN113938527B (zh) * | 2021-08-31 | 2024-04-26 | 阿里巴巴(中国)有限公司 | Api网关的扩展处理方法、计算设备及存储介质 |
CN114785637A (zh) * | 2022-03-15 | 2022-07-22 | 浪潮云信息技术股份公司 | 一种api网关缓存响应数据的实现方法及系统 |
CN115396493A (zh) * | 2022-08-17 | 2022-11-25 | 融慧金科金融服务外包(北京)有限公司 | 分布式动态控制api超时响应的管理系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111090449A (zh) | Api服务的访问方法、装置及电子设备 | |
US9883002B2 (en) | Method and system for accessing website | |
JP6643491B2 (ja) | 識別子のタイムスタンプベースのマッチング | |
WO2017114206A1 (zh) | 短链接处理方法、装置及短链接服务器 | |
CN109542361B (zh) | 一种分布式存储系统文件读取方法、系统及相关装置 | |
CN109040052B (zh) | 一种信息处理方法、终端及计算机可读介质 | |
CN109391673B (zh) | 一种管理更新文件的方法、系统及终端设备 | |
CN111953770B (zh) | 一种路由转发方法、装置、路由设备及可读存储介质 | |
CN106899549B (zh) | 一种网络安全检测方法及装置 | |
CN110636068B (zh) | 在cc攻击防护中识别未知cdn节点的方法以及装置 | |
CN109889511B (zh) | 进程dns活动监控方法、设备及介质 | |
CN111510330B (zh) | 接口管理装置、方法及存储介质 | |
CN109446093B (zh) | 一种扩展平台接口测试方法与装置 | |
US11936763B2 (en) | Handling deferrable network requests | |
CN111835523B (zh) | 一种数据请求方法、系统及计算设备 | |
CN110943827B (zh) | 一种基于网络协议的数据获取方法及装置 | |
CN112152993A (zh) | 网页劫持的检测方法、装置、计算机设备以及存储介质 | |
CN111147235B (zh) | 对象访问方法、装置、电子设备及机器可读存储介质 | |
CN110413423B (zh) | 数据处理方法、相关装置、设备及存储介质 | |
CN112115103A (zh) | 文件地址显示方法、装置、电子设备及可读存储介质 | |
CN113938317A (zh) | 一种网络安全监测方法及计算机设备 | |
KR20100022281A (ko) | 유해 사이트에 대한 접근을 차단하는 무선 인터넷 서비스 방법 및 시스템 | |
CN109284616B (zh) | 数据访问和数据下发方法、装置、设备及存储介质 | |
CN108846141B (zh) | 一种离线缓存加载方法及装置 | |
CN108667769B (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 |