掌桥专利:专业的专利平台
掌桥专利
首页

一种基于组合预测的在线应用扩缩容方法和系统

文献发布时间:2024-04-18 19:58:26


一种基于组合预测的在线应用扩缩容方法和系统

技术领域

本发明涉及计算机网络技术领域,尤其涉及一种基于组合预测的在线应用扩缩容方法和系统。

背景技术

随着移动互联网和云计算的发展,在线应用通常是采用云部署。Kubernetes的出现使得企业可以轻松管理在线应用,同时针对在线应用的容器数量可以使用Kubernetes自动扩缩容根据应用实际的负载进行扩容和缩容,可以帮助用户降低大量容器实例带来的成本开支。

虽然使用Kubernetes的自动扩缩容可以根据实际需求来设置容器数量,通常会存在滞后性,会影响服务的质量。

发明内容

本发明的目的在于针对现有技术的上述不足,提供一种基于组合预测的在线应用扩缩容方法和系统。

本发明的目的是通过以下技术方案来实现的:一种基于组合预测的在线应用扩缩容方法,包括以下步骤:

步骤一:应用状态收集:应用状态收集模块从应用开始运行时每隔状态收集周期收集一次在线应用工作负载,所述的工作负载的计算为当前收集周期内应用接收的请求总量与收集周期时间的比值,具体的计算公式为:

其中i表示第i个状态收集周期;q

步骤二:根据步骤一中计算的工作负载,判断是否存在扩缩容的需求,具体的判断逻辑为,如果工作负载已经超过用户设置的扩容阈值则进行扩容,如果工作负载小于用户的缩容阈值则进行缩容;

步骤三:根据过去n个状态收集周期t

步骤四:决策算法:根据在过去n个周期收集到的工作负载,决策采用的预测算法预测结果。决策过程为,计算不同算法在过去n个周期的相关分数差,相关分数差的计算公式为:

其中score

步骤五:执行扩缩容:获取应用当前的副本数为c,以及应用的最大的副本数为c

其中q

本发明的第二个方面涉及一种基于组合预测的在线应用扩缩容系统,包括:

应用状态收集模块,从应用开始运行时每隔状态收集周期收集一次在线应用工作负载,工作负载是当前收集周期内应用接收的请求总量与收集周期时间的比值,具体的计算公式为:

其中i表示第i个状态收集周期;q

扩缩容需求判断模块,根据工作负载,判断应用需要扩缩容,具体的判断逻辑为,如果工作负载已经超过用户设置的扩容阈值则进行扩容,如果工作负载小于用户的缩容阈值则进行缩容;

组合预测模块,根据过去n个状态收集周期t

决策算法模块,根据在过去n个周期收集到的工作负载,采用预测算法预测结果;决策过程为,计算不同算法在过去n个周期的相关分数差,相关分数差的计算公式为:

其中score

扩缩容执行模块,获取应用当前的副本数为c,以及应用的最大的副本数为c

其中q

本发明的第三个方面涉及一种基于组合预测的在线应用扩缩容装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现本发明的一种基于组合预测的在线应用扩缩容方法。

本发明的第四个方面涉及一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现本发明的一种基于组合预测的在线应用扩缩容方法。

本发明的有益效果是,可以通过组合预测的扩缩容方法,帮助用户根据应用的负载来动态的调节服务器数量并保障应用服务质量,即避免服务器资源的浪费,节省了成本,又保证了服务质量。

附图说明

图1是本发明的基于组合预测的扩缩容方法的流程图。

具体实施方式

下面根据附图详细说明本发明的技术方案。

实施例1

本实施例提供应用本发明的一种基于组合预测的在线应用扩缩容方法调整服务器数量的方法,包括以下步骤:

步骤一:应用状态收集:应用状态收集模块从应用开始运行时每隔状态收集周期收集一次在线应用工作负载,所述的工作负载的计算为当前收集周期内应用接收的请求总量与收集周期时间的比值,具体的计算公式为:

其中i表示第i个状态收集周期;q

步骤二:根据步骤一中计算的工作负载,判断是否存在扩缩容的需求,具体的判断逻辑为,如果工作负载已经超过用户设置的扩容阈值则进行扩容,如果工作负载小于用户的缩容阈值则进行缩容;

步骤三:组合预测:根据过去n个状态收集周期t

步骤四:决策算法:根据在过去n个周期收集到的工作负载,决策采用的预测算法预测结果。决策过程为,计算不同算法在过去n个周期的相关分数差,相关分数差的计算公式为:

其中score

步骤五:执行扩缩容:获取应用当前的副本数为c,以及应用的最大的副本数为c

其中q

步骤六:根据扩缩容的副本数c

本发明的有益效果是,可以通过组合预测的扩缩容方法,帮助用户根据应用的负载来动态的调节服务器数量并保障应用服务质量,即避免服务器资源的浪费,节省了成本,又保证了服务质量。

实施例2

本实施例提供一种基于组合预测的在线应用扩缩容系统,包括:

应用状态收集模块,从应用开始运行时每隔状态收集周期收集一次在线应用工作负载,工作负载是当前收集周期内应用接收的请求总量与收集周期时间的比值,具体的计算公式为:

其中i表示第i个状态收集周期;q

扩缩容需求判断模块,根据工作负载,判断应用需要扩缩容,具体的判断逻辑为,如果工作负载已经超过用户设置的扩容阈值则进行扩容,如果工作负载小于用户的缩容阈值则进行缩容;

组合预测模块,根据过去n个状态收集周期t

决策算法模块,根据在过去n个周期收集到的工作负载,采用预测算法预测结果;决策过程为,计算不同算法在过去n个周期的相关分数差,相关分数差的计算公式为:

其中score

扩缩容执行模块,获取应用当前的副本数为c,以及应用的最大的副本数为c

其中q

实施例3

本实施例涉及一种基于组合预测的在线应用扩缩容装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现实施例1的一种基于组合预测的在线应用扩缩容方法。

实施例4

本实施例涉及一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现实施例1的一种基于组合预测的在线应用扩缩容方法。

相关技术
  • 一种虚拟机资源的扩缩容方法、装置及服务器
  • Kubernetes副本扩缩容的方法及系统
  • 一种基于微服务调用依赖感知的在线应用动态扩缩容方法
  • 一种基于流量预测的Kubernetes容器动态扩缩容方法及系统
技术分类

06120116489687