一种动态配置API访问量的方法和网关及系统技术方案

技术编号:10680897 阅读:95 留言:0更新日期:2014-11-26 13:40
本发明专利技术公开了一种动态配置API访问量的方法和网关及系统,其中方法包括:计算各应用程序接口API所占用权值,以及根据历史访问量计算出该API集合内各API历史访问量权值;根据历史访问量和资源的实际访问量计算修正后理论访问量;基于计算修正后理论访问量判断下一次理论访问量与上一次理论访问量的大小关系;如果判断下一次理论访问量大于等于上一次理论访问量,则将上一次理论访问量配置为API访问量;如果判断下一次理论访问量小于上一次理论访问量,则重新构造约束集合进行计算。通过本发明专利技术实施例,采用动态规划最优化策略替代原有的静态服务配置协议文件,实现对服务器资源的统一调度、合理分配。

【技术实现步骤摘要】
一种动态配置API访问量的方法和网关及系统
本专利技术涉及信息
,具体涉及一种动态配置API访问量的方法和网关及系统。
技术介绍
工业界常用的应用程序编程接口(ApplicationProgrammingInterface,API)安全与管理平台是一套运行在数据中心、云服务中心的应用软件,针对API生产者、API消费者、API管理者等角色,提供了API网关、API门户、API生命周期管理、API监控、API密钥管理及API实用情况分析等组件功能,图1示出了API安全与管理平台的结构示意图。API安全与管理平台运行的系统环境包括:符合J2EE规范的中间件(例如:Tomcat、Weblogic等),Oracle或Mysql数据库。与传统的应用程序直接调用应用程序接口API不同,信息中心需要先启用API安全与管理软件,应用程序在调用资源内的应用程序接口(API)之前,会通过一个API网关,该网关能够根据某种调度策略实现对API的安全访问控制和动态调用,即API网关模块负责对整个API资源进行路由代理、性能分配。如图2所示,API网关作为中间结点工作在应用程序与服务器API资源之间,起着API资源调度和控制的重要作用。比如假设1个API后台系统每秒最大支持100个并发请求,超过这个数值,系统就会崩溃,因此要对请求限制。假如目前有20个消费者订阅,平均1秒请求1个,峰值每秒请求10个,那么就要限制每个订阅的请求在10个以下。目前业界普遍采用一种“节气门”技术,通过服务等级协议(Service-LevelAgreement,SLA),设置每层服务协议最大可用的请求数目。例如,一级服务每小时最大5000个请求,二级服务每小时最大50个请求。比如设定了某个API最大可调用次数是50,每次的连接时间是60000毫秒。因此当应用程序调用该API超过50次的时候,就不允许再调用了,这对某些特定业务频繁操作的应用程序来说,是不合适的。在现有的API网关技术中,“节气门”技术是一种静态的文件配置方法。该技术对于API请求的资源分配是通过服务配置协议文件设置的。如图4所示,如果某个消费者属于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访问量的方法,其特征在于,所述方法包括:计算各应用程序接口API所占用权值,以及根据历史访问量计算出该API集合内各API历史访问量权值根据历史访问量和资源的实际访问量计算修正后理论访问量,计算修正后允许访问,修正后允许访问第j个API的理论访问量公示为:其中:表示第r次修正时第j个API的历史访问量统计的权值,为第r次修正后允许访问第j个API的理论访问量,i表示第i个应用程序请求;基于计算修正后理论访问量判断下一次理论访问量与上一次理论访问量的大小关系;如果判断下一次理论访问量大于等于上一次理论访问量,则将上一次理论访问量配置为API访问量;如果判断下一次理论访问量小于上一次理论访问量,则将下一次理论访问量之后的分量重新构造约束集合进行计算。2.如权利要求1所述的动态配置API访问量的方法,其特征在于,所述基于计算修正后理论访问量判断下一次理论访问量与上一次理论访问量的大小关系之前还包括:判断修正后资源使用情况是否在负载以内,如果资源使用情况在负载以内,则基于计算修正后理论访问量判断下一次理论访问量与上一次理论访问量的大小关系;如果资源使用情况在负载以外,则计算负载引入参数,使得修正后理论访问量在负载范围内,则基于负载引入参数和计算修正后理论访问量判断下一次理论访问量与上一次理论访问量的大小关系。3.如权利要求2所述的动态配置API访问量的方法,其特征在于,所述如果判断下一次理论访问量小于上一次理论访问量,则将下一次理论访问量之后的分量重新构造约束集合进行计算中还包括:当下一次理论访问量小于上一次理论访问量,则将下一次理论访问量之后的分量重新构造成一个约束集合,进行API所占用权值和API历史访问量权值计算,最终完成API访问量的配置。4.如权利要求1至3任一项所述的动态配置API访问量的方法,其特征在于,所述方法还包括:当某个时段内新增的访问请求量大于客户预先配置的阀值参数时,触发进行API所占用权值和API历史访问量权值计算,最终完成API访问量的配置。5.一种API网关,其特征在于,所述API网关包括:API占用权值计算模块,用于计算各应用程序接口API所占用权值;历史访问量权值计算模块,用于根据历史访问量计算出该API集合内各API历史访问量权值修正访问量计算模块,用于根据历史访问量和资源的实际访问量计算修正后理论访问量,计算修正后允许访问,修正后允许访问第j个API的理论访问量公示为:其中:表示第r次修正时第j个API的历史访问量统计的权值,,为第r次修正后允许访问第j个API的理...

【专利技术属性】
技术研发人员:胡波董明严平匡前义
申请(专利权)人:广州联智信息科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1