System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于API网关的版本控制方法和系统技术方案_技高网

一种基于API网关的版本控制方法和系统技术方案

技术编号:41524434 阅读:2 留言:0更新日期:2024-06-03 22:58
本申请涉及API网关技术领域,特别涉及一种基于API网关的版本控制方法和系统。包括:确认API网关管理下的所有API,并将这些API加入监控列表中;获取API网关对API的监控日志,且定义监控列表中每个API当前版本的贡献级别;根据API当前版本的贡献级别将监控列表拆分成多个子监控列表,确定每个子监控列表的监控策略;评估每个子监控列表的监控策略的有效性,并调整监控策略进行API监控;若接收到版本更新的通知或监控到API需要更新,则对API进行版本更新。通过定义监控列表中每个API当前版本的贡献级别,确定对应的监控策略,使得API及时进行更新。

【技术实现步骤摘要】

本申请涉及api网关,更具体地,涉及一种基于api网关的版本控制方法和系统。


技术介绍

1、基于api网关的版本控制方案涉及使用api网关作为中心点来管理和路由到不同版本的后端服务。这允许开发者维护多个api版本,确保新功能的渐进式部署不会破坏现有客户端。通过在请求中包含版本信息,无论是通过url、头部还是参数,api网关可以根据客户端需求将请求转发到适当的服务版本。这种策略支持灵活的api演进,并有助于实现向后兼容和平滑过渡。

2、现有技术中,api网关涉及多个api,导致监控资源分布不均,不能针对不同情况的api进行适应性监控,导致api版本更新不及时,延缓性高。

3、因此,如何提高版本控制的适应性与及时性,是目前有待解决的技术问题。


技术实现思路

1、本专利技术提供一种基于api网关的版本控制方法,用以解决现有技术中api监控适应性和及时性的技术问题。所述方法包括:

2、确认api网关管理下的所有api,并将这些api加入监控列表中;

3、获取api网关对api的监控日志,且定义监控列表中每个api当前版本的贡献级别;

4、根据api当前版本的贡献级别将监控列表拆分成多个子监控列表,确定每个子监控列表的监控策略;

5、评估每个子监控列表的监控策略的有效性,并调整监控策略进行api监控;

6、若接收到版本更新的通知或监控到api需要更新,则对api进行版本更新。

7、本申请一些实施例中,获取api网关对api的监控日志,且定义监控列表中每个api当前版本的贡献级别,包括:

8、根据api的监控日志得到当前版本的api使用频率和性能数据,将性能数据分解得到多种性能指标;

9、获取整体业务流程,识别整体业务流程中的业务功能、参与者、输入和输出以及交互关系;

10、识别整体业务流程中所涉及的api,记录每个api所涉及的业务功能、输入和输出,并确定api在整体业务流程中的位置;

11、根据api所涉及的业务功能、输入和输出、交互关系和位置确定api之间的依赖关系以及api与其它业务组件的依赖关系;

12、分别将api之间的依赖关系以及api与其它业务组件的依赖关系称作api内依赖与api外依赖;

13、根据所有的api内依赖与api外依赖构建依赖关系图,图中节点代表api或业务组件,边代表依赖的强弱;

14、基于依赖关系图确定api基本贡献度,通过api基本贡献度、api使用频率和多种性能指标确定api当前版本的贡献级别。

15、本申请一些实施例中,基于依赖关系图确定api基本贡献度,包括:

16、通过依赖关系图辨别每个api的直接依赖api和直接依赖业务组件,构建直接依赖列表,表中包括该api所有的直接依赖api和直接依赖业务组件;

17、通过依赖关系图辨别每个api的间接依赖api和间接依赖业务组件,构建间接依赖列表,表中包括该api所有的间接依赖api和间接依赖业务组件;

18、分析直接依赖列表和间接依赖列表中每个api和每个业务组件,量化api和业务组件的权重因素,权重因素包括重要性、复杂性、错误率和稳定性;

19、将重要性、复杂性、错误率和稳定性进行归一化处理,基于每个api和业务组件的预设占比;

20、通过预设占比和权重因素确定每个api和业务组件的基本权重量,计算每个api和业务组件各自的基本权重量之和,从而确定出api和业务组件各自的平均基本权重;

21、根据api和业务组件各自的平均基本权重确定各自直接权重,以此确定api的直接依赖度;

22、根据间接依赖列表通过遍历依赖关系图,并计算路径上所有边的权重乘积来得到api的间接依赖度;

23、基于api的直接依赖度和间接依赖度确定api基本贡献度。

24、本申请一些实施例中,通过api基本贡献度、api使用频率和多种性能指标确定api当前版本的贡献级别,包括:

25、;

26、其中,m为某个api当前版本的贡献级别,为该api基本贡献度,n为该api性能指标的数量,为第i个性能指标对应的性能权重,为第i个性能指标对应的参数大小,为关于api基本贡献度和性能综合的贡献度函数,exp为指数函数,r为api使用频率,为第一常数,为第二常数,[]为取整符号。

27、本申请一些实施例中,根据api当前版本的贡献级别将监控列表拆分成多个子监控列表,确定每个子监控列表的监控策略,包括:

28、整合所有api当前版本的贡献级别,确定贡献级别存在范围;

29、基于贡献级别存在范围定义贡献级别近似区间,贡献级别近似区间内包含多个贡献级别;

30、将每个贡献级别近似区间内的api拆分成多个子监控列表;

31、预设两种映射关系,通过映射关系确定每个子监控列表的监控策略。

32、本申请一些实施例中,通过映射关系确定每个子监控列表的监控策略,包括:

33、两种映射关系分别为整数映射和半数映射,当子监控列表中的平均贡献级别为整数时,通过整数映射确定监控策略,当子监控列表中的平均贡献级别不为整数时,通过半数映射确定监控策略;

34、映射关系为子监控列表中平均贡献级别对应有不同等级的监控策略,监控策略为在业务需求层次、用户需求层次和功能需求层次上不同的资源分配。

35、本申请一些实施例中,评估每个子监控列表的监控策略的有效性,并调整监控策略进行api监控,包括:

36、预设资源利用率和响应时间的函数关系,并构建两者的基准图;

37、根据子监控列表的监控策略等级确定基准匹配程度区间;

38、监控子监控列表中每个api的资源利用率和响应时间进行整合,构建两者实时变化图;

39、比对基准图和实时变化图,得到匹配度;

40、若匹配度位于基准匹配程度区间之内,则不调整监控策略;

41、否则,计算匹配度偏差,通过匹配度偏差调整在业务需求层次、用户需求层次和功能需求层次上不同的资源分配比例。

42、本申请一些实施例中,监控到api需要更新,包括:

43、量化api的业务需求满足标准、性能需求满足标准、安全漏洞需求满足标准;

44、若api的业务需求满足标准、性能需求满足标准、安全漏洞需求满足标准其中一条或多条不满足预设对应阈值,则api需要更新。

45、本申请一些实施例中,对api进行版本更新,包括:

46、在api网关中配置api版本信息,根据api的变更频率、客户端的集成方式、向后兼容性需求和安全性中的一条或多条确定版本控制方式,从而进行版本更新;

47、其中,版本控制方式包括url路径控制、http头控制和请求参数控制。...

【技术保护点】

1.一种基于API网关的版本控制方法,其特征在于,包括:

2.如权利要求1所述的基于API网关的版本控制方法,其特征在于,获取API网关对API的监控日志,且定义监控列表中每个API当前版本的贡献级别,包括:

3.如权利要求2所述的基于API网关的版本控制方法,其特征在于,基于依赖关系图确定API基本贡献度,包括:

4.如权利要求3所述的基于API网关的版本控制方法,其特征在于,通过API基本贡献度、API使用频率和多种性能指标确定API当前版本的贡献级别,包括:

5.如权利要求1所述的基于API网关的版本控制方法,其特征在于,根据API当前版本的贡献级别将监控列表拆分成多个子监控列表,确定每个子监控列表的监控策略,包括:

6.如权利要求5所述的基于API网关的版本控制方法,其特征在于,通过映射关系确定每个子监控列表的监控策略,包括:

7.如权利要求6所述的基于API网关的版本控制方法,其特征在于,评估每个子监控列表的监控策略的有效性,并调整监控策略进行API监控,包括:

8.如权利要求1所述的基于API网关的版本控制方法,其特征在于,监控到API需要更新,包括:

9.如权利要求1所述的基于API网关的版本控制方法,其特征在于,对API进行版本更新,包括:

10.一种基于API网关的版本控制系统,其特征在于,包括:

...

【技术特征摘要】

1.一种基于api网关的版本控制方法,其特征在于,包括:

2.如权利要求1所述的基于api网关的版本控制方法,其特征在于,获取api网关对api的监控日志,且定义监控列表中每个api当前版本的贡献级别,包括:

3.如权利要求2所述的基于api网关的版本控制方法,其特征在于,基于依赖关系图确定api基本贡献度,包括:

4.如权利要求3所述的基于api网关的版本控制方法,其特征在于,通过api基本贡献度、api使用频率和多种性能指标确定api当前版本的贡献级别,包括:

5.如权利要求1所述的基于api网关的版本控制方法,其特征在于,根据api当前版本的贡献级别将监控列表...

【专利技术属性】
技术研发人员:李华军徐海涛杜万波李春生赵树春郑康乐范振兴王炳成尹志伟魏玉婷杨平王家兴
申请(专利权)人:华能信息技术有限公司
类型:发明
国别省市:

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

1