CN118158176A - 基于多租户Saas网关收集分析API调用情况的方法及装置 - Google Patents

基于多租户Saas网关收集分析API调用情况的方法及装置 Download PDF

Info

Publication number
CN118158176A
CN118158176A CN202410189514.XA CN202410189514A CN118158176A CN 118158176 A CN118158176 A CN 118158176A CN 202410189514 A CN202410189514 A CN 202410189514A CN 118158176 A CN118158176 A CN 118158176A
Authority
CN
China
Prior art keywords
data
api
model
api call
time
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
Application number
CN202410189514.XA
Other languages
English (en)
Inventor
于志杰
董广宇
刘金龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Bailong Mayun Technology Co ltd
Original Assignee
Beijing Bailong Mayun Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Bailong Mayun Technology Co ltd filed Critical Beijing Bailong Mayun Technology Co ltd
Priority to CN202410189514.XA priority Critical patent/CN118158176A/zh
Publication of CN118158176A publication Critical patent/CN118158176A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提供基于多租户Saas网关收集分析API调用情况的方法及装置,涉及通信技术领域,本发明通过获取自回归AR模型的观测值结果,对API调用数据进行深入分析,提高特征提取的精确度,建立预测评分模型S(t),以预测API流量模式,并生成自动调整缩放策略以应对高峰时段,获取自动调整缩放策略后设定缩放规则,以确定性能指标,并基于缩放规则通过云平台API自动执行资源调整,根据监控结果和性能指标,预测缩放规则准确率与资源利用率,最后根据预测结果对预测评分模型S(t)和规则进行持续优化,以识别和评估API调用模式,提高系统的效率和响应速度,根据实际情况自我调整,提高预测的准确性和资源利用的效率。

Description

基于多租户Saas网关收集分析API调用情况的方法及装置
技术领域
本发明涉及通信技术领域,具体为基于多租户Saas网关收集分析API调用情况的方法及装置。
背景技术
在网约车平台中,多租户可表示不同的服务提供商或业务伙伴,共享同一SaaS网关系统,该系统通过以下关键步骤和技术,帮助运营人员了解不同业务接口的调用情况:
多租户架构:各个服务提供商在网约车平台中充当租户,共享相同的应用程序实例,但其运营数据和配置是相互隔离的,确保各自业务独立运行;
API网关:引入专门的API网关作为所有业务接口调用的入口,负责处理和路由来自不同服务提供商的业务请求,实现业务接口的集中管理;
调用收集:网关集中收集所有服务提供商进入系统的业务接口调用数据,包括请求和响应的详细信息,以便全面了解各个业务接口的使用情况;
实时监控:利用实时监控工具,对业务接口进行实时监控,捕获系统性能、错误和异常情况,帮助运营人员及时发现和解决问题;
日志记录:记录业务接口调用的详细日志,包括请求参数、响应数据、调用时间等信息,以支持审计、故障排除和问题追踪;
多租户隔离:确保不同服务提供商的业务数据和操作是相互隔离的,维护数据的安全性和隐私;
分析和报告:运用分析工具对收集的业务接口调用数据进行分析,生成报告和可视化,帮助运营人员了解各个服务提供商在平台上的业务活动、优化瓶颈和改进服务;
通过这种方法,网约车平台的运营人员能够全面了解不同业务接口的调用情况,提高对平台运作的掌控能力,确保高效、安全、可靠地服务运行。
如公告号为CN115834481A的中国专利,其公开了一种基于SAAS云平台的API网关的实现方法及装置,其中,该方法包括:租户向SAAS云平台订阅API网关服务;SAAS云平台根据租户所订阅的API网关服务,为租户分配API网关的转发面资源、控制面资源、网络资源以及数据库资源;租户通过SAAS云平台所提供的访问方式对API网关进行配置管理,通过SAAS云平台的控制系统对外发布域名以及API,并对API的生命周期进行监控;租户的流量通过CNAME牵引到基于SAAS云平台的API网关,由API网关对租户的对外API实施代理和安全防护,该方法及装置基于SAAS云平台实现API网关,提高了资源的利用率,减少了资源部署的成本。
存在的不足之处有:公告号为CN115834481A的专利仅仅叙述了如何基于SAAS云平台实现API网关的应用过程,但是并未解决以下问题:
如何利用机器学习技术预测API流量模式,自动调整缩放策略以应对高峰时段,并优化系统性能,减少响应延迟是当下需要改进的方向;
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明的目的在于提供基于多租户Saas网关收集分析API调用情况的方法及装置,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种基于多租户Saas网关收集分析API调用情况的方法,具体步骤包括:
S1、基于Saas网关采集多租户的API调用历史数据、资源使用情况数据,以及与当前时间t相关的外部因素数据,并对采集数据通过数据清洗算法进行预处理,再通过特征提取从预处理数据中提取特征,使用时间序列分析技术中的自回归AR模型对提取特征进行处理并生成观测值结果,通过观测值结果来确定API调用频率的趋势和季节性;
S2、获取自回归AR模型的观测值结果,建立预测评分模型S(t),以预测API流量模式,并生成自动调整缩放策略以应对高峰时段的API调用需求;
S3、获取自动调整缩放策略后设定缩放规则,以确定性能指标,并基于缩放规则通过云平台API自动执行资源调整,获取预测评分模型S(t)输出的预测流量结果,对比实际流量与预测流量并记录资源调整的效果后生成监控结果,根据监控结果和性能指标,预测缩放规则准确率与资源利用率,最后根据预测结果对预测评分模型S(t)和规则进行持续优化,以识别和评估API调用模式。
一种基于多租户Saas网关收集分析API调用情况的装置,所述装置用于执行所述的方法,包括:
数据收集与特征工程模块:基于Saas网关采集多租户的API调用历史数据、资源使用情况数据,以及与当前时间t相关的外部因素数据,并对采集数据通过数据清洗算法进行预处理,再通过特征提取从预处理数据中提取特征,使用时间序列分析技术中的自回归AR模型对提取特征进行处理并生成观测值结果,通过观测值结果来确定API调用频率的趋势和季节性;
模型构建与流量预测模块:获取自回归AR模型的观测值结果,建立预测评分模型S(t),以预测API流量模式,并生成自动调整缩放策略以应对高峰时段的API调用需求;
自动缩放策略与持续优化模块:获取自动调整缩放策略后设定缩放规则,以确定性能指标,并基于缩放规则通过云平台API自动执行资源调整,获取预测评分模型S(t)输出的预测流量结果,对比实际流量与预测流量并记录资源调整的效果后生成监控结果,根据监控结果和性能指标,预测缩放规则准确率与资源利用率,最后根据预测结果对预测评分模型S(t)和规则进行持续优化,以识别和评估API调用模式。
与现有技术相比,本发明的有益效果是:
通过使用时间序列分析技术中的自回归AR模型对提取特征进行处理并生成观测值结果,获取自回归AR模型的观测值结果,对API调用数据进行深入分析,提高特征提取的精确度,建立预测评分模型S(t),以预测API流量模式,并生成自动调整缩放策略以应对高峰时段,获取自动调整缩放策略后设定缩放规则,以确定性能指标,并基于缩放规则通过云平台API自动执行资源调整,基于预测评分模型S(t),对比实际流量与预测流量并记录资源调整的效果后生成监控结果,根据监控结果和性能指标,预测缩放规则准确率与资源利用率,最后根据预测结果对预测评分模型S(t)和规则进行持续优化,以识别和评估API调用模式,不断优化资源分配策略,提高系统的效率和响应速度,根据实际情况自我调整,提高预测的准确性和资源利用的效率。
附图说明
图1为本发明整体方法流程示意图;
图2为本发明的装置逻辑模块框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本发明进一步详细说明。
需要说明的是,除非另外定义,本发明使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明中使用的“第一”“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”“下”“左”“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
请参阅图1和图2,本发明提供一种技术方案:
实施例一:
一种基于多租户Saas网关收集分析API调用情况的方法,具体步骤包括,
S1、基于Saas网关采集多租户的API调用历史数据、资源使用情况数据,以及与当前时间t相关的外部因素数据,并对采集数据通过数据清洗算法进行预处理,再通过特征提取从预处理数据中提取特征,使用时间序列分析技术中的自回归AR模型对提取特征进行处理并生成观测值结果,通过观测值结果来确定API调用频率的趋势和季节性;
S2、获取自回归AR模型的观测值结果,建立预测评分模型S(t),以预测API流量模式,并生成自动调整缩放策略以应对高峰时段的API调用需求,同时优化系统性能,减少响应延迟;
S3、获取自动调整缩放策略后设定缩放规则,以确定性能指标,并基于缩放规则通过云平台API自动执行资源调整,获取预测评分模型S(t)输出的预测流量结果,对比实际流量与预测流量并记录资源调整的效果后生成监控结果,根据监控结果和性能指标,预测缩放规则准确率与资源利用率,最后根据预测结果对预测评分模型S(t)和规则进行持续优化,以识别和评估API调用模式。
实施例二:
在实施例一的基础上进一步说明,所述基于Saas网关采集多租户的API调用历史数据、资源使用情况数据,以及与当前时间t相关的外部因素数据,具体包括以下内容,
所述采集多租户的API调用历史数据包括:请求的时间戳、持续时间、请求类型和状态,获取步骤为:
时间戳和持续时间:记录每个API请求的开始和结束时间,时间戳从系统日志或API网关中获取;
请求类型和状态:分类记录API的功能(如数据查询、更新)和响应状态(如成功、错误),在API网关或服务日志中记录;
所述资源使用情况数据包括,利用系统监控工具(如Nagios、Prometheus)实时记录每个时间点的CPU利用率和内存使用情况;
所述收集相关的外部因素数据包括,当前时间戳t与特定季节或假日的距离;
获取步骤为:
外部因素分析:收集相关的外部因素数据,包括季节、假日信息,可以从日历API或专用的日期时间库(如Python的pandas库)中获得;
所述当前请求时间戳T与特定季节或假日的距离,具体获取步骤为:
步骤1、计算当前时间戳T与最近或最近过去的季节或假日之间的时间差,将这一信息纳入分析;
步骤2、计算季节的时间差:
2.1、获取当前时间戳所在的季节,如春季、夏季、秋季、冬季;
2.2、计算到下一个或上一个特定季节的时间差;
示例:如果当前是2024年1月15日,那么季节是冬季,计算到下一个季节春季的时间差是2个月;
步骤3、计算假日的时间差:
3.1、获取最近的假日日期;
3.2、计算当前时间戳与该日期之间的时间差;
示例:如果当前是2024年5月1日,最近的假日是劳动节,在5月1日,计算当前时间戳与劳动节之间的时间差是0天;
步骤4、举例说明季节或假日:
季节的示例:
春季:3月20日-6月20日
夏季:6月21日-9月22日
秋季:9月23日-12月21日
冬季:12月22日-3月19日
假日的示例:元旦:1月1日,国庆节:10月1日,感恩节:美国11月的第四个星期四;
在上述季节或假日的选择时,可以选择其中的任意一种作为当前请求时间戳T与特定季节或假日的距离,又或者先选择季节了解API调用历史数据和资源使用的变化情况,再对最近的假日距离进行判断,以获得更加准确的API调用历史数据和资源使用情况数据;
通过这样的分析,系统可以了解在不同季节或假日期间,API调用历史数据和资源使用情况是否存在变化,例如,在假期期间,用户可能有更多的查询需求,而在冬季可能需要更多的计算资源以应对高峰时段。
实施例三:
在实施例二的基础上进一步说明,所述并对采集数据通过数据清洗算法进行预处理,具体包括,
对于采集数据中缺失值插值和异常值检测,并进行数据标准化处理,使用MinMaxScaler方法将API调用历史数据、资源使用情况数据、外部因素数据对应相关数据转换为0-1范围内的值,以消除量纲影响并统一数据格式;
具体步骤为:
步骤一、缺失值插值和异常值检测
缺失值插值:使用均值、中位数或插值算法填充API调用历史数据、资源使用情况数据中的缺失值;
异常值检测:使用统计学方法或机器学习算法检测异常值,确保数据的质量,具体采用Z-score、IQR方法进行异常值的识别和处理;
步骤二、数据标准化
时间戳和持续时间:对时间戳进行处理,将其转换为日期时间格式,持续时间可以保留为原始格式或转换为秒数;
请求类型和状态:对分类数据进行独立编码或标签编码,确保机器学习算法能够理解这些非数值型数据;
资源使用情况数据:对CPU利用率、内存使用量等进行标准化,使其符合正态分布,具体使用Z-score标准化方法;
步骤三:Min-Max缩放
使用MinMaxScaler方法将标准化后的API调用历史数据、资源使用情况数据、外部因素数据对应相关数据转换为0-1范围内的值,以消除不同特征的量纲影响,统一数据格式;
Min-Max缩放的公式为:
其中,X是原始数据,和/>分别是数据的最小值和最大值;
所述通过特征提取从预处理数据中提取特征,使用时间序列分析技术中的自回归AR模型对提取特征进行处理并生成观测值结果,通过观测值结果来确定API调用频率的趋势和季节性,具体包括以下内容,
采用自回归模型的AR模型分析API调用频率的趋势和季节性,AR模型的公式为:
其中是当前时刻的观测值,即API调用频率在时间点t的值;
c:是常数项,表示模型的截距或基准水平;
:是自回归系数,表示时间t-i处的观测值对当前观测值/>的影响,这里i的取值范围是从1到p,其中p是模型的阶数;
:是时间t-i处的观测值;
:是误差项,表示模型无法解释的随机部分,即当前观测值/>与AR模型预测值之间的残差;
计算响应时间的平均值公式为:
标准差公式为:
其中,n表示观测总数量;
趋势和季节性分析:
趋势分析:检查AR模型中的常数项c和自回归系数的符号和大小,以确定趋势的方向和强度;
季节性分析:观察自回归系数的周期性,确定季节性的存在,季节性表现为自回归系数在某些特定滞后阶数上的重复模式。
具体的,检查常数项c:
符号:常数项c表示模型的截距或基准水平,正值表示趋势向上,负值表示趋势向下,零表示没有常数项;
大小:c的绝对值越大,趋势的强度越大,通过比较c的大小,解趋势的相对强弱;
检查自回归系数
符号:自回归系数表示过去观测值对当前观测值的影响,正值表示正相关,负值表示负相关,通过观察符号,可以了解趋势的方向;
大小:自回归系数的绝对值越大,过去观测值对当前观测值的影响越大,通过比较的大小,可以了解趋势的相对强度。
实施例四:
在实施例三的基础上进一步说明,所述获取自回归AR模型的观测值结果,建立预测评分模型S(t),具体逻辑包括,
预测评分模型S(t)公式如下所示:
其中:
S(t)表示在当前时间t的系统性能得分;
e是自然对数的底数;k是一个归一化系数,用于平衡求和函数的影响;
D(t')表示在时间t'的API调用历史数据,包括请求的时间戳、持续时间、请求类型和状态;
:是一个高等积分函数,用于评估在时间t'内API使用的模式和频率,分析API使用模式,帮助预测未来的流量趋势;
:表示在当前时间t的资源使用情况,包括CPU利用率、内存使用量数据;
:是求和函数,用于分析资源使用情况/>对系统性能的影响;
:是一个复杂信息过滤函数,用于分析外部因素/>(如季节性变化、假日)对API调用的影响,/>和/>是函数的参数;
:是正态累积分布函数,用于模拟历史缩放活动对系统性能的影响;
R(t):表示在当前时间t所处的该日时间段对应历史缩放活动记录,记录每次资源缩放的时间、规模和效果;
R:表示历史缩放活动的记录值,和/>分别是R的均值和标准差;
:是当前时刻t的AR模型观测值;
:响应时间的平均值;
:响应时间的标准差;
S(t)值域解释:
S(t)的值域是,表示在时间t的系统性能得分,数值越大表示系统性能越好;
通过函数f,g,和h对相应数据进行分析,以预测并优化系统性能,减少响应延迟。
实施例五:
在实施例四的基础上进一步说明,所述D(t')的获取包括以下步骤:
假设在时间段t'内,收集到N次API调用的数据,对于每一次调用i,我们记录以下数据:
:请求的时间戳;/>:请求的持续时间;/>:请求的类型,用数字编码,依次设定GET=1,POST=2,/>:请求的状态,设定200表示成功,500表示服务器错误;
GET请求:
目的:用于请求从服务器获取数据,通常用于获取资源,GET请求应该是幂等的,即多次请求同一资源应该返回相同的结果;
OST请求:
目的:用于提交数据给服务器以进行处理,通常用于在服务器上创建新的资源;
将D(t')表示为一个集合,包含在时间t'内所有API调用的数据,并获得以下公式:
其中,为一个参数,用以调整D(t')在f函数中的影响;
所述的获取包括以下步骤:
函数将依据API调用的历史数据D(t')和调节参数/>来计算;
设f的计算公式为:
其中:
是一个权重函数,用于根据调节参数/>和时间戳/>调整每次调用的影响力;让最近的调用有更大的权重,权重函数是一个指数衰减形式,表示公式如下:
其中t:表示当前时间;
:是评分函数,根据请求的持续时间、类型和状态给每次调用打分,设定评分规则为:更长的响应时间或失败的状态得到更低的分数。
本实施例旨在验证提出的预测评分模型S(t)在API流量管理和系统性能优化方面的有效性,模型的核心在于使用历史API调用数据来预测未来的流量趋势,实验环境设置:
构建一个模拟API服务环境,该环境能模拟不同类型的API请求,并记录必要的数据;
设定实验时间为3小时,期间自动生成API调用请求,涵盖高峰和低峰时段;
数据收集:
对每次API请求,记录以下信息:
:请求的时间戳;
:请求的持续时间;
:请求的类型设定GET=1,POST=2;
:请求的状态设定200表示成功,500表示服务器错误;
实施步骤:
应用S(t)模型计算每次API调用的系统性能得分;
同时运行一个传统的静态资源分配系统作为对比组;
比较两种系统在响应时间、资源使用效率和系统性能得分方面的表现;
以下表格一展示了模拟实验中记录的数据,每行代表一个API调用实例,包含必要的参数和两种方法下的系统性能得分;
表一
数据分析
性能得分的提升:
S(t)模型在各个时间点的性能得分普遍高于传统方法,这表明模型能有效地根据历史数据预测流量趋势,并动态调整资源;
响应时间的减少:
在API请求高峰时段,S(t)模型显示出更短的响应时间,体现了其优异的流量预测能力和资源调整策略;
资源使用的优化:
相比传统方法,S(t)模型在CPU利用率和内存使用上更加高效,尤其在请求量大时,能更合理地分配资源;
创新性和新颖性的体现:
S(t)模型通过将历史API调用数据和资源使用情况结合起来,创新性地优化了资源调配和系统性能,这在传统方法中是无法实现的,特别是在处理高峰时段的流量预测和资源动态调整方面;
通过数据分析,可以明显看出S(t)模型相较于现有技术,在减少响应延迟、提高系统性能方面表现较大的进步。
实施例六:
在实施例四的基础上进一步说明,所述的获取包括以下步骤:
假设CPU利用率和内存使用量数据为主要资源,对于每种资源i设计如下:
:时间t的CPU利用率,单位以%表示;
:时间t的内存使用量,单位以GB表示;
表示公式为:
所述的获取步骤包括以下内容:
计算公式如下所示:
其中是一个系数,用于调节CPU利用率和内存使用量数据对系统性能影响的重要性,例如,对于CPU利用率,/>比内存使用情况的/>更大;
本实施例旨在展示该模型在预测API流量模式、自动调整缩放策略以应对高峰时段,并优化系统性能以减少响应延迟方面的创新性和优势;
实验设定:
构建模拟的服务器环境,用于模拟和记录API流量和系统资源的使用情况;
实验时间跨度设置为一周,以捕捉不同时间段的流量变化;
数据收集:
收集API调用的历史数据D(t'),包括请求时间戳、持续时间、类型和状态;
实时监测和记录系统资源使用情况,如CPU利用率和内存使用量/>
实施步骤:
应用S(t)模型预测未来的API流量模式,动态调整资源;
对照组使用传统的静态资源分配策略;
比较两组在系统性能、响应时间和资源使用效率方面的表现;
表格二中记录了试验期间的关键数据,包括API请求的具体情况和两种策略下的性能得分;
表二
数据分析
系统性能的显著提升:
从表格中可以看出,使用S(t)模型的性能得分普遍高于传统方法,这证明了模型在预测流量、动态调整资源方面的有效性,尤其在高峰时段,模型能显著优化系统性能;
响应时间的明显降低:
在API请求高峰时段,S(t)模型展现出更短的响应时间,这表明模型能有效地根据历史数据预测流量趋势,及时调整资源,以应对流量峰值;
资源使用效率的优化:
对比两种方法下的CPU利用率和内存使用量,S(t)模型在保持较高系统性能的同时,资源使用更加高效,特别是在流量高峰时,模型能更合理地分配CPU和内存资源,避免资源浪费;
创造性与新颖性的体现:
与传统的静态资源分配方法相比,S(t)模型通过综合考虑历史API调用数据、资源使用情况和外部因素,为系统性能优化提供了更为精准的数据支持,这种方法在动态资源调配、预测流量趋势、减少响应延迟方面展现出显著的创新性和新颖性;
通过这些数据分析,可以清楚地看到S(t)模型在提高系统性能、优化资源分配、降低响应时间方面相较于现有技术的明显优势。
实施例七:
在实施例四的基础上进一步说明,所述的获取包括以下步骤:
编程实现函数,使用输入的外部因素数据/>,结合设定的参数/>和/>,计算其对API调用的影响;
定义为一个加权的函数,考虑到时间相关因素得到以下公式:/>
其中:
J表示时间相关因素,代表当前时间与特定季节或假日的距离;
和/>是影响参数,用于调节时间因素对系统性能的影响程度,/>和/>根据历史API调用数据进行适应性调整,不作赘述;
的值域取决于/>和/>的值,为正数,用于调节外部时间因素对API性能的影响。
实施例八:
在实施例四的基础上进一步说明,所述的获取步骤包括以下内容:
定义正态累积分布函数公式如下所示:
其中是误差函数,定义公式为:
的值域是[0,1],它提供了平滑的方式来考虑历史数据和当前数据之间的关系,数值越大,模拟历史缩放活动对系统性能的影响越大。
实施例九:
在实施例四的基础上进一步说明,所述获取自动调整缩放策略后设定缩放规则,以确定性能指标,并基于缩放规则通过云平台API自动执行资源调整,基于预测评分模型S(t),对比实际流量与预测流量并记录资源调整的效果后生成监控结果,根据监控结果和性能指标,预测缩放规则准确率与资源利用率,最后根据预测结果对预测评分模型S(t)和规则进行持续优化,以识别和评估API调用模式,具体包括以下内容:
自动缩放策略设定缩放规则:如果预测流量超过当前容量的80%,则自动增加资源,比如增加API网关实例;
所述采用云平台API自动执行资源调整基于AWS或Azure云服务的自动扩展功能;
所述识别和评估API调用模式包括以下内容:
a.高峰时段和低谷时段:预测评分模型S(t)通过分析API调用历史数据(D(t'))识别每天中的高峰和低谷时段,具体通过评估不同时间段的请求频率和类型来实现的;
具体判断标准为:
阈值设定:设定高峰阈值与低谷阈值分别为、/>
高峰阈值:当API请求频率超过每分钟1000次或请求类型中数据查询占比超过80%时,认定为高峰时段;
低谷阈值:当API请求频率低于每分钟200次,并且数据更新请求占比低于20%时,认定为低谷时段;/>
交互效果:系统实时计算当前API请求频率和类型,与高峰和低谷阈值进行比对,动态标识高峰或低谷时段;
b.周期性模式:预测评分模型S(t)识别周期性模式,如每周或每月的重复模式,通过长期观察请求数据D(t')获得;
具体判断标准为:
周期性模式识别:通过分析过去三个月的数据,确定工作日平均每小时API请求为500次,而周末为300次的周期性模式;
交互效果:系统根据识别出的周期性模式预测接下来的API请求趋势,并相应调整资源;
c.评估API调用频率:预测评分模型S(t)通过函数综合考虑API调用的频率,包括每秒、每分钟或每小时的调用频率;
具体判断标准为:
频率评估:设定如每秒、每分钟、每小时的API调用次数统计,若每秒超过50次请求即视为高频率;
交互效果为:根据频率变化,系统实时调整计算预测评分模型S(t),从而反映在系统性能得分中;
缩放策略的自动化调整:
高峰缩放阈值与低谷缩放阈值分别设定为、/>
设定当S(t)的值超过设定高峰缩放阈值时,表示进入高峰时段,模型将自动触发增加服务器实例等资源的动态调整;
当S(t)的值低于设定低谷缩放阈值时,表示进入低谷时段,模型将自动触发减少服务器实例等资源的动态调整;
这种调整基于S(t)对API使用模式和频率的连续监控和评估;
具体判断标准为:
缩放阈值设定:高峰缩放阈值:设定为系统性能得分达到80分时,触发增加资源的动态调整;
低谷缩放阈值:设定为系统性能得分降至40分以下时,触发减少资源的动态调整;
交互效果为:系统根据实时计算的S(t)与预设阈值比对,自动增加或减少服务器实例,优化资源利用率。
本实施例旨在验证和展示我们的自动缩放策略及其在API管理中的优越性,实验包括两个主要部分:基于云平台的自动资源调整测试,以及系统监控与模型优化测试;
基于云平台的自动资源调整测试:
设置云环境:选择AWS作为云平台,配置所需的API网关实例和监控系统;
缩放规则定义:设定高峰和低谷阈值,如高峰阈值为每分钟API请求超过1000次或查询占比超过80%,低谷阈值为每分钟API请求低于200次且更新请求占比低于20%;
测试场景模拟:通过模拟工具生成不同模式的API请求,如周期性模式(工作日与周末)、不同的请求频率(每秒、每分钟、每小时);
缩放策略执行:监控系统实时计算当前API请求频率和类型,当达到或低于预设的高峰和低谷阈值时,自动触发增加或减少服务器实例的策略;
系统监控与模型优化测试:
实时监控设置:确保系统可以实时监控实际流量与预测流量,以及资源调配的效果;
性能指标评估:采集预测准确率和资源利用率等指标数据;
模型优化:根据监控结果,不断调整预测模型和缩放规则,以提高效率和准确性;
表三
数据分析
通过上述表格,我们可以明显看出实施例系统在各项性能指标上优于传统API管理系统,特别是在高峰时段和低谷时段的识别准确率上,实施例系统相比于传统系统提高了15—20个百分点,这表明我们的预测评分模型能更准确地识别不同的流量模式;
在资源调整方面,实施例系统的缩放响应得分明显短于传统系统,平均降低了83分,这意味着我们的系统能够更迅速地响应流量变化,从而提高了用户体验和系统效率;
资源利用率和系统性能得分也是衡量我们发明创新性和优势的关键指标,实施例系统的资源利用率平均提高了20—30个百分点,系统性能得分提高了。
实施例十:
一种基于多租户Saas网关收集分析API调用情况的装置,所述装置用于执行所述的方法,包括:
数据收集与特征工程模块:基于Saas网关采集多租户的API调用历史数据、资源使用情况数据,以及与当前时间t相关的外部因素数据,并对采集数据通过数据清洗算法进行预处理,再通过特征提取从预处理数据中提取特征,使用时间序列分析技术中的自回归AR模型对提取特征进行处理并生成观测值结果,通过观测值结果来确定API调用频率的趋势和季节性;
模型构建与流量预测模块:获取自回归AR模型的观测值结果,建立预测评分模型S(t),以预测API流量模式,并生成自动调整缩放策略以应对高峰时段的API调用需求;
自动缩放策略与持续优化模块:获取自动调整缩放策略后设定缩放规则,以确定性能指标,并基于缩放规则通过云平台API自动执行资源调整,获取预测评分模型S(t)输出的预测流量结果,对比实际流量与预测流量并记录资源调整的效果后生成监控结果,根据监控结果和性能指标,预测缩放规则准确率与资源利用率,最后根据预测结果对预测评分模型S(t)和规则进行持续优化,以识别和评估API调用模式。
上述公式均是去量纲取其数值计算,公式是由采集大量数据进行软件模拟得到最近真实情况的一个公式,公式中的预设参数由本领域的技术人员根据实际情况进行设置。
公式中的δ、ε、ϵ和σ等的具体取值一般由本领域技术人员根据实际情况来确定,本申请该公式本质为加权求和进行综合分析,由本领域技术人员采集多组样本数据并对每一组样本数据设定对应的预设比例系数;将设定的预设比例系数和采集的样本数据代入公式,任意四个公式构成四元一次方程组,将计算得到的系数进行筛选并取均值,得到δ、ε、ϵ和σ等的取值;
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够、电子硬件,或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方法来执行,取决于技术方案的特定应用和设计约束条件。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (10)

1.一种基于多租户Saas网关收集分析API调用情况的方法,其特征在于,具体步骤包括:
S1、基于Saas网关采集多租户的API调用历史数据、资源使用情况数据,以及与当前时间t相关的外部因素数据,并对采集数据通过数据清洗算法进行预处理,再通过特征提取从预处理数据中提取特征,使用时间序列分析技术中的自回归AR模型对提取特征进行处理并生成观测值结果,通过观测值结果来确定API调用频率的趋势和季节性;
S2、获取自回归AR模型的观测值结果,建立预测评分模型S(t),以预测API流量模式,并生成自动调整缩放策略以应对高峰时段的API调用需求;
S3、获取自动调整缩放策略后设定缩放规则,以确定性能指标,并基于缩放规则通过云平台API自动执行资源调整,获取预测评分模型S(t)输出的预测流量结果,对比实际流量与预测流量并记录资源调整的效果后生成监控结果,根据监控结果和性能指标,预测缩放规则准确率与资源利用率,最后根据预测结果对预测评分模型S(t)和规则进行持续优化,以识别和评估API调用模式。
2.根据权利要求1所述的基于多租户Saas网关收集分析API调用情况的方法,其特征在于:所述基于Saas网关采集多租户的API调用历史数据、资源使用情况数据,以及与当前时间t相关的外部因素数据,具体包括以下内容,
所述采集多租户的API调用历史数据包括:请求的时间戳、持续时间、请求类型和状态,获取步骤为:
时间戳和持续时间:记录每个API请求的开始和结束时间;
请求类型和状态:分类记录API的功能和响应状态;
所述资源使用情况数据包括,利用系统监控工具实时记录每个时间点的CPU利用率和内存使用情况;
所述收集相关的外部因素数据包括,当前请求时间戳T与特定季节或假日的距离;
外部因素分析:收集相关的外部因素数据,包括季节、假日信息。
3.根据权利要求2所述的基于多租户Saas网关收集分析API调用情况的方法,其特征在于:所述并对采集数据通过数据清洗算法进行预处理,具体包括,
对于采集数据中缺失值插值和异常值检测,并进行数据标准化处理,使用MinMaxScaler方法将API调用历史数据、资源使用情况数据、外部因素数据对应相关数据转换为0-1范围内的值,以消除量纲影响并统一数据格式;
所述通过特征提取从预处理数据中提取特征,使用时间序列分析技术中的自回归AR模型对提取特征进行处理并生成观测值结果,通过观测值结果来确定API调用频率的趋势和季节性,具体包括以下内容,
采用自回归模型的AR模型分析API调用频率的趋势和季节性,AR模型的公式为:
其中,是当前时刻的观测值,即API调用频率在时间点t的值;
c:是常数项,表示模型的截距或基准水平;
:是自回归系数,表示时间t-i处的观测值对当前观测值/>的影响,这里i的取值范围是从1到p,其中p是模型的阶数;
:是时间t-i处的观测值;
:是误差项,表示模型无法解释的随机部分,即当前观测值/>与AR模型预测值之间的残差;
计算响应时间的平均值公式为:
标准差公式为:
其中,n表示观测总数量;
趋势和季节性分析:
趋势分析:检查AR模型中的常数项c和自回归系数的符号和大小,以确定趋势的方向和强度;
季节性分析:观察自回归系数的周期性,确定季节性的存在,季节性表现为自回归系数在某些特定滞后阶数上的重复模式。
4.根据权利要求3所述的基于多租户Saas网关收集分析API调用情况的方法,其特征在于:所述获取自回归AR模型的观测值结果,建立预测评分模型S(t),具体逻辑包括,
预测评分模型S(t)公式如下所示:
其中:
S(t)表示在当前时间t的系统性能得分;
e是自然对数的底数;k是一个归一化系数,用于平衡求和函数的影响;
D(t')表示在时间t'的API调用历史数据,包括请求的时间戳、持续时间、请求类型和状态;
:是一个高等积分函数,用于评估在时间段t'内API使用的模式和频率,分析API使用模式,帮助预测未来的流量趋势;
:表示在当前时间t的资源使用情况,包括CPU利用率、内存使用量数据;
:是求和函数,用于分析资源使用情况/>对系统性能的影响;
:是一个复杂信息过滤函数,用于分析外部因素/>对API调用的影响,/>和/>是函数的参数;
:是正态累积分布函数,用于模拟历史缩放活动对系统性能的影响;
R(t):表示在当前时间t所处的该日时间段对应的历史缩放活动记录,记录每次资源缩放的时间、规模和效果;
R:表示历史缩放活动的记录值,和/>分别是R的均值和标准差;
:是当前时刻t的AR模型观测值;
:响应时间的平均值;
:响应时间的标准差;
S(t)值域解释:
S(t)的值域是,表示在时间t的系统性能得分,数值越大表示系统性能越好;
通过函数f,g和h对相应数据进行分析,以预测并优化系统性能,减少响应延迟。
5.根据权利要求4所述的基于多租户Saas网关收集分析API调用情况的方法,其特征在于:所述D(t')的获取包括以下步骤:
假设在时间段t'内,收集到N次API调用的数据,对于每一次调用i,我们记录以下数据:
:请求的时间戳;/>:请求的持续时间;/>:请求的类型,用数字编码,依次设定GET=1,POST=2,/>:请求的状态,设定200表示成功,500表示服务器错误;
将D(t')表示为一个集合,包含在时间t'内所有API调用的数据,并获得以下公式:
其中,为一个参数,用以调整D(t')在f函数中的影响;
所述的获取包括以下步骤:
函数将依据API调用的历史数据D(t')和调节参数/>来计算;
设f的计算公式为:
其中:
是一个权重函数,用于根据调节参数/>和时间戳/>调整每次调用的影响力;让最近的调用有更大的权重,权重函数是一个指数衰减形式,表示公式如下:
其中t:表示当前时间;
:是评分函数,根据请求的持续时间、类型和状态给每次调用打分,设定评分规则为:更长的响应时间或失败的状态得到更低的分数。
6.根据权利要求4所述的基于多租户Saas网关收集分析API调用情况的方法,其特征在于:所述的获取包括以下步骤:
假设CPU利用率和内存使用量数据为主要资源,对于每种资源i设计如下:
:时间t的CPU利用率,单位以%表示;
:时间t的内存使用量,单位以GB表示;
表示公式为:
所述的获取步骤包括以下内容:
计算公式如下所示:
其中是一个系数,用于调节CPU利用率和内存使用量数据对系统性能影响的重要性。
7.根据权利要求4所述的基于多租户Saas网关收集分析API调用情况的方法,其特征在于:所述的获取包括以下步骤:
编程实现函数,使用输入的外部因素数据/>,结合设定的参数/>和/>,计算其对API调用的影响;
定义为一个加权的函数,考虑到时间相关因素得到以下公式:
其中:
J表示时间相关因素,代表当前时间与特定季节或假日的距离;
和/>是影响参数,用于调节时间因素对系统性能的影响程度;
的值域取决于/>和/>的值,用于调节外部时间因素对API性能的影响。
8.根据权利要求4所述的基于多租户Saas网关收集分析API调用情况的方法,其特征在于:所述的获取步骤包括以下内容:
定义正态累积分布函数公式如下所示:
其中是误差函数,定义公式为:
的值域是[0,1],它提供了平滑的方式来考虑历史数据和当前数据之间的关系,数值越大,模拟历史缩放活动对系统性能的影响越大。
9.根据权利要求4所述的基于多租户Saas网关收集分析API调用情况的方法,其特征在于:所述获取自动调整缩放策略后设定缩放规则,以确定性能指标,并基于缩放规则通过云平台API自动执行资源调整,基于预测评分模型S(t),对比实际流量与预测流量并记录资源调整的效果后生成监控结果,根据监控结果和性能指标,预测缩放规则准确率与资源利用率,最后根据预测结果对预测评分模型S(t)和规则进行持续优化,以识别和评估API调用模式,具体包括以下内容:
自动缩放策略设定缩放规则:如果预测流量超过当前容量的80%,则自动增加资源;
所述采用云平台API自动执行资源调整基于AWS或Azure云服务的自动扩展功能;
所述识别和评估API调用模式包括以下内容:
a.高峰时段和低谷时段:预测评分模型S(t)通过分析API调用历史数据(D(t'))识别每天中的高峰和低谷时段,
系统实时计算当前API请求频率和类型,与高峰和低谷阈值进行比对,动态标识高峰或低谷时段;
b.周期性模式:预测评分模型S(t)识别周期性模式,如每周或每月的重复模式,通过长期观察请求数据D(t')获得;
系统根据识别出的周期性模式预测接下来的API请求趋势,并相应调整资源;
c.评估API调用频率:预测评分模型S(t)通过函数综合考虑API调用的频率,包括每秒、每分钟或每小时的调用频率;
根据频率变化,系统实时调整计算预测评分模型S(t),从而反映在系统性能得分中;
缩放策略的自动化调整:
高峰缩放阈值与低谷缩放阈值分别设定为、/>
设定当S(t)的值超过设定高峰缩放阈值时,表示进入高峰时段,模型将自动触发增加服务器实例等资源的动态调整;
当S(t)的值低于设定低谷缩放阈值时,表示进入低谷时段,模型将自动触发减少服务器实例等资源的动态调整。
10.一种基于多租户Saas网关收集分析API调用情况的装置,其特征在于:所述装置用于执行权利要求1-9任意一项所述的方法,包括:
数据收集与特征工程模块:基于Saas网关采集多租户的API调用历史数据、资源使用情况数据,以及与当前时间t相关的外部因素数据,并对采集数据通过数据清洗算法进行预处理,再通过特征提取从预处理数据中提取特征,使用时间序列分析技术中的自回归AR模型对提取特征进行处理并生成观测值结果,通过观测值结果来确定API调用频率的趋势和季节性;
模型构建与流量预测模块:获取自回归AR模型的观测值结果,建立预测评分模型S(t),以预测API流量模式,并生成自动调整缩放策略以应对高峰时段的API调用需求;
自动缩放策略与持续优化模块:获取自动调整缩放策略后设定缩放规则,以确定性能指标,并基于缩放规则通过云平台API自动执行资源调整,获取预测评分模型S(t)输出的预测流量结果,对比实际流量与预测流量并记录资源调整的效果后生成监控结果,根据监控结果和性能指标,预测缩放规则准确率与资源利用率,最后根据预测结果对预测评分模型S(t)和规则进行持续优化,以识别和评估API调用模式。
CN202410189514.XA 2024-02-20 2024-02-20 基于多租户Saas网关收集分析API调用情况的方法及装置 Pending CN118158176A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410189514.XA CN118158176A (zh) 2024-02-20 2024-02-20 基于多租户Saas网关收集分析API调用情况的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410189514.XA CN118158176A (zh) 2024-02-20 2024-02-20 基于多租户Saas网关收集分析API调用情况的方法及装置

Publications (1)

Publication Number Publication Date
CN118158176A true CN118158176A (zh) 2024-06-07

Family

ID=91289371

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410189514.XA Pending CN118158176A (zh) 2024-02-20 2024-02-20 基于多租户Saas网关收集分析API调用情况的方法及装置

Country Status (1)

Country Link
CN (1) CN118158176A (zh)

Similar Documents

Publication Publication Date Title
AU2015282362B2 (en) Power distribution transformer load prediction analysis system
CN106126391A (zh) 系统监控方法和装置
CN110209560B (zh) 数据异常检测方法及检测装置
CN111459761B (zh) 一种Redis配置的方法、装置、存储介质及设备
CN112101692B (zh) 移动互联网质差用户的识别方法及装置
CN115375205B (zh) 一种用水用户画像的确定方法、装置及设备
Ye et al. Passenger flow prediction in bus transportation system using ARIMA models with big data
CN111737325A (zh) 一种基于大数据技术的电力数据分析方法和装置
CN114037140A (zh) 预测模型训练、数据预测方法、装置、设备及存储介质
CN111800807A (zh) 一种基站用户数量告警的方法及装置
CN110618925A (zh) 数据处理方法及系统
CN117687884A (zh) 一种电网调度自动化主站运维操作票智能优化方法及系统
CN118158176A (zh) 基于多租户Saas网关收集分析API调用情况的方法及装置
JP4780668B2 (ja) トラヒック分析モデルの構築方法、装置および構築プログラムならびにその記憶媒体
CN110267717B (zh) 在多租户环境中按不同单独租户自动生成自动缩放呼叫规则的方法及装置
CN113516302B (zh) 业务风险分析方法、装置、设备及存储介质
Daraghmi et al. Accurate and time‐efficient negative binomial linear model for electric load forecasting in IoE
CN113923096B (zh) 网元故障预警方法、装置、电子设备及存储介质
Nadaf et al. Data mining in telecommunication
CN112929887B (zh) 基于流量预测设置室分站的方法、装置和电子设备
CN114356712A (zh) 数据处理方法、装置、设备、可读存储介质及程序产品
CN112561173A (zh) 一种快速提升焊装线产能的优化方法
Cao et al. Long-term and multi-step ahead call traffic forecasting with temporal features mining
CN113703974B (zh) 一种预测服务器容量的方法及装置
CN114189456B (zh) 物联网设备的在线状态预测方法、装置及电子设备

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination