[发明专利]一种API网关缓存响应数据的实现方法及系统在审
申请号: | 202210251543.5 | 申请日: | 2022-03-15 |
公开(公告)号: | CN114785637A | 公开(公告)日: | 2022-07-22 |
发明(设计)人: | 张积磊;栗凯;朱璐;玄德 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | H04L12/66 | 分类号: | H04L12/66;H04L67/568 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜鹏 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 api 网关 缓存 响应 数据 实现 方法 系统 | ||
1.一种API网关缓存响应数据的实现方法及系统,其特征在于,包括以下步骤:
选择使用模板进行缓存插件的配置,格式选择yaml或者json等可以说明字段意义的方式即可,用户通过设置模板中的各项参数来进行插件配置;
当用户选择某个API去绑定某个缓存插件时,需要生成该绑定关系的唯一性Id,使用该Id和后端数据库存储的插件配置信息以及待绑定的API的各项参数信息去生成Kong插件的标准配置并保存,以此来让Kong读取,识别缓存插件的内容;
API调用模块,当用户调用API时,Kong读取该API的Kong配置文件,根据文件中是否存在缓存插件的配置来确定是否绑定缓存插件;
缓存插件执行模块判断API是否是第一次发起请求,如果是第一次请求,请求后成功HttpStatusCode400的响应数据按设计好的格式存储到Redis中,然后将响应数据返回给客户端;调用绑定了缓存插件的API时,响应数据中需要在Header中额外添加一个字段,通过该字段来告知客户端本次的响应数据是否使用了API缓存;由于绑定了缓存插件不代表一定进行了缓存数据的使用,当未使用允许缓存的后端Header,或是因为缓存超时而没有在Redis查询到缓存数据时,同样需要请求实际的后端;通过在响应信息中添加缓存是否使用的说明字段的方式,来保证用户在调用API时能够明确的知道是否使用到了API缓存;对于Redis缓存,需要设置其存储格式,保证API调用时,能够取出与所调用API相对应的正确的缓存信息,使用hash存储;
如果API不是第一次发起请求,则判断API是否携带配置文件中设置的Header信息,如果没有携带设置的信息,则进行正常的路由请求;若API不是第一次发起请求,也携带了设置好的Header信息,将根据API信息去Redis缓存中取出对应的缓存的响应数据,返回给客户端。
2.根据权利要求1所述的一种API网关缓存响应数据的实现方法,其特征在于:缓存插件创建的参数分为参数唯一性定义byParameters与缓存插件特有Header定义cacheableHeaders两部分,当一个绑定缓存插件的API被调用时,通过前者区分网关应当从缓存数据库中取出的数据;后者定义缓存插件需要识别的Header,此时API即使绑定了缓存插件,但没有携带模板中配置的允许缓存的后端Header时,也不会启用针对该API的数据缓存功能;通过这种方式,使API不需要频繁的解绑插件,就可以灵活的开启或者关闭数据缓存功能。
3.根据权利要求2所述的一种API网关缓存响应数据的实现方法,其特征在于:用户创建插件时,需要对创建出来的插件模板进行合法性校验,主要包括插件名称校验,类型长度合法性校验以及模板配置解析校验等;当缓存插件创建后,后端将该配置保存到后端持久化存储的数据库中,以便后续绑定API时生成相应的Kong插件配置。
4.根据权利要求1所述的一种API网关缓存响应数据的实现方法,其特征在于:每进行一次API的缓存插件绑定操作都将生成一个Kong的插件配置,将该配置更新到该API的Kong配置文件中,用以在调用API时Kong对配置的识别与处理。
5.一种API网关缓存响应数据的实现系统,其特征在于:包括缓存插件创建模块、插件绑定模块、API调用模块、缓存插件执行模块以及缓存数据返回模块;
插件绑定模块将API绑定在插件创建模块的插件上,API调用模块读取API的Kong配置文件,缓存插件执行模块对首次发起的API数据处理,缓存数据返回模块对非首次提出的API数据处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210251543.5/1.html,转载请声明来源钻瓜专利网。